x
1033
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 %addressId address nat))
(pair (address %admin) (nat %maxValuesNb)))
(pair (pair (big_map %metadata string bytes) (int %numberOfStakers))
(pair (bool %pauseFlex)
(pair (bool %pauseLock) (big_map %redeemedRewards address nat)))))
(pair
(pair (pair (address %reserve) (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 (list operation)
(pair
(pair
(pair (pair address (big_map address nat)) (pair address nat))
(pair (pair (big_map string bytes) int)
(pair bool (pair bool (big_map address nat)))))
(pair
(pair (pair address 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 (list operation)
(pair
(pair
(pair (pair address (big_map address nat)) (pair address nat))
(pair (pair (big_map string bytes) int)
(pair bool (pair bool (big_map address nat)))))
(pair
(pair (pair address 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 ;
GET 10 ;
IF_NONE
{ SWAP ; DROP ; PUSH bool False }
{ DROP ; SWAP ; DUP 3 ; GET 10 ; IF_NONE { PUSH int 160 ; FAILWITH } {} ; COMPARE ; EQ } ;
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 nat)) (pair address nat))
(pair (pair (big_map string bytes) int)
(pair bool (pair bool (big_map address nat)))))
(pair
(pair (pair address 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 nat)) (pair address nat))
(pair (pair (big_map string bytes) int)
(pair bool (pair bool (big_map address nat)))))
(pair
(pair (pair address 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 425 ; 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 538 ; FAILWITH } {} ;
DIG 7 ;
DUP ;
GET 7 ;
SWAP ;
DUP ;
GET 5 ;
CAR ;
SWAP ;
DUP ;
DUG 10 ;
GET 7 ;
ADD ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 538 ; FAILWITH } {} ;
PUSH nat 10000000000 ;
MUL ;
EDIV ;
IF_NONE { PUSH int 538 ; FAILWITH } { CAR } ;
MUL ;
MUL ;
EDIV ;
IF_NONE { PUSH int 541 ; FAILWITH } { CAR } ;
DUP 5 ;
GET 8 ;
ADD ;
SENDER ;
DUP 7 ;
GET 3 ;
CAR ;
CAR ;
PAIR 3 ;
TRANSFER_TOKENS ;
CONS ;
DUP 3 ;
CAR ;
GET 8 ;
SENDER ;
MEM ;
IF
{ DIG 2 ;
UNPAIR ;
UNPAIR ;
SWAP ;
UNPAIR ;
SWAP ;
UNPAIR ;
SWAP ;
UNPAIR ;
SWAP ;
DUP ;
SENDER ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 550 ; FAILWITH } {} ;
PUSH nat 100 ;
PUSH nat 10000000000 ;
MUL ;
DIG 10 ;
DUP ;
GET 8 ;
SWAP ;
DUP ;
DUG 12 ;
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 538 ; FAILWITH } {} ;
DIG 13 ;
DUP ;
GET 7 ;
SWAP ;
DUP ;
GET 5 ;
CAR ;
SWAP ;
DUP ;
DUG 16 ;
GET 7 ;
ADD ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 538 ; FAILWITH } {} ;
PUSH nat 10000000000 ;
MUL ;
EDIV ;
IF_NONE { PUSH int 538 ; FAILWITH } { CAR } ;
MUL ;
MUL ;
EDIV ;
IF_NONE { PUSH int 541 ; FAILWITH } { CAR } ;
ADD ;
SOME ;
SWAP ;
UPDATE ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
PAIR ;
DUG 2 }
{ DIG 2 ;
UNPAIR ;
UNPAIR ;
SWAP ;
UNPAIR ;
SWAP ;
UNPAIR ;
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 538 ; FAILWITH } {} ;
DIG 11 ;
DUP ;
GET 7 ;
SWAP ;
DUP ;
GET 5 ;
CAR ;
SWAP ;
DUP ;
DUG 14 ;
GET 7 ;
ADD ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 538 ; FAILWITH } {} ;
PUSH nat 10000000000 ;
MUL ;
EDIV ;
IF_NONE { PUSH int 538 ; FAILWITH } { CAR } ;
MUL ;
MUL ;
EDIV ;
IF_NONE { PUSH int 541 ; FAILWITH } { CAR } ;
SOME ;
SENDER ;
UPDATE ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
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 538 ; FAILWITH } {} ;
DIG 10 ;
DUP ;
GET 7 ;
SWAP ;
DUP ;
GET 5 ;
CAR ;
SWAP ;
DUP ;
DUG 13 ;
GET 7 ;
ADD ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 538 ; FAILWITH } {} ;
PUSH nat 10000000000 ;
MUL ;
EDIV ;
IF_NONE { PUSH int 538 ; FAILWITH } { CAR } ;
MUL ;
MUL ;
EDIV ;
IF_NONE { PUSH int 541 ; FAILWITH } { CAR } ;
ADD ;
SWAP ;
PAIR ;
PAIR ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
DUP ;
DUG 3 ;
UNPAIR ;
SWAP ;
UNPAIR ;
UNPAIR ;
CAR ;
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 538 ; FAILWITH } {} ;
DIG 9 ;
DUP ;
GET 7 ;
SWAP ;
DUP ;
GET 5 ;
CAR ;
SWAP ;
DUP ;
DUG 12 ;
GET 7 ;
ADD ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 538 ; FAILWITH } {} ;
PUSH nat 10000000000 ;
MUL ;
EDIV ;
IF_NONE { PUSH int 538 ; FAILWITH } { CAR } ;
MUL ;
MUL ;
EDIV ;
IF_NONE { PUSH int 541 ; FAILWITH } { CAR } ;
DIG 7 ;
GET 3 ;
CAR ;
CDR ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 555 ; FAILWITH } {} ;
SWAP ;
PAIR ;
SWAP ;
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 538 ; FAILWITH } {} ;
DIG 10 ;
DUP ;
GET 7 ;
SWAP ;
DUP ;
GET 5 ;
CAR ;
SWAP ;
DUP ;
DUG 13 ;
GET 7 ;
ADD ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 538 ; FAILWITH } {} ;
PUSH nat 10000000000 ;
MUL ;
EDIV ;
IF_NONE { PUSH int 538 ; FAILWITH } { CAR } ;
MUL ;
MUL ;
EDIV ;
IF_NONE { PUSH int 541 ; FAILWITH } { CAR } ;
DUP 8 ;
GET 8 ;
ADD ;
INT ;
PUSH int -1 ;
MUL ;
SOME ;
PUSH int 0 ;
NOW ;
ADD ;
UPDATE ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
PAIR ;
SWAP ;
PAIR ;
DUP ;
GET 9 ;
DUP ;
SENDER ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 430 ; FAILWITH } {} ;
DUP ;
DUP 7 ;
GET 3 ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 430 ; 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 nat)) (pair address nat))
(pair (pair (big_map string bytes) int)
(pair bool (pair bool (big_map address nat)))))
(pair
(pair (pair address 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 nat)) (pair address nat))
(pair (pair (big_map string bytes) int)
(pair bool (pair bool (big_map address nat)))))
(pair
(pair (pair address 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 445 ; FAILWITH } {} ;
PUSH mutez 0 ;
DUP 4 ;
GET 8 ;
SENDER ;
DUP 7 ;
GET 3 ;
CAR ;
CAR ;
PAIR 3 ;
TRANSFER_TOKENS ;
CONS ;
DIG 2 ;
UNPAIR ;
SWAP ;
UNPAIR ;
UNPAIR ;
SWAP ;
UNPAIR ;
SWAP ;
DUP 7 ;
GET 8 ;
INT ;
PUSH int -1 ;
MUL ;
SOME ;
PUSH int 0 ;
NOW ;
ADD ;
UPDATE ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
PAIR ;
SWAP ;
PAIR ;
DUP ;
GET 9 ;
DUP ;
SENDER ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 448 ; FAILWITH } {} ;
DUP ;
DUP 7 ;
GET 3 ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 448 ; 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 3 ;
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 182 ; FAILWITH } {} ;
PUSH mutez 0 ;
DUP 4 ;
DUP 6 ;
GET 3 ;
CAR ;
CAR ;
SENDER ;
PAIR 3 ;
TRANSFER_TOKENS ;
CONS ;
DIG 2 ;
UNPAIR ;
SWAP ;
UNPAIR ;
UNPAIR ;
UNPAIR ;
SWAP ;
DIG 6 ;
ADD ;
SWAP ;
PAIR ;
PAIR ;
PAIR ;
SWAP ;
PAIR ;
SWAP }
{ DROP ;
SWAP ;
DROP ;
DUP ;
CAR ;
CAR ;
CAR ;
CDR ;
SENDER ;
MEM ;
IF
{}
{ PUSH string "Never staked on this contract" ; FAILWITH } ;
DUP ;
CAR ;
GET 5 ;
PUSH bool False ;
COMPARE ;
EQ ;
IF {} { PUSH string " Ths function is on pause" ; FAILWITH } ;
DUP ;
GET 7 ;
SWAP ;
DUP ;
DUG 2 ;
CAR ;
CAR ;
CAR ;
CDR ;
SENDER ;
GET ;
IF_NONE { PUSH int 484 ; FAILWITH } {} ;
GET ;
IF_NONE { PUSH int 486 ; FAILWITH } {} ;
SENDER ;
MEM ;
IF
{}
{ PUSH string "Never staked on this contract" ; FAILWITH } ;
DUP ;
DUP ;
GET 7 ;
DUP ;
DUP 4 ;
CAR ;
CAR ;
CAR ;
CDR ;
SENDER ;
GET ;
IF_NONE { PUSH int 484 ; FAILWITH } {} ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 490 ; FAILWITH } {} ;
DUP ;
SENDER ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 490 ; FAILWITH } {} ;
UNPAIR ;
UNPAIR ;
SWAP ;
PUSH nat 100 ;
PUSH nat 10000000000 ;
MUL ;
DIG 9 ;
DUP ;
GET 7 ;
SWAP ;
DUP ;
DUG 11 ;
CAR ;
CAR ;
CAR ;
CDR ;
SENDER ;
GET ;
IF_NONE { PUSH int 484 ; FAILWITH } {} ;
GET ;
IF_NONE { PUSH int 488 ; FAILWITH } {} ;
SENDER ;
GET ;
IF_NONE { PUSH int 488 ; FAILWITH } {} ;
GET 4 ;
DIG 10 ;
DUP ;
GET 7 ;
SWAP ;
DUP ;
DUG 12 ;
CAR ;
CAR ;
CAR ;
CDR ;
SENDER ;
GET ;
IF_NONE { PUSH int 484 ; FAILWITH } {} ;
GET ;
IF_NONE { PUSH int 488 ; FAILWITH } {} ;
SENDER ;
GET ;
IF_NONE { PUSH int 488 ; 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 538 ; FAILWITH } {} ;
DIG 12 ;
DUP ;
GET 7 ;
SWAP ;
CAR ;
CAR ;
CAR ;
CDR ;
SENDER ;
GET ;
IF_NONE { PUSH int 484 ; FAILWITH } {} ;
GET ;
IF_NONE { PUSH int 488 ; FAILWITH } {} ;
SENDER ;
GET ;
IF_NONE { PUSH int 488 ; FAILWITH } {} ;
GET 3 ;
PUSH int 0 ;
NOW ;
ADD ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 538 ; FAILWITH } {} ;
PUSH nat 10000000000 ;
MUL ;
EDIV ;
IF_NONE { PUSH int 538 ; FAILWITH } { CAR } ;
MUL ;
MUL ;
EDIV ;
IF_NONE { PUSH int 541 ; 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 ;
CAR ;
CDR ;
SENDER ;
GET ;
IF_NONE { PUSH int 484 ; FAILWITH } {} ;
GET ;
IF_NONE { PUSH int 491 ; FAILWITH } {} ;
SENDER ;
GET ;
IF_NONE { PUSH int 491 ; FAILWITH } {} ;
CAR ;
CDR ;
COMPARE ;
NEQ ;
IF {} { PUSH string "The reward is zero" ; FAILWITH } ;
DUP ;
GET 7 ;
SWAP ;
DUP ;
DUG 2 ;
CAR ;
CAR ;
CAR ;
CDR ;
SENDER ;
GET ;
IF_NONE { PUSH int 484 ; FAILWITH } {} ;
GET ;
IF_NONE { PUSH int 492 ; FAILWITH } {} ;
SENDER ;
GET ;
IF_NONE { PUSH int 492 ; FAILWITH } {} ;
CAR ;
CDR ;
SWAP ;
DUP ;
DUG 2 ;
GET 3 ;
CAR ;
CDR ;
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 496 ; FAILWITH } {} ;
NIL operation ;
SWAP ;
PUSH mutez 0 ;
DIG 3 ;
DUP ;
GET 7 ;
SWAP ;
DUP ;
DUG 5 ;
CAR ;
CAR ;
CAR ;
CDR ;
SENDER ;
GET ;
IF_NONE { PUSH int 484 ; FAILWITH } {} ;
GET ;
IF_NONE { PUSH int 495 ; FAILWITH } {} ;
SENDER ;
GET ;
IF_NONE { PUSH int 495 ; FAILWITH } {} ;
CAR ;
CDR ;
SENDER ;
DUP 6 ;
GET 3 ;
CAR ;
CAR ;
PAIR 3 ;
TRANSFER_TOKENS ;
CONS ;
SWAP ;
DUP ;
DUG 2 ;
CAR ;
GET 8 ;
SENDER ;
MEM ;
IF
{ SWAP ;
DUP ;
DUG 2 ;
UNPAIR ;
UNPAIR ;
SWAP ;
UNPAIR ;
SWAP ;
UNPAIR ;
SWAP ;
UNPAIR ;
SWAP ;
DUP ;
SENDER ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 550 ; FAILWITH } {} ;
DIG 9 ;
DUP ;
GET 7 ;
SWAP ;
CAR ;
CAR ;
CAR ;
CDR ;
SENDER ;
GET ;
IF_NONE { PUSH int 484 ; FAILWITH } {} ;
GET ;
IF_NONE { PUSH int 488 ; FAILWITH } {} ;
SENDER ;
GET ;
IF_NONE { PUSH int 488 ; FAILWITH } {} ;
CAR ;
CDR ;
ADD ;
SOME ;
SWAP ;
UPDATE ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
PAIR ;
SWAP }
{ SWAP ;
DUP ;
DUG 2 ;
UNPAIR ;
UNPAIR ;
SWAP ;
UNPAIR ;
SWAP ;
UNPAIR ;
SWAP ;
UNPAIR ;
SWAP ;
DIG 7 ;
DUP ;
GET 7 ;
SWAP ;
CAR ;
CAR ;
CAR ;
CDR ;
SENDER ;
GET ;
IF_NONE { PUSH int 484 ; FAILWITH } {} ;
GET ;
IF_NONE { PUSH int 488 ; FAILWITH } {} ;
SENDER ;
GET ;
IF_NONE { PUSH int 488 ; FAILWITH } {} ;
CAR ;
CDR ;
SOME ;
SENDER ;
UPDATE ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
PAIR ;
SWAP } ;
SWAP ;
DUP ;
DUG 2 ;
UNPAIR ;
SWAP ;
UNPAIR ;
SWAP ;
UNPAIR ;
UNPAIR ;
SWAP ;
DIG 6 ;
DUP ;
GET 7 ;
SWAP ;
CAR ;
CAR ;
CAR ;
CDR ;
SENDER ;
GET ;
IF_NONE { PUSH int 484 ; FAILWITH } {} ;
GET ;
IF_NONE { PUSH int 488 ; FAILWITH } {} ;
SENDER ;
GET ;
IF_NONE { PUSH int 488 ; FAILWITH } {} ;
CAR ;
CDR ;
ADD ;
SWAP ;
PAIR ;
PAIR ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
DUP ;
DUG 2 ;
UNPAIR ;
SWAP ;
UNPAIR ;
UNPAIR ;
CAR ;
DIG 5 ;
DUP ;
GET 7 ;
SWAP ;
DUP ;
DUG 7 ;
CAR ;
CAR ;
CAR ;
CDR ;
SENDER ;
GET ;
IF_NONE { PUSH int 484 ; FAILWITH } {} ;
GET ;
IF_NONE { PUSH int 488 ; FAILWITH } {} ;
SENDER ;
GET ;
IF_NONE { PUSH int 488 ; FAILWITH } {} ;
CAR ;
CDR ;
DIG 6 ;
GET 3 ;
CAR ;
CDR ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 555 ; FAILWITH } {} ;
SWAP ;
PAIR ;
PAIR ;
PAIR ;
SWAP ;
PAIR ;
DUP ;
DUG 2 ;
DUP ;
GET 7 ;
DUP ;
DIG 4 ;
CAR ;
CAR ;
CAR ;
CDR ;
SENDER ;
GET ;
IF_NONE { PUSH int 484 ; FAILWITH } {} ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 498 ; FAILWITH } {} ;
DUP ;
SENDER ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 498 ; FAILWITH } {} ;
UNPAIR ;
CAR ;
PUSH int 0 ;
ISNAT ;
IF_NONE { PUSH int 498 ; FAILWITH } {} ;
SWAP ;
PAIR ;
PAIR ;
SOME ;
SWAP ;
UPDATE ;
SOME ;
SWAP ;
UPDATE ;
UPDATE 7 ;
DUP ;
DUG 2 ;
DUP ;
GET 7 ;
DUP ;
DIG 4 ;
CAR ;
CAR ;
CAR ;
CDR ;
SENDER ;
GET ;
IF_NONE { PUSH int 484 ; FAILWITH } {} ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 499 ; FAILWITH } {} ;
DUP ;
SENDER ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 499 ; 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 ;
CAR ;
CDR ;
SENDER ;
GET ;
IF_NONE { PUSH int 484 ; FAILWITH } {} ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 500 ; FAILWITH } {} ;
DUP ;
SENDER ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 500 ; FAILWITH } {} ;
UNPAIR ;
CDR ;
DIG 8 ;
GET 5 ;
CAR ;
PUSH nat 0 ;
GET ;
IF_NONE { PUSH int 500 ; 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 ;
CAR ;
CDR ;
SENDER ;
GET ;
IF_NONE { PUSH int 484 ; FAILWITH } {} ;
GET ;
IF_NONE { PUSH int 488 ; FAILWITH } {} ;
SENDER ;
GET ;
IF_NONE { PUSH int 488 ; FAILWITH } {} ;
GET 4 ;
COMPARE ;
EQ ;
IF
{ SWAP ;
DUP ;
DUG 2 ;
DUP ;
GET 7 ;
DUP ;
DIG 4 ;
CAR ;
CAR ;
CAR ;
CDR ;
SENDER ;
GET ;
IF_NONE { PUSH int 484 ; FAILWITH } {} ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 504 ; FAILWITH } {} ;
NONE (pair (pair nat nat) (pair timestamp nat)) ;
SENDER ;
UPDATE ;
SOME ;
SWAP ;
UPDATE ;
UPDATE 7 ;
DUP ;
DUG 2 ;
CAR ;
CAR ;
CAR ;
CDR ;
SENDER ;
GET ;
IF_NONE { PUSH int 484 ; FAILWITH } {} ;
DUP 3 ;
GET 3 ;
GET 3 ;
COMPARE ;
NEQ ;
IF
{ SENDER ;
DIG 2 ;
DUP ;
GET 7 ;
SWAP ;
DUP ;
DUG 4 ;
GET 3 ;
GET 3 ;
GET ;
IF_NONE { PUSH int 507 ; FAILWITH } {} ;
ITER { SWAP ; DROP ; CAR } ;
DUP 3 ;
DUP ;
GET 7 ;
DUP ;
DUP 6 ;
CAR ;
CAR ;
CAR ;
CDR ;
SENDER ;
GET ;
IF_NONE { PUSH int 484 ; FAILWITH } {} ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 509 ; FAILWITH } {} ;
DIG 6 ;
DUP ;
GET 7 ;
SWAP ;
GET 3 ;
GET 3 ;
GET ;
IF_NONE { PUSH int 509 ; FAILWITH } {} ;
DUP 6 ;
GET ;
IF_NONE { PUSH int 509 ; FAILWITH } {} ;
SOME ;
DUP 6 ;
UPDATE ;
SOME ;
SWAP ;
UPDATE ;
UPDATE 7 ;
DUP ;
DUG 3 ;
UNPAIR ;
UNPAIR ;
UNPAIR ;
UNPAIR ;
SWAP ;
DIG 7 ;
CAR ;
CAR ;
CAR ;
CDR ;
SENDER ;
GET ;
IF_NONE { PUSH int 484 ; FAILWITH } {} ;
SOME ;
DUP 7 ;
UPDATE ;
SWAP ;
PAIR ;
PAIR ;
PAIR ;
PAIR ;
DUP ;
DUG 3 ;
DUP ;
GET 7 ;
DUP ;
DIG 5 ;
GET 3 ;
GET 3 ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 511 ; FAILWITH } {} ;
NONE (pair (pair nat nat) (pair timestamp nat)) ;
DIG 5 ;
UPDATE ;
SOME ;
SWAP ;
UPDATE ;
UPDATE 7 ;
UNPAIR ;
UNPAIR ;
UNPAIR ;
UNPAIR ;
SWAP ;
NONE nat ;
SENDER ;
UPDATE ;
SWAP ;
PAIR ;
PAIR ;
PAIR ;
PAIR ;
SWAP ;
PUSH nat 0 ;
DIG 2 ;
DUP ;
GET 7 ;
SWAP ;
DUP ;
DUG 4 ;
GET 3 ;
GET 3 ;
GET ;
IF_NONE { PUSH int 513 ; 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 3 ;
UPDATE ;
UPDATE 7 ;
DUP ;
DUG 2 ;
UNPAIR ;
SWAP ;
UNPAIR ;
UNPAIR ;
SWAP ;
CDR ;
PUSH nat 1 ;
DIG 6 ;
GET 3 ;
GET 3 ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 515 ; FAILWITH } {} ;
PAIR ;
SWAP ;
PAIR ;
PAIR ;
SWAP ;
PAIR ;
SWAP }
{} }
{ PUSH nat 0 ;
DIG 2 ;
DUP ;
GET 7 ;
SWAP ;
DUP ;
DUG 4 ;
GET 3 ;
GET 3 ;
GET ;
IF_NONE { PUSH int 517 ; 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 3 ;
UPDATE ;
UPDATE 7 ;
UNPAIR ;
UNPAIR ;
UNPAIR ;
UNPAIR ;
SWAP ;
NONE nat ;
SENDER ;
UPDATE ;
SWAP ;
PAIR ;
PAIR ;
PAIR ;
PAIR ;
SWAP }
{} ;
PUSH nat 0 ;
DUP 3 ;
GET 3 ;
GET 3 ;
COMPARE ;
GT ;
IF
{ SWAP ;
DUP ;
DUG 2 ;
UNPAIR ;
SWAP ;
UNPAIR ;
UNPAIR ;
SWAP ;
CDR ;
PUSH nat 1 ;
DIG 6 ;
GET 3 ;
GET 3 ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 521 ; FAILWITH } {} ;
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 }
{} ;
NIL operation ;
DIG 3 ;
SENDER ;
SWAP ;
DIG 4 ;
DIG 3 ;
DIG 3 ;
PAIR 3 ;
EXEC ;
UNPAIR 3 ;
DIG 2 ;
DUG 3 ;
IF
{ PUSH bool True }
{ SENDER ; DUP 4 ; CAR ; CAR ; GET 3 ; COMPARE ; EQ } ;
IF {} { PUSH string "Access denied" ; FAILWITH } ;
DIG 2 ;
UNPAIR ;
SWAP ;
UNPAIR ;
SWAP ;
UNPAIR ;
UNPAIR ;
DIG 6 ;
DUP ;
GET 8 ;
SWAP ;
DUP ;
DUG 8 ;
GET 3 ;
PAIR ;
DIG 7 ;
DUP ;
GET 7 ;
SWAP ;
DUP ;
DUG 9 ;
GET 5 ;
PAIR ;
PAIR ;
SOME ;
DIG 7 ;
CAR ;
UPDATE ;
PAIR ;
PAIR ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
SWAP }
{ IF_LEFT
{ DIG 2 ;
DROP ;
DIG 2 ;
DROP ;
NIL operation ;
DIG 3 ;
SENDER ;
SWAP ;
DIG 4 ;
DIG 3 ;
DIG 3 ;
PAIR 3 ;
EXEC ;
UNPAIR 3 ;
DIG 2 ;
DUG 3 ;
IF
{ PUSH bool True }
{ SENDER ; DUP 4 ; CAR ; CAR ; GET 3 ; COMPARE ; EQ } ;
IF {} { PUSH string "Access denied" ; FAILWITH } ;
PUSH nat 0 ;
DUP 3 ;
COMPARE ;
NEQ ;
IF
{}
{ PUSH string "Deleting the flex option is now allowed" ;
FAILWITH } ;
DUP 3 ;
GET 5 ;
CAR ;
DUP 3 ;
MEM ;
IF
{}
{ PUSH string "This option does not exist" ; FAILWITH } ;
DIG 2 ;
UNPAIR ;
SWAP ;
UNPAIR ;
SWAP ;
UNPAIR ;
UNPAIR ;
NONE (pair (pair nat nat) (pair nat int)) ;
DIG 7 ;
UPDATE ;
PAIR ;
PAIR ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
SWAP }
{ DIG 2 ;
DROP ;
DIG 2 ;
DROP ;
DIG 2 ;
DROP ;
PUSH bool False ;
DUP 3 ;
CAR ;
GET 5 ;
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 341 ; 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 342 ; 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 347 ; FAILWITH } {} ;
PUSH mutez 0 ;
DUP 4 ;
DUP 6 ;
GET 3 ;
CAR ;
CAR ;
SENDER ;
PAIR 3 ;
TRANSFER_TOKENS ;
CONS ;
DUP 3 ;
CAR ;
CAR ;
CAR ;
CDR ;
SENDER ;
MEM ;
IF
{}
{ DIG 2 ;
DUP ;
GET 7 ;
SWAP ;
DUP ;
DUG 4 ;
GET 3 ;
GET 3 ;
MEM ;
IF
{ DIG 2 ;
DUP ;
CAR ;
CAR ;
GET 4 ;
SWAP ;
DUP ;
GET 7 ;
SWAP ;
DUP ;
DUG 5 ;
GET 3 ;
GET 3 ;
GET ;
IF_NONE { PUSH int 354 ; FAILWITH } {} ;
SIZE ;
COMPARE ;
GE }
{ PUSH bool False } ;
IF
{ DIG 2 ;
UNPAIR ;
SWAP ;
UNPAIR ;
UNPAIR ;
SWAP ;
UNPAIR ;
PUSH nat 1 ;
ADD ;
PAIR ;
SWAP ;
PAIR ;
PAIR ;
SWAP ;
PAIR ;
DUG 2 }
{} ;
DUP 3 ;
UNPAIR ;
UNPAIR ;
UNPAIR ;
UNPAIR ;
SWAP ;
DIG 7 ;
GET 3 ;
GET 3 ;
SOME ;
SENDER ;
UPDATE ;
SWAP ;
PAIR ;
PAIR ;
PAIR ;
PAIR ;
DUG 2 } ;
DUP 3 ;
CAR ;
CAR ;
CAR ;
CDR ;
SENDER ;
GET ;
IF_NONE { PUSH int 357 ; FAILWITH } {} ;
DUP 4 ;
GET 7 ;
SWAP ;
DUP ;
DUG 2 ;
MEM ;
IF
{ DUP 4 ;
GET 7 ;
SWAP ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 363 ; FAILWITH } {} ;
SENDER ;
MEM ;
IF
{ DUP 4 ;
DUP ;
GET 7 ;
DUP ;
DUP 4 ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 376 ; FAILWITH } {} ;
DUP ;
SENDER ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 376 ; FAILWITH } {} ;
UNPAIR ;
UNPAIR ;
SWAP ;
PUSH nat 100 ;
PUSH nat 10000000000 ;
MUL ;
DUP 13 ;
GET 7 ;
DUP 11 ;
GET ;
IF_NONE { PUSH int 375 ; FAILWITH } {} ;
SENDER ;
GET ;
IF_NONE { PUSH int 375 ; FAILWITH } {} ;
GET 4 ;
DUP 14 ;
GET 7 ;
DUP 12 ;
GET ;
IF_NONE { PUSH int 375 ; FAILWITH } {} ;
SENDER ;
GET ;
IF_NONE { PUSH int 375 ; 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 538 ; FAILWITH } {} ;
DIG 15 ;
GET 7 ;
DUP 14 ;
GET ;
IF_NONE { PUSH int 375 ; FAILWITH } {} ;
SENDER ;
GET ;
IF_NONE { PUSH int 375 ; FAILWITH } {} ;
GET 3 ;
PUSH int 0 ;
NOW ;
ADD ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 538 ; FAILWITH } {} ;
PUSH nat 10000000000 ;
MUL ;
EDIV ;
IF_NONE { PUSH int 538 ; FAILWITH } { CAR } ;
MUL ;
MUL ;
EDIV ;
IF_NONE { PUSH int 541 ; 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 377 ; FAILWITH } {} ;
DUP ;
SENDER ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 377 ; 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 378 ; FAILWITH } {} ;
DUP ;
SENDER ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 378 ; 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 379 ; FAILWITH } {} ;
DUP ;
SENDER ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 379 ; FAILWITH } {} ;
UNPAIR ;
CDR ;
DIG 9 ;
GET 5 ;
CAR ;
PUSH nat 0 ;
GET ;
IF_NONE { PUSH int 379 ; 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 364 ; 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 349 ; 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 349 ; 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 ;
DIG 6 ;
INT ;
SOME ;
PUSH int 0 ;
NOW ;
ADD ;
UPDATE ;
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 7 ;
COMPARE ;
EQ ;
IF {} { PUSH string " Ths function is on pause" ; FAILWITH } ;
SWAP ;
DUP ;
DUG 2 ;
GET 5 ;
CAR ;
SWAP ;
DUP ;
DUG 2 ;
CDR ;
GET ;
IF_NONE { PUSH int 305 ; 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 306 ; 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 312 ; FAILWITH } {} ;
PUSH mutez 0 ;
DUP 4 ;
CAR ;
DUP 6 ;
GET 3 ;
CAR ;
CAR ;
SENDER ;
PAIR 3 ;
TRANSFER_TOKENS ;
CONS ;
DUP 3 ;
GET 9 ;
SENDER ;
MEM ;
IF
{ PUSH bool False }
{ DUP 3 ; CAR ; CAR ; CAR ; CDR ; SENDER ; MEM ; NOT } ;
IF
{ DIG 2 ;
UNPAIR ;
UNPAIR ;
SWAP ;
UNPAIR ;
UNPAIR ;
SWAP ;
PUSH int 1 ;
ADD ;
SWAP ;
PAIR ;
PAIR ;
SWAP ;
PAIR ;
PAIR ;
DUG 2 }
{} ;
DUP 3 ;
GET 9 ;
SENDER ;
MEM ;
IF
{ DUP 3 ;
GET 9 ;
SENDER ;
GET ;
IF_NONE { PUSH int 325 ; FAILWITH } {} ;
DUP 3 ;
CDR ;
MEM ;
IF
{ DUP 3 ;
DUP ;
GET 9 ;
DUP ;
SENDER ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 329 ; FAILWITH } {} ;
DUP ;
DUP 7 ;
CDR ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 329 ; FAILWITH } {} ;
DUP 8 ;
CAR ;
PUSH int 0 ;
NOW ;
ADD ;
PAIR ;
DUP 10 ;
GET 5 ;
CAR ;
DUP 10 ;
CDR ;
GET ;
IF_NONE { PUSH int 315 ; FAILWITH } {} ;
GET 3 ;
DUP 11 ;
GET 5 ;
CAR ;
DUP 11 ;
CDR ;
GET ;
IF_NONE { PUSH int 315 ; FAILWITH } {} ;
GET 4 ;
PAIR ;
PAIR ;
SOME ;
DIG 9 ;
GET 9 ;
SENDER ;
GET ;
IF_NONE { PUSH int 328 ; FAILWITH } {} ;
DUP 10 ;
CDR ;
GET ;
IF_NONE { PUSH int 328 ; FAILWITH } {} ;
SIZE ;
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 326 ; 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 315 ; FAILWITH } {} ;
GET 3 ;
DIG 9 ;
GET 5 ;
CAR ;
DUP 10 ;
CDR ;
GET ;
IF_NONE { PUSH int 315 ; 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 315 ; FAILWITH } {} ;
GET 3 ;
DIG 8 ;
GET 5 ;
CAR ;
DUP 9 ;
CDR ;
GET ;
IF_NONE { PUSH int 315 ; FAILWITH } {} ;
GET 4 ;
PAIR ;
PAIR ;
SOME ;
PUSH nat 0 ;
UPDATE ;
SOME ;
DUP 6 ;
CDR ;
UPDATE ;
SOME ;
SENDER ;
UPDATE ;
UPDATE 9 ;
DUG 2 } ;
DIG 2 ;
UNPAIR ;
SWAP ;
UNPAIR ;
UNPAIR ;
SWAP ;
UNPAIR ;
SWAP ;
DIG 6 ;
CAR ;
INT ;
SOME ;
PUSH int 0 ;
NOW ;
ADD ;
UPDATE ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
PAIR ;
SWAP ;
PAIR ;
SWAP }
{ IF_LEFT
{ DIG 2 ;
DROP ;
DIG 2 ;
DROP ;
DIG 2 ;
DROP ;
PUSH bool False ;
DUP 3 ;
CAR ;
GET 5 ;
COMPARE ;
EQ ;
IF
{}
{ PUSH string " Ths function is on pause" ; FAILWITH } ;
SWAP ;
DUP ;
GET 7 ;
SWAP ;
DUP ;
DUG 3 ;
CAR ;
CAR ;
CAR ;
CDR ;
SENDER ;
GET ;
IF_NONE { PUSH int 457 ; FAILWITH } {} ;
GET ;
IF_NONE { PUSH int 459 ; FAILWITH } {} ;
SENDER ;
MEM ;
IF
{}
{ PUSH string "Never staked on this contract" ; FAILWITH } ;
DUP ;
DIG 2 ;
DUP ;
GET 7 ;
SWAP ;
DUP ;
DUG 4 ;
CAR ;
CAR ;
CAR ;
CDR ;
SENDER ;
GET ;
IF_NONE { PUSH int 457 ; FAILWITH } {} ;
GET ;
IF_NONE { PUSH int 460 ; FAILWITH } {} ;
SENDER ;
GET ;
IF_NONE { PUSH int 460 ; 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 465 ; FAILWITH } {} ;
PUSH mutez 0 ;
DUP 4 ;
SENDER ;
DUP 7 ;
GET 3 ;
CAR ;
CAR ;
PAIR 3 ;
TRANSFER_TOKENS ;
CONS ;
DUP 3 ;
DUP ;
GET 7 ;
DUP ;
DUP 6 ;
CAR ;
CAR ;
CAR ;
CDR ;
SENDER ;
GET ;
IF_NONE { PUSH int 457 ; FAILWITH } {} ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 469 ; FAILWITH } {} ;
DUP ;
SENDER ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 469 ; FAILWITH } {} ;
UNPAIR ;
UNPAIR ;
SWAP ;
PUSH nat 100 ;
PUSH nat 10000000000 ;
MUL ;
DIG 11 ;
DUP ;
GET 7 ;
SWAP ;
DUP ;
DUG 13 ;
CAR ;
CAR ;
CAR ;
CDR ;
SENDER ;
GET ;
IF_NONE { PUSH int 457 ; FAILWITH } {} ;
GET ;
IF_NONE { PUSH int 468 ; FAILWITH } {} ;
SENDER ;
GET ;
IF_NONE { PUSH int 468 ; FAILWITH } {} ;
GET 4 ;
DIG 12 ;
DUP ;
GET 7 ;
SWAP ;
DUP ;
DUG 14 ;
CAR ;
CAR ;
CAR ;
CDR ;
SENDER ;
GET ;
IF_NONE { PUSH int 457 ; FAILWITH } {} ;
GET ;
IF_NONE { PUSH int 468 ; FAILWITH } {} ;
SENDER ;
GET ;
IF_NONE { PUSH int 468 ; 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 538 ; FAILWITH } {} ;
DIG 14 ;
DUP ;
GET 7 ;
SWAP ;
CAR ;
CAR ;
CAR ;
CDR ;
SENDER ;
GET ;
IF_NONE { PUSH int 457 ; FAILWITH } {} ;
GET ;
IF_NONE { PUSH int 468 ; FAILWITH } {} ;
SENDER ;
GET ;
IF_NONE { PUSH int 468 ; FAILWITH } {} ;
GET 3 ;
PUSH int 0 ;
NOW ;
ADD ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 538 ; FAILWITH } {} ;
PUSH nat 10000000000 ;
MUL ;
EDIV ;
IF_NONE { PUSH int 538 ; FAILWITH } { CAR } ;
MUL ;
MUL ;
EDIV ;
IF_NONE { PUSH int 541 ; 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 ;
CAR ;
CDR ;
SENDER ;
GET ;
IF_NONE { PUSH int 457 ; FAILWITH } {} ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 470 ; FAILWITH } {} ;
DUP ;
SENDER ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 470 ; FAILWITH } {} ;
DUP 8 ;
DIG 9 ;
DUP ;
GET 7 ;
SWAP ;
CAR ;
CAR ;
CAR ;
CDR ;
SENDER ;
GET ;
IF_NONE { PUSH int 457 ; FAILWITH } {} ;
GET ;
IF_NONE { PUSH int 468 ; FAILWITH } {} ;
SENDER ;
GET ;
IF_NONE { PUSH int 468 ; FAILWITH } {} ;
GET 4 ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 470 ; FAILWITH } {} ;
UPDATE 4 ;
SOME ;
SWAP ;
UPDATE ;
SOME ;
SWAP ;
UPDATE ;
UPDATE 7 ;
DUP ;
DUG 3 ;
DUP ;
GET 7 ;
DUP ;
DIG 5 ;
CAR ;
CAR ;
CAR ;
CDR ;
SENDER ;
GET ;
IF_NONE { PUSH int 457 ; FAILWITH } {} ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 471 ; FAILWITH } {} ;
DUP ;
SENDER ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 471 ; 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 ;
CAR ;
CDR ;
SENDER ;
GET ;
IF_NONE { PUSH int 457 ; FAILWITH } {} ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 472 ; FAILWITH } {} ;
DUP ;
SENDER ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 472 ; FAILWITH } {} ;
UNPAIR ;
CDR ;
DIG 9 ;
GET 5 ;
CAR ;
PUSH nat 0 ;
GET ;
IF_NONE { PUSH int 472 ; FAILWITH } {} ;
GET 3 ;
PAIR ;
PAIR ;
SOME ;
SWAP ;
UPDATE ;
SOME ;
SWAP ;
UPDATE ;
UPDATE 7 ;
UNPAIR ;
SWAP ;
UNPAIR ;
UNPAIR ;
SWAP ;
UNPAIR ;
SWAP ;
DIG 6 ;
INT ;
PUSH int -1 ;
MUL ;
SOME ;
PUSH int 0 ;
NOW ;
ADD ;
UPDATE ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
PAIR ;
SWAP ;
PAIR ;
SWAP }
{ PUSH bool False ;
DUP 3 ;
CAR ;
GET 7 ;
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 391 ; 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 392 ; FAILWITH } {} ;
SWAP ;
DUP ;
DUG 2 ;
CDR ;
GET ;
IF_NONE { PUSH int 392 ; 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 393 ; FAILWITH } {} ;
DUP 3 ;
CDR ;
GET ;
IF_NONE { PUSH int 393 ; FAILWITH } {} ;
DUP 3 ;
CAR ;
GET ;
IF_NONE { PUSH int 393 ; FAILWITH } {} ;
CAR ;
CAR ;
DUP 4 ;
GET 9 ;
SENDER ;
GET ;
IF_NONE { PUSH int 393 ; FAILWITH } {} ;
DUP 4 ;
CDR ;
GET ;
IF_NONE { PUSH int 393 ; FAILWITH } {} ;
DUP 4 ;
CAR ;
GET ;
IF_NONE { PUSH int 393 ; FAILWITH } {} ;
GET 3 ;
ADD ;
COMPARE ;
LT ;
IF
{ NIL operation ;
DUP 5 ;
DUP 4 ;
GET 9 ;
SENDER ;
GET ;
IF_NONE { PUSH int 393 ; FAILWITH } {} ;
DUP 4 ;
CDR ;
GET ;
IF_NONE { PUSH int 393 ; FAILWITH } {} ;
DUP 4 ;
CAR ;
GET ;
IF_NONE { PUSH int 393 ; 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 393 ; FAILWITH } {} ;
DUP 4 ;
CDR ;
GET ;
IF_NONE { PUSH int 393 ; FAILWITH } {} ;
DUP 4 ;
CAR ;
GET ;
IF_NONE { PUSH int 393 ; 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 402 ; FAILWITH } {} ;
DUP 4 ;
CDR ;
GET ;
IF_NONE { PUSH int 402 ; 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 403 ; 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 404 ; 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 ; CAR ; CDR ; SENDER ; MEM ; NOT } ;
IF
{ SWAP ;
UNPAIR ;
UNPAIR ;
SWAP ;
UNPAIR ;
UNPAIR ;
SWAP ;
PUSH int 1 ;
SWAP ;
SUB ;
SWAP ;
PAIR ;
PAIR ;
SWAP ;
PAIR ;
PAIR ;
SWAP }
{} } } }
{ IF_LEFT
{ DIG 2 ;
DROP ;
DIG 2 ;
DROP ;
DIG 2 ;
DROP ;
SWAP ;
DUP ;
DUG 2 ;
CAR ;
CAR ;
GET 3 ;
PACK ;
SENDER ;
PACK ;
COMPARE ;
EQ ;
IF {} { PUSH string "Access denied" ; FAILWITH } ;
SWAP ;
UNPAIR ;
UNPAIR ;
UNPAIR ;
SWAP ;
CDR ;
DIG 4 ;
PAIR ;
SWAP ;
PAIR ;
PAIR ;
PAIR ;
NIL operation }
{ IF_LEFT
{ DIG 2 ;
DROP ;
DIG 2 ;
DROP ;
DIG 2 ;
DROP ;
SWAP ;
DUP ;
DUG 2 ;
CAR ;
CAR ;
GET 3 ;
PACK ;
SENDER ;
PACK ;
COMPARE ;
EQ ;
IF {} { PUSH string "Access denied" ; FAILWITH } ;
SWAP ;
UNPAIR ;
UNPAIR ;
UNPAIR ;
CDR ;
DIG 4 ;
PAIR ;
PAIR ;
PAIR ;
PAIR ;
NIL operation }
{ DIG 2 ;
DROP ;
DIG 2 ;
DROP ;
NIL operation ;
DIG 3 ;
SENDER ;
SWAP ;
DIG 4 ;
DIG 3 ;
DIG 3 ;
PAIR 3 ;
EXEC ;
UNPAIR 3 ;
DIG 2 ;
DUG 3 ;
IF
{ PUSH bool True }
{ SENDER ; DUP 4 ; CAR ; CAR ; GET 3 ; COMPARE ; EQ } ;
IF {} { PUSH string "Access denied" ; FAILWITH } ;
PUSH nat 0 ;
DUP 3 ;
COMPARE ;
NEQ ;
IF
{}
{ PUSH string "WrongCondition: params.value != 0" ;
FAILWITH } ;
DIG 2 ;
UNPAIR ;
UNPAIR ;
UNPAIR ;
SWAP ;
CAR ;
DIG 5 ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
PAIR ;
PAIR ;
SWAP } } } } }
{ IF_LEFT
{ DIG 2 ;
DROP ;
DIG 2 ;
DROP ;
DIG 2 ;
DROP ;
IF_LEFT
{ IF_LEFT
{ SWAP ;
DUP ;
DUG 2 ;
CAR ;
CAR ;
GET 3 ;
PACK ;
SENDER ;
PACK ;
COMPARE ;
EQ ;
IF {} { PUSH string "Access denied" ; FAILWITH } ;
SWAP ;
UNPAIR ;
UNPAIR ;
SWAP ;
UNPAIR ;
UNPAIR ;
DIG 5 ;
SOME ;
PUSH string "" ;
UPDATE ;
PAIR ;
PAIR ;
SWAP ;
PAIR ;
PAIR }
{ DROP ;
DUP ;
CAR ;
CAR ;
GET 3 ;
PACK ;
SENDER ;
PACK ;
COMPARE ;
EQ ;
IF {} { PUSH string "Access denied" ; FAILWITH } ;
DUP ;
UNPAIR ;
UNPAIR ;
SWAP ;
UNPAIR ;
SWAP ;
CDR ;
DIG 4 ;
CAR ;
GET 5 ;
NOT ;
PAIR ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
PAIR } }
{ IF_LEFT
{ DROP ;
DUP ;
CAR ;
CAR ;
GET 3 ;
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
{ SWAP ;
DUP ;
DUG 2 ;
CAR ;
CAR ;
GET 3 ;
PACK ;
SENDER ;
PACK ;
COMPARE ;
EQ ;
IF {} { PUSH string "Access denied" ; FAILWITH } ;
SWAP ;
UNPAIR ;
SWAP ;
UNPAIR ;
UNPAIR ;
CDR ;
DIG 4 ;
PAIR ;
PAIR ;
PAIR ;
SWAP ;
PAIR }
{ SWAP ;
DUP ;
DUG 2 ;
CAR ;
CAR ;
GET 3 ;
SENDER ;
COMPARE ;
EQ ;
IF {} { PUSH string "Access denied" ; FAILWITH } ;
SWAP ;
DUP ;
DUG 2 ;
GET 7 ;
SWAP ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 567 ; FAILWITH } {} ;
ITER { CAR ;
DUP 3 ;
DUP ;
GET 7 ;
DUP ;
DUP 5 ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 569 ; FAILWITH } {} ;
DUP ;
DUP 6 ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 569 ; FAILWITH } {} ;
UNPAIR ;
UNPAIR ;
SWAP ;
PUSH nat 100 ;
PUSH nat 10000000000 ;
MUL ;
DUP 12 ;
GET 7 ;
DUP 12 ;
GET ;
IF_NONE { PUSH int 568 ; FAILWITH } {} ;
DUP 11 ;
GET ;
IF_NONE { PUSH int 568 ; FAILWITH } {} ;
GET 4 ;
DUP 13 ;
GET 7 ;
DUP 13 ;
GET ;
IF_NONE { PUSH int 568 ; FAILWITH } {} ;
DUP 12 ;
GET ;
IF_NONE { PUSH int 568 ; 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 538 ; FAILWITH } {} ;
DIG 14 ;
GET 7 ;
DUP 15 ;
GET ;
IF_NONE { PUSH int 568 ; FAILWITH } {} ;
DUP 14 ;
GET ;
IF_NONE { PUSH int 568 ; FAILWITH } {} ;
GET 3 ;
PUSH int 0 ;
NOW ;
ADD ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 538 ; FAILWITH } {} ;
PUSH nat 10000000000 ;
MUL ;
EDIV ;
IF_NONE { PUSH int 538 ; FAILWITH } { CAR } ;
MUL ;
MUL ;
EDIV ;
IF_NONE { PUSH int 541 ; 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 570 ; FAILWITH } {} ;
DUP ;
DUP 6 ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 570 ; 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 571 ; FAILWITH } {} ;
DUP ;
DIG 5 ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 571 ; FAILWITH } {} ;
UNPAIR ;
CDR ;
DIG 8 ;
GET 5 ;
CAR ;
PUSH nat 0 ;
GET ;
IF_NONE { PUSH int 571 ; 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 ;
NIL operation ;
DIG 3 ;
SENDER ;
SWAP ;
DIG 4 ;
DIG 3 ;
DIG 3 ;
PAIR 3 ;
EXEC ;
UNPAIR 3 ;
DIG 2 ;
DUG 3 ;
IF
{ PUSH bool True }
{ SENDER ; DUP 4 ; CAR ; CAR ; GET 3 ; COMPARE ; EQ } ;
IF {} { PUSH string "Access denied" ; FAILWITH } ;
DUP 3 ;
GET 5 ;
CAR ;
DUP 3 ;
CAR ;
MEM ;
IF
{}
{ PUSH string "The staking option for this id does not exist" ;
FAILWITH } ;
PUSH nat 0 ;
DUP 3 ;
CAR ;
COMPARE ;
NEQ ;
IF
{}
{ PUSH string "WrongCondition: params._id != 0" ; FAILWITH } ;
DIG 2 ;
UNPAIR ;
SWAP ;
UNPAIR ;
SWAP ;
UNPAIR ;
UNPAIR ;
DUP ;
DUP 8 ;
CAR ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 238 ; FAILWITH } {} ;
DIG 8 ;
CDR ;
UPDATE 4 ;
SOME ;
SWAP ;
UPDATE ;
PAIR ;
PAIR ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
SWAP }
{ IF_LEFT
{ DIG 2 ;
DROP ;
DIG 2 ;
DROP ;
NIL operation ;
DIG 3 ;
SENDER ;
SWAP ;
DIG 4 ;
DIG 3 ;
DIG 3 ;
PAIR 3 ;
EXEC ;
UNPAIR 3 ;
DIG 2 ;
DUG 3 ;
IF
{ PUSH bool True }
{ SENDER ; DUP 4 ; CAR ; CAR ; GET 3 ; COMPARE ; EQ } ;
IF {} { PUSH string "Access denied" ; FAILWITH } ;
DUP 3 ;
GET 5 ;
CAR ;
DUP 3 ;
CAR ;
MEM ;
IF
{}
{ PUSH string "The staking option for this id does not exist" ;
FAILWITH } ;
DIG 2 ;
UNPAIR ;
SWAP ;
UNPAIR ;
SWAP ;
UNPAIR ;
UNPAIR ;
DUP ;
DUP 8 ;
CAR ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 250 ; FAILWITH } {} ;
UNPAIR ;
CDR ;
DIG 9 ;
CDR ;
PAIR ;
PAIR ;
SOME ;
SWAP ;
UPDATE ;
PAIR ;
PAIR ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
SWAP }
{ DIG 2 ;
DROP ;
DIG 2 ;
DROP ;
NIL operation ;
DIG 3 ;
SENDER ;
SWAP ;
DIG 4 ;
DIG 3 ;
DIG 3 ;
PAIR 3 ;
EXEC ;
UNPAIR 3 ;
DIG 2 ;
DUG 3 ;
IF
{ PUSH bool True }
{ SENDER ; DUP 4 ; CAR ; CAR ; GET 3 ; COMPARE ; EQ } ;
IF {} { PUSH string "Access denied" ; FAILWITH } ;
DUP 3 ;
GET 5 ;
CAR ;
DUP 3 ;
CAR ;
MEM ;
IF
{}
{ PUSH string "The staking option for this id does not exist" ;
FAILWITH } ;
DIG 2 ;
UNPAIR ;
SWAP ;
UNPAIR ;
SWAP ;
UNPAIR ;
UNPAIR ;
DUP ;
DUP 8 ;
CAR ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 261 ; FAILWITH } {} ;
UNPAIR ;
CAR ;
DIG 9 ;
CDR ;
SWAP ;
PAIR ;
PAIR ;
SOME ;
SWAP ;
UPDATE ;
PAIR ;
PAIR ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
SWAP } } }
{ IF_LEFT
{ DIG 2 ;
DROP ;
DIG 2 ;
DROP ;
NIL operation ;
DIG 3 ;
SENDER ;
SWAP ;
DIG 4 ;
DIG 3 ;
DIG 3 ;
PAIR 3 ;
EXEC ;
UNPAIR 3 ;
DIG 2 ;
DUG 3 ;
IF
{ PUSH bool True }
{ SENDER ; DUP 4 ; CAR ; CAR ; GET 3 ; COMPARE ; EQ } ;
IF {} { PUSH string "Access denied" ; FAILWITH } ;
DUP 3 ;
GET 5 ;
CAR ;
DUP 3 ;
CAR ;
MEM ;
IF
{}
{ PUSH string "The staking option for this id does not exist" ;
FAILWITH } ;
DIG 2 ;
UNPAIR ;
SWAP ;
UNPAIR ;
SWAP ;
UNPAIR ;
UNPAIR ;
DUP ;
DUP 8 ;
CAR ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 225 ; FAILWITH } {} ;
DIG 8 ;
CDR ;
UPDATE 3 ;
SOME ;
SWAP ;
UPDATE ;
PAIR ;
PAIR ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
SWAP }
{ DIG 3 ;
DROP ;
DIG 3 ;
DROP ;
IF_LEFT
{ DIG 2 ;
DROP ;
SWAP ;
DUP ;
DUG 2 ;
CAR ;
CAR ;
GET 3 ;
PACK ;
SENDER ;
PACK ;
COMPARE ;
EQ ;
IF {} { PUSH string "Access denied" ; FAILWITH } ;
SOME ;
UPDATE 10 ;
NIL operation }
{ DROP ;
SWAP ;
DROP ;
DUP ;
CAR ;
CAR ;
GET 3 ;
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 192 ; FAILWITH } {} ;
NIL operation ;
SWAP ;
PUSH mutez 0 ;
DUP 4 ;
GET 3 ;
CAR ;
CDR ;
SENDER ;
DUP 6 ;
GET 3 ;
CAR ;
CAR ;
PAIR 3 ;
TRANSFER_TOKENS ;
CONS ;
SWAP ;
UNPAIR ;
SWAP ;
UNPAIR ;
UNPAIR ;
CAR ;
PUSH nat 0 ;
SWAP ;
PAIR ;
PAIR ;
PAIR ;
SWAP ;
PAIR ;
SWAP } } } } } ;
NIL operation ;
SWAP ;
ITER { CONS } ;
PAIR }