Releases: IntersectMBO/evolution-sdk
@evolution-sdk/scalus-uplc@0.0.20
Patch Changes
- Updated dependencies [
19829c7]:- @evolution-sdk/evolution@0.3.30
@evolution-sdk/evolution@0.3.30
Patch Changes
-
#215
19829c7Thanks @solidsnakedev! - Blueprint codegen now supports recursive type schemas — Plutus types that reference themselves
directly or through an intermediate type (e.g.MultiSigcontaining aList<MultiSig>field).
Cyclic references are emitted as typedSchema.suspendthunks where the encoded typeIis
inferred by recursively walking the blueprint definition graph rather than hardcoded toData.Constr:
list→readonly ItemEncoded[],map→globalThis.Map<Data.Data, Data.Data>,
bytes→Uint8Array,integer→bigint,constructorand union →Data.Constr,
$reffollowed transitively up to depth 10. The previous hardcodedData.Constrcaused a
TypeScript invariance error for any recursive field referencing a list type.Several other codegen correctness and API improvements ship in the same release:
- Namespace emission ordering — the group-by-namespace emitter is replaced by a streaming emitter
that walks a global topological sort and opens/closes namespace blocks on demand. TypeScript namespace
merging handles split declarations transparently. This fixes cases where a type was emitted before
its cross-namespace dependency (e.g.Option.OfStakeCredentialappearing beforeCardano.Address.StakeCredential). - Cyclic type emit pattern — cyclic types now emit a
export type X = .../export const X = ...
pair with no outerSchema.suspendwrapper and noascast. Only the inner field references that
close the cycle use typed thunks:Schema.suspend((): Schema.Schema<T, I> => T). unionStyleconfig —CodegenConfiggainsunionStyle: "Variant" | "Struct" | "TaggedStruct"
in place of the removedforceVariantanduseSuspendfields.Structemits
TSchema.Struct({ Tag: TSchema.Struct({...}, { flatFields: true }) }, { flatInUnion: true }),
TaggedStructemitsTSchema.TaggedStruct("Tag", {...}, { flatInUnion: true }),
andVariantemitsTSchema.Variant({ Tag: {...} }).- Import hygiene — generated files emit
import { Schema } from "@evolution-sdk/evolution"
only when cyclic types are present, rather than always importing fromeffectdirectly.
CodegenConfig.imports.effectis replaced byimports.schema.
- Namespace emission ordering — the group-by-namespace emitter is replaced by a streaming emitter
@evolution-sdk/devnet@1.1.30
Patch Changes
- Updated dependencies [
19829c7]:- @evolution-sdk/evolution@0.3.30
- @evolution-sdk/aiken-uplc@0.0.22
- @evolution-sdk/scalus-uplc@0.0.20
@evolution-sdk/aiken-uplc@0.0.22
Patch Changes
- Updated dependencies [
19829c7]:- @evolution-sdk/evolution@0.3.30
@evolution-sdk/scalus-uplc@0.0.19
Patch Changes
- Updated dependencies [
03e4dea]:- @evolution-sdk/evolution@0.3.29
@evolution-sdk/evolution@0.3.29
Patch Changes
- #210
03e4deaThanks @solidsnakedev! - Fix Blockfrost evaluateTx failing on multi-asset UTxOs by correcting the value format sent to the Ogmios endpoint. Standardize error handling across all providers with consistent catchAll + wrapError pattern. Add JSONWSP fault detection to Blockfrost evaluation responses. Accept both CBOR tag-258 and plain array encodings in TransactionBody decoding.
@evolution-sdk/devnet@1.1.29
Patch Changes
- Updated dependencies [
03e4dea]:- @evolution-sdk/evolution@0.3.29
- @evolution-sdk/aiken-uplc@0.0.21
- @evolution-sdk/scalus-uplc@0.0.19
@evolution-sdk/aiken-uplc@0.0.21
Patch Changes
- Updated dependencies [
03e4dea]:- @evolution-sdk/evolution@0.3.29
@evolution-sdk/scalus-uplc@0.0.18
Patch Changes
- Updated dependencies [
76bbaa2]:- @evolution-sdk/evolution@0.3.28
@evolution-sdk/evolution@0.3.28
Patch Changes
- #208
76bbaa2Thanks @solidsnakedev! - Fix KoiosgetProtocolParametersreturning stale epoch data on preview by explicitly orderingepoch_paramsdescending