Rendering: 90%
x
1095
parameter (or
(or
(or
(or (unit %claimRewardFlex)
(or
(pair %createStakingOption (nat %id)
(pair (nat %rate)
(pair (nat %max)
(pair (nat %min)
(int %duration)))))
(nat %deleteStakingOption)))
(or (unit %disable_set_storage)
(or (map %setAddressId address nat)
(map %setRedeemedRewards address nat))))
(or
(or (map %setStakingHistory timestamp int)
(or
(map %setUserStakeFlexPack nat
(map address
(pair
(pair (nat %rate) (nat %reward))
(pair (timestamp %timestamp)
(nat %value)))))
(map %setUserStakeLockPack address
(map nat
(map nat
(pair
(pair (int %period)
(nat %rate))
(pair
(timestamp %timestamp)
(nat %value))))))))
(or (nat %stakeFlex)
(or (pair %stakeLock (nat %amount) (nat %pack)) (nat %unstakeFlex)))))
(or
(or
(or (pair %unstakeLock (nat %index) (nat %pack))
(or (address %updateAdmin) (address %updateContract)))
(or (nat %updateMaxValuesNb)
(or (bytes %updateMetadata) (address %updateReserve))))
(or
(or (nat %updateStakingFlexRate)
(or (pair %updateStakingOptionDuration (nat %id) (int %duration))
(pair %updateStakingOptionMax (nat %id) (nat %max))))
(or (pair %updateStakingOptionMin (nat %id) (nat %min))
(or (pair %updateStakingOptionRate (nat %id) (nat %rate))
(address %updateVotingContract))))));
storage (pair
(pair
(pair (pair (address %FA12TokenContract) (big_map %addressId address nat))
(pair (address %admin) (bool %can_set_storage)))
(pair (pair (nat %maxValuesNb) (big_map %metadata string bytes))
(pair (int %numberOfStakers) (big_map %redeemedRewards address nat))))
(pair
(pair (pair (address %reserve) (nat %stakeFlexLength))
(pair (big_map %stakingHistory timestamp int)
(map %stakingOptions nat
(pair
(pair (nat %maxStake) (nat %minStake))
(pair (nat %stakingPercentage)
(int %stakingPeriod))))))
(pair
(pair (nat %totalRedeemedRewards)
(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 nat)) (pair address bool))
(pair (pair nat (big_map string bytes))
(pair int (big_map address nat))))
(pair
(pair (pair address nat)
(pair (big_map timestamp int)
(map nat (pair (pair nat nat) (pair nat int)))))
(pair
(pair nat
(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 (list operation)
(pair bool
(pair
(pair
(pair (pair address (big_map address nat)) (pair address bool))
(pair (pair nat (big_map string bytes))
(pair int (big_map address nat))))
(pair
(pair (pair address nat)
(pair (big_map timestamp int)
(map nat (pair (pair nat nat) (pair nat int)))))
(pair
(pair nat
(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)))))))
{ NIL operation ;
SWAP ;
DUP ;
DUG 2 ;
CDR ;
DUP ;
GET 8 ;
IF_NONE
{ DIG 2 ; DROP ; PUSH bool False }
{ DROP ;
DIG 2 ;
CAR ;
SWAP ;
DUP ;
DUG 2 ;
GET 8 ;
IF_NONE { PUSH int 152 ; FAILWITH } {} ;
COMPARE ;
EQ } ;
DIG 2 ;
PAIR 3 } ;
SWAP ;
LAMBDA
(pair (pair nat (pair nat (pair (pair int nat) (pair timestamp nat))))
(pair
(pair (pair (pair address (big_map address nat)) (pair address bool))
(pair (pair nat (big_map string bytes))
(pair int (big_map address nat))))
(pair
(pair (pair address nat)
(pair (big_map timestamp int)
(map nat (pair (pair nat nat) (pair nat int)))))
(pair
(pair nat
(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 (list operation)
(pair unit
(pair
(pair
(pair (pair address (big_map address nat)) (pair address bool))
(pair (pair nat (big_map string bytes))
(pair int (big_map address nat))))
(pair
(pair (pair address nat)
(pair (big_map timestamp int)
(map nat (pair (pair nat nat) (pair nat int)))))
(pair
(pair nat
(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)))))))
{ NIL operation ;
SWAP ;
DUP ;
DUG 2 ;
CDR ;
DUP ;
DUG 2 ;
CAR ;
CAR ;
CAR ;
CAR ;
CONTRACT %transfer (pair address (pair address nat)) ;
IF_NONE { PUSH int 441 ; FAILWITH } {} ;
PUSH mutez 0 ;
PUSH nat 100 ;
PUSH nat 10000000000 ;
MUL ;
DIG 5 ;
DUP ;
CAR ;
GET 8 ;
SWAP ;
DUP ;
DUG 7 ;
CAR ;
GET 5 ;
CDR ;
PUSH timestamp "1970-01-01T00:00:00Z" ;
DUP ;
PUSH int 31536000 ;
ADD ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 558 ; FAILWITH } {} ;
DIG 8 ;
DUP ;
CAR ;
GET 7 ;
SWAP ;
DUP ;
CAR ;
GET 7 ;
SWAP ;
DUP ;
DUG 11 ;
CAR ;
GET 5 ;
CAR ;
ADD ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 558 ; FAILWITH } {} ;
PUSH nat 10000000000 ;
MUL ;
EDIV ;
IF_NONE { PUSH int 558 ; FAILWITH } { CAR } ;
MUL ;
MUL ;
EDIV ;
IF_NONE { PUSH int 561 ; FAILWITH } { CAR } ;
DUP 6 ;
CAR ;
GET 8 ;
ADD ;
SENDER ;
DUP 6 ;
GET 3 ;
CAR ;
CAR ;
PAIR 3 ;
TRANSFER_TOKENS ;
CONS ;
SWAP ;
DUP ;
CAR ;
GET 6 ;
SENDER ;
MEM ;
IF
{ UNPAIR ;
UNPAIR ;
SWAP ;
UNPAIR ;
SWAP ;
UNPAIR ;
SWAP ;
DUP ;
SENDER ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 570 ; FAILWITH } {} ;
PUSH nat 100 ;
PUSH nat 10000000000 ;
MUL ;
DIG 9 ;
DUP ;
CAR ;
GET 8 ;
SWAP ;
DUP ;
DUG 11 ;
CAR ;
GET 5 ;
CDR ;
PUSH timestamp "1970-01-01T00:00:00Z" ;
DUP ;
PUSH int 31536000 ;
ADD ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 558 ; FAILWITH } {} ;
DIG 12 ;
DUP ;
CAR ;
GET 7 ;
SWAP ;
DUP ;
CAR ;
GET 7 ;
SWAP ;
DUP ;
DUG 15 ;
CAR ;
GET 5 ;
CAR ;
ADD ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 558 ; FAILWITH } {} ;
PUSH nat 10000000000 ;
MUL ;
EDIV ;
IF_NONE { PUSH int 558 ; FAILWITH } { CAR } ;
MUL ;
MUL ;
EDIV ;
IF_NONE { PUSH int 561 ; FAILWITH } { CAR } ;
ADD ;
SOME ;
SWAP ;
UPDATE ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
PAIR }
{ UNPAIR ;
UNPAIR ;
SWAP ;
UNPAIR ;
SWAP ;
UNPAIR ;
SWAP ;
PUSH nat 100 ;
PUSH nat 10000000000 ;
MUL ;
DIG 7 ;
DUP ;
CAR ;
GET 8 ;
SWAP ;
DUP ;
DUG 9 ;
CAR ;
GET 5 ;
CDR ;
PUSH timestamp "1970-01-01T00:00:00Z" ;
DUP ;
PUSH int 31536000 ;
ADD ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 558 ; FAILWITH } {} ;
DIG 10 ;
DUP ;
CAR ;
GET 7 ;
SWAP ;
DUP ;
CAR ;
GET 7 ;
SWAP ;
DUP ;
DUG 13 ;
CAR ;
GET 5 ;
CAR ;
ADD ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 558 ; FAILWITH } {} ;
PUSH nat 10000000000 ;
MUL ;
EDIV ;
IF_NONE { PUSH int 558 ; FAILWITH } { CAR } ;
MUL ;
MUL ;
EDIV ;
IF_NONE { PUSH int 561 ; FAILWITH } { CAR } ;
SOME ;
SENDER ;
UPDATE ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
PAIR } ;
UNPAIR ;
SWAP ;
UNPAIR ;
SWAP ;
UNPAIR ;
UNPAIR ;
PUSH nat 100 ;
PUSH nat 10000000000 ;
MUL ;
DIG 7 ;
DUP ;
CAR ;
GET 8 ;
SWAP ;
DUP ;
DUG 9 ;
CAR ;
GET 5 ;
CDR ;
PUSH timestamp "1970-01-01T00:00:00Z" ;
DUP ;
PUSH int 31536000 ;
ADD ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 558 ; FAILWITH } {} ;
DIG 10 ;
DUP ;
CAR ;
GET 7 ;
SWAP ;
DUP ;
CAR ;
GET 7 ;
SWAP ;
DUP ;
DUG 13 ;
CAR ;
GET 5 ;
CAR ;
ADD ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 558 ; FAILWITH } {} ;
PUSH nat 10000000000 ;
MUL ;
EDIV ;
IF_NONE { PUSH int 558 ; FAILWITH } { CAR } ;
MUL ;
MUL ;
EDIV ;
IF_NONE { PUSH int 561 ; FAILWITH } { CAR } ;
ADD ;
PAIR ;
PAIR ;
SWAP ;
UNPAIR ;
SWAP ;
UNPAIR ;
PUSH nat 100 ;
PUSH nat 10000000000 ;
MUL ;
DIG 7 ;
DUP ;
CAR ;
GET 8 ;
SWAP ;
DUP ;
DUG 9 ;
CAR ;
GET 5 ;
CDR ;
PUSH timestamp "1970-01-01T00:00:00Z" ;
DUP ;
PUSH int 31536000 ;
ADD ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 558 ; FAILWITH } {} ;
DIG 10 ;
DUP ;
CAR ;
GET 7 ;
SWAP ;
DUP ;
CAR ;
GET 7 ;
SWAP ;
DUP ;
DUG 13 ;
CAR ;
GET 5 ;
CAR ;
ADD ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 558 ; FAILWITH } {} ;
PUSH nat 10000000000 ;
MUL ;
EDIV ;
IF_NONE { PUSH int 558 ; FAILWITH } { CAR } ;
MUL ;
MUL ;
EDIV ;
IF_NONE { PUSH int 561 ; FAILWITH } { CAR } ;
DUP 8 ;
CAR ;
GET 8 ;
ADD ;
INT ;
PUSH int -1 ;
MUL ;
SOME ;
NOW ;
PUSH int 0 ;
ADD ;
UPDATE ;
PAIR ;
SWAP ;
PAIR ;
PAIR ;
SWAP ;
PAIR ;
DUP ;
DUP ;
GET 7 ;
DUP ;
SENDER ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 447 ; FAILWITH } {} ;
DUP ;
DUP 8 ;
CAR ;
GET 3 ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 447 ; FAILWITH } {} ;
DUP 7 ;
GET 7 ;
SENDER ;
GET ;
IF_NONE { PUSH int 447 ; FAILWITH } {} ;
DUP 10 ;
CAR ;
GET 3 ;
GET ;
IF_NONE { PUSH int 447 ; FAILWITH } {} ;
PUSH nat 1 ;
DIG 8 ;
GET 7 ;
SENDER ;
GET ;
IF_NONE { PUSH int 446 ; FAILWITH } {} ;
DUP 11 ;
CAR ;
GET 3 ;
GET ;
IF_NONE { PUSH int 446 ; FAILWITH } {} ;
SIZE ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 446 ; FAILWITH } {} ;
GET ;
IF_NONE { PUSH int 447 ; FAILWITH } {} ;
SOME ;
DUP 9 ;
CAR ;
CAR ;
UPDATE ;
SOME ;
SWAP ;
UPDATE ;
SOME ;
SWAP ;
UPDATE ;
UPDATE 7 ;
DUP ;
DUP ;
GET 7 ;
DUP ;
SENDER ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 448 ; FAILWITH } {} ;
DUP ;
DUP 8 ;
CAR ;
GET 3 ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 448 ; FAILWITH } {} ;
NONE (pair (pair int nat) (pair timestamp nat)) ;
PUSH nat 1 ;
DIG 8 ;
GET 7 ;
SENDER ;
GET ;
IF_NONE { PUSH int 446 ; FAILWITH } {} ;
DIG 10 ;
CAR ;
GET 3 ;
GET ;
IF_NONE { PUSH int 446 ; FAILWITH } {} ;
SIZE ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 446 ; FAILWITH } {} ;
UPDATE ;
SOME ;
SWAP ;
UPDATE ;
SOME ;
SWAP ;
UPDATE ;
UPDATE 7 ;
UNIT ;
DIG 2 ;
PAIR 3 } ;
SWAP ;
LAMBDA
(pair (pair nat (pair nat (pair (pair int nat) (pair timestamp nat))))
(pair
(pair (pair (pair address (big_map address nat)) (pair address bool))
(pair (pair nat (big_map string bytes))
(pair int (big_map address nat))))
(pair
(pair (pair address nat)
(pair (big_map timestamp int)
(map nat (pair (pair nat nat) (pair nat int)))))
(pair
(pair nat
(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 (list operation)
(pair unit
(pair
(pair
(pair (pair address (big_map address nat)) (pair address bool))
(pair (pair nat (big_map string bytes))
(pair int (big_map address nat))))
(pair
(pair (pair address nat)
(pair (big_map timestamp int)
(map nat (pair (pair nat nat) (pair nat int)))))
(pair
(pair nat
(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)))))))
{ NIL operation ;
SWAP ;
DUP ;
DUG 2 ;
CDR ;
DUP ;
DUG 2 ;
CAR ;
CAR ;
CAR ;
CAR ;
CONTRACT %transfer (pair address (pair address nat)) ;
IF_NONE { PUSH int 464 ; FAILWITH } {} ;
PUSH mutez 0 ;
DUP 5 ;
CAR ;
GET 8 ;
SENDER ;
DUP 6 ;
GET 3 ;
CAR ;
CAR ;
PAIR 3 ;
TRANSFER_TOKENS ;
CONS ;
SWAP ;
UNPAIR ;
SWAP ;
UNPAIR ;
UNPAIR ;
SWAP ;
UNPAIR ;
DUP 7 ;
CAR ;
GET 8 ;
INT ;
PUSH int -1 ;
MUL ;
SOME ;
NOW ;
PUSH int 0 ;
ADD ;
UPDATE ;
PAIR ;
SWAP ;
PAIR ;
PAIR ;
SWAP ;
PAIR ;
DUP ;
DUP ;
GET 7 ;
DUP ;
SENDER ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 469 ; FAILWITH } {} ;
DUP ;
DUP 8 ;
CAR ;
GET 3 ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 469 ; FAILWITH } {} ;
DUP 7 ;
GET 7 ;
SENDER ;
GET ;
IF_NONE { PUSH int 469 ; FAILWITH } {} ;
DUP 10 ;
CAR ;
GET 3 ;
GET ;
IF_NONE { PUSH int 469 ; FAILWITH } {} ;
PUSH nat 1 ;
DIG 8 ;
GET 7 ;
SENDER ;
GET ;
IF_NONE { PUSH int 468 ; FAILWITH } {} ;
DUP 11 ;
CAR ;
GET 3 ;
GET ;
IF_NONE { PUSH int 468 ; FAILWITH } {} ;
SIZE ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 468 ; FAILWITH } {} ;
GET ;
IF_NONE { PUSH int 469 ; FAILWITH } {} ;
SOME ;
DUP 9 ;
CAR ;
CAR ;
UPDATE ;
SOME ;
SWAP ;
UPDATE ;
SOME ;
SWAP ;
UPDATE ;
UPDATE 7 ;
DUP ;
DUP ;
GET 7 ;
DUP ;
SENDER ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 470 ; FAILWITH } {} ;
DUP ;
DUP 8 ;
CAR ;
GET 3 ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 470 ; FAILWITH } {} ;
NONE (pair (pair int nat) (pair timestamp nat)) ;
PUSH nat 1 ;
DIG 8 ;
GET 7 ;
SENDER ;
GET ;
IF_NONE { PUSH int 468 ; FAILWITH } {} ;
DIG 10 ;
CAR ;
GET 3 ;
GET ;
IF_NONE { PUSH int 468 ; FAILWITH } {} ;
SIZE ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 468 ; FAILWITH } {} ;
UPDATE ;
SOME ;
SWAP ;
UPDATE ;
SOME ;
SWAP ;
UPDATE ;
UPDATE 7 ;
UNIT ;
DIG 2 ;
PAIR 3 } ;
SWAP ;
UNPAIR ;
IF_LEFT
{ IF_LEFT
{ IF_LEFT
{ IF_LEFT
{ DROP ;
SWAP ;
DROP ;
SWAP ;
DROP ;
SWAP ;
DROP ;
DUP ;
CAR ;
CAR ;
CAR ;
CDR ;
SENDER ;
MEM ;
IF
{}
{ PUSH string "Never staked on this contract" ; FAILWITH } ;
DUP ;
GET 5 ;
CDR ;
SWAP ;
DUP ;
DUG 2 ;
CAR ;
CAR ;
CAR ;
CDR ;
SENDER ;
GET ;
IF_NONE { PUSH int 506 ; FAILWITH } {} ;
GET ;
IF_NONE { PUSH int 508 ; FAILWITH } {} ;
SENDER ;
MEM ;
IF
{}
{ PUSH string "Never staked on this contract" ; FAILWITH } ;
DUP ;
UNPAIR ;
SWAP ;
UNPAIR ;
SWAP ;
UNPAIR ;
UNPAIR ;
SWAP ;
DUP ;
DUP 7 ;
CAR ;
CAR ;
CAR ;
CDR ;
SENDER ;
GET ;
IF_NONE { PUSH int 506 ; FAILWITH } {} ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 512 ; FAILWITH } {} ;
DUP ;
SENDER ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 512 ; FAILWITH } {} ;
UNPAIR ;
UNPAIR ;
SWAP ;
PUSH nat 100 ;
PUSH nat 10000000000 ;
MUL ;
DIG 12 ;
DUP ;
GET 5 ;
CDR ;
SWAP ;
DUP ;
DUG 14 ;
CAR ;
CAR ;
CAR ;
CDR ;
SENDER ;
GET ;
IF_NONE { PUSH int 506 ; FAILWITH } {} ;
GET ;
IF_NONE { PUSH int 510 ; FAILWITH } {} ;
SENDER ;
GET ;
IF_NONE { PUSH int 510 ; FAILWITH } {} ;
GET 4 ;
DIG 13 ;
DUP ;
GET 5 ;
CDR ;
SWAP ;
DUP ;
DUG 15 ;
CAR ;
CAR ;
CAR ;
CDR ;
SENDER ;
GET ;
IF_NONE { PUSH int 506 ; FAILWITH } {} ;
GET ;
IF_NONE { PUSH int 510 ; FAILWITH } {} ;
SENDER ;
GET ;
IF_NONE { PUSH int 510 ; FAILWITH } {} ;
CAR ;
CAR ;
PUSH timestamp "1970-01-01T00:00:00Z" ;
DUP ;
PUSH int 31536000 ;
ADD ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 558 ; FAILWITH } {} ;
DIG 15 ;
DUP ;
GET 5 ;
CDR ;
SWAP ;
CAR ;
CAR ;
CAR ;
CDR ;
SENDER ;
GET ;
IF_NONE { PUSH int 506 ; FAILWITH } {} ;
GET ;
IF_NONE { PUSH int 510 ; FAILWITH } {} ;
SENDER ;
GET ;
IF_NONE { PUSH int 510 ; FAILWITH } {} ;
GET 3 ;
NOW ;
PUSH int 0 ;
ADD ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 558 ; FAILWITH } {} ;
PUSH nat 10000000000 ;
MUL ;
EDIV ;
IF_NONE { PUSH int 558 ; FAILWITH } { CAR } ;
MUL ;
MUL ;
EDIV ;
IF_NONE { PUSH int 561 ; FAILWITH } { CAR } ;
ADD ;
SWAP ;
PAIR ;
PAIR ;
SOME ;
SWAP ;
UPDATE ;
SOME ;
SWAP ;
UPDATE ;
SWAP ;
PAIR ;
PAIR ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
DUP ;
CAR ;
CAR ;
CAR ;
CAR ;
CONTRACT %transfer (pair address (pair address nat)) ;
IF_NONE { PUSH int 517 ; FAILWITH } {} ;
NIL operation ;
SWAP ;
PUSH mutez 0 ;
DIG 3 ;
DUP ;
GET 5 ;
CDR ;
SWAP ;
DUP ;
DUG 5 ;
CAR ;
CAR ;
CAR ;
CDR ;
SENDER ;
GET ;
IF_NONE { PUSH int 506 ; FAILWITH } {} ;
GET ;
IF_NONE { PUSH int 516 ; FAILWITH } {} ;
SENDER ;
GET ;
IF_NONE { PUSH int 516 ; FAILWITH } {} ;
CAR ;
CDR ;
SENDER ;
DUP 6 ;
GET 3 ;
CAR ;
CAR ;
PAIR 3 ;
TRANSFER_TOKENS ;
CONS ;
SWAP ;
DUP ;
DUG 2 ;
CAR ;
GET 6 ;
SENDER ;
MEM ;
IF
{ SWAP ;
DUP ;
DUG 2 ;
UNPAIR ;
UNPAIR ;
SWAP ;
UNPAIR ;
SWAP ;
UNPAIR ;
SWAP ;
DUP ;
SENDER ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 570 ; FAILWITH } {} ;
DIG 8 ;
DUP ;
GET 5 ;
CDR ;
SWAP ;
CAR ;
CAR ;
CAR ;
CDR ;
SENDER ;
GET ;
IF_NONE { PUSH int 506 ; FAILWITH } {} ;
GET ;
IF_NONE { PUSH int 510 ; FAILWITH } {} ;
SENDER ;
GET ;
IF_NONE { PUSH int 510 ; FAILWITH } {} ;
CAR ;
CDR ;
ADD ;
SOME ;
SWAP ;
UPDATE ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
PAIR ;
SWAP }
{ SWAP ;
DUP ;
DUG 2 ;
UNPAIR ;
UNPAIR ;
SWAP ;
UNPAIR ;
SWAP ;
UNPAIR ;
SWAP ;
DIG 6 ;
DUP ;
GET 5 ;
CDR ;
SWAP ;
CAR ;
CAR ;
CAR ;
CDR ;
SENDER ;
GET ;
IF_NONE { PUSH int 506 ; FAILWITH } {} ;
GET ;
IF_NONE { PUSH int 510 ; FAILWITH } {} ;
SENDER ;
GET ;
IF_NONE { PUSH int 510 ; FAILWITH } {} ;
CAR ;
CDR ;
SOME ;
SENDER ;
UPDATE ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
PAIR ;
SWAP } ;
SWAP ;
DUP ;
DUG 2 ;
UNPAIR ;
SWAP ;
UNPAIR ;
SWAP ;
UNPAIR ;
UNPAIR ;
DIG 6 ;
DUP ;
GET 5 ;
CDR ;
SWAP ;
CAR ;
CAR ;
CAR ;
CDR ;
SENDER ;
GET ;
IF_NONE { PUSH int 506 ; FAILWITH } {} ;
GET ;
IF_NONE { PUSH int 510 ; FAILWITH } {} ;
SENDER ;
GET ;
IF_NONE { PUSH int 510 ; FAILWITH } {} ;
CAR ;
CDR ;
ADD ;
PAIR ;
PAIR ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
SWAP ;
PUSH nat 0 ;
DIG 2 ;
DUP ;
GET 5 ;
CDR ;
SWAP ;
DUP ;
DUG 4 ;
CAR ;
CAR ;
CAR ;
CDR ;
SENDER ;
GET ;
IF_NONE { PUSH int 506 ; FAILWITH } {} ;
GET ;
IF_NONE { PUSH int 510 ; FAILWITH } {} ;
SENDER ;
GET ;
IF_NONE { PUSH int 510 ; FAILWITH } {} ;
GET 4 ;
COMPARE ;
EQ ;
IF
{ SWAP ;
DUP ;
DUG 2 ;
UNPAIR ;
SWAP ;
UNPAIR ;
SWAP ;
UNPAIR ;
UNPAIR ;
SWAP ;
DUP ;
DIG 7 ;
CAR ;
CAR ;
CAR ;
CDR ;
SENDER ;
GET ;
IF_NONE { PUSH int 506 ; FAILWITH } {} ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 522 ; FAILWITH } {} ;
NONE (pair (pair nat nat) (pair timestamp nat)) ;
SENDER ;
UPDATE ;
SOME ;
SWAP ;
UPDATE ;
SWAP ;
PAIR ;
PAIR ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
DUP ;
DUG 2 ;
CAR ;
CAR ;
CAR ;
CDR ;
SENDER ;
GET ;
IF_NONE { PUSH int 506 ; FAILWITH } {} ;
DUP 3 ;
GET 3 ;
CAR ;
CDR ;
COMPARE ;
NEQ ;
IF
{ SENDER ;
DIG 2 ;
DUP ;
GET 5 ;
CDR ;
SWAP ;
DUP ;
DUG 4 ;
GET 3 ;
CAR ;
CDR ;
GET ;
IF_NONE { PUSH int 525 ; FAILWITH } {} ;
ITER { SWAP ; DROP ; CAR } ;
DUP 3 ;
UNPAIR ;
SWAP ;
UNPAIR ;
SWAP ;
UNPAIR ;
UNPAIR ;
SWAP ;
DUP ;
DUP 9 ;
CAR ;
CAR ;
CAR ;
CDR ;
SENDER ;
GET ;
IF_NONE { PUSH int 506 ; FAILWITH } {} ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 527 ; FAILWITH } {} ;
DIG 9 ;
DUP ;
GET 5 ;
CDR ;
SWAP ;
GET 3 ;
CAR ;
CDR ;
GET ;
IF_NONE { PUSH int 527 ; FAILWITH } {} ;
DUP 9 ;
GET ;
IF_NONE { PUSH int 527 ; FAILWITH } {} ;
SOME ;
DUP 9 ;
UPDATE ;
SOME ;
SWAP ;
UPDATE ;
SWAP ;
PAIR ;
PAIR ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
DUP ;
DUG 3 ;
UNPAIR ;
UNPAIR ;
UNPAIR ;
UNPAIR ;
SWAP ;
DIG 7 ;
CAR ;
CAR ;
CAR ;
CDR ;
SENDER ;
GET ;
IF_NONE { PUSH int 506 ; FAILWITH } {} ;
SOME ;
DUP 7 ;
UPDATE ;
SWAP ;
PAIR ;
PAIR ;
PAIR ;
PAIR ;
DUP ;
DUG 3 ;
UNPAIR ;
SWAP ;
UNPAIR ;
SWAP ;
UNPAIR ;
UNPAIR ;
SWAP ;
DUP ;
DIG 8 ;
GET 3 ;
CAR ;
CDR ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 529 ; FAILWITH } {} ;
NONE (pair (pair nat nat) (pair timestamp nat)) ;
DIG 8 ;
UPDATE ;
SOME ;
SWAP ;
UPDATE ;
SWAP ;
PAIR ;
PAIR ;
SWAP ;
PAIR ;
SWAP ;
UNPAIR ;
UNPAIR ;
UNPAIR ;
SWAP ;
NONE nat ;
SENDER ;
UPDATE ;
SWAP ;
PAIR ;
PAIR ;
PAIR ;
PAIR ;
SWAP ;
PUSH nat 0 ;
DIG 2 ;
DUP ;
GET 5 ;
CDR ;
SWAP ;
DUP ;
DUG 4 ;
GET 3 ;
CAR ;
CDR ;
GET ;
IF_NONE { PUSH int 531 ; FAILWITH } {} ;
SIZE ;
COMPARE ;
EQ ;
IF
{ SWAP ;
DUP ;
DUG 2 ;
UNPAIR ;
SWAP ;
UNPAIR ;
SWAP ;
UNPAIR ;
UNPAIR ;
SWAP ;
NONE (map address
(pair (pair nat nat) (pair timestamp nat))) ;
DIG 7 ;
GET 3 ;
CAR ;
CDR ;
UPDATE ;
SWAP ;
PAIR ;
PAIR ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
DUP ;
DUG 2 ;
UNPAIR ;
SWAP ;
UNPAIR ;
UNPAIR ;
CAR ;
PUSH nat 1 ;
DIG 6 ;
GET 3 ;
CAR ;
CDR ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 533 ; FAILWITH } {} ;
SWAP ;
PAIR ;
PAIR ;
PAIR ;
SWAP ;
PAIR ;
SWAP }
{} }
{ PUSH nat 0 ;
DIG 2 ;
DUP ;
GET 5 ;
CDR ;
SWAP ;
DUP ;
DUG 4 ;
GET 3 ;
CAR ;
CDR ;
GET ;
IF_NONE { PUSH int 535 ; FAILWITH } {} ;
SIZE ;
COMPARE ;
EQ ;
IF
{ SWAP ;
DUP ;
DUG 2 ;
UNPAIR ;
SWAP ;
UNPAIR ;
SWAP ;
UNPAIR ;
UNPAIR ;
SWAP ;
NONE (map address
(pair (pair nat nat) (pair timestamp nat))) ;
DIG 7 ;
GET 3 ;
CAR ;
CDR ;
UPDATE ;
SWAP ;
PAIR ;
PAIR ;
SWAP ;
PAIR ;
SWAP ;
UNPAIR ;
UNPAIR ;
UNPAIR ;
SWAP ;
NONE nat ;
SENDER ;
UPDATE ;
SWAP ;
PAIR ;
PAIR ;
PAIR ;
PAIR ;
SWAP ;
PUSH nat 0 ;
DUP 3 ;
GET 3 ;
CAR ;
CDR ;
COMPARE ;
GT ;
IF
{ SWAP ;
DUP ;
DUG 2 ;
UNPAIR ;
SWAP ;
UNPAIR ;
UNPAIR ;
CAR ;
PUSH nat 1 ;
DIG 6 ;
GET 3 ;
CAR ;
CDR ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 539 ; FAILWITH } {} ;
SWAP ;
PAIR ;
PAIR ;
PAIR ;
SWAP ;
PAIR ;
SWAP }
{} }
{} } }
{ SWAP ;
DUP ;
DUG 2 ;
CAR ;
GET 6 ;
SENDER ;
MEM ;
IF
{ SWAP ;
DUP ;
DUG 2 ;
UNPAIR ;
UNPAIR ;
SWAP ;
UNPAIR ;
SWAP ;
UNPAIR ;
SWAP ;
DUP ;
SENDER ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 570 ; FAILWITH } {} ;
DIG 8 ;
DUP ;
GET 5 ;
CDR ;
SWAP ;
CAR ;
CAR ;
CAR ;
CDR ;
SENDER ;
GET ;
IF_NONE { PUSH int 506 ; FAILWITH } {} ;
GET ;
IF_NONE { PUSH int 510 ; FAILWITH } {} ;
SENDER ;
GET ;
IF_NONE { PUSH int 510 ; FAILWITH } {} ;
CAR ;
CDR ;
ADD ;
SOME ;
SWAP ;
UPDATE ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
PAIR ;
SWAP }
{ SWAP ;
DUP ;
DUG 2 ;
UNPAIR ;
UNPAIR ;
SWAP ;
UNPAIR ;
SWAP ;
UNPAIR ;
SWAP ;
DIG 6 ;
DUP ;
GET 5 ;
CDR ;
SWAP ;
CAR ;
CAR ;
CAR ;
CDR ;
SENDER ;
GET ;
IF_NONE { PUSH int 506 ; FAILWITH } {} ;
GET ;
IF_NONE { PUSH int 510 ; FAILWITH } {} ;
SENDER ;
GET ;
IF_NONE { PUSH int 510 ; FAILWITH } {} ;
CAR ;
CDR ;
SOME ;
SENDER ;
UPDATE ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
PAIR ;
SWAP } ;
SWAP ;
DUP ;
DUG 2 ;
UNPAIR ;
SWAP ;
UNPAIR ;
SWAP ;
UNPAIR ;
UNPAIR ;
DIG 6 ;
DUP ;
GET 5 ;
CDR ;
SWAP ;
CAR ;
CAR ;
CAR ;
CDR ;
SENDER ;
GET ;
IF_NONE { PUSH int 506 ; FAILWITH } {} ;
GET ;
IF_NONE { PUSH int 510 ; FAILWITH } {} ;
SENDER ;
GET ;
IF_NONE { PUSH int 510 ; FAILWITH } {} ;
CAR ;
CDR ;
ADD ;
PAIR ;
PAIR ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
DUP ;
DUG 2 ;
UNPAIR ;
SWAP ;
UNPAIR ;
SWAP ;
UNPAIR ;
UNPAIR ;
SWAP ;
DUP ;
DIG 7 ;
CAR ;
CAR ;
CAR ;
CDR ;
SENDER ;
GET ;
IF_NONE { PUSH int 506 ; FAILWITH } {} ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 542 ; FAILWITH } {} ;
DUP ;
SENDER ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 542 ; FAILWITH } {} ;
UNPAIR ;
CAR ;
PUSH int 0 ;
ISNAT ;
IF_NONE { PUSH int 542 ; FAILWITH } {} ;
SWAP ;
PAIR ;
PAIR ;
SOME ;
SWAP ;
UPDATE ;
SOME ;
SWAP ;
UPDATE ;
SWAP ;
PAIR ;
PAIR ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
DUP ;
DUG 2 ;
UNPAIR ;
SWAP ;
UNPAIR ;
SWAP ;
UNPAIR ;
UNPAIR ;
SWAP ;
DUP ;
DIG 7 ;
CAR ;
CAR ;
CAR ;
CDR ;
SENDER ;
GET ;
IF_NONE { PUSH int 506 ; FAILWITH } {} ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 543 ; FAILWITH } {} ;
DUP ;
SENDER ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 543 ; FAILWITH } {} ;
NOW ;
PUSH int 0 ;
ADD ;
UPDATE 3 ;
SOME ;
SWAP ;
UPDATE ;
SOME ;
SWAP ;
UPDATE ;
SWAP ;
PAIR ;
PAIR ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
DUP ;
DUG 2 ;
UNPAIR ;
SWAP ;
UNPAIR ;
SWAP ;
UNPAIR ;
UNPAIR ;
SWAP ;
DUP ;
DUP 8 ;
CAR ;
CAR ;
CAR ;
CDR ;
SENDER ;
GET ;
IF_NONE { PUSH int 506 ; FAILWITH } {} ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 544 ; FAILWITH } {} ;
DUP ;
SENDER ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 544 ; FAILWITH } {} ;
UNPAIR ;
CDR ;
DIG 11 ;
GET 3 ;
GET 4 ;
PUSH nat 0 ;
GET ;
IF_NONE { PUSH int 544 ; FAILWITH } {} ;
GET 3 ;
PAIR ;
PAIR ;
SOME ;
SWAP ;
UPDATE ;
SOME ;
SWAP ;
UPDATE ;
SWAP ;
PAIR ;
PAIR ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
SWAP } ;
SWAP ;
DUP ;
DUG 2 ;
GET 7 ;
SENDER ;
MEM ;
IF
{ PUSH bool False }
{ SWAP ; DUP ; DUG 2 ; CAR ; CAR ; CAR ; CDR ; 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 ;
SWAP ;
DUP ;
DUG 2 ;
GET 3 ;
GET 4 ;
SWAP ;
DUP ;
DUG 2 ;
CAR ;
MEM ;
IF
{ PUSH string "A staking option with this Id already exists" ;
FAILWITH }
{} ;
DUG 2 ;
SENDER ;
PAIR ;
EXEC ;
DUP ;
GET 4 ;
DUG 2 ;
DUP ;
CAR ;
SWAP ;
GET 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 ;
UNPAIR ;
SWAP ;
UNPAIR ;
SWAP ;
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 ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
PAIR ;
SWAP ;
PAIR ;
SWAP }
{ DIG 2 ;
DROP ;
DIG 2 ;
DROP ;
DUG 2 ;
SENDER ;
PAIR ;
EXEC ;
DUP ;
GET 4 ;
DUG 2 ;
DUP ;
CAR ;
SWAP ;
GET 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 3 ;
GET 4 ;
DUP 3 ;
MEM ;
IF
{}
{ PUSH string "This option does not exist" ; FAILWITH } ;
DIG 2 ;
UNPAIR ;
SWAP ;
UNPAIR ;
UNPAIR ;
SWAP ;
UNPAIR ;
SWAP ;
NONE (pair (pair nat nat) (pair nat int)) ;
DIG 7 ;
UPDATE ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
PAIR ;
SWAP ;
PAIR ;
SWAP } } }
{ DIG 2 ;
DROP ;
DIG 2 ;
DROP ;
DIG 2 ;
DROP ;
IF_LEFT
{ DROP ;
DUP ;
CAR ;
CAR ;
GET 3 ;
SENDER ;
COMPARE ;
EQ ;
IF {} { PUSH string "Access denied" ; FAILWITH } ;
UNPAIR ;
UNPAIR ;
UNPAIR ;
SWAP ;
CAR ;
PUSH bool False ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
PAIR ;
PAIR }
{ IF_LEFT
{ SWAP ;
DUP ;
DUG 2 ;
CAR ;
CAR ;
GET 3 ;
SENDER ;
COMPARE ;
EQ ;
IF
{ SWAP ; DUP ; DUG 2 ; CAR ; CAR ; GET 4 }
{ PUSH bool False } ;
IF {} { PUSH string "Can't set the storage" ; FAILWITH } ;
DUP ;
ITER { CAR ;
DIG 2 ;
UNPAIR ;
UNPAIR ;
UNPAIR ;
UNPAIR ;
SWAP ;
DUP 7 ;
DUP 7 ;
GET ;
IF_NONE { PUSH int 260 ; FAILWITH } {} ;
SOME ;
DIG 6 ;
UPDATE ;
SWAP ;
PAIR ;
PAIR ;
PAIR ;
PAIR ;
SWAP } ;
DROP }
{ SWAP ;
DUP ;
DUG 2 ;
CAR ;
CAR ;
GET 3 ;
SENDER ;
COMPARE ;
EQ ;
IF
{ SWAP ; DUP ; DUG 2 ; CAR ; CAR ; GET 4 }
{ PUSH bool False } ;
IF {} { PUSH string "Can't set the storage" ; FAILWITH } ;
DUP ;
ITER { CAR ;
DIG 2 ;
UNPAIR ;
UNPAIR ;
SWAP ;
UNPAIR ;
SWAP ;
UNPAIR ;
SWAP ;
DUP 7 ;
DUP 7 ;
GET ;
IF_NONE { PUSH int 275 ; FAILWITH } {} ;
SOME ;
DIG 6 ;
UPDATE ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
PAIR ;
SWAP } ;
DROP } } ;
NIL operation } }
{ DIG 3 ;
DROP ;
DIG 3 ;
DROP ;
IF_LEFT
{ DIG 2 ;
DROP ;
IF_LEFT
{ SWAP ;
DUP ;
DUG 2 ;
CAR ;
CAR ;
GET 3 ;
SENDER ;
COMPARE ;
EQ ;
IF
{ SWAP ; DUP ; DUG 2 ; CAR ; CAR ; GET 4 }
{ PUSH bool False } ;
IF {} { PUSH string "Can't set the storage" ; FAILWITH } ;
DUP ;
ITER { CAR ;
DIG 2 ;
UNPAIR ;
SWAP ;
UNPAIR ;
UNPAIR ;
SWAP ;
UNPAIR ;
DUP 7 ;
DUP 7 ;
GET ;
IF_NONE { PUSH int 268 ; FAILWITH } {} ;
SOME ;
DIG 6 ;
UPDATE ;
PAIR ;
SWAP ;
PAIR ;
PAIR ;
SWAP ;
PAIR ;
SWAP } ;
DROP }
{ IF_LEFT
{ SWAP ;
DUP ;
DUG 2 ;
CAR ;
CAR ;
GET 3 ;
SENDER ;
COMPARE ;
EQ ;
IF
{ SWAP ; DUP ; DUG 2 ; CAR ; CAR ; GET 4 }
{ PUSH bool False } ;
IF {} { PUSH string "Can't set the storage" ; FAILWITH } ;
DUP ;
ITER { CAR ;
DIG 2 ;
UNPAIR ;
SWAP ;
UNPAIR ;
SWAP ;
UNPAIR ;
UNPAIR ;
SWAP ;
DUP 7 ;
DUP 7 ;
GET ;
IF_NONE { PUSH int 283 ; FAILWITH } {} ;
SOME ;
DIG 6 ;
UPDATE ;
SWAP ;
PAIR ;
PAIR ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
SWAP } ;
DROP }
{ SWAP ;
DUP ;
DUG 2 ;
CAR ;
CAR ;
GET 3 ;
SENDER ;
COMPARE ;
EQ ;
IF
{ SWAP ; DUP ; DUG 2 ; CAR ; CAR ; GET 4 }
{ PUSH bool False } ;
IF {} { PUSH string "Can't set the storage" ; FAILWITH } ;
DUP ;
ITER { CAR ;
DIG 2 ;
DUP ;
GET 7 ;
DUP 4 ;
DUP 4 ;
GET ;
IF_NONE { PUSH int 253 ; FAILWITH } {} ;
SOME ;
DIG 3 ;
UPDATE ;
UPDATE 7 ;
SWAP } ;
DROP } } ;
NIL operation }
{ IF_LEFT
{ DIG 2 ;
DROP ;
SWAP ;
DUP ;
DUG 2 ;
GET 3 ;
GET 4 ;
PUSH nat 0 ;
GET ;
IF_NONE { PUSH int 352 ; FAILWITH } {} ;
CAR ;
CDR ;
SWAP ;
DUP ;
DUG 2 ;
COMPARE ;
GE ;
IF {} { PUSH string "Amount is too low" ; FAILWITH } ;
SWAP ;
DUP ;
DUG 2 ;
GET 3 ;
GET 4 ;
PUSH nat 0 ;
GET ;
IF_NONE { PUSH int 353 ; 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 (pair address nat)) ;
IF_NONE { PUSH int 358 ; FAILWITH } {} ;
PUSH mutez 0 ;
DUP 4 ;
DUP 6 ;
GET 3 ;
CAR ;
CAR ;
SENDER ;
PAIR 3 ;
TRANSFER_TOKENS ;
CONS ;
DUP 3 ;
GET 7 ;
SENDER ;
MEM ;
IF
{ PUSH bool False }
{ DUP 3 ; CAR ; CAR ; CAR ; CDR ; 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 ;
CAR ;
CAR ;
CAR ;
CDR ;
SENDER ;
MEM ;
IF
{}
{ DIG 2 ;
DUP ;
GET 5 ;
CDR ;
SWAP ;
DUP ;
DUG 4 ;
GET 3 ;
CAR ;
CDR ;
MEM ;
IF
{ DIG 2 ;
DUP ;
CAR ;
GET 3 ;
CAR ;
SWAP ;
DUP ;
GET 5 ;
CDR ;
SWAP ;
DUP ;
DUG 5 ;
GET 3 ;
CAR ;
CDR ;
GET ;
IF_NONE { PUSH int 367 ; FAILWITH } {} ;
SIZE ;
COMPARE ;
GE }
{ PUSH bool False } ;
IF
{ DIG 2 ;
UNPAIR ;
SWAP ;
UNPAIR ;
UNPAIR ;
UNPAIR ;
SWAP ;
PUSH nat 1 ;
ADD ;
SWAP ;
PAIR ;
PAIR ;
PAIR ;
SWAP ;
PAIR ;
DUG 2 }
{} ;
DUP 3 ;
GET 3 ;
CAR ;
CDR ;
DIG 3 ;
UNPAIR ;
UNPAIR ;
UNPAIR ;
UNPAIR ;
SWAP ;
DIG 5 ;
SOME ;
SENDER ;
UPDATE ;
SWAP ;
PAIR ;
PAIR ;
PAIR ;
PAIR ;
DUG 2 } ;
DUP 3 ;
CAR ;
CAR ;
CAR ;
CDR ;
SENDER ;
GET ;
IF_NONE { PUSH int 371 ; FAILWITH } {} ;
DUP 4 ;
GET 5 ;
CDR ;
SWAP ;
DUP ;
DUG 2 ;
MEM ;
IF
{ DUP 4 ;
GET 5 ;
CDR ;
SWAP ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 377 ; FAILWITH } {} ;
SENDER ;
MEM ;
IF
{ DUP 4 ;
UNPAIR ;
SWAP ;
UNPAIR ;
SWAP ;
UNPAIR ;
UNPAIR ;
SWAP ;
DUP ;
DUP 7 ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 390 ; FAILWITH } {} ;
DUP ;
SENDER ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 390 ; FAILWITH } {} ;
UNPAIR ;
UNPAIR ;
SWAP ;
PUSH nat 100 ;
PUSH nat 10000000000 ;
MUL ;
DUP 16 ;
GET 5 ;
CDR ;
DUP 14 ;
GET ;
IF_NONE { PUSH int 389 ; FAILWITH } {} ;
SENDER ;
GET ;
IF_NONE { PUSH int 389 ; FAILWITH } {} ;
GET 4 ;
DUP 17 ;
GET 5 ;
CDR ;
DUP 15 ;
GET ;
IF_NONE { PUSH int 389 ; FAILWITH } {} ;
SENDER ;
GET ;
IF_NONE { PUSH int 389 ; FAILWITH } {} ;
CAR ;
CAR ;
PUSH timestamp "1970-01-01T00:00:00Z" ;
DUP ;
PUSH int 31536000 ;
ADD ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 558 ; FAILWITH } {} ;
DIG 18 ;
GET 5 ;
CDR ;
DUP 17 ;
GET ;
IF_NONE { PUSH int 389 ; FAILWITH } {} ;
SENDER ;
GET ;
IF_NONE { PUSH int 389 ; FAILWITH } {} ;
GET 3 ;
NOW ;
PUSH int 0 ;
ADD ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 558 ; FAILWITH } {} ;
PUSH nat 10000000000 ;
MUL ;
EDIV ;
IF_NONE { PUSH int 558 ; FAILWITH } { CAR } ;
MUL ;
MUL ;
EDIV ;
IF_NONE { PUSH int 561 ; FAILWITH } { CAR } ;
ADD ;
SWAP ;
PAIR ;
PAIR ;
SOME ;
SWAP ;
UPDATE ;
SOME ;
SWAP ;
UPDATE ;
DUP ;
DUP 7 ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 391 ; FAILWITH } {} ;
DUP ;
SENDER ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 391 ; FAILWITH } {} ;
DUP ;
GET 4 ;
DUP 13 ;
ADD ;
UPDATE 4 ;
SOME ;
SWAP ;
UPDATE ;
SOME ;
SWAP ;
UPDATE ;
DUP ;
DUP 7 ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 392 ; FAILWITH } {} ;
DUP ;
SENDER ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 392 ; FAILWITH } {} ;
NOW ;
PUSH int 0 ;
ADD ;
UPDATE 3 ;
SOME ;
SWAP ;
UPDATE ;
SOME ;
SWAP ;
UPDATE ;
SWAP ;
PAIR ;
PAIR ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
DUP ;
DUG 4 ;
UNPAIR ;
SWAP ;
UNPAIR ;
SWAP ;
UNPAIR ;
UNPAIR ;
SWAP ;
DUP ;
DIG 6 ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 393 ; FAILWITH } {} ;
DUP ;
SENDER ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 393 ; FAILWITH } {} ;
UNPAIR ;
CDR ;
DIG 12 ;
GET 3 ;
GET 4 ;
PUSH nat 0 ;
GET ;
IF_NONE { PUSH int 393 ; FAILWITH } {} ;
GET 3 ;
PAIR ;
PAIR ;
SOME ;
SWAP ;
UPDATE ;
SOME ;
SWAP ;
UPDATE ;
SWAP ;
PAIR ;
PAIR ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
DUG 2 }
{ DUP 4 ;
UNPAIR ;
SWAP ;
UNPAIR ;
SWAP ;
UNPAIR ;
UNPAIR ;
SWAP ;
DUP ;
DIG 6 ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 378 ; FAILWITH } {} ;
PUSH nat 0 ;
DUP 10 ;
ADD ;
NOW ;
PUSH int 0 ;
ADD ;
PAIR ;
PUSH nat 0 ;
DIG 11 ;
GET 3 ;
GET 4 ;
PUSH nat 0 ;
GET ;
IF_NONE { PUSH int 360 ; FAILWITH } {} ;
GET 3 ;
PAIR ;
PAIR ;
SOME ;
SENDER ;
UPDATE ;
SOME ;
SWAP ;
UPDATE ;
SWAP ;
PAIR ;
PAIR ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
DUG 2 } }
{ DUP 4 ;
UNPAIR ;
SWAP ;
UNPAIR ;
SWAP ;
UNPAIR ;
UNPAIR ;
SWAP ;
EMPTY_MAP address (pair (pair nat nat) (pair timestamp nat)) ;
PUSH nat 0 ;
DUP 10 ;
ADD ;
NOW ;
PUSH int 0 ;
ADD ;
PAIR ;
PUSH nat 0 ;
DIG 11 ;
GET 3 ;
GET 4 ;
PUSH nat 0 ;
GET ;
IF_NONE { PUSH int 360 ; FAILWITH } {} ;
GET 3 ;
PAIR ;
PAIR ;
SOME ;
SENDER ;
UPDATE ;
SOME ;
DIG 6 ;
UPDATE ;
SWAP ;
PAIR ;
PAIR ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
DUG 2 } ;
DIG 2 ;
UNPAIR ;
SWAP ;
UNPAIR ;
UNPAIR ;
SWAP ;
UNPAIR ;
DIG 6 ;
INT ;
SOME ;
NOW ;
PUSH int 0 ;
ADD ;
UPDATE ;
PAIR ;
SWAP ;
PAIR ;
PAIR ;
SWAP ;
PAIR ;
SWAP }
{ IF_LEFT
{ DIG 2 ;
DROP ;
SWAP ;
DUP ;
DUG 2 ;
GET 3 ;
GET 4 ;
SWAP ;
DUP ;
DUG 2 ;
CDR ;
GET ;
IF_NONE { PUSH int 316 ; FAILWITH } {} ;
CAR ;
CDR ;
SWAP ;
DUP ;
DUG 2 ;
CAR ;
COMPARE ;
GE ;
IF {} { PUSH string "Amount is too low" ; FAILWITH } ;
SWAP ;
DUP ;
DUG 2 ;
GET 3 ;
GET 4 ;
SWAP ;
DUP ;
DUG 2 ;
CDR ;
GET ;
IF_NONE { PUSH int 317 ; FAILWITH } {} ;
CAR ;
CAR ;
SWAP ;
DUP ;
DUG 2 ;
CAR ;
COMPARE ;
LE ;
IF {} { PUSH string "Amount is too high" ; FAILWITH } ;
SWAP ;
DUP ;
DUG 2 ;
GET 3 ;
GET 4 ;
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 (pair address nat)) ;
IF_NONE { PUSH int 323 ; FAILWITH } {} ;
PUSH mutez 0 ;
DUP 4 ;
CAR ;
DUP 6 ;
GET 3 ;
CAR ;
CAR ;
SENDER ;
PAIR 3 ;
TRANSFER_TOKENS ;
CONS ;
DUP 3 ;
GET 7 ;
SENDER ;
MEM ;
IF
{ PUSH bool False }
{ DUP 3 ; CAR ; CAR ; CAR ; CDR ; 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 7 ;
SENDER ;
MEM ;
IF
{ DUP 3 ;
GET 7 ;
SENDER ;
GET ;
IF_NONE { PUSH int 336 ; FAILWITH } {} ;
DUP 3 ;
CDR ;
MEM ;
IF
{ DUP 3 ;
DUP ;
GET 7 ;
DUP ;
SENDER ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 340 ; FAILWITH } {} ;
DUP ;
DUP 7 ;
CDR ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 340 ; FAILWITH } {} ;
DUP 8 ;
CAR ;
NOW ;
PUSH int 0 ;
ADD ;
PAIR ;
DUP 10 ;
GET 3 ;
GET 4 ;
DUP 10 ;
CDR ;
GET ;
IF_NONE { PUSH int 326 ; FAILWITH } {} ;
GET 3 ;
DUP 11 ;
GET 3 ;
GET 4 ;
DUP 11 ;
CDR ;
GET ;
IF_NONE { PUSH int 326 ; FAILWITH } {} ;
GET 4 ;
PAIR ;
PAIR ;
SOME ;
DIG 9 ;
GET 7 ;
SENDER ;
GET ;
IF_NONE { PUSH int 339 ; FAILWITH } {} ;
DUP 10 ;
CDR ;
GET ;
IF_NONE { PUSH int 339 ; FAILWITH } {} ;
SIZE ;
UPDATE ;
SOME ;
SWAP ;
UPDATE ;
SOME ;
SWAP ;
UPDATE ;
UPDATE 7 ;
DUG 2 }
{ DUP 3 ;
DUP ;
GET 7 ;
DUP ;
SENDER ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 337 ; FAILWITH } {} ;
EMPTY_MAP nat
(pair (pair int nat) (pair timestamp nat)) ;
DUP 7 ;
CAR ;
NOW ;
PUSH int 0 ;
ADD ;
PAIR ;
DUP 9 ;
GET 3 ;
GET 4 ;
DUP 9 ;
CDR ;
GET ;
IF_NONE { PUSH int 326 ; FAILWITH } {} ;
GET 3 ;
DIG 9 ;
GET 3 ;
GET 4 ;
DUP 10 ;
CDR ;
GET ;
IF_NONE { PUSH int 326 ; FAILWITH } {} ;
GET 4 ;
PAIR ;
PAIR ;
SOME ;
PUSH nat 0 ;
UPDATE ;
SOME ;
DUP 7 ;
CDR ;
UPDATE ;
SOME ;
SWAP ;
UPDATE ;
UPDATE 7 ;
DUG 2 } }
{ DUP 3 ;
DUP ;
GET 7 ;
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 ;
NOW ;
PUSH int 0 ;
ADD ;
PAIR ;
DUP 8 ;
GET 3 ;
GET 4 ;
DUP 8 ;
CDR ;
GET ;
IF_NONE { PUSH int 326 ; FAILWITH } {} ;
GET 3 ;
DIG 8 ;
GET 3 ;
GET 4 ;
DUP 9 ;
CDR ;
GET ;
IF_NONE { PUSH int 326 ; FAILWITH } {} ;
GET 4 ;
PAIR ;
PAIR ;
SOME ;
PUSH nat 0 ;
UPDATE ;
SOME ;
DUP 6 ;
CDR ;
UPDATE ;
SOME ;
SENDER ;
UPDATE ;
UPDATE 7 ;
DUG 2 } ;
DIG 2 ;
UNPAIR ;
SWAP ;
UNPAIR ;
UNPAIR ;
SWAP ;
UNPAIR ;
DIG 6 ;
CAR ;
INT ;
SOME ;
NOW ;
PUSH int 0 ;
ADD ;
UPDATE ;
PAIR ;
SWAP ;
PAIR ;
PAIR ;
SWAP ;
PAIR ;
SWAP }
{ DIG 2 ;
DROP ;
SWAP ;
DUP ;
GET 5 ;
CDR ;
SWAP ;
DUP ;
DUG 3 ;
CAR ;
CAR ;
CAR ;
CDR ;
SENDER ;
GET ;
IF_NONE { PUSH int 479 ; FAILWITH } {} ;
GET ;
IF_NONE { PUSH int 480 ; FAILWITH } {} ;
SENDER ;
MEM ;
IF
{}
{ PUSH string "Never staked on this contract" ; FAILWITH } ;
DUP ;
DIG 2 ;
DUP ;
GET 5 ;
CDR ;
SWAP ;
DUP ;
DUG 4 ;
CAR ;
CAR ;
CAR ;
CDR ;
SENDER ;
GET ;
IF_NONE { PUSH int 479 ; FAILWITH } {} ;
GET ;
IF_NONE { PUSH int 481 ; FAILWITH } {} ;
SENDER ;
GET ;
IF_NONE { PUSH int 481 ; 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 (pair address nat)) ;
IF_NONE { PUSH int 486 ; FAILWITH } {} ;
PUSH mutez 0 ;
DUP 4 ;
SENDER ;
DUP 7 ;
GET 3 ;
CAR ;
CAR ;
PAIR 3 ;
TRANSFER_TOKENS ;
CONS ;
DUP 3 ;
UNPAIR ;
SWAP ;
UNPAIR ;
SWAP ;
UNPAIR ;
UNPAIR ;
SWAP ;
DUP ;
DUP 9 ;
CAR ;
CAR ;
CAR ;
CDR ;
SENDER ;
GET ;
IF_NONE { PUSH int 479 ; 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 14 ;
DUP ;
GET 5 ;
CDR ;
SWAP ;
DUP ;
DUG 16 ;
CAR ;
CAR ;
CAR ;
CDR ;
SENDER ;
GET ;
IF_NONE { PUSH int 479 ; FAILWITH } {} ;
GET ;
IF_NONE { PUSH int 489 ; FAILWITH } {} ;
SENDER ;
GET ;
IF_NONE { PUSH int 489 ; FAILWITH } {} ;
GET 4 ;
DIG 15 ;
DUP ;
GET 5 ;
CDR ;
SWAP ;
DUP ;
DUG 17 ;
CAR ;
CAR ;
CAR ;
CDR ;
SENDER ;
GET ;
IF_NONE { PUSH int 479 ; FAILWITH } {} ;
GET ;
IF_NONE { PUSH int 489 ; FAILWITH } {} ;
SENDER ;
GET ;
IF_NONE { PUSH int 489 ; FAILWITH } {} ;
CAR ;
CAR ;
PUSH timestamp "1970-01-01T00:00:00Z" ;
DUP ;
PUSH int 31536000 ;
ADD ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 558 ; FAILWITH } {} ;
DIG 17 ;
DUP ;
GET 5 ;
CDR ;
SWAP ;
CAR ;
CAR ;
CAR ;
CDR ;
SENDER ;
GET ;
IF_NONE { PUSH int 479 ; FAILWITH } {} ;
GET ;
IF_NONE { PUSH int 489 ; FAILWITH } {} ;
SENDER ;
GET ;
IF_NONE { PUSH int 489 ; FAILWITH } {} ;
GET 3 ;
NOW ;
PUSH int 0 ;
ADD ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 558 ; FAILWITH } {} ;
PUSH nat 10000000000 ;
MUL ;
EDIV ;
IF_NONE { PUSH int 558 ; FAILWITH } { CAR } ;
MUL ;
MUL ;
EDIV ;
IF_NONE { PUSH int 561 ; FAILWITH } { CAR } ;
ADD ;
SWAP ;
PAIR ;
PAIR ;
SOME ;
SWAP ;
UPDATE ;
SOME ;
SWAP ;
UPDATE ;
SWAP ;
PAIR ;
PAIR ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
DUP ;
DUG 3 ;
UNPAIR ;
SWAP ;
UNPAIR ;
SWAP ;
UNPAIR ;
UNPAIR ;
SWAP ;
DUP ;
DUP 9 ;
CAR ;
CAR ;
CAR ;
CDR ;
SENDER ;
GET ;
IF_NONE { PUSH int 479 ; FAILWITH } {} ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 491 ; FAILWITH } {} ;
DUP ;
SENDER ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 491 ; FAILWITH } {} ;
DUP 11 ;
DIG 12 ;
DUP ;
GET 5 ;
CDR ;
SWAP ;
CAR ;
CAR ;
CAR ;
CDR ;
SENDER ;
GET ;
IF_NONE { PUSH int 479 ; FAILWITH } {} ;
GET ;
IF_NONE { PUSH int 489 ; FAILWITH } {} ;
SENDER ;
GET ;
IF_NONE { PUSH int 489 ; FAILWITH } {} ;
GET 4 ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 491 ; FAILWITH } {} ;
UPDATE 4 ;
SOME ;
SWAP ;
UPDATE ;
SOME ;
SWAP ;
UPDATE ;
SWAP ;
PAIR ;
PAIR ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
DUP ;
DUG 3 ;
UNPAIR ;
SWAP ;
UNPAIR ;
SWAP ;
UNPAIR ;
UNPAIR ;
SWAP ;
DUP ;
DIG 8 ;
CAR ;
CAR ;
CAR ;
CDR ;
SENDER ;
GET ;
IF_NONE { PUSH int 479 ; FAILWITH } {} ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 492 ; FAILWITH } {} ;
DUP ;
SENDER ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 492 ; FAILWITH } {} ;
NOW ;
PUSH int 0 ;
ADD ;
UPDATE 3 ;
SOME ;
SWAP ;
UPDATE ;
SOME ;
SWAP ;
UPDATE ;
SWAP ;
PAIR ;
PAIR ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
DUP ;
DUG 3 ;
UNPAIR ;
SWAP ;
UNPAIR ;
SWAP ;
UNPAIR ;
UNPAIR ;
SWAP ;
DUP ;
DUP 9 ;
CAR ;
CAR ;
CAR ;
CDR ;
SENDER ;
GET ;
IF_NONE { PUSH int 479 ; FAILWITH } {} ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 493 ; FAILWITH } {} ;
DUP ;
SENDER ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 493 ; FAILWITH } {} ;
UNPAIR ;
CDR ;
DIG 12 ;
GET 3 ;
GET 4 ;
PUSH nat 0 ;
GET ;
IF_NONE { PUSH int 493 ; FAILWITH } {} ;
GET 3 ;
PAIR ;
PAIR ;
SOME ;
SWAP ;
UPDATE ;
SOME ;
SWAP ;
UPDATE ;
SWAP ;
PAIR ;
PAIR ;
SWAP ;
UNPAIR ;
SWAP ;
UNPAIR ;
DIG 6 ;
INT ;
PUSH int -1 ;
MUL ;
SOME ;
NOW ;
PUSH int 0 ;
ADD ;
UPDATE ;
PAIR ;
SWAP ;
PAIR ;
PAIR ;
SWAP ;
PAIR ;
DUP ;
DUG 2 ;
GET 7 ;
SENDER ;
MEM ;
IF
{ PUSH bool False }
{ SWAP ; DUP ; DUG 2 ; CAR ; CAR ; CAR ; CDR ; 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
{ IF_LEFT
{ IF_LEFT
{ SWAP ;
DUP ;
DUG 2 ;
GET 7 ;
SENDER ;
MEM ;
IF
{}
{ PUSH string "Never staked on this contract" ; FAILWITH } ;
SWAP ;
DUP ;
DUG 2 ;
GET 7 ;
SENDER ;
GET ;
IF_NONE { PUSH int 405 ; FAILWITH } {} ;
SWAP ;
DUP ;
DUG 2 ;
CDR ;
MEM ;
IF {} { PUSH string "Never staked using this pack" ; FAILWITH } ;
SWAP ;
DUP ;
DUG 2 ;
GET 7 ;
SENDER ;
GET ;
IF_NONE { PUSH int 406 ; FAILWITH } {} ;
SWAP ;
DUP ;
DUG 2 ;
CDR ;
GET ;
IF_NONE { PUSH int 406 ; FAILWITH } {} ;
SWAP ;
DUP ;
DUG 2 ;
CAR ;
MEM ;
IF {} { PUSH string "This stake doesn't exist" ; FAILWITH } ;
NOW ;
DUP 3 ;
GET 7 ;
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 } {} ;
GET 3 ;
DUP 4 ;
GET 7 ;
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 } {} ;
CAR ;
CAR ;
ADD ;
COMPARE ;
LT ;
IF
{ DUP 4 ;
DIG 2 ;
DUP ;
GET 7 ;
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 ;
PAIR ;
EXEC ;
DUP ;
GET 4 ;
DUG 2 ;
CAR }
{ DUP 3 ;
DIG 2 ;
DUP ;
GET 7 ;
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 ;
PAIR ;
EXEC ;
DUP ;
GET 4 ;
DUG 2 ;
CAR } ;
PUSH nat 0 ;
DUP 4 ;
GET 7 ;
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 7 ;
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 7 ;
SWAP ;
PUSH nat 0 ;
DUP 3 ;
GET 7 ;
SENDER ;
GET ;
IF_NONE { PUSH int 419 ; FAILWITH } {} ;
SIZE ;
COMPARE ;
EQ ;
IF
{ SWAP ;
DUP ;
GET 7 ;
NONE (map nat
(map nat
(pair (pair int nat) (pair timestamp nat)))) ;
SENDER ;
UPDATE ;
UPDATE 7 ;
SWAP }
{} }
{ SWAP ; DROP ; DIG 2 ; DROP ; DIG 2 ; DROP ; DIG 2 ; DROP } ;
SWAP ;
DUP ;
DUG 2 ;
GET 7 ;
SENDER ;
MEM ;
IF
{ PUSH bool False }
{ SWAP ; DUP ; DUG 2 ; CAR ; CAR ; CAR ; CDR ; SENDER ; MEM ; NOT } ;
IF
{ SWAP ;
UNPAIR ;
UNPAIR ;
SWAP ;
UNPAIR ;
SWAP ;
UNPAIR ;
PUSH int 1 ;
SWAP ;
SUB ;
PAIR ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
PAIR ;
SWAP }
{} }
{ DIG 2 ;
DROP ;
DIG 2 ;
DROP ;
DIG 2 ;
DROP ;
IF_LEFT
{ 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 }
{ 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 } }
{ IF_LEFT
{ DIG 2 ;
DROP ;
DIG 2 ;
DROP ;
DUG 2 ;
SENDER ;
PAIR ;
EXEC ;
DUP ;
GET 4 ;
DUG 2 ;
DUP ;
CAR ;
SWAP ;
GET 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 ;
SWAP ;
UNPAIR ;
CDR ;
DIG 5 ;
PAIR ;
PAIR ;
SWAP ;
PAIR ;
PAIR ;
SWAP }
{ DIG 2 ;
DROP ;
DIG 2 ;
DROP ;
DIG 2 ;
DROP ;
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 ;
SWAP ;
DIG 5 ;
SOME ;
PUSH string "" ;
UPDATE ;
SWAP ;
PAIR ;
PAIR ;
SWAP ;
PAIR ;
PAIR }
{ 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 } ;
NIL operation } } }
{ IF_LEFT
{ IF_LEFT
{ SWAP ;
DUP ;
DUG 2 ;
CAR ;
CAR ;
GET 3 ;
SENDER ;
COMPARE ;
EQ ;
IF {} { PUSH string "Access denied" ; FAILWITH } ;
SWAP ;
DUP ;
DUG 2 ;
GET 5 ;
CDR ;
SWAP ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 585 ; FAILWITH } {} ;
ITER { CAR ;
DUP 3 ;
UNPAIR ;
SWAP ;
UNPAIR ;
SWAP ;
UNPAIR ;
UNPAIR ;
SWAP ;
DUP ;
DUP 8 ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 587 ; FAILWITH } {} ;
DUP ;
DUP 9 ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 587 ; FAILWITH } {} ;
UNPAIR ;
UNPAIR ;
SWAP ;
PUSH nat 100 ;
PUSH nat 10000000000 ;
MUL ;
DUP 15 ;
GET 5 ;
CDR ;
DUP 15 ;
GET ;
IF_NONE { PUSH int 586 ; FAILWITH } {} ;
DUP 14 ;
GET ;
IF_NONE { PUSH int 586 ; FAILWITH } {} ;
GET 4 ;
DUP 16 ;
GET 5 ;
CDR ;
DUP 16 ;
GET ;
IF_NONE { PUSH int 586 ; FAILWITH } {} ;
DUP 15 ;
GET ;
IF_NONE { PUSH int 586 ; FAILWITH } {} ;
CAR ;
CAR ;
PUSH timestamp "1970-01-01T00:00:00Z" ;
DUP ;
PUSH int 31536000 ;
ADD ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 558 ; FAILWITH } {} ;
DIG 17 ;
GET 5 ;
CDR ;
DUP 18 ;
GET ;
IF_NONE { PUSH int 586 ; FAILWITH } {} ;
DUP 17 ;
GET ;
IF_NONE { PUSH int 586 ; FAILWITH } {} ;
GET 3 ;
NOW ;
PUSH int 0 ;
ADD ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 558 ; FAILWITH } {} ;
PUSH nat 10000000000 ;
MUL ;
EDIV ;
IF_NONE { PUSH