synapse-filecoin-sdk 0.1.0__py3-none-any.whl

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 (64) hide show
  1. pynapse/__init__.py +6 -0
  2. pynapse/_version.py +1 -0
  3. pynapse/contracts/__init__.py +34 -0
  4. pynapse/contracts/abi_registry.py +11 -0
  5. pynapse/contracts/addresses.json +30 -0
  6. pynapse/contracts/erc20_abi.json +92 -0
  7. pynapse/contracts/errorsAbi.json +933 -0
  8. pynapse/contracts/filecoinPayV1Abi.json +2424 -0
  9. pynapse/contracts/filecoinWarmStorageServiceAbi.json +2363 -0
  10. pynapse/contracts/filecoinWarmStorageServiceStateViewAbi.json +651 -0
  11. pynapse/contracts/generated.py +35 -0
  12. pynapse/contracts/payments_abi.json +205 -0
  13. pynapse/contracts/pdpVerifierAbi.json +1266 -0
  14. pynapse/contracts/providerIdSetAbi.json +161 -0
  15. pynapse/contracts/serviceProviderRegistryAbi.json +1479 -0
  16. pynapse/contracts/sessionKeyRegistryAbi.json +147 -0
  17. pynapse/core/__init__.py +68 -0
  18. pynapse/core/abis.py +25 -0
  19. pynapse/core/chains.py +97 -0
  20. pynapse/core/constants.py +27 -0
  21. pynapse/core/errors.py +22 -0
  22. pynapse/core/piece.py +263 -0
  23. pynapse/core/rand.py +14 -0
  24. pynapse/core/typed_data.py +320 -0
  25. pynapse/core/utils.py +30 -0
  26. pynapse/evm/__init__.py +3 -0
  27. pynapse/evm/client.py +26 -0
  28. pynapse/filbeam/__init__.py +3 -0
  29. pynapse/filbeam/service.py +39 -0
  30. pynapse/payments/__init__.py +17 -0
  31. pynapse/payments/service.py +826 -0
  32. pynapse/pdp/__init__.py +21 -0
  33. pynapse/pdp/server.py +331 -0
  34. pynapse/pdp/types.py +38 -0
  35. pynapse/pdp/verifier.py +82 -0
  36. pynapse/retriever/__init__.py +12 -0
  37. pynapse/retriever/async_chain.py +227 -0
  38. pynapse/retriever/chain.py +209 -0
  39. pynapse/session/__init__.py +12 -0
  40. pynapse/session/key.py +30 -0
  41. pynapse/session/permissions.py +57 -0
  42. pynapse/session/registry.py +90 -0
  43. pynapse/sp_registry/__init__.py +11 -0
  44. pynapse/sp_registry/capabilities.py +25 -0
  45. pynapse/sp_registry/pdp_capabilities.py +102 -0
  46. pynapse/sp_registry/service.py +446 -0
  47. pynapse/sp_registry/types.py +52 -0
  48. pynapse/storage/__init__.py +57 -0
  49. pynapse/storage/async_context.py +682 -0
  50. pynapse/storage/async_manager.py +757 -0
  51. pynapse/storage/context.py +680 -0
  52. pynapse/storage/manager.py +758 -0
  53. pynapse/synapse.py +191 -0
  54. pynapse/utils/__init__.py +25 -0
  55. pynapse/utils/constants.py +25 -0
  56. pynapse/utils/errors.py +3 -0
  57. pynapse/utils/metadata.py +35 -0
  58. pynapse/utils/piece_url.py +16 -0
  59. pynapse/warm_storage/__init__.py +13 -0
  60. pynapse/warm_storage/service.py +513 -0
  61. synapse_filecoin_sdk-0.1.0.dist-info/METADATA +74 -0
  62. synapse_filecoin_sdk-0.1.0.dist-info/RECORD +64 -0
  63. synapse_filecoin_sdk-0.1.0.dist-info/WHEEL +4 -0
  64. synapse_filecoin_sdk-0.1.0.dist-info/licenses/LICENSE.md +228 -0
@@ -0,0 +1,2424 @@
1
+ [
2
+ {
3
+ "type": "constructor",
4
+ "inputs": [],
5
+ "stateMutability": "nonpayable"
6
+ },
7
+ {
8
+ "type": "function",
9
+ "inputs": [],
10
+ "name": "COMMISSION_MAX_BPS",
11
+ "outputs": [
12
+ {
13
+ "name": "",
14
+ "internalType": "uint256",
15
+ "type": "uint256"
16
+ }
17
+ ],
18
+ "stateMutability": "view"
19
+ },
20
+ {
21
+ "type": "function",
22
+ "inputs": [],
23
+ "name": "NETWORK_FEE_DENOMINATOR",
24
+ "outputs": [
25
+ {
26
+ "name": "",
27
+ "internalType": "uint256",
28
+ "type": "uint256"
29
+ }
30
+ ],
31
+ "stateMutability": "view"
32
+ },
33
+ {
34
+ "type": "function",
35
+ "inputs": [],
36
+ "name": "NETWORK_FEE_NUMERATOR",
37
+ "outputs": [
38
+ {
39
+ "name": "",
40
+ "internalType": "uint256",
41
+ "type": "uint256"
42
+ }
43
+ ],
44
+ "stateMutability": "view"
45
+ },
46
+ {
47
+ "type": "function",
48
+ "inputs": [
49
+ {
50
+ "name": "token",
51
+ "internalType": "contract IERC20",
52
+ "type": "address"
53
+ },
54
+ {
55
+ "name": "owner",
56
+ "internalType": "address",
57
+ "type": "address"
58
+ }
59
+ ],
60
+ "name": "accounts",
61
+ "outputs": [
62
+ {
63
+ "name": "funds",
64
+ "internalType": "uint256",
65
+ "type": "uint256"
66
+ },
67
+ {
68
+ "name": "lockupCurrent",
69
+ "internalType": "uint256",
70
+ "type": "uint256"
71
+ },
72
+ {
73
+ "name": "lockupRate",
74
+ "internalType": "uint256",
75
+ "type": "uint256"
76
+ },
77
+ {
78
+ "name": "lockupLastSettledAt",
79
+ "internalType": "uint256",
80
+ "type": "uint256"
81
+ }
82
+ ],
83
+ "stateMutability": "view"
84
+ },
85
+ {
86
+ "type": "function",
87
+ "inputs": [
88
+ {
89
+ "name": "token",
90
+ "internalType": "contract IERC20",
91
+ "type": "address"
92
+ }
93
+ ],
94
+ "name": "auctionInfo",
95
+ "outputs": [
96
+ {
97
+ "name": "startPrice",
98
+ "internalType": "uint88",
99
+ "type": "uint88"
100
+ },
101
+ {
102
+ "name": "startTime",
103
+ "internalType": "uint168",
104
+ "type": "uint168"
105
+ }
106
+ ],
107
+ "stateMutability": "view"
108
+ },
109
+ {
110
+ "type": "function",
111
+ "inputs": [
112
+ {
113
+ "name": "token",
114
+ "internalType": "contract IERC20",
115
+ "type": "address"
116
+ },
117
+ {
118
+ "name": "recipient",
119
+ "internalType": "address",
120
+ "type": "address"
121
+ },
122
+ {
123
+ "name": "requested",
124
+ "internalType": "uint256",
125
+ "type": "uint256"
126
+ }
127
+ ],
128
+ "name": "burnForFees",
129
+ "outputs": [],
130
+ "stateMutability": "payable"
131
+ },
132
+ {
133
+ "type": "function",
134
+ "inputs": [
135
+ {
136
+ "name": "token",
137
+ "internalType": "contract IERC20",
138
+ "type": "address"
139
+ },
140
+ {
141
+ "name": "from",
142
+ "internalType": "address",
143
+ "type": "address"
144
+ },
145
+ {
146
+ "name": "to",
147
+ "internalType": "address",
148
+ "type": "address"
149
+ },
150
+ {
151
+ "name": "validator",
152
+ "internalType": "address",
153
+ "type": "address"
154
+ },
155
+ {
156
+ "name": "commissionRateBps",
157
+ "internalType": "uint256",
158
+ "type": "uint256"
159
+ },
160
+ {
161
+ "name": "serviceFeeRecipient",
162
+ "internalType": "address",
163
+ "type": "address"
164
+ }
165
+ ],
166
+ "name": "createRail",
167
+ "outputs": [
168
+ {
169
+ "name": "",
170
+ "internalType": "uint256",
171
+ "type": "uint256"
172
+ }
173
+ ],
174
+ "stateMutability": "nonpayable"
175
+ },
176
+ {
177
+ "type": "function",
178
+ "inputs": [
179
+ {
180
+ "name": "token",
181
+ "internalType": "contract IERC20",
182
+ "type": "address"
183
+ },
184
+ {
185
+ "name": "to",
186
+ "internalType": "address",
187
+ "type": "address"
188
+ },
189
+ {
190
+ "name": "amount",
191
+ "internalType": "uint256",
192
+ "type": "uint256"
193
+ }
194
+ ],
195
+ "name": "deposit",
196
+ "outputs": [],
197
+ "stateMutability": "payable"
198
+ },
199
+ {
200
+ "type": "function",
201
+ "inputs": [
202
+ {
203
+ "name": "token",
204
+ "internalType": "contract IERC3009",
205
+ "type": "address"
206
+ },
207
+ {
208
+ "name": "to",
209
+ "internalType": "address",
210
+ "type": "address"
211
+ },
212
+ {
213
+ "name": "amount",
214
+ "internalType": "uint256",
215
+ "type": "uint256"
216
+ },
217
+ {
218
+ "name": "validAfter",
219
+ "internalType": "uint256",
220
+ "type": "uint256"
221
+ },
222
+ {
223
+ "name": "validBefore",
224
+ "internalType": "uint256",
225
+ "type": "uint256"
226
+ },
227
+ {
228
+ "name": "nonce",
229
+ "internalType": "bytes32",
230
+ "type": "bytes32"
231
+ },
232
+ {
233
+ "name": "v",
234
+ "internalType": "uint8",
235
+ "type": "uint8"
236
+ },
237
+ {
238
+ "name": "r",
239
+ "internalType": "bytes32",
240
+ "type": "bytes32"
241
+ },
242
+ {
243
+ "name": "s",
244
+ "internalType": "bytes32",
245
+ "type": "bytes32"
246
+ }
247
+ ],
248
+ "name": "depositWithAuthorization",
249
+ "outputs": [],
250
+ "stateMutability": "nonpayable"
251
+ },
252
+ {
253
+ "type": "function",
254
+ "inputs": [
255
+ {
256
+ "name": "token",
257
+ "internalType": "contract IERC3009",
258
+ "type": "address"
259
+ },
260
+ {
261
+ "name": "to",
262
+ "internalType": "address",
263
+ "type": "address"
264
+ },
265
+ {
266
+ "name": "amount",
267
+ "internalType": "uint256",
268
+ "type": "uint256"
269
+ },
270
+ {
271
+ "name": "validAfter",
272
+ "internalType": "uint256",
273
+ "type": "uint256"
274
+ },
275
+ {
276
+ "name": "validBefore",
277
+ "internalType": "uint256",
278
+ "type": "uint256"
279
+ },
280
+ {
281
+ "name": "nonce",
282
+ "internalType": "bytes32",
283
+ "type": "bytes32"
284
+ },
285
+ {
286
+ "name": "v",
287
+ "internalType": "uint8",
288
+ "type": "uint8"
289
+ },
290
+ {
291
+ "name": "r",
292
+ "internalType": "bytes32",
293
+ "type": "bytes32"
294
+ },
295
+ {
296
+ "name": "s",
297
+ "internalType": "bytes32",
298
+ "type": "bytes32"
299
+ },
300
+ {
301
+ "name": "operator",
302
+ "internalType": "address",
303
+ "type": "address"
304
+ },
305
+ {
306
+ "name": "rateAllowance",
307
+ "internalType": "uint256",
308
+ "type": "uint256"
309
+ },
310
+ {
311
+ "name": "lockupAllowance",
312
+ "internalType": "uint256",
313
+ "type": "uint256"
314
+ },
315
+ {
316
+ "name": "maxLockupPeriod",
317
+ "internalType": "uint256",
318
+ "type": "uint256"
319
+ }
320
+ ],
321
+ "name": "depositWithAuthorizationAndApproveOperator",
322
+ "outputs": [],
323
+ "stateMutability": "nonpayable"
324
+ },
325
+ {
326
+ "type": "function",
327
+ "inputs": [
328
+ {
329
+ "name": "token",
330
+ "internalType": "contract IERC3009",
331
+ "type": "address"
332
+ },
333
+ {
334
+ "name": "to",
335
+ "internalType": "address",
336
+ "type": "address"
337
+ },
338
+ {
339
+ "name": "amount",
340
+ "internalType": "uint256",
341
+ "type": "uint256"
342
+ },
343
+ {
344
+ "name": "validAfter",
345
+ "internalType": "uint256",
346
+ "type": "uint256"
347
+ },
348
+ {
349
+ "name": "validBefore",
350
+ "internalType": "uint256",
351
+ "type": "uint256"
352
+ },
353
+ {
354
+ "name": "nonce",
355
+ "internalType": "bytes32",
356
+ "type": "bytes32"
357
+ },
358
+ {
359
+ "name": "v",
360
+ "internalType": "uint8",
361
+ "type": "uint8"
362
+ },
363
+ {
364
+ "name": "r",
365
+ "internalType": "bytes32",
366
+ "type": "bytes32"
367
+ },
368
+ {
369
+ "name": "s",
370
+ "internalType": "bytes32",
371
+ "type": "bytes32"
372
+ },
373
+ {
374
+ "name": "operator",
375
+ "internalType": "address",
376
+ "type": "address"
377
+ },
378
+ {
379
+ "name": "rateAllowanceIncrease",
380
+ "internalType": "uint256",
381
+ "type": "uint256"
382
+ },
383
+ {
384
+ "name": "lockupAllowanceIncrease",
385
+ "internalType": "uint256",
386
+ "type": "uint256"
387
+ }
388
+ ],
389
+ "name": "depositWithAuthorizationAndIncreaseOperatorApproval",
390
+ "outputs": [],
391
+ "stateMutability": "nonpayable"
392
+ },
393
+ {
394
+ "type": "function",
395
+ "inputs": [
396
+ {
397
+ "name": "token",
398
+ "internalType": "contract IERC20",
399
+ "type": "address"
400
+ },
401
+ {
402
+ "name": "to",
403
+ "internalType": "address",
404
+ "type": "address"
405
+ },
406
+ {
407
+ "name": "amount",
408
+ "internalType": "uint256",
409
+ "type": "uint256"
410
+ },
411
+ {
412
+ "name": "deadline",
413
+ "internalType": "uint256",
414
+ "type": "uint256"
415
+ },
416
+ {
417
+ "name": "v",
418
+ "internalType": "uint8",
419
+ "type": "uint8"
420
+ },
421
+ {
422
+ "name": "r",
423
+ "internalType": "bytes32",
424
+ "type": "bytes32"
425
+ },
426
+ {
427
+ "name": "s",
428
+ "internalType": "bytes32",
429
+ "type": "bytes32"
430
+ }
431
+ ],
432
+ "name": "depositWithPermit",
433
+ "outputs": [],
434
+ "stateMutability": "nonpayable"
435
+ },
436
+ {
437
+ "type": "function",
438
+ "inputs": [
439
+ {
440
+ "name": "token",
441
+ "internalType": "contract IERC20",
442
+ "type": "address"
443
+ },
444
+ {
445
+ "name": "to",
446
+ "internalType": "address",
447
+ "type": "address"
448
+ },
449
+ {
450
+ "name": "amount",
451
+ "internalType": "uint256",
452
+ "type": "uint256"
453
+ },
454
+ {
455
+ "name": "deadline",
456
+ "internalType": "uint256",
457
+ "type": "uint256"
458
+ },
459
+ {
460
+ "name": "v",
461
+ "internalType": "uint8",
462
+ "type": "uint8"
463
+ },
464
+ {
465
+ "name": "r",
466
+ "internalType": "bytes32",
467
+ "type": "bytes32"
468
+ },
469
+ {
470
+ "name": "s",
471
+ "internalType": "bytes32",
472
+ "type": "bytes32"
473
+ },
474
+ {
475
+ "name": "operator",
476
+ "internalType": "address",
477
+ "type": "address"
478
+ },
479
+ {
480
+ "name": "rateAllowance",
481
+ "internalType": "uint256",
482
+ "type": "uint256"
483
+ },
484
+ {
485
+ "name": "lockupAllowance",
486
+ "internalType": "uint256",
487
+ "type": "uint256"
488
+ },
489
+ {
490
+ "name": "maxLockupPeriod",
491
+ "internalType": "uint256",
492
+ "type": "uint256"
493
+ }
494
+ ],
495
+ "name": "depositWithPermitAndApproveOperator",
496
+ "outputs": [],
497
+ "stateMutability": "nonpayable"
498
+ },
499
+ {
500
+ "type": "function",
501
+ "inputs": [
502
+ {
503
+ "name": "token",
504
+ "internalType": "contract IERC20",
505
+ "type": "address"
506
+ },
507
+ {
508
+ "name": "to",
509
+ "internalType": "address",
510
+ "type": "address"
511
+ },
512
+ {
513
+ "name": "amount",
514
+ "internalType": "uint256",
515
+ "type": "uint256"
516
+ },
517
+ {
518
+ "name": "deadline",
519
+ "internalType": "uint256",
520
+ "type": "uint256"
521
+ },
522
+ {
523
+ "name": "v",
524
+ "internalType": "uint8",
525
+ "type": "uint8"
526
+ },
527
+ {
528
+ "name": "r",
529
+ "internalType": "bytes32",
530
+ "type": "bytes32"
531
+ },
532
+ {
533
+ "name": "s",
534
+ "internalType": "bytes32",
535
+ "type": "bytes32"
536
+ },
537
+ {
538
+ "name": "operator",
539
+ "internalType": "address",
540
+ "type": "address"
541
+ },
542
+ {
543
+ "name": "rateAllowanceIncrease",
544
+ "internalType": "uint256",
545
+ "type": "uint256"
546
+ },
547
+ {
548
+ "name": "lockupAllowanceIncrease",
549
+ "internalType": "uint256",
550
+ "type": "uint256"
551
+ }
552
+ ],
553
+ "name": "depositWithPermitAndIncreaseOperatorApproval",
554
+ "outputs": [],
555
+ "stateMutability": "nonpayable"
556
+ },
557
+ {
558
+ "type": "function",
559
+ "inputs": [
560
+ {
561
+ "name": "token",
562
+ "internalType": "contract IERC20",
563
+ "type": "address"
564
+ },
565
+ {
566
+ "name": "owner",
567
+ "internalType": "address",
568
+ "type": "address"
569
+ }
570
+ ],
571
+ "name": "getAccountInfoIfSettled",
572
+ "outputs": [
573
+ {
574
+ "name": "fundedUntilEpoch",
575
+ "internalType": "uint256",
576
+ "type": "uint256"
577
+ },
578
+ {
579
+ "name": "currentFunds",
580
+ "internalType": "uint256",
581
+ "type": "uint256"
582
+ },
583
+ {
584
+ "name": "availableFunds",
585
+ "internalType": "uint256",
586
+ "type": "uint256"
587
+ },
588
+ {
589
+ "name": "currentLockupRate",
590
+ "internalType": "uint256",
591
+ "type": "uint256"
592
+ }
593
+ ],
594
+ "stateMutability": "view"
595
+ },
596
+ {
597
+ "type": "function",
598
+ "inputs": [
599
+ {
600
+ "name": "railId",
601
+ "internalType": "uint256",
602
+ "type": "uint256"
603
+ }
604
+ ],
605
+ "name": "getRail",
606
+ "outputs": [
607
+ {
608
+ "name": "",
609
+ "internalType": "struct FilecoinPayV1.RailView",
610
+ "type": "tuple",
611
+ "components": [
612
+ {
613
+ "name": "token",
614
+ "internalType": "contract IERC20",
615
+ "type": "address"
616
+ },
617
+ {
618
+ "name": "from",
619
+ "internalType": "address",
620
+ "type": "address"
621
+ },
622
+ {
623
+ "name": "to",
624
+ "internalType": "address",
625
+ "type": "address"
626
+ },
627
+ {
628
+ "name": "operator",
629
+ "internalType": "address",
630
+ "type": "address"
631
+ },
632
+ {
633
+ "name": "validator",
634
+ "internalType": "address",
635
+ "type": "address"
636
+ },
637
+ {
638
+ "name": "paymentRate",
639
+ "internalType": "uint256",
640
+ "type": "uint256"
641
+ },
642
+ {
643
+ "name": "lockupPeriod",
644
+ "internalType": "uint256",
645
+ "type": "uint256"
646
+ },
647
+ {
648
+ "name": "lockupFixed",
649
+ "internalType": "uint256",
650
+ "type": "uint256"
651
+ },
652
+ {
653
+ "name": "settledUpTo",
654
+ "internalType": "uint256",
655
+ "type": "uint256"
656
+ },
657
+ {
658
+ "name": "endEpoch",
659
+ "internalType": "uint256",
660
+ "type": "uint256"
661
+ },
662
+ {
663
+ "name": "commissionRateBps",
664
+ "internalType": "uint256",
665
+ "type": "uint256"
666
+ },
667
+ {
668
+ "name": "serviceFeeRecipient",
669
+ "internalType": "address",
670
+ "type": "address"
671
+ }
672
+ ]
673
+ }
674
+ ],
675
+ "stateMutability": "view"
676
+ },
677
+ {
678
+ "type": "function",
679
+ "inputs": [
680
+ {
681
+ "name": "payee",
682
+ "internalType": "address",
683
+ "type": "address"
684
+ },
685
+ {
686
+ "name": "token",
687
+ "internalType": "contract IERC20",
688
+ "type": "address"
689
+ },
690
+ {
691
+ "name": "offset",
692
+ "internalType": "uint256",
693
+ "type": "uint256"
694
+ },
695
+ {
696
+ "name": "limit",
697
+ "internalType": "uint256",
698
+ "type": "uint256"
699
+ }
700
+ ],
701
+ "name": "getRailsForPayeeAndToken",
702
+ "outputs": [
703
+ {
704
+ "name": "results",
705
+ "internalType": "struct FilecoinPayV1.RailInfo[]",
706
+ "type": "tuple[]",
707
+ "components": [
708
+ {
709
+ "name": "railId",
710
+ "internalType": "uint256",
711
+ "type": "uint256"
712
+ },
713
+ {
714
+ "name": "isTerminated",
715
+ "internalType": "bool",
716
+ "type": "bool"
717
+ },
718
+ {
719
+ "name": "endEpoch",
720
+ "internalType": "uint256",
721
+ "type": "uint256"
722
+ }
723
+ ]
724
+ },
725
+ {
726
+ "name": "nextOffset",
727
+ "internalType": "uint256",
728
+ "type": "uint256"
729
+ },
730
+ {
731
+ "name": "total",
732
+ "internalType": "uint256",
733
+ "type": "uint256"
734
+ }
735
+ ],
736
+ "stateMutability": "view"
737
+ },
738
+ {
739
+ "type": "function",
740
+ "inputs": [
741
+ {
742
+ "name": "payer",
743
+ "internalType": "address",
744
+ "type": "address"
745
+ },
746
+ {
747
+ "name": "token",
748
+ "internalType": "contract IERC20",
749
+ "type": "address"
750
+ },
751
+ {
752
+ "name": "offset",
753
+ "internalType": "uint256",
754
+ "type": "uint256"
755
+ },
756
+ {
757
+ "name": "limit",
758
+ "internalType": "uint256",
759
+ "type": "uint256"
760
+ }
761
+ ],
762
+ "name": "getRailsForPayerAndToken",
763
+ "outputs": [
764
+ {
765
+ "name": "results",
766
+ "internalType": "struct FilecoinPayV1.RailInfo[]",
767
+ "type": "tuple[]",
768
+ "components": [
769
+ {
770
+ "name": "railId",
771
+ "internalType": "uint256",
772
+ "type": "uint256"
773
+ },
774
+ {
775
+ "name": "isTerminated",
776
+ "internalType": "bool",
777
+ "type": "bool"
778
+ },
779
+ {
780
+ "name": "endEpoch",
781
+ "internalType": "uint256",
782
+ "type": "uint256"
783
+ }
784
+ ]
785
+ },
786
+ {
787
+ "name": "nextOffset",
788
+ "internalType": "uint256",
789
+ "type": "uint256"
790
+ },
791
+ {
792
+ "name": "total",
793
+ "internalType": "uint256",
794
+ "type": "uint256"
795
+ }
796
+ ],
797
+ "stateMutability": "view"
798
+ },
799
+ {
800
+ "type": "function",
801
+ "inputs": [
802
+ {
803
+ "name": "railId",
804
+ "internalType": "uint256",
805
+ "type": "uint256"
806
+ }
807
+ ],
808
+ "name": "getRateChangeQueueSize",
809
+ "outputs": [
810
+ {
811
+ "name": "",
812
+ "internalType": "uint256",
813
+ "type": "uint256"
814
+ }
815
+ ],
816
+ "stateMutability": "view"
817
+ },
818
+ {
819
+ "type": "function",
820
+ "inputs": [
821
+ {
822
+ "name": "token",
823
+ "internalType": "contract IERC20",
824
+ "type": "address"
825
+ },
826
+ {
827
+ "name": "operator",
828
+ "internalType": "address",
829
+ "type": "address"
830
+ },
831
+ {
832
+ "name": "rateAllowanceIncrease",
833
+ "internalType": "uint256",
834
+ "type": "uint256"
835
+ },
836
+ {
837
+ "name": "lockupAllowanceIncrease",
838
+ "internalType": "uint256",
839
+ "type": "uint256"
840
+ }
841
+ ],
842
+ "name": "increaseOperatorApproval",
843
+ "outputs": [],
844
+ "stateMutability": "nonpayable"
845
+ },
846
+ {
847
+ "type": "function",
848
+ "inputs": [
849
+ {
850
+ "name": "railId",
851
+ "internalType": "uint256",
852
+ "type": "uint256"
853
+ },
854
+ {
855
+ "name": "period",
856
+ "internalType": "uint256",
857
+ "type": "uint256"
858
+ },
859
+ {
860
+ "name": "lockupFixed",
861
+ "internalType": "uint256",
862
+ "type": "uint256"
863
+ }
864
+ ],
865
+ "name": "modifyRailLockup",
866
+ "outputs": [],
867
+ "stateMutability": "nonpayable"
868
+ },
869
+ {
870
+ "type": "function",
871
+ "inputs": [
872
+ {
873
+ "name": "railId",
874
+ "internalType": "uint256",
875
+ "type": "uint256"
876
+ },
877
+ {
878
+ "name": "newRate",
879
+ "internalType": "uint256",
880
+ "type": "uint256"
881
+ },
882
+ {
883
+ "name": "oneTimePayment",
884
+ "internalType": "uint256",
885
+ "type": "uint256"
886
+ }
887
+ ],
888
+ "name": "modifyRailPayment",
889
+ "outputs": [],
890
+ "stateMutability": "nonpayable"
891
+ },
892
+ {
893
+ "type": "function",
894
+ "inputs": [
895
+ {
896
+ "name": "token",
897
+ "internalType": "contract IERC20",
898
+ "type": "address"
899
+ },
900
+ {
901
+ "name": "client",
902
+ "internalType": "address",
903
+ "type": "address"
904
+ },
905
+ {
906
+ "name": "operator",
907
+ "internalType": "address",
908
+ "type": "address"
909
+ }
910
+ ],
911
+ "name": "operatorApprovals",
912
+ "outputs": [
913
+ {
914
+ "name": "isApproved",
915
+ "internalType": "bool",
916
+ "type": "bool"
917
+ },
918
+ {
919
+ "name": "rateAllowance",
920
+ "internalType": "uint256",
921
+ "type": "uint256"
922
+ },
923
+ {
924
+ "name": "lockupAllowance",
925
+ "internalType": "uint256",
926
+ "type": "uint256"
927
+ },
928
+ {
929
+ "name": "rateUsage",
930
+ "internalType": "uint256",
931
+ "type": "uint256"
932
+ },
933
+ {
934
+ "name": "lockupUsage",
935
+ "internalType": "uint256",
936
+ "type": "uint256"
937
+ },
938
+ {
939
+ "name": "maxLockupPeriod",
940
+ "internalType": "uint256",
941
+ "type": "uint256"
942
+ }
943
+ ],
944
+ "stateMutability": "view"
945
+ },
946
+ {
947
+ "type": "function",
948
+ "inputs": [
949
+ {
950
+ "name": "token",
951
+ "internalType": "contract IERC20",
952
+ "type": "address"
953
+ },
954
+ {
955
+ "name": "operator",
956
+ "internalType": "address",
957
+ "type": "address"
958
+ },
959
+ {
960
+ "name": "approved",
961
+ "internalType": "bool",
962
+ "type": "bool"
963
+ },
964
+ {
965
+ "name": "rateAllowance",
966
+ "internalType": "uint256",
967
+ "type": "uint256"
968
+ },
969
+ {
970
+ "name": "lockupAllowance",
971
+ "internalType": "uint256",
972
+ "type": "uint256"
973
+ },
974
+ {
975
+ "name": "maxLockupPeriod",
976
+ "internalType": "uint256",
977
+ "type": "uint256"
978
+ }
979
+ ],
980
+ "name": "setOperatorApproval",
981
+ "outputs": [],
982
+ "stateMutability": "nonpayable"
983
+ },
984
+ {
985
+ "type": "function",
986
+ "inputs": [
987
+ {
988
+ "name": "railId",
989
+ "internalType": "uint256",
990
+ "type": "uint256"
991
+ },
992
+ {
993
+ "name": "untilEpoch",
994
+ "internalType": "uint256",
995
+ "type": "uint256"
996
+ }
997
+ ],
998
+ "name": "settleRail",
999
+ "outputs": [
1000
+ {
1001
+ "name": "totalSettledAmount",
1002
+ "internalType": "uint256",
1003
+ "type": "uint256"
1004
+ },
1005
+ {
1006
+ "name": "totalNetPayeeAmount",
1007
+ "internalType": "uint256",
1008
+ "type": "uint256"
1009
+ },
1010
+ {
1011
+ "name": "totalOperatorCommission",
1012
+ "internalType": "uint256",
1013
+ "type": "uint256"
1014
+ },
1015
+ {
1016
+ "name": "totalNetworkFee",
1017
+ "internalType": "uint256",
1018
+ "type": "uint256"
1019
+ },
1020
+ {
1021
+ "name": "finalSettledEpoch",
1022
+ "internalType": "uint256",
1023
+ "type": "uint256"
1024
+ },
1025
+ {
1026
+ "name": "note",
1027
+ "internalType": "string",
1028
+ "type": "string"
1029
+ }
1030
+ ],
1031
+ "stateMutability": "nonpayable"
1032
+ },
1033
+ {
1034
+ "type": "function",
1035
+ "inputs": [
1036
+ {
1037
+ "name": "railId",
1038
+ "internalType": "uint256",
1039
+ "type": "uint256"
1040
+ }
1041
+ ],
1042
+ "name": "settleTerminatedRailWithoutValidation",
1043
+ "outputs": [
1044
+ {
1045
+ "name": "totalSettledAmount",
1046
+ "internalType": "uint256",
1047
+ "type": "uint256"
1048
+ },
1049
+ {
1050
+ "name": "totalNetPayeeAmount",
1051
+ "internalType": "uint256",
1052
+ "type": "uint256"
1053
+ },
1054
+ {
1055
+ "name": "totalOperatorCommission",
1056
+ "internalType": "uint256",
1057
+ "type": "uint256"
1058
+ },
1059
+ {
1060
+ "name": "totalNetworkFee",
1061
+ "internalType": "uint256",
1062
+ "type": "uint256"
1063
+ },
1064
+ {
1065
+ "name": "finalSettledEpoch",
1066
+ "internalType": "uint256",
1067
+ "type": "uint256"
1068
+ },
1069
+ {
1070
+ "name": "note",
1071
+ "internalType": "string",
1072
+ "type": "string"
1073
+ }
1074
+ ],
1075
+ "stateMutability": "nonpayable"
1076
+ },
1077
+ {
1078
+ "type": "function",
1079
+ "inputs": [
1080
+ {
1081
+ "name": "railId",
1082
+ "internalType": "uint256",
1083
+ "type": "uint256"
1084
+ }
1085
+ ],
1086
+ "name": "terminateRail",
1087
+ "outputs": [],
1088
+ "stateMutability": "nonpayable"
1089
+ },
1090
+ {
1091
+ "type": "function",
1092
+ "inputs": [
1093
+ {
1094
+ "name": "token",
1095
+ "internalType": "contract IERC20",
1096
+ "type": "address"
1097
+ },
1098
+ {
1099
+ "name": "amount",
1100
+ "internalType": "uint256",
1101
+ "type": "uint256"
1102
+ }
1103
+ ],
1104
+ "name": "withdraw",
1105
+ "outputs": [],
1106
+ "stateMutability": "nonpayable"
1107
+ },
1108
+ {
1109
+ "type": "function",
1110
+ "inputs": [
1111
+ {
1112
+ "name": "token",
1113
+ "internalType": "contract IERC20",
1114
+ "type": "address"
1115
+ },
1116
+ {
1117
+ "name": "to",
1118
+ "internalType": "address",
1119
+ "type": "address"
1120
+ },
1121
+ {
1122
+ "name": "amount",
1123
+ "internalType": "uint256",
1124
+ "type": "uint256"
1125
+ }
1126
+ ],
1127
+ "name": "withdrawTo",
1128
+ "outputs": [],
1129
+ "stateMutability": "nonpayable"
1130
+ },
1131
+ {
1132
+ "type": "event",
1133
+ "anonymous": false,
1134
+ "inputs": [
1135
+ {
1136
+ "name": "token",
1137
+ "internalType": "contract IERC20",
1138
+ "type": "address",
1139
+ "indexed": true
1140
+ },
1141
+ {
1142
+ "name": "owner",
1143
+ "internalType": "address",
1144
+ "type": "address",
1145
+ "indexed": true
1146
+ },
1147
+ {
1148
+ "name": "lockupCurrent",
1149
+ "internalType": "uint256",
1150
+ "type": "uint256",
1151
+ "indexed": false
1152
+ },
1153
+ {
1154
+ "name": "lockupRate",
1155
+ "internalType": "uint256",
1156
+ "type": "uint256",
1157
+ "indexed": false
1158
+ },
1159
+ {
1160
+ "name": "lockupLastSettledAt",
1161
+ "internalType": "uint256",
1162
+ "type": "uint256",
1163
+ "indexed": false
1164
+ }
1165
+ ],
1166
+ "name": "AccountLockupSettled"
1167
+ },
1168
+ {
1169
+ "type": "event",
1170
+ "anonymous": false,
1171
+ "inputs": [
1172
+ {
1173
+ "name": "token",
1174
+ "internalType": "contract IERC20",
1175
+ "type": "address",
1176
+ "indexed": true
1177
+ },
1178
+ {
1179
+ "name": "from",
1180
+ "internalType": "address",
1181
+ "type": "address",
1182
+ "indexed": true
1183
+ },
1184
+ {
1185
+ "name": "to",
1186
+ "internalType": "address",
1187
+ "type": "address",
1188
+ "indexed": true
1189
+ },
1190
+ {
1191
+ "name": "amount",
1192
+ "internalType": "uint256",
1193
+ "type": "uint256",
1194
+ "indexed": false
1195
+ }
1196
+ ],
1197
+ "name": "DepositRecorded"
1198
+ },
1199
+ {
1200
+ "type": "event",
1201
+ "anonymous": false,
1202
+ "inputs": [
1203
+ {
1204
+ "name": "token",
1205
+ "internalType": "contract IERC20",
1206
+ "type": "address",
1207
+ "indexed": true
1208
+ },
1209
+ {
1210
+ "name": "client",
1211
+ "internalType": "address",
1212
+ "type": "address",
1213
+ "indexed": true
1214
+ },
1215
+ {
1216
+ "name": "operator",
1217
+ "internalType": "address",
1218
+ "type": "address",
1219
+ "indexed": true
1220
+ },
1221
+ {
1222
+ "name": "approved",
1223
+ "internalType": "bool",
1224
+ "type": "bool",
1225
+ "indexed": false
1226
+ },
1227
+ {
1228
+ "name": "rateAllowance",
1229
+ "internalType": "uint256",
1230
+ "type": "uint256",
1231
+ "indexed": false
1232
+ },
1233
+ {
1234
+ "name": "lockupAllowance",
1235
+ "internalType": "uint256",
1236
+ "type": "uint256",
1237
+ "indexed": false
1238
+ },
1239
+ {
1240
+ "name": "maxLockupPeriod",
1241
+ "internalType": "uint256",
1242
+ "type": "uint256",
1243
+ "indexed": false
1244
+ }
1245
+ ],
1246
+ "name": "OperatorApprovalUpdated"
1247
+ },
1248
+ {
1249
+ "type": "event",
1250
+ "anonymous": false,
1251
+ "inputs": [
1252
+ {
1253
+ "name": "railId",
1254
+ "internalType": "uint256",
1255
+ "type": "uint256",
1256
+ "indexed": true
1257
+ },
1258
+ {
1259
+ "name": "payer",
1260
+ "internalType": "address",
1261
+ "type": "address",
1262
+ "indexed": true
1263
+ },
1264
+ {
1265
+ "name": "payee",
1266
+ "internalType": "address",
1267
+ "type": "address",
1268
+ "indexed": true
1269
+ },
1270
+ {
1271
+ "name": "token",
1272
+ "internalType": "contract IERC20",
1273
+ "type": "address",
1274
+ "indexed": false
1275
+ },
1276
+ {
1277
+ "name": "operator",
1278
+ "internalType": "address",
1279
+ "type": "address",
1280
+ "indexed": false
1281
+ },
1282
+ {
1283
+ "name": "validator",
1284
+ "internalType": "address",
1285
+ "type": "address",
1286
+ "indexed": false
1287
+ },
1288
+ {
1289
+ "name": "serviceFeeRecipient",
1290
+ "internalType": "address",
1291
+ "type": "address",
1292
+ "indexed": false
1293
+ },
1294
+ {
1295
+ "name": "commissionRateBps",
1296
+ "internalType": "uint256",
1297
+ "type": "uint256",
1298
+ "indexed": false
1299
+ }
1300
+ ],
1301
+ "name": "RailCreated"
1302
+ },
1303
+ {
1304
+ "type": "event",
1305
+ "anonymous": false,
1306
+ "inputs": [
1307
+ {
1308
+ "name": "railId",
1309
+ "internalType": "uint256",
1310
+ "type": "uint256",
1311
+ "indexed": true
1312
+ }
1313
+ ],
1314
+ "name": "RailFinalized"
1315
+ },
1316
+ {
1317
+ "type": "event",
1318
+ "anonymous": false,
1319
+ "inputs": [
1320
+ {
1321
+ "name": "railId",
1322
+ "internalType": "uint256",
1323
+ "type": "uint256",
1324
+ "indexed": true
1325
+ },
1326
+ {
1327
+ "name": "oldLockupPeriod",
1328
+ "internalType": "uint256",
1329
+ "type": "uint256",
1330
+ "indexed": false
1331
+ },
1332
+ {
1333
+ "name": "newLockupPeriod",
1334
+ "internalType": "uint256",
1335
+ "type": "uint256",
1336
+ "indexed": false
1337
+ },
1338
+ {
1339
+ "name": "oldLockupFixed",
1340
+ "internalType": "uint256",
1341
+ "type": "uint256",
1342
+ "indexed": false
1343
+ },
1344
+ {
1345
+ "name": "newLockupFixed",
1346
+ "internalType": "uint256",
1347
+ "type": "uint256",
1348
+ "indexed": false
1349
+ }
1350
+ ],
1351
+ "name": "RailLockupModified"
1352
+ },
1353
+ {
1354
+ "type": "event",
1355
+ "anonymous": false,
1356
+ "inputs": [
1357
+ {
1358
+ "name": "railId",
1359
+ "internalType": "uint256",
1360
+ "type": "uint256",
1361
+ "indexed": true
1362
+ },
1363
+ {
1364
+ "name": "netPayeeAmount",
1365
+ "internalType": "uint256",
1366
+ "type": "uint256",
1367
+ "indexed": false
1368
+ },
1369
+ {
1370
+ "name": "operatorCommission",
1371
+ "internalType": "uint256",
1372
+ "type": "uint256",
1373
+ "indexed": false
1374
+ },
1375
+ {
1376
+ "name": "networkFee",
1377
+ "internalType": "uint256",
1378
+ "type": "uint256",
1379
+ "indexed": false
1380
+ }
1381
+ ],
1382
+ "name": "RailOneTimePaymentProcessed"
1383
+ },
1384
+ {
1385
+ "type": "event",
1386
+ "anonymous": false,
1387
+ "inputs": [
1388
+ {
1389
+ "name": "railId",
1390
+ "internalType": "uint256",
1391
+ "type": "uint256",
1392
+ "indexed": true
1393
+ },
1394
+ {
1395
+ "name": "oldRate",
1396
+ "internalType": "uint256",
1397
+ "type": "uint256",
1398
+ "indexed": false
1399
+ },
1400
+ {
1401
+ "name": "newRate",
1402
+ "internalType": "uint256",
1403
+ "type": "uint256",
1404
+ "indexed": false
1405
+ }
1406
+ ],
1407
+ "name": "RailRateModified"
1408
+ },
1409
+ {
1410
+ "type": "event",
1411
+ "anonymous": false,
1412
+ "inputs": [
1413
+ {
1414
+ "name": "railId",
1415
+ "internalType": "uint256",
1416
+ "type": "uint256",
1417
+ "indexed": true
1418
+ },
1419
+ {
1420
+ "name": "totalSettledAmount",
1421
+ "internalType": "uint256",
1422
+ "type": "uint256",
1423
+ "indexed": false
1424
+ },
1425
+ {
1426
+ "name": "totalNetPayeeAmount",
1427
+ "internalType": "uint256",
1428
+ "type": "uint256",
1429
+ "indexed": false
1430
+ },
1431
+ {
1432
+ "name": "operatorCommission",
1433
+ "internalType": "uint256",
1434
+ "type": "uint256",
1435
+ "indexed": false
1436
+ },
1437
+ {
1438
+ "name": "networkFee",
1439
+ "internalType": "uint256",
1440
+ "type": "uint256",
1441
+ "indexed": false
1442
+ },
1443
+ {
1444
+ "name": "settledUpTo",
1445
+ "internalType": "uint256",
1446
+ "type": "uint256",
1447
+ "indexed": false
1448
+ }
1449
+ ],
1450
+ "name": "RailSettled"
1451
+ },
1452
+ {
1453
+ "type": "event",
1454
+ "anonymous": false,
1455
+ "inputs": [
1456
+ {
1457
+ "name": "railId",
1458
+ "internalType": "uint256",
1459
+ "type": "uint256",
1460
+ "indexed": true
1461
+ },
1462
+ {
1463
+ "name": "by",
1464
+ "internalType": "address",
1465
+ "type": "address",
1466
+ "indexed": true
1467
+ },
1468
+ {
1469
+ "name": "endEpoch",
1470
+ "internalType": "uint256",
1471
+ "type": "uint256",
1472
+ "indexed": false
1473
+ }
1474
+ ],
1475
+ "name": "RailTerminated"
1476
+ },
1477
+ {
1478
+ "type": "event",
1479
+ "anonymous": false,
1480
+ "inputs": [
1481
+ {
1482
+ "name": "token",
1483
+ "internalType": "contract IERC20",
1484
+ "type": "address",
1485
+ "indexed": true
1486
+ },
1487
+ {
1488
+ "name": "from",
1489
+ "internalType": "address",
1490
+ "type": "address",
1491
+ "indexed": true
1492
+ },
1493
+ {
1494
+ "name": "to",
1495
+ "internalType": "address",
1496
+ "type": "address",
1497
+ "indexed": true
1498
+ },
1499
+ {
1500
+ "name": "amount",
1501
+ "internalType": "uint256",
1502
+ "type": "uint256",
1503
+ "indexed": false
1504
+ }
1505
+ ],
1506
+ "name": "WithdrawRecorded"
1507
+ },
1508
+ {
1509
+ "type": "error",
1510
+ "inputs": [
1511
+ {
1512
+ "name": "railId",
1513
+ "internalType": "uint256",
1514
+ "type": "uint256"
1515
+ },
1516
+ {
1517
+ "name": "maxSettlementEpoch",
1518
+ "internalType": "uint256",
1519
+ "type": "uint256"
1520
+ },
1521
+ {
1522
+ "name": "blockNumber",
1523
+ "internalType": "uint256",
1524
+ "type": "uint256"
1525
+ }
1526
+ ],
1527
+ "name": "CannotModifyTerminatedRailBeyondEndEpoch"
1528
+ },
1529
+ {
1530
+ "type": "error",
1531
+ "inputs": [
1532
+ {
1533
+ "name": "railId",
1534
+ "internalType": "uint256",
1535
+ "type": "uint256"
1536
+ },
1537
+ {
1538
+ "name": "maxAllowedEpoch",
1539
+ "internalType": "uint256",
1540
+ "type": "uint256"
1541
+ },
1542
+ {
1543
+ "name": "attemptedEpoch",
1544
+ "internalType": "uint256",
1545
+ "type": "uint256"
1546
+ }
1547
+ ],
1548
+ "name": "CannotSettleFutureEpochs"
1549
+ },
1550
+ {
1551
+ "type": "error",
1552
+ "inputs": [
1553
+ {
1554
+ "name": "railId",
1555
+ "internalType": "uint256",
1556
+ "type": "uint256"
1557
+ },
1558
+ {
1559
+ "name": "requiredBlock",
1560
+ "internalType": "uint256",
1561
+ "type": "uint256"
1562
+ },
1563
+ {
1564
+ "name": "currentBlock",
1565
+ "internalType": "uint256",
1566
+ "type": "uint256"
1567
+ }
1568
+ ],
1569
+ "name": "CannotSettleTerminatedRailBeforeMaxEpoch"
1570
+ },
1571
+ {
1572
+ "type": "error",
1573
+ "inputs": [
1574
+ {
1575
+ "name": "maxAllowed",
1576
+ "internalType": "uint256",
1577
+ "type": "uint256"
1578
+ },
1579
+ {
1580
+ "name": "actual",
1581
+ "internalType": "uint256",
1582
+ "type": "uint256"
1583
+ }
1584
+ ],
1585
+ "name": "CommissionRateTooHigh"
1586
+ },
1587
+ {
1588
+ "type": "error",
1589
+ "inputs": [
1590
+ {
1591
+ "name": "token",
1592
+ "internalType": "contract IERC20",
1593
+ "type": "address"
1594
+ },
1595
+ {
1596
+ "name": "from",
1597
+ "internalType": "address",
1598
+ "type": "address"
1599
+ },
1600
+ {
1601
+ "name": "oldLockup",
1602
+ "internalType": "uint256",
1603
+ "type": "uint256"
1604
+ },
1605
+ {
1606
+ "name": "currentLockup",
1607
+ "internalType": "uint256",
1608
+ "type": "uint256"
1609
+ }
1610
+ ],
1611
+ "name": "CurrentLockupLessThanOldLockup"
1612
+ },
1613
+ {
1614
+ "type": "error",
1615
+ "inputs": [
1616
+ {
1617
+ "name": "token",
1618
+ "internalType": "contract IERC20",
1619
+ "type": "address"
1620
+ },
1621
+ {
1622
+ "name": "from",
1623
+ "internalType": "address",
1624
+ "type": "address"
1625
+ },
1626
+ {
1627
+ "name": "currentLockup",
1628
+ "internalType": "uint256",
1629
+ "type": "uint256"
1630
+ },
1631
+ {
1632
+ "name": "lockupReduction",
1633
+ "internalType": "uint256",
1634
+ "type": "uint256"
1635
+ }
1636
+ ],
1637
+ "name": "InsufficientCurrentLockup"
1638
+ },
1639
+ {
1640
+ "type": "error",
1641
+ "inputs": [
1642
+ {
1643
+ "name": "token",
1644
+ "internalType": "contract IERC20",
1645
+ "type": "address"
1646
+ },
1647
+ {
1648
+ "name": "from",
1649
+ "internalType": "address",
1650
+ "type": "address"
1651
+ },
1652
+ {
1653
+ "name": "required",
1654
+ "internalType": "uint256",
1655
+ "type": "uint256"
1656
+ },
1657
+ {
1658
+ "name": "actual",
1659
+ "internalType": "uint256",
1660
+ "type": "uint256"
1661
+ }
1662
+ ],
1663
+ "name": "InsufficientFundsForOneTimePayment"
1664
+ },
1665
+ {
1666
+ "type": "error",
1667
+ "inputs": [
1668
+ {
1669
+ "name": "token",
1670
+ "internalType": "contract IERC20",
1671
+ "type": "address"
1672
+ },
1673
+ {
1674
+ "name": "from",
1675
+ "internalType": "address",
1676
+ "type": "address"
1677
+ },
1678
+ {
1679
+ "name": "available",
1680
+ "internalType": "uint256",
1681
+ "type": "uint256"
1682
+ },
1683
+ {
1684
+ "name": "required",
1685
+ "internalType": "uint256",
1686
+ "type": "uint256"
1687
+ }
1688
+ ],
1689
+ "name": "InsufficientFundsForSettlement"
1690
+ },
1691
+ {
1692
+ "type": "error",
1693
+ "inputs": [
1694
+ {
1695
+ "name": "token",
1696
+ "internalType": "contract IERC20",
1697
+ "type": "address"
1698
+ },
1699
+ {
1700
+ "name": "from",
1701
+ "internalType": "address",
1702
+ "type": "address"
1703
+ },
1704
+ {
1705
+ "name": "available",
1706
+ "internalType": "uint256",
1707
+ "type": "uint256"
1708
+ },
1709
+ {
1710
+ "name": "required",
1711
+ "internalType": "uint256",
1712
+ "type": "uint256"
1713
+ }
1714
+ ],
1715
+ "name": "InsufficientLockupForSettlement"
1716
+ },
1717
+ {
1718
+ "type": "error",
1719
+ "inputs": [
1720
+ {
1721
+ "name": "required",
1722
+ "internalType": "uint256",
1723
+ "type": "uint256"
1724
+ },
1725
+ {
1726
+ "name": "sent",
1727
+ "internalType": "uint256",
1728
+ "type": "uint256"
1729
+ }
1730
+ ],
1731
+ "name": "InsufficientNativeTokenForBurn"
1732
+ },
1733
+ {
1734
+ "type": "error",
1735
+ "inputs": [
1736
+ {
1737
+ "name": "available",
1738
+ "internalType": "uint256",
1739
+ "type": "uint256"
1740
+ },
1741
+ {
1742
+ "name": "requested",
1743
+ "internalType": "uint256",
1744
+ "type": "uint256"
1745
+ }
1746
+ ],
1747
+ "name": "InsufficientUnlockedFunds"
1748
+ },
1749
+ {
1750
+ "type": "error",
1751
+ "inputs": [
1752
+ {
1753
+ "name": "nextRateChangeUntilEpoch",
1754
+ "internalType": "uint256",
1755
+ "type": "uint256"
1756
+ },
1757
+ {
1758
+ "name": "processedEpoch",
1759
+ "internalType": "uint256",
1760
+ "type": "uint256"
1761
+ }
1762
+ ],
1763
+ "name": "InvalidRateChangeQueueState"
1764
+ },
1765
+ {
1766
+ "type": "error",
1767
+ "inputs": [
1768
+ {
1769
+ "name": "actualPeriod",
1770
+ "internalType": "uint256",
1771
+ "type": "uint256"
1772
+ },
1773
+ {
1774
+ "name": "actualLockupFixed",
1775
+ "internalType": "uint256",
1776
+ "type": "uint256"
1777
+ },
1778
+ {
1779
+ "name": "attemptedPeriod",
1780
+ "internalType": "uint256",
1781
+ "type": "uint256"
1782
+ },
1783
+ {
1784
+ "name": "attemptedLockupFixed",
1785
+ "internalType": "uint256",
1786
+ "type": "uint256"
1787
+ }
1788
+ ],
1789
+ "name": "InvalidTerminatedRailModification"
1790
+ },
1791
+ {
1792
+ "type": "error",
1793
+ "inputs": [
1794
+ {
1795
+ "name": "token",
1796
+ "internalType": "contract IERC20",
1797
+ "type": "address"
1798
+ },
1799
+ {
1800
+ "name": "account",
1801
+ "internalType": "address",
1802
+ "type": "address"
1803
+ },
1804
+ {
1805
+ "name": "lockupCurrent",
1806
+ "internalType": "uint256",
1807
+ "type": "uint256"
1808
+ },
1809
+ {
1810
+ "name": "fundsCurrent",
1811
+ "internalType": "uint256",
1812
+ "type": "uint256"
1813
+ }
1814
+ ],
1815
+ "name": "LockupExceedsFundsInvariant"
1816
+ },
1817
+ {
1818
+ "type": "error",
1819
+ "inputs": [
1820
+ {
1821
+ "name": "token",
1822
+ "internalType": "contract IERC20",
1823
+ "type": "address"
1824
+ },
1825
+ {
1826
+ "name": "from",
1827
+ "internalType": "address",
1828
+ "type": "address"
1829
+ },
1830
+ {
1831
+ "name": "actualLockupFixed",
1832
+ "internalType": "uint256",
1833
+ "type": "uint256"
1834
+ },
1835
+ {
1836
+ "name": "attemptedLockupFixed",
1837
+ "internalType": "uint256",
1838
+ "type": "uint256"
1839
+ }
1840
+ ],
1841
+ "name": "LockupFixedIncreaseNotAllowedDueToInsufficientFunds"
1842
+ },
1843
+ {
1844
+ "type": "error",
1845
+ "inputs": [
1846
+ {
1847
+ "name": "railId",
1848
+ "internalType": "uint256",
1849
+ "type": "uint256"
1850
+ },
1851
+ {
1852
+ "name": "token",
1853
+ "internalType": "contract IERC20",
1854
+ "type": "address"
1855
+ },
1856
+ {
1857
+ "name": "from",
1858
+ "internalType": "address",
1859
+ "type": "address"
1860
+ },
1861
+ {
1862
+ "name": "expectedLockup",
1863
+ "internalType": "uint256",
1864
+ "type": "uint256"
1865
+ },
1866
+ {
1867
+ "name": "actualLockup",
1868
+ "internalType": "uint256",
1869
+ "type": "uint256"
1870
+ }
1871
+ ],
1872
+ "name": "LockupInconsistencyDuringRailFinalization"
1873
+ },
1874
+ {
1875
+ "type": "error",
1876
+ "inputs": [
1877
+ {
1878
+ "name": "railId",
1879
+ "internalType": "uint256",
1880
+ "type": "uint256"
1881
+ },
1882
+ {
1883
+ "name": "from",
1884
+ "internalType": "address",
1885
+ "type": "address"
1886
+ },
1887
+ {
1888
+ "name": "isSettled",
1889
+ "internalType": "bool",
1890
+ "type": "bool"
1891
+ },
1892
+ {
1893
+ "name": "currentRate",
1894
+ "internalType": "uint256",
1895
+ "type": "uint256"
1896
+ },
1897
+ {
1898
+ "name": "attemptedRate",
1899
+ "internalType": "uint256",
1900
+ "type": "uint256"
1901
+ }
1902
+ ],
1903
+ "name": "LockupNotSettledRateChangeNotAllowed"
1904
+ },
1905
+ {
1906
+ "type": "error",
1907
+ "inputs": [
1908
+ {
1909
+ "name": "token",
1910
+ "internalType": "contract IERC20",
1911
+ "type": "address"
1912
+ },
1913
+ {
1914
+ "name": "from",
1915
+ "internalType": "address",
1916
+ "type": "address"
1917
+ },
1918
+ {
1919
+ "name": "actualLockupPeriod",
1920
+ "internalType": "uint256",
1921
+ "type": "uint256"
1922
+ },
1923
+ {
1924
+ "name": "attemptedLockupPeriod",
1925
+ "internalType": "uint256",
1926
+ "type": "uint256"
1927
+ }
1928
+ ],
1929
+ "name": "LockupPeriodChangeNotAllowedDueToInsufficientFunds"
1930
+ },
1931
+ {
1932
+ "type": "error",
1933
+ "inputs": [
1934
+ {
1935
+ "name": "token",
1936
+ "internalType": "contract IERC20",
1937
+ "type": "address"
1938
+ },
1939
+ {
1940
+ "name": "operator",
1941
+ "internalType": "address",
1942
+ "type": "address"
1943
+ },
1944
+ {
1945
+ "name": "maxAllowedPeriod",
1946
+ "internalType": "uint256",
1947
+ "type": "uint256"
1948
+ },
1949
+ {
1950
+ "name": "requestedPeriod",
1951
+ "internalType": "uint256",
1952
+ "type": "uint256"
1953
+ }
1954
+ ],
1955
+ "name": "LockupPeriodExceedsOperatorMaximum"
1956
+ },
1957
+ {
1958
+ "type": "error",
1959
+ "inputs": [
1960
+ {
1961
+ "name": "railId",
1962
+ "internalType": "uint256",
1963
+ "type": "uint256"
1964
+ },
1965
+ {
1966
+ "name": "from",
1967
+ "internalType": "address",
1968
+ "type": "address"
1969
+ },
1970
+ {
1971
+ "name": "paymentRate",
1972
+ "internalType": "uint256",
1973
+ "type": "uint256"
1974
+ },
1975
+ {
1976
+ "name": "lockupRate",
1977
+ "internalType": "uint256",
1978
+ "type": "uint256"
1979
+ }
1980
+ ],
1981
+ "name": "LockupRateInconsistent"
1982
+ },
1983
+ {
1984
+ "type": "error",
1985
+ "inputs": [
1986
+ {
1987
+ "name": "railId",
1988
+ "internalType": "uint256",
1989
+ "type": "uint256"
1990
+ },
1991
+ {
1992
+ "name": "from",
1993
+ "internalType": "address",
1994
+ "type": "address"
1995
+ },
1996
+ {
1997
+ "name": "lockupRate",
1998
+ "internalType": "uint256",
1999
+ "type": "uint256"
2000
+ },
2001
+ {
2002
+ "name": "oldRate",
2003
+ "internalType": "uint256",
2004
+ "type": "uint256"
2005
+ }
2006
+ ],
2007
+ "name": "LockupRateLessThanOldRate"
2008
+ },
2009
+ {
2010
+ "type": "error",
2011
+ "inputs": [],
2012
+ "name": "MissingServiceFeeRecipient"
2013
+ },
2014
+ {
2015
+ "type": "error",
2016
+ "inputs": [
2017
+ {
2018
+ "name": "required",
2019
+ "internalType": "uint256",
2020
+ "type": "uint256"
2021
+ },
2022
+ {
2023
+ "name": "sent",
2024
+ "internalType": "uint256",
2025
+ "type": "uint256"
2026
+ }
2027
+ ],
2028
+ "name": "MustSendExactNativeAmount"
2029
+ },
2030
+ {
2031
+ "type": "error",
2032
+ "inputs": [
2033
+ {
2034
+ "name": "sent",
2035
+ "internalType": "uint256",
2036
+ "type": "uint256"
2037
+ }
2038
+ ],
2039
+ "name": "NativeTokenNotAccepted"
2040
+ },
2041
+ {
2042
+ "type": "error",
2043
+ "inputs": [],
2044
+ "name": "NativeTokenNotSupported"
2045
+ },
2046
+ {
2047
+ "type": "error",
2048
+ "inputs": [
2049
+ {
2050
+ "name": "to",
2051
+ "internalType": "address",
2052
+ "type": "address"
2053
+ },
2054
+ {
2055
+ "name": "amount",
2056
+ "internalType": "uint256",
2057
+ "type": "uint256"
2058
+ }
2059
+ ],
2060
+ "name": "NativeTransferFailed"
2061
+ },
2062
+ {
2063
+ "type": "error",
2064
+ "inputs": [
2065
+ {
2066
+ "name": "railId",
2067
+ "internalType": "uint256",
2068
+ "type": "uint256"
2069
+ },
2070
+ {
2071
+ "name": "expectedSettledUpTo",
2072
+ "internalType": "uint256",
2073
+ "type": "uint256"
2074
+ },
2075
+ {
2076
+ "name": "actualSettledUpTo",
2077
+ "internalType": "uint256",
2078
+ "type": "uint256"
2079
+ }
2080
+ ],
2081
+ "name": "NoProgressInSettlement"
2082
+ },
2083
+ {
2084
+ "type": "error",
2085
+ "inputs": [
2086
+ {
2087
+ "name": "railId",
2088
+ "internalType": "uint256",
2089
+ "type": "uint256"
2090
+ },
2091
+ {
2092
+ "name": "allowedClient",
2093
+ "internalType": "address",
2094
+ "type": "address"
2095
+ },
2096
+ {
2097
+ "name": "allowedOperator",
2098
+ "internalType": "address",
2099
+ "type": "address"
2100
+ },
2101
+ {
2102
+ "name": "caller",
2103
+ "internalType": "address",
2104
+ "type": "address"
2105
+ }
2106
+ ],
2107
+ "name": "NotAuthorizedToTerminateRail"
2108
+ },
2109
+ {
2110
+ "type": "error",
2111
+ "inputs": [
2112
+ {
2113
+ "name": "railId",
2114
+ "internalType": "uint256",
2115
+ "type": "uint256"
2116
+ },
2117
+ {
2118
+ "name": "available",
2119
+ "internalType": "uint256",
2120
+ "type": "uint256"
2121
+ },
2122
+ {
2123
+ "name": "required",
2124
+ "internalType": "uint256",
2125
+ "type": "uint256"
2126
+ }
2127
+ ],
2128
+ "name": "OneTimePaymentExceedsLockup"
2129
+ },
2130
+ {
2131
+ "type": "error",
2132
+ "inputs": [
2133
+ {
2134
+ "name": "expected",
2135
+ "internalType": "address",
2136
+ "type": "address"
2137
+ },
2138
+ {
2139
+ "name": "caller",
2140
+ "internalType": "address",
2141
+ "type": "address"
2142
+ }
2143
+ ],
2144
+ "name": "OnlyRailClientAllowed"
2145
+ },
2146
+ {
2147
+ "type": "error",
2148
+ "inputs": [
2149
+ {
2150
+ "name": "expected",
2151
+ "internalType": "address",
2152
+ "type": "address"
2153
+ },
2154
+ {
2155
+ "name": "caller",
2156
+ "internalType": "address",
2157
+ "type": "address"
2158
+ }
2159
+ ],
2160
+ "name": "OnlyRailOperatorAllowed"
2161
+ },
2162
+ {
2163
+ "type": "error",
2164
+ "inputs": [
2165
+ {
2166
+ "name": "allowed",
2167
+ "internalType": "uint256",
2168
+ "type": "uint256"
2169
+ },
2170
+ {
2171
+ "name": "attemptedUsage",
2172
+ "internalType": "uint256",
2173
+ "type": "uint256"
2174
+ }
2175
+ ],
2176
+ "name": "OperatorLockupAllowanceExceeded"
2177
+ },
2178
+ {
2179
+ "type": "error",
2180
+ "inputs": [
2181
+ {
2182
+ "name": "from",
2183
+ "internalType": "address",
2184
+ "type": "address"
2185
+ },
2186
+ {
2187
+ "name": "operator",
2188
+ "internalType": "address",
2189
+ "type": "address"
2190
+ }
2191
+ ],
2192
+ "name": "OperatorNotApproved"
2193
+ },
2194
+ {
2195
+ "type": "error",
2196
+ "inputs": [
2197
+ {
2198
+ "name": "allowed",
2199
+ "internalType": "uint256",
2200
+ "type": "uint256"
2201
+ },
2202
+ {
2203
+ "name": "attemptedUsage",
2204
+ "internalType": "uint256",
2205
+ "type": "uint256"
2206
+ }
2207
+ ],
2208
+ "name": "OperatorRateAllowanceExceeded"
2209
+ },
2210
+ {
2211
+ "type": "error",
2212
+ "inputs": [
2213
+ {
2214
+ "name": "x",
2215
+ "internalType": "uint256",
2216
+ "type": "uint256"
2217
+ },
2218
+ {
2219
+ "name": "y",
2220
+ "internalType": "uint256",
2221
+ "type": "uint256"
2222
+ },
2223
+ {
2224
+ "name": "denominator",
2225
+ "internalType": "uint256",
2226
+ "type": "uint256"
2227
+ }
2228
+ ],
2229
+ "name": "PRBMath_MulDiv_Overflow"
2230
+ },
2231
+ {
2232
+ "type": "error",
2233
+ "inputs": [
2234
+ {
2235
+ "name": "x",
2236
+ "internalType": "UD60x18",
2237
+ "type": "uint256"
2238
+ }
2239
+ ],
2240
+ "name": "PRBMath_UD60x18_Exp2_InputTooBig"
2241
+ },
2242
+ {
2243
+ "type": "error",
2244
+ "inputs": [
2245
+ {
2246
+ "name": "railId",
2247
+ "internalType": "uint256",
2248
+ "type": "uint256"
2249
+ }
2250
+ ],
2251
+ "name": "RailAlreadyTerminated"
2252
+ },
2253
+ {
2254
+ "type": "error",
2255
+ "inputs": [
2256
+ {
2257
+ "name": "railId",
2258
+ "internalType": "uint256",
2259
+ "type": "uint256"
2260
+ }
2261
+ ],
2262
+ "name": "RailInactiveOrSettled"
2263
+ },
2264
+ {
2265
+ "type": "error",
2266
+ "inputs": [
2267
+ {
2268
+ "name": "railId",
2269
+ "internalType": "uint256",
2270
+ "type": "uint256"
2271
+ }
2272
+ ],
2273
+ "name": "RailNotTerminated"
2274
+ },
2275
+ {
2276
+ "type": "error",
2277
+ "inputs": [
2278
+ {
2279
+ "name": "railId",
2280
+ "internalType": "uint256",
2281
+ "type": "uint256"
2282
+ }
2283
+ ],
2284
+ "name": "RateChangeNotAllowedOnTerminatedRail"
2285
+ },
2286
+ {
2287
+ "type": "error",
2288
+ "inputs": [
2289
+ {
2290
+ "name": "nextUntilEpoch",
2291
+ "internalType": "uint256",
2292
+ "type": "uint256"
2293
+ }
2294
+ ],
2295
+ "name": "RateChangeQueueNotEmpty"
2296
+ },
2297
+ {
2298
+ "type": "error",
2299
+ "inputs": [],
2300
+ "name": "ReentrancyGuardReentrantCall"
2301
+ },
2302
+ {
2303
+ "type": "error",
2304
+ "inputs": [
2305
+ {
2306
+ "name": "token",
2307
+ "internalType": "address",
2308
+ "type": "address"
2309
+ }
2310
+ ],
2311
+ "name": "SafeERC20FailedOperation"
2312
+ },
2313
+ {
2314
+ "type": "error",
2315
+ "inputs": [
2316
+ {
2317
+ "name": "expected",
2318
+ "internalType": "address",
2319
+ "type": "address"
2320
+ },
2321
+ {
2322
+ "name": "actual",
2323
+ "internalType": "address",
2324
+ "type": "address"
2325
+ }
2326
+ ],
2327
+ "name": "SignerMustBeMsgSender"
2328
+ },
2329
+ {
2330
+ "type": "error",
2331
+ "inputs": [
2332
+ {
2333
+ "name": "railId",
2334
+ "internalType": "uint256",
2335
+ "type": "uint256"
2336
+ },
2337
+ {
2338
+ "name": "maxAllowed",
2339
+ "internalType": "uint256",
2340
+ "type": "uint256"
2341
+ },
2342
+ {
2343
+ "name": "attempted",
2344
+ "internalType": "uint256",
2345
+ "type": "uint256"
2346
+ }
2347
+ ],
2348
+ "name": "ValidatorModifiedAmountExceedsMaximum"
2349
+ },
2350
+ {
2351
+ "type": "error",
2352
+ "inputs": [
2353
+ {
2354
+ "name": "railId",
2355
+ "internalType": "uint256",
2356
+ "type": "uint256"
2357
+ },
2358
+ {
2359
+ "name": "allowedStart",
2360
+ "internalType": "uint256",
2361
+ "type": "uint256"
2362
+ },
2363
+ {
2364
+ "name": "attemptedStart",
2365
+ "internalType": "uint256",
2366
+ "type": "uint256"
2367
+ }
2368
+ ],
2369
+ "name": "ValidatorSettledBeforeSegmentStart"
2370
+ },
2371
+ {
2372
+ "type": "error",
2373
+ "inputs": [
2374
+ {
2375
+ "name": "railId",
2376
+ "internalType": "uint256",
2377
+ "type": "uint256"
2378
+ },
2379
+ {
2380
+ "name": "allowedEnd",
2381
+ "internalType": "uint256",
2382
+ "type": "uint256"
2383
+ },
2384
+ {
2385
+ "name": "attemptedEnd",
2386
+ "internalType": "uint256",
2387
+ "type": "uint256"
2388
+ }
2389
+ ],
2390
+ "name": "ValidatorSettledBeyondSegmentEnd"
2391
+ },
2392
+ {
2393
+ "type": "error",
2394
+ "inputs": [
2395
+ {
2396
+ "name": "token",
2397
+ "internalType": "contract IERC20",
2398
+ "type": "address"
2399
+ },
2400
+ {
2401
+ "name": "available",
2402
+ "internalType": "uint256",
2403
+ "type": "uint256"
2404
+ },
2405
+ {
2406
+ "name": "requested",
2407
+ "internalType": "uint256",
2408
+ "type": "uint256"
2409
+ }
2410
+ ],
2411
+ "name": "WithdrawAmountExceedsAccumulatedFees"
2412
+ },
2413
+ {
2414
+ "type": "error",
2415
+ "inputs": [
2416
+ {
2417
+ "name": "varName",
2418
+ "internalType": "string",
2419
+ "type": "string"
2420
+ }
2421
+ ],
2422
+ "name": "ZeroAddressNotAllowed"
2423
+ }
2424
+ ]