Mattia Papa
3013cd9bfd
Sfraxeth adapter and substream with SDK integration ( #87 )
...
* first commit
* feat: implemented get tokens and improved modifier
* feat: added missing functions (to implement)
* feat: implemented getPoolIds
* feat: implemented getCapabilities
* feat: implemented getLimits function
* fix: fixed constructor
* feat and fix: implemented testGetLimitsFraxEthV3 and fixed getLimits
* feat: implementing getPriceAt function
* feat and fix: finished implementing getPriceAt, fixed modifier
* feat: price function and tests implemented
* fix: removed onlySupportedTokens modifier from getPriceAt and applied it in price and swap function
* feat: implemented sell, buy, and swap functions
* implementing final tests
* aligned with main branch
* fixes
* fix: Review Fixes
* feat: 🎨 sfraxeth substream initial scaffolding
* fix: 🎨 protocol component creation at deployment block
* build: 💚 cargo build
* feat: 🎨 map proper event to balance changes
* fix: 🚚 remove unnecessary files
* fix: 💚 ci checks
Due to the CI checks requiring the latest rust nightly, the rust-lang organisation
introduced new doc related rules. This commit fixes the CI errors by making
the necessary changes to the comments in substreams-balancer comments
* fix: 🐛 wasm output name
* fix: 🐛 update starting block = deployment block -1
* feat: 🎨 add store for reward cycles and update balances accounting after after deposit before Withdraw
* feat: 🎨 finish setting up block reward logic
* docs: 📝 add comments on extra module
* build: 📌 adapt dependencies to workspace dependencies
setting prost-types to workspace version causes build errors
* feat: 🎨 add support for several EVM compatible networks
* fix: 🐛 update balance delta accounting logic following the `NextRewardCycle` event only
* fix: 🐛 hex address string param encoding
* fix: 🐛 deployment transaction check
* ci: 💚 ci check passing
* fix: 🐛 issues with hex-binary encoding
* refactor: ♻️ address mappings for various networks
* fix: 💚 formatting
* feat: Implemented testPoolBehaviour
* chore: Removed unused comments
* feat: ⬆️ update to recent sdk
* feat: 🎨 testing setup
* test: ✅ setup test environminte for sfraxeth
* fix: 🐛 unwrap error in map_protocol_changes
* build: ⬆️ update rust version
* build: ➖ remove unnecessary deps
* build: 🚚 remove unnecessary pb/tycho
* fix: 🐛 remove balance owner attribute
* fix: 🐛 remove unnecessary static attributes
* fix: 🐛 remove manual updates
* fix: 🔥 remove unused data model from contract.proto
* fix: 🐛 filter by known components
* feat: ⚡ use store delta for reward change accounting
* refactor: ♻️ remove shallow create vault component
* feat: ⚡ replace is_deployment_tx logic with simpler txn match
* test: ✅ manual testing with inspection against etherscan
https://etherscan.io/address/0xac3E018457B222d93114458476f3E3416Abbe38F#events
* ci: 💚 ci checks
* fix: 🐛 map_protocol_components output data
* fix: 🐛 output type on map_protocol_changes
* test: 🧪 skip balance checks
* fixed FraxV3FrxEthAdapter arguments for constructor in manifest.yaml
* fix: 🐛 adapter error with overflow/underflow and addresses
* restore: restored previous adater version
* fix: set minimum swap amount to prevent overflow/underflow
* fix: set minimum swap amount only for sfrxETH -> frxETH
* improve: added print block_number to runner.py when get_amout_out fails
* removed console.log
* alignment with propeller main
* Update forge-std submodule reference to include ds-test
* installed protosim_py 0.21.0
* commented out minimum swap amount for sfrxEth -> frxEth pair
* updated adapter limits
* working on fixes
* fix: Adjust getLimits according to protocol limitation.
Previously limits were estimated with token supplies, this commit simplifies limits and adjusts them so they correspond closely with what is supported by the sfrxETH contract.
* chore: fmt
* wip: Changed ubuntu to 20.04, fmt adapters
* wip: Updated python tests
* wip: Trying with ubuntu: latest
* chore: fmt adapters
* wip: Using ubuntu 20.04
* chore: Switched back to ubuntu-latest
---------
Co-authored-by: Ignazio Bovo <ignazio@jsgenesis.com >
Co-authored-by: domenicodev <domenico.romeo3919@gmail.com >
Co-authored-by: kayibal <alan@datarevenue.com >
Co-authored-by: domenicodev <domenico.rom3@gmail.com >
2024-10-23 14:17:45 +01:00
kayibal
3a93a55a46
doc: fix formatting
2024-10-23 13:00:59 +01:00
kayibal
f129f217e5
docs: Document the meaning of limits array
2024-10-23 10:45:22 +01:00
kayibal
42f66c22cf
docs: Document the meaning of limits array
2024-10-23 10:44:53 +01:00
zizou
d3cfc5d509
fix(evm-compilation): enable via IR
...
This is needed to compile Curve executor.
2024-10-07 10:32:44 +02:00
Diana Carvalho
a6caf84f55
feat: Add execution for curve
...
- Add CurveSwapStructEncoder and tests
- Add CurveSwapExecutorExposed and tests
- Add needed interfaces
#time 0m
#time 0m
#time 0m
2024-09-05 13:19:31 +01:00
Diana Carvalho
813f0fe9c8
chore: Rename SwapExecutorTest
2024-08-26 11:57:36 +01:00
Diana Carvalho
e49af99b1f
chore: Add BalancerSwapExecutor
2024-08-23 18:24:34 +01:00
Diana Carvalho
299a872160
feat(ISwapExecutor): Add ISwapExecutor and docs
2024-08-22 16:17:06 +01:00
Florian Pellissier
bc2cd6bab2
refactor(testing): miscellaneous improvements and bugfixes
...
Includes bugfix on `tycho-indexer-client` and `protosim_py`, a script to simplify setting up testing python env and cli improvements. Also add support for building runtime for SwapAdapters with many args that was bugged before.
2024-08-19 11:56:52 +02:00
Pierre
b3e3672172
Revert "ENG-3406: Add new bytes parameter to swap"
2024-08-08 22:24:35 +02:00
PierreMkt
07ca52b2ff
chore(adapters): Address PR review
...
keep mock data as empty bytes
2024-08-05 13:56:28 -04:00
PierreMkt
36c7e94e00
Merge branch 'refs/heads/main' into pm/eng-3406-add-swap-bytes-param
2024-08-05 10:44:55 -04:00
czanella
1ab96ce292
Update other failing tests
2024-08-05 10:32:43 +01:00
czanella
30bd0c2a5c
Fix some assertions in integration test
...
The foundation is:
marginal price > executed price > price after swap.
And this check is verified for multiple amounts
2024-08-03 10:54:25 +01:00
czanella
9411fc2b67
Discount fees from USV2 getPriceAt logic
...
add marginal price capability
2024-08-03 10:53:25 +01:00
PierreMkt
6f41147f91
feat(adapters): decode reduceFee bool from bytes data
...
TODO: apply reduce fee logic
2024-08-02 12:49:37 -04:00
PierreMkt
ec903734e0
test(adapters): Fix balancer getCapabilities test
...
returns HardLimits too
2024-08-02 12:00:54 -04:00
PierreMkt
034d5ac8c2
feat(adapters): Add new bytes parameter to swap
...
that allows arbitrary data to be passed
2024-08-02 11:55:00 -04:00
kayibal
ac22ed583f
fix(balancer): Support ComposableStablePools on SwapAdapter.
...
Add support for CSP pools. The main issue here was that Limits for BPT tokens would be too high since the pool has the complete supply of the token preminted.
Not quite sure if the limit for buying the BPT token is set correctly but I guess you can try to buy the whole supply.
2024-07-29 15:25:30 +01:00
czanella
1f509897ef
Make balance hard limits work correctly. Add back capability
2024-07-19 10:27:36 +01:00
czanella
260fd7fbb5
Address PR review
2024-07-19 09:16:42 +01:00
czanella
772566c590
Add marginal price capability and update integration tests
...
Balancer now passes the test
Some misc aesthetics
2024-07-18 16:12:50 +01:00
czanella
5831aecc96
Implement adapter integration test and use it on uniswap and balancer
2024-07-17 15:03:31 +01:00
Florian Pellissier
9e851534ce
fix(script): Fix build runtime script to handle empty constructor
2024-07-17 10:37:16 +02:00
Louise Poole
cf7516df25
Format
2024-04-15 17:42:30 +01:00
Louise Poole
45dc7aa457
Fix prices function
2024-04-15 17:41:16 +01:00
Louise Poole
306293764c
Fix tests
2024-04-15 16:56:19 +01:00
Louise Poole
98857be305
Fix balancer price and capabilities
2024-04-15 16:18:48 +01:00
pistomat
1b2e183a85
Remove test console logs
2024-04-13 11:17:03 +00:00
pistomat
54e4c9f92e
chore: forge fmt
2024-04-13 11:11:34 +00:00
pistomat
1738ca7bd2
Fix merge issues
2024-04-13 11:11:20 +00:00
pistomat
9ba2286826
Merge pull request #23 from propeller-heads/mp/formatting
...
Fix the format check CI
2024-04-13 10:12:41 +00:00
pistomat
c49d78a2d9
Merge pull request #12 from propeller-heads/feature/etherfi-adapter
...
Etherfi adapter
2024-04-13 10:12:13 +00:00
pistomat
fbc2b004e5
Merge pull request #24 from propeller-heads/mp/use-safe-erc20
...
Remove IERC20 from ISwapAdapter and use SafeERC20 for IERC20
2024-04-13 10:11:46 +00:00
domenicodev
0ae7fd2ed0
updated manifest
2024-04-05 17:56:43 +02:00
domenicodev
21a2ecac28
fix: Review Fixes
2024-04-05 17:53:50 +02:00
pistomat
6133e950ca
Merge pull request #20 from propeller-heads/feature/angle-adapter
...
Angle Adapter
2024-03-28 15:05:31 +01:00
Ale personal
5ce93956ff
improve: Add docstring to the swap and price functions of Angle
2024-03-27 17:09:15 +01:00
Ale personal
f2afca9b28
fix: Update manifest of Angle
2024-03-27 16:58:24 +01:00
Ale personal
17954c3ffe
fix: Change output number of Angle capabilities from 3 to 2
2024-03-27 15:33:40 +01:00
Alessandro Bergamaschi
113afd04fb
Update evm/src/angle/AngleAdapter.sol
...
Co-authored-by: pistomat <pistomat@users.noreply.github.com >
2024-03-27 15:28:47 +01:00
Alessandro Bergamaschi
115c7c26cc
Update evm/src/angle/AngleAdapter.sol
...
Co-authored-by: pistomat <pistomat@users.noreply.github.com >
2024-03-27 15:28:34 +01:00
Ale personal
81106d75f5
improve: Optimize sell function of Angle adapter
2024-03-27 15:24:15 +01:00
Alessandro Bergamaschi
2d21f988dd
Update evm/src/angle/AngleAdapter.sol
...
Co-authored-by: pistomat <pistomat@users.noreply.github.com >
2024-03-27 15:09:58 +01:00
Ale personal
77843d0695
fix: Update manifest of Angle
2024-03-27 15:08:24 +01:00
Ale personal
045fa1cc0d
improve: Change ITransmuter from abstract contract to interface
2024-03-27 14:59:07 +01:00
pistomat
dfa731a93d
Remove IERC20 from ISwapAdapter and use SafeERC20 for IERC20
2024-03-27 13:14:24 +01:00
pistomat
66e25d1a09
fix the format check CI
2024-03-27 11:17:12 +01:00
pistomat
87c0c8baba
chore: forge fmt
2024-03-27 10:43:02 +01:00