@safe-global/protocol-kit 8.0.3 → 8.0.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/src/index.cjs +38 -10
- package/dist/cjs/test-utils/index.cjs +10 -4
- package/dist/esm/src/index.mjs +38 -10
- package/dist/esm/test-utils/index.mjs +10 -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 +3 -3
package/dist/cjs/src/index.cjs
CHANGED
|
@@ -442,6 +442,7 @@ var networks = [
|
|
|
442
442
|
{ chainId: 1807n, shortName: "rana" },
|
|
443
443
|
{ chainId: 1811n, shortName: "lif3-testnet" },
|
|
444
444
|
{ chainId: 1868n, shortName: "soneium" },
|
|
445
|
+
{ chainId: 1874n, shortName: "wch-sepolia" },
|
|
445
446
|
{ chainId: 1890n, shortName: "lightlink_phoenix" },
|
|
446
447
|
{ chainId: 1891n, shortName: "lightlink_pegasus" },
|
|
447
448
|
{ chainId: 1923n, shortName: "swellchain" },
|
|
@@ -716,6 +717,7 @@ var networks = [
|
|
|
716
717
|
{ chainId: 103454n, shortName: "masatest" },
|
|
717
718
|
{ chainId: 105105n, shortName: "stratis" },
|
|
718
719
|
{ chainId: 111188n, shortName: "re-al" },
|
|
720
|
+
{ chainId: 127001n, shortName: "grav" },
|
|
719
721
|
{ chainId: 127823n, shortName: "etls" },
|
|
720
722
|
{ chainId: 128123n, shortName: "etlt" },
|
|
721
723
|
{ chainId: 167000n, shortName: "tko-mainnet" },
|
|
@@ -5461,16 +5463,18 @@ async function getExtensibleFallbackHandlerContract({
|
|
|
5461
5463
|
// src/utils/transactions/gas.ts
|
|
5462
5464
|
var CALL_DATA_ZERO_BYTE_GAS_COST = 4;
|
|
5463
5465
|
var CALL_DATA_BYTE_GAS_COST = 16;
|
|
5464
|
-
var
|
|
5466
|
+
var COLD_SLOAD_GAS_COST = 2100;
|
|
5467
|
+
var INITIALIZATION_GAS_COST = 2e4 + COLD_SLOAD_GAS_COST;
|
|
5465
5468
|
var INCREMENT_NONCE_GAS_COST = 5e3;
|
|
5466
5469
|
var HASH_GENERATION_GAS_COST = 1500;
|
|
5467
|
-
var ECRECOVER_GAS_COST =
|
|
5470
|
+
var ECRECOVER_GAS_COST = 3100;
|
|
5468
5471
|
var INTRINSIC_TX_GAS_COST = 21e3;
|
|
5469
|
-
var PRE_EXEC_STORAGE_GAS_COST = 2 *
|
|
5470
|
-
var MISC_OVERHEAD_GAS_COST =
|
|
5472
|
+
var PRE_EXEC_STORAGE_GAS_COST = 2 * COLD_SLOAD_GAS_COST;
|
|
5473
|
+
var MISC_OVERHEAD_GAS_COST = 900;
|
|
5471
5474
|
var EXTRA_BASE_GAS_COST = INTRINSIC_TX_GAS_COST + PRE_EXEC_STORAGE_GAS_COST + MISC_OVERHEAD_GAS_COST;
|
|
5472
5475
|
var NEW_ACCOUNT_GAS_COST = 25e3;
|
|
5473
5476
|
var COLD_ACCOUNT_ACCESS_GAS_COST = 2600;
|
|
5477
|
+
var PROXY_FALLBACK_GAS_COST = COLD_SLOAD_GAS_COST + COLD_ACCOUNT_ACCESS_GAS_COST + 400;
|
|
5474
5478
|
var CALL_VALUE_GAS_COST = 9e3;
|
|
5475
5479
|
var ERC20_TRANSFER_GAS_COST = 21e3;
|
|
5476
5480
|
var ERC20_NEW_HOLDER_TRANSFER_GAS_COST = 38e3;
|
|
@@ -5478,7 +5482,8 @@ var LOG_BASE_GAS_COST = 375;
|
|
|
5478
5482
|
var LOG_TOPIC_GAS_COST = 375;
|
|
5479
5483
|
var LOG_DATA_GAS_COST_PER_BYTE = 8;
|
|
5480
5484
|
var EXECUTION_RESULT_EVENT_GAS_COST = 1500;
|
|
5481
|
-
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;
|
|
5482
5487
|
function estimateDataGasCosts(data) {
|
|
5483
5488
|
const bytes = data.match(/.{2}/g);
|
|
5484
5489
|
return bytes.reduce((gasCost, currentByte) => {
|
|
@@ -5502,6 +5507,7 @@ function calculateExecTransactionEventsGas(isL1SafeSingleton, data, threshold) {
|
|
|
5502
5507
|
const additionalInfoDynamicBytes = 32 + 3 * 32;
|
|
5503
5508
|
const eventDataBytes = headBytes + dataDynamicBytes + signaturesDynamicBytes + additionalInfoDynamicBytes;
|
|
5504
5509
|
gas += LOG_BASE_GAS_COST + LOG_TOPIC_GAS_COST + eventDataBytes * LOG_DATA_GAS_COST_PER_BYTE;
|
|
5510
|
+
gas += L2_EVENT_ENCODING_GAS_COST;
|
|
5505
5511
|
}
|
|
5506
5512
|
return gas;
|
|
5507
5513
|
}
|
|
@@ -5529,7 +5535,23 @@ async function hasExistingTokenBalance(safeProvider, gasToken, account) {
|
|
|
5529
5535
|
return false;
|
|
5530
5536
|
}
|
|
5531
5537
|
}
|
|
5532
|
-
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) {
|
|
5533
5555
|
if (BigInt(gasPrice) === 0n) {
|
|
5534
5556
|
return 0;
|
|
5535
5557
|
}
|
|
@@ -5540,8 +5562,12 @@ async function calculateRefundGas(safeProvider, gasPrice, gasToken, refundReceiv
|
|
|
5540
5562
|
}
|
|
5541
5563
|
return gas;
|
|
5542
5564
|
}
|
|
5543
|
-
const hasBalance = await
|
|
5544
|
-
|
|
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);
|
|
5545
5571
|
}
|
|
5546
5572
|
async function estimateGas(safeVersion, safeContract, safeProvider, to, valueInWei, data, operation, customContracts) {
|
|
5547
5573
|
const chainId = await safeProvider.getChainId();
|
|
@@ -5605,11 +5631,12 @@ async function estimateTxBaseGas(safe, safeTransaction) {
|
|
|
5605
5631
|
const safeVersion = safe.getContractVersion();
|
|
5606
5632
|
const contractManager = safe.getContractManager();
|
|
5607
5633
|
const isL1SafeSingleton = contractManager.isL1SafeSingleton;
|
|
5634
|
+
const safeAddress = await safe.getAddress();
|
|
5608
5635
|
const [safeThreshold, safeNonce, chainId, refundGas] = await Promise.all([
|
|
5609
5636
|
safe.getThreshold(),
|
|
5610
5637
|
safe.getNonce(),
|
|
5611
5638
|
safe.getChainId(),
|
|
5612
|
-
calculateRefundGas(safeProvider, gasPrice, encodeGasToken, encodeRefundReceiver)
|
|
5639
|
+
calculateRefundGas(safeProvider, gasPrice, encodeGasToken, encodeRefundReceiver, safeAddress)
|
|
5613
5640
|
]);
|
|
5614
5641
|
const signaturesGasCost = safeThreshold * GAS_COST_PER_SIGNATURE;
|
|
5615
5642
|
const customContracts = contractManager.contractNetworks?.[chainId.toString()];
|
|
@@ -5637,6 +5664,7 @@ async function estimateTxBaseGas(safe, safeTransaction) {
|
|
|
5637
5664
|
baseGas += refundGas;
|
|
5638
5665
|
baseGas += calculateExecTransactionEventsGas(isL1SafeSingleton ?? false, data, safeThreshold);
|
|
5639
5666
|
baseGas += EXTRA_BASE_GAS_COST;
|
|
5667
|
+
baseGas += PROXY_FALLBACK_GAS_COST;
|
|
5640
5668
|
const baseGasUsedBytes = Math.ceil(baseGas.toString(16).length / 2);
|
|
5641
5669
|
baseGas += baseGasUsedBytes * (CALL_DATA_BYTE_GAS_COST - CALL_DATA_ZERO_BYTE_GAS_COST);
|
|
5642
5670
|
return baseGas.toString();
|
|
@@ -7412,7 +7440,7 @@ function generateOnChainIdentifier({
|
|
|
7412
7440
|
var generateOnChainIdentifier_default = generateOnChainIdentifier;
|
|
7413
7441
|
|
|
7414
7442
|
// src/utils/getProtocolKitVersion.ts
|
|
7415
|
-
var getProtocolKitVersion = () => "8.0.
|
|
7443
|
+
var getProtocolKitVersion = () => "8.0.5";
|
|
7416
7444
|
|
|
7417
7445
|
// src/Safe.ts
|
|
7418
7446
|
var EQ_OR_GT_1_5_0 = ">=1.5.0";
|
|
@@ -430,6 +430,7 @@ var networks = [
|
|
|
430
430
|
{ chainId: 1807n, shortName: "rana" },
|
|
431
431
|
{ chainId: 1811n, shortName: "lif3-testnet" },
|
|
432
432
|
{ chainId: 1868n, shortName: "soneium" },
|
|
433
|
+
{ chainId: 1874n, shortName: "wch-sepolia" },
|
|
433
434
|
{ chainId: 1890n, shortName: "lightlink_phoenix" },
|
|
434
435
|
{ chainId: 1891n, shortName: "lightlink_pegasus" },
|
|
435
436
|
{ chainId: 1923n, shortName: "swellchain" },
|
|
@@ -704,6 +705,7 @@ var networks = [
|
|
|
704
705
|
{ chainId: 103454n, shortName: "masatest" },
|
|
705
706
|
{ chainId: 105105n, shortName: "stratis" },
|
|
706
707
|
{ chainId: 111188n, shortName: "re-al" },
|
|
708
|
+
{ chainId: 127001n, shortName: "grav" },
|
|
707
709
|
{ chainId: 127823n, shortName: "etls" },
|
|
708
710
|
{ chainId: 128123n, shortName: "etlt" },
|
|
709
711
|
{ chainId: 167000n, shortName: "tko-mainnet" },
|
|
@@ -4651,12 +4653,16 @@ async function getSafeWebAuthnSharedSignerContract({
|
|
|
4651
4653
|
|
|
4652
4654
|
// src/utils/transactions/gas.ts
|
|
4653
4655
|
var CALL_DATA_BYTE_GAS_COST = 16;
|
|
4654
|
-
var
|
|
4656
|
+
var COLD_SLOAD_GAS_COST = 2100;
|
|
4657
|
+
var INITIALIZATION_GAS_COST = 2e4 + COLD_SLOAD_GAS_COST;
|
|
4658
|
+
var ECRECOVER_GAS_COST = 3100;
|
|
4655
4659
|
var INTRINSIC_TX_GAS_COST = 21e3;
|
|
4656
|
-
var PRE_EXEC_STORAGE_GAS_COST = 2 *
|
|
4657
|
-
var MISC_OVERHEAD_GAS_COST =
|
|
4660
|
+
var PRE_EXEC_STORAGE_GAS_COST = 2 * COLD_SLOAD_GAS_COST;
|
|
4661
|
+
var MISC_OVERHEAD_GAS_COST = 900;
|
|
4658
4662
|
var EXTRA_BASE_GAS_COST = INTRINSIC_TX_GAS_COST + PRE_EXEC_STORAGE_GAS_COST + MISC_OVERHEAD_GAS_COST;
|
|
4659
|
-
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;
|
|
4660
4666
|
|
|
4661
4667
|
// src/utils/transactions/utils.ts
|
|
4662
4668
|
var import_types_kit36 = require("@safe-global/types-kit");
|
package/dist/esm/src/index.mjs
CHANGED
|
@@ -373,6 +373,7 @@ var networks = [
|
|
|
373
373
|
{ chainId: 1807n, shortName: "rana" },
|
|
374
374
|
{ chainId: 1811n, shortName: "lif3-testnet" },
|
|
375
375
|
{ chainId: 1868n, shortName: "soneium" },
|
|
376
|
+
{ chainId: 1874n, shortName: "wch-sepolia" },
|
|
376
377
|
{ chainId: 1890n, shortName: "lightlink_phoenix" },
|
|
377
378
|
{ chainId: 1891n, shortName: "lightlink_pegasus" },
|
|
378
379
|
{ chainId: 1923n, shortName: "swellchain" },
|
|
@@ -647,6 +648,7 @@ var networks = [
|
|
|
647
648
|
{ chainId: 103454n, shortName: "masatest" },
|
|
648
649
|
{ chainId: 105105n, shortName: "stratis" },
|
|
649
650
|
{ chainId: 111188n, shortName: "re-al" },
|
|
651
|
+
{ chainId: 127001n, shortName: "grav" },
|
|
650
652
|
{ chainId: 127823n, shortName: "etls" },
|
|
651
653
|
{ chainId: 128123n, shortName: "etlt" },
|
|
652
654
|
{ chainId: 167000n, shortName: "tko-mainnet" },
|
|
@@ -5474,16 +5476,18 @@ async function getExtensibleFallbackHandlerContract({
|
|
|
5474
5476
|
// src/utils/transactions/gas.ts
|
|
5475
5477
|
var CALL_DATA_ZERO_BYTE_GAS_COST = 4;
|
|
5476
5478
|
var CALL_DATA_BYTE_GAS_COST = 16;
|
|
5477
|
-
var
|
|
5479
|
+
var COLD_SLOAD_GAS_COST = 2100;
|
|
5480
|
+
var INITIALIZATION_GAS_COST = 2e4 + COLD_SLOAD_GAS_COST;
|
|
5478
5481
|
var INCREMENT_NONCE_GAS_COST = 5e3;
|
|
5479
5482
|
var HASH_GENERATION_GAS_COST = 1500;
|
|
5480
|
-
var ECRECOVER_GAS_COST =
|
|
5483
|
+
var ECRECOVER_GAS_COST = 3100;
|
|
5481
5484
|
var INTRINSIC_TX_GAS_COST = 21e3;
|
|
5482
|
-
var PRE_EXEC_STORAGE_GAS_COST = 2 *
|
|
5483
|
-
var MISC_OVERHEAD_GAS_COST =
|
|
5485
|
+
var PRE_EXEC_STORAGE_GAS_COST = 2 * COLD_SLOAD_GAS_COST;
|
|
5486
|
+
var MISC_OVERHEAD_GAS_COST = 900;
|
|
5484
5487
|
var EXTRA_BASE_GAS_COST = INTRINSIC_TX_GAS_COST + PRE_EXEC_STORAGE_GAS_COST + MISC_OVERHEAD_GAS_COST;
|
|
5485
5488
|
var NEW_ACCOUNT_GAS_COST = 25e3;
|
|
5486
5489
|
var COLD_ACCOUNT_ACCESS_GAS_COST = 2600;
|
|
5490
|
+
var PROXY_FALLBACK_GAS_COST = COLD_SLOAD_GAS_COST + COLD_ACCOUNT_ACCESS_GAS_COST + 400;
|
|
5487
5491
|
var CALL_VALUE_GAS_COST = 9e3;
|
|
5488
5492
|
var ERC20_TRANSFER_GAS_COST = 21e3;
|
|
5489
5493
|
var ERC20_NEW_HOLDER_TRANSFER_GAS_COST = 38e3;
|
|
@@ -5491,7 +5495,8 @@ var LOG_BASE_GAS_COST = 375;
|
|
|
5491
5495
|
var LOG_TOPIC_GAS_COST = 375;
|
|
5492
5496
|
var LOG_DATA_GAS_COST_PER_BYTE = 8;
|
|
5493
5497
|
var EXECUTION_RESULT_EVENT_GAS_COST = 1500;
|
|
5494
|
-
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;
|
|
5495
5500
|
function estimateDataGasCosts(data) {
|
|
5496
5501
|
const bytes = data.match(/.{2}/g);
|
|
5497
5502
|
return bytes.reduce((gasCost, currentByte) => {
|
|
@@ -5515,6 +5520,7 @@ function calculateExecTransactionEventsGas(isL1SafeSingleton, data, threshold) {
|
|
|
5515
5520
|
const additionalInfoDynamicBytes = 32 + 3 * 32;
|
|
5516
5521
|
const eventDataBytes = headBytes + dataDynamicBytes + signaturesDynamicBytes + additionalInfoDynamicBytes;
|
|
5517
5522
|
gas += LOG_BASE_GAS_COST + LOG_TOPIC_GAS_COST + eventDataBytes * LOG_DATA_GAS_COST_PER_BYTE;
|
|
5523
|
+
gas += L2_EVENT_ENCODING_GAS_COST;
|
|
5518
5524
|
}
|
|
5519
5525
|
return gas;
|
|
5520
5526
|
}
|
|
@@ -5542,7 +5548,23 @@ async function hasExistingTokenBalance(safeProvider, gasToken, account) {
|
|
|
5542
5548
|
return false;
|
|
5543
5549
|
}
|
|
5544
5550
|
}
|
|
5545
|
-
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) {
|
|
5546
5568
|
if (BigInt(gasPrice) === 0n) {
|
|
5547
5569
|
return 0;
|
|
5548
5570
|
}
|
|
@@ -5553,8 +5575,12 @@ async function calculateRefundGas(safeProvider, gasPrice, gasToken, refundReceiv
|
|
|
5553
5575
|
}
|
|
5554
5576
|
return gas;
|
|
5555
5577
|
}
|
|
5556
|
-
const hasBalance = await
|
|
5557
|
-
|
|
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);
|
|
5558
5584
|
}
|
|
5559
5585
|
async function estimateGas(safeVersion, safeContract, safeProvider, to, valueInWei, data, operation, customContracts) {
|
|
5560
5586
|
const chainId = await safeProvider.getChainId();
|
|
@@ -5618,11 +5644,12 @@ async function estimateTxBaseGas(safe, safeTransaction) {
|
|
|
5618
5644
|
const safeVersion = safe.getContractVersion();
|
|
5619
5645
|
const contractManager = safe.getContractManager();
|
|
5620
5646
|
const isL1SafeSingleton = contractManager.isL1SafeSingleton;
|
|
5647
|
+
const safeAddress = await safe.getAddress();
|
|
5621
5648
|
const [safeThreshold, safeNonce, chainId, refundGas] = await Promise.all([
|
|
5622
5649
|
safe.getThreshold(),
|
|
5623
5650
|
safe.getNonce(),
|
|
5624
5651
|
safe.getChainId(),
|
|
5625
|
-
calculateRefundGas(safeProvider, gasPrice, encodeGasToken, encodeRefundReceiver)
|
|
5652
|
+
calculateRefundGas(safeProvider, gasPrice, encodeGasToken, encodeRefundReceiver, safeAddress)
|
|
5626
5653
|
]);
|
|
5627
5654
|
const signaturesGasCost = safeThreshold * GAS_COST_PER_SIGNATURE;
|
|
5628
5655
|
const customContracts = contractManager.contractNetworks?.[chainId.toString()];
|
|
@@ -5650,6 +5677,7 @@ async function estimateTxBaseGas(safe, safeTransaction) {
|
|
|
5650
5677
|
baseGas += refundGas;
|
|
5651
5678
|
baseGas += calculateExecTransactionEventsGas(isL1SafeSingleton ?? false, data, safeThreshold);
|
|
5652
5679
|
baseGas += EXTRA_BASE_GAS_COST;
|
|
5680
|
+
baseGas += PROXY_FALLBACK_GAS_COST;
|
|
5653
5681
|
const baseGasUsedBytes = Math.ceil(baseGas.toString(16).length / 2);
|
|
5654
5682
|
baseGas += baseGasUsedBytes * (CALL_DATA_BYTE_GAS_COST - CALL_DATA_ZERO_BYTE_GAS_COST);
|
|
5655
5683
|
return baseGas.toString();
|
|
@@ -7474,7 +7502,7 @@ function generateOnChainIdentifier({
|
|
|
7474
7502
|
var generateOnChainIdentifier_default = generateOnChainIdentifier;
|
|
7475
7503
|
|
|
7476
7504
|
// src/utils/getProtocolKitVersion.ts
|
|
7477
|
-
var getProtocolKitVersion = () => "8.0.
|
|
7505
|
+
var getProtocolKitVersion = () => "8.0.5";
|
|
7478
7506
|
|
|
7479
7507
|
// src/Safe.ts
|
|
7480
7508
|
var EQ_OR_GT_1_5_0 = ">=1.5.0";
|
|
@@ -388,6 +388,7 @@ var networks = [
|
|
|
388
388
|
{ chainId: 1807n, shortName: "rana" },
|
|
389
389
|
{ chainId: 1811n, shortName: "lif3-testnet" },
|
|
390
390
|
{ chainId: 1868n, shortName: "soneium" },
|
|
391
|
+
{ chainId: 1874n, shortName: "wch-sepolia" },
|
|
391
392
|
{ chainId: 1890n, shortName: "lightlink_phoenix" },
|
|
392
393
|
{ chainId: 1891n, shortName: "lightlink_pegasus" },
|
|
393
394
|
{ chainId: 1923n, shortName: "swellchain" },
|
|
@@ -662,6 +663,7 @@ var networks = [
|
|
|
662
663
|
{ chainId: 103454n, shortName: "masatest" },
|
|
663
664
|
{ chainId: 105105n, shortName: "stratis" },
|
|
664
665
|
{ chainId: 111188n, shortName: "re-al" },
|
|
666
|
+
{ chainId: 127001n, shortName: "grav" },
|
|
665
667
|
{ chainId: 127823n, shortName: "etls" },
|
|
666
668
|
{ chainId: 128123n, shortName: "etlt" },
|
|
667
669
|
{ chainId: 167000n, shortName: "tko-mainnet" },
|
|
@@ -4755,12 +4757,16 @@ async function getSafeWebAuthnSharedSignerContract({
|
|
|
4755
4757
|
|
|
4756
4758
|
// src/utils/transactions/gas.ts
|
|
4757
4759
|
var CALL_DATA_BYTE_GAS_COST = 16;
|
|
4758
|
-
var
|
|
4760
|
+
var COLD_SLOAD_GAS_COST = 2100;
|
|
4761
|
+
var INITIALIZATION_GAS_COST = 2e4 + COLD_SLOAD_GAS_COST;
|
|
4762
|
+
var ECRECOVER_GAS_COST = 3100;
|
|
4759
4763
|
var INTRINSIC_TX_GAS_COST = 21e3;
|
|
4760
|
-
var PRE_EXEC_STORAGE_GAS_COST = 2 *
|
|
4761
|
-
var MISC_OVERHEAD_GAS_COST =
|
|
4764
|
+
var PRE_EXEC_STORAGE_GAS_COST = 2 * COLD_SLOAD_GAS_COST;
|
|
4765
|
+
var MISC_OVERHEAD_GAS_COST = 900;
|
|
4762
4766
|
var EXTRA_BASE_GAS_COST = INTRINSIC_TX_GAS_COST + PRE_EXEC_STORAGE_GAS_COST + MISC_OVERHEAD_GAS_COST;
|
|
4763
|
-
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;
|
|
4764
4770
|
|
|
4765
4771
|
// src/utils/transactions/utils.ts
|
|
4766
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.5",
|
|
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",
|
|
@@ -56,8 +56,8 @@
|
|
|
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.61",
|
|
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",
|