cardano-open-oracle-protocol
cardano-open-oracle-protocol copied to clipboard
Transaction building migration
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 https://github.com/geniusyield/atlas/issues/144
- However there's a patch implementing it at https://github.com/eddiemundo/atlas/commit/5d2dafa3d207dd41a4ac5111add3c626b2471857
- 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
).