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