@safe-global/protocol-kit 0.1.1 → 1.0.1
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/README.md +47 -16
- package/dist/src/Safe.d.ts +13 -52
- package/dist/src/Safe.js +180 -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 +27 -14
- 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 +5 -4
- 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
package/dist/src/Safe.js
CHANGED
|
@@ -13,22 +13,25 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
13
13
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
14
14
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
15
|
};
|
|
16
|
-
var _Safe_ethAdapter, _Safe_contractManager, _Safe_ownerManager, _Safe_moduleManager, _Safe_guardManager, _Safe_fallbackHandlerManager;
|
|
16
|
+
var _Safe_predictedSafe, _Safe_ethAdapter, _Safe_contractManager, _Safe_ownerManager, _Safe_moduleManager, _Safe_guardManager, _Safe_fallbackHandlerManager;
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
18
|
const bignumber_1 = require("@ethersproject/bignumber");
|
|
19
19
|
const safe_core_sdk_types_1 = require("@safe-global/safe-core-sdk-types");
|
|
20
|
-
const
|
|
20
|
+
const config_1 = require("./contracts/config");
|
|
21
|
+
const utils_1 = require("./contracts/utils");
|
|
21
22
|
const contractManager_1 = __importDefault(require("./managers/contractManager"));
|
|
22
23
|
const fallbackHandlerManager_1 = __importDefault(require("./managers/fallbackHandlerManager"));
|
|
23
24
|
const guardManager_1 = __importDefault(require("./managers/guardManager"));
|
|
24
25
|
const moduleManager_1 = __importDefault(require("./managers/moduleManager"));
|
|
25
26
|
const ownerManager_1 = __importDefault(require("./managers/ownerManager"));
|
|
26
|
-
const
|
|
27
|
-
const
|
|
27
|
+
const utils_2 = require("./utils");
|
|
28
|
+
const utils_3 = require("./utils/signatures/utils");
|
|
28
29
|
const SafeTransaction_1 = __importDefault(require("./utils/transactions/SafeTransaction"));
|
|
29
|
-
const
|
|
30
|
+
const utils_4 = require("./utils/transactions/utils");
|
|
31
|
+
const types_1 = require("./utils/types");
|
|
30
32
|
class Safe {
|
|
31
33
|
constructor() {
|
|
34
|
+
_Safe_predictedSafe.set(this, void 0);
|
|
32
35
|
_Safe_ethAdapter.set(this, void 0);
|
|
33
36
|
_Safe_contractManager.set(this, void 0);
|
|
34
37
|
_Safe_ownerManager.set(this, void 0);
|
|
@@ -40,13 +43,14 @@ class Safe {
|
|
|
40
43
|
* Creates an instance of the Safe Core SDK.
|
|
41
44
|
* @param config - Ethers Safe configuration
|
|
42
45
|
* @returns The Safe Core SDK instance
|
|
46
|
+
* @throws "The SDK must be initialized with a safeAddress or a predictedSafe"
|
|
43
47
|
* @throws "SafeProxy contract is not deployed on the current network"
|
|
44
48
|
* @throws "MultiSend contract is not deployed on the current network"
|
|
45
49
|
* @throws "MultiSendCallOnly contract is not deployed on the current network"
|
|
46
50
|
*/
|
|
47
|
-
static async create(
|
|
51
|
+
static async create(config) {
|
|
48
52
|
const safeSdk = new Safe();
|
|
49
|
-
await safeSdk.init(
|
|
53
|
+
await safeSdk.init(config);
|
|
50
54
|
return safeSdk;
|
|
51
55
|
}
|
|
52
56
|
/**
|
|
@@ -57,14 +61,26 @@ class Safe {
|
|
|
57
61
|
* @throws "MultiSend contract is not deployed on the current network"
|
|
58
62
|
* @throws "MultiSendCallOnly contract is not deployed on the current network"
|
|
59
63
|
*/
|
|
60
|
-
async init(
|
|
64
|
+
async init(config) {
|
|
65
|
+
const { ethAdapter, isL1SafeMasterCopy, contractNetworks } = config;
|
|
61
66
|
__classPrivateFieldSet(this, _Safe_ethAdapter, ethAdapter, "f");
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
67
|
+
if ((0, types_1.isSafeConfigWithPredictedSafe)(config)) {
|
|
68
|
+
__classPrivateFieldSet(this, _Safe_predictedSafe, config.predictedSafe, "f");
|
|
69
|
+
__classPrivateFieldSet(this, _Safe_contractManager, await contractManager_1.default.create({
|
|
70
|
+
ethAdapter: __classPrivateFieldGet(this, _Safe_ethAdapter, "f"),
|
|
71
|
+
predictedSafe: __classPrivateFieldGet(this, _Safe_predictedSafe, "f"),
|
|
72
|
+
isL1SafeMasterCopy,
|
|
73
|
+
contractNetworks
|
|
74
|
+
}), "f");
|
|
75
|
+
}
|
|
76
|
+
else {
|
|
77
|
+
__classPrivateFieldSet(this, _Safe_contractManager, await contractManager_1.default.create({
|
|
78
|
+
ethAdapter: __classPrivateFieldGet(this, _Safe_ethAdapter, "f"),
|
|
79
|
+
safeAddress: config.safeAddress,
|
|
80
|
+
isL1SafeMasterCopy,
|
|
81
|
+
contractNetworks
|
|
82
|
+
}), "f");
|
|
83
|
+
}
|
|
68
84
|
__classPrivateFieldSet(this, _Safe_ownerManager, new ownerManager_1.default(__classPrivateFieldGet(this, _Safe_ethAdapter, "f"), __classPrivateFieldGet(this, _Safe_contractManager, "f").safeContract), "f");
|
|
69
85
|
__classPrivateFieldSet(this, _Safe_moduleManager, new moduleManager_1.default(__classPrivateFieldGet(this, _Safe_ethAdapter, "f"), __classPrivateFieldGet(this, _Safe_contractManager, "f").safeContract), "f");
|
|
70
86
|
__classPrivateFieldSet(this, _Safe_guardManager, new guardManager_1.default(__classPrivateFieldGet(this, _Safe_ethAdapter, "f"), __classPrivateFieldGet(this, _Safe_contractManager, "f").safeContract), "f");
|
|
@@ -73,16 +89,43 @@ class Safe {
|
|
|
73
89
|
/**
|
|
74
90
|
* Returns a new instance of the Safe Core SDK.
|
|
75
91
|
* @param config - Connect Safe configuration
|
|
92
|
+
* @throws "A safeAddress and a predictedSafe cannot be connected at the same time"
|
|
76
93
|
* @throws "SafeProxy contract is not deployed on the current network"
|
|
77
94
|
* @throws "MultiSend contract is not deployed on the current network"
|
|
78
95
|
* @throws "MultiSendCallOnly contract is not deployed on the current network"
|
|
79
96
|
*/
|
|
80
|
-
async connect(
|
|
81
|
-
|
|
97
|
+
async connect(config) {
|
|
98
|
+
const { ethAdapter, safeAddress, predictedSafe, isL1SafeMasterCopy, contractNetworks } = config;
|
|
99
|
+
const configProps = {
|
|
82
100
|
ethAdapter: ethAdapter || __classPrivateFieldGet(this, _Safe_ethAdapter, "f"),
|
|
83
|
-
safeAddress: safeAddress || this.getAddress(),
|
|
84
101
|
isL1SafeMasterCopy: isL1SafeMasterCopy || __classPrivateFieldGet(this, _Safe_contractManager, "f").isL1SafeMasterCopy,
|
|
85
102
|
contractNetworks: contractNetworks || __classPrivateFieldGet(this, _Safe_contractManager, "f").contractNetworks
|
|
103
|
+
};
|
|
104
|
+
// A new existing Safe is connected to the Signer
|
|
105
|
+
if (safeAddress) {
|
|
106
|
+
return await Safe.create({
|
|
107
|
+
safeAddress,
|
|
108
|
+
...configProps
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
// A new predicted Safe is connected to the Signer
|
|
112
|
+
if (predictedSafe) {
|
|
113
|
+
return await Safe.create({
|
|
114
|
+
predictedSafe,
|
|
115
|
+
...configProps
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
// The previous predicted Safe is connected to a new Signer
|
|
119
|
+
if (__classPrivateFieldGet(this, _Safe_predictedSafe, "f")) {
|
|
120
|
+
return await Safe.create({
|
|
121
|
+
predictedSafe: __classPrivateFieldGet(this, _Safe_predictedSafe, "f"),
|
|
122
|
+
...configProps
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
// The previous existing Safe is connected to a new Signer
|
|
126
|
+
return await Safe.create({
|
|
127
|
+
safeAddress: await this.getAddress(),
|
|
128
|
+
...configProps
|
|
86
129
|
});
|
|
87
130
|
}
|
|
88
131
|
/**
|
|
@@ -90,8 +133,24 @@ class Safe {
|
|
|
90
133
|
*
|
|
91
134
|
* @returns The address of the SafeProxy contract
|
|
92
135
|
*/
|
|
93
|
-
getAddress() {
|
|
94
|
-
|
|
136
|
+
async getAddress() {
|
|
137
|
+
var _a;
|
|
138
|
+
if (__classPrivateFieldGet(this, _Safe_predictedSafe, "f")) {
|
|
139
|
+
const safeVersion = await this.getContractVersion();
|
|
140
|
+
if (!(0, utils_2.hasSafeFeature)(utils_2.SAFE_FEATURES.ACCOUNT_ABSTRACTION, safeVersion)) {
|
|
141
|
+
throw new Error('Account Abstraction functionality is not available for Safes with version lower than v1.3.0');
|
|
142
|
+
}
|
|
143
|
+
const chainId = await __classPrivateFieldGet(this, _Safe_ethAdapter, "f").getChainId();
|
|
144
|
+
return (0, utils_1.predictSafeAddress)({
|
|
145
|
+
ethAdapter: __classPrivateFieldGet(this, _Safe_ethAdapter, "f"),
|
|
146
|
+
customContracts: (_a = __classPrivateFieldGet(this, _Safe_contractManager, "f").contractNetworks) === null || _a === void 0 ? void 0 : _a[chainId],
|
|
147
|
+
...__classPrivateFieldGet(this, _Safe_predictedSafe, "f")
|
|
148
|
+
});
|
|
149
|
+
}
|
|
150
|
+
if (!__classPrivateFieldGet(this, _Safe_contractManager, "f").safeContract) {
|
|
151
|
+
throw new Error('Safe is not deployed');
|
|
152
|
+
}
|
|
153
|
+
return Promise.resolve(__classPrivateFieldGet(this, _Safe_contractManager, "f").safeContract.getAddress());
|
|
95
154
|
}
|
|
96
155
|
/**
|
|
97
156
|
* Returns the ContractManager
|
|
@@ -125,13 +184,30 @@ class Safe {
|
|
|
125
184
|
getMultiSendCallOnlyAddress() {
|
|
126
185
|
return __classPrivateFieldGet(this, _Safe_contractManager, "f").multiSendCallOnlyContract.getAddress();
|
|
127
186
|
}
|
|
187
|
+
/**
|
|
188
|
+
* Checks if the current Safe is deployed.
|
|
189
|
+
*
|
|
190
|
+
* @returns TRUE if the Safe contract is deployed
|
|
191
|
+
*/
|
|
192
|
+
async isSafeDeployed() {
|
|
193
|
+
const safeAddress = await this.getAddress();
|
|
194
|
+
const isSafeDeployed = await __classPrivateFieldGet(this, _Safe_ethAdapter, "f").isContractDeployed(safeAddress);
|
|
195
|
+
return isSafeDeployed;
|
|
196
|
+
}
|
|
128
197
|
/**
|
|
129
198
|
* Returns the Safe Master Copy contract version.
|
|
130
199
|
*
|
|
131
200
|
* @returns The Safe Master Copy contract version
|
|
132
201
|
*/
|
|
133
202
|
async getContractVersion() {
|
|
134
|
-
|
|
203
|
+
var _a, _b;
|
|
204
|
+
if (__classPrivateFieldGet(this, _Safe_contractManager, "f").safeContract) {
|
|
205
|
+
return __classPrivateFieldGet(this, _Safe_contractManager, "f").safeContract.getVersion();
|
|
206
|
+
}
|
|
207
|
+
if ((_b = (_a = __classPrivateFieldGet(this, _Safe_predictedSafe, "f")) === null || _a === void 0 ? void 0 : _a.safeDeploymentConfig) === null || _b === void 0 ? void 0 : _b.safeVersion) {
|
|
208
|
+
return Promise.resolve(__classPrivateFieldGet(this, _Safe_predictedSafe, "f").safeDeploymentConfig.safeVersion);
|
|
209
|
+
}
|
|
210
|
+
return Promise.resolve(config_1.SAFE_LAST_VERSION);
|
|
135
211
|
}
|
|
136
212
|
/**
|
|
137
213
|
* Returns the list of Safe owner accounts.
|
|
@@ -139,6 +215,10 @@ class Safe {
|
|
|
139
215
|
* @returns The list of owners
|
|
140
216
|
*/
|
|
141
217
|
async getOwners() {
|
|
218
|
+
var _a;
|
|
219
|
+
if ((_a = __classPrivateFieldGet(this, _Safe_predictedSafe, "f")) === null || _a === void 0 ? void 0 : _a.safeAccountConfig.owners) {
|
|
220
|
+
return Promise.resolve(__classPrivateFieldGet(this, _Safe_predictedSafe, "f").safeAccountConfig.owners);
|
|
221
|
+
}
|
|
142
222
|
return __classPrivateFieldGet(this, _Safe_ownerManager, "f").getOwners();
|
|
143
223
|
}
|
|
144
224
|
/**
|
|
@@ -147,6 +227,9 @@ class Safe {
|
|
|
147
227
|
* @returns The Safe nonce
|
|
148
228
|
*/
|
|
149
229
|
async getNonce() {
|
|
230
|
+
if (!__classPrivateFieldGet(this, _Safe_contractManager, "f").safeContract) {
|
|
231
|
+
return Promise.resolve(0);
|
|
232
|
+
}
|
|
150
233
|
return __classPrivateFieldGet(this, _Safe_contractManager, "f").safeContract.getNonce();
|
|
151
234
|
}
|
|
152
235
|
/**
|
|
@@ -155,6 +238,10 @@ class Safe {
|
|
|
155
238
|
* @returns The Safe threshold
|
|
156
239
|
*/
|
|
157
240
|
async getThreshold() {
|
|
241
|
+
var _a;
|
|
242
|
+
if ((_a = __classPrivateFieldGet(this, _Safe_predictedSafe, "f")) === null || _a === void 0 ? void 0 : _a.safeAccountConfig.threshold) {
|
|
243
|
+
return Promise.resolve(__classPrivateFieldGet(this, _Safe_predictedSafe, "f").safeAccountConfig.threshold);
|
|
244
|
+
}
|
|
158
245
|
return __classPrivateFieldGet(this, _Safe_ownerManager, "f").getThreshold();
|
|
159
246
|
}
|
|
160
247
|
/**
|
|
@@ -171,7 +258,7 @@ class Safe {
|
|
|
171
258
|
* @returns The ETH balance of the Safe
|
|
172
259
|
*/
|
|
173
260
|
async getBalance() {
|
|
174
|
-
return __classPrivateFieldGet(this, _Safe_ethAdapter, "f").getBalance(this.getAddress());
|
|
261
|
+
return __classPrivateFieldGet(this, _Safe_ethAdapter, "f").getBalance(await this.getAddress());
|
|
175
262
|
}
|
|
176
263
|
/**
|
|
177
264
|
* Returns the address of the FallbackHandler contract.
|
|
@@ -214,6 +301,10 @@ class Safe {
|
|
|
214
301
|
* @returns TRUE if the account is an owner
|
|
215
302
|
*/
|
|
216
303
|
async isOwner(ownerAddress) {
|
|
304
|
+
var _a, _b;
|
|
305
|
+
if ((_a = __classPrivateFieldGet(this, _Safe_predictedSafe, "f")) === null || _a === void 0 ? void 0 : _a.safeAccountConfig.owners) {
|
|
306
|
+
return Promise.resolve((_b = __classPrivateFieldGet(this, _Safe_predictedSafe, "f")) === null || _b === void 0 ? void 0 : _b.safeAccountConfig.owners.some((owner) => (0, utils_2.sameString)(owner, ownerAddress)));
|
|
307
|
+
}
|
|
217
308
|
return __classPrivateFieldGet(this, _Safe_ownerManager, "f").isOwner(ownerAddress);
|
|
218
309
|
}
|
|
219
310
|
/**
|
|
@@ -224,15 +315,19 @@ class Safe {
|
|
|
224
315
|
* @throws "Invalid empty array of transactions"
|
|
225
316
|
*/
|
|
226
317
|
async createTransaction({ safeTransactionData, onlyCalls = false, options }) {
|
|
227
|
-
|
|
318
|
+
const safeVersion = await this.getContractVersion();
|
|
319
|
+
if (__classPrivateFieldGet(this, _Safe_predictedSafe, "f") && !(0, utils_2.hasSafeFeature)(utils_2.SAFE_FEATURES.ACCOUNT_ABSTRACTION, safeVersion)) {
|
|
320
|
+
throw new Error('Account Abstraction functionality is not available for Safes with version lower than v1.3.0');
|
|
321
|
+
}
|
|
322
|
+
if ((0, utils_2.isMetaTransactionArray)(safeTransactionData) && safeTransactionData.length === 0) {
|
|
228
323
|
throw new Error('Invalid empty array of transactions');
|
|
229
324
|
}
|
|
230
325
|
let newTransaction;
|
|
231
|
-
if ((0,
|
|
326
|
+
if ((0, utils_2.isMetaTransactionArray)(safeTransactionData) && safeTransactionData.length > 1) {
|
|
232
327
|
const multiSendContract = onlyCalls
|
|
233
328
|
? __classPrivateFieldGet(this, _Safe_contractManager, "f").multiSendCallOnlyContract
|
|
234
329
|
: __classPrivateFieldGet(this, _Safe_contractManager, "f").multiSendContract;
|
|
235
|
-
const multiSendData = (0,
|
|
330
|
+
const multiSendData = (0, utils_4.encodeMultiSendData)(safeTransactionData.map(utils_4.standardizeMetaTransactionData));
|
|
236
331
|
const multiSendTransaction = {
|
|
237
332
|
...options,
|
|
238
333
|
to: multiSendContract.getAddress(),
|
|
@@ -243,12 +338,25 @@ class Safe {
|
|
|
243
338
|
newTransaction = multiSendTransaction;
|
|
244
339
|
}
|
|
245
340
|
else {
|
|
246
|
-
newTransaction = (0,
|
|
341
|
+
newTransaction = (0, utils_2.isMetaTransactionArray)(safeTransactionData)
|
|
247
342
|
? { ...options, ...safeTransactionData[0] }
|
|
248
343
|
: safeTransactionData;
|
|
249
344
|
}
|
|
250
|
-
|
|
251
|
-
|
|
345
|
+
if (__classPrivateFieldGet(this, _Safe_predictedSafe, "f")) {
|
|
346
|
+
return new SafeTransaction_1.default(await (0, utils_4.standardizeSafeTransactionData)({
|
|
347
|
+
predictedSafe: __classPrivateFieldGet(this, _Safe_predictedSafe, "f"),
|
|
348
|
+
ethAdapter: __classPrivateFieldGet(this, _Safe_ethAdapter, "f"),
|
|
349
|
+
tx: newTransaction
|
|
350
|
+
}));
|
|
351
|
+
}
|
|
352
|
+
if (!__classPrivateFieldGet(this, _Safe_contractManager, "f").safeContract) {
|
|
353
|
+
throw new Error('Safe is not deployed');
|
|
354
|
+
}
|
|
355
|
+
return new SafeTransaction_1.default(await (0, utils_4.standardizeSafeTransactionData)({
|
|
356
|
+
safeContract: __classPrivateFieldGet(this, _Safe_contractManager, "f").safeContract,
|
|
357
|
+
ethAdapter: __classPrivateFieldGet(this, _Safe_ethAdapter, "f"),
|
|
358
|
+
tx: newTransaction
|
|
359
|
+
}));
|
|
252
360
|
}
|
|
253
361
|
/**
|
|
254
362
|
* Returns a Safe transaction ready to be signed by the owners that invalidates the pending Safe transaction/s with a specific nonce.
|
|
@@ -258,11 +366,11 @@ class Safe {
|
|
|
258
366
|
*/
|
|
259
367
|
async createRejectionTransaction(nonce) {
|
|
260
368
|
const safeTransactionData = {
|
|
261
|
-
to: this.getAddress(),
|
|
369
|
+
to: await this.getAddress(),
|
|
262
370
|
nonce,
|
|
263
371
|
value: '0',
|
|
264
372
|
data: '0x',
|
|
265
|
-
safeTxGas: 0
|
|
373
|
+
safeTxGas: '0'
|
|
266
374
|
};
|
|
267
375
|
return this.createTransaction({ safeTransactionData });
|
|
268
376
|
}
|
|
@@ -288,6 +396,9 @@ class Safe {
|
|
|
288
396
|
* @returns The transaction hash of the Safe transaction
|
|
289
397
|
*/
|
|
290
398
|
async getTransactionHash(safeTransaction) {
|
|
399
|
+
if (!__classPrivateFieldGet(this, _Safe_contractManager, "f").safeContract) {
|
|
400
|
+
throw new Error('Safe is not deployed');
|
|
401
|
+
}
|
|
291
402
|
const safeTransactionData = safeTransaction.data;
|
|
292
403
|
const txHash = await __classPrivateFieldGet(this, _Safe_contractManager, "f").safeContract.getTransactionHash(safeTransactionData);
|
|
293
404
|
return txHash;
|
|
@@ -299,7 +410,7 @@ class Safe {
|
|
|
299
410
|
* @returns The Safe signature
|
|
300
411
|
*/
|
|
301
412
|
async signTransactionHash(hash) {
|
|
302
|
-
return (0,
|
|
413
|
+
return (0, utils_3.generateSignature)(__classPrivateFieldGet(this, _Safe_ethAdapter, "f"), hash);
|
|
303
414
|
}
|
|
304
415
|
/**
|
|
305
416
|
* Signs a transaction according to the EIP-712 using the current signer account.
|
|
@@ -310,12 +421,12 @@ class Safe {
|
|
|
310
421
|
*/
|
|
311
422
|
async signTypedData(safeTransaction, methodVersion) {
|
|
312
423
|
const safeTransactionEIP712Args = {
|
|
313
|
-
safeAddress: this.getAddress(),
|
|
424
|
+
safeAddress: await this.getAddress(),
|
|
314
425
|
safeVersion: await this.getContractVersion(),
|
|
315
426
|
chainId: await this.getEthAdapter().getChainId(),
|
|
316
427
|
safeTransactionData: safeTransaction.data
|
|
317
428
|
};
|
|
318
|
-
return (0,
|
|
429
|
+
return (0, utils_3.generateEIP712Signature)(__classPrivateFieldGet(this, _Safe_ethAdapter, "f"), safeTransactionEIP712Args, methodVersion);
|
|
319
430
|
}
|
|
320
431
|
/**
|
|
321
432
|
* Adds the signature of the current signer to the Safe transaction object.
|
|
@@ -326,7 +437,7 @@ class Safe {
|
|
|
326
437
|
* @throws "Transactions can only be signed by Safe owners"
|
|
327
438
|
*/
|
|
328
439
|
async signTransaction(safeTransaction, signingMethod = 'eth_signTypedData_v4') {
|
|
329
|
-
const transaction = (0,
|
|
440
|
+
const transaction = (0, utils_2.isSafeMultisigTransactionResponse)(safeTransaction)
|
|
330
441
|
? await this.toSafeTransactionType(safeTransaction)
|
|
331
442
|
: safeTransaction;
|
|
332
443
|
const owners = await this.getOwners();
|
|
@@ -334,7 +445,7 @@ class Safe {
|
|
|
334
445
|
if (!signerAddress) {
|
|
335
446
|
throw new Error('EthAdapter must be initialized with a signer to use this method');
|
|
336
447
|
}
|
|
337
|
-
const addressIsOwner = owners.
|
|
448
|
+
const addressIsOwner = owners.some((owner) => signerAddress && (0, utils_2.sameString)(owner, signerAddress));
|
|
338
449
|
if (!addressIsOwner) {
|
|
339
450
|
throw new Error('Transactions can only be signed by Safe owners');
|
|
340
451
|
}
|
|
@@ -350,7 +461,7 @@ class Safe {
|
|
|
350
461
|
}
|
|
351
462
|
else {
|
|
352
463
|
const safeVersion = await this.getContractVersion();
|
|
353
|
-
if (!(0,
|
|
464
|
+
if (!(0, utils_2.hasSafeFeature)(utils_2.SAFE_FEATURES.ETH_SIGN, safeVersion)) {
|
|
354
465
|
throw new Error('eth_sign is only supported by Safes >= v1.1.0');
|
|
355
466
|
}
|
|
356
467
|
const txHash = await this.getTransactionHash(transaction);
|
|
@@ -375,12 +486,15 @@ class Safe {
|
|
|
375
486
|
* @throws "Cannot specify gas and gasLimit together in transaction options"
|
|
376
487
|
*/
|
|
377
488
|
async approveTransactionHash(hash, options) {
|
|
489
|
+
if (!__classPrivateFieldGet(this, _Safe_contractManager, "f").safeContract) {
|
|
490
|
+
throw new Error('Safe is not deployed');
|
|
491
|
+
}
|
|
378
492
|
const owners = await this.getOwners();
|
|
379
493
|
const signerAddress = await __classPrivateFieldGet(this, _Safe_ethAdapter, "f").getSignerAddress();
|
|
380
494
|
if (!signerAddress) {
|
|
381
495
|
throw new Error('EthAdapter must be initialized with a signer to use this method');
|
|
382
496
|
}
|
|
383
|
-
const addressIsOwner = owners.
|
|
497
|
+
const addressIsOwner = owners.some((owner) => signerAddress && (0, utils_2.sameString)(owner, signerAddress));
|
|
384
498
|
if (!addressIsOwner) {
|
|
385
499
|
throw new Error('Transaction hashes can only be approved by Safe owners');
|
|
386
500
|
}
|
|
@@ -399,6 +513,9 @@ class Safe {
|
|
|
399
513
|
* @returns The list of owners
|
|
400
514
|
*/
|
|
401
515
|
async getOwnersWhoApprovedTx(txHash) {
|
|
516
|
+
if (!__classPrivateFieldGet(this, _Safe_contractManager, "f").safeContract) {
|
|
517
|
+
throw new Error('Safe is not deployed');
|
|
518
|
+
}
|
|
402
519
|
const owners = await this.getOwners();
|
|
403
520
|
const ownersWhoApproved = [];
|
|
404
521
|
for (const owner of owners) {
|
|
@@ -421,7 +538,7 @@ class Safe {
|
|
|
421
538
|
*/
|
|
422
539
|
async createEnableFallbackHandlerTx(fallbackHandlerAddress, options) {
|
|
423
540
|
const safeTransactionData = {
|
|
424
|
-
to: this.getAddress(),
|
|
541
|
+
to: await this.getAddress(),
|
|
425
542
|
value: '0',
|
|
426
543
|
data: await __classPrivateFieldGet(this, _Safe_fallbackHandlerManager, "f").encodeEnableFallbackHandlerData(fallbackHandlerAddress),
|
|
427
544
|
...options
|
|
@@ -439,7 +556,7 @@ class Safe {
|
|
|
439
556
|
*/
|
|
440
557
|
async createDisableFallbackHandlerTx(options) {
|
|
441
558
|
const safeTransactionData = {
|
|
442
|
-
to: this.getAddress(),
|
|
559
|
+
to: await this.getAddress(),
|
|
443
560
|
value: '0',
|
|
444
561
|
data: await __classPrivateFieldGet(this, _Safe_fallbackHandlerManager, "f").encodeDisableFallbackHandlerData(),
|
|
445
562
|
...options
|
|
@@ -459,7 +576,7 @@ class Safe {
|
|
|
459
576
|
*/
|
|
460
577
|
async createEnableGuardTx(guardAddress, options) {
|
|
461
578
|
const safeTransactionData = {
|
|
462
|
-
to: this.getAddress(),
|
|
579
|
+
to: await this.getAddress(),
|
|
463
580
|
value: '0',
|
|
464
581
|
data: await __classPrivateFieldGet(this, _Safe_guardManager, "f").encodeEnableGuardData(guardAddress),
|
|
465
582
|
...options
|
|
@@ -477,7 +594,7 @@ class Safe {
|
|
|
477
594
|
*/
|
|
478
595
|
async createDisableGuardTx(options) {
|
|
479
596
|
const safeTransactionData = {
|
|
480
|
-
to: this.getAddress(),
|
|
597
|
+
to: await this.getAddress(),
|
|
481
598
|
value: '0',
|
|
482
599
|
data: await __classPrivateFieldGet(this, _Safe_guardManager, "f").encodeDisableGuardData(),
|
|
483
600
|
...options
|
|
@@ -496,7 +613,7 @@ class Safe {
|
|
|
496
613
|
*/
|
|
497
614
|
async createEnableModuleTx(moduleAddress, options) {
|
|
498
615
|
const safeTransactionData = {
|
|
499
|
-
to: this.getAddress(),
|
|
616
|
+
to: await this.getAddress(),
|
|
500
617
|
value: '0',
|
|
501
618
|
data: await __classPrivateFieldGet(this, _Safe_moduleManager, "f").encodeEnableModuleData(moduleAddress),
|
|
502
619
|
...options
|
|
@@ -515,7 +632,7 @@ class Safe {
|
|
|
515
632
|
*/
|
|
516
633
|
async createDisableModuleTx(moduleAddress, options) {
|
|
517
634
|
const safeTransactionData = {
|
|
518
|
-
to: this.getAddress(),
|
|
635
|
+
to: await this.getAddress(),
|
|
519
636
|
value: '0',
|
|
520
637
|
data: await __classPrivateFieldGet(this, _Safe_moduleManager, "f").encodeDisableModuleData(moduleAddress),
|
|
521
638
|
...options
|
|
@@ -536,7 +653,7 @@ class Safe {
|
|
|
536
653
|
*/
|
|
537
654
|
async createAddOwnerTx({ ownerAddress, threshold }, options) {
|
|
538
655
|
const safeTransactionData = {
|
|
539
|
-
to: this.getAddress(),
|
|
656
|
+
to: await this.getAddress(),
|
|
540
657
|
value: '0',
|
|
541
658
|
data: await __classPrivateFieldGet(this, _Safe_ownerManager, "f").encodeAddOwnerWithThresholdData(ownerAddress, threshold),
|
|
542
659
|
...options
|
|
@@ -557,7 +674,7 @@ class Safe {
|
|
|
557
674
|
*/
|
|
558
675
|
async createRemoveOwnerTx({ ownerAddress, threshold }, options) {
|
|
559
676
|
const safeTransactionData = {
|
|
560
|
-
to: this.getAddress(),
|
|
677
|
+
to: await this.getAddress(),
|
|
561
678
|
value: '0',
|
|
562
679
|
data: await __classPrivateFieldGet(this, _Safe_ownerManager, "f").encodeRemoveOwnerData(ownerAddress, threshold),
|
|
563
680
|
...options
|
|
@@ -578,7 +695,7 @@ class Safe {
|
|
|
578
695
|
*/
|
|
579
696
|
async createSwapOwnerTx({ oldOwnerAddress, newOwnerAddress }, options) {
|
|
580
697
|
const safeTransactionData = {
|
|
581
|
-
to: this.getAddress(),
|
|
698
|
+
to: await this.getAddress(),
|
|
582
699
|
value: '0',
|
|
583
700
|
data: await __classPrivateFieldGet(this, _Safe_ownerManager, "f").encodeSwapOwnerData(oldOwnerAddress, newOwnerAddress),
|
|
584
701
|
...options
|
|
@@ -597,7 +714,7 @@ class Safe {
|
|
|
597
714
|
*/
|
|
598
715
|
async createChangeThresholdTx(threshold, options) {
|
|
599
716
|
const safeTransactionData = {
|
|
600
|
-
to: this.getAddress(),
|
|
717
|
+
to: await this.getAddress(),
|
|
601
718
|
value: '0',
|
|
602
719
|
data: await __classPrivateFieldGet(this, _Safe_ownerManager, "f").encodeChangeThresholdData(threshold),
|
|
603
720
|
...options
|
|
@@ -618,16 +735,16 @@ class Safe {
|
|
|
618
735
|
value: serviceTransactionResponse.value,
|
|
619
736
|
data: serviceTransactionResponse.data || '0x',
|
|
620
737
|
operation: serviceTransactionResponse.operation,
|
|
621
|
-
safeTxGas: serviceTransactionResponse.safeTxGas,
|
|
622
|
-
baseGas: serviceTransactionResponse.baseGas,
|
|
623
|
-
gasPrice:
|
|
738
|
+
safeTxGas: serviceTransactionResponse.safeTxGas.toString(),
|
|
739
|
+
baseGas: serviceTransactionResponse.baseGas.toString(),
|
|
740
|
+
gasPrice: serviceTransactionResponse.gasPrice,
|
|
624
741
|
gasToken: serviceTransactionResponse.gasToken,
|
|
625
742
|
refundReceiver: serviceTransactionResponse.refundReceiver,
|
|
626
743
|
nonce: serviceTransactionResponse.nonce
|
|
627
744
|
};
|
|
628
745
|
const safeTransaction = await this.createTransaction({ safeTransactionData });
|
|
629
746
|
(_a = serviceTransactionResponse.confirmations) === null || _a === void 0 ? void 0 : _a.map((confirmation) => {
|
|
630
|
-
const signature = new
|
|
747
|
+
const signature = new utils_2.EthSafeSignature(confirmation.owner, confirmation.signature);
|
|
631
748
|
safeTransaction.addSignature(signature);
|
|
632
749
|
});
|
|
633
750
|
return safeTransaction;
|
|
@@ -640,14 +757,17 @@ class Safe {
|
|
|
640
757
|
* @returns TRUE if the Safe transaction can be executed successfully with no errors
|
|
641
758
|
*/
|
|
642
759
|
async isValidTransaction(safeTransaction, options) {
|
|
643
|
-
|
|
760
|
+
if (!__classPrivateFieldGet(this, _Safe_contractManager, "f").safeContract) {
|
|
761
|
+
throw new Error('Safe is not deployed');
|
|
762
|
+
}
|
|
763
|
+
const transaction = (0, utils_2.isSafeMultisigTransactionResponse)(safeTransaction)
|
|
644
764
|
? await this.toSafeTransactionType(safeTransaction)
|
|
645
765
|
: safeTransaction;
|
|
646
766
|
const signedSafeTransaction = await this.copyTransaction(transaction);
|
|
647
767
|
const txHash = await this.getTransactionHash(signedSafeTransaction);
|
|
648
768
|
const ownersWhoApprovedTx = await this.getOwnersWhoApprovedTx(txHash);
|
|
649
769
|
for (const owner of ownersWhoApprovedTx) {
|
|
650
|
-
signedSafeTransaction.addSignature((0,
|
|
770
|
+
signedSafeTransaction.addSignature((0, utils_3.generatePreValidatedSignature)(owner));
|
|
651
771
|
}
|
|
652
772
|
const owners = await this.getOwners();
|
|
653
773
|
const signerAddress = await __classPrivateFieldGet(this, _Safe_ethAdapter, "f").getSignerAddress();
|
|
@@ -655,7 +775,7 @@ class Safe {
|
|
|
655
775
|
throw new Error('EthAdapter must be initialized with a signer to use this method');
|
|
656
776
|
}
|
|
657
777
|
if (owners.includes(signerAddress)) {
|
|
658
|
-
signedSafeTransaction.addSignature((0,
|
|
778
|
+
signedSafeTransaction.addSignature((0, utils_3.generatePreValidatedSignature)(signerAddress));
|
|
659
779
|
}
|
|
660
780
|
const isTxValid = await __classPrivateFieldGet(this, _Safe_contractManager, "f").safeContract.isValidTransaction(signedSafeTransaction, {
|
|
661
781
|
from: signerAddress,
|
|
@@ -674,19 +794,22 @@ class Safe {
|
|
|
674
794
|
* @throws "Cannot specify gas and gasLimit together in transaction options"
|
|
675
795
|
*/
|
|
676
796
|
async executeTransaction(safeTransaction, options) {
|
|
677
|
-
|
|
797
|
+
if (!__classPrivateFieldGet(this, _Safe_contractManager, "f").safeContract) {
|
|
798
|
+
throw new Error('Safe is not deployed');
|
|
799
|
+
}
|
|
800
|
+
const transaction = (0, utils_2.isSafeMultisigTransactionResponse)(safeTransaction)
|
|
678
801
|
? await this.toSafeTransactionType(safeTransaction)
|
|
679
802
|
: safeTransaction;
|
|
680
803
|
const signedSafeTransaction = await this.copyTransaction(transaction);
|
|
681
804
|
const txHash = await this.getTransactionHash(signedSafeTransaction);
|
|
682
805
|
const ownersWhoApprovedTx = await this.getOwnersWhoApprovedTx(txHash);
|
|
683
806
|
for (const owner of ownersWhoApprovedTx) {
|
|
684
|
-
signedSafeTransaction.addSignature((0,
|
|
807
|
+
signedSafeTransaction.addSignature((0, utils_3.generatePreValidatedSignature)(owner));
|
|
685
808
|
}
|
|
686
809
|
const owners = await this.getOwners();
|
|
687
810
|
const signerAddress = await __classPrivateFieldGet(this, _Safe_ethAdapter, "f").getSignerAddress();
|
|
688
811
|
if (signerAddress && owners.includes(signerAddress)) {
|
|
689
|
-
signedSafeTransaction.addSignature((0,
|
|
812
|
+
signedSafeTransaction.addSignature((0, utils_3.generatePreValidatedSignature)(signerAddress));
|
|
690
813
|
}
|
|
691
814
|
const threshold = await this.getThreshold();
|
|
692
815
|
if (threshold > signedSafeTransaction.signatures.size) {
|
|
@@ -710,6 +833,6 @@ class Safe {
|
|
|
710
833
|
return txResponse;
|
|
711
834
|
}
|
|
712
835
|
}
|
|
713
|
-
_Safe_ethAdapter = new WeakMap(), _Safe_contractManager = new WeakMap(), _Safe_ownerManager = new WeakMap(), _Safe_moduleManager = new WeakMap(), _Safe_guardManager = new WeakMap(), _Safe_fallbackHandlerManager = new WeakMap();
|
|
836
|
+
_Safe_predictedSafe = new WeakMap(), _Safe_ethAdapter = new WeakMap(), _Safe_contractManager = new WeakMap(), _Safe_ownerManager = new WeakMap(), _Safe_moduleManager = new WeakMap(), _Safe_guardManager = new WeakMap(), _Safe_fallbackHandlerManager = new WeakMap();
|
|
714
837
|
exports.default = Safe;
|
|
715
838
|
//# sourceMappingURL=Safe.js.map
|
package/dist/src/Safe.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Safe.js","sourceRoot":"","sources":["../../src/Safe.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Safe.js","sourceRoot":"","sources":["../../src/Safe.ts"],"names":[],"mappings":"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"}
|