Skip to main content

Module sui::address

use std::ascii;
use std::bcs;
use std::option;
use std::string;
use std::vector;
use sui::hex;

Constants

The length of an address, in bytes

const LENGTH: u64 = 32;
const MAX: u256 = 115792089237316195423570985008687907853269984665640564039457584007913129639935;

Error from from_bytes when it is supplied too many or too few bytes.

const EAddressParseError: u64 = 0;

Function to_u256

Convert a into a u256 by interpreting a as the bytes of a big-endian integer (e.g., to_u256(0x1) == 1)

public fun to_u256(a: address): u256

Function from_u256

Convert n into an address by encoding it as a big-endian integer (e.g., from_u256(1) = @0x1).
Aborts if n > MAX_ADDRESS

public fun from_u256(n: u256): address

Function from_bytes

Convert bytes into an address.
Aborts with EAddressParseError if the length of bytes is not 32

public fun from_bytes(bytes: vector<u8>): address

Function to_bytes

Convert a into BCS-encoded bytes.

public fun to_bytes(a: address): vector<u8>

Function to_ascii_string

Convert a to a hex-encoded ASCII string

public fun to_ascii_string(a: address): std::ascii::String

Function to_string

Convert a to a hex-encoded string

public fun to_string(a: address): std::string::String

Function from_ascii_bytes

Converts an ASCII string to an address, taking the numerical value for each character. The string must be Base16 encoded, and thus exactly 64 characters long.
For example, the string "00000000000000000000000000000000000000000000000000000000DEADB33F" will be converted to the address @0xDEADB33F.
Aborts with EAddressParseError if the length of s is not 64, or if an invalid character is encountered.

public fun from_ascii_bytes(bytes: &vector<u8>): address

Function hex_char_value

fun hex_char_value(c: u8): u8

Function length

Length of a Sui address in bytes

public fun length(): u64

Function max

Largest possible address

public fun max(): u256