bitcoin-sv / sol2scrypt

Solidity to sCrypt Transplier
BSD 3-Clause "New" or "Revised" License
1 stars 0 forks source link

should not always add propagateState #130

Closed zhfnjust closed 2 years ago

zhfnjust commented 2 years ago
pragma solidity ^0.8.10;

contract SimpleStorage {

    function foo() external {

    }
}

should transpile to

contract SimpleStorage {
  public function foo() {
    require(true);
  }

}

but got

contract SimpleStorage {
  public function foo(SigHashPreimage txPreimage) {
    require(this.propagateState(txPreimage));
  }

  function propagateState(SigHashPreimage txPreimage) : bool {
    require(Tx.checkPreimage(txPreimage));
    bytes outputScript = this.getStateScript();
    bytes output = Utils.buildOutput(outputScript, SigHash.value(txPreimage));
    return hash256(output) == SigHash.hashOutputs(txPreimage);
  }
}
zhfnjust commented 2 years ago

this is expected result