98 lines
2.5 KiB
TypeScript
98 lines
2.5 KiB
TypeScript
// Client-side type definitions for SDK Signer API
|
|
|
|
export enum MessageType {
|
|
// Establish connection and keep alive
|
|
LISTENING = 'LISTENING',
|
|
REQUEST_LINK = 'REQUEST_LINK',
|
|
LINK_ACCEPTED = 'LINK_ACCEPTED',
|
|
ERROR = 'ERROR',
|
|
VALIDATE_TOKEN = 'VALIDATE_TOKEN',
|
|
RENEW_TOKEN = 'RENEW_TOKEN',
|
|
// Get various information
|
|
GET_PAIRING_ID = 'GET_PAIRING_ID',
|
|
GET_PROCESSES = 'GET_PROCESSES',
|
|
GET_MY_PROCESSES = 'GET_MY_PROCESSES',
|
|
PROCESSES_RETRIEVED = 'PROCESSES_RETRIEVED',
|
|
RETRIEVE_DATA = 'RETRIEVE_DATA',
|
|
DATA_RETRIEVED = 'DATA_RETRIEVED',
|
|
DECODE_PUBLIC_DATA = 'DECODE_PUBLIC_DATA',
|
|
PUBLIC_DATA_DECODED = 'PUBLIC_DATA_DECODED',
|
|
GET_MEMBER_ADDRESSES = 'GET_MEMBER_ADDRESSES',
|
|
MEMBER_ADDRESSES_RETRIEVED = 'MEMBER_ADDRESSES_RETRIEVED',
|
|
// Processes
|
|
CREATE_PROCESS = 'CREATE_PROCESS',
|
|
PROCESS_CREATED = 'PROCESS_CREATED',
|
|
UPDATE_PROCESS = 'UPDATE_PROCESS',
|
|
PROCESS_UPDATED = 'PROCESS_UPDATED',
|
|
NOTIFY_UPDATE = 'NOTIFY_UPDATE',
|
|
UPDATE_NOTIFIED = 'UPDATE_NOTIFIED',
|
|
VALIDATE_STATE = 'VALIDATE_STATE',
|
|
STATE_VALIDATED = 'STATE_VALIDATED',
|
|
// Hash and merkle proof
|
|
HASH_VALUE = 'HASH_VALUE',
|
|
VALUE_HASHED = 'VALUE_HASHED',
|
|
GET_MERKLE_PROOF = 'GET_MERKLE_PROOF',
|
|
MERKLE_PROOF_RETRIEVED = 'MERKLE_PROOF_RETRIEVED',
|
|
VALIDATE_MERKLE_PROOF = 'VALIDATE_MERKLE_PROOF',
|
|
MERKLE_PROOF_VALIDATED = 'MERKLE_PROOF_VALIDATED',
|
|
// Account management
|
|
ADD_DEVICE = 'ADD_DEVICE',
|
|
DEVICE_ADDED = 'DEVICE_ADDED',
|
|
}
|
|
|
|
export interface ClientMessage {
|
|
type: MessageType;
|
|
messageId?: string;
|
|
apiKey?: string;
|
|
[key: string]: any;
|
|
}
|
|
|
|
export interface ServerResponse {
|
|
type: MessageType;
|
|
messageId?: string;
|
|
error?: string;
|
|
[key: string]: any;
|
|
}
|
|
|
|
export interface ClientConfig {
|
|
url: string;
|
|
apiKey: string;
|
|
timeout?: number;
|
|
reconnectInterval?: number;
|
|
maxReconnectAttempts?: number;
|
|
}
|
|
|
|
export interface ConnectionOptions {
|
|
timeout?: number;
|
|
headers?: Record<string, string>;
|
|
}
|
|
|
|
export type MessageHandler = (response: ServerResponse) => void;
|
|
export type ConnectionHandler = () => void;
|
|
export type ErrorHandler = (error: Error) => void;
|
|
|
|
export interface ClientEvents {
|
|
open?: ConnectionHandler;
|
|
close?: ConnectionHandler;
|
|
error?: ErrorHandler;
|
|
message?: MessageHandler;
|
|
reconnect?: ConnectionHandler;
|
|
}
|
|
|
|
export interface ProcessData {
|
|
processId: string;
|
|
stateId: string;
|
|
[key: string]: any;
|
|
}
|
|
|
|
export interface UpdateProcessData extends ProcessData {
|
|
// Add specific fields for process updates
|
|
[key: string]: any;
|
|
}
|
|
|
|
export interface ValidationResult {
|
|
success: boolean;
|
|
message?: string;
|
|
data?: any;
|
|
}
|