opnet
Version:
The perfect library for building Bitcoin-based applications.
50 lines (49 loc) • 2.53 kB
TypeScript
import { Address } from '../../../../../node_modules/@btc-vision/transaction/build/index.js';
import { CallResult } from '../../../../contracts/CallResult.js';
import { OPNetEvent } from '../../../../contracts/OPNetEvent.js';
import { IMotoChef, InitializedEvent, PoolAddedEvent } from './IMotoChef.js';
export type TemplateMotoChefInitializedEvent = {};
export type TemplateMotoChefInitialize = CallResult<{}, OPNetEvent<PoolAddedEvent | InitializedEvent>[]>;
export type GetFarmName = CallResult<{
name: string;
}, OPNetEvent<never>[]>;
export type GetFarmBanner = CallResult<{
banner: string;
}, OPNetEvent<never>[]>;
export type SetUserTokenAddress = CallResult<{}, OPNetEvent<never>[]>;
export type TransferOwnershipToUser = CallResult<{}, OPNetEvent<never>[]>;
export type UserFeeRecipient = CallResult<{
recipient: string;
}, OPNetEvent<never>[]>;
export type MotoSwapFeeRecipient = CallResult<{
recipient: string;
}, OPNetEvent<never>[]>;
export type OpnetFeeRecipient = CallResult<{
recipient: string;
}, OPNetEvent<never>[]>;
export type BtcFeePercentage = CallResult<{
percentage: bigint;
}, OPNetEvent<never>[]>;
export type GetFeeDistributionBps = CallResult<{
userFeeBps: bigint;
motoSwapFeeBps: bigint;
opnetFeeBps: bigint;
totalBps: bigint;
}, OPNetEvent<never>[]>;
export type TotalUserTokenStaked = CallResult<{
totalStaked: bigint;
}, OPNetEvent<never>[]>;
export interface ITemplateMotoChef extends Omit<IMotoChef, 'initialize'> {
initialize(userTokenAddress: Address, tokenPerBlock: bigint, bonusEndBlock: bigint, bonusMultiplier: bigint, BTCAllocPoint: bigint, tokenAllocPoint: bigint, userBTCFeePercentage: bigint, userFeeRecipient: string, motoSwapFeeRecipient: string, opnetFeeRecipient: string, farmName: string, farmBanner: string, additionalPoolTokens: Address[], additionalPoolAllocPoints: bigint[]): Promise<TemplateMotoChefInitialize>;
getFarmName(): Promise<GetFarmName>;
getFarmBanner(): Promise<GetFarmBanner>;
setUserTokenAddress(tokenAddress: Address): Promise<SetUserTokenAddress>;
transferOwnershipToUser(newOwner: Address): Promise<TransferOwnershipToUser>;
userFeeRecipient(): Promise<UserFeeRecipient>;
motoSwapFeeRecipient(): Promise<MotoSwapFeeRecipient>;
opnetFeeRecipient(): Promise<OpnetFeeRecipient>;
btcFeePercentage(): Promise<BtcFeePercentage>;
getFeeDistributionBps(): Promise<GetFeeDistributionBps>;
totalUserTokenStaked(): Promise<TotalUserTokenStaked>;
}
export default ITemplateMotoChef;