@safe-global/protocol-kit 1.1.0 → 1.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/LICENSE.md +9 -9
- package/README.md +1033 -1033
- package/dist/src/Safe.d.ts +51 -1
- package/dist/src/Safe.js +174 -17
- package/dist/src/Safe.js.map +1 -1
- package/dist/src/adapters/ethers/EthersAdapter.js +9 -10
- package/dist/src/adapters/ethers/EthersAdapter.js.map +1 -1
- package/dist/src/adapters/ethers/contracts/SafeProxyFactory/SafeProxyFactoryEthersContract.js +1 -2
- package/dist/src/adapters/ethers/contracts/SafeProxyFactory/SafeProxyFactoryEthersContract.js.map +1 -1
- package/dist/src/adapters/web3/Web3Adapter.js +17 -17
- package/dist/src/adapters/web3/Web3Adapter.js.map +1 -1
- package/dist/src/adapters/web3/contracts/SafeProxyFactory/SafeProxyFactoryWeb3Contract.js +1 -2
- package/dist/src/adapters/web3/contracts/SafeProxyFactory/SafeProxyFactoryWeb3Contract.js.map +1 -1
- package/dist/src/contracts/config.d.ts +1 -1
- package/dist/src/contracts/config.js +2 -2
- package/dist/src/contracts/config.js.map +1 -1
- package/dist/src/contracts/safeDeploymentContracts.js +16 -16
- package/dist/src/contracts/safeDeploymentContracts.js.map +1 -1
- package/dist/src/contracts/utils.js +26 -2
- package/dist/src/contracts/utils.js.map +1 -1
- package/dist/src/index.d.ts +4 -3
- package/dist/src/index.js +10 -2
- package/dist/src/index.js.map +1 -1
- package/dist/src/managers/contractManager.js +20 -15
- package/dist/src/managers/contractManager.js.map +1 -1
- package/dist/src/managers/ownerManager.js +2 -2
- package/dist/src/managers/ownerManager.js.map +1 -1
- package/dist/src/safeFactory/index.js +5 -7
- package/dist/src/safeFactory/index.js.map +1 -1
- package/dist/src/utils/eip-3770/config.js +8 -0
- package/dist/src/utils/eip-3770/config.js.map +1 -1
- package/dist/src/utils/erc-20/index.d.ts +33 -0
- package/dist/src/utils/erc-20/index.js +77 -0
- package/dist/src/utils/erc-20/index.js.map +1 -0
- package/dist/src/utils/signatures/utils.js +1 -1
- package/dist/src/utils/transactions/SafeTransaction.js +2 -2
- package/dist/src/utils/transactions/SafeTransaction.js.map +1 -1
- package/dist/src/utils/transactions/gas.d.ts +48 -1
- package/dist/src/utils/transactions/gas.js +308 -32
- package/dist/src/utils/transactions/gas.js.map +1 -1
- package/dist/src/utils/transactions/utils.js +7 -9
- package/dist/src/utils/transactions/utils.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +98 -96
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ownerManager.js","sourceRoot":"","sources":["../../../src/managers/ownerManager.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ownerManager.js","sourceRoot":"","sources":["../../../src/managers/ownerManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -28,7 +28,7 @@ class SafeFactory {
|
|
|
28
28
|
_SafeFactory_safeProxyFactoryContract.set(this, void 0);
|
|
29
29
|
_SafeFactory_safeContract.set(this, void 0);
|
|
30
30
|
}
|
|
31
|
-
static async create({ ethAdapter, safeVersion = config_1.
|
|
31
|
+
static async create({ ethAdapter, safeVersion = config_1.DEFAULT_SAFE_VERSION, isL1SafeMasterCopy = false, contractNetworks }) {
|
|
32
32
|
const safeFactorySdk = new SafeFactory();
|
|
33
33
|
await safeFactorySdk.init({ ethAdapter, safeVersion, isL1SafeMasterCopy, contractNetworks });
|
|
34
34
|
return safeFactorySdk;
|
|
@@ -39,7 +39,7 @@ class SafeFactory {
|
|
|
39
39
|
__classPrivateFieldSet(this, _SafeFactory_isL1SafeMasterCopy, isL1SafeMasterCopy, "f");
|
|
40
40
|
__classPrivateFieldSet(this, _SafeFactory_contractNetworks, contractNetworks, "f");
|
|
41
41
|
const chainId = await __classPrivateFieldGet(this, _SafeFactory_ethAdapter, "f").getChainId();
|
|
42
|
-
const customContracts = contractNetworks
|
|
42
|
+
const customContracts = contractNetworks?.[chainId];
|
|
43
43
|
__classPrivateFieldSet(this, _SafeFactory_safeProxyFactoryContract, await (0, safeDeploymentContracts_1.getProxyFactoryContract)({
|
|
44
44
|
ethAdapter,
|
|
45
45
|
safeVersion,
|
|
@@ -65,9 +65,8 @@ class SafeFactory {
|
|
|
65
65
|
return __classPrivateFieldGet(this, _SafeFactory_ethAdapter, "f").getChainId();
|
|
66
66
|
}
|
|
67
67
|
async predictSafeAddress(safeAccountConfig, saltNonce = utils_1.PREDETERMINED_SALT_NONCE) {
|
|
68
|
-
var _a;
|
|
69
68
|
const chainId = await __classPrivateFieldGet(this, _SafeFactory_ethAdapter, "f").getChainId();
|
|
70
|
-
const customContracts =
|
|
69
|
+
const customContracts = __classPrivateFieldGet(this, _SafeFactory_contractNetworks, "f")?.[chainId];
|
|
71
70
|
const safeVersion = __classPrivateFieldGet(this, _SafeFactory_safeVersion, "f");
|
|
72
71
|
const safeDeploymentConfig = { saltNonce, safeVersion };
|
|
73
72
|
return (0, utils_1.predictSafeAddress)({
|
|
@@ -79,7 +78,6 @@ class SafeFactory {
|
|
|
79
78
|
});
|
|
80
79
|
}
|
|
81
80
|
async deploySafe({ safeAccountConfig, saltNonce = utils_1.PREDETERMINED_SALT_NONCE, options, callback }) {
|
|
82
|
-
var _a;
|
|
83
81
|
(0, utils_1.validateSafeAccountConfig)(safeAccountConfig);
|
|
84
82
|
(0, utils_1.validateSafeDeploymentConfig)({ saltNonce });
|
|
85
83
|
const signerAddress = await __classPrivateFieldGet(this, _SafeFactory_ethAdapter, "f").getSignerAddress();
|
|
@@ -87,14 +85,14 @@ class SafeFactory {
|
|
|
87
85
|
throw new Error('EthAdapter must be initialized with a signer to use this method');
|
|
88
86
|
}
|
|
89
87
|
const chainId = await this.getChainId();
|
|
90
|
-
const customContracts =
|
|
88
|
+
const customContracts = __classPrivateFieldGet(this, _SafeFactory_contractNetworks, "f")?.[chainId];
|
|
91
89
|
const initializer = await (0, utils_1.encodeSetupCallData)({
|
|
92
90
|
ethAdapter: __classPrivateFieldGet(this, _SafeFactory_ethAdapter, "f"),
|
|
93
91
|
safeAccountConfig,
|
|
94
92
|
safeContract: __classPrivateFieldGet(this, _SafeFactory_safeContract, "f"),
|
|
95
93
|
customContracts
|
|
96
94
|
});
|
|
97
|
-
if (
|
|
95
|
+
if (options?.gas && options?.gasLimit) {
|
|
98
96
|
throw new Error('Cannot specify gas and gasLimit together in transaction options');
|
|
99
97
|
}
|
|
100
98
|
const safeAddress = await __classPrivateFieldGet(this, _SafeFactory_safeProxyFactoryContract, "f").createProxy({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/safeFactory/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,0EAAiD;AACjD,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/safeFactory/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,9 +17,12 @@ exports.networks = [
|
|
|
17
17
|
{ chainId: 40, shortName: 'telosevm' },
|
|
18
18
|
{ chainId: 41, shortName: 'telosevmtestnet' },
|
|
19
19
|
{ chainId: 42, shortName: 'kov' },
|
|
20
|
+
{ chainId: 44, shortName: 'crab' },
|
|
21
|
+
{ chainId: 46, shortName: 'darwinia' },
|
|
20
22
|
{ chainId: 50, shortName: 'xdc' },
|
|
21
23
|
{ chainId: 51, shortName: 'txdc' },
|
|
22
24
|
{ chainId: 56, shortName: 'bnb' },
|
|
25
|
+
{ chainId: 57, shortName: 'sys' },
|
|
23
26
|
{ chainId: 61, shortName: 'etc' },
|
|
24
27
|
{ chainId: 63, shortName: 'metc' },
|
|
25
28
|
{ chainId: 69, shortName: 'okov' },
|
|
@@ -45,6 +48,7 @@ exports.networks = [
|
|
|
45
48
|
{ chainId: 336, shortName: 'sdn' },
|
|
46
49
|
{ chainId: 338, shortName: 'tcro' },
|
|
47
50
|
{ chainId: 420, shortName: 'ogor' },
|
|
51
|
+
{ chainId: 570, shortName: 'sys-rollux' },
|
|
48
52
|
{ chainId: 588, shortName: 'metis-stardust' },
|
|
49
53
|
{ chainId: 592, shortName: 'astr' },
|
|
50
54
|
{ chainId: 595, shortName: 'maca' },
|
|
@@ -78,7 +82,9 @@ exports.networks = [
|
|
|
78
82
|
{ chainId: 4689, shortName: 'iotex-mainnet' },
|
|
79
83
|
{ chainId: 4918, shortName: 'txvm' },
|
|
80
84
|
{ chainId: 4919, shortName: 'xvm' },
|
|
85
|
+
{ chainId: 5000, shortName: 'mantle' },
|
|
81
86
|
{ chainId: 5001, shortName: 'mantle-testnet' },
|
|
87
|
+
{ chainId: 5700, shortName: 'tsys' },
|
|
82
88
|
{ chainId: 7341, shortName: 'shyft' },
|
|
83
89
|
{ chainId: 7700, shortName: 'canto' },
|
|
84
90
|
{ chainId: 8217, shortName: 'cypress' },
|
|
@@ -105,6 +111,7 @@ exports.networks = [
|
|
|
105
111
|
{ chainId: 47805, shortName: 'rei' },
|
|
106
112
|
{ chainId: 54211, shortName: 'islmt' },
|
|
107
113
|
{ chainId: 56288, shortName: 'boba-bnb' },
|
|
114
|
+
{ chainId: 57000, shortName: 'tsys-rollux' },
|
|
108
115
|
{ chainId: 59140, shortName: 'linea-testnet' },
|
|
109
116
|
{ chainId: 71401, shortName: 'gw-testnet-v1' },
|
|
110
117
|
{ chainId: 71402, shortName: 'gw-mainnet-v1' },
|
|
@@ -117,6 +124,7 @@ exports.networks = [
|
|
|
117
124
|
{ chainId: 421611, shortName: 'arb-rinkeby' },
|
|
118
125
|
{ chainId: 421613, shortName: 'arb-goerli' },
|
|
119
126
|
{ chainId: 534353, shortName: 'scr-alpha' },
|
|
127
|
+
{ chainId: 7777777, shortName: 'zora' },
|
|
120
128
|
{ chainId: 11155111, shortName: 'sep' },
|
|
121
129
|
{ chainId: 245022926, shortName: 'neonevm-devnet' },
|
|
122
130
|
{ chainId: 1313161554, shortName: 'aurora' },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../src/utils/eip-3770/config.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../src/utils/eip-3770/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import Safe from '../../Safe';
|
|
2
|
+
import { Transaction } from '@safe-global/safe-core-sdk-types';
|
|
3
|
+
/**
|
|
4
|
+
* Returns the number of decimals of a given ERC-20 token.
|
|
5
|
+
*
|
|
6
|
+
* @async
|
|
7
|
+
* @param {string} tokenAddress - The address of the ERC-20 token.
|
|
8
|
+
* @param {Safe} safe - The Safe object.
|
|
9
|
+
* @returns {Promise<number>} The number of decimals that the token uses.
|
|
10
|
+
* @throws "Invalid ERC-20 decimals"
|
|
11
|
+
*/
|
|
12
|
+
export declare function getERC20Decimals(tokenAddress: string, safe: Safe): Promise<number>;
|
|
13
|
+
/**
|
|
14
|
+
* Checks if the given gas token is compatible with the handlePayment function present in the Safe smart contract.
|
|
15
|
+
* A token is considered compatible if it is a native token or a standard ERC-20 token with 18 decimals.
|
|
16
|
+
*
|
|
17
|
+
* @async
|
|
18
|
+
* @export
|
|
19
|
+
* @param {string} gasToken - The address of the gas token.
|
|
20
|
+
* @param {Safe} safe - The Safe object.
|
|
21
|
+
* @returns {Promise<boolean>} Returns true if the gas token is compatible, otherwise false.
|
|
22
|
+
*/
|
|
23
|
+
export declare function isGasTokenCompatibleWithHandlePayment(gasToken: string, safe: Safe): Promise<boolean>;
|
|
24
|
+
/**
|
|
25
|
+
* Creates a transaction object to perform a transfer of a specified amount of ERC-20 tokens to a given address.
|
|
26
|
+
*
|
|
27
|
+
* @export
|
|
28
|
+
* @param {string} tokenAddress - The address of the ERC-20 token.
|
|
29
|
+
* @param {string} toAddress - The address to which the tokens should be transferred.
|
|
30
|
+
* @param {string} amount - The amount of tokens to transfer.
|
|
31
|
+
* @returns {Transaction} Returns a transaction object that represents the transfer.
|
|
32
|
+
*/
|
|
33
|
+
export declare function createERC20TokenTransferTransaction(tokenAddress: string, toAddress: string, amount: string): Transaction;
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createERC20TokenTransferTransaction = exports.isGasTokenCompatibleWithHandlePayment = exports.getERC20Decimals = void 0;
|
|
4
|
+
const abi_1 = require("@ethersproject/abi");
|
|
5
|
+
const constants_1 = require("../constants");
|
|
6
|
+
const ERC20_ABI = [
|
|
7
|
+
'function transfer(address recipient, uint256 amount) returns (bool)',
|
|
8
|
+
'function decimals() view returns (uint8)'
|
|
9
|
+
];
|
|
10
|
+
/**
|
|
11
|
+
* Returns the number of decimals of a given ERC-20 token.
|
|
12
|
+
*
|
|
13
|
+
* @async
|
|
14
|
+
* @param {string} tokenAddress - The address of the ERC-20 token.
|
|
15
|
+
* @param {Safe} safe - The Safe object.
|
|
16
|
+
* @returns {Promise<number>} The number of decimals that the token uses.
|
|
17
|
+
* @throws "Invalid ERC-20 decimals"
|
|
18
|
+
*/
|
|
19
|
+
async function getERC20Decimals(tokenAddress, safe) {
|
|
20
|
+
const ethAdapter = safe.getEthAdapter();
|
|
21
|
+
const erc20Interface = new abi_1.Interface(ERC20_ABI);
|
|
22
|
+
const getTokenDecimalsTransaction = {
|
|
23
|
+
to: tokenAddress,
|
|
24
|
+
from: tokenAddress,
|
|
25
|
+
value: '0',
|
|
26
|
+
data: erc20Interface.encodeFunctionData('decimals')
|
|
27
|
+
};
|
|
28
|
+
const response = await ethAdapter.call(getTokenDecimalsTransaction);
|
|
29
|
+
const decimals = Number(response);
|
|
30
|
+
if (Number.isNaN(decimals)) {
|
|
31
|
+
throw new Error('Invalid ERC-20 decimals');
|
|
32
|
+
}
|
|
33
|
+
return decimals;
|
|
34
|
+
}
|
|
35
|
+
exports.getERC20Decimals = getERC20Decimals;
|
|
36
|
+
const STANDARD_ERC20_DECIMALS = 18;
|
|
37
|
+
/**
|
|
38
|
+
* Checks if the given gas token is compatible with the handlePayment function present in the Safe smart contract.
|
|
39
|
+
* A token is considered compatible if it is a native token or a standard ERC-20 token with 18 decimals.
|
|
40
|
+
*
|
|
41
|
+
* @async
|
|
42
|
+
* @export
|
|
43
|
+
* @param {string} gasToken - The address of the gas token.
|
|
44
|
+
* @param {Safe} safe - The Safe object.
|
|
45
|
+
* @returns {Promise<boolean>} Returns true if the gas token is compatible, otherwise false.
|
|
46
|
+
*/
|
|
47
|
+
async function isGasTokenCompatibleWithHandlePayment(gasToken, safe) {
|
|
48
|
+
const isNativeToken = gasToken === constants_1.ZERO_ADDRESS;
|
|
49
|
+
if (isNativeToken) {
|
|
50
|
+
return true;
|
|
51
|
+
}
|
|
52
|
+
// Only ERC20 tokens with the standard 18 decimals are compatible
|
|
53
|
+
const gasTokenDecimals = await getERC20Decimals(gasToken, safe);
|
|
54
|
+
const hasTokenStandardERC20Decimals = gasTokenDecimals === STANDARD_ERC20_DECIMALS;
|
|
55
|
+
return hasTokenStandardERC20Decimals;
|
|
56
|
+
}
|
|
57
|
+
exports.isGasTokenCompatibleWithHandlePayment = isGasTokenCompatibleWithHandlePayment;
|
|
58
|
+
/**
|
|
59
|
+
* Creates a transaction object to perform a transfer of a specified amount of ERC-20 tokens to a given address.
|
|
60
|
+
*
|
|
61
|
+
* @export
|
|
62
|
+
* @param {string} tokenAddress - The address of the ERC-20 token.
|
|
63
|
+
* @param {string} toAddress - The address to which the tokens should be transferred.
|
|
64
|
+
* @param {string} amount - The amount of tokens to transfer.
|
|
65
|
+
* @returns {Transaction} Returns a transaction object that represents the transfer.
|
|
66
|
+
*/
|
|
67
|
+
function createERC20TokenTransferTransaction(tokenAddress, toAddress, amount) {
|
|
68
|
+
const erc20Interface = new abi_1.Interface(ERC20_ABI);
|
|
69
|
+
const transferTransaction = {
|
|
70
|
+
to: tokenAddress,
|
|
71
|
+
value: '0',
|
|
72
|
+
data: erc20Interface.encodeFunctionData('transfer', [toAddress, amount])
|
|
73
|
+
};
|
|
74
|
+
return transferTransaction;
|
|
75
|
+
}
|
|
76
|
+
exports.createERC20TokenTransferTransaction = createERC20TokenTransferTransaction;
|
|
77
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/utils/erc-20/index.ts"],"names":[],"mappings":";;;AAAA,4CAA8C;AAI9C,4CAA2C;AAE3C,MAAM,SAAS,GAAG;IAChB,qEAAqE;IACrE,0CAA0C;CAC3C,CAAA;AAED;;;;;;;;GAQG;AACI,KAAK,UAAU,gBAAgB,CAAC,YAAoB,EAAE,IAAU;IACrE,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAA;IACvC,MAAM,cAAc,GAAG,IAAI,eAAS,CAAC,SAAS,CAAC,CAAA;IAE/C,MAAM,2BAA2B,GAAG;QAClC,EAAE,EAAE,YAAY;QAChB,IAAI,EAAE,YAAY;QAClB,KAAK,EAAE,GAAG;QACV,IAAI,EAAE,cAAc,CAAC,kBAAkB,CAAC,UAAU,CAAC;KACpD,CAAA;IAED,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAA;IAEnE,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAA;IAEjC,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE;QAC1B,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;KAC3C;IAED,OAAO,QAAQ,CAAA;AACjB,CAAC;AApBD,4CAoBC;AAED,MAAM,uBAAuB,GAAG,EAAE,CAAA;AAElC;;;;;;;;;GASG;AACI,KAAK,UAAU,qCAAqC,CACzD,QAAgB,EAChB,IAAU;IAEV,MAAM,aAAa,GAAG,QAAQ,KAAK,wBAAY,CAAA;IAE/C,IAAI,aAAa,EAAE;QACjB,OAAO,IAAI,CAAA;KACZ;IAED,iEAAiE;IACjE,MAAM,gBAAgB,GAAG,MAAM,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;IAC/D,MAAM,6BAA6B,GAAG,gBAAgB,KAAK,uBAAuB,CAAA;IAElF,OAAO,6BAA6B,CAAA;AACtC,CAAC;AAfD,sFAeC;AAED;;;;;;;;GAQG;AACH,SAAgB,mCAAmC,CACjD,YAAoB,EACpB,SAAiB,EACjB,MAAc;IAEd,MAAM,cAAc,GAAG,IAAI,eAAS,CAAC,SAAS,CAAC,CAAA;IAE/C,MAAM,mBAAmB,GAAG;QAC1B,EAAE,EAAE,YAAY;QAChB,KAAK,EAAE,GAAG;QACV,IAAI,EAAE,cAAc,CAAC,kBAAkB,CAAC,UAAU,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;KACzE,CAAA;IAED,OAAO,mBAAmB,CAAA;AAC5B,CAAC;AAdD,kFAcC"}
|
|
@@ -47,7 +47,7 @@ const adjustVInSignature = (signingMethod, signature, safeTxHash, signerAddress)
|
|
|
47
47
|
prefix is to check if the signer address is the same as the recovered address.
|
|
48
48
|
|
|
49
49
|
More info:
|
|
50
|
-
https://docs.safe.global/
|
|
50
|
+
https://docs.safe.global/safe-core-protocol/signatures
|
|
51
51
|
*/
|
|
52
52
|
if (signatureV < MIN_VALID_V_VALUE_FOR_SAFE_ECDSA) {
|
|
53
53
|
signatureV += MIN_VALID_V_VALUE_FOR_SAFE_ECDSA;
|
|
@@ -15,8 +15,8 @@ class EthSafeTransaction {
|
|
|
15
15
|
let dynamicParts = '';
|
|
16
16
|
signers.forEach((signerAddress) => {
|
|
17
17
|
const signature = this.signatures.get(signerAddress);
|
|
18
|
-
staticParts += signature
|
|
19
|
-
dynamicParts += signature
|
|
18
|
+
staticParts += signature?.staticPart( /*baseOffset + dynamicParts.length / 2*/).slice(2);
|
|
19
|
+
dynamicParts += signature?.dynamicPart();
|
|
20
20
|
});
|
|
21
21
|
return '0x' + staticParts + dynamicParts;
|
|
22
22
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SafeTransaction.js","sourceRoot":"","sources":["../../../../src/utils/transactions/SafeTransaction.ts"],"names":[],"mappings":";;AAMA,MAAM,kBAAkB;IAItB,YAAY,IAAyB;QAFrC,eAAU,GAA+B,IAAI,GAAG,EAAE,CAAA;QAGhD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;IAClB,CAAC;IAED,YAAY,CAAC,SAAwB;QACnC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,SAAS,CAAC,CAAA;IAChE,CAAC;IAED,iBAAiB;QACf,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;QACzD,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,GAAG,EAAE,CAAA;QACtC,IAAI,WAAW,GAAG,EAAE,CAAA;QACpB,IAAI,YAAY,GAAG,EAAE,CAAA;QACrB,OAAO,CAAC,OAAO,CAAC,CAAC,aAAa,EAAE,EAAE;YAChC,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;YACpD,WAAW,IAAI,SAAS,
|
|
1
|
+
{"version":3,"file":"SafeTransaction.js","sourceRoot":"","sources":["../../../../src/utils/transactions/SafeTransaction.ts"],"names":[],"mappings":";;AAMA,MAAM,kBAAkB;IAItB,YAAY,IAAyB;QAFrC,eAAU,GAA+B,IAAI,GAAG,EAAE,CAAA;QAGhD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;IAClB,CAAC;IAED,YAAY,CAAC,SAAwB;QACnC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,SAAS,CAAC,CAAA;IAChE,CAAC;IAED,iBAAiB;QACf,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;QACzD,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,GAAG,EAAE,CAAA;QACtC,IAAI,WAAW,GAAG,EAAE,CAAA;QACpB,IAAI,YAAY,GAAG,EAAE,CAAA;QACrB,OAAO,CAAC,OAAO,CAAC,CAAC,aAAa,EAAE,EAAE;YAChC,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;YACpD,WAAW,IAAI,SAAS,EAAE,UAAU,EAAC,wCAAwC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;YACvF,YAAY,IAAI,SAAS,EAAE,WAAW,EAAE,CAAA;QAC1C,CAAC,CAAC,CAAA;QACF,OAAO,IAAI,GAAG,WAAW,GAAG,YAAY,CAAA;IAC1C,CAAC;CACF;AAED,kBAAe,kBAAkB,CAAA"}
|
|
@@ -1,4 +1,51 @@
|
|
|
1
|
+
import { EthAdapter, SafeContract, OperationType, SafeVersion, SafeTransaction } from '@safe-global/safe-core-sdk-types';
|
|
2
|
+
import Safe from '../../Safe';
|
|
1
3
|
import { ContractNetworksConfig } from '../../types';
|
|
2
|
-
import { EthAdapter, OperationType, SafeContract, SafeVersion } from '@safe-global/safe-core-sdk-types';
|
|
3
4
|
export declare function estimateGas(safeVersion: SafeVersion, safeContract: SafeContract, ethAdapter: EthAdapter, to: string, valueInWei: string, data: string, operation: OperationType, customContracts?: ContractNetworksConfig): Promise<string>;
|
|
4
5
|
export declare function estimateTxGas(safeContract: SafeContract, ethAdapter: EthAdapter, to: string, valueInWei: string, data: string, operation: OperationType): Promise<string>;
|
|
6
|
+
/**
|
|
7
|
+
* This function estimates the baseGas of a Safe transaction.
|
|
8
|
+
* The baseGas includes costs for:
|
|
9
|
+
* - Generation of the Safe transaction hash (txHash)
|
|
10
|
+
* - Increasing the nonce of the Safe
|
|
11
|
+
* - Verifying the signatures of the Safe transaction
|
|
12
|
+
* - Payment to relayers for executing the transaction
|
|
13
|
+
* - Emitting events ExecutionSuccess or ExecutionFailure
|
|
14
|
+
*
|
|
15
|
+
* Note: it does not include the transaction execution cost (safeTxGas)
|
|
16
|
+
*
|
|
17
|
+
* @async
|
|
18
|
+
* @function estimateTxBaseGas
|
|
19
|
+
* @param {Safe} safe - The Safe instance containing all the information about the safe.
|
|
20
|
+
* @param {SafeTransaction} safeTransaction - The transaction for which the baseGas is to be estimated.
|
|
21
|
+
* @returns {Promise<string>} A Promise that resolves with the estimated baseGas as a string.
|
|
22
|
+
*/
|
|
23
|
+
export declare function estimateTxBaseGas(safe: Safe, safeTransaction: SafeTransaction): Promise<string>;
|
|
24
|
+
/**
|
|
25
|
+
* This function estimates the safeTxGas of a Safe transaction.
|
|
26
|
+
* The safeTxGas value represents the amount of gas required to execute the Safe transaction itself.
|
|
27
|
+
* It does not include costs such as signature verification, transaction hash generation, nonce incrementing, and so on.
|
|
28
|
+
*
|
|
29
|
+
* The estimation method differs based on the version of the Safe:
|
|
30
|
+
* - For versions >= 1.3.0, the simulate function defined in the simulateTxAccessor.sol Contract is used.
|
|
31
|
+
* - For versions < 1.3.0, the deprecated requiredTxGas method defined in the GnosisSafe.sol contract is used.
|
|
32
|
+
*
|
|
33
|
+
* @async
|
|
34
|
+
* @function estimateSafeTxGas
|
|
35
|
+
* @param {Safe} safe - The Safe instance containing all the necessary information about the safe.
|
|
36
|
+
* @param {SafeTransaction} safeTransaction - The transaction for which the safeTxGas is to be estimated.
|
|
37
|
+
* @returns {Promise<string>} A Promise that resolves with the estimated safeTxGas as a string.
|
|
38
|
+
*
|
|
39
|
+
*/
|
|
40
|
+
export declare function estimateSafeTxGas(safe: Safe, safeTransaction: SafeTransaction): Promise<string>;
|
|
41
|
+
/**
|
|
42
|
+
* This function estimates the gas cost of deploying a Safe.
|
|
43
|
+
* It considers also the costs of the Safe setup call.
|
|
44
|
+
* The setup call includes tasks such as setting up initial owners, defining the threshold, and initializing the salt nonce used for address generation.
|
|
45
|
+
*
|
|
46
|
+
* @async
|
|
47
|
+
* @function estimateSafeDeploymentGas
|
|
48
|
+
* @param {Safe} safe - The Safe object containing all necessary information about the safe, including owners, threshold, and saltNonce.
|
|
49
|
+
* @returns {Promise<string>} A Promise that resolves with the estimated gas cost of the safe deployment as a string.
|
|
50
|
+
*/
|
|
51
|
+
export declare function estimateSafeDeploymentGas(safe: Safe): Promise<string>;
|