UNPKG

@trilitech-umami/umami-embed

Version:

[WIP - not ready for production use] A simple embeddable Umami wallet

80 lines (79 loc) 2.52 kB
import { type PartialTezosOperation, type SigningType } from "@airgap/beacon-types"; export type LogsLevel = "none" | "info" | "warn" | "error"; export type Theme = "light" | "dark"; export type UmamiEmbedConfig = UmamiIframeConfig & { iframeParent?: HTMLElement; useLocalEmbedIframe?: boolean; }; export type UmamiIframeConfig = { network: Network; loginOptions?: TypeOfLogin[]; theme?: Theme; logsLevel?: LogsLevel; }; export type Network = "mainnet" | "ghostnet"; export type TypeOfLogin = "google" | "reddit" | "twitter" | "facebook"; export type UserData = { pk: string; pkh: string; typeOfLogin: TypeOfLogin; id: string; name?: string; emailAddress?: string; imageUrl?: string; }; export type RequestType = "config_request" | "login_request" | "logout_request" | "operation_request" | "sign_request"; export type ResponseType = "init_complete" | "config_response" | "login_response" | "logout_response" | "computation_completed_response" | "operation_response" | "sign_response"; export declare const toMatchingResponseType: (type: RequestType) => ResponseType; export type FailedResponse = { type: ResponseType; error: string; errorMessage?: string; }; export type InitResponse = { type: "init_complete"; userData?: UserData; }; export type ConfigRequest = { type: "config_request"; config: UmamiIframeConfig; }; export type ConfigResponse = { type: "config_response"; }; export type LoginRequest = { type: "login_request"; }; export type LoginResponse = { type: "login_response"; } & UserData; export type LogoutRequest = { type: "logout_request"; }; export type LogoutResponse = { type: "logout_response"; }; export type ComputationCompletedResponse = { type: "computation_completed_response"; }; export type OperationRequest = { type: "operation_request"; operations: PartialTezosOperation[]; }; export type OperationResponse = { type: "operation_response"; } & { opHash: string; }; export type SignRequest = { type: "sign_request"; signingType: SigningType; payload: string; }; export type SignResponse = { type: "sign_response"; signingType: SigningType; signature: string; }; export type RequestMessage = ConfigRequest | LoginRequest | LogoutRequest | OperationRequest | SignRequest; export type ResponseMessage = InitResponse | ConfigResponse | LoginResponse | LogoutResponse | ComputationCompletedResponse | OperationResponse | SignResponse | FailedResponse;