From f5fc3c304d4c285e392eb20936bac66fe604ffa9 Mon Sep 17 00:00:00 2001 From: Bernhard Mueller Date: Fri, 20 Mar 2020 11:12:34 +0100 Subject: [PATCH] Also update origin.sol.easm --- .../outputs_expected/origin.sol.o.easm | 541 ++++++++++++------ 1 file changed, 380 insertions(+), 161 deletions(-) diff --git a/tests/testdata/outputs_expected/origin.sol.o.easm b/tests/testdata/outputs_expected/origin.sol.o.easm index e1bffe10..317a337c 100644 --- a/tests/testdata/outputs_expected/origin.sol.o.easm +++ b/tests/testdata/outputs_expected/origin.sol.o.easm @@ -1,168 +1,387 @@ -0 PUSH1 0x60 +0 PUSH1 0x80 2 PUSH1 0x40 4 MSTORE -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 +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 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 +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 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 +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 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 +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