refactor(substreams): refactor uniswapv3 to use tycho-substreams

This commit is contained in:
zizou
2024-10-11 14:18:22 +02:00
parent d7cc19c4ff
commit 050ae59a83
23 changed files with 46 additions and 928 deletions

View File

@@ -1,13 +1,4 @@
// @generated
pub mod tycho {
pub mod evm {
// @@protoc_insertion_point(attribute:tycho.evm.v1)
pub mod v1 {
include!("tycho.evm.v1.rs");
// @@protoc_insertion_point(tycho.evm.v1)
}
}
}
pub mod uniswap {
// @@protoc_insertion_point(attribute:uniswap.v3)
pub mod v3 {

View File

@@ -1,307 +0,0 @@
// @generated
// This file contains the proto definitions for Substreams common to all integrations.
/// A struct describing a block.
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Block {
/// The blocks hash.
#[prost(bytes="vec", tag="1")]
pub hash: ::prost::alloc::vec::Vec<u8>,
/// The parent blocks hash.
#[prost(bytes="vec", tag="2")]
pub parent_hash: ::prost::alloc::vec::Vec<u8>,
/// The block number.
#[prost(uint64, tag="3")]
pub number: u64,
/// The block timestamp.
#[prost(uint64, tag="4")]
pub ts: u64,
}
/// A struct describing a transaction.
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Transaction {
/// The transaction hash.
#[prost(bytes="vec", tag="1")]
pub hash: ::prost::alloc::vec::Vec<u8>,
/// The sender of the transaction.
#[prost(bytes="vec", tag="2")]
pub from: ::prost::alloc::vec::Vec<u8>,
/// The receiver of the transaction.
#[prost(bytes="vec", tag="3")]
pub to: ::prost::alloc::vec::Vec<u8>,
/// The transactions index within the block.
#[prost(uint64, tag="4")]
pub index: u64,
}
/// A custom struct representing an arbitrary attribute of a protocol component.
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Attribute {
/// The name of the attribute.
#[prost(string, tag="1")]
pub name: ::prost::alloc::string::String,
/// The value of the attribute.
#[prost(bytes="vec", tag="2")]
pub value: ::prost::alloc::vec::Vec<u8>,
/// The type of change the attribute underwent.
#[prost(enumeration="ChangeType", tag="3")]
pub change: i32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ProtocolType {
#[prost(string, tag="1")]
pub name: ::prost::alloc::string::String,
#[prost(enumeration="FinancialType", tag="2")]
pub financial_type: i32,
#[prost(message, repeated, tag="3")]
pub attribute_schema: ::prost::alloc::vec::Vec<Attribute>,
#[prost(enumeration="ImplementationType", tag="4")]
pub implementation_type: i32,
}
/// A struct describing a part of the protocol.
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ProtocolComponent {
/// A unique identifier for the component within the protocol.
/// Can be a stringified address or a string describing the trading pair.
#[prost(string, tag="1")]
pub id: ::prost::alloc::string::String,
/// Addresses of the ERC20 tokens used by the component.
#[prost(bytes="vec", repeated, tag="2")]
pub tokens: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec<u8>>,
/// Addresses of the contracts used by the component.
#[prost(bytes="vec", repeated, tag="3")]
pub contracts: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec<u8>>,
/// Attributes of the component.
/// The inner ChangeType of the attribute has to match the ChangeType of the ProtocolComponent.
#[prost(message, repeated, tag="4")]
pub static_att: ::prost::alloc::vec::Vec<Attribute>,
/// Type of change the component underwent.
#[prost(enumeration="ChangeType", tag="5")]
pub change: i32,
/// / Represents the functionality of the component.
#[prost(message, optional, tag="6")]
pub protocol_type: ::core::option::Option<ProtocolType>,
/// Transaction where this component was created
#[prost(message, optional, tag="7")]
pub tx: ::core::option::Option<Transaction>,
}
/// A struct for following the changes of Total Value Locked (TVL) of a protocol component.
/// Note that if the ProtocolComponent contains multiple contracts, the TVL is tracked for the component as a whole.
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BalanceChange {
/// The address of the ERC20 token whose balance changed.
#[prost(bytes="vec", tag="1")]
pub token: ::prost::alloc::vec::Vec<u8>,
/// The new balance of the token.
#[prost(bytes="vec", tag="2")]
pub balance: ::prost::alloc::vec::Vec<u8>,
/// The id of the component whose TVL is tracked. Note: This MUST be utf8 encoded.
#[prost(bytes="vec", tag="3")]
pub component_id: ::prost::alloc::vec::Vec<u8>,
}
// Native entities
/// A component is a set of attributes that are associated with a custom entity.
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EntityChanges {
/// A unique identifier of the entity within the protocol.
#[prost(string, tag="1")]
pub component_id: ::prost::alloc::string::String,
/// The set of attributes that are associated with the entity.
#[prost(message, repeated, tag="2")]
pub attributes: ::prost::alloc::vec::Vec<Attribute>,
}
// VM entities
/// A key value entry into contract storage.
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ContractSlot {
/// A contract's storage slot.
#[prost(bytes="vec", tag="2")]
pub slot: ::prost::alloc::vec::Vec<u8>,
/// The new value for this storage slot.
#[prost(bytes="vec", tag="3")]
pub value: ::prost::alloc::vec::Vec<u8>,
}
/// Changes made to a single contract's state.
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ContractChange {
/// The contract's address
#[prost(bytes="vec", tag="1")]
pub address: ::prost::alloc::vec::Vec<u8>,
/// The new balance of the contract, empty bytes indicates no change.
#[prost(bytes="vec", tag="2")]
pub balance: ::prost::alloc::vec::Vec<u8>,
/// The new code of the contract, empty bytes indicates no change.
#[prost(bytes="vec", tag="3")]
pub code: ::prost::alloc::vec::Vec<u8>,
/// The changes to this contract's slots, empty sequence indicates no change.
#[prost(message, repeated, tag="4")]
pub slots: ::prost::alloc::vec::Vec<ContractSlot>,
/// Whether this is an update, a creation or a deletion.
#[prost(enumeration="ChangeType", tag="5")]
pub change: i32,
}
// Aggregate entities
/// A set of changes aggregated by transaction.
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TransactionChanges {
/// The transaction instance that results in the changes.
#[prost(message, optional, tag="1")]
pub tx: ::core::option::Option<Transaction>,
/// Contains the changes induced by the above transaction, aggregated on a per-contract basis.
/// Contains the contract changes induced by the above transaction, usually for tracking VM components.
#[prost(message, repeated, tag="2")]
pub contract_changes: ::prost::alloc::vec::Vec<ContractChange>,
/// Contains the entity changes induced by the above transaction.
/// Usually for tracking native components or used for VM extensions (plugins).
#[prost(message, repeated, tag="3")]
pub entity_changes: ::prost::alloc::vec::Vec<EntityChanges>,
/// An array of newly added components.
#[prost(message, repeated, tag="4")]
pub component_changes: ::prost::alloc::vec::Vec<ProtocolComponent>,
/// An array of balance changes to components.
#[prost(message, repeated, tag="5")]
pub balance_changes: ::prost::alloc::vec::Vec<BalanceChange>,
}
/// A set of transaction changes within a single block.
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BlockChanges {
/// The block for which these changes are collectively computed.
#[prost(message, optional, tag="1")]
pub block: ::core::option::Option<Block>,
/// The set of transaction changes observed in the specified block.
#[prost(message, repeated, tag="2")]
pub changes: ::prost::alloc::vec::Vec<TransactionChanges>,
}
/// Enum to specify the type of a change.
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ChangeType {
Unspecified = 0,
Update = 1,
Creation = 2,
Deletion = 3,
}
impl ChangeType {
/// String value of the enum field names used in the ProtoBuf definition.
///
/// The values are not transformed in any way and thus are considered stable
/// (if the ProtoBuf definition does not change) and safe for programmatic use.
pub fn as_str_name(&self) -> &'static str {
match self {
ChangeType::Unspecified => "CHANGE_TYPE_UNSPECIFIED",
ChangeType::Update => "CHANGE_TYPE_UPDATE",
ChangeType::Creation => "CHANGE_TYPE_CREATION",
ChangeType::Deletion => "CHANGE_TYPE_DELETION",
}
}
/// Creates an enum from field names used in the ProtoBuf definition.
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"CHANGE_TYPE_UNSPECIFIED" => Some(Self::Unspecified),
"CHANGE_TYPE_UPDATE" => Some(Self::Update),
"CHANGE_TYPE_CREATION" => Some(Self::Creation),
"CHANGE_TYPE_DELETION" => Some(Self::Deletion),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum FinancialType {
Swap = 0,
Lend = 1,
Leverage = 2,
Psm = 3,
}
impl FinancialType {
/// String value of the enum field names used in the ProtoBuf definition.
///
/// The values are not transformed in any way and thus are considered stable
/// (if the ProtoBuf definition does not change) and safe for programmatic use.
pub fn as_str_name(&self) -> &'static str {
match self {
FinancialType::Swap => "SWAP",
FinancialType::Lend => "LEND",
FinancialType::Leverage => "LEVERAGE",
FinancialType::Psm => "PSM",
}
}
/// Creates an enum from field names used in the ProtoBuf definition.
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"SWAP" => Some(Self::Swap),
"LEND" => Some(Self::Lend),
"LEVERAGE" => Some(Self::Leverage),
"PSM" => Some(Self::Psm),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ImplementationType {
Vm = 0,
Custom = 1,
}
impl ImplementationType {
/// String value of the enum field names used in the ProtoBuf definition.
///
/// The values are not transformed in any way and thus are considered stable
/// (if the ProtoBuf definition does not change) and safe for programmatic use.
pub fn as_str_name(&self) -> &'static str {
match self {
ImplementationType::Vm => "VM",
ImplementationType::Custom => "CUSTOM",
}
}
/// Creates an enum from field names used in the ProtoBuf definition.
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"VM" => Some(Self::Vm),
"CUSTOM" => Some(Self::Custom),
_ => None,
}
}
}
// WARNING: DEPRECATED. Please use common.proto's TransactionChanges and BlockChanges instead.
// This file contains the definition for the native integration of Substreams.
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TransactionEntityChanges {
#[prost(message, optional, tag="1")]
pub tx: ::core::option::Option<Transaction>,
#[prost(message, repeated, tag="2")]
pub entity_changes: ::prost::alloc::vec::Vec<EntityChanges>,
/// An array of newly added components.
#[prost(message, repeated, tag="3")]
pub component_changes: ::prost::alloc::vec::Vec<ProtocolComponent>,
/// An array of balance changes to components.
#[prost(message, repeated, tag="4")]
pub balance_changes: ::prost::alloc::vec::Vec<BalanceChange>,
}
/// A set of transaction changes within a single block.
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BlockEntityChanges {
/// The block for which these changes are collectively computed.
#[prost(message, optional, tag="1")]
pub block: ::core::option::Option<Block>,
/// The set of transaction changes observed in the specified block.
#[prost(message, repeated, tag="2")]
pub changes: ::prost::alloc::vec::Vec<TransactionEntityChanges>,
}
// @@protoc_insertion_point(module)

View File

@@ -1,541 +0,0 @@
// @generated
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Erc20Tokens {
#[prost(message, repeated, tag="1")]
pub tokens: ::prost::alloc::vec::Vec<Erc20Token>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Erc20Token {
#[prost(string, tag="1")]
pub address: ::prost::alloc::string::String,
#[prost(string, tag="2")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag="3")]
pub symbol: ::prost::alloc::string::String,
#[prost(uint64, tag="4")]
pub decimals: u64,
#[prost(string, tag="5")]
pub total_supply: ::prost::alloc::string::String,
#[prost(string, repeated, tag="6")]
pub whitelist_pools: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Liquidity {
#[prost(string, tag="1")]
pub pool_address: ::prost::alloc::string::String,
/// Decimal
#[prost(string, tag="2")]
pub value: ::prost::alloc::string::String,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pools {
#[prost(message, repeated, tag="1")]
pub pools: ::prost::alloc::vec::Vec<Pool>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pool {
#[prost(string, tag="1")]
pub address: ::prost::alloc::string::String,
#[prost(uint64, tag="3")]
pub created_at_timestamp: u64,
#[prost(uint64, tag="4")]
pub created_at_block_number: u64,
#[prost(message, optional, tag="5")]
pub token0: ::core::option::Option<Erc20Token>,
#[prost(message, optional, tag="6")]
pub token1: ::core::option::Option<Erc20Token>,
/// Integer
#[prost(string, tag="7")]
pub fee_tier: ::prost::alloc::string::String,
/// internals
#[prost(int32, tag="30")]
pub tick_spacing: i32,
#[prost(uint64, tag="31")]
pub log_ordinal: u64,
#[prost(string, tag="32")]
pub transaction_id: ::prost::alloc::string::String,
#[prost(bool, tag="33")]
pub ignore_pool: bool,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Events {
#[prost(message, repeated, tag="1")]
pub pool_sqrt_prices: ::prost::alloc::vec::Vec<events::PoolSqrtPrice>,
#[prost(message, repeated, tag="2")]
pub pool_liquidities: ::prost::alloc::vec::Vec<events::PoolLiquidity>,
#[prost(message, repeated, tag="7")]
pub fee_growth_global_updates: ::prost::alloc::vec::Vec<events::FeeGrowthGlobal>,
#[prost(message, repeated, tag="10")]
pub fee_growth_inside_updates: ::prost::alloc::vec::Vec<events::FeeGrowthInside>,
#[prost(message, repeated, tag="11")]
pub fee_growth_outside_updates: ::prost::alloc::vec::Vec<events::FeeGrowthOutside>,
#[prost(message, repeated, tag="3")]
pub pool_events: ::prost::alloc::vec::Vec<events::PoolEvent>,
#[prost(message, repeated, tag="4")]
pub transactions: ::prost::alloc::vec::Vec<events::Transaction>,
#[prost(message, repeated, tag="6")]
pub flashes: ::prost::alloc::vec::Vec<events::Flash>,
#[prost(message, repeated, tag="8")]
pub ticks_created: ::prost::alloc::vec::Vec<events::TickCreated>,
#[prost(message, repeated, tag="9")]
pub ticks_updated: ::prost::alloc::vec::Vec<events::TickUpdated>,
#[prost(message, repeated, tag="20")]
pub created_positions: ::prost::alloc::vec::Vec<events::CreatedPosition>,
#[prost(message, repeated, tag="21")]
pub increase_liquidity_positions: ::prost::alloc::vec::Vec<events::IncreaseLiquidityPosition>,
#[prost(message, repeated, tag="22")]
pub decrease_liquidity_positions: ::prost::alloc::vec::Vec<events::DecreaseLiquidityPosition>,
#[prost(message, repeated, tag="23")]
pub collect_positions: ::prost::alloc::vec::Vec<events::CollectPosition>,
#[prost(message, repeated, tag="24")]
pub transfer_positions: ::prost::alloc::vec::Vec<events::TransferPosition>,
}
/// Nested message and enum types in `Events`.
pub mod events {
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FeeGrowthGlobal {
#[prost(string, tag="1")]
pub pool_address: ::prost::alloc::string::String,
#[prost(uint64, tag="2")]
pub ordinal: u64,
#[prost(int32, tag="3")]
pub token_idx: i32,
/// Integer
#[prost(string, tag="4")]
pub new_value: ::prost::alloc::string::String,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FeeGrowthInside {
#[prost(string, tag="1")]
pub pool_address: ::prost::alloc::string::String,
#[prost(int32, tag="2")]
pub tick_idx: i32,
#[prost(uint64, tag="3")]
pub ordinal: u64,
/// Integer
#[prost(string, tag="4")]
pub new_value: ::prost::alloc::string::String,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FeeGrowthOutside {
#[prost(string, tag="1")]
pub pool_address: ::prost::alloc::string::String,
#[prost(int32, tag="2")]
pub tick_lower: i32,
#[prost(int32, tag="3")]
pub tick_upper: i32,
#[prost(uint64, tag="4")]
pub ordinal: u64,
/// Integer
#[prost(string, tag="5")]
pub new_value: ::prost::alloc::string::String,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TickCreated {
#[prost(string, tag="1")]
pub pool_address: ::prost::alloc::string::String,
/// Integer
#[prost(string, tag="2")]
pub idx: ::prost::alloc::string::String,
#[prost(uint64, tag="3")]
pub log_ordinal: u64,
#[prost(uint64, tag="4")]
pub created_at_timestamp: u64,
#[prost(uint64, tag="5")]
pub created_at_block_number: u64,
/// Decimal
#[prost(string, tag="6")]
pub price0: ::prost::alloc::string::String,
/// Decimal
#[prost(string, tag="7")]
pub price1: ::prost::alloc::string::String,
/// Integer
#[prost(string, tag="8")]
pub amount: ::prost::alloc::string::String,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TickUpdated {
#[prost(string, tag="1")]
pub pool_address: ::prost::alloc::string::String,
/// Integer
#[prost(string, tag="2")]
pub idx: ::prost::alloc::string::String,
#[prost(uint64, tag="3")]
pub log_ordinal: u64,
/// Integer
#[prost(string, tag="4")]
pub fee_growth_outside_0x_128: ::prost::alloc::string::String,
/// Integer
#[prost(string, tag="5")]
pub fee_growth_outside_1x_128: ::prost::alloc::string::String,
#[prost(uint64, tag="6")]
pub timestamp: u64,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PoolSqrtPrice {
#[prost(string, tag="1")]
pub pool_address: ::prost::alloc::string::String,
#[prost(uint64, tag="2")]
pub ordinal: u64,
/// Integer
#[prost(string, tag="3")]
pub sqrt_price: ::prost::alloc::string::String,
/// Integer
#[prost(string, tag="4")]
pub tick: ::prost::alloc::string::String,
#[prost(bool, tag="5")]
pub initialized: bool,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PoolEvent {
#[prost(uint64, tag="100")]
pub log_ordinal: u64,
#[prost(uint64, tag="101")]
pub log_index: u64,
#[prost(string, tag="102")]
pub pool_address: ::prost::alloc::string::String,
#[prost(string, tag="103")]
pub token0: ::prost::alloc::string::String,
#[prost(string, tag="104")]
pub token1: ::prost::alloc::string::String,
#[prost(string, tag="105")]
pub fee: ::prost::alloc::string::String,
#[prost(string, tag="106")]
pub transaction_id: ::prost::alloc::string::String,
#[prost(uint64, tag="107")]
pub timestamp: u64,
#[prost(uint64, tag="108")]
pub created_at_block_number: u64,
#[prost(oneof="pool_event::Type", tags="1, 2, 3")]
pub r#type: ::core::option::Option<pool_event::Type>,
}
/// Nested message and enum types in `PoolEvent`.
pub mod pool_event {
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Swap {
#[prost(string, tag="1")]
pub sender: ::prost::alloc::string::String,
#[prost(string, tag="2")]
pub recipient: ::prost::alloc::string::String,
#[prost(string, tag="3")]
pub origin: ::prost::alloc::string::String,
/// Decimal
#[prost(string, tag="4")]
pub amount_0: ::prost::alloc::string::String,
/// Decimal
#[prost(string, tag="5")]
pub amount_1: ::prost::alloc::string::String,
/// Integer
#[prost(string, tag="6")]
pub sqrt_price: ::prost::alloc::string::String,
/// Integer
#[prost(string, tag="7")]
pub liquidity: ::prost::alloc::string::String,
/// Integer
#[prost(string, tag="8")]
pub tick: ::prost::alloc::string::String,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Burn {
#[prost(string, tag="1")]
pub owner: ::prost::alloc::string::String,
#[prost(string, tag="2")]
pub origin: ::prost::alloc::string::String,
/// Integer
#[prost(string, tag="3")]
pub amount: ::prost::alloc::string::String,
/// Decimal
#[prost(string, tag="4")]
pub amount_0: ::prost::alloc::string::String,
/// Decimal
#[prost(string, tag="5")]
pub amount_1: ::prost::alloc::string::String,
/// Integer
#[prost(string, tag="6")]
pub tick_lower: ::prost::alloc::string::String,
/// Integer
#[prost(string, tag="7")]
pub tick_upper: ::prost::alloc::string::String,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mint {
#[prost(string, tag="1")]
pub owner: ::prost::alloc::string::String,
#[prost(string, tag="2")]
pub sender: ::prost::alloc::string::String,
#[prost(string, tag="3")]
pub origin: ::prost::alloc::string::String,
/// Decimal
#[prost(string, tag="4")]
pub amount_0: ::prost::alloc::string::String,
/// Decimal
#[prost(string, tag="5")]
pub amount_1: ::prost::alloc::string::String,
/// Integer
#[prost(string, tag="6")]
pub tick_lower: ::prost::alloc::string::String,
/// Integer
#[prost(string, tag="7")]
pub tick_upper: ::prost::alloc::string::String,
/// Integer
#[prost(string, tag="8")]
pub amount: ::prost::alloc::string::String,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Type {
#[prost(message, tag="1")]
Swap(Swap),
#[prost(message, tag="2")]
Burn(Burn),
#[prost(message, tag="3")]
Mint(Mint),
}
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PoolLiquidity {
#[prost(string, tag="1")]
pub pool_address: ::prost::alloc::string::String,
/// Integer
#[prost(string, tag="2")]
pub liquidity: ::prost::alloc::string::String,
#[prost(string, tag="3")]
pub token0: ::prost::alloc::string::String,
#[prost(string, tag="4")]
pub token1: ::prost::alloc::string::String,
/// internals
#[prost(uint64, tag="30")]
pub log_ordinal: u64,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Flash {
#[prost(string, tag="1")]
pub pool_address: ::prost::alloc::string::String,
/// Integer
#[prost(string, tag="2")]
pub fee_growth_global_0x_128: ::prost::alloc::string::String,
/// Integer
#[prost(string, tag="3")]
pub fee_growth_global_1x_128: ::prost::alloc::string::String,
#[prost(uint64, tag="4")]
pub log_ordinal: u64,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Transaction {
#[prost(string, tag="1")]
pub id: ::prost::alloc::string::String,
#[prost(uint64, tag="2")]
pub block_number: u64,
#[prost(uint64, tag="3")]
pub timestamp: u64,
#[prost(uint64, tag="4")]
pub gas_used: u64,
/// Integer
#[prost(string, tag="5")]
pub gas_price: ::prost::alloc::string::String,
#[prost(uint64, tag="6")]
pub log_ordinal: u64,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PositionEvent {
#[prost(oneof="position_event::Type", tags="1, 2, 3, 4, 5")]
pub r#type: ::core::option::Option<position_event::Type>,
}
/// Nested message and enum types in `PositionEvent`.
pub mod position_event {
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Type {
#[prost(message, tag="1")]
CreatedPosition(super::CreatedPosition),
#[prost(message, tag="2")]
IncreaseLiquidityPosition(super::IncreaseLiquidityPosition),
#[prost(message, tag="3")]
DecreaseLiquidityPosition(super::DecreaseLiquidityPosition),
#[prost(message, tag="4")]
CollectPosition(super::CollectPosition),
#[prost(message, tag="5")]
TransferPosition(super::TransferPosition),
}
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CreatedPosition {
#[prost(string, tag="1")]
pub token_id: ::prost::alloc::string::String,
#[prost(string, tag="2")]
pub pool: ::prost::alloc::string::String,
#[prost(string, tag="3")]
pub token0: ::prost::alloc::string::String,
#[prost(string, tag="4")]
pub token1: ::prost::alloc::string::String,
#[prost(string, tag="5")]
pub tick_lower: ::prost::alloc::string::String,
#[prost(string, tag="6")]
pub tick_upper: ::prost::alloc::string::String,
#[prost(string, tag="7")]
pub transaction: ::prost::alloc::string::String,
#[prost(uint64, tag="8")]
pub log_ordinal: u64,
#[prost(uint64, tag="9")]
pub timestamp: u64,
#[prost(uint64, tag="10")]
pub block_number: u64,
/// BigInt
#[prost(string, optional, tag="11")]
pub fee_growth_inside0_last_x128: ::core::option::Option<::prost::alloc::string::String>,
/// BigInt
#[prost(string, optional, tag="12")]
pub fee_growth_inside1_last_x128: ::core::option::Option<::prost::alloc::string::String>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct IncreaseLiquidityPosition {
#[prost(string, tag="1")]
pub token_id: ::prost::alloc::string::String,
/// BigInt
#[prost(string, tag="2")]
pub liquidity: ::prost::alloc::string::String,
/// BigDecimal
#[prost(string, tag="3")]
pub deposited_token0: ::prost::alloc::string::String,
/// BigDecimal
#[prost(string, tag="4")]
pub deposited_token1: ::prost::alloc::string::String,
/// BigInt
#[prost(string, optional, tag="5")]
pub fee_growth_inside0_last_x128: ::core::option::Option<::prost::alloc::string::String>,
/// BigInt
#[prost(string, optional, tag="6")]
pub fee_growth_inside1_last_x128: ::core::option::Option<::prost::alloc::string::String>,
#[prost(uint64, tag="10")]
pub log_ordinal: u64,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DecreaseLiquidityPosition {
#[prost(string, tag="1")]
pub token_id: ::prost::alloc::string::String,
/// BigInt
#[prost(string, tag="2")]
pub liquidity: ::prost::alloc::string::String,
/// BigDecimal
#[prost(string, tag="3")]
pub withdrawn_token0: ::prost::alloc::string::String,
/// BigDecimal
#[prost(string, tag="4")]
pub withdrawn_token1: ::prost::alloc::string::String,
/// BigInt
#[prost(string, optional, tag="5")]
pub fee_growth_inside0_last_x128: ::core::option::Option<::prost::alloc::string::String>,
/// BigInt
#[prost(string, optional, tag="6")]
pub fee_growth_inside1_last_x128: ::core::option::Option<::prost::alloc::string::String>,
#[prost(uint64, tag="10")]
pub log_ordinal: u64,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CollectPosition {
#[prost(string, tag="1")]
pub token_id: ::prost::alloc::string::String,
/// BigInt
#[prost(string, tag="2")]
pub collected_fees_token0: ::prost::alloc::string::String,
/// BigInt
#[prost(string, tag="3")]
pub collected_fees_token1: ::prost::alloc::string::String,
/// BigInt
#[prost(string, optional, tag="5")]
pub fee_growth_inside0_last_x128: ::core::option::Option<::prost::alloc::string::String>,
/// BigInt
#[prost(string, optional, tag="6")]
pub fee_growth_inside1_last_x128: ::core::option::Option<::prost::alloc::string::String>,
#[prost(uint64, tag="10")]
pub log_ordinal: u64,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TransferPosition {
#[prost(string, tag="1")]
pub token_id: ::prost::alloc::string::String,
#[prost(string, tag="2")]
pub owner: ::prost::alloc::string::String,
#[prost(uint64, tag="10")]
pub log_ordinal: u64,
}
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SnapshotPositions {
#[prost(message, repeated, tag="1")]
pub snapshot_positions: ::prost::alloc::vec::Vec<SnapshotPosition>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SnapshotPosition {
#[prost(string, tag="1")]
pub pool: ::prost::alloc::string::String,
/// the token_id of the position
#[prost(string, tag="2")]
pub position: ::prost::alloc::string::String,
#[prost(uint64, tag="3")]
pub block_number: u64,
#[prost(string, tag="4")]
pub owner: ::prost::alloc::string::String,
#[prost(uint64, tag="6")]
pub timestamp: u64,
/// Decimal
#[prost(string, tag="7")]
pub liquidity: ::prost::alloc::string::String,
/// Decimal
#[prost(string, tag="8")]
pub deposited_token0: ::prost::alloc::string::String,
/// Decimal
#[prost(string, tag="9")]
pub deposited_token1: ::prost::alloc::string::String,
/// Decimal
#[prost(string, tag="10")]
pub withdrawn_token0: ::prost::alloc::string::String,
/// Decimal
#[prost(string, tag="11")]
pub withdrawn_token1: ::prost::alloc::string::String,
/// Decimal
#[prost(string, tag="12")]
pub collected_fees_token0: ::prost::alloc::string::String,
/// Decimal
#[prost(string, tag="13")]
pub collected_fees_token1: ::prost::alloc::string::String,
#[prost(string, tag="14")]
pub transaction: ::prost::alloc::string::String,
/// Integer
#[prost(string, tag="15")]
pub fee_growth_inside_0_last_x_128: ::prost::alloc::string::String,
/// Integer
#[prost(string, tag="16")]
pub fee_growth_inside_1_last_x_128: ::prost::alloc::string::String,
/// internal
#[prost(uint64, tag="17")]
pub log_ordinal: u64,
}
// @@protoc_insertion_point(module)