UNPKG

hadeswap-sdk

Version:

HadeSwap SDK for interacting with protocol

602 lines (601 loc) 31.5 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 helpers_1 = require("../../../helpers"); exports.TRANSACTION_ACCOUNT_PARSERS = { 'Program log: Instruction: InitializePair': ({ transaction, programId, connection, }) => __awaiter(void 0, void 0, void 0, function* () { yield new Promise((f) => setTimeout(f, 150)); // console.log('propose txn: ', JSON.stringify(transaction)); const program = yield (0, helpers_1.returnAnchorProgram)(programId, connection); const pairPubkey = transaction.transaction.message.instructions[0].accounts[0]; const pair = (0, helpers_1.anchorRawBNsAndPubkeysToNumsAndStrings)({ account: yield program.account.nftSwapPair.fetch(pairPubkey, 'finalized'), publicKey: pairPubkey, }); // await fetchAndParseLoan({ // programId, // connection, // loanPubkey: (transaction.transaction.message.instructions[0] as any).accounts[0], // }); return { hadoMarkets: [], nftSwapPairs: [pair], nftPairBoxes: [], classicValidationWhitelists: [], nftValidationAdapters: [], authorityAdapters: [], adapterWhitelists: [], protocolSettingsV1: [], protocolAdminMultisigs: [], liquidityProvisionOrders: [], }; }), 'Program log: Instruction: CreateClassicAuthorityAdapter': ({ transaction, programId, connection, }) => __awaiter(void 0, void 0, void 0, function* () { yield new Promise((f) => setTimeout(f, 150)); // console.log('propose txn: ', JSON.stringify(transaction)); const program = yield (0, helpers_1.returnAnchorProgram)(programId, connection); const authorityAdapterPubkey = transaction.transaction.message.instructions[0].accounts[0]; const authorityAdapter = (0, helpers_1.anchorRawBNsAndPubkeysToNumsAndStrings)({ account: yield program.account.authorityAdapter.fetch(authorityAdapterPubkey, 'finalized'), publicKey: authorityAdapterPubkey, }); // await fetchAndParseLoan({ // programId, // connection, // loanPubkey: (transaction.transaction.message.instructions[0] as any).accounts[0], // }); return { hadoMarkets: [], nftSwapPairs: [], nftPairBoxes: [], classicValidationWhitelists: [], nftValidationAdapters: [], authorityAdapters: [authorityAdapter], adapterWhitelists: [], protocolSettingsV1: [], protocolAdminMultisigs: [], liquidityProvisionOrders: [], }; }), 'Program log: Instruction: DepositSolToPair': ({ transaction, programId, connection, }) => __awaiter(void 0, void 0, void 0, function* () { yield new Promise((f) => setTimeout(f, 150)); // console.log('propose txn: ', JSON.stringify(transaction)); const program = yield (0, helpers_1.returnAnchorProgram)(programId, connection); const pairPubkey = transaction.transaction.message.instructions[0].accounts[0]; const pair = (0, helpers_1.anchorRawBNsAndPubkeysToNumsAndStrings)({ account: yield program.account.nftSwapPair.fetch(pairPubkey, 'finalized'), publicKey: pairPubkey, }); return { hadoMarkets: [], nftSwapPairs: [], nftPairBoxes: [pair], classicValidationWhitelists: [], nftValidationAdapters: [], authorityAdapters: [], adapterWhitelists: [], protocolSettingsV1: [], protocolAdminMultisigs: [], liquidityProvisionOrders: [], }; }), 'Program log: Instruction: ValidateNft': ({ transaction, programId, connection, }) => __awaiter(void 0, void 0, void 0, function* () { yield new Promise((f) => setTimeout(f, 150)); // console.log('propose txn: ', JSON.stringify(transaction)); const program = yield (0, helpers_1.returnAnchorProgram)(programId, connection); const nftValidationAdapterPubkey = transaction.transaction.message.instructions[0].accounts[0]; const nftValidationAdapter = (0, helpers_1.anchorRawBNsAndPubkeysToNumsAndStrings)({ account: yield program.account.nftValidationAdapter.fetch(nftValidationAdapterPubkey, 'finalized'), publicKey: nftValidationAdapterPubkey, }); return { hadoMarkets: [], nftSwapPairs: [], nftPairBoxes: [], classicValidationWhitelists: [], nftValidationAdapters: [nftValidationAdapter], authorityAdapters: [], adapterWhitelists: [], protocolSettingsV1: [], protocolAdminMultisigs: [], liquidityProvisionOrders: [], }; }), 'Program log: Instruction: DepositNftToPair': ({ transaction, programId, connection, }) => __awaiter(void 0, void 0, void 0, function* () { yield new Promise((f) => setTimeout(f, 150)); // console.log('propose txn: ', JSON.stringify(transaction)); const program = yield (0, helpers_1.returnAnchorProgram)(programId, connection); const nftPairBoxPubkey = transaction.transaction.message.instructions[0].accounts[0]; const nftPairBox = (0, helpers_1.anchorRawBNsAndPubkeysToNumsAndStrings)({ account: yield program.account.nftPairBox.fetch(nftPairBoxPubkey, 'finalized'), publicKey: nftPairBoxPubkey, }); const pairPubkey = transaction.transaction.message.instructions[0].accounts[1]; const pair = (0, helpers_1.anchorRawBNsAndPubkeysToNumsAndStrings)({ account: yield program.account.nftSwapPair.fetch(pairPubkey, 'finalized'), publicKey: pairPubkey, }); // await fetchAndParseLoan({ // programId, // connection, // loanPubkey: (transaction.transaction.message.instructions[0] as any).accounts[0], // }); return { hadoMarkets: [], nftSwapPairs: [pair], nftPairBoxes: [nftPairBox], classicValidationWhitelists: [], nftValidationAdapters: [], authorityAdapters: [], adapterWhitelists: [], protocolSettingsV1: [], protocolAdminMultisigs: [], liquidityProvisionOrders: [], }; }), 'Program log: Instruction: InitializeHadoMarket': ({ transaction, programId, connection, }) => __awaiter(void 0, void 0, void 0, function* () { yield new Promise((f) => setTimeout(f, 150)); // console.log('propose txn: ', JSON.stringify(transaction)); const program = yield (0, helpers_1.returnAnchorProgram)(programId, connection); const hadoMarketPubkey = transaction.transaction.message.instructions[0].accounts[0]; const hadoMarket = (0, helpers_1.anchorRawBNsAndPubkeysToNumsAndStrings)({ account: yield program.account.hadoMarket.fetch(hadoMarketPubkey, 'finalized'), publicKey: hadoMarketPubkey, }); // await fetchAndParseLoan({ // programId, // connection, // loanPubkey: (transaction.transaction.message.instructions[0] as any).accounts[0], // }); return { hadoMarkets: [hadoMarket], nftSwapPairs: [], nftPairBoxes: [], classicValidationWhitelists: [], nftValidationAdapters: [], authorityAdapters: [], adapterWhitelists: [], protocolSettingsV1: [], protocolAdminMultisigs: [], liquidityProvisionOrders: [], }; }), 'Program log: Instruction: FinishHadoMarket': ({ transaction, programId, connection, }) => __awaiter(void 0, void 0, void 0, function* () { yield new Promise((f) => setTimeout(f, 150)); // console.log('propose txn: ', JSON.stringify(transaction)); const program = yield (0, helpers_1.returnAnchorProgram)(programId, connection); const hadoMarketPubkey = transaction.transaction.message.instructions[0].accounts[0]; const hadoMarket = (0, helpers_1.anchorRawBNsAndPubkeysToNumsAndStrings)({ account: yield program.account.hadoMarket.fetch(hadoMarketPubkey, 'finalized'), publicKey: hadoMarketPubkey, }); // await fetchAndParseLoan({ // programId, // connection, // loanPubkey: (transaction.transaction.message.instructions[0] as any).accounts[0], // }); return { hadoMarkets: [hadoMarket], nftSwapPairs: [], nftPairBoxes: [], classicValidationWhitelists: [], nftValidationAdapters: [], authorityAdapters: [], adapterWhitelists: [], protocolSettingsV1: [], protocolAdminMultisigs: [], liquidityProvisionOrders: [], }; }), 'Program log: Instruction: AddClassicWhitelistToMarket': ({ transaction, programId, connection, }) => __awaiter(void 0, void 0, void 0, function* () { yield new Promise((f) => setTimeout(f, 150)); // console.log('propose txn: ', JSON.stringify(transaction)); const program = yield (0, helpers_1.returnAnchorProgram)(programId, connection); const classicValidationWhitelistPubkey = transaction.transaction.message.instructions[0].accounts[0]; const classicValidationWhitelist = (0, helpers_1.anchorRawBNsAndPubkeysToNumsAndStrings)({ account: yield program.account.classicValidationWhitelist.fetch(classicValidationWhitelistPubkey, 'finalized'), publicKey: classicValidationWhitelistPubkey, }); // await fetchAndParseLoan({ // programId, // connection, // loanPubkey: (transaction.transaction.message.instructions[0] as any).accounts[0], // }); return { hadoMarkets: [], nftSwapPairs: [], nftPairBoxes: [], classicValidationWhitelists: [classicValidationWhitelist], nftValidationAdapters: [], authorityAdapters: [], adapterWhitelists: [], protocolSettingsV1: [], protocolAdminMultisigs: [], liquidityProvisionOrders: [], }; }), 'Program log: Instruction: DepositLiquidityToPair': ({ transaction, programId, connection, }) => __awaiter(void 0, void 0, void 0, function* () { yield new Promise((f) => setTimeout(f, 150)); // console.log('propose txn: ', JSON.stringify(transaction)); const program = yield (0, helpers_1.returnAnchorProgram)(programId, connection); const liquidityProvisionOrderPubkey = transaction.transaction.message.instructions[0].accounts[0]; const liquidityProvisionOrder = (0, helpers_1.anchorRawBNsAndPubkeysToNumsAndStrings)({ account: yield program.account.liquidityProvisionOrder.fetch(liquidityProvisionOrderPubkey, 'finalized'), publicKey: liquidityProvisionOrderPubkey, }); const nftPairBoxPubkey = transaction.transaction.message.instructions[0].accounts[1]; const nftPairBox = (0, helpers_1.anchorRawBNsAndPubkeysToNumsAndStrings)({ account: yield program.account.nftPairBox.fetch(nftPairBoxPubkey, 'finalized'), publicKey: nftPairBoxPubkey, }); const pairPubkey = transaction.transaction.message.instructions[0].accounts[2]; const pair = (0, helpers_1.anchorRawBNsAndPubkeysToNumsAndStrings)({ account: yield program.account.nftSwapPair.fetch(pairPubkey, 'finalized'), publicKey: pairPubkey, }); // await fetchAndParseLoan({ // programId, // connection, // loanPubkey: (transaction.transaction.message.instructions[0] as any).accounts[0], // }); return { hadoMarkets: [], nftSwapPairs: [pair], nftPairBoxes: [nftPairBox], classicValidationWhitelists: [], nftValidationAdapters: [], authorityAdapters: [], adapterWhitelists: [], protocolSettingsV1: [], protocolAdminMultisigs: [], liquidityProvisionOrders: [liquidityProvisionOrder], }; }), 'Program log: Instruction: PutPairOnMarket': ({ transaction, programId, connection, }) => __awaiter(void 0, void 0, void 0, function* () { yield new Promise((f) => setTimeout(f, 150)); // console.log('propose txn: ', JSON.stringify(transaction)); const program = yield (0, helpers_1.returnAnchorProgram)(programId, connection); const pairPubkey = transaction.transaction.message.instructions[0].accounts[0]; const pair = (0, helpers_1.anchorRawBNsAndPubkeysToNumsAndStrings)({ account: yield program.account.nftSwapPair.fetch(pairPubkey, 'finalized'), publicKey: pairPubkey, }); return { hadoMarkets: [], nftSwapPairs: [pair], nftPairBoxes: [], classicValidationWhitelists: [], nftValidationAdapters: [], authorityAdapters: [], adapterWhitelists: [], protocolSettingsV1: [], protocolAdminMultisigs: [], liquidityProvisionOrders: [], }; }), 'Program log: Instruction: BuyNftFromPair': ({ transaction, programId, connection, }) => __awaiter(void 0, void 0, void 0, function* () { yield new Promise((f) => setTimeout(f, 150)); // console.log('propose txn: ', JSON.stringify(transaction)); const program = yield (0, helpers_1.returnAnchorProgram)(programId, connection); const nftPairBoxPubkey = transaction.transaction.message.instructions[0].accounts[0]; const nftPairBox = (0, helpers_1.anchorRawBNsAndPubkeysToNumsAndStrings)({ account: yield program.account.nftPairBox.fetch(nftPairBoxPubkey, 'finalized'), publicKey: nftPairBoxPubkey, }); const pairPubkey = transaction.transaction.message.instructions[0].accounts[1]; const pair = (0, helpers_1.anchorRawBNsAndPubkeysToNumsAndStrings)({ account: yield program.account.nftSwapPair.fetch(pairPubkey, 'finalized'), publicKey: pairPubkey, }); return { hadoMarkets: [], nftSwapPairs: [pair], nftPairBoxes: [nftPairBox], classicValidationWhitelists: [], nftValidationAdapters: [], authorityAdapters: [], adapterWhitelists: [], protocolSettingsV1: [], protocolAdminMultisigs: [], liquidityProvisionOrders: [], }; }), 'Program log: Instruction: SellNftToTokenToNftPair': ({ transaction, programId, connection, }) => __awaiter(void 0, void 0, void 0, function* () { yield new Promise((f) => setTimeout(f, 150)); // console.log('propose txn: ', JSON.stringify(transaction)); const program = yield (0, helpers_1.returnAnchorProgram)(programId, connection); const pairPubkey = transaction.transaction.message.instructions[0].accounts[0]; const pair = (0, helpers_1.anchorRawBNsAndPubkeysToNumsAndStrings)({ account: yield program.account.nftSwapPair.fetch(pairPubkey, 'finalized'), publicKey: pairPubkey, }); return { hadoMarkets: [], nftSwapPairs: [pair], nftPairBoxes: [], classicValidationWhitelists: [], nftValidationAdapters: [], authorityAdapters: [], adapterWhitelists: [], protocolSettingsV1: [], protocolAdminMultisigs: [], liquidityProvisionOrders: [], }; }), 'Program log: Instruction: SellNftToLiquidityPair': ({ transaction, programId, connection, }) => __awaiter(void 0, void 0, void 0, function* () { yield new Promise((f) => setTimeout(f, 150)); // console.log('propose txn: ', JSON.stringify(transaction)); const program = yield (0, helpers_1.returnAnchorProgram)(programId, connection); const nftPairBoxPubkey = transaction.transaction.message.instructions[0].accounts[0]; const nftPairBox = (0, helpers_1.anchorRawBNsAndPubkeysToNumsAndStrings)({ account: yield program.account.nftPairBox.fetch(nftPairBoxPubkey, 'finalized'), publicKey: nftPairBoxPubkey, }); const pairPubkey = transaction.transaction.message.instructions[0].accounts[1]; const pair = (0, helpers_1.anchorRawBNsAndPubkeysToNumsAndStrings)({ account: yield program.account.nftSwapPair.fetch(pairPubkey, 'finalized'), publicKey: pairPubkey, }); return { hadoMarkets: [], nftSwapPairs: [pair], nftPairBoxes: [nftPairBox], classicValidationWhitelists: [], nftValidationAdapters: [], authorityAdapters: [], adapterWhitelists: [], protocolSettingsV1: [], protocolAdminMultisigs: [], liquidityProvisionOrders: [], }; }), 'Program log: Instruction: WithdrawSolFromPair': ({ transaction, programId, connection, }) => __awaiter(void 0, void 0, void 0, function* () { yield new Promise((f) => setTimeout(f, 150)); // console.log('propose txn: ', JSON.stringify(transaction)); const program = yield (0, helpers_1.returnAnchorProgram)(programId, connection); const pairPubkey = transaction.transaction.message.instructions[0].accounts[0]; const pair = (0, helpers_1.anchorRawBNsAndPubkeysToNumsAndStrings)({ account: yield program.account.nftSwapPair.fetch(pairPubkey, 'finalized'), publicKey: pairPubkey, }); return { hadoMarkets: [], nftSwapPairs: [pair], nftPairBoxes: [], classicValidationWhitelists: [], nftValidationAdapters: [], authorityAdapters: [], adapterWhitelists: [], protocolSettingsV1: [], protocolAdminMultisigs: [], liquidityProvisionOrders: [], }; }), 'Program log: Instruction: WithdrawNftFromPair': ({ transaction, programId, connection, }) => __awaiter(void 0, void 0, void 0, function* () { yield new Promise((f) => setTimeout(f, 150)); // console.log('propose txn: ', JSON.stringify(transaction)); const program = yield (0, helpers_1.returnAnchorProgram)(programId, connection); const nftPairBoxPubkey = transaction.transaction.message.instructions[0].accounts[0]; const nftPairBox = (0, helpers_1.anchorRawBNsAndPubkeysToNumsAndStrings)({ account: yield program.account.nftPairBox.fetch(nftPairBoxPubkey, 'finalized'), publicKey: nftPairBoxPubkey, }); const pairPubkey = transaction.transaction.message.instructions[0].accounts[2]; const pair = (0, helpers_1.anchorRawBNsAndPubkeysToNumsAndStrings)({ account: yield program.account.nftSwapPair.fetch(pairPubkey, 'finalized'), publicKey: pairPubkey, }); return { hadoMarkets: [], nftSwapPairs: [pair], nftPairBoxes: [nftPairBox], classicValidationWhitelists: [], nftValidationAdapters: [], authorityAdapters: [], adapterWhitelists: [], protocolSettingsV1: [], protocolAdminMultisigs: [], liquidityProvisionOrders: [], }; }), 'Program log: Instruction: WithdrawLiquidityFromBalancedPair': ({ transaction, programId, connection, }) => __awaiter(void 0, void 0, void 0, function* () { yield new Promise((f) => setTimeout(f, 150)); // console.log('propose txn: ', JSON.stringify(transaction)); const program = yield (0, helpers_1.returnAnchorProgram)(programId, connection); const nftPairBoxPubkeyFirst = transaction.transaction.message.instructions[0].accounts[2]; const pairPubkey = transaction.transaction.message.instructions[0].accounts[4]; const pair = (0, helpers_1.anchorRawBNsAndPubkeysToNumsAndStrings)({ account: yield program.account.nftSwapPair.fetch(pairPubkey, 'finalized'), publicKey: pairPubkey, }); const liquidityProvisionOrderPubkeyFirst = transaction.transaction.message.instructions[0].accounts[0]; const liquidityProvisionOrderFirst = (0, helpers_1.anchorRawBNsAndPubkeysToNumsAndStrings)({ account: yield program.account.liquidityProvisionOrder.fetch(liquidityProvisionOrderPubkeyFirst, 'finalized'), publicKey: liquidityProvisionOrderPubkeyFirst, }); const liquidityProvisionOrderPubkeySecond = transaction.transaction.message.instructions[0].accounts[1]; const liquidityProvisionOrderSecond = (0, helpers_1.anchorRawBNsAndPubkeysToNumsAndStrings)({ account: yield program.account.liquidityProvisionOrder.fetch(liquidityProvisionOrderPubkeySecond, 'finalized'), publicKey: liquidityProvisionOrderPubkeySecond, }); return { hadoMarkets: [], nftSwapPairs: [pair], nftPairBoxes: [{ publicKey: nftPairBoxPubkeyFirst.toBase58() }], classicValidationWhitelists: [], nftValidationAdapters: [], authorityAdapters: [], adapterWhitelists: [], protocolSettingsV1: [], protocolAdminMultisigs: [], liquidityProvisionOrders: [liquidityProvisionOrderFirst, liquidityProvisionOrderSecond], }; }), 'Program log: Instruction: ModifyPair': ({ transaction, programId, connection, }) => __awaiter(void 0, void 0, void 0, function* () { yield new Promise((f) => setTimeout(f, 150)); // console.log('propose txn: ', JSON.stringify(transaction)); const program = yield (0, helpers_1.returnAnchorProgram)(programId, connection); const pairPubkey = transaction.transaction.message.instructions[0].accounts[0]; const pair = (0, helpers_1.anchorRawBNsAndPubkeysToNumsAndStrings)({ account: yield program.account.nftSwapPair.fetch(pairPubkey, 'finalized'), publicKey: pairPubkey, }); return { hadoMarkets: [], nftSwapPairs: [pair], nftPairBoxes: [], classicValidationWhitelists: [], nftValidationAdapters: [], authorityAdapters: [], adapterWhitelists: [], protocolSettingsV1: [], protocolAdminMultisigs: [], liquidityProvisionOrders: [], }; }), 'Program log: Instruction: WithdrawLiquidityFromBuyOrdersPair': ({ transaction, programId, connection, }) => __awaiter(void 0, void 0, void 0, function* () { yield new Promise((f) => setTimeout(f, 150)); // console.log('propose txn: ', JSON.stringify(transaction)); const program = yield (0, helpers_1.returnAnchorProgram)(programId, connection); const pairPubkey = transaction.transaction.message.instructions[0].accounts[3]; const pair = (0, helpers_1.anchorRawBNsAndPubkeysToNumsAndStrings)({ account: yield program.account.nftSwapPair.fetch(pairPubkey, 'finalized'), publicKey: pairPubkey, }); const liquidityProvisionOrderPubkeyFirst = transaction.transaction.message.instructions[0].accounts[0]; const liquidityProvisionOrderFirst = (0, helpers_1.anchorRawBNsAndPubkeysToNumsAndStrings)({ account: yield program.account.liquidityProvisionOrder.fetch(liquidityProvisionOrderPubkeyFirst, 'finalized'), publicKey: liquidityProvisionOrderPubkeyFirst, }); const liquidityProvisionOrderPubkeySecond = transaction.transaction.message.instructions[0].accounts[1]; const liquidityProvisionOrderSecond = (0, helpers_1.anchorRawBNsAndPubkeysToNumsAndStrings)({ account: yield program.account.liquidityProvisionOrder.fetch(liquidityProvisionOrderPubkeySecond, 'finalized'), publicKey: liquidityProvisionOrderPubkeySecond, }); return { hadoMarkets: [], nftSwapPairs: [pair], nftPairBoxes: [], classicValidationWhitelists: [], nftValidationAdapters: [], authorityAdapters: [], adapterWhitelists: [], protocolSettingsV1: [], protocolAdminMultisigs: [], liquidityProvisionOrders: [liquidityProvisionOrderFirst, liquidityProvisionOrderSecond], }; }), 'Program log: Instruction: WithdrawLiquidityFromSellOrdersPair': ({ transaction, programId, connection, }) => __awaiter(void 0, void 0, void 0, function* () { yield new Promise((f) => setTimeout(f, 150)); // console.log('propose txn: ', JSON.stringify(transaction)); const program = yield (0, helpers_1.returnAnchorProgram)(programId, connection); const pairPubkey = transaction.transaction.message.instructions[0].accounts[11]; const pair = (0, helpers_1.anchorRawBNsAndPubkeysToNumsAndStrings)({ account: yield program.account.nftSwapPair.fetch(pairPubkey, 'finalized'), publicKey: pairPubkey, }); const liquidityProvisionOrderPubkeyFirst = transaction.transaction.message.instructions[0].accounts[0]; const liquidityProvisionOrderFirst = (0, helpers_1.anchorRawBNsAndPubkeysToNumsAndStrings)({ account: yield program.account.liquidityProvisionOrder.fetch(liquidityProvisionOrderPubkeyFirst, 'finalized'), publicKey: liquidityProvisionOrderPubkeyFirst, }); const liquidityProvisionOrderPubkeySecond = transaction.transaction.message.instructions[0].accounts[1]; const liquidityProvisionOrderSecond = (0, helpers_1.anchorRawBNsAndPubkeysToNumsAndStrings)({ account: yield program.account.liquidityProvisionOrder.fetch(liquidityProvisionOrderPubkeySecond, 'finalized'), publicKey: liquidityProvisionOrderPubkeySecond, }); const nftPairBoxPubkeyFirst = transaction.transaction.message.instructions[0].accounts[2]; const nftPairBoxFirst = (0, helpers_1.anchorRawBNsAndPubkeysToNumsAndStrings)({ account: yield program.account.nftPairBox.fetch(nftPairBoxPubkeyFirst, 'finalized'), publicKey: nftPairBoxPubkeyFirst, }); const nftPairBoxPubkeySecond = transaction.transaction.message.instructions[0].accounts[3]; const nftPairBoxSecond = (0, helpers_1.anchorRawBNsAndPubkeysToNumsAndStrings)({ account: yield program.account.nftPairBox.fetch(nftPairBoxPubkeySecond, 'finalized'), publicKey: nftPairBoxPubkeySecond, }); return { hadoMarkets: [], nftSwapPairs: [pair], nftPairBoxes: [nftPairBoxFirst, nftPairBoxSecond], classicValidationWhitelists: [], nftValidationAdapters: [], authorityAdapters: [], adapterWhitelists: [], protocolSettingsV1: [], protocolAdminMultisigs: [], liquidityProvisionOrders: [liquidityProvisionOrderFirst, liquidityProvisionOrderSecond], }; }), 'Program log: Instruction: WithdrawLiquidityOrderVirtualFees': ({ transaction, programId, connection, }) => __awaiter(void 0, void 0, void 0, function* () { yield new Promise((f) => setTimeout(f, 150)); // console.log('propose txn: ', JSON.stringify(transaction)); const program = yield (0, helpers_1.returnAnchorProgram)(programId, connection); const liquidityProvisionOrderPubkey = transaction.transaction.message.instructions[0].accounts[0]; const liquidityProvisionOrder = (0, helpers_1.anchorRawBNsAndPubkeysToNumsAndStrings)({ account: yield program.account.liquidityProvisionOrder.fetch(liquidityProvisionOrderPubkey, 'finalized'), publicKey: liquidityProvisionOrderPubkey, }); return { hadoMarkets: [], nftSwapPairs: [], nftPairBoxes: [], classicValidationWhitelists: [], nftValidationAdapters: [], authorityAdapters: [], adapterWhitelists: [], protocolSettingsV1: [], protocolAdminMultisigs: [], liquidityProvisionOrders: [liquidityProvisionOrder], }; }), 'Program log: Instruction: CloseVirtualNftSwapPair': ({ transaction, programId, connection, }) => __awaiter(void 0, void 0, void 0, function* () { yield new Promise((f) => setTimeout(f, 150)); // console.log('propose txn: ', JSON.stringify(transaction)); const program = yield (0, helpers_1.returnAnchorProgram)(programId, connection); const pairPubkey = transaction.transaction.message.instructions[0].accounts[0]; return { hadoMarkets: [], nftSwapPairs: [], nftPairBoxes: [{ publicKey: pairPubkey.toBase58() }], classicValidationWhitelists: [], nftValidationAdapters: [], authorityAdapters: [], adapterWhitelists: [], protocolSettingsV1: [], protocolAdminMultisigs: [], liquidityProvisionOrders: [], }; }), 'Program log: Instruction: WithdrawVirtualFees': ({ transaction, programId, connection, }) => __awaiter(void 0, void 0, void 0, function* () { yield new Promise((f) => setTimeout(f, 150)); // console.log('propose txn: ', JSON.stringify(transaction)); const program = yield (0, helpers_1.returnAnchorProgram)(programId, connection); const pairPubkey = transaction.transaction.message.instructions[0].accounts[0]; const pair = (0, helpers_1.anchorRawBNsAndPubkeysToNumsAndStrings)({ account: yield program.account.nftSwapPair.fetch(pairPubkey, 'finalized'), publicKey: pairPubkey, }); return { hadoMarkets: [], nftSwapPairs: [], nftPairBoxes: [pair], classicValidationWhitelists: [], nftValidationAdapters: [], authorityAdapters: [], adapterWhitelists: [], protocolSettingsV1: [], protocolAdminMultisigs: [], liquidityProvisionOrders: [], }; }), };