You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm testing how porosity performs when dealing with 'inheritance' of contract, so I start with the sample Ethereum contract - Greeter. And I compile the contract using solidity v0.4.9 & v0.4.17 to see if the version affects the result.
In both versions, the decompilation works "fine" for contract Mortal but gets segmentation fault for contract Greeter.
greeter.sol
pragma solidity ^0.4.9;
contract mortal {
/* Define variable owner of the type address */
address owner;
/* This function is executed at initialization and sets the owner of the contract */
function mortal() { owner = msg.sender; }
/* Function to recover the funds on the contract */
function kill() { if (msg.sender == owner) selfdestruct(owner); }
}
contract greeter is mortal {
/* Define variable greeting of the type string */
string greeting;
/* This runs when the contract is executed */
function greeter(string _greeting) public {
greeting = _greeting;
}
/* Main function */
function greet() constant returns (string) {
return greeting;
}
}
result of decompiling mortal
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: 0x41C0E1B5
executeInstruction: NOT_IMPLEMENTED: REVERT
functionkill() {
if (!msg.value) {
}
return;
}
LOC: 5
result of decompiling greeter
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: 0x41C0E1B5
executeInstruction: NOT_IMPLEMENTED: REVERT
functionkill() {
if (!msg.value) {
}
return;
}
LOC: 5
Hash: 0xCFAE3217
executeInstruction: NOT_IMPLEMENTED: REVERT
Segmentation fault (core dumped)
The text was updated successfully, but these errors were encountered:
System Information
Porosity version:
20171027.5
solidity version:
0.4.9+commit.364da425.Linux.g++
&0.4.17+commit.bdeb9e52.Linux.g++
Testing environment: Ubuntu 16.04
Behaviour
I'm testing how porosity performs when dealing with 'inheritance' of contract, so I start with the sample Ethereum contract - Greeter. And I compile the contract using solidity v0.4.9 & v0.4.17 to see if the version affects the result.
In both versions, the decompilation works "fine" for contract
Mortal
but gets segmentation fault for contractGreeter
.greeter.sol
result of decompiling
mortal
result of decompiling
greeter
The text was updated successfully, but these errors were encountered: