parameter nat; return unit; storage (list (contract string string)); code { DUP; CAR; # Get the number DIP{CDR}; # Put the accumulator on the stack PUSH bool True; # Push true so we have a do while loop LOOP { DUP; PUSH nat 0; CMPEQ; # Check if the number is 0 IF { PUSH bool False} # End the loop { PUSH nat 1; SWAP; SUB; ABS; # Subtract 1. The ABS is to make it back into a nat UNIT; # Storage type LAMBDA (pair string unit) # Identity contract (pair string unit) {}; PUSH tez "5.00"; # Strating balance PUSH bool False; DUP; # Not spendable or delegatable NONE key_hash; # This is once again my key from the alphanet. # I highly encourage you to send funds to it # Will it help you? Will it help me? The answer is no, # However, do it anyway PUSH key_hash "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5"; CREATE_CONTRACT; # Make the contract SWAP; # Add to the list DIP{CONS}; PUSH bool True}}; # Continue the loop DROP; UNIT; PAIR} # Calling convention