Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 0 additions & 5 deletions .changeset/cruel-wasps-worry.md

This file was deleted.

52 changes: 0 additions & 52 deletions .changeset/odd-cooks-jump.md

This file was deleted.

8 changes: 8 additions & 0 deletions docs/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -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
Expand Down
2 changes: 1 addition & 1 deletion docs/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "docs",
"version": "0.0.15",
"version": "0.0.16",
"private": true,
"type": "module",
"scripts": {
Expand Down
10 changes: 10 additions & 0 deletions packages/aiken-uplc/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -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
2 changes: 1 addition & 1 deletion packages/aiken-uplc/package.json
Original file line number Diff line number Diff line change
@@ -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",
Expand Down
57 changes: 57 additions & 0 deletions packages/evolution-devnet/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -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
Expand Down
2 changes: 1 addition & 1 deletion packages/evolution-devnet/package.json
Original file line number Diff line number Diff line change
@@ -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",
Expand Down
53 changes: 53 additions & 0 deletions packages/evolution/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -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
Expand Down
2 changes: 1 addition & 1 deletion packages/evolution/package.json
Original file line number Diff line number Diff line change
@@ -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",
Expand Down