MwebAddr class
A Litecoin MWEB ("Mimblewimble Extension Block") stealth address.
Slice A scope: this is a STANDALONE parser/encoder. It deliberately does NOT implement the Addr interface and is NOT routed through SegwitAddr:
- The Addr contract (
toLocking()/scriptPubKey) is meaningless for an MWEB address, which has no canonical-chain script. - SegwitAddr hard-rejects anything but a 20/32-byte witness program at
version 0, whereas a real
ltcmweb1...address carries a ~66-byte payload (a scan pubkey + a spend pubkey).
The encoding matches Litecoin Core's MWEB address codec: plain bech32 (NOT
bech32m) over a 5-bit data part whose FIRST group is a witness-version
byte fixed at 0; the remaining groups ConvertBits<5,8,false> to exactly
66 payload bytes (a 33-byte scan pubkey followed by a 33-byte spend
pubkey, both compressed secp256k1). There is no 20/32-byte segwit length
cap. We do NOT validate that the payload is a legitimate stealth address
or attempt to derive the underlying scan/spend pubkey pair - that is
mwebd's job.
Constructors
- MwebAddr({required String hrp, required Uint8List payload})
- MwebAddr.fromString(String s, Chain chain)
-
Parse
sas an MWEB address forchain. The HRP must matchchain.mwebHrp. Throws FormatException on HRP mismatch, mixed case, bad characters, or checksum failure.factory
Properties
- hashCode → int
-
The hash code for this object.
no setterinherited
- hrp → String
-
The human-readable prefix (e.g.
ltcmweb,tmweb).final - payload → Uint8List
-
The decoded raw payload bytes (8-bit). For real MWEB addresses this is
~66 bytes (scan + spend compressed pubkeys).
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
encode(
Chain chain) → String -
Encode the payload as an MWEB address using
chain.mwebHrp. Provided primarily for round-trip testing; in production MWEB addresses come frommwebd. -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited