File tree Expand file tree Collapse file tree 2 files changed +11
-2
lines changed
cheatnet/src/runtime_extensions/forge_runtime_extension Expand file tree Collapse file tree 2 files changed +11
-2
lines changed Original file line number Diff line number Diff line change @@ -35,8 +35,9 @@ use cairo_vm::vm::{
3535} ;
3636use conversions:: byte_array:: ByteArray ;
3737use conversions:: felt:: { ToShortString , TryInferFormat } ;
38+ use conversions:: serde:: NoLengthFeltVec ;
3839use conversions:: serde:: deserialize:: BufferReader ;
39- use conversions:: serde:: serialize:: CairoSerialize ;
40+ use conversions:: serde:: serialize:: { CairoSerialize , SerializeToFeltVec } ;
4041use data_transformer:: cairo_types:: CairoU256 ;
4142use rand:: prelude:: StdRng ;
4243use runtime:: {
@@ -97,7 +98,13 @@ impl<'a> ExtensionLogic for ForgeExtension<'a> {
9798 let output = self
9899 . oracle_hint_service
99100 . execute_cheatcode ( oracle_selector, input_reader. into_remaining ( ) ) ;
100- return Ok ( CheatcodeHandlingResult :: Handled ( output) ) ;
101+ let mut reader = BufferReader :: new ( & output) ;
102+ let deserialized: Result < NoLengthFeltVec < Felt > , ByteArray > = reader. read ( ) ?;
103+ let converted = deserialized
104+ . map_err ( |error| EnhancedHintError :: OracleError { error } )
105+ . map ( |r| r. serialize_to_vec ( ) ) ;
106+
107+ return Ok ( CheatcodeHandlingResult :: Handled ( converted?) ) ;
101108 }
102109
103110 match selector {
Original file line number Diff line number Diff line change @@ -470,6 +470,8 @@ pub enum EnhancedHintError {
470470 StarknetApi ( #[ from] StarknetApiError ) ,
471471 #[ error( "Failed to parse {path} file" ) ]
472472 FileParsing { path : String } ,
473+ #[ error( "{error}" ) ]
474+ OracleError { error : ByteArray } ,
473475}
474476
475477impl From < BufferReadError > for EnhancedHintError {
You can’t perform that action at this time.
0 commit comments