@obolnetwork/obol-sdk 2.0.1 → 2.1.0

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 (49) hide show
  1. package/README.md +6 -0
  2. package/dist/cjs/package.json +1 -1
  3. package/dist/cjs/src/abi/Multicall.js +148 -0
  4. package/dist/cjs/src/abi/OWR.js +133 -0
  5. package/dist/cjs/src/abi/SplitMain.js +929 -0
  6. package/dist/cjs/src/ajv.js +17 -2
  7. package/dist/cjs/src/bytecodes.js +9 -0
  8. package/dist/cjs/src/constants.js +48 -1
  9. package/dist/cjs/src/index.js +146 -0
  10. package/dist/cjs/src/schema.js +52 -5
  11. package/dist/cjs/src/splitHelpers.js +177 -0
  12. package/dist/cjs/src/utils.js +22 -1
  13. package/dist/cjs/test/fixtures.js +1 -1
  14. package/dist/cjs/test/methods.test.js +215 -11
  15. package/dist/esm/package.json +1 -1
  16. package/dist/esm/src/abi/Multicall.js +145 -0
  17. package/dist/esm/src/abi/OWR.js +130 -0
  18. package/dist/esm/src/abi/SplitMain.js +926 -0
  19. package/dist/esm/src/ajv.js +17 -2
  20. package/dist/esm/src/bytecodes.js +6 -0
  21. package/dist/esm/src/constants.js +47 -0
  22. package/dist/esm/src/index.js +148 -2
  23. package/dist/esm/src/schema.js +51 -4
  24. package/dist/esm/src/splitHelpers.js +168 -0
  25. package/dist/esm/src/utils.js +19 -0
  26. package/dist/esm/test/fixtures.js +1 -1
  27. package/dist/esm/test/methods.test.js +193 -12
  28. package/dist/types/src/abi/Multicall.d.ts +35 -0
  29. package/dist/types/src/abi/OWR.d.ts +52 -0
  30. package/dist/types/src/abi/SplitMain.d.ts +1159 -0
  31. package/dist/types/src/bytecodes.d.ts +6 -0
  32. package/dist/types/src/constants.d.ts +25 -0
  33. package/dist/types/src/index.d.ts +29 -1
  34. package/dist/types/src/schema.d.ts +85 -4
  35. package/dist/types/src/splitHelpers.d.ts +62 -0
  36. package/dist/types/src/types.d.ts +39 -2
  37. package/dist/types/src/utils.d.ts +3 -0
  38. package/package.json +1 -1
  39. package/src/abi/Multicall.ts +145 -0
  40. package/src/abi/OWR.ts +130 -0
  41. package/src/abi/SplitMain.ts +927 -0
  42. package/src/ajv.ts +33 -2
  43. package/src/bytecodes.ts +12 -0
  44. package/src/constants.ts +59 -0
  45. package/src/index.ts +244 -2
  46. package/src/schema.ts +67 -4
  47. package/src/splitHelpers.ts +341 -0
  48. package/src/types.ts +49 -2
  49. package/src/utils.ts +21 -0
@@ -0,0 +1,927 @@
1
+ export const splitMainEthereumAbi = [
2
+ { inputs: [], stateMutability: 'nonpayable', type: 'constructor' },
3
+ { inputs: [], name: 'Create2Error', type: 'error' },
4
+ { inputs: [], name: 'CreateError', type: 'error' },
5
+ {
6
+ inputs: [
7
+ { internalType: 'address', name: 'newController', type: 'address' },
8
+ ],
9
+ name: 'InvalidNewController',
10
+ type: 'error',
11
+ },
12
+ {
13
+ inputs: [
14
+ { internalType: 'uint256', name: 'accountsLength', type: 'uint256' },
15
+ { internalType: 'uint256', name: 'allocationsLength', type: 'uint256' },
16
+ ],
17
+ name: 'InvalidSplit__AccountsAndAllocationsMismatch',
18
+ type: 'error',
19
+ },
20
+ {
21
+ inputs: [{ internalType: 'uint256', name: 'index', type: 'uint256' }],
22
+ name: 'InvalidSplit__AccountsOutOfOrder',
23
+ type: 'error',
24
+ },
25
+ {
26
+ inputs: [{ internalType: 'uint256', name: 'index', type: 'uint256' }],
27
+ name: 'InvalidSplit__AllocationMustBePositive',
28
+ type: 'error',
29
+ },
30
+ {
31
+ inputs: [
32
+ { internalType: 'uint32', name: 'allocationsSum', type: 'uint32' },
33
+ ],
34
+ name: 'InvalidSplit__InvalidAllocationsSum',
35
+ type: 'error',
36
+ },
37
+ {
38
+ inputs: [
39
+ { internalType: 'uint32', name: 'distributorFee', type: 'uint32' },
40
+ ],
41
+ name: 'InvalidSplit__InvalidDistributorFee',
42
+ type: 'error',
43
+ },
44
+ {
45
+ inputs: [{ internalType: 'bytes32', name: 'hash', type: 'bytes32' }],
46
+ name: 'InvalidSplit__InvalidHash',
47
+ type: 'error',
48
+ },
49
+ {
50
+ inputs: [
51
+ { internalType: 'uint256', name: 'accountsLength', type: 'uint256' },
52
+ ],
53
+ name: 'InvalidSplit__TooFewAccounts',
54
+ type: 'error',
55
+ },
56
+ {
57
+ inputs: [{ internalType: 'address', name: 'sender', type: 'address' }],
58
+ name: 'Unauthorized',
59
+ type: 'error',
60
+ },
61
+ {
62
+ anonymous: false,
63
+ inputs: [
64
+ {
65
+ indexed: true,
66
+ internalType: 'address',
67
+ name: 'split',
68
+ type: 'address',
69
+ },
70
+ ],
71
+ name: 'CancelControlTransfer',
72
+ type: 'event',
73
+ },
74
+ {
75
+ anonymous: false,
76
+ inputs: [
77
+ {
78
+ indexed: true,
79
+ internalType: 'address',
80
+ name: 'split',
81
+ type: 'address',
82
+ },
83
+ {
84
+ indexed: true,
85
+ internalType: 'address',
86
+ name: 'previousController',
87
+ type: 'address',
88
+ },
89
+ {
90
+ indexed: true,
91
+ internalType: 'address',
92
+ name: 'newController',
93
+ type: 'address',
94
+ },
95
+ ],
96
+ name: 'ControlTransfer',
97
+ type: 'event',
98
+ },
99
+ {
100
+ anonymous: false,
101
+ inputs: [
102
+ {
103
+ indexed: true,
104
+ internalType: 'address',
105
+ name: 'split',
106
+ type: 'address',
107
+ },
108
+ ],
109
+ name: 'CreateSplit',
110
+ type: 'event',
111
+ },
112
+ {
113
+ anonymous: false,
114
+ inputs: [
115
+ {
116
+ indexed: true,
117
+ internalType: 'address',
118
+ name: 'split',
119
+ type: 'address',
120
+ },
121
+ {
122
+ indexed: true,
123
+ internalType: 'contract ERC20',
124
+ name: 'token',
125
+ type: 'address',
126
+ },
127
+ {
128
+ indexed: false,
129
+ internalType: 'uint256',
130
+ name: 'amount',
131
+ type: 'uint256',
132
+ },
133
+ {
134
+ indexed: true,
135
+ internalType: 'address',
136
+ name: 'distributorAddress',
137
+ type: 'address',
138
+ },
139
+ ],
140
+ name: 'DistributeERC20',
141
+ type: 'event',
142
+ },
143
+ {
144
+ anonymous: false,
145
+ inputs: [
146
+ {
147
+ indexed: true,
148
+ internalType: 'address',
149
+ name: 'split',
150
+ type: 'address',
151
+ },
152
+ {
153
+ indexed: false,
154
+ internalType: 'uint256',
155
+ name: 'amount',
156
+ type: 'uint256',
157
+ },
158
+ {
159
+ indexed: true,
160
+ internalType: 'address',
161
+ name: 'distributorAddress',
162
+ type: 'address',
163
+ },
164
+ ],
165
+ name: 'DistributeETH',
166
+ type: 'event',
167
+ },
168
+ {
169
+ anonymous: false,
170
+ inputs: [
171
+ {
172
+ indexed: true,
173
+ internalType: 'address',
174
+ name: 'split',
175
+ type: 'address',
176
+ },
177
+ {
178
+ indexed: true,
179
+ internalType: 'address',
180
+ name: 'newPotentialController',
181
+ type: 'address',
182
+ },
183
+ ],
184
+ name: 'InitiateControlTransfer',
185
+ type: 'event',
186
+ },
187
+ {
188
+ anonymous: false,
189
+ inputs: [
190
+ {
191
+ indexed: true,
192
+ internalType: 'address',
193
+ name: 'split',
194
+ type: 'address',
195
+ },
196
+ ],
197
+ name: 'UpdateSplit',
198
+ type: 'event',
199
+ },
200
+ {
201
+ anonymous: false,
202
+ inputs: [
203
+ {
204
+ indexed: true,
205
+ internalType: 'address',
206
+ name: 'account',
207
+ type: 'address',
208
+ },
209
+ {
210
+ indexed: false,
211
+ internalType: 'uint256',
212
+ name: 'ethAmount',
213
+ type: 'uint256',
214
+ },
215
+ {
216
+ indexed: false,
217
+ internalType: 'contract ERC20[]',
218
+ name: 'tokens',
219
+ type: 'address[]',
220
+ },
221
+ {
222
+ indexed: false,
223
+ internalType: 'uint256[]',
224
+ name: 'tokenAmounts',
225
+ type: 'uint256[]',
226
+ },
227
+ ],
228
+ name: 'Withdrawal',
229
+ type: 'event',
230
+ },
231
+ {
232
+ inputs: [],
233
+ name: 'PERCENTAGE_SCALE',
234
+ outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],
235
+ stateMutability: 'view',
236
+ type: 'function',
237
+ },
238
+ {
239
+ inputs: [{ internalType: 'address', name: 'split', type: 'address' }],
240
+ name: 'acceptControl',
241
+ outputs: [],
242
+ stateMutability: 'nonpayable',
243
+ type: 'function',
244
+ },
245
+ {
246
+ inputs: [{ internalType: 'address', name: 'split', type: 'address' }],
247
+ name: 'cancelControlTransfer',
248
+ outputs: [],
249
+ stateMutability: 'nonpayable',
250
+ type: 'function',
251
+ },
252
+ {
253
+ inputs: [
254
+ { internalType: 'address[]', name: 'accounts', type: 'address[]' },
255
+ {
256
+ internalType: 'uint32[]',
257
+ name: 'percentAllocations',
258
+ type: 'uint32[]',
259
+ },
260
+ { internalType: 'uint32', name: 'distributorFee', type: 'uint32' },
261
+ { internalType: 'address', name: 'controller', type: 'address' },
262
+ ],
263
+ name: 'createSplit',
264
+ outputs: [{ internalType: 'address', name: 'split', type: 'address' }],
265
+ stateMutability: 'nonpayable',
266
+ type: 'function',
267
+ },
268
+ {
269
+ inputs: [
270
+ { internalType: 'address', name: 'split', type: 'address' },
271
+ { internalType: 'contract ERC20', name: 'token', type: 'address' },
272
+ { internalType: 'address[]', name: 'accounts', type: 'address[]' },
273
+ {
274
+ internalType: 'uint32[]',
275
+ name: 'percentAllocations',
276
+ type: 'uint32[]',
277
+ },
278
+ { internalType: 'uint32', name: 'distributorFee', type: 'uint32' },
279
+ { internalType: 'address', name: 'distributorAddress', type: 'address' },
280
+ ],
281
+ name: 'distributeERC20',
282
+ outputs: [],
283
+ stateMutability: 'nonpayable',
284
+ type: 'function',
285
+ },
286
+ {
287
+ inputs: [
288
+ { internalType: 'address', name: 'split', type: 'address' },
289
+ { internalType: 'address[]', name: 'accounts', type: 'address[]' },
290
+ {
291
+ internalType: 'uint32[]',
292
+ name: 'percentAllocations',
293
+ type: 'uint32[]',
294
+ },
295
+ { internalType: 'uint32', name: 'distributorFee', type: 'uint32' },
296
+ { internalType: 'address', name: 'distributorAddress', type: 'address' },
297
+ ],
298
+ name: 'distributeETH',
299
+ outputs: [],
300
+ stateMutability: 'nonpayable',
301
+ type: 'function',
302
+ },
303
+ {
304
+ inputs: [{ internalType: 'address', name: 'split', type: 'address' }],
305
+ name: 'getController',
306
+ outputs: [{ internalType: 'address', name: '', type: 'address' }],
307
+ stateMutability: 'view',
308
+ type: 'function',
309
+ },
310
+ {
311
+ inputs: [
312
+ { internalType: 'address', name: 'account', type: 'address' },
313
+ { internalType: 'contract ERC20', name: 'token', type: 'address' },
314
+ ],
315
+ name: 'getERC20Balance',
316
+ outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],
317
+ stateMutability: 'view',
318
+ type: 'function',
319
+ },
320
+ {
321
+ inputs: [{ internalType: 'address', name: 'account', type: 'address' }],
322
+ name: 'getETHBalance',
323
+ outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],
324
+ stateMutability: 'view',
325
+ type: 'function',
326
+ },
327
+ {
328
+ inputs: [{ internalType: 'address', name: 'split', type: 'address' }],
329
+ name: 'getHash',
330
+ outputs: [{ internalType: 'bytes32', name: '', type: 'bytes32' }],
331
+ stateMutability: 'view',
332
+ type: 'function',
333
+ },
334
+ {
335
+ inputs: [{ internalType: 'address', name: 'split', type: 'address' }],
336
+ name: 'getNewPotentialController',
337
+ outputs: [{ internalType: 'address', name: '', type: 'address' }],
338
+ stateMutability: 'view',
339
+ type: 'function',
340
+ },
341
+ {
342
+ inputs: [{ internalType: 'address', name: 'split', type: 'address' }],
343
+ name: 'makeSplitImmutable',
344
+ outputs: [],
345
+ stateMutability: 'nonpayable',
346
+ type: 'function',
347
+ },
348
+ {
349
+ inputs: [
350
+ { internalType: 'address[]', name: 'accounts', type: 'address[]' },
351
+ {
352
+ internalType: 'uint32[]',
353
+ name: 'percentAllocations',
354
+ type: 'uint32[]',
355
+ },
356
+ { internalType: 'uint32', name: 'distributorFee', type: 'uint32' },
357
+ ],
358
+ name: 'predictImmutableSplitAddress',
359
+ outputs: [{ internalType: 'address', name: 'split', type: 'address' }],
360
+ stateMutability: 'view',
361
+ type: 'function',
362
+ },
363
+ {
364
+ inputs: [
365
+ { internalType: 'address', name: 'split', type: 'address' },
366
+ { internalType: 'address', name: 'newController', type: 'address' },
367
+ ],
368
+ name: 'transferControl',
369
+ outputs: [],
370
+ stateMutability: 'nonpayable',
371
+ type: 'function',
372
+ },
373
+ {
374
+ inputs: [
375
+ { internalType: 'address', name: 'split', type: 'address' },
376
+ { internalType: 'contract ERC20', name: 'token', type: 'address' },
377
+ { internalType: 'address[]', name: 'accounts', type: 'address[]' },
378
+ {
379
+ internalType: 'uint32[]',
380
+ name: 'percentAllocations',
381
+ type: 'uint32[]',
382
+ },
383
+ { internalType: 'uint32', name: 'distributorFee', type: 'uint32' },
384
+ { internalType: 'address', name: 'distributorAddress', type: 'address' },
385
+ ],
386
+ name: 'updateAndDistributeERC20',
387
+ outputs: [],
388
+ stateMutability: 'nonpayable',
389
+ type: 'function',
390
+ },
391
+ {
392
+ inputs: [
393
+ { internalType: 'address', name: 'split', type: 'address' },
394
+ { internalType: 'address[]', name: 'accounts', type: 'address[]' },
395
+ {
396
+ internalType: 'uint32[]',
397
+ name: 'percentAllocations',
398
+ type: 'uint32[]',
399
+ },
400
+ { internalType: 'uint32', name: 'distributorFee', type: 'uint32' },
401
+ { internalType: 'address', name: 'distributorAddress', type: 'address' },
402
+ ],
403
+ name: 'updateAndDistributeETH',
404
+ outputs: [],
405
+ stateMutability: 'nonpayable',
406
+ type: 'function',
407
+ },
408
+ {
409
+ inputs: [
410
+ { internalType: 'address', name: 'split', type: 'address' },
411
+ { internalType: 'address[]', name: 'accounts', type: 'address[]' },
412
+ {
413
+ internalType: 'uint32[]',
414
+ name: 'percentAllocations',
415
+ type: 'uint32[]',
416
+ },
417
+ { internalType: 'uint32', name: 'distributorFee', type: 'uint32' },
418
+ ],
419
+ name: 'updateSplit',
420
+ outputs: [],
421
+ stateMutability: 'nonpayable',
422
+ type: 'function',
423
+ },
424
+ {
425
+ inputs: [],
426
+ name: 'walletImplementation',
427
+ outputs: [{ internalType: 'address', name: '', type: 'address' }],
428
+ stateMutability: 'view',
429
+ type: 'function',
430
+ },
431
+ {
432
+ inputs: [
433
+ { internalType: 'address', name: 'account', type: 'address' },
434
+ { internalType: 'uint256', name: 'withdrawETH', type: 'uint256' },
435
+ { internalType: 'contract ERC20[]', name: 'tokens', type: 'address[]' },
436
+ ],
437
+ name: 'withdraw',
438
+ outputs: [],
439
+ stateMutability: 'nonpayable',
440
+ type: 'function',
441
+ },
442
+ ] as const;
443
+
444
+ export const splitMainPolygonAbi = [
445
+ { inputs: [], stateMutability: 'nonpayable', type: 'constructor' },
446
+ { inputs: [], name: 'Create2Error', type: 'error' },
447
+ { inputs: [], name: 'CreateError', type: 'error' },
448
+ {
449
+ inputs: [
450
+ { internalType: 'address', name: 'newController', type: 'address' },
451
+ ],
452
+ name: 'InvalidNewController',
453
+ type: 'error',
454
+ },
455
+ {
456
+ inputs: [
457
+ { internalType: 'uint256', name: 'accountsLength', type: 'uint256' },
458
+ { internalType: 'uint256', name: 'allocationsLength', type: 'uint256' },
459
+ ],
460
+ name: 'InvalidSplit__AccountsAndAllocationsMismatch',
461
+ type: 'error',
462
+ },
463
+ {
464
+ inputs: [{ internalType: 'uint256', name: 'index', type: 'uint256' }],
465
+ name: 'InvalidSplit__AccountsOutOfOrder',
466
+ type: 'error',
467
+ },
468
+ {
469
+ inputs: [{ internalType: 'uint256', name: 'index', type: 'uint256' }],
470
+ name: 'InvalidSplit__AllocationMustBePositive',
471
+ type: 'error',
472
+ },
473
+ {
474
+ inputs: [
475
+ { internalType: 'uint32', name: 'allocationsSum', type: 'uint32' },
476
+ ],
477
+ name: 'InvalidSplit__InvalidAllocationsSum',
478
+ type: 'error',
479
+ },
480
+ {
481
+ inputs: [
482
+ { internalType: 'uint32', name: 'distributorFee', type: 'uint32' },
483
+ ],
484
+ name: 'InvalidSplit__InvalidDistributorFee',
485
+ type: 'error',
486
+ },
487
+ {
488
+ inputs: [{ internalType: 'bytes32', name: 'hash', type: 'bytes32' }],
489
+ name: 'InvalidSplit__InvalidHash',
490
+ type: 'error',
491
+ },
492
+ {
493
+ inputs: [
494
+ { internalType: 'uint256', name: 'accountsLength', type: 'uint256' },
495
+ ],
496
+ name: 'InvalidSplit__TooFewAccounts',
497
+ type: 'error',
498
+ },
499
+ {
500
+ inputs: [{ internalType: 'address', name: 'sender', type: 'address' }],
501
+ name: 'Unauthorized',
502
+ type: 'error',
503
+ },
504
+ {
505
+ anonymous: false,
506
+ inputs: [
507
+ {
508
+ indexed: true,
509
+ internalType: 'address',
510
+ name: 'split',
511
+ type: 'address',
512
+ },
513
+ ],
514
+ name: 'CancelControlTransfer',
515
+ type: 'event',
516
+ },
517
+ {
518
+ anonymous: false,
519
+ inputs: [
520
+ {
521
+ indexed: true,
522
+ internalType: 'address',
523
+ name: 'split',
524
+ type: 'address',
525
+ },
526
+ {
527
+ indexed: true,
528
+ internalType: 'address',
529
+ name: 'previousController',
530
+ type: 'address',
531
+ },
532
+ {
533
+ indexed: true,
534
+ internalType: 'address',
535
+ name: 'newController',
536
+ type: 'address',
537
+ },
538
+ ],
539
+ name: 'ControlTransfer',
540
+ type: 'event',
541
+ },
542
+ {
543
+ anonymous: false,
544
+ inputs: [
545
+ {
546
+ indexed: true,
547
+ internalType: 'address',
548
+ name: 'split',
549
+ type: 'address',
550
+ },
551
+ {
552
+ indexed: false,
553
+ internalType: 'address[]',
554
+ name: 'accounts',
555
+ type: 'address[]',
556
+ },
557
+ {
558
+ indexed: false,
559
+ internalType: 'uint32[]',
560
+ name: 'percentAllocations',
561
+ type: 'uint32[]',
562
+ },
563
+ {
564
+ indexed: false,
565
+ internalType: 'uint32',
566
+ name: 'distributorFee',
567
+ type: 'uint32',
568
+ },
569
+ {
570
+ indexed: false,
571
+ internalType: 'address',
572
+ name: 'controller',
573
+ type: 'address',
574
+ },
575
+ ],
576
+ name: 'CreateSplit',
577
+ type: 'event',
578
+ },
579
+ {
580
+ anonymous: false,
581
+ inputs: [
582
+ {
583
+ indexed: true,
584
+ internalType: 'address',
585
+ name: 'split',
586
+ type: 'address',
587
+ },
588
+ {
589
+ indexed: true,
590
+ internalType: 'contract ERC20',
591
+ name: 'token',
592
+ type: 'address',
593
+ },
594
+ {
595
+ indexed: false,
596
+ internalType: 'uint256',
597
+ name: 'amount',
598
+ type: 'uint256',
599
+ },
600
+ {
601
+ indexed: true,
602
+ internalType: 'address',
603
+ name: 'distributorAddress',
604
+ type: 'address',
605
+ },
606
+ ],
607
+ name: 'DistributeERC20',
608
+ type: 'event',
609
+ },
610
+ {
611
+ anonymous: false,
612
+ inputs: [
613
+ {
614
+ indexed: true,
615
+ internalType: 'address',
616
+ name: 'split',
617
+ type: 'address',
618
+ },
619
+ {
620
+ indexed: false,
621
+ internalType: 'uint256',
622
+ name: 'amount',
623
+ type: 'uint256',
624
+ },
625
+ {
626
+ indexed: true,
627
+ internalType: 'address',
628
+ name: 'distributorAddress',
629
+ type: 'address',
630
+ },
631
+ ],
632
+ name: 'DistributeETH',
633
+ type: 'event',
634
+ },
635
+ {
636
+ anonymous: false,
637
+ inputs: [
638
+ {
639
+ indexed: true,
640
+ internalType: 'address',
641
+ name: 'split',
642
+ type: 'address',
643
+ },
644
+ {
645
+ indexed: true,
646
+ internalType: 'address',
647
+ name: 'newPotentialController',
648
+ type: 'address',
649
+ },
650
+ ],
651
+ name: 'InitiateControlTransfer',
652
+ type: 'event',
653
+ },
654
+ {
655
+ anonymous: false,
656
+ inputs: [
657
+ {
658
+ indexed: true,
659
+ internalType: 'address',
660
+ name: 'split',
661
+ type: 'address',
662
+ },
663
+ {
664
+ indexed: false,
665
+ internalType: 'address[]',
666
+ name: 'accounts',
667
+ type: 'address[]',
668
+ },
669
+ {
670
+ indexed: false,
671
+ internalType: 'uint32[]',
672
+ name: 'percentAllocations',
673
+ type: 'uint32[]',
674
+ },
675
+ {
676
+ indexed: false,
677
+ internalType: 'uint32',
678
+ name: 'distributorFee',
679
+ type: 'uint32',
680
+ },
681
+ ],
682
+ name: 'UpdateSplit',
683
+ type: 'event',
684
+ },
685
+ {
686
+ anonymous: false,
687
+ inputs: [
688
+ {
689
+ indexed: true,
690
+ internalType: 'address',
691
+ name: 'account',
692
+ type: 'address',
693
+ },
694
+ {
695
+ indexed: false,
696
+ internalType: 'uint256',
697
+ name: 'ethAmount',
698
+ type: 'uint256',
699
+ },
700
+ {
701
+ indexed: false,
702
+ internalType: 'contract ERC20[]',
703
+ name: 'tokens',
704
+ type: 'address[]',
705
+ },
706
+ {
707
+ indexed: false,
708
+ internalType: 'uint256[]',
709
+ name: 'tokenAmounts',
710
+ type: 'uint256[]',
711
+ },
712
+ ],
713
+ name: 'Withdrawal',
714
+ type: 'event',
715
+ },
716
+ {
717
+ inputs: [],
718
+ name: 'PERCENTAGE_SCALE',
719
+ outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],
720
+ stateMutability: 'view',
721
+ type: 'function',
722
+ },
723
+ {
724
+ inputs: [{ internalType: 'address', name: 'split', type: 'address' }],
725
+ name: 'acceptControl',
726
+ outputs: [],
727
+ stateMutability: 'nonpayable',
728
+ type: 'function',
729
+ },
730
+ {
731
+ inputs: [{ internalType: 'address', name: 'split', type: 'address' }],
732
+ name: 'cancelControlTransfer',
733
+ outputs: [],
734
+ stateMutability: 'nonpayable',
735
+ type: 'function',
736
+ },
737
+ {
738
+ inputs: [
739
+ { internalType: 'address[]', name: 'accounts', type: 'address[]' },
740
+ {
741
+ internalType: 'uint32[]',
742
+ name: 'percentAllocations',
743
+ type: 'uint32[]',
744
+ },
745
+ { internalType: 'uint32', name: 'distributorFee', type: 'uint32' },
746
+ { internalType: 'address', name: 'controller', type: 'address' },
747
+ ],
748
+ name: 'createSplit',
749
+ outputs: [{ internalType: 'address', name: 'split', type: 'address' }],
750
+ stateMutability: 'nonpayable',
751
+ type: 'function',
752
+ },
753
+ {
754
+ inputs: [
755
+ { internalType: 'address', name: 'split', type: 'address' },
756
+ { internalType: 'contract ERC20', name: 'token', type: 'address' },
757
+ { internalType: 'address[]', name: 'accounts', type: 'address[]' },
758
+ {
759
+ internalType: 'uint32[]',
760
+ name: 'percentAllocations',
761
+ type: 'uint32[]',
762
+ },
763
+ { internalType: 'uint32', name: 'distributorFee', type: 'uint32' },
764
+ { internalType: 'address', name: 'distributorAddress', type: 'address' },
765
+ ],
766
+ name: 'distributeERC20',
767
+ outputs: [],
768
+ stateMutability: 'nonpayable',
769
+ type: 'function',
770
+ },
771
+ {
772
+ inputs: [
773
+ { internalType: 'address', name: 'split', type: 'address' },
774
+ { internalType: 'address[]', name: 'accounts', type: 'address[]' },
775
+ {
776
+ internalType: 'uint32[]',
777
+ name: 'percentAllocations',
778
+ type: 'uint32[]',
779
+ },
780
+ { internalType: 'uint32', name: 'distributorFee', type: 'uint32' },
781
+ { internalType: 'address', name: 'distributorAddress', type: 'address' },
782
+ ],
783
+ name: 'distributeETH',
784
+ outputs: [],
785
+ stateMutability: 'nonpayable',
786
+ type: 'function',
787
+ },
788
+ {
789
+ inputs: [{ internalType: 'address', name: 'split', type: 'address' }],
790
+ name: 'getController',
791
+ outputs: [{ internalType: 'address', name: '', type: 'address' }],
792
+ stateMutability: 'view',
793
+ type: 'function',
794
+ },
795
+ {
796
+ inputs: [
797
+ { internalType: 'address', name: 'account', type: 'address' },
798
+ { internalType: 'contract ERC20', name: 'token', type: 'address' },
799
+ ],
800
+ name: 'getERC20Balance',
801
+ outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],
802
+ stateMutability: 'view',
803
+ type: 'function',
804
+ },
805
+ {
806
+ inputs: [{ internalType: 'address', name: 'account', type: 'address' }],
807
+ name: 'getETHBalance',
808
+ outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],
809
+ stateMutability: 'view',
810
+ type: 'function',
811
+ },
812
+ {
813
+ inputs: [{ internalType: 'address', name: 'split', type: 'address' }],
814
+ name: 'getHash',
815
+ outputs: [{ internalType: 'bytes32', name: '', type: 'bytes32' }],
816
+ stateMutability: 'view',
817
+ type: 'function',
818
+ },
819
+ {
820
+ inputs: [{ internalType: 'address', name: 'split', type: 'address' }],
821
+ name: 'getNewPotentialController',
822
+ outputs: [{ internalType: 'address', name: '', type: 'address' }],
823
+ stateMutability: 'view',
824
+ type: 'function',
825
+ },
826
+ {
827
+ inputs: [{ internalType: 'address', name: 'split', type: 'address' }],
828
+ name: 'makeSplitImmutable',
829
+ outputs: [],
830
+ stateMutability: 'nonpayable',
831
+ type: 'function',
832
+ },
833
+ {
834
+ inputs: [
835
+ { internalType: 'address[]', name: 'accounts', type: 'address[]' },
836
+ {
837
+ internalType: 'uint32[]',
838
+ name: 'percentAllocations',
839
+ type: 'uint32[]',
840
+ },
841
+ { internalType: 'uint32', name: 'distributorFee', type: 'uint32' },
842
+ ],
843
+ name: 'predictImmutableSplitAddress',
844
+ outputs: [{ internalType: 'address', name: 'split', type: 'address' }],
845
+ stateMutability: 'view',
846
+ type: 'function',
847
+ },
848
+ {
849
+ inputs: [
850
+ { internalType: 'address', name: 'split', type: 'address' },
851
+ { internalType: 'address', name: 'newController', type: 'address' },
852
+ ],
853
+ name: 'transferControl',
854
+ outputs: [],
855
+ stateMutability: 'nonpayable',
856
+ type: 'function',
857
+ },
858
+ {
859
+ inputs: [
860
+ { internalType: 'address', name: 'split', type: 'address' },
861
+ { internalType: 'contract ERC20', name: 'token', type: 'address' },
862
+ { internalType: 'address[]', name: 'accounts', type: 'address[]' },
863
+ {
864
+ internalType: 'uint32[]',
865
+ name: 'percentAllocations',
866
+ type: 'uint32[]',
867
+ },
868
+ { internalType: 'uint32', name: 'distributorFee', type: 'uint32' },
869
+ { internalType: 'address', name: 'distributorAddress', type: 'address' },
870
+ ],
871
+ name: 'updateAndDistributeERC20',
872
+ outputs: [],
873
+ stateMutability: 'nonpayable',
874
+ type: 'function',
875
+ },
876
+ {
877
+ inputs: [
878
+ { internalType: 'address', name: 'split', type: 'address' },
879
+ { internalType: 'address[]', name: 'accounts', type: 'address[]' },
880
+ {
881
+ internalType: 'uint32[]',
882
+ name: 'percentAllocations',
883
+ type: 'uint32[]',
884
+ },
885
+ { internalType: 'uint32', name: 'distributorFee', type: 'uint32' },
886
+ { internalType: 'address', name: 'distributorAddress', type: 'address' },
887
+ ],
888
+ name: 'updateAndDistributeETH',
889
+ outputs: [],
890
+ stateMutability: 'nonpayable',
891
+ type: 'function',
892
+ },
893
+ {
894
+ inputs: [
895
+ { internalType: 'address', name: 'split', type: 'address' },
896
+ { internalType: 'address[]', name: 'accounts', type: 'address[]' },
897
+ {
898
+ internalType: 'uint32[]',
899
+ name: 'percentAllocations',
900
+ type: 'uint32[]',
901
+ },
902
+ { internalType: 'uint32', name: 'distributorFee', type: 'uint32' },
903
+ ],
904
+ name: 'updateSplit',
905
+ outputs: [],
906
+ stateMutability: 'nonpayable',
907
+ type: 'function',
908
+ },
909
+ {
910
+ inputs: [],
911
+ name: 'walletImplementation',
912
+ outputs: [{ internalType: 'address', name: '', type: 'address' }],
913
+ stateMutability: 'view',
914
+ type: 'function',
915
+ },
916
+ {
917
+ inputs: [
918
+ { internalType: 'address', name: 'account', type: 'address' },
919
+ { internalType: 'uint256', name: 'withdrawETH', type: 'uint256' },
920
+ { internalType: 'contract ERC20[]', name: 'tokens', type: 'address[]' },
921
+ ],
922
+ name: 'withdraw',
923
+ outputs: [],
924
+ stateMutability: 'nonpayable',
925
+ type: 'function',
926
+ },
927
+ ] as const;