@hanamesh/api-contracts 0.0.0-stage → 0.22.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,2820 @@
1
+ {
2
+ "contract": "HanaLauncherQuoteV2",
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": "platform_",
15
+ "type": "address",
16
+ "internalType": "address"
17
+ },
18
+ {
19
+ "name": "factory_",
20
+ "type": "address",
21
+ "internalType": "address"
22
+ },
23
+ {
24
+ "name": "points_",
25
+ "type": "address",
26
+ "internalType": "address"
27
+ }
28
+ ],
29
+ "stateMutability": "nonpayable"
30
+ },
31
+ {
32
+ "type": "function",
33
+ "name": "AUTHORIZATION_TYPEHASH",
34
+ "inputs": [],
35
+ "outputs": [
36
+ {
37
+ "name": "",
38
+ "type": "bytes32",
39
+ "internalType": "bytes32"
40
+ }
41
+ ],
42
+ "stateMutability": "view"
43
+ },
44
+ {
45
+ "type": "function",
46
+ "name": "BASE_TREASURY_RESERVE",
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": "BOND",
60
+ "inputs": [],
61
+ "outputs": [
62
+ {
63
+ "name": "",
64
+ "type": "uint256",
65
+ "internalType": "uint256"
66
+ }
67
+ ],
68
+ "stateMutability": "view"
69
+ },
70
+ {
71
+ "type": "function",
72
+ "name": "CREATOR_BUCKET",
73
+ "inputs": [],
74
+ "outputs": [
75
+ {
76
+ "name": "",
77
+ "type": "uint8",
78
+ "internalType": "uint8"
79
+ }
80
+ ],
81
+ "stateMutability": "view"
82
+ },
83
+ {
84
+ "type": "function",
85
+ "name": "CREATOR_RESERVE",
86
+ "inputs": [],
87
+ "outputs": [
88
+ {
89
+ "name": "",
90
+ "type": "uint256",
91
+ "internalType": "uint256"
92
+ }
93
+ ],
94
+ "stateMutability": "view"
95
+ },
96
+ {
97
+ "type": "function",
98
+ "name": "MAX_POINTS",
99
+ "inputs": [],
100
+ "outputs": [
101
+ {
102
+ "name": "",
103
+ "type": "uint256",
104
+ "internalType": "uint256"
105
+ }
106
+ ],
107
+ "stateMutability": "view"
108
+ },
109
+ {
110
+ "type": "function",
111
+ "name": "MAX_POINTS_BPS",
112
+ "inputs": [],
113
+ "outputs": [
114
+ {
115
+ "name": "",
116
+ "type": "uint256",
117
+ "internalType": "uint256"
118
+ }
119
+ ],
120
+ "stateMutability": "view"
121
+ },
122
+ {
123
+ "type": "function",
124
+ "name": "TOTAL",
125
+ "inputs": [],
126
+ "outputs": [
127
+ {
128
+ "name": "",
129
+ "type": "uint256",
130
+ "internalType": "uint256"
131
+ }
132
+ ],
133
+ "stateMutability": "view"
134
+ },
135
+ {
136
+ "type": "function",
137
+ "name": "TREASURY_BUCKET",
138
+ "inputs": [],
139
+ "outputs": [
140
+ {
141
+ "name": "",
142
+ "type": "uint8",
143
+ "internalType": "uint8"
144
+ }
145
+ ],
146
+ "stateMutability": "view"
147
+ },
148
+ {
149
+ "type": "function",
150
+ "name": "admissionSigner",
151
+ "inputs": [],
152
+ "outputs": [
153
+ {
154
+ "name": "",
155
+ "type": "address",
156
+ "internalType": "address"
157
+ }
158
+ ],
159
+ "stateMutability": "view"
160
+ },
161
+ {
162
+ "type": "function",
163
+ "name": "authorizationDigest",
164
+ "inputs": [
165
+ {
166
+ "name": "a",
167
+ "type": "tuple",
168
+ "internalType": "struct HanaLauncherQuoteV2.LaunchAuthorization",
169
+ "components": [
170
+ {
171
+ "name": "hanaId",
172
+ "type": "bytes32",
173
+ "internalType": "bytes32"
174
+ },
175
+ {
176
+ "name": "requestId",
177
+ "type": "bytes32",
178
+ "internalType": "bytes32"
179
+ },
180
+ {
181
+ "name": "payer",
182
+ "type": "address",
183
+ "internalType": "address"
184
+ },
185
+ {
186
+ "name": "subject",
187
+ "type": "bytes32",
188
+ "internalType": "bytes32"
189
+ },
190
+ {
191
+ "name": "snapshot",
192
+ "type": "bytes32",
193
+ "internalType": "bytes32"
194
+ },
195
+ {
196
+ "name": "name",
197
+ "type": "string",
198
+ "internalType": "string"
199
+ },
200
+ {
201
+ "name": "symbol",
202
+ "type": "string",
203
+ "internalType": "string"
204
+ },
205
+ {
206
+ "name": "hanaTreasury",
207
+ "type": "address",
208
+ "internalType": "address"
209
+ },
210
+ {
211
+ "name": "quote",
212
+ "type": "address",
213
+ "internalType": "address"
214
+ },
215
+ {
216
+ "name": "launchFeeWei",
217
+ "type": "uint256",
218
+ "internalType": "uint256"
219
+ },
220
+ {
221
+ "name": "pointsBps",
222
+ "type": "uint256",
223
+ "internalType": "uint256"
224
+ },
225
+ {
226
+ "name": "earlyReleaseAllowed",
227
+ "type": "bool",
228
+ "internalType": "bool"
229
+ },
230
+ {
231
+ "name": "deadline",
232
+ "type": "uint256",
233
+ "internalType": "uint256"
234
+ }
235
+ ]
236
+ }
237
+ ],
238
+ "outputs": [
239
+ {
240
+ "name": "",
241
+ "type": "bytes32",
242
+ "internalType": "bytes32"
243
+ }
244
+ ],
245
+ "stateMutability": "view"
246
+ },
247
+ {
248
+ "type": "function",
249
+ "name": "bondFactory",
250
+ "inputs": [],
251
+ "outputs": [
252
+ {
253
+ "name": "",
254
+ "type": "address",
255
+ "internalType": "contract IQuoteV2LaunchBondFactory"
256
+ }
257
+ ],
258
+ "stateMutability": "view"
259
+ },
260
+ {
261
+ "type": "function",
262
+ "name": "domainSeparator",
263
+ "inputs": [],
264
+ "outputs": [
265
+ {
266
+ "name": "",
267
+ "type": "bytes32",
268
+ "internalType": "bytes32"
269
+ }
270
+ ],
271
+ "stateMutability": "view"
272
+ },
273
+ {
274
+ "type": "function",
275
+ "name": "eip712Domain",
276
+ "inputs": [],
277
+ "outputs": [
278
+ {
279
+ "name": "fields",
280
+ "type": "bytes1",
281
+ "internalType": "bytes1"
282
+ },
283
+ {
284
+ "name": "name",
285
+ "type": "string",
286
+ "internalType": "string"
287
+ },
288
+ {
289
+ "name": "version",
290
+ "type": "string",
291
+ "internalType": "string"
292
+ },
293
+ {
294
+ "name": "chainId",
295
+ "type": "uint256",
296
+ "internalType": "uint256"
297
+ },
298
+ {
299
+ "name": "verifyingContract",
300
+ "type": "address",
301
+ "internalType": "address"
302
+ },
303
+ {
304
+ "name": "salt",
305
+ "type": "bytes32",
306
+ "internalType": "bytes32"
307
+ },
308
+ {
309
+ "name": "extensions",
310
+ "type": "uint256[]",
311
+ "internalType": "uint256[]"
312
+ }
313
+ ],
314
+ "stateMutability": "view"
315
+ },
316
+ {
317
+ "type": "function",
318
+ "name": "feeTreasury",
319
+ "inputs": [],
320
+ "outputs": [
321
+ {
322
+ "name": "",
323
+ "type": "address",
324
+ "internalType": "address"
325
+ }
326
+ ],
327
+ "stateMutability": "view"
328
+ },
329
+ {
330
+ "type": "function",
331
+ "name": "hashEmptyLaunch",
332
+ "inputs": [
333
+ {
334
+ "name": "a",
335
+ "type": "tuple",
336
+ "internalType": "struct HanaLauncherQuoteV2.LaunchAuthorization",
337
+ "components": [
338
+ {
339
+ "name": "hanaId",
340
+ "type": "bytes32",
341
+ "internalType": "bytes32"
342
+ },
343
+ {
344
+ "name": "requestId",
345
+ "type": "bytes32",
346
+ "internalType": "bytes32"
347
+ },
348
+ {
349
+ "name": "payer",
350
+ "type": "address",
351
+ "internalType": "address"
352
+ },
353
+ {
354
+ "name": "subject",
355
+ "type": "bytes32",
356
+ "internalType": "bytes32"
357
+ },
358
+ {
359
+ "name": "snapshot",
360
+ "type": "bytes32",
361
+ "internalType": "bytes32"
362
+ },
363
+ {
364
+ "name": "name",
365
+ "type": "string",
366
+ "internalType": "string"
367
+ },
368
+ {
369
+ "name": "symbol",
370
+ "type": "string",
371
+ "internalType": "string"
372
+ },
373
+ {
374
+ "name": "hanaTreasury",
375
+ "type": "address",
376
+ "internalType": "address"
377
+ },
378
+ {
379
+ "name": "quote",
380
+ "type": "address",
381
+ "internalType": "address"
382
+ },
383
+ {
384
+ "name": "launchFeeWei",
385
+ "type": "uint256",
386
+ "internalType": "uint256"
387
+ },
388
+ {
389
+ "name": "pointsBps",
390
+ "type": "uint256",
391
+ "internalType": "uint256"
392
+ },
393
+ {
394
+ "name": "earlyReleaseAllowed",
395
+ "type": "bool",
396
+ "internalType": "bool"
397
+ },
398
+ {
399
+ "name": "deadline",
400
+ "type": "uint256",
401
+ "internalType": "uint256"
402
+ }
403
+ ]
404
+ }
405
+ ],
406
+ "outputs": [
407
+ {
408
+ "name": "",
409
+ "type": "bytes32",
410
+ "internalType": "bytes32"
411
+ }
412
+ ],
413
+ "stateMutability": "view"
414
+ },
415
+ {
416
+ "type": "function",
417
+ "name": "issuanceAuthorizationOf",
418
+ "inputs": [
419
+ {
420
+ "name": "",
421
+ "type": "address",
422
+ "internalType": "address"
423
+ }
424
+ ],
425
+ "outputs": [
426
+ {
427
+ "name": "",
428
+ "type": "bytes32",
429
+ "internalType": "bytes32"
430
+ }
431
+ ],
432
+ "stateMutability": "view"
433
+ },
434
+ {
435
+ "type": "function",
436
+ "name": "issuances",
437
+ "inputs": [
438
+ {
439
+ "name": "hanaId",
440
+ "type": "bytes32",
441
+ "internalType": "bytes32"
442
+ }
443
+ ],
444
+ "outputs": [
445
+ {
446
+ "name": "",
447
+ "type": "tuple",
448
+ "internalType": "struct HanaLauncherQuoteV2.Issuance",
449
+ "components": [
450
+ {
451
+ "name": "token",
452
+ "type": "address",
453
+ "internalType": "address"
454
+ },
455
+ {
456
+ "name": "bond",
457
+ "type": "address",
458
+ "internalType": "address"
459
+ },
460
+ {
461
+ "name": "pool",
462
+ "type": "address",
463
+ "internalType": "address"
464
+ },
465
+ {
466
+ "name": "payer",
467
+ "type": "address",
468
+ "internalType": "address"
469
+ },
470
+ {
471
+ "name": "hanaTreasury",
472
+ "type": "address",
473
+ "internalType": "address"
474
+ },
475
+ {
476
+ "name": "requestId",
477
+ "type": "bytes32",
478
+ "internalType": "bytes32"
479
+ },
480
+ {
481
+ "name": "authorizationHash",
482
+ "type": "bytes32",
483
+ "internalType": "bytes32"
484
+ },
485
+ {
486
+ "name": "quote",
487
+ "type": "address",
488
+ "internalType": "address"
489
+ },
490
+ {
491
+ "name": "virtualQuote",
492
+ "type": "uint256",
493
+ "internalType": "uint256"
494
+ },
495
+ {
496
+ "name": "launchFeeWei",
497
+ "type": "uint256",
498
+ "internalType": "uint256"
499
+ },
500
+ {
501
+ "name": "pointsBps",
502
+ "type": "uint256",
503
+ "internalType": "uint256"
504
+ },
505
+ {
506
+ "name": "pointsAmount",
507
+ "type": "uint256",
508
+ "internalType": "uint256"
509
+ },
510
+ {
511
+ "name": "earlyReleaseAllowed",
512
+ "type": "bool",
513
+ "internalType": "bool"
514
+ },
515
+ {
516
+ "name": "treasuryReserve",
517
+ "type": "uint256",
518
+ "internalType": "uint256"
519
+ },
520
+ {
521
+ "name": "creatorReserve",
522
+ "type": "uint256",
523
+ "internalType": "uint256"
524
+ }
525
+ ]
526
+ }
527
+ ],
528
+ "stateMutability": "view"
529
+ },
530
+ {
531
+ "type": "function",
532
+ "name": "launch",
533
+ "inputs": [
534
+ {
535
+ "name": "a",
536
+ "type": "tuple",
537
+ "internalType": "struct HanaLauncherQuoteV2.LaunchAuthorization",
538
+ "components": [
539
+ {
540
+ "name": "hanaId",
541
+ "type": "bytes32",
542
+ "internalType": "bytes32"
543
+ },
544
+ {
545
+ "name": "requestId",
546
+ "type": "bytes32",
547
+ "internalType": "bytes32"
548
+ },
549
+ {
550
+ "name": "payer",
551
+ "type": "address",
552
+ "internalType": "address"
553
+ },
554
+ {
555
+ "name": "subject",
556
+ "type": "bytes32",
557
+ "internalType": "bytes32"
558
+ },
559
+ {
560
+ "name": "snapshot",
561
+ "type": "bytes32",
562
+ "internalType": "bytes32"
563
+ },
564
+ {
565
+ "name": "name",
566
+ "type": "string",
567
+ "internalType": "string"
568
+ },
569
+ {
570
+ "name": "symbol",
571
+ "type": "string",
572
+ "internalType": "string"
573
+ },
574
+ {
575
+ "name": "hanaTreasury",
576
+ "type": "address",
577
+ "internalType": "address"
578
+ },
579
+ {
580
+ "name": "quote",
581
+ "type": "address",
582
+ "internalType": "address"
583
+ },
584
+ {
585
+ "name": "launchFeeWei",
586
+ "type": "uint256",
587
+ "internalType": "uint256"
588
+ },
589
+ {
590
+ "name": "pointsBps",
591
+ "type": "uint256",
592
+ "internalType": "uint256"
593
+ },
594
+ {
595
+ "name": "earlyReleaseAllowed",
596
+ "type": "bool",
597
+ "internalType": "bool"
598
+ },
599
+ {
600
+ "name": "deadline",
601
+ "type": "uint256",
602
+ "internalType": "uint256"
603
+ }
604
+ ]
605
+ },
606
+ {
607
+ "name": "signature",
608
+ "type": "bytes",
609
+ "internalType": "bytes"
610
+ }
611
+ ],
612
+ "outputs": [
613
+ {
614
+ "name": "token",
615
+ "type": "address",
616
+ "internalType": "address"
617
+ },
618
+ {
619
+ "name": "bond",
620
+ "type": "address",
621
+ "internalType": "address"
622
+ }
623
+ ],
624
+ "stateMutability": "payable"
625
+ },
626
+ {
627
+ "type": "function",
628
+ "name": "launchWithEmptyAllocation",
629
+ "inputs": [
630
+ {
631
+ "name": "a",
632
+ "type": "tuple",
633
+ "internalType": "struct HanaLauncherQuoteV2.LaunchAuthorization",
634
+ "components": [
635
+ {
636
+ "name": "hanaId",
637
+ "type": "bytes32",
638
+ "internalType": "bytes32"
639
+ },
640
+ {
641
+ "name": "requestId",
642
+ "type": "bytes32",
643
+ "internalType": "bytes32"
644
+ },
645
+ {
646
+ "name": "payer",
647
+ "type": "address",
648
+ "internalType": "address"
649
+ },
650
+ {
651
+ "name": "subject",
652
+ "type": "bytes32",
653
+ "internalType": "bytes32"
654
+ },
655
+ {
656
+ "name": "snapshot",
657
+ "type": "bytes32",
658
+ "internalType": "bytes32"
659
+ },
660
+ {
661
+ "name": "name",
662
+ "type": "string",
663
+ "internalType": "string"
664
+ },
665
+ {
666
+ "name": "symbol",
667
+ "type": "string",
668
+ "internalType": "string"
669
+ },
670
+ {
671
+ "name": "hanaTreasury",
672
+ "type": "address",
673
+ "internalType": "address"
674
+ },
675
+ {
676
+ "name": "quote",
677
+ "type": "address",
678
+ "internalType": "address"
679
+ },
680
+ {
681
+ "name": "launchFeeWei",
682
+ "type": "uint256",
683
+ "internalType": "uint256"
684
+ },
685
+ {
686
+ "name": "pointsBps",
687
+ "type": "uint256",
688
+ "internalType": "uint256"
689
+ },
690
+ {
691
+ "name": "earlyReleaseAllowed",
692
+ "type": "bool",
693
+ "internalType": "bool"
694
+ },
695
+ {
696
+ "name": "deadline",
697
+ "type": "uint256",
698
+ "internalType": "uint256"
699
+ }
700
+ ]
701
+ },
702
+ {
703
+ "name": "signature",
704
+ "type": "bytes",
705
+ "internalType": "bytes"
706
+ },
707
+ {
708
+ "name": "nonce",
709
+ "type": "uint256",
710
+ "internalType": "uint256"
711
+ },
712
+ {
713
+ "name": "deadline",
714
+ "type": "uint256",
715
+ "internalType": "uint256"
716
+ },
717
+ {
718
+ "name": "emptySignature",
719
+ "type": "bytes",
720
+ "internalType": "bytes"
721
+ }
722
+ ],
723
+ "outputs": [
724
+ {
725
+ "name": "token",
726
+ "type": "address",
727
+ "internalType": "address"
728
+ },
729
+ {
730
+ "name": "bond",
731
+ "type": "address",
732
+ "internalType": "address"
733
+ }
734
+ ],
735
+ "stateMutability": "payable"
736
+ },
737
+ {
738
+ "type": "function",
739
+ "name": "platformAuthority",
740
+ "inputs": [],
741
+ "outputs": [
742
+ {
743
+ "name": "",
744
+ "type": "address",
745
+ "internalType": "address"
746
+ }
747
+ ],
748
+ "stateMutability": "view"
749
+ },
750
+ {
751
+ "type": "function",
752
+ "name": "pointsAmountFor",
753
+ "inputs": [
754
+ {
755
+ "name": "pointsBps",
756
+ "type": "uint256",
757
+ "internalType": "uint256"
758
+ }
759
+ ],
760
+ "outputs": [
761
+ {
762
+ "name": "",
763
+ "type": "uint256",
764
+ "internalType": "uint256"
765
+ }
766
+ ],
767
+ "stateMutability": "pure"
768
+ },
769
+ {
770
+ "type": "function",
771
+ "name": "pointsDistributor",
772
+ "inputs": [],
773
+ "outputs": [
774
+ {
775
+ "name": "",
776
+ "type": "address",
777
+ "internalType": "address"
778
+ }
779
+ ],
780
+ "stateMutability": "view"
781
+ },
782
+ {
783
+ "type": "function",
784
+ "name": "requests",
785
+ "inputs": [
786
+ {
787
+ "name": "",
788
+ "type": "bytes32",
789
+ "internalType": "bytes32"
790
+ }
791
+ ],
792
+ "outputs": [
793
+ {
794
+ "name": "",
795
+ "type": "bytes32",
796
+ "internalType": "bytes32"
797
+ }
798
+ ],
799
+ "stateMutability": "view"
800
+ },
801
+ {
802
+ "type": "function",
803
+ "name": "reserveProposalUsed",
804
+ "inputs": [
805
+ {
806
+ "name": "",
807
+ "type": "bytes32",
808
+ "internalType": "bytes32"
809
+ }
810
+ ],
811
+ "outputs": [
812
+ {
813
+ "name": "",
814
+ "type": "bool",
815
+ "internalType": "bool"
816
+ }
817
+ ],
818
+ "stateMutability": "view"
819
+ },
820
+ {
821
+ "type": "function",
822
+ "name": "reserveState",
823
+ "inputs": [
824
+ {
825
+ "name": "hanaId",
826
+ "type": "bytes32",
827
+ "internalType": "bytes32"
828
+ }
829
+ ],
830
+ "outputs": [
831
+ {
832
+ "name": "s",
833
+ "type": "tuple",
834
+ "internalType": "struct HanaLauncherQuoteV2.ReserveState",
835
+ "components": [
836
+ {
837
+ "name": "token",
838
+ "type": "address",
839
+ "internalType": "address"
840
+ },
841
+ {
842
+ "name": "treasuryInitial",
843
+ "type": "uint256",
844
+ "internalType": "uint256"
845
+ },
846
+ {
847
+ "name": "treasuryWithdrawn",
848
+ "type": "uint256",
849
+ "internalType": "uint256"
850
+ },
851
+ {
852
+ "name": "treasuryRemaining",
853
+ "type": "uint256",
854
+ "internalType": "uint256"
855
+ },
856
+ {
857
+ "name": "creatorInitial",
858
+ "type": "uint256",
859
+ "internalType": "uint256"
860
+ },
861
+ {
862
+ "name": "creatorWithdrawn",
863
+ "type": "uint256",
864
+ "internalType": "uint256"
865
+ },
866
+ {
867
+ "name": "creatorRemaining",
868
+ "type": "uint256",
869
+ "internalType": "uint256"
870
+ }
871
+ ]
872
+ }
873
+ ],
874
+ "stateMutability": "view"
875
+ },
876
+ {
877
+ "type": "function",
878
+ "name": "treasuryReserveFor",
879
+ "inputs": [
880
+ {
881
+ "name": "pointsBps",
882
+ "type": "uint256",
883
+ "internalType": "uint256"
884
+ }
885
+ ],
886
+ "outputs": [
887
+ {
888
+ "name": "",
889
+ "type": "uint256",
890
+ "internalType": "uint256"
891
+ }
892
+ ],
893
+ "stateMutability": "pure"
894
+ },
895
+ {
896
+ "type": "function",
897
+ "name": "withdrawReserve",
898
+ "inputs": [
899
+ {
900
+ "name": "hanaId",
901
+ "type": "bytes32",
902
+ "internalType": "bytes32"
903
+ },
904
+ {
905
+ "name": "bucket",
906
+ "type": "uint8",
907
+ "internalType": "uint8"
908
+ },
909
+ {
910
+ "name": "to",
911
+ "type": "address",
912
+ "internalType": "address"
913
+ },
914
+ {
915
+ "name": "amount",
916
+ "type": "uint256",
917
+ "internalType": "uint256"
918
+ },
919
+ {
920
+ "name": "proposalId",
921
+ "type": "bytes32",
922
+ "internalType": "bytes32"
923
+ },
924
+ {
925
+ "name": "expectedRemaining",
926
+ "type": "uint256",
927
+ "internalType": "uint256"
928
+ }
929
+ ],
930
+ "outputs": [],
931
+ "stateMutability": "nonpayable"
932
+ },
933
+ {
934
+ "type": "event",
935
+ "name": "EIP712DomainChanged",
936
+ "inputs": [],
937
+ "anonymous": false
938
+ },
939
+ {
940
+ "type": "event",
941
+ "name": "FeePaid",
942
+ "inputs": [
943
+ {
944
+ "name": "hanaId",
945
+ "type": "bytes32",
946
+ "indexed": true,
947
+ "internalType": "bytes32"
948
+ },
949
+ {
950
+ "name": "requestId",
951
+ "type": "bytes32",
952
+ "indexed": true,
953
+ "internalType": "bytes32"
954
+ },
955
+ {
956
+ "name": "payer",
957
+ "type": "address",
958
+ "indexed": true,
959
+ "internalType": "address"
960
+ },
961
+ {
962
+ "name": "amount",
963
+ "type": "uint256",
964
+ "indexed": false,
965
+ "internalType": "uint256"
966
+ },
967
+ {
968
+ "name": "treasury",
969
+ "type": "address",
970
+ "indexed": false,
971
+ "internalType": "address"
972
+ }
973
+ ],
974
+ "anonymous": false
975
+ },
976
+ {
977
+ "type": "event",
978
+ "name": "Issued",
979
+ "inputs": [
980
+ {
981
+ "name": "hanaId",
982
+ "type": "bytes32",
983
+ "indexed": true,
984
+ "internalType": "bytes32"
985
+ },
986
+ {
987
+ "name": "requestId",
988
+ "type": "bytes32",
989
+ "indexed": true,
990
+ "internalType": "bytes32"
991
+ },
992
+ {
993
+ "name": "token",
994
+ "type": "address",
995
+ "indexed": true,
996
+ "internalType": "address"
997
+ },
998
+ {
999
+ "name": "bond",
1000
+ "type": "address",
1001
+ "indexed": false,
1002
+ "internalType": "address"
1003
+ },
1004
+ {
1005
+ "name": "pool",
1006
+ "type": "address",
1007
+ "indexed": false,
1008
+ "internalType": "address"
1009
+ },
1010
+ {
1011
+ "name": "payer",
1012
+ "type": "address",
1013
+ "indexed": false,
1014
+ "internalType": "address"
1015
+ },
1016
+ {
1017
+ "name": "pointsBps",
1018
+ "type": "uint256",
1019
+ "indexed": false,
1020
+ "internalType": "uint256"
1021
+ },
1022
+ {
1023
+ "name": "earlyReleaseAllowed",
1024
+ "type": "bool",
1025
+ "indexed": false,
1026
+ "internalType": "bool"
1027
+ },
1028
+ {
1029
+ "name": "authorizationHash",
1030
+ "type": "bytes32",
1031
+ "indexed": false,
1032
+ "internalType": "bytes32"
1033
+ },
1034
+ {
1035
+ "name": "quote",
1036
+ "type": "address",
1037
+ "indexed": false,
1038
+ "internalType": "address"
1039
+ },
1040
+ {
1041
+ "name": "virtualQuote",
1042
+ "type": "uint256",
1043
+ "indexed": false,
1044
+ "internalType": "uint256"
1045
+ },
1046
+ {
1047
+ "name": "launchFeeWei",
1048
+ "type": "uint256",
1049
+ "indexed": false,
1050
+ "internalType": "uint256"
1051
+ }
1052
+ ],
1053
+ "anonymous": false
1054
+ },
1055
+ {
1056
+ "type": "event",
1057
+ "name": "ReserveWithdrawn",
1058
+ "inputs": [
1059
+ {
1060
+ "name": "hanaId",
1061
+ "type": "bytes32",
1062
+ "indexed": true,
1063
+ "internalType": "bytes32"
1064
+ },
1065
+ {
1066
+ "name": "bucket",
1067
+ "type": "uint8",
1068
+ "indexed": true,
1069
+ "internalType": "uint8"
1070
+ },
1071
+ {
1072
+ "name": "to",
1073
+ "type": "address",
1074
+ "indexed": true,
1075
+ "internalType": "address"
1076
+ },
1077
+ {
1078
+ "name": "token",
1079
+ "type": "address",
1080
+ "indexed": false,
1081
+ "internalType": "address"
1082
+ },
1083
+ {
1084
+ "name": "amount",
1085
+ "type": "uint256",
1086
+ "indexed": false,
1087
+ "internalType": "uint256"
1088
+ },
1089
+ {
1090
+ "name": "remaining",
1091
+ "type": "uint256",
1092
+ "indexed": false,
1093
+ "internalType": "uint256"
1094
+ },
1095
+ {
1096
+ "name": "proposalId",
1097
+ "type": "bytes32",
1098
+ "indexed": false,
1099
+ "internalType": "bytes32"
1100
+ },
1101
+ {
1102
+ "name": "expectedRemaining",
1103
+ "type": "uint256",
1104
+ "indexed": false,
1105
+ "internalType": "uint256"
1106
+ }
1107
+ ],
1108
+ "anonymous": false
1109
+ },
1110
+ {
1111
+ "type": "error",
1112
+ "name": "AlreadyIssued",
1113
+ "inputs": []
1114
+ },
1115
+ {
1116
+ "type": "error",
1117
+ "name": "InvalidAuthorization",
1118
+ "inputs": []
1119
+ },
1120
+ {
1121
+ "type": "error",
1122
+ "name": "InvalidConfiguration",
1123
+ "inputs": []
1124
+ },
1125
+ {
1126
+ "type": "error",
1127
+ "name": "InvalidReserveBucket",
1128
+ "inputs": []
1129
+ },
1130
+ {
1131
+ "type": "error",
1132
+ "name": "InvalidReserveProposal",
1133
+ "inputs": []
1134
+ },
1135
+ {
1136
+ "type": "error",
1137
+ "name": "InvalidReserveRecipient",
1138
+ "inputs": []
1139
+ },
1140
+ {
1141
+ "type": "error",
1142
+ "name": "InvalidShortString",
1143
+ "inputs": []
1144
+ },
1145
+ {
1146
+ "type": "error",
1147
+ "name": "PlatformOnly",
1148
+ "inputs": []
1149
+ },
1150
+ {
1151
+ "type": "error",
1152
+ "name": "ReentrancyGuardReentrantCall",
1153
+ "inputs": []
1154
+ },
1155
+ {
1156
+ "type": "error",
1157
+ "name": "ReserveBalanceChanged",
1158
+ "inputs": [
1159
+ {
1160
+ "name": "expected",
1161
+ "type": "uint256",
1162
+ "internalType": "uint256"
1163
+ },
1164
+ {
1165
+ "name": "actual",
1166
+ "type": "uint256",
1167
+ "internalType": "uint256"
1168
+ }
1169
+ ]
1170
+ },
1171
+ {
1172
+ "type": "error",
1173
+ "name": "ReserveExceeded",
1174
+ "inputs": []
1175
+ },
1176
+ {
1177
+ "type": "error",
1178
+ "name": "ReserveProposalAlreadyUsed",
1179
+ "inputs": [
1180
+ {
1181
+ "name": "proposalId",
1182
+ "type": "bytes32",
1183
+ "internalType": "bytes32"
1184
+ }
1185
+ ]
1186
+ },
1187
+ {
1188
+ "type": "error",
1189
+ "name": "SafeERC20FailedOperation",
1190
+ "inputs": [
1191
+ {
1192
+ "name": "token",
1193
+ "type": "address",
1194
+ "internalType": "address"
1195
+ }
1196
+ ]
1197
+ },
1198
+ {
1199
+ "type": "error",
1200
+ "name": "StringTooLong",
1201
+ "inputs": [
1202
+ {
1203
+ "name": "str",
1204
+ "type": "string",
1205
+ "internalType": "string"
1206
+ }
1207
+ ]
1208
+ },
1209
+ {
1210
+ "type": "error",
1211
+ "name": "UnexpectedTransferAmount",
1212
+ "inputs": []
1213
+ }
1214
+ ],
1215
+ "creationBytecode": "0x6101e060405234801561001157600080fd5b50604051613eeb380380613eeb8339810160408190526100309161028e565b6040518060400160405280600c81526020016b2430b730a630bab731b432b960a11b815250604051806040016040528060018152602001600d60fa1b815250600160008190555061008b6001836101f860201b90919060201c565b6101205261009a8160026101f8565b61014052815160208084019190912060e052815190820120610100524660a05261012760e05161010051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b60805250503060c0526001600160a01b038416158061014d57506001600160a01b038316155b8061016057506001600160a01b03831630145b8061017257506001600160a01b038216155b8061018557506001600160a01b0381163b155b8061019857506001600160a01b03811630145b806101b45750806001600160a01b0316836001600160a01b0316145b156101d25760405163c52a9bd360e01b815260040160405180910390fd5b6001600160a01b03938416610160529183166101805282166101a052166101c0526104b1565b60006020835110156102145761020d8361022b565b9050610225565b8161021f8482610381565b5060ff90505b92915050565b600080829050601f8151111561025f578260405163305a27a960e01b8152600401610256919061043f565b60405180910390fd5b805161026a8261048d565b179392505050565b80516001600160a01b038116811461028957600080fd5b919050565b600080600080608085870312156102a457600080fd5b6102ad85610272565b93506102bb60208601610272565b92506102c960408601610272565b91506102d760608601610272565b905092959194509250565b634e487b7160e01b600052604160045260246000fd5b600181811c9082168061030c57607f821691505b60208210810361032c57634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111561037c57806000526020600020601f840160051c810160208510156103595750805b601f840160051c820191505b818110156103795760008155600101610365565b50505b505050565b81516001600160401b0381111561039a5761039a6102e2565b6103ae816103a884546102f8565b84610332565b6020601f8211600181146103e257600083156103ca5750848201515b600019600385901b1c1916600184901b178455610379565b600084815260208120601f198516915b8281101561041257878501518255602094850194600190920191016103f2565b50848210156104305786840151600019600387901b60f8161c191681555b50505050600190811b01905550565b602081526000825180602084015260005b8181101561046d5760208186018101516040868401015201610450565b506000604082850101526040601f19601f83011684010191505092915050565b8051602080830151919081101561032c5760001960209190910360031b1b16919050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516139596105926000396000818161071701528181610f6501528181612131015261216d01526000818161049a015281816112a8015281816112dc015281816119400152818161197b0152611ab4015260008181610269015281816104ce015281816107d6015281816116410152611724015260008181610773015261120f0152600061143f015260006114120152600061156c015260006115440152600061149f015260006114c9015260006114f301526139596000f3fe6080604052600436106101b75760003560e01c8063853472f6116100ec578063be34f97b1161008a578063e02e774c11610064578063e02e774c14610705578063ef07003614610739578063f698da251461074c578063fcf6e1a11461076157600080fd5b8063be34f97b146106a5578063c1c1d218146106c5578063d48dc84d146106e557600080fd5b8063a0f03187116100c6578063a0f03187146105af578063a1f77566146105d6578063baf3a11714610650578063bbd34b001461066557600080fd5b8063853472f61461054c5780638e2dcd12146105625780639d8669851461058257600080fd5b80633b820c0011610159578063576e415111610133578063576e41511461048857806360dc2340146104bc57806373396512146104f057806384b0196e1461052457600080fd5b80633b820c0014610413578063400b4d66146104465780634462dcb31461046857600080fd5b806327efc0861161019557806327efc0861461020d5780632862fee31461022d57806334c299a91461025a5780633a7a82f0146102a157600080fd5b8063065ebc5b146101bc57806315526305146101ee57806325f87d23146101ee575b600080fd5b3480156101c857600080fd5b506101db6a52b7d2dcc80cd2e400000081565b6040519081526020015b60405180910390f35b3480156101fa57600080fd5b506101db6a295be96e6406697200000081565b34801561021957600080fd5b506101db6b033b2e3c9fd0803ce800000081565b34801561023957600080fd5b506101db61024836600461243e565b60056020526000908152604090205481565b34801561026657600080fd5b507f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b0390911681526020016101e5565b3480156102ad57600080fd5b506104066102bc36600461245b565b604080516101e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810182905261012081018290526101408101829052610160810182905261018081018290526101a081018290526101c08101919091525060009081526003602081815260409283902083516101e08101855281546001600160a01b039081168252600183015481169382019390935260028201548316948101949094529182015481166060840152600482015481166080840152600582015460a0840152600682015460c084015260078201541660e083015260088101546101008301526009810154610120830152600a810154610140830152600b810154610160830152600c81015460ff161515610180830152600d8101546101a0830152600e01546101c082015290565b6040516101e59190612474565b6104266104213660046125e6565b610795565b604080516001600160a01b039384168152929091166020830152016101e5565b34801561045257600080fd5b50610466610461366004612652565b6107c3565b005b34801561047457600080fd5b506101db61048336600461245b565b610c8d565b34801561049457600080fd5b506102897f000000000000000000000000000000000000000000000000000000000000000081565b3480156104c857600080fd5b506102897f000000000000000000000000000000000000000000000000000000000000000081565b3480156104fc57600080fd5b506101db7f787514b361463dd166d5cda030718a4ae84ba457654069abf40ffaa59e6a78bf81565b34801561053057600080fd5b50610539610cc8565b6040516101e59796959493929190612704565b34801561055857600080fd5b506101db6101f481565b34801561056e57600080fd5b506101db61057d36600461297e565b610d0e565b34801561058e57600080fd5b506101db61059d36600461245b565b60046020526000908152604090205481565b3480156105bb57600080fd5b506105c4600181565b60405160ff90911681526020016101e5565b3480156105e257600080fd5b506105f66105f136600461245b565b610dcb565b6040516101e5919081516001600160a01b031681526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0828101519082015260c0918201519181019190915260e00190565b34801561065c57600080fd5b506105c4600081565b34801561067157600080fd5b5061069561068036600461245b565b60086020526000908152604090205460ff1681565b60405190151581526020016101e5565b3480156106b157600080fd5b506101db6106c036600461297e565b610e9a565b3480156106d157600080fd5b506101db6b0295be96e64066972000000081565b3480156106f157600080fd5b506101db61070036600461245b565b610ef6565b34801561071157600080fd5b506102897f000000000000000000000000000000000000000000000000000000000000000081565b6104266107473660046129b2565b610f3e565b34801561075857600080fd5b506101db611006565b34801561076d57600080fd5b506102897f000000000000000000000000000000000000000000000000000000000000000081565b6000806107a0611015565b6107ad858585600061103f565b915091506107bb6001600055565b935093915050565b6107cb611015565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461081457604051631ebba2d560e01b815260040160405180910390fd5b816108325760405163b569d86f60e01b815260040160405180910390fd5b60008281526008602052604090205460ff161561086a57604051634b10daa360e01b8152600481018390526024015b60405180910390fd5b6001600160a01b038416158061088857506001600160a01b03841630145b156108a65760405163c7b8dadd60e01b815260040160405180910390fd5b600086815260036020526040902080546001600160a01b03166108dc57604051632ce87eeb60e01b815260040160405180910390fd5b600060ff871661090b57600088815260066020526040902054600d8301546109049190612a79565b905061094e565b60001960ff88160161093557600088815260076020526040902054600e8301546109049190612a79565b6040516313a6661160e01b815260040160405180910390fd5b80831461097857604051630806d7ef60e11b81526004810184905260248101829052604401610861565b808511156109985760405162b965f760e21b815260040160405180910390fd5b6000848152600860205260409020805460ff1916600117905560ff87166109e257600088815260066020526040812080548792906109d7908490612a8c565b90915550610a069050565b60008881526007602052604081208054879290610a00908490612a8c565b90915550505b6000610a128683612a79565b83546040516370a0823160e01b81523060048201529192506001600160a01b03169060009082906370a0823190602401602060405180830381865afa158015610a5f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a839190612a9f565b6040516370a0823160e01b81526001600160a01b038b811660048301529192506000918416906370a0823190602401602060405180830381865afa158015610acf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610af39190612a9f565b9050610b00838b8b6113a7565b610b0a8983612a79565b6040516370a0823160e01b81523060048201526001600160a01b038516906370a0823190602401602060405180830381865afa158015610b4e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b729190612a9f565b141580610bf15750610b848982612a8c565b6040516370a0823160e01b81526001600160a01b038c811660048301528516906370a0823190602401602060405180830381865afa158015610bca573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bee9190612a9f565b14155b15610c0f57604051634168cf8d60e01b815260040160405180910390fd5b8554604080516001600160a01b039283168152602081018c9052908101869052606081018a905260808101899052908b169060ff8d16908e907fa4b05e25fa2f85cb76f179bc12d85e346e1da85ad901c54d74649596108354979060a00160405180910390a4505050505050610c856001600055565b505050505050565b6000610c9882610ef6565b610cad906a295be96e64066972000000612a79565b610cc2906a52b7d2dcc80cd2e4000000612a8c565b92915050565b600060608060008060006060610cdc61140b565b610ce4611438565b60408051600080825260208201909252600f60f81b9b939a50919850469750309650945092509050565b6000807f787514b361463dd166d5cda030718a4ae84ba457654069abf40ffaa59e6a78bf836000015184602001518560400151866060015187608001518860a00151805190602001208960c00151805190602001208a60e001518b61010001518c61012001518d61014001518e61016001518f6101800151604051602001610da39e9d9c9b9a99989796959493929190612ab8565b604051602081830303815290604052805190602001209050610dc481611465565b9392505050565b610e146040518060e0016040528060006001600160a01b031681526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b600082815260036020908152604080832080546001600160a01b03168552600d810154858401908152868552600690935292819020549084018190529051610e5c9190612a79565b6060830152600e8101546080830190815260008481526007602052604090205460a084018190529051610e8f9190612a79565b60c083015250919050565b6000610cc27f30317d1982b40012d6fd3c7dc2b5ea03038274cbaa9ab8f8753308c98d393668610ec984610d0e565b60408051602081019390935282015260600160405160208183030381529060405280519060200120611465565b60006101f4821115610f1b57604051632ce87eeb60e01b815260040160405180910390fd5b612710610f34836b033b2e3c9fd0803ce8000000612b42565b610cc29190612b59565b600080610f49611015565b610f56898989600161103f565b90925090506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001663e6699acf8383610f9861057d8e612b7b565b8a8a8a8a6040518863ffffffff1660e01b8152600401610fbe9796959493929190612bb0565b600060405180830381600087803b158015610fd857600080fd5b505af1158015610fec573d6000803e3d6000fd5b50505050610ffa6001600055565b97509795505050505050565b6000611010611492565b905090565b60026000540361103857604051633ee5aeb560e01b815260040160405180910390fd5b6002600055565b6000808535158061105257506020860135155b806110755750600061106a606088016040890161243e565b6001600160a01b0316145b8061109757503061108c606088016040890161243e565b6001600160a01b0316145b806110a457506060860135155b806110b157506080860135155b806110d5575060006110ca610100880160e0890161243e565b6001600160a01b0316145b806110fa575060006110ef6101208801610100890161243e565b6001600160a01b0316145b806111265750611110606087016040880161243e565b6001600160a01b0316336001600160a01b031614155b8061113657508561012001353414155b8061114d575061114960a0870187612bff565b1590505b80611164575061116060c0870187612bff565b1590505b8061117557506101f4866101400135115b80611184575085610180013542115b156111a257604051632ce87eeb60e01b815260040160405180910390fd5b85356000908152600360205260409020546001600160a01b03161515806111dc575060208087013560009081526004909152604090205415155b156111fa5760405163031a394360e61b815260040160405180910390fd5b600061120861057d88612b7b565b90506112817f0000000000000000000000000000000000000000000000000000000000000000856112395782611245565b6112456106c08a612b7b565b88888080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506115bd92505050565b61129e57604051632ce87eeb60e01b815260040160405180910390fd5b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163b15806113685750306001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166316eebd1e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611338573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061135c9190612c45565b6001600160a01b031614155b156113865760405163c52a9bd360e01b815260040160405180910390fd5b61138f87611632565b611399878261176e565b909890975095505050505050565b6040516001600160a01b0383811660248301526044820183905261140691859182169063a9059cbb906064015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050611e49565b505050565b60606110107f00000000000000000000000000000000000000000000000000000000000000006001611ec0565b60606110107f00000000000000000000000000000000000000000000000000000000000000006002611ec0565b6000610cc2611472611492565b8360405161190160f01b8152600281019290925260228201526042902090565b6000306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480156114eb57507f000000000000000000000000000000000000000000000000000000000000000046145b1561151557507f000000000000000000000000000000000000000000000000000000000000000090565b611010604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b6000836001600160a01b03163b60000361161f576000806115de8585611f6c565b50909250905060008160038111156115f8576115f8612c62565b1480156116165750856001600160a01b0316826001600160a01b0316145b92505050610dc4565b61162a848484611fb9565b949350505050565b610120810135156116d85760007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031682610120013560405160006040518083038185875af1925050503d80600081146116af576040519150601f19603f3d011682016040523d82523d6000602084013e6116b4565b606091505b50509050806116d657604051634168cf8d60e01b815260040160405180910390fd5b505b6116e8606082016040830161243e565b6001600160a01b0316816020013582600001357fb1f5584ea15db84d9370cf44402062da661d06d1082f2f658260a213b09a143b8461012001357f00000000000000000000000000000000000000000000000000000000000000006040516117639291909182526001600160a01b0316602082015260400190565b60405180910390a450565b60008061177e60a0850185612bff565b61178b60c0870187612bff565b6b033b2e3c9fd0803ce80000006040516117a490612409565b6117b2959493929190612c78565b604051809103906000f0801580156117ce573d6000803e3d6000fd5b5060208086013560009081526004825260408082208835908190556001600160a01b0385168084526005855282842089905590835260039093529081902080546001600160a01b031916909217825591935090611831906060870190870161243e565b6003820180546001600160a01b0319166001600160a01b0392909216919091179055611864610100860160e0870161243e565b6004820180546001600160a01b0319166001600160a01b039290921691909117905560208501356005820155600681018490556118a96101208601610100870161243e565b6007820180546001600160a01b0319166001600160a01b03929092169190911790556101208501356009820155610140850135600a82018190556118ec90610ef6565b600b82015561190361018086016101608701612cb2565b600c8201805460ff1916911515919091179055611924610140860135610c8d565b600d8201556a295be96e64066972000000600e820155611971837f00000000000000000000000000000000000000000000000000000000000000006b0295be96e640669720000000612095565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001663fba2781b846119b2610100890160e08a0161243e565b6119c46101208a016101008b0161243e565b6119d460608b0160408c0161243e565b6101408b01356119ec6101808d016101608e01612cb2565b6040516001600160e01b031960e089901b1681526001600160a01b0396871660048201529486166024860152928516604485015293166064830152608482019290925290151560a482015260c4016020604051808303816000875af1158015611a59573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a7d9190612c45565b91506001600160a01b0382163b1580611b2d5750604051633f8435dd60e21b81526001600160a01b038481166004830152808416917f00000000000000000000000000000000000000000000000000000000000000009091169063fe10d77490602401602060405180830381865afa158015611afd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b219190612c45565b6001600160a01b031614155b80611bab5750826001600160a01b0316826001600160a01b031663b4e0ecf26040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b7b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b9f9190612c45565b6001600160a01b031614155b80611c2d57506040516370a0823160e01b81526001600160a01b0383811660048301526b0295be96e64066972000000091908516906370a0823190602401602060405180830381865afa158015611c06573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c2a9190612a9f565b14155b15611c4b57604051634168cf8d60e01b815260040160405180910390fd5b6001810180546001600160a01b0319166001600160a01b038416908117909155604080516316f0115b60e01b815290516316f0115b916004808201926020929091908290030181865afa158015611ca6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cca9190612c45565b8160020160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550816001600160a01b031663147ece666040518163ffffffff1660e01b8152600401602060405180830381865afa158015611d30573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d549190612a9f565b6008820155600b810154600d820154611d6e918591612125565b60028101546001600160a01b03808516916020880135918835917fb03e6f03e036342156776f7f666bf19ee634f6cb465922da1a6334725db6238a91879116611dbd60608c0160408d0161243e565b6101408c0135611dd56101808e016101608f01612cb2565b60078a015460088b015460098c0154604080516001600160a01b03998a1681529789166020890152958816878701526060870194909452911515608086015260a085018e90529490941660c084015260e08301939093526101008201929092529051908190036101200190a4509250929050565b600080602060008451602086016000885af180611e6c576040513d6000823e3d81fd5b50506000513d91508115611e84578060011415611e91565b6001600160a01b0384163b155b15611eba57604051635274afe760e01b81526001600160a01b0385166004820152602401610861565b50505050565b606060ff8314611eda57611ed383612289565b9050610cc2565b818054611ee690612ccd565b80601f0160208091040260200160405190810160405280929190818152602001828054611f1290612ccd565b8015611f5f5780601f10611f3457610100808354040283529160200191611f5f565b820191906000526020600020905b815481529060010190602001808311611f4257829003601f168201915b5050505050905092915050565b60008060008351604103611fa65760208401516040850151606086015160001a611f98888285856122c8565b955095509550505050611fb2565b50508151600091506002905b9250925092565b6000806000856001600160a01b03168585604051602401611fdb929190612d01565b60408051601f198184030181529181526020820180516001600160e01b0316630b135d3f60e11b179052516120109190612d1a565b600060405180830381855afa9150503d806000811461204b576040519150601f19603f3d011682016040523d82523d6000602084013e612050565b606091505b509150915081801561206457506020815110155b801561208b57508051630b135d3f60e11b906120899083016020908101908401612a9f565b145b9695505050505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526120e68482612397565b611eba576040516001600160a01b0384811660248301526000604483015261211b91869182169063095ea7b3906064016113d4565b611eba8482611e49565b811561215657612156837f0000000000000000000000000000000000000000000000000000000000000000846113a7565b6040516370a0823160e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301528391908516906370a0823190602401602060405180830381865afa1580156121bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121e39190612a9f565b14158061226b57506122006a295be96e6406697200000082612a8c565b6040516370a0823160e01b81523060048201526001600160a01b038516906370a0823190602401602060405180830381865afa158015612244573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122689190612a9f565b14155b1561140657604051634168cf8d60e01b815260040160405180910390fd5b60606000612296836123e1565b604080516020808252818301909252919250600091906020820181803683375050509182525060208101929092525090565b600080807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0841115612303575060009150600390508261238d565b604080516000808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa158015612357573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166123835750600092506001915082905061238d565b9250600091508190505b9450945094915050565b6000806000806020600086516020880160008a5af192503d9150600051905082801561208b575081156123cd578060011461208b565b50505050506001600160a01b03163b151590565b600060ff8216601f811115610cc257604051632cd44ac360e21b815260040160405180910390fd5b610bed80612d3783390190565b6001600160a01b038116811461242b57600080fd5b50565b803561243981612416565b919050565b60006020828403121561245057600080fd5b8135610dc481612416565b60006020828403121561246d57600080fd5b5035919050565b81516001600160a01b031681526101e0810160208301516124a060208401826001600160a01b03169052565b5060408301516124bb60408401826001600160a01b03169052565b5060608301516124d660608401826001600160a01b03169052565b5060808301516124f160808401826001600160a01b03169052565b5060a083015160a083015260c083015160c083015260e083015161252060e08401826001600160a01b03169052565b5061010083015161010083015261012083015161012083015261014083015161014083015261016083015161016083015261018083015161256661018084018215159052565b506101a08301516101a08301526101c08301516101c083015292915050565b60006101a0828403121561259857600080fd5b50919050565b60008083601f8401126125b057600080fd5b5081356001600160401b038111156125c757600080fd5b6020830191508360208285010111156125df57600080fd5b9250929050565b6000806000604084860312156125fb57600080fd5b83356001600160401b0381111561261157600080fd5b61261d86828701612585565b93505060208401356001600160401b0381111561263957600080fd5b6126458682870161259e565b9497909650939450505050565b60008060008060008060c0878903121561266b57600080fd5b86359550602087013560ff8116811461268357600080fd5b9450604087013561269381612416565b959894975094956060810135955060808101359460a0909101359350915050565b60005b838110156126cf5781810151838201526020016126b7565b50506000910152565b600081518084526126f08160208601602086016126b4565b601f01601f19169290920160200192915050565b60ff60f81b8816815260e06020820152600061272360e08301896126d8565b828103604084015261273581896126d8565b606084018890526001600160a01b038716608085015260a0840186905283810360c08501528451808252602080870193509091019060005b8181101561278b57835183526020938401939092019160010161276d565b50909b9a5050505050505050505050565b634e487b7160e01b600052604160045260246000fd5b6040516101a081016001600160401b03811182821017156127d5576127d561279c565b60405290565b600082601f8301126127ec57600080fd5b81356001600160401b038111156128055761280561279c565b604051601f8201601f19908116603f011681016001600160401b03811182821017156128335761283361279c565b60405281815283820160200185101561284b57600080fd5b816020850160208301376000918101602001919091529392505050565b8035801515811461243957600080fd5b60006101a0828403121561288b57600080fd5b6128936127b2565b823581526020808401359082015290506128af6040830161242e565b6040820152606082810135908201526080808301359082015260a08201356001600160401b038111156128e157600080fd5b6128ed848285016127db565b60a08301525060c08201356001600160401b0381111561290c57600080fd5b612918848285016127db565b60c08301525061292a60e0830161242e565b60e082015261293c610100830161242e565b610100820152610120828101359082015261014080830135908201526129656101608301612868565b6101608201526101809182013591810191909152919050565b60006020828403121561299057600080fd5b81356001600160401b038111156129a657600080fd5b61162a84828501612878565b600080600080600080600060a0888a0312156129cd57600080fd5b87356001600160401b038111156129e357600080fd5b6129ef8a828b01612585565b97505060208801356001600160401b03811115612a0b57600080fd5b612a178a828b0161259e565b909750955050604088013593506060880135925060808801356001600160401b03811115612a4457600080fd5b612a508a828b0161259e565b989b979a50959850939692959293505050565b634e487b7160e01b600052601160045260246000fd5b81810381811115610cc257610cc2612a63565b80820180821115610cc257610cc2612a63565b600060208284031215612ab157600080fd5b5051919050565b8e8152602081018e9052604081018d90526001600160a01b038c81166060830152608082018c905260a082018b905260c082018a905260e0820189905287811661010083015286166101208201526101c081018561014083015284610160830152612b2861018083018515159052565b826101a08301529f9e505050505050505050505050505050565b8082028115828204841417610cc257610cc2612a63565b600082612b7657634e487b7160e01b600052601260045260246000fd5b500490565b6000610cc23683612878565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b0388811682528716602082015260408101869052606081018590526080810184905260c060a08201819052600090612bf29083018486612b87565b9998505050505050505050565b6000808335601e19843603018112612c1657600080fd5b8301803591506001600160401b03821115612c3057600080fd5b6020019150368190038213156125df57600080fd5b600060208284031215612c5757600080fd5b8151610dc481612416565b634e487b7160e01b600052602160045260246000fd5b606081526000612c8c606083018789612b87565b8281036020840152612c9f818688612b87565b9150508260408301529695505050505050565b600060208284031215612cc457600080fd5b610dc482612868565b600181811c90821680612ce157607f821691505b60208210810361259857634e487b7160e01b600052602260045260246000fd5b82815260406020820152600061162a60408301846126d8565b60008251612d2c8184602087016126b4565b919091019291505056fe60a060405234801561001057600080fd5b50604051610bed380380610bed83398101604081905261002f91610287565b8282600361003d8382610382565b50600461004a8282610382565b505033608081905261005d915082610065565b505050610467565b6001600160a01b0382166100945760405163ec442f0560e01b8152600060048201526024015b60405180910390fd5b6100a0600083836100a4565b5050565b6001600160a01b0383166100cf5780600260008282546100c49190610440565b909155506101419050565b6001600160a01b038316600090815260208190526040902054818110156101225760405163391434e360e21b81526001600160a01b0385166004820152602481018290526044810183905260640161008b565b6001600160a01b03841660009081526020819052604090209082900390555b6001600160a01b03821661015d5760028054829003905561017c565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516101c191815260200190565b60405180910390a3505050565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126101f557600080fd5b81516001600160401b0381111561020e5761020e6101ce565b604051601f8201601f19908116603f011681016001600160401b038111828210171561023c5761023c6101ce565b60405281815283820160200185101561025457600080fd5b60005b8281101561027357602081860181015183830182015201610257565b506000918101602001919091529392505050565b60008060006060848603121561029c57600080fd5b83516001600160401b038111156102b257600080fd5b6102be868287016101e4565b602086015190945090506001600160401b038111156102dc57600080fd5b6102e8868287016101e4565b925050604084015190509250925092565b600181811c9082168061030d57607f821691505b60208210810361032d57634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111561037d57806000526020600020601f840160051c8101602085101561035a5750805b601f840160051c820191505b8181101561037a5760008155600101610366565b50505b505050565b81516001600160401b0381111561039b5761039b6101ce565b6103af816103a984546102f9565b84610333565b6020601f8211600181146103e357600083156103cb5750848201515b600019600385901b1c1916600184901b17845561037a565b600084815260208120601f198516915b8281101561041357878501518255602094850194600190920191016103f3565b50848210156104315786840151600019600387901b60f8161c191681555b50505050600190811b01905550565b8082018082111561046157634e487b7160e01b600052601160045260246000fd5b92915050565b60805161076c610481600039600060e9015261076c6000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c8063313ce56711610066578063313ce5671461014857806370a082311461015757806395d89b4114610180578063a9059cbb14610188578063dd62ed3e1461019b57600080fd5b806306fdde03146100a3578063095ea7b3146100c157806316eebd1e146100e457806318160ddd1461012357806323b872dd14610135575b600080fd5b6100ab6101d4565b6040516100b891906105b5565b60405180910390f35b6100d46100cf36600461061f565b610266565b60405190151581526020016100b8565b61010b7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100b8565b6002545b6040519081526020016100b8565b6100d4610143366004610649565b610280565b604051601281526020016100b8565b610127610165366004610686565b6001600160a01b031660009081526020819052604090205490565b6100ab6102a4565b6100d461019636600461061f565b6102b3565b6101276101a93660046106a8565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6060600380546101e3906106db565b80601f016020809104026020016040519081016040528092919081815260200182805461020f906106db565b801561025c5780601f106102315761010080835404028352916020019161025c565b820191906000526020600020905b81548152906001019060200180831161023f57829003601f168201915b5050505050905090565b6000336102748185856102c1565b60019150505b92915050565b60003361028e8582856102d3565b610299858585610357565b506001949350505050565b6060600480546101e3906106db565b600033610274818585610357565b6102ce83838360016103b6565b505050565b6001600160a01b03838116600090815260016020908152604080832093861683529290522054600019811015610351578181101561034257604051637dc7a0d960e11b81526001600160a01b038416600482015260248101829052604481018390526064015b60405180910390fd5b610351848484840360006103b6565b50505050565b6001600160a01b03831661038157604051634b637e8f60e11b815260006004820152602401610339565b6001600160a01b0382166103ab5760405163ec442f0560e01b815260006004820152602401610339565b6102ce83838361048b565b6001600160a01b0384166103e05760405163e602df0560e01b815260006004820152602401610339565b6001600160a01b03831661040a57604051634a1406b160e11b815260006004820152602401610339565b6001600160a01b038085166000908152600160209081526040808320938716835292905220829055801561035157826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161047d91815260200190565b60405180910390a350505050565b6001600160a01b0383166104b65780600260008282546104ab9190610715565b909155506105289050565b6001600160a01b038316600090815260208190526040902054818110156105095760405163391434e360e21b81526001600160a01b03851660048201526024810182905260448101839052606401610339565b6001600160a01b03841660009081526020819052604090209082900390555b6001600160a01b03821661054457600280548290039055610563565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516105a891815260200190565b60405180910390a3505050565b602081526000825180602084015260005b818110156105e357602081860181015160408684010152016105c6565b506000604082850101526040601f19601f83011684010191505092915050565b80356001600160a01b038116811461061a57600080fd5b919050565b6000806040838503121561063257600080fd5b61063b83610603565b946020939093013593505050565b60008060006060848603121561065e57600080fd5b61066784610603565b925061067560208501610603565b929592945050506040919091013590565b60006020828403121561069857600080fd5b6106a182610603565b9392505050565b600080604083850312156106bb57600080fd5b6106c483610603565b91506106d260208401610603565b90509250929050565b600181811c908216806106ef57607f821691505b60208210810361070f57634e487b7160e01b600052602260045260246000fd5b50919050565b8082018082111561027a57634e487b7160e01b600052601160045260246000fdfea2646970667358221220ce274a90784d1b26745c238dfbf9f2b5591ab11bc683e82a49467155c3ad9e4364736f6c634300081a0033a26469706673582212209d3d6e3d68f52805276e3318ffefee7f1b6b1a40dff2f0a8e8e20d8936c755f664736f6c634300081a0033",
1216
+ "runtimeTemplate": "0x6080604052600436106101b75760003560e01c8063853472f6116100ec578063be34f97b1161008a578063e02e774c11610064578063e02e774c14610705578063ef07003614610739578063f698da251461074c578063fcf6e1a11461076157600080fd5b8063be34f97b146106a5578063c1c1d218146106c5578063d48dc84d146106e557600080fd5b8063a0f03187116100c6578063a0f03187146105af578063a1f77566146105d6578063baf3a11714610650578063bbd34b001461066557600080fd5b8063853472f61461054c5780638e2dcd12146105625780639d8669851461058257600080fd5b80633b820c0011610159578063576e415111610133578063576e41511461048857806360dc2340146104bc57806373396512146104f057806384b0196e1461052457600080fd5b80633b820c0014610413578063400b4d66146104465780634462dcb31461046857600080fd5b806327efc0861161019557806327efc0861461020d5780632862fee31461022d57806334c299a91461025a5780633a7a82f0146102a157600080fd5b8063065ebc5b146101bc57806315526305146101ee57806325f87d23146101ee575b600080fd5b3480156101c857600080fd5b506101db6a52b7d2dcc80cd2e400000081565b6040519081526020015b60405180910390f35b3480156101fa57600080fd5b506101db6a295be96e6406697200000081565b34801561021957600080fd5b506101db6b033b2e3c9fd0803ce800000081565b34801561023957600080fd5b506101db61024836600461243e565b60056020526000908152604090205481565b34801561026657600080fd5b507f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b0390911681526020016101e5565b3480156102ad57600080fd5b506104066102bc36600461245b565b604080516101e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810182905261012081018290526101408101829052610160810182905261018081018290526101a081018290526101c08101919091525060009081526003602081815260409283902083516101e08101855281546001600160a01b039081168252600183015481169382019390935260028201548316948101949094529182015481166060840152600482015481166080840152600582015460a0840152600682015460c084015260078201541660e083015260088101546101008301526009810154610120830152600a810154610140830152600b810154610160830152600c81015460ff161515610180830152600d8101546101a0830152600e01546101c082015290565b6040516101e59190612474565b6104266104213660046125e6565b610795565b604080516001600160a01b039384168152929091166020830152016101e5565b34801561045257600080fd5b50610466610461366004612652565b6107c3565b005b34801561047457600080fd5b506101db61048336600461245b565b610c8d565b34801561049457600080fd5b506102897f000000000000000000000000000000000000000000000000000000000000000081565b3480156104c857600080fd5b506102897f000000000000000000000000000000000000000000000000000000000000000081565b3480156104fc57600080fd5b506101db7f787514b361463dd166d5cda030718a4ae84ba457654069abf40ffaa59e6a78bf81565b34801561053057600080fd5b50610539610cc8565b6040516101e59796959493929190612704565b34801561055857600080fd5b506101db6101f481565b34801561056e57600080fd5b506101db61057d36600461297e565b610d0e565b34801561058e57600080fd5b506101db61059d36600461245b565b60046020526000908152604090205481565b3480156105bb57600080fd5b506105c4600181565b60405160ff90911681526020016101e5565b3480156105e257600080fd5b506105f66105f136600461245b565b610dcb565b6040516101e5919081516001600160a01b031681526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0828101519082015260c0918201519181019190915260e00190565b34801561065c57600080fd5b506105c4600081565b34801561067157600080fd5b5061069561068036600461245b565b60086020526000908152604090205460ff1681565b60405190151581526020016101e5565b3480156106b157600080fd5b506101db6106c036600461297e565b610e9a565b3480156106d157600080fd5b506101db6b0295be96e64066972000000081565b3480156106f157600080fd5b506101db61070036600461245b565b610ef6565b34801561071157600080fd5b506102897f000000000000000000000000000000000000000000000000000000000000000081565b6104266107473660046129b2565b610f3e565b34801561075857600080fd5b506101db611006565b34801561076d57600080fd5b506102897f000000000000000000000000000000000000000000000000000000000000000081565b6000806107a0611015565b6107ad858585600061103f565b915091506107bb6001600055565b935093915050565b6107cb611015565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461081457604051631ebba2d560e01b815260040160405180910390fd5b816108325760405163b569d86f60e01b815260040160405180910390fd5b60008281526008602052604090205460ff161561086a57604051634b10daa360e01b8152600481018390526024015b60405180910390fd5b6001600160a01b038416158061088857506001600160a01b03841630145b156108a65760405163c7b8dadd60e01b815260040160405180910390fd5b600086815260036020526040902080546001600160a01b03166108dc57604051632ce87eeb60e01b815260040160405180910390fd5b600060ff871661090b57600088815260066020526040902054600d8301546109049190612a79565b905061094e565b60001960ff88160161093557600088815260076020526040902054600e8301546109049190612a79565b6040516313a6661160e01b815260040160405180910390fd5b80831461097857604051630806d7ef60e11b81526004810184905260248101829052604401610861565b808511156109985760405162b965f760e21b815260040160405180910390fd5b6000848152600860205260409020805460ff1916600117905560ff87166109e257600088815260066020526040812080548792906109d7908490612a8c565b90915550610a069050565b60008881526007602052604081208054879290610a00908490612a8c565b90915550505b6000610a128683612a79565b83546040516370a0823160e01b81523060048201529192506001600160a01b03169060009082906370a0823190602401602060405180830381865afa158015610a5f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a839190612a9f565b6040516370a0823160e01b81526001600160a01b038b811660048301529192506000918416906370a0823190602401602060405180830381865afa158015610acf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610af39190612a9f565b9050610b00838b8b6113a7565b610b0a8983612a79565b6040516370a0823160e01b81523060048201526001600160a01b038516906370a0823190602401602060405180830381865afa158015610b4e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b729190612a9f565b141580610bf15750610b848982612a8c565b6040516370a0823160e01b81526001600160a01b038c811660048301528516906370a0823190602401602060405180830381865afa158015610bca573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bee9190612a9f565b14155b15610c0f57604051634168cf8d60e01b815260040160405180910390fd5b8554604080516001600160a01b039283168152602081018c9052908101869052606081018a905260808101899052908b169060ff8d16908e907fa4b05e25fa2f85cb76f179bc12d85e346e1da85ad901c54d74649596108354979060a00160405180910390a4505050505050610c856001600055565b505050505050565b6000610c9882610ef6565b610cad906a295be96e64066972000000612a79565b610cc2906a52b7d2dcc80cd2e4000000612a8c565b92915050565b600060608060008060006060610cdc61140b565b610ce4611438565b60408051600080825260208201909252600f60f81b9b939a50919850469750309650945092509050565b6000807f787514b361463dd166d5cda030718a4ae84ba457654069abf40ffaa59e6a78bf836000015184602001518560400151866060015187608001518860a00151805190602001208960c00151805190602001208a60e001518b61010001518c61012001518d61014001518e61016001518f6101800151604051602001610da39e9d9c9b9a99989796959493929190612ab8565b604051602081830303815290604052805190602001209050610dc481611465565b9392505050565b610e146040518060e0016040528060006001600160a01b031681526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b600082815260036020908152604080832080546001600160a01b03168552600d810154858401908152868552600690935292819020549084018190529051610e5c9190612a79565b6060830152600e8101546080830190815260008481526007602052604090205460a084018190529051610e8f9190612a79565b60c083015250919050565b6000610cc27f30317d1982b40012d6fd3c7dc2b5ea03038274cbaa9ab8f8753308c98d393668610ec984610d0e565b60408051602081019390935282015260600160405160208183030381529060405280519060200120611465565b60006101f4821115610f1b57604051632ce87eeb60e01b815260040160405180910390fd5b612710610f34836b033b2e3c9fd0803ce8000000612b42565b610cc29190612b59565b600080610f49611015565b610f56898989600161103f565b90925090506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001663e6699acf8383610f9861057d8e612b7b565b8a8a8a8a6040518863ffffffff1660e01b8152600401610fbe9796959493929190612bb0565b600060405180830381600087803b158015610fd857600080fd5b505af1158015610fec573d6000803e3d6000fd5b50505050610ffa6001600055565b97509795505050505050565b6000611010611492565b905090565b60026000540361103857604051633ee5aeb560e01b815260040160405180910390fd5b6002600055565b6000808535158061105257506020860135155b806110755750600061106a606088016040890161243e565b6001600160a01b0316145b8061109757503061108c606088016040890161243e565b6001600160a01b0316145b806110a457506060860135155b806110b157506080860135155b806110d5575060006110ca610100880160e0890161243e565b6001600160a01b0316145b806110fa575060006110ef6101208801610100890161243e565b6001600160a01b0316145b806111265750611110606087016040880161243e565b6001600160a01b0316336001600160a01b031614155b8061113657508561012001353414155b8061114d575061114960a0870187612bff565b1590505b80611164575061116060c0870187612bff565b1590505b8061117557506101f4866101400135115b80611184575085610180013542115b156111a257604051632ce87eeb60e01b815260040160405180910390fd5b85356000908152600360205260409020546001600160a01b03161515806111dc575060208087013560009081526004909152604090205415155b156111fa5760405163031a394360e61b815260040160405180910390fd5b600061120861057d88612b7b565b90506112817f0000000000000000000000000000000000000000000000000000000000000000856112395782611245565b6112456106c08a612b7b565b88888080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506115bd92505050565b61129e57604051632ce87eeb60e01b815260040160405180910390fd5b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163b15806113685750306001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166316eebd1e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611338573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061135c9190612c45565b6001600160a01b031614155b156113865760405163c52a9bd360e01b815260040160405180910390fd5b61138f87611632565b611399878261176e565b909890975095505050505050565b6040516001600160a01b0383811660248301526044820183905261140691859182169063a9059cbb906064015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050611e49565b505050565b60606110107f00000000000000000000000000000000000000000000000000000000000000006001611ec0565b60606110107f00000000000000000000000000000000000000000000000000000000000000006002611ec0565b6000610cc2611472611492565b8360405161190160f01b8152600281019290925260228201526042902090565b6000306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480156114eb57507f000000000000000000000000000000000000000000000000000000000000000046145b1561151557507f000000000000000000000000000000000000000000000000000000000000000090565b611010604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b6000836001600160a01b03163b60000361161f576000806115de8585611f6c565b50909250905060008160038111156115f8576115f8612c62565b1480156116165750856001600160a01b0316826001600160a01b0316145b92505050610dc4565b61162a848484611fb9565b949350505050565b610120810135156116d85760007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031682610120013560405160006040518083038185875af1925050503d80600081146116af576040519150601f19603f3d011682016040523d82523d6000602084013e6116b4565b606091505b50509050806116d657604051634168cf8d60e01b815260040160405180910390fd5b505b6116e8606082016040830161243e565b6001600160a01b0316816020013582600001357fb1f5584ea15db84d9370cf44402062da661d06d1082f2f658260a213b09a143b8461012001357f00000000000000000000000000000000000000000000000000000000000000006040516117639291909182526001600160a01b0316602082015260400190565b60405180910390a450565b60008061177e60a0850185612bff565b61178b60c0870187612bff565b6b033b2e3c9fd0803ce80000006040516117a490612409565b6117b2959493929190612c78565b604051809103906000f0801580156117ce573d6000803e3d6000fd5b5060208086013560009081526004825260408082208835908190556001600160a01b0385168084526005855282842089905590835260039093529081902080546001600160a01b031916909217825591935090611831906060870190870161243e565b6003820180546001600160a01b0319166001600160a01b0392909216919091179055611864610100860160e0870161243e565b6004820180546001600160a01b0319166001600160a01b039290921691909117905560208501356005820155600681018490556118a96101208601610100870161243e565b6007820180546001600160a01b0319166001600160a01b03929092169190911790556101208501356009820155610140850135600a82018190556118ec90610ef6565b600b82015561190361018086016101608701612cb2565b600c8201805460ff1916911515919091179055611924610140860135610c8d565b600d8201556a295be96e64066972000000600e820155611971837f00000000000000000000000000000000000000000000000000000000000000006b0295be96e640669720000000612095565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001663fba2781b846119b2610100890160e08a0161243e565b6119c46101208a016101008b0161243e565b6119d460608b0160408c0161243e565b6101408b01356119ec6101808d016101608e01612cb2565b6040516001600160e01b031960e089901b1681526001600160a01b0396871660048201529486166024860152928516604485015293166064830152608482019290925290151560a482015260c4016020604051808303816000875af1158015611a59573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a7d9190612c45565b91506001600160a01b0382163b1580611b2d5750604051633f8435dd60e21b81526001600160a01b038481166004830152808416917f00000000000000000000000000000000000000000000000000000000000000009091169063fe10d77490602401602060405180830381865afa158015611afd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b219190612c45565b6001600160a01b031614155b80611bab5750826001600160a01b0316826001600160a01b031663b4e0ecf26040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b7b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b9f9190612c45565b6001600160a01b031614155b80611c2d57506040516370a0823160e01b81526001600160a01b0383811660048301526b0295be96e64066972000000091908516906370a0823190602401602060405180830381865afa158015611c06573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c2a9190612a9f565b14155b15611c4b57604051634168cf8d60e01b815260040160405180910390fd5b6001810180546001600160a01b0319166001600160a01b038416908117909155604080516316f0115b60e01b815290516316f0115b916004808201926020929091908290030181865afa158015611ca6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cca9190612c45565b8160020160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550816001600160a01b031663147ece666040518163ffffffff1660e01b8152600401602060405180830381865afa158015611d30573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d549190612a9f565b6008820155600b810154600d820154611d6e918591612125565b60028101546001600160a01b03808516916020880135918835917fb03e6f03e036342156776f7f666bf19ee634f6cb465922da1a6334725db6238a91879116611dbd60608c0160408d0161243e565b6101408c0135611dd56101808e016101608f01612cb2565b60078a015460088b015460098c0154604080516001600160a01b03998a1681529789166020890152958816878701526060870194909452911515608086015260a085018e90529490941660c084015260e08301939093526101008201929092529051908190036101200190a4509250929050565b600080602060008451602086016000885af180611e6c576040513d6000823e3d81fd5b50506000513d91508115611e84578060011415611e91565b6001600160a01b0384163b155b15611eba57604051635274afe760e01b81526001600160a01b0385166004820152602401610861565b50505050565b606060ff8314611eda57611ed383612289565b9050610cc2565b818054611ee690612ccd565b80601f0160208091040260200160405190810160405280929190818152602001828054611f1290612ccd565b8015611f5f5780601f10611f3457610100808354040283529160200191611f5f565b820191906000526020600020905b815481529060010190602001808311611f4257829003601f168201915b5050505050905092915050565b60008060008351604103611fa65760208401516040850151606086015160001a611f98888285856122c8565b955095509550505050611fb2565b50508151600091506002905b9250925092565b6000806000856001600160a01b03168585604051602401611fdb929190612d01565b60408051601f198184030181529181526020820180516001600160e01b0316630b135d3f60e11b179052516120109190612d1a565b600060405180830381855afa9150503d806000811461204b576040519150601f19603f3d011682016040523d82523d6000602084013e612050565b606091505b509150915081801561206457506020815110155b801561208b57508051630b135d3f60e11b906120899083016020908101908401612a9f565b145b9695505050505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526120e68482612397565b611eba576040516001600160a01b0384811660248301526000604483015261211b91869182169063095ea7b3906064016113d4565b611eba8482611e49565b811561215657612156837f0000000000000000000000000000000000000000000000000000000000000000846113a7565b6040516370a0823160e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301528391908516906370a0823190602401602060405180830381865afa1580156121bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121e39190612a9f565b14158061226b57506122006a295be96e6406697200000082612a8c565b6040516370a0823160e01b81523060048201526001600160a01b038516906370a0823190602401602060405180830381865afa158015612244573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122689190612a9f565b14155b1561140657604051634168cf8d60e01b815260040160405180910390fd5b60606000612296836123e1565b604080516020808252818301909252919250600091906020820181803683375050509182525060208101929092525090565b600080807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0841115612303575060009150600390508261238d565b604080516000808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa158015612357573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166123835750600092506001915082905061238d565b9250600091508190505b9450945094915050565b6000806000806020600086516020880160008a5af192503d9150600051905082801561208b575081156123cd578060011461208b565b50505050506001600160a01b03163b151590565b600060ff8216601f811115610cc257604051632cd44ac360e21b815260040160405180910390fd5b610bed80612d3783390190565b6001600160a01b038116811461242b57600080fd5b50565b803561243981612416565b919050565b60006020828403121561245057600080fd5b8135610dc481612416565b60006020828403121561246d57600080fd5b5035919050565b81516001600160a01b031681526101e0810160208301516124a060208401826001600160a01b03169052565b5060408301516124bb60408401826001600160a01b03169052565b5060608301516124d660608401826001600160a01b03169052565b5060808301516124f160808401826001600160a01b03169052565b5060a083015160a083015260c083015160c083015260e083015161252060e08401826001600160a01b03169052565b5061010083015161010083015261012083015161012083015261014083015161014083015261016083015161016083015261018083015161256661018084018215159052565b506101a08301516101a08301526101c08301516101c083015292915050565b60006101a0828403121561259857600080fd5b50919050565b60008083601f8401126125b057600080fd5b5081356001600160401b038111156125c757600080fd5b6020830191508360208285010111156125df57600080fd5b9250929050565b6000806000604084860312156125fb57600080fd5b83356001600160401b0381111561261157600080fd5b61261d86828701612585565b93505060208401356001600160401b0381111561263957600080fd5b6126458682870161259e565b9497909650939450505050565b60008060008060008060c0878903121561266b57600080fd5b86359550602087013560ff8116811461268357600080fd5b9450604087013561269381612416565b959894975094956060810135955060808101359460a0909101359350915050565b60005b838110156126cf5781810151838201526020016126b7565b50506000910152565b600081518084526126f08160208601602086016126b4565b601f01601f19169290920160200192915050565b60ff60f81b8816815260e06020820152600061272360e08301896126d8565b828103604084015261273581896126d8565b606084018890526001600160a01b038716608085015260a0840186905283810360c08501528451808252602080870193509091019060005b8181101561278b57835183526020938401939092019160010161276d565b50909b9a5050505050505050505050565b634e487b7160e01b600052604160045260246000fd5b6040516101a081016001600160401b03811182821017156127d5576127d561279c565b60405290565b600082601f8301126127ec57600080fd5b81356001600160401b038111156128055761280561279c565b604051601f8201601f19908116603f011681016001600160401b03811182821017156128335761283361279c565b60405281815283820160200185101561284b57600080fd5b816020850160208301376000918101602001919091529392505050565b8035801515811461243957600080fd5b60006101a0828403121561288b57600080fd5b6128936127b2565b823581526020808401359082015290506128af6040830161242e565b6040820152606082810135908201526080808301359082015260a08201356001600160401b038111156128e157600080fd5b6128ed848285016127db565b60a08301525060c08201356001600160401b0381111561290c57600080fd5b612918848285016127db565b60c08301525061292a60e0830161242e565b60e082015261293c610100830161242e565b610100820152610120828101359082015261014080830135908201526129656101608301612868565b6101608201526101809182013591810191909152919050565b60006020828403121561299057600080fd5b81356001600160401b038111156129a657600080fd5b61162a84828501612878565b600080600080600080600060a0888a0312156129cd57600080fd5b87356001600160401b038111156129e357600080fd5b6129ef8a828b01612585565b97505060208801356001600160401b03811115612a0b57600080fd5b612a178a828b0161259e565b909750955050604088013593506060880135925060808801356001600160401b03811115612a4457600080fd5b612a508a828b0161259e565b989b979a50959850939692959293505050565b634e487b7160e01b600052601160045260246000fd5b81810381811115610cc257610cc2612a63565b80820180821115610cc257610cc2612a63565b600060208284031215612ab157600080fd5b5051919050565b8e8152602081018e9052604081018d90526001600160a01b038c81166060830152608082018c905260a082018b905260c082018a905260e0820189905287811661010083015286166101208201526101c081018561014083015284610160830152612b2861018083018515159052565b826101a08301529f9e505050505050505050505050505050565b8082028115828204841417610cc257610cc2612a63565b600082612b7657634e487b7160e01b600052601260045260246000fd5b500490565b6000610cc23683612878565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b0388811682528716602082015260408101869052606081018590526080810184905260c060a08201819052600090612bf29083018486612b87565b9998505050505050505050565b6000808335601e19843603018112612c1657600080fd5b8301803591506001600160401b03821115612c3057600080fd5b6020019150368190038213156125df57600080fd5b600060208284031215612c5757600080fd5b8151610dc481612416565b634e487b7160e01b600052602160045260246000fd5b606081526000612c8c606083018789612b87565b8281036020840152612c9f818688612b87565b9150508260408301529695505050505050565b600060208284031215612cc457600080fd5b610dc482612868565b600181811c90821680612ce157607f821691505b60208210810361259857634e487b7160e01b600052602260045260246000fd5b82815260406020820152600061162a60408301846126d8565b60008251612d2c8184602087016126b4565b919091019291505056fe60a060405234801561001057600080fd5b50604051610bed380380610bed83398101604081905261002f91610287565b8282600361003d8382610382565b50600461004a8282610382565b505033608081905261005d915082610065565b505050610467565b6001600160a01b0382166100945760405163ec442f0560e01b8152600060048201526024015b60405180910390fd5b6100a0600083836100a4565b5050565b6001600160a01b0383166100cf5780600260008282546100c49190610440565b909155506101419050565b6001600160a01b038316600090815260208190526040902054818110156101225760405163391434e360e21b81526001600160a01b0385166004820152602481018290526044810183905260640161008b565b6001600160a01b03841660009081526020819052604090209082900390555b6001600160a01b03821661015d5760028054829003905561017c565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516101c191815260200190565b60405180910390a3505050565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126101f557600080fd5b81516001600160401b0381111561020e5761020e6101ce565b604051601f8201601f19908116603f011681016001600160401b038111828210171561023c5761023c6101ce565b60405281815283820160200185101561025457600080fd5b60005b8281101561027357602081860181015183830182015201610257565b506000918101602001919091529392505050565b60008060006060848603121561029c57600080fd5b83516001600160401b038111156102b257600080fd5b6102be868287016101e4565b602086015190945090506001600160401b038111156102dc57600080fd5b6102e8868287016101e4565b925050604084015190509250925092565b600181811c9082168061030d57607f821691505b60208210810361032d57634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111561037d57806000526020600020601f840160051c8101602085101561035a5750805b601f840160051c820191505b8181101561037a5760008155600101610366565b50505b505050565b81516001600160401b0381111561039b5761039b6101ce565b6103af816103a984546102f9565b84610333565b6020601f8211600181146103e357600083156103cb5750848201515b600019600385901b1c1916600184901b17845561037a565b600084815260208120601f198516915b8281101561041357878501518255602094850194600190920191016103f3565b50848210156104315786840151600019600387901b60f8161c191681555b50505050600190811b01905550565b8082018082111561046157634e487b7160e01b600052601160045260246000fd5b92915050565b60805161076c610481600039600060e9015261076c6000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c8063313ce56711610066578063313ce5671461014857806370a082311461015757806395d89b4114610180578063a9059cbb14610188578063dd62ed3e1461019b57600080fd5b806306fdde03146100a3578063095ea7b3146100c157806316eebd1e146100e457806318160ddd1461012357806323b872dd14610135575b600080fd5b6100ab6101d4565b6040516100b891906105b5565b60405180910390f35b6100d46100cf36600461061f565b610266565b60405190151581526020016100b8565b61010b7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100b8565b6002545b6040519081526020016100b8565b6100d4610143366004610649565b610280565b604051601281526020016100b8565b610127610165366004610686565b6001600160a01b031660009081526020819052604090205490565b6100ab6102a4565b6100d461019636600461061f565b6102b3565b6101276101a93660046106a8565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6060600380546101e3906106db565b80601f016020809104026020016040519081016040528092919081815260200182805461020f906106db565b801561025c5780601f106102315761010080835404028352916020019161025c565b820191906000526020600020905b81548152906001019060200180831161023f57829003601f168201915b5050505050905090565b6000336102748185856102c1565b60019150505b92915050565b60003361028e8582856102d3565b610299858585610357565b506001949350505050565b6060600480546101e3906106db565b600033610274818585610357565b6102ce83838360016103b6565b505050565b6001600160a01b03838116600090815260016020908152604080832093861683529290522054600019811015610351578181101561034257604051637dc7a0d960e11b81526001600160a01b038416600482015260248101829052604481018390526064015b60405180910390fd5b610351848484840360006103b6565b50505050565b6001600160a01b03831661038157604051634b637e8f60e11b815260006004820152602401610339565b6001600160a01b0382166103ab5760405163ec442f0560e01b815260006004820152602401610339565b6102ce83838361048b565b6001600160a01b0384166103e05760405163e602df0560e01b815260006004820152602401610339565b6001600160a01b03831661040a57604051634a1406b160e11b815260006004820152602401610339565b6001600160a01b038085166000908152600160209081526040808320938716835292905220829055801561035157826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161047d91815260200190565b60405180910390a350505050565b6001600160a01b0383166104b65780600260008282546104ab9190610715565b909155506105289050565b6001600160a01b038316600090815260208190526040902054818110156105095760405163391434e360e21b81526001600160a01b03851660048201526024810182905260448101839052606401610339565b6001600160a01b03841660009081526020819052604090209082900390555b6001600160a01b03821661054457600280548290039055610563565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516105a891815260200190565b60405180910390a3505050565b602081526000825180602084015260005b818110156105e357602081860181015160408684010152016105c6565b506000604082850101526040601f19601f83011684010191505092915050565b80356001600160a01b038116811461061a57600080fd5b919050565b6000806040838503121561063257600080fd5b61063b83610603565b946020939093013593505050565b60008060006060848603121561065e57600080fd5b61066784610603565b925061067560208501610603565b929592945050506040919091013590565b60006020828403121561069857600080fd5b6106a182610603565b9392505050565b600080604083850312156106bb57600080fd5b6106c483610603565b91506106d260208401610603565b90509250929050565b600181811c908216806106ef57607f821691505b60208210810361070f57634e487b7160e01b600052602260045260246000fd5b50919050565b8082018082111561027a57634e487b7160e01b600052601160045260246000fdfea2646970667358221220ce274a90784d1b26745c238dfbf9f2b5591ab11bc683e82a49467155c3ad9e4364736f6c634300081a0033a26469706673582212209d3d6e3d68f52805276e3318ffefee7f1b6b1a40dff2f0a8e8e20d8936c755f664736f6c634300081a0033",
1217
+ "metadata": {
1218
+ "compiler": {
1219
+ "version": "0.8.26+commit.8a97fa7a"
1220
+ },
1221
+ "language": "Solidity",
1222
+ "output": {
1223
+ "abi": [
1224
+ {
1225
+ "inputs": [
1226
+ {
1227
+ "internalType": "address",
1228
+ "name": "signer_",
1229
+ "type": "address"
1230
+ },
1231
+ {
1232
+ "internalType": "address",
1233
+ "name": "platform_",
1234
+ "type": "address"
1235
+ },
1236
+ {
1237
+ "internalType": "address",
1238
+ "name": "factory_",
1239
+ "type": "address"
1240
+ },
1241
+ {
1242
+ "internalType": "address",
1243
+ "name": "points_",
1244
+ "type": "address"
1245
+ }
1246
+ ],
1247
+ "stateMutability": "nonpayable",
1248
+ "type": "constructor"
1249
+ },
1250
+ {
1251
+ "inputs": [],
1252
+ "type": "error",
1253
+ "name": "AlreadyIssued"
1254
+ },
1255
+ {
1256
+ "inputs": [],
1257
+ "type": "error",
1258
+ "name": "InvalidAuthorization"
1259
+ },
1260
+ {
1261
+ "inputs": [],
1262
+ "type": "error",
1263
+ "name": "InvalidConfiguration"
1264
+ },
1265
+ {
1266
+ "inputs": [],
1267
+ "type": "error",
1268
+ "name": "InvalidReserveBucket"
1269
+ },
1270
+ {
1271
+ "inputs": [],
1272
+ "type": "error",
1273
+ "name": "InvalidReserveProposal"
1274
+ },
1275
+ {
1276
+ "inputs": [],
1277
+ "type": "error",
1278
+ "name": "InvalidReserveRecipient"
1279
+ },
1280
+ {
1281
+ "inputs": [],
1282
+ "type": "error",
1283
+ "name": "InvalidShortString"
1284
+ },
1285
+ {
1286
+ "inputs": [],
1287
+ "type": "error",
1288
+ "name": "PlatformOnly"
1289
+ },
1290
+ {
1291
+ "inputs": [],
1292
+ "type": "error",
1293
+ "name": "ReentrancyGuardReentrantCall"
1294
+ },
1295
+ {
1296
+ "inputs": [
1297
+ {
1298
+ "internalType": "uint256",
1299
+ "name": "expected",
1300
+ "type": "uint256"
1301
+ },
1302
+ {
1303
+ "internalType": "uint256",
1304
+ "name": "actual",
1305
+ "type": "uint256"
1306
+ }
1307
+ ],
1308
+ "type": "error",
1309
+ "name": "ReserveBalanceChanged"
1310
+ },
1311
+ {
1312
+ "inputs": [],
1313
+ "type": "error",
1314
+ "name": "ReserveExceeded"
1315
+ },
1316
+ {
1317
+ "inputs": [
1318
+ {
1319
+ "internalType": "bytes32",
1320
+ "name": "proposalId",
1321
+ "type": "bytes32"
1322
+ }
1323
+ ],
1324
+ "type": "error",
1325
+ "name": "ReserveProposalAlreadyUsed"
1326
+ },
1327
+ {
1328
+ "inputs": [
1329
+ {
1330
+ "internalType": "address",
1331
+ "name": "token",
1332
+ "type": "address"
1333
+ }
1334
+ ],
1335
+ "type": "error",
1336
+ "name": "SafeERC20FailedOperation"
1337
+ },
1338
+ {
1339
+ "inputs": [
1340
+ {
1341
+ "internalType": "string",
1342
+ "name": "str",
1343
+ "type": "string"
1344
+ }
1345
+ ],
1346
+ "type": "error",
1347
+ "name": "StringTooLong"
1348
+ },
1349
+ {
1350
+ "inputs": [],
1351
+ "type": "error",
1352
+ "name": "UnexpectedTransferAmount"
1353
+ },
1354
+ {
1355
+ "inputs": [],
1356
+ "type": "event",
1357
+ "name": "EIP712DomainChanged",
1358
+ "anonymous": false
1359
+ },
1360
+ {
1361
+ "inputs": [
1362
+ {
1363
+ "internalType": "bytes32",
1364
+ "name": "hanaId",
1365
+ "type": "bytes32",
1366
+ "indexed": true
1367
+ },
1368
+ {
1369
+ "internalType": "bytes32",
1370
+ "name": "requestId",
1371
+ "type": "bytes32",
1372
+ "indexed": true
1373
+ },
1374
+ {
1375
+ "internalType": "address",
1376
+ "name": "payer",
1377
+ "type": "address",
1378
+ "indexed": true
1379
+ },
1380
+ {
1381
+ "internalType": "uint256",
1382
+ "name": "amount",
1383
+ "type": "uint256",
1384
+ "indexed": false
1385
+ },
1386
+ {
1387
+ "internalType": "address",
1388
+ "name": "treasury",
1389
+ "type": "address",
1390
+ "indexed": false
1391
+ }
1392
+ ],
1393
+ "type": "event",
1394
+ "name": "FeePaid",
1395
+ "anonymous": false
1396
+ },
1397
+ {
1398
+ "inputs": [
1399
+ {
1400
+ "internalType": "bytes32",
1401
+ "name": "hanaId",
1402
+ "type": "bytes32",
1403
+ "indexed": true
1404
+ },
1405
+ {
1406
+ "internalType": "bytes32",
1407
+ "name": "requestId",
1408
+ "type": "bytes32",
1409
+ "indexed": true
1410
+ },
1411
+ {
1412
+ "internalType": "address",
1413
+ "name": "token",
1414
+ "type": "address",
1415
+ "indexed": true
1416
+ },
1417
+ {
1418
+ "internalType": "address",
1419
+ "name": "bond",
1420
+ "type": "address",
1421
+ "indexed": false
1422
+ },
1423
+ {
1424
+ "internalType": "address",
1425
+ "name": "pool",
1426
+ "type": "address",
1427
+ "indexed": false
1428
+ },
1429
+ {
1430
+ "internalType": "address",
1431
+ "name": "payer",
1432
+ "type": "address",
1433
+ "indexed": false
1434
+ },
1435
+ {
1436
+ "internalType": "uint256",
1437
+ "name": "pointsBps",
1438
+ "type": "uint256",
1439
+ "indexed": false
1440
+ },
1441
+ {
1442
+ "internalType": "bool",
1443
+ "name": "earlyReleaseAllowed",
1444
+ "type": "bool",
1445
+ "indexed": false
1446
+ },
1447
+ {
1448
+ "internalType": "bytes32",
1449
+ "name": "authorizationHash",
1450
+ "type": "bytes32",
1451
+ "indexed": false
1452
+ },
1453
+ {
1454
+ "internalType": "address",
1455
+ "name": "quote",
1456
+ "type": "address",
1457
+ "indexed": false
1458
+ },
1459
+ {
1460
+ "internalType": "uint256",
1461
+ "name": "virtualQuote",
1462
+ "type": "uint256",
1463
+ "indexed": false
1464
+ },
1465
+ {
1466
+ "internalType": "uint256",
1467
+ "name": "launchFeeWei",
1468
+ "type": "uint256",
1469
+ "indexed": false
1470
+ }
1471
+ ],
1472
+ "type": "event",
1473
+ "name": "Issued",
1474
+ "anonymous": false
1475
+ },
1476
+ {
1477
+ "inputs": [
1478
+ {
1479
+ "internalType": "bytes32",
1480
+ "name": "hanaId",
1481
+ "type": "bytes32",
1482
+ "indexed": true
1483
+ },
1484
+ {
1485
+ "internalType": "uint8",
1486
+ "name": "bucket",
1487
+ "type": "uint8",
1488
+ "indexed": true
1489
+ },
1490
+ {
1491
+ "internalType": "address",
1492
+ "name": "to",
1493
+ "type": "address",
1494
+ "indexed": true
1495
+ },
1496
+ {
1497
+ "internalType": "address",
1498
+ "name": "token",
1499
+ "type": "address",
1500
+ "indexed": false
1501
+ },
1502
+ {
1503
+ "internalType": "uint256",
1504
+ "name": "amount",
1505
+ "type": "uint256",
1506
+ "indexed": false
1507
+ },
1508
+ {
1509
+ "internalType": "uint256",
1510
+ "name": "remaining",
1511
+ "type": "uint256",
1512
+ "indexed": false
1513
+ },
1514
+ {
1515
+ "internalType": "bytes32",
1516
+ "name": "proposalId",
1517
+ "type": "bytes32",
1518
+ "indexed": false
1519
+ },
1520
+ {
1521
+ "internalType": "uint256",
1522
+ "name": "expectedRemaining",
1523
+ "type": "uint256",
1524
+ "indexed": false
1525
+ }
1526
+ ],
1527
+ "type": "event",
1528
+ "name": "ReserveWithdrawn",
1529
+ "anonymous": false
1530
+ },
1531
+ {
1532
+ "inputs": [],
1533
+ "stateMutability": "view",
1534
+ "type": "function",
1535
+ "name": "AUTHORIZATION_TYPEHASH",
1536
+ "outputs": [
1537
+ {
1538
+ "internalType": "bytes32",
1539
+ "name": "",
1540
+ "type": "bytes32"
1541
+ }
1542
+ ]
1543
+ },
1544
+ {
1545
+ "inputs": [],
1546
+ "stateMutability": "view",
1547
+ "type": "function",
1548
+ "name": "BASE_TREASURY_RESERVE",
1549
+ "outputs": [
1550
+ {
1551
+ "internalType": "uint256",
1552
+ "name": "",
1553
+ "type": "uint256"
1554
+ }
1555
+ ]
1556
+ },
1557
+ {
1558
+ "inputs": [],
1559
+ "stateMutability": "view",
1560
+ "type": "function",
1561
+ "name": "BOND",
1562
+ "outputs": [
1563
+ {
1564
+ "internalType": "uint256",
1565
+ "name": "",
1566
+ "type": "uint256"
1567
+ }
1568
+ ]
1569
+ },
1570
+ {
1571
+ "inputs": [],
1572
+ "stateMutability": "view",
1573
+ "type": "function",
1574
+ "name": "CREATOR_BUCKET",
1575
+ "outputs": [
1576
+ {
1577
+ "internalType": "uint8",
1578
+ "name": "",
1579
+ "type": "uint8"
1580
+ }
1581
+ ]
1582
+ },
1583
+ {
1584
+ "inputs": [],
1585
+ "stateMutability": "view",
1586
+ "type": "function",
1587
+ "name": "CREATOR_RESERVE",
1588
+ "outputs": [
1589
+ {
1590
+ "internalType": "uint256",
1591
+ "name": "",
1592
+ "type": "uint256"
1593
+ }
1594
+ ]
1595
+ },
1596
+ {
1597
+ "inputs": [],
1598
+ "stateMutability": "view",
1599
+ "type": "function",
1600
+ "name": "MAX_POINTS",
1601
+ "outputs": [
1602
+ {
1603
+ "internalType": "uint256",
1604
+ "name": "",
1605
+ "type": "uint256"
1606
+ }
1607
+ ]
1608
+ },
1609
+ {
1610
+ "inputs": [],
1611
+ "stateMutability": "view",
1612
+ "type": "function",
1613
+ "name": "MAX_POINTS_BPS",
1614
+ "outputs": [
1615
+ {
1616
+ "internalType": "uint256",
1617
+ "name": "",
1618
+ "type": "uint256"
1619
+ }
1620
+ ]
1621
+ },
1622
+ {
1623
+ "inputs": [],
1624
+ "stateMutability": "view",
1625
+ "type": "function",
1626
+ "name": "TOTAL",
1627
+ "outputs": [
1628
+ {
1629
+ "internalType": "uint256",
1630
+ "name": "",
1631
+ "type": "uint256"
1632
+ }
1633
+ ]
1634
+ },
1635
+ {
1636
+ "inputs": [],
1637
+ "stateMutability": "view",
1638
+ "type": "function",
1639
+ "name": "TREASURY_BUCKET",
1640
+ "outputs": [
1641
+ {
1642
+ "internalType": "uint8",
1643
+ "name": "",
1644
+ "type": "uint8"
1645
+ }
1646
+ ]
1647
+ },
1648
+ {
1649
+ "inputs": [],
1650
+ "stateMutability": "view",
1651
+ "type": "function",
1652
+ "name": "admissionSigner",
1653
+ "outputs": [
1654
+ {
1655
+ "internalType": "address",
1656
+ "name": "",
1657
+ "type": "address"
1658
+ }
1659
+ ]
1660
+ },
1661
+ {
1662
+ "inputs": [
1663
+ {
1664
+ "internalType": "struct HanaLauncherQuoteV2.LaunchAuthorization",
1665
+ "name": "a",
1666
+ "type": "tuple",
1667
+ "components": [
1668
+ {
1669
+ "internalType": "bytes32",
1670
+ "name": "hanaId",
1671
+ "type": "bytes32"
1672
+ },
1673
+ {
1674
+ "internalType": "bytes32",
1675
+ "name": "requestId",
1676
+ "type": "bytes32"
1677
+ },
1678
+ {
1679
+ "internalType": "address",
1680
+ "name": "payer",
1681
+ "type": "address"
1682
+ },
1683
+ {
1684
+ "internalType": "bytes32",
1685
+ "name": "subject",
1686
+ "type": "bytes32"
1687
+ },
1688
+ {
1689
+ "internalType": "bytes32",
1690
+ "name": "snapshot",
1691
+ "type": "bytes32"
1692
+ },
1693
+ {
1694
+ "internalType": "string",
1695
+ "name": "name",
1696
+ "type": "string"
1697
+ },
1698
+ {
1699
+ "internalType": "string",
1700
+ "name": "symbol",
1701
+ "type": "string"
1702
+ },
1703
+ {
1704
+ "internalType": "address",
1705
+ "name": "hanaTreasury",
1706
+ "type": "address"
1707
+ },
1708
+ {
1709
+ "internalType": "address",
1710
+ "name": "quote",
1711
+ "type": "address"
1712
+ },
1713
+ {
1714
+ "internalType": "uint256",
1715
+ "name": "launchFeeWei",
1716
+ "type": "uint256"
1717
+ },
1718
+ {
1719
+ "internalType": "uint256",
1720
+ "name": "pointsBps",
1721
+ "type": "uint256"
1722
+ },
1723
+ {
1724
+ "internalType": "bool",
1725
+ "name": "earlyReleaseAllowed",
1726
+ "type": "bool"
1727
+ },
1728
+ {
1729
+ "internalType": "uint256",
1730
+ "name": "deadline",
1731
+ "type": "uint256"
1732
+ }
1733
+ ]
1734
+ }
1735
+ ],
1736
+ "stateMutability": "view",
1737
+ "type": "function",
1738
+ "name": "authorizationDigest",
1739
+ "outputs": [
1740
+ {
1741
+ "internalType": "bytes32",
1742
+ "name": "",
1743
+ "type": "bytes32"
1744
+ }
1745
+ ]
1746
+ },
1747
+ {
1748
+ "inputs": [],
1749
+ "stateMutability": "view",
1750
+ "type": "function",
1751
+ "name": "bondFactory",
1752
+ "outputs": [
1753
+ {
1754
+ "internalType": "contract IQuoteV2LaunchBondFactory",
1755
+ "name": "",
1756
+ "type": "address"
1757
+ }
1758
+ ]
1759
+ },
1760
+ {
1761
+ "inputs": [],
1762
+ "stateMutability": "view",
1763
+ "type": "function",
1764
+ "name": "domainSeparator",
1765
+ "outputs": [
1766
+ {
1767
+ "internalType": "bytes32",
1768
+ "name": "",
1769
+ "type": "bytes32"
1770
+ }
1771
+ ]
1772
+ },
1773
+ {
1774
+ "inputs": [],
1775
+ "stateMutability": "view",
1776
+ "type": "function",
1777
+ "name": "eip712Domain",
1778
+ "outputs": [
1779
+ {
1780
+ "internalType": "bytes1",
1781
+ "name": "fields",
1782
+ "type": "bytes1"
1783
+ },
1784
+ {
1785
+ "internalType": "string",
1786
+ "name": "name",
1787
+ "type": "string"
1788
+ },
1789
+ {
1790
+ "internalType": "string",
1791
+ "name": "version",
1792
+ "type": "string"
1793
+ },
1794
+ {
1795
+ "internalType": "uint256",
1796
+ "name": "chainId",
1797
+ "type": "uint256"
1798
+ },
1799
+ {
1800
+ "internalType": "address",
1801
+ "name": "verifyingContract",
1802
+ "type": "address"
1803
+ },
1804
+ {
1805
+ "internalType": "bytes32",
1806
+ "name": "salt",
1807
+ "type": "bytes32"
1808
+ },
1809
+ {
1810
+ "internalType": "uint256[]",
1811
+ "name": "extensions",
1812
+ "type": "uint256[]"
1813
+ }
1814
+ ]
1815
+ },
1816
+ {
1817
+ "inputs": [],
1818
+ "stateMutability": "view",
1819
+ "type": "function",
1820
+ "name": "feeTreasury",
1821
+ "outputs": [
1822
+ {
1823
+ "internalType": "address",
1824
+ "name": "",
1825
+ "type": "address"
1826
+ }
1827
+ ]
1828
+ },
1829
+ {
1830
+ "inputs": [
1831
+ {
1832
+ "internalType": "struct HanaLauncherQuoteV2.LaunchAuthorization",
1833
+ "name": "a",
1834
+ "type": "tuple",
1835
+ "components": [
1836
+ {
1837
+ "internalType": "bytes32",
1838
+ "name": "hanaId",
1839
+ "type": "bytes32"
1840
+ },
1841
+ {
1842
+ "internalType": "bytes32",
1843
+ "name": "requestId",
1844
+ "type": "bytes32"
1845
+ },
1846
+ {
1847
+ "internalType": "address",
1848
+ "name": "payer",
1849
+ "type": "address"
1850
+ },
1851
+ {
1852
+ "internalType": "bytes32",
1853
+ "name": "subject",
1854
+ "type": "bytes32"
1855
+ },
1856
+ {
1857
+ "internalType": "bytes32",
1858
+ "name": "snapshot",
1859
+ "type": "bytes32"
1860
+ },
1861
+ {
1862
+ "internalType": "string",
1863
+ "name": "name",
1864
+ "type": "string"
1865
+ },
1866
+ {
1867
+ "internalType": "string",
1868
+ "name": "symbol",
1869
+ "type": "string"
1870
+ },
1871
+ {
1872
+ "internalType": "address",
1873
+ "name": "hanaTreasury",
1874
+ "type": "address"
1875
+ },
1876
+ {
1877
+ "internalType": "address",
1878
+ "name": "quote",
1879
+ "type": "address"
1880
+ },
1881
+ {
1882
+ "internalType": "uint256",
1883
+ "name": "launchFeeWei",
1884
+ "type": "uint256"
1885
+ },
1886
+ {
1887
+ "internalType": "uint256",
1888
+ "name": "pointsBps",
1889
+ "type": "uint256"
1890
+ },
1891
+ {
1892
+ "internalType": "bool",
1893
+ "name": "earlyReleaseAllowed",
1894
+ "type": "bool"
1895
+ },
1896
+ {
1897
+ "internalType": "uint256",
1898
+ "name": "deadline",
1899
+ "type": "uint256"
1900
+ }
1901
+ ]
1902
+ }
1903
+ ],
1904
+ "stateMutability": "view",
1905
+ "type": "function",
1906
+ "name": "hashEmptyLaunch",
1907
+ "outputs": [
1908
+ {
1909
+ "internalType": "bytes32",
1910
+ "name": "",
1911
+ "type": "bytes32"
1912
+ }
1913
+ ]
1914
+ },
1915
+ {
1916
+ "inputs": [
1917
+ {
1918
+ "internalType": "address",
1919
+ "name": "",
1920
+ "type": "address"
1921
+ }
1922
+ ],
1923
+ "stateMutability": "view",
1924
+ "type": "function",
1925
+ "name": "issuanceAuthorizationOf",
1926
+ "outputs": [
1927
+ {
1928
+ "internalType": "bytes32",
1929
+ "name": "",
1930
+ "type": "bytes32"
1931
+ }
1932
+ ]
1933
+ },
1934
+ {
1935
+ "inputs": [
1936
+ {
1937
+ "internalType": "bytes32",
1938
+ "name": "hanaId",
1939
+ "type": "bytes32"
1940
+ }
1941
+ ],
1942
+ "stateMutability": "view",
1943
+ "type": "function",
1944
+ "name": "issuances",
1945
+ "outputs": [
1946
+ {
1947
+ "internalType": "struct HanaLauncherQuoteV2.Issuance",
1948
+ "name": "",
1949
+ "type": "tuple",
1950
+ "components": [
1951
+ {
1952
+ "internalType": "address",
1953
+ "name": "token",
1954
+ "type": "address"
1955
+ },
1956
+ {
1957
+ "internalType": "address",
1958
+ "name": "bond",
1959
+ "type": "address"
1960
+ },
1961
+ {
1962
+ "internalType": "address",
1963
+ "name": "pool",
1964
+ "type": "address"
1965
+ },
1966
+ {
1967
+ "internalType": "address",
1968
+ "name": "payer",
1969
+ "type": "address"
1970
+ },
1971
+ {
1972
+ "internalType": "address",
1973
+ "name": "hanaTreasury",
1974
+ "type": "address"
1975
+ },
1976
+ {
1977
+ "internalType": "bytes32",
1978
+ "name": "requestId",
1979
+ "type": "bytes32"
1980
+ },
1981
+ {
1982
+ "internalType": "bytes32",
1983
+ "name": "authorizationHash",
1984
+ "type": "bytes32"
1985
+ },
1986
+ {
1987
+ "internalType": "address",
1988
+ "name": "quote",
1989
+ "type": "address"
1990
+ },
1991
+ {
1992
+ "internalType": "uint256",
1993
+ "name": "virtualQuote",
1994
+ "type": "uint256"
1995
+ },
1996
+ {
1997
+ "internalType": "uint256",
1998
+ "name": "launchFeeWei",
1999
+ "type": "uint256"
2000
+ },
2001
+ {
2002
+ "internalType": "uint256",
2003
+ "name": "pointsBps",
2004
+ "type": "uint256"
2005
+ },
2006
+ {
2007
+ "internalType": "uint256",
2008
+ "name": "pointsAmount",
2009
+ "type": "uint256"
2010
+ },
2011
+ {
2012
+ "internalType": "bool",
2013
+ "name": "earlyReleaseAllowed",
2014
+ "type": "bool"
2015
+ },
2016
+ {
2017
+ "internalType": "uint256",
2018
+ "name": "treasuryReserve",
2019
+ "type": "uint256"
2020
+ },
2021
+ {
2022
+ "internalType": "uint256",
2023
+ "name": "creatorReserve",
2024
+ "type": "uint256"
2025
+ }
2026
+ ]
2027
+ }
2028
+ ]
2029
+ },
2030
+ {
2031
+ "inputs": [
2032
+ {
2033
+ "internalType": "struct HanaLauncherQuoteV2.LaunchAuthorization",
2034
+ "name": "a",
2035
+ "type": "tuple",
2036
+ "components": [
2037
+ {
2038
+ "internalType": "bytes32",
2039
+ "name": "hanaId",
2040
+ "type": "bytes32"
2041
+ },
2042
+ {
2043
+ "internalType": "bytes32",
2044
+ "name": "requestId",
2045
+ "type": "bytes32"
2046
+ },
2047
+ {
2048
+ "internalType": "address",
2049
+ "name": "payer",
2050
+ "type": "address"
2051
+ },
2052
+ {
2053
+ "internalType": "bytes32",
2054
+ "name": "subject",
2055
+ "type": "bytes32"
2056
+ },
2057
+ {
2058
+ "internalType": "bytes32",
2059
+ "name": "snapshot",
2060
+ "type": "bytes32"
2061
+ },
2062
+ {
2063
+ "internalType": "string",
2064
+ "name": "name",
2065
+ "type": "string"
2066
+ },
2067
+ {
2068
+ "internalType": "string",
2069
+ "name": "symbol",
2070
+ "type": "string"
2071
+ },
2072
+ {
2073
+ "internalType": "address",
2074
+ "name": "hanaTreasury",
2075
+ "type": "address"
2076
+ },
2077
+ {
2078
+ "internalType": "address",
2079
+ "name": "quote",
2080
+ "type": "address"
2081
+ },
2082
+ {
2083
+ "internalType": "uint256",
2084
+ "name": "launchFeeWei",
2085
+ "type": "uint256"
2086
+ },
2087
+ {
2088
+ "internalType": "uint256",
2089
+ "name": "pointsBps",
2090
+ "type": "uint256"
2091
+ },
2092
+ {
2093
+ "internalType": "bool",
2094
+ "name": "earlyReleaseAllowed",
2095
+ "type": "bool"
2096
+ },
2097
+ {
2098
+ "internalType": "uint256",
2099
+ "name": "deadline",
2100
+ "type": "uint256"
2101
+ }
2102
+ ]
2103
+ },
2104
+ {
2105
+ "internalType": "bytes",
2106
+ "name": "signature",
2107
+ "type": "bytes"
2108
+ }
2109
+ ],
2110
+ "stateMutability": "payable",
2111
+ "type": "function",
2112
+ "name": "launch",
2113
+ "outputs": [
2114
+ {
2115
+ "internalType": "address",
2116
+ "name": "token",
2117
+ "type": "address"
2118
+ },
2119
+ {
2120
+ "internalType": "address",
2121
+ "name": "bond",
2122
+ "type": "address"
2123
+ }
2124
+ ]
2125
+ },
2126
+ {
2127
+ "inputs": [
2128
+ {
2129
+ "internalType": "struct HanaLauncherQuoteV2.LaunchAuthorization",
2130
+ "name": "a",
2131
+ "type": "tuple",
2132
+ "components": [
2133
+ {
2134
+ "internalType": "bytes32",
2135
+ "name": "hanaId",
2136
+ "type": "bytes32"
2137
+ },
2138
+ {
2139
+ "internalType": "bytes32",
2140
+ "name": "requestId",
2141
+ "type": "bytes32"
2142
+ },
2143
+ {
2144
+ "internalType": "address",
2145
+ "name": "payer",
2146
+ "type": "address"
2147
+ },
2148
+ {
2149
+ "internalType": "bytes32",
2150
+ "name": "subject",
2151
+ "type": "bytes32"
2152
+ },
2153
+ {
2154
+ "internalType": "bytes32",
2155
+ "name": "snapshot",
2156
+ "type": "bytes32"
2157
+ },
2158
+ {
2159
+ "internalType": "string",
2160
+ "name": "name",
2161
+ "type": "string"
2162
+ },
2163
+ {
2164
+ "internalType": "string",
2165
+ "name": "symbol",
2166
+ "type": "string"
2167
+ },
2168
+ {
2169
+ "internalType": "address",
2170
+ "name": "hanaTreasury",
2171
+ "type": "address"
2172
+ },
2173
+ {
2174
+ "internalType": "address",
2175
+ "name": "quote",
2176
+ "type": "address"
2177
+ },
2178
+ {
2179
+ "internalType": "uint256",
2180
+ "name": "launchFeeWei",
2181
+ "type": "uint256"
2182
+ },
2183
+ {
2184
+ "internalType": "uint256",
2185
+ "name": "pointsBps",
2186
+ "type": "uint256"
2187
+ },
2188
+ {
2189
+ "internalType": "bool",
2190
+ "name": "earlyReleaseAllowed",
2191
+ "type": "bool"
2192
+ },
2193
+ {
2194
+ "internalType": "uint256",
2195
+ "name": "deadline",
2196
+ "type": "uint256"
2197
+ }
2198
+ ]
2199
+ },
2200
+ {
2201
+ "internalType": "bytes",
2202
+ "name": "signature",
2203
+ "type": "bytes"
2204
+ },
2205
+ {
2206
+ "internalType": "uint256",
2207
+ "name": "nonce",
2208
+ "type": "uint256"
2209
+ },
2210
+ {
2211
+ "internalType": "uint256",
2212
+ "name": "deadline",
2213
+ "type": "uint256"
2214
+ },
2215
+ {
2216
+ "internalType": "bytes",
2217
+ "name": "emptySignature",
2218
+ "type": "bytes"
2219
+ }
2220
+ ],
2221
+ "stateMutability": "payable",
2222
+ "type": "function",
2223
+ "name": "launchWithEmptyAllocation",
2224
+ "outputs": [
2225
+ {
2226
+ "internalType": "address",
2227
+ "name": "token",
2228
+ "type": "address"
2229
+ },
2230
+ {
2231
+ "internalType": "address",
2232
+ "name": "bond",
2233
+ "type": "address"
2234
+ }
2235
+ ]
2236
+ },
2237
+ {
2238
+ "inputs": [],
2239
+ "stateMutability": "view",
2240
+ "type": "function",
2241
+ "name": "platformAuthority",
2242
+ "outputs": [
2243
+ {
2244
+ "internalType": "address",
2245
+ "name": "",
2246
+ "type": "address"
2247
+ }
2248
+ ]
2249
+ },
2250
+ {
2251
+ "inputs": [
2252
+ {
2253
+ "internalType": "uint256",
2254
+ "name": "pointsBps",
2255
+ "type": "uint256"
2256
+ }
2257
+ ],
2258
+ "stateMutability": "pure",
2259
+ "type": "function",
2260
+ "name": "pointsAmountFor",
2261
+ "outputs": [
2262
+ {
2263
+ "internalType": "uint256",
2264
+ "name": "",
2265
+ "type": "uint256"
2266
+ }
2267
+ ]
2268
+ },
2269
+ {
2270
+ "inputs": [],
2271
+ "stateMutability": "view",
2272
+ "type": "function",
2273
+ "name": "pointsDistributor",
2274
+ "outputs": [
2275
+ {
2276
+ "internalType": "address",
2277
+ "name": "",
2278
+ "type": "address"
2279
+ }
2280
+ ]
2281
+ },
2282
+ {
2283
+ "inputs": [
2284
+ {
2285
+ "internalType": "bytes32",
2286
+ "name": "",
2287
+ "type": "bytes32"
2288
+ }
2289
+ ],
2290
+ "stateMutability": "view",
2291
+ "type": "function",
2292
+ "name": "requests",
2293
+ "outputs": [
2294
+ {
2295
+ "internalType": "bytes32",
2296
+ "name": "",
2297
+ "type": "bytes32"
2298
+ }
2299
+ ]
2300
+ },
2301
+ {
2302
+ "inputs": [
2303
+ {
2304
+ "internalType": "bytes32",
2305
+ "name": "",
2306
+ "type": "bytes32"
2307
+ }
2308
+ ],
2309
+ "stateMutability": "view",
2310
+ "type": "function",
2311
+ "name": "reserveProposalUsed",
2312
+ "outputs": [
2313
+ {
2314
+ "internalType": "bool",
2315
+ "name": "",
2316
+ "type": "bool"
2317
+ }
2318
+ ]
2319
+ },
2320
+ {
2321
+ "inputs": [
2322
+ {
2323
+ "internalType": "bytes32",
2324
+ "name": "hanaId",
2325
+ "type": "bytes32"
2326
+ }
2327
+ ],
2328
+ "stateMutability": "view",
2329
+ "type": "function",
2330
+ "name": "reserveState",
2331
+ "outputs": [
2332
+ {
2333
+ "internalType": "struct HanaLauncherQuoteV2.ReserveState",
2334
+ "name": "s",
2335
+ "type": "tuple",
2336
+ "components": [
2337
+ {
2338
+ "internalType": "address",
2339
+ "name": "token",
2340
+ "type": "address"
2341
+ },
2342
+ {
2343
+ "internalType": "uint256",
2344
+ "name": "treasuryInitial",
2345
+ "type": "uint256"
2346
+ },
2347
+ {
2348
+ "internalType": "uint256",
2349
+ "name": "treasuryWithdrawn",
2350
+ "type": "uint256"
2351
+ },
2352
+ {
2353
+ "internalType": "uint256",
2354
+ "name": "treasuryRemaining",
2355
+ "type": "uint256"
2356
+ },
2357
+ {
2358
+ "internalType": "uint256",
2359
+ "name": "creatorInitial",
2360
+ "type": "uint256"
2361
+ },
2362
+ {
2363
+ "internalType": "uint256",
2364
+ "name": "creatorWithdrawn",
2365
+ "type": "uint256"
2366
+ },
2367
+ {
2368
+ "internalType": "uint256",
2369
+ "name": "creatorRemaining",
2370
+ "type": "uint256"
2371
+ }
2372
+ ]
2373
+ }
2374
+ ]
2375
+ },
2376
+ {
2377
+ "inputs": [
2378
+ {
2379
+ "internalType": "uint256",
2380
+ "name": "pointsBps",
2381
+ "type": "uint256"
2382
+ }
2383
+ ],
2384
+ "stateMutability": "pure",
2385
+ "type": "function",
2386
+ "name": "treasuryReserveFor",
2387
+ "outputs": [
2388
+ {
2389
+ "internalType": "uint256",
2390
+ "name": "",
2391
+ "type": "uint256"
2392
+ }
2393
+ ]
2394
+ },
2395
+ {
2396
+ "inputs": [
2397
+ {
2398
+ "internalType": "bytes32",
2399
+ "name": "hanaId",
2400
+ "type": "bytes32"
2401
+ },
2402
+ {
2403
+ "internalType": "uint8",
2404
+ "name": "bucket",
2405
+ "type": "uint8"
2406
+ },
2407
+ {
2408
+ "internalType": "address",
2409
+ "name": "to",
2410
+ "type": "address"
2411
+ },
2412
+ {
2413
+ "internalType": "uint256",
2414
+ "name": "amount",
2415
+ "type": "uint256"
2416
+ },
2417
+ {
2418
+ "internalType": "bytes32",
2419
+ "name": "proposalId",
2420
+ "type": "bytes32"
2421
+ },
2422
+ {
2423
+ "internalType": "uint256",
2424
+ "name": "expectedRemaining",
2425
+ "type": "uint256"
2426
+ }
2427
+ ],
2428
+ "stateMutability": "nonpayable",
2429
+ "type": "function",
2430
+ "name": "withdrawReserve"
2431
+ }
2432
+ ],
2433
+ "devdoc": {
2434
+ "kind": "dev",
2435
+ "methods": {
2436
+ "eip712Domain()": {
2437
+ "details": "returns the fields and values that describe the domain separator used by this contract for EIP-712 signature."
2438
+ }
2439
+ },
2440
+ "version": 1
2441
+ },
2442
+ "userdoc": {
2443
+ "kind": "user",
2444
+ "methods": {
2445
+ "hashEmptyLaunch((bytes32,bytes32,address,bytes32,bytes32,string,string,address,address,uint256,uint256,bool,uint256))": {
2446
+ "notice": "Empty snapshots require a distinct admission signature: a relayer cannot strip settlement."
2447
+ },
2448
+ "issuanceAuthorizationOf(address)": {
2449
+ "notice": "Binds an issued token to the complete signed snapshot and issuance parameters."
2450
+ },
2451
+ "launch((bytes32,bytes32,address,bytes32,bytes32,string,string,address,address,uint256,uint256,bool,uint256),bytes)": {
2452
+ "notice": "The signed issuer wallet submits the launch and pays the signed native fee. The signed payer is the issuer: the only address that may later start early release."
2453
+ },
2454
+ "launchWithEmptyAllocation((bytes32,bytes32,address,bytes32,bytes32,string,string,address,address,uint256,uint256,bool,uint256),bytes,uint256,uint256,bytes)": {
2455
+ "notice": "Zero-eligible snapshot path: launch and signed full-airdrop redirection are atomic. A regular launch authorization alone can never authorize redirection to the treasury."
2456
+ },
2457
+ "platformAuthority()": {
2458
+ "notice": "Immutable platform Safe supplied as a named deployment parameter. Safe executes a transaction; an admission signature or its owner's EOA is not this authority."
2459
+ },
2460
+ "reserveProposalUsed(bytes32)": {
2461
+ "notice": "Global to this Launcher, across both buckets and every Hana. Zero-amount executions consume IDs."
2462
+ },
2463
+ "withdrawReserve(bytes32,uint8,address,uint256,bytes32,uint256)": {
2464
+ "notice": "Platform-controlled buckets, without a vesting schedule or recipient-purpose policy. Only this issuance's Launcher inventory can be debited; no external-asset rescue or pull exists."
2465
+ }
2466
+ },
2467
+ "version": 1
2468
+ }
2469
+ },
2470
+ "settings": {
2471
+ "remappings": [
2472
+ "@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/",
2473
+ "forge-std/=lib/forge-std/src/"
2474
+ ],
2475
+ "optimizer": {
2476
+ "enabled": true,
2477
+ "runs": 200
2478
+ },
2479
+ "metadata": {
2480
+ "bytecodeHash": "ipfs"
2481
+ },
2482
+ "compilationTarget": {
2483
+ "src/HanaLauncherQuoteV2.sol": "HanaLauncherQuoteV2"
2484
+ },
2485
+ "evmVersion": "paris",
2486
+ "libraries": {}
2487
+ },
2488
+ "sources": {
2489
+ "lib/openzeppelin-contracts/contracts/interfaces/IERC1271.sol": {
2490
+ "keccak256": "0x3d4cd07258d675b6dfa3d9dfd623a77b38fb9935f4a5381ff4bc969948720976",
2491
+ "urls": [
2492
+ "bzz-raw://30abb60a4d98ad9a33de4fa5e9072342e12df3a79e9c71b5f59ce049ae8cd535",
2493
+ "dweb:/ipfs/QmT6NXJDjsf8H14nPYQsFELDB8q5ZTmG9cjdX2bEQJW7ST"
2494
+ ],
2495
+ "license": "MIT"
2496
+ },
2497
+ "lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol": {
2498
+ "keccak256": "0x9b6b3e7803bc5f2f8cd7ad57db8ac1def61a9930a5a3107df4882e028a9605d7",
2499
+ "urls": [
2500
+ "bzz-raw://da62d6be1f5c6edf577f0cb45666a8aa9c2086a4bac87d95d65f02e2f4c36a4b",
2501
+ "dweb:/ipfs/QmNkpvBpoCMvX8JwAFNSc5XxJ2q5BXJpL5L1txb4QkqVFF"
2502
+ ],
2503
+ "license": "MIT"
2504
+ },
2505
+ "lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol": {
2506
+ "keccak256": "0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724",
2507
+ "urls": [
2508
+ "bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a",
2509
+ "dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS"
2510
+ ],
2511
+ "license": "MIT"
2512
+ },
2513
+ "lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol": {
2514
+ "keccak256": "0xce41876e78d1badc0512229b4d14e4daf83bc1003d7f83978d18e0e56f965b9c",
2515
+ "urls": [
2516
+ "bzz-raw://a2608291cb038b388d80b79a06b6118a42f7894ff67b7da10ec0dbbf5b2973ba",
2517
+ "dweb:/ipfs/QmWohqcBLbcxmA4eGPhZDXe5RYMMEEpFq22nfkaUMvTfw1"
2518
+ ],
2519
+ "license": "MIT"
2520
+ },
2521
+ "lib/openzeppelin-contracts/contracts/interfaces/IERC5267.sol": {
2522
+ "keccak256": "0x92aa1df62dc3d33f1656d63bede0923e0df0b706ad4137c8b10b0a8fe549fd92",
2523
+ "urls": [
2524
+ "bzz-raw://c5c0f29195ad64cbe556da8e257dac8f05f78c53f90323c0d2accf8e6922d33a",
2525
+ "dweb:/ipfs/QmQ61TED8uaCZwcbh8KkgRSsCav7x7HbcGHwHts3U4DmUP"
2526
+ ],
2527
+ "license": "MIT"
2528
+ },
2529
+ "lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol": {
2530
+ "keccak256": "0x880da465c203cec76b10d72dbd87c80f387df4102274f23eea1f9c9b0918792b",
2531
+ "urls": [
2532
+ "bzz-raw://399594cd8bb0143bc9e55e0f1d071d0d8c850a394fb7a319d50edd55d9ed822b",
2533
+ "dweb:/ipfs/QmbPZzgtT6LEm9CMqWfagQFwETbV1ztpECBB1DtQHrKiRz"
2534
+ ],
2535
+ "license": "MIT"
2536
+ },
2537
+ "lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol": {
2538
+ "keccak256": "0x41f6b3b9e030561e7896dbef372b499cc8d418a80c3884a4d65a68f2fdc7493a",
2539
+ "urls": [
2540
+ "bzz-raw://80b0992a11b2fd1f75ced2971696d07bbd1d19ce6761dd50d8b6d48aa435f42a",
2541
+ "dweb:/ipfs/QmZDe5xd2gXHjVEjv9t8C1KQ68K5T8qFwdinwQgmP3rF3x"
2542
+ ],
2543
+ "license": "MIT"
2544
+ },
2545
+ "lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol": {
2546
+ "keccak256": "0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7",
2547
+ "urls": [
2548
+ "bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db",
2549
+ "dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9"
2550
+ ],
2551
+ "license": "MIT"
2552
+ },
2553
+ "lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol": {
2554
+ "keccak256": "0x70f2f713b13b7ce4610bcd0ac9fec0f3cc43693b043abcb8dc40a42a726eb330",
2555
+ "urls": [
2556
+ "bzz-raw://c13d13304ac79a83ab1c30168967d19e2203342ebbd6a9bbce4db7550522dcbf",
2557
+ "dweb:/ipfs/QmeN5jKMN2vw5bhacr6tkg78afbTTZUeaacNHqjWt4Ew1r"
2558
+ ],
2559
+ "license": "MIT"
2560
+ },
2561
+ "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol": {
2562
+ "keccak256": "0x982c5cb790ab941d1e04f807120a71709d4c313ba0bfc16006447ffbd27fbbd5",
2563
+ "urls": [
2564
+ "bzz-raw://8150ceb4ac947e8a442b2a9c017e01e880b2be2dd958f1fa9bc405f4c5a86508",
2565
+ "dweb:/ipfs/QmbcBmFX66AY6Kbhnd5gx7zpkgqnUafo43XnmayAM7zVdB"
2566
+ ],
2567
+ "license": "MIT"
2568
+ },
2569
+ "lib/openzeppelin-contracts/contracts/utils/Context.sol": {
2570
+ "keccak256": "0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2",
2571
+ "urls": [
2572
+ "bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12",
2573
+ "dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF"
2574
+ ],
2575
+ "license": "MIT"
2576
+ },
2577
+ "lib/openzeppelin-contracts/contracts/utils/Panic.sol": {
2578
+ "keccak256": "0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a",
2579
+ "urls": [
2580
+ "bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a",
2581
+ "dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG"
2582
+ ],
2583
+ "license": "MIT"
2584
+ },
2585
+ "lib/openzeppelin-contracts/contracts/utils/ReentrancyGuard.sol": {
2586
+ "keccak256": "0x11a5a79827df29e915a12740caf62fe21ebe27c08c9ae3e09abe9ee3ba3866d3",
2587
+ "urls": [
2588
+ "bzz-raw://3cf0c69ab827e3251db9ee6a50647d62c90ba580a4d7bbff21f2bea39e7b2f4a",
2589
+ "dweb:/ipfs/QmZiKwtKU1SBX4RGfQtY7PZfiapbbu6SZ9vizGQD9UHjRA"
2590
+ ],
2591
+ "license": "MIT"
2592
+ },
2593
+ "lib/openzeppelin-contracts/contracts/utils/ShortStrings.sol": {
2594
+ "keccak256": "0x1fcf8cceb1a67e6c8512267e780933c4a3f63ef44756e6c818fda79be51c8402",
2595
+ "urls": [
2596
+ "bzz-raw://617d7d57f6f9cd449068b4d23daf485676d083aae648e038d05eb3a13291de35",
2597
+ "dweb:/ipfs/QmPADWPiGaSzZDFNpFEUx4ZPqhzPkYncBpHyTfAGcfsqzy"
2598
+ ],
2599
+ "license": "MIT"
2600
+ },
2601
+ "lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol": {
2602
+ "keccak256": "0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97",
2603
+ "urls": [
2604
+ "bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b",
2605
+ "dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM"
2606
+ ],
2607
+ "license": "MIT"
2608
+ },
2609
+ "lib/openzeppelin-contracts/contracts/utils/Strings.sol": {
2610
+ "keccak256": "0x81c274a60a7ae232ae3dc9ff3a4011b4849a853c13b0832cd3351bb1bb2f0dae",
2611
+ "urls": [
2612
+ "bzz-raw://9da0c20dc74358a2a76330818f3bac9d1e2ce3371aec847b9cbf5d147fbae4f6",
2613
+ "dweb:/ipfs/QmeczhmnFv1hbXKGLwbYXY6Rrytc9a5A2YaRi5QMMgjPnb"
2614
+ ],
2615
+ "license": "MIT"
2616
+ },
2617
+ "lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol": {
2618
+ "keccak256": "0x69f54c02b7d81d505910ec198c11ed4c6a728418a868b906b4a0cf29946fda84",
2619
+ "urls": [
2620
+ "bzz-raw://8e25e4bdb7ae1f21d23bfee996e22736fc0ab44cfabedac82a757b1edc5623b9",
2621
+ "dweb:/ipfs/QmQdWQvB6JCP9ZMbzi8EvQ1PTETqkcTWrbcVurS7DKpa5n"
2622
+ ],
2623
+ "license": "MIT"
2624
+ },
2625
+ "lib/openzeppelin-contracts/contracts/utils/cryptography/EIP712.sol": {
2626
+ "keccak256": "0x0c60057e7351874f086db8dc9291b7ada9ad62cb7725befd2991430d04a74572",
2627
+ "urls": [
2628
+ "bzz-raw://33cdfd1fc36410d45046f88ff9864350146b194736c32834baa38d99b843ffbe",
2629
+ "dweb:/ipfs/QmdVmqgFKjgEBURy4KUwWDA6J1LEg1BKcHcXsx4nkeHAD2"
2630
+ ],
2631
+ "license": "MIT"
2632
+ },
2633
+ "lib/openzeppelin-contracts/contracts/utils/cryptography/MessageHashUtils.sol": {
2634
+ "keccak256": "0x26670fef37d4adf55570ba78815eec5f31cb017e708f61886add4fc4da665631",
2635
+ "urls": [
2636
+ "bzz-raw://b16d45febff462bafd8a5669f904796a835baf607df58a8461916d3bf4f08c59",
2637
+ "dweb:/ipfs/QmU2eJFpjmT4vxeJWJyLeQb8Xht1kdB8Y6MKLDPFA9WPux"
2638
+ ],
2639
+ "license": "MIT"
2640
+ },
2641
+ "lib/openzeppelin-contracts/contracts/utils/cryptography/SignatureChecker.sol": {
2642
+ "keccak256": "0xbdc3bb48ccedb818cd75a6d74a16df55a822e9f6d3cc54c59f576f10aab67b5f",
2643
+ "urls": [
2644
+ "bzz-raw://2284f25f2478f419d7781573b17a89d0e7c5589a865d55e2d6ed5163aee23aa8",
2645
+ "dweb:/ipfs/QmNsr2625APBQiNKpYnX5VcSnYgfUHR9Uzzp9pRXjoDqK7"
2646
+ ],
2647
+ "license": "MIT"
2648
+ },
2649
+ "lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol": {
2650
+ "keccak256": "0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8",
2651
+ "urls": [
2652
+ "bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621",
2653
+ "dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL"
2654
+ ],
2655
+ "license": "MIT"
2656
+ },
2657
+ "lib/openzeppelin-contracts/contracts/utils/math/Math.sol": {
2658
+ "keccak256": "0x1225214420c83ebcca88f2ae2b50f053aaa7df7bd684c3e878d334627f2edfc6",
2659
+ "urls": [
2660
+ "bzz-raw://6c5fab4970634f9ab9a620983dc1c8a30153981a0b1a521666e269d0a11399d3",
2661
+ "dweb:/ipfs/QmVRnBC575MESGkEHndjujtR7qub2FzU9RWy9eKLp4hPZB"
2662
+ ],
2663
+ "license": "MIT"
2664
+ },
2665
+ "lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol": {
2666
+ "keccak256": "0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54",
2667
+ "urls": [
2668
+ "bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8",
2669
+ "dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy"
2670
+ ],
2671
+ "license": "MIT"
2672
+ },
2673
+ "lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol": {
2674
+ "keccak256": "0xb1970fac7b64e6c09611e6691791e848d5e3fe410fa5899e7df2e0afd77a99e3",
2675
+ "urls": [
2676
+ "bzz-raw://db5fbb3dddd8b7047465b62575d96231ba8a2774d37fb4737fbf23340fabbb03",
2677
+ "dweb:/ipfs/QmVUSvooZKEdEdap619tcJjTLcAuH6QBdZqAzWwnAXZAWJ"
2678
+ ],
2679
+ "license": "MIT"
2680
+ },
2681
+ "src/HanaLauncherQuoteV2.sol": {
2682
+ "keccak256": "0xcbec1cab92f07de7d9f0db2a1c4e683bd71ffce36cfe36d2c25f5ed565db6470",
2683
+ "urls": [
2684
+ "bzz-raw://ac0b8d66f9204b9fa8ce1b6a28da1520edc07530c2287e0f2031ae02e132cd97",
2685
+ "dweb:/ipfs/QmeYfcB6qwAnnf8QXDpWPwE2WaspSNDCcCroWzNNyjpxkN"
2686
+ ],
2687
+ "license": "MIT"
2688
+ },
2689
+ "src/HanaTokenQuoteV2.sol": {
2690
+ "keccak256": "0x29758263c9953033780294392d8530ec78b8cb2100481c43048746c634821dd9",
2691
+ "urls": [
2692
+ "bzz-raw://7c8512f5dccd687a749760d8317b050a0203c7f81dd8c9009e88c26886190e10",
2693
+ "dweb:/ipfs/QmWtgPLqePsgwCmvqU7KDcuN14M5mQ5W7ZBHxc1jXPgneu"
2694
+ ],
2695
+ "license": "MIT"
2696
+ }
2697
+ },
2698
+ "version": 1
2699
+ },
2700
+ "immutableReferences": {
2701
+ "14462": [
2702
+ {
2703
+ "start": 1907,
2704
+ "length": 32
2705
+ },
2706
+ {
2707
+ "start": 4623,
2708
+ "length": 32
2709
+ }
2710
+ ],
2711
+ "14464": [
2712
+ {
2713
+ "start": 617,
2714
+ "length": 32
2715
+ },
2716
+ {
2717
+ "start": 1230,
2718
+ "length": 32
2719
+ },
2720
+ {
2721
+ "start": 2006,
2722
+ "length": 32
2723
+ },
2724
+ {
2725
+ "start": 5697,
2726
+ "length": 32
2727
+ },
2728
+ {
2729
+ "start": 5924,
2730
+ "length": 32
2731
+ }
2732
+ ],
2733
+ "14467": [
2734
+ {
2735
+ "start": 1178,
2736
+ "length": 32
2737
+ },
2738
+ {
2739
+ "start": 4776,
2740
+ "length": 32
2741
+ },
2742
+ {
2743
+ "start": 4828,
2744
+ "length": 32
2745
+ },
2746
+ {
2747
+ "start": 6464,
2748
+ "length": 32
2749
+ },
2750
+ {
2751
+ "start": 6523,
2752
+ "length": 32
2753
+ },
2754
+ {
2755
+ "start": 6836,
2756
+ "length": 32
2757
+ }
2758
+ ],
2759
+ "14469": [
2760
+ {
2761
+ "start": 1815,
2762
+ "length": 32
2763
+ },
2764
+ {
2765
+ "start": 3941,
2766
+ "length": 32
2767
+ },
2768
+ {
2769
+ "start": 8497,
2770
+ "length": 32
2771
+ },
2772
+ {
2773
+ "start": 8557,
2774
+ "length": 32
2775
+ }
2776
+ ],
2777
+ "3611": [
2778
+ {
2779
+ "start": 5363,
2780
+ "length": 32
2781
+ }
2782
+ ],
2783
+ "3613": [
2784
+ {
2785
+ "start": 5321,
2786
+ "length": 32
2787
+ }
2788
+ ],
2789
+ "3615": [
2790
+ {
2791
+ "start": 5279,
2792
+ "length": 32
2793
+ }
2794
+ ],
2795
+ "3617": [
2796
+ {
2797
+ "start": 5444,
2798
+ "length": 32
2799
+ }
2800
+ ],
2801
+ "3619": [
2802
+ {
2803
+ "start": 5484,
2804
+ "length": 32
2805
+ }
2806
+ ],
2807
+ "3622": [
2808
+ {
2809
+ "start": 5138,
2810
+ "length": 32
2811
+ }
2812
+ ],
2813
+ "3625": [
2814
+ {
2815
+ "start": 5183,
2816
+ "length": 32
2817
+ }
2818
+ ]
2819
+ }
2820
+ }