-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathTestTokenFactory.json
2895 lines (2895 loc) · 134 KB
/
TestTokenFactory.json
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
{
"contractName": "TestTokenFactory",
"abi": [
{
"constant": true,
"inputs": [
{
"name": "",
"type": "bytes32"
}
],
"name": "createdTokens",
"outputs": [
{
"name": "",
"type": "address"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"name": "symbol",
"type": "string"
},
{
"indexed": false,
"name": "addr",
"type": "address"
}
],
"name": "CreatedToken",
"type": "event"
},
{
"constant": false,
"inputs": [
{
"name": "name",
"type": "string"
},
{
"name": "symbol",
"type": "string"
},
{
"name": "decimals",
"type": "uint8"
}
],
"name": "newToken",
"outputs": [
{
"name": "",
"type": "address"
}
],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"name": "symbol",
"type": "string"
}
],
"name": "getToken",
"outputs": [
{
"name": "",
"type": "address"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
}
],
"bytecode": "0x608060405234801561001057600080fd5b50611435806100206000396000f3006080604052600436106100565763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416639e5a182f811461005b578063c1733f681461009c578063c5d86239146100f5575b600080fd5b34801561006757600080fd5b50610073600435610191565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b3480156100a857600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526100739436949293602493928401919081908401838280828437509497506101b99650505050505050565b34801561010157600080fd5b506040805160206004803580820135601f810184900484028501840190955284845261007394369492936024939284019190819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a9998810197919650918201945092508291508401838280828437509497505050923560ff1693506102ab92505050565b60006020819052908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b6000806000836040516020018082805190602001908083835b602083106101f15780518252601f1990920191602091820191016101d2565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040516020818303038152906040526040518082805190602001908083835b602083106102545780518252601f199092019160209182019101610235565b51815160209384036101000a600019018019909216911617905260408051929094018290039091208652850195909552929092016000205473ffffffffffffffffffffffffffffffffffffffff1695945050505050565b6000806000846040516020018082805190602001908083835b602083106102e35780518252601f1990920191602091820191016102c4565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040516020818303038152906040526040518082805190602001908083835b602083106103465780518252601f199092019160209182019101610327565b51815160209384036101000a60001901801990921691161790526040805192909401829003909120600081815291829052929020549195505073ffffffffffffffffffffffffffffffffffffffff161591506103a3905057600080fd5b8585856103ae61061d565b60ff82166040820152606080825284519082015283518190602080830191608084019188019080838360005b838110156103f25781810151838201526020016103da565b50505050905090810190601f16801561041f5780820380516001836020036101000a031916815260200191505b50838103825285518152855160209182019187019080838360005b8381101561045257818101518382015260200161043a565b50505050905090810190601f16801561047f5780820380516001836020036101000a031916815260200191505b5095505050505050604051809103906000f0801580156104a3573d6000803e3d6000fd5b50604080517ff2fde38b000000000000000000000000000000000000000000000000000000008152336004820152905191925073ffffffffffffffffffffffffffffffffffffffff83169163f2fde38b9160248082019260009290919082900301818387803b15801561051557600080fd5b505af1158015610529573d6000803e3d6000fd5b505050600083815260208181526040808320805473ffffffffffffffffffffffffffffffffffffffff191673ffffffffffffffffffffffffffffffffffffffff871690811790915581518084019190915281815289519181019190915288517fab1eb4aedcfdb4dcabfa3ff3395e17f86610a844e949c74328de410f49d1663d94508993869383926060840192918701918190849084905b838110156105d95781810151838201526020016105c1565b50505050905090810190601f1680156106065780820380516001836020036101000a031916815260200191505b50935050505060405180910390a195945050505050565b604051610ddc8061062e83390190560060806040526003805460a060020a60ff021916905534801561002057600080fd5b50604051610ddc380380610ddc83398101604090815281516020808401519284015160038054600160a060020a03191633179055918401805190949390930192849184918491610075916004918601906100a9565b5081516100899060059060208501906100a9565b506006805460ff191660ff92909216919091179055506101449350505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106100ea57805160ff1916838001178555610117565b82800160010185558215610117579182015b828111156101175782518255916020019190600101906100fc565b50610123929150610127565b5090565b61014191905b80821115610123576000815560010161012d565b90565b610c89806101536000396000f3006080604052600436106100f05763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166305d2035b81146100f557806306fdde031461011e578063095ea7b3146101a857806318160ddd146101cc57806323b872dd146101f3578063313ce5671461021d57806340c10f1914610248578063661884631461026c57806370a0823114610290578063715018a6146102b15780637d64bcb4146102c85780638da5cb5b146102dd57806395d89b411461030e578063a9059cbb14610323578063d73dd62314610347578063dd62ed3e1461036b578063f2fde38b14610392575b600080fd5b34801561010157600080fd5b5061010a6103b3565b604080519115158252519081900360200190f35b34801561012a57600080fd5b506101336103d4565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561016d578181015183820152602001610155565b50505050905090810190601f16801561019a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101b457600080fd5b5061010a600160a060020a0360043516602435610462565b3480156101d857600080fd5b506101e16104c8565b60408051918252519081900360200190f35b3480156101ff57600080fd5b5061010a600160a060020a03600435811690602435166044356104ce565b34801561022957600080fd5b50610232610645565b6040805160ff9092168252519081900360200190f35b34801561025457600080fd5b5061010a600160a060020a036004351660243561064e565b34801561027857600080fd5b5061010a600160a060020a0360043516602435610769565b34801561029c57600080fd5b506101e1600160a060020a0360043516610859565b3480156102bd57600080fd5b506102c6610874565b005b3480156102d457600080fd5b5061010a6108e2565b3480156102e957600080fd5b506102f2610988565b60408051600160a060020a039092168252519081900360200190f35b34801561031a57600080fd5b50610133610997565b34801561032f57600080fd5b5061010a600160a060020a03600435166024356109f2565b34801561035357600080fd5b5061010a600160a060020a0360043516602435610ad3565b34801561037757600080fd5b506101e1600160a060020a0360043581169060243516610b6c565b34801561039e57600080fd5b506102c6600160a060020a0360043516610b97565b60035474010000000000000000000000000000000000000000900460ff1681565b6004805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561045a5780601f1061042f5761010080835404028352916020019161045a565b820191906000526020600020905b81548152906001019060200180831161043d57829003601f168201915b505050505081565b336000818152600260209081526040808320600160a060020a038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b60015490565b6000600160a060020a03831615156104e557600080fd5b600160a060020a03841660009081526020819052604090205482111561050a57600080fd5b600160a060020a038416600090815260026020908152604080832033845290915290205482111561053a57600080fd5b600160a060020a038416600090815260208190526040902054610563908363ffffffff610bba16565b600160a060020a038086166000908152602081905260408082209390935590851681522054610598908363ffffffff610bcc16565b600160a060020a038085166000908152602081815260408083209490945591871681526002825282812033825290915220546105da908363ffffffff610bba16565b600160a060020a03808616600081815260026020908152604080832033845282529182902094909455805186815290519287169391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a35060019392505050565b60065460ff1681565b600354600090600160a060020a0316331461066857600080fd5b60035474010000000000000000000000000000000000000000900460ff161561069057600080fd5b6001546106a3908363ffffffff610bcc16565b600155600160a060020a0383166000908152602081905260409020546106cf908363ffffffff610bcc16565b600160a060020a03841660008181526020818152604091829020939093558051858152905191927f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d412139688592918290030190a2604080518381529051600160a060020a038516916000917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a350600192915050565b336000908152600260209081526040808320600160a060020a0386168452909152812054808311156107be57336000908152600260209081526040808320600160a060020a03881684529091528120556107f3565b6107ce818463ffffffff610bba16565b336000908152600260209081526040808320600160a060020a03891684529091529020555b336000818152600260209081526040808320600160a060020a0389168085529083529281902054815190815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060019392505050565b600160a060020a031660009081526020819052604090205490565b600354600160a060020a0316331461088b57600080fd5b600354604051600160a060020a03909116907ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482090600090a26003805473ffffffffffffffffffffffffffffffffffffffff19169055565b600354600090600160a060020a031633146108fc57600080fd5b60035474010000000000000000000000000000000000000000900460ff161561092457600080fd5b6003805474ff00000000000000000000000000000000000000001916740100000000000000000000000000000000000000001790556040517fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0890600090a150600190565b600354600160a060020a031681565b6005805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561045a5780601f1061042f5761010080835404028352916020019161045a565b6000600160a060020a0383161515610a0957600080fd5b33600090815260208190526040902054821115610a2557600080fd5b33600090815260208190526040902054610a45908363ffffffff610bba16565b3360009081526020819052604080822092909255600160a060020a03851681522054610a77908363ffffffff610bcc16565b600160a060020a038416600081815260208181526040918290209390935580518581529051919233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a350600192915050565b336000908152600260209081526040808320600160a060020a0386168452909152812054610b07908363ffffffff610bcc16565b336000818152600260209081526040808320600160a060020a0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b600160a060020a03918216600090815260026020908152604080832093909416825291909152205490565b600354600160a060020a03163314610bae57600080fd5b610bb781610bdf565b50565b600082821115610bc657fe5b50900390565b81810182811015610bd957fe5b92915050565b600160a060020a0381161515610bf457600080fd5b600354604051600160a060020a038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a36003805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790555600a165627a7a7230582019b7f5366d1d8d8c4653359f1fda0d09c848c5cabf73b475ad558f82bdcdb5070029a165627a7a723058205e6524c907acba768bdb58715c306923b0a8dd66bf1553247137fb715a6525420029",
"deployedBytecode": "0x6080604052600436106100565763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416639e5a182f811461005b578063c1733f681461009c578063c5d86239146100f5575b600080fd5b34801561006757600080fd5b50610073600435610191565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b3480156100a857600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526100739436949293602493928401919081908401838280828437509497506101b99650505050505050565b34801561010157600080fd5b506040805160206004803580820135601f810184900484028501840190955284845261007394369492936024939284019190819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a9998810197919650918201945092508291508401838280828437509497505050923560ff1693506102ab92505050565b60006020819052908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b6000806000836040516020018082805190602001908083835b602083106101f15780518252601f1990920191602091820191016101d2565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040516020818303038152906040526040518082805190602001908083835b602083106102545780518252601f199092019160209182019101610235565b51815160209384036101000a600019018019909216911617905260408051929094018290039091208652850195909552929092016000205473ffffffffffffffffffffffffffffffffffffffff1695945050505050565b6000806000846040516020018082805190602001908083835b602083106102e35780518252601f1990920191602091820191016102c4565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040516020818303038152906040526040518082805190602001908083835b602083106103465780518252601f199092019160209182019101610327565b51815160209384036101000a60001901801990921691161790526040805192909401829003909120600081815291829052929020549195505073ffffffffffffffffffffffffffffffffffffffff161591506103a3905057600080fd5b8585856103ae61061d565b60ff82166040820152606080825284519082015283518190602080830191608084019188019080838360005b838110156103f25781810151838201526020016103da565b50505050905090810190601f16801561041f5780820380516001836020036101000a031916815260200191505b50838103825285518152855160209182019187019080838360005b8381101561045257818101518382015260200161043a565b50505050905090810190601f16801561047f5780820380516001836020036101000a031916815260200191505b5095505050505050604051809103906000f0801580156104a3573d6000803e3d6000fd5b50604080517ff2fde38b000000000000000000000000000000000000000000000000000000008152336004820152905191925073ffffffffffffffffffffffffffffffffffffffff83169163f2fde38b9160248082019260009290919082900301818387803b15801561051557600080fd5b505af1158015610529573d6000803e3d6000fd5b505050600083815260208181526040808320805473ffffffffffffffffffffffffffffffffffffffff191673ffffffffffffffffffffffffffffffffffffffff871690811790915581518084019190915281815289519181019190915288517fab1eb4aedcfdb4dcabfa3ff3395e17f86610a844e949c74328de410f49d1663d94508993869383926060840192918701918190849084905b838110156105d95781810151838201526020016105c1565b50505050905090810190601f1680156106065780820380516001836020036101000a031916815260200191505b50935050505060405180910390a195945050505050565b604051610ddc8061062e83390190560060806040526003805460a060020a60ff021916905534801561002057600080fd5b50604051610ddc380380610ddc83398101604090815281516020808401519284015160038054600160a060020a03191633179055918401805190949390930192849184918491610075916004918601906100a9565b5081516100899060059060208501906100a9565b506006805460ff191660ff92909216919091179055506101449350505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106100ea57805160ff1916838001178555610117565b82800160010185558215610117579182015b828111156101175782518255916020019190600101906100fc565b50610123929150610127565b5090565b61014191905b80821115610123576000815560010161012d565b90565b610c89806101536000396000f3006080604052600436106100f05763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166305d2035b81146100f557806306fdde031461011e578063095ea7b3146101a857806318160ddd146101cc57806323b872dd146101f3578063313ce5671461021d57806340c10f1914610248578063661884631461026c57806370a0823114610290578063715018a6146102b15780637d64bcb4146102c85780638da5cb5b146102dd57806395d89b411461030e578063a9059cbb14610323578063d73dd62314610347578063dd62ed3e1461036b578063f2fde38b14610392575b600080fd5b34801561010157600080fd5b5061010a6103b3565b604080519115158252519081900360200190f35b34801561012a57600080fd5b506101336103d4565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561016d578181015183820152602001610155565b50505050905090810190601f16801561019a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101b457600080fd5b5061010a600160a060020a0360043516602435610462565b3480156101d857600080fd5b506101e16104c8565b60408051918252519081900360200190f35b3480156101ff57600080fd5b5061010a600160a060020a03600435811690602435166044356104ce565b34801561022957600080fd5b50610232610645565b6040805160ff9092168252519081900360200190f35b34801561025457600080fd5b5061010a600160a060020a036004351660243561064e565b34801561027857600080fd5b5061010a600160a060020a0360043516602435610769565b34801561029c57600080fd5b506101e1600160a060020a0360043516610859565b3480156102bd57600080fd5b506102c6610874565b005b3480156102d457600080fd5b5061010a6108e2565b3480156102e957600080fd5b506102f2610988565b60408051600160a060020a039092168252519081900360200190f35b34801561031a57600080fd5b50610133610997565b34801561032f57600080fd5b5061010a600160a060020a03600435166024356109f2565b34801561035357600080fd5b5061010a600160a060020a0360043516602435610ad3565b34801561037757600080fd5b506101e1600160a060020a0360043581169060243516610b6c565b34801561039e57600080fd5b506102c6600160a060020a0360043516610b97565b60035474010000000000000000000000000000000000000000900460ff1681565b6004805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561045a5780601f1061042f5761010080835404028352916020019161045a565b820191906000526020600020905b81548152906001019060200180831161043d57829003601f168201915b505050505081565b336000818152600260209081526040808320600160a060020a038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b60015490565b6000600160a060020a03831615156104e557600080fd5b600160a060020a03841660009081526020819052604090205482111561050a57600080fd5b600160a060020a038416600090815260026020908152604080832033845290915290205482111561053a57600080fd5b600160a060020a038416600090815260208190526040902054610563908363ffffffff610bba16565b600160a060020a038086166000908152602081905260408082209390935590851681522054610598908363ffffffff610bcc16565b600160a060020a038085166000908152602081815260408083209490945591871681526002825282812033825290915220546105da908363ffffffff610bba16565b600160a060020a03808616600081815260026020908152604080832033845282529182902094909455805186815290519287169391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a35060019392505050565b60065460ff1681565b600354600090600160a060020a0316331461066857600080fd5b60035474010000000000000000000000000000000000000000900460ff161561069057600080fd5b6001546106a3908363ffffffff610bcc16565b600155600160a060020a0383166000908152602081905260409020546106cf908363ffffffff610bcc16565b600160a060020a03841660008181526020818152604091829020939093558051858152905191927f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d412139688592918290030190a2604080518381529051600160a060020a038516916000917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a350600192915050565b336000908152600260209081526040808320600160a060020a0386168452909152812054808311156107be57336000908152600260209081526040808320600160a060020a03881684529091528120556107f3565b6107ce818463ffffffff610bba16565b336000908152600260209081526040808320600160a060020a03891684529091529020555b336000818152600260209081526040808320600160a060020a0389168085529083529281902054815190815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060019392505050565b600160a060020a031660009081526020819052604090205490565b600354600160a060020a0316331461088b57600080fd5b600354604051600160a060020a03909116907ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482090600090a26003805473ffffffffffffffffffffffffffffffffffffffff19169055565b600354600090600160a060020a031633146108fc57600080fd5b60035474010000000000000000000000000000000000000000900460ff161561092457600080fd5b6003805474ff00000000000000000000000000000000000000001916740100000000000000000000000000000000000000001790556040517fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0890600090a150600190565b600354600160a060020a031681565b6005805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561045a5780601f1061042f5761010080835404028352916020019161045a565b6000600160a060020a0383161515610a0957600080fd5b33600090815260208190526040902054821115610a2557600080fd5b33600090815260208190526040902054610a45908363ffffffff610bba16565b3360009081526020819052604080822092909255600160a060020a03851681522054610a77908363ffffffff610bcc16565b600160a060020a038416600081815260208181526040918290209390935580518581529051919233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a350600192915050565b336000908152600260209081526040808320600160a060020a0386168452909152812054610b07908363ffffffff610bcc16565b336000818152600260209081526040808320600160a060020a0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b600160a060020a03918216600090815260026020908152604080832093909416825291909152205490565b600354600160a060020a03163314610bae57600080fd5b610bb781610bdf565b50565b600082821115610bc657fe5b50900390565b81810182811015610bd957fe5b92915050565b600160a060020a0381161515610bf457600080fd5b600354604051600160a060020a038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a36003805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790555600a165627a7a7230582019b7f5366d1d8d8c4653359f1fda0d09c848c5cabf73b475ad558f82bdcdb5070029a165627a7a723058205e6524c907acba768bdb58715c306923b0a8dd66bf1553247137fb715a6525420029",
"sourceMap": "57:726:1:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;57:726:1;;;;;;;",
"deployedSourceMap": "57:726:1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;88:48;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;88:48:1;;;;;;;;;;;;;;;;;;;;;;;;648:132;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;648:132:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;648:132:1;;-1:-1:-1;648:132:1;;-1:-1:-1;;;;;;;648:132:1;197:445;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;197:445:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;197:445:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;197:445:1;;;;-1:-1:-1;197:445:1;-1:-1:-1;197:445:1;;-1:-1:-1;197:445:1;;;;;;;;-1:-1:-1;197:445:1;;-1:-1:-1;;;197:445:1;;;;;-1:-1:-1;197:445:1;;-1:-1:-1;;;197:445:1;88:48;;;;;;;;;;;;;;;;:::o;648:132::-;701:7;724:13;:50;765:6;748:24;;;;;;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;748:24:1;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;748:24:1;;;738:35;;;;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;738:35:1;;;;;;;;;;;;;724:50;;;;;;;;;;;;-1:-1:-1;724:50:1;;;;;648:132;-1:-1:-1;;;;;648:132:1:o;197:445::-;274:7;290:18;414:15;338:6;321:24;;;;;;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;321:24:1;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;321:24:1;;;311:35;;;;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;311:35:1;;;;;;;;;;;;;-1:-1:-1;361:25:1;;;;;;;;;;;311:35;;-1:-1:-1;;361:39:1;:25;:39;;-1:-1:-1;353:48:1;;-1:-1:-1;353:48:1;;;;;446:4;452:6;460:8;432:37;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;432:37:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;432:37:1;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;432:37:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;476:35:1;;;;;;500:10;476:35;;;;;;414:55;;-1:-1:-1;476:23:1;;;;;;:35;;;;;-1:-1:-1;;476:35:1;;;;;;;;-1:-1:-1;476:23:1;:35;;;5:2:-1;;;;30:1;27;20:12;5:2;476:35:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;;518:13:1;:25;;;;;;;;;;;:42;;-1:-1:-1;;518:42:1;;;;;;;;;;572:36;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;572:36:1;;518:42;;572:36;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;572:36:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;630:5;197:445;-1:-1:-1;;;;;197:445:1:o;57:726::-;;;;;;;;;;:::o",
"source": "pragma solidity ^0.4.24;\r\n\r\nimport \"./TestToken.sol\";\r\n\r\ncontract TestTokenFactory {\r\n mapping(bytes32 => address) public createdTokens;\r\n\r\n event CreatedToken(string symbol, address addr);\r\n\r\n function newToken(string name, string symbol, uint8 decimals) public returns(address) {\r\n bytes32 symbolHash = keccak256(abi.encodePacked(symbol));\r\n require(createdTokens[symbolHash] == address(0));\r\n \r\n TestToken token = new TestToken(name, symbol, decimals);\r\n token.transferOwnership(msg.sender);\r\n createdTokens[symbolHash] = address(token);\r\n emit CreatedToken(symbol, address(token));\r\n return address(token);\r\n }\r\n\r\n function getToken(string symbol) public view returns(address) {\r\n return createdTokens[keccak256(abi.encodePacked(symbol))];\r\n }\r\n}\r\n",
"sourcePath": "D:\\msi-cn\\Documents\\GitHub\\betoken\\eth\\contracts\\test\\TestTokenFactory.sol",
"ast": {
"absolutePath": "/D/msi-cn/Documents/GitHub/betoken/eth/contracts/test/TestTokenFactory.sol",
"exportedSymbols": {
"TestTokenFactory": [
120
]
},
"id": 121,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 25,
"literals": [
"solidity",
"^",
"0.4",
".24"
],
"nodeType": "PragmaDirective",
"src": "0:24:1"
},
{
"absolutePath": "/D/msi-cn/Documents/GitHub/betoken/eth/contracts/test/TestToken.sol",
"file": "./TestToken.sol",
"id": 26,
"nodeType": "ImportDirective",
"scope": 121,
"sourceUnit": 24,
"src": "28:25:1",
"symbolAliases": [],
"unitAlias": ""
},
{
"baseContracts": [],
"contractDependencies": [
23
],
"contractKind": "contract",
"documentation": null,
"fullyImplemented": true,
"id": 120,
"linearizedBaseContracts": [
120
],
"name": "TestTokenFactory",
"nodeType": "ContractDefinition",
"nodes": [
{
"constant": false,
"id": 30,
"name": "createdTokens",
"nodeType": "VariableDeclaration",
"scope": 120,
"src": "88:48:1",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_bytes32_$_t_address_$",
"typeString": "mapping(bytes32 => address)"
},
"typeName": {
"id": 29,
"keyType": {
"id": 27,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "96:7:1",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"nodeType": "Mapping",
"src": "88:27:1",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_bytes32_$_t_address_$",
"typeString": "mapping(bytes32 => address)"
},
"valueType": {
"id": 28,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "107:7:1",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
},
"value": null,
"visibility": "public"
},
{
"anonymous": false,
"documentation": null,
"id": 36,
"name": "CreatedToken",
"nodeType": "EventDefinition",
"parameters": {
"id": 35,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 32,
"indexed": false,
"name": "symbol",
"nodeType": "VariableDeclaration",
"scope": 36,
"src": "162:13:1",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 31,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "162:6:1",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 34,
"indexed": false,
"name": "addr",
"nodeType": "VariableDeclaration",
"scope": 36,
"src": "177:12:1",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 33,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "177:7:1",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "161:29:1"
},
"src": "143:48:1"
},
{
"body": {
"id": 101,
"nodeType": "Block",
"src": "283:359:1",
"statements": [
{
"assignments": [
48
],
"declarations": [
{
"constant": false,
"id": 48,
"name": "symbolHash",
"nodeType": "VariableDeclaration",
"scope": 102,
"src": "290:18:1",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
"id": 47,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "290:7:1",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"value": null,
"visibility": "internal"
}
],
"id": 55,
"initialValue": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 52,
"name": "symbol",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 40,
"src": "338:6:1",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
],
"expression": {
"argumentTypes": null,
"id": 50,
"name": "abi",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 860,
"src": "321:3:1",
"typeDescriptions": {
"typeIdentifier": "t_magic_abi",
"typeString": "abi"
}
},
"id": 51,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"memberName": "encodePacked",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "321:16:1",
"typeDescriptions": {
"typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
"typeString": "function () pure returns (bytes memory)"
}
},
"id": 53,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "321:24:1",
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
],
"id": 49,
"name": "keccak256",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 867,
"src": "311:9:1",
"typeDescriptions": {
"typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
"typeString": "function () pure returns (bytes32)"
}
},
"id": 54,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "311:35:1",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"nodeType": "VariableDeclarationStatement",
"src": "290:56:1"
},
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"id": 63,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
"id": 57,
"name": "createdTokens",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 30,
"src": "361:13:1",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_bytes32_$_t_address_$",
"typeString": "mapping(bytes32 => address)"
}
},
"id": 59,
"indexExpression": {
"argumentTypes": null,
"id": 58,
"name": "symbolHash",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 48,
"src": "375:10:1",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"nodeType": "IndexAccess",
"src": "361:25:1",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "BinaryOperation",
"operator": "==",
"rightExpression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"hexValue": "30",
"id": 61,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "398:1:1",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
}
],
"id": 60,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "390:7:1",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_address_$",
"typeString": "type(address)"
},
"typeName": "address"
},
"id": 62,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "390:10:1",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"src": "361:39:1",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
}
],
"id": 56,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
876,
877
],
"referencedDeclaration": 876,
"src": "353:7:1",
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
"typeString": "function (bool) pure"
}
},
"id": 64,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "353:48:1",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 65,
"nodeType": "ExpressionStatement",
"src": "353:48:1"
},
{
"assignments": [
67
],
"declarations": [
{
"constant": false,
"id": 67,
"name": "token",
"nodeType": "VariableDeclaration",
"scope": 102,
"src": "414:15:1",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_contract$_TestToken_$23",
"typeString": "contract TestToken"
},
"typeName": {
"contractScope": null,
"id": 66,
"name": "TestToken",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 23,
"src": "414:9:1",
"typeDescriptions": {
"typeIdentifier": "t_contract$_TestToken_$23",
"typeString": "contract TestToken"
}
},
"value": null,
"visibility": "internal"
}
],
"id": 74,
"initialValue": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 70,
"name": "name",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 38,
"src": "446:4:1",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
{
"argumentTypes": null,
"id": 71,
"name": "symbol",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 40,
"src": "452:6:1",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
{
"argumentTypes": null,
"id": 72,
"name": "decimals",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 42,
"src": "460:8:1",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
},
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
},
{
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
],
"id": 69,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"nodeType": "NewExpression",
"src": "432:13:1",
"typeDescriptions": {
"typeIdentifier": "t_function_creation_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_uint8_$returns$_t_contract$_TestToken_$23_$",
"typeString": "function (string memory,string memory,uint8) returns (contract TestToken)"
},
"typeName": {
"contractScope": null,
"id": 68,
"name": "TestToken",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 23,
"src": "436:9:1",
"typeDescriptions": {
"typeIdentifier": "t_contract$_TestToken_$23",
"typeString": "contract TestToken"
}
}
},
"id": 73,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "432:37:1",
"typeDescriptions": {
"typeIdentifier": "t_contract$_TestToken_$23",
"typeString": "contract TestToken"
}
},
"nodeType": "VariableDeclarationStatement",
"src": "414:55:1"
},
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 78,
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 873,
"src": "500:3:1",
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
"id": 79,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "sender",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "500:10:1",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
"expression": {
"argumentTypes": null,
"id": 75,
"name": "token",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 67,
"src": "476:5:1",
"typeDescriptions": {
"typeIdentifier": "t_contract$_TestToken_$23",
"typeString": "contract TestToken"
}
},
"id": 77,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "transferOwnership",
"nodeType": "MemberAccess",
"referencedDeclaration": 276,
"src": "476:23:1",
"typeDescriptions": {
"typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$",
"typeString": "function (address) external"
}
},
"id": 80,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "476:35:1",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 81,
"nodeType": "ExpressionStatement",
"src": "476:35:1"
},
{
"expression": {
"argumentTypes": null,
"id": 88,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
"id": 82,
"name": "createdTokens",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 30,
"src": "518:13:1",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_bytes32_$_t_address_$",
"typeString": "mapping(bytes32 => address)"
}
},
"id": 84,
"indexExpression": {
"argumentTypes": null,
"id": 83,
"name": "symbolHash",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 48,
"src": "532:10:1",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": true,
"nodeType": "IndexAccess",
"src": "518:25:1",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 86,
"name": "token",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 67,
"src": "554:5:1",
"typeDescriptions": {
"typeIdentifier": "t_contract$_TestToken_$23",
"typeString": "contract TestToken"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_contract$_TestToken_$23",
"typeString": "contract TestToken"
}
],
"id": 85,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "546:7:1",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_address_$",
"typeString": "type(address)"
},
"typeName": "address"
},
"id": 87,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "546:14:1",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"src": "518:42:1",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"id": 89,
"nodeType": "ExpressionStatement",
"src": "518:42:1"
},
{
"eventCall": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 91,
"name": "symbol",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 40,
"src": "585:6:1",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
{
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 93,
"name": "token",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 67,
"src": "601:5:1",
"typeDescriptions": {
"typeIdentifier": "t_contract$_TestToken_$23",
"typeString": "contract TestToken"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_contract$_TestToken_$23",
"typeString": "contract TestToken"
}
],
"id": 92,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "593:7:1",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_address_$",
"typeString": "type(address)"
},
"typeName": "address"
},
"id": 94,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "593:14:1",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
},
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
"id": 90,
"name": "CreatedToken",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 36,
"src": "572:12:1",
"typeDescriptions": {
"typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_address_$returns$__$",
"typeString": "function (string memory,address)"
}
},
"id": 95,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "572:36:1",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 96,
"nodeType": "EmitStatement",
"src": "567:41:1"
},
{
"expression": {
"argumentTypes": null,
"arguments": [
{