Skip to content

Releases: IntersectMBO/evolution-sdk

@evolution-sdk/scalus-uplc@2.0.2

12 Apr 21:02
aae227c

Choose a tag to compare

Patch Changes

  • Updated dependencies [61ed73e, 2b464f8]:
    • @evolution-sdk/evolution@0.5.2

@evolution-sdk/evolution@0.5.2

12 Apr 21:02
aae227c

Choose a tag to compare

Patch Changes

  • #246 61ed73e Thanks @solidsnakedev! - Add Address.fromSeed() for synchronous address derivation from a BIP-39 seed phrase. This enables deriving addresses without constructing a Client or Chain instance — useful for devnet genesis funding where the address must be known before the cluster starts.

    The Derivation module now accepts a numeric networkId (0 = testnet, 1 = mainnet) instead of a network string ("Mainnet" | "Testnet" | "Custom"). The default changed from mainnet (1) to testnet (0). If you call walletFromSeed, addressFromSeed, walletFromBip32, or walletFromPrivateKey with the old network option, replace it with networkId:

    • network: "Mainnet"networkId: 1
    • network: "Testnet" or network: "Custom"networkId: 0 (or omit, since 0 is the default)
  • #242 2b464f8 Thanks @solidsnakedev! - Add signTxs method to SigningClient, OfflineSignerClient, and all wallet types for batch transaction signing per CIP-103. For CIP-30 browser wallets, the implementation detects api.cip103.signTxs, api.experimental.signTxs, or direct api.signTxs and falls back to sequential api.signTx calls when no batch method is available. Seed and private key wallets delegate to per-transaction signing internally.

    • WalletApi now accepts optional cip103, experimental, and direct signTxs properties
    • TransactionSignatureRequest type exported from Wallet module
    • signTxsWithAutoFetch aggregates reference inputs across all transactions in a single provider call

@evolution-sdk/devnet@3.0.2

12 Apr 21:02
aae227c

Choose a tag to compare

Patch Changes

  • Updated dependencies [61ed73e, 2b464f8]:
    • @evolution-sdk/evolution@0.5.2
    • @evolution-sdk/aiken-uplc@2.0.2
    • @evolution-sdk/scalus-uplc@2.0.2

@evolution-sdk/aiken-uplc@2.0.2

12 Apr 21:02
aae227c

Choose a tag to compare

Patch Changes

  • Updated dependencies [61ed73e, 2b464f8]:
    • @evolution-sdk/evolution@0.5.2

@evolution-sdk/scalus-uplc@2.0.1

10 Apr 20:45
f08aaf7

Choose a tag to compare

Patch Changes

  • Updated dependencies [7fa8430]:
    • @evolution-sdk/evolution@0.5.1

@evolution-sdk/scalus-uplc@2.0.0

10 Apr 19:17
d16f65e

Choose a tag to compare

Patch Changes

  • Updated dependencies [04c705e]:
    • @evolution-sdk/evolution@0.5.0

@evolution-sdk/scalus-uplc@1.0.0

10 Apr 00:19
5942803

Choose a tag to compare

Patch Changes

@evolution-sdk/evolution@0.5.1

10 Apr 20:45
f08aaf7

Choose a tag to compare

Patch Changes

  • #243 7fa8430 Thanks @solidsnakedev! - Restore Certificate.ts as a self-contained module and fix docgen compatibility. Remove convenience re-exports from Time.ts and update stale @example import paths for the flat module structure.

@evolution-sdk/evolution@0.5.0

10 Apr 19:16
d16f65e

Choose a tag to compare

Minor Changes

  • #240 04c705e Thanks @solidsnakedev! - Flatten module structure to eliminate webpack casing conflicts on case-insensitive filesystems. The wildcard export now maps PascalCase filenames directly — namespace name equals filename equals import path, removing the directory/namespace casing mismatch that caused dual module identifiers in webpack builds.

    Modules previously nested in concept folders (address/, block/, transaction/, etc.) are now flat PascalCase files at the package root. Three subdirectories remain for separate domains with naming collisions: plutus/ (on-chain script types), cose/ (message signing protocol), and blueprint/ (CIP-57 codegen). Deep imports into subdirectories are blocked.

    • Concept-folder subpath imports like @evolution-sdk/evolution/address are removed. Use the root barrel (import { Address } from "@evolution-sdk/evolution") or the wildcard (import * as Address from "@evolution-sdk/evolution/Address").
    • MessageSigning is renamed to COSE in the root barrel export.
    • ./plutus, ./cose, and ./blueprint are available as subpath imports with namespaced barrels.
    • Blueprint barrel now uses export * as instead of export *.

@evolution-sdk/evolution@0.4.0

10 Apr 00:20
5942803

Choose a tag to compare

Minor Changes

  • #231 7b36dc1 Thanks @solidsnakedev! - Reorganize flat module structure into semantic concept folders.
    • Move ~130 flat root-level files into 24 concept folders following Effect v4 conventions (camelCase folders, PascalCase files)
    • New folders: address/, assets/, block/, blueprint/, bytes/, certificate/, credential/, data/, encoding/, governance/, messageSigning/, metadata/, network/, numeric/, plutus/, primitives/, relay/, script/, staking/, time/, transaction/, uplc/, value/
    • Merge datum/ into data/ (DatumHash, DatumOption, InlineDatum alongside Data, TSchema, DataJson)
    • Extract certificate/ from governance/ (StakeCertificates and PoolCertificates have zero governance dependencies)
    • Move byte primitives (Bytes, Bytes4–448, BoundedBytes) from primitives/ to bytes/
    • Move numeric types (Numeric, Natural, NonZeroInt64, UnitInterval) from primitives/ to numeric/
    • Move CBOR and Codec from root to encoding/
    • Dissolve utils/ anti-pattern: move hash functions to input-type modules via to pattern (TransactionBody.toHash, Data.toDatumHash, etc.)
    • Delete dead code: Combinator.ts (zero consumers, contained a bug), FormatError.ts (zero consumers), NativeScriptsOLD.ts, Function.ts
    • Rename non-conforming folders: Assets/assets/, Time/time/, message-signing/messageSigning/
    • All public API exports preserved via barrel files and package.json exports map

Patch Changes

  • #237 c68507b Thanks @solidsnakedev! - Conway-era transactions encode certificates as #6.258([+ certificate]) (CBOR tag 258, a nonempty ordered set). TransactionBody deserialization now unwraps tag 258 when present on the certificates field (key 4), and serialization wraps the array in tag 258 so round-tripped bytes match the on-chain encoding.

  • #236 f0c7ea4 Thanks @solidsnakedev! - Transaction.fromCBORHex and Transaction.fromCBORBytes now preserve the original CBOR encoding format (e.g. indefinite-length arrays) through round-trips. Previously, decoding via the default path normalised indefinite-length markers (0x9f) to definite-length (0x81), which silently broke scriptDataHash validation when the transaction contained non-canonical PlutusData in redeemers.

    The fix caches the CBOR format tree in a WeakMap on decode and re-applies it on encode, making the default fromCBOR → toCBOR path lossless with no API surface change. addVKeyWitnesses transfers the cached format to the resulting transaction.

  • #228 a2310b0 Thanks @solidsnakedev! - Restructure transaction builder internals for maintainability.

    • Extract monolithic TxBuilderImpl.ts into focused internal modules (build.ts, ctx.ts, factory.ts, layers.ts, resolve.ts, state.ts, txBuilder.ts)
    • Rename internal modules from PascalCase to camelCase per Effect conventions
    • Add Address.isScript predicate and UTxO.totalAssets/UTxO.toInputs utilities to core modules
    • Remove unnecessary Effect wrappers from pure functions (makeTxOutput, calculateTransactionSize)
    • Fix Unfrack.ts ScriptRef encoding to use fromHexStrings instead of fromUnit
    • Fix Stake.ts withdraw to use dependency injection for TxBuilderConfig