mithril
mithril copied to clipboard
Handle unparsed blocks in Cardano transactions parser
Why
A parsing error occurred when we released the new pallas-hardano
base transaction parser apparently on some previous versions of the Conway era blocks which is not supported in the latest version of pallas-hardano
.
This creates errors stack trace like this in the aggregator:
0: AggregatorRunner can not compute protocol message for signed_entity_type: 'CardanoTransactions'
1: Runner can not compute protocol message for signed entity type: 'CardanoTransactions'
2: Signable builder service can not compute protocol message with beacon: 'Beacon (network: sanchonet, epoch: 272, immutable_file_number: 5447)'
3: CardanoTransactionParser could read blocks from immutable file: '/db/immutable/04831.chunk'.
4: Error while decoding block in immutable file: '\"/db/immutable/04831.chunk\"'
5: Invalid CBOR structure: decode error: unknown data type of maybe indef array\n\nStack backtrace:\
What
The Cardano transaction parser allows such errors on the test networks (e.g. based on configuration parameters) and log them, and return an error on mainnet
.
How
- [x] Add a parameter to the Cardano transaction parser to allow unparsed blocks (write error log instead of returning error)
- [ ] Compute the default value of allowing unparsed blocks depending on the network (activated only in Sanchonet at fist)
- [ ] Force the allowing unparsed blocks to false in
mainnet
andpreprod
- [ ] Print warn message when allowing unparsed blocks is activated
- [ ] Add configuration parameter to the aggregator for allowing unparsed blocks in Cardano transaction parser
- [ ] Add configuration parameter to the signer for allowing unparsed blocks in Cardano transaction parser
- [ ] Adapt infrastructure to support this new option
- [ ] Adapt GitHub Actions workflow (CI and test deployment network)
- [ ] Update documentation