I've compiled contract from https://theethereum.wiki/w/index.php/ERC20_Token_Standard (Sample Fixed Supply Token Contract: contract FixedSupplyToken version:0.5.1+commit.c8a2cb62)
I try to make abstract execution of that. But when I've done it, I've discovered that some blocks of code unreachable.
For example:

0281    JUMPDEST
0282    PUSH1 0x40
0284    MLOAD
0285    DUP1
0286    DUP3
0287    ISZERO
0288    ISZERO
0289    ISZERO
028A    ISZERO
028B    DUP2
028C    MSTORE
028D    PUSH1 0x20
028F    ADD
0290    SWAP2
0291    POP
0292    POP
0293    PUSH1 0x40
0295    MLOAD
0296    DUP1
0297    SWAP2
0298    SUB
0299    SWAP1
029A    *RETURN

I can't find from which part of the code, that could have been called. Where did I make mistake?

When I've decompiled that contract I've found the following:

        var1 = 0x0281;
        var2 = 0x04;
        var3 = msg.data.length - var2;

        if(var3 < 0x60) { revert(memory[0x00:0x00]); }

        var1 = func_022B(var2, var3);

Here label_0281 just ignored

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.