x
599
1354
{ parameter (or (or (or (pair %balance_of (list %requests (pair (address %owner) (nat %token_id))) (contract %callback (list (pair (pair %request (address %owner) (nat %token_id)) (nat %balance))))) (nat %burn)) (or (pair %create_token (map %metadata string bytes) (nat %token_id)) (or (nat %lock_mint) (pair %mint (list %mint_items (pair (nat %amount) (address %to_))) (nat %token_id))))) (or (or (address %set_administrator) (map %set_metadata string bytes)) (or (list %transfer (pair (address %from_) (list %txs (pair (address %to_) (pair (nat %token_id) (nat %amount)))))) (or (list %update_operators (or (pair %add_operator (address %owner) (pair (address %operator) (nat %token_id))) (pair %remove_operator (address %owner) (pair (address %operator) (nat %token_id))))) (pair %update_token_metadata (map %metadata string bytes) (nat %token_id)))))) ; storage (pair (address %administrator) (pair (big_map %ledger (pair address nat) nat) (pair (big_map %metadata string bytes) (pair (big_map %mint_locked nat bool) (pair (nat %next_token_id) (pair (big_map %operators (pair (address %owner) (pair (address %operator) (nat %token_id))) unit) (pair (big_map %supply nat nat) (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes)))))))))) ; code { LAMBDA (pair (pair (lambda (pair nat (pair address (pair (big_map (pair address nat) nat) (pair (big_map string bytes) (pair (big_map nat bool) (pair nat (pair (big_map (pair address (pair address nat)) unit) (pair (big_map nat nat) (big_map nat (pair nat (map string bytes))))))))))) (pair bool (pair address (pair (big_map (pair address nat) nat) (pair (big_map string bytes) (pair (big_map nat bool) (pair nat (pair (big_map (pair address (pair address nat)) unit) (pair (big_map nat nat) (big_map nat (pair nat (map string bytes)))))))))))) (pair address nat)) (pair address (pair (big_map (pair address nat) nat) (pair (big_map string bytes) (pair (big_map nat bool) (pair nat (pair (big_map (pair address (pair address nat)) unit) (pair (big_map nat nat) (big_map nat (pair nat (map string bytes))))))))))) (pair nat (pair address (pair (big_map (pair address nat) nat) (pair (big_map string bytes) (pair (big_map nat bool) (pair nat (pair (big_map (pair address (pair address nat)) unit) (pair (big_map nat nat) (big_map nat (pair nat (map string bytes))))))))))) { UNPAIR ; UNPAIR ; SWAP ; DUP ; CDR ; DIG 2 ; DIG 3 ; DIG 2 ; PAIR ; EXEC ; UNPAIR ; SWAP ; DUG 2 ; IF {} { PUSH string "FA2_TOKEN_UNDEFINED" ; FAILWITH } ; SWAP ; DUP ; GET 3 ; DIG 2 ; GET ; IF_NONE { PUSH nat 0 } {} ; PAIR } ; SWAP ; LAMBDA (pair address (pair address nat)) unit { CAR ; SENDER ; COMPARE ; EQ ; IF {} { PUSH string "FA2_NOT_OWNER" ; FAILWITH } ; UNIT } ; SWAP ; LAMBDA (pair (pair address (pair address nat)) (pair address (pair (big_map (pair address nat) nat) (pair (big_map string bytes) (pair (big_map nat bool) (pair nat (pair (big_map (pair address (pair address nat)) unit) (pair (big_map nat nat) (big_map nat (pair nat (map string bytes))))))))))) (pair unit (pair address (pair (big_map (pair address nat) nat) (pair (big_map string bytes) (pair (big_map nat bool) (pair nat (pair (big_map (pair address (pair address nat)) unit) (pair (big_map nat nat) (big_map nat (pair nat (map string bytes))))))))))) { UNPAIR ; DUP ; CAR ; SENDER ; COMPARE ; EQ ; IF { DROP ; PUSH bool True } { DUP 2 ; GET 11 ; DUP 2 ; GET 4 ; SENDER ; DIG 3 ; CAR ; PAIR 3 ; MEM } ; IF {} { PUSH string "FA2_NOT_OPERATOR" ; FAILWITH } ; UNIT ; PAIR } ; SWAP ; LAMBDA (pair unit (pair address (pair (big_map (pair address nat) nat) (pair (big_map string bytes) (pair (big_map nat bool) (pair nat (pair (big_map (pair address (pair address nat)) unit) (pair (big_map nat nat) (big_map nat (pair nat (map string bytes))))))))))) (pair bool (pair address (pair (big_map (pair address nat) nat) (pair (big_map string bytes) (pair (big_map nat bool) (pair nat (pair (big_map (pair address (pair address nat)) unit) (pair (big_map nat nat) (big_map nat (pair nat (map string bytes))))))))))) { CDR ; DUP ; CAR ; SENDER ; COMPARE ; EQ ; PAIR } ; SWAP ; LAMBDA (pair nat (pair address (pair (big_map (pair address nat) nat) (pair (big_map string bytes) (pair (big_map nat bool) (pair nat (pair (big_map (pair address (pair address nat)) unit) (pair (big_map nat nat) (big_map nat (pair nat (map string bytes))))))))))) (pair bool (pair address (pair (big_map (pair address nat) nat) (pair (big_map string bytes) (pair (big_map nat bool) (pair nat (pair (big_map (pair address (pair address nat)) unit) (pair (big_map nat nat) (big_map nat (pair nat (map string bytes))))))))))) { UNPAIR ; SWAP ; DUP ; GET 14 ; DIG 2 ; MEM ; PAIR } ; SWAP ; LAMBDA (pair (pair address (pair address nat)) (pair address (pair (big_map (pair address nat) nat) (pair (big_map string bytes) (pair (big_map nat bool) (pair nat (pair (big_map (pair address (pair address nat)) unit) (pair (big_map nat nat) (big_map nat (pair nat (map string bytes))))))))))) (pair bool (pair address (pair (big_map (pair address nat) nat) (pair (big_map string bytes) (pair (big_map nat bool) (pair nat (pair (big_map (pair address (pair address nat)) unit) (pair (big_map nat nat) (big_map nat (pair nat (map string bytes))))))))))) { UNPAIR ; SWAP ; DUP ; GET 11 ; DIG 2 ; MEM ; PAIR } ; SWAP ; LAMBDA (pair (pair (lambda (pair nat (pair address (pair (big_map (pair address nat) nat) (pair (big_map string bytes) (pair (big_map nat bool) (pair nat (pair (big_map (pair address (pair address nat)) unit) (pair (big_map nat nat) (big_map nat (pair nat (map string bytes))))))))))) (pair bool (pair address (pair (big_map (pair address nat) nat) (pair (big_map string bytes) (pair (big_map nat bool) (pair nat (pair (big_map (pair address (pair address nat)) unit) (pair (big_map nat nat) (big_map nat (pair nat (map string bytes)))))))))))) nat) (pair address (pair (big_map (pair address nat) nat) (pair (big_map string bytes) (pair (big_map nat bool) (pair nat (pair (big_map (pair address (pair address nat)) unit) (pair (big_map nat nat) (big_map nat (pair nat (map string bytes))))))))))) (pair nat (pair address (pair (big_map (pair address nat) nat) (pair (big_map string bytes) (pair (big_map nat bool) (pair nat (pair (big_map (pair address (pair address nat)) unit) (pair (big_map nat nat) (big_map nat (pair nat (map string bytes))))))))))) { UNPAIR ; UNPAIR ; DUP 2 ; SWAP ; DIG 3 ; DIG 2 ; PAIR ; EXEC ; UNPAIR ; SWAP ; DUG 2 ; IF {} { PUSH string "FA2_TOKEN_UNDEFINED" ; FAILWITH } ; SWAP ; DUP ; GET 13 ; DIG 2 ; GET ; IF_NONE { PUSH int 444 ; FAILWITH } {} ; PAIR } ; SWAP ; LAMBDA (pair (pair address (pair address (pair nat nat))) (pair address (pair (big_map (pair address nat) nat) (pair (big_map string bytes) (pair (big_map nat bool) (pair nat (pair (big_map (pair address (pair address nat)) unit) (pair (big_map nat nat) (big_map nat (pair nat (map string bytes))))))))))) (pair unit (pair address (pair (big_map (pair address nat) nat) (pair (big_map string bytes) (pair (big_map nat bool) (pair nat (pair (big_map (pair address (pair address nat)) unit) (pair (big_map nat nat) (big_map nat (pair nat (map string bytes))))))))))) { UNPAIR ; DUP ; GET 5 ; DUP 2 ; CAR ; PAIR ; DUP 3 ; DUP ; GET 3 ; DUP 4 ; GET 6 ; DIG 5 ; GET 3 ; DUP 5 ; GET ; IF_NONE { PUSH nat 0 } {} ; SUB ; ISNAT ; IF_NONE { PUSH string "FA2_INSUFFICIENT_BALANCE" ; FAILWITH } {} ; SOME ; DIG 3 ; UPDATE ; UPDATE 3 ; SWAP ; DUP ; GET 5 ; DUP 2 ; GET 3 ; PAIR ; DUP 3 ; DUP ; GET 3 ; DIG 3 ; GET 6 ; DIG 4 ; GET 3 ; DUP 5 ; GET ; IF_NONE { PUSH nat 0 } {} ; ADD ; SOME ; DIG 3 ; UPDATE ; UPDATE 3 ; UNIT ; PAIR } ; SWAP ; PUSH bool True ; DUP ; PUSH string "OwnerOrOperatorTransfer" ; PAIR 3 ; PUSH string "sp.map[sp.pair[sp.address, sp.nat], sp.address]" ; PAIR ; SWAP ; UNPAIR ; IF_LEFT { IF_LEFT { IF_LEFT { LAMBDA (pair (pair (pair address nat) (pair (lambda (pair nat (pair address (pair (big_map (pair address nat) nat) (pair (big_map string bytes) (pair (big_map nat bool) (pair nat (pair (big_map (pair address (pair address nat)) unit) (pair (big_map nat nat) (big_map nat (pair nat (map string bytes))))))))))) (pair bool (pair address (pair (big_map (pair address nat) nat) (pair (big_map string bytes) (pair (big_map nat bool) (pair nat (pair (big_map (pair address (pair address nat)) unit) (pair (big_map nat nat) (big_map nat (pair nat (map string bytes)))))))))))) (lambda (pair (pair (lambda (pair nat (pair address (pair (big_map (pair address nat) nat) (pair (big_map string bytes) (pair (big_map nat bool) (pair nat (pair (big_map (pair address (pair address nat)) unit) (pair (big_map nat nat) (big_map nat (pair nat (map string bytes))))))))))) (pair bool (pair address (pair (big_map (pair address nat) nat) (pair (big_map string bytes) (pair (big_map nat bool) (pair nat (pair (big_map (pair address (pair address nat)) unit) (pair (big_map nat nat) (big_map nat (pair nat (map string bytes)))))))))))) (pair address nat)) (pair address (pair (big_map (pair address nat) nat) (pair (big_map string bytes) (pair (big_map nat bool) (pair nat (pair (big_map (pair address (pair address nat)) unit) (pair (big_map nat nat) (big_map nat (pair nat (map string bytes))))))))))) (pair nat (pair address (pair (big_map (pair address nat) nat) (pair (big_map string bytes) (pair (big_map nat bool) (pair nat (pair (big_map (pair address (pair address nat)) unit) (pair (big_map nat nat) (big_map nat (pair nat (map string bytes)))))))))))))) (pair address (pair (big_map (pair address nat) nat) (pair (big_map string bytes) (pair (big_map nat bool) (pair nat (pair (big_map (pair address (pair address nat)) unit) (pair (big_map nat nat) (big_map nat (pair nat (map string bytes))))))))))) (pair (pair (pair address nat) nat) (pair address (pair (big_map (pair address nat) nat) (pair (big_map string bytes) (pair (big_map nat bool) (pair nat (pair (big_map (pair address (pair address nat)) unit) (pair (big_map nat nat) (big_map nat (pair nat (map string bytes))))))))))) { UNPAIR ; UNPAIR 3 ; DIG 2 ; DUP 2 ; DIG 3 ; PAIR ; SWAP ; DIG 3 ; DIG 2 ; PAIR ; EXEC ; UNPAIR ; SWAP ; DUG 2 ; SWAP ; PAIR ; PAIR } ; DUP 2 ; CAR ; MAP { DUP 2 ; DUP 14 ; DUP 11 ; PAIR ; DIG 2 ; PAIR ; SWAP ; DIG 4 ; DIG 2 ; PAIR ; EXEC ; UNPAIR ; DUG 12 ; DUG 12 ; DUG 12 ; DUG 12 ; DIG 10 ; DIG 12 ; DIG 12 ; DIG 12 } ; SWAP ; DROP ; DIG 3 ; DROP ; DIG 3 ; DROP ; DIG 3 ; DROP ; DIG 3 ; DROP ; DIG 3 ; DROP ; DIG 3 ; DROP ; DIG 3 ; DROP ; DIG 3 ; DROP ; DIG 3 ; DROP ; NIL operation ; DIG 2 ; CDR ; PUSH mutez 0 ; DIG 3 ; TRANSFER_TOKENS ; CONS } { DIG 2 ; DROP ; DIG 2 ; DROP ; DIG 2 ; DROP ; DIG 2 ; DROP ; DIG 2 ; DROP ; DIG 2 ; DROP ; DIG 2 ; DROP ; DIG 2 ; DROP ; DIG 2 ; DROP ; DUP 2 ; CAR ; SENDER ; COMPARE ; EQ ; IF {} { PUSH string "FA2_NOT_ADMIN" ; FAILWITH } ; DUP 2 ; GET 13 ; DUP 2 ; MEM ; IF { PUSH nat 0 ; DUP 3 ; GET 13 ; DUP 3 ; GET ; IF_NONE { PUSH int 75 ; FAILWITH } {} ; COMPARE ; EQ } { PUSH bool True } ; IF {} { PUSH string "TOKEN_MINTED" ; FAILWITH } ; SWAP ; DUP ; GET 14 ; NONE (pair nat (map string bytes)) ; DUP 4 ; UPDATE ; UPDATE 14 ; SWAP ; DUP 2 ; GET 7 ; DUP 2 ; MEM ; IF { SWAP ; DUP ; GET 7 ; NONE bool ; DIG 3 ; UPDATE ; UPDATE 7 } { DROP } ; NIL operation } } { DIG 2 ; DROP ; DIG 2 ; DROP ; DIG 2 ; DROP ; DIG 2 ; DROP ; DIG 2 ; DROP ; DIG 2 ; DROP ; DIG 2 ; DROP ; DIG 2 ; DROP ; DIG 2 ; DROP ; IF_LEFT { DUP 2 ; CAR ; SENDER ; COMPARE ; EQ ; IF {} { PUSH string "FA2_NOT_ADMIN" ; FAILWITH } ; DUP 2 ; GET 14 ; DUP 2 ; CDR ; MEM ; IF { PUSH string "TOKEN_ALREADY_EXISTS" ; FAILWITH } {} ; SWAP ; DUP ; GET 14 ; DUP 3 ; CAR ; DUP 4 ; CDR ; PAIR ; SOME ; DIG 3 ; CDR ; UPDATE ; UPDATE 14 } { IF_LEFT { DUP 2 ; CAR ; SENDER ; COMPARE ; EQ ; IF {} { PUSH string "FA2_NOT_ADMIN" ; FAILWITH } ; SWAP ; DUP ; GET 7 ; PUSH (option bool) (Some True) ; DIG 3 ; UPDATE ; UPDATE 7 } { DUP 2 ; CAR ; SENDER ; COMPARE ; EQ ; IF {} { PUSH string "FA2_NOT_ADMIN" ; FAILWITH } ; DUP 2 ; GET 7 ; DUP 2 ; CDR ; GET ; IF_NONE { PUSH bool False } {} ; IF { PUSH string "MINT_LOCKED" ; FAILWITH } {} ; PUSH nat 0 ; DUP 2 ; CAR ; ITER { DUP 3 ; CDR ; DUP 2 ; CDR ; PAIR ; DUP 5 ; GET 3 ; DUP 2 ; GET ; IF_NONE { PUSH nat 0 } {} ; DIG 5 ; DUP ; GET 3 ; DUP 5 ; CAR ; DIG 3 ; ADD ; SOME ; DIG 3 ; UPDATE ; UPDATE 3 ; DUG 3 ; CAR ; ADD } ; DUP 3 ; DUP ; GET 13 ; DIG 2 ; DIG 4 ; GET 13 ; DUP 5 ; CDR ; GET ; IF_NONE { PUSH nat 0 } {} ; ADD ; SOME ; DIG 3 ; CDR ; UPDATE ; UPDATE 13 } } ; NIL operation } } { IF_LEFT { IF_LEFT { DIG 2 ; DROP ; DIG 2 ; DROP ; DIG 2 ; DROP ; DIG 2 ; DROP ; DIG 2 ; DROP ; DIG 3 ; DROP ; DIG 3 ; DROP ; DIG 3 ; DROP ; DIG 2 ; UNIT ; SWAP ; DIG 3 ; DIG 2 ; PAIR ; EXEC ; UNPAIR ; SWAP ; DUG 2 ; IF {} { PUSH string "FA2_NOT_ADMIN" ; FAILWITH } ; UPDATE 1 } { DUP 2 ; CAR ; SENDER ; COMPARE ; EQ ; IF {} { PUSH string "FA2_NOT_ADMIN" ; FAILWITH } ; DUP ; ITER { DIG 2 ; DUP ; GET 5 ; DUP 3 ; CDR ; SOME ; DIG 3 ; CAR ; UPDATE ; UPDATE 5 ; SWAP } ; DROP ; SWAP ; DROP ; SWAP ; DROP ; SWAP ; DROP ; SWAP ; DROP ; SWAP ; DROP ; SWAP ; DROP ; SWAP ; DROP ; SWAP ; DROP ; SWAP ; DROP } } { IF_LEFT { DUP 3 ; GET 6 ; IF { DUP ; ITER { DUP ; CDR ; ITER { DUP 9 ; SWAP ; DUP ; GET 3 ; DIG 2 ; DIG 5 ; DIG 2 ; PAIR ; EXEC ; UNPAIR ; DUG 13 ; DUG 13 ; DUG 13 ; DUG 13 ; DUG 13 ; DIG 10 ; DIG 13 ; DIG 13 ; DIG 13 ; DIG 13 ; IF {} { PUSH string "FA2_TOKEN_UNDEFINED" ; FAILWITH } ; DUP 11 ; DUP 2 ; GET 3 ; DUP 3 ; CAR ; DUP 5 ; CAR ; PAIR 3 ; SWAP ; DIG 5 ; DIG 2 ; PAIR ; EXEC ; CDR ; DUG 12 ; DUG 12 ; DUG 12 ; DUG 12 ; DIG 9 ; DIG 12 ; DIG 12 ; DIG 12 ; PUSH nat 0 ; DUP 2 ; GET 4 ; COMPARE ; GT ; IF { DUP 2 ; CAR ; PAIR ; DUP 6 ; DIG 4 ; DIG 2 ; PAIR ; EXEC ; CDR ; DUG 11 ; DUG 11 ; DUG 11 ; DIG 9 ; DIG 11 ; DIG 11 } { DROP } } ; DROP } ; DROP ; SWAP ; DROP ; SWAP ; DROP ; SWAP ; DROP ; SWAP ; DROP ; SWAP ; DROP ; SWAP ; DROP ; SWAP ; DROP ; SWAP ; DROP ; SWAP ; DROP } { PUSH string "FA2_TX_DENIED" ; FAILWITH } } { IF_LEFT { DUP 3 ; GET 5 ; IF { DUP ; ITER { IF_LEFT { DUP 11 ; DUP 2 ; EXEC ; DROP ; DIG 2 ; DUP ; GET 11 ; PUSH (option unit) (Some Unit) ; DIG 3 ; UPDATE ; UPDATE 11 ; SWAP } { DUP 11 ; DUP 2 ; EXEC ; DROP ; DIG 2 ; DUP ; GET 11 ; NONE unit ; DIG 3 ; UPDATE ; UPDATE 11 ; SWAP } } ; DROP ; SWAP ; DROP ; SWAP ; DROP ; SWAP ; DROP ; SWAP ; DROP ; SWAP ; DROP ; SWAP ; DROP ; SWAP ; DROP ; SWAP ; DROP ; SWAP ; DROP } { PUSH string "FA2_OPERATORS_UNSUPPORTED" ; FAILWITH } } { DIG 2 ; DROP ; DIG 2 ; DROP ; DIG 2 ; DROP ; DIG 2 ; DROP ; DIG 2 ; DROP ; DIG 2 ; DROP ; DIG 2 ; DROP ; DIG 2 ; DROP ; DIG 2 ; DROP ; DUP 2 ; CAR ; SENDER ; COMPARE ; EQ ; IF {} { PUSH string "FA2_NOT_ADMIN" ; FAILWITH } ; DUP 2 ; GET 14 ; DUP 2 ; CDR ; MEM ; IF {} { PUSH string "TOKEN_UNDEFINED" ; FAILWITH } ; SWAP ; DUP ; GET 14 ; DUP ; DUP 4 ; CDR ; DUP ; DUG 2 ; GET ; IF_NONE { PUSH int 38 ; FAILWITH } {} ; DIG 4 ; CAR ; UPDATE 2 ; SOME ; SWAP ; UPDATE ; UPDATE 14 } } } ; NIL operation } ; PAIR } ; view "get_metadata" string bytes { UNPAIR ; SWAP ; GET 5 ; SWAP ; GET ; IF_NONE { PUSH int 82 ; FAILWITH } {} } ; view "get_balance_of" (list (pair (address %owner) (nat %token_id))) (list (pair (pair %request (address %owner) (nat %token_id)) (nat %balance))) { UNPAIR ; LAMBDA (pair (pair (lambda (pair nat (pair address (pair (big_map (pair address nat) nat) (pair (big_map string bytes) (pair (big_map nat bool) (pair nat (pair (big_map (pair address (pair address nat)) unit) (pair (big_map nat nat) (big_map nat (pair nat (map string bytes))))))))))) (pair bool (pair address (pair (big_map (pair address nat) nat) (pair (big_map string bytes) (pair (big_map nat bool) (pair nat (pair (big_map (pair address (pair address nat)) unit) (pair (big_map nat nat) (big_map nat (pair nat (map string bytes)))))))))))) (pair address nat)) (pair address (pair (big_map (pair address nat) nat) (pair (big_map string bytes) (pair (big_map nat bool) (pair nat (pair (big_map (pair address (pair address nat)) unit) (pair (big_map nat nat) (big_map nat (pair nat (map string bytes))))))))))) (pair nat (pair address (pair (big_map (pair address nat) nat) (pair (big_map string bytes) (pair (big_map nat bool) (pair nat (pair (big_map (pair address (pair address nat)) unit) (pair (big_map nat nat) (big_map nat (pair nat (map string bytes))))))))))) { UNPAIR ; UNPAIR ; SWAP ; DUP ; CDR ; DIG 2 ; DIG 3 ; DIG 2 ; PAIR ; EXEC ; UNPAIR ; SWAP ; DUG 2 ; IF {} { PUSH string "FA2_TOKEN_UNDEFINED" ; FAILWITH } ; SWAP ; DUP ; GET 3 ; DIG 2 ; GET ; IF_NONE { PUSH nat 0 } {} ; PAIR } ; SWAP ; LAMBDA (pair nat (pair address (pair (big_map (pair address nat) nat) (pair (big_map string bytes) (pair (big_map nat bool) (pair nat (pair (big_map (pair address (pair address nat)) unit) (pair (big_map nat nat) (big_map nat (pair nat (map string bytes))))))))))) (pair bool (pair address (pair (big_map (pair address nat) nat) (pair (big_map string bytes) (pair (big_map nat bool) (pair nat (pair (big_map (pair address (pair address nat)) unit) (pair (big_map nat nat) (big_map nat (pair nat (map string bytes))))))))))) { UNPAIR ; SWAP ; DUP ; GET 14 ; DIG 2 ; MEM ; PAIR } ; SWAP ; LAMBDA (pair (pair (pair address nat) (pair (lambda (pair nat (pair address (pair (big_map (pair address nat) nat) (pair (big_map string bytes) (pair (big_map nat bool) (pair nat (pair (big_map (pair address (pair address nat)) unit) (pair (big_map nat nat) (big_map nat (pair nat (map string bytes))))))))))) (pair bool (pair address (pair (big_map (pair address nat) nat) (pair (big_map string bytes) (pair (big_map nat bool) (pair nat (pair (big_map (pair address (pair address nat)) unit) (pair (big_map nat nat) (big_map nat (pair nat (map string bytes)))))))))))) (lambda (pair (pair (lambda (pair nat (pair address (pair (big_map (pair address nat) nat) (pair (big_map string bytes) (pair (big_map nat bool) (pair nat (pair (big_map (pair address (pair address nat)) unit) (pair (big_map nat nat) (big_map nat (pair nat (map string bytes))))))))))) (pair bool (pair address (pair (big_map (pair address nat) nat) (pair (big_map string bytes) (pair (big_map nat bool) (pair nat (pair (big_map (pair address (pair address nat)) unit) (pair (big_map nat nat) (big_map nat (pair nat (map string bytes)))))))))))) (pair address nat)) (pair address (pair (big_map (pair address nat) nat) (pair (big_map string bytes) (pair (big_map nat bool) (pair nat (pair (big_map (pair address (pair address nat)) unit) (pair (big_map nat nat) (big_map nat (pair nat (map string bytes))))))))))) (pair nat (pair address (pair (big_map (pair address nat) nat) (pair (big_map string bytes) (pair (big_map nat bool) (pair nat (pair (big_map (pair address (pair address nat)) unit) (pair (big_map nat nat) (big_map nat (pair nat (map string bytes)))))))))))))) (pair address (pair (big_map (pair address nat) nat) (pair (big_map string bytes) (pair (big_map nat bool) (pair nat (pair (big_map (pair address (pair address nat)) unit) (pair (big_map nat nat) (big_map nat (pair nat (map string bytes))))))))))) (pair (pair (pair address nat) nat) (pair address (pair (big_map (pair address nat) nat) (pair (big_map string bytes) (pair (big_map nat bool) (pair nat (pair (big_map (pair address (pair address nat)) unit) (pair (big_map nat nat) (big_map nat (pair nat (map string bytes))))))))))) { UNPAIR ; UNPAIR 3 ; DIG 2 ; DUP 2 ; DIG 3 ; PAIR ; SWAP ; DIG 3 ; DIG 2 ; PAIR ; EXEC ; UNPAIR ; SWAP ; DUG 2 ; SWAP ; PAIR ; PAIR } ; DUP 2 ; MAP { DUP 2 ; DUP 6 ; DUP 6 ; PAIR ; DIG 2 ; PAIR ; SWAP ; DIG 6 ; DIG 2 ; PAIR ; EXEC ; UNPAIR ; SWAP ; DUG 5 } ; SWAP ; DROP ; SWAP ; DROP ; SWAP ; DROP ; SWAP ; DROP ; SWAP ; DROP } }