cryptnox_cli.wallet package

Subpackages

Submodules

cryptnox_cli.wallet.btc module

A basic BTC wallet library

class cryptnox_cli.wallet.btc.BtcNetworks(*values)[source]

Bases: Enum

Class defining possible Bitcoin networks

MAINNET = 'mainnet'
TESTNET = 'testnet'
class cryptnox_cli.wallet.btc.BlockCypherApi[source]

Bases: object

__init__(api_key, network)[source]
get_data(endpoint: str, params: Dict = None, data: bytes = None) None[source]
Return type:

None

Parameters:
  • endpoint – str

  • params – dict

  • data – bytes

check_api_resp() None[source]
Return type:

None

get_utx_os(addr: str, n_conf) List[source]
Parameters:
  • addr – str

  • n_conf – int (0 or 1)

Returns:

List

push_tx(tx_hex: str) Dict[source]
Parameters:

tx_hex

Returns:

str

get_key(key_char: str) Dict[source]

:param key_char:str :return: Dict

class cryptnox_cli.wallet.btc.BlkHubApi[source]

Bases: object

__init__(network)[source]
static get_api(network: str) str[source]

Get API url for given network

Parameters:

network (str)

Returns:

API url

Return type:

str

get_data(endpoint: str, params: Dict = None, data: bytes = None) None[source]
Parameters:
  • endpoint – str

  • params – dict

  • data – bytes

Returns:

None

check_api_resp() None[source]
Return type:

None

get_fee_estimates(blocks=6) int[source]
get_utx_os(addr: str, _n_conf: int) List[source]

:param addr:str :param int _n_conf: 0 or 1 :return: list

push_tx(tx_hex: str) List[source]
Parameters:

tx_hex – str

Returns:

List

get_key(key_char: str) List[source]
Parameters:

key_char – str

Returns:

list

cryptnox_cli.wallet.btc.test_addr(btc_addr: str)[source]
Parameters:

btc_addr – str

Returns:

class cryptnox_cli.wallet.btc.BTCwallet[source]

Bases: object

Parameters:
  • pubkey – str

  • coin_type – str

  • api

  • connection

PATH = "m/44'/0'/0'/0/0"
__init__(pubkey: str, coin_type: str, api, card) None[source]
Parameters:
  • pubkey – str

  • coin_type – str

  • api

  • connection

get_utx_os(n_conf: int = 0)[source]
Parameters:

n_conf – int (0 or 1)

Returns:

get_balance() float[source]
Returns:

float

get_fee_estimate()[source]
prepare(to_addr: str, payment_value: float, fee: float) float | int[source]
Parameters:
  • to_addr – str

  • payment_value – float

  • fee – float

Returns:

Union[float, int]

send(to_addr: str, payment_value: float, signature: List[bytes]) str[source]
Parameters:
  • to_addr – str

  • payment_value – float

Returns:

str

static balance_fm_utxos(utxos) float[source]
Parameters:

utxos

Returns:

float

static select_utxos(amount: float, utxos) List[source]
Parameters:
  • amount – float

  • utxos

Returns:

float

class cryptnox_cli.wallet.btc.BtcValidator(network: str = 'testnet', fees: int = 2000, derivation: str = 'DERIVE')[source]

Bases: object

Class defining Bitcoin validators

__init__(network: str = 'testnet', fees: int = 2000, derivation: str = 'DERIVE')[source]
network

Class for validating if value is part of the enum

fees

Class for validating if value is integer

derivation

Class for validating if value is part of the enum

cryptnox_cli.wallet.validators module

Module for defining validators

exception cryptnox_cli.wallet.validators.ValidationError[source]

Bases: Exception

Exception for indicating that validation criteria are not met

class cryptnox_cli.wallet.validators.Validator(valid_values: str = None)[source]

Bases: ABC

Validator class defining setters and getters

__init__(valid_values: str = None)[source]
abstractmethod validate(value)[source]
Parameters:

value – Evaluated value

Returns:

None

Raises:

ValidationError – Validation criteria not satisfied

class cryptnox_cli.wallet.validators.AnyValidator(valid_values: str = None)[source]

Bases: Validator

validate(value)[source]
Parameters:

value – Evaluated value

Returns:

None

Raises:

ValidationError – Validation criteria not satisfied

class cryptnox_cli.wallet.validators.IntValidator(max_value: int = None, min_value: int = None)[source]

Bases: Validator

Class for validating if value is integer

__init__(max_value: int = None, min_value: int = None)[source]
validate(value) int[source]
Parameters:

value – Evaluated value

Returns:

None

Raises:

ValidationError – Validation criteria not satisfied

class cryptnox_cli.wallet.validators.EnumValidator(current_enum)[source]

Bases: Validator

Class for validating if value is part of the enum

__init__(current_enum)[source]
validate(value) None[source]
Parameters:

value – Evaluated value

Returns:

None

Raises:

ValidationError – Validation criteria not satisfied

class cryptnox_cli.wallet.validators.UrlValidator(valid_values: str = None)[source]

Bases: Validator

Class for validating URLs

validate(value: str) str[source]
Parameters:

value – Evaluated value

Returns:

None

Raises:

ValidationError – Validation criteria not satisfied

cryptnox_cli.wallet.validators.is_int(value: Any) bool[source]

Module contents

The cryptnox_cli.wallet package provides wallet functionality for various cryptocurrencies. It includes Bitcoin wallet operations, Ethereum wallet utilities, and validation functions.