@hyperlane-xyz/sdk 3.2.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/app/MultiProtocolApp.d.ts.map +1 -1
- package/dist/app/MultiProtocolApp.js +6 -0
- package/dist/app/MultiProtocolApp.js.map +1 -1
- package/dist/app/MultiProtocolApp.test.js +4 -1
- package/dist/app/MultiProtocolApp.test.js.map +1 -1
- package/dist/consts/chainMetadata.d.ts +18 -28
- package/dist/consts/chainMetadata.d.ts.map +1 -1
- package/dist/consts/chainMetadata.js +497 -542
- 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/gas/token-prices.d.ts +3 -2
- package/dist/gas/token-prices.d.ts.map +1 -1
- package/dist/gas/token-prices.js +6 -3
- package/dist/gas/token-prices.js.map +1 -1
- package/dist/gas/token-prices.test.js +1 -1
- package/dist/gas/token-prices.test.js.map +1 -1
- package/dist/hook/HyperlaneHookDeployer.d.ts +2 -2
- package/dist/hook/HyperlaneHookDeployer.d.ts.map +1 -1
- package/dist/hook/HyperlaneHookDeployer.js +6 -2
- package/dist/hook/HyperlaneHookDeployer.js.map +1 -1
- package/dist/hook/contracts.d.ts +2 -2
- package/dist/hook/contracts.d.ts.map +1 -1
- package/dist/hook/contracts.js +1 -1
- package/dist/hook/contracts.js.map +1 -1
- package/dist/hook/types.d.ts +6 -3
- package/dist/hook/types.d.ts.map +1 -1
- package/dist/hook/types.js.map +1 -1
- package/dist/index.d.ts +9 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +22 -13
- 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/chainMetadata.test.js +10 -0
- package/dist/metadata/chainMetadata.test.js.map +1 -1
- 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/router/MultiProtocolRouterApps.test.js +3 -2
- package/dist/router/MultiProtocolRouterApps.test.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/dist/test/testUtils.js +2 -2
- package/dist/test/testUtils.js.map +1 -1
- package/dist/token/adapters/SealevelTokenAdapter.d.ts +1 -9
- package/dist/token/adapters/SealevelTokenAdapter.d.ts.map +1 -1
- package/package.json +10 -8
- package/dist/consts/agentStartBlocks.d.ts +0 -3
- package/dist/consts/agentStartBlocks.d.ts.map +0 -1
- package/dist/consts/agentStartBlocks.js +0 -28
- package/dist/consts/agentStartBlocks.js.map +0 -1
- 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":"agentConfig.d.ts","sourceRoot":"","sources":["../../src/metadata/agentConfig.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAI/C,OAAO,EACL,4BAA4B,EAE7B,MAAM,uBAAuB,CAAC;AAG/B,oBAAY,gBAAgB;IAC1B,MAAM,WAAW;IACjB,QAAQ,aAAa;IACrB,MAAM,WAAW;CAClB;AAED,oBAAY,aAAa;IACvB,GAAG,QAAQ;IACX,KAAK,UAAU;IACf,IAAI,SAAS;IACb,IAAI,SAAS;IACb,KAAK,UAAU;IACf,KAAK,UAAU;CAChB;AAED,oBAAY,cAAc;IACxB,IAAI,SAAS;IACb,OAAO,YAAY;IACnB,IAAI,SAAS;IACb,MAAM,WAAW;CAClB;AAED,oBAAY,cAAc;IACxB,KAAK,UAAU;IACf,QAAQ,aAAa;CACtB;AAED,oBAAY,kBAAkB;IAC5B,GAAG,QAAQ;IACX,GAAG,WAAW;IACd,IAAI,SAAS;IACb,MAAM,cAAc;CACrB;AAED,QAAA,MAAM,uBAAuB;;;;;;;;;EAKC,CAAC;AAC/B,QAAA,MAAM,uBAAuB;;;;;;;;;;;;EAQ1B,CAAC;AAQJ,QAAA,MAAM,qBAAqB;;;;;;EAI8C,CAAC;AAE1E,QAAA,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAKrB,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AACxE,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AACxE,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACzE,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACpE,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,eAAO,MAAM,wBAAwB
|
|
1
|
+
{"version":3,"file":"agentConfig.d.ts","sourceRoot":"","sources":["../../src/metadata/agentConfig.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { ChainMetadata } from './chainMetadataTypes';
|
|
2
|
+
export declare function getExplorerBaseUrl(metadata: ChainMetadata): string | null;
|
|
3
|
+
export declare function getExplorerApiUrl(metadata: ChainMetadata): string | null;
|
|
4
|
+
export declare function getExplorerTxUrl(metadata: ChainMetadata, hash: string): string | null;
|
|
5
|
+
export declare function getExplorerAddressUrl(metadata: ChainMetadata, address: string): string | null;
|
|
6
|
+
//# sourceMappingURL=blockExplorer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"blockExplorer.d.ts","sourceRoot":"","sources":["../../src/metadata/blockExplorer.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,aAAa,GAAG,MAAM,GAAG,IAAI,CAWzE;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,aAAa,GAAG,MAAM,GAAG,IAAI,CAUxE;AAED,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,aAAa,EACvB,IAAI,EAAE,MAAM,GACX,MAAM,GAAG,IAAI,CASf;AAED,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,aAAa,EACvB,OAAO,EAAE,MAAM,GACd,MAAM,GAAG,IAAI,CAIf"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getExplorerAddressUrl = exports.getExplorerTxUrl = exports.getExplorerApiUrl = exports.getExplorerBaseUrl = void 0;
|
|
4
|
+
const utils_1 = require("@hyperlane-xyz/utils");
|
|
5
|
+
const chainMetadata_1 = require("../consts/chainMetadata");
|
|
6
|
+
function getExplorerBaseUrl(metadata) {
|
|
7
|
+
if (!metadata?.blockExplorers?.length)
|
|
8
|
+
return null;
|
|
9
|
+
const url = new URL(metadata.blockExplorers[0].url);
|
|
10
|
+
// TODO consider move handling of these chain/protocol specific quirks to ChainMetadata
|
|
11
|
+
if (metadata.protocol === utils_1.ProtocolType.Sealevel &&
|
|
12
|
+
chainMetadata_1.solanaChainToClusterName[metadata.name]) {
|
|
13
|
+
url.searchParams.set('cluster', chainMetadata_1.solanaChainToClusterName[metadata.name]);
|
|
14
|
+
}
|
|
15
|
+
return url.toString();
|
|
16
|
+
}
|
|
17
|
+
exports.getExplorerBaseUrl = getExplorerBaseUrl;
|
|
18
|
+
function getExplorerApiUrl(metadata) {
|
|
19
|
+
const { protocol, blockExplorers } = metadata;
|
|
20
|
+
// TODO solana + cosmos support here as needed
|
|
21
|
+
if (protocol !== utils_1.ProtocolType.Ethereum)
|
|
22
|
+
return null;
|
|
23
|
+
if (!blockExplorers?.length || !blockExplorers[0].apiUrl)
|
|
24
|
+
return null;
|
|
25
|
+
const { apiUrl, apiKey } = blockExplorers[0];
|
|
26
|
+
if (!apiKey)
|
|
27
|
+
return apiUrl;
|
|
28
|
+
const url = new URL(apiUrl);
|
|
29
|
+
url.searchParams.set('apikey', apiKey);
|
|
30
|
+
return url.toString();
|
|
31
|
+
}
|
|
32
|
+
exports.getExplorerApiUrl = getExplorerApiUrl;
|
|
33
|
+
function getExplorerTxUrl(metadata, hash) {
|
|
34
|
+
const baseUrl = getExplorerBaseUrl(metadata);
|
|
35
|
+
if (!baseUrl)
|
|
36
|
+
return null;
|
|
37
|
+
const chainName = metadata.name;
|
|
38
|
+
// TODO consider move handling of these chain/protocol specific quirks to ChainMetadata
|
|
39
|
+
const urlPathStub = ['nautilus', 'proteustestnet'].includes(chainName)
|
|
40
|
+
? 'transaction'
|
|
41
|
+
: 'tx';
|
|
42
|
+
return appendToPath(baseUrl, `${urlPathStub}/${hash}`).toString();
|
|
43
|
+
}
|
|
44
|
+
exports.getExplorerTxUrl = getExplorerTxUrl;
|
|
45
|
+
function getExplorerAddressUrl(metadata, address) {
|
|
46
|
+
const baseUrl = getExplorerBaseUrl(metadata);
|
|
47
|
+
if (!baseUrl)
|
|
48
|
+
return null;
|
|
49
|
+
return appendToPath(baseUrl, `address/${address}`).toString();
|
|
50
|
+
}
|
|
51
|
+
exports.getExplorerAddressUrl = getExplorerAddressUrl;
|
|
52
|
+
function appendToPath(baseUrl, pathExtension) {
|
|
53
|
+
const base = new URL(baseUrl);
|
|
54
|
+
let currentPath = base.pathname;
|
|
55
|
+
if (currentPath.endsWith('/'))
|
|
56
|
+
currentPath = currentPath.slice(0, -1);
|
|
57
|
+
const newPath = `${currentPath}/${pathExtension}`;
|
|
58
|
+
return new URL(newPath, base);
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=blockExplorer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"blockExplorer.js","sourceRoot":"","sources":["../../src/metadata/blockExplorer.ts"],"names":[],"mappings":";;;AAAA,gDAAoD;AAEpD,2DAAmE;AAInE,SAAgB,kBAAkB,CAAC,QAAuB;IACxD,IAAI,CAAC,QAAQ,EAAE,cAAc,EAAE,MAAM;QAAE,OAAO,IAAI,CAAC;IACnD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACpD,uFAAuF;IACvF,IACE,QAAQ,CAAC,QAAQ,KAAK,oBAAY,CAAC,QAAQ;QAC3C,wCAAwB,CAAC,QAAQ,CAAC,IAAI,CAAC,EACvC;QACA,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,EAAE,wCAAwB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;KAC1E;IACD,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;AACxB,CAAC;AAXD,gDAWC;AAED,SAAgB,iBAAiB,CAAC,QAAuB;IACvD,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,GAAG,QAAQ,CAAC;IAC9C,8CAA8C;IAC9C,IAAI,QAAQ,KAAK,oBAAY,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IACpD,IAAI,CAAC,cAAc,EAAE,MAAM,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACtE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;IAC7C,IAAI,CAAC,MAAM;QAAE,OAAO,MAAM,CAAC;IAC3B,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;IAC5B,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACvC,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;AACxB,CAAC;AAVD,8CAUC;AAED,SAAgB,gBAAgB,CAC9B,QAAuB,EACvB,IAAY;IAEZ,MAAM,OAAO,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAC7C,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAC1B,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC;IAChC,uFAAuF;IACvF,MAAM,WAAW,GAAG,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC;QACpE,CAAC,CAAC,aAAa;QACf,CAAC,CAAC,IAAI,CAAC;IACT,OAAO,YAAY,CAAC,OAAO,EAAE,GAAG,WAAW,IAAI,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;AACpE,CAAC;AAZD,4CAYC;AAED,SAAgB,qBAAqB,CACnC,QAAuB,EACvB,OAAe;IAEf,MAAM,OAAO,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAC7C,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAC1B,OAAO,YAAY,CAAC,OAAO,EAAE,WAAW,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;AAChE,CAAC;AAPD,sDAOC;AAED,SAAS,YAAY,CAAC,OAAe,EAAE,aAAqB;IAC1D,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;IAC9B,IAAI,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC;IAChC,IAAI,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,WAAW,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACtE,MAAM,OAAO,GAAG,GAAG,WAAW,IAAI,aAAa,EAAE,CAAC;IAClD,OAAO,IAAI,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AAChC,CAAC"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const chai_1 = require("chai");
|
|
4
4
|
const utils_1 = require("@hyperlane-xyz/utils");
|
|
5
|
+
const chainMetadata_1 = require("../consts/chainMetadata");
|
|
5
6
|
const chainMetadataTypes_1 = require("./chainMetadataTypes");
|
|
6
7
|
const minimalSchema = {
|
|
7
8
|
chainId: 5,
|
|
@@ -74,5 +75,14 @@ describe('ChainMetadataSchema', () => {
|
|
|
74
75
|
chainId: 'string-id',
|
|
75
76
|
})).to.eq(false);
|
|
76
77
|
});
|
|
78
|
+
it('Works for all SDK chain metadata consts', () => {
|
|
79
|
+
for (const chain of Object.keys(chainMetadata_1.chainMetadata)) {
|
|
80
|
+
const isValid = (0, chainMetadataTypes_1.isValidChainMetadata)(chainMetadata_1.chainMetadata[chain]);
|
|
81
|
+
// eslint-disable-next-line no-console
|
|
82
|
+
if (!isValid)
|
|
83
|
+
console.error(`Invalid chain metadata for ${chain}`);
|
|
84
|
+
(0, chai_1.expect)(isValid).to.eq(true);
|
|
85
|
+
}
|
|
86
|
+
});
|
|
77
87
|
});
|
|
78
88
|
//# sourceMappingURL=chainMetadata.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chainMetadata.test.js","sourceRoot":"","sources":["../../src/metadata/chainMetadata.test.ts"],"names":[],"mappings":";;AAAA,+BAA8B;AAE9B,gDAAoD;AAEpD,6DAA2E;AAE3E,MAAM,aAAa,GAAkB;IACnC,OAAO,EAAE,CAAC;IACV,QAAQ,EAAE,CAAC;IACX,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,oBAAY,CAAC,QAAQ;IAC/B,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,CAAC;CAC1C,CAAC;AAEF,MAAM,cAAc,GAAG;IACrB;QACE,IAAI,EAAE,MAAM;QACZ,GAAG,EAAE,oBAAoB;QACzB,MAAM,EAAE,wBAAwB;KACjC;CACF,CAAC;AAEF,MAAM,MAAM,GAAG;IACb,aAAa,EAAE,CAAC;IAChB,iBAAiB,EAAE,EAAE;CACtB,CAAC;AAEF,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACnC,EAAE,CAAC,uBAAuB,EAAE,GAAG,EAAE;QAC/B,IAAA,aAAM,EAAC,IAAA,yCAAoB,EAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;QAExD,IAAA,aAAM,EACJ,IAAA,yCAAoB,EAAC;YACnB,GAAG,aAAa;YAChB,cAAc;SACf,CAAC,CACH,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;QAEd,IAAA,aAAM,EACJ,IAAA,yCAAoB,EAAC;YACnB,GAAG,aAAa;YAChB,cAAc;SACf,CAAC,CACH,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;QAEd,IAAA,aAAM,EACJ,IAAA,yCAAoB,EAAC;YACnB,GAAG,aAAa;YAChB,cAAc;YACd,MAAM;SACP,CAAC,CACH,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;QAEd,IAAA,aAAM,EACJ,IAAA,yCAAoB,EAAC;YACnB,GAAG,aAAa;YAChB,QAAQ,EAAE,oBAAY,CAAC,MAAM;YAC7B,OAAO,EAAE,QAAQ;YACjB,YAAY,EAAE,QAAQ;YACtB,MAAM,EAAE,GAAG;SACZ,CAAC,CACH,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"chainMetadata.test.js","sourceRoot":"","sources":["../../src/metadata/chainMetadata.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -138,6 +138,57 @@ export declare const ChainMetadataSchemaObject: z.ZodObject<{
|
|
|
138
138
|
baseRetryMs: number;
|
|
139
139
|
} | undefined;
|
|
140
140
|
}>, "atleastone">;
|
|
141
|
+
restUrls: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
142
|
+
http: z.ZodString;
|
|
143
|
+
webSocket: z.ZodOptional<z.ZodString>;
|
|
144
|
+
pagination: z.ZodOptional<z.ZodObject<{
|
|
145
|
+
maxBlockRange: z.ZodOptional<z.ZodNumber>;
|
|
146
|
+
minBlockNumber: z.ZodOptional<z.ZodNumber>;
|
|
147
|
+
maxBlockAge: z.ZodOptional<z.ZodNumber>;
|
|
148
|
+
}, "strip", z.ZodTypeAny, {
|
|
149
|
+
maxBlockRange?: number | undefined;
|
|
150
|
+
minBlockNumber?: number | undefined;
|
|
151
|
+
maxBlockAge?: number | undefined;
|
|
152
|
+
}, {
|
|
153
|
+
maxBlockRange?: number | undefined;
|
|
154
|
+
minBlockNumber?: number | undefined;
|
|
155
|
+
maxBlockAge?: number | undefined;
|
|
156
|
+
}>>;
|
|
157
|
+
retry: z.ZodOptional<z.ZodObject<{
|
|
158
|
+
maxRequests: z.ZodNumber;
|
|
159
|
+
baseRetryMs: z.ZodNumber;
|
|
160
|
+
}, "strip", z.ZodTypeAny, {
|
|
161
|
+
maxRequests: number;
|
|
162
|
+
baseRetryMs: number;
|
|
163
|
+
}, {
|
|
164
|
+
maxRequests: number;
|
|
165
|
+
baseRetryMs: number;
|
|
166
|
+
}>>;
|
|
167
|
+
}, "strip", z.ZodTypeAny, {
|
|
168
|
+
http: string;
|
|
169
|
+
webSocket?: string | undefined;
|
|
170
|
+
pagination?: {
|
|
171
|
+
maxBlockRange?: number | undefined;
|
|
172
|
+
minBlockNumber?: number | undefined;
|
|
173
|
+
maxBlockAge?: number | undefined;
|
|
174
|
+
} | undefined;
|
|
175
|
+
retry?: {
|
|
176
|
+
maxRequests: number;
|
|
177
|
+
baseRetryMs: number;
|
|
178
|
+
} | undefined;
|
|
179
|
+
}, {
|
|
180
|
+
http: string;
|
|
181
|
+
webSocket?: string | undefined;
|
|
182
|
+
pagination?: {
|
|
183
|
+
maxBlockRange?: number | undefined;
|
|
184
|
+
minBlockNumber?: number | undefined;
|
|
185
|
+
maxBlockAge?: number | undefined;
|
|
186
|
+
} | undefined;
|
|
187
|
+
retry?: {
|
|
188
|
+
maxRequests: number;
|
|
189
|
+
baseRetryMs: number;
|
|
190
|
+
} | undefined;
|
|
191
|
+
}>, "many">>;
|
|
141
192
|
blockExplorers: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
142
193
|
name: z.ZodString;
|
|
143
194
|
url: z.ZodString;
|
|
@@ -214,6 +265,19 @@ export declare const ChainMetadataSchemaObject: z.ZodObject<{
|
|
|
214
265
|
name: string;
|
|
215
266
|
decimals: number;
|
|
216
267
|
} | undefined;
|
|
268
|
+
restUrls?: {
|
|
269
|
+
http: string;
|
|
270
|
+
webSocket?: string | undefined;
|
|
271
|
+
pagination?: {
|
|
272
|
+
maxBlockRange?: number | undefined;
|
|
273
|
+
minBlockNumber?: number | undefined;
|
|
274
|
+
maxBlockAge?: number | undefined;
|
|
275
|
+
} | undefined;
|
|
276
|
+
retry?: {
|
|
277
|
+
maxRequests: number;
|
|
278
|
+
baseRetryMs: number;
|
|
279
|
+
} | undefined;
|
|
280
|
+
}[] | undefined;
|
|
217
281
|
blockExplorers?: {
|
|
218
282
|
name: string;
|
|
219
283
|
url: string;
|
|
@@ -270,6 +334,19 @@ export declare const ChainMetadataSchemaObject: z.ZodObject<{
|
|
|
270
334
|
name: string;
|
|
271
335
|
decimals: number;
|
|
272
336
|
} | undefined;
|
|
337
|
+
restUrls?: {
|
|
338
|
+
http: string;
|
|
339
|
+
webSocket?: string | undefined;
|
|
340
|
+
pagination?: {
|
|
341
|
+
maxBlockRange?: number | undefined;
|
|
342
|
+
minBlockNumber?: number | undefined;
|
|
343
|
+
maxBlockAge?: number | undefined;
|
|
344
|
+
} | undefined;
|
|
345
|
+
retry?: {
|
|
346
|
+
maxRequests: number;
|
|
347
|
+
baseRetryMs: number;
|
|
348
|
+
} | undefined;
|
|
349
|
+
}[] | undefined;
|
|
273
350
|
blockExplorers?: {
|
|
274
351
|
name: string;
|
|
275
352
|
url: string;
|
|
@@ -361,6 +438,57 @@ export declare const ChainMetadataSchema: z.ZodEffects<z.ZodEffects<z.ZodEffects
|
|
|
361
438
|
baseRetryMs: number;
|
|
362
439
|
} | undefined;
|
|
363
440
|
}>, "atleastone">;
|
|
441
|
+
restUrls: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
442
|
+
http: z.ZodString;
|
|
443
|
+
webSocket: z.ZodOptional<z.ZodString>;
|
|
444
|
+
pagination: z.ZodOptional<z.ZodObject<{
|
|
445
|
+
maxBlockRange: z.ZodOptional<z.ZodNumber>;
|
|
446
|
+
minBlockNumber: z.ZodOptional<z.ZodNumber>;
|
|
447
|
+
maxBlockAge: z.ZodOptional<z.ZodNumber>;
|
|
448
|
+
}, "strip", z.ZodTypeAny, {
|
|
449
|
+
maxBlockRange?: number | undefined;
|
|
450
|
+
minBlockNumber?: number | undefined;
|
|
451
|
+
maxBlockAge?: number | undefined;
|
|
452
|
+
}, {
|
|
453
|
+
maxBlockRange?: number | undefined;
|
|
454
|
+
minBlockNumber?: number | undefined;
|
|
455
|
+
maxBlockAge?: number | undefined;
|
|
456
|
+
}>>;
|
|
457
|
+
retry: z.ZodOptional<z.ZodObject<{
|
|
458
|
+
maxRequests: z.ZodNumber;
|
|
459
|
+
baseRetryMs: z.ZodNumber;
|
|
460
|
+
}, "strip", z.ZodTypeAny, {
|
|
461
|
+
maxRequests: number;
|
|
462
|
+
baseRetryMs: number;
|
|
463
|
+
}, {
|
|
464
|
+
maxRequests: number;
|
|
465
|
+
baseRetryMs: number;
|
|
466
|
+
}>>;
|
|
467
|
+
}, "strip", z.ZodTypeAny, {
|
|
468
|
+
http: string;
|
|
469
|
+
webSocket?: string | undefined;
|
|
470
|
+
pagination?: {
|
|
471
|
+
maxBlockRange?: number | undefined;
|
|
472
|
+
minBlockNumber?: number | undefined;
|
|
473
|
+
maxBlockAge?: number | undefined;
|
|
474
|
+
} | undefined;
|
|
475
|
+
retry?: {
|
|
476
|
+
maxRequests: number;
|
|
477
|
+
baseRetryMs: number;
|
|
478
|
+
} | undefined;
|
|
479
|
+
}, {
|
|
480
|
+
http: string;
|
|
481
|
+
webSocket?: string | undefined;
|
|
482
|
+
pagination?: {
|
|
483
|
+
maxBlockRange?: number | undefined;
|
|
484
|
+
minBlockNumber?: number | undefined;
|
|
485
|
+
maxBlockAge?: number | undefined;
|
|
486
|
+
} | undefined;
|
|
487
|
+
retry?: {
|
|
488
|
+
maxRequests: number;
|
|
489
|
+
baseRetryMs: number;
|
|
490
|
+
} | undefined;
|
|
491
|
+
}>, "many">>;
|
|
364
492
|
blockExplorers: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
365
493
|
name: z.ZodString;
|
|
366
494
|
url: z.ZodString;
|
|
@@ -437,6 +565,19 @@ export declare const ChainMetadataSchema: z.ZodEffects<z.ZodEffects<z.ZodEffects
|
|
|
437
565
|
name: string;
|
|
438
566
|
decimals: number;
|
|
439
567
|
} | undefined;
|
|
568
|
+
restUrls?: {
|
|
569
|
+
http: string;
|
|
570
|
+
webSocket?: string | undefined;
|
|
571
|
+
pagination?: {
|
|
572
|
+
maxBlockRange?: number | undefined;
|
|
573
|
+
minBlockNumber?: number | undefined;
|
|
574
|
+
maxBlockAge?: number | undefined;
|
|
575
|
+
} | undefined;
|
|
576
|
+
retry?: {
|
|
577
|
+
maxRequests: number;
|
|
578
|
+
baseRetryMs: number;
|
|
579
|
+
} | undefined;
|
|
580
|
+
}[] | undefined;
|
|
440
581
|
blockExplorers?: {
|
|
441
582
|
name: string;
|
|
442
583
|
url: string;
|
|
@@ -493,6 +634,19 @@ export declare const ChainMetadataSchema: z.ZodEffects<z.ZodEffects<z.ZodEffects
|
|
|
493
634
|
name: string;
|
|
494
635
|
decimals: number;
|
|
495
636
|
} | undefined;
|
|
637
|
+
restUrls?: {
|
|
638
|
+
http: string;
|
|
639
|
+
webSocket?: string | undefined;
|
|
640
|
+
pagination?: {
|
|
641
|
+
maxBlockRange?: number | undefined;
|
|
642
|
+
minBlockNumber?: number | undefined;
|
|
643
|
+
maxBlockAge?: number | undefined;
|
|
644
|
+
} | undefined;
|
|
645
|
+
retry?: {
|
|
646
|
+
maxRequests: number;
|
|
647
|
+
baseRetryMs: number;
|
|
648
|
+
} | undefined;
|
|
649
|
+
}[] | undefined;
|
|
496
650
|
blockExplorers?: {
|
|
497
651
|
name: string;
|
|
498
652
|
url: string;
|
|
@@ -549,6 +703,19 @@ export declare const ChainMetadataSchema: z.ZodEffects<z.ZodEffects<z.ZodEffects
|
|
|
549
703
|
name: string;
|
|
550
704
|
decimals: number;
|
|
551
705
|
} | undefined;
|
|
706
|
+
restUrls?: {
|
|
707
|
+
http: string;
|
|
708
|
+
webSocket?: string | undefined;
|
|
709
|
+
pagination?: {
|
|
710
|
+
maxBlockRange?: number | undefined;
|
|
711
|
+
minBlockNumber?: number | undefined;
|
|
712
|
+
maxBlockAge?: number | undefined;
|
|
713
|
+
} | undefined;
|
|
714
|
+
retry?: {
|
|
715
|
+
maxRequests: number;
|
|
716
|
+
baseRetryMs: number;
|
|
717
|
+
} | undefined;
|
|
718
|
+
}[] | undefined;
|
|
552
719
|
blockExplorers?: {
|
|
553
720
|
name: string;
|
|
554
721
|
url: string;
|
|
@@ -605,6 +772,19 @@ export declare const ChainMetadataSchema: z.ZodEffects<z.ZodEffects<z.ZodEffects
|
|
|
605
772
|
name: string;
|
|
606
773
|
decimals: number;
|
|
607
774
|
} | undefined;
|
|
775
|
+
restUrls?: {
|
|
776
|
+
http: string;
|
|
777
|
+
webSocket?: string | undefined;
|
|
778
|
+
pagination?: {
|
|
779
|
+
maxBlockRange?: number | undefined;
|
|
780
|
+
minBlockNumber?: number | undefined;
|
|
781
|
+
maxBlockAge?: number | undefined;
|
|
782
|
+
} | undefined;
|
|
783
|
+
retry?: {
|
|
784
|
+
maxRequests: number;
|
|
785
|
+
baseRetryMs: number;
|
|
786
|
+
} | undefined;
|
|
787
|
+
}[] | undefined;
|
|
608
788
|
blockExplorers?: {
|
|
609
789
|
name: string;
|
|
610
790
|
url: string;
|
|
@@ -661,6 +841,19 @@ export declare const ChainMetadataSchema: z.ZodEffects<z.ZodEffects<z.ZodEffects
|
|
|
661
841
|
name: string;
|
|
662
842
|
decimals: number;
|
|
663
843
|
} | undefined;
|
|
844
|
+
restUrls?: {
|
|
845
|
+
http: string;
|
|
846
|
+
webSocket?: string | undefined;
|
|
847
|
+
pagination?: {
|
|
848
|
+
maxBlockRange?: number | undefined;
|
|
849
|
+
minBlockNumber?: number | undefined;
|
|
850
|
+
maxBlockAge?: number | undefined;
|
|
851
|
+
} | undefined;
|
|
852
|
+
retry?: {
|
|
853
|
+
maxRequests: number;
|
|
854
|
+
baseRetryMs: number;
|
|
855
|
+
} | undefined;
|
|
856
|
+
}[] | undefined;
|
|
664
857
|
blockExplorers?: {
|
|
665
858
|
name: string;
|
|
666
859
|
url: string;
|
|
@@ -717,6 +910,19 @@ export declare const ChainMetadataSchema: z.ZodEffects<z.ZodEffects<z.ZodEffects
|
|
|
717
910
|
name: string;
|
|
718
911
|
decimals: number;
|
|
719
912
|
} | undefined;
|
|
913
|
+
restUrls?: {
|
|
914
|
+
http: string;
|
|
915
|
+
webSocket?: string | undefined;
|
|
916
|
+
pagination?: {
|
|
917
|
+
maxBlockRange?: number | undefined;
|
|
918
|
+
minBlockNumber?: number | undefined;
|
|
919
|
+
maxBlockAge?: number | undefined;
|
|
920
|
+
} | undefined;
|
|
921
|
+
retry?: {
|
|
922
|
+
maxRequests: number;
|
|
923
|
+
baseRetryMs: number;
|
|
924
|
+
} | undefined;
|
|
925
|
+
}[] | undefined;
|
|
720
926
|
blockExplorers?: {
|
|
721
927
|
name: string;
|
|
722
928
|
url: string;
|
|
@@ -773,6 +979,19 @@ export declare const ChainMetadataSchema: z.ZodEffects<z.ZodEffects<z.ZodEffects
|
|
|
773
979
|
name: string;
|
|
774
980
|
decimals: number;
|
|
775
981
|
} | undefined;
|
|
982
|
+
restUrls?: {
|
|
983
|
+
http: string;
|
|
984
|
+
webSocket?: string | undefined;
|
|
985
|
+
pagination?: {
|
|
986
|
+
maxBlockRange?: number | undefined;
|
|
987
|
+
minBlockNumber?: number | undefined;
|
|
988
|
+
maxBlockAge?: number | undefined;
|
|
989
|
+
} | undefined;
|
|
990
|
+
retry?: {
|
|
991
|
+
maxRequests: number;
|
|
992
|
+
baseRetryMs: number;
|
|
993
|
+
} | undefined;
|
|
994
|
+
}[] | undefined;
|
|
776
995
|
blockExplorers?: {
|
|
777
996
|
name: string;
|
|
778
997
|
url: string;
|
|
@@ -829,6 +1048,19 @@ export declare const ChainMetadataSchema: z.ZodEffects<z.ZodEffects<z.ZodEffects
|
|
|
829
1048
|
name: string;
|
|
830
1049
|
decimals: number;
|
|
831
1050
|
} | undefined;
|
|
1051
|
+
restUrls?: {
|
|
1052
|
+
http: string;
|
|
1053
|
+
webSocket?: string | undefined;
|
|
1054
|
+
pagination?: {
|
|
1055
|
+
maxBlockRange?: number | undefined;
|
|
1056
|
+
minBlockNumber?: number | undefined;
|
|
1057
|
+
maxBlockAge?: number | undefined;
|
|
1058
|
+
} | undefined;
|
|
1059
|
+
retry?: {
|
|
1060
|
+
maxRequests: number;
|
|
1061
|
+
baseRetryMs: number;
|
|
1062
|
+
} | undefined;
|
|
1063
|
+
}[] | undefined;
|
|
832
1064
|
blockExplorers?: {
|
|
833
1065
|
name: string;
|
|
834
1066
|
url: string;
|
|
@@ -849,6 +1081,7 @@ export declare const ChainMetadataSchema: z.ZodEffects<z.ZodEffects<z.ZodEffects
|
|
|
849
1081
|
isTestnet?: boolean | undefined;
|
|
850
1082
|
}>;
|
|
851
1083
|
export type ChainMetadata<Ext = object> = z.infer<typeof ChainMetadataSchema> & Ext;
|
|
1084
|
+
export type BlockExplorer = Exclude<ChainMetadata['blockExplorers'], undefined>[number];
|
|
852
1085
|
export declare function isValidChainMetadata(c: ChainMetadata): boolean;
|
|
853
1086
|
export declare function getDomainId(chainMetadata: ChainMetadata): number;
|
|
854
1087
|
export declare function getChainIdNumber(chainMetadata: ChainMetadata): number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chainMetadataTypes.d.ts","sourceRoot":"","sources":["../../src/metadata/chainMetadataTypes.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAIpD,oBAAY,cAAc;IACxB,SAAS,cAAc;IACvB,UAAU,eAAe;IACzB,KAAK,UAAU;CAChB;AAGD,MAAM,MAAM,mBAAmB,GAAG,GAAG,cAAc,EAAE,CAAC;AAEtD,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkCvB,CAAC;AAEH,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAElD;;;GAGG;AACH,eAAO,MAAM,yBAAyB
|
|
1
|
+
{"version":3,"file":"chainMetadataTypes.d.ts","sourceRoot":"","sources":["../../src/metadata/chainMetadataTypes.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAIpD,oBAAY,cAAc;IACxB,SAAS,cAAc;IACvB,UAAU,eAAe;IACzB,KAAK,UAAU;CAChB;AAGD,MAAM,MAAM,mBAAmB,GAAG,GAAG,cAAc,EAAE,CAAC;AAEtD,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkCvB,CAAC;AAEH,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAElD;;;GAGG;AACH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmHpC,CAAC;AAGH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuC7B,CAAC;AAEJ,MAAM,MAAM,aAAa,CAAC,GAAG,GAAG,MAAM,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,GAC3E,GAAG,CAAC;AAEN,MAAM,MAAM,aAAa,GAAG,OAAO,CACjC,aAAa,CAAC,gBAAgB,CAAC,EAC/B,SAAS,CACV,CAAC,MAAM,CAAC,CAAC;AAEV,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,aAAa,GAAG,OAAO,CAE9D;AAED,wBAAgB,WAAW,CAAC,aAAa,EAAE,aAAa,GAAG,MAAM,CAKhE;AAED,wBAAgB,gBAAgB,CAAC,aAAa,EAAE,aAAa,GAAG,MAAM,CAGrE"}
|
|
@@ -79,6 +79,10 @@ exports.ChainMetadataSchemaObject = zod_1.z.object({
|
|
|
79
79
|
.array(exports.RpcUrlSchema)
|
|
80
80
|
.nonempty()
|
|
81
81
|
.describe('The list of RPC endpoints for interacting with the chain.'),
|
|
82
|
+
restUrls: zod_1.z
|
|
83
|
+
.array(exports.RpcUrlSchema)
|
|
84
|
+
.describe('For cosmos chains only, a list of Rest API URLs')
|
|
85
|
+
.optional(),
|
|
82
86
|
blockExplorers: zod_1.z
|
|
83
87
|
.array(zod_1.z.object({
|
|
84
88
|
name: zod_1.z.string().describe('A human readable name for the explorer.'),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chainMetadataTypes.js","sourceRoot":"","sources":["../../src/metadata/chainMetadataTypes.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"chainMetadataTypes.js","sourceRoot":"","sources":["../../src/metadata/chainMetadataTypes.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Address, ProtocolType } from '@hyperlane-xyz/utils';
|
|
2
|
+
import { CosmJsProvider, CosmJsWasmProvider, EthersV5Provider, SolanaWeb3Provider } from '../providers/ProviderType';
|
|
3
|
+
import { ChainMetadata, RpcUrl } from './chainMetadataTypes';
|
|
4
|
+
export declare function isRpcHealthy(rpc: RpcUrl, chainId: string | number, protocol: ProtocolType): Promise<boolean>;
|
|
5
|
+
export declare function isEthersV5ProviderHealthy(provider: EthersV5Provider['provider'], chainId: string | number): Promise<boolean>;
|
|
6
|
+
export declare function isSolanaWeb3ProviderHealthy(provider: SolanaWeb3Provider['provider'], chainId: string | number): Promise<boolean>;
|
|
7
|
+
export declare function isCosmJsProviderHealthy(provider: CosmJsProvider['provider'] | CosmJsWasmProvider['provider'], chainId: string | number): Promise<boolean>;
|
|
8
|
+
export declare function isBlockExplorerHealthy(chainMetadata: ChainMetadata, address?: Address, txHash?: string): Promise<boolean>;
|
|
9
|
+
//# sourceMappingURL=health.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"health.d.ts","sourceRoot":"","sources":["../../src/metadata/health.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,YAAY,EAAW,MAAM,sBAAsB,CAAC;AAMtE,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,gBAAgB,EAEhB,kBAAkB,EACnB,MAAM,2BAA2B,CAAC;AAQnC,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAI7D,wBAAsB,YAAY,CAChC,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,GAAG,MAAM,EACxB,QAAQ,EAAE,YAAY,GACrB,OAAO,CAAC,OAAO,CAAC,CA4BlB;AAED,wBAAsB,yBAAyB,CAC7C,QAAQ,EAAE,gBAAgB,CAAC,UAAU,CAAC,EACtC,OAAO,EAAE,MAAM,GAAG,MAAM,GACvB,OAAO,CAAC,OAAO,CAAC,CAyBlB;AAED,wBAAsB,2BAA2B,CAC/C,QAAQ,EAAE,kBAAkB,CAAC,UAAU,CAAC,EACxC,OAAO,EAAE,MAAM,GAAG,MAAM,GACvB,OAAO,CAAC,OAAO,CAAC,CAMlB;AAED,wBAAsB,uBAAuB,CAC3C,QAAQ,EAAE,cAAc,CAAC,UAAU,CAAC,GAAG,kBAAkB,CAAC,UAAU,CAAC,EACrE,OAAO,EAAE,MAAM,GAAG,MAAM,GACvB,OAAO,CAAC,OAAO,CAAC,CAMlB;AAED,wBAAsB,sBAAsB,CAC1C,aAAa,EAAE,aAAa,EAC5B,OAAO,CAAC,EAAE,OAAO,EACjB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,OAAO,CAAC,CAoClB"}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isBlockExplorerHealthy = exports.isCosmJsProviderHealthy = exports.isSolanaWeb3ProviderHealthy = exports.isEthersV5ProviderHealthy = exports.isRpcHealthy = void 0;
|
|
4
|
+
const core_1 = require("@hyperlane-xyz/core");
|
|
5
|
+
const utils_1 = require("@hyperlane-xyz/utils");
|
|
6
|
+
const chainMetadata_1 = require("../consts/chainMetadata");
|
|
7
|
+
const environments_1 = require("../consts/environments");
|
|
8
|
+
const logger_1 = require("../logger");
|
|
9
|
+
const ProviderType_1 = require("../providers/ProviderType");
|
|
10
|
+
const providerBuilders_1 = require("../providers/providerBuilders");
|
|
11
|
+
const blockExplorer_1 = require("./blockExplorer");
|
|
12
|
+
const HEALTH_CHECK_TIMEOUT = 5000; // 5s
|
|
13
|
+
async function isRpcHealthy(rpc, chainId, protocol) {
|
|
14
|
+
try {
|
|
15
|
+
const builder = providerBuilders_1.protocolToDefaultProviderBuilder[protocol];
|
|
16
|
+
const provider = builder([rpc], chainId);
|
|
17
|
+
let resultPromise;
|
|
18
|
+
if (provider.type === ProviderType_1.ProviderType.EthersV5)
|
|
19
|
+
resultPromise = isEthersV5ProviderHealthy(provider.provider, chainId);
|
|
20
|
+
else if (provider.type === ProviderType_1.ProviderType.SolanaWeb3)
|
|
21
|
+
resultPromise = isSolanaWeb3ProviderHealthy(provider.provider, chainId);
|
|
22
|
+
else if (provider.type === ProviderType_1.ProviderType.CosmJsWasm ||
|
|
23
|
+
provider.type === ProviderType_1.ProviderType.CosmJs)
|
|
24
|
+
resultPromise = isCosmJsProviderHealthy(provider.provider, chainId);
|
|
25
|
+
else
|
|
26
|
+
throw new Error(`Unsupported provider type ${provider.type}, new health check required`);
|
|
27
|
+
const result = await (0, utils_1.timeout)(resultPromise, HEALTH_CHECK_TIMEOUT, 'RPC health check timed out');
|
|
28
|
+
return result;
|
|
29
|
+
}
|
|
30
|
+
catch (error) {
|
|
31
|
+
(0, logger_1.logger)(`Provider error for ${rpc.http}`, error);
|
|
32
|
+
return false;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
exports.isRpcHealthy = isRpcHealthy;
|
|
36
|
+
async function isEthersV5ProviderHealthy(provider, chainId) {
|
|
37
|
+
(0, logger_1.logger)(`Checking ethers provider for ${chainId}`);
|
|
38
|
+
const blockNumber = await provider.getBlockNumber();
|
|
39
|
+
if (!blockNumber || blockNumber < 0)
|
|
40
|
+
return false;
|
|
41
|
+
(0, logger_1.logger)(`Block number is okay for ${chainId}`);
|
|
42
|
+
const chainName = chainMetadata_1.chainIdToMetadata[chainId]?.name;
|
|
43
|
+
if (chainName && environments_1.hyperlaneContractAddresses[chainName]) {
|
|
44
|
+
const mailboxAddr = environments_1.hyperlaneContractAddresses[chainName].mailbox;
|
|
45
|
+
const mailbox = core_1.Mailbox__factory.createInterface();
|
|
46
|
+
const topics = mailbox.encodeFilterTopics(mailbox.events['DispatchId(bytes32)'], []);
|
|
47
|
+
(0, logger_1.logger)(`Checking mailbox logs for ${chainId}`);
|
|
48
|
+
const mailboxLogs = await provider.getLogs({
|
|
49
|
+
address: mailboxAddr,
|
|
50
|
+
topics,
|
|
51
|
+
fromBlock: blockNumber - 99,
|
|
52
|
+
toBlock: blockNumber,
|
|
53
|
+
});
|
|
54
|
+
if (!mailboxLogs)
|
|
55
|
+
return false;
|
|
56
|
+
(0, logger_1.logger)(`Mailbox logs okay for ${chainId}`);
|
|
57
|
+
}
|
|
58
|
+
return true;
|
|
59
|
+
}
|
|
60
|
+
exports.isEthersV5ProviderHealthy = isEthersV5ProviderHealthy;
|
|
61
|
+
async function isSolanaWeb3ProviderHealthy(provider, chainId) {
|
|
62
|
+
(0, logger_1.logger)(`Checking solana provider for ${chainId}`);
|
|
63
|
+
const blockNumber = await provider.getBlockHeight();
|
|
64
|
+
if (!blockNumber || blockNumber < 0)
|
|
65
|
+
return false;
|
|
66
|
+
(0, logger_1.logger)(`Block number is okay for ${chainId}`);
|
|
67
|
+
return true;
|
|
68
|
+
}
|
|
69
|
+
exports.isSolanaWeb3ProviderHealthy = isSolanaWeb3ProviderHealthy;
|
|
70
|
+
async function isCosmJsProviderHealthy(provider, chainId) {
|
|
71
|
+
const readyProvider = await provider;
|
|
72
|
+
const blockNumber = await readyProvider.getHeight();
|
|
73
|
+
if (!blockNumber || blockNumber < 0)
|
|
74
|
+
return false;
|
|
75
|
+
(0, logger_1.logger)(`Block number is okay for ${chainId}`);
|
|
76
|
+
return true;
|
|
77
|
+
}
|
|
78
|
+
exports.isCosmJsProviderHealthy = isCosmJsProviderHealthy;
|
|
79
|
+
async function isBlockExplorerHealthy(chainMetadata, address, txHash) {
|
|
80
|
+
try {
|
|
81
|
+
const baseUrl = (0, blockExplorer_1.getExplorerBaseUrl)(chainMetadata);
|
|
82
|
+
if (!baseUrl)
|
|
83
|
+
return false;
|
|
84
|
+
(0, logger_1.logger)(`Got base url: ${baseUrl}`);
|
|
85
|
+
(0, logger_1.logger)(`Checking explorer home for ${chainMetadata.name}`);
|
|
86
|
+
const homeReq = await fetch(baseUrl);
|
|
87
|
+
if (!homeReq.ok)
|
|
88
|
+
return false;
|
|
89
|
+
(0, logger_1.logger)(`Explorer home okay for ${chainMetadata.name}`);
|
|
90
|
+
if (address) {
|
|
91
|
+
(0, logger_1.logger)(`Checking explorer address page for ${chainMetadata.name}`);
|
|
92
|
+
const addressUrl = (0, blockExplorer_1.getExplorerAddressUrl)(chainMetadata, address);
|
|
93
|
+
if (!addressUrl)
|
|
94
|
+
return false;
|
|
95
|
+
(0, logger_1.logger)(`Got address url: ${addressUrl}`);
|
|
96
|
+
const addressReq = await fetch(addressUrl);
|
|
97
|
+
if (!addressReq.ok)
|
|
98
|
+
return false;
|
|
99
|
+
(0, logger_1.logger)(`Explorer address page okay for ${chainMetadata.name}`);
|
|
100
|
+
}
|
|
101
|
+
if (txHash) {
|
|
102
|
+
(0, logger_1.logger)(`Checking explorer tx page for ${chainMetadata.name}`);
|
|
103
|
+
const txUrl = (0, blockExplorer_1.getExplorerTxUrl)(chainMetadata, txHash);
|
|
104
|
+
if (!txUrl)
|
|
105
|
+
return false;
|
|
106
|
+
(0, logger_1.logger)(`Got tx url: ${txUrl}`);
|
|
107
|
+
const txReq = await fetch(txUrl);
|
|
108
|
+
if (!txReq.ok)
|
|
109
|
+
return false;
|
|
110
|
+
(0, logger_1.logger)(`Explorer tx page okay for ${chainMetadata.name}`);
|
|
111
|
+
}
|
|
112
|
+
return true;
|
|
113
|
+
}
|
|
114
|
+
catch (error) {
|
|
115
|
+
(0, logger_1.logger)(`Explorer error for ${chainMetadata.name}`, error);
|
|
116
|
+
return false;
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
exports.isBlockExplorerHealthy = isBlockExplorerHealthy;
|
|
120
|
+
//# sourceMappingURL=health.js.map
|