@across-protocol/sdk 4.1.61 → 4.1.62-beta.0

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.
@@ -2,10 +2,9 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getMessageHash = exports.isZeroAddress = exports.isUnsafeDepositId = exports.getRelayHashFromEvent = exports.getRelayDataHash = exports.getDepositRelayData = void 0;
4
4
  var tslib_1 = require("tslib");
5
- var ethers_1 = require("ethers");
5
+ var viem_1 = require("viem");
6
6
  var constants_1 = require("../constants");
7
7
  var AddressUtils_1 = require("./AddressUtils");
8
- var common_1 = require("./common");
9
8
  var BigNumberUtils_1 = require("./BigNumberUtils");
10
9
  var DepositUtils_1 = require("./DepositUtils");
11
10
  function getDepositRelayData(deposit) {
@@ -26,24 +25,28 @@ function getDepositRelayData(deposit) {
26
25
  }
27
26
  exports.getDepositRelayData = getDepositRelayData;
28
27
  function getRelayDataHash(relayData, destinationChainId) {
28
+ var abi = [
29
+ {
30
+ type: "tuple",
31
+ components: [
32
+ { type: "bytes32", name: "depositor" },
33
+ { type: "bytes32", name: "recipient" },
34
+ { type: "bytes32", name: "exclusiveRelayer" },
35
+ { type: "bytes32", name: "inputToken" },
36
+ { type: "bytes32", name: "outputToken" },
37
+ { type: "uint256", name: "inputAmount" },
38
+ { type: "uint256", name: "outputAmount" },
39
+ { type: "uint256", name: "originChainId" },
40
+ { type: "uint256", name: "depositId" },
41
+ { type: "uint32", name: "fillDeadline" },
42
+ { type: "uint32", name: "exclusivityDeadline" },
43
+ { type: "bytes", name: "message" },
44
+ ],
45
+ },
46
+ { type: "uint256", name: "destinationChainId" },
47
+ ];
29
48
  var _relayData = tslib_1.__assign(tslib_1.__assign({}, relayData), { depositor: (0, AddressUtils_1.toBytes32)(relayData.depositor), recipient: (0, AddressUtils_1.toBytes32)(relayData.recipient), inputToken: (0, AddressUtils_1.toBytes32)(relayData.inputToken), outputToken: (0, AddressUtils_1.toBytes32)(relayData.outputToken), exclusiveRelayer: (0, AddressUtils_1.toBytes32)(relayData.exclusiveRelayer) });
30
- return (0, common_1.keccak256)(ethers_1.utils.defaultAbiCoder.encode([
31
- "tuple(" +
32
- "bytes32 depositor," +
33
- "bytes32 recipient," +
34
- "bytes32 exclusiveRelayer," +
35
- "bytes32 inputToken," +
36
- "bytes32 outputToken," +
37
- "uint256 inputAmount," +
38
- "uint256 outputAmount," +
39
- "uint256 originChainId," +
40
- "uint256 depositId," +
41
- "uint32 fillDeadline," +
42
- "uint32 exclusivityDeadline," +
43
- "bytes message" +
44
- ")",
45
- "uint256 destinationChainId",
46
- ], [_relayData, destinationChainId]));
49
+ return (0, viem_1.keccak256)((0, viem_1.encodeAbiParameters)(abi, [_relayData, destinationChainId]));
47
50
  }
48
51
  exports.getRelayDataHash = getRelayDataHash;
49
52
  function getRelayHashFromEvent(e) {
@@ -60,7 +63,7 @@ function isZeroAddress(address) {
60
63
  }
61
64
  exports.isZeroAddress = isZeroAddress;
62
65
  function getMessageHash(message) {
63
- return (0, DepositUtils_1.isMessageEmpty)(message) ? constants_1.ZERO_BYTES : (0, common_1.keccak256)(message);
66
+ return (0, DepositUtils_1.isMessageEmpty)(message) ? constants_1.ZERO_BYTES : (0, viem_1.keccak256)(message);
64
67
  }
65
68
  exports.getMessageHash = getMessageHash;
66
69
  //# sourceMappingURL=SpokeUtils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SpokeUtils.js","sourceRoot":"","sources":["../../../src/utils/SpokeUtils.ts"],"names":[],"mappings":";;;;AAAA,iCAA8C;AAC9C,0CAA6E;AAE7E,+CAA2C;AAC3C,mCAAqC;AACrC,mDAA6C;AAC7C,+CAAgD;AAOhD,SAAgB,mBAAmB,CAAC,OAAqC;IACvE,OAAO;QACL,SAAS,EAAE,IAAA,wBAAS,EAAC,OAAO,CAAC,SAAS,CAAC;QACvC,SAAS,EAAE,IAAA,wBAAS,EAAC,OAAO,CAAC,SAAS,CAAC;QACvC,gBAAgB,EAAE,IAAA,wBAAS,EAAC,OAAO,CAAC,gBAAgB,CAAC;QACrD,UAAU,EAAE,IAAA,wBAAS,EAAC,OAAO,CAAC,UAAU,CAAC;QACzC,WAAW,EAAE,IAAA,wBAAS,EAAC,OAAO,CAAC,WAAW,CAAC;QAC3C,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,mBAAmB,EAAE,OAAO,CAAC,mBAAmB;QAChD,OAAO,EAAE,OAAO,CAAC,OAAO;KACzB,CAAC;AACJ,CAAC;AAfD,kDAeC;AAQD,SAAgB,gBAAgB,CAAC,SAAoB,EAAE,kBAA0B;IAC/E,IAAM,UAAU,yCACX,SAAS,KACZ,SAAS,EAAE,IAAA,wBAAS,EAAC,SAAS,CAAC,SAAS,CAAC,EACzC,SAAS,EAAE,IAAA,wBAAS,EAAC,SAAS,CAAC,SAAS,CAAC,EACzC,UAAU,EAAE,IAAA,wBAAS,EAAC,SAAS,CAAC,UAAU,CAAC,EAC3C,WAAW,EAAE,IAAA,wBAAS,EAAC,SAAS,CAAC,WAAW,CAAC,EAC7C,gBAAgB,EAAE,IAAA,wBAAS,EAAC,SAAS,CAAC,gBAAgB,CAAC,GACxD,CAAC;IACF,OAAO,IAAA,kBAAS,EACd,cAAW,CAAC,eAAe,CAAC,MAAM,CAChC;QACE,QAAQ;YACN,oBAAoB;YACpB,oBAAoB;YACpB,2BAA2B;YAC3B,qBAAqB;YACrB,sBAAsB;YACtB,sBAAsB;YACtB,uBAAuB;YACvB,wBAAwB;YACxB,oBAAoB;YACpB,sBAAsB;YACtB,6BAA6B;YAC7B,eAAe;YACf,GAAG;QACL,4BAA4B;KAC7B,EACD,CAAC,UAAU,EAAE,kBAAkB,CAAC,CACjC,CACF,CAAC;AACJ,CAAC;AA/BD,4CA+BC;AAED,SAAgB,qBAAqB,CAAC,CAA6C;IACjF,OAAO,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,kBAAkB,CAAC,CAAC;AACnD,CAAC;AAFD,sDAEC;AAED,SAAgB,iBAAiB,CAAC,SAAoB;IAMpD,IAAM,gBAAgB,GAAG,0BAAS,CAAC,IAAI,CAAC,+BAAmB,CAAC,CAAC;IAC7D,OAAO,gBAAgB,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;AACxC,CAAC;AARD,8CAQC;AAGD,SAAgB,aAAa,CAAC,OAAe;IAC3C,OAAO,OAAO,KAAK,wBAAY,IAAI,OAAO,KAAK,sBAAU,CAAC;AAC5D,CAAC;AAFD,sCAEC;AAED,SAAgB,cAAc,CAAC,OAAe;IAC5C,OAAO,IAAA,6BAAc,EAAC,OAAO,CAAC,CAAC,CAAC,CAAC,sBAAU,CAAC,CAAC,CAAC,IAAA,kBAAS,EAAC,OAAO,CAAC,CAAC;AACnE,CAAC;AAFD,wCAEC"}
1
+ {"version":3,"file":"SpokeUtils.js","sourceRoot":"","sources":["../../../src/utils/SpokeUtils.ts"],"names":[],"mappings":"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"}
@@ -783,5 +783,5 @@ export declare function getTokenInfo(l2TokenAddress: string, chainId: number, to
783
783
  };
784
784
  }): L1Token;
785
785
  export declare function getUsdcSymbol(l2Token: string, chainId: number): string | undefined;
786
- export declare function getL1TokenInfo(l2TokenAddress: string, chainId: number): L1Token;
786
+ export declare function getL1TokenAddress(l2TokenAddress: string, chainId: number): string;
787
787
  export {};
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getL1TokenInfo = exports.getUsdcSymbol = exports.getTokenInfo = exports.isStablecoin = exports.isBridgedUsdc = exports.getTokenBalance = exports.getCoingeckoTokenIdByAddress = exports.resolveContractFromSymbol = exports.resolveSymbolOnChain = exports.getL2TokenAddresses = exports.fetchTokenInfo = void 0;
3
+ exports.getL1TokenAddress = exports.getUsdcSymbol = exports.getTokenInfo = exports.isStablecoin = exports.isBridgedUsdc = exports.getTokenBalance = exports.getCoingeckoTokenIdByAddress = exports.resolveContractFromSymbol = exports.resolveSymbolOnChain = exports.getL2TokenAddresses = exports.fetchTokenInfo = void 0;
4
4
  var tslib_1 = require("tslib");
5
5
  var ethers_1 = require("ethers");
6
6
  var constants = tslib_1.__importStar(require("../constants"));
@@ -103,9 +103,9 @@ function getUsdcSymbol(l2Token, chainId) {
103
103
  });
104
104
  }
105
105
  exports.getUsdcSymbol = getUsdcSymbol;
106
- function getL1TokenInfo(l2TokenAddress, chainId) {
106
+ function getL1TokenAddress(l2TokenAddress, chainId) {
107
107
  if ((0, NetworkUtils_1.chainIsL1)(chainId))
108
- throw new Error("chainId should be an L2 chainId because many mappings re-use the same L1 token address");
108
+ return l2TokenAddress;
109
109
  var tokenObject = Object.values(TOKEN_SYMBOLS_MAP).find(function (_a) {
110
110
  var addresses = _a.addresses;
111
111
  return addresses[chainId] === l2TokenAddress;
@@ -114,11 +114,7 @@ function getL1TokenInfo(l2TokenAddress, chainId) {
114
114
  if (!l1TokenAddress) {
115
115
  throw new Error("TokenUtils#getL1TokenInfo: Unable to resolve l1 token address in TOKEN_SYMBOLS_MAP for L2 token ".concat(l2TokenAddress, " on chain ").concat(chainId));
116
116
  }
117
- return {
118
- address: l1TokenAddress,
119
- symbol: tokenObject.symbol,
120
- decimals: tokenObject.decimals,
121
- };
117
+ return l1TokenAddress;
122
118
  }
123
- exports.getL1TokenInfo = getL1TokenInfo;
119
+ exports.getL1TokenAddress = getL1TokenAddress;
124
120
  //# sourceMappingURL=TokenUtils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TokenUtils.js","sourceRoot":"","sources":["../../../src/utils/TokenUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TokenUtils.js","sourceRoot":"","sources":["../../../src/utils/TokenUtils.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,7 @@
1
1
  import { __assign } from "tslib";
2
- import { utils as ethersUtils } from "ethers";
2
+ import { encodeAbiParameters, keccak256 } from "viem";
3
3
  import { MAX_SAFE_DEPOSIT_ID, ZERO_ADDRESS, ZERO_BYTES } from "../constants";
4
4
  import { toBytes32 } from "./AddressUtils";
5
- import { keccak256 } from "./common";
6
5
  import { BigNumber } from "./BigNumberUtils";
7
6
  import { isMessageEmpty } from "./DepositUtils";
8
7
  /**
@@ -33,24 +32,28 @@ export function getDepositRelayData(deposit) {
33
32
  * @returns The corresponding RelayData hash.
34
33
  */
35
34
  export function getRelayDataHash(relayData, destinationChainId) {
35
+ var abi = [
36
+ {
37
+ type: "tuple",
38
+ components: [
39
+ { type: "bytes32", name: "depositor" },
40
+ { type: "bytes32", name: "recipient" },
41
+ { type: "bytes32", name: "exclusiveRelayer" },
42
+ { type: "bytes32", name: "inputToken" },
43
+ { type: "bytes32", name: "outputToken" },
44
+ { type: "uint256", name: "inputAmount" },
45
+ { type: "uint256", name: "outputAmount" },
46
+ { type: "uint256", name: "originChainId" },
47
+ { type: "uint256", name: "depositId" },
48
+ { type: "uint32", name: "fillDeadline" },
49
+ { type: "uint32", name: "exclusivityDeadline" },
50
+ { type: "bytes", name: "message" },
51
+ ],
52
+ },
53
+ { type: "uint256", name: "destinationChainId" },
54
+ ];
36
55
  var _relayData = __assign(__assign({}, relayData), { depositor: toBytes32(relayData.depositor), recipient: toBytes32(relayData.recipient), inputToken: toBytes32(relayData.inputToken), outputToken: toBytes32(relayData.outputToken), exclusiveRelayer: toBytes32(relayData.exclusiveRelayer) });
37
- return keccak256(ethersUtils.defaultAbiCoder.encode([
38
- "tuple(" +
39
- "bytes32 depositor," +
40
- "bytes32 recipient," +
41
- "bytes32 exclusiveRelayer," +
42
- "bytes32 inputToken," +
43
- "bytes32 outputToken," +
44
- "uint256 inputAmount," +
45
- "uint256 outputAmount," +
46
- "uint256 originChainId," +
47
- "uint256 depositId," +
48
- "uint32 fillDeadline," +
49
- "uint32 exclusivityDeadline," +
50
- "bytes message" +
51
- ")",
52
- "uint256 destinationChainId",
53
- ], [_relayData, destinationChainId]));
56
+ return keccak256(encodeAbiParameters(abi, [_relayData, destinationChainId]));
54
57
  }
55
58
  export function getRelayHashFromEvent(e) {
56
59
  return getRelayDataHash(e, e.destinationChainId);
@@ -1 +1 @@
1
- {"version":3,"file":"SpokeUtils.js","sourceRoot":"","sources":["../../../src/utils/SpokeUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SpokeUtils.js","sourceRoot":"","sources":["../../../src/utils/SpokeUtils.ts"],"names":[],"mappings":"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"}
@@ -419,6 +419,15 @@ export declare function getCoingeckoTokenIdByAddress(contractAddress: string, ch
419
419
  export declare function getTokenBalance(address: string, tokenAddress: string, signerOrProvider: SignerOrProvider, blockTag?: BlockTag): Promise<BigNumber>;
420
420
  export declare function isBridgedUsdc(tokenSymbol: string): boolean;
421
421
  export declare function isStablecoin(tokenSymbol: string): boolean;
422
+ /**
423
+ * @notice Returns the Token info for the token mapping in TOKEN_SYMBOLS_MAP matching the given l2TokenAddress
424
+ * and chainId. If the chain is the hub chain, then will remap the L1 token to its equivalent L1 token symbol for example
425
+ * it will always return a token info with symbol USDC and never USDC.e if chainId = mainnet.
426
+ * @param l2TokenAddress
427
+ * @param chainId
428
+ * @param tokenMapping
429
+ * @returns
430
+ */
422
431
  export declare function getTokenInfo(l2TokenAddress: string, chainId: number, tokenMapping?: {
423
432
  ACX: {
424
433
  name: string;
@@ -811,5 +820,8 @@ export declare function getTokenInfo(l2TokenAddress: string, chainId: number, to
811
820
  * @returns Either USDC (if native) or USDbC/USDC.e (if bridged) or undefined if the token address is not recognized.
812
821
  */
813
822
  export declare function getUsdcSymbol(l2Token: string, chainId: number): string | undefined;
814
- export declare function getL1TokenInfo(l2TokenAddress: string, chainId: number): L1Token;
823
+ /**
824
+ * @notice Returns the l1 token address matching the given l2TokenAddress and chainId.
825
+ */
826
+ export declare function getL1TokenAddress(l2TokenAddress: string, chainId: number): string;
815
827
  export {};
@@ -86,6 +86,15 @@ export function isBridgedUsdc(tokenSymbol) {
86
86
  export function isStablecoin(tokenSymbol) {
87
87
  return constants.STABLE_COIN_SYMBOLS.some(function (stablecoinSymbol) { return stablecoinSymbol.toLowerCase() === tokenSymbol.toLowerCase(); });
88
88
  }
89
+ /**
90
+ * @notice Returns the Token info for the token mapping in TOKEN_SYMBOLS_MAP matching the given l2TokenAddress
91
+ * and chainId. If the chain is the hub chain, then will remap the L1 token to its equivalent L1 token symbol for example
92
+ * it will always return a token info with symbol USDC and never USDC.e if chainId = mainnet.
93
+ * @param l2TokenAddress
94
+ * @param chainId
95
+ * @param tokenMapping
96
+ * @returns
97
+ */
89
98
  export function getTokenInfo(l2TokenAddress, chainId, tokenMapping) {
90
99
  var _a;
91
100
  if (tokenMapping === void 0) { tokenMapping = TOKEN_SYMBOLS_MAP; }
@@ -121,9 +130,12 @@ export function getUsdcSymbol(l2Token, chainId) {
121
130
  return compareToken((_b = (_a = TOKEN_SYMBOLS_MAP[token]) === null || _a === void 0 ? void 0 : _a.addresses) === null || _b === void 0 ? void 0 : _b[chainId]);
122
131
  });
123
132
  }
124
- export function getL1TokenInfo(l2TokenAddress, chainId) {
133
+ /**
134
+ * @notice Returns the l1 token address matching the given l2TokenAddress and chainId.
135
+ */
136
+ export function getL1TokenAddress(l2TokenAddress, chainId) {
125
137
  if (chainIsL1(chainId))
126
- throw new Error("chainId should be an L2 chainId because many mappings re-use the same L1 token address");
138
+ return l2TokenAddress;
127
139
  var tokenObject = Object.values(TOKEN_SYMBOLS_MAP).find(function (_a) {
128
140
  var addresses = _a.addresses;
129
141
  return addresses[chainId] === l2TokenAddress;
@@ -132,10 +144,6 @@ export function getL1TokenInfo(l2TokenAddress, chainId) {
132
144
  if (!l1TokenAddress) {
133
145
  throw new Error("TokenUtils#getL1TokenInfo: Unable to resolve l1 token address in TOKEN_SYMBOLS_MAP for L2 token ".concat(l2TokenAddress, " on chain ").concat(chainId));
134
146
  }
135
- return {
136
- address: l1TokenAddress,
137
- symbol: tokenObject.symbol,
138
- decimals: tokenObject.decimals,
139
- };
147
+ return l1TokenAddress;
140
148
  }
141
149
  //# sourceMappingURL=TokenUtils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TokenUtils.js","sourceRoot":"","sources":["../../../src/utils/TokenUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TokenUtils.js","sourceRoot":"","sources":["../../../src/utils/TokenUtils.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"SpokeUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/SpokeUtils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAGnD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAG7C;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,GAAG,SAAS,CAepF;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,GAAG,MAAM,CA+BzF;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;AAGD,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAEtD;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEtD"}
1
+ {"version":3,"file":"SpokeUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/SpokeUtils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAEnD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAG7C;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,GAAG,SAAS,CAepF;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,GAAG,MAAM,CAgCzF;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;AAGD,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAEtD;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEtD"}
@@ -419,6 +419,15 @@ export declare function getCoingeckoTokenIdByAddress(contractAddress: string, ch
419
419
  export declare function getTokenBalance(address: string, tokenAddress: string, signerOrProvider: SignerOrProvider, blockTag?: BlockTag): Promise<BigNumber>;
420
420
  export declare function isBridgedUsdc(tokenSymbol: string): boolean;
421
421
  export declare function isStablecoin(tokenSymbol: string): boolean;
422
+ /**
423
+ * @notice Returns the Token info for the token mapping in TOKEN_SYMBOLS_MAP matching the given l2TokenAddress
424
+ * and chainId. If the chain is the hub chain, then will remap the L1 token to its equivalent L1 token symbol for example
425
+ * it will always return a token info with symbol USDC and never USDC.e if chainId = mainnet.
426
+ * @param l2TokenAddress
427
+ * @param chainId
428
+ * @param tokenMapping
429
+ * @returns
430
+ */
422
431
  export declare function getTokenInfo(l2TokenAddress: string, chainId: number, tokenMapping?: {
423
432
  ACX: {
424
433
  name: string;
@@ -811,6 +820,9 @@ export declare function getTokenInfo(l2TokenAddress: string, chainId: number, to
811
820
  * @returns Either USDC (if native) or USDbC/USDC.e (if bridged) or undefined if the token address is not recognized.
812
821
  */
813
822
  export declare function getUsdcSymbol(l2Token: string, chainId: number): string | undefined;
814
- export declare function getL1TokenInfo(l2TokenAddress: string, chainId: number): L1Token;
823
+ /**
824
+ * @notice Returns the l1 token address matching the given l2TokenAddress and chainId.
825
+ */
826
+ export declare function getL1TokenAddress(l2TokenAddress: string, chainId: number): string;
815
827
  export {};
816
828
  //# sourceMappingURL=TokenUtils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TokenUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/TokenUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAC5D,OAAO,EAAY,SAAS,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAErD,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAM7C,KAAK,gBAAgB,GAAG,SAAS,CAAC,QAAQ,GAAG,MAAM,CAAC;AAEpD,wBAAsB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC,CAI1G;AAED,eAAO,MAAM,mBAAmB,mBACd,MAAM;;aAMvB,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAY7E;AAED;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB,WAC5B,MAAM,WACL,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAEd,MAAM,GAAG,SAIX,CAAC;AAEF,wBAAgB,4BAA4B,CAAC,eAAe,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAM7F;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,EACpB,gBAAgB,EAAE,gBAAgB,EAClC,QAAQ,GAAE,QAAmB,GAC5B,OAAO,CAAC,SAAS,CAAC,CAGpB;AAED,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAI1D;AAED,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAIzD;AAED,wBAAgB,YAAY,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAoB,GAAG,OAAO,CAkB/G;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAOlF;AAED,wBAAgB,cAAc,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAe/E"}
1
+ {"version":3,"file":"TokenUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/TokenUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAC5D,OAAO,EAAY,SAAS,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAErD,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAM7C,KAAK,gBAAgB,GAAG,SAAS,CAAC,QAAQ,GAAG,MAAM,CAAC;AAEpD,wBAAsB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC,CAI1G;AAED,eAAO,MAAM,mBAAmB,mBACd,MAAM;;aAMvB,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAY7E;AAED;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB,WAC5B,MAAM,WACL,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAEd,MAAM,GAAG,SAIX,CAAC;AAEF,wBAAgB,4BAA4B,CAAC,eAAe,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAM7F;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,EACpB,gBAAgB,EAAE,gBAAgB,EAClC,QAAQ,GAAE,QAAmB,GAC5B,OAAO,CAAC,SAAS,CAAC,CAGpB;AAED,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAI1D;AAED,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAIzD;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAoB,GAAG,OAAO,CAkB/G;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAOlF;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAUjF"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@across-protocol/sdk",
3
3
  "author": "UMA Team",
4
- "version": "4.1.61",
4
+ "version": "4.1.62-beta.0",
5
5
  "license": "AGPL-3.0",
6
6
  "homepage": "https://docs.across.to/reference/sdk",
7
7
  "files": [
@@ -1,8 +1,7 @@
1
- import { utils as ethersUtils } from "ethers";
1
+ import { encodeAbiParameters, keccak256 } from "viem";
2
2
  import { MAX_SAFE_DEPOSIT_ID, ZERO_ADDRESS, ZERO_BYTES } from "../constants";
3
3
  import { Deposit, RelayData } from "../interfaces";
4
4
  import { toBytes32 } from "./AddressUtils";
5
- import { keccak256 } from "./common";
6
5
  import { BigNumber } from "./BigNumberUtils";
7
6
  import { isMessageEmpty } from "./DepositUtils";
8
7
 
@@ -35,6 +34,27 @@ export function getDepositRelayData(deposit: Omit<Deposit, "messageHash">): Rela
35
34
  * @returns The corresponding RelayData hash.
36
35
  */
37
36
  export function getRelayDataHash(relayData: RelayData, destinationChainId: number): string {
37
+ const abi = [
38
+ {
39
+ type: "tuple",
40
+ components: [
41
+ { type: "bytes32", name: "depositor" },
42
+ { type: "bytes32", name: "recipient" },
43
+ { type: "bytes32", name: "exclusiveRelayer" },
44
+ { type: "bytes32", name: "inputToken" },
45
+ { type: "bytes32", name: "outputToken" },
46
+ { type: "uint256", name: "inputAmount" },
47
+ { type: "uint256", name: "outputAmount" },
48
+ { type: "uint256", name: "originChainId" },
49
+ { type: "uint256", name: "depositId" },
50
+ { type: "uint32", name: "fillDeadline" },
51
+ { type: "uint32", name: "exclusivityDeadline" },
52
+ { type: "bytes", name: "message" },
53
+ ],
54
+ },
55
+ { type: "uint256", name: "destinationChainId" },
56
+ ];
57
+
38
58
  const _relayData = {
39
59
  ...relayData,
40
60
  depositor: toBytes32(relayData.depositor),
@@ -43,28 +63,8 @@ export function getRelayDataHash(relayData: RelayData, destinationChainId: numbe
43
63
  outputToken: toBytes32(relayData.outputToken),
44
64
  exclusiveRelayer: toBytes32(relayData.exclusiveRelayer),
45
65
  };
46
- return keccak256(
47
- ethersUtils.defaultAbiCoder.encode(
48
- [
49
- "tuple(" +
50
- "bytes32 depositor," +
51
- "bytes32 recipient," +
52
- "bytes32 exclusiveRelayer," +
53
- "bytes32 inputToken," +
54
- "bytes32 outputToken," +
55
- "uint256 inputAmount," +
56
- "uint256 outputAmount," +
57
- "uint256 originChainId," +
58
- "uint256 depositId," +
59
- "uint32 fillDeadline," +
60
- "uint32 exclusivityDeadline," +
61
- "bytes message" +
62
- ")",
63
- "uint256 destinationChainId",
64
- ],
65
- [_relayData, destinationChainId]
66
- )
67
- );
66
+
67
+ return keccak256(encodeAbiParameters(abi, [_relayData, destinationChainId]));
68
68
  }
69
69
 
70
70
  export function getRelayHashFromEvent(e: RelayData & { destinationChainId: number }): string {
@@ -87,5 +87,5 @@ export function isZeroAddress(address: string): boolean {
87
87
  }
88
88
 
89
89
  export function getMessageHash(message: string): string {
90
- return isMessageEmpty(message) ? ZERO_BYTES : keccak256(message);
90
+ return isMessageEmpty(message) ? ZERO_BYTES : keccak256(message as "0x{string}");
91
91
  }
@@ -102,6 +102,15 @@ export function isStablecoin(tokenSymbol: string): boolean {
102
102
  );
103
103
  }
104
104
 
105
+ /**
106
+ * @notice Returns the Token info for the token mapping in TOKEN_SYMBOLS_MAP matching the given l2TokenAddress
107
+ * and chainId. If the chain is the hub chain, then will remap the L1 token to its equivalent L1 token symbol for example
108
+ * it will always return a token info with symbol USDC and never USDC.e if chainId = mainnet.
109
+ * @param l2TokenAddress
110
+ * @param chainId
111
+ * @param tokenMapping
112
+ * @returns
113
+ */
105
114
  export function getTokenInfo(l2TokenAddress: string, chainId: number, tokenMapping = TOKEN_SYMBOLS_MAP): L1Token {
106
115
  // @dev This might give false positives if tokens on different networks have the same address. I'm not sure how
107
116
  // to get around this...
@@ -137,9 +146,11 @@ export function getUsdcSymbol(l2Token: string, chainId: number): string | undefi
137
146
  );
138
147
  }
139
148
 
140
- export function getL1TokenInfo(l2TokenAddress: string, chainId: number): L1Token {
141
- if (chainIsL1(chainId))
142
- throw new Error("chainId should be an L2 chainId because many mappings re-use the same L1 token address");
149
+ /**
150
+ * @notice Returns the l1 token address matching the given l2TokenAddress and chainId.
151
+ */
152
+ export function getL1TokenAddress(l2TokenAddress: string, chainId: number): string {
153
+ if (chainIsL1(chainId)) return l2TokenAddress;
143
154
  const tokenObject = Object.values(TOKEN_SYMBOLS_MAP).find(({ addresses }) => addresses[chainId] === l2TokenAddress);
144
155
  const l1TokenAddress = tokenObject?.addresses[chainIsProd(chainId) ? CHAIN_IDs.MAINNET : CHAIN_IDs.SEPOLIA];
145
156
  if (!l1TokenAddress) {
@@ -147,9 +158,5 @@ export function getL1TokenInfo(l2TokenAddress: string, chainId: number): L1Token
147
158
  `TokenUtils#getL1TokenInfo: Unable to resolve l1 token address in TOKEN_SYMBOLS_MAP for L2 token ${l2TokenAddress} on chain ${chainId}`
148
159
  );
149
160
  }
150
- return {
151
- address: l1TokenAddress,
152
- symbol: tokenObject.symbol,
153
- decimals: tokenObject.decimals,
154
- };
161
+ return l1TokenAddress;
155
162
  }