dapphub / dapple

EVM contract system developer multitool
GNU General Public License v3.0
298 stars 59 forks source link

dapplescript environment usability issue #367

Open nmushegian opened 7 years ago

nmushegian commented 7 years ago

If I have this workflow:

dapple chain new testfork
dapple script run Setup

then write a test which refers to an environment object mycontract

dapple test -r MyContractTest.t.sol

Now I push and the next dev tries to replicate the forked env:

dapple chain new testfork
dapple script run Setup

But it doesn't even compile because mycontract is not defined in Env!

I think this means the environment should be loaded as a mapping and not hoisted into the actual contract

mhhf commented 7 years ago

Hmmm, this is a tricky one. with mappings we would need to map to addresses and loose type safety which means we would need to adapt something like @dbrock suggested:

MyContract(env.getObj("mycontract")).dostuff();

or something like (dunno if this is even possible):

env.MyContract("mycontract").dostuff();

in comparison with todays:

env.mycontract.dostuff();