Files
proxmox/docs/11-references/TOKENS_DEPLOYER_DEPLOYED_ON_OTHER_CHAINS.md
defiQUG b3a8fe4496
Some checks failed
Deploy to Phoenix / deploy (push) Has been cancelled
chore: sync all changes to Gitea
- Config, docs, scripts, and backup manifests
- Submodule refs unchanged (m = modified content in submodules)

Made-with: Cursor
2026-03-02 11:37:34 -08:00

11 KiB
Raw Blame History

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 chains 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 repos 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 chains 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 chains 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 chains 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 repos 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 regular new deployment (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), if CUSDT_<CHAIN> / CUSDC_<CHAIN> are unset, runs DeployCompliantFiatTokensForChain and 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 with MINTER_ROLE and BURNER_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, grants MINTER_ROLE and BURNER_ROLE to CW_BRIDGE_ADDRESS.
  • Env: CW_BRIDGE_ADDRESS (required for deploy) or per-chain CW_BRIDGE_<CHAIN>; after deploy set CWUSDT_<CHAIN>, CWUSDC_<CHAIN>.
  • All-chains script: deploy-tokens-and-weth-all-chains-skip-canonical.sh --deploy-cw
    For each chain, if CWUSDT_<CHAIN> is unset and bridge address is set, runs DeployCWTokens and 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_RPC is set, it checks/reminds to set AUSDT_ADDRESS_651940 (ecosystem token; not deployed by this repo).
  • Env: CHAIN_651940_RPC (or ALL_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)