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 })
}
/**