diff --git a/.env.example b/.env.example index 65cfed8e..e198ffe7 100644 --- a/.env.example +++ b/.env.example @@ -21,6 +21,7 @@ BSCSCAN_API_KEY=xxx AEVO_API_KEY=xxx LYRA_API_KEY=xxx XAI_API_KEY=xxx +BASESCAN_API_KEY=xxx # rpc ARBITRUM_RPC='https://arb1.arbitrum.io/rpc' @@ -49,6 +50,11 @@ LYRA_TESTNET_RPC='' LYRA_RPC='' XAI_TESTNET_RPC='' SX_NETWORK_TESTNET_RPC='' +MODE_TESTNET_RPC='' +VICTION_TESTNET_RPC='' +BASE_RPC='' +MODE_RPC='' +ANCIENT8_TESTNET_RPC='' # update these settings # DEPLOYMENT_MODE="dev | surge | prod" diff --git a/chainConfig.json b/chainConfig.json index a34c27d9..ba863e70 100644 --- a/chainConfig.json +++ b/chainConfig.json @@ -1,4 +1,19 @@ { + "8453": { + "roleOwners": { + "ownerAddress": "0x5fD7D0d6b91CC4787Bcb86ca47e0Bd4ea0346d34", + "executorAddress": "0x42639d8fd154b72472e149a7d5ac13fa280303d9", + "transmitterAddress": "0xfbc5ea2525bb827979e4c33b237cd47bcb8f81c5", + "watcherAddress": "0x75ddddf61b8180d3837b7d8b98c062ca442e0e14", + "feeUpdaterAddress": "0xfbc5ea2525bb827979e4c33b237cd47bcb8f81c5" + }, + "siblings": [1, 137, 42161, 10, 56, 34443], + "overrides": { + "type": 1, + "gasLimit": 3000000, + "gasPrice": 10000000 + } + }, "31337": { "siblings": [], "timeout": 7200, @@ -8,5 +23,34 @@ "gasLimit": 20000000, "gasPrice": 1000000000000 } + }, + "34443": { + "roleOwners": { + "ownerAddress": "0x5fD7D0d6b91CC4787Bcb86ca47e0Bd4ea0346d34", + "executorAddress": "0x42639d8fd154b72472e149a7d5ac13fa280303d9", + "transmitterAddress": "0xfbc5ea2525bb827979e4c33b237cd47bcb8f81c5", + "watcherAddress": "0x75ddddf61b8180d3837b7d8b98c062ca442e0e14", + "feeUpdaterAddress": "0xfbc5ea2525bb827979e4c33b237cd47bcb8f81c5" + }, + "overrides": { + "type": 1, + "gasLimit": 3000000, + "gasPrice": 10000000 + }, + "siblings": [1, 42161, 10, 8453] + }, + "2863311531": { + "roleOwners": { + "ownerAddress": "0x5fD7D0d6b91CC4787Bcb86ca47e0Bd4ea0346d34", + "executorAddress": "0x42639d8fd154b72472e149a7d5ac13fa280303d9", + "transmitterAddress": "0xfbc5ea2525bb827979e4c33b237cd47bcb8f81c5", + "watcherAddress": "0x75ddddf61b8180d3837b7d8b98c062ca442e0e14", + "feeUpdaterAddress": "0xfbc5ea2525bb827979e4c33b237cd47bcb8f81c5" + }, + "siblings": [421614, 11155420], + "overrides": { + "type": 1, + "gasPrice": 100000000 + } } } diff --git a/contracts/examples/Counter.sol b/contracts/examples/Counter.sol index 28b8db51..91fee4b6 100644 --- a/contracts/examples/Counter.sol +++ b/contracts/examples/Counter.sol @@ -3,14 +3,13 @@ pragma solidity 0.8.19; import "../interfaces/IPlug.sol"; import "../interfaces/ISocket.sol"; +import "../utils/Ownable.sol"; import "../libraries/RescueFundsLib.sol"; -contract Counter is IPlug { +contract Counter is IPlug, Ownable(msg.sender) { // immutables address public immutable socket; - address public owner; - // application state uint256 public counter; @@ -18,18 +17,11 @@ contract Counter is IPlug { bytes32 public constant OP_ADD = keccak256("OP_ADD"); bytes32 public constant OP_SUB = keccak256("OP_SUB"); - error OnlyOwner(); error OnlySocket(); error InvalidAmount(); constructor(address socket_) { socket = socket_; - owner = msg.sender; - } - - modifier onlyOwner() { - if (msg.sender != owner) revert OnlyOwner(); - _; } function localAddOperation(uint256 amount_) external { @@ -136,10 +128,6 @@ contract Counter is IPlug { ); } - function setupComplete() external { - owner = address(0); - } - /** * @notice Rescues funds from the contract if they are locked by mistake. * @param token_ The address of the token contract. diff --git a/deployments/prod_addresses.json b/deployments/prod_addresses.json index 69199dcb..61c448e9 100644 --- a/deployments/prod_addresses.json +++ b/deployments/prod_addresses.json @@ -84,6 +84,30 @@ "switchboard": "0xEaa15Fd42D68b8334a3BB1E9bF8cA85BaBE83790" } }, + "8453": { + "FAST": { + "capacitor": "0x1f06BAf9ff58Db17970803ce03463096654A3795", + "decapacitor": "0x5bb34262f7C9757c860f420B2a2C9a735b15C7ED", + "switchboard": "0xD5a83a40F262E2247e6566171f9ADc76b745F5cD" + }, + "OPTIMISTIC": { + "capacitor": "0xA5cd2abA033d3Ca3941A8Daf26591635C32c1119", + "decapacitor": "0xd64E6f92A0A8e92256D7f8154C3ADC0A38A7e750", + "switchboard": "0xEaa15Fd42D68b8334a3BB1E9bF8cA85BaBE83790" + } + }, + "34443": { + "FAST": { + "capacitor": "0xC100ECD1717E7bcD9332c9405d6eDd6dD599c871", + "decapacitor": "0x0A211DDdB4E9bAe283f4C12BF49b93e8555F1e91", + "switchboard": "0xD5a83a40F262E2247e6566171f9ADc76b745F5cD" + }, + "OPTIMISTIC": { + "capacitor": "0x1f9A70B21e84483Baa9b59D093D8B96B115b8DB2", + "decapacitor": "0x6e5Cac46cb0d45Eb6C1c41208703d77d54A02889", + "switchboard": "0xEaa15Fd42D68b8334a3BB1E9bF8cA85BaBE83790" + } + }, "42161": { "NATIVE_BRIDGE": { "switchboard": "0xdf5f7dfDFc26ee5F629949e330bEf56906319CAe", @@ -303,6 +327,30 @@ "switchboard": "0x09A6e77912a6bcFc3abfDfb841A85380Bb2A8B97" } }, + "8453": { + "FAST": { + "capacitor": "0x072d479fe4f49a717cFE5Ca7097c213902281948", + "decapacitor": "0xc11aed6A1870c1973F01dF4F83a55CE9E503769b", + "switchboard": "0x09A6e77912a6bcFc3abfDfb841A85380Bb2A8B97" + }, + "OPTIMISTIC": { + "capacitor": "0xc3E1f3D65703c3f6130d8e4112218BFf4e8B838F", + "decapacitor": "0x6eDC81d700Cb634CaD909147DCA822511B3ff77b", + "switchboard": "0xb113d72896d4874111AF00c9499b5a64e9f1e3f4" + } + }, + "34443": { + "FAST": { + "capacitor": "0x803118D6a13897813D7dEa2d7ceC2fa9f3dA0e2D", + "decapacitor": "0x7505D0bAA438DD2788D5E0C649982B0c9269310d", + "switchboard": "0x09A6e77912a6bcFc3abfDfb841A85380Bb2A8B97" + }, + "OPTIMISTIC": { + "capacitor": "0x4faD0f161B7dF84729D431B479e3bBfa5706e854", + "decapacitor": "0xE757E14FA7FB163feecC35296960201D7E030835", + "switchboard": "0xb113d72896d4874111AF00c9499b5a64e9f1e3f4" + } + }, "42161": { "OPTIMISTIC": { "capacitor": "0xa940c5DcAf09F56194ffb9FE03615C80eB2849e1", @@ -389,6 +437,13 @@ "switchboard": "0xCedce2e52aa6551bC407f640D8Bd9179b528347C" } }, + "8453": { + "FAST": { + "capacitor": "0x7C3b20C738cE4a86483720C1c1894819d59615dd", + "decapacitor": "0xc85C1cDc22946197AE56af65623F01667B5eFfA6", + "switchboard": "0xCedce2e52aa6551bC407f640D8Bd9179b528347C" + } + }, "42161": { "OPTIMISTIC": { "capacitor": "0xa4A99bC9f562D803316E8457C93d5f3c01206C7C", @@ -407,6 +462,33 @@ "FastSwitchboard": "0xCedce2e52aa6551bC407f640D8Bd9179b528347C", "SocketBatcher": "0x929625aCcE321770c747C38CC989B689EE823d90" }, + "89": { + "SignatureVerifier": "0x6D290609b3F5F02D52F28d97C75a443ED8564cBf", + "Hasher": "0x2b42AFFD4b7C14d9B7C2579229495c052672Ccd3", + "CapacitorFactory": "0x8537307810fC40F4073A12a38554D4Ff78EfFf41", + "Socket": "0x565810cbfa3Cf1390963E5aFa2fB953795686339", + "ExecutionManager": "0xc317144DE60E6bC9455363bB09852C00bd14CD61", + "TransmitManager": "0xbDf50eAe568ECef74796ed6022a0d453e8432410", + "FastSwitchboard": "0x8f9EaEe5c5df888aBA3c1Ab19689a0660d042c6d", + "OptimisticSwitchboard": "0x57D1Aeafb6a2b7Bd4954e47a556622161A8c0A65", + "SocketBatcher": "0xaa3d9fA3aB930aE635b001d00C612aa5b14d750e", + "startBlock": 47569716, + "Counter": "0xA7649aa944b7Dce781859C18913c2Dc8A97f03e4", + "integrations": { + "11155111": { + "FAST": { + "capacitor": "0xB1ecD6D2d1f52D5Abed57431508733d51BB4Cd6B", + "decapacitor": "0x67e8D09fE657332e312e0d649500c09E8A8c3A2C", + "switchboard": "0x8f9EaEe5c5df888aBA3c1Ab19689a0660d042c6d" + }, + "OPTIMISTIC": { + "capacitor": "0x40AAe25992B0a734bEE0AB70bdd55D856aB498a2", + "decapacitor": "0xD999FAf610e1a18837965554AFd5aDf80a841CaC", + "switchboard": "0x57D1Aeafb6a2b7Bd4954e47a556622161A8c0A65" + } + } + } + }, "137": { "SignatureVerifier": "0x2F04a8f11691Db9e0EE08BF44a7712aF8273720D", "Hasher": "0x8AFacb9b98d01cd8D1FD45ae1d9A8e4F12C7673e", @@ -480,6 +562,13 @@ "switchboard": "0x33918BBF9f5269d90b8c0AbF1Fd1134C827bA445" } }, + "8453": { + "FAST": { + "capacitor": "0x053366f64580d2b3DA9eaA676f5C532046aD42bC", + "decapacitor": "0x5779b8f901e6e0eF7De57ab7580B69A5B4e97f38", + "switchboard": "0x33918BBF9f5269d90b8c0AbF1Fd1134C827bA445" + } + }, "42161": { "OPTIMISTIC": { "capacitor": "0xa3300446565eACA4F2a72e5564df98B2a47b4Faa", @@ -886,6 +975,45 @@ "Counter": "0xfCa282147D5E9b14c208D09dbEbC7Eb5C3814dC5", "SocketBatcher": "0x1D6811553Aff8231aDd04A84F300b89E15D99EA4" }, + "919": { + "SignatureVerifier": "0x6D290609b3F5F02D52F28d97C75a443ED8564cBf", + "Hasher": "0x2b42AFFD4b7C14d9B7C2579229495c052672Ccd3", + "CapacitorFactory": "0x8537307810fC40F4073A12a38554D4Ff78EfFf41", + "Socket": "0x565810cbfa3Cf1390963E5aFa2fB953795686339", + "ExecutionManager": "0xc317144DE60E6bC9455363bB09852C00bd14CD61", + "TransmitManager": "0xbDf50eAe568ECef74796ed6022a0d453e8432410", + "FastSwitchboard": "0x8f9EaEe5c5df888aBA3c1Ab19689a0660d042c6d", + "OptimisticSwitchboard": "0x57D1Aeafb6a2b7Bd4954e47a556622161A8c0A65", + "SocketBatcher": "0xaa3d9fA3aB930aE635b001d00C612aa5b14d750e", + "startBlock": 7039006, + "Counter": "0xA7649aa944b7Dce781859C18913c2Dc8A97f03e4", + "integrations": { + "421614": { + "FAST": { + "capacitor": "0xB1ecD6D2d1f52D5Abed57431508733d51BB4Cd6B", + "decapacitor": "0x67e8D09fE657332e312e0d649500c09E8A8c3A2C", + "switchboard": "0x8f9EaEe5c5df888aBA3c1Ab19689a0660d042c6d" + }, + "OPTIMISTIC": { + "capacitor": "0x8590b1DDb6a4A06145bF008e8e708A81f9fb53e6", + "decapacitor": "0x8DFD1D3b6EAF93dDf11AeC821a060e1bc4974CDf", + "switchboard": "0x57D1Aeafb6a2b7Bd4954e47a556622161A8c0A65" + } + }, + "11155420": { + "FAST": { + "capacitor": "0x40AAe25992B0a734bEE0AB70bdd55D856aB498a2", + "decapacitor": "0xD999FAf610e1a18837965554AFd5aDf80a841CaC", + "switchboard": "0x8f9EaEe5c5df888aBA3c1Ab19689a0660d042c6d" + }, + "OPTIMISTIC": { + "capacitor": "0x8746E279A2Bb21e12e17d0121fb1Bbc57234c0b2", + "decapacitor": "0x37A00337dae8F2A02B4513ae0a5267EAaEB55621", + "switchboard": "0x57D1Aeafb6a2b7Bd4954e47a556622161A8c0A65" + } + } + } + }, "957": { "SignatureVerifier": "0x6D290609b3F5F02D52F28d97C75a443ED8564cBf", "Hasher": "0x2b42AFFD4b7C14d9B7C2579229495c052672Ccd3", @@ -1063,6 +1191,146 @@ "FastSwitchboard": "0x768A2A53e4318dA7714a0aA65a96D9A241603562", "SocketBatcher": "0xffC2D8f660a5CC41273f1Db714EaEcd19D28d147" }, + "8453": { + "SignatureVerifier": "0xA7f7e4fE8E4cdDCD9969Bd3fbcFF67000CD7DE47", + "Hasher": "0xAC313d7491910516E06FBfC2A0b5BB49bb072D91", + "CapacitorFactory": "0xDC23842d47b80D88A549777eB1F33C2F47f253D0", + "Socket": "0x12E6e58864cE4402cF2B4B8a8E9c75eAD7280156", + "ExecutionManager": "0x6086c6451217241D8e42e134733A542095E13c47", + "TransmitManager": "0xb8c32878c69F4cC4705D0Bd99bca082C4eEFd76D", + "FastSwitchboard": "0x957301825Dc21d4A92919C9E72dC9E6C6a29e7f8", + "OptimisticSwitchboard": "0x15A55294B7278260DdfFC659Fb39a401871EeE34", + "SocketBatcher": "0x17A89B7372866a0155bF14980973Ad4408A3145C", + "Counter": "0xBA585eC503d0D113ddb5B212363DBE6abb12A132", + "startBlock": 7837647, + "integrations": { + "1": { + "FAST": { + "capacitor": "0x769539bE1b533841acA8436078ada53d6E64035f", + "decapacitor": "0x413248783F1B66703a0248d455EE790436FAdcA9", + "switchboard": "0x957301825Dc21d4A92919C9E72dC9E6C6a29e7f8" + }, + "OPTIMISTIC": { + "capacitor": "0x34543E63E38EEc5C9818D9234d08A4EEFF18bD2D", + "decapacitor": "0x7aCF234A02676E59Df1A7A35069bbcab686D127C", + "switchboard": "0x15A55294B7278260DdfFC659Fb39a401871EeE34" + } + }, + "10": { + "FAST": { + "capacitor": "0xCcdc860cB233dB57Af21665dE1A46911d41dB717", + "decapacitor": "0x9570F603ab0424adCa0Cb56e79363DDf90054733", + "switchboard": "0x957301825Dc21d4A92919C9E72dC9E6C6a29e7f8" + }, + "OPTIMISTIC": { + "capacitor": "0x06c8f503684459B4f8b7F0875cfed44879Be1Bbc", + "decapacitor": "0xd3FB87591Cbf521907D554CdD09d6c51d30aBf44", + "switchboard": "0x15A55294B7278260DdfFC659Fb39a401871EeE34" + } + }, + "56": { + "FAST": { + "capacitor": "0x781770faf0F065d61e21013702a5E8Aa7c6B8538", + "decapacitor": "0x31Ee32e7AEB216CF7075263f649C42EEee921FF7", + "switchboard": "0x957301825Dc21d4A92919C9E72dC9E6C6a29e7f8" + } + }, + "137": { + "FAST": { + "capacitor": "0x8470258083De192083c4EcCea4BfE80455C7f6c5", + "decapacitor": "0xB270eCf507c618CCc72cC1b4F99e3970168aCE93", + "switchboard": "0x957301825Dc21d4A92919C9E72dC9E6C6a29e7f8" + } + }, + "34443": { + "FAST": { + "capacitor": "0x279824278c1C78662A4BF9fb25EeA954BBF74d97", + "decapacitor": "0x0603c547e428b2aA4BdBcfD540d205D8Db8B5dc9", + "switchboard": "0x957301825Dc21d4A92919C9E72dC9E6C6a29e7f8" + }, + "OPTIMISTIC": { + "capacitor": "0xd93BF81B8B54860E94e5b26E786F428c0f78A434", + "decapacitor": "0xfF94F698B1EC0966bCd5F90487Fbd5D9410B31e1", + "switchboard": "0x15A55294B7278260DdfFC659Fb39a401871EeE34" + } + }, + "42161": { + "FAST": { + "capacitor": "0x1a50D1e4f3bf1F9D1E2752B0D1cE0Cd2F99aDb3b", + "decapacitor": "0x5F030Ed56CA8742dB95d599caAc8dEbBE70B2a07", + "switchboard": "0x957301825Dc21d4A92919C9E72dC9E6C6a29e7f8" + }, + "OPTIMISTIC": { + "capacitor": "0x6e7dAd288966Afa716AfCa2356dc699b3bF621a1", + "decapacitor": "0x24B9be73D1fC7131C00B5f1eDa39722c62C49588", + "switchboard": "0x15A55294B7278260DdfFC659Fb39a401871EeE34" + } + } + } + }, + "34443": { + "SignatureVerifier": "0x2b42AFFD4b7C14d9B7C2579229495c052672Ccd3", + "Hasher": "0x8537307810fC40F4073A12a38554D4Ff78EfFf41", + "CapacitorFactory": "0x565810cbfa3Cf1390963E5aFa2fB953795686339", + "Socket": "0xc317144DE60E6bC9455363bB09852C00bd14CD61", + "ExecutionManager": "0xbDf50eAe568ECef74796ed6022a0d453e8432410", + "TransmitManager": "0x8f9EaEe5c5df888aBA3c1Ab19689a0660d042c6d", + "FastSwitchboard": "0x57D1Aeafb6a2b7Bd4954e47a556622161A8c0A65", + "OptimisticSwitchboard": "0xaa3d9fA3aB930aE635b001d00C612aa5b14d750e", + "SocketBatcher": "0xd286595d2e3D879596FAB51f83A702D10a6db27b", + "Counter": "0xA7649aa944b7Dce781859C18913c2Dc8A97f03e4", + "startBlock": 1149427, + "integrations": { + "1": { + "FAST": { + "capacitor": "0xB4Ca08934052A664Fd1D5c5d206a66a5684D95Cf", + "decapacitor": "0x5A7A6Ac35E886FfaBF773bA8B94313E6Fb1dDc86", + "switchboard": "0x57D1Aeafb6a2b7Bd4954e47a556622161A8c0A65" + }, + "OPTIMISTIC": { + "capacitor": "0x921B7f179ef04227E53324927F9AFb7155149db0", + "decapacitor": "0x529967A44995313fc468AD29c2C1c14DaebCBAE7", + "switchboard": "0xaa3d9fA3aB930aE635b001d00C612aa5b14d750e" + } + }, + "10": { + "FAST": { + "capacitor": "0xDAc077a030b43CF7771d954E46b8408A2526B99F", + "decapacitor": "0x77F88b197dEF6b531fB4d67B77D5F0BD19182f27", + "switchboard": "0x57D1Aeafb6a2b7Bd4954e47a556622161A8c0A65" + }, + "OPTIMISTIC": { + "capacitor": "0x43BBF5B1C8000f09a19a52A4abc126dd0dA69466", + "decapacitor": "0xf3b4CAA568Ac166a724b2d710EcE0f67efFedE57", + "switchboard": "0xaa3d9fA3aB930aE635b001d00C612aa5b14d750e" + } + }, + "8453": { + "FAST": { + "capacitor": "0xFFB1668F7978C67B385acB40AB9A9ada879a1271", + "decapacitor": "0xa6b874Ca1AcF2c453b614cCEB022cFE91E2f37bC", + "switchboard": "0x57D1Aeafb6a2b7Bd4954e47a556622161A8c0A65" + }, + "OPTIMISTIC": { + "capacitor": "0x81153EFD395E5fF30FE69637c63203793fEEF233", + "decapacitor": "0x4110331Fc94EdCD78e2f3193039E40316fC09702", + "switchboard": "0xaa3d9fA3aB930aE635b001d00C612aa5b14d750e" + } + }, + "42161": { + "FAST": { + "capacitor": "0x32588ee44eA7014e7E8C37954141cb56681179ca", + "decapacitor": "0x15a815152CF82a83FD6fe325409AEF8998C491A8", + "switchboard": "0x57D1Aeafb6a2b7Bd4954e47a556622161A8c0A65" + }, + "OPTIMISTIC": { + "capacitor": "0xb7e909Eb9fbcdb5Ed34b47f70eee381244B3c9b5", + "decapacitor": "0x1DFB66c58B460B74Ac2DC22c9D68BC3A95317eEB", + "switchboard": "0xaa3d9fA3aB930aE635b001d00C612aa5b14d750e" + } + } + } + }, "42161": { "SignatureVerifier": "0x9879a2b15722374243843DDdb79e5E6872aA74B8", "Hasher": "0xcDA819182c2BBE351644eD5D429280ab98004B4e", @@ -1147,6 +1415,30 @@ "decapacitor": "0x07f365BE2c80Be67bCb6fF71fA398603ddDD7F4E", "switchboard": "0xd5e829827F665c42326EAF68Da3360bd59b42f2f" } + }, + "8453": { + "FAST": { + "capacitor": "0x6b19c12C0d5A41449d69AB2EB059959414531D3E", + "decapacitor": "0x3D571b6afa1d3b8FDf7EE8238aFF55ddaF8D2b99", + "switchboard": "0xd5e829827F665c42326EAF68Da3360bd59b42f2f" + }, + "OPTIMISTIC": { + "capacitor": "0xF5F048a6362b593FF7071610275F3f5a15404461", + "decapacitor": "0x5474fc6D25639A0eA78C4347981e9229b67CC00F", + "switchboard": "0x1812ff6bd726934f18159164e2927B34949B16a8" + } + }, + "34443": { + "FAST": { + "capacitor": "0x79d9b5653e7672e937A05CF95a4730AA84D9A79b", + "decapacitor": "0x870b38C612Bf67eE7673ba2E537ADDe965B67cfc", + "switchboard": "0xd5e829827F665c42326EAF68Da3360bd59b42f2f" + }, + "OPTIMISTIC": { + "capacitor": "0x9394b3BC68Ea794E9511157F619082bB2af5EfB2", + "decapacitor": "0x39B61bc0F6b84E32B999dfF259D5354761AE549D", + "switchboard": "0x1812ff6bd726934f18159164e2927B34949B16a8" + } } }, "OptimisticSwitchboard": "0x1812ff6bd726934f18159164e2927B34949B16a8", @@ -1419,6 +1711,18 @@ "switchboard": "0xEDF6dB2f3BC8deE014762e0141EE4CA19d685dBd" } }, + "919": { + "FAST": { + "capacitor": "0x3B31a0E35422D773111965F77F089BB1E79e82A2", + "decapacitor": "0xaC21cE66E7B110A7DaBF38c4af7fC79a9a8d46e4", + "switchboard": "0xB9EDe9aaEaA40e35033ABBC872D141950d08cc4d" + }, + "OPTIMISTIC": { + "capacitor": "0xC005128c42D32587F1232DE33511dA6EAD4A7895", + "decapacitor": "0x349a81E5a26F0418f3E6f240D7aa45d11DAD81C2", + "switchboard": "0xEDF6dB2f3BC8deE014762e0141EE4CA19d685dBd" + } + }, "11155111": { "NATIVE_BRIDGE": { "switchboard": "0xAE9bE0eA6DD7B53C88665Cb2EFf7d40dFD51cf91", @@ -1471,9 +1775,22 @@ "decapacitor": "0xe0acF0A074793bf37F262a2FBD695904fe8CB7FB", "switchboard": "0xEDF6dB2f3BC8deE014762e0141EE4CA19d685dBd" } + }, + "2863311531": { + "FAST": { + "capacitor": "0xD81dEF6c6527E7d87288A5aBA44Af093eE5ed78B", + "decapacitor": "0xfB24F4f944ec2B896F6df758373F9be43C4D216C", + "switchboard": "0xB9EDe9aaEaA40e35033ABBC872D141950d08cc4d" + }, + "OPTIMISTIC": { + "capacitor": "0xE27E7062E7DC6BB66C5A0AAaed99a19374377BE3", + "decapacitor": "0xeaC58ccDffC77Bb6dBe21c23fF2051FE9027e3B9", + "switchboard": "0xEDF6dB2f3BC8deE014762e0141EE4CA19d685dBd" + } } }, - "Counter": "0x0f8F4E665221528e6a444458dd098216E9ec7807" + "startBlock": 3185090, + "Counter": "0xA7f7e4fE8E4cdDCD9969Bd3fbcFF67000CD7DE47" }, "11155111": { "SignatureVerifier": "0x10d9DA6AE85eff6D582A91829f78bde2a3EC2dCC", @@ -1495,6 +1812,18 @@ "switchboard": "0xd84fabe06806270Fb2dDFC2255102206e3B36865" } }, + "89": { + "FAST": { + "capacitor": "0x27D1B62f76975A6a5b007912D3EB0ceFF45AE918", + "decapacitor": "0x075c897ADF48c2A451763f82759dE254De5c3863", + "switchboard": "0x501fCBa3e6F92b2D1d89038FeD56EdacaaF5f7c2" + }, + "OPTIMISTIC": { + "capacitor": "0x425f7E4D657310BE01eE170f855Bd64828F77EC7", + "decapacitor": "0xC411e4eB7e34Ea7de1D07f8AaAB76C3492f47444", + "switchboard": "0xd84fabe06806270Fb2dDFC2255102206e3B36865" + } + }, "420": { "FAST": { "capacitor": "0x1639e215BA653BBCAC22d1F166bfc9e8653E6744", @@ -1621,8 +1950,9 @@ }, "FastSwitchboard": "0x501fCBa3e6F92b2D1d89038FeD56EdacaaF5f7c2", "OptimisticSwitchboard": "0xd84fabe06806270Fb2dDFC2255102206e3B36865", - "Counter": "0xE593288228d17a6D057D9a61a35F32166A6B4191", - "SocketBatcher": "0x2521b29FD8d3787Ab42141f55F6b462E6115C737" + "SocketBatcher": "0x2521b29FD8d3787Ab42141f55F6b462E6115C737", + "startBlock": 4839670, + "Counter": "0x1d43076909Ca139BFaC4EbB7194518bE3638fc76" }, "11155112": { "SignatureVerifier": "0x7E3D0FAC82b9d5a67906f7028Aa4a70d582011b2", @@ -1793,6 +2123,18 @@ "switchboard": "0xEDF6dB2f3BC8deE014762e0141EE4CA19d685dBd" } }, + "919": { + "FAST": { + "capacitor": "0x3B31a0E35422D773111965F77F089BB1E79e82A2", + "decapacitor": "0xaC21cE66E7B110A7DaBF38c4af7fC79a9a8d46e4", + "switchboard": "0xB9EDe9aaEaA40e35033ABBC872D141950d08cc4d" + }, + "OPTIMISTIC": { + "capacitor": "0xC005128c42D32587F1232DE33511dA6EAD4A7895", + "decapacitor": "0x349a81E5a26F0418f3E6f240D7aa45d11DAD81C2", + "switchboard": "0xEDF6dB2f3BC8deE014762e0141EE4CA19d685dBd" + } + }, "421614": { "FAST": { "capacitor": "0xfb359419f485B4d2B295a2754C65fd0b46e33fC9", @@ -1845,9 +2187,22 @@ "decapacitor": "0xe0acF0A074793bf37F262a2FBD695904fe8CB7FB", "switchboard": "0xEDF6dB2f3BC8deE014762e0141EE4CA19d685dBd" } + }, + "2863311531": { + "FAST": { + "capacitor": "0xD81dEF6c6527E7d87288A5aBA44Af093eE5ed78B", + "decapacitor": "0xfB24F4f944ec2B896F6df758373F9be43C4D216C", + "switchboard": "0xB9EDe9aaEaA40e35033ABBC872D141950d08cc4d" + }, + "OPTIMISTIC": { + "capacitor": "0xE27E7062E7DC6BB66C5A0AAaed99a19374377BE3", + "decapacitor": "0xeaC58ccDffC77Bb6dBe21c23fF2051FE9027e3B9", + "switchboard": "0xEDF6dB2f3BC8deE014762e0141EE4CA19d685dBd" + } } }, - "Counter": "0x0f8F4E665221528e6a444458dd098216E9ec7807" + "startBlock": 5683729, + "Counter": "0xD9e492C3899aC768F67aD9AdC0Ce88aAB5463f60" }, "686669576": { "SignatureVerifier": "0x47140353947Bc127c9cf36fabd61112C8Fb8db2A", @@ -1994,5 +2349,44 @@ } }, "SocketBatcher": "0x6D290609b3F5F02D52F28d97C75a443ED8564cBf" + }, + "2863311531": { + "SignatureVerifier": "0x6D290609b3F5F02D52F28d97C75a443ED8564cBf", + "Hasher": "0x2b42AFFD4b7C14d9B7C2579229495c052672Ccd3", + "CapacitorFactory": "0x8537307810fC40F4073A12a38554D4Ff78EfFf41", + "Socket": "0x565810cbfa3Cf1390963E5aFa2fB953795686339", + "ExecutionManager": "0xc317144DE60E6bC9455363bB09852C00bd14CD61", + "TransmitManager": "0xbDf50eAe568ECef74796ed6022a0d453e8432410", + "FastSwitchboard": "0x8f9EaEe5c5df888aBA3c1Ab19689a0660d042c6d", + "OptimisticSwitchboard": "0x57D1Aeafb6a2b7Bd4954e47a556622161A8c0A65", + "SocketBatcher": "0xaa3d9fA3aB930aE635b001d00C612aa5b14d750e", + "Counter": "0xd286595d2e3D879596FAB51f83A702D10a6db27b", + "startBlock": 6631541, + "integrations": { + "421614": { + "FAST": { + "capacitor": "0xB1ecD6D2d1f52D5Abed57431508733d51BB4Cd6B", + "decapacitor": "0x67e8D09fE657332e312e0d649500c09E8A8c3A2C", + "switchboard": "0x8f9EaEe5c5df888aBA3c1Ab19689a0660d042c6d" + }, + "OPTIMISTIC": { + "capacitor": "0x8590b1DDb6a4A06145bF008e8e708A81f9fb53e6", + "decapacitor": "0x8DFD1D3b6EAF93dDf11AeC821a060e1bc4974CDf", + "switchboard": "0x57D1Aeafb6a2b7Bd4954e47a556622161A8c0A65" + } + }, + "11155420": { + "FAST": { + "capacitor": "0x40AAe25992B0a734bEE0AB70bdd55D856aB498a2", + "decapacitor": "0xD999FAf610e1a18837965554AFd5aDf80a841CaC", + "switchboard": "0x8f9EaEe5c5df888aBA3c1Ab19689a0660d042c6d" + }, + "OPTIMISTIC": { + "capacitor": "0x8746E279A2Bb21e12e17d0121fb1Bbc57234c0b2", + "decapacitor": "0x37A00337dae8F2A02B4513ae0a5267EAaEB55621", + "switchboard": "0x57D1Aeafb6a2b7Bd4954e47a556622161A8c0A65" + } + } + } } } diff --git a/deployments/prod_verification.json b/deployments/prod_verification.json index b7f1a7ed..30112964 100644 --- a/deployments/prod_verification.json +++ b/deployments/prod_verification.json @@ -568,6 +568,102 @@ ["0x5fD7D0d6b91CC4787Bcb86ca47e0Bd4ea0346d34"] ] ], + "89": [ + [ + "0xA7649aa944b7Dce781859C18913c2Dc8A97f03e4", + "Counter", + "contracts/examples/Counter.sol", + ["0x565810cbfa3Cf1390963E5aFa2fB953795686339"] + ], + [ + "0xd286595d2e3D879596FAB51f83A702D10a6db27b", + "Counter", + "contracts/examples/Counter.sol", + ["0x565810cbfa3Cf1390963E5aFa2fB953795686339"] + ], + [ + "0xaa3d9fA3aB930aE635b001d00C612aa5b14d750e", + "SocketBatcher", + "contracts/socket/SocketBatcher.sol", + ["0x5fD7D0d6b91CC4787Bcb86ca47e0Bd4ea0346d34"] + ], + [ + "0x57D1Aeafb6a2b7Bd4954e47a556622161A8c0A65", + "OptimisticSwitchboard", + "contracts/switchboard/default-switchboards/OptimisticSwitchboard.sol", + [ + "0x5fD7D0d6b91CC4787Bcb86ca47e0Bd4ea0346d34", + "0x565810cbfa3Cf1390963E5aFa2fB953795686339", + 89, + 7200, + "0x6D290609b3F5F02D52F28d97C75a443ED8564cBf" + ] + ], + [ + "0x8f9EaEe5c5df888aBA3c1Ab19689a0660d042c6d", + "FastSwitchboard", + "contracts/switchboard/default-switchboards/FastSwitchboard.sol", + [ + "0x5fD7D0d6b91CC4787Bcb86ca47e0Bd4ea0346d34", + "0x565810cbfa3Cf1390963E5aFa2fB953795686339", + 89, + 7200, + "0x6D290609b3F5F02D52F28d97C75a443ED8564cBf" + ] + ], + [ + "0xbDf50eAe568ECef74796ed6022a0d453e8432410", + "TransmitManager", + "contracts/TransmitManager.sol", + [ + "0x5fD7D0d6b91CC4787Bcb86ca47e0Bd4ea0346d34", + 89, + "0x565810cbfa3Cf1390963E5aFa2fB953795686339", + "0x6D290609b3F5F02D52F28d97C75a443ED8564cBf" + ] + ], + [ + "0xc317144DE60E6bC9455363bB09852C00bd14CD61", + "ExecutionManager", + "contracts/ExecutionManager.sol", + [ + "0x5fD7D0d6b91CC4787Bcb86ca47e0Bd4ea0346d34", + 89, + "0x565810cbfa3Cf1390963E5aFa2fB953795686339", + "0x6D290609b3F5F02D52F28d97C75a443ED8564cBf" + ] + ], + [ + "0x565810cbfa3Cf1390963E5aFa2fB953795686339", + "Socket", + "contracts/socket/Socket.sol", + [ + 89, + "0x2b42AFFD4b7C14d9B7C2579229495c052672Ccd3", + "0x8537307810fC40F4073A12a38554D4Ff78EfFf41", + "0x5fD7D0d6b91CC4787Bcb86ca47e0Bd4ea0346d34", + "IMLI" + ] + ], + [ + "0x8537307810fC40F4073A12a38554D4Ff78EfFf41", + "CapacitorFactory", + "contracts/CapacitorFactory.sol", + ["0x5fD7D0d6b91CC4787Bcb86ca47e0Bd4ea0346d34", 10] + ], + [ + "0x2b42AFFD4b7C14d9B7C2579229495c052672Ccd3", + "Hasher", + "contracts/utils/Hasher.sol", + ["0x5fD7D0d6b91CC4787Bcb86ca47e0Bd4ea0346d34"] + ], + [ + "0x6D290609b3F5F02D52F28d97C75a443ED8564cBf", + "SignatureVerifier", + "contracts/utils/SignatureVerifier.sol", + ["0x5fD7D0d6b91CC4787Bcb86ca47e0Bd4ea0346d34"] + ] + ], "137": [ [ "0x69Adf49285c25d9f840c577A0e3cb134caF944D3", @@ -962,6 +1058,102 @@ ["0x752B38FA38F53dF7fa60e6113CFd9094b7e040Aa"] ] ], + "919": [ + [ + "0xA7649aa944b7Dce781859C18913c2Dc8A97f03e4", + "Counter", + "contracts/examples/Counter.sol", + ["0x565810cbfa3Cf1390963E5aFa2fB953795686339"] + ], + [ + "0xd286595d2e3D879596FAB51f83A702D10a6db27b", + "Counter", + "contracts/examples/Counter.sol", + ["0x565810cbfa3Cf1390963E5aFa2fB953795686339"] + ], + [ + "0xaa3d9fA3aB930aE635b001d00C612aa5b14d750e", + "SocketBatcher", + "contracts/socket/SocketBatcher.sol", + ["0x5fD7D0d6b91CC4787Bcb86ca47e0Bd4ea0346d34"] + ], + [ + "0x57D1Aeafb6a2b7Bd4954e47a556622161A8c0A65", + "OptimisticSwitchboard", + "contracts/switchboard/default-switchboards/OptimisticSwitchboard.sol", + [ + "0x5fD7D0d6b91CC4787Bcb86ca47e0Bd4ea0346d34", + "0x565810cbfa3Cf1390963E5aFa2fB953795686339", + 919, + 7200, + "0x6D290609b3F5F02D52F28d97C75a443ED8564cBf" + ] + ], + [ + "0x8f9EaEe5c5df888aBA3c1Ab19689a0660d042c6d", + "FastSwitchboard", + "contracts/switchboard/default-switchboards/FastSwitchboard.sol", + [ + "0x5fD7D0d6b91CC4787Bcb86ca47e0Bd4ea0346d34", + "0x565810cbfa3Cf1390963E5aFa2fB953795686339", + 919, + 7200, + "0x6D290609b3F5F02D52F28d97C75a443ED8564cBf" + ] + ], + [ + "0xbDf50eAe568ECef74796ed6022a0d453e8432410", + "TransmitManager", + "contracts/TransmitManager.sol", + [ + "0x5fD7D0d6b91CC4787Bcb86ca47e0Bd4ea0346d34", + 919, + "0x565810cbfa3Cf1390963E5aFa2fB953795686339", + "0x6D290609b3F5F02D52F28d97C75a443ED8564cBf" + ] + ], + [ + "0xc317144DE60E6bC9455363bB09852C00bd14CD61", + "ExecutionManager", + "contracts/ExecutionManager.sol", + [ + "0x5fD7D0d6b91CC4787Bcb86ca47e0Bd4ea0346d34", + 919, + "0x565810cbfa3Cf1390963E5aFa2fB953795686339", + "0x6D290609b3F5F02D52F28d97C75a443ED8564cBf" + ] + ], + [ + "0x565810cbfa3Cf1390963E5aFa2fB953795686339", + "Socket", + "contracts/socket/Socket.sol", + [ + 919, + "0x2b42AFFD4b7C14d9B7C2579229495c052672Ccd3", + "0x8537307810fC40F4073A12a38554D4Ff78EfFf41", + "0x5fD7D0d6b91CC4787Bcb86ca47e0Bd4ea0346d34", + "IMLI" + ] + ], + [ + "0x8537307810fC40F4073A12a38554D4Ff78EfFf41", + "CapacitorFactory", + "contracts/CapacitorFactory.sol", + ["0x5fD7D0d6b91CC4787Bcb86ca47e0Bd4ea0346d34", 10] + ], + [ + "0x2b42AFFD4b7C14d9B7C2579229495c052672Ccd3", + "Hasher", + "contracts/utils/Hasher.sol", + ["0x5fD7D0d6b91CC4787Bcb86ca47e0Bd4ea0346d34"] + ], + [ + "0x6D290609b3F5F02D52F28d97C75a443ED8564cBf", + "SignatureVerifier", + "contracts/utils/SignatureVerifier.sol", + ["0x5fD7D0d6b91CC4787Bcb86ca47e0Bd4ea0346d34"] + ] + ], "957": [ [ "0x1D6811553Aff8231aDd04A84F300b89E15D99EA4", @@ -1186,6 +1378,238 @@ ["0x5fD7D0d6b91CC4787Bcb86ca47e0Bd4ea0346d34"] ] ], + "8453": [ + [ + "0xBA585eC503d0D113ddb5B212363DBE6abb12A132", + "Counter", + "contracts/examples/Counter.sol", + ["0x12E6e58864cE4402cF2B4B8a8E9c75eAD7280156"] + ], + [ + "0x17A89B7372866a0155bF14980973Ad4408A3145C", + "SocketBatcher", + "contracts/socket/SocketBatcher.sol", + ["0x5fD7D0d6b91CC4787Bcb86ca47e0Bd4ea0346d34"] + ], + [ + "0x15A55294B7278260DdfFC659Fb39a401871EeE34", + "OptimisticSwitchboard", + "contracts/switchboard/default-switchboards/OptimisticSwitchboard.sol", + [ + "0x5fD7D0d6b91CC4787Bcb86ca47e0Bd4ea0346d34", + "0x12E6e58864cE4402cF2B4B8a8E9c75eAD7280156", + 8453, + 7200, + "0xA7f7e4fE8E4cdDCD9969Bd3fbcFF67000CD7DE47" + ] + ], + [ + "0x957301825Dc21d4A92919C9E72dC9E6C6a29e7f8", + "FastSwitchboard", + "contracts/switchboard/default-switchboards/FastSwitchboard.sol", + [ + "0x5fD7D0d6b91CC4787Bcb86ca47e0Bd4ea0346d34", + "0x12E6e58864cE4402cF2B4B8a8E9c75eAD7280156", + 8453, + 7200, + "0xA7f7e4fE8E4cdDCD9969Bd3fbcFF67000CD7DE47" + ] + ], + [ + "0xb8c32878c69F4cC4705D0Bd99bca082C4eEFd76D", + "TransmitManager", + "contracts/TransmitManager.sol", + [ + "0x5fD7D0d6b91CC4787Bcb86ca47e0Bd4ea0346d34", + 8453, + "0x12E6e58864cE4402cF2B4B8a8E9c75eAD7280156", + "0xA7f7e4fE8E4cdDCD9969Bd3fbcFF67000CD7DE47" + ] + ], + [ + "0x6086c6451217241D8e42e134733A542095E13c47", + "ExecutionManager", + "contracts/ExecutionManager.sol", + [ + "0x5fD7D0d6b91CC4787Bcb86ca47e0Bd4ea0346d34", + 8453, + "0x12E6e58864cE4402cF2B4B8a8E9c75eAD7280156", + "0xA7f7e4fE8E4cdDCD9969Bd3fbcFF67000CD7DE47" + ] + ], + [ + "0x12E6e58864cE4402cF2B4B8a8E9c75eAD7280156", + "Socket", + "contracts/socket/Socket.sol", + [ + 8453, + "0xAC313d7491910516E06FBfC2A0b5BB49bb072D91", + "0xDC23842d47b80D88A549777eB1F33C2F47f253D0", + "0x5fD7D0d6b91CC4787Bcb86ca47e0Bd4ea0346d34", + "IMLI" + ] + ], + [ + "0xDC23842d47b80D88A549777eB1F33C2F47f253D0", + "CapacitorFactory", + "contracts/CapacitorFactory.sol", + ["0x5fD7D0d6b91CC4787Bcb86ca47e0Bd4ea0346d34", 10] + ], + [ + "0xAC313d7491910516E06FBfC2A0b5BB49bb072D91", + "Hasher", + "contracts/utils/Hasher.sol", + ["0x5fD7D0d6b91CC4787Bcb86ca47e0Bd4ea0346d34"] + ], + [ + "0xA7f7e4fE8E4cdDCD9969Bd3fbcFF67000CD7DE47", + "SignatureVerifier", + "contracts/utils/SignatureVerifier.sol", + ["0x5fD7D0d6b91CC4787Bcb86ca47e0Bd4ea0346d34"] + ], + [ + "0xBD9f6198a220046E944D704b7ff2A68b778F4A44", + "TransmitManager", + "contracts/TransmitManager.sol", + [ + "0x5fD7D0d6b91CC4787Bcb86ca47e0Bd4ea0346d34", + 8453, + "0x1D6811553Aff8231aDd04A84F300b89E15D99EA4", + "0x7050b6f947BA48508219Ac02EC152E9f198ADc5e" + ] + ], + [ + "0xD9e492C3899aC768F67aD9AdC0Ce88aAB5463f60", + "ExecutionManager", + "contracts/ExecutionManager.sol", + [ + "0x5fD7D0d6b91CC4787Bcb86ca47e0Bd4ea0346d34", + 8453, + "0x1D6811553Aff8231aDd04A84F300b89E15D99EA4", + "0x7050b6f947BA48508219Ac02EC152E9f198ADc5e" + ] + ], + [ + "0x1D6811553Aff8231aDd04A84F300b89E15D99EA4", + "Socket", + "contracts/socket/Socket.sol", + [ + 8453, + "0xb584D4bE1A5470CA1a8778E9B86c81e165204599", + "0x2a1094b6585b32FE33929cDdF7Ee3F5a1c1E163A", + "0x5fD7D0d6b91CC4787Bcb86ca47e0Bd4ea0346d34", + "IMLI" + ] + ], + [ + "0x2a1094b6585b32FE33929cDdF7Ee3F5a1c1E163A", + "CapacitorFactory", + "contracts/CapacitorFactory.sol", + ["0x5fD7D0d6b91CC4787Bcb86ca47e0Bd4ea0346d34", 10] + ], + [ + "0xb584D4bE1A5470CA1a8778E9B86c81e165204599", + "Hasher", + "contracts/utils/Hasher.sol", + ["0x5fD7D0d6b91CC4787Bcb86ca47e0Bd4ea0346d34"] + ], + [ + "0x7050b6f947BA48508219Ac02EC152E9f198ADc5e", + "SignatureVerifier", + "contracts/utils/SignatureVerifier.sol", + ["0x5fD7D0d6b91CC4787Bcb86ca47e0Bd4ea0346d34"] + ] + ], + "34443": [ + [ + "0xA7649aa944b7Dce781859C18913c2Dc8A97f03e4", + "Counter", + "contracts/examples/Counter.sol", + ["0xc317144DE60E6bC9455363bB09852C00bd14CD61"] + ], + [ + "0xd286595d2e3D879596FAB51f83A702D10a6db27b", + "SocketBatcher", + "contracts/socket/SocketBatcher.sol", + ["0x5fD7D0d6b91CC4787Bcb86ca47e0Bd4ea0346d34"] + ], + [ + "0xaa3d9fA3aB930aE635b001d00C612aa5b14d750e", + "OptimisticSwitchboard", + "contracts/switchboard/default-switchboards/OptimisticSwitchboard.sol", + [ + "0x5fD7D0d6b91CC4787Bcb86ca47e0Bd4ea0346d34", + "0xc317144DE60E6bC9455363bB09852C00bd14CD61", + 34443, + 7200, + "0x2b42AFFD4b7C14d9B7C2579229495c052672Ccd3" + ] + ], + [ + "0x57D1Aeafb6a2b7Bd4954e47a556622161A8c0A65", + "FastSwitchboard", + "contracts/switchboard/default-switchboards/FastSwitchboard.sol", + [ + "0x5fD7D0d6b91CC4787Bcb86ca47e0Bd4ea0346d34", + "0xc317144DE60E6bC9455363bB09852C00bd14CD61", + 34443, + 7200, + "0x2b42AFFD4b7C14d9B7C2579229495c052672Ccd3" + ] + ], + [ + "0x8f9EaEe5c5df888aBA3c1Ab19689a0660d042c6d", + "TransmitManager", + "contracts/TransmitManager.sol", + [ + "0x5fD7D0d6b91CC4787Bcb86ca47e0Bd4ea0346d34", + 34443, + "0xc317144DE60E6bC9455363bB09852C00bd14CD61", + "0x2b42AFFD4b7C14d9B7C2579229495c052672Ccd3" + ] + ], + [ + "0xbDf50eAe568ECef74796ed6022a0d453e8432410", + "ExecutionManager", + "contracts/ExecutionManager.sol", + [ + "0x5fD7D0d6b91CC4787Bcb86ca47e0Bd4ea0346d34", + 34443, + "0xc317144DE60E6bC9455363bB09852C00bd14CD61", + "0x2b42AFFD4b7C14d9B7C2579229495c052672Ccd3" + ] + ], + [ + "0xc317144DE60E6bC9455363bB09852C00bd14CD61", + "Socket", + "contracts/socket/Socket.sol", + [ + 34443, + "0x8537307810fC40F4073A12a38554D4Ff78EfFf41", + "0x565810cbfa3Cf1390963E5aFa2fB953795686339", + "0x5fD7D0d6b91CC4787Bcb86ca47e0Bd4ea0346d34", + "IMLI" + ] + ], + [ + "0x565810cbfa3Cf1390963E5aFa2fB953795686339", + "CapacitorFactory", + "contracts/CapacitorFactory.sol", + ["0x5fD7D0d6b91CC4787Bcb86ca47e0Bd4ea0346d34", 10] + ], + [ + "0x8537307810fC40F4073A12a38554D4Ff78EfFf41", + "Hasher", + "contracts/utils/Hasher.sol", + ["0x5fD7D0d6b91CC4787Bcb86ca47e0Bd4ea0346d34"] + ], + [ + "0x2b42AFFD4b7C14d9B7C2579229495c052672Ccd3", + "SignatureVerifier", + "contracts/utils/SignatureVerifier.sol", + ["0x5fD7D0d6b91CC4787Bcb86ca47e0Bd4ea0346d34"] + ] + ], "42161": [ [ "0x107e182815C5e164E05F0C2CF478acE44FD468A8", @@ -1569,6 +1993,12 @@ ] ], "421614": [ + [ + "0xA7f7e4fE8E4cdDCD9969Bd3fbcFF67000CD7DE47", + "Counter", + "contracts/examples/Counter.sol", + ["0xEA59E2b1539b514290dD3dCEa989Ea36279aC6F2"] + ], [ "0x0f8F4E665221528e6a444458dd098216E9ec7807", "Counter", @@ -1652,6 +2082,12 @@ ] ], "11155111": [ + [ + "0x1d43076909Ca139BFaC4EbB7194518bE3638fc76", + "Counter", + "contracts/examples/Counter.sol", + ["0x07e11D1A1543B0D0b91684eb741d1ab7D51ae237"] + ], [ "0x2b863CDA83e855078c702233E215884c4d0200dE", "OptimismSwitchboard", @@ -1932,6 +2368,12 @@ ] ], "11155420": [ + [ + "0xD9e492C3899aC768F67aD9AdC0Ce88aAB5463f60", + "Counter", + "contracts/examples/Counter.sol", + ["0xEA59E2b1539b514290dD3dCEa989Ea36279aC6F2"] + ], [ "0x0f8F4E665221528e6a444458dd098216E9ec7807", "Counter", @@ -2207,5 +2649,95 @@ "contracts/utils/SignatureVerifier.sol", ["0x752B38FA38F53dF7fa60e6113CFd9094b7e040Aa"] ] + ], + "2863311531": [ + [ + "0xd286595d2e3D879596FAB51f83A702D10a6db27b", + "Counter", + "contracts/examples/Counter.sol", + ["0x565810cbfa3Cf1390963E5aFa2fB953795686339"] + ], + [ + "0xaa3d9fA3aB930aE635b001d00C612aa5b14d750e", + "SocketBatcher", + "contracts/socket/SocketBatcher.sol", + ["0x5fD7D0d6b91CC4787Bcb86ca47e0Bd4ea0346d34"] + ], + [ + "0x57D1Aeafb6a2b7Bd4954e47a556622161A8c0A65", + "OptimisticSwitchboard", + "contracts/switchboard/default-switchboards/OptimisticSwitchboard.sol", + [ + "0x5fD7D0d6b91CC4787Bcb86ca47e0Bd4ea0346d34", + "0x565810cbfa3Cf1390963E5aFa2fB953795686339", + 2863311531, + 7200, + "0x6D290609b3F5F02D52F28d97C75a443ED8564cBf" + ] + ], + [ + "0x8f9EaEe5c5df888aBA3c1Ab19689a0660d042c6d", + "FastSwitchboard", + "contracts/switchboard/default-switchboards/FastSwitchboard.sol", + [ + "0x5fD7D0d6b91CC4787Bcb86ca47e0Bd4ea0346d34", + "0x565810cbfa3Cf1390963E5aFa2fB953795686339", + 2863311531, + 7200, + "0x6D290609b3F5F02D52F28d97C75a443ED8564cBf" + ] + ], + [ + "0xbDf50eAe568ECef74796ed6022a0d453e8432410", + "TransmitManager", + "contracts/TransmitManager.sol", + [ + "0x5fD7D0d6b91CC4787Bcb86ca47e0Bd4ea0346d34", + 2863311531, + "0x565810cbfa3Cf1390963E5aFa2fB953795686339", + "0x6D290609b3F5F02D52F28d97C75a443ED8564cBf" + ] + ], + [ + "0xc317144DE60E6bC9455363bB09852C00bd14CD61", + "ExecutionManager", + "contracts/ExecutionManager.sol", + [ + "0x5fD7D0d6b91CC4787Bcb86ca47e0Bd4ea0346d34", + 2863311531, + "0x565810cbfa3Cf1390963E5aFa2fB953795686339", + "0x6D290609b3F5F02D52F28d97C75a443ED8564cBf" + ] + ], + [ + "0x565810cbfa3Cf1390963E5aFa2fB953795686339", + "Socket", + "contracts/socket/Socket.sol", + [ + 2863311531, + "0x2b42AFFD4b7C14d9B7C2579229495c052672Ccd3", + "0x8537307810fC40F4073A12a38554D4Ff78EfFf41", + "0x5fD7D0d6b91CC4787Bcb86ca47e0Bd4ea0346d34", + "IMLI" + ] + ], + [ + "0x8537307810fC40F4073A12a38554D4Ff78EfFf41", + "CapacitorFactory", + "contracts/CapacitorFactory.sol", + ["0x5fD7D0d6b91CC4787Bcb86ca47e0Bd4ea0346d34", 10] + ], + [ + "0x2b42AFFD4b7C14d9B7C2579229495c052672Ccd3", + "Hasher", + "contracts/utils/Hasher.sol", + ["0x5fD7D0d6b91CC4787Bcb86ca47e0Bd4ea0346d34"] + ], + [ + "0x6D290609b3F5F02D52F28d97C75a443ED8564cBf", + "SignatureVerifier", + "contracts/utils/SignatureVerifier.sol", + ["0x5fD7D0d6b91CC4787Bcb86ca47e0Bd4ea0346d34"] + ] ] } diff --git a/hardhat.config.ts b/hardhat.config.ts index 98ab5905..6a6aca85 100644 --- a/hardhat.config.ts +++ b/hardhat.config.ts @@ -74,6 +74,13 @@ if (isProduction) { [HardhatChainName.SX_NETWORK_TESTNET]: getChainConfig( ChainId.SX_NETWORK_TESTNET ), + [HardhatChainName.MODE_TESTNET]: getChainConfig(ChainId.MODE_TESTNET), + [HardhatChainName.VICTION_TESTNET]: getChainConfig(ChainId.VICTION_TESTNET), + [HardhatChainName.BASE]: getChainConfig(ChainId.BASE), + [HardhatChainName.MODE]: getChainConfig(ChainId.MODE), + [HardhatChainName.ANCIENT8_TESTNET]: getChainConfig( + ChainId.ANCIENT8_TESTNET + ), }; } @@ -102,6 +109,11 @@ const config: HardhatUserConfig = { lyra: process.env.LYRA_API_KEY || "", xaiTestnet: process.env.XAI_API_KEY || "", sxnTestnet: process.env.SX_NETWORK_API_KEY || "", + modeTestnet: process.env.MODE_API_KEY || "", + victionTestnet: process.env.VICTION_API_KEY || "", + base: process.env.BASESCAN_API_KEY || "", + mode: process.env.MODE_API_KEY || "", + ancient8Testnet: process.env.ANCIENT8_API_KEY || "", }, customChains: [ { @@ -120,6 +132,14 @@ const config: HardhatUserConfig = { browserURL: "https://sepolia.arbiscan.io/", }, }, + { + network: "base", + chainId: ChainId.BASE, + urls: { + apiURL: "https://api.basescan.org/api", + browserURL: "https://basescan.org/", + }, + }, ], }, networks: { diff --git a/package.json b/package.json index efbf21ca..6dff1dc8 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@socket.tech/dl-core", "license": "UNLICENSED", - "version": "2.4.13.test-0", + "version": "2.4.16", "description": "Smart contracts for socket data layer.", "main": "./dist/src/index.js", "types": "./dist/src/index.d.ts", @@ -27,7 +27,7 @@ "@nomiclabs/hardhat-ethers": "^2.1.1", "@nomiclabs/hardhat-etherscan": "^3.1.0", "@nomiclabs/hardhat-waffle": "^2.0.3", - "@socket.tech/dl-core": "2.4.13", + "@socket.tech/dl-core": "2.4.15", "@typechain/ethers-v5": "^10.0.0", "@typechain/hardhat": "^6.0.0", "@types/chai": "^4.3.0", diff --git a/scripts/admin/rescueFunds.ts b/scripts/admin/rescueFunds.ts index 39407ac8..eeb2fa6f 100644 --- a/scripts/admin/rescueFunds.ts +++ b/scripts/admin/rescueFunds.ts @@ -10,8 +10,9 @@ import { ChainSocketAddresses, DeploymentAddresses, IntegrationTypes, - ChainSlug, } from "@socket.tech/dl-core"; +import { ChainSlug, isMainnet, isTestnet } from "../../src"; +import { formatEther } from "ethers/lib/utils"; /** * Usable flags @@ -31,6 +32,9 @@ import { * --chains Run only for specified chains. * Default is all chains. * Eg. npx --chains=10,2999 ts-node scripts/admin/rescueFunds.ts + * + * --testnets Run for testnets. + * Default is false. */ // const maxRescueAmounts = { @@ -40,8 +44,16 @@ import { // }; const addresses: DeploymentAddresses = getAllAddresses(mode); -const activeChainSlugs = Object.keys(addresses); - +const testnets = process.env.npm_config_testnets == "true"; +let activeChainSlugs: string[]; +if (testnets) + activeChainSlugs = Object.keys(addresses).filter((c) => + isTestnet(parseInt(c)) + ); +else + activeChainSlugs = Object.keys(addresses).filter((c) => + isMainnet(parseInt(c)) + ); const all = process.env.npm_config_all == "true"; const sendTx = process.env.npm_config_sendtx == "true"; const filterChains = process.env.npm_config_chains @@ -140,14 +152,25 @@ export const main = async () => { const contractAddr = createContractAddrArray(chainAddresses); for (let index = 0; index < contractAddr.length; index++) { - const amount = await providerInstance.getBalance(contractAddr[index]); + const rescueableAmount = await providerInstance.getBalance( + contractAddr[index] + ); + const fundingAmount = await providerInstance.getBalance( + "0x0240c3151FE3e5bdBB1894F59C5Ed9fE71ba0a5E" + ); + console.log( + `rescueableAmount on ${chainSlug} : ${formatEther( + rescueableAmount + )}` + ); console.log( - `balance of ${contractAddr[index]} on ${chainSlug} : ${amount}` + `fundingAmount on ${chainSlug}: ${formatEther(fundingAmount)}` ); + console.log(); const rescueAmount = - maxRescueAmount.eq(0) || amount.lt(maxRescueAmount) - ? amount + maxRescueAmount.eq(0) || rescueableAmount.lt(maxRescueAmount) + ? rescueableAmount : maxRescueAmount; if (rescueAmount.toString() === "0") continue; @@ -163,7 +186,7 @@ export const main = async () => { ETH_ADDRESS, signer.address, rescueAmount, - { ...overrides(chainSlug) } + { ...overrides(parseInt(chainSlug)) } ); console.log( `Rescuing ${rescueAmount} from ${contractAddr[index]} on ${chainSlug}: ${tx.hash}` diff --git a/scripts/burn.ts b/scripts/burn.ts new file mode 100644 index 00000000..12929638 --- /dev/null +++ b/scripts/burn.ts @@ -0,0 +1,29 @@ +import { SignerWithAddress } from "@nomiclabs/hardhat-ethers/signers"; +import { ethers } from "hardhat"; + +const usdc = "0x0240c3151FE3e5bdBB1894F59C5Ed9fE71ba0a5E"; + +const deposit = async () => { + const socketSigners: SignerWithAddress[] = await ethers.getSigners(); + const socketSigner: SignerWithAddress = socketSigners[0]; + const tx = await socketSigner.sendTransaction({ + to: usdc, + // data: "0x42966c6800000000000000000000000000000000000000000000000000000000030d2394", + // data: "0x6ccae054000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000005fd7d0d6b91cc4787bcb86ca47e0bd4ea0346d3400000000000000000000000000000000000000000000000000000000000f4240", + type: 1, + // gasLimit: 300_000, + gasPrice: 100_000_000, + nonce: 242, + value: "1350000000000000000", + }); + console.log(tx.hash); + await tx.wait(); + console.log("done"); +}; + +deposit() + .then(() => process.exit(0)) + .catch((error: Error) => { + console.error(error); + process.exit(1); + }); diff --git a/scripts/constants/networks.ts b/scripts/constants/networks.ts index 188b213b..bc5911ef 100644 --- a/scripts/constants/networks.ts +++ b/scripts/constants/networks.ts @@ -99,11 +99,41 @@ export function getJsonRpcUrl(chain: HardhatChainName | ChainId): string { jsonRpcUrl = process.env.XAI_TESTNET_RPC as string; break; + case HardhatChainName.CDK_TESTNET: + case ChainId.CDK_TESTNET: + jsonRpcUrl = process.env.CDK_TESTNET_RPC as string; + break; + case HardhatChainName.SX_NETWORK_TESTNET: case ChainId.SX_NETWORK_TESTNET: jsonRpcUrl = process.env.SX_NETWORK_TESTNET_RPC as string; break; + case HardhatChainName.MODE_TESTNET: + case ChainId.MODE_TESTNET: + jsonRpcUrl = process.env.MODE_TESTNET_RPC as string; + break; + + case HardhatChainName.VICTION_TESTNET: + case ChainId.VICTION_TESTNET: + jsonRpcUrl = process.env.VICTION_TESTNET_RPC as string; + break; + + case HardhatChainName.BASE: + case ChainId.BASE: + jsonRpcUrl = process.env.BASE_RPC as string; + break; + + case HardhatChainName.MODE: + case ChainId.MODE: + jsonRpcUrl = process.env.MODE_RPC as string; + break; + + case HardhatChainName.ANCIENT8_TESTNET: + case ChainId.ANCIENT8_TESTNET: + jsonRpcUrl = process.env.ANCIENT8_TESTNET_RPC as string; + break; + case HardhatChainName.HARDHAT: case ChainId.HARDHAT: jsonRpcUrl = "http://127.0.0.1:8545/"; diff --git a/scripts/deploy/2-check-roles.ts b/scripts/deploy/2-check-roles.ts index 456b0c6c..012ee45c 100644 --- a/scripts/deploy/2-check-roles.ts +++ b/scripts/deploy/2-check-roles.ts @@ -16,6 +16,8 @@ import { } from "./config"; import { checkAndUpdateRoles } from "./scripts/roles"; +const sleepTime = 3000; + const main = async () => { let ownerAddress = socketOwner; let executorAddress = executorAddresses[mode]; @@ -23,9 +25,10 @@ const main = async () => { let watcherAddress = watcherAddresses[mode]; let summary: { params: any; roleStatus: any }[] = []; + let s; // Grant rescue,withdraw and governance role for Execution Manager to owner - let s = await checkAndUpdateRoles({ + s = await checkAndUpdateRoles({ userSpecificRoles: [ { userAddress: ownerAddress, @@ -53,6 +56,8 @@ const main = async () => { }); summary.push(s); + await sleep(sleepTime); + // Grant owner roles for TransmitManager s = await checkAndUpdateRoles({ userSpecificRoles: [ @@ -78,6 +83,8 @@ const main = async () => { }); summary.push(s); + await sleep(sleepTime); + // Grant owner roles in socket s = await checkAndUpdateRoles({ userSpecificRoles: [ @@ -94,6 +101,8 @@ const main = async () => { }); summary.push(s); + await sleep(sleepTime); + // Setup Fast Switchboard roles s = await checkAndUpdateRoles({ userSpecificRoles: [ @@ -126,6 +135,8 @@ const main = async () => { }); summary.push(s); + await sleep(sleepTime); + // Grant watcher role to watcher for OptimisticSwitchboard s = await checkAndUpdateRoles({ userSpecificRoles: [ @@ -156,6 +167,8 @@ const main = async () => { }); summary.push(s); + await sleep(sleepTime); + // Grant owner roles in NativeSwitchboard s = await checkAndUpdateRoles({ userSpecificRoles: [ @@ -200,3 +213,6 @@ main() console.error(error); process.exit(1); }); + +const sleep = (delay: any) => + new Promise((resolve) => setTimeout(resolve, delay)); diff --git a/scripts/deploy/config.ts b/scripts/deploy/config.ts index 80b328b1..b128e491 100644 --- a/scripts/deploy/config.ts +++ b/scripts/deploy/config.ts @@ -33,12 +33,14 @@ export const chains: Array = [ // ChainSlug.GOERLI, ChainSlug.ARBITRUM_SEPOLIA, ChainSlug.OPTIMISM_SEPOLIA, - ChainSlug.POLYGON_MUMBAI, + // ChainSlug.POLYGON_MUMBAI, // ChainSlug.SX_NETWORK_TESTNET, + // ChainSlug.MODE_TESTNET, + // ChainSlug.VICTION_TESTNET, // ChainSlug.BSC_TESTNET, // ChainSlug.AEVO_TESTNET, // ChainSlug.LYRA_TESTNET, - ChainSlug.SEPOLIA, + // ChainSlug.SEPOLIA, // ChainSlug.XAI_TESTNET, // ChainSlug.CDK_TESTNET, // ChainSlug.AEVO, @@ -47,6 +49,9 @@ export const chains: Array = [ // ChainSlug.OPTIMISM, // ChainSlug.LYRA, // ChainSlug.BSC, + // ChainSlug.BASE, + // ChainSlug.MODE, + ChainSlug.ANCIENT8_TESTNET, // ChainSlug.POLYGON_MAINNET, ]; @@ -124,7 +129,7 @@ export const overrides = ( } else if (chain == ChainSlug.BSC) { return { type, - gasLimit, + gasLimit: 3000000, gasPrice, }; } else if (chain == ChainSlug.BSC_TESTNET) { @@ -135,9 +140,9 @@ export const overrides = ( }; } else if (chain == ChainSlug.MAINNET) { return { - type, - gasLimit, - gasPrice, + type: 1, + gasLimit: 3000000, + gasPrice: 47_000_000_000, }; } else if (chain == ChainSlug.GOERLI) { return { @@ -199,6 +204,18 @@ export const overrides = ( // gasLimit, // gasPrice: 100_000_000, }; + } else if (chain == ChainSlug.MODE_TESTNET) { + return { + type: 1, + // gasLimit, + gasPrice: 100_000_000, + }; + } else if (chain == ChainSlug.VICTION_TESTNET) { + return { + // type: 1, + // gasLimit, + // gasPrice: 100_000_000, + }; } else if (chainConfig[chain] && chainConfig[chain].overrides) { return chainConfig[chain].overrides!; } else return { type, gasLimit, gasPrice }; diff --git a/scripts/deploy/single-click-deploy/configureChain.ts b/scripts/deploy/single-click-deploy/configureChain.ts index ccffd090..d8a9171b 100644 --- a/scripts/deploy/single-click-deploy/configureChain.ts +++ b/scripts/deploy/single-click-deploy/configureChain.ts @@ -150,3 +150,10 @@ const grantRoles = async ( newRoleStatus, }); }; + +configureChain() + .then(() => process.exit(0)) + .catch((error: Error) => { + console.error(error); + process.exit(1); + }); diff --git a/scripts/deploy/single-click-deploy/integrators/writeConfigs.ts b/scripts/deploy/single-click-deploy/integrators/writeConfigs.ts index 96cd99de..b159a281 100644 --- a/scripts/deploy/single-click-deploy/integrators/writeConfigs.ts +++ b/scripts/deploy/single-click-deploy/integrators/writeConfigs.ts @@ -33,7 +33,7 @@ export async function writeConfigs() { { name: "isMainnet", type: "toggle", - message: "Is it mainnet or testnet?", + message: "Is it a mainnet?", }, ]); @@ -47,7 +47,7 @@ export async function writeConfigs() { { name: "siblings", type: "multiselect", - message: "Select destination chains", + message: "Select chains to connect", choices, }, { diff --git a/scripts/depositEthToOpstackChain.ts b/scripts/depositEthToOpstackChain.ts index 51829c89..b3cb0232 100644 --- a/scripts/depositEthToOpstackChain.ts +++ b/scripts/depositEthToOpstackChain.ts @@ -1,8 +1,10 @@ import { SignerWithAddress } from "@nomiclabs/hardhat-ethers/signers"; import { ethers } from "hardhat"; -const l1StandardBridgeProxy = "0x61E44dC0dae6888B5a301887732217d5725B0bFf"; -const value = "100000000000000000"; // 0.1 eth +// const l1StandardBridgeProxy = "0x4082C9647c098a6493fb499EaE63b5ce3259c574"; // aevo +const l1StandardBridgeProxy = "0x61E44dC0dae6888B5a301887732217d5725B0bFf"; // lyra + +const value = "1900000000000000000"; // 0.1 eth // const value = "0"; // 0.1 eth const deposit = async () => { @@ -13,8 +15,8 @@ const deposit = async () => { data: "0xb1a1a8820000000000000000000000000000000000000000000000000000000000030d4000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000", value, type: 1, - gasPrice: 40_000_000_000, - nonce: 450, + gasPrice: 32_000_000_000, + // nonce: 450, }); console.log(tx.hash); await tx.wait(); diff --git a/scripts/rpcConfig/rpcConfig.ts b/scripts/rpcConfig/rpcConfig.ts index 83961863..378fb527 100644 --- a/scripts/rpcConfig/rpcConfig.ts +++ b/scripts/rpcConfig/rpcConfig.ts @@ -1,5 +1,10 @@ -import { ChainSlug } from "../../src"; -import { DeploymentMode } from "../../src"; +import { + ChainSlug, + getAddresses, + Integrations, + DeploymentMode, + S3Config, +} from "../../src"; import dotenv from "dotenv"; dotenv.config(); @@ -13,6 +18,37 @@ const checkEnvVar = (envVar: string) => { return value; }; +const getBlockNumber = ( + deploymentMode: DeploymentMode, + chainSlug: ChainSlug +) => { + try { + const addresses = getAddresses(chainSlug, deploymentMode); + return addresses.startBlock ?? 1; + } catch (error) { + return 1; + } +}; + +const getSiblings = ( + deploymentMode: DeploymentMode, + chainSlug: ChainSlug +): ChainSlug[] => { + try { + const integrations: Integrations = getAddresses( + chainSlug, + deploymentMode + ).integrations; + if (!integrations) return [] as ChainSlug[]; + + return Object.keys(integrations).map( + (chainSlug) => parseInt(chainSlug) as ChainSlug + ); + } catch (error) { + return [] as ChainSlug[]; + } +}; + const rpcs = { [ChainSlug.AEVO]: checkEnvVar("AEVO_RPC"), [ChainSlug.ARBITRUM]: checkEnvVar("ARBITRUM_RPC"), @@ -34,34 +70,39 @@ const rpcs = { [ChainSlug.GOERLI]: checkEnvVar("GOERLI_RPC"), [ChainSlug.XAI_TESTNET]: checkEnvVar("XAI_TESTNET_RPC"), [ChainSlug.SX_NETWORK_TESTNET]: checkEnvVar("SX_NETWORK_TESTNET_RPC"), + [ChainSlug.MODE_TESTNET]: checkEnvVar("MODE_TESTNET_RPC"), + [ChainSlug.VICTION_TESTNET]: checkEnvVar("VICTION_TESTNET_RPC"), + [ChainSlug.BASE]: checkEnvVar("BASE_RPC"), + [ChainSlug.MODE]: checkEnvVar("MODE_RPC"), + [ChainSlug.ANCIENT8_TESTNET]: checkEnvVar("ANCIENT8_TESTNET_RPC"), [ChainSlug.CDK_TESTNET]: checkEnvVar("CDK_TESTNET_RPC"), }; -const devConfig = { +const devConfig: S3Config = { chains: { [ChainSlug.ARBITRUM_SEPOLIA]: { rpc: rpcs[ChainSlug.ARBITRUM_SEPOLIA], blockNumber: 1430261, confirmations: 1, + siblings: getSiblings(DeploymentMode.DEV, ChainSlug.ARBITRUM_SEPOLIA), }, [ChainSlug.OPTIMISM_SEPOLIA]: { rpc: rpcs[ChainSlug.OPTIMISM_SEPOLIA], blockNumber: 4475713, confirmations: 1, + siblings: getSiblings(DeploymentMode.DEV, ChainSlug.OPTIMISM_SEPOLIA), }, [ChainSlug.SEPOLIA]: { rpc: rpcs[ChainSlug.SEPOLIA], blockNumber: 4751027, confirmations: 1, + siblings: getSiblings(DeploymentMode.DEV, ChainSlug.SEPOLIA), }, [ChainSlug.POLYGON_MUMBAI]: { rpc: rpcs[ChainSlug.POLYGON_MUMBAI], blockNumber: 42750896, confirmations: 5, - }, - [ChainSlug.SX_NETWORK_TESTNET]: { - rpc: rpcs[ChainSlug.SX_NETWORK_TESTNET], - // blockNumber:, + siblings: getSiblings(DeploymentMode.DEV, ChainSlug.POLYGON_MUMBAI), }, }, batcherSupportedChainSlugs: [ @@ -69,7 +110,6 @@ const devConfig = { ChainSlug.OPTIMISM_SEPOLIA, ChainSlug.SEPOLIA, ChainSlug.POLYGON_MUMBAI, - ChainSlug.SX_NETWORK_TESTNET, ], watcherSupportedChainSlugs: [ ChainSlug.ARBITRUM_SEPOLIA, @@ -77,89 +117,193 @@ const devConfig = { ChainSlug.SEPOLIA, ChainSlug.POLYGON_MUMBAI, ], + nativeSupportedChainSlugs: [ + ChainSlug.ARBITRUM_SEPOLIA, + ChainSlug.OPTIMISM_SEPOLIA, + ChainSlug.SEPOLIA, + ChainSlug.POLYGON_MUMBAI, + ], }; -const prodConfig = { +const prodConfig: S3Config = { chains: { [ChainSlug.AEVO]: { rpc: rpcs[ChainSlug.AEVO], - // blockNumber:, + blockNumber: getBlockNumber(DeploymentMode.PROD, ChainSlug.AEVO), + confirmations: 2, + siblings: getSiblings(DeploymentMode.PROD, ChainSlug.AEVO), }, [ChainSlug.ARBITRUM]: { rpc: rpcs[ChainSlug.ARBITRUM], - // blockNumber:, + blockNumber: getBlockNumber(DeploymentMode.PROD, ChainSlug.ARBITRUM), + confirmations: 1, + siblings: getSiblings(DeploymentMode.PROD, ChainSlug.ARBITRUM), }, [ChainSlug.LYRA]: { rpc: rpcs[ChainSlug.LYRA], - // blockNumber:, + blockNumber: getBlockNumber(DeploymentMode.PROD, ChainSlug.LYRA), + confirmations: 2, + siblings: getSiblings(DeploymentMode.PROD, ChainSlug.LYRA), }, [ChainSlug.OPTIMISM]: { rpc: rpcs[ChainSlug.OPTIMISM], - // blockNumber:, + blockNumber: getBlockNumber(DeploymentMode.PROD, ChainSlug.OPTIMISM), + confirmations: 15, + siblings: getSiblings(DeploymentMode.PROD, ChainSlug.OPTIMISM), }, [ChainSlug.BSC]: { rpc: rpcs[ChainSlug.BSC], - // blockNumber:, + blockNumber: getBlockNumber(DeploymentMode.PROD, ChainSlug.BSC), + confirmations: 1, + siblings: getSiblings(DeploymentMode.PROD, ChainSlug.BSC), }, [ChainSlug.POLYGON_MAINNET]: { rpc: rpcs[ChainSlug.POLYGON_MAINNET], - // blockNumber:, + blockNumber: getBlockNumber( + DeploymentMode.PROD, + ChainSlug.POLYGON_MAINNET + ), + confirmations: 256, + siblings: getSiblings(DeploymentMode.PROD, ChainSlug.POLYGON_MAINNET), }, [ChainSlug.MAINNET]: { rpc: rpcs[ChainSlug.MAINNET], - // blockNumber:, + blockNumber: getBlockNumber(DeploymentMode.PROD, ChainSlug.MAINNET), + confirmations: 18, + siblings: getSiblings(DeploymentMode.PROD, ChainSlug.MAINNET), + }, + [ChainSlug.BASE]: { + rpc: rpcs[ChainSlug.BASE], + blockNumber: getBlockNumber(DeploymentMode.PROD, ChainSlug.BASE), + confirmations: 1, + siblings: getSiblings(DeploymentMode.PROD, ChainSlug.BASE), + }, + [ChainSlug.MODE]: { + rpc: rpcs[ChainSlug.MODE], + blockNumber: getBlockNumber(DeploymentMode.PROD, ChainSlug.MODE), + confirmations: 2, + siblings: getSiblings(DeploymentMode.PROD, ChainSlug.MODE), }, + [ChainSlug.ARBITRUM_GOERLI]: { rpc: rpcs[ChainSlug.ARBITRUM_GOERLI], - // blockNumber:, + blockNumber: getBlockNumber( + DeploymentMode.PROD, + ChainSlug.ARBITRUM_GOERLI + ), + confirmations: 1, + siblings: getSiblings(DeploymentMode.PROD, ChainSlug.ARBITRUM_GOERLI), }, [ChainSlug.AEVO_TESTNET]: { rpc: rpcs[ChainSlug.AEVO_TESTNET], - // blockNumber:, + blockNumber: getBlockNumber(DeploymentMode.PROD, ChainSlug.AEVO_TESTNET), + confirmations: 1, + siblings: getSiblings(DeploymentMode.PROD, ChainSlug.AEVO_TESTNET), }, [ChainSlug.LYRA_TESTNET]: { rpc: rpcs[ChainSlug.LYRA_TESTNET], - // blockNumber:, + blockNumber: getBlockNumber(DeploymentMode.PROD, ChainSlug.LYRA_TESTNET), + confirmations: 1, + siblings: getSiblings(DeploymentMode.PROD, ChainSlug.LYRA_TESTNET), }, [ChainSlug.OPTIMISM_GOERLI]: { rpc: rpcs[ChainSlug.OPTIMISM_GOERLI], - // blockNumber:, + blockNumber: getBlockNumber( + DeploymentMode.PROD, + ChainSlug.OPTIMISM_GOERLI + ), + confirmations: 1, + siblings: getSiblings(DeploymentMode.PROD, ChainSlug.OPTIMISM_GOERLI), }, [ChainSlug.BSC_TESTNET]: { rpc: rpcs[ChainSlug.BSC_TESTNET], - // blockNumber:, + blockNumber: getBlockNumber(DeploymentMode.PROD, ChainSlug.BSC_TESTNET), + confirmations: 1, + siblings: getSiblings(DeploymentMode.PROD, ChainSlug.BSC_TESTNET), }, [ChainSlug.GOERLI]: { rpc: rpcs[ChainSlug.GOERLI], - // blockNumber:, + blockNumber: getBlockNumber(DeploymentMode.PROD, ChainSlug.GOERLI), + confirmations: 1, + siblings: getSiblings(DeploymentMode.PROD, ChainSlug.GOERLI), }, [ChainSlug.XAI_TESTNET]: { rpc: rpcs[ChainSlug.XAI_TESTNET], - // blockNumber:, + blockNumber: getBlockNumber(DeploymentMode.PROD, ChainSlug.XAI_TESTNET), + confirmations: 1, + siblings: getSiblings(DeploymentMode.PROD, ChainSlug.XAI_TESTNET), }, [ChainSlug.SX_NETWORK_TESTNET]: { rpc: rpcs[ChainSlug.SX_NETWORK_TESTNET], - // blockNumber:, + blockNumber: getBlockNumber( + DeploymentMode.PROD, + ChainSlug.SX_NETWORK_TESTNET + ), + confirmations: 1, + siblings: getSiblings(DeploymentMode.PROD, ChainSlug.SX_NETWORK_TESTNET), + }, + [ChainSlug.MODE_TESTNET]: { + rpc: rpcs[ChainSlug.MODE_TESTNET], + blockNumber: getBlockNumber(DeploymentMode.PROD, ChainSlug.MODE_TESTNET), + confirmations: 1, + siblings: getSiblings(DeploymentMode.PROD, ChainSlug.MODE_TESTNET), + }, + [ChainSlug.VICTION_TESTNET]: { + rpc: rpcs[ChainSlug.VICTION_TESTNET], + blockNumber: getBlockNumber( + DeploymentMode.PROD, + ChainSlug.VICTION_TESTNET + ), + confirmations: 1, + siblings: getSiblings(DeploymentMode.PROD, ChainSlug.VICTION_TESTNET), }, [ChainSlug.CDK_TESTNET]: { rpc: rpcs[ChainSlug.CDK_TESTNET], - // blockNumber:, + blockNumber: getBlockNumber(DeploymentMode.PROD, ChainSlug.CDK_TESTNET), + confirmations: 1, + siblings: getSiblings(DeploymentMode.PROD, ChainSlug.CDK_TESTNET), }, [ChainSlug.ARBITRUM_SEPOLIA]: { rpc: rpcs[ChainSlug.ARBITRUM_SEPOLIA], - // blockNumber:, + blockNumber: getBlockNumber( + DeploymentMode.PROD, + ChainSlug.ARBITRUM_SEPOLIA + ), + confirmations: 1, + siblings: getSiblings(DeploymentMode.PROD, ChainSlug.ARBITRUM_SEPOLIA), }, [ChainSlug.OPTIMISM_SEPOLIA]: { rpc: rpcs[ChainSlug.OPTIMISM_SEPOLIA], - // blockNumber:, + blockNumber: getBlockNumber( + DeploymentMode.PROD, + ChainSlug.OPTIMISM_SEPOLIA + ), + confirmations: 1, + siblings: getSiblings(DeploymentMode.PROD, ChainSlug.OPTIMISM_SEPOLIA), }, [ChainSlug.SEPOLIA]: { rpc: rpcs[ChainSlug.SEPOLIA], - // blockNumber:, + blockNumber: getBlockNumber(DeploymentMode.PROD, ChainSlug.SEPOLIA), + confirmations: 1, + siblings: getSiblings(DeploymentMode.PROD, ChainSlug.SEPOLIA), }, [ChainSlug.POLYGON_MUMBAI]: { rpc: rpcs[ChainSlug.POLYGON_MUMBAI], - // blockNumber:, + blockNumber: getBlockNumber( + DeploymentMode.PROD, + ChainSlug.POLYGON_MUMBAI + ), + confirmations: 1, + siblings: getSiblings(DeploymentMode.PROD, ChainSlug.POLYGON_MUMBAI), + }, + [ChainSlug.ANCIENT8_TESTNET]: { + rpc: rpcs[ChainSlug.ANCIENT8_TESTNET], + blockNumber: getBlockNumber( + DeploymentMode.PROD, + ChainSlug.ANCIENT8_TESTNET + ), + confirmations: 1, + siblings: getSiblings(DeploymentMode.PROD, ChainSlug.ANCIENT8_TESTNET), }, }, batcherSupportedChainSlugs: [ @@ -179,11 +323,14 @@ const prodConfig = { ChainSlug.POLYGON_MUMBAI, // ChainSlug.BSC_TESTNET, ChainSlug.LYRA_TESTNET, - ChainSlug.XAI_TESTNET, ChainSlug.SX_NETWORK_TESTNET, - ChainSlug.CDK_TESTNET, ChainSlug.ARBITRUM_SEPOLIA, ChainSlug.OPTIMISM_SEPOLIA, + ChainSlug.MODE_TESTNET, + ChainSlug.VICTION_TESTNET, + ChainSlug.BASE, + ChainSlug.MODE, + ChainSlug.ANCIENT8_TESTNET, ], watcherSupportedChainSlugs: [ ChainSlug.AEVO, @@ -202,9 +349,27 @@ const prodConfig = { ChainSlug.POLYGON_MUMBAI, // ChainSlug.BSC_TESTNET, ChainSlug.LYRA_TESTNET, - ChainSlug.XAI_TESTNET, ChainSlug.SX_NETWORK_TESTNET, - ChainSlug.CDK_TESTNET, + ChainSlug.ARBITRUM_SEPOLIA, + ChainSlug.OPTIMISM_SEPOLIA, + ChainSlug.MODE_TESTNET, + ChainSlug.VICTION_TESTNET, + ChainSlug.BASE, + ChainSlug.MODE, + ChainSlug.ANCIENT8_TESTNET, + ], + nativeSupportedChainSlugs: [ + ChainSlug.ARBITRUM, + ChainSlug.OPTIMISM, + ChainSlug.POLYGON_MAINNET, + ChainSlug.LYRA, + ChainSlug.MAINNET, + ChainSlug.ARBITRUM_GOERLI, + ChainSlug.OPTIMISM_GOERLI, + ChainSlug.GOERLI, + ChainSlug.SEPOLIA, + ChainSlug.POLYGON_MUMBAI, + ChainSlug.LYRA_TESTNET, ChainSlug.ARBITRUM_SEPOLIA, ChainSlug.OPTIMISM_SEPOLIA, ], diff --git a/src/enums/chainId.ts b/src/enums/chainId.ts index 40eb2f00..8597cac4 100644 --- a/src/enums/chainId.ts +++ b/src/enums/chainId.ts @@ -21,4 +21,9 @@ export enum ChainId { XAI_TESTNET = 47279324479, CDK_TESTNET = 686669576, SX_NETWORK_TESTNET = 647, + MODE_TESTNET = 919, + VICTION_TESTNET = 89, + BASE = 8453, + MODE = 34443, + ANCIENT8_TESTNET = 2863311531, } diff --git a/src/enums/chainSlug.ts b/src/enums/chainSlug.ts index 57fd26c1..869a8551 100644 --- a/src/enums/chainSlug.ts +++ b/src/enums/chainSlug.ts @@ -22,5 +22,10 @@ export enum ChainSlug { LYRA = ChainId.LYRA, XAI_TESTNET = 1399904803, SX_NETWORK_TESTNET = ChainId.SX_NETWORK_TESTNET, + MODE_TESTNET = ChainId.MODE_TESTNET, + VICTION_TESTNET = ChainId.VICTION_TESTNET, CDK_TESTNET = ChainId.CDK_TESTNET, + BASE = ChainId.BASE, + MODE = ChainId.MODE, + ANCIENT8_TESTNET = ChainId.ANCIENT8_TESTNET, } diff --git a/src/enums/chainSlugToId.ts b/src/enums/chainSlugToId.ts index bd4d0007..bb27135b 100644 --- a/src/enums/chainSlugToId.ts +++ b/src/enums/chainSlugToId.ts @@ -23,5 +23,10 @@ export const ChainSlugToId = { [ChainSlug.LYRA]: ChainId.LYRA, [ChainSlug.XAI_TESTNET]: ChainId.XAI_TESTNET, [ChainSlug.SX_NETWORK_TESTNET]: ChainId.SX_NETWORK_TESTNET, + [ChainSlug.MODE_TESTNET]: ChainId.MODE_TESTNET, + [ChainSlug.VICTION_TESTNET]: ChainId.VICTION_TESTNET, [ChainSlug.CDK_TESTNET]: ChainId.CDK_TESTNET, + [ChainSlug.BASE]: ChainId.BASE, + [ChainSlug.MODE]: ChainId.MODE, + [ChainSlug.ANCIENT8_TESTNET]: ChainId.ANCIENT8_TESTNET, }; diff --git a/src/enums/chainSlugToKey.ts b/src/enums/chainSlugToKey.ts index cd9f1e34..d43ce395 100644 --- a/src/enums/chainSlugToKey.ts +++ b/src/enums/chainSlugToKey.ts @@ -23,5 +23,10 @@ export const ChainSlugToKey = { [ChainSlug.LYRA]: HardhatChainName.LYRA, [ChainSlug.XAI_TESTNET]: HardhatChainName.XAI_TESTNET, [ChainSlug.SX_NETWORK_TESTNET]: HardhatChainName.SX_NETWORK_TESTNET, + [ChainSlug.MODE_TESTNET]: HardhatChainName.MODE_TESTNET, + [ChainSlug.VICTION_TESTNET]: HardhatChainName.VICTION_TESTNET, [ChainSlug.CDK_TESTNET]: HardhatChainName.CDK_TESTNET, + [ChainSlug.BASE]: HardhatChainName.BASE, + [ChainSlug.MODE]: HardhatChainName.MODE, + [ChainSlug.ANCIENT8_TESTNET]: HardhatChainName.ANCIENT8_TESTNET, }; diff --git a/src/enums/hardhatChainName.ts b/src/enums/hardhatChainName.ts index 03a56536..49bef81e 100644 --- a/src/enums/hardhatChainName.ts +++ b/src/enums/hardhatChainName.ts @@ -20,6 +20,11 @@ export enum HardhatChainName { LYRA = "lyra", XAI_TESTNET = "xai_testnet", SX_NETWORK_TESTNET = "sxn_testnet", + MODE_TESTNET = "mode_testnet", + VICTION_TESTNET = "viction_testnet", CDK_TESTNET = "cdk_testnet", HARDHAT = "hardhat", + BASE = "base", + MODE = "mode", + ANCIENT8_TESTNET = "ancient8_testnet", } diff --git a/src/enums/hardhatChainNameToSlug.ts b/src/enums/hardhatChainNameToSlug.ts index ba8b5ab0..7a76dacb 100644 --- a/src/enums/hardhatChainNameToSlug.ts +++ b/src/enums/hardhatChainNameToSlug.ts @@ -23,5 +23,10 @@ export const hardhatChainNameToSlug = { [HardhatChainName.LYRA]: ChainSlug.LYRA, [HardhatChainName.XAI_TESTNET]: ChainSlug.XAI_TESTNET, [HardhatChainName.SX_NETWORK_TESTNET]: ChainSlug.SX_NETWORK_TESTNET, + [HardhatChainName.MODE_TESTNET]: ChainSlug.MODE_TESTNET, + [HardhatChainName.VICTION_TESTNET]: ChainSlug.VICTION_TESTNET, [HardhatChainName.CDK_TESTNET]: ChainSlug.CDK_TESTNET, + [HardhatChainName.BASE]: ChainSlug.BASE, + [HardhatChainName.MODE]: ChainSlug.MODE, + [HardhatChainName.ANCIENT8_TESTNET]: ChainSlug.ANCIENT8_TESTNET, }; diff --git a/src/enums/mainnetIds.ts b/src/enums/mainnetIds.ts index e8eb2b3d..019999ed 100644 --- a/src/enums/mainnetIds.ts +++ b/src/enums/mainnetIds.ts @@ -8,4 +8,6 @@ export const MainnetIds: ChainSlug[] = [ ChainSlug.BSC, ChainSlug.AEVO, ChainSlug.LYRA, + ChainSlug.BASE, + ChainSlug.MODE, ]; diff --git a/src/enums/testnetIds.ts b/src/enums/testnetIds.ts index b57262e6..05d5aade 100644 --- a/src/enums/testnetIds.ts +++ b/src/enums/testnetIds.ts @@ -13,5 +13,8 @@ export const TestnetIds: ChainSlug[] = [ ChainSlug.LYRA_TESTNET, ChainSlug.XAI_TESTNET, ChainSlug.SX_NETWORK_TESTNET, + ChainSlug.MODE_TESTNET, + ChainSlug.VICTION_TESTNET, ChainSlug.CDK_TESTNET, + ChainSlug.ANCIENT8_TESTNET, ]; diff --git a/src/socket-types.ts b/src/socket-types.ts index 329d230a..6ff290e4 100644 --- a/src/socket-types.ts +++ b/src/socket-types.ts @@ -195,3 +195,17 @@ export const REQUIRED_CHAIN_ROLES = { FastSwitchboard2: [ROLES.WATCHER_ROLE, ROLES.FEES_UPDATER_ROLE], OptimisticSwitchboard: [ROLES.WATCHER_ROLE, ROLES.FEES_UPDATER_ROLE], }; + +export type S3Config = { + chains: { + [chainSlug in ChainSlug]?: { + rpc: string; + blockNumber: number; + confirmations: number; + siblings: ChainSlug[]; + }; + }; + batcherSupportedChainSlugs: ChainSlug[]; + watcherSupportedChainSlugs: ChainSlug[]; + nativeSupportedChainSlugs: ChainSlug[]; +}; diff --git a/yarn.lock b/yarn.lock index 4b82f1f3..ead239e6 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2027,12 +2027,13 @@ "@smithy/types" "^2.6.0" tslib "^2.5.0" -"@socket.tech/dl-core@2.4.13": - version "2.4.13" - resolved "https://registry.yarnpkg.com/@socket.tech/dl-core/-/dl-core-2.4.13.tgz#8dca3ad667f300881072ea2012976a4eea6ef7ac" - integrity sha512-buKoE3PtNC5ZhhFFCrgOxXcNEPh4A6z2V6HjySvKG1t2wNR1+iyyB5MxCCNZmMkoxUw4eb7CzrFeLMcqubdWWQ== +"@socket.tech/dl-core@2.4.15": + version "2.4.15" + resolved "https://registry.yarnpkg.com/@socket.tech/dl-core/-/dl-core-2.4.15.tgz#07e3b8b46a7e29129c6d9b45237c94f5de63b210" + integrity sha512-VQi4mdzZGukUQyzin4avxKs7Ia6u+ZbX6j4KOXoJGTzWEJE6LhzxybxOUCMlEfT1AKyrp+3N/rfLI0rQmTYWXw== dependencies: axios "^1.3.6" + prompts "^2.4.2" yargs "^17.7.1" "@solidity-parser/parser@^0.14.5":