KtorZ
821f7bd8c7
Fix ToPlutusData serializer for V3
...
This is intense, as we still want to preserve the serializer for V1 &
V2, and I've tried as much as possible to avoid polluting the
application layer with many enum types such as:
```
pub enum TxOut {
V1(TransactionOutput),
V2(TransactionOutput),
V3(TransactionOutput),
}
```
Those types make working with the script context cumbersome, and are
only truly required to provide different serialisation strategies. So
instead, we keep one top-level `TxInfo V1/V2/V3` type, and we ensure
to pass serialization strategies as type wrappers.
This way, the strategy propagates through the structure up until it's
eliminated when it reaches the relevant types.
All-in-all, this strikes a correct balance between maintainability and
repetition; and it makes it possible to define _different but mostly
identical_ encoders for the various versions.
With it, I've been able to successfully encode a V3 script context and
match it against one produced using the Haskell libraries. More to
come.
2024-08-13 10:55:23 +02:00
..
2024-01-20 10:44:16 +01:00
2023-09-13 18:17:40 -04:00
2024-01-20 10:44:16 +01:00
2024-01-20 10:44:16 +01:00
2023-09-13 18:17:40 -04:00
2024-08-08 00:39:44 -04:00
2024-01-20 10:44:16 +01:00
2023-09-13 18:17:40 -04:00
2023-09-13 18:17:40 -04:00
2024-01-20 10:44:16 +01:00
2023-09-13 18:17:40 -04:00
2023-09-13 18:17:40 -04:00
2024-01-20 10:44:16 +01:00
2023-09-13 18:17:40 -04:00
2023-09-13 18:17:40 -04:00
2024-01-20 10:44:16 +01:00
2023-09-13 18:17:40 -04:00
2024-01-20 10:44:16 +01:00
2024-01-20 10:44:16 +01:00
2024-01-20 10:44:16 +01:00
2023-09-13 18:17:40 -04:00
2024-01-20 10:44:16 +01:00
2023-09-13 18:17:40 -04:00
2024-01-20 10:44:16 +01:00
2023-09-13 18:17:40 -04:00
2024-01-20 10:44:16 +01:00
2023-09-13 18:17:40 -04:00
2023-09-13 18:17:40 -04:00
2024-01-20 10:44:16 +01:00
2023-09-13 18:17:40 -04:00
2023-09-13 18:17:40 -04:00
2023-09-13 18:17:40 -04:00
2024-01-20 10:44:16 +01:00
2024-01-20 10:44:16 +01:00
2024-01-20 10:44:16 +01:00
2024-08-08 19:36:16 -04:00
2023-09-13 18:17:40 -04:00
2024-01-20 10:44:16 +01:00
2023-09-13 18:17:40 -04:00
2024-03-09 20:44:51 +01:00
2023-09-13 18:17:40 -04:00
2023-09-13 18:17:40 -04:00
2023-09-13 18:17:40 -04:00
2024-01-20 10:44:16 +01:00
2024-01-20 10:44:16 +01:00
2024-01-20 10:44:16 +01:00
2024-08-08 19:36:16 -04:00
2024-01-20 10:44:16 +01:00
2024-01-20 10:44:16 +01:00
2023-09-13 18:17:40 -04:00
2024-01-20 10:44:16 +01:00
2024-01-20 10:44:16 +01:00
2024-08-08 19:36:16 -04:00
2024-08-08 19:36:16 -04:00
2024-01-20 10:44:16 +01:00
2024-01-20 10:44:16 +01:00
2024-01-20 10:44:16 +01:00
2024-01-20 10:44:16 +01:00
2024-01-20 10:44:16 +01:00
2024-08-08 19:36:16 -04:00
2023-09-13 18:17:40 -04:00
2024-08-08 19:36:16 -04:00
2024-05-04 14:04:12 -04:00
2023-09-13 18:17:40 -04:00
2023-09-25 21:16:19 -04:00
2024-08-08 19:36:16 -04:00
2024-08-08 19:36:16 -04:00
2024-08-08 19:36:16 -04:00
2024-08-08 19:36:16 -04:00
2024-08-08 19:36:16 -04:00
2024-08-08 19:36:16 -04:00
2024-08-08 19:36:16 -04:00
2024-08-08 19:36:16 -04:00
2024-05-06 15:17:01 -04:00
2024-01-20 10:44:16 +01:00
2024-08-08 19:36:16 -04:00
2024-08-02 00:16:27 -04:00
2024-08-08 19:36:16 -04:00
2023-09-13 18:17:40 -04:00
2023-09-13 18:17:40 -04:00
2024-08-08 19:36:16 -04:00
2024-08-08 19:36:16 -04:00
2024-08-08 19:36:16 -04:00
2024-02-13 21:29:46 -05:00
2024-08-08 19:36:16 -04:00
2024-08-08 19:36:16 -04:00
2024-08-08 19:36:16 -04:00
2024-08-08 19:36:16 -04:00
2024-08-08 19:36:16 -04:00
2024-01-20 10:38:40 +01:00
2024-01-20 10:38:40 +01:00
2024-03-04 10:52:56 -05:00
2024-02-25 14:09:56 -05:00
2024-03-04 11:48:22 -05:00
2024-08-08 19:36:16 -04:00
2024-03-08 12:25:26 -05:00
2024-03-09 20:44:51 +01:00
2024-08-08 19:36:16 -04:00
2024-05-06 15:17:01 -04:00
2024-08-08 19:36:16 -04:00
2024-08-08 19:36:16 -04:00
2024-05-21 11:56:12 -04:00
2024-08-08 19:36:16 -04:00
2024-08-08 00:39:44 -04:00
2024-08-08 00:39:44 -04:00
2024-08-08 14:52:19 -04:00
2024-08-13 10:55:23 +02:00
2022-12-21 14:39:46 -05:00
2024-08-13 10:55:21 +02:00
2024-07-16 17:41:14 +02:00
2023-02-09 00:57:14 -05:00
2024-07-16 17:41:14 +02:00
2024-08-13 10:55:21 +02:00
2024-08-13 10:55:23 +02:00