diff --git a/tests/testdata/inputs/origin.sol.o b/tests/testdata/inputs/origin.sol.o index 3586f97e..fc97c571 100644 --- a/tests/testdata/inputs/origin.sol.o +++ b/tests/testdata/inputs/origin.sol.o @@ -1 +1 @@ -608060405234801561001057600080fd5b50600436106100365760003560e01c80638da5cb5b1461003b578063f2fde38b14610085575b600080fd5b6100436100c9565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6100c76004803603602081101561009b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506100ee565b005b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff16141561014857600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146101bd57806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5056fea265627a7a72315820975cdaffccd25b1a08881d9783057d84ecc75492cf047f03781612060ec80eb564736f6c63430005100032 \ No newline at end of file +60606040526004361061004c576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680638da5cb5b14610051578063f2fde38b146100a6575b600080fd5b341561005c57600080fd5b6100646100df565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156100b157600080fd5b6100dd600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610104565b005b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff1614151561015f57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415156101d657806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b505600a165627a7a7230582094f3b40753c82d05a159fa87a8b075fa6226d092f90191c0f813a12c032ffaac0029 \ No newline at end of file diff --git a/tests/testdata/outputs_expected/origin.sol.o.easm b/tests/testdata/outputs_expected/origin.sol.o.easm index 317a337c..e1bffe10 100644 --- a/tests/testdata/outputs_expected/origin.sol.o.easm +++ b/tests/testdata/outputs_expected/origin.sol.o.easm @@ -1,387 +1,168 @@ -0 PUSH1 0x80 +0 PUSH1 0x60 2 PUSH1 0x40 4 MSTORE -5 CALLVALUE -6 DUP1 -7 ISZERO -8 PUSH2 0x0010 -11 JUMPI -12 PUSH1 0x00 -14 DUP1 -15 REVERT -16 JUMPDEST -17 POP -18 PUSH1 0x04 -20 CALLDATASIZE -21 LT -22 PUSH2 0x0036 -25 JUMPI -26 PUSH1 0x00 -28 CALLDATALOAD -29 PUSH1 0xe0 -31 SHR -32 DUP1 -33 PUSH4 0x8da5cb5b -38 EQ -39 PUSH2 0x003b -42 JUMPI -43 DUP1 -44 PUSH4 0xf2fde38b -49 EQ -50 PUSH2 0x0085 -53 JUMPI -54 JUMPDEST -55 PUSH1 0x00 -57 DUP1 -58 REVERT -59 JUMPDEST -60 PUSH2 0x0043 -63 PUSH2 0x00c9 -66 JUMP -67 JUMPDEST -68 PUSH1 0x40 -70 MLOAD -71 DUP1 -72 DUP3 -73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff -94 AND -95 PUSH20 0xffffffffffffffffffffffffffffffffffffffff -116 AND -117 DUP2 -118 MSTORE -119 PUSH1 0x20 -121 ADD -122 SWAP2 -123 POP -124 POP -125 PUSH1 0x40 -127 MLOAD -128 DUP1 -129 SWAP2 -130 SUB -131 SWAP1 -132 RETURN -133 JUMPDEST -134 PUSH2 0x00c7 -137 PUSH1 0x04 -139 DUP1 -140 CALLDATASIZE -141 SUB -142 PUSH1 0x20 -144 DUP2 -145 LT -146 ISZERO -147 PUSH2 0x009b -150 JUMPI -151 PUSH1 0x00 -153 DUP1 -154 REVERT -155 JUMPDEST -156 DUP2 -157 ADD -158 SWAP1 -159 DUP1 -160 DUP1 -161 CALLDATALOAD -162 PUSH20 0xffffffffffffffffffffffffffffffffffffffff -183 AND -184 SWAP1 -185 PUSH1 0x20 -187 ADD -188 SWAP1 -189 SWAP3 -190 SWAP2 -191 SWAP1 -192 POP -193 POP -194 POP -195 PUSH2 0x00ee -198 JUMP -199 JUMPDEST -200 STOP -201 JUMPDEST -202 PUSH1 0x00 -204 DUP1 -205 SWAP1 -206 SLOAD -207 SWAP1 -208 PUSH2 0x0100 -211 EXP +5 PUSH1 0x04 +7 CALLDATASIZE +8 LT +9 PUSH2 0x004c +12 JUMPI +13 PUSH1 0x00 +15 CALLDATALOAD +16 PUSH29 0x0100000000000000000000000000000000000000000000000000000000 +46 SWAP1 +47 DIV +48 PUSH4 0xffffffff +53 AND +54 DUP1 +55 PUSH4 0x8da5cb5b +60 EQ +61 PUSH2 0x0051 +64 JUMPI +65 DUP1 +66 PUSH4 0xf2fde38b +71 EQ +72 PUSH2 0x00a6 +75 JUMPI +76 JUMPDEST +77 PUSH1 0x00 +79 DUP1 +80 REVERT +81 JUMPDEST +82 CALLVALUE +83 ISZERO +84 PUSH2 0x005c +87 JUMPI +88 PUSH1 0x00 +90 DUP1 +91 REVERT +92 JUMPDEST +93 PUSH2 0x0064 +96 PUSH2 0x00df +99 JUMP +100 JUMPDEST +101 PUSH1 0x40 +103 MLOAD +104 DUP1 +105 DUP3 +106 PUSH20 0xffffffffffffffffffffffffffffffffffffffff +127 AND +128 PUSH20 0xffffffffffffffffffffffffffffffffffffffff +149 AND +150 DUP2 +151 MSTORE +152 PUSH1 0x20 +154 ADD +155 SWAP2 +156 POP +157 POP +158 PUSH1 0x40 +160 MLOAD +161 DUP1 +162 SWAP2 +163 SUB +164 SWAP1 +165 RETURN +166 JUMPDEST +167 CALLVALUE +168 ISZERO +169 PUSH2 0x00b1 +172 JUMPI +173 PUSH1 0x00 +175 DUP1 +176 REVERT +177 JUMPDEST +178 PUSH2 0x00dd +181 PUSH1 0x04 +183 DUP1 +184 DUP1 +185 CALLDATALOAD +186 PUSH20 0xffffffffffffffffffffffffffffffffffffffff +207 AND +208 SWAP1 +209 PUSH1 0x20 +211 ADD 212 SWAP1 -213 DIV -214 PUSH20 0xffffffffffffffffffffffffffffffffffffffff -235 AND -236 DUP2 -237 JUMP -238 JUMPDEST -239 PUSH1 0x00 -241 DUP1 -242 SWAP1 -243 SLOAD -244 SWAP1 -245 PUSH2 0x0100 -248 EXP -249 SWAP1 -250 DIV -251 PUSH20 0xffffffffffffffffffffffffffffffffffffffff -272 AND +213 SWAP2 +214 SWAP1 +215 POP +216 POP +217 PUSH2 0x0104 +220 JUMP +221 JUMPDEST +222 STOP +223 JUMPDEST +224 PUSH1 0x00 +226 DUP1 +227 SWAP1 +228 SLOAD +229 SWAP1 +230 PUSH2 0x0100 +233 EXP +234 SWAP1 +235 DIV +236 PUSH20 0xffffffffffffffffffffffffffffffffffffffff +257 AND +258 DUP2 +259 JUMP +260 JUMPDEST +261 PUSH1 0x00 +263 DUP1 +264 SWAP1 +265 SLOAD +266 SWAP1 +267 PUSH2 0x0100 +270 EXP +271 SWAP1 +272 DIV 273 PUSH20 0xffffffffffffffffffffffffffffffffffffffff 294 AND -295 ORIGIN -296 PUSH20 0xffffffffffffffffffffffffffffffffffffffff -317 AND -318 EQ -319 ISZERO -320 PUSH2 0x0148 -323 JUMPI -324 PUSH1 0x00 -326 DUP1 -327 REVERT -328 JUMPDEST -329 PUSH1 0x00 -331 PUSH20 0xffffffffffffffffffffffffffffffffffffffff -352 AND -353 DUP2 +295 PUSH20 0xffffffffffffffffffffffffffffffffffffffff +316 AND +317 ORIGIN +318 PUSH20 0xffffffffffffffffffffffffffffffffffffffff +339 AND +340 EQ +341 ISZERO +342 ISZERO +343 PUSH2 0x015f +346 JUMPI +347 PUSH1 0x00 +349 DUP1 +350 REVERT +351 JUMPDEST +352 PUSH1 0x00 354 PUSH20 0xffffffffffffffffffffffffffffffffffffffff 375 AND -376 EQ -377 PUSH2 0x01bd -380 JUMPI -381 DUP1 -382 PUSH1 0x00 -384 DUP1 -385 PUSH2 0x0100 -388 EXP -389 DUP2 -390 SLOAD -391 DUP2 -392 PUSH20 0xffffffffffffffffffffffffffffffffffffffff -413 MUL -414 NOT -415 AND -416 SWAP1 -417 DUP4 -418 PUSH20 0xffffffffffffffffffffffffffffffffffffffff -439 AND -440 MUL -441 OR -442 SWAP1 -443 SSTORE -444 POP -445 JUMPDEST -446 POP -447 JUMP -448 ASSERT_FAIL -449 LOG2 -450 PUSH6 0x627a7a723158 -457 SHA3 -458 SWAP8 -459 INVALID -460 INVALID -461 SUICIDE -462 INVALID -463 INVALID -464 JUMPDEST -465 BYTE -466 ADDMOD -467 DUP9 -468 SAR -469 SWAP8 -470 DUP4 -471 SDIV -472 PUSH30 0x84ecc75492cf047f03781612060ec80eb564736f6c63430005100032 - -(mythril) Bernhards-MBP:testdata bernhardmueller$ $MYTH disassemble -c 608060405234801561001057600080fd5b50600436106100365760003560e01c80638da5cb5b1461003b578063f2fde38b14610085575b600080fd5b6100436100c9565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6100c76004803603602081101561009b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506100ee565b005b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff16141561014857600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146101bd57806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5056fea265627a7a72315820975cdaffccd25b1a08881d9783057d84ecc75492cf047f03781612060ec80eb564736f6c63430005100032 -Disassembly: -0 PUSH1 0x80 -2 PUSH1 0x40 -4 MSTORE -5 CALLVALUE -6 DUP1 -7 ISZERO -8 PUSH2 0x0010 -11 JUMPI -12 PUSH1 0x00 -14 DUP1 -15 REVERT -16 JUMPDEST -17 POP -18 PUSH1 0x04 -20 CALLDATASIZE -21 LT -22 PUSH2 0x0036 -25 JUMPI -26 PUSH1 0x00 -28 CALLDATALOAD -29 PUSH1 0xe0 -31 SHR -32 DUP1 -33 PUSH4 0x8da5cb5b -38 EQ -39 PUSH2 0x003b -42 JUMPI -43 DUP1 -44 PUSH4 0xf2fde38b -49 EQ -50 PUSH2 0x0085 -53 JUMPI -54 JUMPDEST -55 PUSH1 0x00 -57 DUP1 -58 REVERT -59 JUMPDEST -60 PUSH2 0x0043 -63 PUSH2 0x00c9 -66 JUMP -67 JUMPDEST -68 PUSH1 0x40 -70 MLOAD -71 DUP1 -72 DUP3 -73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff -94 AND -95 PUSH20 0xffffffffffffffffffffffffffffffffffffffff -116 AND -117 DUP2 -118 MSTORE -119 PUSH1 0x20 -121 ADD -122 SWAP2 -123 POP -124 POP -125 PUSH1 0x40 -127 MLOAD -128 DUP1 -129 SWAP2 -130 SUB -131 SWAP1 -132 RETURN -133 JUMPDEST -134 PUSH2 0x00c7 -137 PUSH1 0x04 -139 DUP1 -140 CALLDATASIZE -141 SUB -142 PUSH1 0x20 -144 DUP2 -145 LT -146 ISZERO -147 PUSH2 0x009b -150 JUMPI -151 PUSH1 0x00 -153 DUP1 -154 REVERT -155 JUMPDEST -156 DUP2 -157 ADD -158 SWAP1 -159 DUP1 -160 DUP1 -161 CALLDATALOAD -162 PUSH20 0xffffffffffffffffffffffffffffffffffffffff -183 AND -184 SWAP1 -185 PUSH1 0x20 -187 ADD -188 SWAP1 -189 SWAP3 -190 SWAP2 -191 SWAP1 -192 POP -193 POP -194 POP -195 PUSH2 0x00ee -198 JUMP -199 JUMPDEST -200 STOP -201 JUMPDEST -202 PUSH1 0x00 -204 DUP1 -205 SWAP1 -206 SLOAD -207 SWAP1 -208 PUSH2 0x0100 -211 EXP -212 SWAP1 -213 DIV -214 PUSH20 0xffffffffffffffffffffffffffffffffffffffff -235 AND -236 DUP2 -237 JUMP -238 JUMPDEST -239 PUSH1 0x00 -241 DUP1 -242 SWAP1 -243 SLOAD -244 SWAP1 -245 PUSH2 0x0100 -248 EXP -249 SWAP1 -250 DIV -251 PUSH20 0xffffffffffffffffffffffffffffffffffffffff -272 AND -273 PUSH20 0xffffffffffffffffffffffffffffffffffffffff -294 AND -295 ORIGIN -296 PUSH20 0xffffffffffffffffffffffffffffffffffffffff -317 AND -318 EQ -319 ISZERO -320 PUSH2 0x0148 -323 JUMPI -324 PUSH1 0x00 -326 DUP1 -327 REVERT -328 JUMPDEST -329 PUSH1 0x00 -331 PUSH20 0xffffffffffffffffffffffffffffffffffffffff -352 AND -353 DUP2 -354 PUSH20 0xffffffffffffffffffffffffffffffffffffffff -375 AND -376 EQ -377 PUSH2 0x01bd -380 JUMPI -381 DUP1 -382 PUSH1 0x00 -384 DUP1 -385 PUSH2 0x0100 -388 EXP -389 DUP2 -390 SLOAD -391 DUP2 -392 PUSH20 0xffffffffffffffffffffffffffffffffffffffff -413 MUL -414 NOT -415 AND -416 SWAP1 -417 DUP4 -418 PUSH20 0xffffffffffffffffffffffffffffffffffffffff -439 AND -440 MUL -441 OR -442 SWAP1 -443 SSTORE -444 POP -445 JUMPDEST -446 POP -447 JUMP -448 ASSERT_FAIL -449 LOG2 -450 PUSH6 0x627a7a723158 -457 SHA3 -458 SWAP8 -459 INVALID -460 INVALID -461 SUICIDE -462 INVALID -463 INVALID -464 JUMPDEST -465 BYTE -466 ADDMOD -467 DUP9 -468 SAR -469 SWAP8 -470 DUP4 -471 SDIV -472 PUSH30 0x84ecc75492cf047f03781612060ec80eb564736f6c63430005100032 +376 DUP2 +377 PUSH20 0xffffffffffffffffffffffffffffffffffffffff +398 AND +399 EQ +400 ISZERO +401 ISZERO +402 PUSH2 0x01d6 +405 JUMPI +406 DUP1 +407 PUSH1 0x00 +409 DUP1 +410 PUSH2 0x0100 +413 EXP +414 DUP2 +415 SLOAD +416 DUP2 +417 PUSH20 0xffffffffffffffffffffffffffffffffffffffff +438 MUL +439 NOT +440 AND +441 SWAP1 +442 DUP4 +443 PUSH20 0xffffffffffffffffffffffffffffffffffffffff +464 AND +465 MUL +466 OR +467 SWAP1 +468 SSTORE +469 POP +470 JUMPDEST +471 POP +472 JUMP +473 STOP