x
1029
parameter (or (or (or (unit %claim) (or (unit %default) (nat %deposit))) (or (unit %internal_claim) (or (nat %internal_deposit) (unit %internal_withdraw)))) (or (or (address %propose_administrator) (or (address %remove_administrator) (unit %set_administrator))) (or (or (option %set_delegate key_hash) (nat %set_max_release_period)) (or (list %set_reward_balance (pair (pair %request (address %owner) (nat %token_id)) (nat %balance))) (unit %withdraw)))));storage (pair (pair (pair (big_map %administrators address nat) (pair (nat %current_reward_balance) (nat %dist_factor))) (pair (nat %last_reward_balance) (pair (nat %max_release_period) (address %reward_token_address)))) (pair (pair (nat %reward_token_id) (pair (address %sender) (address %stake_token_address))) (pair (int %stake_token_id) (pair (big_map %stakes address (pair (timestamp %age_timestamp) (pair (nat %dist_factor) (nat %stake)))) (nat %total_stake)))));code { LAMBDA (pair unit (pair (list operation) (pair (pair (pair (big_map address nat) (pair nat nat)) (pair nat (pair nat address))) (pair (pair nat (pair address address)) (pair int (pair (big_map address (pair timestamp (pair nat nat))) nat)))))) (pair unit (pair (list operation) (pair (pair (pair (big_map address nat) (pair nat nat)) (pair nat (pair nat address))) (pair (pair nat (pair address address)) (pair int (pair (big_map address (pair timestamp (pair nat nat))) nat)))))) { CDR ; UNPAIR ; SWAP ; DUP ; DUG 2 ; CAR ; GET 6 ; CONTRACT %balance_of (pair (list %requests (pair (address %owner) (nat %token_id))) (contract %callback (list (pair (pair %request (address %owner) (nat %token_id)) (nat %balance))))) ; IF_NONE { PUSH int 112 ; FAILWITH } {} ; PUSH mutez 0 ; SELF_ADDRESS ; CONTRACT %set_reward_balance (list (pair (pair %request (address %owner) (nat %token_id)) (nat %balance))) ; IF_NONE { PUSH int 115 ; FAILWITH } {} ; NIL (pair address nat) ; DUP 6 ; GET 3 ; CAR ; SELF_ADDRESS ; PAIR ; CONS ; PAIR ; TRANSFER_TOKENS ; CONS ; UNIT ; PAIR 3 } ; SWAP ; LAMBDA (pair unit (pair (list operation) (pair (pair (pair (big_map address nat) (pair nat nat)) (pair nat (pair nat address))) (pair (pair nat (pair address address)) (pair int (pair (big_map address (pair timestamp (pair nat nat))) nat)))))) (pair unit (pair (list operation) (pair (pair (pair (big_map address nat) (pair nat nat)) (pair nat (pair nat address))) (pair (pair nat (pair address address)) (pair int (pair (big_map address (pair timestamp (pair nat nat))) nat)))))) { UNPAIR 3 ; SWAP ; DIG 2 ; DUP ; GET 7 ; SWAP ; DUP ; DUG 4 ; GET 3 ; GET 3 ; MEM ; IF { DIG 2 ; DUP ; GET 7 ; SWAP ; DUP ; DUG 4 ; GET 3 ; GET 3 ; GET ; IF_NONE { PUSH int 150 ; FAILWITH } {} ; DUP ; GET 3 ; PUSH nat 1000000000000 ; SWAP ; DUP 6 ; CAR ; CAR ; GET 4 ; SUB ; ISNAT ; IF_NONE { PUSH int 159 ; FAILWITH } {} ; DUP 3 ; GET 4 ; MUL ; EDIV ; IF_NONE { PUSH int 158 ; FAILWITH } { CAR } ; DIG 4 ; DUP ; CAR ; GET 5 ; SWAP ; DUP ; DUG 6 ; CAR ; GET 5 ; DUP 4 ; CAR ; NOW ; SUB ; ISNAT ; IF_NONE { PUSH int 152 ; FAILWITH } {} ; DUP ; DUP 3 ; COMPARE ; LE ; IF { DROP } { SWAP ; DROP } ; DUP 3 ; MUL ; EDIV ; IF_NONE { PUSH int 164 ; FAILWITH } { CAR } ; DUP ; PUSH nat 0 ; SWAP ; DUP 4 ; SUB ; ISNAT ; IF_NONE { PUSH int 172 ; FAILWITH } {} ; COMPARE ; GT ; IF { DIG 3 ; DUP 6 ; CAR ; GET 6 ; CONTRACT %transfer (list (pair (address %from_) (list %txs (pair (address %to_) (pair (nat %token_id) (nat %amount)))))) ; IF_NONE { PUSH int 36 ; FAILWITH } {} ; PUSH mutez 0 ; NIL (pair address (list (pair address (pair nat nat)))) ; NIL (pair address (pair nat nat)) ; DUP 6 ; DUP 8 ; SUB ; ISNAT ; IF_NONE { PUSH int 172 ; FAILWITH } {} ; DUP 11 ; GET 3 ; CAR ; SELF_ADDRESS ; PAIR 3 ; CONS ; SELF_ADDRESS ; PAIR ; CONS ; TRANSFER_TOKENS ; CONS ; DUG 3 } {} ; DUP ; PUSH nat 0 ; COMPARE ; LT ; IF { DIG 2 ; DROP ; DIG 3 ; DROP ; DIG 2 ; DUP 4 ; CAR ; GET 6 ; CONTRACT %transfer (list (pair (address %from_) (list %txs (pair (address %to_) (pair (nat %token_id) (nat %amount)))))) ; IF_NONE { PUSH int 36 ; FAILWITH } {} ; PUSH mutez 0 ; NIL (pair address (list (pair address (pair nat nat)))) ; NIL (pair address (pair nat nat)) ; DIG 5 ; DIG 7 ; DUP ; GET 3 ; CAR ; SWAP ; DUP ; DUG 9 ; GET 3 ; GET 3 ; PAIR 3 ; CONS ; SELF_ADDRESS ; PAIR ; CONS ; TRANSFER_TOKENS ; CONS ; SWAP } { DROP ; SWAP ; DROP ; DIG 2 ; DROP } ; DUP 3 ; UNPAIR ; UNPAIR ; SWAP ; CDR ; DIG 3 ; DIG 5 ; CAR ; GET 3 ; SUB ; ISNAT ; IF_NONE { PUSH int 182 ; FAILWITH } {} ; PAIR ; SWAP ; PAIR ; PAIR ; DUP ; DUG 2 ; DUP ; GET 7 ; DUP ; DUP 5 ; GET 3 ; GET 3 ; DUP ; DUG 2 ; GET ; IF_NONE { PUSH int 185 ; FAILWITH } {} ; DIG 5 ; CAR ; CAR ; GET 4 ; UPDATE 3 ; SOME ; SWAP ; UPDATE ; UPDATE 7 ; SWAP } { SWAP ; DROP } ; UNIT ; PAIR 3 } ; SWAP ; LAMBDA (pair unit (pair (pair (pair (big_map address nat) (pair nat nat)) (pair nat (pair nat address))) (pair (pair nat (pair address address)) (pair int (pair (big_map address (pair timestamp (pair nat nat))) nat))))) (pair unit (pair (pair (pair (big_map address nat) (pair nat nat)) (pair nat (pair nat address))) (pair (pair nat (pair address address)) (pair int (pair (big_map address (pair timestamp (pair nat nat))) nat))))) { CDR ; DUP ; GET 8 ; PUSH nat 0 ; COMPARE ; LT ; IF { DUP ; UNPAIR ; UNPAIR ; UNPAIR ; SWAP ; UNPAIR ; SWAP ; DUP 6 ; GET 8 ; PUSH nat 1000000000000 ; DIG 7 ; DUP ; CAR ; GET 3 ; SWAP ; CAR ; CAR ; GET 3 ; SUB ; ISNAT ; IF_NONE { PUSH int 132 ; FAILWITH } {} ; MUL ; EDIV ; IF_NONE { PUSH int 136 ; FAILWITH } { CAR } ; ADD ; SWAP ; PAIR ; SWAP ; PAIR ; PAIR ; PAIR ; DUP ; UNPAIR ; UNPAIR ; SWAP ; CDR ; DIG 3 ; CAR ; CAR ; GET 3 ; PAIR ; SWAP ; PAIR ; PAIR } {} ; UNIT ; PAIR } ; SWAP ; LAMBDA unit unit { DROP ; SELF_ADDRESS ; SENDER ; COMPARE ; EQ ; IF {} { PUSH int 400 ; FAILWITH } ; UNIT } ; SWAP ; LAMBDA (pair unit (pair (pair (pair (big_map address nat) (pair nat nat)) (pair nat (pair nat address))) (pair (pair nat (pair address address)) (pair int (pair (big_map address (pair timestamp (pair nat nat))) nat))))) (pair unit (pair (pair (pair (big_map address nat) (pair nat nat)) (pair nat (pair nat address))) (pair (pair nat (pair address address)) (pair int (pair (big_map address (pair timestamp (pair nat nat))) nat))))) { CDR ; DUP ; CAR ; CAR ; CAR ; PUSH nat 1 ; SWAP ; SENDER ; GET ; IF_NONE { PUSH int 21 ; FAILWITH } {} ; COMPARE ; EQ ; IF {} { PUSH int 401 ; FAILWITH } ; UNIT ; PAIR } ; SWAP ; UNPAIR ; IF_LEFT { IF_LEFT { IF_LEFT { DROP ; SWAP ; DROP ; SWAP ; DROP ; SWAP ; DROP ; SWAP ; DROP ; AMOUNT ; PUSH mutez 0 ; COMPARE ; EQ ; IF {} { AMOUNT ; FAILWITH } ; UNPAIR ; SWAP ; UNPAIR ; UNPAIR ; SWAP ; CDR ; SENDER ; PAIR ; SWAP ; PAIR ; PAIR ; SWAP ; PAIR ; NIL operation ; DIG 2 ; UNIT ; SWAP ; DUG 3 ; PAIR 3 ; EXEC ; CDR ; UNPAIR ; SELF %internal_claim ; PUSH mutez 0 ; UNIT ; TRANSFER_TOKENS ; CONS } { IF_LEFT { DROP ; SWAP ; DROP ; SWAP ; DROP ; SWAP ; DROP ; SWAP ; DROP ; SWAP ; DROP ; NIL operation } { DIG 2 ; DROP ; DIG 2 ; DROP ; DIG 2 ; DROP ; DIG 2 ; DROP ; AMOUNT ; PUSH mutez 0 ; COMPARE ; EQ ; IF {} { AMOUNT ; FAILWITH } ; SWAP ; UNPAIR ; SWAP ; UNPAIR ; UNPAIR ; SWAP ; CDR ; SENDER ; PAIR ; SWAP ; PAIR ; PAIR ; SWAP ; PAIR ; SWAP ; NIL operation ; DIG 3 ; UNIT ; SWAP ; DIG 4 ; DIG 3 ; DIG 3 ; PAIR 3 ; EXEC ; CDR ; UNPAIR ; SWAP ; DUG 2 ; SELF %internal_deposit ; PUSH mutez 0 ; DIG 3 ; TRANSFER_TOKENS ; CONS } } } { IF_LEFT { DROP ; SWAP ; DROP ; DIG 4 ; DROP ; AMOUNT ; PUSH mutez 0 ; COMPARE ; EQ ; IF {} { AMOUNT ; FAILWITH } ; SWAP ; UNIT ; EXEC ; DROP ; SWAP ; UNIT ; SWAP ; DUG 2 ; PAIR ; EXEC ; CDR ; NIL operation ; DIG 2 ; UNIT ; SWAP ; DUG 3 ; PAIR 3 ; EXEC ; CDR ; UNPAIR } { IF_LEFT { DIG 2 ; DROP ; DIG 4 ; DROP ; DIG 4 ; DROP ; AMOUNT ; PUSH mutez 0 ; COMPARE ; EQ ; IF {} { AMOUNT ; FAILWITH } ; DIG 2 ; UNIT ; EXEC ; DROP ; DIG 2 ; UNIT ; SWAP ; DIG 3 ; DIG 2 ; PAIR ; EXEC ; CDR ; SWAP ; DUP ; PUSH nat 0 ; COMPARE ; LT ; IF { NIL operation ; DUP 3 ; GET 3 ; GET 4 ; CONTRACT %transfer (pair (address %from) (pair (address %to) (nat %value))) ; IF_NONE { PUSH int 19 ; FAILWITH } {} ; PUSH mutez 0 ; DUP 4 ; SELF_ADDRESS ; DUP 7 ; GET 3 ; GET 3 ; PAIR 3 ; TRANSFER_TOKENS ; CONS } { NIL operation } ; DIG 2 ; DUP ; GET 7 ; SWAP ; DUP ; DUG 4 ; GET 3 ; GET 3 ; MEM ; IF { DIG 2 ; DUP ; GET 7 ; SWAP ; DUP ; DUG 4 ; GET 3 ; GET 3 ; GET ; IF_NONE { PUSH int 263 ; FAILWITH } {} ; DUP ; GET 3 ; PUSH nat 1000000000000 ; SWAP ; DUP 6 ; CAR ; CAR ; GET 4 ; SUB ; ISNAT ; IF_NONE { PUSH int 272 ; FAILWITH } {} ; DUP 3 ; GET 4 ; MUL ; EDIV ; IF_NONE { PUSH int 271 ; FAILWITH } { CAR } ; DUP 4 ; DUP 3 ; GET 4 ; ADD ; PUSH nat 1000000000000 ; DIG 2 ; MUL ; EDIV ; IF_NONE { PUSH int 281 ; FAILWITH } { CAR } ; DUP 5 ; CAR ; CAR ; GET 4 ; SUB ; ISNAT ; IF_NONE { PUSH int 279 ; FAILWITH } {} ; DUP 5 ; DUP ; GET 7 ; DUP 6 ; DUP 5 ; GET 4 ; ADD ; DIG 3 ; DUP 7 ; DUP 6 ; GET 4 ; ADD ; DUP 9 ; CAR ; GET 5 ; DUP 7 ; CAR ; NOW ; SUB ; ISNAT ; IF_NONE { PUSH int 265 ; FAILWITH } {} ; DUP ; DUP 3 ; COMPARE ; LE ; IF { DROP } { SWAP ; DROP } ; DIG 6 ; GET 4 ; MUL ; EDIV ; IF_NONE { PUSH int 287 ; FAILWITH } { CAR } ; INT ; PUSH int -1 ; MUL ; NOW ; ADD ; PAIR 3 ; SOME ; DIG 5 ; GET 3 ; GET 3 ; UPDATE ; UPDATE 7 ; DUG 2 } { DUP 3 ; DUP ; GET 7 ; DUP 4 ; DUP 6 ; CAR ; CAR ; GET 4 ; NOW ; PAIR 3 ; SOME ; DIG 5 ; GET 3 ; GET 3 ; UPDATE ; UPDATE 7 ; DUG 2 } ; DIG 2 ; DUP ; GET 8 ; DIG 3 ; ADD ; UPDATE 8 ; SWAP } { DROP ; SWAP ; DROP ; DIG 4 ; DROP ; AMOUNT ; PUSH mutez 0 ; COMPARE ; EQ ; IF {} { AMOUNT ; FAILWITH } ; SWAP ; UNIT ; EXEC ; DROP ; SWAP ; UNIT ; SWAP ; DUG 2 ; PAIR ; EXEC ; CDR ; NIL operation ; DIG 2 ; UNIT ; SWAP ; DUG 3 ; PAIR 3 ; EXEC ; CDR ; UNPAIR ; SWAP ; DUP ; GET 7 ; SWAP ; DUP ; DUG 3 ; GET 3 ; GET 3 ; GET ; IF_NONE { PUSH int 354 ; FAILWITH } {} ; DUP ; GET 4 ; PUSH nat 0 ; COMPARE ; LT ; IF { SWAP ; DUP 3 ; GET 3 ; GET 4 ; CONTRACT %transfer (pair (address %from) (pair (address %to) (nat %value))) ; IF_NONE { PUSH int 19 ; FAILWITH } {} ; PUSH mutez 0 ; DUP 4 ; GET 4 ; DUP 6 ; GET 3 ; GET 3 ; SELF_ADDRESS ; PAIR 3 ; TRANSFER_TOKENS ; CONS ; SWAP } {} ; DUP 3 ; SWAP ; GET 4 ; DIG 3 ; GET 8 ; SUB ; ISNAT ; IF_NONE { PUSH int 370 ; FAILWITH } {} ; UPDATE 8 ; DUP ; DUG 2 ; DUP ; GET 7 ; NONE (pair timestamp (pair nat nat)) ; DIG 4 ; GET 3 ; GET 3 ; UPDATE ; UPDATE 7 ; SWAP } } } } { IF_LEFT { IF_LEFT { DIG 3 ; DROP ; DIG 3 ; DROP ; DIG 3 ; DROP ; DIG 3 ; DROP ; AMOUNT ; PUSH mutez 0 ; COMPARE ; EQ ; IF {} { AMOUNT ; FAILWITH } ; DIG 2 ; UNIT ; SWAP ; DIG 3 ; DIG 2 ; PAIR ; EXEC ; CDR ; UNPAIR ; UNPAIR ; UNPAIR ; PUSH (option nat) (Some 0) ; DIG 5 ; UPDATE ; PAIR ; PAIR ; PAIR } { IF_LEFT { DIG 3 ; DROP ; DIG 3 ; DROP ; DIG 3 ; DROP ; DIG 3 ; DROP ; AMOUNT ; PUSH mutez 0 ; COMPARE ; EQ ; IF {} { AMOUNT ; FAILWITH } ; DIG 2 ; UNIT ; SWAP ; DIG 3 ; DIG 2 ; PAIR ; EXEC ; CDR ; UNPAIR ; UNPAIR ; UNPAIR ; NONE nat ; DIG 5 ; UPDATE ; PAIR ; PAIR ; PAIR } { DROP ; SWAP ; DROP ; SWAP ; DROP ; SWAP ; DROP ; SWAP ; DROP ; SWAP ; DROP ; AMOUNT ; PUSH mutez 0 ; COMPARE ; EQ ; IF {} { AMOUNT ; FAILWITH } ; DUP ; CAR ; CAR ; CAR ; PUSH nat 0 ; SWAP ; SENDER ; GET ; IF_NONE { PUSH int 46 ; FAILWITH } {} ; COMPARE ; EQ ; IF {} { PUSH int 405 ; FAILWITH } ; UNPAIR ; UNPAIR ; UNPAIR ; PUSH (option nat) (Some 1) ; SENDER ; UPDATE ; PAIR ; PAIR ; PAIR } } ; NIL operation } { IF_LEFT { IF_LEFT { DIG 3 ; DROP ; DIG 3 ; DROP ; DIG 3 ; DROP ; DIG 3 ; DROP ; DIG 2 ; UNIT ; SWAP ; DIG 3 ; DIG 2 ; PAIR ; EXEC ; CDR ; SWAP ; SET_DELEGATE ; NIL operation ; SWAP ; CONS } { DIG 3 ; DROP ; DIG 3 ; DROP ; DIG 3 ; DROP ; DIG 3 ; DROP ; AMOUNT ; PUSH mutez 0 ; COMPARE ; EQ ; IF {} { AMOUNT ; FAILWITH } ; DIG 2 ; UNIT ; SWAP ; DIG 3 ; DIG 2 ; PAIR ; EXEC ; CDR ; UNPAIR ; UNPAIR ; SWAP ; UNPAIR ; SWAP ; CDR ; DIG 4 ; PAIR ; SWAP ; PAIR ; SWAP ; PAIR ; PAIR ; NIL operation } } { IF_LEFT { AMOUNT ; PUSH mutez 0 ; COMPARE ; EQ ; IF {} { AMOUNT ; FAILWITH } ; SWAP ; DUP ; DUG 2 ; CAR ; GET 6 ; SENDER ; COMPARE ; EQ ; IF {} { PUSH int 504 ; FAILWITH } ; DUP ; IF_CONS { SWAP ; DROP ; SWAP ; DROP ; DIG 2 ; DROP ; DIG 2 ; DROP ; DIG 2 ; DROP ; DIG 2 ; DROP ; DIG 2 ; DROP ; DUP ; CAR ; CAR ; SELF_ADDRESS ; COMPARE ; EQ ; IF {} { PUSH int 503 ; FAILWITH } ; SWAP ; UNPAIR ; UNPAIR ; UNPAIR ; SWAP ; CDR ; DIG 4 ; CDR ; PAIR ; SWAP ; PAIR ; PAIR ; PAIR } { DROP ; SWAP ; DROP ; SWAP ; DROP ; SWAP ; DROP ; SWAP ; DROP ; SWAP ; DROP } ; NIL operation } { DROP ; SWAP ; DROP ; SWAP ; DROP ; SWAP ; DROP ; SWAP ; DROP ; AMOUNT ; PUSH mutez 0 ; COMPARE ; EQ ; IF {} { AMOUNT ; FAILWITH } ; UNPAIR ; SWAP ; UNPAIR ; UNPAIR ; SWAP ; CDR ; SENDER ; PAIR ; SWAP ; PAIR ; PAIR ; SWAP ; PAIR ; NIL operation ; DIG 2 ; UNIT ; SWAP ; DUG 3 ; PAIR 3 ; EXEC ; CDR ; UNPAIR ; SELF %internal_withdraw ; PUSH mutez 0 ; UNIT ; TRANSFER_TOKENS ; CONS } } } } ; NIL operation ; SWAP ; ITER { CONS } ; PAIR }