dart_bip32_bip44 library
Classes
- Chain
- Use this class to generate extended keys. You can create an instance of this class with either a serialized extended key (Chain.import) or a hex encoded master seed (Chain.seed).
- ExtendedKey
- Abstract class on which ExtendedPrivateKey and ExtendedPublicKey are based.
- ExtendedPrivateKey
- An extended private key as defined by the BIP32 specification.
- ExtendedPublicKey
- An extended public key as defined by the BIP32 specification.
Constants
- alphabet → const String
- Used for the Base58 encoding.
- firstHardenedChild → const int
- FirstHardenedChild is the index of the firxt "hardened" child key as per the bip32 spec
- lengthOfChecksum → const int
- Length of checksum in bytes
- lengthOfKey → const int
- From the specification the length of a private of public key
- lengthOfSerializedKey → const int
- From the specification (in bytes): 4 version 1 depth 4 fingerprint 4 child number 32 chain code 33 public or private key
Properties
- curve → ECCurve_secp256k1
-
The Bitcoin curve
final
- masterKey → Uint8List
-
From the BIP32 spec. Used when calculating the hmac of the seed
final
- privateKeyVersion → Uint8List
-
The 4 version bytes for the private key serialization as defined in the
BIP21 spec
final
- publicKeyVersion → Uint8List
-
The 4 version bytes for the public key serialization as defined in the
BIP21 spec
final
- ripemd160digest → RIPEMD160Digest
-
final
- sha256digest → SHA256Digest
-
final
- sha512digest → SHA512Digest
-
final
Functions
-
compressed(
ECPoint q) → Uint8List - AKA 'ser_P(P)' in the specification
-
debug(
List< int> payload) → void -
deriveExtendedPrivateChildKey(
ExtendedPrivateKey parent, int childNumber) → ExtendedPrivateKey - CKDpriv in the specficiation
-
deriveExtendedPublicChildKey(
ExtendedPublicKey parent, int childNumber) → ExtendedPublicKey - CKDpub in the specification
-
equal(
Iterable a, Iterable b) → bool -
hash160(
Uint8List data) → Uint8List - Double hash the data: RIPEMD160(SHA256(data))
-
hmacSha512(
Uint8List key, Uint8List message) → Uint8List - This function returns a list of length 64. The first half is the key, the second half is the chain code.
-
publicKeyFor(
BigInt d) → ECPoint - AKA 'point(k)' in the specification
-
serializeTo4bytes(
int i) → Uint8List - AKA 'ser_32(i)' in the specification
-
sublist(
Uint8List list, int start, int end) → Uint8List
Exceptions / Errors
- InvalidChecksum
- Thrown when deserializing a key with an invalid checksum.
- InvalidChildNumber
- Thrown when trying to derive a public key with a hardened child number.
- InvalidKeyLength
- Thrown when deserializing a key which is not of correct length.
- InvalidPath
- Thrown when trying to derive a child key with a wrong path.
- KeyBiggerThanOrder
- Thrown when a derived key is bigger than the order of the curve.
- KeyInfinite
- Thrown when a derived public key is infinite.
- KeyZero
- Thrown when a derived private key is zero.