@perena/bankineco-sdk 1.0.148 → 1.0.149

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 +1 @@
1
- {"version":3,"file":"usdStarConfig.d.ts","sourceRoot":"","sources":["../../src/configs/usdStarConfig.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,UAAU,EAAgB,MAAM,UAAU,CAAC;AA8DpD,eAAO,MAAM,eAAe,EAAE,UAkC7B,CAAC"}
1
+ {"version":3,"file":"usdStarConfig.d.ts","sourceRoot":"","sources":["../../src/configs/usdStarConfig.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,UAAU,EAAgB,MAAM,UAAU,CAAC;AAkEpD,eAAO,MAAM,eAAe,EAAE,UAkC7B,CAAC"}
@@ -94,6 +94,10 @@ const supportedVaults = [
94
94
  yieldingMint: constants_1.USDT_MINT,
95
95
  yieldingTokenIndex: index.GLOW_USDT_VAULT_CONTRACT_INDEX,
96
96
  },
97
+ {
98
+ yieldingMint: constants_1.PRIME_MINT,
99
+ yieldingTokenIndex: index.HASTRA_PRIME_VAULT_CONTRACT_INDEX,
100
+ },
97
101
  ];
98
102
  exports.USD_STAR_CONFIG = {
99
103
  bankIndex: 0,
@@ -1 +1 @@
1
- {"version":3,"file":"usdStarConfig.js","sourceRoot":"","sources":["../../src/configs/usdStarConfig.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iDAAqD;AACrD,4CAUsB;AACtB,4EAA8D;AAG9D,MAAM,gBAAgB,GAA2B;IAC/C,CAAC,wBAAY,CAAC,QAAQ,EAAE,CAAC,EAAE,KAAK,CAAC,2BAA2B;IAC5D,CAAC,qBAAS,CAAC,QAAQ,EAAE,CAAC,EAAE,KAAK,CAAC,4BAA4B;IAC1D,CAAC,qBAAS,CAAC,QAAQ,EAAE,CAAC,EAAE,KAAK,CAAC,gCAAgC;IAC9D,CAAC,sBAAU,CAAC,QAAQ,EAAE,CAAC,EAAE,KAAK,CAAC,iCAAiC;IAChE,CAAC,qBAAS,CAAC,QAAQ,EAAE,CAAC,EAAE,KAAK,CAAC,gCAAgC;IAC9D,CAAC,uBAAW,CAAC,QAAQ,EAAE,CAAC,EAAE,KAAK,CAAC,mCAAmC;CACpE,CAAC;AAEF,MAAM,eAAe,GAAmB;IACtC;QACE,YAAY,EAAE,wBAAY;QAC1B,kBAAkB,EAAE,KAAK,CAAC,2BAA2B;KACtD;IACD;QACE,YAAY,EAAE,qBAAS;QACvB,kBAAkB,EAAE,KAAK,CAAC,yBAAyB;KACpD;IACD;QACE,YAAY,EAAE,qBAAS;QACvB,kBAAkB,EAAE,KAAK,CAAC,wBAAwB;KACnD;IACD;QACE,YAAY,EAAE,qBAAS;QACvB,kBAAkB,EAAE,KAAK,CAAC,iCAAiC;KAC5D;IACD;QACE,YAAY,EAAE,qBAAS;QACvB,kBAAkB,EAAE,KAAK,CAAC,4BAA4B;KACvD;IACD;QACE,YAAY,EAAE,qBAAS;QACvB,kBAAkB,EAAE,KAAK,CAAC,wBAAwB;KACnD;IACD;QACE,YAAY,EAAE,qBAAS;QACvB,kBAAkB,EAAE,KAAK,CAAC,gCAAgC;KAC3D;IACD;QACE,YAAY,EAAE,sBAAU;QACxB,kBAAkB,EAAE,KAAK,CAAC,iCAAiC;KAC5D;IACD;QACE,YAAY,EAAE,qBAAS;QACvB,kBAAkB,EAAE,KAAK,CAAC,gCAAgC;KAC3D;IACD;QACE,YAAY,EAAE,uBAAW;QACzB,kBAAkB,EAAE,KAAK,CAAC,mCAAmC;KAC9D;IACD;QACE,YAAY,EAAE,+BAAmB;QACjC,kBAAkB,EAAE,KAAK,CAAC,6BAA6B;KACxD;IACD;QACE,YAAY,EAAE,qBAAS;QACvB,kBAAkB,EAAE,KAAK,CAAC,8BAA8B;KACzD;CACF,CAAC;AAEW,QAAA,eAAe,GAAe;IACzC,SAAS,EAAE,CAAC;IACZ,QAAQ,EAAE;QACR,KAAK,EAAE,EAAE;QACT,IAAI,EAAE,8CAA8C;QACpD,IAAI,EAAE,6CAA6C;KACpD;IACD,UAAU,EAAE;QACV,KAAK,EAAE,EAAE;QACT,IAAI,EAAE,8CAA8C;QACpD,IAAI,EAAE,8CAA8C;KACrD;IACD,aAAa,EAAE;QACb,KAAK,EAAE,EAAE;QACT,IAAI,EAAE,8CAA8C;QACpD,IAAI,EAAE,6CAA6C;KACpD;IACD,gBAAgB,EAAE,CAAC;IACnB,oBAAoB,EAAE,4BAAgB;IACtC,YAAY,EAAE;QACZ,KAAK,EAAE,CAAC,8CAA8C,CAAC;QACvD,IAAI,EAAE,CAAC,8CAA8C,CAAC;QACtD,IAAI,EAAE,CAAC,8CAA8C,CAAC;KACvD;IACD,gBAAgB,EAAE;QAChB,KAAK,EAAE,EAAE;QACT,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE,gBAAgB;KACvB;IACD,eAAe,EAAE;QACf,KAAK,EAAE,EAAE;QACT,IAAI,EAAE,eAAe;QACrB,IAAI,EAAE,eAAe;KACtB;CACF,CAAC"}
1
+ {"version":3,"file":"usdStarConfig.js","sourceRoot":"","sources":["../../src/configs/usdStarConfig.ts"],"names":[],"mappings":"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"}
@@ -11,4 +11,6 @@ export declare const CASH_MINT: PublicKey;
11
11
  export declare const PYUSD_MINT: PublicKey;
12
12
  export declare const USDS_MINT: PublicKey;
13
13
  export declare const JUPUSD_MINT: PublicKey;
14
+ export declare const WYLDS_MINT: PublicKey;
15
+ export declare const PRIME_MINT: PublicKey;
14
16
  //# sourceMappingURL=generalAccounts.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"generalAccounts.d.ts","sourceRoot":"","sources":["../../../src/constants/accounts/generalAccounts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG1C,eAAO,MAAM,gBAAgB,iDAAiD,CAAC;AAC/E,eAAO,MAAM,eAAe,iDAAiD,CAAC;AAC9E,eAAO,MAAM,eAAe,gDAAgD,CAAC;AAC7E,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAIlD,CAAC;AAGF,eAAO,MAAM,SAAS,WAErB,CAAC;AACF,eAAO,MAAM,SAAS,WAErB,CAAC;AACF,eAAO,MAAM,SAAS,WAErB,CAAC;AACF,eAAO,MAAM,SAAS,WAErB,CAAC;AACF,eAAO,MAAM,UAAU,WAEtB,CAAC;AACF,eAAO,MAAM,SAAS,WAErB,CAAC;AACF,eAAO,MAAM,WAAW,WAEvB,CAAC"}
1
+ {"version":3,"file":"generalAccounts.d.ts","sourceRoot":"","sources":["../../../src/constants/accounts/generalAccounts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG1C,eAAO,MAAM,gBAAgB,iDAAiD,CAAC;AAC/E,eAAO,MAAM,eAAe,iDAAiD,CAAC;AAC9E,eAAO,MAAM,eAAe,gDAAgD,CAAC;AAC7E,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAIlD,CAAC;AAGF,eAAO,MAAM,SAAS,WAErB,CAAC;AACF,eAAO,MAAM,SAAS,WAErB,CAAC;AACF,eAAO,MAAM,SAAS,WAErB,CAAC;AACF,eAAO,MAAM,SAAS,WAErB,CAAC;AACF,eAAO,MAAM,UAAU,WAEtB,CAAC;AACF,eAAO,MAAM,SAAS,WAErB,CAAC;AACF,eAAO,MAAM,WAAW,WAEvB,CAAC;AAGF,eAAO,MAAM,UAAU,WAEtB,CAAC;AACF,eAAO,MAAM,UAAU,WAEtB,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.JUPUSD_MINT = exports.USDS_MINT = exports.PYUSD_MINT = exports.CASH_MINT = exports.ONYC_MINT = exports.USDT_MINT = exports.USDC_MINT = exports.PROGRAM_ID = exports.PROD_PROGRAM_ID = exports.TEST_PROGRAM_ID = exports.LOCAL_PROGRAM_ID = void 0;
3
+ exports.PRIME_MINT = exports.WYLDS_MINT = exports.JUPUSD_MINT = exports.USDS_MINT = exports.PYUSD_MINT = exports.CASH_MINT = exports.ONYC_MINT = exports.USDT_MINT = exports.USDC_MINT = exports.PROGRAM_ID = exports.PROD_PROGRAM_ID = exports.TEST_PROGRAM_ID = exports.LOCAL_PROGRAM_ID = void 0;
4
4
  const web3_js_1 = require("@solana/web3.js");
5
5
  // PROGRAMS
6
6
  exports.LOCAL_PROGRAM_ID = "5emH1da51MCvjTBZLhmiSmz1do7iMc5FRcjiSQcpUe9m";
@@ -19,4 +19,7 @@ exports.CASH_MINT = new web3_js_1.PublicKey("CASHx9KJUStyftLFWGvEVf59SGeG9sh5Ffc
19
19
  exports.PYUSD_MINT = new web3_js_1.PublicKey("2b1kV6DkPAnxd5ixfnxCpjxmKwqjjaYmCZfHsFu24GXo");
20
20
  exports.USDS_MINT = new web3_js_1.PublicKey("USDSwr9ApdHk5bvJKMjzff41FfuX8bSxdKcR81vTwcA");
21
21
  exports.JUPUSD_MINT = new web3_js_1.PublicKey("JuprjznTrTSp2UFa3ZBUFgwdAmtZCq4MQCwysN55USD");
22
+ // HASTRA
23
+ exports.WYLDS_MINT = new web3_js_1.PublicKey("8fr7WGTVFszfyNWRMXj6fRjZZAnDwmXwEpCrtzmUkdih");
24
+ exports.PRIME_MINT = new web3_js_1.PublicKey("3b8X44fLF9ooXaUm3hhSgjpmVs6rZZ3pPoGnGahc3Uu7");
22
25
  //# sourceMappingURL=generalAccounts.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"generalAccounts.js","sourceRoot":"","sources":["../../../src/constants/accounts/generalAccounts.ts"],"names":[],"mappings":";;;AAAA,6CAA4C;AAG5C,WAAW;AACE,QAAA,gBAAgB,GAAG,8CAA8C,CAAC;AAClE,QAAA,eAAe,GAAG,8CAA8C,CAAC;AACjE,QAAA,eAAe,GAAG,6CAA6C,CAAC;AAChE,QAAA,UAAU,GAAgC;IACrD,KAAK,EAAE,wBAAgB;IACvB,IAAI,EAAE,uBAAe;IACrB,IAAI,EAAE,uBAAe;CACtB,CAAC;AAEF,QAAQ;AACK,QAAA,SAAS,GAAG,IAAI,mBAAS,CACpC,8CAA8C,CAC/C,CAAC;AACW,QAAA,SAAS,GAAG,IAAI,mBAAS,CACpC,8CAA8C,CAC/C,CAAC;AACW,QAAA,SAAS,GAAG,IAAI,mBAAS,CACpC,8CAA8C,CAC/C,CAAC;AACW,QAAA,SAAS,GAAG,IAAI,mBAAS,CACpC,8CAA8C,CAC/C,CAAC;AACW,QAAA,UAAU,GAAG,IAAI,mBAAS,CACrC,8CAA8C,CAC/C,CAAC;AACW,QAAA,SAAS,GAAG,IAAI,mBAAS,CACpC,6CAA6C,CAC9C,CAAC;AACW,QAAA,WAAW,GAAG,IAAI,mBAAS,CACtC,6CAA6C,CAC9C,CAAC"}
1
+ {"version":3,"file":"generalAccounts.js","sourceRoot":"","sources":["../../../src/constants/accounts/generalAccounts.ts"],"names":[],"mappings":";;;AAAA,6CAA4C;AAG5C,WAAW;AACE,QAAA,gBAAgB,GAAG,8CAA8C,CAAC;AAClE,QAAA,eAAe,GAAG,8CAA8C,CAAC;AACjE,QAAA,eAAe,GAAG,6CAA6C,CAAC;AAChE,QAAA,UAAU,GAAgC;IACrD,KAAK,EAAE,wBAAgB;IACvB,IAAI,EAAE,uBAAe;IACrB,IAAI,EAAE,uBAAe;CACtB,CAAC;AAEF,QAAQ;AACK,QAAA,SAAS,GAAG,IAAI,mBAAS,CACpC,8CAA8C,CAC/C,CAAC;AACW,QAAA,SAAS,GAAG,IAAI,mBAAS,CACpC,8CAA8C,CAC/C,CAAC;AACW,QAAA,SAAS,GAAG,IAAI,mBAAS,CACpC,8CAA8C,CAC/C,CAAC;AACW,QAAA,SAAS,GAAG,IAAI,mBAAS,CACpC,8CAA8C,CAC/C,CAAC;AACW,QAAA,UAAU,GAAG,IAAI,mBAAS,CACrC,8CAA8C,CAC/C,CAAC;AACW,QAAA,SAAS,GAAG,IAAI,mBAAS,CACpC,6CAA6C,CAC9C,CAAC;AACW,QAAA,WAAW,GAAG,IAAI,mBAAS,CACtC,6CAA6C,CAC9C,CAAC;AAEF,SAAS;AACI,QAAA,UAAU,GAAG,IAAI,mBAAS,CACrC,8CAA8C,CAC/C,CAAC;AACW,QAAA,UAAU,GAAG,IAAI,mBAAS,CACrC,8CAA8C,CAC/C,CAAC"}
@@ -6,6 +6,7 @@ export declare const BASIS_POINTS = 10000;
6
6
  export declare const NORMALIZED_BASE_UNITS = 6;
7
7
  export declare const ONYC_MINT_DECIMALS = 9;
8
8
  export declare const CASH_MINT_DECIMALS = 6;
9
+ export declare const PRIME_MINT_DECIMALS = 6;
9
10
  type SpecialFee = {
10
11
  address: string;
11
12
  bps: number;
@@ -1 +1 @@
1
- {"version":3,"file":"general.d.ts","sourceRoot":"","sources":["../../src/constants/general.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,aAAa,IAAI,CAAC;AAC/B,eAAO,MAAM,aAAa,IAAI,CAAC;AAC/B,eAAO,MAAM,kBAAkB,IAAI,CAAC;AACpC,eAAO,MAAM,8BAA8B,IAAI,CAAC;AAChD,eAAO,MAAM,YAAY,QAAS,CAAC;AACnC,eAAO,MAAM,qBAAqB,IAAI,CAAC;AACvC,eAAO,MAAM,kBAAkB,IAAI,CAAC;AACpC,eAAO,MAAM,kBAAkB,IAAI,CAAC;AAEpC,KAAK,UAAU,GAAG;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,UAAU,EAKpC,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAGtD,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAGjD,CAAC"}
1
+ {"version":3,"file":"general.d.ts","sourceRoot":"","sources":["../../src/constants/general.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,aAAa,IAAI,CAAC;AAC/B,eAAO,MAAM,aAAa,IAAI,CAAC;AAC/B,eAAO,MAAM,kBAAkB,IAAI,CAAC;AACpC,eAAO,MAAM,8BAA8B,IAAI,CAAC;AAChD,eAAO,MAAM,YAAY,QAAS,CAAC;AACnC,eAAO,MAAM,qBAAqB,IAAI,CAAC;AACvC,eAAO,MAAM,kBAAkB,IAAI,CAAC;AACpC,eAAO,MAAM,kBAAkB,IAAI,CAAC;AACpC,eAAO,MAAM,mBAAmB,IAAI,CAAC;AAErC,KAAK,UAAU,GAAG;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,UAAU,EAKpC,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAGtD,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAGjD,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TOKEN_PROGRAMS = exports.PYTH_PRICE_FEED_IDS = exports.SPECIAL_FEES = exports.CASH_MINT_DECIMALS = exports.ONYC_MINT_DECIMALS = exports.NORMALIZED_BASE_UNITS = exports.BASIS_POINTS = exports.TEST_ALTERNATIVE_MINT_DECIMALS = exports.TEST_MINT_DECIMALS = exports.USDT_DECIMALS = exports.USDC_DECIMALS = void 0;
3
+ exports.TOKEN_PROGRAMS = exports.PYTH_PRICE_FEED_IDS = exports.SPECIAL_FEES = exports.PRIME_MINT_DECIMALS = exports.CASH_MINT_DECIMALS = exports.ONYC_MINT_DECIMALS = exports.NORMALIZED_BASE_UNITS = exports.BASIS_POINTS = exports.TEST_ALTERNATIVE_MINT_DECIMALS = exports.TEST_MINT_DECIMALS = exports.USDT_DECIMALS = exports.USDC_DECIMALS = void 0;
4
4
  const generalAccounts_1 = require("./accounts/generalAccounts");
5
5
  const spl_token_1 = require("@solana/spl-token");
6
6
  const glow_1 = require("./glow");
@@ -13,6 +13,7 @@ exports.BASIS_POINTS = 10000;
13
13
  exports.NORMALIZED_BASE_UNITS = 6;
14
14
  exports.ONYC_MINT_DECIMALS = 9;
15
15
  exports.CASH_MINT_DECIMALS = 6;
16
+ exports.PRIME_MINT_DECIMALS = 6;
16
17
  exports.SPECIAL_FEES = [
17
18
  {
18
19
  address: "3DqXVtRefN2B65BT3Tjt6g2baxwzMbFLHNPRAhzjULK2",
@@ -1 +1 @@
1
- {"version":3,"file":"general.js","sourceRoot":"","sources":["../../src/constants/general.ts"],"names":[],"mappings":";;;AAAA,gEAAkE;AAClE,iDAA0D;AAC1D,iCAA8C;AAE9C,iBAAiB;AACJ,QAAA,aAAa,GAAG,CAAC,CAAC;AAClB,QAAA,aAAa,GAAG,CAAC,CAAC;AAClB,QAAA,kBAAkB,GAAG,CAAC,CAAC;AACvB,QAAA,8BAA8B,GAAG,CAAC,CAAC;AACnC,QAAA,YAAY,GAAG,KAAM,CAAC;AACtB,QAAA,qBAAqB,GAAG,CAAC,CAAC;AAC1B,QAAA,kBAAkB,GAAG,CAAC,CAAC;AACvB,QAAA,kBAAkB,GAAG,CAAC,CAAC;AAOvB,QAAA,YAAY,GAAiB;IACxC;QACE,OAAO,EAAE,8CAA8C;QACvD,GAAG,EAAE,CAAC;KACP;CACF,CAAC;AAEW,QAAA,mBAAmB,GAA2B;IACzD,CAAC,2BAAS,CAAC,QAAQ,EAAE,CAAC,EACpB,oEAAoE;CACvE,CAAC;AAEW,QAAA,cAAc,GAA2B;IACpD,CAAC,2BAAS,CAAC,QAAQ,EAAE,CAAC,EAAE,iCAAqB,CAAC,QAAQ,EAAE;IACxD,CAAC,2BAAoB,CAAC,QAAQ,EAAE,CAAC,EAAE,iCAAqB,CAAC,QAAQ,EAAE;CACpE,CAAC"}
1
+ {"version":3,"file":"general.js","sourceRoot":"","sources":["../../src/constants/general.ts"],"names":[],"mappings":";;;AAAA,gEAAkE;AAClE,iDAA0D;AAC1D,iCAA8C;AAE9C,iBAAiB;AACJ,QAAA,aAAa,GAAG,CAAC,CAAC;AAClB,QAAA,aAAa,GAAG,CAAC,CAAC;AAClB,QAAA,kBAAkB,GAAG,CAAC,CAAC;AACvB,QAAA,8BAA8B,GAAG,CAAC,CAAC;AACnC,QAAA,YAAY,GAAG,KAAM,CAAC;AACtB,QAAA,qBAAqB,GAAG,CAAC,CAAC;AAC1B,QAAA,kBAAkB,GAAG,CAAC,CAAC;AACvB,QAAA,kBAAkB,GAAG,CAAC,CAAC;AACvB,QAAA,mBAAmB,GAAG,CAAC,CAAC;AAOxB,QAAA,YAAY,GAAiB;IACxC;QACE,OAAO,EAAE,8CAA8C;QACvD,GAAG,EAAE,CAAC;KACP;CACF,CAAC;AAEW,QAAA,mBAAmB,GAA2B;IACzD,CAAC,2BAAS,CAAC,QAAQ,EAAE,CAAC,EACpB,oEAAoE;CACvE,CAAC;AAEW,QAAA,cAAc,GAA2B;IACpD,CAAC,2BAAS,CAAC,QAAQ,EAAE,CAAC,EAAE,iCAAqB,CAAC,QAAQ,EAAE;IACxD,CAAC,2BAAoB,CAAC,QAAQ,EAAE,CAAC,EAAE,iCAAqB,CAAC,QAAQ,EAAE;CACpE,CAAC"}
@@ -12,5 +12,6 @@ export declare const KAMINO_USDS_VAULT_CONTRACT_INDEX = 0;
12
12
  export declare const JUPLEND_JUPUSD_VAULT_CONTRACT_INDEX = 0;
13
13
  export declare const NEST_RWA_VAULT_CONTRACT_INDEX = 0;
14
14
  export declare const GLOW_USDT_VAULT_CONTRACT_INDEX = 0;
15
+ export declare const HASTRA_PRIME_VAULT_CONTRACT_INDEX = 0;
15
16
  export declare const INSURED_USD_STAR_VAULT_CONTRACT_INDEX = 0;
16
17
  //# sourceMappingURL=contractIndices.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"contractIndices.d.ts","sourceRoot":"","sources":["../../../src/constants/usdStar/contractIndices.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,2BAA2B,IAAI,CAAC;AAE7C,eAAO,MAAM,wBAAwB,IAAI,CAAC;AAC1C,eAAO,MAAM,yBAAyB,IAAI,CAAC;AAC3C,eAAO,MAAM,iCAAiC,IAAI,CAAC;AACnD,eAAO,MAAM,4BAA4B,IAAI,CAAC;AAC9C,eAAO,MAAM,sCAAsC,IAAI,CAAC;AACxD,eAAO,MAAM,0CAA0C,IAAI,CAAC;AAE5D,eAAO,MAAM,wBAAwB,IAAI,CAAC;AAE1C,eAAO,MAAM,gCAAgC,IAAI,CAAC;AAElD,eAAO,MAAM,iCAAiC,IAAI,CAAC;AAEnD,eAAO,MAAM,gCAAgC,IAAI,CAAC;AAElD,eAAO,MAAM,mCAAmC,IAAI,CAAC;AAGrD,eAAO,MAAM,6BAA6B,IAAI,CAAC;AAG/C,eAAO,MAAM,8BAA8B,IAAI,CAAC;AAGhD,eAAO,MAAM,qCAAqC,IAAI,CAAC"}
1
+ {"version":3,"file":"contractIndices.d.ts","sourceRoot":"","sources":["../../../src/constants/usdStar/contractIndices.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,2BAA2B,IAAI,CAAC;AAE7C,eAAO,MAAM,wBAAwB,IAAI,CAAC;AAC1C,eAAO,MAAM,yBAAyB,IAAI,CAAC;AAC3C,eAAO,MAAM,iCAAiC,IAAI,CAAC;AACnD,eAAO,MAAM,4BAA4B,IAAI,CAAC;AAC9C,eAAO,MAAM,sCAAsC,IAAI,CAAC;AACxD,eAAO,MAAM,0CAA0C,IAAI,CAAC;AAE5D,eAAO,MAAM,wBAAwB,IAAI,CAAC;AAE1C,eAAO,MAAM,gCAAgC,IAAI,CAAC;AAElD,eAAO,MAAM,iCAAiC,IAAI,CAAC;AAEnD,eAAO,MAAM,gCAAgC,IAAI,CAAC;AAElD,eAAO,MAAM,mCAAmC,IAAI,CAAC;AAGrD,eAAO,MAAM,6BAA6B,IAAI,CAAC;AAG/C,eAAO,MAAM,8BAA8B,IAAI,CAAC;AAGhD,eAAO,MAAM,iCAAiC,IAAI,CAAC;AAGnD,eAAO,MAAM,qCAAqC,IAAI,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.INSURED_USD_STAR_VAULT_CONTRACT_INDEX = exports.GLOW_USDT_VAULT_CONTRACT_INDEX = exports.NEST_RWA_VAULT_CONTRACT_INDEX = exports.JUPLEND_JUPUSD_VAULT_CONTRACT_INDEX = exports.KAMINO_USDS_VAULT_CONTRACT_INDEX = exports.KAMINO_PYUSD_VAULT_CONTRACT_INDEX = exports.KAMINO_CASH_VAULT_CONTRACT_INDEX = exports.ONRE_ONYC_CONTRACT_INDEX = exports.KAMINO_USDC_ELEMENTAL_VAULT_CONTRACT_INDEX = exports.KAMINO_USDC_ALLEZ_VAULT_CONTRACT_INDEX = exports.MARGINFI_USDC_CONTRACT_INDEX = exports.LITTLE_ENGINE_USDC_CONTRACT_INDEX = exports.DRIFT_USDC_CONTRACT_INDEX = exports.IDLE_USDC_CONTRACT_INDEX = exports.OLD_USD_STAR_CONTRACT_INDEX = void 0;
3
+ exports.INSURED_USD_STAR_VAULT_CONTRACT_INDEX = exports.HASTRA_PRIME_VAULT_CONTRACT_INDEX = exports.GLOW_USDT_VAULT_CONTRACT_INDEX = exports.NEST_RWA_VAULT_CONTRACT_INDEX = exports.JUPLEND_JUPUSD_VAULT_CONTRACT_INDEX = exports.KAMINO_USDS_VAULT_CONTRACT_INDEX = exports.KAMINO_PYUSD_VAULT_CONTRACT_INDEX = exports.KAMINO_CASH_VAULT_CONTRACT_INDEX = exports.ONRE_ONYC_CONTRACT_INDEX = exports.KAMINO_USDC_ELEMENTAL_VAULT_CONTRACT_INDEX = exports.KAMINO_USDC_ALLEZ_VAULT_CONTRACT_INDEX = exports.MARGINFI_USDC_CONTRACT_INDEX = exports.LITTLE_ENGINE_USDC_CONTRACT_INDEX = exports.DRIFT_USDC_CONTRACT_INDEX = exports.IDLE_USDC_CONTRACT_INDEX = exports.OLD_USD_STAR_CONTRACT_INDEX = void 0;
4
4
  // OLD USD STAR
5
5
  exports.OLD_USD_STAR_CONTRACT_INDEX = 1;
6
6
  // // USDC
@@ -24,6 +24,8 @@ exports.JUPLEND_JUPUSD_VAULT_CONTRACT_INDEX = 0;
24
24
  exports.NEST_RWA_VAULT_CONTRACT_INDEX = 0;
25
25
  // Glow usdt share
26
26
  exports.GLOW_USDT_VAULT_CONTRACT_INDEX = 0;
27
+ // PRIME (Hastra)
28
+ exports.HASTRA_PRIME_VAULT_CONTRACT_INDEX = 0;
27
29
  // Insured USD*
28
30
  exports.INSURED_USD_STAR_VAULT_CONTRACT_INDEX = 0;
29
31
  //# sourceMappingURL=contractIndices.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"contractIndices.js","sourceRoot":"","sources":["../../../src/constants/usdStar/contractIndices.ts"],"names":[],"mappings":";;;AAAA,eAAe;AACF,QAAA,2BAA2B,GAAG,CAAC,CAAC;AAC7C,UAAU;AACG,QAAA,wBAAwB,GAAG,CAAC,CAAC;AAC7B,QAAA,yBAAyB,GAAG,CAAC,CAAC;AAC9B,QAAA,iCAAiC,GAAG,CAAC,CAAC;AACtC,QAAA,4BAA4B,GAAG,CAAC,CAAC;AACjC,QAAA,sCAAsC,GAAG,CAAC,CAAC;AAC3C,QAAA,0CAA0C,GAAG,CAAC,CAAC;AAC5D,UAAU;AACG,QAAA,wBAAwB,GAAG,CAAC,CAAC;AAC1C,UAAU;AACG,QAAA,gCAAgC,GAAG,CAAC,CAAC,CAAC,2BAA2B;AAC9E,WAAW;AACE,QAAA,iCAAiC,GAAG,CAAC,CAAC;AACnD,UAAU;AACG,QAAA,gCAAgC,GAAG,CAAC,CAAC;AAClD,YAAY;AACC,QAAA,mCAAmC,GAAG,CAAC,CAAC;AAErD,iBAAiB;AACJ,QAAA,6BAA6B,GAAG,CAAC,CAAC;AAE/C,kBAAkB;AACL,QAAA,8BAA8B,GAAG,CAAC,CAAC;AAEhD,eAAe;AACF,QAAA,qCAAqC,GAAG,CAAC,CAAC"}
1
+ {"version":3,"file":"contractIndices.js","sourceRoot":"","sources":["../../../src/constants/usdStar/contractIndices.ts"],"names":[],"mappings":";;;AAAA,eAAe;AACF,QAAA,2BAA2B,GAAG,CAAC,CAAC;AAC7C,UAAU;AACG,QAAA,wBAAwB,GAAG,CAAC,CAAC;AAC7B,QAAA,yBAAyB,GAAG,CAAC,CAAC;AAC9B,QAAA,iCAAiC,GAAG,CAAC,CAAC;AACtC,QAAA,4BAA4B,GAAG,CAAC,CAAC;AACjC,QAAA,sCAAsC,GAAG,CAAC,CAAC;AAC3C,QAAA,0CAA0C,GAAG,CAAC,CAAC;AAC5D,UAAU;AACG,QAAA,wBAAwB,GAAG,CAAC,CAAC;AAC1C,UAAU;AACG,QAAA,gCAAgC,GAAG,CAAC,CAAC,CAAC,2BAA2B;AAC9E,WAAW;AACE,QAAA,iCAAiC,GAAG,CAAC,CAAC;AACnD,UAAU;AACG,QAAA,gCAAgC,GAAG,CAAC,CAAC;AAClD,YAAY;AACC,QAAA,mCAAmC,GAAG,CAAC,CAAC;AAErD,iBAAiB;AACJ,QAAA,6BAA6B,GAAG,CAAC,CAAC;AAE/C,kBAAkB;AACL,QAAA,8BAA8B,GAAG,CAAC,CAAC;AAEhD,iBAAiB;AACJ,QAAA,iCAAiC,GAAG,CAAC,CAAC;AAEnD,eAAe;AACF,QAAA,qCAAqC,GAAG,CAAC,CAAC"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * Hastra Vault deposit (USDC → PRIME) and redeem (PRIME → USDC) transaction builders.
3
+ *
4
+ * Deposit flow: USDC → wYLDS (vault-mint, 1:1) → PRIME (vault-stake, oracle price)
5
+ * Redeem flow: PRIME → wYLDS (vault-stake, oracle price) → request USDC (vault-mint, admin completes)
6
+ *
7
+ * @see https://github.com/provenance-io/hastra-sol-vault
8
+ */
9
+ import { Commitment, Connection, PublicKey, TransactionInstruction } from "@solana/web3.js";
10
+ export declare const HASTRA_VAULT_MINT_PROGRAM_ID: PublicKey;
11
+ export { HASTRA_VAULT_STAKE_PROGRAM_ID } from "./hastraVaultStake";
12
+ export declare function stakeTicketPda(user: PublicKey, programId?: PublicKey): PublicKey;
13
+ export interface HastraVaultAccounts {
14
+ mintConfig: PublicKey;
15
+ mintVtac: PublicKey;
16
+ mintVaultTokenAccount: PublicKey;
17
+ mintAuthority: PublicKey;
18
+ redeemVaultAuthority: PublicKey;
19
+ stakeConfig: PublicKey;
20
+ stakeVtac: PublicKey;
21
+ stakeVaultTokenAccount: PublicKey;
22
+ stakeVaultAuthority: PublicKey;
23
+ stakeMintAuthority: PublicKey;
24
+ }
25
+ export interface HastraProgramIds {
26
+ mintProgramId?: PublicKey;
27
+ stakeProgramId?: PublicKey;
28
+ }
29
+ export declare function fetchHastraVaultAccounts(connection: Connection, options?: HastraProgramIds & {
30
+ commitment?: Commitment;
31
+ }): Promise<HastraVaultAccounts>;
32
+ /** vault-mint deposit: USDC → wYLDS (1:1) */
33
+ export declare function buildVaultMintDepositIx(user: PublicKey, amount: bigint, accts: HastraVaultAccounts, userUsdcAta: PublicKey, userWyldsAta: PublicKey, programId?: PublicKey): TransactionInstruction;
34
+ /** vault-stake deposit: wYLDS → PRIME (at NAV-derived exchange rate) */
35
+ export declare function buildVaultStakeDepositIx(user: PublicKey, amount: bigint, accts: HastraVaultAccounts, userWyldsAta: PublicKey, userPrimeAta: PublicKey, programId?: PublicKey): TransactionInstruction;
36
+ /** vault-stake redeem: PRIME → wYLDS (at NAV-derived exchange rate) */
37
+ export declare function buildVaultStakeRedeemIx(user: PublicKey, amount: bigint, accts: HastraVaultAccounts, userWyldsAta: PublicKey, userPrimeAta: PublicKey, ticket: PublicKey, programId?: PublicKey): TransactionInstruction;
38
+ /** vault-mint request_redeem: creates a pending wYLDS → USDC request (admin completes later) */
39
+ export declare function buildVaultMintRequestRedeemIx(user: PublicKey, amount: bigint, userWyldsAta: PublicKey, programId?: PublicKey): TransactionInstruction;
40
+ export interface HastraIxResult {
41
+ instructions: TransactionInstruction[];
42
+ userUsdcAta: PublicKey;
43
+ userWyldsAta: PublicKey;
44
+ userPrimeAta: PublicKey;
45
+ }
46
+ /**
47
+ * Build instructions: USDC → wYLDS → PRIME (single transaction).
48
+ * @param amount Raw USDC lamports (e.g. 1_000_000n for 1 USDC)
49
+ */
50
+ export declare function buildMintPrimeIxs(connection: Connection, user: PublicKey, amount: bigint, options?: HastraProgramIds & {
51
+ commitment?: Commitment;
52
+ }): Promise<HastraIxResult>;
53
+ /**
54
+ * Build instructions: PRIME → wYLDS → request USDC (single transaction).
55
+ * The USDC is released when an admin calls complete_redeem.
56
+ * @param amount Raw PRIME lamports to redeem (e.g. 1_000_000n for 1 PRIME)
57
+ */
58
+ export declare function buildRedeemPrimeIxs(connection: Connection, user: PublicKey, amount: bigint, options?: HastraProgramIds & {
59
+ commitment?: Commitment;
60
+ }): Promise<HastraIxResult>;
61
+ //# sourceMappingURL=hastraOperations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hastraOperations.d.ts","sourceRoot":"","sources":["../../src/utils/hastraOperations.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EACL,UAAU,EACV,UAAU,EACV,SAAS,EAET,sBAAsB,EACvB,MAAM,iBAAiB,CAAC;AAUzB,eAAO,MAAM,4BAA4B,WAExC,CAAC;AAEF,OAAO,EAAE,6BAA6B,EAAE,MAAM,oBAAoB,CAAC;AA0FnE,wBAAgB,cAAc,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,YAAgC,aAKxF;AAID,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,SAAS,CAAC;IACtB,QAAQ,EAAE,SAAS,CAAC;IACpB,qBAAqB,EAAE,SAAS,CAAC;IACjC,aAAa,EAAE,SAAS,CAAC;IACzB,oBAAoB,EAAE,SAAS,CAAC;IAEhC,WAAW,EAAE,SAAS,CAAC;IACvB,SAAS,EAAE,SAAS,CAAC;IACrB,sBAAsB,EAAE,SAAS,CAAC;IAClC,mBAAmB,EAAE,SAAS,CAAC;IAC/B,kBAAkB,EAAE,SAAS,CAAC;CAC/B;AAED,MAAM,WAAW,gBAAgB;IAC/B,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,cAAc,CAAC,EAAE,SAAS,CAAC;CAC5B;AAED,wBAAsB,wBAAwB,CAC5C,UAAU,EAAE,UAAU,EACtB,OAAO,CAAC,EAAE,gBAAgB,GAAG;IAAE,UAAU,CAAC,EAAE,UAAU,CAAA;CAAE,GACvD,OAAO,CAAC,mBAAmB,CAAC,CA6B9B;AASD,6CAA6C;AAC7C,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,SAAS,EACf,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,mBAAmB,EAC1B,WAAW,EAAE,SAAS,EACtB,YAAY,EAAE,SAAS,EACvB,SAAS,YAA+B,GACvC,sBAAsB,CAgBxB;AAED,wEAAwE;AACxE,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,SAAS,EACf,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,mBAAmB,EAC1B,YAAY,EAAE,SAAS,EACvB,YAAY,EAAE,SAAS,EACvB,SAAS,YAAgC,GACxC,sBAAsB,CAkBxB;AAED,uEAAuE;AACvE,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,SAAS,EACf,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,mBAAmB,EAC1B,YAAY,EAAE,SAAS,EACvB,YAAY,EAAE,SAAS,EACvB,MAAM,EAAE,SAAS,EACjB,SAAS,YAAgC,GACxC,sBAAsB,CAkBxB;AAED,gGAAgG;AAChG,wBAAgB,6BAA6B,CAC3C,IAAI,EAAE,SAAS,EACf,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,SAAS,EACvB,SAAS,YAA+B,GACvC,sBAAsB,CAmBxB;AAID,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,sBAAsB,EAAE,CAAC;IACvC,WAAW,EAAE,SAAS,CAAC;IACvB,YAAY,EAAE,SAAS,CAAC;IACxB,YAAY,EAAE,SAAS,CAAC;CACzB;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CACrC,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,SAAS,EACf,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,gBAAgB,GAAG;IAAE,UAAU,CAAC,EAAE,UAAU,CAAA;CAAE,GACvD,OAAO,CAAC,cAAc,CAAC,CAmBzB;AAED;;;;GAIG;AACH,wBAAsB,mBAAmB,CACvC,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,SAAS,EACf,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,gBAAgB,GAAG;IAAE,UAAU,CAAC,EAAE,UAAU,CAAA;CAAE,GACvD,OAAO,CAAC,cAAc,CAAC,CAwBzB"}
@@ -0,0 +1,243 @@
1
+ "use strict";
2
+ /**
3
+ * Hastra Vault deposit (USDC → PRIME) and redeem (PRIME → USDC) transaction builders.
4
+ *
5
+ * Deposit flow: USDC → wYLDS (vault-mint, 1:1) → PRIME (vault-stake, oracle price)
6
+ * Redeem flow: PRIME → wYLDS (vault-stake, oracle price) → request USDC (vault-mint, admin completes)
7
+ *
8
+ * @see https://github.com/provenance-io/hastra-sol-vault
9
+ */
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.HASTRA_VAULT_STAKE_PROGRAM_ID = exports.HASTRA_VAULT_MINT_PROGRAM_ID = void 0;
12
+ exports.stakeTicketPda = stakeTicketPda;
13
+ exports.fetchHastraVaultAccounts = fetchHastraVaultAccounts;
14
+ exports.buildVaultMintDepositIx = buildVaultMintDepositIx;
15
+ exports.buildVaultStakeDepositIx = buildVaultStakeDepositIx;
16
+ exports.buildVaultStakeRedeemIx = buildVaultStakeRedeemIx;
17
+ exports.buildVaultMintRequestRedeemIx = buildVaultMintRequestRedeemIx;
18
+ exports.buildMintPrimeIxs = buildMintPrimeIxs;
19
+ exports.buildRedeemPrimeIxs = buildRedeemPrimeIxs;
20
+ const node_crypto_1 = require("node:crypto");
21
+ const web3_js_1 = require("@solana/web3.js");
22
+ const spl_token_1 = require("@solana/spl-token");
23
+ const constants_1 = require("../constants");
24
+ // ── Program IDs ──
25
+ exports.HASTRA_VAULT_MINT_PROGRAM_ID = new web3_js_1.PublicKey("9WUyNREiPDMgwMh5Gt81Fd3JpiCKxpjZ5Dpq9Bo1RhMV");
26
+ var hastraVaultStake_1 = require("./hastraVaultStake");
27
+ Object.defineProperty(exports, "HASTRA_VAULT_STAKE_PROGRAM_ID", { enumerable: true, get: function () { return hastraVaultStake_1.HASTRA_VAULT_STAKE_PROGRAM_ID; } });
28
+ const hastraVaultStake_2 = require("./hastraVaultStake");
29
+ // ── Helpers ──
30
+ const disc = (tag) => Buffer.from((0, node_crypto_1.createHash)("sha256").update(tag).digest().subarray(0, 8));
31
+ const MINT_VTAC_DISC = disc("account:VaultTokenAccountConfig");
32
+ const MINT_VTAC_LEN = 41; // 8 disc + 32 pubkey + 1 bump
33
+ const STAKE_VTAC_DISC = disc("account:StakeVaultTokenAccountConfig");
34
+ const STAKE_VTAC_LEN = 73; // 8 disc + 32 pubkey + 32 pubkey + 1 bump
35
+ function readPubkey(buf, offset) {
36
+ return new web3_js_1.PublicKey(buf.subarray(offset, offset + 32));
37
+ }
38
+ function parseMintVtac(data) {
39
+ if (data.length !== MINT_VTAC_LEN)
40
+ throw new Error(`VaultTokenAccountConfig: expected ${MINT_VTAC_LEN} bytes, got ${data.length}`);
41
+ if (!data.subarray(0, 8).equals(MINT_VTAC_DISC))
42
+ throw new Error("VaultTokenAccountConfig: bad discriminator");
43
+ return readPubkey(data, 8);
44
+ }
45
+ function parseStakeVtac(data) {
46
+ if (data.length !== STAKE_VTAC_LEN)
47
+ throw new Error(`StakeVaultTokenAccountConfig: expected ${STAKE_VTAC_LEN} bytes, got ${data.length}`);
48
+ if (!data.subarray(0, 8).equals(STAKE_VTAC_DISC))
49
+ throw new Error("StakeVaultTokenAccountConfig: bad discriminator");
50
+ return readPubkey(data, 8);
51
+ }
52
+ function amountIxData(discriminator, amount) {
53
+ const buf = Buffer.alloc(16);
54
+ discriminator.copy(buf, 0);
55
+ buf.writeBigUInt64LE(amount, 8);
56
+ return buf;
57
+ }
58
+ // ── PDA derivations: vault-mint ──
59
+ function mintConfigPda(programId) {
60
+ return web3_js_1.PublicKey.findProgramAddressSync([Buffer.from("config")], programId)[0];
61
+ }
62
+ function mintVtacPda(config, programId) {
63
+ return web3_js_1.PublicKey.findProgramAddressSync([Buffer.from("vault_token_account_config"), config.toBuffer()], programId)[0];
64
+ }
65
+ function mintMintAuthorityPda(programId) {
66
+ return web3_js_1.PublicKey.findProgramAddressSync([Buffer.from("mint_authority")], programId)[0];
67
+ }
68
+ function mintRedeemVaultAuthorityPda(programId) {
69
+ return web3_js_1.PublicKey.findProgramAddressSync([Buffer.from("redeem_vault_authority")], programId)[0];
70
+ }
71
+ function mintRedemptionRequestPda(user, programId) {
72
+ return web3_js_1.PublicKey.findProgramAddressSync([Buffer.from("redemption_request"), user.toBuffer()], programId)[0];
73
+ }
74
+ // ── PDA derivations: vault-stake ──
75
+ function stakeConfigPda(programId) {
76
+ return web3_js_1.PublicKey.findProgramAddressSync([Buffer.from("stake_config")], programId)[0];
77
+ }
78
+ function stakeVtacPda(stakeConfig, programId) {
79
+ return web3_js_1.PublicKey.findProgramAddressSync([Buffer.from("stake_vault_token_account_config"), stakeConfig.toBuffer()], programId)[0];
80
+ }
81
+ function stakeVaultAuthorityPda(programId) {
82
+ return web3_js_1.PublicKey.findProgramAddressSync([Buffer.from("vault_authority")], programId)[0];
83
+ }
84
+ function stakeMintAuthorityPda(programId) {
85
+ return web3_js_1.PublicKey.findProgramAddressSync([Buffer.from("mint_authority")], programId)[0];
86
+ }
87
+ function stakeTicketPda(user, programId = hastraVaultStake_2.HASTRA_VAULT_STAKE_PROGRAM_ID) {
88
+ return web3_js_1.PublicKey.findProgramAddressSync([Buffer.from("ticket"), user.toBuffer()], programId)[0];
89
+ }
90
+ async function fetchHastraVaultAccounts(connection, options) {
91
+ const mintPid = options?.mintProgramId ?? exports.HASTRA_VAULT_MINT_PROGRAM_ID;
92
+ const stakePid = options?.stakeProgramId ?? hastraVaultStake_2.HASTRA_VAULT_STAKE_PROGRAM_ID;
93
+ const commitment = options?.commitment ?? "confirmed";
94
+ const mConfig = mintConfigPda(mintPid);
95
+ const mVtac = mintVtacPda(mConfig, mintPid);
96
+ const sConfig = stakeConfigPda(stakePid);
97
+ const sVtac = stakeVtacPda(sConfig, stakePid);
98
+ const infos = await connection.getMultipleAccountsInfo([mVtac, sVtac], commitment);
99
+ if (!infos[0]?.data)
100
+ throw new Error(`VaultTokenAccountConfig missing at ${mVtac.toBase58()}`);
101
+ if (!infos[1]?.data)
102
+ throw new Error(`StakeVaultTokenAccountConfig missing at ${sVtac.toBase58()}`);
103
+ return {
104
+ mintConfig: mConfig,
105
+ mintVtac: mVtac,
106
+ mintVaultTokenAccount: parseMintVtac(infos[0].data),
107
+ mintAuthority: mintMintAuthorityPda(mintPid),
108
+ redeemVaultAuthority: mintRedeemVaultAuthorityPda(mintPid),
109
+ stakeConfig: sConfig,
110
+ stakeVtac: sVtac,
111
+ stakeVaultTokenAccount: parseStakeVtac(infos[1].data),
112
+ stakeVaultAuthority: stakeVaultAuthorityPda(stakePid),
113
+ stakeMintAuthority: stakeMintAuthorityPda(stakePid),
114
+ };
115
+ }
116
+ // ── Instruction builders ──
117
+ const VM_DEPOSIT = disc("global:deposit");
118
+ const VS_DEPOSIT = disc("global:deposit");
119
+ const VS_REDEEM = disc("global:redeem");
120
+ const VM_REQUEST_REDEEM = disc("global:request_redeem");
121
+ /** vault-mint deposit: USDC → wYLDS (1:1) */
122
+ function buildVaultMintDepositIx(user, amount, accts, userUsdcAta, userWyldsAta, programId = exports.HASTRA_VAULT_MINT_PROGRAM_ID) {
123
+ return new web3_js_1.TransactionInstruction({
124
+ programId,
125
+ keys: [
126
+ { pubkey: accts.mintConfig, isSigner: false, isWritable: false },
127
+ { pubkey: accts.mintVtac, isSigner: false, isWritable: false },
128
+ { pubkey: accts.mintVaultTokenAccount, isSigner: false, isWritable: true },
129
+ { pubkey: constants_1.WYLDS_MINT, isSigner: false, isWritable: true },
130
+ { pubkey: accts.mintAuthority, isSigner: false, isWritable: false },
131
+ { pubkey: user, isSigner: true, isWritable: false },
132
+ { pubkey: userUsdcAta, isSigner: false, isWritable: true },
133
+ { pubkey: userWyldsAta, isSigner: false, isWritable: true },
134
+ { pubkey: spl_token_1.TOKEN_PROGRAM_ID, isSigner: false, isWritable: false },
135
+ ],
136
+ data: amountIxData(VM_DEPOSIT, amount),
137
+ });
138
+ }
139
+ /** vault-stake deposit: wYLDS → PRIME (at NAV-derived exchange rate) */
140
+ function buildVaultStakeDepositIx(user, amount, accts, userWyldsAta, userPrimeAta, programId = hastraVaultStake_2.HASTRA_VAULT_STAKE_PROGRAM_ID) {
141
+ return new web3_js_1.TransactionInstruction({
142
+ programId,
143
+ keys: [
144
+ { pubkey: accts.stakeConfig, isSigner: false, isWritable: false },
145
+ { pubkey: accts.stakeVtac, isSigner: false, isWritable: false },
146
+ { pubkey: accts.stakeVaultTokenAccount, isSigner: false, isWritable: true },
147
+ { pubkey: accts.stakeVaultAuthority, isSigner: false, isWritable: false },
148
+ { pubkey: constants_1.PRIME_MINT, isSigner: false, isWritable: true },
149
+ { pubkey: constants_1.WYLDS_MINT, isSigner: false, isWritable: true },
150
+ { pubkey: accts.stakeMintAuthority, isSigner: false, isWritable: false },
151
+ { pubkey: user, isSigner: true, isWritable: false },
152
+ { pubkey: userWyldsAta, isSigner: false, isWritable: true },
153
+ { pubkey: userPrimeAta, isSigner: false, isWritable: true },
154
+ { pubkey: spl_token_1.TOKEN_PROGRAM_ID, isSigner: false, isWritable: false },
155
+ ],
156
+ data: amountIxData(VS_DEPOSIT, amount),
157
+ });
158
+ }
159
+ /** vault-stake redeem: PRIME → wYLDS (at NAV-derived exchange rate) */
160
+ function buildVaultStakeRedeemIx(user, amount, accts, userWyldsAta, userPrimeAta, ticket, programId = hastraVaultStake_2.HASTRA_VAULT_STAKE_PROGRAM_ID) {
161
+ return new web3_js_1.TransactionInstruction({
162
+ programId,
163
+ keys: [
164
+ { pubkey: accts.stakeConfig, isSigner: false, isWritable: false },
165
+ { pubkey: accts.stakeVtac, isSigner: false, isWritable: false },
166
+ { pubkey: accts.stakeVaultTokenAccount, isSigner: false, isWritable: true },
167
+ { pubkey: accts.stakeVaultAuthority, isSigner: false, isWritable: false },
168
+ { pubkey: user, isSigner: true, isWritable: true },
169
+ { pubkey: ticket, isSigner: false, isWritable: true },
170
+ { pubkey: userWyldsAta, isSigner: false, isWritable: true },
171
+ { pubkey: userPrimeAta, isSigner: false, isWritable: true },
172
+ { pubkey: constants_1.PRIME_MINT, isSigner: false, isWritable: true },
173
+ { pubkey: constants_1.WYLDS_MINT, isSigner: false, isWritable: true },
174
+ { pubkey: spl_token_1.TOKEN_PROGRAM_ID, isSigner: false, isWritable: false },
175
+ ],
176
+ data: amountIxData(VS_REDEEM, amount),
177
+ });
178
+ }
179
+ /** vault-mint request_redeem: creates a pending wYLDS → USDC request (admin completes later) */
180
+ function buildVaultMintRequestRedeemIx(user, amount, userWyldsAta, programId = exports.HASTRA_VAULT_MINT_PROGRAM_ID) {
181
+ const config = mintConfigPda(programId);
182
+ const redemptionRequest = mintRedemptionRequestPda(user, programId);
183
+ const redeemVaultAuth = mintRedeemVaultAuthorityPda(programId);
184
+ return new web3_js_1.TransactionInstruction({
185
+ programId,
186
+ keys: [
187
+ { pubkey: user, isSigner: true, isWritable: true },
188
+ { pubkey: userWyldsAta, isSigner: false, isWritable: true },
189
+ { pubkey: redemptionRequest, isSigner: false, isWritable: true },
190
+ { pubkey: redeemVaultAuth, isSigner: false, isWritable: false },
191
+ { pubkey: constants_1.WYLDS_MINT, isSigner: false, isWritable: false },
192
+ { pubkey: config, isSigner: false, isWritable: false },
193
+ { pubkey: web3_js_1.SystemProgram.programId, isSigner: false, isWritable: false },
194
+ { pubkey: spl_token_1.TOKEN_PROGRAM_ID, isSigner: false, isWritable: false },
195
+ ],
196
+ data: amountIxData(VM_REQUEST_REDEEM, amount),
197
+ });
198
+ }
199
+ /**
200
+ * Build instructions: USDC → wYLDS → PRIME (single transaction).
201
+ * @param amount Raw USDC lamports (e.g. 1_000_000n for 1 USDC)
202
+ */
203
+ async function buildMintPrimeIxs(connection, user, amount, options) {
204
+ const mintPid = options?.mintProgramId ?? exports.HASTRA_VAULT_MINT_PROGRAM_ID;
205
+ const stakePid = options?.stakeProgramId ?? hastraVaultStake_2.HASTRA_VAULT_STAKE_PROGRAM_ID;
206
+ const [accts, userUsdcAta, userWyldsAta, userPrimeAta] = await Promise.all([
207
+ fetchHastraVaultAccounts(connection, options),
208
+ (0, spl_token_1.getAssociatedTokenAddress)(constants_1.USDC_MINT, user),
209
+ (0, spl_token_1.getAssociatedTokenAddress)(constants_1.WYLDS_MINT, user),
210
+ (0, spl_token_1.getAssociatedTokenAddress)(constants_1.PRIME_MINT, user),
211
+ ]);
212
+ const instructions = [
213
+ (0, spl_token_1.createAssociatedTokenAccountIdempotentInstruction)(user, userWyldsAta, user, constants_1.WYLDS_MINT),
214
+ (0, spl_token_1.createAssociatedTokenAccountIdempotentInstruction)(user, userPrimeAta, user, constants_1.PRIME_MINT),
215
+ buildVaultMintDepositIx(user, amount, accts, userUsdcAta, userWyldsAta, mintPid),
216
+ buildVaultStakeDepositIx(user, amount, accts, userWyldsAta, userPrimeAta, stakePid),
217
+ ];
218
+ return { instructions, userUsdcAta, userWyldsAta, userPrimeAta };
219
+ }
220
+ /**
221
+ * Build instructions: PRIME → wYLDS → request USDC (single transaction).
222
+ * The USDC is released when an admin calls complete_redeem.
223
+ * @param amount Raw PRIME lamports to redeem (e.g. 1_000_000n for 1 PRIME)
224
+ */
225
+ async function buildRedeemPrimeIxs(connection, user, amount, options) {
226
+ const mintPid = options?.mintProgramId ?? exports.HASTRA_VAULT_MINT_PROGRAM_ID;
227
+ const stakePid = options?.stakeProgramId ?? hastraVaultStake_2.HASTRA_VAULT_STAKE_PROGRAM_ID;
228
+ const ticket = stakeTicketPda(user, stakePid);
229
+ const [accts, userUsdcAta, userWyldsAta, userPrimeAta] = await Promise.all([
230
+ fetchHastraVaultAccounts(connection, options),
231
+ (0, spl_token_1.getAssociatedTokenAddress)(constants_1.USDC_MINT, user),
232
+ (0, spl_token_1.getAssociatedTokenAddress)(constants_1.WYLDS_MINT, user),
233
+ (0, spl_token_1.getAssociatedTokenAddress)(constants_1.PRIME_MINT, user),
234
+ ]);
235
+ const U64_MAX = BigInt("18446744073709551615");
236
+ const instructions = [
237
+ (0, spl_token_1.createAssociatedTokenAccountIdempotentInstruction)(user, userWyldsAta, user, constants_1.WYLDS_MINT),
238
+ buildVaultStakeRedeemIx(user, amount, accts, userWyldsAta, userPrimeAta, ticket, stakePid),
239
+ buildVaultMintRequestRedeemIx(user, U64_MAX, userWyldsAta, mintPid),
240
+ ];
241
+ return { instructions, userUsdcAta, userWyldsAta, userPrimeAta };
242
+ }
243
+ //# sourceMappingURL=hastraOperations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hastraOperations.js","sourceRoot":"","sources":["../../src/utils/hastraOperations.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ import { Commitment, Connection, PublicKey } from "@solana/web3.js";
2
+ /**
3
+ * PRIME NAV = vaulted wYLDS / PRIME supply (on-chain, no DEX).
4
+ * wYLDS/USDC = 1.00 (vault mint parity) → NAV is USDC per PRIME.
5
+ *
6
+ * @see https://hastra.io/proof-of-reserves
7
+ */
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
+ /**
23
+ * PRIME price (NAV) from on-chain data: **vaulted wYLDS / PRIME supply**.
24
+ * With wYLDS/USDC = 1.00 this is dollars per PRIME.
25
+ */
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>;
32
+ //# sourceMappingURL=hastraVaultStake.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,96 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.HASTRA_VAULT_STAKE_PROGRAM_ID = void 0;
4
+ exports.fetchHastraPrimeNav = fetchHastraPrimeNav;
5
+ exports.getHastraPrimePrice = getHastraPrimePrice;
6
+ const node_crypto_1 = require("node:crypto");
7
+ const web3_js_1 = require("@solana/web3.js");
8
+ const spl_token_1 = require("@solana/spl-token");
9
+ /**
10
+ * PRIME NAV = vaulted wYLDS / PRIME supply (on-chain, no DEX).
11
+ * wYLDS/USDC = 1.00 (vault mint parity) → NAV is USDC per PRIME.
12
+ *
13
+ * @see https://hastra.io/proof-of-reserves
14
+ */
15
+ exports.HASTRA_VAULT_STAKE_PROGRAM_ID = new web3_js_1.PublicKey("97V7JsExNC6yFWu5KjK1FLfVkNVvtMpAFL5QkLWKEGxY");
16
+ const anchorDiscriminator = (tag) => (0, node_crypto_1.createHash)("sha256").update(tag).digest().subarray(0, 8);
17
+ const STAKE_CONFIG_DISCRIMINATOR = anchorDiscriminator("account:StakeConfig");
18
+ const STAKE_CONFIG_ACCOUNT_LEN = 410;
19
+ const VTAC_DISCRIMINATOR = anchorDiscriminator("account:StakeVaultTokenAccountConfig");
20
+ const VTAC_LEN = 73;
21
+ function readPubkey(data, offset) {
22
+ return new web3_js_1.PublicKey(data.subarray(offset, offset + 32));
23
+ }
24
+ function parseMintsFromStakeConfig(data) {
25
+ if (data.length !== STAKE_CONFIG_ACCOUNT_LEN) {
26
+ throw new Error(`StakeConfig: expected ${STAKE_CONFIG_ACCOUNT_LEN} bytes, got ${data.length}`);
27
+ }
28
+ if (!data.subarray(0, 8).equals(STAKE_CONFIG_DISCRIMINATOR)) {
29
+ throw new Error("StakeConfig: unexpected discriminator");
30
+ }
31
+ return {
32
+ vaultMint: readPubkey(data, 8),
33
+ stakeMint: readPubkey(data, 40),
34
+ };
35
+ }
36
+ function parseVaultTokenAccount(data) {
37
+ if (data.length !== VTAC_LEN) {
38
+ throw new Error(`StakeVaultTokenAccountConfig: expected ${VTAC_LEN} bytes, got ${data.length}`);
39
+ }
40
+ if (!data.subarray(0, 8).equals(VTAC_DISCRIMINATOR)) {
41
+ throw new Error("StakeVaultTokenAccountConfig: unexpected discriminator");
42
+ }
43
+ return readPubkey(data, 8);
44
+ }
45
+ function stakeConfigPda(programId) {
46
+ return web3_js_1.PublicKey.findProgramAddressSync([Buffer.from("stake_config")], programId)[0];
47
+ }
48
+ function vtacPda(stakeConfig, programId) {
49
+ return web3_js_1.PublicKey.findProgramAddressSync([Buffer.from("stake_vault_token_account_config"), stakeConfig.toBuffer()], programId)[0];
50
+ }
51
+ /**
52
+ * PRIME price (NAV) from on-chain data: **vaulted wYLDS / PRIME supply**.
53
+ * With wYLDS/USDC = 1.00 this is dollars per PRIME.
54
+ */
55
+ async function fetchHastraPrimeNav(connection, options) {
56
+ const programId = options?.stakeProgramId ?? exports.HASTRA_VAULT_STAKE_PROGRAM_ID;
57
+ const commitment = options?.commitment ?? "confirmed";
58
+ const stakeConfigKey = stakeConfigPda(programId);
59
+ const vtacKey = vtacPda(stakeConfigKey, programId);
60
+ const [cfgInfo, vtacInfo] = await connection.getMultipleAccountsInfo([stakeConfigKey, vtacKey], commitment);
61
+ if (!cfgInfo?.data)
62
+ throw new Error(`StakeConfig missing at ${stakeConfigKey.toBase58()}`);
63
+ if (!vtacInfo?.data)
64
+ throw new Error(`StakeVaultTokenAccountConfig missing at ${vtacKey.toBase58()}`);
65
+ const { vaultMint, stakeMint } = parseMintsFromStakeConfig(cfgInfo.data);
66
+ const vaultTokenAccount = parseVaultTokenAccount(vtacInfo.data);
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),
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;
76
+ if (primeSupplyUi <= 0)
77
+ 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;
95
+ }
96
+ //# sourceMappingURL=hastraVaultStake.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hastraVaultStake.js","sourceRoot":"","sources":["../../src/utils/hastraVaultStake.ts"],"names":[],"mappings":"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"}
@@ -12,4 +12,6 @@ export * from "./accountUtils";
12
12
  export * from "./apiUtils";
13
13
  export * from "./glowUtils";
14
14
  export * from "./nestUtils";
15
+ export * from "./hastraVaultStake";
16
+ export * from "./hastraOperations";
15
17
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC"}
@@ -28,4 +28,6 @@ __exportStar(require("./accountUtils"), exports);
28
28
  __exportStar(require("./apiUtils"), exports);
29
29
  __exportStar(require("./glowUtils"), exports);
30
30
  __exportStar(require("./nestUtils"), exports);
31
+ __exportStar(require("./hastraVaultStake"), exports);
32
+ __exportStar(require("./hastraOperations"), exports);
31
33
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAA+B;AAC/B,mDAAiC;AACjC,+CAA6B;AAC7B,8CAA4B;AAC5B,6CAA2B;AAC3B,+CAA6B;AAC7B,qDAAmC;AACnC,kDAAgC;AAChC,kDAAgC;AAChC,gDAA8B;AAC9B,iDAA+B;AAC/B,6CAA2B;AAC3B,8CAA4B;AAC5B,8CAA4B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAA+B;AAC/B,mDAAiC;AACjC,+CAA6B;AAC7B,8CAA4B;AAC5B,6CAA2B;AAC3B,+CAA6B;AAC7B,qDAAmC;AACnC,kDAAgC;AAChC,kDAAgC;AAChC,gDAA8B;AAC9B,iDAA+B;AAC/B,6CAA2B;AAC3B,8CAA4B;AAC5B,8CAA4B;AAC5B,qDAAmC;AACnC,qDAAmC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@perena/bankineco-sdk",
3
- "version": "1.0.148",
3
+ "version": "1.0.149",
4
4
  "description": "SDK for interacting with Bankineco program on Solana.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",