|
1 | 1 | # @evolution-sdk/evolution |
2 | 2 |
|
| 3 | +## 0.3.4 |
| 4 | + |
| 5 | +### Patch Changes |
| 6 | + |
| 7 | +- [#101](https://github.com/IntersectMBO/evolution-sdk/pull/101) [`aaf0882`](https://github.com/IntersectMBO/evolution-sdk/commit/aaf0882e280fad9769410a81419ebf1c6af48785) Thanks [@solidsnakedev](https://github.com/solidsnakedev)! - ### Core Module Enhancements |
| 8 | + |
| 9 | + **Mint Module** |
| 10 | + - Added `Mint.getByHex()` and `Mint.getAssetsByPolicyHex()` utilities for hex-based lookups |
| 11 | + - Fixed `Mint.insert`, `removePolicy`, `removeAsset`, and `get` to use content-based equality (`Equal.equals`) instead of reference equality for PolicyId/AssetName lookups |
| 12 | + |
| 13 | + **Fee Calculation** |
| 14 | + - Fixed `calculateFeeIteratively` to include mint field in fee calculation via TxContext access |
| 15 | + - Removed unnecessary 5000n fee buffer that caused fee overpayment |
| 16 | + |
| 17 | + **Transaction Builder** |
| 18 | + - Added `.mint()` method to TransactionBuilder for native token minting/burning |
| 19 | + - `.attachScript()` now accepts `{ script: CoreScript }` parameter format |
| 20 | + - Improved type safety by using Core types directly instead of SDK wrappers |
| 21 | + |
| 22 | + ### Devnet Package |
| 23 | + |
| 24 | + **Test Infrastructure** |
| 25 | + - Added `TxBuilder.Mint.test.ts` with devnet submit tests for minting and burning |
| 26 | + - Updated `TxBuilder.Scripts.test.ts` to use Core types (`PlutusV2.PlutusV2`) instead of SDK format |
| 27 | + - Refactored `createCoreTestUtxo` helper to accept Core `Script` types directly |
| 28 | + - Removed unused `createTestUtxo` (SDK format) helper |
| 29 | + - Added `Genesis.calculateUtxosFromConfig()` for retrieving initial UTxOs from genesis config |
| 30 | + - Replaced all `Buffer.from().toString("hex")` with `Text.toHex()` in tests |
| 31 | + |
| 32 | + ### Breaking Changes |
| 33 | + - `attachScript()` now requires `{ script: ... }` object format instead of passing script directly |
| 34 | + - Test helpers now use Core types exclusively |
| 35 | + |
| 36 | +- [#103](https://github.com/IntersectMBO/evolution-sdk/pull/103) [`65b7259`](https://github.com/IntersectMBO/evolution-sdk/commit/65b7259b8b250b87d5420bca6458a5e862ba9406) Thanks [@solidsnakedev](https://github.com/solidsnakedev)! - ### Remove Buffer Usage from Source Code |
| 37 | + |
| 38 | + Replaced all `Buffer.from()` usage with `Bytes.fromHex()` and `Bytes.toHex()` from the core module for better cross-platform compatibility. |
| 39 | + |
| 40 | + **Files Updated:** |
| 41 | + - `TxBuilderImpl.ts` - Use `Bytes.toHex()` for key hash hex conversion in `buildFakeWitnessSet` |
| 42 | + - `Assets/index.ts` - Use `Bytes.fromHex()` for policy ID and asset name decoding |
| 43 | + - `MaestroEffect.ts` - Use `Bytes.fromHex()` for transaction CBOR conversion |
| 44 | + - `Ogmios.ts` - Use `Bytes.toHex()` for datum hash hex conversion |
| 45 | + - `KupmiosEffects.ts` - Use `Bytes.fromHex()` for datum hash and script bytes decoding |
| 46 | + |
| 47 | +- [#104](https://github.com/IntersectMBO/evolution-sdk/pull/104) [`c26391a`](https://github.com/IntersectMBO/evolution-sdk/commit/c26391a3783a5dca95b2ab1b2af95c98c62e4966) Thanks [@solidsnakedev](https://github.com/solidsnakedev)! - ### PlutusV3 Minting Support |
| 48 | + - Add PlutusV3 script minting with automatic script evaluation via Ogmios |
| 49 | + - Add `mintAssets` builder method for Plutus script-based minting policies |
| 50 | + - Add `attachScript` builder method for attaching Plutus scripts to transactions |
| 51 | + - Support both minting (positive amounts) and burning (negative amounts) |
| 52 | + |
| 53 | + ### Redeemer API Improvements |
| 54 | + - **Breaking**: Change `redeemer` parameter type from `string` (CBOR hex) to `Data.Data` |
| 55 | + - Affects `collectFrom()` and `mintAssets()` builder methods |
| 56 | + - Provides type-safe redeemer construction without manual CBOR encoding |
| 57 | + - Example: `redeemer: Data.constr(0n, [Data.int(1n)])` instead of hex strings |
| 58 | + |
| 59 | + ### Core Module Additions |
| 60 | + - Add `Redeemers` module with Conway CDDL-compliant encoding (array format) |
| 61 | + - Refactor `hashScriptData` to use proper module encoders for redeemers and datums |
| 62 | + - Add `Redeemers.toCBORBytes()` for script data hash computation |
| 63 | + |
| 64 | + ### Internal Improvements |
| 65 | + - Store `PlutusData.Data` directly in builder state instead of CBOR hex strings |
| 66 | + - Remove redundant CBOR hex encoding/decoding in transaction assembly |
| 67 | + - Add PlutusV3 minting devnet tests with real script evaluation |
| 68 | + |
3 | 69 | ## 0.3.3 |
4 | 70 |
|
5 | 71 | ### Patch Changes |
|
0 commit comments