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

Send messes with everything #456

Open
mrRachar opened this issue Aug 15, 2019 · 0 comments
Open

Send messes with everything #456

mrRachar opened this issue Aug 15, 2019 · 0 comments

Comments

@mrRachar
Copy link
Collaborator

Currently, any methods which contains send will require all fields and variables to be mutating. This is down to the Boogie output generating havocs for all variables in case send affects them, as right now the idea seems to be that as send is external, something bad could happen and thus nothing is certain.

Also, since they mess with everything, nothing can be proven after a send function as values could have been affected in a way which invalidates any pre- or mid-conditions

// Fix with mutates (every, single, thing) despite the function affecting no fields
func myFunc(implicit amount: Wei, account: Address) {
   send(account, &wei)
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant