@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.
- package/dist/cjs/utils/SpokeUtils.js +23 -20
- package/dist/cjs/utils/SpokeUtils.js.map +1 -1
- package/dist/cjs/utils/TokenUtils.d.ts +1 -1
- package/dist/cjs/utils/TokenUtils.js +5 -9
- package/dist/cjs/utils/TokenUtils.js.map +1 -1
- package/dist/esm/utils/SpokeUtils.js +22 -19
- package/dist/esm/utils/SpokeUtils.js.map +1 -1
- package/dist/esm/utils/TokenUtils.d.ts +13 -1
- package/dist/esm/utils/TokenUtils.js +15 -7
- package/dist/esm/utils/TokenUtils.js.map +1 -1
- package/dist/types/utils/SpokeUtils.d.ts.map +1 -1
- package/dist/types/utils/TokenUtils.d.ts +13 -1
- package/dist/types/utils/TokenUtils.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/utils/SpokeUtils.ts +25 -25
- package/src/utils/TokenUtils.ts +15 -8
|
@@ -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
|
|
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,
|
|
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,
|
|
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,
|
|
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
|
|
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.
|
|
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
|
|
106
|
+
function getL1TokenAddress(l2TokenAddress, chainId) {
|
|
107
107
|
if ((0, NetworkUtils_1.chainIsL1)(chainId))
|
|
108
|
-
|
|
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.
|
|
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":";;;;AACA,iCAAqD;AACrD,8DAA0C;AAE1C,0CAA8C;AAE9C,+CAAwE;AACxE,2CAAyC;AACzC,+CAAwD;AAChD,IAAA,iBAAiB,GAA6C,SAAS,kBAAtD,EAAE,SAAS,GAAkC,SAAS,UAA3C,EAAE,2BAA2B,GAAK,SAAS,4BAAd,CAAe;AAIhF,SAAsB,cAAc,CAAC,OAAe,EAAE,gBAAkC;;;;;;oBAChF,KAAK,GAAG,IAAI,iBAAQ,CAAC,OAAO,EAAE,0BAAc,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;oBAC/C,WAAM,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAA;;oBAA1E,KAAqB,SAAqD,EAAzE,MAAM,QAAA,EAAE,QAAQ,QAAA;oBACvB,WAAO,EAAE,OAAO,SAAA,EAAE,MAAM,QAAA,EAAE,QAAQ,UAAA,EAAE,EAAC;;;;CACtC;AAJD,wCAIC;AAEM,IAAM,mBAAmB,GAAG,UACjC,cAAsB,EACtB,SAA6B;;IAA7B,0BAAA,EAAA,YAAY,SAAS,CAAC,OAAO;IAE7B,OAAO,MAAA,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,UAAC,OAAO;QACnD,OAAO,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,cAAc,CAAC;IACzD,CAAC,CAAC,0CAAE,SAAS,CAAC;AAChB,CAAC,CAAC;AAPW,QAAA,mBAAmB,uBAO9B;AASF,SAAgB,oBAAoB,CAAC,OAAe,EAAE,MAAc;IAElE,IAAM,KAAK,GAAG,iBAAiB,CAAC,MAAwC,CAAC,CAAC;IAC1E,IAAI,CAAC,IAAA,sBAAS,EAAC,KAAK,CAAC,IAAI,CAAC,IAAA,sBAAS,EAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE;QAC7D,IAAM,OAAO,GAAG,IAAA,6BAAc,EAAC,OAAO,CAAC,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,+BAAwB,MAAM,iBAAO,OAAO,wBAAc,OAAO,CAAE,CAAC,CAAC;KACtF;IAEO,IAAA,QAAQ,GAAgB,KAAK,SAArB,EAAE,SAAS,GAAK,KAAK,UAAV,CAAW;IACtC,IAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;IAEnC,OAAO,EAAE,MAAM,QAAA,EAAE,QAAQ,UAAA,EAAE,OAAO,SAAA,EAAE,CAAC;AACvC,CAAC;AAZD,oDAYC;AASM,IAAM,yBAAyB,GAAG,UACvC,MAAc,EACd,OAAe,EACf,YAAgC;;IAAhC,6BAAA,EAAA,gCAAgC;IAEhC,OAAO,MAAA,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,UAAC,OAAO;QAC9C,OAAO,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,WAAW,EAAE,CAAC;IAC/D,CAAC,CAAC,0CAAE,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;AACjC,CAAC,CAAC;AARW,QAAA,yBAAyB,6BAQpC;AAEF,SAAgB,4BAA4B,CAAC,eAAuB,EAAE,OAAe;IACnF,IAAM,KAAK,GAAG,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;IACrD,IAAI,CAAC,KAAK,EAAE;QACV,MAAM,IAAI,KAAK,CAAC,6BAAsB,eAAe,gCAA6B,CAAC,CAAC;KACrF;IACD,OAAO,iBAAiB,CAAC,KAAK,CAAC,MAAwC,CAAC,CAAC,WAAW,CAAC;AACvF,CAAC;AAND,oEAMC;AAUD,SAAgB,eAAe,CAC7B,OAAe,EACf,YAAoB,EACpB,gBAAkC,EAClC,QAA6B;IAA7B,yBAAA,EAAA,mBAA6B;IAE7B,IAAM,KAAK,GAAG,0BAAc,CAAC,OAAO,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;IACrE,OAAO,KAAK,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,QAAQ,UAAA,EAAE,CAAC,CAAC;AAChD,CAAC;AARD,0CAQC;AAED,SAAgB,aAAa,CAAC,WAAmB;IAC/C,OAAO,CAAC,CAAC,SAAS,CAAC,oBAAoB,CAAC,IAAI,CAC1C,UAAC,iBAAiB,IAAK,OAAA,iBAAiB,CAAC,WAAW,EAAE,KAAK,WAAW,CAAC,WAAW,EAAE,EAA7D,CAA6D,CACrF,CAAC;AACJ,CAAC;AAJD,sCAIC;AAED,SAAgB,YAAY,CAAC,WAAmB;IAC9C,OAAO,SAAS,CAAC,mBAAmB,CAAC,IAAI,CACvC,UAAC,gBAAgB,IAAK,OAAA,gBAAgB,CAAC,WAAW,EAAE,KAAK,WAAW,CAAC,WAAW,EAAE,EAA5D,CAA4D,CACnF,CAAC;AACJ,CAAC;AAJD,oCAIC;
|
|
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 {
|
|
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(
|
|
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":";AAAA,OAAO,EAAE,
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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;
|
|
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
|
-
|
|
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,
|
|
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
package/src/utils/SpokeUtils.ts
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import {
|
|
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
|
-
|
|
47
|
-
|
|
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
|
}
|
package/src/utils/TokenUtils.ts
CHANGED
|
@@ -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
|
-
|
|
141
|
-
|
|
142
|
-
|
|
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
|
}
|