From aaf5a26413872ef31320601a0a5d534f29515942 Mon Sep 17 00:00:00 2001 From: Ian Calvert Date: Fri, 9 Sep 2022 12:11:41 +0100 Subject: [PATCH 1/3] Add the contract address of the event source --- ethetl/src/exporters/logs.rs | 14 ++++++++++++-- schemas/databend/1_schema.sql | 1 + schemas/databend/README.md | 1 + schemas/snowflake/1_schema.sql | 1 + schemas/snowflake/README.md | 1 + 5 files changed, 16 insertions(+), 2 deletions(-) diff --git a/ethetl/src/exporters/logs.rs b/ethetl/src/exporters/logs.rs index daa6327..3f06dc5 100644 --- a/ethetl/src/exporters/logs.rs +++ b/ethetl/src/exporters/logs.rs @@ -60,6 +60,7 @@ impl LogsExporter { let mut block_hash_vec = Vec::new(); let mut block_number_vec = Vec::new(); let mut contract_address_vec = Vec::new(); + let mut event_address_vec = Vec::new(); let mut data_vec = Vec::new(); let mut topics_vec = Vec::new(); @@ -73,6 +74,7 @@ impl LogsExporter { contract_address_vec.push(h160_to_hex( &receipt.contract_address.unwrap_or_else(Address::zero), )); + event_address_vec.push(h160_to_hex(&log.address)); data_vec.push(bytes_to_hex(&log.data)); let topics = log .topics @@ -91,6 +93,7 @@ impl LogsExporter { let block_hash_array = Utf8Array::::from_slice(block_hash_vec); let block_number_array = UInt64Array::from_slice(block_number_vec); let contract_address_array = Utf8Array::::from_slice(contract_address_vec); + let event_address_array = Utf8Array::::from_slice(event_address_vec); let data_array = Utf8Array::::from_slice(data_vec); let topics_array = Utf8Array::::from_slice(topics_vec); @@ -108,11 +111,16 @@ impl LogsExporter { let block_hash_field = Field::new("block_hash", block_hash_array.data_type().clone(), true); let block_number_field = Field::new("block_number", block_number_array.data_type().clone(), true); - let contracet_address_field = Field::new( + let contract_address_field = Field::new( "contract_address", contract_address_array.data_type().clone(), true, ); + let event_address_field = Field::new( + "event_address", + event_address_array.data_type().clone(), + true, + ); let data_field = Field::new("data", data_array.data_type().clone(), true); let topics_field = Field::new("topics", topics_array.data_type().clone(), true); @@ -122,7 +130,8 @@ impl LogsExporter { transaction_index_field, block_hash_field, block_number_field, - contracet_address_field, + contract_address_field, + event_address_field, data_field, topics_field, ]); @@ -133,6 +142,7 @@ impl LogsExporter { block_hash_array.boxed(), block_number_array.boxed(), contract_address_array.boxed(), + event_address_array.boxed(), data_array.boxed(), topics_array.boxed(), ])?; diff --git a/schemas/databend/1_schema.sql b/schemas/databend/1_schema.sql index f2ff952..24f3eb6 100644 --- a/schemas/databend/1_schema.sql +++ b/schemas/databend/1_schema.sql @@ -54,6 +54,7 @@ CREATE TABLE logs block_hash VARCHAR, block_number BIGINT UNSIGNED, contract_address VARCHAR, + event_address VARCHAR, data VARCHAR, topics VARCHAR ); diff --git a/schemas/databend/README.md b/schemas/databend/README.md index 5b95269..139983c 100644 --- a/schemas/databend/README.md +++ b/schemas/databend/README.md @@ -62,6 +62,7 @@ Cloud: https://app.databend.com/ | block_hash | VARCHAR | | block_number | BIGINT UNSIGNED | | contract_address | VARCHAR | +| event_address | VARCHAR | | data | VARCHAR | | topics | VARCHAR | diff --git a/schemas/snowflake/1_schema.sql b/schemas/snowflake/1_schema.sql index 6262251..4307b75 100644 --- a/schemas/snowflake/1_schema.sql +++ b/schemas/snowflake/1_schema.sql @@ -54,6 +54,7 @@ CREATE TABLE logs block_hash VARCHAR, block_number BIGINT, contract_address VARCHAR, + event_address VARCHAR, data VARCHAR, topics VARCHAR ); diff --git a/schemas/snowflake/README.md b/schemas/snowflake/README.md index 03609b5..b420e27 100644 --- a/schemas/snowflake/README.md +++ b/schemas/snowflake/README.md @@ -58,6 +58,7 @@ Cloud: https://app.snowflake.com/ | block_hash | VARCHAR | | block_number | BIGINT | | contract_address | VARCHAR | +| event_address | VARCHAR | | data | VARCHAR | | topics | VARCHAR | From 8e69588cbad56f0d24ca68c968055f4c0984c981 Mon Sep 17 00:00:00 2001 From: Ian Calvert Date: Fri, 9 Sep 2022 12:13:05 +0100 Subject: [PATCH 2/3] SQL formatting --- schemas/databend/1_schema.sql | 2 +- schemas/snowflake/1_schema.sql | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/schemas/databend/1_schema.sql b/schemas/databend/1_schema.sql index 24f3eb6..7fac46e 100644 --- a/schemas/databend/1_schema.sql +++ b/schemas/databend/1_schema.sql @@ -54,7 +54,7 @@ CREATE TABLE logs block_hash VARCHAR, block_number BIGINT UNSIGNED, contract_address VARCHAR, - event_address VARCHAR, + event_address VARCHAR, data VARCHAR, topics VARCHAR ); diff --git a/schemas/snowflake/1_schema.sql b/schemas/snowflake/1_schema.sql index 4307b75..f1fb1e3 100644 --- a/schemas/snowflake/1_schema.sql +++ b/schemas/snowflake/1_schema.sql @@ -54,7 +54,7 @@ CREATE TABLE logs block_hash VARCHAR, block_number BIGINT, contract_address VARCHAR, - event_address VARCHAR, + event_address VARCHAR, data VARCHAR, topics VARCHAR ); From 87b0b46243b3299ecfe2407f06726949a069b227 Mon Sep 17 00:00:00 2001 From: Ian Calvert Date: Fri, 9 Sep 2022 12:13:31 +0100 Subject: [PATCH 3/3] Markdown table formatting --- schemas/snowflake/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/schemas/snowflake/README.md b/schemas/snowflake/README.md index b420e27..fb53448 100644 --- a/schemas/snowflake/README.md +++ b/schemas/snowflake/README.md @@ -58,7 +58,7 @@ Cloud: https://app.snowflake.com/ | block_hash | VARCHAR | | block_number | BIGINT | | contract_address | VARCHAR | -| event_address | VARCHAR | +| event_address | VARCHAR | | data | VARCHAR | | topics | VARCHAR |