@meterio/web3-context
Version:
A React Context wrapper for Blocknative OnbardJS with a couple of utility functions
36 lines (35 loc) • 1.15 kB
TypeScript
import { BigNumber, BigNumberish, CallOverrides, ContractTransaction, Overrides } from 'ethers';
import { BigNumber as BN } from 'bignumber.js';
export declare type TokenInfo = {
name?: string;
symbol?: string;
decimals: number;
native: boolean;
balance: number;
balanceBN: BN;
imageUri?: string;
spenderAllowance?: number;
approve?: (spender: string, amount: BigNumberish, overrides?: Overrides) => Promise<ContractTransaction>;
transfer?: (recipient: string, amount: BigNumberish, overrides?: Overrides) => Promise<ContractTransaction>;
allowance?: (owner: string, spender: string, overrides?: CallOverrides) => Promise<BigNumber>;
};
export declare type Tokens = {
[address: string]: TokenInfo;
};
export declare function tokensReducer(tokens: Tokens, action: {
type: 'addToken';
payload: {
id: string;
token: TokenInfo;
};
} | {
type: 'resetTokens';
} | {
type: 'updateTokenBalanceAllowance';
payload: {
id: string;
balance: number;
balanceBN: BN;
spenderAllowance: number;
};
}): Tokens;