x
204
parameter (or (or (or (unit %clear_processors) (unit %default)) (or (address %propose_administrator) (address %remove_administrator))) (or (or (unit %set_administrator) (pair %set_manager (address %address) (key %pub_key))) (or (string %set_monitoring_peer_id) (or (map %set_processors string (pair (address %address) (pair (bytes %pub_key) (bool %isLeader)))) (pair %set_script (string %script) (string %hash))))));storage (pair (big_map %administrators address int) (pair (string %hash) (pair (address %manager_address) (pair (key %manager_pub_key) (pair (string %monitoring_peer_id) (pair (map %processors string (pair (address %address) (pair (bytes %pub_key) (bool %isLeader)))) (string %script)))))));code { LAMBDA (pair unit (pair (big_map address int) (pair string (pair address (pair key (pair string (pair (map string (pair address (pair bytes bool))) string))))))) (pair unit (pair (big_map address int) (pair string (pair address (pair key (pair string (pair (map string (pair address (pair bytes bool))) string))))))) { CDR ; DUP ; CAR ; SENDER ; MEM ; IF {} { PUSH string "Unauthorized" ; FAILWITH } ; PUSH int 1 ; DUP 2 ; CAR ; SENDER ; GET ; IF_NONE { PUSH int 19 ; FAILWITH } {} ; COMPARE ; EQ ; IF {} { PUSH string "Unauthorized. Proposal is still pending." ; FAILWITH } ; UNIT ; PAIR } ; SWAP ; UNPAIR ; IF_LEFT { IF_LEFT { IF_LEFT { DROP ; UNIT ; PAIR ; EXEC ; CDR ; EMPTY_MAP string (pair address (pair bytes bool)) ; UPDATE 11 ; NIL operation } { DROP ; SWAP ; DROP ; NIL operation ; SENDER ; CONTRACT unit ; IF_NONE { PUSH int 90 ; FAILWITH } {} ; AMOUNT ; UNIT ; TRANSFER_TOKENS ; CONS } } { IF_LEFT { PUSH mutez 0 ; AMOUNT ; COMPARE ; EQ ; IF {} { PUSH string "No tez accepted" ; FAILWITH } ; DIG 2 ; UNIT ; SWAP ; DIG 3 ; DIG 2 ; PAIR ; EXEC ; CDR ; DUP ; CAR ; PUSH (option int) (Some 0) ; DIG 3 ; UPDATE ; UPDATE 1 } { PUSH mutez 0 ; AMOUNT ; COMPARE ; EQ ; IF {} { PUSH string "No tez accepted" ; FAILWITH } ; DIG 2 ; UNIT ; SWAP ; DIG 3 ; DIG 2 ; PAIR ; EXEC ; CDR ; DUP ; CAR ; NONE int ; DIG 3 ; UPDATE ; UPDATE 1 } ; NIL operation } } { IF_LEFT { DIG 2 ; DROP ; IF_LEFT { DROP ; PUSH mutez 0 ; AMOUNT ; COMPARE ; EQ ; IF {} { PUSH string "No tez accepted" ; FAILWITH } ; DUP ; CAR ; SENDER ; MEM ; IF {} { PUSH string "Unauthorized" ; FAILWITH } ; PUSH int 0 ; DUP 2 ; CAR ; SENDER ; GET ; IF_NONE { PUSH int 42 ; FAILWITH } {} ; COMPARE ; EQ ; IF {} { PUSH string "Not a proposed administrator" ; FAILWITH } ; DUP ; CAR ; PUSH (option int) (Some 1) ; SENDER ; UPDATE ; UPDATE 1 } { PUSH bool False ; DUP 3 ; GET 11 ; ITER { CDR ; CAR ; SENDER ; COMPARE ; EQ ; IF { DROP ; PUSH bool True } {} } ; IF {} { PUSH string "Not found." ; FAILWITH } ; SWAP ; DUP 2 ; CAR ; UPDATE 5 ; SWAP ; CDR ; UPDATE 7 } } { IF_LEFT { DIG 2 ; UNIT ; SWAP ; DIG 3 ; DIG 2 ; PAIR ; EXEC ; CDR ; SWAP ; UPDATE 9 } { IF_LEFT { DIG 2 ; UNIT ; SWAP ; DIG 3 ; DIG 2 ; PAIR ; EXEC ; CDR ; SWAP ; UPDATE 11 ; PUSH int 0 ; DUP 2 ; GET 11 ; ITER { CDR ; GET 4 ; IF { PUSH int 1 ; ADD } {} } ; PUSH int 1 ; COMPARE ; EQ ; IF {} { PUSH string "Invalid processors map." ; FAILWITH } } { DIG 2 ; UNIT ; SWAP ; DIG 3 ; DIG 2 ; PAIR ; EXEC ; CDR ; DUP 2 ; CAR ; UPDATE 12 ; SWAP ; CDR ; UPDATE 3 } } } ; NIL operation } ; PAIR }