@across-protocol/sdk 4.3.43 → 4.3.44
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/SpokeUtils.d.ts +7 -5
- package/dist/cjs/arch/svm/SpokeUtils.js +12 -8
- package/dist/cjs/arch/svm/SpokeUtils.js.map +1 -1
- package/dist/cjs/arch/svm/utils.d.ts +2 -2
- package/dist/cjs/arch/svm/utils.js +7 -5
- package/dist/cjs/arch/svm/utils.js.map +1 -1
- package/dist/cjs/clients/BundleDataClient/utils/SuperstructUtils.d.ts +10 -10
- package/dist/cjs/clients/SpokePoolClient/SVMSpokePoolClient.d.ts +3 -3
- package/dist/cjs/clients/SpokePoolClient/SVMSpokePoolClient.js.map +1 -1
- package/dist/cjs/interfaces/SpokePool.d.ts +3 -0
- package/dist/cjs/utils/SpokeUtils.js +2 -1
- package/dist/cjs/utils/SpokeUtils.js.map +1 -1
- package/dist/esm/arch/svm/SpokeUtils.d.ts +7 -5
- package/dist/esm/arch/svm/SpokeUtils.js +17 -11
- package/dist/esm/arch/svm/SpokeUtils.js.map +1 -1
- package/dist/esm/arch/svm/utils.d.ts +2 -2
- package/dist/esm/arch/svm/utils.js +10 -8
- package/dist/esm/arch/svm/utils.js.map +1 -1
- package/dist/esm/clients/BundleDataClient/utils/SuperstructUtils.d.ts +10 -10
- package/dist/esm/clients/SpokePoolClient/SVMSpokePoolClient.d.ts +3 -3
- package/dist/esm/clients/SpokePoolClient/SVMSpokePoolClient.js.map +1 -1
- package/dist/esm/interfaces/SpokePool.d.ts +3 -0
- package/dist/esm/utils/SpokeUtils.js +2 -1
- package/dist/esm/utils/SpokeUtils.js.map +1 -1
- package/dist/types/arch/svm/SpokeUtils.d.ts +7 -5
- package/dist/types/arch/svm/SpokeUtils.d.ts.map +1 -1
- package/dist/types/arch/svm/utils.d.ts +2 -2
- package/dist/types/arch/svm/utils.d.ts.map +1 -1
- package/dist/types/clients/BundleDataClient/utils/SuperstructUtils.d.ts +10 -10
- package/dist/types/clients/SpokePoolClient/SVMSpokePoolClient.d.ts +3 -3
- package/dist/types/clients/SpokePoolClient/SVMSpokePoolClient.d.ts.map +1 -1
- package/dist/types/interfaces/SpokePool.d.ts +3 -0
- package/dist/types/interfaces/SpokePool.d.ts.map +1 -1
- package/dist/types/utils/SpokeUtils.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/arch/svm/SpokeUtils.ts +26 -11
- package/src/arch/svm/utils.ts +6 -5
- package/src/clients/SpokePoolClient/SVMSpokePoolClient.ts +3 -3
- package/src/interfaces/SpokePool.ts +4 -0
- package/src/utils/SpokeUtils.ts +2 -1
|
@@ -2,7 +2,7 @@ import { MessageTransmitterClient, SvmSpokeClient } from "@across-protocol/contr
|
|
|
2
2
|
import { Mint } from "@solana-program/token";
|
|
3
3
|
import { Account, Address, FetchAccountConfig, IAccountMeta, KeyPairSigner, ReadonlyUint8Array, type TransactionSigner, type Commitment } from "@solana/kit";
|
|
4
4
|
import winston from "winston";
|
|
5
|
-
import { DepositWithBlock, FillStatus, FillWithBlock, RelayData } from "../../interfaces";
|
|
5
|
+
import { DepositWithBlock, FillStatus, FillWithBlock, RelayData, RelayDataWithMessageHash } from "../../interfaces";
|
|
6
6
|
import { BigNumber, EvmAddress, Address as SdkAddress, SvmAddress } from "../../utils";
|
|
7
7
|
import { SvmCpiEventsClient } from "./eventsClient";
|
|
8
8
|
import { AttestedCCTPMessage, SVMProvider } from "./types";
|
|
@@ -78,7 +78,7 @@ export declare function findDeposit(eventClient: SvmCpiEventsClient, depositId:
|
|
|
78
78
|
* @param atHeight - (Optional) Specific slot number to query. Defaults to the latest confirmed slot.
|
|
79
79
|
* @returns The fill status for the deposit at the specified or current slot.
|
|
80
80
|
*/
|
|
81
|
-
export declare function relayFillStatus(programId: Address, relayData:
|
|
81
|
+
export declare function relayFillStatus(programId: Address, relayData: RelayDataWithMessageHash, destinationChainId: number, svmEventsClient: SvmCpiEventsClient, logger: winston.Logger, atHeight?: number): Promise<FillStatus>;
|
|
82
82
|
/**
|
|
83
83
|
* Resolves fill statuses for multiple deposits at a specific or latest confirmed slot,
|
|
84
84
|
* using PDAs when possible and falling back to events if needed.
|
|
@@ -91,7 +91,7 @@ export declare function relayFillStatus(programId: Address, relayData: RelayData
|
|
|
91
91
|
* @param atHeight (Optional) The slot number to query at. If omitted, queries the latest confirmed slot.
|
|
92
92
|
* @returns An array of fill statuses for the specified deposits at the requested slot (or at the current confirmed slot).
|
|
93
93
|
*/
|
|
94
|
-
export declare function fillStatusArray(programId: Address, relayData:
|
|
94
|
+
export declare function fillStatusArray(programId: Address, relayData: RelayDataWithMessageHash[], destinationChainId: number, svmEventsClient: SvmCpiEventsClient, logger: winston.Logger, atHeight?: number): Promise<(FillStatus | undefined)[]>;
|
|
95
95
|
/**
|
|
96
96
|
* Finds the `FilledRelay` event for a given deposit within the provided slot range.
|
|
97
97
|
*
|
|
@@ -102,7 +102,7 @@ export declare function fillStatusArray(programId: Address, relayData: RelayData
|
|
|
102
102
|
* @param toSlot (Optional) Ending slot to search. If not provided, the current confirmed slot will be used.
|
|
103
103
|
* @returns The fill event with block info, or `undefined` if not found.
|
|
104
104
|
*/
|
|
105
|
-
export declare function findFillEvent(relayData:
|
|
105
|
+
export declare function findFillEvent(relayData: RelayDataWithMessageHash, destinationChainId: number, svmEventsClient: SvmCpiEventsClient, fromSlot: number, toSlot?: number, logger?: winston.Logger): Promise<FillWithBlock | undefined>;
|
|
106
106
|
/**
|
|
107
107
|
* @param spokePool Address (program ID) of the SvmSpoke.
|
|
108
108
|
* @param relayData RelayData instance, supplemented with destinationChainId
|
|
@@ -204,7 +204,9 @@ export declare const createReceiveMessageInstruction: (signer: TransactionSigner
|
|
|
204
204
|
version: 0;
|
|
205
205
|
}>, "feePayer">>;
|
|
206
206
|
export declare function getAssociatedTokenAddress(owner: SvmAddress, mint: SvmAddress, tokenProgramId?: Address<string>): Promise<Address<string>>;
|
|
207
|
-
export declare function getRelayDataHash(relayData: RelayData
|
|
207
|
+
export declare function getRelayDataHash(relayData: RelayData & {
|
|
208
|
+
messageHash: string;
|
|
209
|
+
}, destinationChainId: number): string;
|
|
208
210
|
/**
|
|
209
211
|
* Returns the delegate PDA for deposit.
|
|
210
212
|
*/
|
|
@@ -1 +1 @@
|
|
|
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,EAKL,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,OAAO,EAEP,OAAO,EACP,kBAAkB,EAClB,YAAY,EACZ,aAAa,EACb,kBAAkB,EAalB,KAAK,iBAAiB,EACtB,KAAK,UAAU,EAChB,MAAM,aAAa,CAAC;AAErB,OAAO,OAAO,MAAM,SAAS,CAAC;AAG9B,OAAO,
|
|
1
|
+
{"version":3,"file":"SpokeUtils.d.ts","sourceRoot":"","sources":["../../../../src/arch/svm/SpokeUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { SvmSpokeClient } from "@across-protocol/contracts";
|
|
3
3
|
import { Idl } from "@coral-xyz/anchor";
|
|
4
4
|
import { Address, IInstruction, KeyPairSigner, type Commitment, type TransactionSigner } from "@solana/kit";
|
|
5
|
-
import { RelayData } from "../../interfaces";
|
|
5
|
+
import { RelayData, RelayDataWithMessageHash } from "../../interfaces";
|
|
6
6
|
import { BigNumber, Address as SdkAddress } from "../../utils";
|
|
7
7
|
import { AttestedCCTPMessage, EventName, SVMProvider } from "./types";
|
|
8
8
|
import winston from "winston";
|
|
@@ -72,7 +72,7 @@ export declare function getStatePda(programId: Address): Promise<Address>;
|
|
|
72
72
|
* @param destinationChainId The destination chain ID.
|
|
73
73
|
* @returns The PDA for the fill status.
|
|
74
74
|
*/
|
|
75
|
-
export declare function getFillStatusPda(programId: Address, relayData:
|
|
75
|
+
export declare function getFillStatusPda(programId: Address, relayData: RelayDataWithMessageHash, destinationChainId: number): Promise<Address>;
|
|
76
76
|
/**
|
|
77
77
|
* Returns the PDA for a route account on SVM Spoke.
|
|
78
78
|
* @param originToken The origin token address.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/arch/svm/utils.ts"],"names":[],"mappings":";AAAA,OAAO,EAAgD,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC1G,OAAO,EAAuB,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EACL,OAAO,EACP,YAAY,EACZ,aAAa,EAcb,KAAK,UAAU,EACf,KAAK,iBAAiB,EACvB,MAAM,aAAa,CAAC;AAIrB,OAAO,EAAY,SAAS,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/arch/svm/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,8 +23,8 @@ export declare const BundleDataSS: import("superstruct").Struct<{
|
|
|
23
23
|
exclusiveRelayer: SvmAddress | EvmAddress | RawAddress;
|
|
24
24
|
exclusivityDeadline: number;
|
|
25
25
|
destinationChainId: number;
|
|
26
|
-
quoteTimestamp: number;
|
|
27
26
|
messageHash: string;
|
|
27
|
+
quoteTimestamp: number;
|
|
28
28
|
fromLiteChain: boolean;
|
|
29
29
|
toLiteChain: boolean;
|
|
30
30
|
blockNumber: number;
|
|
@@ -54,10 +54,10 @@ export declare const BundleDataSS: import("superstruct").Struct<{
|
|
|
54
54
|
exclusiveRelayer: SvmAddress | EvmAddress | RawAddress;
|
|
55
55
|
exclusivityDeadline: number;
|
|
56
56
|
destinationChainId: number;
|
|
57
|
+
messageHash: string;
|
|
57
58
|
repaymentChainId: number;
|
|
58
59
|
quoteTimestamp: number;
|
|
59
60
|
relayer: SvmAddress | EvmAddress | RawAddress;
|
|
60
|
-
messageHash: string;
|
|
61
61
|
relayExecutionInfo: {
|
|
62
62
|
updatedRecipient: SvmAddress | EvmAddress | RawAddress;
|
|
63
63
|
updatedOutputAmount: BigNumber;
|
|
@@ -92,8 +92,8 @@ export declare const BundleDataSS: import("superstruct").Struct<{
|
|
|
92
92
|
exclusiveRelayer: SvmAddress | EvmAddress | RawAddress;
|
|
93
93
|
exclusivityDeadline: number;
|
|
94
94
|
destinationChainId: number;
|
|
95
|
-
quoteTimestamp: number;
|
|
96
95
|
messageHash: string;
|
|
96
|
+
quoteTimestamp: number;
|
|
97
97
|
fromLiteChain: boolean;
|
|
98
98
|
toLiteChain: boolean;
|
|
99
99
|
blockNumber: number;
|
|
@@ -124,8 +124,8 @@ export declare const BundleDataSS: import("superstruct").Struct<{
|
|
|
124
124
|
exclusiveRelayer: SvmAddress | EvmAddress | RawAddress;
|
|
125
125
|
exclusivityDeadline: number;
|
|
126
126
|
destinationChainId: number;
|
|
127
|
-
quoteTimestamp: number;
|
|
128
127
|
messageHash: string;
|
|
128
|
+
quoteTimestamp: number;
|
|
129
129
|
fromLiteChain: boolean;
|
|
130
130
|
toLiteChain: boolean;
|
|
131
131
|
blockNumber: number;
|
|
@@ -155,8 +155,8 @@ export declare const BundleDataSS: import("superstruct").Struct<{
|
|
|
155
155
|
exclusiveRelayer: SvmAddress | EvmAddress | RawAddress;
|
|
156
156
|
exclusivityDeadline: number;
|
|
157
157
|
destinationChainId: number;
|
|
158
|
-
quoteTimestamp: number;
|
|
159
158
|
messageHash: string;
|
|
159
|
+
quoteTimestamp: number;
|
|
160
160
|
fromLiteChain: boolean;
|
|
161
161
|
toLiteChain: boolean;
|
|
162
162
|
blockNumber: number;
|
|
@@ -188,8 +188,8 @@ export declare const BundleDataSS: import("superstruct").Struct<{
|
|
|
188
188
|
exclusiveRelayer: SvmAddress | EvmAddress | RawAddress;
|
|
189
189
|
exclusivityDeadline: number;
|
|
190
190
|
destinationChainId: number;
|
|
191
|
-
quoteTimestamp: number;
|
|
192
191
|
messageHash: string;
|
|
192
|
+
quoteTimestamp: number;
|
|
193
193
|
fromLiteChain: boolean;
|
|
194
194
|
toLiteChain: boolean;
|
|
195
195
|
blockNumber: number;
|
|
@@ -219,8 +219,8 @@ export declare const BundleDataSS: import("superstruct").Struct<{
|
|
|
219
219
|
exclusiveRelayer: SvmAddress | EvmAddress | RawAddress;
|
|
220
220
|
exclusivityDeadline: number;
|
|
221
221
|
destinationChainId: number;
|
|
222
|
-
quoteTimestamp: number;
|
|
223
222
|
messageHash: string;
|
|
223
|
+
quoteTimestamp: number;
|
|
224
224
|
fromLiteChain: boolean;
|
|
225
225
|
toLiteChain: boolean;
|
|
226
226
|
blockNumber: number;
|
|
@@ -250,8 +250,8 @@ export declare const BundleDataSS: import("superstruct").Struct<{
|
|
|
250
250
|
exclusiveRelayer: SvmAddress | EvmAddress | RawAddress;
|
|
251
251
|
exclusivityDeadline: number;
|
|
252
252
|
destinationChainId: number;
|
|
253
|
-
quoteTimestamp: number;
|
|
254
253
|
messageHash: string;
|
|
254
|
+
quoteTimestamp: number;
|
|
255
255
|
fromLiteChain: boolean;
|
|
256
256
|
toLiteChain: boolean;
|
|
257
257
|
blockNumber: number;
|
|
@@ -282,8 +282,8 @@ export declare const BundleDataSS: import("superstruct").Struct<{
|
|
|
282
282
|
exclusiveRelayer: SvmAddress | EvmAddress | RawAddress;
|
|
283
283
|
exclusivityDeadline: number;
|
|
284
284
|
destinationChainId: number;
|
|
285
|
-
quoteTimestamp: number;
|
|
286
285
|
messageHash: string;
|
|
286
|
+
quoteTimestamp: number;
|
|
287
287
|
fromLiteChain: boolean;
|
|
288
288
|
toLiteChain: boolean;
|
|
289
289
|
blockNumber: number;
|
|
@@ -314,10 +314,10 @@ export declare const BundleDataSS: import("superstruct").Struct<{
|
|
|
314
314
|
exclusiveRelayer: SvmAddress | EvmAddress | RawAddress;
|
|
315
315
|
exclusivityDeadline: number;
|
|
316
316
|
destinationChainId: number;
|
|
317
|
+
messageHash: string;
|
|
317
318
|
repaymentChainId: number;
|
|
318
319
|
quoteTimestamp: number;
|
|
319
320
|
relayer: SvmAddress | EvmAddress | RawAddress;
|
|
320
|
-
messageHash: string;
|
|
321
321
|
relayExecutionInfo: {
|
|
322
322
|
updatedRecipient: SvmAddress | EvmAddress | RawAddress;
|
|
323
323
|
updatedOutputAmount: BigNumber;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Address, Rpc, RpcTransport, SolanaRpcApiFromTransport } from "@solana/kit";
|
|
2
2
|
import winston from "winston";
|
|
3
3
|
import { SvmCpiEventsClient } from "../../arch/svm";
|
|
4
|
-
import { FillStatus,
|
|
4
|
+
import { FillStatus, RelayDataWithMessageHash } from "../../interfaces";
|
|
5
5
|
import { BigNumber, DepositSearchResult, EventSearchConfig, MakeOptional } from "../../utils";
|
|
6
6
|
import { HubPoolClient } from "../HubPoolClient";
|
|
7
7
|
import { SpokePoolClient, SpokePoolUpdate } from "./SpokePoolClient";
|
|
@@ -56,13 +56,13 @@ export declare class SVMSpokePoolClient extends SpokePoolClient {
|
|
|
56
56
|
/**
|
|
57
57
|
* Retrieves the fill status for a given relay data from the SVM chain.
|
|
58
58
|
*/
|
|
59
|
-
relayFillStatus(relayData:
|
|
59
|
+
relayFillStatus(relayData: RelayDataWithMessageHash, atHeight?: number): Promise<FillStatus>;
|
|
60
60
|
/**
|
|
61
61
|
* Retrieves the fill status for an array of given relay data.
|
|
62
62
|
* @param relayData The array relay data to retrieve the fill status for.
|
|
63
63
|
* @param atHeight The slot at which to query the fill status.
|
|
64
64
|
* @returns The fill status for each of the given relay data.
|
|
65
65
|
*/
|
|
66
|
-
fillStatusArray(relayData:
|
|
66
|
+
fillStatusArray(relayData: RelayDataWithMessageHash[], atHeight?: number, destinationChainId?: number): Promise<(FillStatus | undefined)[]>;
|
|
67
67
|
}
|
|
68
68
|
//# sourceMappingURL=SVMSpokePoolClient.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SVMSpokePoolClient.d.ts","sourceRoot":"","sources":["../../../../src/clients/SpokePoolClient/SVMSpokePoolClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AACpF,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,EAML,kBAAkB,EAInB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"SVMSpokePoolClient.d.ts","sourceRoot":"","sources":["../../../../src/clients/SpokePoolClient/SVMSpokePoolClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AACpF,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,EAML,kBAAkB,EAInB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,wBAAwB,EAAiB,MAAM,kBAAkB,CAAC;AACvF,OAAO,EACL,SAAS,EACT,mBAAmB,EACnB,iBAAiB,EAIjB,YAAY,EAGb,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAmB,eAAe,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGtF;;;GAGG;AACH,qBAAa,kBAAmB,SAAQ,eAAe;IAW5C,eAAe,EAAE,kBAAkB;IAC1C,SAAS,CAAC,SAAS,EAAE,OAAO;IAC5B,SAAS,CAAC,QAAQ,EAAE,OAAO;IAZ7B,QAAQ,CAAC,IAAI,SAA8B;IAC3C;;OAEG;gBAED,MAAM,EAAE,OAAO,CAAC,MAAM,EACtB,aAAa,EAAE,aAAa,GAAG,IAAI,EACnC,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,MAAM,EAAE,6CAA6C;IACrE,iBAAiB,EAAE,YAAY,CAAC,iBAAiB,EAAE,IAAI,CAAC,EACjD,eAAe,EAAE,kBAAkB,EAChC,SAAS,EAAE,OAAO,EAClB,QAAQ,EAAE,OAAO;IAO7B;;OAEG;WACiB,MAAM,CACxB,MAAM,EAAE,OAAO,CAAC,MAAM,EACtB,aAAa,EAAE,aAAa,GAAG,IAAI,EACnC,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,MAAM,EACtB,iBAAiB,mDAAqE,EAAE,kBAAkB;IAC1G,GAAG,EAAE,GAAG,CAAC,yBAAyB,CAAC,YAAY,CAAC,CAAC,GAChD,OAAO,CAAC,kBAAkB,CAAC;IAgB9B;;OAEG;WACiB,6BAA6B,CAC/C,MAAM,EAAE,OAAO,CAAC,MAAM,EACtB,aAAa,EAAE,aAAa,GAAG,IAAI,EACnC,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,MAAM,EACtB,iBAAiB,mDAAqE,EAAE,kBAAkB;IAC1G,WAAW,EAAE,kBAAkB;IAgB1B,oBAAoB,IAAI,MAAM,EAAE;IAQvC;;OAEG;cACa,OAAO,CAAC,aAAa,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,eAAe,CAAC;IAmE1E;;;OAGG;IACa,yBAAyB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAIhG;;OAEG;IACmB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAazE;;;;OAIG;IACI,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAI/C;;OAEG;IACU,WAAW,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAwB5E;;OAEG;IACa,eAAe,CAAC,SAAS,EAAE,wBAAwB,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAI5G;;;;;OAKG;IACI,eAAe,CACpB,SAAS,EAAE,wBAAwB,EAAE,EACrC,QAAQ,CAAC,EAAE,MAAM,EACjB,kBAAkB,CAAC,EAAE,MAAM,GAC1B,OAAO,CAAC,CAAC,UAAU,GAAG,SAAS,CAAC,EAAE,CAAC;CAKvC"}
|
|
@@ -147,4 +147,7 @@ export interface BridgedToHubPoolWithBlock extends SortableEvent {
|
|
|
147
147
|
export interface SpokePoolClientsByChain {
|
|
148
148
|
[chainId: number]: SpokePoolClient;
|
|
149
149
|
}
|
|
150
|
+
export interface RelayDataWithMessageHash extends RelayData {
|
|
151
|
+
messageHash?: string;
|
|
152
|
+
}
|
|
150
153
|
//# sourceMappingURL=SpokePool.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SpokePool.d.ts","sourceRoot":"","sources":["../../../src/interfaces/SpokePool.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SpokePool.d.ts","sourceRoot":"","sources":["../../../src/interfaces/SpokePool.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SpokeUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/SpokeUtils.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,IAAI,EAAY,SAAS,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AACxE,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAK7C,wBAAgB,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAE9C;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,YAAY,GAAG,SAAS,CAGrE;AACD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"SpokeUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/SpokeUtils.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,IAAI,EAAY,SAAS,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AACxE,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAK7C,wBAAgB,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAE9C;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,YAAY,GAAG,SAAS,CAGrE;AACD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,GAAG,MAAM,CAmCzF;AAED,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,SAAS,GAAG;IAAE,kBAAkB,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAE3F;AAED,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAQ/D;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEtD"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { MessageTransmitterClient, SvmSpokeClient, TokenMessengerMinterClient } from "@across-protocol/contracts";
|
|
2
2
|
import { decodeFillStatusAccount, fetchState } from "@across-protocol/contracts/dist/src/svm/clients/SvmSpoke";
|
|
3
|
-
import { decodeMessageHeader
|
|
3
|
+
import { decodeMessageHeader } from "@across-protocol/contracts/dist/src/svm/web3-v1";
|
|
4
4
|
import { SYSTEM_PROGRAM_ADDRESS } from "@solana-program/system";
|
|
5
5
|
import {
|
|
6
6
|
ASSOCIATED_TOKEN_PROGRAM_ADDRESS,
|
|
@@ -37,7 +37,14 @@ import assert from "assert";
|
|
|
37
37
|
import winston from "winston";
|
|
38
38
|
import { arrayify } from "ethers/lib/utils";
|
|
39
39
|
import { CHAIN_IDs, TOKEN_SYMBOLS_MAP } from "../../constants";
|
|
40
|
-
import {
|
|
40
|
+
import {
|
|
41
|
+
DepositWithBlock,
|
|
42
|
+
FillStatus,
|
|
43
|
+
FillWithBlock,
|
|
44
|
+
RelayData,
|
|
45
|
+
RelayDataWithMessageHash,
|
|
46
|
+
RelayExecutionEventInfo,
|
|
47
|
+
} from "../../interfaces";
|
|
41
48
|
import {
|
|
42
49
|
BigNumber,
|
|
43
50
|
EvmAddress,
|
|
@@ -48,6 +55,7 @@ import {
|
|
|
48
55
|
chainIsSvm,
|
|
49
56
|
chunk,
|
|
50
57
|
delay,
|
|
58
|
+
getMessageHash,
|
|
51
59
|
isUnsafeDepositId,
|
|
52
60
|
keccak256,
|
|
53
61
|
mapAsync,
|
|
@@ -309,7 +317,7 @@ export async function findDeposit(
|
|
|
309
317
|
*/
|
|
310
318
|
export async function relayFillStatus(
|
|
311
319
|
programId: Address,
|
|
312
|
-
relayData:
|
|
320
|
+
relayData: RelayDataWithMessageHash,
|
|
313
321
|
destinationChainId: number,
|
|
314
322
|
svmEventsClient: SvmCpiEventsClient,
|
|
315
323
|
logger: winston.Logger,
|
|
@@ -360,7 +368,7 @@ export async function relayFillStatus(
|
|
|
360
368
|
*/
|
|
361
369
|
export async function fillStatusArray(
|
|
362
370
|
programId: Address,
|
|
363
|
-
relayData:
|
|
371
|
+
relayData: RelayDataWithMessageHash[],
|
|
364
372
|
destinationChainId: number,
|
|
365
373
|
svmEventsClient: SvmCpiEventsClient,
|
|
366
374
|
logger: winston.Logger,
|
|
@@ -444,7 +452,7 @@ export async function fillStatusArray(
|
|
|
444
452
|
* @returns The fill event with block info, or `undefined` if not found.
|
|
445
453
|
*/
|
|
446
454
|
export async function findFillEvent(
|
|
447
|
-
relayData:
|
|
455
|
+
relayData: RelayDataWithMessageHash,
|
|
448
456
|
destinationChainId: number,
|
|
449
457
|
svmEventsClient: SvmCpiEventsClient,
|
|
450
458
|
fromSlot: number,
|
|
@@ -526,7 +534,8 @@ export async function fillRelayInstruction(
|
|
|
526
534
|
`Invalid repayment address for chain ${repaymentChainId}: ${repaymentAddress.toNative()}.`
|
|
527
535
|
);
|
|
528
536
|
|
|
529
|
-
const
|
|
537
|
+
const messageHash = getMessageHash(relayData.message);
|
|
538
|
+
const _relayDataHash = getRelayDataHash({ ...relayData, messageHash }, relayData.destinationChainId);
|
|
530
539
|
const relayDataHash = new Uint8Array(Buffer.from(_relayDataHash.slice(2), "hex"));
|
|
531
540
|
|
|
532
541
|
const relayer = SvmAddress.from(signer.address);
|
|
@@ -602,7 +611,8 @@ export async function getFillRelayTx(
|
|
|
602
611
|
);
|
|
603
612
|
|
|
604
613
|
const program = toAddress(spokePoolAddr);
|
|
605
|
-
const
|
|
614
|
+
const messageHash = getMessageHash(relayData.message);
|
|
615
|
+
const _relayDataHash = getRelayDataHash({ ...relayData, messageHash }, relayData.destinationChainId);
|
|
606
616
|
const relayDataHash = new Uint8Array(Buffer.from(_relayDataHash.slice(2), "hex"));
|
|
607
617
|
|
|
608
618
|
const [state, delegate, mintInfo, fillStatus, eventAuthority] = await Promise.all([
|
|
@@ -780,7 +790,8 @@ export async function getSlowFillRequestTx(
|
|
|
780
790
|
signer: TransactionSigner
|
|
781
791
|
) {
|
|
782
792
|
const program = toAddress(spokePoolAddr);
|
|
783
|
-
const
|
|
793
|
+
const messageHash = getMessageHash(relayData.message);
|
|
794
|
+
const relayDataHash = getRelayDataHash({ ...relayData, messageHash }, relayData.destinationChainId);
|
|
784
795
|
|
|
785
796
|
const [state, fillStatus, eventAuthority] = await Promise.all([
|
|
786
797
|
getStatePda(program),
|
|
@@ -851,21 +862,25 @@ export async function getAssociatedTokenAddress(
|
|
|
851
862
|
return associatedToken;
|
|
852
863
|
}
|
|
853
864
|
|
|
854
|
-
export function getRelayDataHash(relayData: RelayData, destinationChainId: number): string {
|
|
855
|
-
assert(relayData.
|
|
865
|
+
export function getRelayDataHash(relayData: RelayData & { messageHash: string }, destinationChainId: number): string {
|
|
866
|
+
assert(relayData.messageHash.startsWith("0x"), "Message hash must be a hex string");
|
|
867
|
+
|
|
856
868
|
const uint64Encoder = getU64Encoder();
|
|
857
869
|
|
|
858
870
|
const svmRelayData = toSvmRelayData(relayData);
|
|
859
871
|
const relayDataEncoder = SvmSpokeClient.getRelayDataEncoder();
|
|
860
872
|
const encodedRelayData = relayDataEncoder.encode(svmRelayData);
|
|
861
873
|
const encodedMessage = Buffer.from(relayData.message.slice(2), "hex");
|
|
874
|
+
const encodedMessageHash = Uint8Array.from(Buffer.from(relayData.messageHash.slice(2), "hex"));
|
|
862
875
|
|
|
863
876
|
// Reformat the encoded relay data the same way it is done in the SvmSpoke:
|
|
864
877
|
// https://github.com/across-protocol/contracts/blob/3310f8dc716407a5f97ef5fd2eae63df83251f2f/programs/svm-spoke/src/utils/merkle_proof_utils.rs#L5
|
|
878
|
+
// We want to use messageHash always so we can construct the relayDataHash just from the Fill.
|
|
879
|
+
// If we don't have a message, we can just pass an empty message here.
|
|
865
880
|
const messageOffset = encodedRelayData.length - 4 - encodedMessage.length;
|
|
866
881
|
const contentToHash = Buffer.concat([
|
|
867
882
|
encodedRelayData.slice(0, messageOffset),
|
|
868
|
-
|
|
883
|
+
encodedMessageHash,
|
|
869
884
|
Uint8Array.from(uint64Encoder.encode(BigInt(destinationChainId))),
|
|
870
885
|
]);
|
|
871
886
|
|
package/src/arch/svm/utils.ts
CHANGED
|
@@ -23,9 +23,9 @@ import {
|
|
|
23
23
|
import assert from "assert";
|
|
24
24
|
import bs58 from "bs58";
|
|
25
25
|
import { ethers } from "ethers";
|
|
26
|
-
import { FillType, RelayData } from "../../interfaces";
|
|
27
|
-
import { BigNumber, Address as SdkAddress, biMin,
|
|
28
|
-
import { getTimestampForSlot, getSlot } from "./SpokeUtils";
|
|
26
|
+
import { FillType, RelayData, RelayDataWithMessageHash } from "../../interfaces";
|
|
27
|
+
import { BigNumber, Address as SdkAddress, biMin, getMessageHash, isDefined, isUint8Array } from "../../utils";
|
|
28
|
+
import { getTimestampForSlot, getSlot, getRelayDataHash } from "./SpokeUtils";
|
|
29
29
|
import { AttestedCCTPMessage, EventName, SVMEventNames, SVMProvider } from "./types";
|
|
30
30
|
import winston from "winston";
|
|
31
31
|
|
|
@@ -268,10 +268,11 @@ export async function getStatePda(programId: Address): Promise<Address> {
|
|
|
268
268
|
*/
|
|
269
269
|
export async function getFillStatusPda(
|
|
270
270
|
programId: Address,
|
|
271
|
-
relayData:
|
|
271
|
+
relayData: RelayDataWithMessageHash,
|
|
272
272
|
destinationChainId: number
|
|
273
273
|
): Promise<Address> {
|
|
274
|
-
const
|
|
274
|
+
const messageHash = relayData.messageHash ?? getMessageHash(relayData.message);
|
|
275
|
+
const relayDataHash = getRelayDataHash({ ...relayData, messageHash }, destinationChainId);
|
|
275
276
|
const uint8RelayDataHash = new Uint8Array(Buffer.from(relayDataHash.slice(2), "hex"));
|
|
276
277
|
const [fillStatusPda] = await getProgramDerivedAddress({
|
|
277
278
|
programAddress: programId,
|
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
relayFillStatus,
|
|
12
12
|
fillStatusArray,
|
|
13
13
|
} from "../../arch/svm";
|
|
14
|
-
import { FillStatus,
|
|
14
|
+
import { FillStatus, RelayDataWithMessageHash, SortableEvent } from "../../interfaces";
|
|
15
15
|
import {
|
|
16
16
|
BigNumber,
|
|
17
17
|
DepositSearchResult,
|
|
@@ -244,7 +244,7 @@ export class SVMSpokePoolClient extends SpokePoolClient {
|
|
|
244
244
|
/**
|
|
245
245
|
* Retrieves the fill status for a given relay data from the SVM chain.
|
|
246
246
|
*/
|
|
247
|
-
public override relayFillStatus(relayData:
|
|
247
|
+
public override relayFillStatus(relayData: RelayDataWithMessageHash, atHeight?: number): Promise<FillStatus> {
|
|
248
248
|
return relayFillStatus(this.programId, relayData, this.chainId, this.svmEventsClient, this.logger, atHeight);
|
|
249
249
|
}
|
|
250
250
|
|
|
@@ -255,7 +255,7 @@ export class SVMSpokePoolClient extends SpokePoolClient {
|
|
|
255
255
|
* @returns The fill status for each of the given relay data.
|
|
256
256
|
*/
|
|
257
257
|
public fillStatusArray(
|
|
258
|
-
relayData:
|
|
258
|
+
relayData: RelayDataWithMessageHash[],
|
|
259
259
|
atHeight?: number,
|
|
260
260
|
destinationChainId?: number
|
|
261
261
|
): Promise<(FillStatus | undefined)[]> {
|
|
@@ -171,3 +171,7 @@ export interface BridgedToHubPoolWithBlock extends SortableEvent {
|
|
|
171
171
|
export interface SpokePoolClientsByChain {
|
|
172
172
|
[chainId: number]: SpokePoolClient;
|
|
173
173
|
}
|
|
174
|
+
|
|
175
|
+
export interface RelayDataWithMessageHash extends RelayData {
|
|
176
|
+
messageHash?: string;
|
|
177
|
+
}
|
package/src/utils/SpokeUtils.ts
CHANGED
|
@@ -52,7 +52,8 @@ export function getRelayDataHash(relayData: RelayData, destinationChainId: numbe
|
|
|
52
52
|
exclusiveRelayer: relayData.exclusiveRelayer.toBytes32(),
|
|
53
53
|
};
|
|
54
54
|
if (chainIsSvm(destinationChainId)) {
|
|
55
|
-
|
|
55
|
+
const messageHash = getMessageHash(relayData.message);
|
|
56
|
+
return svm.getRelayDataHash({ ...relayData, messageHash }, destinationChainId);
|
|
56
57
|
}
|
|
57
58
|
return keccak256(encodeAbiParameters(abi, [_relayData, destinationChainId]));
|
|
58
59
|
}
|