Comments (6)
Unit tests for balpy have been deprioritized since many of the test cases would involve deploying contracts to specific chains, which would clutter the testnet UIs, cost money on production networks, and require maintaining native asset balances on various chains. Not impossible, but pretty tedious.
Doing the tests locally would require integrating brownie which honestly would be amazing, but it would be a significant undertaking that I don't have time for right now
from balpy.
Do you think it could be done using ApeworkX instead of Brownie?
https://docs.apeworx.io/ape/stable/userguides/testing.html
I would be interested in making this kind of contribution to the repo.
from balpy.
I've heard to ApeworkX but have never gone down the rabbit hole. If we were to move in that direction, we would definitely need to add all the bytecode and ABIs back in. I had previously removed them to make the package more lightweight
from balpy.
I think bytecode and ABIs could be gitignored. The package could stay as is, add ape-eth as a dependency, and compile contracts on the fly when running tests...
from balpy.
@gerrrg Automated unit tests can be implemented by stubbing out external behaviors using pytest. I think it would be of value to test the internal logic of this library, not necessarily the smart contracts or other external behaviors.
from balpy.
I have a nice stable env up and running here;
We can use a local fork from a specific block for tests.
See this suite here;
from balpy.
Related Issues (20)
- allow initialization w/o currently required env vars HOT 1
- Allow passing of keys/RPC URLs as initialization arguments HOT 1
- put print()s inside "if self.verbose:" blocks HOT 1
- add text suppressor to hide processReceipt() spamming to console HOT 2
- spin out erc20 functions to own library
- update multicall functionality in balpy to use multicaller package HOT 2
- clean up contract loaders to cleaner, cached function HOT 1
- automatically convert batchSwap of length 1 to swap
- add pool verification for stablePhantom, aaveLinear HOT 12
- Getting price of swap before doing a swap. HOT 1
- get ftmscan to accept API pool verification HOT 1
- Add pool exits
- Fails to install on first attempt with python3.10 HOT 1
- Fails to run on Kovan, Goerli, Mainnet HOT 5
- getPools fails HOT 1
- Make use of web3py gas strategies HOT 1
- Make it feature complete with the vault API HOT 2
- The type checks in these two lines of Python can probably be removed.
- Integrate Liquidity mining claims contracts
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from balpy.