Open
Description
https://github.com/mlabs-haskell/bot-plutus-interface is deprecated, and COOP needs to migrate to a different PAB solution.
Reproducing transaction building logic is not necessarily difficult, however, having a stable and robust test suite as we do currently have with Plutip might need more work.
Candidates:
- https://github.com/geniusyield/atlas emerged as the most modern and robust solution that’s being adopted throughout the Haskell community for backend based transaction building.
- Transaction metadata feature is missing Add a way to add transaction metadata geniusyield/atlas#144
- However there's a patch implementing it at eddiemundo/atlas@5d2dafa
- https://github.com/Plutonomicon/cardano-transaction-lib is a Purescript/Nodejs based tool that we can definitely leverage and has all the features we need.
Concretely, this work is about reworking the coop-pab
component in the repo. Transaction building is abstracted behind the TxBuilder gRPC service https://github.com/mlabs-haskell/cardano-open-oracle-protocol/blob/main/coop-proto/tx-builder-service.proto. This means switching implementations would not in theory affect its use sites (concretely coop-publisher
).