No project description provided
Project description
cfx-address
Conflux base32 address utilities
Full documentation -> https://conflux-fans.github.io/cfx-address/cfx_address.html#module-cfx_address
installation
pip install cfx-address
use Base32Address class methods
from cfx_address import Base32Address
validate a base32 address
Base32Address.is_valid_base32("0x1ecde7223747601823f7535d7968ba98b4881e09")
# False
Base32Address.validate("0x1ecde7223747601823f7535d7968ba98b4881e09")
# will raise an exception
encode and decode
# encode hex address to base32
Base32Address.encode_base32("0x1ecde7223747601823f7535d7968ba98b4881e09", network_id=1)
#'cfxtest:aatp533cg7d0agbd87kz48nj1mpnkca8be1rz695j4'
# decode base32 address
Base32Address.decode("cfxtest:aatp533cg7d0agbd87kz48nj1mpnkca8be1rz695j4")
# result:
# {'network_id': 1,
# 'hex_address': '0x1ecde7223747601823f7535d7968ba98b4881e09',
# 'address_type': 'user'}
utilities
address_str = "cfxtest:aatp533cg7d0agbd87kz48nj1mpnkca8be1rz695j4"
address_verbose_str = "CFXTEST:TYPE.USER:AATP533CG7D0AGBD87KZ48NJ1MPNKCA8BE1RZ695J4"
assert Base32Address.equals(address_str, address_verbose_str)
Base32Address.calculate_mapped_evm_space_address(address_str)
Base32Address.zero_address(network_id=1)
Base32Address.shorten_base32_address(address_str)
Base32Address instances
instance initialization
address = Base32Address("cfxtest:aatp533cg7d0agbd87kz48nj1mpnkca8be1rz695j4")
# 'cfxtest:aatp533cg7d0agbd87kz48nj1mpnkca8be1rz695j4'
# Base32Address inherits from str
assert isinstance(address, str)
# init from hex address, in which case network_id is required
Base32Address("0x1ecde7223747601823f7535d7968ba98b4881e09", network_id=1029)
# 'cfx:aatp533cg7d0agbd87kz48nj1mpnkca8be7ggp3vpu'
# change a base32 address to other network
Base32Address(address, network_id=1029)
# 'cfx:aatp533cg7d0agbd87kz48nj1mpnkca8be7ggp3vpu'
# verbose option defaults to False
Base32Address(address, verbose=True)
# 'CFXTEST:TYPE.USER:AATP533CG7D0AGBD87KZ48NJ1MPNKCA8BE1RZ695J4'
eq and properties
# __eq__ is implemented, address in same network is treated equal
assert address == "cfxtest:aatp533cg7d0agbd87kz48nj1mpnkca8be1rz695j4"
assert address == "CFXTEST:TYPE.USER:AATP533CG7D0AGBD87KZ48NJ1MPNKCA8BE1RZ695J4"
assert "CFXTEST:TYPE.USER:AATP533CG7D0AGBD87KZ48NJ1MPNKCA8BE1RZ695J4" == address
assert "cfxtest:aatp533cg7d0agbd87kz48nj1mpnkca8be1rz695j4" == address
# address in different network is not equal
mainnet_address = Base32Address(address, 1029)
assert mainnet_address == "cfx:aatp533cg7d0agbd87kz48nj1mpnkca8be7ggp3vpu"
assert not address == mainnet_address
# properties
[
address.address_type,
address.network_id,
address.hex_address,
address.verbose_address,
address.short,
address.mapped_evm_space_address
]
# ['user',
# 1,
# '0x1ECdE7223747601823f7535d7968Ba98b4881E09',
# 'CFXTEST:TYPE.USER:AATP533CG7D0AGBD87KZ48NJ1MPNKCA8BE1RZ695J4',
# 'cfxtest:aat...95j4',
# '0x349f086998cF4a0C5a00b853a0E93239D81A97f6',
# ]
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
cfx-address-1.2.2.tar.gz
(14.0 kB
view details)
Built Distribution
File details
Details for the file cfx-address-1.2.2.tar.gz
.
File metadata
- Download URL: cfx-address-1.2.2.tar.gz
- Upload date:
- Size: 14.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.8.18
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c3d6357ee13c4e9a33233589bbf88dde0b9ef38497da699dad9e3fdb05e60664 |
|
MD5 | db0ff9ea55c87b6c9bb8022823cdb62f |
|
BLAKE2b-256 | 80981789e7bd13efe6b5942dfae85411e75c1509019ace79e74925e70112846b |
File details
Details for the file cfx_address-1.2.2-py3-none-any.whl
.
File metadata
- Download URL: cfx_address-1.2.2-py3-none-any.whl
- Upload date:
- Size: 14.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.8.18
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c896e0deb6f5f76bcdea40554948ffaacfd714b9fdfc4dbe3c30ce7021874e4f |
|
MD5 | 81fbf7748bfc8f11af4ba22076d84721 |
|
BLAKE2b-256 | 87da65a1178d20dcab9a332709bbb705ce95c9bbe685cedf0e2e6b02451e103d |