Table of Contents

Class TransactionHelpers.ArkTransactionBuilder

Namespace
NArk.Core.Helpers
Assembly
NArk.Core.dll

Utility class for building and constructing Ark transactions

public class TransactionHelpers.ArkTransactionBuilder
Inheritance
TransactionHelpers.ArkTransactionBuilder
Inherited Members

Constructors

ArkTransactionBuilder(IClientTransport, ISafetyService, IWalletProvider, IIntentStorage, IVirtualTxStorage?, IEnumerable<ISpendSubmitHandler>?)

Utility class for building and constructing Ark transactions

public ArkTransactionBuilder(IClientTransport clientTransport, ISafetyService safetyService, IWalletProvider walletProvider, IIntentStorage intentStorage, IVirtualTxStorage? virtualTxStorage = null, IEnumerable<ISpendSubmitHandler>? submitHandlers = null)

Parameters

clientTransport IClientTransport
safetyService ISafetyService
walletProvider IWalletProvider
intentStorage IIntentStorage
virtualTxStorage IVirtualTxStorage
submitHandlers IEnumerable<ISpendSubmitHandler>

Methods

ConstructAndSubmitArkTransaction(IReadOnlyCollection<ArkCoin>, ArkTxOut[], CancellationToken, TxOut?)

public Task<PSBT> ConstructAndSubmitArkTransaction(IReadOnlyCollection<ArkCoin> arkCoins, ArkTxOut[] arkOutputs, CancellationToken cancellationToken, TxOut? extensionOutput = null)

Parameters

arkCoins IReadOnlyCollection<ArkCoin>
arkOutputs ArkTxOut[]
cancellationToken CancellationToken
extensionOutput TxOut

Returns

Task<PSBT>

ConstructArkTransaction(IEnumerable<ArkCoin>, TxOut[], ArkServerInfo, CancellationToken)

Constructs an Arkade transaction with checkpoints, preserving separate ordered payouts for indexed scripts.

public Task<(PSBT arkTx, SortedSet<IndexedPSBT> checkpoints)> ConstructArkTransaction(IEnumerable<ArkCoin> coins, TxOut[] outputs, ArkServerInfo serverInfo, CancellationToken cancellationToken)

Parameters

coins IEnumerable<ArkCoin>

Collection of coins and their respective signers

outputs TxOut[]

Outputs in payout order; indexed scripts require at least one per input and cannot mix with ordinary inputs.

serverInfo ArkServerInfo

Info retrieved from the Arkade operator

cancellationToken CancellationToken

Cancellation token

Returns

Task<(PSBT arkTx, SortedSet<IndexedPSBT> checkpoints)>

The Arkade transaction and checkpoint transactions with their input witnesses

ConstructForfeitTx(ArkServerInfo, ArkCoin, Coin?, IDestination, CancellationToken)

public Task<PSBT> ConstructForfeitTx(ArkServerInfo arkServerInfo, ArkCoin coin, Coin? connector, IDestination forfeitDestination, CancellationToken cancellationToken = default)

Parameters

arkServerInfo ArkServerInfo
coin ArkCoin
connector Coin
forfeitDestination IDestination
cancellationToken CancellationToken

Returns

Task<PSBT>

SubmitArkTransaction(IReadOnlyCollection<ArkCoin>, PSBT, SortedSet<IndexedPSBT>, CancellationToken)

public Task SubmitArkTransaction(IReadOnlyCollection<ArkCoin> arkCoins, PSBT arkTx, SortedSet<IndexedPSBT> checkpoints, CancellationToken cancellationToken)

Parameters

arkCoins IReadOnlyCollection<ArkCoin>
arkTx PSBT
checkpoints SortedSet<IndexedPSBT>
cancellationToken CancellationToken

Returns

Task