require(exchanges[exchangeId].proposed, "This exchange id does not exist"); require(!exchanges[exchangeId].executed, "Already executed"); require(!exchanges[exchangeId].cancelled, "Execution cancelled"); require(msg.sender == exchanges[exchangeId].executer, "msg.sender must be the executer"); require(block.timestamp.sub(exchanges[exchangeId].proposedTime) < PROPOSALTIME, "Proposal time expired"); if (exchanges[exchangeId].valueProposer > exchanges[exchangeId].valueExecuter){ lockBalance(exchanges[exchangeId].valueProposer.sub(exchanges[exchangeId].valueExecuter)); } lockBattery(exchanges[exchangeId].itemExecuter); finishExchange(exchangeId);
0.4.18