hedge-web3 0.2.33 → 0.3.2

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.
Files changed (153) hide show
  1. package/declarations/Constants.d.ts +0 -12
  2. package/declarations/HedgeConstants.d.ts +76 -0
  3. package/declarations/idl/pyth.d.ts +1 -1
  4. package/declarations/idl/switchboard.d.ts +1 -1
  5. package/declarations/idl/vault.d.ts +278 -1259
  6. package/declarations/index.d.ts +1 -12
  7. package/declarations/instructions/claimLiquidationPoolPosition.d.ts +1 -1
  8. package/declarations/instructions/claimStakingPoolPosition.d.ts +1 -1
  9. package/declarations/instructions/closeClaimedLiquidationPoolPosition.d.ts +1 -1
  10. package/declarations/instructions/closeLiquidationPoolPosition.d.ts +1 -1
  11. package/declarations/instructions/createReferralAccount.d.ts +1 -1
  12. package/declarations/instructions/createStakingPool.d.ts +1 -1
  13. package/declarations/instructions/createUserReferralAccount.d.ts +1 -1
  14. package/declarations/instructions/createVault.d.ts +1 -2
  15. package/declarations/instructions/depositLiquidationPool.d.ts +1 -2
  16. package/declarations/instructions/depositStakingPool.d.ts +1 -2
  17. package/declarations/instructions/depositVault.d.ts +1 -2
  18. package/declarations/instructions/initHedgeFoundation.d.ts +1 -1
  19. package/declarations/instructions/initHedgeFoundationTokens.d.ts +1 -1
  20. package/declarations/instructions/liquidateVault.d.ts +1 -1
  21. package/declarations/instructions/loanVault.d.ts +1 -2
  22. package/declarations/instructions/psmEditAccount.d.ts +1 -2
  23. package/declarations/instructions/psmMintUsh.d.ts +1 -2
  24. package/declarations/instructions/psmRedeemUsh.d.ts +1 -2
  25. package/declarations/instructions/redeemVault.d.ts +1 -2
  26. package/declarations/instructions/referralClaimFees.d.ts +1 -1
  27. package/declarations/instructions/refreshOraclePrice.d.ts +1 -1
  28. package/declarations/instructions/repayVault.d.ts +1 -2
  29. package/declarations/instructions/setHalted.d.ts +1 -1
  30. package/declarations/instructions/transferVault.d.ts +1 -1
  31. package/declarations/instructions/updateReferralAccount.d.ts +1 -2
  32. package/declarations/instructions/updateReferralState.d.ts +1 -2
  33. package/declarations/instructions/updateVaultType.d.ts +1 -2
  34. package/declarations/instructions/withdrawStakingPool.d.ts +1 -1
  35. package/declarations/instructions/withdrawVault.d.ts +1 -2
  36. package/declarations/state/VaultAccount.d.ts +2 -3
  37. package/declarations/utils/getLinkedListAccounts.d.ts +1 -2
  38. package/declarations/utils/sendAndConfirmWithDebug.d.ts +2 -2
  39. package/lib/Constants.js +14 -41
  40. package/lib/HedgeConstants.js +170 -0
  41. package/lib/HedgeDecimal.js +1 -2
  42. package/lib/StakingPools.js +5 -1
  43. package/lib/Vaults.js +5 -1
  44. package/lib/idl/vault.js +277 -1258
  45. package/lib/index.js +6 -13
  46. package/lib/instructions/claimLiquidationPoolPosition.js +7 -8
  47. package/lib/instructions/claimStakingPoolPosition.js +7 -8
  48. package/lib/instructions/closeClaimedLiquidationPoolPosition.js +2 -3
  49. package/lib/instructions/closeLiquidationPoolPosition.js +16 -17
  50. package/lib/instructions/createReferralAccount.js +10 -11
  51. package/lib/instructions/createStakingPool.js +10 -11
  52. package/lib/instructions/createUserReferralAccount.js +9 -10
  53. package/lib/instructions/createVault.js +35 -50
  54. package/lib/instructions/depositLiquidationPool.js +12 -13
  55. package/lib/instructions/depositStakingPool.js +8 -9
  56. package/lib/instructions/depositVault.js +15 -26
  57. package/lib/instructions/initHedgeFoundation.js +24 -13
  58. package/lib/instructions/initHedgeFoundationTokens.js +7 -8
  59. package/lib/instructions/liquidateVault.js +12 -19
  60. package/lib/instructions/loanVault.js +17 -24
  61. package/lib/instructions/psmEditAccount.js +11 -11
  62. package/lib/instructions/psmMintUsh.js +18 -19
  63. package/lib/instructions/psmRedeemUsh.js +18 -19
  64. package/lib/instructions/redeemVault.js +10 -12
  65. package/lib/instructions/referralClaimFees.js +9 -10
  66. package/lib/instructions/refreshOraclePrice.js +10 -10
  67. package/lib/instructions/repayVault.js +12 -13
  68. package/lib/instructions/setHalted.js +4 -5
  69. package/lib/instructions/transferVault.js +2 -3
  70. package/lib/instructions/updateReferralAccount.js +6 -7
  71. package/lib/instructions/updateReferralState.js +6 -7
  72. package/lib/instructions/updateVaultType.js +5 -6
  73. package/lib/instructions/withdrawStakingPool.js +14 -15
  74. package/lib/instructions/withdrawVault.js +10 -11
  75. package/lib/state/VaultAccount.js +23 -9
  76. package/lib/state/VaultHistoryEvent.js +2 -2
  77. package/lib/utils/Errors.js +2 -3
  78. package/lib/utils/getLinkedListAccounts.js +2 -3
  79. package/lib/utils/sendAndConfirmWithDebug.js +50 -14
  80. package/package.json +9 -8
  81. package/src/{Constants.ts → HedgeConstants.ts} +13 -43
  82. package/src/idl/vault.ts +2004 -3966
  83. package/src/index.ts +3 -12
  84. package/src/instructions/claimLiquidationPoolPosition.ts +2 -2
  85. package/src/instructions/claimStakingPoolPosition.ts +2 -2
  86. package/src/instructions/closeClaimedLiquidationPoolPosition.ts +1 -1
  87. package/src/instructions/closeLiquidationPoolPosition.ts +2 -2
  88. package/src/instructions/createReferralAccount.ts +11 -8
  89. package/src/instructions/createStakingPool.ts +11 -4
  90. package/src/instructions/createUserReferralAccount.ts +2 -2
  91. package/src/instructions/createVault.ts +26 -37
  92. package/src/instructions/depositLiquidationPool.ts +2 -2
  93. package/src/instructions/depositStakingPool.ts +2 -2
  94. package/src/instructions/depositVault.ts +24 -18
  95. package/src/instructions/initHedgeFoundation.ts +19 -4
  96. package/src/instructions/initHedgeFoundationTokens.ts +2 -2
  97. package/src/instructions/liquidateVault.ts +29 -39
  98. package/src/instructions/loanVault.ts +24 -37
  99. package/src/instructions/psmEditAccount.ts +3 -3
  100. package/src/instructions/psmMintUsh.ts +3 -3
  101. package/src/instructions/psmRedeemUsh.ts +3 -3
  102. package/src/instructions/redeemVault.ts +2 -3
  103. package/src/instructions/referralClaimFees.ts +11 -9
  104. package/src/instructions/refreshOraclePrice.ts +5 -5
  105. package/src/instructions/repayVault.ts +2 -2
  106. package/src/instructions/setHalted.ts +2 -2
  107. package/src/instructions/transferVault.ts +1 -1
  108. package/src/instructions/updateReferralAccount.ts +2 -2
  109. package/src/instructions/updateReferralState.ts +2 -2
  110. package/src/instructions/updateVaultType.ts +2 -2
  111. package/src/instructions/withdrawStakingPool.ts +2 -2
  112. package/src/instructions/withdrawVault.ts +4 -4
  113. package/src/state/VaultAccount.ts +1 -1
  114. package/src/utils/Errors.ts +1 -1
  115. package/src/utils/getLinkedListAccounts.ts +1 -1
  116. package/src/utils/sendAndConfirmWithDebug.ts +72 -23
  117. package/declarations/instructions/adminWithdrawCol.d.ts +0 -5
  118. package/declarations/instructions/adminWithdrawUsh.d.ts +0 -5
  119. package/declarations/instructions/compoundCreateReferralAccount.d.ts +0 -17
  120. package/declarations/instructions/compoundReferralClaimFees.d.ts +0 -16
  121. package/declarations/instructions/createCompoundStakingPool.d.ts +0 -5
  122. package/declarations/instructions/createCompoundStakingPoolPosition.d.ts +0 -6
  123. package/declarations/instructions/depositCompoundStakingPoolPosition.d.ts +0 -6
  124. package/declarations/instructions/depositRewardsToCompoundPool.d.ts +0 -6
  125. package/declarations/instructions/setCompoundPoolActive.d.ts +0 -5
  126. package/declarations/instructions/setDelegateWallet.d.ts +0 -5
  127. package/declarations/instructions/setVaultTypeStatus.d.ts +0 -4
  128. package/declarations/instructions/withdrawCompoundStakingPoolPosition.d.ts +0 -6
  129. package/declarations/utils/Sender.d.ts +0 -2
  130. package/lib/instructions/adminWithdrawCol.js +0 -60
  131. package/lib/instructions/adminWithdrawUsh.js +0 -57
  132. package/lib/instructions/compoundCreateReferralAccount.js +0 -83
  133. package/lib/instructions/compoundReferralClaimFees.js +0 -87
  134. package/lib/instructions/createCompoundStakingPool.js +0 -58
  135. package/lib/instructions/createCompoundStakingPoolPosition.js +0 -56
  136. package/lib/instructions/depositCompoundStakingPoolPosition.js +0 -55
  137. package/lib/instructions/depositRewardsToCompoundPool.js +0 -64
  138. package/lib/instructions/setCompoundPoolActive.js +0 -43
  139. package/lib/instructions/setDelegateWallet.js +0 -43
  140. package/lib/instructions/setVaultTypeStatus.js +0 -38
  141. package/lib/instructions/withdrawCompoundStakingPoolPosition.js +0 -64
  142. package/lib/utils/Sender.js +0 -32
  143. package/src/instructions/adminWithdrawCol.ts +0 -87
  144. package/src/instructions/adminWithdrawUsh.ts +0 -78
  145. package/src/instructions/compoundCreateReferralAccount.ts +0 -119
  146. package/src/instructions/compoundReferralClaimFees.ts +0 -151
  147. package/src/instructions/createCompoundStakingPool.ts +0 -63
  148. package/src/instructions/createCompoundStakingPoolPosition.ts +0 -85
  149. package/src/instructions/depositCompoundStakingPoolPosition.ts +0 -78
  150. package/src/instructions/depositRewardsToCompoundPool.ts +0 -110
  151. package/src/instructions/setCompoundPoolActive.ts +0 -51
  152. package/src/instructions/setDelegateWallet.ts +0 -51
  153. package/src/instructions/withdrawCompoundStakingPoolPosition.ts +0 -100
@@ -1,4 +1,4 @@
1
- export * from './Constants';
1
+ export * from './HedgeConstants';
2
2
  export * from './HedgeDecimal';
3
3
  export * from './idl/vault';
4
4
  export * from './instructions/claimLiquidationPoolPosition';
@@ -8,8 +8,6 @@ export * from './instructions/closeLiquidationPoolPosition';
8
8
  export * from './instructions/createReferralAccount';
9
9
  export * from './instructions/createStakingPool';
10
10
  export * from './instructions/createUserReferralAccount';
11
- export * from './instructions/compoundCreateReferralAccount';
12
- export * from './instructions/compoundReferralClaimFees';
13
11
  export * from './instructions/createVault';
14
12
  export * from './instructions/depositLiquidationPool';
15
13
  export * from './instructions/depositStakingPool';
@@ -26,15 +24,6 @@ export * from './instructions/refreshOraclePrice';
26
24
  export * from './instructions/repayVault';
27
25
  export * from './instructions/setHalted';
28
26
  export * from './instructions/transferVault';
29
- export * from './instructions/createCompoundStakingPool';
30
- export * from './instructions/createCompoundStakingPoolPosition';
31
- export * from './instructions/depositCompoundStakingPoolPosition';
32
- export * from './instructions/withdrawCompoundStakingPoolPosition';
33
- export * from './instructions/setDelegateWallet';
34
- export * from './instructions/setCompoundPoolActive';
35
- export * from './instructions/adminWithdrawCol';
36
- export * from './instructions/adminWithdrawUsh';
37
- export * from './instructions/depositRewardsToCompoundPool';
38
27
  export * from './instructions/updateReferralAccount';
39
28
  export * from './instructions/updateReferralState';
40
29
  export * from './instructions/updateVaultType';
@@ -1,4 +1,4 @@
1
- import { Program, Provider } from '@project-serum/anchor';
1
+ import { Program, Provider } from '@coral-xyz/anchor';
2
2
  import { PublicKey, Signer, TransactionInstruction } from '@solana/web3.js';
3
3
  import { Vault } from '../idl/vault';
4
4
  export declare function claimLiquidationPoolPosition(program: Program<Vault>, provider: Provider, poolPosition: PublicKey, payer: Signer, collateralType: string, overrideStartTime?: number): Promise<PublicKey>;
@@ -1,4 +1,4 @@
1
- import { Program, Provider } from '@project-serum/anchor';
1
+ import { Program, Provider } from '@coral-xyz/anchor';
2
2
  import { PublicKey, Signer, TransactionInstruction } from '@solana/web3.js';
3
3
  import { Vault } from '../idl/vault';
4
4
  export declare function claimStakingPoolPosition(program: Program<Vault>, provider: Provider, poolPosition: PublicKey, payer: Signer, collateralType: string): Promise<PublicKey>;
@@ -1,4 +1,4 @@
1
- import { Program, Provider } from '@project-serum/anchor';
1
+ import { Program, Provider } from '@coral-xyz/anchor';
2
2
  import { PublicKey, Signer, TransactionInstruction } from '@solana/web3.js';
3
3
  import { Vault } from '../idl/vault';
4
4
  export declare function closeClaimedLiquidationPoolPosition(program: Program<Vault>, provider: Provider, poolPosition: PublicKey, payer: Signer): Promise<PublicKey>;
@@ -1,4 +1,4 @@
1
- import { Program, Provider } from '@project-serum/anchor';
1
+ import { Program, Provider } from '@coral-xyz/anchor';
2
2
  import { PublicKey, Signer, TransactionInstruction } from '@solana/web3.js';
3
3
  import { Vault } from '../idl/vault';
4
4
  export declare function closeLiquidationPoolPosition(program: Program<Vault>, provider: Provider, poolPosition: PublicKey, payer: Signer, overrideStartTime?: number, referrer?: PublicKey): Promise<PublicKey>;
@@ -1,4 +1,4 @@
1
- import { Program, Provider } from '@project-serum/anchor';
1
+ import { Program, Provider } from '@coral-xyz/anchor';
2
2
  import { PublicKey, Signer, TransactionInstruction } from '@solana/web3.js';
3
3
  import { Vault } from '../idl/vault';
4
4
  /** @type {Function} - Creates a new referral account.
@@ -1,4 +1,4 @@
1
- import { Program, Provider } from '@project-serum/anchor';
1
+ import { Program, Provider } from '@coral-xyz/anchor';
2
2
  import { PublicKey, Signer, TransactionInstruction } from '@solana/web3.js';
3
3
  import { Vault } from '../idl/vault';
4
4
  export declare function createStakingPool(program: Program<Vault>, provider: Provider, payer: Signer, mintPublicKey: PublicKey, hedgeTokensToBeMinted: number, overrideStartTime?: number): Promise<PublicKey>;
@@ -1,4 +1,4 @@
1
- import { Program, Provider } from '@project-serum/anchor';
1
+ import { Program, Provider } from '@coral-xyz/anchor';
2
2
  import { PublicKey, Signer, TransactionInstruction } from '@solana/web3.js';
3
3
  import { Vault } from '../idl/vault';
4
4
  export declare function createUserReferralAccount(program: Program<Vault>, provider: Provider, payer: Signer, referrer?: PublicKey, overrideTime?: number): Promise<PublicKey>;
@@ -1,5 +1,4 @@
1
- /// <reference types="bn.js" />
2
- import { BN, Program, Provider } from '@project-serum/anchor';
1
+ import { BN, Program, Provider } from '@coral-xyz/anchor';
3
2
  import { PublicKey, Signer, Transaction, TransactionInstruction } from '@solana/web3.js';
4
3
  import { Vault } from '../idl/vault';
5
4
  export declare function createVault(program: Program<Vault>, provider: Provider, payer: Signer, collateralType: string, depositAmount: number, overrideTime?: number): Promise<PublicKey>;
@@ -1,5 +1,4 @@
1
- /// <reference types="bn.js" />
2
- import { BN, Program, Provider } from '@project-serum/anchor';
1
+ import { BN, Program, Provider } from '@coral-xyz/anchor';
3
2
  import { PublicKey, Signer, TransactionInstruction } from '@solana/web3.js';
4
3
  import { Vault } from '../idl/vault';
5
4
  export declare function depositLiquidationPool(program: Program<Vault>, provider: Provider, payer: Signer, depositAmount: number, overrideStartTime?: number, referrer?: PublicKey): Promise<PublicKey>;
@@ -1,5 +1,4 @@
1
- /// <reference types="bn.js" />
2
- import { BN, Program, Provider } from '@project-serum/anchor';
1
+ import { BN, Program, Provider } from '@coral-xyz/anchor';
3
2
  import { PublicKey, Signer, TransactionInstruction } from '@solana/web3.js';
4
3
  import { Vault } from '../idl/vault';
5
4
  export declare function depositStakingPool(program: Program<Vault>, provider: Provider, payer: Signer, mintPublicKey: PublicKey, depositAmount: number, overrideStartTime?: number): Promise<PublicKey>;
@@ -1,5 +1,4 @@
1
- /// <reference types="bn.js" />
2
- import { BN, Program, Provider } from '@project-serum/anchor';
1
+ import { BN, Program, Provider } from '@coral-xyz/anchor';
3
2
  import { PublicKey, Signer, TransactionInstruction } from '@solana/web3.js';
4
3
  import { Vault } from '../idl/vault';
5
4
  export declare function depositVault(program: Program<Vault>, provider: Provider, payer: Signer, vaultPublicKey: PublicKey, depositAmount: number, overrideTime?: number): Promise<PublicKey>;
@@ -1,4 +1,4 @@
1
- import { Program, Provider } from '@project-serum/anchor';
1
+ import { Program, Provider } from '@coral-xyz/anchor';
2
2
  import { PublicKey, Signer, TransactionInstruction } from '@solana/web3.js';
3
3
  import { Vault } from '../idl/vault';
4
4
  export declare function initHedgeFoundation(program: Program<Vault>, provider: Provider, payer: Signer): Promise<PublicKey>;
@@ -1,4 +1,4 @@
1
- import { Program, Provider } from '@project-serum/anchor';
1
+ import { Program, Provider } from '@coral-xyz/anchor';
2
2
  import { PublicKey, Signer, TransactionInstruction } from '@solana/web3.js';
3
3
  export declare function initHedgeFoundationTokens(program: Program, provider: Provider, payer: Signer): Promise<PublicKey>;
4
4
  export declare function initHedgeFoundationTokensInstruction(program: Program, payerPublicKey: PublicKey): Promise<TransactionInstruction>;
@@ -1,4 +1,4 @@
1
- import { Program, Provider } from '@project-serum/anchor';
1
+ import { Program, Provider } from '@coral-xyz/anchor';
2
2
  import { PublicKey, Signer, TransactionInstruction } from '@solana/web3.js';
3
3
  import { Vault } from '../idl/vault';
4
4
  export declare function liquidateVault(program: Program<Vault>, provider: Provider, payer: Signer, vaultPublicKey: PublicKey, overrideTime?: number): Promise<PublicKey>;
@@ -1,5 +1,4 @@
1
- /// <reference types="bn.js" />
2
- import { BN, Program, Provider } from '@project-serum/anchor';
1
+ import { BN, Program, Provider } from '@coral-xyz/anchor';
3
2
  import { PublicKey, Signer, TransactionInstruction } from '@solana/web3.js';
4
3
  import { Vault } from '../idl/vault';
5
4
  export declare function loanVault(program: Program<Vault>, provider: Provider, payer: Signer, vaultPublicKey: PublicKey, loanAmount: number, overrideTime?: number, referrer?: PublicKey): Promise<PublicKey>;
@@ -1,5 +1,4 @@
1
- /// <reference types="bn.js" />
2
- import { BN, Program, Provider } from '@project-serum/anchor';
1
+ import { BN, Program, Provider } from '@coral-xyz/anchor';
3
2
  import { PublicKey, Signer, TransactionInstruction } from '@solana/web3.js';
4
3
  import { Vault } from '../idl/vault';
5
4
  export declare enum psmStatus {
@@ -1,5 +1,4 @@
1
- /// <reference types="bn.js" />
2
- import { BN, Program, Provider } from '@project-serum/anchor';
1
+ import { BN, Program, Provider } from '@coral-xyz/anchor';
3
2
  import { PublicKey, Signer, TransactionInstruction } from '@solana/web3.js';
4
3
  import { Vault } from '../idl/vault';
5
4
  export declare function psmMintUsh(program: Program<Vault>, provider: Provider, payer: Signer, collateralMint: PublicKey, collateralAmount: number, overrideTime?: number, referrer?: PublicKey): Promise<PublicKey>;
@@ -1,5 +1,4 @@
1
- /// <reference types="bn.js" />
2
- import { BN, Program, Provider } from '@project-serum/anchor';
1
+ import { BN, Program, Provider } from '@coral-xyz/anchor';
3
2
  import { PublicKey, Signer, TransactionInstruction } from '@solana/web3.js';
4
3
  import { Vault } from '../idl/vault';
5
4
  export declare function psmRedeemUsh(program: Program<Vault>, provider: Provider, payer: Signer, collateralMint: PublicKey, ushAmount: number, overrideTime?: number, referrer?: PublicKey): Promise<PublicKey>;
@@ -1,5 +1,4 @@
1
- /// <reference types="bn.js" />
2
- import { BN, Program, Provider } from '@project-serum/anchor';
1
+ import { BN, Program, Provider } from '@coral-xyz/anchor';
3
2
  import { PublicKey, Signer, TransactionInstruction } from '@solana/web3.js';
4
3
  import { Vault } from '../idl/vault';
5
4
  export declare function redeemVault(program: Program<Vault>, provider: Provider, payer: Signer, vaultPublicKey: PublicKey, redeemAmount: number, transactionOverrideTime?: number): Promise<PublicKey>;
@@ -1,4 +1,4 @@
1
- import { Program, Provider } from '@project-serum/anchor';
1
+ import { Program, Provider } from '@coral-xyz/anchor';
2
2
  import { PublicKey, Signer, TransactionInstruction } from '@solana/web3.js';
3
3
  import { Vault } from '../idl/vault';
4
4
  /** @type {Function} - Allows a referrer to claims their fees.
@@ -1,4 +1,4 @@
1
- import { Program, Provider } from '@project-serum/anchor';
1
+ import { Program, Provider } from '@coral-xyz/anchor';
2
2
  import { Signer, TransactionInstruction, TransactionSignature } from '@solana/web3.js';
3
3
  import { Vault } from '../idl/vault';
4
4
  export declare function refreshOraclePrice(program: Program<Vault>, provider: Provider, payer: Signer, collateralType: string, network: Cluster, overridePrice?: number, overrideTime?: number): Promise<TransactionSignature | void>;
@@ -1,5 +1,4 @@
1
- /// <reference types="bn.js" />
2
- import { BN, Program, Provider } from '@project-serum/anchor';
1
+ import { BN, Program, Provider } from '@coral-xyz/anchor';
3
2
  import { PublicKey, Signer, TransactionInstruction } from '@solana/web3.js';
4
3
  import { Vault } from '../idl/vault';
5
4
  export declare function repayVault(program: Program<Vault>, provider: Provider, payer: Signer, vaultPublicKey: PublicKey, repayAmount: number, overrideTime?: number): Promise<PublicKey>;
@@ -1,4 +1,4 @@
1
- import { Program, Provider } from '@project-serum/anchor';
1
+ import { Program, Provider } from '@coral-xyz/anchor';
2
2
  import { PublicKey, Signer, TransactionInstruction } from '@solana/web3.js';
3
3
  import { Vault } from '../idl/vault';
4
4
  export declare function setHalted(program: Program<Vault>, provider: Provider, payer: Signer, halted: boolean): Promise<PublicKey>;
@@ -1,4 +1,4 @@
1
- import { Program, Provider } from '@project-serum/anchor';
1
+ import { Program, Provider } from '@coral-xyz/anchor';
2
2
  import { PublicKey, Signer, TransactionInstruction } from '@solana/web3.js';
3
3
  import { Vault } from '../idl/vault';
4
4
  export declare function transferVault(program: Program<Vault>, provider: Provider, payer: Signer, vaultPublicKey: PublicKey, vaultSystemStatePublicKey: PublicKey, vaultTypeAccount: PublicKey, newOwner: PublicKey): Promise<PublicKey>;
@@ -1,5 +1,4 @@
1
- /// <reference types="bn.js" />
2
- import { BN, Program, Provider } from '@project-serum/anchor';
1
+ import { BN, Program, Provider } from '@coral-xyz/anchor';
3
2
  import { PublicKey, Signer, TransactionInstruction } from '@solana/web3.js';
4
3
  import { Vault } from '../idl/vault';
5
4
  export interface ReferralAccountConfig {
@@ -1,5 +1,4 @@
1
- /// <reference types="bn.js" />
2
- import { BN, Program, Provider } from '@project-serum/anchor';
1
+ import { BN, Program, Provider } from '@coral-xyz/anchor';
3
2
  import { PublicKey, Signer, TransactionInstruction } from '@solana/web3.js';
4
3
  import { Vault } from '../idl/vault';
5
4
  export interface ReferralStateConfig {
@@ -1,5 +1,4 @@
1
- /// <reference types="bn.js" />
2
- import { BN, Program, Provider } from '@project-serum/anchor';
1
+ import { BN, Program, Provider } from '@coral-xyz/anchor';
3
2
  import { PublicKey, Signer, TransactionInstruction } from '@solana/web3.js';
4
3
  import { Vault } from '../idl/vault';
5
4
  export interface VaultTypeConfig {
@@ -1,4 +1,4 @@
1
- import { Program, Provider } from '@project-serum/anchor';
1
+ import { Program, Provider } from '@coral-xyz/anchor';
2
2
  import { PublicKey, Signer, TransactionInstruction } from '@solana/web3.js';
3
3
  import { Vault } from '../idl/vault';
4
4
  export declare function withdrawStakingPool(program: Program<Vault>, provider: Provider, payer: Signer, poolPositionPublicKey: PublicKey, stakedTokenMintPublicKey: PublicKey, overrideStartTime?: number): Promise<PublicKey>;
@@ -1,5 +1,4 @@
1
- /// <reference types="bn.js" />
2
- import { BN, Program, Provider } from '@project-serum/anchor';
1
+ import { BN, Program, Provider } from '@coral-xyz/anchor';
3
2
  import { PublicKey, Signer, TransactionInstruction } from '@solana/web3.js';
4
3
  import { Vault } from '../idl/vault';
5
4
  export declare function withdrawVault(program: Program<Vault>, provider: Provider, payer: Signer, vaultPublicKey: PublicKey, withdrawAmount: number, overrideTime?: number): Promise<PublicKey>;
@@ -1,9 +1,8 @@
1
- /// <reference types="node" />
2
1
  import { PublicKey } from '@solana/web3.js';
3
2
  import Decimal from 'decimal.js';
4
3
  import BN from 'bn.js';
5
4
  import VaultType from './VaultType';
6
- export declare type VaultAccountData = {
5
+ export type VaultAccountData = {
7
6
  vaultOwner: PublicKey;
8
7
  pdaSalt: string;
9
8
  deposited: BN;
@@ -116,5 +115,5 @@ export declare class VaultAccount {
116
115
  *
117
116
  * @returns Buffer of the encoded string
118
117
  */
119
- static getBufferForString(string: string): Buffer;
118
+ static getBufferForString(string: string): Buffer<ArrayBuffer>;
120
119
  }
@@ -1,5 +1,4 @@
1
- /// <reference types="bn.js" />
2
- import { BN, Program } from '@project-serum/anchor';
1
+ import { BN, Program } from '@coral-xyz/anchor';
3
2
  import { PublicKey } from '@solana/web3.js';
4
3
  import { Vault } from '../idl/vault';
5
4
  import { VaultAccount } from '../state/VaultAccount';
@@ -1,2 +1,2 @@
1
- import { Connection, Signer, Transaction, TransactionSignature } from '@solana/web3.js';
2
- export default function sendAndConfirmWithDebug(connection: Connection, transaction: Transaction, signers: Signer[]): Promise<TransactionSignature | void>;
1
+ import { Connection, Signer, Transaction, TransactionSignature, VersionedTransaction } from '@solana/web3.js';
2
+ export default function sendAndConfirmWithDebug(connection: Connection, transaction: Transaction | VersionedTransaction, signers: Signer[], computeUnits?: number): Promise<TransactionSignature | void>;
package/lib/Constants.js CHANGED
@@ -9,7 +9,20 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  });
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.findAssociatedTokenAddress = exports.findVaultAddress = exports.getVaultTypeOracleAccountPublicKey = exports.getVaultTypeAccountPublicKey = exports.getCompoundPoolPublicKeyForMint = exports.getPoolPublicKeyForMint = exports.getHedgeMintPublicKey = exports.getCompoundPoolPositionAddress = exports.getUserReferralAccountPublicKey = exports.getReferralAccountPublicKey = exports.getReferralStatePublicKey = exports.getVaultSystemStatePublicKey = exports.getUshMintPublicKey = exports.getLiquidationPoolUshAccountPublicKey = exports.getLiquidationPoolStatePublicKey = exports.CHAINLINK_PROGRAM_ID = exports.CHAINLINK_SOL_USD_PUBLICKEY = exports.CHAINLINK_SOL_USD_ID = void 0;
12
+ exports.CHAINLINK_PROGRAM_ID = exports.CHAINLINK_SOL_USD_PUBLICKEY = exports.CHAINLINK_SOL_USD_ID = void 0;
13
+ exports.getLiquidationPoolStatePublicKey = getLiquidationPoolStatePublicKey;
14
+ exports.getLiquidationPoolUshAccountPublicKey = getLiquidationPoolUshAccountPublicKey;
15
+ exports.getUshMintPublicKey = getUshMintPublicKey;
16
+ exports.getVaultSystemStatePublicKey = getVaultSystemStatePublicKey;
17
+ exports.getReferralStatePublicKey = getReferralStatePublicKey;
18
+ exports.getReferralAccountPublicKey = getReferralAccountPublicKey;
19
+ exports.getUserReferralAccountPublicKey = getUserReferralAccountPublicKey;
20
+ exports.getHedgeMintPublicKey = getHedgeMintPublicKey;
21
+ exports.getPoolPublicKeyForMint = getPoolPublicKeyForMint;
22
+ exports.getVaultTypeAccountPublicKey = getVaultTypeAccountPublicKey;
23
+ exports.getVaultTypeOracleAccountPublicKey = getVaultTypeOracleAccountPublicKey;
24
+ exports.findVaultAddress = findVaultAddress;
25
+ exports.findAssociatedTokenAddress = findAssociatedTokenAddress;
13
26
  const spl_token_1 = require("@solana/spl-token");
14
27
  const web3_js_1 = require("@solana/web3.js");
15
28
  exports.CHAINLINK_SOL_USD_ID = 'FmAmfoyPXiA8Vhhe6MZTr3U6rZfEZ1ctEHay1ysqCqcf';
@@ -25,7 +38,6 @@ function getLiquidationPoolStatePublicKey(hedgeProgramId) {
25
38
  return poolPublicKey;
26
39
  });
27
40
  }
28
- exports.getLiquidationPoolStatePublicKey = getLiquidationPoolStatePublicKey;
29
41
  /**
30
42
  *
31
43
  * @returns The liquidation pool ush account public key
@@ -36,7 +48,6 @@ function getLiquidationPoolUshAccountPublicKey(hedgeProgramId) {
36
48
  return poolPublicKey;
37
49
  });
38
50
  }
39
- exports.getLiquidationPoolUshAccountPublicKey = getLiquidationPoolUshAccountPublicKey;
40
51
  /**
41
52
  *
42
53
  * @returns The USH mint public key
@@ -47,7 +58,6 @@ function getUshMintPublicKey(hedgeProgramId) {
47
58
  return findMintPublicKey;
48
59
  });
49
60
  }
50
- exports.getUshMintPublicKey = getUshMintPublicKey;
51
61
  /**
52
62
  *
53
63
  * @returns The Vault System State public key
@@ -58,7 +68,6 @@ function getVaultSystemStatePublicKey(hedgeProgramId) {
58
68
  return publicKey;
59
69
  });
60
70
  }
61
- exports.getVaultSystemStatePublicKey = getVaultSystemStatePublicKey;
62
71
  /**
63
72
  *
64
73
  * @returns The Referral State public key
@@ -69,7 +78,6 @@ function getReferralStatePublicKey(hedgeProgramId) {
69
78
  return publicKey;
70
79
  });
71
80
  }
72
- exports.getReferralStatePublicKey = getReferralStatePublicKey;
73
81
  /**
74
82
  *
75
83
  * @returns The Referral State public key based off the owner's public key
@@ -81,7 +89,6 @@ function getReferralAccountPublicKey(hedgeProgramId, ownerPublicKey) {
81
89
  return publicKey;
82
90
  });
83
91
  }
84
- exports.getReferralAccountPublicKey = getReferralAccountPublicKey;
85
92
  /**
86
93
  *
87
94
  * @returns The user referral account public key based off the user's public key
@@ -93,20 +100,6 @@ function getUserReferralAccountPublicKey(hedgeProgramId, ownerPublicKey) {
93
100
  return publicKey;
94
101
  });
95
102
  }
96
- exports.getUserReferralAccountPublicKey = getUserReferralAccountPublicKey;
97
- /**
98
- *
99
- * @returns The compound pool position address for the given user
100
- */
101
- function getCompoundPoolPositionAddress(hedgeProgramId, poolPublicKey, ownerPublicKey) {
102
- return __awaiter(this, void 0, void 0, function* () {
103
- const strToEncode = poolPublicKey.toBuffer();
104
- const strToEncode2 = ownerPublicKey.toBuffer();
105
- const [compoundPoolPosition] = yield web3_js_1.PublicKey.findProgramAddress([strToEncode, strToEncode2], hedgeProgramId);
106
- return compoundPoolPosition;
107
- });
108
- }
109
- exports.getCompoundPoolPositionAddress = getCompoundPoolPositionAddress;
110
103
  /**
111
104
  *
112
105
  * @returns The HDG mint public key
@@ -117,7 +110,6 @@ function getHedgeMintPublicKey(hedgeProgramId) {
117
110
  return publicKey;
118
111
  });
119
112
  }
120
- exports.getHedgeMintPublicKey = getHedgeMintPublicKey;
121
113
  /**
122
114
  * Get the public key for any staking pool
123
115
  *
@@ -131,21 +123,6 @@ function getPoolPublicKeyForMint(hedgeProgramId, mintPublicKey) {
131
123
  return [publicKey, bump, strToEncode];
132
124
  });
133
125
  }
134
- exports.getPoolPublicKeyForMint = getPoolPublicKeyForMint;
135
- /**
136
- * Get the public key for any compound staking pool
137
- *
138
- * @param mintPublicKey Staked collateral mint public key
139
- * @returns the public key for that compound staking pool
140
- */
141
- function getCompoundPoolPublicKeyForMint(hedgeProgramId, mintPublicKey) {
142
- return __awaiter(this, void 0, void 0, function* () {
143
- const strToEncode = mintPublicKey.toBuffer();
144
- const [publicKey, bump] = yield web3_js_1.PublicKey.findProgramAddress([enc.encode('CompoundPoolV1'), strToEncode], hedgeProgramId);
145
- return [publicKey, bump];
146
- });
147
- }
148
- exports.getCompoundPoolPublicKeyForMint = getCompoundPoolPublicKeyForMint;
149
126
  /**
150
127
  *
151
128
  * @param collateralType String name of the collateral type (must be 16 chars)
@@ -157,7 +134,6 @@ function getVaultTypeAccountPublicKey(hedgeProgramId, collateralType) {
157
134
  return vaultTypeAccount;
158
135
  });
159
136
  }
160
- exports.getVaultTypeAccountPublicKey = getVaultTypeAccountPublicKey;
161
137
  /**
162
138
  *
163
139
  * @param collateralType String name of the collateral type (must be 16 chars)
@@ -169,7 +145,6 @@ function getVaultTypeOracleAccountPublicKey(hedgeProgramId, collateralType) {
169
145
  return vaultTypeOracleAccount;
170
146
  });
171
147
  }
172
- exports.getVaultTypeOracleAccountPublicKey = getVaultTypeOracleAccountPublicKey;
173
148
  /**
174
149
  * Vaults are stored in PDA accounts. Use this to get the address from a salt
175
150
  *
@@ -182,7 +157,6 @@ function findVaultAddress(hedgeProgramId, vaultSalt) {
182
157
  return vaultAddress;
183
158
  });
184
159
  }
185
- exports.findVaultAddress = findVaultAddress;
186
160
  /**
187
161
  *
188
162
  * @param walletAddress Owner public key
@@ -194,4 +168,3 @@ function findAssociatedTokenAddress(hedgeProgramId, walletAddress, tokenMintAddr
194
168
  return (yield web3_js_1.PublicKey.findProgramAddress([walletAddress.toBuffer(), spl_token_1.TOKEN_PROGRAM_ID.toBuffer(), tokenMintAddress.toBuffer()], spl_token_1.ASSOCIATED_TOKEN_PROGRAM_ID))[0];
195
169
  });
196
170
  }
197
- exports.findAssociatedTokenAddress = findAssociatedTokenAddress;
@@ -0,0 +1,170 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.CHAINLINK_PROGRAM_ID = exports.CHAINLINK_SOL_USD_PUBLICKEY = exports.CHAINLINK_SOL_USD_ID = void 0;
13
+ exports.getLiquidationPoolStatePublicKey = getLiquidationPoolStatePublicKey;
14
+ exports.getLiquidationPoolUshAccountPublicKey = getLiquidationPoolUshAccountPublicKey;
15
+ exports.getUshMintPublicKey = getUshMintPublicKey;
16
+ exports.getVaultSystemStatePublicKey = getVaultSystemStatePublicKey;
17
+ exports.getReferralStatePublicKey = getReferralStatePublicKey;
18
+ exports.getReferralAccountPublicKey = getReferralAccountPublicKey;
19
+ exports.getUserReferralAccountPublicKey = getUserReferralAccountPublicKey;
20
+ exports.getHedgeMintPublicKey = getHedgeMintPublicKey;
21
+ exports.getPoolPublicKeyForMint = getPoolPublicKeyForMint;
22
+ exports.getVaultTypeAccountPublicKey = getVaultTypeAccountPublicKey;
23
+ exports.getVaultTypeOracleAccountPublicKey = getVaultTypeOracleAccountPublicKey;
24
+ exports.findVaultAddress = findVaultAddress;
25
+ exports.findAssociatedTokenAddress = findAssociatedTokenAddress;
26
+ const spl_token_1 = require("@solana/spl-token");
27
+ const web3_js_1 = require("@solana/web3.js");
28
+ exports.CHAINLINK_SOL_USD_ID = 'FmAmfoyPXiA8Vhhe6MZTr3U6rZfEZ1ctEHay1ysqCqcf';
29
+ exports.CHAINLINK_SOL_USD_PUBLICKEY = new web3_js_1.PublicKey(exports.CHAINLINK_SOL_USD_ID);
30
+ exports.CHAINLINK_PROGRAM_ID = 'HEvSKofvBgfaexv23kMabbYqxasxU3mQ4ibBMEmJWHny';
31
+ const enc = new TextEncoder();
32
+ /**
33
+ * @returns The Liquidation pool public key
34
+ */
35
+ function getLiquidationPoolStatePublicKey(hedgeProgramId) {
36
+ return __awaiter(this, void 0, void 0, function* () {
37
+ const [poolPublicKey] = yield web3_js_1.PublicKey.findProgramAddressSync([enc.encode('LiquidationPoolStateV1')], hedgeProgramId);
38
+ return poolPublicKey;
39
+ });
40
+ }
41
+ /**
42
+ *
43
+ * @returns The liquidation pool ush account public key
44
+ */
45
+ function getLiquidationPoolUshAccountPublicKey(hedgeProgramId) {
46
+ return __awaiter(this, void 0, void 0, function* () {
47
+ const [poolPublicKey] = yield web3_js_1.PublicKey.findProgramAddressSync([enc.encode('LiquidationPoolUSHAccountV1')], hedgeProgramId);
48
+ return poolPublicKey;
49
+ });
50
+ }
51
+ /**
52
+ *
53
+ * @returns The USH mint public key
54
+ */
55
+ function getUshMintPublicKey(hedgeProgramId) {
56
+ return __awaiter(this, void 0, void 0, function* () {
57
+ const [findMintPublicKey] = yield web3_js_1.PublicKey.findProgramAddressSync([enc.encode('UshMintV1')], hedgeProgramId);
58
+ return findMintPublicKey;
59
+ });
60
+ }
61
+ /**
62
+ *
63
+ * @returns The Vault System State public key
64
+ */
65
+ function getVaultSystemStatePublicKey(hedgeProgramId) {
66
+ return __awaiter(this, void 0, void 0, function* () {
67
+ const [publicKey] = yield web3_js_1.PublicKey.findProgramAddressSync([enc.encode('VaultSystemStateV1')], hedgeProgramId);
68
+ return publicKey;
69
+ });
70
+ }
71
+ /**
72
+ *
73
+ * @returns The Referral State public key
74
+ */
75
+ function getReferralStatePublicKey(hedgeProgramId) {
76
+ return __awaiter(this, void 0, void 0, function* () {
77
+ const [publicKey] = yield web3_js_1.PublicKey.findProgramAddressSync([enc.encode('ReferralStateV1')], hedgeProgramId);
78
+ return publicKey;
79
+ });
80
+ }
81
+ /**
82
+ *
83
+ * @returns The Referral State public key based off the owner's public key
84
+ */
85
+ function getReferralAccountPublicKey(hedgeProgramId, ownerPublicKey) {
86
+ return __awaiter(this, void 0, void 0, function* () {
87
+ const strToEncode = ownerPublicKey.toBuffer(); //.substring(0, 28)
88
+ const [publicKey] = yield web3_js_1.PublicKey.findProgramAddressSync([enc.encode('refer_acct'), strToEncode], hedgeProgramId);
89
+ return publicKey;
90
+ });
91
+ }
92
+ /**
93
+ *
94
+ * @returns The user referral account public key based off the user's public key
95
+ */
96
+ function getUserReferralAccountPublicKey(hedgeProgramId, ownerPublicKey) {
97
+ return __awaiter(this, void 0, void 0, function* () {
98
+ const strToEncode = ownerPublicKey.toBuffer(); //.substring(0, 28)
99
+ const [publicKey] = yield web3_js_1.PublicKey.findProgramAddressSync([enc.encode('user_ref'), strToEncode], hedgeProgramId);
100
+ return publicKey;
101
+ });
102
+ }
103
+ /**
104
+ *
105
+ * @returns The HDG mint public key
106
+ */
107
+ function getHedgeMintPublicKey(hedgeProgramId) {
108
+ return __awaiter(this, void 0, void 0, function* () {
109
+ const [publicKey] = yield web3_js_1.PublicKey.findProgramAddressSync([enc.encode('HEDGEMintV1')], hedgeProgramId);
110
+ return publicKey;
111
+ });
112
+ }
113
+ /**
114
+ * Get the public key for any staking pool
115
+ *
116
+ * @param mintPublicKey Staked collateral mint public key
117
+ * @returns the public key for that staking pool
118
+ */
119
+ function getPoolPublicKeyForMint(hedgeProgramId, mintPublicKey) {
120
+ return __awaiter(this, void 0, void 0, function* () {
121
+ const strToEncode = mintPublicKey.toString().substring(0, 12);
122
+ const [publicKey, bump] = yield web3_js_1.PublicKey.findProgramAddressSync([enc.encode(strToEncode)], hedgeProgramId);
123
+ return [publicKey, bump, strToEncode];
124
+ });
125
+ }
126
+ /**
127
+ *
128
+ * @param collateralType String name of the collateral type (must be 16 chars)
129
+ * @returns The public key for that Vault Type account
130
+ */
131
+ function getVaultTypeAccountPublicKey(hedgeProgramId, collateralType) {
132
+ return __awaiter(this, void 0, void 0, function* () {
133
+ const [vaultTypeAccount] = yield web3_js_1.PublicKey.findProgramAddressSync([enc.encode(collateralType), enc.encode('State')], hedgeProgramId);
134
+ return vaultTypeAccount;
135
+ });
136
+ }
137
+ /**
138
+ *
139
+ * @param collateralType String name of the collateral type (must be 16 chars)
140
+ * @returns The public key for that Vault Type oracle info
141
+ */
142
+ function getVaultTypeOracleAccountPublicKey(hedgeProgramId, collateralType) {
143
+ return __awaiter(this, void 0, void 0, function* () {
144
+ const [vaultTypeOracleAccount] = yield web3_js_1.PublicKey.findProgramAddressSync([enc.encode(collateralType), enc.encode('Oracle')], hedgeProgramId);
145
+ return vaultTypeOracleAccount;
146
+ });
147
+ }
148
+ /**
149
+ * Vaults are stored in PDA accounts. Use this to get the address from a salt
150
+ *
151
+ * @param vaultSalt String salt for the vault (must be 8 chars)
152
+ * @returns The public key for that Vault Type oracle info
153
+ */
154
+ function findVaultAddress(hedgeProgramId, vaultSalt) {
155
+ return __awaiter(this, void 0, void 0, function* () {
156
+ const [vaultAddress] = yield web3_js_1.PublicKey.findProgramAddressSync([enc.encode('Vault'), enc.encode(vaultSalt)], hedgeProgramId);
157
+ return vaultAddress;
158
+ });
159
+ }
160
+ /**
161
+ *
162
+ * @param walletAddress Owner public key
163
+ * @param tokenMintAddress Token mint
164
+ * @returns The associated token account public key
165
+ */
166
+ function findAssociatedTokenAddress(hedgeProgramId, walletAddress, tokenMintAddress) {
167
+ return __awaiter(this, void 0, void 0, function* () {
168
+ return (web3_js_1.PublicKey.findProgramAddressSync([walletAddress.toBuffer(), spl_token_1.TOKEN_PROGRAM_ID.toBuffer(), tokenMintAddress.toBuffer()], spl_token_1.ASSOCIATED_TOKEN_PROGRAM_ID))[0];
169
+ });
170
+ }
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.DecimalFromU128 = void 0;
6
+ exports.DecimalFromU128 = DecimalFromU128;
7
7
  const decimal_js_1 = __importDefault(require("decimal.js"));
8
8
  /**
9
9
  * Convert a U128 to a Decimal
@@ -21,4 +21,3 @@ function DecimalFromU128(value) {
21
21
  const adjustedValue = new decimal_js_1.default(value.toString());
22
22
  return adjustedValue.div(new decimal_js_1.default('1e+18'));
23
23
  }
24
- exports.DecimalFromU128 = DecimalFromU128;