plutus-use-cases-1.2.0.0: Collection of smart contracts to develop the plutus/wallet interface
Safe HaskellNone
LanguageHaskell2010

Plutus.Contracts.MultiSig

Description

Implements an n-out-of-m multisig contract.

Synopsis

Documentation

data MultiSig Source #

Constructors

MultiSig 

Fields

  • signatories :: [PaymentPubKeyHash]

    List of public keys of people who may sign the transaction

  • minNumSignatures :: Integer

    Minimum number of signatures required to unlock the output (should not exceed length signatories)

Instances

Instances details
Show MultiSig Source # 
Instance details

Defined in Plutus.Contracts.MultiSig

Generic MultiSig Source # 
Instance details

Defined in Plutus.Contracts.MultiSig

Associated Types

type Rep MultiSig :: Type -> Type Source #

FromJSON MultiSig Source # 
Instance details

Defined in Plutus.Contracts.MultiSig

Methods

parseJSON :: Value -> Parser MultiSig

parseJSONList :: Value -> Parser [MultiSig]

ToJSON MultiSig Source # 
Instance details

Defined in Plutus.Contracts.MultiSig

Methods

toJSON :: MultiSig -> Value

toEncoding :: MultiSig -> Encoding

toJSONList :: [MultiSig] -> Value

toEncodingList :: [MultiSig] -> Encoding

ValidatorTypes MultiSig Source # 
Instance details

Defined in Plutus.Contracts.MultiSig

Associated Types

type RedeemerType MultiSig

type DatumType MultiSig

Lift DefaultUni MultiSig Source # 
Instance details

Defined in Plutus.Contracts.MultiSig

Methods

lift :: MultiSig -> RTCompile DefaultUni fun (Term TyName Name DefaultUni fun ())

Typeable DefaultUni MultiSig Source # 
Instance details

Defined in Plutus.Contracts.MultiSig

Methods

typeRep :: Proxy MultiSig -> RTCompile DefaultUni fun (Type TyName DefaultUni ())

type Rep MultiSig Source # 
Instance details

Defined in Plutus.Contracts.MultiSig

type Rep MultiSig = D1 ('MetaData "MultiSig" "Plutus.Contracts.MultiSig" "plutus-use-cases-1.2.0.0-BuYOLXrynPcLosE012cowc" 'False) (C1 ('MetaCons "MultiSig" 'PrefixI 'True) (S1 ('MetaSel ('Just "signatories") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [PaymentPubKeyHash]) :*: S1 ('MetaSel ('Just "minNumSignatures") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Integer)))
type DatumType MultiSig Source # 
Instance details

Defined in Plutus.Contracts.MultiSig

type DatumType MultiSig = ()
type RedeemerType MultiSig Source # 
Instance details

Defined in Plutus.Contracts.MultiSig

type RedeemerType MultiSig = ()

type MultiSigSchema = Endpoint "lock" (MultiSig, Value) .\/ Endpoint "unlock" (MultiSig, [PaymentPubKeyHash]) Source #

contract :: AsContractError e => Contract () MultiSigSchema e () Source #

lock :: AsContractError e => Promise () MultiSigSchema e () Source #

Lock some funds in a MultiSig contract.

typedValidator :: MultiSig -> TypedValidator MultiSig Source #

validate :: MultiSig -> () -> () -> ScriptContext -> Bool Source #