-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcontractJSON.js
11426 lines (11426 loc) · 472 KB
/
contractJSON.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
const MyContract = {
"contractName": "image_nft",
"abi": [
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "_from",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "_to",
"type": "address"
},
{
"indexed": true,
"internalType": "uint256",
"name": "_tokenId",
"type": "uint256"
}
],
"name": "Transfer",
"type": "event"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "listnftsImgs",
"outputs": [
{
"internalType": "string",
"name": "name",
"type": "string"
},
{
"internalType": "uint256",
"name": "price",
"type": "uint256"
},
{
"internalType": "string",
"name": "ipfsHash",
"type": "string"
},
{
"internalType": "string",
"name": "desc",
"type": "string"
}
],
"stateMutability": "view",
"type": "function",
"constant": true
},
{
"inputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "transactionsByOwner",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function",
"constant": true
},
{
"inputs": [
{
"internalType": "string",
"name": "_name",
"type": "string"
},
{
"internalType": "uint256",
"name": "_price",
"type": "uint256"
},
{
"internalType": "string",
"name": "_ipfsHash",
"type": "string"
},
{
"internalType": "string",
"name": "_desc",
"type": "string"
}
],
"name": "recordTransaction",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_owner",
"type": "address"
}
],
"name": "getTransactionByOwner",
"outputs": [
{
"internalType": "uint256[]",
"name": "",
"type": "uint256[]"
}
],
"stateMutability": "view",
"type": "function",
"constant": true
},
{
"inputs": [
{
"internalType": "address",
"name": "_from",
"type": "address"
},
{
"internalType": "address",
"name": "_to",
"type": "address"
},
{
"internalType": "uint256",
"name": "_tokenId",
"type": "uint256"
}
],
"name": "transferFrom",
"outputs": [],
"stateMutability": "payable",
"type": "function",
"payable": true
}
],
"metadata": "{\"compiler\":{\"version\":\"0.8.0+commit.c7dfd78e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"getTransactionByOwner\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"listnftsImgs\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"ipfsHash\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"desc\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"_price\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_ipfsHash\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_desc\",\"type\":\"string\"}],\"name\":\"recordTransaction\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"transactionsByOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"/E/saqib/Dice X PSEB blockchain/image_NFT/contracts/image_nft.sol\":\"image_nft\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/E/saqib/Dice X PSEB blockchain/image_NFT/contracts/erc721.sol\":{\"keccak256\":\"0x8ca2bc85225b5310bc0ae36ccbe112faad9cb9e553420e331340a2306b13de0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a277ca923128336f39473c0fc3073a3ebab5ccfaba54f74233fefcb9038336c6\",\"dweb:/ipfs/QmSCc6KsDvTrY3zLjgBgoMQLVUZxzhCGytearaN92EWixn\"]},\"/E/saqib/Dice X PSEB blockchain/image_NFT/contracts/image_nft.sol\":{\"keccak256\":\"0xdcc78afed9186f4bb3a09f5a69425deffea47495ca326ea11677b66148d5d0da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2803c2d5702e0756aa66c41bf18f350711529e655e45872e5a30f22184902722\",\"dweb:/ipfs/QmdmZ9ovihQ88rW9Bzip7PRFE6qFfhqPwMouAFYv3iPSPG\"]},\"/E/saqib/Dice X PSEB blockchain/image_NFT/contracts/safemath.sol\":{\"keccak256\":\"0x73aae7c77f6cb4fe06ceecf1f8ea353af9c7451687a69c3e3bc0c4643c41d46c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://665d1cf44ba2b9730ff896109309c4fc30d562bad3b6529298cabf8171d32d8d\",\"dweb:/ipfs/QmXE8zWmcdxivt1dYxssnrvkheZfiAJrWNn3HnQh7NbHMT\"]}},\"version\":1}",
"bytecode": "0x608060405234801561001057600080fd5b506110d3806100206000396000f3fe60806040526004361061004a5760003560e01c806323b872dd1461004f5780634a1e045e1461006b5780635a8cb762146100ab578063894b54b1146100e8578063bf034de514610111575b600080fd5b61006960048036038101906100649190610b02565b61014e565b005b34801561007757600080fd5b50610092600480360381019061008d9190610bfc565b6101c9565b6040516100a29493929190610d3e565b60405180910390f35b3480156100b757600080fd5b506100d260048036038101906100cd9190610ad9565b6103a1565b6040516100df9190610d1c565b60405180910390f35b3480156100f457600080fd5b5061010f600480360381019061010a9190610b51565b610540565b005b34801561011d57600080fd5b5061013860048036038101906101339190610bfc565b6106f4565b6040516101459190610d01565b60405180910390f35b3373ffffffffffffffffffffffffffffffffffffffff166001600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146101b957600080fd5b6101c4838383610727565b505050565b600081815481106101d957600080fd5b90600052602060002090600402016000915090508060000180546101fc90610f56565b80601f016020809104026020016040519081016040528092919081815260200182805461022890610f56565b80156102755780601f1061024a57610100808354040283529160200191610275565b820191906000526020600020905b81548152906001019060200180831161025857829003601f168201915b50505050509080600101549080600201805461029090610f56565b80601f01602080910402602001604051908101604052809291908181526020018280546102bc90610f56565b80156103095780601f106102de57610100808354040283529160200191610309565b820191906000526020600020905b8154815290600101906020018083116102ec57829003601f168201915b50505050509080600301805461031e90610f56565b80601f016020809104026020016040519081016040528092919081815260200182805461034a90610f56565b80156103975780601f1061036c57610100808354040283529160200191610397565b820191906000526020600020905b81548152906001019060200180831161037a57829003601f168201915b5050505050905084565b60606000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205467ffffffffffffffff811115610424577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280602002602001820160405280156104525781602001602082028036833780820191505090505b5090506000805b600080549050811015610535578473ffffffffffffffffffffffffffffffffffffffff166001600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156105225780838381518110610507577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001018181525050818061051e90610f88565b9250505b808061052d90610f88565b915050610459565b508192505050919050565b6000604051806080016040528086815260200185815260200184815260200183815250908060018154018082558091505060019003906000526020600020906004020160009091909190915060008201518160000190805190602001906105a89291906109a4565b506020820151816001015560408201518160020190805190602001906105cf9291906109a4565b5060608201518160030190805190602001906105ec9291906109a4565b505050600060016000805490506106039190610ea4565b9050336001600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506106aa6001600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461090590919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050505050565b60016020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61077a6001600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461090590919063ffffffff16565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506108106001600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461095790919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816001600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b60008082846109149190610e4e565b90508381101561094d577f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b8091505092915050565b600082821115610990577f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b818361099c9190610ea4565b905092915050565b8280546109b090610f56565b90600052602060002090601f0160209004810192826109d25760008555610a19565b82601f106109eb57805160ff1916838001178555610a19565b82800160010185558215610a19579182015b82811115610a185782518255916020019190600101906109fd565b5b509050610a269190610a2a565b5090565b5b80821115610a43576000816000905550600101610a2b565b5090565b6000610a5a610a5584610dc9565b610d98565b905082815260208101848484011115610a7257600080fd5b610a7d848285610f14565b509392505050565b600081359050610a948161106f565b92915050565b600082601f830112610aab57600080fd5b8135610abb848260208601610a47565b91505092915050565b600081359050610ad381611086565b92915050565b600060208284031215610aeb57600080fd5b6000610af984828501610a85565b91505092915050565b600080600060608486031215610b1757600080fd5b6000610b2586828701610a85565b9350506020610b3686828701610a85565b9250506040610b4786828701610ac4565b9150509250925092565b60008060008060808587031215610b6757600080fd5b600085013567ffffffffffffffff811115610b8157600080fd5b610b8d87828801610a9a565b9450506020610b9e87828801610ac4565b935050604085013567ffffffffffffffff811115610bbb57600080fd5b610bc787828801610a9a565b925050606085013567ffffffffffffffff811115610be457600080fd5b610bf087828801610a9a565b91505092959194509250565b600060208284031215610c0e57600080fd5b6000610c1c84828501610ac4565b91505092915050565b6000610c318383610ce3565b60208301905092915050565b610c4681610ed8565b82525050565b6000610c5782610e09565b610c618185610e2c565b9350610c6c83610df9565b8060005b83811015610c9d578151610c848882610c25565b9750610c8f83610e1f565b925050600181019050610c70565b5085935050505092915050565b6000610cb582610e14565b610cbf8185610e3d565b9350610ccf818560208601610f23565b610cd88161105e565b840191505092915050565b610cec81610f0a565b82525050565b610cfb81610f0a565b82525050565b6000602082019050610d166000830184610c3d565b92915050565b60006020820190508181036000830152610d368184610c4c565b905092915050565b60006080820190508181036000830152610d588187610caa565b9050610d676020830186610cf2565b8181036040830152610d798185610caa565b90508181036060830152610d8d8184610caa565b905095945050505050565b6000604051905081810181811067ffffffffffffffff82111715610dbf57610dbe61102f565b5b8060405250919050565b600067ffffffffffffffff821115610de457610de361102f565b5b601f19601f8301169050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000610e5982610f0a565b9150610e6483610f0a565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115610e9957610e98610fd1565b5b828201905092915050565b6000610eaf82610f0a565b9150610eba83610f0a565b925082821015610ecd57610ecc610fd1565b5b828203905092915050565b6000610ee382610eea565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b82818337600083830152505050565b60005b83811015610f41578082015181840152602081019050610f26565b83811115610f50576000848401525b50505050565b60006002820490506001821680610f6e57607f821691505b60208210811415610f8257610f81611000565b5b50919050565b6000610f9382610f0a565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415610fc657610fc5610fd1565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b61107881610ed8565b811461108357600080fd5b50565b61108f81610f0a565b811461109a57600080fd5b5056fea2646970667358221220fbadadcf4cfaf5f8be829e0f99739880fd10a0958d17c685c4fb9c05790cf99164736f6c63430008000033",
"deployedBytecode": "0x60806040526004361061004a5760003560e01c806323b872dd1461004f5780634a1e045e1461006b5780635a8cb762146100ab578063894b54b1146100e8578063bf034de514610111575b600080fd5b61006960048036038101906100649190610b02565b61014e565b005b34801561007757600080fd5b50610092600480360381019061008d9190610bfc565b6101c9565b6040516100a29493929190610d3e565b60405180910390f35b3480156100b757600080fd5b506100d260048036038101906100cd9190610ad9565b6103a1565b6040516100df9190610d1c565b60405180910390f35b3480156100f457600080fd5b5061010f600480360381019061010a9190610b51565b610540565b005b34801561011d57600080fd5b5061013860048036038101906101339190610bfc565b6106f4565b6040516101459190610d01565b60405180910390f35b3373ffffffffffffffffffffffffffffffffffffffff166001600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146101b957600080fd5b6101c4838383610727565b505050565b600081815481106101d957600080fd5b90600052602060002090600402016000915090508060000180546101fc90610f56565b80601f016020809104026020016040519081016040528092919081815260200182805461022890610f56565b80156102755780601f1061024a57610100808354040283529160200191610275565b820191906000526020600020905b81548152906001019060200180831161025857829003601f168201915b50505050509080600101549080600201805461029090610f56565b80601f01602080910402602001604051908101604052809291908181526020018280546102bc90610f56565b80156103095780601f106102de57610100808354040283529160200191610309565b820191906000526020600020905b8154815290600101906020018083116102ec57829003601f168201915b50505050509080600301805461031e90610f56565b80601f016020809104026020016040519081016040528092919081815260200182805461034a90610f56565b80156103975780601f1061036c57610100808354040283529160200191610397565b820191906000526020600020905b81548152906001019060200180831161037a57829003601f168201915b5050505050905084565b60606000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205467ffffffffffffffff811115610424577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280602002602001820160405280156104525781602001602082028036833780820191505090505b5090506000805b600080549050811015610535578473ffffffffffffffffffffffffffffffffffffffff166001600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156105225780838381518110610507577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001018181525050818061051e90610f88565b9250505b808061052d90610f88565b915050610459565b508192505050919050565b6000604051806080016040528086815260200185815260200184815260200183815250908060018154018082558091505060019003906000526020600020906004020160009091909190915060008201518160000190805190602001906105a89291906109a4565b506020820151816001015560408201518160020190805190602001906105cf9291906109a4565b5060608201518160030190805190602001906105ec9291906109a4565b505050600060016000805490506106039190610ea4565b9050336001600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506106aa6001600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461090590919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050505050565b60016020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61077a6001600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461090590919063ffffffff16565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506108106001600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461095790919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816001600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b60008082846109149190610e4e565b90508381101561094d577f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b8091505092915050565b600082821115610990577f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b818361099c9190610ea4565b905092915050565b8280546109b090610f56565b90600052602060002090601f0160209004810192826109d25760008555610a19565b82601f106109eb57805160ff1916838001178555610a19565b82800160010185558215610a19579182015b82811115610a185782518255916020019190600101906109fd565b5b509050610a269190610a2a565b5090565b5b80821115610a43576000816000905550600101610a2b565b5090565b6000610a5a610a5584610dc9565b610d98565b905082815260208101848484011115610a7257600080fd5b610a7d848285610f14565b509392505050565b600081359050610a948161106f565b92915050565b600082601f830112610aab57600080fd5b8135610abb848260208601610a47565b91505092915050565b600081359050610ad381611086565b92915050565b600060208284031215610aeb57600080fd5b6000610af984828501610a85565b91505092915050565b600080600060608486031215610b1757600080fd5b6000610b2586828701610a85565b9350506020610b3686828701610a85565b9250506040610b4786828701610ac4565b9150509250925092565b60008060008060808587031215610b6757600080fd5b600085013567ffffffffffffffff811115610b8157600080fd5b610b8d87828801610a9a565b9450506020610b9e87828801610ac4565b935050604085013567ffffffffffffffff811115610bbb57600080fd5b610bc787828801610a9a565b925050606085013567ffffffffffffffff811115610be457600080fd5b610bf087828801610a9a565b91505092959194509250565b600060208284031215610c0e57600080fd5b6000610c1c84828501610ac4565b91505092915050565b6000610c318383610ce3565b60208301905092915050565b610c4681610ed8565b82525050565b6000610c5782610e09565b610c618185610e2c565b9350610c6c83610df9565b8060005b83811015610c9d578151610c848882610c25565b9750610c8f83610e1f565b925050600181019050610c70565b5085935050505092915050565b6000610cb582610e14565b610cbf8185610e3d565b9350610ccf818560208601610f23565b610cd88161105e565b840191505092915050565b610cec81610f0a565b82525050565b610cfb81610f0a565b82525050565b6000602082019050610d166000830184610c3d565b92915050565b60006020820190508181036000830152610d368184610c4c565b905092915050565b60006080820190508181036000830152610d588187610caa565b9050610d676020830186610cf2565b8181036040830152610d798185610caa565b90508181036060830152610d8d8184610caa565b905095945050505050565b6000604051905081810181811067ffffffffffffffff82111715610dbf57610dbe61102f565b5b8060405250919050565b600067ffffffffffffffff821115610de457610de361102f565b5b601f19601f8301169050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000610e5982610f0a565b9150610e6483610f0a565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115610e9957610e98610fd1565b5b828201905092915050565b6000610eaf82610f0a565b9150610eba83610f0a565b925082821015610ecd57610ecc610fd1565b5b828203905092915050565b6000610ee382610eea565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b82818337600083830152505050565b60005b83811015610f41578082015181840152602081019050610f26565b83811115610f50576000848401525b50505050565b60006002820490506001821680610f6e57607f821691505b60208210811415610f8257610f81611000565b5b50919050565b6000610f9382610f0a565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415610fc657610fc5610fd1565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b61107881610ed8565b811461108357600080fd5b50565b61108f81610f0a565b811461109a57600080fd5b5056fea2646970667358221220fbadadcf4cfaf5f8be829e0f99739880fd10a0958d17c685c4fb9c05790cf99164736f6c63430008000033",
"immutableReferences": {},
"generatedSources": [],
"deployedGeneratedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:10457:5",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "91:260:5",
"statements": [
{
"nodeType": "YulAssignment",
"src": "101:74:5",
"value": {
"arguments": [
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "167:6:5"
}
],
"functionName": {
"name": "array_allocation_size_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "125:41:5"
},
"nodeType": "YulFunctionCall",
"src": "125:49:5"
}
],
"functionName": {
"name": "allocateMemory",
"nodeType": "YulIdentifier",
"src": "110:14:5"
},
"nodeType": "YulFunctionCall",
"src": "110:65:5"
},
"variableNames": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "101:5:5"
}
]
},
{
"expression": {
"arguments": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "191:5:5"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "198:6:5"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "184:6:5"
},
"nodeType": "YulFunctionCall",
"src": "184:21:5"
},
"nodeType": "YulExpressionStatement",
"src": "184:21:5"
},
{
"nodeType": "YulVariableDeclaration",
"src": "214:27:5",
"value": {
"arguments": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "229:5:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "236:4:5",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "225:3:5"
},
"nodeType": "YulFunctionCall",
"src": "225:16:5"
},
"variables": [
{
"name": "dst",
"nodeType": "YulTypedName",
"src": "218:3:5",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "279:16:5",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "288:1:5",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "291:1:5",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "281:6:5"
},
"nodeType": "YulFunctionCall",
"src": "281:12:5"
},
"nodeType": "YulExpressionStatement",
"src": "281:12:5"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "260:3:5"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "265:6:5"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "256:3:5"
},
"nodeType": "YulFunctionCall",
"src": "256:16:5"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "274:3:5"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "253:2:5"
},
"nodeType": "YulFunctionCall",
"src": "253:25:5"
},
"nodeType": "YulIf",
"src": "250:2:5"
},
{
"expression": {
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "328:3:5"
},
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "333:3:5"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "338:6:5"
}
],
"functionName": {
"name": "copy_calldata_to_memory",
"nodeType": "YulIdentifier",
"src": "304:23:5"
},
"nodeType": "YulFunctionCall",
"src": "304:41:5"
},
"nodeType": "YulExpressionStatement",
"src": "304:41:5"
}
]
},
"name": "abi_decode_available_length_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nodeType": "YulTypedName",
"src": "64:3:5",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "69:6:5",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "77:3:5",
"type": ""
}
],
"returnVariables": [
{
"name": "array",
"nodeType": "YulTypedName",
"src": "85:5:5",
"type": ""
}
],
"src": "7:344:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "409:87:5",
"statements": [
{
"nodeType": "YulAssignment",
"src": "419:29:5",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "441:6:5"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "428:12:5"
},
"nodeType": "YulFunctionCall",
"src": "428:20:5"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "419:5:5"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "484:5:5"
}
],
"functionName": {
"name": "validator_revert_t_address",
"nodeType": "YulIdentifier",
"src": "457:26:5"
},
"nodeType": "YulFunctionCall",
"src": "457:33:5"
},
"nodeType": "YulExpressionStatement",
"src": "457:33:5"
}
]
},
"name": "abi_decode_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "387:6:5",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "395:3:5",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "403:5:5",
"type": ""
}
],
"src": "357:139:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "578:211:5",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "627:16:5",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "636:1:5",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "639:1:5",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "629:6:5"
},
"nodeType": "YulFunctionCall",
"src": "629:12:5"
},
"nodeType": "YulExpressionStatement",
"src": "629:12:5"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "606:6:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "614:4:5",
"type": "",
"value": "0x1f"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "602:3:5"
},
"nodeType": "YulFunctionCall",
"src": "602:17:5"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "621:3:5"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "598:3:5"
},
"nodeType": "YulFunctionCall",
"src": "598:27:5"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "591:6:5"
},
"nodeType": "YulFunctionCall",
"src": "591:35:5"
},
"nodeType": "YulIf",
"src": "588:2:5"
},
{
"nodeType": "YulVariableDeclaration",
"src": "652:34:5",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "679:6:5"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "666:12:5"
},
"nodeType": "YulFunctionCall",
"src": "666:20:5"
},
"variables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "656:6:5",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "695:88:5",
"value": {
"arguments": [
{
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "756:6:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "764:4:5",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "752:3:5"
},
"nodeType": "YulFunctionCall",
"src": "752:17:5"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "771:6:5"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "779:3:5"
}
],
"functionName": {
"name": "abi_decode_available_length_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "704:47:5"
},
"nodeType": "YulFunctionCall",
"src": "704:79:5"
},
"variableNames": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "695:5:5"
}
]
}
]
},
"name": "abi_decode_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "556:6:5",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "564:3:5",
"type": ""
}
],
"returnVariables": [
{
"name": "array",
"nodeType": "YulTypedName",
"src": "572:5:5",
"type": ""
}
],
"src": "516:273:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "847:87:5",
"statements": [
{
"nodeType": "YulAssignment",
"src": "857:29:5",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "879:6:5"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "866:12:5"
},
"nodeType": "YulFunctionCall",
"src": "866:20:5"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "857:5:5"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "922:5:5"
}
],
"functionName": {
"name": "validator_revert_t_uint256",
"nodeType": "YulIdentifier",
"src": "895:26:5"
},
"nodeType": "YulFunctionCall",
"src": "895:33:5"
},
"nodeType": "YulExpressionStatement",
"src": "895:33:5"
}
]
},
"name": "abi_decode_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "825:6:5",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "833:3:5",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "841:5:5",
"type": ""
}
],
"src": "795:139:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1006:196:5",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "1052:16:5",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1061:1:5",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1064:1:5",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1054:6:5"
},
"nodeType": "YulFunctionCall",
"src": "1054:12:5"
},
"nodeType": "YulExpressionStatement",
"src": "1054:12:5"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1027:7:5"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1036:9:5"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "1023:3:5"
},
"nodeType": "YulFunctionCall",
"src": "1023:23:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1048:2:5",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "1019:3:5"
},
"nodeType": "YulFunctionCall",
"src": "1019:32:5"
},
"nodeType": "YulIf",
"src": "1016:2:5"
},
{
"nodeType": "YulBlock",
"src": "1078:117:5",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1093:15:5",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1107:1:5",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1097:6:5",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1122:63:5",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1157:9:5"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1168:6:5"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1153:3:5"
},
"nodeType": "YulFunctionCall",
"src": "1153:22:5"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1177:7:5"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nodeType": "YulIdentifier",
"src": "1132:20:5"
},
"nodeType": "YulFunctionCall",
"src": "1132:53:5"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1122:6:5"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "976:9:5",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "987:7:5",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "999:6:5",
"type": ""
}
],
"src": "940:262:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1308:452:5",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "1354:16:5",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1363:1:5",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1366:1:5",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1356:6:5"
},
"nodeType": "YulFunctionCall",
"src": "1356:12:5"
},
"nodeType": "YulExpressionStatement",
"src": "1356:12:5"
}
]
},