@safe-global/protocol-kit 8.0.4 → 8.0.6
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/src/index.cjs +37 -10
- package/dist/cjs/test-utils/index.cjs +9 -4
- package/dist/esm/src/index.mjs +37 -10
- package/dist/esm/test-utils/index.mjs +9 -4
- package/dist/src/utils/eip-3770/config.d.ts.map +1 -1
- package/dist/src/utils/transactions/gas.d.ts.map +1 -1
- package/package.json +4 -4
package/dist/cjs/src/index.cjs
CHANGED
|
@@ -717,6 +717,7 @@ var networks = [
|
|
|
717
717
|
{ chainId: 103454n, shortName: "masatest" },
|
|
718
718
|
{ chainId: 105105n, shortName: "stratis" },
|
|
719
719
|
{ chainId: 111188n, shortName: "re-al" },
|
|
720
|
+
{ chainId: 127001n, shortName: "grav" },
|
|
720
721
|
{ chainId: 127823n, shortName: "etls" },
|
|
721
722
|
{ chainId: 128123n, shortName: "etlt" },
|
|
722
723
|
{ chainId: 167000n, shortName: "tko-mainnet" },
|
|
@@ -5462,16 +5463,18 @@ async function getExtensibleFallbackHandlerContract({
|
|
|
5462
5463
|
// src/utils/transactions/gas.ts
|
|
5463
5464
|
var CALL_DATA_ZERO_BYTE_GAS_COST = 4;
|
|
5464
5465
|
var CALL_DATA_BYTE_GAS_COST = 16;
|
|
5465
|
-
var
|
|
5466
|
+
var COLD_SLOAD_GAS_COST = 2100;
|
|
5467
|
+
var INITIALIZATION_GAS_COST = 2e4 + COLD_SLOAD_GAS_COST;
|
|
5466
5468
|
var INCREMENT_NONCE_GAS_COST = 5e3;
|
|
5467
5469
|
var HASH_GENERATION_GAS_COST = 1500;
|
|
5468
|
-
var ECRECOVER_GAS_COST =
|
|
5470
|
+
var ECRECOVER_GAS_COST = 3100;
|
|
5469
5471
|
var INTRINSIC_TX_GAS_COST = 21e3;
|
|
5470
|
-
var PRE_EXEC_STORAGE_GAS_COST = 2 *
|
|
5471
|
-
var MISC_OVERHEAD_GAS_COST =
|
|
5472
|
+
var PRE_EXEC_STORAGE_GAS_COST = 2 * COLD_SLOAD_GAS_COST;
|
|
5473
|
+
var MISC_OVERHEAD_GAS_COST = 900;
|
|
5472
5474
|
var EXTRA_BASE_GAS_COST = INTRINSIC_TX_GAS_COST + PRE_EXEC_STORAGE_GAS_COST + MISC_OVERHEAD_GAS_COST;
|
|
5473
5475
|
var NEW_ACCOUNT_GAS_COST = 25e3;
|
|
5474
5476
|
var COLD_ACCOUNT_ACCESS_GAS_COST = 2600;
|
|
5477
|
+
var PROXY_FALLBACK_GAS_COST = COLD_SLOAD_GAS_COST + COLD_ACCOUNT_ACCESS_GAS_COST + 400;
|
|
5475
5478
|
var CALL_VALUE_GAS_COST = 9e3;
|
|
5476
5479
|
var ERC20_TRANSFER_GAS_COST = 21e3;
|
|
5477
5480
|
var ERC20_NEW_HOLDER_TRANSFER_GAS_COST = 38e3;
|
|
@@ -5479,7 +5482,8 @@ var LOG_BASE_GAS_COST = 375;
|
|
|
5479
5482
|
var LOG_TOPIC_GAS_COST = 375;
|
|
5480
5483
|
var LOG_DATA_GAS_COST_PER_BYTE = 8;
|
|
5481
5484
|
var EXECUTION_RESULT_EVENT_GAS_COST = 1500;
|
|
5482
|
-
var
|
|
5485
|
+
var L2_EVENT_ENCODING_GAS_COST = 354;
|
|
5486
|
+
var GAS_COST_PER_SIGNATURE = 1 * CALL_DATA_BYTE_GAS_COST + 2 * 32 * CALL_DATA_BYTE_GAS_COST + ECRECOVER_GAS_COST + COLD_SLOAD_GAS_COST;
|
|
5483
5487
|
function estimateDataGasCosts(data) {
|
|
5484
5488
|
const bytes = data.match(/.{2}/g);
|
|
5485
5489
|
return bytes.reduce((gasCost, currentByte) => {
|
|
@@ -5503,6 +5507,7 @@ function calculateExecTransactionEventsGas(isL1SafeSingleton, data, threshold) {
|
|
|
5503
5507
|
const additionalInfoDynamicBytes = 32 + 3 * 32;
|
|
5504
5508
|
const eventDataBytes = headBytes + dataDynamicBytes + signaturesDynamicBytes + additionalInfoDynamicBytes;
|
|
5505
5509
|
gas += LOG_BASE_GAS_COST + LOG_TOPIC_GAS_COST + eventDataBytes * LOG_DATA_GAS_COST_PER_BYTE;
|
|
5510
|
+
gas += L2_EVENT_ENCODING_GAS_COST;
|
|
5506
5511
|
}
|
|
5507
5512
|
return gas;
|
|
5508
5513
|
}
|
|
@@ -5530,7 +5535,23 @@ async function hasExistingTokenBalance(safeProvider, gasToken, account) {
|
|
|
5530
5535
|
return false;
|
|
5531
5536
|
}
|
|
5532
5537
|
}
|
|
5533
|
-
async function
|
|
5538
|
+
async function probeErc20TransferGas(safeProvider, gasToken, safeAddress, refundReceiver) {
|
|
5539
|
+
const data = (0, import_viem8.encodeFunctionData)({
|
|
5540
|
+
abi: (0, import_viem8.parseAbi)(["function transfer(address to, uint256 amount) returns (bool)"]),
|
|
5541
|
+
functionName: "transfer",
|
|
5542
|
+
args: [refundReceiver, 1n]
|
|
5543
|
+
});
|
|
5544
|
+
try {
|
|
5545
|
+
const gas = Number(
|
|
5546
|
+
await safeProvider.estimateGas({ to: gasToken, from: safeAddress, value: "0", data })
|
|
5547
|
+
);
|
|
5548
|
+
const executionGas = gas - INTRINSIC_TX_GAS_COST - estimateDataGasCosts(data);
|
|
5549
|
+
return executionGas > 0 ? executionGas : void 0;
|
|
5550
|
+
} catch {
|
|
5551
|
+
return void 0;
|
|
5552
|
+
}
|
|
5553
|
+
}
|
|
5554
|
+
async function calculateRefundGas(safeProvider, gasPrice, gasToken, refundReceiver, safeAddress) {
|
|
5534
5555
|
if (BigInt(gasPrice) === 0n) {
|
|
5535
5556
|
return 0;
|
|
5536
5557
|
}
|
|
@@ -5541,8 +5562,12 @@ async function calculateRefundGas(safeProvider, gasPrice, gasToken, refundReceiv
|
|
|
5541
5562
|
}
|
|
5542
5563
|
return gas;
|
|
5543
5564
|
}
|
|
5544
|
-
const hasBalance = await
|
|
5545
|
-
|
|
5565
|
+
const [hasBalance, probe] = await Promise.all([
|
|
5566
|
+
hasExistingTokenBalance(safeProvider, gasToken, refundReceiver),
|
|
5567
|
+
probeErc20TransferGas(safeProvider, gasToken, safeAddress, refundReceiver)
|
|
5568
|
+
]);
|
|
5569
|
+
const fallback = hasBalance ? ERC20_TRANSFER_GAS_COST : ERC20_NEW_HOLDER_TRANSFER_GAS_COST;
|
|
5570
|
+
return probe === void 0 ? fallback : Math.max(probe, fallback);
|
|
5546
5571
|
}
|
|
5547
5572
|
async function estimateGas(safeVersion, safeContract, safeProvider, to, valueInWei, data, operation, customContracts) {
|
|
5548
5573
|
const chainId = await safeProvider.getChainId();
|
|
@@ -5606,11 +5631,12 @@ async function estimateTxBaseGas(safe, safeTransaction) {
|
|
|
5606
5631
|
const safeVersion = safe.getContractVersion();
|
|
5607
5632
|
const contractManager = safe.getContractManager();
|
|
5608
5633
|
const isL1SafeSingleton = contractManager.isL1SafeSingleton;
|
|
5634
|
+
const safeAddress = await safe.getAddress();
|
|
5609
5635
|
const [safeThreshold, safeNonce, chainId, refundGas] = await Promise.all([
|
|
5610
5636
|
safe.getThreshold(),
|
|
5611
5637
|
safe.getNonce(),
|
|
5612
5638
|
safe.getChainId(),
|
|
5613
|
-
calculateRefundGas(safeProvider, gasPrice, encodeGasToken, encodeRefundReceiver)
|
|
5639
|
+
calculateRefundGas(safeProvider, gasPrice, encodeGasToken, encodeRefundReceiver, safeAddress)
|
|
5614
5640
|
]);
|
|
5615
5641
|
const signaturesGasCost = safeThreshold * GAS_COST_PER_SIGNATURE;
|
|
5616
5642
|
const customContracts = contractManager.contractNetworks?.[chainId.toString()];
|
|
@@ -5638,6 +5664,7 @@ async function estimateTxBaseGas(safe, safeTransaction) {
|
|
|
5638
5664
|
baseGas += refundGas;
|
|
5639
5665
|
baseGas += calculateExecTransactionEventsGas(isL1SafeSingleton ?? false, data, safeThreshold);
|
|
5640
5666
|
baseGas += EXTRA_BASE_GAS_COST;
|
|
5667
|
+
baseGas += PROXY_FALLBACK_GAS_COST;
|
|
5641
5668
|
const baseGasUsedBytes = Math.ceil(baseGas.toString(16).length / 2);
|
|
5642
5669
|
baseGas += baseGasUsedBytes * (CALL_DATA_BYTE_GAS_COST - CALL_DATA_ZERO_BYTE_GAS_COST);
|
|
5643
5670
|
return baseGas.toString();
|
|
@@ -7413,7 +7440,7 @@ function generateOnChainIdentifier({
|
|
|
7413
7440
|
var generateOnChainIdentifier_default = generateOnChainIdentifier;
|
|
7414
7441
|
|
|
7415
7442
|
// src/utils/getProtocolKitVersion.ts
|
|
7416
|
-
var getProtocolKitVersion = () => "8.0.
|
|
7443
|
+
var getProtocolKitVersion = () => "8.0.6";
|
|
7417
7444
|
|
|
7418
7445
|
// src/Safe.ts
|
|
7419
7446
|
var EQ_OR_GT_1_5_0 = ">=1.5.0";
|
|
@@ -705,6 +705,7 @@ var networks = [
|
|
|
705
705
|
{ chainId: 103454n, shortName: "masatest" },
|
|
706
706
|
{ chainId: 105105n, shortName: "stratis" },
|
|
707
707
|
{ chainId: 111188n, shortName: "re-al" },
|
|
708
|
+
{ chainId: 127001n, shortName: "grav" },
|
|
708
709
|
{ chainId: 127823n, shortName: "etls" },
|
|
709
710
|
{ chainId: 128123n, shortName: "etlt" },
|
|
710
711
|
{ chainId: 167000n, shortName: "tko-mainnet" },
|
|
@@ -4652,12 +4653,16 @@ async function getSafeWebAuthnSharedSignerContract({
|
|
|
4652
4653
|
|
|
4653
4654
|
// src/utils/transactions/gas.ts
|
|
4654
4655
|
var CALL_DATA_BYTE_GAS_COST = 16;
|
|
4655
|
-
var
|
|
4656
|
+
var COLD_SLOAD_GAS_COST = 2100;
|
|
4657
|
+
var INITIALIZATION_GAS_COST = 2e4 + COLD_SLOAD_GAS_COST;
|
|
4658
|
+
var ECRECOVER_GAS_COST = 3100;
|
|
4656
4659
|
var INTRINSIC_TX_GAS_COST = 21e3;
|
|
4657
|
-
var PRE_EXEC_STORAGE_GAS_COST = 2 *
|
|
4658
|
-
var MISC_OVERHEAD_GAS_COST =
|
|
4660
|
+
var PRE_EXEC_STORAGE_GAS_COST = 2 * COLD_SLOAD_GAS_COST;
|
|
4661
|
+
var MISC_OVERHEAD_GAS_COST = 900;
|
|
4659
4662
|
var EXTRA_BASE_GAS_COST = INTRINSIC_TX_GAS_COST + PRE_EXEC_STORAGE_GAS_COST + MISC_OVERHEAD_GAS_COST;
|
|
4660
|
-
var
|
|
4663
|
+
var COLD_ACCOUNT_ACCESS_GAS_COST = 2600;
|
|
4664
|
+
var PROXY_FALLBACK_GAS_COST = COLD_SLOAD_GAS_COST + COLD_ACCOUNT_ACCESS_GAS_COST + 400;
|
|
4665
|
+
var GAS_COST_PER_SIGNATURE = 1 * CALL_DATA_BYTE_GAS_COST + 2 * 32 * CALL_DATA_BYTE_GAS_COST + ECRECOVER_GAS_COST + COLD_SLOAD_GAS_COST;
|
|
4661
4666
|
|
|
4662
4667
|
// src/utils/transactions/utils.ts
|
|
4663
4668
|
var import_types_kit36 = require("@safe-global/types-kit");
|
package/dist/esm/src/index.mjs
CHANGED
|
@@ -648,6 +648,7 @@ var networks = [
|
|
|
648
648
|
{ chainId: 103454n, shortName: "masatest" },
|
|
649
649
|
{ chainId: 105105n, shortName: "stratis" },
|
|
650
650
|
{ chainId: 111188n, shortName: "re-al" },
|
|
651
|
+
{ chainId: 127001n, shortName: "grav" },
|
|
651
652
|
{ chainId: 127823n, shortName: "etls" },
|
|
652
653
|
{ chainId: 128123n, shortName: "etlt" },
|
|
653
654
|
{ chainId: 167000n, shortName: "tko-mainnet" },
|
|
@@ -5475,16 +5476,18 @@ async function getExtensibleFallbackHandlerContract({
|
|
|
5475
5476
|
// src/utils/transactions/gas.ts
|
|
5476
5477
|
var CALL_DATA_ZERO_BYTE_GAS_COST = 4;
|
|
5477
5478
|
var CALL_DATA_BYTE_GAS_COST = 16;
|
|
5478
|
-
var
|
|
5479
|
+
var COLD_SLOAD_GAS_COST = 2100;
|
|
5480
|
+
var INITIALIZATION_GAS_COST = 2e4 + COLD_SLOAD_GAS_COST;
|
|
5479
5481
|
var INCREMENT_NONCE_GAS_COST = 5e3;
|
|
5480
5482
|
var HASH_GENERATION_GAS_COST = 1500;
|
|
5481
|
-
var ECRECOVER_GAS_COST =
|
|
5483
|
+
var ECRECOVER_GAS_COST = 3100;
|
|
5482
5484
|
var INTRINSIC_TX_GAS_COST = 21e3;
|
|
5483
|
-
var PRE_EXEC_STORAGE_GAS_COST = 2 *
|
|
5484
|
-
var MISC_OVERHEAD_GAS_COST =
|
|
5485
|
+
var PRE_EXEC_STORAGE_GAS_COST = 2 * COLD_SLOAD_GAS_COST;
|
|
5486
|
+
var MISC_OVERHEAD_GAS_COST = 900;
|
|
5485
5487
|
var EXTRA_BASE_GAS_COST = INTRINSIC_TX_GAS_COST + PRE_EXEC_STORAGE_GAS_COST + MISC_OVERHEAD_GAS_COST;
|
|
5486
5488
|
var NEW_ACCOUNT_GAS_COST = 25e3;
|
|
5487
5489
|
var COLD_ACCOUNT_ACCESS_GAS_COST = 2600;
|
|
5490
|
+
var PROXY_FALLBACK_GAS_COST = COLD_SLOAD_GAS_COST + COLD_ACCOUNT_ACCESS_GAS_COST + 400;
|
|
5488
5491
|
var CALL_VALUE_GAS_COST = 9e3;
|
|
5489
5492
|
var ERC20_TRANSFER_GAS_COST = 21e3;
|
|
5490
5493
|
var ERC20_NEW_HOLDER_TRANSFER_GAS_COST = 38e3;
|
|
@@ -5492,7 +5495,8 @@ var LOG_BASE_GAS_COST = 375;
|
|
|
5492
5495
|
var LOG_TOPIC_GAS_COST = 375;
|
|
5493
5496
|
var LOG_DATA_GAS_COST_PER_BYTE = 8;
|
|
5494
5497
|
var EXECUTION_RESULT_EVENT_GAS_COST = 1500;
|
|
5495
|
-
var
|
|
5498
|
+
var L2_EVENT_ENCODING_GAS_COST = 354;
|
|
5499
|
+
var GAS_COST_PER_SIGNATURE = 1 * CALL_DATA_BYTE_GAS_COST + 2 * 32 * CALL_DATA_BYTE_GAS_COST + ECRECOVER_GAS_COST + COLD_SLOAD_GAS_COST;
|
|
5496
5500
|
function estimateDataGasCosts(data) {
|
|
5497
5501
|
const bytes = data.match(/.{2}/g);
|
|
5498
5502
|
return bytes.reduce((gasCost, currentByte) => {
|
|
@@ -5516,6 +5520,7 @@ function calculateExecTransactionEventsGas(isL1SafeSingleton, data, threshold) {
|
|
|
5516
5520
|
const additionalInfoDynamicBytes = 32 + 3 * 32;
|
|
5517
5521
|
const eventDataBytes = headBytes + dataDynamicBytes + signaturesDynamicBytes + additionalInfoDynamicBytes;
|
|
5518
5522
|
gas += LOG_BASE_GAS_COST + LOG_TOPIC_GAS_COST + eventDataBytes * LOG_DATA_GAS_COST_PER_BYTE;
|
|
5523
|
+
gas += L2_EVENT_ENCODING_GAS_COST;
|
|
5519
5524
|
}
|
|
5520
5525
|
return gas;
|
|
5521
5526
|
}
|
|
@@ -5543,7 +5548,23 @@ async function hasExistingTokenBalance(safeProvider, gasToken, account) {
|
|
|
5543
5548
|
return false;
|
|
5544
5549
|
}
|
|
5545
5550
|
}
|
|
5546
|
-
async function
|
|
5551
|
+
async function probeErc20TransferGas(safeProvider, gasToken, safeAddress, refundReceiver) {
|
|
5552
|
+
const data = encodeFunctionData2({
|
|
5553
|
+
abi: parseAbi(["function transfer(address to, uint256 amount) returns (bool)"]),
|
|
5554
|
+
functionName: "transfer",
|
|
5555
|
+
args: [refundReceiver, 1n]
|
|
5556
|
+
});
|
|
5557
|
+
try {
|
|
5558
|
+
const gas = Number(
|
|
5559
|
+
await safeProvider.estimateGas({ to: gasToken, from: safeAddress, value: "0", data })
|
|
5560
|
+
);
|
|
5561
|
+
const executionGas = gas - INTRINSIC_TX_GAS_COST - estimateDataGasCosts(data);
|
|
5562
|
+
return executionGas > 0 ? executionGas : void 0;
|
|
5563
|
+
} catch {
|
|
5564
|
+
return void 0;
|
|
5565
|
+
}
|
|
5566
|
+
}
|
|
5567
|
+
async function calculateRefundGas(safeProvider, gasPrice, gasToken, refundReceiver, safeAddress) {
|
|
5547
5568
|
if (BigInt(gasPrice) === 0n) {
|
|
5548
5569
|
return 0;
|
|
5549
5570
|
}
|
|
@@ -5554,8 +5575,12 @@ async function calculateRefundGas(safeProvider, gasPrice, gasToken, refundReceiv
|
|
|
5554
5575
|
}
|
|
5555
5576
|
return gas;
|
|
5556
5577
|
}
|
|
5557
|
-
const hasBalance = await
|
|
5558
|
-
|
|
5578
|
+
const [hasBalance, probe] = await Promise.all([
|
|
5579
|
+
hasExistingTokenBalance(safeProvider, gasToken, refundReceiver),
|
|
5580
|
+
probeErc20TransferGas(safeProvider, gasToken, safeAddress, refundReceiver)
|
|
5581
|
+
]);
|
|
5582
|
+
const fallback = hasBalance ? ERC20_TRANSFER_GAS_COST : ERC20_NEW_HOLDER_TRANSFER_GAS_COST;
|
|
5583
|
+
return probe === void 0 ? fallback : Math.max(probe, fallback);
|
|
5559
5584
|
}
|
|
5560
5585
|
async function estimateGas(safeVersion, safeContract, safeProvider, to, valueInWei, data, operation, customContracts) {
|
|
5561
5586
|
const chainId = await safeProvider.getChainId();
|
|
@@ -5619,11 +5644,12 @@ async function estimateTxBaseGas(safe, safeTransaction) {
|
|
|
5619
5644
|
const safeVersion = safe.getContractVersion();
|
|
5620
5645
|
const contractManager = safe.getContractManager();
|
|
5621
5646
|
const isL1SafeSingleton = contractManager.isL1SafeSingleton;
|
|
5647
|
+
const safeAddress = await safe.getAddress();
|
|
5622
5648
|
const [safeThreshold, safeNonce, chainId, refundGas] = await Promise.all([
|
|
5623
5649
|
safe.getThreshold(),
|
|
5624
5650
|
safe.getNonce(),
|
|
5625
5651
|
safe.getChainId(),
|
|
5626
|
-
calculateRefundGas(safeProvider, gasPrice, encodeGasToken, encodeRefundReceiver)
|
|
5652
|
+
calculateRefundGas(safeProvider, gasPrice, encodeGasToken, encodeRefundReceiver, safeAddress)
|
|
5627
5653
|
]);
|
|
5628
5654
|
const signaturesGasCost = safeThreshold * GAS_COST_PER_SIGNATURE;
|
|
5629
5655
|
const customContracts = contractManager.contractNetworks?.[chainId.toString()];
|
|
@@ -5651,6 +5677,7 @@ async function estimateTxBaseGas(safe, safeTransaction) {
|
|
|
5651
5677
|
baseGas += refundGas;
|
|
5652
5678
|
baseGas += calculateExecTransactionEventsGas(isL1SafeSingleton ?? false, data, safeThreshold);
|
|
5653
5679
|
baseGas += EXTRA_BASE_GAS_COST;
|
|
5680
|
+
baseGas += PROXY_FALLBACK_GAS_COST;
|
|
5654
5681
|
const baseGasUsedBytes = Math.ceil(baseGas.toString(16).length / 2);
|
|
5655
5682
|
baseGas += baseGasUsedBytes * (CALL_DATA_BYTE_GAS_COST - CALL_DATA_ZERO_BYTE_GAS_COST);
|
|
5656
5683
|
return baseGas.toString();
|
|
@@ -7475,7 +7502,7 @@ function generateOnChainIdentifier({
|
|
|
7475
7502
|
var generateOnChainIdentifier_default = generateOnChainIdentifier;
|
|
7476
7503
|
|
|
7477
7504
|
// src/utils/getProtocolKitVersion.ts
|
|
7478
|
-
var getProtocolKitVersion = () => "8.0.
|
|
7505
|
+
var getProtocolKitVersion = () => "8.0.6";
|
|
7479
7506
|
|
|
7480
7507
|
// src/Safe.ts
|
|
7481
7508
|
var EQ_OR_GT_1_5_0 = ">=1.5.0";
|
|
@@ -663,6 +663,7 @@ var networks = [
|
|
|
663
663
|
{ chainId: 103454n, shortName: "masatest" },
|
|
664
664
|
{ chainId: 105105n, shortName: "stratis" },
|
|
665
665
|
{ chainId: 111188n, shortName: "re-al" },
|
|
666
|
+
{ chainId: 127001n, shortName: "grav" },
|
|
666
667
|
{ chainId: 127823n, shortName: "etls" },
|
|
667
668
|
{ chainId: 128123n, shortName: "etlt" },
|
|
668
669
|
{ chainId: 167000n, shortName: "tko-mainnet" },
|
|
@@ -4756,12 +4757,16 @@ async function getSafeWebAuthnSharedSignerContract({
|
|
|
4756
4757
|
|
|
4757
4758
|
// src/utils/transactions/gas.ts
|
|
4758
4759
|
var CALL_DATA_BYTE_GAS_COST = 16;
|
|
4759
|
-
var
|
|
4760
|
+
var COLD_SLOAD_GAS_COST = 2100;
|
|
4761
|
+
var INITIALIZATION_GAS_COST = 2e4 + COLD_SLOAD_GAS_COST;
|
|
4762
|
+
var ECRECOVER_GAS_COST = 3100;
|
|
4760
4763
|
var INTRINSIC_TX_GAS_COST = 21e3;
|
|
4761
|
-
var PRE_EXEC_STORAGE_GAS_COST = 2 *
|
|
4762
|
-
var MISC_OVERHEAD_GAS_COST =
|
|
4764
|
+
var PRE_EXEC_STORAGE_GAS_COST = 2 * COLD_SLOAD_GAS_COST;
|
|
4765
|
+
var MISC_OVERHEAD_GAS_COST = 900;
|
|
4763
4766
|
var EXTRA_BASE_GAS_COST = INTRINSIC_TX_GAS_COST + PRE_EXEC_STORAGE_GAS_COST + MISC_OVERHEAD_GAS_COST;
|
|
4764
|
-
var
|
|
4767
|
+
var COLD_ACCOUNT_ACCESS_GAS_COST = 2600;
|
|
4768
|
+
var PROXY_FALLBACK_GAS_COST = COLD_SLOAD_GAS_COST + COLD_ACCOUNT_ACCESS_GAS_COST + 400;
|
|
4769
|
+
var GAS_COST_PER_SIGNATURE = 1 * CALL_DATA_BYTE_GAS_COST + 2 * 32 * CALL_DATA_BYTE_GAS_COST + ECRECOVER_GAS_COST + COLD_SLOAD_GAS_COST;
|
|
4765
4770
|
|
|
4766
4771
|
// src/utils/transactions/utils.ts
|
|
4767
4772
|
import {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../src/utils/eip-3770/config.ts"],"names":[],"mappings":"AAAA,UAAU,gBAAgB;IACxB,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;CAChB;AAID,eAAO,MAAM,QAAQ,EAAE,gBAAgB,
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../src/utils/eip-3770/config.ts"],"names":[],"mappings":"AAAA,UAAU,gBAAgB;IACxB,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;CAChB;AAID,eAAO,MAAM,QAAQ,EAAE,gBAAgB,EA+iBtC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gas.d.ts","sourceRoot":"","sources":["../../../../src/utils/transactions/gas.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAEpF,OAAO,IAAI,MAAM,gCAAgC,CAAA;AACjD,OAAO,YAAY,MAAM,wCAAwC,CAAA;AACjE,OAAO,EACL,sBAAsB,EACtB,8BAA8B,EAC/B,MAAM,iCAAiC,CAAA;
|
|
1
|
+
{"version":3,"file":"gas.d.ts","sourceRoot":"","sources":["../../../../src/utils/transactions/gas.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAEpF,OAAO,IAAI,MAAM,gCAAgC,CAAA;AACjD,OAAO,YAAY,MAAM,wCAAwC,CAAA;AACjE,OAAO,EACL,sBAAsB,EACtB,8BAA8B,EAC/B,MAAM,iCAAiC,CAAA;AAyPxC,wBAAsB,WAAW,CAC/B,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,8BAA8B,EAC5C,YAAY,EAAE,YAAY,EAC1B,EAAE,EAAE,MAAM,EACV,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,aAAa,EACxB,eAAe,CAAC,EAAE,sBAAsB,mBAsCzC;AAED,wBAAsB,aAAa,CACjC,YAAY,EAAE,8BAA8B,EAC5C,YAAY,EAAE,YAAY,EAC1B,EAAE,EAAE,MAAM,EACV,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,aAAa,GACvB,OAAO,CAAC,MAAM,CAAC,CAgBjB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,IAAI,EACV,eAAe,EAAE,eAAe,GAC/B,OAAO,CAAC,MAAM,CAAC,CAmFjB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,IAAI,EACV,eAAe,EAAE,eAAe,GAC/B,OAAO,CAAC,MAAM,CAAC,CAajB;AAoPD;;;;;;;;;GASG;AACH,wBAAsB,yBAAyB,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAgB3E"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@safe-global/protocol-kit",
|
|
3
|
-
"version": "8.0.
|
|
3
|
+
"version": "8.0.6",
|
|
4
4
|
"description": "SDK that facilitates the interaction with Safe Smart Accounts",
|
|
5
5
|
"types": "dist/src/index.d.ts",
|
|
6
6
|
"main": "dist/cjs/src/index.cjs",
|
|
@@ -50,14 +50,14 @@
|
|
|
50
50
|
"dotenv": "^16.4.7",
|
|
51
51
|
"ethers": "^6.13.5",
|
|
52
52
|
"mocha": "^11.1.0",
|
|
53
|
-
"nyc": "^
|
|
53
|
+
"nyc": "^18.0.0",
|
|
54
54
|
"sinon": "^19.0.2",
|
|
55
55
|
"tsconfig-paths": "^4.2.0",
|
|
56
56
|
"@safe-global/testing-kit": "^0.4.1"
|
|
57
57
|
},
|
|
58
58
|
"dependencies": {
|
|
59
|
-
"@safe-global/safe-deployments": "^1.37.
|
|
60
|
-
"@safe-global/safe-modules-deployments": "^3.0.
|
|
59
|
+
"@safe-global/safe-deployments": "^1.37.62",
|
|
60
|
+
"@safe-global/safe-modules-deployments": "^3.0.9",
|
|
61
61
|
"abitype": "^1.2.3",
|
|
62
62
|
"semver": "^7.8.0",
|
|
63
63
|
"viem": "^2.52.2",
|