//Write your own contracts here. Currently compiles using solc v0.4.15+commit.bbb8e64f. pragma solidity ^0.4.18; contract seguro { uint256 public precioPrima=0; bool public abierto = false; address public oraculo; address public asegurado; address public asegurador; string public vuelo; bool hayRetraso; uint public saldodeposito =this.balance; //metodo constructor. El asegurador presta su consentimiento, define el oráculo (en este caso, pues en un //supuesto real debería ser v.g. un notario), y el precio de la prima. //el importe de la indemnización se define automáticamente equivale a precioPrima x 10 function seguro(uint256 _precioPrima,address _oraculo, address _asegurado, string _vuelo)public payable { precioPrima=_precioPrima; require(msg.value==precioPrima*10); asegurador=msg.sender; abierto=true; asegurado=_asegurado; oraculo=_oraculo; vuelo=_vuelo; asegurador.balance==asegurador.balance-(precioPrima*10); } function pagarPrima()public payable{ require(msg.value==precioPrima); asegurado=msg.sender; abierto=false; } function llamaoraculo ()public { //require(abierto==false); //require(msg.sender==oraculo); if hayRetraso==true{ asegurado.transfer(this.balance-precioPrima) } else{asegurador.transfer(this.balance) } } }
0.4.18