coin_chains library

Classes

Addr
AggregatedKey
BIP-327 MuSig2 key aggregation: combines n public keys into one for n-of-n Schnorr multi-signing.
AssemblerInput
Metadata for a UTXO being spent.
BalanceInfo
BcmrIdentity
BCMR identity: metadata (name, symbol, icon, decimals) for a CashToken category.
BcmrRegistry
BCMR registry document containing token identity entries.
Bech32
Bip44Paths
Path pattern: m / purpose' / coin_type' / account'
Bip69Ordering
BIP-69: deterministic ordering to prevent wallet fingerprinting.
CashToken
A CashToken attached to a UTXO. Can carry fungible amounts, an NFT, or both. Identified by a 32-byte category ID (genesis txid).
Chain
ChainParams
ChainRegistry
CodecGate
CoinPicker
CoinSelection
CryptoVault
CurveGate
Implementations may use pure Dart math or native FFI/WASM bindings.
Denomination
DerivedKey
DerivedKeyMaterial
DerivedPublicKey
DerivedSecretKey
DigestGate
EcdsaSig
Ed25519Gate
Pluggable backend for Ed25519 curve operations (Monero, etc.). All inputs/outputs are byte arrays so native backends avoid BigInt conversion.
ExTx
FeeEstimator
ForkedBuilder
Transaction builder with SIGHASH_FORKID support for BCH / BSV.
ForkedHasher
BIP-143-like sighash with the FORKID bit set for replay protection after the BCH/BSV chain split.
ForkedTxAssembler
TxAssembler subclass for SIGHASH_FORKID chains (BCH / BSV).
FundingPlan<T>
HdAccount
An account node m/purpose'/coinType'/account' bound to a ChainParams and a DerivationScheme.
HdWallet
A hierarchical-deterministic wallet root.
InputSig
DER-encoded ECDSA sig + sighash byte.
KeyForge
LegacyAddr
LegacyInput
LegacySigHasher
Legacy sighash (pre-segwit).
Locking
MessageSig
Mnemonic
MultiSig
M-of-N multisig: OP_M <keys...> OP_N OP_CHECKMULTISIG
MwebAddr
A Litecoin MWEB ("Mimblewimble Extension Block") stealth address.
NoncePair
A pair of public nonce points (33-byte compressed each).
NonceSession
BIP-327 MuSig2 two-round nonce session: generate nonce pairs, exchange, aggregate, then compute partial signatures.
Op
OpCode
Outpoint
P2pkhAddr
P2pkhInput
scriptSig = sig, pubkey
P2shAddr
P2shMultisigInput
P2wpkhAddr
P2wpkhInput
witness = sig, pubkey
P2wshAddr
PartialSig
One participant's partial signature in a MuSig2 session.
PartialTx
Version-agnostic PSBT facade for constructing, inspecting, and finalizing partially signed transactions.
PartialTxV1
BIP-174 PSBT version 0 implementation.
PartialTxV2
BIP-370 PSBT version 2 implementation. Per-input and per-output fields live directly in their own sections instead of inside a global unsigned tx.
PaymentAddress
PaymentCode
80-byte payload:
PayToPubKeyHash
P2PKH: OP_DUP OP_HASH160 <20> OP_EQUALVERIFY OP_CHECKSIG
PayToScriptHash
P2SH: OP_HASH160 <20> OP_EQUAL
PayToTaproot
P2TR: OP_1 <32>
PayToWitness
Generic witness program (version 0-16).
PayToWitnessPubKey
P2WPKH: OP_0 <20>
PayToWitnessScript
P2WSH: OP_0 <32>
PsbtCodec
Low-level PSBT wire-format codec (BIP-174 / BIP-370).
PsbtKeyValue
PsbtSigner
Computes sighashes and attaches partial signatures to a PartialTx.
PublicKey
PushData
PushDataMatcher
Matches any push of a given size, for pattern matching against scripts.
RawInput
RawLocking
Rbf
BIP-125 Replace-By-Fee helpers. RBF is signaled when any input has sequence < 0xfffffffe.
RecoverableEcdsaSig
SchnorrInputSig
Schnorr sig: 64 bytes, or 65 with non-default sighash.
SchnorrSig
Script
ScriptOp
SecretKey
SecretPoint
SegwitAddr
SigHasher
SigHashType
SpendableUtxo
TapBranch
TapLeaf
Taproot
TaprootAddr
Taproot address (bech32m, witness v1).
TaprootKeyInput
Key-path spend; witness = schnorr_sig.
TaprootScriptInput
Script-path spend; witness = ...stack, script, controlBlock.
TaprootSigHasher
BIP-341 taproot sighash.
TapTree
Tx
TxAssembler
High-level transaction builder that takes UTXOs, outputs, and a chain config to produce a fully-signed Tx.
TxBody
Components of a transaction body (everything after the version word), shared by Tx.fromReader and ExTx.fromReader.
TxInfo
TxInput
TxOutput
TxSizeEstimate
UnknownWitnessAddr
For witness versions 2-16 (future soft forks).
UtxoMethods
Common UTXO query interface backed by Electrum or a block explorer.
UtxoRef
VaultKeeper
Call initialize once before using any crypto operations. Defaults to pure Dart backends; register FFI backends with register or registerAsync before calling initialize.
WatchOnlyTracker
Tracks UTXOs without private keys -- for balance monitoring or building transactions before offline signing.
WatchUtxo
WireMeasure
Counts serialized size without allocating.
WireReader
WireWriter
WitnessInput
WitnessSigHasher
BIP-143 witness v0 sighash.

Enums

AddrType
AssemblerInputType
Describes how an AssemblerInput is spent. This drives both the BIP-143 / legacy sighash computation and the construction of the signed input.
CashTokenCapability
CashToken capability flags.
CoinSelectionStrategy
DerivationScheme
BIP standard derivation schemes, each mapping to a single address type.
PsbtGlobal
PSBT global key types (BIP-174 Table 1).
PsbtInputEntry
PSBT per-input key types (BIP-174 Table 2).
PsbtOutputEntry
PSBT per-output key types (BIP-174 Table 3).
TxOrdering
Input/output ordering strategies.

Constants

psbtMagic → const List<int>
Magic bytes: "psbt" + 0xff separator.
sighashForkIdFlag → const int
SIGHASH_FORKID flag (bit 6 = 0x40), used by BCH and BSV.

Functions

base58Decode(String encoded) Uint8List
base58Encode(Uint8List payload) String
blindingMask(Uint8List ecdhSecret, Uint8List outpoint) Uint8List
blindPayload({required Uint8List payload, required Uint8List mask}) Uint8List
XOR-blinds (or unblinds) a payment code payload.
bytesEqual(Uint8List a, Uint8List b) bool
checkInt32(int i) → void
checkUint16(int i) → void
checkUint32(int i) → void
checkUint64(BigInt i) → void
checkUint8(int i) → void
compareBytes(Uint8List a, Uint8List b) int
concatBytes(List<Uint8List> parts) Uint8List
copyCheckBytes(Uint8List bytes, int length, [String name = 'bytes']) Uint8List
generateSecureBytes(int n) Uint8List
hash160(Uint8List data) Uint8List
hexDecode(String hex) Uint8List
Accepts optional "0x" prefix.
hexEncode(Uint8List bytes) String
hmacSha256(Uint8List key, Uint8List data) Uint8List
hmacSha512(Uint8List key, Uint8List data) Uint8List
initCoin() Future<void>
keccak256(Uint8List data) Uint8List
ripemd160(Uint8List data) Uint8List
sha256(Uint8List data) Uint8List
sha256d(Uint8List data) Uint8List
sha512(Uint8List data) Uint8List
taggedHash(String tag, Uint8List data) Uint8List
wifDecode(String wif, Chain chain) → (Uint8List, bool)
wifEncode(Uint8List privKey, Chain chain, {bool compressed = true}) String

Typedefs

AsyncSignerCallback = Future<Uint8List> Function(Tx tx, int inputIndex, Uint8List sigHash, SigHashType hashType)
Async version of SignerCallback for hardware wallets or remote signers.
SignerCallback = Uint8List Function(Tx tx, int inputIndex, Uint8List sigHash, SigHashType hashType)
Called per input. Returns DER-encoded signature bytes (no hash type suffix).

Exceptions / Errors

OutOfData