feat(cbor): cbor serializer source generation #16
Open
rjlacanlaled wants to merge 164 commits into
Open
Conversation
* 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
* 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>
… step and bump version to 0.1.3 (#11)
* 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
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
No description provided.