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

arbitrary

FastCheck arbitrary for generating random Redeemer instances.

Signature

export declare const arbitrary: FastCheck.Arbitrary<Redeemer>

Added in v2.0.0

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.

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.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

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.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.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

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.

Signature

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

Added in v2.0.0

toCBORHex

Encode Redeemer to CBOR hex string.

Signature

export declare const toCBORHex: (redeemer: Redeemer, options?: 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

utils

RedeemerTag (type alias)

Signature

export type RedeemerTag = typeof RedeemerTag.Type