Skip to content

Conversation

@github-actions
Copy link
Contributor

@github-actions github-actions bot commented Dec 23, 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/evolution@0.3.7

Patch Changes

  • #112 c59507e Thanks @solidsnakedev! - Add transaction chaining support via SignBuilder.chainResult()

    • Add chainResult() method to SignBuilder for building dependent transactions
    • Returns ChainResult with consumed, available UTxOs and pre-computed txHash
    • Lazy evaluation with memoization - computed on first call, cached for subsequent calls
    • Add signAndSubmit() convenience method combining sign and submit in one call
    • Remove redundant chain(), chainEffect(), chainEither() methods from TransactionBuilder
  • #110 9ddc79d Thanks @solidsnakedev! - ### Native Scripts & Multi-Sig Support

    • addSigner operation: Add required signers to transactions for multi-sig and script validation
    • Native script minting: Full support for ScriptAll, ScriptAny, ScriptNOfK, InvalidBefore, InvalidHereafter
    • Reference scripts: Use native scripts via readFrom instead of attaching them to transactions
    • Multi-sig spending: Spend from native script addresses with multi-party signing
    • Improved fee calculation: Accurate fee estimation for transactions with native scripts and reference scripts

    API Changes

    • UTxO.scriptRef type changed from ScriptRef to Script for better type safety
    • PayToAddressParams.scriptRef renamed to script for consistency
    • Wallet signTx now accepts referenceUtxos context for native script signer detection
    • Client signTx auto-fetches reference UTxOs when signing transactions with reference inputs
  • #109 0730f23 Thanks @solidsnakedev! - ### TxBuilder setValidity API

    Add setValidity() method to TxBuilder for setting transaction validity intervals:

    client.newTx()
      .setValidity({
        from: Date.now(),           // Valid after this Unix time (optional)
        to: Date.now() + 300_000    // Expires after this Unix time (optional)
      })
      .payToAddress({ ... })
      .build()
    • Times are provided as Unix milliseconds and converted to slots during transaction assembly
    • At least one of from or to must be specified
    • Validates that from < to when both are provided

    slotConfig support for devnets

    Add slotConfig parameter to createClient() for custom slot configurations:

    const slotConfig = Cluster.getSlotConfig(devnetCluster)
    const client = createClient({
      network: 0,
      slotConfig,  // Custom slot config for devnet
      provider: { ... },
      wallet: { ... }
    })

    Priority chain for slot config resolution:

    1. BuildOptions.slotConfig (per-transaction override)
    2. TxBuilderConfig.slotConfig (client default)
    3. SLOT_CONFIG_NETWORK[network] (hardcoded fallback)

    Cluster.getSlotConfig helper

    Add getSlotConfig() helper to derive slot configuration from devnet cluster genesis:

    const slotConfig = Cluster.getSlotConfig(cluster)
    // Returns: { zeroTime, zeroSlot, slotLength }

@evolution-sdk/devnet@1.1.7

Patch Changes

  • #109 0730f23 Thanks @solidsnakedev! - ### TxBuilder setValidity API

    Add setValidity() method to TxBuilder for setting transaction validity intervals:

    client.newTx()
      .setValidity({
        from: Date.now(),           // Valid after this Unix time (optional)
        to: Date.now() + 300_000    // Expires after this Unix time (optional)
      })
      .payToAddress({ ... })
      .build()
    • Times are provided as Unix milliseconds and converted to slots during transaction assembly
    • At least one of from or to must be specified
    • Validates that from < to when both are provided

    slotConfig support for devnets

    Add slotConfig parameter to createClient() for custom slot configurations:

    const slotConfig = Cluster.getSlotConfig(devnetCluster)
    const client = createClient({
      network: 0,
      slotConfig,  // Custom slot config for devnet
      provider: { ... },
      wallet: { ... }
    })

    Priority chain for slot config resolution:

    1. BuildOptions.slotConfig (per-transaction override)
    2. TxBuilderConfig.slotConfig (client default)
    3. SLOT_CONFIG_NETWORK[network] (hardcoded fallback)

    Cluster.getSlotConfig helper

    Add getSlotConfig() helper to derive slot configuration from devnet cluster genesis:

    const slotConfig = Cluster.getSlotConfig(cluster)
    // Returns: { zeroTime, zeroSlot, slotLength }
  • Updated dependencies [c59507e, 9ddc79d, 0730f23]:

    • @evolution-sdk/evolution@0.3.7

docs@0.0.14

Patch Changes

  • Updated dependencies [c59507e, 9ddc79d, 0730f23]:
    • @evolution-sdk/evolution@0.3.7
    • @evolution-sdk/devnet@1.1.7

@github-actions github-actions bot force-pushed the changeset-release/main branch from d003f87 to ac9d94c Compare December 23, 2025 21:36
@github-actions github-actions bot force-pushed the changeset-release/main branch from ac9d94c to 6afd864 Compare December 23, 2025 21:49
@solidsnakedev solidsnakedev merged commit 2221acf into main Dec 23, 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