@hanamesh/api-contracts 0.0.0-stage → 0.22.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.
@@ -0,0 +1,3601 @@
1
+ {
2
+ "contract": "BatchVestingDistributorQuoteV2",
3
+ "version": "release-quote-v2",
4
+ "abi": [
5
+ {
6
+ "type": "constructor",
7
+ "inputs": [
8
+ {
9
+ "name": "signer_",
10
+ "type": "address",
11
+ "internalType": "address"
12
+ },
13
+ {
14
+ "name": "treasury_",
15
+ "type": "address",
16
+ "internalType": "address"
17
+ },
18
+ {
19
+ "name": "factory_",
20
+ "type": "address",
21
+ "internalType": "address"
22
+ },
23
+ {
24
+ "name": "mode_",
25
+ "type": "uint8",
26
+ "internalType": "enum BatchVestingDistributorQuoteV2.PenaltyMode"
27
+ }
28
+ ],
29
+ "stateMutability": "nonpayable"
30
+ },
31
+ {
32
+ "type": "function",
33
+ "name": "REGISTRATION_WINDOW",
34
+ "inputs": [],
35
+ "outputs": [
36
+ {
37
+ "name": "",
38
+ "type": "uint256",
39
+ "internalType": "uint256"
40
+ }
41
+ ],
42
+ "stateMutability": "view"
43
+ },
44
+ {
45
+ "type": "function",
46
+ "name": "VESTING_DAYS",
47
+ "inputs": [],
48
+ "outputs": [
49
+ {
50
+ "name": "",
51
+ "type": "uint256",
52
+ "internalType": "uint256"
53
+ }
54
+ ],
55
+ "stateMutability": "view"
56
+ },
57
+ {
58
+ "type": "function",
59
+ "name": "advanceEpoch",
60
+ "inputs": [
61
+ {
62
+ "name": "newEpoch",
63
+ "type": "uint256",
64
+ "internalType": "uint256"
65
+ },
66
+ {
67
+ "name": "nonce",
68
+ "type": "uint256",
69
+ "internalType": "uint256"
70
+ },
71
+ {
72
+ "name": "deadline",
73
+ "type": "uint256",
74
+ "internalType": "uint256"
75
+ },
76
+ {
77
+ "name": "signature",
78
+ "type": "bytes",
79
+ "internalType": "bytes"
80
+ }
81
+ ],
82
+ "outputs": [],
83
+ "stateMutability": "nonpayable"
84
+ },
85
+ {
86
+ "type": "function",
87
+ "name": "audit",
88
+ "inputs": [
89
+ {
90
+ "name": "",
91
+ "type": "bytes32",
92
+ "internalType": "bytes32"
93
+ },
94
+ {
95
+ "name": "",
96
+ "type": "bytes32",
97
+ "internalType": "bytes32"
98
+ }
99
+ ],
100
+ "outputs": [
101
+ {
102
+ "name": "entitlementId",
103
+ "type": "bytes32",
104
+ "internalType": "bytes32"
105
+ },
106
+ {
107
+ "name": "kind",
108
+ "type": "uint8",
109
+ "internalType": "uint8"
110
+ },
111
+ {
112
+ "name": "amount",
113
+ "type": "uint256",
114
+ "internalType": "uint256"
115
+ },
116
+ {
117
+ "name": "capBefore",
118
+ "type": "uint256",
119
+ "internalType": "uint256"
120
+ },
121
+ {
122
+ "name": "capAfter",
123
+ "type": "uint256",
124
+ "internalType": "uint256"
125
+ },
126
+ {
127
+ "name": "version",
128
+ "type": "uint256",
129
+ "internalType": "uint256"
130
+ },
131
+ {
132
+ "name": "at",
133
+ "type": "uint256",
134
+ "internalType": "uint256"
135
+ }
136
+ ],
137
+ "stateMutability": "view"
138
+ },
139
+ {
140
+ "type": "function",
141
+ "name": "campaignBudgetOf",
142
+ "inputs": [
143
+ {
144
+ "name": "",
145
+ "type": "address",
146
+ "internalType": "address"
147
+ }
148
+ ],
149
+ "outputs": [
150
+ {
151
+ "name": "",
152
+ "type": "uint256",
153
+ "internalType": "uint256"
154
+ }
155
+ ],
156
+ "stateMutability": "view"
157
+ },
158
+ {
159
+ "type": "function",
160
+ "name": "campaignState",
161
+ "inputs": [
162
+ {
163
+ "name": "id",
164
+ "type": "bytes32",
165
+ "internalType": "bytes32"
166
+ }
167
+ ],
168
+ "outputs": [
169
+ {
170
+ "name": "",
171
+ "type": "tuple",
172
+ "internalType": "struct BatchVestingDistributorQuoteV2.Campaign",
173
+ "components": [
174
+ {
175
+ "name": "token",
176
+ "type": "address",
177
+ "internalType": "address"
178
+ },
179
+ {
180
+ "name": "bond",
181
+ "type": "address",
182
+ "internalType": "address"
183
+ },
184
+ {
185
+ "name": "rightsRoot",
186
+ "type": "bytes32",
187
+ "internalType": "bytes32"
188
+ },
189
+ {
190
+ "name": "budget",
191
+ "type": "uint256",
192
+ "internalType": "uint256"
193
+ },
194
+ {
195
+ "name": "releaseStartedAt",
196
+ "type": "uint256",
197
+ "internalType": "uint256"
198
+ },
199
+ {
200
+ "name": "openedAt",
201
+ "type": "uint256",
202
+ "internalType": "uint256"
203
+ },
204
+ {
205
+ "name": "registrationDeadline",
206
+ "type": "uint256",
207
+ "internalType": "uint256"
208
+ },
209
+ {
210
+ "name": "allocated",
211
+ "type": "uint256",
212
+ "internalType": "uint256"
213
+ },
214
+ {
215
+ "name": "funded",
216
+ "type": "bool",
217
+ "internalType": "bool"
218
+ }
219
+ ]
220
+ }
221
+ ],
222
+ "stateMutability": "view"
223
+ },
224
+ {
225
+ "type": "function",
226
+ "name": "canonicalBondFactory",
227
+ "inputs": [],
228
+ "outputs": [
229
+ {
230
+ "name": "",
231
+ "type": "address",
232
+ "internalType": "contract IQuoteV2BondFactory"
233
+ }
234
+ ],
235
+ "stateMutability": "view"
236
+ },
237
+ {
238
+ "type": "function",
239
+ "name": "claim",
240
+ "inputs": [
241
+ {
242
+ "name": "id",
243
+ "type": "bytes32",
244
+ "internalType": "bytes32"
245
+ },
246
+ {
247
+ "name": "rightId",
248
+ "type": "bytes32",
249
+ "internalType": "bytes32"
250
+ }
251
+ ],
252
+ "outputs": [],
253
+ "stateMutability": "nonpayable"
254
+ },
255
+ {
256
+ "type": "function",
257
+ "name": "claimable",
258
+ "inputs": [
259
+ {
260
+ "name": "id",
261
+ "type": "bytes32",
262
+ "internalType": "bytes32"
263
+ },
264
+ {
265
+ "name": "rightId",
266
+ "type": "bytes32",
267
+ "internalType": "bytes32"
268
+ }
269
+ ],
270
+ "outputs": [
271
+ {
272
+ "name": "",
273
+ "type": "uint256",
274
+ "internalType": "uint256"
275
+ }
276
+ ],
277
+ "stateMutability": "view"
278
+ },
279
+ {
280
+ "type": "function",
281
+ "name": "createCampaign",
282
+ "inputs": [
283
+ {
284
+ "name": "p",
285
+ "type": "tuple",
286
+ "internalType": "struct BatchVestingDistributorQuoteV2.CampaignParams",
287
+ "components": [
288
+ {
289
+ "name": "campaignId",
290
+ "type": "bytes32",
291
+ "internalType": "bytes32"
292
+ },
293
+ {
294
+ "name": "token",
295
+ "type": "address",
296
+ "internalType": "address"
297
+ },
298
+ {
299
+ "name": "bond",
300
+ "type": "address",
301
+ "internalType": "address"
302
+ },
303
+ {
304
+ "name": "rightsRoot",
305
+ "type": "bytes32",
306
+ "internalType": "bytes32"
307
+ },
308
+ {
309
+ "name": "budget",
310
+ "type": "uint256",
311
+ "internalType": "uint256"
312
+ }
313
+ ]
314
+ },
315
+ {
316
+ "name": "nonce",
317
+ "type": "uint256",
318
+ "internalType": "uint256"
319
+ },
320
+ {
321
+ "name": "deadline",
322
+ "type": "uint256",
323
+ "internalType": "uint256"
324
+ },
325
+ {
326
+ "name": "signature",
327
+ "type": "bytes",
328
+ "internalType": "bytes"
329
+ }
330
+ ],
331
+ "outputs": [],
332
+ "stateMutability": "nonpayable"
333
+ },
334
+ {
335
+ "type": "function",
336
+ "name": "eip712Domain",
337
+ "inputs": [],
338
+ "outputs": [
339
+ {
340
+ "name": "fields",
341
+ "type": "bytes1",
342
+ "internalType": "bytes1"
343
+ },
344
+ {
345
+ "name": "name",
346
+ "type": "string",
347
+ "internalType": "string"
348
+ },
349
+ {
350
+ "name": "version",
351
+ "type": "string",
352
+ "internalType": "string"
353
+ },
354
+ {
355
+ "name": "chainId",
356
+ "type": "uint256",
357
+ "internalType": "uint256"
358
+ },
359
+ {
360
+ "name": "verifyingContract",
361
+ "type": "address",
362
+ "internalType": "address"
363
+ },
364
+ {
365
+ "name": "salt",
366
+ "type": "bytes32",
367
+ "internalType": "bytes32"
368
+ },
369
+ {
370
+ "name": "extensions",
371
+ "type": "uint256[]",
372
+ "internalType": "uint256[]"
373
+ }
374
+ ],
375
+ "stateMutability": "view"
376
+ },
377
+ {
378
+ "type": "function",
379
+ "name": "emptyAllocationOf",
380
+ "inputs": [
381
+ {
382
+ "name": "",
383
+ "type": "address",
384
+ "internalType": "address"
385
+ }
386
+ ],
387
+ "outputs": [
388
+ {
389
+ "name": "",
390
+ "type": "uint256",
391
+ "internalType": "uint256"
392
+ }
393
+ ],
394
+ "stateMutability": "view"
395
+ },
396
+ {
397
+ "type": "function",
398
+ "name": "epoch",
399
+ "inputs": [],
400
+ "outputs": [
401
+ {
402
+ "name": "",
403
+ "type": "uint256",
404
+ "internalType": "uint256"
405
+ }
406
+ ],
407
+ "stateMutability": "view"
408
+ },
409
+ {
410
+ "type": "function",
411
+ "name": "freeBalance",
412
+ "inputs": [
413
+ {
414
+ "name": "token",
415
+ "type": "address",
416
+ "internalType": "address"
417
+ }
418
+ ],
419
+ "outputs": [
420
+ {
421
+ "name": "",
422
+ "type": "uint256",
423
+ "internalType": "uint256"
424
+ }
425
+ ],
426
+ "stateMutability": "view"
427
+ },
428
+ {
429
+ "type": "function",
430
+ "name": "fundCampaign",
431
+ "inputs": [
432
+ {
433
+ "name": "id",
434
+ "type": "bytes32",
435
+ "internalType": "bytes32"
436
+ }
437
+ ],
438
+ "outputs": [],
439
+ "stateMutability": "nonpayable"
440
+ },
441
+ {
442
+ "type": "function",
443
+ "name": "fundCampaignFrom",
444
+ "inputs": [
445
+ {
446
+ "name": "id",
447
+ "type": "bytes32",
448
+ "internalType": "bytes32"
449
+ },
450
+ {
451
+ "name": "amount",
452
+ "type": "uint256",
453
+ "internalType": "uint256"
454
+ }
455
+ ],
456
+ "outputs": [],
457
+ "stateMutability": "nonpayable"
458
+ },
459
+ {
460
+ "type": "function",
461
+ "name": "hashAdvanceEpoch",
462
+ "inputs": [
463
+ {
464
+ "name": "newEpoch",
465
+ "type": "uint256",
466
+ "internalType": "uint256"
467
+ },
468
+ {
469
+ "name": "nonce",
470
+ "type": "uint256",
471
+ "internalType": "uint256"
472
+ },
473
+ {
474
+ "name": "deadline",
475
+ "type": "uint256",
476
+ "internalType": "uint256"
477
+ }
478
+ ],
479
+ "outputs": [
480
+ {
481
+ "name": "",
482
+ "type": "bytes32",
483
+ "internalType": "bytes32"
484
+ }
485
+ ],
486
+ "stateMutability": "view"
487
+ },
488
+ {
489
+ "type": "function",
490
+ "name": "hashAuthorization",
491
+ "inputs": [
492
+ {
493
+ "name": "kind",
494
+ "type": "uint8",
495
+ "internalType": "uint8"
496
+ },
497
+ {
498
+ "name": "a",
499
+ "type": "tuple",
500
+ "internalType": "struct BatchVestingDistributorQuoteV2.Authorization",
501
+ "components": [
502
+ {
503
+ "name": "campaignId",
504
+ "type": "bytes32",
505
+ "internalType": "bytes32"
506
+ },
507
+ {
508
+ "name": "entitlementId",
509
+ "type": "bytes32",
510
+ "internalType": "bytes32"
511
+ },
512
+ {
513
+ "name": "committedAccount",
514
+ "type": "address",
515
+ "internalType": "address"
516
+ },
517
+ {
518
+ "name": "account",
519
+ "type": "address",
520
+ "internalType": "address"
521
+ },
522
+ {
523
+ "name": "total",
524
+ "type": "uint256",
525
+ "internalType": "uint256"
526
+ },
527
+ {
528
+ "name": "amount",
529
+ "type": "uint256",
530
+ "internalType": "uint256"
531
+ },
532
+ {
533
+ "name": "caseId",
534
+ "type": "bytes32",
535
+ "internalType": "bytes32"
536
+ },
537
+ {
538
+ "name": "epoch",
539
+ "type": "uint256",
540
+ "internalType": "uint256"
541
+ },
542
+ {
543
+ "name": "version",
544
+ "type": "uint256",
545
+ "internalType": "uint256"
546
+ },
547
+ {
548
+ "name": "nonce",
549
+ "type": "uint256",
550
+ "internalType": "uint256"
551
+ },
552
+ {
553
+ "name": "deadline",
554
+ "type": "uint256",
555
+ "internalType": "uint256"
556
+ }
557
+ ]
558
+ }
559
+ ],
560
+ "outputs": [
561
+ {
562
+ "name": "",
563
+ "type": "bytes32",
564
+ "internalType": "bytes32"
565
+ }
566
+ ],
567
+ "stateMutability": "view"
568
+ },
569
+ {
570
+ "type": "function",
571
+ "name": "hashCreate",
572
+ "inputs": [
573
+ {
574
+ "name": "p",
575
+ "type": "tuple",
576
+ "internalType": "struct BatchVestingDistributorQuoteV2.CampaignParams",
577
+ "components": [
578
+ {
579
+ "name": "campaignId",
580
+ "type": "bytes32",
581
+ "internalType": "bytes32"
582
+ },
583
+ {
584
+ "name": "token",
585
+ "type": "address",
586
+ "internalType": "address"
587
+ },
588
+ {
589
+ "name": "bond",
590
+ "type": "address",
591
+ "internalType": "address"
592
+ },
593
+ {
594
+ "name": "rightsRoot",
595
+ "type": "bytes32",
596
+ "internalType": "bytes32"
597
+ },
598
+ {
599
+ "name": "budget",
600
+ "type": "uint256",
601
+ "internalType": "uint256"
602
+ }
603
+ ]
604
+ },
605
+ {
606
+ "name": "nonce",
607
+ "type": "uint256",
608
+ "internalType": "uint256"
609
+ },
610
+ {
611
+ "name": "deadline",
612
+ "type": "uint256",
613
+ "internalType": "uint256"
614
+ }
615
+ ],
616
+ "outputs": [
617
+ {
618
+ "name": "",
619
+ "type": "bytes32",
620
+ "internalType": "bytes32"
621
+ }
622
+ ],
623
+ "stateMutability": "view"
624
+ },
625
+ {
626
+ "type": "function",
627
+ "name": "hashEmptyAllocation",
628
+ "inputs": [
629
+ {
630
+ "name": "token",
631
+ "type": "address",
632
+ "internalType": "address"
633
+ },
634
+ {
635
+ "name": "bond",
636
+ "type": "address",
637
+ "internalType": "address"
638
+ },
639
+ {
640
+ "name": "authorizationHash",
641
+ "type": "bytes32",
642
+ "internalType": "bytes32"
643
+ },
644
+ {
645
+ "name": "nonce",
646
+ "type": "uint256",
647
+ "internalType": "uint256"
648
+ },
649
+ {
650
+ "name": "deadline",
651
+ "type": "uint256",
652
+ "internalType": "uint256"
653
+ }
654
+ ],
655
+ "outputs": [
656
+ {
657
+ "name": "",
658
+ "type": "bytes32",
659
+ "internalType": "bytes32"
660
+ }
661
+ ],
662
+ "stateMutability": "view"
663
+ },
664
+ {
665
+ "type": "function",
666
+ "name": "hashOpen",
667
+ "inputs": [
668
+ {
669
+ "name": "id",
670
+ "type": "bytes32",
671
+ "internalType": "bytes32"
672
+ },
673
+ {
674
+ "name": "nonce",
675
+ "type": "uint256",
676
+ "internalType": "uint256"
677
+ },
678
+ {
679
+ "name": "deadline",
680
+ "type": "uint256",
681
+ "internalType": "uint256"
682
+ }
683
+ ],
684
+ "outputs": [
685
+ {
686
+ "name": "",
687
+ "type": "bytes32",
688
+ "internalType": "bytes32"
689
+ }
690
+ ],
691
+ "stateMutability": "view"
692
+ },
693
+ {
694
+ "type": "function",
695
+ "name": "openRegistration",
696
+ "inputs": [
697
+ {
698
+ "name": "id",
699
+ "type": "bytes32",
700
+ "internalType": "bytes32"
701
+ },
702
+ {
703
+ "name": "nonce",
704
+ "type": "uint256",
705
+ "internalType": "uint256"
706
+ },
707
+ {
708
+ "name": "deadline",
709
+ "type": "uint256",
710
+ "internalType": "uint256"
711
+ },
712
+ {
713
+ "name": "signature",
714
+ "type": "bytes",
715
+ "internalType": "bytes"
716
+ }
717
+ ],
718
+ "outputs": [],
719
+ "stateMutability": "nonpayable"
720
+ },
721
+ {
722
+ "type": "function",
723
+ "name": "penalize",
724
+ "inputs": [
725
+ {
726
+ "name": "a",
727
+ "type": "tuple",
728
+ "internalType": "struct BatchVestingDistributorQuoteV2.Authorization",
729
+ "components": [
730
+ {
731
+ "name": "campaignId",
732
+ "type": "bytes32",
733
+ "internalType": "bytes32"
734
+ },
735
+ {
736
+ "name": "entitlementId",
737
+ "type": "bytes32",
738
+ "internalType": "bytes32"
739
+ },
740
+ {
741
+ "name": "committedAccount",
742
+ "type": "address",
743
+ "internalType": "address"
744
+ },
745
+ {
746
+ "name": "account",
747
+ "type": "address",
748
+ "internalType": "address"
749
+ },
750
+ {
751
+ "name": "total",
752
+ "type": "uint256",
753
+ "internalType": "uint256"
754
+ },
755
+ {
756
+ "name": "amount",
757
+ "type": "uint256",
758
+ "internalType": "uint256"
759
+ },
760
+ {
761
+ "name": "caseId",
762
+ "type": "bytes32",
763
+ "internalType": "bytes32"
764
+ },
765
+ {
766
+ "name": "epoch",
767
+ "type": "uint256",
768
+ "internalType": "uint256"
769
+ },
770
+ {
771
+ "name": "version",
772
+ "type": "uint256",
773
+ "internalType": "uint256"
774
+ },
775
+ {
776
+ "name": "nonce",
777
+ "type": "uint256",
778
+ "internalType": "uint256"
779
+ },
780
+ {
781
+ "name": "deadline",
782
+ "type": "uint256",
783
+ "internalType": "uint256"
784
+ }
785
+ ]
786
+ },
787
+ {
788
+ "name": "proof",
789
+ "type": "bytes32[]",
790
+ "internalType": "bytes32[]"
791
+ },
792
+ {
793
+ "name": "signature",
794
+ "type": "bytes",
795
+ "internalType": "bytes"
796
+ }
797
+ ],
798
+ "outputs": [],
799
+ "stateMutability": "nonpayable"
800
+ },
801
+ {
802
+ "type": "function",
803
+ "name": "penaltyMode",
804
+ "inputs": [],
805
+ "outputs": [
806
+ {
807
+ "name": "",
808
+ "type": "uint8",
809
+ "internalType": "enum BatchVestingDistributorQuoteV2.PenaltyMode"
810
+ }
811
+ ],
812
+ "stateMutability": "view"
813
+ },
814
+ {
815
+ "type": "function",
816
+ "name": "register",
817
+ "inputs": [
818
+ {
819
+ "name": "a",
820
+ "type": "tuple",
821
+ "internalType": "struct BatchVestingDistributorQuoteV2.Authorization",
822
+ "components": [
823
+ {
824
+ "name": "campaignId",
825
+ "type": "bytes32",
826
+ "internalType": "bytes32"
827
+ },
828
+ {
829
+ "name": "entitlementId",
830
+ "type": "bytes32",
831
+ "internalType": "bytes32"
832
+ },
833
+ {
834
+ "name": "committedAccount",
835
+ "type": "address",
836
+ "internalType": "address"
837
+ },
838
+ {
839
+ "name": "account",
840
+ "type": "address",
841
+ "internalType": "address"
842
+ },
843
+ {
844
+ "name": "total",
845
+ "type": "uint256",
846
+ "internalType": "uint256"
847
+ },
848
+ {
849
+ "name": "amount",
850
+ "type": "uint256",
851
+ "internalType": "uint256"
852
+ },
853
+ {
854
+ "name": "caseId",
855
+ "type": "bytes32",
856
+ "internalType": "bytes32"
857
+ },
858
+ {
859
+ "name": "epoch",
860
+ "type": "uint256",
861
+ "internalType": "uint256"
862
+ },
863
+ {
864
+ "name": "version",
865
+ "type": "uint256",
866
+ "internalType": "uint256"
867
+ },
868
+ {
869
+ "name": "nonce",
870
+ "type": "uint256",
871
+ "internalType": "uint256"
872
+ },
873
+ {
874
+ "name": "deadline",
875
+ "type": "uint256",
876
+ "internalType": "uint256"
877
+ }
878
+ ]
879
+ },
880
+ {
881
+ "name": "proof",
882
+ "type": "bytes32[]",
883
+ "internalType": "bytes32[]"
884
+ },
885
+ {
886
+ "name": "signature",
887
+ "type": "bytes",
888
+ "internalType": "bytes"
889
+ }
890
+ ],
891
+ "outputs": [],
892
+ "stateMutability": "nonpayable"
893
+ },
894
+ {
895
+ "type": "function",
896
+ "name": "reserved",
897
+ "inputs": [
898
+ {
899
+ "name": "",
900
+ "type": "address",
901
+ "internalType": "address"
902
+ }
903
+ ],
904
+ "outputs": [
905
+ {
906
+ "name": "",
907
+ "type": "uint256",
908
+ "internalType": "uint256"
909
+ }
910
+ ],
911
+ "stateMutability": "view"
912
+ },
913
+ {
914
+ "type": "function",
915
+ "name": "restore",
916
+ "inputs": [
917
+ {
918
+ "name": "a",
919
+ "type": "tuple",
920
+ "internalType": "struct BatchVestingDistributorQuoteV2.Authorization",
921
+ "components": [
922
+ {
923
+ "name": "campaignId",
924
+ "type": "bytes32",
925
+ "internalType": "bytes32"
926
+ },
927
+ {
928
+ "name": "entitlementId",
929
+ "type": "bytes32",
930
+ "internalType": "bytes32"
931
+ },
932
+ {
933
+ "name": "committedAccount",
934
+ "type": "address",
935
+ "internalType": "address"
936
+ },
937
+ {
938
+ "name": "account",
939
+ "type": "address",
940
+ "internalType": "address"
941
+ },
942
+ {
943
+ "name": "total",
944
+ "type": "uint256",
945
+ "internalType": "uint256"
946
+ },
947
+ {
948
+ "name": "amount",
949
+ "type": "uint256",
950
+ "internalType": "uint256"
951
+ },
952
+ {
953
+ "name": "caseId",
954
+ "type": "bytes32",
955
+ "internalType": "bytes32"
956
+ },
957
+ {
958
+ "name": "epoch",
959
+ "type": "uint256",
960
+ "internalType": "uint256"
961
+ },
962
+ {
963
+ "name": "version",
964
+ "type": "uint256",
965
+ "internalType": "uint256"
966
+ },
967
+ {
968
+ "name": "nonce",
969
+ "type": "uint256",
970
+ "internalType": "uint256"
971
+ },
972
+ {
973
+ "name": "deadline",
974
+ "type": "uint256",
975
+ "internalType": "uint256"
976
+ }
977
+ ]
978
+ },
979
+ {
980
+ "name": "proof",
981
+ "type": "bytes32[]",
982
+ "internalType": "bytes32[]"
983
+ },
984
+ {
985
+ "name": "signature",
986
+ "type": "bytes",
987
+ "internalType": "bytes"
988
+ }
989
+ ],
990
+ "outputs": [],
991
+ "stateMutability": "nonpayable"
992
+ },
993
+ {
994
+ "type": "function",
995
+ "name": "rightState",
996
+ "inputs": [
997
+ {
998
+ "name": "id",
999
+ "type": "bytes32",
1000
+ "internalType": "bytes32"
1001
+ },
1002
+ {
1003
+ "name": "rightId",
1004
+ "type": "bytes32",
1005
+ "internalType": "bytes32"
1006
+ }
1007
+ ],
1008
+ "outputs": [
1009
+ {
1010
+ "name": "",
1011
+ "type": "tuple",
1012
+ "internalType": "struct BatchVestingDistributorQuoteV2.Right",
1013
+ "components": [
1014
+ {
1015
+ "name": "committedAccount",
1016
+ "type": "address",
1017
+ "internalType": "address"
1018
+ },
1019
+ {
1020
+ "name": "account",
1021
+ "type": "address",
1022
+ "internalType": "address"
1023
+ },
1024
+ {
1025
+ "name": "total",
1026
+ "type": "uint256",
1027
+ "internalType": "uint256"
1028
+ },
1029
+ {
1030
+ "name": "cap",
1031
+ "type": "uint256",
1032
+ "internalType": "uint256"
1033
+ },
1034
+ {
1035
+ "name": "claimed",
1036
+ "type": "uint256",
1037
+ "internalType": "uint256"
1038
+ },
1039
+ {
1040
+ "name": "deducted",
1041
+ "type": "uint256",
1042
+ "internalType": "uint256"
1043
+ },
1044
+ {
1045
+ "name": "restored",
1046
+ "type": "uint256",
1047
+ "internalType": "uint256"
1048
+ },
1049
+ {
1050
+ "name": "checkpointVested",
1051
+ "type": "uint256",
1052
+ "internalType": "uint256"
1053
+ },
1054
+ {
1055
+ "name": "checkpointDay",
1056
+ "type": "uint256",
1057
+ "internalType": "uint256"
1058
+ },
1059
+ {
1060
+ "name": "version",
1061
+ "type": "uint256",
1062
+ "internalType": "uint256"
1063
+ },
1064
+ {
1065
+ "name": "registered",
1066
+ "type": "bool",
1067
+ "internalType": "bool"
1068
+ },
1069
+ {
1070
+ "name": "swept",
1071
+ "type": "bool",
1072
+ "internalType": "bool"
1073
+ },
1074
+ {
1075
+ "name": "originalCurve",
1076
+ "type": "bool",
1077
+ "internalType": "bool"
1078
+ }
1079
+ ]
1080
+ }
1081
+ ],
1082
+ "stateMutability": "view"
1083
+ },
1084
+ {
1085
+ "type": "function",
1086
+ "name": "rightsLeaf",
1087
+ "inputs": [
1088
+ {
1089
+ "name": "id",
1090
+ "type": "bytes32",
1091
+ "internalType": "bytes32"
1092
+ },
1093
+ {
1094
+ "name": "committedAccount",
1095
+ "type": "address",
1096
+ "internalType": "address"
1097
+ },
1098
+ {
1099
+ "name": "total",
1100
+ "type": "uint256",
1101
+ "internalType": "uint256"
1102
+ }
1103
+ ],
1104
+ "outputs": [
1105
+ {
1106
+ "name": "",
1107
+ "type": "bytes32",
1108
+ "internalType": "bytes32"
1109
+ }
1110
+ ],
1111
+ "stateMutability": "pure"
1112
+ },
1113
+ {
1114
+ "type": "function",
1115
+ "name": "rootSigner",
1116
+ "inputs": [],
1117
+ "outputs": [
1118
+ {
1119
+ "name": "",
1120
+ "type": "address",
1121
+ "internalType": "address"
1122
+ }
1123
+ ],
1124
+ "stateMutability": "view"
1125
+ },
1126
+ {
1127
+ "type": "function",
1128
+ "name": "settleEmptyAllocation",
1129
+ "inputs": [
1130
+ {
1131
+ "name": "token",
1132
+ "type": "address",
1133
+ "internalType": "address"
1134
+ },
1135
+ {
1136
+ "name": "bond",
1137
+ "type": "address",
1138
+ "internalType": "address"
1139
+ },
1140
+ {
1141
+ "name": "authorizationHash",
1142
+ "type": "bytes32",
1143
+ "internalType": "bytes32"
1144
+ },
1145
+ {
1146
+ "name": "nonce",
1147
+ "type": "uint256",
1148
+ "internalType": "uint256"
1149
+ },
1150
+ {
1151
+ "name": "deadline",
1152
+ "type": "uint256",
1153
+ "internalType": "uint256"
1154
+ },
1155
+ {
1156
+ "name": "signature",
1157
+ "type": "bytes",
1158
+ "internalType": "bytes"
1159
+ }
1160
+ ],
1161
+ "outputs": [],
1162
+ "stateMutability": "nonpayable"
1163
+ },
1164
+ {
1165
+ "type": "function",
1166
+ "name": "sweepUnregistered",
1167
+ "inputs": [
1168
+ {
1169
+ "name": "id",
1170
+ "type": "bytes32",
1171
+ "internalType": "bytes32"
1172
+ },
1173
+ {
1174
+ "name": "rightId",
1175
+ "type": "bytes32",
1176
+ "internalType": "bytes32"
1177
+ },
1178
+ {
1179
+ "name": "committedAccount",
1180
+ "type": "address",
1181
+ "internalType": "address"
1182
+ },
1183
+ {
1184
+ "name": "total",
1185
+ "type": "uint256",
1186
+ "internalType": "uint256"
1187
+ },
1188
+ {
1189
+ "name": "proof",
1190
+ "type": "bytes32[]",
1191
+ "internalType": "bytes32[]"
1192
+ }
1193
+ ],
1194
+ "outputs": [],
1195
+ "stateMutability": "nonpayable"
1196
+ },
1197
+ {
1198
+ "type": "function",
1199
+ "name": "treasury",
1200
+ "inputs": [],
1201
+ "outputs": [
1202
+ {
1203
+ "name": "",
1204
+ "type": "address",
1205
+ "internalType": "address"
1206
+ }
1207
+ ],
1208
+ "stateMutability": "view"
1209
+ },
1210
+ {
1211
+ "type": "function",
1212
+ "name": "usedNonces",
1213
+ "inputs": [
1214
+ {
1215
+ "name": "",
1216
+ "type": "uint256",
1217
+ "internalType": "uint256"
1218
+ },
1219
+ {
1220
+ "name": "",
1221
+ "type": "uint256",
1222
+ "internalType": "uint256"
1223
+ }
1224
+ ],
1225
+ "outputs": [
1226
+ {
1227
+ "name": "",
1228
+ "type": "bool",
1229
+ "internalType": "bool"
1230
+ }
1231
+ ],
1232
+ "stateMutability": "view"
1233
+ },
1234
+ {
1235
+ "type": "function",
1236
+ "name": "vested",
1237
+ "inputs": [
1238
+ {
1239
+ "name": "id",
1240
+ "type": "bytes32",
1241
+ "internalType": "bytes32"
1242
+ },
1243
+ {
1244
+ "name": "rightId",
1245
+ "type": "bytes32",
1246
+ "internalType": "bytes32"
1247
+ }
1248
+ ],
1249
+ "outputs": [
1250
+ {
1251
+ "name": "",
1252
+ "type": "uint256",
1253
+ "internalType": "uint256"
1254
+ }
1255
+ ],
1256
+ "stateMutability": "view"
1257
+ },
1258
+ {
1259
+ "type": "event",
1260
+ "name": "CampaignCreated",
1261
+ "inputs": [
1262
+ {
1263
+ "name": "campaignId",
1264
+ "type": "bytes32",
1265
+ "indexed": true,
1266
+ "internalType": "bytes32"
1267
+ },
1268
+ {
1269
+ "name": "token",
1270
+ "type": "address",
1271
+ "indexed": true,
1272
+ "internalType": "address"
1273
+ },
1274
+ {
1275
+ "name": "bond",
1276
+ "type": "address",
1277
+ "indexed": true,
1278
+ "internalType": "address"
1279
+ },
1280
+ {
1281
+ "name": "rightsRoot",
1282
+ "type": "bytes32",
1283
+ "indexed": false,
1284
+ "internalType": "bytes32"
1285
+ },
1286
+ {
1287
+ "name": "budget",
1288
+ "type": "uint256",
1289
+ "indexed": false,
1290
+ "internalType": "uint256"
1291
+ }
1292
+ ],
1293
+ "anonymous": false
1294
+ },
1295
+ {
1296
+ "type": "event",
1297
+ "name": "CampaignFunded",
1298
+ "inputs": [
1299
+ {
1300
+ "name": "campaignId",
1301
+ "type": "bytes32",
1302
+ "indexed": true,
1303
+ "internalType": "bytes32"
1304
+ },
1305
+ {
1306
+ "name": "budget",
1307
+ "type": "uint256",
1308
+ "indexed": false,
1309
+ "internalType": "uint256"
1310
+ }
1311
+ ],
1312
+ "anonymous": false
1313
+ },
1314
+ {
1315
+ "type": "event",
1316
+ "name": "CaseRecorded",
1317
+ "inputs": [
1318
+ {
1319
+ "name": "campaignId",
1320
+ "type": "bytes32",
1321
+ "indexed": true,
1322
+ "internalType": "bytes32"
1323
+ },
1324
+ {
1325
+ "name": "caseId",
1326
+ "type": "bytes32",
1327
+ "indexed": true,
1328
+ "internalType": "bytes32"
1329
+ },
1330
+ {
1331
+ "name": "entitlementId",
1332
+ "type": "bytes32",
1333
+ "indexed": true,
1334
+ "internalType": "bytes32"
1335
+ },
1336
+ {
1337
+ "name": "kind",
1338
+ "type": "uint8",
1339
+ "indexed": false,
1340
+ "internalType": "uint8"
1341
+ },
1342
+ {
1343
+ "name": "amount",
1344
+ "type": "uint256",
1345
+ "indexed": false,
1346
+ "internalType": "uint256"
1347
+ },
1348
+ {
1349
+ "name": "capBefore",
1350
+ "type": "uint256",
1351
+ "indexed": false,
1352
+ "internalType": "uint256"
1353
+ },
1354
+ {
1355
+ "name": "capAfter",
1356
+ "type": "uint256",
1357
+ "indexed": false,
1358
+ "internalType": "uint256"
1359
+ },
1360
+ {
1361
+ "name": "version",
1362
+ "type": "uint256",
1363
+ "indexed": false,
1364
+ "internalType": "uint256"
1365
+ }
1366
+ ],
1367
+ "anonymous": false
1368
+ },
1369
+ {
1370
+ "type": "event",
1371
+ "name": "Claimed",
1372
+ "inputs": [
1373
+ {
1374
+ "name": "campaignId",
1375
+ "type": "bytes32",
1376
+ "indexed": true,
1377
+ "internalType": "bytes32"
1378
+ },
1379
+ {
1380
+ "name": "entitlementId",
1381
+ "type": "bytes32",
1382
+ "indexed": true,
1383
+ "internalType": "bytes32"
1384
+ },
1385
+ {
1386
+ "name": "account",
1387
+ "type": "address",
1388
+ "indexed": true,
1389
+ "internalType": "address"
1390
+ },
1391
+ {
1392
+ "name": "amount",
1393
+ "type": "uint256",
1394
+ "indexed": false,
1395
+ "internalType": "uint256"
1396
+ },
1397
+ {
1398
+ "name": "cumulative",
1399
+ "type": "uint256",
1400
+ "indexed": false,
1401
+ "internalType": "uint256"
1402
+ }
1403
+ ],
1404
+ "anonymous": false
1405
+ },
1406
+ {
1407
+ "type": "event",
1408
+ "name": "EIP712DomainChanged",
1409
+ "inputs": [],
1410
+ "anonymous": false
1411
+ },
1412
+ {
1413
+ "type": "event",
1414
+ "name": "EmptyAllocationSettled",
1415
+ "inputs": [
1416
+ {
1417
+ "name": "token",
1418
+ "type": "address",
1419
+ "indexed": true,
1420
+ "internalType": "address"
1421
+ },
1422
+ {
1423
+ "name": "bond",
1424
+ "type": "address",
1425
+ "indexed": true,
1426
+ "internalType": "address"
1427
+ },
1428
+ {
1429
+ "name": "amount",
1430
+ "type": "uint256",
1431
+ "indexed": false,
1432
+ "internalType": "uint256"
1433
+ },
1434
+ {
1435
+ "name": "treasury",
1436
+ "type": "address",
1437
+ "indexed": false,
1438
+ "internalType": "address"
1439
+ }
1440
+ ],
1441
+ "anonymous": false
1442
+ },
1443
+ {
1444
+ "type": "event",
1445
+ "name": "EpochAdvanced",
1446
+ "inputs": [
1447
+ {
1448
+ "name": "previousEpoch",
1449
+ "type": "uint256",
1450
+ "indexed": false,
1451
+ "internalType": "uint256"
1452
+ },
1453
+ {
1454
+ "name": "newEpoch",
1455
+ "type": "uint256",
1456
+ "indexed": false,
1457
+ "internalType": "uint256"
1458
+ }
1459
+ ],
1460
+ "anonymous": false
1461
+ },
1462
+ {
1463
+ "type": "event",
1464
+ "name": "Registered",
1465
+ "inputs": [
1466
+ {
1467
+ "name": "campaignId",
1468
+ "type": "bytes32",
1469
+ "indexed": true,
1470
+ "internalType": "bytes32"
1471
+ },
1472
+ {
1473
+ "name": "entitlementId",
1474
+ "type": "bytes32",
1475
+ "indexed": true,
1476
+ "internalType": "bytes32"
1477
+ },
1478
+ {
1479
+ "name": "account",
1480
+ "type": "address",
1481
+ "indexed": true,
1482
+ "internalType": "address"
1483
+ },
1484
+ {
1485
+ "name": "total",
1486
+ "type": "uint256",
1487
+ "indexed": false,
1488
+ "internalType": "uint256"
1489
+ }
1490
+ ],
1491
+ "anonymous": false
1492
+ },
1493
+ {
1494
+ "type": "event",
1495
+ "name": "RegistrationOpened",
1496
+ "inputs": [
1497
+ {
1498
+ "name": "campaignId",
1499
+ "type": "bytes32",
1500
+ "indexed": true,
1501
+ "internalType": "bytes32"
1502
+ },
1503
+ {
1504
+ "name": "releaseStartedAt",
1505
+ "type": "uint256",
1506
+ "indexed": false,
1507
+ "internalType": "uint256"
1508
+ },
1509
+ {
1510
+ "name": "openedAt",
1511
+ "type": "uint256",
1512
+ "indexed": false,
1513
+ "internalType": "uint256"
1514
+ },
1515
+ {
1516
+ "name": "deadline",
1517
+ "type": "uint256",
1518
+ "indexed": false,
1519
+ "internalType": "uint256"
1520
+ }
1521
+ ],
1522
+ "anonymous": false
1523
+ },
1524
+ {
1525
+ "type": "event",
1526
+ "name": "Swept",
1527
+ "inputs": [
1528
+ {
1529
+ "name": "campaignId",
1530
+ "type": "bytes32",
1531
+ "indexed": true,
1532
+ "internalType": "bytes32"
1533
+ },
1534
+ {
1535
+ "name": "entitlementId",
1536
+ "type": "bytes32",
1537
+ "indexed": true,
1538
+ "internalType": "bytes32"
1539
+ },
1540
+ {
1541
+ "name": "amount",
1542
+ "type": "uint256",
1543
+ "indexed": false,
1544
+ "internalType": "uint256"
1545
+ }
1546
+ ],
1547
+ "anonymous": false
1548
+ },
1549
+ {
1550
+ "type": "error",
1551
+ "name": "BudgetExceeded",
1552
+ "inputs": []
1553
+ },
1554
+ {
1555
+ "type": "error",
1556
+ "name": "InvalidAuthorization",
1557
+ "inputs": []
1558
+ },
1559
+ {
1560
+ "type": "error",
1561
+ "name": "InvalidCampaign",
1562
+ "inputs": []
1563
+ },
1564
+ {
1565
+ "type": "error",
1566
+ "name": "InvalidConfiguration",
1567
+ "inputs": []
1568
+ },
1569
+ {
1570
+ "type": "error",
1571
+ "name": "InvalidRight",
1572
+ "inputs": []
1573
+ },
1574
+ {
1575
+ "type": "error",
1576
+ "name": "InvalidShortString",
1577
+ "inputs": []
1578
+ },
1579
+ {
1580
+ "type": "error",
1581
+ "name": "InvalidTransfer",
1582
+ "inputs": []
1583
+ },
1584
+ {
1585
+ "type": "error",
1586
+ "name": "ReentrancyGuardReentrantCall",
1587
+ "inputs": []
1588
+ },
1589
+ {
1590
+ "type": "error",
1591
+ "name": "SafeERC20FailedOperation",
1592
+ "inputs": [
1593
+ {
1594
+ "name": "token",
1595
+ "type": "address",
1596
+ "internalType": "address"
1597
+ }
1598
+ ]
1599
+ },
1600
+ {
1601
+ "type": "error",
1602
+ "name": "StringTooLong",
1603
+ "inputs": [
1604
+ {
1605
+ "name": "str",
1606
+ "type": "string",
1607
+ "internalType": "string"
1608
+ }
1609
+ ]
1610
+ },
1611
+ {
1612
+ "type": "error",
1613
+ "name": "Unavailable",
1614
+ "inputs": []
1615
+ }
1616
+ ],
1617
+ "creationBytecode": "0x6101e0604052600160035534801561001657600080fd5b506040516147083803806147088339810160408190526100359161029a565b604080518082018252601681527f48616e614d6573682042617463682052656c6561736500000000000000000000602080830191909152825180840190935260018352603360f81b908301529061008d826000610204565b6101205261009c816001610204565b61014052815160208084019190912060e052815190820120610100524660a05261012960e05161010051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b60805250503060c05260016002556001600160a01b038416158061015457506001600160a01b038316155b8061016757506001600160a01b03831630145b8061017a57506001600160a01b0382163b155b8061019657506000816002811115610194576101946102f4565b145b156101b45760405163c52a9bd360e01b815260040160405180910390fd5b6001600160a01b03808516610160528381166101805282166101a0528060028111156101e2576101e26102f4565b6101c08160028111156101f7576101f76102f4565b81525050505050506104d9565b60006020835110156102205761021983610237565b9050610231565b8161022b84826103a9565b5060ff90505b92915050565b600080829050601f8151111561026b578260405163305a27a960e01b81526004016102629190610467565b60405180910390fd5b8051610276826104b5565b179392505050565b80516001600160a01b038116811461029557600080fd5b919050565b600080600080608085870312156102b057600080fd5b6102b98561027e565b93506102c76020860161027e565b92506102d56040860161027e565b91506060850151600381106102e957600080fd5b939692955090935050565b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b600181811c9082168061033457607f821691505b60208210810361035457634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156103a457806000526020600020601f840160051c810160208510156103815750805b601f840160051c820191505b818110156103a1576000815560010161038d565b50505b505050565b81516001600160401b038111156103c2576103c261030a565b6103d6816103d08454610320565b8461035a565b6020601f82116001811461040a57600083156103f25750848201515b600019600385901b1c1916600184901b1784556103a1565b600084815260208120601f198516915b8281101561043a578785015182556020948501946001909201910161041a565b50848210156104585786840151600019600387901b60f8161c191681555b50505050600190811b01905550565b602081526000825180602084015260005b818110156104955760208186018101516040868401015201610478565b506000604082850101526040601f19601f83011684010191505092915050565b805160208083015191908110156103545760001960209190910360031b1b16919050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516141476105c1600039600081816104e10152612bf401526000818161039d0152818161084a0152818161099e0152818161130e015281816115120152818161208c0152818161218b015261224a0152600081816104ba01528181610ef1015281816110a501528181611cb70152818161246101526124be0152600081816105fb0152612900015260006130be0152600061308c015260006133a20152600061337a015260006132d5015260006132ff0152600061332901526141476000f3fe608060405234801561001057600080fd5b50600436106102115760003560e01c806384b0196e11610125578063a15ab492116100ad578063d86b4f751161007c578063d86b4f7514610663578063da9425e214610676578063e6699acf14610696578063f0ed80f4146106a9578063fce858e3146106bc57600080fd5b8063a15ab492146105f6578063a48654f81461061d578063bc9d87f314610630578063cf85ad251461064357600080fd5b8063900cf0cf116100f4578063900cf0cf146105a157806395b881de146105aa5780639a8f9910146105bd5780639add1a77146105d05780639d43c6bf146105e357600080fd5b806384b0196e1461054957806384cc9dfb146105645780638983b8d7146105775780638b2193261461058157600080fd5b806353518cfd116101a857806361d027b31161017757806361d027b3146104b55780636448947e146104dc57806364b220961461051057806373a4a53d14610523578063842827c31461053657600080fd5b806353518cfd146103ed5780635a08a77d146104005780635ea72b6c1461048f57806360dade28146104a257600080fd5b8063354b0769116101e4578063354b0769146103475780634774be9f1461035a5780634dd3d9031461039857806351221b62146103d757600080fd5b806302de1263146102165780631f1d6e661461022b5780632b45897b1461023e5780632d5a497514610251575b600080fd5b61022961022436600461380b565b6106dc565b005b61022961023936600461388e565b610768565b61022961024c366004613950565b610d4b565b61033161025f3660046139bd565b6040805161012081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101919091525060009081526004602081815260409283902083516101208101855281546001600160a01b0390811682526001830154169281019290925260028101549382019390935260038301546060820152908201546080820152600582015460a0820152600682015460c0820152600782015460e082015260089091015460ff16151561010082015290565b60405161033e91906139d6565b60405180910390f35b610229610355366004613950565b610f28565b61038861036836600461380b565b600760209081526000928352604080842090915290825290205460ff1681565b604051901515815260200161033e565b6103bf7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161033e565b6103df605a81565b60405190815260200161033e565b6103df6103fb366004613a55565b61110e565b61045861040e36600461380b565b600660208181526000938452604080852090915291835291208054600182015460028301546003840154600485015460058601549590960154939560ff9093169491939092919087565b6040805197885260ff9096166020880152948601939093526060850191909152608084015260a083015260c082015260e00161033e565b61022961049d366004613a92565b611202565b6103df6104b0366004613ad6565b61161d565b6103bf7f000000000000000000000000000000000000000000000000000000000000000081565b6105037f000000000000000000000000000000000000000000000000000000000000000081565b60405161033e9190613b18565b6103df61051e36600461380b565b61167f565b6103df610531366004613ad6565b6116a9565b6103df610544366004613b40565b611701565b6105516117ac565b60405161033e9796959493929190613bc4565b61022961057236600461380b565b6117f2565b6103df6276a70081565b61059461058f36600461380b565b61195a565b60405161033e9190613c5c565b6103df60035481565b6103df6105b8366004613d43565b611aa6565b6103df6105cb36600461380b565b611b72565b6102296105de366004613d60565b611bcd565b6103df6105f1366004613dd3565b611d2c565b6103bf7f000000000000000000000000000000000000000000000000000000000000000081565b6103df61062b366004613e24565b611daa565b61022961063e3660046139bd565b611e0f565b6103df610651366004613d43565b60096020526000908152604090205481565b610229610671366004613950565b611e2d565b6103df610684366004613d43565b60086020526000908152604090205481565b6102296106a4366004613e5c565b61202c565b6102296106b7366004613a92565b612519565b6103df6106ca366004613d43565b600a6020526000908152604090205481565b6106e461259d565b600082815260046020526040902080546001600160a01b0316158061070d5750600881015460ff165b8061071c575080600301548214155b1561073a57604051630477a3e560e41b815260040160405180910390fd5b8054610750906001600160a01b031633846125c5565b610759836127bf565b506107646001600255565b5050565b61077061259d565b61078a61077e868686611701565b600354868686866128c1565b843515806107af57506107a36040860160208701613d43565b6001600160a01b03163b155b806107d157506107c56060860160408701613d43565b6001600160a01b03163b155b806107de57506060850135155b806107eb57506080850135155b8061080e575084356000908152600460205260409020546001600160a01b031615155b1561082c57604051630477a3e560e41b815260040160405180910390fd5b61083c6060860160408701613d43565b6001600160a01b03908116907f00000000000000000000000000000000000000000000000000000000000000001663fe10d77461087f6040890160208a01613d43565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa1580156108c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108e79190613ee2565b6001600160a01b031614158061098e57506109086040860160208701613d43565b6001600160a01b03166109216060870160408801613d43565b6001600160a01b031663b4e0ecf26040518163ffffffff1660e01b8152600401602060405180830381865afa15801561095e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109829190613ee2565b6001600160a01b031614155b80610a3b57506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166109ce6060870160408801613d43565b6001600160a01b0316637b1039996040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a0b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a2f9190613ee2565b6001600160a01b031614155b15610a5957604051630477a3e560e41b815260040160405180910390fd5b60006080860135600982610a7360408a0160208b01613d43565b6001600160a01b03166001600160a01b0316815260200190815260200160002054610a9e9190613f15565b9050610ab06060870160408801613d43565b6001600160a01b03166361f5b8b36040518163ffffffff1660e01b8152600401602060405180830381865afa158015610aed573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b119190613f28565b811115610b31576040516350b2c4e160e01b815260040160405180910390fd5b8060096000610b4660408a0160208b01613d43565b6001600160a01b03166001600160a01b0316815260200190815260200160002081905550604051806101200160405280876020016020810190610b899190613d43565b6001600160a01b03168152602001610ba76060890160408a01613d43565b6001600160a01b0316815260200187606001358152602001876080013581526020016000815260200160008152602001600081526020016000815260200160001515815250600460008860000135815260200190815260200160002060008201518160000160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060208201518160010160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060408201518160020155606082015181600301556080820151816004015560a0820151816005015560c0820151816006015560e082015181600701556101008201518160080160006101000a81548160ff021916908315150217905550905050856040016020810190610cd09190613d43565b6001600160a01b0316610ce96040880160208901613d43565b6040805160608a0135815260808a013560208201526001600160a01b0392909216918935917ff8a4467b518438d984dfc1a13b29f21c5ba15a883eb3c9c993168fdaa9f4a6b0910160405180910390a450610d446001600255565b5050505050565b610d5361259d565b600080610d7c87356020890135610d7060608b0160408c01613d43565b8a608001358a8a6129a6565b91509150610d8e600288838787612b2c565b6000610d9a8383612bb8565b600a830154909150610100900460ff1680610dda575060018201546001600160a01b0316610dce60808a0160608b01613d43565b6001600160a01b031614155b80610de7575060a0880135155b80610e045750808260030154610dfd9190613f41565b8860a00135115b15610e22576040516367713bc560e11b815260040160405180910390fd5b600382015460078301829055610e3784612ce1565b83600801819055508860a00135836003016000828254610e579190613f41565b925050819055508860a00135836005016000828254610e769190613f15565b9091555050600a8301805462ff000019169055600983018054906000610e9b83613f54565b909155505083546001600160a01b03166000908152600860205260408120805460a08c01359290610ecd908490613f41565b90915550610ee090508984600284612d0b565b8354610f1a906001600160a01b03167f000000000000000000000000000000000000000000000000000000000000000060a08c0135612e60565b50505050610d446001600255565b610f3061259d565b600080610f4d87356020890135610d7060608b0160408c01613d43565b91509150610f5f600388838787612b2c565b600a810154610100900460ff1680610f9c575060018101546001600160a01b0316610f906080890160608a01613d43565b6001600160a01b031614155b80610fa9575060a0870135155b80610fca575080600601548160050154610fc39190613f41565b8760a00135115b15610fe8576040516367713bc560e11b815260040160405180910390fd5b6000610ff48383612bb8565b60038301805491925060a08a013590600061100f8385613f15565b925050819055508860a0013583600601600082825461102e9190613f15565b9091555050600a8301805462ff000019166201000017905560098301805490600061105883613f54565b91905055506110818261107c611072878760020154613007565b8660030154613038565b613048565b600784015561108f84612ce1565b600884015583546110ce906001600160a01b03167f000000000000000000000000000000000000000000000000000000000000000060a08c01356125c5565b83546001600160a01b03166000908152600860205260408120805460a08c013592906110fb908490613f15565b90915550610f1a90508984600384612d0b565b6000808360ff16600114611185578360ff1660021461115f578360ff166003146111395760006111a7565b7fb5b183714cd76e9632d18d30394dc77837f308156371e428a7c21f0472ce6f5c6111a7565b7f7215c512936a91e61083b9b340b4b812259a2d866ea7ae661bb6de253cc0842b6111a7565b7f3fc9193304343799ef7977a1ca6c52caa482355d016d041d5ac2c1fcc08ad6b05b9050806111c757604051632ce87eeb60e01b815260040160405180910390fd5b6111f881846040516020016111dd929190613f6d565b60405160208183030381529060405280519060200120613058565b9150505b92915050565b61120a61259d565b61121861077e86868661161d565b6000858152600460205260409020600881015460ff16158061123d5750600581015415155b1561125b57604051630477a3e560e41b815260040160405180910390fd5b600181015460408051633833a4f160e01b815290516001600160a01b03909216916000918391633833a4f1916004808201926020929091908290030181865afa1580156112ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112d09190613f28565b90508015806112de57504281115b80611387575060018301548354604051633f8435dd60e21b81526001600160a01b039182166004820152918116917f00000000000000000000000000000000000000000000000000000000000000009091169063fe10d77490602401602060405180830381865afa158015611357573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061137b9190613ee2565b6001600160a01b031614155b156113a557604051630477a3e560e41b815260040160405180910390fd5b816001600160a01b0316632c678c646040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113e3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114079190614021565b801561158b575060006001600160a01b0316826001600160a01b031663a8aa1b316040518163ffffffff1660e01b8152600401602060405180830381865afa158015611457573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061147b9190613ee2565b6001600160a01b0316148061158b5750816001600160a01b031663a8aa1b316040518163ffffffff1660e01b8152600401602060405180830381865afa1580156114c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114ed9190613ee2565b83546040516329018f6f60e21b81526001600160a01b039182166004820152918116917f00000000000000000000000000000000000000000000000000000000000000009091169063a4063dbc90602401602060405180830381865afa15801561155b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061157f9190613ee2565b6001600160a01b031614155b156115a957604051630477a3e560e41b815260040160405180910390fd5b6004830181905542600584018190556115c6906276a70090613f15565b60068401819055604080518381524260208201529081019190915288907fa5ef703037fc42972d81e600e5a33327826a496440146e4ccf1c20a7f5ee9f609060600160405180910390a2505050610d446001600255565b600354604080517f1d29b044239dabd384da28b2b6fc771f9a2394cf79e27f16b41ace186f07fc7b602082015290810185905260608101919091526080810183905260a081018290526000906116759060c0016111dd565b90505b9392505050565b60008281526004602090815260408083206005835281842085855290925282206116789190612bb8565b600354604080517ffa63f7afbd99d947e4db980e16d2e6d51fff8bcd44118226d6521e347c48acea602082015290810185905260608101919091526080810183905260a081018290526000906116759060c0016111dd565b60006116757f31fbc2ad0e8a858684fa3c3967abd5f3a790ea25f9461308ddb80116adff286e85356117396040880160208901613d43565b6117496060890160408a01613d43565b6003546040805160208101969096528501939093526001600160a01b0391821660608581019190915291166080848101919091529088013560a084015287013560c083015260e082015261010081018590526101208101849052610140016111dd565b6000606080600080600060606117c0613085565b6117c86130b7565b60408051600080825260208201909252600f60f81b9b939a50919850469750309650945092509050565b6117fa61259d565b600082815260046020908152604080832060058352818420858552909252909120600a81015460ff1615806118385750600a810154610100900460ff165b156118565760405163a3b8915f60e01b815260040160405180910390fd5b600081600401546118678484612bb8565b6118719190613f41565b9050806000036118945760405163a3b8915f60e01b815260040160405180910390fd5b808260040160008282546118a89190613f15565b909155505082546001600160a01b0316600090815260086020526040812080548392906118d6908490613f41565b9091555050825460018301546118f9916001600160a01b03908116911683612e60565b600182015460048301546040805184815260208101929092526001600160a01b0390921691869188917fdea36fd04cb8ca90cc4f844b99906c5a50243dafebcadbc048f2424cd624275c910160405180910390a45050506107646001600255565b6119dd604051806101a0016040528060006001600160a01b0316815260200160006001600160a01b0316815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000151581526020016000151581526020016000151581525090565b5060009182526005602081815260408085209385529281529282902082516101a08101845281546001600160a01b03908116825260018301541694810194909452600281015492840192909252600382015460608401526004820154608084015281015460a0830152600681015460c0830152600781015460e08301526008810154610100808401919091526009820154610120840152600a9091015460ff80821615156101408501529181048216151561016084015262010000900416151561018082015290565b6040516370a0823160e01b815230600482015260009081906001600160a01b038416906370a0823190602401602060405180830381865afa158015611aef573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b139190613f28565b6001600160a01b038416600090815260086020526040902054909150811015611b4f576040516350b2c4e160e01b815260040160405180910390fd5b6001600160a01b0383166000908152600860205260409020546116789082613f41565b60008281526005602090815260408083208484529091528120600a81015460ff168015611ba95750600a810154610100900460ff16155b611bb45760006111f8565b8060040154611bc3858561167f565b6111f89190613f41565b611bd561259d565b600080611be68888888888886129a6565b915091508160060154421080611c05575080546001600160a01b031615155b80611c145750600a81015460ff165b80611c285750600a810154610100900460ff165b15611c465760405163a3b8915f60e01b815260040160405180910390fd5b600a8101805461ff001916610100179055600981018054906000611c6983613f54565b909155505060038101805460009182905583546001600160a01b03168252600860205260408220805491928392611ca1908490613f41565b90915550508254611cdc906001600160a01b03167f000000000000000000000000000000000000000000000000000000000000000083612e60565b87897fb24159bee8ae9e807c0429cd7555f27a060077944797dae2b3c40bf6f9d635b083604051611d0f91815260200190565b60405180910390a3505050611d246001600255565b505050505050565b600354604080517fd58aa79e6df20c41f76e3748a73f04e0194d1c43e6eb1ee418b5515ce16217ba60208201526001600160a01b038089169282019290925290861660608201526080810185905260a081019190915260c0810183905260e08101829052600090611da090610100016111dd565b9695505050505050565b60408051602081018590526001600160a01b038416918101919091526060810182905260009060800160408051601f19818403018152828252805160209182012090830152016040516020818303038152906040528051906020012090509392505050565b611e1761259d565b611e20816127bf565b611e2a6001600255565b50565b611e3561259d565b600080611e5287356020890135610d7060608b0160408c01613d43565b91509150611e64600188838787612b2c565b600a81015460ff1680611e805750600a810154610100900460ff165b80611e8e575060a087013515155b80611eb157506000611ea66080890160608a01613d43565b6001600160a01b0316145b80611ed3575030611ec86080890160608a01613d43565b6001600160a01b0316145b15611ef1576040516367713bc560e11b815260040160405180910390fd5b80546001600160a01b0316611f295781600601544210611f245760405163a3b8915f60e01b815260040160405180910390fd5b611f6b565b80546001600160a01b0316611f446080890160608a01613d43565b6001600160a01b031614611f6b576040516367713bc560e11b815260040160405180910390fd5b611f7b6080880160608901613d43565b600182810180546001600160a01b0319166001600160a01b039390931692909217909155600a8201805460ff1916821790556003820154611fc0918991849190612d0b565b611fd06080880160608901613d43565b6001600160a01b0316876020013588600001357f4581de0d35d1a764109c111df9b1d966065d8158588d298d1290e989eee515348a6080013560405161201891815260200190565b60405180910390a45050610d446001600255565b61203461259d565b61204461077e8888888888611d2c565b6001600160a01b0387163b158061206357506001600160a01b0386163b155b806121055750604051633f8435dd60e21b81526001600160a01b038881166004830152808816917f00000000000000000000000000000000000000000000000000000000000000009091169063fe10d77490602401602060405180830381865afa1580156120d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120f99190613ee2565b6001600160a01b031614155b806121835750866001600160a01b0316866001600160a01b031663b4e0ecf26040518163ffffffff1660e01b8152600401602060405180830381865afa158015612153573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121779190613ee2565b6001600160a01b031614155b8061222157507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316866001600160a01b0316637b1039996040518163ffffffff1660e01b8152600401602060405180830381865afa1580156121f1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122159190613ee2565b6001600160a01b031614155b1561223f57604051630477a3e560e41b815260040160405180910390fd5b8415806123395750847f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166316eebd1e6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156122a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122ca9190613ee2565b604051632862fee360e01b81526001600160a01b038a811660048301529190911690632862fee390602401602060405180830381865afa158015612312573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123369190613f28565b14155b1561235757604051632ce87eeb60e01b815260040160405180910390fd5b6000866001600160a01b03166361f5b8b36040518163ffffffff1660e01b8152600401602060405180830381865afa158015612397573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123bb9190613f28565b90508015806123e157506001600160a01b03881660009081526009602052604090205415155b8061240357506001600160a01b0388166000908152600a602052604090205415155b8061241557508061241389611aa6565b105b15612433576040516350b2c4e160e01b815260040160405180910390fd5b6001600160a01b0388166000908152600960209081526040808320849055600a9091529020819055612486887f000000000000000000000000000000000000000000000000000000000000000083612e60565b866001600160a01b0316886001600160a01b03167f84813d369df124c1c23a76947b034a53d476edac83e694468a7cb5e3d06c87e7837f00000000000000000000000000000000000000000000000000000000000000006040516124fd9291909182526001600160a01b0316602082015260400190565b60405180910390a3506125106001600255565b50505050505050565b61252161259d565b61252f61077e8686866116a9565b600354851161255157604051632ce87eeb60e01b815260040160405180910390fd5b600380549086905560408051828152602081018890527facfa06cebbab8226f9a388bff9f5fcf4569298028d939f4765958dc57dbb330b910160405180910390a150610d446001600255565b60028054036125bf57604051633ee5aeb560e01b815260040160405180910390fd5b60028055565b6040516370a0823160e01b81526001600160a01b038381166004830152600091908516906370a0823190602401602060405180830381865afa15801561260f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126339190613f28565b6040516370a0823160e01b81523060048201529091506000906001600160a01b038616906370a0823190602401602060405180830381865afa15801561267d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126a19190613f28565b90506126af858530866130e4565b6126b98383613f41565b6040516370a0823160e01b81526001600160a01b0386811660048301528716906370a0823190602401602060405180830381865afa1580156126ff573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127239190613f28565b1415806127a157506127358382613f15565b6040516370a0823160e01b81523060048201526001600160a01b038716906370a08231906024015b602060405180830381865afa15801561277a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061279e9190613f28565b14155b15610d4457604051632f35253160e01b815260040160405180910390fd5b600081815260046020526040902080546001600160a01b031615806127e85750600881015460ff165b1561280657604051630477a3e560e41b815260040160405180910390fd5b6003810154815461281f906001600160a01b0316611aa6565b101561283e576040516350b2c4e160e01b815260040160405180910390fd5b6008808201805460ff19166001179055600382015482546001600160a01b031660009081526020929092526040822080549192909161287e908490613f15565b9091555050600381015460405190815282907f60e5a40c4a72b5be11ff950fc170d891bd93359fbdbef5b362ef41053e05ebdb9060200160405180910390a25050565b600354851415806128d157504283105b806128f55750600085815260076020908152604080832087845290915290205460ff165b8061295e575061295c7f00000000000000000000000000000000000000000000000000000000000000008784848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061315192505050565b155b1561297c57604051632ce87eeb60e01b815260040160405180910390fd5b50505060009182526007602090815260408084209284529190529020805460ff1916600117905550565b600086815260046020908152604080832060058084528285208a865290935292209082015415806129d5575086155b806129de575084155b806129f157506001600160a01b03861630145b15612a0f576040516367713bc560e11b815260040160405180910390fd5b612a2984848460020154612a248b8b8b611daa565b6131c5565b612a46576040516367713bc560e11b815260040160405180910390fd5b8060090154600003612ae3578160030154858360070154612a679190613f15565b1115612a86576040516350b2c4e160e01b815260040160405180910390fd5b84826007016000828254612a9a9190613f15565b909155505080546001600160a01b0387166001600160a01b0319918216811783556001808401805490931690911790915560028201869055600382018690556009820155612b21565b848160020154141580612b03575080546001600160a01b03878116911614155b15612b21576040516367713bc560e11b815260040160405180910390fd5b965096945050505050565b8260090154846101000135141580612b46575060c0840135155b80612b7557508335600090815260066020908152604080832060c0880135845290915290206001015460ff1615155b15612b9357604051632ce87eeb60e01b815260040160405180910390fd5b610d44612ba0868661110e565b8560e0013586610120013587610140013586866128c1565b6000826005015460001480612bcf57506009820154155b80612be35750600a820154610100900460ff165b15612bf0575060006111fc565b60017f00000000000000000000000000000000000000000000000000000000000000006002811115612c2457612c24613b02565b1480612c3257506005820154155b80612c475750600a82015462010000900460ff165b15612c7657612c6f826007015461107c612c65868660020154613007565b8560030154613038565b90506111fc565b6000612c8184612ce1565b9050605a8103612c9757505060038101546111fc565b612cd283600701548460030154612cae9190613f41565b6008850154612cbd9084613f41565b6008860154612ccd90605a613f41565b6131dd565b83600701546111f89190613f15565b60006111fc62015180836004015442612cfa9190613f41565b612d049190614059565b605a613038565b6040518060e00160405280856020013581526020018360ff1681526020018560a001358152602001828152602001846003015481526020018460090154815260200142815250600660008660000135815260200190815260200160002060008660c0013581526020019081526020016000206000820151816000015560208201518160010160006101000a81548160ff021916908360ff16021790555060408201518160020155606082015181600301556080820151816004015560a0820151816005015560c0820151816006015590505083602001358460c0013585600001357f2e310d713b7080c1f089a1cc1bf349e81a8074e8b775facb3b5751fad3ae42ab858860a001358689600301548a60090154604051612e5295949392919060ff959095168552602085019390935260408401919091526060830152608082015260a00190565b60405180910390a450505050565b80600003612e6d57505050565b6040516370a0823160e01b81523060048201526000906001600160a01b038516906370a0823190602401602060405180830381865afa158015612eb4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ed89190613f28565b6040516370a0823160e01b81526001600160a01b0385811660048301529192506000918616906370a0823190602401602060405180830381865afa158015612f24573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f489190613f28565b9050612f55858585613292565b612f5f8383613f41565b6040516370a0823160e01b81523060048201526001600160a01b038716906370a0823190602401602060405180830381865afa158015612fa3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612fc79190613f28565b1415806127a15750612fd98382613f15565b6040516370a0823160e01b81526001600160a01b0386811660048301528716906370a082319060240161275d565b60006116788261301685612ce1565b61302290611f4061407b565b61302f906202bf20613f15565b620dbba06131dd565b6000828218828410028218611678565b6000828218828411028218611678565b60006111fc6130656132c8565b8360405161190160f01b8152600281019290925260228201526042902090565b60606130b27f000000000000000000000000000000000000000000000000000000000000000060006133f3565b905090565b60606130b27f000000000000000000000000000000000000000000000000000000000000000060016133f3565b6040516001600160a01b03848116602483015283811660448301526064820183905261314b9186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050613497565b50505050565b6000836001600160a01b03163b6000036131b357600080613172858561350c565b509092509050600081600381111561318c5761318c613b02565b1480156131aa5750856001600160a01b0316826001600160a01b0316145b92505050611678565b6131be848484613559565b9050611678565b6000826131d3868685613634565b1495945050505050565b60008060006131ec8686613676565b91509150816000036132115783818161320757613207614043565b0492505050611678565b818411613228576132286003851502601118613694565b6000848688096000868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010185841190960395909502919093039390930492909217029150509392505050565b6040516001600160a01b038381166024830152604482018390526132c391859182169063a9059cbb90606401613119565b505050565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801561332157507f000000000000000000000000000000000000000000000000000000000000000046145b1561334b57507f000000000000000000000000000000000000000000000000000000000000000090565b6130b2604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b606060ff831461340657612c6f836136a6565b81805461341290614092565b80601f016020809104026020016040519081016040528092919081815260200182805461343e90614092565b801561348b5780601f106134605761010080835404028352916020019161348b565b820191906000526020600020905b81548152906001019060200180831161346e57829003601f168201915b505050505090506111fc565b600080602060008451602086016000885af1806134ba576040513d6000823e3d81fd5b50506000513d915081156134d25780600114156134df565b6001600160a01b0384163b155b1561314b57604051635274afe760e01b81526001600160a01b038516600482015260240160405180910390fd5b600080600083516041036135465760208401516040850151606086015160001a613538888285856136e5565b955095509550505050613552565b50508151600091506002905b9250925092565b6000806000856001600160a01b0316858560405160240161357b9291906140c6565b60408051601f198184030181529181526020820180516001600160e01b0316630b135d3f60e11b179052516135b091906140df565b600060405180830381855afa9150503d80600081146135eb576040519150601f19603f3d011682016040523d82523d6000602084013e6135f0565b606091505b509150915081801561360457506020815110155b8015611da057508051630b135d3f60e11b906136299083016020908101908401613f28565b149695505050505050565b600081815b8481101561366d5761366382878784818110613657576136576140fb565b905060200201356137b4565b9150600101613639565b50949350505050565b60008060001983850993909202808410938190039390930393915050565b634e487b71600052806020526024601cfd5b606060006136b3836137e3565b604080516020808252818301909252919250600091906020820181803683375050509182525060208101929092525090565b600080807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084111561372057506000915060039050826137aa565b604080516000808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa158015613774573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166137a0575060009250600191508290506137aa565b9250600091508190505b9450945094915050565b60008183106137d0576000828152602084905260409020611678565b6000838152602083905260409020611678565b600060ff8216601f8111156111fc57604051632cd44ac360e21b815260040160405180910390fd5b6000806040838503121561381e57600080fd5b50508035926020909101359150565b600060a0828403121561383f57600080fd5b50919050565b60008083601f84011261385757600080fd5b50813567ffffffffffffffff81111561386f57600080fd5b60208301915083602082850101111561388757600080fd5b9250929050565b600080600080600061010086880312156138a757600080fd5b6138b1878761382d565b945060a0860135935060c0860135925060e086013567ffffffffffffffff8111156138db57600080fd5b6138e788828901613845565b969995985093965092949392505050565b6000610160828403121561383f57600080fd5b60008083601f84011261391d57600080fd5b50813567ffffffffffffffff81111561393557600080fd5b6020830191508360208260051b850101111561388757600080fd5b60008060008060006101a0868803121561396957600080fd5b61397387876138f8565b945061016086013567ffffffffffffffff81111561399057600080fd5b61399c8882890161390b565b90955093505061018086013567ffffffffffffffff8111156138db57600080fd5b6000602082840312156139cf57600080fd5b5035919050565b60006101208201905060018060a01b03835116825260018060a01b03602084015116602083015260408301516040830152606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e0830152610100830151613a4e61010084018215159052565b5092915050565b6000806101808385031215613a6957600080fd5b823560ff81168114613a7a57600080fd5b9150613a8984602085016138f8565b90509250929050565b600080600080600060808688031215613aaa57600080fd5b853594506020860135935060408601359250606086013567ffffffffffffffff8111156138db57600080fd5b600080600060608486031215613aeb57600080fd5b505081359360208301359350604090920135919050565b634e487b7160e01b600052602160045260246000fd5b6020810160038310613b3a57634e487b7160e01b600052602160045260246000fd5b91905290565b600080600060e08486031215613b5557600080fd5b613b5f858561382d565b9560a0850135955060c0909401359392505050565b60005b83811015613b8f578181015183820152602001613b77565b50506000910152565b60008151808452613bb0816020860160208601613b74565b601f01601f19169290920160200192915050565b60ff60f81b8816815260e060208201526000613be360e0830189613b98565b8281036040840152613bf58189613b98565b606084018890526001600160a01b038716608085015260a0840186905283810360c08501528451808252602080870193509091019060005b81811015613c4b578351835260209384019390920191600101613c2d565b50909b9a5050505050505050505050565b81516001600160a01b031681526101a081016020830151613c8860208401826001600160a01b03169052565b5060408301516040830152606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e0830152610100830151610100830152610120830151610120830152610140830151613cf261014084018215159052565b50610160830151613d0861016084018215159052565b50610180830151613a4e61018084018215159052565b6001600160a01b0381168114611e2a57600080fd5b8035613d3e81613d1e565b919050565b600060208284031215613d5557600080fd5b813561167881613d1e565b60008060008060008060a08789031215613d7957600080fd5b86359550602087013594506040870135613d9281613d1e565b935060608701359250608087013567ffffffffffffffff811115613db557600080fd5b613dc189828a0161390b565b979a9699509497509295939492505050565b600080600080600060a08688031215613deb57600080fd5b8535613df681613d1e565b94506020860135613e0681613d1e565b94979496505050506040830135926060810135926080909101359150565b600080600060608486031215613e3957600080fd5b833592506020840135613e4b81613d1e565b929592945050506040919091013590565b600080600080600080600060c0888a031215613e7757600080fd5b8735613e8281613d1e565b96506020880135613e9281613d1e565b955060408801359450606088013593506080880135925060a088013567ffffffffffffffff811115613ec357600080fd5b613ecf8a828b01613845565b989b979a50959850939692959293505050565b600060208284031215613ef457600080fd5b815161167881613d1e565b634e487b7160e01b600052601160045260246000fd5b808201808211156111fc576111fc613eff565b600060208284031215613f3a57600080fd5b5051919050565b818103818111156111fc576111fc613eff565b600060018201613f6657613f66613eff565b5060010190565b8281528135602080830191909152820135604080830191909152610180820190613f98908401613d33565b6001600160a01b038116606084015250613fb460608401613d33565b6001600160a01b038116608084015250608083013560a08381019190915283013560c08084019190915283013560e0808401919091528301356101008084019190915283013561012080840191909152830135610140808401919091529092013561016090910152919050565b60006020828403121561403357600080fd5b8151801515811461167857600080fd5b634e487b7160e01b600052601260045260246000fd5b60008261407657634e487b7160e01b600052601260045260246000fd5b500490565b80820281158282048414176111fc576111fc613eff565b600181811c908216806140a657607f821691505b60208210810361383f57634e487b7160e01b600052602260045260246000fd5b8281526040602082015260006116756040830184613b98565b600082516140f1818460208701613b74565b9190910192915050565b634e487b7160e01b600052603260045260246000fdfea26469706673582212202f734599d250a1dceb1ca84fb80c55443101e4e325be34e22820664a8cafdd4464736f6c634300081a0033",
1618
+ "runtimeTemplate": "0x608060405234801561001057600080fd5b50600436106102115760003560e01c806384b0196e11610125578063a15ab492116100ad578063d86b4f751161007c578063d86b4f7514610663578063da9425e214610676578063e6699acf14610696578063f0ed80f4146106a9578063fce858e3146106bc57600080fd5b8063a15ab492146105f6578063a48654f81461061d578063bc9d87f314610630578063cf85ad251461064357600080fd5b8063900cf0cf116100f4578063900cf0cf146105a157806395b881de146105aa5780639a8f9910146105bd5780639add1a77146105d05780639d43c6bf146105e357600080fd5b806384b0196e1461054957806384cc9dfb146105645780638983b8d7146105775780638b2193261461058157600080fd5b806353518cfd116101a857806361d027b31161017757806361d027b3146104b55780636448947e146104dc57806364b220961461051057806373a4a53d14610523578063842827c31461053657600080fd5b806353518cfd146103ed5780635a08a77d146104005780635ea72b6c1461048f57806360dade28146104a257600080fd5b8063354b0769116101e4578063354b0769146103475780634774be9f1461035a5780634dd3d9031461039857806351221b62146103d757600080fd5b806302de1263146102165780631f1d6e661461022b5780632b45897b1461023e5780632d5a497514610251575b600080fd5b61022961022436600461380b565b6106dc565b005b61022961023936600461388e565b610768565b61022961024c366004613950565b610d4b565b61033161025f3660046139bd565b6040805161012081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101919091525060009081526004602081815260409283902083516101208101855281546001600160a01b0390811682526001830154169281019290925260028101549382019390935260038301546060820152908201546080820152600582015460a0820152600682015460c0820152600782015460e082015260089091015460ff16151561010082015290565b60405161033e91906139d6565b60405180910390f35b610229610355366004613950565b610f28565b61038861036836600461380b565b600760209081526000928352604080842090915290825290205460ff1681565b604051901515815260200161033e565b6103bf7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161033e565b6103df605a81565b60405190815260200161033e565b6103df6103fb366004613a55565b61110e565b61045861040e36600461380b565b600660208181526000938452604080852090915291835291208054600182015460028301546003840154600485015460058601549590960154939560ff9093169491939092919087565b6040805197885260ff9096166020880152948601939093526060850191909152608084015260a083015260c082015260e00161033e565b61022961049d366004613a92565b611202565b6103df6104b0366004613ad6565b61161d565b6103bf7f000000000000000000000000000000000000000000000000000000000000000081565b6105037f000000000000000000000000000000000000000000000000000000000000000081565b60405161033e9190613b18565b6103df61051e36600461380b565b61167f565b6103df610531366004613ad6565b6116a9565b6103df610544366004613b40565b611701565b6105516117ac565b60405161033e9796959493929190613bc4565b61022961057236600461380b565b6117f2565b6103df6276a70081565b61059461058f36600461380b565b61195a565b60405161033e9190613c5c565b6103df60035481565b6103df6105b8366004613d43565b611aa6565b6103df6105cb36600461380b565b611b72565b6102296105de366004613d60565b611bcd565b6103df6105f1366004613dd3565b611d2c565b6103bf7f000000000000000000000000000000000000000000000000000000000000000081565b6103df61062b366004613e24565b611daa565b61022961063e3660046139bd565b611e0f565b6103df610651366004613d43565b60096020526000908152604090205481565b610229610671366004613950565b611e2d565b6103df610684366004613d43565b60086020526000908152604090205481565b6102296106a4366004613e5c565b61202c565b6102296106b7366004613a92565b612519565b6103df6106ca366004613d43565b600a6020526000908152604090205481565b6106e461259d565b600082815260046020526040902080546001600160a01b0316158061070d5750600881015460ff165b8061071c575080600301548214155b1561073a57604051630477a3e560e41b815260040160405180910390fd5b8054610750906001600160a01b031633846125c5565b610759836127bf565b506107646001600255565b5050565b61077061259d565b61078a61077e868686611701565b600354868686866128c1565b843515806107af57506107a36040860160208701613d43565b6001600160a01b03163b155b806107d157506107c56060860160408701613d43565b6001600160a01b03163b155b806107de57506060850135155b806107eb57506080850135155b8061080e575084356000908152600460205260409020546001600160a01b031615155b1561082c57604051630477a3e560e41b815260040160405180910390fd5b61083c6060860160408701613d43565b6001600160a01b03908116907f00000000000000000000000000000000000000000000000000000000000000001663fe10d77461087f6040890160208a01613d43565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa1580156108c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108e79190613ee2565b6001600160a01b031614158061098e57506109086040860160208701613d43565b6001600160a01b03166109216060870160408801613d43565b6001600160a01b031663b4e0ecf26040518163ffffffff1660e01b8152600401602060405180830381865afa15801561095e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109829190613ee2565b6001600160a01b031614155b80610a3b57506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166109ce6060870160408801613d43565b6001600160a01b0316637b1039996040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a0b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a2f9190613ee2565b6001600160a01b031614155b15610a5957604051630477a3e560e41b815260040160405180910390fd5b60006080860135600982610a7360408a0160208b01613d43565b6001600160a01b03166001600160a01b0316815260200190815260200160002054610a9e9190613f15565b9050610ab06060870160408801613d43565b6001600160a01b03166361f5b8b36040518163ffffffff1660e01b8152600401602060405180830381865afa158015610aed573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b119190613f28565b811115610b31576040516350b2c4e160e01b815260040160405180910390fd5b8060096000610b4660408a0160208b01613d43565b6001600160a01b03166001600160a01b0316815260200190815260200160002081905550604051806101200160405280876020016020810190610b899190613d43565b6001600160a01b03168152602001610ba76060890160408a01613d43565b6001600160a01b0316815260200187606001358152602001876080013581526020016000815260200160008152602001600081526020016000815260200160001515815250600460008860000135815260200190815260200160002060008201518160000160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060208201518160010160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060408201518160020155606082015181600301556080820151816004015560a0820151816005015560c0820151816006015560e082015181600701556101008201518160080160006101000a81548160ff021916908315150217905550905050856040016020810190610cd09190613d43565b6001600160a01b0316610ce96040880160208901613d43565b6040805160608a0135815260808a013560208201526001600160a01b0392909216918935917ff8a4467b518438d984dfc1a13b29f21c5ba15a883eb3c9c993168fdaa9f4a6b0910160405180910390a450610d446001600255565b5050505050565b610d5361259d565b600080610d7c87356020890135610d7060608b0160408c01613d43565b8a608001358a8a6129a6565b91509150610d8e600288838787612b2c565b6000610d9a8383612bb8565b600a830154909150610100900460ff1680610dda575060018201546001600160a01b0316610dce60808a0160608b01613d43565b6001600160a01b031614155b80610de7575060a0880135155b80610e045750808260030154610dfd9190613f41565b8860a00135115b15610e22576040516367713bc560e11b815260040160405180910390fd5b600382015460078301829055610e3784612ce1565b83600801819055508860a00135836003016000828254610e579190613f41565b925050819055508860a00135836005016000828254610e769190613f15565b9091555050600a8301805462ff000019169055600983018054906000610e9b83613f54565b909155505083546001600160a01b03166000908152600860205260408120805460a08c01359290610ecd908490613f41565b90915550610ee090508984600284612d0b565b8354610f1a906001600160a01b03167f000000000000000000000000000000000000000000000000000000000000000060a08c0135612e60565b50505050610d446001600255565b610f3061259d565b600080610f4d87356020890135610d7060608b0160408c01613d43565b91509150610f5f600388838787612b2c565b600a810154610100900460ff1680610f9c575060018101546001600160a01b0316610f906080890160608a01613d43565b6001600160a01b031614155b80610fa9575060a0870135155b80610fca575080600601548160050154610fc39190613f41565b8760a00135115b15610fe8576040516367713bc560e11b815260040160405180910390fd5b6000610ff48383612bb8565b60038301805491925060a08a013590600061100f8385613f15565b925050819055508860a0013583600601600082825461102e9190613f15565b9091555050600a8301805462ff000019166201000017905560098301805490600061105883613f54565b91905055506110818261107c611072878760020154613007565b8660030154613038565b613048565b600784015561108f84612ce1565b600884015583546110ce906001600160a01b03167f000000000000000000000000000000000000000000000000000000000000000060a08c01356125c5565b83546001600160a01b03166000908152600860205260408120805460a08c013592906110fb908490613f15565b90915550610f1a90508984600384612d0b565b6000808360ff16600114611185578360ff1660021461115f578360ff166003146111395760006111a7565b7fb5b183714cd76e9632d18d30394dc77837f308156371e428a7c21f0472ce6f5c6111a7565b7f7215c512936a91e61083b9b340b4b812259a2d866ea7ae661bb6de253cc0842b6111a7565b7f3fc9193304343799ef7977a1ca6c52caa482355d016d041d5ac2c1fcc08ad6b05b9050806111c757604051632ce87eeb60e01b815260040160405180910390fd5b6111f881846040516020016111dd929190613f6d565b60405160208183030381529060405280519060200120613058565b9150505b92915050565b61120a61259d565b61121861077e86868661161d565b6000858152600460205260409020600881015460ff16158061123d5750600581015415155b1561125b57604051630477a3e560e41b815260040160405180910390fd5b600181015460408051633833a4f160e01b815290516001600160a01b03909216916000918391633833a4f1916004808201926020929091908290030181865afa1580156112ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112d09190613f28565b90508015806112de57504281115b80611387575060018301548354604051633f8435dd60e21b81526001600160a01b039182166004820152918116917f00000000000000000000000000000000000000000000000000000000000000009091169063fe10d77490602401602060405180830381865afa158015611357573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061137b9190613ee2565b6001600160a01b031614155b156113a557604051630477a3e560e41b815260040160405180910390fd5b816001600160a01b0316632c678c646040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113e3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114079190614021565b801561158b575060006001600160a01b0316826001600160a01b031663a8aa1b316040518163ffffffff1660e01b8152600401602060405180830381865afa158015611457573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061147b9190613ee2565b6001600160a01b0316148061158b5750816001600160a01b031663a8aa1b316040518163ffffffff1660e01b8152600401602060405180830381865afa1580156114c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114ed9190613ee2565b83546040516329018f6f60e21b81526001600160a01b039182166004820152918116917f00000000000000000000000000000000000000000000000000000000000000009091169063a4063dbc90602401602060405180830381865afa15801561155b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061157f9190613ee2565b6001600160a01b031614155b156115a957604051630477a3e560e41b815260040160405180910390fd5b6004830181905542600584018190556115c6906276a70090613f15565b60068401819055604080518381524260208201529081019190915288907fa5ef703037fc42972d81e600e5a33327826a496440146e4ccf1c20a7f5ee9f609060600160405180910390a2505050610d446001600255565b600354604080517f1d29b044239dabd384da28b2b6fc771f9a2394cf79e27f16b41ace186f07fc7b602082015290810185905260608101919091526080810183905260a081018290526000906116759060c0016111dd565b90505b9392505050565b60008281526004602090815260408083206005835281842085855290925282206116789190612bb8565b600354604080517ffa63f7afbd99d947e4db980e16d2e6d51fff8bcd44118226d6521e347c48acea602082015290810185905260608101919091526080810183905260a081018290526000906116759060c0016111dd565b60006116757f31fbc2ad0e8a858684fa3c3967abd5f3a790ea25f9461308ddb80116adff286e85356117396040880160208901613d43565b6117496060890160408a01613d43565b6003546040805160208101969096528501939093526001600160a01b0391821660608581019190915291166080848101919091529088013560a084015287013560c083015260e082015261010081018590526101208101849052610140016111dd565b6000606080600080600060606117c0613085565b6117c86130b7565b60408051600080825260208201909252600f60f81b9b939a50919850469750309650945092509050565b6117fa61259d565b600082815260046020908152604080832060058352818420858552909252909120600a81015460ff1615806118385750600a810154610100900460ff165b156118565760405163a3b8915f60e01b815260040160405180910390fd5b600081600401546118678484612bb8565b6118719190613f41565b9050806000036118945760405163a3b8915f60e01b815260040160405180910390fd5b808260040160008282546118a89190613f15565b909155505082546001600160a01b0316600090815260086020526040812080548392906118d6908490613f41565b9091555050825460018301546118f9916001600160a01b03908116911683612e60565b600182015460048301546040805184815260208101929092526001600160a01b0390921691869188917fdea36fd04cb8ca90cc4f844b99906c5a50243dafebcadbc048f2424cd624275c910160405180910390a45050506107646001600255565b6119dd604051806101a0016040528060006001600160a01b0316815260200160006001600160a01b0316815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000151581526020016000151581526020016000151581525090565b5060009182526005602081815260408085209385529281529282902082516101a08101845281546001600160a01b03908116825260018301541694810194909452600281015492840192909252600382015460608401526004820154608084015281015460a0830152600681015460c0830152600781015460e08301526008810154610100808401919091526009820154610120840152600a9091015460ff80821615156101408501529181048216151561016084015262010000900416151561018082015290565b6040516370a0823160e01b815230600482015260009081906001600160a01b038416906370a0823190602401602060405180830381865afa158015611aef573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b139190613f28565b6001600160a01b038416600090815260086020526040902054909150811015611b4f576040516350b2c4e160e01b815260040160405180910390fd5b6001600160a01b0383166000908152600860205260409020546116789082613f41565b60008281526005602090815260408083208484529091528120600a81015460ff168015611ba95750600a810154610100900460ff16155b611bb45760006111f8565b8060040154611bc3858561167f565b6111f89190613f41565b611bd561259d565b600080611be68888888888886129a6565b915091508160060154421080611c05575080546001600160a01b031615155b80611c145750600a81015460ff165b80611c285750600a810154610100900460ff165b15611c465760405163a3b8915f60e01b815260040160405180910390fd5b600a8101805461ff001916610100179055600981018054906000611c6983613f54565b909155505060038101805460009182905583546001600160a01b03168252600860205260408220805491928392611ca1908490613f41565b90915550508254611cdc906001600160a01b03167f000000000000000000000000000000000000000000000000000000000000000083612e60565b87897fb24159bee8ae9e807c0429cd7555f27a060077944797dae2b3c40bf6f9d635b083604051611d0f91815260200190565b60405180910390a3505050611d246001600255565b505050505050565b600354604080517fd58aa79e6df20c41f76e3748a73f04e0194d1c43e6eb1ee418b5515ce16217ba60208201526001600160a01b038089169282019290925290861660608201526080810185905260a081019190915260c0810183905260e08101829052600090611da090610100016111dd565b9695505050505050565b60408051602081018590526001600160a01b038416918101919091526060810182905260009060800160408051601f19818403018152828252805160209182012090830152016040516020818303038152906040528051906020012090509392505050565b611e1761259d565b611e20816127bf565b611e2a6001600255565b50565b611e3561259d565b600080611e5287356020890135610d7060608b0160408c01613d43565b91509150611e64600188838787612b2c565b600a81015460ff1680611e805750600a810154610100900460ff165b80611e8e575060a087013515155b80611eb157506000611ea66080890160608a01613d43565b6001600160a01b0316145b80611ed3575030611ec86080890160608a01613d43565b6001600160a01b0316145b15611ef1576040516367713bc560e11b815260040160405180910390fd5b80546001600160a01b0316611f295781600601544210611f245760405163a3b8915f60e01b815260040160405180910390fd5b611f6b565b80546001600160a01b0316611f446080890160608a01613d43565b6001600160a01b031614611f6b576040516367713bc560e11b815260040160405180910390fd5b611f7b6080880160608901613d43565b600182810180546001600160a01b0319166001600160a01b039390931692909217909155600a8201805460ff1916821790556003820154611fc0918991849190612d0b565b611fd06080880160608901613d43565b6001600160a01b0316876020013588600001357f4581de0d35d1a764109c111df9b1d966065d8158588d298d1290e989eee515348a6080013560405161201891815260200190565b60405180910390a45050610d446001600255565b61203461259d565b61204461077e8888888888611d2c565b6001600160a01b0387163b158061206357506001600160a01b0386163b155b806121055750604051633f8435dd60e21b81526001600160a01b038881166004830152808816917f00000000000000000000000000000000000000000000000000000000000000009091169063fe10d77490602401602060405180830381865afa1580156120d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120f99190613ee2565b6001600160a01b031614155b806121835750866001600160a01b0316866001600160a01b031663b4e0ecf26040518163ffffffff1660e01b8152600401602060405180830381865afa158015612153573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121779190613ee2565b6001600160a01b031614155b8061222157507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316866001600160a01b0316637b1039996040518163ffffffff1660e01b8152600401602060405180830381865afa1580156121f1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122159190613ee2565b6001600160a01b031614155b1561223f57604051630477a3e560e41b815260040160405180910390fd5b8415806123395750847f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166316eebd1e6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156122a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122ca9190613ee2565b604051632862fee360e01b81526001600160a01b038a811660048301529190911690632862fee390602401602060405180830381865afa158015612312573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123369190613f28565b14155b1561235757604051632ce87eeb60e01b815260040160405180910390fd5b6000866001600160a01b03166361f5b8b36040518163ffffffff1660e01b8152600401602060405180830381865afa158015612397573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123bb9190613f28565b90508015806123e157506001600160a01b03881660009081526009602052604090205415155b8061240357506001600160a01b0388166000908152600a602052604090205415155b8061241557508061241389611aa6565b105b15612433576040516350b2c4e160e01b815260040160405180910390fd5b6001600160a01b0388166000908152600960209081526040808320849055600a9091529020819055612486887f000000000000000000000000000000000000000000000000000000000000000083612e60565b866001600160a01b0316886001600160a01b03167f84813d369df124c1c23a76947b034a53d476edac83e694468a7cb5e3d06c87e7837f00000000000000000000000000000000000000000000000000000000000000006040516124fd9291909182526001600160a01b0316602082015260400190565b60405180910390a3506125106001600255565b50505050505050565b61252161259d565b61252f61077e8686866116a9565b600354851161255157604051632ce87eeb60e01b815260040160405180910390fd5b600380549086905560408051828152602081018890527facfa06cebbab8226f9a388bff9f5fcf4569298028d939f4765958dc57dbb330b910160405180910390a150610d446001600255565b60028054036125bf57604051633ee5aeb560e01b815260040160405180910390fd5b60028055565b6040516370a0823160e01b81526001600160a01b038381166004830152600091908516906370a0823190602401602060405180830381865afa15801561260f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126339190613f28565b6040516370a0823160e01b81523060048201529091506000906001600160a01b038616906370a0823190602401602060405180830381865afa15801561267d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126a19190613f28565b90506126af858530866130e4565b6126b98383613f41565b6040516370a0823160e01b81526001600160a01b0386811660048301528716906370a0823190602401602060405180830381865afa1580156126ff573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127239190613f28565b1415806127a157506127358382613f15565b6040516370a0823160e01b81523060048201526001600160a01b038716906370a08231906024015b602060405180830381865afa15801561277a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061279e9190613f28565b14155b15610d4457604051632f35253160e01b815260040160405180910390fd5b600081815260046020526040902080546001600160a01b031615806127e85750600881015460ff165b1561280657604051630477a3e560e41b815260040160405180910390fd5b6003810154815461281f906001600160a01b0316611aa6565b101561283e576040516350b2c4e160e01b815260040160405180910390fd5b6008808201805460ff19166001179055600382015482546001600160a01b031660009081526020929092526040822080549192909161287e908490613f15565b9091555050600381015460405190815282907f60e5a40c4a72b5be11ff950fc170d891bd93359fbdbef5b362ef41053e05ebdb9060200160405180910390a25050565b600354851415806128d157504283105b806128f55750600085815260076020908152604080832087845290915290205460ff165b8061295e575061295c7f00000000000000000000000000000000000000000000000000000000000000008784848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061315192505050565b155b1561297c57604051632ce87eeb60e01b815260040160405180910390fd5b50505060009182526007602090815260408084209284529190529020805460ff1916600117905550565b600086815260046020908152604080832060058084528285208a865290935292209082015415806129d5575086155b806129de575084155b806129f157506001600160a01b03861630145b15612a0f576040516367713bc560e11b815260040160405180910390fd5b612a2984848460020154612a248b8b8b611daa565b6131c5565b612a46576040516367713bc560e11b815260040160405180910390fd5b8060090154600003612ae3578160030154858360070154612a679190613f15565b1115612a86576040516350b2c4e160e01b815260040160405180910390fd5b84826007016000828254612a9a9190613f15565b909155505080546001600160a01b0387166001600160a01b0319918216811783556001808401805490931690911790915560028201869055600382018690556009820155612b21565b848160020154141580612b03575080546001600160a01b03878116911614155b15612b21576040516367713bc560e11b815260040160405180910390fd5b965096945050505050565b8260090154846101000135141580612b46575060c0840135155b80612b7557508335600090815260066020908152604080832060c0880135845290915290206001015460ff1615155b15612b9357604051632ce87eeb60e01b815260040160405180910390fd5b610d44612ba0868661110e565b8560e0013586610120013587610140013586866128c1565b6000826005015460001480612bcf57506009820154155b80612be35750600a820154610100900460ff165b15612bf0575060006111fc565b60017f00000000000000000000000000000000000000000000000000000000000000006002811115612c2457612c24613b02565b1480612c3257506005820154155b80612c475750600a82015462010000900460ff165b15612c7657612c6f826007015461107c612c65868660020154613007565b8560030154613038565b90506111fc565b6000612c8184612ce1565b9050605a8103612c9757505060038101546111fc565b612cd283600701548460030154612cae9190613f41565b6008850154612cbd9084613f41565b6008860154612ccd90605a613f41565b6131dd565b83600701546111f89190613f15565b60006111fc62015180836004015442612cfa9190613f41565b612d049190614059565b605a613038565b6040518060e00160405280856020013581526020018360ff1681526020018560a001358152602001828152602001846003015481526020018460090154815260200142815250600660008660000135815260200190815260200160002060008660c0013581526020019081526020016000206000820151816000015560208201518160010160006101000a81548160ff021916908360ff16021790555060408201518160020155606082015181600301556080820151816004015560a0820151816005015560c0820151816006015590505083602001358460c0013585600001357f2e310d713b7080c1f089a1cc1bf349e81a8074e8b775facb3b5751fad3ae42ab858860a001358689600301548a60090154604051612e5295949392919060ff959095168552602085019390935260408401919091526060830152608082015260a00190565b60405180910390a450505050565b80600003612e6d57505050565b6040516370a0823160e01b81523060048201526000906001600160a01b038516906370a0823190602401602060405180830381865afa158015612eb4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ed89190613f28565b6040516370a0823160e01b81526001600160a01b0385811660048301529192506000918616906370a0823190602401602060405180830381865afa158015612f24573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f489190613f28565b9050612f55858585613292565b612f5f8383613f41565b6040516370a0823160e01b81523060048201526001600160a01b038716906370a0823190602401602060405180830381865afa158015612fa3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612fc79190613f28565b1415806127a15750612fd98382613f15565b6040516370a0823160e01b81526001600160a01b0386811660048301528716906370a082319060240161275d565b60006116788261301685612ce1565b61302290611f4061407b565b61302f906202bf20613f15565b620dbba06131dd565b6000828218828410028218611678565b6000828218828411028218611678565b60006111fc6130656132c8565b8360405161190160f01b8152600281019290925260228201526042902090565b60606130b27f000000000000000000000000000000000000000000000000000000000000000060006133f3565b905090565b60606130b27f000000000000000000000000000000000000000000000000000000000000000060016133f3565b6040516001600160a01b03848116602483015283811660448301526064820183905261314b9186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050613497565b50505050565b6000836001600160a01b03163b6000036131b357600080613172858561350c565b509092509050600081600381111561318c5761318c613b02565b1480156131aa5750856001600160a01b0316826001600160a01b0316145b92505050611678565b6131be848484613559565b9050611678565b6000826131d3868685613634565b1495945050505050565b60008060006131ec8686613676565b91509150816000036132115783818161320757613207614043565b0492505050611678565b818411613228576132286003851502601118613694565b6000848688096000868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010185841190960395909502919093039390930492909217029150509392505050565b6040516001600160a01b038381166024830152604482018390526132c391859182169063a9059cbb90606401613119565b505050565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801561332157507f000000000000000000000000000000000000000000000000000000000000000046145b1561334b57507f000000000000000000000000000000000000000000000000000000000000000090565b6130b2604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b606060ff831461340657612c6f836136a6565b81805461341290614092565b80601f016020809104026020016040519081016040528092919081815260200182805461343e90614092565b801561348b5780601f106134605761010080835404028352916020019161348b565b820191906000526020600020905b81548152906001019060200180831161346e57829003601f168201915b505050505090506111fc565b600080602060008451602086016000885af1806134ba576040513d6000823e3d81fd5b50506000513d915081156134d25780600114156134df565b6001600160a01b0384163b155b1561314b57604051635274afe760e01b81526001600160a01b038516600482015260240160405180910390fd5b600080600083516041036135465760208401516040850151606086015160001a613538888285856136e5565b955095509550505050613552565b50508151600091506002905b9250925092565b6000806000856001600160a01b0316858560405160240161357b9291906140c6565b60408051601f198184030181529181526020820180516001600160e01b0316630b135d3f60e11b179052516135b091906140df565b600060405180830381855afa9150503d80600081146135eb576040519150601f19603f3d011682016040523d82523d6000602084013e6135f0565b606091505b509150915081801561360457506020815110155b8015611da057508051630b135d3f60e11b906136299083016020908101908401613f28565b149695505050505050565b600081815b8481101561366d5761366382878784818110613657576136576140fb565b905060200201356137b4565b9150600101613639565b50949350505050565b60008060001983850993909202808410938190039390930393915050565b634e487b71600052806020526024601cfd5b606060006136b3836137e3565b604080516020808252818301909252919250600091906020820181803683375050509182525060208101929092525090565b600080807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084111561372057506000915060039050826137aa565b604080516000808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa158015613774573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166137a0575060009250600191508290506137aa565b9250600091508190505b9450945094915050565b60008183106137d0576000828152602084905260409020611678565b6000838152602083905260409020611678565b600060ff8216601f8111156111fc57604051632cd44ac360e21b815260040160405180910390fd5b6000806040838503121561381e57600080fd5b50508035926020909101359150565b600060a0828403121561383f57600080fd5b50919050565b60008083601f84011261385757600080fd5b50813567ffffffffffffffff81111561386f57600080fd5b60208301915083602082850101111561388757600080fd5b9250929050565b600080600080600061010086880312156138a757600080fd5b6138b1878761382d565b945060a0860135935060c0860135925060e086013567ffffffffffffffff8111156138db57600080fd5b6138e788828901613845565b969995985093965092949392505050565b6000610160828403121561383f57600080fd5b60008083601f84011261391d57600080fd5b50813567ffffffffffffffff81111561393557600080fd5b6020830191508360208260051b850101111561388757600080fd5b60008060008060006101a0868803121561396957600080fd5b61397387876138f8565b945061016086013567ffffffffffffffff81111561399057600080fd5b61399c8882890161390b565b90955093505061018086013567ffffffffffffffff8111156138db57600080fd5b6000602082840312156139cf57600080fd5b5035919050565b60006101208201905060018060a01b03835116825260018060a01b03602084015116602083015260408301516040830152606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e0830152610100830151613a4e61010084018215159052565b5092915050565b6000806101808385031215613a6957600080fd5b823560ff81168114613a7a57600080fd5b9150613a8984602085016138f8565b90509250929050565b600080600080600060808688031215613aaa57600080fd5b853594506020860135935060408601359250606086013567ffffffffffffffff8111156138db57600080fd5b600080600060608486031215613aeb57600080fd5b505081359360208301359350604090920135919050565b634e487b7160e01b600052602160045260246000fd5b6020810160038310613b3a57634e487b7160e01b600052602160045260246000fd5b91905290565b600080600060e08486031215613b5557600080fd5b613b5f858561382d565b9560a0850135955060c0909401359392505050565b60005b83811015613b8f578181015183820152602001613b77565b50506000910152565b60008151808452613bb0816020860160208601613b74565b601f01601f19169290920160200192915050565b60ff60f81b8816815260e060208201526000613be360e0830189613b98565b8281036040840152613bf58189613b98565b606084018890526001600160a01b038716608085015260a0840186905283810360c08501528451808252602080870193509091019060005b81811015613c4b578351835260209384019390920191600101613c2d565b50909b9a5050505050505050505050565b81516001600160a01b031681526101a081016020830151613c8860208401826001600160a01b03169052565b5060408301516040830152606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e0830152610100830151610100830152610120830151610120830152610140830151613cf261014084018215159052565b50610160830151613d0861016084018215159052565b50610180830151613a4e61018084018215159052565b6001600160a01b0381168114611e2a57600080fd5b8035613d3e81613d1e565b919050565b600060208284031215613d5557600080fd5b813561167881613d1e565b60008060008060008060a08789031215613d7957600080fd5b86359550602087013594506040870135613d9281613d1e565b935060608701359250608087013567ffffffffffffffff811115613db557600080fd5b613dc189828a0161390b565b979a9699509497509295939492505050565b600080600080600060a08688031215613deb57600080fd5b8535613df681613d1e565b94506020860135613e0681613d1e565b94979496505050506040830135926060810135926080909101359150565b600080600060608486031215613e3957600080fd5b833592506020840135613e4b81613d1e565b929592945050506040919091013590565b600080600080600080600060c0888a031215613e7757600080fd5b8735613e8281613d1e565b96506020880135613e9281613d1e565b955060408801359450606088013593506080880135925060a088013567ffffffffffffffff811115613ec357600080fd5b613ecf8a828b01613845565b989b979a50959850939692959293505050565b600060208284031215613ef457600080fd5b815161167881613d1e565b634e487b7160e01b600052601160045260246000fd5b808201808211156111fc576111fc613eff565b600060208284031215613f3a57600080fd5b5051919050565b818103818111156111fc576111fc613eff565b600060018201613f6657613f66613eff565b5060010190565b8281528135602080830191909152820135604080830191909152610180820190613f98908401613d33565b6001600160a01b038116606084015250613fb460608401613d33565b6001600160a01b038116608084015250608083013560a08381019190915283013560c08084019190915283013560e0808401919091528301356101008084019190915283013561012080840191909152830135610140808401919091529092013561016090910152919050565b60006020828403121561403357600080fd5b8151801515811461167857600080fd5b634e487b7160e01b600052601260045260246000fd5b60008261407657634e487b7160e01b600052601260045260246000fd5b500490565b80820281158282048414176111fc576111fc613eff565b600181811c908216806140a657607f821691505b60208210810361383f57634e487b7160e01b600052602260045260246000fd5b8281526040602082015260006116756040830184613b98565b600082516140f1818460208701613b74565b9190910192915050565b634e487b7160e01b600052603260045260246000fdfea26469706673582212202f734599d250a1dceb1ca84fb80c55443101e4e325be34e22820664a8cafdd4464736f6c634300081a0033",
1619
+ "metadata": {
1620
+ "compiler": {
1621
+ "version": "0.8.26+commit.8a97fa7a"
1622
+ },
1623
+ "language": "Solidity",
1624
+ "output": {
1625
+ "abi": [
1626
+ {
1627
+ "inputs": [
1628
+ {
1629
+ "internalType": "address",
1630
+ "name": "signer_",
1631
+ "type": "address"
1632
+ },
1633
+ {
1634
+ "internalType": "address",
1635
+ "name": "treasury_",
1636
+ "type": "address"
1637
+ },
1638
+ {
1639
+ "internalType": "address",
1640
+ "name": "factory_",
1641
+ "type": "address"
1642
+ },
1643
+ {
1644
+ "internalType": "enum BatchVestingDistributorQuoteV2.PenaltyMode",
1645
+ "name": "mode_",
1646
+ "type": "uint8"
1647
+ }
1648
+ ],
1649
+ "stateMutability": "nonpayable",
1650
+ "type": "constructor"
1651
+ },
1652
+ {
1653
+ "inputs": [],
1654
+ "type": "error",
1655
+ "name": "BudgetExceeded"
1656
+ },
1657
+ {
1658
+ "inputs": [],
1659
+ "type": "error",
1660
+ "name": "InvalidAuthorization"
1661
+ },
1662
+ {
1663
+ "inputs": [],
1664
+ "type": "error",
1665
+ "name": "InvalidCampaign"
1666
+ },
1667
+ {
1668
+ "inputs": [],
1669
+ "type": "error",
1670
+ "name": "InvalidConfiguration"
1671
+ },
1672
+ {
1673
+ "inputs": [],
1674
+ "type": "error",
1675
+ "name": "InvalidRight"
1676
+ },
1677
+ {
1678
+ "inputs": [],
1679
+ "type": "error",
1680
+ "name": "InvalidShortString"
1681
+ },
1682
+ {
1683
+ "inputs": [],
1684
+ "type": "error",
1685
+ "name": "InvalidTransfer"
1686
+ },
1687
+ {
1688
+ "inputs": [],
1689
+ "type": "error",
1690
+ "name": "ReentrancyGuardReentrantCall"
1691
+ },
1692
+ {
1693
+ "inputs": [
1694
+ {
1695
+ "internalType": "address",
1696
+ "name": "token",
1697
+ "type": "address"
1698
+ }
1699
+ ],
1700
+ "type": "error",
1701
+ "name": "SafeERC20FailedOperation"
1702
+ },
1703
+ {
1704
+ "inputs": [
1705
+ {
1706
+ "internalType": "string",
1707
+ "name": "str",
1708
+ "type": "string"
1709
+ }
1710
+ ],
1711
+ "type": "error",
1712
+ "name": "StringTooLong"
1713
+ },
1714
+ {
1715
+ "inputs": [],
1716
+ "type": "error",
1717
+ "name": "Unavailable"
1718
+ },
1719
+ {
1720
+ "inputs": [
1721
+ {
1722
+ "internalType": "bytes32",
1723
+ "name": "campaignId",
1724
+ "type": "bytes32",
1725
+ "indexed": true
1726
+ },
1727
+ {
1728
+ "internalType": "address",
1729
+ "name": "token",
1730
+ "type": "address",
1731
+ "indexed": true
1732
+ },
1733
+ {
1734
+ "internalType": "address",
1735
+ "name": "bond",
1736
+ "type": "address",
1737
+ "indexed": true
1738
+ },
1739
+ {
1740
+ "internalType": "bytes32",
1741
+ "name": "rightsRoot",
1742
+ "type": "bytes32",
1743
+ "indexed": false
1744
+ },
1745
+ {
1746
+ "internalType": "uint256",
1747
+ "name": "budget",
1748
+ "type": "uint256",
1749
+ "indexed": false
1750
+ }
1751
+ ],
1752
+ "type": "event",
1753
+ "name": "CampaignCreated",
1754
+ "anonymous": false
1755
+ },
1756
+ {
1757
+ "inputs": [
1758
+ {
1759
+ "internalType": "bytes32",
1760
+ "name": "campaignId",
1761
+ "type": "bytes32",
1762
+ "indexed": true
1763
+ },
1764
+ {
1765
+ "internalType": "uint256",
1766
+ "name": "budget",
1767
+ "type": "uint256",
1768
+ "indexed": false
1769
+ }
1770
+ ],
1771
+ "type": "event",
1772
+ "name": "CampaignFunded",
1773
+ "anonymous": false
1774
+ },
1775
+ {
1776
+ "inputs": [
1777
+ {
1778
+ "internalType": "bytes32",
1779
+ "name": "campaignId",
1780
+ "type": "bytes32",
1781
+ "indexed": true
1782
+ },
1783
+ {
1784
+ "internalType": "bytes32",
1785
+ "name": "caseId",
1786
+ "type": "bytes32",
1787
+ "indexed": true
1788
+ },
1789
+ {
1790
+ "internalType": "bytes32",
1791
+ "name": "entitlementId",
1792
+ "type": "bytes32",
1793
+ "indexed": true
1794
+ },
1795
+ {
1796
+ "internalType": "uint8",
1797
+ "name": "kind",
1798
+ "type": "uint8",
1799
+ "indexed": false
1800
+ },
1801
+ {
1802
+ "internalType": "uint256",
1803
+ "name": "amount",
1804
+ "type": "uint256",
1805
+ "indexed": false
1806
+ },
1807
+ {
1808
+ "internalType": "uint256",
1809
+ "name": "capBefore",
1810
+ "type": "uint256",
1811
+ "indexed": false
1812
+ },
1813
+ {
1814
+ "internalType": "uint256",
1815
+ "name": "capAfter",
1816
+ "type": "uint256",
1817
+ "indexed": false
1818
+ },
1819
+ {
1820
+ "internalType": "uint256",
1821
+ "name": "version",
1822
+ "type": "uint256",
1823
+ "indexed": false
1824
+ }
1825
+ ],
1826
+ "type": "event",
1827
+ "name": "CaseRecorded",
1828
+ "anonymous": false
1829
+ },
1830
+ {
1831
+ "inputs": [
1832
+ {
1833
+ "internalType": "bytes32",
1834
+ "name": "campaignId",
1835
+ "type": "bytes32",
1836
+ "indexed": true
1837
+ },
1838
+ {
1839
+ "internalType": "bytes32",
1840
+ "name": "entitlementId",
1841
+ "type": "bytes32",
1842
+ "indexed": true
1843
+ },
1844
+ {
1845
+ "internalType": "address",
1846
+ "name": "account",
1847
+ "type": "address",
1848
+ "indexed": true
1849
+ },
1850
+ {
1851
+ "internalType": "uint256",
1852
+ "name": "amount",
1853
+ "type": "uint256",
1854
+ "indexed": false
1855
+ },
1856
+ {
1857
+ "internalType": "uint256",
1858
+ "name": "cumulative",
1859
+ "type": "uint256",
1860
+ "indexed": false
1861
+ }
1862
+ ],
1863
+ "type": "event",
1864
+ "name": "Claimed",
1865
+ "anonymous": false
1866
+ },
1867
+ {
1868
+ "inputs": [],
1869
+ "type": "event",
1870
+ "name": "EIP712DomainChanged",
1871
+ "anonymous": false
1872
+ },
1873
+ {
1874
+ "inputs": [
1875
+ {
1876
+ "internalType": "address",
1877
+ "name": "token",
1878
+ "type": "address",
1879
+ "indexed": true
1880
+ },
1881
+ {
1882
+ "internalType": "address",
1883
+ "name": "bond",
1884
+ "type": "address",
1885
+ "indexed": true
1886
+ },
1887
+ {
1888
+ "internalType": "uint256",
1889
+ "name": "amount",
1890
+ "type": "uint256",
1891
+ "indexed": false
1892
+ },
1893
+ {
1894
+ "internalType": "address",
1895
+ "name": "treasury",
1896
+ "type": "address",
1897
+ "indexed": false
1898
+ }
1899
+ ],
1900
+ "type": "event",
1901
+ "name": "EmptyAllocationSettled",
1902
+ "anonymous": false
1903
+ },
1904
+ {
1905
+ "inputs": [
1906
+ {
1907
+ "internalType": "uint256",
1908
+ "name": "previousEpoch",
1909
+ "type": "uint256",
1910
+ "indexed": false
1911
+ },
1912
+ {
1913
+ "internalType": "uint256",
1914
+ "name": "newEpoch",
1915
+ "type": "uint256",
1916
+ "indexed": false
1917
+ }
1918
+ ],
1919
+ "type": "event",
1920
+ "name": "EpochAdvanced",
1921
+ "anonymous": false
1922
+ },
1923
+ {
1924
+ "inputs": [
1925
+ {
1926
+ "internalType": "bytes32",
1927
+ "name": "campaignId",
1928
+ "type": "bytes32",
1929
+ "indexed": true
1930
+ },
1931
+ {
1932
+ "internalType": "bytes32",
1933
+ "name": "entitlementId",
1934
+ "type": "bytes32",
1935
+ "indexed": true
1936
+ },
1937
+ {
1938
+ "internalType": "address",
1939
+ "name": "account",
1940
+ "type": "address",
1941
+ "indexed": true
1942
+ },
1943
+ {
1944
+ "internalType": "uint256",
1945
+ "name": "total",
1946
+ "type": "uint256",
1947
+ "indexed": false
1948
+ }
1949
+ ],
1950
+ "type": "event",
1951
+ "name": "Registered",
1952
+ "anonymous": false
1953
+ },
1954
+ {
1955
+ "inputs": [
1956
+ {
1957
+ "internalType": "bytes32",
1958
+ "name": "campaignId",
1959
+ "type": "bytes32",
1960
+ "indexed": true
1961
+ },
1962
+ {
1963
+ "internalType": "uint256",
1964
+ "name": "releaseStartedAt",
1965
+ "type": "uint256",
1966
+ "indexed": false
1967
+ },
1968
+ {
1969
+ "internalType": "uint256",
1970
+ "name": "openedAt",
1971
+ "type": "uint256",
1972
+ "indexed": false
1973
+ },
1974
+ {
1975
+ "internalType": "uint256",
1976
+ "name": "deadline",
1977
+ "type": "uint256",
1978
+ "indexed": false
1979
+ }
1980
+ ],
1981
+ "type": "event",
1982
+ "name": "RegistrationOpened",
1983
+ "anonymous": false
1984
+ },
1985
+ {
1986
+ "inputs": [
1987
+ {
1988
+ "internalType": "bytes32",
1989
+ "name": "campaignId",
1990
+ "type": "bytes32",
1991
+ "indexed": true
1992
+ },
1993
+ {
1994
+ "internalType": "bytes32",
1995
+ "name": "entitlementId",
1996
+ "type": "bytes32",
1997
+ "indexed": true
1998
+ },
1999
+ {
2000
+ "internalType": "uint256",
2001
+ "name": "amount",
2002
+ "type": "uint256",
2003
+ "indexed": false
2004
+ }
2005
+ ],
2006
+ "type": "event",
2007
+ "name": "Swept",
2008
+ "anonymous": false
2009
+ },
2010
+ {
2011
+ "inputs": [],
2012
+ "stateMutability": "view",
2013
+ "type": "function",
2014
+ "name": "REGISTRATION_WINDOW",
2015
+ "outputs": [
2016
+ {
2017
+ "internalType": "uint256",
2018
+ "name": "",
2019
+ "type": "uint256"
2020
+ }
2021
+ ]
2022
+ },
2023
+ {
2024
+ "inputs": [],
2025
+ "stateMutability": "view",
2026
+ "type": "function",
2027
+ "name": "VESTING_DAYS",
2028
+ "outputs": [
2029
+ {
2030
+ "internalType": "uint256",
2031
+ "name": "",
2032
+ "type": "uint256"
2033
+ }
2034
+ ]
2035
+ },
2036
+ {
2037
+ "inputs": [
2038
+ {
2039
+ "internalType": "uint256",
2040
+ "name": "newEpoch",
2041
+ "type": "uint256"
2042
+ },
2043
+ {
2044
+ "internalType": "uint256",
2045
+ "name": "nonce",
2046
+ "type": "uint256"
2047
+ },
2048
+ {
2049
+ "internalType": "uint256",
2050
+ "name": "deadline",
2051
+ "type": "uint256"
2052
+ },
2053
+ {
2054
+ "internalType": "bytes",
2055
+ "name": "signature",
2056
+ "type": "bytes"
2057
+ }
2058
+ ],
2059
+ "stateMutability": "nonpayable",
2060
+ "type": "function",
2061
+ "name": "advanceEpoch"
2062
+ },
2063
+ {
2064
+ "inputs": [
2065
+ {
2066
+ "internalType": "bytes32",
2067
+ "name": "",
2068
+ "type": "bytes32"
2069
+ },
2070
+ {
2071
+ "internalType": "bytes32",
2072
+ "name": "",
2073
+ "type": "bytes32"
2074
+ }
2075
+ ],
2076
+ "stateMutability": "view",
2077
+ "type": "function",
2078
+ "name": "audit",
2079
+ "outputs": [
2080
+ {
2081
+ "internalType": "bytes32",
2082
+ "name": "entitlementId",
2083
+ "type": "bytes32"
2084
+ },
2085
+ {
2086
+ "internalType": "uint8",
2087
+ "name": "kind",
2088
+ "type": "uint8"
2089
+ },
2090
+ {
2091
+ "internalType": "uint256",
2092
+ "name": "amount",
2093
+ "type": "uint256"
2094
+ },
2095
+ {
2096
+ "internalType": "uint256",
2097
+ "name": "capBefore",
2098
+ "type": "uint256"
2099
+ },
2100
+ {
2101
+ "internalType": "uint256",
2102
+ "name": "capAfter",
2103
+ "type": "uint256"
2104
+ },
2105
+ {
2106
+ "internalType": "uint256",
2107
+ "name": "version",
2108
+ "type": "uint256"
2109
+ },
2110
+ {
2111
+ "internalType": "uint256",
2112
+ "name": "at",
2113
+ "type": "uint256"
2114
+ }
2115
+ ]
2116
+ },
2117
+ {
2118
+ "inputs": [
2119
+ {
2120
+ "internalType": "address",
2121
+ "name": "",
2122
+ "type": "address"
2123
+ }
2124
+ ],
2125
+ "stateMutability": "view",
2126
+ "type": "function",
2127
+ "name": "campaignBudgetOf",
2128
+ "outputs": [
2129
+ {
2130
+ "internalType": "uint256",
2131
+ "name": "",
2132
+ "type": "uint256"
2133
+ }
2134
+ ]
2135
+ },
2136
+ {
2137
+ "inputs": [
2138
+ {
2139
+ "internalType": "bytes32",
2140
+ "name": "id",
2141
+ "type": "bytes32"
2142
+ }
2143
+ ],
2144
+ "stateMutability": "view",
2145
+ "type": "function",
2146
+ "name": "campaignState",
2147
+ "outputs": [
2148
+ {
2149
+ "internalType": "struct BatchVestingDistributorQuoteV2.Campaign",
2150
+ "name": "",
2151
+ "type": "tuple",
2152
+ "components": [
2153
+ {
2154
+ "internalType": "address",
2155
+ "name": "token",
2156
+ "type": "address"
2157
+ },
2158
+ {
2159
+ "internalType": "address",
2160
+ "name": "bond",
2161
+ "type": "address"
2162
+ },
2163
+ {
2164
+ "internalType": "bytes32",
2165
+ "name": "rightsRoot",
2166
+ "type": "bytes32"
2167
+ },
2168
+ {
2169
+ "internalType": "uint256",
2170
+ "name": "budget",
2171
+ "type": "uint256"
2172
+ },
2173
+ {
2174
+ "internalType": "uint256",
2175
+ "name": "releaseStartedAt",
2176
+ "type": "uint256"
2177
+ },
2178
+ {
2179
+ "internalType": "uint256",
2180
+ "name": "openedAt",
2181
+ "type": "uint256"
2182
+ },
2183
+ {
2184
+ "internalType": "uint256",
2185
+ "name": "registrationDeadline",
2186
+ "type": "uint256"
2187
+ },
2188
+ {
2189
+ "internalType": "uint256",
2190
+ "name": "allocated",
2191
+ "type": "uint256"
2192
+ },
2193
+ {
2194
+ "internalType": "bool",
2195
+ "name": "funded",
2196
+ "type": "bool"
2197
+ }
2198
+ ]
2199
+ }
2200
+ ]
2201
+ },
2202
+ {
2203
+ "inputs": [],
2204
+ "stateMutability": "view",
2205
+ "type": "function",
2206
+ "name": "canonicalBondFactory",
2207
+ "outputs": [
2208
+ {
2209
+ "internalType": "contract IQuoteV2BondFactory",
2210
+ "name": "",
2211
+ "type": "address"
2212
+ }
2213
+ ]
2214
+ },
2215
+ {
2216
+ "inputs": [
2217
+ {
2218
+ "internalType": "bytes32",
2219
+ "name": "id",
2220
+ "type": "bytes32"
2221
+ },
2222
+ {
2223
+ "internalType": "bytes32",
2224
+ "name": "rightId",
2225
+ "type": "bytes32"
2226
+ }
2227
+ ],
2228
+ "stateMutability": "nonpayable",
2229
+ "type": "function",
2230
+ "name": "claim"
2231
+ },
2232
+ {
2233
+ "inputs": [
2234
+ {
2235
+ "internalType": "bytes32",
2236
+ "name": "id",
2237
+ "type": "bytes32"
2238
+ },
2239
+ {
2240
+ "internalType": "bytes32",
2241
+ "name": "rightId",
2242
+ "type": "bytes32"
2243
+ }
2244
+ ],
2245
+ "stateMutability": "view",
2246
+ "type": "function",
2247
+ "name": "claimable",
2248
+ "outputs": [
2249
+ {
2250
+ "internalType": "uint256",
2251
+ "name": "",
2252
+ "type": "uint256"
2253
+ }
2254
+ ]
2255
+ },
2256
+ {
2257
+ "inputs": [
2258
+ {
2259
+ "internalType": "struct BatchVestingDistributorQuoteV2.CampaignParams",
2260
+ "name": "p",
2261
+ "type": "tuple",
2262
+ "components": [
2263
+ {
2264
+ "internalType": "bytes32",
2265
+ "name": "campaignId",
2266
+ "type": "bytes32"
2267
+ },
2268
+ {
2269
+ "internalType": "address",
2270
+ "name": "token",
2271
+ "type": "address"
2272
+ },
2273
+ {
2274
+ "internalType": "address",
2275
+ "name": "bond",
2276
+ "type": "address"
2277
+ },
2278
+ {
2279
+ "internalType": "bytes32",
2280
+ "name": "rightsRoot",
2281
+ "type": "bytes32"
2282
+ },
2283
+ {
2284
+ "internalType": "uint256",
2285
+ "name": "budget",
2286
+ "type": "uint256"
2287
+ }
2288
+ ]
2289
+ },
2290
+ {
2291
+ "internalType": "uint256",
2292
+ "name": "nonce",
2293
+ "type": "uint256"
2294
+ },
2295
+ {
2296
+ "internalType": "uint256",
2297
+ "name": "deadline",
2298
+ "type": "uint256"
2299
+ },
2300
+ {
2301
+ "internalType": "bytes",
2302
+ "name": "signature",
2303
+ "type": "bytes"
2304
+ }
2305
+ ],
2306
+ "stateMutability": "nonpayable",
2307
+ "type": "function",
2308
+ "name": "createCampaign"
2309
+ },
2310
+ {
2311
+ "inputs": [],
2312
+ "stateMutability": "view",
2313
+ "type": "function",
2314
+ "name": "eip712Domain",
2315
+ "outputs": [
2316
+ {
2317
+ "internalType": "bytes1",
2318
+ "name": "fields",
2319
+ "type": "bytes1"
2320
+ },
2321
+ {
2322
+ "internalType": "string",
2323
+ "name": "name",
2324
+ "type": "string"
2325
+ },
2326
+ {
2327
+ "internalType": "string",
2328
+ "name": "version",
2329
+ "type": "string"
2330
+ },
2331
+ {
2332
+ "internalType": "uint256",
2333
+ "name": "chainId",
2334
+ "type": "uint256"
2335
+ },
2336
+ {
2337
+ "internalType": "address",
2338
+ "name": "verifyingContract",
2339
+ "type": "address"
2340
+ },
2341
+ {
2342
+ "internalType": "bytes32",
2343
+ "name": "salt",
2344
+ "type": "bytes32"
2345
+ },
2346
+ {
2347
+ "internalType": "uint256[]",
2348
+ "name": "extensions",
2349
+ "type": "uint256[]"
2350
+ }
2351
+ ]
2352
+ },
2353
+ {
2354
+ "inputs": [
2355
+ {
2356
+ "internalType": "address",
2357
+ "name": "",
2358
+ "type": "address"
2359
+ }
2360
+ ],
2361
+ "stateMutability": "view",
2362
+ "type": "function",
2363
+ "name": "emptyAllocationOf",
2364
+ "outputs": [
2365
+ {
2366
+ "internalType": "uint256",
2367
+ "name": "",
2368
+ "type": "uint256"
2369
+ }
2370
+ ]
2371
+ },
2372
+ {
2373
+ "inputs": [],
2374
+ "stateMutability": "view",
2375
+ "type": "function",
2376
+ "name": "epoch",
2377
+ "outputs": [
2378
+ {
2379
+ "internalType": "uint256",
2380
+ "name": "",
2381
+ "type": "uint256"
2382
+ }
2383
+ ]
2384
+ },
2385
+ {
2386
+ "inputs": [
2387
+ {
2388
+ "internalType": "address",
2389
+ "name": "token",
2390
+ "type": "address"
2391
+ }
2392
+ ],
2393
+ "stateMutability": "view",
2394
+ "type": "function",
2395
+ "name": "freeBalance",
2396
+ "outputs": [
2397
+ {
2398
+ "internalType": "uint256",
2399
+ "name": "",
2400
+ "type": "uint256"
2401
+ }
2402
+ ]
2403
+ },
2404
+ {
2405
+ "inputs": [
2406
+ {
2407
+ "internalType": "bytes32",
2408
+ "name": "id",
2409
+ "type": "bytes32"
2410
+ }
2411
+ ],
2412
+ "stateMutability": "nonpayable",
2413
+ "type": "function",
2414
+ "name": "fundCampaign"
2415
+ },
2416
+ {
2417
+ "inputs": [
2418
+ {
2419
+ "internalType": "bytes32",
2420
+ "name": "id",
2421
+ "type": "bytes32"
2422
+ },
2423
+ {
2424
+ "internalType": "uint256",
2425
+ "name": "amount",
2426
+ "type": "uint256"
2427
+ }
2428
+ ],
2429
+ "stateMutability": "nonpayable",
2430
+ "type": "function",
2431
+ "name": "fundCampaignFrom"
2432
+ },
2433
+ {
2434
+ "inputs": [
2435
+ {
2436
+ "internalType": "uint256",
2437
+ "name": "newEpoch",
2438
+ "type": "uint256"
2439
+ },
2440
+ {
2441
+ "internalType": "uint256",
2442
+ "name": "nonce",
2443
+ "type": "uint256"
2444
+ },
2445
+ {
2446
+ "internalType": "uint256",
2447
+ "name": "deadline",
2448
+ "type": "uint256"
2449
+ }
2450
+ ],
2451
+ "stateMutability": "view",
2452
+ "type": "function",
2453
+ "name": "hashAdvanceEpoch",
2454
+ "outputs": [
2455
+ {
2456
+ "internalType": "bytes32",
2457
+ "name": "",
2458
+ "type": "bytes32"
2459
+ }
2460
+ ]
2461
+ },
2462
+ {
2463
+ "inputs": [
2464
+ {
2465
+ "internalType": "uint8",
2466
+ "name": "kind",
2467
+ "type": "uint8"
2468
+ },
2469
+ {
2470
+ "internalType": "struct BatchVestingDistributorQuoteV2.Authorization",
2471
+ "name": "a",
2472
+ "type": "tuple",
2473
+ "components": [
2474
+ {
2475
+ "internalType": "bytes32",
2476
+ "name": "campaignId",
2477
+ "type": "bytes32"
2478
+ },
2479
+ {
2480
+ "internalType": "bytes32",
2481
+ "name": "entitlementId",
2482
+ "type": "bytes32"
2483
+ },
2484
+ {
2485
+ "internalType": "address",
2486
+ "name": "committedAccount",
2487
+ "type": "address"
2488
+ },
2489
+ {
2490
+ "internalType": "address",
2491
+ "name": "account",
2492
+ "type": "address"
2493
+ },
2494
+ {
2495
+ "internalType": "uint256",
2496
+ "name": "total",
2497
+ "type": "uint256"
2498
+ },
2499
+ {
2500
+ "internalType": "uint256",
2501
+ "name": "amount",
2502
+ "type": "uint256"
2503
+ },
2504
+ {
2505
+ "internalType": "bytes32",
2506
+ "name": "caseId",
2507
+ "type": "bytes32"
2508
+ },
2509
+ {
2510
+ "internalType": "uint256",
2511
+ "name": "epoch",
2512
+ "type": "uint256"
2513
+ },
2514
+ {
2515
+ "internalType": "uint256",
2516
+ "name": "version",
2517
+ "type": "uint256"
2518
+ },
2519
+ {
2520
+ "internalType": "uint256",
2521
+ "name": "nonce",
2522
+ "type": "uint256"
2523
+ },
2524
+ {
2525
+ "internalType": "uint256",
2526
+ "name": "deadline",
2527
+ "type": "uint256"
2528
+ }
2529
+ ]
2530
+ }
2531
+ ],
2532
+ "stateMutability": "view",
2533
+ "type": "function",
2534
+ "name": "hashAuthorization",
2535
+ "outputs": [
2536
+ {
2537
+ "internalType": "bytes32",
2538
+ "name": "",
2539
+ "type": "bytes32"
2540
+ }
2541
+ ]
2542
+ },
2543
+ {
2544
+ "inputs": [
2545
+ {
2546
+ "internalType": "struct BatchVestingDistributorQuoteV2.CampaignParams",
2547
+ "name": "p",
2548
+ "type": "tuple",
2549
+ "components": [
2550
+ {
2551
+ "internalType": "bytes32",
2552
+ "name": "campaignId",
2553
+ "type": "bytes32"
2554
+ },
2555
+ {
2556
+ "internalType": "address",
2557
+ "name": "token",
2558
+ "type": "address"
2559
+ },
2560
+ {
2561
+ "internalType": "address",
2562
+ "name": "bond",
2563
+ "type": "address"
2564
+ },
2565
+ {
2566
+ "internalType": "bytes32",
2567
+ "name": "rightsRoot",
2568
+ "type": "bytes32"
2569
+ },
2570
+ {
2571
+ "internalType": "uint256",
2572
+ "name": "budget",
2573
+ "type": "uint256"
2574
+ }
2575
+ ]
2576
+ },
2577
+ {
2578
+ "internalType": "uint256",
2579
+ "name": "nonce",
2580
+ "type": "uint256"
2581
+ },
2582
+ {
2583
+ "internalType": "uint256",
2584
+ "name": "deadline",
2585
+ "type": "uint256"
2586
+ }
2587
+ ],
2588
+ "stateMutability": "view",
2589
+ "type": "function",
2590
+ "name": "hashCreate",
2591
+ "outputs": [
2592
+ {
2593
+ "internalType": "bytes32",
2594
+ "name": "",
2595
+ "type": "bytes32"
2596
+ }
2597
+ ]
2598
+ },
2599
+ {
2600
+ "inputs": [
2601
+ {
2602
+ "internalType": "address",
2603
+ "name": "token",
2604
+ "type": "address"
2605
+ },
2606
+ {
2607
+ "internalType": "address",
2608
+ "name": "bond",
2609
+ "type": "address"
2610
+ },
2611
+ {
2612
+ "internalType": "bytes32",
2613
+ "name": "authorizationHash",
2614
+ "type": "bytes32"
2615
+ },
2616
+ {
2617
+ "internalType": "uint256",
2618
+ "name": "nonce",
2619
+ "type": "uint256"
2620
+ },
2621
+ {
2622
+ "internalType": "uint256",
2623
+ "name": "deadline",
2624
+ "type": "uint256"
2625
+ }
2626
+ ],
2627
+ "stateMutability": "view",
2628
+ "type": "function",
2629
+ "name": "hashEmptyAllocation",
2630
+ "outputs": [
2631
+ {
2632
+ "internalType": "bytes32",
2633
+ "name": "",
2634
+ "type": "bytes32"
2635
+ }
2636
+ ]
2637
+ },
2638
+ {
2639
+ "inputs": [
2640
+ {
2641
+ "internalType": "bytes32",
2642
+ "name": "id",
2643
+ "type": "bytes32"
2644
+ },
2645
+ {
2646
+ "internalType": "uint256",
2647
+ "name": "nonce",
2648
+ "type": "uint256"
2649
+ },
2650
+ {
2651
+ "internalType": "uint256",
2652
+ "name": "deadline",
2653
+ "type": "uint256"
2654
+ }
2655
+ ],
2656
+ "stateMutability": "view",
2657
+ "type": "function",
2658
+ "name": "hashOpen",
2659
+ "outputs": [
2660
+ {
2661
+ "internalType": "bytes32",
2662
+ "name": "",
2663
+ "type": "bytes32"
2664
+ }
2665
+ ]
2666
+ },
2667
+ {
2668
+ "inputs": [
2669
+ {
2670
+ "internalType": "bytes32",
2671
+ "name": "id",
2672
+ "type": "bytes32"
2673
+ },
2674
+ {
2675
+ "internalType": "uint256",
2676
+ "name": "nonce",
2677
+ "type": "uint256"
2678
+ },
2679
+ {
2680
+ "internalType": "uint256",
2681
+ "name": "deadline",
2682
+ "type": "uint256"
2683
+ },
2684
+ {
2685
+ "internalType": "bytes",
2686
+ "name": "signature",
2687
+ "type": "bytes"
2688
+ }
2689
+ ],
2690
+ "stateMutability": "nonpayable",
2691
+ "type": "function",
2692
+ "name": "openRegistration"
2693
+ },
2694
+ {
2695
+ "inputs": [
2696
+ {
2697
+ "internalType": "struct BatchVestingDistributorQuoteV2.Authorization",
2698
+ "name": "a",
2699
+ "type": "tuple",
2700
+ "components": [
2701
+ {
2702
+ "internalType": "bytes32",
2703
+ "name": "campaignId",
2704
+ "type": "bytes32"
2705
+ },
2706
+ {
2707
+ "internalType": "bytes32",
2708
+ "name": "entitlementId",
2709
+ "type": "bytes32"
2710
+ },
2711
+ {
2712
+ "internalType": "address",
2713
+ "name": "committedAccount",
2714
+ "type": "address"
2715
+ },
2716
+ {
2717
+ "internalType": "address",
2718
+ "name": "account",
2719
+ "type": "address"
2720
+ },
2721
+ {
2722
+ "internalType": "uint256",
2723
+ "name": "total",
2724
+ "type": "uint256"
2725
+ },
2726
+ {
2727
+ "internalType": "uint256",
2728
+ "name": "amount",
2729
+ "type": "uint256"
2730
+ },
2731
+ {
2732
+ "internalType": "bytes32",
2733
+ "name": "caseId",
2734
+ "type": "bytes32"
2735
+ },
2736
+ {
2737
+ "internalType": "uint256",
2738
+ "name": "epoch",
2739
+ "type": "uint256"
2740
+ },
2741
+ {
2742
+ "internalType": "uint256",
2743
+ "name": "version",
2744
+ "type": "uint256"
2745
+ },
2746
+ {
2747
+ "internalType": "uint256",
2748
+ "name": "nonce",
2749
+ "type": "uint256"
2750
+ },
2751
+ {
2752
+ "internalType": "uint256",
2753
+ "name": "deadline",
2754
+ "type": "uint256"
2755
+ }
2756
+ ]
2757
+ },
2758
+ {
2759
+ "internalType": "bytes32[]",
2760
+ "name": "proof",
2761
+ "type": "bytes32[]"
2762
+ },
2763
+ {
2764
+ "internalType": "bytes",
2765
+ "name": "signature",
2766
+ "type": "bytes"
2767
+ }
2768
+ ],
2769
+ "stateMutability": "nonpayable",
2770
+ "type": "function",
2771
+ "name": "penalize"
2772
+ },
2773
+ {
2774
+ "inputs": [],
2775
+ "stateMutability": "view",
2776
+ "type": "function",
2777
+ "name": "penaltyMode",
2778
+ "outputs": [
2779
+ {
2780
+ "internalType": "enum BatchVestingDistributorQuoteV2.PenaltyMode",
2781
+ "name": "",
2782
+ "type": "uint8"
2783
+ }
2784
+ ]
2785
+ },
2786
+ {
2787
+ "inputs": [
2788
+ {
2789
+ "internalType": "struct BatchVestingDistributorQuoteV2.Authorization",
2790
+ "name": "a",
2791
+ "type": "tuple",
2792
+ "components": [
2793
+ {
2794
+ "internalType": "bytes32",
2795
+ "name": "campaignId",
2796
+ "type": "bytes32"
2797
+ },
2798
+ {
2799
+ "internalType": "bytes32",
2800
+ "name": "entitlementId",
2801
+ "type": "bytes32"
2802
+ },
2803
+ {
2804
+ "internalType": "address",
2805
+ "name": "committedAccount",
2806
+ "type": "address"
2807
+ },
2808
+ {
2809
+ "internalType": "address",
2810
+ "name": "account",
2811
+ "type": "address"
2812
+ },
2813
+ {
2814
+ "internalType": "uint256",
2815
+ "name": "total",
2816
+ "type": "uint256"
2817
+ },
2818
+ {
2819
+ "internalType": "uint256",
2820
+ "name": "amount",
2821
+ "type": "uint256"
2822
+ },
2823
+ {
2824
+ "internalType": "bytes32",
2825
+ "name": "caseId",
2826
+ "type": "bytes32"
2827
+ },
2828
+ {
2829
+ "internalType": "uint256",
2830
+ "name": "epoch",
2831
+ "type": "uint256"
2832
+ },
2833
+ {
2834
+ "internalType": "uint256",
2835
+ "name": "version",
2836
+ "type": "uint256"
2837
+ },
2838
+ {
2839
+ "internalType": "uint256",
2840
+ "name": "nonce",
2841
+ "type": "uint256"
2842
+ },
2843
+ {
2844
+ "internalType": "uint256",
2845
+ "name": "deadline",
2846
+ "type": "uint256"
2847
+ }
2848
+ ]
2849
+ },
2850
+ {
2851
+ "internalType": "bytes32[]",
2852
+ "name": "proof",
2853
+ "type": "bytes32[]"
2854
+ },
2855
+ {
2856
+ "internalType": "bytes",
2857
+ "name": "signature",
2858
+ "type": "bytes"
2859
+ }
2860
+ ],
2861
+ "stateMutability": "nonpayable",
2862
+ "type": "function",
2863
+ "name": "register"
2864
+ },
2865
+ {
2866
+ "inputs": [
2867
+ {
2868
+ "internalType": "address",
2869
+ "name": "",
2870
+ "type": "address"
2871
+ }
2872
+ ],
2873
+ "stateMutability": "view",
2874
+ "type": "function",
2875
+ "name": "reserved",
2876
+ "outputs": [
2877
+ {
2878
+ "internalType": "uint256",
2879
+ "name": "",
2880
+ "type": "uint256"
2881
+ }
2882
+ ]
2883
+ },
2884
+ {
2885
+ "inputs": [
2886
+ {
2887
+ "internalType": "struct BatchVestingDistributorQuoteV2.Authorization",
2888
+ "name": "a",
2889
+ "type": "tuple",
2890
+ "components": [
2891
+ {
2892
+ "internalType": "bytes32",
2893
+ "name": "campaignId",
2894
+ "type": "bytes32"
2895
+ },
2896
+ {
2897
+ "internalType": "bytes32",
2898
+ "name": "entitlementId",
2899
+ "type": "bytes32"
2900
+ },
2901
+ {
2902
+ "internalType": "address",
2903
+ "name": "committedAccount",
2904
+ "type": "address"
2905
+ },
2906
+ {
2907
+ "internalType": "address",
2908
+ "name": "account",
2909
+ "type": "address"
2910
+ },
2911
+ {
2912
+ "internalType": "uint256",
2913
+ "name": "total",
2914
+ "type": "uint256"
2915
+ },
2916
+ {
2917
+ "internalType": "uint256",
2918
+ "name": "amount",
2919
+ "type": "uint256"
2920
+ },
2921
+ {
2922
+ "internalType": "bytes32",
2923
+ "name": "caseId",
2924
+ "type": "bytes32"
2925
+ },
2926
+ {
2927
+ "internalType": "uint256",
2928
+ "name": "epoch",
2929
+ "type": "uint256"
2930
+ },
2931
+ {
2932
+ "internalType": "uint256",
2933
+ "name": "version",
2934
+ "type": "uint256"
2935
+ },
2936
+ {
2937
+ "internalType": "uint256",
2938
+ "name": "nonce",
2939
+ "type": "uint256"
2940
+ },
2941
+ {
2942
+ "internalType": "uint256",
2943
+ "name": "deadline",
2944
+ "type": "uint256"
2945
+ }
2946
+ ]
2947
+ },
2948
+ {
2949
+ "internalType": "bytes32[]",
2950
+ "name": "proof",
2951
+ "type": "bytes32[]"
2952
+ },
2953
+ {
2954
+ "internalType": "bytes",
2955
+ "name": "signature",
2956
+ "type": "bytes"
2957
+ }
2958
+ ],
2959
+ "stateMutability": "nonpayable",
2960
+ "type": "function",
2961
+ "name": "restore"
2962
+ },
2963
+ {
2964
+ "inputs": [
2965
+ {
2966
+ "internalType": "bytes32",
2967
+ "name": "id",
2968
+ "type": "bytes32"
2969
+ },
2970
+ {
2971
+ "internalType": "bytes32",
2972
+ "name": "rightId",
2973
+ "type": "bytes32"
2974
+ }
2975
+ ],
2976
+ "stateMutability": "view",
2977
+ "type": "function",
2978
+ "name": "rightState",
2979
+ "outputs": [
2980
+ {
2981
+ "internalType": "struct BatchVestingDistributorQuoteV2.Right",
2982
+ "name": "",
2983
+ "type": "tuple",
2984
+ "components": [
2985
+ {
2986
+ "internalType": "address",
2987
+ "name": "committedAccount",
2988
+ "type": "address"
2989
+ },
2990
+ {
2991
+ "internalType": "address",
2992
+ "name": "account",
2993
+ "type": "address"
2994
+ },
2995
+ {
2996
+ "internalType": "uint256",
2997
+ "name": "total",
2998
+ "type": "uint256"
2999
+ },
3000
+ {
3001
+ "internalType": "uint256",
3002
+ "name": "cap",
3003
+ "type": "uint256"
3004
+ },
3005
+ {
3006
+ "internalType": "uint256",
3007
+ "name": "claimed",
3008
+ "type": "uint256"
3009
+ },
3010
+ {
3011
+ "internalType": "uint256",
3012
+ "name": "deducted",
3013
+ "type": "uint256"
3014
+ },
3015
+ {
3016
+ "internalType": "uint256",
3017
+ "name": "restored",
3018
+ "type": "uint256"
3019
+ },
3020
+ {
3021
+ "internalType": "uint256",
3022
+ "name": "checkpointVested",
3023
+ "type": "uint256"
3024
+ },
3025
+ {
3026
+ "internalType": "uint256",
3027
+ "name": "checkpointDay",
3028
+ "type": "uint256"
3029
+ },
3030
+ {
3031
+ "internalType": "uint256",
3032
+ "name": "version",
3033
+ "type": "uint256"
3034
+ },
3035
+ {
3036
+ "internalType": "bool",
3037
+ "name": "registered",
3038
+ "type": "bool"
3039
+ },
3040
+ {
3041
+ "internalType": "bool",
3042
+ "name": "swept",
3043
+ "type": "bool"
3044
+ },
3045
+ {
3046
+ "internalType": "bool",
3047
+ "name": "originalCurve",
3048
+ "type": "bool"
3049
+ }
3050
+ ]
3051
+ }
3052
+ ]
3053
+ },
3054
+ {
3055
+ "inputs": [
3056
+ {
3057
+ "internalType": "bytes32",
3058
+ "name": "id",
3059
+ "type": "bytes32"
3060
+ },
3061
+ {
3062
+ "internalType": "address",
3063
+ "name": "committedAccount",
3064
+ "type": "address"
3065
+ },
3066
+ {
3067
+ "internalType": "uint256",
3068
+ "name": "total",
3069
+ "type": "uint256"
3070
+ }
3071
+ ],
3072
+ "stateMutability": "pure",
3073
+ "type": "function",
3074
+ "name": "rightsLeaf",
3075
+ "outputs": [
3076
+ {
3077
+ "internalType": "bytes32",
3078
+ "name": "",
3079
+ "type": "bytes32"
3080
+ }
3081
+ ]
3082
+ },
3083
+ {
3084
+ "inputs": [],
3085
+ "stateMutability": "view",
3086
+ "type": "function",
3087
+ "name": "rootSigner",
3088
+ "outputs": [
3089
+ {
3090
+ "internalType": "address",
3091
+ "name": "",
3092
+ "type": "address"
3093
+ }
3094
+ ]
3095
+ },
3096
+ {
3097
+ "inputs": [
3098
+ {
3099
+ "internalType": "address",
3100
+ "name": "token",
3101
+ "type": "address"
3102
+ },
3103
+ {
3104
+ "internalType": "address",
3105
+ "name": "bond",
3106
+ "type": "address"
3107
+ },
3108
+ {
3109
+ "internalType": "bytes32",
3110
+ "name": "authorizationHash",
3111
+ "type": "bytes32"
3112
+ },
3113
+ {
3114
+ "internalType": "uint256",
3115
+ "name": "nonce",
3116
+ "type": "uint256"
3117
+ },
3118
+ {
3119
+ "internalType": "uint256",
3120
+ "name": "deadline",
3121
+ "type": "uint256"
3122
+ },
3123
+ {
3124
+ "internalType": "bytes",
3125
+ "name": "signature",
3126
+ "type": "bytes"
3127
+ }
3128
+ ],
3129
+ "stateMutability": "nonpayable",
3130
+ "type": "function",
3131
+ "name": "settleEmptyAllocation"
3132
+ },
3133
+ {
3134
+ "inputs": [
3135
+ {
3136
+ "internalType": "bytes32",
3137
+ "name": "id",
3138
+ "type": "bytes32"
3139
+ },
3140
+ {
3141
+ "internalType": "bytes32",
3142
+ "name": "rightId",
3143
+ "type": "bytes32"
3144
+ },
3145
+ {
3146
+ "internalType": "address",
3147
+ "name": "committedAccount",
3148
+ "type": "address"
3149
+ },
3150
+ {
3151
+ "internalType": "uint256",
3152
+ "name": "total",
3153
+ "type": "uint256"
3154
+ },
3155
+ {
3156
+ "internalType": "bytes32[]",
3157
+ "name": "proof",
3158
+ "type": "bytes32[]"
3159
+ }
3160
+ ],
3161
+ "stateMutability": "nonpayable",
3162
+ "type": "function",
3163
+ "name": "sweepUnregistered"
3164
+ },
3165
+ {
3166
+ "inputs": [],
3167
+ "stateMutability": "view",
3168
+ "type": "function",
3169
+ "name": "treasury",
3170
+ "outputs": [
3171
+ {
3172
+ "internalType": "address",
3173
+ "name": "",
3174
+ "type": "address"
3175
+ }
3176
+ ]
3177
+ },
3178
+ {
3179
+ "inputs": [
3180
+ {
3181
+ "internalType": "uint256",
3182
+ "name": "",
3183
+ "type": "uint256"
3184
+ },
3185
+ {
3186
+ "internalType": "uint256",
3187
+ "name": "",
3188
+ "type": "uint256"
3189
+ }
3190
+ ],
3191
+ "stateMutability": "view",
3192
+ "type": "function",
3193
+ "name": "usedNonces",
3194
+ "outputs": [
3195
+ {
3196
+ "internalType": "bool",
3197
+ "name": "",
3198
+ "type": "bool"
3199
+ }
3200
+ ]
3201
+ },
3202
+ {
3203
+ "inputs": [
3204
+ {
3205
+ "internalType": "bytes32",
3206
+ "name": "id",
3207
+ "type": "bytes32"
3208
+ },
3209
+ {
3210
+ "internalType": "bytes32",
3211
+ "name": "rightId",
3212
+ "type": "bytes32"
3213
+ }
3214
+ ],
3215
+ "stateMutability": "view",
3216
+ "type": "function",
3217
+ "name": "vested",
3218
+ "outputs": [
3219
+ {
3220
+ "internalType": "uint256",
3221
+ "name": "",
3222
+ "type": "uint256"
3223
+ }
3224
+ ]
3225
+ }
3226
+ ],
3227
+ "devdoc": {
3228
+ "kind": "dev",
3229
+ "methods": {
3230
+ "eip712Domain()": {
3231
+ "details": "returns the fields and values that describe the domain separator used by this contract for EIP-712 signature."
3232
+ }
3233
+ },
3234
+ "version": 1
3235
+ },
3236
+ "userdoc": {
3237
+ "kind": "user",
3238
+ "methods": {
3239
+ "emptyAllocationOf(address)": {
3240
+ "notice": "Full configured airdrop redirected to the fixed platform treasury when the signed snapshot has no eligible people."
3241
+ },
3242
+ "fundCampaign(bytes32)": {
3243
+ "notice": "Reserve prepaid Launcher allocation. The fixed campaign budget cannot be reused."
3244
+ },
3245
+ "hashEmptyAllocation(address,address,bytes32,uint256,uint256)": {
3246
+ "notice": "Explicit root-authority attestation of an empty frozen allocation. No synthetic rights leaf. Chain cannot determine off-chain eligibility: the signer must only authorize a zero-eligible snapshot."
3247
+ },
3248
+ "settleEmptyAllocation(address,address,bytes32,uint256,uint256,bytes)": {
3249
+ "notice": "Redirect the whole airdrop, once, to the immutable platform treasury. Cannot take reserved rights."
3250
+ }
3251
+ },
3252
+ "version": 1
3253
+ }
3254
+ },
3255
+ "settings": {
3256
+ "remappings": [
3257
+ "@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/",
3258
+ "forge-std/=lib/forge-std/src/"
3259
+ ],
3260
+ "optimizer": {
3261
+ "enabled": true,
3262
+ "runs": 200
3263
+ },
3264
+ "metadata": {
3265
+ "bytecodeHash": "ipfs"
3266
+ },
3267
+ "compilationTarget": {
3268
+ "src/BatchVestingDistributorQuoteV2.sol": "BatchVestingDistributorQuoteV2"
3269
+ },
3270
+ "evmVersion": "paris",
3271
+ "libraries": {}
3272
+ },
3273
+ "sources": {
3274
+ "lib/openzeppelin-contracts/contracts/interfaces/IERC1271.sol": {
3275
+ "keccak256": "0x3d4cd07258d675b6dfa3d9dfd623a77b38fb9935f4a5381ff4bc969948720976",
3276
+ "urls": [
3277
+ "bzz-raw://30abb60a4d98ad9a33de4fa5e9072342e12df3a79e9c71b5f59ce049ae8cd535",
3278
+ "dweb:/ipfs/QmT6NXJDjsf8H14nPYQsFELDB8q5ZTmG9cjdX2bEQJW7ST"
3279
+ ],
3280
+ "license": "MIT"
3281
+ },
3282
+ "lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol": {
3283
+ "keccak256": "0x9b6b3e7803bc5f2f8cd7ad57db8ac1def61a9930a5a3107df4882e028a9605d7",
3284
+ "urls": [
3285
+ "bzz-raw://da62d6be1f5c6edf577f0cb45666a8aa9c2086a4bac87d95d65f02e2f4c36a4b",
3286
+ "dweb:/ipfs/QmNkpvBpoCMvX8JwAFNSc5XxJ2q5BXJpL5L1txb4QkqVFF"
3287
+ ],
3288
+ "license": "MIT"
3289
+ },
3290
+ "lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol": {
3291
+ "keccak256": "0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724",
3292
+ "urls": [
3293
+ "bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a",
3294
+ "dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS"
3295
+ ],
3296
+ "license": "MIT"
3297
+ },
3298
+ "lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol": {
3299
+ "keccak256": "0xce41876e78d1badc0512229b4d14e4daf83bc1003d7f83978d18e0e56f965b9c",
3300
+ "urls": [
3301
+ "bzz-raw://a2608291cb038b388d80b79a06b6118a42f7894ff67b7da10ec0dbbf5b2973ba",
3302
+ "dweb:/ipfs/QmWohqcBLbcxmA4eGPhZDXe5RYMMEEpFq22nfkaUMvTfw1"
3303
+ ],
3304
+ "license": "MIT"
3305
+ },
3306
+ "lib/openzeppelin-contracts/contracts/interfaces/IERC5267.sol": {
3307
+ "keccak256": "0x92aa1df62dc3d33f1656d63bede0923e0df0b706ad4137c8b10b0a8fe549fd92",
3308
+ "urls": [
3309
+ "bzz-raw://c5c0f29195ad64cbe556da8e257dac8f05f78c53f90323c0d2accf8e6922d33a",
3310
+ "dweb:/ipfs/QmQ61TED8uaCZwcbh8KkgRSsCav7x7HbcGHwHts3U4DmUP"
3311
+ ],
3312
+ "license": "MIT"
3313
+ },
3314
+ "lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol": {
3315
+ "keccak256": "0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7",
3316
+ "urls": [
3317
+ "bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db",
3318
+ "dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9"
3319
+ ],
3320
+ "license": "MIT"
3321
+ },
3322
+ "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol": {
3323
+ "keccak256": "0x982c5cb790ab941d1e04f807120a71709d4c313ba0bfc16006447ffbd27fbbd5",
3324
+ "urls": [
3325
+ "bzz-raw://8150ceb4ac947e8a442b2a9c017e01e880b2be2dd958f1fa9bc405f4c5a86508",
3326
+ "dweb:/ipfs/QmbcBmFX66AY6Kbhnd5gx7zpkgqnUafo43XnmayAM7zVdB"
3327
+ ],
3328
+ "license": "MIT"
3329
+ },
3330
+ "lib/openzeppelin-contracts/contracts/utils/Panic.sol": {
3331
+ "keccak256": "0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a",
3332
+ "urls": [
3333
+ "bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a",
3334
+ "dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG"
3335
+ ],
3336
+ "license": "MIT"
3337
+ },
3338
+ "lib/openzeppelin-contracts/contracts/utils/ReentrancyGuard.sol": {
3339
+ "keccak256": "0x11a5a79827df29e915a12740caf62fe21ebe27c08c9ae3e09abe9ee3ba3866d3",
3340
+ "urls": [
3341
+ "bzz-raw://3cf0c69ab827e3251db9ee6a50647d62c90ba580a4d7bbff21f2bea39e7b2f4a",
3342
+ "dweb:/ipfs/QmZiKwtKU1SBX4RGfQtY7PZfiapbbu6SZ9vizGQD9UHjRA"
3343
+ ],
3344
+ "license": "MIT"
3345
+ },
3346
+ "lib/openzeppelin-contracts/contracts/utils/ShortStrings.sol": {
3347
+ "keccak256": "0x1fcf8cceb1a67e6c8512267e780933c4a3f63ef44756e6c818fda79be51c8402",
3348
+ "urls": [
3349
+ "bzz-raw://617d7d57f6f9cd449068b4d23daf485676d083aae648e038d05eb3a13291de35",
3350
+ "dweb:/ipfs/QmPADWPiGaSzZDFNpFEUx4ZPqhzPkYncBpHyTfAGcfsqzy"
3351
+ ],
3352
+ "license": "MIT"
3353
+ },
3354
+ "lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol": {
3355
+ "keccak256": "0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97",
3356
+ "urls": [
3357
+ "bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b",
3358
+ "dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM"
3359
+ ],
3360
+ "license": "MIT"
3361
+ },
3362
+ "lib/openzeppelin-contracts/contracts/utils/Strings.sol": {
3363
+ "keccak256": "0x81c274a60a7ae232ae3dc9ff3a4011b4849a853c13b0832cd3351bb1bb2f0dae",
3364
+ "urls": [
3365
+ "bzz-raw://9da0c20dc74358a2a76330818f3bac9d1e2ce3371aec847b9cbf5d147fbae4f6",
3366
+ "dweb:/ipfs/QmeczhmnFv1hbXKGLwbYXY6Rrytc9a5A2YaRi5QMMgjPnb"
3367
+ ],
3368
+ "license": "MIT"
3369
+ },
3370
+ "lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol": {
3371
+ "keccak256": "0x69f54c02b7d81d505910ec198c11ed4c6a728418a868b906b4a0cf29946fda84",
3372
+ "urls": [
3373
+ "bzz-raw://8e25e4bdb7ae1f21d23bfee996e22736fc0ab44cfabedac82a757b1edc5623b9",
3374
+ "dweb:/ipfs/QmQdWQvB6JCP9ZMbzi8EvQ1PTETqkcTWrbcVurS7DKpa5n"
3375
+ ],
3376
+ "license": "MIT"
3377
+ },
3378
+ "lib/openzeppelin-contracts/contracts/utils/cryptography/EIP712.sol": {
3379
+ "keccak256": "0x0c60057e7351874f086db8dc9291b7ada9ad62cb7725befd2991430d04a74572",
3380
+ "urls": [
3381
+ "bzz-raw://33cdfd1fc36410d45046f88ff9864350146b194736c32834baa38d99b843ffbe",
3382
+ "dweb:/ipfs/QmdVmqgFKjgEBURy4KUwWDA6J1LEg1BKcHcXsx4nkeHAD2"
3383
+ ],
3384
+ "license": "MIT"
3385
+ },
3386
+ "lib/openzeppelin-contracts/contracts/utils/cryptography/Hashes.sol": {
3387
+ "keccak256": "0x8cbd338f083224b4b6f0ff42cbda641a0a6c31ffcdca197452b97fe4d0918269",
3388
+ "urls": [
3389
+ "bzz-raw://f517dec5ba0c6491395acbf7f1d621f4e89e8f218bf5303c867b1c5ad70c6b11",
3390
+ "dweb:/ipfs/QmWmXHRLEw8W6ckth7NyYTU88YfvuS7xSsfae5ksL8qNUe"
3391
+ ],
3392
+ "license": "MIT"
3393
+ },
3394
+ "lib/openzeppelin-contracts/contracts/utils/cryptography/MerkleProof.sol": {
3395
+ "keccak256": "0x36a0c409c437a753cac9b92b75f93b0fbe92803bf2c8ff1517e54b247f166134",
3396
+ "urls": [
3397
+ "bzz-raw://0f91ba472de411aa557cdbf6560c40750d87bd11c9060bc04d2ba7119af9d5a6",
3398
+ "dweb:/ipfs/QmQjtYo2i7dDvzCEzZ67bDoNSG4RrwMoxPWuqFmX5Xzpuw"
3399
+ ],
3400
+ "license": "MIT"
3401
+ },
3402
+ "lib/openzeppelin-contracts/contracts/utils/cryptography/MessageHashUtils.sol": {
3403
+ "keccak256": "0x26670fef37d4adf55570ba78815eec5f31cb017e708f61886add4fc4da665631",
3404
+ "urls": [
3405
+ "bzz-raw://b16d45febff462bafd8a5669f904796a835baf607df58a8461916d3bf4f08c59",
3406
+ "dweb:/ipfs/QmU2eJFpjmT4vxeJWJyLeQb8Xht1kdB8Y6MKLDPFA9WPux"
3407
+ ],
3408
+ "license": "MIT"
3409
+ },
3410
+ "lib/openzeppelin-contracts/contracts/utils/cryptography/SignatureChecker.sol": {
3411
+ "keccak256": "0xbdc3bb48ccedb818cd75a6d74a16df55a822e9f6d3cc54c59f576f10aab67b5f",
3412
+ "urls": [
3413
+ "bzz-raw://2284f25f2478f419d7781573b17a89d0e7c5589a865d55e2d6ed5163aee23aa8",
3414
+ "dweb:/ipfs/QmNsr2625APBQiNKpYnX5VcSnYgfUHR9Uzzp9pRXjoDqK7"
3415
+ ],
3416
+ "license": "MIT"
3417
+ },
3418
+ "lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol": {
3419
+ "keccak256": "0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8",
3420
+ "urls": [
3421
+ "bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621",
3422
+ "dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL"
3423
+ ],
3424
+ "license": "MIT"
3425
+ },
3426
+ "lib/openzeppelin-contracts/contracts/utils/math/Math.sol": {
3427
+ "keccak256": "0x1225214420c83ebcca88f2ae2b50f053aaa7df7bd684c3e878d334627f2edfc6",
3428
+ "urls": [
3429
+ "bzz-raw://6c5fab4970634f9ab9a620983dc1c8a30153981a0b1a521666e269d0a11399d3",
3430
+ "dweb:/ipfs/QmVRnBC575MESGkEHndjujtR7qub2FzU9RWy9eKLp4hPZB"
3431
+ ],
3432
+ "license": "MIT"
3433
+ },
3434
+ "lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol": {
3435
+ "keccak256": "0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54",
3436
+ "urls": [
3437
+ "bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8",
3438
+ "dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy"
3439
+ ],
3440
+ "license": "MIT"
3441
+ },
3442
+ "lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol": {
3443
+ "keccak256": "0xb1970fac7b64e6c09611e6691791e848d5e3fe410fa5899e7df2e0afd77a99e3",
3444
+ "urls": [
3445
+ "bzz-raw://db5fbb3dddd8b7047465b62575d96231ba8a2774d37fb4737fbf23340fabbb03",
3446
+ "dweb:/ipfs/QmVUSvooZKEdEdap619tcJjTLcAuH6QBdZqAzWwnAXZAWJ"
3447
+ ],
3448
+ "license": "MIT"
3449
+ },
3450
+ "src/BatchVestingDistributorQuoteV2.sol": {
3451
+ "keccak256": "0x026af90afabbe96480222e3d83893de8231bc49bb3627be9d9906ffa404540a0",
3452
+ "urls": [
3453
+ "bzz-raw://3dfcd586db8fe6a6d9546c02e4c322ab19a41a79c50690e50bf041dd41112c59",
3454
+ "dweb:/ipfs/QmYdxAxYupjpdgyAZsNa89oxvr7jSsx9GofTjcnQWnqDLH"
3455
+ ],
3456
+ "license": "MIT"
3457
+ },
3458
+ "src/interfaces/IQuoteV2Bond.sol": {
3459
+ "keccak256": "0xb3c45b55608fdd70f6147cdc9f5125b8ca843da1b67572b1752d62bd01ef44d4",
3460
+ "urls": [
3461
+ "bzz-raw://b7dc90766ad7e3773dd7df34a8529dfddc0dd8256e9cd26a67f435b51b48d938",
3462
+ "dweb:/ipfs/QmfRevsF6hgdbqPWp4iBK7CYhHhL691XQsJdxmVrWuYzHo"
3463
+ ],
3464
+ "license": "MIT"
3465
+ },
3466
+ "src/interfaces/IQuoteV2BondFactory.sol": {
3467
+ "keccak256": "0xc7c17000974a1257017930b1679f856c8d1e9cddfd41875ac56024f4a9a58994",
3468
+ "urls": [
3469
+ "bzz-raw://c3f3b4ea51afffebc342fb943418c092598dd6aee90dcb5f5d6760a67a48d4d8",
3470
+ "dweb:/ipfs/QmXn1h4nQ2wwBHmd7gU2WND31ZK7FPfe9PdUJemCb37873"
3471
+ ],
3472
+ "license": "MIT"
3473
+ }
3474
+ },
3475
+ "version": 1
3476
+ },
3477
+ "immutableReferences": {
3478
+ "3611": [
3479
+ {
3480
+ "start": 13097,
3481
+ "length": 32
3482
+ }
3483
+ ],
3484
+ "3613": [
3485
+ {
3486
+ "start": 13055,
3487
+ "length": 32
3488
+ }
3489
+ ],
3490
+ "3615": [
3491
+ {
3492
+ "start": 13013,
3493
+ "length": 32
3494
+ }
3495
+ ],
3496
+ "3617": [
3497
+ {
3498
+ "start": 13178,
3499
+ "length": 32
3500
+ }
3501
+ ],
3502
+ "3619": [
3503
+ {
3504
+ "start": 13218,
3505
+ "length": 32
3506
+ }
3507
+ ],
3508
+ "3622": [
3509
+ {
3510
+ "start": 12428,
3511
+ "length": 32
3512
+ }
3513
+ ],
3514
+ "3625": [
3515
+ {
3516
+ "start": 12478,
3517
+ "length": 32
3518
+ }
3519
+ ],
3520
+ "8814": [
3521
+ {
3522
+ "start": 1531,
3523
+ "length": 32
3524
+ },
3525
+ {
3526
+ "start": 10496,
3527
+ "length": 32
3528
+ }
3529
+ ],
3530
+ "8816": [
3531
+ {
3532
+ "start": 1210,
3533
+ "length": 32
3534
+ },
3535
+ {
3536
+ "start": 3825,
3537
+ "length": 32
3538
+ },
3539
+ {
3540
+ "start": 4261,
3541
+ "length": 32
3542
+ },
3543
+ {
3544
+ "start": 7351,
3545
+ "length": 32
3546
+ },
3547
+ {
3548
+ "start": 9313,
3549
+ "length": 32
3550
+ },
3551
+ {
3552
+ "start": 9406,
3553
+ "length": 32
3554
+ }
3555
+ ],
3556
+ "8819": [
3557
+ {
3558
+ "start": 925,
3559
+ "length": 32
3560
+ },
3561
+ {
3562
+ "start": 2122,
3563
+ "length": 32
3564
+ },
3565
+ {
3566
+ "start": 2462,
3567
+ "length": 32
3568
+ },
3569
+ {
3570
+ "start": 4878,
3571
+ "length": 32
3572
+ },
3573
+ {
3574
+ "start": 5394,
3575
+ "length": 32
3576
+ },
3577
+ {
3578
+ "start": 8332,
3579
+ "length": 32
3580
+ },
3581
+ {
3582
+ "start": 8587,
3583
+ "length": 32
3584
+ },
3585
+ {
3586
+ "start": 8778,
3587
+ "length": 32
3588
+ }
3589
+ ],
3590
+ "8822": [
3591
+ {
3592
+ "start": 1249,
3593
+ "length": 32
3594
+ },
3595
+ {
3596
+ "start": 11252,
3597
+ "length": 32
3598
+ }
3599
+ ]
3600
+ }
3601
+ }