-
-
Save maurelian/21853d3c6556d7f94f277058dac7b01d to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
======= contracts/Migrations.sol:Migrations ======= | |
EVM assembly: | |
/* "contracts/Migrations.sol":26:514 contract Migrations {... */ | |
mstore(0x40, 0x60) | |
/* "contracts/Migrations.sol":178:236 function Migrations() public {... */ | |
jumpi(tag_1, iszero(callvalue)) | |
0x0 | |
dup1 | |
revert | |
tag_1: | |
/* "contracts/Migrations.sol":221:231 msg.sender */ | |
caller | |
/* "contracts/Migrations.sol":213:218 owner */ | |
0x0 | |
dup1 | |
/* "contracts/Migrations.sol":213:231 owner = msg.sender */ | |
0x100 | |
exp | |
dup2 | |
sload | |
dup2 | |
0xffffffffffffffffffffffffffffffffffffffff | |
mul | |
not | |
and | |
swap1 | |
dup4 | |
0xffffffffffffffffffffffffffffffffffffffff | |
and | |
mul | |
or | |
swap1 | |
sstore | |
pop | |
/* "contracts/Migrations.sol":26:514 contract Migrations {... */ | |
dataSize(sub_0) | |
dup1 | |
dataOffset(sub_0) | |
0x0 | |
codecopy | |
0x0 | |
return | |
stop | |
sub_0: assembly { | |
/* "contracts/Migrations.sol":26:514 contract Migrations {... */ | |
mstore(0x40, 0x60) | |
jumpi(tag_1, lt(calldatasize, 0x4)) | |
calldataload(0x0) | |
0x100000000000000000000000000000000000000000000000000000000 | |
swap1 | |
div | |
0xffffffff | |
and | |
dup1 | |
0x900f010 | |
eq | |
tag_2 | |
jumpi | |
dup1 | |
0x445df0ac | |
eq | |
tag_3 | |
jumpi | |
dup1 | |
0x8da5cb5b | |
eq | |
tag_4 | |
jumpi | |
dup1 | |
0xfdacd576 | |
eq | |
tag_5 | |
jumpi | |
tag_1: | |
0x0 | |
dup1 | |
revert | |
/* "contracts/Migrations.sol":347:512 function upgrade(address new_address) public restricted {... */ | |
tag_2: | |
jumpi(tag_6, iszero(callvalue)) | |
0x0 | |
dup1 | |
revert | |
tag_6: | |
tag_7 | |
0x4 | |
dup1 | |
dup1 | |
calldataload | |
0xffffffffffffffffffffffffffffffffffffffff | |
and | |
swap1 | |
0x20 | |
add | |
swap1 | |
swap2 | |
swap1 | |
pop | |
pop | |
jump(tag_8) | |
tag_7: | |
stop | |
/* "contracts/Migrations.sol":74:110 uint public last_completed_migration */ | |
tag_3: | |
jumpi(tag_9, iszero(callvalue)) | |
0x0 | |
dup1 | |
revert | |
tag_9: | |
tag_10 | |
jump(tag_11) | |
tag_10: | |
mload(0x40) | |
dup1 | |
dup3 | |
dup2 | |
mstore | |
0x20 | |
add | |
swap2 | |
pop | |
pop | |
mload(0x40) | |
dup1 | |
swap2 | |
sub | |
swap1 | |
return | |
/* "contracts/Migrations.sol":50:70 address public owner */ | |
tag_4: | |
jumpi(tag_12, iszero(callvalue)) | |
0x0 | |
dup1 | |
revert | |
tag_12: | |
tag_13 | |
jump(tag_14) | |
tag_13: | |
mload(0x40) | |
dup1 | |
dup3 | |
0xffffffffffffffffffffffffffffffffffffffff | |
and | |
0xffffffffffffffffffffffffffffffffffffffff | |
and | |
dup2 | |
mstore | |
0x20 | |
add | |
swap2 | |
pop | |
pop | |
mload(0x40) | |
dup1 | |
swap2 | |
sub | |
swap1 | |
return | |
/* "contracts/Migrations.sol":240:343 function setCompleted(uint completed) public restricted {... */ | |
tag_5: | |
jumpi(tag_15, iszero(callvalue)) | |
0x0 | |
dup1 | |
revert | |
tag_15: | |
tag_16 | |
0x4 | |
dup1 | |
dup1 | |
calldataload | |
swap1 | |
0x20 | |
add | |
swap1 | |
swap2 | |
swap1 | |
pop | |
pop | |
jump(tag_17) | |
tag_16: | |
stop | |
/* "contracts/Migrations.sol":347:512 function upgrade(address new_address) public restricted {... */ | |
tag_8: | |
/* "contracts/Migrations.sol":409:428 Migrations upgraded */ | |
0x0 | |
/* "contracts/Migrations.sol":161:166 owner */ | |
dup1 | |
0x0 | |
swap1 | |
sload | |
swap1 | |
0x100 | |
exp | |
swap1 | |
div | |
0xffffffffffffffffffffffffffffffffffffffff | |
and | |
/* "contracts/Migrations.sol":147:166 msg.sender == owner */ | |
0xffffffffffffffffffffffffffffffffffffffff | |
and | |
/* "contracts/Migrations.sol":147:157 msg.sender */ | |
caller | |
/* "contracts/Migrations.sol":147:166 msg.sender == owner */ | |
0xffffffffffffffffffffffffffffffffffffffff | |
and | |
eq | |
/* "contracts/Migrations.sol":143:169 if (msg.sender == owner) _ */ | |
iszero | |
tag_19 | |
jumpi | |
/* "contracts/Migrations.sol":442:453 new_address */ | |
dup2 | |
/* "contracts/Migrations.sol":409:454 Migrations upgraded = Migrations(new_address) */ | |
swap1 | |
pop | |
/* "contracts/Migrations.sol":460:468 upgraded */ | |
dup1 | |
/* "contracts/Migrations.sol":460:481 upgraded.setCompleted */ | |
0xffffffffffffffffffffffffffffffffffffffff | |
and | |
0xfdacd576 | |
/* "contracts/Migrations.sol":482:506 last_completed_migration */ | |
sload(0x1) | |
/* "contracts/Migrations.sol":460:507 upgraded.setCompleted(last_completed_migration) */ | |
mload(0x40) | |
dup3 | |
0xffffffff | |
and | |
0x100000000000000000000000000000000000000000000000000000000 | |
mul | |
dup2 | |
mstore | |
0x4 | |
add | |
dup1 | |
dup3 | |
dup2 | |
mstore | |
0x20 | |
add | |
swap2 | |
pop | |
pop | |
0x0 | |
mload(0x40) | |
dup1 | |
dup4 | |
sub | |
dup2 | |
0x0 | |
dup8 | |
dup1 | |
extcodesize | |
iszero | |
iszero | |
tag_21 | |
jumpi | |
0x0 | |
dup1 | |
revert | |
tag_21: | |
sub(gas, 0x2c6) | |
call | |
iszero | |
iszero | |
tag_22 | |
jumpi | |
0x0 | |
dup1 | |
revert | |
tag_22: | |
pop | |
pop | |
pop | |
/* "contracts/Migrations.sol":143:169 if (msg.sender == owner) _ */ | |
tag_19: | |
/* "contracts/Migrations.sol":347:512 function upgrade(address new_address) public restricted {... */ | |
pop | |
pop | |
jump // out | |
/* "contracts/Migrations.sol":74:110 uint public last_completed_migration */ | |
tag_11: | |
sload(0x1) | |
dup2 | |
jump // out | |
/* "contracts/Migrations.sol":50:70 address public owner */ | |
tag_14: | |
0x0 | |
dup1 | |
swap1 | |
sload | |
swap1 | |
0x100 | |
exp | |
swap1 | |
div | |
0xffffffffffffffffffffffffffffffffffffffff | |
and | |
dup2 | |
jump // out | |
/* "contracts/Migrations.sol":240:343 function setCompleted(uint completed) public restricted {... */ | |
tag_17: | |
/* "contracts/Migrations.sol":161:166 owner */ | |
0x0 | |
dup1 | |
swap1 | |
sload | |
swap1 | |
0x100 | |
exp | |
swap1 | |
div | |
0xffffffffffffffffffffffffffffffffffffffff | |
and | |
/* "contracts/Migrations.sol":147:166 msg.sender == owner */ | |
0xffffffffffffffffffffffffffffffffffffffff | |
and | |
/* "contracts/Migrations.sol":147:157 msg.sender */ | |
caller | |
/* "contracts/Migrations.sol":147:166 msg.sender == owner */ | |
0xffffffffffffffffffffffffffffffffffffffff | |
and | |
eq | |
/* "contracts/Migrations.sol":143:169 if (msg.sender == owner) _ */ | |
iszero | |
tag_24 | |
jumpi | |
/* "contracts/Migrations.sol":329:338 completed */ | |
dup1 | |
/* "contracts/Migrations.sol":302:326 last_completed_migration */ | |
0x1 | |
/* "contracts/Migrations.sol":302:338 last_completed_migration = completed */ | |
dup2 | |
swap1 | |
sstore | |
pop | |
/* "contracts/Migrations.sol":143:169 if (msg.sender == owner) _ */ | |
tag_24: | |
/* "contracts/Migrations.sol":240:343 function setCompleted(uint completed) public restricted {... */ | |
pop | |
jump // out | |
auxdata: 0xa165627a7a723058205d8da1243000135479cad5ee7e440913b33555e5cb8246e4d7dbf2fc8aee66f50029 | |
} | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment