uiActions.ts 2.39 KiB
Newer Older
Andrei Eres's avatar
Andrei Eres committed
import {
  AccountJson,
  AllowedPath,
  AuthorizeRequest,
  MetadataRequest,
  SigningRequest,
} from '@polkadot/extension-base/background/types'
Andrei Eres's avatar
Andrei Eres committed
import { HexString } from '@polkadot/util/types'
import { sendUIMessage } from './sendUIMessage'
export function editAccount(address: string, name: string): Promise<boolean> {
  return sendUIMessage('pri(accounts.edit)', { address, name })
Andrei Eres's avatar
Andrei Eres committed
export function forgetAccount(address: string): Promise<boolean> {
  return sendUIMessage('pri(accounts.forget)', { address })
Andrei Eres's avatar
Andrei Eres committed
}

export function approveAuthRequest(id: string): Promise<boolean> {
  return sendUIMessage('pri(authorize.approve)', { id })
Andrei Eres's avatar
Andrei Eres committed
}

export function approveMetaRequest(id: string): Promise<boolean> {
  return sendUIMessage('pri(metadata.approve)', { id })
Andrei Eres's avatar
Andrei Eres committed
}

export function cancelSignRequest(id: string): Promise<boolean> {
  return sendUIMessage('pri(signing.cancel)', { id })
Andrei Eres's avatar
Andrei Eres committed
}

export function approveSignSignature(
  id: string,
Andrei Eres's avatar
Andrei Eres committed
  signature: HexString
Andrei Eres's avatar
Andrei Eres committed
): Promise<boolean> {
  return sendUIMessage('pri(signing.approve.signature)', { id, signature })
Andrei Eres's avatar
Andrei Eres committed
}

export function createAccountExternal(
  name: string,
  address: string,
  genesisHash: string
): Promise<boolean> {
  return sendUIMessage('pri(accounts.create.external)', {
Andrei Eres's avatar
Andrei Eres committed
    address,
    genesisHash,
    name,
  })
}

export function rejectAuthRequest(id: string): Promise<boolean> {
  return sendUIMessage('pri(authorize.reject)', { id })
Andrei Eres's avatar
Andrei Eres committed
}

export function rejectMetaRequest(id: string): Promise<boolean> {
  return sendUIMessage('pri(metadata.reject)', { id })
Andrei Eres's avatar
Andrei Eres committed
}

export function subscribeAccounts(
  cb: (accounts: AccountJson[]) => void
): Promise<boolean> {
  return sendUIMessage('pri(accounts.subscribe)', null, cb)
Andrei Eres's avatar
Andrei Eres committed
}

export function subscribeAuthorizeRequests(
  cb: (accounts: AuthorizeRequest[]) => void
): Promise<boolean> {
  return sendUIMessage('pri(authorize.requests)', null, cb)
Andrei Eres's avatar
Andrei Eres committed
}

export function subscribeMetadataRequests(
  cb: (accounts: MetadataRequest[]) => void
): Promise<boolean> {
  return sendUIMessage('pri(metadata.requests)', null, cb)
Andrei Eres's avatar
Andrei Eres committed
}

export function subscribeSigningRequests(
  cb: (accounts: SigningRequest[]) => void
): Promise<boolean> {
  return sendUIMessage('pri(signing.requests)', null, cb)
Andrei Eres's avatar
Andrei Eres committed
}

export function windowOpen(path: AllowedPath): Promise<boolean> {
  return sendUIMessage('pri(window.open)', path)
Andrei Eres's avatar
Andrei Eres committed
}

export function getMeta(genesisHash: string | null) {
  return sendUIMessage('pri(metadata.get)', genesisHash)