Hi,
I am trying to update Stream configuration like Filter of Advanced Options by admin panel or SDK. However, the result was not stable even I updated the totally same value. As below from admin panel, the ABI with same values but got different result after click twice Update Stream buttom.
ABI :
[
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"name": "from",
"type": "address"
},
{
"indexed": true,
"name": "to",
"type": "address"
},
{
"indexed": true,
"name": "tokenId",
"type": "uint256"
}
],
"name": "Transfer",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "operator",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "from",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "to",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256[]",
"name": "ids",
"type": "uint256[]"
},
{
"indexed": false,
"internalType": "uint256[]",
"name": "values",
"type": "uint256[]"
}
],
"name": "TransferBatch",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "operator",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "from",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "to",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "id",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "TransferSingle",
"type": "event"
}
]
The same issue happened by SDK like :
Moralis.Streams.update error : Moralis SDK Core Error: [C0006] Request failed, Unprocessable Entity(422): Validation Failed {"requestBody.abi":{"message":"Could not match the union against any of the items. Issues: [{\"inputs.$0.abi.0.inputs.0.type\":{\"message\":\"\\\"abi.0.inputs.0.type\\\" is an excess property and therefore is not allowed\",\"value\":\"abi.0.inputs.0.type\"},\"inputs.$0.abi.0.inputs.0.name\":{\"message\":\"\\\"abi.0.inputs.0.name\\\" is an excess property and therefore is not allowed\ ....
or
Moralis.Streams.update error : Moralis SDK Core Error: [C0006] Request failed, Unprocessable Entity(422): Validation Failed {"requestBody.advancedOptions":{"message":"Could not match the union against any of the items. Issues: [{\"advancedOptions.$0.advancedOptions.0.topic0\":{\"message\":\"\\\"advancedOptions.0.topic0\\\" is an excess property and therefore is not allowed\",\"value\":\"advancedOptions.0.topic0\"},\"advancedOptions.$1.advancedOptions.1.topic0\":{\"message\":\"\\\"advancedOptions.1.topic0\\\" is an excess property and therefore is not allowed\",\"value\":\"advancedOptions.1.topic0\"},\"advancedOptions.$2.advancedOptions.2.topic0\":{\"message\":\"\\\"advancedOptions.2.topic0\\\" is an excess property and therefore is not allowed\",\"value\":\"advancedOptions.2.topic0\"}},{\"requestBody.advancedOptions\":{\"message\":\"should be one of the following; [null]\",\"value\":[{\"includeNativeTxs\":false,\"topic0\":\"Transfer(address,address,uint256)\",\"filter\":{\"or\":[{\"in\":[\"from\",[\"0x0000000000000000000000000000000000000001\",\"0x0000000000000000000000000000000000000002\",\"0x0000000000000000000000000000000000000003\",\"0x0000000000000000000000000000000000000004\"]]},{\"in\":[\"to\",[\"0x0000000000000000000000000000000000000001\",\"0x0000000000000000000000000000000000000002\",\"0x0000000000000000000000000000000000000003\",\"0x0000000000000000000000000000000000000004\"]]}]}, ....
Any suggestion to handle this ? Or which export interfaces I should apply to overcome Validation Failed? Thanks a lot.