@hyperlane-xyz/sdk 1.5.8 → 3.0.0-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 (247) hide show
  1. package/dist/app/HyperlaneApp.d.ts +1 -1
  2. package/dist/app/HyperlaneApp.d.ts.map +1 -1
  3. package/dist/app/HyperlaneApp.js +1 -1
  4. package/dist/app/HyperlaneApp.js.map +1 -1
  5. package/dist/consts/chainMetadata.d.ts +8 -0
  6. package/dist/consts/chainMetadata.d.ts.map +1 -1
  7. package/dist/consts/chainMetadata.js +215 -3
  8. package/dist/consts/chainMetadata.js.map +1 -1
  9. package/dist/consts/chains.d.ts +14 -6
  10. package/dist/consts/chains.d.ts.map +1 -1
  11. package/dist/consts/chains.js +22 -6
  12. package/dist/consts/chains.js.map +1 -1
  13. package/dist/consts/environments/index.d.ts +1351 -297
  14. package/dist/consts/environments/index.d.ts.map +1 -1
  15. package/dist/consts/environments/index.js +1 -2
  16. package/dist/consts/environments/index.js.map +1 -1
  17. package/dist/consts/environments/mainnet.json +826 -147
  18. package/dist/consts/environments/testnet.json +524 -167
  19. package/dist/consts/multisigIsm.d.ts +2 -2
  20. package/dist/consts/multisigIsm.d.ts.map +1 -1
  21. package/dist/consts/multisigIsm.js +128 -111
  22. package/dist/consts/multisigIsm.js.map +1 -1
  23. package/dist/contracts/contracts.d.ts +1 -1
  24. package/dist/contracts/contracts.d.ts.map +1 -1
  25. package/dist/contracts/contracts.js +8 -2
  26. package/dist/contracts/contracts.js.map +1 -1
  27. package/dist/core/CoreDeployer.hardhat-test.js +65 -13
  28. package/dist/core/CoreDeployer.hardhat-test.js.map +1 -1
  29. package/dist/core/HyperlaneCore.d.ts +6 -2
  30. package/dist/core/HyperlaneCore.d.ts.map +1 -1
  31. package/dist/core/HyperlaneCore.js +16 -3
  32. package/dist/core/HyperlaneCore.js.map +1 -1
  33. package/dist/core/HyperlaneCoreChecker.d.ts.map +1 -1
  34. package/dist/core/HyperlaneCoreChecker.js +2 -2
  35. package/dist/core/HyperlaneCoreChecker.js.map +1 -1
  36. package/dist/core/HyperlaneCoreDeployer.d.ts +7 -2
  37. package/dist/core/HyperlaneCoreDeployer.d.ts.map +1 -1
  38. package/dist/core/HyperlaneCoreDeployer.js +52 -29
  39. package/dist/core/HyperlaneCoreDeployer.js.map +1 -1
  40. package/dist/core/MultiProtocolCore.d.ts +1 -1
  41. package/dist/core/MultiProtocolCore.d.ts.map +1 -1
  42. package/dist/core/MultiProtocolCore.js +2 -3
  43. package/dist/core/MultiProtocolCore.js.map +1 -1
  44. package/dist/core/MultiProtocolCore.test.js +2 -2
  45. package/dist/core/MultiProtocolCore.test.js.map +1 -1
  46. package/dist/core/TestCoreApp.d.ts +0 -1
  47. package/dist/core/TestCoreApp.d.ts.map +1 -1
  48. package/dist/core/TestCoreDeployer.d.ts +1 -5
  49. package/dist/core/TestCoreDeployer.d.ts.map +1 -1
  50. package/dist/core/TestCoreDeployer.js +0 -20
  51. package/dist/core/TestCoreDeployer.js.map +1 -1
  52. package/dist/core/adapters/EvmCoreAdapter.d.ts +1 -1
  53. package/dist/core/adapters/EvmCoreAdapter.d.ts.map +1 -1
  54. package/dist/core/adapters/SealevelCoreAdapter.d.ts +1 -1
  55. package/dist/core/adapters/SealevelCoreAdapter.d.ts.map +1 -1
  56. package/dist/core/adapters/SealevelCoreAdapter.js +0 -1
  57. package/dist/core/adapters/SealevelCoreAdapter.js.map +1 -1
  58. package/dist/core/adapters/types.d.ts +1 -1
  59. package/dist/core/adapters/types.d.ts.map +1 -1
  60. package/dist/core/contracts.d.ts +3 -9
  61. package/dist/core/contracts.d.ts.map +1 -1
  62. package/dist/core/contracts.js +0 -1
  63. package/dist/core/contracts.js.map +1 -1
  64. package/dist/core/testHyperlaneDeploy.hardhat-test.js +8 -3
  65. package/dist/core/testHyperlaneDeploy.hardhat-test.js.map +1 -1
  66. package/dist/core/types.d.ts +3 -0
  67. package/dist/core/types.d.ts.map +1 -1
  68. package/dist/core/types.js.map +1 -1
  69. package/dist/deploy/HyperlaneAppChecker.d.ts.map +1 -1
  70. package/dist/deploy/HyperlaneAppChecker.js +3 -5
  71. package/dist/deploy/HyperlaneAppChecker.js.map +1 -1
  72. package/dist/deploy/HyperlaneDeployer.d.ts +14 -7
  73. package/dist/deploy/HyperlaneDeployer.d.ts.map +1 -1
  74. package/dist/deploy/HyperlaneDeployer.js +90 -70
  75. package/dist/deploy/HyperlaneDeployer.js.map +1 -1
  76. package/dist/deploy/HyperlaneProxyFactoryDeployer.d.ts +10 -0
  77. package/dist/deploy/HyperlaneProxyFactoryDeployer.d.ts.map +1 -0
  78. package/dist/deploy/HyperlaneProxyFactoryDeployer.js +34 -0
  79. package/dist/deploy/HyperlaneProxyFactoryDeployer.js.map +1 -0
  80. package/dist/deploy/contracts.d.ts +13 -0
  81. package/dist/deploy/contracts.d.ts.map +1 -0
  82. package/dist/deploy/contracts.js +20 -0
  83. package/dist/deploy/contracts.js.map +1 -0
  84. package/dist/deploy/proxy.d.ts +1 -0
  85. package/dist/deploy/proxy.d.ts.map +1 -1
  86. package/dist/deploy/proxy.js +8 -1
  87. package/dist/deploy/proxy.js.map +1 -1
  88. package/dist/deploy/verify/ContractVerifier.d.ts.map +1 -1
  89. package/dist/deploy/verify/ContractVerifier.js +7 -2
  90. package/dist/deploy/verify/ContractVerifier.js.map +1 -1
  91. package/dist/gas/HyperlaneIgp.d.ts.map +1 -1
  92. package/dist/gas/HyperlaneIgp.js +2 -1
  93. package/dist/gas/HyperlaneIgp.js.map +1 -1
  94. package/dist/gas/HyperlaneIgpChecker.d.ts +2 -2
  95. package/dist/gas/HyperlaneIgpChecker.d.ts.map +1 -1
  96. package/dist/gas/HyperlaneIgpChecker.js +5 -12
  97. package/dist/gas/HyperlaneIgpChecker.js.map +1 -1
  98. package/dist/gas/HyperlaneIgpDeployer.d.ts +4 -6
  99. package/dist/gas/HyperlaneIgpDeployer.d.ts.map +1 -1
  100. package/dist/gas/HyperlaneIgpDeployer.js +13 -43
  101. package/dist/gas/HyperlaneIgpDeployer.js.map +1 -1
  102. package/dist/gas/contracts.d.ts +2 -4
  103. package/dist/gas/contracts.d.ts.map +1 -1
  104. package/dist/gas/contracts.js +1 -3
  105. package/dist/gas/contracts.js.map +1 -1
  106. package/dist/gas/types.d.ts +2 -6
  107. package/dist/gas/types.d.ts.map +1 -1
  108. package/dist/gas/types.js.map +1 -1
  109. package/dist/hook/HyperlaneHookDeployer.d.ts +38 -10
  110. package/dist/hook/HyperlaneHookDeployer.d.ts.map +1 -1
  111. package/dist/hook/HyperlaneHookDeployer.js +135 -68
  112. package/dist/hook/HyperlaneHookDeployer.js.map +1 -1
  113. package/dist/hook/contracts.d.ts +10 -18
  114. package/dist/hook/contracts.d.ts.map +1 -1
  115. package/dist/hook/contracts.js +9 -13
  116. package/dist/hook/contracts.js.map +1 -1
  117. package/dist/hook/types.d.ts +45 -12
  118. package/dist/hook/types.d.ts.map +1 -1
  119. package/dist/hook/types.js +11 -6
  120. package/dist/hook/types.js.map +1 -1
  121. package/dist/index.d.ts +15 -9
  122. package/dist/index.d.ts.map +1 -1
  123. package/dist/index.js +36 -16
  124. package/dist/index.js.map +1 -1
  125. package/dist/ism/HyperlaneIsmFactory.d.ts +8 -5
  126. package/dist/ism/HyperlaneIsmFactory.d.ts.map +1 -1
  127. package/dist/ism/HyperlaneIsmFactory.hardhat-test.js +6 -6
  128. package/dist/ism/HyperlaneIsmFactory.hardhat-test.js.map +1 -1
  129. package/dist/ism/HyperlaneIsmFactory.js +95 -75
  130. package/dist/ism/HyperlaneIsmFactory.js.map +1 -1
  131. package/dist/ism/contracts.d.ts +4 -3
  132. package/dist/ism/contracts.d.ts.map +1 -1
  133. package/dist/ism/contracts.js +3 -2
  134. package/dist/ism/contracts.js.map +1 -1
  135. package/dist/ism/types.d.ts +27 -8
  136. package/dist/ism/types.d.ts.map +1 -1
  137. package/dist/ism/types.js +33 -1
  138. package/dist/ism/types.js.map +1 -1
  139. package/dist/metadata/ChainMetadataManager.d.ts +0 -10
  140. package/dist/metadata/ChainMetadataManager.d.ts.map +1 -1
  141. package/dist/metadata/ChainMetadataManager.js +2 -14
  142. package/dist/metadata/ChainMetadataManager.js.map +1 -1
  143. package/dist/metadata/agentConfig.d.ts +615 -1440
  144. package/dist/metadata/agentConfig.d.ts.map +1 -1
  145. package/dist/metadata/agentConfig.js +61 -94
  146. package/dist/metadata/agentConfig.js.map +1 -1
  147. package/dist/metadata/agentConfig.test.js +9 -9
  148. package/dist/metadata/agentConfig.test.js.map +1 -1
  149. package/dist/metadata/chainMetadataTypes.d.ts +1 -1
  150. package/dist/metadata/chainMetadataTypes.js +4 -4
  151. package/dist/metadata/chainMetadataTypes.js.map +1 -1
  152. package/dist/metadata/deploymentArtifacts.d.ts +5 -2
  153. package/dist/metadata/deploymentArtifacts.d.ts.map +1 -1
  154. package/dist/metadata/deploymentArtifacts.js +1 -0
  155. package/dist/metadata/deploymentArtifacts.js.map +1 -1
  156. package/dist/metadata/matchingList.d.ts +13 -13
  157. package/dist/metadata/matchingList.d.ts.map +1 -1
  158. package/dist/metadata/matchingList.js +2 -6
  159. package/dist/metadata/matchingList.js.map +1 -1
  160. package/dist/middleware/account/InterchainAccountDeployer.d.ts +2 -7
  161. package/dist/middleware/account/InterchainAccountDeployer.d.ts.map +1 -1
  162. package/dist/middleware/account/InterchainAccountDeployer.js +4 -9
  163. package/dist/middleware/account/InterchainAccountDeployer.js.map +1 -1
  164. package/dist/middleware/account/accounts.hardhat-test.js +8 -6
  165. package/dist/middleware/account/accounts.hardhat-test.js.map +1 -1
  166. package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.d.ts +2 -7
  167. package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.d.ts.map +1 -1
  168. package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.js +7 -11
  169. package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.js.map +1 -1
  170. package/dist/middleware/liquidity-layer/liquidity-layer.hardhat-test.js +7 -7
  171. package/dist/middleware/liquidity-layer/liquidity-layer.hardhat-test.js.map +1 -1
  172. package/dist/middleware/query/InterchainQuery.d.ts.map +1 -1
  173. package/dist/middleware/query/InterchainQuery.js +1 -0
  174. package/dist/middleware/query/InterchainQuery.js.map +1 -1
  175. package/dist/middleware/query/InterchainQueryDeployer.d.ts +2 -7
  176. package/dist/middleware/query/InterchainQueryDeployer.d.ts.map +1 -1
  177. package/dist/middleware/query/InterchainQueryDeployer.js +3 -4
  178. package/dist/middleware/query/InterchainQueryDeployer.js.map +1 -1
  179. package/dist/middleware/query/queries.hardhat-test.js +8 -9
  180. package/dist/middleware/query/queries.hardhat-test.js.map +1 -1
  181. package/dist/providers/MultiProvider.d.ts +7 -2
  182. package/dist/providers/MultiProvider.d.ts.map +1 -1
  183. package/dist/providers/MultiProvider.js +12 -1
  184. package/dist/providers/MultiProvider.js.map +1 -1
  185. package/dist/router/GasRouterDeployer.d.ts.map +1 -1
  186. package/dist/router/GasRouterDeployer.js +1 -1
  187. package/dist/router/GasRouterDeployer.js.map +1 -1
  188. package/dist/router/HyperlaneRouterChecker.d.ts +1 -1
  189. package/dist/router/HyperlaneRouterChecker.d.ts.map +1 -1
  190. package/dist/router/HyperlaneRouterChecker.js +6 -6
  191. package/dist/router/HyperlaneRouterChecker.js.map +1 -1
  192. package/dist/router/HyperlaneRouterDeployer.d.ts +1 -1
  193. package/dist/router/HyperlaneRouterDeployer.d.ts.map +1 -1
  194. package/dist/router/HyperlaneRouterDeployer.js +15 -18
  195. package/dist/router/HyperlaneRouterDeployer.js.map +1 -1
  196. package/dist/router/ProxiedRouterChecker.js +1 -1
  197. package/dist/router/ProxiedRouterChecker.js.map +1 -1
  198. package/dist/router/types.d.ts +14 -12
  199. package/dist/router/types.d.ts.map +1 -1
  200. package/dist/router/types.js +7 -7
  201. package/dist/router/types.js.map +1 -1
  202. package/dist/test/testUtils.d.ts +1 -3
  203. package/dist/test/testUtils.d.ts.map +1 -1
  204. package/dist/test/testUtils.js +18 -45
  205. package/dist/test/testUtils.js.map +1 -1
  206. package/dist/token/adapters/EvmTokenAdapter.d.ts +65 -0
  207. package/dist/token/adapters/EvmTokenAdapter.d.ts.map +1 -0
  208. package/dist/token/adapters/EvmTokenAdapter.js +119 -0
  209. package/dist/token/adapters/EvmTokenAdapter.js.map +1 -0
  210. package/dist/token/adapters/ITokenAdapter.d.ts +30 -0
  211. package/dist/token/adapters/ITokenAdapter.d.ts.map +1 -0
  212. package/dist/token/adapters/ITokenAdapter.js +3 -0
  213. package/dist/token/adapters/ITokenAdapter.js.map +1 -0
  214. package/dist/token/adapters/SealevelTokenAdapter.d.ts +117 -0
  215. package/dist/token/adapters/SealevelTokenAdapter.d.ts.map +1 -0
  216. package/dist/token/adapters/SealevelTokenAdapter.js +435 -0
  217. package/dist/token/adapters/SealevelTokenAdapter.js.map +1 -0
  218. package/dist/token/adapters/serialization.d.ts +50 -0
  219. package/dist/token/adapters/serialization.d.ts.map +1 -0
  220. package/dist/token/adapters/serialization.js +117 -0
  221. package/dist/token/adapters/serialization.js.map +1 -0
  222. package/dist/token/config.d.ts +48 -0
  223. package/dist/token/config.d.ts.map +1 -0
  224. package/dist/token/config.js +34 -0
  225. package/dist/token/config.js.map +1 -0
  226. package/dist/token/contracts.d.ts +9 -0
  227. package/dist/token/contracts.d.ts.map +1 -0
  228. package/dist/token/contracts.js +3 -0
  229. package/dist/token/contracts.js.map +1 -0
  230. package/dist/token/deploy.d.ts +40 -0
  231. package/dist/token/deploy.d.ts.map +1 -0
  232. package/dist/token/deploy.js +262 -0
  233. package/dist/token/deploy.js.map +1 -0
  234. package/package.json +9 -7
  235. package/dist/consts/agentStartBlocks.d.ts +0 -3
  236. package/dist/consts/agentStartBlocks.d.ts.map +0 -1
  237. package/dist/consts/agentStartBlocks.js +0 -28
  238. package/dist/consts/agentStartBlocks.js.map +0 -1
  239. package/dist/consts/environments/test.json +0 -41
  240. package/dist/hook/config.d.ts +0 -4
  241. package/dist/hook/config.d.ts.map +0 -1
  242. package/dist/hook/config.js +0 -9
  243. package/dist/hook/config.js.map +0 -1
  244. package/dist/ism/HyperlaneIsmFactoryDeployer.d.ts +0 -11
  245. package/dist/ism/HyperlaneIsmFactoryDeployer.d.ts.map +0 -1
  246. package/dist/ism/HyperlaneIsmFactoryDeployer.js +0 -39
  247. package/dist/ism/HyperlaneIsmFactoryDeployer.js.map +0 -1
@@ -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,48 @@
1
+ import { ethers } from 'ethers';
2
+ import { GasRouterConfig } from '../router/types';
3
+ export declare enum TokenType {
4
+ synthetic = "synthetic",
5
+ fastSynthetic = "fastSynthetic",
6
+ syntheticUri = "syntheticUri",
7
+ collateral = "collateral",
8
+ fastCollateral = "fastCollateral",
9
+ collateralUri = "collateralUri",
10
+ native = "native"
11
+ }
12
+ export type TokenMetadata = {
13
+ name: string;
14
+ symbol: string;
15
+ totalSupply: ethers.BigNumberish;
16
+ };
17
+ export type TokenDecimals = {
18
+ decimals: number;
19
+ scale?: number;
20
+ };
21
+ export type ERC20Metadata = TokenMetadata & TokenDecimals;
22
+ export type MinimalTokenMetadata = Omit<ERC20Metadata, 'totalSupply' | 'scale'>;
23
+ export declare const isTokenMetadata: (metadata: any) => metadata is TokenMetadata;
24
+ export declare const isErc20Metadata: (metadata: any) => metadata is ERC20Metadata;
25
+ export type SyntheticConfig = TokenMetadata & {
26
+ type: TokenType.synthetic | TokenType.syntheticUri | TokenType.fastSynthetic;
27
+ } & TokenMetadata;
28
+ export type CollateralConfig = {
29
+ type: TokenType.collateral | TokenType.collateralUri | TokenType.fastCollateral;
30
+ token: string;
31
+ } & Partial<ERC20Metadata>;
32
+ export type NativeConfig = {
33
+ type: TokenType.native;
34
+ } & Partial<TokenDecimals>;
35
+ export type TokenConfig = SyntheticConfig | CollateralConfig | NativeConfig;
36
+ export declare const isCollateralConfig: (config: TokenConfig) => config is CollateralConfig;
37
+ export declare const isSyntheticConfig: (config: TokenConfig) => config is SyntheticConfig;
38
+ export declare const isNativeConfig: (config: TokenConfig) => config is NativeConfig;
39
+ export declare const isUriConfig: (config: TokenConfig) => boolean;
40
+ export declare const isFastConfig: (config: TokenConfig) => boolean;
41
+ export type HypERC20Config = GasRouterConfig & SyntheticConfig & ERC20Metadata;
42
+ export type HypERC20CollateralConfig = GasRouterConfig & CollateralConfig & Partial<ERC20Metadata>;
43
+ export type HypNativeConfig = GasRouterConfig & NativeConfig;
44
+ export type ERC20RouterConfig = HypERC20Config | HypERC20CollateralConfig | HypNativeConfig;
45
+ export type HypERC721Config = GasRouterConfig & SyntheticConfig;
46
+ export type HypERC721CollateralConfig = GasRouterConfig & CollateralConfig;
47
+ export type ERC721RouterConfig = HypERC721Config | HypERC721CollateralConfig;
48
+ //# 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,aAAa,kBAAkB;IAC/B,YAAY,iBAAiB;IAC7B,UAAU,eAAe;IACzB,cAAc,mBAAmB;IACjC,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,aAAa,GAAG;IAC5C,IAAI,EAAE,SAAS,CAAC,SAAS,GAAG,SAAS,CAAC,YAAY,GAAG,SAAS,CAAC,aAAa,CAAC;CAC9E,GAAG,aAAa,CAAC;AAClB,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EACA,SAAS,CAAC,UAAU,GACpB,SAAS,CAAC,aAAa,GACvB,SAAS,CAAC,cAAc,CAAC;IAC7B,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,+BAIqB,CAAC;AAE3C,eAAO,MAAM,iBAAiB,WACpB,WAAW,8BAIoB,CAAC;AAE1C,eAAO,MAAM,cAAc,WAAY,WAAW,2BAChB,CAAC;AAEnC,eAAO,MAAM,WAAW,WAAY,WAAW,YAEN,CAAC;AAE1C,eAAO,MAAM,YAAY,WAAY,WAAW,YAEN,CAAC;AAE3C,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,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isFastConfig = 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["fastSynthetic"] = "fastSynthetic";
8
+ TokenType["syntheticUri"] = "syntheticUri";
9
+ TokenType["collateral"] = "collateral";
10
+ TokenType["fastCollateral"] = "fastCollateral";
11
+ TokenType["collateralUri"] = "collateralUri";
12
+ TokenType["native"] = "native";
13
+ })(TokenType || (exports.TokenType = TokenType = {}));
14
+ const isTokenMetadata = (metadata) => metadata.name && metadata.symbol && metadata.totalSupply !== undefined; // totalSupply can be 0
15
+ exports.isTokenMetadata = isTokenMetadata;
16
+ const isErc20Metadata = (metadata) => metadata.decimals && (0, exports.isTokenMetadata)(metadata);
17
+ exports.isErc20Metadata = isErc20Metadata;
18
+ const isCollateralConfig = (config) => config.type === TokenType.collateral ||
19
+ config.type === TokenType.collateralUri ||
20
+ config.type === TokenType.fastCollateral;
21
+ exports.isCollateralConfig = isCollateralConfig;
22
+ const isSyntheticConfig = (config) => config.type === TokenType.synthetic ||
23
+ config.type === TokenType.syntheticUri ||
24
+ config.type === TokenType.fastSynthetic;
25
+ exports.isSyntheticConfig = isSyntheticConfig;
26
+ const isNativeConfig = (config) => config.type === TokenType.native;
27
+ exports.isNativeConfig = isNativeConfig;
28
+ const isUriConfig = (config) => config.type === TokenType.syntheticUri ||
29
+ config.type === TokenType.collateralUri;
30
+ exports.isUriConfig = isUriConfig;
31
+ const isFastConfig = (config) => config.type === TokenType.fastSynthetic ||
32
+ config.type === TokenType.fastCollateral;
33
+ exports.isFastConfig = isFastConfig;
34
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/token/config.ts"],"names":[],"mappings":";;;AAIA,IAAY,SAQX;AARD,WAAY,SAAS;IACnB,oCAAuB,CAAA;IACvB,4CAA+B,CAAA;IAC/B,0CAA6B,CAAA;IAC7B,sCAAyB,CAAA;IACzB,8CAAiC,CAAA;IACjC,4CAA+B,CAAA;IAC/B,8BAAiB,CAAA;AACnB,CAAC,EARW,SAAS,yBAAT,SAAS,QAQpB;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;AAkB1C,MAAM,kBAAkB,GAAG,CAChC,MAAmB,EACS,EAAE,CAC9B,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,UAAU;IACpC,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,aAAa;IACvC,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,cAAc,CAAC;AAL9B,QAAA,kBAAkB,sBAKY;AAEpC,MAAM,iBAAiB,GAAG,CAC/B,MAAmB,EACQ,EAAE,CAC7B,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,SAAS;IACnC,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,YAAY;IACtC,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,aAAa,CAAC;AAL7B,QAAA,iBAAiB,qBAKY;AAEnC,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;AAEnC,MAAM,YAAY,GAAG,CAAC,MAAmB,EAAE,EAAE,CAClD,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,aAAa;IACvC,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,cAAc,CAAC;AAF9B,QAAA,YAAY,gBAEkB"}
@@ -0,0 +1,9 @@
1
+ import { FastHypERC20Collateral__factory, FastHypERC20__factory, 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 | FastHypERC20__factory | FastHypERC20Collateral__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,+BAA+B,EAC/B,qBAAqB,EACrB,2BAA2B,EAC3B,iBAAiB,EACjB,4BAA4B,EAC5B,+BAA+B,EAC/B,kBAAkB,EAClB,kBAAkB,EACnB,MAAM,qBAAqB,CAAC;AAE7B,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,EACF,iBAAiB,GACjB,2BAA2B,GAC3B,kBAAkB,GAClB,qBAAqB,GACrB,+BAA+B,CAAC;CACrC,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>): import("@hyperlane-xyz/core").FastHypERC20 | import("@hyperlane-xyz/core").FastHypERC20Collateral | 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,262 @@
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 'fastSynthetic':
25
+ return 64000;
26
+ case 'synthetic':
27
+ return 64000;
28
+ case 'native':
29
+ return 44000;
30
+ case 'collateral':
31
+ case 'fastCollateral':
32
+ default:
33
+ return 68000;
34
+ }
35
+ }
36
+ // Gets the metadata for a collateral token, favoring the config
37
+ // and getting any on-chain metadata that is missing.
38
+ async getCollateralMetadata(chain, config) {
39
+ const metadata = {
40
+ name: config.name,
41
+ symbol: config.symbol,
42
+ decimals: config.decimals,
43
+ totalSupply: 0,
44
+ };
45
+ if (metadata.name &&
46
+ metadata.symbol &&
47
+ metadata.decimals !== undefined &&
48
+ metadata.decimals !== null) {
49
+ return metadata;
50
+ }
51
+ const fetchedMetadata = await HypERC20Deployer.fetchMetadata(this.multiProvider.getProvider(chain), config);
52
+ // Filter out undefined values
53
+ const definedConfigMetadata = Object.fromEntries(Object.entries(metadata).filter(([k, v]) => !!k && !!v));
54
+ return {
55
+ ...fetchedMetadata,
56
+ ...definedConfigMetadata,
57
+ };
58
+ }
59
+ async deployCollateral(chain, config) {
60
+ const isFast = (0, config_1.isFastConfig)(config);
61
+ const factory = isFast
62
+ ? new core_1.FastHypERC20Collateral__factory()
63
+ : new core_1.HypERC20Collateral__factory();
64
+ const name = isFast ? 'FastHypERC20Collateral' : 'HypERC20Collateral';
65
+ return this.deployContractFromFactory(chain, factory, name, [
66
+ config.token,
67
+ config.mailbox,
68
+ ]);
69
+ }
70
+ async deployNative(chain, config) {
71
+ let router;
72
+ if (config.scale) {
73
+ router = await this.deployContractFromFactory(chain, new core_1.HypNativeScaled__factory(), 'HypNativeScaled', [config.scale, config.mailbox]);
74
+ }
75
+ else {
76
+ router = await this.deployContractFromFactory(chain, new core_1.HypNative__factory(), 'HypNative', [config.mailbox]);
77
+ }
78
+ return router;
79
+ }
80
+ async deploySynthetic(chain, config) {
81
+ const isFast = (0, config_1.isFastConfig)(config);
82
+ const factory = isFast
83
+ ? new core_1.FastHypERC20__factory()
84
+ : new core_1.HypERC20__factory();
85
+ const name = isFast ? 'FastHypERC20' : 'HypERC20';
86
+ const router = await this.deployContractFromFactory(chain, factory, name, [
87
+ config.decimals,
88
+ config.mailbox,
89
+ ]);
90
+ await this.multiProvider.handleTx(chain, router.initialize(config.totalSupply, config.name, config.symbol));
91
+ return router;
92
+ }
93
+ router(contracts) {
94
+ return contracts.router;
95
+ }
96
+ async deployContracts(chain, config) {
97
+ let router;
98
+ if ((0, config_1.isCollateralConfig)(config)) {
99
+ router = await this.deployCollateral(chain, config);
100
+ }
101
+ else if ((0, config_1.isNativeConfig)(config)) {
102
+ router = await this.deployNative(chain, config);
103
+ }
104
+ else if ((0, config_1.isSyntheticConfig)(config)) {
105
+ router = await this.deploySynthetic(chain, config);
106
+ }
107
+ else {
108
+ throw new Error('Invalid ERC20 token router config');
109
+ }
110
+ return { router };
111
+ }
112
+ async buildTokenMetadata(configMap) {
113
+ let tokenMetadata;
114
+ for (const [chain, config] of Object.entries(configMap)) {
115
+ if ((0, config_1.isCollateralConfig)(config)) {
116
+ const collateralMetadata = await this.getCollateralMetadata(chain, config);
117
+ tokenMetadata = {
118
+ ...collateralMetadata,
119
+ totalSupply: 0,
120
+ };
121
+ }
122
+ else if ((0, config_1.isNativeConfig)(config)) {
123
+ const chainMetadata = this.multiProvider.getChainMetadata(chain);
124
+ if (chainMetadata.nativeToken) {
125
+ tokenMetadata = {
126
+ ...chainMetadata.nativeToken,
127
+ totalSupply: 0,
128
+ };
129
+ }
130
+ else {
131
+ throw new Error(`Warp route config specifies native token but chain metadata for ${chain} does not provide native token details`);
132
+ }
133
+ }
134
+ else if ((0, config_1.isErc20Metadata)(config)) {
135
+ tokenMetadata = config;
136
+ }
137
+ }
138
+ if (!(0, config_1.isErc20Metadata)(tokenMetadata)) {
139
+ throw new Error('Invalid ERC20 token metadata');
140
+ }
141
+ return (0, utils_1.objMap)(configMap, () => tokenMetadata);
142
+ }
143
+ buildGasOverhead(configMap) {
144
+ return (0, utils_1.objMap)(configMap, (_, config) => ({
145
+ gas: HypERC20Deployer.gasOverheadDefault(config),
146
+ }));
147
+ }
148
+ async deploy(configMap) {
149
+ const tokenMetadata = await this.buildTokenMetadata(configMap);
150
+ const gasOverhead = this.buildGasOverhead(configMap);
151
+ const mergedConfig = (0, utils_1.objMap)(configMap, (chain, config) => {
152
+ return {
153
+ ...tokenMetadata[chain],
154
+ ...gasOverhead[chain],
155
+ ...config,
156
+ };
157
+ });
158
+ return super.deploy(mergedConfig);
159
+ }
160
+ }
161
+ exports.HypERC20Deployer = HypERC20Deployer;
162
+ class HypERC721Deployer extends GasRouterDeployer_1.GasRouterDeployer {
163
+ constructor(multiProvider) {
164
+ super(multiProvider, {}); // factories not used in deploy
165
+ }
166
+ static async fetchMetadata(provider, config) {
167
+ const erc721 = core_1.ERC721EnumerableUpgradeable__factory.connect(config.token, provider);
168
+ const [name, symbol, totalSupply] = await Promise.all([
169
+ erc721.name(),
170
+ erc721.symbol(),
171
+ erc721.totalSupply(),
172
+ ]);
173
+ return { name, symbol, totalSupply };
174
+ }
175
+ static gasOverheadDefault(config) {
176
+ switch (config.type) {
177
+ case 'synthetic':
178
+ return 160000;
179
+ case 'syntheticUri':
180
+ return 163000;
181
+ case 'collateral':
182
+ case 'collateralUri':
183
+ default:
184
+ return 80000;
185
+ }
186
+ }
187
+ async deployCollateral(chain, config) {
188
+ let router;
189
+ if ((0, config_1.isUriConfig)(config)) {
190
+ router = await this.deployContractFromFactory(chain, new core_1.HypERC721URICollateral__factory(), 'HypERC721URICollateral', [config.token, config.mailbox]);
191
+ }
192
+ else {
193
+ router = await this.deployContractFromFactory(chain, new core_1.HypERC721Collateral__factory(), 'HypERC721Collateral', [config.token, config.mailbox]);
194
+ }
195
+ return router;
196
+ }
197
+ async deploySynthetic(chain, config) {
198
+ let router;
199
+ if ((0, config_1.isUriConfig)(config)) {
200
+ router = await this.deployContractFromFactory(chain, new core_1.HypERC721URIStorage__factory(), 'HypERC721URIStorage', [config.mailbox]);
201
+ }
202
+ else {
203
+ router = await this.deployContractFromFactory(chain, new core_1.HypERC721__factory(), 'HypERC721', [config.mailbox]);
204
+ }
205
+ await this.multiProvider.handleTx(chain, router.initialize(config.totalSupply, config.name, config.symbol));
206
+ return router;
207
+ }
208
+ router(contracts) {
209
+ return contracts.router;
210
+ }
211
+ async deployContracts(chain, config) {
212
+ let router;
213
+ if ((0, config_1.isCollateralConfig)(config)) {
214
+ router = await this.deployCollateral(chain, config);
215
+ }
216
+ else if ((0, config_1.isSyntheticConfig)(config)) {
217
+ router = await this.deploySynthetic(chain, config);
218
+ }
219
+ else {
220
+ throw new Error('Invalid ERC721 token router config');
221
+ }
222
+ return { router };
223
+ }
224
+ async buildTokenMetadata(configMap) {
225
+ let tokenMetadata;
226
+ for (const [chain, config] of Object.entries(configMap)) {
227
+ if ((0, config_1.isCollateralConfig)(config)) {
228
+ const collateralMetadata = await HypERC721Deployer.fetchMetadata(this.multiProvider.getProvider(chain), config);
229
+ tokenMetadata = {
230
+ ...collateralMetadata,
231
+ totalSupply: 0,
232
+ };
233
+ }
234
+ else if ((0, config_1.isTokenMetadata)(config)) {
235
+ tokenMetadata = config;
236
+ }
237
+ }
238
+ if (!(0, config_1.isTokenMetadata)(tokenMetadata)) {
239
+ throw new Error('Invalid ERC721 token metadata');
240
+ }
241
+ return (0, utils_1.objMap)(configMap, () => tokenMetadata);
242
+ }
243
+ buildGasOverhead(configMap) {
244
+ return (0, utils_1.objMap)(configMap, (_, config) => ({
245
+ gas: HypERC721Deployer.gasOverheadDefault(config),
246
+ }));
247
+ }
248
+ async deploy(configMap) {
249
+ const tokenMetadata = await this.buildTokenMetadata(configMap);
250
+ const gasOverhead = this.buildGasOverhead(configMap);
251
+ const mergedConfig = (0, utils_1.objMap)(configMap, (chain, config) => {
252
+ return {
253
+ ...tokenMetadata[chain],
254
+ ...gasOverhead[chain],
255
+ ...config,
256
+ };
257
+ });
258
+ return super.deploy(mergedConfig);
259
+ }
260
+ }
261
+ exports.HypERC721Deployer = HypERC721Deployer;
262
+ //# 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.8",
4
+ "version": "3.0.0-beta0",
5
5
  "dependencies": {
6
- "@hyperlane-xyz/core": "1.5.8",
7
- "@hyperlane-xyz/utils": "1.5.8",
6
+ "@hyperlane-xyz/core": "3.0.0-beta0",
7
+ "@hyperlane-xyz/utils": "3.0.0-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"}
@@ -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