/** * PS Lite owner-binding message and signing helpers. * * PS Lite uses this replayable personal-sign message as a wallet-owned input * for opening the user's local encrypted runtime. This is intentionally * separate from Personal Server registration, which is EIP-712 typed data. * * @category Protocol */ import { type Account, type Address, type Hex, type SignableMessage } from "viem"; export declare const PERSONAL_SERVER_LITE_OWNER_BINDING_VERSION = "vana.account.v1"; export declare const PERSONAL_SERVER_LITE_OWNER_BINDING_PURPOSE = "ps-lite-owner"; export declare const PERSONAL_SERVER_LITE_OWNER_BINDING_PREFIX: "vana.account.v1:ps-lite-owner:"; export type PersonalServerLiteOwnerBindingPurpose = typeof PERSONAL_SERVER_LITE_OWNER_BINDING_PURPOSE; export type PersonalServerLiteOwnerBindingMessage = `${typeof PERSONAL_SERVER_LITE_OWNER_BINDING_PREFIX}${Lowercase
}`; export interface PersonalServerLiteOwnerBindingSigner { address: Address; signMessage(input: { message: PersonalServerLiteOwnerBindingMessage; }): Promise | Hex; } export interface ViemPersonalServerLiteOwnerBindingWalletClient { account?: Account | Address | null; signMessage(input: { account?: Account | Address; message: SignableMessage; }): Promise; } export type ViemPersonalServerLiteOwnerBindingSignerSource = PersonalServerLiteOwnerBindingSigner | ViemPersonalServerLiteOwnerBindingWalletClient; export interface BuildPersonalServerLiteOwnerBindingSignatureInput { signer: PersonalServerLiteOwnerBindingSigner; } export interface PersonalServerLiteOwnerBindingSignature { signature: Hex; signerAddress: Address; message: PersonalServerLiteOwnerBindingMessage; purpose: PersonalServerLiteOwnerBindingPurpose; } export declare function buildPersonalServerLiteOwnerBindingMessage(ownerAddress: Address): PersonalServerLiteOwnerBindingMessage; export declare function createViemPersonalServerLiteOwnerBindingSigner(source: ViemPersonalServerLiteOwnerBindingSignerSource, options?: { account?: Account | Address; }): PersonalServerLiteOwnerBindingSigner; export declare function buildPersonalServerLiteOwnerBindingSignature(input: BuildPersonalServerLiteOwnerBindingSignatureInput): Promise; export declare const signPersonalServerLiteOwnerBinding: typeof buildPersonalServerLiteOwnerBindingSignature;