Skip to content

Commit

Permalink
Refactoring Router
Browse files Browse the repository at this point in the history
Added AddStoreToStore and changed SubtractStoreFromStore fields.
  • Loading branch information
pgbrandao committed Dec 5, 2023
1 parent b769cf7 commit 4a0ae40
Show file tree
Hide file tree
Showing 12 changed files with 115 additions and 37 deletions.
15 changes: 11 additions & 4 deletions core/src/asset-strategies/AaveV3DepositStrategy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -103,6 +103,7 @@ export class AaveV3DepositStrategy extends InterfaceStrategy {
{
storeOpType: StoreOpType.RetrieveStoreAssignCall,
storeNumber: storeNumberFrom,
secondaryStoreNumber: 0,
offset: approveFromOffsets[0],
fraction: Math.round(FRACTION_MULTIPLIER * newFraction),
},
Expand All @@ -123,6 +124,7 @@ export class AaveV3DepositStrategy extends InterfaceStrategy {
{
storeOpType: StoreOpType.RetrieveResultAddStore,
storeNumber: storeNumberTmp,
secondaryStoreNumber: 0,
offset: balanceOfToOffsets[0],
fraction: FRACTION_MULTIPLIER,
},
Expand All @@ -147,8 +149,9 @@ export class AaveV3DepositStrategy extends InterfaceStrategy {
{
storeOpType: StoreOpType.RetrieveStoreAssignCallSubtract,
storeNumber: storeNumberFrom,
secondaryStoreNumber: 0,
offset: supplyFromOffsets[0],
fraction: newFraction * FRACTION_MULTIPLIER,
fraction: Math.round(newFraction * FRACTION_MULTIPLIER),
},
],
});
Expand All @@ -162,13 +165,15 @@ export class AaveV3DepositStrategy extends InterfaceStrategy {
{
storeOpType: StoreOpType.RetrieveResultAddStore,
storeNumber: storeNumberTo,
secondaryStoreNumber: 0,
offset: balanceOfToOffsets[0],
fraction: FRACTION_MULTIPLIER,
},
{
storeOpType: StoreOpType.SubtractStoreFromStore,
storeNumber: storeNumberTmp,
offset: storeNumberTo,
storeNumber: storeNumberTo,
secondaryStoreNumber: storeNumberTmp,
offset: 0,
fraction: FRACTION_MULTIPLIER,
},
],
Expand Down Expand Up @@ -220,12 +225,14 @@ export class AaveV3DepositStrategy extends InterfaceStrategy {
{
storeOpType: StoreOpType.RetrieveStoreAssignCallSubtract,
storeNumber: storeNumberFrom,
secondaryStoreNumber: 0,
offset: withdrawFromOffsets[0],
fraction: newFraction * FRACTION_MULTIPLIER,
fraction: Math.round(newFraction * FRACTION_MULTIPLIER),
},
{
storeOpType: StoreOpType.RetrieveResultAddStore,
storeNumber: storeNumberTo,
secondaryStoreNumber: 0,
offset: withdrawToOffsets[0],
fraction: FRACTION_MULTIPLIER,
},
Expand Down
24 changes: 17 additions & 7 deletions core/src/asset-strategies/BalancerDepositStrategy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -259,6 +259,7 @@ export class BalancerDepositStrategy extends InterfaceStrategy {
{
storeOpType: StoreOpType.RetrieveStoreAssignCall,
storeNumber: storeNumbersLinkedAssets[i],
secondaryStoreNumber: 0,
offset: approveFromOffsets[0],
fraction: Math.round(
FRACTION_MULTIPLIER * linkedAssetFractions[i]
Expand All @@ -281,6 +282,7 @@ export class BalancerDepositStrategy extends InterfaceStrategy {
{
storeOpType: StoreOpType.RetrieveResultAddStore,
storeNumber: storeNumberTmp,
secondaryStoreNumber: 0,
offset: balanceOfToOffsets[0],
fraction: FRACTION_MULTIPLIER,
},
Expand Down Expand Up @@ -361,14 +363,16 @@ export class BalancerDepositStrategy extends InterfaceStrategy {
storeOperations.push({
storeOpType: StoreOpType.RetrieveStoreAssignCall,
storeNumber: storeNumbersLinkedAssets[i],
secondaryStoreNumber: 0,
offset: joinPoolFromOffsets[i],
fraction: linkedAssetFractions[i] * FRACTION_MULTIPLIER,
fraction: Math.round(linkedAssetFractions[i] * FRACTION_MULTIPLIER),
});
storeOperations.push({
storeOpType: StoreOpType.RetrieveStoreAssignCallSubtract,
storeNumber: storeNumbersLinkedAssets[i],
secondaryStoreNumber: 0,
offset: joinPoolFromOffsets[i + usedReplacers.length],
fraction: linkedAssetFractions[i] * FRACTION_MULTIPLIER,
fraction: Math.round(linkedAssetFractions[i] * FRACTION_MULTIPLIER),
});
}

Expand All @@ -387,13 +391,15 @@ export class BalancerDepositStrategy extends InterfaceStrategy {
{
storeOpType: StoreOpType.RetrieveResultAddStore,
storeNumber: storeNumberPool,
secondaryStoreNumber: 0,
offset: balanceOfToOffsets[0],
fraction: FRACTION_MULTIPLIER,
},
{
storeOpType: StoreOpType.SubtractStoreFromStore,
storeNumber: storeNumberTmp,
offset: storeNumberPool,
storeNumber: storeNumberPool,
secondaryStoreNumber: storeNumberTmp,
offset: 0,
fraction: FRACTION_MULTIPLIER,
},
],
Expand Down Expand Up @@ -437,6 +443,7 @@ export class BalancerDepositStrategy extends InterfaceStrategy {
{
storeOpType: StoreOpType.RetrieveResultAddStore,
storeNumber: storeNumbersTmp[i],
secondaryStoreNumber: 0,
offset: balanceOfToOffsets[0],
fraction: FRACTION_MULTIPLIER,
},
Expand Down Expand Up @@ -496,8 +503,9 @@ export class BalancerDepositStrategy extends InterfaceStrategy {
{
storeOpType: StoreOpType.RetrieveStoreAssignCallSubtract,
storeNumber: storeNumberPool,
secondaryStoreNumber: 0,
offset: exitPoolFromOffsets[0],
fraction: newFraction * FRACTION_MULTIPLIER,
fraction: Math.round(newFraction * FRACTION_MULTIPLIER),
},
],
});
Expand All @@ -514,13 +522,15 @@ export class BalancerDepositStrategy extends InterfaceStrategy {
{
storeOpType: StoreOpType.RetrieveResultAddStore,
storeNumber: storeNumbersLinkedAssets[i],
secondaryStoreNumber: 0,
offset: balanceOfToOffsets[0],
fraction: FRACTION_MULTIPLIER,
},
{
storeOpType: StoreOpType.SubtractStoreFromStore,
storeNumber: storeNumbersTmp[i],
offset: storeNumbersLinkedAssets[i],
storeNumber: storeNumbersLinkedAssets[i],
secondaryStoreNumber: storeNumbersTmp[i],
offset: 0,
fraction: FRACTION_MULTIPLIER,
},
],
Expand Down
19 changes: 14 additions & 5 deletions core/src/asset-strategies/BeefyDepositStrategy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -120,6 +120,7 @@ export class BeefyDepositStrategy extends InterfaceStrategy {
{
storeOpType: StoreOpType.RetrieveStoreAssignCall,
storeNumber: storeNumberFrom,
secondaryStoreNumber: 0,
offset: approveFromOffsets[0],
fraction: Math.round(FRACTION_MULTIPLIER * newFraction),
},
Expand All @@ -140,6 +141,7 @@ export class BeefyDepositStrategy extends InterfaceStrategy {
{
storeOpType: StoreOpType.RetrieveResultAddStore,
storeNumber: storeNumberTmp,
secondaryStoreNumber: 0,
offset: balanceOfToOffsets[0],
fraction: FRACTION_MULTIPLIER,
},
Expand All @@ -161,6 +163,7 @@ export class BeefyDepositStrategy extends InterfaceStrategy {
{
storeOpType: StoreOpType.RetrieveStoreAssignCallSubtract,
storeNumber: storeNumberFrom,
secondaryStoreNumber: 0,
offset: depositFromOffsets[0],
fraction: FRACTION_MULTIPLIER,
},
Expand All @@ -176,13 +179,15 @@ export class BeefyDepositStrategy extends InterfaceStrategy {
{
storeOpType: StoreOpType.RetrieveResultAddStore,
storeNumber: storeNumberTo,
secondaryStoreNumber: 0,
offset: balanceOfToOffsets[0],
fraction: FRACTION_MULTIPLIER,
},
{
storeOpType: StoreOpType.SubtractStoreFromStore,
storeNumber: storeNumberTmp,
offset: storeNumberTo,
storeNumber: storeNumberTo,
secondaryStoreNumber: storeNumberTmp,
offset: 0,
fraction: FRACTION_MULTIPLIER,
},
],
Expand Down Expand Up @@ -229,6 +234,7 @@ export class BeefyDepositStrategy extends InterfaceStrategy {
{
storeOpType: StoreOpType.RetrieveResultAddStore,
storeNumber: storeNumberTmp,
secondaryStoreNumber: 0,
offset: balanceOfToOffsets[0],
fraction: FRACTION_MULTIPLIER,
},
Expand All @@ -250,8 +256,9 @@ export class BeefyDepositStrategy extends InterfaceStrategy {
{
storeOpType: StoreOpType.RetrieveStoreAssignCallSubtract,
storeNumber: storeNumberTo,
secondaryStoreNumber: 0,
offset: withdrawFromOffsets[0],
fraction: newFraction * FRACTION_MULTIPLIER,
fraction: Math.round(newFraction * FRACTION_MULTIPLIER),
},
],
});
Expand All @@ -265,13 +272,15 @@ export class BeefyDepositStrategy extends InterfaceStrategy {
{
storeOpType: StoreOpType.RetrieveResultAddStore,
storeNumber: storeNumberTo,
secondaryStoreNumber: 0,
offset: balanceOfToOffsets[0],
fraction: FRACTION_MULTIPLIER,
},
{
storeOpType: StoreOpType.SubtractStoreFromStore,
storeNumber: storeNumberTmp,
offset: storeNumberTo,
storeNumber: storeNumberTo,
secondaryStoreNumber: storeNumberTmp,
offset: 0,
fraction: FRACTION_MULTIPLIER,
},
],
Expand Down
23 changes: 18 additions & 5 deletions core/src/asset-strategies/GammaDepositStrategy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -206,24 +206,28 @@ export class GammaDepositStrategy extends InterfaceStrategy {
{
storeOpType: StoreOpType.RetrieveStoreAssignCall,
storeNumber: storeNumberFrom0,
secondaryStoreNumber: 0,
offset: calculateRatiosFromOffsets[0],
fraction: Math.round(linkedAssetFractions[0] * FRACTION_MULTIPLIER),
},
{
storeOpType: StoreOpType.RetrieveStoreAssignCall,
storeNumber: storeNumberFrom1,
secondaryStoreNumber: 0,
offset: calculateRatiosFromOffsets[1],
fraction: Math.round(linkedAssetFractions[1] * FRACTION_MULTIPLIER),
},
{
storeOpType: StoreOpType.RetrieveResultAddStore,
storeNumber: storeNumberTmp[0],
secondaryStoreNumber: 0,
offset: calculateRatiosToOffsets[0],
fraction: FRACTION_MULTIPLIER,
},
{
storeOpType: StoreOpType.RetrieveResultAddStore,
storeNumber: storeNumberTmp[1],
secondaryStoreNumber: 0,
offset: calculateRatiosToOffsets[1],
fraction: FRACTION_MULTIPLIER,
},
Expand All @@ -249,6 +253,7 @@ export class GammaDepositStrategy extends InterfaceStrategy {
{
storeOpType: StoreOpType.RetrieveStoreAssignCall,
storeNumber: storeNumberTmp[i],
secondaryStoreNumber: 0,
offset: approveFromOffsets[0],
fraction: FRACTION_MULTIPLIER,
},
Expand Down Expand Up @@ -282,30 +287,35 @@ export class GammaDepositStrategy extends InterfaceStrategy {
{
storeOpType: StoreOpType.RetrieveStoreAssignCall,
storeNumber: storeNumberTmp[0],
secondaryStoreNumber: 0,
offset: depositFromOffsets[0],
fraction: FRACTION_MULTIPLIER,
},
{
storeOpType: StoreOpType.RetrieveStoreAssignCall,
storeNumber: storeNumberTmp[1],
secondaryStoreNumber: 0,
offset: depositFromOffsets[1],
fraction: FRACTION_MULTIPLIER,
},
{
storeOpType: StoreOpType.SubtractStoreFromStore,
storeNumber: storeNumberTmp[0],
offset: storeNumberFrom0,
storeNumber: storeNumberFrom0,
secondaryStoreNumber: storeNumberTmp[0],
offset: 0,
fraction: FRACTION_MULTIPLIER,
},
{
storeOpType: StoreOpType.SubtractStoreFromStore,
storeNumber: storeNumberTmp[1],
offset: storeNumberFrom1,
storeNumber: storeNumberFrom1,
secondaryStoreNumber: storeNumberTmp[1],
offset: 0,
fraction: FRACTION_MULTIPLIER,
},
{
storeOpType: StoreOpType.RetrieveResultAddStore,
storeNumber: storeNumberTo,
secondaryStoreNumber: 0,
offset: depositToOffsets[0],
fraction: FRACTION_MULTIPLIER,
},
Expand Down Expand Up @@ -367,18 +377,21 @@ export class GammaDepositStrategy extends InterfaceStrategy {
{
storeOpType: StoreOpType.RetrieveStoreAssignCall,
storeNumber: storeNumberFrom,
secondaryStoreNumber: 0,
offset: withdrawFromOffsets[0],
fraction: newFraction * FRACTION_MULTIPLIER,
fraction: Math.round(newFraction * FRACTION_MULTIPLIER),
},
{
storeOpType: StoreOpType.RetrieveResultAddStore,
storeNumber: storeNumberTo0,
secondaryStoreNumber: 0,
offset: withdrawToOffsets[0],
fraction: FRACTION_MULTIPLIER,
},
{
storeOpType: StoreOpType.RetrieveResultAddStore,
storeNumber: storeNumberTo1,
secondaryStoreNumber: 0,
offset: withdrawToOffsets[1],
fraction: FRACTION_MULTIPLIER,
},
Expand Down
15 changes: 12 additions & 3 deletions core/src/asset-strategies/UniswapV2LiquidityStrategy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -158,6 +158,7 @@ export class UniswapV2LiquidityStrategy extends InterfaceStrategy {
{
storeOpType: StoreOpType.RetrieveStoreAssignCall,
storeNumber: storeNumbersLinkedAssets[i],
secondaryStoreNumber: 0,
offset: approveFromOffsets[0],
fraction: Math.round(
FRACTION_MULTIPLIER * linkedAssetFractions[i]
Expand Down Expand Up @@ -210,30 +211,35 @@ export class UniswapV2LiquidityStrategy extends InterfaceStrategy {
{
storeOpType: StoreOpType.RetrieveStoreAssignCall,
storeNumber: storeNumbersLinkedAssets[0],
secondaryStoreNumber: 0,
offset: addLiquidityFromOffsets[0],
fraction: linkedAssetFractions[0] * FRACTION_MULTIPLIER,
fraction: Math.round(linkedAssetFractions[0] * FRACTION_MULTIPLIER),
},
{
storeOpType: StoreOpType.RetrieveStoreAssignCall,
storeNumber: storeNumbersLinkedAssets[1],
secondaryStoreNumber: 0,
offset: addLiquidityFromOffsets[1],
fraction: linkedAssetFractions[1] * FRACTION_MULTIPLIER,
fraction: Math.round(linkedAssetFractions[1] * FRACTION_MULTIPLIER),
},
{
storeOpType: StoreOpType.RetrieveResultSubtractStore,
storeNumber: storeNumbersLinkedAssets[0],
secondaryStoreNumber: 0,
offset: addLiquidityToOffsets[0],
fraction: FRACTION_MULTIPLIER,
},
{
storeOpType: StoreOpType.RetrieveResultSubtractStore,
storeNumber: storeNumbersLinkedAssets[1],
secondaryStoreNumber: 0,
offset: addLiquidityToOffsets[1],
fraction: FRACTION_MULTIPLIER,
},
{
storeOpType: StoreOpType.RetrieveResultAddStore,
storeNumber: storeNumberPool,
secondaryStoreNumber: 0,
offset: addLiquidityToOffsets[2],
fraction: FRACTION_MULTIPLIER,
},
Expand Down Expand Up @@ -294,18 +300,21 @@ export class UniswapV2LiquidityStrategy extends InterfaceStrategy {
{
storeOpType: StoreOpType.RetrieveStoreAssignCallSubtract,
storeNumber: storeNumberPool,
secondaryStoreNumber: 0,
offset: removeLiquidityFromOffsets[0],
fraction: newFraction * FRACTION_MULTIPLIER,
fraction: Math.round(newFraction * FRACTION_MULTIPLIER),
},
{
storeOpType: StoreOpType.RetrieveResultAddStore,
storeNumber: storeNumbersLinkedAssets[0],
secondaryStoreNumber: 0,
offset: removeLiquidityToOffsets[0],
fraction: FRACTION_MULTIPLIER,
},
{
storeOpType: StoreOpType.RetrieveResultAddStore,
storeNumber: storeNumbersLinkedAssets[1],
secondaryStoreNumber: 0,
offset: removeLiquidityToOffsets[1],
fraction: FRACTION_MULTIPLIER,
},
Expand Down
Loading

0 comments on commit 4a0ae40

Please sign in to comment.