New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Mesh lower level APIs #168
Merged
Merged
Conversation
This file contains 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
abdelkrimdev
force-pushed
the
feature/mesh-tx-builder
branch
from
November 16, 2023 16:11
80f701f
to
df6c721
Compare
abdelkrimdev
approved these changes
Nov 16, 2023
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.
This PR contains the critical feature updates of introducing the lower level transaction building APIs
MeshTxBuilder
, which implements according to the design ofcardano-cli
. Methods are named with the correspondingcardano-cli
APIs in camel case. Currently it supports version 2 plutus script unlocking and minting, and it could be chained to a nested transaction with multiple smart contract interactions.Key Features
MeshTxBuilder
MeshTxBuilder
is an user-facing entrance for such APIs, where it could be passed infetcher
for easier tx building (without supplying value, address or ref scripts info likecardano-cli
)submitter
for transaction submission (it could be browser wallet instance or provider instance)evaluator
for calculating redeemer exUnits neededisHydra
for setting default protocol fee to 0.The transaction building completes with
.complete()
to finishing the building process with querying performed also.MeshTxBuilderCore
MeshTxBuilderCore
contains all serialization APIs mapping to the existingcardano-cli
APIs if possible. It is synchronous in nature and without external dependencies exceptcardano-serialization-lib
. All methods could be used on a standalone basis.The transaction building could be completed with
.completeSync()
to finishing the building process without querying blockchain also.Other Fixes / Updates
IFetcher
fetchUTxOs
method for tx building processBlockfrostProvider
,MaestroProvider
&KoiosProvider
fetchUTxOs
implementationUTxO
interfacescriptHash?: string;
flag for processing reference script transaction.TODO
Related Issues
#20 , #100