@across-protocol/sdk 4.3.71 → 4.3.73

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 (62) hide show
  1. package/dist/cjs/arch/svm/SpokeUtils.d.ts +2 -2
  2. package/dist/cjs/arch/svm/SpokeUtils.js +3 -3
  3. package/dist/cjs/arch/svm/SpokeUtils.js.map +1 -1
  4. package/dist/cjs/arch/svm/provider.d.ts +12 -1
  5. package/dist/cjs/arch/svm/provider.js +17 -6
  6. package/dist/cjs/arch/svm/provider.js.map +1 -1
  7. package/dist/cjs/arch/svm/types.d.ts +5 -1
  8. package/dist/cjs/arch/svm/types.js.map +1 -1
  9. package/dist/cjs/arch/svm/utils.d.ts +4 -5
  10. package/dist/cjs/arch/svm/utils.js +19 -14
  11. package/dist/cjs/arch/svm/utils.js.map +1 -1
  12. package/dist/cjs/providers/solana/quorumFallbackRpcFactory.d.ts +1 -1
  13. package/dist/cjs/providers/solana/quorumFallbackRpcFactory.js +7 -3
  14. package/dist/cjs/providers/solana/quorumFallbackRpcFactory.js.map +1 -1
  15. package/dist/cjs/providers/solana/retryRpcFactory.d.ts +1 -2
  16. package/dist/cjs/providers/solana/retryRpcFactory.js +4 -16
  17. package/dist/cjs/providers/solana/retryRpcFactory.js.map +1 -1
  18. package/dist/cjs/providers/solana/utils.d.ts +1 -0
  19. package/dist/cjs/providers/solana/utils.js +15 -0
  20. package/dist/cjs/providers/solana/utils.js.map +1 -1
  21. package/dist/esm/arch/svm/SpokeUtils.d.ts +2 -2
  22. package/dist/esm/arch/svm/SpokeUtils.js +3 -3
  23. package/dist/esm/arch/svm/SpokeUtils.js.map +1 -1
  24. package/dist/esm/arch/svm/provider.d.ts +28 -1
  25. package/dist/esm/arch/svm/provider.js +29 -1
  26. package/dist/esm/arch/svm/provider.js.map +1 -1
  27. package/dist/esm/arch/svm/types.d.ts +5 -1
  28. package/dist/esm/arch/svm/types.js.map +1 -1
  29. package/dist/esm/arch/svm/utils.d.ts +4 -5
  30. package/dist/esm/arch/svm/utils.js +18 -12
  31. package/dist/esm/arch/svm/utils.js.map +1 -1
  32. package/dist/esm/providers/solana/quorumFallbackRpcFactory.d.ts +1 -1
  33. package/dist/esm/providers/solana/quorumFallbackRpcFactory.js +8 -3
  34. package/dist/esm/providers/solana/quorumFallbackRpcFactory.js.map +1 -1
  35. package/dist/esm/providers/solana/retryRpcFactory.d.ts +1 -8
  36. package/dist/esm/providers/solana/retryRpcFactory.js +4 -24
  37. package/dist/esm/providers/solana/retryRpcFactory.js.map +1 -1
  38. package/dist/esm/providers/solana/utils.d.ts +7 -0
  39. package/dist/esm/providers/solana/utils.js +22 -1
  40. package/dist/esm/providers/solana/utils.js.map +1 -1
  41. package/dist/types/arch/svm/SpokeUtils.d.ts +2 -2
  42. package/dist/types/arch/svm/SpokeUtils.d.ts.map +1 -1
  43. package/dist/types/arch/svm/provider.d.ts +28 -1
  44. package/dist/types/arch/svm/provider.d.ts.map +1 -1
  45. package/dist/types/arch/svm/types.d.ts +5 -1
  46. package/dist/types/arch/svm/types.d.ts.map +1 -1
  47. package/dist/types/arch/svm/utils.d.ts +4 -5
  48. package/dist/types/arch/svm/utils.d.ts.map +1 -1
  49. package/dist/types/providers/solana/quorumFallbackRpcFactory.d.ts +1 -1
  50. package/dist/types/providers/solana/quorumFallbackRpcFactory.d.ts.map +1 -1
  51. package/dist/types/providers/solana/retryRpcFactory.d.ts +1 -8
  52. package/dist/types/providers/solana/retryRpcFactory.d.ts.map +1 -1
  53. package/dist/types/providers/solana/utils.d.ts +7 -0
  54. package/dist/types/providers/solana/utils.d.ts.map +1 -1
  55. package/package.json +1 -1
  56. package/src/arch/svm/SpokeUtils.ts +5 -4
  57. package/src/arch/svm/provider.ts +46 -1
  58. package/src/arch/svm/types.ts +6 -0
  59. package/src/arch/svm/utils.ts +17 -11
  60. package/src/providers/solana/quorumFallbackRpcFactory.ts +10 -4
  61. package/src/providers/solana/retryRpcFactory.ts +5 -27
  62. package/src/providers/solana/utils.ts +24 -0
@@ -1,8 +1,9 @@
1
1
  import { __awaiter, __extends, __generator, __spreadArray } from "tslib";
2
- import { CachedSolanaRpcFactory } from "./cachedRpcFactory";
3
- import { SolanaBaseRpcFactory } from "./baseRpcFactories";
4
2
  import { isPromiseFulfilled, isPromiseRejected } from "../../utils/TypeGuards";
5
3
  import { compareSvmRpcResults, createSendErrorWithMessage } from "../utils";
4
+ import { CachedSolanaRpcFactory } from "./cachedRpcFactory";
5
+ import { SolanaBaseRpcFactory } from "./baseRpcFactories";
6
+ import { shouldFailImmediate } from "./utils";
6
7
  // This factory stores multiple Cached RPC factories so that users of this factory can specify multiple RPC providers
7
8
  // and the factory will fallback through them if any RPC calls fail. This factory also implements quorum logic amongst
8
9
  // the RPC providers.
@@ -59,13 +60,17 @@ var QuorumFallbackSolanaRpcFactory = /** @class */ (function (_super) {
59
60
  if (fallbackFactories.length === 0) {
60
61
  throw error;
61
62
  }
63
+ // If one RPC provider reverted, others likely will too. Skip them.
64
+ if (quorumThreshold === 1 && shouldFailImmediate(method, error)) {
65
+ throw error;
66
+ }
62
67
  var currentFactory = factory.rpcFactory.clusterUrl;
63
68
  var nextFactory = fallbackFactories.shift();
64
69
  _this.logger.debug({
65
70
  at: "FallbackSolanaRpcFactory#createTransport::tryWithFallback",
66
71
  message: "[".concat(method, "] ").concat(currentFactory, " failed, falling back to ").concat(nextFactory.rpcFactory.clusterUrl, ", new fallback providers length: ").concat(fallbackFactories.length),
67
72
  method: method,
68
- error: error,
73
+ jsonError: error,
69
74
  });
70
75
  return tryWithFallback.apply(void 0, __spreadArray([nextFactory], args, false));
71
76
  });
@@ -1 +1 @@
1
- {"version":3,"file":"quorumFallbackRpcFactory.js","sourceRoot":"","sources":["../../../../src/providers/solana/quorumFallbackRpcFactory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"quorumFallbackRpcFactory.js","sourceRoot":"","sources":["../../../../src/providers/solana/quorumFallbackRpcFactory.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
+ import { Logger } from "winston";
1
2
  import { RpcTransport } from "@solana/kit";
2
3
  import { SolanaClusterRpcFactory } from "./baseRpcFactories";
3
4
  import { RateLimitedSolanaRpcFactory } from "./rateLimitedRpcFactory";
4
- import { Logger } from "winston";
5
5
  export declare class RetrySolanaRpcFactory extends SolanaClusterRpcFactory {
6
6
  readonly retries: number;
7
7
  readonly retryDelaySeconds: number;
@@ -16,13 +16,6 @@ export declare class RetrySolanaRpcFactory extends SolanaClusterRpcFactory {
16
16
  * @returns Promise that resolves to the transport response
17
17
  */
18
18
  private _tryCall;
19
- /**
20
- * Determine whether a Solana RPC error indicates an unrecoverable error that should not be retried.
21
- * @param method RPC method name
22
- * @param error Error object from the RPC call
23
- * @returns True if the request should be aborted immediately, otherwise false
24
- */
25
- private shouldFailImmediate;
26
19
  /**
27
20
  * Identify whether an error thrown was the result of an RPC provider 429 response.
28
21
  * @param error Error object from the RPC query.
@@ -1,10 +1,11 @@
1
1
  import { __awaiter, __extends, __generator, __spreadArray } from "tslib";
2
2
  import { SOLANA_ERROR__RPC__TRANSPORT_HTTP_ERROR } from "@solana/kit";
3
3
  import { getThrowSolanaErrorResponseTransformer } from "@solana/rpc-transformers";
4
+ import { isSolanaError } from "../../arch/svm";
5
+ import { delay } from "../../utils";
4
6
  import { SolanaClusterRpcFactory } from "./baseRpcFactories";
5
7
  import { RateLimitedSolanaRpcFactory } from "./rateLimitedRpcFactory";
6
- import { isSolanaError, SVM_SLOT_SKIPPED, SVM_LONG_TERM_STORAGE_SLOT_SKIPPED } from "../../arch/svm";
7
- import { delay } from "../../utils";
8
+ import { shouldFailImmediate } from "./utils";
8
9
  // This factory adds retry logic on top of the RateLimitedSolanaRpcFactory.
9
10
  // It follows the same composition pattern as other factories in this module.
10
11
  var RetrySolanaRpcFactory = /** @class */ (function (_super) {
@@ -71,7 +72,7 @@ var RetrySolanaRpcFactory = /** @class */ (function (_super) {
71
72
  return [2 /*return*/, response];
72
73
  case 4:
73
74
  error_1 = _b.sent();
74
- if (retryAttempt++ >= this.retries || this.shouldFailImmediate(method, error_1)) {
75
+ if (retryAttempt++ >= this.retries || shouldFailImmediate(method, error_1)) {
75
76
  throw error_1;
76
77
  }
77
78
  retryDelaySeconds = this.retryDelaySeconds;
@@ -88,27 +89,6 @@ var RetrySolanaRpcFactory = /** @class */ (function (_super) {
88
89
  });
89
90
  });
90
91
  };
91
- /**
92
- * Determine whether a Solana RPC error indicates an unrecoverable error that should not be retried.
93
- * @param method RPC method name
94
- * @param error Error object from the RPC call
95
- * @returns True if the request should be aborted immediately, otherwise false
96
- */
97
- RetrySolanaRpcFactory.prototype.shouldFailImmediate = function (method, error) {
98
- if (!isSolanaError(error)) {
99
- return false;
100
- }
101
- // JSON-RPC errors: https://www.quicknode.com/docs/solana/error-references
102
- var code = error.context.__code;
103
- switch (method) {
104
- case "getBlock":
105
- case "getBlockTime":
106
- // No block at the requested slot. This may not be correct for blocks > 1 year old.
107
- return [SVM_SLOT_SKIPPED, SVM_LONG_TERM_STORAGE_SLOT_SKIPPED].includes(code);
108
- default:
109
- return false;
110
- }
111
- };
112
92
  /**
113
93
  * Identify whether an error thrown was the result of an RPC provider 429 response.
114
94
  * @param error Error object from the RPC query.
@@ -1 +1 @@
1
- {"version":3,"file":"retryRpcFactory.js","sourceRoot":"","sources":["../../../../src/providers/solana/retryRpcFactory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"retryRpcFactory.js","sourceRoot":"","sources":["../../../../src/providers/solana/retryRpcFactory.ts"],"names":[],"mappings":";AACA,OAAO,EAAgB,uCAAuC,EAAE,MAAM,aAAa,CAAC;AACpF,OAAO,EAAE,sCAAsC,EAAE,MAAM,0BAA0B,CAAC;AAClF,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAE9C,2EAA2E;AAC3E,6EAA6E;AAC7E;IAA2C,yCAAuB;IAMhE,+BACW,OAAe,EACf,iBAAyB;QAClC,sCAA0F;aAA1F,UAA0F,EAA1F,qBAA0F,EAA1F,IAA0F;YAA1F,qDAA0F;;QAH5F,iBAwBC;QAnBC,uGAAuG;QACvG,IAAM,WAAW,GAAG,4BAA4B,CAAC,KAAK,CAAC,CAAC,CAAC,CAGxD,CAAC;QACF,QAAA,MAAK,aAAI,WAAW,UAAE;QATb,aAAO,GAAP,OAAO,CAAQ;QACf,uBAAiB,GAAjB,iBAAiB,CAAQ;QAUlC,+BAA+B;QAC/B,IAAI,KAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACxD,MAAM,IAAI,KAAK,CAAC,yEAAkE,KAAI,CAAC,OAAO,CAAE,CAAC,CAAC;QACpG,CAAC;QACD,IAAI,KAAI,CAAC,iBAAiB,GAAG,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,4DAAqD,KAAI,CAAC,iBAAiB,CAAE,CAAC,CAAC;QACjG,CAAC;QAED,qCAAqC;QACrC,IAAM,qBAAqB,QAAO,2BAA2B,YAA3B,2BAA2B,0BAAI,4BAA4B,YAAC,CAAC;QAC/F,KAAI,CAAC,oBAAoB,GAAG,qBAAqB,CAAC,eAAe,EAAE,CAAC;QACpE,KAAI,CAAC,MAAM,GAAG,qBAAqB,CAAC,MAAM,CAAC;;IAC7C,CAAC;IAEM,+CAAe,GAAtB;QAAA,iBAIC;QAHC,OAAO;YAAY,cAAiC;iBAAjC,UAAiC,EAAjC,qBAAiC,EAAjC,IAAiC;gBAAjC,yBAAiC;;YAClD,OAAO,KAAI,CAAC,QAAQ,CAAC,cAAM,OAAA,KAAI,CAAC,oBAAoB,OAAzB,KAAI,EAAoC,IAAI,GAA5C,CAA6C,EAAE,IAAI,CAAC,CAAC;QAClF,CAAC,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACW,wCAAQ,GAAtB,UACE,aAAuC,EACvC,IAA8B;;;;;;wBAExB,KAAqB,IAAI,CAAC,CAAC,CAAC,CAAC,OAAiD,EAA5E,MAAM,YAAA,EAAE,MAAM,YAAA,CAA+D;wBACjF,YAAY,GAAG,CAAC,CAAC;;;6BAGd,IAAI;;;;wBAEU,qBAAM,aAAa,EAAE,EAAA;;wBAAhC,QAAQ,GAAG,SAAqB;wBACtC,oCAAoC;wBACpC,sCAAsC,EAAE,CAAC,QAAQ,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,QAAA,EAAE,CAAC,CAAC;wBACnF,sBAAO,QAAQ,EAAC;;;wBAEhB,IAAI,YAAY,EAAE,IAAI,IAAI,CAAC,OAAO,IAAI,mBAAmB,CAAC,MAAM,EAAE,OAAK,CAAC,EAAE,CAAC;4BACzE,MAAM,OAAK,CAAC;wBACd,CAAC;wBAGO,iBAAiB,GAAK,IAAI,kBAAT,CAAU;wBAC7B,kBAAkB,GAAG,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,GAAG,CAAC,CAAC,CAAC;wBACvE,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;wBAE/B,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAK,CAAC,CAAC,CAAC,CAAC,kBAAkB,GAAG,MAAM,CAAC,CAAC,CAAC,iBAAiB,CAAC;wBACjG,qBAAM,KAAK,CAAC,MAAM,CAAC,EAAA;;wBAAnB,SAAmB,CAAC;;;;;;;KAGzB;IAED;;;;OAIG;IACK,mDAAmB,GAA3B,UAA4B,KAAc;QACxC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,KAAK,CAAC;QACf,CAAC;QAEO,IAAQ,IAAI,GAAK,KAAK,CAAC,OAAO,OAAlB,CAAmB;QACvC,OAAO,IAAI,KAAK,uCAAuC,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,KAAK,GAAG,CAAC;IAC9F,CAAC;IACH,4BAAC;AAAD,CAAC,AAvFD,CAA2C,uBAAuB,GAuFjE"}
@@ -7,3 +7,10 @@ export interface SolanaRateLimitTask {
7
7
  resolve: (result: unknown) => void;
8
8
  reject: (err: unknown) => void;
9
9
  }
10
+ /**
11
+ * Determine whether a Solana RPC error indicates an unrecoverable error that should not be retried.
12
+ * @param method RPC method name.
13
+ * @param error Error object from the RPC call.
14
+ * @returns True if the request should be aborted immediately, otherwise false.
15
+ */
16
+ export declare function shouldFailImmediate(method: string, error: unknown): boolean;
@@ -1,2 +1,23 @@
1
- export {};
1
+ import { isSolanaError, SVM_SLOT_SKIPPED, SVM_LONG_TERM_STORAGE_SLOT_SKIPPED } from "../../arch/svm";
2
+ /**
3
+ * Determine whether a Solana RPC error indicates an unrecoverable error that should not be retried.
4
+ * @param method RPC method name.
5
+ * @param error Error object from the RPC call.
6
+ * @returns True if the request should be aborted immediately, otherwise false.
7
+ */
8
+ export function shouldFailImmediate(method, error) {
9
+ if (!isSolanaError(error)) {
10
+ return false;
11
+ }
12
+ // JSON-RPC errors: https://www.quicknode.com/docs/solana/error-references
13
+ var code = error.context.__code;
14
+ switch (method) {
15
+ case "getBlock":
16
+ case "getBlockTime":
17
+ // No block at the requested slot. This may not be correct for blocks > 1 year old.
18
+ return [SVM_SLOT_SKIPPED, SVM_LONG_TERM_STORAGE_SLOT_SKIPPED].includes(code);
19
+ default:
20
+ return false;
21
+ }
22
+ }
2
23
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/providers/solana/utils.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/providers/solana/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,kCAAkC,EAAE,MAAM,gBAAgB,CAAC;AAerG;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAAc,EAAE,KAAc;IAChE,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,0EAA0E;IAClE,IAAQ,IAAI,GAAK,KAAK,CAAC,OAAO,OAAlB,CAAmB;IACvC,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,UAAU,CAAC;QAChB,KAAK,cAAc;YACjB,mFAAmF;YACnF,OAAO,CAAC,gBAAgB,EAAE,kCAAkC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC/E;YACE,OAAO,KAAK,CAAC;IACjB,CAAC;AACH,CAAC"}
@@ -6,7 +6,7 @@ import { DepositWithBlock, FillStatus, FillWithBlock, RelayData, RelayDataWithMe
6
6
  import { BigNumber, EvmAddress, Address as SdkAddress, SvmAddress } from "../../utils";
7
7
  import { type AcrossPlusMessage } from "./";
8
8
  import { SvmCpiEventsClient } from "./eventsClient";
9
- import { AttestedCCTPMessage, SVMProvider } from "./types";
9
+ import { AttestedCCTPMessage, SVMProvider, LatestBlockhash } from "./types";
10
10
  /**
11
11
  * @note: Average Solana slot duration is about 400-500ms. We can be conservative
12
12
  * and choose 400 to ensure that the most slots get included in our ranges
@@ -292,7 +292,7 @@ export declare function getFillRelayDelegatePda(relayHash: Uint8Array, repayment
292
292
  * the error handling would have to account for the asynchronous opening/closing of PDAs, which is better handled downstream,
293
293
  * where the caller of this function has more context.
294
294
  */
295
- export declare const hasCCTPV1MessageBeenProcessed: (solanaClient: SVMProvider, signer: KeyPairSigner, nonce: number, sourceDomain: number) => Promise<boolean>;
295
+ export declare const hasCCTPV1MessageBeenProcessed: (solanaClient: SVMProvider, signer: KeyPairSigner, nonce: number, sourceDomain: number, latestBlockhash?: LatestBlockhash) => Promise<boolean>;
296
296
  /**
297
297
  * Returns the account metas for a tokenless message.
298
298
  * @returns The account metas for a tokenless message.
@@ -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":"AAAA,OAAO,EAAE,wBAAwB,EAAE,cAAc,EAA8B,MAAM,4BAA4B,CAAC;AAIlH,OAAO,EAEL,IAAI,EAML,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,OAAO,EAEP,OAAO,EACP,kBAAkB,EAClB,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,kBAAkB,EAalB,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,UAAU,EAChB,MAAM,aAAa,CAAC;AAErB,OAAO,OAAO,MAAM,SAAS,CAAC;AAG9B,OAAO,EACL,gBAAgB,EAChB,UAAU,EACV,aAAa,EACb,SAAS,EACT,wBAAwB,EAEzB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,SAAS,EACT,UAAU,EACV,OAAO,IAAI,UAAU,EACrB,UAAU,EAYX,MAAM,aAAa,CAAC;AACrB,OAAO,EAeL,KAAK,iBAAiB,EAEvB,MAAM,IAAI,CAAC;AACZ,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEpD,OAAO,EAAE,mBAAmB,EAAiB,WAAW,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAQ3F;;;GAGG;AACH,eAAO,MAAM,gBAAgB,MAAM,CAAC;AAEpC,KAAK,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,WAAW,GAAG,aAAa,CAAC,GAAG;IAC9D,kBAAkB,EAAE,MAAM,CAAC;IAC3B,SAAS,EAAE,UAAU,CAAC;IACtB,WAAW,EAAE,UAAU,CAAC;CACzB,CAAC;AAEF,KAAK,mBAAmB,GAAG;IACzB,cAAc,EAAE,OAAO,CAAC;IACxB,WAAW,EAAE,OAAO,CAAC;IACrB,UAAU,EAAE,OAAO,CAAC;IACpB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,oBAAoB,EAAE,OAAO,CAAC;IAC9B,mCAAmC,EAAE,OAAO,CAAC;IAC7C,kBAAkB,EAAE,OAAO,CAAC;CAC7B,CAAC;AAEF,wBAAgB,OAAO,CAAC,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAE/G;AAyBD;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,WAAW,EACrB,UAAU,EAAE,MAAM,EAClB,UAAU,SAAI,EACd,MAAM,CAAC,EAAE,OAAO,CAAC,MAAM,GACtB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAE7B;AA+CD;;;;;GAKG;AACH,wBAAsB,eAAe,CAAC,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAG/F;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAE7F;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAsB,WAAW,CAC/B,WAAW,EAAE,kBAAkB,EAC/B,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,OAAO,CAAC,MAAM,EACtB,IAAI,CAAC,EAAE,MAAM,EACb,eAAe,SAAmB,GACjC,OAAO,CAAC,IAAI,CAAC,gBAAgB,EAAE,eAAe,GAAG,kBAAkB,GAAG,eAAe,GAAG,aAAa,CAAC,GAAG,SAAS,CAAC,CA0CrH;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,eAAe,CACnC,SAAS,EAAE,OAAO,EAClB,SAAS,EAAE,wBAAwB,EACnC,kBAAkB,EAAE,MAAM,EAC1B,eAAe,EAAE,kBAAkB,EACnC,MAAM,EAAE,OAAO,CAAC,MAAM,EACtB,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,UAAU,CAAC,CA8BrB;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,eAAe,CACnC,SAAS,EAAE,OAAO,EAClB,SAAS,EAAE,wBAAwB,EAAE,EACrC,kBAAkB,EAAE,MAAM,EAC1B,eAAe,EAAE,kBAAkB,EACnC,MAAM,EAAE,OAAO,CAAC,MAAM,EACtB,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,CAAC,UAAU,GAAG,SAAS,CAAC,EAAE,CAAC,CAkErC;AAED;;;;;;;;;GASG;AACH,wBAAsB,aAAa,CACjC,SAAS,EAAE,wBAAwB,EACnC,kBAAkB,EAAE,MAAM,EAC1B,eAAe,EAAE,kBAAkB,EACnC,QAAQ,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,OAAO,CAAC,MAAM,GACtB,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CA2BpC;AAED;;;;;;GAMG;AACH,wBAAsB,oBAAoB,CACxC,SAAS,EAAE,UAAU,EACrB,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,iBAAiB,CAAC,MAAM,CAAC,EACjC,qBAAqB,EAAE,OAAO,CAAC,MAAM,CAAC,EACtC,gBAAgB,EAAE,UAAU,GAAG,UAAU,EACzC,gBAAgB,EAAE,MAAM,qNAsCzB;AAED;;;;GAIG;AACH,wBAAgB,8BAA8B,CAC5C,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,iBAAiB,CAAC,MAAM,CAAC,GACjC,cAAc,CAAC,8BAA8B,CAK/C;AAED;;;;;;;;;GASG;AACH,wBAAsB,cAAc,CAClC,aAAa,EAAE,UAAU,EACzB,YAAY,EAAE,WAAW,EACzB,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,WAAW,GAAG,aAAa,CAAC,GAAG;IACxD,kBAAkB,EAAE,MAAM,CAAC;IAC3B,SAAS,EAAE,UAAU,CAAC;IACtB,WAAW,EAAE,UAAU,CAAC;CACzB,EACD,MAAM,EAAE,iBAAiB,EACzB,gBAAgB,EAAE,MAAM,EACxB,gBAAgB,EAAE,UAAU;;;iBAyE7B;AAED;;;;;;;;;GASG;AACH,wBAAsB,gBAAgB,CACpC,aAAa,EAAE,UAAU,EACzB,YAAY,EAAE,WAAW,EACzB,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,WAAW,GAAG,aAAa,CAAC,GAAG;IACxD,kBAAkB,EAAE,MAAM,CAAC;IAC3B,SAAS,EAAE,UAAU,CAAC;IACtB,WAAW,EAAE,UAAU,CAAC;CACzB,EACD,MAAM,EAAE,iBAAiB,EACzB,gBAAgB,EAAE,MAAM,EACxB,gBAAgB,EAAE,UAAU;;;iBAuE7B;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,qBAAqB,GAChC,QAAQ,iBAAiB,EACzB,cAAc,WAAW,EACzB,WAAW,cAAc,CAAC,cAAc,EACxC,WAAW,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,cAAc,GAAG,WAAW,CAAC,EAC3E,eAAe,MAAM,EACrB,qBAAoB,OAAe,EACnC,oBAAmB,CAAC,eAAe,GAAG,eAAe,CAAC,EAAO;;;gBAsC9D,CAAC;AAEF,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,iBAAiB,CAYtE;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,wBAAwB,GACnC,QAAQ,iBAAiB,EACzB,cAAc,WAAW,EACzB,cAAc,cAAc,CAAC,YAAY,EACzC,eAAe,MAAM,EACrB,yBAAwB,OAAc;;;gBAiCvC,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,gCAAgC,GAC3C,QAAQ,iBAAiB,EACzB,cAAc,WAAW,EACzB,sBAAsB,cAAc,CAAC,oBAAoB;;;gBAO1D,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAsB,oBAAoB,CACxC,aAAa,EAAE,UAAU,EACzB,YAAY,EAAE,WAAW,EACzB,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,WAAW,GAAG,aAAa,CAAC,GAAG;IACxD,kBAAkB,EAAE,MAAM,CAAC;IAC3B,SAAS,EAAE,UAAU,CAAC;IACtB,WAAW,EAAE,UAAU,CAAC;CACzB,EACD,MAAM,EAAE,iBAAiB;;;iBAyB1B;AAED;;;;;;GAMG;AACH,eAAO,MAAM,6BAA6B,GACxC,QAAQ,iBAAiB,EACzB,cAAc,WAAW,EACzB,eAAe,OAAO;;;gBAUvB,CAAC;AAEF,eAAO,MAAM,+BAA+B,GAC1C,QAAQ,iBAAiB,EACzB,cAAc,WAAW,EACzB,OAAO,wBAAwB,CAAC,mBAAmB,EACnD,mBAAmB,YAAY,CAAC,MAAM,CAAC,EAAE;;;gBAO1C,CAAC;AAEF,wBAAsB,yBAAyB,CAC7C,KAAK,EAAE,UAAU,EACjB,IAAI,EAAE,UAAU,EAChB,cAAc,GAAE,OAAO,CAAC,MAAM,CAAyB,GACtD,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAO1B;AAED,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,SAAS,GAAG;IAAE,WAAW,EAAE,MAAM,CAAA;CAAE,EAAE,kBAAkB,EAAE,MAAM,GAAG,MAAM,CAuBnH;AAuFD;;;;;;GAMG;AACH,wBAAsB,4CAA4C,CAChE,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,EAC1B,SAAS,EAAE,SAAS,EACpB,gBAAgB,EAAE,MAAM,EACxB,gBAAgB,EAAE,UAAU,EAC5B,MAAM,EAAE,iBAAiB,CAAC,MAAM,CAAC,EACjC,YAAY,SAAM,GACjB,OAAO,CAAC,YAAY,EAAE,CAAC,CA+BzB;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,WAAW,EAAE;IACX,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAC3B,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAC3B,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAC5B,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,kBAAkB,CAAC;IACjC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,gBAAgB,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAClC,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,OAAO,EAAE,UAAU,CAAC;CACrB,EACD,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,GACzB,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CA6B1B;AAED;;GAEG;AACH,wBAAsB,wBAAwB,CAC5C,WAAW,EAAE;IACX,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAC3B,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAC3B,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAC5B,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,kBAAkB,CAAC;IACjC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,gBAAgB,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAClC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,OAAO,EAAE,UAAU,CAAC;CACrB,EACD,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,GACzB,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CA4B1B;AAED;;GAEG;AACH,wBAAsB,uBAAuB,CAC3C,SAAS,EAAE,UAAU,EACrB,gBAAgB,EAAE,MAAM,EACxB,gBAAgB,EAAE,OAAO,CAAC,MAAM,CAAC,EACjC,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,GACzB,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAkB1B;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,6BAA6B,GACxC,cAAc,WAAW,EACzB,QAAQ,aAAa,EACrB,OAAO,MAAM,EACb,cAAc,MAAM,EACpB,kBAAkB,eAAe,KAChC,OAAO,CAAC,OAAO,CAajB,CAAC;AAEF;;;GAGG;AACH,wBAAsB,kCAAkC,CACtD,YAAY,EAAE,WAAW,EACzB,MAAM,EAAE,aAAa,EACrB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,CAmDjC;AAED;;;;;;GAMG;AACH,wBAAsB,sBAAsB,CAC1C,UAAU,EAAE,MAAM,EAClB,uBAAuB,EAAE,MAAM,EAC/B,2BAA2B,EAAE,OAAO,EACpC,yBAAyB,EAAE,OAAO,GACjC,OAAO,CAAC,mBAAmB,CAAC,CAqD9B;AA2ED;;;;;;;;GAQG;AACH,wBAAsB,yBAAyB,CAC7C,YAAY,EAAE,WAAW,EACzB,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE,mBAAmB,EAC5B,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,UAAU;;;iBAqDzB;AAED;;;;;;;;;;GAUG;AAEH,wBAAgB,sBAAsB,CACpC,YAAY,EAAE,WAAW,EACzB,gBAAgB,EAAE,mBAAmB,EAAE,EACvC,MAAM,EAAE,aAAa,EACrB,YAAY,EAAE,UAAU,EACxB,QAAQ,UAAQ,EAChB,UAAU,SAAI,GACb,OAAO,CAAC,MAAM,EAAE,CAAC,CA4BnB;AAED,wBAAsB,WAAW,CAC/B,YAAY,EAAE,WAAW,EACzB,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,EACrB,MAAM,CAAC,EAAE,kBAAkB,GAC1B,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAEhC"}
@@ -2,5 +2,32 @@
2
2
  * SVM RPC provider error codes
3
3
  * See https://www.quicknode.com/docs/solana/error-references
4
4
  */
5
- export { isSolanaError, SOLANA_ERROR__JSON_RPC__SERVER_ERROR_BLOCK_NOT_AVAILABLE as SVM_BLOCK_NOT_AVAILABLE, SOLANA_ERROR__JSON_RPC__SERVER_ERROR_SLOT_SKIPPED as SVM_SLOT_SKIPPED, SOLANA_ERROR__JSON_RPC__SERVER_ERROR_LONG_TERM_STORAGE_SLOT_SKIPPED as SVM_LONG_TERM_STORAGE_SLOT_SKIPPED, SOLANA_ERROR__JSON_RPC__SERVER_ERROR_SEND_TRANSACTION_PREFLIGHT_FAILURE as SVM_TRANSACTION_PREFLIGHT_FAILURE, } from "@solana/kit";
5
+ export { SOLANA_ERROR__JSON_RPC__SERVER_ERROR_BLOCK_NOT_AVAILABLE as SVM_BLOCK_NOT_AVAILABLE, SOLANA_ERROR__JSON_RPC__SERVER_ERROR_SLOT_SKIPPED as SVM_SLOT_SKIPPED, SOLANA_ERROR__JSON_RPC__SERVER_ERROR_LONG_TERM_STORAGE_SLOT_SKIPPED as SVM_LONG_TERM_STORAGE_SLOT_SKIPPED, SOLANA_ERROR__JSON_RPC__SERVER_ERROR_SEND_TRANSACTION_PREFLIGHT_FAILURE as SVM_TRANSACTION_PREFLIGHT_FAILURE, } from "@solana/kit";
6
+ /**
7
+ * Type definition for SolanaError structure.
8
+ * Includes common context properties for better type inference.
9
+ */
10
+ export interface SolanaErrorLike {
11
+ name: string;
12
+ context: {
13
+ __code: number;
14
+ __serverMessage?: string;
15
+ statusCode?: number;
16
+ [key: string]: unknown;
17
+ };
18
+ cause?: unknown;
19
+ }
20
+ /**
21
+ * Enhanced type guard to check if an error is a SolanaError.
22
+ *
23
+ * This function uses a two-tier approach:
24
+ * 1. First attempts the official instanceof-based check from @solana/kit
25
+ * 2. Falls back to structural validation using superstruct for errors that have been
26
+ * serialized/deserialized (e.g., when crossing async boundaries or through JSON parsing)
27
+ *
28
+ * @param error The error to check
29
+ * @param code Optional error code to match against context.__code
30
+ * @returns True if the error is a SolanaError (or has valid SolanaError structure)
31
+ */
32
+ export declare function isSolanaError(error: unknown): error is SolanaErrorLike;
6
33
  //# sourceMappingURL=provider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../../src/arch/svm/provider.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EACL,aAAa,EACb,wDAAwD,IAAI,uBAAuB,EACnF,iDAAiD,IAAI,gBAAgB,EACrE,mEAAmE,IAAI,kCAAkC,EACzG,uEAAuE,IAAI,iCAAiC,GAC7G,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../../src/arch/svm/provider.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,OAAO,EACL,wDAAwD,IAAI,uBAAuB,EACnF,iDAAiD,IAAI,gBAAgB,EACrE,mEAAmE,IAAI,kCAAkC,EACzG,uEAAuE,IAAI,iCAAiC,GAC7G,MAAM,aAAa,CAAC;AAcrB;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE;QACP,MAAM,EAAE,MAAM,CAAC;QACf,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,CAAC;IACF,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,eAAe,CAEtE"}
@@ -1,5 +1,5 @@
1
1
  import { SvmSpokeClient } from "@across-protocol/contracts";
2
- import { Address, Rpc, RpcSubscriptions, RpcTransport, Signature, SignatureNotificationsApi, SlotNotificationsApi, SolanaRpcApiFromTransport, UnixTimestamp } from "@solana/kit";
2
+ import { Address, Rpc, RpcSubscriptions, RpcTransport, Signature, SignatureNotificationsApi, SlotNotificationsApi, SolanaRpcApiFromTransport, UnixTimestamp, type Blockhash } from "@solana/kit";
3
3
  export type EventData = SvmSpokeClient.BridgedToHubPool | SvmSpokeClient.TokensBridged | SvmSpokeClient.ExecutedRelayerRefundRoot | SvmSpokeClient.RelayedRootBundle | SvmSpokeClient.PausedDeposits | SvmSpokeClient.PausedFills | SvmSpokeClient.SetXDomainAdmin | SvmSpokeClient.FilledRelay | SvmSpokeClient.FundsDeposited | SvmSpokeClient.EmergencyDeletedRootBundle | SvmSpokeClient.RequestedSlowFill | SvmSpokeClient.ClaimedRelayerRefund | SvmSpokeClient.TransferredOwnership;
4
4
  export declare enum SVMEventNames {
5
5
  FilledRelay = "FilledRelay",
@@ -38,4 +38,8 @@ export type AttestedCCTPMessage = {
38
38
  attestation: string;
39
39
  type: "transfer" | "message";
40
40
  };
41
+ export type LatestBlockhash = {
42
+ blockhash: Blockhash;
43
+ lastValidBlockHeight: bigint;
44
+ };
41
45
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/arch/svm/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EACL,OAAO,EACP,GAAG,EACH,gBAAgB,EAChB,YAAY,EACZ,SAAS,EACT,yBAAyB,EACzB,oBAAoB,EACpB,yBAAyB,EACzB,aAAa,EACd,MAAM,aAAa,CAAC;AAErB,MAAM,MAAM,SAAS,GACjB,cAAc,CAAC,gBAAgB,GAC/B,cAAc,CAAC,aAAa,GAC5B,cAAc,CAAC,yBAAyB,GACxC,cAAc,CAAC,iBAAiB,GAChC,cAAc,CAAC,cAAc,GAC7B,cAAc,CAAC,WAAW,GAC1B,cAAc,CAAC,eAAe,GAC9B,cAAc,CAAC,WAAW,GAC1B,cAAc,CAAC,cAAc,GAC7B,cAAc,CAAC,0BAA0B,GACzC,cAAc,CAAC,iBAAiB,GAChC,cAAc,CAAC,oBAAoB,GACnC,cAAc,CAAC,oBAAoB,CAAC;AAExC,oBAAY,aAAa;IACvB,WAAW,gBAAgB;IAC3B,cAAc,mBAAmB;IACjC,iBAAiB,sBAAsB;IACvC,yBAAyB,8BAA8B;IACvD,gBAAgB,qBAAqB;IACrC,cAAc,mBAAmB;IACjC,WAAW,gBAAgB;IAC3B,eAAe,oBAAoB;IACnC,0BAA0B,+BAA+B;IACzD,iBAAiB,sBAAsB;IACvC,oBAAoB,yBAAyB;IAC7C,aAAa,kBAAkB;IAC/B,oBAAoB,yBAAyB;CAC9C;AAED,MAAM,MAAM,SAAS,GAAG,MAAM,OAAO,aAAa,CAAC;AAEnD,MAAM,MAAM,aAAa,GAAG;IAC1B,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,SAAS,EAAE,aAAa,GAAG,IAAI,CAAC;IAChC,SAAS,EAAE,SAAS,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,GAAG,CAAC,yBAAyB,CAAC,YAAY,CAAC,CAAC,CAAC;AAGvE,MAAM,MAAM,SAAS,GAAG;IACtB,GAAG,EAAE,WAAW,CAAC;IACjB,gBAAgB,EAAE,gBAAgB,CAAC,yBAAyB,GAAG,oBAAoB,CAAC,CAAC;CACtF,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,UAAU,GAAG,SAAS,CAAC;CAC9B,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/arch/svm/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EACL,OAAO,EACP,GAAG,EACH,gBAAgB,EAChB,YAAY,EACZ,SAAS,EACT,yBAAyB,EACzB,oBAAoB,EACpB,yBAAyB,EACzB,aAAa,EACb,KAAK,SAAS,EACf,MAAM,aAAa,CAAC;AAErB,MAAM,MAAM,SAAS,GACjB,cAAc,CAAC,gBAAgB,GAC/B,cAAc,CAAC,aAAa,GAC5B,cAAc,CAAC,yBAAyB,GACxC,cAAc,CAAC,iBAAiB,GAChC,cAAc,CAAC,cAAc,GAC7B,cAAc,CAAC,WAAW,GAC1B,cAAc,CAAC,eAAe,GAC9B,cAAc,CAAC,WAAW,GAC1B,cAAc,CAAC,cAAc,GAC7B,cAAc,CAAC,0BAA0B,GACzC,cAAc,CAAC,iBAAiB,GAChC,cAAc,CAAC,oBAAoB,GACnC,cAAc,CAAC,oBAAoB,CAAC;AAExC,oBAAY,aAAa;IACvB,WAAW,gBAAgB;IAC3B,cAAc,mBAAmB;IACjC,iBAAiB,sBAAsB;IACvC,yBAAyB,8BAA8B;IACvD,gBAAgB,qBAAqB;IACrC,cAAc,mBAAmB;IACjC,WAAW,gBAAgB;IAC3B,eAAe,oBAAoB;IACnC,0BAA0B,+BAA+B;IACzD,iBAAiB,sBAAsB;IACvC,oBAAoB,yBAAyB;IAC7C,aAAa,kBAAkB;IAC/B,oBAAoB,yBAAyB;CAC9C;AAED,MAAM,MAAM,SAAS,GAAG,MAAM,OAAO,aAAa,CAAC;AAEnD,MAAM,MAAM,aAAa,GAAG;IAC1B,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,SAAS,EAAE,aAAa,GAAG,IAAI,CAAC;IAChC,SAAS,EAAE,SAAS,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,GAAG,CAAC,yBAAyB,CAAC,YAAY,CAAC,CAAC,CAAC;AAGvE,MAAM,MAAM,SAAS,GAAG;IACtB,GAAG,EAAE,WAAW,CAAC;IACjB,gBAAgB,EAAE,gBAAgB,CAAC,yBAAyB,GAAG,oBAAoB,CAAC,CAAC;CACtF,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,UAAU,GAAG,SAAS,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,SAAS,EAAE,SAAS,CAAC;IACrB,oBAAoB,EAAE,MAAM,CAAC;CAC9B,CAAC"}
@@ -3,9 +3,8 @@ import { Idl } from "@coral-xyz/anchor";
3
3
  import { Address, IInstruction, KeyPairSigner, type Commitment, type TransactionSigner } from "@solana/kit";
4
4
  import { RelayData, RelayDataWithMessageHash } from "../../interfaces";
5
5
  import { BigNumber, Address as SdkAddress } from "../../utils";
6
- import { AttestedCCTPMessage, EventName, SVMProvider } from "./types";
6
+ import { AttestedCCTPMessage, EventName, SVMProvider, LatestBlockhash } from "./types";
7
7
  import winston from "winston";
8
- export { isSolanaError } from "@solana/kit";
9
8
  /**
10
9
  * Basic void TransactionSigner type
11
10
  */
@@ -125,7 +124,7 @@ export declare function getRandomSvmAddress(): Address<string>;
125
124
  * @param signer - The signer of the transaction.
126
125
  * @returns The default transaction.
127
126
  */
128
- export declare const createDefaultTransaction: (rpcClient: SVMProvider, signer: TransactionSigner) => Promise<import("@solana/kit").TransactionMessageWithBlockhashLifetime & import("@solana/kit").ITransactionMessageWithFeePayerSigner<string, TransactionSigner<string>> & Omit<Readonly<{
127
+ export declare const createDefaultTransaction: (rpcClient: SVMProvider, signer: TransactionSigner, latestBlockhash?: LatestBlockhash) => Promise<import("@solana/kit").TransactionMessageWithBlockhashLifetime & import("@solana/kit").ITransactionMessageWithFeePayerSigner<string, TransactionSigner<string>> & Omit<Readonly<{
129
128
  instructions: readonly IInstruction<string, readonly (import("@solana/kit").IAccountMeta<string> | import("@solana/kit").IAccountLookupMeta<string, string>)[]>[];
130
129
  version: 0;
131
130
  }>, "feePayer">>;
@@ -137,7 +136,7 @@ export declare const createDefaultTransaction: (rpcClient: SVMProvider, signer:
137
136
  * @param parser - The parser function to decode the result.
138
137
  * @returns The decoded result.
139
138
  */
140
- export declare const simulateAndDecode: <P extends (buf: Buffer) => unknown>(solanaClient: SVMProvider, ix: IInstruction, signer: KeyPairSigner, parser: P) => Promise<ReturnType<P>>;
139
+ export declare const simulateAndDecode: <P extends (buf: Buffer) => unknown>(solanaClient: SVMProvider, ix: IInstruction, signer: KeyPairSigner, parser: P, latestBlockhash?: LatestBlockhash) => Promise<ReturnType<P>>;
141
140
  /**
142
141
  * Converts a common `RelayData` type to an SvmSpokeClient.RelayData` type. This is useful for when we need
143
142
  * to interface directly with the SvmSpoke.
@@ -153,7 +152,7 @@ export declare function toSvmRelayData(relayData: RelayData): SvmSpokeClient.Rel
153
152
  * @param sourceDomain The source domain.
154
153
  * @returns The PDA for the CCTP nonce.
155
154
  */
156
- export declare const getCCTPNoncePda: (solanaClient: SVMProvider, signer: KeyPairSigner, nonce: number, sourceDomain: number) => Promise<Address>;
155
+ export declare const getCCTPNoncePda: (solanaClient: SVMProvider, signer: KeyPairSigner, nonce: number, sourceDomain: number, latestBlockhash?: LatestBlockhash) => Promise<Address>;
157
156
  /**
158
157
  * Checks if a CCTP message is a deposit for burn event.
159
158
  * @param event The CCTP message event.
@@ -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,7 +1,7 @@
1
+ import { Logger } from "winston";
1
2
  import { RpcFromTransport, RpcTransport, SolanaRpcApiFromTransport } from "@solana/kit";
2
3
  import { CachedSolanaRpcFactory } from "./cachedRpcFactory";
3
4
  import { SolanaBaseRpcFactory } from "./baseRpcFactories";
4
- import { Logger } from "winston";
5
5
  export declare class QuorumFallbackSolanaRpcFactory extends SolanaBaseRpcFactory {
6
6
  readonly nodeQuorumThreshold: number;
7
7
  readonly logger: Logger;
@@ -1 +1 @@
1
- {"version":3,"file":"quorumFallbackRpcFactory.d.ts","sourceRoot":"","sources":["../../../../src/providers/solana/quorumFallbackRpcFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAe,YAAY,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AACrG,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAA2B,MAAM,oBAAoB,CAAC;AAGnF,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAKjC,qBAAa,8BAA+B,SAAQ,oBAAoB;IASpE,QAAQ,CAAC,mBAAmB,EAAE,MAAM;IACpC,QAAQ,CAAC,MAAM,EAAE,MAAM;IATzB,QAAQ,CAAC,YAAY,EAAE;QACrB,SAAS,EAAE,YAAY,CAAC;QACxB,SAAS,EAAE,gBAAgB,CAAC,yBAAyB,CAAC,YAAY,CAAC,EAAE,YAAY,CAAC,CAAC;QACnF,UAAU,EAAE,sBAAsB,CAAC;KACpC,EAAE,CAAM;gBAGP,wBAAwB,EAAE,qBAAqB,CAAC,OAAO,sBAAsB,CAAC,EAAE,EACvE,mBAAmB,EAAE,MAAM,EAC3B,MAAM,EAAE,MAAM;IAkBlB,eAAe,IAAI,YAAY;IAiMtC,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,MAAM;CAY5D"}
1
+ {"version":3,"file":"quorumFallbackRpcFactory.d.ts","sourceRoot":"","sources":["../../../../src/providers/solana/quorumFallbackRpcFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,gBAAgB,EAAe,YAAY,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAGrG,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAA2B,MAAM,oBAAoB,CAAC;AAMnF,qBAAa,8BAA+B,SAAQ,oBAAoB;IASpE,QAAQ,CAAC,mBAAmB,EAAE,MAAM;IACpC,QAAQ,CAAC,MAAM,EAAE,MAAM;IATzB,QAAQ,CAAC,YAAY,EAAE;QACrB,SAAS,EAAE,YAAY,CAAC;QACxB,SAAS,EAAE,gBAAgB,CAAC,yBAAyB,CAAC,YAAY,CAAC,EAAE,YAAY,CAAC,CAAC;QACnF,UAAU,EAAE,sBAAsB,CAAC;KACpC,EAAE,CAAM;gBAGP,wBAAwB,EAAE,qBAAqB,CAAC,OAAO,sBAAsB,CAAC,EAAE,EACvE,mBAAmB,EAAE,MAAM,EAC3B,MAAM,EAAE,MAAM;IAkBlB,eAAe,IAAI,YAAY;IAsMtC,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,MAAM;CAY5D"}
@@ -1,7 +1,7 @@
1
+ import { Logger } from "winston";
1
2
  import { RpcTransport } from "@solana/kit";
2
3
  import { SolanaClusterRpcFactory } from "./baseRpcFactories";
3
4
  import { RateLimitedSolanaRpcFactory } from "./rateLimitedRpcFactory";
4
- import { Logger } from "winston";
5
5
  export declare class RetrySolanaRpcFactory extends SolanaClusterRpcFactory {
6
6
  readonly retries: number;
7
7
  readonly retryDelaySeconds: number;
@@ -16,13 +16,6 @@ export declare class RetrySolanaRpcFactory extends SolanaClusterRpcFactory {
16
16
  * @returns Promise that resolves to the transport response
17
17
  */
18
18
  private _tryCall;
19
- /**
20
- * Determine whether a Solana RPC error indicates an unrecoverable error that should not be retried.
21
- * @param method RPC method name
22
- * @param error Error object from the RPC call
23
- * @returns True if the request should be aborted immediately, otherwise false
24
- */
25
- private shouldFailImmediate;
26
19
  /**
27
20
  * Identify whether an error thrown was the result of an RPC provider 429 response.
28
21
  * @param error Error object from the RPC query.
@@ -1 +1 @@
1
- {"version":3,"file":"retryRpcFactory.d.ts","sourceRoot":"","sources":["../../../../src/providers/solana/retryRpcFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAA2C,MAAM,aAAa,CAAC;AAEpF,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AAGtE,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAIjC,qBAAa,qBAAsB,SAAQ,uBAAuB;IAO9D,QAAQ,CAAC,OAAO,EAAE,MAAM;IACxB,QAAQ,CAAC,iBAAiB,EAAE,MAAM;IANpC,SAAS,CAAC,oBAAoB,EAAE,YAAY,CAAC;IAE7C,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;gBAGd,OAAO,EAAE,MAAM,EACf,iBAAiB,EAAE,MAAM,EAClC,GAAG,4BAA4B,EAAE,qBAAqB,CAAC,OAAO,2BAA2B,CAAC;IAuBrF,eAAe,IAAI,YAAY;IAMtC;;;;;OAKG;YACW,QAAQ;IA8BtB;;;;;OAKG;IACH,OAAO,CAAC,mBAAmB;IAiB3B;;;;OAIG;IACH,OAAO,CAAC,mBAAmB;CAQ5B"}
1
+ {"version":3,"file":"retryRpcFactory.d.ts","sourceRoot":"","sources":["../../../../src/providers/solana/retryRpcFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,YAAY,EAA2C,MAAM,aAAa,CAAC;AAIpF,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AAKtE,qBAAa,qBAAsB,SAAQ,uBAAuB;IAO9D,QAAQ,CAAC,OAAO,EAAE,MAAM;IACxB,QAAQ,CAAC,iBAAiB,EAAE,MAAM;IANpC,SAAS,CAAC,oBAAoB,EAAE,YAAY,CAAC;IAE7C,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;gBAGd,OAAO,EAAE,MAAM,EACf,iBAAiB,EAAE,MAAM,EAClC,GAAG,4BAA4B,EAAE,qBAAqB,CAAC,OAAO,2BAA2B,CAAC;IAuBrF,eAAe,IAAI,YAAY;IAMtC;;;;;OAKG;YACW,QAAQ;IA8BtB;;;;OAIG;IACH,OAAO,CAAC,mBAAmB;CAQ5B"}
@@ -7,4 +7,11 @@ export interface SolanaRateLimitTask {
7
7
  resolve: (result: unknown) => void;
8
8
  reject: (err: unknown) => void;
9
9
  }
10
+ /**
11
+ * Determine whether a Solana RPC error indicates an unrecoverable error that should not be retried.
12
+ * @param method RPC method name.
13
+ * @param error Error object from the RPC call.
14
+ * @returns True if the request should be aborted immediately, otherwise false.
15
+ */
16
+ export declare function shouldFailImmediate(method: string, error: unknown): boolean;
10
17
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/providers/solana/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAElC,OAAO,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC;IAIlC,OAAO,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IACnC,MAAM,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;CAChC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/providers/solana/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAGhD;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAElC,OAAO,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC;IAIlC,OAAO,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IACnC,MAAM,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;CAChC;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAe3E"}
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.71",
4
+ "version": "4.3.73",
5
5
  "license": "AGPL-3.0",
6
6
  "homepage": "https://docs.across.to/reference/sdk",
7
7
  "files": [
@@ -86,7 +86,7 @@ import {
86
86
  } from "./";
87
87
  import { SvmCpiEventsClient } from "./eventsClient";
88
88
  import { SVM_LONG_TERM_STORAGE_SLOT_SKIPPED, SVM_SLOT_SKIPPED, isSolanaError } from "./provider";
89
- import { AttestedCCTPMessage, SVMEventNames, SVMProvider } from "./types";
89
+ import { AttestedCCTPMessage, SVMEventNames, SVMProvider, LatestBlockhash } from "./types";
90
90
  import {
91
91
  getEmergencyDeleteRootBundleRootBundleId,
92
92
  getNearestSlotTime,
@@ -176,7 +176,7 @@ async function _callGetTimestampForSlotWithRetry(
176
176
  const at = "getTimestampForSlot";
177
177
  const { __code: code } = err.context;
178
178
 
179
- switch (err.context.__code) {
179
+ switch (code) {
180
180
  case SVM_SLOT_SKIPPED:
181
181
  case SVM_LONG_TERM_STORAGE_SLOT_SKIPPED:
182
182
  // No block available for this slot; caller must decide on how to handle this.
@@ -1268,7 +1268,8 @@ export const hasCCTPV1MessageBeenProcessed = async (
1268
1268
  solanaClient: SVMProvider,
1269
1269
  signer: KeyPairSigner,
1270
1270
  nonce: number,
1271
- sourceDomain: number
1271
+ sourceDomain: number,
1272
+ latestBlockhash?: LatestBlockhash
1272
1273
  ): Promise<boolean> => {
1273
1274
  const noncePda = await getCCTPNoncePda(solanaClient, signer, nonce, sourceDomain);
1274
1275
  const isNonceUsedIx = MessageTransmitterClient.getIsNonceUsedInstruction({
@@ -1281,7 +1282,7 @@ export const hasCCTPV1MessageBeenProcessed = async (
1281
1282
  }
1282
1283
  return Boolean(buf[0]);
1283
1284
  };
1284
- return await simulateAndDecode(solanaClient, isNonceUsedIx, signer, parserFunction);
1285
+ return await simulateAndDecode(solanaClient, isNonceUsedIx, signer, parserFunction, latestBlockhash);
1285
1286
  };
1286
1287
 
1287
1288
  /**
@@ -1,11 +1,56 @@
1
+ import { isSolanaError as _isSolanaError } from "@solana/kit";
2
+ import { is, type, number, string } from "superstruct";
3
+
1
4
  /**
2
5
  * SVM RPC provider error codes
3
6
  * See https://www.quicknode.com/docs/solana/error-references
4
7
  */
5
8
  export {
6
- isSolanaError,
7
9
  SOLANA_ERROR__JSON_RPC__SERVER_ERROR_BLOCK_NOT_AVAILABLE as SVM_BLOCK_NOT_AVAILABLE,
8
10
  SOLANA_ERROR__JSON_RPC__SERVER_ERROR_SLOT_SKIPPED as SVM_SLOT_SKIPPED,
9
11
  SOLANA_ERROR__JSON_RPC__SERVER_ERROR_LONG_TERM_STORAGE_SLOT_SKIPPED as SVM_LONG_TERM_STORAGE_SLOT_SKIPPED,
10
12
  SOLANA_ERROR__JSON_RPC__SERVER_ERROR_SEND_TRANSACTION_PREFLIGHT_FAILURE as SVM_TRANSACTION_PREFLIGHT_FAILURE,
11
13
  } from "@solana/kit";
14
+
15
+ /**
16
+ * Superstruct schema for validating SolanaError structure.
17
+ * Handles serialized errors that have lost their prototype chain.
18
+ * Uses partial validation to allow additional properties in the context object.
19
+ */
20
+ const SolanaErrorStruct = type({
21
+ name: string(),
22
+ context: type({
23
+ __code: number(),
24
+ }),
25
+ });
26
+
27
+ /**
28
+ * Type definition for SolanaError structure.
29
+ * Includes common context properties for better type inference.
30
+ */
31
+ export interface SolanaErrorLike {
32
+ name: string;
33
+ context: {
34
+ __code: number;
35
+ __serverMessage?: string;
36
+ statusCode?: number;
37
+ [key: string]: unknown;
38
+ };
39
+ cause?: unknown;
40
+ }
41
+
42
+ /**
43
+ * Enhanced type guard to check if an error is a SolanaError.
44
+ *
45
+ * This function uses a two-tier approach:
46
+ * 1. First attempts the official instanceof-based check from @solana/kit
47
+ * 2. Falls back to structural validation using superstruct for errors that have been
48
+ * serialized/deserialized (e.g., when crossing async boundaries or through JSON parsing)
49
+ *
50
+ * @param error The error to check
51
+ * @param code Optional error code to match against context.__code
52
+ * @returns True if the error is a SolanaError (or has valid SolanaError structure)
53
+ */
54
+ export function isSolanaError(error: unknown): error is SolanaErrorLike {
55
+ return _isSolanaError(error) || is(error, SolanaErrorStruct);
56
+ }
@@ -9,6 +9,7 @@ import {
9
9
  SlotNotificationsApi,
10
10
  SolanaRpcApiFromTransport,
11
11
  UnixTimestamp,
12
+ type Blockhash,
12
13
  } from "@solana/kit";
13
14
 
14
15
  export type EventData =
@@ -69,3 +70,8 @@ export type AttestedCCTPMessage = {
69
70
  attestation: string;
70
71
  type: "transfer" | "message";
71
72
  };
73
+
74
+ export type LatestBlockhash = {
75
+ blockhash: Blockhash;
76
+ lastValidBlockHeight: bigint;
77
+ };