Skip to content

Commit 9255d2d

Browse files
authored
[polishing] remove old & change harvest (#181)
1 parent 5d48fc9 commit 9255d2d

File tree

12 files changed

+51
-52
lines changed

12 files changed

+51
-52
lines changed

README.md

+6-4
Original file line numberDiff line numberDiff line change
@@ -702,11 +702,13 @@ Necessary to update the vault state
702702
703703
```ts
704704
type Output = {
705-
reward: string
706-
proof: Array<string>
707705
canHarvest: boolean
708-
rewardsRoot: string
709-
unlockedMevReward: string
706+
params: {
707+
reward: string
708+
proof: Array<string>
709+
rewardsRoot: string
710+
unlockedMevReward: string
711+
}
710712
}
711713
```
712714

changelog/next-release.md

+17-13
Original file line numberDiff line numberDiff line change
@@ -9,31 +9,34 @@ type AddedOutput = {
99
ltvPercent: string
1010
thresholdPercent: string
1111
}
12+
isGenesis: boolean
1213
}
1314
```
1415
15-
| Name | Description |
16-
|-----------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
16+
| Name | Description |
17+
|------|-------------|
1718
| `osTokenConfig` | contains the `ltvPercent`, which is the percentage used to calculate how much a user can mint in OsToken shares, and `thresholdPercent`, which is the liquidation threshold percentage used to calculate the health factor for the OsToken position |
19+
| `isGenesis` | This vault is owned by stakewise |
1820
1921
---
2022
### 2. `sdk.vault.getHarvestParams`
2123
22-
#### New output field:
24+
#### New output format:
2325
2426
```ts
25-
type AddedOutput = {
26-
canHarvest: boolean
27+
type Output = {
28+
canHarvest: boolean // NEW
29+
params: {
30+
reward: string
31+
proof: Array<string>
32+
rewardsRoot: string
33+
unlockedMevReward: string
34+
}
2735
}
2836
```
2937
3038
---
3139
32-
### 3. Removed method
33-
### `sdk.vault.getVault`
34-
35-
---
36-
3740
### 3. Removed method
3841
### `sdk.osToken.getAvgRewardsPerSecond`
3942
@@ -52,6 +55,7 @@ type RemovedOutput = {
5255
5356
### 5. Added method getStakewiseStats
5457
### `sdk.utils.getStakewiseStats`
58+
#### Getting common stakewise data for the network
5559
5660
---
5761
@@ -86,7 +90,6 @@ type RemovedOutput = {
8690
8791
---
8892
89-
9093
### 10. Removed method `sdk.vault.getSnapshots`
9194
### Use `sdk.vault.getVaultStats` instead
9295
@@ -96,13 +99,13 @@ type RemovedOutput = {
9699
#### Update output format:
97100
98101
```ts
99-
type Output = {
102+
type Output = Array<{
100103
date: number
101104
dailyRewards: number
102105
dailyRewardsEur: number
103106
dailyRewardsGbp: number
104107
dailyRewardsUsd: number
105-
}[]
108+
}>
106109
```
107110
108111
#### New arguments:
@@ -118,6 +121,7 @@ type Output = {
118121
119122
### 12. Added method getFiatRates
120123
### `sdk.utils.getFiatRates`
124+
#### Getting fiat values for the network
121125
122126
---
123127

src/contracts/multicall/util/getHarvestArgs.ts

+6-4
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,18 @@ type Input<T> = {
77
vaultAddress: string
88
}
99

10-
const getHarvestArgs = async <T>(props: Input<T>): Promise<HarvestParamsQueryPayload['harvestParams'] | null> => {
10+
type Output = Promise<Omit<HarvestParamsQueryPayload['harvestParams'], 'canHarvest'> | null>
11+
12+
const getHarvestArgs = async <T>(props: Input<T>): Output => {
1113
const { options, vaultAddress } = props
1214

13-
const harvestParams = await getHarvestParams({
15+
const { params, canHarvest } = await getHarvestParams({
1416
options,
1517
vaultAddress,
1618
})
1719

18-
if (harvestParams?.canHarvest) {
19-
return harvestParams
20+
if (canHarvest) {
21+
return params
2022
}
2123

2224
return null

src/methods/osToken/index.ts

-7
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
// Requests
22
import getAPY from './requests/getOsTokenAPY'
3-
import getConfig from './requests/getConfig'
43
import getMaxMint from './requests/getMaxMint'
54
import getRate from './requests/getOsTokenRate'
65
import getPosition from './requests/getPosition'
@@ -26,12 +25,6 @@ export default {
2625
* @see https://github.com/stakewise/v3-sdk/?tab=readme-ov-file#sdkostokengetrate
2726
*/
2827
getRate,
29-
/**
30-
* @deprecated use sdk.vault.getVault instead to get data from osTokenConfig
31-
* @description os token ltvPercent and thresholdPercent for provided vault
32-
* @see https://github.com/stakewise/v3-sdk/?tab=readme-ov-file#sdkostokengetconfig
33-
*/
34-
getConfig,
3528
/**
3629
* @description Maximum number of **shares** for minting
3730
* @see https://github.com/stakewise/v3-sdk/?tab=readme-ov-file#sdkostokengetmaxmint

src/methods/vault/requests/getHarvestParams.ts

+8-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,14 @@ const getHarvestParams = (values: GetHarvestParamsInput) => {
1717
variables: {
1818
address: vaultAddress.toLowerCase(),
1919
},
20-
modifyResult: (data) => data.harvestParams,
20+
modifyResult: (data) => {
21+
const { canHarvest, ...params } = data.harvestParams
22+
23+
return {
24+
canHarvest,
25+
params,
26+
}
27+
},
2128
})
2229
}
2330

src/methods/vault/requests/getVault/modifyVault.spec.ts

+2-1
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ describe('modifyVault', () => {
1414
feePercent: 200,
1515
isPrivate: false,
1616
isRestake: true,
17+
isGenesis: true,
1718
isBlocklist: false,
1819
version: '1',
1920
performance: '10',
@@ -56,6 +57,7 @@ describe('modifyVault', () => {
5657
performance: 10,
5758
isPrivate: false,
5859
isRestake: true,
60+
isGenesis: true,
5961
isBlocklist: false,
6062
blocklistCount: 0,
6163
whitelistCount: 0,
@@ -70,7 +72,6 @@ describe('modifyVault', () => {
7072
depositDataRoot: 'mockValidators',
7173
description: 'This is a mock vault',
7274
vaultAdmin: '0xeEFFFD4C23D2E8c845870e273861e7d60Df49663',
73-
whitelister: '0xeEFFFD4C23D2E8c845870e273861e7d60Df49663',
7475
vaultAddress: '0xeEFFFD4C23D2E8c845870e273861e7d60Df49663',
7576
feeRecipient: '0xeEFFFD4C23D2E8c845870e273861e7d60Df49663',
7677
mevRecipient: '0xeEFFFD4C23D2E8c845870e273861e7d60Df49663',

src/methods/vault/requests/getVault/modifyVault.ts

-1
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,6 @@ const modifyVault = (input: ModifyVaultInput): ModifiedVault => {
5353
feeRecipient: getAddress(feeRecipient),
5454
blocklistCount: Number(blocklistCount),
5555
whitelistCount: Number(whitelistCount),
56-
whitelister: vault.whitelister ? getAddress(vault.whitelister) : '',
5756
whitelistManager: vault.whitelister ? getAddress(vault.whitelister) : '',
5857
validatorsManager: validatorsManager ? getAddress(validatorsManager) : '',
5958
depositDataManager: depositDataManager ? getAddress(depositDataManager) : '',

src/methods/vault/requests/getVault/types.ts

-5
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,4 @@ export type ModifiedVault = Omit<
3030
ltvPercent: string // The percent used to calculate how much user can mint OsToken shares
3131
thresholdPercent: string // The liquidation threshold percent used to calculate health factor for OsToken position
3232
}
33-
34-
/**
35-
* @deprecated use whitelistManager
36-
*/
37-
whitelister: string
3833
}

src/methods/vault/transactions/deposit/nativeToken/common.ts

+3-4
Original file line numberDiff line numberDiff line change
@@ -5,19 +5,18 @@ import { validateArgs } from '../../../../../utils'
55

66

77
export const commonLogic = async (values: DepositInput) => {
8-
const { contracts, vaultAddress, userAddress, assets } = values
8+
const { contracts, vaultAddress, assets } = values
99

1010
validateArgs.bigint({ assets })
11-
validateArgs.address({ vaultAddress, userAddress })
11+
validateArgs.address({ vaultAddress })
1212

1313
const vaultContract = contracts.helpers.createVault({ vaultAddress })
14-
const canHarvest = await contracts.base.keeper.canHarvest(vaultAddress)
1514

1615
const overrides = {
1716
value: assets,
1817
}
1918

20-
return { vaultContract, canHarvest, overrides }
19+
return { vaultContract, overrides }
2120
}
2221

2322

src/methods/vault/transactions/deposit/nativeToken/deposit.ts

+3-4
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,14 @@ import getHarvestParams from '../../../requests/getHarvestParams'
88
const deposit: Deposit = async (values) => {
99
const { options, provider, vaultAddress, userAddress } = values
1010

11-
const { vaultContract, canHarvest, overrides } = await commonLogic(values)
11+
const { params, canHarvest } = await getHarvestParams({ options, vaultAddress })
12+
const { vaultContract, overrides } = await commonLogic(values)
1213

1314
const signer = await provider.getSigner(userAddress)
1415
const signedContract = vaultContract.connect(signer)
1516

1617
if (canHarvest) {
17-
const harvestParams = await getHarvestParams({ options, vaultAddress })
18-
19-
const response = await signedContract.updateStateAndDeposit(userAddress, referrer, harvestParams, overrides)
18+
const response = await signedContract.updateStateAndDeposit(userAddress, referrer, params, overrides)
2019

2120
return response.hash
2221
}

src/methods/vault/transactions/deposit/nativeToken/depositEncode.ts

+3-4
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,11 @@ type DepositDataOutput = StakeWise.TransactionData & {
1010
const depositEncode = async (values: DepositInput): Promise<DepositDataOutput> => {
1111
const { options, vaultAddress, userAddress } = values
1212

13-
const { vaultContract, canHarvest, overrides } = await commonLogic(values)
13+
const { vaultContract, overrides } = await commonLogic(values)
14+
const { params, canHarvest } = await getHarvestParams({ options, vaultAddress })
1415

1516
if (canHarvest) {
16-
const harvestParams = await getHarvestParams({ options, vaultAddress })
17-
18-
const rx = await vaultContract.updateStateAndDeposit.populateTransaction(userAddress, referrer, harvestParams, overrides)
17+
const rx = await vaultContract.updateStateAndDeposit.populateTransaction(userAddress, referrer, params, overrides)
1918

2019
return {
2120
...rx,

src/methods/vault/transactions/deposit/nativeToken/depositGas.ts

+3-4
Original file line numberDiff line numberDiff line change
@@ -7,17 +7,16 @@ import getHarvestParams from '../../../requests/getHarvestParams'
77
const depositGas = async (values: DepositInput) => {
88
const { options, provider, vaultAddress, userAddress } = values
99

10-
const { vaultContract, canHarvest, overrides } = await commonLogic(values)
10+
const { vaultContract, overrides } = await commonLogic(values)
11+
const { params, canHarvest } = await getHarvestParams({ options, vaultAddress })
1112

1213
const signer = await provider.getSigner(userAddress)
1314
const signedContract = vaultContract.connect(signer)
1415

1516
let estimatedGas = 0n
1617

1718
if (canHarvest) {
18-
const harvestParams = await getHarvestParams({ options, vaultAddress })
19-
20-
estimatedGas = await signedContract.updateStateAndDeposit.estimateGas(userAddress, referrer, harvestParams, overrides)
19+
estimatedGas = await signedContract.updateStateAndDeposit.estimateGas(userAddress, referrer, params, overrides)
2120
}
2221
else {
2322
estimatedGas = await signedContract.deposit.estimateGas(userAddress, referrer, overrides)

0 commit comments

Comments
 (0)