@across-protocol/sdk 3.4.18-beta.0 → 3.4.19

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 (67) hide show
  1. package/dist/cjs/clients/BundleDataClient/BundleDataClient.js +6 -8
  2. package/dist/cjs/clients/BundleDataClient/BundleDataClient.js.map +1 -1
  3. package/dist/cjs/clients/BundleDataClient/utils/DataworkerUtils.d.ts +1 -2
  4. package/dist/cjs/clients/BundleDataClient/utils/DataworkerUtils.js +1 -3
  5. package/dist/cjs/clients/BundleDataClient/utils/DataworkerUtils.js.map +1 -1
  6. package/dist/cjs/clients/BundleDataClient/utils/SuperstructUtils.d.ts +2 -2
  7. package/dist/cjs/clients/mocks/MockSpokePoolClient.d.ts +2 -1
  8. package/dist/cjs/clients/mocks/MockSpokePoolClient.js +11 -0
  9. package/dist/cjs/clients/mocks/MockSpokePoolClient.js.map +1 -1
  10. package/dist/cjs/utils/AddressUtils.d.ts +1 -0
  11. package/dist/cjs/utils/AddressUtils.js +6 -1
  12. package/dist/cjs/utils/AddressUtils.js.map +1 -1
  13. package/dist/cjs/utils/EventUtils.js +16 -0
  14. package/dist/cjs/utils/EventUtils.js.map +1 -1
  15. package/dist/cjs/utils/SpokeUtils.d.ts +1 -0
  16. package/dist/cjs/utils/SpokeUtils.js +15 -8
  17. package/dist/cjs/utils/SpokeUtils.js.map +1 -1
  18. package/dist/cjs/utils/common.d.ts +1 -0
  19. package/dist/cjs/utils/common.js +2 -1
  20. package/dist/cjs/utils/common.js.map +1 -1
  21. package/dist/esm/clients/BundleDataClient/BundleDataClient.js +6 -10
  22. package/dist/esm/clients/BundleDataClient/BundleDataClient.js.map +1 -1
  23. package/dist/esm/clients/BundleDataClient/utils/DataworkerUtils.d.ts +1 -2
  24. package/dist/esm/clients/BundleDataClient/utils/DataworkerUtils.js +2 -4
  25. package/dist/esm/clients/BundleDataClient/utils/DataworkerUtils.js.map +1 -1
  26. package/dist/esm/clients/BundleDataClient/utils/SuperstructUtils.d.ts +2 -2
  27. package/dist/esm/clients/mocks/MockSpokePoolClient.d.ts +2 -1
  28. package/dist/esm/clients/mocks/MockSpokePoolClient.js +11 -0
  29. package/dist/esm/clients/mocks/MockSpokePoolClient.js.map +1 -1
  30. package/dist/esm/utils/AddressUtils.d.ts +1 -0
  31. package/dist/esm/utils/AddressUtils.js +9 -0
  32. package/dist/esm/utils/AddressUtils.js.map +1 -1
  33. package/dist/esm/utils/EventUtils.js +23 -1
  34. package/dist/esm/utils/EventUtils.js.map +1 -1
  35. package/dist/esm/utils/SpokeUtils.d.ts +1 -0
  36. package/dist/esm/utils/SpokeUtils.js +14 -8
  37. package/dist/esm/utils/SpokeUtils.js.map +1 -1
  38. package/dist/esm/utils/abi/typechain/Multicall3.d.ts +4 -1
  39. package/dist/esm/utils/abi/typechain/factories/Multicall3__factory.js.map +1 -1
  40. package/dist/esm/utils/common.d.ts +1 -0
  41. package/dist/esm/utils/common.js +1 -0
  42. package/dist/esm/utils/common.js.map +1 -1
  43. package/dist/types/clients/BundleDataClient/BundleDataClient.d.ts.map +1 -1
  44. package/dist/types/clients/BundleDataClient/utils/DataworkerUtils.d.ts +1 -2
  45. package/dist/types/clients/BundleDataClient/utils/DataworkerUtils.d.ts.map +1 -1
  46. package/dist/types/clients/BundleDataClient/utils/SuperstructUtils.d.ts +2 -2
  47. package/dist/types/clients/mocks/MockSpokePoolClient.d.ts +2 -1
  48. package/dist/types/clients/mocks/MockSpokePoolClient.d.ts.map +1 -1
  49. package/dist/types/utils/AddressUtils.d.ts +1 -0
  50. package/dist/types/utils/AddressUtils.d.ts.map +1 -1
  51. package/dist/types/utils/EventUtils.d.ts.map +1 -1
  52. package/dist/types/utils/SpokeUtils.d.ts +1 -0
  53. package/dist/types/utils/SpokeUtils.d.ts.map +1 -1
  54. package/dist/types/utils/abi/typechain/Multicall3.d.ts +4 -1
  55. package/dist/types/utils/abi/typechain/Multicall3.d.ts.map +1 -1
  56. package/dist/types/utils/abi/typechain/common.d.ts.map +1 -1
  57. package/dist/types/utils/abi/typechain/factories/Multicall3__factory.d.ts.map +1 -1
  58. package/dist/types/utils/common.d.ts +1 -0
  59. package/dist/types/utils/common.d.ts.map +1 -1
  60. package/package.json +1 -1
  61. package/src/clients/BundleDataClient/BundleDataClient.ts +1 -5
  62. package/src/clients/BundleDataClient/utils/DataworkerUtils.ts +0 -14
  63. package/src/clients/mocks/MockSpokePoolClient.ts +14 -0
  64. package/src/utils/AddressUtils.ts +10 -0
  65. package/src/utils/EventUtils.ts +24 -1
  66. package/src/utils/SpokeUtils.ts +21 -7
  67. package/src/utils/common.ts +2 -0
@@ -5,6 +5,8 @@ import { Deposit, Fill, FillStatus, RelayData, SlowFillRequest } from "../interf
5
5
  import { SpokePoolClient } from "../clients";
6
6
  import { chunk } from "./ArrayUtils";
7
7
  import { BigNumber, toBN, bnOne, bnZero } from "./BigNumberUtils";
8
+ import { keccak256 } from "./common";
9
+ import { isMessageEmpty } from "./DepositUtils";
8
10
  import { isDefined } from "./TypeGuards";
9
11
  import { getNetworkName } from "./NetworkUtils";
10
12
 
@@ -222,26 +224,34 @@ export async function getDepositIdAtBlock(contract: Contract, blockTag: number):
222
224
  * @returns The corresponding RelayData hash.
223
225
  */
224
226
  export function getRelayDataHash(relayData: RelayData, destinationChainId: number): string {
227
+ const _relayData = {
228
+ ...relayData,
229
+ depositor: ethersUtils.hexZeroPad(relayData.depositor, 32),
230
+ recipient: ethersUtils.hexZeroPad(relayData.recipient, 32),
231
+ inputToken: ethersUtils.hexZeroPad(relayData.inputToken, 32),
232
+ outputToken: ethersUtils.hexZeroPad(relayData.outputToken, 32),
233
+ exclusiveRelayer: ethersUtils.hexZeroPad(relayData.exclusiveRelayer, 32),
234
+ };
225
235
  return ethersUtils.keccak256(
226
236
  ethersUtils.defaultAbiCoder.encode(
227
237
  [
228
238
  "tuple(" +
229
- "address depositor," +
230
- "address recipient," +
231
- "address exclusiveRelayer," +
232
- "address inputToken," +
233
- "address outputToken," +
239
+ "bytes32 depositor," +
240
+ "bytes32 recipient," +
241
+ "bytes32 exclusiveRelayer," +
242
+ "bytes32 inputToken," +
243
+ "bytes32 outputToken," +
234
244
  "uint256 inputAmount," +
235
245
  "uint256 outputAmount," +
236
246
  "uint256 originChainId," +
237
- "uint32 depositId," +
247
+ "uint256 depositId," +
238
248
  "uint32 fillDeadline," +
239
249
  "uint32 exclusivityDeadline," +
240
250
  "bytes message" +
241
251
  ")",
242
252
  "uint256 destinationChainId",
243
253
  ],
244
- [relayData, destinationChainId]
254
+ [_relayData, destinationChainId]
245
255
  )
246
256
  );
247
257
  }
@@ -393,3 +403,7 @@ export async function findFillBlock(
393
403
  export function isZeroAddress(address: string): boolean {
394
404
  return address === ZERO_ADDRESS || address === ZERO_BYTES;
395
405
  }
406
+
407
+ export function getMessageHash(message: string): string {
408
+ return isMessageEmpty(message) ? ZERO_BYTES : keccak256(message);
409
+ }
@@ -7,6 +7,8 @@ export type Decimalish = string | number | Decimal;
7
7
  export const AddressZero = ethers.constants.AddressZero;
8
8
  export const MAX_BIG_INT = BigNumber.from(Number.MAX_SAFE_INTEGER.toString());
9
9
 
10
+ export const { keccak256 } = ethers.utils;
11
+
10
12
  /**
11
13
  * toBNWei.
12
14
  *