UNPKG

@mihalex/farms-sdk-tests

Version:
293 lines 10.4 kB
"use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); __setModuleDefault(result, mod); return result; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.serializeConfigValue = exports.depositToFarmVault = exports.withdrawFromFarmVault = exports.withdrawUnstakedDeposit = exports.refreshUserState = exports.withdrawTreasury = exports.harvestReward = exports.unstake = exports.stake = exports.transferOwnership = exports.initializeUser = exports.refreshFarm = exports.updateRewardConfig = exports.addReward = exports.initializeReward = exports.initializeFarm = exports.updateGlobalConfig = exports.initializeGlobalConfig = void 0; const Instructions = __importStar(require("../rpc_client/instructions")); const anchor = __importStar(require("@coral-xyz/anchor")); const utils_1 = require("./utils"); const spl_token_1 = require("@solana/spl-token"); const programId_1 = require("../rpc_client/programId"); function initializeGlobalConfig(globalAdmin, globalConfig, treasuryVaultAuthority) { let accounts = { globalAdmin, globalConfig: globalConfig, treasuryVaultsAuthority: treasuryVaultAuthority, systemProgram: anchor.web3.SystemProgram.programId, }; let ix = Instructions.initializeGlobalConfig(accounts); return ix; } exports.initializeGlobalConfig = initializeGlobalConfig; function updateGlobalConfig(globalAdmin, globalConfig, mode, flagValue, flagValueType) { let formattedValue = (0, utils_1.getGlobalConfigValue)(flagValueType, flagValue); let accounts = { globalAdmin, globalConfig: globalConfig, }; let args = { mode: mode.discriminator, value: formattedValue, }; let ix = Instructions.updateGlobalConfig(args, accounts); return ix; } exports.updateGlobalConfig = updateGlobalConfig; function initializeFarm(globalConfig, farmAdmin, farmState, farmVault, farmVaultAuthority, tokenMint) { let accounts = { farmAdmin, farmState: farmState, globalConfig: globalConfig, farmVault: farmVault, farmVaultsAuthority: farmVaultAuthority, tokenMint: tokenMint, tokenProgram: spl_token_1.TOKEN_PROGRAM_ID, systemProgram: anchor.web3.SystemProgram.programId, rent: anchor.web3.SYSVAR_RENT_PUBKEY, }; let ix = Instructions.initializeFarm(accounts); return ix; } exports.initializeFarm = initializeFarm; function initializeReward(globalConfig, treasuryVaultAuthority, treasuryVault, farmAdmin, farmState, rewardVault, farmVaultAuthority, rewardMint) { let accounts = { farmAdmin, farmState: farmState, globalConfig: globalConfig, rewardVault: rewardVault, farmVaultsAuthority: farmVaultAuthority, treasuryVaultsAuthority: treasuryVaultAuthority, rewardTreasuryVault: treasuryVault, rewardMint: rewardMint, tokenProgram: spl_token_1.TOKEN_PROGRAM_ID, systemProgram: anchor.web3.SystemProgram.programId, rent: anchor.web3.SYSVAR_RENT_PUBKEY, }; let ix = Instructions.initializeReward(accounts); return ix; } exports.initializeReward = initializeReward; function addReward(farmAdmin, farmState, rewardVault, farmVaultAuthority, adminRewardAta, rewardMint, rewardIndex, amount) { let accounts = { farmAdmin, farmState: farmState, rewardVault: rewardVault, farmVaultsAuthority: farmVaultAuthority, rewardTokenAta: adminRewardAta, rewardMint: rewardMint, tokenProgram: spl_token_1.TOKEN_PROGRAM_ID, scopePrices: programId_1.PROGRAM_ID, }; let args = { amount: amount, rewardIndex: new anchor.BN(rewardIndex), }; let ix = Instructions.addRewards(args, accounts); return ix; } exports.addReward = addReward; function updateRewardConfig(farmAdmin, farmState, rewardIndex, mode, value) { let accounts = { farmAdmin, farmState: farmState, scopePrices: programId_1.PROGRAM_ID, }; let data = serializeConfigValue(BigInt(rewardIndex), BigInt(value)); let args = { mode: mode.discriminator, data, }; let ix = Instructions.updateFarmConfig(args, accounts); return ix; } exports.updateRewardConfig = updateRewardConfig; function refreshFarm(farmState) { let accounts = { farmState: farmState, scopePrices: programId_1.PROGRAM_ID, }; let ix = Instructions.refreshFarm(accounts); return ix; } exports.refreshFarm = refreshFarm; function initializeUser(farmState, owner, userState) { let accounts = { authority: owner, payer: owner, delegatee: owner, owner, userState: userState, farmState: farmState, systemProgram: anchor.web3.SystemProgram.programId, rent: anchor.web3.SYSVAR_RENT_PUBKEY, }; let ix = Instructions.initializeUser(accounts); return ix; } exports.initializeUser = initializeUser; function transferOwnership(owner, userState, newOwner) { let accounts = { owner: owner, userState: userState, }; let args = { newOwner, }; let ix = Instructions.transferOwnership(args, accounts); return ix; } exports.transferOwnership = transferOwnership; function stake(owner, userState, ownerTokenAta, farmState, farmVault, tokenMint, amount) { let accounts = { owner: owner, userState: userState, farmState: farmState, farmVault: farmVault, userAta: ownerTokenAta, tokenMint: tokenMint, tokenProgram: spl_token_1.TOKEN_PROGRAM_ID, scopePrices: programId_1.PROGRAM_ID, }; let args = { amount, }; let ix = Instructions.stake(args, accounts); return ix; } exports.stake = stake; function unstake(owner, userState, farmState, amount) { let accounts = { owner: owner, userState: userState, farmState: farmState, scopePrices: programId_1.PROGRAM_ID, }; let args = { stakeSharesScaled: amount, }; let ix = Instructions.unstake(args, accounts); return ix; } exports.unstake = unstake; function harvestReward(owner, userState, userRewardAta, globalConfig, treasuryVault, farmState, rewardVault, farmVaultAuthority, rewardIndex) { let accounts = { owner: owner, userState: userState, farmState: farmState, globalConfig: globalConfig, rewardsVault: rewardVault, rewardsTreasuryVault: treasuryVault, userRewardAta: userRewardAta, farmVaultsAuthority: farmVaultAuthority, tokenProgram: spl_token_1.TOKEN_PROGRAM_ID, scopePrices: programId_1.PROGRAM_ID, }; let args = { rewardIndex: new anchor.BN(rewardIndex), }; let ix = Instructions.harvestReward(args, accounts); return ix; } exports.harvestReward = harvestReward; function withdrawTreasury(globalAdmin, globalConfig, treasuryVault, treasuryVaultAuthority, globalAdminWithdrawAta, amount, rewardMint) { let accounts = { globalAdmin, globalConfig: globalConfig, rewardTreasuryVault: treasuryVault, treasuryVaultAuthority: treasuryVaultAuthority, withdrawDestinationTokenAccount: globalAdminWithdrawAta, rewardMint: rewardMint, tokenProgram: spl_token_1.TOKEN_PROGRAM_ID, }; let args = { amount, }; let ix = Instructions.withdrawTreasury(args, accounts); return ix; } exports.withdrawTreasury = withdrawTreasury; function refreshUserState(userState, farmState) { let accounts = { userState, farmState, scopePrices: programId_1.PROGRAM_ID, }; let ix = Instructions.refreshUserState(accounts); return ix; } exports.refreshUserState = refreshUserState; function withdrawUnstakedDeposit(owner, userState, farmState, userAta, farmVault, farmVaultsAuthority) { let accounts = { owner, userState, farmState, userAta, farmVault, farmVaultsAuthority, tokenProgram: spl_token_1.TOKEN_PROGRAM_ID, }; let ix = Instructions.withdrawUnstakedDeposits(accounts); return ix; } exports.withdrawUnstakedDeposit = withdrawUnstakedDeposit; function withdrawFromFarmVault(withdrawAuthority, farmState, withdrawerTokenAccount, farmVault, farmVaultsAuthority, amount) { let accounts = { farmState, withdrawAuthority, withdrawerTokenAccount, farmVault, farmVaultsAuthority, tokenProgram: spl_token_1.TOKEN_PROGRAM_ID, }; let args = { amount, }; let ix = Instructions.withdrawFromFarmVault(args, accounts); return ix; } exports.withdrawFromFarmVault = withdrawFromFarmVault; function depositToFarmVault(depositor, farmState, farmVault, depositorAta, amount) { let accounts = { depositor, farmState, farmVault, depositorAta, tokenProgram: spl_token_1.TOKEN_PROGRAM_ID, }; let args = { amount, }; let ix = Instructions.depositToFarmVault(args, accounts); return ix; } exports.depositToFarmVault = depositToFarmVault; function serializeConfigValue(reward_index, value) { let buffer; buffer = Buffer.alloc(32); buffer.writeBigUint64LE(reward_index, 0); buffer.writeBigUInt64LE(value, 8); return [...buffer]; } exports.serializeConfigValue = serializeConfigValue; //# sourceMappingURL=operations.js.map