Skip to main content

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


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)

Uploaded Source

Built Distribution

cfx_address-1.2.2-py3-none-any.whl (14.5 kB view details)

Uploaded Python 3

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

Hashes for cfx-address-1.2.2.tar.gz
Algorithm Hash digest
SHA256 c3d6357ee13c4e9a33233589bbf88dde0b9ef38497da699dad9e3fdb05e60664
MD5 db0ff9ea55c87b6c9bb8022823cdb62f
BLAKE2b-256 80981789e7bd13efe6b5942dfae85411e75c1509019ace79e74925e70112846b

See more details on using hashes here.

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

Hashes for cfx_address-1.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 c896e0deb6f5f76bcdea40554948ffaacfd714b9fdfc4dbe3c30ce7021874e4f
MD5 81fbf7748bfc8f11af4ba22076d84721
BLAKE2b-256 87da65a1178d20dcab9a332709bbb705ce95c9bbe685cedf0e2e6b02451e103d

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page