@across-protocol/sdk 4.3.8 → 4.3.10

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 (79) hide show
  1. package/dist/cjs/arch/evm/index.d.ts +1 -0
  2. package/dist/cjs/arch/evm/index.js +1 -0
  3. package/dist/cjs/arch/evm/index.js.map +1 -1
  4. package/dist/cjs/arch/evm/utils/index.d.ts +1 -0
  5. package/dist/cjs/arch/evm/utils/index.js +5 -0
  6. package/dist/cjs/arch/evm/utils/index.js.map +1 -0
  7. package/dist/cjs/arch/evm/utils/wait.d.ts +17 -0
  8. package/dist/cjs/arch/evm/utils/wait.js +81 -0
  9. package/dist/cjs/arch/evm/utils/wait.js.map +1 -0
  10. package/dist/cjs/arch/svm/SpokeUtils.d.ts +2 -2
  11. package/dist/cjs/arch/svm/SpokeUtils.js +66 -52
  12. package/dist/cjs/arch/svm/SpokeUtils.js.map +1 -1
  13. package/dist/cjs/arch/svm/provider.d.ts +2 -0
  14. package/dist/cjs/arch/svm/provider.js +7 -0
  15. package/dist/cjs/arch/svm/provider.js.map +1 -0
  16. package/dist/cjs/arch/svm/utils.d.ts +1 -0
  17. package/dist/cjs/arch/svm/utils.js +3 -1
  18. package/dist/cjs/arch/svm/utils.js.map +1 -1
  19. package/dist/cjs/clients/BundleDataClient/BundleDataClient.js +0 -6
  20. package/dist/cjs/clients/BundleDataClient/BundleDataClient.js.map +1 -1
  21. package/dist/cjs/clients/SpokePoolClient/SVMSpokePoolClient.js +23 -3
  22. package/dist/cjs/clients/SpokePoolClient/SVMSpokePoolClient.js.map +1 -1
  23. package/dist/cjs/providers/types.d.ts +2 -2
  24. package/dist/cjs/typeguards/error.d.ts +2 -1
  25. package/dist/cjs/typeguards/error.js +3 -1
  26. package/dist/cjs/typeguards/error.js.map +1 -1
  27. package/dist/esm/arch/evm/index.d.ts +1 -0
  28. package/dist/esm/arch/evm/index.js +1 -0
  29. package/dist/esm/arch/evm/index.js.map +1 -1
  30. package/dist/esm/arch/evm/utils/index.d.ts +1 -0
  31. package/dist/esm/arch/evm/utils/index.js +2 -0
  32. package/dist/esm/arch/evm/utils/index.js.map +1 -0
  33. package/dist/esm/arch/evm/utils/wait.d.ts +17 -0
  34. package/dist/esm/arch/evm/utils/wait.js +77 -0
  35. package/dist/esm/arch/evm/utils/wait.js.map +1 -0
  36. package/dist/esm/arch/svm/SpokeUtils.d.ts +2 -2
  37. package/dist/esm/arch/svm/SpokeUtils.js +22 -8
  38. package/dist/esm/arch/svm/SpokeUtils.js.map +1 -1
  39. package/dist/esm/arch/svm/provider.d.ts +6 -0
  40. package/dist/esm/arch/svm/provider.js +7 -0
  41. package/dist/esm/arch/svm/provider.js.map +1 -0
  42. package/dist/esm/arch/svm/utils.d.ts +1 -0
  43. package/dist/esm/arch/svm/utils.js +1 -0
  44. package/dist/esm/arch/svm/utils.js.map +1 -1
  45. package/dist/esm/clients/BundleDataClient/BundleDataClient.js +0 -6
  46. package/dist/esm/clients/BundleDataClient/BundleDataClient.js.map +1 -1
  47. package/dist/esm/clients/SpokePoolClient/SVMSpokePoolClient.js +24 -4
  48. package/dist/esm/clients/SpokePoolClient/SVMSpokePoolClient.js.map +1 -1
  49. package/dist/esm/providers/types.d.ts +2 -2
  50. package/dist/esm/typeguards/error.d.ts +2 -1
  51. package/dist/esm/typeguards/error.js +1 -0
  52. package/dist/esm/typeguards/error.js.map +1 -1
  53. package/dist/types/arch/evm/index.d.ts +1 -0
  54. package/dist/types/arch/evm/index.d.ts.map +1 -1
  55. package/dist/types/arch/evm/utils/index.d.ts +2 -0
  56. package/dist/types/arch/evm/utils/index.d.ts.map +1 -0
  57. package/dist/types/arch/evm/utils/wait.d.ts +18 -0
  58. package/dist/types/arch/evm/utils/wait.d.ts.map +1 -0
  59. package/dist/types/arch/svm/SpokeUtils.d.ts +2 -2
  60. package/dist/types/arch/svm/SpokeUtils.d.ts.map +1 -1
  61. package/dist/types/arch/svm/provider.d.ts +7 -0
  62. package/dist/types/arch/svm/provider.d.ts.map +1 -0
  63. package/dist/types/arch/svm/utils.d.ts +1 -0
  64. package/dist/types/arch/svm/utils.d.ts.map +1 -1
  65. package/dist/types/clients/BundleDataClient/BundleDataClient.d.ts.map +1 -1
  66. package/dist/types/clients/SpokePoolClient/SVMSpokePoolClient.d.ts.map +1 -1
  67. package/dist/types/providers/types.d.ts +2 -2
  68. package/dist/types/typeguards/error.d.ts +2 -1
  69. package/dist/types/typeguards/error.d.ts.map +1 -1
  70. package/package.json +1 -1
  71. package/src/arch/evm/index.ts +1 -0
  72. package/src/arch/evm/utils/index.ts +1 -0
  73. package/src/arch/evm/utils/wait.ts +84 -0
  74. package/src/arch/svm/SpokeUtils.ts +24 -8
  75. package/src/arch/svm/provider.ts +7 -0
  76. package/src/arch/svm/utils.ts +2 -0
  77. package/src/clients/BundleDataClient/BundleDataClient.ts +0 -7
  78. package/src/clients/SpokePoolClient/SVMSpokePoolClient.ts +14 -4
  79. package/src/typeguards/error.ts +3 -1
@@ -2,8 +2,8 @@ export type RPCProvider = "ALCHEMY" | "DRPC" | "INFURA" | "INFURA_DIN";
2
2
  export type RPCTransport = "https" | "wss";
3
3
  export declare const JsonRpcError: import("superstruct").Struct<{
4
4
  error: {
5
- code: number;
6
5
  message: string;
6
+ code: number;
7
7
  data?: any;
8
8
  };
9
9
  id: string | number;
@@ -12,8 +12,8 @@ export declare const JsonRpcError: import("superstruct").Struct<{
12
12
  jsonrpc: import("superstruct").Struct<"2.0", "2.0">;
13
13
  id: import("superstruct").Struct<string | number, null>;
14
14
  error: import("superstruct").Struct<{
15
- code: number;
16
15
  message: string;
16
+ code: number;
17
17
  data?: any;
18
18
  }, {
19
19
  code: import("superstruct").Struct<number, null>;
@@ -1,5 +1,6 @@
1
- import { EthersError } from "../interfaces";
2
1
  import { BaseError } from "viem";
2
+ import { EthersError } from "../interfaces";
3
+ export { isSolanaError } from "../arch/svm";
3
4
  export declare const isError: (error: unknown) => error is Error;
4
5
  export declare const isEthersError: (error?: unknown) => error is EthersError;
5
6
  export declare const isViemError: (error?: unknown) => error is BaseError;
@@ -1,5 +1,6 @@
1
1
  import { ethers } from "ethers";
2
2
  import { BaseError } from "viem";
3
+ export { isSolanaError } from "../arch/svm";
3
4
  export var isError = function (error) { return error instanceof Error; };
4
5
  export var isEthersError = function (error) {
5
6
  return (error === null || error === void 0 ? void 0 : error.code) in ethers.utils.Logger.errors;
@@ -1 +1 @@
1
- {"version":3,"file":"error.js","sourceRoot":"","sources":["../../../src/typeguards/error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAEjC,MAAM,CAAC,IAAM,OAAO,GAAG,UAAC,KAAc,IAAqB,OAAA,KAAK,YAAY,KAAK,EAAtB,CAAsB,CAAC;AAElF,MAAM,CAAC,IAAM,aAAa,GAAG,UAAC,KAAe;IAC3C,OAAA,CAAC,KAAqB,aAArB,KAAK,uBAAL,KAAK,CAAkB,IAAI,KAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM;AAA1D,CAA0D,CAAC;AAE7D,MAAM,CAAC,IAAM,WAAW,GAAG,UAAC,KAAe,IAAyB,OAAA,KAAK,YAAY,SAAS,EAA1B,CAA0B,CAAC"}
1
+ {"version":3,"file":"error.js","sourceRoot":"","sources":["../../../src/typeguards/error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAGjC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,MAAM,CAAC,IAAM,OAAO,GAAG,UAAC,KAAc,IAAqB,OAAA,KAAK,YAAY,KAAK,EAAtB,CAAsB,CAAC;AAElF,MAAM,CAAC,IAAM,aAAa,GAAG,UAAC,KAAe;IAC3C,OAAA,CAAC,KAAqB,aAArB,KAAK,uBAAL,KAAK,CAAkB,IAAI,KAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM;AAA1D,CAA0D,CAAC;AAE7D,MAAM,CAAC,IAAM,WAAW,GAAG,UAAC,KAAe,IAAyB,OAAA,KAAK,YAAY,SAAS,EAA1B,CAA0B,CAAC"}
@@ -1,3 +1,4 @@
1
1
  export * from "./SpokeUtils";
2
2
  export * from "./BlockUtils";
3
+ export * from "./utils";
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/arch/evm/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/arch/evm/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from "./wait";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/arch/evm/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC"}
@@ -0,0 +1,18 @@
1
+ export declare enum WAITFOR_FAIL {
2
+ TIMEOUT = 0
3
+ }
4
+ export type WaitForResponse = {
5
+ error: false;
6
+ txnRef: string;
7
+ } | {
8
+ error: true;
9
+ reason: WAITFOR_FAIL.TIMEOUT;
10
+ };
11
+ type EventFilter = {
12
+ address: string;
13
+ event: string;
14
+ timeout: number;
15
+ };
16
+ export declare function waitFor(providerUrl: string, eventFilter: EventFilter): Promise<WaitForResponse>;
17
+ export {};
18
+ //# sourceMappingURL=wait.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wait.d.ts","sourceRoot":"","sources":["../../../../../src/arch/evm/utils/wait.ts"],"names":[],"mappings":"AAIA,oBAAY,YAAY;IACtB,OAAO,IAAA;CACR;AAED,MAAM,MAAM,eAAe,GAAG;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,YAAY,CAAC,OAAO,CAAA;CAAE,CAAC;AAE/G,KAAK,WAAW,GAAG;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,wBAAgB,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,eAAe,CAAC,CA8B/F"}
@@ -3,7 +3,7 @@ import { Address, ReadonlyUint8Array, type TransactionSigner } from "@solana/kit
3
3
  import { Logger } from "winston";
4
4
  import { DepositWithBlock, FillStatus, FillWithBlock, RelayData } from "../../interfaces";
5
5
  import { BigNumber, EvmAddress, SvmAddress, Address as SdkAddress } from "../../utils";
6
- import { SvmCpiEventsClient } from "./";
6
+ import { SvmCpiEventsClient } from "./eventsClient";
7
7
  import { SVMProvider } from "./types";
8
8
  /**
9
9
  * @note: Average Solana slot duration is about 400-500ms. We can be conservative
@@ -18,7 +18,7 @@ type ProtoFill = Omit<RelayData, "recipient" | "outputToken"> & {
18
18
  /**
19
19
  * Retrieves the chain time at a particular slot.
20
20
  */
21
- export declare function getTimestampForSlot(provider: SVMProvider, slotNumber: number): Promise<number>;
21
+ export declare function getTimestampForSlot(provider: SVMProvider, slotNumber: bigint): Promise<number | undefined>;
22
22
  /**
23
23
  * Returns the current fill deadline buffer.
24
24
  * @param provider SVM Provider instance
@@ -1 +1 @@
1
- {"version":3,"file":"SpokeUtils.d.ts","sourceRoot":"","sources":["../../../../src/arch/svm/SpokeUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SpokeUtils.d.ts","sourceRoot":"","sources":["../../../../src/arch/svm/SpokeUtils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export { isSolanaError } from "@solana/kit";
2
+ /**
3
+ * SVM RPC provider error codes
4
+ * See https://www.quicknode.com/docs/solana/error-references
5
+ */
6
+ export declare const SVM_NO_BLOCK_AT_SLOT = -32007;
7
+ //# sourceMappingURL=provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../../src/arch/svm/provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C;;;GAGG;AACH,eAAO,MAAM,oBAAoB,SAAS,CAAC"}
@@ -3,6 +3,7 @@ import { Address, type TransactionSigner } from "@solana/kit";
3
3
  import { RelayData } from "../../interfaces";
4
4
  import { BigNumber, Address as SdkAddress } from "../../utils";
5
5
  import { EventName, SVMProvider } from "./types";
6
+ export { isSolanaError } from "@solana/kit";
6
7
  /**
7
8
  * Basic void TransactionSigner type
8
9
  */
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/arch/svm/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/arch/svm/utils.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"BundleDataClient.d.ts","sourceRoot":"","sources":["../../../../src/clients/BundleDataClient/BundleDataClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BundleDataClient.d.ts","sourceRoot":"","sources":["../../../../src/clients/BundleDataClient/BundleDataClient.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"SVMSpokePoolClient.d.ts","sourceRoot":"","sources":["../../../../src/clients/SpokePoolClient/SVMSpokePoolClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AACpF,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,EAML,kBAAkB,EAInB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,SAAS,EAAiB,MAAM,kBAAkB,CAAC;AACxE,OAAO,EACL,SAAS,EACT,mBAAmB,EACnB,iBAAiB,EAEjB,YAAY,EAGb,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAmB,eAAe,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGtF;;;GAGG;AACH,qBAAa,kBAAmB,SAAQ,eAAe;IAW5C,eAAe,EAAE,kBAAkB;IAC1C,SAAS,CAAC,SAAS,EAAE,OAAO;IAC5B,SAAS,CAAC,QAAQ,EAAE,OAAO;IAZ7B,QAAQ,CAAC,IAAI,SAA8B;IAC3C;;OAEG;gBAED,MAAM,EAAE,OAAO,CAAC,MAAM,EACtB,aAAa,EAAE,aAAa,GAAG,IAAI,EACnC,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,MAAM,EAAE,6CAA6C;IACrE,iBAAiB,EAAE,YAAY,CAAC,iBAAiB,EAAE,IAAI,CAAC,EACjD,eAAe,EAAE,kBAAkB,EAChC,SAAS,EAAE,OAAO,EAClB,QAAQ,EAAE,OAAO;IAO7B;;OAEG;WACiB,MAAM,CACxB,MAAM,EAAE,OAAO,CAAC,MAAM,EACtB,aAAa,EAAE,aAAa,GAAG,IAAI,EACnC,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,MAAM,EACtB,iBAAiB,mDAAqE,EAAE,kBAAkB;IAC1G,GAAG,EAAE,GAAG,CAAC,yBAAyB,CAAC,YAAY,CAAC,CAAC,GAChD,OAAO,CAAC,kBAAkB,CAAC;IAgB9B;;OAEG;WACiB,6BAA6B,CAC/C,MAAM,EAAE,OAAO,CAAC,MAAM,EACtB,aAAa,EAAE,aAAa,GAAG,IAAI,EACnC,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,MAAM,EACtB,iBAAiB,mDAAqE,EAAE,kBAAkB;IAC1G,WAAW,EAAE,kBAAkB;IAgB1B,oBAAoB,IAAI,MAAM,EAAE;IAQvC;;OAEG;cACa,OAAO,CAAC,aAAa,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,eAAe,CAAC;IAmE1E;;;OAGG;IACa,yBAAyB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAIhG;;OAEG;IACa,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAInE;;;;OAIG;IACI,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAI/C;;OAEG;IACU,WAAW,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAwB5E;;OAEG;IACa,eAAe,CAC7B,SAAS,EAAE,SAAS,EACpB,QAAQ,CAAC,EAAE,MAAM,EACjB,kBAAkB,CAAC,EAAE,MAAM,GAC1B,OAAO,CAAC,UAAU,CAAC;IAKtB;;;;;OAKG;IACI,eAAe,CACpB,SAAS,EAAE,SAAS,EAAE,EACtB,QAAQ,CAAC,EAAE,MAAM,EACjB,kBAAkB,CAAC,EAAE,MAAM,GAC1B,OAAO,CAAC,CAAC,UAAU,GAAG,SAAS,CAAC,EAAE,CAAC;CAKvC"}
1
+ {"version":3,"file":"SVMSpokePoolClient.d.ts","sourceRoot":"","sources":["../../../../src/clients/SpokePoolClient/SVMSpokePoolClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AACpF,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,EAML,kBAAkB,EAInB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,SAAS,EAAiB,MAAM,kBAAkB,CAAC;AACxE,OAAO,EACL,SAAS,EACT,mBAAmB,EACnB,iBAAiB,EAIjB,YAAY,EAGb,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAmB,eAAe,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGtF;;;GAGG;AACH,qBAAa,kBAAmB,SAAQ,eAAe;IAW5C,eAAe,EAAE,kBAAkB;IAC1C,SAAS,CAAC,SAAS,EAAE,OAAO;IAC5B,SAAS,CAAC,QAAQ,EAAE,OAAO;IAZ7B,QAAQ,CAAC,IAAI,SAA8B;IAC3C;;OAEG;gBAED,MAAM,EAAE,OAAO,CAAC,MAAM,EACtB,aAAa,EAAE,aAAa,GAAG,IAAI,EACnC,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,MAAM,EAAE,6CAA6C;IACrE,iBAAiB,EAAE,YAAY,CAAC,iBAAiB,EAAE,IAAI,CAAC,EACjD,eAAe,EAAE,kBAAkB,EAChC,SAAS,EAAE,OAAO,EAClB,QAAQ,EAAE,OAAO;IAO7B;;OAEG;WACiB,MAAM,CACxB,MAAM,EAAE,OAAO,CAAC,MAAM,EACtB,aAAa,EAAE,aAAa,GAAG,IAAI,EACnC,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,MAAM,EACtB,iBAAiB,mDAAqE,EAAE,kBAAkB;IAC1G,GAAG,EAAE,GAAG,CAAC,yBAAyB,CAAC,YAAY,CAAC,CAAC,GAChD,OAAO,CAAC,kBAAkB,CAAC;IAgB9B;;OAEG;WACiB,6BAA6B,CAC/C,MAAM,EAAE,OAAO,CAAC,MAAM,EACtB,aAAa,EAAE,aAAa,GAAG,IAAI,EACnC,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,MAAM,EACtB,iBAAiB,mDAAqE,EAAE,kBAAkB;IAC1G,WAAW,EAAE,kBAAkB;IAgB1B,oBAAoB,IAAI,MAAM,EAAE;IAQvC;;OAEG;cACa,OAAO,CAAC,aAAa,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,eAAe,CAAC;IAmE1E;;;OAGG;IACa,yBAAyB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAIhG;;OAEG;IACmB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAYzE;;;;OAIG;IACI,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAI/C;;OAEG;IACU,WAAW,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAwB5E;;OAEG;IACa,eAAe,CAC7B,SAAS,EAAE,SAAS,EACpB,QAAQ,CAAC,EAAE,MAAM,EACjB,kBAAkB,CAAC,EAAE,MAAM,GAC1B,OAAO,CAAC,UAAU,CAAC;IAKtB;;;;;OAKG;IACI,eAAe,CACpB,SAAS,EAAE,SAAS,EAAE,EACtB,QAAQ,CAAC,EAAE,MAAM,EACjB,kBAAkB,CAAC,EAAE,MAAM,GAC1B,OAAO,CAAC,CAAC,UAAU,GAAG,SAAS,CAAC,EAAE,CAAC;CAKvC"}
@@ -2,8 +2,8 @@ export type RPCProvider = "ALCHEMY" | "DRPC" | "INFURA" | "INFURA_DIN";
2
2
  export type RPCTransport = "https" | "wss";
3
3
  export declare const JsonRpcError: import("superstruct").Struct<{
4
4
  error: {
5
- code: number;
6
5
  message: string;
6
+ code: number;
7
7
  data?: any;
8
8
  };
9
9
  id: string | number;
@@ -12,8 +12,8 @@ export declare const JsonRpcError: import("superstruct").Struct<{
12
12
  jsonrpc: import("superstruct").Struct<"2.0", "2.0">;
13
13
  id: import("superstruct").Struct<string | number, null>;
14
14
  error: import("superstruct").Struct<{
15
- code: number;
16
15
  message: string;
16
+ code: number;
17
17
  data?: any;
18
18
  }, {
19
19
  code: import("superstruct").Struct<number, null>;
@@ -1,5 +1,6 @@
1
- import { EthersError } from "../interfaces";
2
1
  import { BaseError } from "viem";
2
+ import { EthersError } from "../interfaces";
3
+ export { isSolanaError } from "../arch/svm";
3
4
  export declare const isError: (error: unknown) => error is Error;
4
5
  export declare const isEthersError: (error?: unknown) => error is EthersError;
5
6
  export declare const isViemError: (error?: unknown) => error is BaseError;
@@ -1 +1 @@
1
- {"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../../src/typeguards/error.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAEjC,eAAO,MAAM,OAAO,UAAW,OAAO,mBAA2C,CAAC;AAElF,eAAO,MAAM,aAAa,WAAY,OAAO,yBACe,CAAC;AAE7D,eAAO,MAAM,WAAW,WAAY,OAAO,uBAAmD,CAAC"}
1
+ {"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../../src/typeguards/error.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,eAAO,MAAM,OAAO,UAAW,OAAO,mBAA2C,CAAC;AAElF,eAAO,MAAM,aAAa,WAAY,OAAO,yBACe,CAAC;AAE7D,eAAO,MAAM,WAAW,WAAY,OAAO,uBAAmD,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@across-protocol/sdk",
3
3
  "author": "UMA Team",
4
- "version": "4.3.8",
4
+ "version": "4.3.10",
5
5
  "license": "AGPL-3.0",
6
6
  "homepage": "https://docs.across.to/reference/sdk",
7
7
  "files": [
@@ -1,2 +1,3 @@
1
1
  export * from "./SpokeUtils";
2
2
  export * from "./BlockUtils";
3
+ export * from "./utils";
@@ -0,0 +1 @@
1
+ export * from "./wait";
@@ -0,0 +1,84 @@
1
+ import assert from "assert";
2
+ import { createPublicClient, http, isAddress, Log } from "viem";
3
+ import { isDefined } from "../../../utils";
4
+
5
+ export enum WAITFOR_FAIL {
6
+ TIMEOUT,
7
+ }
8
+
9
+ export type WaitForResponse = { error: false; txnRef: string } | { error: true; reason: WAITFOR_FAIL.TIMEOUT };
10
+
11
+ type EventFilter = {
12
+ address: string;
13
+ event: string; // RootBundleExecuted(...)
14
+ timeout: number; // seconds
15
+ };
16
+
17
+ export function waitFor(providerUrl: string, eventFilter: EventFilter): Promise<WaitForResponse> {
18
+ const provider = createPublicClient({
19
+ transport: http(providerUrl),
20
+ });
21
+
22
+ const { address } = eventFilter;
23
+ const timeout = eventFilter.timeout * 1000;
24
+ assert(!isDefined(address) || isAddress(address));
25
+
26
+ return new Promise((resolve) => {
27
+ const abortController = new AbortController();
28
+
29
+ const onLogs = (logs: Log[]) => {
30
+ const txnRef = logs[0].transactionHash as string;
31
+ abortController.abort();
32
+ resolve({ error: false, txnRef });
33
+ };
34
+
35
+ const timeoutId = setTimeout(() => {
36
+ abortController.abort();
37
+ resolve({ error: true, reason: WAITFOR_FAIL.TIMEOUT });
38
+ }, timeout);
39
+
40
+ const unsub = provider.watchEvent({ address, onLogs });
41
+
42
+ abortController.signal.addEventListener("abort", () => {
43
+ clearTimeout(timeoutId);
44
+ unsub();
45
+ });
46
+ });
47
+ }
48
+
49
+ async function run() {
50
+ const { RPC_PROVIDER: url } = process.env;
51
+ assert(isDefined(url), "No mainnet RPC_PROVIDER defined");
52
+
53
+ const event = "RootBundleExecuted(uint256,uint256,uint256,address[],uint256[],int256[],int256[],address)";
54
+ const filter = {
55
+ address: "0xc186fA914353c44b2E33eBE05f21846F1048bEda",
56
+ event,
57
+ timeout: 5400,
58
+ };
59
+
60
+ const result = await waitFor(url, filter);
61
+ if (result.error) {
62
+ switch (result.reason) {
63
+ case WAITFOR_FAIL.TIMEOUT:
64
+ console.log("Error: timed out waiting for event");
65
+ break;
66
+ default:
67
+ console.log(`Unknown error (${result.reason})`);
68
+ }
69
+ throw Error;
70
+ }
71
+
72
+ console.log(`Event transaction hash: ${result.txnRef}`);
73
+ }
74
+
75
+ if (require.main === module) {
76
+ run()
77
+ .then(() => {
78
+ process.exitCode = 0;
79
+ })
80
+ .catch(() => {
81
+ console.error("Process errored");
82
+ process.exitCode = 9;
83
+ });
84
+ }
@@ -39,8 +39,8 @@ import {
39
39
  keccak256,
40
40
  toAddressType,
41
41
  } from "../../utils";
42
+ import { SvmCpiEventsClient } from "./eventsClient";
42
43
  import {
43
- SvmCpiEventsClient,
44
44
  bigToU8a32,
45
45
  createDefaultTransaction,
46
46
  getEventAuthority,
@@ -48,8 +48,9 @@ import {
48
48
  getStatePda,
49
49
  toAddress,
50
50
  unwrapEventData,
51
- } from "./";
51
+ } from "./utils";
52
52
  import { CHAIN_IDs } from "../../constants";
53
+ import { isSolanaError, SVM_NO_BLOCK_AT_SLOT } from "./provider";
53
54
  import { SVMEventNames, SVMProvider } from "./types";
54
55
 
55
56
  /**
@@ -67,10 +68,23 @@ type ProtoFill = Omit<RelayData, "recipient" | "outputToken"> & {
67
68
  /**
68
69
  * Retrieves the chain time at a particular slot.
69
70
  */
70
- export async function getTimestampForSlot(provider: SVMProvider, slotNumber: number): Promise<number> {
71
+ export async function getTimestampForSlot(provider: SVMProvider, slotNumber: bigint): Promise<number | undefined> {
71
72
  // @note: getBlockTime receives a slot number, not a block number.
72
- const slotTime = await provider.getBlockTime(BigInt(slotNumber)).send();
73
- return Number(slotTime);
73
+ try {
74
+ const blockTime = await provider.getBlockTime(slotNumber).send();
75
+ return Number(blockTime);
76
+ } catch (err) {
77
+ if (!isSolanaError(err)) {
78
+ throw err;
79
+ }
80
+
81
+ const { __code: code } = err.context;
82
+ if ([SVM_NO_BLOCK_AT_SLOT].includes(code)) {
83
+ return undefined;
84
+ }
85
+
86
+ throw err; // Unhandled Solana error.
87
+ }
74
88
  }
75
89
 
76
90
  /**
@@ -202,7 +216,7 @@ export async function relayFillStatus(
202
216
  if (atHeight === undefined) {
203
217
  const [fillStatusAccount, currentSlotTimestamp] = await Promise.all([
204
218
  fetchEncodedAccount(provider, fillStatusPda, { commitment: "confirmed" }),
205
- provider.getBlockTime(currentSlot).send(),
219
+ getTimestampForSlot(provider, currentSlot),
206
220
  ]);
207
221
  // If the PDA exists, return the stored fill status
208
222
  if (fillStatusAccount.exists) {
@@ -886,7 +900,7 @@ async function fetchBatchFillStatusFromPdaAccounts(
886
900
  fetchEncodedAccounts(provider, chunk, { commitment: "confirmed" })
887
901
  )
888
902
  ),
889
- provider.getBlockTime(currentSlot).send(),
903
+ getTimestampForSlot(provider, currentSlot),
890
904
  ]);
891
905
 
892
906
  const fillStatuses = pdaAccounts.flat().map((account, index) => {
@@ -895,11 +909,13 @@ async function fetchBatchFillStatusFromPdaAccounts(
895
909
  const decodedAccount = decodeFillStatusAccount(account);
896
910
  return decodedAccount.data.status;
897
911
  }
912
+
898
913
  // If the PDA doesn't exist and the deadline hasn't passed yet, the deposit must be unfilled,
899
914
  // since PDAs can't be closed before the fill deadline.
900
- else if (Number(currentSlotTimestamp) < relayDataArray[index].fillDeadline) {
915
+ if (Number(currentSlotTimestamp) < relayDataArray[index].fillDeadline) {
901
916
  return FillStatus.Unfilled;
902
917
  }
918
+
903
919
  // If the PDA doesn't exist and the fill deadline has passed, then the status can't be determined and is set to undefined.
904
920
  return undefined;
905
921
  });
@@ -0,0 +1,7 @@
1
+ export { isSolanaError } from "@solana/kit";
2
+
3
+ /**
4
+ * SVM RPC provider error codes
5
+ * See https://www.quicknode.com/docs/solana/error-references
6
+ */
7
+ export const SVM_NO_BLOCK_AT_SLOT = -32007;
@@ -20,6 +20,8 @@ import { FillType, RelayData } from "../../interfaces";
20
20
  import { BigNumber, getRelayDataHash, isDefined, isUint8Array, Address as SdkAddress } from "../../utils";
21
21
  import { EventName, SVMEventNames, SVMProvider } from "./types";
22
22
 
23
+ export { isSolanaError } from "@solana/kit";
24
+
23
25
  /**
24
26
  * Basic void TransactionSigner type
25
27
  */
@@ -884,9 +884,6 @@ export class BundleDataClient {
884
884
  const originChainBlockRange = getBlockRangeForChain(blockRangesForChains, originChainId, chainIds);
885
885
 
886
886
  for (const destinationChainId of allChainIds) {
887
- if (originChainId === destinationChainId) {
888
- continue;
889
- }
890
887
  originClient.getDepositsForDestinationChainWithDuplicates(destinationChainId).forEach((deposit) => {
891
888
  if (deposit.blockNumber > originChainBlockRange[1] || isZeroValueDeposit(deposit)) {
892
889
  return;
@@ -964,10 +961,6 @@ export class BundleDataClient {
964
961
  for (const originChainId of allChainIds) {
965
962
  const originClient = spokePoolClients[originChainId];
966
963
  for (const destinationChainId of allChainIds) {
967
- if (originChainId === destinationChainId) {
968
- continue;
969
- }
970
-
971
964
  const destinationClient = spokePoolClients[destinationChainId];
972
965
  const destinationChainBlockRange = getBlockRangeForChain(blockRangesForChains, destinationChainId, chainIds);
973
966
  const originChainBlockRange = getBlockRangeForChain(blockRangesForChains, originChainId, chainIds);
@@ -17,6 +17,8 @@ import {
17
17
  DepositSearchResult,
18
18
  EventSearchConfig,
19
19
  InvalidFill,
20
+ getNetworkName,
21
+ isDefined,
20
22
  MakeOptional,
21
23
  sortEventsAscendingInPlace,
22
24
  SvmAddress,
@@ -140,7 +142,7 @@ export class SVMSpokePoolClient extends SpokePoolClient {
140
142
  const timerStart = Date.now();
141
143
 
142
144
  const [currentTime, ...eventsQueried] = await Promise.all([
143
- this.svmEventsClient.getRpc().getBlockTime(BigInt(searchConfig.to)).send(),
145
+ this.getTimeAt(searchConfig.to),
144
146
  ...eventsToQuery.map(async (eventName, idx) => {
145
147
  const config = eventSearchConfigs[idx];
146
148
  const events = await this.svmEventsClient.queryEvents(
@@ -190,8 +192,16 @@ export class SVMSpokePoolClient extends SpokePoolClient {
190
192
  /**
191
193
  * Retrieves the timestamp for a given SVM slot number.
192
194
  */
193
- public override getTimestampForBlock(slot: number): Promise<number> {
194
- return getTimestampForSlot(this.svmEventsClient.getRpc(), slot);
195
+ public override async getTimestampForBlock(slot: number): Promise<number> {
196
+ let _slot = BigInt(slot);
197
+ do {
198
+ const timestamp = await getTimestampForSlot(this.svmEventsClient.getRpc(), _slot);
199
+ if (isDefined(timestamp)) {
200
+ return timestamp;
201
+ }
202
+ } while (--_slot > 0);
203
+
204
+ throw new Error(`Unable to resolve time at or before ${getNetworkName(this.chainId)} slot ${slot}`);
195
205
  }
196
206
 
197
207
  /**
@@ -200,7 +210,7 @@ export class SVMSpokePoolClient extends SpokePoolClient {
200
210
  * It is kept for consistency with the EVM SpokePoolClient.
201
211
  */
202
212
  public getTimeAt(slot: number): Promise<number> {
203
- return getTimestampForSlot(this.svmEventsClient.getRpc(), slot);
213
+ return this.getTimestampForBlock(slot);
204
214
  }
205
215
 
206
216
  /**
@@ -1,6 +1,8 @@
1
1
  import { ethers } from "ethers";
2
- import { EthersError } from "../interfaces";
3
2
  import { BaseError } from "viem";
3
+ import { EthersError } from "../interfaces";
4
+
5
+ export { isSolanaError } from "../arch/svm";
4
6
 
5
7
  export const isError = (error: unknown): error is Error => error instanceof Error;
6
8