Commit Graph

67 Commits

Author SHA1 Message Date
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
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
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
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
czanella
1f509897ef Make balance hard limits work correctly. Add back capability 2024-07-19 10:27:36 +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
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
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
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
pistomat
6133e950ca Merge pull request #20 from propeller-heads/feature/angle-adapter
Angle Adapter
2024-03-28 15:05:31 +01:00
Ale personal
17954c3ffe fix: Change output number of Angle capabilities from 3 to 2 2024-03-27 15:33:40 +01:00
pistomat
dfa731a93d Remove IERC20 from ISwapAdapter and use SafeERC20 for IERC20 2024-03-27 13:14:24 +01:00
pistomat
87c0c8baba chore: forge fmt 2024-03-27 10:43:02 +01:00
Ale personal
bce771b253 Merge branch 'main' into feature/angle-adapter 2024-03-16 19:47:04 +01:00
Ale personal
511ca59f59 feat: Improve adapter and tests 2024-03-16 19:45:15 +01:00
domenicodev
2a6093a994 fix: Review fixes and improvements 2024-03-06 18:17:56 +01:00
domenicodev
3fabb48805 feat: Finalized tests 2024-03-04 10:10:23 +01:00
domenicodev
9deddb5241 feat: Finalized tests 2024-03-01 19:02:00 +01:00
domenicodev
24682409c4 fix: Fixed swap function and initial tests 2024-02-29 18:08:42 +01:00
domenicodev
1064fbf7eb feat: Implemented swap 2024-02-28 16:32:37 +01:00
domenicodev
f18dce5c04 feat: Created AngleAdapter tests 2024-01-25 11:50:02 +01:00
domenicodev
174c4e158a Revert "feat: Moved imports to main adapter file"
This reverts commit 96915bd158.
2024-01-24 17:33:47 +01:00
domenicodev
96915bd158 feat: Moved imports to main adapter file 2024-01-24 17:33:10 +01:00
domenicodev
cf41c472c6 fix: Initial code review fixes 2024-01-17 15:24:18 +01:00
domenicodev
a7ea4d3604 fix: Fixed and Improved tests 2024-01-08 18:04:20 +01:00
domenicodev
46e9a3dd0e feat: Added ConstantPrice capability 2024-01-08 16:53:55 +01:00
domenicodev
3a2e620246 fix: Fixed Fractions 2024-01-06 17:27:36 +01:00
mp-web3
c446a09caa Fixing testSwapFuzzIntegral 2024-01-04 18:36:32 +01:00
mp-web3
bb28533951 fix: Fixed swap tests and limits calculations on IntegralSwapAdapter contract; feat: Added getTokens test 2023-12-27 17:58:03 +01:00
mp-web3
3141ef5b84 testGetCapabilitiesIntegral and testGetLimitsIntegral passed 2023-12-21 18:59:22 +01:00
mp-web3
f139236ec3 testSwappSellIncreasingIntegral and testSwapBuyIncreasingIntegral failed 2023-12-21 18:56:43 +01:00
mp-web3
3453b72a3a testSwapFuzzIntegral fails at times 2023-12-21 18:46:52 +01:00
mp-web3
6a9cae7b0f testSwapSellUsdcIntegral failed, check AmountIn must be AmountIn + Fee 2023-12-21 18:40:27 +01:00
mp-web3
8b8f22f594 testSwapBuyWethIntegral passed 2023-12-21 18:34:50 +01:00
mp-web3
d736631d52 testPriceDecreasing failing 2023-12-21 18:32:10 +01:00
mp-web3
6c3eeff329 testPriceFuzzIntegral 2023-12-21 18:29:02 +01:00
mp-web3
87193425a8 added IntegralSwapAdapterFix.sol and set up IntegralSwapAdapter.t.sol 2023-12-21 18:22:55 +01:00