Evolution SDK

Redeemer.ts

Redeemer overview


Table of contents


constructors

cert

Create a cert redeemer for certificate validation.

Signature

export declare const cert: (index: bigint, data: PlutusData.Data, exUnits: ExUnits) => Redeemer

Added in v2.0.0

mint

Create a mint redeemer for minting/burning tokens.

Signature

export declare const mint: (index: bigint, data: PlutusData.Data, exUnits: ExUnits) => Redeemer

Added in v2.0.0

reward

Create a reward redeemer for withdrawal validation.

Signature

export declare const reward: (index: bigint, data: PlutusData.Data, exUnits: ExUnits) => Redeemer

Added in v2.0.0

spend

Create a spend redeemer for spending UTxO inputs.

Signature

export declare const spend: (index: bigint, data: PlutusData.Data, exUnits: ExUnits) => Redeemer

Added in v2.0.0

generators

arbitraryExUnits

FastCheck arbitrary for generating random ExUnits values.

Signature

export declare const arbitraryExUnits: FastCheck.Arbitrary<ExUnits>

Added in v2.0.0

arbitraryRedeemerTag

FastCheck arbitrary for generating random RedeemerTag values.

Signature

export declare const arbitraryRedeemerTag: FastCheck.Arbitrary<
  "vote" | "spend" | "mint" | "cert" | "reward" | "propose"
>

Added in v2.0.0

model

ExUnits (class)

Execution units for Plutus script execution.

CDDL: ex_units = [mem: uint64, steps: uint64]

Signature

export declare class ExUnits

Added in v2.0.0

toJSON (method)

Signature

toJSON()

[Equal.symbol] (method)

Signature

[Equal.symbol](that: unknown): boolean

[Hash.symbol] (method)

Signature

[Hash.symbol](): number

Redeemer (class)

Redeemer for Plutus script execution based on Conway CDDL specification.

CDDL: redeemer = [ tag, index, data, ex_units ] Where:

  • tag: redeemer_tag (0=spend, 1=mint, 2=cert, 3=reward)
  • index: uint64 (index into the respective input/output/certificate/reward array)
  • data: plutus_data (the actual redeemer data passed to the script)
  • ex_units: [mem: uint64, steps: uint64] (execution unit limits)

Signature

export declare class Redeemer

Added in v2.0.0

toJSON (method)

Convert to JSON representation.

Signature

toJSON()

Added in v2.0.0

toString (method)

Convert to string representation.

Signature

toString(): string

Added in v2.0.0

[Inspectable.NodeInspectSymbol] (method)

Custom inspect for Node.js REPL.

Signature

[Inspectable.NodeInspectSymbol](): unknown

Added in v2.0.0

[Equal.symbol] (method)

Structural equality check.

Signature

[Equal.symbol](that: unknown): boolean

Added in v2.0.0

[Hash.symbol] (method)

Hash code generation. Only hashes tag and index for performance (minimal structure).

Signature

[Hash.symbol](): number

Added in v2.0.0

RedeemerTag

Redeemer tag enum for different script execution contexts.

CDDL: redeemer_tag = 0 ; spend | 1 ; mint | 2 ; cert | 3 ; reward | 4 ; vote | 5 ; propose

Signature

export declare const RedeemerTag: Schema.Literal<["spend", "mint", "cert", "reward", "vote", "propose"]>

Added in v2.0.0

predicates

isCert

Check if a redeemer is for certificates.

Signature

export declare const isCert: (redeemer: Redeemer) => boolean

Added in v2.0.0

isMint

Check if a redeemer is for minting/burning.

Signature

export declare const isMint: (redeemer: Redeemer) => boolean

Added in v2.0.0

isReward

Check if a redeemer is for withdrawals.

Signature

export declare const isReward: (redeemer: Redeemer) => boolean

Added in v2.0.0

isSpend

Check if a redeemer is for spending inputs.

Signature

export declare const isSpend: (redeemer: Redeemer) => boolean

Added in v2.0.0

schemas

CDDLSchema

CDDL schema for Redeemer as tuple structure.

CDDL: redeemer = [ tag, index, data, ex_units ]

Signature

export declare const CDDLSchema: Schema.Tuple<
  [
    Schema.SchemaClass<bigint, bigint, never>,
    Schema.SchemaClass<bigint, bigint, never>,
    Schema.Schema<CBOR.CBOR, CBOR.CBOR, never>,
    Schema.Tuple2<typeof Schema.BigIntFromSelf, typeof Schema.BigIntFromSelf>
  ]
>

Added in v2.0.0

FromCBORBytes

CBOR bytes transformation schema for Redeemer using CDDL. Transforms between CBOR bytes and Redeemer using CDDL encoding. The data is written with the plutusData options, the rest with the ledger options. Plain options are read as CBOR.toTxCodecOptions reads them.

Signature

export declare const FromCBORBytes: (
  options?: CBOR.TxCodecOptions | CBOR.CodecOptions
) => Schema.transformOrFail<typeof Schema.Uint8ArrayFromSelf, Schema.SchemaClass<Redeemer, Redeemer, never>, never>

Added in v2.0.0

FromCBORHex

CBOR hex transformation schema for Redeemer using CDDL. Transforms between CBOR hex string and Redeemer using CDDL encoding.

Signature

export declare const FromCBORHex: (
  options?: CBOR.TxCodecOptions | CBOR.CodecOptions
) => Schema.transform<
  Schema.Schema<Uint8Array, string, never>,
  Schema.transformOrFail<typeof Schema.Uint8ArrayFromSelf, Schema.SchemaClass<Redeemer, Redeemer, never>, never>
>

Added in v2.0.0

FromCDDL

CDDL transformation schema for Redeemer.

Transforms between CBOR tuple representation and Redeemer class instance.

Signature

export declare const FromCDDL: Schema.transformOrFail<
  Schema.Tuple<
    [
      Schema.SchemaClass<bigint, bigint, never>,
      Schema.SchemaClass<bigint, bigint, never>,
      Schema.Schema<CBOR.CBOR, CBOR.CBOR, never>,
      Schema.Tuple2<typeof Schema.BigIntFromSelf, typeof Schema.BigIntFromSelf>
    ]
  >,
  Schema.SchemaClass<Redeemer, Redeemer, never>,
  never
>

Added in v2.0.0

transformation

fromCBORBytes

Decode Redeemer from CBOR bytes.

Signature

export declare const fromCBORBytes: (bytes: Uint8Array, options?: CBOR.CodecOptions) => Redeemer

Added in v2.0.0

fromCBORHex

Decode Redeemer from CBOR hex string.

Signature

export declare const fromCBORHex: (hex: string, options?: CBOR.CodecOptions) => Redeemer

Added in v2.0.0

toCBORBytes

Encode Redeemer to CBOR bytes, as in FromCBORBytes.

Signature

export declare const toCBORBytes: (redeemer: Redeemer, options?: CBOR.TxCodecOptions | CBOR.CodecOptions) => Uint8Array

Added in v2.0.0

toCBORHex

Encode Redeemer to CBOR hex string, as in FromCBORBytes.

Signature

export declare const toCBORHex: (redeemer: Redeemer, options?: CBOR.TxCodecOptions | CBOR.CodecOptions) => string

Added in v2.0.0

utilities

integerToTag

Helper function to convert CBOR integer to RedeemerTag string.

Signature

export declare const integerToTag: (value: bigint) => RedeemerTag

Added in v2.0.0

tagToInteger

Helper function to convert RedeemerTag string to CBOR integer.

Signature

export declare const tagToInteger: (tag: RedeemerTag) => bigint

Added in v2.0.0

totalExUnits

Compute total ex_units by summing over redeemers.

Signature

export declare const totalExUnits: (redeemers: ReadonlyArray<Redeemer>) => ExUnits

Added in v2.0.0

utils

RedeemerTag (type alias)

Signature

export type RedeemerTag = typeof RedeemerTag.Type

arbitrary

Signature

export declare const arbitrary: FastCheck.Arbitrary<Redeemer>

On this page