export interface IConnection { blockchain: IBlockchainConnection; relay: IRelayConnection; debug: IDebugConf; matrix: IMatrixConnection; privateKey: string; bunkerServices: IBunkerServices; fallbackProfile: string; } export interface IBunkerServices { message: string; account: string; key: string; sign: string; ens: string; policyManagement: string; policyProcessor: string; relay: string; } export interface IBlockchainConnection { rpcUrl: string; web3: any; defaultAccountAddress: string; proxyFactoryAddress: string; gnosisSafeMasterCopyAddress: string; identityMasterCopyAddress: string; defaultGasPrice: string; ensContract: string; createAndAddModuleAddress: string; multiSendAddress: string; custodyModuleMasterCopyAddress: string; accountSeparationMasterCopyAddress: string; tokenContractAddress: string; defaultEnsResolver: string; gasCoefficient: number; defaultFallbackHandler: string; avgBlockTime: number; } export interface IRelayConnection { useRelayByDefault: boolean; defaultPaymentToken?: string; gasCoefficient?: number; } export interface IMatrixConnection { matrixUrl: string; } export interface IDebugConf { gasPrice: number; ethUsd: number; diagnostics: boolean; logLevel: Level; logger?: (text: string) => void; ignoreLog?: string[]; } export declare enum Client { Ganache = 0, Parity = 1, OpenEthereum = 2, Geth = 3 } /** * Logger */ export declare enum Level { Emergency = 0, Alert = 1, Critical = 2, Error = 3, Warning = 4, Notice = 5, Info = 6, Debug = 7, DebugObjects = 8 } /** * The connection-class of the wallet */ export declare class Connection { /** * Adds a default acccount to a connection object. * @param connection The backend connection object. * @returns The new connection object */ addDefaultAccount(connection: IConnection): IConnection; /** * Adds an ethereum connection to a connection object. * @param connection The backend connection object. * @returns The new connection object */ addEthereumConnection(connection: IConnection): IConnection; /** * Overwrites the defaults settings with the provided settings and returns a connection object. * @param profileName The name of the profile e.g. `goerli`. * @param settings The settings which will overwrite the profile defaults. * @returns The new connection object */ createConnection(profileName: string, settings?: any): IConnection; } export default Connection;