diff --git a/.changeset/nice-tips-learn.md b/.changeset/nice-tips-learn.md deleted file mode 100644 index ef48b0da..00000000 --- a/.changeset/nice-tips-learn.md +++ /dev/null @@ -1,33 +0,0 @@ ---- -"@evolution-sdk/devnet": patch -"@evolution-sdk/evolution": patch ---- - -### Core Module Enhancements - -**Mint Module** -- Added `Mint.getByHex()` and `Mint.getAssetsByPolicyHex()` utilities for hex-based lookups -- Fixed `Mint.insert`, `removePolicy`, `removeAsset`, and `get` to use content-based equality (`Equal.equals`) instead of reference equality for PolicyId/AssetName lookups - -**Fee Calculation** -- Fixed `calculateFeeIteratively` to include mint field in fee calculation via TxContext access -- Removed unnecessary 5000n fee buffer that caused fee overpayment - -**Transaction Builder** -- Added `.mint()` method to TransactionBuilder for native token minting/burning -- `.attachScript()` now accepts `{ script: CoreScript }` parameter format -- Improved type safety by using Core types directly instead of SDK wrappers - -### Devnet Package - -**Test Infrastructure** -- Added `TxBuilder.Mint.test.ts` with devnet submit tests for minting and burning -- Updated `TxBuilder.Scripts.test.ts` to use Core types (`PlutusV2.PlutusV2`) instead of SDK format -- Refactored `createCoreTestUtxo` helper to accept Core `Script` types directly -- Removed unused `createTestUtxo` (SDK format) helper -- Added `Genesis.calculateUtxosFromConfig()` for retrieving initial UTxOs from genesis config -- Replaced all `Buffer.from().toString("hex")` with `Text.toHex()` in tests - -### Breaking Changes -- `attachScript()` now requires `{ script: ... }` object format instead of passing script directly -- Test helpers now use Core types exclusively diff --git a/.changeset/remove-buffer-usage.md b/.changeset/remove-buffer-usage.md deleted file mode 100644 index d234a06f..00000000 --- a/.changeset/remove-buffer-usage.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -"@evolution-sdk/evolution": patch ---- - -### Remove Buffer Usage from Source Code - -Replaced all `Buffer.from()` usage with `Bytes.fromHex()` and `Bytes.toHex()` from the core module for better cross-platform compatibility. - -**Files Updated:** -- `TxBuilderImpl.ts` - Use `Bytes.toHex()` for key hash hex conversion in `buildFakeWitnessSet` -- `Assets/index.ts` - Use `Bytes.fromHex()` for policy ID and asset name decoding -- `MaestroEffect.ts` - Use `Bytes.fromHex()` for transaction CBOR conversion -- `Ogmios.ts` - Use `Bytes.toHex()` for datum hash hex conversion -- `KupmiosEffects.ts` - Use `Bytes.fromHex()` for datum hash and script bytes decoding diff --git a/.changeset/salty-files-return.md b/.changeset/salty-files-return.md deleted file mode 100644 index 7f9486fb..00000000 --- a/.changeset/salty-files-return.md +++ /dev/null @@ -1,30 +0,0 @@ ---- -"@evolution-sdk/devnet": patch -"@evolution-sdk/evolution": patch ---- - -### PlutusV3 Minting Support - -- Add PlutusV3 script minting with automatic script evaluation via Ogmios -- Add `mintAssets` builder method for Plutus script-based minting policies -- Add `attachScript` builder method for attaching Plutus scripts to transactions -- Support both minting (positive amounts) and burning (negative amounts) - -### Redeemer API Improvements - -- **Breaking**: Change `redeemer` parameter type from `string` (CBOR hex) to `Data.Data` - - Affects `collectFrom()` and `mintAssets()` builder methods - - Provides type-safe redeemer construction without manual CBOR encoding - - Example: `redeemer: Data.constr(0n, [Data.int(1n)])` instead of hex strings - -### Core Module Additions - -- Add `Redeemers` module with Conway CDDL-compliant encoding (array format) -- Refactor `hashScriptData` to use proper module encoders for redeemers and datums -- Add `Redeemers.toCBORBytes()` for script data hash computation - -### Internal Improvements - -- Store `PlutusData.Data` directly in builder state instead of CBOR hex strings -- Remove redundant CBOR hex encoding/decoding in transaction assembly -- Add PlutusV3 minting devnet tests with real script evaluation diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md index 0150d1a4..d631224a 100644 --- a/docs/CHANGELOG.md +++ b/docs/CHANGELOG.md @@ -1,5 +1,13 @@ # docs +## 0.0.11 + +### Patch Changes + +- Updated dependencies [[`aaf0882`](https://github.com/IntersectMBO/evolution-sdk/commit/aaf0882e280fad9769410a81419ebf1c6af48785), [`65b7259`](https://github.com/IntersectMBO/evolution-sdk/commit/65b7259b8b250b87d5420bca6458a5e862ba9406), [`c26391a`](https://github.com/IntersectMBO/evolution-sdk/commit/c26391a3783a5dca95b2ab1b2af95c98c62e4966)]: + - @evolution-sdk/devnet@1.1.4 + - @evolution-sdk/evolution@0.3.4 + ## 0.0.10 ### Patch Changes diff --git a/docs/package.json b/docs/package.json index 1649366f..0749b00f 100644 --- a/docs/package.json +++ b/docs/package.json @@ -1,6 +1,6 @@ { "name": "docs", - "version": "0.0.10", + "version": "0.0.11", "private": true, "type": "module", "scripts": { diff --git a/packages/evolution-devnet/CHANGELOG.md b/packages/evolution-devnet/CHANGELOG.md index 737e0495..4cec9713 100644 --- a/packages/evolution-devnet/CHANGELOG.md +++ b/packages/evolution-devnet/CHANGELOG.md @@ -1,5 +1,63 @@ # @evolution-sdk/devnet +## 1.1.4 + +### Patch Changes + +- [#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 + + **Mint Module** + - Added `Mint.getByHex()` and `Mint.getAssetsByPolicyHex()` utilities for hex-based lookups + - Fixed `Mint.insert`, `removePolicy`, `removeAsset`, and `get` to use content-based equality (`Equal.equals`) instead of reference equality for PolicyId/AssetName lookups + + **Fee Calculation** + - Fixed `calculateFeeIteratively` to include mint field in fee calculation via TxContext access + - Removed unnecessary 5000n fee buffer that caused fee overpayment + + **Transaction Builder** + - Added `.mint()` method to TransactionBuilder for native token minting/burning + - `.attachScript()` now accepts `{ script: CoreScript }` parameter format + - Improved type safety by using Core types directly instead of SDK wrappers + + ### Devnet Package + + **Test Infrastructure** + - Added `TxBuilder.Mint.test.ts` with devnet submit tests for minting and burning + - Updated `TxBuilder.Scripts.test.ts` to use Core types (`PlutusV2.PlutusV2`) instead of SDK format + - Refactored `createCoreTestUtxo` helper to accept Core `Script` types directly + - Removed unused `createTestUtxo` (SDK format) helper + - Added `Genesis.calculateUtxosFromConfig()` for retrieving initial UTxOs from genesis config + - Replaced all `Buffer.from().toString("hex")` with `Text.toHex()` in tests + + ### Breaking Changes + - `attachScript()` now requires `{ script: ... }` object format instead of passing script directly + - Test helpers now use Core types exclusively + +- [#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 + - Add PlutusV3 script minting with automatic script evaluation via Ogmios + - Add `mintAssets` builder method for Plutus script-based minting policies + - Add `attachScript` builder method for attaching Plutus scripts to transactions + - Support both minting (positive amounts) and burning (negative amounts) + + ### Redeemer API Improvements + - **Breaking**: Change `redeemer` parameter type from `string` (CBOR hex) to `Data.Data` + - Affects `collectFrom()` and `mintAssets()` builder methods + - Provides type-safe redeemer construction without manual CBOR encoding + - Example: `redeemer: Data.constr(0n, [Data.int(1n)])` instead of hex strings + + ### Core Module Additions + - Add `Redeemers` module with Conway CDDL-compliant encoding (array format) + - Refactor `hashScriptData` to use proper module encoders for redeemers and datums + - Add `Redeemers.toCBORBytes()` for script data hash computation + + ### Internal Improvements + - Store `PlutusData.Data` directly in builder state instead of CBOR hex strings + - Remove redundant CBOR hex encoding/decoding in transaction assembly + - Add PlutusV3 minting devnet tests with real script evaluation + +- Updated dependencies [[`aaf0882`](https://github.com/IntersectMBO/evolution-sdk/commit/aaf0882e280fad9769410a81419ebf1c6af48785), [`65b7259`](https://github.com/IntersectMBO/evolution-sdk/commit/65b7259b8b250b87d5420bca6458a5e862ba9406), [`c26391a`](https://github.com/IntersectMBO/evolution-sdk/commit/c26391a3783a5dca95b2ab1b2af95c98c62e4966)]: + - @evolution-sdk/evolution@0.3.4 + ## 1.1.3 ### Patch Changes diff --git a/packages/evolution-devnet/package.json b/packages/evolution-devnet/package.json index 985c935d..24909832 100644 --- a/packages/evolution-devnet/package.json +++ b/packages/evolution-devnet/package.json @@ -1,6 +1,6 @@ { "name": "@evolution-sdk/devnet", - "version": "1.1.3", + "version": "1.1.4", "description": "Local Cardano devnet for testing and development with Docker", "type": "module", "main": "./dist/index.js", diff --git a/packages/evolution/CHANGELOG.md b/packages/evolution/CHANGELOG.md index c4cecacb..4aa592e9 100644 --- a/packages/evolution/CHANGELOG.md +++ b/packages/evolution/CHANGELOG.md @@ -1,5 +1,71 @@ # @evolution-sdk/evolution +## 0.3.4 + +### Patch Changes + +- [#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 + + **Mint Module** + - Added `Mint.getByHex()` and `Mint.getAssetsByPolicyHex()` utilities for hex-based lookups + - Fixed `Mint.insert`, `removePolicy`, `removeAsset`, and `get` to use content-based equality (`Equal.equals`) instead of reference equality for PolicyId/AssetName lookups + + **Fee Calculation** + - Fixed `calculateFeeIteratively` to include mint field in fee calculation via TxContext access + - Removed unnecessary 5000n fee buffer that caused fee overpayment + + **Transaction Builder** + - Added `.mint()` method to TransactionBuilder for native token minting/burning + - `.attachScript()` now accepts `{ script: CoreScript }` parameter format + - Improved type safety by using Core types directly instead of SDK wrappers + + ### Devnet Package + + **Test Infrastructure** + - Added `TxBuilder.Mint.test.ts` with devnet submit tests for minting and burning + - Updated `TxBuilder.Scripts.test.ts` to use Core types (`PlutusV2.PlutusV2`) instead of SDK format + - Refactored `createCoreTestUtxo` helper to accept Core `Script` types directly + - Removed unused `createTestUtxo` (SDK format) helper + - Added `Genesis.calculateUtxosFromConfig()` for retrieving initial UTxOs from genesis config + - Replaced all `Buffer.from().toString("hex")` with `Text.toHex()` in tests + + ### Breaking Changes + - `attachScript()` now requires `{ script: ... }` object format instead of passing script directly + - Test helpers now use Core types exclusively + +- [#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 + + Replaced all `Buffer.from()` usage with `Bytes.fromHex()` and `Bytes.toHex()` from the core module for better cross-platform compatibility. + + **Files Updated:** + - `TxBuilderImpl.ts` - Use `Bytes.toHex()` for key hash hex conversion in `buildFakeWitnessSet` + - `Assets/index.ts` - Use `Bytes.fromHex()` for policy ID and asset name decoding + - `MaestroEffect.ts` - Use `Bytes.fromHex()` for transaction CBOR conversion + - `Ogmios.ts` - Use `Bytes.toHex()` for datum hash hex conversion + - `KupmiosEffects.ts` - Use `Bytes.fromHex()` for datum hash and script bytes decoding + +- [#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 + - Add PlutusV3 script minting with automatic script evaluation via Ogmios + - Add `mintAssets` builder method for Plutus script-based minting policies + - Add `attachScript` builder method for attaching Plutus scripts to transactions + - Support both minting (positive amounts) and burning (negative amounts) + + ### Redeemer API Improvements + - **Breaking**: Change `redeemer` parameter type from `string` (CBOR hex) to `Data.Data` + - Affects `collectFrom()` and `mintAssets()` builder methods + - Provides type-safe redeemer construction without manual CBOR encoding + - Example: `redeemer: Data.constr(0n, [Data.int(1n)])` instead of hex strings + + ### Core Module Additions + - Add `Redeemers` module with Conway CDDL-compliant encoding (array format) + - Refactor `hashScriptData` to use proper module encoders for redeemers and datums + - Add `Redeemers.toCBORBytes()` for script data hash computation + + ### Internal Improvements + - Store `PlutusData.Data` directly in builder state instead of CBOR hex strings + - Remove redundant CBOR hex encoding/decoding in transaction assembly + - Add PlutusV3 minting devnet tests with real script evaluation + ## 0.3.3 ### Patch Changes diff --git a/packages/evolution/package.json b/packages/evolution/package.json index 6ed0b053..f5c88194 100644 --- a/packages/evolution/package.json +++ b/packages/evolution/package.json @@ -1,6 +1,6 @@ { "name": "@evolution-sdk/evolution", - "version": "0.3.3", + "version": "0.3.4", "description": "A modern TypeScript SDK for Cardano blockchain development", "type": "module", "main": "./dist/index.js",