|
Nano cryptocurrency C library with P2PoW/DPoW support
1.0.0
|
#include <mbedtls/bignum.h>Go to the source code of this file.
Data Structures | |
| struct | f_bitcoin_serialize_t |
Macros | |
| #define | F_BITCOIN_WIF_MAINNET (uint8_t)0x80 |
| #define | F_BITCOIN_WIF_TESTNET (uint8_t)0xEF |
| #define | F_BITCOIN_P2PKH (uint8_t)0x00 |
| #define | F_BITCOIN_T2PKH (uint8_t)0x6F |
| #define | F_BITCOIN_BUF_SZ (size_t)512 |
| #define | F_MAX_BASE58_LENGTH (size_t)112 |
| #define | F_BITCOIN_SEED_GENERATOR "Bitcoin seed" |
| #define | MAINNET_PUBLIC (size_t)0 |
| #define | MAINNET_PRIVATE (size_t)1 |
| #define | TESTNET_PUBLIC (size_t)2 |
| #define | TESTNET_PRIVATE (size_t)3 |
| #define | F_VERSION_BYTES_IDX_LEN (size_t)(sizeof(F_VERSION_BYTES)/(4*sizeof(uint8_t))) |
| #define | F_XPRIV_BASE58 (int)1 |
| #define | F_XPUB_BASE58 (int)2 |
| #define | DERIVE_XPRIV_XPUB_DYN_OUT_BASE58 (int)8 |
| #define | DERIVE_XPRIV_XPUB_DYN_OUT_XPRIV (int)16 |
| #define | DERIVE_XPRIV_XPUB_DYN_OUT_XPUB (int)32 |
| #define | F_GET_XKEY_IS_BASE58 (int)0x00008000 |
Typedefs | |
| typedef enum error_load_master_key_from_entropy_bits_e | ERROR_LOAD_FROM_MASTER_KEY_FROM_ENTROPY_BITS |
| typedef enum master_key_entropy_bits_e | MASTER_KEY_ENTROPY_BITS |
Enumerations | |
| enum | error_load_master_key_from_entropy_bits_e { ERR_INVALID_ENTROPY_BITS = 20300, ERR_INVALID_VERSION_BYTES, ERR_MASTER_KEY_FROM_ENTROPY_ALLOC } |
| enum | master_key_entropy_bits_e { MK_128 = 16, MK_256 = 32, MK_512 = 64 } |
Functions | |
| struct f_bitcoin_serialize_t | __attribute__ ((packed)) BITCOIN_SERIALIZE |
| int | f_decode_b58_util (uint8_t *, size_t, size_t *, const char *) |
| int | f_encode_b58 (char *, size_t, size_t *, uint8_t *, size_t) |
| int | f_private_key_to_wif (char *, size_t, size_t *, uint8_t, uint8_t *) |
| int | f_wif_to_private_key (uint8_t *, unsigned char *, const char *) |
| int | f_generate_master_key (BITCOIN_SERIALIZE *, size_t, uint32_t) |
| int | f_bitcoin_valid_bip32 (BITCOIN_SERIALIZE *, int *, void *, int) |
| int | f_uncompress_elliptic_curve (uint8_t *, size_t, size_t *, mbedtls_ecp_group_id, uint8_t *, size_t) |
| int | f_bip32_to_public_key_or_private_key (uint8_t *, int *, uint8_t *, uint8_t *, uint8_t *, uint32_t, const void *, int) |
| int | f_public_key_to_address (char *, size_t, size_t *, uint8_t *, uint8_t) |
| int | f_xpriv2xpub (void *, size_t, size_t *, void *, int) |
| int | load_master_private_key (void *, unsigned char *, size_t) |
| int | f_fingerprint (uint8_t *, uint8_t *, uint8_t *) |
| int | f_get_xkey_type (void *) |
| int | f_derive_xpriv_or_xpub_dynamic (void **, uint8_t *, uint32_t *, void *, uint32_t, int) |
| int | f_derive_xkey_dynamic (void **, void *, const char *, int) |
| int | f_check_if_invalid_btc_public_key (uint8_t *) |
| ERROR_LOAD_FROM_MASTER_KEY_FROM_ENTROPY_BITS | f_load_from_master_key_from_entropy_bits (BITCOIN_SERIALIZE *, size_t, const uint8_t *, MASTER_KEY_ENTROPY_BITS) |
Variables | |
| static const uint8_t | F_VERSION_BYTES [][4] |
| uint8_t | version_bytes [4] |
| uint8_t | master_node |
| uint8_t | finger_print [4] |
| uint8_t | child_number [4] |
| uint8_t | chain_code [32] |
| uint8_t | sk_or_pk_data [33] |
| uint8_t | chksum [4] |
| #define DERIVE_XPRIV_XPUB_DYN_OUT_BASE58 (int)8 |
Definition at line 58 of file f_bitcoin.h.
| #define DERIVE_XPRIV_XPUB_DYN_OUT_XPRIV (int)16 |
Definition at line 59 of file f_bitcoin.h.
| #define DERIVE_XPRIV_XPUB_DYN_OUT_XPUB (int)32 |
Definition at line 60 of file f_bitcoin.h.
| #define F_BITCOIN_BUF_SZ (size_t)512 |
Definition at line 7 of file f_bitcoin.h.
| #define F_BITCOIN_P2PKH (uint8_t)0x00 |
Definition at line 5 of file f_bitcoin.h.
| #define F_BITCOIN_SEED_GENERATOR "Bitcoin seed" |
Definition at line 9 of file f_bitcoin.h.
| #define F_BITCOIN_T2PKH (uint8_t)0x6F |
Definition at line 6 of file f_bitcoin.h.
| #define F_BITCOIN_WIF_MAINNET (uint8_t)0x80 |
Definition at line 3 of file f_bitcoin.h.
| #define F_BITCOIN_WIF_TESTNET (uint8_t)0xEF |
Definition at line 4 of file f_bitcoin.h.
| #define F_GET_XKEY_IS_BASE58 (int)0x00008000 |
Definition at line 62 of file f_bitcoin.h.
| #define F_MAX_BASE58_LENGTH (size_t)112 |
Definition at line 8 of file f_bitcoin.h.
| #define F_VERSION_BYTES_IDX_LEN (size_t)(sizeof(F_VERSION_BYTES)/(4*sizeof(uint8_t))) |
Definition at line 22 of file f_bitcoin.h.
| #define F_XPRIV_BASE58 (int)1 |
Definition at line 52 of file f_bitcoin.h.
| #define F_XPUB_BASE58 (int)2 |
Definition at line 53 of file f_bitcoin.h.
| #define MAINNET_PRIVATE (size_t)1 |
Definition at line 12 of file f_bitcoin.h.
| #define MAINNET_PUBLIC (size_t)0 |
Definition at line 11 of file f_bitcoin.h.
| #define TESTNET_PRIVATE (size_t)3 |
Definition at line 14 of file f_bitcoin.h.
| #define TESTNET_PUBLIC (size_t)2 |
Definition at line 13 of file f_bitcoin.h.
| typedef enum master_key_entropy_bits_e MASTER_KEY_ENTROPY_BITS |
| Enumerator | |
|---|---|
| ERR_INVALID_ENTROPY_BITS | |
| ERR_INVALID_VERSION_BYTES | |
| ERR_MASTER_KEY_FROM_ENTROPY_ALLOC | |
Definition at line 68 of file f_bitcoin.h.
| Enumerator | |
|---|---|
| MK_128 | |
| MK_256 | |
| MK_512 | |
Definition at line 74 of file f_bitcoin.h.
| struct f_nano_wallet_info_t __attribute__ | ( | (packed) | ) |
| int f_bip32_to_public_key_or_private_key | ( | uint8_t * | , |
| int * | , | ||
| uint8_t * | , | ||
| uint8_t * | , | ||
| uint8_t * | , | ||
| uint32_t | , | ||
| const void * | , | ||
| int | |||
| ) |
| int f_bitcoin_valid_bip32 | ( | BITCOIN_SERIALIZE * | , |
| int * | , | ||
| void * | , | ||
| int | |||
| ) |
| int f_check_if_invalid_btc_public_key | ( | uint8_t * | ) |
| int f_decode_b58_util | ( | uint8_t * | , |
| size_t | , | ||
| size_t * | , | ||
| const char * | |||
| ) |
| int f_derive_xkey_dynamic | ( | void ** | , |
| void * | , | ||
| const char * | , | ||
| int | |||
| ) |
| int f_derive_xpriv_or_xpub_dynamic | ( | void ** | , |
| uint8_t * | , | ||
| uint32_t * | , | ||
| void * | , | ||
| uint32_t | , | ||
| int | |||
| ) |
| int f_encode_b58 | ( | char * | , |
| size_t | , | ||
| size_t * | , | ||
| uint8_t * | , | ||
| size_t | |||
| ) |
| int f_fingerprint | ( | uint8_t * | , |
| uint8_t * | , | ||
| uint8_t * | |||
| ) |
| int f_generate_master_key | ( | BITCOIN_SERIALIZE * | , |
| size_t | , | ||
| uint32_t | |||
| ) |
| int f_get_xkey_type | ( | void * | ) |
| ERROR_LOAD_FROM_MASTER_KEY_FROM_ENTROPY_BITS f_load_from_master_key_from_entropy_bits | ( | BITCOIN_SERIALIZE * | , |
| size_t | , | ||
| const uint8_t * | , | ||
| MASTER_KEY_ENTROPY_BITS | |||
| ) |
| int f_private_key_to_wif | ( | char * | , |
| size_t | , | ||
| size_t * | , | ||
| uint8_t | , | ||
| uint8_t * | |||
| ) |
| int f_public_key_to_address | ( | char * | , |
| size_t | , | ||
| size_t * | , | ||
| uint8_t * | , | ||
| uint8_t | |||
| ) |
| int f_uncompress_elliptic_curve | ( | uint8_t * | , |
| size_t | , | ||
| size_t * | , | ||
| mbedtls_ecp_group_id | , | ||
| uint8_t * | , | ||
| size_t | |||
| ) |
| int f_wif_to_private_key | ( | uint8_t * | , |
| unsigned char * | , | ||
| const char * | |||
| ) |
| int f_xpriv2xpub | ( | void * | , |
| size_t | , | ||
| size_t * | , | ||
| void * | , | ||
| int | |||
| ) |
| int load_master_private_key | ( | void * | , |
| unsigned char * | , | ||
| size_t | |||
| ) |
| uint8_t chain_code[32] |
Definition at line 21 of file f_bitcoin.h.
| uint8_t child_number[4] |
Definition at line 20 of file f_bitcoin.h.
| uint8_t chksum[4] |
Definition at line 23 of file f_bitcoin.h.
|
static |
Definition at line 16 of file f_bitcoin.h.
| uint8_t finger_print[4] |
Definition at line 19 of file f_bitcoin.h.
| uint8_t master_node |
Definition at line 18 of file f_bitcoin.h.
| uint8_t sk_or_pk_data[33] |
Definition at line 22 of file f_bitcoin.h.
| uint8_t version_bytes[4] |
Definition at line 17 of file f_bitcoin.h.