We’ve come across an issue when trying to sync a contract event. After loading the event sync through the admin portal and it appears to be loaded in correctly into MoralisDB, we find that the events are not being picked up by the contract. We think this might have to do with the fact that the contract in question takes a struct and a list of structs as a parameter, and emits those types in the event. Our other contract event syncs with Moralis work fine with native Solidity types. The EventSync Moralis table shows that the object is loaded in, but with the fields last_synced_block, synced, last_historical_block, and total as undefined.
The Event is called ListingCreated, and the ABI is
{
"anonymous": false,
"inputs": [
{
"components": [
{
"internalType": "uint256",
"name": "listingId",
"type": "uint256"
},
{
"components": [
{
"internalType": "enum MediaEyeOrders.NftTokenType",
"name": "nftTokenType",
"type": "uint8"
},
{
"internalType": "address",
"name": "nftTokenAddress",
"type": "address"
},
{
"internalType": "uint256",
"name": "nftTokenId",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "nftNumTokens",
"type": "uint256"
}
],
"internalType": "struct MediaEyeOrders.Nft[]",
"name": "nfts",
"type": "tuple[]"
},
{
"internalType": "string",
"name": "label",
"type": "string"
},
{
"internalType": "address payable",
"name": "seller",
"type": "address"
},
{
"internalType": "uint256",
"name": "timestamp",
"type": "uint256"
},
{
"components": [
{
"internalType": "address payable",
"name": "recipient",
"type": "address"
},
{
"internalType": "uint256",
"name": "splitBasisPoint",
"type": "uint256"
},
{
"internalType": "address payable",
"name": "charity",
"type": "address"
},
{
"internalType": "uint256",
"name": "charityBasisPoint",
"type": "uint256"
}
],
"internalType": "struct MediaEyeOrders.Split",
"name": "split",
"type": "tuple"
}
],
"indexed": false,
"internalType": "struct MediaEyeOrders.Listing",
"name": "listing",
"type": "tuple"
},
{
"components": [
{
"internalType": "address",
"name": "paymentMethod",
"type": "address"
},
{
"internalType": "uint256",
"name": "price",
"type": "uint256"
}
],
"indexed": false,
"internalType": "struct MediaEyeOrders.ListingPayment[]",
"name": "listingPayments",
"type": "tuple[]"
}
],
"name": "ListingCreated",
"type": "event"
}