Table of Contents

Class EvmIntentsClient

Namespace
NArk.ArkadeIntents.Evm
Assembly
NArk.ArkadeIntents.dll

Negotiates and persists the outgoing Arkade-to-ERC20 leg of a composed route.

public sealed class EvmIntentsClient : IEvmOutgoingQuoteClient
Inheritance
EvmIntentsClient
Implements
Inherited Members

Constructors

EvmIntentsClient(IClientTransport, IContractService, IArkadeIntentStorage, IEvmSwapRpc, IOptions<ArkadeIntentsOptions>?, TimeProvider?, ILogger<EvmIntentsClient>?)

Creates the client.

public EvmIntentsClient(IClientTransport transport, IContractService contracts, IArkadeIntentStorage intents, IEvmSwapRpc evm, IOptions<ArkadeIntentsOptions>? options = null, TimeProvider? timeProvider = null, ILogger<EvmIntentsClient>? logger = null)

Parameters

transport IClientTransport

Live Arkade server facts.

contracts IContractService

Wallet contract derivation and import.

intents IArkadeIntentStorage

SDK swap persistence. The host must protect this store at rest.

evm IEvmSwapRpc

Read-only EVM chain adapter used during quote validation.

options IOptions<ArkadeIntentsOptions>

Arkade emulator override shared by all corridors.

timeProvider TimeProvider

Clock for quote deadlines.

logger ILogger<EvmIntentsClient>

Optional structured logger.

Methods

CreateSendQuoteAsync(string, long, string, EvmSendPolicy, IRfqTransport, SwapLinkSecret?, string?, SolverCard?, ArkContract?, CancellationToken)

Creates the outgoing quote first, using a fresh route secret when none is supplied.

public Task<PendingEvmSend> CreateSendQuoteAsync(string walletId, long amountSats, string evmClaimAddress, EvmSendPolicy policy, IRfqTransport rfqTransport, SwapLinkSecret? secret = null, string? rfqId = null, SolverCard? solverCard = null, ArkContract? refundContract = null, CancellationToken cancellationToken = default)

Parameters

walletId string

Wallet that can recover an expired L.

amountSats long

Exact Arkade input required at L.

evmClaimAddress string

Merchant ERC20 destination.

policy EvmSendPolicy

Dynamic chain, token, contract, proof, and timing policy.

rfqTransport IRfqTransport

How to reach the selected outgoing solver.

secret SwapLinkSecret

Route secret. Omit only when this is the first leg.

rfqId string

Caller-reserved global RFQ identity, or null to generate one.

solverCard SolverCard

Optional signed advertised terms.

refundContract ArkContract

Optional existing wallet contract to avoid consuming another HD index.

cancellationToken CancellationToken

Cancels before the quote is exposed.

Returns

Task<PendingEvmSend>

Verified L and the exact EVM tuple.