All packages

pyth_oracle_price

StreamingFast
v0.4.0/258 downloads

Package ref

pyth-oracle-price@v0.4.0

Run package

CLI

Run injective:filtered_event_groups from the command line.

substreams run pyth-oracle-price@v0.4.0 injective:filtered_event_groups -e injective-mainnet --start-block -1
Authenticate by running substreams auth or directly on thegraph.market (see docs).

README

Injective Pyth Oracle Prices Substreams modules

This module is a simple injective substreams using injective-common modules to filter specific pyth oracle events.

Usage

substreams build
substreams auth
substreams gui

Modules

injective:filtered_events

Filters EventSetPythPrices events. Default param: injective:filtered_events: "type:injective.oracle.v1beta1.EventSetPythPrices"

map_set_oracle_prices

Listens specific events from the injective:filtered_events module, specifically targeting EventSetPythPrices events related to a specified pair address (default is INJ/USD pair). Default param: map_set_oracle_prices: "pairID:0x7a5bc1d2b56ad029048cd63964b3ad2776eadf812edc1a43a31406cb54bff592

store_set_oracle_prices

Stores the EventSetPythPrices events from the map_set_oracle_prices.

Modules

Execution graph

11 modules
map

map_set_oracle_prices

from #3940561

Output

sf.substreams.injective.oracle.v1.SetOraclePrice

store

store_set_oracle_prices

from #3940561

Store value

proto:sf.substreams.injective.oracle.v1.SetOraclePrice

Update policy

set

Show 9 dependencies
mapMain

injective: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

map

injective: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

injective: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

injective: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

map

injective: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

map

injective: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

map

injective: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

map

injective: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

injective: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