Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR builds upon balancer#20, #1 and #2.
The
SorFactory
takes as input theBalancerSdkSorConfig
, and handles constructing a new SOR with the given config.The
SOR
now supports two generic interfaces for fetching data externally, theTokenPriceService
andSubgraphPoolDataService
. For standard usecases, we includeCoingeckoTokenPriceService
,SubgraphTokenPriceService
andSubgraphPoolDataService
. Alternatively, the integrator is able to define their own services as long as they implement the applicable service interface.CoingeckoTokenPriceService
- Core logic migrated from the SOR, minor refactoring into a service class.SubgraphTokenPriceService
- Implemented a subgraph token price service that traverses pricing assets when necessary to find the price of a token in the native asset.SubgraphPoolDataService
- Core logic migrated from the SOR, extended for cleaner support of linear/nonlinear and now using subgraph query module.onChainData
- Migrated from the SOR with no changesmultiCaller
- Migrated from the SOR with no changes