This pull request adds usage scenarios that are relevant for centralized exchanges.
These usage scenarios
… use the stateful Haskell API presented in Cardano.Wallet.Deposit.IO.
… are described in literate Haskell — the module Test.Scenario.Wallet.Deposit.Exchanges is a markdown document.
… are executable. We can already execute some of them using a mock blockchain implementation. These scenarios are part of our unit test suite.
Comments
The future HTTP API is intended to mirror the Haskell API. The source of truth for that API is the stateful Haskell API in Cardano.Wallet.Deposit.IO.
These scenarios document usage patterns. They do not attempt to exhaustively test failure modes or corner cases — a full understanding of the program semantics can only be gained from the specification. The source of truth for the specification is the specification of the pure Haskell API Cardano.Wallet.Deposit.Pure, as stateful APIs currently elude specification in many aspects (state, exceptions, concurrency, networking, …).
For technical reasons, the file Exchanges.lhs is a symbolic link to Exchanges.lhs.md.
This pull request adds usage scenarios that are relevant for centralized exchanges.
These usage scenarios
Cardano.Wallet.Deposit.IO
.Test.Scenario.Wallet.Deposit.Exchanges
is a markdown document.Comments
Cardano.Wallet.Deposit.IO
.Cardano.Wallet.Deposit.Pure
, as stateful APIs currently elude specification in many aspects (state, exceptions, concurrency, networking, …).Exchanges.lhs
is a symbolic link toExchanges.lhs.md
.Issue Number
ADP-3335