[ARM] Deploy 038 WETH ARM on mainnet - #314
Conversation
Record the mainnet deployment of the WETH-quoted MultiAssetARM, its CapManager, and the four stETH, wstETH, eETH, and weETH adapter stacks. Preserve the legacy ETH_ARM resolver entries and execution history while marking 036 as superseded by 038. All proxies are owned by the 2/8 multisig and their deployed implementations have been confirmed on-chain.
naddison36
left a comment
There was a problem hiding this comment.
All 12 contract addresses match across:
- The PR description’s Contracts table
build/deployments-1.json- The PR description’s Contract diff commands
Verified:
- All six proxies point to the recorded implementations.
- Every proxy admin is the mainnet 2/8 multisig.
- All implementations and proxy bytecode match repository source.
- Mainnet-fork smoke tests pass: 2/2.
- Resolver JSON is valid and deployment timestamp is plausible.
- ARM ownership, operator, fees, caps, assets, adapters, pricing, and disabled initial liquidity match the deployment script.
- All deployed implementation constructor parameters match
038_DeployWETHARMScript.
✅ Success: Local contract Proxy matches deployment at 0x19D2977a1cc5A73bF5d827aCE07a3BE3e56BdfEa
✅ Success: Local contract CapManager matches deployment at 0x7488F5352207Ba9fA91FF09F6964c51Db2d662d1
✅ Success: Local contract StETHAssetAdapter matches deployment at 0x2b8b088B29349f4a9Af1719f0fb3115587E84c26
✅ Success: Local contract Proxy matches deployment at 0x7b0a90552D2dc01936301A45bFC813717Af7E8a9
✅ Success: Local contract WstETHAssetAdapter matches deployment at 0x4ab7E8c06d651F7462df728419D4293126764Ed4
✅ Success: Local contract Proxy matches deployment at 0xE28ca056A12134b6B872D1CbE04cd1A82fDfeA95
✅ Success: Local contract EtherFiAssetAdapter matches deployment at 0xb1104B6bD6f07D19E6D679e88AD4035CFD1F2A48
✅ Success: Local contract Proxy matches deployment at 0xFa205c9a110a3e82Bd8d223CccCB15C5b9E6434e
✅ Success: Local contract WeETHAssetAdapter matches deployment at 0x20c66066f30fa935B31878A439c53aC76d4C53cB
✅ Success: Local contract Proxy matches deployment at 0xD5F61bFd890169c28858039f6b6c9b517407C852
|
I've also verified the contracts with Tenderly by running And uploading the latest contracts to 4byte Signature Database |
Description
Record the mainnet deployment of the WETH ARM: a WETH-quoted
MultiAssetARMwith four Lido/EtherFi base assets, each wired through its own redemption adapter behind a newly deployed proxy:Ownership of the ARM, its
CapManager, and all four adapter proxies is handed directly to the mainnet 2/8 multisig (MULTISIG_2_OF_8). The operational role is the Talos KMS relayer (ARM_TALOS_RELAYER). No lending market is wired up; idle WETH remains in the ARM until a market is added in a follow-up deployment.This deployment supersedes the legacy ETH ARM deployed by
036_DeployMultiAssetARMScript. The legacy resolver entries and execution history remain recorded, while the old deployment script is explicitly skipped.The following PRs are included in this deployment:
ARM
Deployment
Script
script/deploy/mainnet/038_DeployWETHARMScript.s.solContracts
MultiAssetARM) proxyMultiAssetARM)CapManagerproxyCapManagerimplementationStETHAssetAdapterimplementationStETHAssetAdapterproxyWstETHAssetAdapterimplementationWstETHAssetAdapterproxyEtherFiAssetAdapterimplementationEtherFiAssetAdapterproxyWeETHAssetAdapterimplementationWeETHAssetAdapterproxyContract diff
Configuration
liquidityAsset0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2claimDelay10 minutesminSharesToRedeem1e7allocateThreshold1 ethername/symbolWETH ARM/ARM-WETH20000xBB077E716A5f1F1B63ed5244eBFf5214E50fec8cBUYBACK_OPERATORowner0x4FF1b9D9ba8558F5EAfCec096318eA0d8b541971operator0x739212d5bAfE6AAC8Be49a60B7d003bD41DBf38bARM_TALOS_RELAYERCapManager: total-assets cap
250 ether, account cap enabled, per-LP cap250 etherforTREASURY_LP(0x6E3fddab68Bf1EBaf9daCF9F7907c7Bc0951D1dc). Its owner and operator are both the 2/8 multisig.addBaseAssetparameters0x7b0a90552D2dc01936301A45bFC813717Af7E8a90.9997e361e360.99996e36true0xE28ca056A12134b6B872D1CbE04cd1A82fDfeA950.9997e361e360.99996e36false0xFa205c9a110a3e82Bd8d223CccCB15C5b9E6434e0.9997e361e360.99996e36true0xD5F61bFd890169c28858039f6b6c9b517407C8520.9997e361e360.99996e36falseAll four assets start with
buyAmount = 0andsellAmount = 0; trading remains disabled until the operator sets swap limits withsetPrices().Governance
There is no
GovernorSixproposal. Ownership of the ARM,CapManager, and all adapter proxies was transferred directly to the mainnet 2/8 multisig during deployment. The proxy implementations and admins have been confirmed on-chain, so038_DeployWETHARMScriptis recorded withproposalId: 1andtsGovernance: 1.Post-deployment follow-ups (operator)
buyAmountandsellAmountare0for every base asset. Talos must set the intended swap limits throughsetPrices()before swaps are enabled.Tests
forge buildforge test --match-contract Fork_WETHARM_Smoke_Test --fork-url "$MAINNET_URL" -vv— 2/2 tests passed.CapManager, and all four adapter proxies point to the implementations recorded above and are administered by the mainnet 2/8 multisig.