@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
@@ -1,130 +1,56 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SealevelGasRouterAdapter = exports.SealevelRouterAdapter = exports.SealevelTokenDataSchema = exports.SealevelTokenData = exports.SealevelAccountDataWrapper = void 0;
4
- /* eslint-disable @typescript-eslint/explicit-module-boundary-types */
5
- const web3_js_1 = require("@solana/web3.js");
6
- const borsh_1 = require("borsh");
3
+ exports.SealevelGasRouterAdapter = exports.SealevelRouterAdapter = void 0;
7
4
  const MultiProtocolApp_1 = require("../../app/MultiProtocolApp");
8
- // Hyperlane Token Borsh Schema
9
- class SealevelAccountDataWrapper {
10
- constructor(fields) {
11
- this.fields = fields;
12
- Object.assign(this, fields);
13
- }
14
- }
15
- exports.SealevelAccountDataWrapper = SealevelAccountDataWrapper;
16
- // Should match https://github.com/hyperlane-xyz/hyperlane-monorepo/blob/trevor/sealevel-validator-rebase/rust/sealevel/libraries/hyperlane-sealevel-token/src/accounts.rs#L21
17
- class SealevelTokenData {
18
- constructor(fields) {
19
- this.fields = fields;
20
- Object.assign(this, fields);
21
- this.mailbox_pubkey = new web3_js_1.PublicKey(this.mailbox);
22
- this.mailbox_pubkey = new web3_js_1.PublicKey(this.mailbox_process_authority);
23
- this.owner_pub_key = this.owner ? new web3_js_1.PublicKey(this.owner) : undefined;
24
- this.interchain_security_module_pubkey = this.interchain_security_module
25
- ? new web3_js_1.PublicKey(this.interchain_security_module)
26
- : undefined;
27
- this.remote_router_pubkeys = new Map();
28
- if (this.remote_routers) {
29
- for (const [k, v] of this.remote_routers.entries()) {
30
- this.remote_router_pubkeys.set(k, new web3_js_1.PublicKey(v));
31
- }
32
- }
33
- }
34
- }
35
- exports.SealevelTokenData = SealevelTokenData;
36
- exports.SealevelTokenDataSchema = new Map([
37
- [
38
- SealevelAccountDataWrapper,
39
- {
40
- kind: 'struct',
41
- fields: [
42
- ['initialized', 'u8'],
43
- ['data', SealevelTokenData],
44
- ],
45
- },
46
- ],
47
- [
48
- SealevelTokenData,
49
- {
50
- kind: 'struct',
51
- fields: [
52
- ['bump', 'u8'],
53
- ['mailbox', [32]],
54
- ['mailbox_process_authority', [32]],
55
- ['dispatch_authority_bump', 'u8'],
56
- ['decimals', 'u8'],
57
- ['remote_decimals', 'u8'],
58
- ['owner', { kind: 'option', type: [32] }],
59
- ['interchain_security_module', { kind: 'option', type: [32] }],
60
- ['remote_routers', { kind: 'map', key: 'u32', value: [32] }],
61
- ],
62
- },
63
- ],
64
- ]);
65
5
  class SealevelRouterAdapter extends MultiProtocolApp_1.BaseSealevelAdapter {
66
- constructor(multiProvider) {
67
- super(multiProvider);
6
+ constructor(chainName, multiProvider, addresses) {
7
+ super(chainName, multiProvider);
8
+ this.chainName = chainName;
68
9
  this.multiProvider = multiProvider;
10
+ this.addresses = addresses;
69
11
  }
70
- async interchainSecurityModule(chain) {
71
- const routerAccountInfo = await this.getRouterAccountInfo(chain);
12
+ async interchainSecurityModule() {
13
+ const routerAccountInfo = await this.getRouterAccountInfo();
72
14
  if (!routerAccountInfo.interchain_security_module_pubkey)
73
- throw new Error(`No ism found for router on ${chain}`);
15
+ throw new Error(`No ism found for router on ${this.chainName}`);
74
16
  return routerAccountInfo.interchain_security_module_pubkey.toBase58();
75
17
  }
76
- async owner(chain) {
77
- const routerAccountInfo = await this.getRouterAccountInfo(chain);
18
+ async owner() {
19
+ const routerAccountInfo = await this.getRouterAccountInfo();
78
20
  if (!routerAccountInfo.owner_pub_key)
79
- throw new Error(`No owner found for router on ${chain}`);
21
+ throw new Error(`No owner found for router on ${this.chainName}`);
80
22
  return routerAccountInfo.owner_pub_key.toBase58();
81
23
  }
82
- async remoteDomains(originChain) {
83
- const routers = await this.remoteRouters(originChain);
24
+ async remoteDomains() {
25
+ const routers = await this.remoteRouters();
84
26
  return routers.map((router) => router.domain);
85
27
  }
86
- async remoteRouter(originChain, remoteDomain) {
87
- const routers = await this.remoteRouters(originChain);
28
+ async remoteRouter(remoteDomain) {
29
+ const routers = await this.remoteRouters();
88
30
  const addr = routers.find((router) => router.domain === remoteDomain)?.address;
89
31
  if (!addr)
90
32
  throw new Error(`No router found for ${remoteDomain}`);
91
33
  return addr;
92
34
  }
93
- async remoteRouters(originChain) {
94
- const routerAccountInfo = await this.getRouterAccountInfo(originChain);
35
+ async remoteRouters() {
36
+ const routerAccountInfo = await this.getRouterAccountInfo();
95
37
  const domainToPubKey = routerAccountInfo.remote_router_pubkeys;
96
38
  return Array.from(domainToPubKey.entries()).map(([domain, pubKey]) => ({
97
39
  domain,
98
40
  address: pubKey.toBase58(),
99
41
  }));
100
42
  }
101
- // TODO this incorrectly assumes all sealevel routers will have the TokenRouter's data schema
102
- // This will need to change when other types of routers are supported
103
- async getRouterAccountInfo(chain) {
104
- const address = this.multiProvider.getChainMetadata(chain).router;
105
- const connection = this.multiProvider.getSolanaWeb3Provider(chain);
106
- const msgRecipientPda = this.deriveMessageRecipientPda(address);
107
- const accountInfo = await connection.getAccountInfo(msgRecipientPda);
108
- if (!accountInfo)
109
- throw new Error(`No account info found for ${msgRecipientPda.toBase58()}}`);
110
- const accountData = (0, borsh_1.deserializeUnchecked)(exports.SealevelTokenDataSchema, SealevelAccountDataWrapper, accountInfo.data);
111
- return accountData.data;
43
+ getRouterAccountInfo() {
44
+ throw new Error('TODO getRouterAccountInfo not yet implemented');
112
45
  }
113
- // Should match https://github.com/hyperlane-xyz/hyperlane-monorepo/blob/trevor/sealevel-validator-rebase/rust/sealevel/libraries/hyperlane-sealevel-token/src/processor.rs#LL49C1-L53C30
46
+ // Should match https://github.com/hyperlane-xyz/hyperlane-monorepo/blob/main/rust/sealevel/libraries/hyperlane-sealevel-token/src/processor.rs
114
47
  deriveMessageRecipientPda(routerAddress) {
115
- const [pda] = web3_js_1.PublicKey.findProgramAddressSync([
116
- Buffer.from('hyperlane_message_recipient'),
117
- Buffer.from('-'),
118
- Buffer.from('handle'),
119
- Buffer.from('-'),
120
- Buffer.from('account_metas'),
121
- ], new web3_js_1.PublicKey(routerAddress));
122
- return pda;
48
+ return super.derivePda(['hyperlane_message_recipient', '-', 'handle', '-', 'account_metas'], routerAddress);
123
49
  }
124
50
  }
125
51
  exports.SealevelRouterAdapter = SealevelRouterAdapter;
126
52
  class SealevelGasRouterAdapter extends SealevelRouterAdapter {
127
- async quoteGasPayment(_origin, _destination) {
53
+ async quoteGasPayment(_destination) {
128
54
  throw new Error('Gas payments not yet supported for sealevel');
129
55
  }
130
56
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SealevelRouterAdapter.js","sourceRoot":"","sources":["../../../src/router/adapters/SealevelRouterAdapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SealevelRouterAdapter.js","sourceRoot":"","sources":["../../../src/router/adapters/SealevelRouterAdapter.ts"],"names":[],"mappings":";;;AAIA,iEAAiE;AAMjE,MAAa,qBACX,SAAQ,sCAAmB;IAG3B,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,KAAK,CAAC,wBAAwB;QAC5B,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5D,IAAI,CAAC,iBAAiB,CAAC,iCAAiC;YACtD,MAAM,IAAI,KAAK,CAAC,8BAA8B,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;QAClE,OAAO,iBAAiB,CAAC,iCAAiC,CAAC,QAAQ,EAAE,CAAC;IACxE,CAAC;IAED,KAAK,CAAC,KAAK;QACT,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5D,IAAI,CAAC,iBAAiB,CAAC,aAAa;YAClC,MAAM,IAAI,KAAK,CAAC,gCAAgC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;QACpE,OAAO,iBAAiB,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,aAAa;QACjB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAC3C,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,YAAoB;QACrC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAC3C,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CACvB,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,YAAY,CAC3C,EAAE,OAAO,CAAC;QACX,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,YAAY,EAAE,CAAC,CAAC;QAClE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,aAAa;QACjB,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5D,MAAM,cAAc,GAAG,iBAAiB,CAAC,qBAAqB,CAAC;QAC/D,OAAO,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;YACrE,MAAM;YACN,OAAO,EAAE,MAAM,CAAC,QAAQ,EAAE;SAC3B,CAAC,CAAC,CAAC;IACN,CAAC;IAED,oBAAoB;QAMlB,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;IACnE,CAAC;IAED,+IAA+I;IAC/I,yBAAyB,CAAC,aAAkC;QAC1D,OAAO,KAAK,CAAC,SAAS,CACpB,CAAC,6BAA6B,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,eAAe,CAAC,EACpE,aAAa,CACd,CAAC;IACJ,CAAC;CACF;AAjED,sDAiEC;AAED,MAAa,wBACX,SAAQ,qBAAqB;IAG7B,KAAK,CAAC,eAAe,CAAC,YAAuB;QAC3C,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;IACjE,CAAC;CACF;AAPD,4DAOC"}
@@ -1,18 +1,17 @@
1
1
  import { Address, Domain } from '@hyperlane-xyz/utils';
2
2
  import { BaseAppAdapter } from '../../app/MultiProtocolApp';
3
3
  import { ChainName } from '../../types';
4
- import { RouterAddress } from '../types';
5
- export interface IRouterAdapter<ContractAddrs extends RouterAddress = RouterAddress> extends BaseAppAdapter<ContractAddrs> {
6
- interchainSecurityModule(chain: ChainName): Promise<Address>;
7
- owner: (chain: ChainName) => Promise<Address>;
8
- remoteDomains(originChain: ChainName): Promise<Domain[]>;
9
- remoteRouter: (originChain: ChainName, remoteDomain: Domain) => Promise<Address>;
10
- remoteRouters: (originChain: ChainName) => Promise<Array<{
4
+ export interface IRouterAdapter extends BaseAppAdapter {
5
+ interchainSecurityModule(): Promise<Address>;
6
+ owner: () => Promise<Address>;
7
+ remoteDomains(): Promise<Domain[]>;
8
+ remoteRouter: (remoteDomain: Domain) => Promise<Address>;
9
+ remoteRouters: () => Promise<Array<{
11
10
  domain: Domain;
12
11
  address: Address;
13
12
  }>>;
14
13
  }
15
- export interface IGasRouterAdapter<ContractAddrs extends RouterAddress = RouterAddress> extends IRouterAdapter<ContractAddrs> {
16
- quoteGasPayment: (origin: ChainName, destination: ChainName) => Promise<string>;
14
+ export interface IGasRouterAdapter extends IRouterAdapter {
15
+ quoteGasPayment: (destination: ChainName) => Promise<string>;
17
16
  }
18
17
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/router/adapters/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAEvD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,WAAW,cAAc,CAC7B,aAAa,SAAS,aAAa,GAAG,aAAa,CACnD,SAAQ,cAAc,CAAC,aAAa,CAAC;IACrC,wBAAwB,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7D,KAAK,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9C,aAAa,CAAC,WAAW,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACzD,YAAY,EAAE,CACZ,WAAW,EAAE,SAAS,EACtB,YAAY,EAAE,MAAM,KACjB,OAAO,CAAC,OAAO,CAAC,CAAC;IACtB,aAAa,EAAE,CACb,WAAW,EAAE,SAAS,KACnB,OAAO,CAAC,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC,CAAC;CAC3D;AAED,MAAM,WAAW,iBAAiB,CAChC,aAAa,SAAS,aAAa,GAAG,aAAa,CACnD,SAAQ,cAAc,CAAC,aAAa,CAAC;IACrC,eAAe,EAAE,CACf,MAAM,EAAE,SAAS,EACjB,WAAW,EAAE,SAAS,KACnB,OAAO,CAAC,MAAM,CAAC,CAAC;CACtB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/router/adapters/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAEvD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,MAAM,WAAW,cAAe,SAAQ,cAAc;IACpD,wBAAwB,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7C,KAAK,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9B,aAAa,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACnC,YAAY,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACzD,aAAa,EAAE,MAAM,OAAO,CAAC,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC,CAAC;CAC3E;AAED,MAAM,WAAW,iBAAkB,SAAQ,cAAc;IACvD,eAAe,EAAE,CAAC,WAAW,EAAE,SAAS,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CAC9D"}
@@ -0,0 +1,17 @@
1
+ export declare class SealevelInstructionWrapper<Instr> {
2
+ readonly fields: any;
3
+ instruction: number;
4
+ data: Instr;
5
+ constructor(fields: any);
6
+ }
7
+ export declare class SealevelAccountDataWrapper<T> {
8
+ readonly fields: any;
9
+ initialized: boolean;
10
+ data: T;
11
+ constructor(fields: any);
12
+ }
13
+ export declare function getSealevelAccountDataSchema<T>(DataClass: T): {
14
+ kind: string;
15
+ fields: (string | T)[][];
16
+ };
17
+ //# sourceMappingURL=sealevelSerialization.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sealevelSerialization.d.ts","sourceRoot":"","sources":["../../src/utils/sealevelSerialization.ts"],"names":[],"mappings":"AAAA,qBAAa,0BAA0B,CAAC,KAAK;aAGf,MAAM,EAAE,GAAG;IAFvC,WAAW,EAAG,MAAM,CAAC;IACrB,IAAI,EAAG,KAAK,CAAC;gBACe,MAAM,EAAE,GAAG;CAGxC;AAED,qBAAa,0BAA0B,CAAC,CAAC;aAIX,MAAM,EAAE,GAAG;IAHvC,WAAW,EAAG,OAAO,CAAC;IACtB,IAAI,EAAG,CAAC,CAAC;gBAEmB,MAAM,EAAE,GAAG;CAGxC;AAED,wBAAgB,4BAA4B,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC;;;EAQ3D"}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getSealevelAccountDataSchema = exports.SealevelAccountDataWrapper = exports.SealevelInstructionWrapper = void 0;
4
+ class SealevelInstructionWrapper {
5
+ constructor(fields) {
6
+ this.fields = fields;
7
+ Object.assign(this, fields);
8
+ }
9
+ }
10
+ exports.SealevelInstructionWrapper = SealevelInstructionWrapper;
11
+ class SealevelAccountDataWrapper {
12
+ // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
13
+ constructor(fields) {
14
+ this.fields = fields;
15
+ Object.assign(this, fields);
16
+ }
17
+ }
18
+ exports.SealevelAccountDataWrapper = SealevelAccountDataWrapper;
19
+ function getSealevelAccountDataSchema(DataClass) {
20
+ return {
21
+ kind: 'struct',
22
+ fields: [
23
+ ['initialized', 'u8'],
24
+ ['data', DataClass],
25
+ ],
26
+ };
27
+ }
28
+ exports.getSealevelAccountDataSchema = getSealevelAccountDataSchema;
29
+ //# sourceMappingURL=sealevelSerialization.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sealevelSerialization.js","sourceRoot":"","sources":["../../src/utils/sealevelSerialization.ts"],"names":[],"mappings":";;;AAAA,MAAa,0BAA0B;IAGrC,YAA4B,MAAW;QAAX,WAAM,GAAN,MAAM,CAAK;QACrC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC9B,CAAC;CACF;AAND,gEAMC;AAED,MAAa,0BAA0B;IAGrC,6EAA6E;IAC7E,YAA4B,MAAW;QAAX,WAAM,GAAN,MAAM,CAAK;QACrC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC9B,CAAC;CACF;AAPD,gEAOC;AAED,SAAgB,4BAA4B,CAAI,SAAY;IAC1D,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE;YACN,CAAC,aAAa,EAAE,IAAI,CAAC;YACrB,CAAC,MAAM,EAAE,SAAS,CAAC;SACpB;KACF,CAAC;AACJ,CAAC;AARD,oEAQC"}
package/package.json CHANGED
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "name": "@hyperlane-xyz/sdk",
3
3
  "description": "The official SDK for the Hyperlane Network",
4
- "version": "1.4.3-beta2",
4
+ "version": "1.5.1-beta0",
5
5
  "dependencies": {
6
- "@hyperlane-xyz/core": "1.4.3-beta2",
7
- "@hyperlane-xyz/utils": "1.4.3-beta2",
6
+ "@hyperlane-xyz/core": "1.5.1-beta0",
7
+ "@hyperlane-xyz/utils": "1.5.1-beta0",
8
8
  "@solana/web3.js": "^1.78.0",
9
9
  "@types/coingecko-api": "^1.0.10",
10
10
  "@types/debug": "^4.1.7",
@@ -28,9 +28,9 @@
28
28
  "fs": "0.0.1-security",
29
29
  "hardhat": "^2.16.1",
30
30
  "mocha": "^9.2.2",
31
- "prettier": "^2.8.8",
31
+ "prettier": "^2.4.1",
32
32
  "sinon": "^13.0.2",
33
- "ts-node": "^10.9.1",
33
+ "ts-node": "^10.8.0",
34
34
  "typescript": "^5.1.6"
35
35
  },
36
36
  "files": [
@@ -58,5 +58,5 @@
58
58
  "test:hardhat": "hardhat test $(find ./src -name \"*.hardhat-test.ts\")"
59
59
  },
60
60
  "types": "dist/index.d.ts",
61
- "stableVersion": "1.4.2"
61
+ "stableVersion": "1.5.0"
62
62
  }
@@ -1,3 +0,0 @@
1
- import { ChainMap } from '../types';
2
- export declare const agentStartBlocks: ChainMap<number>;
3
- //# sourceMappingURL=agentStartBlocks.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"agentStartBlocks.d.ts","sourceRoot":"","sources":["../../src/consts/agentStartBlocks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAIpC,eAAO,MAAM,gBAAgB,EAAE,QAAQ,CAAC,MAAM,CAqB7C,CAAC"}
@@ -1,28 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.agentStartBlocks = void 0;
4
- // TODO this was previously in hyp-deploy, but ideally should be integrated
5
- // into the ChainMetadata type
6
- exports.agentStartBlocks = {
7
- // --------------- Mainnets ---------------------
8
- celo: 16884144,
9
- ethereum: 16271503,
10
- avalanche: 24145479,
11
- polygon: 37313389,
12
- bsc: 25063295,
13
- arbitrum: 49073182,
14
- optimism: 55698988,
15
- moonbeam: 2595747,
16
- gnosis: 25900000,
17
- // --------------- Testnets ---------------------
18
- alfajores: 14863532,
19
- fuji: 16330615,
20
- mumbai: 29390033,
21
- bsctestnet: 25001629,
22
- goerli: 8039005,
23
- sepolia: 3082913,
24
- moonbasealpha: 3310405,
25
- optimismgoerli: 3055263,
26
- arbitrumgoerli: 1941997,
27
- };
28
- //# sourceMappingURL=agentStartBlocks.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"agentStartBlocks.js","sourceRoot":"","sources":["../../src/consts/agentStartBlocks.ts"],"names":[],"mappings":";;;AAEA,2EAA2E;AAC3E,8BAA8B;AACjB,QAAA,gBAAgB,GAAqB;IAChD,iDAAiD;IACjD,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,QAAQ;IAClB,SAAS,EAAE,QAAQ;IACnB,OAAO,EAAE,QAAQ;IACjB,GAAG,EAAE,QAAQ;IACb,QAAQ,EAAE,QAAQ;IAClB,QAAQ,EAAE,QAAQ;IAClB,QAAQ,EAAE,OAAO;IACjB,MAAM,EAAE,QAAQ;IAChB,iDAAiD;IACjD,SAAS,EAAE,QAAQ;IACnB,IAAI,EAAE,QAAQ;IACd,MAAM,EAAE,QAAQ;IAChB,UAAU,EAAE,QAAQ;IACpB,MAAM,EAAE,OAAO;IACf,OAAO,EAAE,OAAO;IAChB,aAAa,EAAE,OAAO;IACtB,cAAc,EAAE,OAAO;IACvB,cAAc,EAAE,OAAO;CACxB,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=SealevelRouterAdapter.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SealevelRouterAdapter.test.d.ts","sourceRoot":"","sources":["../../../src/router/adapters/SealevelRouterAdapter.test.ts"],"names":[],"mappings":""}
@@ -1,21 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const borsh_1 = require("borsh");
4
- const chai_1 = require("chai");
5
- const SealevelRouterAdapter_1 = require("./SealevelRouterAdapter");
6
- // Copied from the warp token router program on Solana devnet
7
- const RAW_ACCOUNT_INFO = '01fe3a280e8466d26bc4e1a5d3d17e73f7b307c082156dd0ffbf8c5f9ae75506d6f1e9fd9f0b53dbdafc27f42dc88acef25b6cea358c214ced8144165b842148eddbfe0606014d8d3746cf8844ccba8c2f0662b0f1be404229c75c88c93985bd07881eea18f5000200000069a80000000000000000000000000000a97f4eacbc363f82d25a540440afc6f78920299b742d627aa7b75e9d68d3a8f9a84720e039cbb1f9ef1c515f2b3aa99619ecb6f07792bde406ddf6e1d765a193d9cbe146ceeb79ac1cb485ed5f5b37913a8cf5857eff00a9e92839550965ffd4d64acaaf46d45df7318e5b4f57c90c487d60625d829b837b36b9e506fe298843d50359492a8b4ce739c8fa85da27ac0bb53a1ad5fa66fcc9fffd00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000';
8
- const OWNER_PUB_KEY = '6DjHX6Ezjpq3zZMZ8KsqyoFYo1zPSDoiZmLLkxD4xKXS';
9
- describe('SealevelRouterAdapter', () => {
10
- describe('account info', () => {
11
- it('correctly deserializes router account info', () => {
12
- const rawData = Buffer.from(RAW_ACCOUNT_INFO, 'hex');
13
- const accountData = (0, borsh_1.deserializeUnchecked)(SealevelRouterAdapter_1.SealevelTokenDataSchema, SealevelRouterAdapter_1.SealevelAccountDataWrapper, rawData);
14
- (0, chai_1.expect)(accountData.initialized).to.eql(1);
15
- (0, chai_1.expect)(accountData.data.decimals).to.eql(6);
16
- (0, chai_1.expect)(accountData.data.owner_pub_key?.toBase58()).to.eql(OWNER_PUB_KEY);
17
- (0, chai_1.expect)(accountData.data.remote_router_pubkeys.size).to.eql(2);
18
- });
19
- });
20
- });
21
- //# sourceMappingURL=SealevelRouterAdapter.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SealevelRouterAdapter.test.js","sourceRoot":"","sources":["../../../src/router/adapters/SealevelRouterAdapter.test.ts"],"names":[],"mappings":";;AAAA,iCAA6C;AAC7C,+BAA8B;AAE9B,mEAGiC;AAEjC,6DAA6D;AAC7D,MAAM,gBAAgB,GACpB,kgIAAkgI,CAAC;AAErgI,MAAM,aAAa,GAAG,8CAA8C,CAAC;AAErE,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACrC,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;QAC5B,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;YACpD,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;YACrD,MAAM,WAAW,GAAG,IAAA,4BAAoB,EACtC,+CAAuB,EACvB,kDAA0B,EAC1B,OAAO,CACR,CAAC;YACF,IAAA,aAAM,EAAC,WAAW,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC1C,IAAA,aAAM,EAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC5C,IAAA,aAAM,EAAC,WAAW,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;YACzE,IAAA,aAAM,EAAC,WAAW,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAChE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}