Commit Graph

85 Commits

Author SHA1 Message Date
Louise Poole
58324a199f chore: fix typos 2025-06-26 12:33:31 +02:00
Zizou
43764fa5cb refactor: update test config to include coins (#208)
* refactor: update test config to include `coins`

* refactor: rename package to `ethereum_curve` and add repository URL in substreams.yaml

---------

Co-authored-by: zizou <111426680+flopell@users.noreply.github.com>
2025-05-14 12:37:12 +02:00
Zizou
e8bde64a23 fix: update tycho-substreams version in all vm packages (#206)
This is needed after https://github.com/propeller-heads/tycho-protocol-sdk/pull/201

Co-authored-by: zizou <111426680+flopell@users.noreply.github.com>
2025-05-14 10:57:22 +02:00
Zizou
62b178ad8f feat(curve): add coins in static attributes (#205)
* feat(curve): add coins in static attributes

This will be used by tycho-execution when executing swaps on the pool. It is needed because the `exchange` function takes token indexes and not addresses as input.

* style: make clippy happy with `format!`

---------

Co-authored-by: zizou <111426680+flopell@users.noreply.github.com>
2025-05-13 18:57:06 +02:00
Louise Poole
409cf15864 Revert "chore: update format! macro use to satisfy latest clippy version (#194)" (#196)
This reverts commit f29de67f1f.
2025-04-25 18:09:38 +02:00
Louise Poole
f29de67f1f chore: update format! macro use to satisfy latest clippy version (#194) 2025-04-25 15:13:01 +00:00
Zizou
b1e7ba9e2f refactor(substreams): add rust-toolchain to the templates and modules. (#155)
* refactor(substreams): add `rust-toolchain` to the templates and modules.

This freezes the wasm output for each module, allowing us to have full control over each packages and when we break the modules hashes.

* fix(testing): allow no `initialized_accounts` in tests

---------

Co-authored-by: zizou <111426680+flopell@users.noreply.github.com>
2025-02-17 08:29:07 +00:00
Zizou
5f319a6875 refactor: ensure consistent ABI iteration order in build files (#131)
Previously, build files iterated through ABIs in an inconsistent order, causing unwanted changes when the build was rerun, as the iteration order would differ. This commit resolves the issue by sorting ABIs by name, ensuring consistent formatting and preventing unintended changes in future commits.

Co-authored-by: zizou <111426680+flopell@users.noreply.github.com>
2025-01-10 11:45:14 +01:00
Zizou
39934347b3 refactor(substreams): remove workspace dependencies (#129)
This is to make each substreams completely independent, before when we would need a new version of a dependency, we would have to change it for every crate which would lead to a change of every substreams module hash. We want to make every Substreams completely independant and frozen, this also helps to maintain a correct versionning.

Co-authored-by: zizou <111426680+flopell@users.noreply.github.com>
2025-01-07 16:04:17 +00:00
Zizou
b8aeaa3dc6 chore(curve): fix curve tests (#121)
Co-authored-by: zizou <111426680+flopell@users.noreply.github.com>
2024-12-09 18:01:42 +02:00
tvinagre
3c54b1d68d chore: bump curve version to 0.3.2 (#120) 2024-12-06 16:31:08 -05:00
Zizou
4d4d05203a fix(curve-substreams): miscellaneous fixes for balances extractions in Curve (#118)
* fix(curve-substreams): filter out reverted calls in `emit_eth_deltas`

* feat(substreams-sdk): extract balances from `Deposit` events in `extract_balance_deltas_from_tx`

* ci: ignore fmt for abi files

* feat(sdk): also account for `Withdrawal` event from WETH

* chore: reorder mod.rs, remove unused import

* chore: cargo fmt

---------

Co-authored-by: zizou <111426680+flopell@users.noreply.github.com>
Co-authored-by: Thales <thales@datarevenue.com>
2024-12-06 18:21:07 -03:00
Zizou
d766116421 fix: contract creation/update tagging (#117)
* chore: add sfrax to rust fmt ignore

* fix(substreams-sdk): correctly mark contract creation.

Previously we would mark a contract as created if it was created in any transaction in this block. This would lead to some unexpected behavior if the contract was created and updated in the same block but in different transactions. In that case the update would be tagged as creation.

* feat: extract asset types for ng factory

This will allow us to detect pools with rebasing tokens and blacklist them until we can support them in `tycho-simulation`

* fix: correctly index math implementation for twocrypto factory

This implementation is immutable and not dynamic.

* fix: index cryptopool factory

This factory is needed for simulations by pools that have admin fees.

* chore: fix build sfrax abi contract

* Bump curve version

---------

Co-authored-by: zizou <111426680+flopell@users.noreply.github.com>
Co-authored-by: tvinagre <tvinagre@gmail.com>
Co-authored-by: Thales <thales@datarevenue.com>
2024-12-06 17:59:39 -03:00
Zizou
9561cc9b8a fix(curve): index two crypto factory (#114)
* fix: index two crypto factory

* ci: make clippy happy

---------

Co-authored-by: zizou <111426680+flopell@users.noreply.github.com>
2024-11-18 18:16:08 +01:00
Zizou
fa9e5180fc chore(curve): bump version to 0.3.0 (#110)
Co-authored-by: zizou <111426680+flopell@users.noreply.github.com>
2024-11-07 12:22:47 +07:00
Zizou
aca3bc4f71 refactor(curve): Update testing suite and remove metapools factories (#109)
* chore(lib): update testing suite with new naming

* refactor(curve): remove metapool

These pools aren't compatible yet due to how they are created (first the lp token and then later the pool). We will need DCI to handle this properly.

* chore(lib): use correct package name for tycho-simulation

---------

Co-authored-by: zizou <111426680+flopell@users.noreply.github.com>
2024-11-07 05:05:37 +00:00
zizou
c90b190936 fix: correctly handle hexbytes convertion
There was a bug if the value was already a HexBytes that would lead to some tiny changes on the HexBytes, leading to our test being too permissive.
2024-09-06 17:27:31 +02:00
zizou
d0d81fc671 refactor: improve curve static attributes 2024-09-06 17:24:41 +02:00
zizou
4fbdb434c8 docs(curve): add static attr and ongoing task in curve readme 2024-09-06 17:22:29 +02:00
Florian Pellissier
c218252548 refactor(curve): stateless contracts as state attribute instead of static. 2024-08-15 10:42:06 +02:00
Florian Pellissier
420cf13466 refactor(curve): Remove unnecessary WETH stateless contracts
These contracts became unnecessary because we handle things differently on the Adapter side, we use native eth instead of WETH when possible.
2024-08-13 11:58:21 +02:00
Florian Pellissier
5c25d2fac0 style(curve): Fix CI 2024-08-09 11:24:36 +02:00
Florian Pellissier
bd59af67ed fix(curve): Add weth as stateless contract for CryptoPool with ETH 2024-08-09 11:00:58 +02:00
Florian Pellissier
1f2316713f fix(curve): Update integration tests 2024-08-09 10:39:58 +02:00
Florian Pellissier
6ac29335c7 docs(curve-substreams): Add docs for each tests 2024-08-09 10:39:14 +02:00
Florian Pellissier
d8d7a6d9fd fix(curve): add new missing initialized account and update Tycho binary 2024-08-09 10:39:14 +02:00
Florian Pellissier
388902b2ed fix(curve): index tricrypto2 dependencies 2024-08-09 10:39:14 +02:00
Florian Pellissier
9fa382ea60 refactor(curve): avoid RPC call when possible 2024-08-09 10:39:14 +02:00
Florian Pellissier
65ac765284 refactor(curve): add utils functions on ProtocolComponent 2024-08-09 10:39:14 +02:00
Florian Pellissier
a46e1e4a57 fix(curve): fix sUSD pool 2024-08-09 10:39:14 +02:00
Florian Pellissier
2f0b084cc6 refactor(curve): rename tests 2024-08-09 10:39:14 +02:00
Florian Pellissier
4d528ddab3 fix(curve): fix curve tests after SDKv2 update, also add a few missing tests 2024-08-09 10:39:14 +02:00
Florian Pellissier
95efda0423 refactor(substreams-testing): Use Pydantic to deserialize test_assets.yaml 2024-08-08 17:58:20 -03:00
kayibal
f5b4c54a99 chore: code formatting 2024-07-25 14:11:29 +01:00
Thales Lima
3ccf0a8a1f Add skip balance check flag for testing module 2024-07-23 15:32:52 +02:00
Thales Lima
e0c1ba3b50 Make tycho_client a python package, small bugfixes 2024-07-23 15:32:52 +02:00
Florian Pellissier
bd0a077917 refactor: Use new hybrid structs for Curve 2024-07-23 15:09:05 +02:00
Florian Pellissier
ec6e16f465 refactor: Clean code and update cargo.lock 2024-07-12 15:47:22 +02:00
Florian Pellissier
10a36c0a9b fix: Replace buggy balance extraction with SDK extract_balance_deltas_from_tx
The bug occurred when a Transfer event involved both the sender and recipient being pools. In such cases, the previous implementation only created a BalanceDelta for the "to" address and missed accounting for the "from" address.
2024-07-12 14:59:54 +02:00
Florian Pellissier
00cc45e2b8 feat: Add renBTC/wBTC/sBTC in get_token_from_pool 2024-07-12 13:02:45 +02:00
Florian Pellissier
12eeb72e9f chore: bump ethereum-curve to version 0.2.0 2024-07-02 17:08:45 +02:00
Florian Pellissier
62b4196d8d Revert "feat: add apool (but it uses rebasing tokens so balances are off)"
This reverts commit bdadf837cad52e54358d819afd3e1ca3f3c2d2f3.
2024-07-02 17:08:45 +02:00
Florian Pellissier
9a6d3ba4a5 feat: add apool (but it uses rebasing tokens so balances are off) 2024-07-02 17:08:45 +02:00
Florian Pellissier
3aa880a700 feat: add twocrypto factory 2024-07-02 17:08:45 +02:00
Florian Pellissier
fe27fc397f refactor: filter out empty tokens in address_map function 2024-07-02 17:08:45 +02:00
Florian Pellissier
959a08026a chore: remove unused abis 2024-07-02 17:08:45 +02:00
Florian Pellissier
b598a12592 chore: update params 2024-06-14 23:45:18 +02:00
Florian Pellissier
b432e2827f fix(curve): wrong static attibutes 2024-06-14 21:51:34 +02:00
Florian Pellissier
329375fa0e refactor: update Curve test assets 2024-06-14 21:29:08 +02:00
Florian Pellissier
8cc526527e feat(testing): add a script for Tycho integration testing 2024-06-14 21:17:32 +02:00