Skip to main content
export interface SessionResp {
  allowed: boolean;
  expiry: number;
  country: string;
  wallet: string;
}

export type ProviderAdapter =
  | {
      name: "privy";
      getToken: () => Promise<string | null | undefined>;
      appId: string;
    }
  | {
      name: "dynamic";
      getToken: () => Promise<string | null | undefined>;
      envId: string;
    }
  | {
      name: "custom";
      getToken: () => Promise<string | null | undefined>;
      meta: any;
    };

export type Proof =
  | {
      method: "provider_jwt";
      issuer: "privy" | "dynamic" | "custom";
      token: string;
      meta?: any;
    }
  | { method: "siwe"; message: string; signature: string }
  | { method: "eip191"; message: string; signature: string }
  | { method: "ed25519"; messageBase64: string; signatureBase64: string };