cryptnoxpro.wallet.eth package
Submodules
cryptnoxpro.wallet.eth.api module
A basic Ethereum wallet library
- class cryptnoxpro.wallet.eth.api.Api(endpoint: str, network: EthNetwork | str, api_key: str)[source]
Bases:
object- PATH = "m/44'/60'/0'/0/0"
- SYMBOL = 'eth'
- __init__(endpoint: str, network: EthNetwork | str, api_key: str)[source]
- property block_number
- property gas_price
- property network
- class cryptnoxpro.wallet.eth.api.EthValidator(endpoint: str = 'publicnode', network: str = 'sepolia', price: int = 8, limit: int = 2500, derivation: str = 'DERIVE', api_key='')[source]
Bases:
objectClass defining Ethereum validators
- __init__(endpoint: str = 'publicnode', network: str = 'sepolia', price: int = 8, limit: int = 2500, derivation: str = 'DERIVE', api_key='')[source]
- endpoint
Validator to validate endpoints for the Ethereum network
- network
Class for validating if value is part of the enum
- price
Class for validating if value is integer
- limit
Class for validating if value is integer
- derivation
Class for validating if value is part of the enum
- api_key
cryptnoxpro.wallet.eth.endpoint module
Module for endpoints that can be used for working with the Ethereum network
- class cryptnoxpro.wallet.eth.endpoint.EndpointValidator(valid_values: str = None)[source]
Bases:
ValidatorValidator to validate endpoints for the Ethereum network
- validate(value)[source]
- Parameters:
value – Evaluated value
- Returns:
None
- Raises:
ValidationError – Validation criteria not satisfied
- class cryptnoxpro.wallet.eth.endpoint.Endpoint(network: EthNetwork, api_key: str = '')[source]
Bases:
objectAbstract base class for interface for endpoint implementations
- __init__(network: EthNetwork, api_key: str = '')[source]
- abstract property available_networks: List[EthNetwork]
Ethereum networks handled by the endpoint implementation :rtype: List[enums.EthNetwork]
- Type:
return
- abstract property domain: str
Domain that is used by the endpoint implementation :rtype: str
- Type:
return
- abstract property name: str
Name of the endpoint implementation :rtype: str
- Type:
return
- abstract property provider: str
Full URL that can be used as Web3 provider :rtype: str
- Type:
return
- class cryptnoxpro.wallet.eth.endpoint.InfuraEndpoint(network: EthNetwork, api_key: str = '')[source]
Bases:
EndpointImplementation of the Infura endpoint
- name = 'infura'
- available_networks = ['MAINNET', 'KOVAN', 'GOERLI', 'RINKEBY', 'SEPOLIA']
- __init__(network: EthNetwork, api_key: str = '')[source]
- property domain: str
Domain that is used by the endpoint implementation :rtype: str
- Type:
return
- property provider: str
Full URL that can be used as Web3 provider :rtype: str
- Type:
return
- class cryptnoxpro.wallet.eth.endpoint.CryptnoxEndpoint(network: EthNetwork, api_key: str = '')[source]
Bases:
EndpointImplementation of the Cryptnox endpoint
- name = 'cryptnox'
- available_networks = ['MAINNET', 'SEPOLIA']
- property domain: str
Domain that is used by the endpoint implementation :rtype: str
- Type:
return
- property provider: str
Full URL that can be used as Web3 provider :rtype: str
- Type:
return
- class cryptnoxpro.wallet.eth.endpoint.PublicNodeEndpoint(network: EthNetwork, api_key: str = '')[source]
Bases:
EndpointImplementation of the PublicNode public RPC endpoint (free, no API key required)
- name = 'publicnode'
- available_networks = ['MAINNET', 'SEPOLIA']
- property domain: str
Domain that is used by the endpoint implementation :rtype: str
- Type:
return
- property provider: str
Full URL that can be used as Web3 provider :rtype: str
- Type:
return
- class cryptnoxpro.wallet.eth.endpoint.DirectEndpoint(url: str, network: EthNetwork)[source]
Bases:
object- __init__(url: str, network: EthNetwork)[source]
- property provider: str
- cryptnoxpro.wallet.eth.endpoint.factory(endpoint: str, network: EthNetwork, api_key: str = '') Endpoint[source]
Factory method for Endpoint instances
- Parameters:
endpoint – Name of the endpoint to use
network – Ethereum network to use
api_key – API key to use on the endpoint
- Type:
str
- Type:
- Type:
str
- Returns:
Return an Endpoint instance that can be used to get the urls
- Return type:
- Raises:
ValueError – In case endpoint with endpoint name wasn’t found
Module contents
Ethereum wallet utilities - aggregates and re-exports API components for easier imports.
The cryptnoxpro.wallet.eth package provides Ethereum wallet utilities and exports:
- cryptnoxpro.wallet.eth.address(public_key)[source]
Generate an Ethereum address from a public key. See
cryptnoxpro.wallet.eth.api.address()for details.
- class cryptnoxpro.wallet.eth.Api[source]
Ethereum API interface. See
cryptnoxpro.wallet.eth.api.Apifor details.
- cryptnoxpro.wallet.eth.checksum_address(address_str)[source]
Convert an address to checksummed format. See
cryptnoxpro.wallet.eth.api.checksum_address()for details.
- class cryptnoxpro.wallet.eth.EthValidator[source]
Ethereum address and transaction validator. See
cryptnoxpro.wallet.eth.api.EthValidatorfor details.