sigil-node · executor_contract
Source declarations, signatures and documentation for executor_contract.
Source: sigil/node/sigil-node/src/executor_contract.rs. SHA-256: 7da2d6ddde2cf76977abc880a19b8c2ff6a08736b7102de7f8f63de6c2a7d494.
This reference follows declared source modules, retains conditional attributes, and includes public declarations and implementation methods. Private-module re-exports and trait resolution require the compiler; this is a source reference, not a claim that every listed item is a root import. Function bodies and constant values are omitted.
Module condition:
#[cfg(feature = "contracts")]executor_contract::CONTRACT_TX_BASE_GAS
Gas charged for the structural part of a deploy / call / upgrade set-policy transaction (not including any WASM execution fuel).
#[cfg(feature = "contracts")]
pub const CONTRACT_TX_BASE_GAS: u64;Source line: 42.
executor_contract::REGISTER_CODE_BASE_GAS
Structural gas charged for registering a code blob.
#[cfg(feature = "contracts")]
pub const REGISTER_CODE_BASE_GAS: u64;Source line: 44.
executor_contract::REGISTER_CODE_GAS_PER_KIB
Additional gas charged per started KiB of registered code.
#[cfg(feature = "contracts")]
pub const REGISTER_CODE_GAS_PER_KIB: u64;Source line: 46.
executor_contract::MAX_CROSS_ZONE_DELIVERIES_PER_BLOCK
Maximum pending cross-zone messages delivered from any one target zone per block. The bound prevents one zone from starving local execution.
#[cfg(feature = "contracts")]
pub const MAX_CROSS_ZONE_DELIVERIES_PER_BLOCK: usize;Source line: 49.
executor_contract::DEFAULT_CROSS_ZONE_DELIVERY_GAS
Default fuel for cross-zone delivery envelopes when the message did not carry forwarded gas and the envelope does not override it.
#[cfg(feature = "contracts")]
pub const DEFAULT_CROSS_ZONE_DELIVERY_GAS: u64;Source line: 52.
executor_contract::CrossZoneDeliveryEnvelope
#[cfg(feature = "contracts")]
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct CrossZoneDeliveryEnvelope {
pub contract_did: String,
pub function: String,
#[serde(default)]
pub args: serde_json::Value,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gas_budget: Option<u64>
}Source line: 55.
executor_contract::CrossZoneDeliveryReport
#[cfg(feature = "contracts")]
#[derive(Debug, Default, Clone, Copy, PartialEq, Eq)]
pub struct CrossZoneDeliveryReport {
pub delivered: usize,
pub failed: usize,
pub skipped_inactive_zone: usize
}Source line: 65.
executor_contract::deliver_cross_zone_messages
#[cfg(feature = "contracts")]
pub fn deliver_cross_zone_messages(
state: &dyn ExecutionState,
) -> Result<CrossZoneDeliveryReport, NodeError>;Source line: 393.
executor_contract::deliver_cross_zone_messages_with_limit
#[cfg(feature = "contracts")]
pub fn deliver_cross_zone_messages_with_limit(
state: &dyn ExecutionState,
per_zone_limit: usize,
) -> Result<CrossZoneDeliveryReport, NodeError>;Source line: 399.
executor_contract::register_contract_code_required_fee
#[cfg(feature = "contracts")]
pub fn register_contract_code_required_fee(
data: &RegisterContractCodeData,
_state: &dyn ExecutionState,
) -> Result<u64, NodeError>;Source line: 465.
executor_contract::execute_register_contract_code
#[cfg(feature = "contracts")]
pub fn execute_register_contract_code(
sender_did: &str,
data: &RegisterContractCodeData,
fee: u64,
state: &dyn ExecutionState,
) -> Result<(u64, Vec<StateChange>, Vec<Event>), NodeError>;Source line: 499.
executor_contract::execute_register_contract_code_genesis
#[cfg(feature = "contracts")]
pub fn execute_register_contract_code_genesis(
data: &RegisterContractCodeData,
state: &dyn ExecutionState,
) -> Result<(u64, Vec<StateChange>, Vec<Event>), NodeError>;Source line: 508.
executor_contract::execute_deploy_contract
#[cfg(feature = "contracts")]
#[allow(clippy::too_many_arguments)]
pub fn execute_deploy_contract(
sender_did: &str,
data: &DeployContractData,
fee: u64,
state: &dyn ExecutionState,
) -> Result<(u64, Vec<StateChange>, Vec<Event>), NodeError>;Source line: 610.
executor_contract::execute_call_contract
#[cfg(feature = "contracts")]
pub fn execute_call_contract(
sender_did: &str,
data: &CallContractData,
fee: u64,
state: &dyn ExecutionState,
) -> Result<(u64, Vec<StateChange>, Vec<Event>), NodeError>;Source line: 792.
executor_contract::execute_upgrade_contract
#[cfg(feature = "contracts")]
pub fn execute_upgrade_contract(
sender_did: &str,
data: &UpgradeContractData,
fee: u64,
state: &dyn ExecutionState,
) -> Result<(u64, Vec<StateChange>, Vec<Event>), NodeError>;Source line: 935.
executor_contract::execute_set_contract_policy
#[cfg(feature = "contracts")]
pub fn execute_set_contract_policy(
sender_did: &str,
data: &SetContractPolicyData,
fee: u64,
state: &dyn ExecutionState,
) -> Result<(u64, Vec<StateChange>, Vec<Event>), NodeError>;Source line: 1107.