UNPKG

@superfluid-finance/sdk-core

Version:
75 lines 3.5 kB
import Operation from "./Operation"; import { ERC20AllowanceParams, ERC20BalanceOfParams, IBaseSuperTokenParams, ITransferFromParams, ProviderOrSigner } from "./interfaces"; import { IERC20Metadata } from "./typechain-types"; export default class ERC20Token { readonly address: string; readonly contract: IERC20Metadata; constructor(address: string); /** ### ERC20 Token Contract Read Functions ### */ /** * Returns the allowance the `owner` has granted the `spender`. * @param owner the owner who has allotted the allowance * @param spender the spender who has received the allowance * @param providerOrSigner a provider or signer for executing a web3 call * @returns {Promise<string>} the allowance amount */ allowance: ({ owner, spender, providerOrSigner, }: ERC20AllowanceParams) => Promise<string>; /** * Returns the ERC20 balanceOf the `account`, this can't be negative and will just display 0. * @param account the account you would like to query * @param providerOrSigner a provider or signer for executing a web3 call * @returns {Promise<string>} the token balance of `account` */ balanceOf: ({ account, providerOrSigner, }: ERC20BalanceOfParams) => Promise<string>; /** * Returns the token name * @param providerOrSigner a provider or signer for executing a web3 call * @returns {string} the token name */ name: ({ providerOrSigner, }: { providerOrSigner: ProviderOrSigner; }) => Promise<string>; /** * Returns the token symbol * @param providerOrSigner a provider or signer for executing a web3 call * @returns {string} the token symbol */ symbol: ({ providerOrSigner, }: { providerOrSigner: ProviderOrSigner; }) => Promise<string>; /** * Returns the total supply of the token. * @param providerOrSigner a provider or signer for executing a web3 call * @returns {Promise<string>} the total supply of the token */ totalSupply: ({ providerOrSigner, }: { providerOrSigner: ProviderOrSigner; }) => Promise<string>; /** ### ERC20 Token Contract Write Functions ### */ /** * Approve `receiver` to spend `amount` tokens. * @param receiver The receiver approved. * @param amount The amount approved. * @param overrides ethers overrides object for more control over the transaction sent. * @returns {Operation} An instance of Operation which can be executed or batched. */ approve: (params: IBaseSuperTokenParams) => Operation; /** * Transfer `receiver` `amount` tokens. * @param receiver The receiver of the transfer. * @param amount The amount to be transferred. * @param overrides ethers overrides object for more control over the transaction sent. * @returns {Operation} An instance of Operation which can be executed or batched. */ transfer: (params: IBaseSuperTokenParams) => Operation; /** * Transfer from `sender` to `receiver` `amount` tokens. * @param sender The sender of the transfer. * @param receiver The receiver of the transfer. * @param amount The amount to be transferred. * @param overrides ethers overrides object for more control over the transaction sent. * @returns {Operation} An instance of Operation which can be executed or batched. */ transferFrom: (params: ITransferFromParams) => Operation; } //# sourceMappingURL=ERC20Token.d.ts.map