diff --git a/.env.example b/.env.example index d22d3acb..e672b84b 100644 --- a/.env.example +++ b/.env.example @@ -64,6 +64,7 @@ MANTLE_RPC='' REYA_CRONOS_RPC='' REYA_RPC='' SYNDR_SEPOLIA_L3_RPC='' +POLYNOMIAL_TESTNET_RPC='' # update these settings # DEPLOYMENT_MODE="dev | surge | prod" diff --git a/deployments/prod_addresses.json b/deployments/prod_addresses.json index 9996350c..19d39266 100644 --- a/deployments/prod_addresses.json +++ b/deployments/prod_addresses.json @@ -2101,6 +2101,49 @@ "SwitchboardSimulator": "0x9a0E5dddc09634819e9Cc53030eaAd3203f63061", "CapacitorSimulator": "0x6E27023F84Cd27d0E7EdB19e697B430525C633b9" }, + "80008": { + "SignatureVerifier": "0x2b42AFFD4b7C14d9B7C2579229495c052672Ccd3", + "Hasher": "0x8537307810fC40F4073A12a38554D4Ff78EfFf41", + "CapacitorFactory": "0x565810cbfa3Cf1390963E5aFa2fB953795686339", + "Socket": "0xc317144DE60E6bC9455363bB09852C00bd14CD61", + "ExecutionManager": "0xbDf50eAe568ECef74796ed6022a0d453e8432410", + "TransmitManager": "0x8f9EaEe5c5df888aBA3c1Ab19689a0660d042c6d", + "FastSwitchboard": "0x57D1Aeafb6a2b7Bd4954e47a556622161A8c0A65", + "OptimisticSwitchboard": "0xaa3d9fA3aB930aE635b001d00C612aa5b14d750e", + "SocketBatcher": "0xd286595d2e3D879596FAB51f83A702D10a6db27b", + "Counter": "0xA7649aa944b7Dce781859C18913c2Dc8A97f03e4", + "SocketSimulator": "0x852C5DE08b9beB014caD171C16B12a8D7456ea3f", + "SimulatorUtils": "0x040993fbF458b95871Cd2D73Ee2E09F4AF6d56bB", + "SwitchboardSimulator": "0xBE51D38547992293c89CC589105784ab60b004A9", + "CapacitorSimulator": "0x22d71d05cB5747C7Aa60c96B82e0c1fA51306ba4", + "startBlock": 897368, + "integrations": { + "421614": { + "FAST": { + "capacitor": "0xB4Ca08934052A664Fd1D5c5d206a66a5684D95Cf", + "decapacitor": "0x5A7A6Ac35E886FfaBF773bA8B94313E6Fb1dDc86", + "switchboard": "0x57D1Aeafb6a2b7Bd4954e47a556622161A8c0A65" + }, + "OPTIMISTIC": { + "capacitor": "0xDAc077a030b43CF7771d954E46b8408A2526B99F", + "decapacitor": "0x77F88b197dEF6b531fB4d67B77D5F0BD19182f27", + "switchboard": "0xaa3d9fA3aB930aE635b001d00C612aa5b14d750e" + } + }, + "11155420": { + "FAST": { + "capacitor": "0x32588ee44eA7014e7E8C37954141cb56681179ca", + "decapacitor": "0x15a815152CF82a83FD6fe325409AEF8998C491A8", + "switchboard": "0x57D1Aeafb6a2b7Bd4954e47a556622161A8c0A65" + }, + "OPTIMISTIC": { + "capacitor": "0xFFB1668F7978C67B385acB40AB9A9ada879a1271", + "decapacitor": "0xa6b874Ca1AcF2c453b614cCEB022cFE91E2f37bC", + "switchboard": "0xaa3d9fA3aB930aE635b001d00C612aa5b14d750e" + } + } + } + }, "421613": { "SignatureVerifier": "0x52e987409522F2abeaD9A66B87B8914Dc5A071D9", "Hasher": "0x9737201f185df1d8d1165776af0bF08874711F1f", @@ -2275,6 +2318,18 @@ "switchboard": "0xEDF6dB2f3BC8deE014762e0141EE4CA19d685dBd" } }, + "80008": { + "FAST": { + "capacitor": "0x22B47AeAd347c7C3504b7b8F809f8299644141c5", + "decapacitor": "0xB37ae8fbdFF741cC7d36b05eEB95a9Aaf95F430f", + "switchboard": "0xB9EDe9aaEaA40e35033ABBC872D141950d08cc4d" + }, + "OPTIMISTIC": { + "capacitor": "0xa15d28D33FbD0eE67C456076F9d2A2B48F847804", + "decapacitor": "0x3B9c5A6991874525ba5E44cB113B871b818d2b44", + "switchboard": "0xEDF6dB2f3BC8deE014762e0141EE4CA19d685dBd" + } + }, "444444": { "FAST": { "capacitor": "0x59309f3dEa6449190Bdd22d19933986264344dae", @@ -2821,6 +2876,18 @@ "switchboard": "0xEDF6dB2f3BC8deE014762e0141EE4CA19d685dBd" } }, + "80008": { + "FAST": { + "capacitor": "0x59309f3dEa6449190Bdd22d19933986264344dae", + "decapacitor": "0x9B5e26E853c8b3B618F08aE22f5030135808CbD4", + "switchboard": "0xB9EDe9aaEaA40e35033ABBC872D141950d08cc4d" + }, + "OPTIMISTIC": { + "capacitor": "0x22B47AeAd347c7C3504b7b8F809f8299644141c5", + "decapacitor": "0xB37ae8fbdFF741cC7d36b05eEB95a9Aaf95F430f", + "switchboard": "0xEDF6dB2f3BC8deE014762e0141EE4CA19d685dBd" + } + }, "421614": { "FAST": { "capacitor": "0xfb359419f485B4d2B295a2754C65fd0b46e33fC9", @@ -2924,7 +2991,11 @@ } }, "startBlock": 9038278, - "Counter": "0xD9e492C3899aC768F67aD9AdC0Ce88aAB5463f60" + "Counter": "0xD9e492C3899aC768F67aD9AdC0Ce88aAB5463f60", + "SocketSimulator": "0xfB0EAB1261bB71254D4a8cC6DBF151b53D34781C", + "SimulatorUtils": "0x0a3451e8546458Dfd60D81f90d2E495398E58F87", + "SwitchboardSimulator": "0xDfD12C02B718e2a9Ec97852A5B22A8f9aE194Cd0", + "CapacitorSimulator": "0x7eF9a604dcAA1458F4bBfB4409c59Ca776153970" }, "28122024": { "SignatureVerifier": "0x6D290609b3F5F02D52F28d97C75a443ED8564cBf", diff --git a/deployments/prod_verification.json b/deployments/prod_verification.json index d32840df..c5f891a3 100644 --- a/deployments/prod_verification.json +++ b/deployments/prod_verification.json @@ -2522,6 +2522,135 @@ ["0x752B38FA38F53dF7fa60e6113CFd9094b7e040Aa"] ] ], + "80008": [ + [ + "0xBE51D38547992293c89CC589105784ab60b004A9", + "SwitchboardSimulator", + "contracts/mocks/fee-updater/SwitchboardSimulator.sol", + [ + "0x5fD7D0d6b91CC4787Bcb86ca47e0Bd4ea0346d34", + "0x852C5DE08b9beB014caD171C16B12a8D7456ea3f", + 80008, + 1000, + "0x2b42AFFD4b7C14d9B7C2579229495c052672Ccd3" + ] + ], + [ + "0x040993fbF458b95871Cd2D73Ee2E09F4AF6d56bB", + "SimulatorUtils", + "contracts/mocks/fee-updater/SimulatorUtils.sol", + [ + "0x852C5DE08b9beB014caD171C16B12a8D7456ea3f", + "0x2b42AFFD4b7C14d9B7C2579229495c052672Ccd3", + "0x5fD7D0d6b91CC4787Bcb86ca47e0Bd4ea0346d34", + 80008 + ] + ], + [ + "0x852C5DE08b9beB014caD171C16B12a8D7456ea3f", + "SocketSimulator", + "contracts/mocks/fee-updater/SocketSimulator.sol", + [ + 80008, + 80008, + "0x8537307810fC40F4073A12a38554D4Ff78EfFf41", + "0x2b42AFFD4b7C14d9B7C2579229495c052672Ccd3", + { + "dev": "IMLI", + "surge": "IMLI", + "prod": "IMLI" + } + ] + ], + [ + "0xA7649aa944b7Dce781859C18913c2Dc8A97f03e4", + "Counter", + "contracts/examples/Counter.sol", + ["0xc317144DE60E6bC9455363bB09852C00bd14CD61"] + ], + [ + "0xd286595d2e3D879596FAB51f83A702D10a6db27b", + "SocketBatcher", + "contracts/socket/SocketBatcher.sol", + ["0x5fD7D0d6b91CC4787Bcb86ca47e0Bd4ea0346d34"] + ], + [ + "0xaa3d9fA3aB930aE635b001d00C612aa5b14d750e", + "OptimisticSwitchboard", + "contracts/switchboard/default-switchboards/OptimisticSwitchboard.sol", + [ + "0x5fD7D0d6b91CC4787Bcb86ca47e0Bd4ea0346d34", + "0xc317144DE60E6bC9455363bB09852C00bd14CD61", + 80008, + 7200, + "0x2b42AFFD4b7C14d9B7C2579229495c052672Ccd3" + ] + ], + [ + "0x57D1Aeafb6a2b7Bd4954e47a556622161A8c0A65", + "FastSwitchboard", + "contracts/switchboard/default-switchboards/FastSwitchboard.sol", + [ + "0x5fD7D0d6b91CC4787Bcb86ca47e0Bd4ea0346d34", + "0xc317144DE60E6bC9455363bB09852C00bd14CD61", + 80008, + 7200, + "0x2b42AFFD4b7C14d9B7C2579229495c052672Ccd3" + ] + ], + [ + "0x8f9EaEe5c5df888aBA3c1Ab19689a0660d042c6d", + "TransmitManager", + "contracts/TransmitManager.sol", + [ + "0x5fD7D0d6b91CC4787Bcb86ca47e0Bd4ea0346d34", + 80008, + "0xc317144DE60E6bC9455363bB09852C00bd14CD61", + "0x2b42AFFD4b7C14d9B7C2579229495c052672Ccd3" + ] + ], + [ + "0xbDf50eAe568ECef74796ed6022a0d453e8432410", + "ExecutionManager", + "contracts/ExecutionManager.sol", + [ + "0x5fD7D0d6b91CC4787Bcb86ca47e0Bd4ea0346d34", + 80008, + "0xc317144DE60E6bC9455363bB09852C00bd14CD61", + "0x2b42AFFD4b7C14d9B7C2579229495c052672Ccd3" + ] + ], + [ + "0xc317144DE60E6bC9455363bB09852C00bd14CD61", + "Socket", + "contracts/socket/Socket.sol", + [ + 80008, + "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"] + ] + ], "421613": [ [ "0x7043637C53c7fFc96227a1943be0BeeA2baef242", @@ -3236,6 +3365,45 @@ ] ], "11155420": [ + [ + "0xDfD12C02B718e2a9Ec97852A5B22A8f9aE194Cd0", + "SwitchboardSimulator", + "contracts/mocks/fee-updater/SwitchboardSimulator.sol", + [ + "0x5fD7D0d6b91CC4787Bcb86ca47e0Bd4ea0346d34", + "0xfB0EAB1261bB71254D4a8cC6DBF151b53D34781C", + 11155420, + 1000, + "0x47140353947Bc127c9cf36fabd61112C8Fb8db2A" + ] + ], + [ + "0x0a3451e8546458Dfd60D81f90d2E495398E58F87", + "SimulatorUtils", + "contracts/mocks/fee-updater/SimulatorUtils.sol", + [ + "0xfB0EAB1261bB71254D4a8cC6DBF151b53D34781C", + "0x47140353947Bc127c9cf36fabd61112C8Fb8db2A", + "0x5fD7D0d6b91CC4787Bcb86ca47e0Bd4ea0346d34", + 11155420 + ] + ], + [ + "0xfB0EAB1261bB71254D4a8cC6DBF151b53D34781C", + "SocketSimulator", + "contracts/mocks/fee-updater/SocketSimulator.sol", + [ + 11155420, + 11155420, + "0x9814d1E6751ADAE2D60fF16f987ae02a25C87224", + "0x47140353947Bc127c9cf36fabd61112C8Fb8db2A", + { + "dev": "IMLI", + "surge": "IMLI", + "prod": "IMLI" + } + ] + ], [ "0xD9e492C3899aC768F67aD9AdC0Ce88aAB5463f60", "Counter", diff --git a/hardhat.config.ts b/hardhat.config.ts index 37d1ff33..52d32482 100644 --- a/hardhat.config.ts +++ b/hardhat.config.ts @@ -94,6 +94,9 @@ if (isProduction) { [HardhatChainName.SYNDR_SEPOLIA_L3]: getChainConfig( ChainId.SYNDR_SEPOLIA_L3 ), + [HardhatChainName.POLYNOMIAL_TESTNET]: getChainConfig( + ChainId.POLYNOMIAL_TESTNET + ), }; } diff --git a/package.json b/package.json index 0d7ed24d..f188c04c 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@socket.tech/dl-core", "license": "UNLICENSED", - "version": "2.4.37-test.2", + "version": "2.4.37", "description": "Smart contracts for socket data layer.", "main": "./dist/src/index.js", "types": "./dist/src/index.d.ts", diff --git a/scripts/constants/networks.ts b/scripts/constants/networks.ts index 5e445ad0..a570f00b 100644 --- a/scripts/constants/networks.ts +++ b/scripts/constants/networks.ts @@ -179,6 +179,11 @@ export function getJsonRpcUrl(chain: HardhatChainName | ChainId): string { jsonRpcUrl = process.env.SYNDR_SEPOLIA_L3_RPC as string; break; + case HardhatChainName.POLYNOMIAL_TESTNET: + case ChainId.POLYNOMIAL_TESTNET: + jsonRpcUrl = process.env.POLYNOMIAL_TESTNET_RPC as string; + break; + case HardhatChainName.HARDHAT: case ChainId.HARDHAT: jsonRpcUrl = "http://127.0.0.1:8545/"; diff --git a/scripts/deploy/config.ts b/scripts/deploy/config.ts index 4d9fc498..fd600384 100644 --- a/scripts/deploy/config.ts +++ b/scripts/deploy/config.ts @@ -31,8 +31,8 @@ console.log( export const chains: Array = [ // ChainSlug.GOERLI, - // ChainSlug.ARBITRUM_SEPOLIA, - // ChainSlug.OPTIMISM_SEPOLIA, + ChainSlug.ARBITRUM_SEPOLIA, + ChainSlug.OPTIMISM_SEPOLIA, // ChainSlug.POLYGON_MUMBAI, // ChainSlug.SX_NETWORK_TESTNET, // ChainSlug.SX_NETWORK, @@ -45,10 +45,10 @@ export const chains: Array = [ // ChainSlug.XAI_TESTNET, // ChainSlug.CDK_TESTNET, // ChainSlug.AEVO, - ChainSlug.MAINNET, - ChainSlug.ARBITRUM, - ChainSlug.OPTIMISM, - ChainSlug.POLYGON_MAINNET, + // ChainSlug.MAINNET, + // ChainSlug.ARBITRUM, + // ChainSlug.OPTIMISM, + // ChainSlug.POLYGON_MAINNET, // ChainSlug.LYRA, // ChainSlug.BSC, // ChainSlug.BASE, @@ -61,7 +61,8 @@ export const chains: Array = [ // ChainSlug.PARALLEL, // ChainSlug.MANTLE, // ChainSlug.REYA_CRONOS, - ChainSlug.REYA, + // ChainSlug.REYA, + ChainSlug.POLYNOMIAL_TESTNET, ]; export const executionManagerVersion = CORE_CONTRACTS.ExecutionManager; @@ -125,9 +126,9 @@ export const overrides = ( }; } else if (chain == ChainSlug.ARBITRUM_SEPOLIA) { return { - type, - gasLimit: 500_000_000, - gasPrice, + type: 1, + gasLimit: 50_000_000, + gasPrice: 1_867_830_000, }; } else if (chain == ChainSlug.OPTIMISM) { return { @@ -143,9 +144,9 @@ export const overrides = ( }; } else if (chain == ChainSlug.OPTIMISM_SEPOLIA) { return { - type, - gasLimit: 2_000_000, - gasPrice, + type: 1, + gasLimit: 5_000_000, + gasPrice: 4_000_000_000, }; } else if (chain == ChainSlug.BSC) { return { @@ -261,6 +262,12 @@ export const overrides = ( // gasLimit: 20000000, gasPrice: 0, }; + } else if (chain == ChainSlug.POLYNOMIAL_TESTNET) { + return { + type, + gasLimit: 4_000_000, + gasPrice, + }; } else if (chainConfig[chain] && chainConfig[chain].overrides) { return chainConfig[chain].overrides!; } else return { type, gasLimit, gasPrice }; diff --git a/scripts/rpcConfig/rpcConfig.ts b/scripts/rpcConfig/rpcConfig.ts index f8666ca7..6a518ae1 100644 --- a/scripts/rpcConfig/rpcConfig.ts +++ b/scripts/rpcConfig/rpcConfig.ts @@ -8,6 +8,8 @@ import { TestnetIds, MainnetIds, getAllAddresses, + NativeTokens, + ChainType, } from "../../src"; import dotenv from "dotenv"; @@ -89,6 +91,7 @@ const rpcs = { [ChainSlug.HOOK_TESTNET]: checkEnvVar("HOOK_TESTNET_RPC"), [ChainSlug.REYA_CRONOS]: checkEnvVar("REYA_CRONOS_RPC"), [ChainSlug.SYNDR_SEPOLIA_L3]: checkEnvVar("SYNDR_SEPOLIA_L3_RPC"), + [ChainSlug.POLYNOMIAL_TESTNET]: checkEnvVar("POLYNOMIAL_TESTNET_RPC"), [ChainSlug.CDK_TESTNET]: checkEnvVar("CDK_TESTNET_RPC"), }; @@ -100,24 +103,32 @@ const devConfig: S3Config = { blockNumber: 1430261, confirmations: 1, siblings: getSiblings(DeploymentMode.DEV, ChainSlug.ARBITRUM_SEPOLIA), + nativeToken: NativeTokens.ethereum, + chainType: ChainType.default, }, [ChainSlug.OPTIMISM_SEPOLIA]: { rpc: rpcs[ChainSlug.OPTIMISM_SEPOLIA], blockNumber: 4475713, confirmations: 1, siblings: getSiblings(DeploymentMode.DEV, ChainSlug.OPTIMISM_SEPOLIA), + nativeToken: NativeTokens.ethereum, + chainType: ChainType.opStackL2Chain, }, [ChainSlug.SEPOLIA]: { rpc: rpcs[ChainSlug.SEPOLIA], blockNumber: 4751027, confirmations: 1, siblings: getSiblings(DeploymentMode.DEV, ChainSlug.SEPOLIA), + nativeToken: NativeTokens.ethereum, + chainType: ChainType.default, }, [ChainSlug.POLYGON_MUMBAI]: { rpc: rpcs[ChainSlug.POLYGON_MUMBAI], blockNumber: 42750896, confirmations: 5, siblings: getSiblings(DeploymentMode.DEV, ChainSlug.POLYGON_MUMBAI), + nativeToken: NativeTokens.ethereum, + chainType: ChainType.default, }, }, batcherSupportedChainSlugs: [ @@ -145,37 +156,47 @@ const devConfig: S3Config = { }; const prodConfig: S3Config = { - version: "prod-1.0.1", + version: "prod-1.0.2", chains: { [ChainSlug.AEVO]: { rpc: rpcs[ChainSlug.AEVO], blockNumber: getBlockNumber(DeploymentMode.PROD, ChainSlug.AEVO), confirmations: 2, siblings: getSiblings(DeploymentMode.PROD, ChainSlug.AEVO), + nativeToken: NativeTokens.ethereum, + chainType: ChainType.opStackL2Chain, }, [ChainSlug.ARBITRUM]: { rpc: rpcs[ChainSlug.ARBITRUM], blockNumber: getBlockNumber(DeploymentMode.PROD, ChainSlug.ARBITRUM), confirmations: 1, siblings: getSiblings(DeploymentMode.PROD, ChainSlug.ARBITRUM), + nativeToken: NativeTokens.ethereum, + chainType: ChainType.arbChain, }, [ChainSlug.LYRA]: { rpc: rpcs[ChainSlug.LYRA], blockNumber: getBlockNumber(DeploymentMode.PROD, ChainSlug.LYRA), confirmations: 2, siblings: getSiblings(DeploymentMode.PROD, ChainSlug.LYRA), + nativeToken: NativeTokens.ethereum, + chainType: ChainType.opStackL2Chain, }, [ChainSlug.OPTIMISM]: { rpc: rpcs[ChainSlug.OPTIMISM], blockNumber: getBlockNumber(DeploymentMode.PROD, ChainSlug.OPTIMISM), confirmations: 15, siblings: getSiblings(DeploymentMode.PROD, ChainSlug.OPTIMISM), + nativeToken: NativeTokens.ethereum, + chainType: ChainType.opStackL2Chain, }, [ChainSlug.BSC]: { rpc: rpcs[ChainSlug.BSC], blockNumber: getBlockNumber(DeploymentMode.PROD, ChainSlug.BSC), confirmations: 1, siblings: getSiblings(DeploymentMode.PROD, ChainSlug.BSC), + nativeToken: NativeTokens.binancecoin, + chainType: ChainType.default, }, [ChainSlug.POLYGON_MAINNET]: { rpc: rpcs[ChainSlug.POLYGON_MAINNET], @@ -185,24 +206,32 @@ const prodConfig: S3Config = { ), confirmations: 256, siblings: getSiblings(DeploymentMode.PROD, ChainSlug.POLYGON_MAINNET), + nativeToken: NativeTokens["matic-network"], + chainType: ChainType.default, }, [ChainSlug.MAINNET]: { rpc: rpcs[ChainSlug.MAINNET], blockNumber: getBlockNumber(DeploymentMode.PROD, ChainSlug.MAINNET), confirmations: 18, siblings: getSiblings(DeploymentMode.PROD, ChainSlug.MAINNET), + nativeToken: NativeTokens.ethereum, + chainType: ChainType.default, }, [ChainSlug.BASE]: { rpc: rpcs[ChainSlug.BASE], blockNumber: getBlockNumber(DeploymentMode.PROD, ChainSlug.BASE), confirmations: 1, siblings: getSiblings(DeploymentMode.PROD, ChainSlug.BASE), + nativeToken: NativeTokens.ethereum, + chainType: ChainType.opStackL2Chain, }, [ChainSlug.MODE]: { rpc: rpcs[ChainSlug.MODE], blockNumber: getBlockNumber(DeploymentMode.PROD, ChainSlug.MODE), confirmations: 2, siblings: getSiblings(DeploymentMode.PROD, ChainSlug.MODE), + nativeToken: NativeTokens.ethereum, + chainType: ChainType.opStackL2Chain, }, [ChainSlug.ARBITRUM_GOERLI]: { @@ -213,18 +242,24 @@ const prodConfig: S3Config = { ), confirmations: 1, siblings: getSiblings(DeploymentMode.PROD, ChainSlug.ARBITRUM_GOERLI), + nativeToken: NativeTokens.ethereum, + chainType: ChainType.arbChain, }, [ChainSlug.AEVO_TESTNET]: { rpc: rpcs[ChainSlug.AEVO_TESTNET], blockNumber: getBlockNumber(DeploymentMode.PROD, ChainSlug.AEVO_TESTNET), confirmations: 1, siblings: getSiblings(DeploymentMode.PROD, ChainSlug.AEVO_TESTNET), + nativeToken: NativeTokens.ethereum, + chainType: ChainType.opStackL2Chain, }, [ChainSlug.LYRA_TESTNET]: { rpc: rpcs[ChainSlug.LYRA_TESTNET], blockNumber: getBlockNumber(DeploymentMode.PROD, ChainSlug.LYRA_TESTNET), confirmations: 1, siblings: getSiblings(DeploymentMode.PROD, ChainSlug.LYRA_TESTNET), + nativeToken: NativeTokens.ethereum, + chainType: ChainType.opStackL2Chain, }, [ChainSlug.OPTIMISM_GOERLI]: { rpc: rpcs[ChainSlug.OPTIMISM_GOERLI], @@ -234,24 +269,32 @@ const prodConfig: S3Config = { ), confirmations: 1, siblings: getSiblings(DeploymentMode.PROD, ChainSlug.OPTIMISM_GOERLI), + nativeToken: NativeTokens.ethereum, + chainType: ChainType.opStackL2Chain, }, [ChainSlug.BSC_TESTNET]: { rpc: rpcs[ChainSlug.BSC_TESTNET], blockNumber: getBlockNumber(DeploymentMode.PROD, ChainSlug.BSC_TESTNET), confirmations: 1, siblings: getSiblings(DeploymentMode.PROD, ChainSlug.BSC_TESTNET), + nativeToken: NativeTokens.binancecoin, + chainType: ChainType.default, }, [ChainSlug.GOERLI]: { rpc: rpcs[ChainSlug.GOERLI], blockNumber: getBlockNumber(DeploymentMode.PROD, ChainSlug.GOERLI), confirmations: 1, siblings: getSiblings(DeploymentMode.PROD, ChainSlug.GOERLI), + nativeToken: NativeTokens.ethereum, + chainType: ChainType.default, }, [ChainSlug.XAI_TESTNET]: { rpc: rpcs[ChainSlug.XAI_TESTNET], blockNumber: getBlockNumber(DeploymentMode.PROD, ChainSlug.XAI_TESTNET), confirmations: 1, siblings: getSiblings(DeploymentMode.PROD, ChainSlug.XAI_TESTNET), + nativeToken: NativeTokens.ethereum, + chainType: ChainType.polygonCDKChain, }, [ChainSlug.SX_NETWORK_TESTNET]: { rpc: rpcs[ChainSlug.SX_NETWORK_TESTNET], @@ -261,18 +304,24 @@ const prodConfig: S3Config = { ), confirmations: 1, siblings: getSiblings(DeploymentMode.PROD, ChainSlug.SX_NETWORK_TESTNET), + nativeToken: NativeTokens["sx-network-2"], + chainType: ChainType.arbL3Chain, }, [ChainSlug.SX_NETWORK]: { rpc: rpcs[ChainSlug.SX_NETWORK], blockNumber: getBlockNumber(DeploymentMode.PROD, ChainSlug.SX_NETWORK), confirmations: 1, siblings: getSiblings(DeploymentMode.PROD, ChainSlug.SX_NETWORK), + nativeToken: NativeTokens["sx-network-2"], + chainType: ChainType.arbL3Chain, }, [ChainSlug.MODE_TESTNET]: { rpc: rpcs[ChainSlug.MODE_TESTNET], blockNumber: getBlockNumber(DeploymentMode.PROD, ChainSlug.MODE_TESTNET), confirmations: 1, siblings: getSiblings(DeploymentMode.PROD, ChainSlug.MODE_TESTNET), + nativeToken: NativeTokens.ethereum, + chainType: ChainType.opStackL2Chain, }, [ChainSlug.VICTION_TESTNET]: { rpc: rpcs[ChainSlug.VICTION_TESTNET], @@ -282,12 +331,16 @@ const prodConfig: S3Config = { ), confirmations: 1, siblings: getSiblings(DeploymentMode.PROD, ChainSlug.VICTION_TESTNET), + nativeToken: NativeTokens.ethereum, + chainType: ChainType.default, }, [ChainSlug.CDK_TESTNET]: { rpc: rpcs[ChainSlug.CDK_TESTNET], blockNumber: getBlockNumber(DeploymentMode.PROD, ChainSlug.CDK_TESTNET), confirmations: 1, siblings: getSiblings(DeploymentMode.PROD, ChainSlug.CDK_TESTNET), + nativeToken: NativeTokens.ethereum, + chainType: ChainType.default, }, [ChainSlug.ARBITRUM_SEPOLIA]: { rpc: rpcs[ChainSlug.ARBITRUM_SEPOLIA], @@ -297,6 +350,8 @@ const prodConfig: S3Config = { ), confirmations: 1, siblings: getSiblings(DeploymentMode.PROD, ChainSlug.ARBITRUM_SEPOLIA), + nativeToken: NativeTokens.ethereum, + chainType: ChainType.arbChain, }, [ChainSlug.OPTIMISM_SEPOLIA]: { rpc: rpcs[ChainSlug.OPTIMISM_SEPOLIA], @@ -306,12 +361,16 @@ const prodConfig: S3Config = { ), confirmations: 1, siblings: getSiblings(DeploymentMode.PROD, ChainSlug.OPTIMISM_SEPOLIA), + nativeToken: NativeTokens.ethereum, + chainType: ChainType.opStackL2Chain, }, [ChainSlug.SEPOLIA]: { rpc: rpcs[ChainSlug.SEPOLIA], blockNumber: getBlockNumber(DeploymentMode.PROD, ChainSlug.SEPOLIA), confirmations: 1, siblings: getSiblings(DeploymentMode.PROD, ChainSlug.SEPOLIA), + nativeToken: NativeTokens.ethereum, + chainType: ChainType.default, }, [ChainSlug.POLYGON_MUMBAI]: { rpc: rpcs[ChainSlug.POLYGON_MUMBAI], @@ -321,6 +380,8 @@ const prodConfig: S3Config = { ), confirmations: 1, siblings: getSiblings(DeploymentMode.PROD, ChainSlug.POLYGON_MUMBAI), + nativeToken: NativeTokens["matic-network"], + chainType: ChainType.default, }, [ChainSlug.ANCIENT8_TESTNET]: { rpc: rpcs[ChainSlug.ANCIENT8_TESTNET], @@ -330,6 +391,8 @@ const prodConfig: S3Config = { ), confirmations: 1, siblings: getSiblings(DeploymentMode.PROD, ChainSlug.ANCIENT8_TESTNET), + nativeToken: NativeTokens.ethereum, + chainType: ChainType.default, }, [ChainSlug.ANCIENT8_TESTNET2]: { rpc: rpcs[ChainSlug.ANCIENT8_TESTNET2], @@ -339,42 +402,56 @@ const prodConfig: S3Config = { ), confirmations: 1, siblings: getSiblings(DeploymentMode.PROD, ChainSlug.ANCIENT8_TESTNET2), + nativeToken: NativeTokens.ethereum, + chainType: ChainType.default, }, [ChainSlug.HOOK_TESTNET]: { rpc: rpcs[ChainSlug.HOOK_TESTNET], blockNumber: getBlockNumber(DeploymentMode.PROD, ChainSlug.HOOK_TESTNET), confirmations: 1, siblings: getSiblings(DeploymentMode.PROD, ChainSlug.HOOK_TESTNET), + nativeToken: NativeTokens.ethereum, + chainType: ChainType.default, }, [ChainSlug.HOOK]: { rpc: rpcs[ChainSlug.HOOK], blockNumber: getBlockNumber(DeploymentMode.PROD, ChainSlug.HOOK), confirmations: 1, siblings: getSiblings(DeploymentMode.PROD, ChainSlug.HOOK), + nativeToken: NativeTokens.ethereum, + chainType: ChainType.default, }, [ChainSlug.PARALLEL]: { rpc: rpcs[ChainSlug.PARALLEL], blockNumber: getBlockNumber(DeploymentMode.PROD, ChainSlug.PARALLEL), confirmations: 1, siblings: getSiblings(DeploymentMode.PROD, ChainSlug.PARALLEL), + nativeToken: NativeTokens.ethereum, + chainType: ChainType.default, }, [ChainSlug.MANTLE]: { rpc: rpcs[ChainSlug.MANTLE], blockNumber: getBlockNumber(DeploymentMode.PROD, ChainSlug.MANTLE), confirmations: 1, siblings: getSiblings(DeploymentMode.PROD, ChainSlug.MANTLE), + nativeToken: NativeTokens.mantle, + chainType: ChainType.default, }, [ChainSlug.REYA_CRONOS]: { rpc: rpcs[ChainSlug.REYA_CRONOS], blockNumber: getBlockNumber(DeploymentMode.PROD, ChainSlug.REYA_CRONOS), confirmations: 0, siblings: getSiblings(DeploymentMode.PROD, ChainSlug.REYA_CRONOS), + nativeToken: NativeTokens.ethereum, + chainType: ChainType.arbChain, }, [ChainSlug.REYA]: { rpc: rpcs[ChainSlug.REYA], blockNumber: getBlockNumber(DeploymentMode.PROD, ChainSlug.REYA), confirmations: 0, siblings: getSiblings(DeploymentMode.PROD, ChainSlug.REYA), + nativeToken: NativeTokens.ethereum, + chainType: ChainType.arbChain, }, [ChainSlug.SYNDR_SEPOLIA_L3]: { rpc: rpcs[ChainSlug.SYNDR_SEPOLIA_L3], @@ -384,6 +461,19 @@ const prodConfig: S3Config = { ), confirmations: 1, siblings: getSiblings(DeploymentMode.PROD, ChainSlug.SYNDR_SEPOLIA_L3), + nativeToken: NativeTokens.ethereum, + chainType: ChainType.default, + }, + [ChainSlug.POLYNOMIAL_TESTNET]: { + rpc: rpcs[ChainSlug.POLYNOMIAL_TESTNET], + blockNumber: getBlockNumber( + DeploymentMode.PROD, + ChainSlug.POLYNOMIAL_TESTNET + ), + confirmations: 1, + siblings: getSiblings(DeploymentMode.PROD, ChainSlug.POLYNOMIAL_TESTNET), + nativeToken: NativeTokens.ethereum, + chainType: ChainType.opStackL2Chain, }, }, batcherSupportedChainSlugs: [ @@ -420,6 +510,7 @@ const prodConfig: S3Config = { ChainSlug.HOOK_TESTNET, ChainSlug.REYA_CRONOS, ChainSlug.SYNDR_SEPOLIA_L3, + ChainSlug.POLYNOMIAL_TESTNET, ], watcherSupportedChainSlugs: [ ChainSlug.AEVO, @@ -455,6 +546,7 @@ const prodConfig: S3Config = { ChainSlug.HOOK_TESTNET, ChainSlug.REYA_CRONOS, ChainSlug.SYNDR_SEPOLIA_L3, + ChainSlug.POLYNOMIAL_TESTNET, ], nativeSupportedChainSlugs: [ ChainSlug.ARBITRUM, diff --git a/src/enums/chain-type.ts b/src/enums/chain-type.ts index 09a13f96..e3050f93 100644 --- a/src/enums/chain-type.ts +++ b/src/enums/chain-type.ts @@ -43,4 +43,5 @@ export const ethLikeChains = [ ChainSlug.ANCIENT8_TESTNET2, ChainSlug.REYA_CRONOS, ChainSlug.REYA, + ChainSlug.POLYNOMIAL_TESTNET, ]; diff --git a/src/enums/chainId.ts b/src/enums/chainId.ts index 66a7b227..7f71b376 100644 --- a/src/enums/chainId.ts +++ b/src/enums/chainId.ts @@ -35,4 +35,5 @@ export enum ChainId { REYA_CRONOS = 89346161, REYA = 1729, SYNDR_SEPOLIA_L3 = 444444, + POLYNOMIAL_TESTNET = 80008, } diff --git a/src/enums/chainSlug.ts b/src/enums/chainSlug.ts index 2e592df6..dc14481a 100644 --- a/src/enums/chainSlug.ts +++ b/src/enums/chainSlug.ts @@ -37,4 +37,5 @@ export enum ChainSlug { REYA_CRONOS = ChainId.REYA_CRONOS, REYA = 1324967486, SYNDR_SEPOLIA_L3 = ChainId.SYNDR_SEPOLIA_L3, + POLYNOMIAL_TESTNET = ChainId.POLYNOMIAL_TESTNET, } diff --git a/src/enums/chainSlugToHardhatChainName.ts b/src/enums/chainSlugToHardhatChainName.ts index 76e971ee..719d41f3 100644 --- a/src/enums/chainSlugToHardhatChainName.ts +++ b/src/enums/chainSlugToHardhatChainName.ts @@ -38,4 +38,5 @@ export const chainSlugToHardhatChainName = { [ChainSlug.REYA_CRONOS]: HardhatChainName.REYA_CRONOS, [ChainSlug.REYA]: HardhatChainName.REYA, [ChainSlug.SYNDR_SEPOLIA_L3]: HardhatChainName.SYNDR_SEPOLIA_L3, + [ChainSlug.POLYNOMIAL_TESTNET]: HardhatChainName.POLYNOMIAL_TESTNET, }; diff --git a/src/enums/chainSlugToId.ts b/src/enums/chainSlugToId.ts index a7529e7f..a2cf8b5b 100644 --- a/src/enums/chainSlugToId.ts +++ b/src/enums/chainSlugToId.ts @@ -38,4 +38,5 @@ export const ChainSlugToId = { [ChainSlug.REYA_CRONOS]: ChainId.REYA_CRONOS, [ChainSlug.REYA]: ChainId.REYA, [ChainSlug.SYNDR_SEPOLIA_L3]: ChainId.SYNDR_SEPOLIA_L3, + [ChainSlug.POLYNOMIAL_TESTNET]: ChainId.POLYNOMIAL_TESTNET, }; diff --git a/src/enums/chainSlugToKey.ts b/src/enums/chainSlugToKey.ts index c27d5daa..268ea5e6 100644 --- a/src/enums/chainSlugToKey.ts +++ b/src/enums/chainSlugToKey.ts @@ -38,4 +38,5 @@ export const ChainSlugToKey = { [ChainSlug.REYA_CRONOS]: HardhatChainName.REYA_CRONOS, [ChainSlug.REYA]: HardhatChainName.REYA, [ChainSlug.SYNDR_SEPOLIA_L3]: HardhatChainName.SYNDR_SEPOLIA_L3, + [ChainSlug.POLYNOMIAL_TESTNET]: HardhatChainName.POLYNOMIAL_TESTNET, }; diff --git a/src/enums/hardhatChainName.ts b/src/enums/hardhatChainName.ts index dcb2767e..258a6d30 100644 --- a/src/enums/hardhatChainName.ts +++ b/src/enums/hardhatChainName.ts @@ -36,4 +36,5 @@ export enum HardhatChainName { REYA_CRONOS = "reya_cronos", REYA = "reya", SYNDR_SEPOLIA_L3 = "syndr_sepolia_l3", + POLYNOMIAL_TESTNET = "polynomial_testnet", } diff --git a/src/enums/hardhatChainNameToSlug.ts b/src/enums/hardhatChainNameToSlug.ts index b74db609..64260cb2 100644 --- a/src/enums/hardhatChainNameToSlug.ts +++ b/src/enums/hardhatChainNameToSlug.ts @@ -38,4 +38,5 @@ export const hardhatChainNameToSlug = { [HardhatChainName.REYA_CRONOS]: ChainSlug.REYA_CRONOS, [HardhatChainName.REYA]: ChainSlug.REYA, [HardhatChainName.SYNDR_SEPOLIA_L3]: ChainSlug.SYNDR_SEPOLIA_L3, + [HardhatChainName.POLYNOMIAL_TESTNET]: ChainSlug.POLYNOMIAL_TESTNET, }; diff --git a/src/enums/testnetIds.ts b/src/enums/testnetIds.ts index c4a4a690..b89bd73f 100644 --- a/src/enums/testnetIds.ts +++ b/src/enums/testnetIds.ts @@ -21,4 +21,5 @@ export const TestnetIds: ChainSlug[] = [ ChainSlug.HOOK_TESTNET, ChainSlug.REYA_CRONOS, ChainSlug.SYNDR_SEPOLIA_L3, + ChainSlug.POLYNOMIAL_TESTNET, ];