Table of Contents

Class ComposedSwapExecutionClient

Namespace
NArk.ArkadeIntents.Composition
Assembly
NArk.ArkadeIntents.dll

Advances persisted composed routes without disclosing their SDK-held secrets in results.

public sealed class ComposedSwapExecutionClient
Inheritance
ComposedSwapExecutionClient
Inherited Members

Remarks

The internal gate serializes only calls made through this executor instance. A host running multiple instances or processes must take a distributed lock keyed by the outgoing swap id; intent storage does not expose compare-and-swap.

Constructors

ComposedSwapExecutionClient(IArkadeIntentStorage, IVtxoStorage, IBitcoinBlockchain, IContractStorage, IClientTransport, LightningIntentsClient, OnchainIntentsClient?, IEvmSwapRpc, IEvmDurableTransactionSender, EvmSendPolicy, TimeProvider?)

Creates an executor using existing NI clients and host-controlled EVM proof and durable signing adapters.

public ComposedSwapExecutionClient(IArkadeIntentStorage storage, IVtxoStorage vtxos, IBitcoinBlockchain blockchain, IContractStorage contracts, IClientTransport transport, LightningIntentsClient lightning, OnchainIntentsClient? onchain, IEvmSwapRpc rpc, IEvmDurableTransactionSender sender, EvmSendPolicy policy, TimeProvider? timeProvider = null)

Parameters

storage IArkadeIntentStorage

SDK recovery storage containing the intents and their secrets.

vtxos IVtxoStorage

Synchronized VTXOs used to prove exact funding of the outgoing Arkade lock.

blockchain IBitcoinBlockchain

Bitcoin chain time used to exclude expired Arkade funding.

contracts IContractStorage

Imported covenant descriptors.

transport IClientTransport

Arkade network facts.

lightning LightningIntentsClient

NI Lightning receive and outgoing refund implementation.

onchain OnchainIntentsClient

NI onchain receive implementation, optional for other rails.

rpc IEvmSwapRpc

Configured EVM chain reader.

sender IEvmDurableTransactionSender

Host sender that saves a deterministic transaction identity before broadcast.

policy EvmSendPolicy

Expected chain, token, contract and proof bounds.

timeProvider TimeProvider

Clock used to enforce safety windows.

Methods

AdvanceAsync(string, string?, CancellationToken)

Advances one route; exact funding can trigger a pending EVM leg and verified completion is repeatable.

public Task<ComposedSwapExecutionResult> AdvanceAsync(string outgoingSwapId, string? ingressSwapId = null, CancellationToken cancellationToken = default)

Parameters

outgoingSwapId string

Persisted BtcToEvm RFQ id.

ingressSwapId string

Persisted Lightning/onchain receive RFQ id, or null for direct Arkade.

cancellationToken CancellationToken

Cancels reads or submission; prepared EVM identity survives an uncertain broadcast.

Returns

Task<ComposedSwapExecutionResult>

Public lifecycle and verified transaction identity only.

Remarks

Callers must serialize this route across executor instances and processes.