@kamino-finance/farms-sdk
Version:
44 lines • 1.79 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.createFarmAccounts = createFarmAccounts;
exports.createDelegatedFarmAccounts = createDelegatedFarmAccounts;
const kit_1 = require("@solana/kit");
const utils_1 = require("./utils");
const pubkey_1 = require("./pubkey");
const programs_1 = require("../@codegen/farms/programs");
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 = programs_1.FARMS_PROGRAM_ADDRESS) {
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