XRPL Address Codec

Functions for encoding and decoding XRP Ledger addresses and seeds.

exception xrpl.core.addresscodec.XRPLAddressCodecException

Bases: xrpl.constants.XRPLException

General XRPL Address Codec Exception.

xrpl.core.addresscodec.classic_address_to_xaddress(classic_address: str, tag: Optional[int], is_test_network: bool)str

Returns the X-Address representation of the data.

Parameters
  • classic_address – The base58 encoding of the classic address.

  • tag – The destination tag.

  • is_test_network – Whether it is the test network or the main network.

Returns

The X-Address representation of the data.

Raises

XRPLAddressCodecException – If the classic address does not have enough bytes or the tag is invalid.

xrpl.core.addresscodec.decode_account_public_key(account_public_key: str)bytes

Returns the decoded bytes of the account public key.

Parameters

account_public_key – Account public key to be decoded.

Returns

The decoded bytes of the account public key.

xrpl.core.addresscodec.decode_classic_address(classic_address: str)bytes

Returns the decoded bytes of the classic address.

Parameters

classic_address – Classic address to be decoded.

Returns

The decoded bytes of the classic address.

xrpl.core.addresscodec.decode_node_public_key(node_public_key: str)bytes

Returns the decoded bytes of the node public key

Parameters

node_public_key – Node public key to be decoded.

Returns

The decoded bytes of the node public key.

xrpl.core.addresscodec.decode_seed(seed: str)Tuple[bytes, xrpl.constants.CryptoAlgorithm]

Returns (decoded seed, its algorithm).

Parameters

seed – b58 encoding of a seed.

Returns

(decoded seed, its algorithm).

Raises

XRPLAddressCodecException – If the seed is invalid.

xrpl.core.addresscodec.encode_account_public_key(bytestring: bytes)str

Returns the account public key encoding of these bytes as a base58 string.

Parameters

bytestring – Bytes to be encoded.

Returns

The account public key encoding of these bytes as a base58 string.

xrpl.core.addresscodec.encode_classic_address(bytestring: bytes)str

Returns the classic address encoding of these bytes as a base58 string.

Parameters

bytestring – Bytes to be encoded.

Returns

The classic address encoding of these bytes as a base58 string.

xrpl.core.addresscodec.encode_node_public_key(bytestring: bytes)str

Returns the node public key encoding of these bytes as a base58 string.

Parameters

bytestring – Bytes to be encoded.

Returns

The node public key encoding of these bytes as a base58 string.

xrpl.core.addresscodec.encode_seed(entropy: bytes, encoding_type: xrpl.constants.CryptoAlgorithm)str

Returns an encoded seed.

Parameters
  • entropy – Entropy bytes of SEED_LENGTH.

  • encoding_type – Either ED25519 or SECP256K1.

Returns

An encoded seed.

Raises

XRPLAddressCodecException – If entropy is not of length SEED_LENGTH or the encoding type is not one of CryptoAlgorithm.

xrpl.core.addresscodec.is_valid_classic_address(classic_address: str)bool

Returns whether classic_address is a valid classic address.

Parameters

classic_address – The classic address to validate.

Returns

Whether classic_address is a valid classic address.

xrpl.core.addresscodec.is_valid_xaddress(xaddress: str)bool

Returns whether xaddress is a valid X-Address.

Parameters

xaddress – The X-Address to check for validity.

Returns

Whether xaddress is a valid X-Address.

xrpl.core.addresscodec.xaddress_to_classic_address(xaddress: str)Tuple[str, Optional[int], bool]

Returns a tuple containing the classic address, tag, and whether the address is on a test network for an X-Address.

Parameters

xaddress – base58-encoded X-Address.

Returns

classic_address: the base58 classic address tag: the destination tag is_test_network: whether the address is on the test network (or main)

Return type

A tuple containing