From 02227937adb6c6f867ea90826695112303089359 Mon Sep 17 00:00:00 2001 From: Louise Poole Date: Fri, 25 Oct 2024 15:15:49 +0200 Subject: [PATCH 1/4] feat(usv2): set default balances on pool creation --- substreams/Cargo.lock | 2 +- substreams/ethereum-uniswap-v2/Cargo.toml | 2 +- .../src/modules/1_map_pool_created.rs | 17 ++++++++++++++--- 3 files changed, 16 insertions(+), 5 deletions(-) diff --git a/substreams/Cargo.lock b/substreams/Cargo.lock index f9c4eb0..5a9be65 100644 --- a/substreams/Cargo.lock +++ b/substreams/Cargo.lock @@ -310,7 +310,7 @@ dependencies = [ [[package]] name = "ethereum-uniswap-v2" -version = "0.3.0" +version = "0.3.1" dependencies = [ "anyhow", "ethabi 18.0.0", diff --git a/substreams/ethereum-uniswap-v2/Cargo.toml b/substreams/ethereum-uniswap-v2/Cargo.toml index 3cd92be..20451f2 100644 --- a/substreams/ethereum-uniswap-v2/Cargo.toml +++ b/substreams/ethereum-uniswap-v2/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ethereum-uniswap-v2" -version = "0.3.0" +version = "0.3.1" edition = "2021" [lib] diff --git a/substreams/ethereum-uniswap-v2/src/modules/1_map_pool_created.rs b/substreams/ethereum-uniswap-v2/src/modules/1_map_pool_created.rs index fe11ffe..adc0703 100644 --- a/substreams/ethereum-uniswap-v2/src/modules/1_map_pool_created.rs +++ b/substreams/ethereum-uniswap-v2/src/modules/1_map_pool_created.rs @@ -58,7 +58,7 @@ fn get_pools(block: ð::Block, new_pools: &mut Vec, params }], component_changes: vec![ProtocolComponent { id: event.pair.to_hex(), - tokens: vec![event.token0, event.token1], + tokens: vec![event.token0.clone(), event.token1.clone()], contracts: vec![], static_att: vec![ // Trading Fee is hardcoded to 0.3%, saved as int in bps (basis points) @@ -69,7 +69,7 @@ fn get_pools(block: ð::Block, new_pools: &mut Vec, params }, Attribute { name: "pool_address".to_string(), - value: event.pair, + value: event.pair.clone(), change: ChangeType::Creation.into(), }, ], @@ -82,7 +82,18 @@ fn get_pools(block: ð::Block, new_pools: &mut Vec, params }), tx: Some(tycho_tx), }], - balance_changes: vec![], + balance_changes: vec![ + BalanceChange { + token: event.token0, + balance: BigInt::from(0).to_signed_bytes_be(), + component_id: event.pair.clone(), + }, + BalanceChange { + token: event.token1, + balance: BigInt::from(0).to_signed_bytes_be(), + component_id: event.pair, + }, + ], }) }; From 09bf076631bbb1db11faed2e4f5a9965d064fddb Mon Sep 17 00:00:00 2001 From: Louise Poole Date: Fri, 25 Oct 2024 15:16:13 +0200 Subject: [PATCH 2/4] chore: update usv2 forks configs --- substreams/ethereum-uniswap-v2/ethereum-pancakeswap.yaml | 6 +++--- .../{ethereum-sushiswap.yaml => ethereum-sushiswap-v2.yaml} | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) rename substreams/ethereum-uniswap-v2/{ethereum-sushiswap.yaml => ethereum-sushiswap-v2.yaml} (91%) diff --git a/substreams/ethereum-uniswap-v2/ethereum-pancakeswap.yaml b/substreams/ethereum-uniswap-v2/ethereum-pancakeswap.yaml index 8f56fa8..3d6b49e 100644 --- a/substreams/ethereum-uniswap-v2/ethereum-pancakeswap.yaml +++ b/substreams/ethereum-uniswap-v2/ethereum-pancakeswap.yaml @@ -1,7 +1,7 @@ specVersion: v0.1.0 package: name: "ethereum_pancakeswap" - version: v0.2.1 + version: v0.3.1 protobuf: files: @@ -15,7 +15,7 @@ protobuf: binaries: default: type: wasm/rust-v1 - file: ../../target/wasm32-unknown-unknown/substreams/ethereum_uniswap_v2.wasm + file: ../target/wasm32-unknown-unknown/target/ethereum_uniswap_v2.wasm modules: - name: map_pools_created @@ -31,7 +31,7 @@ modules: kind: store initialBlock: 15614590 updatePolicy: set_if_not_exists - valueType: proto:tycho.evm.v1.ProtocolComponent + valueType: proto:tycho.evm.uniswap.v2.Pool inputs: - map: map_pools_created diff --git a/substreams/ethereum-uniswap-v2/ethereum-sushiswap.yaml b/substreams/ethereum-uniswap-v2/ethereum-sushiswap-v2.yaml similarity index 91% rename from substreams/ethereum-uniswap-v2/ethereum-sushiswap.yaml rename to substreams/ethereum-uniswap-v2/ethereum-sushiswap-v2.yaml index 075a8b6..fda8e77 100644 --- a/substreams/ethereum-uniswap-v2/ethereum-sushiswap.yaml +++ b/substreams/ethereum-uniswap-v2/ethereum-sushiswap-v2.yaml @@ -1,7 +1,7 @@ specVersion: v0.1.0 package: name: "ethereum_sushiswap_v2" - version: v0.2.1 + version: v0.3.1 protobuf: files: @@ -15,7 +15,7 @@ protobuf: binaries: default: type: wasm/rust-v1 - file: ../../target/wasm32-unknown-unknown/substreams/ethereum_uniswap_v2.wasm + file: ../target/wasm32-unknown-unknown/release/ethereum_uniswap_v2.wasm modules: - name: map_pools_created From 430375f035bba2ecdac9eea275d8a79146afd4fe Mon Sep 17 00:00:00 2001 From: Louise Poole Date: Fri, 25 Oct 2024 15:25:02 +0200 Subject: [PATCH 3/4] fix(usv2): fix pancakeswap binary path --- substreams/ethereum-uniswap-v2/ethereum-pancakeswap.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/substreams/ethereum-uniswap-v2/ethereum-pancakeswap.yaml b/substreams/ethereum-uniswap-v2/ethereum-pancakeswap.yaml index 3d6b49e..135529b 100644 --- a/substreams/ethereum-uniswap-v2/ethereum-pancakeswap.yaml +++ b/substreams/ethereum-uniswap-v2/ethereum-pancakeswap.yaml @@ -15,7 +15,7 @@ protobuf: binaries: default: type: wasm/rust-v1 - file: ../target/wasm32-unknown-unknown/target/ethereum_uniswap_v2.wasm + file: ../target/wasm32-unknown-unknown/release/ethereum_uniswap_v2.wasm modules: - name: map_pools_created From ef985f5ff43bbaa19136a5afdff4c1d5bfcb4b56 Mon Sep 17 00:00:00 2001 From: Louise Poole Date: Fri, 25 Oct 2024 15:32:26 +0200 Subject: [PATCH 4/4] fix(usv2): correctly encode the component_id in balances --- .../ethereum-uniswap-v2/src/modules/1_map_pool_created.rs | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/substreams/ethereum-uniswap-v2/src/modules/1_map_pool_created.rs b/substreams/ethereum-uniswap-v2/src/modules/1_map_pool_created.rs index adc0703..4b783f8 100644 --- a/substreams/ethereum-uniswap-v2/src/modules/1_map_pool_created.rs +++ b/substreams/ethereum-uniswap-v2/src/modules/1_map_pool_created.rs @@ -4,7 +4,6 @@ use ethabi::ethereum_types::Address; use serde::Deserialize; use substreams::prelude::BigInt; use substreams_ethereum::pb::eth::v2::{self as eth}; - use substreams_helper::{event_handler::EventHandler, hex::Hexable}; use crate::abi::factory::events::PairCreated; @@ -86,12 +85,12 @@ fn get_pools(block: ð::Block, new_pools: &mut Vec, params BalanceChange { token: event.token0, balance: BigInt::from(0).to_signed_bytes_be(), - component_id: event.pair.clone(), + component_id: event.pair.to_hex().as_bytes().to_vec(), }, BalanceChange { token: event.token1, balance: BigInt::from(0).to_signed_bytes_be(), - component_id: event.pair, + component_id: event.pair.to_hex().as_bytes().to_vec(), }, ], })