@hyperlane-xyz/sdk 1.5.3 → 1.5.5-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 (225) hide show
  1. package/dist/consts/chainMetadata.d.ts +5 -0
  2. package/dist/consts/chainMetadata.d.ts.map +1 -1
  3. package/dist/consts/chainMetadata.js +133 -5
  4. package/dist/consts/chainMetadata.js.map +1 -1
  5. package/dist/consts/chains.d.ts +11 -6
  6. package/dist/consts/chains.d.ts.map +1 -1
  7. package/dist/consts/chains.js +15 -7
  8. package/dist/consts/chains.js.map +1 -1
  9. package/dist/consts/environments/index.d.ts +387 -61
  10. package/dist/consts/environments/index.d.ts.map +1 -1
  11. package/dist/consts/environments/index.js +7 -3
  12. package/dist/consts/environments/index.js.map +1 -1
  13. package/dist/consts/environments/mainnet.json +0 -17
  14. package/dist/consts/environments/testnet-sealevel.json +19 -0
  15. package/dist/consts/environments/testnet.json +181 -167
  16. package/dist/consts/multisigIsm.d.ts +2 -2
  17. package/dist/consts/multisigIsm.d.ts.map +1 -1
  18. package/dist/consts/multisigIsm.js +61 -58
  19. package/dist/consts/multisigIsm.js.map +1 -1
  20. package/dist/contracts/contracts.d.ts +2 -7
  21. package/dist/contracts/contracts.d.ts.map +1 -1
  22. package/dist/contracts/contracts.js +7 -31
  23. package/dist/contracts/contracts.js.map +1 -1
  24. package/dist/core/CoreDeployer.hardhat-test.js +4 -4
  25. package/dist/core/CoreDeployer.hardhat-test.js.map +1 -1
  26. package/dist/core/HyperlaneCore.d.ts +5 -1
  27. package/dist/core/HyperlaneCore.d.ts.map +1 -1
  28. package/dist/core/HyperlaneCore.js +13 -0
  29. package/dist/core/HyperlaneCore.js.map +1 -1
  30. package/dist/core/HyperlaneCoreChecker.d.ts.map +1 -1
  31. package/dist/core/HyperlaneCoreChecker.js +3 -3
  32. package/dist/core/HyperlaneCoreChecker.js.map +1 -1
  33. package/dist/core/HyperlaneCoreDeployer.d.ts +7 -2
  34. package/dist/core/HyperlaneCoreDeployer.d.ts.map +1 -1
  35. package/dist/core/HyperlaneCoreDeployer.js +47 -27
  36. package/dist/core/HyperlaneCoreDeployer.js.map +1 -1
  37. package/dist/core/MultiProtocolCore.d.ts.map +1 -1
  38. package/dist/core/MultiProtocolCore.js +1 -0
  39. package/dist/core/MultiProtocolCore.js.map +1 -1
  40. package/dist/core/TestCoreApp.d.ts +0 -1
  41. package/dist/core/TestCoreApp.d.ts.map +1 -1
  42. package/dist/core/contracts.d.ts +3 -9
  43. package/dist/core/contracts.d.ts.map +1 -1
  44. package/dist/core/contracts.js +0 -1
  45. package/dist/core/contracts.js.map +1 -1
  46. package/dist/core/testHyperlaneDeploy.hardhat-test.js +3 -2
  47. package/dist/core/testHyperlaneDeploy.hardhat-test.js.map +1 -1
  48. package/dist/core/types.d.ts +4 -1
  49. package/dist/core/types.d.ts.map +1 -1
  50. package/dist/core/types.js.map +1 -1
  51. package/dist/deploy/HyperlaneAppChecker.d.ts +0 -1
  52. package/dist/deploy/HyperlaneAppChecker.d.ts.map +1 -1
  53. package/dist/deploy/HyperlaneAppChecker.js +5 -30
  54. package/dist/deploy/HyperlaneAppChecker.js.map +1 -1
  55. package/dist/deploy/HyperlaneDeployer.d.ts +7 -5
  56. package/dist/deploy/HyperlaneDeployer.d.ts.map +1 -1
  57. package/dist/deploy/HyperlaneDeployer.js +28 -25
  58. package/dist/deploy/HyperlaneDeployer.js.map +1 -1
  59. package/dist/deploy/HyperlaneProxyFactoryDeployer.d.ts +10 -0
  60. package/dist/deploy/HyperlaneProxyFactoryDeployer.d.ts.map +1 -0
  61. package/dist/deploy/HyperlaneProxyFactoryDeployer.js +30 -0
  62. package/dist/deploy/HyperlaneProxyFactoryDeployer.js.map +1 -0
  63. package/dist/deploy/contracts.d.ts +13 -0
  64. package/dist/deploy/contracts.d.ts.map +1 -0
  65. package/dist/deploy/contracts.js +20 -0
  66. package/dist/deploy/contracts.js.map +1 -0
  67. package/dist/gas/HyperlaneIgp.js +1 -1
  68. package/dist/gas/HyperlaneIgp.js.map +1 -1
  69. package/dist/gas/HyperlaneIgpChecker.d.ts +2 -2
  70. package/dist/gas/HyperlaneIgpChecker.d.ts.map +1 -1
  71. package/dist/gas/HyperlaneIgpChecker.js +10 -27
  72. package/dist/gas/HyperlaneIgpChecker.js.map +1 -1
  73. package/dist/gas/HyperlaneIgpDeployer.d.ts +4 -6
  74. package/dist/gas/HyperlaneIgpDeployer.d.ts.map +1 -1
  75. package/dist/gas/HyperlaneIgpDeployer.js +12 -43
  76. package/dist/gas/HyperlaneIgpDeployer.js.map +1 -1
  77. package/dist/gas/contracts.d.ts +2 -4
  78. package/dist/gas/contracts.d.ts.map +1 -1
  79. package/dist/gas/contracts.js +1 -3
  80. package/dist/gas/contracts.js.map +1 -1
  81. package/dist/gas/types.d.ts +2 -6
  82. package/dist/gas/types.d.ts.map +1 -1
  83. package/dist/gas/types.js.map +1 -1
  84. package/dist/hook/HyperlaneHookDeployer.d.ts +28 -10
  85. package/dist/hook/HyperlaneHookDeployer.d.ts.map +1 -1
  86. package/dist/hook/HyperlaneHookDeployer.js +51 -70
  87. package/dist/hook/HyperlaneHookDeployer.js.map +1 -1
  88. package/dist/hook/contracts.d.ts +6 -17
  89. package/dist/hook/contracts.d.ts.map +1 -1
  90. package/dist/hook/contracts.js +6 -13
  91. package/dist/hook/contracts.js.map +1 -1
  92. package/dist/hook/types.d.ts +24 -13
  93. package/dist/hook/types.d.ts.map +1 -1
  94. package/dist/hook/types.js +8 -6
  95. package/dist/hook/types.js.map +1 -1
  96. package/dist/index.d.ts +18 -12
  97. package/dist/index.d.ts.map +1 -1
  98. package/dist/index.js +37 -21
  99. package/dist/index.js.map +1 -1
  100. package/dist/ism/HyperlaneIsmFactory.d.ts +5 -4
  101. package/dist/ism/HyperlaneIsmFactory.d.ts.map +1 -1
  102. package/dist/ism/HyperlaneIsmFactory.hardhat-test.js +3 -3
  103. package/dist/ism/HyperlaneIsmFactory.hardhat-test.js.map +1 -1
  104. package/dist/ism/HyperlaneIsmFactory.js +18 -59
  105. package/dist/ism/HyperlaneIsmFactory.js.map +1 -1
  106. package/dist/ism/contracts.d.ts +4 -3
  107. package/dist/ism/contracts.d.ts.map +1 -1
  108. package/dist/ism/contracts.js +3 -2
  109. package/dist/ism/contracts.js.map +1 -1
  110. package/dist/ism/types.d.ts +6 -4
  111. package/dist/ism/types.d.ts.map +1 -1
  112. package/dist/ism/types.js.map +1 -1
  113. package/dist/metadata/ChainMetadataManager.d.ts +0 -10
  114. package/dist/metadata/ChainMetadataManager.d.ts.map +1 -1
  115. package/dist/metadata/ChainMetadataManager.js +2 -14
  116. package/dist/metadata/ChainMetadataManager.js.map +1 -1
  117. package/dist/metadata/agentConfig.d.ts +523 -1348
  118. package/dist/metadata/agentConfig.d.ts.map +1 -1
  119. package/dist/metadata/agentConfig.js +61 -94
  120. package/dist/metadata/agentConfig.js.map +1 -1
  121. package/dist/metadata/agentConfig.test.js +9 -9
  122. package/dist/metadata/agentConfig.test.js.map +1 -1
  123. package/dist/metadata/chainMetadataTypes.d.ts +1 -1
  124. package/dist/metadata/chainMetadataTypes.js +4 -4
  125. package/dist/metadata/chainMetadataTypes.js.map +1 -1
  126. package/dist/metadata/deploymentArtifacts.d.ts +5 -2
  127. package/dist/metadata/deploymentArtifacts.d.ts.map +1 -1
  128. package/dist/metadata/deploymentArtifacts.js +1 -0
  129. package/dist/metadata/deploymentArtifacts.js.map +1 -1
  130. package/dist/metadata/matchingList.d.ts +1 -1
  131. package/dist/metadata/matchingList.d.ts.map +1 -1
  132. package/dist/metadata/matchingList.js +1 -1
  133. package/dist/metadata/matchingList.js.map +1 -1
  134. package/dist/middleware/account/InterchainAccount.d.ts.map +1 -1
  135. package/dist/middleware/account/InterchainAccount.js +1 -4
  136. package/dist/middleware/account/InterchainAccount.js.map +1 -1
  137. package/dist/middleware/account/InterchainAccountDeployer.d.ts +2 -7
  138. package/dist/middleware/account/InterchainAccountDeployer.d.ts.map +1 -1
  139. package/dist/middleware/account/InterchainAccountDeployer.js +4 -9
  140. package/dist/middleware/account/InterchainAccountDeployer.js.map +1 -1
  141. package/dist/middleware/account/accounts.hardhat-test.js +3 -5
  142. package/dist/middleware/account/accounts.hardhat-test.js.map +1 -1
  143. package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.d.ts +2 -7
  144. package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.d.ts.map +1 -1
  145. package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.js +7 -11
  146. package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.js.map +1 -1
  147. package/dist/middleware/liquidity-layer/liquidity-layer.hardhat-test.js +3 -7
  148. package/dist/middleware/liquidity-layer/liquidity-layer.hardhat-test.js.map +1 -1
  149. package/dist/middleware/query/InterchainQueryDeployer.d.ts +2 -7
  150. package/dist/middleware/query/InterchainQueryDeployer.d.ts.map +1 -1
  151. package/dist/middleware/query/InterchainQueryDeployer.js +3 -4
  152. package/dist/middleware/query/InterchainQueryDeployer.js.map +1 -1
  153. package/dist/middleware/query/queries.hardhat-test.js +4 -9
  154. package/dist/middleware/query/queries.hardhat-test.js.map +1 -1
  155. package/dist/providers/MultiProvider.d.ts +6 -1
  156. package/dist/providers/MultiProvider.d.ts.map +1 -1
  157. package/dist/providers/MultiProvider.js +11 -0
  158. package/dist/providers/MultiProvider.js.map +1 -1
  159. package/dist/router/GasRouterDeployer.d.ts.map +1 -1
  160. package/dist/router/GasRouterDeployer.js +1 -1
  161. package/dist/router/GasRouterDeployer.js.map +1 -1
  162. package/dist/router/HyperlaneRouterChecker.d.ts +2 -6
  163. package/dist/router/HyperlaneRouterChecker.d.ts.map +1 -1
  164. package/dist/router/HyperlaneRouterChecker.js +12 -47
  165. package/dist/router/HyperlaneRouterChecker.js.map +1 -1
  166. package/dist/router/HyperlaneRouterDeployer.d.ts +1 -1
  167. package/dist/router/HyperlaneRouterDeployer.d.ts.map +1 -1
  168. package/dist/router/HyperlaneRouterDeployer.js +15 -18
  169. package/dist/router/HyperlaneRouterDeployer.js.map +1 -1
  170. package/dist/router/ProxiedRouterChecker.js +1 -1
  171. package/dist/router/ProxiedRouterChecker.js.map +1 -1
  172. package/dist/router/RouterApps.d.ts +1 -7
  173. package/dist/router/RouterApps.d.ts.map +1 -1
  174. package/dist/router/RouterApps.js +0 -17
  175. package/dist/router/RouterApps.js.map +1 -1
  176. package/dist/router/types.d.ts +14 -23
  177. package/dist/router/types.d.ts.map +1 -1
  178. package/dist/router/types.js +7 -11
  179. package/dist/router/types.js.map +1 -1
  180. package/dist/test/testUtils.d.ts +0 -2
  181. package/dist/test/testUtils.d.ts.map +1 -1
  182. package/dist/test/testUtils.js +15 -20
  183. package/dist/test/testUtils.js.map +1 -1
  184. package/dist/token/adapters/EvmTokenAdapter.d.ts +65 -0
  185. package/dist/token/adapters/EvmTokenAdapter.d.ts.map +1 -0
  186. package/dist/token/adapters/EvmTokenAdapter.js +119 -0
  187. package/dist/token/adapters/EvmTokenAdapter.js.map +1 -0
  188. package/dist/token/adapters/ITokenAdapter.d.ts +30 -0
  189. package/dist/token/adapters/ITokenAdapter.d.ts.map +1 -0
  190. package/dist/token/adapters/ITokenAdapter.js +3 -0
  191. package/dist/token/adapters/ITokenAdapter.js.map +1 -0
  192. package/dist/token/adapters/SealevelTokenAdapter.d.ts +117 -0
  193. package/dist/token/adapters/SealevelTokenAdapter.d.ts.map +1 -0
  194. package/dist/token/adapters/SealevelTokenAdapter.js +423 -0
  195. package/dist/token/adapters/SealevelTokenAdapter.js.map +1 -0
  196. package/dist/token/adapters/serialization.d.ts +50 -0
  197. package/dist/token/adapters/serialization.d.ts.map +1 -0
  198. package/dist/token/adapters/serialization.js +117 -0
  199. package/dist/token/adapters/serialization.js.map +1 -0
  200. package/dist/token/config.d.ts +45 -0
  201. package/dist/token/config.d.ts.map +1 -0
  202. package/dist/token/config.js +26 -0
  203. package/dist/token/config.js.map +1 -0
  204. package/dist/token/contracts.d.ts +9 -0
  205. package/dist/token/contracts.d.ts.map +1 -0
  206. package/dist/token/contracts.js +3 -0
  207. package/dist/token/contracts.js.map +1 -0
  208. package/dist/token/deploy.d.ts +40 -0
  209. package/dist/token/deploy.d.ts.map +1 -0
  210. package/dist/token/deploy.js +243 -0
  211. package/dist/token/deploy.js.map +1 -0
  212. package/package.json +9 -7
  213. package/dist/consts/agentStartBlocks.d.ts +0 -3
  214. package/dist/consts/agentStartBlocks.d.ts.map +0 -1
  215. package/dist/consts/agentStartBlocks.js +0 -28
  216. package/dist/consts/agentStartBlocks.js.map +0 -1
  217. package/dist/consts/environments/test.json +0 -41
  218. package/dist/hook/config.d.ts +0 -4
  219. package/dist/hook/config.d.ts.map +0 -1
  220. package/dist/hook/config.js +0 -9
  221. package/dist/hook/config.js.map +0 -1
  222. package/dist/ism/HyperlaneIsmFactoryDeployer.d.ts +0 -11
  223. package/dist/ism/HyperlaneIsmFactoryDeployer.d.ts.map +0 -1
  224. package/dist/ism/HyperlaneIsmFactoryDeployer.js +0 -39
  225. package/dist/ism/HyperlaneIsmFactoryDeployer.js.map +0 -1
@@ -0,0 +1,50 @@
1
+ import { PublicKey } from '@solana/web3.js';
2
+ import { Domain } from '@hyperlane-xyz/utils';
3
+ import { SealevelInterchainGasPaymasterConfig } from '../../gas/adapters/serialization';
4
+ /**
5
+ * Hyperlane Token Borsh Schema
6
+ */
7
+ export declare class SealevelHyperlaneTokenData {
8
+ readonly fields: any;
9
+ bump: number;
10
+ mailbox: Uint8Array;
11
+ mailbox_pubkey: PublicKey;
12
+ mailbox_process_authority: Uint8Array;
13
+ mailbox_process_authority_pubkey: PublicKey;
14
+ dispatch_authority_bump: number;
15
+ decimals: number;
16
+ remote_decimals: number;
17
+ owner?: Uint8Array;
18
+ owner_pub_key?: PublicKey;
19
+ interchain_security_module?: Uint8Array;
20
+ interchain_security_module_pubkey?: PublicKey;
21
+ interchain_gas_paymaster?: SealevelInterchainGasPaymasterConfig;
22
+ interchain_gas_paymaster_pubkey?: PublicKey;
23
+ interchain_gas_paymaster_account_pubkey?: PublicKey;
24
+ destination_gas?: Map<Domain, bigint>;
25
+ remote_routers?: Map<Domain, Uint8Array>;
26
+ remote_router_pubkeys: Map<Domain, PublicKey>;
27
+ constructor(fields: any);
28
+ }
29
+ export declare const SealevelHyperlaneTokenDataSchema: Map<any, any>;
30
+ /**
31
+ * Transfer Remote Borsh Schema
32
+ */
33
+ export declare enum SealevelHypTokenInstruction {
34
+ Init = 0,
35
+ TransferRemote = 1,
36
+ EnrollRemoteRouter = 2,
37
+ EnrollRemoteRouters = 3,
38
+ SetInterchainSecurityModule = 4,
39
+ TransferOwnership = 5
40
+ }
41
+ export declare class SealevelTransferRemoteInstruction {
42
+ readonly fields: any;
43
+ destination_domain: number;
44
+ recipient: Uint8Array;
45
+ recipient_pubkey: PublicKey;
46
+ amount_or_id: number;
47
+ constructor(fields: any);
48
+ }
49
+ export declare const SealevelTransferRemoteSchema: Map<any, any>;
50
+ //# sourceMappingURL=serialization.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serialization.d.ts","sourceRoot":"","sources":["../../../src/token/adapters/serialization.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE9C,OAAO,EACL,oCAAoC,EAErC,MAAM,kCAAkC,CAAC;AAO1C;;GAEG;AAEH,qBAAa,0BAA0B;aA8BT,MAAM,EAAE,GAAG;IA5BvC,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,wBAAwB,CAAC,EAAE,oCAAoC,CAAC;IAChE,+BAA+B,CAAC,EAAE,SAAS,CAAC;IAC5C,uCAAuC,CAAC,EAAE,SAAS,CAAC;IAEpD,eAAe,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEtC,cAAc,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACzC,qBAAqB,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;gBAClB,MAAM,EAAE,GAAG;CAuBxC;AAED,eAAO,MAAM,gCAAgC,eAkC3C,CAAC;AAEH;;GAEG;AAGH,oBAAY,2BAA2B;IACrC,IAAI,IAAA;IACJ,cAAc,IAAA;IACd,kBAAkB,IAAA;IAClB,mBAAmB,IAAA;IACnB,2BAA2B,IAAA;IAC3B,iBAAiB,IAAA;CAClB;AAED,qBAAa,iCAAiC;aAKhB,MAAM,EAAE,GAAG;IAJvC,kBAAkB,EAAG,MAAM,CAAC;IAC5B,SAAS,EAAG,UAAU,CAAC;IACvB,gBAAgB,EAAG,SAAS,CAAC;IAC7B,YAAY,EAAG,MAAM,CAAC;gBACM,MAAM,EAAE,GAAG;CAIxC;AAED,eAAO,MAAM,4BAA4B,eAsBvC,CAAC"}
@@ -0,0 +1,117 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SealevelTransferRemoteSchema = exports.SealevelTransferRemoteInstruction = exports.SealevelHypTokenInstruction = exports.SealevelHyperlaneTokenDataSchema = exports.SealevelHyperlaneTokenData = void 0;
4
+ const web3_js_1 = require("@solana/web3.js");
5
+ const serialization_1 = require("../../gas/adapters/serialization");
6
+ const sealevelSerialization_1 = require("../../utils/sealevelSerialization");
7
+ /**
8
+ * Hyperlane Token Borsh Schema
9
+ */
10
+ // Should match https://github.com/hyperlane-xyz/hyperlane-monorepo/blob/main/rust/sealevel/libraries/hyperlane-sealevel-token/src/accounts.rs#L25C12-L25C26
11
+ class SealevelHyperlaneTokenData {
12
+ constructor(fields) {
13
+ this.fields = fields;
14
+ Object.assign(this, fields);
15
+ this.mailbox_pubkey = new web3_js_1.PublicKey(this.mailbox);
16
+ this.mailbox_pubkey = new web3_js_1.PublicKey(this.mailbox_process_authority);
17
+ this.owner_pub_key = this.owner ? new web3_js_1.PublicKey(this.owner) : undefined;
18
+ this.interchain_security_module_pubkey = this.interchain_security_module
19
+ ? new web3_js_1.PublicKey(this.interchain_security_module)
20
+ : undefined;
21
+ this.interchain_gas_paymaster_pubkey = this.interchain_gas_paymaster
22
+ ?.program_id
23
+ ? new web3_js_1.PublicKey(this.interchain_gas_paymaster.program_id)
24
+ : undefined;
25
+ this.interchain_gas_paymaster_account_pubkey = this.interchain_gas_paymaster
26
+ ?.igp_account
27
+ ? new web3_js_1.PublicKey(this.interchain_gas_paymaster.igp_account)
28
+ : undefined;
29
+ this.remote_router_pubkeys = new Map();
30
+ if (this.remote_routers) {
31
+ for (const [k, v] of this.remote_routers.entries()) {
32
+ this.remote_router_pubkeys.set(k, new web3_js_1.PublicKey(v));
33
+ }
34
+ }
35
+ }
36
+ }
37
+ exports.SealevelHyperlaneTokenData = SealevelHyperlaneTokenData;
38
+ exports.SealevelHyperlaneTokenDataSchema = new Map([
39
+ [
40
+ sealevelSerialization_1.SealevelAccountDataWrapper,
41
+ (0, sealevelSerialization_1.getSealevelAccountDataSchema)(SealevelHyperlaneTokenData),
42
+ ],
43
+ [
44
+ SealevelHyperlaneTokenData,
45
+ {
46
+ kind: 'struct',
47
+ fields: [
48
+ ['bump', 'u8'],
49
+ ['mailbox', [32]],
50
+ ['mailbox_process_authority', [32]],
51
+ ['dispatch_authority_bump', 'u8'],
52
+ ['decimals', 'u8'],
53
+ ['remote_decimals', 'u8'],
54
+ ['owner', { kind: 'option', type: [32] }],
55
+ ['interchain_security_module', { kind: 'option', type: [32] }],
56
+ [
57
+ 'interchain_gas_paymaster',
58
+ {
59
+ kind: 'option',
60
+ type: serialization_1.SealevelInterchainGasPaymasterConfig,
61
+ },
62
+ ],
63
+ ['destination_gas', { kind: 'map', key: 'u32', value: 'u64' }],
64
+ ['remote_routers', { kind: 'map', key: 'u32', value: [32] }],
65
+ ],
66
+ },
67
+ ],
68
+ [
69
+ serialization_1.SealevelInterchainGasPaymasterConfig,
70
+ serialization_1.SealevelInterchainGasPaymasterConfigSchema,
71
+ ],
72
+ ]);
73
+ /**
74
+ * Transfer Remote Borsh Schema
75
+ */
76
+ // Should match Instruction in https://github.com/hyperlane-xyz/hyperlane-monorepo/blob/main/rust/sealevel/libraries/hyperlane-sealevel-token/src/instruction.rs
77
+ var SealevelHypTokenInstruction;
78
+ (function (SealevelHypTokenInstruction) {
79
+ SealevelHypTokenInstruction[SealevelHypTokenInstruction["Init"] = 0] = "Init";
80
+ SealevelHypTokenInstruction[SealevelHypTokenInstruction["TransferRemote"] = 1] = "TransferRemote";
81
+ SealevelHypTokenInstruction[SealevelHypTokenInstruction["EnrollRemoteRouter"] = 2] = "EnrollRemoteRouter";
82
+ SealevelHypTokenInstruction[SealevelHypTokenInstruction["EnrollRemoteRouters"] = 3] = "EnrollRemoteRouters";
83
+ SealevelHypTokenInstruction[SealevelHypTokenInstruction["SetInterchainSecurityModule"] = 4] = "SetInterchainSecurityModule";
84
+ SealevelHypTokenInstruction[SealevelHypTokenInstruction["TransferOwnership"] = 5] = "TransferOwnership";
85
+ })(SealevelHypTokenInstruction || (exports.SealevelHypTokenInstruction = SealevelHypTokenInstruction = {}));
86
+ class SealevelTransferRemoteInstruction {
87
+ constructor(fields) {
88
+ this.fields = fields;
89
+ Object.assign(this, fields);
90
+ this.recipient_pubkey = new web3_js_1.PublicKey(this.recipient);
91
+ }
92
+ }
93
+ exports.SealevelTransferRemoteInstruction = SealevelTransferRemoteInstruction;
94
+ exports.SealevelTransferRemoteSchema = new Map([
95
+ [
96
+ sealevelSerialization_1.SealevelInstructionWrapper,
97
+ {
98
+ kind: 'struct',
99
+ fields: [
100
+ ['instruction', 'u8'],
101
+ ['data', SealevelTransferRemoteInstruction],
102
+ ],
103
+ },
104
+ ],
105
+ [
106
+ SealevelTransferRemoteInstruction,
107
+ {
108
+ kind: 'struct',
109
+ fields: [
110
+ ['destination_domain', 'u32'],
111
+ ['recipient', [32]],
112
+ ['amount_or_id', 'u256'],
113
+ ],
114
+ },
115
+ ],
116
+ ]);
117
+ //# sourceMappingURL=serialization.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serialization.js","sourceRoot":"","sources":["../../../src/token/adapters/serialization.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ import { ethers } from 'ethers';
2
+ import { GasRouterConfig } from '../router/types';
3
+ export declare enum TokenType {
4
+ synthetic = "synthetic",
5
+ syntheticUri = "syntheticUri",
6
+ collateral = "collateral",
7
+ collateralUri = "collateralUri",
8
+ native = "native"
9
+ }
10
+ export type TokenMetadata = {
11
+ name: string;
12
+ symbol: string;
13
+ totalSupply: ethers.BigNumberish;
14
+ };
15
+ export type TokenDecimals = {
16
+ decimals: number;
17
+ scale?: number;
18
+ };
19
+ export type ERC20Metadata = TokenMetadata & TokenDecimals;
20
+ export type MinimalTokenMetadata = Omit<ERC20Metadata, 'totalSupply' | 'scale'>;
21
+ export declare const isTokenMetadata: (metadata: any) => metadata is TokenMetadata;
22
+ export declare const isErc20Metadata: (metadata: any) => metadata is ERC20Metadata;
23
+ export type SyntheticConfig = {
24
+ type: TokenType.synthetic | TokenType.syntheticUri;
25
+ } & TokenMetadata;
26
+ export type CollateralConfig = {
27
+ type: TokenType.collateral | TokenType.collateralUri;
28
+ token: string;
29
+ } & Partial<ERC20Metadata>;
30
+ export type NativeConfig = {
31
+ type: TokenType.native;
32
+ } & Partial<TokenDecimals>;
33
+ export type TokenConfig = SyntheticConfig | CollateralConfig | NativeConfig;
34
+ export declare const isCollateralConfig: (config: TokenConfig) => config is CollateralConfig;
35
+ export declare const isSyntheticConfig: (config: TokenConfig) => config is SyntheticConfig;
36
+ export declare const isNativeConfig: (config: TokenConfig) => config is NativeConfig;
37
+ export declare const isUriConfig: (config: TokenConfig) => boolean;
38
+ export type HypERC20Config = GasRouterConfig & SyntheticConfig & ERC20Metadata;
39
+ export type HypERC20CollateralConfig = GasRouterConfig & CollateralConfig & Partial<ERC20Metadata>;
40
+ export type HypNativeConfig = GasRouterConfig & NativeConfig;
41
+ export type ERC20RouterConfig = HypERC20Config | HypERC20CollateralConfig | HypNativeConfig;
42
+ export type HypERC721Config = GasRouterConfig & SyntheticConfig;
43
+ export type HypERC721CollateralConfig = GasRouterConfig & CollateralConfig;
44
+ export type ERC721RouterConfig = HypERC721Config | HypERC721CollateralConfig;
45
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/token/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,oBAAY,SAAS;IACnB,SAAS,cAAc;IACvB,YAAY,iBAAiB;IAC7B,UAAU,eAAe;IACzB,aAAa,kBAAkB;IAC/B,MAAM,WAAW;CAClB;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC,YAAY,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,aAAa,GAAG,aAAa,CAAC;AAC1D,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,aAAa,EAAE,aAAa,GAAG,OAAO,CAAC,CAAC;AAEhF,eAAO,MAAM,eAAe,aAAc,GAAG,8BAC2B,CAAC;AAEzE,eAAO,MAAM,eAAe,aAAc,GAAG,8BACG,CAAC;AAEjD,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,SAAS,CAAC,SAAS,GAAG,SAAS,CAAC,YAAY,CAAC;CACpD,GAAG,aAAa,CAAC;AAClB,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,SAAS,CAAC,UAAU,GAAG,SAAS,CAAC,aAAa,CAAC;IACrD,KAAK,EAAE,MAAM,CAAC;CACf,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;AAC3B,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC;CACxB,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;AAE3B,MAAM,MAAM,WAAW,GAAG,eAAe,GAAG,gBAAgB,GAAG,YAAY,CAAC;AAE5E,eAAO,MAAM,kBAAkB,WACrB,WAAW,+BAGoB,CAAC;AAE1C,eAAO,MAAM,iBAAiB,WACpB,WAAW,8BAE0D,CAAC;AAEhF,eAAO,MAAM,cAAc,WAAY,WAAW,2BAChB,CAAC;AAEnC,eAAO,MAAM,WAAW,WAAY,WAAW,YAEN,CAAC;AAE1C,MAAM,MAAM,cAAc,GAAG,eAAe,GAAG,eAAe,GAAG,aAAa,CAAC;AAC/E,MAAM,MAAM,wBAAwB,GAAG,eAAe,GACpD,gBAAgB,GAChB,OAAO,CAAC,aAAa,CAAC,CAAC;AACzB,MAAM,MAAM,eAAe,GAAG,eAAe,GAAG,YAAY,CAAC;AAC7D,MAAM,MAAM,iBAAiB,GACzB,cAAc,GACd,wBAAwB,GACxB,eAAe,CAAC;AAEpB,MAAM,MAAM,eAAe,GAAG,eAAe,GAAG,eAAe,CAAC;AAChE,MAAM,MAAM,yBAAyB,GAAG,eAAe,GAAG,gBAAgB,CAAC;AAC3E,MAAM,MAAM,kBAAkB,GAAG,eAAe,GAAG,yBAAyB,CAAC"}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isUriConfig = exports.isNativeConfig = exports.isSyntheticConfig = exports.isCollateralConfig = exports.isErc20Metadata = exports.isTokenMetadata = exports.TokenType = void 0;
4
+ var TokenType;
5
+ (function (TokenType) {
6
+ TokenType["synthetic"] = "synthetic";
7
+ TokenType["syntheticUri"] = "syntheticUri";
8
+ TokenType["collateral"] = "collateral";
9
+ TokenType["collateralUri"] = "collateralUri";
10
+ TokenType["native"] = "native";
11
+ })(TokenType || (exports.TokenType = TokenType = {}));
12
+ const isTokenMetadata = (metadata) => metadata.name && metadata.symbol && metadata.totalSupply !== undefined; // totalSupply can be 0
13
+ exports.isTokenMetadata = isTokenMetadata;
14
+ const isErc20Metadata = (metadata) => metadata.decimals && (0, exports.isTokenMetadata)(metadata);
15
+ exports.isErc20Metadata = isErc20Metadata;
16
+ const isCollateralConfig = (config) => config.type === TokenType.collateral ||
17
+ config.type === TokenType.collateralUri;
18
+ exports.isCollateralConfig = isCollateralConfig;
19
+ const isSyntheticConfig = (config) => config.type === TokenType.synthetic || config.type === TokenType.syntheticUri;
20
+ exports.isSyntheticConfig = isSyntheticConfig;
21
+ const isNativeConfig = (config) => config.type === TokenType.native;
22
+ exports.isNativeConfig = isNativeConfig;
23
+ const isUriConfig = (config) => config.type === TokenType.syntheticUri ||
24
+ config.type === TokenType.collateralUri;
25
+ exports.isUriConfig = isUriConfig;
26
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/token/config.ts"],"names":[],"mappings":";;;AAIA,IAAY,SAMX;AAND,WAAY,SAAS;IACnB,oCAAuB,CAAA;IACvB,0CAA6B,CAAA;IAC7B,sCAAyB,CAAA;IACzB,4CAA+B,CAAA;IAC/B,8BAAiB,CAAA;AACnB,CAAC,EANW,SAAS,yBAAT,SAAS,QAMpB;AAgBM,MAAM,eAAe,GAAG,CAAC,QAAa,EAA6B,EAAE,CAC1E,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,uBAAuB;AADpF,QAAA,eAAe,mBAC6C;AAElE,MAAM,eAAe,GAAG,CAAC,QAAa,EAA6B,EAAE,CAC1E,QAAQ,CAAC,QAAQ,IAAI,IAAA,uBAAe,EAAC,QAAQ,CAAC,CAAC;AADpC,QAAA,eAAe,mBACqB;AAe1C,MAAM,kBAAkB,GAAG,CAChC,MAAmB,EACS,EAAE,CAC9B,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,UAAU;IACpC,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,aAAa,CAAC;AAJ7B,QAAA,kBAAkB,sBAIW;AAEnC,MAAM,iBAAiB,GAAG,CAC/B,MAAmB,EACQ,EAAE,CAC7B,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,SAAS,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,YAAY,CAAC;AAHnE,QAAA,iBAAiB,qBAGkD;AAEzE,MAAM,cAAc,GAAG,CAAC,MAAmB,EAA0B,EAAE,CAC5E,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,MAAM,CAAC;AADtB,QAAA,cAAc,kBACQ;AAE5B,MAAM,WAAW,GAAG,CAAC,MAAmB,EAAE,EAAE,CACjD,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,YAAY;IACtC,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,aAAa,CAAC;AAF7B,QAAA,WAAW,eAEkB"}
@@ -0,0 +1,9 @@
1
+ import { HypERC20Collateral__factory, HypERC20__factory, HypERC721Collateral__factory, HypERC721URICollateral__factory, HypERC721__factory, HypNative__factory } from '@hyperlane-xyz/core';
2
+ export type HypERC20Factories = {
3
+ router: HypERC20__factory | HypERC20Collateral__factory | HypNative__factory;
4
+ };
5
+ export type HypERC721Factories = {
6
+ router: HypERC721__factory | HypERC721Collateral__factory | HypERC721URICollateral__factory;
7
+ };
8
+ export type TokenFactories = HypERC20Factories | HypERC721Factories;
9
+ //# sourceMappingURL=contracts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../src/token/contracts.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,2BAA2B,EAC3B,iBAAiB,EACjB,4BAA4B,EAC5B,+BAA+B,EAC/B,kBAAkB,EAClB,kBAAkB,EACnB,MAAM,qBAAqB,CAAC;AAE7B,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,EAAE,iBAAiB,GAAG,2BAA2B,GAAG,kBAAkB,CAAC;CAC9E,CAAC;AACF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,MAAM,EACF,kBAAkB,GAClB,4BAA4B,GAC5B,+BAA+B,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,iBAAiB,GAAG,kBAAkB,CAAC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=contracts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contracts.js","sourceRoot":"","sources":["../../src/token/contracts.ts"],"names":[],"mappings":""}
@@ -0,0 +1,40 @@
1
+ import { providers } from 'ethers';
2
+ import { HypERC20, HypERC20Collateral, HypERC721, HypERC721Collateral, HypNative } from '@hyperlane-xyz/core';
3
+ import { HyperlaneContracts } from '../contracts/types';
4
+ import { MultiProvider } from '../providers/MultiProvider';
5
+ import { GasRouterDeployer } from '../router/GasRouterDeployer';
6
+ import { GasConfig, RouterConfig } from '../router/types';
7
+ import { ChainMap, ChainName } from '../types';
8
+ import { CollateralConfig, ERC20Metadata, ERC20RouterConfig, ERC721RouterConfig, HypERC20CollateralConfig, HypERC20Config, HypERC721CollateralConfig, HypERC721Config, HypNativeConfig, TokenConfig, TokenMetadata } from './config';
9
+ import { HypERC20Factories, HypERC721Factories } from './contracts';
10
+ export declare class HypERC20Deployer extends GasRouterDeployer<ERC20RouterConfig, HypERC20Factories> {
11
+ constructor(multiProvider: MultiProvider);
12
+ static fetchMetadata(provider: providers.Provider, config: CollateralConfig): Promise<ERC20Metadata>;
13
+ static gasOverheadDefault(config: TokenConfig): number;
14
+ getCollateralMetadata(chain: ChainName, config: CollateralConfig): Promise<ERC20Metadata>;
15
+ protected deployCollateral(chain: ChainName, config: HypERC20CollateralConfig): Promise<HypERC20Collateral>;
16
+ protected deployNative(chain: ChainName, config: HypNativeConfig): Promise<HypNative>;
17
+ protected deploySynthetic(chain: ChainName, config: HypERC20Config): Promise<HypERC20>;
18
+ router(contracts: HyperlaneContracts<HypERC20Factories>): HypERC20 | HypERC20Collateral | HypNative;
19
+ deployContracts(chain: ChainName, config: HypERC20Config): Promise<{
20
+ router: HypERC20 | HypERC20Collateral | HypNative;
21
+ }>;
22
+ buildTokenMetadata(configMap: ChainMap<TokenConfig>): Promise<ChainMap<ERC20Metadata>>;
23
+ buildGasOverhead(configMap: ChainMap<TokenConfig>): ChainMap<GasConfig>;
24
+ deploy(configMap: ChainMap<TokenConfig & RouterConfig>): Promise<import("../contracts/types").HyperlaneContractsMap<HypERC20Factories>>;
25
+ }
26
+ export declare class HypERC721Deployer extends GasRouterDeployer<ERC721RouterConfig, HypERC721Factories> {
27
+ constructor(multiProvider: MultiProvider);
28
+ static fetchMetadata(provider: providers.Provider, config: CollateralConfig): Promise<TokenMetadata>;
29
+ static gasOverheadDefault(config: TokenConfig): number;
30
+ protected deployCollateral(chain: ChainName, config: HypERC721CollateralConfig): Promise<HypERC721Collateral>;
31
+ protected deploySynthetic(chain: ChainName, config: HypERC721Config): Promise<HypERC721>;
32
+ router(contracts: HyperlaneContracts<HypERC721Factories>): import("@hyperlane-xyz/core").HypERC721URICollateral | HypERC721 | HypERC721Collateral;
33
+ deployContracts(chain: ChainName, config: HypERC721Config): Promise<{
34
+ router: HypERC721 | HypERC721Collateral;
35
+ }>;
36
+ buildTokenMetadata(configMap: ChainMap<TokenConfig>): Promise<ChainMap<TokenMetadata>>;
37
+ buildGasOverhead(configMap: ChainMap<TokenConfig>): ChainMap<GasConfig>;
38
+ deploy(configMap: ChainMap<TokenConfig & RouterConfig>): Promise<import("../contracts/types").HyperlaneContractsMap<HypERC721Factories>>;
39
+ }
40
+ //# sourceMappingURL=deploy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../src/token/deploy.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,243 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.HypERC721Deployer = exports.HypERC20Deployer = void 0;
4
+ const core_1 = require("@hyperlane-xyz/core");
5
+ const utils_1 = require("@hyperlane-xyz/utils");
6
+ const GasRouterDeployer_1 = require("../router/GasRouterDeployer");
7
+ const config_1 = require("./config");
8
+ class HypERC20Deployer extends GasRouterDeployer_1.GasRouterDeployer {
9
+ constructor(multiProvider) {
10
+ super(multiProvider, {}); // factories not used in deploy
11
+ }
12
+ static async fetchMetadata(provider, config) {
13
+ const erc20 = core_1.ERC20__factory.connect(config.token, provider);
14
+ const [name, symbol, totalSupply, decimals] = await Promise.all([
15
+ erc20.name(),
16
+ erc20.symbol(),
17
+ erc20.totalSupply(),
18
+ erc20.decimals(),
19
+ ]);
20
+ return { name, symbol, totalSupply, decimals };
21
+ }
22
+ static gasOverheadDefault(config) {
23
+ switch (config.type) {
24
+ case 'synthetic':
25
+ return 64000;
26
+ case 'native':
27
+ return 44000;
28
+ case 'collateral':
29
+ default:
30
+ return 68000;
31
+ }
32
+ }
33
+ // Gets the metadata for a collateral token, favoring the config
34
+ // and getting any on-chain metadata that is missing.
35
+ async getCollateralMetadata(chain, config) {
36
+ const metadata = {
37
+ name: config.name,
38
+ symbol: config.symbol,
39
+ decimals: config.decimals,
40
+ totalSupply: 0,
41
+ };
42
+ if (metadata.name &&
43
+ metadata.symbol &&
44
+ metadata.decimals !== undefined &&
45
+ metadata.decimals !== null) {
46
+ return metadata;
47
+ }
48
+ const fetchedMetadata = await HypERC20Deployer.fetchMetadata(this.multiProvider.getProvider(chain), config);
49
+ // Filter out undefined values
50
+ const definedConfigMetadata = Object.fromEntries(Object.entries(metadata).filter(([k, v]) => !!k && !!v));
51
+ return {
52
+ ...fetchedMetadata,
53
+ ...definedConfigMetadata,
54
+ };
55
+ }
56
+ async deployCollateral(chain, config) {
57
+ return this.deployContractFromFactory(chain, new core_1.HypERC20Collateral__factory(), 'HypERC20Collateral', [config.token, config.mailbox]);
58
+ }
59
+ async deployNative(chain, config) {
60
+ let router;
61
+ if (config.scale) {
62
+ router = await this.deployContractFromFactory(chain, new core_1.HypNativeScaled__factory(), 'HypNativeScaled', [config.scale, config.mailbox]);
63
+ }
64
+ else {
65
+ router = await this.deployContractFromFactory(chain, new core_1.HypNative__factory(), 'HypNative', [config.mailbox]);
66
+ }
67
+ return router;
68
+ }
69
+ async deploySynthetic(chain, config) {
70
+ const router = await this.deployContractFromFactory(chain, new core_1.HypERC20__factory(), 'HypERC20', [config.decimals, config.mailbox]);
71
+ await this.multiProvider.handleTx(chain, router.initialize(config.totalSupply, config.name, config.symbol));
72
+ return router;
73
+ }
74
+ router(contracts) {
75
+ return contracts.router;
76
+ }
77
+ async deployContracts(chain, config) {
78
+ let router;
79
+ if ((0, config_1.isCollateralConfig)(config)) {
80
+ router = await this.deployCollateral(chain, config);
81
+ }
82
+ else if ((0, config_1.isNativeConfig)(config)) {
83
+ router = await this.deployNative(chain, config);
84
+ }
85
+ else if ((0, config_1.isSyntheticConfig)(config)) {
86
+ router = await this.deploySynthetic(chain, config);
87
+ }
88
+ else {
89
+ throw new Error('Invalid ERC20 token router config');
90
+ }
91
+ return { router };
92
+ }
93
+ async buildTokenMetadata(configMap) {
94
+ let tokenMetadata;
95
+ for (const [chain, config] of Object.entries(configMap)) {
96
+ if ((0, config_1.isCollateralConfig)(config)) {
97
+ const collateralMetadata = await this.getCollateralMetadata(chain, config);
98
+ tokenMetadata = {
99
+ ...collateralMetadata,
100
+ totalSupply: 0,
101
+ };
102
+ }
103
+ else if ((0, config_1.isNativeConfig)(config)) {
104
+ const chainMetadata = this.multiProvider.getChainMetadata(chain);
105
+ if (chainMetadata.nativeToken) {
106
+ tokenMetadata = {
107
+ ...chainMetadata.nativeToken,
108
+ totalSupply: 0,
109
+ };
110
+ }
111
+ else {
112
+ throw new Error(`Warp route config specifies native token but chain metadata for ${chain} does not provide native token details`);
113
+ }
114
+ }
115
+ else if ((0, config_1.isErc20Metadata)(config)) {
116
+ tokenMetadata = config;
117
+ }
118
+ }
119
+ if (!(0, config_1.isErc20Metadata)(tokenMetadata)) {
120
+ throw new Error('Invalid ERC20 token metadata');
121
+ }
122
+ return (0, utils_1.objMap)(configMap, () => tokenMetadata);
123
+ }
124
+ buildGasOverhead(configMap) {
125
+ return (0, utils_1.objMap)(configMap, (_, config) => ({
126
+ gas: HypERC20Deployer.gasOverheadDefault(config),
127
+ }));
128
+ }
129
+ async deploy(configMap) {
130
+ const tokenMetadata = await this.buildTokenMetadata(configMap);
131
+ const gasOverhead = this.buildGasOverhead(configMap);
132
+ const mergedConfig = (0, utils_1.objMap)(configMap, (chain, config) => {
133
+ return {
134
+ ...tokenMetadata[chain],
135
+ ...gasOverhead[chain],
136
+ ...config,
137
+ };
138
+ });
139
+ return super.deploy(mergedConfig);
140
+ }
141
+ }
142
+ exports.HypERC20Deployer = HypERC20Deployer;
143
+ class HypERC721Deployer extends GasRouterDeployer_1.GasRouterDeployer {
144
+ constructor(multiProvider) {
145
+ super(multiProvider, {}); // factories not used in deploy
146
+ }
147
+ static async fetchMetadata(provider, config) {
148
+ const erc721 = core_1.ERC721EnumerableUpgradeable__factory.connect(config.token, provider);
149
+ const [name, symbol, totalSupply] = await Promise.all([
150
+ erc721.name(),
151
+ erc721.symbol(),
152
+ erc721.totalSupply(),
153
+ ]);
154
+ return { name, symbol, totalSupply };
155
+ }
156
+ static gasOverheadDefault(config) {
157
+ switch (config.type) {
158
+ case 'synthetic':
159
+ return 160000;
160
+ case 'syntheticUri':
161
+ return 163000;
162
+ case 'collateral':
163
+ case 'collateralUri':
164
+ default:
165
+ return 80000;
166
+ }
167
+ }
168
+ async deployCollateral(chain, config) {
169
+ let router;
170
+ if ((0, config_1.isUriConfig)(config)) {
171
+ router = await this.deployContractFromFactory(chain, new core_1.HypERC721URICollateral__factory(), 'HypERC721URICollateral', [config.token, config.mailbox]);
172
+ }
173
+ else {
174
+ router = await this.deployContractFromFactory(chain, new core_1.HypERC721Collateral__factory(), 'HypERC721Collateral', [config.token, config.mailbox]);
175
+ }
176
+ return router;
177
+ }
178
+ async deploySynthetic(chain, config) {
179
+ let router;
180
+ if ((0, config_1.isUriConfig)(config)) {
181
+ router = await this.deployContractFromFactory(chain, new core_1.HypERC721URIStorage__factory(), 'HypERC721URIStorage', [config.mailbox]);
182
+ }
183
+ else {
184
+ router = await this.deployContractFromFactory(chain, new core_1.HypERC721__factory(), 'HypERC721', [config.mailbox]);
185
+ }
186
+ await this.multiProvider.handleTx(chain, router.initialize(config.totalSupply, config.name, config.symbol));
187
+ return router;
188
+ }
189
+ router(contracts) {
190
+ return contracts.router;
191
+ }
192
+ async deployContracts(chain, config) {
193
+ let router;
194
+ if ((0, config_1.isCollateralConfig)(config)) {
195
+ router = await this.deployCollateral(chain, config);
196
+ }
197
+ else if ((0, config_1.isSyntheticConfig)(config)) {
198
+ router = await this.deploySynthetic(chain, config);
199
+ }
200
+ else {
201
+ throw new Error('Invalid ERC721 token router config');
202
+ }
203
+ return { router };
204
+ }
205
+ async buildTokenMetadata(configMap) {
206
+ let tokenMetadata;
207
+ for (const [chain, config] of Object.entries(configMap)) {
208
+ if ((0, config_1.isCollateralConfig)(config)) {
209
+ const collateralMetadata = await HypERC721Deployer.fetchMetadata(this.multiProvider.getProvider(chain), config);
210
+ tokenMetadata = {
211
+ ...collateralMetadata,
212
+ totalSupply: 0,
213
+ };
214
+ }
215
+ else if ((0, config_1.isTokenMetadata)(config)) {
216
+ tokenMetadata = config;
217
+ }
218
+ }
219
+ if (!(0, config_1.isTokenMetadata)(tokenMetadata)) {
220
+ throw new Error('Invalid ERC721 token metadata');
221
+ }
222
+ return (0, utils_1.objMap)(configMap, () => tokenMetadata);
223
+ }
224
+ buildGasOverhead(configMap) {
225
+ return (0, utils_1.objMap)(configMap, (_, config) => ({
226
+ gas: HypERC721Deployer.gasOverheadDefault(config),
227
+ }));
228
+ }
229
+ async deploy(configMap) {
230
+ const tokenMetadata = await this.buildTokenMetadata(configMap);
231
+ const gasOverhead = this.buildGasOverhead(configMap);
232
+ const mergedConfig = (0, utils_1.objMap)(configMap, (chain, config) => {
233
+ return {
234
+ ...tokenMetadata[chain],
235
+ ...gasOverhead[chain],
236
+ ...config,
237
+ };
238
+ });
239
+ return super.deploy(mergedConfig);
240
+ }
241
+ }
242
+ exports.HypERC721Deployer = HypERC721Deployer;
243
+ //# sourceMappingURL=deploy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../src/token/deploy.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,10 +1,11 @@
1
1
  {
2
2
  "name": "@hyperlane-xyz/sdk",
3
3
  "description": "The official SDK for the Hyperlane Network",
4
- "version": "1.5.3",
4
+ "version": "1.5.5-beta0",
5
5
  "dependencies": {
6
- "@hyperlane-xyz/core": "1.5.3",
7
- "@hyperlane-xyz/utils": "1.5.3",
6
+ "@hyperlane-xyz/core": "1.5.5-beta0",
7
+ "@hyperlane-xyz/utils": "1.5.5-beta0",
8
+ "@solana/spl-token": "^0.3.8",
8
9
  "@solana/web3.js": "^1.78.0",
9
10
  "@types/coingecko-api": "^1.0.10",
10
11
  "@types/debug": "^4.1.7",
@@ -28,9 +29,9 @@
28
29
  "fs": "0.0.1-security",
29
30
  "hardhat": "^2.16.1",
30
31
  "mocha": "^9.2.2",
31
- "prettier": "^2.8.8",
32
+ "prettier": "^2.4.1",
32
33
  "sinon": "^13.0.2",
33
- "ts-node": "^10.9.1",
34
+ "ts-node": "^10.8.0",
34
35
  "typescript": "^5.1.6"
35
36
  },
36
37
  "files": [
@@ -57,5 +58,6 @@
57
58
  "test:unit": "mocha --config .mocharc.json './src/**/*.test.ts'",
58
59
  "test:hardhat": "hardhat test $(find ./src -name \"*.hardhat-test.ts\")"
59
60
  },
60
- "types": "dist/index.d.ts"
61
- }
61
+ "types": "dist/index.d.ts",
62
+ "stableVersion": "1.5.0"
63
+ }
@@ -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"}