UNPKG

@hubbleprotocol/farms-sdk

Version:
28 lines (27 loc) 4.49 kB
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;