x
634
parameter (or (address %add_whitelist) (or (address %rm_whitelist) (or (pair %addupdate_evse (string %id) (pair (address %iaddr) (pair (address %imng) (pair (string %iurl) (pair (nat %iport) (address %iowner)))))) (or (string %delete_evse) (or (address %transfer_admin) (unit %accept_admin))))));storage (pair (address %admin) (pair (address %admin_candidate) (pair (map %evse string (pair address (pair address address))) (pair (map %evsemanager address (pair string (pair nat (set string)))) (pair (map %owner address (set string)) (pair (set %whitelist address) (big_map %metadata string bytes)))))));code { { { DUP ; CAR ; DIP { CDR } } } ; DIP { { { DUP ; CAR ; DIP { CDR } } } ; SWAP ; { { DUP ; CAR ; DIP { CDR } } } ; SWAP ; { { DUP ; CAR ; DIP { CDR } } } ; SWAP ; { { DUP ; CAR ; DIP { CDR } } } ; SWAP ; { { DUP ; CAR ; DIP { CDR } } } ; SWAP ; { { DUP ; CAR ; DIP { CDR } } } ; SWAP } ; IF_LEFT { DIG 7 ; DUP ; DUG 8 ; SENDER ; COMPARE ; EQ ; NOT ; IF { PUSH string "InvalidCaller" ; FAILWITH } {} ; DIG 2 ; DUP ; DUG 3 ; DIG 1 ; DUP ; DUG 2 ; MEM ; IF { PUSH string "KeyAlreadyExists" ; FAILWITH } { DIG 2 ; DUP ; DUG 3 ; PUSH bool True ; DIG 2 ; DUP ; DUG 3 ; UPDATE ; DIP { DIG 2 ; DROP } ; DUG 2 } ; DROP ; SWAP ; PAIR ; SWAP ; PAIR ; SWAP ; PAIR ; SWAP ; PAIR ; SWAP ; PAIR ; SWAP ; PAIR ; NIL operation ; PAIR } { IF_LEFT { DIG 7 ; DUP ; DUG 8 ; SENDER ; COMPARE ; EQ ; NOT ; IF { PUSH string "InvalidCaller" ; FAILWITH } {} ; DIG 2 ; DUP ; DUG 3 ; PUSH bool False ; DIG 2 ; DUP ; DUG 3 ; UPDATE ; DIP { DIG 2 ; DROP } ; DUG 2 ; DROP ; SWAP ; PAIR ; SWAP ; PAIR ; SWAP ; PAIR ; SWAP ; PAIR ; SWAP ; PAIR ; SWAP ; PAIR ; NIL operation ; PAIR } { IF_LEFT { { { DUP ; CAR ; DIP { CDR } } } ; SWAP ; { { DUP ; CAR ; DIP { CDR } } } ; SWAP ; { { DUP ; CAR ; DIP { CDR } } } ; SWAP ; { { DUP ; CAR ; DIP { CDR } } } ; SWAP ; { { DUP ; CAR ; DIP { CDR } } } ; SWAP ; DIG 7 ; DUP ; DUG 8 ; SENDER ; MEM ; NOT ; IF { PUSH string "InvalidCondition: r1" ; FAILWITH } {} ; DIG 10 ; DUP ; DUG 11 ; DIG 6 ; DUP ; DUG 7 ; MEM ; IF { DIG 10 ; DUP ; DUG 11 ; NONE (pair address (pair address address)) ; DIG 7 ; DUP ; DUG 8 ; UPDATE ; DIP { DIG 10 ; DROP } ; DUG 10 ; DIG 9 ; DUP ; DUG 10 ; DIG 10 ; DUP ; DUG 11 ; DIG 5 ; DUP ; DUG 6 ; GET ; IF_NONE { PUSH string "GetNoneValue" ; FAILWITH } {} ; { { DUP ; CAR ; DIP { CDR } } } ; SWAP ; { { DUP ; CAR ; DIP { CDR } } } ; SWAP ; DROP ; DIG 12 ; DUP ; DUG 13 ; DIG 7 ; DUP ; DUG 8 ; GET ; IF_NONE { PUSH string "GetNoneValue" ; FAILWITH } {} ; CDR ; CDR ; PUSH bool False ; DIG 10 ; DUP ; DUG 11 ; UPDATE ; SWAP ; PAIR ; SWAP ; PAIR ; SOME ; DIG 5 ; DUP ; DUG 6 ; UPDATE ; DIP { DIG 9 ; DROP } ; DUG 9 ; DIG 8 ; DUP ; DUG 9 ; DIG 9 ; DUP ; DUG 10 ; DIG 2 ; DUP ; DUG 3 ; GET ; IF_NONE { PUSH string "GetNoneValue" ; FAILWITH } {} ; PUSH bool False ; DIG 8 ; DUP ; DUG 9 ; UPDATE ; SOME ; DIG 2 ; DUP ; DUG 3 ; UPDATE ; DIP { DIG 8 ; DROP } ; DUG 8 } {} ; DIG 10 ; DUP ; DUG 11 ; DIG 1 ; DUP ; DUG 2 ; DIG 5 ; DUP ; DUG 6 ; PAIR ; DIG 6 ; DUP ; DUG 7 ; PAIR ; SOME ; DIG 7 ; DUP ; DUG 8 ; UPDATE ; DIP { DIG 10 ; DROP } ; DUG 10 ; DIG 9 ; DUP ; DUG 10 ; DIG 4 ; DUP ; DUG 5 ; MEM ; IF { DIG 10 ; DUP ; DUG 11 ; DIG 6 ; DUP ; DUG 7 ; MEM ; IF { DIG 9 ; DUP ; DUG 10 ; DIG 4 ; DUP ; DUG 5 ; GET ; IF_NONE { PUSH string "GetNoneValue" ; FAILWITH } {} ; DIG 10 ; DUP ; DUG 11 ; DIG 11 ; DUP ; DUG 12 ; DIG 6 ; DUP ; DUG 7 ; GET ; IF_NONE { PUSH string "GetNoneValue" ; FAILWITH } {} ; { { DUP ; CAR ; DIP { CDR } } } ; DROP ; DIG 5 ; DUP ; DUG 6 ; SWAP ; { { DUP ; CAR ; DIP { CDR } } } ; DROP ; DIG 5 ; DUP ; DUG 6 ; SWAP ; DROP ; DIG 3 ; DUP ; DUG 4 ; CDR ; CDR ; PUSH bool True ; DIG 11 ; DUP ; DUG 12 ; UPDATE ; SWAP ; PAIR ; SWAP ; PAIR ; SOME ; DIG 6 ; DUP ; DUG 7 ; UPDATE ; DIP { DIG 10 ; DROP } ; DUG 10 ; DROP } { PUSH string "KeyNotFound" ; FAILWITH } } { DIG 9 ; DUP ; DUG 10 ; DIG 4 ; DUP ; DUG 5 ; MEM ; IF { PUSH string "KeyAlreadyExists" ; FAILWITH } { DIG 10 ; DUP ; DUG 11 ; DIG 6 ; DUP ; DUG 7 ; MEM ; IF { DIG 9 ; DUP ; DUG 10 ; EMPTY_SET string ; PUSH bool True ; DIG 8 ; DUP ; DUG 9 ; UPDATE ; DIG 3 ; DUP ; DUG 4 ; PAIR ; DIG 4 ; DUP ; DUG 5 ; PAIR ; SOME ; DIG 5 ; DUP ; DUG 6 ; UPDATE ; DIP { DIG 9 ; DROP } ; DUG 9 } { PUSH string "KeyNotFound" ; FAILWITH } } } ; DIG 8 ; DUP ; DUG 9 ; DIG 1 ; DUP ; DUG 2 ; MEM ; IF { DIG 10 ; DUP ; DUG 11 ; DIG 6 ; DUP ; DUG 7 ; MEM ; IF { DIG 8 ; DUP ; DUG 9 ; DIG 1 ; DUP ; DUG 2 ; GET ; IF_NONE { PUSH string "GetNoneValue" ; FAILWITH } {} ; DIG 9 ; DUP ; DUG 10 ; DIG 1 ; DUP ; DUG 2 ; PUSH bool True ; DIG 9 ; DUP ; DUG 10 ; UPDATE ; SOME ; DIG 3 ; DUP ; DUG 4 ; UPDATE ; DIP { DIG 9 ; DROP } ; DUG 9 ; DROP } { PUSH string "KeyNotFound" ; FAILWITH } } { DIG 8 ; DUP ; DUG 9 ; DIG 1 ; DUP ; DUG 2 ; MEM ; IF { PUSH string "KeyAlreadyExists" ; FAILWITH } { DIG 10 ; DUP ; DUG 11 ; DIG 6 ; DUP ; DUG 7 ; MEM ; IF { DIG 8 ; DUP ; DUG 9 ; EMPTY_SET string ; PUSH bool True ; DIG 8 ; DUP ; DUG 9 ; UPDATE ; SOME ; DIG 2 ; DUP ; DUG 3 ; UPDATE ; DIP { DIG 8 ; DROP } ; DUG 8 } { PUSH string "KeyNotFound" ; FAILWITH } } } ; DROP 6 ; SWAP ; PAIR ; SWAP ; PAIR ; SWAP ; PAIR ; SWAP ; PAIR ; SWAP ; PAIR ; SWAP ; PAIR ; NIL operation ; PAIR } { IF_LEFT { DIG 7 ; DUP ; DUG 8 ; SENDER ; COMPARE ; EQ ; DIG 3 ; DUP ; DUG 4 ; SENDER ; MEM ; OR ; NOT ; IF { PUSH string "InvalidCondition: r2" ; FAILWITH } {} ; DIG 4 ; DUP ; DUG 5 ; DIG 5 ; DUP ; DUG 6 ; DIG 7 ; DUP ; DUG 8 ; DIG 3 ; DUP ; DUG 4 ; GET ; IF_NONE { PUSH string "GetNoneValue" ; FAILWITH } {} ; CDR ; CAR ; GET ; IF_NONE { PUSH string "GetNoneValue" ; FAILWITH } {} ; { { DUP ; CAR ; DIP { CDR } } } ; SWAP ; { { DUP ; CAR ; DIP { CDR } } } ; SWAP ; DROP ; DIG 7 ; DUP ; DUG 8 ; DIG 9 ; DUP ; DUG 10 ; DIG 5 ; DUP ; DUG 6 ; GET ; IF_NONE { PUSH string "GetNoneValue" ; FAILWITH } {} ; CDR ; CAR ; GET ; IF_NONE { PUSH string "GetNoneValue" ; FAILWITH } {} ; CDR ; CDR ; PUSH bool False ; DIG 5 ; DUP ; DUG 6 ; UPDATE ; SWAP ; PAIR ; SWAP ; PAIR ; SOME ; DIG 7 ; DUP ; DUG 8 ; DIG 3 ; DUP ; DUG 4 ; GET ; IF_NONE { PUSH string "GetNoneValue" ; FAILWITH } {} ; CDR ; CAR ; UPDATE ; DIP { DIG 4 ; DROP } ; DUG 4 ; DIG 3 ; DUP ; DUG 4 ; DIG 4 ; DUP ; DUG 5 ; DIG 7 ; DUP ; DUG 8 ; DIG 3 ; DUP ; DUG 4 ; GET ; IF_NONE { PUSH string "GetNoneValue" ; FAILWITH } {} ; CDR ; CDR ; GET ; IF_NONE { PUSH string "GetNoneValue" ; FAILWITH } {} ; PUSH bool False ; DIG 3 ; DUP ; DUG 4 ; UPDATE ; SOME ; DIG 7 ; DUP ; DUG 8 ; DIG 3 ; DUP ; DUG 4 ; GET ; IF_NONE { PUSH string "GetNoneValue" ; FAILWITH } {} ; CDR ; CDR ; UPDATE ; DIP { DIG 3 ; DROP } ; DUG 3 ; DIG 5 ; DUP ; DUG 6 ; NONE (pair address (pair address address)) ; DIG 2 ; DUP ; DUG 3 ; UPDATE ; DIP { DIG 5 ; DROP } ; DUG 5 ; DROP ; SWAP ; PAIR ; SWAP ; PAIR ; SWAP ; PAIR ; SWAP ; PAIR ; SWAP ; PAIR ; SWAP ; PAIR ; NIL operation ; PAIR } { IF_LEFT { DIG 7 ; DUP ; DUG 8 ; SENDER ; COMPARE ; EQ ; NOT ; IF { PUSH string "InvalidCaller" ; FAILWITH } {} ; DUP ; DIP { DIG 6 ; DROP } ; DUG 6 ; DROP ; SWAP ; PAIR ; SWAP ; PAIR ; SWAP ; PAIR ; SWAP ; PAIR ; SWAP ; PAIR ; SWAP ; PAIR ; NIL operation ; PAIR } { DROP ; DIG 5 ; DUP ; DUG 6 ; SENDER ; COMPARE ; EQ ; NOT ; IF { PUSH string "InvalidCaller" ; FAILWITH } {} ; DIG 5 ; DUP ; DUG 6 ; DIP { DIG 6 ; DROP } ; DUG 6 ; SWAP ; PAIR ; SWAP ; PAIR ; SWAP ; PAIR ; SWAP ; PAIR ; SWAP ; PAIR ; SWAP ; PAIR ; NIL operation ; PAIR } } } } } }