@safe-global/safe-deployments 1.37.0 → 1.37.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 (106) hide show
  1. package/README.md +56 -28
  2. package/dist/accessors.js +1 -3
  3. package/dist/assets/v1.0.0/gnosis_safe.json +477 -103
  4. package/dist/assets/v1.0.0/proxy_factory.json +9 -6
  5. package/dist/assets/v1.1.1/default_callback_handler.json +12 -9
  6. package/dist/assets/v1.1.1/gnosis_safe.json +12 -9
  7. package/dist/assets/v1.1.1/multi_send.json +12 -9
  8. package/dist/assets/v1.1.1/proxy_factory.json +12 -9
  9. package/dist/assets/v1.2.0/gnosis_safe.json +12 -9
  10. package/dist/assets/v1.3.0/compatibility_fallback_handler.json +247 -235
  11. package/dist/assets/v1.3.0/create_call.json +247 -235
  12. package/dist/assets/v1.3.0/gnosis_safe.json +247 -235
  13. package/dist/assets/v1.3.0/gnosis_safe_l2.json +247 -235
  14. package/dist/assets/v1.3.0/multi_send.json +247 -235
  15. package/dist/assets/v1.3.0/multi_send_call_only.json +247 -235
  16. package/dist/assets/v1.3.0/proxy_factory.json +247 -235
  17. package/dist/assets/v1.3.0/sign_message_lib.json +248 -236
  18. package/dist/assets/v1.3.0/simulate_tx_accessor.json +247 -235
  19. package/dist/assets/v1.4.1/compatibility_fallback_handler.json +114 -108
  20. package/dist/assets/v1.4.1/create_call.json +114 -108
  21. package/dist/assets/v1.4.1/multi_send.json +114 -108
  22. package/dist/assets/v1.4.1/multi_send_call_only.json +114 -108
  23. package/dist/assets/v1.4.1/safe.json +114 -108
  24. package/dist/assets/v1.4.1/safe_l2.json +114 -108
  25. package/dist/assets/v1.4.1/safe_proxy_factory.json +115 -109
  26. package/dist/assets/v1.4.1/sign_message_lib.json +115 -109
  27. package/dist/assets/v1.4.1/simulate_tx_accessor.json +114 -108
  28. package/dist/factories.js +4 -1
  29. package/dist/handler.js +6 -5
  30. package/dist/libs.js +4 -12
  31. package/dist/safes.d.ts +3 -3
  32. package/dist/safes.js +6 -4
  33. package/dist/types.d.ts +28 -2
  34. package/dist/types.js +11 -0
  35. package/dist/utils.d.ts +9 -2
  36. package/dist/utils.js +34 -5
  37. package/package.json +15 -17
  38. package/src/__tests__/assets/v1/v1.0.0/gnosis_safe.json +794 -0
  39. package/src/__tests__/assets/v1/v1.0.0/proxy_factory.json +109 -0
  40. package/src/__tests__/assets/v1/v1.1.1/create_and_add_modules.json +57 -0
  41. package/src/__tests__/assets/v1/v1.1.1/create_call.json +88 -0
  42. package/src/__tests__/assets/v1/v1.1.1/default_callback_handler.json +210 -0
  43. package/src/__tests__/assets/v1/v1.1.1/gnosis_safe.json +999 -0
  44. package/src/__tests__/assets/v1/v1.1.1/multi_send.json +43 -0
  45. package/src/__tests__/assets/v1/v1.1.1/proxy_factory.json +189 -0
  46. package/src/__tests__/assets/v1/v1.2.0/gnosis_safe.json +1020 -0
  47. package/src/__tests__/assets/v1/v1.3.0/compatibility_fallback_handler.json +580 -0
  48. package/src/__tests__/assets/v1/v1.3.0/create_call.json +323 -0
  49. package/src/__tests__/assets/v1/v1.3.0/gnosis_safe.json +1288 -0
  50. package/src/__tests__/assets/v1/v1.3.0/gnosis_safe_l2.json +1393 -0
  51. package/src/__tests__/assets/v1/v1.3.0/multi_send.json +275 -0
  52. package/src/__tests__/assets/v1/v1.3.0/multi_send_call_only.json +270 -0
  53. package/src/__tests__/assets/v1/v1.3.0/proxy_factory.json +418 -0
  54. package/src/__tests__/assets/v1/v1.3.0/sign_message_lib.json +302 -0
  55. package/src/__tests__/assets/v1/v1.3.0/simulate_tx_accessor.json +306 -0
  56. package/src/__tests__/assets/v1/v1.4.1/compatibility_fallback_handler.json +445 -0
  57. package/src/__tests__/assets/v1/v1.4.1/create_call.json +190 -0
  58. package/src/__tests__/assets/v1/v1.4.1/multi_send.json +142 -0
  59. package/src/__tests__/assets/v1/v1.4.1/multi_send_call_only.json +137 -0
  60. package/src/__tests__/assets/v1/v1.4.1/safe.json +1121 -0
  61. package/src/__tests__/assets/v1/v1.4.1/safe_l2.json +1226 -0
  62. package/src/__tests__/assets/v1/v1.4.1/safe_proxy_factory.json +261 -0
  63. package/src/__tests__/assets/v1/v1.4.1/sign_message_lib.json +169 -0
  64. package/src/__tests__/assets/v1/v1.4.1/simulate_tx_accessor.json +173 -0
  65. package/src/__tests__/assets.test.ts +101 -38
  66. package/src/__tests__/factories.test.ts +3 -3
  67. package/src/__tests__/handler.test.ts +5 -5
  68. package/src/__tests__/libs.test.ts +9 -9
  69. package/src/__tests__/safes.test.ts +9 -12
  70. package/src/__tests__/utils.test.ts +271 -0
  71. package/src/accessors.ts +5 -7
  72. package/src/assets/v1.0.0/gnosis_safe.json +477 -103
  73. package/src/assets/v1.0.0/proxy_factory.json +9 -6
  74. package/src/assets/v1.1.1/create_and_add_modules.json +17 -10
  75. package/src/assets/v1.1.1/create_call.json +12 -9
  76. package/src/assets/v1.1.1/default_callback_handler.json +12 -9
  77. package/src/assets/v1.1.1/gnosis_safe.json +12 -9
  78. package/src/assets/v1.1.1/multi_send.json +12 -9
  79. package/src/assets/v1.1.1/proxy_factory.json +12 -9
  80. package/src/assets/v1.2.0/gnosis_safe.json +12 -9
  81. package/src/assets/v1.3.0/compatibility_fallback_handler.json +247 -235
  82. package/src/assets/v1.3.0/create_call.json +247 -235
  83. package/src/assets/v1.3.0/gnosis_safe.json +247 -235
  84. package/src/assets/v1.3.0/gnosis_safe_l2.json +247 -235
  85. package/src/assets/v1.3.0/multi_send.json +247 -235
  86. package/src/assets/v1.3.0/multi_send_call_only.json +247 -235
  87. package/src/assets/v1.3.0/proxy_factory.json +247 -235
  88. package/src/assets/v1.3.0/sign_message_lib.json +248 -236
  89. package/src/assets/v1.3.0/simulate_tx_accessor.json +247 -235
  90. package/src/assets/v1.4.1/compatibility_fallback_handler.json +114 -108
  91. package/src/assets/v1.4.1/create_call.json +114 -108
  92. package/src/assets/v1.4.1/multi_send.json +114 -108
  93. package/src/assets/v1.4.1/multi_send_call_only.json +114 -108
  94. package/src/assets/v1.4.1/safe.json +114 -108
  95. package/src/assets/v1.4.1/safe_l2.json +114 -108
  96. package/src/assets/v1.4.1/safe_proxy_factory.json +115 -109
  97. package/src/assets/v1.4.1/sign_message_lib.json +115 -109
  98. package/src/assets/v1.4.1/simulate_tx_accessor.json +114 -108
  99. package/src/factories.ts +14 -11
  100. package/src/handler.ts +24 -21
  101. package/src/index.ts +6 -6
  102. package/src/libs.ts +23 -31
  103. package/src/safes.ts +21 -19
  104. package/src/types.ts +84 -10
  105. package/src/utils.ts +50 -12
  106. package/src/__tests__/utilts.test.ts +0 -385
@@ -1,385 +0,0 @@
1
- import SafeL2141 from '../assets/v1.4.1/safe_l2.json';
2
- import Safe141 from '../assets/v1.4.1/safe.json';
3
-
4
- import GnosisSafeL2130 from '../assets/v1.3.0/gnosis_safe_l2.json';
5
- import GnosisSafe130 from '../assets/v1.3.0/gnosis_safe.json';
6
- import GnosisSafe120 from '../assets/v1.2.0/gnosis_safe.json';
7
- import GnosisSafe111 from '../assets/v1.1.1/gnosis_safe.json';
8
- import GnosisSafe100 from '../assets/v1.0.0/gnosis_safe.json';
9
- import { findDeployment } from '../utils';
10
- import { _safeDeployments, _safeL2Deployments } from '../safes';
11
- import { SingletonDeployment } from '../types';
12
-
13
- const _safeDeploymentsReverse = [..._safeDeployments].reverse();
14
-
15
- describe('utils.ts', () => {
16
- describe('findDeployment', () => {
17
- it('should filter by released by default', () => {
18
- const testUnreleasedDeployment: SingletonDeployment = {
19
- defaultAddress: '',
20
- version: '',
21
- abi: [],
22
- networkAddresses: { "1": "0xbeef" },
23
- contractName: '',
24
- released: false,
25
- };
26
- const testReleasedDeployment: SingletonDeployment = {
27
- defaultAddress: '',
28
- version: '',
29
- abi: [],
30
- networkAddresses: { "1": "0xbeef" },
31
- contractName: '',
32
- released: true, // Default filter value
33
- };
34
-
35
- const testDeployments = [
36
- testUnreleasedDeployment,
37
- testUnreleasedDeployment,
38
- testReleasedDeployment,
39
- ];
40
-
41
- expect(findDeployment(undefined, testDeployments)).toBe(
42
- testReleasedDeployment
43
- );
44
-
45
- // should preserve the released flag even if its not explicitly passed
46
- expect(findDeployment({ network: '1' }, testDeployments)).toBe(
47
- testReleasedDeployment
48
- )
49
- });
50
- it('should return the correct deployment (filtered by version)', () => {
51
- // Chronological deployments
52
- expect(findDeployment({ version: '1.3.0' }, _safeDeployments)).toBe(
53
- GnosisSafe130
54
- );
55
- expect(findDeployment({ version: '1.2.0' }, _safeDeployments)).toBe(
56
- GnosisSafe120
57
- );
58
- expect(findDeployment({ version: '1.1.1' }, _safeDeployments)).toBe(
59
- GnosisSafe111
60
- );
61
- expect(findDeployment({ version: '1.0.0' }, _safeDeployments)).toBe(
62
- GnosisSafe100
63
- );
64
- // Incorrect filter:
65
- expect(
66
- findDeployment({ version: '2.0.0' }, _safeDeployments)
67
- ).toBeUndefined();
68
-
69
- // L2 deployments
70
- expect(findDeployment({ version: '1.3.0+L2' }, _safeL2Deployments)).toBe(
71
- GnosisSafeL2130
72
- );
73
- // Incorrect filter:
74
- expect(
75
- findDeployment({ version: '2.0.0+L2' }, _safeL2Deployments)
76
- ).toBeUndefined();
77
- });
78
- it('should return the correct deployment (filtered by released flag)', () => {
79
- const testUnreleasedDeployment: SingletonDeployment = {
80
- defaultAddress: '',
81
- version: '',
82
- abi: [],
83
- networkAddresses: { "1": "0xbeef" },
84
- contractName: '',
85
- released: false,
86
- };
87
- const testReleasedDeployment: SingletonDeployment = {
88
- defaultAddress: '',
89
- version: '',
90
- abi: [],
91
- networkAddresses: { "1": "0xbeef" },
92
- contractName: '',
93
- released: true, // Default filter value
94
- };
95
-
96
- const testDeployments = [
97
- testUnreleasedDeployment,
98
- testReleasedDeployment,
99
- ];
100
-
101
-
102
- // Chronological deployments
103
- expect(findDeployment({ released: true }, _safeDeployments)).toBe(
104
- Safe141
105
- );
106
-
107
- // Reverse chronological deployments
108
- expect(findDeployment({ released: true }, _safeDeploymentsReverse)).toBe(
109
- GnosisSafe100
110
- );
111
- // Released flag set to false:
112
- expect(
113
- findDeployment({ released: false }, testDeployments)
114
- ).toBe(testUnreleasedDeployment);
115
-
116
- // L2 deployments
117
- expect(findDeployment({ released: true }, _safeL2Deployments)).toBe(
118
- SafeL2141
119
- );
120
- });
121
-
122
- it('should return the correct deployment (filtered by network)', () => {
123
- // Reverse chronological deployments
124
- expect(findDeployment({ network: '1' }, _safeDeploymentsReverse)).toBe(
125
- GnosisSafe100
126
- );
127
- expect(
128
- findDeployment({ network: '73799' }, _safeDeploymentsReverse)
129
- ).toBe(GnosisSafe111);
130
- expect(
131
- findDeployment({ network: '11297108109' }, _safeDeploymentsReverse)
132
- ).toBe(GnosisSafe130);
133
- // Incorrect filter:
134
- expect(
135
- findDeployment({ network: '0' }, _safeDeploymentsReverse)
136
- ).toBeUndefined();
137
-
138
- // L2 deployments
139
- expect(findDeployment({ network: '100' }, _safeL2Deployments)).toBe(
140
- SafeL2141
141
- );
142
- // Incorrect filter:
143
- expect(
144
- findDeployment({ network: '0' }, _safeL2Deployments)
145
- ).toBeUndefined();
146
- });
147
- it('should return the correct deployment (filtered by version and released)', () => {
148
- // Chronological deployments
149
- expect(
150
- findDeployment({ version: '1.3.0', released: true }, _safeDeployments)
151
- ).toBe(GnosisSafe130);
152
- expect(
153
- findDeployment({ version: '1.2.0', released: true }, _safeDeployments)
154
- ).toBe(GnosisSafe120);
155
- expect(
156
- findDeployment({ version: '1.1.1', released: true }, _safeDeployments)
157
- ).toBe(GnosisSafe111);
158
- expect(
159
- findDeployment({ version: '1.0.0', released: true }, _safeDeployments)
160
- ).toBe(GnosisSafe100);
161
- // Incorrect filter:
162
- expect(
163
- findDeployment({ version: '1.0.0', released: false }, _safeDeployments)
164
- ).toBeUndefined();
165
-
166
- // L2 deployments
167
- expect(
168
- findDeployment({ version: '1.3.0', released: true }, _safeL2Deployments)
169
- ).toBe(GnosisSafeL2130);
170
- expect(
171
- findDeployment(
172
- { version: '1.3.0+L2', released: true },
173
- _safeL2Deployments
174
- )
175
- ).toBe(GnosisSafeL2130);
176
- // Incorrect filter:
177
- expect(
178
- findDeployment(
179
- { version: '1.3.0+L2', released: false },
180
- _safeL2Deployments
181
- )
182
- ).toBeUndefined();
183
- });
184
- it('should return the correct deployment (filtered by version and network)', () => {
185
- // Reverse chronological deployments
186
- expect(
187
- findDeployment(
188
- { version: '1.0.0', network: '1' },
189
- _safeDeploymentsReverse
190
- )
191
- ).toBe(GnosisSafe100);
192
- expect(
193
- findDeployment(
194
- { version: '1.1.1', network: '1' },
195
- _safeDeploymentsReverse
196
- )
197
- ).toBe(GnosisSafe111);
198
- expect(
199
- findDeployment(
200
- { version: '1.2.0', network: '1' },
201
- _safeDeploymentsReverse
202
- )
203
- ).toBe(GnosisSafe120);
204
- expect(
205
- findDeployment(
206
- { version: '1.3.0', network: '1' },
207
- _safeDeploymentsReverse
208
- )
209
- ).toBe(GnosisSafe130);
210
- // Incorrect filter:
211
- expect(
212
- findDeployment(
213
- { version: '1.3.0', network: '0' },
214
- _safeDeploymentsReverse
215
- )
216
- ).toBeUndefined();
217
-
218
- // L2 deployments
219
- expect(
220
- findDeployment({ version: '1.3.0', network: '100' }, _safeL2Deployments)
221
- ).toBe(GnosisSafeL2130);
222
- expect(
223
- findDeployment(
224
- { version: '1.3.0+L2', network: '100' },
225
- _safeL2Deployments
226
- )
227
- ).toBe(GnosisSafeL2130);
228
- // Incorrect filter:
229
- expect(
230
- findDeployment(
231
- { version: '1.3.0+L2', network: '0' },
232
- _safeL2Deployments
233
- )
234
- ).toBeUndefined();
235
- });
236
- it('should return the correct deployment (filtered by released and network)', () => {
237
- const testUnreleasedDeployment: SingletonDeployment = {
238
- defaultAddress: '',
239
- version: '',
240
- abi: [],
241
- networkAddresses: { "1": "0xbeef" },
242
- contractName: '',
243
- released: false,
244
- };
245
- const testReleasedDeployment: SingletonDeployment = {
246
- defaultAddress: '',
247
- version: '',
248
- abi: [],
249
- networkAddresses: { "1": "0xbeef" },
250
- contractName: '',
251
- released: true, // Default filter value
252
- };
253
-
254
- const testDeployments = [
255
- testUnreleasedDeployment,
256
- testUnreleasedDeployment,
257
- testReleasedDeployment,
258
- ];
259
-
260
- // Reverse chronological deployments
261
- expect(
262
- findDeployment(
263
- { released: true, network: '1' },
264
- _safeDeploymentsReverse
265
- )
266
- ).toBe(GnosisSafe100);
267
- expect(
268
- findDeployment(
269
- { released: true, network: '246' },
270
- _safeDeploymentsReverse
271
- )
272
- ).toBe(GnosisSafe111);
273
- expect(
274
- findDeployment(
275
- { released: true, network: '11297108109' },
276
- _safeDeploymentsReverse
277
- )
278
- ).toBe(GnosisSafe130);
279
- // Incorrect filter:
280
- expect(
281
- findDeployment(
282
- { released: true, network: '0' },
283
- _safeDeploymentsReverse
284
- )
285
- ).toBeUndefined();
286
- expect(
287
- findDeployment(
288
- { released: false, network: '1' },
289
- testDeployments
290
- )
291
- ).toBe(testUnreleasedDeployment);
292
-
293
- // L2 deployments
294
- expect(
295
- findDeployment({ released: true, network: '100' }, _safeL2Deployments)
296
- ).toBe(SafeL2141);
297
- // Incorrect filter:
298
- expect(
299
- findDeployment({ released: true, network: '0' }, _safeL2Deployments)
300
- ).toBeUndefined();
301
- expect(
302
- findDeployment({ released: false, network: '100' }, testDeployments)
303
- ).toBeUndefined();
304
- });
305
- it('should return the correct deployment (filtered by version, released and network)', () => {
306
- // Reverse chronological deployments
307
- expect(
308
- findDeployment(
309
- { version: '1.0.0', released: true, network: '1' },
310
- _safeDeploymentsReverse
311
- )
312
- ).toBe(GnosisSafe100);
313
- expect(
314
- findDeployment(
315
- { version: '1.1.1', released: true, network: '246' },
316
- _safeDeploymentsReverse
317
- )
318
- ).toBe(GnosisSafe111);
319
- expect(
320
- findDeployment(
321
- { version: '1.2.0', released: true, network: '73799' },
322
- _safeDeploymentsReverse
323
- )
324
- ).toBe(GnosisSafe120);
325
- expect(
326
- findDeployment(
327
- { version: '1.3.0', released: true, network: '11297108109' },
328
- _safeDeploymentsReverse
329
- )
330
- ).toBe(GnosisSafe130);
331
- // Incorrect filter:
332
- expect(
333
- findDeployment(
334
- { version: '1.3.0', released: false, network: '11297108109' },
335
- _safeDeploymentsReverse
336
- )
337
- ).toBeUndefined();
338
- expect(
339
- findDeployment(
340
- { version: '1.3.0', released: true, network: '0' },
341
- _safeDeploymentsReverse
342
- )
343
- ).toBeUndefined();
344
- expect(
345
- findDeployment(
346
- { version: '2.0.0', released: true, network: '11297108109' },
347
- _safeDeploymentsReverse
348
- )
349
- ).toBeUndefined();
350
-
351
- // L2 deployments
352
- expect(
353
- findDeployment(
354
- { version: '1.3.0', released: true, network: '100' },
355
- _safeL2Deployments
356
- )
357
- ).toBe(GnosisSafeL2130);
358
- expect(
359
- findDeployment(
360
- { version: '1.3.0+L2', released: true, network: '100' },
361
- _safeL2Deployments
362
- )
363
- ).toBe(GnosisSafeL2130);
364
- // Incorrect filter:
365
- expect(
366
- findDeployment(
367
- { version: '1.3.0+L2', released: false, network: '100' },
368
- _safeL2Deployments
369
- )
370
- ).toBeUndefined();
371
- expect(
372
- findDeployment(
373
- { version: '1.3.0+L2', released: true, network: '0' },
374
- _safeL2Deployments
375
- )
376
- ).toBeUndefined();
377
- expect(
378
- findDeployment(
379
- { version: '2.0.0+L2', released: true, network: '100' },
380
- _safeL2Deployments
381
- )
382
- ).toBeUndefined();
383
- });
384
- });
385
- });