diff --git a/Cargo.lock b/Cargo.lock
index abdd3fb6a5cf..d6e7503bd20f 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -12439,6 +12439,8 @@ dependencies = [
"zksync_config",
"zksync_dal",
"zksync_eth_client",
+ "zksync_node_genesis",
+ "zksync_node_test_utils",
"zksync_types",
"zksync_web3_decl",
]
diff --git a/core/lib/dal/.sqlx/query-24aca24f8811d87f5ff54757903e235deae9a0c54b9713207d53918eb4973600.json b/core/lib/dal/.sqlx/query-24aca24f8811d87f5ff54757903e235deae9a0c54b9713207d53918eb4973600.json
new file mode 100644
index 000000000000..b25eff8b4f55
--- /dev/null
+++ b/core/lib/dal/.sqlx/query-24aca24f8811d87f5ff54757903e235deae9a0c54b9713207d53918eb4973600.json
@@ -0,0 +1,62 @@
+{
+ "db_name": "PostgreSQL",
+ "query": "\n SELECT\n number,\n is_sealed,\n timestamp,\n protocol_version,\n fee_address,\n l1_gas_price,\n l2_fair_gas_price,\n fair_pubdata_price\n FROM\n l1_batches\n ORDER BY\n number DESC\n LIMIT\n 1\n ",
+ "describe": {
+ "columns": [
+ {
+ "ordinal": 0,
+ "name": "number",
+ "type_info": "Int8"
+ },
+ {
+ "ordinal": 1,
+ "name": "is_sealed",
+ "type_info": "Bool"
+ },
+ {
+ "ordinal": 2,
+ "name": "timestamp",
+ "type_info": "Int8"
+ },
+ {
+ "ordinal": 3,
+ "name": "protocol_version",
+ "type_info": "Int4"
+ },
+ {
+ "ordinal": 4,
+ "name": "fee_address",
+ "type_info": "Bytea"
+ },
+ {
+ "ordinal": 5,
+ "name": "l1_gas_price",
+ "type_info": "Int8"
+ },
+ {
+ "ordinal": 6,
+ "name": "l2_fair_gas_price",
+ "type_info": "Int8"
+ },
+ {
+ "ordinal": 7,
+ "name": "fair_pubdata_price",
+ "type_info": "Int8"
+ }
+ ],
+ "parameters": {
+ "Left": []
+ },
+ "nullable": [
+ false,
+ false,
+ false,
+ true,
+ false,
+ false,
+ false,
+ false
+ ]
+ },
+ "hash": "24aca24f8811d87f5ff54757903e235deae9a0c54b9713207d53918eb4973600"
+}
diff --git a/core/lib/dal/.sqlx/query-4bd1a4e612d10f2ca26068c140442f38816f163a3e3fba4fdbb81076b969e970.json b/core/lib/dal/.sqlx/query-442d1b4604c7a4202811d250a531d30a258bdf36ed98b1422084ef682b29c8cc.json
similarity index 82%
rename from core/lib/dal/.sqlx/query-4bd1a4e612d10f2ca26068c140442f38816f163a3e3fba4fdbb81076b969e970.json
rename to core/lib/dal/.sqlx/query-442d1b4604c7a4202811d250a531d30a258bdf36ed98b1422084ef682b29c8cc.json
index 66d3e18075bf..39de8d246376 100644
--- a/core/lib/dal/.sqlx/query-4bd1a4e612d10f2ca26068c140442f38816f163a3e3fba4fdbb81076b969e970.json
+++ b/core/lib/dal/.sqlx/query-442d1b4604c7a4202811d250a531d30a258bdf36ed98b1422084ef682b29c8cc.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 commitment,\n l2_to_l1_messages,\n used_contract_hashes,\n compressed_initial_writes,\n compressed_repeated_writes,\n l2_l1_merkle_root,\n rollup_last_leaf_index,\n zkporter_is_available,\n bootloader_code_hash,\n default_aa_code_hash,\n evm_emulator_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 fee_address,\n aggregation_root,\n local_root,\n state_diff_hash,\n data_availability.inclusion_data\n FROM\n l1_batches\n LEFT JOIN commitments ON commitments.l1_batch_number = l1_batches.number\n LEFT JOIN\n data_availability\n ON data_availability.l1_batch_number = l1_batches.number\n WHERE\n number BETWEEN $1 AND $2\n ORDER BY\n number\n LIMIT\n $3\n ",
+ "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 commitment,\n l2_to_l1_messages,\n used_contract_hashes,\n compressed_initial_writes,\n compressed_repeated_writes,\n l2_l1_merkle_root,\n rollup_last_leaf_index,\n zkporter_is_available,\n bootloader_code_hash,\n default_aa_code_hash,\n evm_emulator_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 fee_address,\n aggregation_root,\n local_root,\n state_diff_hash,\n data_availability.inclusion_data,\n l1_gas_price,\n l2_fair_gas_price,\n fair_pubdata_price\n FROM\n l1_batches\n LEFT JOIN commitments ON commitments.l1_batch_number = l1_batches.number\n LEFT JOIN\n data_availability\n ON data_availability.l1_batch_number = l1_batches.number\n WHERE\n number BETWEEN $1 AND $2\n ORDER BY\n number\n LIMIT\n $3\n ",
"describe": {
"columns": [
{
@@ -162,6 +162,21 @@
"ordinal": 31,
"name": "inclusion_data",
"type_info": "Bytea"
+ },
+ {
+ "ordinal": 32,
+ "name": "l1_gas_price",
+ "type_info": "Int8"
+ },
+ {
+ "ordinal": 33,
+ "name": "l2_fair_gas_price",
+ "type_info": "Int8"
+ },
+ {
+ "ordinal": 34,
+ "name": "fair_pubdata_price",
+ "type_info": "Int8"
}
],
"parameters": {
@@ -203,8 +218,11 @@
true,
true,
true,
- true
+ true,
+ false,
+ false,
+ false
]
},
- "hash": "4bd1a4e612d10f2ca26068c140442f38816f163a3e3fba4fdbb81076b969e970"
+ "hash": "442d1b4604c7a4202811d250a531d30a258bdf36ed98b1422084ef682b29c8cc"
}
diff --git a/core/lib/dal/.sqlx/query-4e994d519b9c75e64a74423f8c19fbde6eb6634d7a63005081ffc1eb6c28e9ec.json b/core/lib/dal/.sqlx/query-54f41fccbe8c100015ccf4d87e0e33d22c94aa47b7a8863da2afa5ab1a8502bf.json
similarity index 77%
rename from core/lib/dal/.sqlx/query-4e994d519b9c75e64a74423f8c19fbde6eb6634d7a63005081ffc1eb6c28e9ec.json
rename to core/lib/dal/.sqlx/query-54f41fccbe8c100015ccf4d87e0e33d22c94aa47b7a8863da2afa5ab1a8502bf.json
index 804318120fcc..2cdfad08c830 100644
--- a/core/lib/dal/.sqlx/query-4e994d519b9c75e64a74423f8c19fbde6eb6634d7a63005081ffc1eb6c28e9ec.json
+++ b/core/lib/dal/.sqlx/query-54f41fccbe8c100015ccf4d87e0e33d22c94aa47b7a8863da2afa5ab1a8502bf.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_messages,\n bloom,\n priority_ops_onchain_data,\n used_contract_hashes,\n bootloader_code_hash,\n default_aa_code_hash,\n evm_emulator_code_hash,\n protocol_version,\n system_logs,\n pubdata_input,\n fee_address\n FROM\n l1_batches\n WHERE\n is_sealed\n AND number = $1\n ",
+ "query": "\n SELECT\n number,\n l1_tx_count,\n l2_tx_count,\n timestamp,\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 evm_emulator_code_hash,\n protocol_version,\n system_logs,\n pubdata_input,\n fee_address,\n l1_gas_price,\n l2_fair_gas_price,\n fair_pubdata_price\n FROM\n l1_batches\n WHERE\n is_sealed\n AND number = $1\n ",
"describe": {
"columns": [
{
@@ -77,6 +77,21 @@
"ordinal": 14,
"name": "fee_address",
"type_info": "Bytea"
+ },
+ {
+ "ordinal": 15,
+ "name": "l1_gas_price",
+ "type_info": "Int8"
+ },
+ {
+ "ordinal": 16,
+ "name": "l2_fair_gas_price",
+ "type_info": "Int8"
+ },
+ {
+ "ordinal": 17,
+ "name": "fair_pubdata_price",
+ "type_info": "Int8"
}
],
"parameters": {
@@ -99,8 +114,11 @@
true,
false,
true,
+ false,
+ false,
+ false,
false
]
},
- "hash": "4e994d519b9c75e64a74423f8c19fbde6eb6634d7a63005081ffc1eb6c28e9ec"
+ "hash": "54f41fccbe8c100015ccf4d87e0e33d22c94aa47b7a8863da2afa5ab1a8502bf"
}
diff --git a/core/lib/dal/.sqlx/query-a42121cd85daeb95ee268ba5cff1806fcc54d73216a7dc54be6ba210ef02d789.json b/core/lib/dal/.sqlx/query-7203b56390ec3768b7f8ed221756eaa79e05b443995c819db0befdcb1449691f.json
similarity index 77%
rename from core/lib/dal/.sqlx/query-a42121cd85daeb95ee268ba5cff1806fcc54d73216a7dc54be6ba210ef02d789.json
rename to core/lib/dal/.sqlx/query-7203b56390ec3768b7f8ed221756eaa79e05b443995c819db0befdcb1449691f.json
index 9a93ba45978e..8a29dbe2158e 100644
--- a/core/lib/dal/.sqlx/query-a42121cd85daeb95ee268ba5cff1806fcc54d73216a7dc54be6ba210ef02d789.json
+++ b/core/lib/dal/.sqlx/query-7203b56390ec3768b7f8ed221756eaa79e05b443995c819db0befdcb1449691f.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 commitment,\n l2_to_l1_messages,\n used_contract_hashes,\n compressed_initial_writes,\n compressed_repeated_writes,\n l2_l1_merkle_root,\n rollup_last_leaf_index,\n zkporter_is_available,\n bootloader_code_hash,\n default_aa_code_hash,\n evm_emulator_code_hash,\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 fee_address,\n aggregation_root,\n local_root,\n state_diff_hash,\n data_availability.inclusion_data\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 LEFT JOIN data_availability ON data_availability.l1_batch_number = inn.number\n WHERE\n number - row_number = $1\n ",
+ "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 commitment,\n l2_to_l1_messages,\n used_contract_hashes,\n compressed_initial_writes,\n compressed_repeated_writes,\n l2_l1_merkle_root,\n rollup_last_leaf_index,\n zkporter_is_available,\n bootloader_code_hash,\n default_aa_code_hash,\n evm_emulator_code_hash,\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 fee_address,\n aggregation_root,\n local_root,\n state_diff_hash,\n data_availability.inclusion_data,\n l1_gas_price,\n l2_fair_gas_price,\n fair_pubdata_price\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 LEFT JOIN data_availability ON data_availability.l1_batch_number = inn.number\n WHERE\n number - row_number = $1\n ",
"describe": {
"columns": [
{
@@ -162,6 +162,21 @@
"ordinal": 31,
"name": "inclusion_data",
"type_info": "Bytea"
+ },
+ {
+ "ordinal": 32,
+ "name": "l1_gas_price",
+ "type_info": "Int8"
+ },
+ {
+ "ordinal": 33,
+ "name": "l2_fair_gas_price",
+ "type_info": "Int8"
+ },
+ {
+ "ordinal": 34,
+ "name": "fair_pubdata_price",
+ "type_info": "Int8"
}
],
"parameters": {
@@ -202,8 +217,11 @@
true,
true,
true,
- true
+ true,
+ false,
+ false,
+ false
]
},
- "hash": "a42121cd85daeb95ee268ba5cff1806fcc54d73216a7dc54be6ba210ef02d789"
+ "hash": "7203b56390ec3768b7f8ed221756eaa79e05b443995c819db0befdcb1449691f"
}
diff --git a/core/lib/dal/.sqlx/query-77864e5eb5eada8edf8f4457aa153369701d7cd5f75ca031bf77ca27d0437cb9.json b/core/lib/dal/.sqlx/query-7cf174da6228113a27dacbcc0eac9b01a237f4d0f74c2d387099a3766bf7364b.json
similarity index 84%
rename from core/lib/dal/.sqlx/query-77864e5eb5eada8edf8f4457aa153369701d7cd5f75ca031bf77ca27d0437cb9.json
rename to core/lib/dal/.sqlx/query-7cf174da6228113a27dacbcc0eac9b01a237f4d0f74c2d387099a3766bf7364b.json
index f4e08abe31c5..c8548e37a5f6 100644
--- a/core/lib/dal/.sqlx/query-77864e5eb5eada8edf8f4457aa153369701d7cd5f75ca031bf77ca27d0437cb9.json
+++ b/core/lib/dal/.sqlx/query-7cf174da6228113a27dacbcc0eac9b01a237f4d0f74c2d387099a3766bf7364b.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 commitment,\n l2_to_l1_messages,\n used_contract_hashes,\n compressed_initial_writes,\n compressed_repeated_writes,\n l2_l1_merkle_root,\n rollup_last_leaf_index,\n zkporter_is_available,\n bootloader_code_hash,\n default_aa_code_hash,\n evm_emulator_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 fee_address,\n aggregation_root,\n local_root,\n state_diff_hash,\n data_availability.inclusion_data\n FROM\n l1_batches\n LEFT JOIN commitments ON commitments.l1_batch_number = l1_batches.number\n LEFT JOIN\n data_availability\n ON data_availability.l1_batch_number = l1_batches.number\n WHERE\n is_sealed\n AND number = $1\n ",
+ "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 commitment,\n l2_to_l1_messages,\n used_contract_hashes,\n compressed_initial_writes,\n compressed_repeated_writes,\n l2_l1_merkle_root,\n rollup_last_leaf_index,\n zkporter_is_available,\n bootloader_code_hash,\n default_aa_code_hash,\n evm_emulator_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 fee_address,\n aggregation_root,\n local_root,\n state_diff_hash,\n data_availability.inclusion_data,\n l1_gas_price,\n l2_fair_gas_price,\n fair_pubdata_price\n FROM\n l1_batches\n LEFT JOIN commitments ON commitments.l1_batch_number = l1_batches.number\n LEFT JOIN\n data_availability\n ON data_availability.l1_batch_number = l1_batches.number\n WHERE\n is_sealed\n AND number = $1\n ",
"describe": {
"columns": [
{
@@ -162,6 +162,21 @@
"ordinal": 31,
"name": "inclusion_data",
"type_info": "Bytea"
+ },
+ {
+ "ordinal": 32,
+ "name": "l1_gas_price",
+ "type_info": "Int8"
+ },
+ {
+ "ordinal": 33,
+ "name": "l2_fair_gas_price",
+ "type_info": "Int8"
+ },
+ {
+ "ordinal": 34,
+ "name": "fair_pubdata_price",
+ "type_info": "Int8"
}
],
"parameters": {
@@ -201,8 +216,11 @@
true,
true,
true,
- true
+ true,
+ false,
+ false,
+ false
]
},
- "hash": "77864e5eb5eada8edf8f4457aa153369701d7cd5f75ca031bf77ca27d0437cb9"
+ "hash": "7cf174da6228113a27dacbcc0eac9b01a237f4d0f74c2d387099a3766bf7364b"
}
diff --git a/core/lib/dal/.sqlx/query-45154c2efc8d07c4f83ae3e229f9892118f5732374e62f35e27800422afb5746.json b/core/lib/dal/.sqlx/query-881ea0a611d35d4a6cc6893067a791f9887cc7dcf456c79bb22edb22cf27682f.json
similarity index 75%
rename from core/lib/dal/.sqlx/query-45154c2efc8d07c4f83ae3e229f9892118f5732374e62f35e27800422afb5746.json
rename to core/lib/dal/.sqlx/query-881ea0a611d35d4a6cc6893067a791f9887cc7dcf456c79bb22edb22cf27682f.json
index 11bff1102932..7eb653119357 100644
--- a/core/lib/dal/.sqlx/query-45154c2efc8d07c4f83ae3e229f9892118f5732374e62f35e27800422afb5746.json
+++ b/core/lib/dal/.sqlx/query-881ea0a611d35d4a6cc6893067a791f9887cc7dcf456c79bb22edb22cf27682f.json
@@ -1,6 +1,6 @@
{
"db_name": "PostgreSQL",
- "query": "\n SELECT\n number,\n l1_batches.timestamp,\n l1_tx_count,\n l2_tx_count,\n bloom,\n priority_ops_onchain_data,\n hash,\n commitment,\n l2_to_l1_messages,\n used_contract_hashes,\n compressed_initial_writes,\n compressed_repeated_writes,\n l2_l1_merkle_root,\n rollup_last_leaf_index,\n zkporter_is_available,\n l1_batches.bootloader_code_hash,\n l1_batches.default_aa_code_hash,\n l1_batches.evm_emulator_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 fee_address,\n aggregation_root,\n local_root,\n state_diff_hash,\n data_availability.inclusion_data\n FROM\n l1_batches\n LEFT JOIN commitments ON commitments.l1_batch_number = l1_batches.number\n LEFT JOIN\n data_availability\n ON data_availability.l1_batch_number = l1_batches.number\n JOIN protocol_versions ON protocol_versions.id = l1_batches.protocol_version\n WHERE\n eth_commit_tx_id IS NULL\n AND number != 0\n AND protocol_versions.bootloader_code_hash = $1\n AND protocol_versions.default_account_code_hash = $2\n AND commitment IS NOT NULL\n AND (\n protocol_versions.id = $3\n OR protocol_versions.upgrade_tx_hash IS NULL\n )\n AND events_queue_commitment IS NOT NULL\n AND bootloader_initial_content_commitment IS NOT NULL\n AND (\n data_availability.inclusion_data IS NOT NULL\n OR $4 IS FALSE\n )\n ORDER BY\n number\n LIMIT\n $5\n ",
+ "query": "\n SELECT\n number,\n l1_batches.timestamp,\n l1_tx_count,\n l2_tx_count,\n bloom,\n priority_ops_onchain_data,\n hash,\n commitment,\n l2_to_l1_messages,\n used_contract_hashes,\n compressed_initial_writes,\n compressed_repeated_writes,\n l2_l1_merkle_root,\n rollup_last_leaf_index,\n zkporter_is_available,\n l1_batches.bootloader_code_hash,\n l1_batches.default_aa_code_hash,\n l1_batches.evm_emulator_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 fee_address,\n aggregation_root,\n local_root,\n state_diff_hash,\n data_availability.inclusion_data,\n l1_gas_price,\n l2_fair_gas_price,\n fair_pubdata_price\n FROM\n l1_batches\n LEFT JOIN commitments ON commitments.l1_batch_number = l1_batches.number\n LEFT JOIN\n data_availability\n ON data_availability.l1_batch_number = l1_batches.number\n JOIN protocol_versions ON protocol_versions.id = l1_batches.protocol_version\n WHERE\n eth_commit_tx_id IS NULL\n AND number != 0\n AND protocol_versions.bootloader_code_hash = $1\n AND protocol_versions.default_account_code_hash = $2\n AND commitment IS NOT NULL\n AND (\n protocol_versions.id = $3\n OR protocol_versions.upgrade_tx_hash IS NULL\n )\n AND events_queue_commitment IS NOT NULL\n AND bootloader_initial_content_commitment IS NOT NULL\n AND (\n data_availability.inclusion_data IS NOT NULL\n OR $4 IS FALSE\n )\n ORDER BY\n number\n LIMIT\n $5\n ",
"describe": {
"columns": [
{
@@ -162,6 +162,21 @@
"ordinal": 31,
"name": "inclusion_data",
"type_info": "Bytea"
+ },
+ {
+ "ordinal": 32,
+ "name": "l1_gas_price",
+ "type_info": "Int8"
+ },
+ {
+ "ordinal": 33,
+ "name": "l2_fair_gas_price",
+ "type_info": "Int8"
+ },
+ {
+ "ordinal": 34,
+ "name": "fair_pubdata_price",
+ "type_info": "Int8"
}
],
"parameters": {
@@ -205,8 +220,11 @@
true,
true,
true,
- true
+ true,
+ false,
+ false,
+ false
]
},
- "hash": "45154c2efc8d07c4f83ae3e229f9892118f5732374e62f35e27800422afb5746"
+ "hash": "881ea0a611d35d4a6cc6893067a791f9887cc7dcf456c79bb22edb22cf27682f"
}
diff --git a/core/lib/dal/.sqlx/query-c5aedd2b1871d8f6276a31482caa673e4b5bba059ebe07bbbb64578881db030b.json b/core/lib/dal/.sqlx/query-c70a2e9d09f93b510cb726d6d420635d692a748021ed20b657b6d8f0dfcad5bc.json
similarity index 90%
rename from core/lib/dal/.sqlx/query-c5aedd2b1871d8f6276a31482caa673e4b5bba059ebe07bbbb64578881db030b.json
rename to core/lib/dal/.sqlx/query-c70a2e9d09f93b510cb726d6d420635d692a748021ed20b657b6d8f0dfcad5bc.json
index f97ea8a6ccd5..1f6a3dfec6ea 100644
--- a/core/lib/dal/.sqlx/query-c5aedd2b1871d8f6276a31482caa673e4b5bba059ebe07bbbb64578881db030b.json
+++ b/core/lib/dal/.sqlx/query-c70a2e9d09f93b510cb726d6d420635d692a748021ed20b657b6d8f0dfcad5bc.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 commitment,\n l2_to_l1_messages,\n used_contract_hashes,\n compressed_initial_writes,\n compressed_repeated_writes,\n l2_l1_merkle_root,\n rollup_last_leaf_index,\n zkporter_is_available,\n bootloader_code_hash,\n default_aa_code_hash,\n evm_emulator_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 fee_address,\n aggregation_root,\n local_root,\n state_diff_hash,\n data_availability.inclusion_data\n FROM\n l1_batches\n LEFT JOIN commitments ON commitments.l1_batch_number = l1_batches.number\n LEFT JOIN\n data_availability\n ON data_availability.l1_batch_number = l1_batches.number\n WHERE\n eth_prove_tx_id IS NOT NULL\n AND eth_execute_tx_id IS NULL\n ORDER BY\n number\n LIMIT\n $1\n ",
+ "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 commitment,\n l2_to_l1_messages,\n used_contract_hashes,\n compressed_initial_writes,\n compressed_repeated_writes,\n l2_l1_merkle_root,\n rollup_last_leaf_index,\n zkporter_is_available,\n bootloader_code_hash,\n default_aa_code_hash,\n evm_emulator_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 fee_address,\n aggregation_root,\n local_root,\n state_diff_hash,\n data_availability.inclusion_data,\n l1_gas_price,\n l2_fair_gas_price,\n fair_pubdata_price\n FROM\n l1_batches\n LEFT JOIN commitments ON commitments.l1_batch_number = l1_batches.number\n LEFT JOIN\n data_availability\n ON data_availability.l1_batch_number = l1_batches.number\n WHERE\n eth_prove_tx_id IS NOT NULL\n AND eth_execute_tx_id IS NULL\n ORDER BY\n number\n LIMIT\n $1\n ",
"describe": {
"columns": [
{
@@ -162,6 +162,21 @@
"ordinal": 31,
"name": "inclusion_data",
"type_info": "Bytea"
+ },
+ {
+ "ordinal": 32,
+ "name": "l1_gas_price",
+ "type_info": "Int8"
+ },
+ {
+ "ordinal": 33,
+ "name": "l2_fair_gas_price",
+ "type_info": "Int8"
+ },
+ {
+ "ordinal": 34,
+ "name": "fair_pubdata_price",
+ "type_info": "Int8"
}
],
"parameters": {
@@ -201,8 +216,11 @@
true,
true,
true,
- true
+ true,
+ false,
+ false,
+ false
]
},
- "hash": "c5aedd2b1871d8f6276a31482caa673e4b5bba059ebe07bbbb64578881db030b"
+ "hash": "c70a2e9d09f93b510cb726d6d420635d692a748021ed20b657b6d8f0dfcad5bc"
}
diff --git a/core/lib/dal/.sqlx/query-62e8330881b73917394384adbf73911add046315e5f8877bc57a34e3dadf9e37.json b/core/lib/dal/.sqlx/query-cb1a078ba867415f27a50bdccfbfb654bdb1c4139c453889b5fe43902300c361.json
similarity index 82%
rename from core/lib/dal/.sqlx/query-62e8330881b73917394384adbf73911add046315e5f8877bc57a34e3dadf9e37.json
rename to core/lib/dal/.sqlx/query-cb1a078ba867415f27a50bdccfbfb654bdb1c4139c453889b5fe43902300c361.json
index dfdb4b6c82e7..ab9a270abc7b 100644
--- a/core/lib/dal/.sqlx/query-62e8330881b73917394384adbf73911add046315e5f8877bc57a34e3dadf9e37.json
+++ b/core/lib/dal/.sqlx/query-cb1a078ba867415f27a50bdccfbfb654bdb1c4139c453889b5fe43902300c361.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 commitment,\n l2_to_l1_messages,\n used_contract_hashes,\n compressed_initial_writes,\n compressed_repeated_writes,\n l2_l1_merkle_root,\n rollup_last_leaf_index,\n zkporter_is_available,\n bootloader_code_hash,\n default_aa_code_hash,\n evm_emulator_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 fee_address,\n aggregation_root,\n local_root,\n state_diff_hash,\n data_availability.inclusion_data\n FROM\n l1_batches\n LEFT JOIN commitments ON commitments.l1_batch_number = l1_batches.number\n LEFT JOIN\n data_availability\n ON data_availability.l1_batch_number = l1_batches.number\n WHERE\n eth_commit_tx_id IS NOT NULL\n AND eth_prove_tx_id IS NULL\n ORDER BY\n number\n LIMIT\n $1\n ",
+ "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 commitment,\n l2_to_l1_messages,\n used_contract_hashes,\n compressed_initial_writes,\n compressed_repeated_writes,\n l2_l1_merkle_root,\n rollup_last_leaf_index,\n zkporter_is_available,\n bootloader_code_hash,\n default_aa_code_hash,\n evm_emulator_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 fee_address,\n aggregation_root,\n local_root,\n state_diff_hash,\n data_availability.inclusion_data,\n l1_gas_price,\n l2_fair_gas_price,\n fair_pubdata_price\n FROM\n l1_batches\n LEFT JOIN commitments ON commitments.l1_batch_number = l1_batches.number\n LEFT JOIN\n data_availability\n ON data_availability.l1_batch_number = l1_batches.number\n WHERE\n eth_commit_tx_id IS NOT NULL\n AND eth_prove_tx_id IS NULL\n ORDER BY\n number\n LIMIT\n $1\n ",
"describe": {
"columns": [
{
@@ -162,6 +162,21 @@
"ordinal": 31,
"name": "inclusion_data",
"type_info": "Bytea"
+ },
+ {
+ "ordinal": 32,
+ "name": "l1_gas_price",
+ "type_info": "Int8"
+ },
+ {
+ "ordinal": 33,
+ "name": "l2_fair_gas_price",
+ "type_info": "Int8"
+ },
+ {
+ "ordinal": 34,
+ "name": "fair_pubdata_price",
+ "type_info": "Int8"
}
],
"parameters": {
@@ -201,8 +216,11 @@
true,
true,
true,
- true
+ true,
+ false,
+ false,
+ false
]
},
- "hash": "62e8330881b73917394384adbf73911add046315e5f8877bc57a34e3dadf9e37"
+ "hash": "cb1a078ba867415f27a50bdccfbfb654bdb1c4139c453889b5fe43902300c361"
}
diff --git a/core/lib/dal/.sqlx/query-1cb61327bed4d65a3fc81aa2229e01396dacefc0cea8cbcf5807185eb00fc0f7.json b/core/lib/dal/.sqlx/query-d62f8d10c7b469067e20e56d2e58d94bb65d35ad4b0c819fa7b4afe07d9769e9.json
similarity index 82%
rename from core/lib/dal/.sqlx/query-1cb61327bed4d65a3fc81aa2229e01396dacefc0cea8cbcf5807185eb00fc0f7.json
rename to core/lib/dal/.sqlx/query-d62f8d10c7b469067e20e56d2e58d94bb65d35ad4b0c819fa7b4afe07d9769e9.json
index 48adcd412676..5d40770fcf1d 100644
--- a/core/lib/dal/.sqlx/query-1cb61327bed4d65a3fc81aa2229e01396dacefc0cea8cbcf5807185eb00fc0f7.json
+++ b/core/lib/dal/.sqlx/query-d62f8d10c7b469067e20e56d2e58d94bb65d35ad4b0c819fa7b4afe07d9769e9.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 commitment,\n l2_to_l1_messages,\n used_contract_hashes,\n compressed_initial_writes,\n compressed_repeated_writes,\n l2_l1_merkle_root,\n rollup_last_leaf_index,\n zkporter_is_available,\n bootloader_code_hash,\n default_aa_code_hash,\n evm_emulator_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 fee_address,\n aggregation_root,\n local_root,\n state_diff_hash,\n data_availability.inclusion_data\n FROM\n l1_batches\n LEFT JOIN commitments ON commitments.l1_batch_number = l1_batches.number\n LEFT JOIN\n data_availability\n ON data_availability.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 l1_tx_count,\n l2_tx_count,\n bloom,\n priority_ops_onchain_data,\n hash,\n commitment,\n l2_to_l1_messages,\n used_contract_hashes,\n compressed_initial_writes,\n compressed_repeated_writes,\n l2_l1_merkle_root,\n rollup_last_leaf_index,\n zkporter_is_available,\n bootloader_code_hash,\n default_aa_code_hash,\n evm_emulator_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 fee_address,\n aggregation_root,\n local_root,\n state_diff_hash,\n data_availability.inclusion_data,\n l1_gas_price,\n l2_fair_gas_price,\n fair_pubdata_price\n FROM\n l1_batches\n LEFT JOIN commitments ON commitments.l1_batch_number = l1_batches.number\n LEFT JOIN\n data_availability\n ON data_availability.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": [
{
@@ -162,6 +162,21 @@
"ordinal": 31,
"name": "inclusion_data",
"type_info": "Bytea"
+ },
+ {
+ "ordinal": 32,
+ "name": "l1_gas_price",
+ "type_info": "Int8"
+ },
+ {
+ "ordinal": 33,
+ "name": "l2_fair_gas_price",
+ "type_info": "Int8"
+ },
+ {
+ "ordinal": 34,
+ "name": "fair_pubdata_price",
+ "type_info": "Int8"
}
],
"parameters": {
@@ -199,8 +214,11 @@
true,
true,
true,
- true
+ true,
+ false,
+ false,
+ false
]
},
- "hash": "1cb61327bed4d65a3fc81aa2229e01396dacefc0cea8cbcf5807185eb00fc0f7"
+ "hash": "d62f8d10c7b469067e20e56d2e58d94bb65d35ad4b0c819fa7b4afe07d9769e9"
}
diff --git a/core/lib/dal/.sqlx/query-b7d448837439a3e3dfe73070d3c20e9c138d0a6d35e9ce7fc396c5e76fbc25dd.json b/core/lib/dal/.sqlx/query-e90a364528fab11f4b0d0e5d069395ab975d3e06a6004e01b86b8d4e14788b95.json
similarity index 78%
rename from core/lib/dal/.sqlx/query-b7d448837439a3e3dfe73070d3c20e9c138d0a6d35e9ce7fc396c5e76fbc25dd.json
rename to core/lib/dal/.sqlx/query-e90a364528fab11f4b0d0e5d069395ab975d3e06a6004e01b86b8d4e14788b95.json
index 8a68b1a9b9bd..69ac542a8a9a 100644
--- a/core/lib/dal/.sqlx/query-b7d448837439a3e3dfe73070d3c20e9c138d0a6d35e9ce7fc396c5e76fbc25dd.json
+++ b/core/lib/dal/.sqlx/query-e90a364528fab11f4b0d0e5d069395ab975d3e06a6004e01b86b8d4e14788b95.json
@@ -1,6 +1,6 @@
{
"db_name": "PostgreSQL",
- "query": "\n SELECT\n number,\n l1_batches.timestamp,\n l1_tx_count,\n l2_tx_count,\n bloom,\n priority_ops_onchain_data,\n hash,\n commitment,\n l2_to_l1_messages,\n used_contract_hashes,\n compressed_initial_writes,\n compressed_repeated_writes,\n l2_l1_merkle_root,\n rollup_last_leaf_index,\n zkporter_is_available,\n l1_batches.bootloader_code_hash,\n l1_batches.default_aa_code_hash,\n l1_batches.evm_emulator_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 fee_address,\n aggregation_root,\n local_root,\n state_diff_hash,\n data_availability.inclusion_data\n FROM\n l1_batches\n LEFT JOIN commitments ON commitments.l1_batch_number = l1_batches.number\n JOIN protocol_versions ON protocol_versions.id = l1_batches.protocol_version\n LEFT JOIN\n data_availability\n ON data_availability.l1_batch_number = l1_batches.number\n WHERE\n eth_commit_tx_id IS NULL\n AND number != 0\n AND protocol_versions.bootloader_code_hash = $1\n AND protocol_versions.default_account_code_hash = $2\n AND commitment IS NOT NULL\n AND (\n protocol_versions.id = $3\n OR protocol_versions.upgrade_tx_hash IS NULL\n )\n ORDER BY\n number\n LIMIT\n $4\n ",
+ "query": "\n SELECT\n number,\n l1_batches.timestamp,\n l1_tx_count,\n l2_tx_count,\n bloom,\n priority_ops_onchain_data,\n hash,\n commitment,\n l2_to_l1_messages,\n used_contract_hashes,\n compressed_initial_writes,\n compressed_repeated_writes,\n l2_l1_merkle_root,\n rollup_last_leaf_index,\n zkporter_is_available,\n l1_batches.bootloader_code_hash,\n l1_batches.default_aa_code_hash,\n l1_batches.evm_emulator_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 fee_address,\n aggregation_root,\n local_root,\n state_diff_hash,\n data_availability.inclusion_data,\n l1_gas_price,\n l2_fair_gas_price,\n fair_pubdata_price\n FROM\n l1_batches\n LEFT JOIN commitments ON commitments.l1_batch_number = l1_batches.number\n JOIN protocol_versions ON protocol_versions.id = l1_batches.protocol_version\n LEFT JOIN\n data_availability\n ON data_availability.l1_batch_number = l1_batches.number\n WHERE\n eth_commit_tx_id IS NULL\n AND number != 0\n AND protocol_versions.bootloader_code_hash = $1\n AND protocol_versions.default_account_code_hash = $2\n AND commitment IS NOT NULL\n AND (\n protocol_versions.id = $3\n OR protocol_versions.upgrade_tx_hash IS NULL\n )\n ORDER BY\n number\n LIMIT\n $4\n ",
"describe": {
"columns": [
{
@@ -162,6 +162,21 @@
"ordinal": 31,
"name": "inclusion_data",
"type_info": "Bytea"
+ },
+ {
+ "ordinal": 32,
+ "name": "l1_gas_price",
+ "type_info": "Int8"
+ },
+ {
+ "ordinal": 33,
+ "name": "l2_fair_gas_price",
+ "type_info": "Int8"
+ },
+ {
+ "ordinal": 34,
+ "name": "fair_pubdata_price",
+ "type_info": "Int8"
}
],
"parameters": {
@@ -204,8 +219,11 @@
true,
true,
true,
- true
+ true,
+ false,
+ false,
+ false
]
},
- "hash": "b7d448837439a3e3dfe73070d3c20e9c138d0a6d35e9ce7fc396c5e76fbc25dd"
+ "hash": "e90a364528fab11f4b0d0e5d069395ab975d3e06a6004e01b86b8d4e14788b95"
}
diff --git a/core/lib/dal/src/blocks_dal.rs b/core/lib/dal/src/blocks_dal.rs
index 9404f4d14332..f39a9c582df9 100644
--- a/core/lib/dal/src/blocks_dal.rs
+++ b/core/lib/dal/src/blocks_dal.rs
@@ -16,11 +16,10 @@ use zksync_db_connection::{
use zksync_types::{
aggregated_operations::AggregatedActionType,
block::{
- L1BatchHeader, L1BatchStatistics, L1BatchTreeData, L2BlockHeader, StorageOracleInfo,
- UnsealedL1BatchHeader,
+ CommonL1BatchHeader, L1BatchHeader, L1BatchStatistics, L1BatchTreeData, L2BlockHeader,
+ StorageOracleInfo, UnsealedL1BatchHeader,
},
commitment::{L1BatchCommitmentArtifacts, L1BatchWithMetadata},
- fee_model::BatchFeeInput,
l2_to_l1_log::{BatchAndChainMerklePath, UserL2ToL1Log},
writes::TreeWrite,
Address, Bloom, L1BatchNumber, L2BlockNumber, ProtocolVersionId, SLChainId, H256, U256,
@@ -32,7 +31,8 @@ use crate::{
models::{
parse_protocol_version,
storage_block::{
- StorageL1Batch, StorageL1BatchHeader, StorageL2BlockHeader, UnsealedStorageL1Batch,
+ CommonStorageL1BatchHeader, StorageL1Batch, StorageL1BatchHeader, StorageL2BlockHeader,
+ UnsealedStorageL1Batch,
},
storage_event::StorageL2ToL1Log,
storage_oracle_info::DbStorageOracleInfo,
@@ -103,6 +103,7 @@ impl BlocksDal<'_, '_> {
Ok(count == 0)
}
+ /// Returns the number of the last sealed L1 batch present in the DB, or `None` if there are no L1 batches.
pub async fn get_sealed_l1_batch_number(&mut self) -> DalResult