@rsksmart/rif-ui
Version:
Exposes common components to be re used in RIF projects
46 lines (45 loc) • 1.65 kB
TypeScript
import React, { Component, ReactNode } from 'react';
import Web3 from 'web3';
import NetworkInfo from '../models/NetworkInfo';
import ProviderInfo, { EProvider } from '../models/ProviderInfo';
export interface Web3ProviderProps {
state: {
provider?: EProvider;
web3?: Web3;
account?: string;
networkInfo?: NetworkInfo;
requiredNetworkId?: number;
};
actions: {
setProvider?: (provider: EProvider, onStateChanged?: (account?: string) => void) => Promise<void>;
onConnectedNetworkChange?: () => void;
onConnectedAccountChange?: () => void;
};
requiredNetworkId?: number;
requiredChainId?: number;
availableProviders?: ProviderInfo[];
}
export declare const defaultWeb3State: Web3ProviderState;
export declare const Web3Store: React.Context<Web3ProviderProps>;
interface Web3ProviderState {
provider?: EProvider;
web3?: Web3;
account?: string;
networkInfo?: NetworkInfo;
}
declare class Web3Provider extends Component<Web3ProviderProps, Web3ProviderState> {
private readonly requiredNetworkId?;
private readonly requiredChainId?;
private availableProviders?;
constructor(props: Web3ProviderProps);
private readonly onConnectedNetworkChange?;
private readonly onConnectedAccountChange?;
setProvider(provider: EProvider, onStateChanged?: (account?: string) => void): Promise<void>;
private initialize;
render(): ReactNode;
}
declare const _default: {
Consumer: React.Consumer<Web3ProviderProps>;
Provider: typeof Web3Provider;
};
export default _default;