newFilter

Creates a filter object, based on filter options, to notify when the state changes (logs). To check if the state has changed, call eth_getFilterChanges

REQUEST PAYLOAD

  • FILTER OBJECT

    • address [optional] - a contract address or a list of addresses from which logs should originate.

    • fromBlock [optional, default is "latest"] - an integer block number, or the string "latest", "earliest" or "pending"

    • toBlock [optional, default is "latest"] - an integer block number, or the string "latest", "earliest" or "pending"

    • topics[optional] - Array of 32 Bytes DATA topics. Topics are order-dependent.

A note on specifying topic filters: Topics are order-dependent. A transaction with a log with topics [A, B] will be matched by the following topic filters:

  • [] - anything"

  • [A] - A in first position (and anything after)

  • [null, B] - anything in first position AND B in second position (and anything after)

  • [A, B] - A in first position AND B in second position (and anything after)"

  • [[A, B], [A, B]] - (A OR B) in first position AND (A OR B) in second position (and anything after)

Filter IDs will be valid for up to fifteen minutes, and can polled by any connection using the same v3 project ID.

EXAMPLE

## JSON-RPC over HTTPS POST
curl https://mainnet-slice-rpc.com \
    -X POST \
    -H "Content-Type: application/json" \
    -d '{"jsonrpc":"2.0","method":"eth_newFilter","params":[{"topics": ["0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"]}],"id":1}'

## JSON-RPC over WSS
wscat -c ws://mainnet-slice-rpc.com
>{"jsonrpc":"2.0","method":"eth_newFilter","params":[{"topics": ["0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"]}],"id":1}

RESPONSE

RESULT FIELDS

  • FILTER ID - A string denoting the newly created filter id

BODY

{
    "jsonrpc":"2.0",
    "id":1,
    "result":"0x10ff0bfba9472c87932c56632eef8f5cc70910e8e71d"
}

Last updated