Invalid ABI error while creating stream

Hi,
Iā€™m getting Invalid ABI error while creating a stream with the below payload.

{"abi":[{"type":"event","name":"AddEventMarker","anonymous":false,"inputs":[{"type":"address","name":"owner","indexed":true},{"type":"uint256","name":"eventId","indexed":true},{"type":"string","name":"markerImageURI","indexed":false}]},{"type":"event","name":"CreatePinyWorldEvent","anonymous":false,"inputs":[{"type":"address","name":"creator","indexed":true},{"type":"uint256","name":"id","indexed":true},{"type":"tuple","name":"eventData","indexed":false},{"type":"tuple","name":"paymentData","indexed":false}]},{"type":"event","name":"MintEventMarker","anonymous":false,"inputs":[{"type":"address","name":"minter","indexed":true},{"type":"uint256","name":"eventId","indexed":true},{"type":"uint256","name":"eventTokenId","indexed":false},{"type":"uint256","name":"tokenId","indexed":true},{"type":"string","name":"markerImageURI","indexed":false},{"type":"tuple","name":"eventPaymentData","indexed":false},{"type":"uint256","name":"serviceFee","indexed":false}]},{"type":"event","name":"RemoveEventMarker","anonymous":false,"inputs":[{"type":"address","name":"owner","indexed":true},{"type":"uint256","name":"eventId","indexed":true},{"type":"string","name":"markerImageURI","indexed":false}]},{"type":"event","name":"SaveEventPaymentSetting","anonymous":false,"inputs":[{"type":"address","name":"owner","indexed":false},{"type":"uint256","name":"eventId","indexed":true},{"type":"address","name":"tokenAddress","indexed":false},{"type":"tuple","name":"paymentSetting","indexed":false}]},{"type":"event","name":"StopPinyWorldEvent","anonymous":false,"inputs":[{"type":"address","name":"owner","indexed":true},{"type":"uint256","name":"eventId","indexed":true}]},{"type":"event","name":"TransferPinyWorldEvent","anonymous":false,"inputs":[{"type":"uint256","name":"eventId","indexed":true},{"type":"address","name":"from","indexed":true},{"type":"address","name":"to","indexed":true}]},{"type":"event","name":"UpdatePinyWorldEvent","anonymous":false,"inputs":[{"type":"address","name":"owner","indexed":true},{"type":"tuple","name":"eventUpdateData","indexed":false}]}],"advancedOptions":[{"topic0":"AddEventMarker(address,uint256,string)","filter":{},"includeNativeTxs":false},{"topic0":"CreatePinyWorldEvent(address,uint256,(string,string,uint256,bool,bool,string,string,uint256),(address,uint256,address))","filter":{},"includeNativeTxs":false},{"topic0":"MintEventMarker(address,uint256,uint256,uint256,string,(address,uint256,address),uint256)","filter":{},"includeNativeTxs":false},{"topic0":"RemoveEventMarker(address,uint256,string)","filter":{},"includeNativeTxs":false},{"topic0":"SaveEventPaymentSetting(address,uint256,address,(bool,uint256,address))","filter":{},"includeNativeTxs":false},{"topic0":"StopPinyWorldEvent(address,uint256)","filter":{},"includeNativeTxs":false},{"topic0":"TransferPinyWorldEvent(uint256,address,address)","filter":{},"includeNativeTxs":false},{"topic0":"UpdatePinyWorldEvent(address,(uint256,bool,bool))","filter":{},"includeNativeTxs":false}],"topic0":["AddEventMarker(address,uint256,string)","CreatePinyWorldEvent(address,uint256,(string,string,uint256,bool,bool,string,string,uint256),(address,uint256,address))","MintEventMarker(address,uint256,uint256,uint256,string,(address,uint256,address),uint256)","RemoveEventMarker(address,uint256,string)","SaveEventPaymentSetting(address,uint256,address,(bool,uint256,address))","StopPinyWorldEvent(address,uint256)","TransferPinyWorldEvent(uint256,address,address)","UpdatePinyWorldEvent(address,(uint256,bool,bool))"],"chainIds":["0x5","0x13881","0x61"],"webhookUrl":"http://url.url/streams","includeContractLogs":true,"includeNativeTxs":false,"includeInternalTxs":false,"tag":"PinyWorldEvent","allAddresses":false,"description":"PinyWorld Events"}

Could you please help me find out what is wrong with my ABI?

Thanks a lot in advance :pray:

Hi @PWDev

Can you please share how your code looks like?

Hi @johnversus,
Thanks for the reply.
Do you want me to share my contract code?
I can share it, but, what is the point of looking at contract code for this issue?

Not the contract code. I mean the code where you are using the ABI.

btw the issue seems to be happening due to the tuple in the ABI. You will have to replace the tuple param ABI with the actual ABI of the tuple definition.

example: This should be replace with the ABI of eventUpdateData tuple

{
        "type": "tuple",
        "name": "eventUpdateData",
        "indexed": false
      }

Thanks for the reply @johnversus,
Below is from the original ABI JSON which I pasted into Contract ABI field on Edit Stream page.

{
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "owner",
        "type": "address"
      },
      {
        "components": [
          {
            "internalType": "uint256",
            "name": "eventId",
            "type": "uint256"
          },
          {
            "internalType": "bool",
            "name": "enabled",
            "type": "bool"
          },
          {
            "internalType": "bool",
            "name": "customMarkerEnabled",
            "type": "bool"
          }
        ],
        "indexed": false,
        "internalType": "struct PinyWorldLibrary.EventUpdateParams",
        "name": "eventUpdateData",
        "type": "tuple"
      }
    ],
    "name": "UpdatePinyWorldEvent",
    "type": "event"
  }

When I submit this, what is sent to the backend in the payload is

{
      "type": "event",
      "name": "UpdatePinyWorldEvent",
      "anonymous": false,
      "inputs": [
        {
          "type": "address",
          "name": "owner",
          "indexed": true
        },
        {
          "type": "tuple",
          "name": "eventUpdateData",
          "indexed": false
        }
      ]
}

So, it seems like there is an issue on the front-end which is converting tuple values incorrectly, and sending invalid ABI to the back end.

Iā€™m pasting the whole ABI here for reference as well.

[
  {
    "inputs": [
      {
        "internalType": "contract PinyWorldNFT",
        "name": "_pinyWorldNFT",
        "type": "address"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "constructor"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "owner",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "uint256",
        "name": "eventId",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "string",
        "name": "markerImageURI",
        "type": "string"
      }
    ],
    "name": "AddEventMarker",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "creator",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "uint256",
        "name": "id",
        "type": "uint256"
      },
      {
        "components": [
          {
            "internalType": "string",
            "name": "name",
            "type": "string"
          },
          {
            "internalType": "string",
            "name": "description",
            "type": "string"
          },
          {
            "internalType": "uint256",
            "name": "maxMintCount",
            "type": "uint256"
          },
          {
            "internalType": "bool",
            "name": "customMarkerEnabled",
            "type": "bool"
          },
          {
            "internalType": "bool",
            "name": "onlyOncePerAddress",
            "type": "bool"
          },
          {
            "internalType": "string",
            "name": "mapCenterLatitude",
            "type": "string"
          },
          {
            "internalType": "string",
            "name": "mapCenterLongitude",
            "type": "string"
          },
          {
            "internalType": "uint256",
            "name": "mapZoom",
            "type": "uint256"
          }
        ],
        "indexed": false,
        "internalType": "struct PinyWorldLibrary.EventCreateParams",
        "name": "eventData",
        "type": "tuple"
      },
      {
        "components": [
          {
            "internalType": "address",
            "name": "tokenAddress",
            "type": "address"
          },
          {
            "internalType": "uint256",
            "name": "amount",
            "type": "uint256"
          },
          {
            "internalType": "address",
            "name": "transferToAddress",
            "type": "address"
          }
        ],
        "indexed": false,
        "internalType": "struct PinyWorldLibrary.PaymentData",
        "name": "paymentData",
        "type": "tuple"
      }
    ],
    "name": "CreatePinyWorldEvent",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "minter",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "uint256",
        "name": "eventId",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "eventTokenId",
        "type": "uint256"
      },
      {
        "indexed": true,
        "internalType": "uint256",
        "name": "tokenId",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "string",
        "name": "markerImageURI",
        "type": "string"
      },
      {
        "components": [
          {
            "internalType": "address",
            "name": "tokenAddress",
            "type": "address"
          },
          {
            "internalType": "uint256",
            "name": "amount",
            "type": "uint256"
          },
          {
            "internalType": "address",
            "name": "transferToAddress",
            "type": "address"
          }
        ],
        "indexed": false,
        "internalType": "struct PinyWorldLibrary.PaymentData",
        "name": "eventPaymentData",
        "type": "tuple"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "serviceFee",
        "type": "uint256"
      }
    ],
    "name": "MintEventMarker",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "previousOwner",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "newOwner",
        "type": "address"
      }
    ],
    "name": "OwnershipTransferred",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "owner",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "uint256",
        "name": "eventId",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "string",
        "name": "markerImageURI",
        "type": "string"
      }
    ],
    "name": "RemoveEventMarker",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": false,
        "internalType": "address",
        "name": "owner",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "uint256",
        "name": "eventId",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "address",
        "name": "tokenAddress",
        "type": "address"
      },
      {
        "components": [
          {
            "internalType": "bool",
            "name": "enabled",
            "type": "bool"
          },
          {
            "internalType": "uint256",
            "name": "transferAmount",
            "type": "uint256"
          },
          {
            "internalType": "address",
            "name": "transferAddress",
            "type": "address"
          }
        ],
        "indexed": false,
        "internalType": "struct PinyWorldLibrary.PaymentSetting",
        "name": "paymentSetting",
        "type": "tuple"
      }
    ],
    "name": "SaveEventPaymentSetting",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "_owner",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "address",
        "name": "_listener",
        "type": "address"
      }
    ],
    "name": "SetEventListener",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "owner",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "uint256",
        "name": "eventId",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "bool",
        "name": "noMintFee",
        "type": "bool"
      }
    ],
    "name": "SetEventNoMintFee",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "owner",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "uint256",
        "name": "eventId",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "bool",
        "name": "noServiceFee",
        "type": "bool"
      }
    ],
    "name": "SetEventNoServiceFee",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "owner",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "uint256",
        "name": "eventId",
        "type": "uint256"
      }
    ],
    "name": "StopPinyWorldEvent",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "uint256",
        "name": "eventId",
        "type": "uint256"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "from",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "to",
        "type": "address"
      }
    ],
    "name": "TransferPinyWorldEvent",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "owner",
        "type": "address"
      },
      {
        "components": [
          {
            "internalType": "uint256",
            "name": "eventId",
            "type": "uint256"
          },
          {
            "internalType": "bool",
            "name": "enabled",
            "type": "bool"
          },
          {
            "internalType": "bool",
            "name": "customMarkerEnabled",
            "type": "bool"
          }
        ],
        "indexed": false,
        "internalType": "struct PinyWorldLibrary.EventUpdateParams",
        "name": "eventUpdateData",
        "type": "tuple"
      }
    ],
    "name": "UpdatePinyWorldEvent",
    "type": "event"
  },
  {
    "inputs": [],
    "name": "eventListener",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "name": "eventMap",
    "outputs": [
      {
        "internalType": "address",
        "name": "owner",
        "type": "address"
      },
      {
        "internalType": "bool",
        "name": "enabled",
        "type": "bool"
      },
      {
        "internalType": "bool",
        "name": "stopped",
        "type": "bool"
      },
      {
        "internalType": "uint256",
        "name": "maxMintCount",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "currentMintCount",
        "type": "uint256"
      },
      {
        "internalType": "bool",
        "name": "customMarkerEnabled",
        "type": "bool"
      },
      {
        "internalType": "bool",
        "name": "onlyOncePerAddress",
        "type": "bool"
      },
      {
        "internalType": "bool",
        "name": "noServiceFee",
        "type": "bool"
      },
      {
        "internalType": "bool",
        "name": "noMintFee",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "owner",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "pinyWorldNFT",
    "outputs": [
      {
        "internalType": "contract PinyWorldNFT",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "renounceOwnership",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "newOwner",
        "type": "address"
      }
    ],
    "name": "transferOwnership",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "_eventId",
        "type": "uint256"
      },
      {
        "components": [
          {
            "internalType": "string",
            "name": "name",
            "type": "string"
          },
          {
            "internalType": "string",
            "name": "message",
            "type": "string"
          },
          {
            "internalType": "string",
            "name": "latitude",
            "type": "string"
          },
          {
            "internalType": "string",
            "name": "longitude",
            "type": "string"
          },
          {
            "internalType": "uint256",
            "name": "mapZoom",
            "type": "uint256"
          },
          {
            "internalType": "string",
            "name": "imageURI",
            "type": "string"
          }
        ],
        "internalType": "struct PinyWorldLibrary.MarkerProps",
        "name": "_markerProps",
        "type": "tuple"
      },
      {
        "internalType": "string",
        "name": "_tokenURI",
        "type": "string"
      },
      {
        "internalType": "address",
        "name": "_mintPaymentToken",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "_eventPaymentToken",
        "type": "address"
      }
    ],
    "name": "mintMarker",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "payable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "components": [
          {
            "internalType": "string",
            "name": "name",
            "type": "string"
          },
          {
            "internalType": "string",
            "name": "description",
            "type": "string"
          },
          {
            "internalType": "uint256",
            "name": "maxMintCount",
            "type": "uint256"
          },
          {
            "internalType": "bool",
            "name": "customMarkerEnabled",
            "type": "bool"
          },
          {
            "internalType": "bool",
            "name": "onlyOncePerAddress",
            "type": "bool"
          },
          {
            "internalType": "string",
            "name": "mapCenterLatitude",
            "type": "string"
          },
          {
            "internalType": "string",
            "name": "mapCenterLongitude",
            "type": "string"
          },
          {
            "internalType": "uint256",
            "name": "mapZoom",
            "type": "uint256"
          }
        ],
        "internalType": "struct PinyWorldLibrary.EventCreateParams",
        "name": "_eventParams",
        "type": "tuple"
      },
      {
        "internalType": "address",
        "name": "_token",
        "type": "address"
      }
    ],
    "name": "createEvent",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "payable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "_eventId",
        "type": "uint256"
      },
      {
        "internalType": "address",
        "name": "_tokenAddress",
        "type": "address"
      },
      {
        "components": [
          {
            "internalType": "bool",
            "name": "enabled",
            "type": "bool"
          },
          {
            "internalType": "uint256",
            "name": "transferAmount",
            "type": "uint256"
          },
          {
            "internalType": "address",
            "name": "transferAddress",
            "type": "address"
          }
        ],
        "internalType": "struct PinyWorldLibrary.PaymentSetting",
        "name": "_paymentSetting",
        "type": "tuple"
      }
    ],
    "name": "saveEventPaymentSetting",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "_eventId",
        "type": "uint256"
      },
      {
        "internalType": "string",
        "name": "_markerImageURI",
        "type": "string"
      },
      {
        "internalType": "address",
        "name": "_token",
        "type": "address"
      }
    ],
    "name": "addMarker",
    "outputs": [],
    "stateMutability": "payable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "_eventId",
        "type": "uint256"
      },
      {
        "internalType": "string",
        "name": "_markerImageURI",
        "type": "string"
      }
    ],
    "name": "removeMarker",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "components": [
          {
            "internalType": "uint256",
            "name": "eventId",
            "type": "uint256"
          },
          {
            "internalType": "bool",
            "name": "enabled",
            "type": "bool"
          },
          {
            "internalType": "bool",
            "name": "customMarkerEnabled",
            "type": "bool"
          }
        ],
        "internalType": "struct PinyWorldLibrary.EventUpdateParams",
        "name": "_eventUpdateParams",
        "type": "tuple"
      }
    ],
    "name": "updateEvent",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "_eventId",
        "type": "uint256"
      }
    ],
    "name": "stopEvent",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "_eventId",
        "type": "uint256"
      },
      {
        "internalType": "address",
        "name": "_to",
        "type": "address"
      }
    ],
    "name": "transferEvent",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "_eventId",
        "type": "uint256"
      },
      {
        "internalType": "bool",
        "name": "_noServiceFee",
        "type": "bool"
      }
    ],
    "name": "setEventNoServiceFee",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "_eventId",
        "type": "uint256"
      },
      {
        "internalType": "bool",
        "name": "_noMintFee",
        "type": "bool"
      }
    ],
    "name": "setEventNoMintFee",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "_eventListener",
        "type": "address"
      }
    ],
    "name": "setEventListener",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "_eventId",
        "type": "uint256"
      }
    ],
    "name": "getEventOwner",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "_eventId",
        "type": "uint256"
      }
    ],
    "name": "isEventEnabled",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "_eventId",
        "type": "uint256"
      }
    ],
    "name": "isEventStopped",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "_eventId",
        "type": "uint256"
      }
    ],
    "name": "getEventMaxMintCount",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "_eventId",
        "type": "uint256"
      }
    ],
    "name": "getEventCurrentMintCount",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "_eventId",
        "type": "uint256"
      }
    ],
    "name": "isEventOnlyOncePerAddress",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "_address",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "_eventId",
        "type": "uint256"
      }
    ],
    "name": "hasAddressAttendedToEvent",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "_eventId",
        "type": "uint256"
      }
    ],
    "name": "isEventCustomMarkerEnabled",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "_eventId",
        "type": "uint256"
      }
    ],
    "name": "isEventNoServiceFee",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "_eventId",
        "type": "uint256"
      }
    ],
    "name": "isEventNoMintFee",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "_eventId",
        "type": "uint256"
      }
    ],
    "name": "getEventMarkerImageURIList",
    "outputs": [
      {
        "internalType": "string[]",
        "name": "",
        "type": "string[]"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "_eventId",
        "type": "uint256"
      }
    ],
    "name": "getEventMarkerImageURIListLength",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "_eventId",
        "type": "uint256"
      },
      {
        "internalType": "address",
        "name": "_tokenAddress",
        "type": "address"
      }
    ],
    "name": "getEventPaymentSetting",
    "outputs": [
      {
        "components": [
          {
            "internalType": "bool",
            "name": "enabled",
            "type": "bool"
          },
          {
            "internalType": "uint256",
            "name": "transferAmount",
            "type": "uint256"
          },
          {
            "internalType": "address",
            "name": "transferAddress",
            "type": "address"
          }
        ],
        "internalType": "struct PinyWorldLibrary.PaymentSetting",
        "name": "",
        "type": "tuple"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "_eventId",
        "type": "uint256"
      }
    ],
    "name": "getEventPaymentSettingList",
    "outputs": [
      {
        "components": [
          {
            "internalType": "address",
            "name": "tokenAddress",
            "type": "address"
          },
          {
            "components": [
              {
                "internalType": "bool",
                "name": "enabled",
                "type": "bool"
              },
              {
                "internalType": "uint256",
                "name": "transferAmount",
                "type": "uint256"
              },
              {
                "internalType": "address",
                "name": "transferAddress",
                "type": "address"
              }
            ],
            "internalType": "struct PinyWorldLibrary.PaymentSetting",
            "name": "paymentSetting",
            "type": "tuple"
          }
        ],
        "internalType": "struct PinyWorldLibrary.TokenPaymentSetting[]",
        "name": "",
        "type": "tuple[]"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "_eventId",
        "type": "uint256"
      }
    ],
    "name": "getEventEnabledPaymentSettings",
    "outputs": [
      {
        "internalType": "address[]",
        "name": "",
        "type": "address[]"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  }
]

Please let me know, if there is something wrong with the original ABI.

Thanks!

Hi @PWDev

Sry for the delay. Can you please test the streams now with your ABI?

I am not able to reproduce the issue now. So it may have been fixed after one of our updates. :raised_hands:

Hi @johnversus,
Yes, the issue is resolved now, I can successfully create and update streams.

Thanks a lot!

1 Like