@frakt-protocol/frakt-sdk
Version:
Frakt SDK for interacting with frakt.xyz protocols
534 lines (533 loc) • 23 kB
JavaScript
;
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.TRANSACTION_ACCOUNT_PARSERS = void 0;
const types_1 = require("../types");
const fetchAndParsers_1 = require("./fetchAndParsers");
exports.TRANSACTION_ACCOUNT_PARSERS = {
'Program log: Instruction: ProposeLoan': ({ transaction, programId, connection, }) => __awaiter(void 0, void 0, void 0, function* () {
const loan = yield (0, fetchAndParsers_1.fetchAndParseLoan)({
programId,
connection,
loanPubkey: transaction.transaction.message.instructions[1].accounts[0],
});
return {
collectionInfos: [],
deposits: [],
timeBasedLiquidityPools: [],
priceBasedLiquidityPools: [],
loans: [loan],
liquidationLots: [],
};
}),
'Program log: Instruction: ApproveLoanByAdmin': ({ transaction, programId, connection, }) => __awaiter(void 0, void 0, void 0, function* () {
const instructionAccounts = transaction.transaction.message.instructions[0].accounts;
// console.log("instructionAccounts: ", instructionAccounts);
const loan = yield (0, fetchAndParsers_1.fetchAndParseLoan)({
programId,
connection,
loanPubkey: instructionAccounts[0],
});
const liquidityPoolPubkey = instructionAccounts[2];
const timeBasedLiquidityPools = loan.loanType === types_1.TIME_BASED_LOAN_TYPE
? [
yield (0, fetchAndParsers_1.fetchAndParseTimeBasedLiquidityPool)({
timeBasedLiquidityPoolPubkey: liquidityPoolPubkey,
programId,
connection,
}),
]
: [];
const priceBasedLiquidityPools = loan.loanType === types_1.PRICE_BASED_LOAN_TYPE
? [
yield (0, fetchAndParsers_1.fetchAndParsePriceBasedLiquidityPool)({
priceBasedLiquidityPoolPubkey: liquidityPoolPubkey,
programId,
connection,
}),
]
: [];
return {
collectionInfos: [],
deposits: [],
timeBasedLiquidityPools: timeBasedLiquidityPools,
priceBasedLiquidityPools: priceBasedLiquidityPools,
loans: [loan],
liquidationLots: [],
// lotTickets: [],
// nftAttempts: [],
};
}),
'Program log: Instruction: PaybackLoan': ({ transaction, programId, connection, }) => __awaiter(void 0, void 0, void 0, function* () {
const instructionAccounts = transaction.transaction.message.instructions[1].accounts;
const loan = yield (0, fetchAndParsers_1.fetchAndParseLoan)({
programId,
connection,
loanPubkey: instructionAccounts[0],
});
const liquidityPoolPubkey = instructionAccounts[1];
const timeBasedLiquidityPools = loan.loanType === types_1.TIME_BASED_LOAN_TYPE
? [
yield (0, fetchAndParsers_1.fetchAndParseTimeBasedLiquidityPool)({
timeBasedLiquidityPoolPubkey: liquidityPoolPubkey,
programId,
connection,
}),
]
: [];
const priceBasedLiquidityPools = loan.loanType === types_1.PRICE_BASED_LOAN_TYPE
? [
yield (0, fetchAndParsers_1.fetchAndParsePriceBasedLiquidityPool)({
priceBasedLiquidityPoolPubkey: liquidityPoolPubkey,
programId,
connection,
}),
]
: [];
return {
collectionInfos: [],
deposits: [],
timeBasedLiquidityPools: timeBasedLiquidityPools,
priceBasedLiquidityPools: priceBasedLiquidityPools,
loans: [loan],
liquidationLots: [],
// lotTickets: [],
// nftAttempts: [],
};
}),
'Program log: Instruction: PutLoanToLiquidationRaffles': ({ transaction, programId, connection, }) => __awaiter(void 0, void 0, void 0, function* () {
const instructionAccounts = transaction.transaction.message.instructions[1].accounts;
const loan = yield (0, fetchAndParsers_1.fetchAndParseLoan)({
programId,
connection,
loanPubkey: instructionAccounts[0],
});
const liquidationLot = yield (0, fetchAndParsers_1.fetchAndParseLiquidationLot)({
programId,
connection,
liquidationLotPubkey: instructionAccounts[1],
});
return {
collectionInfos: [],
deposits: [],
timeBasedLiquidityPools: [],
priceBasedLiquidityPools: [],
loans: [loan],
liquidationLots: [liquidationLot],
// lotTickets: [],
// nftAttempts: [],
};
}),
'Program log: Instruction: RejectLoanByAdmin': ({ transaction, programId, connection, }) => __awaiter(void 0, void 0, void 0, function* () {
const loan = yield (0, fetchAndParsers_1.fetchAndParseLoan)({
programId,
connection,
loanPubkey: transaction.transaction.message.instructions[1].accounts[0],
});
return {
collectionInfos: [],
deposits: [],
timeBasedLiquidityPools: [],
priceBasedLiquidityPools: [],
loans: [loan],
liquidationLots: [],
// lotTickets: [],
// nftAttempts: [],
};
}),
'Program log: Instruction: LiquidateNftToRaffles': ({ transaction, programId, connection, }) => __awaiter(void 0, void 0, void 0, function* () {
const instructionAccounts = transaction.transaction.message.instructions[1].accounts;
const loan = yield (0, fetchAndParsers_1.fetchAndParseLoan)({
programId,
connection,
loanPubkey: instructionAccounts[0],
});
const liquidationLot = yield (0, fetchAndParsers_1.fetchAndParseLiquidationLot)({
programId,
connection,
liquidationLotPubkey: instructionAccounts[1],
});
return {
collectionInfos: [],
deposits: [],
timeBasedLiquidityPools: [],
priceBasedLiquidityPools: [],
loans: [loan],
liquidationLots: [liquidationLot],
// lotTickets: [],
// nftAttempts: [],
};
}),
'Program log: Instruction: PaybackWithGrace': ({ transaction, programId, connection, }) => __awaiter(void 0, void 0, void 0, function* () {
const instructionAccounts = transaction.transaction.message.instructions[1].accounts;
const loan = yield (0, fetchAndParsers_1.fetchAndParseLoan)({
programId,
connection,
loanPubkey: instructionAccounts[0],
});
const liquidationLot = yield (0, fetchAndParsers_1.fetchAndParseLiquidationLot)({
programId,
connection,
liquidationLotPubkey: instructionAccounts[1],
});
const liquidityPoolPubkey = instructionAccounts[1];
const timeBasedLiquidityPools = loan.loanType === types_1.TIME_BASED_LOAN_TYPE
? [
yield (0, fetchAndParsers_1.fetchAndParseTimeBasedLiquidityPool)({
timeBasedLiquidityPoolPubkey: liquidityPoolPubkey,
programId,
connection,
}),
]
: [];
const priceBasedLiquidityPools = loan.loanType === types_1.PRICE_BASED_LOAN_TYPE
? [
yield (0, fetchAndParsers_1.fetchAndParsePriceBasedLiquidityPool)({
priceBasedLiquidityPoolPubkey: liquidityPoolPubkey,
programId,
connection,
}),
]
: [];
return {
collectionInfos: [],
deposits: [],
timeBasedLiquidityPools: timeBasedLiquidityPools,
priceBasedLiquidityPools: priceBasedLiquidityPools,
loans: [loan],
liquidationLots: [liquidationLot],
// lotTickets: [],
// nftAttempts: [],
};
}),
'Program log: Instruction: DepositLiquidity': ({ transaction, programId, connection, }) => __awaiter(void 0, void 0, void 0, function* () {
const instructionAccounts = transaction.transaction.message.instructions[0].accounts;
const deposit = yield (0, fetchAndParsers_1.fetchAndParseDeposit)({
programId,
connection,
depositPubkey: instructionAccounts[2],
});
const liquidityPoolPubkey = instructionAccounts[0];
const timeBasedLiquidityPools = [];
try {
const timeBasedLiquidityPool = yield (0, fetchAndParsers_1.fetchAndParseTimeBasedLiquidityPool)({
timeBasedLiquidityPoolPubkey: liquidityPoolPubkey,
programId,
connection,
});
timeBasedLiquidityPools.push(timeBasedLiquidityPool);
}
catch (err) { }
const priceBasedLiquidityPools = [];
try {
const priceBasedLiquidityPool = yield (0, fetchAndParsers_1.fetchAndParsePriceBasedLiquidityPool)({
priceBasedLiquidityPoolPubkey: liquidityPoolPubkey,
programId,
connection,
});
priceBasedLiquidityPools.push(priceBasedLiquidityPool);
}
catch (err) { }
return {
collectionInfos: [],
deposits: [deposit],
timeBasedLiquidityPools: timeBasedLiquidityPools,
priceBasedLiquidityPools: priceBasedLiquidityPools,
loans: [],
liquidationLots: [],
// lotTickets: [],
// nftAttempts: [],
};
}),
'Program log: Instruction: HarvestLiquidity': ({ transaction, programId, connection, }) => __awaiter(void 0, void 0, void 0, function* () {
const instructionAccounts = transaction.transaction.message.instructions[0].accounts;
const deposit = yield (0, fetchAndParsers_1.fetchAndParseDeposit)({
programId,
connection,
depositPubkey: instructionAccounts[2],
});
const liquidityPoolPubkey = instructionAccounts[0];
const timeBasedLiquidityPools = [];
try {
const timeBasedLiquidityPool = yield (0, fetchAndParsers_1.fetchAndParseTimeBasedLiquidityPool)({
timeBasedLiquidityPoolPubkey: liquidityPoolPubkey,
programId,
connection,
});
timeBasedLiquidityPools.push(timeBasedLiquidityPool);
}
catch (err) { }
const priceBasedLiquidityPools = [];
try {
const priceBasedLiquidityPool = yield (0, fetchAndParsers_1.fetchAndParsePriceBasedLiquidityPool)({
priceBasedLiquidityPoolPubkey: liquidityPoolPubkey,
programId,
connection,
});
priceBasedLiquidityPools.push(priceBasedLiquidityPool);
}
catch (err) { }
return {
collectionInfos: [],
deposits: [deposit],
timeBasedLiquidityPools: timeBasedLiquidityPools,
priceBasedLiquidityPools: priceBasedLiquidityPools,
loans: [],
liquidationLots: [],
// lotTickets: [],
// nftAttempts: [],
};
}),
'Program log: Instruction: UnstakeLiquidity': ({ transaction, programId, connection, }) => __awaiter(void 0, void 0, void 0, function* () {
const instructionAccounts = transaction.transaction.message.instructions[0].accounts;
const deposit = yield (0, fetchAndParsers_1.fetchAndParseDeposit)({
programId,
connection,
depositPubkey: instructionAccounts[1],
});
const liquidityPoolPubkey = instructionAccounts[0];
const timeBasedLiquidityPools = [];
try {
const timeBasedLiquidityPool = yield (0, fetchAndParsers_1.fetchAndParseTimeBasedLiquidityPool)({
timeBasedLiquidityPoolPubkey: liquidityPoolPubkey,
programId,
connection,
});
timeBasedLiquidityPools.push(timeBasedLiquidityPool);
}
catch (err) { }
const priceBasedLiquidityPools = [];
try {
const priceBasedLiquidityPool = yield (0, fetchAndParsers_1.fetchAndParsePriceBasedLiquidityPool)({
priceBasedLiquidityPoolPubkey: liquidityPoolPubkey,
programId,
connection,
});
priceBasedLiquidityPools.push(priceBasedLiquidityPool);
}
catch (err) { }
return {
collectionInfos: [],
deposits: [deposit],
timeBasedLiquidityPools: timeBasedLiquidityPools,
priceBasedLiquidityPools: priceBasedLiquidityPools,
loans: [],
liquidationLots: [],
// lotTickets: [],
// nftAttempts: [],
};
}),
'Program log: Instruction: StopLiquidationRaffles': ({ transaction, programId, connection, }) => __awaiter(void 0, void 0, void 0, function* () {
const instructionAccounts = transaction.transaction.message.instructions[1].accounts;
const loan = yield (0, fetchAndParsers_1.fetchAndParseLoan)({
programId,
connection,
loanPubkey: instructionAccounts[0],
});
const liquidationLot = yield (0, fetchAndParsers_1.fetchAndParseLiquidationLot)({
programId,
connection,
liquidationLotPubkey: instructionAccounts[1],
});
return {
collectionInfos: [],
deposits: [],
timeBasedLiquidityPools: [],
priceBasedLiquidityPools: [],
loans: [loan],
liquidationLots: [liquidationLot],
// lotTickets: [],
// nftAttempts: [],
};
}),
'Program log: Instruction: InitializePriceBasedLiquidityPool': ({ transaction, programId, connection, }) => __awaiter(void 0, void 0, void 0, function* () {
const instructionAccounts = transaction.transaction.message.instructions[0].accounts;
const liquidityPoolPubkey = instructionAccounts[0];
const priceBasedLiquidityPool = yield (0, fetchAndParsers_1.fetchAndParsePriceBasedLiquidityPool)({
priceBasedLiquidityPoolPubkey: liquidityPoolPubkey,
programId,
connection,
});
return {
collectionInfos: [],
deposits: [],
timeBasedLiquidityPools: [],
priceBasedLiquidityPools: [priceBasedLiquidityPool],
loans: [],
liquidationLots: [],
// lotTickets: [],
// nftAttempts: [],
};
}),
'Program log: Instruction: UpdatePriceBasedLiquidityPool': ({ transaction, programId, connection, }) => __awaiter(void 0, void 0, void 0, function* () {
const instructionAccounts = transaction.transaction.message.instructions[0].accounts;
const liquidityPoolPubkey = instructionAccounts[0];
const priceBasedLiquidityPool = yield (0, fetchAndParsers_1.fetchAndParsePriceBasedLiquidityPool)({
priceBasedLiquidityPoolPubkey: liquidityPoolPubkey,
programId,
connection,
});
return {
collectionInfos: [],
deposits: [],
timeBasedLiquidityPools: [],
priceBasedLiquidityPools: [priceBasedLiquidityPool],
loans: [],
liquidationLots: [],
// lotTickets: [],
// nftAttempts: [],
};
}),
'Program log: Instruction: InitializeTimeBasedLiquidityPool': ({ transaction, programId, connection, }) => __awaiter(void 0, void 0, void 0, function* () {
const instructionAccounts = transaction.transaction.message.instructions[0].accounts;
const liquidityPoolPubkey = instructionAccounts[0];
const timeBasedLiquidityPool = yield (0, fetchAndParsers_1.fetchAndParseTimeBasedLiquidityPool)({
timeBasedLiquidityPoolPubkey: liquidityPoolPubkey,
programId,
connection,
});
return {
collectionInfos: [],
deposits: [],
timeBasedLiquidityPools: [timeBasedLiquidityPool],
priceBasedLiquidityPools: [],
loans: [],
liquidationLots: [],
// lotTickets: [],
// nftAttempts: [],
};
}),
'Program log: Instruction: UpdateTimeBasedLiquidityPool': ({ transaction, programId, connection, }) => __awaiter(void 0, void 0, void 0, function* () {
const instructionAccounts = transaction.transaction.message.instructions[0].accounts;
const liquidityPoolPubkey = instructionAccounts[0];
const timeBasedLiquidityPool = yield (0, fetchAndParsers_1.fetchAndParseTimeBasedLiquidityPool)({
timeBasedLiquidityPoolPubkey: liquidityPoolPubkey,
programId,
connection,
});
return {
collectionInfos: [],
deposits: [],
timeBasedLiquidityPools: [timeBasedLiquidityPool],
priceBasedLiquidityPools: [],
loans: [],
liquidationLots: [],
// lotTickets: [],
// nftAttempts: [],
};
}),
'Program log: Instruction: InitializeCollectionInfo': ({ transaction, programId, connection, }) => __awaiter(void 0, void 0, void 0, function* () {
const instructionAccounts = transaction.transaction.message.instructions[0].accounts;
const collectionInfoPubkey = instructionAccounts[0];
const collectionInfo = yield (0, fetchAndParsers_1.fetchAndParseCollectionInfo)({
collectionInfoPubkey: collectionInfoPubkey,
programId,
connection,
});
return {
collectionInfos: [collectionInfo],
deposits: [],
timeBasedLiquidityPools: [],
priceBasedLiquidityPools: [],
loans: [],
liquidationLots: [],
// lotTickets: [],
// nftAttempts: [],
};
}),
'Program log: Instruction: UpdateCollectionInfo': ({ transaction, programId, connection, }) => __awaiter(void 0, void 0, void 0, function* () {
const instructionAccounts = transaction.transaction.message.instructions[0].accounts;
const collectionInfoPubkey = instructionAccounts[0];
const collectionInfo = yield (0, fetchAndParsers_1.fetchAndParseCollectionInfo)({
collectionInfoPubkey: collectionInfoPubkey,
programId,
connection,
});
return {
collectionInfos: [collectionInfo],
deposits: [],
timeBasedLiquidityPools: [],
priceBasedLiquidityPools: [],
loans: [],
liquidationLots: [],
// lotTickets: [],
// nftAttempts: [],
};
}),
'Program log: Instruction: TopupFromLiqLoansToPool': ({ transaction, programId, connection, }) => __awaiter(void 0, void 0, void 0, function* () {
const instructionAccounts = transaction.transaction.message.instructions[0].accounts;
const liquidityPoolPubkey = instructionAccounts[0];
const timeBasedLiquidityPools = [];
try {
const timeBasedLiquidityPool = yield (0, fetchAndParsers_1.fetchAndParseTimeBasedLiquidityPool)({
timeBasedLiquidityPoolPubkey: liquidityPoolPubkey,
programId,
connection,
});
timeBasedLiquidityPools.push(timeBasedLiquidityPool);
}
catch (err) { }
const priceBasedLiquidityPools = [];
try {
const priceBasedLiquidityPool = yield (0, fetchAndParsers_1.fetchAndParsePriceBasedLiquidityPool)({
priceBasedLiquidityPoolPubkey: liquidityPoolPubkey,
programId,
connection,
});
priceBasedLiquidityPools.push(priceBasedLiquidityPool);
}
catch (err) { }
return {
collectionInfos: [],
deposits: [],
timeBasedLiquidityPools: timeBasedLiquidityPools,
priceBasedLiquidityPools: priceBasedLiquidityPools,
loans: [],
liquidationLots: [],
// lotTickets: [],
// nftAttempts: [],
};
}),
'Program log: Instruction: WithdrawFromReserveFund': ({ transaction, programId, connection, }) => __awaiter(void 0, void 0, void 0, function* () {
const instructionAccounts = transaction.transaction.message.instructions[0].accounts;
const liquidityPoolPubkey = instructionAccounts[0];
const timeBasedLiquidityPools = [];
try {
const timeBasedLiquidityPool = yield (0, fetchAndParsers_1.fetchAndParseTimeBasedLiquidityPool)({
timeBasedLiquidityPoolPubkey: liquidityPoolPubkey,
programId,
connection,
});
timeBasedLiquidityPools.push(timeBasedLiquidityPool);
}
catch (err) { }
const priceBasedLiquidityPools = [];
try {
const priceBasedLiquidityPool = yield (0, fetchAndParsers_1.fetchAndParsePriceBasedLiquidityPool)({
priceBasedLiquidityPoolPubkey: liquidityPoolPubkey,
programId,
connection,
});
priceBasedLiquidityPools.push(priceBasedLiquidityPool);
}
catch (err) { }
return {
collectionInfos: [],
deposits: [],
timeBasedLiquidityPools: timeBasedLiquidityPools,
priceBasedLiquidityPools: priceBasedLiquidityPools,
loans: [],
liquidationLots: [],
// lotTickets: [],
// nftAttempts: [],
};
}),
};