@kamino-finance/farms-sdk
Version:
47 lines • 1.92 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.SIZE_FARM_STATE = exports.SIZE_GLOBAL_CONFIG = void 0;
exports.createFarmAccounts = createFarmAccounts;
exports.createDelegatedFarmAccounts = createDelegatedFarmAccounts;
const kit_1 = require("@solana/kit");
const utils_1 = require("./utils");
const pubkey_1 = require("./pubkey");
const programId_1 = require("../@codegen/farms/programId");
exports.SIZE_GLOBAL_CONFIG = 2136n;
exports.SIZE_FARM_STATE = 8336n;
async function createFarmAccounts(farmsProgramId, rewardTokens, tokenMint, farmAdmin) {
const farmState = await (0, kit_1.generateKeyPairSigner)();
const farmVault = await (0, utils_1.getFarmVaultPDA)(farmsProgramId, farmState.address, tokenMint);
const farmVaultAuthority = await (0, utils_1.getFarmAuthorityPDA)(farmsProgramId, farmState.address);
let rewardVaults = new Array();
let adminRewardAtas = new Array();
let farmAccounts = {
farmAdmin: farmAdmin,
farmState: farmState,
tokenMint,
farmVault,
rewardVaults,
farmVaultAuthority,
rewardMints: rewardTokens,
adminRewardAtas,
};
return farmAccounts;
}
async function createDelegatedFarmAccounts(rewardTokens, farmAdmin, farmsProgramId = programId_1.PROGRAM_ID) {
const farmState = await (0, kit_1.generateKeyPairSigner)();
const farmVaultAuthority = await (0, utils_1.getFarmAuthorityPDA)(farmsProgramId, farmState.address);
let rewardVaults = new Array();
let adminRewardAtas = new Array();
let farmAccounts = {
farmAdmin: farmAdmin,
farmState: farmState,
tokenMint: pubkey_1.DEFAULT_PUBLIC_KEY,
farmVault: pubkey_1.DEFAULT_PUBLIC_KEY,
rewardVaults,
farmVaultAuthority,
rewardMints: rewardTokens,
adminRewardAtas,
};
return farmAccounts;
}
//# sourceMappingURL=setup.js.map