x
552
parameter (or (or (or (unit %ChangeState) (pair %RecoverExcessToken (pair (nat %amount) (bool %faTwoCheck)) (pair (address %reciever) (pair (address %tokenAddress) (nat %tokenId))))) (or (pair %buy (nat %minimumxPlentyToken) (pair (nat %plentyAmount) (address %recipient))) (nat %buy_callback))) (or (or (address %changeAdmin) (address %changeRewardManager)) (or (pair %sell (nat %minimumPlenty) (pair (address %recipient) (nat %xplentyAmount))) (nat %sell_callback))));storage (pair (pair (pair (bool %Locked) (pair (address %admin) (option %minimumPlentyToken nat))) (pair (option %minimumxPlentyToken nat) (pair (bool %paused) (address %plentyTokenAddress)))) (pair (pair (option %recipientAddress address) (pair (address %rewardManagerAddress) (option %senderAddress address))) (pair (option %senderAmount nat) (pair (nat %totalSupply) (address %xPlentyTokenAddress)))));code { UNPAIR ; IF_LEFT { IF_LEFT { IF_LEFT { DROP ; DUP ; CAR ; CAR ; GET 3 ; SENDER ; COMPARE ; EQ ; IF {} { PUSH string "xPLenty_Not_Admin" ; FAILWITH } ; DUP ; UNPAIR ; UNPAIR ; SWAP ; UNPAIR ; SWAP ; CDR ; DIG 4 ; CAR ; GET 5 ; NOT ; PAIR ; SWAP ; PAIR ; SWAP ; PAIR ; PAIR ; NIL operation } { SWAP ; DUP ; DUG 2 ; CAR ; CAR ; GET 3 ; SENDER ; COMPARE ; EQ ; IF {} { PUSH string "xPLenty_Not_Admin" ; FAILWITH } ; SWAP ; DUP ; DUG 2 ; CAR ; GET 6 ; SWAP ; DUP ; DUG 2 ; GET 5 ; COMPARE ; NEQ ; IF {} { PUSH string "WrongCondition: params.tokenAddress != self.data.plentyTokenAddress" ; FAILWITH } ; DUP ; CAR ; CDR ; IF { DUP ; GET 5 ; CONTRACT %transfer (list (pair address (list (pair address (pair nat nat))))) ; IF_NONE { PUSH int 65 ; FAILWITH } {} ; NIL operation ; SWAP ; PUSH mutez 0 ; NIL (pair address (list (pair address (pair nat nat)))) ; NIL (pair address (pair nat nat)) ; DIG 5 ; DUP ; CAR ; CAR ; SWAP ; DUP ; GET 6 ; SWAP ; GET 3 ; PAIR 3 ; CONS ; SELF_ADDRESS ; PAIR ; CONS ; TRANSFER_TOKENS ; CONS } { DUP ; GET 5 ; CONTRACT %transfer (pair address (pair address nat)) ; IF_NONE { PUSH int 90 ; FAILWITH } {} ; NIL operation ; SWAP ; PUSH mutez 0 ; DIG 3 ; DUP ; CAR ; CAR ; SWAP ; GET 3 ; SELF_ADDRESS ; PAIR 3 ; TRANSFER_TOKENS ; CONS } } } { IF_LEFT { SWAP ; DUP ; DUG 2 ; CAR ; GET 5 ; IF { PUSH string "xPLenty_Paused_State" ; FAILWITH } {} ; SWAP ; UNPAIR ; UNPAIR ; CDR ; PUSH bool True ; PAIR ; PAIR ; SWAP ; UNPAIR ; GET 3 ; SENDER ; SOME ; SWAP ; PAIR ; DUP 4 ; GET 4 ; SOME ; PAIR ; PAIR ; SWAP ; PAIR ; SWAP ; DUP ; DUG 2 ; GET 3 ; SOME ; UPDATE 5 ; UNPAIR ; UNPAIR ; SWAP ; CDR ; DIG 3 ; CAR ; SOME ; PAIR ; SWAP ; PAIR ; PAIR ; DUP ; GET 3 ; GET 3 ; CONTRACT %getReward unit ; IF_NONE { PUSH int 184 ; FAILWITH } {} ; NIL operation ; SWAP ; PUSH mutez 0 ; UNIT ; TRANSFER_TOKENS ; CONS ; SWAP ; DUP ; DUG 2 ; CAR ; GET 6 ; CONTRACT %getBalance (pair address (contract nat)) ; IF_NONE { PUSH int 196 ; FAILWITH } {} ; PUSH mutez 0 ; SELF %buy_callback ; SELF_ADDRESS ; PAIR ; TRANSFER_TOKENS ; CONS } { SWAP ; DUP ; DUG 2 ; CAR ; GET 6 ; SENDER ; COMPARE ; EQ ; IF {} { PUSH string "xPLenty_Not_Plenty_Token" ; FAILWITH } ; SWAP ; DUP ; DUG 2 ; CAR ; CAR ; CAR ; IF {} { PUSH string "xPLenty_Invalid_CallBack" ; FAILWITH } ; DUP ; PUSH nat 0 ; COMPARE ; EQ ; IF { PUSH nat 0 ; DUP 3 ; GET 7 ; COMPARE ; EQ } { PUSH bool False } ; IF { DROP ; DUP ; GET 5 ; IF_NONE { PUSH int 220 ; FAILWITH } {} } { SWAP ; DUP ; GET 7 ; SWAP ; DUP ; DUG 3 ; GET 5 ; IF_NONE { PUSH int 220 ; FAILWITH } {} ; MUL ; EDIV ; IF_NONE { PUSH int 224 ; FAILWITH } { CAR } } ; SWAP ; DUP ; DUG 2 ; CAR ; GET 3 ; IF_NONE { PUSH int 228 ; FAILWITH } {} ; SWAP ; DUP ; DUG 2 ; COMPARE ; GE ; IF {} { PUSH string "WrongCondition: tokenMinted.value >= self.data.minimumxPlentyToken.open_some()" ; FAILWITH } ; SWAP ; DUP ; GET 7 ; DUP 3 ; ADD ; UPDATE 7 ; SWAP ; NIL operation ; DUP 3 ; CAR ; GET 6 ; CONTRACT %transfer (pair address (pair address nat)) ; IF_NONE { PUSH int 90 ; FAILWITH } {} ; PUSH mutez 0 ; DUP 5 ; GET 5 ; IF_NONE { PUSH int 220 ; FAILWITH } {} ; SELF_ADDRESS ; DUP 7 ; GET 3 ; GET 4 ; IF_NONE { PUSH int 234 ; FAILWITH } {} ; PAIR 3 ; TRANSFER_TOKENS ; CONS ; DUP 3 ; GET 8 ; CONTRACT %mint (pair address nat) ; IF_NONE { PUSH int 243 ; FAILWITH } {} ; PUSH mutez 0 ; DIG 3 ; DUP 5 ; GET 3 ; CAR ; IF_NONE { PUSH int 238 ; FAILWITH } {} ; PAIR ; TRANSFER_TOKENS ; CONS ; SWAP ; UNPAIR ; UNPAIR ; CDR ; PUSH bool False ; PAIR ; PAIR ; SWAP ; UNPAIR ; GET 3 ; NONE address ; SWAP ; PAIR ; NONE address ; PAIR ; PAIR ; SWAP ; PAIR ; NONE nat ; UPDATE 5 ; UNPAIR ; UNPAIR ; SWAP ; CDR ; NONE nat ; PAIR ; SWAP ; PAIR ; PAIR ; SWAP } } } { IF_LEFT { IF_LEFT { SWAP ; DUP ; DUG 2 ; CAR ; CAR ; GET 3 ; SENDER ; COMPARE ; EQ ; IF {} { PUSH string "xPLenty_Not_Admin" ; FAILWITH } ; SWAP ; UNPAIR ; UNPAIR ; UNPAIR ; SWAP ; CDR ; DIG 4 ; PAIR ; SWAP ; PAIR ; PAIR ; PAIR } { SWAP ; DUP ; DUG 2 ; CAR ; CAR ; GET 3 ; SENDER ; COMPARE ; EQ ; IF {} { PUSH string "xPLenty_Not_Admin" ; FAILWITH } ; SWAP ; UNPAIR ; SWAP ; UNPAIR ; UNPAIR ; SWAP ; CDR ; DIG 4 ; PAIR ; SWAP ; PAIR ; PAIR ; SWAP ; PAIR } ; NIL operation } { IF_LEFT { SWAP ; UNPAIR ; UNPAIR ; CDR ; PUSH bool True ; PAIR ; PAIR ; SWAP ; UNPAIR ; GET 3 ; SENDER ; SOME ; SWAP ; PAIR ; DUP 4 ; GET 3 ; SOME ; PAIR ; PAIR ; SWAP ; PAIR ; SWAP ; DUP ; DUG 2 ; GET 4 ; SOME ; UPDATE 5 ; UNPAIR ; UNPAIR ; UNPAIR ; SWAP ; CAR ; DIG 4 ; CAR ; SOME ; SWAP ; PAIR ; SWAP ; PAIR ; PAIR ; PAIR ; DUP ; GET 3 ; GET 3 ; CONTRACT %getReward unit ; IF_NONE { PUSH int 288 ; FAILWITH } {} ; NIL operation ; SWAP ; PUSH mutez 0 ; UNIT ; TRANSFER_TOKENS ; CONS ; SWAP ; DUP ; DUG 2 ; CAR ; GET 6 ; CONTRACT %getBalance (pair address (contract nat)) ; IF_NONE { PUSH int 300 ; FAILWITH } {} ; PUSH mutez 0 ; SELF %sell_callback ; SELF_ADDRESS ; PAIR ; TRANSFER_TOKENS ; CONS } { SWAP ; DUP ; DUG 2 ; CAR ; GET 6 ; SENDER ; COMPARE ; EQ ; IF {} { PUSH string "xPLenty_Not_Plenty_Token" ; FAILWITH } ; SWAP ; DUP ; DUG 2 ; CAR ; CAR ; CAR ; IF {} { PUSH string "WrongCondition: self.data.Locked" ; FAILWITH } ; SWAP ; DUP ; DUG 2 ; GET 7 ; SWAP ; DUP 3 ; GET 5 ; IF_NONE { PUSH int 220 ; FAILWITH } {} ; MUL ; EDIV ; IF_NONE { PUSH int 322 ; FAILWITH } { CAR } ; SWAP ; DUP ; DUG 2 ; CAR ; CAR ; GET 4 ; IF_NONE { PUSH int 324 ; FAILWITH } {} ; SWAP ; DUP ; DUG 2 ; COMPARE ; GE ; IF {} { PUSH string "WrongCondition: plentyAccrued.value >= self.data.minimumPlentyToken.open_some()" ; FAILWITH } ; SWAP ; DUP ; DUP ; DUG 3 ; GET 5 ; IF_NONE { PUSH int 220 ; FAILWITH } {} ; DIG 3 ; GET 7 ; SUB ; ISNAT ; IF_NONE { PUSH int 326 ; FAILWITH } {} ; UPDATE 7 ; SWAP ; NIL operation ; DUP 3 ; GET 8 ; CONTRACT %burn (pair address nat) ; IF_NONE { PUSH int 334 ; FAILWITH } {} ; PUSH mutez 0 ; DUP 5 ; GET 5 ; IF_NONE { PUSH int 220 ; FAILWITH } {} ; DUP 6 ; GET 3 ; GET 4 ; IF_NONE { PUSH int 234 ; FAILWITH } {} ; PAIR ; TRANSFER_TOKENS ; CONS ; DUP 3 ; CAR ; GET 6 ; CONTRACT %transfer (pair address (pair address nat)) ; IF_NONE { PUSH int 90 ; FAILWITH } {} ; PUSH mutez 0 ; DIG 3 ; DUP 5 ; GET 3 ; CAR ; IF_NONE { PUSH int 238 ; FAILWITH } {} ; SELF_ADDRESS ; PAIR 3 ; TRANSFER_TOKENS ; CONS ; SWAP ; UNPAIR ; SWAP ; UNPAIR ; GET 3 ; NONE address ; SWAP ; PAIR ; NONE address ; PAIR ; PAIR ; SWAP ; PAIR ; NONE nat ; UPDATE 5 ; UNPAIR ; UNPAIR ; UNPAIR ; SWAP ; CAR ; NONE nat ; SWAP ; PAIR ; SWAP ; PAIR ; PAIR ; PAIR ; SWAP } } } ; NIL operation ; SWAP ; ITER { CONS } ; PAIR }