Contract event not syncing from EventSync

thanks for your time. We were able to get the simple TestEmit2 test working thanks to your example, however we cannot get TestEmit3 which includes a tuple of the TestEmit2 object working. I can’t figure out the required ABI nor break down the topic properly, if possible could you show us the required ABI and topic for a tuple, or show us where we can find the documentation for connecting that with Moralis? Thanks again.

Here is the generated ABI and Topic

{
    "anonymous": false,
    "inputs": [
      {
        "components": [
          {
            "internalType": "enum TestList.NftTokenType",
            "name": "nftTokenType",
            "type": "uint8"
          },
          {
            "internalType": "address",
            "name": "nftTokenAddress",
            "type": "address"
          },
          {
            "internalType": "uint256",
            "name": "nftTokenId",
            "type": "uint256"
          },
          {
            "internalType": "uint256",
            "name": "nftNumTokens",
            "type": "uint256"
          }
        ],
        "indexed": false,
        "internalType": "struct TestList.Nft[]",
        "name": "nfts",
        "type": "tuple[]"
      }
    ],
    "name": "TestEmit3",
    "type": "event"
  }

Topic: TestEmit3(Nft[])

We have got it working with Topic: TestEmit3((uint8,address,uint256,uint256)[])

and ABI:

{
  "anonymous": false,
  "inputs": [
    {
      "components": [
        {
          "internalType": "uint8",
          "name": "nftTokenType",
          "type": "uint8"
        },
        {
          "internalType": "address",
          "name": "nftTokenAddress",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "nftTokenId",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "nftNumTokens",
          "type": "uint256"
        }
      ],
      "name": "nfts",
      "type": "tuple[]"
    }
  ],
  "name": "TestEmit3",
  "type": "event"
}

nice!
how does Moralis handle that variable length part? as in if it has an array with 2 elements in an event and an array with 3 elements in another event

reads the array and its elements into a single column/field. can’t complain as long as it works!

I tried this same solution with Event streams API but it is not working for me.

The event topic contains a dynamic length array of struct

Topic I have used: ItemsEquipped(address,uint256,uint256[],(address,unit256,uint256)[])

what code gives that error? did you use the expected abi? what happens?

Yes, I am using the expected ABI and this error is being thrown while creating a stream

What do you mean with while creating a stream?