@stake-dao/reader 0.4.111 → 0.5.0
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.
- package/dist/esm/abis/lockersMulticall.js +30 -2
- package/dist/esm/abis/lockersMulticall.js.map +1 -1
- package/dist/esm/index.js +2 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/lockers/fetch/index.js +53 -224
- package/dist/esm/lockers/fetch/index.js.map +1 -1
- package/dist/esm/lockers/fetch/parse.js +174 -0
- package/dist/esm/lockers/fetch/parse.js.map +1 -0
- package/dist/esm/lockers/fetch/protocols/angle.js +136 -0
- package/dist/esm/lockers/fetch/protocols/angle.js.map +1 -0
- package/dist/esm/lockers/fetch/protocols/balancer.js +172 -0
- package/dist/esm/lockers/fetch/protocols/balancer.js.map +1 -0
- package/dist/esm/lockers/fetch/protocols/blackpool.js +130 -0
- package/dist/esm/lockers/fetch/protocols/blackpool.js.map +1 -0
- package/dist/esm/lockers/fetch/protocols/curve.js +204 -0
- package/dist/esm/lockers/fetch/protocols/curve.js.map +1 -0
- package/dist/esm/lockers/fetch/protocols/frax-fpis.js +121 -0
- package/dist/esm/lockers/fetch/protocols/frax-fpis.js.map +1 -0
- package/dist/esm/lockers/fetch/protocols/frax-fxs.js +169 -0
- package/dist/esm/lockers/fetch/protocols/frax-fxs.js.map +1 -0
- package/dist/esm/lockers/fetch/protocols/fxn.js +131 -0
- package/dist/esm/lockers/fetch/protocols/fxn.js.map +1 -0
- package/dist/esm/lockers/fetch/protocols/maverick.js +172 -0
- package/dist/esm/lockers/fetch/protocols/maverick.js.map +1 -0
- package/dist/esm/lockers/fetch/protocols/pancakeswap.js +128 -0
- package/dist/esm/lockers/fetch/protocols/pancakeswap.js.map +1 -0
- package/dist/esm/lockers/fetch/protocols/pendle.js +144 -0
- package/dist/esm/lockers/fetch/protocols/pendle.js.map +1 -0
- package/dist/esm/lockers/fetch/protocols/spectra.js +133 -0
- package/dist/esm/lockers/fetch/protocols/spectra.js.map +1 -0
- package/dist/esm/lockers/fetch/protocols/yearn.js +138 -0
- package/dist/esm/lockers/fetch/protocols/yearn.js.map +1 -0
- package/dist/esm/lockers/fetch/protocols/yieldbasis.js +131 -0
- package/dist/esm/lockers/fetch/protocols/yieldbasis.js.map +1 -0
- package/dist/esm/lockers/fetch/protocols/yieldnest.js +135 -0
- package/dist/esm/lockers/fetch/protocols/yieldnest.js.map +1 -0
- package/dist/esm/lockers/fetch/protocols/zerolend.js +124 -0
- package/dist/esm/lockers/fetch/protocols/zerolend.js.map +1 -0
- package/dist/esm/lockers/fetch/static.js +33 -0
- package/dist/esm/lockers/fetch/static.js.map +1 -0
- package/dist/esm/lockers/fetch/types.js +2 -0
- package/dist/esm/lockers/fetch/types.js.map +1 -0
- package/dist/esm/lockers/utils/callsForLockers/pegCalls.js.map +1 -1
- package/dist/esm/lockers/utils/getBribesRewardsData.js +11 -9
- package/dist/esm/lockers/utils/getBribesRewardsData.js.map +1 -1
- package/dist/esm/lockers/utils/substractFees.js +1 -2
- package/dist/esm/lockers/utils/substractFees.js.map +1 -1
- package/dist/esm/strategies/curve/fetch/getOnlyboostData.js +8 -3
- package/dist/esm/strategies/curve/fetch/getOnlyboostData.js.map +1 -1
- package/dist/esm/strategies/curve/fetch/index.js +1 -1
- package/dist/esm/strategies/curve/fetch/index.js.map +1 -1
- package/dist/esm/strategies/v2/parse.js +6 -4
- package/dist/esm/strategies/v2/parse.js.map +1 -1
- package/dist/esm/utils.js +5 -0
- package/dist/esm/utils.js.map +1 -1
- package/dist/types/abis/lockersMulticall.d.ts +1 -1
- package/dist/types/abis/lockersMulticall.d.ts.map +1 -1
- package/dist/types/index.d.ts +2 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/lockers/fetch/index.d.ts +5 -99
- package/dist/types/lockers/fetch/index.d.ts.map +1 -1
- package/dist/types/lockers/fetch/parse.d.ts +52 -0
- package/dist/types/lockers/fetch/parse.d.ts.map +1 -0
- package/dist/types/lockers/fetch/protocols/angle.d.ts +9 -0
- package/dist/types/lockers/fetch/protocols/angle.d.ts.map +1 -0
- package/dist/types/lockers/fetch/protocols/balancer.d.ts +9 -0
- package/dist/types/lockers/fetch/protocols/balancer.d.ts.map +1 -0
- package/dist/types/lockers/fetch/protocols/blackpool.d.ts +9 -0
- package/dist/types/lockers/fetch/protocols/blackpool.d.ts.map +1 -0
- package/dist/types/lockers/fetch/protocols/curve.d.ts +9 -0
- package/dist/types/lockers/fetch/protocols/curve.d.ts.map +1 -0
- package/dist/types/lockers/fetch/protocols/frax-fpis.d.ts +9 -0
- package/dist/types/lockers/fetch/protocols/frax-fpis.d.ts.map +1 -0
- package/dist/types/lockers/fetch/protocols/frax-fxs.d.ts +9 -0
- package/dist/types/lockers/fetch/protocols/frax-fxs.d.ts.map +1 -0
- package/dist/types/lockers/fetch/protocols/fxn.d.ts +9 -0
- package/dist/types/lockers/fetch/protocols/fxn.d.ts.map +1 -0
- package/dist/types/lockers/fetch/protocols/maverick.d.ts +9 -0
- package/dist/types/lockers/fetch/protocols/maverick.d.ts.map +1 -0
- package/dist/types/lockers/fetch/protocols/pancakeswap.d.ts +9 -0
- package/dist/types/lockers/fetch/protocols/pancakeswap.d.ts.map +1 -0
- package/dist/types/lockers/fetch/protocols/pendle.d.ts +9 -0
- package/dist/types/lockers/fetch/protocols/pendle.d.ts.map +1 -0
- package/dist/types/lockers/fetch/protocols/spectra.d.ts +9 -0
- package/dist/types/lockers/fetch/protocols/spectra.d.ts.map +1 -0
- package/dist/types/lockers/fetch/protocols/yearn.d.ts +9 -0
- package/dist/types/lockers/fetch/protocols/yearn.d.ts.map +1 -0
- package/dist/types/lockers/fetch/protocols/yieldbasis.d.ts +9 -0
- package/dist/types/lockers/fetch/protocols/yieldbasis.d.ts.map +1 -0
- package/dist/types/lockers/fetch/protocols/yieldnest.d.ts +9 -0
- package/dist/types/lockers/fetch/protocols/yieldnest.d.ts.map +1 -0
- package/dist/types/lockers/fetch/protocols/zerolend.d.ts +9 -0
- package/dist/types/lockers/fetch/protocols/zerolend.d.ts.map +1 -0
- package/dist/types/lockers/fetch/static.d.ts +3 -0
- package/dist/types/lockers/fetch/static.d.ts.map +1 -0
- package/dist/types/lockers/fetch/types.d.ts +105 -0
- package/dist/types/lockers/fetch/types.d.ts.map +1 -0
- package/dist/types/lockers/utils/callsForLockers/pegCalls.d.ts +1 -1
- package/dist/types/lockers/utils/callsForLockers/pegCalls.d.ts.map +1 -1
- package/dist/types/lockers/utils/getBribesRewardsData.d.ts +1 -0
- package/dist/types/lockers/utils/getBribesRewardsData.d.ts.map +1 -1
- package/dist/types/lockers/utils/substractFees.d.ts.map +1 -1
- package/dist/types/strategies/curve/fetch/getOnlyboostData.d.ts +1 -1
- package/dist/types/strategies/curve/fetch/getOnlyboostData.d.ts.map +1 -1
- package/dist/types/strategies/curve/fetch/index.d.ts.map +1 -1
- package/dist/types/strategies/stakeDao/fetch.d.ts +1 -1
- package/dist/types/strategies/v2/parse.d.ts.map +1 -1
- package/dist/types/utils.d.ts +1 -0
- package/dist/types/utils.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/abis/lockersMulticall.ts +30 -2
- package/src/index.ts +2 -1
- package/src/lockers/fetch/index.ts +65 -329
- package/src/lockers/fetch/parse.ts +258 -0
- package/src/lockers/fetch/protocols/angle.ts +157 -0
- package/src/lockers/fetch/protocols/balancer.ts +195 -0
- package/src/lockers/fetch/protocols/blackpool.ts +151 -0
- package/src/lockers/fetch/protocols/curve.ts +229 -0
- package/src/lockers/fetch/protocols/frax-fpis.ts +139 -0
- package/src/lockers/fetch/protocols/frax-fxs.ts +193 -0
- package/src/lockers/fetch/protocols/fxn.ts +152 -0
- package/src/lockers/fetch/protocols/maverick.ts +193 -0
- package/src/lockers/fetch/protocols/pancakeswap.ts +149 -0
- package/src/lockers/fetch/protocols/pendle.ts +165 -0
- package/src/lockers/fetch/protocols/spectra.ts +154 -0
- package/src/lockers/fetch/protocols/yearn.ts +159 -0
- package/src/lockers/fetch/protocols/yieldbasis.ts +152 -0
- package/src/lockers/fetch/protocols/yieldnest.ts +157 -0
- package/src/lockers/fetch/protocols/zerolend.ts +144 -0
- package/src/lockers/fetch/static.ts +35 -0
- package/src/lockers/fetch/types.ts +112 -0
- package/src/lockers/utils/callsForLockers/pegCalls.ts +2 -1
- package/src/lockers/utils/getBribesRewardsData.ts +12 -11
- package/src/lockers/utils/substractFees.ts +1 -2
- package/src/strategies/curve/fetch/getOnlyboostData.ts +11 -2
- package/src/strategies/curve/fetch/index.ts +2 -0
- package/src/strategies/v2/parse.ts +11 -5
- package/src/utils.ts +5 -0
- package/dist/esm/lockers/fetch/parseBoost.js +0 -36
- package/dist/esm/lockers/fetch/parseBoost.js.map +0 -1
- package/dist/esm/lockers/fetch/parsePeg.js +0 -18
- package/dist/esm/lockers/fetch/parsePeg.js.map +0 -1
- package/dist/esm/lockers/fetch/parseVoteBoosterData.js +0 -28
- package/dist/esm/lockers/fetch/parseVoteBoosterData.js.map +0 -1
- package/dist/esm/lockers/utils/callsForLockers/depositorCalls.js +0 -24
- package/dist/esm/lockers/utils/callsForLockers/depositorCalls.js.map +0 -1
- package/dist/esm/lockers/utils/callsForLockers/feeCalls.js +0 -97
- package/dist/esm/lockers/utils/callsForLockers/feeCalls.js.map +0 -1
- package/dist/esm/lockers/utils/callsForLockers/gaugeCalls.js +0 -9
- package/dist/esm/lockers/utils/callsForLockers/gaugeCalls.js.map +0 -1
- package/dist/esm/lockers/utils/callsForLockers/index.js +0 -34
- package/dist/esm/lockers/utils/callsForLockers/index.js.map +0 -1
- package/dist/esm/lockers/utils/callsForLockers/veBoosts.js +0 -17
- package/dist/esm/lockers/utils/callsForLockers/veBoosts.js.map +0 -1
- package/dist/esm/lockers/utils/callsForLockers/veCalls.js +0 -33
- package/dist/esm/lockers/utils/callsForLockers/veCalls.js.map +0 -1
- package/dist/esm/lockers/utils/callsForLockers/veSdtCalls.js +0 -14
- package/dist/esm/lockers/utils/callsForLockers/veSdtCalls.js.map +0 -1
- package/dist/esm/lockers/utils/getFees.js +0 -27
- package/dist/esm/lockers/utils/getFees.js.map +0 -1
- package/dist/types/lockers/fetch/parseBoost.d.ts +0 -4
- package/dist/types/lockers/fetch/parseBoost.d.ts.map +0 -1
- package/dist/types/lockers/fetch/parsePeg.d.ts +0 -3
- package/dist/types/lockers/fetch/parsePeg.d.ts.map +0 -1
- package/dist/types/lockers/fetch/parseVoteBoosterData.d.ts +0 -13
- package/dist/types/lockers/fetch/parseVoteBoosterData.d.ts.map +0 -1
- package/dist/types/lockers/utils/callsForLockers/depositorCalls.d.ts +0 -4
- package/dist/types/lockers/utils/callsForLockers/depositorCalls.d.ts.map +0 -1
- package/dist/types/lockers/utils/callsForLockers/feeCalls.d.ts +0 -13
- package/dist/types/lockers/utils/callsForLockers/feeCalls.d.ts.map +0 -1
- package/dist/types/lockers/utils/callsForLockers/gaugeCalls.d.ts +0 -6
- package/dist/types/lockers/utils/callsForLockers/gaugeCalls.d.ts.map +0 -1
- package/dist/types/lockers/utils/callsForLockers/index.d.ts +0 -8
- package/dist/types/lockers/utils/callsForLockers/index.d.ts.map +0 -1
- package/dist/types/lockers/utils/callsForLockers/veBoosts.d.ts +0 -7
- package/dist/types/lockers/utils/callsForLockers/veBoosts.d.ts.map +0 -1
- package/dist/types/lockers/utils/callsForLockers/veCalls.d.ts +0 -4
- package/dist/types/lockers/utils/callsForLockers/veCalls.d.ts.map +0 -1
- package/dist/types/lockers/utils/callsForLockers/veSdtCalls.d.ts +0 -11
- package/dist/types/lockers/utils/callsForLockers/veSdtCalls.d.ts.map +0 -1
- package/dist/types/lockers/utils/getFees.d.ts +0 -4
- package/dist/types/lockers/utils/getFees.d.ts.map +0 -1
- package/src/lockers/fetch/parseBoost.ts +0 -46
- package/src/lockers/fetch/parsePeg.ts +0 -22
- package/src/lockers/fetch/parseVoteBoosterData.ts +0 -34
- package/src/lockers/utils/callsForLockers/depositorCalls.ts +0 -30
- package/src/lockers/utils/callsForLockers/feeCalls.ts +0 -124
- package/src/lockers/utils/callsForLockers/gaugeCalls.ts +0 -10
- package/src/lockers/utils/callsForLockers/index.ts +0 -51
- package/src/lockers/utils/callsForLockers/veBoosts.ts +0 -28
- package/src/lockers/utils/callsForLockers/veCalls.ts +0 -44
- package/src/lockers/utils/callsForLockers/veSdtCalls.ts +0 -15
- package/src/lockers/utils/getFees.ts +0 -31
|
@@ -1,124 +0,0 @@
|
|
|
1
|
-
import { type Address, formatUnits, zeroAddress } from 'viem'
|
|
2
|
-
import type { Call } from '../../../utils.js'
|
|
3
|
-
|
|
4
|
-
export const feeCalls = (lockerId: string, accumulatorAddress: Address) => {
|
|
5
|
-
const calls: Call[] = []
|
|
6
|
-
|
|
7
|
-
if (accumulatorAddress === zeroAddress || ['mav', 'pendle', 'ynd'].includes(lockerId)) {
|
|
8
|
-
return calls
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
// Harvester fees
|
|
12
|
-
calls.push({ address: accumulatorAddress, name: 'claimerFee' })
|
|
13
|
-
|
|
14
|
-
// Treasury
|
|
15
|
-
if (['cake'].includes(lockerId)) {
|
|
16
|
-
calls.push({ address: accumulatorAddress, name: 'daoFee' })
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
switch (lockerId) {
|
|
20
|
-
case 'angle':
|
|
21
|
-
break
|
|
22
|
-
case 'cake':
|
|
23
|
-
calls.push({ address: accumulatorAddress, name: 'liquidityFee' })
|
|
24
|
-
break
|
|
25
|
-
case 'bpt':
|
|
26
|
-
calls.push({ address: accumulatorAddress, name: 'lockerFee' })
|
|
27
|
-
break
|
|
28
|
-
default:
|
|
29
|
-
calls.push({ address: accumulatorAddress, name: 'getFeeSplit' })
|
|
30
|
-
break
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
return calls
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
export interface ILockerFee {
|
|
37
|
-
lockerId: string
|
|
38
|
-
claimerFee: string
|
|
39
|
-
daoFee: string
|
|
40
|
-
bountyFee: string
|
|
41
|
-
liquidityFee: string
|
|
42
|
-
lockerFee: string
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
export const extractFees = (lockers: any, feesData: any): ILockerFee[] => {
|
|
46
|
-
const results: ILockerFee[] = []
|
|
47
|
-
|
|
48
|
-
// We reverse it because all fee calls was pushed in the locker array order
|
|
49
|
-
// It's easier to get back fees with the pop function
|
|
50
|
-
// And we slice it because the reverse modify the original array
|
|
51
|
-
const lockersReverse = lockers.slice().reverse()
|
|
52
|
-
|
|
53
|
-
for (const locker of lockersReverse) {
|
|
54
|
-
if (locker.extensions.accumulator === zeroAddress || ['mav', 'pendle', 'ynd'].includes(locker.id)) {
|
|
55
|
-
const claimerFee = locker.fees.find((f) => f.key === 'claimerFee')
|
|
56
|
-
const daoFee = locker.fees.find((f) => f.key === 'daoFee')
|
|
57
|
-
const bountyFee = locker.fees.find((f) => f.key === 'bountyFee')
|
|
58
|
-
const liquidityFee = locker.fees.find((f) => f.key === 'liquidityFee')
|
|
59
|
-
const lockerFee = locker.fees.find((f) => f.key === 'lockerFee')
|
|
60
|
-
|
|
61
|
-
results.push({
|
|
62
|
-
lockerId: locker.id,
|
|
63
|
-
claimerFee: claimerFee ? `${claimerFee.value}` : '0',
|
|
64
|
-
daoFee: daoFee ? `${daoFee.value}` : '0',
|
|
65
|
-
bountyFee: bountyFee ? `${bountyFee.value}` : '0',
|
|
66
|
-
liquidityFee: liquidityFee ? `${liquidityFee.value}` : '0',
|
|
67
|
-
lockerFee: lockerFee ? `${lockerFee.value}` : '0',
|
|
68
|
-
})
|
|
69
|
-
continue
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
let daoFee = '0'
|
|
73
|
-
const bountyFee = '0'
|
|
74
|
-
let liquidityFee = '0'
|
|
75
|
-
let lockerFee = '0'
|
|
76
|
-
|
|
77
|
-
switch (locker.id) {
|
|
78
|
-
case 'angle':
|
|
79
|
-
break
|
|
80
|
-
case 'cake':
|
|
81
|
-
liquidityFee = formatUnits(feesData.pop()?.result, 2)
|
|
82
|
-
daoFee = formatUnits(feesData.pop()?.result, 2)
|
|
83
|
-
break
|
|
84
|
-
case 'bpt':
|
|
85
|
-
lockerFee = formatUnits(feesData.pop()?.result, 2)
|
|
86
|
-
break
|
|
87
|
-
case 'fxs': {
|
|
88
|
-
const fxsFees: { fees: bigint[] } = feesData.pop()?.result
|
|
89
|
-
daoFee = formatUnits(fxsFees.fees[0]!, 2)
|
|
90
|
-
liquidityFee = formatUnits(fxsFees.fees[1]!, 2)
|
|
91
|
-
break
|
|
92
|
-
}
|
|
93
|
-
case 'spectra':
|
|
94
|
-
case 'zero': {
|
|
95
|
-
const split = feesData.pop()?.result
|
|
96
|
-
daoFee = formatUnits(split[0]?.fee || BigInt(0), 16)
|
|
97
|
-
liquidityFee = formatUnits(split[1]?.fee || BigInt(0), 16)
|
|
98
|
-
break
|
|
99
|
-
}
|
|
100
|
-
default: {
|
|
101
|
-
const fees: { fees: bigint[] } = feesData.pop()?.result
|
|
102
|
-
daoFee = formatUnits(fees?.fees[0] || BigInt(0), 16)
|
|
103
|
-
liquidityFee = formatUnits(fees?.fees[1] || BigInt(0), 16)
|
|
104
|
-
break
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
const claimerFee = formatUnits(
|
|
109
|
-
feesData.pop()?.result,
|
|
110
|
-
!['angle', 'cake', 'bpt', 'fxs'].includes(locker.id) ? 16 : 2,
|
|
111
|
-
)
|
|
112
|
-
|
|
113
|
-
results.push({
|
|
114
|
-
lockerId: locker.id,
|
|
115
|
-
claimerFee,
|
|
116
|
-
daoFee,
|
|
117
|
-
bountyFee,
|
|
118
|
-
liquidityFee,
|
|
119
|
-
lockerFee,
|
|
120
|
-
})
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
return results
|
|
124
|
-
}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { lockerWithId } from '@stake-dao/constants'
|
|
2
|
-
|
|
3
|
-
const gaugeCalls = (gauge: string) => [
|
|
4
|
-
{ address: gauge, name: 'totalSupply' },
|
|
5
|
-
gauge === lockerWithId('zero', 59144)!.modules.gauge
|
|
6
|
-
? { address: gauge, name: 'totalSupply' }
|
|
7
|
-
: { address: gauge, name: 'working_supply' },
|
|
8
|
-
]
|
|
9
|
-
|
|
10
|
-
export default gaugeCalls
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import { FOUR_YEAR, type LockerSecondaryMarket, OneEther } from '@stake-dao/constants'
|
|
2
|
-
|
|
3
|
-
import { type Address, zeroAddress } from 'viem'
|
|
4
|
-
import depositorCalls from './depositorCalls.js'
|
|
5
|
-
import gaugeCalls from './gaugeCalls.js'
|
|
6
|
-
import pegCalls from './pegCalls.js'
|
|
7
|
-
import veBoosts from './veBoosts.js'
|
|
8
|
-
import veCalls from './veCalls.js'
|
|
9
|
-
import veSdtCalls from './veSdtCalls.js'
|
|
10
|
-
|
|
11
|
-
const callsForLockers = (
|
|
12
|
-
lockerId: string,
|
|
13
|
-
token: string,
|
|
14
|
-
sdToken: string,
|
|
15
|
-
votingEscrow: string,
|
|
16
|
-
depositor: string,
|
|
17
|
-
gauge: string,
|
|
18
|
-
locker: string,
|
|
19
|
-
secondaryMarket: LockerSecondaryMarket | undefined,
|
|
20
|
-
voteBooster: any,
|
|
21
|
-
veBoost?: {
|
|
22
|
-
address: Address
|
|
23
|
-
delegator: Address
|
|
24
|
-
},
|
|
25
|
-
veNFT?: Address,
|
|
26
|
-
) => [
|
|
27
|
-
...veCalls(lockerId, votingEscrow, depositor, locker as Address, token, veNFT),
|
|
28
|
-
...depositorCalls(depositor, locker as Address),
|
|
29
|
-
...gaugeCalls(gauge),
|
|
30
|
-
// Token
|
|
31
|
-
{ address: token, name: 'balanceOf', params: [depositor] },
|
|
32
|
-
{
|
|
33
|
-
address: sdToken,
|
|
34
|
-
name: 'balanceOf',
|
|
35
|
-
params: [secondaryMarket?.label === 'Balancer' ? secondaryMarket.router : secondaryMarket?.pool || zeroAddress],
|
|
36
|
-
},
|
|
37
|
-
...veSdtCalls(voteBooster, token, sdToken, gauge),
|
|
38
|
-
pegCalls(secondaryMarket, sdToken, token),
|
|
39
|
-
...(lockerId === 'mav'
|
|
40
|
-
? [
|
|
41
|
-
{
|
|
42
|
-
address: votingEscrow,
|
|
43
|
-
name: 'previewPoints',
|
|
44
|
-
params: [OneEther, FOUR_YEAR],
|
|
45
|
-
},
|
|
46
|
-
]
|
|
47
|
-
: []),
|
|
48
|
-
...veBoosts(token, veBoost),
|
|
49
|
-
]
|
|
50
|
-
|
|
51
|
-
export default callsForLockers
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { ONE_WEEK } from '@stake-dao/constants'
|
|
2
|
-
import { range } from 'lodash-es'
|
|
3
|
-
import type { Address } from 'viem'
|
|
4
|
-
|
|
5
|
-
const veBoosts = (
|
|
6
|
-
token: string,
|
|
7
|
-
veBoost?: {
|
|
8
|
-
address: Address
|
|
9
|
-
delegator: Address
|
|
10
|
-
},
|
|
11
|
-
) => {
|
|
12
|
-
const calls: any[] = []
|
|
13
|
-
if (veBoost) {
|
|
14
|
-
calls.push({ address: veBoost.delegator, name: 'totalSupply', params: [] })
|
|
15
|
-
|
|
16
|
-
const now = Math.floor(Date.now() / 1000)
|
|
17
|
-
const lastWeek = Math.floor(now / ONE_WEEK) * ONE_WEEK
|
|
18
|
-
const lastFiveWeeks = range(0, 5).map((i) => lastWeek - i * ONE_WEEK)
|
|
19
|
-
|
|
20
|
-
for (const weekTimestamp of lastFiveWeeks) {
|
|
21
|
-
calls.push({ address: veBoost.delegator, name: 'weeklyRewards', params: [token, weekTimestamp] })
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
return calls
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
export default veBoosts
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import { lockerWithId } from '@stake-dao/constants'
|
|
2
|
-
|
|
3
|
-
import type { Address } from 'viem'
|
|
4
|
-
import { lockedAmountCall } from '../index.js'
|
|
5
|
-
|
|
6
|
-
const veCalls = (
|
|
7
|
-
lockerId: string,
|
|
8
|
-
votingEscrow: string,
|
|
9
|
-
depositor: string,
|
|
10
|
-
locker: Address,
|
|
11
|
-
token: string,
|
|
12
|
-
veNFT?: Address,
|
|
13
|
-
) => {
|
|
14
|
-
const calls: any[] = []
|
|
15
|
-
calls.push(lockedAmountCall(lockerId, votingEscrow, depositor, locker))
|
|
16
|
-
calls.push({ address: votingEscrow, name: 'balanceOf', params: [locker] })
|
|
17
|
-
|
|
18
|
-
if (
|
|
19
|
-
[
|
|
20
|
-
lockerWithId('pendle')!.modules.locker,
|
|
21
|
-
lockerWithId('mav')!.modules.locker,
|
|
22
|
-
lockerWithId('cake', 56)!.modules.locker,
|
|
23
|
-
lockerWithId('zero', 59144)!.modules.locker,
|
|
24
|
-
].includes(locker)
|
|
25
|
-
) {
|
|
26
|
-
calls.push({ address: token, name: 'balanceOf', params: [veNFT || votingEscrow] })
|
|
27
|
-
} else if (lockerWithId('ynd')!.modules.locker) {
|
|
28
|
-
calls.push({ address: token, name: 'balanceOf', params: [lockerWithId('ynd')!.modules.escrow] })
|
|
29
|
-
} else {
|
|
30
|
-
calls.push({ address: votingEscrow, name: 'supply' })
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
if (locker === lockerWithId('pendle')!.modules.locker) {
|
|
34
|
-
calls.push({ address: votingEscrow, name: 'totalSupplyStored' })
|
|
35
|
-
} else if (locker === lockerWithId('ynd')!.modules.locker) {
|
|
36
|
-
calls.push({ address: lockerWithId('ynd')!.modules.escrow, name: 'totalLocked' })
|
|
37
|
-
} else {
|
|
38
|
-
calls.push({ address: votingEscrow, name: 'totalSupply' })
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
return calls
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
export default veCalls
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { contracts, tokenWithId } from '@stake-dao/constants'
|
|
2
|
-
|
|
3
|
-
const veSdtCalls = (voteBooster: any, token: string, sdToken: string, sdTokenGauge: string) => [
|
|
4
|
-
{ address: tokenWithId('vesdt')!.address, name: 'totalSupply' },
|
|
5
|
-
...(voteBooster
|
|
6
|
-
? [
|
|
7
|
-
{ address: token, name: 'balanceOf', params: [contracts.voteBoosterStrategy![1]] },
|
|
8
|
-
{ address: sdToken, name: 'balanceOf', params: [contracts.voteBoosterStrategy![1]] },
|
|
9
|
-
{ address: sdTokenGauge, name: 'balanceOf', params: [contracts.voteBoosterStrategy![1]] },
|
|
10
|
-
{ address: sdTokenGauge, name: 'working_balances', params: [contracts.voteBoosterStrategy![1]] },
|
|
11
|
-
]
|
|
12
|
-
: []),
|
|
13
|
-
]
|
|
14
|
-
|
|
15
|
-
export default veSdtCalls
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { type ILockerFee } from './callsForLockers/feeCalls.js'
|
|
2
|
-
|
|
3
|
-
const getFees = (locker: any, lockerFee: ILockerFee | null | undefined) => {
|
|
4
|
-
const fees: any[] = []
|
|
5
|
-
|
|
6
|
-
for (const fee of locker.fees) {
|
|
7
|
-
let value: number = fee.value
|
|
8
|
-
if (!fee.static) {
|
|
9
|
-
switch (fee.key) {
|
|
10
|
-
case 'voteFee':
|
|
11
|
-
value = Number(lockerFee?.bountyFee || 0)
|
|
12
|
-
break
|
|
13
|
-
default:
|
|
14
|
-
value = Number(lockerFee?.[fee.key] || 0)
|
|
15
|
-
break
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
if (value > 0) {
|
|
20
|
-
fees.push({
|
|
21
|
-
label: fee.label,
|
|
22
|
-
value,
|
|
23
|
-
key: fee.key,
|
|
24
|
-
})
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
return fees
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
export default getFees
|