hydra-node-0.16.0: The Hydra node
Safe HaskellSafe-Inferred
LanguageGHC2021

Hydra.API.HTTPServer

Contents

Synopsis

Documentation

newtype DraftCommitTxResponse Source #

Constructors

DraftCommitTxResponse 

Fields

Instances

Instances details
Arbitrary DraftCommitTxResponse Source # 
Instance details

Defined in Hydra.API.HTTPServer

FromJSON DraftCommitTxResponse Source # 
Instance details

Defined in Hydra.API.HTTPServer

ToJSON DraftCommitTxResponse Source # 
Instance details

Defined in Hydra.API.HTTPServer

Generic DraftCommitTxResponse Source # 
Instance details

Defined in Hydra.API.HTTPServer

Associated Types

type Rep DraftCommitTxResponse :: Type -> Type Source #

Show DraftCommitTxResponse Source # 
Instance details

Defined in Hydra.API.HTTPServer

type Rep DraftCommitTxResponse Source # 
Instance details

Defined in Hydra.API.HTTPServer

type Rep DraftCommitTxResponse = D1 ('MetaData "DraftCommitTxResponse" "Hydra.API.HTTPServer" "hydra-node-0.16.0-C0XGScKIquG5I6dPp21445" 'True) (C1 ('MetaCons "DraftCommitTxResponse" 'PrefixI 'True) (S1 ('MetaSel ('Just "commitTx") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Tx)))

data ScriptInfo Source #

Constructors

ScriptInfo 

Fields

Instances

Instances details
Arbitrary ScriptInfo Source # 
Instance details

Defined in Hydra.API.HTTPServer

FromJSON ScriptInfo Source # 
Instance details

Defined in Hydra.API.HTTPServer

Methods

parseJSON :: Value -> Parser ScriptInfo

parseJSONList :: Value -> Parser [ScriptInfo]

omittedField :: Maybe ScriptInfo

ToJSON ScriptInfo Source # 
Instance details

Defined in Hydra.API.HTTPServer

Methods

toJSON :: ScriptInfo -> Value

toEncoding :: ScriptInfo -> Encoding

toJSONList :: [ScriptInfo] -> Value

toEncodingList :: [ScriptInfo] -> Encoding

omitField :: ScriptInfo -> Bool

Generic ScriptInfo Source # 
Instance details

Defined in Hydra.API.HTTPServer

Associated Types

type Rep ScriptInfo :: Type -> Type Source #

Show ScriptInfo Source # 
Instance details

Defined in Hydra.API.HTTPServer

Eq ScriptInfo Source # 
Instance details

Defined in Hydra.API.HTTPServer

type Rep ScriptInfo Source # 
Instance details

Defined in Hydra.API.HTTPServer

type Rep ScriptInfo = D1 ('MetaData "ScriptInfo" "Hydra.API.HTTPServer" "hydra-node-0.16.0-C0XGScKIquG5I6dPp21445" 'False) (C1 ('MetaCons "ScriptInfo" 'PrefixI 'True) (S1 ('MetaSel ('Just "redeemer") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 HashableScriptData) :*: (S1 ('MetaSel ('Just "datum") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe HashableScriptData)) :*: S1 ('MetaSel ('Just "plutusV2Script") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PlutusScript))))

data TxOutWithWitness Source #

Constructors

TxOutWithWitness 

Fields

Instances

Instances details
Arbitrary TxOutWithWitness Source # 
Instance details

Defined in Hydra.API.HTTPServer

FromJSON TxOutWithWitness Source # 
Instance details

Defined in Hydra.API.HTTPServer

ToJSON TxOutWithWitness Source # 
Instance details

Defined in Hydra.API.HTTPServer

Generic TxOutWithWitness Source # 
Instance details

Defined in Hydra.API.HTTPServer

Associated Types

type Rep TxOutWithWitness :: Type -> Type Source #

Show TxOutWithWitness Source # 
Instance details

Defined in Hydra.API.HTTPServer

Eq TxOutWithWitness Source # 
Instance details

Defined in Hydra.API.HTTPServer

Arbitrary (UTxO' TxOutWithWitness) Source # 
Instance details

Defined in Hydra.API.HTTPServer

Methods

arbitrary :: Gen (UTxO' TxOutWithWitness)

shrink :: UTxO' TxOutWithWitness -> [UTxO' TxOutWithWitness]

type Rep TxOutWithWitness Source # 
Instance details

Defined in Hydra.API.HTTPServer

type Rep TxOutWithWitness = D1 ('MetaData "TxOutWithWitness" "Hydra.API.HTTPServer" "hydra-node-0.16.0-C0XGScKIquG5I6dPp21445" 'False) (C1 ('MetaCons "TxOutWithWitness" 'PrefixI 'True) (S1 ('MetaSel ('Just "txOut") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (TxOut CtxUTxO)) :*: S1 ('MetaSel ('Just "witness") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe ScriptInfo))))

newtype DraftCommitTxRequest Source #

Constructors

DraftCommitTxRequest 

Instances

Instances details
Arbitrary DraftCommitTxRequest Source # 
Instance details

Defined in Hydra.API.HTTPServer

FromJSON DraftCommitTxRequest Source # 
Instance details

Defined in Hydra.API.HTTPServer

ToJSON DraftCommitTxRequest Source # 
Instance details

Defined in Hydra.API.HTTPServer

Generic DraftCommitTxRequest Source # 
Instance details

Defined in Hydra.API.HTTPServer

Associated Types

type Rep DraftCommitTxRequest :: Type -> Type Source #

Show DraftCommitTxRequest Source # 
Instance details

Defined in Hydra.API.HTTPServer

Eq DraftCommitTxRequest Source # 
Instance details

Defined in Hydra.API.HTTPServer

type Rep DraftCommitTxRequest Source # 
Instance details

Defined in Hydra.API.HTTPServer

type Rep DraftCommitTxRequest = D1 ('MetaData "DraftCommitTxRequest" "Hydra.API.HTTPServer" "hydra-node-0.16.0-C0XGScKIquG5I6dPp21445" 'True) (C1 ('MetaCons "DraftCommitTxRequest" 'PrefixI 'True) (S1 ('MetaSel ('Just "utxoToCommit") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (UTxO' TxOutWithWitness))))

newtype SubmitTxRequest tx Source #

Constructors

SubmitTxRequest 

Fields

Instances

Instances details
Arbitrary tx => Arbitrary (SubmitTxRequest tx) Source # 
Instance details

Defined in Hydra.API.HTTPServer

FromJSON tx => FromJSON (SubmitTxRequest tx) Source # 
Instance details

Defined in Hydra.API.HTTPServer

Methods

parseJSON :: Value -> Parser (SubmitTxRequest tx)

parseJSONList :: Value -> Parser [SubmitTxRequest tx]

omittedField :: Maybe (SubmitTxRequest tx)

ToJSON tx => ToJSON (SubmitTxRequest tx) Source # 
Instance details

Defined in Hydra.API.HTTPServer

Methods

toJSON :: SubmitTxRequest tx -> Value

toEncoding :: SubmitTxRequest tx -> Encoding

toJSONList :: [SubmitTxRequest tx] -> Value

toEncodingList :: [SubmitTxRequest tx] -> Encoding

omitField :: SubmitTxRequest tx -> Bool

Show tx => Show (SubmitTxRequest tx) Source # 
Instance details

Defined in Hydra.API.HTTPServer

Eq tx => Eq (SubmitTxRequest tx) Source # 
Instance details

Defined in Hydra.API.HTTPServer

data TransactionSubmitted Source #

Constructors

TransactionSubmitted 

Instances

Instances details
Arbitrary TransactionSubmitted Source # 
Instance details

Defined in Hydra.API.HTTPServer

FromJSON TransactionSubmitted Source # 
Instance details

Defined in Hydra.API.HTTPServer

ToJSON TransactionSubmitted Source # 
Instance details

Defined in Hydra.API.HTTPServer

Generic TransactionSubmitted Source # 
Instance details

Defined in Hydra.API.HTTPServer

Associated Types

type Rep TransactionSubmitted :: Type -> Type Source #

Show TransactionSubmitted Source # 
Instance details

Defined in Hydra.API.HTTPServer

Eq TransactionSubmitted Source # 
Instance details

Defined in Hydra.API.HTTPServer

type Rep TransactionSubmitted Source # 
Instance details

Defined in Hydra.API.HTTPServer

type Rep TransactionSubmitted = D1 ('MetaData "TransactionSubmitted" "Hydra.API.HTTPServer" "hydra-node-0.16.0-C0XGScKIquG5I6dPp21445" 'False) (C1 ('MetaCons "TransactionSubmitted" 'PrefixI 'False) (U1 :: Type -> Type))

httpApp Source #

Arguments

:: Tracer IO APIServerLog 
-> Chain tx IO 
-> PParams LedgerEra 
-> STM IO (Maybe HeadId)

A means to get the HeadId if initializing the Head.

-> Application 

Hydra HTTP server

Handlers

handleDraftCommitUtxo Source #

Arguments

:: Chain tx IO 
-> STM IO (Maybe HeadId)

A means to get the HeadId if initializing the Head.

-> ByteString

Request body.

-> IO Response 

Handle request to obtain a draft commit tx.

Users can decide to commit a public key as well as script outputs.

Request body examples:

Expand
// Committing public key output

{
 "0406060506030602040508060506060306050406020207000508040704040203#89": {
    "address": "addr_test1vz66ue36465w2qq40005h2hadad6pnjht8mu6sgplsfj74q9pm4f4",
    "value": {
      "lovelace": 7620669
    }
}

// Committing a script output

{
 "6f066e0f6ba373c0ea7d8b47aefd7e14d1a781698cd052d0254afe65e039b083#0": {
  "address": "addr_test1wqv4z4hc0u5e2c3sppfdu8ckn82hfegpkjagsm4t8ttvlycg9mkca",
  "datum": null,
  "datumhash": "bb30a42c1e62f0afda5f0a4e8a562f7a13a24cea00ee81917b86b89e801314aa",
  "inlineDatum": null,
  "referenceScript": null,
  "value": {
    "lovelace": 1034400
  },
  "witness": {
    "datum": "02",
    "plutusV2Script": {
      "cborHex": "484701000022200101",
      "description": "",
      "type": PlutusScriptV2
    },
    "redeemer": "01"
  }
}

// Committing a script output using inline datum

{

"87a0c1e14be2cd8c385b6fe5a40b024b7201da9df375542029d91ccaba01ac82#0": {
    "address": "addr_test1wqv4z4hc0u5e2c3sppfdu8ckn82hfegpkjagsm4t8ttvlycg9mkca",
    "datum": null,
    "inlineDatum": {
      "int": 2
    },
    "inlineDatumhash": "bb30a42c1e62f0afda5f0a4e8a562f7a13a24cea00ee81917b86b89e801314aa",
    "referenceScript": null,
    "value": {
      "lovelace": 905100
    },
    "witness": {
      "datum": null,
      "plutusV2Script": {
        "cborHex": "484701000022200101",
        "description": "",
        "type": PlutusScriptV2
      },
      "redeemer": "01"
    }
  }
  

handleSubmitUserTx Source #

Arguments

:: Chain tx IO 
-> ByteString

Request body.

-> IO Response 

Handle request to submit a cardano transaction.

return400 :: IsChainState tx => PostTxError tx -> Response Source #