diff --git a/core/bin/external_node/src/config/mod.rs b/core/bin/external_node/src/config/mod.rs
index 80caab713a7..a4d23db44de 100644
--- a/core/bin/external_node/src/config/mod.rs
+++ b/core/bin/external_node/src/config/mod.rs
@@ -416,6 +416,10 @@ impl PostgresConfig {
}
}
+fn read_operator_address() -> anyhow::Result
{
+ Ok(std::env::var("EN_OPERATOR_ADDR")?.parse()?)
+}
+
pub(crate) fn read_consensus_config() -> anyhow::Result {
let path = std::env::var("EN_CONSENSUS_CONFIG_PATH")
.context("EN_CONSENSUS_CONFIG_PATH env variable is not set")?;
@@ -425,6 +429,7 @@ pub(crate) fn read_consensus_config() -> anyhow::Result anyhow::Result {
+ Ok(std::env::var("CHAIN_STATE_KEEPER_FEE_ACCOUNT_ADDR")?.parse()?)
+}
pub(crate) fn read_consensus_config() -> anyhow::Result {
let path = std::env::var("CONSENSUS_CONFIG_PATH").context("CONSENSUS_CONFIG_PATH")?;
@@ -13,5 +18,6 @@ pub(crate) fn read_consensus_config() -> anyhow::Result $1\n ORDER BY\n number\n LIMIT\n $2\n ) inn\n LEFT JOIN commitments ON commitments.l1_batch_number = inn.number\n WHERE\n number - ROW_NUMBER = $1\n ",
+ "query": "\n SELECT\n number,\n timestamp,\n is_finished,\n l1_tx_count,\n l2_tx_count,\n fee_account_address,\n bloom,\n priority_ops_onchain_data,\n hash,\n parent_hash,\n commitment,\n compressed_write_logs,\n compressed_contracts,\n eth_prove_tx_id,\n eth_commit_tx_id,\n eth_execute_tx_id,\n merkle_root_hash,\n l2_to_l1_logs,\n l2_to_l1_messages,\n used_contract_hashes,\n compressed_initial_writes,\n compressed_repeated_writes,\n l2_l1_compressed_messages,\n l2_l1_merkle_root,\n l1_gas_price,\n l2_fair_gas_price,\n rollup_last_leaf_index,\n zkporter_is_available,\n bootloader_code_hash,\n default_aa_code_hash,\n base_fee_per_gas,\n aux_data_hash,\n pass_through_data_hash,\n meta_parameters_hash,\n system_logs,\n compressed_state_diffs,\n protocol_version,\n events_queue_commitment,\n bootloader_initial_content_commitment,\n pubdata_input\n FROM\n (\n SELECT\n l1_batches.*,\n ROW_NUMBER() OVER (\n ORDER BY\n number ASC\n ) AS ROW_NUMBER\n FROM\n l1_batches\n WHERE\n eth_commit_tx_id IS NOT NULL\n AND l1_batches.skip_proof = TRUE\n AND l1_batches.number > $1\n ORDER BY\n number\n LIMIT\n $2\n ) inn\n LEFT JOIN commitments ON commitments.l1_batch_number = inn.number\n WHERE\n number - ROW_NUMBER = $1\n ",
"describe": {
"columns": [
{
@@ -15,166 +15,191 @@
},
{
"ordinal": 2,
+ "name": "is_finished",
+ "type_info": "Bool"
+ },
+ {
+ "ordinal": 3,
"name": "l1_tx_count",
"type_info": "Int4"
},
{
- "ordinal": 3,
+ "ordinal": 4,
"name": "l2_tx_count",
"type_info": "Int4"
},
{
- "ordinal": 4,
+ "ordinal": 5,
+ "name": "fee_account_address",
+ "type_info": "Bytea"
+ },
+ {
+ "ordinal": 6,
"name": "bloom",
"type_info": "Bytea"
},
{
- "ordinal": 5,
+ "ordinal": 7,
"name": "priority_ops_onchain_data",
"type_info": "ByteaArray"
},
{
- "ordinal": 6,
+ "ordinal": 8,
"name": "hash",
"type_info": "Bytea"
},
{
- "ordinal": 7,
+ "ordinal": 9,
"name": "parent_hash",
"type_info": "Bytea"
},
{
- "ordinal": 8,
+ "ordinal": 10,
"name": "commitment",
"type_info": "Bytea"
},
{
- "ordinal": 9,
+ "ordinal": 11,
"name": "compressed_write_logs",
"type_info": "Bytea"
},
{
- "ordinal": 10,
+ "ordinal": 12,
"name": "compressed_contracts",
"type_info": "Bytea"
},
{
- "ordinal": 11,
+ "ordinal": 13,
"name": "eth_prove_tx_id",
"type_info": "Int4"
},
{
- "ordinal": 12,
+ "ordinal": 14,
"name": "eth_commit_tx_id",
"type_info": "Int4"
},
{
- "ordinal": 13,
+ "ordinal": 15,
"name": "eth_execute_tx_id",
"type_info": "Int4"
},
{
- "ordinal": 14,
+ "ordinal": 16,
"name": "merkle_root_hash",
"type_info": "Bytea"
},
{
- "ordinal": 15,
+ "ordinal": 17,
"name": "l2_to_l1_logs",
"type_info": "ByteaArray"
},
{
- "ordinal": 16,
+ "ordinal": 18,
"name": "l2_to_l1_messages",
"type_info": "ByteaArray"
},
{
- "ordinal": 17,
+ "ordinal": 19,
"name": "used_contract_hashes",
"type_info": "Jsonb"
},
{
- "ordinal": 18,
+ "ordinal": 20,
"name": "compressed_initial_writes",
"type_info": "Bytea"
},
{
- "ordinal": 19,
+ "ordinal": 21,
"name": "compressed_repeated_writes",
"type_info": "Bytea"
},
{
- "ordinal": 20,
+ "ordinal": 22,
"name": "l2_l1_compressed_messages",
"type_info": "Bytea"
},
{
- "ordinal": 21,
+ "ordinal": 23,
"name": "l2_l1_merkle_root",
"type_info": "Bytea"
},
{
- "ordinal": 22,
+ "ordinal": 24,
+ "name": "l1_gas_price",
+ "type_info": "Int8"
+ },
+ {
+ "ordinal": 25,
+ "name": "l2_fair_gas_price",
+ "type_info": "Int8"
+ },
+ {
+ "ordinal": 26,
"name": "rollup_last_leaf_index",
"type_info": "Int8"
},
{
- "ordinal": 23,
+ "ordinal": 27,
"name": "zkporter_is_available",
"type_info": "Bool"
},
{
- "ordinal": 24,
+ "ordinal": 28,
"name": "bootloader_code_hash",
"type_info": "Bytea"
},
{
- "ordinal": 25,
+ "ordinal": 29,
"name": "default_aa_code_hash",
"type_info": "Bytea"
},
{
- "ordinal": 26,
+ "ordinal": 30,
+ "name": "base_fee_per_gas",
+ "type_info": "Numeric"
+ },
+ {
+ "ordinal": 31,
"name": "aux_data_hash",
"type_info": "Bytea"
},
{
- "ordinal": 27,
+ "ordinal": 32,
"name": "pass_through_data_hash",
"type_info": "Bytea"
},
{
- "ordinal": 28,
+ "ordinal": 33,
"name": "meta_parameters_hash",
"type_info": "Bytea"
},
{
- "ordinal": 29,
+ "ordinal": 34,
"name": "system_logs",
"type_info": "ByteaArray"
},
{
- "ordinal": 30,
+ "ordinal": 35,
"name": "compressed_state_diffs",
"type_info": "Bytea"
},
{
- "ordinal": 31,
+ "ordinal": 36,
"name": "protocol_version",
"type_info": "Int4"
},
{
- "ordinal": 32,
+ "ordinal": 37,
"name": "events_queue_commitment",
"type_info": "Bytea"
},
{
- "ordinal": 33,
+ "ordinal": 38,
"name": "bootloader_initial_content_commitment",
"type_info": "Bytea"
},
{
- "ordinal": 34,
+ "ordinal": 39,
"name": "pubdata_input",
"type_info": "Bytea"
}
@@ -192,6 +217,8 @@
false,
false,
false,
+ false,
+ false,
true,
true,
true,
@@ -208,10 +235,13 @@
true,
true,
true,
+ false,
+ false,
true,
true,
true,
true,
+ false,
true,
true,
true,
@@ -223,5 +253,5 @@
true
]
},
- "hash": "883ab3d601e2dfef03ad36e5987577821fc8ce2f81cb029d0f64801d5f743388"
+ "hash": "cddf48514aa2aa249d0530d44c741368993009bb4bd90c2ad177ce56317aa04c"
}
diff --git a/core/lib/dal/.sqlx/query-cea366a9d0da60bf03c71be26862929e051270056ebf113a657a464f89c7fd57.json b/core/lib/dal/.sqlx/query-cea366a9d0da60bf03c71be26862929e051270056ebf113a657a464f89c7fd57.json
deleted file mode 100644
index da21c126347..00000000000
--- a/core/lib/dal/.sqlx/query-cea366a9d0da60bf03c71be26862929e051270056ebf113a657a464f89c7fd57.json
+++ /dev/null
@@ -1,33 +0,0 @@
-{
- "db_name": "PostgreSQL",
- "query": "\n INSERT INTO\n l1_batches (\n number,\n l1_tx_count,\n l2_tx_count,\n timestamp,\n l2_to_l1_logs,\n l2_to_l1_messages,\n bloom,\n priority_ops_onchain_data,\n predicted_commit_gas_cost,\n predicted_prove_gas_cost,\n predicted_execute_gas_cost,\n initial_bootloader_heap_content,\n used_contract_hashes,\n bootloader_code_hash,\n default_aa_code_hash,\n protocol_version,\n system_logs,\n storage_refunds,\n pubdata_input,\n predicted_circuits_by_type,\n created_at,\n updated_at\n )\n VALUES\n (\n $1,\n $2,\n $3,\n $4,\n $5,\n $6,\n $7,\n $8,\n $9,\n $10,\n $11,\n $12,\n $13,\n $14,\n $15,\n $16,\n $17,\n $18,\n $19,\n $20,\n NOW(),\n NOW()\n )\n ",
- "describe": {
- "columns": [],
- "parameters": {
- "Left": [
- "Int8",
- "Int4",
- "Int4",
- "Int8",
- "ByteaArray",
- "ByteaArray",
- "Bytea",
- "ByteaArray",
- "Int8",
- "Int8",
- "Int8",
- "Jsonb",
- "Jsonb",
- "Bytea",
- "Bytea",
- "Int4",
- "ByteaArray",
- "Int8Array",
- "Bytea",
- "Jsonb"
- ]
- },
- "nullable": []
- },
- "hash": "cea366a9d0da60bf03c71be26862929e051270056ebf113a657a464f89c7fd57"
-}
diff --git a/core/lib/dal/.sqlx/query-dd86833a1fa5240e2b225daf32fa594a00a78e400dc44fd3b2634529278ab38c.json b/core/lib/dal/.sqlx/query-d1b261f4057e4113b96eb87c9e20015eeb3ef2643ceda3024504a471b24d1283.json
similarity index 64%
rename from core/lib/dal/.sqlx/query-dd86833a1fa5240e2b225daf32fa594a00a78e400dc44fd3b2634529278ab38c.json
rename to core/lib/dal/.sqlx/query-d1b261f4057e4113b96eb87c9e20015eeb3ef2643ceda3024504a471b24d1283.json
index a98e8e0004c..fd6ed893c23 100644
--- a/core/lib/dal/.sqlx/query-dd86833a1fa5240e2b225daf32fa594a00a78e400dc44fd3b2634529278ab38c.json
+++ b/core/lib/dal/.sqlx/query-d1b261f4057e4113b96eb87c9e20015eeb3ef2643ceda3024504a471b24d1283.json
@@ -1,6 +1,6 @@
{
"db_name": "PostgreSQL",
- "query": "\n SELECT\n number,\n timestamp,\n l1_tx_count,\n l2_tx_count,\n bloom,\n priority_ops_onchain_data,\n hash,\n parent_hash,\n commitment,\n compressed_write_logs,\n compressed_contracts,\n eth_prove_tx_id,\n eth_commit_tx_id,\n eth_execute_tx_id,\n merkle_root_hash,\n l2_to_l1_logs,\n l2_to_l1_messages,\n used_contract_hashes,\n compressed_initial_writes,\n compressed_repeated_writes,\n l2_l1_compressed_messages,\n l2_l1_merkle_root,\n rollup_last_leaf_index,\n zkporter_is_available,\n bootloader_code_hash,\n default_aa_code_hash,\n aux_data_hash,\n pass_through_data_hash,\n meta_parameters_hash,\n protocol_version,\n compressed_state_diffs,\n system_logs,\n events_queue_commitment,\n bootloader_initial_content_commitment,\n pubdata_input\n FROM\n l1_batches\n LEFT JOIN commitments ON commitments.l1_batch_number = l1_batches.number\n WHERE\n number = 0\n OR eth_commit_tx_id IS NOT NULL\n AND commitment IS NOT NULL\n ORDER BY\n number DESC\n LIMIT\n 1\n ",
+ "query": "\n SELECT\n number,\n timestamp,\n is_finished,\n l1_tx_count,\n l2_tx_count,\n fee_account_address,\n bloom,\n priority_ops_onchain_data,\n hash,\n parent_hash,\n commitment,\n compressed_write_logs,\n compressed_contracts,\n eth_prove_tx_id,\n eth_commit_tx_id,\n eth_execute_tx_id,\n merkle_root_hash,\n l2_to_l1_logs,\n l2_to_l1_messages,\n used_contract_hashes,\n compressed_initial_writes,\n compressed_repeated_writes,\n l2_l1_compressed_messages,\n l2_l1_merkle_root,\n l1_gas_price,\n l2_fair_gas_price,\n rollup_last_leaf_index,\n zkporter_is_available,\n bootloader_code_hash,\n default_aa_code_hash,\n base_fee_per_gas,\n aux_data_hash,\n pass_through_data_hash,\n meta_parameters_hash,\n protocol_version,\n compressed_state_diffs,\n system_logs,\n events_queue_commitment,\n bootloader_initial_content_commitment,\n pubdata_input\n FROM\n l1_batches\n LEFT JOIN commitments ON commitments.l1_batch_number = l1_batches.number\n WHERE\n number = 0\n OR eth_commit_tx_id IS NOT NULL\n AND commitment IS NOT NULL\n ORDER BY\n number DESC\n LIMIT\n 1\n ",
"describe": {
"columns": [
{
@@ -15,166 +15,191 @@
},
{
"ordinal": 2,
+ "name": "is_finished",
+ "type_info": "Bool"
+ },
+ {
+ "ordinal": 3,
"name": "l1_tx_count",
"type_info": "Int4"
},
{
- "ordinal": 3,
+ "ordinal": 4,
"name": "l2_tx_count",
"type_info": "Int4"
},
{
- "ordinal": 4,
+ "ordinal": 5,
+ "name": "fee_account_address",
+ "type_info": "Bytea"
+ },
+ {
+ "ordinal": 6,
"name": "bloom",
"type_info": "Bytea"
},
{
- "ordinal": 5,
+ "ordinal": 7,
"name": "priority_ops_onchain_data",
"type_info": "ByteaArray"
},
{
- "ordinal": 6,
+ "ordinal": 8,
"name": "hash",
"type_info": "Bytea"
},
{
- "ordinal": 7,
+ "ordinal": 9,
"name": "parent_hash",
"type_info": "Bytea"
},
{
- "ordinal": 8,
+ "ordinal": 10,
"name": "commitment",
"type_info": "Bytea"
},
{
- "ordinal": 9,
+ "ordinal": 11,
"name": "compressed_write_logs",
"type_info": "Bytea"
},
{
- "ordinal": 10,
+ "ordinal": 12,
"name": "compressed_contracts",
"type_info": "Bytea"
},
{
- "ordinal": 11,
+ "ordinal": 13,
"name": "eth_prove_tx_id",
"type_info": "Int4"
},
{
- "ordinal": 12,
+ "ordinal": 14,
"name": "eth_commit_tx_id",
"type_info": "Int4"
},
{
- "ordinal": 13,
+ "ordinal": 15,
"name": "eth_execute_tx_id",
"type_info": "Int4"
},
{
- "ordinal": 14,
+ "ordinal": 16,
"name": "merkle_root_hash",
"type_info": "Bytea"
},
{
- "ordinal": 15,
+ "ordinal": 17,
"name": "l2_to_l1_logs",
"type_info": "ByteaArray"
},
{
- "ordinal": 16,
+ "ordinal": 18,
"name": "l2_to_l1_messages",
"type_info": "ByteaArray"
},
{
- "ordinal": 17,
+ "ordinal": 19,
"name": "used_contract_hashes",
"type_info": "Jsonb"
},
{
- "ordinal": 18,
+ "ordinal": 20,
"name": "compressed_initial_writes",
"type_info": "Bytea"
},
{
- "ordinal": 19,
+ "ordinal": 21,
"name": "compressed_repeated_writes",
"type_info": "Bytea"
},
{
- "ordinal": 20,
+ "ordinal": 22,
"name": "l2_l1_compressed_messages",
"type_info": "Bytea"
},
{
- "ordinal": 21,
+ "ordinal": 23,
"name": "l2_l1_merkle_root",
"type_info": "Bytea"
},
{
- "ordinal": 22,
+ "ordinal": 24,
+ "name": "l1_gas_price",
+ "type_info": "Int8"
+ },
+ {
+ "ordinal": 25,
+ "name": "l2_fair_gas_price",
+ "type_info": "Int8"
+ },
+ {
+ "ordinal": 26,
"name": "rollup_last_leaf_index",
"type_info": "Int8"
},
{
- "ordinal": 23,
+ "ordinal": 27,
"name": "zkporter_is_available",
"type_info": "Bool"
},
{
- "ordinal": 24,
+ "ordinal": 28,
"name": "bootloader_code_hash",
"type_info": "Bytea"
},
{
- "ordinal": 25,
+ "ordinal": 29,
"name": "default_aa_code_hash",
"type_info": "Bytea"
},
{
- "ordinal": 26,
+ "ordinal": 30,
+ "name": "base_fee_per_gas",
+ "type_info": "Numeric"
+ },
+ {
+ "ordinal": 31,
"name": "aux_data_hash",
"type_info": "Bytea"
},
{
- "ordinal": 27,
+ "ordinal": 32,
"name": "pass_through_data_hash",
"type_info": "Bytea"
},
{
- "ordinal": 28,
+ "ordinal": 33,
"name": "meta_parameters_hash",
"type_info": "Bytea"
},
{
- "ordinal": 29,
+ "ordinal": 34,
"name": "protocol_version",
"type_info": "Int4"
},
{
- "ordinal": 30,
+ "ordinal": 35,
"name": "compressed_state_diffs",
"type_info": "Bytea"
},
{
- "ordinal": 31,
+ "ordinal": 36,
"name": "system_logs",
"type_info": "ByteaArray"
},
{
- "ordinal": 32,
+ "ordinal": 37,
"name": "events_queue_commitment",
"type_info": "Bytea"
},
{
- "ordinal": 33,
+ "ordinal": 38,
"name": "bootloader_initial_content_commitment",
"type_info": "Bytea"
},
{
- "ordinal": 34,
+ "ordinal": 39,
"name": "pubdata_input",
"type_info": "Bytea"
}
@@ -189,6 +214,8 @@
false,
false,
false,
+ false,
+ false,
true,
true,
true,
@@ -205,10 +232,13 @@
true,
true,
true,
+ false,
+ false,
true,
true,
true,
true,
+ false,
true,
true,
true,
@@ -220,5 +250,5 @@
true
]
},
- "hash": "dd86833a1fa5240e2b225daf32fa594a00a78e400dc44fd3b2634529278ab38c"
+ "hash": "d1b261f4057e4113b96eb87c9e20015eeb3ef2643ceda3024504a471b24d1283"
}
diff --git a/core/lib/dal/.sqlx/query-c195037dcf6031a90f407f652657956350786f3596c7302bdeb8d813f9fbf621.json b/core/lib/dal/.sqlx/query-d8e0f98a67ffb53a1caa6820f8475da2787332deca5708d1d08730cdbfc73541.json
similarity index 58%
rename from core/lib/dal/.sqlx/query-c195037dcf6031a90f407f652657956350786f3596c7302bdeb8d813f9fbf621.json
rename to core/lib/dal/.sqlx/query-d8e0f98a67ffb53a1caa6820f8475da2787332deca5708d1d08730cdbfc73541.json
index 0b8a91d7bc8..f0ea745821f 100644
--- a/core/lib/dal/.sqlx/query-c195037dcf6031a90f407f652657956350786f3596c7302bdeb8d813f9fbf621.json
+++ b/core/lib/dal/.sqlx/query-d8e0f98a67ffb53a1caa6820f8475da2787332deca5708d1d08730cdbfc73541.json
@@ -1,6 +1,6 @@
{
"db_name": "PostgreSQL",
- "query": "\n SELECT\n number,\n l1_tx_count,\n l2_tx_count,\n timestamp,\n l2_to_l1_logs,\n l2_to_l1_messages,\n bloom,\n priority_ops_onchain_data,\n used_contract_hashes,\n bootloader_code_hash,\n default_aa_code_hash,\n protocol_version,\n system_logs,\n compressed_state_diffs,\n pubdata_input\n FROM\n l1_batches\n WHERE\n eth_commit_tx_id = $1\n OR eth_prove_tx_id = $1\n OR eth_execute_tx_id = $1\n ",
+ "query": "\n SELECT\n number,\n l1_tx_count,\n l2_tx_count,\n timestamp,\n is_finished,\n fee_account_address,\n l2_to_l1_logs,\n l2_to_l1_messages,\n bloom,\n priority_ops_onchain_data,\n used_contract_hashes,\n base_fee_per_gas,\n l1_gas_price,\n l2_fair_gas_price,\n bootloader_code_hash,\n default_aa_code_hash,\n protocol_version,\n system_logs,\n compressed_state_diffs,\n pubdata_input\n FROM\n l1_batches\n WHERE\n eth_commit_tx_id = $1\n OR eth_prove_tx_id = $1\n OR eth_execute_tx_id = $1\n ",
"describe": {
"columns": [
{
@@ -25,56 +25,81 @@
},
{
"ordinal": 4,
+ "name": "is_finished",
+ "type_info": "Bool"
+ },
+ {
+ "ordinal": 5,
+ "name": "fee_account_address",
+ "type_info": "Bytea"
+ },
+ {
+ "ordinal": 6,
"name": "l2_to_l1_logs",
"type_info": "ByteaArray"
},
{
- "ordinal": 5,
+ "ordinal": 7,
"name": "l2_to_l1_messages",
"type_info": "ByteaArray"
},
{
- "ordinal": 6,
+ "ordinal": 8,
"name": "bloom",
"type_info": "Bytea"
},
{
- "ordinal": 7,
+ "ordinal": 9,
"name": "priority_ops_onchain_data",
"type_info": "ByteaArray"
},
{
- "ordinal": 8,
+ "ordinal": 10,
"name": "used_contract_hashes",
"type_info": "Jsonb"
},
{
- "ordinal": 9,
+ "ordinal": 11,
+ "name": "base_fee_per_gas",
+ "type_info": "Numeric"
+ },
+ {
+ "ordinal": 12,
+ "name": "l1_gas_price",
+ "type_info": "Int8"
+ },
+ {
+ "ordinal": 13,
+ "name": "l2_fair_gas_price",
+ "type_info": "Int8"
+ },
+ {
+ "ordinal": 14,
"name": "bootloader_code_hash",
"type_info": "Bytea"
},
{
- "ordinal": 10,
+ "ordinal": 15,
"name": "default_aa_code_hash",
"type_info": "Bytea"
},
{
- "ordinal": 11,
+ "ordinal": 16,
"name": "protocol_version",
"type_info": "Int4"
},
{
- "ordinal": 12,
+ "ordinal": 17,
"name": "system_logs",
"type_info": "ByteaArray"
},
{
- "ordinal": 13,
+ "ordinal": 18,
"name": "compressed_state_diffs",
"type_info": "Bytea"
},
{
- "ordinal": 14,
+ "ordinal": 19,
"name": "pubdata_input",
"type_info": "Bytea"
}
@@ -94,6 +119,11 @@
false,
false,
false,
+ false,
+ false,
+ false,
+ false,
+ false,
true,
true,
true,
@@ -102,5 +132,5 @@
true
]
},
- "hash": "c195037dcf6031a90f407f652657956350786f3596c7302bdeb8d813f9fbf621"
+ "hash": "d8e0f98a67ffb53a1caa6820f8475da2787332deca5708d1d08730cdbfc73541"
}
diff --git a/core/lib/dal/.sqlx/query-eab03e888f20020462ede2cd59fc0d68195346daf5f38d102eab1c1b73b0f82f.json b/core/lib/dal/.sqlx/query-eab03e888f20020462ede2cd59fc0d68195346daf5f38d102eab1c1b73b0f82f.json
deleted file mode 100644
index 5cd05036f98..00000000000
--- a/core/lib/dal/.sqlx/query-eab03e888f20020462ede2cd59fc0d68195346daf5f38d102eab1c1b73b0f82f.json
+++ /dev/null
@@ -1,20 +0,0 @@
-{
- "db_name": "PostgreSQL",
- "query": "\n SELECT COUNT(*)\n FROM information_schema.columns\n WHERE table_name = 'l1_batches' AND column_name = 'fee_account_address'\n ",
- "describe": {
- "columns": [
- {
- "ordinal": 0,
- "name": "count",
- "type_info": "Int8"
- }
- ],
- "parameters": {
- "Left": []
- },
- "nullable": [
- null
- ]
- },
- "hash": "eab03e888f20020462ede2cd59fc0d68195346daf5f38d102eab1c1b73b0f82f"
-}
diff --git a/core/lib/dal/.sqlx/query-f76231781e5e267e9571c3f9daa902c4f720483abb5833ff15ecfa3a2602d4e5.json b/core/lib/dal/.sqlx/query-f76231781e5e267e9571c3f9daa902c4f720483abb5833ff15ecfa3a2602d4e5.json
deleted file mode 100644
index 392d44ef63d..00000000000
--- a/core/lib/dal/.sqlx/query-f76231781e5e267e9571c3f9daa902c4f720483abb5833ff15ecfa3a2602d4e5.json
+++ /dev/null
@@ -1,226 +0,0 @@
-{
- "db_name": "PostgreSQL",
- "query": "\n SELECT\n number,\n timestamp,\n l1_tx_count,\n l2_tx_count,\n bloom,\n priority_ops_onchain_data,\n hash,\n parent_hash,\n commitment,\n compressed_write_logs,\n compressed_contracts,\n eth_prove_tx_id,\n eth_commit_tx_id,\n eth_execute_tx_id,\n merkle_root_hash,\n l2_to_l1_logs,\n l2_to_l1_messages,\n used_contract_hashes,\n compressed_initial_writes,\n compressed_repeated_writes,\n l2_l1_compressed_messages,\n l2_l1_merkle_root,\n rollup_last_leaf_index,\n zkporter_is_available,\n bootloader_code_hash,\n default_aa_code_hash,\n aux_data_hash,\n pass_through_data_hash,\n meta_parameters_hash,\n protocol_version,\n system_logs,\n compressed_state_diffs,\n events_queue_commitment,\n bootloader_initial_content_commitment,\n pubdata_input\n FROM\n l1_batches\n LEFT JOIN commitments ON commitments.l1_batch_number = l1_batches.number\n WHERE\n number = $1\n ",
- "describe": {
- "columns": [
- {
- "ordinal": 0,
- "name": "number",
- "type_info": "Int8"
- },
- {
- "ordinal": 1,
- "name": "timestamp",
- "type_info": "Int8"
- },
- {
- "ordinal": 2,
- "name": "l1_tx_count",
- "type_info": "Int4"
- },
- {
- "ordinal": 3,
- "name": "l2_tx_count",
- "type_info": "Int4"
- },
- {
- "ordinal": 4,
- "name": "bloom",
- "type_info": "Bytea"
- },
- {
- "ordinal": 5,
- "name": "priority_ops_onchain_data",
- "type_info": "ByteaArray"
- },
- {
- "ordinal": 6,
- "name": "hash",
- "type_info": "Bytea"
- },
- {
- "ordinal": 7,
- "name": "parent_hash",
- "type_info": "Bytea"
- },
- {
- "ordinal": 8,
- "name": "commitment",
- "type_info": "Bytea"
- },
- {
- "ordinal": 9,
- "name": "compressed_write_logs",
- "type_info": "Bytea"
- },
- {
- "ordinal": 10,
- "name": "compressed_contracts",
- "type_info": "Bytea"
- },
- {
- "ordinal": 11,
- "name": "eth_prove_tx_id",
- "type_info": "Int4"
- },
- {
- "ordinal": 12,
- "name": "eth_commit_tx_id",
- "type_info": "Int4"
- },
- {
- "ordinal": 13,
- "name": "eth_execute_tx_id",
- "type_info": "Int4"
- },
- {
- "ordinal": 14,
- "name": "merkle_root_hash",
- "type_info": "Bytea"
- },
- {
- "ordinal": 15,
- "name": "l2_to_l1_logs",
- "type_info": "ByteaArray"
- },
- {
- "ordinal": 16,
- "name": "l2_to_l1_messages",
- "type_info": "ByteaArray"
- },
- {
- "ordinal": 17,
- "name": "used_contract_hashes",
- "type_info": "Jsonb"
- },
- {
- "ordinal": 18,
- "name": "compressed_initial_writes",
- "type_info": "Bytea"
- },
- {
- "ordinal": 19,
- "name": "compressed_repeated_writes",
- "type_info": "Bytea"
- },
- {
- "ordinal": 20,
- "name": "l2_l1_compressed_messages",
- "type_info": "Bytea"
- },
- {
- "ordinal": 21,
- "name": "l2_l1_merkle_root",
- "type_info": "Bytea"
- },
- {
- "ordinal": 22,
- "name": "rollup_last_leaf_index",
- "type_info": "Int8"
- },
- {
- "ordinal": 23,
- "name": "zkporter_is_available",
- "type_info": "Bool"
- },
- {
- "ordinal": 24,
- "name": "bootloader_code_hash",
- "type_info": "Bytea"
- },
- {
- "ordinal": 25,
- "name": "default_aa_code_hash",
- "type_info": "Bytea"
- },
- {
- "ordinal": 26,
- "name": "aux_data_hash",
- "type_info": "Bytea"
- },
- {
- "ordinal": 27,
- "name": "pass_through_data_hash",
- "type_info": "Bytea"
- },
- {
- "ordinal": 28,
- "name": "meta_parameters_hash",
- "type_info": "Bytea"
- },
- {
- "ordinal": 29,
- "name": "protocol_version",
- "type_info": "Int4"
- },
- {
- "ordinal": 30,
- "name": "system_logs",
- "type_info": "ByteaArray"
- },
- {
- "ordinal": 31,
- "name": "compressed_state_diffs",
- "type_info": "Bytea"
- },
- {
- "ordinal": 32,
- "name": "events_queue_commitment",
- "type_info": "Bytea"
- },
- {
- "ordinal": 33,
- "name": "bootloader_initial_content_commitment",
- "type_info": "Bytea"
- },
- {
- "ordinal": 34,
- "name": "pubdata_input",
- "type_info": "Bytea"
- }
- ],
- "parameters": {
- "Left": [
- "Int8"
- ]
- },
- "nullable": [
- false,
- false,
- false,
- false,
- false,
- false,
- true,
- true,
- true,
- true,
- true,
- true,
- true,
- true,
- true,
- false,
- false,
- false,
- true,
- true,
- true,
- true,
- true,
- true,
- true,
- true,
- true,
- true,
- true,
- true,
- false,
- true,
- true,
- true,
- true
- ]
- },
- "hash": "f76231781e5e267e9571c3f9daa902c4f720483abb5833ff15ecfa3a2602d4e5"
-}
diff --git a/core/lib/dal/migrations/20231212121822_add_miniblocks_fee_account_address.down.sql b/core/lib/dal/migrations/20231212121822_add_miniblocks_fee_account_address.down.sql
deleted file mode 100644
index 8a0717ff839..00000000000
--- a/core/lib/dal/migrations/20231212121822_add_miniblocks_fee_account_address.down.sql
+++ /dev/null
@@ -1,5 +0,0 @@
-ALTER TABLE l1_batches
- ALTER COLUMN fee_account_address DROP DEFAULT,
- ALTER COLUMN is_finished DROP DEFAULT;
-ALTER TABLE miniblocks
- DROP COLUMN fee_account_address;
diff --git a/core/lib/dal/migrations/20231212121822_add_miniblocks_fee_account_address.up.sql b/core/lib/dal/migrations/20231212121822_add_miniblocks_fee_account_address.up.sql
deleted file mode 100644
index e6ec1f49278..00000000000
--- a/core/lib/dal/migrations/20231212121822_add_miniblocks_fee_account_address.up.sql
+++ /dev/null
@@ -1,9 +0,0 @@
-ALTER TABLE miniblocks
- ADD COLUMN fee_account_address BYTEA NOT NULL DEFAULT '\x0000000000000000000000000000000000000000'::bytea;
--- ^ Add a default value so that DB queries don't fail even if the DB migration is not completed.
-
--- Set default values for columns in `l1_batches` that will be removed, so that INSERTs can work
--- w/o setting these columns.
-ALTER TABLE l1_batches
- ALTER COLUMN fee_account_address SET DEFAULT '\x0000000000000000000000000000000000000000'::bytea,
- ALTER COLUMN is_finished SET DEFAULT true;
diff --git a/core/lib/dal/src/blocks_dal.rs b/core/lib/dal/src/blocks_dal.rs
index ee7598d6ed3..b02068165ae 100644
--- a/core/lib/dal/src/blocks_dal.rs
+++ b/core/lib/dal/src/blocks_dal.rs
@@ -50,6 +50,8 @@ impl BlocksDal<'_, '_> {
MAX(number) AS "number"
FROM
l1_batches
+ WHERE
+ is_finished = TRUE
"#
)
.instrument("get_sealed_block_number")
@@ -151,11 +153,16 @@ impl BlocksDal<'_, '_> {
l1_tx_count,
l2_tx_count,
timestamp,
+ is_finished,
+ fee_account_address,
l2_to_l1_logs,
l2_to_l1_messages,
bloom,
priority_ops_onchain_data,
used_contract_hashes,
+ base_fee_per_gas,
+ l1_gas_price,
+ l2_fair_gas_price,
bootloader_code_hash,
default_aa_code_hash,
protocol_version,
@@ -189,8 +196,10 @@ impl BlocksDal<'_, '_> {
SELECT
number,
timestamp,
+ is_finished,
l1_tx_count,
l2_tx_count,
+ fee_account_address,
bloom,
priority_ops_onchain_data,
hash,
@@ -209,10 +218,13 @@ impl BlocksDal<'_, '_> {
compressed_repeated_writes,
l2_l1_compressed_messages,
l2_l1_merkle_root,
+ l1_gas_price,
+ l2_fair_gas_price,
rollup_last_leaf_index,
zkporter_is_available,
bootloader_code_hash,
default_aa_code_hash,
+ base_fee_per_gas,
aux_data_hash,
pass_through_data_hash,
meta_parameters_hash,
@@ -248,11 +260,16 @@ impl BlocksDal<'_, '_> {
l1_tx_count,
l2_tx_count,
timestamp,
+ is_finished,
+ fee_account_address,
l2_to_l1_logs,
l2_to_l1_messages,
bloom,
priority_ops_onchain_data,
used_contract_hashes,
+ base_fee_per_gas,
+ l1_gas_price,
+ l2_fair_gas_price,
bootloader_code_hash,
default_aa_code_hash,
protocol_version,
@@ -459,6 +476,8 @@ impl BlocksDal<'_, '_> {
// Serialization should always succeed.
let used_contract_hashes = serde_json::to_value(&header.used_contract_hashes)
.expect("failed to serialize used_contract_hashes to JSON value");
+ let base_fee_per_gas = BigDecimal::from_u64(header.base_fee_per_gas)
+ .context("block.base_fee_per_gas should fit in u64")?;
let storage_refunds: Vec<_> = storage_refunds.iter().map(|n| *n as i64).collect();
let mut transaction = self.storage.start_transaction().await?;
@@ -470,6 +489,8 @@ impl BlocksDal<'_, '_> {
l1_tx_count,
l2_tx_count,
timestamp,
+ is_finished,
+ fee_account_address,
l2_to_l1_logs,
l2_to_l1_messages,
bloom,
@@ -479,6 +500,9 @@ impl BlocksDal<'_, '_> {
predicted_execute_gas_cost,
initial_bootloader_heap_content,
used_contract_hashes,
+ base_fee_per_gas,
+ l1_gas_price,
+ l2_fair_gas_price,
bootloader_code_hash,
default_aa_code_hash,
protocol_version,
@@ -511,6 +535,11 @@ impl BlocksDal<'_, '_> {
$18,
$19,
$20,
+ $21,
+ $22,
+ $23,
+ $24,
+ $25,
NOW(),
NOW()
)
@@ -519,6 +548,8 @@ impl BlocksDal<'_, '_> {
header.l1_tx_count as i32,
header.l2_tx_count as i32,
header.timestamp as i64,
+ header.is_finished,
+ header.fee_account_address.as_bytes(),
&l2_to_l1_logs,
&header.l2_to_l1_messages,
header.bloom.as_bytes(),
@@ -528,6 +559,9 @@ impl BlocksDal<'_, '_> {
predicted_block_gas.execute as i64,
initial_bootloader_contents,
used_contract_hashes,
+ base_fee_per_gas,
+ header.l1_gas_price as i64,
+ header.l2_fair_gas_price as i64,
header.base_system_contracts_hashes.bootloader.as_bytes(),
header.base_system_contracts_hashes.default_aa.as_bytes(),
header.protocol_version.map(|v| v as i32),
@@ -572,7 +606,6 @@ impl BlocksDal<'_, '_> {
hash,
l1_tx_count,
l2_tx_count,
- fee_account_address,
base_fee_per_gas,
l1_gas_price,
l2_fair_gas_price,
@@ -586,14 +619,13 @@ impl BlocksDal<'_, '_> {
updated_at
)
VALUES
- ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15, NOW(), NOW())
+ ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, NOW(), NOW())
"#,
miniblock_header.number.0 as i64,
miniblock_header.timestamp as i64,
miniblock_header.hash.as_bytes(),
miniblock_header.l1_tx_count as i32,
miniblock_header.l2_tx_count as i32,
- miniblock_header.fee_account_address.as_bytes(),
base_fee_per_gas,
miniblock_header.batch_fee_input.l1_gas_price() as i64,
miniblock_header.batch_fee_input.fair_l2_gas_price() as i64,
@@ -618,7 +650,7 @@ impl BlocksDal<'_, '_> {
pub async fn get_last_sealed_miniblock_header(
&mut self,
) -> sqlx::Result