aftermath-ts-sdk 1.2.56 → 1.2.57
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"farmsStakedPosition.d.ts","sourceRoot":"","sources":["../../../src/packages/farms/farmsStakedPosition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAQN,OAAO,EACP,YAAY,EACZ,QAAQ,EACR,cAAc,EACd,yBAAyB,EACzB,UAAU,EAEV,SAAS,EAET,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAMtD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD,qBAAa,mBAAoB,SAAQ,MAAM;IAYtC,cAAc,EAAE,yBAAyB;IAGhD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;IAV3B,SAAgB,+BAA+B,EAAE,SAAS,CAAC;gBAOnD,cAAc,EAAE,yBAAyB,EAChD,+BAA+B,GAAE,SAAS,GAAG,SAAqB,EAClE,MAAM,CAAC,EAAE,YAAY,EACJ,QAAQ,CAAC,0BAAc;IAiBlC,QAAQ,WAAY;QAAE,WAAW,EAAE,gBAAgB,CAAA;KAAE,KAAG,OAAO,CAEpE;IAEK,cAAc,QAAO,OAAO,CAEjC;IAEK,eAAe,QAAO,MAAM,CAKjC;IAEK,6BAA6B,WAAY;QAC/C,WAAW,EAAE,gBAAgB,CAAC;KAC9B,KAAG,cAAc,CAWhB;IAEK,eAAe,QAAO,QAAQ,EAAE,CAErC;IAEK,sBAAsB,WAAY;QACxC,WAAW,EAAE,gBAAgB,CAAC;KAC9B,KAAG,QAAQ,EAAE,CAIZ;IAEK,UAAU,WAAY;QAAE,QAAQ,EAAE,QAAQ,CAAA;KAAE,0DAOjD;IAEK,mBAAmB,WAAY;QACrC,WAAW,EAAE,gBAAgB,CAAC;KAC9B,KAAG,OAAO,CAaT;IAMK,aAAa,WAAY;QAC/B,QAAQ,EAAE,QAAQ,CAAC;QACnB,WAAW,EAAE,gBAAgB,CAAC;KAC9B,YAkBC;IAIK,cAAc,WAAY;QAAE,WAAW,EAAE,gBAAgB,CAAA;KAAE,
|
|
1
|
+
{"version":3,"file":"farmsStakedPosition.d.ts","sourceRoot":"","sources":["../../../src/packages/farms/farmsStakedPosition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAQN,OAAO,EACP,YAAY,EACZ,QAAQ,EACR,cAAc,EACd,yBAAyB,EACzB,UAAU,EAEV,SAAS,EAET,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAMtD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD,qBAAa,mBAAoB,SAAQ,MAAM;IAYtC,cAAc,EAAE,yBAAyB;IAGhD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;IAV3B,SAAgB,+BAA+B,EAAE,SAAS,CAAC;gBAOnD,cAAc,EAAE,yBAAyB,EAChD,+BAA+B,GAAE,SAAS,GAAG,SAAqB,EAClE,MAAM,CAAC,EAAE,YAAY,EACJ,QAAQ,CAAC,0BAAc;IAiBlC,QAAQ,WAAY;QAAE,WAAW,EAAE,gBAAgB,CAAA;KAAE,KAAG,OAAO,CAEpE;IAEK,cAAc,QAAO,OAAO,CAEjC;IAEK,eAAe,QAAO,MAAM,CAKjC;IAEK,6BAA6B,WAAY;QAC/C,WAAW,EAAE,gBAAgB,CAAC;KAC9B,KAAG,cAAc,CAWhB;IAEK,eAAe,QAAO,QAAQ,EAAE,CAErC;IAEK,sBAAsB,WAAY;QACxC,WAAW,EAAE,gBAAgB,CAAC;KAC9B,KAAG,QAAQ,EAAE,CAIZ;IAEK,UAAU,WAAY;QAAE,QAAQ,EAAE,QAAQ,CAAA;KAAE,0DAOjD;IAEK,mBAAmB,WAAY;QACrC,WAAW,EAAE,gBAAgB,CAAC;KAC9B,KAAG,OAAO,CAaT;IAMK,aAAa,WAAY;QAC/B,QAAQ,EAAE,QAAQ,CAAC;QACnB,WAAW,EAAE,gBAAgB,CAAC;KAC9B,YAkBC;IAIK,cAAc,WAAY;QAAE,WAAW,EAAE,gBAAgB,CAAA;KAAE,UAkJhE;IA8BW,8BAA8B,CAAC,MAAM,EAAE;QACnD,aAAa,EAAE,OAAO,CAAC;QACvB,aAAa,EAAE,UAAU,CAAC;QAC1B,aAAa,CAAC,EAAE,OAAO,CAAC;KACxB;IASY,qBAAqB,CAAC,MAAM,EAAE;QAC1C,aAAa,EAAE,UAAU,CAAC;QAC1B,WAAW,EAAE,gBAAgB,CAAC;QAC9B,eAAe,CAAC,EAAE,OAAO,CAAC;KAC1B;IAeY,kBAAkB,CAAC,MAAM,EAAE;QACvC,cAAc,EAAE,SAAS,CAAC;QAC1B,aAAa,EAAE,UAAU,CAAC;KAC1B;IASY,uBAAuB,CAAC,MAAM,EAAE;QAC5C,aAAa,EAAE,UAAU,CAAC;KAC1B;IASY,oBAAoB,CAAC,MAAM,EAAE;QAAE,aAAa,EAAE,UAAU,CAAA;KAAE;IAa1D,4BAA4B,CAAC,MAAM,EAAE;QACjD,aAAa,EAAE,UAAU,CAAC;QAC1B,WAAW,EAAE,gBAAgB,CAAC;QAC9B,eAAe,CAAC,EAAE,OAAO,CAAC;KAC1B;IAqBM,0BAA0B,CAAC,MAAM,EAAE;QACzC,0BAA0B,EAAE,OAAO,CAAC;QACpC,qBAAqB,EAAE,OAAO,CAAC;QAC/B,oBAAoB,EAAE,SAAS,CAAC;KAChC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC;IAsGtB,OAAO,CAAC,MAAM,CAQZ;IAEF,OAAO,CAAC,UAAU,CA4BhB;IAMF,OAAO,CAAC,WAAW,CAIjB;CACF"}
|
|
@@ -87,9 +87,46 @@ class FarmsStakedPosition extends caller_1.Caller {
|
|
|
87
87
|
// Updates the amount of rewards that can be harvested from `self` + the position's
|
|
88
88
|
// debt. If the position's lock duration has elapsed, it will be unlocked.
|
|
89
89
|
this.updatePosition = (inputs) => {
|
|
90
|
+
const stakingPool = new farmsStakingPool_1.FarmsStakingPool(utils_1.Helpers.deepCopy(inputs.stakingPool.stakingPool), this.config);
|
|
91
|
+
// If the position's `lock_multiplier` is larger than the `Vault`'s `max_lock_multiplier`;
|
|
92
|
+
// We want to only cap position's who have a `lock_duration_ms` or `lock_multiplier` that exceeds
|
|
93
|
+
// the vault's limits.
|
|
94
|
+
if (this.stakedPosition.lockDurationMs <=
|
|
95
|
+
stakingPool.stakingPool.maxLockDurationMs &&
|
|
96
|
+
this.stakedPosition.lockMultiplier <=
|
|
97
|
+
stakingPool.stakingPool.maxLockMultiplier) {
|
|
98
|
+
}
|
|
99
|
+
else {
|
|
100
|
+
// i. Reset the `Vault`'s `total_staked_amount_with_multiplier` that applies to this position.
|
|
101
|
+
stakingPool.stakingPool.stakedAmountWithMultiplier -=
|
|
102
|
+
this.stakedPosition.stakedAmountWithMultiplier;
|
|
103
|
+
// ii. Update the `lock_duration` and `lock_multiplier` related fields.
|
|
104
|
+
this.stakedPosition.lockDurationMs =
|
|
105
|
+
stakingPool.stakingPool.maxLockDurationMs;
|
|
106
|
+
this.stakedPosition.lockMultiplier =
|
|
107
|
+
stakingPool.stakingPool.maxLockMultiplier;
|
|
108
|
+
this.stakedPosition.stakedAmountWithMultiplier =
|
|
109
|
+
(this.stakedPosition.stakedAmount *
|
|
110
|
+
(this.stakedPosition.lockMultiplier -
|
|
111
|
+
fixedUtils_1.FixedUtils.fixedOneB)) /
|
|
112
|
+
fixedUtils_1.FixedUtils.fixedOneB;
|
|
113
|
+
this.stakedPosition.rewardCoins = [
|
|
114
|
+
...this.stakedPosition.rewardCoins.map((rewardCoin) => (Object.assign(Object.assign({}, rewardCoin), { multiplierRewardsDebt: (() => {
|
|
115
|
+
let currentDebtPerShare = stakingPool.rewardCoin({
|
|
116
|
+
coinType: rewardCoin.coinType,
|
|
117
|
+
}).rewardsAccumulatedPerShare;
|
|
118
|
+
return ((this.stakedPosition.stakedAmountWithMultiplier *
|
|
119
|
+
currentDebtPerShare) /
|
|
120
|
+
fixedUtils_1.FixedUtils.fixedOneB);
|
|
121
|
+
})() }))),
|
|
122
|
+
];
|
|
123
|
+
// iii. Increase the `Vault`'s `total_staked_amount_with_multiplier` to account for the
|
|
124
|
+
// positions new lock multiplier.
|
|
125
|
+
stakingPool.stakingPool.stakedAmountWithMultiplier +=
|
|
126
|
+
this.stakedPosition.stakedAmountWithMultiplier;
|
|
127
|
+
}
|
|
90
128
|
const currentTimestamp = (0, dayjs_1.default)().valueOf();
|
|
91
129
|
// i. Increase the vault's `rewardsAccumulatedPerShare` values.
|
|
92
|
-
const stakingPool = new farmsStakingPool_1.FarmsStakingPool(utils_1.Helpers.deepCopy(inputs.stakingPool.stakingPool), this.config);
|
|
93
130
|
stakingPool.emitRewards();
|
|
94
131
|
for (const [rewardCoinIndex, rewardCoin,] of stakingPool.stakingPool.rewardCoins.entries()) {
|
|
95
132
|
//******************************************************************************************//
|
|
@@ -133,7 +133,7 @@ class FarmsStakingPool extends caller_1.Caller {
|
|
|
133
133
|
const multiplier = utils_1.Casting.numberToFixedBigInt(newMultiplier);
|
|
134
134
|
return multiplier < fixedUtils_1.FixedUtils.fixedOneB
|
|
135
135
|
? fixedUtils_1.FixedUtils.fixedOneB
|
|
136
|
-
: multiplier;
|
|
136
|
+
: utils_1.Helpers.minBigInt(multiplier, this.stakingPool.maxLockMultiplier);
|
|
137
137
|
};
|
|
138
138
|
// =========================================================================
|
|
139
139
|
// Helpers
|