Skip to main content
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. This method will use 40 Compute Units.
This method is served by nanoreth, the HyperEVM archive client, because the Hyperliquid node does not implement it.

Reference: Here

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)“

Parameters

Object - The filter options:
  • fromBlock: QUANTITY|TAG - (optional, default: "latest") Integer block number, or "latest" for the last mined block, "safe" for the latest safe block, "finalized" for the latest finalized block, "pending" for the pending block, or "earliest" for the genesis block.
  • toBlock: QUANTITY|TAG - (optional, default: "latest") Integer block number, or "latest" for the last mined block, "safe" for the latest safe block, "finalized" for the latest finalized block, "pending" for the pending block, or "earliest" for the genesis block.
  • address: DATA|Array, 20 Bytes - (optional) Contract address or a list of addresses from which logs should originate.
  • topics: Array of DATA, - (optional) Array of 32 Bytes DATA topics. Topics are order-dependent. Each topic can also be an array of DATA with “or” options.

Returns

QUANTITY - A filter id.