@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.
- package/dist/cjs/arch/svm/BlockUtils.d.ts +1 -0
- package/dist/cjs/arch/svm/BlockUtils.js +69 -52
- package/dist/cjs/arch/svm/BlockUtils.js.map +1 -1
- package/dist/cjs/arch/svm/SpokeUtils.d.ts +21 -10
- package/dist/cjs/arch/svm/SpokeUtils.js +303 -49
- package/dist/cjs/arch/svm/SpokeUtils.js.map +1 -1
- package/dist/cjs/arch/svm/types.d.ts +7 -0
- package/dist/cjs/arch/svm/utils.d.ts +8 -3
- package/dist/cjs/arch/svm/utils.js +81 -4
- package/dist/cjs/arch/svm/utils.js.map +1 -1
- package/dist/cjs/clients/BundleDataClient/utils/PoolRebalanceUtils.d.ts +1 -1
- package/dist/cjs/clients/BundleDataClient/utils/PoolRebalanceUtils.js +5 -2
- package/dist/cjs/clients/BundleDataClient/utils/PoolRebalanceUtils.js.map +1 -1
- package/dist/cjs/clients/BundleDataClient/utils/SuperstructUtils.d.ts +8 -8
- package/dist/cjs/clients/HubPoolClient.d.ts +1 -0
- package/dist/cjs/clients/HubPoolClient.js +11 -0
- package/dist/cjs/clients/HubPoolClient.js.map +1 -1
- package/dist/esm/arch/svm/BlockUtils.d.ts +7 -0
- package/dist/esm/arch/svm/BlockUtils.js +76 -54
- package/dist/esm/arch/svm/BlockUtils.js.map +1 -1
- package/dist/esm/arch/svm/SpokeUtils.d.ts +51 -10
- package/dist/esm/arch/svm/SpokeUtils.js +294 -8
- package/dist/esm/arch/svm/SpokeUtils.js.map +1 -1
- package/dist/esm/arch/svm/types.d.ts +7 -0
- package/dist/esm/arch/svm/utils.d.ts +35 -3
- package/dist/esm/arch/svm/utils.js +103 -3
- package/dist/esm/arch/svm/utils.js.map +1 -1
- package/dist/esm/clients/BundleDataClient/utils/PoolRebalanceUtils.d.ts +1 -1
- package/dist/esm/clients/BundleDataClient/utils/PoolRebalanceUtils.js +5 -2
- package/dist/esm/clients/BundleDataClient/utils/PoolRebalanceUtils.js.map +1 -1
- package/dist/esm/clients/BundleDataClient/utils/SuperstructUtils.d.ts +8 -8
- package/dist/esm/clients/HubPoolClient.d.ts +1 -0
- package/dist/esm/clients/HubPoolClient.js +19 -0
- package/dist/esm/clients/HubPoolClient.js.map +1 -1
- package/dist/types/arch/svm/BlockUtils.d.ts +7 -0
- package/dist/types/arch/svm/BlockUtils.d.ts.map +1 -1
- package/dist/types/arch/svm/SpokeUtils.d.ts +51 -10
- package/dist/types/arch/svm/SpokeUtils.d.ts.map +1 -1
- package/dist/types/arch/svm/types.d.ts +7 -0
- package/dist/types/arch/svm/types.d.ts.map +1 -1
- package/dist/types/arch/svm/utils.d.ts +35 -3
- package/dist/types/arch/svm/utils.d.ts.map +1 -1
- package/dist/types/clients/BundleDataClient/utils/PoolRebalanceUtils.d.ts +1 -1
- package/dist/types/clients/BundleDataClient/utils/PoolRebalanceUtils.d.ts.map +1 -1
- package/dist/types/clients/BundleDataClient/utils/SuperstructUtils.d.ts +8 -8
- package/dist/types/clients/HubPoolClient.d.ts +1 -0
- package/dist/types/clients/HubPoolClient.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/arch/svm/BlockUtils.ts +33 -16
- package/src/arch/svm/SpokeUtils.ts +272 -10
- package/src/arch/svm/types.ts +8 -0
- package/src/arch/svm/utils.ts +99 -8
- package/src/clients/BundleDataClient/utils/PoolRebalanceUtils.ts +5 -2
- 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,
|
|
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> |
|
|
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> |
|
|
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> |
|
|
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> |
|
|
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> |
|
|
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> |
|
|
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":"AAAA,OAAO,EAAE,
|
|
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
|
|
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":"
|
|
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,
|
|
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
|
@@ -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
|
-
|
|
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 } =
|
|
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
|
-
|
|
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
|
|
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
|
|
103
|
-
number: Number(
|
|
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
|
-
|
|
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
|
|
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 ===
|
|
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
|
}
|