11#[ macro_use]
22extern crate tracing;
33
4- use alloy_dyn_abi:: DynSolValue ;
4+ use alloy_dyn_abi:: { DynSolValue , EventExt } ;
55use alloy_primitives:: { eip191_hash_message, hex, keccak256, Address , B256 } ;
66use alloy_provider:: Provider ;
77use alloy_rpc_types:: { BlockId , BlockNumberOrTag :: Latest } ;
@@ -189,7 +189,7 @@ async fn main_args(args: CastArgs) -> Result<()> {
189189 }
190190
191191 // ABI encoding & decoding
192- CastSubcommand :: AbiDecode { sig, calldata, input } => {
192+ CastSubcommand :: DecodeAbi { sig, calldata, input } => {
193193 let tokens = SimpleCast :: abi_decode ( & sig, & calldata, input) ?;
194194 print_tokens ( & tokens) ;
195195 }
@@ -200,17 +200,22 @@ async fn main_args(args: CastArgs) -> Result<()> {
200200 sh_println ! ( "{}" , SimpleCast :: abi_encode_packed( & sig, & args) ?) ?
201201 }
202202 }
203- CastSubcommand :: CalldataDecode { sig, calldata } => {
203+ CastSubcommand :: DecodeCalldata { sig, calldata } => {
204204 let tokens = SimpleCast :: calldata_decode ( & sig, & calldata, true ) ?;
205205 print_tokens ( & tokens) ;
206206 }
207207 CastSubcommand :: CalldataEncode { sig, args } => {
208208 sh_println ! ( "{}" , SimpleCast :: calldata_encode( sig, & args) ?) ?;
209209 }
210- CastSubcommand :: StringDecode { data } => {
210+ CastSubcommand :: DecodeString { data } => {
211211 let tokens = SimpleCast :: calldata_decode ( "Any(string)" , & data, true ) ?;
212212 print_tokens ( & tokens) ;
213213 }
214+ CastSubcommand :: DecodeEvent { sig, data } => {
215+ let event = get_event ( sig. as_str ( ) ) ?;
216+ let decoded_event = event. decode_log_parts ( None , & hex:: decode ( data) ?, false ) ?;
217+ print_tokens ( & decoded_event. body ) ;
218+ }
214219 CastSubcommand :: Interface ( cmd) => cmd. run ( ) . await ?,
215220 CastSubcommand :: CreationCode ( cmd) => cmd. run ( ) . await ?,
216221 CastSubcommand :: ConstructorArgs ( cmd) => cmd. run ( ) . await ?,
0 commit comments