UNPKG

opnet

Version:

The perfect library for building Bitcoin-based applications.

50 lines (49 loc) 2.53 kB
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;