@across-protocol/sdk 4.3.33 → 4.3.34-alpha.1

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 (37) hide show
  1. package/dist/cjs/arch/svm/SpokeUtils.d.ts +21 -10
  2. package/dist/cjs/arch/svm/SpokeUtils.js +134 -27
  3. package/dist/cjs/arch/svm/SpokeUtils.js.map +1 -1
  4. package/dist/cjs/arch/svm/encoders.d.ts +19 -0
  5. package/dist/cjs/arch/svm/encoders.js +52 -0
  6. package/dist/cjs/arch/svm/encoders.js.map +1 -0
  7. package/dist/cjs/arch/svm/index.d.ts +1 -0
  8. package/dist/cjs/arch/svm/index.js +1 -0
  9. package/dist/cjs/arch/svm/index.js.map +1 -1
  10. package/dist/cjs/arch/svm/utils.d.ts +2 -0
  11. package/dist/cjs/arch/svm/utils.js +18 -1
  12. package/dist/cjs/arch/svm/utils.js.map +1 -1
  13. package/dist/esm/arch/svm/SpokeUtils.d.ts +38 -10
  14. package/dist/esm/arch/svm/SpokeUtils.js +160 -28
  15. package/dist/esm/arch/svm/SpokeUtils.js.map +1 -1
  16. package/dist/esm/arch/svm/encoders.d.ts +19 -0
  17. package/dist/esm/arch/svm/encoders.js +43 -0
  18. package/dist/esm/arch/svm/encoders.js.map +1 -0
  19. package/dist/esm/arch/svm/index.d.ts +1 -0
  20. package/dist/esm/arch/svm/index.js +1 -0
  21. package/dist/esm/arch/svm/index.js.map +1 -1
  22. package/dist/esm/arch/svm/utils.d.ts +8 -0
  23. package/dist/esm/arch/svm/utils.js +22 -0
  24. package/dist/esm/arch/svm/utils.js.map +1 -1
  25. package/dist/types/arch/svm/SpokeUtils.d.ts +38 -10
  26. package/dist/types/arch/svm/SpokeUtils.d.ts.map +1 -1
  27. package/dist/types/arch/svm/encoders.d.ts +20 -0
  28. package/dist/types/arch/svm/encoders.d.ts.map +1 -0
  29. package/dist/types/arch/svm/index.d.ts +1 -0
  30. package/dist/types/arch/svm/index.d.ts.map +1 -1
  31. package/dist/types/arch/svm/utils.d.ts +8 -0
  32. package/dist/types/arch/svm/utils.d.ts.map +1 -1
  33. package/package.json +1 -1
  34. package/src/arch/svm/SpokeUtils.ts +193 -22
  35. package/src/arch/svm/encoders.ts +86 -0
  36. package/src/arch/svm/index.ts +1 -0
  37. package/src/arch/svm/utils.ts +23 -0
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.numberToU8a32 = exports.bigToU8a32 = exports.bigintToU8a32 = exports.getEmergencyDeleteRootBundleRootBundleId = exports.isEmergencyDeleteRootBundleMessageBody = exports.isRelayRootBundleMessageBody = exports.isDepositForBurnEvent = exports.getCCTPNoncePda = exports.simulateAndDecode = exports.createDefaultTransaction = exports.getRandomSvmAddress = exports.getSelfAuthority = exports.getEventAuthority = exports.getClaimAccountPda = exports.getInstructionParamsPda = exports.getRootBundlePda = exports.getTransferLiabilityPda = exports.getRoutePda = exports.getFillStatusPda = exports.getStatePda = exports.unwrapEventData = exports.getEventName = exports.decodeEvent = exports.parseEventData = exports.getLatestFinalizedSlotWithBlock = exports.getNearestSlotTime = exports.toAddress = exports.isDevnet = exports.SolanaVoidSigner = exports.isSolanaError = void 0;
3
+ exports.numberToU8a32 = exports.bigToU8a32 = exports.bigintToU8a32 = exports.toSvmRelayData = exports.getEmergencyDeleteRootBundleRootBundleId = exports.isEmergencyDeleteRootBundleMessageBody = exports.isRelayRootBundleMessageBody = exports.isDepositForBurnEvent = exports.getCCTPNoncePda = exports.simulateAndDecode = exports.createDefaultTransaction = exports.getRandomSvmAddress = exports.getSelfAuthority = exports.getEventAuthority = exports.getClaimAccountPda = exports.getInstructionParamsPda = exports.getRootBundlePda = exports.getTransferLiabilityPda = exports.getRoutePda = exports.getFillStatusPda = exports.getStatePda = exports.unwrapEventData = exports.getEventName = exports.decodeEvent = exports.parseEventData = exports.getLatestFinalizedSlotWithBlock = exports.getNearestSlotTime = exports.toAddress = exports.isDevnet = exports.SolanaVoidSigner = exports.isSolanaError = void 0;
4
4
  var tslib_1 = require("tslib");
5
5
  var contracts_1 = require("@across-protocol/contracts");
6
6
  var anchor_1 = require("@coral-xyz/anchor");
@@ -481,6 +481,23 @@ var getEmergencyDeleteRootBundleRootBundleId = function (body) {
481
481
  return result.rootBundleId.toNumber();
482
482
  };
483
483
  exports.getEmergencyDeleteRootBundleRootBundleId = getEmergencyDeleteRootBundleRootBundleId;
484
+ function toSvmRelayData(relayData) {
485
+ return {
486
+ originChainId: BigInt(relayData.originChainId),
487
+ depositor: (0, kit_1.address)(relayData.depositor.toBase58()),
488
+ recipient: (0, kit_1.address)(relayData.recipient.toBase58()),
489
+ depositId: ethers_1.ethers.utils.arrayify(ethers_1.ethers.utils.hexZeroPad(relayData.depositId.toHexString(), 32)),
490
+ inputToken: (0, kit_1.address)(relayData.inputToken.toBase58()),
491
+ outputToken: (0, kit_1.address)(relayData.outputToken.toBase58()),
492
+ inputAmount: ethers_1.ethers.utils.arrayify(ethers_1.ethers.utils.hexZeroPad(relayData.inputAmount.toHexString(), 32)),
493
+ outputAmount: relayData.outputAmount.toBigInt(),
494
+ message: Uint8Array.from(Buffer.from(relayData.message.slice(2), "hex")),
495
+ fillDeadline: relayData.fillDeadline,
496
+ exclusiveRelayer: (0, kit_1.address)(relayData.exclusiveRelayer.toBase58()),
497
+ exclusivityDeadline: relayData.exclusivityDeadline,
498
+ };
499
+ }
500
+ exports.toSvmRelayData = toSvmRelayData;
484
501
  function bigintToU8a32(n) {
485
502
  if (n < BigInt(0) || n > ethers_1.ethers.constants.MaxUint256.toBigInt()) {
486
503
  throw new RangeError("Value must fit in 256 bits");
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/arch/svm/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/arch/svm/utils.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,10 @@
1
1
  import { MessageTransmitterClient, SvmSpokeClient } from "@across-protocol/contracts";
2
2
  import { Mint } from "@solana-program/token";
3
- import { Account, Address, FetchAccountConfig, IAccountMeta, KeyPairSigner, ReadonlyUint8Array, type TransactionSigner } from "@solana/kit";
3
+ import { Account, Address, FetchAccountConfig, IAccountMeta, IInstruction, KeyPairSigner, ReadonlyUint8Array, type TransactionSigner, type WritableAccount, type ReadonlyAccount } from "@solana/kit";
4
4
  import { Logger } from "winston";
5
5
  import { DepositWithBlock, FillStatus, FillWithBlock, RelayData } from "../../interfaces";
6
6
  import { BigNumber, EvmAddress, Address as SdkAddress, SvmAddress } from "../../utils";
7
+ import { type AcrossPlusMessage } from "./";
7
8
  import { SvmCpiEventsClient } from "./eventsClient";
8
9
  import { AttestedCCTPMessage, SVMProvider } from "./types";
9
10
  /**
@@ -131,7 +132,25 @@ export declare function getFillRelayTx(spokePoolAddr: SvmAddress, solanaClient:
131
132
  recipient: SvmAddress;
132
133
  outputToken: SvmAddress;
133
134
  }, signer: TransactionSigner, repaymentChainId: number, repaymentAddress: SdkAddress): Promise<import("@solana/kit").TransactionMessageWithBlockhashLifetime & import("@solana/kit").ITransactionMessageWithFeePayerSigner<string, TransactionSigner<string>> & Omit<Readonly<{
134
- instructions: readonly import("@solana/kit").IInstruction<string, readonly (IAccountMeta<string> | import("@solana/kit").IAccountLookupMeta<string, string>)[]>[];
135
+ instructions: readonly IInstruction<string, readonly (IAccountMeta<string> | import("@solana/kit").IAccountLookupMeta<string, string>)[]>[];
136
+ version: 0;
137
+ }>, "feePayer">>;
138
+ /**
139
+ * Creates a fill instruction with an instruction params PDA as the relayData input.
140
+ * @param spokePoolAddr Address of the spoke pool we're trying to fill through
141
+ * @param solanaClient RPC client to interact with Solana chain
142
+ * @param relayData RelayData instance, supplemented with destinationChainId
143
+ * @param signer signer associated with the relayer creating a Fill. Can be VoidSigner for gas estimation
144
+ * @param repaymentChainId Chain id where relayer repayment is desired
145
+ * @param repaymentAddress Address to which repayment will go to on repaymentChainId
146
+ * @returns FillRelay transaction
147
+ */
148
+ export declare function getIPFillRelayTx(spokePoolAddr: SvmAddress, solanaClient: SVMProvider, relayData: Omit<RelayData, "recipient" | "outputToken"> & {
149
+ destinationChainId: number;
150
+ recipient: SvmAddress;
151
+ outputToken: SvmAddress;
152
+ }, signer: TransactionSigner, repaymentChainId: number, repaymentAddress: SdkAddress): Promise<import("@solana/kit").TransactionMessageWithBlockhashLifetime & import("@solana/kit").ITransactionMessageWithFeePayerSigner<string, TransactionSigner<string>> & Omit<Readonly<{
153
+ instructions: readonly IInstruction<string, readonly (IAccountMeta<string> | import("@solana/kit").IAccountLookupMeta<string, string>)[]>[];
135
154
  version: 0;
136
155
  }>, "feePayer">>;
137
156
  /**
@@ -143,10 +162,11 @@ export declare function getFillRelayTx(spokePoolAddr: SvmAddress, solanaClient:
143
162
  * @param createRecipientAtaIfNeeded - Whether to create a recipient token account.
144
163
  * @returns The fill instruction.
145
164
  */
146
- 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<{
147
- instructions: readonly import("@solana/kit").IInstruction<string, readonly (IAccountMeta<string> | import("@solana/kit").IAccountLookupMeta<string, string>)[]>[];
165
+ export declare const createFillInstruction: (signer: TransactionSigner, solanaClient: SVMProvider, fillInput: SvmSpokeClient.FillRelayInput, relayData: Pick<SvmSpokeClient.RelayDataArgs, "outputAmount" | "recipient">, tokenDecimals: number, createRecipientAtaIfNeeded?: boolean, remainingAccounts?: (WritableAccount | ReadonlyAccount)[]) => Promise<import("@solana/kit").TransactionMessageWithBlockhashLifetime & import("@solana/kit").ITransactionMessageWithFeePayerSigner<string, TransactionSigner<string>> & Omit<Readonly<{
166
+ instructions: readonly IInstruction<string, readonly (IAccountMeta<string> | import("@solana/kit").IAccountLookupMeta<string, string>)[]>[];
148
167
  version: 0;
149
168
  }>, "feePayer">>;
169
+ export declare function deserializeMessage(_message: string): AcrossPlusMessage;
150
170
  /**
151
171
  * Creates a deposit instruction.
152
172
  * @param signer - The signer of the transaction.
@@ -157,7 +177,7 @@ export declare const createFillInstruction: (signer: TransactionSigner, solanaCl
157
177
  * @returns The deposit instruction.
158
178
  */
159
179
  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<{
160
- instructions: readonly import("@solana/kit").IInstruction<string, readonly (IAccountMeta<string> | import("@solana/kit").IAccountLookupMeta<string, string>)[]>[];
180
+ instructions: readonly IInstruction<string, readonly (IAccountMeta<string> | import("@solana/kit").IAccountLookupMeta<string, string>)[]>[];
161
181
  version: 0;
162
182
  }>, "feePayer">>;
163
183
  /**
@@ -168,7 +188,7 @@ export declare const createDepositInstruction: (signer: TransactionSigner, solan
168
188
  * @returns The request slow fill instruction.
169
189
  */
170
190
  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<{
171
- instructions: readonly import("@solana/kit").IInstruction<string, readonly (IAccountMeta<string> | import("@solana/kit").IAccountLookupMeta<string, string>)[]>[];
191
+ instructions: readonly IInstruction<string, readonly (IAccountMeta<string> | import("@solana/kit").IAccountLookupMeta<string, string>)[]>[];
172
192
  version: 0;
173
193
  }>, "feePayer">>;
174
194
  /**
@@ -184,7 +204,7 @@ export declare function getSlowFillRequestTx(spokePoolAddr: SvmAddress, solanaCl
184
204
  recipient: SvmAddress;
185
205
  outputToken: SvmAddress;
186
206
  }, signer: TransactionSigner): Promise<import("@solana/kit").TransactionMessageWithBlockhashLifetime & import("@solana/kit").ITransactionMessageWithFeePayerSigner<string, TransactionSigner<string>> & Omit<Readonly<{
187
- instructions: readonly import("@solana/kit").IInstruction<string, readonly (IAccountMeta<string> | import("@solana/kit").IAccountLookupMeta<string, string>)[]>[];
207
+ instructions: readonly IInstruction<string, readonly (IAccountMeta<string> | import("@solana/kit").IAccountLookupMeta<string, string>)[]>[];
188
208
  version: 0;
189
209
  }>, "feePayer">>;
190
210
  /**
@@ -195,15 +215,23 @@ export declare function getSlowFillRequestTx(spokePoolAddr: SvmAddress, solanaCl
195
215
  * @returns The close fill PDA instruction.
196
216
  */
197
217
  export declare const createCloseFillPdaInstruction: (signer: TransactionSigner, solanaClient: SVMProvider, fillStatusPda: Address) => Promise<import("@solana/kit").TransactionMessageWithBlockhashLifetime & import("@solana/kit").ITransactionMessageWithFeePayerSigner<string, TransactionSigner<string>> & Omit<Readonly<{
198
- instructions: readonly import("@solana/kit").IInstruction<string, readonly (IAccountMeta<string> | import("@solana/kit").IAccountLookupMeta<string, string>)[]>[];
218
+ instructions: readonly IInstruction<string, readonly (IAccountMeta<string> | import("@solana/kit").IAccountLookupMeta<string, string>)[]>[];
199
219
  version: 0;
200
220
  }>, "feePayer">>;
201
221
  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<{
202
- instructions: readonly import("@solana/kit").IInstruction<string, readonly (IAccountMeta<string> | import("@solana/kit").IAccountLookupMeta<string, string>)[]>[];
222
+ instructions: readonly IInstruction<string, readonly (IAccountMeta<string> | import("@solana/kit").IAccountLookupMeta<string, string>)[]>[];
203
223
  version: 0;
204
224
  }>, "feePayer">>;
205
225
  export declare function getAssociatedTokenAddress(owner: SvmAddress, mint: SvmAddress, tokenProgramId?: Address<string>): Promise<Address<string>>;
206
226
  export declare function getRelayDataHash(relayData: RelayData, destinationChainId: number): string;
227
+ /**
228
+ * Returns a set of instructions to execute to fill a relay via instruction params.
229
+ * @param spokePool The program ID of the Solana spoke pool.
230
+ * @param relayData The relay data to write to the instruction params PDA.
231
+ * @param signer The transaction signer and authority of the instruction params PDA.
232
+ * @param maxWriteSize The maximum fragment size to write to instruction params.
233
+ */
234
+ export declare function getFillRelayViaInstructionParamsInstructions(spokePool: Address<string>, relayData: RelayData, signer: TransactionSigner<string>, maxWriteSize?: number): Promise<IInstruction[]>;
207
235
  /**
208
236
  * Returns the delegate PDA for deposit.
209
237
  */
@@ -265,7 +293,7 @@ export declare function getAccountMetasForTokenlessMessage(solanaClient: SVMProv
265
293
  * @returns The CCTP v1 receive message transaction.
266
294
  */
267
295
  export declare function getCCTPV1ReceiveMessageTx(solanaClient: SVMProvider, signer: KeyPairSigner, message: AttestedCCTPMessage, hubChainId: number, recipientAta: SvmAddress): Promise<import("@solana/kit").TransactionMessageWithBlockhashLifetime & import("@solana/kit").ITransactionMessageWithFeePayerSigner<string, TransactionSigner<string>> & Omit<Readonly<{
268
- instructions: readonly import("@solana/kit").IInstruction<string, readonly (IAccountMeta<string> | import("@solana/kit").IAccountLookupMeta<string, string>)[]>[];
296
+ instructions: readonly IInstruction<string, readonly (IAccountMeta<string> | import("@solana/kit").IAccountLookupMeta<string, string>)[]>[];
269
297
  version: 0;
270
298
  }>, "feePayer">>;
271
299
  /**
@@ -7,11 +7,11 @@ import { SYSTEM_PROGRAM_ADDRESS } from "@solana-program/system";
7
7
  import { ASSOCIATED_TOKEN_PROGRAM_ADDRESS, TOKEN_PROGRAM_ADDRESS, fetchMint, getApproveCheckedInstruction, getCreateAssociatedTokenIdempotentInstruction, } from "@solana-program/token";
8
8
  import { AccountRole, appendTransactionMessageInstruction, fetchEncodedAccount, fetchEncodedAccounts, getAddressEncoder, getBase64EncodedWireTransaction, getProgramDerivedAddress, getSignatureFromTransaction, getU32Encoder, getU64Encoder, pipe, signTransactionMessageWithSigners, some, } from "@solana/kit";
9
9
  import assert from "assert";
10
- import { arrayify, hexZeroPad, hexlify } from "ethers/lib/utils";
10
+ import { arrayify } from "ethers/lib/utils";
11
11
  import { CHAIN_IDs, TOKEN_SYMBOLS_MAP } from "../../constants";
12
12
  import { FillStatus } from "../../interfaces";
13
13
  import { EvmAddress, SvmAddress, bs58, chainIsProd, chainIsSvm, chunk, delay, isUnsafeDepositId, keccak256, mapAsync, toAddressType, } from "../../utils";
14
- import { bigToU8a32, createDefaultTransaction, getCCTPNoncePda, getEventAuthority, getFillStatusPda, getSelfAuthority, getStatePda, isDepositForBurnEvent, simulateAndDecode, toAddress, unwrapEventData, getRootBundlePda, } from "./";
14
+ import { bigToU8a32, createDefaultTransaction, getCCTPNoncePda, getEventAuthority, getFillStatusPda, getSelfAuthority, getStatePda, isDepositForBurnEvent, simulateAndDecode, toAddress, unwrapEventData, getRootBundlePda, getAcrossPlusMessageDecoder, getAccountMeta, toSvmRelayData, getInstructionParamsPda, } from "./";
15
15
  import { SVM_BLOCK_NOT_AVAILABLE, SVM_SLOT_SKIPPED, isSolanaError } from "./provider";
16
16
  import { SVMEventNames } from "./types";
17
17
  import { getEmergencyDeleteRootBundleRootBundleId, getNearestSlotTime, isEmergencyDeleteRootBundleMessageBody, isRelayRootBundleMessageBody, } from "./utils";
@@ -461,7 +461,7 @@ export function createTokenAccountsInstruction(mint, relayer) {
461
461
  */
462
462
  export function getFillRelayTx(spokePoolAddr, solanaClient, relayData, signer, repaymentChainId, repaymentAddress) {
463
463
  return __awaiter(this, void 0, void 0, function () {
464
- var depositor, recipient, inputToken, outputToken, exclusiveRelayer, destinationChainId, program, _relayDataHash, relayDataHash, _a, state, delegate, mint, mintInfo, _b, recipientAta, relayerAta, fillStatus, eventAuthority, svmRelayData, fillInput;
464
+ var depositor, recipient, inputToken, outputToken, exclusiveRelayer, destinationChainId, program, _relayDataHash, relayDataHash, _a, state, delegate, mint, mintInfo, _b, recipientAta, relayerAta, fillStatus, eventAuthority, message, svmRelayData, remainingAccounts, acrossPlusMessage_1, fillInput;
465
465
  return __generator(this, function (_c) {
466
466
  switch (_c.label) {
467
467
  case 0:
@@ -488,6 +488,7 @@ export function getFillRelayTx(spokePoolAddr, solanaClient, relayData, signer, r
488
488
  ])];
489
489
  case 3:
490
490
  _b = _c.sent(), recipientAta = _b[0], relayerAta = _b[1], fillStatus = _b[2], eventAuthority = _b[3];
491
+ message = new Uint8Array(Buffer.from(relayData.message.slice(2), "hex"));
491
492
  svmRelayData = {
492
493
  depositor: toAddress(depositor),
493
494
  recipient: toAddress(recipient),
@@ -500,8 +501,18 @@ export function getFillRelayTx(spokePoolAddr, solanaClient, relayData, signer, r
500
501
  depositId: new Uint8Array(intToU8Array32(relayData.depositId.toNumber())),
501
502
  fillDeadline: relayData.fillDeadline,
502
503
  exclusivityDeadline: relayData.exclusivityDeadline,
503
- message: new Uint8Array(Buffer.from(relayData.message, "hex")),
504
+ message: message,
504
505
  };
506
+ remainingAccounts = [];
507
+ if (relayData.message !== "0x") {
508
+ acrossPlusMessage_1 = deserializeMessage(relayData.message);
509
+ // The first `remainingAccount` _must_ be the handler address.
510
+ // https://github.com/across-protocol/contracts/blob/3310f8dc716407a5f97ef5fd2eae63df83251f2f/programs/svm-spoke/src/utils/message_utils.rs#L36.
511
+ remainingAccounts.push(getAccountMeta(acrossPlusMessage_1.handler, true));
512
+ remainingAccounts.push.apply(remainingAccounts, acrossPlusMessage_1.accounts.map(function (account, idx) {
513
+ return getAccountMeta(account, idx < acrossPlusMessage_1.accounts.length - acrossPlusMessage_1.read_only_len);
514
+ }));
515
+ }
505
516
  fillInput = {
506
517
  signer: signer,
507
518
  state: state,
@@ -522,7 +533,81 @@ export function getFillRelayTx(spokePoolAddr, solanaClient, relayData, signer, r
522
533
  };
523
534
  // Pass createRecipientAtaIfNeeded =true to the createFillInstruction function to create the recipient token account
524
535
  // if it doesn't exist.
525
- return [2 /*return*/, createFillInstruction(signer, solanaClient, fillInput, mintInfo.data.decimals, true)];
536
+ return [2 /*return*/, createFillInstruction(signer, solanaClient, fillInput, svmRelayData, mintInfo.data.decimals, true, remainingAccounts)];
537
+ }
538
+ });
539
+ });
540
+ }
541
+ /**
542
+ * Creates a fill instruction with an instruction params PDA as the relayData input.
543
+ * @param spokePoolAddr Address of the spoke pool we're trying to fill through
544
+ * @param solanaClient RPC client to interact with Solana chain
545
+ * @param relayData RelayData instance, supplemented with destinationChainId
546
+ * @param signer signer associated with the relayer creating a Fill. Can be VoidSigner for gas estimation
547
+ * @param repaymentChainId Chain id where relayer repayment is desired
548
+ * @param repaymentAddress Address to which repayment will go to on repaymentChainId
549
+ * @returns FillRelay transaction
550
+ */
551
+ export function getIPFillRelayTx(spokePoolAddr, solanaClient, relayData, signer, repaymentChainId, repaymentAddress) {
552
+ return __awaiter(this, void 0, void 0, function () {
553
+ var program, _relayDataHash, relayDataHash, _a, state, delegate, instructionParams, mint, mintInfo, _b, recipientAta, relayerAta, fillStatus, eventAuthority, remainingAccounts, acrossPlusMessage_2, fillInput;
554
+ return __generator(this, function (_c) {
555
+ switch (_c.label) {
556
+ case 0:
557
+ program = toAddress(spokePoolAddr);
558
+ _relayDataHash = getRelayDataHash(relayData, relayData.destinationChainId);
559
+ relayDataHash = new Uint8Array(Buffer.from(_relayDataHash.slice(2), "hex"));
560
+ return [4 /*yield*/, Promise.all([
561
+ getStatePda(program),
562
+ getFillRelayDelegatePda(relayDataHash, BigInt(repaymentChainId), toAddress(repaymentAddress), program),
563
+ getInstructionParamsPda(program, signer.address),
564
+ ])];
565
+ case 1:
566
+ _a = _c.sent(), state = _a[0], delegate = _a[1], instructionParams = _a[2];
567
+ mint = toAddress(relayData.outputToken);
568
+ return [4 /*yield*/, getMintInfo(solanaClient, mint)];
569
+ case 2:
570
+ mintInfo = _c.sent();
571
+ return [4 /*yield*/, Promise.all([
572
+ getAssociatedTokenAddress(relayData.recipient, relayData.outputToken, mintInfo.programAddress),
573
+ getAssociatedTokenAddress(SvmAddress.from(signer.address), relayData.outputToken, mintInfo.programAddress),
574
+ getFillStatusPda(program, relayData, relayData.destinationChainId),
575
+ getEventAuthority(program),
576
+ ])];
577
+ case 3:
578
+ _b = _c.sent(), recipientAta = _b[0], relayerAta = _b[1], fillStatus = _b[2], eventAuthority = _b[3];
579
+ remainingAccounts = [];
580
+ if (relayData.message !== "0x") {
581
+ acrossPlusMessage_2 = deserializeMessage(relayData.message);
582
+ // The first `remainingAccount` _must_ be the handler address.
583
+ // https://github.com/across-protocol/contracts/blob/3310f8dc716407a5f97ef5fd2eae63df83251f2f/programs/svm-spoke/src/utils/message_utils.rs#L36.
584
+ remainingAccounts.push(getAccountMeta(acrossPlusMessage_2.handler, true));
585
+ remainingAccounts.push.apply(remainingAccounts, acrossPlusMessage_2.accounts.map(function (account, idx) {
586
+ return getAccountMeta(account, idx < acrossPlusMessage_2.accounts.length - acrossPlusMessage_2.read_only_len);
587
+ }));
588
+ }
589
+ fillInput = {
590
+ signer: signer,
591
+ state: state,
592
+ delegate: delegate,
593
+ mint: mint,
594
+ relayerTokenAccount: relayerAta,
595
+ recipientTokenAccount: recipientAta,
596
+ fillStatus: fillStatus,
597
+ tokenProgram: mintInfo.programAddress,
598
+ associatedTokenProgram: ASSOCIATED_TOKEN_PROGRAM_ADDRESS,
599
+ systemProgram: SYSTEM_PROGRAM_ADDRESS,
600
+ eventAuthority: eventAuthority,
601
+ program: program,
602
+ instructionParams: instructionParams,
603
+ relayHash: relayDataHash,
604
+ relayData: null,
605
+ repaymentChainId: null,
606
+ repaymentAddress: null,
607
+ };
608
+ // Pass createRecipientAtaIfNeeded =true to the createFillInstruction function to create the recipient token account
609
+ // if it doesn't exist.
610
+ return [2 /*return*/, createFillInstruction(signer, solanaClient, fillInput, { outputAmount: relayData.outputAmount.toBigInt(), recipient: toAddress(relayData.recipient) }, mintInfo.data.decimals, true, remainingAccounts)];
526
611
  }
527
612
  });
528
613
  });
@@ -536,21 +621,23 @@ export function getFillRelayTx(spokePoolAddr, solanaClient, relayData, signer, r
536
621
  * @param createRecipientAtaIfNeeded - Whether to create a recipient token account.
537
622
  * @returns The fill instruction.
538
623
  */
539
- export var createFillInstruction = function (signer, solanaClient, fillInput, tokenDecimals, createRecipientAtaIfNeeded) {
624
+ export var createFillInstruction = function (signer, solanaClient, fillInput, relayData, tokenDecimals, createRecipientAtaIfNeeded, remainingAccounts) {
540
625
  if (createRecipientAtaIfNeeded === void 0) { createRecipientAtaIfNeeded = true; }
626
+ if (remainingAccounts === void 0) { remainingAccounts = []; }
541
627
  return __awaiter(void 0, void 0, void 0, function () {
542
628
  var mintInfo, approveIx, getCreateAssociatedTokenIdempotentIx, createFillIx, _a;
543
- return __generator(this, function (_b) {
544
- switch (_b.label) {
629
+ var _b;
630
+ return __generator(this, function (_c) {
631
+ switch (_c.label) {
545
632
  case 0: return [4 /*yield*/, getMintInfo(solanaClient, fillInput.mint)];
546
633
  case 1:
547
- mintInfo = _b.sent();
634
+ mintInfo = _c.sent();
548
635
  approveIx = getApproveCheckedInstruction({
549
636
  source: fillInput.relayerTokenAccount,
550
637
  mint: fillInput.mint,
551
638
  delegate: fillInput.delegate,
552
639
  owner: fillInput.signer,
553
- amount: fillInput.relayData.outputAmount,
640
+ amount: relayData.outputAmount,
554
641
  decimals: tokenDecimals,
555
642
  }, {
556
643
  programAddress: mintInfo.programAddress,
@@ -558,7 +645,7 @@ export var createFillInstruction = function (signer, solanaClient, fillInput, to
558
645
  getCreateAssociatedTokenIdempotentIx = function () {
559
646
  return getCreateAssociatedTokenIdempotentInstruction({
560
647
  payer: signer,
561
- owner: fillInput.relayData.recipient,
648
+ owner: relayData.recipient,
562
649
  mint: fillInput.mint,
563
650
  ata: fillInput.recipientTokenAccount,
564
651
  systemProgram: SYSTEM_PROGRAM_ADDRESS,
@@ -566,9 +653,11 @@ export var createFillInstruction = function (signer, solanaClient, fillInput, to
566
653
  });
567
654
  };
568
655
  createFillIx = SvmSpokeClient.getFillRelayInstruction(fillInput);
656
+ // Add remaining accounts.
657
+ (_b = createFillIx.accounts).push.apply(_b, remainingAccounts);
569
658
  _a = pipe;
570
659
  return [4 /*yield*/, createDefaultTransaction(solanaClient, signer)];
571
- case 2: return [2 /*return*/, _a.apply(void 0, [_b.sent(), function (tx) {
660
+ case 2: return [2 /*return*/, _a.apply(void 0, [_c.sent(), function (tx) {
572
661
  return createRecipientAtaIfNeeded ? appendTransactionMessageInstruction(getCreateAssociatedTokenIdempotentIx(), tx) : tx;
573
662
  },
574
663
  function (tx) { return appendTransactionMessageInstruction(approveIx, tx); },
@@ -577,6 +666,13 @@ export var createFillInstruction = function (signer, solanaClient, fillInput, to
577
666
  });
578
667
  });
579
668
  };
669
+ export function deserializeMessage(_message) {
670
+ var message = new Uint8Array(Buffer.from(_message.slice(2), "hex"));
671
+ // Add remaining accounts if the relayData has a non-empty message.
672
+ // @dev ! since in the context of creating a `fillRelayTx`, `relayData` must be defined.
673
+ var acrossPlusMessageDecoder = getAcrossPlusMessageDecoder();
674
+ return acrossPlusMessageDecoder.decode(message);
675
+ }
580
676
  /**
581
677
  * Creates a deposit instruction.
582
678
  * @param signer - The signer of the transaction.
@@ -771,24 +867,18 @@ export function getAssociatedTokenAddress(owner, mint, tokenProgramId) {
771
867
  });
772
868
  }
773
869
  export function getRelayDataHash(relayData, destinationChainId) {
774
- var addressEncoder = getAddressEncoder();
775
- var uint64Encoder = getU64Encoder();
776
- var uint32Encoder = getU32Encoder();
777
870
  assert(relayData.message.startsWith("0x"), "Message must be a hex string");
778
- var encodeAddress = function (data) { return Uint8Array.from(addressEncoder.encode(toAddress(data))); };
871
+ var uint64Encoder = getU64Encoder();
872
+ var svmRelayData = toSvmRelayData(relayData);
873
+ var relayDataEncoder = SvmSpokeClient.getRelayDataEncoder();
874
+ var encodedRelayData = relayDataEncoder.encode(svmRelayData);
875
+ var encodedMessage = Buffer.from(relayData.message.slice(2), "hex");
876
+ // Reformat the encoded relay data the same way it is done in the SvmSpoke:
877
+ // https://github.com/across-protocol/contracts/blob/3310f8dc716407a5f97ef5fd2eae63df83251f2f/programs/svm-spoke/src/utils/merkle_proof_utils.rs#L5
878
+ var messageOffset = encodedRelayData.length - 4 - encodedMessage.length;
779
879
  var contentToHash = Buffer.concat([
780
- encodeAddress(relayData.depositor),
781
- encodeAddress(relayData.recipient),
782
- encodeAddress(relayData.exclusiveRelayer),
783
- encodeAddress(relayData.inputToken),
784
- encodeAddress(relayData.outputToken),
785
- arrayify(hexZeroPad(hexlify(relayData.inputAmount), 32)),
786
- Uint8Array.from(uint64Encoder.encode(BigInt(relayData.outputAmount.toString()))),
787
- Uint8Array.from(uint64Encoder.encode(BigInt(relayData.originChainId.toString()))),
788
- arrayify(hexZeroPad(hexlify(relayData.depositId), 32)),
789
- Uint8Array.from(uint32Encoder.encode(relayData.fillDeadline)),
790
- Uint8Array.from(uint32Encoder.encode(relayData.exclusivityDeadline)),
791
- hashNonEmptyMessage(Buffer.from(arrayify(relayData.message))),
880
+ encodedRelayData.slice(0, messageOffset),
881
+ hashNonEmptyMessage(encodedMessage),
792
882
  Uint8Array.from(uint64Encoder.encode(BigInt(destinationChainId))),
793
883
  ]);
794
884
  return keccak256(contentToHash);
@@ -872,6 +962,48 @@ function fetchBatchFillStatusFromPdaAccounts(provider, fillStatusPdas, relayData
872
962
  });
873
963
  });
874
964
  }
965
+ /**
966
+ * Returns a set of instructions to execute to fill a relay via instruction params.
967
+ * @param spokePool The program ID of the Solana spoke pool.
968
+ * @param relayData The relay data to write to the instruction params PDA.
969
+ * @param signer The transaction signer and authority of the instruction params PDA.
970
+ * @param maxWriteSize The maximum fragment size to write to instruction params.
971
+ */
972
+ export function getFillRelayViaInstructionParamsInstructions(spokePool, relayData, signer, maxWriteSize) {
973
+ if (maxWriteSize === void 0) { maxWriteSize = 450; }
974
+ return __awaiter(this, void 0, void 0, function () {
975
+ var instructionParams, relayDataEncoder, svmRelayData, encodedRelayData, initInstructionParamsIx, instructions, i, offset, offsetEnd, fragment, writeInstructionParamsIx;
976
+ return __generator(this, function (_a) {
977
+ switch (_a.label) {
978
+ case 0: return [4 /*yield*/, getInstructionParamsPda(spokePool, signer.address)];
979
+ case 1:
980
+ instructionParams = _a.sent();
981
+ relayDataEncoder = SvmSpokeClient.getRelayDataEncoder();
982
+ svmRelayData = toSvmRelayData(relayData);
983
+ encodedRelayData = relayDataEncoder.encode(svmRelayData);
984
+ initInstructionParamsIx = SvmSpokeClient.getInitializeInstructionParamsInstruction({
985
+ signer: signer,
986
+ instructionParams: instructionParams,
987
+ totalSize: encodedRelayData.length,
988
+ });
989
+ instructions = [initInstructionParamsIx];
990
+ for (i = 0; i <= encodedRelayData.length / maxWriteSize; ++i) {
991
+ offset = i * maxWriteSize;
992
+ offsetEnd = Math.min(offset + maxWriteSize, encodedRelayData.length);
993
+ fragment = encodedRelayData.slice(offset, offsetEnd);
994
+ writeInstructionParamsIx = SvmSpokeClient.getWriteInstructionParamsFragmentInstruction({
995
+ signer: signer,
996
+ instructionParams: instructionParams,
997
+ offset: offset,
998
+ fragment: fragment,
999
+ });
1000
+ instructions.push(writeInstructionParamsIx);
1001
+ }
1002
+ return [2 /*return*/, instructions];
1003
+ }
1004
+ });
1005
+ });
1006
+ }
875
1007
  /**
876
1008
  * Returns the delegate PDA for deposit.
877
1009
  */