x
931
1054
{ parameter (or (or (or (pair %add_amm (address %amm) (pair (address %gauge) (address %bribe))) (pair %claim_bribe (nat %token_id) (pair (address %amm) (pair (nat %epoch) (nat %bribe_id))))) (or (pair %claim_fee (nat %token_id) (pair (address %amm) (list %epochs nat))) (unit %next_epoch))) (or (or (pair %pull_amm_fee (address %amm) (nat %epoch)) (pair %recharge_gauge (address %amm) (nat %epoch))) (or (address %remove_amm) (or (pair %set_factory_and_fee_dist (address %factory) (address %fee_dist)) (pair %vote (nat %token_id) (list %vote_items (pair (address %amm) (nat %votes)))))))) ; storage (pair (pair (pair (big_map %amm_to_gauge_bribe address (pair (address %gauge) (address %bribe))) (pair (address %core_factory) (pair %emission (nat %base) (pair (nat %genesis) (nat %real))))) (pair (nat %epoch) (pair (big_map %epoch_end nat timestamp) (address %fee_distributor)))) (pair (pair (address %ply_address) (pair (big_map %token_amm_votes (pair (nat %token_id) (pair (address %amm) (nat %epoch))) nat) (big_map %total_amm_votes (pair (address %amm) (nat %epoch)) nat))) (pair (big_map %total_epoch_votes nat nat) (pair (big_map %total_token_votes (pair (nat %token_id) (nat %epoch)) nat) (address %ve_address))))) ; code { UNPAIR ; IF_LEFT { IF_LEFT { IF_LEFT { SWAP ; DUP ; DUG 2 ; CAR ; CAR ; GET 3 ; SENDER ; COMPARE ; EQ ; IF {} { PUSH string "NOT_AUTHORISED" ; FAILWITH } ; SWAP ; UNPAIR ; UNPAIR ; UNPAIR ; DIG 4 ; DUP ; GET 4 ; SWAP ; DUP ; DUG 6 ; GET 3 ; PAIR ; SOME ; DIG 5 ; CAR ; UPDATE ; PAIR ; PAIR ; PAIR ; NIL operation } { PUSH mutez 0 ; AMOUNT ; COMPARE ; EQ ; IF {} { PUSH string "ENTRYPOINT_DOES_NOT_ACCEPT_TEZ" ; FAILWITH } ; DUP ; GET 5 ; DUP 3 ; CAR ; GET 3 ; COMPARE ; GT ; IF {} { PUSH string "INVALID_EPOCH" ; FAILWITH } ; SWAP ; DUP ; DUG 2 ; CAR ; CAR ; CAR ; SWAP ; DUP ; DUG 2 ; GET 3 ; MEM ; IF {} { PUSH string "AMM_INVALID_OR_NOT_WHITELISTED" ; FAILWITH } ; SWAP ; DUP ; DUG 2 ; GET 8 ; SWAP ; DUP ; DUG 2 ; CAR ; SENDER ; PAIR ; VIEW "is_owner" bool ; IF_NONE { PUSH string "INVALID_VIEW" ; FAILWITH } {} ; IF {} { PUSH string "SENDER_DOES_NOT_OWN_LOCK" ; FAILWITH } ; SWAP ; DUP ; DUG 2 ; GET 3 ; GET 4 ; SWAP ; DUP ; GET 5 ; SWAP ; DUP ; DUG 3 ; GET 3 ; PAIR ; GET ; IF_NONE { PUSH nat 0 } {} ; DUP ; PUSH nat 0 ; COMPARE ; LT ; IF { NIL operation ; DUP ; DUP 5 ; CAR ; CAR ; CAR ; DUP 5 ; GET 3 ; GET ; IF_NONE { PUSH int 423 ; FAILWITH } {} ; CDR ; CONTRACT %claim (pair (nat %token_id) (pair (address %owner) (pair (nat %epoch) (pair (nat %bribe_id) (nat %vote_share))))) ; IF_NONE { PUSH int 423 ; FAILWITH } {} ; PUSH mutez 0 ; DUP 5 ; PUSH nat 1000000000000000000 ; DUP 9 ; GET 3 ; GET 3 ; DIG 8 ; DUP ; GET 5 ; SWAP ; DUP ; GET 3 ; SWAP ; DUP ; DUG 11 ; CAR ; PAIR 3 ; GET ; IF_NONE { PUSH nat 0 } {} ; MUL ; EDIV ; IF_NONE { PUSH int 412 ; FAILWITH } { CAR } ; DIG 6 ; DUP ; GET 6 ; SWAP ; DUP ; DUG 8 ; GET 5 ; SENDER ; DUP 10 ; CAR ; PAIR 5 ; DIG 4 ; DROP ; DIG 4 ; DROP ; DIG 4 ; DROP ; TRANSFER_TOKENS ; CONS } { DROP ; NIL operation ; DUP 3 ; CAR ; CAR ; CAR ; DUP 3 ; GET 3 ; GET ; IF_NONE { PUSH int 440 ; FAILWITH } {} ; CDR ; CONTRACT %return_bribe (pair (nat %bribe_id) (nat %epoch)) ; IF_NONE { PUSH int 438 ; FAILWITH } {} ; PUSH mutez 0 ; DIG 3 ; DUP ; GET 5 ; SWAP ; GET 6 ; PAIR ; TRANSFER_TOKENS ; CONS } } } { IF_LEFT { PUSH mutez 0 ; AMOUNT ; COMPARE ; EQ ; IF {} { PUSH string "ENTRYPOINT_DOES_NOT_ACCEPT_TEZ" ; FAILWITH } ; SWAP ; DUP ; DUG 2 ; CAR ; CAR ; CAR ; SWAP ; DUP ; DUG 2 ; GET 3 ; MEM ; IF {} { PUSH string "AMM_INVALID_OR_NOT_WHITELISTED" ; FAILWITH } ; SWAP ; DUP ; DUG 2 ; GET 8 ; SWAP ; DUP ; DUG 2 ; CAR ; SENDER ; PAIR ; VIEW "is_owner" bool ; IF_NONE { PUSH string "INVALID_VIEW" ; FAILWITH } {} ; IF {} { PUSH string "SENDER_DOES_NOT_OWN_LOCK" ; FAILWITH } ; NIL (pair nat nat) ; SWAP ; DUP ; DUG 2 ; GET 4 ; ITER { DUP ; DUP 5 ; CAR ; GET 3 ; COMPARE ; GT ; IF {} { PUSH string "INVALID_EPOCH" ; FAILWITH } ; SWAP ; DUP 4 ; GET 3 ; GET 4 ; DUP 3 ; DUP 5 ; GET 3 ; PAIR ; GET ; IF_NONE { PUSH int 482 ; FAILWITH } {} ; PUSH nat 1000000000000000000 ; DUP 6 ; GET 3 ; GET 3 ; DUP 5 ; DIG 6 ; DUP ; GET 3 ; SWAP ; DUP ; DUG 8 ; CAR ; PAIR 3 ; GET ; IF_NONE { PUSH int 479 ; FAILWITH } {} ; MUL ; EDIV ; IF_NONE { PUSH int 484 ; FAILWITH } { CAR } ; DIG 2 ; PAIR ; CONS } ; NIL operation ; DUP ; DUP 5 ; CAR ; GET 6 ; CONTRACT %claim (pair (nat %token_id) (pair (address %owner) (pair (address %amm) (list %epoch_vote_shares (pair (nat %epoch) (nat %share)))))) ; IF_NONE { PUSH int 496 ; FAILWITH } {} ; PUSH mutez 0 ; DUP 5 ; DUP 7 ; GET 3 ; SENDER ; DUP 9 ; CAR ; PAIR 4 ; DIG 4 ; DROP ; DIG 4 ; DROP ; DIG 4 ; DROP ; TRANSFER_TOKENS ; CONS } { DROP ; PUSH mutez 0 ; AMOUNT ; COMPARE ; EQ ; IF {} { PUSH string "ENTRYPOINT_DOES_NOT_ACCEPT_TEZ" ; FAILWITH } ; DUP ; CAR ; GET 3 ; PUSH nat 0 ; COMPARE ; EQ ; IF { PUSH nat 604800 ; DUP ; DUP ; PUSH timestamp "1970-01-01T00:00:00Z" ; NOW ; SUB ; ISNAT ; IF_NONE { PUSH int 188 ; FAILWITH } {} ; ADD ; EDIV ; IF_NONE { PUSH int 189 ; FAILWITH } { CAR } ; MUL ; SWAP ; UNPAIR ; UNPAIR ; UNPAIR ; SWAP ; UNPAIR ; SWAP ; DUP 6 ; UPDATE 3 ; SWAP ; PAIR ; SWAP ; PAIR ; SWAP ; UNPAIR ; PUSH nat 1 ; ADD ; PAIR ; SWAP ; PAIR ; PAIR ; DUP ; DUG 2 ; UNPAIR ; UNPAIR ; SWAP ; UNPAIR ; SWAP ; UNPAIR ; DIG 5 ; INT ; PUSH timestamp "1970-01-01T00:00:00Z" ; ADD ; SOME ; DIG 6 ; CAR ; GET 3 ; UPDATE ; PAIR ; SWAP ; PAIR ; SWAP ; PAIR ; PAIR ; NIL operation } { DUP ; CAR ; GET 5 ; SWAP ; DUP ; DUG 2 ; CAR ; GET 3 ; GET ; IF_NONE { PUSH int 199 ; FAILWITH } {} ; NOW ; COMPARE ; GT ; IF {} { PUSH string "PREVIOUS_EPOCH_YET_TO_END" ; FAILWITH } ; PUSH nat 604800 ; DUP ; PUSH timestamp "1970-01-01T00:00:00Z" ; NOW ; SUB ; ISNAT ; IF_NONE { PUSH int 201 ; FAILWITH } {} ; EDIV ; IF_NONE { PUSH int 202 ; FAILWITH } { CAR } ; MUL ; SWAP ; DUP ; DUG 2 ; GET 3 ; CAR ; UNIT ; VIEW "get_total_supply" nat ; IF_NONE { PUSH string "INVALID_VIEW" ; FAILWITH } {} ; DUP 3 ; GET 8 ; UNIT ; VIEW "get_locked_supply" nat ; IF_NONE { PUSH string "INVALID_VIEW" ; FAILWITH } {} ; DUP 4 ; CAR ; CAR ; GET 4 ; DIG 4 ; UNPAIR ; UNPAIR ; UNPAIR ; SWAP ; UNPAIR ; SWAP ; PUSH nat 2 ; DUP 9 ; DUP 9 ; DUP 9 ; CAR ; MUL ; EDIV ; IF_NONE { PUSH int 228 ; FAILWITH } { CAR } ; EDIV ; IF_NONE { PUSH int 228 ; FAILWITH } { CAR } ; DUP 7 ; CAR ; SUB ; ISNAT ; IF_NONE { PUSH int 231 ; FAILWITH } {} ; UPDATE 4 ; SWAP ; PAIR ; SWAP ; PAIR ; PAIR ; PAIR ; DUG 4 ; PUSH nat 2000000000000000000 ; DUP 3 ; DUP 5 ; PUSH nat 1000000000000000000 ; PUSH nat 2 ; DIG 7 ; DIG 7 ; DUP 8 ; CAR ; MUL ; EDIV ; IF_NONE { PUSH int 228 ; FAILWITH } { CAR } ; EDIV ; IF_NONE { PUSH int 228 ; FAILWITH } { CAR } ; DUP 6 ; CAR ; SUB ; ISNAT ; IF_NONE { PUSH int 231 ; FAILWITH } {} ; MUL ; EDIV ; IF_NONE { PUSH int 235 ; FAILWITH } { CAR } ; MUL ; EDIV ; IF_NONE { PUSH int 236 ; FAILWITH } { CAR } ; NIL operation ; DUP 5 ; GET 3 ; CAR ; CONTRACT %mint (pair (address %address) (nat %value)) ; IF_NONE { PUSH int 239 ; FAILWITH } {} ; PUSH mutez 0 ; DUP 4 ; DUP 8 ; GET 8 ; PAIR ; TRANSFER_TOKENS ; CONS ; DUP 5 ; GET 8 ; CONTRACT %add_inflation (pair (nat %epoch) (nat %value)) ; IF_NONE { PUSH int 251 ; FAILWITH } {} ; PUSH mutez 0 ; DIG 3 ; DUP 7 ; CAR ; GET 3 ; PAIR ; TRANSFER_TOKENS ; CONS ; PUSH int 2419200 ; DUP 3 ; GET 3 ; DUP 5 ; SUB ; COMPARE ; EQ ; IF { DIG 3 ; UNPAIR ; UNPAIR ; UNPAIR ; SWAP ; UNPAIR ; SWAP ; PUSH nat 100000000 ; PUSH nat 66666667 ; DUP 9 ; CAR ; MUL ; EDIV ; IF_NONE { PUSH int 264 ; FAILWITH } { CAR } ; UPDATE 1 ; SWAP ; PAIR ; SWAP ; PAIR ; PAIR ; PAIR ; DUG 3 } {} ; PUSH nat 0 ; PUSH int 31449600 ; DUP 4 ; GET 3 ; DIG 5 ; SUB ; EDIV ; IF_NONE { PUSH int 265 ; FAILWITH } { CDR } ; COMPARE ; EQ ; IF { DIG 2 ; UNPAIR ; UNPAIR ; UNPAIR ; SWAP ; UNPAIR ; SWAP ; PUSH nat 100000000 ; PUSH nat 70710678 ; DIG 8 ; CAR ; MUL ; EDIV ; IF_NONE { PUSH int 266 ; FAILWITH } { CAR } ; UPDATE 1 ; SWAP ; PAIR ; SWAP ; PAIR ; PAIR ; PAIR ; SWAP } { SWAP ; DROP } ; SWAP ; UNPAIR ; UNPAIR ; SWAP ; UNPAIR ; PUSH nat 1 ; ADD ; PAIR ; SWAP ; PAIR ; PAIR ; DUP ; DUG 2 ; UNPAIR ; UNPAIR ; SWAP ; UNPAIR ; SWAP ; UNPAIR ; PUSH int 604800 ; DUP 8 ; CAR ; GET 5 ; PUSH nat 1 ; DUP 10 ; CAR ; GET 3 ; SUB ; ISNAT ; IF_NONE { PUSH int 270 ; FAILWITH } {} ; GET ; IF_NONE { PUSH int 270 ; FAILWITH } {} ; ADD ; SOME ; DIG 7 ; CAR ; GET 3 ; UPDATE ; PAIR ; SWAP ; PAIR ; SWAP ; PAIR ; PAIR ; SWAP } } } } { IF_LEFT { IF_LEFT { PUSH mutez 0 ; AMOUNT ; COMPARE ; EQ ; IF {} { PUSH string "ENTRYPOINT_DOES_NOT_ACCEPT_TEZ" ; FAILWITH } ; DUP ; CDR ; DUP 3 ; CAR ; GET 3 ; COMPARE ; GT ; IF {} { PUSH string "INVALID_EPOCH" ; FAILWITH } ; SWAP ; DUP ; DUG 2 ; CAR ; CAR ; CAR ; SWAP ; DUP ; DUG 2 ; CAR ; MEM ; IF {} { PUSH string "AMM_INVALID_OR_NOT_WHITELISTED" ; FAILWITH } ; DUP ; CAR ; CONTRACT %forwardFee (pair (nat %epoch) (address %feeDistributor)) ; IF_NONE { PUSH int 521 ; FAILWITH } {} ; NIL operation ; SWAP ; PUSH mutez 0 ; DUP 5 ; CAR ; GET 6 ; DIG 4 ; CDR ; PAIR ; TRANSFER_TOKENS ; CONS } { PUSH mutez 0 ; AMOUNT ; COMPARE ; EQ ; IF {} { PUSH string "ENTRYPOINT_DOES_NOT_ACCEPT_TEZ" ; FAILWITH } ; DUP ; CDR ; DUP 3 ; CAR ; GET 3 ; COMPARE ; GT ; IF {} { PUSH string "INVALID_EPOCH" ; FAILWITH } ; SWAP ; DUP ; DUG 2 ; CAR ; CAR ; CAR ; SWAP ; DUP ; DUG 2 ; CAR ; MEM ; IF {} { PUSH string "AMM_INVALID_OR_NOT_WHITELISTED" ; FAILWITH } ; PUSH nat 1000000000000000000 ; DUP 3 ; GET 5 ; DUP 3 ; CDR ; GET ; IF_NONE { PUSH int 545 ; FAILWITH } {} ; PUSH nat 1000000000000000000 ; DUP 5 ; GET 3 ; GET 4 ; DIG 4 ; DUP ; CDR ; SWAP ; DUP ; DUG 6 ; CAR ; PAIR ; GET ; IF_NONE { PUSH int 544 ; FAILWITH } {} ; MUL ; EDIV ; IF_NONE { PUSH int 546 ; FAILWITH } { CAR } ; DUP 4 ; CAR ; CAR ; GET 8 ; MUL ; EDIV ; IF_NONE { PUSH int 549 ; FAILWITH } { CAR } ; NIL operation ; DUP 4 ; GET 3 ; CAR ; CONTRACT %mint (pair (address %address) (nat %value)) ; IF_NONE { PUSH int 552 ; FAILWITH } {} ; PUSH mutez 0 ; DUP 4 ; DUP 7 ; CAR ; CAR ; CAR ; DUP 7 ; CAR ; GET ; IF_NONE { PUSH int 558 ; FAILWITH } {} ; CAR ; PAIR ; TRANSFER_TOKENS ; CONS ; DUP 4 ; CAR ; CAR ; CAR ; DUP 4 ; CAR ; GET ; IF_NONE { PUSH int 566 ; FAILWITH } {} ; CAR ; CONTRACT %recharge (pair (nat %amount) (nat %epoch)) ; IF_NONE { PUSH int 564 ; FAILWITH } {} ; PUSH mutez 0 ; DIG 4 ; CDR ; DIG 4 ; PAIR ; TRANSFER_TOKENS ; CONS } } { IF_LEFT { SWAP ; DUP ; DUG 2 ; CAR ; CAR ; GET 3 ; SENDER ; COMPARE ; EQ ; IF {} { PUSH string "NOT_AUTHORISED" ; FAILWITH } ; SWAP ; UNPAIR ; UNPAIR ; UNPAIR ; NONE (pair address address) ; DIG 5 ; UPDATE ; PAIR ; PAIR ; PAIR } { IF_LEFT { PUSH address "KT1TezoooozzSmartPyzzDYNAMiCzzpLu4LU" ; DUP 3 ; CAR ; CAR ; GET 3 ; COMPARE ; EQ ; IF { SWAP ; UNPAIR ; UNPAIR ; UNPAIR ; SWAP ; CDR ; DUP 5 ; CAR ; PAIR ; SWAP ; PAIR ; SWAP ; UNPAIR ; SWAP ; CAR ; DIG 4 ; CDR ; SWAP ; PAIR ; SWAP ; PAIR ; SWAP ; PAIR ; PAIR } { DROP } } { PUSH mutez 0 ; AMOUNT ; COMPARE ; EQ ; IF {} { PUSH string "ENTRYPOINT_DOES_NOT_ACCEPT_TEZ" ; FAILWITH } ; SWAP ; DUP ; CAR ; GET 5 ; SWAP ; DUP ; DUG 3 ; CAR ; GET 3 ; GET ; IF_NONE { PUSH int 314 ; FAILWITH } {} ; NOW ; COMPARE ; LE ; IF {} { PUSH string "EPOCH_ENDED" ; FAILWITH } ; SWAP ; DUP ; DUG 2 ; CAR ; GET 3 ; DUP 3 ; GET 8 ; DUP 3 ; CAR ; SENDER ; PAIR ; VIEW "is_owner" bool ; IF_NONE { PUSH string "INVALID_VIEW" ; FAILWITH } {} ; IF {} { PUSH string "SENDER_DOES_NOT_OWN_LOCK" ; FAILWITH } ; DIG 2 ; DUP ; GET 7 ; SWAP ; DUP ; DUG 4 ; CAR ; GET 3 ; DUP 4 ; CAR ; PAIR ; GET ; IF_NONE { PUSH nat 0 } {} ; DUP 4 ; GET 8 ; PUSH timestamp "1970-01-01T00:00:00Z" ; NOW ; SUB ; ISNAT ; IF_NONE { PUSH int 317 ; FAILWITH } {} ; DUP 5 ; CAR ; PUSH nat 1 ; PAIR 3 ; VIEW "get_token_voting_power" nat ; IF_NONE { PUSH string "INVALID_VIEW" ; FAILWITH } {} ; SUB ; ISNAT ; IF_NONE { PUSH int 344 ; FAILWITH } {} ; DUP 3 ; CDR ; ITER { DUP 5 ; CAR ; CAR ; CAR ; SWAP ; DUP ; DUG 2 ; CAR ; MEM ; IF {} { PUSH string "AMM_INVALID_OR_NOT_WHITELISTED" ; FAILWITH } ; DUP ; CDR ; PUSH nat 0 ; COMPARE ; NEQ ; IF {} { PUSH string "ZERO_VOTE_NOT_ALLOWED" ; FAILWITH } ; DUP 5 ; UNPAIR ; SWAP ; UNPAIR ; UNPAIR ; SWAP ; UNPAIR ; DUP 6 ; CDR ; DIG 10 ; GET 3 ; GET 3 ; DUP 10 ; DUP 9 ; CAR ; DUP 13 ; CAR ; PAIR 3 ; GET ; IF_NONE { PUSH nat 0 } {} ; ADD ; SOME ; DUP 9 ; DUP 8 ; CAR ; DUP 12 ; CAR ; PAIR 3 ; UPDATE ; PAIR ; SWAP ; PAIR ; PAIR ; SWAP ; PAIR ; DUP ; DUG 5 ; UNPAIR ; SWAP ; UNPAIR ; UNPAIR ; SWAP ; UNPAIR ; SWAP ; DUP 6 ; CDR ; DIG 10 ; GET 3 ; GET 4 ; DUP 10 ; DUP 9 ; CAR ; PAIR ; GET ; IF_NONE { PUSH nat 0 } {} ; ADD ; SOME ; DUP 9 ; DUP 8 ; CAR ; PAIR ; UPDATE ; SWAP ; PAIR ; SWAP ; PAIR ; PAIR ; SWAP ; PAIR ; DUP ; DUG 5 ; DUP ; GET 7 ; DUP 3 ; CDR ; DIG 7 ; GET 7 ; DUP 7 ; DUP 9 ; CAR ; PAIR ; GET ; IF_NONE { PUSH nat 0 } {} ; ADD ; SOME ; DUP 6 ; DUP 8 ; CAR ; PAIR ; UPDATE ; UPDATE 7 ; DUP ; DUG 5 ; DUP ; GET 5 ; DUP 3 ; CDR ; DIG 7 ; GET 5 ; DUP 7 ; GET ; IF_NONE { PUSH nat 0 } {} ; ADD ; SOME ; DUP 6 ; UPDATE ; UPDATE 5 ; DUG 4 ; CDR ; SWAP ; SUB ; ISNAT ; IF_NONE { PUSH string "NOT_ENOUGH_VOTING_POWER_AVAILABLE" ; FAILWITH } {} } ; DROP 3 } } ; NIL operation } } ; NIL operation ; SWAP ; ITER { CONS } ; PAIR } ; view "get_current_epoch" unit (pair nat timestamp) { CDR ; DUP ; CAR ; GET 5 ; SWAP ; DUP ; DUG 2 ; CAR ; GET 3 ; GET ; IF_NONE { PUSH int 577 ; FAILWITH } {} ; SWAP ; CAR ; GET 3 ; PAIR } ; view "get_epoch_end" nat nat { UNPAIR ; PUSH timestamp "1970-01-01T00:00:00Z" ; DIG 2 ; CAR ; GET 5 ; DIG 2 ; GET ; IF_NONE { PUSH int 582 ; FAILWITH } {} ; SUB ; ISNAT ; IF_NONE { PUSH int 582 ; FAILWITH } {} } ; view "get_token_amm_votes" (pair (nat %token_id) (pair (address %amm) (nat %epoch))) nat { UNPAIR ; SWAP ; GET 3 ; GET 3 ; SWAP ; GET ; IF_NONE { PUSH nat 0 } {} } ; view "get_total_amm_votes" (pair (address %amm) (nat %epoch)) nat { UNPAIR ; SWAP ; GET 3 ; GET 4 ; SWAP ; GET ; IF_NONE { PUSH nat 0 } {} } ; view "get_total_epoch_votes" nat nat { UNPAIR ; SWAP ; GET 5 ; SWAP ; GET ; IF_NONE { PUSH nat 0 } {} } ; view "get_total_token_votes" (pair (nat %token_id) (nat %epoch)) nat { UNPAIR ; SWAP ; GET 7 ; SWAP ; GET ; IF_NONE { PUSH nat 0 } {} } }