Skip to content

Commit

Permalink
fix: check if parsed instruction is not a memo instruction.
Browse files Browse the repository at this point in the history
  • Loading branch information
serejke committed Sep 4, 2024
1 parent bd4e06c commit fc16adf
Show file tree
Hide file tree
Showing 9 changed files with 67 additions and 6 deletions.
2 changes: 1 addition & 1 deletion src/lib/event-parser.ts
Original file line number Diff line number Diff line change
Expand Up @@ -367,7 +367,7 @@ export class EventParser {

for (let innerInstruction of innerInstructions) {
innerInstruction = innerInstruction as ParsedInstruction;
if (!innerInstruction.parsed) continue;
if (!innerInstruction.parsed?.info) continue;
const destination = innerInstruction.parsed.info.destination;
if (
isFeeInstruction(
Expand Down
16 changes: 11 additions & 5 deletions src/tests/index.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -93,11 +93,17 @@ describe("instruction parser", () => {
await compare(currentSignature);
});

test("transaction with extra 'createTokenAccount' instruction", async () => {
currentSignature =
"5SPdWfQrAf8xky2CU9nycbc7MYEcJvmuKYwG2vUJ5BEfzSFK38RTvkqMHA5TuZV5fpaw65LoKVfGfKWmVTi71DHr";
await compare(currentSignature);
});
test("transaction with extra 'createTokenAccount' instruction", async () => {
currentSignature =
"5SPdWfQrAf8xky2CU9nycbc7MYEcJvmuKYwG2vUJ5BEfzSFK38RTvkqMHA5TuZV5fpaw65LoKVfGfKWmVTi71DHr";
await compare(currentSignature);
});

test("transaction with extra memo instruction", async () => {
currentSignature =
"5pcpYhqJyyHHxVaa9mvchML6Njro5Chxv7EFjHPSwxVpdyGAt6uVhd1xUBmXe7ztiuhS1iHFgXm67nwr7mem5itu";
await compare(currentSignature);
});
});

async function compare(signature: string) {
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"jsonrpc":"2.0","result":{"context":{"apiVersion":"1.18.22","slot":287830243},"value":{"data":["AQAAAEWL8jQUbMmHNpVOADdvZA1z7a1jyDebZa3bW4Jv0uMVaC2wsRHyAQAGAQEAAAAXhTJh72q4Uypn8FOGWq0xKT/PB88SCrW5oVcGVI3AKwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQMAIAAXhTJh72q4Uypn8FOGWq0xKT/PB88SCrW5oVcGVI3AKwwAIAAXhTJh72q4Uypn8FOGWq0xKT/PB88SCrW5oVcGVI3AKwEAbAAXhTJh72q4Uypn8FOGWq0xKT/PB88SCrW5oVcGVI3AKxeFMmHvarhTKmfwU4ZarTEpP88HzxIKtbmhVwZUjcArAAAAAAAAAABdAgAAAAAAAAAAAAAAAAAAAABdAgAAAAAAAAAAAAAAAAAAAAAEAEEAF4UyYe9quFMqZ/BThlqtMSk/zwfPEgq1uaFXBlSNwCsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAIEAF4UyYe9quFMqZ/BThlqtMSk/zwfPEgq1uaFXBlSNwCscN+ZDO3ME3YJzeuQNm4vzxJ9bDmxJqNUzKLPlBpAcVwEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgBAABeFMmHvarhTKmfwU4ZarTEpP88HzxIKtbmhVwZUjcArAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASAEAAgnQVMyO1m+9u94xUbiBsQYh7lCdtZO+gj0jz14I76NgXkkg7bIoqh7dHHYFPlZH5OVyECpzj2fTVun06S4p0nhMArgCCdBUzI7Wb7273jFRuIGxBiHuUJ21k76CPSPPXgjvo2BeSSDtsiiqHt0cdgU+Vkfk5XIQKnOPZ9NW6fTpLinSeCgAAAFBheVBhbCBVU0QFAAAAUFlVU0RPAAAAaHR0cHM6Ly90b2tlbi1tZXRhZGF0YS5wYXhvcy5jb20vcHl1c2RfbWV0YWRhdGEvcHJvZC9zb2xhbmEvcHl1c2RfbWV0YWRhdGEuanNvbgAAAAA=","base64"],"executable":false,"lamports":221905240,"owner":"TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb","rentEpoch":18446744073709552000,"space":866}},"id":"429d1bac-8871-413a-9866-0edadf7b0dfa"}
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"jsonrpc":"2.0","result":{"context":{"apiVersion":"1.18.22","slot":287830209},"value":{"data":["vAfFbmCtPT8Xc4LqxlSPuh/TLP2QygKz58+hhf3Oc5j+t8bJVyMRWSrmKOevmWlyy50FUHGabXBCLpjRBvoPlQ5zXLrl+QkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","base64"],"executable":false,"lamports":2039280,"owner":"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA","rentEpoch":18446744073709552000,"space":165}},"id":"3ce46a02-64b5-4e66-a049-11d71299516d"}
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"jsonrpc":"2.0","result":{"context":{"apiVersion":"1.18.22","slot":287830209},"value":{"data":["xvp6877brTo9ZfNqq8l0MbG75MLS9uDkfKYCA0UvXWEhKLkc3rGQnKkNhS3t7Mpbczo4FsqE5ksoqBonDf0N/9Zi2n88AAAAAAAAAKTNEMfTtvhsAF7LpEmh24qdi1GmdXN6hGY2C1vlMXZyAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","base64"],"executable":false,"lamports":2039280,"owner":"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA","rentEpoch":18446744073709552000,"space":165}},"id":"e800c964-adb2-4938-a9e2-70108f325d04"}
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"jsonrpc":"2.0","result":{"context":{"apiVersion":"1.18.22","slot":287830209},"value":{"data":["BpuIV/6rgYT7aH9jRhjANdrEOdwa6ztVmKDwAAAAAAHk2ZOAmbelkLV2NQVw/NgXiRqqi2noe7wAvjDy7ULUlTZ7LX26AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAADwHR8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","base64"],"executable":false,"lamports":800966088998,"owner":"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA","rentEpoch":18446744073709552000,"space":165}},"id":"eb85596c-074f-4e30-bb76-565efb2bf972"}
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"jsonrpc":"2.0","result":{"context":{"apiVersion":"1.18.22","slot":287830209},"value":{"data":["vAfFbmCtPT8Xc4LqxlSPuh/TLP2QygKz58+hhf3Oc5jk2ZOAmbelkLV2NQVw/NgXiRqqi2noe7wAvjDy7ULUlUHmBi0jHwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","base64"],"executable":false,"lamports":2039280,"owner":"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA","rentEpoch":18446744073709552000,"space":165}},"id":"83ef5856-6fd3-449b-b58c-23eab2df80bd"}
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
{
"parsedEvents": [
{
"data": {
"amm": "2wT8Yq49kHgDzXuPxZSaeLaH1qbmGXtEyPy64bL7aD3c",
"inputMint": "So11111111111111111111111111111111111111112",
"inputAmount": "27309941",
"outputMint": "DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263",
"outputAmount": "17536596017"
},
"name": "ParsedSwapEvent"
},
{
"data": {
"amm": "Eo7WjKq67rjJQSZxS6z3YkapzY3eMj6Xy8X5EQVn5UaB",
"inputMint": "DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263",
"inputAmount": "17536596017",
"outputMint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"outputAmount": "3948209"
},
"name": "ParsedSwapEvent"
},
{
"data": {
"amm": "whirLbMiicVdio4qvUfM5KAg6Ct8VwpYzGff3uctyCc",
"inputMint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"inputAmount": "3948209",
"outputMint": "2b1kV6DkPAnxd5ixfnxCpjxmKwqjjaYmCZfHsFu24GXo",
"outputAmount": "3947073"
},
"name": "ParsedSwapEvent"
},
{
"data": {
"account": "6WvkEJyEu72w9LsBpQ9rSU32ALszMrmBETWRuYnx7MMz",
"mint": "2b1kV6DkPAnxd5ixfnxCpjxmKwqjjaYmCZfHsFu24GXo",
"amount": "33550"
},
"name": "ParsedFeeEvent"
}
],
"initialPositions": [
0
],
"finalPositions": [
2
],
"exactOutAmount": "3913523"
}

Large diffs are not rendered by default.

0 comments on commit fc16adf

Please sign in to comment.