internal/waas library

Classes

BusinessAccountApprovalRequirement
Approval progress for one governance rule.
BusinessAccountCountryCode
ISO country code and phone dialing code.
BusinessAccountTargetIdentity
Supply userId or an identifier and identifierType.
SignedBusinessAccountIntent
An original intent and its session-key signature.
SponsorSvmTransactionResponse
A sponsored Solana transaction and its backend request ID.
WaasBackupKeySharesPayload
backupKeySharesToGoogleDrive's payload.
WaasBusinessAccountLinkResponse
The linked business-account ID.
WaasBusinessAccountSignerPayload
Signer resharing arguments for the WaaS page.
WaasBusinessAccountSignerResponse
A created share set or a pending signer action from the WaaS page.
WaasBusinessAccountWalletPayload
Business-account wallet creation arguments for the WaaS page.
WaasClient
Embedded wallets (WaaS): MPC wallet creation and signing through the injected WaasEngine (hidden-webview reference implementation). Wallet enumeration: filter user.verifiedCredentials by walletProvider == embeddedWallet. Implemented by WaasClientImpl; hosts can substitute this interface in tests.
WaasClientImpl
Embedded wallets (WaaS): MPC wallet creation and signing through the injected WaasEngine (hidden-webview reference implementation). Wallet enumeration: filter user.verifiedCredentials by walletProvider == embeddedWallet. Instances share the root client's state. NOTE: not yet thread-safe.
WaasCreatedWallet
Result of a WaaS MPC key generation.
WaasCreateOfflineRecoverySharesPayload
createOfflineRecoveryShares' payload: mints a second, independent 2-of-2 offline-recovery share set — the client half uploads to Google Drive, the server half to the developer's webhook.
WaasCreateWalletPayload
createWalletAccount's payload: runs the 2-of-2 ceremony for a new wallet on chainName.
WaasDelegateKeySharesPayload
delegateKeyShares' payload: mints a new, server-managed share set and delegates signing authority to it, optionally seeding its policy layer.
WaasEip7702Auth
EIP-7702 context passed to the WaaS raw-message ceremony.
WaasExtension
Registers WaasClientImpl on the root client. Access it through client.waas.
WaasImportPrivateKeyPayload
importPrivateKey's payload — createWalletAccount's mirror image: the same ceremony, from a key the caller already has.
WaasOptions
Optional WaaS security configuration, passed to UseWaas/useWaas at install time. Native-side only: never sent over the wire, never read by any flow — each platform host reads it directly when constructing its WaaS engine.
WaasPolicyLayerContent
A policy-Layer's decrypted, mutated rule set.
WaasPolicyLayerResponse
A wallet-, signer-, or account-policy-Layer, as it stands right after a read or an upsert.
WaasPolicyRule
One rule on a wallet-, signer-, or account-policy-Layer (dynamic-labs sdk-api-core's WaasPolicyRule) — shared verbatim by request and response bodies (the response's own WaasPolicyLayerResponseRule differs only in making ruleId required, not worth splitting into a second model here). Omit ruleId to create a new rule (the enclave mints one); pass an existing id to update it in place. Deliberately does NOT model contractAbi (Array
WaasPolicyRuleOperationRestrictions
Operation-level restrictions carried on a WaasPolicyRule — wallet-wide, independent of the rule's own chain/chainIds scope.
WaasPolicyRuleValueLimit
Value cap carried on a WaasPolicyRule. asset omitted means the native asset of the rule's own chain; maxPerCall/totalLimit are decimal strings (smallest unit, e.g. wei) — same convention as every other on-chain amount in this DSL, to survive round-tripping without precision loss.
WaasRefreshWalletAccountSharesPayload
refreshWalletAccountShares' payload: reshares the client key share in place (same threshold signature scheme, new share material) without changing the share set's identity or role.
WaasRevokeDelegationPayload
revokeDelegation's payload: returns sole signing authority to the client.
WaasSetPasswordPayload
setPassword's payload: encrypts the key share for the first time.
WaasSignMessageContext
Chain-specific context for a WaaS raw-message ceremony.
WaasSignMessagePayload
signMessage's payload. The page reads the client key share back over the reverse channel.
WaasSignRawMessagePayload
Raw digest signing payload used for an EIP-7702 authorization.
WaasSignTransactionPayload
signTransaction's payload. Note senderAddress: this one call names the signing address differently from every other, and that is the page's own spelling.
WaasState
Waas-owned session state (see ClientState for the shared core equivalent).
WaasUnlockWalletPayload
unlockWallet's payload: hands the page the password its key share is encrypted with.
WaasUpdatePasswordPayload
updatePassword's payload: re-encrypts the key share, so it needs both passwords.
WaasWalletAccountShareSets
getWalletAccountShareSets' result: this wallet account's own share set (absent for a non-WaaS wallet or one that carries no share-set data) and every other active share set on the same wallet. No network request — read straight off the already-fetched VerifiedCredential.
WaasWalletRecoveryStatePayload
getWalletRecoveryState's payload: asks the page what a wallet still needs before it can sign.
WalletRecoveryState
Whether an embedded wallet's client key share is password-encrypted at rest and, if so, whether this session still needs unlockWallet(...) before signing will succeed. walletReadyState: 'ready' | 'encrypted'.

Enums

WaasLockPolicy
Post-ceremony locking policy for create, import, and signing operations. Excludes unlock and password changes. Set once through WaasOptions at installation, not per call.

Extensions

DynamicClientWaas on DynamicClient
Convenience accessor: fetches the installed WaasClientImpl. Throws a clear error instead of a raw getExtension
WaasBuilder on DynamicClient
Installs Waas and returns the client for chaining.