Skip to content

Releases: IntersectMBO/evolution-sdk

@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

@evolution-sdk/devnet@3.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/aiken-uplc@2.0.1
    • @evolution-sdk/scalus-uplc@2.0.1

@evolution-sdk/devnet@3.0.0

10 Apr 19:16
d16f65e

Choose a tag to compare

Patch Changes

  • Updated dependencies [04c705e]:
    • @evolution-sdk/evolution@0.5.0
    • @evolution-sdk/aiken-uplc@2.0.0
    • @evolution-sdk/scalus-uplc@2.0.0