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
transportIClientTransportLive Arkade server facts.
contractsIContractServiceWallet contract derivation and import.
intentsIArkadeIntentStorageSDK swap persistence. The host must protect this store at rest.
evmIEvmSwapRpcRead-only EVM chain adapter used during quote validation.
optionsIOptions<ArkadeIntentsOptions>Arkade emulator override shared by all corridors.
timeProviderTimeProviderClock for quote deadlines.
loggerILogger<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
walletIdstringWallet that can recover an expired L.
amountSatslongExact Arkade input required at L.
evmClaimAddressstringMerchant ERC20 destination.
policyEvmSendPolicyDynamic chain, token, contract, proof, and timing policy.
rfqTransportIRfqTransportHow to reach the selected outgoing solver.
secretSwapLinkSecretRoute secret. Omit only when this is the first leg.
rfqIdstringCaller-reserved global RFQ identity, or null to generate one.
solverCardSolverCardOptional signed advertised terms.
refundContractArkContractOptional existing wallet contract to avoid consuming another HD index.
cancellationTokenCancellationTokenCancels before the quote is exposed.
Returns
- Task<PendingEvmSend>
Verified L and the exact EVM tuple.