Table of Contents

Class EmulatorEntry

Namespace
NArk.Arkade.Emulator
Assembly
NArk.Arkade.dll

One entry in an EmulatorPacket — binds a transaction input to the ArkadeScript bytecode the emulator should execute and the witness stack that script consumes.

public sealed record EmulatorEntry : IEquatable<EmulatorEntry>
Inheritance
EmulatorEntry
Implements
Inherited Members

Constructors

EmulatorEntry(ushort, byte[], IReadOnlyList<byte[]>)

One entry in an EmulatorPacket — binds a transaction input to the ArkadeScript bytecode the emulator should execute and the witness stack that script consumes.

public EmulatorEntry(ushort Vin, byte[] Script, IReadOnlyList<byte[]> Witness)

Parameters

Vin ushort

The 16-bit transaction input index (little-endian on the wire).

Script byte[]

ArkadeScript bytecode to evaluate against this input. Must be non-empty.

Witness IReadOnlyList<byte[]>

Witness stack — an ordered list of pushes the script reads. On the wire this is serialized via Bitcoin's standard WriteTxWitness shape (compactSize(num_items) + per-item compactSize(len) + bytes), matching the Go reference's wire.TxWitness.

Properties

Script

ArkadeScript bytecode to evaluate against this input. Must be non-empty.

public byte[] Script { get; init; }

Property Value

byte[]

Vin

The 16-bit transaction input index (little-endian on the wire).

public ushort Vin { get; init; }

Property Value

ushort

Witness

Witness stack — an ordered list of pushes the script reads. On the wire this is serialized via Bitcoin's standard WriteTxWitness shape (compactSize(num_items) + per-item compactSize(len) + bytes), matching the Go reference's wire.TxWitness.

public IReadOnlyList<byte[]> Witness { get; init; }

Property Value

IReadOnlyList<byte[]>