Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 8 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [Unreleased]

## [0.8.1] - 2024-09-02

### Fixed

- Mempool: handling of missing verification key in the transaction pool.

## [0.8.0] - 2024-08-30

### Added
Expand Down Expand Up @@ -209,7 +215,8 @@ First public release.
- Alpha version of the node which can connect and syncup to the berkeleynet network, and keep applying new blocks to maintain consensus state and ledger up to date.
- Web-based frontend for the node.

[Unreleased]: https://github.com/openmina/openmina/compare/v0.8.0...develop
[Unreleased]: https://github.com/openmina/openmina/compare/v0.8.1...develop
[0.8.1]: https://github.com/openmina/openmina/releases/tag/v0.8.0...v0.8.1
[0.8.0]: https://github.com/openmina/openmina/releases/tag/v0.7.0...v0.8.0
[0.7.0]: https://github.com/openmina/openmina/releases/tag/v0.6.0...v0.7.0
[0.6.0]: https://github.com/openmina/openmina/releases/tag/v0.5.1...v0.6.0
Expand Down
50 changes: 25 additions & 25 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion cli/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "cli"
version = "0.8.0"
version = "0.8.1"
edition = "2021"
license = "Apache-2.0"

Expand Down
2 changes: 1 addition & 1 deletion cli/replay_dynamic_effects/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "replay_dynamic_effects"
version = "0.8.0"
version = "0.8.1"
edition = "2021"
license = "Apache-2.0"

Expand Down
2 changes: 1 addition & 1 deletion core/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "openmina-core"
version = "0.8.0"
version = "0.8.1"
edition = "2021"
license = "Apache-2.0"

Expand Down
4 changes: 2 additions & 2 deletions docker-compose.local.producers.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
services:
local-producer-cluster:
container_name: local-producer-cluster
image: openmina/openmina:0.8.0
image: openmina/openmina:0.8.1
environment:
- RUST_BACKTRACE=1
entrypoint: ["openmina-node-testing", "scenarios-generate", "--name", "simulation-small-forever-real-time"]
Expand All @@ -12,7 +12,7 @@ services:

frontend:
container_name: frontend
image: openmina/frontend:0.8.0-producer-demo
image: openmina/frontend:0.8.1-producer-demo
# build:
# context: .
# dockerfile: Dockerfile_FE
Expand Down
2 changes: 1 addition & 1 deletion fuzzer/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "openmina-fuzzer"
version = "0.8.0"
version = "0.8.1"
edition = "2021"
license = "Apache-2.0"

Expand Down
2 changes: 1 addition & 1 deletion ledger/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "mina-tree"
version = "0.8.0"
version = "0.8.1"
edition = "2021"
license = "Apache-2.0"

Expand Down
2 changes: 1 addition & 1 deletion ledger/src/scan_state/transaction_logic.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4187,7 +4187,7 @@ pub mod zkapp_command {
.find(|(id, _)| account_id == id)
.map(|(_, key)| key.clone())
})
.ok_or_else(|| "verification key not found in cache".to_string())
.ok_or_else(|| format!("verification key not found in cache: {:?}", vk_hash))
})?;
if !is_failed {
for (account_id, vk) in cmd.extract_vks() {
Expand Down
18 changes: 11 additions & 7 deletions ledger/src/transaction_pool.rs
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,8 @@ pub enum TransactionPoolErrors {
/// Invalid transactions, rejeceted diffs, etc...
#[error("Transaction pool errors: {0:?}")]
BatchedErrors(Vec<TransactionError>),
#[error("{0:?}")]
LoadingVK(String),
/// Errors that should panic the node (bugs in implementation)
#[error("Unexpected error: {0}")]
Unexpected(String),
Expand Down Expand Up @@ -996,7 +998,7 @@ impl IndexedPool {
consumed
};

match by_sender.state.as_mut() {
match by_sender.state.clone() {
None => {
if current_nonce != cmd_applicable_at_nonce {
return Err(CommandError::InvalidNonce {
Expand All @@ -1020,7 +1022,7 @@ impl IndexedPool {

Ok((cmd.clone(), Self::make_queue()))
}
Some((queued_cmds, reserved_currency)) => {
Some((mut queued_cmds, reserved_currency)) => {
assert!(!queued_cmds.is_empty());
let queue_applicable_at_nonce = {
let first = queued_cmds.front().unwrap();
Expand All @@ -1031,14 +1033,14 @@ impl IndexedPool {
last.data.forget_check().expected_target_nonce()
};
if queue_target_nonce == cmd_applicable_at_nonce {
*reserved_currency = consumed
.checked_add(reserved_currency)
let reserved_currency = consumed
.checked_add(&reserved_currency)
.ok_or(CommandError::Overflow)?;

if *reserved_currency > balance.to_amount() {
if reserved_currency > balance.to_amount() {
return Err(CommandError::InsufficientFunds {
balance,
consumed: *reserved_currency,
consumed: reserved_currency,
});
}

Expand All @@ -1050,6 +1052,8 @@ impl IndexedPool {
add_to_applicable_by_fee: false,
});

by_sender.state = Some((queued_cmds, reserved_currency));

Ok((cmd.clone(), Self::make_queue()))
} else if queue_applicable_at_nonce == current_nonce {
if !cmd_applicable_at_nonce
Expand Down Expand Up @@ -2161,7 +2165,7 @@ impl TransactionPool {

from_unapplied_sequence::Cache::new(merged)
})
.map_err(TransactionPoolErrors::Unexpected)?;
.map_err(TransactionPoolErrors::LoadingVK)?;

let diff = diff
.into_iter()
Expand Down
2 changes: 1 addition & 1 deletion macros/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "openmina-macros"
version = "0.8.0"
version = "0.8.1"
edition = "2021"
license = "Apache-2.0"
authors = [ "Alexander Koptelov <alexandre.koptelov@gmail.com>" ]
Expand Down
2 changes: 1 addition & 1 deletion node/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "node"
version = "0.8.0"
version = "0.8.1"
edition = "2021"
license = "Apache-2.0"

Expand Down
Loading