hedge-web3 0.2.18 → 0.2.21

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.
@@ -76,6 +76,10 @@ export declare type Vault = {
76
76
  "name": "maxDebtExtended";
77
77
  "type": "u64";
78
78
  },
79
+ {
80
+ "name": "emergencyModeThreshold";
81
+ "type": "u64";
82
+ },
79
83
  {
80
84
  "name": "canBeRedeemed";
81
85
  "type": "bool";
@@ -2794,6 +2798,18 @@ export declare type Vault = {
2794
2798
  "option": "u64";
2795
2799
  };
2796
2800
  },
2801
+ {
2802
+ "name": "interestRatePerSecond";
2803
+ "type": {
2804
+ "option": "u128";
2805
+ };
2806
+ },
2807
+ {
2808
+ "name": "emergencyModeThreshold";
2809
+ "type": {
2810
+ "option": "u64";
2811
+ };
2812
+ },
2797
2813
  {
2798
2814
  "name": "oracleChainlink";
2799
2815
  "type": {
@@ -0,0 +1,19 @@
1
+ /// <reference types="bn.js" />
2
+ import { BN, Program, Provider } from '@project-serum/anchor';
3
+ import { PublicKey, Signer, TransactionInstruction } from '@solana/web3.js';
4
+ import { Vault } from '../idl/vault';
5
+ export interface VaultTypeConfig {
6
+ maxDebtExtended?: BN;
7
+ minDebtPerVault?: BN;
8
+ loanInitFee?: BN;
9
+ emergencyModeThreshold?: BN;
10
+ oracleChainlink?: PublicKey;
11
+ oraclePyth?: PublicKey;
12
+ oracleSwitchboard?: PublicKey;
13
+ priorityPyth?: number;
14
+ priorityChainlink?: number;
15
+ prioritySwitchboard?: number;
16
+ deprecated?: boolean;
17
+ }
18
+ export declare function transferVault(program: Program<Vault>, provider: Provider, payer: Signer, vaultTypeAccount: PublicKey, oracleInfoAccount: PublicKey, config: VaultTypeConfig): Promise<PublicKey>;
19
+ export declare function transferVaultInstruction(program: Program<Vault>, vaultSystemStatePublicKey: PublicKey, payerPublicKey: PublicKey, vaultTypeAccount: PublicKey, oracleInfoAccount: PublicKey, vaultTypeConfig: VaultTypeConfig): Promise<TransactionInstruction>;
@@ -6,6 +6,8 @@ export interface VaultTypeConfig {
6
6
  maxDebtExtended?: BN;
7
7
  minDebtPerVault?: BN;
8
8
  loanInitFee?: BN;
9
+ interestRatePerSecond?: BN;
10
+ emergencyModeThreshold?: BN;
9
11
  oracleChainlink?: PublicKey;
10
12
  oraclePyth?: PublicKey;
11
13
  oracleSwitchboard?: PublicKey;
package/lib/idl/vault.js CHANGED
@@ -79,6 +79,10 @@ exports.IDL = {
79
79
  "name": "maxDebtExtended",
80
80
  "type": "u64"
81
81
  },
82
+ {
83
+ "name": "emergencyModeThreshold",
84
+ "type": "u64"
85
+ },
82
86
  {
83
87
  "name": "canBeRedeemed",
84
88
  "type": "bool"
@@ -2797,6 +2801,18 @@ exports.IDL = {
2797
2801
  "option": "u64"
2798
2802
  }
2799
2803
  },
2804
+ {
2805
+ "name": "interestRatePerSecond",
2806
+ "type": {
2807
+ "option": "u128"
2808
+ }
2809
+ },
2810
+ {
2811
+ "name": "emergencyModeThreshold",
2812
+ "type": {
2813
+ "option": "u64"
2814
+ }
2815
+ },
2800
2816
  {
2801
2817
  "name": "oracleChainlink",
2802
2818
  "type": {
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.transferVaultInstruction = exports.transferVault = void 0;
16
+ const web3_js_1 = require("@solana/web3.js");
17
+ const Constants_1 = require("../Constants");
18
+ const sendAndConfirmWithDebug_1 = __importDefault(require("../utils/sendAndConfirmWithDebug"));
19
+ function transferVault(program, provider, payer, vaultTypeAccount, oracleInfoAccount, config) {
20
+ return __awaiter(this, void 0, void 0, function* () {
21
+ const vaultSystemStatePublicKey = yield (0, Constants_1.getVaultSystemStatePublicKey)();
22
+ const transaction = new web3_js_1.Transaction().add(yield transferVaultInstruction(program, vaultSystemStatePublicKey, payer.publicKey, vaultTypeAccount, oracleInfoAccount, config));
23
+ yield (0, sendAndConfirmWithDebug_1.default)(provider.connection, transaction, [payer]);
24
+ return vaultSystemStatePublicKey;
25
+ });
26
+ }
27
+ exports.transferVault = transferVault;
28
+ function transferVaultInstruction(program, vaultSystemStatePublicKey, payerPublicKey, vaultTypeAccount, oracleInfoAccount, vaultTypeConfig) {
29
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
30
+ return __awaiter(this, void 0, void 0, function* () {
31
+ const config = {
32
+ maxDebtExtended: (_a = vaultTypeConfig.maxDebtExtended) !== null && _a !== void 0 ? _a : null,
33
+ minDebtPerVault: (_b = vaultTypeConfig.minDebtPerVault) !== null && _b !== void 0 ? _b : null,
34
+ loanInitFee: (_c = vaultTypeConfig.loanInitFee) !== null && _c !== void 0 ? _c : null,
35
+ emergencyModeThreshold: (_d = vaultTypeConfig.emergencyModeThreshold) !== null && _d !== void 0 ? _d : null,
36
+ oracleChainlink: (_e = vaultTypeConfig.oracleChainlink) !== null && _e !== void 0 ? _e : null,
37
+ oraclePyth: (_f = vaultTypeConfig.oraclePyth) !== null && _f !== void 0 ? _f : null,
38
+ oracleSwitchboard: (_g = vaultTypeConfig.oracleSwitchboard) !== null && _g !== void 0 ? _g : null,
39
+ deprecated: (_h = vaultTypeConfig.deprecated) !== null && _h !== void 0 ? _h : null,
40
+ priorityPyth: (_j = vaultTypeConfig.priorityPyth) !== null && _j !== void 0 ? _j : null,
41
+ priorityChainlink: (_k = vaultTypeConfig.priorityChainlink) !== null && _k !== void 0 ? _k : null,
42
+ prioritySwitchboard: (_l = vaultTypeConfig.prioritySwitchboard) !== null && _l !== void 0 ? _l : null,
43
+ };
44
+ return yield program.methods
45
+ .updateVaultType(config)
46
+ .accounts({
47
+ payer: payerPublicKey,
48
+ vaultSystemState: vaultSystemStatePublicKey,
49
+ vaultType: vaultTypeAccount,
50
+ oracleInfoAccount: oracleInfoAccount,
51
+ })
52
+ .instruction();
53
+ });
54
+ }
55
+ exports.transferVaultInstruction = transferVaultInstruction;
@@ -26,19 +26,21 @@ function updateVaultType(program, provider, payer, vaultTypeAccount, oracleInfoA
26
26
  }
27
27
  exports.updateVaultType = updateVaultType;
28
28
  function updateVaultTypeStatusInstruction(program, vaultSystemStatePublicKey, payerPublicKey, vaultTypeAccount, oracleInfoAccount, vaultTypeConfig) {
29
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
29
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
30
30
  return __awaiter(this, void 0, void 0, function* () {
31
31
  const config = {
32
32
  maxDebtExtended: (_a = vaultTypeConfig.maxDebtExtended) !== null && _a !== void 0 ? _a : null,
33
33
  minDebtPerVault: (_b = vaultTypeConfig.minDebtPerVault) !== null && _b !== void 0 ? _b : null,
34
34
  loanInitFee: (_c = vaultTypeConfig.loanInitFee) !== null && _c !== void 0 ? _c : null,
35
- oracleChainlink: (_d = vaultTypeConfig.oracleChainlink) !== null && _d !== void 0 ? _d : null,
36
- oraclePyth: (_e = vaultTypeConfig.oraclePyth) !== null && _e !== void 0 ? _e : null,
37
- oracleSwitchboard: (_f = vaultTypeConfig.oracleSwitchboard) !== null && _f !== void 0 ? _f : null,
38
- deprecated: (_g = vaultTypeConfig.deprecated) !== null && _g !== void 0 ? _g : null,
39
- priorityPyth: (_h = vaultTypeConfig.priorityPyth) !== null && _h !== void 0 ? _h : null,
40
- priorityChainlink: (_j = vaultTypeConfig.priorityChainlink) !== null && _j !== void 0 ? _j : null,
41
- prioritySwitchboard: (_k = vaultTypeConfig.prioritySwitchboard) !== null && _k !== void 0 ? _k : null,
35
+ interestRatePerSecond: (_d = vaultTypeConfig.interestRatePerSecond) !== null && _d !== void 0 ? _d : null,
36
+ emergencyModeThreshold: (_e = vaultTypeConfig.emergencyModeThreshold) !== null && _e !== void 0 ? _e : null,
37
+ oracleChainlink: (_f = vaultTypeConfig.oracleChainlink) !== null && _f !== void 0 ? _f : null,
38
+ oraclePyth: (_g = vaultTypeConfig.oraclePyth) !== null && _g !== void 0 ? _g : null,
39
+ oracleSwitchboard: (_h = vaultTypeConfig.oracleSwitchboard) !== null && _h !== void 0 ? _h : null,
40
+ deprecated: (_j = vaultTypeConfig.deprecated) !== null && _j !== void 0 ? _j : null,
41
+ priorityPyth: (_k = vaultTypeConfig.priorityPyth) !== null && _k !== void 0 ? _k : null,
42
+ priorityChainlink: (_l = vaultTypeConfig.priorityChainlink) !== null && _l !== void 0 ? _l : null,
43
+ prioritySwitchboard: (_m = vaultTypeConfig.prioritySwitchboard) !== null && _m !== void 0 ? _m : null,
42
44
  };
43
45
  return yield program.methods
44
46
  .updateVaultType(config)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hedge-web3",
3
- "version": "0.2.18",
3
+ "version": "0.2.21",
4
4
  "description": "Hedge Javascript Web3 API",
5
5
  "main": "lib/index.js",
6
6
  "types": "declarations/index.d.ts",
package/src/idl/vault.ts CHANGED
@@ -76,6 +76,10 @@ export type Vault = {
76
76
  "name": "maxDebtExtended",
77
77
  "type": "u64"
78
78
  },
79
+ {
80
+ "name": "emergencyModeThreshold",
81
+ "type": "u64"
82
+ },
79
83
  {
80
84
  "name": "canBeRedeemed",
81
85
  "type": "bool"
@@ -2794,6 +2798,18 @@ export type Vault = {
2794
2798
  "option": "u64"
2795
2799
  }
2796
2800
  },
2801
+ {
2802
+ "name": "interestRatePerSecond",
2803
+ "type": {
2804
+ "option": "u128"
2805
+ }
2806
+ },
2807
+ {
2808
+ "name": "emergencyModeThreshold",
2809
+ "type": {
2810
+ "option": "u64"
2811
+ }
2812
+ },
2797
2813
  {
2798
2814
  "name": "oracleChainlink",
2799
2815
  "type": {
@@ -3325,6 +3341,10 @@ export const IDL: Vault = {
3325
3341
  "name": "maxDebtExtended",
3326
3342
  "type": "u64"
3327
3343
  },
3344
+ {
3345
+ "name": "emergencyModeThreshold",
3346
+ "type": "u64"
3347
+ },
3328
3348
  {
3329
3349
  "name": "canBeRedeemed",
3330
3350
  "type": "bool"
@@ -6043,6 +6063,18 @@ export const IDL: Vault = {
6043
6063
  "option": "u64"
6044
6064
  }
6045
6065
  },
6066
+ {
6067
+ "name": "interestRatePerSecond",
6068
+ "type": {
6069
+ "option": "u128"
6070
+ }
6071
+ },
6072
+ {
6073
+ "name": "emergencyModeThreshold",
6074
+ "type": {
6075
+ "option": "u64"
6076
+ }
6077
+ },
6046
6078
  {
6047
6079
  "name": "oracleChainlink",
6048
6080
  "type": {
@@ -28,6 +28,9 @@ export interface VaultTypeConfig {
28
28
  maxDebtExtended?: BN
29
29
  minDebtPerVault?: BN
30
30
  loanInitFee?: BN
31
+ interestRatePerSecond?: BN
32
+
33
+ emergencyModeThreshold?: BN
31
34
 
32
35
  oracleChainlink?: PublicKey
33
36
  oraclePyth?: PublicKey
@@ -76,6 +79,8 @@ export async function updateVaultTypeStatusInstruction(
76
79
  maxDebtExtended: vaultTypeConfig.maxDebtExtended ?? null,
77
80
  minDebtPerVault: vaultTypeConfig.minDebtPerVault ?? null,
78
81
  loanInitFee: vaultTypeConfig.loanInitFee ?? null,
82
+ interestRatePerSecond: vaultTypeConfig.interestRatePerSecond ?? null,
83
+ emergencyModeThreshold: vaultTypeConfig.emergencyModeThreshold ?? null,
79
84
  oracleChainlink: vaultTypeConfig.oracleChainlink ?? null,
80
85
  oraclePyth: vaultTypeConfig.oraclePyth ?? null,
81
86
  oracleSwitchboard: vaultTypeConfig.oracleSwitchboard ?? null,