x
54
{ parameter (list %add_tokens (pair (address %fa2) (nat %token_id))) ; storage (pair (address %admin) (big_map %tokens address (set nat))) ; code { UNPAIR ; SWAP ; DUP ; DUG 2 ; CAR ; SENDER ; COMPARE ; EQ ; IF {} { PUSH string "NOT_ADMIN" ; FAILWITH } ; DUP ; ITER { DUP 3 ; CDR ; SWAP ; DUP ; DUG 2 ; CAR ; MEM ; IF {} { DIG 2 ; DUP ; CDR ; PUSH (option (set nat)) (Some {}) ; DUP 4 ; CAR ; UPDATE ; UPDATE 2 ; DUG 2 } ; DIG 2 ; DUP ; CDR ; DUP ; DUP 4 ; CAR ; DUP ; DUG 2 ; GET ; IF_NONE { PUSH int 25 ; FAILWITH } {} ; PUSH bool True ; DIG 5 ; CDR ; UPDATE ; SOME ; SWAP ; UPDATE ; UPDATE 2 ; SWAP } ; DROP ; NIL operation ; PAIR } ; view "check_token" (pair (address %fa2) (nat %token_id)) bool { UNPAIR ; SWAP ; CDR ; SWAP ; DUP ; DUG 2 ; CAR ; GET ; IF_NONE { EMPTY_SET nat } {} ; SWAP ; CDR ; MEM } }