diff --git a/.changeset/cruel-wasps-worry.md b/.changeset/cruel-wasps-worry.md deleted file mode 100644 index e597d94d..00000000 --- a/.changeset/cruel-wasps-worry.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@evolution-sdk/aiken-uplc": patch ---- - -Initial release of Aiken UPLC evaluator - a WASM-based plugin for local script evaluation in the Evolution SDK diff --git a/.changeset/odd-cooks-jump.md b/.changeset/odd-cooks-jump.md deleted file mode 100644 index 3d73857f..00000000 --- a/.changeset/odd-cooks-jump.md +++ /dev/null @@ -1,52 +0,0 @@ ---- -"@evolution-sdk/devnet": patch -"@evolution-sdk/evolution": patch ---- - -### TxBuilder Composition API - -Add `compose()` and `getPrograms()` methods for modular transaction building: - -```ts -// Create reusable builder fragments -const mintBuilder = client.newTx() - .mintAssets({ policyId, assets: { tokenName: 1n }, redeemer }) - .attachScript({ script: mintingPolicy }) - -const metadataBuilder = client.newTx() - .attachMetadata({ label: 674n, metadata: "Composed transaction" }) - -// Compose multiple builders into one transaction -const tx = await client.newTx() - .payToAddress({ address, assets: { lovelace: 5_000_000n } }) - .compose(mintBuilder) - .compose(metadataBuilder) - .build() -``` - -**Features:** -- Merge operations from multiple builders into a single transaction -- Snapshot accumulated operations with `getPrograms()` for inspection -- Compose builders from different client instances -- Works with all builder methods (payments, validity, metadata, minting, staking, etc.) - -### Fixed Validity Interval Fee Calculation Bug - -Fixed bug where validity interval fields (`ttl` and `validityIntervalStart`) were not included during fee calculation, causing "insufficient fee" errors when using `setValidity()`. - -**Root Cause**: Validity fields were being added during transaction assembly AFTER fee calculation completed, causing the actual transaction to be 3-8 bytes larger than estimated. - -**Fix**: Convert validity Unix times to slots BEFORE the fee calculation loop and include them in the TransactionBody during size estimation. - -### Error Type Corrections - -Corrected error types for pure constructor functions to use `never` instead of `TransactionBuilderError`: -- `makeTxOutput` - creates TransactionOutput -- `txOutputToTransactionOutput` - creates TransactionOutput -- `mergeAssetsIntoUTxO` - creates UTxO -- `mergeAssetsIntoOutput` - creates TransactionOutput -- `buildTransactionInputs` - creates and sorts TransactionInputs - -### Error Message Improvements - -Enhanced error messages throughout the builder to include underlying error details for better debugging. diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md index e37495f0..aa86709f 100644 --- a/docs/CHANGELOG.md +++ b/docs/CHANGELOG.md @@ -1,5 +1,13 @@ # docs +## 0.0.16 + +### Patch Changes + +- Updated dependencies [[`0503b96`](https://github.com/IntersectMBO/evolution-sdk/commit/0503b968735bc221b3f4d005d5c97ac8a0a1c592)]: + - @evolution-sdk/devnet@1.1.9 + - @evolution-sdk/evolution@0.3.9 + ## 0.0.15 ### Patch Changes diff --git a/docs/package.json b/docs/package.json index 57546ed1..2c0a1b45 100644 --- a/docs/package.json +++ b/docs/package.json @@ -1,6 +1,6 @@ { "name": "docs", - "version": "0.0.15", + "version": "0.0.16", "private": true, "type": "module", "scripts": { diff --git a/packages/aiken-uplc/CHANGELOG.md b/packages/aiken-uplc/CHANGELOG.md new file mode 100644 index 00000000..52959f6c --- /dev/null +++ b/packages/aiken-uplc/CHANGELOG.md @@ -0,0 +1,10 @@ +# @evolution-sdk/aiken-uplc + +## 0.0.1 + +### Patch Changes + +- [#116](https://github.com/IntersectMBO/evolution-sdk/pull/116) [`59b6187`](https://github.com/IntersectMBO/evolution-sdk/commit/59b6187cc9d7080ed580341d92c7845d47125c7c) Thanks [@solidsnakedev](https://github.com/solidsnakedev)! - Initial release of Aiken UPLC evaluator - a WASM-based plugin for local script evaluation in the Evolution SDK + +- Updated dependencies [[`0503b96`](https://github.com/IntersectMBO/evolution-sdk/commit/0503b968735bc221b3f4d005d5c97ac8a0a1c592)]: + - @evolution-sdk/evolution@0.3.9 diff --git a/packages/aiken-uplc/package.json b/packages/aiken-uplc/package.json index fd7f61d1..078a345e 100644 --- a/packages/aiken-uplc/package.json +++ b/packages/aiken-uplc/package.json @@ -1,6 +1,6 @@ { "name": "@evolution-sdk/aiken-uplc", - "version": "0.0.0", + "version": "0.0.1", "description": "Aiken UPLC evaluator for Evolution SDK with WASM-based local script evaluation", "type": "module", "main": "./dist/index.js", diff --git a/packages/evolution-devnet/CHANGELOG.md b/packages/evolution-devnet/CHANGELOG.md index a721f3a3..f0ffb23c 100644 --- a/packages/evolution-devnet/CHANGELOG.md +++ b/packages/evolution-devnet/CHANGELOG.md @@ -1,5 +1,62 @@ # @evolution-sdk/devnet +## 1.1.9 + +### Patch Changes + +- [#115](https://github.com/IntersectMBO/evolution-sdk/pull/115) [`0503b96`](https://github.com/IntersectMBO/evolution-sdk/commit/0503b968735bc221b3f4d005d5c97ac8a0a1c592) Thanks [@solidsnakedev](https://github.com/solidsnakedev)! - ### TxBuilder Composition API + + Add `compose()` and `getPrograms()` methods for modular transaction building: + + ```ts + // Create reusable builder fragments + const mintBuilder = client + .newTx() + .mintAssets({ policyId, assets: { tokenName: 1n }, redeemer }) + .attachScript({ script: mintingPolicy }) + + const metadataBuilder = client.newTx().attachMetadata({ label: 674n, metadata: "Composed transaction" }) + + // Compose multiple builders into one transaction + const tx = await client + .newTx() + .payToAddress({ address, assets: { lovelace: 5_000_000n } }) + .compose(mintBuilder) + .compose(metadataBuilder) + .build() + ``` + + **Features:** + - Merge operations from multiple builders into a single transaction + - Snapshot accumulated operations with `getPrograms()` for inspection + - Compose builders from different client instances + - Works with all builder methods (payments, validity, metadata, minting, staking, etc.) + + ### Fixed Validity Interval Fee Calculation Bug + + Fixed bug where validity interval fields (`ttl` and `validityIntervalStart`) were not included during fee calculation, causing "insufficient fee" errors when using `setValidity()`. + + **Root Cause**: Validity fields were being added during transaction assembly AFTER fee calculation completed, causing the actual transaction to be 3-8 bytes larger than estimated. + + **Fix**: Convert validity Unix times to slots BEFORE the fee calculation loop and include them in the TransactionBody during size estimation. + + ### Error Type Corrections + + Corrected error types for pure constructor functions to use `never` instead of `TransactionBuilderError`: + - `makeTxOutput` - creates TransactionOutput + - `txOutputToTransactionOutput` - creates TransactionOutput + - `mergeAssetsIntoUTxO` - creates UTxO + - `mergeAssetsIntoOutput` - creates TransactionOutput + - `buildTransactionInputs` - creates and sorts TransactionInputs + + ### Error Message Improvements + + Enhanced error messages throughout the builder to include underlying error details for better debugging. + +- Updated dependencies [[`59b6187`](https://github.com/IntersectMBO/evolution-sdk/commit/59b6187cc9d7080ed580341d92c7845d47125c7c), [`0503b96`](https://github.com/IntersectMBO/evolution-sdk/commit/0503b968735bc221b3f4d005d5c97ac8a0a1c592)]: + - @evolution-sdk/aiken-uplc@0.0.1 + - @evolution-sdk/evolution@0.3.9 + ## 1.1.8 ### Patch Changes diff --git a/packages/evolution-devnet/package.json b/packages/evolution-devnet/package.json index b14b9744..33c36430 100644 --- a/packages/evolution-devnet/package.json +++ b/packages/evolution-devnet/package.json @@ -1,6 +1,6 @@ { "name": "@evolution-sdk/devnet", - "version": "1.1.8", + "version": "1.1.9", "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 91c9018b..3f5987bc 100644 --- a/packages/evolution/CHANGELOG.md +++ b/packages/evolution/CHANGELOG.md @@ -1,5 +1,58 @@ # @evolution-sdk/evolution +## 0.3.9 + +### Patch Changes + +- [#115](https://github.com/IntersectMBO/evolution-sdk/pull/115) [`0503b96`](https://github.com/IntersectMBO/evolution-sdk/commit/0503b968735bc221b3f4d005d5c97ac8a0a1c592) Thanks [@solidsnakedev](https://github.com/solidsnakedev)! - ### TxBuilder Composition API + + Add `compose()` and `getPrograms()` methods for modular transaction building: + + ```ts + // Create reusable builder fragments + const mintBuilder = client + .newTx() + .mintAssets({ policyId, assets: { tokenName: 1n }, redeemer }) + .attachScript({ script: mintingPolicy }) + + const metadataBuilder = client.newTx().attachMetadata({ label: 674n, metadata: "Composed transaction" }) + + // Compose multiple builders into one transaction + const tx = await client + .newTx() + .payToAddress({ address, assets: { lovelace: 5_000_000n } }) + .compose(mintBuilder) + .compose(metadataBuilder) + .build() + ``` + + **Features:** + - Merge operations from multiple builders into a single transaction + - Snapshot accumulated operations with `getPrograms()` for inspection + - Compose builders from different client instances + - Works with all builder methods (payments, validity, metadata, minting, staking, etc.) + + ### Fixed Validity Interval Fee Calculation Bug + + Fixed bug where validity interval fields (`ttl` and `validityIntervalStart`) were not included during fee calculation, causing "insufficient fee" errors when using `setValidity()`. + + **Root Cause**: Validity fields were being added during transaction assembly AFTER fee calculation completed, causing the actual transaction to be 3-8 bytes larger than estimated. + + **Fix**: Convert validity Unix times to slots BEFORE the fee calculation loop and include them in the TransactionBody during size estimation. + + ### Error Type Corrections + + Corrected error types for pure constructor functions to use `never` instead of `TransactionBuilderError`: + - `makeTxOutput` - creates TransactionOutput + - `txOutputToTransactionOutput` - creates TransactionOutput + - `mergeAssetsIntoUTxO` - creates UTxO + - `mergeAssetsIntoOutput` - creates TransactionOutput + - `buildTransactionInputs` - creates and sorts TransactionInputs + + ### Error Message Improvements + + Enhanced error messages throughout the builder to include underlying error details for better debugging. + ## 0.3.8 ### Patch Changes diff --git a/packages/evolution/package.json b/packages/evolution/package.json index d1bb18fe..4ff66603 100644 --- a/packages/evolution/package.json +++ b/packages/evolution/package.json @@ -1,6 +1,6 @@ { "name": "@evolution-sdk/evolution", - "version": "0.3.8", + "version": "0.3.9", "description": "A modern TypeScript SDK for Cardano blockchain development", "type": "module", "main": "./dist/index.js",