@skynetxbt/venice-ai-plugin
Version:
Venice AI Plugin for Skynet Framework - Staking Contract Integration
22 lines (21 loc) • 1.14 kB
TypeScript
import { ethers } from "ethers";
import { EventEmitter } from "events";
import { StakeInfo, StakingContractConfig, StakingOperationResult, StakingStats, StakingViewResult, UserStakeInfo } from "./types";
export declare class StakingContract extends EventEmitter {
private contract;
private provider;
private signer;
private address;
constructor(config?: StakingContractConfig);
initialize(provider?: ethers.Provider, signer?: ethers.Signer): Promise<void>;
cleanup(): Promise<void>;
stake(recipient: string, amount: bigint): Promise<StakingOperationResult>;
initiateUnstake(amount: bigint): Promise<StakingOperationResult>;
finalizeUnstake(): Promise<StakingOperationResult>;
claim(): Promise<StakingOperationResult>;
getPendingRewards(userAddress: string): Promise<StakingViewResult<bigint>>;
getVenicePercentage(): Promise<StakingViewResult<bigint>>;
getStakeInfo(userAddress: string): Promise<StakingViewResult<StakeInfo>>;
getUserStakeInfo(userAddress: string): Promise<StakingViewResult<UserStakeInfo>>;
getStakingStats(): Promise<StakingViewResult<StakingStats>>;
}