@mobile-wallet-protocol/client
Version:
Client SDK for the Mobile Wallet Protocol
39 lines (38 loc) • 900 B
TypeScript
import { Message, MessageID } from './Message';
import { SerializedEthereumRpcError } from '../error';
interface RPCMessage extends Message {
id: MessageID;
sender: string;
content: unknown;
timestamp: Date;
}
export type EncryptedData = {
iv: Uint8Array;
cipherText: Uint8Array;
};
export interface RPCRequestMessage extends RPCMessage {
sdkVersion: string;
callbackUrl: string;
customScheme?: string;
content: {
handshake: RequestAccountsAction;
} | {
encrypted: EncryptedData;
};
}
export interface RPCResponseMessage extends RPCMessage {
requestId: MessageID;
content: {
encrypted: EncryptedData;
} | {
failure: SerializedEthereumRpcError;
};
}
type RequestAccountsAction = {
method: 'eth_requestAccounts';
params: {
appName: string;
appLogoUrl?: string;
};
};
export {};