UNPKG

@frakt-protocol/frakt-sdk

Version:

Frakt SDK for interacting with frakt.xyz protocols

534 lines (533 loc) 23 kB
"use strict"; 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: [], }; }), };