@safe-global/protocol-kit 0.1.1 → 1.0.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 +1015 -984
- package/dist/src/Safe.d.ts +13 -52
- package/dist/src/Safe.js +168 -57
- package/dist/src/Safe.js.map +1 -1
- package/dist/src/adapters/ethers/EthersAdapter.d.ts +8 -8
- package/dist/src/adapters/ethers/EthersAdapter.js +23 -31
- package/dist/src/adapters/ethers/EthersAdapter.js.map +1 -1
- package/dist/src/adapters/ethers/contracts/CreateCall/CreateCallEthersContract.d.ts +1 -1
- package/dist/src/adapters/ethers/contracts/CreateCall/CreateCallEthersContract.js +1 -1
- package/dist/src/adapters/ethers/contracts/GnosisSafe/GnosisSafeContractEthers.d.ts +1 -1
- package/dist/src/adapters/ethers/contracts/GnosisSafe/GnosisSafeContractEthers.js +1 -1
- package/dist/src/adapters/ethers/contracts/GnosisSafeProxyFactory/GnosisSafeProxyFactoryEthersContract.d.ts +1 -1
- package/dist/src/adapters/ethers/contracts/GnosisSafeProxyFactory/GnosisSafeProxyFactoryEthersContract.js +1 -1
- package/dist/src/adapters/ethers/contracts/SignMessageLib/SignMessageLibEthersContract.d.ts +1 -1
- package/dist/src/adapters/ethers/contracts/SignMessageLib/SignMessageLibEthersContract.js +1 -1
- package/dist/src/adapters/ethers/utils/index.d.ts +8 -0
- package/dist/src/adapters/ethers/utils/index.js +15 -1
- package/dist/src/adapters/ethers/utils/index.js.map +1 -1
- package/dist/src/adapters/web3/Web3Adapter.d.ts +8 -8
- package/dist/src/adapters/web3/Web3Adapter.js +17 -9
- package/dist/src/adapters/web3/Web3Adapter.js.map +1 -1
- package/dist/src/adapters/web3/contracts/CreateCall/CreateCallWeb3Contract.d.ts +1 -1
- package/dist/src/adapters/web3/contracts/CreateCall/CreateCallWeb3Contract.js +1 -6
- package/dist/src/adapters/web3/contracts/CreateCall/CreateCallWeb3Contract.js.map +1 -1
- package/dist/src/adapters/web3/contracts/GnosisSafe/GnosisSafeContractWeb3.d.ts +1 -1
- package/dist/src/adapters/web3/contracts/GnosisSafe/GnosisSafeContractWeb3.js +1 -6
- package/dist/src/adapters/web3/contracts/GnosisSafe/GnosisSafeContractWeb3.js.map +1 -1
- package/dist/src/adapters/web3/contracts/GnosisSafeProxyFactory/GnosisSafeProxyFactoryWeb3Contract.d.ts +1 -1
- package/dist/src/adapters/web3/contracts/GnosisSafeProxyFactory/GnosisSafeProxyFactoryWeb3Contract.js +1 -6
- package/dist/src/adapters/web3/contracts/GnosisSafeProxyFactory/GnosisSafeProxyFactoryWeb3Contract.js.map +1 -1
- package/dist/src/adapters/web3/contracts/SignMessageLib/SignMessageLibWeb3Contract.d.ts +1 -1
- package/dist/src/adapters/web3/contracts/SignMessageLib/SignMessageLibWeb3Contract.js +1 -6
- package/dist/src/adapters/web3/contracts/SignMessageLib/SignMessageLibWeb3Contract.js.map +1 -1
- package/dist/src/contracts/safeDeploymentContracts.d.ts +8 -9
- package/dist/src/contracts/safeDeploymentContracts.js +15 -15
- package/dist/src/contracts/safeDeploymentContracts.js.map +1 -1
- package/dist/src/contracts/utils.d.ts +21 -0
- package/dist/src/contracts/utils.js +105 -0
- package/dist/src/contracts/utils.js.map +1 -0
- package/dist/src/index.d.ts +8 -6
- package/dist/src/index.js +27 -20
- package/dist/src/index.js.map +1 -1
- package/dist/src/managers/contractManager.d.ts +4 -5
- package/dist/src/managers/contractManager.js +27 -22
- package/dist/src/managers/contractManager.js.map +1 -1
- package/dist/src/managers/fallbackHandlerManager.d.ts +1 -1
- package/dist/src/managers/fallbackHandlerManager.js +9 -0
- package/dist/src/managers/fallbackHandlerManager.js.map +1 -1
- package/dist/src/managers/guardManager.d.ts +1 -1
- package/dist/src/managers/guardManager.js +9 -0
- package/dist/src/managers/guardManager.js.map +1 -1
- package/dist/src/managers/moduleManager.d.ts +1 -1
- package/dist/src/managers/moduleManager.js +12 -0
- package/dist/src/managers/moduleManager.js.map +1 -1
- package/dist/src/managers/ownerManager.d.ts +1 -1
- package/dist/src/managers/ownerManager.js +21 -0
- package/dist/src/managers/ownerManager.js.map +1 -1
- package/dist/src/safeFactory/index.d.ts +5 -23
- package/dist/src/safeFactory/index.js +23 -63
- package/dist/src/safeFactory/index.js.map +1 -1
- package/dist/src/types/index.d.ts +114 -0
- package/dist/src/utils/eip-3770/config.js +11 -0
- package/dist/src/utils/eip-3770/config.js.map +1 -1
- package/dist/src/utils/index.d.ts +2 -1
- package/dist/src/utils/index.js +2 -1
- package/dist/src/utils/index.js.map +1 -1
- package/dist/src/utils/safeVersions.d.ts +2 -1
- package/dist/src/utils/safeVersions.js +3 -1
- package/dist/src/utils/safeVersions.js.map +1 -1
- package/dist/src/utils/signatures/SafeSignature.d.ts +1 -2
- package/dist/src/utils/signatures/SafeSignature.js +3 -2
- package/dist/src/utils/signatures/SafeSignature.js.map +1 -1
- package/dist/src/utils/signatures/index.d.ts +2 -12
- package/dist/src/utils/signatures/index.js +15 -90
- package/dist/src/utils/signatures/index.js.map +1 -1
- package/dist/src/utils/signatures/utils.d.ts +11 -0
- package/dist/src/utils/signatures/utils.js +91 -0
- package/dist/src/utils/signatures/utils.js.map +1 -0
- package/dist/src/utils/transactions/gas.d.ts +1 -1
- package/dist/src/utils/transactions/gas.js +10 -10
- package/dist/src/utils/transactions/gas.js.map +1 -1
- package/dist/src/utils/transactions/utils.d.ts +3 -2
- package/dist/src/utils/transactions/utils.js +26 -13
- package/dist/src/utils/transactions/utils.js.map +1 -1
- package/dist/src/utils/types.d.ts +2 -0
- package/dist/src/utils/types.js +8 -0
- package/dist/src/utils/types.js.map +1 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +91 -90
- package/dist/src/safeFactory/utils.d.ts +0 -3
- package/dist/src/safeFactory/utils.js +0 -19
- package/dist/src/safeFactory/utils.js.map +0 -1
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { StandardizeSafeTransactionDataProps } from '../../types';
|
|
2
|
+
import { MetaTransactionData, SafeMultisigTransactionResponse, SafeTransaction, SafeTransactionData, SafeTransactionDataPartial } from '@safe-global/safe-core-sdk-types';
|
|
2
3
|
export declare function standardizeMetaTransactionData(tx: SafeTransactionDataPartial): MetaTransactionData;
|
|
3
|
-
export declare function standardizeSafeTransactionData(safeContract
|
|
4
|
+
export declare function standardizeSafeTransactionData({ safeContract, predictedSafe, ethAdapter, tx }: StandardizeSafeTransactionDataProps): Promise<SafeTransactionData>;
|
|
4
5
|
export declare function encodeMultiSendData(txs: MetaTransactionData[]): string;
|
|
5
6
|
export declare function decodeMultiSendData(encodedData: string): MetaTransactionData[];
|
|
6
7
|
export declare function isMetaTransactionArray(safeTransactions: SafeTransactionDataPartial | MetaTransactionData[]): safeTransactions is MetaTransactionData[];
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.isSafeMultisigTransactionResponse = exports.isMetaTransactionArray = exports.decodeMultiSendData = exports.encodeMultiSendData = exports.standardizeSafeTransactionData = exports.standardizeMetaTransactionData = void 0;
|
|
4
|
+
const abi_1 = require("@ethersproject/abi");
|
|
4
5
|
const bytes_1 = require("@ethersproject/bytes");
|
|
5
6
|
const solidity_1 = require("@ethersproject/solidity");
|
|
6
|
-
const abi_1 = require("@ethersproject/abi");
|
|
7
|
-
const web3_utils_1 = require("web3-utils");
|
|
8
|
-
const safe_core_sdk_types_1 = require("@safe-global/safe-core-sdk-types");
|
|
9
7
|
const utils_1 = require("../../utils");
|
|
10
8
|
const constants_1 = require("../../utils/constants");
|
|
9
|
+
const safe_core_sdk_types_1 = require("@safe-global/safe-core-sdk-types");
|
|
10
|
+
const web3_utils_1 = require("web3-utils");
|
|
11
11
|
const gas_1 = require("./gas");
|
|
12
12
|
function standardizeMetaTransactionData(tx) {
|
|
13
13
|
var _a;
|
|
@@ -18,34 +18,47 @@ function standardizeMetaTransactionData(tx) {
|
|
|
18
18
|
return standardizedTxs;
|
|
19
19
|
}
|
|
20
20
|
exports.standardizeMetaTransactionData = standardizeMetaTransactionData;
|
|
21
|
-
async function standardizeSafeTransactionData(safeContract, ethAdapter, tx) {
|
|
21
|
+
async function standardizeSafeTransactionData({ safeContract, predictedSafe, ethAdapter, tx }) {
|
|
22
22
|
var _a, _b, _c, _d;
|
|
23
23
|
const standardizedTxs = {
|
|
24
24
|
to: tx.to,
|
|
25
25
|
value: tx.value,
|
|
26
26
|
data: tx.data,
|
|
27
27
|
operation: (_a = tx.operation) !== null && _a !== void 0 ? _a : safe_core_sdk_types_1.OperationType.Call,
|
|
28
|
-
baseGas: (_b = tx.baseGas) !== null && _b !== void 0 ? _b : 0,
|
|
29
|
-
gasPrice: (_c = tx.gasPrice) !== null && _c !== void 0 ? _c : 0,
|
|
28
|
+
baseGas: (_b = tx.baseGas) !== null && _b !== void 0 ? _b : '0',
|
|
29
|
+
gasPrice: (_c = tx.gasPrice) !== null && _c !== void 0 ? _c : '0',
|
|
30
30
|
gasToken: tx.gasToken || constants_1.ZERO_ADDRESS,
|
|
31
31
|
refundReceiver: tx.refundReceiver || constants_1.ZERO_ADDRESS,
|
|
32
|
-
nonce: (_d = tx.nonce) !== null && _d !== void 0 ? _d : (await safeContract.getNonce())
|
|
32
|
+
nonce: (_d = tx.nonce) !== null && _d !== void 0 ? _d : (safeContract ? await safeContract.getNonce() : 0)
|
|
33
33
|
};
|
|
34
|
-
let safeTxGas;
|
|
35
34
|
if (typeof tx.safeTxGas !== 'undefined') {
|
|
36
35
|
return {
|
|
37
36
|
...standardizedTxs,
|
|
38
37
|
safeTxGas: tx.safeTxGas
|
|
39
38
|
};
|
|
40
39
|
}
|
|
41
|
-
|
|
42
|
-
if (
|
|
43
|
-
|
|
44
|
-
safeTxGas = 0;
|
|
40
|
+
let safeVersion;
|
|
41
|
+
if (predictedSafe === null || predictedSafe === void 0 ? void 0 : predictedSafe.safeDeploymentConfig.safeVersion) {
|
|
42
|
+
safeVersion = predictedSafe === null || predictedSafe === void 0 ? void 0 : predictedSafe.safeDeploymentConfig.safeVersion;
|
|
45
43
|
}
|
|
46
44
|
else {
|
|
47
|
-
|
|
45
|
+
if (!safeContract) {
|
|
46
|
+
throw new Error('Safe is not deployed');
|
|
47
|
+
}
|
|
48
|
+
safeVersion = await safeContract.getVersion();
|
|
49
|
+
}
|
|
50
|
+
const hasSafeTxGasOptional = (0, utils_1.hasSafeFeature)(utils_1.SAFE_FEATURES.SAFE_TX_GAS_OPTIONAL, safeVersion);
|
|
51
|
+
if ((hasSafeTxGasOptional && standardizedTxs.gasPrice === '0') ||
|
|
52
|
+
(hasSafeTxGasOptional && predictedSafe)) {
|
|
53
|
+
return {
|
|
54
|
+
...standardizedTxs,
|
|
55
|
+
safeTxGas: '0'
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
if (!safeContract) {
|
|
59
|
+
throw new Error('Safe is not deployed');
|
|
48
60
|
}
|
|
61
|
+
const safeTxGas = await (0, gas_1.estimateTxGas)(safeContract, ethAdapter, standardizedTxs.to, standardizedTxs.value, standardizedTxs.data, standardizedTxs.operation);
|
|
49
62
|
return {
|
|
50
63
|
...standardizedTxs,
|
|
51
64
|
safeTxGas
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/utils/transactions/utils.ts"],"names":[],"mappings":";;;AAAA,gDAA+C;AAC/C,sDAA8D;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/utils/transactions/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isSafeConfigWithPredictedSafe = void 0;
|
|
4
|
+
function isSafeConfigWithPredictedSafe(config) {
|
|
5
|
+
return config.predictedSafe !== undefined;
|
|
6
|
+
}
|
|
7
|
+
exports.isSafeConfigWithPredictedSafe = isSafeConfigWithPredictedSafe;
|
|
8
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/utils/types.ts"],"names":[],"mappings":";;;AAEA,SAAgB,6BAA6B,CAC3C,MAAkB;IAElB,OAAQ,MAAiD,CAAC,aAAa,KAAK,SAAS,CAAA;AACvF,CAAC;AAJD,sEAIC"}
|