@vultisig/core-chain 5.2.0 → 5.3.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/CHANGELOG.md +39 -0
- package/dist/chains/solana/spl/verification.d.ts +38 -0
- package/dist/chains/solana/spl/verification.d.ts.map +1 -0
- package/dist/chains/solana/spl/verification.js +45 -0
- package/dist/chains/solana/spl/verification.js.map +1 -0
- package/dist/chains/solana/spl/verifiedRegistry.d.ts +34 -0
- package/dist/chains/solana/spl/verifiedRegistry.d.ts.map +1 -0
- package/dist/chains/solana/spl/verifiedRegistry.js +65 -0
- package/dist/chains/solana/spl/verifiedRegistry.js.map +1 -0
- package/dist/chains/ton/jetton/symbol.d.ts +3 -5
- package/dist/chains/ton/jetton/symbol.d.ts.map +1 -1
- package/dist/chains/ton/jetton/symbol.js +5 -58
- package/dist/chains/ton/jetton/symbol.js.map +1 -1
- package/dist/chains/ton/jetton/verification.d.ts +1 -1
- package/dist/chains/ton/jetton/verification.d.ts.map +1 -1
- package/dist/chains/ton/jetton/verification.js +3 -3
- package/dist/chains/ton/jetton/verification.js.map +1 -1
- package/dist/chains/ton/jetton/verifiedRegistry.d.ts +1 -1
- package/dist/chains/ton/jetton/verifiedRegistry.d.ts.map +1 -1
- package/dist/chains/ton/jetton/verifiedRegistry.js +3 -3
- package/dist/chains/ton/jetton/verifiedRegistry.js.map +1 -1
- package/dist/coin/coingecko/coingeckoToken.d.ts +11 -0
- package/dist/coin/coingecko/coingeckoToken.d.ts.map +1 -1
- package/dist/coin/coingecko/getCoingeckoId.d.ts +10 -0
- package/dist/coin/coingecko/getCoingeckoId.d.ts.map +1 -1
- package/dist/coin/coingecko/getCoingeckoId.js +30 -1
- package/dist/coin/coingecko/getCoingeckoId.js.map +1 -1
- package/dist/coin/find/resolvers/solana/index.d.ts +22 -1
- package/dist/coin/find/resolvers/solana/index.d.ts.map +1 -1
- package/dist/coin/find/resolvers/solana/index.js +79 -11
- package/dist/coin/find/resolvers/solana/index.js.map +1 -1
- package/dist/coin/jupiter/api.d.ts +18 -0
- package/dist/coin/jupiter/api.d.ts.map +1 -0
- package/dist/coin/jupiter/api.js +52 -0
- package/dist/coin/jupiter/api.js.map +1 -0
- package/dist/coin/jupiter/token.d.ts +4 -0
- package/dist/coin/jupiter/token.d.ts.map +1 -1
- package/dist/coin/jupiter/token.js.map +1 -1
- package/dist/coin/token/metadata/resolvers/solana.d.ts +3 -1
- package/dist/coin/token/metadata/resolvers/solana.d.ts.map +1 -1
- package/dist/coin/token/metadata/resolvers/solana.js +10 -6
- package/dist/coin/token/metadata/resolvers/solana.js.map +1 -1
- package/dist/coin/tokenSymbol.d.ts +10 -0
- package/dist/coin/tokenSymbol.d.ts.map +1 -0
- package/dist/coin/tokenSymbol.js +62 -0
- package/dist/coin/tokenSymbol.js.map +1 -0
- package/dist/security/blockaid/tx/simulation/api/core.d.ts +17 -0
- package/dist/security/blockaid/tx/simulation/api/core.d.ts.map +1 -1
- package/dist/security/blockaid/tx/simulation/api/core.js +58 -41
- package/dist/security/blockaid/tx/simulation/api/core.js.map +1 -1
- package/dist/swap/general/GeneralSwapQuote.d.ts +10 -0
- package/dist/swap/general/GeneralSwapQuote.d.ts.map +1 -1
- package/dist/swap/general/swapkit/api/getSwapKitQuote.d.ts.map +1 -1
- package/dist/swap/general/swapkit/api/getSwapKitQuote.js +40 -14
- package/dist/swap/general/swapkit/api/getSwapKitQuote.js.map +1 -1
- package/dist/swap/native/NativeSwapQuote.d.ts +6 -1
- package/dist/swap/native/NativeSwapQuote.d.ts.map +1 -1
- package/dist/tx/fee/evm/clampEvmPriorityFee.d.ts +10 -4
- package/dist/tx/fee/evm/clampEvmPriorityFee.d.ts.map +1 -1
- package/dist/tx/fee/evm/clampEvmPriorityFee.js +35 -14
- package/dist/tx/fee/evm/clampEvmPriorityFee.js.map +1 -1
- package/dist/tx/fee/evm/evmGasLimit.d.ts +29 -0
- package/dist/tx/fee/evm/evmGasLimit.d.ts.map +1 -1
- package/dist/tx/fee/evm/evmGasLimit.js +47 -17
- package/dist/tx/fee/evm/evmGasLimit.js.map +1 -1
- package/dist/tx/fee/evm/gasPrice.d.ts +4 -0
- package/dist/tx/fee/evm/gasPrice.d.ts.map +1 -0
- package/dist/tx/fee/evm/gasPrice.js +4 -0
- package/dist/tx/fee/evm/gasPrice.js.map +1 -0
- package/dist/tx/fee/evm/maxPriorityFeePerGas.d.ts +8 -0
- package/dist/tx/fee/evm/maxPriorityFeePerGas.d.ts.map +1 -1
- package/dist/tx/fee/evm/maxPriorityFeePerGas.js +30 -1
- package/dist/tx/fee/evm/maxPriorityFeePerGas.js.map +1 -1
- package/package.json +26 -1
|
@@ -254,6 +254,14 @@ const matchesSwapKitFeeChain = (feeChain, coinChain, { assetPrefix }) => {
|
|
|
254
254
|
const normalized = feeChain.toLowerCase();
|
|
255
255
|
return normalized === coinChain.toLowerCase() || normalized === assetPrefix.toLowerCase();
|
|
256
256
|
};
|
|
257
|
+
const toSwapKitFeeAmount = (amount, decimals, type) => {
|
|
258
|
+
try {
|
|
259
|
+
return toChainAmount(amount, decimals);
|
|
260
|
+
}
|
|
261
|
+
catch (error) {
|
|
262
|
+
throw new SwapKitFeeShapeError(`SwapKit ${type} fee amount "${amount}" is not a decimal number.`, { cause: error });
|
|
263
|
+
}
|
|
264
|
+
};
|
|
257
265
|
const getSwapKitSwapFee = (fees, from, to, routeProvider, fromMetadata, toMetadata) => {
|
|
258
266
|
const feeCoins = [
|
|
259
267
|
{ coin: from, metadata: fromMetadata },
|
|
@@ -281,7 +289,12 @@ const getSwapKitSwapFee = (fees, from, to, routeProvider, fromMetadata, toMetada
|
|
|
281
289
|
throw new SwapKitFeeShapeError(`SwapKit ${type} fee uses unsupported asset ${fee.asset}.`);
|
|
282
290
|
}
|
|
283
291
|
const current = {
|
|
284
|
-
amount
|
|
292
|
+
// The proxy's `amount` is an unvalidated string. `toChainAmount` throws
|
|
293
|
+
// its own error for a malformed one ("1e+", "abc"), which would escape
|
|
294
|
+
// the display-fee guard and take down a route that is otherwise
|
|
295
|
+
// signable. An amount we cannot parse is exactly an unresolvable fee
|
|
296
|
+
// shape, so it is reported as one.
|
|
297
|
+
amount: toSwapKitFeeAmount(fee.amount, candidate.coin.decimals, type),
|
|
285
298
|
chain: candidate.coin.chain,
|
|
286
299
|
id: candidate.coin.id,
|
|
287
300
|
decimals: candidate.coin.decimals,
|
|
@@ -478,7 +491,7 @@ const getBitcoinPsbtDestinationAmount = ({ txPayload, senderAddress, targetAddre
|
|
|
478
491
|
return undefined;
|
|
479
492
|
}
|
|
480
493
|
};
|
|
481
|
-
const buildTransferTx = (response, from, amount) => {
|
|
494
|
+
const buildTransferTx = ({ response, from, toCoin, amount, routeProvider, fromMetadata, toMetadata, }) => {
|
|
482
495
|
assertTransferAgreement(response, from.chain, from.decimals);
|
|
483
496
|
const agreedDestination = getTransferTargetAddress(response);
|
|
484
497
|
if (!agreedDestination) {
|
|
@@ -501,6 +514,17 @@ const buildTransferTx = (response, from, amount) => {
|
|
|
501
514
|
const psbtDestinationAmount = from.chain === Chain.Bitcoin && txType?.toUpperCase() === 'PSBT' && txPayload?.length
|
|
502
515
|
? getBitcoinPsbtDestinationAmount({ txPayload, senderAddress: from.address, targetAddress: to })
|
|
503
516
|
: undefined;
|
|
517
|
+
// Same fee the EVM branch surfaces, and absent on the same terms: a zero or
|
|
518
|
+
// unresolved amount is reported as no fee rather than as a fee of nothing.
|
|
519
|
+
const swapFee = getSwapKitDisplaySwapFee({
|
|
520
|
+
fees: response.fees,
|
|
521
|
+
from,
|
|
522
|
+
to: toCoin,
|
|
523
|
+
routeProvider,
|
|
524
|
+
fromMetadata,
|
|
525
|
+
toMetadata,
|
|
526
|
+
route: 'transfer',
|
|
527
|
+
});
|
|
504
528
|
const transfer = {
|
|
505
529
|
to,
|
|
506
530
|
amount: psbtDestinationAmount ?? getTransferAmount(response, amount, from.decimals),
|
|
@@ -509,6 +533,7 @@ const buildTransferTx = (response, from, amount) => {
|
|
|
509
533
|
...(response.tx ? { txPayload } : {}),
|
|
510
534
|
...(response.inboundAddress ? { inboundAddress: response.inboundAddress } : {}),
|
|
511
535
|
...(response.swapId ? { swapId: response.swapId } : {}),
|
|
536
|
+
...(swapFee && swapFee.amount > 0n ? { swapFee } : {}),
|
|
512
537
|
};
|
|
513
538
|
return { transfer };
|
|
514
539
|
};
|
|
@@ -528,7 +553,7 @@ const buildSwapKitTx = (response, from, to, amount, routeProvider, fromMetadata,
|
|
|
528
553
|
return buildSolanaTx(response.tx, response.fees, from, to, routeProvider, fromMetadata, toMetadata);
|
|
529
554
|
}
|
|
530
555
|
if (shouldUseTransferTx(from.chain)) {
|
|
531
|
-
return buildTransferTx(response, from, amount);
|
|
556
|
+
return buildTransferTx({ response, from, toCoin: to, amount, routeProvider, fromMetadata, toMetadata });
|
|
532
557
|
}
|
|
533
558
|
return buildEvmTx({
|
|
534
559
|
tx: response.tx,
|
|
@@ -536,28 +561,29 @@ const buildSwapKitTx = (response, from, to, amount, routeProvider, fromMetadata,
|
|
|
536
561
|
targetAddress: response.targetAddress,
|
|
537
562
|
chain: from.chain,
|
|
538
563
|
approvalTx: response.approvalTx,
|
|
539
|
-
affiliateFee:
|
|
564
|
+
affiliateFee: getSwapKitDisplaySwapFee({
|
|
540
565
|
fees: response.fees,
|
|
541
566
|
from,
|
|
542
567
|
to,
|
|
543
568
|
routeProvider,
|
|
544
569
|
fromMetadata,
|
|
545
570
|
toMetadata,
|
|
571
|
+
route: 'EVM',
|
|
546
572
|
}),
|
|
547
573
|
});
|
|
548
574
|
};
|
|
549
575
|
/**
|
|
550
|
-
* SwapKit's affiliate/service fee for an EVM route, or `undefined`
|
|
551
|
-
* shape cannot be resolved.
|
|
576
|
+
* SwapKit's affiliate/service fee for an EVM or transfer route, or `undefined`
|
|
577
|
+
* when its shape cannot be resolved.
|
|
552
578
|
*
|
|
553
|
-
* The fee is not part of
|
|
554
|
-
*
|
|
555
|
-
* would otherwise sign. Only [SwapKitFeeShapeError] is
|
|
556
|
-
* is a bug in the resolution and stays loud. The
|
|
557
|
-
* `getSwapKitSwapFee` bare and lets it throw on purpose:
|
|
558
|
-
* the fee, so an unresolved one really is fatal there.
|
|
579
|
+
* The fee is not part of what either route signs — calldata for EVM, a
|
|
580
|
+
* destination and an amount for a transfer — so an unexpected shape must never
|
|
581
|
+
* take down a route that would otherwise sign. Only [SwapKitFeeShapeError] is
|
|
582
|
+
* swallowed; anything else is a bug in the resolution and stays loud. The
|
|
583
|
+
* Solana branch calls `getSwapKitSwapFee` bare and lets it throw on purpose:
|
|
584
|
+
* its tx type requires the fee, so an unresolved one really is fatal there.
|
|
559
585
|
*/
|
|
560
|
-
const
|
|
586
|
+
const getSwapKitDisplaySwapFee = ({ fees, from, to, routeProvider, fromMetadata, toMetadata, route, }) => {
|
|
561
587
|
try {
|
|
562
588
|
return getSwapKitSwapFee(fees, from, to, routeProvider, fromMetadata, toMetadata);
|
|
563
589
|
}
|
|
@@ -565,7 +591,7 @@ const getSwapKitEvmSwapFee = ({ fees, from, to, routeProvider, fromMetadata, toM
|
|
|
565
591
|
if (!(error instanceof SwapKitFeeShapeError)) {
|
|
566
592
|
throw error;
|
|
567
593
|
}
|
|
568
|
-
console.warn(
|
|
594
|
+
console.warn(`[getSwapKitQuote] unresolved SwapKit fee on a ${route} route; reporting none`, error);
|
|
569
595
|
return undefined;
|
|
570
596
|
}
|
|
571
597
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getSwapKitQuote.js","sourceRoot":"","sources":["../../../../../../../../packages/core/chain/swap/general/swapkit/api/getSwapKitQuote.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"getSwapKitQuote.js","sourceRoot":"","sources":["../../../../../../../../packages/core/chain/swap/general/swapkit/api/getSwapKitQuote.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,7 +15,6 @@ export type NativeSwapQuote = {
|
|
|
15
15
|
recommended_min_amount_in: string;
|
|
16
16
|
liquidity_tolerance_bps?: number;
|
|
17
17
|
max_streaming_quantity?: number;
|
|
18
|
-
slippage_bps?: number;
|
|
19
18
|
total_swap_seconds?: number;
|
|
20
19
|
warning: string;
|
|
21
20
|
router?: string;
|
|
@@ -25,6 +24,12 @@ type NativeSwapFees = {
|
|
|
25
24
|
asset: string;
|
|
26
25
|
outbound: string;
|
|
27
26
|
total: string;
|
|
27
|
+
/**
|
|
28
|
+
* Price impact of the swap, in basis points. This is the slippage alone —
|
|
29
|
+
* distinct from `total_bps`, which is the total fee relative to the amount
|
|
30
|
+
* out and merely looks like it.
|
|
31
|
+
*/
|
|
32
|
+
slippage_bps?: number;
|
|
28
33
|
total_bps?: number;
|
|
29
34
|
};
|
|
30
35
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NativeSwapQuote.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/chain/swap/native/NativeSwapQuote.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAEnD,MAAM,MAAM,eAAe,GAAG;IAC5B,SAAS,EAAE,eAAe,CAAA;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,cAAc,CAAA;IACpB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,2BAA2B,CAAC,EAAE,MAAM,CAAA;IACpC,4BAA4B,CAAC,EAAE,MAAM,CAAA;IACrC,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,qBAAqB,EAAE,MAAM,CAAA;IAC7B,sBAAsB,EAAE,MAAM,CAAA;IAC9B,yBAAyB,EAAE,MAAM,CAAA;IACjC,uBAAuB,CAAC,EAAE,MAAM,CAAA;IAChC,sBAAsB,CAAC,EAAE,MAAM,CAAA;IAC/B,
|
|
1
|
+
{"version":3,"file":"NativeSwapQuote.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/chain/swap/native/NativeSwapQuote.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAEnD,MAAM,MAAM,eAAe,GAAG;IAC5B,SAAS,EAAE,eAAe,CAAA;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,cAAc,CAAA;IACpB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,2BAA2B,CAAC,EAAE,MAAM,CAAA;IACpC,4BAA4B,CAAC,EAAE,MAAM,CAAA;IACrC,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,qBAAqB,EAAE,MAAM,CAAA;IAC7B,sBAAsB,EAAE,MAAM,CAAA;IAC9B,yBAAyB,EAAE,MAAM,CAAA;IACjC,uBAAuB,CAAC,EAAE,MAAM,CAAA;IAChC,sBAAsB,CAAC,EAAE,MAAM,CAAA;IAC/B,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,KAAK,cAAc,GAAG;IACpB,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA"}
|
|
@@ -1,10 +1,16 @@
|
|
|
1
1
|
import { EvmChain } from '@vultisig/core-chain/Chain';
|
|
2
|
+
/**
|
|
3
|
+
* True on a chain whose tip `clampEvmPriorityFee` pins to zero, so a caller can
|
|
4
|
+
* skip asking the network for a suggestion it would discard anyway.
|
|
5
|
+
*/
|
|
6
|
+
export declare const isZeroPriorityFeeChain: (chain: EvmChain) => boolean;
|
|
2
7
|
/**
|
|
3
8
|
* Clamps an RPC-reported EVM maxPriorityFeePerGas into a per-chain sane
|
|
4
|
-
* range:
|
|
5
|
-
* a floor (tip-auction chains
|
|
6
|
-
* too low to ever be mined. Never throws — a
|
|
7
|
-
* through at a safe fee, whereas rejecting it would
|
|
9
|
+
* range: zero on chains that ignore the tip, a generous ceiling against a
|
|
10
|
+
* compromised RPC inflating the fee, and a floor (tip-auction chains) against
|
|
11
|
+
* an honest RPC suggesting a tip too low to ever be mined. Never throws — a
|
|
12
|
+
* clamp still lets the tx go through at a safe fee, whereas rejecting it would
|
|
13
|
+
* strand the user mid-flow.
|
|
8
14
|
*/
|
|
9
15
|
export declare const clampEvmPriorityFee: (chain: EvmChain, rpcPriorityFeeWei: bigint) => bigint;
|
|
10
16
|
//# sourceMappingURL=clampEvmPriorityFee.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clampEvmPriorityFee.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/chain/tx/fee/evm/clampEvmPriorityFee.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;
|
|
1
|
+
{"version":3,"file":"clampEvmPriorityFee.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/chain/tx/fee/evm/clampEvmPriorityFee.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AA4ErD;;;GAGG;AACH,eAAO,MAAM,sBAAsB,GAAI,OAAO,QAAQ,KAAG,OAAgD,CAAA;AAEzG;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB,GAAI,OAAO,QAAQ,EAAE,mBAAmB,MAAM,KAAG,MAsBhF,CAAA"}
|
|
@@ -42,29 +42,50 @@ const priorityFeeCeilingWeiByChain = {
|
|
|
42
42
|
[EvmChain.Sei]: defaultPriorityFeeCeilingWei,
|
|
43
43
|
};
|
|
44
44
|
/**
|
|
45
|
-
* Minimum tip (wei) to sign
|
|
46
|
-
*
|
|
47
|
-
*
|
|
48
|
-
*
|
|
49
|
-
* in the
|
|
50
|
-
*
|
|
51
|
-
*
|
|
52
|
-
*
|
|
53
|
-
*
|
|
54
|
-
* rollups deliberately have no floor.
|
|
45
|
+
* Minimum tip (wei) to sign with, per chain. In quiet fee markets the
|
|
46
|
+
* RPC-suggested maxPriorityFeePerGas collapses to near zero (~0.0004 gwei
|
|
47
|
+
* observed on Ethereum L1); on a chain where inclusion is a public tip auction
|
|
48
|
+
* that gives block builders no incentive to include the transaction, so it
|
|
49
|
+
* sits in the mempool until evicted and shows up as "pending then disappeared"
|
|
50
|
+
* on explorers. Tip-auction chains take 1 gwei, Polygon 30 gwei (its
|
|
51
|
+
* validators enforce a ~25 gwei minimum), and OP-stack rollups a nominal
|
|
52
|
+
* 20 wei so the signed field is never literally zero. Chains absent here
|
|
53
|
+
* (Avalanche, Zksync) sign whatever the RPC suggests.
|
|
55
54
|
*/
|
|
56
55
|
const priorityFeeFloorWeiByChain = {
|
|
57
56
|
[EvmChain.Ethereum]: 1n * GWEI,
|
|
57
|
+
[EvmChain.BSC]: 1n * GWEI,
|
|
58
|
+
[EvmChain.CronosChain]: 1n * GWEI,
|
|
59
|
+
[EvmChain.Hyperliquid]: 1n * GWEI,
|
|
60
|
+
[EvmChain.Sei]: 1n * GWEI,
|
|
58
61
|
[EvmChain.Polygon]: 30n * GWEI,
|
|
62
|
+
[EvmChain.Base]: 20n,
|
|
63
|
+
[EvmChain.Blast]: 20n,
|
|
64
|
+
[EvmChain.Optimism]: 20n,
|
|
59
65
|
};
|
|
66
|
+
/**
|
|
67
|
+
* Chains whose sequencer admits transactions first-come-first-served without a
|
|
68
|
+
* tip auction, so any priority fee is money paid for nothing. Signed with a
|
|
69
|
+
* zero tip regardless of what the RPC suggests.
|
|
70
|
+
*/
|
|
71
|
+
const zeroPriorityFeeChains = [EvmChain.Arbitrum, EvmChain.Mantle, EvmChain.Robinhood];
|
|
72
|
+
/**
|
|
73
|
+
* True on a chain whose tip `clampEvmPriorityFee` pins to zero, so a caller can
|
|
74
|
+
* skip asking the network for a suggestion it would discard anyway.
|
|
75
|
+
*/
|
|
76
|
+
export const isZeroPriorityFeeChain = (chain) => zeroPriorityFeeChains.includes(chain);
|
|
60
77
|
/**
|
|
61
78
|
* Clamps an RPC-reported EVM maxPriorityFeePerGas into a per-chain sane
|
|
62
|
-
* range:
|
|
63
|
-
* a floor (tip-auction chains
|
|
64
|
-
* too low to ever be mined. Never throws — a
|
|
65
|
-
* through at a safe fee, whereas rejecting it would
|
|
79
|
+
* range: zero on chains that ignore the tip, a generous ceiling against a
|
|
80
|
+
* compromised RPC inflating the fee, and a floor (tip-auction chains) against
|
|
81
|
+
* an honest RPC suggesting a tip too low to ever be mined. Never throws — a
|
|
82
|
+
* clamp still lets the tx go through at a safe fee, whereas rejecting it would
|
|
83
|
+
* strand the user mid-flow.
|
|
66
84
|
*/
|
|
67
85
|
export const clampEvmPriorityFee = (chain, rpcPriorityFeeWei) => {
|
|
86
|
+
if (zeroPriorityFeeChains.includes(chain)) {
|
|
87
|
+
return 0n;
|
|
88
|
+
}
|
|
68
89
|
const ceiling = priorityFeeCeilingWeiByChain[chain];
|
|
69
90
|
if (rpcPriorityFeeWei > ceiling) {
|
|
70
91
|
console.warn(`[evm] RPC-reported maxPriorityFeePerGas for ${chain} (${rpcPriorityFeeWei} wei) exceeds the sanity ceiling (${ceiling} wei); clamping to the ceiling.`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clampEvmPriorityFee.js","sourceRoot":"","sources":["../../../../../../../packages/core/chain/tx/fee/evm/clampEvmPriorityFee.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AAErD,MAAM,IAAI,GAAG,WAAc,CAAA;AAC3B,MAAM,4BAA4B,GAAG,IAAI,GAAG,IAAI,CAAA;AAEhD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,4BAA4B,GAA6B;IAC7D,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,GAAG,GAAG,IAAI;IAC/B,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,IAAI;IAC3B,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,GAAG,GAAG,IAAI;IAC5B,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,GAAG,GAAG,IAAI;IAC/B,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,GAAG,GAAG,IAAI;IAC7B,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,GAAG,GAAG,IAAI;IAC7B,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,GAAG,GAAG,IAAI;IAChC,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,4BAA4B;IAClD,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,4BAA4B;IACpD,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,4BAA4B;IAC5C,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,IAAI,GAAG,IAAI;IAChC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,KAAM,GAAG,IAAI;IACjC,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,4BAA4B;IACpD,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,4BAA4B;CAC7C,CAAA;AAED
|
|
1
|
+
{"version":3,"file":"clampEvmPriorityFee.js","sourceRoot":"","sources":["../../../../../../../packages/core/chain/tx/fee/evm/clampEvmPriorityFee.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,38 @@
|
|
|
1
1
|
import { EvmChain } from '@vultisig/core-chain/Chain';
|
|
2
2
|
import { CoinKey } from '../../../coin/Coin.js';
|
|
3
|
+
/**
|
|
4
|
+
* Lowest gas limit a plain transfer of `coin` is signed with. A live
|
|
5
|
+
* `eth_estimateGas` result is preferred and only raised to this when it comes
|
|
6
|
+
* in lower or cannot be obtained.
|
|
7
|
+
*/
|
|
8
|
+
export declare const getEvmTransferGasLimit: ({ id, chain }: CoinKey<EvmChain>) => bigint;
|
|
9
|
+
/**
|
|
10
|
+
* Intrinsic gas the calldata of a plain transfer adds to the base cost. Sizes
|
|
11
|
+
* the fallback for a memo-carrying send that could not be simulated, since a
|
|
12
|
+
* node refuses a limit below the intrinsic cost outright.
|
|
13
|
+
*/
|
|
14
|
+
export declare const getEvmCalldataGas: (data: `0x${string}`) => bigint;
|
|
15
|
+
/**
|
|
16
|
+
* Gas limit a contract call (aggregator swap, dApp transaction) falls back to
|
|
17
|
+
* when it cannot be simulated, e.g. a swap quoted before its token allowance
|
|
18
|
+
* exists. Mantle meters gas in far larger units than other chains.
|
|
19
|
+
*/
|
|
20
|
+
export declare const getEvmContractCallGasLimit: (chain: EvmChain) => bigint;
|
|
21
|
+
/**
|
|
22
|
+
* Gas limit signed for a THORChain or Maya deposit leaving an EVM chain: a
|
|
23
|
+
* memo-carrying transfer to the inbound vault for the fee coin, a router
|
|
24
|
+
* `depositWithExpiry` call for a token. Sized like an ERC-20 transfer, which
|
|
25
|
+
* comfortably covers both.
|
|
26
|
+
*/
|
|
27
|
+
export declare const evmRouterDepositGasLimit = 120000n;
|
|
3
28
|
type DeriveEvmGasLimitInput = {
|
|
4
29
|
coin: CoinKey<EvmChain>;
|
|
5
30
|
data?: string;
|
|
6
31
|
};
|
|
32
|
+
/**
|
|
33
|
+
* Fallback gas limit for a transaction that could not be simulated: the
|
|
34
|
+
* contract-call default when it carries calldata, the transfer default otherwise.
|
|
35
|
+
*/
|
|
7
36
|
export declare const deriveEvmGasLimit: ({ coin, data }: DeriveEvmGasLimitInput) => bigint;
|
|
8
37
|
export {};
|
|
9
38
|
//# sourceMappingURL=evmGasLimit.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evmGasLimit.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/chain/tx/fee/evm/evmGasLimit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;
|
|
1
|
+
{"version":3,"file":"evmGasLimit.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/chain/tx/fee/evm/evmGasLimit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AAGrD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAwC5C;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,GAAI,eAAe,OAAO,CAAC,QAAQ,CAAC,KAAG,MACX,CAAA;AAU/D;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,GAAI,MAAM,KAAK,MAAM,EAAE,KAAG,MAC6D,CAAA;AAErH;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,GAAI,OAAO,QAAQ,KAAG,MACN,CAAA;AAEvD;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,UAAW,CAAA;AAEhD,KAAK,sBAAsB,GAAG;IAC5B,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAA;IACvB,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,iBAAiB,GAAI,gBAAgB,sBAAsB,KAAG,MACG,CAAA"}
|
|
@@ -1,44 +1,74 @@
|
|
|
1
1
|
import { EvmChain } from '@vultisig/core-chain/Chain';
|
|
2
|
+
import { hexToBytes } from 'viem';
|
|
2
3
|
const zkSyncTransferGasLimit = 200000n;
|
|
3
|
-
const mantleTransferGasLimit = 90000000n;
|
|
4
4
|
const feeCoinTransferGasLimit = {
|
|
5
5
|
[EvmChain.Ethereum]: 23000n,
|
|
6
|
-
[EvmChain.Base]:
|
|
6
|
+
[EvmChain.Base]: 50000n,
|
|
7
7
|
[EvmChain.Arbitrum]: 120000n,
|
|
8
|
-
[EvmChain.Polygon]:
|
|
8
|
+
[EvmChain.Polygon]: 40000n,
|
|
9
9
|
[EvmChain.Optimism]: 40000n,
|
|
10
10
|
[EvmChain.CronosChain]: 40000n,
|
|
11
|
-
[EvmChain.Blast]:
|
|
12
|
-
[EvmChain.BSC]:
|
|
11
|
+
[EvmChain.Blast]: 200000n,
|
|
12
|
+
[EvmChain.BSC]: 23000n,
|
|
13
13
|
[EvmChain.Avalanche]: 23000n,
|
|
14
14
|
[EvmChain.Zksync]: zkSyncTransferGasLimit,
|
|
15
|
-
[EvmChain.Mantle]:
|
|
15
|
+
[EvmChain.Mantle]: 23000n,
|
|
16
16
|
[EvmChain.Hyperliquid]: 23000n,
|
|
17
|
-
[EvmChain.Sei]:
|
|
17
|
+
[EvmChain.Sei]: 23000n,
|
|
18
18
|
[EvmChain.Robinhood]: 120000n,
|
|
19
19
|
};
|
|
20
20
|
const defaultErc20TransferGasLimit = 120000n;
|
|
21
21
|
const erc20TransferGasLimit = {
|
|
22
22
|
[EvmChain.Ethereum]: defaultErc20TransferGasLimit,
|
|
23
|
-
[EvmChain.Base]:
|
|
23
|
+
[EvmChain.Base]: 150000n,
|
|
24
24
|
[EvmChain.Arbitrum]: defaultErc20TransferGasLimit,
|
|
25
25
|
[EvmChain.Polygon]: defaultErc20TransferGasLimit,
|
|
26
26
|
[EvmChain.Optimism]: defaultErc20TransferGasLimit,
|
|
27
27
|
[EvmChain.CronosChain]: defaultErc20TransferGasLimit,
|
|
28
|
-
[EvmChain.Blast]:
|
|
28
|
+
[EvmChain.Blast]: 200000n,
|
|
29
29
|
[EvmChain.BSC]: defaultErc20TransferGasLimit,
|
|
30
30
|
[EvmChain.Avalanche]: defaultErc20TransferGasLimit,
|
|
31
31
|
[EvmChain.Zksync]: zkSyncTransferGasLimit,
|
|
32
|
-
[EvmChain.Mantle]:
|
|
32
|
+
[EvmChain.Mantle]: defaultErc20TransferGasLimit,
|
|
33
33
|
[EvmChain.Hyperliquid]: defaultErc20TransferGasLimit,
|
|
34
34
|
[EvmChain.Sei]: defaultErc20TransferGasLimit,
|
|
35
35
|
[EvmChain.Robinhood]: defaultErc20TransferGasLimit,
|
|
36
36
|
};
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
37
|
+
/**
|
|
38
|
+
* Lowest gas limit a plain transfer of `coin` is signed with. A live
|
|
39
|
+
* `eth_estimateGas` result is preferred and only raised to this when it comes
|
|
40
|
+
* in lower or cannot be obtained.
|
|
41
|
+
*/
|
|
42
|
+
export const getEvmTransferGasLimit = ({ id, chain }) => (id ? erc20TransferGasLimit : feeCoinTransferGasLimit)[chain];
|
|
43
|
+
// Calldata is priced per byte at the higher of the execution rate (16 gas for a
|
|
44
|
+
// non-zero byte, 4 for a zero byte) and the floor introduced with EIP-7623
|
|
45
|
+
// (10 gas per token, where a zero byte is one token and a non-zero byte four).
|
|
46
|
+
// A plain transfer runs no code, so the floor is what it pays wherever that EIP
|
|
47
|
+
// is active, and it exceeds the execution rate everywhere else.
|
|
48
|
+
const calldataGasPerZeroByte = 10n;
|
|
49
|
+
const calldataGasPerNonZeroByte = 40n;
|
|
50
|
+
/**
|
|
51
|
+
* Intrinsic gas the calldata of a plain transfer adds to the base cost. Sizes
|
|
52
|
+
* the fallback for a memo-carrying send that could not be simulated, since a
|
|
53
|
+
* node refuses a limit below the intrinsic cost outright.
|
|
54
|
+
*/
|
|
55
|
+
export const getEvmCalldataGas = (data) => hexToBytes(data).reduce((gas, byte) => gas + (byte === 0 ? calldataGasPerZeroByte : calldataGasPerNonZeroByte), 0n);
|
|
56
|
+
/**
|
|
57
|
+
* Gas limit a contract call (aggregator swap, dApp transaction) falls back to
|
|
58
|
+
* when it cannot be simulated, e.g. a swap quoted before its token allowance
|
|
59
|
+
* exists. Mantle meters gas in far larger units than other chains.
|
|
60
|
+
*/
|
|
61
|
+
export const getEvmContractCallGasLimit = (chain) => chain === EvmChain.Mantle ? 3000000000n : 600000n;
|
|
62
|
+
/**
|
|
63
|
+
* Gas limit signed for a THORChain or Maya deposit leaving an EVM chain: a
|
|
64
|
+
* memo-carrying transfer to the inbound vault for the fee coin, a router
|
|
65
|
+
* `depositWithExpiry` call for a token. Sized like an ERC-20 transfer, which
|
|
66
|
+
* comfortably covers both.
|
|
67
|
+
*/
|
|
68
|
+
export const evmRouterDepositGasLimit = 120000n;
|
|
69
|
+
/**
|
|
70
|
+
* Fallback gas limit for a transaction that could not be simulated: the
|
|
71
|
+
* contract-call default when it carries calldata, the transfer default otherwise.
|
|
72
|
+
*/
|
|
73
|
+
export const deriveEvmGasLimit = ({ coin, data }) => data ? getEvmContractCallGasLimit(coin.chain) : getEvmTransferGasLimit(coin);
|
|
44
74
|
//# sourceMappingURL=evmGasLimit.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evmGasLimit.js","sourceRoot":"","sources":["../../../../../../../packages/core/chain/tx/fee/evm/evmGasLimit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;
|
|
1
|
+
{"version":3,"file":"evmGasLimit.js","sourceRoot":"","sources":["../../../../../../../packages/core/chain/tx/fee/evm/evmGasLimit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAA;AAIjC,MAAM,sBAAsB,GAAG,OAAQ,CAAA;AAEvC,MAAM,uBAAuB,GAA6B;IACxD,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAO;IAC5B,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAO;IACxB,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAQ;IAC7B,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAO;IAC3B,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAO;IAC5B,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAO;IAC/B,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAQ;IAC1B,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAO;IACvB,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAO;IAC7B,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,sBAAsB;IACzC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAO;IAC1B,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAO;IAC/B,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAO;IACvB,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAQ;CAC/B,CAAA;AAED,MAAM,4BAA4B,GAAG,OAAQ,CAAA;AAE7C,MAAM,qBAAqB,GAA6B;IACtD,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,4BAA4B;IACjD,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAQ;IACzB,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,4BAA4B;IACjD,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,4BAA4B;IAChD,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,4BAA4B;IACjD,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,4BAA4B;IACpD,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAQ;IAC1B,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,4BAA4B;IAC5C,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,4BAA4B;IAClD,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,sBAAsB;IACzC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,4BAA4B;IAC/C,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,4BAA4B;IACpD,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,4BAA4B;IAC5C,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,4BAA4B;CACnD,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,EAAE,EAAE,EAAE,KAAK,EAAqB,EAAU,EAAE,CACjF,CAAC,EAAE,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,KAAK,CAAC,CAAA;AAE/D,gFAAgF;AAChF,2EAA2E;AAC3E,+EAA+E;AAC/E,gFAAgF;AAChF,gEAAgE;AAChE,MAAM,sBAAsB,GAAG,GAAG,CAAA;AAClC,MAAM,yBAAyB,GAAG,GAAG,CAAA;AAErC;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,IAAmB,EAAU,EAAE,CAC/D,UAAU,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,yBAAyB,CAAC,EAAE,EAAE,CAAC,CAAA;AAErH;;;;GAIG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,KAAe,EAAU,EAAE,CACpE,KAAK,KAAK,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,WAAc,CAAC,CAAC,CAAC,OAAQ,CAAA;AAEvD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,OAAQ,CAAA;AAOhD;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,EAA0B,EAAU,EAAE,CAClF,IAAI,CAAC,CAAC,CAAC,0BAA0B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gasPrice.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/chain/tx/fee/evm/gasPrice.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AAGrD,oEAAoE;AACpE,eAAO,MAAM,cAAc,GAAU,OAAO,QAAQ,KAAG,OAAO,CAAC,MAAM,CAAsC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gasPrice.js","sourceRoot":"","sources":["../../../../../../../packages/core/chain/tx/fee/evm/gasPrice.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAA;AAErE,oEAAoE;AACpE,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,EAAE,KAAe,EAAmB,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAA"}
|
|
@@ -1,3 +1,11 @@
|
|
|
1
1
|
import { EvmChain } from '@vultisig/core-chain/Chain';
|
|
2
|
+
/**
|
|
3
|
+
* Priority fee to sign with: the highest 5th-percentile tip paid in any of the
|
|
4
|
+
* last ten blocks, so the transaction clears even a busy block, falling back to
|
|
5
|
+
* the node's own suggestion when no history is available. Capped at the current
|
|
6
|
+
* gas price when that lookup succeeds; a failed lookup just leaves the tip
|
|
7
|
+
* uncapped rather than failing the quote, since an EIP-1559 tip stands on its
|
|
8
|
+
* own without it.
|
|
9
|
+
*/
|
|
2
10
|
export declare const getEvmMaxPriorityFeePerGas: (chain: EvmChain) => Promise<bigint>;
|
|
3
11
|
//# sourceMappingURL=maxPriorityFeePerGas.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"maxPriorityFeePerGas.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/chain/tx/fee/evm/maxPriorityFeePerGas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;
|
|
1
|
+
{"version":3,"file":"maxPriorityFeePerGas.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/chain/tx/fee/evm/maxPriorityFeePerGas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AAQrD;;;;;;;GAOG;AACH,eAAO,MAAM,0BAA0B,GAAU,OAAO,QAAQ,KAAG,OAAO,CAAC,MAAM,CAyBhF,CAAA"}
|