hedge-web3 0.2.31 → 0.3.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/declarations/Constants.d.ts +0 -12
- package/declarations/HedgeConstants.d.ts +76 -0
- package/declarations/idl/pyth.d.ts +1 -1
- package/declarations/idl/switchboard.d.ts +1 -1
- package/declarations/idl/vault.d.ts +60 -744
- package/declarations/index.d.ts +1 -10
- package/declarations/instructions/claimLiquidationPoolPosition.d.ts +1 -1
- package/declarations/instructions/claimStakingPoolPosition.d.ts +1 -1
- package/declarations/instructions/closeClaimedLiquidationPoolPosition.d.ts +1 -1
- package/declarations/instructions/closeLiquidationPoolPosition.d.ts +1 -1
- package/declarations/instructions/createReferralAccount.d.ts +3 -3
- package/declarations/instructions/createStakingPool.d.ts +1 -1
- package/declarations/instructions/createUserReferralAccount.d.ts +1 -1
- package/declarations/instructions/createVault.d.ts +1 -2
- package/declarations/instructions/depositLiquidationPool.d.ts +1 -2
- package/declarations/instructions/depositStakingPool.d.ts +1 -2
- package/declarations/instructions/depositVault.d.ts +1 -2
- package/declarations/instructions/initHedgeFoundation.d.ts +1 -1
- package/declarations/instructions/initHedgeFoundationTokens.d.ts +1 -1
- package/declarations/instructions/liquidateVault.d.ts +1 -1
- package/declarations/instructions/loanVault.d.ts +1 -2
- package/declarations/instructions/psmEditAccount.d.ts +1 -2
- package/declarations/instructions/psmMintUsh.d.ts +1 -2
- package/declarations/instructions/psmRedeemUsh.d.ts +1 -2
- package/declarations/instructions/redeemVault.d.ts +1 -2
- package/declarations/instructions/referralClaimFees.d.ts +3 -3
- package/declarations/instructions/refreshOraclePrice.d.ts +1 -1
- package/declarations/instructions/repayVault.d.ts +1 -2
- package/declarations/instructions/setHalted.d.ts +1 -1
- package/declarations/instructions/transferVault.d.ts +1 -1
- package/declarations/instructions/updateReferralAccount.d.ts +1 -2
- package/declarations/instructions/updateReferralState.d.ts +1 -2
- package/declarations/instructions/updateVaultType.d.ts +1 -2
- package/declarations/instructions/withdrawStakingPool.d.ts +1 -1
- package/declarations/instructions/withdrawVault.d.ts +1 -2
- package/declarations/state/VaultAccount.d.ts +2 -3
- package/declarations/utils/getLinkedListAccounts.d.ts +1 -2
- package/lib/Constants.js +27 -54
- package/lib/HedgeConstants.js +170 -0
- package/lib/HedgeDecimal.js +1 -2
- package/lib/StakingPools.js +5 -1
- package/lib/Vaults.js +5 -1
- package/lib/idl/vault.js +60 -744
- package/lib/index.js +6 -11
- package/lib/instructions/claimLiquidationPoolPosition.js +7 -8
- package/lib/instructions/claimStakingPoolPosition.js +7 -8
- package/lib/instructions/closeClaimedLiquidationPoolPosition.js +2 -3
- package/lib/instructions/closeLiquidationPoolPosition.js +16 -17
- package/lib/instructions/createReferralAccount.js +13 -17
- package/lib/instructions/createStakingPool.js +10 -11
- package/lib/instructions/createUserReferralAccount.js +9 -10
- package/lib/instructions/createVault.js +20 -21
- package/lib/instructions/depositLiquidationPool.js +12 -13
- package/lib/instructions/depositStakingPool.js +8 -9
- package/lib/instructions/depositVault.js +10 -11
- package/lib/instructions/initHedgeFoundation.js +10 -11
- package/lib/instructions/initHedgeFoundationTokens.js +7 -8
- package/lib/instructions/liquidateVault.js +12 -19
- package/lib/instructions/loanVault.js +16 -23
- package/lib/instructions/psmEditAccount.js +11 -11
- package/lib/instructions/psmMintUsh.js +18 -19
- package/lib/instructions/psmRedeemUsh.js +18 -19
- package/lib/instructions/redeemVault.js +10 -11
- package/lib/instructions/referralClaimFees.js +12 -16
- package/lib/instructions/refreshOraclePrice.js +9 -9
- package/lib/instructions/repayVault.js +12 -13
- package/lib/instructions/setHalted.js +4 -5
- package/lib/instructions/transferVault.js +2 -3
- package/lib/instructions/updateReferralAccount.js +6 -7
- package/lib/instructions/updateReferralState.js +6 -7
- package/lib/instructions/updateVaultType.js +5 -6
- package/lib/instructions/withdrawStakingPool.js +14 -15
- package/lib/instructions/withdrawVault.js +8 -9
- package/lib/state/VaultAccount.js +22 -8
- package/lib/state/VaultHistoryEvent.js +2 -2
- package/lib/utils/Errors.js +2 -3
- package/lib/utils/getLinkedListAccounts.js +2 -3
- package/lib/utils/sendAndConfirmWithDebug.js +1 -1
- package/package.json +9 -8
- package/src/{Constants.ts → HedgeConstants.ts} +13 -43
- package/src/idl/vault.ts +2382 -3750
- package/src/index.ts +3 -10
- package/src/instructions/claimLiquidationPoolPosition.ts +2 -2
- package/src/instructions/claimStakingPoolPosition.ts +2 -2
- package/src/instructions/closeClaimedLiquidationPoolPosition.ts +1 -1
- package/src/instructions/closeLiquidationPoolPosition.ts +2 -2
- package/src/instructions/createReferralAccount.ts +11 -15
- package/src/instructions/createStakingPool.ts +11 -4
- package/src/instructions/createUserReferralAccount.ts +2 -2
- package/src/instructions/createVault.ts +2 -2
- package/src/instructions/depositLiquidationPool.ts +2 -2
- package/src/instructions/depositStakingPool.ts +2 -2
- package/src/instructions/depositVault.ts +2 -2
- package/src/instructions/initHedgeFoundation.ts +2 -2
- package/src/instructions/initHedgeFoundationTokens.ts +2 -2
- package/src/instructions/liquidateVault.ts +29 -39
- package/src/instructions/loanVault.ts +23 -36
- package/src/instructions/psmEditAccount.ts +3 -3
- package/src/instructions/psmMintUsh.ts +3 -3
- package/src/instructions/psmRedeemUsh.ts +3 -3
- package/src/instructions/redeemVault.ts +2 -2
- package/src/instructions/referralClaimFees.ts +12 -18
- package/src/instructions/refreshOraclePrice.ts +4 -4
- package/src/instructions/repayVault.ts +2 -2
- package/src/instructions/setHalted.ts +2 -2
- package/src/instructions/transferVault.ts +1 -1
- package/src/instructions/updateReferralAccount.ts +2 -2
- package/src/instructions/updateReferralState.ts +2 -2
- package/src/instructions/updateVaultType.ts +2 -2
- package/src/instructions/withdrawStakingPool.ts +2 -2
- package/src/instructions/withdrawVault.ts +2 -2
- package/src/utils/Errors.ts +1 -1
- package/src/utils/getLinkedListAccounts.ts +1 -1
- package/declarations/instructions/adminWithdrawCol.d.ts +0 -5
- package/declarations/instructions/adminWithdrawUsh.d.ts +0 -5
- package/declarations/instructions/createCompoundStakingPool.d.ts +0 -5
- package/declarations/instructions/createCompoundStakingPoolPosition.d.ts +0 -6
- package/declarations/instructions/depositCompoundStakingPoolPosition.d.ts +0 -6
- package/declarations/instructions/depositRewardsToCompoundPool.d.ts +0 -6
- package/declarations/instructions/setCompoundPoolActive.d.ts +0 -5
- package/declarations/instructions/setDelegateWallet.d.ts +0 -5
- package/declarations/instructions/setVaultTypeStatus.d.ts +0 -4
- package/declarations/instructions/withdrawCompoundStakingPoolPosition.d.ts +0 -6
- package/declarations/utils/Sender.d.ts +0 -2
- package/lib/instructions/adminWithdrawCol.js +0 -60
- package/lib/instructions/adminWithdrawUsh.js +0 -57
- package/lib/instructions/createCompoundStakingPool.js +0 -58
- package/lib/instructions/createCompoundStakingPoolPosition.js +0 -56
- package/lib/instructions/depositCompoundStakingPoolPosition.js +0 -55
- package/lib/instructions/depositRewardsToCompoundPool.js +0 -64
- package/lib/instructions/setCompoundPoolActive.js +0 -43
- package/lib/instructions/setDelegateWallet.js +0 -43
- package/lib/instructions/setVaultTypeStatus.js +0 -38
- package/lib/instructions/withdrawCompoundStakingPoolPosition.js +0 -64
- package/lib/utils/Sender.js +0 -32
- package/src/instructions/adminWithdrawCol.ts +0 -87
- package/src/instructions/adminWithdrawUsh.ts +0 -78
- package/src/instructions/createCompoundStakingPool.ts +0 -63
- package/src/instructions/createCompoundStakingPoolPosition.ts +0 -85
- package/src/instructions/depositCompoundStakingPoolPosition.ts +0 -78
- package/src/instructions/depositRewardsToCompoundPool.ts +0 -110
- package/src/instructions/setCompoundPoolActive.ts +0 -51
- package/src/instructions/setDelegateWallet.ts +0 -51
- package/src/instructions/withdrawCompoundStakingPoolPosition.ts +0 -100
@@ -1,110 +0,0 @@
|
|
1
|
-
import { BN, Program, Provider } from '@project-serum/anchor'
|
2
|
-
import { ASSOCIATED_TOKEN_PROGRAM_ID, getOrCreateAssociatedTokenAccount, TOKEN_PROGRAM_ID } from '@solana/spl-token'
|
3
|
-
import {
|
4
|
-
Keypair,
|
5
|
-
PublicKey,
|
6
|
-
Signer,
|
7
|
-
SystemProgram,
|
8
|
-
SYSVAR_RENT_PUBKEY,
|
9
|
-
Transaction,
|
10
|
-
TransactionInstruction,
|
11
|
-
} from '@solana/web3.js'
|
12
|
-
import {
|
13
|
-
findAssociatedTokenAddress,
|
14
|
-
getCompoundPoolPublicKeyForMint,
|
15
|
-
getHedgeMintPublicKey,
|
16
|
-
getPoolPublicKeyForMint,
|
17
|
-
getUshMintPublicKey,
|
18
|
-
getVaultSystemStatePublicKey,
|
19
|
-
getVaultTypeAccountPublicKey,
|
20
|
-
} from '../Constants'
|
21
|
-
import { Vault } from '../idl/vault'
|
22
|
-
import { parseAnchorErrors } from '../utils/Errors'
|
23
|
-
import sendAndConfirmWithDebug from '../utils/sendAndConfirmWithDebug'
|
24
|
-
|
25
|
-
export async function depositRewardsToCompoundStakingPool(
|
26
|
-
program: Program<Vault>,
|
27
|
-
provider: Provider,
|
28
|
-
payer: Signer,
|
29
|
-
mintPublicKey: PublicKey,
|
30
|
-
depositAmount: number,
|
31
|
-
overrideStartTime?: number
|
32
|
-
): Promise<PublicKey> {
|
33
|
-
const history = Keypair.generate()
|
34
|
-
|
35
|
-
const [poolPublickey] = await getCompoundPoolPublicKeyForMint(program.programId, mintPublicKey)
|
36
|
-
const [poolStakingPublickey] = await getPoolPublicKeyForMint(program.programId, mintPublicKey)
|
37
|
-
|
38
|
-
const hedgeMintPublickey = await getHedgeMintPublicKey(program.programId)
|
39
|
-
|
40
|
-
const stakingPoolAccountObject = await program.account.stakingPool.fetch(poolStakingPublickey)
|
41
|
-
|
42
|
-
const payerAssociatedTokenAccount = await getOrCreateAssociatedTokenAccount(
|
43
|
-
provider.connection,
|
44
|
-
payer,
|
45
|
-
hedgeMintPublickey,
|
46
|
-
stakingPoolAccountObject.compoundPoolDelegateWallet
|
47
|
-
)
|
48
|
-
|
49
|
-
const transaction = new Transaction().add(
|
50
|
-
await depositRewardsToCompoundStakingPoolInstruction(
|
51
|
-
program,
|
52
|
-
payer.publicKey,
|
53
|
-
mintPublicKey,
|
54
|
-
history.publicKey,
|
55
|
-
new BN(depositAmount),
|
56
|
-
overrideStartTime
|
57
|
-
)
|
58
|
-
)
|
59
|
-
await sendAndConfirmWithDebug(provider.connection, transaction, [payer, history]).catch(parseAnchorErrors)
|
60
|
-
return poolPublickey
|
61
|
-
}
|
62
|
-
|
63
|
-
export async function depositRewardsToCompoundStakingPoolInstruction(
|
64
|
-
program: Program<Vault>,
|
65
|
-
payerPublicKey: PublicKey,
|
66
|
-
mintPublicKey: PublicKey,
|
67
|
-
historyPublicKey: PublicKey,
|
68
|
-
amount: BN,
|
69
|
-
overrideStartTime?: number
|
70
|
-
): Promise<TransactionInstruction> {
|
71
|
-
const vaultSystemStatePublicKey = await getVaultSystemStatePublicKey(program.programId)
|
72
|
-
const hedgeMintPublickey = await getHedgeMintPublicKey(program.programId)
|
73
|
-
|
74
|
-
const [poolPublickey, poolBump] = await getCompoundPoolPublicKeyForMint(program.programId, mintPublicKey)
|
75
|
-
|
76
|
-
const [poolStakingPublickey] = await getPoolPublicKeyForMint(program.programId, mintPublicKey)
|
77
|
-
|
78
|
-
const poolAssociatedHedgeTokenAccount = await findAssociatedTokenAddress(
|
79
|
-
program.programId,
|
80
|
-
poolPublickey,
|
81
|
-
hedgeMintPublickey
|
82
|
-
)
|
83
|
-
|
84
|
-
const payerAssociatedHedgeTokenAccount = await findAssociatedTokenAddress(
|
85
|
-
program.programId,
|
86
|
-
payerPublicKey,
|
87
|
-
hedgeMintPublickey
|
88
|
-
)
|
89
|
-
|
90
|
-
return await program.methods
|
91
|
-
.depositRewardsToCompoundPool(
|
92
|
-
amount,
|
93
|
-
new BN(overrideStartTime ?? Math.floor(Date.now() / 1000)) // override current time
|
94
|
-
)
|
95
|
-
.accounts({
|
96
|
-
payer: payerPublicKey,
|
97
|
-
vaultSystemState: vaultSystemStatePublicKey,
|
98
|
-
history: historyPublicKey,
|
99
|
-
compoundPool: poolPublickey,
|
100
|
-
pool: poolStakingPublickey,
|
101
|
-
stakedTokenMint: mintPublicKey,
|
102
|
-
hedgeMint: hedgeMintPublickey,
|
103
|
-
poolAssociatedHedgeAccount: poolAssociatedHedgeTokenAccount,
|
104
|
-
payerAssociatedHedgeAccount: payerAssociatedHedgeTokenAccount,
|
105
|
-
tokenProgram: TOKEN_PROGRAM_ID,
|
106
|
-
associatedTokenProgram: ASSOCIATED_TOKEN_PROGRAM_ID,
|
107
|
-
systemProgram: SystemProgram.programId,
|
108
|
-
})
|
109
|
-
.instruction()
|
110
|
-
}
|
@@ -1,51 +0,0 @@
|
|
1
|
-
import { Program, Provider } from '@project-serum/anchor'
|
2
|
-
import { PublicKey, Signer, Transaction, TransactionInstruction } from '@solana/web3.js'
|
3
|
-
import { getPoolPublicKeyForMint, getVaultSystemStatePublicKey } from '../Constants'
|
4
|
-
|
5
|
-
import { Vault } from '../idl/vault'
|
6
|
-
import { parseAnchorErrors } from '../utils/Errors'
|
7
|
-
import sendAndConfirmWithDebug from '../utils/sendAndConfirmWithDebug'
|
8
|
-
|
9
|
-
export async function setCompoundPoolActive(
|
10
|
-
program: Program<Vault>,
|
11
|
-
provider: Provider,
|
12
|
-
payer: Signer,
|
13
|
-
mintPublicKey: PublicKey,
|
14
|
-
setActive: boolean
|
15
|
-
): Promise<PublicKey> {
|
16
|
-
const vaultSystemStatePublicKey = await getVaultSystemStatePublicKey(program.programId)
|
17
|
-
const [poolPublickey] = await getPoolPublicKeyForMint(program.programId, mintPublicKey)
|
18
|
-
|
19
|
-
const transaction = new Transaction().add(
|
20
|
-
await setCompoundPoolActiveInstruction(
|
21
|
-
program,
|
22
|
-
vaultSystemStatePublicKey,
|
23
|
-
payer.publicKey,
|
24
|
-
poolPublickey,
|
25
|
-
mintPublicKey,
|
26
|
-
setActive
|
27
|
-
)
|
28
|
-
)
|
29
|
-
|
30
|
-
await sendAndConfirmWithDebug(provider.connection, transaction, [payer]).catch(parseAnchorErrors)
|
31
|
-
return poolPublickey
|
32
|
-
}
|
33
|
-
|
34
|
-
export async function setCompoundPoolActiveInstruction(
|
35
|
-
program: Program<Vault>,
|
36
|
-
vaultSystemStatePublicKey: PublicKey,
|
37
|
-
payerPublicKey: PublicKey,
|
38
|
-
poolPublicKey: PublicKey,
|
39
|
-
stakedTokenMintPublicKey: PublicKey,
|
40
|
-
setActive: boolean
|
41
|
-
): Promise<TransactionInstruction> {
|
42
|
-
return await program.methods
|
43
|
-
.setCompoundPoolActive(setActive)
|
44
|
-
.accounts({
|
45
|
-
payer: payerPublicKey,
|
46
|
-
vaultSystemState: vaultSystemStatePublicKey,
|
47
|
-
pool: poolPublicKey,
|
48
|
-
stakedTokenMint: stakedTokenMintPublicKey,
|
49
|
-
})
|
50
|
-
.instruction()
|
51
|
-
}
|
@@ -1,51 +0,0 @@
|
|
1
|
-
import { Program, Provider } from '@project-serum/anchor'
|
2
|
-
import { PublicKey, Signer, Transaction, TransactionInstruction } from '@solana/web3.js'
|
3
|
-
import { getPoolPublicKeyForMint, getVaultSystemStatePublicKey } from '../Constants'
|
4
|
-
|
5
|
-
import { Vault } from '../idl/vault'
|
6
|
-
import { parseAnchorErrors } from '../utils/Errors'
|
7
|
-
import sendAndConfirmWithDebug from '../utils/sendAndConfirmWithDebug'
|
8
|
-
|
9
|
-
export async function setDelegateWallet(
|
10
|
-
program: Program<Vault>,
|
11
|
-
provider: Provider,
|
12
|
-
payer: Signer,
|
13
|
-
mintPublicKey: PublicKey,
|
14
|
-
delegateWallet: PublicKey
|
15
|
-
): Promise<PublicKey> {
|
16
|
-
const vaultSystemStatePublicKey = await getVaultSystemStatePublicKey(program.programId)
|
17
|
-
const [poolPublickey] = await getPoolPublicKeyForMint(program.programId, mintPublicKey)
|
18
|
-
|
19
|
-
const transaction = new Transaction().add(
|
20
|
-
await setDelegateWalletInstruction(
|
21
|
-
program,
|
22
|
-
vaultSystemStatePublicKey,
|
23
|
-
payer.publicKey,
|
24
|
-
poolPublickey,
|
25
|
-
mintPublicKey,
|
26
|
-
delegateWallet
|
27
|
-
)
|
28
|
-
)
|
29
|
-
|
30
|
-
await sendAndConfirmWithDebug(provider.connection, transaction, [payer]).catch(parseAnchorErrors)
|
31
|
-
return delegateWallet
|
32
|
-
}
|
33
|
-
|
34
|
-
export async function setDelegateWalletInstruction(
|
35
|
-
program: Program<Vault>,
|
36
|
-
vaultSystemStatePublicKey: PublicKey,
|
37
|
-
payerPublicKey: PublicKey,
|
38
|
-
poolPublicKey: PublicKey,
|
39
|
-
stakedTokenMintPublicKey: PublicKey,
|
40
|
-
delegateWallet: PublicKey
|
41
|
-
): Promise<TransactionInstruction> {
|
42
|
-
return await program.methods
|
43
|
-
.setDelegateWallet(delegateWallet)
|
44
|
-
.accounts({
|
45
|
-
payer: payerPublicKey,
|
46
|
-
vaultSystemState: vaultSystemStatePublicKey,
|
47
|
-
pool: poolPublicKey,
|
48
|
-
stakedTokenMint: stakedTokenMintPublicKey,
|
49
|
-
})
|
50
|
-
.instruction()
|
51
|
-
}
|
@@ -1,100 +0,0 @@
|
|
1
|
-
import { BN, Program, Provider } from '@project-serum/anchor'
|
2
|
-
import { getOrCreateAssociatedTokenAccount, TOKEN_PROGRAM_ID } from '@solana/spl-token'
|
3
|
-
import { Keypair, PublicKey, Signer, SystemProgram, Transaction, TransactionInstruction } from '@solana/web3.js'
|
4
|
-
import {
|
5
|
-
findAssociatedTokenAddress,
|
6
|
-
getCompoundPoolPositionAddress,
|
7
|
-
getCompoundPoolPublicKeyForMint,
|
8
|
-
getHedgeMintPublicKey,
|
9
|
-
getPoolPublicKeyForMint,
|
10
|
-
getUshMintPublicKey,
|
11
|
-
getVaultSystemStatePublicKey,
|
12
|
-
} from '../Constants'
|
13
|
-
import { Vault } from '../idl/vault'
|
14
|
-
import { parseAnchorErrors } from '../utils/Errors'
|
15
|
-
import sendAndConfirmWithDebug from '../utils/sendAndConfirmWithDebug'
|
16
|
-
|
17
|
-
export async function withdrawCompoundStakingPoolPosition(
|
18
|
-
program: Program<Vault>,
|
19
|
-
provider: Provider,
|
20
|
-
payer: Signer,
|
21
|
-
poolPositionPublicKey: PublicKey,
|
22
|
-
stakedTokenMintPublicKey: PublicKey,
|
23
|
-
claimAmount: number,
|
24
|
-
overrideStartTime?: number
|
25
|
-
): Promise<PublicKey> {
|
26
|
-
const [poolPublickey, poolBump] = await getCompoundPoolPublicKeyForMint(program.programId, stakedTokenMintPublicKey)
|
27
|
-
|
28
|
-
const poolPosition = await getCompoundPoolPositionAddress(program.programId, poolPublickey, payer.publicKey)
|
29
|
-
|
30
|
-
const payerAssociatedTokenAccount = await getOrCreateAssociatedTokenAccount(
|
31
|
-
provider.connection,
|
32
|
-
payer,
|
33
|
-
stakedTokenMintPublicKey,
|
34
|
-
payer.publicKey
|
35
|
-
)
|
36
|
-
const transaction = new Transaction().add(
|
37
|
-
await withdrawCompoundStakingPoolPositionInstruction(
|
38
|
-
program,
|
39
|
-
payer.publicKey,
|
40
|
-
poolPositionPublicKey,
|
41
|
-
stakedTokenMintPublicKey,
|
42
|
-
new BN(claimAmount),
|
43
|
-
overrideStartTime
|
44
|
-
)
|
45
|
-
)
|
46
|
-
|
47
|
-
await sendAndConfirmWithDebug(provider.connection, transaction, [payer]).catch(parseAnchorErrors)
|
48
|
-
return payerAssociatedTokenAccount.address
|
49
|
-
}
|
50
|
-
|
51
|
-
export async function withdrawCompoundStakingPoolPositionInstruction(
|
52
|
-
program: Program<Vault>,
|
53
|
-
payerPublicKey: PublicKey,
|
54
|
-
poolPositionPublicKey: PublicKey,
|
55
|
-
stakedTokenMintPublicKey: PublicKey,
|
56
|
-
claimAmount: BN,
|
57
|
-
overrideStartTime?: number
|
58
|
-
): Promise<TransactionInstruction> {
|
59
|
-
const vaultSystemStatePublicKey = await getVaultSystemStatePublicKey(program.programId)
|
60
|
-
const ushMintPublickey = await getUshMintPublicKey(program.programId)
|
61
|
-
const hedgeMintPublickey = await getHedgeMintPublicKey(program.programId)
|
62
|
-
const [poolPublickey, poolBump] = await getCompoundPoolPublicKeyForMint(program.programId, stakedTokenMintPublicKey)
|
63
|
-
const poolAssociatedStakedTokenAccount = await findAssociatedTokenAddress(
|
64
|
-
program.programId,
|
65
|
-
poolPublickey,
|
66
|
-
stakedTokenMintPublicKey
|
67
|
-
)
|
68
|
-
const poolAssociatedUshTokenAccount = await findAssociatedTokenAddress(program.programId, poolPublickey, ushMintPublickey)
|
69
|
-
const payerAssociatedStakedTokenAccount = await findAssociatedTokenAddress(
|
70
|
-
program.programId,
|
71
|
-
payerPublicKey,
|
72
|
-
stakedTokenMintPublicKey
|
73
|
-
)
|
74
|
-
const payerAssociatedHedgeAccount = await findAssociatedTokenAddress(program.programId, payerPublicKey, hedgeMintPublickey)
|
75
|
-
const payerAssociatedUshAccount = await findAssociatedTokenAddress(program.programId, payerPublicKey, ushMintPublickey)
|
76
|
-
const communityHedgeTokenAccount = await findAssociatedTokenAddress(
|
77
|
-
program.programId,
|
78
|
-
vaultSystemStatePublicKey,
|
79
|
-
hedgeMintPublickey
|
80
|
-
)
|
81
|
-
|
82
|
-
return await program.methods
|
83
|
-
.withdrawCompoundStakingPoolPosition(
|
84
|
-
new BN(overrideStartTime ?? Math.floor(Date.now() / 1000)), // override current time
|
85
|
-
claimAmount //amount to be claimed
|
86
|
-
)
|
87
|
-
.accounts({
|
88
|
-
payer: payerPublicKey,
|
89
|
-
vaultSystemState: vaultSystemStatePublicKey,
|
90
|
-
pool: poolPublickey,
|
91
|
-
poolPosition: poolPositionPublicKey,
|
92
|
-
poolAssociatedStakedTokenAccount: poolAssociatedStakedTokenAccount,
|
93
|
-
payerAssociatedStakedTokenAccount: payerAssociatedStakedTokenAccount,
|
94
|
-
hedgeMint: hedgeMintPublickey,
|
95
|
-
stakedTokenMint: stakedTokenMintPublicKey,
|
96
|
-
tokenProgram: TOKEN_PROGRAM_ID,
|
97
|
-
systemProgram: SystemProgram.programId,
|
98
|
-
})
|
99
|
-
.instruction()
|
100
|
-
}
|