diff --git a/.changeset/deep-beds-mate.md b/.changeset/deep-beds-mate.md new file mode 100644 index 00000000..d4072ef6 --- /dev/null +++ b/.changeset/deep-beds-mate.md @@ -0,0 +1,11 @@ +--- +"@evolution-sdk/evolution": patch +--- + +Separate DatumOption into dedicated DatumHash and InlineDatum modules. + +- Add `DatumHash` module with `fromHex`, `toHex`, `fromBytes`, `toBytes` functions +- Add `InlineDatum` module for inline plutus data +- Refactor `DatumOption` to import from new modules (union type preserved) +- Fix `BlockfrostUTxO` schema to include `address` field +- Update all provider implementations to use new module imports diff --git a/docs/content/docs/modules/DRep.mdx b/docs/content/docs/modules/DRep.mdx index 132556d3..5fcf49d1 100644 --- a/docs/content/docs/modules/DRep.mdx +++ b/docs/content/docs/modules/DRep.mdx @@ -1,6 +1,6 @@ --- title: DRep.ts -nav_order: 49 +nav_order: 50 parent: Modules --- diff --git a/docs/content/docs/modules/DRepCredential.mdx b/docs/content/docs/modules/DRepCredential.mdx index 6a284a52..e4255899 100644 --- a/docs/content/docs/modules/DRepCredential.mdx +++ b/docs/content/docs/modules/DRepCredential.mdx @@ -1,6 +1,6 @@ --- title: DRepCredential.ts -nav_order: 50 +nav_order: 51 parent: Modules --- diff --git a/docs/content/docs/modules/DatumHash.mdx b/docs/content/docs/modules/DatumHash.mdx new file mode 100644 index 00000000..faf0c84b --- /dev/null +++ b/docs/content/docs/modules/DatumHash.mdx @@ -0,0 +1,207 @@ +--- +title: DatumHash.ts +nav_order: 47 +parent: Modules +--- + +## DatumHash overview + +--- + +

Table of contents

+ +- [encoding](#encoding) + - [toBytes](#tobytes) + - [toHex](#tohex) +- [parsing](#parsing) + - [fromBytes](#frombytes) + - [fromHex](#fromhex) +- [predicates](#predicates) + - [isDatumHash](#isdatumhash) +- [schemas](#schemas) + - [DatumHash (class)](#datumhash-class) + - [toJSON (method)](#tojson-method) + - [toString (method)](#tostring-method) + - [[Inspectable.NodeInspectSymbol] (method)](#inspectablenodeinspectsymbol-method) + - [[Equal.symbol] (method)](#equalsymbol-method) + - [[Hash.symbol] (method)](#hashsymbol-method) + - [FromBytes](#frombytes-1) + - [FromHex](#fromhex-1) +- [testing](#testing) + - [arbitrary](#arbitrary) + +--- + +# encoding + +## toBytes + +Encode DatumHash to bytes. + +**Signature** + +```ts +export declare const toBytes: (a: DatumHash, overrideOptions?: ParseOptions) => Uint8Array +``` + +Added in v2.0.0 + +## toHex + +Encode DatumHash to hex string. + +**Signature** + +```ts +export declare const toHex: (a: DatumHash, overrideOptions?: ParseOptions) => string +``` + +Added in v2.0.0 + +# parsing + +## fromBytes + +Parse DatumHash from bytes. + +**Signature** + +```ts +export declare const fromBytes: (i: Uint8Array, overrideOptions?: ParseOptions) => DatumHash +``` + +Added in v2.0.0 + +## fromHex + +Parse DatumHash from hex string. + +**Signature** + +```ts +export declare const fromHex: (i: string, overrideOptions?: ParseOptions) => DatumHash +``` + +Added in v2.0.0 + +# predicates + +## isDatumHash + +Type guard to check if a value is a DatumHash. + +**Signature** + +```ts +export declare const isDatumHash: (u: unknown, overrideOptions?: ParseOptions | number) => u is DatumHash +``` + +Added in v2.0.0 + +# schemas + +## DatumHash (class) + +Schema for DatumHash representing a reference to datum data stored elsewhere via its hash. + +**Signature** + +```ts +export declare class DatumHash +``` + +Added in v2.0.0 + +### toJSON (method) + +**Signature** + +```ts +toJSON() +``` + +Added in v2.0.0 + +### toString (method) + +**Signature** + +```ts +toString(): string +``` + +Added in v2.0.0 + +### [Inspectable.NodeInspectSymbol] (method) + +**Signature** + +```ts +[Inspectable.NodeInspectSymbol](): unknown +``` + +Added in v2.0.0 + +### [Equal.symbol] (method) + +**Signature** + +```ts +[Equal.symbol](that: unknown): boolean +``` + +Added in v2.0.0 + +### [Hash.symbol] (method) + +**Signature** + +```ts +[Hash.symbol](): number +``` + +Added in v2.0.0 + +## FromBytes + +Schema for transforming bytes to DatumHash. + +**Signature** + +```ts +export declare const FromBytes: Schema.transform< + Schema.SchemaClass, + Schema.SchemaClass +> +``` + +Added in v2.0.0 + +## FromHex + +Schema for transforming hex string to DatumHash. + +**Signature** + +```ts +export declare const FromHex: Schema.transform< + Schema.filter>, + Schema.transform, Schema.SchemaClass> +> +``` + +Added in v2.0.0 + +# testing + +## arbitrary + +FastCheck arbitrary for generating random DatumHash instances. + +**Signature** + +```ts +export declare const arbitrary: FastCheck.Arbitrary +``` + +Added in v2.0.0 diff --git a/docs/content/docs/modules/DatumOption.mdx b/docs/content/docs/modules/DatumOption.mdx index 718cdf38..fac9347f 100644 --- a/docs/content/docs/modules/DatumOption.mdx +++ b/docs/content/docs/modules/DatumOption.mdx @@ -1,6 +1,6 @@ --- title: DatumOption.ts -nav_order: 47 +nav_order: 48 parent: Modules --- @@ -22,29 +22,14 @@ parent: Modules - [isDatumHash](#isdatumhash) - [isInlineDatum](#isinlinedatum) - [schemas](#schemas) - - [DatumHash (class)](#datumhash-class) - - [toJSON (method)](#tojson-method) - - [toString (method)](#tostring-method) - - [[Inspectable.NodeInspectSymbol] (method)](#inspectablenodeinspectsymbol-method) - - [[Equal.symbol] (method)](#equalsymbol-method) - - [[Hash.symbol] (method)](#hashsymbol-method) - [DatumOptionSchema](#datumoptionschema) - [FromCBORBytes](#fromcborbytes-1) - [FromCBORHex](#fromcborhex-1) - [FromCDDL](#fromcddl) - - [InlineDatum (class)](#inlinedatum-class) - - [toJSON (method)](#tojson-method-1) - - [toString (method)](#tostring-method-1) - - [[Inspectable.NodeInspectSymbol] (method)](#inspectablenodeinspectsymbol-method-1) - - [[Equal.symbol] (method)](#equalsymbol-method-1) - - [[Hash.symbol] (method)](#hashsymbol-method-1) - [testing](#testing) - [arbitrary](#arbitrary) - [utils](#utils) - [CDDLSchema](#cddlschema) - - [DatumHashFromBytes](#datumhashfrombytes) - - [datumHashArbitrary](#datumhasharbitrary) - - [inlineDatumArbitrary](#inlinedatumarbitrary) --- @@ -57,7 +42,10 @@ Convert CBOR bytes to DatumOption. **Signature** ```ts -export declare const fromCBORBytes: (bytes: Uint8Array, options?: CBOR.CodecOptions) => DatumHash | InlineDatum +export declare const fromCBORBytes: ( + bytes: Uint8Array, + options?: CBOR.CodecOptions +) => DatumHash.DatumHash | InlineDatum.InlineDatum ``` Added in v2.0.0 @@ -69,7 +57,10 @@ Convert CBOR hex string to DatumOption. **Signature** ```ts -export declare const fromCBORHex: (hex: string, options?: CBOR.CodecOptions) => DatumHash | InlineDatum +export declare const fromCBORHex: ( + hex: string, + options?: CBOR.CodecOptions +) => DatumHash.DatumHash | InlineDatum.InlineDatum ``` Added in v2.0.0 @@ -124,7 +115,7 @@ Check if a DatumOption is a datum hash. **Signature** ```ts -export declare const isDatumHash: (u: unknown, overrideOptions?: ParseOptions | number) => u is DatumHash +export declare const isDatumHash: (u: unknown, overrideOptions?: ParseOptions | number) => u is DatumHash.DatumHash ``` Added in v2.0.0 @@ -136,76 +127,16 @@ Check if a DatumOption is inline data. **Signature** ```ts -export declare const isInlineDatum: (u: unknown, overrideOptions?: ParseOptions | number) => u is InlineDatum +export declare const isInlineDatum: ( + u: unknown, + overrideOptions?: ParseOptions | number +) => u is InlineDatum.InlineDatum ``` Added in v2.0.0 # schemas -## DatumHash (class) - -Schema for DatumHash variant of DatumOption. -Represents a reference to datum data stored elsewhere via its hash. - -**Signature** - -```ts -export declare class DatumHash -``` - -Added in v2.0.0 - -### toJSON (method) - -**Signature** - -```ts -toJSON() -``` - -Added in v2.0.0 - -### toString (method) - -**Signature** - -```ts -toString(): string -``` - -Added in v2.0.0 - -### [Inspectable.NodeInspectSymbol] (method) - -**Signature** - -```ts -[Inspectable.NodeInspectSymbol](): unknown -``` - -Added in v2.0.0 - -### [Equal.symbol] (method) - -**Signature** - -```ts -[Equal.symbol](that: unknown): boolean -``` - -Added in v2.0.0 - -### [Hash.symbol] (method) - -**Signature** - -```ts -[Hash.symbol](): number -``` - -Added in v2.0.0 - ## DatumOptionSchema Schema for DatumOption representing optional datum information in transaction outputs. @@ -220,7 +151,7 @@ Where: **Signature** ```ts -export declare const DatumOptionSchema: Schema.Union<[typeof DatumHash, typeof InlineDatum]> +export declare const DatumOptionSchema: Schema.Union<[typeof DatumHash.DatumHash, typeof InlineDatum.InlineDatum]> ``` Added in v2.0.0 @@ -251,7 +182,11 @@ export declare const FromCBORBytes: ( > ] >, - Schema.SchemaClass, + Schema.SchemaClass< + DatumHash.DatumHash | InlineDatum.InlineDatum, + DatumHash.DatumHash | InlineDatum.InlineDatum, + never + >, never > > @@ -287,7 +222,11 @@ export declare const FromCBORHex: ( > ] >, - Schema.SchemaClass, + Schema.SchemaClass< + DatumHash.DatumHash | InlineDatum.InlineDatum, + DatumHash.DatumHash | InlineDatum.InlineDatum, + never + >, never > > @@ -319,76 +258,17 @@ export declare const FromCDDL: Schema.transformOrFail< > ] >, - Schema.SchemaClass, + Schema.SchemaClass< + DatumHash.DatumHash | InlineDatum.InlineDatum, + DatumHash.DatumHash | InlineDatum.InlineDatum, + never + >, never > ``` Added in v2.0.0 -## InlineDatum (class) - -Schema for InlineDatum variant of DatumOption. -Represents inline plutus data embedded directly in the transaction output. - -**Signature** - -```ts -export declare class InlineDatum -``` - -Added in v2.0.0 - -### toJSON (method) - -**Signature** - -```ts -toJSON() -``` - -Added in v2.0.0 - -### toString (method) - -**Signature** - -```ts -toString(): string -``` - -Added in v2.0.0 - -### [Inspectable.NodeInspectSymbol] (method) - -**Signature** - -```ts -[Inspectable.NodeInspectSymbol](): unknown -``` - -Added in v2.0.0 - -### [Equal.symbol] (method) - -**Signature** - -```ts -[Equal.symbol](that: unknown): boolean -``` - -Added in v2.0.0 - -### [Hash.symbol] (method) - -**Signature** - -```ts -[Hash.symbol](): number -``` - -Added in v2.0.0 - # testing ## arbitrary @@ -398,7 +278,7 @@ FastCheck arbitrary for generating random DatumOption instances **Signature** ```ts -export declare const arbitrary: FastCheck.Arbitrary +export declare const arbitrary: FastCheck.Arbitrary ``` Added in v2.0.0 @@ -420,30 +300,3 @@ export declare const CDDLSchema: Schema.Union< ] > ``` - -## DatumHashFromBytes - -**Signature** - -```ts -export declare const DatumHashFromBytes: Schema.transform< - Schema.SchemaClass, - Schema.SchemaClass -> -``` - -## datumHashArbitrary - -**Signature** - -```ts -export declare const datumHashArbitrary: FastCheck.Arbitrary -``` - -## inlineDatumArbitrary - -**Signature** - -```ts -export declare const inlineDatumArbitrary: FastCheck.Arbitrary -``` diff --git a/docs/content/docs/modules/DnsName.mdx b/docs/content/docs/modules/DnsName.mdx index bbd965fe..2f26323c 100644 --- a/docs/content/docs/modules/DnsName.mdx +++ b/docs/content/docs/modules/DnsName.mdx @@ -1,6 +1,6 @@ --- title: DnsName.ts -nav_order: 48 +nav_order: 49 parent: Modules --- diff --git a/docs/content/docs/modules/Ed25519Signature.mdx b/docs/content/docs/modules/Ed25519Signature.mdx index de2f5a7f..3799ceb1 100644 --- a/docs/content/docs/modules/Ed25519Signature.mdx +++ b/docs/content/docs/modules/Ed25519Signature.mdx @@ -1,6 +1,6 @@ --- title: Ed25519Signature.ts -nav_order: 51 +nav_order: 52 parent: Modules --- diff --git a/docs/content/docs/modules/EnterpriseAddress.mdx b/docs/content/docs/modules/EnterpriseAddress.mdx index ddd87113..bb7607ed 100644 --- a/docs/content/docs/modules/EnterpriseAddress.mdx +++ b/docs/content/docs/modules/EnterpriseAddress.mdx @@ -1,6 +1,6 @@ --- title: EnterpriseAddress.ts -nav_order: 52 +nav_order: 53 parent: Modules --- diff --git a/docs/content/docs/modules/EpochNo.mdx b/docs/content/docs/modules/EpochNo.mdx index a72a4f18..f2a4d0d0 100644 --- a/docs/content/docs/modules/EpochNo.mdx +++ b/docs/content/docs/modules/EpochNo.mdx @@ -1,6 +1,6 @@ --- title: EpochNo.ts -nav_order: 53 +nav_order: 54 parent: Modules --- diff --git a/docs/content/docs/modules/FormatError.mdx b/docs/content/docs/modules/FormatError.mdx index 10fe056e..d9f7a267 100644 --- a/docs/content/docs/modules/FormatError.mdx +++ b/docs/content/docs/modules/FormatError.mdx @@ -1,6 +1,6 @@ --- title: FormatError.ts -nav_order: 54 +nav_order: 55 parent: Modules --- diff --git a/docs/content/docs/modules/Function.mdx b/docs/content/docs/modules/Function.mdx index c47cacb6..3869238a 100644 --- a/docs/content/docs/modules/Function.mdx +++ b/docs/content/docs/modules/Function.mdx @@ -1,6 +1,6 @@ --- title: Function.ts -nav_order: 55 +nav_order: 56 parent: Modules --- diff --git a/docs/content/docs/modules/GovernanceAction.mdx b/docs/content/docs/modules/GovernanceAction.mdx index 7317a19f..97bf5e32 100644 --- a/docs/content/docs/modules/GovernanceAction.mdx +++ b/docs/content/docs/modules/GovernanceAction.mdx @@ -1,6 +1,6 @@ --- title: GovernanceAction.ts -nav_order: 56 +nav_order: 57 parent: Modules --- diff --git a/docs/content/docs/modules/Hash28.mdx b/docs/content/docs/modules/Hash28.mdx index d32c73a7..afd81e41 100644 --- a/docs/content/docs/modules/Hash28.mdx +++ b/docs/content/docs/modules/Hash28.mdx @@ -1,6 +1,6 @@ --- title: Hash28.ts -nav_order: 57 +nav_order: 58 parent: Modules --- diff --git a/docs/content/docs/modules/Header.mdx b/docs/content/docs/modules/Header.mdx index e74bb78f..9dc3d02d 100644 --- a/docs/content/docs/modules/Header.mdx +++ b/docs/content/docs/modules/Header.mdx @@ -1,6 +1,6 @@ --- title: Header.ts -nav_order: 58 +nav_order: 59 parent: Modules --- diff --git a/docs/content/docs/modules/HeaderBody.mdx b/docs/content/docs/modules/HeaderBody.mdx index 7f17d00a..b46cd873 100644 --- a/docs/content/docs/modules/HeaderBody.mdx +++ b/docs/content/docs/modules/HeaderBody.mdx @@ -1,6 +1,6 @@ --- title: HeaderBody.ts -nav_order: 59 +nav_order: 60 parent: Modules --- diff --git a/docs/content/docs/modules/IPv4.mdx b/docs/content/docs/modules/IPv4.mdx index edf96685..94369d41 100644 --- a/docs/content/docs/modules/IPv4.mdx +++ b/docs/content/docs/modules/IPv4.mdx @@ -1,6 +1,6 @@ --- title: IPv4.ts -nav_order: 60 +nav_order: 62 parent: Modules --- diff --git a/docs/content/docs/modules/IPv6.mdx b/docs/content/docs/modules/IPv6.mdx index 370e3683..671437b1 100644 --- a/docs/content/docs/modules/IPv6.mdx +++ b/docs/content/docs/modules/IPv6.mdx @@ -1,6 +1,6 @@ --- title: IPv6.ts -nav_order: 61 +nav_order: 63 parent: Modules --- diff --git a/docs/content/docs/modules/InlineDatum.mdx b/docs/content/docs/modules/InlineDatum.mdx new file mode 100644 index 00000000..006fee0d --- /dev/null +++ b/docs/content/docs/modules/InlineDatum.mdx @@ -0,0 +1,117 @@ +--- +title: InlineDatum.ts +nav_order: 61 +parent: Modules +--- + +## InlineDatum overview + +--- + +

Table of contents

+ +- [predicates](#predicates) + - [isInlineDatum](#isinlinedatum) +- [schemas](#schemas) + - [InlineDatum (class)](#inlinedatum-class) + - [toJSON (method)](#tojson-method) + - [toString (method)](#tostring-method) + - [[Inspectable.NodeInspectSymbol] (method)](#inspectablenodeinspectsymbol-method) + - [[Equal.symbol] (method)](#equalsymbol-method) + - [[Hash.symbol] (method)](#hashsymbol-method) +- [testing](#testing) + - [arbitrary](#arbitrary) + +--- + +# predicates + +## isInlineDatum + +Type guard to check if a value is an InlineDatum. + +**Signature** + +```ts +export declare const isInlineDatum: (u: unknown, overrideOptions?: ParseOptions | number) => u is InlineDatum +``` + +Added in v2.0.0 + +# schemas + +## InlineDatum (class) + +Schema for InlineDatum representing inline plutus data embedded directly in the transaction output. + +**Signature** + +```ts +export declare class InlineDatum +``` + +Added in v2.0.0 + +### toJSON (method) + +**Signature** + +```ts +toJSON() +``` + +Added in v2.0.0 + +### toString (method) + +**Signature** + +```ts +toString(): string +``` + +Added in v2.0.0 + +### [Inspectable.NodeInspectSymbol] (method) + +**Signature** + +```ts +[Inspectable.NodeInspectSymbol](): unknown +``` + +Added in v2.0.0 + +### [Equal.symbol] (method) + +**Signature** + +```ts +[Equal.symbol](that: unknown): boolean +``` + +Added in v2.0.0 + +### [Hash.symbol] (method) + +**Signature** + +```ts +[Hash.symbol](): number +``` + +Added in v2.0.0 + +# testing + +## arbitrary + +FastCheck arbitrary for generating random InlineDatum instances. + +**Signature** + +```ts +export declare const arbitrary: Arbitrary +``` + +Added in v2.0.0 diff --git a/docs/content/docs/modules/KESVkey.mdx b/docs/content/docs/modules/KESVkey.mdx index b0759aca..c3e93ea7 100644 --- a/docs/content/docs/modules/KESVkey.mdx +++ b/docs/content/docs/modules/KESVkey.mdx @@ -1,6 +1,6 @@ --- title: KESVkey.ts -nav_order: 63 +nav_order: 65 parent: Modules --- diff --git a/docs/content/docs/modules/KesSignature.mdx b/docs/content/docs/modules/KesSignature.mdx index 2ec90970..0cfb5be6 100644 --- a/docs/content/docs/modules/KesSignature.mdx +++ b/docs/content/docs/modules/KesSignature.mdx @@ -1,6 +1,6 @@ --- title: KesSignature.ts -nav_order: 62 +nav_order: 64 parent: Modules --- diff --git a/docs/content/docs/modules/KeyHash.mdx b/docs/content/docs/modules/KeyHash.mdx index 096fbe62..a326411a 100644 --- a/docs/content/docs/modules/KeyHash.mdx +++ b/docs/content/docs/modules/KeyHash.mdx @@ -1,6 +1,6 @@ --- title: KeyHash.ts -nav_order: 64 +nav_order: 66 parent: Modules --- diff --git a/docs/content/docs/modules/Language.mdx b/docs/content/docs/modules/Language.mdx index d460ce92..d861b74e 100644 --- a/docs/content/docs/modules/Language.mdx +++ b/docs/content/docs/modules/Language.mdx @@ -1,6 +1,6 @@ --- title: Language.ts -nav_order: 65 +nav_order: 67 parent: Modules --- diff --git a/docs/content/docs/modules/Metadata.mdx b/docs/content/docs/modules/Metadata.mdx index 1617978d..4bf8fc12 100644 --- a/docs/content/docs/modules/Metadata.mdx +++ b/docs/content/docs/modules/Metadata.mdx @@ -1,6 +1,6 @@ --- title: Metadata.ts -nav_order: 73 +nav_order: 75 parent: Modules --- diff --git a/docs/content/docs/modules/Mint.mdx b/docs/content/docs/modules/Mint.mdx index 2bca2c51..0fd4a70b 100644 --- a/docs/content/docs/modules/Mint.mdx +++ b/docs/content/docs/modules/Mint.mdx @@ -1,6 +1,6 @@ --- title: Mint.ts -nav_order: 74 +nav_order: 76 parent: Modules --- diff --git a/docs/content/docs/modules/MultiAsset.mdx b/docs/content/docs/modules/MultiAsset.mdx index 84716c96..a57f8f46 100644 --- a/docs/content/docs/modules/MultiAsset.mdx +++ b/docs/content/docs/modules/MultiAsset.mdx @@ -1,6 +1,6 @@ --- title: MultiAsset.ts -nav_order: 75 +nav_order: 77 parent: Modules --- diff --git a/docs/content/docs/modules/MultiHostName.mdx b/docs/content/docs/modules/MultiHostName.mdx index ba740a5a..1762fd8e 100644 --- a/docs/content/docs/modules/MultiHostName.mdx +++ b/docs/content/docs/modules/MultiHostName.mdx @@ -1,6 +1,6 @@ --- title: MultiHostName.ts -nav_order: 76 +nav_order: 78 parent: Modules --- diff --git a/docs/content/docs/modules/NativeScriptJSON.mdx b/docs/content/docs/modules/NativeScriptJSON.mdx index 78dcd0ac..f7c6582c 100644 --- a/docs/content/docs/modules/NativeScriptJSON.mdx +++ b/docs/content/docs/modules/NativeScriptJSON.mdx @@ -1,6 +1,6 @@ --- title: NativeScriptJSON.ts -nav_order: 77 +nav_order: 79 parent: Modules --- diff --git a/docs/content/docs/modules/NativeScripts.mdx b/docs/content/docs/modules/NativeScripts.mdx index 1ae6c737..6c4f2774 100644 --- a/docs/content/docs/modules/NativeScripts.mdx +++ b/docs/content/docs/modules/NativeScripts.mdx @@ -1,6 +1,6 @@ --- title: NativeScripts.ts -nav_order: 78 +nav_order: 80 parent: Modules --- diff --git a/docs/content/docs/modules/NativeScriptsOLD.mdx b/docs/content/docs/modules/NativeScriptsOLD.mdx index b7097d84..426e0dc1 100644 --- a/docs/content/docs/modules/NativeScriptsOLD.mdx +++ b/docs/content/docs/modules/NativeScriptsOLD.mdx @@ -1,6 +1,6 @@ --- title: NativeScriptsOLD.ts -nav_order: 79 +nav_order: 81 parent: Modules --- diff --git a/docs/content/docs/modules/Natural.mdx b/docs/content/docs/modules/Natural.mdx index f42dd0b9..8b911f14 100644 --- a/docs/content/docs/modules/Natural.mdx +++ b/docs/content/docs/modules/Natural.mdx @@ -1,6 +1,6 @@ --- title: Natural.ts -nav_order: 80 +nav_order: 82 parent: Modules --- diff --git a/docs/content/docs/modules/Network.mdx b/docs/content/docs/modules/Network.mdx index 2921a848..77c8841f 100644 --- a/docs/content/docs/modules/Network.mdx +++ b/docs/content/docs/modules/Network.mdx @@ -1,6 +1,6 @@ --- title: Network.ts -nav_order: 81 +nav_order: 83 parent: Modules --- diff --git a/docs/content/docs/modules/NetworkId.mdx b/docs/content/docs/modules/NetworkId.mdx index 71bc9ed4..94917db4 100644 --- a/docs/content/docs/modules/NetworkId.mdx +++ b/docs/content/docs/modules/NetworkId.mdx @@ -1,6 +1,6 @@ --- title: NetworkId.ts -nav_order: 82 +nav_order: 84 parent: Modules --- diff --git a/docs/content/docs/modules/NonZeroInt64.mdx b/docs/content/docs/modules/NonZeroInt64.mdx index c4327f0c..6c8db7ac 100644 --- a/docs/content/docs/modules/NonZeroInt64.mdx +++ b/docs/content/docs/modules/NonZeroInt64.mdx @@ -1,6 +1,6 @@ --- title: NonZeroInt64.ts -nav_order: 84 +nav_order: 86 parent: Modules --- diff --git a/docs/content/docs/modules/NonnegativeInterval.mdx b/docs/content/docs/modules/NonnegativeInterval.mdx index 4335fb7d..df483ef7 100644 --- a/docs/content/docs/modules/NonnegativeInterval.mdx +++ b/docs/content/docs/modules/NonnegativeInterval.mdx @@ -1,6 +1,6 @@ --- title: NonnegativeInterval.ts -nav_order: 83 +nav_order: 85 parent: Modules --- diff --git a/docs/content/docs/modules/Numeric.mdx b/docs/content/docs/modules/Numeric.mdx index a034292f..f6347d8f 100644 --- a/docs/content/docs/modules/Numeric.mdx +++ b/docs/content/docs/modules/Numeric.mdx @@ -1,6 +1,6 @@ --- title: Numeric.ts -nav_order: 85 +nav_order: 87 parent: Modules --- diff --git a/docs/content/docs/modules/OperationalCert.mdx b/docs/content/docs/modules/OperationalCert.mdx index 84f203e7..da3bf3ed 100644 --- a/docs/content/docs/modules/OperationalCert.mdx +++ b/docs/content/docs/modules/OperationalCert.mdx @@ -1,6 +1,6 @@ --- title: OperationalCert.ts -nav_order: 86 +nav_order: 88 parent: Modules --- diff --git a/docs/content/docs/modules/PaymentAddress.mdx b/docs/content/docs/modules/PaymentAddress.mdx index ca3d1d98..f0cf3383 100644 --- a/docs/content/docs/modules/PaymentAddress.mdx +++ b/docs/content/docs/modules/PaymentAddress.mdx @@ -1,6 +1,6 @@ --- title: PaymentAddress.ts -nav_order: 87 +nav_order: 89 parent: Modules --- diff --git a/docs/content/docs/modules/PlutusV1.mdx b/docs/content/docs/modules/PlutusV1.mdx index a044b08c..d7247f91 100644 --- a/docs/content/docs/modules/PlutusV1.mdx +++ b/docs/content/docs/modules/PlutusV1.mdx @@ -1,6 +1,6 @@ --- title: PlutusV1.ts -nav_order: 93 +nav_order: 95 parent: Modules --- diff --git a/docs/content/docs/modules/PlutusV2.mdx b/docs/content/docs/modules/PlutusV2.mdx index c2d35267..2048fc55 100644 --- a/docs/content/docs/modules/PlutusV2.mdx +++ b/docs/content/docs/modules/PlutusV2.mdx @@ -1,6 +1,6 @@ --- title: PlutusV2.ts -nav_order: 94 +nav_order: 96 parent: Modules --- diff --git a/docs/content/docs/modules/PlutusV3.mdx b/docs/content/docs/modules/PlutusV3.mdx index feea769a..e57827b1 100644 --- a/docs/content/docs/modules/PlutusV3.mdx +++ b/docs/content/docs/modules/PlutusV3.mdx @@ -1,6 +1,6 @@ --- title: PlutusV3.ts -nav_order: 95 +nav_order: 97 parent: Modules --- diff --git a/docs/content/docs/modules/Pointer.mdx b/docs/content/docs/modules/Pointer.mdx index f0143da2..3d4fb249 100644 --- a/docs/content/docs/modules/Pointer.mdx +++ b/docs/content/docs/modules/Pointer.mdx @@ -1,6 +1,6 @@ --- title: Pointer.ts -nav_order: 96 +nav_order: 98 parent: Modules --- diff --git a/docs/content/docs/modules/PointerAddress.mdx b/docs/content/docs/modules/PointerAddress.mdx index fbc03d16..adb5b4b7 100644 --- a/docs/content/docs/modules/PointerAddress.mdx +++ b/docs/content/docs/modules/PointerAddress.mdx @@ -1,6 +1,6 @@ --- title: PointerAddress.ts -nav_order: 97 +nav_order: 99 parent: Modules --- diff --git a/docs/content/docs/modules/PolicyId.mdx b/docs/content/docs/modules/PolicyId.mdx index 2c1cc532..51e83d3c 100644 --- a/docs/content/docs/modules/PolicyId.mdx +++ b/docs/content/docs/modules/PolicyId.mdx @@ -1,6 +1,6 @@ --- title: PolicyId.ts -nav_order: 98 +nav_order: 100 parent: Modules --- diff --git a/docs/content/docs/modules/PoolKeyHash.mdx b/docs/content/docs/modules/PoolKeyHash.mdx index 537d0943..bb8a460b 100644 --- a/docs/content/docs/modules/PoolKeyHash.mdx +++ b/docs/content/docs/modules/PoolKeyHash.mdx @@ -1,6 +1,6 @@ --- title: PoolKeyHash.ts -nav_order: 99 +nav_order: 101 parent: Modules --- @@ -13,6 +13,7 @@ parent: Modules - [arbitrary](#arbitrary) - [arbitrary](#arbitrary-1) - [encoding](#encoding) + - [toBech32](#tobech32) - [toBytes](#tobytes) - [toHex](#tohex) - [model](#model) @@ -23,9 +24,11 @@ parent: Modules - [[Equal.symbol] (method)](#equalsymbol-method) - [[Hash.symbol] (method)](#hashsymbol-method) - [parsing](#parsing) + - [fromBech32](#frombech32) - [fromBytes](#frombytes) - [fromHex](#fromhex) - [schemas](#schemas) + - [FromBech32](#frombech32-1) - [FromBytes](#frombytes-1) - [FromHex](#fromhex-1) @@ -47,6 +50,18 @@ Added in v2.0.0 # encoding +## toBech32 + +Encode PoolKeyHash to bech32 string (pool1...). + +**Signature** + +```ts +export declare const toBech32: (a: PoolKeyHash, overrideOptions?: ParseOptions) => string +``` + +Added in v2.0.0 + ## toBytes Encode PoolKeyHash to bytes. @@ -128,6 +143,18 @@ toString(): string # parsing +## fromBech32 + +Parse PoolKeyHash from bech32 string (pool1...). + +**Signature** + +```ts +export declare const fromBech32: (i: string, overrideOptions?: ParseOptions) => PoolKeyHash +``` + +Added in v2.0.0 + ## fromBytes Parse PoolKeyHash from bytes. @@ -154,6 +181,22 @@ Added in v2.0.0 # schemas +## FromBech32 + +Schema transformer from bech32 string (pool1...) to PoolKeyHash. + +**Signature** + +```ts +export declare const FromBech32: Schema.transformOrFail< + typeof Schema.String, + Schema.SchemaClass, + never +> +``` + +Added in v2.0.0 + ## FromBytes Schema transformer from bytes to PoolKeyHash. diff --git a/docs/content/docs/modules/PoolMetadata.mdx b/docs/content/docs/modules/PoolMetadata.mdx index 6cfa0493..5cf4556e 100644 --- a/docs/content/docs/modules/PoolMetadata.mdx +++ b/docs/content/docs/modules/PoolMetadata.mdx @@ -1,6 +1,6 @@ --- title: PoolMetadata.ts -nav_order: 100 +nav_order: 102 parent: Modules --- diff --git a/docs/content/docs/modules/PoolParams.mdx b/docs/content/docs/modules/PoolParams.mdx index 569240bf..5f89d852 100644 --- a/docs/content/docs/modules/PoolParams.mdx +++ b/docs/content/docs/modules/PoolParams.mdx @@ -1,6 +1,6 @@ --- title: PoolParams.ts -nav_order: 101 +nav_order: 103 parent: Modules --- diff --git a/docs/content/docs/modules/Port.mdx b/docs/content/docs/modules/Port.mdx index bf172d3d..1487b1e9 100644 --- a/docs/content/docs/modules/Port.mdx +++ b/docs/content/docs/modules/Port.mdx @@ -1,6 +1,6 @@ --- title: Port.ts -nav_order: 102 +nav_order: 104 parent: Modules --- diff --git a/docs/content/docs/modules/PositiveCoin.mdx b/docs/content/docs/modules/PositiveCoin.mdx index 201f519f..4c5d493c 100644 --- a/docs/content/docs/modules/PositiveCoin.mdx +++ b/docs/content/docs/modules/PositiveCoin.mdx @@ -1,6 +1,6 @@ --- title: PositiveCoin.ts -nav_order: 103 +nav_order: 105 parent: Modules --- diff --git a/docs/content/docs/modules/PrivateKey.mdx b/docs/content/docs/modules/PrivateKey.mdx index 6f912201..dc82ab72 100644 --- a/docs/content/docs/modules/PrivateKey.mdx +++ b/docs/content/docs/modules/PrivateKey.mdx @@ -1,6 +1,6 @@ --- title: PrivateKey.ts -nav_order: 104 +nav_order: 106 parent: Modules --- diff --git a/docs/content/docs/modules/ProposalProcedure.mdx b/docs/content/docs/modules/ProposalProcedure.mdx index 74450dc9..deb67e33 100644 --- a/docs/content/docs/modules/ProposalProcedure.mdx +++ b/docs/content/docs/modules/ProposalProcedure.mdx @@ -1,6 +1,6 @@ --- title: ProposalProcedure.ts -nav_order: 105 +nav_order: 107 parent: Modules --- diff --git a/docs/content/docs/modules/ProposalProcedures.mdx b/docs/content/docs/modules/ProposalProcedures.mdx index 71261b90..26795832 100644 --- a/docs/content/docs/modules/ProposalProcedures.mdx +++ b/docs/content/docs/modules/ProposalProcedures.mdx @@ -1,6 +1,6 @@ --- title: ProposalProcedures.ts -nav_order: 106 +nav_order: 108 parent: Modules --- diff --git a/docs/content/docs/modules/ProtocolParamUpdate.mdx b/docs/content/docs/modules/ProtocolParamUpdate.mdx index 5c32baaa..978869d7 100644 --- a/docs/content/docs/modules/ProtocolParamUpdate.mdx +++ b/docs/content/docs/modules/ProtocolParamUpdate.mdx @@ -1,6 +1,6 @@ --- title: ProtocolParamUpdate.ts -nav_order: 107 +nav_order: 109 parent: Modules --- diff --git a/docs/content/docs/modules/ProtocolVersion.mdx b/docs/content/docs/modules/ProtocolVersion.mdx index 1e6e533d..051927ed 100644 --- a/docs/content/docs/modules/ProtocolVersion.mdx +++ b/docs/content/docs/modules/ProtocolVersion.mdx @@ -1,6 +1,6 @@ --- title: ProtocolVersion.ts -nav_order: 108 +nav_order: 110 parent: Modules --- diff --git a/docs/content/docs/modules/Redeemer.mdx b/docs/content/docs/modules/Redeemer.mdx index 794dafb4..e1d0cfba 100644 --- a/docs/content/docs/modules/Redeemer.mdx +++ b/docs/content/docs/modules/Redeemer.mdx @@ -1,6 +1,6 @@ --- title: Redeemer.ts -nav_order: 109 +nav_order: 111 parent: Modules --- diff --git a/docs/content/docs/modules/Redeemers.mdx b/docs/content/docs/modules/Redeemers.mdx index f5fe24d1..5a6f3892 100644 --- a/docs/content/docs/modules/Redeemers.mdx +++ b/docs/content/docs/modules/Redeemers.mdx @@ -1,6 +1,6 @@ --- title: Redeemers.ts -nav_order: 110 +nav_order: 112 parent: Modules --- diff --git a/docs/content/docs/modules/Relay.mdx b/docs/content/docs/modules/Relay.mdx index 1f4ddd96..1fbfc58f 100644 --- a/docs/content/docs/modules/Relay.mdx +++ b/docs/content/docs/modules/Relay.mdx @@ -1,6 +1,6 @@ --- title: Relay.ts -nav_order: 111 +nav_order: 113 parent: Modules --- diff --git a/docs/content/docs/modules/RewardAccount.mdx b/docs/content/docs/modules/RewardAccount.mdx index c3b8bf4d..fc4379a8 100644 --- a/docs/content/docs/modules/RewardAccount.mdx +++ b/docs/content/docs/modules/RewardAccount.mdx @@ -1,6 +1,6 @@ --- title: RewardAccount.ts -nav_order: 112 +nav_order: 114 parent: Modules --- diff --git a/docs/content/docs/modules/RewardAddress.mdx b/docs/content/docs/modules/RewardAddress.mdx index 0eff2c70..bd862a9a 100644 --- a/docs/content/docs/modules/RewardAddress.mdx +++ b/docs/content/docs/modules/RewardAddress.mdx @@ -1,6 +1,6 @@ --- title: RewardAddress.ts -nav_order: 113 +nav_order: 115 parent: Modules --- diff --git a/docs/content/docs/modules/Script.mdx b/docs/content/docs/modules/Script.mdx index 5a5a5b28..f4623cfd 100644 --- a/docs/content/docs/modules/Script.mdx +++ b/docs/content/docs/modules/Script.mdx @@ -1,6 +1,6 @@ --- title: Script.ts -nav_order: 114 +nav_order: 116 parent: Modules --- diff --git a/docs/content/docs/modules/ScriptDataHash.mdx b/docs/content/docs/modules/ScriptDataHash.mdx index 6b747789..3c709048 100644 --- a/docs/content/docs/modules/ScriptDataHash.mdx +++ b/docs/content/docs/modules/ScriptDataHash.mdx @@ -1,6 +1,6 @@ --- title: ScriptDataHash.ts -nav_order: 115 +nav_order: 117 parent: Modules --- diff --git a/docs/content/docs/modules/ScriptHash.mdx b/docs/content/docs/modules/ScriptHash.mdx index 353552c1..c798e2fc 100644 --- a/docs/content/docs/modules/ScriptHash.mdx +++ b/docs/content/docs/modules/ScriptHash.mdx @@ -1,6 +1,6 @@ --- title: ScriptHash.ts -nav_order: 116 +nav_order: 118 parent: Modules --- diff --git a/docs/content/docs/modules/ScriptRef.mdx b/docs/content/docs/modules/ScriptRef.mdx index 57cef6ad..d0bf2d1b 100644 --- a/docs/content/docs/modules/ScriptRef.mdx +++ b/docs/content/docs/modules/ScriptRef.mdx @@ -1,6 +1,6 @@ --- title: ScriptRef.ts -nav_order: 117 +nav_order: 119 parent: Modules --- diff --git a/docs/content/docs/modules/SingleHostAddr.mdx b/docs/content/docs/modules/SingleHostAddr.mdx index e2082f79..b086929e 100644 --- a/docs/content/docs/modules/SingleHostAddr.mdx +++ b/docs/content/docs/modules/SingleHostAddr.mdx @@ -1,6 +1,6 @@ --- title: SingleHostAddr.ts -nav_order: 163 +nav_order: 166 parent: Modules --- diff --git a/docs/content/docs/modules/SingleHostName.mdx b/docs/content/docs/modules/SingleHostName.mdx index ab4f54ec..7a66682c 100644 --- a/docs/content/docs/modules/SingleHostName.mdx +++ b/docs/content/docs/modules/SingleHostName.mdx @@ -1,6 +1,6 @@ --- title: SingleHostName.ts -nav_order: 164 +nav_order: 167 parent: Modules --- diff --git a/docs/content/docs/modules/StakeReference.mdx b/docs/content/docs/modules/StakeReference.mdx index e14a9cdc..b5b4dcdb 100644 --- a/docs/content/docs/modules/StakeReference.mdx +++ b/docs/content/docs/modules/StakeReference.mdx @@ -1,6 +1,6 @@ --- title: StakeReference.ts -nav_order: 165 +nav_order: 168 parent: Modules --- diff --git a/docs/content/docs/modules/TSchema.mdx b/docs/content/docs/modules/TSchema.mdx index 351cda1f..99a264bb 100644 --- a/docs/content/docs/modules/TSchema.mdx +++ b/docs/content/docs/modules/TSchema.mdx @@ -1,6 +1,6 @@ --- title: TSchema.ts -nav_order: 180 +nav_order: 183 parent: Modules --- diff --git a/docs/content/docs/modules/Text.mdx b/docs/content/docs/modules/Text.mdx index d95d0c6d..b7486c0c 100644 --- a/docs/content/docs/modules/Text.mdx +++ b/docs/content/docs/modules/Text.mdx @@ -1,6 +1,6 @@ --- title: Text.ts -nav_order: 166 +nav_order: 169 parent: Modules --- diff --git a/docs/content/docs/modules/Text128.mdx b/docs/content/docs/modules/Text128.mdx index 9fff7a4b..279349cf 100644 --- a/docs/content/docs/modules/Text128.mdx +++ b/docs/content/docs/modules/Text128.mdx @@ -1,6 +1,6 @@ --- title: Text128.ts -nav_order: 167 +nav_order: 170 parent: Modules --- diff --git a/docs/content/docs/modules/Time/Slot.mdx b/docs/content/docs/modules/Time/Slot.mdx index 6fbf5bbe..1f4a4180 100644 --- a/docs/content/docs/modules/Time/Slot.mdx +++ b/docs/content/docs/modules/Time/Slot.mdx @@ -1,6 +1,6 @@ --- title: Time/Slot.ts -nav_order: 168 +nav_order: 171 parent: Modules --- diff --git a/docs/content/docs/modules/Time/SlotConfig.mdx b/docs/content/docs/modules/Time/SlotConfig.mdx index e8e10783..b1369c9e 100644 --- a/docs/content/docs/modules/Time/SlotConfig.mdx +++ b/docs/content/docs/modules/Time/SlotConfig.mdx @@ -1,6 +1,6 @@ --- title: Time/SlotConfig.ts -nav_order: 169 +nav_order: 172 parent: Modules --- diff --git a/docs/content/docs/modules/Time/UnixTime.mdx b/docs/content/docs/modules/Time/UnixTime.mdx index 0e601c71..35784a57 100644 --- a/docs/content/docs/modules/Time/UnixTime.mdx +++ b/docs/content/docs/modules/Time/UnixTime.mdx @@ -1,6 +1,6 @@ --- title: Time/UnixTime.ts -nav_order: 170 +nav_order: 173 parent: Modules --- diff --git a/docs/content/docs/modules/Transaction.mdx b/docs/content/docs/modules/Transaction.mdx index a2cdf352..dee0f686 100644 --- a/docs/content/docs/modules/Transaction.mdx +++ b/docs/content/docs/modules/Transaction.mdx @@ -1,6 +1,6 @@ --- title: Transaction.ts -nav_order: 171 +nav_order: 174 parent: Modules --- diff --git a/docs/content/docs/modules/TransactionBody.mdx b/docs/content/docs/modules/TransactionBody.mdx index 0252715b..22b89d45 100644 --- a/docs/content/docs/modules/TransactionBody.mdx +++ b/docs/content/docs/modules/TransactionBody.mdx @@ -1,6 +1,6 @@ --- title: TransactionBody.ts -nav_order: 172 +nav_order: 175 parent: Modules --- diff --git a/docs/content/docs/modules/TransactionHash.mdx b/docs/content/docs/modules/TransactionHash.mdx index 63bc1271..f7b5e992 100644 --- a/docs/content/docs/modules/TransactionHash.mdx +++ b/docs/content/docs/modules/TransactionHash.mdx @@ -1,6 +1,6 @@ --- title: TransactionHash.ts -nav_order: 173 +nav_order: 176 parent: Modules --- diff --git a/docs/content/docs/modules/TransactionIndex.mdx b/docs/content/docs/modules/TransactionIndex.mdx index d9643c01..ba04b3f6 100644 --- a/docs/content/docs/modules/TransactionIndex.mdx +++ b/docs/content/docs/modules/TransactionIndex.mdx @@ -1,6 +1,6 @@ --- title: TransactionIndex.ts -nav_order: 174 +nav_order: 177 parent: Modules --- diff --git a/docs/content/docs/modules/TransactionInput.mdx b/docs/content/docs/modules/TransactionInput.mdx index 6f957233..06dde4f8 100644 --- a/docs/content/docs/modules/TransactionInput.mdx +++ b/docs/content/docs/modules/TransactionInput.mdx @@ -1,6 +1,6 @@ --- title: TransactionInput.ts -nav_order: 175 +nav_order: 178 parent: Modules --- diff --git a/docs/content/docs/modules/TransactionMetadatum.mdx b/docs/content/docs/modules/TransactionMetadatum.mdx index 875ea686..673bea81 100644 --- a/docs/content/docs/modules/TransactionMetadatum.mdx +++ b/docs/content/docs/modules/TransactionMetadatum.mdx @@ -1,6 +1,6 @@ --- title: TransactionMetadatum.ts -nav_order: 176 +nav_order: 179 parent: Modules --- diff --git a/docs/content/docs/modules/TransactionMetadatumLabels.mdx b/docs/content/docs/modules/TransactionMetadatumLabels.mdx index 6530d177..94e93414 100644 --- a/docs/content/docs/modules/TransactionMetadatumLabels.mdx +++ b/docs/content/docs/modules/TransactionMetadatumLabels.mdx @@ -1,6 +1,6 @@ --- title: TransactionMetadatumLabels.ts -nav_order: 177 +nav_order: 180 parent: Modules --- diff --git a/docs/content/docs/modules/TransactionOutput.mdx b/docs/content/docs/modules/TransactionOutput.mdx index a35dda53..661bbf53 100644 --- a/docs/content/docs/modules/TransactionOutput.mdx +++ b/docs/content/docs/modules/TransactionOutput.mdx @@ -1,6 +1,6 @@ --- title: TransactionOutput.ts -nav_order: 178 +nav_order: 181 parent: Modules --- diff --git a/docs/content/docs/modules/TransactionWitnessSet.mdx b/docs/content/docs/modules/TransactionWitnessSet.mdx index 9823ad9e..c310cf0f 100644 --- a/docs/content/docs/modules/TransactionWitnessSet.mdx +++ b/docs/content/docs/modules/TransactionWitnessSet.mdx @@ -1,6 +1,6 @@ --- title: TransactionWitnessSet.ts -nav_order: 179 +nav_order: 182 parent: Modules --- diff --git a/docs/content/docs/modules/TxOut.mdx b/docs/content/docs/modules/TxOut.mdx index 46485d58..4917a3d9 100644 --- a/docs/content/docs/modules/TxOut.mdx +++ b/docs/content/docs/modules/TxOut.mdx @@ -1,6 +1,6 @@ --- title: TxOut.ts -nav_order: 181 +nav_order: 184 parent: Modules --- diff --git a/docs/content/docs/modules/UTxO.mdx b/docs/content/docs/modules/UTxO.mdx index 8d587208..fe6c223e 100644 --- a/docs/content/docs/modules/UTxO.mdx +++ b/docs/content/docs/modules/UTxO.mdx @@ -1,6 +1,6 @@ --- title: UTxO.ts -nav_order: 188 +nav_order: 191 parent: Modules --- diff --git a/docs/content/docs/modules/UnitInterval.mdx b/docs/content/docs/modules/UnitInterval.mdx index dc398cfc..891947de 100644 --- a/docs/content/docs/modules/UnitInterval.mdx +++ b/docs/content/docs/modules/UnitInterval.mdx @@ -1,6 +1,6 @@ --- title: UnitInterval.ts -nav_order: 182 +nav_order: 185 parent: Modules --- diff --git a/docs/content/docs/modules/Url.mdx b/docs/content/docs/modules/Url.mdx index 79ee8944..ee0df942 100644 --- a/docs/content/docs/modules/Url.mdx +++ b/docs/content/docs/modules/Url.mdx @@ -1,6 +1,6 @@ --- title: Url.ts -nav_order: 184 +nav_order: 187 parent: Modules --- diff --git a/docs/content/docs/modules/VKey.mdx b/docs/content/docs/modules/VKey.mdx index 96efa281..9ee6f579 100644 --- a/docs/content/docs/modules/VKey.mdx +++ b/docs/content/docs/modules/VKey.mdx @@ -1,6 +1,6 @@ --- title: VKey.ts -nav_order: 190 +nav_order: 193 parent: Modules --- diff --git a/docs/content/docs/modules/Value.mdx b/docs/content/docs/modules/Value.mdx index a7a131c6..17c5c599 100644 --- a/docs/content/docs/modules/Value.mdx +++ b/docs/content/docs/modules/Value.mdx @@ -1,6 +1,6 @@ --- title: Value.ts -nav_order: 189 +nav_order: 192 parent: Modules --- diff --git a/docs/content/docs/modules/VotingProcedures.mdx b/docs/content/docs/modules/VotingProcedures.mdx index 490963ec..ee680bcd 100644 --- a/docs/content/docs/modules/VotingProcedures.mdx +++ b/docs/content/docs/modules/VotingProcedures.mdx @@ -1,6 +1,6 @@ --- title: VotingProcedures.ts -nav_order: 191 +nav_order: 194 parent: Modules --- diff --git a/docs/content/docs/modules/VrfCert.mdx b/docs/content/docs/modules/VrfCert.mdx index 263dce6f..0d4885ab 100644 --- a/docs/content/docs/modules/VrfCert.mdx +++ b/docs/content/docs/modules/VrfCert.mdx @@ -1,6 +1,6 @@ --- title: VrfCert.ts -nav_order: 192 +nav_order: 195 parent: Modules --- diff --git a/docs/content/docs/modules/VrfKeyHash.mdx b/docs/content/docs/modules/VrfKeyHash.mdx index 23d9d49d..8789845a 100644 --- a/docs/content/docs/modules/VrfKeyHash.mdx +++ b/docs/content/docs/modules/VrfKeyHash.mdx @@ -1,6 +1,6 @@ --- title: VrfKeyHash.ts -nav_order: 193 +nav_order: 196 parent: Modules --- diff --git a/docs/content/docs/modules/VrfVkey.mdx b/docs/content/docs/modules/VrfVkey.mdx index 6122c198..b28905fd 100644 --- a/docs/content/docs/modules/VrfVkey.mdx +++ b/docs/content/docs/modules/VrfVkey.mdx @@ -1,6 +1,6 @@ --- title: VrfVkey.ts -nav_order: 194 +nav_order: 197 parent: Modules --- diff --git a/docs/content/docs/modules/Withdrawals.mdx b/docs/content/docs/modules/Withdrawals.mdx index b8de7db3..322b62ba 100644 --- a/docs/content/docs/modules/Withdrawals.mdx +++ b/docs/content/docs/modules/Withdrawals.mdx @@ -1,6 +1,6 @@ --- title: Withdrawals.ts -nav_order: 195 +nav_order: 198 parent: Modules --- diff --git a/docs/content/docs/modules/_meta.json b/docs/content/docs/modules/_meta.json index b77123f5..0fd87939 100644 --- a/docs/content/docs/modules/_meta.json +++ b/docs/content/docs/modules/_meta.json @@ -42,6 +42,7 @@ "DRepCredential": "DRepCredential", "Data": "Data", "DataJson": "DataJson", + "DatumHash": "DatumHash", "DatumOption": "DatumOption", "DnsName": "DnsName", "Ed25519Signature": "Ed25519Signature", @@ -55,6 +56,7 @@ "HeaderBody": "HeaderBody", "IPv4": "IPv4", "IPv6": "IPv6", + "InlineDatum": "InlineDatum", "KESVkey": "KESVkey", "KesSignature": "KesSignature", "KeyHash": "KeyHash", diff --git a/docs/content/docs/modules/message-signing/CoseKey.mdx b/docs/content/docs/modules/message-signing/CoseKey.mdx index c3c10976..383f254c 100644 --- a/docs/content/docs/modules/message-signing/CoseKey.mdx +++ b/docs/content/docs/modules/message-signing/CoseKey.mdx @@ -1,6 +1,6 @@ --- title: message-signing/CoseKey.ts -nav_order: 66 +nav_order: 68 parent: Modules --- diff --git a/docs/content/docs/modules/message-signing/CoseSign.mdx b/docs/content/docs/modules/message-signing/CoseSign.mdx index 62d7cc9b..a62eb407 100644 --- a/docs/content/docs/modules/message-signing/CoseSign.mdx +++ b/docs/content/docs/modules/message-signing/CoseSign.mdx @@ -1,6 +1,6 @@ --- title: message-signing/CoseSign.ts -nav_order: 67 +nav_order: 69 parent: Modules --- diff --git a/docs/content/docs/modules/message-signing/CoseSign1.mdx b/docs/content/docs/modules/message-signing/CoseSign1.mdx index 4b54dd53..1ebed657 100644 --- a/docs/content/docs/modules/message-signing/CoseSign1.mdx +++ b/docs/content/docs/modules/message-signing/CoseSign1.mdx @@ -1,6 +1,6 @@ --- title: message-signing/CoseSign1.ts -nav_order: 68 +nav_order: 70 parent: Modules --- diff --git a/docs/content/docs/modules/message-signing/Header.mdx b/docs/content/docs/modules/message-signing/Header.mdx index 073cb1a3..e60e04ee 100644 --- a/docs/content/docs/modules/message-signing/Header.mdx +++ b/docs/content/docs/modules/message-signing/Header.mdx @@ -1,6 +1,6 @@ --- title: message-signing/Header.ts -nav_order: 69 +nav_order: 71 parent: Modules --- diff --git a/docs/content/docs/modules/message-signing/Label.mdx b/docs/content/docs/modules/message-signing/Label.mdx index 58c5185e..d305acad 100644 --- a/docs/content/docs/modules/message-signing/Label.mdx +++ b/docs/content/docs/modules/message-signing/Label.mdx @@ -1,6 +1,6 @@ --- title: message-signing/Label.ts -nav_order: 70 +nav_order: 72 parent: Modules --- diff --git a/docs/content/docs/modules/message-signing/SignData.mdx b/docs/content/docs/modules/message-signing/SignData.mdx index 86f3a8af..9ae13e82 100644 --- a/docs/content/docs/modules/message-signing/SignData.mdx +++ b/docs/content/docs/modules/message-signing/SignData.mdx @@ -1,6 +1,6 @@ --- title: message-signing/SignData.ts -nav_order: 71 +nav_order: 73 parent: Modules --- diff --git a/docs/content/docs/modules/message-signing/Utils.mdx b/docs/content/docs/modules/message-signing/Utils.mdx index b20b63ec..1158b387 100644 --- a/docs/content/docs/modules/message-signing/Utils.mdx +++ b/docs/content/docs/modules/message-signing/Utils.mdx @@ -1,6 +1,6 @@ --- title: message-signing/Utils.ts -nav_order: 72 +nav_order: 74 parent: Modules --- diff --git a/docs/content/docs/modules/plutus/Address.mdx b/docs/content/docs/modules/plutus/Address.mdx index 8478aec8..99fa119d 100644 --- a/docs/content/docs/modules/plutus/Address.mdx +++ b/docs/content/docs/modules/plutus/Address.mdx @@ -1,6 +1,6 @@ --- title: plutus/Address.ts -nav_order: 88 +nav_order: 90 parent: Modules --- diff --git a/docs/content/docs/modules/plutus/CIP68Metadata.mdx b/docs/content/docs/modules/plutus/CIP68Metadata.mdx index 1045ac68..c79fc93b 100644 --- a/docs/content/docs/modules/plutus/CIP68Metadata.mdx +++ b/docs/content/docs/modules/plutus/CIP68Metadata.mdx @@ -1,6 +1,6 @@ --- title: plutus/CIP68Metadata.ts -nav_order: 89 +nav_order: 91 parent: Modules --- diff --git a/docs/content/docs/modules/plutus/Credential.mdx b/docs/content/docs/modules/plutus/Credential.mdx index 358050d1..4070fe3d 100644 --- a/docs/content/docs/modules/plutus/Credential.mdx +++ b/docs/content/docs/modules/plutus/Credential.mdx @@ -1,6 +1,6 @@ --- title: plutus/Credential.ts -nav_order: 90 +nav_order: 92 parent: Modules --- diff --git a/docs/content/docs/modules/plutus/OutputReference.mdx b/docs/content/docs/modules/plutus/OutputReference.mdx index b3984d44..921e23ff 100644 --- a/docs/content/docs/modules/plutus/OutputReference.mdx +++ b/docs/content/docs/modules/plutus/OutputReference.mdx @@ -1,6 +1,6 @@ --- title: plutus/OutputReference.ts -nav_order: 91 +nav_order: 93 parent: Modules --- diff --git a/docs/content/docs/modules/plutus/Value.mdx b/docs/content/docs/modules/plutus/Value.mdx index f3847740..381fbe58 100644 --- a/docs/content/docs/modules/plutus/Value.mdx +++ b/docs/content/docs/modules/plutus/Value.mdx @@ -1,6 +1,6 @@ --- title: plutus/Value.ts -nav_order: 92 +nav_order: 94 parent: Modules --- diff --git a/docs/content/docs/modules/sdk/EvalRedeemer.mdx b/docs/content/docs/modules/sdk/EvalRedeemer.mdx index 47f8007f..224e4a7e 100644 --- a/docs/content/docs/modules/sdk/EvalRedeemer.mdx +++ b/docs/content/docs/modules/sdk/EvalRedeemer.mdx @@ -1,6 +1,6 @@ --- title: sdk/EvalRedeemer.ts -nav_order: 154 +nav_order: 157 parent: Modules --- diff --git a/docs/content/docs/modules/sdk/Type.mdx b/docs/content/docs/modules/sdk/Type.mdx index 93c9c82f..88b9518a 100644 --- a/docs/content/docs/modules/sdk/Type.mdx +++ b/docs/content/docs/modules/sdk/Type.mdx @@ -1,6 +1,6 @@ --- title: sdk/Type.ts -nav_order: 160 +nav_order: 163 parent: Modules --- diff --git a/docs/content/docs/modules/sdk/builders/CoinSelection.mdx b/docs/content/docs/modules/sdk/builders/CoinSelection.mdx index 1c908090..54e2cd85 100644 --- a/docs/content/docs/modules/sdk/builders/CoinSelection.mdx +++ b/docs/content/docs/modules/sdk/builders/CoinSelection.mdx @@ -1,6 +1,6 @@ --- title: sdk/builders/CoinSelection.ts -nav_order: 118 +nav_order: 120 parent: Modules --- diff --git a/docs/content/docs/modules/sdk/builders/EvaluationStateManager.mdx b/docs/content/docs/modules/sdk/builders/EvaluationStateManager.mdx index 21d552f0..d088bffe 100644 --- a/docs/content/docs/modules/sdk/builders/EvaluationStateManager.mdx +++ b/docs/content/docs/modules/sdk/builders/EvaluationStateManager.mdx @@ -1,6 +1,6 @@ --- title: sdk/builders/EvaluationStateManager.ts -nav_order: 119 +nav_order: 121 parent: Modules --- diff --git a/docs/content/docs/modules/sdk/builders/RedeemerBuilder.mdx b/docs/content/docs/modules/sdk/builders/RedeemerBuilder.mdx index d807e597..8d99a3cb 100644 --- a/docs/content/docs/modules/sdk/builders/RedeemerBuilder.mdx +++ b/docs/content/docs/modules/sdk/builders/RedeemerBuilder.mdx @@ -1,6 +1,6 @@ --- title: sdk/builders/RedeemerBuilder.ts -nav_order: 143 +nav_order: 146 parent: Modules --- diff --git a/docs/content/docs/modules/sdk/builders/SignBuilder.mdx b/docs/content/docs/modules/sdk/builders/SignBuilder.mdx index aa02b6ed..8612fa50 100644 --- a/docs/content/docs/modules/sdk/builders/SignBuilder.mdx +++ b/docs/content/docs/modules/sdk/builders/SignBuilder.mdx @@ -1,6 +1,6 @@ --- title: sdk/builders/SignBuilder.ts -nav_order: 144 +nav_order: 147 parent: Modules --- diff --git a/docs/content/docs/modules/sdk/builders/SignBuilderImpl.mdx b/docs/content/docs/modules/sdk/builders/SignBuilderImpl.mdx index acae7a97..371576e4 100644 --- a/docs/content/docs/modules/sdk/builders/SignBuilderImpl.mdx +++ b/docs/content/docs/modules/sdk/builders/SignBuilderImpl.mdx @@ -1,6 +1,6 @@ --- title: sdk/builders/SignBuilderImpl.ts -nav_order: 145 +nav_order: 148 parent: Modules --- diff --git a/docs/content/docs/modules/sdk/builders/SubmitBuilder.mdx b/docs/content/docs/modules/sdk/builders/SubmitBuilder.mdx index e7de5f11..d32b0728 100644 --- a/docs/content/docs/modules/sdk/builders/SubmitBuilder.mdx +++ b/docs/content/docs/modules/sdk/builders/SubmitBuilder.mdx @@ -1,6 +1,6 @@ --- title: sdk/builders/SubmitBuilder.ts -nav_order: 146 +nav_order: 149 parent: Modules --- diff --git a/docs/content/docs/modules/sdk/builders/SubmitBuilderImpl.mdx b/docs/content/docs/modules/sdk/builders/SubmitBuilderImpl.mdx index 34632d99..4dd9eeef 100644 --- a/docs/content/docs/modules/sdk/builders/SubmitBuilderImpl.mdx +++ b/docs/content/docs/modules/sdk/builders/SubmitBuilderImpl.mdx @@ -1,6 +1,6 @@ --- title: sdk/builders/SubmitBuilderImpl.ts -nav_order: 147 +nav_order: 150 parent: Modules --- diff --git a/docs/content/docs/modules/sdk/builders/TransactionBuilder.mdx b/docs/content/docs/modules/sdk/builders/TransactionBuilder.mdx index dae3831b..e3b210e5 100644 --- a/docs/content/docs/modules/sdk/builders/TransactionBuilder.mdx +++ b/docs/content/docs/modules/sdk/builders/TransactionBuilder.mdx @@ -1,6 +1,6 @@ --- title: sdk/builders/TransactionBuilder.ts -nav_order: 148 +nav_order: 151 parent: Modules --- @@ -256,6 +256,39 @@ export interface TransactionBuilderBase { */ readonly collectFrom: (params: CollectFromParams) => this + /** + * Send all wallet assets to a recipient address. + * + * This operation collects all wallet UTxOs and creates a single output + * containing all assets minus the transaction fee. No change output is created. + * + * Use cases: + * - Draining a wallet completely + * - Consolidating all UTxOs into a single output + * - Migrating funds to a new address + * + * **Important**: This operation is mutually exclusive with `payToAddress` and `collectFrom`. + * When `sendAll` is used, all wallet UTxOs are automatically collected and the output + * is automatically created. Any existing outputs or inputs will cause an error. + * + * Queues a deferred operation that will be executed when build() is called. + * Returns the same builder for method chaining. + * + * @example + * ```typescript + * import { Address } from "@evolution-sdk/evolution" + * + * const tx = await client + * .newTx() + * .sendAll({ to: Address.fromBech32("addr1...") }) + * .build() + * ``` + * + * @since 2.0.0 + * @category builder-methods + */ + readonly sendAll: (params: SendAllParams) => this + /** * Attach a script to the transaction. * @@ -1202,7 +1235,7 @@ Added in v2.0.0 ## TxContext (class) Context service providing transaction building state to programs. -Directly holds the mutable state Ref - config is passed as a regular parameter. +Holds the mutable state Ref - config is passed as a regular parameter. **Signature** @@ -1405,9 +1438,16 @@ Added in v2.0.0 ## TxBuilderState (interface) -Mutable state for transaction building. +Mutable state created FRESH on each build() call. Contains all state needed during transaction construction. +State lifecycle: + +1. Created fresh when build() is called +2. Modified by ProgramSteps during execution +3. Used to construct final transaction +4. Discarded after build completes + **Signature** ```ts @@ -1439,6 +1479,7 @@ export interface TxBuilderState { } readonly requiredSigners: ReadonlyArray // Extra signers required (for script validation) readonly auxiliaryData?: AuxiliaryData.AuxiliaryData // Auxiliary data (metadata, scripts, etc.) + readonly sendAllTo?: CoreAddress.Address // Target address for sendAll operation } ``` @@ -1673,6 +1714,37 @@ export interface BuildOptions { */ readonly evaluator?: Evaluator + /** + * Pass additional UTxOs to provider-based evaluators. + * + * By default, provider evaluators (Ogmios, Blockfrost) don't receive additionalUtxos + * because they can resolve UTxOs from the chain, and passing them causes + * "OverlappingAdditionalUtxo" errors. + * + * Set to `true` for edge cases where you need to evaluate with UTxOs that + * are not yet on chain (e.g., chained transactions, emulator scenarios). + * + * Note: This option has no effect on custom evaluators (Aiken, Scalus) which + * always receive additionalUtxos since they cannot resolve from chain. + * + * @default false + * @since 2.0.0 + */ + readonly passAdditionalUtxos?: boolean + + /** + * Format for encoding redeemers in the script data hash. + * + * - `"array"` (DEFAULT): Conway-era format, redeemers encoded as array + * - `"map"`: Babbage-era format, redeemers encoded as map + * + * Use `"map"` for Babbage compatibility or debugging. + * + * @default "array" + * @since 2.0.0 + */ + readonly scriptDataFormat?: "array" | "map" + /** * Custom slot configuration for script evaluation. * @@ -1729,19 +1801,6 @@ export interface BuildOptions { */ readonly unfrack?: UnfrackOptions - /** - * **EXPERIMENTAL**: Use state machine implementation instead of monolithic buildEffectCore - * - * When true, uses the experimental 6-phase state machine: - * - initialSelection → changeCreation → feeCalculation → balanceVerification → reselection → complete - * - * WARNING: Has known Context.Tag type inference issues. Use for testing only. - * - * @experimental - * @default false - */ - readonly useStateMachine?: boolean - /** * Enable debug logging during transaction build. * @@ -1798,7 +1857,8 @@ export interface UnfrackAdaOptions { readonly subdividePercentages?: ReadonlyArray /** - * Maximum ADA-only UTxOs to consolidate in one transaction + * Maximum ADA-only UTxOs to consolidate in one transaction. + * NOTE: Not yet implemented. Will hook into coin selection to merge dust UTxOs. * @default 20 */ readonly maxUtxosToConsolidate?: number diff --git a/docs/content/docs/modules/sdk/builders/TransactionResult.mdx b/docs/content/docs/modules/sdk/builders/TransactionResult.mdx index 08091141..ff5edd70 100644 --- a/docs/content/docs/modules/sdk/builders/TransactionResult.mdx +++ b/docs/content/docs/modules/sdk/builders/TransactionResult.mdx @@ -1,6 +1,6 @@ --- title: sdk/builders/TransactionResult.ts -nav_order: 149 +nav_order: 152 parent: Modules --- diff --git a/docs/content/docs/modules/sdk/builders/TxBuilderImpl.mdx b/docs/content/docs/modules/sdk/builders/TxBuilderImpl.mdx index 827b8adf..cb3f8889 100644 --- a/docs/content/docs/modules/sdk/builders/TxBuilderImpl.mdx +++ b/docs/content/docs/modules/sdk/builders/TxBuilderImpl.mdx @@ -1,6 +1,6 @@ --- title: sdk/builders/TxBuilderImpl.ts -nav_order: 150 +nav_order: 153 parent: Modules --- diff --git a/docs/content/docs/modules/sdk/builders/Unfrack.mdx b/docs/content/docs/modules/sdk/builders/Unfrack.mdx index e1b9cb5f..b39747ab 100644 --- a/docs/content/docs/modules/sdk/builders/Unfrack.mdx +++ b/docs/content/docs/modules/sdk/builders/Unfrack.mdx @@ -1,6 +1,6 @@ --- title: sdk/builders/Unfrack.ts -nav_order: 151 +nav_order: 154 parent: Modules --- diff --git a/docs/content/docs/modules/sdk/builders/operations/AddSigner.mdx b/docs/content/docs/modules/sdk/builders/operations/AddSigner.mdx index fa00aa13..65502669 100644 --- a/docs/content/docs/modules/sdk/builders/operations/AddSigner.mdx +++ b/docs/content/docs/modules/sdk/builders/operations/AddSigner.mdx @@ -1,6 +1,6 @@ --- title: sdk/builders/operations/AddSigner.ts -nav_order: 120 +nav_order: 122 parent: Modules --- diff --git a/docs/content/docs/modules/sdk/builders/operations/Attach.mdx b/docs/content/docs/modules/sdk/builders/operations/Attach.mdx index 15b397a6..879d06c0 100644 --- a/docs/content/docs/modules/sdk/builders/operations/Attach.mdx +++ b/docs/content/docs/modules/sdk/builders/operations/Attach.mdx @@ -1,6 +1,6 @@ --- title: sdk/builders/operations/Attach.ts -nav_order: 121 +nav_order: 123 parent: Modules --- diff --git a/docs/content/docs/modules/sdk/builders/operations/AttachMetadata.mdx b/docs/content/docs/modules/sdk/builders/operations/AttachMetadata.mdx index a1559374..f28c6d16 100644 --- a/docs/content/docs/modules/sdk/builders/operations/AttachMetadata.mdx +++ b/docs/content/docs/modules/sdk/builders/operations/AttachMetadata.mdx @@ -1,6 +1,6 @@ --- title: sdk/builders/operations/AttachMetadata.ts -nav_order: 122 +nav_order: 124 parent: Modules --- diff --git a/docs/content/docs/modules/sdk/builders/operations/Collect.mdx b/docs/content/docs/modules/sdk/builders/operations/Collect.mdx index 82220c75..edeaff40 100644 --- a/docs/content/docs/modules/sdk/builders/operations/Collect.mdx +++ b/docs/content/docs/modules/sdk/builders/operations/Collect.mdx @@ -1,6 +1,6 @@ --- title: sdk/builders/operations/Collect.ts -nav_order: 123 +nav_order: 125 parent: Modules --- diff --git a/docs/content/docs/modules/sdk/builders/operations/Governance.mdx b/docs/content/docs/modules/sdk/builders/operations/Governance.mdx index 4ce687c9..0c8ab7fb 100644 --- a/docs/content/docs/modules/sdk/builders/operations/Governance.mdx +++ b/docs/content/docs/modules/sdk/builders/operations/Governance.mdx @@ -1,6 +1,6 @@ --- title: sdk/builders/operations/Governance.ts -nav_order: 124 +nav_order: 126 parent: Modules --- diff --git a/docs/content/docs/modules/sdk/builders/operations/Mint.mdx b/docs/content/docs/modules/sdk/builders/operations/Mint.mdx index dd780e1c..f1a84d3e 100644 --- a/docs/content/docs/modules/sdk/builders/operations/Mint.mdx +++ b/docs/content/docs/modules/sdk/builders/operations/Mint.mdx @@ -1,6 +1,6 @@ --- title: sdk/builders/operations/Mint.ts -nav_order: 125 +nav_order: 127 parent: Modules --- diff --git a/docs/content/docs/modules/sdk/builders/operations/Operations.mdx b/docs/content/docs/modules/sdk/builders/operations/Operations.mdx index 97fc3583..53ce461e 100644 --- a/docs/content/docs/modules/sdk/builders/operations/Operations.mdx +++ b/docs/content/docs/modules/sdk/builders/operations/Operations.mdx @@ -1,6 +1,6 @@ --- title: sdk/builders/operations/Operations.ts -nav_order: 126 +nav_order: 128 parent: Modules --- @@ -20,6 +20,8 @@ parent: Modules - [VoteParams (interface)](#voteparams-interface) - [metadata](#metadata) - [AttachMetadataParams (interface)](#attachmetadataparams-interface) +- [payment](#payment) + - [SendAllParams (interface)](#sendallparams-interface) - [pool](#pool) - [RegisterPoolParams (interface)](#registerpoolparams-interface) - [RetirePoolParams (interface)](#retirepoolparams-interface) @@ -238,6 +240,30 @@ export interface AttachMetadataParams { Added in v2.0.0 +# payment + +## SendAllParams (interface) + +Parameters for sending all wallet assets to a recipient address. + +This operation collects all wallet UTxOs and creates a single output +containing all assets minus the transaction fee. It's commonly used for: + +- Draining a wallet completely +- Consolidating all UTxOs into a single output +- Migrating funds to a new address + +**Signature** + +```ts +export interface SendAllParams { + /** The recipient address to receive all assets */ + readonly to: CoreAddress.Address +} +``` + +Added in v2.0.0 + # pool ## RegisterPoolParams (interface) diff --git a/docs/content/docs/modules/sdk/builders/operations/Pay.mdx b/docs/content/docs/modules/sdk/builders/operations/Pay.mdx index d6e4a0ae..b63450f9 100644 --- a/docs/content/docs/modules/sdk/builders/operations/Pay.mdx +++ b/docs/content/docs/modules/sdk/builders/operations/Pay.mdx @@ -1,6 +1,6 @@ --- title: sdk/builders/operations/Pay.ts -nav_order: 127 +nav_order: 129 parent: Modules --- diff --git a/docs/content/docs/modules/sdk/builders/operations/Pool.mdx b/docs/content/docs/modules/sdk/builders/operations/Pool.mdx index c1e200e4..f2c501a7 100644 --- a/docs/content/docs/modules/sdk/builders/operations/Pool.mdx +++ b/docs/content/docs/modules/sdk/builders/operations/Pool.mdx @@ -1,6 +1,6 @@ --- title: sdk/builders/operations/Pool.ts -nav_order: 128 +nav_order: 130 parent: Modules --- diff --git a/docs/content/docs/modules/sdk/builders/operations/Propose.mdx b/docs/content/docs/modules/sdk/builders/operations/Propose.mdx index f1b939f4..7bb0163c 100644 --- a/docs/content/docs/modules/sdk/builders/operations/Propose.mdx +++ b/docs/content/docs/modules/sdk/builders/operations/Propose.mdx @@ -1,6 +1,6 @@ --- title: sdk/builders/operations/Propose.ts -nav_order: 129 +nav_order: 131 parent: Modules --- diff --git a/docs/content/docs/modules/sdk/builders/operations/ReadFrom.mdx b/docs/content/docs/modules/sdk/builders/operations/ReadFrom.mdx index 0f5fe31c..59e1f5b4 100644 --- a/docs/content/docs/modules/sdk/builders/operations/ReadFrom.mdx +++ b/docs/content/docs/modules/sdk/builders/operations/ReadFrom.mdx @@ -1,6 +1,6 @@ --- title: sdk/builders/operations/ReadFrom.ts -nav_order: 130 +nav_order: 132 parent: Modules --- diff --git a/docs/content/docs/modules/sdk/builders/operations/SendAll.mdx b/docs/content/docs/modules/sdk/builders/operations/SendAll.mdx index 60dab2e7..11b3df1e 100644 --- a/docs/content/docs/modules/sdk/builders/operations/SendAll.mdx +++ b/docs/content/docs/modules/sdk/builders/operations/SendAll.mdx @@ -1,6 +1,6 @@ --- title: sdk/builders/operations/SendAll.ts -nav_order: 131 +nav_order: 133 parent: Modules --- @@ -12,8 +12,11 @@ This operation marks the transaction as a "send all" transaction, which triggers special handling in the build phases: 1. All wallet UTxOs are collected as inputs -2. A single output is created with all assets minus fee -3. No change output is created (everything goes to recipient) +2. A single output is created with all assets minus fee to the recipient + +Note: Internally the output is stored in `changeOutputs` (the standard mechanism +for phase-created outputs), but semantically it represents the full transfer to +the recipient - not traditional "change" that returns to the sender. Added in v2.0.0 diff --git a/docs/content/docs/modules/sdk/builders/operations/Stake.mdx b/docs/content/docs/modules/sdk/builders/operations/Stake.mdx index 1cfe4149..d1470eed 100644 --- a/docs/content/docs/modules/sdk/builders/operations/Stake.mdx +++ b/docs/content/docs/modules/sdk/builders/operations/Stake.mdx @@ -1,6 +1,6 @@ --- title: sdk/builders/operations/Stake.ts -nav_order: 131 +nav_order: 134 parent: Modules --- diff --git a/docs/content/docs/modules/sdk/builders/operations/Validity.mdx b/docs/content/docs/modules/sdk/builders/operations/Validity.mdx index 41ae4fe6..6c2287b5 100644 --- a/docs/content/docs/modules/sdk/builders/operations/Validity.mdx +++ b/docs/content/docs/modules/sdk/builders/operations/Validity.mdx @@ -1,6 +1,6 @@ --- title: sdk/builders/operations/Validity.ts -nav_order: 132 +nav_order: 135 parent: Modules --- diff --git a/docs/content/docs/modules/sdk/builders/operations/Vote.mdx b/docs/content/docs/modules/sdk/builders/operations/Vote.mdx index d567b427..c7b4ffa8 100644 --- a/docs/content/docs/modules/sdk/builders/operations/Vote.mdx +++ b/docs/content/docs/modules/sdk/builders/operations/Vote.mdx @@ -1,6 +1,6 @@ --- title: sdk/builders/operations/Vote.ts -nav_order: 133 +nav_order: 136 parent: Modules --- diff --git a/docs/content/docs/modules/sdk/builders/phases/Balance.mdx b/docs/content/docs/modules/sdk/builders/phases/Balance.mdx index 96e0a94c..716b765f 100644 --- a/docs/content/docs/modules/sdk/builders/phases/Balance.mdx +++ b/docs/content/docs/modules/sdk/builders/phases/Balance.mdx @@ -1,6 +1,6 @@ --- title: sdk/builders/phases/Balance.ts -nav_order: 134 +nav_order: 137 parent: Modules --- diff --git a/docs/content/docs/modules/sdk/builders/phases/ChangeCreation.mdx b/docs/content/docs/modules/sdk/builders/phases/ChangeCreation.mdx index 47590a36..b3d39aef 100644 --- a/docs/content/docs/modules/sdk/builders/phases/ChangeCreation.mdx +++ b/docs/content/docs/modules/sdk/builders/phases/ChangeCreation.mdx @@ -1,6 +1,6 @@ --- title: sdk/builders/phases/ChangeCreation.ts -nav_order: 135 +nav_order: 138 parent: Modules --- diff --git a/docs/content/docs/modules/sdk/builders/phases/Collateral.mdx b/docs/content/docs/modules/sdk/builders/phases/Collateral.mdx index 39b5f462..ecb9c208 100644 --- a/docs/content/docs/modules/sdk/builders/phases/Collateral.mdx +++ b/docs/content/docs/modules/sdk/builders/phases/Collateral.mdx @@ -1,6 +1,6 @@ --- title: sdk/builders/phases/Collateral.ts -nav_order: 136 +nav_order: 139 parent: Modules --- diff --git a/docs/content/docs/modules/sdk/builders/phases/Evaluation.mdx b/docs/content/docs/modules/sdk/builders/phases/Evaluation.mdx index 306af2ec..25783667 100644 --- a/docs/content/docs/modules/sdk/builders/phases/Evaluation.mdx +++ b/docs/content/docs/modules/sdk/builders/phases/Evaluation.mdx @@ -1,6 +1,6 @@ --- title: sdk/builders/phases/Evaluation.ts -nav_order: 137 +nav_order: 140 parent: Modules --- diff --git a/docs/content/docs/modules/sdk/builders/phases/Fallback.mdx b/docs/content/docs/modules/sdk/builders/phases/Fallback.mdx index 22ba23fc..6ea877d5 100644 --- a/docs/content/docs/modules/sdk/builders/phases/Fallback.mdx +++ b/docs/content/docs/modules/sdk/builders/phases/Fallback.mdx @@ -1,6 +1,6 @@ --- title: sdk/builders/phases/Fallback.ts -nav_order: 138 +nav_order: 141 parent: Modules --- diff --git a/docs/content/docs/modules/sdk/builders/phases/FeeCalculation.mdx b/docs/content/docs/modules/sdk/builders/phases/FeeCalculation.mdx index 713abae6..566baa52 100644 --- a/docs/content/docs/modules/sdk/builders/phases/FeeCalculation.mdx +++ b/docs/content/docs/modules/sdk/builders/phases/FeeCalculation.mdx @@ -1,6 +1,6 @@ --- title: sdk/builders/phases/FeeCalculation.ts -nav_order: 139 +nav_order: 142 parent: Modules --- diff --git a/docs/content/docs/modules/sdk/builders/phases/Phases.mdx b/docs/content/docs/modules/sdk/builders/phases/Phases.mdx index edba79c6..9d1f6ee4 100644 --- a/docs/content/docs/modules/sdk/builders/phases/Phases.mdx +++ b/docs/content/docs/modules/sdk/builders/phases/Phases.mdx @@ -1,6 +1,6 @@ --- title: sdk/builders/phases/Phases.ts -nav_order: 140 +nav_order: 143 parent: Modules --- diff --git a/docs/content/docs/modules/sdk/builders/phases/Selection.mdx b/docs/content/docs/modules/sdk/builders/phases/Selection.mdx index 803a70b6..fe7894de 100644 --- a/docs/content/docs/modules/sdk/builders/phases/Selection.mdx +++ b/docs/content/docs/modules/sdk/builders/phases/Selection.mdx @@ -1,6 +1,6 @@ --- title: sdk/builders/phases/Selection.ts -nav_order: 141 +nav_order: 144 parent: Modules --- diff --git a/docs/content/docs/modules/sdk/builders/phases/utils.mdx b/docs/content/docs/modules/sdk/builders/phases/utils.mdx index b44ac51f..d81516c8 100644 --- a/docs/content/docs/modules/sdk/builders/phases/utils.mdx +++ b/docs/content/docs/modules/sdk/builders/phases/utils.mdx @@ -1,6 +1,6 @@ --- title: sdk/builders/phases/utils.ts -nav_order: 142 +nav_order: 145 parent: Modules --- diff --git a/docs/content/docs/modules/sdk/client/Client.mdx b/docs/content/docs/modules/sdk/client/Client.mdx index 923192b3..88c754a5 100644 --- a/docs/content/docs/modules/sdk/client/Client.mdx +++ b/docs/content/docs/modules/sdk/client/Client.mdx @@ -1,6 +1,6 @@ --- title: sdk/client/Client.ts -nav_order: 152 +nav_order: 155 parent: Modules --- diff --git a/docs/content/docs/modules/sdk/client/ClientImpl.mdx b/docs/content/docs/modules/sdk/client/ClientImpl.mdx index 4ba024e0..64ed1cd3 100644 --- a/docs/content/docs/modules/sdk/client/ClientImpl.mdx +++ b/docs/content/docs/modules/sdk/client/ClientImpl.mdx @@ -1,6 +1,6 @@ --- title: sdk/client/ClientImpl.ts -nav_order: 153 +nav_order: 156 parent: Modules --- diff --git a/docs/content/docs/modules/sdk/provider/Blockfrost.mdx b/docs/content/docs/modules/sdk/provider/Blockfrost.mdx index 0c77ad5b..4639223a 100644 --- a/docs/content/docs/modules/sdk/provider/Blockfrost.mdx +++ b/docs/content/docs/modules/sdk/provider/Blockfrost.mdx @@ -1,6 +1,6 @@ --- title: sdk/provider/Blockfrost.ts -nav_order: 155 +nav_order: 158 parent: Modules --- diff --git a/docs/content/docs/modules/sdk/provider/Koios.mdx b/docs/content/docs/modules/sdk/provider/Koios.mdx index debc7530..06c3a457 100644 --- a/docs/content/docs/modules/sdk/provider/Koios.mdx +++ b/docs/content/docs/modules/sdk/provider/Koios.mdx @@ -1,6 +1,6 @@ --- title: sdk/provider/Koios.ts -nav_order: 156 +nav_order: 159 parent: Modules --- diff --git a/docs/content/docs/modules/sdk/provider/Kupmios.mdx b/docs/content/docs/modules/sdk/provider/Kupmios.mdx index acd1d041..9f6ed171 100644 --- a/docs/content/docs/modules/sdk/provider/Kupmios.mdx +++ b/docs/content/docs/modules/sdk/provider/Kupmios.mdx @@ -1,6 +1,6 @@ --- title: sdk/provider/Kupmios.ts -nav_order: 157 +nav_order: 160 parent: Modules --- diff --git a/docs/content/docs/modules/sdk/provider/Maestro.mdx b/docs/content/docs/modules/sdk/provider/Maestro.mdx index 03d76053..66dd2716 100644 --- a/docs/content/docs/modules/sdk/provider/Maestro.mdx +++ b/docs/content/docs/modules/sdk/provider/Maestro.mdx @@ -1,6 +1,6 @@ --- title: sdk/provider/Maestro.ts -nav_order: 158 +nav_order: 161 parent: Modules --- diff --git a/docs/content/docs/modules/sdk/provider/Provider.mdx b/docs/content/docs/modules/sdk/provider/Provider.mdx index 92ee0ba6..d101a01d 100644 --- a/docs/content/docs/modules/sdk/provider/Provider.mdx +++ b/docs/content/docs/modules/sdk/provider/Provider.mdx @@ -1,6 +1,6 @@ --- title: sdk/provider/Provider.ts -nav_order: 159 +nav_order: 162 parent: Modules --- @@ -161,7 +161,7 @@ export interface ProviderEffect { * Query a datum by its hash. * Returns the parsed PlutusData structure. */ - readonly getDatum: (datumHash: DatumOption.DatumHash) => Effect.Effect + readonly getDatum: (datumHash: DatumHash.DatumHash) => Effect.Effect /** * Wait for a transaction to be confirmed on the blockchain. */ diff --git a/docs/content/docs/modules/sdk/wallet/Derivation.mdx b/docs/content/docs/modules/sdk/wallet/Derivation.mdx index 9da44765..a09a222b 100644 --- a/docs/content/docs/modules/sdk/wallet/Derivation.mdx +++ b/docs/content/docs/modules/sdk/wallet/Derivation.mdx @@ -1,6 +1,6 @@ --- title: sdk/wallet/Derivation.ts -nav_order: 161 +nav_order: 164 parent: Modules --- diff --git a/docs/content/docs/modules/sdk/wallet/WalletNew.mdx b/docs/content/docs/modules/sdk/wallet/WalletNew.mdx index 914a8e05..f00d9e38 100644 --- a/docs/content/docs/modules/sdk/wallet/WalletNew.mdx +++ b/docs/content/docs/modules/sdk/wallet/WalletNew.mdx @@ -1,6 +1,6 @@ --- title: sdk/wallet/WalletNew.ts -nav_order: 162 +nav_order: 165 parent: Modules --- diff --git a/docs/content/docs/modules/uplc/UPLC.mdx b/docs/content/docs/modules/uplc/UPLC.mdx index ef032fc4..40279b36 100644 --- a/docs/content/docs/modules/uplc/UPLC.mdx +++ b/docs/content/docs/modules/uplc/UPLC.mdx @@ -1,6 +1,6 @@ --- title: uplc/UPLC.ts -nav_order: 183 +nav_order: 186 parent: Modules --- diff --git a/docs/content/docs/modules/utils/FeeValidation.mdx b/docs/content/docs/modules/utils/FeeValidation.mdx index c2e029b0..8ebe499a 100644 --- a/docs/content/docs/modules/utils/FeeValidation.mdx +++ b/docs/content/docs/modules/utils/FeeValidation.mdx @@ -1,6 +1,6 @@ --- title: utils/FeeValidation.ts -nav_order: 186 +nav_order: 189 parent: Modules --- diff --git a/docs/content/docs/modules/utils/Hash.mdx b/docs/content/docs/modules/utils/Hash.mdx index dd5f557a..01841880 100644 --- a/docs/content/docs/modules/utils/Hash.mdx +++ b/docs/content/docs/modules/utils/Hash.mdx @@ -1,6 +1,6 @@ --- title: utils/Hash.ts -nav_order: 187 +nav_order: 190 parent: Modules --- @@ -65,7 +65,7 @@ TODO: Consider moving this to the Data module as Data.hash() for better organiza **Signature** ```ts -export declare const hashPlutusData: (pd: Data.Data, options?: CBOR.CodecOptions) => DatumOption.DatumHash +export declare const hashPlutusData: (pd: Data.Data, options?: CBOR.CodecOptions) => DatumHash.DatumHash ``` ## hashScriptData diff --git a/docs/content/docs/modules/utils/effect-runtime.mdx b/docs/content/docs/modules/utils/effect-runtime.mdx index e4eb2688..e84b3251 100644 --- a/docs/content/docs/modules/utils/effect-runtime.mdx +++ b/docs/content/docs/modules/utils/effect-runtime.mdx @@ -1,6 +1,6 @@ --- title: utils/effect-runtime.ts -nav_order: 185 +nav_order: 188 parent: Modules --- diff --git a/docs/content/docs/providers/provider-only-client.mdx b/docs/content/docs/providers/provider-only-client.mdx index 0cfa1f34..7459c763 100644 --- a/docs/content/docs/providers/provider-only-client.mdx +++ b/docs/content/docs/providers/provider-only-client.mdx @@ -29,7 +29,7 @@ Provider-only clients are ideal when you need blockchain data but not wallet-spe Create a client with only provider configuration: ```typescript twoslash -import { Address, Assets, Bytes, DatumOption, RewardAddress, Transaction, TransactionHash, TransactionInput, createClient } from "@evolution-sdk/evolution"; +import { Address, Assets, Bytes, DatumHash, RewardAddress, Transaction, TransactionHash, TransactionInput, createClient } from "@evolution-sdk/evolution"; const client = createClient({ network: "mainnet", @@ -56,7 +56,7 @@ console.log("Min fee A:", params.minFeeA); Provider-only clients expose all provider methods directly: ```typescript twoslash -import { Address, Assets, Bytes, DatumOption, RewardAddress, Transaction, TransactionHash, TransactionInput, createClient } from "@evolution-sdk/evolution"; +import { Address, Assets, Bytes, DatumHash, RewardAddress, Transaction, TransactionHash, TransactionInput, createClient } from "@evolution-sdk/evolution"; const client = createClient({ network: "mainnet", @@ -85,7 +85,7 @@ const utxosByRefs = await client.getUtxosByOutRef([ const delegation = await client.getDelegation(RewardAddress.RewardAddress.make("stake1uxy...")); // Datum resolution -const datum = await client.getDatum(new DatumOption.DatumHash({ hash: Bytes.fromHex("datum-hash-here") })); +const datum = await client.getDatum(new DatumHash.DatumHash({ hash: Bytes.fromHex("datum-hash-here") })); // Transaction operations const signedTxCbor = "84a300..."; @@ -103,7 +103,7 @@ const evaluated = await client.evaluateTx(unsignedTx); Portfolio tracker for multiple addresses: ```typescript twoslash -import { Address, Assets, Bytes, DatumOption, RewardAddress, Transaction, TransactionHash, TransactionInput, createClient } from "@evolution-sdk/evolution"; +import { Address, Assets, Bytes, DatumHash, RewardAddress, Transaction, TransactionHash, TransactionInput, createClient } from "@evolution-sdk/evolution"; const client = createClient({ network: "mainnet", @@ -143,7 +143,7 @@ const portfolio = await getPortfolioBalance([ Accept signed transactions and submit to blockchain: ```typescript twoslash -import { Address, Assets, Bytes, DatumOption, RewardAddress, Transaction, TransactionHash, TransactionInput, createClient } from "@evolution-sdk/evolution"; +import { Address, Assets, Bytes, DatumHash, RewardAddress, Transaction, TransactionHash, TransactionInput, createClient } from "@evolution-sdk/evolution"; const client = createClient({ network: "mainnet", @@ -182,7 +182,7 @@ export async function submitTransaction(signedTxCbor: string) { Track network parameters for fee estimation or protocol changes: ```typescript twoslash -import { Address, Assets, Bytes, DatumOption, RewardAddress, Transaction, TransactionHash, TransactionInput, createClient } from "@evolution-sdk/evolution"; +import { Address, Assets, Bytes, DatumHash, RewardAddress, Transaction, TransactionHash, TransactionInput, createClient } from "@evolution-sdk/evolution"; const client = createClient({ network: "mainnet", @@ -221,7 +221,7 @@ Provider-only clients cannot perform wallet-specific operations: ```typescript twoslash // @errors: 2339 -import { Address, Assets, Bytes, DatumOption, RewardAddress, Transaction, TransactionHash, TransactionInput, createClient } from "@evolution-sdk/evolution"; +import { Address, Assets, Bytes, DatumHash, RewardAddress, Transaction, TransactionHash, TransactionInput, createClient } from "@evolution-sdk/evolution"; const client = createClient({ network: "mainnet", @@ -259,7 +259,7 @@ const txHash = await client.submitTx(signedTx); Add wallet to provider-only client using `attachWallet()`: ```typescript twoslash -import { Address, Assets, Bytes, DatumOption, RewardAddress, Transaction, TransactionHash, TransactionInput, createClient } from "@evolution-sdk/evolution"; +import { Address, Assets, Bytes, DatumHash, RewardAddress, Transaction, TransactionHash, TransactionInput, createClient } from "@evolution-sdk/evolution"; // Start with provider only const providerClient = createClient({ @@ -292,7 +292,7 @@ const result = await builder.build(); Switch between environments: ```typescript twoslash -import { Address, Assets, Bytes, DatumOption, RewardAddress, Transaction, TransactionHash, TransactionInput, createClient } from "@evolution-sdk/evolution"; +import { Address, Assets, Bytes, DatumHash, RewardAddress, Transaction, TransactionHash, TransactionInput, createClient } from "@evolution-sdk/evolution"; const env = (process.env.NODE_ENV || "development") as "development" | "production"; diff --git a/docs/content/docs/providers/querying.mdx b/docs/content/docs/providers/querying.mdx index 17cee3c1..8653e27a 100644 --- a/docs/content/docs/providers/querying.mdx +++ b/docs/content/docs/providers/querying.mdx @@ -12,7 +12,7 @@ Providers expose methods to query UTxOs, protocol parameters, delegation informa Retrieve current network parameters for fee calculation and transaction constraints: ```typescript twoslash -import { Address, Bytes, Credential, DatumOption, PoolKeyHash, RewardAddress, TransactionHash, TransactionInput, createClient } from "@evolution-sdk/evolution"; +import { Address, Bytes, Credential, DatumHash, PoolKeyHash, RewardAddress, TransactionHash, TransactionInput, createClient } from "@evolution-sdk/evolution"; const client = createClient({ network: "mainnet", @@ -48,7 +48,7 @@ Query unspent transaction outputs by address, credential, unit, or reference. ### By Address ```typescript twoslash -import { Address, Bytes, Credential, DatumOption, PoolKeyHash, RewardAddress, TransactionHash, TransactionInput, createClient } from "@evolution-sdk/evolution"; +import { Address, Bytes, Credential, DatumHash, PoolKeyHash, RewardAddress, TransactionHash, TransactionInput, createClient } from "@evolution-sdk/evolution"; const client = createClient({ network: "mainnet", @@ -86,7 +86,7 @@ utxos.forEach((utxo) => { Query UTxOs by payment credential instead of full address: ```typescript -import { Address, Bytes, Credential, DatumOption, PoolKeyHash, RewardAddress, TransactionHash, TransactionInput, createClient } from "@evolution-sdk/evolution"; +import { Address, Bytes, Credential, DatumHash, PoolKeyHash, RewardAddress, TransactionHash, TransactionInput, createClient } from "@evolution-sdk/evolution"; const client = createClient({ network: "mainnet", @@ -109,7 +109,7 @@ const utxos = await client.getUtxos(credential); Query UTxOs containing specific native asset: ```typescript twoslash -import { Address, Bytes, Credential, DatumOption, PoolKeyHash, RewardAddress, TransactionHash, TransactionInput, createClient } from "@evolution-sdk/evolution"; +import { Address, Bytes, Credential, DatumHash, PoolKeyHash, RewardAddress, TransactionHash, TransactionInput, createClient } from "@evolution-sdk/evolution"; const client = createClient({ network: "mainnet", @@ -138,7 +138,7 @@ console.log("UTxOs with token:", utxosWithToken.length); Query specific UTxOs by transaction output reference: ```typescript twoslash -import { Address, Bytes, Credential, DatumOption, PoolKeyHash, RewardAddress, TransactionHash, TransactionInput, createClient } from "@evolution-sdk/evolution"; +import { Address, Bytes, Credential, DatumHash, PoolKeyHash, RewardAddress, TransactionHash, TransactionInput, createClient } from "@evolution-sdk/evolution"; const client = createClient({ network: "mainnet", @@ -169,7 +169,7 @@ console.log("Found UTxOs:", utxos.length); Find a single UTxO by unique unit identifier: ```typescript twoslash -import { Address, Bytes, Credential, DatumOption, PoolKeyHash, RewardAddress, TransactionHash, TransactionInput, createClient } from "@evolution-sdk/evolution"; +import { Address, Bytes, Credential, DatumHash, PoolKeyHash, RewardAddress, TransactionHash, TransactionInput, createClient } from "@evolution-sdk/evolution"; const client = createClient({ network: "mainnet", @@ -193,7 +193,7 @@ console.log("Current owner UTxO:", TransactionHash.toHex(utxo.transactionId)); Query staking delegation and reward information: ```typescript twoslash -import { Address, Bytes, Credential, DatumOption, PoolKeyHash, RewardAddress, TransactionHash, TransactionInput, createClient } from "@evolution-sdk/evolution"; +import { Address, Bytes, Credential, DatumHash, PoolKeyHash, RewardAddress, TransactionHash, TransactionInput, createClient } from "@evolution-sdk/evolution"; const client = createClient({ network: "mainnet", @@ -216,7 +216,7 @@ console.log("Rewards:", delegation.rewards); Retrieve datum content by hash: ```typescript twoslash -import { Address, Bytes, Credential, DatumOption, PoolKeyHash, RewardAddress, TransactionHash, TransactionInput, createClient } from "@evolution-sdk/evolution"; +import { Address, Bytes, Credential, DatumHash, PoolKeyHash, RewardAddress, TransactionHash, TransactionInput, createClient } from "@evolution-sdk/evolution"; const client = createClient({ network: "mainnet", @@ -228,7 +228,7 @@ const client = createClient({ }); // Get datum from hash -const datumHash = new DatumOption.DatumHash({ hash: Bytes.fromHex("abc123...") }); +const datumHash = new DatumHash.DatumHash({ hash: Bytes.fromHex("abc123...") }); const datumCbor = await client.getDatum(datumHash); console.log("Datum CBOR:", datumCbor); @@ -241,7 +241,7 @@ console.log("Datum CBOR:", datumCbor); Calculate total balance across multiple addresses: ```typescript twoslash -import { Address, Bytes, Credential, DatumOption, PoolKeyHash, RewardAddress, TransactionHash, TransactionInput, createClient } from "@evolution-sdk/evolution"; +import { Address, Bytes, Credential, DatumHash, PoolKeyHash, RewardAddress, TransactionHash, TransactionInput, createClient } from "@evolution-sdk/evolution"; const client = createClient({ network: "mainnet", @@ -290,7 +290,7 @@ async function getPortfolioBalance(addressesBech32: string[]) { Find all holders of a specific token: ```typescript twoslash -import { Address, Bytes, Credential, DatumOption, PoolKeyHash, RewardAddress, TransactionHash, TransactionInput, createClient } from "@evolution-sdk/evolution"; +import { Address, Bytes, Credential, DatumHash, PoolKeyHash, RewardAddress, TransactionHash, TransactionInput, createClient } from "@evolution-sdk/evolution"; const client = createClient({ network: "mainnet", @@ -330,7 +330,7 @@ async function getTokenHolders( Check if addresses are delegated to specific pool: ```typescript twoslash -import { Address, Bytes, Credential, DatumOption, PoolKeyHash, RewardAddress, TransactionHash, TransactionInput, createClient } from "@evolution-sdk/evolution"; +import { Address, Bytes, Credential, DatumHash, PoolKeyHash, RewardAddress, TransactionHash, TransactionInput, createClient } from "@evolution-sdk/evolution"; const client = createClient({ network: "mainnet", @@ -368,7 +368,7 @@ async function checkPoolDelegation( Track NFT ownership across collection: ```typescript twoslash -import { Address, Bytes, Credential, DatumOption, PoolKeyHash, RewardAddress, TransactionHash, TransactionInput, createClient } from "@evolution-sdk/evolution"; +import { Address, Bytes, Credential, DatumHash, PoolKeyHash, RewardAddress, TransactionHash, TransactionInput, createClient } from "@evolution-sdk/evolution"; const client = createClient({ network: "mainnet", @@ -409,7 +409,7 @@ async function getNFTOwnership(nftUnits: string[]) { Handle query errors gracefully: ```typescript twoslash -import { Address, Bytes, Credential, DatumOption, PoolKeyHash, RewardAddress, TransactionHash, TransactionInput, createClient } from "@evolution-sdk/evolution"; +import { Address, Bytes, Credential, DatumHash, PoolKeyHash, RewardAddress, TransactionHash, TransactionInput, createClient } from "@evolution-sdk/evolution"; const client = createClient({ network: "mainnet", @@ -447,7 +447,7 @@ async function safeGetDelegation(rewardAddress: string) { Optimize queries for better performance: ```typescript twoslash -import { Address, Bytes, Credential, DatumOption, PoolKeyHash, RewardAddress, TransactionHash, TransactionInput, createClient } from "@evolution-sdk/evolution"; +import { Address, Bytes, Credential, DatumHash, PoolKeyHash, RewardAddress, TransactionHash, TransactionInput, createClient } from "@evolution-sdk/evolution"; const client = createClient({ network: "mainnet", diff --git a/docs/next-env.d.ts b/docs/next-env.d.ts index 24c7c901..9edff1c7 100644 --- a/docs/next-env.d.ts +++ b/docs/next-env.d.ts @@ -1,6 +1,6 @@ /// /// -import "./out/dev/types/routes.d.ts"; +import "./.next/types/routes.d.ts"; // NOTE: This file should not be edited // see https://nextjs.org/docs/app/api-reference/config/typescript for more information. diff --git a/packages/evolution-devnet/test/TxBuilder.RedeemerBuilder.test.ts b/packages/evolution-devnet/test/TxBuilder.RedeemerBuilder.test.ts index a39a90c1..e974f5f0 100644 --- a/packages/evolution-devnet/test/TxBuilder.RedeemerBuilder.test.ts +++ b/packages/evolution-devnet/test/TxBuilder.RedeemerBuilder.test.ts @@ -14,7 +14,7 @@ import * as CoreAddress from "@evolution-sdk/evolution/Address" import * as AssetName from "@evolution-sdk/evolution/AssetName" import * as Bytes from "@evolution-sdk/evolution/Bytes" import * as Data from "@evolution-sdk/evolution/Data" -import * as DatumOption from "@evolution-sdk/evolution/DatumOption" +import * as InlineDatum from "@evolution-sdk/evolution/InlineDatum" import * as PlutusV3 from "@evolution-sdk/evolution/PlutusV3" import * as PolicyId from "@evolution-sdk/evolution/PolicyId" import * as ScriptHash from "@evolution-sdk/evolution/ScriptHash" @@ -184,17 +184,17 @@ describe("TxBuilder RedeemerBuilder", () => { .payToAddress({ address: CoreAddress.fromBech32(scriptAddress), assets: CoreAssets.fromRecord({ lovelace: 3_000_000n, [unit]: 100n }), - datum: new DatumOption.InlineDatum({ data: datum1 }) + datum: new InlineDatum.InlineDatum({ data: datum1 }) }) .payToAddress({ address: CoreAddress.fromBech32(scriptAddress), assets: CoreAssets.fromRecord({ lovelace: 3_000_000n, [unit]: 100n }), - datum: new DatumOption.InlineDatum({ data: datum2 }) + datum: new InlineDatum.InlineDatum({ data: datum2 }) }) .payToAddress({ address: CoreAddress.fromBech32(scriptAddress), assets: CoreAssets.fromRecord({ lovelace: 3_000_000n, [unit]: 100n }), - datum: new DatumOption.InlineDatum({ data: datum3 }) + datum: new InlineDatum.InlineDatum({ data: datum3 }) }) .build({ availableUtxos: [genesisUtxo] }) diff --git a/packages/evolution-devnet/test/TxBuilder.ScriptStake.test.ts b/packages/evolution-devnet/test/TxBuilder.ScriptStake.test.ts index 81161e45..3e05f025 100644 --- a/packages/evolution-devnet/test/TxBuilder.ScriptStake.test.ts +++ b/packages/evolution-devnet/test/TxBuilder.ScriptStake.test.ts @@ -21,7 +21,7 @@ import { Cardano } from "@evolution-sdk/evolution" import * as CoreAddress from "@evolution-sdk/evolution/Address" import * as Bytes from "@evolution-sdk/evolution/Bytes" import * as Data from "@evolution-sdk/evolution/Data" -import * as DatumOption from "@evolution-sdk/evolution/DatumOption" +import * as InlineDatum from "@evolution-sdk/evolution/InlineDatum" import * as PlutusV3 from "@evolution-sdk/evolution/PlutusV3" import * as ScriptHash from "@evolution-sdk/evolution/ScriptHash" import { createClient } from "@evolution-sdk/evolution/sdk/client/ClientImpl" @@ -177,7 +177,7 @@ describe("TxBuilder Script Stake Operations", () => { } // Step 2: Fund UTxOs at the script address - const unitDatum = new DatumOption.InlineDatum({ data: Data.constr(0n, []) }) + const unitDatum = new InlineDatum.InlineDatum({ data: Data.constr(0n, []) }) const fundSignBuilder = await client .newTx() @@ -283,7 +283,7 @@ describe("TxBuilder Script Stake Operations", () => { } // Fund a UTxO at script address - const unitDatum = new DatumOption.InlineDatum({ data: Data.constr(0n, []) }) + const unitDatum = new InlineDatum.InlineDatum({ data: Data.constr(0n, []) }) const fundSignBuilder = await client .newTx() .payToAddress({ address: scriptPaymentAddress, assets: Cardano.Assets.fromLovelace(10_000_000n), datum: unitDatum }) diff --git a/packages/evolution-devnet/test/TxBuilder.Scripts.test.ts b/packages/evolution-devnet/test/TxBuilder.Scripts.test.ts index d73cd60e..c5e2bcaa 100644 --- a/packages/evolution-devnet/test/TxBuilder.Scripts.test.ts +++ b/packages/evolution-devnet/test/TxBuilder.Scripts.test.ts @@ -4,6 +4,7 @@ import { Cardano } from "@evolution-sdk/evolution" import * as CoreAddress from "@evolution-sdk/evolution/Address" import * as Bytes from "@evolution-sdk/evolution/Bytes" import * as Data from "@evolution-sdk/evolution/Data" +import * as InlineDatum from "@evolution-sdk/evolution/InlineDatum" import * as PlutusV2 from "@evolution-sdk/evolution/PlutusV2" import * as ScriptHash from "@evolution-sdk/evolution/ScriptHash" import type { TxBuilderConfig } from "@evolution-sdk/evolution/sdk/builders/TransactionBuilder" @@ -144,14 +145,14 @@ describe("TxBuilder Script Handling", () => { // Create script UTxO with inline datum const ownerPubKeyHash = "00000000000000000000000000000000000000000000000000000000" - const datum = Data.toCBORHex(Data.constr(0n, [Data.bytearray(ownerPubKeyHash)])) + const datum = Data.constr(0n, [Data.bytearray(ownerPubKeyHash)]) const scriptUtxo = createCoreTestUtxo({ transactionId: "a".repeat(64), index: 0, address: scriptAddress, lovelace: 5_000_000n, - datumOption: { type: "inlineDatum", inline: datum } + datumOption: new InlineDatum.InlineDatum({ data: datum }) }) // Create funding UTxO @@ -209,14 +210,14 @@ describe("TxBuilder Script Handling", () => { // Create script UTxO with inline datum const ownerPubKeyHash = "00000000000000000000000000000000000000000000000000000000" - const datum = Data.toCBORHex(Data.constr(0n, [Data.bytearray(ownerPubKeyHash)])) + const datum = Data.constr(0n, [Data.bytearray(ownerPubKeyHash)]) const scriptUtxo = createCoreTestUtxo({ transactionId: "a".repeat(64), index: 0, address: scriptAddress, lovelace: 5_000_000n, - datumOption: { type: "inlineDatum", inline: datum } + datumOption: new InlineDatum.InlineDatum({ data: datum }) }) // Create funding UTxO @@ -275,14 +276,14 @@ describe("TxBuilder Script Handling", () => { // Create script UTxO with inline datum const ownerPubKeyHash = "00000000000000000000000000000000000000000000000000000000" - const datum = Data.toCBORHex(Data.constr(0n, [Data.bytearray(ownerPubKeyHash)])) + const datum = Data.constr(0n, [Data.bytearray(ownerPubKeyHash)]) const scriptUtxo = createCoreTestUtxo({ transactionId: "a".repeat(64), index: 0, address: scriptAddress, lovelace: 5_000_000n, - datumOption: { type: "inlineDatum", inline: datum } + datumOption: new InlineDatum.InlineDatum({ data: datum }) }) // Create funding UTxO @@ -342,14 +343,14 @@ describe("TxBuilder Script Handling", () => { // Create script UTxO with inline datum const ownerPubKeyHash = "00000000000000000000000000000000000000000000000000000000" - const datum = Data.toCBORHex(Data.constr(0n, [Data.bytearray(ownerPubKeyHash)])) + const datum = Data.constr(0n, [Data.bytearray(ownerPubKeyHash)]) const scriptUtxo = createCoreTestUtxo({ transactionId: "a".repeat(64), index: 0, address: scriptAddress, lovelace: 5_000_000n, - datumOption: { type: "inlineDatum", inline: datum } + datumOption: new InlineDatum.InlineDatum({ data: datum }) }) const multiAssetUtxo = createCoreTestUtxo({ @@ -435,14 +436,14 @@ describe("TxBuilder Script Handling", () => { // Create script UTxO with inline datum const ownerPubKeyHash = "00000000000000000000000000000000000000000000000000000000" - const datum = Data.toCBORHex(Data.constr(0n, [Data.bytearray(ownerPubKeyHash)])) + const datum = Data.constr(0n, [Data.bytearray(ownerPubKeyHash)]) const scriptUtxo = createCoreTestUtxo({ transactionId: "a".repeat(64), index: 0, address: scriptAddress, lovelace: 5_000_000n, - datumOption: { type: "inlineDatum", inline: datum } + datumOption: new InlineDatum.InlineDatum({ data: datum }) }) // Create a collateral UTxO with tokens @@ -498,14 +499,14 @@ describe("TxBuilder Script Handling", () => { // Create script UTxO with inline datum const ownerPubKeyHash = "00000000000000000000000000000000000000000000000000000000" - const datum = Data.toCBORHex(Data.constr(0n, [Data.bytearray(ownerPubKeyHash)])) + const datum = Data.constr(0n, [Data.bytearray(ownerPubKeyHash)]) const scriptUtxo = createCoreTestUtxo({ transactionId: "a".repeat(64), index: 0, address: scriptAddress, lovelace: 5_000_000n, - datumOption: { type: "inlineDatum", inline: datum } + datumOption: new InlineDatum.InlineDatum({ data: datum }) }) // Create collateral UTxOs that are too small (total < 5 ADA default target) @@ -557,14 +558,14 @@ describe("TxBuilder Script Handling", () => { // Create script UTxO with inline datum const ownerPubKeyHash = "00000000000000000000000000000000000000000000000000000000" - const datum = Data.toCBORHex(Data.constr(0n, [Data.bytearray(ownerPubKeyHash)])) + const datum = Data.constr(0n, [Data.bytearray(ownerPubKeyHash)]) const scriptUtxo = createCoreTestUtxo({ transactionId: "a".repeat(64), index: 0, address: scriptAddress, lovelace: 5_000_000n, - datumOption: { type: "inlineDatum", inline: datum } + datumOption: new InlineDatum.InlineDatum({ data: datum }) }) // Create UTxO WITH reference script (should be excluded from collateral) @@ -629,14 +630,14 @@ describe("TxBuilder Script Handling", () => { // Create script UTxO with inline datum const ownerPubKeyHash = "00000000000000000000000000000000000000000000000000000000" - const datum = Data.toCBORHex(Data.constr(0n, [Data.bytearray(ownerPubKeyHash)])) + const datum = Data.constr(0n, [Data.bytearray(ownerPubKeyHash)]) const scriptUtxo = createCoreTestUtxo({ transactionId: "a".repeat(64), index: 0, address: scriptAddress, lovelace: 5_000_000n, - datumOption: { type: "inlineDatum", inline: datum } + datumOption: new InlineDatum.InlineDatum({ data: datum }) }) // Create funding UTxO (smaller amount to test largest-first selection) @@ -720,14 +721,14 @@ describe("TxBuilder Script Handling", () => { // Create script UTxO with inline datum const ownerPubKeyHash = "00000000000000000000000000000000000000000000000000000000" - const datum = Data.toCBORHex(Data.constr(0n, [Data.bytearray(ownerPubKeyHash)])) + const datum = Data.constr(0n, [Data.bytearray(ownerPubKeyHash)]) const scriptUtxo = createCoreTestUtxo({ transactionId: "a".repeat(64), index: 0, address: scriptAddress, lovelace: 5_000_000n, - datumOption: { type: "inlineDatum", inline: datum } + datumOption: new InlineDatum.InlineDatum({ data: datum }) }) // Create collateral UTxO with MORE than 5 ADA (should create return) @@ -1075,10 +1076,7 @@ describe("TxBuilder Script Handling", () => { const scriptUtxo = createCoreTestUtxo({ address: scriptAddress, lovelace: 5_000_000n, - datumOption: { - type: "inlineDatum", - inline: Data.toCBORHex(Data.constr(0n, [])) - } + datumOption: new InlineDatum.InlineDatum({ data: Data.constr(0n, []) }) }) // Create 4 collateral candidates: @@ -1161,10 +1159,7 @@ describe("TxBuilder Script Handling", () => { const scriptUtxo = createCoreTestUtxo({ address: scriptAddress, lovelace: 5_000_000n, - datumOption: { - type: "inlineDatum", - inline: Data.toCBORHex(Data.constr(0n, [])) - } + datumOption: new InlineDatum.InlineDatum({ data: Data.constr(0n, []) }) }) // Create 3 collateral candidates (each with 2 ADA, total 6 ADA > 5 ADA target) @@ -1234,10 +1229,7 @@ describe("TxBuilder Script Handling", () => { const scriptUtxo = createCoreTestUtxo({ address: scriptAddress, lovelace: 5_000_000n, - datumOption: { - type: "inlineDatum", - inline: Data.toCBORHex(Data.constr(0n, [])) - } + datumOption: new InlineDatum.InlineDatum({ data: Data.constr(0n, []) }) }) // Create 5 small collateral UTxOs (1.5 ADA each) diff --git a/packages/evolution-devnet/test/TxBuilder.VoteValidators.test.ts b/packages/evolution-devnet/test/TxBuilder.VoteValidators.test.ts index 40904cfa..c40bde6f 100644 --- a/packages/evolution-devnet/test/TxBuilder.VoteValidators.test.ts +++ b/packages/evolution-devnet/test/TxBuilder.VoteValidators.test.ts @@ -16,9 +16,9 @@ import * as Anchor from "@evolution-sdk/evolution/Anchor" import * as Bytes from "@evolution-sdk/evolution/Bytes" import * as Bytes32 from "@evolution-sdk/evolution/Bytes32" import * as Data from "@evolution-sdk/evolution/Data" -import * as DatumOption from "@evolution-sdk/evolution/DatumOption" import * as DRep from "@evolution-sdk/evolution/DRep" import * as GovernanceAction from "@evolution-sdk/evolution/GovernanceAction" +import * as InlineDatum from "@evolution-sdk/evolution/InlineDatum" import * as PlutusV3 from "@evolution-sdk/evolution/PlutusV3" import * as RewardAccount from "@evolution-sdk/evolution/RewardAccount" import * as ScriptHash from "@evolution-sdk/evolution/ScriptHash" @@ -289,7 +289,7 @@ describe("TxBuilder Vote Validator (script DRep)", () => { .payToAddress({ address: address0, assets: Cardano.Assets.fromLovelace(5_000_000n), - datum: new DatumOption.InlineDatum({ data: configDatum }) + datum: new InlineDatum.InlineDatum({ data: configDatum }) }) .build() .then(b => b.sign()) @@ -423,7 +423,7 @@ describe("TxBuilder Vote Validator (script DRep)", () => { .payToAddress({ address: address0, assets: Cardano.Assets.fromLovelace(5_000_000n), - datum: new DatumOption.InlineDatum({ data: configDatum }) + datum: new InlineDatum.InlineDatum({ data: configDatum }) }) .build() .then(b => b.sign()) diff --git a/packages/evolution-devnet/test/utils/utxo-helpers.ts b/packages/evolution-devnet/test/utils/utxo-helpers.ts index aeebb397..0042fa72 100644 --- a/packages/evolution-devnet/test/utils/utxo-helpers.ts +++ b/packages/evolution-devnet/test/utils/utxo-helpers.ts @@ -1,9 +1,7 @@ import { Cardano } from "@evolution-sdk/evolution" import * as CoreAddress from "@evolution-sdk/evolution/Address" -import * as CoreData from "@evolution-sdk/evolution/Data" -import * as CoreDatumOption from "@evolution-sdk/evolution/DatumOption" +import type * as CoreDatumOption from "@evolution-sdk/evolution/DatumOption" import type * as CoreScript from "@evolution-sdk/evolution/Script" -import type * as Datum from "@evolution-sdk/evolution/sdk/Datum" import * as CoreTransactionHash from "@evolution-sdk/evolution/TransactionHash" import * as CoreUTxO from "@evolution-sdk/evolution/UTxO" @@ -42,9 +40,9 @@ export type CreateCoreTestUtxoOptions = { */ transactionId?: string /** - * Optional datum option for the UTxO. + * Optional datum option for the UTxO (Core DatumOption type: DatumHash | InlineDatum). */ - datumOption?: Datum.Datum + datumOption?: CoreDatumOption.DatumOption /** * Optional reference script (Core Script type). */ @@ -88,26 +86,12 @@ export const createCoreTestUtxo = (options: CreateCoreTestUtxoOptions): CoreUTxO } } - // Convert SDK datumOption to Core DatumOption - let coreDatumOption: CoreDatumOption.DatumHash | CoreDatumOption.InlineDatum | undefined - if (datumOption) { - if (datumOption.type === "inlineDatum" && datumOption.inline) { - // Parse CBOR hex to Core PlutusData - const plutusData = CoreData.fromCBORHex(datumOption.inline) - coreDatumOption = new CoreDatumOption.InlineDatum({ data: plutusData }) - } else if (datumOption.type === "datumHash" && datumOption.hash) { - coreDatumOption = new CoreDatumOption.DatumHash({ - hash: new Uint8Array(datumOption.hash.match(/.{1,2}/g)!.map(byte => parseInt(byte, 16))) - }) - } - } - return new CoreUTxO.UTxO({ transactionId: CoreTransactionHash.fromHex(paddedTxId), index: BigInt(index), address: CoreAddress.fromBech32(address), assets, scriptRef, - datumOption: coreDatumOption + datumOption }) } diff --git a/packages/evolution/docs/modules/DRep.ts.md b/packages/evolution/docs/modules/DRep.ts.md index 3be285b3..aeee8a1a 100644 --- a/packages/evolution/docs/modules/DRep.ts.md +++ b/packages/evolution/docs/modules/DRep.ts.md @@ -1,6 +1,6 @@ --- title: DRep.ts -nav_order: 49 +nav_order: 50 parent: Modules --- diff --git a/packages/evolution/docs/modules/DRepCredential.ts.md b/packages/evolution/docs/modules/DRepCredential.ts.md index 124a73e6..2d3eb312 100644 --- a/packages/evolution/docs/modules/DRepCredential.ts.md +++ b/packages/evolution/docs/modules/DRepCredential.ts.md @@ -1,6 +1,6 @@ --- title: DRepCredential.ts -nav_order: 50 +nav_order: 51 parent: Modules --- diff --git a/packages/evolution/docs/modules/DatumHash.ts.md b/packages/evolution/docs/modules/DatumHash.ts.md new file mode 100644 index 00000000..f329ced1 --- /dev/null +++ b/packages/evolution/docs/modules/DatumHash.ts.md @@ -0,0 +1,207 @@ +--- +title: DatumHash.ts +nav_order: 47 +parent: Modules +--- + +## DatumHash overview + +--- + +

Table of contents

+ +- [encoding](#encoding) + - [toBytes](#tobytes) + - [toHex](#tohex) +- [parsing](#parsing) + - [fromBytes](#frombytes) + - [fromHex](#fromhex) +- [predicates](#predicates) + - [isDatumHash](#isdatumhash) +- [schemas](#schemas) + - [DatumHash (class)](#datumhash-class) + - [toJSON (method)](#tojson-method) + - [toString (method)](#tostring-method) + - [[Inspectable.NodeInspectSymbol] (method)](#inspectablenodeinspectsymbol-method) + - [[Equal.symbol] (method)](#equalsymbol-method) + - [[Hash.symbol] (method)](#hashsymbol-method) + - [FromBytes](#frombytes-1) + - [FromHex](#fromhex-1) +- [testing](#testing) + - [arbitrary](#arbitrary) + +--- + +# encoding + +## toBytes + +Encode DatumHash to bytes. + +**Signature** + +```ts +export declare const toBytes: (a: DatumHash, overrideOptions?: ParseOptions) => Uint8Array +``` + +Added in v2.0.0 + +## toHex + +Encode DatumHash to hex string. + +**Signature** + +```ts +export declare const toHex: (a: DatumHash, overrideOptions?: ParseOptions) => string +``` + +Added in v2.0.0 + +# parsing + +## fromBytes + +Parse DatumHash from bytes. + +**Signature** + +```ts +export declare const fromBytes: (i: Uint8Array, overrideOptions?: ParseOptions) => DatumHash +``` + +Added in v2.0.0 + +## fromHex + +Parse DatumHash from hex string. + +**Signature** + +```ts +export declare const fromHex: (i: string, overrideOptions?: ParseOptions) => DatumHash +``` + +Added in v2.0.0 + +# predicates + +## isDatumHash + +Type guard to check if a value is a DatumHash. + +**Signature** + +```ts +export declare const isDatumHash: (u: unknown, overrideOptions?: ParseOptions | number) => u is DatumHash +``` + +Added in v2.0.0 + +# schemas + +## DatumHash (class) + +Schema for DatumHash representing a reference to datum data stored elsewhere via its hash. + +**Signature** + +```ts +export declare class DatumHash +``` + +Added in v2.0.0 + +### toJSON (method) + +**Signature** + +```ts +toJSON() +``` + +Added in v2.0.0 + +### toString (method) + +**Signature** + +```ts +toString(): string +``` + +Added in v2.0.0 + +### [Inspectable.NodeInspectSymbol] (method) + +**Signature** + +```ts +[Inspectable.NodeInspectSymbol](): unknown +``` + +Added in v2.0.0 + +### [Equal.symbol] (method) + +**Signature** + +```ts +[Equal.symbol](that: unknown): boolean +``` + +Added in v2.0.0 + +### [Hash.symbol] (method) + +**Signature** + +```ts +[Hash.symbol](): number +``` + +Added in v2.0.0 + +## FromBytes + +Schema for transforming bytes to DatumHash. + +**Signature** + +```ts +export declare const FromBytes: Schema.transform< + Schema.SchemaClass, + Schema.SchemaClass +> +``` + +Added in v2.0.0 + +## FromHex + +Schema for transforming hex string to DatumHash. + +**Signature** + +```ts +export declare const FromHex: Schema.transform< + Schema.filter>, + Schema.transform, Schema.SchemaClass> +> +``` + +Added in v2.0.0 + +# testing + +## arbitrary + +FastCheck arbitrary for generating random DatumHash instances. + +**Signature** + +```ts +export declare const arbitrary: FastCheck.Arbitrary +``` + +Added in v2.0.0 diff --git a/packages/evolution/docs/modules/DatumOption.ts.md b/packages/evolution/docs/modules/DatumOption.ts.md index 5a2c3be5..1785481d 100644 --- a/packages/evolution/docs/modules/DatumOption.ts.md +++ b/packages/evolution/docs/modules/DatumOption.ts.md @@ -1,6 +1,6 @@ --- title: DatumOption.ts -nav_order: 47 +nav_order: 48 parent: Modules --- @@ -22,29 +22,14 @@ parent: Modules - [isDatumHash](#isdatumhash) - [isInlineDatum](#isinlinedatum) - [schemas](#schemas) - - [DatumHash (class)](#datumhash-class) - - [toJSON (method)](#tojson-method) - - [toString (method)](#tostring-method) - - [[Inspectable.NodeInspectSymbol] (method)](#inspectablenodeinspectsymbol-method) - - [[Equal.symbol] (method)](#equalsymbol-method) - - [[Hash.symbol] (method)](#hashsymbol-method) - [DatumOptionSchema](#datumoptionschema) - [FromCBORBytes](#fromcborbytes-1) - [FromCBORHex](#fromcborhex-1) - [FromCDDL](#fromcddl) - - [InlineDatum (class)](#inlinedatum-class) - - [toJSON (method)](#tojson-method-1) - - [toString (method)](#tostring-method-1) - - [[Inspectable.NodeInspectSymbol] (method)](#inspectablenodeinspectsymbol-method-1) - - [[Equal.symbol] (method)](#equalsymbol-method-1) - - [[Hash.symbol] (method)](#hashsymbol-method-1) - [testing](#testing) - [arbitrary](#arbitrary) - [utils](#utils) - [CDDLSchema](#cddlschema) - - [DatumHashFromBytes](#datumhashfrombytes) - - [datumHashArbitrary](#datumhasharbitrary) - - [inlineDatumArbitrary](#inlinedatumarbitrary) --- @@ -57,7 +42,10 @@ Convert CBOR bytes to DatumOption. **Signature** ```ts -export declare const fromCBORBytes: (bytes: Uint8Array, options?: CBOR.CodecOptions) => DatumHash | InlineDatum +export declare const fromCBORBytes: ( + bytes: Uint8Array, + options?: CBOR.CodecOptions +) => DatumHash.DatumHash | InlineDatum.InlineDatum ``` Added in v2.0.0 @@ -69,7 +57,10 @@ Convert CBOR hex string to DatumOption. **Signature** ```ts -export declare const fromCBORHex: (hex: string, options?: CBOR.CodecOptions) => DatumHash | InlineDatum +export declare const fromCBORHex: ( + hex: string, + options?: CBOR.CodecOptions +) => DatumHash.DatumHash | InlineDatum.InlineDatum ``` Added in v2.0.0 @@ -124,7 +115,7 @@ Check if a DatumOption is a datum hash. **Signature** ```ts -export declare const isDatumHash: (u: unknown, overrideOptions?: ParseOptions | number) => u is DatumHash +export declare const isDatumHash: (u: unknown, overrideOptions?: ParseOptions | number) => u is DatumHash.DatumHash ``` Added in v2.0.0 @@ -136,76 +127,16 @@ Check if a DatumOption is inline data. **Signature** ```ts -export declare const isInlineDatum: (u: unknown, overrideOptions?: ParseOptions | number) => u is InlineDatum +export declare const isInlineDatum: ( + u: unknown, + overrideOptions?: ParseOptions | number +) => u is InlineDatum.InlineDatum ``` Added in v2.0.0 # schemas -## DatumHash (class) - -Schema for DatumHash variant of DatumOption. -Represents a reference to datum data stored elsewhere via its hash. - -**Signature** - -```ts -export declare class DatumHash -``` - -Added in v2.0.0 - -### toJSON (method) - -**Signature** - -```ts -toJSON() -``` - -Added in v2.0.0 - -### toString (method) - -**Signature** - -```ts -toString(): string -``` - -Added in v2.0.0 - -### [Inspectable.NodeInspectSymbol] (method) - -**Signature** - -```ts -[Inspectable.NodeInspectSymbol](): unknown -``` - -Added in v2.0.0 - -### [Equal.symbol] (method) - -**Signature** - -```ts -[Equal.symbol](that: unknown): boolean -``` - -Added in v2.0.0 - -### [Hash.symbol] (method) - -**Signature** - -```ts -[Hash.symbol](): number -``` - -Added in v2.0.0 - ## DatumOptionSchema Schema for DatumOption representing optional datum information in transaction outputs. @@ -220,7 +151,7 @@ Where: **Signature** ```ts -export declare const DatumOptionSchema: Schema.Union<[typeof DatumHash, typeof InlineDatum]> +export declare const DatumOptionSchema: Schema.Union<[typeof DatumHash.DatumHash, typeof InlineDatum.InlineDatum]> ``` Added in v2.0.0 @@ -251,7 +182,11 @@ export declare const FromCBORBytes: ( > ] >, - Schema.SchemaClass, + Schema.SchemaClass< + DatumHash.DatumHash | InlineDatum.InlineDatum, + DatumHash.DatumHash | InlineDatum.InlineDatum, + never + >, never > > @@ -287,7 +222,11 @@ export declare const FromCBORHex: ( > ] >, - Schema.SchemaClass, + Schema.SchemaClass< + DatumHash.DatumHash | InlineDatum.InlineDatum, + DatumHash.DatumHash | InlineDatum.InlineDatum, + never + >, never > > @@ -319,76 +258,17 @@ export declare const FromCDDL: Schema.transformOrFail< > ] >, - Schema.SchemaClass, + Schema.SchemaClass< + DatumHash.DatumHash | InlineDatum.InlineDatum, + DatumHash.DatumHash | InlineDatum.InlineDatum, + never + >, never > ``` Added in v2.0.0 -## InlineDatum (class) - -Schema for InlineDatum variant of DatumOption. -Represents inline plutus data embedded directly in the transaction output. - -**Signature** - -```ts -export declare class InlineDatum -``` - -Added in v2.0.0 - -### toJSON (method) - -**Signature** - -```ts -toJSON() -``` - -Added in v2.0.0 - -### toString (method) - -**Signature** - -```ts -toString(): string -``` - -Added in v2.0.0 - -### [Inspectable.NodeInspectSymbol] (method) - -**Signature** - -```ts -[Inspectable.NodeInspectSymbol](): unknown -``` - -Added in v2.0.0 - -### [Equal.symbol] (method) - -**Signature** - -```ts -[Equal.symbol](that: unknown): boolean -``` - -Added in v2.0.0 - -### [Hash.symbol] (method) - -**Signature** - -```ts -[Hash.symbol](): number -``` - -Added in v2.0.0 - # testing ## arbitrary @@ -398,7 +278,7 @@ FastCheck arbitrary for generating random DatumOption instances **Signature** ```ts -export declare const arbitrary: FastCheck.Arbitrary +export declare const arbitrary: FastCheck.Arbitrary ``` Added in v2.0.0 @@ -420,30 +300,3 @@ export declare const CDDLSchema: Schema.Union< ] > ``` - -## DatumHashFromBytes - -**Signature** - -```ts -export declare const DatumHashFromBytes: Schema.transform< - Schema.SchemaClass, - Schema.SchemaClass -> -``` - -## datumHashArbitrary - -**Signature** - -```ts -export declare const datumHashArbitrary: FastCheck.Arbitrary -``` - -## inlineDatumArbitrary - -**Signature** - -```ts -export declare const inlineDatumArbitrary: FastCheck.Arbitrary -``` diff --git a/packages/evolution/docs/modules/DnsName.ts.md b/packages/evolution/docs/modules/DnsName.ts.md index 04677e1c..16a4131a 100644 --- a/packages/evolution/docs/modules/DnsName.ts.md +++ b/packages/evolution/docs/modules/DnsName.ts.md @@ -1,6 +1,6 @@ --- title: DnsName.ts -nav_order: 48 +nav_order: 49 parent: Modules --- diff --git a/packages/evolution/docs/modules/Ed25519Signature.ts.md b/packages/evolution/docs/modules/Ed25519Signature.ts.md index 485b92d9..d31b570d 100644 --- a/packages/evolution/docs/modules/Ed25519Signature.ts.md +++ b/packages/evolution/docs/modules/Ed25519Signature.ts.md @@ -1,6 +1,6 @@ --- title: Ed25519Signature.ts -nav_order: 51 +nav_order: 52 parent: Modules --- diff --git a/packages/evolution/docs/modules/EnterpriseAddress.ts.md b/packages/evolution/docs/modules/EnterpriseAddress.ts.md index bc42083d..fb78aca8 100644 --- a/packages/evolution/docs/modules/EnterpriseAddress.ts.md +++ b/packages/evolution/docs/modules/EnterpriseAddress.ts.md @@ -1,6 +1,6 @@ --- title: EnterpriseAddress.ts -nav_order: 52 +nav_order: 53 parent: Modules --- diff --git a/packages/evolution/docs/modules/EpochNo.ts.md b/packages/evolution/docs/modules/EpochNo.ts.md index 77b0874d..38df9704 100644 --- a/packages/evolution/docs/modules/EpochNo.ts.md +++ b/packages/evolution/docs/modules/EpochNo.ts.md @@ -1,6 +1,6 @@ --- title: EpochNo.ts -nav_order: 53 +nav_order: 54 parent: Modules --- diff --git a/packages/evolution/docs/modules/FormatError.ts.md b/packages/evolution/docs/modules/FormatError.ts.md index 8b8c4062..5ad73f31 100644 --- a/packages/evolution/docs/modules/FormatError.ts.md +++ b/packages/evolution/docs/modules/FormatError.ts.md @@ -1,6 +1,6 @@ --- title: FormatError.ts -nav_order: 54 +nav_order: 55 parent: Modules --- diff --git a/packages/evolution/docs/modules/Function.ts.md b/packages/evolution/docs/modules/Function.ts.md index 32458a1a..19a89ae6 100644 --- a/packages/evolution/docs/modules/Function.ts.md +++ b/packages/evolution/docs/modules/Function.ts.md @@ -1,6 +1,6 @@ --- title: Function.ts -nav_order: 55 +nav_order: 56 parent: Modules --- diff --git a/packages/evolution/docs/modules/GovernanceAction.ts.md b/packages/evolution/docs/modules/GovernanceAction.ts.md index d327b36e..760e8442 100644 --- a/packages/evolution/docs/modules/GovernanceAction.ts.md +++ b/packages/evolution/docs/modules/GovernanceAction.ts.md @@ -1,6 +1,6 @@ --- title: GovernanceAction.ts -nav_order: 56 +nav_order: 57 parent: Modules --- diff --git a/packages/evolution/docs/modules/Hash28.ts.md b/packages/evolution/docs/modules/Hash28.ts.md index 37a23335..3d474a98 100644 --- a/packages/evolution/docs/modules/Hash28.ts.md +++ b/packages/evolution/docs/modules/Hash28.ts.md @@ -1,6 +1,6 @@ --- title: Hash28.ts -nav_order: 57 +nav_order: 58 parent: Modules --- diff --git a/packages/evolution/docs/modules/Header.ts.md b/packages/evolution/docs/modules/Header.ts.md index 1fdba539..cbc131d3 100644 --- a/packages/evolution/docs/modules/Header.ts.md +++ b/packages/evolution/docs/modules/Header.ts.md @@ -1,6 +1,6 @@ --- title: Header.ts -nav_order: 58 +nav_order: 59 parent: Modules --- diff --git a/packages/evolution/docs/modules/HeaderBody.ts.md b/packages/evolution/docs/modules/HeaderBody.ts.md index e755c5b6..9dab839d 100644 --- a/packages/evolution/docs/modules/HeaderBody.ts.md +++ b/packages/evolution/docs/modules/HeaderBody.ts.md @@ -1,6 +1,6 @@ --- title: HeaderBody.ts -nav_order: 59 +nav_order: 60 parent: Modules --- diff --git a/packages/evolution/docs/modules/IPv4.ts.md b/packages/evolution/docs/modules/IPv4.ts.md index a74e8122..c20d168d 100644 --- a/packages/evolution/docs/modules/IPv4.ts.md +++ b/packages/evolution/docs/modules/IPv4.ts.md @@ -1,6 +1,6 @@ --- title: IPv4.ts -nav_order: 60 +nav_order: 62 parent: Modules --- diff --git a/packages/evolution/docs/modules/IPv6.ts.md b/packages/evolution/docs/modules/IPv6.ts.md index c4f29483..386c8770 100644 --- a/packages/evolution/docs/modules/IPv6.ts.md +++ b/packages/evolution/docs/modules/IPv6.ts.md @@ -1,6 +1,6 @@ --- title: IPv6.ts -nav_order: 61 +nav_order: 63 parent: Modules --- diff --git a/packages/evolution/docs/modules/InlineDatum.ts.md b/packages/evolution/docs/modules/InlineDatum.ts.md new file mode 100644 index 00000000..2e152eeb --- /dev/null +++ b/packages/evolution/docs/modules/InlineDatum.ts.md @@ -0,0 +1,117 @@ +--- +title: InlineDatum.ts +nav_order: 61 +parent: Modules +--- + +## InlineDatum overview + +--- + +

Table of contents

+ +- [predicates](#predicates) + - [isInlineDatum](#isinlinedatum) +- [schemas](#schemas) + - [InlineDatum (class)](#inlinedatum-class) + - [toJSON (method)](#tojson-method) + - [toString (method)](#tostring-method) + - [[Inspectable.NodeInspectSymbol] (method)](#inspectablenodeinspectsymbol-method) + - [[Equal.symbol] (method)](#equalsymbol-method) + - [[Hash.symbol] (method)](#hashsymbol-method) +- [testing](#testing) + - [arbitrary](#arbitrary) + +--- + +# predicates + +## isInlineDatum + +Type guard to check if a value is an InlineDatum. + +**Signature** + +```ts +export declare const isInlineDatum: (u: unknown, overrideOptions?: ParseOptions | number) => u is InlineDatum +``` + +Added in v2.0.0 + +# schemas + +## InlineDatum (class) + +Schema for InlineDatum representing inline plutus data embedded directly in the transaction output. + +**Signature** + +```ts +export declare class InlineDatum +``` + +Added in v2.0.0 + +### toJSON (method) + +**Signature** + +```ts +toJSON() +``` + +Added in v2.0.0 + +### toString (method) + +**Signature** + +```ts +toString(): string +``` + +Added in v2.0.0 + +### [Inspectable.NodeInspectSymbol] (method) + +**Signature** + +```ts +[Inspectable.NodeInspectSymbol](): unknown +``` + +Added in v2.0.0 + +### [Equal.symbol] (method) + +**Signature** + +```ts +[Equal.symbol](that: unknown): boolean +``` + +Added in v2.0.0 + +### [Hash.symbol] (method) + +**Signature** + +```ts +[Hash.symbol](): number +``` + +Added in v2.0.0 + +# testing + +## arbitrary + +FastCheck arbitrary for generating random InlineDatum instances. + +**Signature** + +```ts +export declare const arbitrary: Arbitrary +``` + +Added in v2.0.0 diff --git a/packages/evolution/docs/modules/KESVkey.ts.md b/packages/evolution/docs/modules/KESVkey.ts.md index 1e6df762..df0ce126 100644 --- a/packages/evolution/docs/modules/KESVkey.ts.md +++ b/packages/evolution/docs/modules/KESVkey.ts.md @@ -1,6 +1,6 @@ --- title: KESVkey.ts -nav_order: 63 +nav_order: 65 parent: Modules --- diff --git a/packages/evolution/docs/modules/KesSignature.ts.md b/packages/evolution/docs/modules/KesSignature.ts.md index a9dd33fa..8c45f75c 100644 --- a/packages/evolution/docs/modules/KesSignature.ts.md +++ b/packages/evolution/docs/modules/KesSignature.ts.md @@ -1,6 +1,6 @@ --- title: KesSignature.ts -nav_order: 62 +nav_order: 64 parent: Modules --- diff --git a/packages/evolution/docs/modules/KeyHash.ts.md b/packages/evolution/docs/modules/KeyHash.ts.md index 594b0cd7..6eaac9ad 100644 --- a/packages/evolution/docs/modules/KeyHash.ts.md +++ b/packages/evolution/docs/modules/KeyHash.ts.md @@ -1,6 +1,6 @@ --- title: KeyHash.ts -nav_order: 64 +nav_order: 66 parent: Modules --- diff --git a/packages/evolution/docs/modules/Language.ts.md b/packages/evolution/docs/modules/Language.ts.md index fe594e86..fda8f5e0 100644 --- a/packages/evolution/docs/modules/Language.ts.md +++ b/packages/evolution/docs/modules/Language.ts.md @@ -1,6 +1,6 @@ --- title: Language.ts -nav_order: 65 +nav_order: 67 parent: Modules --- diff --git a/packages/evolution/docs/modules/Metadata.ts.md b/packages/evolution/docs/modules/Metadata.ts.md index 9649ca8f..1a363634 100644 --- a/packages/evolution/docs/modules/Metadata.ts.md +++ b/packages/evolution/docs/modules/Metadata.ts.md @@ -1,6 +1,6 @@ --- title: Metadata.ts -nav_order: 73 +nav_order: 75 parent: Modules --- diff --git a/packages/evolution/docs/modules/Mint.ts.md b/packages/evolution/docs/modules/Mint.ts.md index dd5f2eb1..40e416c1 100644 --- a/packages/evolution/docs/modules/Mint.ts.md +++ b/packages/evolution/docs/modules/Mint.ts.md @@ -1,6 +1,6 @@ --- title: Mint.ts -nav_order: 74 +nav_order: 76 parent: Modules --- diff --git a/packages/evolution/docs/modules/MultiAsset.ts.md b/packages/evolution/docs/modules/MultiAsset.ts.md index 7bb8bbcc..96d25ae7 100644 --- a/packages/evolution/docs/modules/MultiAsset.ts.md +++ b/packages/evolution/docs/modules/MultiAsset.ts.md @@ -1,6 +1,6 @@ --- title: MultiAsset.ts -nav_order: 75 +nav_order: 77 parent: Modules --- diff --git a/packages/evolution/docs/modules/MultiHostName.ts.md b/packages/evolution/docs/modules/MultiHostName.ts.md index 3bd17c2d..fac147b6 100644 --- a/packages/evolution/docs/modules/MultiHostName.ts.md +++ b/packages/evolution/docs/modules/MultiHostName.ts.md @@ -1,6 +1,6 @@ --- title: MultiHostName.ts -nav_order: 76 +nav_order: 78 parent: Modules --- diff --git a/packages/evolution/docs/modules/NativeScriptJSON.ts.md b/packages/evolution/docs/modules/NativeScriptJSON.ts.md index f2303dc8..93e61e20 100644 --- a/packages/evolution/docs/modules/NativeScriptJSON.ts.md +++ b/packages/evolution/docs/modules/NativeScriptJSON.ts.md @@ -1,6 +1,6 @@ --- title: NativeScriptJSON.ts -nav_order: 77 +nav_order: 79 parent: Modules --- diff --git a/packages/evolution/docs/modules/NativeScripts.ts.md b/packages/evolution/docs/modules/NativeScripts.ts.md index ee7f6372..516a20bd 100644 --- a/packages/evolution/docs/modules/NativeScripts.ts.md +++ b/packages/evolution/docs/modules/NativeScripts.ts.md @@ -1,6 +1,6 @@ --- title: NativeScripts.ts -nav_order: 78 +nav_order: 80 parent: Modules --- diff --git a/packages/evolution/docs/modules/NativeScriptsOLD.ts.md b/packages/evolution/docs/modules/NativeScriptsOLD.ts.md index 5da42a9d..9641b6d0 100644 --- a/packages/evolution/docs/modules/NativeScriptsOLD.ts.md +++ b/packages/evolution/docs/modules/NativeScriptsOLD.ts.md @@ -1,6 +1,6 @@ --- title: NativeScriptsOLD.ts -nav_order: 79 +nav_order: 81 parent: Modules --- diff --git a/packages/evolution/docs/modules/Natural.ts.md b/packages/evolution/docs/modules/Natural.ts.md index 2e156aa2..39f8c0ac 100644 --- a/packages/evolution/docs/modules/Natural.ts.md +++ b/packages/evolution/docs/modules/Natural.ts.md @@ -1,6 +1,6 @@ --- title: Natural.ts -nav_order: 80 +nav_order: 82 parent: Modules --- diff --git a/packages/evolution/docs/modules/Network.ts.md b/packages/evolution/docs/modules/Network.ts.md index 1ba560ab..2302b5f5 100644 --- a/packages/evolution/docs/modules/Network.ts.md +++ b/packages/evolution/docs/modules/Network.ts.md @@ -1,6 +1,6 @@ --- title: Network.ts -nav_order: 81 +nav_order: 83 parent: Modules --- diff --git a/packages/evolution/docs/modules/NetworkId.ts.md b/packages/evolution/docs/modules/NetworkId.ts.md index 23a4e07d..8ca96b50 100644 --- a/packages/evolution/docs/modules/NetworkId.ts.md +++ b/packages/evolution/docs/modules/NetworkId.ts.md @@ -1,6 +1,6 @@ --- title: NetworkId.ts -nav_order: 82 +nav_order: 84 parent: Modules --- diff --git a/packages/evolution/docs/modules/NonZeroInt64.ts.md b/packages/evolution/docs/modules/NonZeroInt64.ts.md index 30e32430..dc6729f7 100644 --- a/packages/evolution/docs/modules/NonZeroInt64.ts.md +++ b/packages/evolution/docs/modules/NonZeroInt64.ts.md @@ -1,6 +1,6 @@ --- title: NonZeroInt64.ts -nav_order: 84 +nav_order: 86 parent: Modules --- diff --git a/packages/evolution/docs/modules/NonnegativeInterval.ts.md b/packages/evolution/docs/modules/NonnegativeInterval.ts.md index 4a18c6d4..c1178193 100644 --- a/packages/evolution/docs/modules/NonnegativeInterval.ts.md +++ b/packages/evolution/docs/modules/NonnegativeInterval.ts.md @@ -1,6 +1,6 @@ --- title: NonnegativeInterval.ts -nav_order: 83 +nav_order: 85 parent: Modules --- diff --git a/packages/evolution/docs/modules/Numeric.ts.md b/packages/evolution/docs/modules/Numeric.ts.md index 016c1f28..d5bb3bf1 100644 --- a/packages/evolution/docs/modules/Numeric.ts.md +++ b/packages/evolution/docs/modules/Numeric.ts.md @@ -1,6 +1,6 @@ --- title: Numeric.ts -nav_order: 85 +nav_order: 87 parent: Modules --- diff --git a/packages/evolution/docs/modules/OperationalCert.ts.md b/packages/evolution/docs/modules/OperationalCert.ts.md index 1e0c8a98..08a03e15 100644 --- a/packages/evolution/docs/modules/OperationalCert.ts.md +++ b/packages/evolution/docs/modules/OperationalCert.ts.md @@ -1,6 +1,6 @@ --- title: OperationalCert.ts -nav_order: 86 +nav_order: 88 parent: Modules --- diff --git a/packages/evolution/docs/modules/PaymentAddress.ts.md b/packages/evolution/docs/modules/PaymentAddress.ts.md index 451be5a3..b394f71e 100644 --- a/packages/evolution/docs/modules/PaymentAddress.ts.md +++ b/packages/evolution/docs/modules/PaymentAddress.ts.md @@ -1,6 +1,6 @@ --- title: PaymentAddress.ts -nav_order: 87 +nav_order: 89 parent: Modules --- diff --git a/packages/evolution/docs/modules/PlutusV1.ts.md b/packages/evolution/docs/modules/PlutusV1.ts.md index 4363a572..0c2e43fa 100644 --- a/packages/evolution/docs/modules/PlutusV1.ts.md +++ b/packages/evolution/docs/modules/PlutusV1.ts.md @@ -1,6 +1,6 @@ --- title: PlutusV1.ts -nav_order: 93 +nav_order: 95 parent: Modules --- diff --git a/packages/evolution/docs/modules/PlutusV2.ts.md b/packages/evolution/docs/modules/PlutusV2.ts.md index 0f99fd1f..12661efe 100644 --- a/packages/evolution/docs/modules/PlutusV2.ts.md +++ b/packages/evolution/docs/modules/PlutusV2.ts.md @@ -1,6 +1,6 @@ --- title: PlutusV2.ts -nav_order: 94 +nav_order: 96 parent: Modules --- diff --git a/packages/evolution/docs/modules/PlutusV3.ts.md b/packages/evolution/docs/modules/PlutusV3.ts.md index 2e59a7f9..b4050a6e 100644 --- a/packages/evolution/docs/modules/PlutusV3.ts.md +++ b/packages/evolution/docs/modules/PlutusV3.ts.md @@ -1,6 +1,6 @@ --- title: PlutusV3.ts -nav_order: 95 +nav_order: 97 parent: Modules --- diff --git a/packages/evolution/docs/modules/Pointer.ts.md b/packages/evolution/docs/modules/Pointer.ts.md index 0fa73084..6d6224d6 100644 --- a/packages/evolution/docs/modules/Pointer.ts.md +++ b/packages/evolution/docs/modules/Pointer.ts.md @@ -1,6 +1,6 @@ --- title: Pointer.ts -nav_order: 96 +nav_order: 98 parent: Modules --- diff --git a/packages/evolution/docs/modules/PointerAddress.ts.md b/packages/evolution/docs/modules/PointerAddress.ts.md index 8b60f7c5..359c5ad3 100644 --- a/packages/evolution/docs/modules/PointerAddress.ts.md +++ b/packages/evolution/docs/modules/PointerAddress.ts.md @@ -1,6 +1,6 @@ --- title: PointerAddress.ts -nav_order: 97 +nav_order: 99 parent: Modules --- diff --git a/packages/evolution/docs/modules/PolicyId.ts.md b/packages/evolution/docs/modules/PolicyId.ts.md index ae3ceb2d..5b40af39 100644 --- a/packages/evolution/docs/modules/PolicyId.ts.md +++ b/packages/evolution/docs/modules/PolicyId.ts.md @@ -1,6 +1,6 @@ --- title: PolicyId.ts -nav_order: 98 +nav_order: 100 parent: Modules --- diff --git a/packages/evolution/docs/modules/PoolKeyHash.ts.md b/packages/evolution/docs/modules/PoolKeyHash.ts.md index 0c7c5c8f..4e6916f6 100644 --- a/packages/evolution/docs/modules/PoolKeyHash.ts.md +++ b/packages/evolution/docs/modules/PoolKeyHash.ts.md @@ -1,6 +1,6 @@ --- title: PoolKeyHash.ts -nav_order: 99 +nav_order: 101 parent: Modules --- @@ -13,6 +13,7 @@ parent: Modules - [arbitrary](#arbitrary) - [arbitrary](#arbitrary-1) - [encoding](#encoding) + - [toBech32](#tobech32) - [toBytes](#tobytes) - [toHex](#tohex) - [model](#model) @@ -23,9 +24,11 @@ parent: Modules - [[Equal.symbol] (method)](#equalsymbol-method) - [[Hash.symbol] (method)](#hashsymbol-method) - [parsing](#parsing) + - [fromBech32](#frombech32) - [fromBytes](#frombytes) - [fromHex](#fromhex) - [schemas](#schemas) + - [FromBech32](#frombech32-1) - [FromBytes](#frombytes-1) - [FromHex](#fromhex-1) @@ -47,6 +50,18 @@ Added in v2.0.0 # encoding +## toBech32 + +Encode PoolKeyHash to bech32 string (pool1...). + +**Signature** + +```ts +export declare const toBech32: (a: PoolKeyHash, overrideOptions?: ParseOptions) => string +``` + +Added in v2.0.0 + ## toBytes Encode PoolKeyHash to bytes. @@ -128,6 +143,18 @@ toString(): string # parsing +## fromBech32 + +Parse PoolKeyHash from bech32 string (pool1...). + +**Signature** + +```ts +export declare const fromBech32: (i: string, overrideOptions?: ParseOptions) => PoolKeyHash +``` + +Added in v2.0.0 + ## fromBytes Parse PoolKeyHash from bytes. @@ -154,6 +181,22 @@ Added in v2.0.0 # schemas +## FromBech32 + +Schema transformer from bech32 string (pool1...) to PoolKeyHash. + +**Signature** + +```ts +export declare const FromBech32: Schema.transformOrFail< + typeof Schema.String, + Schema.SchemaClass, + never +> +``` + +Added in v2.0.0 + ## FromBytes Schema transformer from bytes to PoolKeyHash. diff --git a/packages/evolution/docs/modules/PoolMetadata.ts.md b/packages/evolution/docs/modules/PoolMetadata.ts.md index 52fd4da8..5eb6a75b 100644 --- a/packages/evolution/docs/modules/PoolMetadata.ts.md +++ b/packages/evolution/docs/modules/PoolMetadata.ts.md @@ -1,6 +1,6 @@ --- title: PoolMetadata.ts -nav_order: 100 +nav_order: 102 parent: Modules --- diff --git a/packages/evolution/docs/modules/PoolParams.ts.md b/packages/evolution/docs/modules/PoolParams.ts.md index c288bd7a..9db0847f 100644 --- a/packages/evolution/docs/modules/PoolParams.ts.md +++ b/packages/evolution/docs/modules/PoolParams.ts.md @@ -1,6 +1,6 @@ --- title: PoolParams.ts -nav_order: 101 +nav_order: 103 parent: Modules --- diff --git a/packages/evolution/docs/modules/Port.ts.md b/packages/evolution/docs/modules/Port.ts.md index 30f1383b..a74c5268 100644 --- a/packages/evolution/docs/modules/Port.ts.md +++ b/packages/evolution/docs/modules/Port.ts.md @@ -1,6 +1,6 @@ --- title: Port.ts -nav_order: 102 +nav_order: 104 parent: Modules --- diff --git a/packages/evolution/docs/modules/PositiveCoin.ts.md b/packages/evolution/docs/modules/PositiveCoin.ts.md index 8d7a7b7c..90a20ad9 100644 --- a/packages/evolution/docs/modules/PositiveCoin.ts.md +++ b/packages/evolution/docs/modules/PositiveCoin.ts.md @@ -1,6 +1,6 @@ --- title: PositiveCoin.ts -nav_order: 103 +nav_order: 105 parent: Modules --- diff --git a/packages/evolution/docs/modules/PrivateKey.ts.md b/packages/evolution/docs/modules/PrivateKey.ts.md index 90590a33..2c3ebcb9 100644 --- a/packages/evolution/docs/modules/PrivateKey.ts.md +++ b/packages/evolution/docs/modules/PrivateKey.ts.md @@ -1,6 +1,6 @@ --- title: PrivateKey.ts -nav_order: 104 +nav_order: 106 parent: Modules --- diff --git a/packages/evolution/docs/modules/ProposalProcedure.ts.md b/packages/evolution/docs/modules/ProposalProcedure.ts.md index 02e8cddb..ead42f82 100644 --- a/packages/evolution/docs/modules/ProposalProcedure.ts.md +++ b/packages/evolution/docs/modules/ProposalProcedure.ts.md @@ -1,6 +1,6 @@ --- title: ProposalProcedure.ts -nav_order: 105 +nav_order: 107 parent: Modules --- diff --git a/packages/evolution/docs/modules/ProposalProcedures.ts.md b/packages/evolution/docs/modules/ProposalProcedures.ts.md index 6610ff22..f8f2346e 100644 --- a/packages/evolution/docs/modules/ProposalProcedures.ts.md +++ b/packages/evolution/docs/modules/ProposalProcedures.ts.md @@ -1,6 +1,6 @@ --- title: ProposalProcedures.ts -nav_order: 106 +nav_order: 108 parent: Modules --- diff --git a/packages/evolution/docs/modules/ProtocolParamUpdate.ts.md b/packages/evolution/docs/modules/ProtocolParamUpdate.ts.md index 9076bdba..57dd610c 100644 --- a/packages/evolution/docs/modules/ProtocolParamUpdate.ts.md +++ b/packages/evolution/docs/modules/ProtocolParamUpdate.ts.md @@ -1,6 +1,6 @@ --- title: ProtocolParamUpdate.ts -nav_order: 107 +nav_order: 109 parent: Modules --- diff --git a/packages/evolution/docs/modules/ProtocolVersion.ts.md b/packages/evolution/docs/modules/ProtocolVersion.ts.md index 2bc51243..8b7e569a 100644 --- a/packages/evolution/docs/modules/ProtocolVersion.ts.md +++ b/packages/evolution/docs/modules/ProtocolVersion.ts.md @@ -1,6 +1,6 @@ --- title: ProtocolVersion.ts -nav_order: 108 +nav_order: 110 parent: Modules --- diff --git a/packages/evolution/docs/modules/Redeemer.ts.md b/packages/evolution/docs/modules/Redeemer.ts.md index 3788350f..0497477a 100644 --- a/packages/evolution/docs/modules/Redeemer.ts.md +++ b/packages/evolution/docs/modules/Redeemer.ts.md @@ -1,6 +1,6 @@ --- title: Redeemer.ts -nav_order: 109 +nav_order: 111 parent: Modules --- diff --git a/packages/evolution/docs/modules/Redeemers.ts.md b/packages/evolution/docs/modules/Redeemers.ts.md index 0371e3da..4e2d558e 100644 --- a/packages/evolution/docs/modules/Redeemers.ts.md +++ b/packages/evolution/docs/modules/Redeemers.ts.md @@ -1,6 +1,6 @@ --- title: Redeemers.ts -nav_order: 110 +nav_order: 112 parent: Modules --- diff --git a/packages/evolution/docs/modules/Relay.ts.md b/packages/evolution/docs/modules/Relay.ts.md index 0b921142..cee2bc5e 100644 --- a/packages/evolution/docs/modules/Relay.ts.md +++ b/packages/evolution/docs/modules/Relay.ts.md @@ -1,6 +1,6 @@ --- title: Relay.ts -nav_order: 111 +nav_order: 113 parent: Modules --- diff --git a/packages/evolution/docs/modules/RewardAccount.ts.md b/packages/evolution/docs/modules/RewardAccount.ts.md index a9ebffd5..8cf6db64 100644 --- a/packages/evolution/docs/modules/RewardAccount.ts.md +++ b/packages/evolution/docs/modules/RewardAccount.ts.md @@ -1,6 +1,6 @@ --- title: RewardAccount.ts -nav_order: 112 +nav_order: 114 parent: Modules --- diff --git a/packages/evolution/docs/modules/RewardAddress.ts.md b/packages/evolution/docs/modules/RewardAddress.ts.md index 08bea2ec..765f50c3 100644 --- a/packages/evolution/docs/modules/RewardAddress.ts.md +++ b/packages/evolution/docs/modules/RewardAddress.ts.md @@ -1,6 +1,6 @@ --- title: RewardAddress.ts -nav_order: 113 +nav_order: 115 parent: Modules --- diff --git a/packages/evolution/docs/modules/Script.ts.md b/packages/evolution/docs/modules/Script.ts.md index 176b2b8a..944e5008 100644 --- a/packages/evolution/docs/modules/Script.ts.md +++ b/packages/evolution/docs/modules/Script.ts.md @@ -1,6 +1,6 @@ --- title: Script.ts -nav_order: 114 +nav_order: 116 parent: Modules --- diff --git a/packages/evolution/docs/modules/ScriptDataHash.ts.md b/packages/evolution/docs/modules/ScriptDataHash.ts.md index ad791e82..6d7c52b3 100644 --- a/packages/evolution/docs/modules/ScriptDataHash.ts.md +++ b/packages/evolution/docs/modules/ScriptDataHash.ts.md @@ -1,6 +1,6 @@ --- title: ScriptDataHash.ts -nav_order: 115 +nav_order: 117 parent: Modules --- diff --git a/packages/evolution/docs/modules/ScriptHash.ts.md b/packages/evolution/docs/modules/ScriptHash.ts.md index 459a5165..d388224a 100644 --- a/packages/evolution/docs/modules/ScriptHash.ts.md +++ b/packages/evolution/docs/modules/ScriptHash.ts.md @@ -1,6 +1,6 @@ --- title: ScriptHash.ts -nav_order: 116 +nav_order: 118 parent: Modules --- diff --git a/packages/evolution/docs/modules/ScriptRef.ts.md b/packages/evolution/docs/modules/ScriptRef.ts.md index 8ce1143c..4943ee9d 100644 --- a/packages/evolution/docs/modules/ScriptRef.ts.md +++ b/packages/evolution/docs/modules/ScriptRef.ts.md @@ -1,6 +1,6 @@ --- title: ScriptRef.ts -nav_order: 117 +nav_order: 119 parent: Modules --- diff --git a/packages/evolution/docs/modules/SingleHostAddr.ts.md b/packages/evolution/docs/modules/SingleHostAddr.ts.md index e848b9cb..eff4b8d6 100644 --- a/packages/evolution/docs/modules/SingleHostAddr.ts.md +++ b/packages/evolution/docs/modules/SingleHostAddr.ts.md @@ -1,6 +1,6 @@ --- title: SingleHostAddr.ts -nav_order: 164 +nav_order: 166 parent: Modules --- diff --git a/packages/evolution/docs/modules/SingleHostName.ts.md b/packages/evolution/docs/modules/SingleHostName.ts.md index cd06e214..61dc643e 100644 --- a/packages/evolution/docs/modules/SingleHostName.ts.md +++ b/packages/evolution/docs/modules/SingleHostName.ts.md @@ -1,6 +1,6 @@ --- title: SingleHostName.ts -nav_order: 165 +nav_order: 167 parent: Modules --- diff --git a/packages/evolution/docs/modules/StakeReference.ts.md b/packages/evolution/docs/modules/StakeReference.ts.md index 326e77dd..ac2c3355 100644 --- a/packages/evolution/docs/modules/StakeReference.ts.md +++ b/packages/evolution/docs/modules/StakeReference.ts.md @@ -1,6 +1,6 @@ --- title: StakeReference.ts -nav_order: 166 +nav_order: 168 parent: Modules --- diff --git a/packages/evolution/docs/modules/TSchema.ts.md b/packages/evolution/docs/modules/TSchema.ts.md index 57c6da05..9ec0a01e 100644 --- a/packages/evolution/docs/modules/TSchema.ts.md +++ b/packages/evolution/docs/modules/TSchema.ts.md @@ -1,6 +1,6 @@ --- title: TSchema.ts -nav_order: 181 +nav_order: 183 parent: Modules --- diff --git a/packages/evolution/docs/modules/Text.ts.md b/packages/evolution/docs/modules/Text.ts.md index 56f72a81..5f5ab80e 100644 --- a/packages/evolution/docs/modules/Text.ts.md +++ b/packages/evolution/docs/modules/Text.ts.md @@ -1,6 +1,6 @@ --- title: Text.ts -nav_order: 167 +nav_order: 169 parent: Modules --- diff --git a/packages/evolution/docs/modules/Text128.ts.md b/packages/evolution/docs/modules/Text128.ts.md index 74376949..28414128 100644 --- a/packages/evolution/docs/modules/Text128.ts.md +++ b/packages/evolution/docs/modules/Text128.ts.md @@ -1,6 +1,6 @@ --- title: Text128.ts -nav_order: 168 +nav_order: 170 parent: Modules --- diff --git a/packages/evolution/docs/modules/Time/Slot.ts.md b/packages/evolution/docs/modules/Time/Slot.ts.md index 7907f5ae..1152bc9e 100644 --- a/packages/evolution/docs/modules/Time/Slot.ts.md +++ b/packages/evolution/docs/modules/Time/Slot.ts.md @@ -1,6 +1,6 @@ --- title: Time/Slot.ts -nav_order: 169 +nav_order: 171 parent: Modules --- diff --git a/packages/evolution/docs/modules/Time/SlotConfig.ts.md b/packages/evolution/docs/modules/Time/SlotConfig.ts.md index 06a63609..3d0cfc8c 100644 --- a/packages/evolution/docs/modules/Time/SlotConfig.ts.md +++ b/packages/evolution/docs/modules/Time/SlotConfig.ts.md @@ -1,6 +1,6 @@ --- title: Time/SlotConfig.ts -nav_order: 170 +nav_order: 172 parent: Modules --- diff --git a/packages/evolution/docs/modules/Time/UnixTime.ts.md b/packages/evolution/docs/modules/Time/UnixTime.ts.md index 6e6c90ae..62794d51 100644 --- a/packages/evolution/docs/modules/Time/UnixTime.ts.md +++ b/packages/evolution/docs/modules/Time/UnixTime.ts.md @@ -1,6 +1,6 @@ --- title: Time/UnixTime.ts -nav_order: 171 +nav_order: 173 parent: Modules --- diff --git a/packages/evolution/docs/modules/Transaction.ts.md b/packages/evolution/docs/modules/Transaction.ts.md index 796ad00b..131d2f65 100644 --- a/packages/evolution/docs/modules/Transaction.ts.md +++ b/packages/evolution/docs/modules/Transaction.ts.md @@ -1,6 +1,6 @@ --- title: Transaction.ts -nav_order: 172 +nav_order: 174 parent: Modules --- diff --git a/packages/evolution/docs/modules/TransactionBody.ts.md b/packages/evolution/docs/modules/TransactionBody.ts.md index 4b6fa74d..85e02f7c 100644 --- a/packages/evolution/docs/modules/TransactionBody.ts.md +++ b/packages/evolution/docs/modules/TransactionBody.ts.md @@ -1,6 +1,6 @@ --- title: TransactionBody.ts -nav_order: 173 +nav_order: 175 parent: Modules --- diff --git a/packages/evolution/docs/modules/TransactionHash.ts.md b/packages/evolution/docs/modules/TransactionHash.ts.md index 5b6fae4f..2e3db7fb 100644 --- a/packages/evolution/docs/modules/TransactionHash.ts.md +++ b/packages/evolution/docs/modules/TransactionHash.ts.md @@ -1,6 +1,6 @@ --- title: TransactionHash.ts -nav_order: 174 +nav_order: 176 parent: Modules --- diff --git a/packages/evolution/docs/modules/TransactionIndex.ts.md b/packages/evolution/docs/modules/TransactionIndex.ts.md index ebb07f33..bdeefd19 100644 --- a/packages/evolution/docs/modules/TransactionIndex.ts.md +++ b/packages/evolution/docs/modules/TransactionIndex.ts.md @@ -1,6 +1,6 @@ --- title: TransactionIndex.ts -nav_order: 175 +nav_order: 177 parent: Modules --- diff --git a/packages/evolution/docs/modules/TransactionInput.ts.md b/packages/evolution/docs/modules/TransactionInput.ts.md index f24adb53..1c9999a1 100644 --- a/packages/evolution/docs/modules/TransactionInput.ts.md +++ b/packages/evolution/docs/modules/TransactionInput.ts.md @@ -1,6 +1,6 @@ --- title: TransactionInput.ts -nav_order: 176 +nav_order: 178 parent: Modules --- diff --git a/packages/evolution/docs/modules/TransactionMetadatum.ts.md b/packages/evolution/docs/modules/TransactionMetadatum.ts.md index a9a0a8ce..f468dd1a 100644 --- a/packages/evolution/docs/modules/TransactionMetadatum.ts.md +++ b/packages/evolution/docs/modules/TransactionMetadatum.ts.md @@ -1,6 +1,6 @@ --- title: TransactionMetadatum.ts -nav_order: 177 +nav_order: 179 parent: Modules --- diff --git a/packages/evolution/docs/modules/TransactionMetadatumLabels.ts.md b/packages/evolution/docs/modules/TransactionMetadatumLabels.ts.md index 1c6a8d44..7aa8c457 100644 --- a/packages/evolution/docs/modules/TransactionMetadatumLabels.ts.md +++ b/packages/evolution/docs/modules/TransactionMetadatumLabels.ts.md @@ -1,6 +1,6 @@ --- title: TransactionMetadatumLabels.ts -nav_order: 178 +nav_order: 180 parent: Modules --- diff --git a/packages/evolution/docs/modules/TransactionOutput.ts.md b/packages/evolution/docs/modules/TransactionOutput.ts.md index fe35b6b3..aab9a91f 100644 --- a/packages/evolution/docs/modules/TransactionOutput.ts.md +++ b/packages/evolution/docs/modules/TransactionOutput.ts.md @@ -1,6 +1,6 @@ --- title: TransactionOutput.ts -nav_order: 179 +nav_order: 181 parent: Modules --- diff --git a/packages/evolution/docs/modules/TransactionWitnessSet.ts.md b/packages/evolution/docs/modules/TransactionWitnessSet.ts.md index c2638d29..fdbfbe94 100644 --- a/packages/evolution/docs/modules/TransactionWitnessSet.ts.md +++ b/packages/evolution/docs/modules/TransactionWitnessSet.ts.md @@ -1,6 +1,6 @@ --- title: TransactionWitnessSet.ts -nav_order: 180 +nav_order: 182 parent: Modules --- diff --git a/packages/evolution/docs/modules/TxOut.ts.md b/packages/evolution/docs/modules/TxOut.ts.md index a9555688..129fa101 100644 --- a/packages/evolution/docs/modules/TxOut.ts.md +++ b/packages/evolution/docs/modules/TxOut.ts.md @@ -1,6 +1,6 @@ --- title: TxOut.ts -nav_order: 182 +nav_order: 184 parent: Modules --- diff --git a/packages/evolution/docs/modules/UTxO.ts.md b/packages/evolution/docs/modules/UTxO.ts.md index 1bdb7fb2..6049b3d1 100644 --- a/packages/evolution/docs/modules/UTxO.ts.md +++ b/packages/evolution/docs/modules/UTxO.ts.md @@ -1,6 +1,6 @@ --- title: UTxO.ts -nav_order: 189 +nav_order: 191 parent: Modules --- diff --git a/packages/evolution/docs/modules/UnitInterval.ts.md b/packages/evolution/docs/modules/UnitInterval.ts.md index 9807a38f..a6fe1d60 100644 --- a/packages/evolution/docs/modules/UnitInterval.ts.md +++ b/packages/evolution/docs/modules/UnitInterval.ts.md @@ -1,6 +1,6 @@ --- title: UnitInterval.ts -nav_order: 183 +nav_order: 185 parent: Modules --- diff --git a/packages/evolution/docs/modules/Url.ts.md b/packages/evolution/docs/modules/Url.ts.md index 7444b869..fdd34431 100644 --- a/packages/evolution/docs/modules/Url.ts.md +++ b/packages/evolution/docs/modules/Url.ts.md @@ -1,6 +1,6 @@ --- title: Url.ts -nav_order: 185 +nav_order: 187 parent: Modules --- diff --git a/packages/evolution/docs/modules/VKey.ts.md b/packages/evolution/docs/modules/VKey.ts.md index 2d75ccfd..1893285d 100644 --- a/packages/evolution/docs/modules/VKey.ts.md +++ b/packages/evolution/docs/modules/VKey.ts.md @@ -1,6 +1,6 @@ --- title: VKey.ts -nav_order: 191 +nav_order: 193 parent: Modules --- diff --git a/packages/evolution/docs/modules/Value.ts.md b/packages/evolution/docs/modules/Value.ts.md index 5c98cdd3..110d2c8b 100644 --- a/packages/evolution/docs/modules/Value.ts.md +++ b/packages/evolution/docs/modules/Value.ts.md @@ -1,6 +1,6 @@ --- title: Value.ts -nav_order: 190 +nav_order: 192 parent: Modules --- diff --git a/packages/evolution/docs/modules/VotingProcedures.ts.md b/packages/evolution/docs/modules/VotingProcedures.ts.md index a3c11947..2f02c292 100644 --- a/packages/evolution/docs/modules/VotingProcedures.ts.md +++ b/packages/evolution/docs/modules/VotingProcedures.ts.md @@ -1,6 +1,6 @@ --- title: VotingProcedures.ts -nav_order: 192 +nav_order: 194 parent: Modules --- diff --git a/packages/evolution/docs/modules/VrfCert.ts.md b/packages/evolution/docs/modules/VrfCert.ts.md index cf20cebe..d8e4e1e3 100644 --- a/packages/evolution/docs/modules/VrfCert.ts.md +++ b/packages/evolution/docs/modules/VrfCert.ts.md @@ -1,6 +1,6 @@ --- title: VrfCert.ts -nav_order: 193 +nav_order: 195 parent: Modules --- diff --git a/packages/evolution/docs/modules/VrfKeyHash.ts.md b/packages/evolution/docs/modules/VrfKeyHash.ts.md index ecdc77ea..94bd8e6a 100644 --- a/packages/evolution/docs/modules/VrfKeyHash.ts.md +++ b/packages/evolution/docs/modules/VrfKeyHash.ts.md @@ -1,6 +1,6 @@ --- title: VrfKeyHash.ts -nav_order: 194 +nav_order: 196 parent: Modules --- diff --git a/packages/evolution/docs/modules/VrfVkey.ts.md b/packages/evolution/docs/modules/VrfVkey.ts.md index eeb552e9..6500c399 100644 --- a/packages/evolution/docs/modules/VrfVkey.ts.md +++ b/packages/evolution/docs/modules/VrfVkey.ts.md @@ -1,6 +1,6 @@ --- title: VrfVkey.ts -nav_order: 195 +nav_order: 197 parent: Modules --- diff --git a/packages/evolution/docs/modules/Withdrawals.ts.md b/packages/evolution/docs/modules/Withdrawals.ts.md index bad6dd36..3fdb030d 100644 --- a/packages/evolution/docs/modules/Withdrawals.ts.md +++ b/packages/evolution/docs/modules/Withdrawals.ts.md @@ -1,6 +1,6 @@ --- title: Withdrawals.ts -nav_order: 196 +nav_order: 198 parent: Modules --- diff --git a/packages/evolution/docs/modules/message-signing/CoseKey.ts.md b/packages/evolution/docs/modules/message-signing/CoseKey.ts.md index 817de1ef..e3af2d69 100644 --- a/packages/evolution/docs/modules/message-signing/CoseKey.ts.md +++ b/packages/evolution/docs/modules/message-signing/CoseKey.ts.md @@ -1,6 +1,6 @@ --- title: message-signing/CoseKey.ts -nav_order: 66 +nav_order: 68 parent: Modules --- diff --git a/packages/evolution/docs/modules/message-signing/CoseSign.ts.md b/packages/evolution/docs/modules/message-signing/CoseSign.ts.md index 0bd3b6b6..656c0e9b 100644 --- a/packages/evolution/docs/modules/message-signing/CoseSign.ts.md +++ b/packages/evolution/docs/modules/message-signing/CoseSign.ts.md @@ -1,6 +1,6 @@ --- title: message-signing/CoseSign.ts -nav_order: 67 +nav_order: 69 parent: Modules --- diff --git a/packages/evolution/docs/modules/message-signing/CoseSign1.ts.md b/packages/evolution/docs/modules/message-signing/CoseSign1.ts.md index 8a4857ea..b17e9a1d 100644 --- a/packages/evolution/docs/modules/message-signing/CoseSign1.ts.md +++ b/packages/evolution/docs/modules/message-signing/CoseSign1.ts.md @@ -1,6 +1,6 @@ --- title: message-signing/CoseSign1.ts -nav_order: 68 +nav_order: 70 parent: Modules --- diff --git a/packages/evolution/docs/modules/message-signing/Header.ts.md b/packages/evolution/docs/modules/message-signing/Header.ts.md index a35b22ef..89df7f8e 100644 --- a/packages/evolution/docs/modules/message-signing/Header.ts.md +++ b/packages/evolution/docs/modules/message-signing/Header.ts.md @@ -1,6 +1,6 @@ --- title: message-signing/Header.ts -nav_order: 69 +nav_order: 71 parent: Modules --- diff --git a/packages/evolution/docs/modules/message-signing/Label.ts.md b/packages/evolution/docs/modules/message-signing/Label.ts.md index 577f6708..30475f69 100644 --- a/packages/evolution/docs/modules/message-signing/Label.ts.md +++ b/packages/evolution/docs/modules/message-signing/Label.ts.md @@ -1,6 +1,6 @@ --- title: message-signing/Label.ts -nav_order: 70 +nav_order: 72 parent: Modules --- diff --git a/packages/evolution/docs/modules/message-signing/SignData.ts.md b/packages/evolution/docs/modules/message-signing/SignData.ts.md index 0de2d420..538c7ce7 100644 --- a/packages/evolution/docs/modules/message-signing/SignData.ts.md +++ b/packages/evolution/docs/modules/message-signing/SignData.ts.md @@ -1,6 +1,6 @@ --- title: message-signing/SignData.ts -nav_order: 71 +nav_order: 73 parent: Modules --- diff --git a/packages/evolution/docs/modules/message-signing/Utils.ts.md b/packages/evolution/docs/modules/message-signing/Utils.ts.md index ce89347b..7cf5e531 100644 --- a/packages/evolution/docs/modules/message-signing/Utils.ts.md +++ b/packages/evolution/docs/modules/message-signing/Utils.ts.md @@ -1,6 +1,6 @@ --- title: message-signing/Utils.ts -nav_order: 72 +nav_order: 74 parent: Modules --- diff --git a/packages/evolution/docs/modules/plutus/Address.ts.md b/packages/evolution/docs/modules/plutus/Address.ts.md index 0cb7568a..c5a787a2 100644 --- a/packages/evolution/docs/modules/plutus/Address.ts.md +++ b/packages/evolution/docs/modules/plutus/Address.ts.md @@ -1,6 +1,6 @@ --- title: plutus/Address.ts -nav_order: 88 +nav_order: 90 parent: Modules --- diff --git a/packages/evolution/docs/modules/plutus/CIP68Metadata.ts.md b/packages/evolution/docs/modules/plutus/CIP68Metadata.ts.md index 77c5c675..bcf5dcf6 100644 --- a/packages/evolution/docs/modules/plutus/CIP68Metadata.ts.md +++ b/packages/evolution/docs/modules/plutus/CIP68Metadata.ts.md @@ -1,6 +1,6 @@ --- title: plutus/CIP68Metadata.ts -nav_order: 89 +nav_order: 91 parent: Modules --- diff --git a/packages/evolution/docs/modules/plutus/Credential.ts.md b/packages/evolution/docs/modules/plutus/Credential.ts.md index c381a1db..7451e9f7 100644 --- a/packages/evolution/docs/modules/plutus/Credential.ts.md +++ b/packages/evolution/docs/modules/plutus/Credential.ts.md @@ -1,6 +1,6 @@ --- title: plutus/Credential.ts -nav_order: 90 +nav_order: 92 parent: Modules --- diff --git a/packages/evolution/docs/modules/plutus/OutputReference.ts.md b/packages/evolution/docs/modules/plutus/OutputReference.ts.md index 38312d25..607965db 100644 --- a/packages/evolution/docs/modules/plutus/OutputReference.ts.md +++ b/packages/evolution/docs/modules/plutus/OutputReference.ts.md @@ -1,6 +1,6 @@ --- title: plutus/OutputReference.ts -nav_order: 91 +nav_order: 93 parent: Modules --- diff --git a/packages/evolution/docs/modules/plutus/Value.ts.md b/packages/evolution/docs/modules/plutus/Value.ts.md index e674e3b3..a1157ab3 100644 --- a/packages/evolution/docs/modules/plutus/Value.ts.md +++ b/packages/evolution/docs/modules/plutus/Value.ts.md @@ -1,6 +1,6 @@ --- title: plutus/Value.ts -nav_order: 92 +nav_order: 94 parent: Modules --- diff --git a/packages/evolution/docs/modules/sdk/EvalRedeemer.ts.md b/packages/evolution/docs/modules/sdk/EvalRedeemer.ts.md index ca5821d1..22d12344 100644 --- a/packages/evolution/docs/modules/sdk/EvalRedeemer.ts.md +++ b/packages/evolution/docs/modules/sdk/EvalRedeemer.ts.md @@ -1,6 +1,6 @@ --- title: sdk/EvalRedeemer.ts -nav_order: 155 +nav_order: 157 parent: Modules --- diff --git a/packages/evolution/docs/modules/sdk/Type.ts.md b/packages/evolution/docs/modules/sdk/Type.ts.md index 48b5de33..54b4ee85 100644 --- a/packages/evolution/docs/modules/sdk/Type.ts.md +++ b/packages/evolution/docs/modules/sdk/Type.ts.md @@ -1,6 +1,6 @@ --- title: sdk/Type.ts -nav_order: 161 +nav_order: 163 parent: Modules --- diff --git a/packages/evolution/docs/modules/sdk/builders/CoinSelection.ts.md b/packages/evolution/docs/modules/sdk/builders/CoinSelection.ts.md index 27c23db8..e022f9a5 100644 --- a/packages/evolution/docs/modules/sdk/builders/CoinSelection.ts.md +++ b/packages/evolution/docs/modules/sdk/builders/CoinSelection.ts.md @@ -1,6 +1,6 @@ --- title: sdk/builders/CoinSelection.ts -nav_order: 118 +nav_order: 120 parent: Modules --- diff --git a/packages/evolution/docs/modules/sdk/builders/EvaluationStateManager.ts.md b/packages/evolution/docs/modules/sdk/builders/EvaluationStateManager.ts.md index 928dd8c0..33803fb3 100644 --- a/packages/evolution/docs/modules/sdk/builders/EvaluationStateManager.ts.md +++ b/packages/evolution/docs/modules/sdk/builders/EvaluationStateManager.ts.md @@ -1,6 +1,6 @@ --- title: sdk/builders/EvaluationStateManager.ts -nav_order: 119 +nav_order: 121 parent: Modules --- diff --git a/packages/evolution/docs/modules/sdk/builders/RedeemerBuilder.ts.md b/packages/evolution/docs/modules/sdk/builders/RedeemerBuilder.ts.md index bd1137f0..5c813ed7 100644 --- a/packages/evolution/docs/modules/sdk/builders/RedeemerBuilder.ts.md +++ b/packages/evolution/docs/modules/sdk/builders/RedeemerBuilder.ts.md @@ -1,6 +1,6 @@ --- title: sdk/builders/RedeemerBuilder.ts -nav_order: 144 +nav_order: 146 parent: Modules --- diff --git a/packages/evolution/docs/modules/sdk/builders/SignBuilder.ts.md b/packages/evolution/docs/modules/sdk/builders/SignBuilder.ts.md index 66083bb9..bcc45dcb 100644 --- a/packages/evolution/docs/modules/sdk/builders/SignBuilder.ts.md +++ b/packages/evolution/docs/modules/sdk/builders/SignBuilder.ts.md @@ -1,6 +1,6 @@ --- title: sdk/builders/SignBuilder.ts -nav_order: 145 +nav_order: 147 parent: Modules --- diff --git a/packages/evolution/docs/modules/sdk/builders/SignBuilderImpl.ts.md b/packages/evolution/docs/modules/sdk/builders/SignBuilderImpl.ts.md index a56275fb..6f4558da 100644 --- a/packages/evolution/docs/modules/sdk/builders/SignBuilderImpl.ts.md +++ b/packages/evolution/docs/modules/sdk/builders/SignBuilderImpl.ts.md @@ -1,6 +1,6 @@ --- title: sdk/builders/SignBuilderImpl.ts -nav_order: 146 +nav_order: 148 parent: Modules --- diff --git a/packages/evolution/docs/modules/sdk/builders/SubmitBuilder.ts.md b/packages/evolution/docs/modules/sdk/builders/SubmitBuilder.ts.md index f7479644..2625c194 100644 --- a/packages/evolution/docs/modules/sdk/builders/SubmitBuilder.ts.md +++ b/packages/evolution/docs/modules/sdk/builders/SubmitBuilder.ts.md @@ -1,6 +1,6 @@ --- title: sdk/builders/SubmitBuilder.ts -nav_order: 147 +nav_order: 149 parent: Modules --- diff --git a/packages/evolution/docs/modules/sdk/builders/SubmitBuilderImpl.ts.md b/packages/evolution/docs/modules/sdk/builders/SubmitBuilderImpl.ts.md index a7cac2b3..8cf089c0 100644 --- a/packages/evolution/docs/modules/sdk/builders/SubmitBuilderImpl.ts.md +++ b/packages/evolution/docs/modules/sdk/builders/SubmitBuilderImpl.ts.md @@ -1,6 +1,6 @@ --- title: sdk/builders/SubmitBuilderImpl.ts -nav_order: 148 +nav_order: 150 parent: Modules --- diff --git a/packages/evolution/docs/modules/sdk/builders/TransactionBuilder.ts.md b/packages/evolution/docs/modules/sdk/builders/TransactionBuilder.ts.md index 7e86d0c2..e2534c8c 100644 --- a/packages/evolution/docs/modules/sdk/builders/TransactionBuilder.ts.md +++ b/packages/evolution/docs/modules/sdk/builders/TransactionBuilder.ts.md @@ -1,6 +1,6 @@ --- title: sdk/builders/TransactionBuilder.ts -nav_order: 149 +nav_order: 151 parent: Modules --- @@ -1235,7 +1235,7 @@ Added in v2.0.0 ## TxContext (class) Context service providing transaction building state to programs. -Directly holds the mutable state Ref - config is passed as a regular parameter. +Holds the mutable state Ref - config is passed as a regular parameter. **Signature** @@ -1438,9 +1438,16 @@ Added in v2.0.0 ## TxBuilderState (interface) -Mutable state for transaction building. +Mutable state created FRESH on each build() call. Contains all state needed during transaction construction. +State lifecycle: + +1. Created fresh when build() is called +2. Modified by ProgramSteps during execution +3. Used to construct final transaction +4. Discarded after build completes + **Signature** ```ts @@ -1707,6 +1714,37 @@ export interface BuildOptions { */ readonly evaluator?: Evaluator + /** + * Pass additional UTxOs to provider-based evaluators. + * + * By default, provider evaluators (Ogmios, Blockfrost) don't receive additionalUtxos + * because they can resolve UTxOs from the chain, and passing them causes + * "OverlappingAdditionalUtxo" errors. + * + * Set to `true` for edge cases where you need to evaluate with UTxOs that + * are not yet on chain (e.g., chained transactions, emulator scenarios). + * + * Note: This option has no effect on custom evaluators (Aiken, Scalus) which + * always receive additionalUtxos since they cannot resolve from chain. + * + * @default false + * @since 2.0.0 + */ + readonly passAdditionalUtxos?: boolean + + /** + * Format for encoding redeemers in the script data hash. + * + * - `"array"` (DEFAULT): Conway-era format, redeemers encoded as array + * - `"map"`: Babbage-era format, redeemers encoded as map + * + * Use `"map"` for Babbage compatibility or debugging. + * + * @default "array" + * @since 2.0.0 + */ + readonly scriptDataFormat?: "array" | "map" + /** * Custom slot configuration for script evaluation. * @@ -1763,19 +1801,6 @@ export interface BuildOptions { */ readonly unfrack?: UnfrackOptions - /** - * **EXPERIMENTAL**: Use state machine implementation instead of monolithic buildEffectCore - * - * When true, uses the experimental 6-phase state machine: - * - initialSelection → changeCreation → feeCalculation → balanceVerification → reselection → complete - * - * WARNING: Has known Context.Tag type inference issues. Use for testing only. - * - * @experimental - * @default false - */ - readonly useStateMachine?: boolean - /** * Enable debug logging during transaction build. * @@ -1832,7 +1857,8 @@ export interface UnfrackAdaOptions { readonly subdividePercentages?: ReadonlyArray /** - * Maximum ADA-only UTxOs to consolidate in one transaction + * Maximum ADA-only UTxOs to consolidate in one transaction. + * NOTE: Not yet implemented. Will hook into coin selection to merge dust UTxOs. * @default 20 */ readonly maxUtxosToConsolidate?: number diff --git a/packages/evolution/docs/modules/sdk/builders/TransactionResult.ts.md b/packages/evolution/docs/modules/sdk/builders/TransactionResult.ts.md index 142047bc..7547346d 100644 --- a/packages/evolution/docs/modules/sdk/builders/TransactionResult.ts.md +++ b/packages/evolution/docs/modules/sdk/builders/TransactionResult.ts.md @@ -1,6 +1,6 @@ --- title: sdk/builders/TransactionResult.ts -nav_order: 150 +nav_order: 152 parent: Modules --- diff --git a/packages/evolution/docs/modules/sdk/builders/TxBuilderImpl.ts.md b/packages/evolution/docs/modules/sdk/builders/TxBuilderImpl.ts.md index fb500d0c..dbba705e 100644 --- a/packages/evolution/docs/modules/sdk/builders/TxBuilderImpl.ts.md +++ b/packages/evolution/docs/modules/sdk/builders/TxBuilderImpl.ts.md @@ -1,6 +1,6 @@ --- title: sdk/builders/TxBuilderImpl.ts -nav_order: 151 +nav_order: 153 parent: Modules --- diff --git a/packages/evolution/docs/modules/sdk/builders/Unfrack.ts.md b/packages/evolution/docs/modules/sdk/builders/Unfrack.ts.md index 7fc3b8a9..b52eafcc 100644 --- a/packages/evolution/docs/modules/sdk/builders/Unfrack.ts.md +++ b/packages/evolution/docs/modules/sdk/builders/Unfrack.ts.md @@ -1,6 +1,6 @@ --- title: sdk/builders/Unfrack.ts -nav_order: 152 +nav_order: 154 parent: Modules --- diff --git a/packages/evolution/docs/modules/sdk/builders/operations/AddSigner.ts.md b/packages/evolution/docs/modules/sdk/builders/operations/AddSigner.ts.md index f5605a0e..bf31ac2a 100644 --- a/packages/evolution/docs/modules/sdk/builders/operations/AddSigner.ts.md +++ b/packages/evolution/docs/modules/sdk/builders/operations/AddSigner.ts.md @@ -1,6 +1,6 @@ --- title: sdk/builders/operations/AddSigner.ts -nav_order: 120 +nav_order: 122 parent: Modules --- diff --git a/packages/evolution/docs/modules/sdk/builders/operations/Attach.ts.md b/packages/evolution/docs/modules/sdk/builders/operations/Attach.ts.md index 82caf3eb..07ad0ea6 100644 --- a/packages/evolution/docs/modules/sdk/builders/operations/Attach.ts.md +++ b/packages/evolution/docs/modules/sdk/builders/operations/Attach.ts.md @@ -1,6 +1,6 @@ --- title: sdk/builders/operations/Attach.ts -nav_order: 121 +nav_order: 123 parent: Modules --- diff --git a/packages/evolution/docs/modules/sdk/builders/operations/AttachMetadata.ts.md b/packages/evolution/docs/modules/sdk/builders/operations/AttachMetadata.ts.md index 97e52188..082a574e 100644 --- a/packages/evolution/docs/modules/sdk/builders/operations/AttachMetadata.ts.md +++ b/packages/evolution/docs/modules/sdk/builders/operations/AttachMetadata.ts.md @@ -1,6 +1,6 @@ --- title: sdk/builders/operations/AttachMetadata.ts -nav_order: 122 +nav_order: 124 parent: Modules --- diff --git a/packages/evolution/docs/modules/sdk/builders/operations/Collect.ts.md b/packages/evolution/docs/modules/sdk/builders/operations/Collect.ts.md index a30e515a..487810fe 100644 --- a/packages/evolution/docs/modules/sdk/builders/operations/Collect.ts.md +++ b/packages/evolution/docs/modules/sdk/builders/operations/Collect.ts.md @@ -1,6 +1,6 @@ --- title: sdk/builders/operations/Collect.ts -nav_order: 123 +nav_order: 125 parent: Modules --- diff --git a/packages/evolution/docs/modules/sdk/builders/operations/Governance.ts.md b/packages/evolution/docs/modules/sdk/builders/operations/Governance.ts.md index 7784b1b8..11227932 100644 --- a/packages/evolution/docs/modules/sdk/builders/operations/Governance.ts.md +++ b/packages/evolution/docs/modules/sdk/builders/operations/Governance.ts.md @@ -1,6 +1,6 @@ --- title: sdk/builders/operations/Governance.ts -nav_order: 124 +nav_order: 126 parent: Modules --- diff --git a/packages/evolution/docs/modules/sdk/builders/operations/Mint.ts.md b/packages/evolution/docs/modules/sdk/builders/operations/Mint.ts.md index 29bbcf75..dff78fd6 100644 --- a/packages/evolution/docs/modules/sdk/builders/operations/Mint.ts.md +++ b/packages/evolution/docs/modules/sdk/builders/operations/Mint.ts.md @@ -1,6 +1,6 @@ --- title: sdk/builders/operations/Mint.ts -nav_order: 125 +nav_order: 127 parent: Modules --- diff --git a/packages/evolution/docs/modules/sdk/builders/operations/Operations.ts.md b/packages/evolution/docs/modules/sdk/builders/operations/Operations.ts.md index 6da1c98b..f4b71e5d 100644 --- a/packages/evolution/docs/modules/sdk/builders/operations/Operations.ts.md +++ b/packages/evolution/docs/modules/sdk/builders/operations/Operations.ts.md @@ -1,6 +1,6 @@ --- title: sdk/builders/operations/Operations.ts -nav_order: 126 +nav_order: 128 parent: Modules --- diff --git a/packages/evolution/docs/modules/sdk/builders/operations/Pay.ts.md b/packages/evolution/docs/modules/sdk/builders/operations/Pay.ts.md index 85935f1d..6fd0927b 100644 --- a/packages/evolution/docs/modules/sdk/builders/operations/Pay.ts.md +++ b/packages/evolution/docs/modules/sdk/builders/operations/Pay.ts.md @@ -1,6 +1,6 @@ --- title: sdk/builders/operations/Pay.ts -nav_order: 127 +nav_order: 129 parent: Modules --- diff --git a/packages/evolution/docs/modules/sdk/builders/operations/Pool.ts.md b/packages/evolution/docs/modules/sdk/builders/operations/Pool.ts.md index 2f0f5361..894a3639 100644 --- a/packages/evolution/docs/modules/sdk/builders/operations/Pool.ts.md +++ b/packages/evolution/docs/modules/sdk/builders/operations/Pool.ts.md @@ -1,6 +1,6 @@ --- title: sdk/builders/operations/Pool.ts -nav_order: 128 +nav_order: 130 parent: Modules --- diff --git a/packages/evolution/docs/modules/sdk/builders/operations/Propose.ts.md b/packages/evolution/docs/modules/sdk/builders/operations/Propose.ts.md index feafbbd0..0b89c569 100644 --- a/packages/evolution/docs/modules/sdk/builders/operations/Propose.ts.md +++ b/packages/evolution/docs/modules/sdk/builders/operations/Propose.ts.md @@ -1,6 +1,6 @@ --- title: sdk/builders/operations/Propose.ts -nav_order: 129 +nav_order: 131 parent: Modules --- diff --git a/packages/evolution/docs/modules/sdk/builders/operations/ReadFrom.ts.md b/packages/evolution/docs/modules/sdk/builders/operations/ReadFrom.ts.md index 790ca1dc..a49baedd 100644 --- a/packages/evolution/docs/modules/sdk/builders/operations/ReadFrom.ts.md +++ b/packages/evolution/docs/modules/sdk/builders/operations/ReadFrom.ts.md @@ -1,6 +1,6 @@ --- title: sdk/builders/operations/ReadFrom.ts -nav_order: 130 +nav_order: 132 parent: Modules --- diff --git a/packages/evolution/docs/modules/sdk/builders/operations/SendAll.ts.md b/packages/evolution/docs/modules/sdk/builders/operations/SendAll.ts.md index b80224a7..b24a8906 100644 --- a/packages/evolution/docs/modules/sdk/builders/operations/SendAll.ts.md +++ b/packages/evolution/docs/modules/sdk/builders/operations/SendAll.ts.md @@ -1,6 +1,6 @@ --- title: sdk/builders/operations/SendAll.ts -nav_order: 131 +nav_order: 133 parent: Modules --- @@ -12,8 +12,11 @@ This operation marks the transaction as a "send all" transaction, which triggers special handling in the build phases: 1. All wallet UTxOs are collected as inputs -2. A single output is created with all assets minus fee -3. No change output is created (everything goes to recipient) +2. A single output is created with all assets minus fee to the recipient + +Note: Internally the output is stored in `changeOutputs` (the standard mechanism +for phase-created outputs), but semantically it represents the full transfer to +the recipient - not traditional "change" that returns to the sender. Added in v2.0.0 diff --git a/packages/evolution/docs/modules/sdk/builders/operations/Stake.ts.md b/packages/evolution/docs/modules/sdk/builders/operations/Stake.ts.md index 7b30d15f..c5ec179c 100644 --- a/packages/evolution/docs/modules/sdk/builders/operations/Stake.ts.md +++ b/packages/evolution/docs/modules/sdk/builders/operations/Stake.ts.md @@ -1,6 +1,6 @@ --- title: sdk/builders/operations/Stake.ts -nav_order: 132 +nav_order: 134 parent: Modules --- diff --git a/packages/evolution/docs/modules/sdk/builders/operations/Validity.ts.md b/packages/evolution/docs/modules/sdk/builders/operations/Validity.ts.md index 6f7e4cff..32eb560b 100644 --- a/packages/evolution/docs/modules/sdk/builders/operations/Validity.ts.md +++ b/packages/evolution/docs/modules/sdk/builders/operations/Validity.ts.md @@ -1,6 +1,6 @@ --- title: sdk/builders/operations/Validity.ts -nav_order: 133 +nav_order: 135 parent: Modules --- diff --git a/packages/evolution/docs/modules/sdk/builders/operations/Vote.ts.md b/packages/evolution/docs/modules/sdk/builders/operations/Vote.ts.md index 1b211873..fcd7d04f 100644 --- a/packages/evolution/docs/modules/sdk/builders/operations/Vote.ts.md +++ b/packages/evolution/docs/modules/sdk/builders/operations/Vote.ts.md @@ -1,6 +1,6 @@ --- title: sdk/builders/operations/Vote.ts -nav_order: 134 +nav_order: 136 parent: Modules --- diff --git a/packages/evolution/docs/modules/sdk/builders/phases/Balance.ts.md b/packages/evolution/docs/modules/sdk/builders/phases/Balance.ts.md index b71cbade..797366be 100644 --- a/packages/evolution/docs/modules/sdk/builders/phases/Balance.ts.md +++ b/packages/evolution/docs/modules/sdk/builders/phases/Balance.ts.md @@ -1,6 +1,6 @@ --- title: sdk/builders/phases/Balance.ts -nav_order: 135 +nav_order: 137 parent: Modules --- diff --git a/packages/evolution/docs/modules/sdk/builders/phases/ChangeCreation.ts.md b/packages/evolution/docs/modules/sdk/builders/phases/ChangeCreation.ts.md index 5e9efb07..dfaa6838 100644 --- a/packages/evolution/docs/modules/sdk/builders/phases/ChangeCreation.ts.md +++ b/packages/evolution/docs/modules/sdk/builders/phases/ChangeCreation.ts.md @@ -1,6 +1,6 @@ --- title: sdk/builders/phases/ChangeCreation.ts -nav_order: 136 +nav_order: 138 parent: Modules --- diff --git a/packages/evolution/docs/modules/sdk/builders/phases/Collateral.ts.md b/packages/evolution/docs/modules/sdk/builders/phases/Collateral.ts.md index fee962f2..bcfdc998 100644 --- a/packages/evolution/docs/modules/sdk/builders/phases/Collateral.ts.md +++ b/packages/evolution/docs/modules/sdk/builders/phases/Collateral.ts.md @@ -1,6 +1,6 @@ --- title: sdk/builders/phases/Collateral.ts -nav_order: 137 +nav_order: 139 parent: Modules --- diff --git a/packages/evolution/docs/modules/sdk/builders/phases/Evaluation.ts.md b/packages/evolution/docs/modules/sdk/builders/phases/Evaluation.ts.md index 88054055..2204b7db 100644 --- a/packages/evolution/docs/modules/sdk/builders/phases/Evaluation.ts.md +++ b/packages/evolution/docs/modules/sdk/builders/phases/Evaluation.ts.md @@ -1,6 +1,6 @@ --- title: sdk/builders/phases/Evaluation.ts -nav_order: 138 +nav_order: 140 parent: Modules --- diff --git a/packages/evolution/docs/modules/sdk/builders/phases/Fallback.ts.md b/packages/evolution/docs/modules/sdk/builders/phases/Fallback.ts.md index e0f9ca71..73820fcf 100644 --- a/packages/evolution/docs/modules/sdk/builders/phases/Fallback.ts.md +++ b/packages/evolution/docs/modules/sdk/builders/phases/Fallback.ts.md @@ -1,6 +1,6 @@ --- title: sdk/builders/phases/Fallback.ts -nav_order: 139 +nav_order: 141 parent: Modules --- diff --git a/packages/evolution/docs/modules/sdk/builders/phases/FeeCalculation.ts.md b/packages/evolution/docs/modules/sdk/builders/phases/FeeCalculation.ts.md index cc1f1e71..47bf8f41 100644 --- a/packages/evolution/docs/modules/sdk/builders/phases/FeeCalculation.ts.md +++ b/packages/evolution/docs/modules/sdk/builders/phases/FeeCalculation.ts.md @@ -1,6 +1,6 @@ --- title: sdk/builders/phases/FeeCalculation.ts -nav_order: 140 +nav_order: 142 parent: Modules --- diff --git a/packages/evolution/docs/modules/sdk/builders/phases/Phases.ts.md b/packages/evolution/docs/modules/sdk/builders/phases/Phases.ts.md index 5f3e2333..781e7497 100644 --- a/packages/evolution/docs/modules/sdk/builders/phases/Phases.ts.md +++ b/packages/evolution/docs/modules/sdk/builders/phases/Phases.ts.md @@ -1,6 +1,6 @@ --- title: sdk/builders/phases/Phases.ts -nav_order: 141 +nav_order: 143 parent: Modules --- diff --git a/packages/evolution/docs/modules/sdk/builders/phases/Selection.ts.md b/packages/evolution/docs/modules/sdk/builders/phases/Selection.ts.md index d2d8978b..65c12f1b 100644 --- a/packages/evolution/docs/modules/sdk/builders/phases/Selection.ts.md +++ b/packages/evolution/docs/modules/sdk/builders/phases/Selection.ts.md @@ -1,6 +1,6 @@ --- title: sdk/builders/phases/Selection.ts -nav_order: 142 +nav_order: 144 parent: Modules --- diff --git a/packages/evolution/docs/modules/sdk/builders/phases/utils.ts.md b/packages/evolution/docs/modules/sdk/builders/phases/utils.ts.md index 87bb1386..cae08ad2 100644 --- a/packages/evolution/docs/modules/sdk/builders/phases/utils.ts.md +++ b/packages/evolution/docs/modules/sdk/builders/phases/utils.ts.md @@ -1,6 +1,6 @@ --- title: sdk/builders/phases/utils.ts -nav_order: 143 +nav_order: 145 parent: Modules --- diff --git a/packages/evolution/docs/modules/sdk/client/Client.ts.md b/packages/evolution/docs/modules/sdk/client/Client.ts.md index aa59ded6..ae0b8935 100644 --- a/packages/evolution/docs/modules/sdk/client/Client.ts.md +++ b/packages/evolution/docs/modules/sdk/client/Client.ts.md @@ -1,6 +1,6 @@ --- title: sdk/client/Client.ts -nav_order: 153 +nav_order: 155 parent: Modules --- diff --git a/packages/evolution/docs/modules/sdk/client/ClientImpl.ts.md b/packages/evolution/docs/modules/sdk/client/ClientImpl.ts.md index 4e7cd1bc..ceaed139 100644 --- a/packages/evolution/docs/modules/sdk/client/ClientImpl.ts.md +++ b/packages/evolution/docs/modules/sdk/client/ClientImpl.ts.md @@ -1,6 +1,6 @@ --- title: sdk/client/ClientImpl.ts -nav_order: 154 +nav_order: 156 parent: Modules --- diff --git a/packages/evolution/docs/modules/sdk/provider/Blockfrost.ts.md b/packages/evolution/docs/modules/sdk/provider/Blockfrost.ts.md index 4f4f009b..0f657d32 100644 --- a/packages/evolution/docs/modules/sdk/provider/Blockfrost.ts.md +++ b/packages/evolution/docs/modules/sdk/provider/Blockfrost.ts.md @@ -1,6 +1,6 @@ --- title: sdk/provider/Blockfrost.ts -nav_order: 156 +nav_order: 158 parent: Modules --- diff --git a/packages/evolution/docs/modules/sdk/provider/Koios.ts.md b/packages/evolution/docs/modules/sdk/provider/Koios.ts.md index b4d286c5..ae3d9ff8 100644 --- a/packages/evolution/docs/modules/sdk/provider/Koios.ts.md +++ b/packages/evolution/docs/modules/sdk/provider/Koios.ts.md @@ -1,6 +1,6 @@ --- title: sdk/provider/Koios.ts -nav_order: 157 +nav_order: 159 parent: Modules --- diff --git a/packages/evolution/docs/modules/sdk/provider/Kupmios.ts.md b/packages/evolution/docs/modules/sdk/provider/Kupmios.ts.md index 46357ba7..492583cf 100644 --- a/packages/evolution/docs/modules/sdk/provider/Kupmios.ts.md +++ b/packages/evolution/docs/modules/sdk/provider/Kupmios.ts.md @@ -1,6 +1,6 @@ --- title: sdk/provider/Kupmios.ts -nav_order: 158 +nav_order: 160 parent: Modules --- diff --git a/packages/evolution/docs/modules/sdk/provider/Maestro.ts.md b/packages/evolution/docs/modules/sdk/provider/Maestro.ts.md index a38d8b24..0b67a68c 100644 --- a/packages/evolution/docs/modules/sdk/provider/Maestro.ts.md +++ b/packages/evolution/docs/modules/sdk/provider/Maestro.ts.md @@ -1,6 +1,6 @@ --- title: sdk/provider/Maestro.ts -nav_order: 159 +nav_order: 161 parent: Modules --- diff --git a/packages/evolution/docs/modules/sdk/provider/Provider.ts.md b/packages/evolution/docs/modules/sdk/provider/Provider.ts.md index 88b30035..abfa48bd 100644 --- a/packages/evolution/docs/modules/sdk/provider/Provider.ts.md +++ b/packages/evolution/docs/modules/sdk/provider/Provider.ts.md @@ -1,6 +1,6 @@ --- title: sdk/provider/Provider.ts -nav_order: 160 +nav_order: 162 parent: Modules --- @@ -161,7 +161,7 @@ export interface ProviderEffect { * Query a datum by its hash. * Returns the parsed PlutusData structure. */ - readonly getDatum: (datumHash: DatumOption.DatumHash) => Effect.Effect + readonly getDatum: (datumHash: DatumHash.DatumHash) => Effect.Effect /** * Wait for a transaction to be confirmed on the blockchain. */ diff --git a/packages/evolution/docs/modules/sdk/wallet/Derivation.ts.md b/packages/evolution/docs/modules/sdk/wallet/Derivation.ts.md index 7f4e02bb..bdbeae19 100644 --- a/packages/evolution/docs/modules/sdk/wallet/Derivation.ts.md +++ b/packages/evolution/docs/modules/sdk/wallet/Derivation.ts.md @@ -1,6 +1,6 @@ --- title: sdk/wallet/Derivation.ts -nav_order: 162 +nav_order: 164 parent: Modules --- diff --git a/packages/evolution/docs/modules/sdk/wallet/WalletNew.ts.md b/packages/evolution/docs/modules/sdk/wallet/WalletNew.ts.md index e6db77df..8852f37b 100644 --- a/packages/evolution/docs/modules/sdk/wallet/WalletNew.ts.md +++ b/packages/evolution/docs/modules/sdk/wallet/WalletNew.ts.md @@ -1,6 +1,6 @@ --- title: sdk/wallet/WalletNew.ts -nav_order: 163 +nav_order: 165 parent: Modules --- diff --git a/packages/evolution/docs/modules/uplc/UPLC.ts.md b/packages/evolution/docs/modules/uplc/UPLC.ts.md index 4e24ac39..09561a20 100644 --- a/packages/evolution/docs/modules/uplc/UPLC.ts.md +++ b/packages/evolution/docs/modules/uplc/UPLC.ts.md @@ -1,6 +1,6 @@ --- title: uplc/UPLC.ts -nav_order: 184 +nav_order: 186 parent: Modules --- diff --git a/packages/evolution/docs/modules/utils/FeeValidation.ts.md b/packages/evolution/docs/modules/utils/FeeValidation.ts.md index 25973f4e..004dba82 100644 --- a/packages/evolution/docs/modules/utils/FeeValidation.ts.md +++ b/packages/evolution/docs/modules/utils/FeeValidation.ts.md @@ -1,6 +1,6 @@ --- title: utils/FeeValidation.ts -nav_order: 187 +nav_order: 189 parent: Modules --- diff --git a/packages/evolution/docs/modules/utils/Hash.ts.md b/packages/evolution/docs/modules/utils/Hash.ts.md index f4f98f92..9bd45103 100644 --- a/packages/evolution/docs/modules/utils/Hash.ts.md +++ b/packages/evolution/docs/modules/utils/Hash.ts.md @@ -1,6 +1,6 @@ --- title: utils/Hash.ts -nav_order: 188 +nav_order: 190 parent: Modules --- @@ -65,7 +65,7 @@ TODO: Consider moving this to the Data module as Data.hash() for better organiza **Signature** ```ts -export declare const hashPlutusData: (pd: Data.Data, options?: CBOR.CodecOptions) => DatumOption.DatumHash +export declare const hashPlutusData: (pd: Data.Data, options?: CBOR.CodecOptions) => DatumHash.DatumHash ``` ## hashScriptData diff --git a/packages/evolution/docs/modules/utils/effect-runtime.ts.md b/packages/evolution/docs/modules/utils/effect-runtime.ts.md index 1967b2cf..503add13 100644 --- a/packages/evolution/docs/modules/utils/effect-runtime.ts.md +++ b/packages/evolution/docs/modules/utils/effect-runtime.ts.md @@ -1,6 +1,6 @@ --- title: utils/effect-runtime.ts -nav_order: 186 +nav_order: 188 parent: Modules --- diff --git a/packages/evolution/src/Cardano.ts b/packages/evolution/src/Cardano.ts index 413221e4..df619fc5 100644 --- a/packages/evolution/src/Cardano.ts +++ b/packages/evolution/src/Cardano.ts @@ -78,7 +78,9 @@ export * as ScriptRef from "./ScriptRef.js" // Plutus Data export * as Data from "./Data.js" +export * as DatumHash from "./DatumHash.js" export * as DatumOption from "./DatumOption.js" +export * as InlineDatum from "./InlineDatum.js" export * as Plutus from "./plutus/index.js" export * as TSchema from "./TSchema.js" diff --git a/packages/evolution/src/DatumHash.ts b/packages/evolution/src/DatumHash.ts new file mode 100644 index 00000000..d046809f --- /dev/null +++ b/packages/evolution/src/DatumHash.ts @@ -0,0 +1,139 @@ +import { Equal, FastCheck, Hash, Inspectable, Schema } from "effect" + +import * as Bytes from "./Bytes.js" +import * as Bytes32 from "./Bytes32.js" + +/** + * Schema for DatumHash representing a reference to datum data stored elsewhere via its hash. + * + * @since 2.0.0 + * @category schemas + */ +export class DatumHash extends Schema.TaggedClass()("DatumHash", { + hash: Bytes32.BytesFromHex +}) { + /** + * @since 2.0.0 + * @category json + */ + toJSON() { + return { _tag: "DatumHash" as const, hash: Bytes.toHex(this.hash) } + } + + /** + * @since 2.0.0 + * @category string + */ + toString(): string { + return Inspectable.format(this.toJSON()) + } + + /** + * @since 2.0.0 + * @category inspect + */ + [Inspectable.NodeInspectSymbol](): unknown { + return this.toJSON() + } + + /** + * @since 2.0.0 + * @category equality + */ + [Equal.symbol](that: unknown): boolean { + return that instanceof DatumHash && Bytes.equals(this.hash, that.hash) + } + + /** + * @since 2.0.0 + * @category hash + */ + [Hash.symbol](): number { + return Hash.cached(this, Hash.array(Array.from(this.hash))) + } +} + +/** + * Schema for transforming bytes to DatumHash. + * + * @since 2.0.0 + * @category schemas + */ +export const FromBytes = Schema.transform( + Schema.typeSchema(Bytes32.BytesFromHex), + Schema.typeSchema(DatumHash), + { + strict: true, + decode: (bytes) => new DatumHash({ hash: bytes }, { disableValidation: true }), + encode: (dh) => dh.hash + } +).annotations({ + identifier: "DatumHash.FromBytes" +}) + +/** + * Schema for transforming hex string to DatumHash. + * + * @since 2.0.0 + * @category schemas + */ +export const FromHex = Schema.compose( + Bytes32.BytesFromHex, // string -> Bytes32 + FromBytes // Bytes32 -> DatumHash +).annotations({ + identifier: "DatumHash.FromHex" +}) + +/** + * FastCheck arbitrary for generating random DatumHash instances. + * + * @since 2.0.0 + * @category testing + */ +export const arbitrary = FastCheck.uint8Array({ minLength: 32, maxLength: 32 }).map( + (hash) => new DatumHash({ hash }, { disableValidation: true }) +) + +/** + * Type guard to check if a value is a DatumHash. + * + * @since 2.0.0 + * @category predicates + */ +export const isDatumHash = Schema.is(DatumHash) + +// ============================================================================ +// Root Functions +// ============================================================================ + +/** + * Parse DatumHash from bytes. + * + * @since 2.0.0 + * @category parsing + */ +export const fromBytes = Schema.decodeSync(FromBytes) + +/** + * Parse DatumHash from hex string. + * + * @since 2.0.0 + * @category parsing + */ +export const fromHex = Schema.decodeSync(FromHex) + +/** + * Encode DatumHash to bytes. + * + * @since 2.0.0 + * @category encoding + */ +export const toBytes = Schema.encodeSync(FromBytes) + +/** + * Encode DatumHash to hex string. + * + * @since 2.0.0 + * @category encoding + */ +export const toHex = Schema.encodeSync(FromHex) diff --git a/packages/evolution/src/DatumOption.ts b/packages/evolution/src/DatumOption.ts index b15d1ef1..24bec0e8 100644 --- a/packages/evolution/src/DatumOption.ts +++ b/packages/evolution/src/DatumOption.ts @@ -1,123 +1,9 @@ -import { Either as E, Equal, FastCheck, Hash, Inspectable, ParseResult, Schema } from "effect" +import { Either as E, FastCheck, ParseResult, Schema } from "effect" -import * as Bytes from "./Bytes.js" -import * as Bytes32 from "./Bytes32.js" import * as CBOR from "./CBOR.js" import * as PlutusData from "./Data.js" - -/** - * Schema for DatumHash variant of DatumOption. - * Represents a reference to datum data stored elsewhere via its hash. - * - * @since 2.0.0 - * @category schemas - */ -export class DatumHash extends Schema.TaggedClass()("DatumHash", { - hash: Bytes32.BytesFromHex -}) { - /** - * @since 2.0.0 - * @category json - */ - toJSON() { - return { _tag: "DatumHash" as const, hash: this.hash } - } - - /** - * @since 2.0.0 - * @category string - */ - toString(): string { - return Inspectable.format(this.toJSON()) - } - - /** - * @since 2.0.0 - * @category inspect - */ - [Inspectable.NodeInspectSymbol](): unknown { - return this.toJSON() - } - - /** - * @since 2.0.0 - * @category equality - */ - [Equal.symbol](that: unknown): boolean { - return that instanceof DatumHash && Bytes.equals(this.hash, that.hash) - } - - /** - * @since 2.0.0 - * @category hash - */ - [Hash.symbol](): number { - return Hash.array(Array.from(this.hash)) - } -} - -export const DatumHashFromBytes = Schema.transform( - Schema.typeSchema(Bytes32.BytesFromHex), - Schema.typeSchema(DatumHash), - { - strict: true, - decode: (bytes) => new DatumHash({ hash: bytes }, { disableValidation: true }), - encode: (dh) => dh.hash - } -).annotations({ - identifier: "DatumOption.DatumHashFromBytes" -}) - -/** - * Schema for InlineDatum variant of DatumOption. - * Represents inline plutus data embedded directly in the transaction output. - * - * @since 2.0.0 - * @category schemas - */ -export class InlineDatum extends Schema.TaggedClass()("InlineDatum", { - data: PlutusData.DataSchema -}) { - /** - * @since 2.0.0 - * @category json - */ - toJSON() { - return { _tag: "InlineDatum" as const, data: this.data } - } - - /** - * @since 2.0.0 - * @category string - */ - toString(): string { - return Inspectable.format(this.toJSON()) - } - - /** - * @since 2.0.0 - * @category inspect - */ - [Inspectable.NodeInspectSymbol](): unknown { - return this.toJSON() - } - - /** - * @since 2.0.0 - * @category equality - */ - [Equal.symbol](that: unknown): boolean { - return that instanceof InlineDatum && PlutusData.equals(this.data, that.data) - } - - /** - * @since 2.0.0 - * @category hash - */ - [Hash.symbol](): number { - return Hash.cached(this, PlutusData.hash(this.data)) - } -} +import * as DatumHash from "./DatumHash.js" +import * as InlineDatum from "./InlineDatum.js" /** * Schema for DatumOption representing optional datum information in transaction outputs. @@ -131,7 +17,7 @@ export class InlineDatum extends Schema.TaggedClass()("InlineDatum" * @since 2.0.0 * @category schemas */ -export const DatumOptionSchema = Schema.Union(DatumHash, InlineDatum).annotations({ +export const DatumOptionSchema = Schema.Union(DatumHash.DatumHash, InlineDatum.InlineDatum).annotations({ identifier: "DatumOption" }) @@ -150,7 +36,7 @@ export type DatumOption = typeof DatumOptionSchema.Type * @since 2.0.0 * @category predicates */ -export const isDatumHash = Schema.is(DatumHash) +export const isDatumHash = DatumHash.isDatumHash /** * Check if a DatumOption is inline data. @@ -158,12 +44,7 @@ export const isDatumHash = Schema.is(DatumHash) * @since 2.0.0 * @category predicates */ -export const isInlineDatum = Schema.is(InlineDatum) - -export const datumHashArbitrary = FastCheck.uint8Array({ minLength: 32, maxLength: 32 }).map( - (hash) => new DatumHash({ hash }) -) -export const inlineDatumArbitrary = PlutusData.arbitrary.map((data) => new InlineDatum({ data })) +export const isInlineDatum = InlineDatum.isInlineDatum /** * FastCheck arbitrary for generating random DatumOption instances @@ -171,7 +52,7 @@ export const inlineDatumArbitrary = PlutusData.arbitrary.map((data) => new Inlin * @since 2.0.0 * @category testing */ -export const arbitrary = FastCheck.oneof(datumHashArbitrary, inlineDatumArbitrary) +export const arbitrary = FastCheck.oneof(DatumHash.arbitrary, InlineDatum.arbitrary) export const CDDLSchema = Schema.Union( Schema.Tuple(Schema.Literal(0n), CBOR.ByteArray), // [0, Bytes32] @@ -203,7 +84,7 @@ export const FromCDDL = Schema.transformOrFail(CDDLSchema, Schema.typeSchema(Dat E.gen(function* () { if (tag === 0n) { // Decode as DatumHash - return yield* E.right(new DatumHash({ hash: value }, { disableValidation: true })) + return yield* E.right(new DatumHash.DatumHash({ hash: value }, { disableValidation: true })) } else if (tag === 1n) { // Decode as InlineDatum - value is now a CBOR tag 24 wrapper containing bytes const taggedValue = value as { _tag: "Tag"; tag: number; value: Uint8Array } @@ -217,7 +98,7 @@ export const FromCDDL = Schema.transformOrFail(CDDLSchema, Schema.typeSchema(Dat ) } return yield* E.right( - new InlineDatum( + new InlineDatum.InlineDatum( { data: PlutusData.fromCBORBytes(taggedValue.value) }, diff --git a/packages/evolution/src/InlineDatum.ts b/packages/evolution/src/InlineDatum.ts new file mode 100644 index 00000000..9241e2a1 --- /dev/null +++ b/packages/evolution/src/InlineDatum.ts @@ -0,0 +1,69 @@ +import { Equal, Hash, Inspectable, Schema } from "effect" + +import * as PlutusData from "./Data.js" + +/** + * Schema for InlineDatum representing inline plutus data embedded directly in the transaction output. + * + * @since 2.0.0 + * @category schemas + */ +export class InlineDatum extends Schema.TaggedClass()("InlineDatum", { + data: PlutusData.DataSchema +}) { + /** + * @since 2.0.0 + * @category json + */ + toJSON() { + return { _tag: "InlineDatum" as const, data: this.data } + } + + /** + * @since 2.0.0 + * @category string + */ + toString(): string { + return Inspectable.format(this.toJSON()) + } + + /** + * @since 2.0.0 + * @category inspect + */ + [Inspectable.NodeInspectSymbol](): unknown { + return this.toJSON() + } + + /** + * @since 2.0.0 + * @category equality + */ + [Equal.symbol](that: unknown): boolean { + return that instanceof InlineDatum && PlutusData.equals(this.data, that.data) + } + + /** + * @since 2.0.0 + * @category hash + */ + [Hash.symbol](): number { + return Hash.cached(this, PlutusData.hash(this.data)) + } +} + +/** + * FastCheck arbitrary for generating random InlineDatum instances. + * + * @since 2.0.0 + * @category testing + */ +export const arbitrary = PlutusData.arbitrary.map((data) => new InlineDatum({ data })) + +/** + * Type guard to check if a value is an InlineDatum. + * + * @since 2.0.0 + * @category predicates + */ +export const isInlineDatum = Schema.is(InlineDatum) diff --git a/packages/evolution/src/TransactionOutput.ts b/packages/evolution/src/TransactionOutput.ts index 8387152f..e743ff45 100644 --- a/packages/evolution/src/TransactionOutput.ts +++ b/packages/evolution/src/TransactionOutput.ts @@ -3,6 +3,7 @@ import { Either as E, Equal, FastCheck, Hash, Inspectable, ParseResult, Schema } import * as AddressEras from "./AddressEras.js" import * as BaseAddress from "./BaseAddress.js" import * as CBOR from "./CBOR.js" +import * as DatumHash from "./DatumHash.js" import * as DatumOption from "./DatumOption.js" import * as EnterpriseAddress from "./EnterpriseAddress.js" import * as ScriptRef from "./ScriptRef.js" @@ -15,7 +16,7 @@ const encValue = ParseResult.encodeEither(Value.FromCDDL) const decValue = ParseResult.decodeUnknownEither(Value.FromCDDL) const encDatumOption = ParseResult.encodeEither(DatumOption.FromCDDL) const decDatumOption = ParseResult.decodeUnknownEither(DatumOption.FromCDDL) -const decDatumHash = ParseResult.decodeEither(DatumOption.DatumHashFromBytes) +const decDatumHash = ParseResult.decodeEither(DatumHash.FromBytes) const encScriptRef = ParseResult.encodeEither(ScriptRef.FromCDDL) const decScriptRef = ParseResult.decodeUnknownEither(ScriptRef.FromCDDL) @@ -36,7 +37,7 @@ export class ShelleyTransactionOutput extends Schema.TaggedClass new ShelleyTransactionOutput(props)), // Babbage TransactionOutput diff --git a/packages/evolution/src/TxOut.ts b/packages/evolution/src/TxOut.ts index cca981b7..6d842aed 100644 --- a/packages/evolution/src/TxOut.ts +++ b/packages/evolution/src/TxOut.ts @@ -3,6 +3,7 @@ import { Either as E, Equal, FastCheck, Hash, Inspectable, ParseResult, Schema } import * as Address from "./Address.js" import * as Assets from "./Assets/index.js" import * as CBOR from "./CBOR.js" +import * as DatumHash from "./DatumHash.js" import * as DatumOption from "./DatumOption.js" import * as ScriptRef from "./ScriptRef.js" @@ -13,7 +14,7 @@ const encAssets = ParseResult.encodeEither(Assets.FromCDDL) const decAssets = ParseResult.decodeUnknownEither(Assets.FromCDDL) const encDatumOption = ParseResult.encodeEither(DatumOption.FromCDDL) const decDatumOption = ParseResult.decodeUnknownEither(DatumOption.FromCDDL) -const decDatumHash = ParseResult.decodeEither(DatumOption.DatumHashFromBytes) +const decDatumHash = ParseResult.decodeEither(DatumHash.FromBytes) const encScriptRef = ParseResult.encodeEither(ScriptRef.FromCDDL) const decScriptRef = ParseResult.decodeUnknownEither(ScriptRef.FromCDDL) diff --git a/packages/evolution/src/index.ts b/packages/evolution/src/index.ts index a184d1e3..ba5fd6ac 100644 --- a/packages/evolution/src/index.ts +++ b/packages/evolution/src/index.ts @@ -43,6 +43,7 @@ export * as CommitteeHotCredential from "./CommitteeHotCredential.js" export * as Constitution from "./Constitution.js" export * as Credential from "./Credential.js" export * as Data from "./Data.js" +export * as DatumHash from "./DatumHash.js" export * as DatumOption from "./DatumOption.js" export * as DnsName from "./DnsName.js" export * as DRep from "./DRep.js" @@ -55,6 +56,7 @@ export * as GovernanceAction from "./GovernanceAction.js" export * as Hash28 from "./Hash28.js" export * as Header from "./Header.js" export * as HeaderBody from "./HeaderBody.js" +export * as InlineDatum from "./InlineDatum.js" export * as IPv4 from "./IPv4.js" export * as IPv6 from "./IPv6.js" export * as KesSignature from "./KesSignature.js" diff --git a/packages/evolution/src/sdk/provider/Provider.ts b/packages/evolution/src/sdk/provider/Provider.ts index 87b90ee6..0d2341b1 100644 --- a/packages/evolution/src/sdk/provider/Provider.ts +++ b/packages/evolution/src/sdk/provider/Provider.ts @@ -4,7 +4,7 @@ import { Context, Data } from "effect" import type * as CoreAddress from "../../Address.js" import type * as Credential from "../../Credential.js" import type * as PlutusData from "../../Data.js" -import type * as DatumOption from "../../DatumOption.js" +import type * as DatumHash from "../../DatumHash.js" import type * as PoolKeyHash from "../../PoolKeyHash.js" import type * as RewardAddress from "../../RewardAddress.js" import type * as Transaction from "../../Transaction.js" @@ -110,7 +110,7 @@ export interface ProviderEffect { * Query a datum by its hash. * Returns the parsed PlutusData structure. */ - readonly getDatum: (datumHash: DatumOption.DatumHash) => Effect.Effect + readonly getDatum: (datumHash: DatumHash.DatumHash) => Effect.Effect /** * Wait for a transaction to be confirmed on the blockchain. */ diff --git a/packages/evolution/src/sdk/provider/internal/Blockfrost.ts b/packages/evolution/src/sdk/provider/internal/Blockfrost.ts index 28f6cf12..b31a6f77 100644 --- a/packages/evolution/src/sdk/provider/internal/Blockfrost.ts +++ b/packages/evolution/src/sdk/provider/internal/Blockfrost.ts @@ -60,6 +60,7 @@ export type BlockfrostAmount = Schema.Schema.Type * Blockfrost UTxO response schema */ export const BlockfrostUTxO = Schema.Struct({ + address: Schema.String, tx_hash: Schema.String, tx_index: Schema.Number, output_index: Schema.Number, diff --git a/packages/evolution/src/sdk/provider/internal/BlockfrostEffect.ts b/packages/evolution/src/sdk/provider/internal/BlockfrostEffect.ts index 8e2bef35..ef8ee597 100644 --- a/packages/evolution/src/sdk/provider/internal/BlockfrostEffect.ts +++ b/packages/evolution/src/sdk/provider/internal/BlockfrostEffect.ts @@ -10,7 +10,9 @@ import * as CoreAddress from "../../../Address.js" import * as Bytes from "../../../Bytes.js" import type * as Credential from "../../../Credential.js" import * as PlutusData from "../../../Data.js" -import * as DatumOption from "../../../DatumOption.js" +import * as DatumHash from "../../../DatumHash.js" +import type * as DatumOption from "../../../DatumOption.js" +import * as InlineDatum from "../../../InlineDatum.js" import * as PlutusV1 from "../../../PlutusV1.js" import * as PlutusV2 from "../../../PlutusV2.js" import * as PlutusV3 from "../../../PlutusV3.js" @@ -166,7 +168,7 @@ const getDatumByHash = (baseUrl: string, projectId?: string) => ).pipe( Effect.map((datum) => { const data = PlutusData.fromCBORHex(datum.cbor) - return new DatumOption.InlineDatum({ data }) + return new InlineDatum.InlineDatum({ data }) }), Effect.mapError(wrapError("getDatumByHash")) ) @@ -239,6 +241,9 @@ export const getUtxos = (baseUrl: string, projectId?: string) => // Transform UTxOs with full script and datum resolution const transformWithResolution = (utxo: Blockfrost.BlockfrostUTxO) => { + const transactionId = TransactionHash.fromHex(utxo.tx_hash) + const address = CoreAddress.fromBech32(utxo.address) + const scriptEffect = utxo.reference_script_hash ? fetchScript(utxo.reference_script_hash).pipe( Effect.map((s) => s as Script.Script | undefined), @@ -249,15 +254,14 @@ export const getUtxos = (baseUrl: string, projectId?: string) => const dataHash = utxo.data_hash const datumEffect = utxo.inline_datum ? Effect.succeed( - new DatumOption.InlineDatum({ + new InlineDatum.InlineDatum({ data: PlutusData.fromCBORHex(utxo.inline_datum) - }) as DatumOption.DatumOption | undefined + }) ) : dataHash ? fetchDatum(dataHash).pipe( - Effect.map((d) => d as DatumOption.DatumOption | undefined), Effect.catchAll(() => Effect.succeed( - new DatumOption.DatumHash({ hash: Bytes.fromHex(dataHash) }) as DatumOption.DatumOption | undefined + DatumHash.fromHex(dataHash) )) ) : Effect.succeed(undefined) @@ -265,9 +269,6 @@ export const getUtxos = (baseUrl: string, projectId?: string) => return Effect.all([scriptEffect, datumEffect]).pipe( Effect.map(([scriptRef, datumOption]) => { const assets = Blockfrost.transformAmounts(utxo.amount) - const address = CoreAddress.fromBech32(addressPath) - const transactionId = TransactionHash.fromHex(utxo.tx_hash) - return new CoreUTxO.UTxO({ transactionId, index: BigInt(utxo.output_index), @@ -345,15 +346,14 @@ export const getUtxosWithUnit = (baseUrl: string, projectId?: string) => const dataHash = utxo.data_hash const datumEffect = utxo.inline_datum ? Effect.succeed( - new DatumOption.InlineDatum({ + new InlineDatum.InlineDatum({ data: PlutusData.fromCBORHex(utxo.inline_datum) - }) as DatumOption.DatumOption | undefined + }) ) : dataHash ? fetchDatum(dataHash).pipe( - Effect.map((d) => d as DatumOption.DatumOption | undefined), Effect.catchAll(() => Effect.succeed( - new DatumOption.DatumHash({ hash: Bytes.fromHex(dataHash) }) as DatumOption.DatumOption | undefined + DatumHash.fromHex(dataHash) )) ) : Effect.succeed(undefined) @@ -439,15 +439,14 @@ export const getUtxoByUnit = (baseUrl: string, projectId?: string) => const dataHash = utxo.data_hash const datumEffect = utxo.inline_datum ? Effect.succeed( - new DatumOption.InlineDatum({ + new InlineDatum.InlineDatum({ data: PlutusData.fromCBORHex(utxo.inline_datum) - }) as DatumOption.DatumOption | undefined + }) ) : dataHash ? fetchDatum(dataHash).pipe( - Effect.map((d) => d as DatumOption.DatumOption | undefined), Effect.catchAll(() => Effect.succeed( - new DatumOption.DatumHash({ hash: Bytes.fromHex(dataHash) }) as DatumOption.DatumOption | undefined + DatumHash.fromHex(dataHash) )) ) : Effect.succeed(undefined) @@ -512,15 +511,14 @@ export const getUtxosByOutRef = (baseUrl: string, projectId?: string) => const dataHash = output.data_hash const datumEffect = output.inline_datum ? Effect.succeed( - new DatumOption.InlineDatum({ + new InlineDatum.InlineDatum({ data: PlutusData.fromCBORHex(output.inline_datum) - }) as DatumOption.DatumOption | undefined + }) ) : dataHash ? fetchDatum(dataHash).pipe( - Effect.map((d) => d as DatumOption.DatumOption | undefined), Effect.catchAll(() => Effect.succeed( - new DatumOption.DatumHash({ hash: Bytes.fromHex(dataHash) }) as DatumOption.DatumOption | undefined + DatumHash.fromHex(dataHash) )) ) : Effect.succeed(undefined) @@ -582,7 +580,7 @@ export const getDelegation = (baseUrl: string, projectId?: string) => * Returns: (baseUrl, projectId?) => (datumHash) => Effect */ export const getDatum = (baseUrl: string, projectId?: string) => - (datumHash: DatumOption.DatumHash) => { + (datumHash: DatumHash.DatumHash) => { const datumHashHex = Bytes.toHex(datumHash.hash) return withRateLimit( HttpUtils.get( diff --git a/packages/evolution/src/sdk/provider/internal/KoiosEffect.ts b/packages/evolution/src/sdk/provider/internal/KoiosEffect.ts index 04c9f855..70383b94 100644 --- a/packages/evolution/src/sdk/provider/internal/KoiosEffect.ts +++ b/packages/evolution/src/sdk/provider/internal/KoiosEffect.ts @@ -7,7 +7,7 @@ import * as AssetsUnit from "../../../Assets/Unit.js" import * as Bytes from "../../../Bytes.js" import type * as Credential from "../../../Credential.js" import * as PlutusData from "../../../Data.js" -import type * as DatumOption from "../../../DatumOption.js" +import type * as DatumHash from "../../../DatumHash.js" import * as PolicyId from "../../../PolicyId.js" import * as PoolKeyHash from "../../../PoolKeyHash.js" import * as Redeemer from "../../../Redeemer.js" @@ -231,7 +231,7 @@ export const getDelegation = (baseUrl: string, token?: string) => (rewardAddress } satisfies Provider.Delegation }) -export const getDatum = (baseUrl: string, token?: string) => (datumHash: DatumOption.DatumHash) => +export const getDatum = (baseUrl: string, token?: string) => (datumHash: DatumHash.DatumHash) => Effect.gen(function* () { const datumHashHex = Bytes.toHex(datumHash.hash) const body = { diff --git a/packages/evolution/src/sdk/provider/internal/KupmiosEffects.ts b/packages/evolution/src/sdk/provider/internal/KupmiosEffects.ts index 5ec000a7..a415eb81 100644 --- a/packages/evolution/src/sdk/provider/internal/KupmiosEffects.ts +++ b/packages/evolution/src/sdk/provider/internal/KupmiosEffects.ts @@ -7,7 +7,9 @@ import * as AssetsUnit from "../../../Assets/Unit.js" import * as Bytes from "../../../Bytes.js" import type * as Credential from "../../../Credential.js" import * as PlutusData from "../../../Data.js" -import * as DatumOption from "../../../DatumOption.js" +import * as DatumHash from "../../../DatumHash.js" +import type * as DatumOption from "../../../DatumOption.js" +import * as InlineDatum from "../../../InlineDatum.js" import * as NativeScripts from "../../../NativeScripts.js" import * as PlutusV1 from "../../../PlutusV1.js" import * as PlutusV2 from "../../../PlutusV2.js" @@ -87,7 +89,7 @@ const retrieveDatumEffect = (result) => { // Parse the datum hex string to PlutusData const data = PlutusData.fromCBORHex(result.datum) - return new DatumOption.InlineDatum({ data }) + return new InlineDatum.InlineDatum({ data }) } ), Effect.retry(Schedule.compose(Schedule.exponential(50), Schedule.recurs(5))), @@ -96,7 +98,7 @@ const retrieveDatumEffect = ) } else if (datum_type === "hash" && datum_hash) { const hashBytes = Bytes.fromHex(datum_hash) - return new DatumOption.DatumHash({ hash: hashBytes }) + return new DatumHash.DatumHash({ hash: hashBytes }) } return undefined @@ -440,7 +442,7 @@ export const getDelegationEffect = (ogmiosUrl: string, headers?: { ogmiosHeader? }) export const getDatumEffect = (kupoUrl: string, headers?: { kupoHeader?: Record }) => - Effect.fn("getDatum")(function* (datumHash: DatumOption.DatumHash) { + Effect.fn("getDatum")(function* (datumHash: DatumHash.DatumHash) { const datumHashHex = Bytes.toHex(datumHash.hash) const pattern = `${kupoUrl}/datums/${datumHashHex}` const schema = Kupo.DatumSchema diff --git a/packages/evolution/src/sdk/provider/internal/MaestroEffect.ts b/packages/evolution/src/sdk/provider/internal/MaestroEffect.ts index 75f8a4bc..09b83aed 100644 --- a/packages/evolution/src/sdk/provider/internal/MaestroEffect.ts +++ b/packages/evolution/src/sdk/provider/internal/MaestroEffect.ts @@ -9,7 +9,7 @@ import * as CoreAddress from "../../../Address.js" import * as Bytes from "../../../Bytes.js" import type * as Credential from "../../../Credential.js" import * as PlutusData from "../../../Data.js" -import type * as DatumOption from "../../../DatumOption.js" +import type * as DatumHash from "../../../DatumHash.js" import * as Transaction from "../../../Transaction.js" import * as TransactionHash from "../../../TransactionHash.js" import type * as TransactionInput from "../../../TransactionInput.js" @@ -258,7 +258,7 @@ export const getUtxoByUnit = (baseUrl: string, apiKey: string) => (unit: string) /** * Get datum by datum hash */ -export const getDatum = (baseUrl: string, apiKey: string) => (datumHash: DatumOption.DatumHash) => +export const getDatum = (baseUrl: string, apiKey: string) => (datumHash: DatumHash.DatumHash) => Effect.gen(function* () { const datumHashHex = Bytes.toHex(datumHash.hash) const response = yield* HttpUtils.get( diff --git a/packages/evolution/src/utils/Hash.ts b/packages/evolution/src/utils/Hash.ts index 26e1e605..2b12d7b4 100644 --- a/packages/evolution/src/utils/Hash.ts +++ b/packages/evolution/src/utils/Hash.ts @@ -5,7 +5,7 @@ import * as AuxiliaryDataHash from "../AuxiliaryDataHash.js" import * as CBOR from "../CBOR.js" import * as CostModel from "../CostModel.js" import * as Data from "../Data.js" -import * as DatumOption from "../DatumOption.js" +import * as DatumHash from "../DatumHash.js" import * as Redeemer from "../Redeemer.js" import * as Redeemers from "../Redeemers.js" import * as ScriptDataHash from "../ScriptDataHash.js" @@ -197,10 +197,10 @@ export const hashAuxiliaryData = (aux: AuxiliaryData.AuxiliaryData): AuxiliaryDa export const hashPlutusData = ( pd: Data.Data, options: CBOR.CodecOptions = CBOR.CML_DATA_DEFAULT_OPTIONS -): DatumOption.DatumHash => { +): DatumHash.DatumHash => { const bytes = Data.toCBORBytes(pd, options) const digest = blake2b(bytes, { dkLen: 32 }) - return new DatumOption.DatumHash({ hash: digest }) + return new DatumHash.DatumHash({ hash: digest }) } /**