quartz/wallet/node_modules/@3rdweb/sdk/dist/common/currency.d.ts
2022-03-04 20:05:23 +08:00

49 lines
1.3 KiB
TypeScript

import { BigNumberish } from "ethers";
import { ProviderOrSigner } from "../core/types";
import { ChainId } from "./chain";
/**
* Currency metadata.
* @public
*/
export interface Currency {
name: string;
symbol: string;
decimals: number;
}
export interface NativeToken extends Currency {
wrapped: {
address: string;
name: string;
symbol: string;
};
}
/**
* Currency metadata & value.
* @public
*/
export interface CurrencyValue extends Currency {
value: string;
displayValue: string;
}
/**
* @internal
*/
export declare const NATIVE_TOKEN_ADDRESS = "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee";
/**
* @internal
*/
export declare function getCurrencyMetadata(providerOrSigner: ProviderOrSigner, asset: string): Promise<Currency>;
/**
* @internal
*/
export declare function getCurrencyValue(providerOrSigner: ProviderOrSigner, asset: string, price: BigNumberish): Promise<CurrencyValue>;
/**
* @internal
*/
export declare function isNativeToken(tokenAddress: string): boolean;
/**
* @internal
*/
export declare function getCurrencyBalance(providerOrSigner: ProviderOrSigner, tokenAddress: string, walletAddress: string): Promise<CurrencyValue>;
export declare function getNativeTokenByChainId(chainId: ChainId): NativeToken;