Skip to content

Commit 41f57e8

Browse files
pallet-evm: log created address (#4821)
* pallet-evm: log created address * Bump spec_version * Only emit Created event when ExitReason is Succeed
1 parent ad6d3bc commit 41f57e8

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

src/lib.rs

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -174,6 +174,8 @@ decl_event! {
174174
pub enum Event {
175175
/// Ethereum events from contracts.
176176
Log(Log),
177+
/// A contract has been created at given address.
178+
Created(H160),
177179
}
178180
}
179181

@@ -343,6 +345,7 @@ decl_module! {
343345
}
344346
executor.withdraw(source, total_fee).map_err(|_| Error::<T>::WithdrawFailed)?;
345347

348+
let create_address = executor.create_address(source, evm::CreateScheme::Dynamic);
346349
let reason = executor.transact_create(
347350
source,
348351
value,
@@ -351,7 +354,10 @@ decl_module! {
351354
);
352355

353356
let ret = match reason {
354-
ExitReason::Succeed(_) => Ok(()),
357+
ExitReason::Succeed(_) => {
358+
Module::<T>::deposit_event(Event::Created(create_address));
359+
Ok(())
360+
},
355361
ExitReason::Error(_) => Err(Error::<T>::ExitReasonFailed),
356362
ExitReason::Revert(_) => Err(Error::<T>::ExitReasonRevert),
357363
ExitReason::Fatal(_) => Err(Error::<T>::ExitReasonFatal),

0 commit comments

Comments
 (0)