import { DelegateParams, FailingNoopParams, IncreasePaidStorageParams, OriginateParams, TransferParams, StakeParams, UnstakeParams, FinalizeUnstakeParams, TransferTicketParams, RegisterGlobalConstantParams } from '../operations/types'; export type WalletDefinedFields = 'source'; export type WalletTransferParams = Omit; export type WalletStakeParams = Omit; export type WalletUnstakeParams = Omit; export type WalletFinalizeUnstakeParams = Omit; export type WalletOriginateParams = Omit, WalletDefinedFields>; export type WalletDelegateParams = Omit; export type WalletFailingNoopParams = Omit; export type WalletIncreasePaidStorageParams = Omit; export type WalletTransferTicketParams = Omit; export type WalletRegisterGlobalConstantParams = Omit; export interface WalletProvider { /** * Request the public key hash from the wallet */ getPKH: () => Promise; /** * Request the public key from the wallet */ getPK: () => Promise; /** * Transform WalletTransferParams into a format compliant with the underlying wallet */ mapTransferParamsToWalletParams: (params: () => Promise) => Promise; /** * Transform WalletTransferTicketParams into a format compliant with the underlying wallet */ mapTransferTicketParamsToWalletParams: (params: () => Promise) => Promise; /** * Transform WalletRegisterGlobalConstantParams into a format compliant with the underlying wallet */ mapRegisterGlobalConstantParamsToWalletParams: (params: () => Promise) => Promise; /** * Transform WalletStakeParams into a format compliant with the underlying wallet */ mapStakeParamsToWalletParams: (params: () => Promise) => Promise; /** * Transform WalletUnstakeParams into a format compliant with the underlying wallet */ mapUnstakeParamsToWalletParams: (params: () => Promise) => Promise; /** * Transform WalletFinalizeUnstakeParams into a format compliant with the underlying wallet */ mapFinalizeUnstakeParamsToWalletParams: (params: () => Promise) => Promise; /** * Transform WalletOriginateParams into a format compliant with the underlying wallet */ mapOriginateParamsToWalletParams: (params: () => Promise) => Promise; /** * Transform WalletDelegateParams into a format compliant with the underlying wallet */ mapDelegateParamsToWalletParams: (params: () => Promise) => Promise; /** * Transform WalletIncreasePaidStorageParams into a format compliant with the underlying wallet */ mapIncreasePaidStorageWalletParams: (params: () => Promise) => Promise; /** * Request the wallet to send an operation batch */ sendOperations: (params: any[]) => Promise; /** * Request the wallet to sign a payload */ sign(bytes: string, watermark?: Uint8Array): Promise; }