cardano-open-oracle-protocol icon indicating copy to clipboard operation
cardano-open-oracle-protocol copied to clipboard

Transaction building migration

Open bladyjoker opened this issue 1 year ago • 1 comments

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).

bladyjoker avatar Nov 27 '23 16:11 bladyjoker