Expand description
This module manages the execution of the system application and the user applications in a Linera chain.
Re-exports§
pub use crate::committee::Committee;pub use crate::execution_state_actor::ExecutionRequest;pub use crate::execution_state_actor::ExecutionStateActor;pub use crate::system::SystemExecutionStateView;pub use crate::system::SystemMessage;pub use crate::system::SystemOperation;pub use crate::system::SystemQuery;pub use crate::system::SystemResponse;
Modules§
- committee
- The committee of validators and their voting weights for an epoch.
- execution_
state_ actor - Handle requests from the synchronous execution thread of user applications.
- system
- The system application implementing core chain functionality.
Structs§
- Blob
State - The state of a blob of binary data.
- Execution
Runtime Config - Configuration options for the execution runtime available to applications.
- Execution
State View - A view accessing the execution state of a chain.
- Finalize
Context - The context in which a transaction is finalized.
- Invalid
Wasm Runtime - Attempts to create an invalid
WasmRuntimeinstance from a string. - JsVec
- A wrapper around a
Vecthat can be converted to and from a JavaScript array. - Message
Context - The context in which a message is executed.
- Operation
Context - The context in which an operation is executed.
- Outgoing
Message - A posted message together with routing information.
- Process
Streams Context - The context in which stream updates are processed.
- Query
Context - The context in which a query is executed.
- Query
Outcome - The outcome of the execution of a query.
- Resource
Control Policy - A collection of prices and limits associated with block execution.
- Resource
Controller - Tracks and controls the resources used during execution, charging fees against an account.
- Resource
Tracker - The resources used so far by an execution process. Acts as an accumulator for all resources consumed during a specific execution flow. This could be the execution of a block, the processing of a single message, or a specific phase within these broader operations.
- Service
Runtime Endpoint - How to interact with a long-lived service runtime.
- Service
Sync Runtime - The synchronous runtime used to execute service queries.
- Thread
Pool - A pool of shared resources, each of which can only be used once at a time.
- Transaction
Outcome - The
TransactionTrackercontents after a transaction has finished. - Transaction
Tracker - Tracks oracle responses and execution outcomes of an ongoing transaction execution, as well as replayed oracle responses.
- User
Contract Code - An implementation of
UserContractModule. - User
Service Code - An implementation of
UserServiceModule.
Enums§
- EvmRuntime
- The runtime to use for running EVM smart contracts.
- Execution
Error - A type for errors happening during execution.
- Message
- A message to be sent and possibly executed in the receiver’s block.
- Message
Kind - The kind of outgoing message being sent.
- Operation
- An operation to be executed in a block.
- Query
- An query to be sent and possibly executed in the receiver’s block.
- Query
Response - The response to a query.
- Service
Runtime Request - A request to the service runtime actor.
- Wasm
Runtime - The runtime to use for running the application.
Constants§
- FLAG_
FREE_ APPLICATION_ ID_ PREFIX - The prefix for flags that mark an application as free (message- and event-related fees waived).
The full flag is
FLAG_FREE_APPLICATION_ID_<APP_ID>.linera.network. - FLAG_
FREE_ APPLICATION_ ID_ SUFFIX - The suffix for free application ID flags.
- FLAG_
FREE_ REJECT - The flag that deactivates charging for bouncing messages. If this is present, outgoing messages are free of charge if they are bouncing, and operation outcomes are counted only by payload size, so that rejecting messages is free.
- FLAG_
HISTORICAL_ HASH - The flag that, if present in
http_request_allow_listfield of the content policy of the current committee, switches the execution-state hash to historical hashing: the first block after activation seeds the rolling hash from a full content hash (viaHashableView), and every subsequent block extends it cheaply from the written batch. Takes effect only whenFLAG_ZERO_HASHis absent. Enforced in consensus. - FLAG_
HISTORICAL_ HASH_ SHADOW - Like
FLAG_HISTORICAL_HASH, but in shadow mode: the rolling historical hash is computed, persisted and logged, yet the state hash reported to consensus stays all-zeros. This lets a network populate and cross-check historical hashes across validators (comparing the logged values) before enforcing them. Ignored ifFLAG_ZERO_HASHorFLAG_HISTORICAL_HASHis present. - FLAG_
MANDATORY_ APPS_ NEED_ ACCEPTED_ MESSAGE - The flag that makes mandatory application checks require accepted messages. If this is present, only accepted incoming messages (not rejected ones) satisfy the mandatory applications requirement for a block.
- FLAG_
ZERO_ HASH - The flag that, if present in
http_request_allow_listfield of the content policy of current committee, causes the execution state not to be hashed, and instead the hash returned to be all zeros. - LINERA_
SOL - The
Linera.sollibrary code to be included in solidity smart contracts using Linera features. - LINERA_
TYPES_ SOL - The
LineraTypes.sollibrary code defining the Solidity types used to interface with Linera features.
Traits§
- Balance
Holder - How to access the balance of an account.
- Base
Runtime - The runtime API shared by the contract and service parts of an application.
- Contract
Runtime - The runtime API available to the contract part of an application.
- Execution
Runtime Context - Requirements for the
extrafield in our state views (and notably theExecutionStateView). - Service
Runtime - The runtime API available to the service part of an application.
- User
Contract - The public entry points provided by the contract part of an application.
- User
Contract Module - A factory trait to obtain a
UserContractfrom aUserContractModule - User
Service - The public entry points provided by the service part of an application.
- User
Service Module - A factory trait to obtain a
UserServicefrom aUserServiceModule - With
Wasm Default - Trait used to select a default
WasmRuntime, if one is available.
Type Aliases§
- Contract
Sync Runtime Handle - A handle to the synchronous runtime used when executing contracts.
- Service
Sync Runtime Handle - A handle to the synchronous runtime used when executing services.
- User
Contract Instance - An implementation of
UserContract. - User
Service Instance - An implementation of
UserService.