Skip to content

ci(changesets): version packages - #708

Open
github-actions[bot] wants to merge 1 commit into
mainfrom
changeset-release/main
Open

github-actions[bot] wants to merge 1 commit into
mainfrom
changeset-release/main

Conversation

@github-actions

@github-actions github-actions Bot commented Oct 21, 2026 •

Copy link
Copy Markdown
Contributor

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

Minor Changes

  • #707 cd6c9d4 Thanks @solidsnakedev! - The transaction builder now spends outputs that hold a datum hash. collectFrom takes the datum of each such input in a new datums field, and build({ onMissingDatum: "provider" }) fetches the missing ones with provider.getDatum. Before, the builder left the datum out of the witness set, and the node rejected the spend.

    const datum = await client.getDatum(utxo.datumOption)
    await client
      .newTx()
      .collectFrom({ inputs: [utxo], redeemer, datums: [datum] })
      .attachScript({ script })
      .build()
    
    // or fetch each missing datum during the build
    await client
      .newTx()
      .collectFrom({ inputs: [utxo], redeemer })
      .attachScript({ script })
      .build({ onMissingDatum: "provider" })

    A spend of a datum-hash output at a Plutus script address now fails at build() when its datum is neither given nor fetched, and the error names each such input. Code that added the datum to the built transaction by hand should pass it to collectFrom instead.

    The onMissingDatum: "provider" lookup only finds datums an earlier transaction published, and outputs this SDK locks never publish theirs. For those, keep the datum and pass it to collectFrom.

    • The built-in providers' getDatum keeps the bytes it fetched, through OriginalBytes. The witness set and the script data hash write a datum with those bytes, whatever the codec options say, because the datum hash covers them. A datum without recorded bytes is written with the plutusData options, as before.
    • The builder matches each given datum to its input by hashing the bytes it will write. It fails when a given datum belongs to no spent input.
    • The fee now counts the witness datums.
    • TransactionWitnessSet keeps each datum as the same object when it is built from another witness set, so the recorded bytes survive signing.
    • SignBuilder.assemble keeps the transaction's own datums and drops the datums of the given witness sets, since the body's script data hash covers only its own.
    • TxBuilderState has a new datums field.

Patch Changes

  • #706 79ee853 Thanks @solidsnakedev! - The Blockfrost provider now reports an output that holds a datum hash with a DatumHash datum option, as Koios, Maestro and Kupmios do. Before, getUtxos, getUtxosWithUnit, getUtxoByUnit and getUtxosByOutRef fetched the datum behind each hash and returned it as an InlineDatum, so the UTxO did not match the chain. Re-encoding such a UTxO wrote an inline datum where the chain holds a hash, and the builder could not see that spending it needs the datum in the witness set. Code that read a hash output's datum from datumOption.data should call getDatum(datumHash) instead. The UTxO queries also make one request fewer for each datum-hash output.

@evolution-sdk/aiken-uplc@2.0.23

Patch Changes

  • Updated dependencies [79ee853, cd6c9d4]:
    • @evolution-sdk/evolution@0.8.0

@evolution-sdk/devnet@3.0.24

Patch Changes

  • Updated dependencies [79ee853, cd6c9d4]:
    • @evolution-sdk/evolution@0.8.0
    • @evolution-sdk/aiken-uplc@2.0.23
    • @evolution-sdk/scalus-uplc@2.0.23

@evolution-sdk/scalus-uplc@2.0.23

Patch Changes

  • Updated dependencies [79ee853, cd6c9d4]:
    • @evolution-sdk/evolution@0.8.0

@github-actions
github-actions Bot force-pushed the changeset-release/main branch from 5a3dea0 to 3539567 Compare October 21, 2026 23:28

This branch has not been deployed

No deployments
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.

0 participants