@hyperlane-xyz/sdk 3.3.0 → 3.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/consts/chainMetadata.d.ts +18 -28
- package/dist/consts/chainMetadata.d.ts.map +1 -1
- package/dist/consts/chainMetadata.js +495 -543
- package/dist/consts/chainMetadata.js.map +1 -1
- package/dist/consts/chains.d.ts +5 -5
- package/dist/consts/chains.d.ts.map +1 -1
- package/dist/consts/chains.js +4 -4
- package/dist/consts/chains.js.map +1 -1
- package/dist/consts/environments/index.d.ts +114 -114
- package/dist/consts/environments/index.js +1 -1
- package/dist/consts/multisigIsm.d.ts.map +1 -1
- package/dist/consts/multisigIsm.js +123 -120
- package/dist/consts/multisigIsm.js.map +1 -1
- package/dist/core/HyperlaneCore.d.ts +5 -4
- package/dist/core/HyperlaneCore.d.ts.map +1 -1
- package/dist/core/HyperlaneCore.js.map +1 -1
- package/dist/core/HyperlaneCoreDeployer.d.ts +1 -2
- package/dist/core/HyperlaneCoreDeployer.d.ts.map +1 -1
- package/dist/core/HyperlaneCoreDeployer.js +11 -8
- package/dist/core/HyperlaneCoreDeployer.js.map +1 -1
- package/dist/deploy/HyperlaneDeployer.d.ts.map +1 -1
- package/dist/deploy/HyperlaneDeployer.js +2 -2
- package/dist/deploy/HyperlaneDeployer.js.map +1 -1
- package/dist/deploy/contracts.d.ts.map +1 -1
- package/dist/deploy/contracts.js +0 -4
- package/dist/deploy/contracts.js.map +1 -1
- package/dist/hook/HyperlaneHookDeployer.js +5 -1
- package/dist/hook/HyperlaneHookDeployer.js.map +1 -1
- package/dist/index.d.ts +8 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +21 -10
- package/dist/index.js.map +1 -1
- package/dist/ism/HyperlaneIsmFactory.d.ts +26 -8
- package/dist/ism/HyperlaneIsmFactory.d.ts.map +1 -1
- package/dist/ism/HyperlaneIsmFactory.hardhat-test.js +175 -10
- package/dist/ism/HyperlaneIsmFactory.hardhat-test.js.map +1 -1
- package/dist/ism/HyperlaneIsmFactory.js +193 -65
- package/dist/ism/HyperlaneIsmFactory.js.map +1 -1
- package/dist/ism/types.d.ts +10 -2
- package/dist/ism/types.d.ts.map +1 -1
- package/dist/ism/types.js +4 -1
- package/dist/ism/types.js.map +1 -1
- package/dist/logger.d.ts +3 -0
- package/dist/logger.d.ts.map +1 -0
- package/dist/logger.js +11 -0
- package/dist/logger.js.map +1 -0
- package/dist/metadata/ChainMetadataManager.d.ts +7 -7
- package/dist/metadata/ChainMetadataManager.d.ts.map +1 -1
- package/dist/metadata/ChainMetadataManager.js +18 -42
- package/dist/metadata/ChainMetadataManager.js.map +1 -1
- package/dist/metadata/agentConfig.d.ts +724 -1
- package/dist/metadata/agentConfig.d.ts.map +1 -1
- package/dist/metadata/blockExplorer.d.ts +6 -0
- package/dist/metadata/blockExplorer.d.ts.map +1 -0
- package/dist/metadata/blockExplorer.js +60 -0
- package/dist/metadata/blockExplorer.js.map +1 -0
- package/dist/metadata/chainMetadataTypes.d.ts +233 -0
- package/dist/metadata/chainMetadataTypes.d.ts.map +1 -1
- package/dist/metadata/chainMetadataTypes.js +4 -0
- package/dist/metadata/chainMetadataTypes.js.map +1 -1
- package/dist/metadata/health.d.ts +9 -0
- package/dist/metadata/health.d.ts.map +1 -0
- package/dist/metadata/health.js +120 -0
- package/dist/metadata/health.js.map +1 -0
- package/dist/providers/MultiProvider.d.ts.map +1 -1
- package/dist/providers/MultiProvider.js +1 -1
- package/dist/providers/MultiProvider.js.map +1 -1
- package/dist/providers/SmartProvider/HyperlaneEtherscanProvider.d.ts +21 -0
- package/dist/providers/SmartProvider/HyperlaneEtherscanProvider.d.ts.map +1 -0
- package/dist/providers/SmartProvider/HyperlaneEtherscanProvider.js +120 -0
- package/dist/providers/SmartProvider/HyperlaneEtherscanProvider.js.map +1 -0
- package/dist/providers/SmartProvider/HyperlaneJsonRpcProvider.d.ts +16 -0
- package/dist/providers/SmartProvider/HyperlaneJsonRpcProvider.d.ts.map +1 -0
- package/dist/providers/SmartProvider/HyperlaneJsonRpcProvider.js +115 -0
- package/dist/providers/SmartProvider/HyperlaneJsonRpcProvider.js.map +1 -0
- package/dist/providers/SmartProvider/ProviderMethods.d.ts +21 -0
- package/dist/providers/SmartProvider/ProviderMethods.d.ts.map +1 -0
- package/dist/providers/SmartProvider/ProviderMethods.js +25 -0
- package/dist/providers/SmartProvider/ProviderMethods.js.map +1 -0
- package/dist/providers/SmartProvider/SmartProvider.d.ts +44 -0
- package/dist/providers/SmartProvider/SmartProvider.d.ts.map +1 -0
- package/dist/providers/SmartProvider/SmartProvider.foundry-test.d.ts +2 -0
- package/dist/providers/SmartProvider/SmartProvider.foundry-test.d.ts.map +1 -0
- package/dist/providers/SmartProvider/SmartProvider.foundry-test.js +67 -0
- package/dist/providers/SmartProvider/SmartProvider.foundry-test.js.map +1 -0
- package/dist/providers/SmartProvider/SmartProvider.js +248 -0
- package/dist/providers/SmartProvider/SmartProvider.js.map +1 -0
- package/dist/providers/SmartProvider/SmartProvider.test.d.ts +2 -0
- package/dist/providers/SmartProvider/SmartProvider.test.d.ts.map +1 -0
- package/dist/providers/SmartProvider/SmartProvider.test.js +171 -0
- package/dist/providers/SmartProvider/SmartProvider.test.js.map +1 -0
- package/dist/providers/SmartProvider/types.d.ts +36 -0
- package/dist/providers/SmartProvider/types.d.ts.map +1 -0
- package/dist/providers/SmartProvider/types.js +10 -0
- package/dist/providers/SmartProvider/types.js.map +1 -0
- package/dist/providers/providerBuilders.d.ts +10 -11
- package/dist/providers/providerBuilders.d.ts.map +1 -1
- package/dist/providers/providerBuilders.js +6 -34
- package/dist/providers/providerBuilders.js.map +1 -1
- package/dist/test/metadata-check.d.ts +2 -0
- package/dist/test/metadata-check.d.ts.map +1 -0
- package/dist/test/metadata-check.js +116 -0
- package/dist/test/metadata-check.js.map +1 -0
- package/package.json +10 -8
- package/dist/providers/RetryProvider.d.ts +0 -12
- package/dist/providers/RetryProvider.d.ts.map +0 -1
- package/dist/providers/RetryProvider.js +0 -21
- package/dist/providers/RetryProvider.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"providerBuilders.js","sourceRoot":"","sources":["../../src/providers/providerBuilders.ts"],"names":[],"mappings":";;;AAAA,iEAA2D;AAC3D,+CAAkD;AAClD,6CAA6C;
|
|
1
|
+
{"version":3,"file":"providerBuilders.js","sourceRoot":"","sources":["../../src/providers/providerBuilders.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metadata-check.d.ts","sourceRoot":"","sources":["../../src/test/metadata-check.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
/* eslint-disable no-console */
|
|
4
|
+
const ethers_1 = require("ethers");
|
|
5
|
+
const utils_1 = require("@hyperlane-xyz/utils");
|
|
6
|
+
const chainMetadata_1 = require("../consts/chainMetadata");
|
|
7
|
+
const chains_1 = require("../consts/chains");
|
|
8
|
+
const health_1 = require("../metadata/health");
|
|
9
|
+
const PROTOCOL_TO_ADDRESS = {
|
|
10
|
+
[utils_1.ProtocolType.Ethereum]: ethers_1.ethers.constants.AddressZero,
|
|
11
|
+
[utils_1.ProtocolType.Sealevel]: '00000000000000000000000000000000000000000000',
|
|
12
|
+
[utils_1.ProtocolType.Cosmos]: 'cosmos100000000000000000000000000000000000000',
|
|
13
|
+
[utils_1.ProtocolType.Fuel]: '',
|
|
14
|
+
};
|
|
15
|
+
// A random tx hash for each chain, used to test explorer link
|
|
16
|
+
const CHAIN_TO_TX_HASH = {
|
|
17
|
+
[chains_1.Chains.alfajores]: '0xf566f1ba4af5ac53081dc4b22fcac29fe5e9a25f5e134ca5464231ed7d2ffc81',
|
|
18
|
+
[chains_1.Chains.arbitrum]: '0x30093a67a823ca6b024eb5ca6f7d5cf7e967557662155e783827efcfeb29690f',
|
|
19
|
+
[chains_1.Chains.arbitrumgoerli]: '0xa86668384160a1b580bdbeabfce212524663143e94b68eb1e7fc48f20bbedc8c',
|
|
20
|
+
[chains_1.Chains.avalanche]: '0x244ae94a424906c88b2f7fc7697ce78f26fbfc74bee5040d63e1a1c6ef9eb84b',
|
|
21
|
+
[chains_1.Chains.base]: '0x27c0d75d1a38c0a31b0f41fd20d28a62be4ac83999abdf4f6ea607379b3f3d0d',
|
|
22
|
+
[chains_1.Chains.basegoerli]: '0xea6274abba0ad633d0155fc6cb5d25edb24bb7005c7b4aed33390716cf773c32',
|
|
23
|
+
[chains_1.Chains.bsc]: '0x18bd183cd2dc56a462b27331b8d28cddabde0c556698da29d69ee04c1b8b2c9c',
|
|
24
|
+
[chains_1.Chains.bsctestnet]: '0xcfa8f9c0b601913ddf0f99e03e0e2c211ef59bde7eba72eb8f7df739f913466f',
|
|
25
|
+
[chains_1.Chains.celo]: '0xb217245342d224c96876849bc2964cac6c648b7b054fd0b0278c5e98e540843b',
|
|
26
|
+
[chains_1.Chains.chiado]: '0x29d0828c8d1852097736220dd439716ec342caceb41d9edf4be9fda598c837df',
|
|
27
|
+
[chains_1.Chains.ethereum]: '0xf2f0373bdbdff84640b6d7f37ea999746715df499190b7a1095266066d1b7356',
|
|
28
|
+
[chains_1.Chains.fuji]: '0xb1b93727cea040b3164056d0b97785e8f0e4b7a749b0a56f9d1c2cf37bec0455',
|
|
29
|
+
[chains_1.Chains.gnosis]: '0x9f6d46b6be0adbcf6fa4517c6897a11763d4a5aa5e31e6b6b66a0463de958c25',
|
|
30
|
+
[chains_1.Chains.goerli]: '0xf9eeb8068f02d086fe100bc420af57384eff0fdc4f88e68e4e17e1985a7e2bf0',
|
|
31
|
+
[chains_1.Chains.lineagoerli]: '0xe0fad79e60d6178452bc07cf15c07cdda97deccd2b197af7790e978a8e5835ac',
|
|
32
|
+
[chains_1.Chains.mantapacific]: '0x045adb06cae25de2c90be0a8610f7adc226c34d0b03d4383ce3cb2157561d656',
|
|
33
|
+
[chains_1.Chains.moonbasealpha]: '0xe6711bc12bc1cef88f29e3bbabd9fbb050cfca086a5449f7d4da3819bdc77859',
|
|
34
|
+
[chains_1.Chains.moonbeam]: '0xf387fa67cf7f4a33d30c0c53900d21c4eff7867f5457a8b9f54802087a07eb96',
|
|
35
|
+
[chains_1.Chains.mumbai]: '0xeff94a58c83814e3c0fbaa721e95cd76f2dd00274ab547ed2e7d9a78b029c62a',
|
|
36
|
+
[chains_1.Chains.nautilus]: '',
|
|
37
|
+
[chains_1.Chains.neutron]: '4663DAD97C53850A2BAE898514971BACC8EB8B3C1FE9DBA3E62F5AC86D600E73',
|
|
38
|
+
[chains_1.Chains.optimism]: '0x139b9beec241a1258630367a2ec0c6567bfd5ce23cfc0c189fbd26b5eb657a33',
|
|
39
|
+
[chains_1.Chains.optimismgoerli]: '0xd84ae2271533f83c2adea10bd1bebcb97a9bad70ccfb7d771b4159ab0cadfda3',
|
|
40
|
+
[chains_1.Chains.polygon]: '0x7cf70156dbf12005875f73f48e903e40914d9a69a9487f0834e2d79132ec22f3',
|
|
41
|
+
[chains_1.Chains.polygonzkevm]: '0xf3fd1213a7b8db63031e83de929169896cbfae33004bb7a55234a1f72cb53d5f',
|
|
42
|
+
[chains_1.Chains.polygonzkevmtestnet]: '0xf758cfe7f83c9556300f687b01e0f9fcb15156f70406cb54122a0531394ce496',
|
|
43
|
+
[chains_1.Chains.proteustestnet]: '',
|
|
44
|
+
[chains_1.Chains.scroll]: '0x262a4c4ee74f1a81ed414ffad3a8e2046ad2521252b2091f1acb053239aab5b7',
|
|
45
|
+
[chains_1.Chains.scrollsepolia]: '0xe2093b1a4c6a0d9d34e6441b449e7cb4e7a785a41e5df2df9a981968888813ae',
|
|
46
|
+
[chains_1.Chains.sepolia]: '0xdacc9d206b55ba553afc42e2c207e355aacaf96855845b3a746f294fefd4f39d',
|
|
47
|
+
[chains_1.Chains.solana]: '23346vC32nGAaq4ADj8zJqzVv9DGcY6oqnEbM7g1d1Ydqh8wziEgavKXx1qNqqqHMwKq3LRqaGwMMH7wK9UhAuz4',
|
|
48
|
+
[chains_1.Chains.solanadevnet]: '58XxWq2AD5Hw58cJxbhLNXsbycHUmHhkUpdacZWBTTz5kFW4dstTHVcb8MKJMRxiG4eVsnmb3Qhbf3TVriuCad4n',
|
|
49
|
+
[chains_1.Chains.test1]: '',
|
|
50
|
+
[chains_1.Chains.test2]: '',
|
|
51
|
+
[chains_1.Chains.test3]: '',
|
|
52
|
+
};
|
|
53
|
+
// Note: run with DEBUG=hyperlane for more detailed logs
|
|
54
|
+
async function main() {
|
|
55
|
+
const results = {};
|
|
56
|
+
const badList = [];
|
|
57
|
+
for (const metadata of Object.values(chainMetadata_1.chainMetadata)) {
|
|
58
|
+
if (chains_1.TestChains.includes(metadata.name))
|
|
59
|
+
continue;
|
|
60
|
+
console.log(`Checking metadata health for ${metadata.name}`);
|
|
61
|
+
if (!metadata.rpcUrls) {
|
|
62
|
+
console.error(`No rpcUrls for ${metadata.name}, invalid chain metadata`);
|
|
63
|
+
}
|
|
64
|
+
if (!metadata.blockExplorers?.length) {
|
|
65
|
+
console.warn(`No block explorers for ${metadata.name}, consider adding one`);
|
|
66
|
+
}
|
|
67
|
+
results[metadata.name] = {
|
|
68
|
+
goodRpcs: 0,
|
|
69
|
+
badRpcs: 0,
|
|
70
|
+
goodExplorers: 0,
|
|
71
|
+
badExplorers: 0,
|
|
72
|
+
};
|
|
73
|
+
for (const rpc of metadata.rpcUrls) {
|
|
74
|
+
const isHealthy = await (0, health_1.isRpcHealthy)(rpc, metadata.chainId, metadata.protocol);
|
|
75
|
+
if (!isHealthy) {
|
|
76
|
+
console.error(`RPC ${rpc.http} for ${metadata.name} is not healthy`);
|
|
77
|
+
results[metadata.name].badRpcs += 1;
|
|
78
|
+
badList.push(rpc.http);
|
|
79
|
+
}
|
|
80
|
+
else {
|
|
81
|
+
results[metadata.name].goodRpcs += 1;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
if (!metadata.blockExplorers?.length)
|
|
85
|
+
continue;
|
|
86
|
+
// This only tests the first explorer since that's
|
|
87
|
+
// what the related utils use anyway
|
|
88
|
+
const firstExplorerUrl = metadata.blockExplorers[0].url;
|
|
89
|
+
const isHealthy = await (0, health_1.isBlockExplorerHealthy)(metadata, PROTOCOL_TO_ADDRESS[metadata.protocol], CHAIN_TO_TX_HASH[metadata.name]);
|
|
90
|
+
if (!isHealthy) {
|
|
91
|
+
console.error(`Explorer ${firstExplorerUrl} for ${metadata.name} is not healthy`);
|
|
92
|
+
results[metadata.name].badExplorers += 1;
|
|
93
|
+
badList.push(firstExplorerUrl);
|
|
94
|
+
}
|
|
95
|
+
else {
|
|
96
|
+
results[metadata.name].goodExplorers += 1;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
console.table(results);
|
|
100
|
+
console.log('The bad ones:\n===============');
|
|
101
|
+
console.log(badList);
|
|
102
|
+
if (badList.length) {
|
|
103
|
+
console.error('Some RPCs or block explorers are unhealthy');
|
|
104
|
+
process.exit(1);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
main()
|
|
108
|
+
.then(() => {
|
|
109
|
+
console.log('Done');
|
|
110
|
+
process.exit(0);
|
|
111
|
+
})
|
|
112
|
+
.catch((err) => {
|
|
113
|
+
console.error('Unhandled error running test:', err);
|
|
114
|
+
process.exit(1);
|
|
115
|
+
});
|
|
116
|
+
//# sourceMappingURL=metadata-check.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metadata-check.js","sourceRoot":"","sources":["../../src/test/metadata-check.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,24 +1,24 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hyperlane-xyz/sdk",
|
|
3
3
|
"description": "The official SDK for the Hyperlane Network",
|
|
4
|
-
"version": "3.
|
|
4
|
+
"version": "3.4.0",
|
|
5
5
|
"dependencies": {
|
|
6
6
|
"@cosmjs/cosmwasm-stargate": "^0.31.3",
|
|
7
7
|
"@cosmjs/stargate": "^0.31.3",
|
|
8
|
-
"@hyperlane-xyz/core": "3.
|
|
9
|
-
"@hyperlane-xyz/utils": "3.
|
|
8
|
+
"@hyperlane-xyz/core": "3.4.0",
|
|
9
|
+
"@hyperlane-xyz/utils": "3.4.0",
|
|
10
10
|
"@solana/spl-token": "^0.3.8",
|
|
11
11
|
"@solana/web3.js": "^1.78.0",
|
|
12
12
|
"@types/coingecko-api": "^1.0.10",
|
|
13
13
|
"@types/debug": "^4.1.7",
|
|
14
|
-
"@wagmi/chains": "^
|
|
14
|
+
"@wagmi/chains": "^1.8.0",
|
|
15
15
|
"bignumber.js": "^9.1.1",
|
|
16
16
|
"coingecko-api": "^1.0.10",
|
|
17
17
|
"cosmjs-types": "^0.9.0",
|
|
18
18
|
"cross-fetch": "^3.1.5",
|
|
19
19
|
"debug": "^4.3.4",
|
|
20
20
|
"ethers": "^5.7.2",
|
|
21
|
-
"viem": "^1.
|
|
21
|
+
"viem": "^1.20.0",
|
|
22
22
|
"zod": "^3.21.2"
|
|
23
23
|
},
|
|
24
24
|
"devDependencies": {
|
|
@@ -60,9 +60,11 @@
|
|
|
60
60
|
"lint": "eslint src --ext .ts",
|
|
61
61
|
"prepublishOnly": "yarn build",
|
|
62
62
|
"prettier": "prettier --write ./src",
|
|
63
|
-
"test": "yarn test:unit && yarn test:hardhat",
|
|
64
|
-
"test:unit": "mocha --config .mocharc.json './src/**/*.test.ts'",
|
|
65
|
-
"test:hardhat": "hardhat test $(find ./src -name \"*.hardhat-test.ts\")"
|
|
63
|
+
"test": "yarn test:unit && yarn test:hardhat && yarn test:foundry",
|
|
64
|
+
"test:unit": "mocha --config .mocharc.json './src/**/*.test.ts' --exit",
|
|
65
|
+
"test:hardhat": "hardhat test $(find ./src -name \"*.hardhat-test.ts\")",
|
|
66
|
+
"test:metadata": "ts-node ./src/test/metadata-check.ts",
|
|
67
|
+
"test:foundry": "./scripts/foundry-test.sh"
|
|
66
68
|
},
|
|
67
69
|
"types": "dist/index.d.ts",
|
|
68
70
|
"peerDependencies": {
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { ethers } from 'ethers';
|
|
2
|
-
export type RetryProviderOptions = {
|
|
3
|
-
maxRequests: number;
|
|
4
|
-
baseRetryMs: number;
|
|
5
|
-
};
|
|
6
|
-
export declare class RetryJsonRpcProvider extends ethers.providers
|
|
7
|
-
.StaticJsonRpcProvider {
|
|
8
|
-
readonly retryOptions: RetryProviderOptions;
|
|
9
|
-
constructor(retryOptions: RetryProviderOptions, url?: ethers.utils.ConnectionInfo | string, network?: ethers.providers.Networkish);
|
|
10
|
-
send(method: string, params: Array<any>): Promise<any>;
|
|
11
|
-
}
|
|
12
|
-
//# sourceMappingURL=RetryProvider.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RetryProvider.d.ts","sourceRoot":"","sources":["../../src/providers/RetryProvider.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAIhC,MAAM,MAAM,oBAAoB,GAAG;IAEjC,WAAW,EAAE,MAAM,CAAC;IAGpB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,qBAAa,oBAAqB,SAAQ,MAAM,CAAC,SAAS;KACvD,qBAAqB;IACtB,SAAgB,YAAY,EAAE,oBAAoB,CAAC;gBAEjD,YAAY,EAAE,oBAAoB,EAClC,GAAG,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,cAAc,GAAG,MAAM,EAC1C,OAAO,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,UAAU;IAcjC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;CAO7D"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.RetryJsonRpcProvider = void 0;
|
|
4
|
-
// RetryProvider Mostly taken from the removed version that was in ethers.js
|
|
5
|
-
// See: https://github.com/ethers-io/ethers.js/discussions/3006
|
|
6
|
-
const ethers_1 = require("ethers");
|
|
7
|
-
const utils_1 = require("@hyperlane-xyz/utils");
|
|
8
|
-
class RetryJsonRpcProvider extends ethers_1.ethers.providers
|
|
9
|
-
.StaticJsonRpcProvider {
|
|
10
|
-
constructor(retryOptions, url, network) {
|
|
11
|
-
super(url, network);
|
|
12
|
-
(0, utils_1.assert)(retryOptions.maxRequests >= 1, 'RetryOptions.maxRequests must be >= 1');
|
|
13
|
-
(0, utils_1.assert)(retryOptions.baseRetryMs >= 1, 'RetryOptions.baseRetryMs must be >= 1');
|
|
14
|
-
this.retryOptions = retryOptions;
|
|
15
|
-
}
|
|
16
|
-
async send(method, params) {
|
|
17
|
-
return (0, utils_1.retryAsync)(() => super.send(method, params), this.retryOptions.maxRequests, this.retryOptions.baseRetryMs);
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
exports.RetryJsonRpcProvider = RetryJsonRpcProvider;
|
|
21
|
-
//# sourceMappingURL=RetryProvider.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RetryProvider.js","sourceRoot":"","sources":["../../src/providers/RetryProvider.ts"],"names":[],"mappings":";;;AAAA,4EAA4E;AAC5E,+DAA+D;AAC/D,mCAAgC;AAEhC,gDAA0D;AAU1D,MAAa,oBAAqB,SAAQ,eAAM,CAAC,SAAS;KACvD,qBAAqB;IAEtB,YACE,YAAkC,EAClC,GAA0C,EAC1C,OAAqC;QAErC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QACpB,IAAA,cAAM,EACJ,YAAY,CAAC,WAAW,IAAI,CAAC,EAC7B,uCAAuC,CACxC,CAAC;QACF,IAAA,cAAM,EACJ,YAAY,CAAC,WAAW,IAAI,CAAC,EAC7B,uCAAuC,CACxC,CAAC;QACF,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,MAAc,EAAE,MAAkB;QAC3C,OAAO,IAAA,kBAAU,EACf,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,EAChC,IAAI,CAAC,YAAY,CAAC,WAAW,EAC7B,IAAI,CAAC,YAAY,CAAC,WAAW,CAC9B,CAAC;IACJ,CAAC;CACF;AA3BD,oDA2BC"}
|