AssetIndicesMixin
asset_names
setter and tests
#193
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.
Description
AssetIndicesMixin
children such asSimCurvePool
andSimCurveMetaPool
now have a convenient interface for setting theAssetIndicesMixin.asset_names
attribute. Basic checks ensure that no duplicate names are set and that the number of asset names remains consistent after initialization.AssetIndicesMixin.asset_balances
, the instance raises aCurveSimException
if itsasset_names
and_asset_balances
aren't the same length, ensuring that they will be.curvesim.test.unit.test_coin_indices_mixin
. Invalid data such as nonexistent asset indices or duplicate asset indices are passed toAssetIndicesMixin.get_asset_indices()
to check the proper errors are raised.Resolves #172, resolves #187.
NOTE: should only be merged once metadata is set on
CurvePool
,CurveMetaPool
,CurveCryptoPool
__init__
rather than after, which is how it's currently done (#195).SimCurveCryptoPool
will have to implement the setter after this gets merged.Hygiene checklist
(modules, public functions, classes, and public methods)
and descriptive commit messages following Tim Pope's style
Cute Animal Picture