Files
proxmox/docs/03-deployment/ETHEREUM_MAINNET_DODOPMMINTEGRATION_VERIFICATION.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

73 lines
3.3 KiB
Markdown

# Ethereum Mainnet DODOPMMIntegration Verification
**Closed:** 2026-04-11
**Contract:** `DODOPMMIntegration`
**Address:** `0xa9F284eD010f4F7d7F8F201742b49b9f58e29b84`
**Network:** Ethereum Mainnet (`1`)
**Explorer:** <https://etherscan.io/address/0xa9F284eD010f4F7d7F8F201742b49b9f58e29b84#code>
## Outcome
- Etherscan source verification passed on 2026-04-11.
- The contract page now shows `Contract Name: DODOPMMIntegration`.
- Compiler metadata confirmed on Etherscan:
- `v0.8.20+commit.a1b79de6`
- optimizer enabled
- `200` runs
- `london` EVM version
## Why historical source was required
Current `smom-dbis-138` HEAD no longer matched the deployed init code. Verification succeeded only after rebuilding against the historical source snapshot from:
- `smom-dbis-138` commit `1511f33857829b762de5deeea135ce5af117997f`
This is the source revision that matched both the deployment bytecode and the on-chain runtime.
## Deployment provenance
- **Creator / admin:** `0x4A666F96fC8764181194447A7dFdb7d471b301C8`
- **Create tx:** `0xeba51be6aa35825acfaedea122317a24951c4480e1f0fe610361bfab3dc1cea3`
Constructor arguments used for verification:
```text
admin 0x4A666F96fC8764181194447A7dFdb7d471b301C8
dodoVendingMachine 0x9b55D9Bc2337f53aaF76AD923CCd01f0D2e4d07D
dodoApprove 0x0000000000000000000000000000000000000000
officialUSDT 0xdAC17F958D2ee523a2206206994597C13D831ec7
officialUSDC 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48
compliantUSDT 0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE
compliantUSDC 0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a
```
ABI-encoded constructor arguments:
```text
0x0000000000000000000000004a666f96fc8764181194447a7dfdb7d471b301c80000000000000000000000009b55d9bc2337f53aaf76ad923ccd01f0d2e4d07d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000af5017d0163ecb99d9b5d94e3b4d7b09af44d8ae0000000000000000000000002de5f116bfce3d0f922d9c8351e0c5fc24b9284a
```
## Verification command
Run from a worktree or checkout whose `contracts/dex/DODOPMMIntegration.sol` matches commit `1511f33857829b762de5deeea135ce5af117997f`:
```bash
forge verify-contract \
0xa9F284eD010f4F7d7F8F201742b49b9f58e29b84 \
contracts/dex/DODOPMMIntegration.sol:DODOPMMIntegration \
--chain-id 1 \
--num-of-optimizations 200 \
--constructor-args 0x0000000000000000000000004a666f96fc8764181194447a7dfdb7d471b301c80000000000000000000000009b55d9bc2337f53aaf76ad923ccd01f0d2e4d07d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000af5017d0163ecb99d9b5d94e3b4d7b09af44d8ae0000000000000000000000002de5f116bfce3d0f922d9c8351e0c5fc24b9284a \
--watch
```
## Remaining manual step
Source verification is complete. If a public explorer tag / label is still desired, that is a separate manual Etherscan account workflow:
1. Open the contract page on Etherscan.
2. Use `Update Name Tag or Label`.
3. Complete ownership / support flow required by Etherscan.
Do not treat the manual name-tag step as blocking source-verification closure in repo inventories.