@hyperlane-xyz/sdk 16.0.0 → 16.1.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/block-explorer/etherscan.d.ts +1 -12
- package/dist/block-explorer/etherscan.d.ts.map +1 -1
- package/dist/block-explorer/etherscan.js +14 -2
- package/dist/block-explorer/etherscan.js.map +1 -1
- package/dist/block-explorer/utils.d.ts +3 -0
- package/dist/block-explorer/utils.d.ts.map +1 -0
- package/dist/block-explorer/utils.js +16 -0
- package/dist/block-explorer/utils.js.map +1 -0
- package/dist/consts/testChains.d.ts +2 -0
- package/dist/consts/testChains.d.ts.map +1 -1
- package/dist/consts/testChains.js +36 -1
- package/dist/consts/testChains.js.map +1 -1
- package/dist/contracts/contracts.d.ts +9 -1
- package/dist/contracts/contracts.d.ts.map +1 -1
- package/dist/contracts/contracts.js +15 -1
- package/dist/contracts/contracts.js.map +1 -1
- package/dist/deploy/verify/ContractVerifier.d.ts.map +1 -1
- package/dist/deploy/verify/ContractVerifier.js +16 -5
- package/dist/deploy/verify/ContractVerifier.js.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/metadata/ChainMetadataManager.d.ts +10 -0
- package/dist/metadata/ChainMetadataManager.d.ts.map +1 -1
- package/dist/metadata/ChainMetadataManager.js +33 -2
- package/dist/metadata/ChainMetadataManager.js.map +1 -1
- package/dist/metadata/blockExplorer.d.ts.map +1 -1
- package/dist/metadata/blockExplorer.js +27 -1
- package/dist/metadata/blockExplorer.js.map +1 -1
- package/dist/metadata/blockExplorer.test.js +176 -1
- package/dist/metadata/blockExplorer.test.js.map +1 -1
- package/dist/providers/transactions/submitter/ethersV5/EV5TimelockSubmitter.d.ts.map +1 -1
- package/dist/providers/transactions/submitter/ethersV5/EV5TimelockSubmitter.js +3 -3
- package/dist/providers/transactions/submitter/ethersV5/EV5TimelockSubmitter.js.map +1 -1
- package/dist/rpc/evm/EvmEventLogsReader.d.ts +79 -0
- package/dist/rpc/evm/EvmEventLogsReader.d.ts.map +1 -0
- package/dist/rpc/evm/EvmEventLogsReader.hardhat-test.d.ts +2 -0
- package/dist/rpc/evm/EvmEventLogsReader.hardhat-test.d.ts.map +1 -0
- package/dist/rpc/evm/EvmEventLogsReader.hardhat-test.js +279 -0
- package/dist/rpc/evm/EvmEventLogsReader.hardhat-test.js.map +1 -0
- package/dist/rpc/evm/EvmEventLogsReader.js +107 -0
- package/dist/rpc/evm/EvmEventLogsReader.js.map +1 -0
- package/dist/rpc/evm/types.d.ts +11 -0
- package/dist/rpc/evm/types.d.ts.map +1 -0
- package/dist/rpc/evm/types.js +2 -0
- package/dist/rpc/evm/types.js.map +1 -0
- package/dist/rpc/evm/utils.d.ts +18 -0
- package/dist/rpc/evm/utils.d.ts.map +1 -0
- package/dist/rpc/evm/utils.hardhat-test.d.ts +2 -0
- package/dist/rpc/evm/utils.hardhat-test.d.ts.map +1 -0
- package/dist/rpc/evm/utils.hardhat-test.js +144 -0
- package/dist/rpc/evm/utils.hardhat-test.js.map +1 -0
- package/dist/rpc/evm/utils.js +67 -0
- package/dist/rpc/evm/utils.js.map +1 -0
- package/dist/timelock/evm/EvmTimelockReader.d.ts +30 -0
- package/dist/timelock/evm/EvmTimelockReader.d.ts.map +1 -0
- package/dist/timelock/evm/EvmTimelockReader.hardhat-test.d.ts +2 -0
- package/dist/timelock/evm/EvmTimelockReader.hardhat-test.d.ts.map +1 -0
- package/dist/timelock/evm/EvmTimelockReader.hardhat-test.js +649 -0
- package/dist/timelock/evm/EvmTimelockReader.hardhat-test.js.map +1 -0
- package/dist/timelock/evm/EvmTimelockReader.js +173 -0
- package/dist/timelock/evm/EvmTimelockReader.js.map +1 -0
- package/dist/timelock/evm/utils.d.ts +4 -0
- package/dist/timelock/evm/utils.d.ts.map +1 -0
- package/dist/timelock/evm/utils.js +11 -0
- package/dist/timelock/evm/utils.js.map +1 -0
- package/dist/timelock/types.d.ts +11 -0
- package/dist/timelock/types.d.ts.map +1 -1
- package/dist/timelock/types.js.map +1 -1
- package/dist/token/checker.js +2 -2
- package/dist/token/checker.js.map +1 -1
- package/dist/token/types.d.ts +1 -1
- package/dist/token/xerc20.d.ts.map +1 -1
- package/dist/token/xerc20.js +3 -35
- package/dist/token/xerc20.js.map +1 -1
- package/package.json +5 -5
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { ProtocolType, exclude, pick, rootLogger, } from '@hyperlane-xyz/utils';
|
|
1
|
+
import { ProtocolType, assert, exclude, pick, rootLogger, } from '@hyperlane-xyz/utils';
|
|
2
|
+
import { isEvmBlockExplorerAndNotEtherscan } from '../block-explorer/utils.js';
|
|
2
3
|
import { getExplorerAddressUrl, getExplorerApi, getExplorerApiUrl, getExplorerBaseUrl, getExplorerTxUrl, } from './blockExplorer.js';
|
|
3
|
-
import { ChainMetadataSchema, getDomainId, } from './chainMetadataTypes.js';
|
|
4
|
+
import { ChainMetadataSchema, ExplorerFamily, getDomainId, } from './chainMetadataTypes.js';
|
|
4
5
|
/**
|
|
5
6
|
* A set of utilities to manage chain metadata
|
|
6
7
|
* Validates metadata on construction and provides useful methods
|
|
@@ -320,6 +321,36 @@ export class ChainMetadataManager {
|
|
|
320
321
|
throw new Error(`Missing data for address url for ${chainNameOrId}`);
|
|
321
322
|
return url;
|
|
322
323
|
}
|
|
324
|
+
/**
|
|
325
|
+
* Get a block explorer metadata for given chain
|
|
326
|
+
* @returns null if there isn't an explorer configured correctly for using the API (missing api key...)
|
|
327
|
+
*/
|
|
328
|
+
tryGetEvmExplorerMetadata(chainNameOrId) {
|
|
329
|
+
const defaultExplorer = this.tryGetExplorerApi(chainNameOrId);
|
|
330
|
+
if (!defaultExplorer) {
|
|
331
|
+
return null;
|
|
332
|
+
}
|
|
333
|
+
const chainMetadata = this.getChainMetadata(chainNameOrId);
|
|
334
|
+
const [fallBackExplorer] = chainMetadata.blockExplorers?.filter((blockExplorer) => isEvmBlockExplorerAndNotEtherscan(blockExplorer)) ?? [];
|
|
335
|
+
// Fallback to use other block explorers if the default block explorer
|
|
336
|
+
// is etherscan and an API key is not configured
|
|
337
|
+
const isExplorerConfiguredCorrectly = defaultExplorer.family === ExplorerFamily.Etherscan
|
|
338
|
+
? !!defaultExplorer.apiKey
|
|
339
|
+
: true;
|
|
340
|
+
const canUseExplorerApi = defaultExplorer.family !== ExplorerFamily.Other &&
|
|
341
|
+
isExplorerConfiguredCorrectly;
|
|
342
|
+
const explorer = canUseExplorerApi ? defaultExplorer : fallBackExplorer;
|
|
343
|
+
return explorer ?? null;
|
|
344
|
+
}
|
|
345
|
+
/**
|
|
346
|
+
* Get a block explorer metadata for given chain
|
|
347
|
+
* @throws if there isn't an explorer configured correctly for using the API (missing api key...)
|
|
348
|
+
*/
|
|
349
|
+
getEvmExplorerMetadata(chainNameOrId) {
|
|
350
|
+
const explorer = this.tryGetEvmExplorerMetadata(chainNameOrId);
|
|
351
|
+
assert(explorer, `No explorer was configured correctly to make requests to the API for chain "${chainNameOrId}". Set an API key or configure an explorer API that does not require one`);
|
|
352
|
+
return explorer;
|
|
353
|
+
}
|
|
323
354
|
/**
|
|
324
355
|
* Get native token for given chain
|
|
325
356
|
* @throws if native token has not been set
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChainMetadataManager.js","sourceRoot":"","sources":["../../src/metadata/ChainMetadataManager.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,YAAY,EACZ,OAAO,EACP,IAAI,EACJ,UAAU,GACX,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"ChainMetadataManager.js","sourceRoot":"","sources":["../../src/metadata/ChainMetadataManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blockExplorer.d.ts","sourceRoot":"","sources":["../../src/metadata/blockExplorer.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"blockExplorer.d.ts","sourceRoot":"","sources":["../../src/metadata/blockExplorer.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AA+BxE,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,aAAa,EACvB,KAAK,SAAI,GACR,MAAM,GAAG,IAAI,CAIf;AAED,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,aAAa,EACvB,KAAK,SAAI,GACR;IACD,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,MAAM,CAAC,EAAE,cAAc,GAAG,SAAS,CAAC;CACrC,GAAG,IAAI,CAsBP;AAED,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,aAAa,EACvB,KAAK,SAAI,GACR,MAAM,GAAG,IAAI,CAQf;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,CAQf"}
|
|
@@ -1,5 +1,26 @@
|
|
|
1
1
|
import { ProtocolType } from '@hyperlane-xyz/utils';
|
|
2
2
|
import { ExplorerFamily } from './chainMetadataTypes.js';
|
|
3
|
+
/**
|
|
4
|
+
* Converts Etherscan-like API URLs to the new V2 format
|
|
5
|
+
* @param apiUrl The original API URL
|
|
6
|
+
* @param chainId The chain ID to use for the V2 API
|
|
7
|
+
* @returns The converted V2 API URL
|
|
8
|
+
*/
|
|
9
|
+
// https://docs.etherscan.io/etherscan-v2/v2-quickstart
|
|
10
|
+
function convertToEtherscanV2Url(apiUrl, chainId, family) {
|
|
11
|
+
// Only convert if it's an Etherscan family explorer
|
|
12
|
+
if (family === ExplorerFamily.Etherscan) {
|
|
13
|
+
// Convert to Etherscan V2 format
|
|
14
|
+
const etherscanV2Url = new URL('https://api.etherscan.io/v2/api');
|
|
15
|
+
// Add chainId parameter if provided
|
|
16
|
+
if (chainId) {
|
|
17
|
+
etherscanV2Url.searchParams.set('chainid', chainId.toString());
|
|
18
|
+
}
|
|
19
|
+
return etherscanV2Url.toString();
|
|
20
|
+
}
|
|
21
|
+
// Return original URL if not an Etherscan family
|
|
22
|
+
return apiUrl;
|
|
23
|
+
}
|
|
3
24
|
export function getExplorerBaseUrl(metadata, index = 0) {
|
|
4
25
|
if (!metadata?.blockExplorers?.length)
|
|
5
26
|
return null;
|
|
@@ -13,8 +34,13 @@ export function getExplorerApi(metadata, index = 0) {
|
|
|
13
34
|
return null;
|
|
14
35
|
if (!blockExplorers?.length || !blockExplorers[index].apiUrl)
|
|
15
36
|
return null;
|
|
37
|
+
// Convert to V2 format if it's an Etherscan-like API
|
|
38
|
+
const chainId = typeof metadata.chainId === 'string'
|
|
39
|
+
? parseInt(metadata.chainId)
|
|
40
|
+
: metadata.chainId;
|
|
41
|
+
const convertedApiUrl = convertToEtherscanV2Url(blockExplorers[index].apiUrl, chainId, blockExplorers[index].family);
|
|
16
42
|
return {
|
|
17
|
-
apiUrl:
|
|
43
|
+
apiUrl: convertedApiUrl,
|
|
18
44
|
apiKey: blockExplorers[index].apiKey,
|
|
19
45
|
family: blockExplorers[index].family,
|
|
20
46
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blockExplorer.js","sourceRoot":"","sources":["../../src/metadata/blockExplorer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpD,OAAO,EAAiB,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAExE,MAAM,UAAU,kBAAkB,CAChC,QAAuB,EACvB,KAAK,GAAG,CAAC;IAET,IAAI,CAAC,QAAQ,EAAE,cAAc,EAAE,MAAM;QAAE,OAAO,IAAI,CAAC;IACnD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC;IACxD,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,QAAuB,EACvB,KAAK,GAAG,CAAC;IAMT,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,GAAG,QAAQ,CAAC;IAC9C,8CAA8C;IAC9C,IAAI,QAAQ,KAAK,YAAY,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IACpD,IAAI,CAAC,cAAc,EAAE,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"blockExplorer.js","sourceRoot":"","sources":["../../src/metadata/blockExplorer.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@ import { expect } from 'chai';
|
|
|
2
2
|
import { ProtocolType } from '@hyperlane-xyz/utils';
|
|
3
3
|
import { test1, testCosmosChain, testSealevelChain, testStarknetChain, } from '../consts/testChains.js';
|
|
4
4
|
import { getExplorerAddressUrl, getExplorerApi, getExplorerApiUrl, getExplorerBaseUrl, getExplorerTxUrl, } from './blockExplorer.js';
|
|
5
|
+
import { ExplorerFamily } from './chainMetadataTypes.js';
|
|
5
6
|
const TEST_CHAINS = [
|
|
6
7
|
test1,
|
|
7
8
|
testCosmosChain,
|
|
@@ -11,7 +12,7 @@ const TEST_CHAINS = [
|
|
|
11
12
|
const EXPECTED_RESULTS = [
|
|
12
13
|
[
|
|
13
14
|
'https://etherscan.io/',
|
|
14
|
-
'https://api.etherscan.io/api?apikey=fakekey',
|
|
15
|
+
'https://api.etherscan.io/v2/api?chainid=9913371&apikey=fakekey',
|
|
15
16
|
'https://etherscan.io/tx/0x123',
|
|
16
17
|
'https://etherscan.io/address/0x123',
|
|
17
18
|
],
|
|
@@ -49,6 +50,180 @@ describe('Block explorer utils', () => {
|
|
|
49
50
|
expect(getExplorerAddressUrl(chain, '0x123')).to.equal(EXPECTED_RESULTS[i][3]);
|
|
50
51
|
});
|
|
51
52
|
});
|
|
53
|
+
describe('Etherscan V2 URL conversion', () => {
|
|
54
|
+
const etherscanV1Chain = {
|
|
55
|
+
protocol: ProtocolType.Ethereum,
|
|
56
|
+
name: 'ethereum',
|
|
57
|
+
chainId: 1,
|
|
58
|
+
domainId: 1,
|
|
59
|
+
rpcUrls: [{ http: 'https://ethereum.test' }],
|
|
60
|
+
blockExplorers: [
|
|
61
|
+
{
|
|
62
|
+
name: 'Etherscan',
|
|
63
|
+
url: 'https://etherscan.io',
|
|
64
|
+
apiUrl: 'https://api.etherscan.io/api',
|
|
65
|
+
apiKey: 'testkey',
|
|
66
|
+
family: ExplorerFamily.Etherscan,
|
|
67
|
+
},
|
|
68
|
+
],
|
|
69
|
+
};
|
|
70
|
+
const polygonScanChain = {
|
|
71
|
+
protocol: ProtocolType.Ethereum,
|
|
72
|
+
name: 'polygon',
|
|
73
|
+
chainId: 137,
|
|
74
|
+
domainId: 137,
|
|
75
|
+
rpcUrls: [{ http: 'https://polygon.test' }],
|
|
76
|
+
blockExplorers: [
|
|
77
|
+
{
|
|
78
|
+
name: 'PolygonScan',
|
|
79
|
+
url: 'https://polygonscan.com',
|
|
80
|
+
apiUrl: 'https://api.polygonscan.com/api',
|
|
81
|
+
apiKey: 'polygonkey',
|
|
82
|
+
family: ExplorerFamily.Etherscan,
|
|
83
|
+
},
|
|
84
|
+
],
|
|
85
|
+
};
|
|
86
|
+
const bscScanChain = {
|
|
87
|
+
protocol: ProtocolType.Ethereum,
|
|
88
|
+
name: 'bsc',
|
|
89
|
+
chainId: 56,
|
|
90
|
+
domainId: 56,
|
|
91
|
+
rpcUrls: [{ http: 'https://bsc.test' }],
|
|
92
|
+
blockExplorers: [
|
|
93
|
+
{
|
|
94
|
+
name: 'BscScan',
|
|
95
|
+
url: 'https://bscscan.com',
|
|
96
|
+
apiUrl: 'https://api.bscscan.com/api',
|
|
97
|
+
apiKey: 'bsckey',
|
|
98
|
+
family: ExplorerFamily.Etherscan,
|
|
99
|
+
},
|
|
100
|
+
],
|
|
101
|
+
};
|
|
102
|
+
const alreadyV2Chain = {
|
|
103
|
+
protocol: ProtocolType.Ethereum,
|
|
104
|
+
name: 'ethereum',
|
|
105
|
+
chainId: 1,
|
|
106
|
+
domainId: 1,
|
|
107
|
+
rpcUrls: [{ http: 'https://ethereum.test' }],
|
|
108
|
+
blockExplorers: [
|
|
109
|
+
{
|
|
110
|
+
name: 'Etherscan',
|
|
111
|
+
url: 'https://etherscan.io',
|
|
112
|
+
apiUrl: 'https://api.etherscan.io/v2/api',
|
|
113
|
+
apiKey: 'testkey',
|
|
114
|
+
family: ExplorerFamily.Etherscan,
|
|
115
|
+
},
|
|
116
|
+
],
|
|
117
|
+
};
|
|
118
|
+
const nonScanChain = {
|
|
119
|
+
protocol: ProtocolType.Ethereum,
|
|
120
|
+
name: 'custom',
|
|
121
|
+
chainId: 999,
|
|
122
|
+
domainId: 999,
|
|
123
|
+
rpcUrls: [{ http: 'https://custom.test' }],
|
|
124
|
+
blockExplorers: [
|
|
125
|
+
{
|
|
126
|
+
name: 'Custom Explorer',
|
|
127
|
+
url: 'https://custom-explorer.com',
|
|
128
|
+
apiUrl: 'https://api.custom-explorer.com/api',
|
|
129
|
+
apiKey: 'customkey',
|
|
130
|
+
family: ExplorerFamily.Other,
|
|
131
|
+
},
|
|
132
|
+
],
|
|
133
|
+
};
|
|
134
|
+
it('converts Etherscan V1 API to V2 format with chainId', () => {
|
|
135
|
+
const result = getExplorerApi(etherscanV1Chain);
|
|
136
|
+
expect(result).to.deep.equal({
|
|
137
|
+
apiUrl: 'https://api.etherscan.io/v2/api?chainid=1',
|
|
138
|
+
apiKey: 'testkey',
|
|
139
|
+
family: ExplorerFamily.Etherscan,
|
|
140
|
+
});
|
|
141
|
+
});
|
|
142
|
+
it('converts PolygonScan API to V2 format with chainId', () => {
|
|
143
|
+
const result = getExplorerApi(polygonScanChain);
|
|
144
|
+
expect(result).to.deep.equal({
|
|
145
|
+
apiUrl: 'https://api.etherscan.io/v2/api?chainid=137',
|
|
146
|
+
apiKey: 'polygonkey',
|
|
147
|
+
family: ExplorerFamily.Etherscan,
|
|
148
|
+
});
|
|
149
|
+
});
|
|
150
|
+
it('converts BscScan API to V2 format with chainId', () => {
|
|
151
|
+
const result = getExplorerApi(bscScanChain);
|
|
152
|
+
expect(result).to.deep.equal({
|
|
153
|
+
apiUrl: 'https://api.etherscan.io/v2/api?chainid=56',
|
|
154
|
+
apiKey: 'bsckey',
|
|
155
|
+
family: ExplorerFamily.Etherscan,
|
|
156
|
+
});
|
|
157
|
+
});
|
|
158
|
+
it('leaves already V2 URLs unchanged', () => {
|
|
159
|
+
const result = getExplorerApi(alreadyV2Chain);
|
|
160
|
+
expect(result).to.deep.equal({
|
|
161
|
+
apiUrl: 'https://api.etherscan.io/v2/api?chainid=1',
|
|
162
|
+
apiKey: 'testkey',
|
|
163
|
+
family: ExplorerFamily.Etherscan,
|
|
164
|
+
});
|
|
165
|
+
});
|
|
166
|
+
it('leaves non-scan APIs unchanged', () => {
|
|
167
|
+
const result = getExplorerApi(nonScanChain);
|
|
168
|
+
expect(result).to.deep.equal({
|
|
169
|
+
apiUrl: 'https://api.custom-explorer.com/api',
|
|
170
|
+
apiKey: 'customkey',
|
|
171
|
+
family: ExplorerFamily.Other,
|
|
172
|
+
});
|
|
173
|
+
});
|
|
174
|
+
it('handles string chainId conversion', () => {
|
|
175
|
+
const stringChainIdChain = {
|
|
176
|
+
...etherscanV1Chain,
|
|
177
|
+
chainId: '1',
|
|
178
|
+
};
|
|
179
|
+
const result = getExplorerApi(stringChainIdChain);
|
|
180
|
+
expect(result).to.deep.equal({
|
|
181
|
+
apiUrl: 'https://api.etherscan.io/v2/api?chainid=1',
|
|
182
|
+
apiKey: 'testkey',
|
|
183
|
+
family: ExplorerFamily.Etherscan,
|
|
184
|
+
});
|
|
185
|
+
});
|
|
186
|
+
it('handles missing chainId gracefully', () => {
|
|
187
|
+
const noChainIdChain = {
|
|
188
|
+
...etherscanV1Chain,
|
|
189
|
+
chainId: 0, // Use 0 instead of undefined to satisfy type requirements
|
|
190
|
+
};
|
|
191
|
+
const result = getExplorerApi(noChainIdChain);
|
|
192
|
+
expect(result).to.deep.equal({
|
|
193
|
+
apiUrl: 'https://api.etherscan.io/v2/api',
|
|
194
|
+
apiKey: 'testkey',
|
|
195
|
+
family: ExplorerFamily.Etherscan,
|
|
196
|
+
});
|
|
197
|
+
});
|
|
198
|
+
it('includes API key in final URL', () => {
|
|
199
|
+
const result = getExplorerApiUrl(etherscanV1Chain);
|
|
200
|
+
expect(result).to.equal('https://api.etherscan.io/v2/api?chainid=1&apikey=testkey');
|
|
201
|
+
});
|
|
202
|
+
it('handles various explorer families', () => {
|
|
203
|
+
const testCases = [
|
|
204
|
+
{ family: ExplorerFamily.Etherscan, expected: true },
|
|
205
|
+
{ family: ExplorerFamily.Other, expected: false },
|
|
206
|
+
];
|
|
207
|
+
testCases.forEach(({ family, expected }) => {
|
|
208
|
+
const testChain = {
|
|
209
|
+
...etherscanV1Chain,
|
|
210
|
+
blockExplorers: [
|
|
211
|
+
{
|
|
212
|
+
...etherscanV1Chain.blockExplorers[0],
|
|
213
|
+
family,
|
|
214
|
+
},
|
|
215
|
+
],
|
|
216
|
+
};
|
|
217
|
+
const result = getExplorerApi(testChain);
|
|
218
|
+
if (expected) {
|
|
219
|
+
expect(result?.apiUrl).to.include('api.etherscan.io/v2/api');
|
|
220
|
+
}
|
|
221
|
+
else {
|
|
222
|
+
expect(result?.apiUrl).to.equal('https://api.etherscan.io/api');
|
|
223
|
+
}
|
|
224
|
+
});
|
|
225
|
+
});
|
|
226
|
+
});
|
|
52
227
|
describe('Edge cases', () => {
|
|
53
228
|
const emptyChain = {
|
|
54
229
|
protocol: ProtocolType.Ethereum,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blockExplorer.test.js","sourceRoot":"","sources":["../../src/metadata/blockExplorer.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAE9B,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpD,OAAO,EACL,KAAK,EACL,eAAe,EACf,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,qBAAqB,EACrB,cAAc,EACd,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"blockExplorer.test.js","sourceRoot":"","sources":["../../src/metadata/blockExplorer.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EV5TimelockSubmitter.d.ts","sourceRoot":"","sources":["../../../../../src/providers/transactions/submitter/ethersV5/EV5TimelockSubmitter.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAEnB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAU,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"EV5TimelockSubmitter.d.ts","sourceRoot":"","sources":["../../../../../src/providers/transactions/submitter/ethersV5/EV5TimelockSubmitter.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAEnB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAU,MAAM,sBAAsB,CAAC;AAG5D,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EACL,uBAAuB,EACvB,oBAAoB,EACrB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAGzD,OAAO,EAAE,mCAAmC,EAAE,MAAM,YAAY,CAAC;AAEjE,KAAK,+CAA+C,GAAG,QAAQ,CAC7D,IAAI,CACF,mCAAmC,EACnC,OAAO,GAAG,aAAa,GAAG,OAAO,GAAG,MAAM,CAC3C,CACF,CAAC;AAEF,qBAAa,oBACX,YAAW,oBAAoB,CAAC,YAAY,CAAC,QAAQ,CAAC;IAMpD,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,+CAA+C;IAC1E,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa;IAC/C,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,YAAY,CAAC,QAAQ,CAAC;IACjF,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,kBAAkB;IAPzD,SAAgB,eAAe,EAAE,eAAe,CACV;IAEtC,SAAS,aACY,MAAM,EAAE,+CAA+C,EACvD,aAAa,EAAE,aAAa,EAC5B,iBAAiB,EAAE,oBAAoB,CAAC,YAAY,CAAC,QAAQ,CAAC,EAC9D,gBAAgB,EAAE,kBAAkB;WAG5C,UAAU,CACrB,MAAM,EAAE,mCAAmC,EAC3C,aAAa,EAAE,aAAa,EAC5B,oBAAoB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GACrD,OAAO,CAAC,oBAAoB,CAAC;IAiC1B,MAAM,CACV,GAAG,GAAG,EAAE,uBAAuB,EAAE,GAChC,OAAO,CACN,IAAI,GACJ,oBAAoB,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,GACtD,oBAAoB,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,EAAE,CAC3D;CAgGF"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { TimelockController__factory, } from '@hyperlane-xyz/core';
|
|
2
2
|
import { assert } from '@hyperlane-xyz/utils';
|
|
3
|
+
import { EMPTY_BYTES_32 } from '../../../../timelock/evm/constants.js';
|
|
3
4
|
import { TxSubmitterType } from '../TxSubmitterTypes.js';
|
|
4
5
|
import { getSubmitter } from '../submitterBuilderGetter.js';
|
|
5
|
-
const ZERO_32_BYTES = '0x0000000000000000000000000000000000000000000000000000000000000000';
|
|
6
6
|
export class EV5TimelockSubmitter {
|
|
7
7
|
config;
|
|
8
8
|
multiProvider;
|
|
@@ -25,8 +25,8 @@ export class EV5TimelockSubmitter {
|
|
|
25
25
|
return new EV5TimelockSubmitter({
|
|
26
26
|
chain: config.chain,
|
|
27
27
|
delay,
|
|
28
|
-
predecessor: config.predecessor ??
|
|
29
|
-
salt: config.salt ??
|
|
28
|
+
predecessor: config.predecessor ?? EMPTY_BYTES_32,
|
|
29
|
+
salt: config.salt ?? EMPTY_BYTES_32,
|
|
30
30
|
}, multiProvider, proposerSubmitter, timelockInstance);
|
|
31
31
|
}
|
|
32
32
|
async submit(...txs) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EV5TimelockSubmitter.js","sourceRoot":"","sources":["../../../../../src/providers/transactions/submitter/ethersV5/EV5TimelockSubmitter.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,2BAA2B,GAC5B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAgB,MAAM,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"EV5TimelockSubmitter.js","sourceRoot":"","sources":["../../../../../src/providers/transactions/submitter/ethersV5/EV5TimelockSubmitter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { Logger } from 'pino';
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
import { Address } from '@hyperlane-xyz/utils';
|
|
4
|
+
import { ChainMetadataManager, ChainNameOrId, MultiProvider } from '../../index.js';
|
|
5
|
+
import { GetEventLogsResponse } from './types.js';
|
|
6
|
+
export type EvmEventLogsReaderConfig = {
|
|
7
|
+
chain: ChainNameOrId;
|
|
8
|
+
useRPC?: boolean;
|
|
9
|
+
paginationBlockRange?: number;
|
|
10
|
+
};
|
|
11
|
+
export declare const GetLogByTopicOptionsSchema: z.ZodObject<{
|
|
12
|
+
eventTopic: z.ZodEffects<z.ZodString, string, string>;
|
|
13
|
+
contractAddress: z.ZodString;
|
|
14
|
+
fromBlock: z.ZodOptional<z.ZodNumber>;
|
|
15
|
+
toBlock: z.ZodOptional<z.ZodNumber>;
|
|
16
|
+
}, "strip", z.ZodTypeAny, {
|
|
17
|
+
contractAddress: string;
|
|
18
|
+
eventTopic: string;
|
|
19
|
+
fromBlock?: number | undefined;
|
|
20
|
+
toBlock?: number | undefined;
|
|
21
|
+
}, {
|
|
22
|
+
contractAddress: string;
|
|
23
|
+
eventTopic: string;
|
|
24
|
+
fromBlock?: number | undefined;
|
|
25
|
+
toBlock?: number | undefined;
|
|
26
|
+
}>;
|
|
27
|
+
export declare const RequiredGetLogByTopicOptionsSchema: z.ZodObject<{
|
|
28
|
+
eventTopic: z.ZodEffects<z.ZodString, string, string>;
|
|
29
|
+
contractAddress: z.ZodString;
|
|
30
|
+
fromBlock: z.ZodNumber;
|
|
31
|
+
toBlock: z.ZodNumber;
|
|
32
|
+
}, "strip", z.ZodTypeAny, {
|
|
33
|
+
fromBlock: number;
|
|
34
|
+
toBlock: number;
|
|
35
|
+
contractAddress: string;
|
|
36
|
+
eventTopic: string;
|
|
37
|
+
}, {
|
|
38
|
+
fromBlock: number;
|
|
39
|
+
toBlock: number;
|
|
40
|
+
contractAddress: string;
|
|
41
|
+
eventTopic: string;
|
|
42
|
+
}>;
|
|
43
|
+
type GetLogByTopicOptions = z.infer<typeof GetLogByTopicOptionsSchema>;
|
|
44
|
+
type RequiredGetLogByTopicOptions = z.infer<typeof RequiredGetLogByTopicOptionsSchema>;
|
|
45
|
+
interface IEvmEventLogsReaderStrategy {
|
|
46
|
+
getContractDeploymentBlockNumber(address: Address): Promise<number>;
|
|
47
|
+
getContractLogs(address: RequiredGetLogByTopicOptions): Promise<GetEventLogsResponse[]>;
|
|
48
|
+
}
|
|
49
|
+
export declare class EvmEtherscanLikeEventLogsReader implements IEvmEventLogsReaderStrategy {
|
|
50
|
+
protected readonly chain: ChainNameOrId;
|
|
51
|
+
protected readonly config: Awaited<ReturnType<ChainMetadataManager['getExplorerApi']>>;
|
|
52
|
+
protected readonly multiProvider: MultiProvider;
|
|
53
|
+
constructor(chain: ChainNameOrId, config: Awaited<ReturnType<ChainMetadataManager['getExplorerApi']>>, multiProvider: MultiProvider);
|
|
54
|
+
getContractDeploymentBlockNumber(address: string): Promise<number>;
|
|
55
|
+
getContractLogs(options: RequiredGetLogByTopicOptions): Promise<GetEventLogsResponse[]>;
|
|
56
|
+
}
|
|
57
|
+
export declare class EvmRpcEventLogsReader implements IEvmEventLogsReaderStrategy {
|
|
58
|
+
protected readonly chain: ChainNameOrId;
|
|
59
|
+
protected readonly config: {
|
|
60
|
+
paginationBlockRange?: number;
|
|
61
|
+
};
|
|
62
|
+
protected readonly multiProvider: MultiProvider;
|
|
63
|
+
constructor(chain: ChainNameOrId, config: {
|
|
64
|
+
paginationBlockRange?: number;
|
|
65
|
+
}, multiProvider: MultiProvider);
|
|
66
|
+
getContractDeploymentBlockNumber(address: string): Promise<number>;
|
|
67
|
+
getContractLogs(options: RequiredGetLogByTopicOptions): Promise<GetEventLogsResponse[]>;
|
|
68
|
+
}
|
|
69
|
+
export declare class EvmEventLogsReader {
|
|
70
|
+
protected readonly config: EvmEventLogsReaderConfig;
|
|
71
|
+
protected readonly multiProvider: MultiProvider;
|
|
72
|
+
protected logReaderStrategy: IEvmEventLogsReaderStrategy;
|
|
73
|
+
protected readonly logger: Logger;
|
|
74
|
+
protected constructor(config: EvmEventLogsReaderConfig, multiProvider: MultiProvider, logReaderStrategy: IEvmEventLogsReaderStrategy, logger: Logger);
|
|
75
|
+
static fromConfig(config: EvmEventLogsReaderConfig, multiProvider: MultiProvider, logger?: Logger): EvmEventLogsReader;
|
|
76
|
+
getLogsByTopic(options: GetLogByTopicOptions): Promise<GetEventLogsResponse[]>;
|
|
77
|
+
}
|
|
78
|
+
export {};
|
|
79
|
+
//# sourceMappingURL=EvmEventLogsReader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EvmEventLogsReader.d.ts","sourceRoot":"","sources":["../../../src/rpc/evm/EvmEventLogsReader.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EvmEventLogsReader.hardhat-test.d.ts","sourceRoot":"","sources":["../../../src/rpc/evm/EvmEventLogsReader.hardhat-test.ts"],"names":[],"mappings":""}
|