Releases: bloxbean/cardano-client-lib
0.7.0-beta4
What's Changed
- Fix: Native script parsing issue when indefinite-length array is used. by @satran004 in #504
Full Changelog: v0.7.0-beta3...v0.7.0-beta4
0.6.6
0.7.0-beta3
What's Changed
- Update edsa lib dependency to bloxbean fork by @satran004 in #496
- fix: #498 Use dummy key and signature for additional signers instead of generating new dummy accounts by @satran004 in #499
- [FIX] Fixed Value subtractions with extra assets or multi assets in second operand by @nemo83 in #500
Full Changelog: v0.7.0-beta2...v0.7.0-beta3
0.6.4
What's Changed
- Update edsa lib dependency to bloxbean fork by @satran004 in #495
Full Changelog: v0.6.3...v0.6.4
0.7.0-beta2
What's Changed
- #482 Generate Account/Wallet from root prv key by @satran004 in #486
- Enhance UtxoSelectionStrategy for HDWallet by @satran004 in #487
- Wallet as fee payer / collateral payer in ScriptTx + UtxoSelectionStrategy interface change to handle multiple addresses by @satran004 in #491
- Utility methods to convert CIP129 DRepId, cc ids + Fix Ogmios Tx Evaluator and Epoch Params by @satran004 in #493
- Make addWitnessToTransaction method public by @satran004 in #494
Full Changelog: v0.7.0-beta1...v0.7.0-beta2
0.7.0-beta1
Key Highlights
-
New Wallet API (Preview)
A wrapper around the existingAccount
API that provides the capability to scan multiple addresses under the same wallet for UTxOs. It also keeps track of the derivation path to find the correct signer based on UTxO selection and it's compatible withQuickTx
api.Examples: For examples, please check these integration tests
Note: This API is in preview. It should not be used in production yet.
-
[CIP 129] Gov Identifiers Implementation
Implementation of the CIP 129 standard for governance identifiers. -
New
completeAndWaitAsync
methods in the QuickTx API
These methods return aCompletableFuture
to enable asynchronous waiting, instead of the current blocking implementation:CompletableFuture<TxResult> completeAndWaitAsync() CompletableFuture<TxResult> completeAndWaitAsync(Consumer<String> logConsumer) CompletableFuture<TxResult> completeAndWaitAsync(Consumer<String> logConsumer, Executor executor) CompletableFuture<TxResult> completeAndWaitAsync(Duration checkInterval, Consumer<String> logConsumer) CompletableFuture<TxResult> completeAndWaitAsync(Duration checkInterval, Consumer<String> logConsumer, Executor executor)
-
Refactoring of Value class : To include new utility methods.
add
,subtract
(#457) -
New methods in MetadataBuillder : To simplify the creation of different types of metadata (#467)
Breaking Change
TxSigner.sign
method signature update:
TheTxSigner.sign
method now requires aTxBuilderContext
parameter. If you build a transaction first and then sign it with aTxSigner
, you must include theTxBuilderContext
as part of the signing process.
Existing Code:
TxSigner signer = SignerProviders.signerFrom(sender);
Transaction transaction = TxBuilderContext.init(utxoSupplier, protocolParamsSupplier)
.build(builder);
Transaction signedTxn = signer.sign(transaction);
New Code :
TxSigner signer = SignerProviders.signerFrom(sender);
var txContext = TxBuilderContext.init(utxoSupplier, protocolParamsSupplier);
Transaction transaction = txContext
.build(builder);
Transaction signedTxn = signer.sign(txContext, transaction);
What's Changed
- #466 Convert JSON object to CBORMetadataMap and JSON Array to CBORMetadataList / New methods in MetadataBuilder by @satran004 in #467
- chore: renamed plus and minus to add and subtract, added utility methods by @nemo83 in #457
- 213 provide hd wallet implementation by @Kammerlo in #363
- #469 CIP 129 Gov Id implemenations by @satran004 in #472
- Koios/Ogmios - IndexOutofBound exception for PlutusV3 cost models by @satran004 in #475
- #446 Support for CompletableFuture in QuickTxBuilder by @satran004 in #476
- Update intro.md by @juv in #478
New Contributors
Full Changelog: v0.6.2...v0.7.0-beta1
0.6.3
What's Changed
- Fix #473 Koios/Ogmios - IndexOutofBound exception for PlutusV3 cost models by @satran004 in #474
Full Changelog: v0.6.2...v0.6.3
0.6.2
What's Changed
- Switch to LinkedHashMap to keep the same iteration order during deserialization by @satran004 in #449
- Handle NativeScript as ScriptRef by @satran004 in #460
- Support BigInteger for "required" in ScriptAtLeast and change slot from long to BigInteger by @satran004 in #462
- feat: support for CIP-30 payload hash with an extra overloaded methods by @matiwinnetou in #464
- Add support for Optional types in blueprint processing by @satran004 in #463
Full Changelog: v0.6.0...v0.6.2
0.6.0
This is the first stable release for the Conway Era. For all the changes since 0.5.1, please also refer to the 0.6.0-beta1 release notes.
Key Changes in This Release
- Fixed script data hash issues for Plutus V3 caused by Conway era serialization changes.
- Updated serialization code to provide era-specific serialization based on application requirements.
- Koios Java Client v1.19.0 and other fixes for the Conway era.
- Fixed Ogmios backend's Epoch service to return the Plutus V3 cost model.
- Blueprint annotation processor fixes.
Known Limitations and Workaround
When a transaction containing a Plutus V1 script or a script with a datum hash in the output is serialized using the Conway era format (Map for redeemer, 258 tag for set), a script data hash mismatch error occurs.
To resolve this, the library automatically uses the Babbage era serialization format if it detects a Plutus V1 script in the transaction, which should cover most cases automatically.
However, there are a few scenarios where the library doesn't enforce the Babbage era serialization format. One such scenario is a script transaction with a datum hash in the output (instead of an inline datum).
To address this, the library introduces a new method that applications can use to specify the serialization format. The default format is the Conway era format.
For QuickTx, there is a new withSerializationEra
method that takes an era parameter:
Result<String> result = quickTxBuilder.compose(scriptTx)
.feePayer(sender1Addr)
....
.withSerializationEra(Era.Babbage)
.completeAndWait(System.out::println);
For Composable Functions:
Transaction signedTxn = TxBuilderContext.init(utxoSupplier, protocolParams)
.withSerializationEra(Era.Babbage)
.buildAndSign(builder, signer);
For Low-Level Serialization APIs, you can directly set the serialization era in the Transaction
object:
transaction.setEra(Era.Babbage);
What's Changed
- Koios Java Client alignment with v1.19.0 by @edridudi in #421
- [Koios]
minFeeRefScriptCostPerByte
is missing in Koios backend #425 by @edridudi in #427 - chore: Update default cost model during Conway HF by @satran004 in #418
- Introduced
SlotConfigs
for Transaction Evaluators by @nemo83 in #431 - fix: Handle null or empty
scriptHash
ingetScript
method by @satran004 in #434 - [Annotation Processor] Set default int type to
BigInteger
by @satran004 in #433 - Add Plutus V3 cost model handling by @satran004 in #438
- Fixed package in integration tests by @satran004 in #439
- Add era-specific serialization support for transactions by @satran004 in #441
Full Changelog: v0.6.0-beta1...v0.6.0
0.6.0-beta1
Key Changes
Conway Era features
- Added support for Conway Era transactions and integration with QuickTx.
- Implemented Plutus V3 support.
- CIP-105 implementation: Conway Era key chains for HD Wallet.
- Implemented tiered reference script fees in the Conway Era.
Other Updates
- CIP-57: Preview of Plutus Blueprint code generation.
- Updated Koios Java Client to v1.18.2, including a new Pool Service endpoint.
What's Changed
- fix: blockHeight, absoluteSlot and blockTime should actually be withi… by @matiwinnetou in #377
- chore: Add PointerAddress class to decode a pointer address by @satran004 in #379
- fix: #388 Added policy hash by @satran004 in #393
- feat: Added conway era protocol params by @satran004 in #381
- Koios Java Client Alignment with v1.18.2 + Add Pool Service Endpoint by @edridudi in #395
- New Koios + BF Support for resolving Transactions Data by Payment/Staking Addresses by @edridudi in #396
- chore: update Koios backend example in README.md by @fabianbormann in #400
- chore: updated bouncycastle and jackson to fix security issues. by @Kammerlo in #403
- feat: #378 Initial implementation to support PlutusV3 by @satran004 in #382
- chore: Remove protocol param direct dependency in Tx, ScriptTx apis. … by @satran004 in #406
- 369 generate pojos for annoation processor from cip57 plutusblueprints by @Kammerlo in #376
- fix: Handle serialization and deserialization of bigint/bytestring when length > 64 by @satran004 in #398
- Plutus Blueprint annotation processor enhancements by @satran004 in #410
- Blueprint Code generation enhancements by @satran004 in #412
- feat: #368 CIP105 - Governance keys derivation and bech32 encoding by @satran004 in #413
- feat: #411 tier ref script fee implementation for Conway era by @satran004 in #414
- donateToTreasury(currentTreasuryVal, donationAmt) api in QuickTx by @satran004 in #415
New Contributors
- @fabianbormann made their first contribution in #400
Full Changelog: v0.5.1...v0.6.0-beta1