Summary
The requestSessionKey example in the Quick Start guide uses field names that don't exist on the real SessionKeyPolicy type.
Evidence
Doc example passes { allowlist, methods, maxAmount, durationSeconds }. Real type (packages/types/src/session-key-policy.ts) is { expiresAt: number, permissions: number, allowedContracts?: string[], maxAmountPerCall?: string } — none of the field names match, and durationSeconds doesn't exist at all (needs an absolute expiresAt timestamp instead).
Why it matters
Same Quick Start flow; this example would fail type-checking or silently no-op every field if copy-pasted as JS.
Suggested fix
Rewrite the code block to use the real field names from SessionKeyPolicy.
Summary
The
requestSessionKeyexample in the Quick Start guide uses field names that don't exist on the realSessionKeyPolicytype.Evidence
Doc example passes
{ allowlist, methods, maxAmount, durationSeconds }. Real type (packages/types/src/session-key-policy.ts) is{ expiresAt: number, permissions: number, allowedContracts?: string[], maxAmountPerCall?: string }— none of the field names match, anddurationSecondsdoesn't exist at all (needs an absoluteexpiresAttimestamp instead).Why it matters
Same Quick Start flow; this example would fail type-checking or silently no-op every field if copy-pasted as JS.
Suggested fix
Rewrite the code block to use the real field names from
SessionKeyPolicy.