@across-protocol/sdk 4.2.16-alpha.4 → 4.2.16-alpha.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/arch/svm/SpokeUtils.d.ts +1 -1
- package/dist/cjs/arch/svm/SpokeUtils.js.map +1 -1
- package/dist/cjs/arch/svm/eventsClient.js +4 -2
- package/dist/cjs/arch/svm/eventsClient.js.map +1 -1
- package/dist/cjs/arch/svm/utils.js +1 -1
- package/dist/cjs/arch/svm/utils.js.map +1 -1
- package/dist/cjs/clients/BundleDataClient/utils/SuperstructUtils.d.ts +63 -63
- package/dist/cjs/clients/BundleDataClient/utils/SuperstructUtils.js +4 -2
- package/dist/cjs/clients/BundleDataClient/utils/SuperstructUtils.js.map +1 -1
- package/dist/cjs/clients/HubPoolClient.js +4 -3
- package/dist/cjs/clients/HubPoolClient.js.map +1 -1
- package/dist/cjs/clients/SpokePoolClient/SpokePoolClient.js +2 -1
- package/dist/cjs/clients/SpokePoolClient/SpokePoolClient.js.map +1 -1
- package/dist/cjs/clients/mocks/MockSvmCpiEventsClient.d.ts +1 -1
- package/dist/cjs/clients/mocks/MockSvmCpiEventsClient.js +6 -4
- package/dist/cjs/clients/mocks/MockSvmCpiEventsClient.js.map +1 -1
- package/dist/cjs/relayFeeCalculator/chain-queries/baseQuery.d.ts +6 -2
- package/dist/cjs/relayFeeCalculator/chain-queries/baseQuery.js +13 -4
- package/dist/cjs/relayFeeCalculator/chain-queries/baseQuery.js.map +1 -1
- package/dist/cjs/relayFeeCalculator/chain-queries/svmQuery.d.ts +5 -1
- package/dist/cjs/relayFeeCalculator/chain-queries/svmQuery.js +24 -12
- package/dist/cjs/relayFeeCalculator/chain-queries/svmQuery.js.map +1 -1
- package/dist/cjs/utils/AddressUtils.d.ts +12 -8
- package/dist/cjs/utils/AddressUtils.js +33 -36
- package/dist/cjs/utils/AddressUtils.js.map +1 -1
- package/dist/cjs/utils/TokenUtils.js +5 -3
- package/dist/cjs/utils/TokenUtils.js.map +1 -1
- package/dist/esm/arch/svm/SpokeUtils.d.ts +1 -1
- package/dist/esm/arch/svm/SpokeUtils.js.map +1 -1
- package/dist/esm/arch/svm/eventsClient.js +5 -3
- package/dist/esm/arch/svm/eventsClient.js.map +1 -1
- package/dist/esm/arch/svm/utils.js +2 -2
- package/dist/esm/arch/svm/utils.js.map +1 -1
- package/dist/esm/clients/BundleDataClient/utils/SuperstructUtils.d.ts +63 -63
- package/dist/esm/clients/BundleDataClient/utils/SuperstructUtils.js +11 -4
- package/dist/esm/clients/BundleDataClient/utils/SuperstructUtils.js.map +1 -1
- package/dist/esm/clients/HubPoolClient.js +4 -3
- package/dist/esm/clients/HubPoolClient.js.map +1 -1
- package/dist/esm/clients/SpokePoolClient/SpokePoolClient.js +2 -1
- package/dist/esm/clients/SpokePoolClient/SpokePoolClient.js.map +1 -1
- package/dist/esm/clients/mocks/MockSvmCpiEventsClient.d.ts +1 -1
- package/dist/esm/clients/mocks/MockSvmCpiEventsClient.js +7 -5
- package/dist/esm/clients/mocks/MockSvmCpiEventsClient.js.map +1 -1
- package/dist/esm/relayFeeCalculator/chain-queries/baseQuery.d.ts +6 -2
- package/dist/esm/relayFeeCalculator/chain-queries/baseQuery.js +13 -4
- package/dist/esm/relayFeeCalculator/chain-queries/baseQuery.js.map +1 -1
- package/dist/esm/relayFeeCalculator/chain-queries/svmQuery.d.ts +7 -2
- package/dist/esm/relayFeeCalculator/chain-queries/svmQuery.js +28 -14
- package/dist/esm/relayFeeCalculator/chain-queries/svmQuery.js.map +1 -1
- package/dist/esm/utils/AddressUtils.d.ts +12 -8
- package/dist/esm/utils/AddressUtils.js +36 -38
- package/dist/esm/utils/AddressUtils.js.map +1 -1
- package/dist/esm/utils/TokenUtils.d.ts +16 -0
- package/dist/esm/utils/TokenUtils.js +6 -4
- package/dist/esm/utils/TokenUtils.js.map +1 -1
- package/dist/types/arch/svm/SpokeUtils.d.ts +1 -1
- package/dist/types/arch/svm/SpokeUtils.d.ts.map +1 -1
- package/dist/types/arch/svm/eventsClient.d.ts.map +1 -1
- package/dist/types/arch/svm/utils.d.ts.map +1 -1
- package/dist/types/clients/BundleDataClient/utils/SuperstructUtils.d.ts +63 -63
- package/dist/types/clients/BundleDataClient/utils/SuperstructUtils.d.ts.map +1 -1
- package/dist/types/clients/HubPoolClient.d.ts.map +1 -1
- package/dist/types/clients/SpokePoolClient/SpokePoolClient.d.ts.map +1 -1
- package/dist/types/clients/mocks/MockSvmCpiEventsClient.d.ts +1 -1
- package/dist/types/clients/mocks/MockSvmCpiEventsClient.d.ts.map +1 -1
- package/dist/types/relayFeeCalculator/chain-queries/baseQuery.d.ts +6 -2
- package/dist/types/relayFeeCalculator/chain-queries/baseQuery.d.ts.map +1 -1
- package/dist/types/relayFeeCalculator/chain-queries/svmQuery.d.ts +7 -2
- package/dist/types/relayFeeCalculator/chain-queries/svmQuery.d.ts.map +1 -1
- package/dist/types/utils/AddressUtils.d.ts +12 -8
- package/dist/types/utils/AddressUtils.d.ts.map +1 -1
- package/dist/types/utils/TokenUtils.d.ts +16 -0
- package/dist/types/utils/TokenUtils.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/arch/svm/SpokeUtils.ts +4 -1
- package/src/arch/svm/eventsClient.ts +40 -8
- package/src/arch/svm/utils.ts +2 -2
- package/src/clients/BundleDataClient/utils/SuperstructUtils.ts +12 -4
- package/src/clients/HubPoolClient.ts +5 -4
- package/src/clients/SpokePoolClient/SpokePoolClient.ts +4 -1
- package/src/clients/mocks/MockSvmCpiEventsClient.ts +8 -5
- package/src/relayFeeCalculator/chain-queries/baseQuery.ts +21 -3
- package/src/relayFeeCalculator/chain-queries/svmQuery.ts +27 -13
- package/src/utils/AddressUtils.ts +39 -51
- package/src/utils/TokenUtils.ts +6 -4
|
@@ -6,7 +6,7 @@ export declare class MockSvmCpiEventsClient extends SvmCpiEventsClient {
|
|
|
6
6
|
private slotHeight;
|
|
7
7
|
chainId: number;
|
|
8
8
|
minBlockRange: number;
|
|
9
|
-
numberOfDeposits: import("
|
|
9
|
+
numberOfDeposits: import("ethers").BigNumber;
|
|
10
10
|
constructor(programId?: Address<"JAZWcGrpSWNPTBj8QtJ9UyQqhJCDhG9GJkDeMf5NQBiq">, chainId?: number);
|
|
11
11
|
setSlotHeight(slotHeight: bigint): void;
|
|
12
12
|
setEvents(events: EventWithData[]): void;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { __assign, __extends } from "tslib";
|
|
2
2
|
import assert from "assert";
|
|
3
|
+
import { utils as ethersUtils } from "ethers";
|
|
3
4
|
import { createHash } from "crypto";
|
|
4
5
|
import { hexlify, arrayify, hexZeroPad } from "ethers/lib/utils";
|
|
5
6
|
import { random } from "lodash";
|
|
@@ -8,8 +9,9 @@ import { SvmSpokeClient } from "@across-protocol/contracts";
|
|
|
8
9
|
import { CHAIN_IDs } from "@across-protocol/constants";
|
|
9
10
|
import { MockSolanaRpcFactory } from "../../providers/mocks";
|
|
10
11
|
import { SVM_DEFAULT_ADDRESS, SvmCpiEventsClient, SVMEventNames, getRandomSvmAddress, } from "../../arch/svm";
|
|
11
|
-
import { bnZero, bnOne, bs58, getCurrentTime, randomAddress, EvmAddress } from "../../utils";
|
|
12
|
+
import { bnZero, bnOne, bs58, getCurrentTime, randomAddress, EvmAddress, SvmAddress } from "../../utils";
|
|
12
13
|
import { FillType } from "../../interfaces";
|
|
14
|
+
var randomBytes = function (n) { return ethersUtils.hexlify(ethersUtils.randomBytes(n)); };
|
|
13
15
|
var MockSvmCpiEventsClient = /** @class */ (function (_super) {
|
|
14
16
|
__extends(MockSvmCpiEventsClient, _super);
|
|
15
17
|
function MockSvmCpiEventsClient(programId, chainId) {
|
|
@@ -62,9 +64,9 @@ var MockSvmCpiEventsClient = /** @class */ (function (_super) {
|
|
|
62
64
|
this.numberOfDeposits = this.numberOfDeposits.add(bnOne);
|
|
63
65
|
destinationChainId !== null && destinationChainId !== void 0 ? destinationChainId : (destinationChainId = BigInt(random(1, 42161, false)));
|
|
64
66
|
var depositor = (_a = deposit.depositor) !== null && _a !== void 0 ? _a : getRandomSvmAddress();
|
|
65
|
-
var recipient = (_b = deposit.recipient) !== null && _b !== void 0 ? _b :
|
|
67
|
+
var recipient = (_b = deposit.recipient) !== null && _b !== void 0 ? _b : SvmAddress.from(randomBytes(32), "base16").toBase58();
|
|
66
68
|
var inputToken = (_c = deposit.inputToken) !== null && _c !== void 0 ? _c : getRandomSvmAddress();
|
|
67
|
-
var outputToken = (_d = deposit.outputToken) !== null && _d !== void 0 ? _d :
|
|
69
|
+
var outputToken = (_d = deposit.outputToken) !== null && _d !== void 0 ? _d : SvmAddress.from(randomBytes(32), "base16").toBase58();
|
|
68
70
|
inputAmount !== null && inputAmount !== void 0 ? inputAmount : (inputAmount = BigInt(random(1, 1000, false)));
|
|
69
71
|
outputAmount !== null && outputAmount !== void 0 ? outputAmount : (outputAmount = (inputAmount * BigInt(95)) / BigInt(100));
|
|
70
72
|
var message = (_e = deposit.message) !== null && _e !== void 0 ? _e : new Uint8Array(32);
|
|
@@ -139,9 +141,9 @@ var MockSvmCpiEventsClient = /** @class */ (function (_super) {
|
|
|
139
141
|
var depositId = slowFillRequest.depositId, originChainId = slowFillRequest.originChainId;
|
|
140
142
|
depositId !== null && depositId !== void 0 ? depositId : (depositId = Uint8Array.from([random(1, 100000, false)]));
|
|
141
143
|
originChainId !== null && originChainId !== void 0 ? originChainId : (originChainId = BigInt(random(1, 42161, false)));
|
|
142
|
-
var depositor = (_a = slowFillRequest.depositor) !== null && _a !== void 0 ? _a :
|
|
144
|
+
var depositor = (_a = slowFillRequest.depositor) !== null && _a !== void 0 ? _a : SvmAddress.from(randomBytes(32)).toBase58();
|
|
143
145
|
var recipient = (_b = slowFillRequest.recipient) !== null && _b !== void 0 ? _b : getRandomSvmAddress();
|
|
144
|
-
var inputToken = (_c = slowFillRequest.inputToken) !== null && _c !== void 0 ? _c :
|
|
146
|
+
var inputToken = (_c = slowFillRequest.inputToken) !== null && _c !== void 0 ? _c : SvmAddress.from(randomBytes(32)).toBase58();
|
|
145
147
|
var outputToken = (_d = slowFillRequest.outputToken) !== null && _d !== void 0 ? _d : getRandomSvmAddress();
|
|
146
148
|
var args = __assign(__assign({}, slowFillRequest), { depositId: depositId, originChainId: originChainId, depositor: depositor, recipient: recipient, inputToken: inputToken, outputToken: outputToken, inputAmount: (_e = slowFillRequest.inputAmount) !== null && _e !== void 0 ? _e : BigInt(random(1, 1000, false)), outputAmount: (_g = (_f = slowFillRequest.outputAmount) !== null && _f !== void 0 ? _f : slowFillRequest.inputAmount) !== null && _g !== void 0 ? _g : BigInt(random(1, 1000, false)), exclusiveRelayer: (_h = slowFillRequest.exclusiveRelayer) !== null && _h !== void 0 ? _h : SVM_DEFAULT_ADDRESS });
|
|
147
149
|
return this.generateEvent({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MockSvmCpiEventsClient.js","sourceRoot":"","sources":["../../../../src/clients/mocks/MockSvmCpiEventsClient.ts"],"names":[],"mappings":";AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAA0B,SAAS,EAAE,MAAM,aAAa,CAAC;AAEhE,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAEvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EACL,mBAAmB,EAGnB,kBAAkB,EAClB,aAAa,EAEb,mBAAmB,GACpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,cAAc,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"MockSvmCpiEventsClient.js","sourceRoot":"","sources":["../../../../src/clients/mocks/MockSvmCpiEventsClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import { L2Provider } from "@eth-optimism/sdk/dist/interfaces/l2-provider";
|
|
|
2
2
|
import { PopulatedTransaction, providers } from "ethers";
|
|
3
3
|
import { Deposit } from "../../interfaces";
|
|
4
4
|
import { SpokePool } from "../../typechain";
|
|
5
|
-
import { BigNumberish, TransactionCostEstimate, BigNumber, Address } from "../../utils";
|
|
5
|
+
import { BigNumberish, EvmAddress, TransactionCostEstimate, BigNumber, Address } from "../../utils";
|
|
6
6
|
import { Logger, QueryInterface } from "../relayFeeCalculator";
|
|
7
7
|
import { Transport } from "viem";
|
|
8
8
|
import { EvmProvider } from "../../arch/evm/types";
|
|
@@ -60,7 +60,11 @@ export declare class QueryBase implements QueryInterface {
|
|
|
60
60
|
* @param relayer Sender of PopulatedTransaction
|
|
61
61
|
* @returns PopulatedTransaction
|
|
62
62
|
*/
|
|
63
|
-
getUnsignedTxFromDeposit(deposit: Omit<Deposit, "messageHash"
|
|
63
|
+
getUnsignedTxFromDeposit(deposit: Omit<Deposit, "messageHash"> & {
|
|
64
|
+
recipient: EvmAddress;
|
|
65
|
+
outputToken: EvmAddress;
|
|
66
|
+
exclusiveRelayer: EvmAddress;
|
|
67
|
+
}, relayer?: Address): Promise<PopulatedTransaction>;
|
|
64
68
|
/**
|
|
65
69
|
* @notice Return the gas cost of a simulated transaction
|
|
66
70
|
* @param deposit
|
|
@@ -51,12 +51,16 @@ var QueryBase = /** @class */ (function () {
|
|
|
51
51
|
if (relayer === void 0) { relayer = toAddressType(getDefaultSimulatedRelayerAddress(deposit.destinationChainId), deposit.destinationChainId); }
|
|
52
52
|
if (options === void 0) { options = {}; }
|
|
53
53
|
return __awaiter(this, void 0, void 0, function () {
|
|
54
|
-
var _a, gasPrice, gasUnits, baseFeeMultiplier, priorityFeeMultiplier, opStackL1GasCostMultiplier, transport, tx, _b, nativeGasCost, tokenGasCost, impliedGasPrice, opStackL1GasCost;
|
|
54
|
+
var _a, gasPrice, gasUnits, baseFeeMultiplier, priorityFeeMultiplier, opStackL1GasCostMultiplier, transport, recipient, outputToken, exclusiveRelayer, tx, _b, nativeGasCost, tokenGasCost, impliedGasPrice, opStackL1GasCost;
|
|
55
55
|
return __generator(this, function (_c) {
|
|
56
56
|
switch (_c.label) {
|
|
57
57
|
case 0:
|
|
58
58
|
_a = options.gasPrice, gasPrice = _a === void 0 ? this.fixedGasPrice : _a, gasUnits = options.gasUnits, baseFeeMultiplier = options.baseFeeMultiplier, priorityFeeMultiplier = options.priorityFeeMultiplier, opStackL1GasCostMultiplier = options.opStackL1GasCostMultiplier, transport = options.transport;
|
|
59
|
-
|
|
59
|
+
recipient = deposit.recipient, outputToken = deposit.outputToken, exclusiveRelayer = deposit.exclusiveRelayer;
|
|
60
|
+
assert(recipient.isEVM(), "getGasCosts: recipient not an EVM address (".concat(recipient, ")"));
|
|
61
|
+
assert(outputToken.isEVM(), "getGasCosts: outputToken not an EVM address (".concat(outputToken, ")"));
|
|
62
|
+
assert(exclusiveRelayer.isEVM(), "getGasCosts: exclusiveRelayer not an EVM address (".concat(exclusiveRelayer, ")"));
|
|
63
|
+
return [4 /*yield*/, this.getUnsignedTxFromDeposit(__assign(__assign({}, deposit), { recipient: recipient, outputToken: outputToken, exclusiveRelayer: exclusiveRelayer }), relayer)];
|
|
60
64
|
case 1:
|
|
61
65
|
tx = _c.sent();
|
|
62
66
|
return [4 /*yield*/, this.estimateGas(tx, relayer, this.provider, {
|
|
@@ -98,10 +102,15 @@ var QueryBase = /** @class */ (function () {
|
|
|
98
102
|
QueryBase.prototype.getNativeGasCost = function (deposit, relayer) {
|
|
99
103
|
if (relayer === void 0) { relayer = toAddressType(getDefaultSimulatedRelayerAddress(deposit.destinationChainId), deposit.destinationChainId); }
|
|
100
104
|
return __awaiter(this, void 0, void 0, function () {
|
|
101
|
-
var unsignedTx, voidSigner;
|
|
105
|
+
var recipient, outputToken, exclusiveRelayer, unsignedTx, voidSigner;
|
|
102
106
|
return __generator(this, function (_a) {
|
|
103
107
|
switch (_a.label) {
|
|
104
|
-
case 0:
|
|
108
|
+
case 0:
|
|
109
|
+
recipient = deposit.recipient, outputToken = deposit.outputToken, exclusiveRelayer = deposit.exclusiveRelayer;
|
|
110
|
+
assert(recipient.isEVM(), "getNativeGasCost: recipient not an EVM address (".concat(recipient, ")"));
|
|
111
|
+
assert(outputToken.isEVM(), "getNativeGasCost: outputToken not an EVM address (".concat(outputToken, ")"));
|
|
112
|
+
assert(exclusiveRelayer.isEVM(), "getNativeGasCost: exclusiveRelayer not an EVM address (".concat(exclusiveRelayer, ")"));
|
|
113
|
+
return [4 /*yield*/, this.getUnsignedTxFromDeposit(__assign(__assign({}, deposit), { recipient: recipient, outputToken: outputToken, exclusiveRelayer: exclusiveRelayer }), relayer)];
|
|
105
114
|
case 1:
|
|
106
115
|
unsignedTx = _a.sent();
|
|
107
116
|
voidSigner = new VoidSigner(relayer.toEvmAddress(), this.provider);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"baseQuery.js","sourceRoot":"","sources":["../../../../src/relayFeeCalculator/chain-queries/baseQuery.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,YAAY,IAAI,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAE1F,OAAO,EAAmC,UAAU,EAAE,MAAM,QAAQ,CAAC;AACrE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAa,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,
|
|
1
|
+
{"version":3,"file":"baseQuery.js","sourceRoot":"","sources":["../../../../src/relayFeeCalculator/chain-queries/baseQuery.ts"],"names":[],"mappings":"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"}
|
|
@@ -57,14 +57,19 @@ export declare class SvmQuery implements QueryInterface {
|
|
|
57
57
|
* @param relayer SVM address of the relayer
|
|
58
58
|
* @returns Estimated gas cost in compute units
|
|
59
59
|
*/
|
|
60
|
-
getNativeGasCost(deposit: Omit<Deposit, "messageHash">,
|
|
60
|
+
getNativeGasCost(deposit: Omit<Deposit, "messageHash">, // @todo Update interface to permit EvmAddress | SvmAddress
|
|
61
|
+
_relayer?: import("../../utils").Address): Promise<BigNumber>;
|
|
61
62
|
/**
|
|
62
63
|
* @notice Return the fillRelay transaction for a given deposit
|
|
63
64
|
* @param deposit
|
|
64
65
|
* @param relayer SVM address of the relayer
|
|
65
66
|
* @returns FillRelay transaction
|
|
66
67
|
*/
|
|
67
|
-
getFillRelayTx(deposit: Omit<Deposit, "
|
|
68
|
+
getFillRelayTx(deposit: Omit<Deposit, "recipent" | "outputToken" | "exclusiveRelayer" | "messageHash"> & {
|
|
69
|
+
recipient: SvmAddress;
|
|
70
|
+
outputToken: SvmAddress;
|
|
71
|
+
exclusiveRelayer: SvmAddress;
|
|
72
|
+
}, relayer?: import("../../utils").Address, repaymentChainId?: number, repaymentAddress?: import("../../utils").Address): Promise<import("@solana/kit").TransactionMessageWithBlockhashLifetime & import("@solana/kit").ITransactionMessageWithFeePayerSigner<string, import("@solana/kit").TransactionSigner<string>> & Omit<Readonly<{
|
|
68
73
|
instructions: readonly import("@solana/kit").IInstruction<string, readonly (import("@solana/kit").IAccountLookupMeta<string, string> | import("@solana/kit").IAccountMeta<string>)[]>[];
|
|
69
74
|
version: 0;
|
|
70
75
|
}>, "feePayer">>;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { __awaiter, __generator } from "tslib";
|
|
1
|
+
import { __assign, __awaiter, __generator } from "tslib";
|
|
2
|
+
import assert from "assert";
|
|
2
3
|
import { intToU8Array32 } from "@across-protocol/contracts/dist/src/svm/web3-v1/conversionUtils";
|
|
3
4
|
import { SYSTEM_PROGRAM_ADDRESS } from "@solana-program/system";
|
|
4
5
|
import { ASSOCIATED_TOKEN_PROGRAM_ADDRESS, fetchMint } from "@solana-program/token";
|
|
@@ -53,10 +54,15 @@ var SvmQuery = /** @class */ (function () {
|
|
|
53
54
|
if (relayer === void 0) { relayer = toAddressType(getDefaultSimulatedRelayerAddress(deposit.destinationChainId), deposit.destinationChainId); }
|
|
54
55
|
if (options === void 0) { options = {}; }
|
|
55
56
|
return __awaiter(this, void 0, void 0, function () {
|
|
56
|
-
var fillRelayTx, _a, computeUnitsConsumed, gasPriceEstimate, _b, _c, _d, gasPrice;
|
|
57
|
+
var recipient, outputToken, exclusiveRelayer, fillRelayTx, _a, computeUnitsConsumed, gasPriceEstimate, _b, _c, _d, gasPrice;
|
|
57
58
|
return __generator(this, function (_e) {
|
|
58
59
|
switch (_e.label) {
|
|
59
|
-
case 0:
|
|
60
|
+
case 0:
|
|
61
|
+
recipient = deposit.recipient, outputToken = deposit.outputToken, exclusiveRelayer = deposit.exclusiveRelayer;
|
|
62
|
+
assert(recipient.isSVM(), "getGasCosts: recipient not an SVM address (".concat(recipient, ")"));
|
|
63
|
+
assert(outputToken.isSVM(), "getGasCosts: outputToken not an SVM address (".concat(outputToken, ")"));
|
|
64
|
+
assert(exclusiveRelayer.isSVM(), "getGasCosts: exclusiveRelayer not an SVM address (".concat(exclusiveRelayer, ")"));
|
|
65
|
+
return [4 /*yield*/, this.getFillRelayTx(__assign(__assign({}, deposit), { recipient: recipient, outputToken: outputToken, exclusiveRelayer: exclusiveRelayer }), relayer)];
|
|
60
66
|
case 1:
|
|
61
67
|
fillRelayTx = _e.sent();
|
|
62
68
|
_c = (_b = Promise).all;
|
|
@@ -89,13 +95,19 @@ var SvmQuery = /** @class */ (function () {
|
|
|
89
95
|
* @param relayer SVM address of the relayer
|
|
90
96
|
* @returns Estimated gas cost in compute units
|
|
91
97
|
*/
|
|
92
|
-
SvmQuery.prototype.getNativeGasCost = function (deposit,
|
|
98
|
+
SvmQuery.prototype.getNativeGasCost = function (deposit, // @todo Update interface to permit EvmAddress | SvmAddress
|
|
99
|
+
_relayer) {
|
|
93
100
|
if (_relayer === void 0) { _relayer = toAddressType(getDefaultSimulatedRelayerAddress(deposit.destinationChainId), deposit.destinationChainId); }
|
|
94
101
|
return __awaiter(this, void 0, void 0, function () {
|
|
95
|
-
var fillRelayTx, _a;
|
|
102
|
+
var recipient, outputToken, exclusiveRelayer, fillRelayTx, _a;
|
|
96
103
|
return __generator(this, function (_b) {
|
|
97
104
|
switch (_b.label) {
|
|
98
|
-
case 0:
|
|
105
|
+
case 0:
|
|
106
|
+
recipient = deposit.recipient, outputToken = deposit.outputToken, exclusiveRelayer = deposit.exclusiveRelayer;
|
|
107
|
+
assert(recipient.isSVM(), "getNativeGasCost: recipient not an SVM address (".concat(recipient, ")"));
|
|
108
|
+
assert(outputToken.isSVM(), "getNativeGasCost: outputToken not an SVM address (".concat(outputToken, ")"));
|
|
109
|
+
assert(exclusiveRelayer.isSVM(), "getNativeGasCost: exclusiveRelayer not an SVM address (".concat(exclusiveRelayer, ")"));
|
|
110
|
+
return [4 /*yield*/, this.getFillRelayTx(__assign(__assign({}, deposit), { recipient: recipient, outputToken: outputToken, exclusiveRelayer: exclusiveRelayer }), _relayer)];
|
|
99
111
|
case 1:
|
|
100
112
|
fillRelayTx = _b.sent();
|
|
101
113
|
_a = toBN;
|
|
@@ -116,11 +128,14 @@ var SvmQuery = /** @class */ (function () {
|
|
|
116
128
|
if (repaymentChainId === void 0) { repaymentChainId = deposit.destinationChainId; }
|
|
117
129
|
if (repaymentAddress === void 0) { repaymentAddress = toAddressType(getDefaultSimulatedRelayerAddress(deposit.destinationChainId), deposit.destinationChainId); }
|
|
118
130
|
return __awaiter(this, void 0, void 0, function () {
|
|
119
|
-
var depositor,
|
|
120
|
-
return __generator(this, function (
|
|
121
|
-
switch (
|
|
131
|
+
var depositor, recipient, inputToken, outputToken, exclusiveRelayer, destinationChainId, program, _relayDataHash, relayDataHash, _a, state, delegate, mint, mintInfo, _b, recipientAta, relayerAta, fillStatus, eventAuthority, relayData, simulatedSigner, fillInput;
|
|
132
|
+
return __generator(this, function (_c) {
|
|
133
|
+
switch (_c.label) {
|
|
122
134
|
case 0:
|
|
123
|
-
depositor = deposit.depositor,
|
|
135
|
+
depositor = deposit.depositor, recipient = deposit.recipient, inputToken = deposit.inputToken, outputToken = deposit.outputToken, exclusiveRelayer = deposit.exclusiveRelayer, destinationChainId = deposit.destinationChainId;
|
|
136
|
+
// tsc appeasement...should be unnecessary, but isn't. @todo Identify why.
|
|
137
|
+
assert(recipient.isSVM(), "getFillRelayTx: recipient not an SVM address (".concat(recipient, ")"));
|
|
138
|
+
assert(repaymentAddress.isValidOn(repaymentChainId), "getFillRelayTx: repayment address ".concat(repaymentAddress, " not valid on chain ").concat(repaymentChainId, ")"));
|
|
124
139
|
program = toAddress(this.spokePool);
|
|
125
140
|
_relayDataHash = getRelayDataHash(deposit, destinationChainId);
|
|
126
141
|
relayDataHash = new Uint8Array(Buffer.from(_relayDataHash.slice(2), "hex"));
|
|
@@ -129,12 +144,11 @@ var SvmQuery = /** @class */ (function () {
|
|
|
129
144
|
getFillRelayDelegatePda(relayDataHash, BigInt(repaymentChainId), toAddress(repaymentAddress), program),
|
|
130
145
|
])];
|
|
131
146
|
case 1:
|
|
132
|
-
_a =
|
|
133
|
-
_b = [_recipient.forceSvmAddress(), _outputToken.forceSvmAddress()], recipient = _b[0], outputToken = _b[1];
|
|
147
|
+
_a = _c.sent(), state = _a[0], delegate = _a[1];
|
|
134
148
|
mint = toAddress(outputToken);
|
|
135
149
|
return [4 /*yield*/, fetchMint(this.provider, mint)];
|
|
136
150
|
case 2:
|
|
137
|
-
mintInfo =
|
|
151
|
+
mintInfo = _c.sent();
|
|
138
152
|
return [4 /*yield*/, Promise.all([
|
|
139
153
|
getAssociatedTokenAddress(recipient, outputToken, mintInfo.programAddress),
|
|
140
154
|
getAssociatedTokenAddress(SvmAddress.from(relayer.toBase58()), outputToken, mintInfo.programAddress),
|
|
@@ -142,7 +156,7 @@ var SvmQuery = /** @class */ (function () {
|
|
|
142
156
|
getEventAuthority(program),
|
|
143
157
|
])];
|
|
144
158
|
case 3:
|
|
145
|
-
|
|
159
|
+
_b = _c.sent(), recipientAta = _b[0], relayerAta = _b[1], fillStatus = _b[2], eventAuthority = _b[3];
|
|
146
160
|
relayData = {
|
|
147
161
|
depositor: toAddress(depositor),
|
|
148
162
|
recipient: toAddress(recipient),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"svmQuery.js","sourceRoot":"","sources":["../../../../src/relayFeeCalculator/chain-queries/svmQuery.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"svmQuery.js","sourceRoot":"","sources":["../../../../src/relayFeeCalculator/chain-queries/svmQuery.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,14 +20,13 @@ export declare function isValidEvmAddress(address: string): boolean;
|
|
|
20
20
|
* @todo: Change this to `toAddress` once we remove the other `toAddress` function.
|
|
21
21
|
*/
|
|
22
22
|
export declare function toAddressType(address: string, chainId: number): Address;
|
|
23
|
-
export declare class Address {
|
|
23
|
+
export declare abstract class Address {
|
|
24
24
|
readonly rawAddress: Uint8Array;
|
|
25
25
|
evmAddress: string | undefined;
|
|
26
26
|
bytes32Address: string | undefined;
|
|
27
27
|
svmAddress: string | undefined;
|
|
28
28
|
bnAddress: BigNumber | undefined;
|
|
29
29
|
constructor(_rawAddress: Uint8Array);
|
|
30
|
-
static __unsafeConstruct(_rawAddress: Uint8Array): Address;
|
|
31
30
|
toBytes32(): string;
|
|
32
31
|
truncateToBytes20(): string;
|
|
33
32
|
toBase58(): string;
|
|
@@ -36,26 +35,31 @@ export declare class Address {
|
|
|
36
35
|
toNative(): string;
|
|
37
36
|
toHexString(): string;
|
|
38
37
|
isValidOn(chainId: number): boolean;
|
|
39
|
-
static isAddress(obj: unknown): boolean;
|
|
40
38
|
toString(): string;
|
|
41
39
|
isZeroAddress(): boolean;
|
|
42
40
|
forceSvmAddress(): SvmAddress;
|
|
43
41
|
eq(other: Address): boolean;
|
|
44
42
|
compare(otherAddress: Address): 1 | -1 | 0;
|
|
45
|
-
|
|
46
|
-
|
|
43
|
+
isEVM(): this is EvmAddress;
|
|
44
|
+
isSVM(): this is SvmAddress;
|
|
47
45
|
}
|
|
48
46
|
export declare class EvmAddress extends Address {
|
|
49
|
-
private readonly
|
|
47
|
+
private readonly _type;
|
|
50
48
|
constructor(rawAddress: Uint8Array);
|
|
51
49
|
static validate(rawAddress: Uint8Array): boolean;
|
|
50
|
+
isEVM(): this is EvmAddress;
|
|
52
51
|
toNative(): string;
|
|
53
|
-
static from(address: string, encoding?: "
|
|
52
|
+
static from(address: string, encoding?: "base58" | "base16"): EvmAddress;
|
|
54
53
|
}
|
|
55
54
|
export declare class SvmAddress extends Address {
|
|
56
|
-
private readonly
|
|
55
|
+
private readonly _type;
|
|
57
56
|
constructor(rawAddress: Uint8Array);
|
|
58
57
|
static validate(rawAddress: Uint8Array): boolean;
|
|
58
|
+
isSVM(): this is SvmAddress;
|
|
59
59
|
toNative(): string;
|
|
60
60
|
static from(address: string, encoding?: "base58" | "base16"): SvmAddress;
|
|
61
61
|
}
|
|
62
|
+
export declare class RawAddress extends Address {
|
|
63
|
+
private readonly _type;
|
|
64
|
+
constructor(rawAddress: Uint8Array);
|
|
65
|
+
}
|
|
@@ -86,12 +86,11 @@ export function isValidEvmAddress(address) {
|
|
|
86
86
|
*/
|
|
87
87
|
export function toAddressType(address, chainId) {
|
|
88
88
|
var rawAddress = address.startsWith("0x") ? utils.arrayify(address) : bs58.decode(address);
|
|
89
|
-
|
|
90
|
-
if (isEvm && EvmAddress.validate(rawAddress))
|
|
89
|
+
if (chainIsEvm(chainId) && EvmAddress.validate(rawAddress))
|
|
91
90
|
return new EvmAddress(rawAddress);
|
|
92
|
-
if (
|
|
91
|
+
else if (chainIsSvm(chainId) && SvmAddress.validate(rawAddress))
|
|
93
92
|
return new SvmAddress(rawAddress);
|
|
94
|
-
return new
|
|
93
|
+
return new RawAddress(rawAddress);
|
|
95
94
|
}
|
|
96
95
|
// The Address class can contain any address type. It is up to the subclasses to determine how to format the address's internal representation,
|
|
97
96
|
// which for this class, is a bytes32 hex string.
|
|
@@ -111,9 +110,6 @@ var Address = /** @class */ (function () {
|
|
|
111
110
|
// Ensure all addresses in this class are internally stored as 32 bytes.
|
|
112
111
|
this.rawAddress = utils.zeroPad(_rawAddress, 32);
|
|
113
112
|
}
|
|
114
|
-
Address.__unsafeConstruct = function (_rawAddress) {
|
|
115
|
-
return new this(_rawAddress);
|
|
116
|
-
};
|
|
117
113
|
// Converts the address into a bytes32 string. Note that the output bytes will be lowercase so that it matches ethers event data. This function will never
|
|
118
114
|
// throw since address length validation was done at construction time.
|
|
119
115
|
Address.prototype.toBytes32 = function () {
|
|
@@ -167,10 +163,6 @@ var Address = /** @class */ (function () {
|
|
|
167
163
|
return SvmAddress.validate(this.rawAddress);
|
|
168
164
|
return false;
|
|
169
165
|
};
|
|
170
|
-
// Checks if the object is an address by looking at whether it has an Address constructor.
|
|
171
|
-
Address.isAddress = function (obj) {
|
|
172
|
-
return obj instanceof this;
|
|
173
|
-
};
|
|
174
166
|
// Converts the input address to a 32-byte hex data string.
|
|
175
167
|
Address.prototype.toString = function () {
|
|
176
168
|
return this.toNative();
|
|
@@ -188,6 +180,7 @@ var Address = /** @class */ (function () {
|
|
|
188
180
|
return this.toString() === other.toString();
|
|
189
181
|
};
|
|
190
182
|
// Compares Addresses by first converting them to BigNumbers.
|
|
183
|
+
// note: Intended for use when sorting like addresses.
|
|
191
184
|
Address.prototype.compare = function (otherAddress) {
|
|
192
185
|
// Convert address strings to BigNumbers and then sort numerical value of the BigNumber, which sorts the addresses
|
|
193
186
|
// effectively by their hex value.
|
|
@@ -203,11 +196,11 @@ var Address = /** @class */ (function () {
|
|
|
203
196
|
return 0;
|
|
204
197
|
}
|
|
205
198
|
};
|
|
206
|
-
Address.
|
|
207
|
-
return
|
|
199
|
+
Address.prototype.isEVM = function () {
|
|
200
|
+
return false;
|
|
208
201
|
};
|
|
209
|
-
Address.
|
|
210
|
-
return
|
|
202
|
+
Address.prototype.isSVM = function () {
|
|
203
|
+
return false;
|
|
211
204
|
};
|
|
212
205
|
return Address;
|
|
213
206
|
}());
|
|
@@ -222,13 +215,16 @@ var EvmAddress = /** @class */ (function (_super) {
|
|
|
222
215
|
throw new Error("".concat(utils.hexlify(rawAddress), " is not a valid EVM address"));
|
|
223
216
|
}
|
|
224
217
|
_this = _super.call(this, rawAddress) || this;
|
|
225
|
-
|
|
226
|
-
_this.
|
|
218
|
+
_this._type = "evm";
|
|
219
|
+
_this._type; // tsc noUnusedLocals appeasement.
|
|
227
220
|
return _this;
|
|
228
221
|
}
|
|
229
222
|
EvmAddress.validate = function (rawAddress) {
|
|
230
223
|
return (rawAddress.length == 20 || (rawAddress.length === 32 && rawAddress.slice(0, 12).every(function (field) { return field === 0; })));
|
|
231
224
|
};
|
|
225
|
+
EvmAddress.prototype.isEVM = function () {
|
|
226
|
+
return true;
|
|
227
|
+
};
|
|
232
228
|
// Override `toAddress` to return the 20-byte representation address.
|
|
233
229
|
EvmAddress.prototype.toNative = function () {
|
|
234
230
|
return this.toEvmAddress();
|
|
@@ -236,16 +232,7 @@ var EvmAddress = /** @class */ (function (_super) {
|
|
|
236
232
|
// Constructs a new EvmAddress type.
|
|
237
233
|
EvmAddress.from = function (address, encoding) {
|
|
238
234
|
if (encoding === void 0) { encoding = "base16"; }
|
|
239
|
-
|
|
240
|
-
return new this(utils.arrayify(address));
|
|
241
|
-
}
|
|
242
|
-
var decodedAddress = bs58.decode(address);
|
|
243
|
-
var padding = decodedAddress.subarray(0, 12);
|
|
244
|
-
var evmAddress = decodedAddress.subarray(12);
|
|
245
|
-
if (padding.length !== 12 || utils.stripZeros(padding).length !== 0 || evmAddress.length !== 20) {
|
|
246
|
-
throw new Error("Not a valid base58-encoded EVM address: ".concat(address));
|
|
247
|
-
}
|
|
248
|
-
return new this(evmAddress);
|
|
235
|
+
return encoding === "base16" ? new this(utils.arrayify(address)) : new this(bs58.decode(address));
|
|
249
236
|
};
|
|
250
237
|
return EvmAddress;
|
|
251
238
|
}(Address));
|
|
@@ -260,12 +247,19 @@ var SvmAddress = /** @class */ (function (_super) {
|
|
|
260
247
|
throw new Error("".concat(utils.hexlify(rawAddress), " is not a valid SVM address")); // @todo: Display as Base58?
|
|
261
248
|
}
|
|
262
249
|
_this = _super.call(this, rawAddress) || this;
|
|
263
|
-
|
|
264
|
-
_this.
|
|
250
|
+
_this._type = "svm";
|
|
251
|
+
_this._type; // tsc noUnusedLocals appeasement.
|
|
265
252
|
return _this;
|
|
266
253
|
}
|
|
267
254
|
SvmAddress.validate = function (rawAddress) {
|
|
268
|
-
|
|
255
|
+
// Deliberately invalidate SVM addresses w/ the upper 12 bytes zeroed. These addresses are technically valid
|
|
256
|
+
// but highly improbable and are much more likely to be a mistaken interpretation of an EVM address. Err on
|
|
257
|
+
// the side of caution for the time being. Exception: Permit the zero address (i.e. for exclusiverRelayer).
|
|
258
|
+
return (rawAddress.length === 32 &&
|
|
259
|
+
(!rawAddress.slice(0, 12).every(function (field) { return field === 0; }) || rawAddress.every(function (field) { return field === 0; })));
|
|
260
|
+
};
|
|
261
|
+
SvmAddress.prototype.isSVM = function () {
|
|
262
|
+
return true;
|
|
269
263
|
};
|
|
270
264
|
// Override the toAddress function for SVM addresses only since while they will never have a defined 20-byte representation. The base58 encoded addresses are also the encodings
|
|
271
265
|
// used in TOKEN_SYMBOLS_MAP.
|
|
@@ -275,16 +269,20 @@ var SvmAddress = /** @class */ (function (_super) {
|
|
|
275
269
|
// Constructs a new SvmAddress type.
|
|
276
270
|
SvmAddress.from = function (address, encoding) {
|
|
277
271
|
if (encoding === void 0) { encoding = "base58"; }
|
|
278
|
-
|
|
279
|
-
return new this(bs58.decode(address));
|
|
280
|
-
}
|
|
281
|
-
var decodedAddress = utils.arrayify(address);
|
|
282
|
-
if (decodedAddress.length !== 32) {
|
|
283
|
-
throw new Error("Not a valid base16-encoded SVM address: ".concat(address));
|
|
284
|
-
}
|
|
285
|
-
return new this(decodedAddress);
|
|
272
|
+
return encoding === "base58" ? new this(bs58.decode(address)) : new this(utils.arrayify(address));
|
|
286
273
|
};
|
|
287
274
|
return SvmAddress;
|
|
288
275
|
}(Address));
|
|
289
276
|
export { SvmAddress };
|
|
277
|
+
var RawAddress = /** @class */ (function (_super) {
|
|
278
|
+
__extends(RawAddress, _super);
|
|
279
|
+
function RawAddress(rawAddress) {
|
|
280
|
+
var _this = _super.call(this, rawAddress) || this;
|
|
281
|
+
_this._type = "raw";
|
|
282
|
+
_this._type; // tsc noUnusedLocals appeasement.
|
|
283
|
+
return _this;
|
|
284
|
+
}
|
|
285
|
+
return RawAddress;
|
|
286
|
+
}(Address));
|
|
287
|
+
export { RawAddress };
|
|
290
288
|
//# sourceMappingURL=AddressUtils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AddressUtils.js","sourceRoot":"","sources":["../../../src/utils/AddressUtils.ts"],"names":[],"mappings":";AAAA,OAAO,EAAa,KAAK,EAAE,MAAM,QAAQ,CAAC;AAC1C,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAEvD;;;;;GAKG;AACH,MAAM,UAAgB,2BAA2B,CAAC,OAAe,EAAE,QAA4B;;;;;;oBAC7F,sDAAsD;oBACtD,IAAI,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE;wBACzC,sBAAO,KAAK,EAAC;qBACd;oBAEY,qBAAM,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAA;;oBAAtC,IAAI,GAAG,SAA+B;oBAC5C,qEAAqE;oBACrE,sBAAO,IAAI,KAAK,IAAI,EAAC;;;;CACtB;AAED,MAAM,UAAU,gBAAgB,CAAC,QAAgB,EAAE,QAAgB;IACjE,kHAAkH;IAClH,kCAAkC;IAClC,IAAM,UAAU,GAAG,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC5C,IAAM,UAAU,GAAG,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC5C,IAAI,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE;QAC7B,OAAO,CAAC,CAAC;KACV;SAAM,IAAI,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE;QACpC,OAAO,CAAC,CAAC,CAAC;KACX;SAAM;QACL,OAAO,CAAC,CAAC;KACV;AACH,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,QAAiB,EAAE,QAAiB;IACzE,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,SAAS,EAAE;QACpD,OAAO,KAAK,CAAC;KACd;IACD,OAAO,QAAQ,CAAC,WAAW,EAAE,KAAK,QAAQ,CAAC,WAAW,EAAE,CAAC;AAC3D,CAAC;AAED,wGAAwG;AACxG,uDAAuD;AACvD,wEAAwE;AACxE,MAAM,UAAU,SAAS,CAAC,OAAe;IACvC,OAAO,KAAK,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;AACrD,CAAC;AAED,wEAAwE;AACxE,uGAAuG;AACvG,MAAM,UAAU,YAAY,CAAC,SAAiB;IAC5C,+DAA+D;IAC/D,IAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC;IACxE,OAAO,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,OAAe;IAC/C,IAAI,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE;QAC5B,OAAO,IAAI,CAAC;KACb;IACD,kIAAkI;IAClI,wDAAwD;IACxD,mHAAmH;IACnH,wHAAwH;IACxH,IAAI;QACF,IAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;QACtE,OAAO,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC;KACtD;IAAC,OAAO,EAAE,EAAE;QACX,OAAO,KAAK,CAAC;KACd;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAAC,OAAe,EAAE,OAAe;IAC5D,IAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAE7F,
|
|
1
|
+
{"version":3,"file":"AddressUtils.js","sourceRoot":"","sources":["../../../src/utils/AddressUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -185,6 +185,14 @@ export declare const resolveContractFromSymbol: (symbol: string, chainId: string
|
|
|
185
185
|
};
|
|
186
186
|
coingeckoId: string;
|
|
187
187
|
};
|
|
188
|
+
/**
|
|
189
|
+
* Retrieves the ERC20 balance for a given address and token address.
|
|
190
|
+
* @param address The address to retrieve the balance for.
|
|
191
|
+
* @param tokenAddress The token address
|
|
192
|
+
* @param signerOrProvider A valid ethers.js Signer or Provider object.
|
|
193
|
+
* @param blockTag The block tag to retrieve the balance at.
|
|
194
|
+
* @returns The balance of the given address for the given token address.
|
|
195
|
+
*/
|
|
188
196
|
SOL: {
|
|
189
197
|
name: string;
|
|
190
198
|
symbol: string;
|
|
@@ -600,6 +608,14 @@ export declare function getTokenInfo(l2TokenAddress: string, chainId: number, to
|
|
|
600
608
|
};
|
|
601
609
|
coingeckoId: string;
|
|
602
610
|
};
|
|
611
|
+
/**
|
|
612
|
+
* Retrieves the ERC20 balance for a given address and token address.
|
|
613
|
+
* @param address The address to retrieve the balance for.
|
|
614
|
+
* @param tokenAddress The token address
|
|
615
|
+
* @param signerOrProvider A valid ethers.js Signer or Provider object.
|
|
616
|
+
* @param blockTag The block tag to retrieve the balance at.
|
|
617
|
+
* @returns The balance of the given address for the given token address.
|
|
618
|
+
*/
|
|
603
619
|
SOL: {
|
|
604
620
|
name: string;
|
|
605
621
|
symbol: string;
|