Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: account state was discarded after processing created accounts initcode #867

Merged
merged 3 commits into from
Aug 23, 2024

Conversation

enitrat
Copy link
Collaborator

@enitrat enitrat commented Aug 23, 2024

Pull Request type

Please check the type of change your PR introduces:

  • Bugfix
  • Feature
  • Code style update (formatting, renaming)
  • Refactoring (no functional changes, no API changes)
  • Build-related changes
  • Documentation content changes
  • Other (please describe):

What is the current behavior?

Resolves: #

What is the new behavior?

  • Fixes a bug where any changes made to the target_account during its initcode were being discarded, as we reused an old instance of target_account and overriding any previous state changes.

Does this introduce a breaking change?

  • Yes
  • No

This change is Reviewable

@enitrat enitrat changed the title fix: changes were after processing their created accounts initcode fix: account state was discarded after processing created accounts initcode Aug 23, 2024
Comment on lines 66 to 68
//@dev: Adding a scope block around `target_account` to ensure that the same instance is not
//being accessed after
// the state has been modified in `process_message`.
Copy link
Contributor

@obatirou obatirou Aug 23, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
//@dev: Adding a scope block around `target_account` to ensure that the same instance is not
//being accessed after
// the state has been modified in `process_message`.
// @dev: Adding a scope block around `target_account` to ensure that the same instance is not
// being accessed after the state has been modified in `process_message`.


let mut result = Self::process_message(message, ref env);

let target_account = env.state.get_account(target_evm_address);
Copy link
Contributor

@obatirou obatirou Aug 23, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

put it next to its usage ?
just before match result.finalize_creation(target_account) {

obatirou
obatirou previously approved these changes Aug 23, 2024
@enitrat enitrat merged commit 8f28458 into main Aug 23, 2024
1 check passed
@enitrat enitrat deleted the fix/created-account-overriden branch August 23, 2024 16:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants