Skip to content

Commit

Permalink
WIP
Browse files Browse the repository at this point in the history
  • Loading branch information
Dentosal committed Dec 18, 2024
1 parent 63a0016 commit f76c96f
Show file tree
Hide file tree
Showing 16 changed files with 304 additions and 83 deletions.
13 changes: 2 additions & 11 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 3 additions & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,8 @@ fuel-core-xtask = { version = "0.0.0", path = "./xtask" }
fuel-gas-price-algorithm = { version = "0.40.0", path = "crates/fuel-gas-price-algorithm" }

# Fuel dependencies
fuel-vm-private = { git = "https://github.com/FuelLabs/fuel-vm", branch = "dento/execution-trace", package = "fuel-vm", default-features = false }
fuel-vm-private = { path = "../fuel-vm/fuel-vm", package = "fuel-vm", default-features = false }
# fuel-vm-private = { git = "https://github.com/FuelLabs/fuel-vm", branch = "dento/execution-trace", package = "fuel-vm", default-features = false }
# fuel-vm-private = { version = "0.58.2", package = "fuel-vm", default-features = false }

# Common dependencies
Expand Down Expand Up @@ -115,6 +116,7 @@ postcard = "1.0"
tracing-attributes = "0.1"
tracing-subscriber = "0.3"
serde = "1.0"
serde-big-array = { version = "0.5", default-features = false }
serde_json = { version = "1.0", default-features = false, features = ["alloc"] }
serde_with = { version = "3.4", default-features = false }
strum = { version = "0.25" }
Expand Down
16 changes: 11 additions & 5 deletions crates/client/src/client.rs
Original file line number Diff line number Diff line change
Expand Up @@ -49,19 +49,25 @@ use fuel_core_types::{
fuel_asm::{
Instruction,
Word,
}, fuel_tx::{
},
fuel_tx::{
BlobId,
Bytes32,
ConsensusParameters,
Receipt,
Transaction,
TxId,
}, fuel_types::{
},
fuel_types::{
self,
canonical::Serialize,
BlockHeight,
Nonce,
}, fuel_vm::interpreter::trace::Trigger, services::executor::TransactionExecutionStatus
},
services::executor::{
TraceTrigger,
TransactionExecutionStatus,
},
};
#[cfg(feature = "subscriptions")]
use futures::{
Expand Down Expand Up @@ -503,11 +509,11 @@ impl FuelClient {
.collect()
}

/// Exectuion trace for a block
/// Execution trace for a block
pub async fn execution_trace_block(
&self,
height: &BlockHeight,
trigger: Trigger
trigger: TraceTrigger,
) -> io::Result<Vec<TransactionExecutionStatus>> {
let query: Operation<
schema::execution_trace::ExectionTraceBlock,
Expand Down
29 changes: 14 additions & 15 deletions crates/client/src/client/schema/execution_trace.rs
Original file line number Diff line number Diff line change
Expand Up @@ -12,19 +12,18 @@ use crate::client::{
PaginationRequest,
};
use fuel_core_types::{
fuel_tx, fuel_vm::interpreter::trace::Trigger, services::executor::{
fuel_tx,
services::executor::{
TransactionExecutionResult,
TransactionExecutionStatus,
}
},
};
use std::convert::{
TryFrom,
TryInto,
};

use super::tx::{
ProgramState,
};
use super::tx::ProgramState;

#[allow(clippy::enum_variant_names)]
#[derive(cynic::InlineFragments, Clone, Debug)]
Expand Down Expand Up @@ -150,24 +149,24 @@ impl From<(Address, PaginationRequest<String>)> for TransactionsByOwnerConnectio

// mutations


/// When to record a trace frames during execution
#[derive(cynic::Enum, Debug, Copy, Clone, Eq, PartialEq)]
#[cynic(
schema_path = "./assets/schema.sdl",
graphql_type = "TraceTrigger",
)]
#[cynic(schema_path = "./assets/schema.sdl", graphql_type = "TraceTrigger")]
pub enum TraceTrigger {
/// After each instruction
OnInstruction,
/// After an instruction has created a receipt
OnReceipt,
}
impl From<Trigger> for TraceTrigger {
fn from(value: Trigger) -> Self {
match value {
Trigger::OnInstruction => TraceTrigger::OnInstruction,
Trigger::OnReceipt => TraceTrigger::OnReceipt,
impl From<fuel_core_types::services::executor::TraceTrigger> for TraceTrigger {
fn from(trigger: fuel_core_types::services::executor::TraceTrigger) -> Self {
match trigger {
fuel_core_types::services::executor::TraceTrigger::OnInstruction => {
TraceTrigger::OnInstruction
}
fuel_core_types::services::executor::TraceTrigger::OnReceipt => {
TraceTrigger::OnReceipt
}
}
}
}
Expand Down
5 changes: 1 addition & 4 deletions crates/fuel-core/src/graphql_api/ports.rs
Original file line number Diff line number Diff line change
Expand Up @@ -53,10 +53,7 @@ use fuel_core_types::{
ContractId,
Nonce,
},
fuel_vm::interpreter::{
trace::Trigger,
Memory,
},
fuel_vm::interpreter::Memory,
services::{
executor::TransactionExecutionStatus,
graphql_api::ContractBalance,
Expand Down
12 changes: 0 additions & 12 deletions crates/fuel-core/src/schema/tx/types.rs
Original file line number Diff line number Diff line change
Expand Up @@ -80,10 +80,6 @@ use fuel_core_types::{
fuel_types::canonical::Serialize,
fuel_vm::{
consts::VM_REGISTER_COUNT,
interpreter::trace::{
Frame,
Trigger,
},
ProgramState as VmProgramState,
},
services::{
Expand Down Expand Up @@ -902,14 +898,6 @@ pub enum TraceTrigger {
/// After an instruction has created a receipt
OnReceipt,
}
impl From<TraceTrigger> for Trigger {
fn from(value: TraceTrigger) -> Self {
match value {
TraceTrigger::OnInstruction => Trigger::OnInstruction,
TraceTrigger::OnReceipt => Trigger::OnReceipt,
}
}
}

#[derive(Union, Debug)]
pub enum TraceTransactionStatus {
Expand Down
1 change: 0 additions & 1 deletion crates/fuel-core/src/service/adapters/graphql_api.rs
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,6 @@ use fuel_core_types::{
TxId,
},
fuel_types::BlockHeight,
fuel_vm::interpreter::trace::Trigger,
services::{
block_importer::SharedImportResult,
executor::TransactionExecutionStatus,
Expand Down
1 change: 0 additions & 1 deletion crates/fuel-core/src/service/adapters/producer.rs
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,6 @@ use fuel_core_types::{
BlockHeight,
Bytes32,
},
fuel_vm::interpreter::trace::Trigger,
services::{
block_producer::Components,
executor::{
Expand Down
Loading

0 comments on commit f76c96f

Please sign in to comment.