@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.
Files changed (140) hide show
  1. package/dist/app/MultiProtocolApp.d.ts.map +1 -1
  2. package/dist/app/MultiProtocolApp.js +6 -0
  3. package/dist/app/MultiProtocolApp.js.map +1 -1
  4. package/dist/app/MultiProtocolApp.test.js +4 -1
  5. package/dist/app/MultiProtocolApp.test.js.map +1 -1
  6. package/dist/consts/chainMetadata.d.ts +18 -28
  7. package/dist/consts/chainMetadata.d.ts.map +1 -1
  8. package/dist/consts/chainMetadata.js +497 -542
  9. package/dist/consts/chainMetadata.js.map +1 -1
  10. package/dist/consts/chains.d.ts +5 -5
  11. package/dist/consts/chains.d.ts.map +1 -1
  12. package/dist/consts/chains.js +4 -4
  13. package/dist/consts/chains.js.map +1 -1
  14. package/dist/consts/environments/index.d.ts +114 -114
  15. package/dist/consts/environments/index.js +1 -1
  16. package/dist/consts/multisigIsm.d.ts.map +1 -1
  17. package/dist/consts/multisigIsm.js +123 -120
  18. package/dist/consts/multisigIsm.js.map +1 -1
  19. package/dist/core/HyperlaneCore.d.ts +5 -4
  20. package/dist/core/HyperlaneCore.d.ts.map +1 -1
  21. package/dist/core/HyperlaneCore.js.map +1 -1
  22. package/dist/core/HyperlaneCoreDeployer.d.ts +1 -2
  23. package/dist/core/HyperlaneCoreDeployer.d.ts.map +1 -1
  24. package/dist/core/HyperlaneCoreDeployer.js +11 -8
  25. package/dist/core/HyperlaneCoreDeployer.js.map +1 -1
  26. package/dist/deploy/HyperlaneDeployer.d.ts.map +1 -1
  27. package/dist/deploy/HyperlaneDeployer.js +2 -2
  28. package/dist/deploy/HyperlaneDeployer.js.map +1 -1
  29. package/dist/deploy/contracts.d.ts.map +1 -1
  30. package/dist/deploy/contracts.js +0 -4
  31. package/dist/deploy/contracts.js.map +1 -1
  32. package/dist/gas/token-prices.d.ts +3 -2
  33. package/dist/gas/token-prices.d.ts.map +1 -1
  34. package/dist/gas/token-prices.js +6 -3
  35. package/dist/gas/token-prices.js.map +1 -1
  36. package/dist/gas/token-prices.test.js +1 -1
  37. package/dist/gas/token-prices.test.js.map +1 -1
  38. package/dist/hook/HyperlaneHookDeployer.d.ts +2 -2
  39. package/dist/hook/HyperlaneHookDeployer.d.ts.map +1 -1
  40. package/dist/hook/HyperlaneHookDeployer.js +6 -2
  41. package/dist/hook/HyperlaneHookDeployer.js.map +1 -1
  42. package/dist/hook/contracts.d.ts +2 -2
  43. package/dist/hook/contracts.d.ts.map +1 -1
  44. package/dist/hook/contracts.js +1 -1
  45. package/dist/hook/contracts.js.map +1 -1
  46. package/dist/hook/types.d.ts +6 -3
  47. package/dist/hook/types.d.ts.map +1 -1
  48. package/dist/hook/types.js.map +1 -1
  49. package/dist/index.d.ts +9 -5
  50. package/dist/index.d.ts.map +1 -1
  51. package/dist/index.js +22 -13
  52. package/dist/index.js.map +1 -1
  53. package/dist/ism/HyperlaneIsmFactory.d.ts +26 -8
  54. package/dist/ism/HyperlaneIsmFactory.d.ts.map +1 -1
  55. package/dist/ism/HyperlaneIsmFactory.hardhat-test.js +175 -10
  56. package/dist/ism/HyperlaneIsmFactory.hardhat-test.js.map +1 -1
  57. package/dist/ism/HyperlaneIsmFactory.js +193 -65
  58. package/dist/ism/HyperlaneIsmFactory.js.map +1 -1
  59. package/dist/ism/types.d.ts +10 -2
  60. package/dist/ism/types.d.ts.map +1 -1
  61. package/dist/ism/types.js +4 -1
  62. package/dist/ism/types.js.map +1 -1
  63. package/dist/logger.d.ts +3 -0
  64. package/dist/logger.d.ts.map +1 -0
  65. package/dist/logger.js +11 -0
  66. package/dist/logger.js.map +1 -0
  67. package/dist/metadata/ChainMetadataManager.d.ts +7 -7
  68. package/dist/metadata/ChainMetadataManager.d.ts.map +1 -1
  69. package/dist/metadata/ChainMetadataManager.js +18 -42
  70. package/dist/metadata/ChainMetadataManager.js.map +1 -1
  71. package/dist/metadata/agentConfig.d.ts +724 -1
  72. package/dist/metadata/agentConfig.d.ts.map +1 -1
  73. package/dist/metadata/blockExplorer.d.ts +6 -0
  74. package/dist/metadata/blockExplorer.d.ts.map +1 -0
  75. package/dist/metadata/blockExplorer.js +60 -0
  76. package/dist/metadata/blockExplorer.js.map +1 -0
  77. package/dist/metadata/chainMetadata.test.js +10 -0
  78. package/dist/metadata/chainMetadata.test.js.map +1 -1
  79. package/dist/metadata/chainMetadataTypes.d.ts +233 -0
  80. package/dist/metadata/chainMetadataTypes.d.ts.map +1 -1
  81. package/dist/metadata/chainMetadataTypes.js +4 -0
  82. package/dist/metadata/chainMetadataTypes.js.map +1 -1
  83. package/dist/metadata/health.d.ts +9 -0
  84. package/dist/metadata/health.d.ts.map +1 -0
  85. package/dist/metadata/health.js +120 -0
  86. package/dist/metadata/health.js.map +1 -0
  87. package/dist/providers/MultiProvider.d.ts.map +1 -1
  88. package/dist/providers/MultiProvider.js +1 -1
  89. package/dist/providers/MultiProvider.js.map +1 -1
  90. package/dist/providers/SmartProvider/HyperlaneEtherscanProvider.d.ts +21 -0
  91. package/dist/providers/SmartProvider/HyperlaneEtherscanProvider.d.ts.map +1 -0
  92. package/dist/providers/SmartProvider/HyperlaneEtherscanProvider.js +120 -0
  93. package/dist/providers/SmartProvider/HyperlaneEtherscanProvider.js.map +1 -0
  94. package/dist/providers/SmartProvider/HyperlaneJsonRpcProvider.d.ts +16 -0
  95. package/dist/providers/SmartProvider/HyperlaneJsonRpcProvider.d.ts.map +1 -0
  96. package/dist/providers/SmartProvider/HyperlaneJsonRpcProvider.js +115 -0
  97. package/dist/providers/SmartProvider/HyperlaneJsonRpcProvider.js.map +1 -0
  98. package/dist/providers/SmartProvider/ProviderMethods.d.ts +21 -0
  99. package/dist/providers/SmartProvider/ProviderMethods.d.ts.map +1 -0
  100. package/dist/providers/SmartProvider/ProviderMethods.js +25 -0
  101. package/dist/providers/SmartProvider/ProviderMethods.js.map +1 -0
  102. package/dist/providers/SmartProvider/SmartProvider.d.ts +44 -0
  103. package/dist/providers/SmartProvider/SmartProvider.d.ts.map +1 -0
  104. package/dist/providers/SmartProvider/SmartProvider.foundry-test.d.ts +2 -0
  105. package/dist/providers/SmartProvider/SmartProvider.foundry-test.d.ts.map +1 -0
  106. package/dist/providers/SmartProvider/SmartProvider.foundry-test.js +67 -0
  107. package/dist/providers/SmartProvider/SmartProvider.foundry-test.js.map +1 -0
  108. package/dist/providers/SmartProvider/SmartProvider.js +248 -0
  109. package/dist/providers/SmartProvider/SmartProvider.js.map +1 -0
  110. package/dist/providers/SmartProvider/SmartProvider.test.d.ts +2 -0
  111. package/dist/providers/SmartProvider/SmartProvider.test.d.ts.map +1 -0
  112. package/dist/providers/SmartProvider/SmartProvider.test.js +171 -0
  113. package/dist/providers/SmartProvider/SmartProvider.test.js.map +1 -0
  114. package/dist/providers/SmartProvider/types.d.ts +36 -0
  115. package/dist/providers/SmartProvider/types.d.ts.map +1 -0
  116. package/dist/providers/SmartProvider/types.js +10 -0
  117. package/dist/providers/SmartProvider/types.js.map +1 -0
  118. package/dist/providers/providerBuilders.d.ts +10 -11
  119. package/dist/providers/providerBuilders.d.ts.map +1 -1
  120. package/dist/providers/providerBuilders.js +6 -34
  121. package/dist/providers/providerBuilders.js.map +1 -1
  122. package/dist/router/MultiProtocolRouterApps.test.js +3 -2
  123. package/dist/router/MultiProtocolRouterApps.test.js.map +1 -1
  124. package/dist/test/metadata-check.d.ts +2 -0
  125. package/dist/test/metadata-check.d.ts.map +1 -0
  126. package/dist/test/metadata-check.js +116 -0
  127. package/dist/test/metadata-check.js.map +1 -0
  128. package/dist/test/testUtils.js +2 -2
  129. package/dist/test/testUtils.js.map +1 -1
  130. package/dist/token/adapters/SealevelTokenAdapter.d.ts +1 -9
  131. package/dist/token/adapters/SealevelTokenAdapter.d.ts.map +1 -1
  132. package/package.json +10 -8
  133. package/dist/consts/agentStartBlocks.d.ts +0 -3
  134. package/dist/consts/agentStartBlocks.d.ts.map +0 -1
  135. package/dist/consts/agentStartBlocks.js +0 -28
  136. package/dist/consts/agentStartBlocks.js.map +0 -1
  137. package/dist/providers/RetryProvider.d.ts +0 -12
  138. package/dist/providers/RetryProvider.d.ts.map +0 -1
  139. package/dist/providers/RetryProvider.js +0 -21
  140. package/dist/providers/RetryProvider.js.map +0 -1
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.collectValidators = exports.moduleMatchesConfig = exports.moduleCanCertainlyVerify = exports.HyperlaneIsmFactory = void 0;
3
+ exports.collectValidators = exports.routingModuleDelta = exports.moduleMatchesConfig = exports.moduleCanCertainlyVerify = exports.HyperlaneIsmFactory = void 0;
4
4
  const debug_1 = require("debug");
5
5
  const ethers_1 = require("ethers");
6
6
  const core_1 = require("@hyperlane-xyz/core");
@@ -9,6 +9,7 @@ const HyperlaneApp_1 = require("../app/HyperlaneApp");
9
9
  const environments_1 = require("../consts/environments");
10
10
  const contracts_1 = require("../contracts/contracts");
11
11
  const contracts_2 = require("../deploy/contracts");
12
+ const logger_1 = require("../logger");
12
13
  const types_1 = require("./types");
13
14
  class HyperlaneIsmFactory extends HyperlaneApp_1.HyperlaneApp {
14
15
  constructor() {
@@ -28,105 +29,185 @@ class HyperlaneIsmFactory extends HyperlaneApp_1.HyperlaneApp {
28
29
  }
29
30
  static fromAddressesMap(addressesMap, multiProvider) {
30
31
  const helper = (0, contracts_1.appFromAddressesMapHelper)(addressesMap, contracts_2.proxyFactoryFactories, multiProvider);
31
- return new HyperlaneIsmFactory(helper.contractsMap, helper.multiProvider, (0, debug_1.debug)('hyperlane:IsmFactoryApp'));
32
+ return new HyperlaneIsmFactory(helper.contractsMap, multiProvider, (0, debug_1.debug)('hyperlane:IsmFactoryApp'));
32
33
  }
33
- async deploy(chain, config, origin) {
34
+ async deploy(params) {
35
+ const { destination, config, origin, mailbox, existingIsmAddress } = params;
34
36
  if (typeof config === 'string') {
35
37
  // @ts-ignore
36
- return core_1.IInterchainSecurityModule__factory.connect(config, this.multiProvider.getSignerOrProvider(chain));
38
+ return core_1.IInterchainSecurityModule__factory.connect(config, this.multiProvider.getSignerOrProvider(destination));
37
39
  }
38
40
  const ismType = config.type;
39
- this.logger(`Deploying ${ismType} to ${chain} ${origin ? `(for verifying ${origin})` : ''}`);
41
+ this.logger(`Deploying ${ismType} to ${destination} ${origin ? `(for verifying ${origin})` : ''}`);
40
42
  let contract;
41
43
  switch (ismType) {
42
44
  case types_1.IsmType.MESSAGE_ID_MULTISIG:
43
45
  case types_1.IsmType.MERKLE_ROOT_MULTISIG:
44
- contract = await this.deployMultisigIsm(chain, config);
46
+ contract = await this.deployMultisigIsm(destination, config);
45
47
  break;
46
48
  case types_1.IsmType.ROUTING:
47
- contract = await this.deployRoutingIsm(chain, config);
49
+ case types_1.IsmType.FALLBACK_ROUTING:
50
+ contract = await this.deployRoutingIsm({
51
+ destination,
52
+ config,
53
+ origin,
54
+ mailbox,
55
+ existingIsmAddress,
56
+ });
48
57
  break;
49
58
  case types_1.IsmType.AGGREGATION:
50
- contract = await this.deployAggregationIsm(chain, config, origin);
59
+ contract = await this.deployAggregationIsm({
60
+ destination,
61
+ config,
62
+ origin,
63
+ mailbox,
64
+ });
51
65
  break;
52
66
  case types_1.IsmType.OP_STACK:
53
- contract = await this.deployOpStackIsm(chain, config);
67
+ contract = await this.deployOpStackIsm(destination, config);
54
68
  break;
55
69
  case types_1.IsmType.TEST_ISM:
56
- contract = await this.multiProvider.handleDeploy(chain, new core_1.TestIsm__factory(), []);
70
+ contract = await this.multiProvider.handleDeploy(destination, new core_1.TestIsm__factory(), []);
57
71
  break;
58
72
  default:
59
73
  throw new Error(`Unsupported ISM type ${ismType}`);
60
74
  }
61
- if (!this.deployedIsms[chain]) {
62
- this.deployedIsms[chain] = {};
75
+ if (!this.deployedIsms[destination]) {
76
+ this.deployedIsms[destination] = {};
63
77
  }
64
78
  if (origin) {
65
79
  // if we're deploying network-specific contracts (e.g. ISMs), store them as sub-entry
66
80
  // under that network's key (`origin`)
67
- if (!this.deployedIsms[chain][origin]) {
68
- this.deployedIsms[chain][origin] = {};
81
+ if (!this.deployedIsms[destination][origin]) {
82
+ this.deployedIsms[destination][origin] = {};
69
83
  }
70
- this.deployedIsms[chain][origin][ismType] = contract;
84
+ this.deployedIsms[destination][origin][ismType] = contract;
71
85
  }
72
86
  else {
73
87
  // otherwise store the entry directly
74
- this.deployedIsms[chain][ismType] = contract;
88
+ this.deployedIsms[destination][ismType] = contract;
75
89
  }
76
90
  return contract;
77
91
  }
78
- async deployMultisigIsm(chain, config) {
79
- const signer = this.multiProvider.getSigner(chain);
92
+ async deployMultisigIsm(destination, config) {
93
+ const signer = this.multiProvider.getSigner(destination);
80
94
  const multisigIsmFactory = config.type === types_1.IsmType.MERKLE_ROOT_MULTISIG
81
- ? this.getContracts(chain).merkleRootMultisigIsmFactory
82
- : this.getContracts(chain).messageIdMultisigIsmFactory;
83
- const address = await this.deployStaticAddressSet(chain, multisigIsmFactory, config.validators, config.threshold);
95
+ ? this.getContracts(destination).merkleRootMultisigIsmFactory
96
+ : this.getContracts(destination).messageIdMultisigIsmFactory;
97
+ const address = await this.deployStaticAddressSet(destination, multisigIsmFactory, config.validators, config.threshold);
84
98
  return core_1.IMultisigIsm__factory.connect(address, signer);
85
99
  }
86
- async deployRoutingIsm(chain, config) {
87
- const signer = this.multiProvider.getSigner(chain);
88
- const routingIsmFactory = this.getContracts(chain).routingIsmFactory;
89
- // TODO: https://github.com/hyperlane-xyz/hyperlane-monorepo/issues/2895
90
- // config.defaultFallback
91
- // ? this.getContracts(chain).defaultFallbackRoutingIsmFactory
92
- // : this.getContracts(chain).routingIsmFactory;
93
- const isms = {};
94
- for (const origin in config.domains) {
95
- const ism = await this.deploy(chain, config.domains[origin], origin);
96
- isms[origin] = ism.address;
100
+ async deployRoutingIsm(params) {
101
+ const { destination, config, mailbox, existingIsmAddress } = params;
102
+ const overrides = this.multiProvider.getTransactionOverrides(destination);
103
+ const routingIsmFactory = this.getContracts(destination).routingIsmFactory;
104
+ let routingIsm;
105
+ const delta = existingIsmAddress
106
+ ? await routingModuleDelta(destination, existingIsmAddress, config, this.multiProvider, this.getContracts(destination), mailbox)
107
+ : {
108
+ domainsToUnenroll: [],
109
+ domainsToEnroll: Object.keys(config.domains),
110
+ };
111
+ const signer = this.multiProvider.getSigner(destination);
112
+ const provider = this.multiProvider.getProvider(destination);
113
+ let isOwner = false;
114
+ if (existingIsmAddress) {
115
+ const owner = await core_1.DomainRoutingIsm__factory.connect(existingIsmAddress, provider).owner();
116
+ isOwner = (0, utils_1.eqAddress)(await signer.getAddress(), owner);
97
117
  }
98
- const domains = Object.keys(isms).map((chain) => this.multiProvider.getDomainId(chain));
99
- const submoduleAddresses = Object.values(isms);
100
- const overrides = this.multiProvider.getTransactionOverrides(chain);
101
- const tx = await routingIsmFactory.deploy(domains, submoduleAddresses, overrides);
102
- const receipt = await this.multiProvider.handleTx(chain, tx);
103
- // TODO: Break this out into a generalized function
104
- const dispatchLogs = receipt.logs
105
- .map((log) => {
106
- try {
107
- return routingIsmFactory.interface.parseLog(log);
118
+ // reconfiguring existing routing ISM
119
+ if (existingIsmAddress && isOwner && !delta.mailbox) {
120
+ const isms = {};
121
+ routingIsm = core_1.DomainRoutingIsm__factory.connect(existingIsmAddress, this.multiProvider.getSigner(destination));
122
+ // deploying all the ISMs which have to be updated
123
+ for (const origin of delta.domainsToEnroll) {
124
+ (0, logger_1.logger)(`Reconfiguring preexisting routing ISM at for origin ${origin}...`);
125
+ const ism = await this.deploy({
126
+ destination,
127
+ config: config.domains[origin],
128
+ origin,
129
+ mailbox,
130
+ });
131
+ isms[origin] = ism.address;
132
+ const tx = await routingIsm.set(this.multiProvider.getDomainId(origin), isms[origin], overrides);
133
+ await this.multiProvider.handleTx(destination, tx);
134
+ }
135
+ // unenrolling domains if needed
136
+ for (const origin of delta.domainsToUnenroll) {
137
+ (0, logger_1.logger)(`Unenrolling origin ${origin} from preexisting routing ISM at ${existingIsmAddress}...`);
138
+ const tx = await routingIsm.remove(this.multiProvider.getDomainId(origin), overrides);
139
+ await this.multiProvider.handleTx(destination, tx);
108
140
  }
109
- catch (e) {
110
- return undefined;
141
+ // transfer ownership if needed
142
+ if (delta.owner) {
143
+ (0, logger_1.logger)(`Transferring ownership of routing ISM...`);
144
+ const tx = await routingIsm.transferOwnership(delta.owner, overrides);
145
+ await this.multiProvider.handleTx(destination, tx);
146
+ }
147
+ }
148
+ else {
149
+ const isms = {};
150
+ for (const origin of Object.keys(config.domains)) {
151
+ const ism = await this.deploy({
152
+ destination,
153
+ config: config.domains[origin],
154
+ origin,
155
+ mailbox,
156
+ });
157
+ isms[origin] = ism.address;
158
+ }
159
+ const submoduleAddresses = Object.values(isms);
160
+ const domains = Object.keys(isms).map((chain) => this.multiProvider.getDomainId(chain));
161
+ let receipt;
162
+ if (config.type === types_1.IsmType.FALLBACK_ROUTING) {
163
+ // deploying new fallback routing ISM
164
+ if (!mailbox) {
165
+ throw new Error('Mailbox address is required for deploying fallback routing ISM');
166
+ }
167
+ (0, logger_1.logger)('Deploying fallback routing ISM ...');
168
+ routingIsm = await this.multiProvider.handleDeploy(destination, new core_1.DefaultFallbackRoutingIsm__factory(), [mailbox]);
169
+ (0, logger_1.logger)('Initialising fallback routing ISM ...');
170
+ receipt = await this.multiProvider.handleTx(destination, routingIsm['initialize(address,uint32[],address[])'](config.owner, domains, submoduleAddresses, overrides));
171
+ }
172
+ else {
173
+ // deploying new domain routing ISM
174
+ const tx = await routingIsmFactory.deploy(config.owner, domains, submoduleAddresses, overrides);
175
+ receipt = await this.multiProvider.handleTx(destination, tx);
176
+ // TODO: Break this out into a generalized function
177
+ const dispatchLogs = receipt.logs
178
+ .map((log) => {
179
+ try {
180
+ return routingIsmFactory.interface.parseLog(log);
181
+ }
182
+ catch (e) {
183
+ return undefined;
184
+ }
185
+ })
186
+ .filter((log) => !!log && log.name === 'ModuleDeployed');
187
+ if (dispatchLogs.length === 0) {
188
+ throw new Error('No ModuleDeployed event found');
189
+ }
190
+ const moduleAddress = dispatchLogs[0].args['module'];
191
+ routingIsm = core_1.DomainRoutingIsm__factory.connect(moduleAddress, this.multiProvider.getSigner(destination));
111
192
  }
112
- })
113
- .filter((log) => !!log && log.name === 'ModuleDeployed');
114
- const moduleAddress = dispatchLogs[0].args['module'];
115
- const routingIsm = core_1.DomainRoutingIsm__factory.connect(moduleAddress, this.multiProvider.getSigner(chain));
116
- this.logger(`Transferring ownership of routing ISM to ${config.owner}`);
117
- await this.multiProvider.handleTx(chain, await routingIsm.transferOwnership(config.owner, overrides));
118
- const address = dispatchLogs[0].args['module'];
119
- return core_1.IRoutingIsm__factory.connect(address, signer);
193
+ }
194
+ return routingIsm;
120
195
  }
121
- async deployAggregationIsm(chain, config, origin) {
122
- const signer = this.multiProvider.getSigner(chain);
123
- const aggregationIsmFactory = this.getContracts(chain).aggregationIsmFactory;
196
+ async deployAggregationIsm(params) {
197
+ const { destination, config, origin, mailbox } = params;
198
+ const signer = this.multiProvider.getSigner(destination);
199
+ const aggregationIsmFactory = this.getContracts(destination).aggregationIsmFactory;
124
200
  const addresses = [];
125
201
  for (const module of config.modules) {
126
- const submodule = await this.deploy(chain, module, origin);
202
+ const submodule = await this.deploy({
203
+ destination,
204
+ config: module,
205
+ origin,
206
+ mailbox,
207
+ });
127
208
  addresses.push(submodule.address);
128
209
  }
129
- const address = await this.deployStaticAddressSet(chain, aggregationIsmFactory, addresses, config.threshold);
210
+ const address = await this.deployStaticAddressSet(destination, aggregationIsmFactory, addresses, config.threshold);
130
211
  return core_1.IAggregationIsm__factory.connect(address, signer);
131
212
  }
132
213
  async deployOpStackIsm(chain, config) {
@@ -190,7 +271,7 @@ async function moduleCanCertainlyVerify(destModule, multiProvider, origin, desti
190
271
  }
191
272
  }
192
273
  catch (e) {
193
- (0, utils_1.warn)(`Error checking module ${destModule}: ${e}`);
274
+ (0, logger_1.logger)(`Error checking module ${destModule}: ${e}`);
194
275
  return false;
195
276
  }
196
277
  }
@@ -225,7 +306,7 @@ async function moduleCanCertainlyVerify(destModule, multiProvider, origin, desti
225
306
  }
226
307
  }
227
308
  exports.moduleCanCertainlyVerify = moduleCanCertainlyVerify;
228
- async function moduleMatchesConfig(chain, moduleAddress, config, multiProvider, contracts, _origin) {
309
+ async function moduleMatchesConfig(chain, moduleAddress, config, multiProvider, contracts, mailbox) {
229
310
  if (typeof config === 'string') {
230
311
  return (0, utils_1.eqAddress)(moduleAddress, config);
231
312
  }
@@ -253,6 +334,7 @@ async function moduleMatchesConfig(chain, moduleAddress, config, multiProvider,
253
334
  matches = (0, utils_1.eqAddress)(expectedAddress, module.address);
254
335
  break;
255
336
  }
337
+ case types_1.IsmType.FALLBACK_ROUTING:
256
338
  case types_1.IsmType.ROUTING: {
257
339
  // A RoutingIsm matches if:
258
340
  // 1. The set of domains in the config equals those on-chain
@@ -262,13 +344,22 @@ async function moduleMatchesConfig(chain, moduleAddress, config, multiProvider,
262
344
  // Check that the RoutingISM owner matches the config
263
345
  const owner = await routingIsm.owner();
264
346
  matches = matches && (0, utils_1.eqAddress)(owner, config.owner);
265
- // Recursively check that the submodule for each configured
266
- // domain matches the submodule config.
267
- for (const [origin, subConfig] of Object.entries(config.domains)) {
268
- const subModule = await routingIsm.module(multiProvider.getDomainId(origin));
269
- const subModuleMatches = await moduleMatchesConfig(chain, subModule, subConfig, multiProvider, contracts, origin);
270
- matches = matches && subModuleMatches;
347
+ // check if the mailbox matches the config for fallback routing
348
+ if (config.type === types_1.IsmType.FALLBACK_ROUTING) {
349
+ const client = core_1.MailboxClient__factory.connect(moduleAddress, provider);
350
+ const mailboxAddress = await client.mailbox();
351
+ matches =
352
+ matches &&
353
+ mailbox !== undefined &&
354
+ (0, utils_1.eqAddress)(mailboxAddress, mailbox);
271
355
  }
356
+ const delta = await routingModuleDelta(chain, moduleAddress, config, multiProvider, contracts, mailbox);
357
+ matches =
358
+ matches &&
359
+ delta.domainsToEnroll.length === 0 &&
360
+ delta.domainsToUnenroll.length === 0 &&
361
+ !delta.mailbox &&
362
+ !delta.owner;
272
363
  break;
273
364
  }
274
365
  case types_1.IsmType.AGGREGATION: {
@@ -314,6 +405,43 @@ async function moduleMatchesConfig(chain, moduleAddress, config, multiProvider,
314
405
  return matches;
315
406
  }
316
407
  exports.moduleMatchesConfig = moduleMatchesConfig;
408
+ async function routingModuleDelta(destination, moduleAddress, config, multiProvider, contracts, mailbox) {
409
+ const provider = multiProvider.getProvider(destination);
410
+ const routingIsm = core_1.DomainRoutingIsm__factory.connect(moduleAddress, provider);
411
+ const owner = await routingIsm.owner();
412
+ const deployedDomains = (await routingIsm.domains()).map((domain) => multiProvider.getChainName(domain.toNumber()));
413
+ const delta = {
414
+ domainsToUnenroll: [],
415
+ domainsToEnroll: [],
416
+ };
417
+ // if owners don't match, we need to transfer ownership
418
+ if (!(0, utils_1.eqAddress)(owner, (0, utils_1.normalizeAddress)(config.owner)))
419
+ delta.owner = config.owner;
420
+ if (config.type === types_1.IsmType.FALLBACK_ROUTING) {
421
+ const client = core_1.MailboxClient__factory.connect(moduleAddress, provider);
422
+ const mailboxAddress = await client.mailbox();
423
+ if (mailbox && !(0, utils_1.eqAddress)(mailboxAddress, mailbox))
424
+ delta.mailbox = mailbox;
425
+ }
426
+ // check for exclusion of domains in the config
427
+ delta.domainsToUnenroll = deployedDomains.filter((domain) => !Object.keys(config.domains).includes(domain));
428
+ // check for inclusion of domains in the config
429
+ for (const [origin, subConfig] of Object.entries(config.domains)) {
430
+ if (!deployedDomains.includes(origin)) {
431
+ delta.domainsToEnroll.push(origin);
432
+ }
433
+ else {
434
+ const subModule = await routingIsm.module(multiProvider.getDomainId(origin));
435
+ // Recursively check that the submodule for each configured
436
+ // domain matches the submodule config.
437
+ const subModuleMatches = await moduleMatchesConfig(destination, subModule, subConfig, multiProvider, contracts, origin);
438
+ if (!subModuleMatches)
439
+ delta.domainsToEnroll.push(origin);
440
+ }
441
+ }
442
+ return delta;
443
+ }
444
+ exports.routingModuleDelta = routingModuleDelta;
317
445
  function collectValidators(origin, config) {
318
446
  // TODO: support address configurations in collectValidators
319
447
  if (typeof config === 'string') {
@@ -1 +1 @@
1
- {"version":3,"file":"HyperlaneIsmFactory.js","sourceRoot":"","sources":["../../src/ism/HyperlaneIsmFactory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HyperlaneIsmFactory.js","sourceRoot":"","sources":["../../src/ism/HyperlaneIsmFactory.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { IAggregationIsm, IMultisigIsm, IRoutingIsm, OPStackIsm, TestIsm } from '@hyperlane-xyz/core';
2
2
  import type { Address, ValueOf } from '@hyperlane-xyz/utils';
3
- import { ChainMap } from '../types';
3
+ import { ChainMap, ChainName } from '../types';
4
4
  export declare enum ModuleType {
5
5
  UNUSED = 0,
6
6
  ROUTING = 1,
@@ -13,6 +13,7 @@ export declare enum ModuleType {
13
13
  export declare enum IsmType {
14
14
  OP_STACK = "opStackIsm",
15
15
  ROUTING = "domainRoutingIsm",
16
+ FALLBACK_ROUTING = "defaultFallbackRoutingIsm",
16
17
  AGGREGATION = "staticAggregationIsm",
17
18
  MERKLE_ROOT_MULTISIG = "merkleRootMultisigIsm",
18
19
  MESSAGE_ID_MULTISIG = "messageIdMultisigIsm",
@@ -30,7 +31,7 @@ export type TestIsmConfig = {
30
31
  type: IsmType.TEST_ISM;
31
32
  };
32
33
  export type RoutingIsmConfig = {
33
- type: IsmType.ROUTING;
34
+ type: IsmType.ROUTING | IsmType.FALLBACK_ROUTING;
34
35
  owner: Address;
35
36
  domains: ChainMap<IsmConfig>;
36
37
  };
@@ -47,6 +48,7 @@ export type OpStackIsmConfig = {
47
48
  export type IsmConfig = Address | RoutingIsmConfig | MultisigIsmConfig | AggregationIsmConfig | OpStackIsmConfig | TestIsmConfig;
48
49
  export type DeployedIsmType = {
49
50
  [IsmType.ROUTING]: IRoutingIsm;
51
+ [IsmType.FALLBACK_ROUTING]: IRoutingIsm;
50
52
  [IsmType.AGGREGATION]: IAggregationIsm;
51
53
  [IsmType.MERKLE_ROOT_MULTISIG]: IMultisigIsm;
52
54
  [IsmType.MESSAGE_ID_MULTISIG]: IMultisigIsm;
@@ -54,4 +56,10 @@ export type DeployedIsmType = {
54
56
  [IsmType.TEST_ISM]: TestIsm;
55
57
  };
56
58
  export type DeployedIsm = ValueOf<DeployedIsmType>;
59
+ export type RoutingIsmDelta = {
60
+ domainsToUnenroll: ChainName[];
61
+ domainsToEnroll: ChainName[];
62
+ owner?: Address;
63
+ mailbox?: Address;
64
+ };
57
65
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/ism/types.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,YAAY,EACZ,WAAW,EACX,UAAU,EACV,OAAO,EACR,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAE7D,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAIpC,oBAAY,UAAU;IACpB,MAAM,IAAA;IACN,OAAO,IAAA;IACP,WAAW,IAAA;IACX,eAAe,IAAA;IACf,oBAAoB,IAAA;IACpB,mBAAmB,IAAA;IACnB,IAAI,IAAA;CACL;AAID,oBAAY,OAAO;IACjB,QAAQ,eAAe;IACvB,OAAO,qBAAqB;IAC5B,WAAW,yBAAyB;IACpC,oBAAoB,0BAA0B;IAC9C,mBAAmB,yBAAyB;IAC5C,QAAQ,YAAY;CACrB;AAGD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,UAAU,CAehE;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,cAAc,GAAG;IAC/C,IAAI,EAAE,OAAO,CAAC,oBAAoB,GAAG,OAAO,CAAC,mBAAmB,CAAC;CAClE,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC;IACtB,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;CAG9B,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC;IAC1B,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC;IACvB,MAAM,EAAE,OAAO,CAAC;IAChB,YAAY,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,SAAS,GACjB,OAAO,GACP,gBAAgB,GAChB,iBAAiB,GACjB,oBAAoB,GACpB,gBAAgB,GAChB,aAAa,CAAC;AAElB,MAAM,MAAM,eAAe,GAAG;IAC5B,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,WAAW,CAAC;IAC/B,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,eAAe,CAAC;IACvC,CAAC,OAAO,CAAC,oBAAoB,CAAC,EAAE,YAAY,CAAC;IAC7C,CAAC,OAAO,CAAC,mBAAmB,CAAC,EAAE,YAAY,CAAC;IAC5C,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,UAAU,CAAC;IAC/B,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/ism/types.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,YAAY,EACZ,WAAW,EACX,UAAU,EACV,OAAO,EACR,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAE7D,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAI/C,oBAAY,UAAU;IACpB,MAAM,IAAA;IACN,OAAO,IAAA;IACP,WAAW,IAAA;IACX,eAAe,IAAA;IACf,oBAAoB,IAAA;IACpB,mBAAmB,IAAA;IACnB,IAAI,IAAA;CACL;AAID,oBAAY,OAAO;IACjB,QAAQ,eAAe;IACvB,OAAO,qBAAqB;IAC5B,gBAAgB,8BAA8B;IAC9C,WAAW,yBAAyB;IACpC,oBAAoB,0BAA0B;IAC9C,mBAAmB,yBAAyB;IAC5C,QAAQ,YAAY;CACrB;AAGD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,UAAU,CAiBhE;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,cAAc,GAAG;IAC/C,IAAI,EAAE,OAAO,CAAC,oBAAoB,GAAG,OAAO,CAAC,mBAAmB,CAAC;CAClE,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,gBAAgB,CAAC;IACjD,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC;IAC1B,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC;IACvB,MAAM,EAAE,OAAO,CAAC;IAChB,YAAY,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,SAAS,GACjB,OAAO,GACP,gBAAgB,GAChB,iBAAiB,GACjB,oBAAoB,GACpB,gBAAgB,GAChB,aAAa,CAAC;AAElB,MAAM,MAAM,eAAe,GAAG;IAC5B,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,WAAW,CAAC;IAC/B,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,WAAW,CAAC;IACxC,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,eAAe,CAAC;IACvC,CAAC,OAAO,CAAC,oBAAoB,CAAC,EAAE,YAAY,CAAC;IAC7C,CAAC,OAAO,CAAC,mBAAmB,CAAC,EAAE,YAAY,CAAC;IAC5C,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,UAAU,CAAC;IAC/B,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;AAGnD,MAAM,MAAM,eAAe,GAAG;IAC5B,iBAAiB,EAAE,SAAS,EAAE,CAAC;IAC/B,eAAe,EAAE,SAAS,EAAE,CAAC;IAC7B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC"}
package/dist/ism/types.js CHANGED
@@ -19,18 +19,21 @@ var IsmType;
19
19
  (function (IsmType) {
20
20
  IsmType["OP_STACK"] = "opStackIsm";
21
21
  IsmType["ROUTING"] = "domainRoutingIsm";
22
+ IsmType["FALLBACK_ROUTING"] = "defaultFallbackRoutingIsm";
22
23
  IsmType["AGGREGATION"] = "staticAggregationIsm";
23
24
  IsmType["MERKLE_ROOT_MULTISIG"] = "merkleRootMultisigIsm";
24
25
  IsmType["MESSAGE_ID_MULTISIG"] = "messageIdMultisigIsm";
25
26
  IsmType["TEST_ISM"] = "testIsm";
26
27
  })(IsmType || (exports.IsmType = IsmType = {}));
27
- // mapping betweent the two enums
28
+ // mapping between the two enums
28
29
  function ismTypeToModuleType(ismType) {
29
30
  switch (ismType) {
30
31
  case IsmType.OP_STACK:
31
32
  return ModuleType.NULL;
32
33
  case IsmType.ROUTING:
33
34
  return ModuleType.ROUTING;
35
+ case IsmType.FALLBACK_ROUTING:
36
+ return ModuleType.ROUTING;
34
37
  case IsmType.AGGREGATION:
35
38
  return ModuleType.AGGREGATION;
36
39
  case IsmType.MERKLE_ROOT_MULTISIG:
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/ism/types.ts"],"names":[],"mappings":";;;AAWA,gEAAgE;AAChE,wBAAwB;AACxB,IAAY,UAQX;AARD,WAAY,UAAU;IACpB,+CAAM,CAAA;IACN,iDAAO,CAAA;IACP,yDAAW,CAAA;IACX,iEAAe,CAAA;IACf,2EAAoB,CAAA;IACpB,yEAAmB,CAAA;IACnB,2CAAI,CAAA;AACN,CAAC,EARW,UAAU,0BAAV,UAAU,QAQrB;AAED,yDAAyD;AACzD,qCAAqC;AACrC,IAAY,OAOX;AAPD,WAAY,OAAO;IACjB,kCAAuB,CAAA;IACvB,uCAA4B,CAAA;IAC5B,+CAAoC,CAAA;IACpC,yDAA8C,CAAA;IAC9C,uDAA4C,CAAA;IAC5C,+BAAoB,CAAA;AACtB,CAAC,EAPW,OAAO,uBAAP,OAAO,QAOlB;AAED,iCAAiC;AACjC,SAAgB,mBAAmB,CAAC,OAAgB;IAClD,QAAQ,OAAO,EAAE;QACf,KAAK,OAAO,CAAC,QAAQ;YACnB,OAAO,UAAU,CAAC,IAAI,CAAC;QACzB,KAAK,OAAO,CAAC,OAAO;YAClB,OAAO,UAAU,CAAC,OAAO,CAAC;QAC5B,KAAK,OAAO,CAAC,WAAW;YACtB,OAAO,UAAU,CAAC,WAAW,CAAC;QAChC,KAAK,OAAO,CAAC,oBAAoB;YAC/B,OAAO,UAAU,CAAC,oBAAoB,CAAC;QACzC,KAAK,OAAO,CAAC,mBAAmB;YAC9B,OAAO,UAAU,CAAC,mBAAmB,CAAC;QACxC,KAAK,OAAO,CAAC,QAAQ;YACnB,OAAO,UAAU,CAAC,IAAI,CAAC;KAC1B;AACH,CAAC;AAfD,kDAeC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/ism/types.ts"],"names":[],"mappings":";;;AAWA,gEAAgE;AAChE,wBAAwB;AACxB,IAAY,UAQX;AARD,WAAY,UAAU;IACpB,+CAAM,CAAA;IACN,iDAAO,CAAA;IACP,yDAAW,CAAA;IACX,iEAAe,CAAA;IACf,2EAAoB,CAAA;IACpB,yEAAmB,CAAA;IACnB,2CAAI,CAAA;AACN,CAAC,EARW,UAAU,0BAAV,UAAU,QAQrB;AAED,yDAAyD;AACzD,qCAAqC;AACrC,IAAY,OAQX;AARD,WAAY,OAAO;IACjB,kCAAuB,CAAA;IACvB,uCAA4B,CAAA;IAC5B,yDAA8C,CAAA;IAC9C,+CAAoC,CAAA;IACpC,yDAA8C,CAAA;IAC9C,uDAA4C,CAAA;IAC5C,+BAAoB,CAAA;AACtB,CAAC,EARW,OAAO,uBAAP,OAAO,QAQlB;AAED,gCAAgC;AAChC,SAAgB,mBAAmB,CAAC,OAAgB;IAClD,QAAQ,OAAO,EAAE;QACf,KAAK,OAAO,CAAC,QAAQ;YACnB,OAAO,UAAU,CAAC,IAAI,CAAC;QACzB,KAAK,OAAO,CAAC,OAAO;YAClB,OAAO,UAAU,CAAC,OAAO,CAAC;QAC5B,KAAK,OAAO,CAAC,gBAAgB;YAC3B,OAAO,UAAU,CAAC,OAAO,CAAC;QAC5B,KAAK,OAAO,CAAC,WAAW;YACtB,OAAO,UAAU,CAAC,WAAW,CAAC;QAChC,KAAK,OAAO,CAAC,oBAAoB;YAC/B,OAAO,UAAU,CAAC,oBAAoB,CAAC;QACzC,KAAK,OAAO,CAAC,mBAAmB;YAC9B,OAAO,UAAU,CAAC,mBAAmB,CAAC;QACxC,KAAK,OAAO,CAAC,QAAQ;YACnB,OAAO,UAAU,CAAC,IAAI,CAAC;KAC1B;AACH,CAAC;AAjBD,kDAiBC"}
@@ -0,0 +1,3 @@
1
+ import debug from 'debug';
2
+ export declare const logger: debug.Debugger;
3
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,eAAO,MAAM,MAAM,gBAAqB,CAAC"}
package/dist/logger.js ADDED
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.logger = void 0;
7
+ const debug_1 = __importDefault(require("debug"));
8
+ // Default logger for use in utils/scripts
9
+ // For classes, prefer to create loggers with more specific namespaces
10
+ exports.logger = (0, debug_1.default)('hyperlane');
11
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAE1B,0CAA0C;AAC1C,sEAAsE;AACzD,QAAA,MAAM,GAAG,IAAA,eAAK,EAAC,WAAW,CAAC,CAAC"}
@@ -123,6 +123,13 @@ export declare class ChainMetadataManager<MetaExt = {}> {
123
123
  tryGetExplorerTxUrl(chainNameOrId: ChainName | number, response: {
124
124
  hash: string;
125
125
  }): string | null;
126
+ /**
127
+ * Get a block explorer URL for given chain's tx
128
+ * @throws if chain's metadata or block explorer data has no been set
129
+ */
130
+ getExplorerTxUrl(chainNameOrId: ChainName | number, response: {
131
+ hash: string;
132
+ }): string;
126
133
  /**
127
134
  * Get a block explorer URL for given chain's address
128
135
  */
@@ -132,13 +139,6 @@ export declare class ChainMetadataManager<MetaExt = {}> {
132
139
  * @throws if address or the chain's block explorer data has no been set
133
140
  */
134
141
  getExplorerAddressUrl(chainNameOrId: ChainName | number, address?: string): Promise<string>;
135
- /**
136
- * Get a block explorer URL for given chain's tx
137
- * @throws if chain's metadata or block explorer data has no been set
138
- */
139
- getExplorerTxUrl(chainNameOrId: ChainName | number, response: {
140
- hash: string;
141
- }): string;
142
142
  /**
143
143
  * Creates a new ChainMetadataManager with the extended metadata
144
144
  * @param additionalMetadata extra fields to add to the metadata for each chain
@@ -1 +1 @@
1
- {"version":3,"file":"ChainMetadataManager.d.ts","sourceRoot":"","sources":["../../src/metadata/ChainMetadataManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ChainMetadataManager.d.ts","sourceRoot":"","sources":["../../src/metadata/ChainMetadataManager.ts"],"names":[],"mappings":"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"}