TimeToCashout.nex 492 B

123456789101112131415161718192021
  1. pragma nexscript >= 0.2.0;
  2. contract TimeToCashout(
  3. pubkey owner,
  4. bytes20 visible recoveryPkh,
  5. int visible gratitude,
  6. int visible timeout,
  7. ) {
  8. function transfer(sig signature) {
  9. require(checkSig(signature, owner));
  10. }
  11. function cashout() {
  12. require(tx.age >= timeout);
  13. bytes23 recoveryBytecode = new LockingBytecodeP2PKT(recoveryPkh);
  14. require(tx.outputs[0].lockingBytecode == recoveryBytecode);
  15. require(tx.outputs[0].value >= tx.amountIn - gratitude);
  16. }
  17. }