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-08-02 00:16:27 -04:00
2024-08-13 10:55:23 +02:00
2023-02-07 13:16:17 +01:00
2024-08-13 10:55:23 +02:00
2024-05-01 22:10:47 -04:00
2024-05-31 09:48:14 +02:00

Aiken

A modern smart contract platform for Cardano

Licence Tests Twitter/X

Crates.io NPM


Getting Started

Hello, World!

Wanna get started right-away? Complete the Hello, World! tutorial!

Contributing

Want to contribute? See CONTRIBUTING.md to know how.

Changelog

Be on top of any updates using the CHANGELOG and the Project Tracking.

Stats

Alt

Note

The name comes from Howard Aiken, an American physicist and a pioneer in computing.

Description
No description provided
Readme 14 MiB
Languages
Rust 96.6%
JavaScript 1.1%
HTML 1%
CSS 0.9%
Shell 0.3%
Other 0.1%