mirror of
https://github.com/logos-blockchain/lssa.git
synced 2026-03-21 11:23:10 +00:00
fix: fixes after rebase & address comments
This commit is contained in:
parent
325960d696
commit
7b20a83379
@ -4,7 +4,6 @@ use nssa::{
|
||||
program::Program,
|
||||
public_transaction::{Message, WitnessSet},
|
||||
};
|
||||
use nssa_core::account::Nonce;
|
||||
use sequencer_service_rpc::RpcClient as _;
|
||||
use wallet::WalletCore;
|
||||
|
||||
@ -65,13 +64,7 @@ async fn main() {
|
||||
.await
|
||||
.expect("Node should be reachable to query account data");
|
||||
let signing_keys = [signing_key];
|
||||
let message = Message::try_new(
|
||||
program.id(),
|
||||
vec![account_id],
|
||||
nonces.iter().map(|x| Nonce(*x)).collect(),
|
||||
greeting,
|
||||
)
|
||||
.unwrap();
|
||||
let message = Message::try_new(program.id(), vec![account_id], nonces, greeting).unwrap();
|
||||
// Pass the signing key to sign the message. This will be used by the node
|
||||
// to flag the pre_state as `is_authorized` when executing the program
|
||||
let witness_set = WitnessSet::for_message(&message, &signing_keys);
|
||||
|
||||
@ -176,7 +176,7 @@ mod tests {
|
||||
)
|
||||
.unwrap();
|
||||
|
||||
let block = storage.get_block_at_id(1).unwrap();
|
||||
let block = storage.get_block_at_id(1).unwrap().unwrap();
|
||||
let final_id = storage.get_last_block_id().unwrap();
|
||||
|
||||
assert_eq!(block.header.hash, genesis_block().header.hash);
|
||||
|
||||
@ -40,10 +40,10 @@ impl IndexerHandle {
|
||||
}
|
||||
|
||||
#[must_use]
|
||||
pub fn is_stopped(&self) -> bool {
|
||||
pub fn is_healthy(&self) -> bool {
|
||||
self.server_handle
|
||||
.as_ref()
|
||||
.is_none_or(ServerHandle::is_stopped)
|
||||
.is_some_and(|handle| !handle.is_stopped())
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -338,17 +338,17 @@ impl Drop for TestContext {
|
||||
let sequencer_handle = sequencer_handle
|
||||
.take()
|
||||
.expect("Sequencer handle should be present in TestContext drop");
|
||||
if sequencer_handle.is_stopped() {
|
||||
if !sequencer_handle.is_healthy() {
|
||||
let Err(err) = sequencer_handle
|
||||
.stopped()
|
||||
.failed()
|
||||
.now_or_never()
|
||||
.expect("Sequencer handle should be stopped");
|
||||
.expect("Sequencer handle should not be running");
|
||||
error!(
|
||||
"Sequencer handle has unexpectedly stopped before TestContext drop with error: {err:#}"
|
||||
);
|
||||
}
|
||||
|
||||
if indexer_handle.is_stopped() {
|
||||
if !indexer_handle.is_healthy() {
|
||||
error!("Indexer handle has unexpectedly stopped before TestContext drop");
|
||||
}
|
||||
|
||||
|
||||
@ -66,13 +66,13 @@ impl NSSAUserData {
|
||||
) -> Result<Self> {
|
||||
if !Self::valid_public_key_transaction_pairing_check(&default_accounts_keys) {
|
||||
anyhow::bail!(
|
||||
"Key transaction pairing check not satisfied, there are public account_ids, which is not derived from keys"
|
||||
"Key transaction pairing check not satisfied, there are public account_ids, which are not derived from keys"
|
||||
);
|
||||
}
|
||||
|
||||
if !Self::valid_private_key_transaction_pairing_check(&default_accounts_key_chains) {
|
||||
anyhow::bail!(
|
||||
"Key transaction pairing check not satisfied, there are private account_ids, which is not derived from keys"
|
||||
"Key transaction pairing check not satisfied, there are private account_ids, which are not derived from keys"
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@ -50,12 +50,12 @@ impl SequencerHandle {
|
||||
}
|
||||
}
|
||||
|
||||
/// Wait for all Sequencer tasks to stop.
|
||||
/// Wait for any of the sequencer tasks to fail and return the error.
|
||||
#[expect(
|
||||
clippy::integer_division_remainder_used,
|
||||
reason = "Generated by select! macro, can't be easily rewritten to avoid this lint"
|
||||
)]
|
||||
pub async fn stopped(mut self) -> Result<Never> {
|
||||
pub async fn failed(mut self) -> Result<Never> {
|
||||
let Self {
|
||||
addr: _,
|
||||
server_handle,
|
||||
@ -88,8 +88,12 @@ impl SequencerHandle {
|
||||
}
|
||||
}
|
||||
|
||||
/// Check if all Sequencer tasks are still running.
|
||||
///
|
||||
/// Return `false` if any of the tasks has failed and `true` otherwise.
|
||||
/// Error of the failed task can be retrieved by awaiting on [`Self::failed()`].
|
||||
#[must_use]
|
||||
pub fn is_stopped(&self) -> bool {
|
||||
pub fn is_healthy(&self) -> bool {
|
||||
let Self {
|
||||
addr: _,
|
||||
server_handle,
|
||||
@ -98,10 +102,11 @@ impl SequencerHandle {
|
||||
listen_for_bedrock_blocks_loop_handle,
|
||||
} = self;
|
||||
|
||||
server_handle.as_ref().is_none_or(ServerHandle::is_stopped)
|
||||
let stopped = server_handle.as_ref().is_none_or(ServerHandle::is_stopped)
|
||||
|| main_loop_handle.is_finished()
|
||||
|| retry_pending_blocks_loop_handle.is_finished()
|
||||
|| listen_for_bedrock_blocks_loop_handle.is_finished()
|
||||
|| listen_for_bedrock_blocks_loop_handle.is_finished();
|
||||
!stopped
|
||||
}
|
||||
|
||||
#[must_use]
|
||||
|
||||
@ -33,8 +33,8 @@ async fn main() -> Result<()> {
|
||||
() = cancellation_token.cancelled() => {
|
||||
info!("Shutting down sequencer...");
|
||||
}
|
||||
Err(err) = sequencer_handle.stopped() => {
|
||||
error!("Sequencer stopped unexpectedly: {err}");
|
||||
Err(err) = sequencer_handle.failed() => {
|
||||
error!("Sequencer failed unexpectedly: {err}");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -22,7 +22,9 @@ use nssa::{
|
||||
circuit::ProgramWithDependencies, message::EncryptedAccountData,
|
||||
},
|
||||
};
|
||||
use nssa_core::{Commitment, MembershipProof, SharedSecretKey, program::InstructionData};
|
||||
use nssa_core::{
|
||||
Commitment, MembershipProof, SharedSecretKey, account::Nonce, program::InstructionData,
|
||||
};
|
||||
pub use privacy_preserving_tx::PrivacyPreservingAccount;
|
||||
use sequencer_service_rpc::{RpcClient as _, SequencerClient, SequencerClientBuilder};
|
||||
use tokio::io::AsyncWriteExt as _;
|
||||
@ -253,7 +255,7 @@ impl WalletCore {
|
||||
}
|
||||
|
||||
/// Get accounts nonces.
|
||||
pub async fn get_accounts_nonces(&self, accs: Vec<AccountId>) -> Result<Vec<u128>> {
|
||||
pub async fn get_accounts_nonces(&self, accs: Vec<AccountId>) -> Result<Vec<Nonce>> {
|
||||
Ok(self.sequencer_client.get_accounts_nonces(accs).await?)
|
||||
}
|
||||
|
||||
|
||||
@ -81,10 +81,7 @@ impl Amm<'_> {
|
||||
let message = nssa::public_transaction::Message::try_new(
|
||||
program.id(),
|
||||
account_ids,
|
||||
nonces
|
||||
.iter()
|
||||
.map(|x| nssa_core::account::Nonce(*x))
|
||||
.collect(),
|
||||
nonces,
|
||||
instruction,
|
||||
)
|
||||
.unwrap();
|
||||
@ -195,10 +192,7 @@ impl Amm<'_> {
|
||||
let message = nssa::public_transaction::Message::try_new(
|
||||
program.id(),
|
||||
account_ids,
|
||||
nonces
|
||||
.iter()
|
||||
.map(|x| nssa_core::account::Nonce(*x))
|
||||
.collect(),
|
||||
nonces,
|
||||
instruction,
|
||||
)
|
||||
.unwrap();
|
||||
@ -289,10 +283,7 @@ impl Amm<'_> {
|
||||
let message = nssa::public_transaction::Message::try_new(
|
||||
program.id(),
|
||||
account_ids,
|
||||
nonces
|
||||
.iter()
|
||||
.map(|x| nssa_core::account::Nonce(*x))
|
||||
.collect(),
|
||||
nonces,
|
||||
instruction,
|
||||
)
|
||||
.unwrap();
|
||||
@ -378,10 +369,7 @@ impl Amm<'_> {
|
||||
let message = nssa::public_transaction::Message::try_new(
|
||||
program.id(),
|
||||
account_ids,
|
||||
nonces
|
||||
.iter()
|
||||
.map(|x| nssa_core::account::Nonce(*x))
|
||||
.collect(),
|
||||
nonces,
|
||||
instruction,
|
||||
)
|
||||
.unwrap();
|
||||
|
||||
@ -31,16 +31,8 @@ impl NativeTokenTransfer<'_> {
|
||||
|
||||
let account_ids = vec![from, to];
|
||||
let program_id = Program::authenticated_transfer_program().id();
|
||||
let message = Message::try_new(
|
||||
program_id,
|
||||
account_ids,
|
||||
nonces
|
||||
.iter()
|
||||
.map(|x| nssa_core::account::Nonce(*x))
|
||||
.collect(),
|
||||
balance_to_move,
|
||||
)
|
||||
.unwrap();
|
||||
let message =
|
||||
Message::try_new(program_id, account_ids, nonces, balance_to_move).unwrap();
|
||||
|
||||
let signing_key = self.0.storage.user_data.get_pub_account_signing_key(from);
|
||||
|
||||
@ -75,16 +67,7 @@ impl NativeTokenTransfer<'_> {
|
||||
let instruction: u128 = 0;
|
||||
let account_ids = vec![from];
|
||||
let program_id = Program::authenticated_transfer_program().id();
|
||||
let message = Message::try_new(
|
||||
program_id,
|
||||
account_ids,
|
||||
nonces
|
||||
.iter()
|
||||
.map(|x| nssa_core::account::Nonce(*x))
|
||||
.collect(),
|
||||
instruction,
|
||||
)
|
||||
.unwrap();
|
||||
let message = Message::try_new(program_id, account_ids, nonces, instruction).unwrap();
|
||||
|
||||
let signing_key = self.0.storage.user_data.get_pub_account_signing_key(from);
|
||||
|
||||
|
||||
@ -146,10 +146,7 @@ impl Token<'_> {
|
||||
let message = nssa::public_transaction::Message::try_new(
|
||||
program_id,
|
||||
account_ids,
|
||||
nonces
|
||||
.iter()
|
||||
.map(|x| nssa_core::account::Nonce(*x))
|
||||
.collect(),
|
||||
nonces,
|
||||
instruction,
|
||||
)
|
||||
.unwrap();
|
||||
@ -354,10 +351,7 @@ impl Token<'_> {
|
||||
let message = nssa::public_transaction::Message::try_new(
|
||||
Program::token().id(),
|
||||
account_ids,
|
||||
nonces
|
||||
.iter()
|
||||
.map(|x| nssa_core::account::Nonce(*x))
|
||||
.collect(),
|
||||
nonces,
|
||||
instruction,
|
||||
)
|
||||
.expect("Instruction should serialize");
|
||||
@ -491,10 +485,7 @@ impl Token<'_> {
|
||||
let message = nssa::public_transaction::Message::try_new(
|
||||
Program::token().id(),
|
||||
account_ids,
|
||||
nonces
|
||||
.iter()
|
||||
.map(|x| nssa_core::account::Nonce(*x))
|
||||
.collect(),
|
||||
nonces,
|
||||
instruction,
|
||||
)
|
||||
.unwrap();
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user