From 50f252daef991bba3beba1fc2bf62d7dbf573c8d Mon Sep 17 00:00:00 2001 From: arthcp Date: Thu, 12 Sep 2024 21:40:10 +0400 Subject: [PATCH] feat: connect winr chains, xlayer --- .env.example | 2 + deployments/prod_addresses.json | 91 +++++++++++++ deployments/prod_verification.json | 125 ++++++++++++++++++ package.json | 2 +- .../constants/batcherSupportedChainSlug.ts | 1 + scripts/rpcConfig/constants/explorers.ts | 1 + scripts/rpcConfig/constants/icons.ts | 1 + scripts/rpcConfig/constants/rpc.ts | 1 + scripts/rpcConfig/constants/version.ts | 2 +- src/enums/chainId.ts | 1 + src/enums/chainSlug.ts | 1 + src/enums/chainSlugToHardhatChainName.ts | 1 + src/enums/chainSlugToId.ts | 1 + src/enums/chainSlugToKey.ts | 1 + src/enums/currency.ts | 1 + src/enums/hardhatChainName.ts | 1 + src/enums/hardhatChainNameToSlug.ts | 1 + src/enums/mainnetIds.ts | 1 + src/enums/native-tokens.ts | 1 + src/enums/polygonCDKChains.ts | 1 + 20 files changed, 235 insertions(+), 2 deletions(-) diff --git a/.env.example b/.env.example index a7ca575d..999719ef 100644 --- a/.env.example +++ b/.env.example @@ -101,3 +101,5 @@ LINEA_RPC=' ' ZKEVM_RPC=' ' AVALANCHE_RPC=' ' + +XLAYER_RPC=' ' diff --git a/deployments/prod_addresses.json b/deployments/prod_addresses.json index 7744ae59..0d24aa17 100644 --- a/deployments/prod_addresses.json +++ b/deployments/prod_addresses.json @@ -875,6 +875,30 @@ "decapacitor": "0x2D4CA2C96b8342fA570644C8cdD1024404344F9a", "switchboard": "0x5490aBcD9949833FB68e4d222ee68dc225881c25" } + }, + "81457": { + "FAST": { + "capacitor": "0xdD183D53a1F038e5dDFfda832cAc92a67d17e07d", + "decapacitor": "0x606c8B1393abB1600d41E822B7c9C0f84EAb0Cf5", + "switchboard": "0xCedce2e52aa6551bC407f640D8Bd9179b528347C" + }, + "OPTIMISTIC": { + "capacitor": "0x5f2886Af7067B8aeB6298661Bfa0e853b8f74372", + "decapacitor": "0x8C38f4Dc8946aE48AeCc62CBaAB68235Ff9c2f64", + "switchboard": "0x5490aBcD9949833FB68e4d222ee68dc225881c25" + } + }, + "777777": { + "FAST": { + "capacitor": "0xC1bD5861e8Cc1aB32125bcb3bA61F7FA8FDf3a7B", + "decapacitor": "0x129CbbDd6b759D03C23592efBa532e3Da0dAE7b6", + "switchboard": "0xCedce2e52aa6551bC407f640D8Bd9179b528347C" + }, + "OPTIMISTIC": { + "capacitor": "0x4a90B366A4fbB32F47730725dC7e93EF7e9E8116", + "decapacitor": "0x73A17d2EC93C4207aAD062b5A2A76749622C2Bc8", + "switchboard": "0x5490aBcD9949833FB68e4d222ee68dc225881c25" + } } }, "OptimisticSwitchboard": "0x5490aBcD9949833FB68e4d222ee68dc225881c25", @@ -1283,6 +1307,37 @@ "CapacitorSimulator": "0x76fA03B93Ac9b48a66C38C6075C200b750E21923", "ExecutionManagerDF": "0x5a0e01ED2be962a16cF56DFb6C3F252adED4483c" }, + "196": { + "SignatureVerifier": "0xc8a4D2fd77c155fd52e65Ab07F337aBF84495Ead", + "Hasher": "0x1F6bc87f3309B5D31Eb0BdaBE3ED7d3110d3B9c3", + "CapacitorFactory": "0x6C593aD4C0Fa4E293a0f1240F9ca3CF0e8a28619", + "Socket": "0xbe7241e9D11EC2D1Ac86CE217c4A37b7aD1701cE", + "ExecutionManagerDF": "0x1CAdCd88fC148D3966eDe75D029937C886f66009", + "TransmitManager": "0x9B8c323468AEC7A7Cb041CeD48F92559bFF33705", + "FastSwitchboard": "0xb4Ef469c9d8317851270346070dA0ecE24616E6b", + "OptimisticSwitchboard": "0x0CC93650bF4D98237628DACf87f94E443956D8dF", + "SocketBatcher": "0xb3314456567986e657d4C65Ec9e8cB736B92d11D", + "Counter": "0x657e72B305Dc1c41e98d9efC2350EC10e3c83E21", + "SocketSimulator": "0x525a6489a1df5fF1ae077fAf628E43b7F52298eF", + "SimulatorUtils": "0x3043Ad9C9e01664bc3A68477f0870Df35dC4bFf8", + "SwitchboardSimulator": "0xd9E3a8Ba9Be55919C5C0De6694e3103F5a35820E", + "CapacitorSimulator": "0xD7B34Db1477797FA2Dff890afBa88a00eb89b9eE", + "startBlock": 4765124, + "integrations": { + "777777": { + "FAST": { + "capacitor": "0x19405671F9F14a81a1112ac890E85E321a79426D", + "decapacitor": "0xFE82774f00Ce859Aad948e71D739C417Ae85B1fd", + "switchboard": "0xb4Ef469c9d8317851270346070dA0ecE24616E6b" + }, + "OPTIMISTIC": { + "capacitor": "0xfDab5AD9dD96deb42f093510641a325dB65cAD10", + "decapacitor": "0xE16b17BC461C3EDF6c351c1a27FB42851F085D19", + "switchboard": "0x0CC93650bF4D98237628DACf87f94E443956D8dF" + } + } + } + }, "404": { "SignatureVerifier": "0xc8a4D2fd77c155fd52e65Ab07F337aBF84495Ead", "Hasher": "0x1F6bc87f3309B5D31Eb0BdaBE3ED7d3110d3B9c3", @@ -3714,6 +3769,18 @@ "switchboard": "0x09217a4A727418A7A9fc60aE07E31c2Dfd13Bf2f" } }, + "56": { + "FAST": { + "capacitor": "0xc6c1EA92d3850ecC60f8D7B12F1cd1AAE38C6E36", + "decapacitor": "0xaC800E9a6b82A8E4878d6367137CFe90A70B82eA", + "switchboard": "0xdcABb6d7E88396498FFF4CD987F60e354BF2a44b" + }, + "OPTIMISTIC": { + "capacitor": "0x1Bd05F60eEFF392EaBEcB3374650F67b8C97D968", + "decapacitor": "0xf10CbD639b94136c91a6314240f5A4d63ed7e5e9", + "switchboard": "0x09217a4A727418A7A9fc60aE07E31c2Dfd13Bf2f" + } + }, "137": { "FAST": { "capacitor": "0xa3b065C48E33239cc8d01084a4bfa26Ed0ea325C", @@ -4203,6 +4270,30 @@ "switchboard": "0x57D1Aeafb6a2b7Bd4954e47a556622161A8c0A65" } }, + "56": { + "FAST": { + "capacitor": "0x33284bd6eaddB0558a2E3C77Be076bD359c72828", + "decapacitor": "0x4eA1FA330240d0fb19cBE66b6A6eecE2D32D73f9", + "switchboard": "0x8f9EaEe5c5df888aBA3c1Ab19689a0660d042c6d" + }, + "OPTIMISTIC": { + "capacitor": "0x633a828F7EbB3c30bd0fcD80E127d23e45b9CABb", + "decapacitor": "0x1CD4bc16F197FBe5AF493066cdea8095A1Fc46D1", + "switchboard": "0x57D1Aeafb6a2b7Bd4954e47a556622161A8c0A65" + } + }, + "196": { + "FAST": { + "capacitor": "0xD565E419f066fF70685a57160a673D614E2f885e", + "decapacitor": "0x85296450abCDb2D50DBfd6Dcb198ABC2A738497E", + "switchboard": "0x8f9EaEe5c5df888aBA3c1Ab19689a0660d042c6d" + }, + "OPTIMISTIC": { + "capacitor": "0x0cefaEe9453F939b43eD88EF659a54bE4c147106", + "decapacitor": "0x56DB02335CA50C4eDf074D4f819c37310f6F2cFA", + "switchboard": "0x57D1Aeafb6a2b7Bd4954e47a556622161A8c0A65" + } + }, "8453": { "FAST": { "capacitor": "0x8590b1DDb6a4A06145bF008e8e708A81f9fb53e6", diff --git a/deployments/prod_verification.json b/deployments/prod_verification.json index b4f78014..65f1431d 100644 --- a/deployments/prod_verification.json +++ b/deployments/prod_verification.json @@ -829,6 +829,131 @@ ["0x5fD7D0d6b91CC4787Bcb86ca47e0Bd4ea0346d34", 10] ] ], + "196": [ + [ + "0xd9E3a8Ba9Be55919C5C0De6694e3103F5a35820E", + "SwitchboardSimulator", + "contracts/mocks/fee-updater/SwitchboardSimulator.sol", + [ + "0xB0BBff6311B7F245761A7846d3Ce7B1b100C1836", + "0x525a6489a1df5fF1ae077fAf628E43b7F52298eF", + 196, + 1000, + "0xc8a4D2fd77c155fd52e65Ab07F337aBF84495Ead" + ] + ], + [ + "0x3043Ad9C9e01664bc3A68477f0870Df35dC4bFf8", + "SimulatorUtils", + "contracts/mocks/fee-updater/SimulatorUtils.sol", + [ + "0x525a6489a1df5fF1ae077fAf628E43b7F52298eF", + "0xc8a4D2fd77c155fd52e65Ab07F337aBF84495Ead", + "0xB0BBff6311B7F245761A7846d3Ce7B1b100C1836", + 196 + ] + ], + [ + "0x525a6489a1df5fF1ae077fAf628E43b7F52298eF", + "SocketSimulator", + "contracts/mocks/fee-updater/SocketSimulator.sol", + [ + 196, + 196, + "0x1F6bc87f3309B5D31Eb0BdaBE3ED7d3110d3B9c3", + "0xc8a4D2fd77c155fd52e65Ab07F337aBF84495Ead", + "IMLI" + ] + ], + [ + "0x657e72B305Dc1c41e98d9efC2350EC10e3c83E21", + "Counter", + "contracts/examples/Counter.sol", + ["0xbe7241e9D11EC2D1Ac86CE217c4A37b7aD1701cE"] + ], + [ + "0xb3314456567986e657d4C65Ec9e8cB736B92d11D", + "SocketBatcher", + "contracts/socket/SocketBatcher.sol", + ["0xB0BBff6311B7F245761A7846d3Ce7B1b100C1836"] + ], + [ + "0x0CC93650bF4D98237628DACf87f94E443956D8dF", + "OptimisticSwitchboard", + "contracts/switchboard/default-switchboards/OptimisticSwitchboard.sol", + [ + "0xB0BBff6311B7F245761A7846d3Ce7B1b100C1836", + "0xbe7241e9D11EC2D1Ac86CE217c4A37b7aD1701cE", + 196, + 7200, + "0xc8a4D2fd77c155fd52e65Ab07F337aBF84495Ead" + ] + ], + [ + "0xb4Ef469c9d8317851270346070dA0ecE24616E6b", + "FastSwitchboard", + "contracts/switchboard/default-switchboards/FastSwitchboard.sol", + [ + "0xB0BBff6311B7F245761A7846d3Ce7B1b100C1836", + "0xbe7241e9D11EC2D1Ac86CE217c4A37b7aD1701cE", + 196, + 7200, + "0xc8a4D2fd77c155fd52e65Ab07F337aBF84495Ead" + ] + ], + [ + "0x9B8c323468AEC7A7Cb041CeD48F92559bFF33705", + "TransmitManager", + "contracts/TransmitManager.sol", + [ + "0xB0BBff6311B7F245761A7846d3Ce7B1b100C1836", + 196, + "0xbe7241e9D11EC2D1Ac86CE217c4A37b7aD1701cE", + "0xc8a4D2fd77c155fd52e65Ab07F337aBF84495Ead" + ] + ], + [ + "0x1CAdCd88fC148D3966eDe75D029937C886f66009", + "ExecutionManagerDF", + "contracts/ExecutionManagerDF.sol", + [ + "0xB0BBff6311B7F245761A7846d3Ce7B1b100C1836", + 196, + "0xbe7241e9D11EC2D1Ac86CE217c4A37b7aD1701cE", + "0xc8a4D2fd77c155fd52e65Ab07F337aBF84495Ead" + ] + ], + [ + "0xbe7241e9D11EC2D1Ac86CE217c4A37b7aD1701cE", + "Socket", + "contracts/socket/Socket.sol", + [ + 196, + "0x1F6bc87f3309B5D31Eb0BdaBE3ED7d3110d3B9c3", + "0x6C593aD4C0Fa4E293a0f1240F9ca3CF0e8a28619", + "0xB0BBff6311B7F245761A7846d3Ce7B1b100C1836", + "IMLI" + ] + ], + [ + "0x6C593aD4C0Fa4E293a0f1240F9ca3CF0e8a28619", + "CapacitorFactory", + "contracts/CapacitorFactory.sol", + ["0xB0BBff6311B7F245761A7846d3Ce7B1b100C1836", 10] + ], + [ + "0x1F6bc87f3309B5D31Eb0BdaBE3ED7d3110d3B9c3", + "Hasher", + "contracts/utils/Hasher.sol", + ["0xB0BBff6311B7F245761A7846d3Ce7B1b100C1836"] + ], + [ + "0xc8a4D2fd77c155fd52e65Ab07F337aBF84495Ead", + "SignatureVerifier", + "contracts/utils/SignatureVerifier.sol", + ["0xB0BBff6311B7F245761A7846d3Ce7B1b100C1836"] + ] + ], "238": [ [ "0x2a1094b6585b32FE33929cDdF7Ee3F5a1c1E163A", diff --git a/package.json b/package.json index 585075cc..4e7886ea 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@socket.tech/dl-core", "license": "UNLICENSED", - "version": "2.26.0", + "version": "2.27.0", "description": "Smart contracts for socket data layer.", "main": "./dist/src/index.js", "types": "./dist/src/index.d.ts", diff --git a/scripts/rpcConfig/constants/batcherSupportedChainSlug.ts b/scripts/rpcConfig/constants/batcherSupportedChainSlug.ts index f61a978e..43c0d3d7 100644 --- a/scripts/rpcConfig/constants/batcherSupportedChainSlug.ts +++ b/scripts/rpcConfig/constants/batcherSupportedChainSlug.ts @@ -41,4 +41,5 @@ export const batcherSupportedChainSlugs = [ ChainSlug.LINEA, ChainSlug.ZKEVM, ChainSlug.AVALANCHE, + ChainSlug.XLAYER, ]; diff --git a/scripts/rpcConfig/constants/explorers.ts b/scripts/rpcConfig/constants/explorers.ts index 4221e387..edc7fb77 100644 --- a/scripts/rpcConfig/constants/explorers.ts +++ b/scripts/rpcConfig/constants/explorers.ts @@ -19,4 +19,5 @@ export const explorers = { [ChainSlug.LINEA]: "https://lineascan.build/", [ChainSlug.ZKEVM]: "https://zkevm.polygonscan.com/", [ChainSlug.AVALANCHE]: "https://snowtrace.io/", + [ChainSlug.XLAYER]: "https://www.okx.com/web3/explorer/xlayer", }; diff --git a/scripts/rpcConfig/constants/icons.ts b/scripts/rpcConfig/constants/icons.ts index dbfed42f..f1eeb7e3 100644 --- a/scripts/rpcConfig/constants/icons.ts +++ b/scripts/rpcConfig/constants/icons.ts @@ -17,4 +17,5 @@ export const icons = { [ChainSlug.LINEA]: "", [ChainSlug.ZKEVM]: "", [ChainSlug.AVALANCHE]: "", + [ChainSlug.XLAYER]: "", }; diff --git a/scripts/rpcConfig/constants/rpc.ts b/scripts/rpcConfig/constants/rpc.ts index a8079b57..d8e060b2 100644 --- a/scripts/rpcConfig/constants/rpc.ts +++ b/scripts/rpcConfig/constants/rpc.ts @@ -53,4 +53,5 @@ export const rpcs = { [ChainSlug.LINEA]: checkEnvValue("LINEA_RPC"), [ChainSlug.ZKEVM]: checkEnvValue("ZKEVM_RPC"), [ChainSlug.AVALANCHE]: checkEnvValue("AVALANCHE_RPC"), + [ChainSlug.XLAYER]: checkEnvValue("XLAYER_RPC"), }; diff --git a/scripts/rpcConfig/constants/version.ts b/scripts/rpcConfig/constants/version.ts index ce194d74..53b46eb1 100644 --- a/scripts/rpcConfig/constants/version.ts +++ b/scripts/rpcConfig/constants/version.ts @@ -2,5 +2,5 @@ import { DeploymentMode } from "../../../src"; export const version = { [DeploymentMode.DEV]: "1.0.5", - [DeploymentMode.PROD]: "1.0.51", + [DeploymentMode.PROD]: "1.0.52", }; diff --git a/src/enums/chainId.ts b/src/enums/chainId.ts index bb20a533..33bb6606 100644 --- a/src/enums/chainId.ts +++ b/src/enums/chainId.ts @@ -49,4 +49,5 @@ export enum ChainId { LINEA = 59144, ZKEVM = 1101, AVALANCHE = 43114, + XLAYER = 196, } diff --git a/src/enums/chainSlug.ts b/src/enums/chainSlug.ts index 9be81cb9..68245fed 100644 --- a/src/enums/chainSlug.ts +++ b/src/enums/chainSlug.ts @@ -51,4 +51,5 @@ export enum ChainSlug { LINEA = ChainId.LINEA, ZKEVM = ChainId.ZKEVM, AVALANCHE = ChainId.AVALANCHE, + XLAYER = ChainId.XLAYER, } diff --git a/src/enums/chainSlugToHardhatChainName.ts b/src/enums/chainSlugToHardhatChainName.ts index 16078e39..d30e5517 100644 --- a/src/enums/chainSlugToHardhatChainName.ts +++ b/src/enums/chainSlugToHardhatChainName.ts @@ -52,4 +52,5 @@ export const chainSlugToHardhatChainName = { [ChainSlug.LINEA]: [HardhatChainName.LINEA], [ChainSlug.ZKEVM]: [HardhatChainName.ZKEVM], [ChainSlug.AVALANCHE]: [HardhatChainName.AVALANCHE], + [ChainSlug.XLAYER]: [HardhatChainName.XLAYER], }; diff --git a/src/enums/chainSlugToId.ts b/src/enums/chainSlugToId.ts index c7ed24c7..79103b0e 100644 --- a/src/enums/chainSlugToId.ts +++ b/src/enums/chainSlugToId.ts @@ -52,4 +52,5 @@ export const ChainSlugToId = { [ChainSlug.LINEA]: ChainId.LINEA, [ChainSlug.ZKEVM]: ChainId.ZKEVM, [ChainSlug.AVALANCHE]: ChainId.AVALANCHE, + [ChainSlug.XLAYER]: ChainId.XLAYER, }; diff --git a/src/enums/chainSlugToKey.ts b/src/enums/chainSlugToKey.ts index 7ed4714c..814d6572 100644 --- a/src/enums/chainSlugToKey.ts +++ b/src/enums/chainSlugToKey.ts @@ -52,4 +52,5 @@ export const ChainSlugToKey = { [ChainSlug.LINEA]: HardhatChainName.LINEA, [ChainSlug.ZKEVM]: HardhatChainName.ZKEVM, [ChainSlug.AVALANCHE]: HardhatChainName.AVALANCHE, + [ChainSlug.XLAYER]: HardhatChainName.XLAYER, }; diff --git a/src/enums/currency.ts b/src/enums/currency.ts index ad9c2f3a..f3162213 100644 --- a/src/enums/currency.ts +++ b/src/enums/currency.ts @@ -14,4 +14,5 @@ export const Currency = { [ChainSlug.NEOX]: NativeTokens["gas"], [ChainSlug.GNOSIS]: NativeTokens["dai"], [ChainSlug.AVALANCHE]: NativeTokens["avalanche-2"], + [ChainSlug.XLAYER]: NativeTokens["okb"], }; diff --git a/src/enums/hardhatChainName.ts b/src/enums/hardhatChainName.ts index cfb81aff..5281b926 100644 --- a/src/enums/hardhatChainName.ts +++ b/src/enums/hardhatChainName.ts @@ -49,4 +49,5 @@ export enum HardhatChainName { LINEA = "linea", ZKEVM = "zkevm", AVALANCHE = "avalanche", + XLAYER = "xlayer", } diff --git a/src/enums/hardhatChainNameToSlug.ts b/src/enums/hardhatChainNameToSlug.ts index 095b728d..f19307e5 100644 --- a/src/enums/hardhatChainNameToSlug.ts +++ b/src/enums/hardhatChainNameToSlug.ts @@ -52,4 +52,5 @@ export const hardhatChainNameToSlug = { [HardhatChainName.LINEA]: ChainSlug.LINEA, [HardhatChainName.ZKEVM]: ChainSlug.ZKEVM, [HardhatChainName.AVALANCHE]: ChainSlug.AVALANCHE, + [HardhatChainName.XLAYER]: ChainSlug.XLAYER, }; diff --git a/src/enums/mainnetIds.ts b/src/enums/mainnetIds.ts index 316f1575..3cf6b2ad 100644 --- a/src/enums/mainnetIds.ts +++ b/src/enums/mainnetIds.ts @@ -26,4 +26,5 @@ export const MainnetIds: ChainSlug[] = [ ChainSlug.LINEA, ChainSlug.ZKEVM, ChainSlug.AVALANCHE, + ChainSlug.XLAYER, ]; diff --git a/src/enums/native-tokens.ts b/src/enums/native-tokens.ts index 3616045b..c059d89a 100644 --- a/src/enums/native-tokens.ts +++ b/src/enums/native-tokens.ts @@ -10,4 +10,5 @@ export enum NativeTokens { "gas" = "gas", "dai" = "dai", "avalanche-2" = "avalanche-2", + "okb" = "okb", } diff --git a/src/enums/polygonCDKChains.ts b/src/enums/polygonCDKChains.ts index cc0c757b..4a29a7ab 100644 --- a/src/enums/polygonCDKChains.ts +++ b/src/enums/polygonCDKChains.ts @@ -6,4 +6,5 @@ export const polygonCDKChains = [ ChainSlug.SX_NETWORK_TESTNET, ChainSlug.SX_NETWORK, ChainSlug.XAI_TESTNET, + ChainSlug.XLAYER, ];