From 45ce2159d7d8a6c197431e5dc9bd84e2c2639548 Mon Sep 17 00:00:00 2001 From: hiletmis Date: Fri, 25 Oct 2024 16:47:44 +0300 Subject: [PATCH 1/3] Remove latest block timestamp check --- scripts/ping-providers.ts | 21 --------------------- 1 file changed, 21 deletions(-) diff --git a/scripts/ping-providers.ts b/scripts/ping-providers.ts index 807dcd1d..009c2f44 100644 --- a/scripts/ping-providers.ts +++ b/scripts/ping-providers.ts @@ -21,13 +21,6 @@ async function main(): Promise[]> { const client = createPublicClient({ transport: http(defaultProvider.rpcUrl!) }); await validateChain(client, chain); - const latestRes = await go(() => validateLatestBlock(client, chain), { - retries: 3, - delay: { type: 'static', delayMs: 60_000 }, - }); - if (!latestRes.success) { - throw latestRes.error; - } }); return await Promise.allSettled(promises); @@ -44,20 +37,6 @@ async function validateChain(client: PublicClient, chain: Chain): Promise } } -async function validateLatestBlock(client: PublicClient, chain: Chain): Promise { - const blockRes = await go(() => client.getBlock({ blockTag: 'latest' }), { retries: 1 }); - if (!blockRes.success) { - throw new Error(`Unable to fetch latest block for ${chain.alias}`); - } - const block = blockRes.data; - const blockTimestamp = block.timestamp; - const deltaTime = Number(BigInt(Math.floor(Date.now() / 1000)) - blockTimestamp); - const cutoff = 60 * 5; // Arbitrary cutoff of 5 minutes - if (Math.abs(deltaTime) > cutoff) { - throw new Error(`${chain.alias} latest block timestamp is ${deltaTime} seconds behind the system clock`); - } -} - async function notifySlack(errors: Error[]): Promise { if (errors.length > 0 && slackChannel) { const text = errors.reduce((acc, error) => `${acc}\n${error.message}`, ''); From d5cd01dda9ca2de6a4850fcddcbaad09e49b20b7 Mon Sep 17 00:00:00 2001 From: hiletmis Date: Fri, 25 Oct 2024 16:48:18 +0300 Subject: [PATCH 2/3] Skip the provider check for chains not supporting dAPIs --- chains/arbitrum-nova.json | 1 + chains/aurora-testnet.json | 1 + chains/aurora.json | 1 + chains/boba-bnb.json | 1 + chains/boba-ethereum.json | 1 + chains/bsquared-testnet.json | 1 + chains/bsquared.json | 1 + chains/canto-testnet.json | 1 + chains/canto.json | 1 + chains/cronos-testnet.json | 1 + chains/godwoken-testnet.json | 1 + chains/godwoken.json | 1 + chains/meld-testnet.json | 1 + chains/meld.json | 1 + chains/meter-testnet.json | 1 + chains/meter.json | 1 + chains/milkomeda-c1-testnet.json | 1 + chains/milkomeda-c1.json | 1 + chains/neon-evm-testnet.json | 1 + chains/neon-evm.json | 1 + chains/rsk-testnet.json | 1 + chains/rsk.json | 1 + chains/sx-testnet.json | 1 + chains/sx.json | 1 + chains/zksync.json | 1 + src/generated/chains.ts | 25 +++++++++++++++++++++++++ 26 files changed, 50 insertions(+) diff --git a/chains/arbitrum-nova.json b/chains/arbitrum-nova.json index fe39b30f..c298fe2c 100644 --- a/chains/arbitrum-nova.json +++ b/chains/arbitrum-nova.json @@ -18,6 +18,7 @@ "rpcUrl": "https://nova.arbitrum.io/rpc" } ], + "skipProviderCheck": true, "symbol": "ETH", "testnet": false } diff --git a/chains/aurora-testnet.json b/chains/aurora-testnet.json index 334bd76e..1211f1d0 100644 --- a/chains/aurora-testnet.json +++ b/chains/aurora-testnet.json @@ -19,6 +19,7 @@ "rpcUrl": "https://testnet.aurora.dev/" } ], + "skipProviderCheck": true, "symbol": "ETH", "testnet": true } diff --git a/chains/aurora.json b/chains/aurora.json index 730ba1e0..cb696f90 100644 --- a/chains/aurora.json +++ b/chains/aurora.json @@ -19,6 +19,7 @@ "rpcUrl": "https://mainnet.aurora.dev/" } ], + "skipProviderCheck": true, "symbol": "ETH", "testnet": false } diff --git a/chains/boba-bnb.json b/chains/boba-bnb.json index 439d7201..8a222061 100644 --- a/chains/boba-bnb.json +++ b/chains/boba-bnb.json @@ -18,6 +18,7 @@ "rpcUrl": "https://replica.bnb.boba.network/" } ], + "skipProviderCheck": true, "symbol": "BOBA", "testnet": false } diff --git a/chains/boba-ethereum.json b/chains/boba-ethereum.json index d8974707..9303a528 100644 --- a/chains/boba-ethereum.json +++ b/chains/boba-ethereum.json @@ -18,6 +18,7 @@ "rpcUrl": "https://lightning-replica.boba.network/" } ], + "skipProviderCheck": true, "symbol": "BOBA", "testnet": false } diff --git a/chains/bsquared-testnet.json b/chains/bsquared-testnet.json index 6580f45e..c691fcf7 100644 --- a/chains/bsquared-testnet.json +++ b/chains/bsquared-testnet.json @@ -12,6 +12,7 @@ "rpcUrl": "https://b2-testnet.alt.technology" } ], + "skipProviderCheck": true, "symbol": "BTC", "testnet": true } diff --git a/chains/bsquared.json b/chains/bsquared.json index 8896802c..f772f5d3 100644 --- a/chains/bsquared.json +++ b/chains/bsquared.json @@ -22,6 +22,7 @@ "rpcUrl": "https://b2-mainnet.alt.technology" } ], + "skipProviderCheck": true, "symbol": "BTC", "testnet": false } diff --git a/chains/canto-testnet.json b/chains/canto-testnet.json index da79b33d..6a7bd65e 100644 --- a/chains/canto-testnet.json +++ b/chains/canto-testnet.json @@ -18,6 +18,7 @@ "rpcUrl": "https://canto-testnet.plexnode.wtf/" } ], + "skipProviderCheck": true, "symbol": "CANTO", "testnet": true } diff --git a/chains/canto.json b/chains/canto.json index 61f6130e..119c6f52 100644 --- a/chains/canto.json +++ b/chains/canto.json @@ -26,6 +26,7 @@ "rpcUrl": "https://canto.gravitychain.io/" } ], + "skipProviderCheck": true, "symbol": "CANTO", "testnet": false } diff --git a/chains/cronos-testnet.json b/chains/cronos-testnet.json index 096e1e4f..ed9a6c51 100644 --- a/chains/cronos-testnet.json +++ b/chains/cronos-testnet.json @@ -18,6 +18,7 @@ "rpcUrl": "https://evm-t3.cronos.org" } ], + "skipProviderCheck": true, "symbol": "CRO", "testnet": true } diff --git a/chains/godwoken-testnet.json b/chains/godwoken-testnet.json index 28d73b1e..5245eb17 100644 --- a/chains/godwoken-testnet.json +++ b/chains/godwoken-testnet.json @@ -12,6 +12,7 @@ "rpcUrl": "https://v1.testnet.godwoken.io/rpc" } ], + "skipProviderCheck": true, "symbol": "pCKB", "testnet": true } diff --git a/chains/godwoken.json b/chains/godwoken.json index e75937b7..60a433b7 100644 --- a/chains/godwoken.json +++ b/chains/godwoken.json @@ -12,6 +12,7 @@ "rpcUrl": "https://v1.mainnet.godwoken.io/rpc" } ], + "skipProviderCheck": true, "symbol": "pCKB", "testnet": false } diff --git a/chains/meld-testnet.json b/chains/meld-testnet.json index 3c886d11..be6fe12f 100644 --- a/chains/meld-testnet.json +++ b/chains/meld-testnet.json @@ -12,6 +12,7 @@ "rpcUrl": "https://testnet-rpc.meld.com/" } ], + "skipProviderCheck": true, "symbol": "MELD", "testnet": true } diff --git a/chains/meld.json b/chains/meld.json index 9c06ffcd..9f9247f3 100644 --- a/chains/meld.json +++ b/chains/meld.json @@ -12,6 +12,7 @@ "rpcUrl": "https://rpc-1.meld.com/" } ], + "skipProviderCheck": true, "symbol": "MELD", "testnet": false } diff --git a/chains/meter-testnet.json b/chains/meter-testnet.json index 40832aa4..7cf89135 100644 --- a/chains/meter-testnet.json +++ b/chains/meter-testnet.json @@ -12,6 +12,7 @@ "rpcUrl": "https://rpctest.meter.io/" } ], + "skipProviderCheck": true, "symbol": "MTR", "testnet": true } diff --git a/chains/meter.json b/chains/meter.json index 1167b71d..53d03719 100644 --- a/chains/meter.json +++ b/chains/meter.json @@ -16,6 +16,7 @@ "homepageUrl": "https://blockpi.io" } ], + "skipProviderCheck": true, "symbol": "MTR", "testnet": false } diff --git a/chains/milkomeda-c1-testnet.json b/chains/milkomeda-c1-testnet.json index fe4cafe3..5bc4ef16 100644 --- a/chains/milkomeda-c1-testnet.json +++ b/chains/milkomeda-c1-testnet.json @@ -18,6 +18,7 @@ "rpcUrl": "https://rpc-devnet-cardano-evm.c1.milkomeda.com" } ], + "skipProviderCheck": true, "symbol": "ADA", "testnet": true } diff --git a/chains/milkomeda-c1.json b/chains/milkomeda-c1.json index f5d69ad7..4aff0899 100644 --- a/chains/milkomeda-c1.json +++ b/chains/milkomeda-c1.json @@ -18,6 +18,7 @@ "rpcUrl": "https://rpc-mainnet-cardano-evm.c1.milkomeda.com" } ], + "skipProviderCheck": true, "symbol": "ADA", "testnet": false } diff --git a/chains/neon-evm-testnet.json b/chains/neon-evm-testnet.json index ffc12b43..e221de0b 100644 --- a/chains/neon-evm-testnet.json +++ b/chains/neon-evm-testnet.json @@ -18,6 +18,7 @@ "rpcUrl": "https://devnet.neonevm.org" } ], + "skipProviderCheck": true, "symbol": "NEON", "testnet": true } diff --git a/chains/neon-evm.json b/chains/neon-evm.json index 753661e1..a5f98349 100644 --- a/chains/neon-evm.json +++ b/chains/neon-evm.json @@ -22,6 +22,7 @@ "rpcUrl": "https://neon-mainnet.everstake.one" } ], + "skipProviderCheck": true, "symbol": "NEON", "testnet": false } diff --git a/chains/rsk-testnet.json b/chains/rsk-testnet.json index b6cb5a38..2965106d 100644 --- a/chains/rsk-testnet.json +++ b/chains/rsk-testnet.json @@ -12,6 +12,7 @@ "rpcUrl": "https://public-node.testnet.rsk.co" } ], + "skipProviderCheck": true, "symbol": "RBTC", "testnet": true } diff --git a/chains/rsk.json b/chains/rsk.json index fe74ee51..6efed996 100644 --- a/chains/rsk.json +++ b/chains/rsk.json @@ -12,6 +12,7 @@ "rpcUrl": "https://public-node.rsk.co" } ], + "skipProviderCheck": true, "symbol": "RBTC", "testnet": false } diff --git a/chains/sx-testnet.json b/chains/sx-testnet.json index 0665b4dc..9d7ddc68 100644 --- a/chains/sx-testnet.json +++ b/chains/sx-testnet.json @@ -18,6 +18,7 @@ "rpcUrl": "https://rpc.toronto.sx.technology" } ], + "skipProviderCheck": true, "symbol": "SX", "testnet": true } diff --git a/chains/sx.json b/chains/sx.json index 998b1039..ec013641 100644 --- a/chains/sx.json +++ b/chains/sx.json @@ -18,6 +18,7 @@ "rpcUrl": "https://rpc.sx.technology" } ], + "skipProviderCheck": true, "symbol": "SX", "testnet": false } diff --git a/chains/zksync.json b/chains/zksync.json index cefe6f0f..bd5f92c3 100644 --- a/chains/zksync.json +++ b/chains/zksync.json @@ -19,6 +19,7 @@ "rpcUrl": "https://mainnet.era.zksync.io" } ], + "skipProviderCheck": true, "symbol": "ETH", "testnet": false } diff --git a/src/generated/chains.ts b/src/generated/chains.ts index d481ce11..8819ba55 100644 --- a/src/generated/chains.ts +++ b/src/generated/chains.ts @@ -31,6 +31,7 @@ export const CHAINS: Chain[] = [ id: '42170', name: 'Arbitrum Nova', providers: [{ alias: 'default', rpcUrl: 'https://nova.arbitrum.io/rpc' }], + skipProviderCheck: true, symbol: 'ETH', testnet: false, }, @@ -114,6 +115,7 @@ export const CHAINS: Chain[] = [ id: '1313161555', name: 'Aurora testnet', providers: [{ alias: 'default', rpcUrl: 'https://testnet.aurora.dev/' }], + skipProviderCheck: true, symbol: 'ETH', testnet: true, }, @@ -130,6 +132,7 @@ export const CHAINS: Chain[] = [ id: '1313161554', name: 'Aurora', providers: [{ alias: 'default', rpcUrl: 'https://mainnet.aurora.dev/' }], + skipProviderCheck: true, symbol: 'ETH', testnet: false, }, @@ -332,6 +335,7 @@ export const CHAINS: Chain[] = [ id: '56288', name: 'Boba/BNB', providers: [{ alias: 'default', rpcUrl: 'https://replica.bnb.boba.network/' }], + skipProviderCheck: true, symbol: 'BOBA', testnet: false, }, @@ -345,6 +349,7 @@ export const CHAINS: Chain[] = [ id: '288', name: 'Boba/Ethereum', providers: [{ alias: 'default', rpcUrl: 'https://lightning-replica.boba.network/' }], + skipProviderCheck: true, symbol: 'BOBA', testnet: false, }, @@ -390,6 +395,7 @@ export const CHAINS: Chain[] = [ id: '1123', name: 'BSquared Network testnet', providers: [{ alias: 'default', rpcUrl: 'https://b2-testnet.alt.technology' }], + skipProviderCheck: true, symbol: 'BTC', testnet: true, }, @@ -406,6 +412,7 @@ export const CHAINS: Chain[] = [ { alias: 'default', rpcUrl: 'https://rpc.bsquared.network' }, { alias: 'public', rpcUrl: 'https://b2-mainnet.alt.technology' }, ], + skipProviderCheck: true, symbol: 'BTC', testnet: false, }, @@ -432,6 +439,7 @@ export const CHAINS: Chain[] = [ id: '7701', name: 'Canto testnet', providers: [{ alias: 'default', rpcUrl: 'https://canto-testnet.plexnode.wtf/' }], + skipProviderCheck: true, symbol: 'CANTO', testnet: true, }, @@ -449,6 +457,7 @@ export const CHAINS: Chain[] = [ { alias: 'ansybl', rpcUrl: 'https://canto-rpc.ansybl.io/' }, { alias: 'gravitychain', rpcUrl: 'https://canto.gravitychain.io/' }, ], + skipProviderCheck: true, symbol: 'CANTO', testnet: false, }, @@ -528,6 +537,7 @@ export const CHAINS: Chain[] = [ id: '338', name: 'Cronos testnet', providers: [{ alias: 'default', rpcUrl: 'https://evm-t3.cronos.org' }], + skipProviderCheck: true, symbol: 'CRO', testnet: true, }, @@ -690,6 +700,7 @@ export const CHAINS: Chain[] = [ id: '71401', name: 'Godwoken testnet', providers: [{ alias: 'default', rpcUrl: 'https://v1.testnet.godwoken.io/rpc' }], + skipProviderCheck: true, symbol: 'pCKB', testnet: true, }, @@ -700,6 +711,7 @@ export const CHAINS: Chain[] = [ id: '71402', name: 'Godwoken', providers: [{ alias: 'default', rpcUrl: 'https://v1.mainnet.godwoken.io/rpc' }], + skipProviderCheck: true, symbol: 'pCKB', testnet: false, }, @@ -995,6 +1007,7 @@ export const CHAINS: Chain[] = [ id: '222000222', name: 'Meld testnet', providers: [{ alias: 'default', rpcUrl: 'https://testnet-rpc.meld.com/' }], + skipProviderCheck: true, symbol: 'MELD', testnet: true, }, @@ -1005,6 +1018,7 @@ export const CHAINS: Chain[] = [ id: '333000333', name: 'Meld', providers: [{ alias: 'default', rpcUrl: 'https://rpc-1.meld.com/' }], + skipProviderCheck: true, symbol: 'MELD', testnet: false, }, @@ -1060,6 +1074,7 @@ export const CHAINS: Chain[] = [ id: '83', name: 'Meter testnet', providers: [{ alias: 'default', rpcUrl: 'https://rpctest.meter.io/' }], + skipProviderCheck: true, symbol: 'MTR', testnet: true, }, @@ -1073,6 +1088,7 @@ export const CHAINS: Chain[] = [ { alias: 'default', rpcUrl: 'https://rpc.meter.io/' }, { alias: 'blockpi', homepageUrl: 'https://blockpi.io' }, ], + skipProviderCheck: true, symbol: 'MTR', testnet: false, }, @@ -1118,6 +1134,7 @@ export const CHAINS: Chain[] = [ id: '200101', name: 'Milkomeda C1 testnet', providers: [{ alias: 'default', rpcUrl: 'https://rpc-devnet-cardano-evm.c1.milkomeda.com' }], + skipProviderCheck: true, symbol: 'ADA', testnet: true, }, @@ -1131,6 +1148,7 @@ export const CHAINS: Chain[] = [ id: '2001', name: 'Milkomeda C1', providers: [{ alias: 'default', rpcUrl: 'https://rpc-mainnet-cardano-evm.c1.milkomeda.com' }], + skipProviderCheck: true, symbol: 'ADA', testnet: false, }, @@ -1236,6 +1254,7 @@ export const CHAINS: Chain[] = [ id: '245022926', name: 'Neon EVM testnet', providers: [{ alias: 'default', rpcUrl: 'https://devnet.neonevm.org' }], + skipProviderCheck: true, symbol: 'NEON', testnet: true, }, @@ -1252,6 +1271,7 @@ export const CHAINS: Chain[] = [ { alias: 'default', rpcUrl: 'https://neon-proxy-mainnet.solana.p2p.org' }, { alias: 'everstake', rpcUrl: 'https://neon-mainnet.everstake.one' }, ], + skipProviderCheck: true, symbol: 'NEON', testnet: false, }, @@ -1453,6 +1473,7 @@ export const CHAINS: Chain[] = [ id: '31', name: 'Rootstock testnet', providers: [{ alias: 'default', rpcUrl: 'https://public-node.testnet.rsk.co' }], + skipProviderCheck: true, symbol: 'RBTC', testnet: true, }, @@ -1463,6 +1484,7 @@ export const CHAINS: Chain[] = [ id: '30', name: 'Rootstock', providers: [{ alias: 'default', rpcUrl: 'https://public-node.rsk.co' }], + skipProviderCheck: true, symbol: 'RBTC', testnet: false, }, @@ -1558,6 +1580,7 @@ export const CHAINS: Chain[] = [ id: '647', name: 'SX Network testnet', providers: [{ alias: 'default', rpcUrl: 'https://rpc.toronto.sx.technology' }], + skipProviderCheck: true, symbol: 'SX', testnet: true, }, @@ -1571,6 +1594,7 @@ export const CHAINS: Chain[] = [ id: '416', name: 'SX Network', providers: [{ alias: 'default', rpcUrl: 'https://rpc.sx.technology' }], + skipProviderCheck: true, symbol: 'SX', testnet: false, }, @@ -1725,6 +1749,7 @@ export const CHAINS: Chain[] = [ id: '324', name: 'zkSync', providers: [{ alias: 'default', rpcUrl: 'https://mainnet.era.zksync.io' }], + skipProviderCheck: true, symbol: 'ETH', testnet: false, }, From 59aaaa8c50cbd22a4283482e45d69d7667b63113 Mon Sep 17 00:00:00 2001 From: hiletmis Date: Fri, 25 Oct 2024 16:52:16 +0300 Subject: [PATCH 3/3] Add empty changeset --- .changeset/selfish-flowers-grow.md | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 .changeset/selfish-flowers-grow.md diff --git a/.changeset/selfish-flowers-grow.md b/.changeset/selfish-flowers-grow.md new file mode 100644 index 00000000..a845151c --- /dev/null +++ b/.changeset/selfish-flowers-grow.md @@ -0,0 +1,2 @@ +--- +---