From dd8dacc1022dd05162267ad22f06ce2330a18baf Mon Sep 17 00:00:00 2001 From: hana <81144685+2501babe@users.noreply.github.com> Date: Tue, 10 Dec 2024 01:02:27 -0800 Subject: [PATCH] add retdata to effects; no idea if this will pass --- fuzz/fixture/src/effects.rs | 8 +++++++- harness/src/fuzz/mollusk.rs | 2 ++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/fuzz/fixture/src/effects.rs b/fuzz/fixture/src/effects.rs index e1c54212..9e4abacc 100644 --- a/fuzz/fixture/src/effects.rs +++ b/fuzz/fixture/src/effects.rs @@ -2,7 +2,10 @@ use { super::proto::{AcctState as ProtoAccount, InstrEffects as ProtoEffects}, - solana_sdk::{account::AccountSharedData, keccak::Hasher, pubkey::Pubkey}, + solana_sdk::{ + account::AccountSharedData, keccak::Hasher, pubkey::Pubkey, + transaction_context::TransactionReturnData, + }, }; /// Represents the effects of a single instruction. @@ -14,6 +17,7 @@ pub struct Effects { pub execution_time: u64, // Program return code. Zero is success, errors are non-zero. pub program_result: u32, + pub return_data: Option, /// Resulting accounts with state, to be checked post-simulation. pub resulting_accounts: Vec<(Pubkey, AccountSharedData)>, } @@ -34,6 +38,7 @@ impl From for Effects { compute_units_consumed, execution_time, program_result, + return_data: None, // TODO resulting_accounts, } } @@ -45,6 +50,7 @@ impl From for ProtoEffects { compute_units_consumed, execution_time, program_result, + return_data: _, // TODO resulting_accounts, } = value; diff --git a/harness/src/fuzz/mollusk.rs b/harness/src/fuzz/mollusk.rs index 477e92c9..285d90ef 100644 --- a/harness/src/fuzz/mollusk.rs +++ b/harness/src/fuzz/mollusk.rs @@ -56,6 +56,7 @@ impl From<&InstructionResult> for FuzzEffects { fn from(input: &InstructionResult) -> Self { let compute_units_consumed = input.compute_units_consumed; let execution_time = input.execution_time; + let return_data = input.return_data.clone(); let program_result = match &input.program_result { ProgramResult::Success => 0, @@ -69,6 +70,7 @@ impl From<&InstructionResult> for FuzzEffects { compute_units_consumed, execution_time, program_result, + return_data, resulting_accounts, } }