x
955
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 %editions_punished) (bool %controller_punished) (timestamp %controller_cooldown_end));code { PUSH address "KT1Qsf5L7M7Vsv5b428VTFYG7YQdRPeUpHT9" ; PUSH nat 2 ; PUSH nat 3 ; 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 0x07000500 ; UPDATE ; PUSH bool True ; PUSH bytes 0x07000501 ; UPDATE ; PUSH bool True ; PUSH bytes 0x07000600 ; UPDATE ; PUSH bool True ; PUSH bytes 0x07000601 ; 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 0x07010500 ; UPDATE ; PUSH bool True ; PUSH bytes 0x07010501 ; UPDATE ; PUSH bool True ; PUSH bytes 0x07010600 ; UPDATE ; PUSH bool True ; PUSH bytes 0x07010601 ; 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 bool True ; PUSH bytes 0x07020500 ; UPDATE ; PUSH bool True ; PUSH bytes 0x07020501 ; UPDATE ; PUSH bool True ; PUSH bytes 0x07020600 ; UPDATE ; PUSH bool True ; PUSH bytes 0x07020601 ; UPDATE ; PUSH bytes 0x07ffffff ; LAMBDA (pair bytes (pair address (big_map string bytes) bytes (big_map bytes nat) (big_map address bytes) bool 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 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 "020601" ; SOME ; PUSH bytes 0x07020601 ; UPDATE ; PUSH string "020600" ; SOME ; PUSH bytes 0x07020600 ; UPDATE ; PUSH string "020501" ; SOME ; PUSH bytes 0x07020501 ; UPDATE ; PUSH string "020500" ; SOME ; PUSH bytes 0x07020500 ; UPDATE ; 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 "010601" ; SOME ; PUSH bytes 0x07010601 ; UPDATE ; PUSH string "010600" ; SOME ; PUSH bytes 0x07010600 ; UPDATE ; PUSH string "010501" ; SOME ; PUSH bytes 0x07010501 ; UPDATE ; PUSH string "010500" ; SOME ; PUSH bytes 0x07010500 ; 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 "000601" ; SOME ; PUSH bytes 0x07000601 ; UPDATE ; PUSH string "000600" ; SOME ; PUSH bytes 0x07000600 ; UPDATE ; PUSH string "000501" ; SOME ; PUSH bytes 0x07000501 ; UPDATE ; PUSH string "000500" ; SOME ; PUSH bytes 0x07000500 ; 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://bafybeifzcronmrkosek2ydpi7uhob7lt6rsi5qfabh3bu5nz56nyyfrj7i/" ; CONCAT ; PUSH bool True ; DIG 4 ; COMPARE ; EQ ; IF { PUSH string "01" ; SWAP ; CONCAT } { PUSH string "00" ; SWAP ; CONCAT } ; PUSH string ".json" ; SWAP ; CONCAT ; EMPTY_MAP string bytes ; SWAP ; 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 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 bool timestamp)) (pair (list operation) (big_map string bytes) bytes (big_map bytes nat) (big_map address bytes) bool bool timestamp) { UNPAIR ; UNPAIR 7 ; DIG 7 ; UNPAIR ; DUP 5 ; PUSH nat 0 ; PUSH nat 0 ; DIG 8 ; ITER { DUP 6 ; DUP 2 ; PAIR ; DUP 9 ; SWAP ; EXEC ; DUP 4 ; DUP 2 ; COMPARE ; GT ; IF { DIG 3 ; DIG 4 ; DROP 2 ; DUP ; DUG 3 ; SWAP ; DUG 3 } { SWAP ; DROP } ; ADD } ; DIG 6 ; DROP ; 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 4 ; 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 ; PUSH bool True ; DUP 4 ; GET 9 ; COMPARE ; EQ ; DUP 2 ; DUP 5 ; GET 3 ; COMPARE ; NEQ ; OR ; IF { DIG 2 ; DUP 2 ; UPDATE 3 ; PUSH bool False ; UPDATE 9 ; DUG 2 ; SWAP ; PUSH bool False ; DIG 2 ; DIG 5 ; PAIR ; PAIR ; DIG 3 ; SWAP ; EXEC ; CONS } { DIG 3 ; DIG 4 ; DROP 3 } } { SWAP ; DROP ; DIG 4 ; SWAP ; COMPARE ; GE ; IF { SWAP ; PUSH bool True ; UPDATE 9 ; SWAP ; PUSH bool True ; DUP 3 ; GET 3 ; DIG 5 ; PAIR ; PAIR ; DIG 3 ; SWAP ; EXEC ; CONS } { DIG 2 ; DIG 3 ; DROP 2 } } } { SWAP ; DIG 2 ; DIG 5 ; DIG 6 ; DIG 7 ; DIG 8 ; DROP 7 } ; PAIR } ; DUP 10 ; DUP 9 ; DUP 9 ; DUP 9 ; DUP 9 ; DUP 8 ; DUP 8 ; PAIR 7 ; APPLY ; DIG 10 ; UNPAIR ; SWAP ; PUSH mutez 0 ; AMOUNT ; COMPARE ; NEQ ; IF { PUSH string "DONT_SEND_TEZ" ; FAILWITH } {} ; SWAP ; IF_LEFT { DIG 3 ; DIG 7 ; DIG 8 ; DIG 10 ; DROP 4 ; SWAP ; DIG 7 ; SENDER ; COMPARE ; NEQ ; IF { PUSH string "INVALID_TRANSFER_HOOK_ACCESS" ; FAILWITH } {} ; PUSH bool False ; DIG 2 ; ITER { DUP ; CDR ; ITER { DUP 9 ; DUP 2 ; GET 3 ; COMPARE ; EQ ; IF { DUP 4 ; DUP 3 ; CAR ; PAIR ; DUP 8 ; SWAP ; EXEC ; DUP 5 ; DUP 3 ; CAR ; PAIR ; DUP 9 ; SWAP ; EXEC ; DUP ; DUP 3 ; COMPARE ; NEQ ; IF { DUP 10 ; DUP 3 ; COMPARE ; NEQ ; IF { DIG 4 ; DROP ; DUP 5 ; DUP 6 ; GET 5 ; DUP 5 ; GET 4 ; DIG 7 ; DUP 6 ; PAIR ; DUP 10 ; SWAP ; EXEC ; SUB ; ABS ; DIG 4 ; SWAP ; SOME ; SWAP ; UPDATE ; UPDATE 5 ; DUG 3 ; PUSH bool True ; DUG 3 } { SWAP ; DROP } ; DUP 9 ; DUP 2 ; COMPARE ; NEQ ; IF { DIG 3 ; DROP ; DUP 4 ; DUP 5 ; GET 5 ; DIG 3 ; GET 4 ; DIG 5 ; DUP 5 ; PAIR ; DUP 8 ; SWAP ; EXEC ; ADD ; DIG 3 ; SWAP ; SOME ; SWAP ; UPDATE ; UPDATE 5 ; SWAP ; PUSH bool True ; SWAP } { DROP 2 } } { DROP 3 } } { DROP } } ; DROP } ; DIG 3 ; DIG 4 ; DIG 5 ; DIG 6 ; DROP 4 ; NIL operation ; PUSH bool True ; DIG 2 ; COMPARE ; EQ ; IF { PAIR ; EXEC ; DUP ; CAR ; SWAP ; CDR ; SWAP } { DIG 2 ; DROP } } { SWAP ; NOW ; PUSH timestamp 1667257200 ; COMPARE ; GT ; IF { PUSH string "Voting opens at 7PM Est" ; FAILWITH } {} ; PUSH bool False ; DIG 8 ; DUP 4 ; 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 5 ; GET 12 ; COMPARE ; GT ; IF { PUSH string "Calm down and wait!" ; FAILWITH } {} ; PUSH bool True ; DUP 5 ; GET 11 ; COMPARE ; EQ ; IF { DIG 10 ; DIG 11 ; DIG 13 ; DROP 3 ; DUP 4 ; GET 3 ; DUP 6 ; COMPARE ; EQ ; IF { PUSH bool False ; DUP 6 ; DIG 12 ; PAIR ; PAIR ; DIG 7 ; SWAP ; EXEC ; CONS ; DIG 3 ; PUSH bool False ; UPDATE 11 ; DUG 3 } { DIG 6 ; DIG 10 ; DROP 2 } } { DIG 13 ; DUP 13 ; VIEW "total_supply" nat ; IF_NONE { PUSH string "option is None" ; FAILWITH } {} ; DUP 5 ; DUP 6 ; 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 7 ; DIG 14 ; PAIR ; PAIR ; DUP 9 ; SWAP ; EXEC ; CONS ; SWAP ; DIG 4 ; PUSH bool False ; UPDATE 9 ; DUG 4 ; DIG 11 ; SWAP ; COMPARE ; LT ; IF { PUSH bool False ; DUP 6 ; DIG 12 ; PAIR ; PAIR ; DIG 7 ; SWAP ; EXEC ; CONS } { PUSH bool True ; DUP 6 ; DIG 12 ; PAIR ; PAIR ; DIG 7 ; SWAP ; EXEC ; CONS ; DIG 3 ; PUSH bool True ; UPDATE 11 ; DUG 3 } ; DIG 3 ; EMPTY_BIG_MAP bytes nat ; UPDATE 5 ; EMPTY_BIG_MAP address bytes ; UPDATE 7 ; DUG 3 } ; DIG 3 ; PUSH int 3600 ; NOW ; ADD ; UPDATE 12 ; DUG 3 } { DIG 6 ; DIG 10 ; DIG 11 ; DIG 12 ; DIG 13 ; DROP 5 } ; PUSH bool True ; DIG 2 ; COMPARE ; EQ ; IF { DUP 3 ; SENDER ; PAIR ; DIG 7 ; SWAP ; EXEC ; DIG 7 ; DUP 2 ; COMPARE ; NEQ ; IF { DUP 4 ; DUP 5 ; GET 5 ; DUP 5 ; DIG 6 ; DUP 5 ; PAIR ; DUP 10 ; SWAP ; EXEC ; SUB ; ABS ; DIG 3 ; SWAP ; SOME ; SWAP ; UPDATE ; UPDATE 5 ; DUG 2 } { DROP } ; DUP 3 ; DUP 4 ; GET 5 ; DIG 3 ; DIG 4 ; DUP 6 ; PAIR ; DIG 7 ; SWAP ; EXEC ; ADD ; DUP 5 ; SWAP ; SOME ; SWAP ; UPDATE ; UPDATE 5 ; SWAP ; DUP 2 ; DIG 2 ; GET 7 ; DIG 3 ; SENDER ; SWAP ; SOME ; SWAP ; UPDATE ; UPDATE 7 ; SWAP ; PAIR ; EXEC ; DUP ; CAR ; SWAP ; CDR ; SWAP } { SWAP ; DIG 3 ; DIG 4 ; DIG 5 ; DIG 6 ; DIG 7 ; DROP 6 } } ; PAIR }