From b87b6f880c3f60eeb8b3975df05135a6ce561602 Mon Sep 17 00:00:00 2001 From: Ameesha Agrawal Date: Thu, 27 Mar 2025 16:41:18 +0530 Subject: [PATCH 1/5] fix: build --- contracts/interfaces/IWatcherPrecompileConfig.sol | 2 +- contracts/protocol/payload-delivery/FeesManager.sol | 1 - .../protocol/watcherPrecompile/WatcherPrecompileConfig.sol | 4 +++- .../protocol/watcherPrecompile/WatcherPrecompileLimits.sol | 3 ++- test/SetupTest.t.sol | 1 - 5 files changed, 6 insertions(+), 5 deletions(-) diff --git a/contracts/interfaces/IWatcherPrecompileConfig.sol b/contracts/interfaces/IWatcherPrecompileConfig.sol index 7b3fb930..d42c7294 100644 --- a/contracts/interfaces/IWatcherPrecompileConfig.sol +++ b/contracts/interfaces/IWatcherPrecompileConfig.sol @@ -1,7 +1,7 @@ // SPDX-License-Identifier: Unlicense pragma solidity ^0.8.21; -import {DigestParams, AppGatewayConfig, ResolvedPromises, PayloadParams, QueuePayloadParams, PayloadSubmitParams} from "../protocol/utils/common/Structs.sol"; +import {AppGatewayConfig, PlugConfig} from "../protocol/utils/common/Structs.sol"; /// @title IWatcherPrecompileConfig /// @notice Interface for the Watcher Precompile system that handles payload verification and execution diff --git a/contracts/protocol/payload-delivery/FeesManager.sol b/contracts/protocol/payload-delivery/FeesManager.sol index fddea1ef..760ae159 100644 --- a/contracts/protocol/payload-delivery/FeesManager.sol +++ b/contracts/protocol/payload-delivery/FeesManager.sol @@ -269,7 +269,6 @@ contract FeesManager is FeesManagerStorage, Initializable, Ownable, AddressResol } function unblockFees(uint40 requestCount_) external { - RequestParams memory requestParams = watcherPrecompile__().getRequestParams(requestCount_); RequestMetadata memory requestMetadata = deliveryHelper__().getRequestMetadata( requestCount_ ); diff --git a/contracts/protocol/watcherPrecompile/WatcherPrecompileConfig.sol b/contracts/protocol/watcherPrecompile/WatcherPrecompileConfig.sol index 197fb016..881b3706 100644 --- a/contracts/protocol/watcherPrecompile/WatcherPrecompileConfig.sol +++ b/contracts/protocol/watcherPrecompile/WatcherPrecompileConfig.sol @@ -4,7 +4,7 @@ pragma solidity ^0.8.21; import "./WatcherPrecompileLimits.sol"; import {ECDSA} from "solady/utils/ECDSA.sol"; import "solady/utils/Initializable.sol"; -import {IWatcherPrecompileConfig} from "../../interfaces/IWatcherPrecompileConfig.sol"; +import "../../interfaces/IWatcherPrecompileConfig.sol"; /// @title WatcherPrecompileConfig /// @notice Configuration contract for the Watcher Precompile system @@ -79,6 +79,8 @@ contract WatcherPrecompileConfig is error InvalidGateway(); error InvalidSwitchboard(); + error NonceUsed(); + error InvalidWatcherSignature(); /// @notice Initial initialization (version 1) function initialize( diff --git a/contracts/protocol/watcherPrecompile/WatcherPrecompileLimits.sol b/contracts/protocol/watcherPrecompile/WatcherPrecompileLimits.sol index 10dcfc2f..42f1d2b4 100644 --- a/contracts/protocol/watcherPrecompile/WatcherPrecompileLimits.sol +++ b/contracts/protocol/watcherPrecompile/WatcherPrecompileLimits.sol @@ -5,8 +5,9 @@ import {AccessControl} from "../utils/AccessControl.sol"; import {Gauge} from "../utils/Gauge.sol"; import {AddressResolverUtil} from "../utils/AddressResolverUtil.sol"; import {WATCHER_ROLE} from "../utils/common/AccessRoles.sol"; -import {IWatcherPrecompileLimits} from "../../interfaces/IWatcherPrecompileLimits.sol"; +import "../../interfaces/IWatcherPrecompileLimits.sol"; import "solady/utils/Initializable.sol"; +import {SCHEDULE, QUERY, FINALIZE} from "../utils/common/Constants.sol"; contract WatcherPrecompileLimits is IWatcherPrecompileLimits, diff --git a/test/SetupTest.t.sol b/test/SetupTest.t.sol index b44c8e75..dca245cf 100644 --- a/test/SetupTest.t.sol +++ b/test/SetupTest.t.sol @@ -188,7 +188,6 @@ contract SetupTest is Test { watcherPrecompileLimits = WatcherPrecompileLimits(address(watcherPrecompileLimitsProxy)); vm.startPrank(watcherEOA); - watcherPrecompile.grantRole(WATCHER_ROLE, watcherEOA); addressResolver.setWatcherPrecompile(address(watcherPrecompile)); vm.stopPrank(); } From d658c7922217ed18568d4e0678955a3926bd6d1c Mon Sep 17 00:00:00 2001 From: Ameesha Agrawal Date: Thu, 27 Mar 2025 17:32:56 +0530 Subject: [PATCH 2/5] feat: dev deployments --- deployments/dev_addresses.json | 52 ++++---- deployments/dev_verification.json | 195 ++++-------------------------- hardhat-scripts/config/config.ts | 2 +- 3 files changed, 48 insertions(+), 201 deletions(-) diff --git a/deployments/dev_addresses.json b/deployments/dev_addresses.json index 23d16c48..211b55b4 100644 --- a/deployments/dev_addresses.json +++ b/deployments/dev_addresses.json @@ -1,36 +1,28 @@ { "421614": { - "ContractFactoryPlug": "0xCE9aF7Fb0Ee31276Ea64Cd7414d54eC57dA9b675", - "FastSwitchboard": "0x772088727d003f5A6Cf816E745ba6B8F8dEBbCe9", - "FeesPlug": "0xcc38176545fa5f6c2aB970F6d2D62b2D90bBA3Ba", - "Socket": "0xdE177c392Ad47377BA944215A944f530F79E1d87", - "SocketBatcher": "0x6BF08F11bDA6CD571Bc942F23ec38b8652FFfB2D", - "startBlock": 127798344 + "ContractFactoryPlug": "0x10BFD064258ac890957Ca65A85E7997a923Fb551", + "FastSwitchboard": "0xB0feE9136102B99A5722C693C8eb538C8c8d013B", + "FeesPlug": "0x0Ae8458F80a50a4ad706680605c88e050AaC8A89", + "Socket": "0xA99E6020d973C5956dBD727eDB45cDA5F7C4ca99", + "SocketBatcher": "0x3F95273234164329aec7DE66A037a80eb5a8F393", + "startBlock": 136387501 }, "7625382": { - "AddressResolver": "0x403eCBcC4d4bB8Fad09034bf0d197dDC626C832f", - "AddressResolverImpl": "0xbAeF84edEae864Ff22Bd9c9912AdfF84aD490d82", - "AuctionManager": "0x7dc45C49650e2914e3fA6E194e2080775c58256E", - "AuctionManagerImpl": "0xa07e38cAB46eAA358C3653C63219f1009e8F7789", - "DeliveryHelper": "0x0861f0888125e5A243C7af2c3E0F80C357c4c0C0", - "DeliveryHelperImpl": "0x9F10A0c71178dbD4d049f2C04fD0e34966134b9e", - "ERC1967Factory": "0x945e9ab4c08c225C10F178a0bd600BcC2bA7Cc78", - "FeesManager": "0x777fAAf1c30Ce8E68262b1cbF0a752d4f1bA652C", - "FeesManagerImpl": "0xB423eE3bffc3604F96B59cF419C48AE05b8E9d0b", - "startBlock": 73062, - "WatcherPrecompile": "0xb84A0a3780d2766b0B610cef851D9CbB1dB9e9EC", - "WatcherPrecompileConfig": "0x6D52e71E235be8354e3ce1eC5d3E10DD2B2ad441", - "WatcherPrecompileConfigImpl": "0x33fCf171878FBcfc7d4E09354032Bbce4D30c75F", - "WatcherPrecompileImpl": "0x7FD88f010b2EDe0BC60AB4eD7475Fe89D60D7483", - "WatcherPrecompileLimits": "0x2cC4D88Ac8C795212C754bA481137dD916bE7850", - "WatcherPrecompileLimitsImpl": "0xd37c334d02688ae1d552142353136a99bfA6cc0D" - }, - "11155420": { - "ContractFactoryPlug": "0x289A0413420f812a7b05F931FB0726168121ae5a", - "FastSwitchboard": "0x59D9c8C5515cF9C8A9c83458E3D78C2a246E3e7C", - "FeesPlug": "0x285d1b2e93c1c74E141dC37f759B8aFAcD479b2b", - "Socket": "0xa347A8475d4d218b22e8b0cc90FF76B3e6c8043c", - "SocketBatcher": "0x4a7Ccf2845222172A8B7Fc6E132eDb64cCB4E4a4", - "startBlock": 24425961 + "AddressResolver": "0x491DE197D50aaa4F59090DBDa4b5Aa6C2E14A10D", + "AddressResolverImpl": "0x2736Fc0AA0fa5Ca595Ae5F27Ec807B912A5b1D0f", + "AuctionManager": "0x7187372e1fF5CB8E8B84Ee02F25033fc42B3D033", + "AuctionManagerImpl": "0xaE4624b006D7730f22De1F7df5b1C0b960262AE3", + "DeliveryHelper": "0x8b4a6cee33f18D757d7F3613476b135E3B889303", + "DeliveryHelperImpl": "0xE693bEc40e39223749AC351156E713b7256541B0", + "ERC1967Factory": "0x122beAFCfc2E99D825322a78EAFD8a11fa2d9E0b", + "FeesManager": "0x7c0922C2AfaBF9098F55710E8D8E3c8F81bCB8ee", + "FeesManagerImpl": "0xc2Ca571f4d4C2008Da4Bd750BaD3d50A5705ffF8", + "startBlock": 2491495, + "WatcherPrecompile": "0x6E4c1afEcc1AbFF69dF3bC6bFf81eF7A34a343d5", + "WatcherPrecompileConfig": "0x95f86089D4015e6874031B3583dE8795C3b217Fd", + "WatcherPrecompileConfigImpl": "0xE4a2eBcE3Bdcaa1861c01ddc6465b90311B749e4", + "WatcherPrecompileImpl": "0x4894D35BF607BB47099172d42133ffe411a1d4B8", + "WatcherPrecompileLimits": "0x34212a2Cf92D2863F35877Ed835B7e28b8287764", + "WatcherPrecompileLimitsImpl": "0xdfeA8cb793b84b3f046d2426259e0eC237Ec9bF3" } } diff --git a/deployments/dev_verification.json b/deployments/dev_verification.json index 0ff05fc2..560b7405 100644 --- a/deployments/dev_verification.json +++ b/deployments/dev_verification.json @@ -1,246 +1,101 @@ { - "84532": [ + "421614": [ [ - "0xA557EBE094F939ae6eE8F18c8F88D06182168786", + "0x10BFD064258ac890957Ca65A85E7997a923Fb551", "ContractFactoryPlug", "contracts/protocol/payload-delivery/ContractFactoryPlug.sol", [ - "0x6c40Fb39B03e32EC4D23e31DdE6D10283F2C7b4F", + "0xA99E6020d973C5956dBD727eDB45cDA5F7C4ca99", "0x3339Cf48f1F9cf31b6F8c2664d144c7444eBBB18" ] ], [ - "0xD78f99D62BeaF0918bB0601C68EB537b6703Ce63", + "0x0Ae8458F80a50a4ad706680605c88e050AaC8A89", "FeesPlug", "contracts/protocol/payload-delivery/FeesPlug.sol", [ - "0x6c40Fb39B03e32EC4D23e31DdE6D10283F2C7b4F", + "0xA99E6020d973C5956dBD727eDB45cDA5F7C4ca99", "0x3339Cf48f1F9cf31b6F8c2664d144c7444eBBB18" ] ], [ - "0x06234dB2D69Ac158793a3ce59c3764422028E964", + "0xB0feE9136102B99A5722C693C8eb538C8c8d013B", "FastSwitchboard", "contracts/protocol/socket/switchboard/FastSwitchboard.sol", [ - 84532, - "0x6c40Fb39B03e32EC4D23e31DdE6D10283F2C7b4F", + 421614, + "0xA99E6020d973C5956dBD727eDB45cDA5F7C4ca99", "0x3339Cf48f1F9cf31b6F8c2664d144c7444eBBB18" ] ], [ - "0xA944BBe5D4F67a242C9e92d539fF2d55616283a7", + "0x3F95273234164329aec7DE66A037a80eb5a8F393", "SocketBatcher", "contracts/protocol/socket/SocketBatcher.sol", [ "0x3339Cf48f1F9cf31b6F8c2664d144c7444eBBB18", - "0x6c40Fb39B03e32EC4D23e31DdE6D10283F2C7b4F" + "0xA99E6020d973C5956dBD727eDB45cDA5F7C4ca99" ] ], [ - "0x6c40Fb39B03e32EC4D23e31DdE6D10283F2C7b4F", + "0xA99E6020d973C5956dBD727eDB45cDA5F7C4ca99", "Socket", "contracts/protocol/socket/Socket.sol", - [84532, "0x3339Cf48f1F9cf31b6F8c2664d144c7444eBBB18", "EVMX"] - ] - ], - "421614": [ - [ - "0x29E632aE79107A82C637016CA21030d922De5375", - "FastSwitchboard", - "contracts/protocol/socket/switchboard/FastSwitchboard.sol", [ 421614, - "0xa0E1738a9Fc0698789866e09d7A335d30128C5C5", - "0x3339Cf48f1F9cf31b6F8c2664d144c7444eBBB18" + "0x3339Cf48f1F9cf31b6F8c2664d144c7444eBBB18", + "EVMX" ] ] ], "7625382": [ [ - "0x7FD88f010b2EDe0BC60AB4eD7475Fe89D60D7483", - "WatcherPrecompile", - "contracts/protocol/watcherPrecompile/WatcherPrecompile.sol", - [] - ], - [ - "0x33fCf171878FBcfc7d4E09354032Bbce4D30c75F", - "WatcherPrecompileConfig", - "contracts/protocol/watcherPrecompile/WatcherPrecompileConfig.sol", - [] - ], - [ - "0xd37c334d02688ae1d552142353136a99bfA6cc0D", - "WatcherPrecompileLimits", - "contracts/protocol/watcherPrecompile/WatcherPrecompileLimits.sol", - [] - ], - [ - "0xa07e38cAB46eAA358C3653C63219f1009e8F7789", + "0xaE4624b006D7730f22De1F7df5b1C0b960262AE3", "AuctionManager", "contracts/protocol/payload-delivery/AuctionManager.sol", [] ], [ - "0x9F10A0c71178dbD4d049f2C04fD0e34966134b9e", + "0xE693bEc40e39223749AC351156E713b7256541B0", "DeliveryHelper", "contracts/protocol/payload-delivery/app-gateway/DeliveryHelper.sol", [] ], [ - "0xB423eE3bffc3604F96B59cF419C48AE05b8E9d0b", + "0xc2Ca571f4d4C2008Da4Bd750BaD3d50A5705ffF8", "FeesManager", "contracts/protocol/payload-delivery/FeesManager.sol", [] ], [ - "0x71956F006Ec5434581D3Fd5E7224BB3bae231907", - "WatcherPrecompile", - "contracts/protocol/watcherPrecompile/WatcherPrecompile.sol", - [] - ], - [ - "0xbAeF84edEae864Ff22Bd9c9912AdfF84aD490d82", - "AddressResolver", - "contracts/protocol/AddressResolver.sol", - [] - ], - [ - "0x945e9ab4c08c225C10F178a0bd600BcC2bA7Cc78", - "ERC1967Factory", - "lib/solady/src/utils/ERC1967Factory.sol", - [] - ], - [ - "0x09B503e744DCB2cA2827ce5AF08Fd49Ba06D17e4", - "WatcherPrecompile", - "contracts/protocol/watcherPrecompile/WatcherPrecompile.sol", - [] - ], - [ - "0x6c73961Bfaa2c9c1d0D7F4C213aa85af15b7CB54", - "WatcherPrecompile", - "contracts/protocol/watcherPrecompile/WatcherPrecompile.sol", - [] - ], - [ - "0xd151bD217704F72f717C2111207e6Bb33B609f61", - "WatcherPrecompile", - "contracts/protocol/watcherPrecompile/WatcherPrecompile.sol", - [] - ], - [ - "0x8dcEE196AFECe27545687426914d2830ff2dbc35", - "FeesManager", - "contracts/protocol/payload-delivery/app-gateway/FeesManager.sol", - [] - ], - [ - "0xb1F4CbFCE786aA8B553796Fb06c04Dd461967A16", - "WatcherPrecompile", - "contracts/protocol/watcherPrecompile/WatcherPrecompile.sol", - [] - ], - [ - "0x23EF7Af3bC1009EA6f95c3389921d5cB19950182", - "AuctionManager", - "contracts/protocol/payload-delivery/app-gateway/AuctionManager.sol", - [] - ], - [ - "0x4CCF8F511A364827E5e6749b196BB26Ea00bF512", - "DeliveryHelper", - "contracts/protocol/payload-delivery/app-gateway/DeliveryHelper.sol", - [] - ], - [ - "0x39f9b492695375F703450c5653c9D80CFa38e6eD", - "FeesManager", - "contracts/protocol/payload-delivery/app-gateway/FeesManager.sol", - [] - ], - [ - "0x234cA13f5dC4a2467c81E515F57238BF9f53156E", + "0x4894D35BF607BB47099172d42133ffe411a1d4B8", "WatcherPrecompile", "contracts/protocol/watcherPrecompile/WatcherPrecompile.sol", [] ], [ - "0xbBfb525ADc6eC38Ef0D4b807d327c2Dd1C286de1", - "AddressResolver", - "contracts/protocol/AddressResolver.sol", - [] - ], - [ - "0x208dC31cd6042a09bbFDdB31614A337a51b870ba", - "ERC1967Factory", - "lib/solady/src/utils/ERC1967Factory.sol", - [] - ], - [ - "0x4C68058509d754Cc0dE474eBC20aE94e4787E704", - "AuctionManager", - "contracts/protocol/payload-delivery/app-gateway/AuctionManager.sol", - [] - ], - [ - "0x3c9f5172feb0dDfC06176cE67B566EFbb01CCe98", - "DeliveryHelper", - "contracts/protocol/payload-delivery/app-gateway/DeliveryHelper.sol", - [] - ], - [ - "0xF4D3BDe438416938217d4624c82AEbEb46CeD371", - "FeesManager", - "contracts/protocol/payload-delivery/app-gateway/FeesManager.sol", + "0xE4a2eBcE3Bdcaa1861c01ddc6465b90311B749e4", + "WatcherPrecompileConfig", + "contracts/protocol/watcherPrecompile/WatcherPrecompileConfig.sol", [] ], [ - "0x8F18fC10a8b40b548C6F04Fb252481c783A9ace0", - "WatcherPrecompile", - "contracts/protocol/watcherPrecompile/WatcherPrecompile.sol", + "0xdfeA8cb793b84b3f046d2426259e0eC237Ec9bF3", + "WatcherPrecompileLimits", + "contracts/protocol/watcherPrecompile/WatcherPrecompileLimits.sol", [] ], [ - "0x8662FC08dEC7c61Dd3432fAF45a5bC024BB60B00", + "0x2736Fc0AA0fa5Ca595Ae5F27Ec807B912A5b1D0f", "AddressResolver", "contracts/protocol/AddressResolver.sol", [] ], [ - "0x234cA13f5dC4a2467c81E515F57238BF9f53156E", + "0x122beAFCfc2E99D825322a78EAFD8a11fa2d9E0b", "ERC1967Factory", "lib/solady/src/utils/ERC1967Factory.sol", [] ] - ], - "11155111": [], - "11155420": [ - [ - "0x245C0DCF8eF6e52b4d03c96b563C83a5f78A1E14", - "FastSwitchboard", - "contracts/protocol/socket/switchboard/FastSwitchboard.sol", - [ - 11155420, - "0x79Ac996De9333956f4980397ED5Bd91f77f10b01", - "0x3339Cf48f1F9cf31b6F8c2664d144c7444eBBB18" - ] - ], - [ - "0xBf9Ec2b0441eeEA9bEb89C6638921c37c15A13E4", - "FastSwitchboard", - "contracts/protocol/socket/switchboard/FastSwitchboard.sol", - [ - 11155420, - "0x79Ac996De9333956f4980397ED5Bd91f77f10b01", - "0x3339Cf48f1F9cf31b6F8c2664d144c7444eBBB18" - ] - ], - [ - "0x79Ac996De9333956f4980397ED5Bd91f77f10b01", - "Socket", - "contracts/protocol/socket/Socket.sol", - [11155420, "0x3339Cf48f1F9cf31b6F8c2664d144c7444eBBB18", "EVMX"] - ] ] } diff --git a/hardhat-scripts/config/config.ts b/hardhat-scripts/config/config.ts index 4f1a9a64..79205d2d 100644 --- a/hardhat-scripts/config/config.ts +++ b/hardhat-scripts/config/config.ts @@ -37,7 +37,7 @@ export const EVM_CHAIN_ID_MAP: Record = { }; export const auctionEndDelaySeconds = 0; export const watcher = "0xb62505feacC486e809392c65614Ce4d7b051923b"; -export const transmitter = "todo"; +export const transmitter = "0x138e9840861C983DC0BB9b3e941FB7C0e9Ade320"; export const MAX_FEES = ethers.utils.parseEther("0.001"); export const EVMX_CHAIN_ID = EVM_CHAIN_ID_MAP[mode]; export const DEFAULT_MAX_LIMIT = 100; From 991096498e2671261089815d45d2a6d9de70b799 Mon Sep 17 00:00:00 2001 From: Ameesha Agrawal Date: Thu, 27 Mar 2025 20:44:40 +0530 Subject: [PATCH 3/5] doc: add script commands --- script/counter/DeployEVMxCounterApp.s.sol | 1 + script/counter/DeployOnchainCounters.s.sol | 1 + script/helpers/PayFeesInArbitrumETH.s.sol | 1 + test/apps/app-gateways/counter/CounterAppGateway.sol | 4 ++-- 4 files changed, 5 insertions(+), 2 deletions(-) diff --git a/script/counter/DeployEVMxCounterApp.s.sol b/script/counter/DeployEVMxCounterApp.s.sol index 851cd39c..b3a0fba1 100644 --- a/script/counter/DeployEVMxCounterApp.s.sol +++ b/script/counter/DeployEVMxCounterApp.s.sol @@ -7,6 +7,7 @@ import {CounterAppGateway} from "../../test/apps/app-gateways/counter/CounterApp import {Fees} from "../../contracts/protocol/utils/common/Structs.sol"; import {ETH_ADDRESS} from "../../contracts/protocol/utils/common/Constants.sol"; +// source .env && forge script script/counter/deployEVMxCounterApp.s.sol --broadcast --skip-simulation --legacy --gas-price 0 contract CounterDeploy is Script { function run() external { address addressResolver = vm.envAddress("ADDRESS_RESOLVER"); diff --git a/script/counter/DeployOnchainCounters.s.sol b/script/counter/DeployOnchainCounters.s.sol index 65b00d4c..d786e76b 100644 --- a/script/counter/DeployOnchainCounters.s.sol +++ b/script/counter/DeployOnchainCounters.s.sol @@ -6,6 +6,7 @@ import {console} from "forge-std/console.sol"; import {ETH_ADDRESS} from "../../contracts/protocol/utils/common/Constants.sol"; import {CounterAppGateway} from "../../test/apps/app-gateways/counter/CounterAppGateway.sol"; +// source .env && forge script script/counter/DeployCounterOnchain.s.sol --broadcast --skip-simulation --legacy --gas-price 0 contract CounterDeployOnchain is Script { function run() external { string memory rpc = vm.envString("EVMX_RPC"); diff --git a/script/helpers/PayFeesInArbitrumETH.s.sol b/script/helpers/PayFeesInArbitrumETH.s.sol index 9b3ef165..ebe4f0e2 100644 --- a/script/helpers/PayFeesInArbitrumETH.s.sol +++ b/script/helpers/PayFeesInArbitrumETH.s.sol @@ -7,6 +7,7 @@ import {FeesPlug} from "../../contracts/protocol/payload-delivery/FeesPlug.sol"; import {Fees} from "../../contracts/protocol/utils/common/Structs.sol"; import {ETH_ADDRESS} from "../../contracts/protocol/utils/common/Constants.sol"; +// source .env && forge script script/helpers/PayFeesInArbitrumETH.s.sol --broadcast --skip-simulation contract DepositFees is Script { function run() external { vm.createSelectFork(vm.envString("ARBITRUM_SEPOLIA_RPC")); diff --git a/test/apps/app-gateways/counter/CounterAppGateway.sol b/test/apps/app-gateways/counter/CounterAppGateway.sol index 3f6c9854..086eb98d 100644 --- a/test/apps/app-gateways/counter/CounterAppGateway.sol +++ b/test/apps/app-gateways/counter/CounterAppGateway.sol @@ -13,8 +13,8 @@ contract CounterAppGateway is AppGatewayBase, Ownable { uint256 public counterVal; - uint256 arbCounter; - uint256 optCounter; + uint256 public arbCounter; + uint256 public optCounter; event TimeoutResolved(uint256 creationTimestamp, uint256 executionTimestamp); constructor(address addressResolver_, Fees memory fees_) AppGatewayBase(addressResolver_) { From 8dd08ed6a4c7439c2c3a93b338929deb79d4ad01 Mon Sep 17 00:00:00 2001 From: Ameesha Agrawal Date: Thu, 27 Mar 2025 23:24:33 +0530 Subject: [PATCH 4/5] feat: stage deployments --- deployments/stage_addresses.json | 76 +++++++------- deployments/stage_verification.json | 150 ++++++++++++---------------- hardhat-scripts/config/config.ts | 6 +- hardhat-scripts/deploy/1.deploy.ts | 2 +- hardhat-scripts/verify/verify.ts | 3 - hardhat.config.ts | 4 +- 6 files changed, 110 insertions(+), 131 deletions(-) diff --git a/deployments/stage_addresses.json b/deployments/stage_addresses.json index 09b48a65..f79ff8d7 100644 --- a/deployments/stage_addresses.json +++ b/deployments/stage_addresses.json @@ -1,48 +1,52 @@ { "43": { - "AddressResolver": "0xf3046B22F98C25305E8040286fB1b33378BA10a1", - "AddressResolverImpl": "0x12103e799d8887034d4560A960C2410ceE751004", - "AuctionManager": "0x5d6d4DCb0F719F01441377F633F3EdD186e19360", - "AuctionManagerImpl": "0xF4D3BDe438416938217d4624c82AEbEb46CeD371", - "DeliveryHelper": "0x39bC71cC9AfeeA50B0638532e45b0462A5e62111", - "DeliveryHelperImpl": "0x6dc109Ac040bC88F97B317bBb1a23236c5da1Cf6", - "ERC1967Factory": "0x47116C0E101C4c1b5f21f0A57A86c0aa3F14D994", - "FeesManager": "0x603723100172D30171B7Fd9870ba80F8baf6FaD4", - "FeesManagerImpl": "0x8662FC08dEC7c61Dd3432fAF45a5bC024BB60B00", - "startBlock": 157, - "WatcherPrecompile": "0x4b5BcB38014cBdf852Ae6429871E0b1Ac0a05Df8", - "WatcherPrecompileImpl": "0x3cf47Ad0F040dFF1208E649C8f8e23e6B5A08916" + "AddressResolver": "0x4846430BB142385e581C894AE92a4CF0722aEC21", + "AddressResolverImpl": "0x0F13F50f7dED1da9A4845366C2AB5120a1A17549", + "AuctionManager": "0x222574Dab9bb404Cb49a9445CD4d9555e8B52Cf5", + "AuctionManagerImpl": "0xbe1b573aa1B6ddD1A7a27aE0Aa6A38FA5d26fc67", + "DeliveryHelper": "0x436Ea32C3198500d113B006dBdc6fF1Bebd10769", + "DeliveryHelperImpl": "0x40f7fdE05bFa9F7c9B55a582B0783352856BCd03", + "ERC1967Factory": "0xF362fdCAbbd1f58AAd998d4c7Aef4020365092C8", + "FeesManager": "0x9745623Aaa299500F93d2B1B4Efb7b3EC5e60FFc", + "FeesManagerImpl": "0xd151bD217704F72f717C2111207e6Bb33B609f61", + "startBlock": 2368668, + "WatcherPrecompile": "0xEbdA834fAc9ca4B86AdD442083c1650f8497EdCb", + "WatcherPrecompileConfig": "0x4D38091442c78B4cb2bB22AFF61552bc72d4BF8e", + "WatcherPrecompileConfigImpl": "0xDf9d7b339Db52Fc58f2c72ffAd3a87201FB16b30", + "WatcherPrecompileImpl": "0x2916aC09Be088427E1a25968DA332F1F1eFa62d2", + "WatcherPrecompileLimits": "0x0CF9B01E7d1ef769D160F53289244f74197B4149", + "WatcherPrecompileLimitsImpl": "0x0bA474851A0703eC69964FB8264304AF357cd16D" }, "84532": { - "ContractFactoryPlug": "0x693bcDb114a57302Cd687b8Af1bD7583ee56748C", - "FastSwitchboard": "0xf0f51Ba62284A98AbB5D447487d5E6B536DB9B72", - "FeesPlug": "0xe3332D21b49d9347913cca2316FcC1b34fa16914", - "Socket": "0x6D54668ba18B425a1DbFC0BD720145c0aeE97f65", - "SocketBatcher": "0xC559BABEbcD92278E91a545308190E4761efc347", - "startBlock": 22449147 + "ContractFactoryPlug": "0x5AF9cA0Ce2Bc991FcE955f8c993fb0A5464B289F", + "FastSwitchboard": "0x0594497C89ECF66bC67204EE89770C4e799De3f9", + "FeesPlug": "0x0EBC6E395503eF135b7a45FfC7d42C2A2bc56D54", + "Socket": "0x92562Ae6526aB8B4fFF9Fa8ECAb6db67f0753693", + "SocketBatcher": "0xE4036898F51842E7DdFD36Dc8eAa7D4B207c5DEe", + "startBlock": 23664081 }, "421614": { - "ContractFactoryPlug": "0x78E3A5d21d0dB60bf0A585Cc2105043F919A404b", - "FastSwitchboard": "0x1448E643AbA68a0F1E4C5a3996bA2a355ce3EA8B", - "FeesPlug": "0x89324F93d852cB4fcDC4Ee202456be466ce096bb", - "Socket": "0xaFBD45A4D8378Bd2893F46d2f42e912F653B8777", - "SocketBatcher": "0x5966fc2e475Ddd0a098c3eCF1A3A1EF5036eCF7e", - "startBlock": 127843398 + "ContractFactoryPlug": "0x5F710Ac554DD22819F9411fa554265EEf827247d", + "FastSwitchboard": "0xBD0158415Eb99B5e1dBA1e4E534f916ba82380f9", + "FeesPlug": "0x9E263f6c7C199d9c147E30764A8cae1175184CB8", + "Socket": "0x22c1275677E600e2b049B69D929E2ccAAf4B880E", + "SocketBatcher": "0x92f85fe2CbB2D9ab577E4D167E629095497325b9", + "startBlock": 136470235 }, "11155111": { - "ContractFactoryPlug": "0xfaf8a3f8f4221398F3eC765836e8BF4A3d975962", - "FastSwitchboard": "0x0d7994B4aAc7cbdFAFEAED0B9B51E7de0586ec6f", - "FeesPlug": "0x7E33B305e12aD0E73B3aedBE67A53B7818732d7d", - "Socket": "0xe3332D21b49d9347913cca2316FcC1b34fa16914", - "SocketBatcher": "0x693bcDb114a57302Cd687b8Af1bD7583ee56748C", - "startBlock": 7797136 + "ContractFactoryPlug": "0xd36C1Dcb65CB09b7fCFABf153D7cdd42312C782E", + "FastSwitchboard": "0x36AC527afA283c95EA7dD11c8E93225d9F139028", + "FeesPlug": "0xc4008CCB59413cC2745d33549e5BE16A2d1DD061", + "Socket": "0x899AE7770eFb9714aF717d03c0d577e41d78ed48", + "SocketBatcher": "0xE90649F3BA488D91c7e8E3025F639F435Fa85243", + "startBlock": 23664095 }, "11155420": { - "ContractFactoryPlug": "0xaD2b8b14DaF98555A0BFC43e70E3AFD6C0743701", - "FastSwitchboard": "0x19618cB6C20b2512dFC5E207301Af0514B9533FD", - "FeesPlug": "0x09FfC007E730fbfEA6e09dC19396CddB7d329FC1", - "Socket": "0x89366513CA2eAc43B9E7a825D69BE8Fee495Ece5", - "SocketBatcher": "0xC8db322fD39D5c6F30Ca925C32a7986c4eA0c421", - "startBlock": 24431972 + "ContractFactoryPlug": "0x6320Ff773a4E01Cb8EB849EA906F17Cf6c48Ff9c", + "FastSwitchboard": "0xd94741a4654953817faEe228739a6d10C0683839", + "FeesPlug": "0x89634ecFea933aFaD5d3D6557b13cb8D466313d2", + "Socket": "0x2420B85D7e126d1948a4602f0c78a685655292Bd", + "SocketBatcher": "0xBD6770182fB47DD77924aDf3F200246Ab851f9c2", + "startBlock": 25646940 } } diff --git a/deployments/stage_verification.json b/deployments/stage_verification.json index 9287cf4a..af14cc40 100644 --- a/deployments/stage_verification.json +++ b/deployments/stage_verification.json @@ -1,85 +1,49 @@ { "43": [ [ - "0x6dc109Ac040bC88F97B317bBb1a23236c5da1Cf6", - "DeliveryHelper", - "contracts/protocol/payload-delivery/app-gateway/DeliveryHelper.sol", - [] - ], - [ - "0x12103e799d8887034d4560A960C2410ceE751004", - "AddressResolver", - "contracts/protocol/AddressResolver.sol", - [] - ], - [ - "0xF4D3BDe438416938217d4624c82AEbEb46CeD371", + "0xbe1b573aa1B6ddD1A7a27aE0Aa6A38FA5d26fc67", "AuctionManager", "contracts/protocol/payload-delivery/AuctionManager.sol", [] ], [ - "0x8F18fC10a8b40b548C6F04Fb252481c783A9ace0", + "0x40f7fdE05bFa9F7c9B55a582B0783352856BCd03", "DeliveryHelper", "contracts/protocol/payload-delivery/app-gateway/DeliveryHelper.sol", [] ], [ - "0x8662FC08dEC7c61Dd3432fAF45a5bC024BB60B00", + "0xd151bD217704F72f717C2111207e6Bb33B609f61", "FeesManager", "contracts/protocol/payload-delivery/FeesManager.sol", [] ], [ - "0x3cf47Ad0F040dFF1208E649C8f8e23e6B5A08916", + "0x2916aC09Be088427E1a25968DA332F1F1eFa62d2", "WatcherPrecompile", "contracts/protocol/watcherPrecompile/WatcherPrecompile.sol", [] ], [ - "0x208dC31cd6042a09bbFDdB31614A337a51b870ba", - "AddressResolver", - "contracts/protocol/AddressResolver.sol", - [] - ], - [ - "0x47116C0E101C4c1b5f21f0A57A86c0aa3F14D994", - "ERC1967Factory", - "lib/solady/src/utils/ERC1967Factory.sol", - [] - ], - [ - "0x12103e799d8887034d4560A960C2410ceE751004", - "AuctionManager", - "contracts/protocol/payload-delivery/AuctionManager.sol", - [] - ], - [ - "0xB08306a7D8733CB027dD679AdbfdF64cD52670eb", - "DeliveryHelper", - "contracts/protocol/payload-delivery/app-gateway/DeliveryHelper.sol", + "0xDf9d7b339Db52Fc58f2c72ffAd3a87201FB16b30", + "WatcherPrecompileConfig", + "contracts/protocol/watcherPrecompile/WatcherPrecompileConfig.sol", [] ], [ - "0xE3A4c7Fb21196425C635B2b12e90F010BCD12Fec", - "FeesManager", - "contracts/protocol/payload-delivery/FeesManager.sol", + "0x0bA474851A0703eC69964FB8264304AF357cd16D", + "WatcherPrecompileLimits", + "contracts/protocol/watcherPrecompile/WatcherPrecompileLimits.sol", [] ], [ - "0x279284d399cFB4cF91f2ebe461f43C6DF020148f", - "WatcherPrecompile", - "contracts/protocol/watcherPrecompile/WatcherPrecompile.sol", - [] - ], - [ - "0x82c52D85543029C618B1F0E2fA5f194D2c4DfA2A", + "0x0F13F50f7dED1da9A4845366C2AB5120a1A17549", "AddressResolver", "contracts/protocol/AddressResolver.sol", [] ], [ - "0xC3a6C7Ae16831b86C084CeC8192A14b6c3b53649", + "0xF362fdCAbbd1f58AAd998d4c7Aef4020365092C8", "ERC1967Factory", "lib/solady/src/utils/ERC1967Factory.sol", [] @@ -87,88 +51,102 @@ ], "84532": [ [ - "0x693bcDb114a57302Cd687b8Af1bD7583ee56748C", + "0x5AF9cA0Ce2Bc991FcE955f8c993fb0A5464B289F", "ContractFactoryPlug", "contracts/protocol/payload-delivery/ContractFactoryPlug.sol", [ - "0x6D54668ba18B425a1DbFC0BD720145c0aeE97f65", + "0x92562Ae6526aB8B4fFF9Fa8ECAb6db67f0753693", "0x3339Cf48f1F9cf31b6F8c2664d144c7444eBBB18" ] ], [ - "0xe3332D21b49d9347913cca2316FcC1b34fa16914", + "0x0EBC6E395503eF135b7a45FfC7d42C2A2bc56D54", "FeesPlug", "contracts/protocol/payload-delivery/FeesPlug.sol", [ - "0x6D54668ba18B425a1DbFC0BD720145c0aeE97f65", + "0x92562Ae6526aB8B4fFF9Fa8ECAb6db67f0753693", "0x3339Cf48f1F9cf31b6F8c2664d144c7444eBBB18" ] ], [ - "0xf0f51Ba62284A98AbB5D447487d5E6B536DB9B72", + "0x0594497C89ECF66bC67204EE89770C4e799De3f9", "FastSwitchboard", "contracts/protocol/socket/switchboard/FastSwitchboard.sol", [ 84532, - "0x6D54668ba18B425a1DbFC0BD720145c0aeE97f65", + "0x92562Ae6526aB8B4fFF9Fa8ECAb6db67f0753693", "0x3339Cf48f1F9cf31b6F8c2664d144c7444eBBB18" ] ], [ - "0xC559BABEbcD92278E91a545308190E4761efc347", + "0xE4036898F51842E7DdFD36Dc8eAa7D4B207c5DEe", "SocketBatcher", "contracts/protocol/socket/SocketBatcher.sol", [ "0x3339Cf48f1F9cf31b6F8c2664d144c7444eBBB18", - "0x6D54668ba18B425a1DbFC0BD720145c0aeE97f65" + "0x92562Ae6526aB8B4fFF9Fa8ECAb6db67f0753693" ] ], [ - "0x6D54668ba18B425a1DbFC0BD720145c0aeE97f65", + "0x92562Ae6526aB8B4fFF9Fa8ECAb6db67f0753693", "Socket", "contracts/protocol/socket/Socket.sol", - [84532, "0x3339Cf48f1F9cf31b6F8c2664d144c7444eBBB18", "EVMX"] + [ + 84532, + "0x3339Cf48f1F9cf31b6F8c2664d144c7444eBBB18", + "EVMX" + ] ] ], "421614": [], - "7625382": [ + "11155111": [ [ - "0xF4D3BDe438416938217d4624c82AEbEb46CeD371", - "AuctionManager", - "contracts/protocol/payload-delivery/AuctionManager.sol", - [] - ], - [ - "0x8F18fC10a8b40b548C6F04Fb252481c783A9ace0", - "DeliveryHelper", - "contracts/protocol/payload-delivery/app-gateway/DeliveryHelper.sol", - [] + "0xd36C1Dcb65CB09b7fCFABf153D7cdd42312C782E", + "ContractFactoryPlug", + "contracts/protocol/payload-delivery/ContractFactoryPlug.sol", + [ + "0x899AE7770eFb9714aF717d03c0d577e41d78ed48", + "0x3339Cf48f1F9cf31b6F8c2664d144c7444eBBB18" + ] ], [ - "0x8662FC08dEC7c61Dd3432fAF45a5bC024BB60B00", - "FeesManager", - "contracts/protocol/payload-delivery/FeesManager.sol", - [] + "0xc4008CCB59413cC2745d33549e5BE16A2d1DD061", + "FeesPlug", + "contracts/protocol/payload-delivery/FeesPlug.sol", + [ + "0x899AE7770eFb9714aF717d03c0d577e41d78ed48", + "0x3339Cf48f1F9cf31b6F8c2664d144c7444eBBB18" + ] ], [ - "0x3cf47Ad0F040dFF1208E649C8f8e23e6B5A08916", - "WatcherPrecompile", - "contracts/protocol/watcherPrecompile/WatcherPrecompile.sol", - [] + "0x36AC527afA283c95EA7dD11c8E93225d9F139028", + "FastSwitchboard", + "contracts/protocol/socket/switchboard/FastSwitchboard.sol", + [ + 11155111, + "0x899AE7770eFb9714aF717d03c0d577e41d78ed48", + "0x3339Cf48f1F9cf31b6F8c2664d144c7444eBBB18" + ] ], [ - "0x208dC31cd6042a09bbFDdB31614A337a51b870ba", - "AddressResolver", - "contracts/protocol/AddressResolver.sol", - [] + "0xE90649F3BA488D91c7e8E3025F639F435Fa85243", + "SocketBatcher", + "contracts/protocol/socket/SocketBatcher.sol", + [ + "0x3339Cf48f1F9cf31b6F8c2664d144c7444eBBB18", + "0x899AE7770eFb9714aF717d03c0d577e41d78ed48" + ] ], [ - "0x47116C0E101C4c1b5f21f0A57A86c0aa3F14D994", - "ERC1967Factory", - "lib/solady/src/utils/ERC1967Factory.sol", - [] + "0x899AE7770eFb9714aF717d03c0d577e41d78ed48", + "Socket", + "contracts/protocol/socket/Socket.sol", + [ + 11155111, + "0x3339Cf48f1F9cf31b6F8c2664d144c7444eBBB18", + "EVMX" + ] ] ], - "11155111": [], "11155420": [] } diff --git a/hardhat-scripts/config/config.ts b/hardhat-scripts/config/config.ts index 79205d2d..d7236e79 100644 --- a/hardhat-scripts/config/config.ts +++ b/hardhat-scripts/config/config.ts @@ -25,9 +25,9 @@ export const logConfig = () => { export const chains: Array = [ ChainSlug.ARBITRUM_SEPOLIA, - // ChainSlug.OPTIMISM_SEPOLIA, - // ChainSlug.BASE_SEPOLIA, - // ChainSlug.SEPOLIA, + ChainSlug.OPTIMISM_SEPOLIA, + ChainSlug.BASE_SEPOLIA, + ChainSlug.SEPOLIA, ]; export const EVM_CHAIN_ID_MAP: Record = { [DeploymentMode.LOCAL]: 7625382, diff --git a/hardhat-scripts/deploy/1.deploy.ts b/hardhat-scripts/deploy/1.deploy.ts index 6874ea20..bc3c6715 100644 --- a/hardhat-scripts/deploy/1.deploy.ts +++ b/hardhat-scripts/deploy/1.deploy.ts @@ -68,7 +68,7 @@ const deployEVMxContracts = async () => { let deployUtils: DeployParams = { addresses: {} as ChainAddressesObj, mode, - signer: getWatcherSigner(), + signer: await getWatcherSigner(), currentChainSlug: EVMX_CHAIN_ID as ChainSlug, }; const chain = EVMX_CHAIN_ID; diff --git a/hardhat-scripts/verify/verify.ts b/hardhat-scripts/verify/verify.ts index a47c37b6..086742b1 100644 --- a/hardhat-scripts/verify/verify.ts +++ b/hardhat-scripts/verify/verify.ts @@ -8,14 +8,11 @@ import hre from "hardhat"; import { EVMX_CHAIN_ID, mode } from "../config/config"; import { storeUnVerifiedParams, verify } from "../utils"; -import local_verification from "../../deployments/local_verification.json"; import dev_verification from "../../deployments/dev_verification.json"; import stage_verification from "../../deployments/stage_verification.json"; const getVerificationParams = (mode: DeploymentMode) => { switch (mode) { - case DeploymentMode.LOCAL: - return local_verification; case DeploymentMode.DEV: return dev_verification; case DeploymentMode.STAGE: diff --git a/hardhat.config.ts b/hardhat.config.ts index f6984025..ada0e153 100644 --- a/hardhat.config.ts +++ b/hardhat.config.ts @@ -128,8 +128,8 @@ const config: HardhatUserConfig = { network: "evmx", chainId: EVMX_CHAIN_ID, urls: { - apiURL: "", - browserURL: "", + apiURL: "https://evmx.cloud.blockscout.com/api", + browserURL: "https://evmx.cloud.blockscout.com/", }, }, ], From a0732dd33796b532dd413e40d150de9d4a38fcaa Mon Sep 17 00:00:00 2001 From: Rookmate <14072042+rookmate@users.noreply.github.com> Date: Fri, 28 Mar 2025 12:37:04 +0000 Subject: [PATCH 5/5] Update .env.sample --- .env.sample | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/.env.sample b/.env.sample index 036cb3ca..3d6427f5 100644 --- a/.env.sample +++ b/.env.sample @@ -1,16 +1,16 @@ # RPCs EVMX_RPC="https://rpc-evmx-devnet.socket.tech/" -SEPOLIA_RPC="https://rpc.ankr.com/eth_sepolia/" -ARBITRUM_SEPOLIA_RPC="https://rpc.ankr.com/arbitrum_sepolia" -OPTIMISM_SEPOLIA_RPC="https://rpc.ankr.com/optimism_sepolia" -BASE_SEPOLIA_RPC="https://rpc.ankr.com/base_sepolia" +SEPOLIA_RPC="https://ethereum-sepolia-rpc.publicnode.com" +ARBITRUM_SEPOLIA_RPC="https://sepolia-rollup.arbitrum.io/rpc" +OPTIMISM_SEPOLIA_RPC="https://sepolia.optimism.io" +BASE_SEPOLIA_RPC="https://sepolia.base.org" # EVMx key addresses # Find the most up to date addresses at: # https://github.com/SocketDotTech/socket-protocol/blob/master/deployments/stage_addresses.json -ADDRESS_RESOLVER="0xf3046B22F98C25305E8040286fB1b33378BA10a1" -FEES_MANAGER="0x603723100172D30171B7Fd9870ba80F8baf6FaD4" -ARBITRUM_FEES_PLUG="0x89324F93d852cB4fcDC4Ee202456be466ce096bb" +ADDRESS_RESOLVER="0x4846430BB142385e581C894AE92a4CF0722aEC21" +FEES_MANAGER="0x9745623Aaa299500F93d2B1B4Efb7b3EC5e60FFc" +ARBITRUM_FEES_PLUG="0x9E263f6c7C199d9c147E30764A8cae1175184CB8" # Add your deployer private key here # or remove it from this file if it is already an env var