Files
proxmox/docs/11-references/CONTRACT_ADDRESSES_REFERENCE.md
defiQUG 2a6d3cfc7f
Some checks failed
Deploy to Phoenix / deploy (push) Has been cancelled
Update submodule references and improve CI workflow
- Update submodule references for explorer-monorepo and smom-dbis-138 to latest commits.
- Modify CI workflow to include shellcheck installation and enforce error severity for script checks.
- Update contract addresses in configuration and documentation to reflect the new canonical addresses for CCIPWETH9Bridge and CCIP Router.
- Revise integration test documentation to align with updated contract addresses and deployment statuses.

Made-with: Cursor
2026-03-24 22:50:52 -07:00

14 KiB

Contract Addresses Reference - ChainID 138

Last Updated: 2026-03-04
Document Version: 1.4
Status: Active Documentation. DODOPMMIntegration token addresses verified on-chain 2026-03-04 — see EXPLORER_TOKEN_LIST_CROSSCHECK §8.


Master JSON (single source of truth)

All contract addresses are maintained in: config/smart-contracts-master.json

  • Publishable — no secrets; safe to commit and share.
  • Consumed by: Bash via source scripts/lib/load-project-env.sh (or load-contract-addresses.sh); Node/JS via require('.../config/contracts-loader.cjs').
  • Override: Values in .env (e.g. smom-dbis-138/.env) take precedence over the master JSON.

See config/README-CONTRACTS-MASTER.md for usage from code and scripts.


Network: ChainID 138
RPC Endpoint (admin/deployment): Set RPC_URL_138 (e.g. http://192.168.11.211:8545 or https://rpc-core.d-bis.org)
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 or etherscan.io. See EXPLORER_AND_BLOCKSCAN_REFERENCE.
Correlated matrix and status (Chain 138 + multi-chain): 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
Multicall 0x99b3511a2d315a497c8112c1fdd8d508d4b1e506 Pre-deployed Genesis allocation. Same address as Oracle Aggregator in some docs — verify on explorer which contract is at this slot.

Newly Deployed Contracts

Contracts deployed after chain initialization:

Contract Address Status Purpose
Oracle Aggregator 0x99b3511a2d315a497c8112c1fdd8d508d4b1e506 Deployed Price feed aggregator (same address as Multicall — operator to confirm which contract is at this slot on explorer)
Oracle Proxy 0x3304b747e565a97ec8ac220b0b6a1f6ffdb837e6 Deployed MetaMask price feed
CCIP Router 0x42DAb7b888Dd382bD5Adcf9E038dBF1fD03b4817 Deployed Cross-chain router
CCIP Sender 0x105F8A15b819948a89153505762444Ee9f324684 Deployed Cross-chain sender
CCIPWETH9Bridge 0xcacfd227A040002e49e2e01626363071324f820a Deployed WETH9 cross-chain (working router)
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)

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)
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

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 pool (Chain 138)

Contract Address Status / Notes
DODOPMMIntegration 0x79cdbaFBaA0FdF9F55D26F360F54cddE5c743F7D Deployed; on-chain verified 2026-03-04: compliantUSDT() = canonical cUSDT, compliantUSDC() = canonical cUSDC. See EXPLORER_TOKEN_LIST_CROSSCHECK §8.
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 0x9fcB06Aa1FD5215DC0E91Fd098aeff4B62fEa5C8 Created (deploy-transaction-mirror-and-pmm-pool-after-txpool-clear.sh). See REQUIRED_FIXES_AND_DEPLOYMENTS_STATUS.

Deployer / Admin (Chain 138)

Role Address Explorer (Chain 138 only)
Deployer / Admin 0x4A666F96fC8764181194447A7dFdb7d471b301C8 explorer.d-bis.org/address/0x4A666F96fC8764181194447A7dFdb7d471b301C8

🎯 Key Addresses for Services

Oracle Publisher Service (VMID 3500)

ORACLE_ADDRESS=0x3304b747e565a97ec8ac220b0b6a1f6ffdb837e6
AGGREGATOR_ADDRESS=0x99b3511a2d315a497c8112c1fdd8d508d4b1e506
RPC_URL_138=http://192.168.11.211:8545
CHAIN_ID=138

CCIP Monitor Service (VMID 3501)

CCIP_ROUTER_ADDRESS=0x42DAb7b888Dd382bD5Adcf9E038dBF1fD03b4817
CCIP_SENDER_ADDRESS=0x105F8A15b819948a89153505762444Ee9f324684
RPC_URL_138=http://192.168.11.211:8545
CHAIN_ID=138

MetaMask Configuration

{
  "chainId": 138,
  "chainName": "SMOM-DBIS-138",
  "rpcUrls": ["https://rpc-core.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 (operator to confirm): Address 0x99b3511a2d315a497c8112c1fdd8d508d4b1e506 is documented as both. Action: Open explorer, confirm which contract is at this slot (Multicall vs Oracle Aggregator), and document the result here (e.g. "Verified: Multicall" or "Verified: Oracle Aggregator"). See CONTRACT_NEXT_STEPS_LIST and OPERATOR_ACTIONS.

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 0xAd9A228CcEB4cbB612cD165FFB72fE090ff10Afb Receives relayed messages; forwards to bridge
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. See CCIP_BRIDGE_MAINNET_CONNECTION.md.


📝 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/ and use BLOCKSCOUT_VERIFICATION_GUIDE 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.

Related: DEPLOYER_CONTRACTS_INVENTORY_AND_VERIFICATION_STATUS (all contracts by deployer, network, verified status) | EXPLORER_TOKEN_LIST_CROSSCHECK (Explorer /tokens vs repo token lists) | ADDRESS_MATRIX_AND_STATUS (correlated matrix and status) | EXPLORER_AND_BLOCKSCAN_REFERENCE (correct explorer vs blockscan.com) | ADDRESS_MATRIX_AND_STATUS | CONTRACTS_TO_DEPLOY | CHAIN138_TOKEN_ADDRESSES | TOKEN_MAPPING_AND_MAINNET_ADDRESSES (138↔Mainnet token mapping)