@hyperlane-xyz/sdk 0.5.5 → 1.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 (272) hide show
  1. package/package.json +3 -3
  2. package/dist/HyperlaneApp.d.ts +0 -13
  3. package/dist/HyperlaneApp.d.ts.map +0 -1
  4. package/dist/HyperlaneApp.js +0 -25
  5. package/dist/HyperlaneApp.js.map +0 -1
  6. package/dist/consts/chainConnectionConfigs.d.ts +0 -29
  7. package/dist/consts/chainConnectionConfigs.d.ts.map +0 -1
  8. package/dist/consts/chainConnectionConfigs.js +0 -146
  9. package/dist/consts/chainConnectionConfigs.js.map +0 -1
  10. package/dist/consts/chainMetadata.d.ts +0 -44
  11. package/dist/consts/chainMetadata.d.ts.map +0 -1
  12. package/dist/consts/chainMetadata.js +0 -144
  13. package/dist/consts/chainMetadata.js.map +0 -1
  14. package/dist/consts/chains.d.ts +0 -38
  15. package/dist/consts/chains.d.ts.map +0 -1
  16. package/dist/consts/chains.js +0 -52
  17. package/dist/consts/chains.js.map +0 -1
  18. package/dist/consts/environments/index.d.ts +0 -1493
  19. package/dist/consts/environments/index.d.ts.map +0 -1
  20. package/dist/consts/environments/index.js +0 -28
  21. package/dist/consts/environments/index.js.map +0 -1
  22. package/dist/consts/environments/mainnet.json +0 -682
  23. package/dist/consts/environments/test.json +0 -113
  24. package/dist/consts/environments/testnet2.json +0 -682
  25. package/dist/consts/metamask.d.ts +0 -17
  26. package/dist/consts/metamask.d.ts.map +0 -1
  27. package/dist/consts/metamask.js +0 -50
  28. package/dist/consts/metamask.js.map +0 -1
  29. package/dist/contracts.d.ts +0 -17
  30. package/dist/contracts.d.ts.map +0 -1
  31. package/dist/contracts.js +0 -61
  32. package/dist/contracts.js.map +0 -1
  33. package/dist/core/HyperlaneCore.d.ts +0 -1523
  34. package/dist/core/HyperlaneCore.d.ts.map +0 -1
  35. package/dist/core/HyperlaneCore.js +0 -132
  36. package/dist/core/HyperlaneCore.js.map +0 -1
  37. package/dist/core/HyperlaneCore.test.d.ts +0 -2
  38. package/dist/core/HyperlaneCore.test.d.ts.map +0 -1
  39. package/dist/core/HyperlaneCore.test.js +0 -27
  40. package/dist/core/HyperlaneCore.test.js.map +0 -1
  41. package/dist/core/TestCoreApp.d.ts +0 -27
  42. package/dist/core/TestCoreApp.d.ts.map +0 -1
  43. package/dist/core/TestCoreApp.js +0 -63
  44. package/dist/core/TestCoreApp.js.map +0 -1
  45. package/dist/core/TestCoreDeployer.d.ts +0 -13
  46. package/dist/core/TestCoreDeployer.d.ts.map +0 -1
  47. package/dist/core/TestCoreDeployer.js +0 -85
  48. package/dist/core/TestCoreDeployer.js.map +0 -1
  49. package/dist/core/contracts.d.ts +0 -33
  50. package/dist/core/contracts.d.ts.map +0 -1
  51. package/dist/core/contracts.js +0 -14
  52. package/dist/core/contracts.js.map +0 -1
  53. package/dist/core/events.d.ts +0 -9
  54. package/dist/core/events.d.ts.map +0 -1
  55. package/dist/core/events.js +0 -3
  56. package/dist/core/events.js.map +0 -1
  57. package/dist/core/message.d.ts +0 -161
  58. package/dist/core/message.d.ts.map +0 -1
  59. package/dist/core/message.js +0 -310
  60. package/dist/core/message.js.map +0 -1
  61. package/dist/core/testHyperlaneDeploy.hardhat-test.d.ts +0 -3
  62. package/dist/core/testHyperlaneDeploy.hardhat-test.d.ts.map +0 -1
  63. package/dist/core/testHyperlaneDeploy.hardhat-test.js +0 -66
  64. package/dist/core/testHyperlaneDeploy.hardhat-test.js.map +0 -1
  65. package/dist/deploy/HyperlaneAppChecker.d.ts +0 -22
  66. package/dist/deploy/HyperlaneAppChecker.d.ts.map +0 -1
  67. package/dist/deploy/HyperlaneAppChecker.js +0 -84
  68. package/dist/deploy/HyperlaneAppChecker.js.map +0 -1
  69. package/dist/deploy/HyperlaneDeployer.d.ts +0 -45
  70. package/dist/deploy/HyperlaneDeployer.d.ts.map +0 -1
  71. package/dist/deploy/HyperlaneDeployer.js +0 -187
  72. package/dist/deploy/HyperlaneDeployer.js.map +0 -1
  73. package/dist/deploy/core/HyperlaneCoreChecker.d.ts +0 -17
  74. package/dist/deploy/core/HyperlaneCoreChecker.d.ts.map +0 -1
  75. package/dist/deploy/core/HyperlaneCoreChecker.js +0 -208
  76. package/dist/deploy/core/HyperlaneCoreChecker.js.map +0 -1
  77. package/dist/deploy/core/HyperlaneCoreDeployer.d.ts +0 -33
  78. package/dist/deploy/core/HyperlaneCoreDeployer.d.ts.map +0 -1
  79. package/dist/deploy/core/HyperlaneCoreDeployer.js +0 -135
  80. package/dist/deploy/core/HyperlaneCoreDeployer.js.map +0 -1
  81. package/dist/deploy/core/types.d.ts +0 -64
  82. package/dist/deploy/core/types.d.ts.map +0 -1
  83. package/dist/deploy/core/types.js +0 -23
  84. package/dist/deploy/core/types.js.map +0 -1
  85. package/dist/deploy/middleware/LiquidityLayerApp.d.ts +0 -34
  86. package/dist/deploy/middleware/LiquidityLayerApp.d.ts.map +0 -1
  87. package/dist/deploy/middleware/LiquidityLayerApp.js +0 -180
  88. package/dist/deploy/middleware/LiquidityLayerApp.js.map +0 -1
  89. package/dist/deploy/middleware/LiquidityLayerRouterDeployer.d.ts +0 -44
  90. package/dist/deploy/middleware/LiquidityLayerRouterDeployer.d.ts.map +0 -1
  91. package/dist/deploy/middleware/LiquidityLayerRouterDeployer.js +0 -127
  92. package/dist/deploy/middleware/LiquidityLayerRouterDeployer.js.map +0 -1
  93. package/dist/deploy/middleware/TokenBridgeApp.d.ts +0 -26
  94. package/dist/deploy/middleware/TokenBridgeApp.d.ts.map +0 -1
  95. package/dist/deploy/middleware/TokenBridgeApp.js +0 -115
  96. package/dist/deploy/middleware/TokenBridgeApp.js.map +0 -1
  97. package/dist/deploy/middleware/TokenBridgeRouterDeployer.d.ts +0 -33
  98. package/dist/deploy/middleware/TokenBridgeRouterDeployer.d.ts.map +0 -1
  99. package/dist/deploy/middleware/TokenBridgeRouterDeployer.js +0 -93
  100. package/dist/deploy/middleware/TokenBridgeRouterDeployer.js.map +0 -1
  101. package/dist/deploy/middleware/deploy.d.ts +0 -21
  102. package/dist/deploy/middleware/deploy.d.ts.map +0 -1
  103. package/dist/deploy/middleware/deploy.js +0 -62
  104. package/dist/deploy/middleware/deploy.js.map +0 -1
  105. package/dist/deploy/proxy.d.ts +0 -17
  106. package/dist/deploy/proxy.d.ts.map +0 -1
  107. package/dist/deploy/proxy.js +0 -35
  108. package/dist/deploy/proxy.js.map +0 -1
  109. package/dist/deploy/router/HyperlaneRouterChecker.d.ts +0 -14
  110. package/dist/deploy/router/HyperlaneRouterChecker.d.ts.map +0 -1
  111. package/dist/deploy/router/HyperlaneRouterChecker.js +0 -53
  112. package/dist/deploy/router/HyperlaneRouterChecker.js.map +0 -1
  113. package/dist/deploy/router/HyperlaneRouterDeployer.d.ts +0 -13
  114. package/dist/deploy/router/HyperlaneRouterDeployer.d.ts.map +0 -1
  115. package/dist/deploy/router/HyperlaneRouterDeployer.js +0 -108
  116. package/dist/deploy/router/HyperlaneRouterDeployer.js.map +0 -1
  117. package/dist/deploy/router/types.d.ts +0 -7
  118. package/dist/deploy/router/types.d.ts.map +0 -1
  119. package/dist/deploy/router/types.js +0 -3
  120. package/dist/deploy/router/types.js.map +0 -1
  121. package/dist/deploy/types.d.ts +0 -23
  122. package/dist/deploy/types.d.ts.map +0 -1
  123. package/dist/deploy/types.js +0 -9
  124. package/dist/deploy/types.js.map +0 -1
  125. package/dist/deploy/utils.d.ts +0 -10
  126. package/dist/deploy/utils.d.ts.map +0 -1
  127. package/dist/deploy/utils.js +0 -38
  128. package/dist/deploy/utils.js.map +0 -1
  129. package/dist/deploy/verify/ContractVerifier.d.ts +0 -19
  130. package/dist/deploy/verify/ContractVerifier.d.ts.map +0 -1
  131. package/dist/deploy/verify/ContractVerifier.js +0 -137
  132. package/dist/deploy/verify/ContractVerifier.js.map +0 -1
  133. package/dist/deploy/verify/types.d.ts +0 -14
  134. package/dist/deploy/verify/types.d.ts.map +0 -1
  135. package/dist/deploy/verify/types.js +0 -3
  136. package/dist/deploy/verify/types.js.map +0 -1
  137. package/dist/deploy/verify/utils.d.ts +0 -6
  138. package/dist/deploy/verify/utils.d.ts.map +0 -1
  139. package/dist/deploy/verify/utils.js +0 -25
  140. package/dist/deploy/verify/utils.js.map +0 -1
  141. package/dist/domains.d.ts +0 -4
  142. package/dist/domains.d.ts.map +0 -1
  143. package/dist/domains.js +0 -12
  144. package/dist/domains.js.map +0 -1
  145. package/dist/events.d.ts +0 -25
  146. package/dist/events.d.ts.map +0 -1
  147. package/dist/events.js +0 -161
  148. package/dist/events.js.map +0 -1
  149. package/dist/gas/calculator.d.ts +0 -134
  150. package/dist/gas/calculator.d.ts.map +0 -1
  151. package/dist/gas/calculator.js +0 -235
  152. package/dist/gas/calculator.js.map +0 -1
  153. package/dist/gas/calculator.test.d.ts +0 -2
  154. package/dist/gas/calculator.test.d.ts.map +0 -1
  155. package/dist/gas/calculator.test.js +0 -211
  156. package/dist/gas/calculator.test.js.map +0 -1
  157. package/dist/gas/token-prices.d.ts +0 -34
  158. package/dist/gas/token-prices.d.ts.map +0 -1
  159. package/dist/gas/token-prices.js +0 -105
  160. package/dist/gas/token-prices.js.map +0 -1
  161. package/dist/gas/token-prices.test.d.ts +0 -2
  162. package/dist/gas/token-prices.test.d.ts.map +0 -1
  163. package/dist/gas/token-prices.test.js +0 -46
  164. package/dist/gas/token-prices.test.js.map +0 -1
  165. package/dist/index.d.ts +0 -46
  166. package/dist/index.d.ts.map +0 -1
  167. package/dist/index.js +0 -134
  168. package/dist/index.js.map +0 -1
  169. package/dist/middleware/accounts.hardhat-test.d.ts +0 -2
  170. package/dist/middleware/accounts.hardhat-test.d.ts.map +0 -1
  171. package/dist/middleware/accounts.hardhat-test.js +0 -63
  172. package/dist/middleware/accounts.hardhat-test.js.map +0 -1
  173. package/dist/middleware/accounts.test.d.ts +0 -2
  174. package/dist/middleware/accounts.test.d.ts.map +0 -1
  175. package/dist/middleware/accounts.test.js +0 -61
  176. package/dist/middleware/accounts.test.js.map +0 -1
  177. package/dist/middleware/liquidity-layer.hardhat-test.d.ts +0 -2
  178. package/dist/middleware/liquidity-layer.hardhat-test.d.ts.map +0 -1
  179. package/dist/middleware/liquidity-layer.hardhat-test.js +0 -116
  180. package/dist/middleware/liquidity-layer.hardhat-test.js.map +0 -1
  181. package/dist/middleware/queries.hardhat-test.d.ts +0 -2
  182. package/dist/middleware/queries.hardhat-test.d.ts.map +0 -1
  183. package/dist/middleware/queries.hardhat-test.js +0 -69
  184. package/dist/middleware/queries.hardhat-test.js.map +0 -1
  185. package/dist/middleware/queries.test.d.ts +0 -2
  186. package/dist/middleware/queries.test.d.ts.map +0 -1
  187. package/dist/middleware/queries.test.js +0 -69
  188. package/dist/middleware/queries.test.js.map +0 -1
  189. package/dist/middleware/tokenbridge.hardhat-test.d.ts +0 -2
  190. package/dist/middleware/tokenbridge.hardhat-test.d.ts.map +0 -1
  191. package/dist/middleware/tokenbridge.hardhat-test.js +0 -89
  192. package/dist/middleware/tokenbridge.hardhat-test.js.map +0 -1
  193. package/dist/middleware.d.ts +0 -18
  194. package/dist/middleware.d.ts.map +0 -1
  195. package/dist/middleware.js +0 -16
  196. package/dist/middleware.js.map +0 -1
  197. package/dist/providers/ChainConnection.d.ts +0 -22
  198. package/dist/providers/ChainConnection.d.ts.map +0 -1
  199. package/dist/providers/ChainConnection.js +0 -67
  200. package/dist/providers/ChainConnection.js.map +0 -1
  201. package/dist/providers/MultiProvider.d.ts +0 -56
  202. package/dist/providers/MultiProvider.d.ts.map +0 -1
  203. package/dist/providers/MultiProvider.js +0 -111
  204. package/dist/providers/MultiProvider.js.map +0 -1
  205. package/dist/providers/RetryProvider.d.ts +0 -18
  206. package/dist/providers/RetryProvider.d.ts.map +0 -1
  207. package/dist/providers/RetryProvider.js +0 -49
  208. package/dist/providers/RetryProvider.js.map +0 -1
  209. package/dist/proxy.d.ts +0 -23
  210. package/dist/proxy.d.ts.map +0 -1
  211. package/dist/proxy.js +0 -30
  212. package/dist/proxy.js.map +0 -1
  213. package/dist/router.d.ts +0 -19
  214. package/dist/router.d.ts.map +0 -1
  215. package/dist/router.js +0 -3
  216. package/dist/router.js.map +0 -1
  217. package/dist/test/envSubsetDeployer/app.d.ts +0 -36
  218. package/dist/test/envSubsetDeployer/app.d.ts.map +0 -1
  219. package/dist/test/envSubsetDeployer/app.js +0 -77
  220. package/dist/test/envSubsetDeployer/app.js.map +0 -1
  221. package/dist/test/envSubsetDeployer/check-single-chain.d.ts +0 -2
  222. package/dist/test/envSubsetDeployer/check-single-chain.d.ts.map +0 -1
  223. package/dist/test/envSubsetDeployer/check-single-chain.js +0 -49
  224. package/dist/test/envSubsetDeployer/check-single-chain.js.map +0 -1
  225. package/dist/test/envSubsetDeployer/deploy-single-chain.d.ts +0 -2
  226. package/dist/test/envSubsetDeployer/deploy-single-chain.d.ts.map +0 -1
  227. package/dist/test/envSubsetDeployer/deploy-single-chain.js +0 -42
  228. package/dist/test/envSubsetDeployer/deploy-single-chain.js.map +0 -1
  229. package/dist/test/envSubsetDeployer/deploy.hardhat-test.d.ts +0 -2
  230. package/dist/test/envSubsetDeployer/deploy.hardhat-test.d.ts.map +0 -1
  231. package/dist/test/envSubsetDeployer/deploy.hardhat-test.js +0 -83
  232. package/dist/test/envSubsetDeployer/deploy.hardhat-test.js.map +0 -1
  233. package/dist/test/envSubsetDeployer/utils.d.ts +0 -7
  234. package/dist/test/envSubsetDeployer/utils.d.ts.map +0 -1
  235. package/dist/test/envSubsetDeployer/utils.js +0 -25
  236. package/dist/test/envSubsetDeployer/utils.js.map +0 -1
  237. package/dist/test/testUtils.d.ts +0 -31
  238. package/dist/test/testUtils.d.ts.map +0 -1
  239. package/dist/test/testUtils.js +0 -106
  240. package/dist/test/testUtils.js.map +0 -1
  241. package/dist/tokenBridge.d.ts +0 -10
  242. package/dist/tokenBridge.d.ts.map +0 -1
  243. package/dist/tokenBridge.js +0 -9
  244. package/dist/tokenBridge.js.map +0 -1
  245. package/dist/types.d.ts +0 -21
  246. package/dist/types.d.ts.map +0 -1
  247. package/dist/types.js +0 -3
  248. package/dist/types.js.map +0 -1
  249. package/dist/utils/MultiGeneric.d.ts +0 -27
  250. package/dist/utils/MultiGeneric.d.ts.map +0 -1
  251. package/dist/utils/MultiGeneric.js +0 -70
  252. package/dist/utils/MultiGeneric.js.map +0 -1
  253. package/dist/utils/ids.d.ts +0 -20
  254. package/dist/utils/ids.d.ts.map +0 -1
  255. package/dist/utils/ids.js +0 -47
  256. package/dist/utils/ids.js.map +0 -1
  257. package/dist/utils/number.d.ts +0 -32
  258. package/dist/utils/number.d.ts.map +0 -1
  259. package/dist/utils/number.js +0 -59
  260. package/dist/utils/number.js.map +0 -1
  261. package/dist/utils/objects.d.ts +0 -8
  262. package/dist/utils/objects.d.ts.map +0 -1
  263. package/dist/utils/objects.js +0 -33
  264. package/dist/utils/objects.js.map +0 -1
  265. package/dist/utils/time.d.ts +0 -8
  266. package/dist/utils/time.d.ts.map +0 -1
  267. package/dist/utils/time.js +0 -15
  268. package/dist/utils/time.js.map +0 -1
  269. package/dist/utils/utils.test.d.ts +0 -2
  270. package/dist/utils/utils.test.d.ts.map +0 -1
  271. package/dist/utils/utils.test.js +0 -41
  272. package/dist/utils/utils.test.js.map +0 -1
@@ -1,161 +0,0 @@
1
- import { BigNumber, providers } from 'ethers';
2
- import { Inbox, Outbox } from '@hyperlane-xyz/core';
3
- import { types } from '@hyperlane-xyz/utils';
4
- import { MultiProvider } from '../providers/MultiProvider';
5
- import { ChainName, NameOrDomain } from '../types';
6
- import { HyperlaneCore } from './HyperlaneCore';
7
- import { AnnotatedDispatch, AnnotatedLifecycleEvent, AnnotatedProcess } from './events';
8
- export declare const resolveDomain: (nameOrDomain: NameOrDomain) => ChainName;
9
- export declare const resolveId: (nameOrDomain: NameOrDomain) => number;
10
- export declare const resolveChains: (message: types.ParsedMessage) => {
11
- origin: ChainName;
12
- destination: ChainName;
13
- };
14
- export declare type HyperlaneStatus = {
15
- status: MessageStatus;
16
- events: AnnotatedLifecycleEvent[];
17
- };
18
- export declare enum MessageStatus {
19
- Dispatched = 0,
20
- Included = 1,
21
- Relayed = 2,
22
- Processed = 3
23
- }
24
- export declare enum InboxMessageStatus {
25
- None = 0,
26
- Processed = 1
27
- }
28
- export declare type EventCache = {
29
- process?: AnnotatedProcess;
30
- };
31
- /**
32
- * A deserialized Hyperlane message.
33
- */
34
- export declare class HyperlaneMessage {
35
- readonly dispatch: AnnotatedDispatch;
36
- readonly message: types.ParsedMessage;
37
- readonly outbox: Outbox;
38
- readonly inbox: Inbox;
39
- readonly multiProvider: MultiProvider;
40
- readonly core: HyperlaneCore;
41
- protected cache: EventCache;
42
- constructor(multiProvider: MultiProvider, core: HyperlaneCore, dispatch: AnnotatedDispatch);
43
- /**
44
- * The receipt of the TX that dispatched this message
45
- */
46
- get receipt(): providers.TransactionReceipt;
47
- /**
48
- * Instantiate one or more messages from a receipt.
49
- *
50
- * @param core the {@link HyperlaneCore} object to use
51
- * @param nameOrDomain the domain on which the receipt was logged
52
- * @param receipt the receipt
53
- * @returns an array of {@link HyperlaneMessage} objects
54
- */
55
- static fromReceipt(multiProvider: MultiProvider, core: HyperlaneCore, nameOrDomain: NameOrDomain, receipt: providers.TransactionReceipt): HyperlaneMessage[];
56
- /**
57
- * Instantiate EXACTLY one message from a receipt.
58
- *
59
- * @param core the {@link HyperlaneCore} object to use
60
- * @param nameOrDomain the domain on which the receipt was logged
61
- * @param receipt the receipt
62
- * @returns an array of {@link HyperlaneMessage} objects
63
- * @throws if there is not EXACTLY 1 dispatch in the receipt
64
- */
65
- static singleFromReceipt(multiProvider: MultiProvider, core: HyperlaneCore, nameOrDomain: NameOrDomain, receipt: providers.TransactionReceipt): HyperlaneMessage;
66
- /**
67
- * Instantiate one or more messages from a tx hash.
68
- *
69
- * @param core the {@link HyperlaneCore} object to use
70
- * @param nameOrDomain the domain on which the receipt was logged
71
- * @param receipt the receipt
72
- * @returns an array of {@link HyperlaneMessage} objects
73
- * @throws if there is no receipt for the TX
74
- */
75
- static fromTransactionHash(multiProvider: MultiProvider, core: HyperlaneCore, nameOrDomain: NameOrDomain, transactionHash: string): Promise<HyperlaneMessage[]>;
76
- /**
77
- * Instantiate EXACTLY one message from a transaction has.
78
- *
79
- * @param core the {@link HyperlaneCore} object to use
80
- * @param nameOrDomain the domain on which the receipt was logged
81
- * @param receipt the receipt
82
- * @returns an array of {@link HyperlaneMessage} objects
83
- * @throws if there is no receipt for the TX, or if not EXACTLY 1 dispatch in
84
- * the receipt
85
- */
86
- static singleFromTransactionHash(multiProvider: MultiProvider, core: HyperlaneCore, nameOrDomain: NameOrDomain, transactionHash: string): Promise<HyperlaneMessage>;
87
- /**
88
- * Get the Inbox `Process` event associated with this message (if any)
89
- *
90
- * @returns An {@link AnnotatedProcess} (if any)
91
- */
92
- getProcess(): Promise<AnnotatedProcess | undefined>;
93
- /**
94
- * Get all lifecycle events associated with this message
95
- *
96
- * @returns An array of {@link AnnotatedLifecycleEvent} objects
97
- */
98
- events(): Promise<HyperlaneStatus>;
99
- /**
100
- * Retrieve the inbox status of this message.
101
- *
102
- * @returns The {@link InboxMessageStatus} corresponding to the solidity
103
- * status of the message.
104
- */
105
- inboxStatus(): Promise<InboxMessageStatus>;
106
- /**
107
- * Checks whether the message has been delivered.
108
- *
109
- * @returns true if processed, else false.
110
- */
111
- delivered(): Promise<boolean>;
112
- /**
113
- * Returns a promise that resolves when the message has been delivered.
114
- *
115
- * WARNING: May never resolve. Oftern takes hours to resolve.
116
- *
117
- * @param opts Polling options.
118
- */
119
- wait(opts?: {
120
- pollTime?: number;
121
- }): Promise<void>;
122
- /**
123
- * The domain from which the message was sent.
124
- */
125
- get origin(): number;
126
- get originName(): ChainName;
127
- /**
128
- * The identifier for the sender of this message
129
- */
130
- get sender(): string;
131
- /**
132
- * The destination domain for this message
133
- */
134
- get destination(): number;
135
- get destinationName(): ChainName;
136
- /**
137
- * The identifer for the recipient for this message
138
- */
139
- get recipient(): string;
140
- /**
141
- * The message body
142
- */
143
- get body(): string;
144
- /**
145
- * The keccak256 hash of the message body
146
- */
147
- get bodyHash(): string;
148
- /**
149
- * The hash of the transaction that dispatched this message
150
- */
151
- get transactionHash(): string;
152
- /**
153
- * The messageHash committed to the tree in the Outbox contract.
154
- */
155
- get leaf(): string;
156
- /**
157
- * The index of the leaf in the contract.
158
- */
159
- get leafIndex(): BigNumber;
160
- }
161
- //# sourceMappingURL=message.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../src/core/message.ts"],"names":[],"mappings":"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"}
@@ -1,310 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.HyperlaneMessage = exports.InboxMessageStatus = exports.MessageStatus = exports.resolveChains = exports.resolveId = exports.resolveDomain = void 0;
13
- const ethers_1 = require("ethers");
14
- const core_1 = require("@hyperlane-xyz/core");
15
- const utils_1 = require("@hyperlane-xyz/utils");
16
- const domains_1 = require("../domains");
17
- const events_1 = require("../events");
18
- const time_1 = require("../utils/time");
19
- const resolveDomain = (nameOrDomain) => typeof nameOrDomain === 'number'
20
- ? domains_1.DomainIdToChainName[nameOrDomain]
21
- : nameOrDomain;
22
- exports.resolveDomain = resolveDomain;
23
- const resolveId = (nameOrDomain) => typeof nameOrDomain === 'string'
24
- ? domains_1.ChainNameToDomainId[nameOrDomain]
25
- : nameOrDomain;
26
- exports.resolveId = resolveId;
27
- const resolveChains = (message) => {
28
- return {
29
- origin: (0, exports.resolveDomain)(message.origin),
30
- destination: (0, exports.resolveDomain)(message.destination),
31
- };
32
- };
33
- exports.resolveChains = resolveChains;
34
- var MessageStatus;
35
- (function (MessageStatus) {
36
- MessageStatus[MessageStatus["Dispatched"] = 0] = "Dispatched";
37
- MessageStatus[MessageStatus["Included"] = 1] = "Included";
38
- MessageStatus[MessageStatus["Relayed"] = 2] = "Relayed";
39
- MessageStatus[MessageStatus["Processed"] = 3] = "Processed";
40
- })(MessageStatus = exports.MessageStatus || (exports.MessageStatus = {}));
41
- var InboxMessageStatus;
42
- (function (InboxMessageStatus) {
43
- InboxMessageStatus[InboxMessageStatus["None"] = 0] = "None";
44
- InboxMessageStatus[InboxMessageStatus["Processed"] = 1] = "Processed";
45
- })(InboxMessageStatus = exports.InboxMessageStatus || (exports.InboxMessageStatus = {}));
46
- // TODO: move HyperlaneMessage into HyperlaneCore app
47
- /**
48
- * A deserialized Hyperlane message.
49
- */
50
- class HyperlaneMessage {
51
- constructor(multiProvider, core, dispatch) {
52
- this.multiProvider = multiProvider;
53
- this.core = core;
54
- this.message = utils_1.utils.parseMessage(dispatch.event.args.message);
55
- this.dispatch = dispatch;
56
- const messageChains = (0, exports.resolveChains)(this.message);
57
- const mailboxes = core.getMailboxPair(messageChains.origin, // TODO: Fix never type that results from Exclude<T, T>
58
- messageChains.destination);
59
- this.outbox = mailboxes.originOutbox;
60
- this.inbox = mailboxes.destinationInbox;
61
- this.cache = {};
62
- }
63
- /**
64
- * The receipt of the TX that dispatched this message
65
- */
66
- get receipt() {
67
- return this.dispatch.receipt;
68
- }
69
- /**
70
- * Instantiate one or more messages from a receipt.
71
- *
72
- * @param core the {@link HyperlaneCore} object to use
73
- * @param nameOrDomain the domain on which the receipt was logged
74
- * @param receipt the receipt
75
- * @returns an array of {@link HyperlaneMessage} objects
76
- */
77
- static fromReceipt(multiProvider, core, nameOrDomain, receipt) {
78
- const messages = [];
79
- const outbox = new core_1.Outbox__factory().interface;
80
- const chain = (0, exports.resolveDomain)(nameOrDomain);
81
- const provider = multiProvider.getChainConnection(chain).provider;
82
- for (const log of receipt.logs) {
83
- try {
84
- const parsed = outbox.parseLog(log);
85
- if (parsed.name === 'Dispatch') {
86
- const dispatch = Object.assign(Object.assign({}, parsed), { getBlock: () => provider.getBlock(log.blockHash), getTransaction: () => provider.getTransaction(log.transactionHash), getTransactionReceipt: () => provider.getTransactionReceipt(log.transactionHash) });
87
- const annotated = new events_1.Annotated((0, exports.resolveId)(nameOrDomain), receipt, dispatch, true);
88
- annotated.event.blockNumber = annotated.receipt.blockNumber;
89
- const message = new HyperlaneMessage(multiProvider, core, annotated);
90
- messages.push(message);
91
- }
92
- }
93
- catch (e) {
94
- continue;
95
- }
96
- }
97
- return messages;
98
- }
99
- /**
100
- * Instantiate EXACTLY one message from a receipt.
101
- *
102
- * @param core the {@link HyperlaneCore} object to use
103
- * @param nameOrDomain the domain on which the receipt was logged
104
- * @param receipt the receipt
105
- * @returns an array of {@link HyperlaneMessage} objects
106
- * @throws if there is not EXACTLY 1 dispatch in the receipt
107
- */
108
- static singleFromReceipt(multiProvider, core, nameOrDomain, receipt) {
109
- const messages = HyperlaneMessage.fromReceipt(multiProvider, core, nameOrDomain, receipt);
110
- if (messages.length !== 1) {
111
- throw new Error('Expected single Dispatch in transaction');
112
- }
113
- return messages[0];
114
- }
115
- /**
116
- * Instantiate one or more messages from a tx hash.
117
- *
118
- * @param core the {@link HyperlaneCore} object to use
119
- * @param nameOrDomain the domain on which the receipt was logged
120
- * @param receipt the receipt
121
- * @returns an array of {@link HyperlaneMessage} objects
122
- * @throws if there is no receipt for the TX
123
- */
124
- static fromTransactionHash(multiProvider, core, nameOrDomain, transactionHash) {
125
- return __awaiter(this, void 0, void 0, function* () {
126
- const provider = multiProvider.getChainConnection((0, exports.resolveDomain)(nameOrDomain)).provider;
127
- const receipt = yield provider.getTransactionReceipt(transactionHash);
128
- if (!receipt) {
129
- throw new Error(`No receipt for ${transactionHash} on ${nameOrDomain}`);
130
- }
131
- return HyperlaneMessage.fromReceipt(multiProvider, core, nameOrDomain, receipt);
132
- });
133
- }
134
- /**
135
- * Instantiate EXACTLY one message from a transaction has.
136
- *
137
- * @param core the {@link HyperlaneCore} object to use
138
- * @param nameOrDomain the domain on which the receipt was logged
139
- * @param receipt the receipt
140
- * @returns an array of {@link HyperlaneMessage} objects
141
- * @throws if there is no receipt for the TX, or if not EXACTLY 1 dispatch in
142
- * the receipt
143
- */
144
- static singleFromTransactionHash(multiProvider, core, nameOrDomain, transactionHash) {
145
- return __awaiter(this, void 0, void 0, function* () {
146
- const provider = multiProvider.getChainConnection((0, exports.resolveDomain)(nameOrDomain)).provider;
147
- const receipt = yield provider.getTransactionReceipt(transactionHash);
148
- if (!receipt) {
149
- throw new Error(`No receipt for ${transactionHash} on ${nameOrDomain}`);
150
- }
151
- return HyperlaneMessage.singleFromReceipt(multiProvider, core, nameOrDomain, receipt);
152
- });
153
- }
154
- /**
155
- * Get the Inbox `Process` event associated with this message (if any)
156
- *
157
- * @returns An {@link AnnotatedProcess} (if any)
158
- */
159
- getProcess() {
160
- return __awaiter(this, void 0, void 0, function* () {
161
- // if we have already gotten the event,
162
- // return it without re-querying
163
- if (this.cache.process) {
164
- return this.cache.process;
165
- }
166
- // if not, attempt to query the event
167
- const processFilter = this.inbox.filters.Process(this.leaf);
168
- const processLogs = yield (0, events_1.findAnnotatedSingleEvent)(this.multiProvider, this.destinationName, this.inbox, processFilter);
169
- if (processLogs.length === 1) {
170
- // if event is returned, store it to the object
171
- this.cache.process = processLogs[0];
172
- }
173
- else if (processLogs.length > 1) {
174
- throw new Error('multiple inbox process for same message');
175
- }
176
- // return the process or undefined if it doesn't exist
177
- return this.cache.process;
178
- });
179
- }
180
- /**
181
- * Get all lifecycle events associated with this message
182
- *
183
- * @returns An array of {@link AnnotatedLifecycleEvent} objects
184
- */
185
- events() {
186
- return __awaiter(this, void 0, void 0, function* () {
187
- const events = [this.dispatch];
188
- // attempt to get Inbox process
189
- const process = yield this.getProcess();
190
- if (!process) {
191
- // NOTE: when this is the status, you may way to
192
- // query confirmAt() to check if challenge period
193
- // on the Inbox has elapsed or not
194
- return {
195
- status: MessageStatus.Relayed,
196
- events,
197
- };
198
- }
199
- events.push(process);
200
- return {
201
- status: MessageStatus.Processed,
202
- events,
203
- };
204
- });
205
- }
206
- /**
207
- * Retrieve the inbox status of this message.
208
- *
209
- * @returns The {@link InboxMessageStatus} corresponding to the solidity
210
- * status of the message.
211
- */
212
- inboxStatus() {
213
- return __awaiter(this, void 0, void 0, function* () {
214
- return this.inbox.messages(this.leaf);
215
- });
216
- }
217
- /**
218
- * Checks whether the message has been delivered.
219
- *
220
- * @returns true if processed, else false.
221
- */
222
- delivered() {
223
- return __awaiter(this, void 0, void 0, function* () {
224
- const status = yield this.inboxStatus();
225
- return status === InboxMessageStatus.Processed;
226
- });
227
- }
228
- /**
229
- * Returns a promise that resolves when the message has been delivered.
230
- *
231
- * WARNING: May never resolve. Oftern takes hours to resolve.
232
- *
233
- * @param opts Polling options.
234
- */
235
- wait(opts) {
236
- var _a;
237
- return __awaiter(this, void 0, void 0, function* () {
238
- const interval = (_a = opts === null || opts === void 0 ? void 0 : opts.pollTime) !== null && _a !== void 0 ? _a : 5000;
239
- // sad spider face
240
- for (;;) {
241
- if (yield this.delivered()) {
242
- return;
243
- }
244
- yield (0, time_1.delay)(interval);
245
- }
246
- });
247
- }
248
- /**
249
- * The domain from which the message was sent.
250
- */
251
- get origin() {
252
- return this.message.origin;
253
- }
254
- get originName() {
255
- return (0, exports.resolveDomain)(this.origin);
256
- }
257
- /**
258
- * The identifier for the sender of this message
259
- */
260
- get sender() {
261
- return this.message.sender;
262
- }
263
- /**
264
- * The destination domain for this message
265
- */
266
- get destination() {
267
- return this.message.destination;
268
- }
269
- get destinationName() {
270
- return (0, exports.resolveDomain)(this.destination);
271
- }
272
- /**
273
- * The identifer for the recipient for this message
274
- */
275
- get recipient() {
276
- return this.message.recipient;
277
- }
278
- /**
279
- * The message body
280
- */
281
- get body() {
282
- return this.message.body;
283
- }
284
- /**
285
- * The keccak256 hash of the message body
286
- */
287
- get bodyHash() {
288
- return ethers_1.utils.keccak256(this.body);
289
- }
290
- /**
291
- * The hash of the transaction that dispatched this message
292
- */
293
- get transactionHash() {
294
- return this.dispatch.event.transactionHash;
295
- }
296
- /**
297
- * The messageHash committed to the tree in the Outbox contract.
298
- */
299
- get leaf() {
300
- return utils_1.utils.messageHash(this.dispatch.event.args.message, this.dispatch.event.args.leafIndex.toNumber());
301
- }
302
- /**
303
- * The index of the leaf in the contract.
304
- */
305
- get leafIndex() {
306
- return this.dispatch.event.args.leafIndex;
307
- }
308
- }
309
- exports.HyperlaneMessage = HyperlaneMessage;
310
- //# sourceMappingURL=message.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"message.js","sourceRoot":"","sources":["../../src/core/message.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import '@nomiclabs/hardhat-ethers';
2
- import '@nomiclabs/hardhat-waffle';
3
- //# sourceMappingURL=testHyperlaneDeploy.hardhat-test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"testHyperlaneDeploy.hardhat-test.d.ts","sourceRoot":"","sources":["../../src/core/testHyperlaneDeploy.hardhat-test.ts"],"names":[],"mappings":"AAAA,OAAO,2BAA2B,CAAC;AACnC,OAAO,2BAA2B,CAAC"}
@@ -1,66 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- require("@nomiclabs/hardhat-ethers");
13
- require("@nomiclabs/hardhat-waffle");
14
- const chai_1 = require("chai");
15
- const hardhat_1 = require("hardhat");
16
- const core_1 = require("@hyperlane-xyz/core");
17
- const utils_1 = require("@hyperlane-xyz/utils");
18
- const chainMetadata_1 = require("../consts/chainMetadata");
19
- const utils_2 = require("../deploy/utils");
20
- const TestCoreDeployer_1 = require("./TestCoreDeployer");
21
- const localChain = 'test1';
22
- const localDomain = chainMetadata_1.chainMetadata[localChain].id;
23
- const remoteChain = 'test2';
24
- const remoteDomain = chainMetadata_1.chainMetadata[remoteChain].id;
25
- const message = '0xdeadbeef';
26
- describe('TestCoreDeployer', () => __awaiter(void 0, void 0, void 0, function* () {
27
- let testCoreApp, localOutbox, remoteOutbox, dispatchReceipt;
28
- beforeEach(() => __awaiter(void 0, void 0, void 0, function* () {
29
- const [signer] = yield hardhat_1.ethers.getSigners();
30
- const multiProvider = (0, utils_2.getTestMultiProvider)(signer);
31
- const deployer = new TestCoreDeployer_1.TestCoreDeployer(multiProvider);
32
- testCoreApp = yield deployer.deployApp();
33
- const recipient = yield new core_1.TestRecipient__factory(signer).deploy();
34
- localOutbox = testCoreApp.getContracts(localChain).outbox.contract;
35
- const dispatchResponse = localOutbox.dispatch(remoteDomain, utils_1.utils.addressToBytes32(recipient.address), message);
36
- yield (0, chai_1.expect)(dispatchResponse).to.emit(localOutbox, 'Dispatch');
37
- dispatchReceipt = yield testCoreApp.multiProvider
38
- .getChainConnection(localChain)
39
- .handleTx(dispatchResponse);
40
- remoteOutbox = testCoreApp.getContracts(remoteChain).outbox.contract;
41
- yield (0, chai_1.expect)(remoteOutbox.dispatch(localDomain, utils_1.utils.addressToBytes32(recipient.address), message)).to.emit(remoteOutbox, 'Dispatch');
42
- }));
43
- it('processes outbound messages for a single domain', () => __awaiter(void 0, void 0, void 0, function* () {
44
- const responses = yield testCoreApp.processOutboundMessages(localChain);
45
- (0, chai_1.expect)(responses.get(remoteChain).length).to.equal(1);
46
- }));
47
- it('processes outbound messages for two domains', () => __awaiter(void 0, void 0, void 0, function* () {
48
- const localResponses = yield testCoreApp.processOutboundMessages(localChain);
49
- (0, chai_1.expect)(localResponses.get(remoteChain).length).to.equal(1);
50
- const remoteResponses = yield testCoreApp.processOutboundMessages(remoteChain);
51
- (0, chai_1.expect)(remoteResponses.get(localChain).length).to.equal(1);
52
- }));
53
- it('processes all messages', () => __awaiter(void 0, void 0, void 0, function* () {
54
- const responses = yield testCoreApp.processMessages();
55
- (0, chai_1.expect)(responses.get(localChain).get(remoteChain).length).to.equal(1);
56
- (0, chai_1.expect)(responses.get(remoteChain).get(localChain).length).to.equal(1);
57
- }));
58
- it('waits on message processing receipts', () => __awaiter(void 0, void 0, void 0, function* () {
59
- const [receipts] = yield Promise.all([
60
- testCoreApp.waitForMessageProcessing(dispatchReceipt),
61
- testCoreApp.processOutboundMessages(localChain),
62
- ]);
63
- (0, chai_1.expect)(receipts).to.have.length(1);
64
- }));
65
- }));
66
- //# sourceMappingURL=testHyperlaneDeploy.hardhat-test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"testHyperlaneDeploy.hardhat-test.js","sourceRoot":"","sources":["../../src/core/testHyperlaneDeploy.hardhat-test.ts"],"names":[],"mappings":"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"}
@@ -1,22 +0,0 @@
1
- import { Ownable } from '@hyperlane-xyz/core';
2
- import type { types } from '@hyperlane-xyz/utils';
3
- import { HyperlaneApp } from '../HyperlaneApp';
4
- import { MultiProvider } from '../providers/MultiProvider';
5
- import { BeaconProxyAddresses } from '../proxy';
6
- import { ChainMap, ChainName } from '../types';
7
- import { CheckerViolation } from './types';
8
- export declare abstract class HyperlaneAppChecker<Chain extends ChainName, App extends HyperlaneApp<any, Chain>, Config> {
9
- readonly multiProvider: MultiProvider<Chain>;
10
- readonly app: App;
11
- readonly configMap: ChainMap<Chain, Config>;
12
- readonly violations: CheckerViolation[];
13
- constructor(multiProvider: MultiProvider<Chain>, app: App, configMap: ChainMap<Chain, Config>);
14
- abstract checkChain(chain: Chain): Promise<void>;
15
- check(): Promise<void[]>;
16
- addViolation(violation: CheckerViolation): void;
17
- checkUpgradeBeacon(chain: Chain, name: string, proxiedAddress: BeaconProxyAddresses): Promise<void>;
18
- checkOwnership(chain: Chain, owner: types.Address, ownables: Ownable[]): Promise<void>;
19
- expectViolations(types: string[], expectedMatches: number[]): void;
20
- expectEmpty(): void;
21
- }
22
- //# sourceMappingURL=HyperlaneAppChecker.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"HyperlaneAppChecker.d.ts","sourceRoot":"","sources":["../../src/deploy/HyperlaneAppChecker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAE9C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAElD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAG/C,OAAO,EAAE,gBAAgB,EAAiC,MAAM,SAAS,CAAC;AAE1E,8BAAsB,mBAAmB,CACvC,KAAK,SAAS,SAAS,EACvB,GAAG,SAAS,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,EACpC,MAAM;IAEN,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;IAC7C,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;IAClB,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC5C,QAAQ,CAAC,UAAU,EAAE,gBAAgB,EAAE,CAAC;gBAGtC,aAAa,EAAE,aAAa,CAAC,KAAK,CAAC,EACnC,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAQpC,QAAQ,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;IAE1C,KAAK,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;IAiB9B,YAAY,CAAC,SAAS,EAAE,gBAAgB,GAAG,IAAI;IAIzC,kBAAkB,CACtB,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,MAAM,EACZ,cAAc,EAAE,oBAAoB,GACnC,OAAO,CAAC,IAAI,CAAC;IAaV,cAAc,CAClB,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,KAAK,CAAC,OAAO,EACpB,QAAQ,EAAE,OAAO,EAAE,GAClB,OAAO,CAAC,IAAI,CAAC;IAkBhB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,eAAe,EAAE,MAAM,EAAE,GAAG,IAAI;IAwBlE,WAAW,IAAI,IAAI;CAIpB"}