@tempus-labs/utils
Version:
Tempus utility helpers
30 lines • 1.41 kB
TypeScript
import { Contract, Transaction } from "ethers";
import { Numberish } from "../utils/DecimalUtils";
import { ContractBase, Signer, Addressable } from "../utils/ContractBase";
import { ERC20 } from "./ERC20";
export interface VestingTerms {
startTime: number;
period: number;
firstClaimableAt: number;
amount: Numberish;
claimed: Numberish;
}
/**
* Typed wrapper for ERC20Vesting contract
*/
export declare class ERC20Vesting extends ContractBase {
erc20: ERC20;
constructor(contractName: string, token: ERC20, contract?: Contract);
convertVesting(terms: VestingTerms): VestingTerms;
static create(token: ERC20, wallet: Addressable): Promise<ERC20Vesting>;
wallet(): Promise<String>;
token(): Promise<String>;
startVesting(sender: Signer, receiver: Addressable, terms: VestingTerms): Promise<Transaction>;
startVestingBatch(sender: Signer, receivers: Addressable[], terms: VestingTerms[]): Promise<Transaction>;
getVestingTerms(receiver: Addressable): Promise<VestingTerms>;
stopVesting(sender: Signer, receiver: Addressable): Promise<Transaction>;
transferVesting(sender: Signer, oldAddress: Addressable, newAddress: Addressable): Promise<Transaction>;
claimable(receiver: Addressable): Promise<Numberish>;
claim(sender: Signer, amount?: Numberish): Promise<any>;
}
//# sourceMappingURL=ERC20Vesting.d.ts.map