@across-protocol/sdk 4.3.12 → 4.3.13

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 (54) hide show
  1. package/dist/cjs/arch/svm/BlockUtils.d.ts +1 -0
  2. package/dist/cjs/arch/svm/BlockUtils.js +69 -52
  3. package/dist/cjs/arch/svm/BlockUtils.js.map +1 -1
  4. package/dist/cjs/arch/svm/SpokeUtils.d.ts +21 -10
  5. package/dist/cjs/arch/svm/SpokeUtils.js +303 -49
  6. package/dist/cjs/arch/svm/SpokeUtils.js.map +1 -1
  7. package/dist/cjs/arch/svm/types.d.ts +7 -0
  8. package/dist/cjs/arch/svm/utils.d.ts +8 -3
  9. package/dist/cjs/arch/svm/utils.js +81 -4
  10. package/dist/cjs/arch/svm/utils.js.map +1 -1
  11. package/dist/cjs/clients/BundleDataClient/utils/PoolRebalanceUtils.d.ts +1 -1
  12. package/dist/cjs/clients/BundleDataClient/utils/PoolRebalanceUtils.js +5 -2
  13. package/dist/cjs/clients/BundleDataClient/utils/PoolRebalanceUtils.js.map +1 -1
  14. package/dist/cjs/clients/BundleDataClient/utils/SuperstructUtils.d.ts +8 -8
  15. package/dist/cjs/clients/HubPoolClient.d.ts +1 -0
  16. package/dist/cjs/clients/HubPoolClient.js +11 -0
  17. package/dist/cjs/clients/HubPoolClient.js.map +1 -1
  18. package/dist/esm/arch/svm/BlockUtils.d.ts +7 -0
  19. package/dist/esm/arch/svm/BlockUtils.js +76 -54
  20. package/dist/esm/arch/svm/BlockUtils.js.map +1 -1
  21. package/dist/esm/arch/svm/SpokeUtils.d.ts +51 -10
  22. package/dist/esm/arch/svm/SpokeUtils.js +294 -8
  23. package/dist/esm/arch/svm/SpokeUtils.js.map +1 -1
  24. package/dist/esm/arch/svm/types.d.ts +7 -0
  25. package/dist/esm/arch/svm/utils.d.ts +35 -3
  26. package/dist/esm/arch/svm/utils.js +103 -3
  27. package/dist/esm/arch/svm/utils.js.map +1 -1
  28. package/dist/esm/clients/BundleDataClient/utils/PoolRebalanceUtils.d.ts +1 -1
  29. package/dist/esm/clients/BundleDataClient/utils/PoolRebalanceUtils.js +5 -2
  30. package/dist/esm/clients/BundleDataClient/utils/PoolRebalanceUtils.js.map +1 -1
  31. package/dist/esm/clients/BundleDataClient/utils/SuperstructUtils.d.ts +8 -8
  32. package/dist/esm/clients/HubPoolClient.d.ts +1 -0
  33. package/dist/esm/clients/HubPoolClient.js +19 -0
  34. package/dist/esm/clients/HubPoolClient.js.map +1 -1
  35. package/dist/types/arch/svm/BlockUtils.d.ts +7 -0
  36. package/dist/types/arch/svm/BlockUtils.d.ts.map +1 -1
  37. package/dist/types/arch/svm/SpokeUtils.d.ts +51 -10
  38. package/dist/types/arch/svm/SpokeUtils.d.ts.map +1 -1
  39. package/dist/types/arch/svm/types.d.ts +7 -0
  40. package/dist/types/arch/svm/types.d.ts.map +1 -1
  41. package/dist/types/arch/svm/utils.d.ts +35 -3
  42. package/dist/types/arch/svm/utils.d.ts.map +1 -1
  43. package/dist/types/clients/BundleDataClient/utils/PoolRebalanceUtils.d.ts +1 -1
  44. package/dist/types/clients/BundleDataClient/utils/PoolRebalanceUtils.d.ts.map +1 -1
  45. package/dist/types/clients/BundleDataClient/utils/SuperstructUtils.d.ts +8 -8
  46. package/dist/types/clients/HubPoolClient.d.ts +1 -0
  47. package/dist/types/clients/HubPoolClient.d.ts.map +1 -1
  48. package/package.json +1 -1
  49. package/src/arch/svm/BlockUtils.ts +33 -16
  50. package/src/arch/svm/SpokeUtils.ts +272 -10
  51. package/src/arch/svm/types.ts +8 -0
  52. package/src/arch/svm/utils.ts +99 -8
  53. package/src/clients/BundleDataClient/utils/PoolRebalanceUtils.ts +5 -2
  54. package/src/clients/HubPoolClient.ts +23 -0
@@ -1,10 +1,10 @@
1
- import { SvmSpokeClient } from "@across-protocol/contracts";
2
- import { Address, ReadonlyUint8Array, type TransactionSigner } from "@solana/kit";
1
+ import { MessageTransmitterClient, SvmSpokeClient } from "@across-protocol/contracts";
2
+ import { Address, IAccountMeta, KeyPairSigner, ReadonlyUint8Array, type TransactionSigner } from "@solana/kit";
3
3
  import { Logger } from "winston";
4
4
  import { DepositWithBlock, FillStatus, FillWithBlock, RelayData } from "../../interfaces";
5
- import { BigNumber, EvmAddress, SvmAddress, Address as SdkAddress } from "../../utils";
5
+ import { BigNumber, EvmAddress, Address as SdkAddress, SvmAddress } from "../../utils";
6
6
  import { SvmCpiEventsClient } from "./eventsClient";
7
- import { SVMProvider } from "./types";
7
+ import { AttestedCCTPMessage, SVMProvider } from "./types";
8
8
  /**
9
9
  * @note: Average Solana slot duration is about 400-500ms. We can be conservative
10
10
  * and choose 400 to ensure that the most slots get included in our ranges
@@ -130,7 +130,7 @@ export declare function getFillRelayTx(spokePoolAddr: SvmAddress, solanaClient:
130
130
  recipient: SvmAddress;
131
131
  outputToken: SvmAddress;
132
132
  }, signer: TransactionSigner, repaymentChainId: number, repaymentAddress: SdkAddress): Promise<import("@solana/kit").TransactionMessageWithBlockhashLifetime & import("@solana/kit").ITransactionMessageWithFeePayerSigner<string, TransactionSigner<string>> & Omit<Readonly<{
133
- instructions: readonly import("@solana/kit").IInstruction<string, readonly (import("@solana/kit").IAccountLookupMeta<string, string> | import("@solana/kit").IAccountMeta<string>)[]>[];
133
+ instructions: readonly import("@solana/kit").IInstruction<string, readonly (import("@solana/kit").IAccountLookupMeta<string, string> | IAccountMeta<string>)[]>[];
134
134
  version: 0;
135
135
  }>, "feePayer">>;
136
136
  /**
@@ -143,7 +143,7 @@ export declare function getFillRelayTx(spokePoolAddr: SvmAddress, solanaClient:
143
143
  * @returns The fill instruction.
144
144
  */
145
145
  export declare const createFillInstruction: (signer: TransactionSigner, solanaClient: SVMProvider, fillInput: SvmSpokeClient.FillRelayInput, tokenDecimals: number, createRecipientAtaIfNeeded?: boolean) => Promise<import("@solana/kit").TransactionMessageWithBlockhashLifetime & import("@solana/kit").ITransactionMessageWithFeePayerSigner<string, TransactionSigner<string>> & Omit<Readonly<{
146
- instructions: readonly import("@solana/kit").IInstruction<string, readonly (import("@solana/kit").IAccountLookupMeta<string, string> | import("@solana/kit").IAccountMeta<string>)[]>[];
146
+ instructions: readonly import("@solana/kit").IInstruction<string, readonly (import("@solana/kit").IAccountLookupMeta<string, string> | IAccountMeta<string>)[]>[];
147
147
  version: 0;
148
148
  }>, "feePayer">>;
149
149
  /**
@@ -156,7 +156,7 @@ export declare const createFillInstruction: (signer: TransactionSigner, solanaCl
156
156
  * @returns The deposit instruction.
157
157
  */
158
158
  export declare const createDepositInstruction: (signer: TransactionSigner, solanaClient: SVMProvider, depositInput: SvmSpokeClient.DepositInput, tokenDecimals: number, createVaultAtaIfNeeded?: boolean) => Promise<import("@solana/kit").TransactionMessageWithBlockhashLifetime & import("@solana/kit").ITransactionMessageWithFeePayerSigner<string, TransactionSigner<string>> & Omit<Readonly<{
159
- instructions: readonly import("@solana/kit").IInstruction<string, readonly (import("@solana/kit").IAccountLookupMeta<string, string> | import("@solana/kit").IAccountMeta<string>)[]>[];
159
+ instructions: readonly import("@solana/kit").IInstruction<string, readonly (import("@solana/kit").IAccountLookupMeta<string, string> | IAccountMeta<string>)[]>[];
160
160
  version: 0;
161
161
  }>, "feePayer">>;
162
162
  /**
@@ -167,7 +167,7 @@ export declare const createDepositInstruction: (signer: TransactionSigner, solan
167
167
  * @returns The request slow fill instruction.
168
168
  */
169
169
  export declare const createRequestSlowFillInstruction: (signer: TransactionSigner, solanaClient: SVMProvider, requestSlowFillInput: SvmSpokeClient.RequestSlowFillInput) => Promise<import("@solana/kit").TransactionMessageWithBlockhashLifetime & import("@solana/kit").ITransactionMessageWithFeePayerSigner<string, TransactionSigner<string>> & Omit<Readonly<{
170
- instructions: readonly import("@solana/kit").IInstruction<string, readonly (import("@solana/kit").IAccountLookupMeta<string, string> | import("@solana/kit").IAccountMeta<string>)[]>[];
170
+ instructions: readonly import("@solana/kit").IInstruction<string, readonly (import("@solana/kit").IAccountLookupMeta<string, string> | IAccountMeta<string>)[]>[];
171
171
  version: 0;
172
172
  }>, "feePayer">>;
173
173
  /**
@@ -183,7 +183,7 @@ export declare function getSlowFillRequestTx(spokePoolAddr: SvmAddress, solanaCl
183
183
  recipient: SvmAddress;
184
184
  outputToken: SvmAddress;
185
185
  }, signer: TransactionSigner): Promise<import("@solana/kit").TransactionMessageWithBlockhashLifetime & import("@solana/kit").ITransactionMessageWithFeePayerSigner<string, TransactionSigner<string>> & Omit<Readonly<{
186
- instructions: readonly import("@solana/kit").IInstruction<string, readonly (import("@solana/kit").IAccountLookupMeta<string, string> | import("@solana/kit").IAccountMeta<string>)[]>[];
186
+ instructions: readonly import("@solana/kit").IInstruction<string, readonly (import("@solana/kit").IAccountLookupMeta<string, string> | IAccountMeta<string>)[]>[];
187
187
  version: 0;
188
188
  }>, "feePayer">>;
189
189
  /**
@@ -194,7 +194,11 @@ export declare function getSlowFillRequestTx(spokePoolAddr: SvmAddress, solanaCl
194
194
  * @returns The close fill PDA instruction.
195
195
  */
196
196
  export declare const createCloseFillPdaInstruction: (signer: TransactionSigner, solanaClient: SVMProvider, fillStatusPda: Address) => Promise<import("@solana/kit").TransactionMessageWithBlockhashLifetime & import("@solana/kit").ITransactionMessageWithFeePayerSigner<string, TransactionSigner<string>> & Omit<Readonly<{
197
- instructions: readonly import("@solana/kit").IInstruction<string, readonly (import("@solana/kit").IAccountLookupMeta<string, string> | import("@solana/kit").IAccountMeta<string>)[]>[];
197
+ instructions: readonly import("@solana/kit").IInstruction<string, readonly (import("@solana/kit").IAccountLookupMeta<string, string> | IAccountMeta<string>)[]>[];
198
+ version: 0;
199
+ }>, "feePayer">>;
200
+ export declare const createReceiveMessageInstruction: (signer: TransactionSigner, solanaClient: SVMProvider, input: MessageTransmitterClient.ReceiveMessageInput, remainingAccounts: IAccountMeta<string>[]) => Promise<import("@solana/kit").TransactionMessageWithBlockhashLifetime & import("@solana/kit").ITransactionMessageWithFeePayerSigner<string, TransactionSigner<string>> & Omit<Readonly<{
201
+ instructions: readonly import("@solana/kit").IInstruction<string, readonly (import("@solana/kit").IAccountLookupMeta<string, string> | IAccountMeta<string>)[]>[];
198
202
  version: 0;
199
203
  }>, "feePayer">>;
200
204
  export declare function getAssociatedTokenAddress(owner: SvmAddress, mint: SvmAddress, tokenProgramId?: Address<string>): Promise<Address<string>>;
@@ -236,5 +240,42 @@ export declare function getDepositNowDelegatePda(depositData: {
236
240
  * Returns the fill-delegate PDA for fillRelay.
237
241
  */
238
242
  export declare function getFillRelayDelegatePda(relayHash: Uint8Array, repaymentChainId: bigint, repaymentAddress: Address<string>, programId: Address<string>): Promise<Address<string>>;
243
+ /**
244
+ * Checks if a CCTP message has been processed.
245
+ * @param solanaClient The Solana client.
246
+ * @param signer The signer of the transaction.
247
+ * @param nonce The nonce to check.
248
+ * @param sourceDomain The source domain.
249
+ * @returns True if the message has been processed, false otherwise.
250
+ */
251
+ export declare const hasCCTPV1MessageBeenProcessed: (solanaClient: SVMProvider, signer: KeyPairSigner, nonce: number, sourceDomain: number) => Promise<boolean>;
252
+ /**
253
+ * Returns the account metas for a tokenless message.
254
+ * @returns The account metas for a tokenless message.
255
+ */
256
+ export declare function getAccountMetasForTokenlessMessage(): Promise<IAccountMeta<string>[]>;
257
+ /**
258
+ * Returns the CCTP v1 receive message transaction.
259
+ * @param solanaClient The Solana client.
260
+ * @param signer The signer of the transaction.
261
+ * @param message The CCTP message.
262
+ * @param hubChainId The chain ID of the hub.
263
+ * @returns The CCTP v1 receive message transaction.
264
+ */
265
+ export declare function getCCTPV1ReceiveMessageTx(solanaClient: SVMProvider, signer: KeyPairSigner, message: AttestedCCTPMessage, hubChainId: number): Promise<import("@solana/kit").TransactionMessageWithBlockhashLifetime & import("@solana/kit").ITransactionMessageWithFeePayerSigner<string, TransactionSigner<string>> & Omit<Readonly<{
266
+ instructions: readonly import("@solana/kit").IInstruction<string, readonly (import("@solana/kit").IAccountLookupMeta<string, string> | IAccountMeta<string>)[]>[];
267
+ version: 0;
268
+ }>, "feePayer">>;
269
+ /**
270
+ * Finalizes CCTP deposits and messages on Solana.
271
+ *
272
+ * @param solanaClient The Solana client.
273
+ * @param attestedMessages The CCTP messages to Solana.
274
+ * @param signer A base signer to be converted into a Solana signer.
275
+ * @param simulate Whether to simulate the transaction.
276
+ * @param hubChainId The chain ID of the hub.
277
+ * @returns A list of executed transaction signatures.
278
+ */
279
+ export declare function finalizeCCTPV1Messages(solanaClient: SVMProvider, attestedMessages: AttestedCCTPMessage[], signer: KeyPairSigner, simulate?: boolean, hubChainId?: number): Promise<string[]>;
239
280
  export {};
240
281
  //# sourceMappingURL=SpokeUtils.d.ts.map
@@ -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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"}
@@ -31,4 +31,11 @@ export type RpcClient = {
31
31
  rpc: SVMProvider;
32
32
  rpcSubscriptions: RpcSubscriptions<SignatureNotificationsApi & SlotNotificationsApi>;
33
33
  };
34
+ export type AttestedCCTPMessage = {
35
+ nonce: number;
36
+ sourceDomain: number;
37
+ messageBytes: string;
38
+ attestation: string;
39
+ type: "transfer" | "message";
40
+ };
34
41
  //# 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"}
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,8 +1,9 @@
1
+ /// <reference types="node" />
1
2
  import { Idl } from "@coral-xyz/anchor";
2
- import { Address, type TransactionSigner } from "@solana/kit";
3
+ import { Address, IInstruction, KeyPairSigner, type TransactionSigner } from "@solana/kit";
3
4
  import { RelayData } from "../../interfaces";
4
5
  import { BigNumber, Address as SdkAddress } from "../../utils";
5
- import { EventName, SVMProvider } from "./types";
6
+ import { AttestedCCTPMessage, EventName, SVMProvider } from "./types";
6
7
  export { isSolanaError } from "@solana/kit";
7
8
  /**
8
9
  * Basic void TransactionSigner type
@@ -95,6 +96,11 @@ export declare function getClaimAccountPda(programId: Address, mint: Address, to
95
96
  * @returns The PDA for the Event Authority.
96
97
  */
97
98
  export declare function getEventAuthority(programId: Address): Promise<Address>;
99
+ /**
100
+ * Returns the PDA for the Self Authority.
101
+ * @returns The PDA for the Self Authority.
102
+ */
103
+ export declare const getSelfAuthority: () => Promise<Address<string>>;
98
104
  /**
99
105
  * Returns a random SVM address.
100
106
  */
@@ -106,11 +112,37 @@ export declare function getRandomSvmAddress(): Address<string>;
106
112
  * @returns The default transaction.
107
113
  */
108
114
  export declare const createDefaultTransaction: (rpcClient: SVMProvider, signer: TransactionSigner) => Promise<import("@solana/kit").TransactionMessageWithBlockhashLifetime & import("@solana/kit").ITransactionMessageWithFeePayerSigner<string, TransactionSigner<string>> & Omit<Readonly<{
109
- instructions: readonly import("@solana/kit").IInstruction<string, readonly (import("@solana/kit").IAccountLookupMeta<string, string> | import("@solana/kit").IAccountMeta<string>)[]>[];
115
+ instructions: readonly IInstruction<string, readonly (import("@solana/kit").IAccountLookupMeta<string, string> | import("@solana/kit").IAccountMeta<string>)[]>[];
110
116
  version: 0;
111
117
  }>, "feePayer">>;
118
+ /**
119
+ * Simulates a transaction and decodes the result using a parser function.
120
+ * @param solanaClient - The Solana client.
121
+ * @param ix - The instruction to simulate.
122
+ * @param signer - The signer of the transaction.
123
+ * @param parser - The parser function to decode the result.
124
+ * @returns The decoded result.
125
+ */
126
+ export declare const simulateAndDecode: <P extends (buf: Buffer) => unknown>(solanaClient: SVMProvider, ix: IInstruction, signer: KeyPairSigner, parser: P) => Promise<ReturnType<P>>;
127
+ /**
128
+ * Returns the PDA for the CCTP nonce.
129
+ * @param solanaClient The Solana client.
130
+ * @param signer The signer of the transaction.
131
+ * @param nonce The nonce to get the PDA for.
132
+ * @param sourceDomain The source domain.
133
+ * @returns The PDA for the CCTP nonce.
134
+ */
135
+ export declare const getCCTPNoncePda: (solanaClient: SVMProvider, signer: KeyPairSigner, nonce: number, sourceDomain: number) => Promise<Address>;
136
+ /**
137
+ * Checks if a CCTP message is a deposit for burn event.
138
+ * @param event The CCTP message event.
139
+ * @returns True if the message is a deposit for burn event, false otherwise.
140
+ */
141
+ export declare function isDepositForBurnEvent(event: AttestedCCTPMessage): boolean;
112
142
  /**
113
143
  * Convert a bigint (0 ≤ n < 2^256) to a 32-byte Uint8Array (big-endian).
144
+ * @param n The bigint to convert.
145
+ * @returns The 32-byte Uint8Array.
114
146
  */
115
147
  export declare function bigintToU8a32(n: bigint): Uint8Array;
116
148
  export declare const bigToU8a32: (bn: bigint | BigNumber) => Uint8Array;
@@ -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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"}
@@ -13,7 +13,7 @@ export type PoolRebalanceRoot = {
13
13
  };
14
14
  export declare function getWidestPossibleExpectedBlockRange(chainIds: number[], spokeClients: {
15
15
  [chainId: number]: SpokePoolClient;
16
- }, endBlockBuffers: number[], clients: Clients, latestMainnetBlock: number, enabledChains: number[]): Promise<number[][]>;
16
+ }, endBlockBuffers: number[], clients: Clients, latestMainnetBlock: number, enabledChains: number[], optimistic?: boolean): Promise<number[][]>;
17
17
  export declare function isChainDisabled(blockRangeForChain: number[]): boolean;
18
18
  export declare function computeDesiredTransferAmountToSpoke(runningBalance: BigNumber, spokePoolTargetBalance: SpokePoolTargetBalance): BigNumber;
19
19
  export declare function getNetSendAmountForL1Token(spokePoolTargetBalance: SpokePoolTargetBalance, runningBalance: BigNumber): BigNumber;
@@ -1 +1 @@
1
- {"version":3,"file":"PoolRebalanceUtils.d.ts","sourceRoot":"","sources":["../../../../../src/clients/BundleDataClient/utils/PoolRebalanceUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kDAAkD,CAAC;AAC9E,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC1G,OAAO,EAAwB,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC9E,OAAO,EAAE,SAAS,EAA2E,MAAM,gBAAgB,CAAC;AAEpH,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAGxE,MAAM,MAAM,iBAAiB,GAAG;IAC9B,eAAe,EAAE,eAAe,CAAC;IACjC,cAAc,EAAE,eAAe,CAAC;IAChC,MAAM,EAAE,iBAAiB,EAAE,CAAC;IAC5B,IAAI,EAAE,UAAU,CAAC,iBAAiB,CAAC,CAAC;CACrC,CAAC;AAMF,wBAAsB,mCAAmC,CACvD,QAAQ,EAAE,MAAM,EAAE,EAClB,YAAY,EAAE;IAAE,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,CAAA;CAAE,EACpD,eAAe,EAAE,MAAM,EAAE,EACzB,OAAO,EAAE,OAAO,EAChB,kBAAkB,EAAE,MAAM,EAC1B,aAAa,EAAE,MAAM,EAAE,GACtB,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CA+DrB;AAED,wBAAgB,eAAe,CAAC,kBAAkB,EAAE,MAAM,EAAE,GAAG,OAAO,CAErE;AAID,wBAAgB,mCAAmC,CACjD,cAAc,EAAE,SAAS,EACzB,sBAAsB,EAAE,sBAAsB,GAC7C,SAAS,CAyBX;AAMD,wBAAgB,0BAA0B,CACxC,sBAAsB,EAAE,sBAAsB,EAC9C,cAAc,EAAE,SAAS,GACxB,SAAS,CAEX;AAED,wBAAgB,2BAA2B,CACzC,sBAAsB,EAAE,sBAAsB,EAC9C,cAAc,EAAE,SAAS,GACxB,SAAS,CAGX;AAED,wBAAgB,oBAAoB,CAClC,eAAe,EAAE,eAAe,EAChC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,SAAS,GACtB,IAAI,CAWN;AAED,wBAAgB,qBAAqB,CACnC,kBAAkB,EAAE,MAAM,EAC1B,eAAe,EAAE,eAAe,EAChC,aAAa,EAAE,aAAa,GAC3B,IAAI,CAaN;AAED,wBAAgB,8BAA8B,CAC5C,eAAe,EAAE,eAAe,EAChC,aAAa,EAAE,aAAa,EAC5B,OAAO,EAAE,kBAAkB,EAC3B,YAAY,EAAE,SAAS,EACvB,qBAAqB,EAAE,MAAM,GAC5B,IAAI,CAON;AAED,wBAAgB,4BAA4B,CAC1C,kBAAkB,EAAE,MAAM,EAC1B,eAAe,EAAE,eAAe,EAChC,cAAc,EAAE,eAAe,EAC/B,qBAAqB,EAAE,MAAM,EAAE,EAC/B,iBAAiB,EAAE,uBAAuB,EAC1C,eAAe,CAAC,EAAE,MAAM,GACvB,iBAAiB,EAAE,CA6ErB"}
1
+ {"version":3,"file":"PoolRebalanceUtils.d.ts","sourceRoot":"","sources":["../../../../../src/clients/BundleDataClient/utils/PoolRebalanceUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kDAAkD,CAAC;AAC9E,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC1G,OAAO,EAAwB,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC9E,OAAO,EAAE,SAAS,EAA2E,MAAM,gBAAgB,CAAC;AAEpH,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAGxE,MAAM,MAAM,iBAAiB,GAAG;IAC9B,eAAe,EAAE,eAAe,CAAC;IACjC,cAAc,EAAE,eAAe,CAAC;IAChC,MAAM,EAAE,iBAAiB,EAAE,CAAC;IAC5B,IAAI,EAAE,UAAU,CAAC,iBAAiB,CAAC,CAAC;CACrC,CAAC;AAMF,wBAAsB,mCAAmC,CACvD,QAAQ,EAAE,MAAM,EAAE,EAClB,YAAY,EAAE;IAAE,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,CAAA;CAAE,EACpD,eAAe,EAAE,MAAM,EAAE,EACzB,OAAO,EAAE,OAAO,EAChB,kBAAkB,EAAE,MAAM,EAC1B,aAAa,EAAE,MAAM,EAAE,EACvB,UAAU,GAAE,OAAe,GAC1B,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAiErB;AAED,wBAAgB,eAAe,CAAC,kBAAkB,EAAE,MAAM,EAAE,GAAG,OAAO,CAErE;AAID,wBAAgB,mCAAmC,CACjD,cAAc,EAAE,SAAS,EACzB,sBAAsB,EAAE,sBAAsB,GAC7C,SAAS,CAyBX;AAMD,wBAAgB,0BAA0B,CACxC,sBAAsB,EAAE,sBAAsB,EAC9C,cAAc,EAAE,SAAS,GACxB,SAAS,CAEX;AAED,wBAAgB,2BAA2B,CACzC,sBAAsB,EAAE,sBAAsB,EAC9C,cAAc,EAAE,SAAS,GACxB,SAAS,CAGX;AAED,wBAAgB,oBAAoB,CAClC,eAAe,EAAE,eAAe,EAChC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,SAAS,GACtB,IAAI,CAWN;AAED,wBAAgB,qBAAqB,CACnC,kBAAkB,EAAE,MAAM,EAC1B,eAAe,EAAE,eAAe,EAChC,aAAa,EAAE,aAAa,GAC3B,IAAI,CAaN;AAED,wBAAgB,8BAA8B,CAC5C,eAAe,EAAE,eAAe,EAChC,aAAa,EAAE,aAAa,EAC5B,OAAO,EAAE,kBAAkB,EAC3B,YAAY,EAAE,SAAS,EACvB,qBAAqB,EAAE,MAAM,GAC5B,IAAI,CAON;AAED,wBAAgB,4BAA4B,CAC1C,kBAAkB,EAAE,MAAM,EAC1B,eAAe,EAAE,eAAe,EAChC,cAAc,EAAE,eAAe,EAC/B,qBAAqB,EAAE,MAAM,EAAE,EAC/B,iBAAiB,EAAE,uBAAuB,EAC1C,eAAe,CAAC,EAAE,MAAM,GACvB,iBAAiB,EAAE,CA6ErB"}
@@ -10,6 +10,7 @@ export declare const SortableEventSS: {
10
10
  };
11
11
  export declare const BundleDataSS: import("superstruct").Struct<{
12
12
  bundleDepositsV3: Record<string, Record<string, {
13
+ message: string;
13
14
  depositId: BigNumber;
14
15
  outputAmount: BigNumber;
15
16
  originChainId: number;
@@ -23,7 +24,6 @@ export declare const BundleDataSS: import("superstruct").Struct<{
23
24
  inputToken: SvmAddress | EvmAddress | RawAddress;
24
25
  inputAmount: BigNumber;
25
26
  outputToken: SvmAddress | EvmAddress | RawAddress;
26
- message: string;
27
27
  fillDeadline: number;
28
28
  exclusiveRelayer: SvmAddress | EvmAddress | RawAddress;
29
29
  exclusivityDeadline: number;
@@ -79,6 +79,7 @@ export declare const BundleDataSS: import("superstruct").Struct<{
79
79
  totalRefundAmount: BigNumber;
80
80
  }>>;
81
81
  bundleSlowFillsV3: Record<string, Record<string, {
82
+ message: string;
82
83
  depositId: BigNumber;
83
84
  outputAmount: BigNumber;
84
85
  originChainId: number;
@@ -92,7 +93,6 @@ export declare const BundleDataSS: import("superstruct").Struct<{
92
93
  inputToken: SvmAddress | EvmAddress | RawAddress;
93
94
  inputAmount: BigNumber;
94
95
  outputToken: SvmAddress | EvmAddress | RawAddress;
95
- message: string;
96
96
  fillDeadline: number;
97
97
  exclusiveRelayer: SvmAddress | EvmAddress | RawAddress;
98
98
  exclusivityDeadline: number;
@@ -111,6 +111,7 @@ export declare const BundleDataSS: import("superstruct").Struct<{
111
111
  relayerFeePct?: BigNumber | undefined;
112
112
  }[]>>;
113
113
  expiredDepositsToRefundV3: Record<string, Record<string, {
114
+ message: string;
114
115
  depositId: BigNumber;
115
116
  outputAmount: BigNumber;
116
117
  originChainId: number;
@@ -124,7 +125,6 @@ export declare const BundleDataSS: import("superstruct").Struct<{
124
125
  inputToken: SvmAddress | EvmAddress | RawAddress;
125
126
  inputAmount: BigNumber;
126
127
  outputToken: SvmAddress | EvmAddress | RawAddress;
127
- message: string;
128
128
  fillDeadline: number;
129
129
  exclusiveRelayer: SvmAddress | EvmAddress | RawAddress;
130
130
  exclusivityDeadline: number;
@@ -142,6 +142,7 @@ export declare const BundleDataSS: import("superstruct").Struct<{
142
142
  relayerFeePct?: BigNumber | undefined;
143
143
  }[]>>;
144
144
  unexecutableSlowFills: Record<string, Record<string, {
145
+ message: string;
145
146
  depositId: BigNumber;
146
147
  outputAmount: BigNumber;
147
148
  originChainId: number;
@@ -155,7 +156,6 @@ export declare const BundleDataSS: import("superstruct").Struct<{
155
156
  inputToken: SvmAddress | EvmAddress | RawAddress;
156
157
  inputAmount: BigNumber;
157
158
  outputToken: SvmAddress | EvmAddress | RawAddress;
158
- message: string;
159
159
  fillDeadline: number;
160
160
  exclusiveRelayer: SvmAddress | EvmAddress | RawAddress;
161
161
  exclusivityDeadline: number;
@@ -175,6 +175,7 @@ export declare const BundleDataSS: import("superstruct").Struct<{
175
175
  }[]>>;
176
176
  }, {
177
177
  bundleDepositsV3: import("superstruct").Struct<Record<string, Record<string, {
178
+ message: string;
178
179
  depositId: BigNumber;
179
180
  outputAmount: BigNumber;
180
181
  originChainId: number;
@@ -188,7 +189,6 @@ export declare const BundleDataSS: import("superstruct").Struct<{
188
189
  inputToken: SvmAddress | EvmAddress | RawAddress;
189
190
  inputAmount: BigNumber;
190
191
  outputToken: SvmAddress | EvmAddress | RawAddress;
191
- message: string;
192
192
  fillDeadline: number;
193
193
  exclusiveRelayer: SvmAddress | EvmAddress | RawAddress;
194
194
  exclusivityDeadline: number;
@@ -206,6 +206,7 @@ export declare const BundleDataSS: import("superstruct").Struct<{
206
206
  relayerFeePct?: BigNumber | undefined;
207
207
  }[]>>, null>;
208
208
  expiredDepositsToRefundV3: import("superstruct").Struct<Record<string, Record<string, {
209
+ message: string;
209
210
  depositId: BigNumber;
210
211
  outputAmount: BigNumber;
211
212
  originChainId: number;
@@ -219,7 +220,6 @@ export declare const BundleDataSS: import("superstruct").Struct<{
219
220
  inputToken: SvmAddress | EvmAddress | RawAddress;
220
221
  inputAmount: BigNumber;
221
222
  outputToken: SvmAddress | EvmAddress | RawAddress;
222
- message: string;
223
223
  fillDeadline: number;
224
224
  exclusiveRelayer: SvmAddress | EvmAddress | RawAddress;
225
225
  exclusivityDeadline: number;
@@ -237,6 +237,7 @@ export declare const BundleDataSS: import("superstruct").Struct<{
237
237
  relayerFeePct?: BigNumber | undefined;
238
238
  }[]>>, null>;
239
239
  unexecutableSlowFills: import("superstruct").Struct<Record<string, Record<string, {
240
+ message: string;
240
241
  depositId: BigNumber;
241
242
  outputAmount: BigNumber;
242
243
  originChainId: number;
@@ -250,7 +251,6 @@ export declare const BundleDataSS: import("superstruct").Struct<{
250
251
  inputToken: SvmAddress | EvmAddress | RawAddress;
251
252
  inputAmount: BigNumber;
252
253
  outputToken: SvmAddress | EvmAddress | RawAddress;
253
- message: string;
254
254
  fillDeadline: number;
255
255
  exclusiveRelayer: SvmAddress | EvmAddress | RawAddress;
256
256
  exclusivityDeadline: number;
@@ -269,6 +269,7 @@ export declare const BundleDataSS: import("superstruct").Struct<{
269
269
  relayerFeePct?: BigNumber | undefined;
270
270
  }[]>>, null>;
271
271
  bundleSlowFillsV3: import("superstruct").Struct<Record<string, Record<string, {
272
+ message: string;
272
273
  depositId: BigNumber;
273
274
  outputAmount: BigNumber;
274
275
  originChainId: number;
@@ -282,7 +283,6 @@ export declare const BundleDataSS: import("superstruct").Struct<{
282
283
  inputToken: SvmAddress | EvmAddress | RawAddress;
283
284
  inputAmount: BigNumber;
284
285
  outputToken: SvmAddress | EvmAddress | RawAddress;
285
- message: string;
286
286
  fillDeadline: number;
287
287
  exclusiveRelayer: SvmAddress | EvmAddress | RawAddress;
288
288
  exclusivityDeadline: number;
@@ -142,6 +142,7 @@ export declare class HubPoolClient extends BaseAbstractClient {
142
142
  getNthFullyExecutedRootBundle(n: number, startBlock?: number): ProposedRootBundle | undefined;
143
143
  getLatestBundleEndBlockForChain(chainIdList: number[], latestMainnetBlock: number, chainId: number): number;
144
144
  getNextBundleStartBlockNumber(chainIdList: number[], latestMainnetBlock: number, chainId: number): number;
145
+ getOptimisticBundleStartBlockNumber(chainIdList: number[], latestMainnetBlock: number, chainId: number): number;
145
146
  getLatestExecutedRootBundleContainingL1Token(block: number, chain: number, l1Token: EvmAddress): ExecutedRootBundle | undefined;
146
147
  getRunningBalanceBeforeBlockForChain(block: number, chain: number, l1Token: EvmAddress): TokenRunningBalance;
147
148
  getRunningBalanceForToken(l1Token: EvmAddress, executedRootBundle: ExecutedRootBundle | undefined): TokenRunningBalance;
@@ -1 +1 @@
1
- {"version":3,"file":"HubPoolClient.d.ts","sourceRoot":"","sources":["../../../src/clients/HubPoolClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HubPoolClient.d.ts","sourceRoot":"","sources":["../../../src/clients/HubPoolClient.ts"],"names":[],"mappings":"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"}
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.12",
4
+ "version": "4.3.13",
5
5
  "license": "AGPL-3.0",
6
6
  "homepage": "https://docs.across.to/reference/sdk",
7
7
  "files": [
@@ -5,6 +5,7 @@ import { isDefined } from "../../utils/TypeGuards";
5
5
  import { getCurrentTime } from "../../utils/TimeUtils";
6
6
  import { CHAIN_IDs } from "../../constants";
7
7
  import { SVMProvider } from "./";
8
+ import { getTimestampForSlot } from "./SpokeUtils";
8
9
 
9
10
  interface SVMBlock extends Block {}
10
11
 
@@ -23,13 +24,9 @@ export function averageBlockTime(): Pick<BlockTimeAverage, "average" | "blockRan
23
24
  return averageBlockTimes[CHAIN_IDs.SOLANA];
24
25
  }
25
26
 
26
- async function estimateBlocksElapsed(
27
- seconds: number,
28
- cushionPercentage = 0.0,
29
- _provider: SVMProvider
30
- ): Promise<number> {
27
+ function estimateBlocksElapsed(seconds: number, cushionPercentage = 0.0, _provider: SVMProvider): number {
31
28
  const cushionMultiplier = cushionPercentage + 1.0;
32
- const { average } = await averageBlockTime();
29
+ const { average } = averageBlockTime();
33
30
  return Math.floor((seconds * cushionMultiplier) / average);
34
31
  }
35
32
 
@@ -73,7 +70,7 @@ export class SVMBlockFinder extends BlockFinder<SVMBlock> {
73
70
  const cushion = 1;
74
71
  const incrementDistance = Math.max(
75
72
  // Ensure the increment slot distance is _at least_ a single slot to prevent an infinite loop.
76
- await estimateBlocksElapsed(initialBlock.timestamp - timestamp, cushion, this.provider),
73
+ estimateBlocksElapsed(initialBlock.timestamp - timestamp, cushion, this.provider),
77
74
  1
78
75
  );
79
76
 
@@ -92,15 +89,33 @@ export class SVMBlockFinder extends BlockFinder<SVMBlock> {
92
89
  return this.findBlock(this.blocks[index - 1], this.blocks[index], timestamp);
93
90
  }
94
91
 
92
+ /**
93
+ * For a given slot, resolve the current or preceding timestamp.
94
+ * Not all Solana slots have an associated block timestamp; in case of no block at the requested slot, the most
95
+ * immediate preceding block timestamp will be used. Note that this may return an eventually-incorrect timestamp for
96
+ * future slots.
97
+ */
98
+ private async getBlockTime(_slot?: bigint): Promise<{ slot: bigint; timestamp: number }> {
99
+ let timestamp: number | undefined;
100
+ let slot = _slot ?? (await this.provider.getSlot({ commitment: "finalized" }).send());
101
+
102
+ do {
103
+ timestamp = await getTimestampForSlot(this.provider, slot);
104
+ } while (!isDefined(timestamp) && --slot);
105
+ assert(isDefined(timestamp), `Unable to resolve block time for SVM slot ${_slot ?? "latest"}`);
106
+ assert(BigInt(Number(timestamp) === timestamp), `Unexpected SVM block timestamp: ${timestamp}`);
107
+
108
+ return { slot, timestamp: Number(timestamp) };
109
+ }
110
+
95
111
  // Grabs the most recent slot and caches it.
96
112
  private async getLatestBlock(): Promise<SVMBlock> {
97
- const latestSlot = await this.provider.getSlot().send();
98
- const estimatedSlotTime = await this.provider.getBlockTime(latestSlot).send();
113
+ const { slot, timestamp } = await this.getBlockTime();
99
114
 
100
115
  // Cast the return type to an SVMBlock.
101
116
  const block: SVMBlock = {
102
- timestamp: Number(estimatedSlotTime),
103
- number: Number(latestSlot),
117
+ timestamp,
118
+ number: Number(slot),
104
119
  };
105
120
  const index = sortedIndexBy(this.blocks, block, "number");
106
121
  if (this.blocks[index]?.number !== block.number) this.blocks.splice(index, 0, block);
@@ -112,18 +127,20 @@ export class SVMBlockFinder extends BlockFinder<SVMBlock> {
112
127
  let index = sortedIndexBy(this.blocks, { number } as Block, "number");
113
128
  if (this.blocks[index]?.number === number) return this.blocks[index]; // Return early if block already exists.
114
129
 
115
- const estimatedSlotTime = await this.provider.getBlockTime(BigInt(number)).send();
130
+ // The resolved slot may be rotated backwards if no timestamp exists at the requested slot.
131
+ const { slot: _slot, timestamp } = await this.getBlockTime(BigInt(number));
132
+ const slot = Number(_slot);
116
133
  // Cast the return type to an SVMBlock.
117
134
  const block: SVMBlock = {
118
- timestamp: Number(estimatedSlotTime),
119
- number,
135
+ timestamp,
136
+ number: slot,
120
137
  };
121
138
 
122
139
  // Recompute the index after the async call since the state of this.blocks could have changed!
123
- index = sortedIndexBy(this.blocks, { number } as Block, "number");
140
+ index = sortedIndexBy(this.blocks, { number: slot } as Block, "number");
124
141
 
125
142
  // Rerun this check to avoid duplicate insertion.
126
- if (this.blocks[index]?.number === number) return this.blocks[index];
143
+ if (this.blocks[index]?.number === slot) return this.blocks[index];
127
144
  this.blocks.splice(index, 0, block); // A simple insert at index.
128
145
  return block;
129
146
  }