Skip to main content

Type Alias: Address

type Address = string & object;

Defined in: packages/overcast-core/src/types/index.ts:154

An address in one settlement layer's own string encoding — a base58 pubkey on Solana, a checksummed 0x… address on an EVM chain.

This is a display and input type, not core's working representation. It appears in exactly two places: the curated shapes a UI or an HTTP consumer reads (assets/index.ts), and OvercastUtils, which is the only thing that produces or consumes one. Everything core hashes, signs, indexes, stores or filters is Bytes32 instead.

It is deliberately overloaded across layers: the type cannot tell a Solana pubkey from an EVM address, and it does not need to, because the layers never meet — a Solana app is only ever handed Solana addresses. What makes that safe is that a layer parses every address reaching it rather than trusting it, which is why OvercastUtils.parseAddress exists and throws.

Structurally just string, so any string literal or string variable is assignable and callers pass addresses around unceremoniously. The one thing it rejects is a Hex / Bytes32.

Type Declaration

__encoding?

readonly optional __encoding?: "address";