x
907
parameter (or (list %transfer_hook (pair (address %from_) (list %txs (pair (address %to_) (nat %token_id) (nat %amount))))) (bytes %vote));storage (pair (big_map %metadata string bytes) (bytes %current_vote) (big_map %votes bytes nat) (big_map %user_votes address bytes) (bool %controller_burned) (timestamp %controller_cooldown_end));code { PUSH address "KT1Qsf5L7M7Vsv5b428VTFYG7YQdRPeUpHT9" ; PUSH nat 0 ; PUSH nat 1 ; PUSH nat 2000 ; EMPTY_SET bytes ; PUSH bool True ; PUSH bytes 0x07000000 ; UPDATE ; PUSH bool True ; PUSH bytes 0x07000001 ; UPDATE ; PUSH bool True ; PUSH bytes 0x07000100 ; UPDATE ; PUSH bool True ; PUSH bytes 0x07000101 ; UPDATE ; PUSH bool True ; PUSH bytes 0x07000200 ; UPDATE ; PUSH bool True ; PUSH bytes 0x07000201 ; UPDATE ; PUSH bool True ; PUSH bytes 0x07000300 ; UPDATE ; PUSH bool True ; PUSH bytes 0x07000301 ; UPDATE ; PUSH bool True ; PUSH bytes 0x07000400 ; UPDATE ; PUSH bool True ; PUSH bytes 0x07000401 ; UPDATE ; PUSH bool True ; PUSH bytes 0x07010000 ; UPDATE ; PUSH bool True ; PUSH bytes 0x07010001 ; UPDATE ; PUSH bool True ; PUSH bytes 0x07010100 ; UPDATE ; PUSH bool True ; PUSH bytes 0x07010101 ; UPDATE ; PUSH bool True ; PUSH bytes 0x07010200 ; UPDATE ; PUSH bool True ; PUSH bytes 0x07010201 ; UPDATE ; PUSH bool True ; PUSH bytes 0x07010300 ; UPDATE ; PUSH bool True ; PUSH bytes 0x07010301 ; UPDATE ; PUSH bool True ; PUSH bytes 0x07010400 ; UPDATE ; PUSH bool True ; PUSH bytes 0x07010401 ; UPDATE ; PUSH bool True ; PUSH bytes 0x07020000 ; UPDATE ; PUSH bool True ; PUSH bytes 0x07020001 ; UPDATE ; PUSH bool True ; PUSH bytes 0x07020100 ; UPDATE ; PUSH bool True ; PUSH bytes 0x07020101 ; UPDATE ; PUSH bool True ; PUSH bytes 0x07020200 ; UPDATE ; PUSH bool True ; PUSH bytes 0x07020201 ; UPDATE ; PUSH bool True ; PUSH bytes 0x07020300 ; UPDATE ; PUSH bool True ; PUSH bytes 0x07020301 ; UPDATE ; PUSH bool True ; PUSH bytes 0x07020400 ; UPDATE ; PUSH bool True ; PUSH bytes 0x07020401 ; UPDATE ; PUSH bytes 0x07ffffff ; LAMBDA (pair bytes (pair address (big_map string bytes) bytes (big_map bytes nat) (big_map address bytes) bool timestamp)) bytes { UNPAIR ; SWAP ; UNPAIR ; SWAP ; GET 7 ; SWAP ; GET ; IF_NONE {} { SWAP ; DROP } } ; DUP 2 ; APPLY ; LAMBDA (pair bytes (big_map string bytes) bytes (big_map bytes nat) (big_map address bytes) bool timestamp) nat { UNPAIR ; SWAP ; GET 5 ; SWAP ; GET ; IF_NONE { PUSH nat 0 } {} } ; LAMBDA (pair address (pair (pair nat bytes) bool)) operation { UNPAIR ; SWAP ; UNPAIR ; UNPAIR ; DIG 3 ; CONTRACT %update_metadata (pair (nat %token_id) (map %token_info string bytes)) ; IF_NONE { PUSH string "option is None" ; FAILWITH } {} ; EMPTY_MAP bytes string ; PUSH string "020401" ; SOME ; PUSH bytes 0x07020401 ; UPDATE ; PUSH string "020400" ; SOME ; PUSH bytes 0x07020400 ; UPDATE ; PUSH string "020301" ; SOME ; PUSH bytes 0x07020301 ; UPDATE ; PUSH string "020300" ; SOME ; PUSH bytes 0x07020300 ; UPDATE ; PUSH string "020201" ; SOME ; PUSH bytes 0x07020201 ; UPDATE ; PUSH string "020200" ; SOME ; PUSH bytes 0x07020200 ; UPDATE ; PUSH string "020101" ; SOME ; PUSH bytes 0x07020101 ; UPDATE ; PUSH string "020100" ; SOME ; PUSH bytes 0x07020100 ; UPDATE ; PUSH string "020001" ; SOME ; PUSH bytes 0x07020001 ; UPDATE ; PUSH string "020000" ; SOME ; PUSH bytes 0x07020000 ; UPDATE ; PUSH string "010401" ; SOME ; PUSH bytes 0x07010401 ; UPDATE ; PUSH string "010400" ; SOME ; PUSH bytes 0x07010400 ; UPDATE ; PUSH string "010301" ; SOME ; PUSH bytes 0x07010301 ; UPDATE ; PUSH string "010300" ; SOME ; PUSH bytes 0x07010300 ; UPDATE ; PUSH string "010201" ; SOME ; PUSH bytes 0x07010201 ; UPDATE ; PUSH string "010200" ; SOME ; PUSH bytes 0x07010200 ; UPDATE ; PUSH string "010101" ; SOME ; PUSH bytes 0x07010101 ; UPDATE ; PUSH string "010100" ; SOME ; PUSH bytes 0x07010100 ; UPDATE ; PUSH string "010001" ; SOME ; PUSH bytes 0x07010001 ; UPDATE ; PUSH string "010000" ; SOME ; PUSH bytes 0x07010000 ; UPDATE ; PUSH string "000401" ; SOME ; PUSH bytes 0x07000401 ; UPDATE ; PUSH string "000400" ; SOME ; PUSH bytes 0x07000400 ; UPDATE ; PUSH string "000301" ; SOME ; PUSH bytes 0x07000301 ; UPDATE ; PUSH string "000300" ; SOME ; PUSH bytes 0x07000300 ; UPDATE ; PUSH string "000201" ; SOME ; PUSH bytes 0x07000201 ; UPDATE ; PUSH string "000200" ; SOME ; PUSH bytes 0x07000200 ; UPDATE ; PUSH string "000101" ; SOME ; PUSH bytes 0x07000101 ; UPDATE ; PUSH string "000100" ; SOME ; PUSH bytes 0x07000100 ; UPDATE ; PUSH string "000001" ; SOME ; PUSH bytes 0x07000001 ; UPDATE ; PUSH string "000000" ; SOME ; PUSH bytes 0x07000000 ; UPDATE ; DIG 3 ; GET ; IF_NONE { PUSH string "option is None" ; FAILWITH } {} ; PUSH string "-" ; CONCAT ; DUP 3 ; { PUSH string "" ; PAIR ; LEFT (pair string nat) ; LOOP_LEFT { DUP ; CDR ; PUSH nat 0 ; SWAP ; DUP ; DUG 2 ; COMPARE ; GT ; IF { SWAP ; CAR ; PUSH nat 10 ; DUP 3 ; EDIV ; IF_NONE { PUSH string "MOD by 0" ; FAILWITH } {} ; CDR ; EMPTY_MAP nat string ; PUSH string "9" ; SOME ; PUSH nat 9 ; UPDATE ; PUSH string "8" ; SOME ; PUSH nat 8 ; UPDATE ; PUSH string "7" ; SOME ; PUSH nat 7 ; UPDATE ; PUSH string "6" ; SOME ; PUSH nat 6 ; UPDATE ; PUSH string "5" ; SOME ; PUSH nat 5 ; UPDATE ; PUSH string "4" ; SOME ; PUSH nat 4 ; UPDATE ; PUSH string "3" ; SOME ; PUSH nat 3 ; UPDATE ; PUSH string "2" ; SOME ; PUSH nat 2 ; UPDATE ; PUSH string "1" ; SOME ; PUSH nat 1 ; UPDATE ; PUSH string "0" ; SOME ; PUSH nat 0 ; UPDATE ; SWAP ; GET ; IF_NONE { PUSH string "INVALID_NAT" ; FAILWITH } {} ; CONCAT ; PUSH nat 10 ; DIG 2 ; EDIV ; IF_NONE { PUSH string "DIV by 0" ; FAILWITH } {} ; CAR ; SWAP ; PAIR ; LEFT (pair string nat) } { DROP ; RIGHT (pair string nat) } } ; CAR ; PUSH string "" ; SWAP ; DUP ; DUG 2 ; COMPARE ; EQ ; IF { DROP ; PUSH string "0" } {} } ; CONCAT ; PUSH string "ipfs://bafybeidtad26qv2whwfphvlz4juvshrczyneabovag7shuexeegblo5noi/" ; CONCAT ; PUSH bool True ; DIG 4 ; COMPARE ; EQ ; IF { UNIT ; PUSH string "01" ; DIG 2 ; CONCAT } { UNIT ; PUSH string "00" ; DIG 2 ; CONCAT } ; SWAP ; DROP ; EMPTY_MAP string bytes ; PUSH string ".json" ; DIG 2 ; CONCAT ; PACK ; DUP ; PUSH nat 6 ; DIG 2 ; SIZE ; SUB ; ABS ; PUSH nat 6 ; SLICE ; IF_NONE { PUSH string "SLICE" ; FAILWITH } {} ; SOME ; PUSH string "" ; UPDATE ; DIG 2 ; PAIR ; SWAP ; PUSH mutez 0 ; DIG 2 ; TRANSFER_TOKENS } ; DUP 9 ; APPLY ; LAMBDA (pair (pair (lambda (pair (pair nat bytes) bool) operation) (lambda (pair bytes (big_map string bytes) bytes (big_map bytes nat) (big_map address bytes) bool timestamp) nat) bytes (set bytes) nat nat address) (pair (list operation) (big_map string bytes) bytes (big_map bytes nat) (big_map address bytes) bool timestamp)) (pair (list operation) (big_map string bytes) bytes (big_map bytes nat) (big_map address bytes) bool timestamp) { UNPAIR ; UNPAIR 7 ; DIG 7 ; UNPAIR ; UNIT ; DUP 6 ; PUSH nat 0 ; PUSH nat 0 ; PAIR ; PAIR ; PAIR ; DIG 6 ; ITER { SWAP ; CAR ; UNPAIR ; UNPAIR ; DUP 6 ; DUP 5 ; PAIR ; DUP 9 ; SWAP ; EXEC ; DUP 2 ; DUP 2 ; COMPARE ; GT ; IF { SWAP ; DIG 3 ; DROP 2 ; UNIT ; DIG 3 ; DUP 3 } { DIG 4 ; DROP ; UNIT ; DIG 4 ; DIG 3 } ; PAIR ; SWAP ; DROP ; UNPAIR ; DIG 2 ; DIG 3 ; ADD ; UNIT ; DIG 3 ; DIG 2 ; DIG 3 ; PAIR ; PAIR ; PAIR } ; DIG 4 ; DROP ; CAR ; UNPAIR ; UNPAIR ; DIG 6 ; DUP 4 ; COMPARE ; NEQ ; IF { DIG 8 ; DUP 9 ; VIEW "total_supply" nat ; IF_NONE { PUSH string "option is None" ; FAILWITH } {} ; DUP ; PUSH nat 10000 ; DIG 3 ; MUL ; EDIV ; IF_NONE { PUSH string "DIV by 0" ; FAILWITH } {} ; CAR ; SWAP ; PUSH nat 10000 ; DIG 3 ; MUL ; EDIV ; IF_NONE { PUSH string "DIV by 0" ; FAILWITH } {} ; CAR ; DUP 7 ; DIG 2 ; COMPARE ; GE ; IF { DIG 5 ; DROP 2 ; DUP ; DUP 4 ; GET 3 ; COMPARE ; NEQ ; IF { SWAP ; PUSH bool False ; DUP 3 ; DIG 6 ; PAIR ; PAIR ; DIG 4 ; SWAP ; EXEC ; CONS ; UNIT ; DIG 3 ; DIG 3 ; UPDATE 3 } { DIG 3 ; DIG 4 ; DROP 3 ; UNIT ; DIG 2 } } { SWAP ; DROP ; DIG 4 ; SWAP ; COMPARE ; GE ; IF { PUSH bool True ; DUP 3 ; GET 3 ; DIG 5 ; PAIR ; PAIR ; DIG 3 ; SWAP ; EXEC ; CONS } { DIG 2 ; DIG 3 ; DROP 2 } ; UNIT ; DIG 2 } } { SWAP ; DIG 2 ; DIG 5 ; DIG 6 ; DIG 7 ; DIG 8 ; DROP 7 ; UNIT ; DIG 2 } ; DIG 2 ; PAIR ; SWAP ; DROP } ; DUP 10 ; DUP 9 ; DUP 9 ; DUP 9 ; DUP 9 ; DUP 8 ; DUP 8 ; PAIR 7 ; APPLY ; DIG 10 ; UNPAIR ; PUSH mutez 0 ; AMOUNT ; COMPARE ; NEQ ; IF { PUSH string "DONT_SEND_TEZ" ; FAILWITH } {} ; IF_LEFT { DIG 3 ; DIG 7 ; DIG 8 ; DIG 10 ; DROP 4 ; DIG 7 ; SENDER ; COMPARE ; NEQ ; IF { PUSH string "INVALID_TRANSFER_HOOK_ACCESS" ; FAILWITH } {} ; UNIT ; DIG 2 ; PUSH bool False ; PAIR ; PAIR ; SWAP ; ITER { SWAP ; CAR ; UNPAIR ; UNIT ; DUG 2 ; PAIR ; PAIR ; DUP 2 ; CDR ; ITER { SWAP ; CAR ; UNPAIR ; DUP 9 ; DUP 4 ; GET 3 ; COMPARE ; EQ ; IF { DUP 2 ; DUP 5 ; CAR ; PAIR ; DUP 8 ; SWAP ; EXEC ; DUP 3 ; DUP 5 ; CAR ; PAIR ; DUP 9 ; SWAP ; EXEC ; DUP ; DUP 3 ; COMPARE ; NEQ ; IF { DUP 10 ; DUP 3 ; COMPARE ; NEQ ; IF { DIG 2 ; DROP ; DUP 3 ; DUP 4 ; GET 5 ; DUP 6 ; GET 4 ; DIG 5 ; DUP 6 ; PAIR ; DUP 10 ; SWAP ; EXEC ; SUB ; ABS ; DIG 4 ; SWAP ; SOME ; SWAP ; UPDATE ; UPDATE 5 ; UNIT ; SWAP ; PUSH bool True } { SWAP ; DROP ; UNIT ; DIG 3 ; DIG 3 } ; PAIR ; SWAP ; DROP ; UNPAIR ; DUP 9 ; DUP 4 ; COMPARE ; NEQ ; IF { DROP ; DUP ; DUP 2 ; GET 5 ; DIG 4 ; GET 4 ; DIG 3 ; DUP 5 ; PAIR ; DUP 8 ; SWAP ; EXEC ; ADD ; DIG 3 ; SWAP ; SOME ; SWAP ; UPDATE ; UPDATE 5 ; UNIT ; SWAP ; PUSH bool True } { DIG 2 ; DIG 3 ; DROP 2 ; UNIT ; DUG 2 } } { SWAP ; DIG 4 ; DROP 3 ; UNIT ; DUG 2 } } { DIG 2 ; DROP ; UNIT ; DUG 2 } ; PAIR ; PAIR } ; SWAP ; DROP } ; DIG 2 ; DIG 3 ; DIG 4 ; DIG 5 ; DROP 4 ; CAR ; UNPAIR ; NIL operation ; PUSH bool True ; DIG 2 ; COMPARE ; EQ ; IF { PAIR ; EXEC ; UNIT ; SWAP } { DIG 2 ; DROP ; UNIT ; DUG 2 ; PAIR } ; SWAP ; DROP ; UNPAIR } { NOW ; PUSH timestamp 1663369200 ; COMPARE ; GT ; IF { PUSH string "Voting opens at 7PM Est" ; FAILWITH } {} ; PUSH bool False ; DIG 8 ; DUP 3 ; MEM ; COMPARE ; EQ ; IF { PUSH string "The dark fire will not avail you" ; FAILWITH } {} ; DUP 10 ; SENDER ; PAIR ; DUP 12 ; SWAP ; VIEW "get_balance" nat ; IF_NONE { PUSH string "option is None" ; FAILWITH } {} ; DUP 10 ; SENDER ; PAIR ; DUP 13 ; SWAP ; VIEW "get_balance" nat ; IF_NONE { PUSH string "option is None" ; FAILWITH } {} ; PUSH nat 0 ; DIG 2 ; COMPARE ; GT ; PUSH nat 0 ; DUP 3 ; COMPARE ; GT ; PUSH bool False ; DUP 2 ; COMPARE ; EQ ; PUSH bool False ; DUP 4 ; COMPARE ; EQ ; AND ; IF { PUSH string "You cannot pass!" ; FAILWITH } {} ; NIL operation ; PUSH bool True ; DIG 3 ; COMPARE ; EQ ; IF { NOW ; DUP 6 ; GET 10 ; COMPARE ; GT ; IF { PUSH string "Calm down and wait!" ; FAILWITH } {} ; PUSH bool True ; DUP 6 ; GET 9 ; COMPARE ; EQ ; IF { DIG 10 ; DIG 11 ; DIG 13 ; DROP 3 ; DUP 5 ; GET 3 ; DUP 5 ; COMPARE ; EQ ; IF { PUSH bool False ; DUP 5 ; DIG 12 ; PAIR ; PAIR ; DIG 7 ; SWAP ; EXEC ; CONS ; UNIT ; DIG 5 ; PUSH bool False ; UPDATE 9 } { DIG 6 ; DIG 10 ; DROP 2 ; UNIT ; DIG 5 } } { DIG 13 ; DUP 13 ; VIEW "total_supply" nat ; IF_NONE { PUSH string "option is None" ; FAILWITH } {} ; DUP 6 ; DUP 7 ; GET 3 ; PAIR ; DUP 10 ; SWAP ; EXEC ; SWAP ; PUSH nat 10000 ; DIG 2 ; MUL ; EDIV ; IF_NONE { PUSH string "DIV by 0" ; FAILWITH } {} ; CAR ; SWAP ; PUSH bool False ; DUP 6 ; DIG 14 ; PAIR ; PAIR ; DUP 9 ; SWAP ; EXEC ; CONS ; DIG 11 ; DIG 2 ; COMPARE ; LT ; IF { PUSH bool False ; DUP 5 ; DIG 12 ; PAIR ; PAIR ; DIG 7 ; SWAP ; EXEC ; CONS ; UNIT ; DIG 5 } { PUSH bool True ; DUP 5 ; DIG 12 ; PAIR ; PAIR ; DIG 7 ; SWAP ; EXEC ; CONS ; UNIT ; DIG 5 ; PUSH bool True ; UPDATE 9 } ; DIG 2 ; PAIR ; SWAP ; DROP ; UNPAIR ; UNIT ; DIG 2 ; EMPTY_BIG_MAP bytes nat ; UPDATE 5 ; EMPTY_BIG_MAP address bytes ; UPDATE 7 } ; DIG 2 ; PAIR ; SWAP ; DROP ; UNPAIR ; SWAP ; PUSH int 3600 ; NOW ; ADD ; UPDATE 10 ; UNIT ; SWAP } { DIG 6 ; DIG 10 ; DIG 11 ; DIG 12 ; DIG 13 ; DROP 5 ; UNIT ; DIG 5 } ; DIG 2 ; PAIR ; SWAP ; DROP ; UNPAIR ; PUSH bool True ; DIG 3 ; COMPARE ; EQ ; IF { DUP 2 ; SENDER ; PAIR ; DIG 7 ; SWAP ; EXEC ; DIG 7 ; DUP 2 ; COMPARE ; NEQ ; IF { DUP 3 ; DUP 4 ; GET 5 ; DUP 6 ; DIG 5 ; DUP 5 ; PAIR ; DUP 10 ; SWAP ; EXEC ; SUB ; ABS ; DIG 3 ; SWAP ; SOME ; SWAP ; UPDATE ; UPDATE 5 ; UNIT ; SWAP } { DROP ; UNIT ; DIG 2 } ; SWAP ; DROP ; DUP ; DUP 2 ; GET 5 ; DIG 4 ; DIG 3 ; DUP 6 ; PAIR ; DIG 7 ; SWAP ; EXEC ; ADD ; DUP 5 ; SWAP ; SOME ; SWAP ; UPDATE ; UPDATE 5 ; DUP ; GET 7 ; DIG 3 ; SENDER ; SWAP ; SOME ; SWAP ; UPDATE ; UPDATE 7 ; SWAP ; PAIR ; EXEC ; UNIT ; SWAP } { DIG 2 ; DIG 3 ; DIG 4 ; DIG 5 ; DIG 6 ; DIG 7 ; DROP 6 ; UNIT ; DUG 2 ; PAIR } ; SWAP ; DROP ; UNPAIR } ; PAIR }