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.4.tar.gz
(14.4 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file cfx_address-1.2.4.tar.gz.
File metadata
- Download URL: cfx_address-1.2.4.tar.gz
- Upload date:
- Size: 14.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7fd3e1154ed922117305c14eb2157e2f3cfb36b73403671e32840836f25f6526
|
|
| MD5 |
0d4bb883116fe9b172fe11aea70e1d91
|
|
| BLAKE2b-256 |
056a140ae9a62b3b9f7dfb06d8625466374f23cf3c038cd815b492c09ad2784b
|
File details
Details for the file cfx_address-1.2.4-py3-none-any.whl.
File metadata
- Download URL: cfx_address-1.2.4-py3-none-any.whl
- Upload date:
- Size: 14.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7aeeb7963edca6e65f8586c7187a1159a8f61fd8d7a156d80cc5351bcc509ab3
|
|
| MD5 |
2c5b6bc964e9ee81f5d6e101d5c7226f
|
|
| BLAKE2b-256 |
88f15620114f0b920027982bfc0d15b00f82765238bc8bc38c818c14c685b2cb
|