@superfluid-finance/sdk-core
Version:
SDK Core for building with Superfluid Protocol
75 lines • 3.5 kB
TypeScript
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