@hyperlane-xyz/sdk 1.4.3-beta2 → 1.5.1-beta0

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 (147) hide show
  1. package/dist/app/MultiProtocolApp.d.ts +21 -9
  2. package/dist/app/MultiProtocolApp.d.ts.map +1 -1
  3. package/dist/app/MultiProtocolApp.js +31 -13
  4. package/dist/app/MultiProtocolApp.js.map +1 -1
  5. package/dist/app/MultiProtocolApp.test.js +8 -0
  6. package/dist/app/MultiProtocolApp.test.js.map +1 -1
  7. package/dist/consts/chainMetadata.d.ts +3 -0
  8. package/dist/consts/chainMetadata.d.ts.map +1 -1
  9. package/dist/consts/chainMetadata.js +77 -7
  10. package/dist/consts/chainMetadata.js.map +1 -1
  11. package/dist/consts/chains.d.ts +4 -1
  12. package/dist/consts/chains.d.ts.map +1 -1
  13. package/dist/consts/chains.js +3 -0
  14. package/dist/consts/chains.js.map +1 -1
  15. package/dist/consts/environments/index.d.ts +373 -2
  16. package/dist/consts/environments/index.d.ts.map +1 -1
  17. package/dist/consts/environments/index.js +6 -1
  18. package/dist/consts/environments/index.js.map +1 -1
  19. package/dist/consts/environments/testnet-sealevel.json +19 -0
  20. package/dist/consts/sealevel.d.ts +2 -0
  21. package/dist/consts/sealevel.d.ts.map +1 -0
  22. package/dist/consts/sealevel.js +5 -0
  23. package/dist/consts/sealevel.js.map +1 -0
  24. package/dist/contracts/contracts.d.ts +3 -0
  25. package/dist/contracts/contracts.d.ts.map +1 -1
  26. package/dist/contracts/contracts.js +8 -2
  27. package/dist/contracts/contracts.js.map +1 -1
  28. package/dist/core/HyperlaneCore.d.ts +3 -12
  29. package/dist/core/HyperlaneCore.d.ts.map +1 -1
  30. package/dist/core/HyperlaneCore.js +16 -12
  31. package/dist/core/HyperlaneCore.js.map +1 -1
  32. package/dist/core/HyperlaneCoreDeployer.d.ts.map +1 -1
  33. package/dist/core/HyperlaneCoreDeployer.js +3 -1
  34. package/dist/core/HyperlaneCoreDeployer.js.map +1 -1
  35. package/dist/core/MultiProtocolCore.d.ts +19 -0
  36. package/dist/core/MultiProtocolCore.d.ts.map +1 -0
  37. package/dist/core/MultiProtocolCore.js +45 -0
  38. package/dist/core/MultiProtocolCore.js.map +1 -0
  39. package/dist/core/MultiProtocolCore.test.d.ts +2 -0
  40. package/dist/core/MultiProtocolCore.test.d.ts.map +1 -0
  41. package/dist/core/MultiProtocolCore.test.js +35 -0
  42. package/dist/core/MultiProtocolCore.test.js.map +1 -0
  43. package/dist/core/adapters/EvmCoreAdapter.d.ts +25 -0
  44. package/dist/core/adapters/EvmCoreAdapter.d.ts.map +1 -0
  45. package/dist/core/adapters/EvmCoreAdapter.js +38 -0
  46. package/dist/core/adapters/EvmCoreAdapter.js.map +1 -0
  47. package/dist/core/adapters/SealevelCoreAdapter.d.ts +33 -0
  48. package/dist/core/adapters/SealevelCoreAdapter.d.ts.map +1 -0
  49. package/dist/core/adapters/SealevelCoreAdapter.js +93 -0
  50. package/dist/core/adapters/SealevelCoreAdapter.js.map +1 -0
  51. package/dist/core/adapters/SealevelCoreAdapter.test.d.ts +2 -0
  52. package/dist/core/adapters/SealevelCoreAdapter.test.d.ts.map +1 -0
  53. package/dist/core/adapters/SealevelCoreAdapter.test.js +18 -0
  54. package/dist/core/adapters/SealevelCoreAdapter.test.js.map +1 -0
  55. package/dist/core/adapters/types.d.ts +12 -0
  56. package/dist/core/adapters/types.d.ts.map +1 -0
  57. package/dist/core/adapters/types.js +3 -0
  58. package/dist/core/adapters/types.js.map +1 -0
  59. package/dist/core/contracts.d.ts +7 -0
  60. package/dist/core/contracts.d.ts.map +1 -1
  61. package/dist/core/contracts.js.map +1 -1
  62. package/dist/core/types.d.ts +10 -5
  63. package/dist/core/types.d.ts.map +1 -1
  64. package/dist/deploy/HyperlaneDeployer.d.ts.map +1 -1
  65. package/dist/deploy/HyperlaneDeployer.js +4 -2
  66. package/dist/deploy/HyperlaneDeployer.js.map +1 -1
  67. package/dist/gas/adapters/SealevelIgpAdapter.d.ts +20 -0
  68. package/dist/gas/adapters/SealevelIgpAdapter.d.ts.map +1 -0
  69. package/dist/gas/adapters/SealevelIgpAdapter.js +35 -0
  70. package/dist/gas/adapters/SealevelIgpAdapter.js.map +1 -0
  71. package/dist/gas/adapters/serialization.d.ts +38 -0
  72. package/dist/gas/adapters/serialization.d.ts.map +1 -0
  73. package/dist/gas/adapters/serialization.js +70 -0
  74. package/dist/gas/adapters/serialization.js.map +1 -0
  75. package/dist/index.d.ts +23 -11
  76. package/dist/index.d.ts.map +1 -1
  77. package/dist/index.js +49 -14
  78. package/dist/index.js.map +1 -1
  79. package/dist/ism/HyperlaneIsmFactory.d.ts.map +1 -1
  80. package/dist/ism/HyperlaneIsmFactory.js +12 -1
  81. package/dist/ism/HyperlaneIsmFactory.js.map +1 -1
  82. package/dist/ism/types.d.ts +3 -3
  83. package/dist/ism/types.d.ts.map +1 -1
  84. package/dist/ism/types.js.map +1 -1
  85. package/dist/metadata/ChainMetadataManager.d.ts +18 -1
  86. package/dist/metadata/ChainMetadataManager.d.ts.map +1 -1
  87. package/dist/metadata/ChainMetadataManager.js +66 -7
  88. package/dist/metadata/ChainMetadataManager.js.map +1 -1
  89. package/dist/metadata/agentConfig.d.ts +4192 -54
  90. package/dist/metadata/agentConfig.d.ts.map +1 -1
  91. package/dist/metadata/agentConfig.js +197 -22
  92. package/dist/metadata/agentConfig.js.map +1 -1
  93. package/dist/metadata/chainMetadataTypes.d.ts +58 -2
  94. package/dist/metadata/chainMetadataTypes.d.ts.map +1 -1
  95. package/dist/metadata/chainMetadataTypes.js +39 -62
  96. package/dist/metadata/chainMetadataTypes.js.map +1 -1
  97. package/dist/metadata/customZodTypes.d.ts +14 -0
  98. package/dist/metadata/customZodTypes.d.ts.map +1 -0
  99. package/dist/metadata/customZodTypes.js +19 -0
  100. package/dist/metadata/customZodTypes.js.map +1 -0
  101. package/dist/metadata/deploymentArtifacts.d.ts +0 -230
  102. package/dist/metadata/deploymentArtifacts.d.ts.map +1 -1
  103. package/dist/metadata/deploymentArtifacts.js +6 -14
  104. package/dist/metadata/deploymentArtifacts.js.map +1 -1
  105. package/dist/metadata/matchingList.d.ts +41 -0
  106. package/dist/metadata/matchingList.d.ts.map +1 -0
  107. package/dist/metadata/matchingList.js +27 -0
  108. package/dist/metadata/matchingList.js.map +1 -0
  109. package/dist/providers/MultiProtocolProvider.d.ts +12 -4
  110. package/dist/providers/MultiProtocolProvider.d.ts.map +1 -1
  111. package/dist/providers/MultiProtocolProvider.js +35 -7
  112. package/dist/providers/MultiProtocolProvider.js.map +1 -1
  113. package/dist/providers/MultiProvider.d.ts +3 -6
  114. package/dist/providers/MultiProvider.d.ts.map +1 -1
  115. package/dist/providers/MultiProvider.js +15 -39
  116. package/dist/providers/MultiProvider.js.map +1 -1
  117. package/dist/providers/ProviderType.d.ts +22 -2
  118. package/dist/providers/ProviderType.d.ts.map +1 -1
  119. package/dist/providers/ProviderType.js.map +1 -1
  120. package/dist/router/MultiProtocolRouterApps.d.ts +4 -12
  121. package/dist/router/MultiProtocolRouterApps.d.ts.map +1 -1
  122. package/dist/router/MultiProtocolRouterApps.js +20 -16
  123. package/dist/router/MultiProtocolRouterApps.js.map +1 -1
  124. package/dist/router/MultiProtocolRouterApps.test.js.map +1 -1
  125. package/dist/router/adapters/EvmRouterAdapter.d.ts +18 -13
  126. package/dist/router/adapters/EvmRouterAdapter.d.ts.map +1 -1
  127. package/dist/router/adapters/EvmRouterAdapter.js +21 -23
  128. package/dist/router/adapters/EvmRouterAdapter.js.map +1 -1
  129. package/dist/router/adapters/SealevelRouterAdapter.d.ts +23 -38
  130. package/dist/router/adapters/SealevelRouterAdapter.d.ts.map +1 -1
  131. package/dist/router/adapters/SealevelRouterAdapter.js +22 -96
  132. package/dist/router/adapters/SealevelRouterAdapter.js.map +1 -1
  133. package/dist/router/adapters/types.d.ts +8 -9
  134. package/dist/router/adapters/types.d.ts.map +1 -1
  135. package/dist/utils/sealevelSerialization.d.ts +17 -0
  136. package/dist/utils/sealevelSerialization.d.ts.map +1 -0
  137. package/dist/utils/sealevelSerialization.js +29 -0
  138. package/dist/utils/sealevelSerialization.js.map +1 -0
  139. package/package.json +6 -6
  140. package/dist/consts/agentStartBlocks.d.ts +0 -3
  141. package/dist/consts/agentStartBlocks.d.ts.map +0 -1
  142. package/dist/consts/agentStartBlocks.js +0 -28
  143. package/dist/consts/agentStartBlocks.js.map +0 -1
  144. package/dist/router/adapters/SealevelRouterAdapter.test.d.ts +0 -2
  145. package/dist/router/adapters/SealevelRouterAdapter.test.d.ts.map +0 -1
  146. package/dist/router/adapters/SealevelRouterAdapter.test.js +0 -21
  147. package/dist/router/adapters/SealevelRouterAdapter.test.js.map +0 -1
@@ -20,11 +20,11 @@ class MultiProvider extends ChainMetadataManager_1.ChainMetadataManager {
20
20
  constructor(chainMetadata, options = {}) {
21
21
  super(chainMetadata, options);
22
22
  this.options = options;
23
- this.providers = {};
24
- this.signers = {};
25
23
  this.useSharedSigner = false; // A single signer to be used for all chains
26
24
  this.logger = (0, debug_1.debug)(options?.loggerName || 'hyperlane:MultiProvider');
25
+ this.providers = options?.providers || {};
27
26
  this.providerBuilder = options?.providerBuilder || providerBuilders_1.defaultProviderBuilder;
27
+ this.signers = options?.signers || {};
28
28
  }
29
29
  addChain(metadata) {
30
30
  super.addChain(metadata);
@@ -193,50 +193,26 @@ class MultiProvider extends ChainMetadataManager_1.ChainMetadataManager {
193
193
  * of current's chains and the provided chain list
194
194
  */
195
195
  intersect(chains, throwIfNotSubset = false) {
196
- const ownChains = this.getKnownChainNames();
197
- const intersection = [];
198
- for (const chain of chains) {
199
- if (ownChains.includes(chain)) {
200
- intersection.push(chain);
201
- }
202
- else if (throwIfNotSubset) {
203
- throw new Error(`MultiProvider#intersect: chains specified ${chain}, but ownChains did not include it`);
204
- }
205
- }
206
- if (!intersection.length) {
207
- throw new Error(`No chains shared between MultiProvider and list (${ownChains} and ${chains})`);
208
- }
209
- const intersectionMetadata = (0, utils_1.pick)(this.metadata, intersection);
210
- const intersectionProviders = (0, utils_1.pick)(this.providers, intersection);
211
- const intersectionSigners = (0, utils_1.pick)(this.signers, intersection);
212
- const multiProvider = new MultiProvider(intersectionMetadata);
213
- multiProvider.setProviders(intersectionProviders);
214
- multiProvider.setSigners(intersectionSigners);
215
- return { intersection, multiProvider };
196
+ const { intersection, result } = super.intersect(chains, throwIfNotSubset);
197
+ const multiProvider = new MultiProvider(result.metadata, {
198
+ ...this.options,
199
+ providers: (0, utils_1.pick)(this.providers, intersection),
200
+ signers: (0, utils_1.pick)(this.signers, intersection),
201
+ });
202
+ return { intersection, result: multiProvider };
216
203
  }
217
204
  /**
218
205
  * Get a block explorer URL for given chain's address
219
206
  */
220
207
  async tryGetExplorerAddressUrl(chainNameOrId, address) {
221
- const baseUrl = this.tryGetExplorerUrl(chainNameOrId);
222
- if (!baseUrl)
223
- return null;
224
208
  if (address)
225
- return `${baseUrl}/address/${address}`;
209
+ return super.tryGetExplorerAddressUrl(chainNameOrId, address);
226
210
  const signer = this.tryGetSigner(chainNameOrId);
227
- if (!signer)
228
- return null;
229
- return `${baseUrl}/address/${await signer.getAddress()}`;
230
- }
231
- /**
232
- * Get a block explorer URL for given chain's address
233
- * @throws if chain's metadata, signer, or block explorer data has no been set
234
- */
235
- async getExplorerAddressUrl(chainNameOrId, address) {
236
- const url = await this.tryGetExplorerAddressUrl(chainNameOrId, address);
237
- if (!url)
238
- throw new Error(`Missing data for address url for ${chainNameOrId}`);
239
- return url;
211
+ if (signer) {
212
+ const signerAddr = await signer.getAddress();
213
+ return super.tryGetExplorerAddressUrl(chainNameOrId, signerAddr);
214
+ }
215
+ return null;
240
216
  }
241
217
  /**
242
218
  * Get the transaction overrides for a given chain name, chain id, or domain id
@@ -1 +1 @@
1
- {"version":3,"file":"MultiProvider.js","sourceRoot":"","sources":["../../src/providers/MultiProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MultiProvider.js","sourceRoot":"","sources":["../../src/providers/MultiProvider.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import type { Connection, Transaction as SolTransaction } from '@solana/web3.js';
1
+ import type { Connection, Transaction as SolTransaction, VersionedTransactionResponse as SolTransactionReceipt } from '@solana/web3.js';
2
2
  import type { Contract as EV5Contract, providers as EV5Providers, PopulatedTransaction as EV5Transaction } from 'ethers';
3
- import type { GetContractReturnType, PublicClient, Transaction as VTransaction } from 'viem';
3
+ import type { GetContractReturnType, PublicClient, Transaction as VTransaction, TransactionReceipt as VTransactionReceipt } from 'viem';
4
4
  export declare enum ProviderType {
5
5
  EthersV5 = "ethers-v5",
6
6
  Viem = "viem",
@@ -67,5 +67,25 @@ export interface SolanaWeb3Transaction extends TypedTransactionBase<SolTransacti
67
67
  transaction: SolTransaction;
68
68
  }
69
69
  export type TypedTransaction = EthersV5Transaction | ViemTransaction | SolanaWeb3Transaction;
70
+ /**
71
+ * Transaction receipt/response with discriminated union of provider type
72
+ */
73
+ interface TypedTransactionReceiptBase<T> {
74
+ type: ProviderType;
75
+ receipt: T;
76
+ }
77
+ export interface EthersV5TransactionReceipt extends TypedTransactionReceiptBase<EV5Providers.TransactionReceipt> {
78
+ type: ProviderType.EthersV5;
79
+ receipt: EV5Providers.TransactionReceipt;
80
+ }
81
+ export interface ViemTransactionReceipt extends TypedTransactionReceiptBase<VTransactionReceipt> {
82
+ type: ProviderType.Viem;
83
+ receipt: VTransactionReceipt;
84
+ }
85
+ export interface SolanaWeb3TransactionReceipt extends TypedTransactionReceiptBase<SolTransactionReceipt> {
86
+ type: ProviderType.SolanaWeb3;
87
+ receipt: SolTransactionReceipt;
88
+ }
89
+ export type TypedTransactionReceipt = EthersV5TransactionReceipt | ViemTransactionReceipt | SolanaWeb3TransactionReceipt;
70
90
  export {};
71
91
  //# sourceMappingURL=ProviderType.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ProviderType.d.ts","sourceRoot":"","sources":["../../src/providers/ProviderType.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,WAAW,IAAI,cAAc,EAC9B,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EACV,QAAQ,IAAI,WAAW,EACvB,SAAS,IAAI,YAAY,EACzB,oBAAoB,IAAI,cAAc,EACvC,MAAM,QAAQ,CAAC;AAEhB,OAAO,KAAK,EACV,qBAAqB,EACrB,YAAY,EACZ,WAAW,IAAI,YAAY,EAC5B,MAAM,MAAM,CAAC;AAEd,oBAAY,YAAY;IACtB,QAAQ,cAAc;IAEtB,IAAI,SAAS;IACb,UAAU,gBAAgB;CAC3B;AAED,MAAM,MAAM,WAAW,CAAC,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC,CAAC;AAEtE;;GAEG;AAEH,UAAU,iBAAiB,CAAC,CAAC;IAC3B,IAAI,EAAE,YAAY,CAAC;IACnB,QAAQ,EAAE,CAAC,CAAC;CACb;AAED,MAAM,WAAW,gBACf,SAAQ,iBAAiB,CAAC,YAAY,CAAC,QAAQ,CAAC;IAChD,IAAI,EAAE,YAAY,CAAC,QAAQ,CAAC;IAC5B,QAAQ,EAAE,YAAY,CAAC,QAAQ,CAAC;CACjC;AAOD,MAAM,WAAW,YAAa,SAAQ,iBAAiB,CAAC,YAAY,CAAC;IACnE,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC;IACxB,QAAQ,EAAE,YAAY,CAAC;CACxB;AAED,MAAM,WAAW,kBAAmB,SAAQ,iBAAiB,CAAC,UAAU,CAAC;IACvE,IAAI,EAAE,YAAY,CAAC,UAAU,CAAC;IAC9B,QAAQ,EAAE,UAAU,CAAC;CACtB;AAED,MAAM,MAAM,aAAa,GACrB,gBAAgB,GAEhB,YAAY,GACZ,kBAAkB,CAAC;AAEvB;;GAEG;AAEH,UAAU,iBAAiB,CAAC,CAAC;IAC3B,IAAI,EAAE,YAAY,CAAC;IACnB,QAAQ,EAAE,CAAC,CAAC;CACb;AAED,MAAM,WAAW,gBAAiB,SAAQ,iBAAiB,CAAC,WAAW,CAAC;IACtE,IAAI,EAAE,YAAY,CAAC,QAAQ,CAAC;IAC5B,WAAW,EAAE,WAAW,CAAC;CAC1B;AAOD,MAAM,WAAW,YAAa,SAAQ,iBAAiB,CAAC,qBAAqB,CAAC;IAC5E,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC;IACxB,WAAW,EAAE,qBAAqB,CAAC;CACpC;AAED,MAAM,WAAW,kBAAmB,SAAQ,iBAAiB,CAAC,KAAK,CAAC;IAClE,IAAI,EAAE,YAAY,CAAC,UAAU,CAAC;IAE9B,WAAW,EAAE,KAAK,CAAC;CACpB;AAED,MAAM,MAAM,aAAa,GACrB,gBAAgB,GAEhB,YAAY,GACZ,kBAAkB,CAAC;AAEvB;;GAEG;AAEH,UAAU,oBAAoB,CAAC,CAAC;IAC9B,IAAI,EAAE,YAAY,CAAC;IACnB,WAAW,EAAE,CAAC,CAAC;CAChB;AAED,MAAM,WAAW,mBACf,SAAQ,oBAAoB,CAAC,cAAc,CAAC;IAC5C,IAAI,EAAE,YAAY,CAAC,QAAQ,CAAC;IAC5B,WAAW,EAAE,cAAc,CAAC;CAC7B;AAOD,MAAM,WAAW,eAAgB,SAAQ,oBAAoB,CAAC,YAAY,CAAC;IACzE,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC;IACxB,WAAW,EAAE,YAAY,CAAC;CAC3B;AAED,MAAM,WAAW,qBACf,SAAQ,oBAAoB,CAAC,cAAc,CAAC;IAC5C,IAAI,EAAE,YAAY,CAAC,UAAU,CAAC;IAE9B,WAAW,EAAE,cAAc,CAAC;CAC7B;AAED,MAAM,MAAM,gBAAgB,GACxB,mBAAmB,GAEnB,eAAe,GACf,qBAAqB,CAAC"}
1
+ {"version":3,"file":"ProviderType.d.ts","sourceRoot":"","sources":["../../src/providers/ProviderType.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ProviderType.js","sourceRoot":"","sources":["../../src/providers/ProviderType.ts"],"names":[],"mappings":";;;AAgBA,IAAY,YAKX;AALD,WAAY,YAAY;IACtB,sCAAsB,CAAA;IACtB,qEAAqE;IACrE,6BAAa,CAAA;IACb,0CAA0B,CAAA;AAC5B,CAAC,EALW,YAAY,4BAAZ,YAAY,QAKvB"}
1
+ {"version":3,"file":"ProviderType.js","sourceRoot":"","sources":["../../src/providers/ProviderType.ts"],"names":[],"mappings":";;;AAkBA,IAAY,YAKX;AALD,WAAY,YAAY;IACtB,sCAAsB,CAAA;IACtB,qEAAqE;IACrE,6BAAa,CAAA;IACb,0CAA0B,CAAA;AAC5B,CAAC,EALW,YAAY,4BAAZ,YAAY,QAKvB"}
@@ -1,16 +1,11 @@
1
- import { Address, Domain } from '@hyperlane-xyz/utils';
2
- import { MultiProtocolApp } from '../app/MultiProtocolApp';
1
+ import { Address, Domain, ProtocolType } from '@hyperlane-xyz/utils';
2
+ import { AdapterClassType, MultiProtocolApp } from '../app/MultiProtocolApp';
3
3
  import { ChainMap, ChainName } from '../types';
4
- import { EvmGasRouterAdapter, EvmRouterAdapter } from './adapters/EvmRouterAdapter';
5
- import { SealevelGasRouterAdapter, SealevelRouterAdapter } from './adapters/SealevelRouterAdapter';
6
4
  import { IGasRouterAdapter, IRouterAdapter } from './adapters/types';
7
5
  import { RouterAddress } from './types';
8
6
  export { Router } from '@hyperlane-xyz/core';
9
7
  export declare class MultiProtocolRouterApp<ContractAddrs extends RouterAddress = RouterAddress, IAdapterApi extends IRouterAdapter = IRouterAdapter> extends MultiProtocolApp<ContractAddrs, IAdapterApi> {
10
- readonly protocolToAdapter: {
11
- ethereum: typeof EvmRouterAdapter;
12
- sealevel: typeof SealevelRouterAdapter;
13
- };
8
+ protocolToAdapter(protocol: ProtocolType): AdapterClassType<IAdapterApi>;
14
9
  router(chain: ChainName): Address;
15
10
  interchainSecurityModules(): Promise<ChainMap<Address>>;
16
11
  owners(): Promise<ChainMap<Address>>;
@@ -20,10 +15,7 @@ export declare class MultiProtocolRouterApp<ContractAddrs extends RouterAddress
20
15
  }>>;
21
16
  }
22
17
  export declare class MultiProtocolGasRouterApp<ContractAddrs extends RouterAddress = RouterAddress, IAdapterApi extends IGasRouterAdapter = IGasRouterAdapter> extends MultiProtocolRouterApp<ContractAddrs, IAdapterApi> {
23
- readonly protocolToAdapter: {
24
- ethereum: typeof EvmGasRouterAdapter;
25
- sealevel: typeof SealevelGasRouterAdapter;
26
- };
18
+ protocolToAdapter(protocol: ProtocolType): AdapterClassType<IAdapterApi>;
27
19
  quoteGasPayment(origin: ChainName, destination: ChainName): Promise<string>;
28
20
  }
29
21
  //# sourceMappingURL=MultiProtocolRouterApps.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MultiProtocolRouterApps.d.ts","sourceRoot":"","sources":["../../src/router/MultiProtocolRouterApps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAgB,MAAM,sBAAsB,CAAC;AAErE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAE/C,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EACjB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,wBAAwB,EACxB,qBAAqB,EACtB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAExC,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAE7C,qBAAa,sBAAsB,CACjC,aAAa,SAAS,aAAa,GAAG,aAAa,EACnD,WAAW,SAAS,cAAc,GAAG,cAAc,CACnD,SAAQ,gBAAgB,CAAC,aAAa,EAAE,WAAW,CAAC;IACpD,SAAyB,iBAAiB;;;MAGxC;IAEF,MAAM,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO;IAIjC,yBAAyB,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAMvD,MAAM,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAIpC,aAAa,CACX,MAAM,EAAE,SAAS,GAChB,OAAO,CAAC,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;CAGxD;AAED,qBAAa,yBAAyB,CACpC,aAAa,SAAS,aAAa,GAAG,aAAa,EACnD,WAAW,SAAS,iBAAiB,GAAG,iBAAiB,CACzD,SAAQ,sBAAsB,CAAC,aAAa,EAAE,WAAW,CAAC;IAC1D,SAAyB,iBAAiB;;;MAGxC;IAEI,eAAe,CACnB,MAAM,EAAE,SAAS,EACjB,WAAW,EAAE,SAAS,GACrB,OAAO,CAAC,MAAM,CAAC;CAGnB"}
1
+ {"version":3,"file":"MultiProtocolRouterApps.d.ts","sourceRoot":"","sources":["../../src/router/MultiProtocolRouterApps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAErE,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC7E,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAU/C,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAExC,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAE7C,qBAAa,sBAAsB,CACjC,aAAa,SAAS,aAAa,GAAG,aAAa,EACnD,WAAW,SAAS,cAAc,GAAG,cAAc,CACnD,SAAQ,gBAAgB,CAAC,aAAa,EAAE,WAAW,CAAC;IAC3C,iBAAiB,CACxB,QAAQ,EAAE,YAAY,GACrB,gBAAgB,CAAC,WAAW,CAAC;IAQhC,MAAM,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO;IAIjC,yBAAyB,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAIvD,MAAM,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAIpC,aAAa,CACX,MAAM,EAAE,SAAS,GAChB,OAAO,CAAC,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;CAGxD;AAED,qBAAa,yBAAyB,CACpC,aAAa,SAAS,aAAa,GAAG,aAAa,EACnD,WAAW,SAAS,iBAAiB,GAAG,iBAAiB,CACzD,SAAQ,sBAAsB,CAAC,aAAa,EAAE,WAAW,CAAC;IACjD,iBAAiB,CACxB,QAAQ,EAAE,YAAY,GACrB,gBAAgB,CAAC,WAAW,CAAC;IAS1B,eAAe,CACnB,MAAM,EAAE,SAAS,EACjB,WAAW,EAAE,SAAS,GACrB,OAAO,CAAC,MAAM,CAAC;CAGnB"}
@@ -6,37 +6,41 @@ const MultiProtocolApp_1 = require("../app/MultiProtocolApp");
6
6
  const EvmRouterAdapter_1 = require("./adapters/EvmRouterAdapter");
7
7
  const SealevelRouterAdapter_1 = require("./adapters/SealevelRouterAdapter");
8
8
  class MultiProtocolRouterApp extends MultiProtocolApp_1.MultiProtocolApp {
9
- constructor() {
10
- super(...arguments);
11
- this.protocolToAdapter = {
12
- [utils_1.ProtocolType.Ethereum]: EvmRouterAdapter_1.EvmRouterAdapter,
13
- [utils_1.ProtocolType.Sealevel]: SealevelRouterAdapter_1.SealevelRouterAdapter,
14
- };
9
+ protocolToAdapter(protocol) {
10
+ // Casts are required here to allow for default adapters while still
11
+ // enabling extensible generic types
12
+ if (protocol === utils_1.ProtocolType.Ethereum)
13
+ return EvmRouterAdapter_1.EvmRouterAdapter;
14
+ if (protocol === utils_1.ProtocolType.Sealevel)
15
+ return SealevelRouterAdapter_1.SealevelRouterAdapter;
16
+ throw new Error(`No adapter for protocol ${protocol}`);
15
17
  }
16
18
  router(chain) {
17
19
  return this.metadata(chain).router;
18
20
  }
19
21
  interchainSecurityModules() {
20
- return this.adapterMap((chain, adapter) => adapter.interchainSecurityModule(chain));
22
+ return this.adapterMap((_, adapter) => adapter.interchainSecurityModule());
21
23
  }
22
24
  owners() {
23
- return this.adapterMap((chain, adapter) => adapter.owner(chain));
25
+ return this.adapterMap((_, adapter) => adapter.owner());
24
26
  }
25
27
  remoteRouters(origin) {
26
- return this.adapter(origin).remoteRouters(origin);
28
+ return this.adapter(origin).remoteRouters();
27
29
  }
28
30
  }
29
31
  exports.MultiProtocolRouterApp = MultiProtocolRouterApp;
30
32
  class MultiProtocolGasRouterApp extends MultiProtocolRouterApp {
31
- constructor() {
32
- super(...arguments);
33
- this.protocolToAdapter = {
34
- [utils_1.ProtocolType.Ethereum]: EvmRouterAdapter_1.EvmGasRouterAdapter,
35
- [utils_1.ProtocolType.Sealevel]: SealevelRouterAdapter_1.SealevelGasRouterAdapter,
36
- };
33
+ protocolToAdapter(protocol) {
34
+ // Casts are required here to allow for default adapters while still
35
+ // enabling extensible generic types
36
+ if (protocol === utils_1.ProtocolType.Ethereum)
37
+ return EvmRouterAdapter_1.EvmGasRouterAdapter;
38
+ if (protocol === utils_1.ProtocolType.Sealevel)
39
+ return SealevelRouterAdapter_1.SealevelGasRouterAdapter;
40
+ throw new Error(`No adapter for protocol ${protocol}`);
37
41
  }
38
42
  async quoteGasPayment(origin, destination) {
39
- return this.adapter(origin).quoteGasPayment(origin, destination);
43
+ return this.adapter(origin).quoteGasPayment(destination);
40
44
  }
41
45
  }
42
46
  exports.MultiProtocolGasRouterApp = MultiProtocolGasRouterApp;
@@ -1 +1 @@
1
- {"version":3,"file":"MultiProtocolRouterApps.js","sourceRoot":"","sources":["../../src/router/MultiProtocolRouterApps.ts"],"names":[],"mappings":";;;AAAA,gDAAqE;AAErE,8DAA2D;AAG3D,kEAGqC;AACrC,4EAG0C;AAM1C,MAAa,sBAGX,SAAQ,mCAA4C;IAHtD;;QAI2B,sBAAiB,GAAG;YAC3C,CAAC,oBAAY,CAAC,QAAQ,CAAC,EAAE,mCAAgB;YACzC,CAAC,oBAAY,CAAC,QAAQ,CAAC,EAAE,6CAAqB;SAC/C,CAAC;IAqBJ,CAAC;IAnBC,MAAM,CAAC,KAAgB;QACrB,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC;IACrC,CAAC;IAED,yBAAyB;QACvB,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CACxC,OAAO,CAAC,wBAAwB,CAAC,KAAK,CAAC,CACxC,CAAC;IACJ,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IACnE,CAAC;IAED,aAAa,CACX,MAAiB;QAEjB,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IACpD,CAAC;CACF;AA5BD,wDA4BC;AAED,MAAa,yBAGX,SAAQ,sBAAkD;IAH5D;;QAI2B,sBAAiB,GAAG;YAC3C,CAAC,oBAAY,CAAC,QAAQ,CAAC,EAAE,sCAAmB;YAC5C,CAAC,oBAAY,CAAC,QAAQ,CAAC,EAAE,gDAAwB;SAClD,CAAC;IAQJ,CAAC;IANC,KAAK,CAAC,eAAe,CACnB,MAAiB,EACjB,WAAsB;QAEtB,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACnE,CAAC;CACF;AAfD,8DAeC"}
1
+ {"version":3,"file":"MultiProtocolRouterApps.js","sourceRoot":"","sources":["../../src/router/MultiProtocolRouterApps.ts"],"names":[],"mappings":";;;AAAA,gDAAqE;AAErE,8DAA6E;AAG7E,kEAGqC;AACrC,4EAG0C;AAM1C,MAAa,sBAGX,SAAQ,mCAA4C;IAC3C,iBAAiB,CACxB,QAAsB;QAEtB,oEAAoE;QACpE,oCAAoC;QACpC,IAAI,QAAQ,KAAK,oBAAY,CAAC,QAAQ;YAAE,OAAO,mCAAuB,CAAC;QACvE,IAAI,QAAQ,KAAK,oBAAY,CAAC,QAAQ;YAAE,OAAO,6CAA4B,CAAC;QAC5E,MAAM,IAAI,KAAK,CAAC,2BAA2B,QAAQ,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,MAAM,CAAC,KAAgB;QACrB,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC;IACrC,CAAC;IAED,yBAAyB;QACvB,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,wBAAwB,EAAE,CAAC,CAAC;IAC7E,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,aAAa,CACX,MAAiB;QAEjB,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,aAAa,EAAE,CAAC;IAC9C,CAAC;CACF;AA/BD,wDA+BC;AAED,MAAa,yBAGX,SAAQ,sBAAkD;IACjD,iBAAiB,CACxB,QAAsB;QAEtB,oEAAoE;QACpE,oCAAoC;QACpC,IAAI,QAAQ,KAAK,oBAAY,CAAC,QAAQ;YAAE,OAAO,sCAA0B,CAAC;QAC1E,IAAI,QAAQ,KAAK,oBAAY,CAAC,QAAQ;YACpC,OAAO,gDAA+B,CAAC;QACzC,MAAM,IAAI,KAAK,CAAC,2BAA2B,QAAQ,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,MAAiB,EACjB,WAAsB;QAEtB,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;IAC3D,CAAC;CACF;AArBD,8DAqBC"}
@@ -1 +1 @@
1
- {"version":3,"file":"MultiProtocolRouterApps.test.js","sourceRoot":"","sources":["../../src/router/MultiProtocolRouterApps.test.ts"],"names":[],"mappings":";;AAAA,+BAA8B;AAI9B,6CAA0C;AAC1C,8EAA2E;AAE3E,uEAAmE;AACnE,kEAA+D;AAE/D,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;IACtC,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;QAC1B,MAAM,aAAa,GAAG,IAAI,6CAAqB,EAAuB,CAAC;QACvE,EAAE,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;YACpC,MAAM,GAAG,GAAG,IAAI,gDAAsB,CAAC,aAAa,CAAC,CAAC;YACtD,IAAA,aAAM,EAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,gDAAsB,CAAC,CAAC;YACrD,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,eAAM,CAAC,QAAQ,CAAC,CAAC;YAChD,IAAA,aAAM,EAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,mCAAgB,CAAC,CAAC;YACtD,IAAA,aAAM,EAAC,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;QAC/C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"MultiProtocolRouterApps.test.js","sourceRoot":"","sources":["../../src/router/MultiProtocolRouterApps.test.ts"],"names":[],"mappings":";;AAAA,+BAA8B;AAE9B,6CAA0C;AAC1C,8EAA2E;AAE3E,uEAAmE;AACnE,kEAA+D;AAG/D,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;IACtC,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;QAC1B,MAAM,aAAa,GAAG,IAAI,6CAAqB,EAAiB,CAAC;QACjE,EAAE,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;YACpC,MAAM,GAAG,GAAG,IAAI,gDAAsB,CAAC,aAAa,CAAC,CAAC;YACtD,IAAA,aAAM,EAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,gDAAsB,CAAC,CAAC;YACrD,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,eAAM,CAAC,QAAQ,CAAC,CAAC;YAChD,IAAA,aAAM,EAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,mCAAgB,CAAC,CAAC;YACtD,IAAA,aAAM,EAAC,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;QAC/C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -3,23 +3,28 @@ import { Address, Domain } from '@hyperlane-xyz/utils';
3
3
  import { BaseEvmAdapter } from '../../app/MultiProtocolApp';
4
4
  import { MultiProtocolProvider } from '../../providers/MultiProtocolProvider';
5
5
  import { ChainName } from '../../types';
6
- import { RouterAddress } from '../types';
7
6
  import { IGasRouterAdapter, IRouterAdapter } from './types';
8
- export declare class EvmRouterAdapter<ContractAddrs extends RouterAddress = RouterAddress> extends BaseEvmAdapter<ContractAddrs> implements IRouterAdapter<ContractAddrs> {
9
- readonly multiProvider: MultiProtocolProvider<ContractAddrs>;
10
- constructor(multiProvider: MultiProtocolProvider<ContractAddrs>);
11
- interchainSecurityModule(chain: ChainName): Promise<Address>;
12
- owner(chain: ChainName): Promise<Address>;
13
- remoteDomains(originChain: ChainName): Promise<Domain[]>;
14
- remoteRouter(originChain: ChainName, remoteDomain: Domain): Promise<Address>;
15
- remoteRouters(originChain: ChainName): Promise<Array<{
7
+ export declare class EvmRouterAdapter extends BaseEvmAdapter implements IRouterAdapter {
8
+ readonly chainName: ChainName;
9
+ readonly multiProvider: MultiProtocolProvider<any>;
10
+ readonly addresses: {
11
+ router: Address;
12
+ };
13
+ constructor(chainName: ChainName, multiProvider: MultiProtocolProvider<any>, addresses: {
14
+ router: Address;
15
+ });
16
+ interchainSecurityModule(): Promise<Address>;
17
+ owner(): Promise<Address>;
18
+ remoteDomains(): Promise<Domain[]>;
19
+ remoteRouter(remoteDomain: Domain): Promise<Address>;
20
+ remoteRouters(): Promise<Array<{
16
21
  domain: Domain;
17
22
  address: Address;
18
23
  }>>;
19
- getConnectedContract(chain: ChainName): Router;
24
+ getConnectedContract(): Router;
20
25
  }
21
- export declare class EvmGasRouterAdapter<ContractAddrs extends RouterAddress = RouterAddress> extends EvmRouterAdapter<ContractAddrs> implements IGasRouterAdapter<ContractAddrs> {
22
- quoteGasPayment(origin: ChainName, destination: ChainName): Promise<string>;
23
- getConnectedContract(chain: ChainName): GasRouter;
26
+ export declare class EvmGasRouterAdapter extends EvmRouterAdapter implements IGasRouterAdapter {
27
+ quoteGasPayment(destination: ChainName): Promise<string>;
28
+ getConnectedContract(): GasRouter;
24
29
  }
25
30
  //# sourceMappingURL=EvmRouterAdapter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"EvmRouterAdapter.d.ts","sourceRoot":"","sources":["../../../src/router/adapters/EvmRouterAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EAET,MAAM,EAEP,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,OAAO,EAAE,MAAM,EAAoB,MAAM,sBAAsB,CAAC;AAEzE,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAC9E,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE5D,qBAAa,gBAAgB,CACzB,aAAa,SAAS,aAAa,GAAG,aAAa,CAErD,SAAQ,cAAc,CAAC,aAAa,CACpC,YAAW,cAAc,CAAC,aAAa,CAAC;aAGtB,aAAa,EAAE,qBAAqB,CAAC,aAAa,CAAC;gBAAnD,aAAa,EAAE,qBAAqB,CAAC,aAAa,CAAC;IAKrE,wBAAwB,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC;IAI5D,KAAK,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC;IAIzC,aAAa,CAAC,WAAW,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAIlD,YAAY,CAChB,WAAW,EAAE,SAAS,EACtB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,OAAO,CAAC;IAOb,aAAa,CACjB,WAAW,EAAE,SAAS,GACrB,OAAO,CAAC,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAQvD,oBAAoB,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM;CAK/C;AAED,qBAAa,mBAAmB,CAC5B,aAAa,SAAS,aAAa,GAAG,aAAa,CAErD,SAAQ,gBAAgB,CAAC,aAAa,CACtC,YAAW,iBAAiB,CAAC,aAAa,CAAC;IAErC,eAAe,CACnB,MAAM,EAAE,SAAS,EACjB,WAAW,EAAE,SAAS,GACrB,OAAO,CAAC,MAAM,CAAC;IAQT,oBAAoB,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS;CAK3D"}
1
+ {"version":3,"file":"EvmRouterAdapter.d.ts","sourceRoot":"","sources":["../../../src/router/adapters/EvmRouterAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EAET,MAAM,EAEP,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,OAAO,EAAE,MAAM,EAAoB,MAAM,sBAAsB,CAAC;AAEzE,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAC9E,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE5D,qBAAa,gBAAiB,SAAQ,cAAe,YAAW,cAAc;aAE1D,SAAS,EAAE,SAAS;aACpB,aAAa,EAAE,qBAAqB,CAAC,GAAG,CAAC;aACzC,SAAS,EAAE;QAAE,MAAM,EAAE,OAAO,CAAA;KAAE;gBAF9B,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,qBAAqB,CAAC,GAAG,CAAC,EACzC,SAAS,EAAE;QAAE,MAAM,EAAE,OAAO,CAAA;KAAE;IAKhD,wBAAwB,IAAI,OAAO,CAAC,OAAO,CAAC;IAI5C,KAAK,IAAI,OAAO,CAAC,OAAO,CAAC;IAIzB,aAAa,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAI5B,YAAY,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAOpD,aAAa,IAAI,OAAO,CAAC,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAQ3E,oBAAoB,IAAI,MAAM;CAG/B;AAED,qBAAa,mBACX,SAAQ,gBACR,YAAW,iBAAiB;IAEtB,eAAe,CAAC,WAAW,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC;IAQrD,oBAAoB,IAAI,SAAS;CAM3C"}
@@ -5,45 +5,43 @@ const core_1 = require("@hyperlane-xyz/core");
5
5
  const utils_1 = require("@hyperlane-xyz/utils");
6
6
  const MultiProtocolApp_1 = require("../../app/MultiProtocolApp");
7
7
  class EvmRouterAdapter extends MultiProtocolApp_1.BaseEvmAdapter {
8
- constructor(multiProvider) {
9
- super(multiProvider);
8
+ constructor(chainName, multiProvider, addresses) {
9
+ super(chainName, multiProvider);
10
+ this.chainName = chainName;
10
11
  this.multiProvider = multiProvider;
12
+ this.addresses = addresses;
11
13
  }
12
- interchainSecurityModule(chain) {
13
- return this.getConnectedContract(chain).interchainSecurityModule();
14
+ interchainSecurityModule() {
15
+ return this.getConnectedContract().interchainSecurityModule();
14
16
  }
15
- owner(chain) {
16
- return this.getConnectedContract(chain).owner();
17
+ owner() {
18
+ return this.getConnectedContract().owner();
17
19
  }
18
- remoteDomains(originChain) {
19
- return this.getConnectedContract(originChain).domains();
20
+ remoteDomains() {
21
+ return this.getConnectedContract().domains();
20
22
  }
21
- async remoteRouter(originChain, remoteDomain) {
22
- const routerAddressesAsBytes32 = await this.getConnectedContract(originChain).routers(remoteDomain);
23
+ async remoteRouter(remoteDomain) {
24
+ const routerAddressesAsBytes32 = await this.getConnectedContract().routers(remoteDomain);
23
25
  return (0, utils_1.bytes32ToAddress)(routerAddressesAsBytes32);
24
26
  }
25
- async remoteRouters(originChain) {
26
- const domains = await this.remoteDomains(originChain);
27
- const routers = await Promise.all(domains.map((d) => this.remoteRouter(originChain, d)));
27
+ async remoteRouters() {
28
+ const domains = await this.remoteDomains();
29
+ const routers = await Promise.all(domains.map((d) => this.remoteRouter(d)));
28
30
  return domains.map((d, i) => ({ domain: d, address: routers[i] }));
29
31
  }
30
- getConnectedContract(chain) {
31
- const address = this.multiProvider.getChainMetadata(chain).router;
32
- const provider = this.multiProvider.getEthersV5Provider(chain);
33
- return core_1.Router__factory.connect(address, provider);
32
+ getConnectedContract() {
33
+ return core_1.Router__factory.connect(this.addresses.router, this.getProvider());
34
34
  }
35
35
  }
36
36
  exports.EvmRouterAdapter = EvmRouterAdapter;
37
37
  class EvmGasRouterAdapter extends EvmRouterAdapter {
38
- async quoteGasPayment(origin, destination) {
38
+ async quoteGasPayment(destination) {
39
39
  const destDomain = this.multiProvider.getDomainId(destination);
40
- const amount = await this.getConnectedContract(origin).quoteGasPayment(destDomain);
40
+ const amount = await this.getConnectedContract().quoteGasPayment(destDomain);
41
41
  return amount.toString();
42
42
  }
43
- getConnectedContract(chain) {
44
- const address = this.multiProvider.getChainMetadata(chain).router;
45
- const provider = this.multiProvider.getEthersV5Provider(chain);
46
- return core_1.GasRouter__factory.connect(address, provider);
43
+ getConnectedContract() {
44
+ return core_1.GasRouter__factory.connect(this.addresses.router, this.getProvider());
47
45
  }
48
46
  }
49
47
  exports.EvmGasRouterAdapter = EvmGasRouterAdapter;
@@ -1 +1 @@
1
- {"version":3,"file":"EvmRouterAdapter.js","sourceRoot":"","sources":["../../../src/router/adapters/EvmRouterAdapter.ts"],"names":[],"mappings":";;;AAAA,8CAK6B;AAC7B,gDAAyE;AAEzE,iEAA4D;AAO5D,MAAa,gBAGX,SAAQ,iCAA6B;IAGrC,YACkB,aAAmD;QAEnE,KAAK,CAAC,aAAa,CAAC,CAAC;QAFL,kBAAa,GAAb,aAAa,CAAsC;IAGrE,CAAC;IAED,wBAAwB,CAAC,KAAgB;QACvC,OAAO,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,wBAAwB,EAAE,CAAC;IACrE,CAAC;IAED,KAAK,CAAC,KAAgB;QACpB,OAAO,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC;IAClD,CAAC;IAED,aAAa,CAAC,WAAsB;QAClC,OAAO,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE,CAAC;IAC1D,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,WAAsB,EACtB,YAAoB;QAEpB,MAAM,wBAAwB,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAC9D,WAAW,CACZ,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QACxB,OAAO,IAAA,wBAAgB,EAAC,wBAAwB,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,aAAa,CACjB,WAAsB;QAEtB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;QACtD,MAAM,OAAO,GAAc,MAAM,OAAO,CAAC,GAAG,CAC1C,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CACtD,CAAC;QACF,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACrE,CAAC;IAED,oBAAoB,CAAC,KAAgB;QACnC,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC;QAClE,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAC/D,OAAO,sBAAe,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IACpD,CAAC;CACF;AAjDD,4CAiDC;AAED,MAAa,mBAGX,SAAQ,gBAA+B;IAGvC,KAAK,CAAC,eAAe,CACnB,MAAiB,EACjB,WAAsB;QAEtB,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QAC/D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,eAAe,CACpE,UAAU,CACX,CAAC;QACF,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC;IAC3B,CAAC;IAEQ,oBAAoB,CAAC,KAAgB;QAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC;QAClE,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAC/D,OAAO,yBAAkB,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IACvD,CAAC;CACF;AAtBD,kDAsBC"}
1
+ {"version":3,"file":"EvmRouterAdapter.js","sourceRoot":"","sources":["../../../src/router/adapters/EvmRouterAdapter.ts"],"names":[],"mappings":";;;AAAA,8CAK6B;AAC7B,gDAAyE;AAEzE,iEAA4D;AAM5D,MAAa,gBAAiB,SAAQ,iCAAc;IAClD,YACkB,SAAoB,EACpB,aAAyC,EACzC,SAA8B;QAE9C,KAAK,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QAJhB,cAAS,GAAT,SAAS,CAAW;QACpB,kBAAa,GAAb,aAAa,CAA4B;QACzC,cAAS,GAAT,SAAS,CAAqB;IAGhD,CAAC;IAED,wBAAwB;QACtB,OAAO,IAAI,CAAC,oBAAoB,EAAE,CAAC,wBAAwB,EAAE,CAAC;IAChE,CAAC;IAED,KAAK;QACH,OAAO,IAAI,CAAC,oBAAoB,EAAE,CAAC,KAAK,EAAE,CAAC;IAC7C,CAAC;IAED,aAAa;QACX,OAAO,IAAI,CAAC,oBAAoB,EAAE,CAAC,OAAO,EAAE,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,YAAoB;QACrC,MAAM,wBAAwB,GAAG,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC,OAAO,CACxE,YAAY,CACb,CAAC;QACF,OAAO,IAAA,wBAAgB,EAAC,wBAAwB,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,aAAa;QACjB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAC3C,MAAM,OAAO,GAAc,MAAM,OAAO,CAAC,GAAG,CAC1C,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CACzC,CAAC;QACF,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACrE,CAAC;IAED,oBAAoB;QAClB,OAAO,sBAAe,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IAC5E,CAAC;CACF;AAvCD,4CAuCC;AAED,MAAa,mBACX,SAAQ,gBAAgB;IAGxB,KAAK,CAAC,eAAe,CAAC,WAAsB;QAC1C,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QAC/D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC,eAAe,CAC9D,UAAU,CACX,CAAC;QACF,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC;IAC3B,CAAC;IAEQ,oBAAoB;QAC3B,OAAO,yBAAkB,CAAC,OAAO,CAC/B,IAAI,CAAC,SAAS,CAAC,MAAM,EACrB,IAAI,CAAC,WAAW,EAAE,CACnB,CAAC;IACJ,CAAC;CACF;AAlBD,kDAkBC"}
@@ -3,48 +3,33 @@ import { Address, Domain } from '@hyperlane-xyz/utils';
3
3
  import { BaseSealevelAdapter } from '../../app/MultiProtocolApp';
4
4
  import { MultiProtocolProvider } from '../../providers/MultiProtocolProvider';
5
5
  import { ChainName } from '../../types';
6
- import { RouterAddress } from '../types';
7
6
  import { IGasRouterAdapter, IRouterAdapter } from './types';
8
- export declare class SealevelAccountDataWrapper {
9
- readonly fields: any;
10
- initialized: boolean;
11
- data: SealevelTokenData;
12
- constructor(fields: any);
13
- }
14
- export declare class SealevelTokenData {
15
- readonly fields: any;
16
- bump: number;
17
- mailbox: Uint8Array;
18
- mailbox_pubkey: PublicKey;
19
- mailbox_process_authority: Uint8Array;
20
- mailbox_process_authority_pubkey: PublicKey;
21
- dispatch_authority_bump: number;
22
- decimals: number;
23
- remote_decimals: number;
24
- owner?: Uint8Array;
25
- owner_pub_key?: PublicKey;
26
- interchain_security_module?: Uint8Array;
27
- interchain_security_module_pubkey?: PublicKey;
28
- remote_routers?: Map<Domain, Uint8Array>;
29
- remote_router_pubkeys: Map<Domain, PublicKey>;
30
- constructor(fields: any);
31
- }
32
- export declare const SealevelTokenDataSchema: Map<any, any>;
33
- export declare class SealevelRouterAdapter<ContractAddrs extends RouterAddress = RouterAddress> extends BaseSealevelAdapter<ContractAddrs> implements IRouterAdapter<ContractAddrs> {
34
- readonly multiProvider: MultiProtocolProvider<ContractAddrs>;
35
- constructor(multiProvider: MultiProtocolProvider<ContractAddrs>);
36
- interchainSecurityModule(chain: ChainName): Promise<Address>;
37
- owner(chain: ChainName): Promise<Address>;
38
- remoteDomains(originChain: ChainName): Promise<Domain[]>;
39
- remoteRouter(originChain: ChainName, remoteDomain: Domain): Promise<Address>;
40
- remoteRouters(originChain: ChainName): Promise<Array<{
7
+ export declare class SealevelRouterAdapter extends BaseSealevelAdapter implements IRouterAdapter {
8
+ readonly chainName: ChainName;
9
+ readonly multiProvider: MultiProtocolProvider<any>;
10
+ readonly addresses: {
11
+ router: Address;
12
+ };
13
+ constructor(chainName: ChainName, multiProvider: MultiProtocolProvider<any>, addresses: {
14
+ router: Address;
15
+ });
16
+ interchainSecurityModule(): Promise<Address>;
17
+ owner(): Promise<Address>;
18
+ remoteDomains(): Promise<Domain[]>;
19
+ remoteRouter(remoteDomain: Domain): Promise<Address>;
20
+ remoteRouters(): Promise<Array<{
41
21
  domain: Domain;
42
22
  address: Address;
43
23
  }>>;
44
- getRouterAccountInfo(chain: ChainName): Promise<SealevelTokenData>;
45
- deriveMessageRecipientPda(routerAddress: Address): PublicKey;
24
+ getRouterAccountInfo(): Promise<{
25
+ owner_pub_key?: PublicKey;
26
+ interchain_security_module?: Uint8Array;
27
+ interchain_security_module_pubkey?: PublicKey;
28
+ remote_router_pubkeys: Map<Domain, PublicKey>;
29
+ }>;
30
+ deriveMessageRecipientPda(routerAddress: Address | PublicKey): PublicKey;
46
31
  }
47
- export declare class SealevelGasRouterAdapter<ContractAddrs extends RouterAddress = RouterAddress> extends SealevelRouterAdapter<ContractAddrs> implements IGasRouterAdapter<ContractAddrs> {
48
- quoteGasPayment(_origin: ChainName, _destination: ChainName): Promise<string>;
32
+ export declare class SealevelGasRouterAdapter extends SealevelRouterAdapter implements IGasRouterAdapter {
33
+ quoteGasPayment(_destination: ChainName): Promise<string>;
49
34
  }
50
35
  //# sourceMappingURL=SealevelRouterAdapter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SealevelRouterAdapter.d.ts","sourceRoot":"","sources":["../../../src/router/adapters/SealevelRouterAdapter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAG5C,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAEvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAC9E,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAG5D,qBAAa,0BAA0B;aAGT,MAAM,EAAE,GAAG;IAFvC,WAAW,EAAG,OAAO,CAAC;IACtB,IAAI,EAAG,iBAAiB,CAAC;gBACG,MAAM,EAAE,GAAG;CAGxC;AAGD,qBAAa,iBAAiB;aAwBA,MAAM,EAAE,GAAG;IAtBvC,IAAI,EAAG,MAAM,CAAC;IAEd,OAAO,EAAG,UAAU,CAAC;IACrB,cAAc,EAAG,SAAS,CAAC;IAE3B,yBAAyB,EAAG,UAAU,CAAC;IACvC,gCAAgC,EAAG,SAAS,CAAC;IAE7C,uBAAuB,EAAG,MAAM,CAAC;IAEjC,QAAQ,EAAG,MAAM,CAAC;IAElB,eAAe,EAAG,MAAM,CAAC;IAEzB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,aAAa,CAAC,EAAE,SAAS,CAAC;IAE1B,0BAA0B,CAAC,EAAE,UAAU,CAAC;IACxC,iCAAiC,CAAC,EAAE,SAAS,CAAC;IAE9C,cAAc,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACzC,qBAAqB,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;gBAClB,MAAM,EAAE,GAAG;CAexC;AAED,eAAO,MAAM,uBAAuB,eA4BlC,CAAC;AAEH,qBAAa,qBAAqB,CAC9B,aAAa,SAAS,aAAa,GAAG,aAAa,CAErD,SAAQ,mBAAmB,CAAC,aAAa,CACzC,YAAW,cAAc,CAAC,aAAa,CAAC;aAGtB,aAAa,EAAE,qBAAqB,CAAC,aAAa,CAAC;gBAAnD,aAAa,EAAE,qBAAqB,CAAC,aAAa,CAAC;IAK/D,wBAAwB,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC;IAO5D,KAAK,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC;IAOzC,aAAa,CAAC,WAAW,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAKxD,YAAY,CAChB,WAAW,EAAE,SAAS,EACtB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,OAAO,CAAC;IASb,aAAa,CACjB,WAAW,EAAE,SAAS,GACrB,OAAO,CAAC,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAWjD,oBAAoB,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAmBxE,yBAAyB,CAAC,aAAa,EAAE,OAAO,GAAG,SAAS;CAa7D;AAED,qBAAa,wBAAwB,CACjC,aAAa,SAAS,aAAa,GAAG,aAAa,CAErD,SAAQ,qBAAqB,CAAC,aAAa,CAC3C,YAAW,iBAAiB,CAAC,aAAa,CAAC;IAErC,eAAe,CACnB,OAAO,EAAE,SAAS,EAClB,YAAY,EAAE,SAAS,GACtB,OAAO,CAAC,MAAM,CAAC;CAGnB"}
1
+ {"version":3,"file":"SealevelRouterAdapter.d.ts","sourceRoot":"","sources":["../../../src/router/adapters/SealevelRouterAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAEvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAC9E,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE5D,qBAAa,qBACX,SAAQ,mBACR,YAAW,cAAc;aAGP,SAAS,EAAE,SAAS;aACpB,aAAa,EAAE,qBAAqB,CAAC,GAAG,CAAC;aACzC,SAAS,EAAE;QAAE,MAAM,EAAE,OAAO,CAAA;KAAE;gBAF9B,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,qBAAqB,CAAC,GAAG,CAAC,EACzC,SAAS,EAAE;QAAE,MAAM,EAAE,OAAO,CAAA;KAAE;IAK1C,wBAAwB,IAAI,OAAO,CAAC,OAAO,CAAC;IAO5C,KAAK,IAAI,OAAO,CAAC,OAAO,CAAC;IAOzB,aAAa,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAKlC,YAAY,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IASpD,aAAa,IAAI,OAAO,CAAC,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAS3E,oBAAoB,IAAI,OAAO,CAAC;QAC9B,aAAa,CAAC,EAAE,SAAS,CAAC;QAC1B,0BAA0B,CAAC,EAAE,UAAU,CAAC;QACxC,iCAAiC,CAAC,EAAE,SAAS,CAAC;QAC9C,qBAAqB,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;KAC/C,CAAC;IAKF,yBAAyB,CAAC,aAAa,EAAE,OAAO,GAAG,SAAS,GAAG,SAAS;CAMzE;AAED,qBAAa,wBACX,SAAQ,qBACR,YAAW,iBAAiB;IAEtB,eAAe,CAAC,YAAY,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC;CAGhE"}