@perena/bankineco-sdk 1.0.150 → 1.0.151

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.
@@ -1,4 +1,4 @@
1
- import { Commitment, Connection, PublicKey } from "@solana/web3.js";
1
+ import { Connection, PublicKey } from "@solana/web3.js";
2
2
  /**
3
3
  * PRIME NAV = vaulted wYLDS / PRIME supply (on-chain, no DEX).
4
4
  * wYLDS/USDC = 1.00 (vault mint parity) → NAV is USDC per PRIME.
@@ -6,27 +6,13 @@ import { Commitment, Connection, PublicKey } from "@solana/web3.js";
6
6
  * @see https://hastra.io/proof-of-reserves
7
7
  */
8
8
  export declare const HASTRA_VAULT_STAKE_PROGRAM_ID: PublicKey;
9
- export interface HastraPrimeNav {
10
- stakeProgramId: PublicKey;
11
- stakeConfig: PublicKey;
12
- vaultTokenAccount: PublicKey;
13
- vaultMint: PublicKey;
14
- stakeMint: PublicKey;
15
- vaultedWyldsRaw: bigint;
16
- primeSupplyRaw: bigint;
17
- vaultedWyldsUi: number;
18
- primeSupplyUi: number;
19
- /** PRIME price in USDC (wYLDS/USDC = 1). Same as https://hastra.io/proof-of-reserves */
20
- primeNavUsdc: number;
21
- }
22
9
  /**
23
10
  * PRIME price (NAV) from on-chain data: **vaulted wYLDS / PRIME supply**.
24
11
  * With wYLDS/USDC = 1.00 this is dollars per PRIME.
12
+ *
13
+ * @see https://hastra.io/proof-of-reserves
25
14
  */
26
- export declare function fetchHastraPrimeNav(connection: Connection, options?: {
27
- stakeProgramId?: PublicKey;
28
- commitment?: Commitment;
29
- }): Promise<HastraPrimeNav>;
30
- /** Returns the PRIME price in USDC (wYLDS/USDC = 1). */
31
- export declare function getHastraPrimePrice(connection: Connection): Promise<number>;
15
+ export declare function getHastraPrimePrice(connection: Connection): Promise<{
16
+ primeNavUsdc: number;
17
+ }>;
32
18
  //# sourceMappingURL=hastraVaultStake.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"hastraVaultStake.d.ts","sourceRoot":"","sources":["../../src/utils/hastraVaultStake.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAGpE;;;;;GAKG;AAEH,eAAO,MAAM,6BAA6B,WAEzC,CAAC;AAWF,MAAM,WAAW,cAAc;IAC7B,cAAc,EAAE,SAAS,CAAC;IAC1B,WAAW,EAAE,SAAS,CAAC;IACvB,iBAAiB,EAAE,SAAS,CAAC;IAC7B,SAAS,EAAE,SAAS,CAAC;IACrB,SAAS,EAAE,SAAS,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,wFAAwF;IACxF,YAAY,EAAE,MAAM,CAAC;CACtB;AA2CD;;;GAGG;AACH,wBAAsB,mBAAmB,CACvC,UAAU,EAAE,UAAU,EACtB,OAAO,CAAC,EAAE;IACR,cAAc,CAAC,EAAE,SAAS,CAAC;IAC3B,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB,GACA,OAAO,CAAC,cAAc,CAAC,CA0CzB;AAED,wDAAwD;AACxD,wBAAsB,mBAAmB,CACvC,UAAU,EAAE,UAAU,GACrB,OAAO,CAAC,MAAM,CAAC,CAGjB"}
1
+ {"version":3,"file":"hastraVaultStake.d.ts","sourceRoot":"","sources":["../../src/utils/hastraVaultStake.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAGxD;;;;;GAKG;AAEH,eAAO,MAAM,6BAA6B,WAEzC,CAAC;AAqDF;;;;;GAKG;AACH,wBAAsB,mBAAmB,CACvC,UAAU,EAAE,UAAU,GACrB,OAAO,CAAC;IAAE,YAAY,EAAE,MAAM,CAAA;CAAE,CAAC,CA2BnC"}
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.HASTRA_VAULT_STAKE_PROGRAM_ID = void 0;
4
- exports.fetchHastraPrimeNav = fetchHastraPrimeNav;
5
4
  exports.getHastraPrimePrice = getHastraPrimePrice;
6
5
  const node_crypto_1 = require("node:crypto");
7
6
  const web3_js_1 = require("@solana/web3.js");
@@ -51,13 +50,14 @@ function vtacPda(stakeConfig, programId) {
51
50
  /**
52
51
  * PRIME price (NAV) from on-chain data: **vaulted wYLDS / PRIME supply**.
53
52
  * With wYLDS/USDC = 1.00 this is dollars per PRIME.
53
+ *
54
+ * @see https://hastra.io/proof-of-reserves
54
55
  */
55
- async function fetchHastraPrimeNav(connection, options) {
56
- const programId = options?.stakeProgramId ?? exports.HASTRA_VAULT_STAKE_PROGRAM_ID;
57
- const commitment = options?.commitment ?? "confirmed";
56
+ async function getHastraPrimePrice(connection) {
57
+ const programId = exports.HASTRA_VAULT_STAKE_PROGRAM_ID;
58
58
  const stakeConfigKey = stakeConfigPda(programId);
59
59
  const vtacKey = vtacPda(stakeConfigKey, programId);
60
- const [cfgInfo, vtacInfo] = await connection.getMultipleAccountsInfo([stakeConfigKey, vtacKey], commitment);
60
+ const [cfgInfo, vtacInfo] = await connection.getMultipleAccountsInfo([stakeConfigKey, vtacKey], "confirmed");
61
61
  if (!cfgInfo?.data)
62
62
  throw new Error(`StakeConfig missing at ${stakeConfigKey.toBase58()}`);
63
63
  if (!vtacInfo?.data)
@@ -65,32 +65,14 @@ async function fetchHastraPrimeNav(connection, options) {
65
65
  const { vaultMint, stakeMint } = parseMintsFromStakeConfig(cfgInfo.data);
66
66
  const vaultTokenAccount = parseVaultTokenAccount(vtacInfo.data);
67
67
  const [vaultAcct, stakeMintInfo, vaultMintInfo] = await Promise.all([
68
- (0, spl_token_1.getAccount)(connection, vaultTokenAccount, commitment),
69
- (0, spl_token_1.getMint)(connection, stakeMint, commitment),
70
- (0, spl_token_1.getMint)(connection, vaultMint, commitment),
68
+ (0, spl_token_1.getAccount)(connection, vaultTokenAccount, "confirmed"),
69
+ (0, spl_token_1.getMint)(connection, stakeMint, "confirmed"),
70
+ (0, spl_token_1.getMint)(connection, vaultMint, "confirmed"),
71
71
  ]);
72
- const vaultedWyldsRaw = vaultAcct.amount;
73
- const primeSupplyRaw = stakeMintInfo.supply;
74
- const vaultedWyldsUi = Number(vaultedWyldsRaw) / 10 ** vaultMintInfo.decimals;
75
- const primeSupplyUi = Number(primeSupplyRaw) / 10 ** stakeMintInfo.decimals;
72
+ const vaultedWyldsUi = Number(vaultAcct.amount) / 10 ** vaultMintInfo.decimals;
73
+ const primeSupplyUi = Number(stakeMintInfo.supply) / 10 ** stakeMintInfo.decimals;
76
74
  if (primeSupplyUi <= 0)
77
75
  throw new Error("PRIME supply is zero");
78
- return {
79
- stakeProgramId: programId,
80
- stakeConfig: stakeConfigKey,
81
- vaultTokenAccount,
82
- vaultMint,
83
- stakeMint,
84
- vaultedWyldsRaw,
85
- primeSupplyRaw,
86
- vaultedWyldsUi,
87
- primeSupplyUi,
88
- primeNavUsdc: vaultedWyldsUi / primeSupplyUi,
89
- };
90
- }
91
- /** Returns the PRIME price in USDC (wYLDS/USDC = 1). */
92
- async function getHastraPrimePrice(connection) {
93
- const nav = await fetchHastraPrimeNav(connection);
94
- return nav.primeNavUsdc;
76
+ return { primeNavUsdc: vaultedWyldsUi / primeSupplyUi };
95
77
  }
96
78
  //# sourceMappingURL=hastraVaultStake.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"hastraVaultStake.js","sourceRoot":"","sources":["../../src/utils/hastraVaultStake.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hastraVaultStake.js","sourceRoot":"","sources":["../../src/utils/hastraVaultStake.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@perena/bankineco-sdk",
3
- "version": "1.0.150",
3
+ "version": "1.0.151",
4
4
  "description": "SDK for interacting with Bankineco program on Solana.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",