NativeScriptsOLD.ts
NativeScriptsOLD overview
Table of contents
constructors
make
Smart constructor for Native that validates and applies branding.
Signature
export declare const make: (native: Native) => NativeAdded in v2.0.0
decoding
internalDecodeCDDL
Convert a CDDL representation back to a Native.
This function recursively decodes nested CBOR scripts and constructs the appropriate Native instances.
Signature
export declare const internalDecodeCDDL: (cborTuple: NativeCDDL) => E.Either<Native, ParseIssue>Added in v2.0.0
effect
Either (namespace)
Effect-based error handling variants for functions that can fail.
Added in v2.0.0
encoding
internalEncodeCDDL
Convert a Native to its CDDL representation.
Signature
export declare const internalEncodeCDDL: (native: Native) => E.Either<NativeCDDL, ParseIssue>Added in v2.0.0
toCBORBytes
Encode Native to CBOR bytes.
Signature
export declare const toCBORBytes: (input: Native, options?: CBOR.CodecOptions) => Uint8ArrayAdded in v2.0.0
toCBORHex
Encode Native to CBOR hex string.
Signature
export declare const toCBORHex: (input: Native, options?: CBOR.CodecOptions) => stringAdded in v2.0.0
errors
NativeError (class)
Error class for Native script related operations.
Signature
export declare class NativeErrorAdded in v2.0.0
model
Native (type alias)
Type representing a native script following cardano-cli JSON syntax.
Signature
export type Native =
| {
type: "sig"
keyHash: string
}
| {
type: "before"
slot: number
}
| {
type: "after"
slot: number
}
| {
type: "all"
scripts: ReadonlyArray<Native>
}
| {
type: "any"
scripts: ReadonlyArray<Native>
}
| {
type: "atLeast"
required: number
scripts: ReadonlyArray<Native>
}Added in v2.0.0
NativeCDDL (type alias)
CDDL representation of a native script as a union of tuple types.
This type represents the low-level CBOR structure of native scripts, where each variant is encoded as a tagged tuple.
Signature
export type NativeCDDL =
| readonly [0n, Uint8Array]
| readonly [1n, ReadonlyArray<NativeCDDL>]
| readonly [2n, ReadonlyArray<NativeCDDL>]
| readonly [3n, bigint, ReadonlyArray<NativeCDDL>]
| readonly [4n, bigint]
| readonly [5n, bigint]Added in v2.0.0
parsing
fromCBORBytes
Parse Native from CBOR bytes.
Signature
export declare const fromCBORBytes: (bytes: Uint8Array, options?: CBOR.CodecOptions) => NativeAdded in v2.0.0
fromCBORHex
Parse Native from CBOR hex string.
Signature
export declare const fromCBORHex: (hex: string, options?: CBOR.CodecOptions) => NativeAdded in v2.0.0
schemas
FromCBORBytes
CBOR bytes transformation schema for Native. Transforms between CBOR bytes and Native using CBOR encoding.
Signature
export declare const FromCBORBytes: (
options?: CBOR.CodecOptions
) => Schema.transform<
Schema.transformOrFail<
typeof Schema.Uint8ArrayFromSelf,
Schema.declare<CBOR.CBOR, CBOR.CBOR, readonly [], never>,
never
>,
Schema.transformOrFail<
Schema.Union<
[
Schema.Tuple2<Schema.Literal<[0n]>, typeof Schema.Uint8ArrayFromSelf>,
Schema.Tuple2<Schema.Literal<[1n]>, Schema.Array$<Schema.suspend<NativeCDDL, NativeCDDL, never>>>,
Schema.Tuple2<Schema.Literal<[2n]>, Schema.Array$<Schema.suspend<NativeCDDL, NativeCDDL, never>>>,
Schema.Tuple<
[
Schema.Literal<[3n]>,
typeof Schema.BigIntFromSelf,
Schema.Array$<Schema.suspend<NativeCDDL, NativeCDDL, never>>
]
>,
Schema.Tuple2<Schema.Literal<[4n]>, typeof Schema.BigIntFromSelf>,
Schema.Tuple2<Schema.Literal<[5n]>, typeof Schema.BigIntFromSelf>
]
>,
Schema.SchemaClass<Native, Native, never>,
never
>
>Added in v2.0.0
FromCBORHex
CBOR hex transformation schema for Native. Transforms between CBOR hex string and Native using CBOR encoding.
Signature
export declare const FromCBORHex: (
options?: CBOR.CodecOptions
) => Schema.transform<
Schema.Schema<Uint8Array, string, never>,
Schema.transform<
Schema.transformOrFail<
typeof Schema.Uint8ArrayFromSelf,
Schema.declare<CBOR.CBOR, CBOR.CBOR, readonly [], never>,
never
>,
Schema.transformOrFail<
Schema.Union<
[
Schema.Tuple2<Schema.Literal<[0n]>, typeof Schema.Uint8ArrayFromSelf>,
Schema.Tuple2<Schema.Literal<[1n]>, Schema.Array$<Schema.suspend<NativeCDDL, NativeCDDL, never>>>,
Schema.Tuple2<Schema.Literal<[2n]>, Schema.Array$<Schema.suspend<NativeCDDL, NativeCDDL, never>>>,
Schema.Tuple<
[
Schema.Literal<[3n]>,
typeof Schema.BigIntFromSelf,
Schema.Array$<Schema.suspend<NativeCDDL, NativeCDDL, never>>
]
>,
Schema.Tuple2<Schema.Literal<[4n]>, typeof Schema.BigIntFromSelf>,
Schema.Tuple2<Schema.Literal<[5n]>, typeof Schema.BigIntFromSelf>
]
>,
Schema.SchemaClass<Native, Native, never>,
never
>
>
>Added in v2.0.0
FromCDDL
Schema for NativeCDDL union type.
Signature
export declare const FromCDDL: Schema.transformOrFail<
Schema.Union<
[
Schema.Tuple2<Schema.Literal<[0n]>, typeof Schema.Uint8ArrayFromSelf>,
Schema.Tuple2<Schema.Literal<[1n]>, Schema.Array$<Schema.suspend<NativeCDDL, NativeCDDL, never>>>,
Schema.Tuple2<Schema.Literal<[2n]>, Schema.Array$<Schema.suspend<NativeCDDL, NativeCDDL, never>>>,
Schema.Tuple<
[
Schema.Literal<[3n]>,
typeof Schema.BigIntFromSelf,
Schema.Array$<Schema.suspend<NativeCDDL, NativeCDDL, never>>
]
>,
Schema.Tuple2<Schema.Literal<[4n]>, typeof Schema.BigIntFromSelf>,
Schema.Tuple2<Schema.Literal<[5n]>, typeof Schema.BigIntFromSelf>
]
>,
Schema.SchemaClass<Native, Native, never>,
never
>Added in v2.0.0
NativeSchema
Represents a cardano-cli JSON script syntax
Native type follows the standard described in the link https://github.com/IntersectMBO/cardano-node/blob/1.26.1-with-cardano-cli/doc/reference/simple-scripts.md#json-script-syntax JSON script syntax documentation.
Signature
export declare const NativeSchema: Schema.Schema<Native, Native, never>Added in v2.0.0
utils
CDDLSchema
Signature
export declare const CDDLSchema: Schema.Union<
[
Schema.Tuple2<Schema.Literal<[0n]>, typeof Schema.Uint8ArrayFromSelf>,
Schema.Tuple2<Schema.Literal<[1n]>, Schema.Array$<Schema.suspend<NativeCDDL, NativeCDDL, never>>>,
Schema.Tuple2<Schema.Literal<[2n]>, Schema.Array$<Schema.suspend<NativeCDDL, NativeCDDL, never>>>,
Schema.Tuple<
[Schema.Literal<[3n]>, typeof Schema.BigIntFromSelf, Schema.Array$<Schema.suspend<NativeCDDL, NativeCDDL, never>>]
>,
Schema.Tuple2<Schema.Literal<[4n]>, typeof Schema.BigIntFromSelf>,
Schema.Tuple2<Schema.Literal<[5n]>, typeof Schema.BigIntFromSelf>
]
>Native
Signature
export declare const Native: Schema.Schema<Native, Native, never>arbitrary
Signature
export declare const arbitrary: FastCheck.Arbitrary<Native>equals
Deep structural equality for Native scripts. Compares shape, values and recurses into nested scripts.
Signature
export declare const equals: (a: Native, b: Native) => boolean