@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.
Files changed (92) hide show
  1. package/README.md +47 -16
  2. package/dist/src/Safe.d.ts +13 -52
  3. package/dist/src/Safe.js +180 -57
  4. package/dist/src/Safe.js.map +1 -1
  5. package/dist/src/adapters/ethers/EthersAdapter.d.ts +8 -8
  6. package/dist/src/adapters/ethers/EthersAdapter.js +23 -31
  7. package/dist/src/adapters/ethers/EthersAdapter.js.map +1 -1
  8. package/dist/src/adapters/ethers/contracts/CreateCall/CreateCallEthersContract.d.ts +1 -1
  9. package/dist/src/adapters/ethers/contracts/CreateCall/CreateCallEthersContract.js +1 -1
  10. package/dist/src/adapters/ethers/contracts/GnosisSafe/GnosisSafeContractEthers.d.ts +1 -1
  11. package/dist/src/adapters/ethers/contracts/GnosisSafe/GnosisSafeContractEthers.js +1 -1
  12. package/dist/src/adapters/ethers/contracts/GnosisSafeProxyFactory/GnosisSafeProxyFactoryEthersContract.d.ts +1 -1
  13. package/dist/src/adapters/ethers/contracts/GnosisSafeProxyFactory/GnosisSafeProxyFactoryEthersContract.js +1 -1
  14. package/dist/src/adapters/ethers/contracts/SignMessageLib/SignMessageLibEthersContract.d.ts +1 -1
  15. package/dist/src/adapters/ethers/contracts/SignMessageLib/SignMessageLibEthersContract.js +1 -1
  16. package/dist/src/adapters/ethers/utils/index.d.ts +8 -0
  17. package/dist/src/adapters/ethers/utils/index.js +15 -1
  18. package/dist/src/adapters/ethers/utils/index.js.map +1 -1
  19. package/dist/src/adapters/web3/Web3Adapter.d.ts +8 -8
  20. package/dist/src/adapters/web3/Web3Adapter.js +17 -9
  21. package/dist/src/adapters/web3/Web3Adapter.js.map +1 -1
  22. package/dist/src/adapters/web3/contracts/CreateCall/CreateCallWeb3Contract.d.ts +1 -1
  23. package/dist/src/adapters/web3/contracts/CreateCall/CreateCallWeb3Contract.js +1 -6
  24. package/dist/src/adapters/web3/contracts/CreateCall/CreateCallWeb3Contract.js.map +1 -1
  25. package/dist/src/adapters/web3/contracts/GnosisSafe/GnosisSafeContractWeb3.d.ts +1 -1
  26. package/dist/src/adapters/web3/contracts/GnosisSafe/GnosisSafeContractWeb3.js +1 -6
  27. package/dist/src/adapters/web3/contracts/GnosisSafe/GnosisSafeContractWeb3.js.map +1 -1
  28. package/dist/src/adapters/web3/contracts/GnosisSafeProxyFactory/GnosisSafeProxyFactoryWeb3Contract.d.ts +1 -1
  29. package/dist/src/adapters/web3/contracts/GnosisSafeProxyFactory/GnosisSafeProxyFactoryWeb3Contract.js +1 -6
  30. package/dist/src/adapters/web3/contracts/GnosisSafeProxyFactory/GnosisSafeProxyFactoryWeb3Contract.js.map +1 -1
  31. package/dist/src/adapters/web3/contracts/SignMessageLib/SignMessageLibWeb3Contract.d.ts +1 -1
  32. package/dist/src/adapters/web3/contracts/SignMessageLib/SignMessageLibWeb3Contract.js +1 -6
  33. package/dist/src/adapters/web3/contracts/SignMessageLib/SignMessageLibWeb3Contract.js.map +1 -1
  34. package/dist/src/contracts/safeDeploymentContracts.d.ts +8 -9
  35. package/dist/src/contracts/safeDeploymentContracts.js +15 -15
  36. package/dist/src/contracts/safeDeploymentContracts.js.map +1 -1
  37. package/dist/src/contracts/utils.d.ts +21 -0
  38. package/dist/src/contracts/utils.js +105 -0
  39. package/dist/src/contracts/utils.js.map +1 -0
  40. package/dist/src/index.d.ts +8 -6
  41. package/dist/src/index.js +27 -20
  42. package/dist/src/index.js.map +1 -1
  43. package/dist/src/managers/contractManager.d.ts +4 -5
  44. package/dist/src/managers/contractManager.js +27 -22
  45. package/dist/src/managers/contractManager.js.map +1 -1
  46. package/dist/src/managers/fallbackHandlerManager.d.ts +1 -1
  47. package/dist/src/managers/fallbackHandlerManager.js +9 -0
  48. package/dist/src/managers/fallbackHandlerManager.js.map +1 -1
  49. package/dist/src/managers/guardManager.d.ts +1 -1
  50. package/dist/src/managers/guardManager.js +9 -0
  51. package/dist/src/managers/guardManager.js.map +1 -1
  52. package/dist/src/managers/moduleManager.d.ts +1 -1
  53. package/dist/src/managers/moduleManager.js +12 -0
  54. package/dist/src/managers/moduleManager.js.map +1 -1
  55. package/dist/src/managers/ownerManager.d.ts +1 -1
  56. package/dist/src/managers/ownerManager.js +21 -0
  57. package/dist/src/managers/ownerManager.js.map +1 -1
  58. package/dist/src/safeFactory/index.d.ts +5 -23
  59. package/dist/src/safeFactory/index.js +23 -63
  60. package/dist/src/safeFactory/index.js.map +1 -1
  61. package/dist/src/types/index.d.ts +114 -0
  62. package/dist/src/utils/eip-3770/config.js +11 -0
  63. package/dist/src/utils/eip-3770/config.js.map +1 -1
  64. package/dist/src/utils/index.d.ts +2 -1
  65. package/dist/src/utils/index.js +2 -1
  66. package/dist/src/utils/index.js.map +1 -1
  67. package/dist/src/utils/safeVersions.d.ts +2 -1
  68. package/dist/src/utils/safeVersions.js +3 -1
  69. package/dist/src/utils/safeVersions.js.map +1 -1
  70. package/dist/src/utils/signatures/SafeSignature.d.ts +1 -2
  71. package/dist/src/utils/signatures/SafeSignature.js +3 -2
  72. package/dist/src/utils/signatures/SafeSignature.js.map +1 -1
  73. package/dist/src/utils/signatures/index.d.ts +2 -12
  74. package/dist/src/utils/signatures/index.js +15 -90
  75. package/dist/src/utils/signatures/index.js.map +1 -1
  76. package/dist/src/utils/signatures/utils.d.ts +11 -0
  77. package/dist/src/utils/signatures/utils.js +91 -0
  78. package/dist/src/utils/signatures/utils.js.map +1 -0
  79. package/dist/src/utils/transactions/gas.d.ts +1 -1
  80. package/dist/src/utils/transactions/gas.js +10 -10
  81. package/dist/src/utils/transactions/gas.js.map +1 -1
  82. package/dist/src/utils/transactions/utils.d.ts +3 -2
  83. package/dist/src/utils/transactions/utils.js +27 -14
  84. package/dist/src/utils/transactions/utils.js.map +1 -1
  85. package/dist/src/utils/types.d.ts +2 -0
  86. package/dist/src/utils/types.js +8 -0
  87. package/dist/src/utils/types.js.map +1 -0
  88. package/dist/tsconfig.build.tsbuildinfo +1 -1
  89. package/package.json +5 -4
  90. package/dist/src/safeFactory/utils.d.ts +0 -3
  91. package/dist/src/safeFactory/utils.js +0 -19
  92. 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 utils_1 = require("./utils");
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 signatures_1 = require("./utils/signatures");
27
- const SafeSignature_1 = __importDefault(require("./utils/signatures/SafeSignature"));
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 utils_2 = require("./utils/transactions/utils");
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({ ethAdapter, safeAddress, isL1SafeMasterCopy, contractNetworks }) {
51
+ static async create(config) {
48
52
  const safeSdk = new Safe();
49
- await safeSdk.init({ ethAdapter, safeAddress, isL1SafeMasterCopy, contractNetworks });
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({ ethAdapter, safeAddress, isL1SafeMasterCopy, contractNetworks }) {
64
+ async init(config) {
65
+ const { ethAdapter, isL1SafeMasterCopy, contractNetworks } = config;
61
66
  __classPrivateFieldSet(this, _Safe_ethAdapter, ethAdapter, "f");
62
- __classPrivateFieldSet(this, _Safe_contractManager, await contractManager_1.default.create({
63
- ethAdapter: __classPrivateFieldGet(this, _Safe_ethAdapter, "f"),
64
- safeAddress,
65
- isL1SafeMasterCopy,
66
- contractNetworks
67
- }), "f");
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({ ethAdapter, safeAddress, isL1SafeMasterCopy, contractNetworks }) {
81
- return await Safe.create({
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
- return __classPrivateFieldGet(this, _Safe_contractManager, "f").safeContract.getAddress();
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
- return __classPrivateFieldGet(this, _Safe_contractManager, "f").safeContract.getVersion();
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
- if ((0, utils_1.isMetaTransactionArray)(safeTransactionData) && safeTransactionData.length === 0) {
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, utils_1.isMetaTransactionArray)(safeTransactionData) && safeTransactionData.length > 1) {
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, utils_2.encodeMultiSendData)(safeTransactionData.map(utils_2.standardizeMetaTransactionData));
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, utils_1.isMetaTransactionArray)(safeTransactionData)
341
+ newTransaction = (0, utils_2.isMetaTransactionArray)(safeTransactionData)
247
342
  ? { ...options, ...safeTransactionData[0] }
248
343
  : safeTransactionData;
249
344
  }
250
- const standardizedTransaction = await (0, utils_2.standardizeSafeTransactionData)(__classPrivateFieldGet(this, _Safe_contractManager, "f").safeContract, __classPrivateFieldGet(this, _Safe_ethAdapter, "f"), newTransaction);
251
- return new SafeTransaction_1.default(standardizedTransaction);
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, signatures_1.generateSignature)(__classPrivateFieldGet(this, _Safe_ethAdapter, "f"), hash);
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, signatures_1.generateEIP712Signature)(__classPrivateFieldGet(this, _Safe_ethAdapter, "f"), safeTransactionEIP712Args, methodVersion);
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, utils_1.isSafeMultisigTransactionResponse)(safeTransaction)
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.find((owner) => signerAddress && (0, utils_1.sameString)(owner, signerAddress));
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, utils_1.hasSafeFeature)(utils_1.SAFE_FEATURES.ETH_SIGN, safeVersion)) {
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.find((owner) => signerAddress && (0, utils_1.sameString)(owner, signerAddress));
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: Number(serviceTransactionResponse.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 SafeSignature_1.default(confirmation.owner, confirmation.signature);
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
- const transaction = (0, utils_1.isSafeMultisigTransactionResponse)(safeTransaction)
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, signatures_1.generatePreValidatedSignature)(owner));
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, signatures_1.generatePreValidatedSignature)(signerAddress));
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
- const transaction = (0, utils_1.isSafeMultisigTransactionResponse)(safeTransaction)
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, signatures_1.generatePreValidatedSignature)(owner));
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, signatures_1.generatePreValidatedSignature)(signerAddress));
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
@@ -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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"}