@venly/web3-provider
Version:
Venly enabled Web3 Provider for the web
37 lines (36 loc) • 2.33 kB
TypeScript
import { Account, AuthenticationOptions, AuthenticationResult, SecretType, WindowMode } from '@venly/connect';
import { VenlyController } from './venlyController';
export { SecretType, WindowMode } from '@venly/connect';
export { CHAIN_CONFIGS } from './types';
export declare class VenlyProvider {
#private;
venlyController: VenlyController;
_provider: any;
_blockTracker: any;
get connect(): import("@venly/connect").VenlyConnect;
changeSecretType(secretType?: SecretType, chainId?: string): Promise<any>;
checkAuthenticated(): Promise<AuthenticationResult>;
authenticate(authenticationOptions?: AuthenticationOptions): Promise<Account | {}>;
logout(): Promise<void>;
createProvider(options: VenlyProviderOptions): Promise<any>;
}
/**
* @type {Object}
* @property {string} clientId - The clientId to connect to Venly
* @property {string} environment - The environment to which you want to connect, possible values are 'sandbox' and 'production'. Defaults to 'production'.
* @property {SecretType} secretType - The secret type to use. Allowed types for web3 provider: ETHEREUM, BSC, MATIC https://docs.venly.io/widget/widget-advanced/object-type-reference/secrettype
* @property {WindowMode} windowMode - The sign method you want to use, possible values are POPUP or REDIRECT. Defaults to POPUP.
* @property {function} bearerTokenProvider - You can implement all the authentication handling yourself and provide Venly Connect with your own bearer token provider. The bearer token provider is a function returning the bearer token (access token) to login to Venly. Default the Venly Connect authentication client is used.
* @property {AuthenticationOptions} authenticationOptions - The options to use for authentications https://docs.venly.io/widget/widget-advanced/object-type-reference/authenticationoptions
* @property {boolean} skipAuthentication - Boolean flag that indicates if you want to authenticate immediately or revert to checkAuthenticated(). Defaults to false.
*/
export interface VenlyProviderOptions {
clientId: string;
environment?: string;
secretType?: SecretType;
windowMode?: WindowMode;
bearerTokenProvider?: () => string;
authenticationOptions?: AuthenticationOptions;
skipAuthentication?: boolean;
pollingInterval?: number;
}