Table of Contents

Class ArkadeEmulatorPacketProvider

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

ISpendExtensionPacketProvider that contributes the Arkade EmulatorPacket to a spend's Extension OP_RETURN, so covenant (arkade-bound) inputs carry the script bytes + witness the emulator needs to co-sign. Stateless and cheap: returns nothing when the spend has no arkade-bound input, so it can be registered unconditionally.

public sealed class ArkadeEmulatorPacketProvider : ISpendExtensionPacketProvider
Inheritance
ArkadeEmulatorPacketProvider
Implements
Inherited Members

Remarks

This wires the OP_RETURN half of covenant spending into the generic offchain path; the emulator co-signing round-trip itself is driven separately (ArkadeBatchSessionExtension for batches / the emulator submit on the ark-tx path).

Methods

BuildPackets(IReadOnlyList<ArkCoin>)

Build any extension packets this provider wants attached to the spend's Extension OP_RETURN. Return an empty list to contribute nothing.

public IReadOnlyList<IExtensionPacket> BuildPackets(IReadOnlyList<ArkCoin> coinsByVin)

Parameters

coinsByVin IReadOnlyList<ArkCoin>

Spend inputs in transaction-input order.

Returns

IReadOnlyList<IExtensionPacket>