We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ERROR: JUMPI destination is null.
ABI='[{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"isbuyable","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"capaccount","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"ensureTXable","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_capaccount","type":"address"}],"name":"setCAPaccount","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_opexaccount","type":"address"}],"name":"setOPEXacount","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"buyPrice","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_ratio","type":"uint256"}],"name":"setOPEXRatio","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"opexaccount","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_set","type":"bool"},{"name":"_finneyprice","type":"uint256"}],"name":"setIsBuyable","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"buy","outputs":[],"payable":true,"type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"opexratio","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"minimumBalanceInFinney","type":"uint256"}],"name":"setMinBalance","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"type":"function"},{"payable":true,"type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_'rom","type":"address"},{"indexed":true,"name":"_to","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Transfer","type":"event"}] BIN=0x606060405236156100f8576000357c01000000000000000000000000000000000000000000000000000000009004806318160ddd1461010157806323b872dd146101295780632c51302a1461016e57806349fc06be146101985780634a501381146101d6578063545743a8146101ea57806370a082311461020757806385ac9f6a146102385780638620410b146102555780638da5cb5b1461027d5780639c243f14146102bb5780639c38cd00146102d85780639dda87ac14610316578063a6f2ae3a1461033c578063a9059cbb1461034b578063b1c7a62314610387578063c91d956c146103af578063f2fde38b146103cc576100f8565b6100ff5b5b565b005b346100025761011360048050506103e9565b6040518082815260200191505060405180910390f35b346100025761015660048080359060200190919080359060200190919080359060200190919050506103f2565b60405180821515815260200191505060405180910390f35b34610002576101806004805050610533565b60405180821515815260200191505060405180910390f35b34610002576101aa6004805050610546565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34610002576101e8600480505061056c565b005b346100025761020560048080359060200190919050506105e1565b005b3461000257610222600480803590602001909190505061067f565b6040518082815260200191505060405180910390f35b346100025761025360048080359060200190919050506106bd565b005b3461000257610267600480505061075b565b6040518082815260200191505060405180910390f35b346100025761028f6004805050610764565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34610002576102d6600480803590602001909190505061078a565b005b34610002576102ea60048050506107f5565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b346100025761033a600480803590602001909190803590602001909190505061081b565b005b61034960048050506108cd565b005b346100025761036f6004808035906020019091908035906020019091905050610b8c565b60405180821515815260200191505060405180910390f35b34610002576103996004805050610cd4565b6040518082815260200191505060405180910390f35b34610002576103ca6004808035906020019091905050610cdd565b005b34610002576103e76004808035906020019091905050610d51565b005b60036000505481565b600081600660005060008673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060005054101580156104335750600082115b156105225781600660005060008573ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282825054019250508190555081600660005060008673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828282505403925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905061052c5661052b565b6000905061052c565b5b9392505050565b600060149054906101000a900460ff1681565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6007600050543373ffffffffffffffffffffffffffffffffffffffff163110156105de573373ffffffffffffffffffffffffffffffffffffffff166108fc6007600050549081150290604051809050600060405180830381858888f1935050505015156105dc57610002566105dd565b5b5b5b565b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561063d57610002565b80600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff02191690836c010000000000000000000000009081020402179055505b5b50565b6000600660005060008373ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000505490506106b8565b919050565b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561071957610002565b80600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff02191690836c010000000000000000000000009081020402179055505b5b50565b60016000505481565b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156107e657610002565b806002600050819055505b5b50565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561087757610002565b81600060146101000a81548160ff02191690837f010000000000000000000000000000000000000000000000000000000000000090810204021790555066038d7ea4c6800081026001600050819055505b5b5050565b6000600060149054906101000a900460ff16151561094b57600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051809050600060405180830381858888f19350505050151561094a57610002565b5b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc60026000505434811561000257049081150290604051809050600060405180830381858888f1935050505015156109bd57610002565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc600260005054348115610002570434039081150290604051809050600060405180830381858888f193505050501515610a3157610002565b6001600050543481156100025704905080600660005060003373ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828282505401925050819055508060036000828282505401925050819055503373ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60026000505484811561000257046040518082815260200191505060405180910390a35b50565b600081600660005060003373ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000505410158015610bcd5750600082115b15610cc45781600660005060003373ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282825054039250508190555081600660005060008573ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828282505401925050819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3610cb761056c565b60019050610cce56610ccd565b60009050610cce565b5b92915050565b60026000505481565b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d3957610002565b66038d7ea4c6800081026007600050819055505b5b50565b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610dad57610002565b80600060006101000a81548173ffffffffffffffffffffffffffffffffffffffff02191690836c010000000000000000000000009081020402179055505b5b5056
The command I am using is:
./porosity --abi $ABI --code $BIN --decompile
But the output contains a lot of errors and I definitely get an impression that some parts of the code are missing, for example in the buy() function:
buy()
Porosity v0.1 (https://www.comae.io) Matt Suiche, Comae Technologies <[email protected]> The Ethereum bytecode commandline decompiler. Decompiles the given Ethereum input bytecode and outputs the Solidity code. Attempting to parse ABI definition... Success. Hash: 0x18160DDD ERROR: JUMPI destination is null. function totalSupply() { return store_3; } LOC: 3 Hash: 0x23B872DD ERROR: JUMPI destination is null. function transferFrom(address,address,uint256) { if (!(arg_44 > 0x0)) { } store[arg_24] = store[arg_24] + arg_44; store[arg_4] = store[arg_4] - arg_44; memory[0x40] = 0x1; return memory[0x40]; } LOC: 8 Hash: 0x2C51302A ERROR: JUMPI destination is null. function isbuyable() { memory[0x40] = 0x0; return memory[0x40]; } LOC: 4 Hash: 0x49FC06BE ERROR: JUMPI destination is null. function capaccount() { return store_4; } LOC: 3 Hash: 0x4A501381 ERROR: JUMPI destination is null. executeInstruction: NOT_IMPLEMENTED: BALANCE function ensureTXable() { if (!store_7) { } return; } LOC: 5 Hash: 0x545743A8 ERROR: JUMPI destination is null. function setCAPaccount(address) { if (msg.sender == store_0) { store[var_9Uy7y] = arg_4 * 0x1; } } LOC: 5 Hash: 0x70A08231 ERROR: JUMPI destination is null. function balanceOf(address) { return store[arg_4]; } LOC: 3 Hash: 0x85AC9F6A ERROR: JUMPI destination is null. function setOPEXacount(address) { if (msg.sender == store_0) { store[var_S4Af4] = arg_4 * 0x1; } } LOC: 5 Hash: 0x8620410B ERROR: JUMPI destination is null. function buyPrice() { return store_1; } LOC: 3 Hash: 0x8DA5CB5B ERROR: JUMPI destination is null. function owner() { return store_0; } LOC: 3 Hash: 0x9C243F14 ERROR: JUMPI destination is null. function setOPEXRatio(uint256) { if (msg.sender == store_0) { store[var_M9mx1] = arg_4; } } LOC: 5 Hash: 0x9C38CD00 ERROR: JUMPI destination is null. function opexaccount() { return store_5; } LOC: 3 Hash: 0x9DDA87AC ERROR: JUMPI destination is null. function setIsBuyable(bool,uint256) { if (msg.sender == store_0) { store[var_ekIRj] = 0x60000000000000000000000000000000000000000; store[var_HsnCA] = arg_24 * 0x38D7EA4C68000; } } LOC: 6 Hash: 0xA6F2AE3A ERROR: JUMPI destination is null. ERROR: JUMPI destination is null. ERROR: JUMPI destination is null. ERROR: JUMPI destination is null. ERROR: JUMPI destination is null. ERROR: JUMPI destination is null. ERROR: JUMPI destination is null. ERROR: JUMPI destination is null. function buy() { if (!msg.value) { } } LOC: 4 Hash: 0xA9059CBB ERROR: JUMPI destination is null. executeInstruction: NOT_IMPLEMENTED: BALANCE executeInstruction: NOT_IMPLEMENTED: BALANCE function transfer(address,uint256) { if (!(arg_24 > 0x0)) { } store[msg.sender] = store[msg.sender] - arg_24; store[arg_4] = store[arg_4] + arg_24; if (!store_7) { } memory[0x40] = 0x1; return memory[0x40]; } LOC: 10 Hash: 0xB1C7A623 ERROR: JUMPI destination is null. function opexratio() { return store_2; } LOC: 3 Hash: 0xC91D956C ERROR: JUMPI destination is null. function setMinBalance(uint256) { if (msg.sender == store_0) { store[var_hO1Z4] = arg_4 * 0x38D7EA4C68000; } } LOC: 5 Hash: 0xF2FDE38B ERROR: JUMPI destination is null. function transferOwnership(address) { if (msg.sender == store_0) { store[var_2kEWV] = arg_4 * 0x1; } } LOC: 5
The text was updated successfully, but these errors were encountered:
No branches or pull requests
The command I am using is:
But the output contains a lot of errors and I definitely get an impression that some parts of the code are missing, for example in the
buy()
function:The text was updated successfully, but these errors were encountered: