| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Plutus.Contracts.SimpleEscrow
Description
This simple escrow contract facilitiates and exchange of currencies.
Synopsis
- data EscrowParams = EscrowParams {}
- type EscrowSchema = (Endpoint "lock" EscrowParams .\/ Endpoint "refund" EscrowParams) .\/ Endpoint "redeem" EscrowParams
- data Action
- data RedeemFailReason = DeadlinePassed
- data EscrowError
- class AsEscrowError r where
- _EscrowError :: Prism' r EscrowError
- _RedeemFailed :: Prism' r RedeemFailReason
- _RefundFailed :: Prism' r ()
- _EContractError :: Prism' r ContractError
- newtype RefundSuccess = RefundSuccess TxId
- newtype RedeemSuccess = RedeemSuccess TxId
- data Escrow
- escrowAddress :: CardanoAddress
- escrowInstance :: TypedValidator Escrow
- validate :: EscrowParams -> Action -> ScriptContext -> Bool
- lockEp :: Promise () EscrowSchema EscrowError ()
- redeemEp :: Promise () EscrowSchema EscrowError RedeemSuccess
- refundEp :: Promise () EscrowSchema EscrowError RefundSuccess
Documentation
data EscrowParams Source #
Constructors
| EscrowParams | |
Instances
type EscrowSchema = (Endpoint "lock" EscrowParams .\/ Endpoint "refund" EscrowParams) .\/ Endpoint "redeem" EscrowParams Source #
Instances
| UnsafeFromData Action Source # | |
Defined in Plutus.Contracts.SimpleEscrow Methods | |
| FromData Action Source # | |
Defined in Plutus.Contracts.SimpleEscrow Methods fromBuiltinData :: BuiltinData -> Maybe Action Source # | |
| ToData Action Source # | |
Defined in Plutus.Contracts.SimpleEscrow Methods toBuiltinData :: Action -> BuiltinData Source # | |
| Lift DefaultUni Action Source # | |
Defined in Plutus.Contracts.SimpleEscrow Methods lift :: Action -> RTCompile DefaultUni fun (Term TyName Name DefaultUni fun ()) Source # | |
| Typeable DefaultUni Action Source # | |
Defined in Plutus.Contracts.SimpleEscrow Methods typeRep :: Proxy Action -> RTCompile DefaultUni fun (Type TyName DefaultUni ()) Source # | |
data RedeemFailReason Source #
Constructors
| DeadlinePassed |
Instances
| Eq RedeemFailReason Source # | |
Defined in Plutus.Contracts.SimpleEscrow Methods (==) :: RedeemFailReason -> RedeemFailReason -> Bool Source # (/=) :: RedeemFailReason -> RedeemFailReason -> Bool Source # | |
| Show RedeemFailReason Source # | |
Defined in Plutus.Contracts.SimpleEscrow | |
| Generic RedeemFailReason Source # | |
Defined in Plutus.Contracts.SimpleEscrow Methods from :: RedeemFailReason -> Rep RedeemFailReason x Source # to :: Rep RedeemFailReason x -> RedeemFailReason Source # | |
| ToJSON RedeemFailReason Source # | |
Defined in Plutus.Contracts.SimpleEscrow Methods toJSON :: RedeemFailReason -> Value Source # toEncoding :: RedeemFailReason -> Encoding Source # toJSONList :: [RedeemFailReason] -> Value Source # toEncodingList :: [RedeemFailReason] -> Encoding Source # | |
| FromJSON RedeemFailReason Source # | |
Defined in Plutus.Contracts.SimpleEscrow Methods parseJSON :: Value -> Parser RedeemFailReason Source # parseJSONList :: Value -> Parser [RedeemFailReason] Source # | |
| type Rep RedeemFailReason Source # | |
data EscrowError Source #
Instances
class AsEscrowError r where Source #
Minimal complete definition
Methods
_EscrowError :: Prism' r EscrowError Source #
_RedeemFailed :: Prism' r RedeemFailReason Source #
_RefundFailed :: Prism' r () Source #
Instances
newtype RefundSuccess Source #
Constructors
| RefundSuccess TxId |
Instances
| Eq RefundSuccess Source # | |
Defined in Plutus.Contracts.SimpleEscrow Methods (==) :: RefundSuccess -> RefundSuccess -> Bool Source # (/=) :: RefundSuccess -> RefundSuccess -> Bool Source # | |
| Show RefundSuccess Source # | |
Defined in Plutus.Contracts.SimpleEscrow | |
| Generic RefundSuccess Source # | |
Defined in Plutus.Contracts.SimpleEscrow Methods from :: RefundSuccess -> Rep RefundSuccess x Source # to :: Rep RefundSuccess x -> RefundSuccess Source # | |
| ToJSON RefundSuccess Source # | |
Defined in Plutus.Contracts.SimpleEscrow Methods toJSON :: RefundSuccess -> Value Source # toEncoding :: RefundSuccess -> Encoding Source # toJSONList :: [RefundSuccess] -> Value Source # toEncodingList :: [RefundSuccess] -> Encoding Source # | |
| FromJSON RefundSuccess Source # | |
Defined in Plutus.Contracts.SimpleEscrow Methods parseJSON :: Value -> Parser RefundSuccess Source # parseJSONList :: Value -> Parser [RefundSuccess] Source # | |
| type Rep RefundSuccess Source # | |
Defined in Plutus.Contracts.SimpleEscrow | |
newtype RedeemSuccess Source #
Constructors
| RedeemSuccess TxId |
Instances
| Eq RedeemSuccess Source # | |
Defined in Plutus.Contracts.SimpleEscrow Methods (==) :: RedeemSuccess -> RedeemSuccess -> Bool Source # (/=) :: RedeemSuccess -> RedeemSuccess -> Bool Source # | |
| Show RedeemSuccess Source # | |
Defined in Plutus.Contracts.SimpleEscrow | |
Instances
| ValidatorTypes Escrow Source # | |
Defined in Plutus.Contracts.SimpleEscrow | |
| type RedeemerType Escrow Source # | |
Defined in Plutus.Contracts.SimpleEscrow | |
| type DatumType Escrow Source # | |
Defined in Plutus.Contracts.SimpleEscrow | |
validate :: EscrowParams -> Action -> ScriptContext -> Bool Source #
lockEp :: Promise () EscrowSchema EscrowError () Source #
redeemEp :: Promise () EscrowSchema EscrowError RedeemSuccess Source #
Attempts to redeem the Value locked into this script by paying in from
the callers address to the payee.
refundEp :: Promise () EscrowSchema EscrowError RefundSuccess Source #
Refunds the locked amount back to the payee.