Closed trentmc closed 1 year ago
We now have two workarounds to the issue; see the bottom of the description.
The original idea of how to fix was "Remove brownie compiling. Remove the contracts. It should all just use barge." I took a swing at that in this PR. However it encountered problems.
I realize now: it's not a small task to do this. And we don't need to. Better is to simply move on to "decentralize & automate df-py", where any possible work on "remove brownie compiling" would be obsoleted anyway.
Therefore, closing this issue.
The bug / how to reproduce
First, get barge going as usual for df-py, including
export CONTRACTS_VERSIONS=v1.1.0
before starting it.Then, in a separate console, try to do anything with df-py. For example:
Traceback: (full log)
More debugging info
If I run the following:
Then I get the following: (full log)
That log does not contain
0x17d55A3501999FFBF9b0623cDB258611419d01F5
.Where does that come from? Let's dig more:
Interesting! A couple files in my
build/
directory have that.Let's delete
build/
directory and re-run. Result: (full log)Discussion
What's happening: it compiles the contracts
Why is this? It's kinda legacy, and was used for testing. We can clean it all up now, now that barge is there with all the contracts including ve. That's the cleanest path forward to fix this issue.
Or in Alex's words: "it simulates real world, where you already have the contracts on a remote network." Thanks to Alex for helping to debug this issue.
TODO for this issue
Best way: Remove brownie compiling. Remove the contracts. It should all just use barge.
BUT, we have workarounds to be able to work on other issues (e.g. #403), without needing to do this issue.
Workaround 1. Found by Trent in experiments here
rm -rf ./build/; rm ~/.brownie/deployments.db; rm ~/.brownie/cache.db
; and restart bargeWorkaround 2. Found by Berkay