Soran class does is a read-only Soroban RPC simulation. The SDK builds no write transactions — writes (registering, issuing, reverse records, primaries) are address-authorized transactions built and signed by wallets.
Constructor
Resolution
Identity & enumeration
All 0.4.0 additions — see Identity & enumeration for the trust model of each.Reverse and primary
Namespace-level reads
Hashing
The exact on-chain hashing, exposed for interoperability:Exported helpers and types
parseName
label.namespace; throws SoranError unless both parts are canonical labels ([a-z0-9-], 1–63 chars, no leading or trailing hyphen). The same label validation every name-taking SDK method applies to its input. (Methods taking a bare namespace validate the single label the same way; malformed addresses return null/false rather than throwing.)
SoranError
null return always means a successful read that found nothing. Branch on code, not on message text.
NameRecord
NameAssurance
NameDetails / NamespaceDetails
Thedetails() aggregate: name-level { name, node, address, resolver, holder, expiresAt, generation } (holder is non-null even for an expired name — check expiresAt, where 0n = never expires and null = never issued) plus namespace: { namespace, owner, registrar, resolver, permanent, policy } and the assurance verdict. All live chain reads; nothing indexed.
DEPLOYMENTS
The known public deployment presets (testnet today; mainnet at launch), exported so you can read the exact ids the SDK uses — see installation.