NodeTestingService

Struct NodeTestingService 

Source
pub struct NodeTestingService {
    real: NodeService,
    id: ClusterNodeId,
    rust_to_rust_use_webrtc: bool,
    proof_kind: ProofKind,
    is_replay: bool,
    monotonic_time: Instant,
    pending_events: PendingEvents,
    dyn_effects: Option<DynEffects>,
    snarker_sok_digest: Option<ByteString>,
    cluster_invariants_state: Arc<Mutex<InvariantsState>>,
    _shutdown: Aborter,
}

Fields§

§real: NodeService§id: ClusterNodeId§rust_to_rust_use_webrtc: bool

Use webrtc p2p between Rust nodes.

§proof_kind: ProofKind§is_replay: bool

We are replaying this node so disable some non-deterministic services.

§monotonic_time: Instant§pending_events: PendingEvents

Events sent by the real service not yet received by state machine.

§dyn_effects: Option<DynEffects>§snarker_sok_digest: Option<ByteString>§cluster_invariants_state: Arc<Mutex<InvariantsState>>§_shutdown: Aborter

Once dropped, it will cause all threads associated to shutdown.

Implementations§

Source§

impl NodeTestingService

Source

pub fn new( real: NodeService, id: ClusterNodeId, cluster_invariants_state: Arc<StdMutex<InvariantsState>>, _shutdown: Aborter, ) -> Self

Source

pub fn node_id(&self) -> ClusterNodeId

Source

pub fn rust_to_rust_use_webrtc(&self) -> bool

Source

pub fn set_rust_to_rust_use_webrtc(&mut self) -> &mut Self

Source

pub fn proof_kind(&self) -> ProofKind

Source

pub fn set_proof_kind(&mut self, kind: ProofKind) -> &mut Self

Source

pub fn set_replay(&mut self) -> &mut Self

Source

pub fn advance_time(&mut self, by_nanos: u64)

Source

pub fn dyn_effects(&mut self, state: &State, action: &ActionWithMeta)

Source

pub fn set_dyn_effects(&mut self, effects: DynEffects)

Source

pub fn remove_dyn_effects(&mut self) -> Option<DynEffects>

Source

pub fn set_snarker_sok_digest(&mut self, digest: ByteString)

Source

pub fn pending_events( &mut self, poll: bool, ) -> impl Iterator<Item = (PendingEventId, &Event)>

Source

pub async fn next_pending_event(&mut self) -> Option<(PendingEventId, &Event)>

Source

pub fn get_pending_event(&self, id: PendingEventId) -> Option<&Event>

Source

pub fn take_pending_event(&mut self, id: PendingEventId) -> Option<Event>

Source

pub fn ledger(&self, ledger_hash: &LedgerHash) -> Option<Mask>

Trait Implementations§

Source§

impl ArchiveService for NodeTestingService

Source§

fn send_to_archive(&mut self, data: BlockApplyResult)

Source§

impl BlockProducerService for NodeTestingService

Source§

fn provers(&self) -> BlockProver

Source§

fn prove( &mut self, block_hash: StateHash, input: Box<ProverExtendBlockchainInputStableV2>, )

Source§

fn with_producer_keypair<T>( &self, _f: impl FnOnce(&AccountSecretKey) -> T, ) -> Option<T>

Source§

impl BlockProducerVrfEvaluatorService for NodeTestingService

Source§

fn evaluate(&mut self, data: VrfEvaluatorInput)

Source§

impl EventSourceService for NodeTestingService

Source§

fn next_event(&mut self) -> Option<Event>

Source§

impl ExternalSnarkWorkerService for NodeTestingService

Source§

fn start( &mut self, public_key: NonZeroCurvePoint, fee: CurrencyFeeStableV1, _: TransactionVerifier, ) -> Result<(), ExternalSnarkWorkerError>

Starts external process.
Source§

fn submit( &mut self, spec: SnarkWorkSpec, ) -> Result<(), ExternalSnarkWorkerError>

Submits snark work
Source§

fn cancel(&mut self) -> Result<(), ExternalSnarkWorkerError>

Cancel current work
Source§

fn kill(&mut self) -> Result<(), ExternalSnarkWorkerError>

Kills external process.
Source§

impl InvariantService for NodeTestingService

Source§

type ClusterInvariantsState<'a> = MutexGuard<'a, InvariantsState>

Source§

fn node_id(&self) -> usize

Source§

fn invariants_state(&mut self) -> &mut InvariantsState

Source§

fn cluster_invariants_state<'a>( &'a mut self, ) -> Option<Self::ClusterInvariantsState<'a>>
where Self: 'a,

Source§

impl LedgerService for NodeTestingService

Source§

fn ledger_manager(&self) -> &LedgerManager

§

fn force_sync_calls(&self) -> bool

§

fn write_init(&mut self, request: LedgerWriteRequest)

§

fn read_init( &mut self, id: RequestId<LedgerReadIdType>, request: LedgerReadRequest, )

Source§

impl P2pCryptoService for NodeTestingService

Source§

fn generate_random_nonce(&mut self) -> [u8; 24]

Source§

fn ephemeral_sk(&mut self) -> [u8; 32]

Source§

fn static_sk(&mut self) -> [u8; 32]

Source§

fn sign_key(&mut self, key: &[u8; 32]) -> Vec<u8>

Source§

fn sign_publication(&mut self, publication: &[u8]) -> Vec<u8>

Source§

fn verify_publication( &mut self, pk: &PublicKey, publication: &[u8], sig: &[u8], ) -> bool

Source§

impl P2pServiceWebrtc for NodeTestingService

Source§

type Event = Event

Source§

fn random_pick( &mut self, list: &[P2pConnectionOutgoingInitOpts], ) -> Option<P2pConnectionOutgoingInitOpts>

Source§

fn event_sender(&self) -> &UnboundedSender<Event>

Source§

fn cmd_sender(&self) -> &TrackedUnboundedSender<Cmd>

Source§

fn peers(&mut self) -> &mut BTreeMap<PeerId, PeerState>

Source§

fn outgoing_init(&mut self, peer_id: PeerId)

Source§

fn incoming_init(&mut self, peer_id: PeerId, offer: Offer)

Source§

fn encrypt<T: EncryptableType>( &mut self, other_pk: &PublicKey, message: &T, ) -> Result<T::Encrypted, Box<dyn Error>>

Source§

fn decrypt<T: EncryptableType>( &mut self, other_pub_key: &PublicKey, encrypted: &T::Encrypted, ) -> Result<T, Box<dyn Error>>

Source§

fn auth_encrypt_and_send( &mut self, peer_id: PeerId, other_pub_key: &PublicKey, auth: ConnectionAuth, )

Source§

fn auth_decrypt( &mut self, other_pub_key: &PublicKey, auth: ConnectionAuthEncrypted, ) -> Option<ConnectionAuth>

§

fn init<S>( secret_key: SecretKey, spawner: S, rng_seed: [u8; 32], ) -> P2pServiceCtx
where S: TaskSpawner,

§

fn set_answer(&mut self, peer_id: PeerId, answer: Answer)

§

fn http_signaling_request(&mut self, url: String, offer: Offer)

§

fn disconnect(&mut self, peer_id: PeerId) -> bool

§

fn channel_open(&mut self, peer_id: PeerId, id: ChannelId)

§

fn channel_send(&mut self, peer_id: PeerId, msg_id: MsgId, msg: ChannelMsg)

§

fn auth_send( &mut self, peer_id: PeerId, _other_pub_key: &PublicKey, auth: Option<ConnectionAuthEncrypted>, )

Source§

impl P2pServiceWebrtcWithLibp2p for NodeTestingService

Source§

fn mio(&mut self) -> &mut MioService

Source§

fn connections(&self) -> BTreeSet<PeerId>

§

fn init<S>(sec_key: SecretKey, spawner: S, rng_seed: [u8; 32]) -> P2pServiceCtx
where S: TaskSpawner,

§

fn resolve_name( &mut self, hostname: &str, ) -> Result<Vec<IpAddr>, P2pNetworkServiceError>

§

fn detect_local_ip(&mut self) -> Result<Vec<IpAddr>, P2pNetworkServiceError>

Source§

impl RpcService for NodeTestingService

Source§

fn respond_state_get( &mut self, rpc_id: RpcId, response: (&State, Option<&str>), ) -> Result<(), RespondError>

Source§

fn respond_status_get( &mut self, rpc_id: RpcId, response: RpcStatusGetResponse, ) -> Result<(), RespondError>

Source§

fn respond_heartbeat_get( &mut self, rpc_id: RpcId, response: RpcHeartbeatGetResponse, ) -> Result<(), RespondError>

Source§

fn respond_sync_stats_get( &mut self, rpc_id: RpcId, response: RpcSyncStatsGetResponse, ) -> Result<(), RespondError>

Source§

fn respond_block_producer_stats_get( &mut self, rpc_id: RpcId, response: RpcBlockProducerStatsGetResponse, ) -> Result<(), RespondError>

Source§

fn respond_action_stats_get( &mut self, rpc_id: RpcId, response: RpcActionStatsGetResponse, ) -> Result<(), RespondError>

Source§

fn respond_message_progress_stats_get( &mut self, rpc_id: RpcId, response: RpcMessageProgressResponse, ) -> Result<(), RespondError>

Source§

fn respond_peers_get( &mut self, rpc_id: RpcId, response: RpcPeersGetResponse, ) -> Result<(), RespondError>

Source§

fn respond_p2p_connection_outgoing( &mut self, rpc_id: RpcId, response: RpcP2pConnectionOutgoingResponse, ) -> Result<(), RespondError>

Source§

fn respond_p2p_connection_incoming_answer( &mut self, rpc_id: RpcId, response: P2pConnectionResponse, ) -> Result<(), RespondError>

Source§

fn respond_p2p_connection_incoming( &mut self, rpc_id: RpcId, response: Result<(), String>, ) -> Result<(), RespondError>

Source§

fn respond_scan_state_summary_get( &mut self, rpc_id: RpcId, response: RpcScanStateSummaryGetResponse, ) -> Result<(), RespondError>

Source§

fn respond_snark_pool_get( &mut self, rpc_id: RpcId, response: RpcSnarkPoolGetResponse, ) -> Result<(), RespondError>

Source§

fn respond_snark_pool_job_get( &mut self, rpc_id: RpcId, response: RpcSnarkPoolJobGetResponse, ) -> Result<(), RespondError>

Source§

fn respond_snark_pool_completed_jobs_get( &mut self, rpc_id: RpcId, response: RpcSnarkPoolCompletedJobsResponse, ) -> Result<(), RespondError>

Source§

fn respond_snark_pool_pending_jobs_get( &mut self, rpc_id: RpcId, response: RpcSnarkPoolPendingJobsGetResponse, ) -> Result<(), RespondError>

Source§

fn respond_snarker_job_commit( &mut self, rpc_id: RpcId, response: RpcSnarkerJobCommitResponse, ) -> Result<(), RespondError>

Source§

fn respond_snarker_job_spec( &mut self, rpc_id: RpcId, response: RpcSnarkerJobSpecResponse, ) -> Result<(), RespondError>

Source§

fn respond_snarker_workers( &mut self, rpc_id: RpcId, response: RpcSnarkerWorkersResponse, ) -> Result<(), RespondError>

Source§

fn respond_snarker_config_get( &mut self, rpc_id: RpcId, response: RpcSnarkerConfigGetResponse, ) -> Result<(), RespondError>

Source§

fn respond_health_check( &mut self, rpc_id: RpcId, response: RpcHealthCheckResponse, ) -> Result<(), RespondError>

Source§

fn respond_readiness_check( &mut self, rpc_id: RpcId, response: RpcReadinessCheckResponse, ) -> Result<(), RespondError>

Source§

fn respond_discovery_routing_table( &mut self, rpc_id: RpcId, response: RpcDiscoveryRoutingTableResponse, ) -> Result<(), RespondError>

Source§

fn respond_discovery_bootstrap_stats( &mut self, rpc_id: RpcId, response: RpcDiscoveryBoostrapStatsResponse, ) -> Result<(), RespondError>

Source§

fn respond_transaction_pool( &mut self, rpc_id: RpcId, response: RpcTransactionPoolResponse, ) -> Result<(), RespondError>

Source§

fn respond_ledger_slim_accounts( &mut self, rpc_id: RpcId, response: RpcLedgerSlimAccountsResponse, ) -> Result<(), RespondError>

Source§

fn respond_ledger_accounts( &mut self, rpc_id: RpcId, response: RpcLedgerAccountsResponse, ) -> Result<(), RespondError>

Source§

fn respond_transaction_inject( &mut self, rpc_id: RpcId, response: RpcTransactionInjectResponse, ) -> Result<(), RespondError>

Source§

fn respond_transition_frontier_commands( &mut self, rpc_id: RpcId, response: RpcTransitionFrontierUserCommandsResponse, ) -> Result<(), RespondError>

Source§

fn respond_best_chain( &mut self, rpc_id: RpcId, response: RpcBestChainResponse, ) -> Result<(), RespondError>

Source§

fn respond_consensus_constants( &mut self, rpc_id: RpcId, response: RpcConsensusConstantsGetResponse, ) -> Result<(), RespondError>

Source§

fn respond_transaction_status( &mut self, rpc_id: RpcId, response: RpcTransactionStatusGetResponse, ) -> Result<(), RespondError>

Source§

fn respond_block_get( &mut self, rpc_id: RpcId, response: RpcGetBlockResponse, ) -> Result<(), RespondError>

Source§

fn respond_pooled_user_commands( &mut self, rpc_id: RpcId, response: RpcPooledUserCommandsResponse, ) -> Result<(), RespondError>

Source§

fn respond_pooled_zkapp_commands( &mut self, rpc_id: RpcId, response: RpcPooledZkappCommandsResponse, ) -> Result<(), RespondError>

Source§

fn respond_genesis_block( &mut self, rpc_id: RpcId, response: RpcGenesisBlockResponse, ) -> Result<(), RespondError>

Source§

fn respond_consensus_time_get( &mut self, rpc_id: RpcId, response: RpcConsensusTimeGetResponse, ) -> Result<(), RespondError>

Source§

fn respond_ledger_status_get( &mut self, rpc_id: RpcId, response: RpcLedgerStatusGetResponse, ) -> Result<(), RespondError>

Source§

fn respond_ledger_account_delegators_get( &mut self, rpc_id: RpcId, response: RpcLedgerAccountDelegatorsGetResponse, ) -> Result<(), RespondError>

Source§

impl Service for NodeTestingService

Source§

fn queues(&mut self) -> Queues

Source§

fn stats(&mut self) -> Option<&mut Stats>

Source§

fn recorder(&mut self) -> &mut Recorder

Source§

fn is_replay(&self) -> bool

Source§

impl SnarkBlockVerifyService for NodeTestingService

Source§

fn verify_init( &mut self, req_id: SnarkBlockVerifyId, verifier_index: BlockVerifier, verifier_srs: Arc<VerifierSRS>, block: VerifiableBlockWithHash, )

Source§

impl SnarkPoolService for NodeTestingService

Source§

fn random_choose<'a>( &mut self, iter: impl Iterator<Item = &'a SnarkJobId>, n: usize, ) -> Vec<SnarkJobId>

Source§

impl SnarkUserCommandVerifyService for NodeTestingService

Source§

fn verify_init( &mut self, req_id: SnarkUserCommandVerifyId, commands: Vec<WithStatus<UserCommand>>, )

Source§

impl SnarkWorkVerifyService for NodeTestingService

Source§

fn verify_init( &mut self, req_id: SnarkWorkVerifyId, verifier_index: TransactionVerifier, verifier_srs: Arc<VerifierSRS>, work: Vec<Snark>, )

Source§

impl TimeService for NodeTestingService

Source§

fn monotonic_time(&mut self) -> Instant

Source§

impl TransitionFrontierGenesisService for NodeTestingService

Source§

fn load_genesis(&mut self, config: Arc<GenesisConfig>)

Load genesis config and genesis ledger.
Source§

impl Service for NodeTestingService

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<'a, T, E> AsTaggedExplicit<'a, E> for T
where T: 'a,

§

fn explicit(self, class: Class, tag: u32) -> TaggedParser<'a, Explicit, Self, E>

§

impl<'a, T, E> AsTaggedExplicit<'a, E> for T
where T: 'a,

§

fn explicit(self, class: Class, tag: u32) -> TaggedParser<'a, Explicit, Self, E>

§

impl<'a, T, E> AsTaggedImplicit<'a, E> for T
where T: 'a,

§

fn implicit( self, class: Class, constructed: bool, tag: u32, ) -> TaggedParser<'a, Implicit, Self, E>

§

impl<'a, T, E> AsTaggedImplicit<'a, E> for T
where T: 'a,

§

fn implicit( self, class: Class, constructed: bool, tag: u32, ) -> TaggedParser<'a, Implicit, Self, E>

Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> Conv for T

§

fn conv<T>(self) -> T
where Self: Into<T>,

Converts self into T using Into<T>. Read more
§

impl<T> FmtForward for T

§

fn fmt_binary(self) -> FmtBinary<Self>
where Self: Binary,

Causes self to use its Binary implementation when Debug-formatted.
§

fn fmt_display(self) -> FmtDisplay<Self>
where Self: Display,

Causes self to use its Display implementation when Debug-formatted.
§

fn fmt_lower_exp(self) -> FmtLowerExp<Self>
where Self: LowerExp,

Causes self to use its LowerExp implementation when Debug-formatted.
§

fn fmt_lower_hex(self) -> FmtLowerHex<Self>
where Self: LowerHex,

Causes self to use its LowerHex implementation when Debug-formatted.
§

fn fmt_octal(self) -> FmtOctal<Self>
where Self: Octal,

Causes self to use its Octal implementation when Debug-formatted.
§

fn fmt_pointer(self) -> FmtPointer<Self>
where Self: Pointer,

Causes self to use its Pointer implementation when Debug-formatted.
§

fn fmt_upper_exp(self) -> FmtUpperExp<Self>
where Self: UpperExp,

Causes self to use its UpperExp implementation when Debug-formatted.
§

fn fmt_upper_hex(self) -> FmtUpperHex<Self>
where Self: UpperHex,

Causes self to use its UpperHex implementation when Debug-formatted.
§

fn fmt_list(self) -> FmtList<Self>
where &'a Self: for<'a> IntoIterator,

Formats each item in a sequence. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

§

impl<Unshared, Shared> IntoShared<Shared> for Unshared
where Shared: FromUnshared<Unshared>,

§

fn into_shared(self) -> Shared

Creates a shared type from an unshared type.
§

impl<T> P2pChannelsService for T
where T: P2pServiceWebrtcWithLibp2p,

§

fn channel_open(&mut self, peer_id: PeerId, id: ChannelId)

§

fn channel_send(&mut self, peer_id: PeerId, msg_id: MsgId, msg: ChannelMsg)

§

fn encrypt<M>( &mut self, other_pk: &PublicKey, message: &M, ) -> Result<<M as EncryptableType>::Encrypted, Box<dyn Error>>
where M: EncryptableType,

§

fn decrypt<M>( &mut self, other_pk: &PublicKey, encrypted: &<M as EncryptableType>::Encrypted, ) -> Result<M, Box<dyn Error>>
where M: EncryptableType,

§

impl<T> P2pConnectionService for T
where T: P2pServiceWebrtcWithLibp2p,

§

fn connections(&self) -> BTreeSet<PeerId>

§

fn random_pick( &mut self, list: &[P2pConnectionOutgoingInitOpts], ) -> Option<P2pConnectionOutgoingInitOpts>

§

fn outgoing_init(&mut self, opts: P2pConnectionOutgoingInitOpts)

Initiates an outgoing connection and creates an offer sdp, which will be received in the state machine as an event.
§

fn incoming_init(&mut self, peer_id: PeerId, offer: Offer)

Initiates an incoming connection and creates an answer sdp, which will be received in the state machine as an event.
§

fn set_answer(&mut self, peer_id: PeerId, answer: Answer)

§

fn http_signaling_request(&mut self, url: String, offer: Offer)

§

fn auth_encrypt_and_send( &mut self, peer_id: PeerId, other_pub_key: &PublicKey, auth: ConnectionAuth, )

§

fn auth_decrypt( &mut self, other_pub_key: &PublicKey, auth: ConnectionAuthEncrypted, ) -> Option<ConnectionAuth>

§

impl<T> P2pDisconnectionService for T
where T: P2pServiceWebrtcWithLibp2p,

§

fn disconnect(&mut self, peer_id: PeerId) -> bool

§

impl<T> P2pMioService for T
where T: P2pServiceWebrtcWithLibp2p,

§

fn start_mio(&mut self)

§

fn send_mio_cmd(&mut self, cmd: MioCmd)

§

impl<T> P2pNetworkService for T
where T: P2pServiceWebrtcWithLibp2p,

§

fn resolve_name( &mut self, host: &str, ) -> Result<Vec<IpAddr>, P2pNetworkServiceError>

Resolves DNS name.
§

fn detect_local_ip(&mut self) -> Result<Vec<IpAddr>, P2pNetworkServiceError>

Detects local IP addresses matching the mask.
§

impl<T> Pipe for T
where T: ?Sized,

§

fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> R
where Self: Sized,

Pipes by value. This is generally the method you want to use. Read more
§

fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> R
where R: 'a,

Borrows self and passes that borrow into the pipe function. Read more
§

fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> R
where R: 'a,

Mutably borrows self and passes that borrow into the pipe function. Read more
§

fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
where Self: Borrow<B>, B: 'a + ?Sized, R: 'a,

Borrows self, then passes self.borrow() into the pipe function. Read more
§

fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
where Self: BorrowMut<B>, B: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.borrow_mut() into the pipe function. Read more
§

fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
where Self: AsRef<U>, U: 'a + ?Sized, R: 'a,

Borrows self, then passes self.as_ref() into the pipe function.
§

fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
where Self: AsMut<U>, U: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.as_mut() into the pipe function.
§

fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
where Self: Deref<Target = T>, T: 'a + ?Sized, R: 'a,

Borrows self, then passes self.deref() into the pipe function.
§

fn pipe_deref_mut<'a, T, R>( &'a mut self, func: impl FnOnce(&'a mut T) -> R, ) -> R
where Self: DerefMut<Target = T> + Deref, T: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.deref_mut() into the pipe function.
§

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
§

impl<T> Tap for T

§

fn tap(self, func: impl FnOnce(&Self)) -> Self

Immutable access to a value. Read more
§

fn tap_mut(self, func: impl FnOnce(&mut Self)) -> Self

Mutable access to a value. Read more
§

fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
where Self: Borrow<B>, B: ?Sized,

Immutable access to the Borrow<B> of a value. Read more
§

fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
where Self: BorrowMut<B>, B: ?Sized,

Mutable access to the BorrowMut<B> of a value. Read more
§

fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
where Self: AsRef<R>, R: ?Sized,

Immutable access to the AsRef<R> view of a value. Read more
§

fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
where Self: AsMut<R>, R: ?Sized,

Mutable access to the AsMut<R> view of a value. Read more
§

fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
where Self: Deref<Target = T>, T: ?Sized,

Immutable access to the Deref::Target of a value. Read more
§

fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
where Self: DerefMut<Target = T> + Deref, T: ?Sized,

Mutable access to the Deref::Target of a value. Read more
§

fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self

Calls .tap() only in debug builds, and is erased in release builds.
§

fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self

Calls .tap_mut() only in debug builds, and is erased in release builds.
§

fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
where Self: Borrow<B>, B: ?Sized,

Calls .tap_borrow() only in debug builds, and is erased in release builds.
§

fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
where Self: BorrowMut<B>, B: ?Sized,

Calls .tap_borrow_mut() only in debug builds, and is erased in release builds.
§

fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
where Self: AsRef<R>, R: ?Sized,

Calls .tap_ref() only in debug builds, and is erased in release builds.
§

fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
where Self: AsMut<R>, R: ?Sized,

Calls .tap_ref_mut() only in debug builds, and is erased in release builds.
§

fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
where Self: Deref<Target = T>, T: ?Sized,

Calls .tap_deref() only in debug builds, and is erased in release builds.
§

fn tap_deref_mut_dbg<T>(self, func: impl FnOnce(&mut T)) -> Self
where Self: DerefMut<Target = T> + Deref, T: ?Sized,

Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
§

impl<T> TransitionFrontierSyncLedgerSnarkedService for T
where T: LedgerService,

§

fn compute_snarked_ledger_hashes( &self, snarked_ledger_hash: &Base58CheckOfBinProt<MinaBaseLedgerHash0StableV1, Versioned<MinaBaseLedgerHash0StableV1, 1>, mina_p2p_messages::::v2::manual::LedgerHash::{constant#1}>, ) -> Result<(), String>

For the given ledger, compute the merkle root hash, forcing all pending hashes to be computed too.
§

fn copy_snarked_ledger_contents_for_sync( &self, origin_snarked_ledger_hash: Vec<Base58CheckOfBinProt<MinaBaseLedgerHash0StableV1, Versioned<MinaBaseLedgerHash0StableV1, 1>, mina_p2p_messages::::v2::manual::LedgerHash::{constant#1}>>, target_snarked_ledger_hash: Base58CheckOfBinProt<MinaBaseLedgerHash0StableV1, Versioned<MinaBaseLedgerHash0StableV1, 1>, mina_p2p_messages::::v2::manual::LedgerHash::{constant#1}>, overwrite: bool, ) -> Result<bool, String>

Creates a new copy of the ledger stored under the first found origin hash and stores it under the target hash. If overwrite is false, only copy the ledger if the target doesn’t exist already.
§

fn child_hashes_get( &self, snarked_ledger_hash: Base58CheckOfBinProt<MinaBaseLedgerHash0StableV1, Versioned<MinaBaseLedgerHash0StableV1, 1>, mina_p2p_messages::::v2::manual::LedgerHash::{constant#1}>, parent: &Address<mina_tree::::address::Address::{constant#0}>, ) -> Result<(Base58CheckOfBinProt<MinaBaseLedgerHash0StableV1, Versioned<MinaBaseLedgerHash0StableV1, 1>, mina_p2p_messages::::v2::manual::LedgerHash::{constant#1}>, Base58CheckOfBinProt<MinaBaseLedgerHash0StableV1, Versioned<MinaBaseLedgerHash0StableV1, 1>, mina_p2p_messages::::v2::manual::LedgerHash::{constant#1}>), String>

For the given ledger, get the two children hashes at the parent address.
§

fn accounts_set( &self, snarked_ledger_hash: Base58CheckOfBinProt<MinaBaseLedgerHash0StableV1, Versioned<MinaBaseLedgerHash0StableV1, 1>, mina_p2p_messages::::v2::manual::LedgerHash::{constant#1}>, parent: &Address<mina_tree::::address::Address::{constant#0}>, accounts: Vec<MinaBaseAccountBinableArgStableV2>, ) -> Result<Base58CheckOfBinProt<MinaBaseLedgerHash0StableV1, Versioned<MinaBaseLedgerHash0StableV1, 1>, mina_p2p_messages::::v2::manual::LedgerHash::{constant#1}>, String>

For the given ledger, sets all accounts in accounts under the subtree starting at the parent address. The result is the hash computed for that subtree.
§

impl<T> TryConv for T

§

fn try_conv<T>(self) -> Result<T, Self::Error>
where Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

impl<T> ErasedDestructor for T
where T: 'static,

§

impl<T> MaybeSendSync for T

§

impl<T> P2pService for T
where T: TimeService + P2pConnectionService + P2pDisconnectionService + P2pChannelsService + P2pMioService + P2pCryptoService + P2pNetworkService,