@across-protocol/sdk 4.3.37 → 4.3.38

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 (44) hide show
  1. package/dist/cjs/arch/svm/SpokeUtils.d.ts +1 -1
  2. package/dist/cjs/arch/svm/SpokeUtils.js +36 -107
  3. package/dist/cjs/arch/svm/SpokeUtils.js.map +1 -1
  4. package/dist/cjs/arch/svm/provider.d.ts +1 -1
  5. package/dist/cjs/arch/svm/provider.js +2 -1
  6. package/dist/cjs/arch/svm/provider.js.map +1 -1
  7. package/dist/cjs/arch/svm/utils.d.ts +2 -0
  8. package/dist/cjs/arch/svm/utils.js +18 -1
  9. package/dist/cjs/arch/svm/utils.js.map +1 -1
  10. package/dist/cjs/utils/BlockExplorerUtils.js +1 -1
  11. package/dist/cjs/utils/BlockExplorerUtils.js.map +1 -1
  12. package/dist/esm/arch/svm/SpokeUtils.d.ts +1 -1
  13. package/dist/esm/arch/svm/SpokeUtils.js +40 -109
  14. package/dist/esm/arch/svm/SpokeUtils.js.map +1 -1
  15. package/dist/esm/arch/svm/provider.d.ts +1 -1
  16. package/dist/esm/arch/svm/provider.js +1 -1
  17. package/dist/esm/arch/svm/provider.js.map +1 -1
  18. package/dist/esm/arch/svm/utils.d.ts +8 -0
  19. package/dist/esm/arch/svm/utils.js +22 -0
  20. package/dist/esm/arch/svm/utils.js.map +1 -1
  21. package/dist/esm/pool/poolClient.js +1 -1
  22. package/dist/esm/utils/AddressUtils.js +1 -1
  23. package/dist/esm/utils/AddressUtils.js.map +1 -1
  24. package/dist/esm/utils/BlockExplorerUtils.js +1 -1
  25. package/dist/esm/utils/BlockExplorerUtils.js.map +1 -1
  26. package/dist/esm/utils/abi/index.d.ts +1 -1
  27. package/dist/esm/utils/abi/index.js +1 -1
  28. package/dist/types/arch/svm/SpokeUtils.d.ts +1 -1
  29. package/dist/types/arch/svm/SpokeUtils.d.ts.map +1 -1
  30. package/dist/types/arch/svm/provider.d.ts +1 -1
  31. package/dist/types/arch/svm/provider.d.ts.map +1 -1
  32. package/dist/types/arch/svm/utils.d.ts +8 -0
  33. package/dist/types/arch/svm/utils.d.ts.map +1 -1
  34. package/dist/types/utils/abi/index.d.ts +1 -1
  35. package/package.json +1 -1
  36. package/src/arch/svm/SpokeUtils.ts +36 -124
  37. package/src/arch/svm/provider.ts +1 -0
  38. package/src/arch/svm/utils.ts +23 -0
  39. package/src/caching/Arweave/ArweaveClient.ts +1 -1
  40. package/src/pool/poolClient.ts +1 -1
  41. package/src/providers/rateLimitedProvider.ts +1 -1
  42. package/src/utils/AddressUtils.ts +1 -1
  43. package/src/utils/BlockExplorerUtils.ts +1 -1
  44. package/src/utils/abi/index.ts +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"BlockExplorerUtils.js","sourceRoot":"","sources":["../../../src/utils/BlockExplorerUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,eAAuB,EAAE,OAAwB;;IACjF,OAAO,MAAA,gCAAgC,CAAC,eAAe,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,mCAAI,IAAI,CAAC;AACpF,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,0BAA0B,CAAC,SAAiB;;IAC1D,OAAO,MAAA,eAAe,CAAC,SAAS,CAAC,0CAAE,aAAa,CAAC;AACnD,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,YAAY,CAAC,MAAc,EAAE,KAAe;IACnD,gFAAgF;IAChF,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAZ,CAAY,CAAC,CAAC;IAC3C,0BAA0B;IAC1B,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,KAAK,EAAE,EAAR,CAAQ,CAAC,CAAC;IACtC,6BAA6B;IAC7B,IAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC7B,2BAA2B;IAC3B,OAAO,UAAG,MAAM,cAAI,IAAI,CAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AACjD,CAAC;AAED;;;;;GAKG;AACH,SAAS,gCAAgC,CAAC,GAAW,EAAE,OAAW;IAAX,wBAAA,EAAA,WAAW;IAChE,sEAAsE;IACtE,IAAM,cAAc,GAAG,0BAA0B,CAAC,OAAO,CAAC,CAAC;IAC3D,+DAA+D;IAC/D,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE;QAC9B,OAAO,kCAA2B,OAAO,cAAI,GAAG,OAAI,CAAC;KACtD;IACD,+EAA+E;IAC/E,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE;QAChC,GAAG,GAAG,YAAK,GAAG,CAAE,CAAC;KAClB;IACD,4DAA4D;IAC5D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE;QAClC,OAAO,IAAI,CAAC;KACb;IACD,gCAAgC;IAChC,IAAM,cAAc,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;IACjD,6CAA6C;IAC7C,KAA8B,UAGP,EAHO,KAAA;QAC5B,CAAC,EAAE,EAAE,IAAI,CAAC;QACV,CAAC,EAAE,EAAE,SAAS,CAAC;KACM,EAHO,cAGP,EAHO,IAGP,EAAE;QAHd,IAAA,WAAe,EAAd,QAAM,QAAA,EAAE,KAAK,QAAA;QAIvB,4DAA4D;QAC5D,IAAI,GAAG,CAAC,MAAM,KAAK,QAAM,EAAE;YACzB,OAAO,WAAI,YAAY,CAAC,cAAc,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,cAAI,cAAc,MAAG,CAAC;SAC5E;KACF;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAAC,mBAA6B,EAAE,OAAwB;IACxF,OAAO,mBAAmB,CAAC,GAAG,CAAC,UAAC,IAAI,IAAK,OAAA,UAAG,iBAAiB,CAAC,IAAI,EAAE,OAAO,CAAC,OAAI,EAAvC,CAAuC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC7F,CAAC"}
1
+ {"version":3,"file":"BlockExplorerUtils.js","sourceRoot":"","sources":["../../../src/utils/BlockExplorerUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,eAAuB,EAAE,OAAwB;;IACjF,OAAO,MAAA,gCAAgC,CAAC,eAAe,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,mCAAI,IAAI,CAAC;AACpF,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,0BAA0B,CAAC,SAAiB;;IAC1D,OAAO,MAAA,eAAe,CAAC,SAAS,CAAC,0CAAE,aAAa,CAAC;AACnD,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,YAAY,CAAC,MAAc,EAAE,KAAe;IACnD,gFAAgF;IAChF,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAZ,CAAY,CAAC,CAAC;IAC3C,0BAA0B;IAC1B,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,KAAK,EAAE,EAAR,CAAQ,CAAC,CAAC;IACtC,6BAA6B;IAC7B,IAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC7B,2BAA2B;IAC3B,OAAO,UAAG,MAAM,cAAI,IAAI,CAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AACjD,CAAC;AAED;;;;;GAKG;AACH,SAAS,gCAAgC,CAAC,GAAW,EAAE,OAAW;IAAX,wBAAA,EAAA,WAAW;IAChE,sEAAsE;IACtE,IAAM,cAAc,GAAG,0BAA0B,CAAC,OAAO,CAAC,CAAC;IAC3D,+DAA+D;IAC/D,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE;QAC9B,OAAO,kCAA2B,OAAO,cAAI,GAAG,OAAI,CAAC;KACtD;IACD,+EAA+E;IAC/E,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE;QAChC,GAAG,GAAG,YAAK,GAAG,CAAE,CAAC;KAClB;IACD,4DAA4D;IAC5D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE;QAClC,OAAO,IAAI,CAAC;KACb;IACD,gCAAgC;IAChC,IAAM,cAAc,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;IACjD,6CAA6C;IAC7C,KAA8B,UAGP,EAHO,KAAA;QAC5B,CAAC,EAAE,EAAE,IAAI,CAAC;QACV,CAAC,EAAE,EAAE,SAAS,CAAC;KACM,EAHO,cAGP,EAHO,IAGP,EAAE;QAHd,IAAA,WAAe,EAAd,QAAM,QAAA,EAAE,KAAK,QAAA;QAIvB,4DAA4D;QAC5D,IAAI,GAAG,CAAC,MAAM,KAAK,QAAM,EAAE;YACzB,OAAO,WAAI,YAAY,CAAC,cAAc,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,gBAAM,cAAc,MAAG,CAAC;SAC9E;KACF;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAAC,mBAA6B,EAAE,OAAwB;IACxF,OAAO,mBAAmB,CAAC,GAAG,CAAC,UAAC,IAAI,IAAK,OAAA,UAAG,iBAAiB,CAAC,IAAI,EAAE,OAAO,CAAC,OAAI,EAAvC,CAAuC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC7F,CAAC"}
@@ -11,7 +11,7 @@ import { ContractInterface } from "ethers";
11
11
  */
12
12
  export declare function getABIDir(): string;
13
13
  /**
14
- * @notice Retrieve an ABI desription from the set of known contracts.
14
+ * @notice Retrieve an ABI description from the set of known contracts.
15
15
  * @param contractName Name of the contract ABI to retrieve.
16
16
  * @returns Contract ABI as an ethers ContractInterface type.
17
17
  */
@@ -15,7 +15,7 @@ export function getABIDir() {
15
15
  return "".concat(__dirname, "/contracts");
16
16
  }
17
17
  /**
18
- * @notice Retrieve an ABI desription from the set of known contracts.
18
+ * @notice Retrieve an ABI description from the set of known contracts.
19
19
  * @param contractName Name of the contract ABI to retrieve.
20
20
  * @returns Contract ABI as an ethers ContractInterface type.
21
21
  */
@@ -109,7 +109,7 @@ export declare function findFillEvent(relayData: RelayData, destinationChainId:
109
109
  * @param repaymentChainId Optional repaymentChainId (defaults to destinationChainId).
110
110
  * @returns An Ethers UnsignedTransaction instance.
111
111
  */
112
- export declare function fillRelayInstruction(spokePool: SvmAddress, relayData: ProtoFill, signer: TransactionSigner<string>, recipientTokenAccount: Address<string>, repaymentAddress?: EvmAddress | SvmAddress, repaymentChainId?: number): Promise<SvmSpokeClient.FillRelayInstruction<Address<"DLv3NggMiSaef97YCkew5xKUHDh13tVGZ7tydt3ZeAru">, string, string, string, string, string, string, string, string, string, string, string, string, string, []>>;
112
+ export declare function fillRelayInstruction(spokePool: SvmAddress, relayData: ProtoFill, signer: TransactionSigner<string>, recipientTokenAccount: Address<string>, repaymentAddress: EvmAddress | SvmAddress, repaymentChainId: number): Promise<SvmSpokeClient.FillRelayInstruction<Address<"DLv3NggMiSaef97YCkew5xKUHDh13tVGZ7tydt3ZeAru">, string, string, string, string, string, string, string, string, string, string, string, string, string, []>>;
113
113
  /**
114
114
  * @param mint Address of the token corresponding to the account being made.
115
115
  * @param relayer Address of the relayer filling the deposit.
@@ -1 +1 @@
1
- {"version":3,"file":"SpokeUtils.d.ts","sourceRoot":"","sources":["../../../../src/arch/svm/SpokeUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SpokeUtils.d.ts","sourceRoot":"","sources":["../../../../src/arch/svm/SpokeUtils.ts"],"names":[],"mappings":"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"}
@@ -2,5 +2,5 @@
2
2
  * SVM RPC provider error codes
3
3
  * See https://www.quicknode.com/docs/solana/error-references
4
4
  */
5
- export { isSolanaError, SOLANA_ERROR__JSON_RPC__SERVER_ERROR_BLOCK_NOT_AVAILABLE as SVM_BLOCK_NOT_AVAILABLE, SOLANA_ERROR__JSON_RPC__SERVER_ERROR_SLOT_SKIPPED as SVM_SLOT_SKIPPED, } from "@solana/kit";
5
+ export { isSolanaError, SOLANA_ERROR__JSON_RPC__SERVER_ERROR_BLOCK_NOT_AVAILABLE as SVM_BLOCK_NOT_AVAILABLE, SOLANA_ERROR__JSON_RPC__SERVER_ERROR_SLOT_SKIPPED as SVM_SLOT_SKIPPED, SOLANA_ERROR__JSON_RPC__SERVER_ERROR_SEND_TRANSACTION_PREFLIGHT_FAILURE as SVM_TRANSACTION_PREFLIGHT_FAILURE, } from "@solana/kit";
6
6
  //# sourceMappingURL=provider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../../src/arch/svm/provider.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EACL,aAAa,EACb,wDAAwD,IAAI,uBAAuB,EACnF,iDAAiD,IAAI,gBAAgB,GACtE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../../src/arch/svm/provider.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EACL,aAAa,EACb,wDAAwD,IAAI,uBAAuB,EACnF,iDAAiD,IAAI,gBAAgB,EACrE,uEAAuE,IAAI,iCAAiC,GAC7G,MAAM,aAAa,CAAC"}
@@ -1,4 +1,5 @@
1
1
  /// <reference types="node" />
2
+ import { SvmSpokeClient } from "@across-protocol/contracts";
2
3
  import { Idl } from "@coral-xyz/anchor";
3
4
  import { Address, IInstruction, KeyPairSigner, type Commitment, type TransactionSigner } from "@solana/kit";
4
5
  import { RelayData } from "../../interfaces";
@@ -137,6 +138,13 @@ export declare const createDefaultTransaction: (rpcClient: SVMProvider, signer:
137
138
  * @returns The decoded result.
138
139
  */
139
140
  export declare const simulateAndDecode: <P extends (buf: Buffer) => unknown>(solanaClient: SVMProvider, ix: IInstruction, signer: KeyPairSigner, parser: P) => Promise<ReturnType<P>>;
141
+ /**
142
+ * Converts a common `RelayData` type to an SvmSpokeClient.RelayData` type. This is useful for when we need
143
+ * to interface directly with the SvmSpoke.
144
+ * @param relayData The common RelayData TS type.
145
+ * @returns RelayData which conforms to the typing of the SvmSpoke.
146
+ */
147
+ export declare function toSvmRelayData(relayData: RelayData): SvmSpokeClient.RelayData;
140
148
  /**
141
149
  * Returns the PDA for the CCTP nonce.
142
150
  * @param solanaClient The Solana client.
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/arch/svm/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/arch/svm/utils.ts"],"names":[],"mappings":"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"}
@@ -11,7 +11,7 @@ import { ContractInterface } from "ethers";
11
11
  */
12
12
  export declare function getABIDir(): string;
13
13
  /**
14
- * @notice Retrieve an ABI desription from the set of known contracts.
14
+ * @notice Retrieve an ABI description from the set of known contracts.
15
15
  * @param contractName Name of the contract ABI to retrieve.
16
16
  * @returns Contract ABI as an ethers ContractInterface type.
17
17
  */
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@across-protocol/sdk",
3
3
  "author": "UMA Team",
4
- "version": "4.3.37",
4
+ "version": "4.3.38",
5
5
  "license": "AGPL-3.0",
6
6
  "homepage": "https://docs.across.to/reference/sdk",
7
7
  "files": [
@@ -1,7 +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
3
  import { decodeMessageHeader, hashNonEmptyMessage } from "@across-protocol/contracts/dist/src/svm/web3-v1";
4
- import { intToU8Array32 } from "@across-protocol/contracts/dist/src/svm/web3-v1/conversionUtils";
5
4
  import { SYSTEM_PROGRAM_ADDRESS } from "@solana-program/system";
6
5
  import {
7
6
  ASSOCIATED_TOKEN_PROGRAM_ADDRESS,
@@ -34,7 +33,7 @@ import {
34
33
  type TransactionSigner,
35
34
  } from "@solana/kit";
36
35
  import assert from "assert";
37
- import { arrayify, hexZeroPad, hexlify } from "ethers/lib/utils";
36
+ import { arrayify } from "ethers/lib/utils";
38
37
  import { Logger } from "winston";
39
38
  import { CHAIN_IDs, TOKEN_SYMBOLS_MAP } from "../../constants";
40
39
  import { DepositWithBlock, FillStatus, FillWithBlock, RelayData, RelayExecutionEventInfo } from "../../interfaces";
@@ -54,7 +53,6 @@ import {
54
53
  toAddressType,
55
54
  } from "../../utils";
56
55
  import {
57
- bigToU8a32,
58
56
  createDefaultTransaction,
59
57
  getCCTPNoncePda,
60
58
  getEventAuthority,
@@ -66,6 +64,7 @@ import {
66
64
  toAddress,
67
65
  unwrapEventData,
68
66
  getRootBundlePda,
67
+ toSvmRelayData,
69
68
  } from "./";
70
69
  import { SvmCpiEventsClient } from "./eventsClient";
71
70
  import { SVM_BLOCK_NOT_AVAILABLE, SVM_SLOT_SKIPPED, isSolanaError } from "./provider";
@@ -465,11 +464,10 @@ export async function fillRelayInstruction(
465
464
  relayData: ProtoFill,
466
465
  signer: TransactionSigner<string>,
467
466
  recipientTokenAccount: Address<string>,
468
- repaymentAddress: EvmAddress | SvmAddress = SvmAddress.from(signer.address),
469
- repaymentChainId = relayData.destinationChainId
467
+ repaymentAddress: EvmAddress | SvmAddress,
468
+ repaymentChainId: number
470
469
  ) {
471
470
  const program = toAddress(spokePool);
472
-
473
471
  assert(
474
472
  repaymentAddress.isValidOn(repaymentChainId),
475
473
  `Invalid repayment address for chain ${repaymentChainId}: ${repaymentAddress.toNative()}.`
@@ -480,61 +478,29 @@ export async function fillRelayInstruction(
480
478
 
481
479
  const relayer = SvmAddress.from(signer.address);
482
480
 
483
- // Create ATA for the relayer and recipient token accounts
484
- const relayerTokenAccount = await getAssociatedTokenAddress(relayer, relayData.outputToken);
485
-
486
- const [statePda, fillStatusPda, eventAuthority] = await Promise.all([
481
+ const [statePda, fillStatusPda, eventAuthority, delegatePda, relayerTokenAccount] = await Promise.all([
487
482
  getStatePda(program),
488
483
  getFillStatusPda(program, relayData, relayData.destinationChainId),
489
484
  getEventAuthority(program),
485
+ getFillRelayDelegatePda(relayDataHash, BigInt(repaymentChainId), signer.address, program),
486
+ getAssociatedTokenAddress(relayer, relayData.outputToken),
490
487
  ]);
491
488
 
492
- const depositIdBuffer = new Uint8Array(32);
493
- const shortenedBuffer = new Uint8Array(Buffer.from(relayData.depositId.toHexString().slice(2), "hex"));
494
- depositIdBuffer.set(shortenedBuffer, 32 - shortenedBuffer.length);
495
-
496
- const delegatePda = await getFillRelayDelegatePda(
497
- relayDataHash,
498
- BigInt(repaymentChainId),
499
- toAddress(relayer),
500
- program
501
- );
502
-
503
- const [recipient, outputToken, exclusiveRelayer, depositor, inputToken] = [
504
- relayData.recipient,
505
- relayData.outputToken,
506
- relayData.exclusiveRelayer,
507
- relayData.depositor,
508
- relayData.inputToken,
509
- ].map(toAddress);
510
-
489
+ const svmRelayData = toSvmRelayData(relayData);
511
490
  return SvmSpokeClient.getFillRelayInstruction({
512
491
  signer,
513
492
  state: statePda,
514
493
  delegate: toAddress(SvmAddress.from(delegatePda.toString())),
515
- mint: outputToken,
494
+ mint: svmRelayData.outputToken,
516
495
  relayerTokenAccount: relayerTokenAccount,
517
496
  recipientTokenAccount: recipientTokenAccount,
518
497
  fillStatus: fillStatusPda,
519
498
  eventAuthority,
520
499
  program,
521
500
  relayHash: relayDataHash,
522
- relayData: some({
523
- depositor,
524
- recipient,
525
- exclusiveRelayer,
526
- inputToken,
527
- outputToken,
528
- inputAmount: bigToU8a32(relayData.inputAmount.toBigInt()),
529
- outputAmount: relayData.outputAmount.toBigInt(),
530
- originChainId: BigInt(relayData.originChainId),
531
- fillDeadline: relayData.fillDeadline,
532
- exclusivityDeadline: relayData.exclusivityDeadline,
533
- depositId: depositIdBuffer,
534
- message: new Uint8Array(Buffer.from(relayData.message.slice(2), "hex")),
535
- }),
501
+ relayData: some(svmRelayData),
536
502
  repaymentChainId: some(BigInt(repaymentChainId)),
537
- repaymentAddress: toAddress(repaymentAddress),
503
+ repaymentAddress: some(toAddress(repaymentAddress)),
538
504
  });
539
505
  }
540
506
 
@@ -575,7 +541,7 @@ export async function getFillRelayTx(
575
541
  repaymentChainId: number,
576
542
  repaymentAddress: SdkAddress
577
543
  ) {
578
- const { depositor, recipient, inputToken, outputToken, exclusiveRelayer, destinationChainId } = relayData;
544
+ const svmRelayData = toSvmRelayData(relayData);
579
545
 
580
546
  assert(
581
547
  repaymentAddress.isValidOn(repaymentChainId),
@@ -583,44 +549,27 @@ export async function getFillRelayTx(
583
549
  );
584
550
 
585
551
  const program = toAddress(spokePoolAddr);
586
- const _relayDataHash = getRelayDataHash(relayData, destinationChainId);
552
+ const _relayDataHash = getRelayDataHash(relayData, relayData.destinationChainId);
587
553
  const relayDataHash = new Uint8Array(Buffer.from(_relayDataHash.slice(2), "hex"));
588
554
 
589
- const [state, delegate] = await Promise.all([
555
+ const [state, delegate, mintInfo, fillStatus, eventAuthority] = await Promise.all([
590
556
  getStatePda(program),
591
557
  getFillRelayDelegatePda(relayDataHash, BigInt(repaymentChainId), toAddress(repaymentAddress), program),
592
- ]);
593
-
594
- const mint = toAddress(outputToken);
595
- const mintInfo = await getMintInfo(solanaClient, mint);
596
-
597
- const [recipientAta, relayerAta, fillStatus, eventAuthority] = await Promise.all([
598
- getAssociatedTokenAddress(recipient, outputToken, mintInfo.programAddress),
599
- getAssociatedTokenAddress(SvmAddress.from(signer.address), outputToken, mintInfo.programAddress),
600
- getFillStatusPda(program, relayData, destinationChainId),
558
+ getMintInfo(solanaClient, svmRelayData.outputToken),
559
+ getFillStatusPda(program, relayData, relayData.destinationChainId),
601
560
  getEventAuthority(program),
602
561
  ]);
603
562
 
604
- const svmRelayData: SvmSpokeClient.FillRelayInput["relayData"] = {
605
- depositor: toAddress(depositor),
606
- recipient: toAddress(recipient),
607
- exclusiveRelayer: toAddress(exclusiveRelayer),
608
- inputToken: toAddress(inputToken),
609
- outputToken: mint,
610
- inputAmount: bigToU8a32(relayData.inputAmount.toBigInt()),
611
- outputAmount: relayData.outputAmount.toBigInt(),
612
- originChainId: relayData.originChainId,
613
- depositId: new Uint8Array(intToU8Array32(relayData.depositId.toNumber())),
614
- fillDeadline: relayData.fillDeadline,
615
- exclusivityDeadline: relayData.exclusivityDeadline,
616
- message: new Uint8Array(Buffer.from(relayData.message, "hex")),
617
- };
563
+ const [recipientAta, relayerAta] = await Promise.all([
564
+ getAssociatedTokenAddress(relayData.recipient, relayData.outputToken, mintInfo.programAddress),
565
+ getAssociatedTokenAddress(SvmAddress.from(signer.address), relayData.outputToken, mintInfo.programAddress),
566
+ ]);
618
567
 
619
568
  const fillInput: SvmSpokeClient.FillRelayInput = {
620
569
  signer: signer,
621
570
  state,
622
571
  delegate,
623
- mint,
572
+ mint: svmRelayData.outputToken,
624
573
  relayerTokenAccount: relayerAta,
625
574
  recipientTokenAccount: recipientAta,
626
575
  fillStatus,
@@ -777,48 +726,16 @@ export async function getSlowFillRequestTx(
777
726
  },
778
727
  signer: TransactionSigner
779
728
  ) {
780
- const {
781
- depositor,
782
- recipient,
783
- inputToken,
784
- outputToken,
785
- exclusiveRelayer,
786
- destinationChainId,
787
- originChainId,
788
- depositId,
789
- fillDeadline,
790
- exclusivityDeadline,
791
- message,
792
- } = relayData;
793
-
794
729
  const program = toAddress(spokePoolAddr);
795
- const relayDataHash = getRelayDataHash(relayData, destinationChainId);
730
+ const relayDataHash = getRelayDataHash(relayData, relayData.destinationChainId);
796
731
 
797
732
  const [state, fillStatus, eventAuthority] = await Promise.all([
798
733
  getStatePda(program),
799
- getFillStatusPda(program, relayData, destinationChainId),
734
+ getFillStatusPda(program, relayData, relayData.destinationChainId),
800
735
  getEventAuthority(program),
801
736
  ]);
802
737
 
803
- const depositIdBuffer = new Uint8Array(32);
804
- const shortenedBuffer = arrayify(depositId.toHexString());
805
- depositIdBuffer.set(shortenedBuffer, 32 - shortenedBuffer.length);
806
-
807
- const relayDataInput: SvmSpokeClient.RequestSlowFillInput["relayData"] = {
808
- depositor: toAddress(depositor),
809
- recipient: toAddress(recipient),
810
- exclusiveRelayer: toAddress(exclusiveRelayer),
811
- inputToken: toAddress(inputToken),
812
- outputToken: toAddress(outputToken),
813
- inputAmount: bigToU8a32(relayData.inputAmount.toBigInt()),
814
- outputAmount: relayData.outputAmount.toBigInt(),
815
- originChainId: BigInt(originChainId),
816
- depositId: depositIdBuffer,
817
- fillDeadline: fillDeadline,
818
- exclusivityDeadline: exclusivityDeadline,
819
- message: arrayify(message),
820
- };
821
-
738
+ const svmRelayData = toSvmRelayData(relayData);
822
739
  const requestSlowFillInput: SvmSpokeClient.RequestSlowFillInput = {
823
740
  signer,
824
741
  state,
@@ -826,7 +743,7 @@ export async function getSlowFillRequestTx(
826
743
  eventAuthority,
827
744
  program,
828
745
  relayHash: arrayify(relayDataHash),
829
- relayData: relayDataInput,
746
+ relayData: svmRelayData,
830
747
  systemProgram: SYSTEM_PROGRAM_ADDRESS,
831
748
  };
832
749
 
@@ -882,28 +799,23 @@ export async function getAssociatedTokenAddress(
882
799
  }
883
800
 
884
801
  export function getRelayDataHash(relayData: RelayData, destinationChainId: number): string {
885
- const addressEncoder = getAddressEncoder();
802
+ assert(relayData.message.startsWith("0x"), "Message must be a hex string");
886
803
  const uint64Encoder = getU64Encoder();
887
- const uint32Encoder = getU32Encoder();
888
804
 
889
- assert(relayData.message.startsWith("0x"), "Message must be a hex string");
890
- const encodeAddress = (data: SdkAddress) => Uint8Array.from(addressEncoder.encode(toAddress(data)));
805
+ const svmRelayData = toSvmRelayData(relayData);
806
+ const relayDataEncoder = SvmSpokeClient.getRelayDataEncoder();
807
+ const encodedRelayData = relayDataEncoder.encode(svmRelayData);
808
+ const encodedMessage = Buffer.from(relayData.message.slice(2), "hex");
891
809
 
810
+ // Reformat the encoded relay data the same way it is done in the SvmSpoke:
811
+ // https://github.com/across-protocol/contracts/blob/3310f8dc716407a5f97ef5fd2eae63df83251f2f/programs/svm-spoke/src/utils/merkle_proof_utils.rs#L5
812
+ const messageOffset = encodedRelayData.length - 4 - encodedMessage.length;
892
813
  const contentToHash = Buffer.concat([
893
- encodeAddress(relayData.depositor),
894
- encodeAddress(relayData.recipient),
895
- encodeAddress(relayData.exclusiveRelayer),
896
- encodeAddress(relayData.inputToken),
897
- encodeAddress(relayData.outputToken),
898
- arrayify(hexZeroPad(hexlify(relayData.inputAmount), 32)),
899
- Uint8Array.from(uint64Encoder.encode(BigInt(relayData.outputAmount.toString()))),
900
- Uint8Array.from(uint64Encoder.encode(BigInt(relayData.originChainId.toString()))),
901
- arrayify(hexZeroPad(hexlify(relayData.depositId), 32)),
902
- Uint8Array.from(uint32Encoder.encode(relayData.fillDeadline)),
903
- Uint8Array.from(uint32Encoder.encode(relayData.exclusivityDeadline)),
904
- hashNonEmptyMessage(Buffer.from(arrayify(relayData.message))),
814
+ encodedRelayData.slice(0, messageOffset),
815
+ hashNonEmptyMessage(encodedMessage),
905
816
  Uint8Array.from(uint64Encoder.encode(BigInt(destinationChainId))),
906
817
  ]);
818
+
907
819
  return keccak256(contentToHash);
908
820
  }
909
821
 
@@ -6,4 +6,5 @@ export {
6
6
  isSolanaError,
7
7
  SOLANA_ERROR__JSON_RPC__SERVER_ERROR_BLOCK_NOT_AVAILABLE as SVM_BLOCK_NOT_AVAILABLE,
8
8
  SOLANA_ERROR__JSON_RPC__SERVER_ERROR_SLOT_SKIPPED as SVM_SLOT_SKIPPED,
9
+ SOLANA_ERROR__JSON_RPC__SERVER_ERROR_SEND_TRANSACTION_PREFLIGHT_FAILURE as SVM_TRANSACTION_PREFLIGHT_FAILURE,
9
10
  } from "@solana/kit";
@@ -430,6 +430,29 @@ export const simulateAndDecode = async <P extends (buf: Buffer) => unknown>(
430
430
  return parser(Buffer.from(simulationResult.value.returnData.data[0], "base64")) as ReturnType<P>;
431
431
  };
432
432
 
433
+ /**
434
+ * Converts a common `RelayData` type to an SvmSpokeClient.RelayData` type. This is useful for when we need
435
+ * to interface directly with the SvmSpoke.
436
+ * @param relayData The common RelayData TS type.
437
+ * @returns RelayData which conforms to the typing of the SvmSpoke.
438
+ */
439
+ export function toSvmRelayData(relayData: RelayData): SvmSpokeClient.RelayData {
440
+ return {
441
+ originChainId: BigInt(relayData.originChainId),
442
+ depositor: address(relayData.depositor.toBase58()),
443
+ recipient: address(relayData.recipient.toBase58()),
444
+ depositId: ethers.utils.arrayify(ethers.utils.hexZeroPad(relayData.depositId.toHexString(), 32)),
445
+ inputToken: address(relayData.inputToken.toBase58()),
446
+ outputToken: address(relayData.outputToken.toBase58()),
447
+ inputAmount: ethers.utils.arrayify(ethers.utils.hexZeroPad(relayData.inputAmount.toHexString(), 32)),
448
+ outputAmount: relayData.outputAmount.toBigInt(),
449
+ message: Uint8Array.from(Buffer.from(relayData.message.slice(2), "hex")),
450
+ fillDeadline: relayData.fillDeadline,
451
+ exclusiveRelayer: address(relayData.exclusiveRelayer.toBase58()),
452
+ exclusivityDeadline: relayData.exclusivityDeadline,
453
+ };
454
+ }
455
+
433
456
  /**
434
457
  * Returns the PDA for the CCTP nonce.
435
458
  * @param solanaClient The Solana client.
@@ -101,7 +101,7 @@ export class ArweaveClient {
101
101
  const transactionUrl = `${this.gatewayUrl}/${transactionID}`;
102
102
  // We should query in via Axios directly to the gateway URL. The reasoning behind this is
103
103
  // that the Arweave SDK's `getData` method is too slow and does not provide a way to set a timeout.
104
- // Therefore, something that could take milliesconds to complete could take tens of minutes.
104
+ // Therefore, something that could take milliseconds to complete could take tens of minutes.
105
105
  const { data, status: responseStatus } = await axios.get<Record<string, unknown>>(transactionUrl);
106
106
  // Ensure that the result is successful. If it is not, the retrieved value is not our expected type
107
107
  // but rather a {status: string, statusText: string} object. We can detect that and return null.
@@ -216,7 +216,7 @@ export class PoolEventState {
216
216
 
217
217
  // save these events
218
218
  this.processEvents(events);
219
- // only process token receipt events, becasue we just want the l1 token involved with this transfer
219
+ // only process token receipt events, because we just want the l1 token involved with this transfer
220
220
  const eventState = hubPool.getEventState(events);
221
221
  // event state is keyed by l1token address
222
222
  const l1Tokens = Object.keys(eventState);
@@ -68,7 +68,7 @@ export class RateLimitedProvider extends ethers.providers.StaticJsonRpcProvider
68
68
  return result;
69
69
  } catch (error) {
70
70
  // Log errors as well.
71
- // For now, to keep logs light, don't log the error itself, just propogate and let it be handled higher up.
71
+ // For now, to keep logs light, don't log the error itself, just propagate and let it be handled higher up.
72
72
  const elapsedTimeS = (performance.now() - startTime) / 1000;
73
73
  this.logger.debug({
74
74
  ...loggerArgs,
@@ -154,7 +154,7 @@ export abstract class Address {
154
154
  return (this.evmAddress ??= parseRawAddress());
155
155
  }
156
156
 
157
- // Converts the address to a hex string. This method should be overriden by subclasses to obtain more meaningful
157
+ // Converts the address to a hex string. This method should be overridden by subclasses to obtain more meaningful
158
158
  // address representations for the target chain ID.
159
159
  toNative(): string {
160
160
  return this.toBytes32();
@@ -73,7 +73,7 @@ function _createBlockExplorerLinkMarkdown(hex: string, chainId = 1): string | nu
73
73
  ] as [number, string][]) {
74
74
  // If the hex string is the correct length, return the link.
75
75
  if (hex.length === length) {
76
- return `<${constructURL(explorerDomain, [route, hex])}|${shortURLString}>`;
76
+ return `<${constructURL(explorerDomain, [route, hex])} | ${shortURLString}>`;
77
77
  }
78
78
  }
79
79
  return null;
@@ -18,7 +18,7 @@ export function getABIDir(): string {
18
18
  }
19
19
 
20
20
  /**
21
- * @notice Retrieve an ABI desription from the set of known contracts.
21
+ * @notice Retrieve an ABI description from the set of known contracts.
22
22
  * @param contractName Name of the contract ABI to retrieve.
23
23
  * @returns Contract ABI as an ethers ContractInterface type.
24
24
  */