Stream does not sent webhook

Hello! I need some assistance as always. I have a stream created with plenty addresses. It also includes the address below: 0xe052eaa0ce47c845ea193949dd84423c5bc06642
This address is the main deployer. I expected stream will send callbacks to our backend when transaction s are deployed from the address. But it doesn’t work so.
One of the transaction which I expected to get notification about: https://goerli.etherscan.io/tx/0x2a9da2b8c5fc632a206a67ef69736e5bb0915aef8c100110b67485288fae0015

The stream:

    {
      "id": "e8643649-bbbd-4fb0-a7d5-dd551f3724ac",
      "webhookUrl": "...skipped.../api/v1/moralis/webhook",
      "description": "Collections Stream",
      "tag": "Project",
      "demo": false,
      "topic0": [
        "Approval(address,address,uint256)",
        "OwnershipTransferred(address,address)",
        "ApprovalForAll(address,address,bool)",
        "Transfer(address,address,uint256)",
        "UtilityUsed(uint256,address)"
      ],
      "allAddresses": false,
      "includeNativeTxs": true,
      "includeContractLogs": true,
      "includeInternalTxs": false,
      "getNativeBalances": [],
      "triggers": [],
      "abi": [
        {
          "anonymous": false,
          "inputs": [
            {
              "indexed": true,
              "internalType": "address",
              "name": "owner",
              "type": "address"
            },
            {
              "indexed": true,
              "internalType": "address",
              "name": "approved",
              "type": "address"
            },
            {
              "indexed": true,
              "internalType": "uint256",
              "name": "tokenId",
              "type": "uint256"
            }
          ],
          "name": "Approval",
          "type": "event"
        },
        {
          "anonymous": false,
          "inputs": [
            {
              "indexed": true,
              "internalType": "address",
              "name": "owner",
              "type": "address"
            },
            {
              "indexed": true,
              "internalType": "address",
              "name": "operator",
              "type": "address"
            },
            {
              "indexed": false,
              "internalType": "bool",
              "name": "approved",
              "type": "bool"
            }
          ],
          "name": "ApprovalForAll",
          "type": "event"
        },
        {
          "anonymous": false,
          "inputs": [
            {
              "indexed": false,
              "internalType": "uint8",
              "name": "version",
              "type": "uint8"
            }
          ],
          "name": "Initialized",
          "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": "from",
              "type": "address"
            },
            {
              "indexed": true,
              "internalType": "address",
              "name": "to",
              "type": "address"
            },
            {
              "indexed": true,
              "internalType": "uint256",
              "name": "tokenId",
              "type": "uint256"
            }
          ],
          "name": "Transfer",
          "type": "event"
        },
        {
          "anonymous": false,
          "inputs": [
            {
              "indexed": true,
              "internalType": "uint256",
              "name": "tokenId",
              "type": "uint256"
            },
            {
              "indexed": true,
              "internalType": "address",
              "name": "owner",
              "type": "address"
            }
          ],
          "name": "UtilityUsed",
          "type": "event"
        }
      ],
      "advancedOptions": null,
      "chainIds": [
        "0x5"
      ],
      "status": "active",
      "statusMessage": "Stream is active"
    }

Also, odd thing is that I even do not get empty request when edit the stream.

this transaction has events only from 0x72ac169e720a9bc39ef588a5a26ee3d013104178 address

Thank for the reply! This is clear for me. But I expected to get native TX information about contract deployment. When I tested it I got such transactions.

@cryptokid I expected if I publish a transaction from the address which is in the list I got a callback with the transaction. Does it work so?

I would expect that too

can you try to create another stream that listens only for native transactions and add those addresses?

OK, so do you need some more information? Because I do not understand why the callback did not happen when I deployed a smart contract. I’ve just checked with contract calling transaction - I got a callback. But getting event about TX when I publish contract is very crucial for me.

OK, I’ll try to do this now.

I’ve just checked it: https://goerli.etherscan.io/tx/0x16e2e92e71c4b5b9d3778b6e24d0323796529765d431a97d79741d060d4c8b1e

And I did not get webhook for by the stream below:

{
      "id": "b824d516-4ea8-4cd1-85c5-9685347a0fd8",
      "webhookUrl": "...skipped../api/v1/moralis/webhook",
      "description": "Project TX stream",
      "tag": "Project TX",
      "demo": false,
      "topic0": null,
      "allAddresses": false,
      "includeNativeTxs": true,
      "includeContractLogs": false,
      "includeInternalTxs": false,
      "getNativeBalances": [],
      "triggers": [],
      "abi": null,
      "advancedOptions": null,
      "chainIds": [
        "0x5"
      ],
      "status": "active",
      "statusMessage": "Stream is active"
    }

And I did not get a callback.

I’ll also create a stream now to check

Hm… Sorry, I accidentally confused you. I got callbacks but with small timeout. Slowly than I expected. Anyway, It seems work in such configuration.

you still don’t receive that test webhook request when you update the stream?

can you try to pause and enable back the stream?

can you try to create another stream from start with the same configuration?

OK, I will try everything what you mentioned and give you a feedback.

1 Like

@cryptokid I’ve tried to recreate the stream and faced with such issue:
it works (any kind of notification) until my backend returns HTTP error. After that notification does not arrived. E.g. I just faced with an issue when Transfer log event handled in a wrong way - it returns 500 error. When I’ve fixed it, I stopped receive any Transfer logs.

Id you get an error then that error should be present in history for a period of time that depends on the account type. If there are too many errors then the stream will go in an error state and you have to change its state after that to enable it again

@cryptokid where I can find this history and how can I check a status? I see only one option: pause/unpause.

It is easier to use the swagger interface for that

@cryptokid thank you, I’ll check it

@cryptokid I tried and got empty result. https://api.moralis-streams.com/history is it correct endpoint?