@safe-global/safe-deployments 1.37.36 → 1.37.38

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 (104) hide show
  1. package/README.md +18 -10
  2. package/dist/assets/v1.3.0/compatibility_fallback_handler.json +20 -6
  3. package/dist/assets/v1.3.0/create_call.json +20 -6
  4. package/dist/assets/v1.3.0/gnosis_safe.json +20 -6
  5. package/dist/assets/v1.3.0/gnosis_safe_l2.json +21 -7
  6. package/dist/assets/v1.3.0/multi_send.json +20 -6
  7. package/dist/assets/v1.3.0/multi_send_call_only.json +20 -6
  8. package/dist/assets/v1.3.0/proxy_factory.json +20 -6
  9. package/dist/assets/v1.3.0/sign_message_lib.json +20 -6
  10. package/dist/assets/v1.3.0/simulate_tx_accessor.json +20 -6
  11. package/dist/assets/v1.4.1/compatibility_fallback_handler.json +15 -3
  12. package/dist/assets/v1.4.1/create_call.json +15 -3
  13. package/dist/assets/v1.4.1/multi_send.json +15 -3
  14. package/dist/assets/v1.4.1/multi_send_call_only.json +15 -3
  15. package/dist/assets/v1.4.1/safe.json +15 -3
  16. package/dist/assets/v1.4.1/safe_l2.json +15 -3
  17. package/dist/assets/v1.4.1/safe_migration.json +16 -3
  18. package/dist/assets/v1.4.1/safe_proxy_factory.json +15 -3
  19. package/dist/assets/v1.4.1/safe_to_l2_migration.json +16 -3
  20. package/dist/assets/v1.4.1/safe_to_l2_setup.json +16 -3
  21. package/dist/assets/v1.4.1/sign_message_lib.json +15 -3
  22. package/dist/assets/v1.4.1/simulate_tx_accessor.json +15 -3
  23. package/dist/assets/v1.5.0/compatibility_fallback_handler.json +378 -0
  24. package/dist/assets/v1.5.0/create_call.json +83 -0
  25. package/dist/assets/v1.5.0/extensible_fallback_handler.json +438 -0
  26. package/dist/assets/v1.5.0/multi_send.json +35 -0
  27. package/dist/assets/v1.5.0/multi_send_call_only.json +30 -0
  28. package/dist/assets/v1.5.0/safe.json +1014 -0
  29. package/dist/assets/v1.5.0/safe_l2.json +1119 -0
  30. package/dist/assets/v1.5.0/safe_migration.json +131 -0
  31. package/dist/assets/v1.5.0/safe_proxy_factory.json +246 -0
  32. package/dist/assets/v1.5.0/safe_to_l2_setup.json +48 -0
  33. package/dist/assets/v1.5.0/sign_message_lib.json +62 -0
  34. package/dist/assets/v1.5.0/simulate_tx_accessor.json +66 -0
  35. package/dist/assets/v1.5.0/token_callback_handler.json +186 -0
  36. package/dist/deployments.d.ts +3 -2
  37. package/dist/deployments.js +52 -19
  38. package/dist/handler.d.ts +26 -0
  39. package/dist/handler.js +40 -8
  40. package/package.json +1 -1
  41. package/src/__tests__/assets.test.ts +0 -16
  42. package/src/__tests__/factories.test.ts +10 -4
  43. package/src/__tests__/handler.test.ts +49 -9
  44. package/src/__tests__/libs.test.ts +43 -10
  45. package/src/__tests__/safes.test.ts +70 -10
  46. package/src/__tests__/utils.test.ts +141 -95
  47. package/src/assets/v1.3.0/compatibility_fallback_handler.json +20 -6
  48. package/src/assets/v1.3.0/create_call.json +20 -6
  49. package/src/assets/v1.3.0/gnosis_safe.json +20 -6
  50. package/src/assets/v1.3.0/gnosis_safe_l2.json +21 -7
  51. package/src/assets/v1.3.0/multi_send.json +20 -6
  52. package/src/assets/v1.3.0/multi_send_call_only.json +20 -6
  53. package/src/assets/v1.3.0/proxy_factory.json +20 -6
  54. package/src/assets/v1.3.0/sign_message_lib.json +20 -6
  55. package/src/assets/v1.3.0/simulate_tx_accessor.json +20 -6
  56. package/src/assets/v1.4.1/compatibility_fallback_handler.json +15 -3
  57. package/src/assets/v1.4.1/create_call.json +15 -3
  58. package/src/assets/v1.4.1/multi_send.json +15 -3
  59. package/src/assets/v1.4.1/multi_send_call_only.json +15 -3
  60. package/src/assets/v1.4.1/safe.json +15 -3
  61. package/src/assets/v1.4.1/safe_l2.json +15 -3
  62. package/src/assets/v1.4.1/safe_migration.json +16 -3
  63. package/src/assets/v1.4.1/safe_proxy_factory.json +15 -3
  64. package/src/assets/v1.4.1/safe_to_l2_migration.json +16 -3
  65. package/src/assets/v1.4.1/safe_to_l2_setup.json +16 -3
  66. package/src/assets/v1.4.1/sign_message_lib.json +15 -3
  67. package/src/assets/v1.4.1/simulate_tx_accessor.json +15 -3
  68. package/src/assets/v1.5.0/compatibility_fallback_handler.json +378 -0
  69. package/src/{__tests__/assets/v1/v1.1.1 → assets/v1.5.0}/create_call.json +6 -13
  70. package/src/assets/v1.5.0/extensible_fallback_handler.json +438 -0
  71. package/src/assets/v1.5.0/multi_send.json +35 -0
  72. package/src/assets/v1.5.0/multi_send_call_only.json +30 -0
  73. package/src/{__tests__/assets/v1/v1.1.1/gnosis_safe.json → assets/v1.5.0/safe.json} +413 -400
  74. package/src/{__tests__/assets/v1/v1.2.0/gnosis_safe.json → assets/v1.5.0/safe_l2.json} +514 -417
  75. package/src/assets/v1.5.0/safe_migration.json +131 -0
  76. package/src/{__tests__/assets/v1/v1.1.1/proxy_factory.json → assets/v1.5.0/safe_proxy_factory.json} +120 -65
  77. package/src/assets/v1.5.0/safe_to_l2_setup.json +48 -0
  78. package/src/assets/v1.5.0/sign_message_lib.json +62 -0
  79. package/src/assets/v1.5.0/simulate_tx_accessor.json +66 -0
  80. package/src/{__tests__/assets/v1/v1.1.1/default_callback_handler.json → assets/v1.5.0/token_callback_handler.json} +39 -65
  81. package/src/deployments.ts +50 -15
  82. package/src/handler.ts +46 -6
  83. package/src/__tests__/assets/v1/v1.0.0/gnosis_safe.json +0 -796
  84. package/src/__tests__/assets/v1/v1.0.0/proxy_factory.json +0 -111
  85. package/src/__tests__/assets/v1/v1.1.1/create_and_add_modules.json +0 -59
  86. package/src/__tests__/assets/v1/v1.1.1/multi_send.json +0 -45
  87. package/src/__tests__/assets/v1/v1.3.0/compatibility_fallback_handler.json +0 -588
  88. package/src/__tests__/assets/v1/v1.3.0/create_call.json +0 -331
  89. package/src/__tests__/assets/v1/v1.3.0/gnosis_safe.json +0 -1296
  90. package/src/__tests__/assets/v1/v1.3.0/gnosis_safe_l2.json +0 -1401
  91. package/src/__tests__/assets/v1/v1.3.0/multi_send.json +0 -283
  92. package/src/__tests__/assets/v1/v1.3.0/multi_send_call_only.json +0 -278
  93. package/src/__tests__/assets/v1/v1.3.0/proxy_factory.json +0 -426
  94. package/src/__tests__/assets/v1/v1.3.0/sign_message_lib.json +0 -310
  95. package/src/__tests__/assets/v1/v1.3.0/simulate_tx_accessor.json +0 -314
  96. package/src/__tests__/assets/v1/v1.4.1/compatibility_fallback_handler.json +0 -447
  97. package/src/__tests__/assets/v1/v1.4.1/create_call.json +0 -192
  98. package/src/__tests__/assets/v1/v1.4.1/multi_send.json +0 -144
  99. package/src/__tests__/assets/v1/v1.4.1/multi_send_call_only.json +0 -139
  100. package/src/__tests__/assets/v1/v1.4.1/safe.json +0 -1123
  101. package/src/__tests__/assets/v1/v1.4.1/safe_l2.json +0 -1228
  102. package/src/__tests__/assets/v1/v1.4.1/safe_proxy_factory.json +0 -263
  103. package/src/__tests__/assets/v1/v1.4.1/sign_message_lib.json +0 -171
  104. package/src/__tests__/assets/v1/v1.4.1/simulate_tx_accessor.json +0 -175
@@ -1,28 +1,20 @@
1
1
  {
2
- "defaultAddress": "0x34CfAC646f301356fAa8B21e94227e3583Fe3F5F",
3
2
  "released": true,
4
- "contractName": "GnosisSafe",
5
- "version": "1.1.1",
3
+ "contractName": "Safe",
4
+ "version": "1.5.0",
6
5
  "deployments": {
7
6
  "canonical": {
8
- "address": "0x34CfAC646f301356fAa8B21e94227e3583Fe3F5F",
9
- "codeHash": "0x56b8be58b5ad629a621593a2e5e5e8e9a28408dc06e95597497b303902772e45"
7
+ "address": "0xFf51A5898e281Db6DfC7855790607438dF2ca44b",
8
+ "codeHash": "0xdda019cbd7c867a533a2a86e5c53434fdc50b13122b5a5ddb4a8df61b31c20f2"
10
9
  }
11
10
  },
12
11
  "networkAddresses": {
13
- "1": "0x34CfAC646f301356fAa8B21e94227e3583Fe3F5F",
14
- "4": "0x34CfAC646f301356fAa8B21e94227e3583Fe3F5F",
15
- "5": "0x34CfAC646f301356fAa8B21e94227e3583Fe3F5F",
16
- "42": "0x34CfAC646f301356fAa8B21e94227e3583Fe3F5F",
17
- "88": "0x34CfAC646f301356fAa8B21e94227e3583Fe3F5F",
18
- "100": "0x34CfAC646f301356fAa8B21e94227e3583Fe3F5F",
19
- "246": "0x34CfAC646f301356fAa8B21e94227e3583Fe3F5F",
20
- "73799": "0x34CfAC646f301356fAa8B21e94227e3583Fe3F5F"
12
+ "1": "canonical",
13
+ "11155111": "canonical"
21
14
  },
22
15
  "abi": [
23
16
  {
24
17
  "inputs": [],
25
- "payable": false,
26
18
  "stateMutability": "nonpayable",
27
19
  "type": "constructor"
28
20
  },
@@ -30,7 +22,7 @@
30
22
  "anonymous": false,
31
23
  "inputs": [
32
24
  {
33
- "indexed": false,
25
+ "indexed": true,
34
26
  "internalType": "address",
35
27
  "name": "owner",
36
28
  "type": "address"
@@ -62,13 +54,39 @@
62
54
  "anonymous": false,
63
55
  "inputs": [
64
56
  {
65
- "indexed": false,
57
+ "indexed": true,
58
+ "internalType": "address",
59
+ "name": "handler",
60
+ "type": "address"
61
+ }
62
+ ],
63
+ "name": "ChangedFallbackHandler",
64
+ "type": "event"
65
+ },
66
+ {
67
+ "anonymous": false,
68
+ "inputs": [
69
+ {
70
+ "indexed": true,
66
71
  "internalType": "address",
67
- "name": "masterCopy",
72
+ "name": "guard",
68
73
  "type": "address"
69
74
  }
70
75
  ],
71
- "name": "ChangedMasterCopy",
76
+ "name": "ChangedGuard",
77
+ "type": "event"
78
+ },
79
+ {
80
+ "anonymous": false,
81
+ "inputs": [
82
+ {
83
+ "indexed": true,
84
+ "internalType": "address",
85
+ "name": "moduleGuard",
86
+ "type": "address"
87
+ }
88
+ ],
89
+ "name": "ChangedModuleGuard",
72
90
  "type": "event"
73
91
  },
74
92
  {
@@ -88,8 +106,8 @@
88
106
  "anonymous": false,
89
107
  "inputs": [
90
108
  {
91
- "indexed": false,
92
- "internalType": "contract Module",
109
+ "indexed": true,
110
+ "internalType": "address",
93
111
  "name": "module",
94
112
  "type": "address"
95
113
  }
@@ -101,8 +119,8 @@
101
119
  "anonymous": false,
102
120
  "inputs": [
103
121
  {
104
- "indexed": false,
105
- "internalType": "contract Module",
122
+ "indexed": true,
123
+ "internalType": "address",
106
124
  "name": "module",
107
125
  "type": "address"
108
126
  }
@@ -114,7 +132,7 @@
114
132
  "anonymous": false,
115
133
  "inputs": [
116
134
  {
117
- "indexed": false,
135
+ "indexed": true,
118
136
  "internalType": "bytes32",
119
137
  "name": "txHash",
120
138
  "type": "bytes32"
@@ -159,7 +177,7 @@
159
177
  "anonymous": false,
160
178
  "inputs": [
161
179
  {
162
- "indexed": false,
180
+ "indexed": true,
163
181
  "internalType": "bytes32",
164
182
  "name": "txHash",
165
183
  "type": "bytes32"
@@ -178,7 +196,7 @@
178
196
  "anonymous": false,
179
197
  "inputs": [
180
198
  {
181
- "indexed": false,
199
+ "indexed": true,
182
200
  "internalType": "address",
183
201
  "name": "owner",
184
202
  "type": "address"
@@ -192,36 +210,75 @@
192
210
  "inputs": [
193
211
  {
194
212
  "indexed": true,
195
- "internalType": "bytes32",
196
- "name": "msgHash",
197
- "type": "bytes32"
213
+ "internalType": "address",
214
+ "name": "sender",
215
+ "type": "address"
216
+ },
217
+ {
218
+ "indexed": false,
219
+ "internalType": "uint256",
220
+ "name": "value",
221
+ "type": "uint256"
198
222
  }
199
223
  ],
200
- "name": "SignMsg",
224
+ "name": "SafeReceived",
201
225
  "type": "event"
202
226
  },
203
227
  {
204
- "payable": true,
205
- "stateMutability": "payable",
206
- "type": "fallback"
228
+ "anonymous": false,
229
+ "inputs": [
230
+ {
231
+ "indexed": true,
232
+ "internalType": "address",
233
+ "name": "initiator",
234
+ "type": "address"
235
+ },
236
+ {
237
+ "indexed": false,
238
+ "internalType": "address[]",
239
+ "name": "owners",
240
+ "type": "address[]"
241
+ },
242
+ {
243
+ "indexed": false,
244
+ "internalType": "uint256",
245
+ "name": "threshold",
246
+ "type": "uint256"
247
+ },
248
+ {
249
+ "indexed": false,
250
+ "internalType": "address",
251
+ "name": "initializer",
252
+ "type": "address"
253
+ },
254
+ {
255
+ "indexed": false,
256
+ "internalType": "address",
257
+ "name": "fallbackHandler",
258
+ "type": "address"
259
+ }
260
+ ],
261
+ "name": "SafeSetup",
262
+ "type": "event"
207
263
  },
208
264
  {
209
- "constant": true,
210
- "inputs": [],
211
- "name": "NAME",
212
- "outputs": [
265
+ "anonymous": false,
266
+ "inputs": [
213
267
  {
214
- "internalType": "string",
215
- "name": "",
216
- "type": "string"
268
+ "indexed": true,
269
+ "internalType": "bytes32",
270
+ "name": "msgHash",
271
+ "type": "bytes32"
217
272
  }
218
273
  ],
219
- "payable": false,
220
- "stateMutability": "view",
221
- "type": "function"
274
+ "name": "SignMsg",
275
+ "type": "event"
276
+ },
277
+ {
278
+ "stateMutability": "nonpayable",
279
+ "type": "fallback"
222
280
  },
223
281
  {
224
- "constant": true,
225
282
  "inputs": [],
226
283
  "name": "VERSION",
227
284
  "outputs": [
@@ -231,12 +288,10 @@
231
288
  "type": "string"
232
289
  }
233
290
  ],
234
- "payable": false,
235
291
  "stateMutability": "view",
236
292
  "type": "function"
237
293
  },
238
294
  {
239
- "constant": false,
240
295
  "inputs": [
241
296
  {
242
297
  "internalType": "address",
@@ -251,12 +306,23 @@
251
306
  ],
252
307
  "name": "addOwnerWithThreshold",
253
308
  "outputs": [],
254
- "payable": false,
255
309
  "stateMutability": "nonpayable",
256
310
  "type": "function"
257
311
  },
258
312
  {
259
- "constant": true,
313
+ "inputs": [
314
+ {
315
+ "internalType": "bytes32",
316
+ "name": "hashToApprove",
317
+ "type": "bytes32"
318
+ }
319
+ ],
320
+ "name": "approveHash",
321
+ "outputs": [],
322
+ "stateMutability": "nonpayable",
323
+ "type": "function"
324
+ },
325
+ {
260
326
  "inputs": [
261
327
  {
262
328
  "internalType": "address",
@@ -277,62 +343,143 @@
277
343
  "type": "uint256"
278
344
  }
279
345
  ],
280
- "payable": false,
281
346
  "stateMutability": "view",
282
347
  "type": "function"
283
348
  },
284
349
  {
285
- "constant": false,
286
350
  "inputs": [
287
351
  {
288
- "internalType": "address",
289
- "name": "_masterCopy",
290
- "type": "address"
352
+ "internalType": "uint256",
353
+ "name": "_threshold",
354
+ "type": "uint256"
291
355
  }
292
356
  ],
293
- "name": "changeMasterCopy",
357
+ "name": "changeThreshold",
294
358
  "outputs": [],
295
- "payable": false,
296
359
  "stateMutability": "nonpayable",
297
360
  "type": "function"
298
361
  },
299
362
  {
300
- "constant": false,
301
363
  "inputs": [
364
+ {
365
+ "internalType": "bytes32",
366
+ "name": "dataHash",
367
+ "type": "bytes32"
368
+ },
369
+ {
370
+ "internalType": "bytes",
371
+ "name": "data",
372
+ "type": "bytes"
373
+ },
374
+ {
375
+ "internalType": "bytes",
376
+ "name": "signatures",
377
+ "type": "bytes"
378
+ },
379
+ {
380
+ "internalType": "uint256",
381
+ "name": "requiredSignatures",
382
+ "type": "uint256"
383
+ }
384
+ ],
385
+ "name": "checkNSignatures",
386
+ "outputs": [],
387
+ "stateMutability": "view",
388
+ "type": "function"
389
+ },
390
+ {
391
+ "inputs": [
392
+ {
393
+ "internalType": "address",
394
+ "name": "executor",
395
+ "type": "address"
396
+ },
397
+ {
398
+ "internalType": "bytes32",
399
+ "name": "dataHash",
400
+ "type": "bytes32"
401
+ },
402
+ {
403
+ "internalType": "bytes",
404
+ "name": "signatures",
405
+ "type": "bytes"
406
+ },
302
407
  {
303
408
  "internalType": "uint256",
304
- "name": "_threshold",
409
+ "name": "requiredSignatures",
305
410
  "type": "uint256"
306
411
  }
307
412
  ],
308
- "name": "changeThreshold",
413
+ "name": "checkNSignatures",
309
414
  "outputs": [],
310
- "payable": false,
311
- "stateMutability": "nonpayable",
415
+ "stateMutability": "view",
416
+ "type": "function"
417
+ },
418
+ {
419
+ "inputs": [
420
+ {
421
+ "internalType": "bytes32",
422
+ "name": "dataHash",
423
+ "type": "bytes32"
424
+ },
425
+ {
426
+ "internalType": "bytes",
427
+ "name": "data",
428
+ "type": "bytes"
429
+ },
430
+ {
431
+ "internalType": "bytes",
432
+ "name": "signatures",
433
+ "type": "bytes"
434
+ }
435
+ ],
436
+ "name": "checkSignatures",
437
+ "outputs": [],
438
+ "stateMutability": "view",
439
+ "type": "function"
440
+ },
441
+ {
442
+ "inputs": [
443
+ {
444
+ "internalType": "address",
445
+ "name": "executor",
446
+ "type": "address"
447
+ },
448
+ {
449
+ "internalType": "bytes32",
450
+ "name": "dataHash",
451
+ "type": "bytes32"
452
+ },
453
+ {
454
+ "internalType": "bytes",
455
+ "name": "signatures",
456
+ "type": "bytes"
457
+ }
458
+ ],
459
+ "name": "checkSignatures",
460
+ "outputs": [],
461
+ "stateMutability": "view",
312
462
  "type": "function"
313
463
  },
314
464
  {
315
- "constant": false,
316
465
  "inputs": [
317
466
  {
318
- "internalType": "contract Module",
467
+ "internalType": "address",
319
468
  "name": "prevModule",
320
469
  "type": "address"
321
470
  },
322
471
  {
323
- "internalType": "contract Module",
472
+ "internalType": "address",
324
473
  "name": "module",
325
474
  "type": "address"
326
475
  }
327
476
  ],
328
477
  "name": "disableModule",
329
478
  "outputs": [],
330
- "payable": false,
331
479
  "stateMutability": "nonpayable",
332
480
  "type": "function"
333
481
  },
334
482
  {
335
- "constant": true,
336
483
  "inputs": [],
337
484
  "name": "domainSeparator",
338
485
  "outputs": [
@@ -342,27 +489,23 @@
342
489
  "type": "bytes32"
343
490
  }
344
491
  ],
345
- "payable": false,
346
492
  "stateMutability": "view",
347
493
  "type": "function"
348
494
  },
349
495
  {
350
- "constant": false,
351
496
  "inputs": [
352
497
  {
353
- "internalType": "contract Module",
498
+ "internalType": "address",
354
499
  "name": "module",
355
500
  "type": "address"
356
501
  }
357
502
  ],
358
503
  "name": "enableModule",
359
504
  "outputs": [],
360
- "payable": false,
361
505
  "stateMutability": "nonpayable",
362
506
  "type": "function"
363
507
  },
364
508
  {
365
- "constant": false,
366
509
  "inputs": [
367
510
  {
368
511
  "internalType": "address",
@@ -383,9 +526,39 @@
383
526
  "internalType": "enum Enum.Operation",
384
527
  "name": "operation",
385
528
  "type": "uint8"
529
+ },
530
+ {
531
+ "internalType": "uint256",
532
+ "name": "safeTxGas",
533
+ "type": "uint256"
534
+ },
535
+ {
536
+ "internalType": "uint256",
537
+ "name": "baseGas",
538
+ "type": "uint256"
539
+ },
540
+ {
541
+ "internalType": "uint256",
542
+ "name": "gasPrice",
543
+ "type": "uint256"
544
+ },
545
+ {
546
+ "internalType": "address",
547
+ "name": "gasToken",
548
+ "type": "address"
549
+ },
550
+ {
551
+ "internalType": "address payable",
552
+ "name": "refundReceiver",
553
+ "type": "address"
554
+ },
555
+ {
556
+ "internalType": "bytes",
557
+ "name": "signatures",
558
+ "type": "bytes"
386
559
  }
387
560
  ],
388
- "name": "execTransactionFromModule",
561
+ "name": "execTransaction",
389
562
  "outputs": [
390
563
  {
391
564
  "internalType": "bool",
@@ -393,12 +566,10 @@
393
566
  "type": "bool"
394
567
  }
395
568
  ],
396
- "payable": false,
397
- "stateMutability": "nonpayable",
569
+ "stateMutability": "payable",
398
570
  "type": "function"
399
571
  },
400
572
  {
401
- "constant": false,
402
573
  "inputs": [
403
574
  {
404
575
  "internalType": "address",
@@ -421,40 +592,57 @@
421
592
  "type": "uint8"
422
593
  }
423
594
  ],
424
- "name": "execTransactionFromModuleReturnData",
595
+ "name": "execTransactionFromModule",
425
596
  "outputs": [
426
597
  {
427
598
  "internalType": "bool",
428
599
  "name": "success",
429
600
  "type": "bool"
430
- },
431
- {
432
- "internalType": "bytes",
433
- "name": "returnData",
434
- "type": "bytes"
435
601
  }
436
602
  ],
437
- "payable": false,
438
603
  "stateMutability": "nonpayable",
439
604
  "type": "function"
440
605
  },
441
606
  {
442
- "constant": true,
443
- "inputs": [],
444
- "name": "getModules",
445
- "outputs": [
607
+ "inputs": [
446
608
  {
447
- "internalType": "address[]",
448
- "name": "",
449
- "type": "address[]"
450
- }
609
+ "internalType": "address",
610
+ "name": "to",
611
+ "type": "address"
612
+ },
613
+ {
614
+ "internalType": "uint256",
615
+ "name": "value",
616
+ "type": "uint256"
617
+ },
618
+ {
619
+ "internalType": "bytes",
620
+ "name": "data",
621
+ "type": "bytes"
622
+ },
623
+ {
624
+ "internalType": "enum Enum.Operation",
625
+ "name": "operation",
626
+ "type": "uint8"
627
+ }
451
628
  ],
452
- "payable": false,
453
- "stateMutability": "view",
629
+ "name": "execTransactionFromModuleReturnData",
630
+ "outputs": [
631
+ {
632
+ "internalType": "bool",
633
+ "name": "success",
634
+ "type": "bool"
635
+ },
636
+ {
637
+ "internalType": "bytes",
638
+ "name": "returnData",
639
+ "type": "bytes"
640
+ }
641
+ ],
642
+ "stateMutability": "nonpayable",
454
643
  "type": "function"
455
644
  },
456
645
  {
457
- "constant": true,
458
646
  "inputs": [
459
647
  {
460
648
  "internalType": "address",
@@ -480,12 +668,10 @@
480
668
  "type": "address"
481
669
  }
482
670
  ],
483
- "payable": false,
484
671
  "stateMutability": "view",
485
672
  "type": "function"
486
673
  },
487
674
  {
488
- "constant": true,
489
675
  "inputs": [],
490
676
  "name": "getOwners",
491
677
  "outputs": [
@@ -495,12 +681,34 @@
495
681
  "type": "address[]"
496
682
  }
497
683
  ],
498
- "payable": false,
499
684
  "stateMutability": "view",
500
685
  "type": "function"
501
686
  },
502
687
  {
503
- "constant": true,
688
+ "inputs": [
689
+ {
690
+ "internalType": "uint256",
691
+ "name": "offset",
692
+ "type": "uint256"
693
+ },
694
+ {
695
+ "internalType": "uint256",
696
+ "name": "length",
697
+ "type": "uint256"
698
+ }
699
+ ],
700
+ "name": "getStorageAt",
701
+ "outputs": [
702
+ {
703
+ "internalType": "bytes",
704
+ "name": "",
705
+ "type": "bytes"
706
+ }
707
+ ],
708
+ "stateMutability": "view",
709
+ "type": "function"
710
+ },
711
+ {
504
712
  "inputs": [],
505
713
  "name": "getThreshold",
506
714
  "outputs": [
@@ -510,12 +718,93 @@
510
718
  "type": "uint256"
511
719
  }
512
720
  ],
513
- "payable": false,
514
721
  "stateMutability": "view",
515
722
  "type": "function"
516
723
  },
517
724
  {
518
- "constant": true,
725
+ "inputs": [
726
+ {
727
+ "internalType": "address",
728
+ "name": "to",
729
+ "type": "address"
730
+ },
731
+ {
732
+ "internalType": "uint256",
733
+ "name": "value",
734
+ "type": "uint256"
735
+ },
736
+ {
737
+ "internalType": "bytes",
738
+ "name": "data",
739
+ "type": "bytes"
740
+ },
741
+ {
742
+ "internalType": "enum Enum.Operation",
743
+ "name": "operation",
744
+ "type": "uint8"
745
+ },
746
+ {
747
+ "internalType": "uint256",
748
+ "name": "safeTxGas",
749
+ "type": "uint256"
750
+ },
751
+ {
752
+ "internalType": "uint256",
753
+ "name": "baseGas",
754
+ "type": "uint256"
755
+ },
756
+ {
757
+ "internalType": "uint256",
758
+ "name": "gasPrice",
759
+ "type": "uint256"
760
+ },
761
+ {
762
+ "internalType": "address",
763
+ "name": "gasToken",
764
+ "type": "address"
765
+ },
766
+ {
767
+ "internalType": "address",
768
+ "name": "refundReceiver",
769
+ "type": "address"
770
+ },
771
+ {
772
+ "internalType": "uint256",
773
+ "name": "_nonce",
774
+ "type": "uint256"
775
+ }
776
+ ],
777
+ "name": "getTransactionHash",
778
+ "outputs": [
779
+ {
780
+ "internalType": "bytes32",
781
+ "name": "txHash",
782
+ "type": "bytes32"
783
+ }
784
+ ],
785
+ "stateMutability": "view",
786
+ "type": "function"
787
+ },
788
+ {
789
+ "inputs": [
790
+ {
791
+ "internalType": "address",
792
+ "name": "module",
793
+ "type": "address"
794
+ }
795
+ ],
796
+ "name": "isModuleEnabled",
797
+ "outputs": [
798
+ {
799
+ "internalType": "bool",
800
+ "name": "",
801
+ "type": "bool"
802
+ }
803
+ ],
804
+ "stateMutability": "view",
805
+ "type": "function"
806
+ },
807
+ {
519
808
  "inputs": [
520
809
  {
521
810
  "internalType": "address",
@@ -531,12 +820,10 @@
531
820
  "type": "bool"
532
821
  }
533
822
  ],
534
- "payable": false,
535
823
  "stateMutability": "view",
536
824
  "type": "function"
537
825
  },
538
826
  {
539
- "constant": true,
540
827
  "inputs": [],
541
828
  "name": "nonce",
542
829
  "outputs": [
@@ -546,12 +833,10 @@
546
833
  "type": "uint256"
547
834
  }
548
835
  ],
549
- "payable": false,
550
836
  "stateMutability": "view",
551
837
  "type": "function"
552
838
  },
553
839
  {
554
- "constant": false,
555
840
  "inputs": [
556
841
  {
557
842
  "internalType": "address",
@@ -571,12 +856,10 @@
571
856
  ],
572
857
  "name": "removeOwner",
573
858
  "outputs": [],
574
- "payable": false,
575
859
  "stateMutability": "nonpayable",
576
860
  "type": "function"
577
861
  },
578
862
  {
579
- "constant": false,
580
863
  "inputs": [
581
864
  {
582
865
  "internalType": "address",
@@ -586,58 +869,36 @@
586
869
  ],
587
870
  "name": "setFallbackHandler",
588
871
  "outputs": [],
589
- "payable": false,
590
872
  "stateMutability": "nonpayable",
591
873
  "type": "function"
592
874
  },
593
875
  {
594
- "constant": true,
595
876
  "inputs": [
596
877
  {
597
- "internalType": "bytes32",
598
- "name": "",
599
- "type": "bytes32"
600
- }
601
- ],
602
- "name": "signedMessages",
603
- "outputs": [
604
- {
605
- "internalType": "uint256",
606
- "name": "",
607
- "type": "uint256"
878
+ "internalType": "address",
879
+ "name": "guard",
880
+ "type": "address"
608
881
  }
609
882
  ],
610
- "payable": false,
611
- "stateMutability": "view",
883
+ "name": "setGuard",
884
+ "outputs": [],
885
+ "stateMutability": "nonpayable",
612
886
  "type": "function"
613
887
  },
614
888
  {
615
- "constant": false,
616
889
  "inputs": [
617
890
  {
618
891
  "internalType": "address",
619
- "name": "prevOwner",
620
- "type": "address"
621
- },
622
- {
623
- "internalType": "address",
624
- "name": "oldOwner",
625
- "type": "address"
626
- },
627
- {
628
- "internalType": "address",
629
- "name": "newOwner",
892
+ "name": "moduleGuard",
630
893
  "type": "address"
631
894
  }
632
895
  ],
633
- "name": "swapOwner",
896
+ "name": "setModuleGuard",
634
897
  "outputs": [],
635
- "payable": false,
636
898
  "stateMutability": "nonpayable",
637
899
  "type": "function"
638
900
  },
639
901
  {
640
- "constant": false,
641
902
  "inputs": [
642
903
  {
643
904
  "internalType": "address[]",
@@ -682,320 +943,72 @@
682
943
  ],
683
944
  "name": "setup",
684
945
  "outputs": [],
685
- "payable": false,
686
946
  "stateMutability": "nonpayable",
687
947
  "type": "function"
688
948
  },
689
949
  {
690
- "constant": false,
691
- "inputs": [
692
- {
693
- "internalType": "address",
694
- "name": "to",
695
- "type": "address"
696
- },
697
- {
698
- "internalType": "uint256",
699
- "name": "value",
700
- "type": "uint256"
701
- },
702
- {
703
- "internalType": "bytes",
704
- "name": "data",
705
- "type": "bytes"
706
- },
707
- {
708
- "internalType": "enum Enum.Operation",
709
- "name": "operation",
710
- "type": "uint8"
711
- },
712
- {
713
- "internalType": "uint256",
714
- "name": "safeTxGas",
715
- "type": "uint256"
716
- },
717
- {
718
- "internalType": "uint256",
719
- "name": "baseGas",
720
- "type": "uint256"
721
- },
722
- {
723
- "internalType": "uint256",
724
- "name": "gasPrice",
725
- "type": "uint256"
726
- },
727
- {
728
- "internalType": "address",
729
- "name": "gasToken",
730
- "type": "address"
731
- },
732
- {
733
- "internalType": "address payable",
734
- "name": "refundReceiver",
735
- "type": "address"
736
- },
737
- {
738
- "internalType": "bytes",
739
- "name": "signatures",
740
- "type": "bytes"
741
- }
742
- ],
743
- "name": "execTransaction",
744
- "outputs": [
745
- {
746
- "internalType": "bool",
747
- "name": "success",
748
- "type": "bool"
749
- }
750
- ],
751
- "payable": false,
752
- "stateMutability": "nonpayable",
753
- "type": "function"
754
- },
755
- {
756
- "constant": false,
757
- "inputs": [
758
- {
759
- "internalType": "address",
760
- "name": "to",
761
- "type": "address"
762
- },
763
- {
764
- "internalType": "uint256",
765
- "name": "value",
766
- "type": "uint256"
767
- },
768
- {
769
- "internalType": "bytes",
770
- "name": "data",
771
- "type": "bytes"
772
- },
773
- {
774
- "internalType": "enum Enum.Operation",
775
- "name": "operation",
776
- "type": "uint8"
777
- }
778
- ],
779
- "name": "requiredTxGas",
780
- "outputs": [
781
- {
782
- "internalType": "uint256",
783
- "name": "",
784
- "type": "uint256"
785
- }
786
- ],
787
- "payable": false,
788
- "stateMutability": "nonpayable",
789
- "type": "function"
790
- },
791
- {
792
- "constant": false,
793
950
  "inputs": [
794
951
  {
795
952
  "internalType": "bytes32",
796
- "name": "hashToApprove",
797
- "type": "bytes32"
798
- }
799
- ],
800
- "name": "approveHash",
801
- "outputs": [],
802
- "payable": false,
803
- "stateMutability": "nonpayable",
804
- "type": "function"
805
- },
806
- {
807
- "constant": false,
808
- "inputs": [
809
- {
810
- "internalType": "bytes",
811
- "name": "_data",
812
- "type": "bytes"
813
- }
814
- ],
815
- "name": "signMessage",
816
- "outputs": [],
817
- "payable": false,
818
- "stateMutability": "nonpayable",
819
- "type": "function"
820
- },
821
- {
822
- "constant": false,
823
- "inputs": [
824
- {
825
- "internalType": "bytes",
826
- "name": "_data",
827
- "type": "bytes"
828
- },
829
- {
830
- "internalType": "bytes",
831
- "name": "_signature",
832
- "type": "bytes"
833
- }
834
- ],
835
- "name": "isValidSignature",
836
- "outputs": [
837
- {
838
- "internalType": "bytes4",
839
953
  "name": "",
840
- "type": "bytes4"
841
- }
842
- ],
843
- "payable": false,
844
- "stateMutability": "nonpayable",
845
- "type": "function"
846
- },
847
- {
848
- "constant": true,
849
- "inputs": [
850
- {
851
- "internalType": "bytes",
852
- "name": "message",
853
- "type": "bytes"
954
+ "type": "bytes32"
854
955
  }
855
956
  ],
856
- "name": "getMessageHash",
957
+ "name": "signedMessages",
857
958
  "outputs": [
858
959
  {
859
- "internalType": "bytes32",
960
+ "internalType": "uint256",
860
961
  "name": "",
861
- "type": "bytes32"
962
+ "type": "uint256"
862
963
  }
863
964
  ],
864
- "payable": false,
865
965
  "stateMutability": "view",
866
966
  "type": "function"
867
967
  },
868
968
  {
869
- "constant": true,
870
969
  "inputs": [
871
970
  {
872
971
  "internalType": "address",
873
- "name": "to",
972
+ "name": "targetContract",
874
973
  "type": "address"
875
974
  },
876
- {
877
- "internalType": "uint256",
878
- "name": "value",
879
- "type": "uint256"
880
- },
881
- {
882
- "internalType": "bytes",
883
- "name": "data",
884
- "type": "bytes"
885
- },
886
- {
887
- "internalType": "enum Enum.Operation",
888
- "name": "operation",
889
- "type": "uint8"
890
- },
891
- {
892
- "internalType": "uint256",
893
- "name": "safeTxGas",
894
- "type": "uint256"
895
- },
896
- {
897
- "internalType": "uint256",
898
- "name": "baseGas",
899
- "type": "uint256"
900
- },
901
- {
902
- "internalType": "uint256",
903
- "name": "gasPrice",
904
- "type": "uint256"
905
- },
906
- {
907
- "internalType": "address",
908
- "name": "gasToken",
909
- "type": "address"
910
- },
911
- {
912
- "internalType": "address",
913
- "name": "refundReceiver",
914
- "type": "address"
915
- },
916
- {
917
- "internalType": "uint256",
918
- "name": "_nonce",
919
- "type": "uint256"
920
- }
921
- ],
922
- "name": "encodeTransactionData",
923
- "outputs": [
924
975
  {
925
976
  "internalType": "bytes",
926
- "name": "",
977
+ "name": "calldataPayload",
927
978
  "type": "bytes"
928
979
  }
929
980
  ],
930
- "payable": false,
931
- "stateMutability": "view",
981
+ "name": "simulateAndRevert",
982
+ "outputs": [],
983
+ "stateMutability": "nonpayable",
932
984
  "type": "function"
933
985
  },
934
986
  {
935
- "constant": true,
936
987
  "inputs": [
937
988
  {
938
989
  "internalType": "address",
939
- "name": "to",
990
+ "name": "prevOwner",
940
991
  "type": "address"
941
992
  },
942
- {
943
- "internalType": "uint256",
944
- "name": "value",
945
- "type": "uint256"
946
- },
947
- {
948
- "internalType": "bytes",
949
- "name": "data",
950
- "type": "bytes"
951
- },
952
- {
953
- "internalType": "enum Enum.Operation",
954
- "name": "operation",
955
- "type": "uint8"
956
- },
957
- {
958
- "internalType": "uint256",
959
- "name": "safeTxGas",
960
- "type": "uint256"
961
- },
962
- {
963
- "internalType": "uint256",
964
- "name": "baseGas",
965
- "type": "uint256"
966
- },
967
- {
968
- "internalType": "uint256",
969
- "name": "gasPrice",
970
- "type": "uint256"
971
- },
972
993
  {
973
994
  "internalType": "address",
974
- "name": "gasToken",
995
+ "name": "oldOwner",
975
996
  "type": "address"
976
997
  },
977
998
  {
978
999
  "internalType": "address",
979
- "name": "refundReceiver",
1000
+ "name": "newOwner",
980
1001
  "type": "address"
981
- },
982
- {
983
- "internalType": "uint256",
984
- "name": "_nonce",
985
- "type": "uint256"
986
- }
987
- ],
988
- "name": "getTransactionHash",
989
- "outputs": [
990
- {
991
- "internalType": "bytes32",
992
- "name": "",
993
- "type": "bytes32"
994
1002
  }
995
1003
  ],
996
- "payable": false,
997
- "stateMutability": "view",
1004
+ "name": "swapOwner",
1005
+ "outputs": [],
1006
+ "stateMutability": "nonpayable",
998
1007
  "type": "function"
1008
+ },
1009
+ {
1010
+ "stateMutability": "payable",
1011
+ "type": "receive"
999
1012
  }
1000
1013
  ]
1001
1014
  }