Skip to content

feat(cbor): cbor serializer source generation #16

Open
rjlacanlaled wants to merge 164 commits into
0xAccretion:mainfrom
SAIB-Inc:feat/cbor-codegen
Open

feat(cbor): cbor serializer source generation #16
rjlacanlaled wants to merge 164 commits into
0xAccretion:mainfrom
SAIB-Inc:feat/cbor-codegen

Conversation

@rjlacanlaled

Copy link
Copy Markdown

No description provided.

WendellMorTamayo and others added 30 commits September 3, 2024 08:59
* chore: remove existing classes to start with a clean slate

* feat: add primitive types record

* feat: initial implementation of (de)serializer engine

* feat: add Primitive record types

* chore: move `.sln` file to root

* feat: add other types from the CDDL

* feat: initial CborSerializer engine implementation

* feat: create parameterized unit test

* chore: improve code and type quality

* feat: add util method for getting CborTag

* feat: cbor serializer now supports Union and Constructor types

* chore: add new datum records

* chore: add indefinite field for `CborSerializableAttribute`

* feat: add util methods for getting `Value` and getting `CborType`

* feat: add test for `Treasury`, `PosixTime` and `MultisigScript`

* feat: adjusted the CborSerializer engine to support other types

* refactor: move `SerializeRecordAsMap` method

* chore: add todo for serializing maps

* feat: implement definite and indefinite map types

* chore: remove todo comment from `SerializeMap`

* feat: implement indefinite and definite types to `SerializeRecordAsMap`

* fix: remove hardcoded cborType list from `DeserializeCbor`

* feat: add partial support for custom maps and list

* chore: comment off transaction output test
* chore: bump version to 0.1.0

* chore: Update dotnet test command in dotnet.yml workflow
* namespace restructure, CborEncodedValue implementation and DatumOption

* Datum Option Test

* chore: rename CborSerializableAttribute to use IsDefinite instead of IsIndefinite

* feat: implement `TransactionOutput` and add support both definite and indefinite lists

---------

Co-authored-by: windss <tamayowendell05@gmail.com>
* fix: MPF Fork uses Neighbor type instead of bytes

* chore: bump version to `0.1.5`
* Levvy datum types, plutus types and test cases

* Levvy token redeemer

* Update tokendatum test case

* added missing attributes

* moved output reference to plutus

---------

Co-authored-by: rjlacanlaled <rjlacanlaled@gmail.com>
* refactor: initial definition for block type

* fix: added a condition to handle types that have properties with type union in CborSerializer

* feat: added functions that support Text and RationalNumber types in CborSerializer

* refactor: added serialization test for transaction metadatum

* feat: added cbor type nullable

* feat: defined subtypes of transaction body types

* feat: added folders to have an organized folder structure

* feat: added plutus types

* chore: clean up

* chore: change types

* chore: modified basic definition types to match cddl

* fix: transaction metadatum stackoverflow, complete overhaul for CborType.Map (de)serialization

* fix: modified type definitions with CborMap

* fix: reverted back types with option<>

* implement concept of dynamic data constructors

* feat: added initial maybe indefinite list type

* add serialization support for MaybeIndefList

* fix: removed ebb definition

* temporarily disable tests

---------

Co-authored-by: Katteu <katheamari@gmail.com>
Co-authored-by: KeeeeEf <kfrgallego@gmail.com>
* fix: modified block definition

* fix: modified block definition

* introduce the concept of infinite constructors (102)

---------

Co-authored-by: Clark Alesna <clark_alesna@hotmail.com>
… era number tagging (#27)

* feat: added MultiEraBlock definition for block (de)serialization with era number tagging

* refactor: changed 'BlockData' label of Block type to 'Block'
* feat: added MultiEraBlock definition for block (de)serialization with era number tagging

* chore: bump version to 0.2.2
…or types (#29)

* refactor: modified transaction inputs and multi asset definition

* refactor: added union types to CborList

* bounded bytes support

* Transaction Body Change all List to MaybeIndefList

* removed useless null check

* fix: corrected logic in CborNullable serialization and deserialization functions

* refactor: modified type definitions for TransactionWitnessSet

* fix: modified deserialize function of type CborBytes and modified PlutusData type definition

* fix: modified incomplete Relay type definition

* fix: modified protocol param update, costmdl, and nonce type definitions

* fix: adjusted MetadatumInt definition to include either CborLong or CborUlong values

---------

Co-authored-by: Clark Alesna <clark_alesna@hotmail.com>
1. Added special handling for List<object> to byte[] conversion in constructor parameters
2. Improved ReadGenericValue to proactively detect and convert array items to byte[]
3. Added better type detection and conversion to avoid ArgumentException
@Mercurial Mercurial deleted the feat/cbor-codegen branch March 25, 2025 21:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants