Skip to content

Commit d800f25

Browse files
Merge pull request #292 from invariant-labs/update-fee-tiers
Update fee tiers
2 parents be3aad5 + 379737f commit d800f25

File tree

5 files changed

+19
-14
lines changed

5 files changed

+19
-14
lines changed

package-lock.json

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

sdk/package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

sdk/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@invariant-labs/sdk",
3-
"version": "0.9.57",
3+
"version": "0.9.58",
44
"description": "",
55
"main": "lib/index.js",
66
"types": "lib/index.d.ts",

sdk/src/utils.ts

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -251,7 +251,7 @@ export const arithmeticalAvg = <T extends BN>(...args: T[]): T => {
251251
return sum.divn(args.length) as T
252252
}
253253

254-
export const weightedArithmeticAvg = <T extends BN>(...args: { val: T, weight: BN }[]): T => {
254+
export const weightedArithmeticAvg = <T extends BN>(...args: { val: T; weight: BN }[]): T => {
255255
if (args.length === 0) {
256256
throw new Error('requires at least one argument')
257257
}
@@ -283,8 +283,10 @@ export const feeToTickSpacing = (fee: BN): number => {
283283
}
284284

285285
export const FEE_TIERS: FeeTier[] = [
286-
{ fee: fromFee(new BN(1)) },
287-
{ fee: fromFee(new BN(10)) },
286+
{ fee: fromFee(new BN(1)), tickSpacing: 1 },
287+
{ fee: fromFee(new BN(3)), tickSpacing: 1 },
288+
{ fee: fromFee(new BN(5)), tickSpacing: 1 },
289+
{ fee: fromFee(new BN(10)), tickSpacing: 1 },
288290
{ fee: fromFee(new BN(50)) },
289291
{ fee: fromFee(new BN(100)) },
290292
{ fee: fromFee(new BN(300)) },
@@ -1126,16 +1128,19 @@ export const poolAPY = (params: ApyPoolParams): WeeklyData => {
11261128
let dailyTokens: BN = new BN(0)
11271129
let dailyVolumeX: number = 0
11281130
try {
1129-
const { tickLower, tickUpper, tokens: avgTokensFromRange } = calculateTokensRange(
1130-
ticksPreviousSnapshot,
1131-
ticksCurrentSnapshot,
1132-
currentTickIndex
1133-
)
1131+
const {
1132+
tickLower,
1133+
tickUpper,
1134+
tokens: avgTokensFromRange
1135+
} = calculateTokensRange(ticksPreviousSnapshot, ticksCurrentSnapshot, currentTickIndex)
11341136

11351137
const previousSqrtPrice = calculatePriceSqrt(tickLower)
11361138
const currentSqrtPrice = calculatePriceSqrt(tickUpper)
11371139
const volume = getVolume(volumeX, volumeY, previousSqrtPrice, currentSqrtPrice)
1138-
const tokenAvgFactor = weightedArithmeticAvg({ val: activeTokens, weight: new BN(9) }, { val: avgTokensFromRange, weight: new BN(1) })
1140+
const tokenAvgFactor = weightedArithmeticAvg(
1141+
{ val: activeTokens, weight: new BN(9) },
1142+
{ val: avgTokensFromRange, weight: new BN(1) }
1143+
)
11391144
dailyFactor = dailyFactorPool(tokenAvgFactor, volume, feeTier)
11401145
dailyRange = { tickLower, tickUpper }
11411146
dailyTokens = tokenAvgFactor

tests/math.spec.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2052,7 +2052,7 @@ describe('Math', () => {
20522052
it('case 1', async () => {
20532053
const volume = 125000
20542054
const tokenXamount = new BN(1000000)
2055-
const feeTier = FEE_TIERS[4] // 0.3%
2055+
const feeTier = FEE_TIERS[6] // 0.3%
20562056

20572057
const result = dailyFactorPool(tokenXamount, volume, feeTier)
20582058
assert.equal(result, 0.00037125)

0 commit comments

Comments
 (0)