x
333
parameter (or (or (pair %initiate (pair (pair (bytes %hashedSecret) (address %participant)) (pair (nat %payoffAmount) (timestamp %refundTime))) (pair (address %tokenAddress) (nat %totalAmount))) (bytes %redeem)) (bytes %refund));storage (pair (big_map %0 bytes (pair (pair (pair (address %initiator) (address %participant)) (pair (nat %payoffAmount) (timestamp %refundTime))) (pair (address %tokenAddress) (nat %totalAmount)))) (unit %1));code { DUP ; LAMBDA (pair (pair (address %0) (address %1)) (pair (address %2) (nat %3))) operation { DUP ; CAR ; CAR ; CONTRACT %transfer (pair address (pair address nat)) ; IF_NONE { PUSH string "bad address for get_entrypoint (%transfer)" ; FAILWITH } {} ; DIP { DUP } ; SWAP ; CAR ; CDR ; DIP { DIP { DUP } ; SWAP ; CDR ; CAR ; DIP { DIP { DUP } ; SWAP ; CDR ; CDR } ; PAIR } ; PAIR ; DIP { DUP ; PUSH mutez 0 } ; TRANSFER_TOKENS ; DUP ; DIP { DROP 3 } } ; SWAP ; CDR ; AMOUNT ; PUSH mutez 0 ; COMPARE ; NEQ ; IF { PUSH string "This contract do not accept tez" ; FAILWITH } { PUSH unit Unit } ; DIP 3 { DUP } ; DIG 3 ; CAR ; IF_LEFT { DUP ; IF_LEFT { DUP ; DIP { DIP 3 { DUP } ; DIG 3 } ; PAIR ; DUP ; CAR ; DIP { DUP } ; SWAP ; CDR ; DIP { DUP } ; SWAP ; CAR ; CDR ; CAR ; DIP { DIP { DUP } ; SWAP ; CDR ; CDR } ; COMPARE ; GT ; IF { PUSH string "" ; FAILWITH } { PUSH unit Unit } ; DIP 2 { DUP } ; DIG 2 ; CAR ; CDR ; CDR ; NOW ; SWAP ; COMPARE ; LE ; IF { PUSH string "" ; FAILWITH } { PUSH unit Unit } ; DIP 3 { DUP } ; DIG 3 ; CAR ; CAR ; CAR ; SIZE ; PUSH nat 32 ; COMPARE ; NEQ ; IF { PUSH string "" ; FAILWITH } { PUSH unit Unit } ; DIP 4 { DUP } ; DIG 4 ; CAR ; CAR ; CDR ; SOURCE ; SWAP ; COMPARE ; EQ ; IF { PUSH string "" ; FAILWITH } { PUSH unit Unit } ; DIP 5 { DUP } ; DIG 5 ; CAR ; CAR ; CDR ; SOURCE ; PAIR ; DIP { DIP 5 { DUP } ; DIG 5 ; CAR ; CDR ; CAR ; DIP { DIP 5 { DUP } ; DIG 5 ; CAR ; CDR ; CDR } ; PAIR } ; PAIR ; DIP { DIP 5 { DUP } ; DIG 5 ; CDR ; CAR ; DIP { DIP 5 { DUP } ; DIG 5 ; CDR ; CDR } ; PAIR } ; PAIR ; DIP 6 { DUP } ; DIG 6 ; DIP { DIP 5 { DUP } ; DIG 5 } ; PAIR ; DIP { DUP } ; PAIR ; DIP 7 { DUP } ; DIG 7 ; CAR ; CAR ; CAR ; DIP { DIP 6 { DUP } ; DIG 6 ; CAR } ; GET ; IF_NONE { DUP ; DIP 7 { DUP } ; DIG 7 ; DIP 9 { DUP } ; DIG 9 ; CAR ; CAR ; CAR ; DIP { DIP 3 { DUP } ; DIG 3 ; SOME ; DIP { DIP 8 { DUP } ; DIG 8 ; CAR } } ; UPDATE ; SWAP ; CDR ; SWAP ; PAIR ; DIP { DUP ; CDR ; SWAP ; CAR ; CAR } ; SWAP ; PAIR ; PAIR } { PUSH string "" ; FAILWITH } ; DUP ; CAR ; CAR ; DUP ; CDR ; CAR ; SOURCE ; SWAP ; PAIR ; DIP { SELF ; ADDRESS ; DIP { DUP ; CDR ; CDR } ; PAIR } ; PAIR ; DIP { DIP 15 { DUP } ; DIG 15 } ; EXEC ; DUP ; NIL operation ; SWAP ; CONS ; DIP { DIP 2 { DUP } ; DIG 2 ; CAR ; CDR } ; PAIR ; DIP { DROP 13 } } { DUP ; DIP { DIP 3 { DUP } ; DIG 3 } ; PAIR ; DUP ; CAR ; DIP { DUP } ; SWAP ; CDR ; DIP { DUP } ; SWAP ; SIZE ; PUSH nat 32 ; COMPARE ; NEQ ; IF { PUSH string "" ; FAILWITH } { PUSH unit Unit } ; DIP 2 { DUP } ; DIG 2 ; SHA256 ; SHA256 ; DUP ; DIP { DIP 2 { DUP } ; DIG 2 ; CAR } ; GET ; IF_NONE { PUSH string "MAP FIND" ; FAILWITH } {} ; DUP ; CAR ; CDR ; CDR ; NOW ; COMPARE ; GE ; IF { PUSH string "" ; FAILWITH } { PUSH unit Unit } ; DIP 4 { DUP } ; DIG 4 ; DIP 3 { DUP } ; DIG 3 ; DIP { DIP 5 { DUP } ; DIG 5 ; CAR ; NONE (pair (pair (pair (address %initiator) (address %participant)) (pair (nat %payoffAmount) (timestamp %refundTime))) (pair (address %tokenAddress) (nat %totalAmount))) } ; UPDATE ; SWAP ; CDR ; SWAP ; PAIR ; DIP 2 { DUP } ; DIG 2 ; CDR ; CDR ; DIP { DIP 2 { DUP } ; DIG 2 ; CAR ; CDR ; CAR } ; SUB ; ABS ; DIP 3 { DUP } ; DIG 3 ; CDR ; CAR ; DIP { SELF ; ADDRESS } ; PAIR ; DIP { DIP 3 { DUP } ; DIG 3 ; CAR ; CAR ; CDR ; DIP { DUP } ; PAIR } ; PAIR ; DIP { DIP 13 { DUP } ; DIG 13 } ; EXEC ; DIP 4 { DUP } ; DIG 4 ; CDR ; CAR ; DIP { DIP 4 { DUP } ; DIG 4 ; CAR ; CDR ; CAR } ; PAIR ; DUP ; CDR ; DUP ; PUSH nat 0 ; SWAP ; COMPARE ; GT ; IF { DIP { DUP } ; SWAP ; CAR ; DIP { SELF ; ADDRESS } ; PAIR ; DIP { DUP ; SOURCE ; PAIR } ; PAIR ; DIP { DIP 16 { DUP } ; DIG 16 } ; EXEC ; NIL operation ; SWAP ; CONS } { NIL operation } ; DIP { DROP 2 ; DUP } ; SWAP ; DIP { DUP } ; CONS ; DIP { DIP 3 { DUP } ; DIG 3 } ; PAIR ; DIP { DROP 12 } } ; DIP { DROP } } { DUP ; DIP { DIP 2 { DUP } ; DIG 2 } ; PAIR ; DUP ; CAR ; DIP { DUP } ; SWAP ; CDR ; DIP { DUP } ; SWAP ; DIP { DUP ; CAR } ; GET ; IF_NONE { PUSH string "MAP FIND" ; FAILWITH } {} ; DUP ; CAR ; CDR ; CDR ; NOW ; COMPARE ; LT ; IF { PUSH string "" ; FAILWITH } { PUSH unit Unit } ; DIP 2 { DUP } ; DIG 2 ; DIP 4 { DUP } ; DIG 4 ; DIP { DIP 3 { DUP } ; DIG 3 ; CAR ; NONE (pair (pair (pair (address %initiator) (address %participant)) (pair (nat %payoffAmount) (timestamp %refundTime))) (pair (address %tokenAddress) (nat %totalAmount))) } ; UPDATE ; SWAP ; CDR ; SWAP ; PAIR ; DIP 2 { DUP } ; DIG 2 ; CDR ; CAR ; DIP { SELF ; ADDRESS } ; PAIR ; DIP { DIP 2 { DUP } ; DIG 2 ; CAR ; CAR ; CAR ; DIP { DIP 2 { DUP } ; DIG 2 ; CDR ; CDR } ; PAIR } ; PAIR ; DIP { DIP 9 { DUP } ; DIG 9 } ; EXEC ; DUP ; NIL operation ; SWAP ; CONS ; DIP { DIP { DUP } ; SWAP } ; PAIR ; DIP { DROP 8 } } ; DIP { DROP 4 } }