XRPL Address Codec

Functions for encoding and decoding XRP Ledger addresses and seeds.

exception xrpl.core.addresscodec.XRPLAddressCodecException

Bases: XRPLException

General XRPL Address Codec Exception.

xrpl.core.addresscodec.classic_address_to_xaddress(classic_address: str, tag: int | None, 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, algorithm: CryptoAlgorithm | None = None) Tuple[bytes, CryptoAlgorithm]

Returns (decoded seed, its algorithm).

Parameters:
  • seed – The b58 encoding of a seed.

  • algorithm – The encoding algorithm. Inferred from the seed if not included.

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: 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.ensure_classic_address(account: str) str

If an address is an X-Address, converts it to a classic address.

Parameters:

account – A classic address or X-address.

Returns:

The account’s classic address

Raises:

XRPLAddressCodecException – if the X-Address has an associated tag.

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, int | None, 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