openethereum / sol-rs

Solaris - Solidity testing framework in Rust.
GNU General Public License v3.0
54 stars 14 forks source link

Implement and contribute upstream required ethabi changes #6

Closed tomusdrw closed 6 years ago

tomusdrw commented 6 years ago

@snd added

snd commented 6 years ago

@tomusdrw i'm interested in helping with this since it would improve sol-rs a lot. would it be a good first step to implement https://github.com/paritytech/sol-rs/issues/12#issuecomment-352680549 and open a PR on ethabi? afterwards i'd tackle using ethereum-types

axelchalon commented 6 years ago

is the syntax in the gist https://gist.github.com/tomusdrw/e8b6b3fa448a9935b35858e1aa6ceaa9 agreed on? if so I could start implementing it upstream on ethabi

also, what's the rationale between using the fork tomusdrw/ethabi and the base paritytech/ethabi ? do we want to work on the forked repo until the syntax is final and then merge upstream? I would have thought it would be simpler if it were all on the same repo but I also guess you have your reasons ^^

axelchalon commented 6 years ago

I'm going to pick up the work of continuing to implement the gist syntax onto ethabi.

@snd suggested making regular PRs to paritytech/ethabi to prevent the two branches from diverging too much, so if you're okay with this I'll merge paritytech/ethabi (master) onto tomusdrw/ethabi (master) and make a PR to paritytech/ethabi (master) and then we can work from the paritytech/ethabi repo

snd commented 6 years ago

use ethereum-types

seems done

Ethabi-derive improvements:https://gist.github.com/tomusdrw/e8b6b3fa448a9935b35858e1aa6ceaa9 (WIP @axelchalon https://github.com/paritytech/ethabi/tree/tomusdrw-master)

also done

add EventTrait as laid out here #12 (comment) to implement a useful evm.logs()

done

derive Debug on log structs. missing and useful for debugging

will do in a separate issue if this becomes important

if contract function return type is address convert 32 byte vec to Address correctly by taking last 20 bytes (#21, https://github.com/paritytech/sol-rs/pull/22/files#diff-aaeafcc6e3475bd3db2d1eec698eb8ddR39)

seems fixed as well