github.com/annchain/OG@v0.0.9/vm/vm_test/contracts/o/TokenCreator.evm (about) 1 /* "../contracts/contruct.sol":1934:2893 contract TokenCreator {... */ 2 mstore(0x40, 0x80) 3 callvalue 4 /* "--CODEGEN--":8:17 */ 5 dup1 6 /* "--CODEGEN--":5:7 */ 7 iszero 8 tag_1 9 jumpi 10 /* "--CODEGEN--":30:31 */ 11 0x0 12 /* "--CODEGEN--":27:28 */ 13 dup1 14 /* "--CODEGEN--":20:32 */ 15 revert 16 /* "--CODEGEN--":5:7 */ 17 tag_1: 18 /* "../contracts/contruct.sol":1934:2893 contract TokenCreator {... */ 19 pop 20 dataSize(sub_0) 21 dup1 22 dataOffset(sub_0) 23 0x0 24 codecopy 25 0x0 26 return 27 stop 28 29 sub_0: assembly { 30 /* "../contracts/contruct.sol":1934:2893 contract TokenCreator {... */ 31 mstore(0x40, 0x80) 32 jumpi(tag_1, lt(calldatasize, 0x4)) 33 calldataload(0x0) 34 0x100000000000000000000000000000000000000000000000000000000 35 swap1 36 div 37 0xffffffff 38 and 39 dup1 40 0x7379b422 41 eq 42 tag_2 43 jumpi 44 dup1 45 0xae3edb65 46 eq 47 tag_3 48 jumpi 49 dup1 50 0xc3cee9c1 51 eq 52 tag_4 53 jumpi 54 tag_1: 55 0x0 56 dup1 57 revert 58 /* "../contracts/contruct.sol":2304:2502 function changeName(OwnedToken tokenAddress, bytes32 name) public {... */ 59 tag_2: 60 callvalue 61 /* "--CODEGEN--":8:17 */ 62 dup1 63 /* "--CODEGEN--":5:7 */ 64 iszero 65 tag_5 66 jumpi 67 /* "--CODEGEN--":30:31 */ 68 0x0 69 /* "--CODEGEN--":27:28 */ 70 dup1 71 /* "--CODEGEN--":20:32 */ 72 revert 73 /* "--CODEGEN--":5:7 */ 74 tag_5: 75 /* "../contracts/contruct.sol":2304:2502 function changeName(OwnedToken tokenAddress, bytes32 name) public {... */ 76 pop 77 tag_6 78 0x4 79 dup1 80 calldatasize 81 sub 82 dup2 83 add 84 swap1 85 dup1 86 dup1 87 calldataload 88 0xffffffffffffffffffffffffffffffffffffffff 89 and 90 swap1 91 0x20 92 add 93 swap1 94 swap3 95 swap2 96 swap1 97 dup1 98 calldataload 99 not(0x0) 100 and 101 swap1 102 0x20 103 add 104 swap1 105 swap3 106 swap2 107 swap1 108 pop 109 pop 110 pop 111 jump(tag_7) 112 tag_6: 113 stop 114 /* "../contracts/contruct.sol":1962:2298 function createToken(bytes32 name)... */ 115 tag_3: 116 callvalue 117 /* "--CODEGEN--":8:17 */ 118 dup1 119 /* "--CODEGEN--":5:7 */ 120 iszero 121 tag_8 122 jumpi 123 /* "--CODEGEN--":30:31 */ 124 0x0 125 /* "--CODEGEN--":27:28 */ 126 dup1 127 /* "--CODEGEN--":20:32 */ 128 revert 129 /* "--CODEGEN--":5:7 */ 130 tag_8: 131 /* "../contracts/contruct.sol":1962:2298 function createToken(bytes32 name)... */ 132 pop 133 tag_9 134 0x4 135 dup1 136 calldatasize 137 sub 138 dup2 139 add 140 swap1 141 dup1 142 dup1 143 calldataload 144 not(0x0) 145 and 146 swap1 147 0x20 148 add 149 swap1 150 swap3 151 swap2 152 swap1 153 pop 154 pop 155 pop 156 jump(tag_10) 157 tag_9: 158 mload(0x40) 159 dup1 160 dup3 161 0xffffffffffffffffffffffffffffffffffffffff 162 and 163 0xffffffffffffffffffffffffffffffffffffffff 164 and 165 dup2 166 mstore 167 0x20 168 add 169 swap2 170 pop 171 pop 172 mload(0x40) 173 dup1 174 swap2 175 sub 176 swap1 177 return 178 /* "../contracts/contruct.sol":2618:2891 function isTokenTransferOK(address currentOwner, address newOwner)... */ 179 tag_4: 180 callvalue 181 /* "--CODEGEN--":8:17 */ 182 dup1 183 /* "--CODEGEN--":5:7 */ 184 iszero 185 tag_11 186 jumpi 187 /* "--CODEGEN--":30:31 */ 188 0x0 189 /* "--CODEGEN--":27:28 */ 190 dup1 191 /* "--CODEGEN--":20:32 */ 192 revert 193 /* "--CODEGEN--":5:7 */ 194 tag_11: 195 /* "../contracts/contruct.sol":2618:2891 function isTokenTransferOK(address currentOwner, address newOwner)... */ 196 pop 197 tag_12 198 0x4 199 dup1 200 calldatasize 201 sub 202 dup2 203 add 204 swap1 205 dup1 206 dup1 207 calldataload 208 0xffffffffffffffffffffffffffffffffffffffff 209 and 210 swap1 211 0x20 212 add 213 swap1 214 swap3 215 swap2 216 swap1 217 dup1 218 calldataload 219 0xffffffffffffffffffffffffffffffffffffffff 220 and 221 swap1 222 0x20 223 add 224 swap1 225 swap3 226 swap2 227 swap1 228 pop 229 pop 230 pop 231 jump(tag_13) 232 tag_12: 233 mload(0x40) 234 dup1 235 dup3 236 iszero 237 iszero 238 iszero 239 iszero 240 dup2 241 mstore 242 0x20 243 add 244 swap2 245 pop 246 pop 247 mload(0x40) 248 dup1 249 swap2 250 sub 251 swap1 252 return 253 /* "../contracts/contruct.sol":2304:2502 function changeName(OwnedToken tokenAddress, bytes32 name) public {... */ 254 tag_7: 255 /* "../contracts/contruct.sol":2466:2478 tokenAddress */ 256 dup2 257 /* "../contracts/contruct.sol":2466:2489 tokenAddress.changeName */ 258 0xffffffffffffffffffffffffffffffffffffffff 259 and 260 0x898855ed 261 /* "../contracts/contruct.sol":2490:2494 name */ 262 dup3 263 /* "../contracts/contruct.sol":2466:2495 tokenAddress.changeName(name) */ 264 mload(0x40) 265 dup3 266 0xffffffff 267 and 268 0x100000000000000000000000000000000000000000000000000000000 269 mul 270 dup2 271 mstore 272 0x4 273 add 274 dup1 275 dup3 276 not(0x0) 277 and 278 not(0x0) 279 and 280 dup2 281 mstore 282 0x20 283 add 284 swap2 285 pop 286 pop 287 0x0 288 mload(0x40) 289 dup1 290 dup4 291 sub 292 dup2 293 0x0 294 dup8 295 dup1 296 extcodesize 297 iszero 298 /* "--CODEGEN--":8:17 */ 299 dup1 300 /* "--CODEGEN--":5:7 */ 301 iszero 302 tag_15 303 jumpi 304 /* "--CODEGEN--":30:31 */ 305 0x0 306 /* "--CODEGEN--":27:28 */ 307 dup1 308 /* "--CODEGEN--":20:32 */ 309 revert 310 /* "--CODEGEN--":5:7 */ 311 tag_15: 312 /* "../contracts/contruct.sol":2466:2495 tokenAddress.changeName(name) */ 313 pop 314 gas 315 call 316 iszero 317 /* "--CODEGEN--":8:17 */ 318 dup1 319 /* "--CODEGEN--":5:7 */ 320 iszero 321 tag_16 322 jumpi 323 /* "--CODEGEN--":45:61 */ 324 returndatasize 325 /* "--CODEGEN--":42:43 */ 326 0x0 327 /* "--CODEGEN--":39:40 */ 328 dup1 329 /* "--CODEGEN--":24:62 */ 330 returndatacopy 331 /* "--CODEGEN--":77:93 */ 332 returndatasize 333 /* "--CODEGEN--":74:75 */ 334 0x0 335 /* "--CODEGEN--":67:94 */ 336 revert 337 /* "--CODEGEN--":5:7 */ 338 tag_16: 339 /* "../contracts/contruct.sol":2466:2495 tokenAddress.changeName(name) */ 340 pop 341 pop 342 pop 343 pop 344 /* "../contracts/contruct.sol":2304:2502 function changeName(OwnedToken tokenAddress, bytes32 name) public {... */ 345 pop 346 pop 347 jump // out 348 /* "../contracts/contruct.sol":1962:2298 function createToken(bytes32 name)... */ 349 tag_10: 350 /* "../contracts/contruct.sol":2021:2044 OwnedToken tokenAddress */ 351 0x0 352 /* "../contracts/contruct.sol":2286:2290 name */ 353 dup2 354 /* "../contracts/contruct.sol":2271:2291 new OwnedToken(name) */ 355 tag_18 356 jump // in(tag_19) 357 tag_18: 358 dup1 359 dup3 360 not(0x0) 361 and 362 not(0x0) 363 and 364 dup2 365 mstore 366 0x20 367 add 368 swap2 369 pop 370 pop 371 mload(0x40) 372 dup1 373 swap2 374 sub 375 swap1 376 0x0 377 create 378 dup1 379 iszero 380 /* "--CODEGEN--":8:17 */ 381 dup1 382 /* "--CODEGEN--":5:7 */ 383 iszero 384 tag_20 385 jumpi 386 /* "--CODEGEN--":45:61 */ 387 returndatasize 388 /* "--CODEGEN--":42:43 */ 389 0x0 390 /* "--CODEGEN--":39:40 */ 391 dup1 392 /* "--CODEGEN--":24:62 */ 393 returndatacopy 394 /* "--CODEGEN--":77:93 */ 395 returndatasize 396 /* "--CODEGEN--":74:75 */ 397 0x0 398 /* "--CODEGEN--":67:94 */ 399 revert 400 /* "--CODEGEN--":5:7 */ 401 tag_20: 402 /* "../contracts/contruct.sol":2271:2291 new OwnedToken(name) */ 403 pop 404 /* "../contracts/contruct.sol":2264:2291 return new OwnedToken(name) */ 405 swap1 406 pop 407 /* "../contracts/contruct.sol":1962:2298 function createToken(bytes32 name)... */ 408 swap2 409 swap1 410 pop 411 jump // out 412 /* "../contracts/contruct.sol":2618:2891 function isTokenTransferOK(address currentOwner, address newOwner)... */ 413 tag_13: 414 /* "../contracts/contruct.sol":2718:2725 bool ok */ 415 0x0 416 /* "../contracts/contruct.sol":2880:2884 0x7f */ 417 0x7f 418 /* "../contracts/contruct.sol":2822:2884 keccak256(abi.encodePacked(currentOwner, newOwner))[0] == 0x7f */ 419 0x100000000000000000000000000000000000000000000000000000000000000 420 mul 421 /* "../contracts/contruct.sol":2849:2861 currentOwner */ 422 dup4 423 /* "../contracts/contruct.sol":2863:2871 newOwner */ 424 dup4 425 /* "../contracts/contruct.sol":2832:2872 abi.encodePacked(currentOwner, newOwner) */ 426 add(0x20, mload(0x40)) 427 dup1 428 dup4 429 0xffffffffffffffffffffffffffffffffffffffff 430 and 431 0xffffffffffffffffffffffffffffffffffffffff 432 and 433 0x1000000000000000000000000 434 mul 435 dup2 436 mstore 437 0x14 438 add 439 dup3 440 0xffffffffffffffffffffffffffffffffffffffff 441 and 442 0xffffffffffffffffffffffffffffffffffffffff 443 and 444 0x1000000000000000000000000 445 mul 446 dup2 447 mstore 448 0x14 449 add 450 swap3 451 pop 452 pop 453 pop 454 mload(0x40) 455 /* "--CODEGEN--":49:53 */ 456 0x20 457 /* "--CODEGEN--":39:46 */ 458 dup2 459 /* "--CODEGEN--":30:37 */ 460 dup4 461 /* "--CODEGEN--":26:47 */ 462 sub 463 /* "--CODEGEN--":22:54 */ 464 sub 465 /* "--CODEGEN--":13:20 */ 466 dup2 467 /* "--CODEGEN--":6:55 */ 468 mstore 469 /* "../contracts/contruct.sol":2832:2872 abi.encodePacked(currentOwner, newOwner) */ 470 swap1 471 0x40 472 mstore 473 /* "../contracts/contruct.sol":2822:2873 keccak256(abi.encodePacked(currentOwner, newOwner)) */ 474 mload(0x40) 475 dup1 476 dup3 477 dup1 478 mload 479 swap1 480 0x20 481 add 482 swap1 483 dup1 484 dup4 485 dup4 486 /* "--CODEGEN--":36:189 */ 487 tag_22: 488 /* "--CODEGEN--":66:68 */ 489 0x20 490 /* "--CODEGEN--":61:64 */ 491 dup4 492 /* "--CODEGEN--":58:69 */ 493 lt 494 /* "--CODEGEN--":51:70 */ 495 iszero 496 /* "--CODEGEN--":36:189 */ 497 iszero 498 tag_23 499 jumpi 500 /* "--CODEGEN--":182:185 */ 501 dup1 502 /* "--CODEGEN--":176:186 */ 503 mload 504 /* "--CODEGEN--":171:174 */ 505 dup3 506 /* "--CODEGEN--":164:187 */ 507 mstore 508 /* "--CODEGEN--":98:100 */ 509 0x20 510 /* "--CODEGEN--":93:96 */ 511 dup3 512 /* "--CODEGEN--":89:101 */ 513 add 514 /* "--CODEGEN--":82:101 */ 515 swap2 516 pop 517 /* "--CODEGEN--":123:125 */ 518 0x20 519 /* "--CODEGEN--":118:121 */ 520 dup2 521 /* "--CODEGEN--":114:126 */ 522 add 523 /* "--CODEGEN--":107:126 */ 524 swap1 525 pop 526 /* "--CODEGEN--":148:150 */ 527 0x20 528 /* "--CODEGEN--":143:146 */ 529 dup4 530 /* "--CODEGEN--":139:151 */ 531 sub 532 /* "--CODEGEN--":132:151 */ 533 swap3 534 pop 535 /* "--CODEGEN--":36:189 */ 536 jump(tag_22) 537 tag_23: 538 /* "--CODEGEN--":274:275 */ 539 0x1 540 /* "--CODEGEN--":267:270 */ 541 dup4 542 /* "--CODEGEN--":263:265 */ 543 0x20 544 /* "--CODEGEN--":259:271 */ 545 sub 546 /* "--CODEGEN--":254:257 */ 547 0x100 548 /* "--CODEGEN--":250:272 */ 549 exp 550 /* "--CODEGEN--":246:276 */ 551 sub 552 /* "--CODEGEN--":315:319 */ 553 dup1 554 /* "--CODEGEN--":311:320 */ 555 not 556 /* "--CODEGEN--":305:308 */ 557 dup3 558 /* "--CODEGEN--":299:309 */ 559 mload 560 /* "--CODEGEN--":295:321 */ 561 and 562 /* "--CODEGEN--":356:360 */ 563 dup2 564 /* "--CODEGEN--":350:353 */ 565 dup5 566 /* "--CODEGEN--":344:354 */ 567 mload 568 /* "--CODEGEN--":340:361 */ 569 and 570 /* "--CODEGEN--":389:396 */ 571 dup1 572 /* "--CODEGEN--":380:387 */ 573 dup3 574 /* "--CODEGEN--":377:397 */ 575 or 576 /* "--CODEGEN--":372:375 */ 577 dup6 578 /* "--CODEGEN--":365:398 */ 579 mstore 580 /* "--CODEGEN--":3:402 */ 581 pop 582 pop 583 pop 584 /* "../contracts/contruct.sol":2822:2873 keccak256(abi.encodePacked(currentOwner, newOwner)) */ 585 pop 586 pop 587 pop 588 swap1 589 pop 590 add 591 swap2 592 pop 593 pop 594 mload(0x40) 595 dup1 596 swap2 597 sub 598 swap1 599 keccak256 600 /* "../contracts/contruct.sol":2874:2875 0 */ 601 0x0 602 /* "../contracts/contruct.sol":2822:2876 keccak256(abi.encodePacked(currentOwner, newOwner))[0] */ 603 0x20 604 dup2 605 lt 606 iszero 607 iszero 608 tag_25 609 jumpi 610 invalid 611 tag_25: 612 byte 613 0x100000000000000000000000000000000000000000000000000000000000000 614 mul 615 /* "../contracts/contruct.sol":2822:2884 keccak256(abi.encodePacked(currentOwner, newOwner))[0] == 0x7f */ 616 not(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) 617 and 618 eq 619 /* "../contracts/contruct.sol":2815:2884 return keccak256(abi.encodePacked(currentOwner, newOwner))[0] == 0x7f */ 620 swap1 621 pop 622 /* "../contracts/contruct.sol":2618:2891 function isTokenTransferOK(address currentOwner, address newOwner)... */ 623 swap3 624 swap2 625 pop 626 pop 627 jump // out 628 /* "../contracts/contruct.sol":1934:2893 contract TokenCreator {... */ 629 tag_19: 630 mload(0x40) 631 dataSize(sub_0) 632 dup1 633 dataOffset(sub_0) 634 dup4 635 codecopy 636 add 637 swap1 638 jump // out 639 stop 640 641 sub_0: assembly { 642 /* "../contracts/contruct.sol":34:1932 contract OwnedToken {... */ 643 mstore(0x40, 0x80) 644 /* "../contracts/contruct.sol":370:1148 constructor(bytes32 _name) public {... */ 645 callvalue 646 /* "--CODEGEN--":8:17 */ 647 dup1 648 /* "--CODEGEN--":5:7 */ 649 iszero 650 tag_1 651 jumpi 652 /* "--CODEGEN--":30:31 */ 653 0x0 654 /* "--CODEGEN--":27:28 */ 655 dup1 656 /* "--CODEGEN--":20:32 */ 657 revert 658 /* "--CODEGEN--":5:7 */ 659 tag_1: 660 /* "../contracts/contruct.sol":370:1148 constructor(bytes32 _name) public {... */ 661 pop 662 mload(0x40) 663 0x20 664 dup1 665 bytecodeSize 666 dup4 667 codecopy 668 dup2 669 add 670 dup1 671 0x40 672 mstore 673 dup2 674 add 675 swap1 676 dup1 677 dup1 678 mload 679 swap1 680 0x20 681 add 682 swap1 683 swap3 684 swap2 685 swap1 686 pop 687 pop 688 pop 689 /* "../contracts/contruct.sol":849:859 msg.sender */ 690 caller 691 /* "../contracts/contruct.sol":841:846 owner */ 692 0x1 693 0x0 694 /* "../contracts/contruct.sol":841:859 owner = msg.sender */ 695 0x100 696 exp 697 dup2 698 sload 699 dup2 700 0xffffffffffffffffffffffffffffffffffffffff 701 mul 702 not 703 and 704 swap1 705 dup4 706 0xffffffffffffffffffffffffffffffffffffffff 707 and 708 mul 709 or 710 swap1 711 sstore 712 pop 713 /* "../contracts/contruct.sol":1108:1118 msg.sender */ 714 caller 715 /* "../contracts/contruct.sol":1085:1092 creator */ 716 0x0 717 dup1 718 /* "../contracts/contruct.sol":1085:1119 creator = TokenCreator(msg.sender) */ 719 0x100 720 exp 721 dup2 722 sload 723 dup2 724 0xffffffffffffffffffffffffffffffffffffffff 725 mul 726 not 727 and 728 swap1 729 dup4 730 0xffffffffffffffffffffffffffffffffffffffff 731 and 732 mul 733 or 734 swap1 735 sstore 736 pop 737 /* "../contracts/contruct.sol":1136:1141 _name */ 738 dup1 739 /* "../contracts/contruct.sol":1129:1133 name */ 740 0x2 741 /* "../contracts/contruct.sol":1129:1141 name = _name */ 742 dup2 743 not(0x0) 744 and 745 swap1 746 sstore 747 pop 748 /* "../contracts/contruct.sol":370:1148 constructor(bytes32 _name) public {... */ 749 pop 750 /* "../contracts/contruct.sol":34:1932 contract OwnedToken {... */ 751 dataSize(sub_0) 752 dup1 753 dataOffset(sub_0) 754 0x0 755 codecopy 756 0x0 757 return 758 stop 759 760 sub_0: assembly { 761 /* "../contracts/contruct.sol":34:1932 contract OwnedToken {... */ 762 mstore(0x40, 0x80) 763 jumpi(tag_1, lt(calldatasize, 0x4)) 764 calldataload(0x0) 765 0x100000000000000000000000000000000000000000000000000000000 766 swap1 767 div 768 0xffffffff 769 and 770 dup1 771 0x1a695230 772 eq 773 tag_2 774 jumpi 775 dup1 776 0x898855ed 777 eq 778 tag_3 779 jumpi 780 tag_1: 781 0x0 782 dup1 783 revert 784 /* "../contracts/contruct.sol":1439:1930 function transfer(address newOwner) public {... */ 785 tag_2: 786 callvalue 787 /* "--CODEGEN--":8:17 */ 788 dup1 789 /* "--CODEGEN--":5:7 */ 790 iszero 791 tag_4 792 jumpi 793 /* "--CODEGEN--":30:31 */ 794 0x0 795 /* "--CODEGEN--":27:28 */ 796 dup1 797 /* "--CODEGEN--":20:32 */ 798 revert 799 /* "--CODEGEN--":5:7 */ 800 tag_4: 801 /* "../contracts/contruct.sol":1439:1930 function transfer(address newOwner) public {... */ 802 pop 803 tag_5 804 0x4 805 dup1 806 calldatasize 807 sub 808 dup2 809 add 810 swap1 811 dup1 812 dup1 813 calldataload 814 0xffffffffffffffffffffffffffffffffffffffff 815 and 816 swap1 817 0x20 818 add 819 swap1 820 swap3 821 swap2 822 swap1 823 pop 824 pop 825 pop 826 jump(tag_6) 827 tag_5: 828 stop 829 /* "../contracts/contruct.sol":1154:1433 function changeName(bytes32 newName) public {... */ 830 tag_3: 831 callvalue 832 /* "--CODEGEN--":8:17 */ 833 dup1 834 /* "--CODEGEN--":5:7 */ 835 iszero 836 tag_7 837 jumpi 838 /* "--CODEGEN--":30:31 */ 839 0x0 840 /* "--CODEGEN--":27:28 */ 841 dup1 842 /* "--CODEGEN--":20:32 */ 843 revert 844 /* "--CODEGEN--":5:7 */ 845 tag_7: 846 /* "../contracts/contruct.sol":1154:1433 function changeName(bytes32 newName) public {... */ 847 pop 848 tag_8 849 0x4 850 dup1 851 calldatasize 852 sub 853 dup2 854 add 855 swap1 856 dup1 857 dup1 858 calldataload 859 not(0x0) 860 and 861 swap1 862 0x20 863 add 864 swap1 865 swap3 866 swap2 867 swap1 868 pop 869 pop 870 pop 871 jump(tag_9) 872 tag_8: 873 stop 874 /* "../contracts/contruct.sol":1439:1930 function transfer(address newOwner) public {... */ 875 tag_6: 876 /* "../contracts/contruct.sol":1568:1573 owner */ 877 0x1 878 0x0 879 swap1 880 sload 881 swap1 882 0x100 883 exp 884 swap1 885 div 886 0xffffffffffffffffffffffffffffffffffffffff 887 and 888 /* "../contracts/contruct.sol":1554:1573 msg.sender != owner */ 889 0xffffffffffffffffffffffffffffffffffffffff 890 and 891 /* "../contracts/contruct.sol":1554:1564 msg.sender */ 892 caller 893 /* "../contracts/contruct.sol":1554:1573 msg.sender != owner */ 894 0xffffffffffffffffffffffffffffffffffffffff 895 and 896 eq 897 iszero 898 /* "../contracts/contruct.sol":1550:1582 if (msg.sender != owner) return; */ 899 iszero 900 tag_11 901 jumpi 902 /* "../contracts/contruct.sol":1575:1582 return; */ 903 jump(tag_10) 904 /* "../contracts/contruct.sol":1550:1582 if (msg.sender != owner) return; */ 905 tag_11: 906 /* "../contracts/contruct.sol":1851:1858 creator */ 907 0x0 908 dup1 909 swap1 910 sload 911 swap1 912 0x100 913 exp 914 swap1 915 div 916 0xffffffffffffffffffffffffffffffffffffffff 917 and 918 /* "../contracts/contruct.sol":1851:1876 creator.isTokenTransferOK */ 919 0xffffffffffffffffffffffffffffffffffffffff 920 and 921 0xc3cee9c1 922 /* "../contracts/contruct.sol":1877:1882 owner */ 923 0x1 924 0x0 925 swap1 926 sload 927 swap1 928 0x100 929 exp 930 swap1 931 div 932 0xffffffffffffffffffffffffffffffffffffffff 933 and 934 /* "../contracts/contruct.sol":1884:1892 newOwner */ 935 dup4 936 /* "../contracts/contruct.sol":1851:1893 creator.isTokenTransferOK(owner, newOwner) */ 937 mload(0x40) 938 dup4 939 0xffffffff 940 and 941 0x100000000000000000000000000000000000000000000000000000000 942 mul 943 dup2 944 mstore 945 0x4 946 add 947 dup1 948 dup4 949 0xffffffffffffffffffffffffffffffffffffffff 950 and 951 0xffffffffffffffffffffffffffffffffffffffff 952 and 953 dup2 954 mstore 955 0x20 956 add 957 dup3 958 0xffffffffffffffffffffffffffffffffffffffff 959 and 960 0xffffffffffffffffffffffffffffffffffffffff 961 and 962 dup2 963 mstore 964 0x20 965 add 966 swap3 967 pop 968 pop 969 pop 970 0x20 971 mload(0x40) 972 dup1 973 dup4 974 sub 975 dup2 976 0x0 977 dup8 978 dup1 979 extcodesize 980 iszero 981 /* "--CODEGEN--":8:17 */ 982 dup1 983 /* "--CODEGEN--":5:7 */ 984 iszero 985 tag_12 986 jumpi 987 /* "--CODEGEN--":30:31 */ 988 0x0 989 /* "--CODEGEN--":27:28 */ 990 dup1 991 /* "--CODEGEN--":20:32 */ 992 revert 993 /* "--CODEGEN--":5:7 */ 994 tag_12: 995 /* "../contracts/contruct.sol":1851:1893 creator.isTokenTransferOK(owner, newOwner) */ 996 pop 997 gas 998 call 999 iszero 1000 /* "--CODEGEN--":8:17 */ 1001 dup1 1002 /* "--CODEGEN--":5:7 */ 1003 iszero 1004 tag_13 1005 jumpi 1006 /* "--CODEGEN--":45:61 */ 1007 returndatasize 1008 /* "--CODEGEN--":42:43 */ 1009 0x0 1010 /* "--CODEGEN--":39:40 */ 1011 dup1 1012 /* "--CODEGEN--":24:62 */ 1013 returndatacopy 1014 /* "--CODEGEN--":77:93 */ 1015 returndatasize 1016 /* "--CODEGEN--":74:75 */ 1017 0x0 1018 /* "--CODEGEN--":67:94 */ 1019 revert 1020 /* "--CODEGEN--":5:7 */ 1021 tag_13: 1022 /* "../contracts/contruct.sol":1851:1893 creator.isTokenTransferOK(owner, newOwner) */ 1023 pop 1024 pop 1025 pop 1026 pop 1027 mload(0x40) 1028 returndatasize 1029 /* "--CODEGEN--":13:15 */ 1030 0x20 1031 /* "--CODEGEN--":8:11 */ 1032 dup2 1033 /* "--CODEGEN--":5:16 */ 1034 lt 1035 /* "--CODEGEN--":2:4 */ 1036 iszero 1037 tag_14 1038 jumpi 1039 /* "--CODEGEN--":29:30 */ 1040 0x0 1041 /* "--CODEGEN--":26:27 */ 1042 dup1 1043 /* "--CODEGEN--":19:31 */ 1044 revert 1045 /* "--CODEGEN--":2:4 */ 1046 tag_14: 1047 /* "../contracts/contruct.sol":1851:1893 creator.isTokenTransferOK(owner, newOwner) */ 1048 dup2 1049 add 1050 swap1 1051 dup1 1052 dup1 1053 mload 1054 swap1 1055 0x20 1056 add 1057 swap1 1058 swap3 1059 swap2 1060 swap1 1061 pop 1062 pop 1063 pop 1064 /* "../contracts/contruct.sol":1847:1923 if (creator.isTokenTransferOK(owner, newOwner))... */ 1065 iszero 1066 tag_15 1067 jumpi 1068 /* "../contracts/contruct.sol":1915:1923 newOwner */ 1069 dup1 1070 /* "../contracts/contruct.sol":1907:1912 owner */ 1071 0x1 1072 0x0 1073 /* "../contracts/contruct.sol":1907:1923 owner = newOwner */ 1074 0x100 1075 exp 1076 dup2 1077 sload 1078 dup2 1079 0xffffffffffffffffffffffffffffffffffffffff 1080 mul 1081 not 1082 and 1083 swap1 1084 dup4 1085 0xffffffffffffffffffffffffffffffffffffffff 1086 and 1087 mul 1088 or 1089 swap1 1090 sstore 1091 pop 1092 /* "../contracts/contruct.sol":1847:1923 if (creator.isTokenTransferOK(owner, newOwner))... */ 1093 tag_15: 1094 /* "../contracts/contruct.sol":1439:1930 function transfer(address newOwner) public {... */ 1095 tag_10: 1096 pop 1097 jump // out 1098 /* "../contracts/contruct.sol":1154:1433 function changeName(bytes32 newName) public {... */ 1099 tag_9: 1100 /* "../contracts/contruct.sol":1390:1397 creator */ 1101 0x0 1102 dup1 1103 swap1 1104 sload 1105 swap1 1106 0x100 1107 exp 1108 swap1 1109 div 1110 0xffffffffffffffffffffffffffffffffffffffff 1111 and 1112 /* "../contracts/contruct.sol":1368:1398 msg.sender == address(creator) */ 1113 0xffffffffffffffffffffffffffffffffffffffff 1114 and 1115 /* "../contracts/contruct.sol":1368:1378 msg.sender */ 1116 caller 1117 /* "../contracts/contruct.sol":1368:1398 msg.sender == address(creator) */ 1118 0xffffffffffffffffffffffffffffffffffffffff 1119 and 1120 eq 1121 /* "../contracts/contruct.sol":1364:1426 if (msg.sender == address(creator))... */ 1122 iszero 1123 tag_17 1124 jumpi 1125 /* "../contracts/contruct.sol":1419:1426 newName */ 1126 dup1 1127 /* "../contracts/contruct.sol":1412:1416 name */ 1128 0x2 1129 /* "../contracts/contruct.sol":1412:1426 name = newName */ 1130 dup2 1131 not(0x0) 1132 and 1133 swap1 1134 sstore 1135 pop 1136 /* "../contracts/contruct.sol":1364:1426 if (msg.sender == address(creator))... */ 1137 tag_17: 1138 /* "../contracts/contruct.sol":1154:1433 function changeName(bytes32 newName) public {... */ 1139 pop 1140 jump // out 1141 1142 auxdata: 0xa165627a7a723058209d0ea79f79c204b184d75f1016ae7588671aa20a3ecb7a8ae78a0c50185d19df0029 1143 } 1144 } 1145 1146 auxdata: 0xa165627a7a7230582022488ac5c41f35a6032c7adf199d2816215315af5457a32a791ab1fde698b5760029 1147 }