Skip to content

Conversation

@github-actions
Copy link
Contributor

@github-actions github-actions bot commented Dec 27, 2025

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.

Releases

@evolution-sdk/aiken-uplc@0.0.1

Patch Changes

  • #116 59b6187 Thanks @solidsnakedev! - Initial release of Aiken UPLC evaluator - a WASM-based plugin for local script evaluation in the Evolution SDK

  • Updated dependencies [0503b96]:

    • @evolution-sdk/evolution@0.3.9

@evolution-sdk/evolution@0.3.9

Patch Changes

  • #115 0503b96 Thanks @solidsnakedev! - ### TxBuilder Composition API

    Add compose() and getPrograms() methods for modular transaction building:

    // 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.

@evolution-sdk/devnet@1.1.9

Patch Changes

  • #115 0503b96 Thanks @solidsnakedev! - ### TxBuilder Composition API

    Add compose() and getPrograms() methods for modular transaction building:

    // 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, 0503b96]:

    • @evolution-sdk/aiken-uplc@0.0.1
    • @evolution-sdk/evolution@0.3.9

docs@0.0.16

Patch Changes

  • Updated dependencies [0503b96]:
    • @evolution-sdk/devnet@1.1.9
    • @evolution-sdk/evolution@0.3.9

@github-actions github-actions bot force-pushed the changeset-release/main branch from c6ee676 to ace13a2 Compare December 27, 2025 20:38
@solidsnakedev solidsnakedev merged commit 74df96f into main Dec 27, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants