@hubbleprotocol/farms-sdk
Version:
28 lines (27 loc) • 4.49 kB
TypeScript
import * as anchor from "@coral-xyz/anchor";
import { PublicKey } from "@solana/web3.js";
import * as Types from "../rpc_client/types";
import { TransactionInstruction } from "@solana/web3.js";
import { RewardCurvePoint } from "../Farms";
export declare function initializeGlobalConfig(globalAdmin: PublicKey, globalConfig: PublicKey, treasuryVaultAuthority: PublicKey): TransactionInstruction;
export declare function updateGlobalConfig(globalAdmin: PublicKey, globalConfig: PublicKey, mode: Types.GlobalConfigOptionKind, flagValue: string, flagValueType: string): TransactionInstruction;
export declare function updateGlobalConfigAdmin(pendingGlobalAdmin: PublicKey, globalConfig: PublicKey): TransactionInstruction;
export declare function updateFarmAdmin(pendingFarmAdmin: PublicKey, farm: PublicKey): TransactionInstruction;
export declare function initializeFarm(globalConfig: PublicKey, farmAdmin: PublicKey, farmState: PublicKey, farmVault: PublicKey, farmVaultAuthority: PublicKey, tokenMint: PublicKey): TransactionInstruction;
export declare function initializeReward(globalConfig: PublicKey, treasuryVaultAuthority: PublicKey, treasuryVault: PublicKey, farmAdmin: PublicKey, farmState: PublicKey, rewardVault: PublicKey, farmVaultAuthority: PublicKey, rewardMint: PublicKey, tokenProgram: PublicKey): TransactionInstruction;
export declare function addReward(payer: PublicKey, farmState: PublicKey, rewardVault: PublicKey, farmVaultAuthority: PublicKey, payerRewardAta: PublicKey, rewardMint: PublicKey, scopePrices: PublicKey, rewardIndex: number, tokenProgram: PublicKey, amount: anchor.BN): TransactionInstruction;
export declare function withdrawReward(admin: PublicKey, farmState: PublicKey, rewardMint: PublicKey, rewardVault: PublicKey, farmVaultAuthority: PublicKey, adminRewardAta: PublicKey, scopePrices: PublicKey, tokenProgram: PublicKey, rewardIndex: number, amount: anchor.BN): TransactionInstruction;
export declare function updateFarmConfig(farmAdmin: PublicKey, farmState: PublicKey, scopePrices: PublicKey, rewardIndex: number, mode: Types.FarmConfigOptionKind, value: number | PublicKey | number[] | RewardCurvePoint[]): TransactionInstruction;
export declare function refreshFarm(farmState: PublicKey, scopePrices: PublicKey): TransactionInstruction;
export declare function initializeUser(farmState: PublicKey, owner: PublicKey, userState: PublicKey): TransactionInstruction;
export declare function transferOwnership(owner: PublicKey, userState: PublicKey, newOwner: PublicKey): TransactionInstruction;
export declare function stake(owner: PublicKey, userState: PublicKey, ownerTokenAta: PublicKey, farmState: PublicKey, farmVault: PublicKey, tokenMint: PublicKey, scopePrices: PublicKey, amount: anchor.BN): TransactionInstruction;
export declare function unstake(owner: PublicKey, userState: PublicKey, farmState: PublicKey, scopePrices: PublicKey, amount: anchor.BN): TransactionInstruction;
export declare function harvestReward(owner: PublicKey, userState: PublicKey, userRewardAta: PublicKey, globalConfig: PublicKey, treasuryVault: PublicKey, farmState: PublicKey, rewardMint: PublicKey, rewardVault: PublicKey, farmVaultAuthority: PublicKey, scopePrices: PublicKey, tokenProgram: PublicKey, rewardIndex: number): TransactionInstruction;
export declare function withdrawTreasury(globalAdmin: PublicKey, globalConfig: PublicKey, treasuryVault: PublicKey, treasuryVaultAuthority: PublicKey, globalAdminWithdrawAta: PublicKey, amount: anchor.BN, rewardMint: PublicKey): TransactionInstruction;
export declare function refreshUserState(userState: PublicKey, farmState: PublicKey, scopePrices: PublicKey): TransactionInstruction;
export declare function withdrawUnstakedDeposit(owner: PublicKey, userState: PublicKey, farmState: PublicKey, userAta: PublicKey, farmVault: PublicKey, farmVaultsAuthority: PublicKey): TransactionInstruction;
export declare function withdrawFromFarmVault(withdrawAuthority: PublicKey, farmState: PublicKey, withdrawerTokenAccount: PublicKey, farmVault: PublicKey, farmVaultsAuthority: PublicKey, amount: anchor.BN): TransactionInstruction;
export declare function depositToFarmVault(depositor: PublicKey, farmState: PublicKey, farmVault: PublicKey, depositorAta: PublicKey, amount: anchor.BN): TransactionInstruction;
export declare function serializeConfigValue(reward_index: bigint, value: bigint): Uint8Array;
export declare function serializeRewardCurvePoint(reward_index: number, points: RewardCurvePoint[]): Uint8Array;