Skip to content
This repository has been archived by the owner on Nov 6, 2020. It is now read-only.

Update ABI decoder with Solidity 0.4's new ABI definition format #3392

Closed
gavofyork opened this issue Nov 12, 2016 · 2 comments
Closed

Update ABI decoder with Solidity 0.4's new ABI definition format #3392

gavofyork opened this issue Nov 12, 2016 · 2 comments
Assignees
Labels
F3-annoyance 💩 The client behaves within expectations, however this “expected behaviour” itself is at issue. P7-nicetohave 🐕 Issue is worth doing eventually.
Milestone

Comments

@gavofyork
Copy link
Contributor

Solidity 0.4 has a broken design in that the ABI definition it outputs includes an additional fallback entry if you implement the fallback function. (It's broken because the fallback function is an extra-ABI mechanism - the ABI shouldn't know nor care about the notion of a fallback - it's too low-level.)

If found, this portion of the ABI definition should be either ignored or used in some way as it makes sense.

Released to this is the additional payable field in ABI method definitions. This may also be used.

@gavofyork gavofyork added F3-annoyance 💩 The client behaves within expectations, however this “expected behaviour” itself is at issue. M7-ui P7-nicetohave 🐕 Issue is worth doing eventually. labels Nov 12, 2016
@gavofyork gavofyork added this to the 1.5 Tenuity milestone Nov 12, 2016
@jacogr
Copy link
Contributor

jacogr commented Nov 12, 2016

We do cater for both these already (we had to bring it in since some of our contracts are compiled with 0.4.1). Fallback is basically the old function() {} (I'll just double-check what we do on the UI here - want to allow calls to the default functions, but as you rightly said, need to be careful with stuff that people's should have to care about)

Payable however we do parse, but actually we should use it in the "execute contract" modal as well. If present allow to send ETH, otherwise don't. (Only for 0.4+ ABIs)

@gavofyork
Copy link
Contributor Author

gavofyork commented Nov 12, 2016

image

Note the error on the "#15 fallback" function. if i compile with solidity 1.3.6, it goes away. this is specifically in the contract writing deploy function.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
F3-annoyance 💩 The client behaves within expectations, however this “expected behaviour” itself is at issue. P7-nicetohave 🐕 Issue is worth doing eventually.
Projects
None yet
Development

No branches or pull requests

3 participants