cryptnoxpro.wallet package

Subpackages

Submodules

cryptnoxpro.wallet.btc module

A basic BTC wallet library

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

Bases: Enum

Class defining possible Bitcoin networks

MAINNET = 'mainnet'
TESTNET = 'testnet'
class cryptnoxpro.wallet.btc.BlockCypherApi(api_key, network)[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 cryptnoxpro.wallet.btc.BlkHubApi(network)[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

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

btc_addr – str

Returns:

class cryptnoxpro.wallet.btc.BTCwallet(pubkey: str, coin_type: str, api, card)[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 cryptnoxpro.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

cryptnoxpro.wallet.validators module

Module for defining validators

exception cryptnoxpro.wallet.validators.ValidationError[source]

Bases: Exception

Exception for indicating that validation criteria are not met

class cryptnoxpro.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 cryptnoxpro.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 cryptnoxpro.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 cryptnoxpro.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 cryptnoxpro.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

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

Module contents

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