From 093c3d41859b0fee3dd208f4e7251ae4deabe4f8 Mon Sep 17 00:00:00 2001 From: Nicholas Clarke Date: Mon, 1 Nov 2021 14:34:59 -0700 Subject: [PATCH] Handle CPI instructions. --- src/parseTransactions.ts | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/parseTransactions.ts b/src/parseTransactions.ts index 71ebda9..53fa7b9 100644 --- a/src/parseTransactions.ts +++ b/src/parseTransactions.ts @@ -63,8 +63,11 @@ export function parseTransactions(transactionsResult, mangoProgramId) { // only look at cases where instruction is for mango program id // Skip attempting to parse serum instructions, etc - // @clarkeni - what if someone calls mango program via CPI? Do the instruction list contain inner instructions - let instructions = result.transaction.message.instructions.filter( + let instructions = result.transaction.message.instructions; + let innerInstructions = result.meta.innerInstructions.map(e => e.instructions).flat(); + instructions.push(...innerInstructions) + + instructions = instructions.filter( (ix) => ix.programId === mangoProgramId && !(