Sigil documentation
ReferenceRust referencesigil-node

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.

On this page