import { AccountJson, AllowedPath, AuthorizeRequest, MetadataRequest, SigningRequest, } from '@polkadot/extension-base/background/types' import { HexString } from '@polkadot/util/types' import { sendUIMessage } from './sendUIMessage' export function editAccount(address: string, name: string): Promise { return sendUIMessage('pri(accounts.edit)', { address, name }) } export function forgetAccount(address: string): Promise { return sendUIMessage('pri(accounts.forget)', { address }) } export function approveAuthRequest(id: string): Promise { return sendUIMessage('pri(authorize.approve)', { id }) } export function approveMetaRequest(id: string): Promise { return sendUIMessage('pri(metadata.approve)', { id }) } export function cancelSignRequest(id: string): Promise { return sendUIMessage('pri(signing.cancel)', { id }) } export function approveSignSignature( id: string, signature: HexString ): Promise { return sendUIMessage('pri(signing.approve.signature)', { id, signature }) } export function createAccountExternal( name: string, address: string, genesisHash: string ): Promise { return sendUIMessage('pri(accounts.create.external)', { address, genesisHash, name, }) } export function rejectAuthRequest(id: string): Promise { return sendUIMessage('pri(authorize.reject)', { id }) } export function rejectMetaRequest(id: string): Promise { return sendUIMessage('pri(metadata.reject)', { id }) } export function subscribeAccounts( cb: (accounts: AccountJson[]) => void ): Promise { return sendUIMessage('pri(accounts.subscribe)', null, cb) } export function subscribeAuthorizeRequests( cb: (accounts: AuthorizeRequest[]) => void ): Promise { return sendUIMessage('pri(authorize.requests)', null, cb) } export function subscribeMetadataRequests( cb: (accounts: MetadataRequest[]) => void ): Promise { return sendUIMessage('pri(metadata.requests)', null, cb) } export function subscribeSigningRequests( cb: (accounts: SigningRequest[]) => void ): Promise { return sendUIMessage('pri(signing.requests)', null, cb) } export function windowOpen(path: AllowedPath): Promise { return sendUIMessage('pri(window.open)', path) } export function getMeta(genesisHash: string | null) { return sendUIMessage('pri(metadata.get)', genesisHash) }