This package has a new API for defining "contracts": bundled applications that
interact with a wallet smart contract backend. This is in many ways the
"successor" to much of plutus-wallet-api
, and should eventually
replace much of it.
Noteworthy modules:
-
Contract
: Exports theContract
type which encodes the client (off-chain) part of Plutus contracts, including blockchain queries, user-facing endpoints, and the ability to submit transactions to the ledger -
Contract.StateMachine
: State machine client library, building on theContract
type and on the (mostly) on-chain code inPlutusTx.StateMachine
-
Contract.Trace
: TheContractTrace
type for describing sequences of emulator actions that can be used in the Playgound and in unit tests. -
Contract.App
: Exposes a wrapper to turnContract
values into standalone executables, to be consumed by the SCB
It also defines the chain emulator, which is used for tests.