This library contains wrappers over autogenerated bindings for CSL and some types adapted from cardano-api and cardano-wallet. It is primarily used in cardano-transaction-lib.
This library presents Transaction and all its structural components as PureScript algebraic data types.
- Trivial types are implemented as
newtypes over CSL (we use a vendored version for both nodejs & the browser, with GC added). - Variant types are implemented as ADTs
- Records-like types are implemented as newtypes over PureScript records.
Here's what is included:
EncodeAeson/DecodeAesoninstances - no compatibility with CSL is maintained, because JSON encoders in CSL are partialAsCborinstances for types that are representable as binaryShow,Eq,Ord,Genericinstances where they make senseToMetadata/FromMetadataandToData/FromDatatypeclasses and some instances- Some pretty-printing functions that render a
TagSetfrommonad-logger. fromCsl/toCslfunctions that lift values between CSL and purescript domains (only for types ported from CSL)
AssetAssetClassPaymentPubKeyHashUtxoMap
Semigroupinstances forValue,ExUnitsandMintare unlawful (they unsafely throw on numeric overflows)- No
TransactionBuilder- for a framework to build transactions, seecardano-transaction-lib - No
Block,BlockHeader- these are not needed for an in-browser dApp. - Recursion max-depth issues (JavaScript...)