File tree Expand file tree Collapse file tree 1 file changed +7
-1
lines changed Expand file tree Collapse file tree 1 file changed +7
-1
lines changed Original file line number Diff line number Diff line change @@ -174,6 +174,8 @@ decl_event! {
174
174
pub enum Event {
175
175
/// Ethereum events from contracts.
176
176
Log ( Log ) ,
177
+ /// A contract has been created at given address.
178
+ Created ( H160 ) ,
177
179
}
178
180
}
179
181
@@ -343,6 +345,7 @@ decl_module! {
343
345
}
344
346
executor. withdraw( source, total_fee) . map_err( |_| Error :: <T >:: WithdrawFailed ) ?;
345
347
348
+ let create_address = executor. create_address( source, evm:: CreateScheme :: Dynamic ) ;
346
349
let reason = executor. transact_create(
347
350
source,
348
351
value,
@@ -351,7 +354,10 @@ decl_module! {
351
354
) ;
352
355
353
356
let ret = match reason {
354
- ExitReason :: Succeed ( _) => Ok ( ( ) ) ,
357
+ ExitReason :: Succeed ( _) => {
358
+ Module :: <T >:: deposit_event( Event :: Created ( create_address) ) ;
359
+ Ok ( ( ) )
360
+ } ,
355
361
ExitReason :: Error ( _) => Err ( Error :: <T >:: ExitReasonFailed ) ,
356
362
ExitReason :: Revert ( _) => Err ( Error :: <T >:: ExitReasonRevert ) ,
357
363
ExitReason :: Fatal ( _) => Err ( Error :: <T >:: ExitReasonFatal ) ,
You can’t perform that action at this time.
0 commit comments