#pragma version 9 // Verify this is a payment txn TypeEnum int pay == assert // Verify this is not rekeying the sender address txn RekeyTo global ZeroAddress == assert // Verify the sender's account is not being closed txn CloseRemainderTo global ZeroAddress == assert // Verify the receiver is equal to the templated receiver address txn Receiver addr TMPL_RECEIVER == assert // Verify the amount is equal to the templated amount txn Amount int TMPL_AMOUNT == assert // Verify the current round is within 500 rounds of a product of 25_000 global Round int 25_000 % store 0 load 0 int 500 <= load 0 int 24_500 >= || assert // Verify lease txn Lease byte "scheduled 25_000 payment" sha256 ==