Skip to content

Fixed stringLayout (Causing issues when parsing CREATE on pumpfun)#4

Merged
Tee-py merged 2 commits intoTee-py:mainfrom
xTheAlex11:main
Feb 22, 2025
Merged

Fixed stringLayout (Causing issues when parsing CREATE on pumpfun)#4
Tee-py merged 2 commits intoTee-py:mainfrom
xTheAlex11:main

Conversation

@xTheAlex11
Copy link
Contributor

Hey, had issues when parsing create transactions so I looked into it and I think I fixed it, I tested it myself and it works.
Here is an example of faulty parsing:
-- The create action that was parsed, has issues in the name, symbol, uri, mint pretty much everything

{
  type: 'create',
  info: {
    name: 'Saquan The Peng',
    symbol: '\x06\x00\x00\x00S',
    uri: 'nC\x00\x00\x00https://ipfs.io/ipfs/QmVkudFTSJZJXwQYz346rDmThSweJg6FRm9GsRmjR',
    tokenMint: PublicKey [PublicKey(5fuWoubBa16gbab4V826sL529KQpakhPTBLSbr5yMUQJ)] {
      _bn: <BN: 45663237432da66b91e253ecce0fccad7da1d3ade4be4110ad14b51d654d7b73>
    },
    createdBy: PublicKey [PublicKey(6m3D4LEYPbhtc2WCqJc1bbcVc6uteKvVUHemCTXWMpj4)] {
      _bn: <BN: 55927c9828ca5fde489ef4fa06c24d8ed33bd6f7a97df6540bd71187898dbdd3>
    },
    bondingCurve: PublicKey [PublicKey(3nbY42ivVVPfz2icSGj9N2U2Pisq1gLQogX3hkyqbBWC)] {
      _bn: <BN: 29658f3e3f3ff9d84f04a9ed717ae3ea42c781431cad739fac3adb4bac40cc15>
    },
    tokenDecimals: 6
  }
} 

-- Non parsed transaction (I passed data.transaction.transaction

{
  "filters": [
    "pump"
  ],
  "transaction": {
    "transaction": {
      "signature": "4E3YUHR1MmiNv3DzKnB4KUz3mXZw28kgfDbXRfic4Nt99GkUbVESmpY8g4rQAqCaJbN5MEXR1CC5RhfUTs7jPT1N",
      "isVote": false,
      "transaction": {
        "signatures": [
          "4E3YUHR1MmiNv3DzKnB4KUz3mXZw28kgfDbXRfic4Nt99GkUbVESmpY8g4rQAqCaJbN5MEXR1CC5RhfUTs7jPT1N",
          "3pAAbp4bFdEzTqJ91kF5FMSZWixP2mbRSaatu1zBqZq1Rt5Jn72EpKwnycSiQ3jawg4P1hWxYDh8CFMdegm7N64z"
        ],
        "message": {
          "header": {
            "numRequiredSignatures": 2,
            "numReadonlySignedAccounts": 0,
            "numReadonlyUnsignedAccounts": 10
          },
          "accountKeys": [
            "Ecz9CWwWD1FLZYPC48gjQf7NPUqjYJ35oxNmvM2YpP6G",
            "45CXhSbMdztF7kHYNS2APEb5fP3Z9GEZjQf2TvJSpump",
            "5Jjeeb3sojVp9w6tjLh9uxWkoCBUQ7eEJXGNjQU4nTWP",
            "5cXcRJACeoAT2XWDP81a83zUGuMK3mZMTU5KCtWovA8N",
            "7J13bxY6NAAqCStYjnDRCGv8CFA2Gfm5tYMUQUsZrKUG",
            "7ZkMuK99QXS26LVw5iGwKfSBzUbAcX5mP6bjTwkhbzfB",
            "CebN5WGQ4jvEPvsVU4EoHEpgzq1VV7AbicfhtW4xC9iM",
            "ComputeBudget111111111111111111111111111111",
            "6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P",
            "TSLvdd1pWpHVjahSpsvCXUbgwsL3JAcvokwaKt1eokM",
            "4wTV1YmiEkRvAtNtsSGPtUrqRYQMe5SKy2uB4Jjaxnjf",
            "metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s",
            "11111111111111111111111111111111",
            "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA",
            "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL",
            "SysvarRent111111111111111111111111111111111",
            "Ce6TQqeHC9p8KetsN6JsjHK7UTZk7nasjjnr7XxXp9F1"
          ],
          "recentBlockhash": "74kF9ifcibWcejqgcv6MahwPWWRq6B6yKXx8hxnjowVB",
          "instructions": [
            {
              "programIdIndex": 7,
              "accounts": "",
              "data": "EbUyp3"
            },
            {
              "programIdIndex": 7,
              "accounts": "",
              "data": "3axL5qdEKYoR"
            },
            {
              "programIdIndex": 8,
              "accounts": "P5EkvBNdW7y7ULg7Gb",
              "data": "6wPbL57tuiC1vzNoRxcbBYiX9KJhGfxVeQ2p947tMSkQ87rYPsM464uNgPMXVhR3DP5ukdarvnWnkV2zFCuctHzKgkUnSyzbDkBsPdaUytigxkFeYPGCp9sNRedabFtaVwZ3utU8mhKTRePBS9arda4eAcfxGJCwhMKXgjC3LhkLf8CTnuLydAzwdYYRBvdZLkUJxG"
            },
            {
              "programIdIndex": 14,
              "accounts": "1ZifW7W",
              "data": "2"
            },
            {
              "programIdIndex": 8,
              "accounts": "ByJffki6Rqb22zj9",
              "data": "AJTQ2h9DXrBs7CkWZ441iEon9chM5jfkT"
            }
          ],
          "versioned": true,
          "addressTableLookups": []
        }
      },
      "meta": {
        "fee": "382774",
        "preBalances": [
          "59492159",
          "0",
          "0",
          "0",
          "0",
          "0",
          "59255350498318",
          "1",
          "1141440",
          "455537022",
          "271137320",
          "1141440",
          "1",
          "934087680",
          "731913600",
          "1009200",
          "137104014"
        ],
        "postBalances": [
          "11971705",
          "1461600",
          "26231920",
          "2039280",
          "15115600",
          "2039280",
          "59255350748318",
          "1",
          "1141440",
          "455537022",
          "271137320",
          "1141440",
          "1",
          "934087680",
          "731913600",
          "1009200",
          "137104014"
        ],
        "innerInstructions": [
          {
            "index": 2,
            "instructions": [
              {
                "programIdIndex": 12,
                "accounts": "12",
                "data": "11114XtYk9gGfZoo968fyjNUYQJKf9gdmkGoaoBpzFv4vyaSMBn3VKxZdv7mZLzoyX5YNC",
                "stackHeight": 2
              },
              {
                "programIdIndex": 13,
                "accounts": "2",
                "data": "2zt6UCCHp66bJGRS4G7bTsjdxFh6FQ9sBEyRfGyPQKxYisAw",
                "stackHeight": 2
              },
              {
                "programIdIndex": 12,
                "accounts": "13",
                "data": "11112npZeiggj74jpdjnyaoXKQznZSuR59vRrSV7vxdg9g2eRJ4seDwRwaQLDUqBNSEnrB",
                "stackHeight": 2
              },
              {
                "programIdIndex": 14,
                "accounts": "1LgZpPe",
                "data": "1",
                "stackHeight": 2
              },
              {
                "programIdIndex": 13,
                "accounts": "2",
                "data": "84eT",
                "stackHeight": 3
              },
              {
                "programIdIndex": 12,
                "accounts": "14",
                "data": "11119os1e9qSs2u7TsThXqkBSRVFxhmYaFKFZ1waB2X7armDmvK3p5GmLdUxYdg3h7QSrL",
                "stackHeight": 3
              },
              {
                "programIdIndex": 13,
                "accounts": "4",
                "data": "P",
                "stackHeight": 3
              },
              {
                "programIdIndex": 13,
                "accounts": "EG",
                "data": "6RSSKanag6ameRRCQpVtVPvx9J5mHoruw1SSEDz9t5bwM",
                "stackHeight": 3
              },
              {
                "programIdIndex": 11,
                "accounts": "2zeUBhUo",
                "data": "UQsY9dpwMvd6oN3SNBeGpmK2BpKXQtSCdB99gF2ken3giJs5AzUeQjRdWg2ypfcfVmv8t4CEZBiAvFRtqefwKVKR13mD8CqBk4fNN8mXVw5qijXGVdgM8aqx2qKkcA1CmAkUHC6zugD5dzrSG6aoQsQgVM",
                "stackHeight": 2
              },
              {
                "programIdIndex": 12,
                "accounts": "15",
                "data": "3Bxs4EM3hQgDpNyd",
                "stackHeight": 3
              },
              {
                "programIdIndex": 12,
                "accounts": "5",
                "data": "9krTDGKLJBg7SB59",
                "stackHeight": 3
              },
              {
                "programIdIndex": 12,
                "accounts": "5",
                "data": "SYXsBkG6yKW2wWDcW8EDHR6D3P82bKxJGPpM65DD8nHqBfMP",
                "stackHeight": 3
              },
              {
                "programIdIndex": 13,
                "accounts": "LiL",
                "data": "6ApXSNCamGdm",
                "stackHeight": 2
              },
              {
                "programIdIndex": 13,
                "accounts": "5a",
                "data": "31tb",
                "stackHeight": 2
              },
              {
                "programIdIndex": 8,
                "accounts": "H",
                "data": "4fLb67Tb5RHnNKHto6TGHkDuQk4TnnP2mhiAidCrvBxTQq8x4f2UsqhPxYYq5a8Ki982qUdaRXb4TuEo518ktsvFtDrCScPzyCeeQkf1mPXaQcKQNAicCUCMUtyiGVWdWHwk7eDJZsxHyHKaPVPFKBqtNdu6Z4dXR7jVoQ2UwCNyAGVcanem8VGZKGAeLv3D1UY8pPpSgFDwY6pGagQSuTK79Ay6R3ow1q8DTNSrn6v1oaw6SdWfJ4P45ivFGaqAPh48P9duXQrkopSo6k1DoPQnAiXNvfKdYD1KjXxFz",
                "stackHeight": 2
              }
            ]
          },
          {
            "index": 3,
            "instructions": [
              {
                "programIdIndex": 13,
                "accounts": "2",
                "data": "84eT",
                "stackHeight": 2
              },
              {
                "programIdIndex": 12,
                "accounts": "16",
                "data": "11119os1e9qSs2u7TsThXqkBSRVFxhmYaFKFZ1waB2X7armDmvK3p5GmLdUxYdg3h7QSrL",
                "stackHeight": 2
              },
              {
                "programIdIndex": 13,
                "accounts": "6",
                "data": "P",
                "stackHeight": 2
              },
              {
                "programIdIndex": 13,
                "accounts": "P6",
                "data": "6akgp8iUJVrXAq2Ui9Ht4tdYktNRYx3JnWsYdQviN7XXE",
                "stackHeight": 2
              }
            ]
          },
          {
            "index": 4,
            "instructions": [
              {
                "programIdIndex": 13,
                "accounts": "21pu",
                "data": "3YNnzi3Eh3fD",
                "stackHeight": 2
              },
              {
                "programIdIndex": 12,
                "accounts": "13",
                "data": "3Bxs4Be78H4q9bW7",
                "stackHeight": 2
              },
              {
                "programIdIndex": 12,
                "accounts": "17",
                "data": "3Bxs4R5XJvUpL3rP",
                "stackHeight": 2
              },
              {
                "programIdIndex": 8,
                "accounts": "H",
                "data": "2K7nL28PxCW8ejnyCeuMpbW44LDmkPa7NgsDQfQvSNVUuQbjxekzZuWJmupXrHjvnxf6dkRzdTFE957AHLS7fiXymyauiRYhd6fqRbULqdJpUYUFSHHPtVC1vUkh3a8BAx3CUckw6BNrkJfJm4x2CfJfDB2dM1zYKUm8H9C9hMYNtZCYWTt6uRWJvAQF",
                "stackHeight": 2
              }
            ]
          }
        ],
        "innerInstructionsNone": false,
        "logMessages": [
          "Program ComputeBudget111111111111111111111111111111 invoke [1]",
          "Program ComputeBudget111111111111111111111111111111 success",
          "Program ComputeBudget111111111111111111111111111111 invoke [1]",
          "Program ComputeBudget111111111111111111111111111111 success",
          "Program 6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P invoke [1]",
          "Program log: Instruction: Create",
          "Program 11111111111111111111111111111111 invoke [2]",
          "Program 11111111111111111111111111111111 success",
          "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]",
          "Program log: Instruction: InitializeMint2",
          "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 2780 of 174065 compute units",
          "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success",
          "Program 11111111111111111111111111111111 invoke [2]",
          "Program 11111111111111111111111111111111 success",
          "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL invoke [2]",
          "Program log: Create",
          "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [3]",
          "Program log: Instruction: GetAccountDataSize",
          "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1595 of 147051 compute units",
          "Program return: TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA pQAAAAAAAAA=",
          "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success",
          "Program 11111111111111111111111111111111 invoke [3]",
          "Program 11111111111111111111111111111111 success",
          "Program log: Initialize the associated token account",
          "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [3]",
          "Program log: Instruction: InitializeImmutableOwner",
          "Program log: Please upgrade to SPL Token 2022 for immutable owner support",
          "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1405 of 140438 compute units",
          "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success",
          "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [3]",
          "Program log: Instruction: InitializeAccount3",
          "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4214 of 136554 compute units",
          "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success",
          "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL consumed 21990 of 154026 compute units",
          "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL success",
          "Program metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s invoke [2]",
          "Program log: IX: Create Metadata Accounts v3",
          "Program 11111111111111111111111111111111 invoke [3]",
          "Program 11111111111111111111111111111111 success",
          "Program log: Allocate space for the account",
          "Program 11111111111111111111111111111111 invoke [3]",
          "Program 11111111111111111111111111111111 success",
          "Program log: Assign the account to the owning program",
          "Program 11111111111111111111111111111111 invoke [3]",
          "Program 11111111111111111111111111111111 success",
          "Program metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s consumed 34313 of 116530 compute units",
          "Program metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s success",
          "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]",
          "Program log: Instruction: MintTo",
          "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4492 of 79092 compute units",
          "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success",
          "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]",
          "Program log: Instruction: SetAuthority",
          "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 2911 of 72023 compute units",
          "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success",
          "Program 6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P invoke [2]",
          "Program 6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P consumed 2132 of 64821 compute units",
          "Program 6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P success",
          "Program data: G3KpTd7rY3YUAAAAIFNhcXVhbiBUaGUgUGVuZ3VpbiAGAAAAU2FxdWFuQwAAAGh0dHBzOi8vaXBmcy5pby9pcGZzL1FtVmt1ZEZUU0paSlh3UVl6MzQ2ckRtVGhTd2VKZzZGUm05R3NSbWpSRWYyN0MtpmuR4lPszg/MrX2h063kvkEQrRS1HWVNe3MpZY8+Pz/52E8Eqe1xeuPqQseBQxytc5+sOttLrEDMFVWSfJgoyl/eSJ70+gbCTY7TO9b3qX32VAvXEYeJjb3TPsz73bE=",
          "Program 6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P consumed 125828 of 186087 compute units",
          "Program 6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P success",
          "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL invoke [1]",
          "Program log: CreateIdempotent",
          "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]",
          "Program log: Instruction: GetAccountDataSize",
          "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1569 of 54858 compute units",
          "Program return: TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA pQAAAAAAAAA=",
          "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success",
          "Program 11111111111111111111111111111111 invoke [2]",
          "Program 11111111111111111111111111111111 success",
          "Program log: Initialize the associated token account",
          "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]",
          "Program log: Instruction: InitializeImmutableOwner",
          "Program log: Please upgrade to SPL Token 2022 for immutable owner support",
          "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1405 of 48271 compute units",
          "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success",
          "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]",
          "Program log: Instruction: InitializeAccount3",
          "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4188 of 44391 compute units",
          "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success",
          "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL consumed 20339 of 60259 compute units",
          "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL success",
          "Program 6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P invoke [1]",
          "Program log: Instruction: Buy",
          "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]",
          "Program log: Instruction: Transfer",
          "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4645 of 16906 compute units",
          "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success",
          "Program 11111111111111111111111111111111 invoke [2]",
          "Program 11111111111111111111111111111111 success",
          "Program 11111111111111111111111111111111 invoke [2]",
          "Program 11111111111111111111111111111111 success",
          "Program 6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P invoke [2]",
          "Program 6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P consumed 2132 of 4336 compute units",
          "Program 6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P success",
          "Program data: vdt/007mYe4tpmuR4lPszg/MrX2h063kvkEQrRS1HWVNe3MpZY8+P0B4fQEAAAAAcRocBNAAAAAByl/eSJ70+gbCTY7TO9b3qX32VAvXEYeJjb3TPsz73bG1MrlnAAAAAEAkof0GAAAAj/W7QxPPAwBAeH0BAAAAAI9dqfeB0AIA",
          "Program 6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P consumed 39920 of 39920 compute units",
          "Program 6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P success"
        ],
        "logMessagesNone": false,
        "preTokenBalances": [],
        "postTokenBalances": [
          {
            "accountIndex": 3,
            "mint": "45CXhSbMdztF7kHYNS2APEb5fP3Z9GEZjQf2TvJSpump",
            "uiTokenAmount": {
              "uiAmount": 999106577.851791,
              "decimals": 6,
              "amount": "999106577851791",
              "uiAmountString": "999106577.851791"
            },
            "owner": "5Jjeeb3sojVp9w6tjLh9uxWkoCBUQ7eEJXGNjQU4nTWP",
            "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
          },
          {
            "accountIndex": 5,
            "mint": "45CXhSbMdztF7kHYNS2APEb5fP3Z9GEZjQf2TvJSpump",
            "uiTokenAmount": {
              "uiAmount": 893422.148209,
              "decimals": 6,
              "amount": "893422148209",
              "uiAmountString": "893422.148209"
            },
            "owner": "Ecz9CWwWD1FLZYPC48gjQf7NPUqjYJ35oxNmvM2YpP6G",
            "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
          }
        ],
        "rewards": [],
        "loadedWritableAddresses": [],
        "loadedReadonlyAddresses": [],
        "returnDataNone": true,
        "computeUnitsConsumed": "186387"
      },
      "index": "450"
    },
    "slot": "322248899"
  },
  "createdAt": {}
}

Fix stringLayout
Remove non needed params
@Tee-py
Copy link
Owner

Tee-py commented Feb 22, 2025

LGTM 🚀
Thanks for the fix
will merge and push the new version

@Tee-py Tee-py merged commit dbbe321 into Tee-py:main Feb 22, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants