interface RequestParams {
chainId: string;
nonce: string;
aud?: string;
nbf?: string;
exp?: string;
statement?: string;
requestId?: string;
resources?: string[];
}interface RespondParams {
topic: string;
signature: CacaoSignature;
}Used for requester to authenticate wallet
interface AuthPayloadParams {
type: string; // same as Cacao Header type (t)
chainId: string;
domain: string;
aud: string;
version: string;
nonce: string;
iat: string;
nbf?: string;
exp?: string;
statement?: string;
requestId?: string;
resources?: string[];
}interface CacaoHeader {
t: string;
}interface CacaoPayload {
iss: string;
domain: string;
aud: string;
version: string;
nonce: string;
iat: string;
nbf?: string;
exp?: string;
statement?: string;
requestId?: string;
resources?: string[];
}interface CacaoSignature {
t: string;
s: string;
m?: string;
}interface Cacao {
header: CacaoHeader;
payload: CacaoPayload;
signature: CacaoSignature;
}