UNPKG

@atomiqlabs/chain-starknet

Version:
67 lines (66 loc) 1.99 kB
import { StarknetModule } from "../StarknetModule"; import { StarknetAction } from "../StarknetAction"; export declare class StarknetTokens extends StarknetModule { static readonly ERC20_STRK = "0x04718f5a0fc34cc1af16a1cdee98ffb20c31f5cd61d6ab07201858f4287c938d"; static readonly GasCosts: { TRANSFER: { l1DataGas: number; l2Gas: number; l1Gas: number; }; APPROVE: { l1DataGas: number; l2Gas: number; l1Gas: number; }; }; private getContract; /** * Action for transferring the erc20 token * * @param signer * @param recipient * @param token * @param amount * @private */ private Transfer; /** * Approves spend of tokens for a specific spender * * @param signer * @param spender * @param token * @param amount * @private */ Approve(signer: string, spender: string, token: string, amount: bigint): StarknetAction; /** * Checks if the provided string is a valid starknet token * * @param token */ isValidToken(token: string): boolean; /** * Returns the token balance of the address * * @param address * @param token */ getTokenBalance(address: string, token: string): Promise<bigint>; /** * Returns the native currency address */ getNativeCurrencyAddress(): string; /** * Creates transactions for sending the over the tokens * * @param signer * @param token token to send * @param amount amount of the token to send * @param recipient recipient's address * @param feeRate fee rate to use for the transactions * @private */ txsTransfer(signer: string, token: string, amount: bigint, recipient: string, feeRate?: string): Promise<import("./StarknetTransactions").StarknetTx[]>; }