hedge-web3 0.1.34 → 0.1.35
Sign up to get free protection for your applications and to get access to all the features.
- package/declarations/Constants.d.ts +1 -1
- package/declarations/instructions/claimStakingPoolPosition.d.ts +2 -2
- package/lib/Constants.js +1 -1
- package/lib/instructions/claimStakingPoolPosition.js +4 -4
- package/lib/instructions/loanVault.js +2 -1
- package/package.json +1 -1
- package/src/Constants.ts +1 -1
- package/src/instructions/claimStakingPoolPosition.ts +4 -3
- package/src/instructions/loanVault.ts +2 -1
@@ -1,5 +1,5 @@
|
|
1
1
|
import { PublicKey } from '@solana/web3.js';
|
2
|
-
export declare const HEDGE_PROGRAM_ID = "
|
2
|
+
export declare const HEDGE_PROGRAM_ID = "HDG4FDos8fyrB79qMCe98gaFjNEy5kpxGNjMc5V8M6TJ";
|
3
3
|
export declare const HEDGE_PROGRAM_PUBLICKEY: PublicKey;
|
4
4
|
export declare const CHAINLINK_SOL_USD_ID = "FmAmfoyPXiA8Vhhe6MZTr3U6rZfEZ1ctEHay1ysqCqcf";
|
5
5
|
export declare const CHAINLINK_SOL_USD_PUBLICKEY: PublicKey;
|
@@ -1,5 +1,5 @@
|
|
1
|
-
import { Program } from '@project-serum/anchor';
|
1
|
+
import { Program, Provider } from '@project-serum/anchor';
|
2
2
|
import { PublicKey, Signer, TransactionInstruction } from '@solana/web3.js';
|
3
3
|
import { Vault } from 'idl/vault';
|
4
|
-
export declare function claimStakingPoolPosition(program: Program<Vault>, poolPosition: PublicKey, payer: Signer, collateralType: string): Promise<PublicKey>;
|
4
|
+
export declare function claimStakingPoolPosition(program: Program<Vault>, provider: Provider, poolPosition: PublicKey, payer: Signer, collateralType: string): Promise<PublicKey>;
|
5
5
|
export declare function claimStakingPoolPositionInstruction(program: Program<Vault>, feePool: PublicKey, feePoolAssociatedTokenAccount: PublicKey, stakedTokenMint: PublicKey, vaultTypeAccount: PublicKey, collateralMint: PublicKey, poolPosition: PublicKey, payer: PublicKey, payerAssociatedTokenAccount: PublicKey): Promise<TransactionInstruction>;
|
package/lib/Constants.js
CHANGED
@@ -12,7 +12,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.findAssociatedTokenAddress = exports.findVaultAddress = exports.getVaultTypeOracleAccountPublicKey = exports.getVaultTypeAccountPublicKey = exports.getPoolPublicKeyForMint = exports.getHedgeMintPublicKey = exports.getVaultSystemStatePublicKey = exports.getUshMintPublicKey = exports.getLiquidationPoolUshAccountPublicKey = exports.getLiquidationPoolStatePublicKey = exports.CHAINLINK_SOL_USD_PUBLICKEY = exports.CHAINLINK_SOL_USD_ID = exports.HEDGE_PROGRAM_PUBLICKEY = exports.HEDGE_PROGRAM_ID = void 0;
|
13
13
|
const spl_token_1 = require("@solana/spl-token");
|
14
14
|
const web3_js_1 = require("@solana/web3.js");
|
15
|
-
exports.HEDGE_PROGRAM_ID = '
|
15
|
+
exports.HEDGE_PROGRAM_ID = 'HDG4FDos8fyrB79qMCe98gaFjNEy5kpxGNjMc5V8M6TJ';
|
16
16
|
exports.HEDGE_PROGRAM_PUBLICKEY = new web3_js_1.PublicKey(exports.HEDGE_PROGRAM_ID);
|
17
17
|
exports.CHAINLINK_SOL_USD_ID = 'FmAmfoyPXiA8Vhhe6MZTr3U6rZfEZ1ctEHay1ysqCqcf';
|
18
18
|
exports.CHAINLINK_SOL_USD_PUBLICKEY = new web3_js_1.PublicKey(exports.CHAINLINK_SOL_USD_ID);
|
@@ -14,17 +14,17 @@ const spl_token_1 = require("@solana/spl-token");
|
|
14
14
|
const web3_js_1 = require("@solana/web3.js");
|
15
15
|
const Errors_1 = require("../utils/Errors");
|
16
16
|
const Constants_1 = require("../Constants");
|
17
|
-
function claimStakingPoolPosition(program, poolPosition, payer, collateralType) {
|
17
|
+
function claimStakingPoolPosition(program, provider, poolPosition, payer, collateralType) {
|
18
18
|
return __awaiter(this, void 0, void 0, function* () {
|
19
19
|
const vaultTypeAccount = yield (0, Constants_1.getVaultTypeAccountPublicKey)(collateralType);
|
20
20
|
const vaultTypeAccountInfo = yield program.account.vaultType.fetch(vaultTypeAccount);
|
21
21
|
const collateralMint = vaultTypeAccountInfo.collateralMint;
|
22
22
|
const stakedTokenMint = yield (0, Constants_1.getHedgeMintPublicKey)();
|
23
23
|
const [feePool] = yield (0, Constants_1.getPoolPublicKeyForMint)(stakedTokenMint);
|
24
|
-
const feePoolAssociatedTokenAccount = yield (0, spl_token_1.getOrCreateAssociatedTokenAccount)(
|
25
|
-
const payerAssociatedTokenAccount = yield (0, spl_token_1.getOrCreateAssociatedTokenAccount)(
|
24
|
+
const feePoolAssociatedTokenAccount = yield (0, spl_token_1.getOrCreateAssociatedTokenAccount)(provider.connection, payer, collateralMint, feePool, true);
|
25
|
+
const payerAssociatedTokenAccount = yield (0, spl_token_1.getOrCreateAssociatedTokenAccount)(provider.connection, payer, collateralMint, payer.publicKey);
|
26
26
|
const transaction = new web3_js_1.Transaction().add(yield claimStakingPoolPositionInstruction(program, feePool, feePoolAssociatedTokenAccount.address, stakedTokenMint, vaultTypeAccount, collateralMint, poolPosition, payer.publicKey, payerAssociatedTokenAccount.address));
|
27
|
-
yield (0, web3_js_1.sendAndConfirmTransaction)(
|
27
|
+
yield (0, web3_js_1.sendAndConfirmTransaction)(provider.connection, transaction, [payer]).catch(Errors_1.parseAnchorErrors);
|
28
28
|
return payerAssociatedTokenAccount.address;
|
29
29
|
});
|
30
30
|
}
|
@@ -15,6 +15,7 @@ const spl_token_1 = require("@solana/spl-token");
|
|
15
15
|
const web3_js_1 = require("@solana/web3.js");
|
16
16
|
const getLinkedListAccounts_1 = require("../utils/getLinkedListAccounts");
|
17
17
|
const Constants_1 = require("../Constants");
|
18
|
+
const Errors_1 = require("utils/Errors");
|
18
19
|
function loanVault(program, provider, payer, vaultPublicKey, loanAmount, overrideTime) {
|
19
20
|
return __awaiter(this, void 0, void 0, function* () {
|
20
21
|
const ushMintPublickey = yield (0, Constants_1.getUshMintPublicKey)();
|
@@ -27,7 +28,7 @@ function loanVault(program, provider, payer, vaultPublicKey, loanAmount, overrid
|
|
27
28
|
const [oldSmallerPublicKey, newSmallerPublicKey, newLargerPublicKey] = yield (0, getLinkedListAccounts_1.getLinkedListAccounts)(program, provider, vaultTypeAccountPublicKey, vaultPublicKey, 0, loanAmount, false, false);
|
28
29
|
const history = web3_js_1.Keypair.generate();
|
29
30
|
const transaction = new web3_js_1.Transaction().add(yield loanVaultInstruction(program, payer.publicKey, payerUshAccount.address, vaultPublicKey, vaultAssociatedTokenAccount.address, history.publicKey, vaultTypeAccountPublicKey, vaultTypeAssociatedTokenAccount.address, oldSmallerPublicKey, newSmallerPublicKey, newLargerPublicKey, loanAmount, overrideTime));
|
30
|
-
yield (0, web3_js_1.sendAndConfirmTransaction)(provider.connection, transaction, [payer, history]);
|
31
|
+
yield (0, web3_js_1.sendAndConfirmTransaction)(provider.connection, transaction, [payer, history]).catch(Errors_1.parseAnchorErrors);
|
31
32
|
return vaultPublicKey;
|
32
33
|
});
|
33
34
|
}
|
package/package.json
CHANGED
package/src/Constants.ts
CHANGED
@@ -4,7 +4,7 @@ import {
|
|
4
4
|
} from '@solana/spl-token'
|
5
5
|
import { PublicKey } from '@solana/web3.js'
|
6
6
|
|
7
|
-
export const HEDGE_PROGRAM_ID = '
|
7
|
+
export const HEDGE_PROGRAM_ID = 'HDG4FDos8fyrB79qMCe98gaFjNEy5kpxGNjMc5V8M6TJ'
|
8
8
|
export const HEDGE_PROGRAM_PUBLICKEY = new PublicKey(HEDGE_PROGRAM_ID)
|
9
9
|
|
10
10
|
export const CHAINLINK_SOL_USD_ID =
|
@@ -21,6 +21,7 @@ import { Vault } from 'idl/vault'
|
|
21
21
|
|
22
22
|
export async function claimStakingPoolPosition(
|
23
23
|
program: Program<Vault>,
|
24
|
+
provider: Provider,
|
24
25
|
poolPosition: PublicKey,
|
25
26
|
payer: Signer,
|
26
27
|
collateralType: string
|
@@ -31,14 +32,14 @@ export async function claimStakingPoolPosition(
|
|
31
32
|
const stakedTokenMint = await getHedgeMintPublicKey()
|
32
33
|
const [feePool] = await getPoolPublicKeyForMint(stakedTokenMint)
|
33
34
|
const feePoolAssociatedTokenAccount = await getOrCreateAssociatedTokenAccount(
|
34
|
-
|
35
|
+
provider.connection,
|
35
36
|
payer,
|
36
37
|
collateralMint,
|
37
38
|
feePool,
|
38
39
|
true
|
39
40
|
)
|
40
41
|
const payerAssociatedTokenAccount = await getOrCreateAssociatedTokenAccount(
|
41
|
-
|
42
|
+
provider.connection,
|
42
43
|
payer,
|
43
44
|
collateralMint,
|
44
45
|
payer.publicKey
|
@@ -57,7 +58,7 @@ export async function claimStakingPoolPosition(
|
|
57
58
|
payerAssociatedTokenAccount.address
|
58
59
|
)
|
59
60
|
)
|
60
|
-
await sendAndConfirmTransaction(
|
61
|
+
await sendAndConfirmTransaction(provider.connection, transaction, [payer]).catch(parseAnchorErrors)
|
61
62
|
return payerAssociatedTokenAccount.address
|
62
63
|
}
|
63
64
|
|
@@ -19,6 +19,7 @@ import {
|
|
19
19
|
getVaultSystemStatePublicKey,
|
20
20
|
} from '../Constants'
|
21
21
|
import { Vault } from 'idl/vault'
|
22
|
+
import { parseAnchorErrors } from 'utils/Errors'
|
22
23
|
|
23
24
|
export async function loanVault(
|
24
25
|
program: Program<Vault>,
|
@@ -84,7 +85,7 @@ export async function loanVault(
|
|
84
85
|
overrideTime
|
85
86
|
)
|
86
87
|
)
|
87
|
-
await sendAndConfirmTransaction(provider.connection, transaction, [payer, history])
|
88
|
+
await sendAndConfirmTransaction(provider.connection, transaction, [payer, history]).catch(parseAnchorErrors)
|
88
89
|
return vaultPublicKey
|
89
90
|
}
|
90
91
|
|