github.com/annchain/OG@v0.0.9/vm/vm_test/contracts/o/OwnedToken.evm (about) 1 /* "../contracts/contruct.sol":34:1932 contract OwnedToken {... */ 2 mstore(0x40, 0x80) 3 /* "../contracts/contruct.sol":370:1148 constructor(bytes32 _name) public {... */ 4 callvalue 5 /* "--CODEGEN--":8:17 */ 6 dup1 7 /* "--CODEGEN--":5:7 */ 8 iszero 9 tag_1 10 jumpi 11 /* "--CODEGEN--":30:31 */ 12 0x0 13 /* "--CODEGEN--":27:28 */ 14 dup1 15 /* "--CODEGEN--":20:32 */ 16 revert 17 /* "--CODEGEN--":5:7 */ 18 tag_1: 19 /* "../contracts/contruct.sol":370:1148 constructor(bytes32 _name) public {... */ 20 pop 21 mload(0x40) 22 0x20 23 dup1 24 bytecodeSize 25 dup4 26 codecopy 27 dup2 28 add 29 dup1 30 0x40 31 mstore 32 /* "--CODEGEN--":13:15 */ 33 0x20 34 /* "--CODEGEN--":8:11 */ 35 dup2 36 /* "--CODEGEN--":5:16 */ 37 lt 38 /* "--CODEGEN--":2:4 */ 39 iszero 40 tag_2 41 jumpi 42 /* "--CODEGEN--":29:30 */ 43 0x0 44 /* "--CODEGEN--":26:27 */ 45 dup1 46 /* "--CODEGEN--":19:31 */ 47 revert 48 /* "--CODEGEN--":2:4 */ 49 tag_2: 50 /* "../contracts/contruct.sol":370:1148 constructor(bytes32 _name) public {... */ 51 dup2 52 add 53 swap1 54 dup1 55 dup1 56 mload 57 swap1 58 0x20 59 add 60 swap1 61 swap3 62 swap2 63 swap1 64 pop 65 pop 66 pop 67 /* "../contracts/contruct.sol":849:859 msg.sender */ 68 caller 69 /* "../contracts/contruct.sol":841:846 owner */ 70 0x1 71 0x0 72 /* "../contracts/contruct.sol":841:859 owner = msg.sender */ 73 0x100 74 exp 75 dup2 76 sload 77 dup2 78 0xffffffffffffffffffffffffffffffffffffffff 79 mul 80 not 81 and 82 swap1 83 dup4 84 0xffffffffffffffffffffffffffffffffffffffff 85 and 86 mul 87 or 88 swap1 89 sstore 90 pop 91 /* "../contracts/contruct.sol":1108:1118 msg.sender */ 92 caller 93 /* "../contracts/contruct.sol":1085:1092 creator */ 94 0x0 95 dup1 96 /* "../contracts/contruct.sol":1085:1119 creator = TokenCreator(msg.sender) */ 97 0x100 98 exp 99 dup2 100 sload 101 dup2 102 0xffffffffffffffffffffffffffffffffffffffff 103 mul 104 not 105 and 106 swap1 107 dup4 108 0xffffffffffffffffffffffffffffffffffffffff 109 and 110 mul 111 or 112 swap1 113 sstore 114 pop 115 /* "../contracts/contruct.sol":1136:1141 _name */ 116 dup1 117 /* "../contracts/contruct.sol":1129:1133 name */ 118 0x2 119 /* "../contracts/contruct.sol":1129:1141 name = _name */ 120 dup2 121 swap1 122 sstore 123 pop 124 /* "../contracts/contruct.sol":370:1148 constructor(bytes32 _name) public {... */ 125 pop 126 /* "../contracts/contruct.sol":34:1932 contract OwnedToken {... */ 127 dataSize(sub_0) 128 dup1 129 dataOffset(sub_0) 130 0x0 131 codecopy 132 0x0 133 return 134 stop 135 136 sub_0: assembly { 137 /* "../contracts/contruct.sol":34:1932 contract OwnedToken {... */ 138 mstore(0x40, 0x80) 139 jumpi(tag_1, lt(calldatasize, 0x4)) 140 calldataload(0x0) 141 0x100000000000000000000000000000000000000000000000000000000 142 swap1 143 div 144 0xffffffff 145 and 146 dup1 147 0x1a695230 148 eq 149 tag_2 150 jumpi 151 dup1 152 0x898855ed 153 eq 154 tag_3 155 jumpi 156 tag_1: 157 0x0 158 dup1 159 revert 160 /* "../contracts/contruct.sol":1439:1930 function transfer(address newOwner) public {... */ 161 tag_2: 162 callvalue 163 /* "--CODEGEN--":8:17 */ 164 dup1 165 /* "--CODEGEN--":5:7 */ 166 iszero 167 tag_4 168 jumpi 169 /* "--CODEGEN--":30:31 */ 170 0x0 171 /* "--CODEGEN--":27:28 */ 172 dup1 173 /* "--CODEGEN--":20:32 */ 174 revert 175 /* "--CODEGEN--":5:7 */ 176 tag_4: 177 /* "../contracts/contruct.sol":1439:1930 function transfer(address newOwner) public {... */ 178 pop 179 tag_5 180 0x4 181 dup1 182 calldatasize 183 sub 184 /* "--CODEGEN--":13:15 */ 185 0x20 186 /* "--CODEGEN--":8:11 */ 187 dup2 188 /* "--CODEGEN--":5:16 */ 189 lt 190 /* "--CODEGEN--":2:4 */ 191 iszero 192 tag_6 193 jumpi 194 /* "--CODEGEN--":29:30 */ 195 0x0 196 /* "--CODEGEN--":26:27 */ 197 dup1 198 /* "--CODEGEN--":19:31 */ 199 revert 200 /* "--CODEGEN--":2:4 */ 201 tag_6: 202 /* "../contracts/contruct.sol":1439:1930 function transfer(address newOwner) public {... */ 203 dup2 204 add 205 swap1 206 dup1 207 dup1 208 calldataload 209 0xffffffffffffffffffffffffffffffffffffffff 210 and 211 swap1 212 0x20 213 add 214 swap1 215 swap3 216 swap2 217 swap1 218 pop 219 pop 220 pop 221 jump(tag_7) 222 tag_5: 223 stop 224 /* "../contracts/contruct.sol":1154:1433 function changeName(bytes32 newName) public {... */ 225 tag_3: 226 callvalue 227 /* "--CODEGEN--":8:17 */ 228 dup1 229 /* "--CODEGEN--":5:7 */ 230 iszero 231 tag_8 232 jumpi 233 /* "--CODEGEN--":30:31 */ 234 0x0 235 /* "--CODEGEN--":27:28 */ 236 dup1 237 /* "--CODEGEN--":20:32 */ 238 revert 239 /* "--CODEGEN--":5:7 */ 240 tag_8: 241 /* "../contracts/contruct.sol":1154:1433 function changeName(bytes32 newName) public {... */ 242 pop 243 tag_9 244 0x4 245 dup1 246 calldatasize 247 sub 248 /* "--CODEGEN--":13:15 */ 249 0x20 250 /* "--CODEGEN--":8:11 */ 251 dup2 252 /* "--CODEGEN--":5:16 */ 253 lt 254 /* "--CODEGEN--":2:4 */ 255 iszero 256 tag_10 257 jumpi 258 /* "--CODEGEN--":29:30 */ 259 0x0 260 /* "--CODEGEN--":26:27 */ 261 dup1 262 /* "--CODEGEN--":19:31 */ 263 revert 264 /* "--CODEGEN--":2:4 */ 265 tag_10: 266 /* "../contracts/contruct.sol":1154:1433 function changeName(bytes32 newName) public {... */ 267 dup2 268 add 269 swap1 270 dup1 271 dup1 272 calldataload 273 swap1 274 0x20 275 add 276 swap1 277 swap3 278 swap2 279 swap1 280 pop 281 pop 282 pop 283 jump(tag_11) 284 tag_9: 285 stop 286 /* "../contracts/contruct.sol":1439:1930 function transfer(address newOwner) public {... */ 287 tag_7: 288 /* "../contracts/contruct.sol":1568:1573 owner */ 289 0x1 290 0x0 291 swap1 292 sload 293 swap1 294 0x100 295 exp 296 swap1 297 div 298 0xffffffffffffffffffffffffffffffffffffffff 299 and 300 /* "../contracts/contruct.sol":1554:1573 msg.sender != owner */ 301 0xffffffffffffffffffffffffffffffffffffffff 302 and 303 /* "../contracts/contruct.sol":1554:1564 msg.sender */ 304 caller 305 /* "../contracts/contruct.sol":1554:1573 msg.sender != owner */ 306 0xffffffffffffffffffffffffffffffffffffffff 307 and 308 eq 309 iszero 310 /* "../contracts/contruct.sol":1550:1582 if (msg.sender != owner) return; */ 311 iszero 312 tag_13 313 jumpi 314 /* "../contracts/contruct.sol":1575:1582 return; */ 315 jump(tag_12) 316 /* "../contracts/contruct.sol":1550:1582 if (msg.sender != owner) return; */ 317 tag_13: 318 /* "../contracts/contruct.sol":1851:1858 creator */ 319 0x0 320 dup1 321 swap1 322 sload 323 swap1 324 0x100 325 exp 326 swap1 327 div 328 0xffffffffffffffffffffffffffffffffffffffff 329 and 330 /* "../contracts/contruct.sol":1851:1876 creator.isTokenTransferOK */ 331 0xffffffffffffffffffffffffffffffffffffffff 332 and 333 0xc3cee9c1 334 /* "../contracts/contruct.sol":1877:1882 owner */ 335 0x1 336 0x0 337 swap1 338 sload 339 swap1 340 0x100 341 exp 342 swap1 343 div 344 0xffffffffffffffffffffffffffffffffffffffff 345 and 346 /* "../contracts/contruct.sol":1884:1892 newOwner */ 347 dup4 348 /* "../contracts/contruct.sol":1851:1893 creator.isTokenTransferOK(owner, newOwner) */ 349 mload(0x40) 350 dup4 351 0xffffffff 352 and 353 0x100000000000000000000000000000000000000000000000000000000 354 mul 355 dup2 356 mstore 357 0x4 358 add 359 dup1 360 dup4 361 0xffffffffffffffffffffffffffffffffffffffff 362 and 363 0xffffffffffffffffffffffffffffffffffffffff 364 and 365 dup2 366 mstore 367 0x20 368 add 369 dup3 370 0xffffffffffffffffffffffffffffffffffffffff 371 and 372 0xffffffffffffffffffffffffffffffffffffffff 373 and 374 dup2 375 mstore 376 0x20 377 add 378 swap3 379 pop 380 pop 381 pop 382 0x20 383 mload(0x40) 384 dup1 385 dup4 386 sub 387 dup2 388 dup7 389 dup1 390 extcodesize 391 iszero 392 /* "--CODEGEN--":8:17 */ 393 dup1 394 /* "--CODEGEN--":5:7 */ 395 iszero 396 tag_14 397 jumpi 398 /* "--CODEGEN--":30:31 */ 399 0x0 400 /* "--CODEGEN--":27:28 */ 401 dup1 402 /* "--CODEGEN--":20:32 */ 403 revert 404 /* "--CODEGEN--":5:7 */ 405 tag_14: 406 /* "../contracts/contruct.sol":1851:1893 creator.isTokenTransferOK(owner, newOwner) */ 407 pop 408 gas 409 staticcall 410 iszero 411 /* "--CODEGEN--":8:17 */ 412 dup1 413 /* "--CODEGEN--":5:7 */ 414 iszero 415 tag_15 416 jumpi 417 /* "--CODEGEN--":45:61 */ 418 returndatasize 419 /* "--CODEGEN--":42:43 */ 420 0x0 421 /* "--CODEGEN--":39:40 */ 422 dup1 423 /* "--CODEGEN--":24:62 */ 424 returndatacopy 425 /* "--CODEGEN--":77:93 */ 426 returndatasize 427 /* "--CODEGEN--":74:75 */ 428 0x0 429 /* "--CODEGEN--":67:94 */ 430 revert 431 /* "--CODEGEN--":5:7 */ 432 tag_15: 433 /* "../contracts/contruct.sol":1851:1893 creator.isTokenTransferOK(owner, newOwner) */ 434 pop 435 pop 436 pop 437 pop 438 mload(0x40) 439 returndatasize 440 /* "--CODEGEN--":13:15 */ 441 0x20 442 /* "--CODEGEN--":8:11 */ 443 dup2 444 /* "--CODEGEN--":5:16 */ 445 lt 446 /* "--CODEGEN--":2:4 */ 447 iszero 448 tag_16 449 jumpi 450 /* "--CODEGEN--":29:30 */ 451 0x0 452 /* "--CODEGEN--":26:27 */ 453 dup1 454 /* "--CODEGEN--":19:31 */ 455 revert 456 /* "--CODEGEN--":2:4 */ 457 tag_16: 458 /* "../contracts/contruct.sol":1851:1893 creator.isTokenTransferOK(owner, newOwner) */ 459 dup2 460 add 461 swap1 462 dup1 463 dup1 464 mload 465 swap1 466 0x20 467 add 468 swap1 469 swap3 470 swap2 471 swap1 472 pop 473 pop 474 pop 475 /* "../contracts/contruct.sol":1847:1923 if (creator.isTokenTransferOK(owner, newOwner))... */ 476 iszero 477 tag_17 478 jumpi 479 /* "../contracts/contruct.sol":1915:1923 newOwner */ 480 dup1 481 /* "../contracts/contruct.sol":1907:1912 owner */ 482 0x1 483 0x0 484 /* "../contracts/contruct.sol":1907:1923 owner = newOwner */ 485 0x100 486 exp 487 dup2 488 sload 489 dup2 490 0xffffffffffffffffffffffffffffffffffffffff 491 mul 492 not 493 and 494 swap1 495 dup4 496 0xffffffffffffffffffffffffffffffffffffffff 497 and 498 mul 499 or 500 swap1 501 sstore 502 pop 503 /* "../contracts/contruct.sol":1847:1923 if (creator.isTokenTransferOK(owner, newOwner))... */ 504 tag_17: 505 /* "../contracts/contruct.sol":1439:1930 function transfer(address newOwner) public {... */ 506 tag_12: 507 pop 508 jump // out 509 /* "../contracts/contruct.sol":1154:1433 function changeName(bytes32 newName) public {... */ 510 tag_11: 511 /* "../contracts/contruct.sol":1390:1397 creator */ 512 0x0 513 dup1 514 swap1 515 sload 516 swap1 517 0x100 518 exp 519 swap1 520 div 521 0xffffffffffffffffffffffffffffffffffffffff 522 and 523 /* "../contracts/contruct.sol":1368:1398 msg.sender == address(creator) */ 524 0xffffffffffffffffffffffffffffffffffffffff 525 and 526 /* "../contracts/contruct.sol":1368:1378 msg.sender */ 527 caller 528 /* "../contracts/contruct.sol":1368:1398 msg.sender == address(creator) */ 529 0xffffffffffffffffffffffffffffffffffffffff 530 and 531 eq 532 /* "../contracts/contruct.sol":1364:1426 if (msg.sender == address(creator))... */ 533 iszero 534 tag_19 535 jumpi 536 /* "../contracts/contruct.sol":1419:1426 newName */ 537 dup1 538 /* "../contracts/contruct.sol":1412:1416 name */ 539 0x2 540 /* "../contracts/contruct.sol":1412:1426 name = newName */ 541 dup2 542 swap1 543 sstore 544 pop 545 /* "../contracts/contruct.sol":1364:1426 if (msg.sender == address(creator))... */ 546 tag_19: 547 /* "../contracts/contruct.sol":1154:1433 function changeName(bytes32 newName) public {... */ 548 pop 549 jump // out 550 551 auxdata: 0xa165627a7a723058200eaaef95da7e440ebd4d62e215d89a2937fbc0b9c5c514334ea99a84235563060029 552 }