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,UAgGhE;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"}
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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "aftermath-ts-sdk",
3
- "version": "1.2.56",
3
+ "version": "1.2.57",
4
4
  "description": "Aftermath TypeScript SDK",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",