Namespace Xrpl.Wallet
Classes
BatchSigningHelper
Helper methods for batch transaction signing operations. For general signer utilities, see SignerUtilities.
EasyTimer
LoanSigningHelper
Helper for LoanSet multi-party signing (XLS-66d). LoanSet requires two signatures: the broker (Account) signs as the submitter (TxnSignature), and the borrower (Counterparty) provides a CounterpartySignature (inner STObject with SigningPubKey + TxnSignature).
Three signing patterns (analogous to Batch V1/V2/V3):
V1 — Automatic (both keys available):
var result = LoanSigningHelper.SignLoanSet(loanTx, brokerWallet, borrowerWallet);
await client.SubmitRequest(result.TxBlob);
V2 — Parallel (keys on separate devices, sign independently):
// Device A (borrower):
var counterpartySig = borrowerWallet.SignAsLoanCounterparty(preparedTxJson);
// Device B (broker):
var brokerSig = brokerWallet.Sign(preparedTxJson);
// Combiner:
var combined = LoanSigningHelper.CombineLoanSignatures(brokerSig.TxBlob, counterpartySig.TxBlob);
await client.SubmitRequest(combined);
V3 — Sequential (borrower signs first, passes to broker):
// Borrower signs, adds CounterpartySignature:
var withCounterparty = borrowerWallet.SignAsLoanCounterparty(preparedTxJson);
// Broker receives the partially signed blob, adds TxnSignature:
var final = LoanSigningHelper.BrokerSign(withCounterparty.TxBlob, brokerWallet);
await client.SubmitRequest(final.TxBlob);
SignatureComposer
Composes a fully signed transaction from partially signed blobs (#43). Devices sign with whatever keys they hold — single main signature, sponsor co-signature, or portable multisig Signer entries — and the composer routes everything into the right sections. Signer entries are section-agnostic by protocol (identical preimage for tx.Signers and SponsorSignature.Signers, see rippled STTx::checkMultiSign), so only the composer needs to know which signer belongs to which side.
SignatureResult
Signer
SignerUtilities
Shared utilities for working with signers across multisign and batch signing operations. Contains common functionality used by Signer, BatchSigningHelper, and XrplWallet.
SignerUtilities.ByteArrayComparer
Comparer for byte arrays used in sorting by account ID.
SponsorSigningHelper
Helper for sponsored transaction signing (XLS-68). A sponsored transaction carries the common fields Sponsor and SponsorFlags (spfSponsorFee = 1, spfSponsorReserve = 2) and, when the sponsorship requires it, the sponsor's co-signature: SponsorSignature (inner STObject with SigningPubKey + TxnSignature over the same preimage as the main signature).
Signing patterns (analogous to LoanSet broker/counterparty):
V1 — Automatic (both keys available):
var result = SponsorSigningHelper.SignSponsored(preparedTx, submitterWallet, sponsorWallet);
await client.SubmitRequest(result.TxBlob);
V2 — Parallel (keys on separate devices):
var sponsorSig = sponsorWallet.SignAsSponsor(preparedTx);
var submitterSig = submitterWallet.Sign(preparedTx);
var combined = SponsorSigningHelper.CombineSponsorSignatures(submitterSig.TxBlob, sponsorSig.TxBlob);
V3 — Sequential (sponsor signs first, passes to submitter):
var withSponsor = sponsorWallet.SignAsSponsor(preparedTx);
var final = SponsorSigningHelper.SubmitterSign(withSponsor.TxBlob, submitterWallet);
WalletSugar
WalletSugar.FaucetAccount
WalletSugar.FaucetNetwork
WalletSugar.FaucetWallet
WalletSugar.Funded
XrplWallet
XummExtension
Extension methods for working with XRPL Secret Numbers format. Secret Numbers encode 16 bytes of entropy into 8 groups of 6 digits each, where 5 digits represent entropy and the 6th digit is a position-dependent checksum. This format is language-agnostic and allows real-time typo detection. See XLS-12d specification: https://github.com/XRPLF/XRPL-Standards/issues/15