pragma nexscript >= 0.2.0; contract TimeToCashout( pubkey owner, bytes20 visible recoveryPkh, int visible gratitude, int visible timeout, ) { function transfer(sig signature) { require(checkSig(signature, owner)); } function cashout() { require(tx.age >= timeout); bytes23 recoveryBytecode = new LockingBytecodeP2PKT(recoveryPkh); require(tx.outputs[0].lockingBytecode == recoveryBytecode); require(tx.outputs[0].value >= tx.amountIn - gratitude); } }