chore: fix CI
This commit is contained in:
@@ -8,6 +8,7 @@ use substreams::store::{
|
||||
use crate::hex::Hexable;
|
||||
|
||||
/// HasAddresser is a trait that a few functionalities in this crate depend on.
|
||||
///
|
||||
/// Every time we need to filter something by address (events emmited by a set of addresses,
|
||||
/// storage changes occurring on certain contracts, etc) you'll likely need
|
||||
/// to provide a HasAddresser.
|
||||
|
||||
@@ -100,4 +100,4 @@ impl<'a> EventHandler<'a> {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -52,13 +52,15 @@ impl From<InterimContractChange> for tycho::ContractChange {
|
||||
|
||||
/// Extracts all contract changes relevant to vm simulations
|
||||
///
|
||||
/// This is the main logic of the substreams integration. It takes a raw ethereum block on input and extracts the BlockContractChanges stream. It includes tracking:
|
||||
/// This is the main logic of the substreams integration. It takes a raw ethereum block on input and
|
||||
/// extracts the BlockContractChanges stream. It includes tracking:
|
||||
/// - new pool initializations
|
||||
/// - all storage slot changes for the Ambient contract
|
||||
/// - all ERC20 balance changes for the Ambient pools
|
||||
/// - all code changes and balance updates of the Ambient contract
|
||||
///
|
||||
/// Generally we detect all changes in transactions sequentially and detect if it is a CREATE or UPDATE change based on already present data.
|
||||
///
|
||||
/// Generally we detect all changes in transactions sequentially and detect if it is a CREATE or
|
||||
/// UPDATE change based on already present data.
|
||||
#[substreams::handlers::map]
|
||||
fn map_changes(
|
||||
block: eth::v2::Block,
|
||||
@@ -83,7 +85,8 @@ fn map_changes(
|
||||
|
||||
for block_tx in block.transactions() {
|
||||
// Extract storage changes for all contracts relevant to this protocol system.
|
||||
// Ambient is a protocol system consisting of many ProtocolComponents (one for each pool), but they all share the same AMBIENT_CONTRACT contract.
|
||||
// Ambient is a protocol system consisting of many ProtocolComponents (one for each pool),
|
||||
// but they all share the same AMBIENT_CONTRACT contract.
|
||||
let mut storage_changes = block_tx
|
||||
.calls
|
||||
.iter()
|
||||
@@ -105,7 +108,7 @@ fn map_changes(
|
||||
.collect::<Vec<_>>();
|
||||
|
||||
// Detect all pool initializations
|
||||
// Official documentation: https://docs.ambient.finance/developers/dex-contract-interface/pool-initialization
|
||||
// Official documentation: https://docs.ambient.finance/developers/dex-contract-interface/pool-initialization
|
||||
for call in ambient_calls {
|
||||
if call.input.len() < 4 {
|
||||
continue;
|
||||
|
||||
@@ -21,10 +21,10 @@ message Events {
|
||||
|
||||
message Event {
|
||||
oneof type {
|
||||
DepositEvent deposit_type = 10;
|
||||
WithdrawEvent withdraw_type = 20;
|
||||
SyncEvent sync_type = 30;
|
||||
SwapEvent swap_type = 40;
|
||||
DepositEvent deposit = 10;
|
||||
WithdrawEvent withdraw = 20;
|
||||
SyncEvent sync = 30;
|
||||
SwapEvent swap = 40;
|
||||
}
|
||||
|
||||
string hash = 100;
|
||||
|
||||
@@ -141,8 +141,9 @@ fn handle_sync(
|
||||
/// handle_sync
|
||||
/// - block_entity_changes: The BlockChanges struct that will be updated with the changes from the
|
||||
/// sync events.
|
||||
///
|
||||
/// This HashMap comes pre-filled with the changes for the create_pool events, mapped in
|
||||
/// 1_map_pool_created.
|
||||
/// 1_map_pool_created.
|
||||
///
|
||||
/// This function is called after the handle_sync function, and it is expected that
|
||||
/// block_entity_changes will be complete after this function ends.
|
||||
|
||||
@@ -51,13 +51,13 @@ pub mod event {
|
||||
#[derive(Clone, PartialEq, ::prost::Oneof)]
|
||||
pub enum Type {
|
||||
#[prost(message, tag="10")]
|
||||
DepositType(super::DepositEvent),
|
||||
Deposit(super::DepositEvent),
|
||||
#[prost(message, tag="20")]
|
||||
WithdrawType(super::WithdrawEvent),
|
||||
Withdraw(super::WithdrawEvent),
|
||||
#[prost(message, tag="30")]
|
||||
SyncType(super::SyncEvent),
|
||||
Sync(super::SyncEvent),
|
||||
#[prost(message, tag="40")]
|
||||
SwapType(super::SwapEvent),
|
||||
Swap(super::SwapEvent),
|
||||
}
|
||||
}
|
||||
#[allow(clippy::derive_partial_eq_without_eq)]
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
use std::{collections::HashMap, usize, vec};
|
||||
use std::{collections::HashMap, vec};
|
||||
use substreams::store::{StoreGet, StoreGetBigInt, StoreGetProto};
|
||||
use substreams_ethereum::pb::eth::v2::{self as eth, TransactionTrace};
|
||||
|
||||
|
||||
@@ -12,4 +12,6 @@ ignore = [
|
||||
"crates/tycho-substreams/src/pb",
|
||||
"ethereum-balancer/src/abi",
|
||||
"ethereum-curve/src/abi",
|
||||
"ethereum-uniswap-v2/src/abi",
|
||||
"ethereum-uniswap-v3/src/abi",
|
||||
]
|
||||
|
||||
Reference in New Issue
Block a user