refactor(codegen): support class-level CborIndefinite attribute#18
Open
rjlacanlaled wants to merge 157 commits into
Open
refactor(codegen): support class-level CborIndefinite attribute#18rjlacanlaled wants to merge 157 commits into
CborIndefinite attribute#18rjlacanlaled wants to merge 157 commits into
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>
* feat(cbor): add transaction cbor types * refactor: remove unnecessary blank line
* feat: tx template builder initial design * feat: implement low level transaction builder * feat: enhance TransactionBuilder with additional methods and nullable properties * feat: layer 1 basic transaction implementation * feat: initial smart contract tx building implementation * feat: implement support for smart contract transaction building * feat: tx templates initial implementation * feat: add withdrawal support * feat: tx template builder initial design * feat: implement low level transaction builder * feat: enhance TransactionBuilder with additional methods and nullable properties * feat: layer 1 basic transaction implementation * feat: initial smart contract tx building implementation * feat: implement support for smart contract transaction building * feat: tx templates initial implementation * feat: add withdrawal support * feat: enhance transaction template builder with association tracking and redeemer generator * feat: support input and output indexing * refactor: template builder cleanup * refactor: update using directives to new Cardano core types * refactor: update using directives to align with new Cardano core types * feat(wallet): implement initial Chrysalis wallet address functionality (#149) * feat: add default transaction body and witness set utilities; refactor input options and transaction output extensions * fix: rename RedeemerMap property to Redeemer for consistency in InputOptions and UnlockParameters * refactor(wallet): cleanup utils and address namespace (#151) * refactor(wallet): cleanup extensions and namespace (#152) * fix(wallet): incorrect child key derivation (#153) * Refactor/cleanup class extensions (#154) * refactor: remove unused interfaces and enums; introduce ITransactionParameters * refactor: remove TransactionTemplateContext class and clean up code * refactor: remove cbor related commits * refactor: remove hardcoded mnemonic seed * refactor: remove unnecessary imports * refactor: clean up transaction template builder --------- Co-authored-by: Wendell Mor Tamayo <107296776+WendellMorTamayo@users.noreply.github.com>
* feat(cbor): extension functions implementation * feat(cbor): implemented redeemer extension function for transaction input * feat(cbor): simplified maybeIndefList structure * feat(cbor): changed namespace and restructured cborMaybeIndefList extensions * feat(cbor): namespace cleanup for governance and added hash extension function for txBody * feat(cbor): removed transaction extension * feat(cbor): namespace restructure and new logic for tx body hash extension function
* feat(wallet): add Blake2b hashing utility and enhance address handling * fix(address): correct formatting in Address constructor and improve readability in PublicKey equality check * feat(address): enhance Address class with additional factory methods and improve code readability * refactor(address): rename methods for clarity and improve code readability * refactor(hash): remove unused HashUtil class to streamline codebase
…innet handshake (#163)
…cbor extensions (#161) * refactor(tx): integrate chrysalis cbor extensions * refactor(tx): use chrysalis cbor maybe indef list extension * fix(tx): simplify input and output list initialization in TransactionBuilder * feat(tx): enhance redeemer builder functionality * refactor: rename redeemer factory variables and update mint index handling * refactor: update cost model type to def list and add cbor indef attribute to cbor indef list * refactor: clear mnemonic words initialization
…168) * feat(tx): implement enhanced coin selection logic * refactor(tx): rename asset extraction methods for clarity * refactor(tx): simplify loop structure in coin selection utility * feat(tx): implement automatic return of unused mints and specified inputs * refactor(tx): remove default initialization of LovelaceChange in CoinSelectionResult * refactor(tx): optimize policy and token comparison logic in transaction builders
* feat(tx): implement ouroboros provider and integrate submit tx functionality * refactor(network): remove unused GetCurrentEraAsync method from LocalStateQueryExtension * feat(cbor): add native script and exact value types with validators draft * feat: add support for cbor encoded script type * refactor(transaction): update output building logic and remove unused extension * chore: remove commented out code * refactor(script): change NativeScript base class to Script and remove unused NativeScriptWrapper * chore: code clean up * feat: update NodeClient to use asynchronous start and add network magic parameter to Ouroboros provider * refactor(script): update NativeScript inheritance and enhance script handling in transaction builder * refactor: replace ConwayProtocolParamUpdate with ProtocolParams and clean up unused code * refactor(script): rename NativeScriptWrapper to MultiSigScript for clarity * refactor: remove null-conditional operators
* fix: remove unnecessary --no-build flag from dotnet pack command * fix: update project references and clean up project files
* chore: bump version to 0.7.1 * chore: bump version to 0.7.1
…ation key bytes (#178)
* feat(tx): set valid from tx building implementation * chore(tx): remove default initialization for ulong validFrom * feat(tx): setValidTo() tx building implementation
…inputs mapping (#185) * feat(tx): implement separate reference input handling * feat(tx): update smart contract transaction detection logic
* fix(tx): handle incorrect coin selection for minted assets * fix(tx): handle fee calculation for multiple scripts * fix: correct variable name for script list
* refactor: simplify datum handling * chore: set initial datum to null * fix: correct formatting in BuildRedeemers and outputOptions initialization
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.