Files
proxmox/docs/11-references/CONTRACT_ADDRESSES_REFERENCE.md
defiQUG dbd517b279 Sync workspace: config, docs, scripts, CI, operator rules, and submodule pointers.
- Update dbis_core, cross-chain-pmm-lps, explorer-monorepo, metamask-integration, pr-workspace/chains
- Omit embedded publish git dirs and empty placeholders from index

Made-with: Cursor
2026-04-12 06:12:20 -07:00

333 lines
32 KiB
Markdown

# Contract Addresses Reference - ChainID 138
**Last Updated:** 2026-04-05
**Document Version:** 1.8
**Status:** Active documentation. Use the official DODO V2 DVM-backed Chain 138 PMM stack: `DODOPMMIntegration=0x86ADA6Ef91A3B450F89f2b751e93B1b7A3218895`, `DODOPMMProvider=0x3f729632E9553EBacCdE2e9b4c8F2B285b014F2e`, `DODO_VENDING_MACHINE_ADDRESS=0xb6D9EF3575bc48De3f011C310DC24d87bEC6087C`.
---
## Machine-readable addresses (master JSON + bytecode list)
- **Preferred when present:** [`config/smart-contracts-master.json`](../../config/smart-contracts-master.json) — publishable map of chain id → `contracts` (+ optional `envVarMap`). Consumed by Bash (`load-contract-addresses.sh` / `load-project-env.sh`) and Node (`config/contracts-loader.cjs`). **Override:** `.env` wins over JSON.
- **If the file is missing** (old clones only): env loaders skip JSON; **bytecode verification** still uses the **embedded fallback** in [`scripts/verify/check-contracts-on-chain-138.sh`](../../scripts/verify/check-contracts-on-chain-138.sh). When the file **is** present, `chains["138"].contracts` must list the **full** set to check (the script uses jq values from JSON instead of the fallback).
- **Human / narrative SSOT for this doc:** tables below plus [ADDRESS_MATRIX_AND_STATUS.md](ADDRESS_MATRIX_AND_STATUS.md).
See [config/README-CONTRACTS-MASTER.md](../../config/README-CONTRACTS-MASTER.md) for layout and usage.
---
**Network**: ChainID 138
**RPC — admin / deployment:** `RPC_URL_138` → Core Besu on LAN: `http://192.168.11.211:8545` (do **not** use FQDN for deploy). See [RPC_ENDPOINTS_MASTER](../04-configuration/RPC_ENDPOINTS_MASTER.md).
**RPC — public / wallets / browsers:** use **HTTPS FQDN** only (e.g. `https://rpc-http-pub.d-bis.org`); see `RPC_URL_138_PUBLIC` and the public mapping table in [RPC_ENDPOINTS_MASTER](../04-configuration/RPC_ENDPOINTS_MASTER.md).
**Explorer:** https://explorer.d-bis.org (Blockscout) — use for Chain 138 balances, contracts, and verification. For balances on **other chains** (Ethereum mainnet, etc.), use [blockscan.com](https://blockscan.com) or etherscan.io. See [EXPLORER_AND_BLOCKSCAN_REFERENCE](EXPLORER_AND_BLOCKSCAN_REFERENCE.md).
**Correlated matrix and status (Chain 138 + multi-chain):** [ADDRESS_MATRIX_AND_STATUS.md](ADDRESS_MATRIX_AND_STATUS.md). Reconcile addresses here and in `.env` when deploying or deprecating contracts (R2).
---
## 📋 Complete Contract Address List
### ✅ Pre-Deployed Contracts (Genesis)
These contracts were pre-deployed when ChainID 138 was initialized:
| Contract | Address | Status | Notes |
|----------|---------|--------|-------|
| **WETH9** | `0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2` | ✅ Pre-deployed | Genesis allocation |
| **WETH10** | `0xf4BB2e28688e89fCcE3c0580D37d36A7672E8A9f` | ✅ Pre-deployed | Genesis allocation |
| **Oracle Aggregator (legacy slot)** | `0x99b3511a2d315a497c8112c1fdd8d508d4b1e506` | ✅ Pre-deployed / preserved | Live ABI on Chain 138 matches Oracle Aggregator (`latestAnswer`, `latestRoundData`). Do **not** use this slot as Multicall for new integrations. |
### ✅ Newly Deployed Contracts
Contracts deployed after chain initialization:
| Contract | Address | Status | Purpose |
|----------|---------|--------|---------|
| **Oracle Aggregator** | `0x99b3511a2d315a497c8112c1fdd8d508d4b1e506` | ✅ Deployed | Price feed aggregator. Verified on 2026-04-02 via `latestAnswer()` / `latestRoundData()` against Core RPC. |
| **Oracle Proxy** | `0x3304b747e565a97ec8ac220b0b6a1f6ffdb837e6` | ✅ Deployed | **MetaMask price feed** |
| **CCIP Router** | `0x42DAb7b888Dd382bD5Adcf9E038dBF1fD03b4817` | ✅ Deployed | Canonical relay-backed router (`CCIP_ROUTER` in `smom-dbis-138/.env`) |
| **CCIP Router (direct legacy)** | `0x8078A09637e47Fa5Ed34F626046Ea2094a5CDE5e` | ✅ Deployed | `CCIP_ROUTER_DIRECT_LEGACY` — still bytecode-checked |
| **CCIP Sender** | `0x105F8A15b819948a89153505762444Ee9f324684` | ✅ Deployed | Cross-chain sender | [📄 Details](../07-ccip/CCIP_SENDER_CONTRACT_REFERENCE.md) |
| **CCIPWETH9Bridge** | `0xcacfd227A040002e49e2e01626363071324f820a` | ✅ Deployed | WETH9 cross-chain (working router) | **Use for sendCrossChain** (`CCIPWETH9_BRIDGE_CHAIN138`) |
| **CCIPWETH9Bridge (direct legacy)** | `0x971cD9D156f193df8051E48043C476e53ECd4693` | ✅ Deployed | `CCIPWETH9_BRIDGE_DIRECT_LEGACY` |
| **CCIPWETH10Bridge** | `0xe0E93247376aa097dB308B92e6Ba36bA015535D0` | ✅ Deployed | WETH10 cross-chain | |
| **MerchantSettlementRegistry** | `0x16D9A2cB94A0b92721D93db4A6Cd8023D3338800` | ✅ Deployed | alltra-lifi-settlement | |
| **WithdrawalEscrow** | `0xe77cb26eA300e2f5304b461b0EC94c8AD6A7E46D` | ✅ Deployed | alltra-lifi-settlement | |
| **Multicall** (deploy 2026-02-13) | `0xF4AA429BE277d1a1a1A744C9e5B3aD821a9b96f7` | ✅ Deployed | deploy-all-contracts.sh | |
| **Oracle Aggregator** (deploy 2026-02-13) | `0xaFd9E25ff301a79feaBcc56F46969F34808358CE` | ✅ Deployed | DeployOracle.s.sol | |
| **Oracle Proxy** (deploy 2026-02-13) | `0x90563867F2ba94ed277303e200f4311c00982E92` | ✅ Deployed | MetaMask price feed; use for new integrations | |
| **MultiSig** (deploy 2026-02-13) | `0xb9E29cFa1f89d369671E640d0BB3aD94Cab43965` | ✅ Deployed | deploy-all-contracts.sh | |
| **CCIPReceiver** (deploy 2026-02-13) | `0xC12236C03b28e675d376774FCE2C2C052488430F` | ✅ Deployed | DeployCCIPReceiver.s.sol | |
| **Voting** (deploy 2026-02-13) | `0x022267b26400114aF01BaCcb92456Fe36cfccD93` | ✅ Deployed | DeployVoting.s.sol | |
| **UniversalAssetRegistry** (proxy) | `0xAEE4b7fBe82E1F8295951584CBc772b8BBD68575` | ✅ Deployed | Phased core (2026-02-11). Upgraded to impl `0x2526682F7e24febE4422647F0bFfA16b50438AA4` (registerGRUCompliantAsset). Upgrade script: `script/deploy/UpgradeUniversalAssetRegistry.s.sol`. | |
| **GovernanceController** (proxy) | `0xA6891D5229f2181a34D4FF1B515c3Aa37dd90E0e` | ✅ Deployed | Phased core (2026-02-11) | |
| **UniversalCCIPBridge** (proxy) | `0xCd42e8eD79Dc50599535d1de48d3dAFa0BE156F8` | ✅ Deployed | Phased core (2026-02-11) | |
| **BridgeOrchestrator** (proxy) | `0x89aB428c437f23bAB9781ff8Db8D3848e27EeD6c` | ✅ Deployed | Phased core (2026-02-11) | |
### GRU c* V2 staged/live tokens (Chain 138)
| Contract | Address | Status | Notes |
|----------|---------|--------|-------|
| **cUSDT V2 / CompliantUSDTTokenV2** | `0x9FBfab33882Efe0038DAa608185718b772EE5660` | ✅ Deployed, active in `UniversalAssetRegistry`, and forward-canonical | `versionTag=2`, `currencyCode=USD`, `assetType=GRU`, `forwardCanonical=true`, `tokenURI=ipfs://.../cusdt-v2/metadata.json` as of April 3, 2026. Supersedes earlier staged address `0x8d342d321DdEe97D0c5011DAF8ca0B59DA617D29`. |
| **cUSDC V2 / CompliantUSDCTokenV2** | `0x219522c60e83dEe01FC5b0329d6fA8fD84b9D13d` | ✅ Deployed, active in `UniversalAssetRegistry`, and forward-canonical | `versionTag=2`, `currencyCode=USD`, `assetType=GRU`, `forwardCanonical=true`, `tokenURI=ipfs://.../cusdc-v2/metadata.json` as of April 3, 2026. Supersedes earlier staged address `0x1ac3F4942a71E86A9682D91837E1E71b7BACdF99`. |
### Gas-native compliant rollout (deployed 2026-04-05)
| Contract | Address | Status | Notes |
|----------|---------|--------|-------|
| **CWAssetReserveVerifier** | `0xbf26a679586663f87f3bf3f52c79479b8aa8d854` | ✅ Deployed, not yet attached | Generic verifier for gas-native lanes. Safe to reference for rollout planning; do not treat it as active bridge policy until the live L1 bridge is explicitly wired to it. |
| **cETH** | `0xf8e9802a1766422e33a269556ad5fc032338eefc` | ✅ Deployed on Chain 138 | Canonical gas token for `eth_mainnet`. |
| **cETHL2** | `0x18a6b163d255cc0cb32b99697843b487d059907d` | ✅ Deployed on Chain 138 | Canonical gas token for shared `eth_l2`. |
| **cBNB** | `0x94517875f32680984a5921da7abf78e22f65d70f` | ✅ Deployed on Chain 138 | Canonical gas token for BNB Chain. |
| **cPOL** | `0x19fec21edede9edb91d1fbec7c4095c5ac1fc10c` | ✅ Deployed on Chain 138 | Canonical gas token for Polygon. |
| **cAVAX** | `0x9c8f6f4fe1e535e6f85a78ee95249ded5540a2d0` | ✅ Deployed on Chain 138 | Canonical gas token for Avalanche. |
| **cCRO** | `0xfb48bb6c623571f9795b535b73f0d660e8643fd4` | ✅ Deployed on Chain 138 | Canonical gas token for Cronos. |
| **cXDAI** | `0xa39a59138f8a45b4a31455875b8a29ff31e76ec8` | ✅ Deployed on Chain 138 | Canonical gas token for Gnosis. |
| **cCELO** | `0x1814661dae0933bf397b1274f5a62411b94195c7` | ✅ Deployed on Chain 138 | Canonical gas token for Celo. |
| **cWEMIX** | `0x4d82206bec5b4dfa17759ffede07e35f4f63a050` | ✅ Deployed on Chain 138 | Canonical gas token for Wemix. Public-chain mirror still pending. |
### Gas-native public mirrors (deployed 2026-04-05)
| Chain | Contract | Address | Status |
|------|----------|---------|--------|
| Ethereum mainnet (`1`) | **cWETH** | `0xf6dc5587e18f27adff60e303fdd98f35b50fa8a5` | ✅ Deployed, bridge minter/burner roles granted |
| Optimism (`10`) | **cWETHL2** | `0x95007ec50d0766162f77848edf7bdc4eba147fb4` | ✅ Deployed, bridge minter/burner roles granted |
| Cronos (`25`) | **cWCRO** | `0x9b10eb0f77c45322dbd1fcb07176fd9a7609c164` | ✅ Deployed, bridge minter/burner roles granted |
| BNB Chain (`56`) | **cWBNB** | `0x179034a08ac2c9c35d2e41239f68c79dca6f18fa` | ✅ Deployed, bridge minter/burner roles granted |
| Gnosis (`100`) | **cWXDAI** | `0x9f833b4f1012f52eb3317b09922a79c6edfca77d` | ✅ Deployed, bridge minter/burner roles granted |
| Polygon (`137`) | **cWPOL** | `0x25980244aacecb6d8c4b887261ed27f87cb2fc73` | ✅ Deployed, bridge minter/burner roles granted |
| Arbitrum One (`42161`) | **cWETHL2** | `0xe27be001bc55cb2a8ed5ba5a62c834ca135244a3` | ✅ Deployed, bridge minter/burner roles granted |
| Celo (`42220`) | **cWCELO** | `0xb0fa7ec4123c7c275b3a89d9239569707ea3c66a` | ✅ Deployed, bridge minter/burner roles granted |
| Avalanche (`43114`) | **cWAVAX** | `0xe1d4aee2ef8f48a20338935188a8fe7f7c7de7d0` | ✅ Deployed, bridge minter/burner roles granted |
| Base (`8453`) | **cWETHL2** | `0x2a0840e5117683b11682ac46f5cf5621e67269e3` | ✅ Deployed, bridge minter/burner roles granted |
| Wemix (`1111`) | **cWWEMIX** | Pending | Mirror not deployed yet; `CW_BRIDGE_WEMIX` and destination gas funding are still missing. |
**Wemix note:** historical broadcast artifacts exist for prior `DeployWETHBridges.s.sol` runs on `1111`, but the recorded bridge addresses do not currently resolve to bytecode on-chain. Treat `CW_BRIDGE_WEMIX` as unset until a live bridge deployment is completed and funded.
### Channels / Mirror / Trustless / Reserve / Vault (deployed 2026-02-11; mirror 2026-02-12)
| Contract | Address | Notes |
|----------|---------|--------|
| **PaymentChannelManager** | `0x302aF72966aFd21C599051277a48DAa7f01a5f54` | Channels |
| **GenericStateChannelManager** | `0xe5e3bB424c8a0259FDE23F0A58F7e36f73B90aBd` | Channels |
| **AddressMapper** | `0x439Fcb2d2ab2f890DCcAE50461Fa7d978F9Ffe1A` | DeployAddressMapper.s.sol (2026-02-12); canonical for `ADDRESS_MAPPER` / `smart-contracts-master.json` |
| **AddressMapper** (legacy duplicate) | `0xe48E3f248698610e18Db865457fcd935Bb3da856` | Same bytecode and WETH genesis→deployed mapping as canonical (Core RPC 2026-03-30); prefer canonical for new work |
| **MirrorManager** | `0x6eD905A30c552a6e003061A38FD52A5A427beE56` | DeployMirrorManager.s.sol (2026-02-12) |
| **Lockbox138** (trustless) | `0xFce6f50B312B3D936Ea9693C5C9531CF92a3324c` | DeployTrustlessBridge.s.sol |
| **ReserveSystem** | `0x607e97cD626f209facfE48c1464815DDE15B5093` | Reserve |
| **ReserveTokenIntegration** | `0x34B73e6EDFd9f85a7c25EeD31dcB13aB6E969b96` | Reserve |
| **RegulatedEntityRegistry** (vault) | `0xEA4C892D6c1253797c5D95a05BF3863363080b4B` | Vault system |
| **VaultFactory** (vault) | `0xB2Ac70f35A81481B005067ed6567a5043BA32336` | Vault system |
| **Ledger** (vault) | `0x67b3831dc64C14FB9352B2a45C6Dd69b3C86B7af` | Vault system |
| **Liquidation** (vault) | `0x3aCdbCB749d6037a02F0ef6ea2E5Fb89D31fAB72` | Vault system |
| **XAU Oracle** (vault) | `0xf23E1eDa304082ab7a81531dFE6020E6105e77A8` | Vault system |
### ISO-20022 router (Chain 138)
| Contract | Address | Notes |
|----------|---------|--------|
| **ISO20022Router** | `0xBf1BB3E73C2DB7c4aebCd7bf757cdD1C12dE9074` | Explorer inventory key `ISO20022_ROUTER` (`explorer-monorepo/config/address-inventory.json`). Methodology: [SMART_CONTRACTS_ISO20022_FIN_METHODOLOGY.md](../04-configuration/SMART_CONTRACTS_ISO20022_FIN_METHODOLOGY.md). Integration map: [OMNL_DBIS_CORE_CHAIN138_SMART_VAULT_RTGS_RUNBOOK.md](../03-deployment/OMNL_DBIS_CORE_CHAIN138_SMART_VAULT_RTGS_RUNBOOK.md) §14. |
### CREATE2 / Deterministic (DeployDeterministicCore.s.sol, 2026-02-11)
| Contract | Address | Notes |
|----------|---------|--------|
| **CREATE2Factory** | `0x750E4a8adCe9f0e67A420aBE91342DC64Eb90825` | Factory for deterministic deploys |
| **UniversalAssetRegistry** (proxy) | `0xC98602aa574F565b5478E8816BCab03C9De0870f` | Deterministic registry; call setCCIPRouter on bridge |
| **UniversalCCIPBridge** (proxy) | `0x532DE218b94993446Be30eC894442f911499f6a3` | setCCIPRouter(router) set 2026-02-11 |
| **MirrorRegistry** | `0x6427F9739e6B6c3dDb4E94fEfeBcdF35549549d8` | Merkle commitment roots for mirroring |
| **AlltraAdapter** | `0x66FEBA2fC9a0B47F26DD4284DAd24F970436B8Dc` | Bridge adapter for ALL Mainnet (651940) |
### TransactionMirror & DODO PMM stack (Chain 138)
| Contract | Address | Status / Notes |
|----------|---------|----------------|
| **DODO DVMFactory** | `0xc93870594C7f83A0aE076c2e30b494Efc526b68E` | ✅ Self-deployed official DODO V2 DVMFactory on Chain 138. Not DODO-listed, but canonical for this repo. |
| **DODO Vending Machine / DVMFactoryAdapter** | `0xb6D9EF3575bc48De3f011C310DC24d87bEC6087C` | ✅ Canonical `DODO_VENDING_MACHINE_ADDRESS` used by `DODOPMMIntegration`. |
| **DODOPMMIntegration** | `0x86ADA6Ef91A3B450F89f2b751e93B1b7A3218895` | ✅ Canonical official-DVM-backed integration deployed 2026-04-01. Use this for stable-pool routing, token-aggregation, and explorer fallback reads. |
| **DODOPMMProvider** | `0x3f729632E9553EBacCdE2e9b4c8F2B285b014F2e` | ✅ Canonical provider deployed 2026-04-02 and registered against the current integration. |
| **DODOPMMIntegration (older PMM phase / supplemental only)** | `0x5BDc62f1ae7D630c37A8B363a1d49845356Ee72d` | Historical/supplemental integration retained for older XAU-phase references and reserve probes. Do **not** use as the canonical stable-routing or explorer-fallback source. |
| **TransactionMirror** | `0x7131F887DBEEb2e44c1Ed267D2A68b5b83285afc` (Chain 138; deployed 2026-02-27) | Set `TRANSACTION_MIRROR_ADDRESS` in `smom-dbis-138/.env`. Deploy: `./scripts/deployment/deploy-transaction-mirror-and-pmm-pool-after-txpool-clear.sh`. |
| **DODO cUSDT/cUSDC pool** | `0x9e89bAe009adf128782E19e8341996c596ac40dC` | ✅ Funded on the current canonical stack; recreated 2026-04-02 with `i=1e18`, `k=0` for true 1:1 stable quoting. |
| **DODO cUSDT/USDT pool** | `0x866Cb44b59303d8dc5f4F9E3E7A8e8b0bf238d66` | ✅ Funded on the current canonical stack; recreated 2026-04-02 with `i=1e18`, `k=0`. |
| **DODO cUSDC/USDC pool** | `0xc39B7D0F40838cbFb54649d327f49a6DAC964062` | ✅ Funded on the current canonical stack; recreated 2026-04-02 with `i=1e18`, `k=0`. |
### DODO v3 / D3MM pilot deployment + native venue layer (Chain 138)
| Contract / Pool | Address | Status / Notes |
|-----------------|---------|----------------|
| **D3Oracle** | `0xD7459aEa8bB53C83a1e90262777D730539A326F0` | ✅ Deployed 2026-04-02 for the private DODO v3 / D3MM pilot. Blockscout source-verified 2026-04-03. |
| **D3Vault** | `0x42b6867260Fb9eE6d09B7E0233A1fAD65D0133D1` | ✅ Deployed and configured with `WETH10`, `USDT`, `USDC`, `cUSDT`, `cUSDC`. Blockscout source-verified 2026-04-03. |
| **D3MMFactory** | `0x78470C7d2925B6738544E2DD4FE7c07CcA21AC31` | ✅ Deployed. Standard-input Blockscout verification submission path is wired in `bash scripts/verify/verify-dodo-v3-chain138-blockscout.sh`; explorer currently exposes bytecode metadata but has not fully materialized source metadata yet. |
| **D3Proxy** | `0xc9a11abB7C63d88546Be24D58a6d95e3762cB843` | ✅ Deployed and used for proof-swap execution. Standard-input Blockscout verification submission path is wired; explorer currently exposes bytecode metadata but has not fully materialized source metadata yet. |
| **Oracle Aggregator (`WETH10` / ETH-USD pilot source)** | `0x99b3511a2d315a497c8112c1fdd8d508d4b1e506` | ✅ Live Chain 138 oracle surface. Promoted into the DODO v3 pilot as the `WETH10` source on 2026-04-02 via `setPriceSource(WETH10)` tx `0xf06a5064a4a2f6514b2d5304e9662b8b3aa003c109f214de8710bd9a8304f518`. |
| **ManagedStableUsdFeed (USDT / USD)** | `0x7c2Cb2667f0f97f4004aae04B67d94A085E6f0f1` | ✅ Deployed 2026-04-02 and promoted into the pilot on 2026-04-02 via `setPriceSource(USDT)`. Replaces bootstrap mock `0x8c5eD794399C68468985238Fa127958E06e6e87F`. |
| **ManagedStableUsdFeed (USDC / USD)** | `0xf072Ac13D45e6c83296ca18F3E04185B747DD6aa` | ✅ Deployed 2026-04-02 and promoted into the pilot on 2026-04-02 via `setPriceSource(USDC)`. Replaces bootstrap mock `0x102BAe3eBf3C8B93445F4B30c90728fd933CeC84`. |
| **ManagedStableUsdFeed (cUSDT / USD)** | `0x7c96E66F4a0713e327F9e73Cf2721f13DB29036C` | ✅ Deployed 2026-04-02 and promoted into the pilot on 2026-04-02 via `setPriceSource(cUSDT)`. Replaces bootstrap mock `0xd493Bb05e9ddf954E8285c6358ED03a2672A006d`. |
| **ManagedStableUsdFeed (cUSDC / USD)** | `0x291694095232CA80077125F64f6f73076e7910C1` | ✅ Deployed 2026-04-02 and promoted into the pilot on 2026-04-02 via `setPriceSource(cUSDC)`. Replaces bootstrap mock `0xcA85aFc0E24A8ebd69E138928567DcD363758E7A`. |
| **EnhancedSwapRouterV2** | `0xF1c93F54A5C2fc0d7766Ccb0Ad8f157DFB4C99Ce` | ✅ Deployed 2026-04-03. Public `/token-aggregation/api/v2/routes/internal-execution-plan` now targets this router for executable D3 pilot calldata. |
| **IntentBridgeCoordinatorV2** | `0x7D0022B7e8360172fd9C0bB6778113b7Ea3674E7` | ✅ Deployed 2026-04-03 alongside router-v2 for bridge-intent execution plans. |
| **DodoRouteExecutorAdapter** | `0x88495B3dccEA93b0633390fDE71992683121Fa62` | ✅ Deployed 2026-04-03. Canonical DODO V2 executor adapter for router-v2. |
| **DodoV3RouteExecutorAdapter** | `0x9Cb97adD29c52e3B81989BcA2E33D46074B530eF` | ✅ Deployed 2026-04-03. Canonical D3 / DODO v3 pilot executor adapter. Live proof swap via router-v2 tx `0x14cd60a226dbab0c96765fff23171569e5a2fc0e35bded03f92668951ced4b57`. |
| **UniswapV3RouteExecutorAdapter** | `0x960D6db4E78705f82995690548556fb2266308EA` | ✅ Deployed 2026-04-03. Router-v2 executor adapter. |
| **BalancerRouteExecutorAdapter** | `0x4E1B71B69188Ab45021c797039b4887a4924157A` | ✅ Deployed 2026-04-03. Router-v2 executor adapter. |
| **CurveRouteExecutorAdapter** | `0x5f0E07071c41ACcD2A1b1032D3bd49b323b9ADE6` | ✅ Deployed 2026-04-03. Router-v2 executor adapter. |
| **OneInchRouteExecutorAdapter** | `0x8168083d29b3293F215392A49D16e7FeF4a02600` | ✅ Deployed 2026-04-03. Router-v2 executor adapter. |
| **UniswapV3Factory** | `0x2f7219276e3ce367dB9ec74C1196a8ecEe67841C` | ✅ Upstream-native Uniswap v3 factory on Chain 138. Public planner now resolves the canonical `uniswap_v3` venue from this factory. |
| **UniswapV3NFTDescriptor** | `0x6F5fdE32DD2aC66B27e296EC9D6F4E79A3dE2947` | ✅ Upstream-native descriptor library. |
| **UniswapV3TokenDescriptor** | `0xca66DCAC4633555033F6fDDBE4234B6913c7ff51` | ✅ Upstream-native position descriptor. |
| **UniswapV3PositionManager** | `0x31b68BE5af4Df565Ce261dfe53D529005D947B48` | ✅ Upstream-native position manager. |
| **UniswapV3Router** | `0xde9cD8ee2811E6E64a41D5F68Be315d33995975E` | ✅ Canonical public upstream-native router on Chain 138 as of 2026-04-03. |
| **UniswapV3QuoterV2** | `0x6abbB1CEb2468e748a03A00CD6aA9BFE893AFa1f` | ✅ Canonical public upstream-native quoter on Chain 138 as of 2026-04-03. |
| **UniswapV3Pool_WETH_USDT** | `0xa893add35aEfe6A6d858EB01828bE4592f12C9F5` | ✅ Canonical fee-500 native `WETH/USDT` pool; seeded with ~`50 WETH` and `105,830 USDT`. |
| **UniswapV3Pool_WETH_USDC** | `0xEC745bfb6b3cd32f102d594E5F432d8d85B19391` | ✅ Canonical fee-500 native `WETH/USDC` pool; seeded with ~`50 WETH` and `105,830 USDC`. |
| **UniswapV3Pool_WETH_USDT (superseded fee-3000 bootstrap)** | `0x97eB7eB01327CF44C4d74a17EFA2130bc10C6Ab6` | ⚠️ Historical bootstrap pool from the first native seeding pass; keep only as an artifact, not a canonical route target. |
| **UniswapV3Pool_WETH_USDC (superseded fee-3000 bootstrap)** | `0xfc62B65028043c7168007Fd094D44097d13696Da` | ⚠️ Historical bootstrap pool from the first native seeding pass; keep only as an artifact, not a canonical route target. |
| **PilotUniswapV3Router / Quoter** | `0xD164D9cCfAcf5D9F91698f296aE0cd245D964384` | ✅ Still deployed, but superseded by the upstream-native Uniswap v3 router/quoter for public planner and canonical route selection. |
| **PilotBalancerVault** | `0x96423d7C1727698D8a25EbFB88131e9422d1a3C3` | ✅ Deployed and funded 2026-04-03. Pilot-compatible `Balancer` vault surface for Chain 138 `WETH/USDT` and `WETH/USDC`. Pool IDs: `0x877cd220759e8c94b82f55450c85d382ae06856c426b56d93092a420facbc324` (`WETH/USDT`), `0xd8dfb18a6baf9b29d8c2dbd74639db87ac558af120df5261dab8e2a5de69013b` (`WETH/USDC`). |
| **PilotCurve3Pool** | `0xE440Ec15805BE4C7BabCD17A63B8C8A08a492e0f` | ✅ Deployed and funded 2026-04-03. Pilot-compatible `Curve_3` stable-stable execution surface for Chain 138 `USDT/USDC`. |
| **PilotOneInchRouter** | `0x500B84b1Bc6F59C1898a5Fe538eA20A758757A4F` | ✅ Deployed and funded 2026-04-03. Pilot-compatible `1inch` execution surface for Chain 138 `WETH/USDT` and `WETH/USDC`. |
| **D3MM (superseded bootstrap)** | `0xE71Bc2cCb62dA5B18F88647db2b4a721Db416fc5` | ⚠️ Do not route through this pool. It was created against the placeholder `WETH9` path and is kept only as a deployment artifact. |
| **D3MM (canonical `WETH10` pilot pool)** | `0x6550A3a59070061a262a893A1D6F3F490afFDBDA` | ✅ Private pilot venue. Re-verified 2026-04-03 with `bash scripts/verify/check-dodo-v3-chain138.sh`: `querySellTokens(WETH10 -> USDT, 0.1)``211.66049 USDT`, vault registration OK, and oracle source healthy. |
**Important:** the public canonical stable-routing set for Chain 138 remains the DODO V2 DVM-backed PMM provider and the three canonical stable pools above. For the wider venue layer, **upstream-native Uniswap v3 is now the canonical public `uniswap_v3` path** on Chain 138, while the current `Balancer`, `Curve_3`, and `1inch` surfaces remain repo-managed pilot-compatible venues. DODO v3 remains the separate private D3 pilot lane. For public planner checks, use the routing asset `WETH` (`0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2`); the separate `CCIPWETH9Bridge` / `CCIPWETH10Bridge` addresses are transport surfaces, not swap-token aliases.
**Verification helpers:** `bash scripts/verify/check-chain138-pilot-dex-venues.sh`, `bash scripts/verify/check-dodo-v3-chain138.sh`, `bash scripts/verify/check-dodo-v3-planner-visibility-chain138.sh`, and `bash scripts/verify/verify-dodo-v3-chain138-blockscout.sh`
### Cross-chain flash infrastructure (Chain 138)
| Contract | Address | Status / Notes |
|----------|---------|----------------|
| **UniversalCCIPFlashBridgeAdapter** | `0xBe9e0B2d4cF6A3b2994d6f2f0904D2B165eB8ffC` | ✅ Deployed and Blockscout-verified 2026-04-03. Bridges flash-borrowed ERC-20 inventory through `UniversalCCIPBridge`. Create tx: `0x8cc4ba611a3d0a6e880f9e21f6390f67aadd6a234df1dc2828788ad775849844`. Verified at `2026-04-03T03:15:53Z`. |
| **CrossChainFlashRepayReceiver** | `0xD084b68cB4B1ef2cBA09CF99FB1B6552fd9b4859` | ✅ Deployed and Blockscout-verified 2026-04-03. Destination-side CCIP delivery leg. Create tx: `0xf1fc28c10956cf368ebfc3d1cdd3150caf8aceacae86964f547a91e66a801e33`. Verified at `2026-04-03T03:11:16Z`. |
| **CrossChainFlashVaultCreditReceiver** | `0x89F7a1fcbBe104BeE96Da4b4b6b7d3AF85f7E661` | ✅ Deployed and Blockscout-verified 2026-04-03. Source-side / same-chain liquidity refill leg for the flash vault. Create tx: `0x085e1cad6e8fbe6642db420563b7b75194a88ec6649fae99cd940c2a894ec1ad`. Verified at `2026-04-03T03:15:34Z`. |
**Wiring:** the deployed adapter points at `UniversalCCIPBridge=0xCd42e8eD79Dc50599535d1de48d3dAFa0BE156F8`, and both receivers point at `CCIP_ROUTER=0x42DAb7b888Dd382bD5Adcf9E038dBF1fD03b4817`.
**Verification helper:** `bash scripts/verify/check-cross-chain-flash-infra-chain138.sh` checks bytecode, bridge/router wiring, and Blockscout source-verification status for all three contracts.
**Public mainnet flash-lender candidates for no-broadcast dry-runs:** `MAINNET_BALANCER_VAULT=0xBA12222222228d8Ba445958a75a0704d566BF2C8` and `MAINNET_AAVE_V3_POOL=0x87870Bca3F3fD6335C3F4ce8392D69350B4fA4E2` with `MAINNET_AAVE_V3_POOL_ADDRESSES_PROVIDER=0x2f39d218133AFaB8F2B819B1066c7E434Ad94E9e`. As of 2026-04-05, the live checker reads Balancer flash fee `0` and Aave `FLASHLOAN_PREMIUM_TOTAL() = 5`, plus live USDC/USDT balances from the Balancer vault and Aave reserve proxies.
**Current dry-run gap:** the repo still does **not** record a canonical deployed `SimpleERC3156FlashVault` address for same-chain stablecoin flashes on Chain 138. Public PMM dry-runs that need a same-chain ERC-3156 lender still require `FLASH_VAULT` and `FLASH_VAULT_TOKEN` in env, or explicit `--flash-provider-address` / `--flash-provider-token-address` on `scripts/analytics/pmm-flash-push-break-even.mjs`. Use `bash scripts/verify/check-public-pmm-dry-run-readiness.sh` to see the current live/configured state and current public flash caps.
### Deployer / Admin (Chain 138)
| Role | Address | Explorer (Chain 138 only) |
|------|---------|---------------------------|
| **Deployer / Admin** | `0x4A666F96fC8764181194447A7dFdb7d471b301C8` | [explorer.d-bis.org/address/0x4A666F96fC8764181194447A7dFdb7d471b301C8](https://explorer.d-bis.org/address/0x4A666F96fC8764181194447A7dFdb7d471b301C8) |
- **Chain 138:** use the link above. **Other chains (e.g. mainnet):** use [blockscan.com](https://blockscan.com/address/0x4A666F96fC8764181194447A7dFdb7d471b301C8) to check balances on those chains. See [EXPLORER_AND_BLOCKSCAN_REFERENCE](EXPLORER_AND_BLOCKSCAN_REFERENCE.md).
---
## 🎯 Key Addresses for Services
### Oracle Publisher Service (VMID 3500)
```bash
ORACLE_ADDRESS=0x3304b747e565a97ec8ac220b0b6a1f6ffdb837e6
AGGREGATOR_ADDRESS=0x99b3511a2d315a497c8112c1fdd8d508d4b1e506
RPC_URL_138=http://192.168.11.211:8545
CHAIN_ID=138
```
### CCIP Monitor Service (VMID 3501)
```bash
CCIP_ROUTER_ADDRESS=0x42DAb7b888Dd382bD5Adcf9E038dBF1fD03b4817
CCIP_SENDER_ADDRESS=0x105F8A15b819948a89153505762444Ee9f324684
RPC_URL_138=http://192.168.11.211:8545
CHAIN_ID=138
```
### MetaMask Configuration
```json
{
"chainId": 138,
"chainName": "SMOM-DBIS-138",
"rpcUrls": ["https://rpc-http-pub.d-bis.org"],
"nativeCurrency": {
"name": "ETH",
"symbol": "ETH",
"decimals": 18
},
"priceFeedAddress": "0x3304b747e565a97ec8ac220b0b6a1f6ffdb837e6"
}
```
---
## 📋 Canonical source of truth (Chain 138)
Use these addresses in config and .env. **smom-dbis-138/.env** has been reconciled to one entry per variable; **smom-dbis-138/.env.example** includes the same canonical block for new setups.
| Variable | Canonical address |
|----------|-------------------|
| ComplianceRegistry | `0xbc54fe2b6fda157c59d59826bcfdbcc654ec9ea1` |
| TokenFactory | `0xEBFb5C60dE5f7C4baae180CA328D3BB39E1a5133` |
| BridgeVault | `0x31884f84555210FFB36a19D2471b8eBc7372d0A8` |
| CompliantUSDT (cUSDT) | `0x93E66202A11B1772E55407B32B44e5Cd8eda7f22` |
| CompliantUSDC (cUSDC) | `0xf22258f57794CC8E06237084b353Ab30fFfa640b` |
| TokenRegistry | `0x91Efe92229dbf7C5B38D422621300956B55870Fa` |
| FeeCollector | `0xF78246eB94c6CB14018E507E60661314E5f4C53f` |
| DebtRegistry | `0x95BC4A997c0670d5DAC64d55cDf3769B53B63C28` |
| PolicyManager | `0x0C4FD27018130A00762a802f91a72D6a64a60F14` |
| TokenImplementation | `0x0059e237973179146237aB49f1322E8197c22b21` |
| CCIPWETH9_BRIDGE_CHAIN138 | `0xcacfd227A040002e49e2e01626363071324f820a` |
| LINK_TOKEN / CCIP_FEE_TOKEN | `0xb7721dD53A8c629d9f1Ba31a5819AFe250002b03` |
| CCIP_ROUTER | `0x42DAb7b888Dd382bD5Adcf9E038dBF1fD03b4817` |
| UNIVERSAL_ASSET_REGISTRY | `0xAEE4b7fBe82E1F8295951584CBc772b8BBD68575` |
| GOVERNANCE_CONTROLLER | `0xA6891D5229f2181a34D4FF1B515c3Aa37dd90E0e` |
| UNIVERSAL_CCIP_BRIDGE | `0xCd42e8eD79Dc50599535d1de48d3dAFa0BE156F8` |
| BRIDGE_ORCHESTRATOR | `0x89aB428c437f23bAB9781ff8Db8D3848e27EeD6c` |
**Multicall / Oracle Aggregator resolution:** Address `0x99b3511a2d315a497c8112c1fdd8d508d4b1e506` should now be treated as the live **Oracle Aggregator** slot on Chain 138. A 2026-04-02 Core RPC probe returned valid `latestAnswer()` and `latestRoundData()` responses, while Multicall-style `getEthBalance(address)` did not succeed. Use deployed Multicall `0xF4AA429BE277d1a1a1A744C9e5B3aD821a9b96f7` for new Multicall integrations.
**Reconcile .env:** ~~Copy the canonical block from `.env.example` into `.env`.~~ **Done 2026-02-11.** One entry per variable; matches this table.
---
## 🌉 CCIP 138 → Ethereum Mainnet (relay)
Sends from Chain 138 to mainnet use the **relay** path (custom router + relay service), not Chainlink public CCIP. Mainnet contracts:
| Contract (Ethereum Mainnet) | Address | Role |
|-----------------------------|---------|------|
| **CCIPRelayRouter** | `0x416564Ab73Ad5710855E98dC7bC7Bff7387285BA` | Active relay router; receives relayed messages and forwards to authorized bridges |
| **CCIPRelayBridge** | `0xF9A32F37099c582D28b4dE7Fca6eaC1e5259f939` | Releases WETH to recipient; must be funded with WETH |
Chain 138 WETH9 bridges (LINK fee and native ETH fee) have mainnet destination set to **CCIPRelayBridge**. Run the relay service so messages are delivered. The Mainnet bridge is **WETH9-only**; token mapping (138↔Mainnet) and which tokens are relay-supported: [TOKEN_MAPPING_AND_MAINNET_ADDRESSES.md](../07-ccip/TOKEN_MAPPING_AND_MAINNET_ADDRESSES.md). See [CCIP_BRIDGE_MAINNET_CONNECTION.md](../07-ccip/CCIP_BRIDGE_MAINNET_CONNECTION.md).
### Ethereum mainnet — optional GRU cW PMM + TRUU volatile rail (DODO)
These are **not** Chain 138 contracts; they support the optional Mainnet **Truth (TRUU)** PMM lane documented in [MAINNET_PMM_TRUU_CWUSD_PEG_AND_BOT_RUNBOOK.md](../03-deployment/MAINNET_PMM_TRUU_CWUSD_PEG_AND_BOT_RUNBOOK.md) and `cross-chain-pmm-lps/config/deployment-status.json` (`chains."1"`).
| Item | Address | Notes |
|------|---------|--------|
| **DODOPMMIntegration (Mainnet)** | `0xa9F284eD010f4F7d7F8F201742b49b9f58e29b84` | Env: `DODO_PMM_INTEGRATION_MAINNET`. Etherscan source-verified 2026-04-11; provenance/runbook: [ETHEREUM_MAINNET_DODOPMMINTEGRATION_VERIFICATION.md](../03-deployment/ETHEREUM_MAINNET_DODOPMMINTEGRATION_VERIFICATION.md). |
| **TRUU** | `0xDAe0faFD65385E7775Cf75b1398735155EF6aCD2` | Anchor in `deployment-status.json`; 10 decimals |
| **PMM pool cWUSDT / TRUU** | `0x508E5e80B66204b8CD9869323Fdd3A289ea50993` | Volatile; `pmmPoolsVolatile[]` |
| **PMM pool cWUSDC / TRUU** | `0x9A632F35078b6A4A9bf27806Bb7aFfAA2F16C846` | Volatile; `pmmPoolsVolatile[]` |
**cW token addresses on Mainnet** for this program: see `deployment-status.json` `chains."1".cwTokens` (e.g. cWUSDT, cWUSDC).
---
## 📝 Notes
1. **WETH9 and WETH10** are pre-deployed in genesis.json - no deployment needed
2. **Oracle Proxy** address is the primary address for MetaMask price feeds
3. **CCIP Router** is required for cross-chain communication
4. All addresses are on ChainID 138
5. **On-chain confirmation:** Verify each contract at https://explorer.d-bis.org/address/<ADDRESS> and use [BLOCKSCOUT_VERIFICATION_GUIDE](../08-monitoring/BLOCKSCOUT_VERIFICATION_GUIDE.md) for source verification.
6. **.env:** Reconciled to single source of truth (one entry per variable). When adding new contract vars, keep one entry and align with this table and `.env.example`.
---
## ⚠️ Deprecated (Do Not Use)
| Address | Note |
|---------|------|
| `0x89dd12025bfCD38A168455A44B400e913ED33BE2` | **Deprecated** — old CCIPWETH9Bridge with router mismatch (no code at router). Use **CCIPWETH9Bridge** at `0xcacfd227A040002e49e2e01626363071324f820a` instead. See [ADDRESS_MATRIX_AND_STATUS.md](ADDRESS_MATRIX_AND_STATUS.md). |
---
**Related:** [DEPLOYER_CONTRACTS_INVENTORY_AND_VERIFICATION_STATUS](DEPLOYER_CONTRACTS_INVENTORY_AND_VERIFICATION_STATUS.md) (all contracts by deployer, network, verified status) | [EXPLORER_TOKEN_LIST_CROSSCHECK](EXPLORER_TOKEN_LIST_CROSSCHECK.md) (Explorer /tokens vs repo token lists) | [ADDRESS_MATRIX_AND_STATUS](ADDRESS_MATRIX_AND_STATUS.md) (correlated matrix and status) | [EXPLORER_AND_BLOCKSCAN_REFERENCE](EXPLORER_AND_BLOCKSCAN_REFERENCE.md) (correct explorer vs blockscan.com) | [ADDRESS_MATRIX_AND_STATUS](ADDRESS_MATRIX_AND_STATUS.md) | [CONTRACTS_TO_DEPLOY](CONTRACTS_TO_DEPLOY.md) | [CHAIN138_TOKEN_ADDRESSES](CHAIN138_TOKEN_ADDRESSES.md) | [TOKEN_MAPPING_AND_MAINNET_ADDRESSES](../07-ccip/TOKEN_MAPPING_AND_MAINNET_ADDRESSES.md) (138↔Mainnet token mapping)