[ ] Perform minimal-but-useful ledger validation beforehand. See #6.
Scope/Acceptance Criteria
Transaction submission shall happen over node-to-node protocols on the companion node. This means we won't get feedback from invalid transaction. Thus we won't be able to report useful feedback to users unless we perform some validations ourselves.
Only error codes are in-scope. Messages and overall details structure is up-to the implementation but mostly following what's already provided in Ogmios (which is derived from the Haskell's node).
"Quality of life" improvements are only in-scope for the gRPC API. We will provide Ouroboros mini-protocols as a compatibility layer but will not implement many improvements over the Haskell equivalent.
Users should have ways of asserting whether a submitted transaction has been accepted or needs re-submission.
Tasks
[ ] Provide an additional API (webhook?) to notify users about the state of their submitted transactions
[ ] Extend utxoRPC with standardized error code & ensure implementation follows.
[ ] Establish a test strategy for the transaction submission pipeline in Dolos
[ ] Perform minimal-but-useful ledger validation beforehand. See #6.
Scope/Acceptance Criteria
Transaction submission shall happen over node-to-node protocols on the companion node. This means we won't get feedback from invalid transaction. Thus we won't be able to report useful feedback to users unless we perform some validations ourselves.
Return standardized error codes following Ogmios.
"Quality of life" improvements are only in-scope for the gRPC API. We will provide Ouroboros mini-protocols as a compatibility layer but will not implement many improvements over the Haskell equivalent.
Users should have ways of asserting whether a submitted transaction has been accepted or needs re-submission.