All packages
injective_common

injective_common

StreamingFast
This is not the latest version — go to v0.2.5
v0.2.2/4.1K downloads

Package ref

injective-common@v0.2.2

Run package

CLI

Run filtered_events from the command line.

substreams run injective-common@v0.2.2 filtered_events -e injective-mainnet --start-block -1
Authenticate by running substreams auth or directly on thegraph.market (see docs).

README

common Injective substreams modules to extract events and transactions with indexing

Use one of those optimized modules with a query string as a parameter:

  • filtered_events
  • filtered_event_groups
  • filtered_trx_by_events

The query string will be used for the blockfilter as well as the actual filtering of the events/transactions

The following modules are also available for more specific filtering, but they do not use an index by default:

  • filtered_events_by_attribute_value
  • filtered_event_groups_by_attribute_value
  • filtered_trx_by_events_attribute_value

They should be overriden by setting the blockFilter.Query.String parameter to a query that matches the event type and attribute keys only. See derived-substreams-example.yaml for an example (https://github.com/streamingfast/substreams-foundational-modules/injective-common)

Modules

Execution graph

9 modules
mapMain

filtered_events

`filtered_events` reads from `all_events` and applies a filter on the event types and attribute keys, only outputing the events that match the filter. Example usage: `(type:message && attr:action) || (type:wasm && attr:_contract_address)`

Output

sf.substreams.cosmos.v1.EventList

Inputs

map

all_events

`all_events` reads from the `sf.cosmos.type.v2.Block` source and outputs a list of all events in the block. Some events are at the block level, others appear inside the transactions.

Output

sf.substreams.cosmos.v1.EventList

map

all_transactions

`all_transactions` reads from the `sf.cosmos.type.v2.Block` source and outputs a list of all transactions in the block. Some known message types will be converted to the correct protobuf type, unknown ones will stay as `Any` type.

Output

sf.substreams.cosmos.v1.TransactionList

map

filtered_event_groups

`filtered_event_groups` reads from `all_events` and applies a filter on the event types and attribute keys, outputing all the events from transactions that have at least one event matching the filter. Example usage: `type:injective.peggy.v1.EventDepositClaim || (type:wasm && attr:_contract_address)`

Output

sf.substreams.cosmos.v1.EventList

Inputs

map

filtered_event_groups_by_attribute_value

`filtered_events_groups_by_attribute_value` reads from `all_events` and applies a filter on the event types, attribute keys and values, outputing all the events from transactions that have at least one event matching the filter. Example usage: "type:wasm && attr:_contract_address:inj1v77y5ttah96dc9qkcpc88ad7rce8n88e99t3m5" To use this module with an index, import it and override it with the `use:` parameter, setting blockFilter.Query.String to a query that matches the event type and attribute keys only (ex: `type:wasm && attr:_contract_address`)

Output

sf.substreams.cosmos.v1.EventList

Inputs

map

filtered_events_by_attribute_value

`filtered_events_by_attribute_value` reads from `all_events` and applies a filter on the event types, attribute keys and values, only outputing the events that match the filter. Example usage: "type:wasm && attr:_contract_address:inj1v77y5ttah96dc9qkcpc88ad7rce8n88e99t3m5" To use this module with an index, import it and override it with the `use:` parameter, setting blockFilter.Query.String to a query that matches the event type and attribute keys only (ex: `type:wasm && attr:_contract_address`)

Output

sf.substreams.cosmos.v1.EventList

Inputs

map

filtered_trx_by_events

`filtered_trx_by_events` reads from `all_transactions` and applies a filter on the event types and attribute keys, outputing the complete transactions that have at least one event matching the filter. Example usage: `type:injective.peggy.v1.EventDepositClaim || (type:wasm && attr:_contract_address)`

Output

sf.substreams.cosmos.v1.TransactionList

Inputs

map

filtered_trx_by_events_attribute_value

`filtered_trx_by_events_attribute_value` reads from `all_events` and applies a filter on the event types, attribute keys and values, outputing the complete transactions that have at least one event matching the filter. Example usage: "type:wasm && attr:_contract_address:inj1v77y5ttah96dc9qkcpc88ad7rce8n88e99t3m5" To use this module with an index, import it and override it with the `use:` parameter, setting blockFilter.Query.String to a query that matches the event type and attribute keys only (ex: `type:wasm && attr:_contract_address`)

Output

sf.substreams.cosmos.v1.TransactionList

blockIndex

index_events

`index_events` sets the keys corresponding to all event 'types' and 'attribute keys' in the block ex: `type:coin_received`, `type:injective.peggy.v1.EventDepositClaim`, `attr:action`, `attr:sender` ... The attribute values are never indexed because they have a high cardinality and would be too expensive to index.

Output

sf.substreams.index.v1.Keys