feat: send receipts to firefly in batches #23
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Context
FireFly Core is adding support for "resilient receipts"; it will expect the connector to include operation status updates in a batch of messages, and for the connector to resend that batch if it isn't acked.
Update the Cardano connector to support this.
Important Changes Introduced
last_operation_id
field, which is a high-water-mark for operation updates seen by the consumer. Any operation updates which have happened after a stream'slast_operation_id
are included in its next batch of messages. The checkpoint'slast_operation_id
is only updated on ack.This PR also fixes the docker compose setup for running against a local cardano node; it was flaky before, would only properly set the node up half the time.