Skip to content

Commit

Permalink
clean up some write_bytes code
Browse files Browse the repository at this point in the history
  • Loading branch information
brentstone committed Jan 6, 2024
1 parent 7604f08 commit 0d5cfdc
Show file tree
Hide file tree
Showing 14 changed files with 83 additions and 291 deletions.
5 changes: 2 additions & 3 deletions apps/src/lib/node/ledger/shell/init_chain.rs
Original file line number Diff line number Diff line change
Expand Up @@ -231,10 +231,9 @@ where
} else {
// TODO: what write actions are desired here?
self.wl_storage
.write_bytes(
.write(
&namada::eth_bridge::storage::active_key(),
EthBridgeStatus::Disabled.serialize_to_vec(),
WriteActions::All,
EthBridgeStatus::Disabled,
)
.unwrap();
}
Expand Down
8 changes: 2 additions & 6 deletions apps/src/lib/node/ledger/shell/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1552,7 +1552,7 @@ mod test_utils {
use namada::ledger::parameters::{EpochDuration, Parameters};
use namada::ledger::storage::mockdb::MockDB;
use namada::ledger::storage::{LastBlock, Sha256Hasher};
use namada::ledger::storage_api::{StorageWrite, WriteActions};
use namada::ledger::storage_api::StorageWrite;
use namada::proof_of_stake::parameters::PosParams;
use namada::proof_of_stake::storage::validator_consensus_key_handle;
use namada::proto::{Code, Data};
Expand Down Expand Up @@ -2034,11 +2034,7 @@ mod test_utils {
use namada::eth_bridge::storage::eth_bridge_queries::EthBridgeStatus;
shell
.wl_storage
.write_bytes(
&active_key(),
EthBridgeStatus::Disabled.serialize_to_vec(),
WriteActions::All,
)
.write(&active_key(), EthBridgeStatus::Disabled)
.expect("Test failed");
}

Expand Down
3 changes: 2 additions & 1 deletion benches/txs.rs
Original file line number Diff line number Diff line change
Expand Up @@ -647,7 +647,8 @@ fn become_validator(c: &mut Criterion) {
|| {
let mut shell = BenchShell::default();
// Initialize the account to be able to use it
// TODO: what write actions are desired here??
// TODO: what write actions are desired here?? can this be turn
// into `write` from `write_bytes` anyway?
shell
.wl_storage
.write_bytes(
Expand Down
2 changes: 0 additions & 2 deletions core/src/ledger/parameters/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -358,8 +358,6 @@ where
S: StorageRead + StorageWrite,
{
let key = storage::get_max_signatures_per_transaction_key();
// Using `fn write_bytes` here, because implicit_vp doesn't need to be
// encoded, it's bytes already.
storage.write(&key, value)
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -590,8 +590,6 @@ mod tests {
};
use namada_core::ledger::storage::mockdb::MockDBWriteBatch;
use namada_core::ledger::storage::testing::TestWlStorage;
use namada_core::ledger::storage::types::encode;
use namada_core::ledger::storage_api::WriteActions;
use namada_core::types::address::testing::gen_implicit_address;
use namada_core::types::address::{gen_established_address, nam, wnam};
use namada_core::types::eth_bridge_pool::GasFee;
Expand All @@ -616,11 +614,7 @@ mod tests {
.expect("Test failed");
// set native ERC20 token
wl_storage
.write_bytes(
&bridge_storage::native_erc20_key(),
encode(&wnam()),
WriteActions::All,
)
.write(&bridge_storage::native_erc20_key(), wnam())
.expect("Test failed");
}

Expand Down Expand Up @@ -767,11 +761,7 @@ mod tests {
let payer_balance = Amount::from(0);
// TODO: decide what write actions are needed
wl_storage
.write_bytes(
&payer_key,
payer_balance.serialize_to_vec(),
WriteActions::All,
)
.write(&payer_key, payer_balance)
.expect("Test failed");
let escrow_key =
balance_key(&transfer.gas_fee.token, &BRIDGE_POOL_ADDRESS);
Expand All @@ -787,43 +777,27 @@ mod tests {
let sender_balance = Amount::from(0);
// TODO: decide what write actions are needed
wl_storage
.write_bytes(
&sender_key,
sender_balance.serialize_to_vec(),
WriteActions::All,
)
.write(&sender_key, sender_balance)
.expect("Test failed");
let escrow_key = balance_key(&nam(), &BRIDGE_ADDRESS);
let escrow_balance = Amount::from(10);
// TODO: decide what write actions are needed
wl_storage
.write_bytes(
&escrow_key,
escrow_balance.serialize_to_vec(),
WriteActions::All,
)
.write(&escrow_key, escrow_balance)
.expect("Test failed");
} else {
let token = transfer.token_address();
let sender_key = balance_key(&token, &transfer.transfer.sender);
let sender_balance = Amount::from(0);
// TODO: decide what write actions are needed
wl_storage
.write_bytes(
&sender_key,
sender_balance.serialize_to_vec(),
WriteActions::All,
)
.write(&sender_key, sender_balance)
.expect("Test failed");
let escrow_key = balance_key(&token, &BRIDGE_POOL_ADDRESS);
let escrow_balance = Amount::from(10);
// TODO: decide what write actions are needed
wl_storage
.write_bytes(
&escrow_key,
escrow_balance.serialize_to_vec(),
WriteActions::All,
)
.write(&escrow_key, escrow_balance)
.expect("Test failed");
update::amount(
wl_storage,
Expand Down
11 changes: 3 additions & 8 deletions ethereum_bridge/src/protocol/transactions/read.rs
Original file line number Diff line number Diff line change
Expand Up @@ -55,9 +55,8 @@ where
#[cfg(test)]
mod tests {
use assert_matches::assert_matches;
use borsh_ext::BorshSerializeExt;
use namada_core::ledger::storage::testing::TestWlStorage;
use namada_core::ledger::storage_api::{StorageWrite, WriteActions};
use namada_core::ledger::storage_api::StorageWrite;
use namada_core::types::storage;
use namada_core::types::token::Amount;

Expand All @@ -80,9 +79,7 @@ mod tests {
let key = storage::Key::parse("some arbitrary key").unwrap();
let amount = Amount::from(1_000_000);
let mut fake_storage = TestWlStorage::default();
fake_storage
.write_bytes(&key, amount.serialize_to_vec(), WriteActions::All)
.unwrap();
fake_storage.write(&key, amount).unwrap();

let amt = read::amount_or_default(&fake_storage, &key).unwrap();
assert_eq!(amt, amount);
Expand All @@ -93,9 +90,7 @@ mod tests {
let key = storage::Key::parse("some arbitrary key").unwrap();
let amount = "not an Amount type";
let mut fake_storage = TestWlStorage::default();
fake_storage
.write_bytes(&key, amount.as_bytes(), WriteActions::All)
.unwrap();
fake_storage.write(&key, amount).unwrap();

assert_matches!(read::amount_or_default(&fake_storage, &key), Err(_));
}
Expand Down
14 changes: 5 additions & 9 deletions ethereum_bridge/src/protocol/transactions/update.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
use borsh::{BorshDeserialize, BorshSerialize};
use eyre::Result;
use namada_core::ledger::storage::{DBIter, StorageHasher, WlStorage, DB};
use namada_core::ledger::storage_api::{StorageWrite, WriteActions};
use namada_core::ledger::storage_api::StorageWrite;
use namada_core::types::storage;
use namada_core::types::token::Amount;

Expand All @@ -19,7 +19,7 @@ where
let mut amount = super::read::amount_or_default(wl_storage, key)?;
update(&mut amount);
// TODO: what kind of write actions are desired here?
wl_storage.write_bytes(key, borsh::to_vec(&amount)?, WriteActions::All)?;
wl_storage.write(key, amount)?;
Ok(amount)
}

Expand All @@ -37,19 +37,16 @@ where
let mut value = super::read::value(wl_storage, key)?;
update(&mut value);
// TODO: what kind of write actions are desired here?
wl_storage.write_bytes(key, borsh::to_vec(&value)?, WriteActions::All)?;
wl_storage.write(key, &value)?;
Ok(value)
}

#[cfg(test)]
mod tests {
use borsh::BorshDeserialize;
use borsh_ext::BorshSerializeExt;
use eyre::{eyre, Result};
use namada_core::ledger::storage::testing::TestWlStorage;
use namada_core::ledger::storage_api::{
StorageRead, StorageWrite, WriteActions,
};
use namada_core::ledger::storage_api::{StorageRead, StorageWrite};
use namada_core::types::storage;

#[test]
Expand All @@ -59,9 +56,8 @@ mod tests {
.expect("could not set up test");
let value = 21i32;
let mut wl_storage = TestWlStorage::default();
let serialized = value.serialize_to_vec();
wl_storage
.write_bytes(&key, serialized, WriteActions::All)
.write(&key, value)
.expect("could not set up test");

super::value(&mut wl_storage, &key, |v: &mut i32| *v *= 2)?;
Expand Down
70 changes: 14 additions & 56 deletions ethereum_bridge/src/protocol/transactions/votes/storage.rs
Original file line number Diff line number Diff line change
@@ -1,13 +1,10 @@
use borsh::{BorshDeserialize, BorshSerialize};
use borsh_ext::BorshSerializeExt;
use eyre::{Result, WrapErr};
use namada_core::hints;
use namada_core::ledger::storage::{
DBIter, PrefixIter, StorageHasher, WlStorage, DB,
};
use namada_core::ledger::storage_api::{
StorageRead, StorageWrite, WriteActions,
};
use namada_core::ledger::storage_api::{StorageRead, StorageWrite};
use namada_core::types::storage::Key;
use namada_core::types::voting_power::FractionalVotingPower;

Expand All @@ -28,32 +25,15 @@ where
{
// TODO: figure out what specific write actions are desired for each piece
// of data here!
wl_storage.write_bytes(
&keys.body(),
&body.serialize_to_vec(),
WriteActions::All,
)?;
wl_storage.write_bytes(
&keys.seen(),
&tally.seen.serialize_to_vec(),
WriteActions::All,
)?;
wl_storage.write_bytes(
&keys.seen_by(),
&tally.seen_by.serialize_to_vec(),
WriteActions::All,
)?;
wl_storage.write_bytes(
&keys.voting_power(),
&tally.voting_power.serialize_to_vec(),
WriteActions::All,
)?;
wl_storage.write(&keys.body(), body)?;
wl_storage.write(&keys.seen(), tally.seen)?;
wl_storage.write(&keys.seen_by(), tally.seen_by.clone())?;
wl_storage.write(&keys.voting_power(), tally.voting_power.clone())?;
if !already_present {
// add the current epoch for the inserted event
wl_storage.write_bytes(
wl_storage.write(
&keys.voting_started_epoch(),
&wl_storage.storage.get_current_epoch().0.serialize_to_vec(),
WriteActions::All,
wl_storage.storage.get_current_epoch().0,
)?;
}
Ok(())
Expand Down Expand Up @@ -158,6 +138,7 @@ mod tests {
use std::collections::BTreeMap;

use assert_matches::assert_matches;
use borsh_ext::BorshSerializeExt;
use namada_core::types::ethereum_events::EthereumEvent;

use super::*;
Expand Down Expand Up @@ -259,39 +240,16 @@ mod tests {
seen_by: BTreeMap::from([(validator, 10.into())]),
seen: false,
};
wl_storage.write(&keys.body(), &event).unwrap();
wl_storage.write(&keys.seen(), tally.seen).unwrap();
wl_storage.write(&keys.seen_by(), &tally.seen_by).unwrap();
wl_storage
.write_bytes(
&keys.body(),
&event.serialize_to_vec(),
WriteActions::All,
)
.unwrap();
wl_storage
.write_bytes(
&keys.seen(),
&tally.seen.serialize_to_vec(),
WriteActions::All,
)
.unwrap();
wl_storage
.write_bytes(
&keys.seen_by(),
&tally.seen_by.serialize_to_vec(),
WriteActions::All,
)
.unwrap();
wl_storage
.write_bytes(
&keys.voting_power(),
&tally.voting_power.serialize_to_vec(),
WriteActions::All,
)
.write(&keys.voting_power(), &tally.voting_power)
.unwrap();
wl_storage
.write_bytes(
.write(
&keys.voting_started_epoch(),
&wl_storage.storage.get_block_height().0.serialize_to_vec(),
WriteActions::All,
wl_storage.storage.get_block_height().0,
)
.unwrap();

Expand Down
Loading

0 comments on commit 0d5cfdc

Please sign in to comment.