Skip to content

restoreSessionAccount

restoreSessionAccount(params): Promise<CreateKernelAccountReturnType<"0.7">>

Defined in: src/session/restore.ts:84

Rebuilds the Kernel account from an envelope + the session-key signer.

Parameters

params

RestoreSessionAccountParams

Returns

Promise<CreateKernelAccountReturnType<"0.7">>

Throws

If envelope.kawasekitVersion does not match the current envelope version.

Throws

If envelope.chainId !== publicClient.chain.id.

Throws

If sessionKeySigner.address !== envelope.sessionKeyAddress.

Example

import { createPublicClient, http } from "viem";
import { privateKeyToAccount } from "viem/accounts";
import {
parseSessionEnvelope,
polygonAmoy,
restoreSessionAccount,
} from "kawasekit";
const publicClient = createPublicClient({
chain: polygonAmoy,
transport: http(),
});
const envelope = parseSessionEnvelope(fs.readFileSync("agent.session", "utf8"));
const sessionKey = privateKeyToAccount(process.env.SESSION_KEY_PRIVATE_KEY as `0x${string}`);
const account = await restoreSessionAccount({
publicClient,
envelope,
sessionKeySigner: sessionKey,
});