- Config, docs, scripts, and backup manifests - Submodule refs unchanged (m = modified content in submodules) Made-with: Cursor
11 KiB
Tokens the Deployer Wallet Deployed on Other Blockchains
Last Updated: 2026-03-01
Purpose: List all token contracts (ERC-20) that the deployer wallet (0x4A666F96fC8764181194447A7dFdb7d471b301C8) deployed on blockchains other than Chain 138. Use this to know where the deployer is contract owner/admin and can mint or manage tokens for liquidity and bridges.
Deployer address: 0x4A666F96fC8764181194447A7dFdb7d471b301C8
Quick answer: cW*, WETH9/WETH10, ETH, c*, AUSDT on other chains?
| Token type | Deployed by our deployer on other chains? | Where / notes |
|---|---|---|
| cW* (compliant wrapped, e.g. cWUSDT, cWUSDC) | Yes (optional) | Use DeployCWTokens.s.sol and --deploy-cw; set CW_BRIDGE_ADDRESS. CompliantWrappedToken with MINTER/BURNER for bridge. |
| WETH9 / WETH10 | Yes | Cronos (25): documented addresses. BSC, Polygon, Gnosis, Avalanche, Base, Arbitrum, Optimism: only if DeployAll.s.sol was run with each chain’s RPC (addresses in .env). Mainnet (1): DeployAll skips WETH; uses .env. Wrap-only (no mint). |
| ETH | No | Native gas token; not a contract. |
| c* (compliant, e.g. cUSDT, cUSDC, cEURC) | Yes (optional) | Chain 138: DeployCompliantFiatTokens. Other chains: DeployCompliantFiatTokensForChain.s.sol and --deploy-c. |
| AUSDT | No | ALL Mainnet (651940) ecosystem token; deployed by Alltra, not by this repo’s deployer. |
Summary
| Chain | Chain ID | Tokens deployed by deployer | Script | Mint / control |
|---|---|---|---|---|
| Cronos | 25 | USDW, EURW, GBPW, AUDW, JPYW, CHFW, CADW (7 D-WIN W) + optionally WETH9, WETH10 | DeployISO4217WSystem.s.sol; DeployAll.s.sol | Mint via MintController (W tokens); WETH = wrap only |
| Ethereum Mainnet | 1 | WETH9, WETH10 only if deployed by this repo (else from .env) | DeployAll.s.sol (skips WETH on Mainnet by default) | Wrap only |
| BSC, Polygon, Gnosis, Avalanche, Base, Arbitrum, Optimism | 56, 137, 100, 43114, 8453, 42161, 10 | WETH9, WETH10 (if DeployAll was run with each chain’s RPC) | DeployAll.s.sol | Wrap only; addresses in .env per chain |
| ALL Mainnet (Alltra) | 651940 | None from this repo (AUSDT, USDC, WETH, WALL are ecosystem contracts) | — | — |
Chain 138 is not included here; see CHAIN138_TOKEN_ADDRESSES and TOKENS_AND_NETWORKS_MINTABLE_TO_DEPLOYER for tokens the deployer deployed on 138.
1. Cronos (Chain 25) — D-WIN W tokens + WETH9/WETH10
The deployer can deploy the full ISO-4217 W system and optionally WETH9/WETH10 on Cronos by running the scripts with Cronos RPC. Documentation states these are deployed on Cronos.
1.1 D-WIN W tokens (DeployISO4217WSystem.s.sol)
Deployed with:
forge script script/deploy/iso4217w/DeployISO4217WSystem.s.sol:DeployISO4217WSystem --rpc-url $CRONOS_RPC --broadcast --private-key $PRIVATE_KEY
| Symbol | Name | Contract address (Cronos) | Decimals | Admin / mint |
|---|---|---|---|---|
| USDW | USD W Token | 0x948690147D2e50ffe50C5d38C14125aD6a9FA036 |
2 | Mint via MintController (admin has MINTER_ROLE) |
| EURW | EUR W Token | 0x58a8D8F78F1B65c06dAd7542eC46b299629A60dd |
2 | Same |
| GBPW | GBP W Token | 0xFb4B6Cc81211F7d886950158294A44C312abCA29 |
2 | Same |
| AUDW | AUD W Token | 0xf9f5D0ACD71C76F9476F10B3F3d3E201F0883C68 |
2 | Same |
| JPYW | JPY W Token | 0xeE17bB0322383fecCA2784fbE2d4CD7d02b1905B |
2 | Same |
| CHFW | CHF W Token | 0xc9750828124D4c10e7a6f4B655cA8487bD3842EB |
2 | Same |
| CADW | CAD W Token | 0x328Cd365Bb35524297E68ED28c6fF2C9557d1363 |
2 | Same |
Minting: The deployer (admin) has MINTER_ROLE on MintController. Mint to the deployer by calling MintController.mint(tokenAddress, deployerAddress, amount, settlementId) after approving the token in the controller and satisfying the reserve oracle. See TOKENS_AND_NETWORKS_MINTABLE_TO_DEPLOYER § Cronos.
Source: DEPLOYED_COINS_TOKENS_AND_NETWORKS, TOKEN_CATEGORIES_CANONICAL, canonical-tokens.ts.
1.2 WETH9 / WETH10 on Cronos (DeployAll.s.sol)
If WETH9_CRONOS / WETH10_CRONOS were not set in .env, running DeployAll.s.sol with Cronos RPC deploys WETH and WETH10 contracts. Documented addresses on Cronos:
| Symbol | Address (Cronos) | Notes |
|---|---|---|
| WETH9 | 0x99B3511A2d315A497C8112C1fdd8D508d4B1E506 |
Wrap-only (deposit native CRO) |
| WETH10 | 0x3304b747E565a97ec8AC220b0B6A1f6ffDB837e6 |
Wrap-only |
These are not mintable to an address; users wrap native CRO to get WETH.
2. Ethereum Mainnet (Chain 1)
DeployAll.s.sol on Mainnet is configured to skip deploying WETH9/WETH10 and the CCIP bridges (they are taken from .env). The only contract it deploys is CCIPLogger (and that is a logger, not a token).
So in normal setup, no token contracts on Ethereum Mainnet are deployed by this deployer from this repo; WETH and others are canonical/mainnet contracts. If at some point WETH9/WETH10 were deployed by this deployer on Mainnet, their addresses would be in WETH9_MAINNET / WETH10_MAINNET in .env.
3. BSC, Polygon, Gnosis, Avalanche, Base, Arbitrum, Optimism (56, 137, 100, 43114, 8453, 42161, 10)
DeployAll.s.sol is chain-agnostic: when run with a given chain’s RPC (and chain id 56, 137, 100, etc.), it deploys:
- WETH9 (if not set in .env for that chain)
- WETH10 (if not set in .env for that chain)
- CCIPWETH9Bridge, CCIPWETH10Bridge
- CCIPLogger (placeholder)
So the tokens the deployer may have deployed on these chains are WETH9 and WETH10 only, and only if the script was run without pre-set addresses. Deployed addresses would be stored in .env (e.g. WETH9_BSC, WETH10_BSC, WETH9_POLYGON, …), not in the repo as a single canonical list.
Mint: WETH9/WETH10 are wrap-only (no arbitrary mint to deployer); users deposit native gas to get WETH.
To confirm on a specific chain: check smom-dbis-138/.env for WETH9_<CHAIN>, WETH10_<CHAIN> and verify on the chain’s explorer that the deployer (0x4A66…) is the deployer/owner of those contracts.
4. ALL Mainnet (651940)
Tokens on ALL Mainnet (AUSDT, USDC, WETH, WALL, etc.) are ecosystem/Alltra contracts, not deployed by this repo’s deployer. The deployer did not deploy token contracts on 651940 from this codebase.
5. Script reference (deployer-deployed tokens on other chains)
| Script | Chains | Tokens deployed |
|---|---|---|
scripts/deployment/deploy-tokens-and-weth-all-chains-skip-canonical.sh |
1, 25, 56, 137, 100, 43114, 8453, 42161, 10, 651940 | DeployAll (WETH9/WETH10) when not set; Cronos ISO-4217 W when USDW missing; --deploy-c runs cUSDT/cUSDC per chain (skip 138, 1); --deploy-cw runs cWUSDT/cWUSDC per chain; 651940 env validation only. Options: --dry-run, --chain 25 56, --no-iso4217, --iso4217-only, --deploy-c, --deploy-cw. |
script/deploy/DeployCompliantFiatTokensForChain.s.sol |
Any (e.g. 56, 137, 100) | cUSDT, cUSDC; optional cEURC, cEURT, … via env |
script/deploy/DeployCWTokens.s.sol |
Any | cWUSDT, cWUSDC (CompliantWrappedToken); requires CW_BRIDGE_ADDRESS |
script/deploy/iso4217w/DeployISO4217WSystem.s.sol |
Any (typically Cronos 25) | USDW, EURW, GBPW, AUDW, JPYW, CHFW, CADW + MintController, TokenRegistry, etc. |
script/DeployAll.s.sol |
25, 56, 137, 100, 43114, 8453, 42161, 10 | WETH9, WETH10 (if not in .env) |
script/DeployAll.s.sol |
1 (Mainnet) | None (uses .env WETH9/WETH10); only CCIPLogger |
6. “Out of scope” → within scope (implemented)
The following items have been brought within scope and are implemented.
6.1 c* (compliant tokens: cUSDT, cUSDC, cEURC, …) on other chains — Implemented
- Script:
smom-dbis-138/script/deploy/DeployCompliantFiatTokensForChain.s.sol
Deploys cUSDT, cUSDC (default), and optionally cEURC, cEURT, cGBPC, … via env flags (DEPLOY_CEURC=1, etc.). Uses regularnewdeployment (no CREATE2 required). Chain-agnostic: run with any RPC and--chain-id. - Env:
CUSDT_<CHAIN>,CUSDC_<CHAIN>(e.g.CUSDT_BSC,CUSDC_POLYGON). Optional:OWNER,ADMIN,DEPLOY_CEURC,DEPLOY_CEURT, etc. - All-chains script:
deploy-tokens-and-weth-all-chains-skip-canonical.sh --deploy-c
For each chain (except 138 and 1), ifCUSDT_<CHAIN>/CUSDC_<CHAIN>are unset, runsDeployCompliantFiatTokensForChainand prompts to set addresses in .env.
6.2 cW* (compliant wrapped: cWUSDT, cWUSDC) on public chains — Implemented
- Contract:
smom-dbis-138/contracts/tokens/CompliantWrappedToken.sol
ERC-20 withMINTER_ROLEandBURNER_ROLE; only minter can mint, only burner can burn (e.g. bridge). - Script:
smom-dbis-138/script/deploy/DeployCWTokens.s.sol
Deploys cWUSDT and cWUSDC, grantsMINTER_ROLEandBURNER_ROLEtoCW_BRIDGE_ADDRESS. - Env:
CW_BRIDGE_ADDRESS(required for deploy) or per-chainCW_BRIDGE_<CHAIN>; after deploy setCWUSDT_<CHAIN>,CWUSDC_<CHAIN>. - All-chains script:
deploy-tokens-and-weth-all-chains-skip-canonical.sh --deploy-cw
For each chain, ifCWUSDT_<CHAIN>is unset and bridge address is set, runsDeployCWTokensand prompts to set addresses in .env.
6.3 AUSDT and ALL Mainnet (651940) — Implemented (env validation only)
- All-chains script: Chain 651940 is in the chain list. The script does not deploy tokens on 651940; it only runs env validation: if
CHAIN_651940_RPCis set, it checks/reminds to setAUSDT_ADDRESS_651940(ecosystem token; not deployed by this repo). - Env:
CHAIN_651940_RPC(orALL_MAINNET_RPC),AUSDT_ADDRESS_651940.
7. References
| Document | Purpose |
|---|---|
| TOKENS_AND_NETWORKS_MINTABLE_TO_DEPLOYER | How to mint to deployer (138 owner mint; Cronos MintController; acquire elsewhere) |
| TOKEN_CONTRACT_DEPLOYMENTS_REMAINING | Remaining token deployments (cW* §3, etc.) |
| DEPLOYED_COINS_TOKENS_AND_NETWORKS | Networks and token addresses by chain |
| TOKEN_CATEGORIES_CANONICAL | Token categories (D-WIN W, cW*, etc.) |
| DEPLOYER_WALLET_FUNDING_PLAN_PMM_POOLS | Deployer address and funding plan |
| smom-dbis-138/docs/deployment/DEPLOYED_CONTRACTS_OVERVIEW.md | Contract deployment status (incl. ISO4217W Cronos) |