x
1029
parameter (or
(or
(or (or (nat %add_reserve_fund) (unit %claimRewardFlex))
(or
(pair %createStakingOption (nat %id)
(pair (nat %rate)
(pair (nat %max)
(pair (nat %min)
(int %duration)))))
(or (nat %deleteStakingOption) (nat %stakeFlex))))
(or
(or (pair %stakeLock (nat %amount) (nat %pack))
(or (nat %unstakeFlex) (pair %unstakeLock (nat %index) (nat %pack))))
(or (address %updateAdmin)
(or (address %updateContract) (nat %updateMaxValuesNb)))))
(or
(or (or (bytes %updateMetadata) (unit %updatePauseFlex))
(or (unit %updatePauseLock)
(or (address %updateReserve) (nat %updateStakingFlexRate))))
(or
(or (pair %updateStakingOptionDuration (nat %id) (int %duration))
(or (pair %updateStakingOptionMax (nat %id) (nat %max))
(pair %updateStakingOptionMin (nat %id) (nat %min))))
(or (pair %updateStakingOptionRate (nat %id) (nat %rate))
(or (address %updateVotingContract) (unit %withdraw))))));
storage (pair
(pair
(pair
(pair (address %FA12TokenContract)
(big_map %UserStakeLockPackNextIndex address (map nat nat)))
(pair (big_map %addressId address nat) (address %admin)))
(pair (pair (nat %maxValuesNb) (big_map %metadata string bytes))
(pair (int %numberOfStakers)
(pair (bool %pauseFlex) (bool %pauseLock)))))
(pair
(pair (pair (big_map %redeemedRewards address nat) (address %reserve))
(pair (nat %reserveFunds)
(pair (nat %stakeFlexLength)
(big_map %stakingHistory timestamp int))))
(pair
(pair
(map %stakingOptions nat
(pair (pair (nat %maxStake) (nat %minStake))
(pair (nat %stakingPercentage)
(int %stakingPeriod))))
(nat %totalRedeemedRewards))
(pair
(big_map %userStakeFlexPack nat
(map address
(pair (pair (nat %rate) (nat %reward))
(pair (timestamp %timestamp)
(nat %value)))))
(pair
(big_map %userStakeLockPack address
(map nat
(map nat
(pair
(pair (int %period)
(nat %rate))
(pair (timestamp %timestamp)
(nat %value))))))
(option %votingContract address))))));
code { LAMBDA
(pair address
(pair
(pair
(pair (pair address (big_map address (map nat nat)))
(pair (big_map address nat) address))
(pair (pair nat (big_map string bytes)) (pair int (pair bool bool))))
(pair
(pair (pair (big_map address nat) address)
(pair nat (pair nat (big_map timestamp int))))
(pair (pair (map nat (pair (pair nat nat) (pair nat int))) nat)
(pair
(big_map nat
(map address
(pair (pair nat nat) (pair timestamp nat))))
(pair
(big_map address
(map nat
(map nat
(pair (pair int nat)
(pair timestamp nat)))))
(option address)))))))
(pair bool
(pair
(pair
(pair (pair address (big_map address (map nat nat)))
(pair (big_map address nat) address))
(pair (pair nat (big_map string bytes)) (pair int (pair bool bool))))
(pair
(pair (pair (big_map address nat) address)
(pair nat (pair nat (big_map timestamp int))))
(pair (pair (map nat (pair (pair nat nat) (pair nat int))) nat)
(pair
(big_map nat
(map address
(pair (pair nat nat) (pair timestamp nat))))
(pair
(big_map address
(map nat
(map nat
(pair (pair int nat)
(pair timestamp nat)))))
(option address)))))))
{ UNPAIR ;
SWAP ;
DUP ;
DUG 2 ;
GET 10 ;
IF_NONE
{ DROP ; PUSH bool False }
{ DROP ; SWAP ; DUP ; DUG 2 ; GET 10 ; IF_NONE { PUSH int 163 ; FAILWITH } {} ; COMPARE ; EQ } ;
PAIR } ;
SWAP ;
LAMBDA
(pair (pair nat (pair nat (pair (pair int nat) (pair timestamp nat))))
(pair (list operation)
(pair
(pair
(pair (pair address (big_map address (map nat nat)))
(pair (big_map address nat) address))
(pair (pair nat (big_map string bytes))
(pair int (pair bool bool))))
(pair
(pair (pair (big_map address nat) address)
(pair nat (pair nat (big_map timestamp int))))
(pair (pair (map nat (pair (pair nat nat) (pair nat int))) nat)
(pair
(big_map nat
(map address
(pair (pair nat nat) (pair timestamp nat))))
(pair
(big_map address
(map nat
(map nat
(pair (pair int nat)
(pair timestamp nat)))))
(option address))))))))
(pair unit
(pair (list operation)
(pair
(pair
(pair (pair address (big_map address (map nat nat)))
(pair (big_map address nat) address))
(pair (pair nat (big_map string bytes))
(pair int (pair bool bool))))
(pair
(pair (pair (big_map address nat) address)
(pair nat (pair nat (big_map timestamp int))))
(pair (pair (map nat (pair (pair nat nat) (pair nat int))) nat)
(pair
(big_map nat
(map address
(pair (pair nat nat) (pair timestamp nat))))
(pair
(big_map address
(map nat
(map nat
(pair (pair int nat)
(pair timestamp nat)))))
(option address))))))))
{ UNPAIR 3 ;
SWAP ;
DUP 3 ;
CAR ;
CAR ;
CAR ;
CAR ;
CONTRACT %transfer (pair (address %from) (pair (address %to) (nat %value))) ;
IF_NONE { PUSH int 439 ; FAILWITH } {} ;
PUSH mutez 0 ;
PUSH nat 100 ;
PUSH nat 10000000000 ;
MUL ;
DIG 4 ;
DUP ;
GET 8 ;
SWAP ;
DUP ;
DUG 6 ;
GET 5 ;
CDR ;
PUSH timestamp "1970-01-01T00:00:00Z" ;
PUSH int 31536000 ;
PUSH timestamp "1970-01-01T00:00:00Z" ;
ADD ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 546 ; FAILWITH } {} ;
DIG 7 ;
DUP ;
GET 7 ;
SWAP ;
DUP ;
GET 5 ;
CAR ;
SWAP ;
DUP ;
DUG 10 ;
GET 7 ;
ADD ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 546 ; FAILWITH } {} ;
PUSH nat 10000000000 ;
MUL ;
EDIV ;
IF_NONE { PUSH int 546 ; FAILWITH } { CAR } ;
MUL ;
MUL ;
EDIV ;
IF_NONE { PUSH int 549 ; FAILWITH } { CAR } ;
DUP 5 ;
GET 8 ;
ADD ;
SENDER ;
DUP 7 ;
GET 3 ;
CAR ;
CDR ;
PAIR 3 ;
TRANSFER_TOKENS ;
CONS ;
DUP 3 ;
GET 3 ;
CAR ;
CAR ;
SENDER ;
MEM ;
IF
{ DIG 2 ;
UNPAIR ;
SWAP ;
UNPAIR ;
UNPAIR ;
UNPAIR ;
DUP ;
SENDER ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 559 ; FAILWITH } {} ;
PUSH nat 100 ;
PUSH nat 10000000000 ;
MUL ;
DIG 9 ;
DUP ;
GET 8 ;
SWAP ;
DUP ;
DUG 11 ;
GET 5 ;
CDR ;
PUSH timestamp "1970-01-01T00:00:00Z" ;
PUSH int 31536000 ;
PUSH timestamp "1970-01-01T00:00:00Z" ;
ADD ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 546 ; FAILWITH } {} ;
DIG 12 ;
DUP ;
GET 7 ;
SWAP ;
DUP ;
GET 5 ;
CAR ;
SWAP ;
DUP ;
DUG 15 ;
GET 7 ;
ADD ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 546 ; FAILWITH } {} ;
PUSH nat 10000000000 ;
MUL ;
EDIV ;
IF_NONE { PUSH int 546 ; FAILWITH } { CAR } ;
MUL ;
MUL ;
EDIV ;
IF_NONE { PUSH int 549 ; FAILWITH } { CAR } ;
ADD ;
SOME ;
SWAP ;
UPDATE ;
PAIR ;
PAIR ;
PAIR ;
SWAP ;
PAIR ;
DUG 2 }
{ DIG 2 ;
UNPAIR ;
SWAP ;
UNPAIR ;
UNPAIR ;
UNPAIR ;
PUSH nat 100 ;
PUSH nat 10000000000 ;
MUL ;
DIG 7 ;
DUP ;
GET 8 ;
SWAP ;
DUP ;
DUG 9 ;
GET 5 ;
CDR ;
PUSH timestamp "1970-01-01T00:00:00Z" ;
PUSH int 31536000 ;
PUSH timestamp "1970-01-01T00:00:00Z" ;
ADD ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 546 ; FAILWITH } {} ;
DIG 10 ;
DUP ;
GET 7 ;
SWAP ;
DUP ;
GET 5 ;
CAR ;
SWAP ;
DUP ;
DUG 13 ;
GET 7 ;
ADD ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 546 ; FAILWITH } {} ;
PUSH nat 10000000000 ;
MUL ;
EDIV ;
IF_NONE { PUSH int 546 ; FAILWITH } { CAR } ;
MUL ;
MUL ;
EDIV ;
IF_NONE { PUSH int 549 ; FAILWITH } { CAR } ;
SOME ;
SENDER ;
UPDATE ;
PAIR ;
PAIR ;
PAIR ;
SWAP ;
PAIR ;
DUG 2 } ;
DIG 2 ;
UNPAIR ;
SWAP ;
UNPAIR ;
SWAP ;
UNPAIR ;
UNPAIR ;
SWAP ;
PUSH nat 100 ;
PUSH nat 10000000000 ;
MUL ;
DIG 7 ;
DUP ;
GET 8 ;
SWAP ;
DUP ;
DUG 9 ;
GET 5 ;
CDR ;
PUSH timestamp "1970-01-01T00:00:00Z" ;
PUSH int 31536000 ;
PUSH timestamp "1970-01-01T00:00:00Z" ;
ADD ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 546 ; FAILWITH } {} ;
DIG 10 ;
DUP ;
GET 7 ;
SWAP ;
DUP ;
GET 5 ;
CAR ;
SWAP ;
DUP ;
DUG 13 ;
GET 7 ;
ADD ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 546 ; FAILWITH } {} ;
PUSH nat 10000000000 ;
MUL ;
EDIV ;
IF_NONE { PUSH int 546 ; FAILWITH } { CAR } ;
MUL ;
MUL ;
EDIV ;
IF_NONE { PUSH int 549 ; FAILWITH } { CAR } ;
ADD ;
SWAP ;
PAIR ;
PAIR ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
DUP ;
DUG 3 ;
UNPAIR ;
SWAP ;
UNPAIR ;
UNPAIR ;
SWAP ;
CDR ;
PUSH nat 100 ;
PUSH nat 10000000000 ;
MUL ;
DIG 6 ;
DUP ;
GET 8 ;
SWAP ;
DUP ;
DUG 8 ;
GET 5 ;
CDR ;
PUSH timestamp "1970-01-01T00:00:00Z" ;
PUSH int 31536000 ;
PUSH timestamp "1970-01-01T00:00:00Z" ;
ADD ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 546 ; FAILWITH } {} ;
DIG 9 ;
DUP ;
GET 7 ;
SWAP ;
DUP ;
GET 5 ;
CAR ;
SWAP ;
DUP ;
DUG 12 ;
GET 7 ;
ADD ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 546 ; FAILWITH } {} ;
PUSH nat 10000000000 ;
MUL ;
EDIV ;
IF_NONE { PUSH int 546 ; FAILWITH } { CAR } ;
MUL ;
MUL ;
EDIV ;
IF_NONE { PUSH int 549 ; FAILWITH } { CAR } ;
DIG 7 ;
GET 3 ;
GET 3 ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 564 ; FAILWITH } {} ;
SWAP ;
UNPAIR ;
SWAP ;
PUSH nat 100 ;
PUSH nat 10000000000 ;
MUL ;
DIG 8 ;
DUP ;
GET 8 ;
SWAP ;
DUP ;
DUG 10 ;
GET 5 ;
CDR ;
PUSH timestamp "1970-01-01T00:00:00Z" ;
PUSH int 31536000 ;
PUSH timestamp "1970-01-01T00:00:00Z" ;
ADD ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 546 ; FAILWITH } {} ;
DIG 11 ;
DUP ;
GET 7 ;
SWAP ;
DUP ;
GET 5 ;
CAR ;
SWAP ;
DUP ;
DUG 14 ;
GET 7 ;
ADD ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 546 ; FAILWITH } {} ;
PUSH nat 10000000000 ;
MUL ;
EDIV ;
IF_NONE { PUSH int 546 ; FAILWITH } { CAR } ;
MUL ;
MUL ;
EDIV ;
IF_NONE { PUSH int 549 ; FAILWITH } { CAR } ;
DUP 9 ;
GET 8 ;
ADD ;
INT ;
PUSH int -1 ;
MUL ;
SOME ;
PUSH int 0 ;
NOW ;
ADD ;
UPDATE ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
PAIR ;
SWAP ;
PAIR ;
DUP ;
GET 9 ;
DUP ;
SENDER ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 444 ; FAILWITH } {} ;
DUP ;
DUP 7 ;
GET 3 ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 444 ; FAILWITH } {} ;
NONE (pair (pair int nat) (pair timestamp nat)) ;
DIG 8 ;
CAR ;
UPDATE ;
SOME ;
SWAP ;
UPDATE ;
SOME ;
SWAP ;
UPDATE ;
UPDATE 9 ;
SWAP ;
UNIT ;
PAIR 3 } ;
SWAP ;
LAMBDA
(pair (pair nat (pair nat (pair (pair int nat) (pair timestamp nat))))
(pair (list operation)
(pair
(pair
(pair (pair address (big_map address (map nat nat)))
(pair (big_map address nat) address))
(pair (pair nat (big_map string bytes))
(pair int (pair bool bool))))
(pair
(pair (pair (big_map address nat) address)
(pair nat (pair nat (big_map timestamp int))))
(pair (pair (map nat (pair (pair nat nat) (pair nat int))) nat)
(pair
(big_map nat
(map address
(pair (pair nat nat) (pair timestamp nat))))
(pair
(big_map address
(map nat
(map nat
(pair (pair int nat)
(pair timestamp nat)))))
(option address))))))))
(pair unit
(pair (list operation)
(pair
(pair
(pair (pair address (big_map address (map nat nat)))
(pair (big_map address nat) address))
(pair (pair nat (big_map string bytes))
(pair int (pair bool bool))))
(pair
(pair (pair (big_map address nat) address)
(pair nat (pair nat (big_map timestamp int))))
(pair (pair (map nat (pair (pair nat nat) (pair nat int))) nat)
(pair
(big_map nat
(map address
(pair (pair nat nat) (pair timestamp nat))))
(pair
(big_map address
(map nat
(map nat
(pair (pair int nat)
(pair timestamp nat)))))
(option address))))))))
{ UNPAIR 3 ;
SWAP ;
DUP 3 ;
CAR ;
CAR ;
CAR ;
CAR ;
CONTRACT %transfer (pair (address %from) (pair (address %to) (nat %value))) ;
IF_NONE { PUSH int 459 ; FAILWITH } {} ;
PUSH mutez 0 ;
DUP 4 ;
GET 8 ;
SENDER ;
DUP 7 ;
GET 3 ;
CAR ;
CDR ;
PAIR 3 ;
TRANSFER_TOKENS ;
CONS ;
DIG 2 ;
UNPAIR ;
SWAP ;
UNPAIR ;
UNPAIR ;
SWAP ;
UNPAIR ;
SWAP ;
UNPAIR ;
SWAP ;
DUP 8 ;
GET 8 ;
INT ;
PUSH int -1 ;
MUL ;
SOME ;
PUSH int 0 ;
NOW ;
ADD ;
UPDATE ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
PAIR ;
SWAP ;
PAIR ;
DUP ;
GET 9 ;
DUP ;
SENDER ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 462 ; FAILWITH } {} ;
DUP ;
DUP 7 ;
GET 3 ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 462 ; FAILWITH } {} ;
NONE (pair (pair int nat) (pair timestamp nat)) ;
DIG 8 ;
CAR ;
UPDATE ;
SOME ;
SWAP ;
UPDATE ;
SOME ;
SWAP ;
UPDATE ;
UPDATE 9 ;
SWAP ;
UNIT ;
PAIR 3 } ;
SWAP ;
UNPAIR ;
IF_LEFT
{ IF_LEFT
{ IF_LEFT
{ DIG 3 ;
DROP ;
DIG 3 ;
DROP ;
IF_LEFT
{ DIG 2 ;
DROP ;
SWAP ;
DUP ;
DUG 2 ;
CAR ;
CAR ;
GET 4 ;
PACK ;
SENDER ;
PACK ;
COMPARE ;
EQ ;
IF {} { PUSH string "Access denied" ; FAILWITH } ;
NIL operation ;
DUP 3 ;
CAR ;
CAR ;
CAR ;
CAR ;
CONTRACT %transfer (pair (address %from)
(pair (address %to) (nat %value))) ;
IF_NONE { PUSH int 186 ; FAILWITH } {} ;
PUSH mutez 0 ;
DUP 4 ;
DUP 6 ;
GET 3 ;
CAR ;
CDR ;
SENDER ;
PAIR 3 ;
TRANSFER_TOKENS ;
CONS ;
DIG 2 ;
UNPAIR ;
SWAP ;
UNPAIR ;
UNPAIR ;
SWAP ;
UNPAIR ;
DIG 6 ;
ADD ;
PAIR ;
SWAP ;
PAIR ;
PAIR ;
SWAP ;
PAIR ;
SWAP }
{ DROP ;
SWAP ;
DROP ;
DUP ;
CAR ;
CAR ;
GET 3 ;
SENDER ;
MEM ;
IF
{}
{ PUSH string "Never staked on this contract" ; FAILWITH } ;
DUP ;
CAR ;
GET 7 ;
PUSH bool False ;
COMPARE ;
EQ ;
IF {} { PUSH string " Ths function is on pause" ; FAILWITH } ;
DUP ;
GET 7 ;
SWAP ;
DUP ;
DUG 2 ;
CAR ;
CAR ;
GET 3 ;
SENDER ;
GET ;
IF_NONE { PUSH int 496 ; FAILWITH } {} ;
GET ;
IF_NONE { PUSH int 498 ; FAILWITH } {} ;
SENDER ;
MEM ;
IF
{}
{ PUSH string "Never staked on this contract" ; FAILWITH } ;
DUP ;
DUP ;
GET 7 ;
DUP ;
DUP 4 ;
CAR ;
CAR ;
GET 3 ;
SENDER ;
GET ;
IF_NONE { PUSH int 496 ; FAILWITH } {} ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 502 ; FAILWITH } {} ;
DUP ;
SENDER ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 502 ; FAILWITH } {} ;
UNPAIR ;
UNPAIR ;
SWAP ;
PUSH nat 100 ;
PUSH nat 10000000000 ;
MUL ;
DIG 9 ;
DUP ;
GET 7 ;
SWAP ;
DUP ;
DUG 11 ;
CAR ;
CAR ;
GET 3 ;
SENDER ;
GET ;
IF_NONE { PUSH int 496 ; FAILWITH } {} ;
GET ;
IF_NONE { PUSH int 500 ; FAILWITH } {} ;
SENDER ;
GET ;
IF_NONE { PUSH int 500 ; FAILWITH } {} ;
GET 4 ;
DIG 10 ;
DUP ;
GET 7 ;
SWAP ;
DUP ;
DUG 12 ;
CAR ;
CAR ;
GET 3 ;
SENDER ;
GET ;
IF_NONE { PUSH int 496 ; FAILWITH } {} ;
GET ;
IF_NONE { PUSH int 500 ; FAILWITH } {} ;
SENDER ;
GET ;
IF_NONE { PUSH int 500 ; FAILWITH } {} ;
CAR ;
CAR ;
PUSH timestamp "1970-01-01T00:00:00Z" ;
PUSH int 31536000 ;
PUSH timestamp "1970-01-01T00:00:00Z" ;
ADD ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 546 ; FAILWITH } {} ;
DIG 12 ;
DUP ;
GET 7 ;
SWAP ;
CAR ;
CAR ;
GET 3 ;
SENDER ;
GET ;
IF_NONE { PUSH int 496 ; FAILWITH } {} ;
GET ;
IF_NONE { PUSH int 500 ; FAILWITH } {} ;
SENDER ;
GET ;
IF_NONE { PUSH int 500 ; FAILWITH } {} ;
GET 3 ;
PUSH int 0 ;
NOW ;
ADD ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 546 ; FAILWITH } {} ;
PUSH nat 10000000000 ;
MUL ;
EDIV ;
IF_NONE { PUSH int 546 ; FAILWITH } { CAR } ;
MUL ;
MUL ;
EDIV ;
IF_NONE { PUSH int 549 ; FAILWITH } { CAR } ;
ADD ;
SWAP ;
PAIR ;
PAIR ;
SOME ;
SWAP ;
UPDATE ;
SOME ;
SWAP ;
UPDATE ;
UPDATE 7 ;
PUSH nat 0 ;
SWAP ;
DUP ;
GET 7 ;
SWAP ;
DUP ;
DUG 3 ;
CAR ;
CAR ;
GET 3 ;
SENDER ;
GET ;
IF_NONE { PUSH int 496 ; FAILWITH } {} ;
GET ;
IF_NONE { PUSH int 503 ; FAILWITH } {} ;
SENDER ;
GET ;
IF_NONE { PUSH int 503 ; FAILWITH } {} ;
CAR ;
CDR ;
COMPARE ;
NEQ ;
IF {} { PUSH string "The reward is zero" ; FAILWITH } ;
DUP ;
GET 7 ;
SWAP ;
DUP ;
DUG 2 ;
CAR ;
CAR ;
GET 3 ;
SENDER ;
GET ;
IF_NONE { PUSH int 496 ; FAILWITH } {} ;
GET ;
IF_NONE { PUSH int 504 ; FAILWITH } {} ;
SENDER ;
GET ;
IF_NONE { PUSH int 504 ; FAILWITH } {} ;
CAR ;
CDR ;
SWAP ;
DUP ;
DUG 2 ;
GET 3 ;
GET 3 ;
COMPARE ;
GE ;
IF {} { PUSH string " The reserve funds is Zero" ; FAILWITH } ;
DUP ;
CAR ;
CAR ;
CAR ;
CAR ;
CONTRACT %transfer (pair (address %from)
(pair (address %to) (nat %value))) ;
IF_NONE { PUSH int 508 ; FAILWITH } {} ;
NIL operation ;
SWAP ;
PUSH mutez 0 ;
DIG 3 ;
DUP ;
GET 7 ;
SWAP ;
DUP ;
DUG 5 ;
CAR ;
CAR ;
GET 3 ;
SENDER ;
GET ;
IF_NONE { PUSH int 496 ; FAILWITH } {} ;
GET ;
IF_NONE { PUSH int 507 ; FAILWITH } {} ;
SENDER ;
GET ;
IF_NONE { PUSH int 507 ; FAILWITH } {} ;
CAR ;
CDR ;
SENDER ;
DUP 6 ;
GET 3 ;
CAR ;
CDR ;
PAIR 3 ;
TRANSFER_TOKENS ;
CONS ;
SWAP ;
DUP ;
DUG 2 ;
GET 3 ;
CAR ;
CAR ;
SENDER ;
MEM ;
IF
{ SWAP ;
DUP ;
DUG 2 ;
UNPAIR ;
SWAP ;
UNPAIR ;
UNPAIR ;
UNPAIR ;
DUP ;
SENDER ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 559 ; FAILWITH } {} ;
DIG 8 ;
DUP ;
GET 7 ;
SWAP ;
CAR ;
CAR ;
GET 3 ;
SENDER ;
GET ;
IF_NONE { PUSH int 496 ; FAILWITH } {} ;
GET ;
IF_NONE { PUSH int 500 ; FAILWITH } {} ;
SENDER ;
GET ;
IF_NONE { PUSH int 500 ; FAILWITH } {} ;
CAR ;
CDR ;
ADD ;
SOME ;
SWAP ;
UPDATE ;
PAIR ;
PAIR ;
PAIR ;
SWAP ;
PAIR ;
SWAP }
{ SWAP ;
DUP ;
DUG 2 ;
UNPAIR ;
SWAP ;
UNPAIR ;
UNPAIR ;
UNPAIR ;
DIG 6 ;
DUP ;
GET 7 ;
SWAP ;
CAR ;
CAR ;
GET 3 ;
SENDER ;
GET ;
IF_NONE { PUSH int 496 ; FAILWITH } {} ;
GET ;
IF_NONE { PUSH int 500 ; FAILWITH } {} ;
SENDER ;
GET ;
IF_NONE { PUSH int 500 ; FAILWITH } {} ;
CAR ;
CDR ;
SOME ;
SENDER ;
UPDATE ;
PAIR ;
PAIR ;
PAIR ;
SWAP ;
PAIR ;
SWAP } ;
SWAP ;
DUP ;
DUG 2 ;
UNPAIR ;
SWAP ;
UNPAIR ;
SWAP ;
UNPAIR ;
UNPAIR ;
SWAP ;
DIG 6 ;
DUP ;
GET 7 ;
SWAP ;
CAR ;
CAR ;
GET 3 ;
SENDER ;
GET ;
IF_NONE { PUSH int 496 ; FAILWITH } {} ;
GET ;
IF_NONE { PUSH int 500 ; FAILWITH } {} ;
SENDER ;
GET ;
IF_NONE { PUSH int 500 ; FAILWITH } {} ;
CAR ;
CDR ;
ADD ;
SWAP ;
PAIR ;
PAIR ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
DUP ;
DUG 2 ;
UNPAIR ;
SWAP ;
UNPAIR ;
UNPAIR ;
SWAP ;
CDR ;
DIG 5 ;
DUP ;
GET 7 ;
SWAP ;
DUP ;
DUG 7 ;
CAR ;
CAR ;
GET 3 ;
SENDER ;
GET ;
IF_NONE { PUSH int 496 ; FAILWITH } {} ;
GET ;
IF_NONE { PUSH int 500 ; FAILWITH } {} ;
SENDER ;
GET ;
IF_NONE { PUSH int 500 ; FAILWITH } {} ;
CAR ;
CDR ;
DIG 6 ;
GET 3 ;
GET 3 ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 564 ; FAILWITH } {} ;
PAIR ;
SWAP ;
PAIR ;
PAIR ;
SWAP ;
PAIR ;
DUP ;
DUG 2 ;
DUP ;
GET 7 ;
DUP ;
DIG 4 ;
CAR ;
CAR ;
GET 3 ;
SENDER ;
GET ;
IF_NONE { PUSH int 496 ; FAILWITH } {} ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 510 ; FAILWITH } {} ;
DUP ;
SENDER ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 510 ; FAILWITH } {} ;
UNPAIR ;
CAR ;
PUSH int 0 ;
ISNAT ;
IF_NONE { PUSH int 510 ; FAILWITH } {} ;
SWAP ;
PAIR ;
PAIR ;
SOME ;
SWAP ;
UPDATE ;
SOME ;
SWAP ;
UPDATE ;
UPDATE 7 ;
DUP ;
DUG 2 ;
DUP ;
GET 7 ;
DUP ;
DIG 4 ;
CAR ;
CAR ;
GET 3 ;
SENDER ;
GET ;
IF_NONE { PUSH int 496 ; FAILWITH } {} ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 511 ; FAILWITH } {} ;
DUP ;
SENDER ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 511 ; FAILWITH } {} ;
PUSH int 0 ;
NOW ;
ADD ;
UPDATE 3 ;
SOME ;
SWAP ;
UPDATE ;
SOME ;
SWAP ;
UPDATE ;
UPDATE 7 ;
DUP ;
DUG 2 ;
DUP ;
GET 7 ;
DUP ;
DUP 5 ;
CAR ;
CAR ;
GET 3 ;
SENDER ;
GET ;
IF_NONE { PUSH int 496 ; FAILWITH } {} ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 512 ; FAILWITH } {} ;
DUP ;
SENDER ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 512 ; FAILWITH } {} ;
UNPAIR ;
CDR ;
DIG 8 ;
GET 5 ;
CAR ;
PUSH nat 0 ;
GET ;
IF_NONE { PUSH int 512 ; FAILWITH } {} ;
GET 3 ;
PAIR ;
PAIR ;
SOME ;
SWAP ;
UPDATE ;
SOME ;
SWAP ;
UPDATE ;
UPDATE 7 ;
SWAP ;
PUSH nat 0 ;
DIG 2 ;
DUP ;
GET 7 ;
SWAP ;
DUP ;
DUG 4 ;
CAR ;
CAR ;
GET 3 ;
SENDER ;
GET ;
IF_NONE { PUSH int 496 ; FAILWITH } {} ;
GET ;
IF_NONE { PUSH int 500 ; FAILWITH } {} ;
SENDER ;
GET ;
IF_NONE { PUSH int 500 ; FAILWITH } {} ;
GET 4 ;
COMPARE ;
EQ ;
IF
{ SWAP ;
DUP ;
DUG 2 ;
DUP ;
GET 7 ;
DUP ;
DIG 4 ;
CAR ;
CAR ;
GET 3 ;
SENDER ;
GET ;
IF_NONE { PUSH int 496 ; FAILWITH } {} ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 516 ; FAILWITH } {} ;
NONE (pair (pair nat nat) (pair timestamp nat)) ;
SENDER ;
UPDATE ;
SOME ;
SWAP ;
UPDATE ;
UPDATE 7 ;
DUP ;
DUG 2 ;
CAR ;
CAR ;
GET 3 ;
SENDER ;
GET ;
IF_NONE { PUSH int 496 ; FAILWITH } {} ;
DUP 3 ;
GET 3 ;
GET 5 ;
COMPARE ;
NEQ ;
IF
{ SENDER ;
DIG 2 ;
DUP ;
GET 7 ;
SWAP ;
DUP ;
DUG 4 ;
GET 3 ;
GET 5 ;
GET ;
IF_NONE { PUSH int 519 ; FAILWITH } {} ;
ITER { SWAP ; DROP ; CAR } ;
DUP 3 ;
DUP ;
GET 7 ;
DUP ;
DUP 6 ;
CAR ;
CAR ;
GET 3 ;
SENDER ;
GET ;
IF_NONE { PUSH int 496 ; FAILWITH } {} ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 521 ; FAILWITH } {} ;
DIG 6 ;
DUP ;
GET 7 ;
SWAP ;
GET 3 ;
GET 5 ;
GET ;
IF_NONE { PUSH int 521 ; FAILWITH } {} ;
DUP 6 ;
GET ;
IF_NONE { PUSH int 521 ; FAILWITH } {} ;
SOME ;
DUP 6 ;
UPDATE ;
SOME ;
SWAP ;
UPDATE ;
UPDATE 7 ;
DUP ;
DUG 3 ;
UNPAIR ;
UNPAIR ;
UNPAIR ;
SWAP ;
UNPAIR ;
DIG 7 ;
CAR ;
CAR ;
GET 3 ;
SENDER ;
GET ;
IF_NONE { PUSH int 496 ; FAILWITH } {} ;
SOME ;
DUP 7 ;
UPDATE ;
PAIR ;
SWAP ;
PAIR ;
PAIR ;
PAIR ;
DUP ;
DUG 3 ;
DUP ;
GET 7 ;
DUP ;
DIG 5 ;
GET 3 ;
GET 5 ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 523 ; FAILWITH } {} ;
NONE (pair (pair nat nat) (pair timestamp nat)) ;
DIG 5 ;
UPDATE ;
SOME ;
SWAP ;
UPDATE ;
UPDATE 7 ;
UNPAIR ;
UNPAIR ;
UNPAIR ;
SWAP ;
UNPAIR ;
NONE nat ;
SENDER ;
UPDATE ;
PAIR ;
SWAP ;
PAIR ;
PAIR ;
PAIR ;
SWAP ;
PUSH nat 0 ;
DIG 2 ;
DUP ;
GET 7 ;
SWAP ;
DUP ;
DUG 4 ;
GET 3 ;
GET 5 ;
GET ;
IF_NONE { PUSH int 525 ; FAILWITH } {} ;
SIZE ;
COMPARE ;
EQ ;
IF
{ SWAP ;
DUP ;
DUG 2 ;
DUP ;
GET 7 ;
NONE (map address
(pair (pair nat nat) (pair timestamp nat))) ;
DIG 4 ;
GET 3 ;
GET 5 ;
UPDATE ;
UPDATE 7 ;
DUP ;
DUG 2 ;
UNPAIR ;
SWAP ;
UNPAIR ;
UNPAIR ;
SWAP ;
UNPAIR ;
SWAP ;
CDR ;
PUSH nat 1 ;
DIG 7 ;
GET 3 ;
GET 5 ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 527 ; FAILWITH } {} ;
PAIR ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
PAIR ;
SWAP ;
PAIR ;
SWAP }
{} }
{ PUSH nat 0 ;
DIG 2 ;
DUP ;
GET 7 ;
SWAP ;
DUP ;
DUG 4 ;
GET 3 ;
GET 5 ;
GET ;
IF_NONE { PUSH int 529 ; FAILWITH } {} ;
SIZE ;
COMPARE ;
EQ ;
IF
{ SWAP ;
DUP ;
DUG 2 ;
DUP ;
GET 7 ;
NONE (map address
(pair (pair nat nat) (pair timestamp nat))) ;
DIG 4 ;
GET 3 ;
GET 5 ;
UPDATE ;
UPDATE 7 ;
UNPAIR ;
UNPAIR ;
UNPAIR ;
SWAP ;
UNPAIR ;
NONE nat ;
SENDER ;
UPDATE ;
PAIR ;
SWAP ;
PAIR ;
PAIR ;
PAIR ;
SWAP }
{} ;
PUSH nat 0 ;
DUP 3 ;
GET 3 ;
GET 5 ;
COMPARE ;
GT ;
IF
{ SWAP ;
DUP ;
DUG 2 ;
UNPAIR ;
SWAP ;
UNPAIR ;
UNPAIR ;
SWAP ;
UNPAIR ;
SWAP ;
CDR ;
PUSH nat 1 ;
DIG 7 ;
GET 3 ;
GET 5 ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 533 ; FAILWITH } {} ;
PAIR ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
PAIR ;
SWAP ;
PAIR ;
SWAP }
{} } }
{} } }
{ IF_LEFT
{ DIG 2 ;
DROP ;
DIG 2 ;
DROP ;
SWAP ;
DUP ;
DUG 2 ;
GET 5 ;
CAR ;
SWAP ;
DUP ;
DUG 2 ;
CAR ;
MEM ;
IF
{ PUSH string "A staking option with this Id already exists" ;
FAILWITH }
{} ;
DIG 2 ;
SENDER ;
SWAP ;
DIG 3 ;
DIG 2 ;
PAIR ;
EXEC ;
UNPAIR ;
SWAP ;
DUG 2 ;
IF
{ PUSH bool True }
{ SENDER ; DUP 3 ; CAR ; CAR ; GET 4 ; COMPARE ; EQ } ;
IF {} { PUSH string "Access denied" ; FAILWITH } ;
DUP ;
GET 8 ;
PUSH int 0 ;
COMPARE ;
LT ;
IF
{}
{ PUSH string "WrongCondition: params.duration > 0" ; FAILWITH } ;
DUP ;
GET 7 ;
SWAP ;
DUP ;
DUG 2 ;
GET 5 ;
COMPARE ;
GE ;
IF
{}
{ PUSH string "WrongCondition: params._max >= params._min" ;
FAILWITH } ;
SWAP ;
UNPAIR ;
SWAP ;
UNPAIR ;
SWAP ;
UNPAIR ;
UNPAIR ;
DIG 5 ;
DUP ;
GET 8 ;
SWAP ;
DUP ;
DUG 7 ;
GET 3 ;
PAIR ;
DIG 6 ;
DUP ;
GET 7 ;
SWAP ;
DUP ;
DUG 8 ;
GET 5 ;
PAIR ;
PAIR ;
SOME ;
DIG 6 ;
CAR ;
UPDATE ;
PAIR ;
PAIR ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
NIL operation }
{ IF_LEFT
{ DIG 2 ;
DROP ;
DIG 2 ;
DROP ;
DIG 2 ;
SENDER ;
SWAP ;
DIG 3 ;
DIG 2 ;
PAIR ;
EXEC ;
UNPAIR ;
SWAP ;
DUG 2 ;
IF
{ PUSH bool True }
{ SENDER ; DUP 3 ; CAR ; CAR ; GET 4 ; COMPARE ; EQ } ;
IF {} { PUSH string "Access denied" ; FAILWITH } ;
DUP ;
PUSH nat 0 ;
COMPARE ;
NEQ ;
IF
{}
{ PUSH string "Deleting the flex option is now allowed" ;
FAILWITH } ;
SWAP ;
DUP ;
DUG 2 ;
GET 5 ;
CAR ;
SWAP ;
DUP ;
DUG 2 ;
MEM ;
IF
{}
{ PUSH string "This option does not exist" ; FAILWITH } ;
SWAP ;
UNPAIR ;
SWAP ;
UNPAIR ;
SWAP ;
UNPAIR ;
UNPAIR ;
NONE (pair (pair nat nat) (pair nat int)) ;
DIG 6 ;
UPDATE ;
PAIR ;
PAIR ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
NIL operation }
{ DIG 2 ;
DROP ;
DIG 2 ;
DROP ;
DIG 2 ;
DROP ;
PUSH bool False ;
DUP 3 ;
CAR ;
GET 7 ;
COMPARE ;
EQ ;
IF
{}
{ PUSH string " Ths function is on pause" ; FAILWITH } ;
SWAP ;
DUP ;
DUG 2 ;
GET 5 ;
CAR ;
PUSH nat 0 ;
GET ;
IF_NONE { PUSH int 356 ; FAILWITH } {} ;
CAR ;
CDR ;
SWAP ;
DUP ;
DUG 2 ;
COMPARE ;
GE ;
IF {} { PUSH string "Amount is too low" ; FAILWITH } ;
SWAP ;
DUP ;
DUG 2 ;
GET 5 ;
CAR ;
PUSH nat 0 ;
GET ;
IF_NONE { PUSH int 357 ; FAILWITH } {} ;
CAR ;
CAR ;
SWAP ;
DUP ;
DUG 2 ;
COMPARE ;
LE ;
IF {} { PUSH string "Amount is too high" ; FAILWITH } ;
NIL operation ;
DUP 3 ;
CAR ;
CAR ;
CAR ;
CAR ;
CONTRACT %transfer (pair (address %from)
(pair (address %to) (nat %value))) ;
IF_NONE { PUSH int 362 ; FAILWITH } {} ;
PUSH mutez 0 ;
DUP 4 ;
DUP 6 ;
GET 3 ;
CAR ;
CDR ;
SENDER ;
PAIR 3 ;
TRANSFER_TOKENS ;
CONS ;
DUP 3 ;
CAR ;
CAR ;
GET 3 ;
SENDER ;
MEM ;
IF
{}
{ DIG 2 ;
DUP ;
GET 7 ;
SWAP ;
DUP ;
DUG 4 ;
GET 3 ;
GET 5 ;
MEM ;
IF
{ DIG 2 ;
DUP ;
CAR ;
GET 3 ;
CAR ;
SWAP ;
DUP ;
GET 7 ;
SWAP ;
DUP ;
DUG 5 ;
GET 3 ;
GET 5 ;
GET ;
IF_NONE { PUSH int 369 ; FAILWITH } {} ;
SIZE ;
COMPARE ;
GE }
{ PUSH bool False } ;
IF
{ DIG 2 ;
UNPAIR ;
SWAP ;
UNPAIR ;
UNPAIR ;
SWAP ;
UNPAIR ;
SWAP ;
UNPAIR ;
PUSH nat 1 ;
ADD ;
PAIR ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
PAIR ;
SWAP ;
PAIR ;
DUG 2 }
{} ;
DUP 3 ;
UNPAIR ;
UNPAIR ;
UNPAIR ;
SWAP ;
UNPAIR ;
DIG 7 ;
GET 3 ;
GET 5 ;
SOME ;
SENDER ;
UPDATE ;
PAIR ;
SWAP ;
PAIR ;
PAIR ;
PAIR ;
DUG 2 } ;
DUP 3 ;
CAR ;
CAR ;
GET 3 ;
SENDER ;
GET ;
IF_NONE { PUSH int 372 ; FAILWITH } {} ;
DUP 4 ;
GET 7 ;
SWAP ;
DUP ;
DUG 2 ;
MEM ;
IF
{ DUP 4 ;
GET 7 ;
SWAP ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 378 ; FAILWITH } {} ;
SENDER ;
MEM ;
IF
{ DUP 4 ;
DUP ;
GET 7 ;
DUP ;
DUP 4 ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 391 ; FAILWITH } {} ;
DUP ;
SENDER ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 391 ; FAILWITH } {} ;
UNPAIR ;
UNPAIR ;
SWAP ;
PUSH nat 100 ;
PUSH nat 10000000000 ;
MUL ;
DUP 13 ;
GET 7 ;
DUP 11 ;
GET ;
IF_NONE { PUSH int 390 ; FAILWITH } {} ;
SENDER ;
GET ;
IF_NONE { PUSH int 390 ; FAILWITH } {} ;
GET 4 ;
DUP 14 ;
GET 7 ;
DUP 12 ;
GET ;
IF_NONE { PUSH int 390 ; FAILWITH } {} ;
SENDER ;
GET ;
IF_NONE { PUSH int 390 ; FAILWITH } {} ;
CAR ;
CAR ;
PUSH timestamp "1970-01-01T00:00:00Z" ;
PUSH int 31536000 ;
PUSH timestamp "1970-01-01T00:00:00Z" ;
ADD ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 546 ; FAILWITH } {} ;
DIG 15 ;
GET 7 ;
DUP 14 ;
GET ;
IF_NONE { PUSH int 390 ; FAILWITH } {} ;
SENDER ;
GET ;
IF_NONE { PUSH int 390 ; FAILWITH } {} ;
GET 3 ;
PUSH int 0 ;
NOW ;
ADD ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 546 ; FAILWITH } {} ;
PUSH nat 10000000000 ;
MUL ;
EDIV ;
IF_NONE { PUSH int 546 ; FAILWITH } { CAR } ;
MUL ;
MUL ;
EDIV ;
IF_NONE { PUSH int 549 ; FAILWITH } { CAR } ;
ADD ;
SWAP ;
PAIR ;
PAIR ;
SOME ;
SWAP ;
UPDATE ;
SOME ;
SWAP ;
UPDATE ;
UPDATE 7 ;
DUP ;
GET 7 ;
DUP ;
DUP 4 ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 392 ; FAILWITH } {} ;
DUP ;
SENDER ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 392 ; FAILWITH } {} ;
DUP ;
GET 4 ;
DUP 10 ;
ADD ;
UPDATE 4 ;
SOME ;
SWAP ;
UPDATE ;
SOME ;
SWAP ;
UPDATE ;
UPDATE 7 ;
DUP ;
GET 7 ;
DUP ;
DUP 4 ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 393 ; FAILWITH } {} ;
DUP ;
SENDER ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 393 ; FAILWITH } {} ;
PUSH int 0 ;
NOW ;
ADD ;
UPDATE 3 ;
SOME ;
SWAP ;
UPDATE ;
SOME ;
SWAP ;
UPDATE ;
UPDATE 7 ;
DUP ;
DUG 4 ;
DUP ;
GET 7 ;
DUP ;
DIG 3 ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 394 ; FAILWITH } {} ;
DUP ;
SENDER ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 394 ; FAILWITH } {} ;
UNPAIR ;
CDR ;
DIG 9 ;
GET 5 ;
CAR ;
PUSH nat 0 ;
GET ;
IF_NONE { PUSH int 394 ; FAILWITH } {} ;
GET 3 ;
PAIR ;
PAIR ;
SOME ;
SWAP ;
UPDATE ;
SOME ;
SWAP ;
UPDATE ;
UPDATE 7 ;
DUG 2 }
{ DUP 4 ;
DUP ;
GET 7 ;
DUP ;
DIG 3 ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 379 ; FAILWITH } {} ;
PUSH nat 0 ;
DUP 7 ;
ADD ;
PUSH int 0 ;
NOW ;
ADD ;
PAIR ;
PUSH nat 0 ;
DIG 8 ;
GET 5 ;
CAR ;
PUSH nat 0 ;
GET ;
IF_NONE { PUSH int 364 ; FAILWITH } {} ;
GET 3 ;
PAIR ;
PAIR ;
SOME ;
SENDER ;
UPDATE ;
SOME ;
SWAP ;
UPDATE ;
UPDATE 7 ;
DUG 2 } }
{ DUP 4 ;
DUP ;
GET 7 ;
EMPTY_MAP address
(pair (pair nat nat) (pair timestamp nat)) ;
PUSH nat 0 ;
DUP 7 ;
ADD ;
PUSH int 0 ;
NOW ;
ADD ;
PAIR ;
PUSH nat 0 ;
DIG 8 ;
GET 5 ;
CAR ;
PUSH nat 0 ;
GET ;
IF_NONE { PUSH int 364 ; FAILWITH } {} ;
GET 3 ;
PAIR ;
PAIR ;
SOME ;
SENDER ;
UPDATE ;
SOME ;
DIG 3 ;
UPDATE ;
UPDATE 7 ;
DUG 2 } ;
DIG 2 ;
UNPAIR ;
SWAP ;
UNPAIR ;
UNPAIR ;
SWAP ;
UNPAIR ;
SWAP ;
UNPAIR ;
SWAP ;
DIG 7 ;
INT ;
SOME ;
PUSH int 0 ;
NOW ;
ADD ;
UPDATE ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
PAIR ;
SWAP ;
PAIR ;
SWAP } } } }
{ IF_LEFT
{ IF_LEFT
{ DIG 2 ;
DROP ;
DIG 2 ;
DROP ;
DIG 2 ;
DROP ;
PUSH bool False ;
DUP 3 ;
CAR ;
GET 8 ;
COMPARE ;
EQ ;
IF {} { PUSH string " Ths function is on pause" ; FAILWITH } ;
DUP ;
CDR ;
PUSH nat 0 ;
COMPARE ;
NEQ ;
IF
{}
{ PUSH string "Deleting the flex option is now allowed" ;
FAILWITH } ;
SWAP ;
DUP ;
DUG 2 ;
GET 5 ;
CAR ;
SWAP ;
DUP ;
DUG 2 ;
CDR ;
GET ;
IF_NONE { PUSH int 318 ; FAILWITH } {} ;
CAR ;
CDR ;
SWAP ;
DUP ;
DUG 2 ;
CAR ;
COMPARE ;
GE ;
IF {} { PUSH string "Amount is too low" ; FAILWITH } ;
SWAP ;
DUP ;
DUG 2 ;
GET 5 ;
CAR ;
SWAP ;
DUP ;
DUG 2 ;
CDR ;
GET ;
IF_NONE { PUSH int 319 ; FAILWITH } {} ;
CAR ;
CAR ;
SWAP ;
DUP ;
DUG 2 ;
CAR ;
COMPARE ;
LE ;
IF {} { PUSH string "Amount is too high" ; FAILWITH } ;
SWAP ;
DUP ;
DUG 2 ;
GET 5 ;
CAR ;
SWAP ;
DUP ;
DUG 2 ;
CDR ;
MEM ;
IF
{}
{ PUSH string "The staking option for this id does not exist" ;
FAILWITH } ;
NIL operation ;
DUP 3 ;
CAR ;
CAR ;
CAR ;
CAR ;
CONTRACT %transfer (pair (address %from)
(pair (address %to) (nat %value))) ;
IF_NONE { PUSH int 325 ; FAILWITH } {} ;
PUSH mutez 0 ;
DUP 4 ;
CAR ;
DUP 6 ;
GET 3 ;
CAR ;
CDR ;
SENDER ;
PAIR 3 ;
TRANSFER_TOKENS ;
CONS ;
DUP 3 ;
GET 9 ;
SENDER ;
MEM ;
IF
{ PUSH bool False }
{ DUP 3 ; CAR ; CAR ; GET 3 ; SENDER ; MEM ; NOT } ;
IF
{ DIG 2 ;
UNPAIR ;
UNPAIR ;
SWAP ;
UNPAIR ;
SWAP ;
UNPAIR ;
PUSH int 1 ;
ADD ;
PAIR ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
PAIR ;
DUG 2 }
{} ;
DUP 3 ;
GET 9 ;
SENDER ;
MEM ;
IF
{ DUP 3 ;
GET 9 ;
SENDER ;
GET ;
IF_NONE { PUSH int 339 ; FAILWITH } {} ;
DUP 3 ;
CDR ;
MEM ;
IF
{ DUP 3 ;
DUP ;
GET 9 ;
DUP ;
SENDER ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 343 ; FAILWITH } {} ;
DUP ;
DUP 7 ;
CDR ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 343 ; FAILWITH } {} ;
DUP 8 ;
CAR ;
PUSH int 0 ;
NOW ;
ADD ;
PAIR ;
DUP 10 ;
GET 5 ;
CAR ;
DUP 10 ;
CDR ;
GET ;
IF_NONE { PUSH int 328 ; FAILWITH } {} ;
GET 3 ;
DUP 11 ;
GET 5 ;
CAR ;
DUP 11 ;
CDR ;
GET ;
IF_NONE { PUSH int 328 ; FAILWITH } {} ;
GET 4 ;
PAIR ;
PAIR ;
SOME ;
DIG 9 ;
CAR ;
CAR ;
CAR ;
CDR ;
SENDER ;
GET ;
IF_NONE { PUSH int 342 ; FAILWITH } {} ;
DUP 10 ;
CDR ;
GET ;
IF_NONE { PUSH int 342 ; FAILWITH } {} ;
UPDATE ;
SOME ;
SWAP ;
UPDATE ;
SOME ;
SWAP ;
UPDATE ;
UPDATE 9 ;
DUG 2 }
{ DUP 3 ;
DUP ;
GET 9 ;
DUP ;
SENDER ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 340 ; FAILWITH } {} ;
EMPTY_MAP nat (pair (pair int nat) (pair timestamp nat)) ;
DUP 7 ;
CAR ;
PUSH int 0 ;
NOW ;
ADD ;
PAIR ;
DUP 9 ;
GET 5 ;
CAR ;
DUP 9 ;
CDR ;
GET ;
IF_NONE { PUSH int 328 ; FAILWITH } {} ;
GET 3 ;
DIG 9 ;
GET 5 ;
CAR ;
DUP 10 ;
CDR ;
GET ;
IF_NONE { PUSH int 328 ; FAILWITH } {} ;
GET 4 ;
PAIR ;
PAIR ;
SOME ;
PUSH nat 0 ;
UPDATE ;
SOME ;
DUP 7 ;
CDR ;
UPDATE ;
SOME ;
SWAP ;
UPDATE ;
UPDATE 9 ;
DUG 2 } }
{ DUP 3 ;
DUP ;
GET 9 ;
EMPTY_MAP nat
(map nat
(pair (pair int nat) (pair timestamp nat))) ;
EMPTY_MAP nat (pair (pair int nat) (pair timestamp nat)) ;
DUP 6 ;
CAR ;
PUSH int 0 ;
NOW ;
ADD ;
PAIR ;
DUP 8 ;
GET 5 ;
CAR ;
DUP 8 ;
CDR ;
GET ;
IF_NONE { PUSH int 328 ; FAILWITH } {} ;
GET 3 ;
DIG 8 ;
GET 5 ;
CAR ;
DUP 9 ;
CDR ;
GET ;
IF_NONE { PUSH int 328 ; FAILWITH } {} ;
GET 4 ;
PAIR ;
PAIR ;
SOME ;
PUSH nat 0 ;
UPDATE ;
SOME ;
DUP 6 ;
CDR ;
UPDATE ;
SOME ;
SENDER ;
UPDATE ;
UPDATE 9 ;
UNPAIR ;
UNPAIR ;
UNPAIR ;
UNPAIR ;
SWAP ;
EMPTY_MAP nat nat ;
PUSH (option nat) (Some 0) ;
DUP 9 ;
CDR ;
UPDATE ;
SOME ;
SENDER ;
UPDATE ;
SWAP ;
PAIR ;
PAIR ;
PAIR ;
PAIR ;
DUG 2 } ;
DIG 2 ;
UNPAIR ;
SWAP ;
UNPAIR ;
UNPAIR ;
SWAP ;
UNPAIR ;
SWAP ;
UNPAIR ;
SWAP ;
DUP 8 ;
CAR ;
INT ;
SOME ;
PUSH int 0 ;
NOW ;
ADD ;
UPDATE ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
PAIR ;
SWAP ;
UNPAIR ;
UNPAIR ;
UNPAIR ;
SWAP ;
DUP ;
SENDER ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 346 ; FAILWITH } {} ;
DUP ;
DIG 9 ;
CDR ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 346 ; FAILWITH } {} ;
PUSH nat 1 ;
ADD ;
SOME ;
SWAP ;
UPDATE ;
SOME ;
SWAP ;
UPDATE ;
SWAP ;
PAIR ;
PAIR ;
PAIR ;
PAIR ;
SWAP }
{ IF_LEFT
{ DIG 2 ;
DROP ;
DIG 2 ;
DROP ;
DIG 2 ;
DROP ;
PUSH bool False ;
DUP 3 ;
CAR ;
GET 7 ;
COMPARE ;
EQ ;
IF
{}
{ PUSH string " Ths function is on pause" ; FAILWITH } ;
SWAP ;
DUP ;
GET 7 ;
SWAP ;
DUP ;
DUG 3 ;
CAR ;
CAR ;
GET 3 ;
SENDER ;
GET ;
IF_NONE { PUSH int 471 ; FAILWITH } {} ;
GET ;
IF_NONE { PUSH int 473 ; FAILWITH } {} ;
SENDER ;
MEM ;
IF
{}
{ PUSH string "Never staked on this contract" ; FAILWITH } ;
DUP ;
DIG 2 ;
DUP ;
GET 7 ;
SWAP ;
DUP ;
DUG 4 ;
CAR ;
CAR ;
GET 3 ;
SENDER ;
GET ;
IF_NONE { PUSH int 471 ; FAILWITH } {} ;
GET ;
IF_NONE { PUSH int 474 ; FAILWITH } {} ;
SENDER ;
GET ;
IF_NONE { PUSH int 474 ; FAILWITH } {} ;
GET 4 ;
COMPARE ;
GE ;
IF
{}
{ PUSH string "Not enough tokens to unstake" ; FAILWITH } ;
NIL operation ;
DUP 3 ;
CAR ;
CAR ;
CAR ;
CAR ;
CONTRACT %transfer (pair (address %from)
(pair (address %to) (nat %value))) ;
IF_NONE { PUSH int 479 ; FAILWITH } {} ;
PUSH mutez 0 ;
DUP 4 ;
SENDER ;
DUP 7 ;
GET 3 ;
CAR ;
CDR ;
PAIR 3 ;
TRANSFER_TOKENS ;
CONS ;
DUP 3 ;
DUP ;
GET 7 ;
DUP ;
DUP 6 ;
CAR ;
CAR ;
GET 3 ;
SENDER ;
GET ;
IF_NONE { PUSH int 471 ; FAILWITH } {} ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 483 ; FAILWITH } {} ;
DUP ;
SENDER ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 483 ; FAILWITH } {} ;
UNPAIR ;
UNPAIR ;
SWAP ;
PUSH nat 100 ;
PUSH nat 10000000000 ;
MUL ;
DIG 11 ;
DUP ;
GET 7 ;
SWAP ;
DUP ;
DUG 13 ;
CAR ;
CAR ;
GET 3 ;
SENDER ;
GET ;
IF_NONE { PUSH int 471 ; FAILWITH } {} ;
GET ;
IF_NONE { PUSH int 482 ; FAILWITH } {} ;
SENDER ;
GET ;
IF_NONE { PUSH int 482 ; FAILWITH } {} ;
GET 4 ;
DIG 12 ;
DUP ;
GET 7 ;
SWAP ;
DUP ;
DUG 14 ;
CAR ;
CAR ;
GET 3 ;
SENDER ;
GET ;
IF_NONE { PUSH int 471 ; FAILWITH } {} ;
GET ;
IF_NONE { PUSH int 482 ; FAILWITH } {} ;
SENDER ;
GET ;
IF_NONE { PUSH int 482 ; FAILWITH } {} ;
CAR ;
CAR ;
PUSH timestamp "1970-01-01T00:00:00Z" ;
PUSH int 31536000 ;
PUSH timestamp "1970-01-01T00:00:00Z" ;
ADD ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 546 ; FAILWITH } {} ;
DIG 14 ;
DUP ;
GET 7 ;
SWAP ;
CAR ;
CAR ;
GET 3 ;
SENDER ;
GET ;
IF_NONE { PUSH int 471 ; FAILWITH } {} ;
GET ;
IF_NONE { PUSH int 482 ; FAILWITH } {} ;
SENDER ;
GET ;
IF_NONE { PUSH int 482 ; FAILWITH } {} ;
GET 3 ;
PUSH int 0 ;
NOW ;
ADD ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 546 ; FAILWITH } {} ;
PUSH nat 10000000000 ;
MUL ;
EDIV ;
IF_NONE { PUSH int 546 ; FAILWITH } { CAR } ;
MUL ;
MUL ;
EDIV ;
IF_NONE { PUSH int 549 ; FAILWITH } { CAR } ;
ADD ;
SWAP ;
PAIR ;
PAIR ;
SOME ;
SWAP ;
UPDATE ;
SOME ;
SWAP ;
UPDATE ;
UPDATE 7 ;
DUP ;
DUG 3 ;
DUP ;
GET 7 ;
DUP ;
DUP 6 ;
CAR ;
CAR ;
GET 3 ;
SENDER ;
GET ;
IF_NONE { PUSH int 471 ; FAILWITH } {} ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 484 ; FAILWITH } {} ;
DUP ;
SENDER ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 484 ; FAILWITH } {} ;
DUP 8 ;
DIG 9 ;
DUP ;
GET 7 ;
SWAP ;
CAR ;
CAR ;
GET 3 ;
SENDER ;
GET ;
IF_NONE { PUSH int 471 ; FAILWITH } {} ;
GET ;
IF_NONE { PUSH int 482 ; FAILWITH } {} ;
SENDER ;
GET ;
IF_NONE { PUSH int 482 ; FAILWITH } {} ;
GET 4 ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 484 ; FAILWITH } {} ;
UPDATE 4 ;
SOME ;
SWAP ;
UPDATE ;
SOME ;
SWAP ;
UPDATE ;
UPDATE 7 ;
DUP ;
DUG 3 ;
DUP ;
GET 7 ;
DUP ;
DIG 5 ;
CAR ;
CAR ;
GET 3 ;
SENDER ;
GET ;
IF_NONE { PUSH int 471 ; FAILWITH } {} ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 485 ; FAILWITH } {} ;
DUP ;
SENDER ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 485 ; FAILWITH } {} ;
PUSH int 0 ;
NOW ;
ADD ;
UPDATE 3 ;
SOME ;
SWAP ;
UPDATE ;
SOME ;
SWAP ;
UPDATE ;
UPDATE 7 ;
DUP ;
DUG 3 ;
DUP ;
GET 7 ;
DUP ;
DUP 6 ;
CAR ;
CAR ;
GET 3 ;
SENDER ;
GET ;
IF_NONE { PUSH int 471 ; FAILWITH } {} ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 486 ; FAILWITH } {} ;
DUP ;
SENDER ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 486 ; FAILWITH } {} ;
UNPAIR ;
CDR ;
DIG 9 ;
GET 5 ;
CAR ;
PUSH nat 0 ;
GET ;
IF_NONE { PUSH int 486 ; FAILWITH } {} ;
GET 3 ;
PAIR ;
PAIR ;
SOME ;
SWAP ;
UPDATE ;
SOME ;
SWAP ;
UPDATE ;
UPDATE 7 ;
UNPAIR ;
SWAP ;
UNPAIR ;
UNPAIR ;
SWAP ;
UNPAIR ;
SWAP ;
UNPAIR ;
SWAP ;
DIG 7 ;
INT ;
PUSH int -1 ;
MUL ;
SOME ;
PUSH int 0 ;
NOW ;
ADD ;
UPDATE ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
PAIR ;
SWAP ;
PAIR ;
SWAP }
{ PUSH bool False ;
DUP 3 ;
CAR ;
GET 8 ;
COMPARE ;
EQ ;
IF
{}
{ PUSH string " Ths function is on pause" ; FAILWITH } ;
SWAP ;
DUP ;
DUG 2 ;
GET 9 ;
SENDER ;
MEM ;
IF
{}
{ PUSH string "Never staked on this contract" ; FAILWITH } ;
SWAP ;
DUP ;
DUG 2 ;
GET 9 ;
SENDER ;
GET ;
IF_NONE { PUSH int 406 ; FAILWITH } {} ;
SWAP ;
DUP ;
DUG 2 ;
CDR ;
MEM ;
IF
{}
{ PUSH string "Never staked using this pack" ; FAILWITH } ;
SWAP ;
DUP ;
DUG 2 ;
GET 9 ;
SENDER ;
GET ;
IF_NONE { PUSH int 407 ; FAILWITH } {} ;
SWAP ;
DUP ;
DUG 2 ;
CDR ;
GET ;
IF_NONE { PUSH int 407 ; FAILWITH } {} ;
SWAP ;
DUP ;
DUG 2 ;
CAR ;
MEM ;
IF {} { PUSH string "This stake doesn't exist" ; FAILWITH } ;
NOW ;
DUP 3 ;
GET 9 ;
SENDER ;
GET ;
IF_NONE { PUSH int 408 ; FAILWITH } {} ;
DUP 3 ;
CDR ;
GET ;
IF_NONE { PUSH int 408 ; FAILWITH } {} ;
DUP 3 ;
CAR ;
GET ;
IF_NONE { PUSH int 408 ; FAILWITH } {} ;
CAR ;
CAR ;
DUP 4 ;
GET 9 ;
SENDER ;
GET ;
IF_NONE { PUSH int 408 ; FAILWITH } {} ;
DUP 4 ;
CDR ;
GET ;
IF_NONE { PUSH int 408 ; FAILWITH } {} ;
DUP 4 ;
CAR ;
GET ;
IF_NONE { PUSH int 408 ; FAILWITH } {} ;
GET 3 ;
ADD ;
COMPARE ;
LT ;
IF
{ NIL operation ;
DUP 5 ;
DUP 4 ;
GET 9 ;
SENDER ;
GET ;
IF_NONE { PUSH int 408 ; FAILWITH } {} ;
DUP 4 ;
CDR ;
GET ;
IF_NONE { PUSH int 408 ; FAILWITH } {} ;
DUP 4 ;
CAR ;
GET ;
IF_NONE { PUSH int 408 ; FAILWITH } {} ;
DIG 3 ;
DUP ;
CDR ;
SWAP ;
DUP ;
DUG 5 ;
CAR ;
PAIR 3 ;
SWAP ;
DIG 4 ;
DIG 3 ;
DIG 3 ;
PAIR 3 ;
EXEC ;
CDR ;
UNPAIR ;
DIG 5 ;
DIG 5 ;
DIG 5 ;
DIG 4 ;
DIG 5 ;
DIG 5 }
{ NIL operation ;
DUP 4 ;
DUP 4 ;
GET 9 ;
SENDER ;
GET ;
IF_NONE { PUSH int 408 ; FAILWITH } {} ;
DUP 4 ;
CDR ;
GET ;
IF_NONE { PUSH int 408 ; FAILWITH } {} ;
DUP 4 ;
CAR ;
GET ;
IF_NONE { PUSH int 408 ; FAILWITH } {} ;
DIG 3 ;
DUP ;
CDR ;
SWAP ;
DUP ;
DUG 5 ;
CAR ;
PAIR 3 ;
SWAP ;
DIG 4 ;
DIG 3 ;
DIG 3 ;
PAIR 3 ;
EXEC ;
CDR ;
UNPAIR ;
DIG 5 ;
DIG 5 ;
DIG 5 ;
DIG 4 ;
DIG 5 ;
DIG 5 } ;
PUSH nat 0 ;
DUP 4 ;
GET 9 ;
SENDER ;
GET ;
IF_NONE { PUSH int 417 ; FAILWITH } {} ;
DUP 4 ;
CDR ;
GET ;
IF_NONE { PUSH int 417 ; FAILWITH } {} ;
SIZE ;
COMPARE ;
EQ ;
IF
{ DIG 3 ;
DROP ;
DIG 3 ;
DROP ;
DIG 3 ;
DROP ;
DIG 2 ;
DUP ;
GET 9 ;
DUP ;
SENDER ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 418 ; FAILWITH } {} ;
NONE (map nat (pair (pair int nat) (pair timestamp nat))) ;
DIG 6 ;
CDR ;
UPDATE ;
SOME ;
SWAP ;
UPDATE ;
UPDATE 9 ;
SWAP ;
PUSH nat 0 ;
DUP 3 ;
GET 9 ;
SENDER ;
GET ;
IF_NONE { PUSH int 419 ; FAILWITH } {} ;
SIZE ;
COMPARE ;
EQ ;
IF
{ SWAP ;
DUP ;
GET 9 ;
NONE (map nat
(map nat
(pair (pair int nat)
(pair timestamp nat)))) ;
SENDER ;
UPDATE ;
UPDATE 9 ;
SWAP }
{} }
{ SWAP ; DROP ; DIG 2 ; DROP ; DIG 2 ; DROP ; DIG 2 ; DROP } ;
SWAP ;
DUP ;
DUG 2 ;
GET 9 ;
SENDER ;
MEM ;
IF
{ PUSH bool False }
{ SWAP ; DUP ; DUG 2 ; CAR ; CAR ; GET 3 ; SENDER ; MEM ; NOT } ;
IF
{ SWAP ;
UNPAIR ;
UNPAIR ;
SWAP ;
UNPAIR ;
SWAP ;
UNPAIR ;
PUSH int 1 ;
SWAP ;
SUB ;
PAIR ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
PAIR ;
SWAP }
{} } } }
{ IF_LEFT
{ DIG 2 ;
DROP ;
DIG 2 ;
DROP ;
DIG 2 ;
DROP ;
SWAP ;
DUP ;
DUG 2 ;
CAR ;
CAR ;
GET 4 ;
PACK ;
SENDER ;
PACK ;
COMPARE ;
EQ ;
IF {} { PUSH string "Access denied" ; FAILWITH } ;
SWAP ;
UNPAIR ;
UNPAIR ;
UNPAIR ;
SWAP ;
CAR ;
DIG 4 ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
PAIR ;
PAIR }
{ IF_LEFT
{ DIG 2 ;
DROP ;
DIG 2 ;
DROP ;
DIG 2 ;
DROP ;
SWAP ;
DUP ;
DUG 2 ;
CAR ;
CAR ;
GET 4 ;
PACK ;
SENDER ;
PACK ;
COMPARE ;
EQ ;
IF {} { PUSH string "Access denied" ; FAILWITH } ;
SWAP ;
UNPAIR ;
UNPAIR ;
UNPAIR ;
CDR ;
DIG 4 ;
PAIR ;
PAIR ;
PAIR ;
PAIR }
{ DIG 2 ;
DROP ;
DIG 2 ;
DROP ;
DIG 2 ;
SENDER ;
SWAP ;
DIG 3 ;
DIG 2 ;
PAIR ;
EXEC ;
UNPAIR ;
SWAP ;
DUG 2 ;
IF
{ PUSH bool True }
{ SENDER ; DUP 3 ; CAR ; CAR ; GET 4 ; COMPARE ; EQ } ;
IF {} { PUSH string "Access denied" ; FAILWITH } ;
DUP ;
PUSH nat 0 ;
COMPARE ;
NEQ ;
IF
{}
{ PUSH string "WrongCondition: params.value != 0" ;
FAILWITH } ;
SWAP ;
UNPAIR ;
UNPAIR ;
SWAP ;
UNPAIR ;
CDR ;
DIG 4 ;
PAIR ;
PAIR ;
SWAP ;
PAIR ;
PAIR } } ;
NIL operation } } }
{ IF_LEFT
{ DIG 2 ;
DROP ;
DIG 2 ;
DROP ;
DIG 2 ;
DROP ;
IF_LEFT
{ IF_LEFT
{ SWAP ;
DUP ;
DUG 2 ;
CAR ;
CAR ;
GET 4 ;
PACK ;
SENDER ;
PACK ;
COMPARE ;
EQ ;
IF {} { PUSH string "Access denied" ; FAILWITH } ;
SWAP ;
UNPAIR ;
UNPAIR ;
SWAP ;
UNPAIR ;
UNPAIR ;
SWAP ;
DIG 5 ;
SOME ;
PUSH string "" ;
UPDATE ;
SWAP ;
PAIR ;
PAIR ;
SWAP ;
PAIR ;
PAIR }
{ DROP ;
DUP ;
CAR ;
CAR ;
GET 4 ;
PACK ;
SENDER ;
PACK ;
COMPARE ;
EQ ;
IF {} { PUSH string "Access denied" ; FAILWITH } ;
DUP ;
UNPAIR ;
UNPAIR ;
SWAP ;
UNPAIR ;
SWAP ;
UNPAIR ;
SWAP ;
CDR ;
DIG 5 ;
CAR ;
GET 7 ;
NOT ;
PAIR ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
PAIR } }
{ IF_LEFT
{ DROP ;
DUP ;
CAR ;
CAR ;
GET 4 ;
PACK ;
SENDER ;
PACK ;
COMPARE ;
EQ ;
IF {} { PUSH string "Access denied" ; FAILWITH } ;
DUP ;
UNPAIR ;
UNPAIR ;
SWAP ;
UNPAIR ;
SWAP ;
UNPAIR ;
SWAP ;
CAR ;
DIG 5 ;
CAR ;
GET 8 ;
NOT ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
PAIR }
{ IF_LEFT
{ SWAP ;
DUP ;
DUG 2 ;
CAR ;
CAR ;
GET 4 ;
PACK ;
SENDER ;
PACK ;
COMPARE ;
EQ ;
IF {} { PUSH string "Access denied" ; FAILWITH } ;
SWAP ;
UNPAIR ;
SWAP ;
UNPAIR ;
UNPAIR ;
CAR ;
DIG 4 ;
SWAP ;
PAIR ;
PAIR ;
PAIR ;
SWAP ;
PAIR }
{ SWAP ;
DUP ;
DUG 2 ;
CAR ;
CAR ;
GET 4 ;
SENDER ;
COMPARE ;
EQ ;
IF {} { PUSH string "Access denied" ; FAILWITH } ;
SWAP ;
DUP ;
DUG 2 ;
GET 7 ;
SWAP ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 576 ; FAILWITH } {} ;
ITER { CAR ;
DUP 3 ;
DUP ;
GET 7 ;
DUP ;
DUP 5 ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 578 ; FAILWITH } {} ;
DUP ;
DUP 6 ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 578 ; FAILWITH } {} ;
UNPAIR ;
UNPAIR ;
SWAP ;
PUSH nat 100 ;
PUSH nat 10000000000 ;
MUL ;
DUP 12 ;
GET 7 ;
DUP 12 ;
GET ;
IF_NONE { PUSH int 577 ; FAILWITH } {} ;
DUP 11 ;
GET ;
IF_NONE { PUSH int 577 ; FAILWITH } {} ;
GET 4 ;
DUP 13 ;
GET 7 ;
DUP 13 ;
GET ;
IF_NONE { PUSH int 577 ; FAILWITH } {} ;
DUP 12 ;
GET ;
IF_NONE { PUSH int 577 ; FAILWITH } {} ;
CAR ;
CAR ;
PUSH timestamp "1970-01-01T00:00:00Z" ;
PUSH int 31536000 ;
PUSH timestamp "1970-01-01T00:00:00Z" ;
ADD ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 546 ; FAILWITH } {} ;
DIG 14 ;
GET 7 ;
DUP 15 ;
GET ;
IF_NONE { PUSH int 577 ; FAILWITH } {} ;
DUP 14 ;
GET ;
IF_NONE { PUSH int 577 ; FAILWITH } {} ;
GET 3 ;
PUSH int 0 ;
NOW ;
ADD ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 546 ; FAILWITH } {} ;
PUSH nat 10000000000 ;
MUL ;
EDIV ;
IF_NONE { PUSH int 546 ; FAILWITH } { CAR } ;
MUL ;
MUL ;
EDIV ;
IF_NONE { PUSH int 549 ; FAILWITH } { CAR } ;
ADD ;
SWAP ;
PAIR ;
PAIR ;
SOME ;
SWAP ;
UPDATE ;
SOME ;
SWAP ;
UPDATE ;
UPDATE 7 ;
DUP ;
GET 7 ;
DUP ;
DUP 5 ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 579 ; FAILWITH } {} ;
DUP ;
DUP 6 ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 579 ; FAILWITH } {} ;
PUSH int 0 ;
NOW ;
ADD ;
UPDATE 3 ;
SOME ;
SWAP ;
UPDATE ;
SOME ;
SWAP ;
UPDATE ;
UPDATE 7 ;
DUP ;
DUG 3 ;
DUP ;
GET 7 ;
DUP ;
DUP 5 ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 580 ; FAILWITH } {} ;
DUP ;
DIG 5 ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 580 ; FAILWITH } {} ;
UNPAIR ;
CDR ;
DIG 8 ;
GET 5 ;
CAR ;
PUSH nat 0 ;
GET ;
IF_NONE { PUSH int 580 ; FAILWITH } {} ;
GET 3 ;
PAIR ;
PAIR ;
SOME ;
SWAP ;
UPDATE ;
SOME ;
SWAP ;
UPDATE ;
UPDATE 7 ;
SWAP } ;
DROP } } } ;
NIL operation }
{ IF_LEFT
{ IF_LEFT
{ DIG 2 ;
DROP ;
DIG 2 ;
DROP ;
DIG 2 ;
SENDER ;
SWAP ;
DIG 3 ;
DIG 2 ;
PAIR ;
EXEC ;
UNPAIR ;
SWAP ;
DUG 2 ;
IF
{ PUSH bool True }
{ SENDER ; DUP 3 ; CAR ; CAR ; GET 4 ; COMPARE ; EQ } ;
IF {} { PUSH string "Access denied" ; FAILWITH } ;
SWAP ;
DUP ;
DUG 2 ;
GET 5 ;
CAR ;
SWAP ;
DUP ;
DUG 2 ;
CAR ;
MEM ;
IF
{}
{ PUSH string "The staking option for this id does not exist" ;
FAILWITH } ;
DUP ;
CAR ;
PUSH nat 0 ;
COMPARE ;
NEQ ;
IF
{}
{ PUSH string "WrongCondition: params._id != 0" ; FAILWITH } ;
SWAP ;
UNPAIR ;
SWAP ;
UNPAIR ;
SWAP ;
UNPAIR ;
UNPAIR ;
DUP ;
DUP 7 ;
CAR ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 245 ; FAILWITH } {} ;
DIG 7 ;
CDR ;
UPDATE 4 ;
SOME ;
SWAP ;
UPDATE ;
PAIR ;
PAIR ;
SWAP ;
PAIR ;
SWAP ;
PAIR }
{ IF_LEFT
{ DIG 2 ;
DROP ;
DIG 2 ;
DROP ;
DIG 2 ;
SENDER ;
SWAP ;
DIG 3 ;
DIG 2 ;
PAIR ;
EXEC ;
UNPAIR ;
SWAP ;
DUG 2 ;
IF
{ PUSH bool True }
{ SENDER ; DUP 3 ; CAR ; CAR ; GET 4 ; COMPARE ; EQ } ;
IF {} { PUSH string "Access denied" ; FAILWITH } ;
SWAP ;
DUP ;
DUG 2 ;
GET 5 ;
CAR ;
SWAP ;
DUP ;
DUG 2 ;
CAR ;
MEM ;
IF
{}
{ PUSH string "The staking option for this id does not exist" ;
FAILWITH } ;
SWAP ;
DUP ;
DUG 2 ;
GET 5 ;
CAR ;
SWAP ;
DUP ;
DUG 2 ;
CAR ;
GET ;
IF_NONE { PUSH int 257 ; FAILWITH } {} ;
CAR ;
CDR ;
SWAP ;
DUP ;
DUG 2 ;
CDR ;
COMPARE ;
GE ;
IF
{}
{ PUSH string "WrongCondition: params._max >= self.data.stakingOptions[params._id].minStake" ;
FAILWITH } ;
SWAP ;
UNPAIR ;
SWAP ;
UNPAIR ;
SWAP ;
UNPAIR ;
UNPAIR ;
DUP ;
DUP 7 ;
CAR ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 258 ; FAILWITH } {} ;
UNPAIR ;
CDR ;
DIG 8 ;
CDR ;
PAIR ;
PAIR ;
SOME ;
SWAP ;
UPDATE ;
PAIR ;
PAIR ;
SWAP ;
PAIR ;
SWAP ;
PAIR }
{ DIG 2 ;
DROP ;
DIG 2 ;
DROP ;
DIG 2 ;
SENDER ;
SWAP ;
DIG 3 ;
DIG 2 ;
PAIR ;
EXEC ;
UNPAIR ;
SWAP ;
DUG 2 ;
IF
{ PUSH bool True }
{ SENDER ; DUP 3 ; CAR ; CAR ; GET 4 ; COMPARE ; EQ } ;
IF {} { PUSH string "Access denied" ; FAILWITH } ;
SWAP ;
DUP ;
DUG 2 ;
GET 5 ;
CAR ;
SWAP ;
DUP ;
DUG 2 ;
CAR ;
MEM ;
IF
{}
{ PUSH string "The staking option for this id does not exist" ;
FAILWITH } ;
SWAP ;
DUP ;
DUG 2 ;
GET 5 ;
CAR ;
SWAP ;
DUP ;
DUG 2 ;
CAR ;
GET ;
IF_NONE { PUSH int 270 ; FAILWITH } {} ;
CAR ;
CAR ;
SWAP ;
DUP ;
DUG 2 ;
CDR ;
COMPARE ;
LE ;
IF
{}
{ PUSH string "WrongCondition: params._min <= self.data.stakingOptions[params._id].maxStake" ;
FAILWITH } ;
SWAP ;
UNPAIR ;
SWAP ;
UNPAIR ;
SWAP ;
UNPAIR ;
UNPAIR ;
DUP ;
DUP 7 ;
CAR ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 271 ; FAILWITH } {} ;
UNPAIR ;
CAR ;
DIG 8 ;
CDR ;
SWAP ;
PAIR ;
PAIR ;
SOME ;
SWAP ;
UPDATE ;
PAIR ;
PAIR ;
SWAP ;
PAIR ;
SWAP ;
PAIR } } ;
NIL operation }
{ IF_LEFT
{ DIG 2 ;
DROP ;
DIG 2 ;
DROP ;
DIG 2 ;
SENDER ;
SWAP ;
DIG 3 ;
DIG 2 ;
PAIR ;
EXEC ;
UNPAIR ;
SWAP ;
DUG 2 ;
IF
{ PUSH bool True }
{ SENDER ; DUP 3 ; CAR ; CAR ; GET 4 ; COMPARE ; EQ } ;
IF {} { PUSH string "Access denied" ; FAILWITH } ;
SWAP ;
DUP ;
DUG 2 ;
GET 5 ;
CAR ;
SWAP ;
DUP ;
DUG 2 ;
CAR ;
MEM ;
IF
{}
{ PUSH string "The staking option for this id does not exist" ;
FAILWITH } ;
SWAP ;
UNPAIR ;
SWAP ;
UNPAIR ;
SWAP ;
UNPAIR ;
UNPAIR ;
DUP ;
DUP 7 ;
CAR ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 232 ; FAILWITH } {} ;
DIG 7 ;
CDR ;
UPDATE 3 ;
SOME ;
SWAP ;
UPDATE ;
PAIR ;
PAIR ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
NIL operation }
{ DIG 3 ;
DROP ;
DIG 3 ;
DROP ;
IF_LEFT
{ DIG 2 ;
DROP ;
SWAP ;
DUP ;
DUG 2 ;
CAR ;
CAR ;
GET 4 ;
PACK ;
SENDER ;
PACK ;
COMPARE ;
EQ ;
IF {} { PUSH string "Access denied" ; FAILWITH } ;
SOME ;
UPDATE 10 ;
NIL operation }
{ DROP ;
SWAP ;
DROP ;
DUP ;
CAR ;
CAR ;
GET 4 ;
PACK ;
SENDER ;
PACK ;
COMPARE ;
EQ ;
IF {} { PUSH string "Access denied" ; FAILWITH } ;
DUP ;
CAR ;
CAR ;
CAR ;
CAR ;
CONTRACT %transfer (pair (address %from)
(pair (address %to) (nat %value))) ;
IF_NONE { PUSH int 196 ; FAILWITH } {} ;
NIL operation ;
SWAP ;
PUSH mutez 0 ;
DUP 4 ;
GET 3 ;
GET 3 ;
SENDER ;
DUP 6 ;
GET 3 ;
CAR ;
CDR ;
PAIR 3 ;
TRANSFER_TOKENS ;
CONS ;
SWAP ;
UNPAIR ;
SWAP ;
UNPAIR ;
UNPAIR ;
SWAP ;
CDR ;
PUSH nat 0 ;
PAIR ;
SWAP ;
PAIR ;
PAIR ;
SWAP ;
PAIR ;
SWAP } } } } } ;
NIL operation ;
SWAP ;
ITER { CONS } ;
PAIR }