|
5 | 5 | //! Only available when the `fuzz` feature is enabled. |
6 | 6 |
|
7 | 7 | use { |
8 | | - crate::{ |
9 | | - result::{InstructionResult, ProgramResult}, |
10 | | - sysvar::Sysvars, |
11 | | - Mollusk, |
12 | | - }, |
| 8 | + crate::{sysvar::Sysvars, Mollusk}, |
13 | 9 | agave_feature_set::FeatureSet, |
14 | 10 | mollusk_svm_fuzz_fixture::{ |
15 | 11 | context::Context as FuzzContext, effects::Effects as FuzzEffects, |
16 | 12 | sysvars::Sysvars as FuzzSysvars, Fixture as FuzzFixture, |
17 | 13 | }, |
| 14 | + mollusk_svm_result::InstructionResult, |
18 | 15 | solana_account::Account, |
19 | 16 | solana_compute_budget::compute_budget::ComputeBudget, |
20 | | - solana_instruction::{error::InstructionError, Instruction}, |
| 17 | + solana_instruction::Instruction, |
21 | 18 | solana_pubkey::Pubkey, |
22 | 19 | solana_slot_hashes::SlotHashes, |
23 | 20 | solana_sysvar::last_restart_slot::LastRestartSlot, |
@@ -52,57 +49,6 @@ impl From<&FuzzSysvars> for Sysvars { |
52 | 49 | } |
53 | 50 | } |
54 | 51 |
|
55 | | -impl From<&InstructionResult> for FuzzEffects { |
56 | | - fn from(input: &InstructionResult) -> Self { |
57 | | - let compute_units_consumed = input.compute_units_consumed; |
58 | | - let execution_time = input.execution_time; |
59 | | - let return_data = input.return_data.clone(); |
60 | | - |
61 | | - let program_result = match &input.program_result { |
62 | | - ProgramResult::Success => 0, |
63 | | - ProgramResult::Failure(e) => u64::from(e.clone()), |
64 | | - ProgramResult::UnknownError(_) => u64::MAX, //TODO |
65 | | - }; |
66 | | - |
67 | | - let resulting_accounts = input.resulting_accounts.clone(); |
68 | | - |
69 | | - Self { |
70 | | - compute_units_consumed, |
71 | | - execution_time, |
72 | | - program_result, |
73 | | - return_data, |
74 | | - resulting_accounts, |
75 | | - } |
76 | | - } |
77 | | -} |
78 | | - |
79 | | -impl From<&FuzzEffects> for InstructionResult { |
80 | | - fn from(input: &FuzzEffects) -> Self { |
81 | | - let compute_units_consumed = input.compute_units_consumed; |
82 | | - let execution_time = input.execution_time; |
83 | | - let return_data = input.return_data.clone(); |
84 | | - |
85 | | - let raw_result = if input.program_result == 0 { |
86 | | - Ok(()) |
87 | | - } else { |
88 | | - Err(InstructionError::from(input.program_result)) |
89 | | - }; |
90 | | - |
91 | | - let program_result = raw_result.clone().into(); |
92 | | - |
93 | | - let resulting_accounts = input.resulting_accounts.clone(); |
94 | | - |
95 | | - Self { |
96 | | - compute_units_consumed, |
97 | | - execution_time, |
98 | | - program_result, |
99 | | - raw_result, |
100 | | - return_data, |
101 | | - resulting_accounts, |
102 | | - } |
103 | | - } |
104 | | -} |
105 | | - |
106 | 52 | pub struct ParsedFixtureContext { |
107 | 53 | pub accounts: Vec<(Pubkey, Account)>, |
108 | 54 | pub compute_budget: ComputeBudget, |
|
0 commit comments