@haven-fi/solauto-sdk 1.0.791 → 1.0.793

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,6 +1,25 @@
1
1
  import { PublicKey } from "@solana/web3.js";
2
2
  export declare const PYTH_PUSH_PROGRAM: PublicKey;
3
- export declare const PYTH_PRICE_FEED_IDS: Record<string, string>;
3
+ export declare const PYTH_PRICE_FEED_IDS: {
4
+ [x: string]: string;
5
+ bSo13r4TkiE4KumL71LsHTPpL2euBYLFx6h9HP3piy1: string;
6
+ mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So: string;
7
+ J1toso1uCk3RLmjorhTtrVwY9HJ7X8V9yYac6Y7kGCPn: string;
8
+ LSTxxxnJzKDFSLr4dUkPcmCf5VyryEqzPLz5j4bpxFp: string;
9
+ "5oVNBeEEQvYi1cX3ir8Dx5n1P7pdxydbGF2X4TxVusJm": string;
10
+ JUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCN: string;
11
+ jtojtomepa8beP8AuQc6eXt5FriJwfFMwQx2v2f9mCL: string;
12
+ "27G8MtK7VtTcCHkpASjSDdkWWYfoqT6ggEuKidVJidD4": string;
13
+ "3NZ9JMVBmGAqocybic2c7LQCJScmgsAZ6vQqTDzcqmJh": string;
14
+ "7vfCXTUXx5WJV5JADk17DUJ4ksgau7utNKj4b963voxs": string;
15
+ hntyVP6YFm1Hg25TN9WGLqM12b8TQmcknKrdu1oxWux: string;
16
+ HZ1JovNiVvGrGNiiYvEozEVgZ58xaU3RKwX8eACQBCt3: string;
17
+ EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v: string;
18
+ Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB: string;
19
+ DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263: string;
20
+ EKpQGSJtjMFqKZ9KQanSqYXRcF8fBopzLHYxdM65zcjm: string;
21
+ pumpCmXqMfrsAkQ5r49WcJnRayYRqmXz6ae8H7H9Dfn: string;
22
+ };
4
23
  export declare const PYTH_ORACLE_ACCOUNTS: {
5
24
  pumpCmXqMfrsAkQ5r49WcJnRayYRqmXz6ae8H7H9Dfn: string;
6
25
  };
@@ -1 +1 @@
1
- {"version":3,"file":"pythConstants.d.ts","sourceRoot":"","sources":["../../src/constants/pythConstants.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,eAAO,MAAM,iBAAiB,WAE7B,CAAC;AAGF,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CA6BtD,CAAC;AAEF,eAAO,MAAM,oBAAoB;;CAEhC,CAAC"}
1
+ {"version":3,"file":"pythConstants.d.ts","sourceRoot":"","sources":["../../src/constants/pythConstants.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,eAAO,MAAM,iBAAiB,WAE7B,CAAC;AAGF,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;CAqC/B,CAAC;AAEF,eAAO,MAAM,oBAAoB;;CAEhC,CAAC"}
@@ -34,15 +34,20 @@ var __importStar = (this && this.__importStar) || (function () {
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.PYTH_ORACLE_ACCOUNTS = exports.PYTH_PRICE_FEED_IDS = exports.PYTH_PUSH_PROGRAM = void 0;
37
+ const spl_token_1 = require("@solana/spl-token");
37
38
  const tokens = __importStar(require("./tokenConstants"));
38
39
  const web3_js_1 = require("@solana/web3.js");
39
40
  exports.PYTH_PUSH_PROGRAM = new web3_js_1.PublicKey("pythWSnswVUd12oZpeFP8e9CVaEqJg25g1Vtc2biRsT");
40
41
  // https://pyth.network/developers/price-feed-ids#solana-stable
41
42
  exports.PYTH_PRICE_FEED_IDS = {
43
+ [spl_token_1.NATIVE_MINT.toString()]: "0xef0d8b6fda2ceba41da15d4095d1da392a0d2f8ed0c6c7bc0f4cfac8c280b56d",
42
44
  [tokens.B_SOL]: "0x89875379e70f8fbadc17aef315adf3a8d5d160b811435537e03c97e8aac97d9c",
43
45
  [tokens.M_SOL]: "0xc2289a6a43d2ce91c6f55caec370f4acc38a2ed477f58813334c6d03749ff2a4",
46
+ [tokens.JITO_SOL]: "0x67be9f519b95cf24338801051f9a808eff0a578ccb388db73b7f6fe1de019ffb",
47
+ [tokens.LST]: "0x12fb674ee496045b1d9cf7d5e65379acb026133c2ad69f3ed996fb9fe68e3a37",
44
48
  [tokens.INF]: "0xf51570985c642c49c2d6e50156390fdba80bb6d5f7fa389d2f012ced4f7d208f",
45
49
  [tokens.JUP]: "0x0a0408d619e9380abad35060f9192039ed5042fa6f82301d0e48bb52be830996",
50
+ [tokens.JTO]: "0xb43660a5f790c69354b0729a5ef9d50d68f1df92107540210b9cccba1f947cc2",
46
51
  [tokens.JLP]: "0xc811abc82b4bad1f9bd711a2773ccaa935b03ecef974236942cec5e0eb845a3a",
47
52
  [tokens.WBTC]: "0xc9d8b075a5c69303365ae23633d4e085199bf5c520a3b90fed1322a0342ffc33",
48
53
  [tokens.WETH]: "0x9d4294bbcd1174d6f2003ec365831e64cc31d9f6f15a2b85399db8d5000960f6",
@@ -1 +1 @@
1
- {"version":3,"file":"priceUtils.d.ts","sourceRoot":"","sources":["../../src/utils/priceUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,SAAS,IAAI,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAgBrE,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAErD,UAAU,WAAW;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,SAAS,EAAE,EAClB,SAAS,GAAE,SAA8B,EACzC,SAAS,CAAC,EAAE,SAAS,GACpB,OAAO,CAAC,MAAM,EAAE,CAAC,CA4CnB;AAED,wBAAsB,aAAa,CACjC,KAAK,EAAE,SAAS,EAAE,GACjB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAqDtC;AAkBD,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,SAAS,EAAE,GACjB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAkDtC;AAED,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,SAAS,EAAE,GACjB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAsBtC;AAED,wBAAgB,YAAY,CAC1B,IAAI,EAAE,SAAS,GAAG,YAAY,GAAG,MAAM,GAAG,SAAS,EACnD,SAAS,GAAE,SAA8B,EACzC,SAAS,CAAC,EAAE,SAAS,GACpB,MAAM,GAAG,SAAS,CAyBpB"}
1
+ {"version":3,"file":"priceUtils.d.ts","sourceRoot":"","sources":["../../src/utils/priceUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,SAAS,IAAI,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAgBrE,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAErD,UAAU,WAAW;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,SAAS,EAAE,EAClB,SAAS,GAAE,SAA8B,EACzC,SAAS,CAAC,EAAE,SAAS,GACpB,OAAO,CAAC,MAAM,EAAE,CAAC,CA8CnB;AAED,wBAAsB,aAAa,CACjC,KAAK,EAAE,SAAS,EAAE,GACjB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAuDtC;AAkBD,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,SAAS,EAAE,GACjB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAkDtC;AAED,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,SAAS,EAAE,GACjB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAsBtC;AAED,wBAAgB,YAAY,CAC1B,IAAI,EAAE,SAAS,GAAG,YAAY,GAAG,MAAM,GAAG,SAAS,EACnD,SAAS,GAAE,SAA8B,EACzC,SAAS,CAAC,EAAE,SAAS,GACpB,MAAM,GAAG,SAAS,CAyBpB"}
@@ -54,7 +54,8 @@ async function fetchTokenPrices(mints, priceType = generated_1.PriceType.Realtim
54
54
  .filter((x) => !Object.keys(cachedPrices).includes(x))
55
55
  .map((x) => new web3_js_1.PublicKey(x));
56
56
  const pythMints = newMints.filter((x) => Object.keys(constants_1.PYTH_PRICE_FEED_IDS).includes(x.toString()));
57
- const switchboardMints = newMints.filter((x) => Object.keys(constants_1.SWITCHBOARD_PRICE_FEED_IDS).includes(x.toString()));
57
+ const switchboardMints = newMints.filter((x) => Object.keys(constants_1.SWITCHBOARD_PRICE_FEED_IDS).includes(x.toString()) &&
58
+ !pythMints.map((y) => y.toString()).includes(x.toString()));
58
59
  const otherMints = newMints.filter((x) => !pythMints.includes(x) && !switchboardMints.includes(x));
59
60
  const newPrices = Object.assign({}, ...(await Promise.all([
60
61
  getPythPrices(pythMints),
@@ -79,7 +80,9 @@ async function getPythPrices(mints) {
79
80
  return {};
80
81
  }
81
82
  const priceFeedIds = mints.map((mint) => constants_1.PYTH_PRICE_FEED_IDS[mint.toString()]);
82
- const getReq = async () => await fetch(`https://hermes.pyth.network/v2/updates/price/latest?${priceFeedIds.map((x) => `ids%5B%5D=${x}`).join("&")}`);
83
+ const getReq = async () => await fetch(`https://hermes.pyth.network/v2/updates/price/latest?${priceFeedIds
84
+ .map((x) => `ids%5B%5D=${x}`)
85
+ .join("&")}`);
83
86
  const deriveValue = (price, exponent) => {
84
87
  if (exponent > 0) {
85
88
  return Number((0, numberUtils_1.toBaseUnit)(Number(price), exponent));
@@ -125,7 +128,7 @@ async function getSwitchboardPrices(mints) {
125
128
  return {};
126
129
  }
127
130
  const { CrossbarClient } = SwbCommon;
128
- const crossbar = CrossbarClient.default();
131
+ const crossbar = new CrossbarClient("https://integrator-crossbar.mrgn.app/");
129
132
  let prices = {};
130
133
  try {
131
134
  prices = await (0, generalUtils_1.retryWithExponentialBackoff)(async () => {
@@ -48,7 +48,7 @@ export async function main() {
48
48
 
49
49
  await client.initializeExistingSolautoPosition({
50
50
  positionId: 1,
51
- authority: new PublicKey("6K8FQ4W8SV2DGs73aQ5zybgfgSCGswybWbGXnw9JjoJR"),
51
+ authority: new PublicKey("61rtn5tzVkesapo6Cz83SPoShUfAePSxJsqniuF2wRKC"),
52
52
  // lpUserAccount: new PublicKey(
53
53
  // "GEokw9jqbh6d1xUNA3qaeYFFetbSR5Y1nt7C3chwwgSz"
54
54
  // ),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@haven-fi/solauto-sdk",
3
- "version": "1.0.791",
3
+ "version": "1.0.793",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "description": "Typescript SDK for the Solauto program on the Solana blockchain",
@@ -7,15 +7,23 @@ export const PYTH_PUSH_PROGRAM = new PublicKey(
7
7
  );
8
8
 
9
9
  // https://pyth.network/developers/price-feed-ids#solana-stable
10
- export const PYTH_PRICE_FEED_IDS: Record<string, string> = {
10
+ export const PYTH_PRICE_FEED_IDS = {
11
+ [NATIVE_MINT.toString()]:
12
+ "0xef0d8b6fda2ceba41da15d4095d1da392a0d2f8ed0c6c7bc0f4cfac8c280b56d",
11
13
  [tokens.B_SOL]:
12
14
  "0x89875379e70f8fbadc17aef315adf3a8d5d160b811435537e03c97e8aac97d9c",
13
15
  [tokens.M_SOL]:
14
16
  "0xc2289a6a43d2ce91c6f55caec370f4acc38a2ed477f58813334c6d03749ff2a4",
17
+ [tokens.JITO_SOL]:
18
+ "0x67be9f519b95cf24338801051f9a808eff0a578ccb388db73b7f6fe1de019ffb",
19
+ [tokens.LST]:
20
+ "0x12fb674ee496045b1d9cf7d5e65379acb026133c2ad69f3ed996fb9fe68e3a37",
15
21
  [tokens.INF]:
16
22
  "0xf51570985c642c49c2d6e50156390fdba80bb6d5f7fa389d2f012ced4f7d208f",
17
23
  [tokens.JUP]:
18
24
  "0x0a0408d619e9380abad35060f9192039ed5042fa6f82301d0e48bb52be830996",
25
+ [tokens.JTO]:
26
+ "0xb43660a5f790c69354b0729a5ef9d50d68f1df92107540210b9cccba1f947cc2",
19
27
  [tokens.JLP]:
20
28
  "0xc811abc82b4bad1f9bd711a2773ccaa935b03ecef974236942cec5e0eb845a3a",
21
29
  [tokens.WBTC]:
@@ -45,8 +45,10 @@ export async function fetchTokenPrices(
45
45
  const pythMints = newMints.filter((x) =>
46
46
  Object.keys(PYTH_PRICE_FEED_IDS).includes(x.toString())
47
47
  );
48
- const switchboardMints = newMints.filter((x) =>
49
- Object.keys(SWITCHBOARD_PRICE_FEED_IDS).includes(x.toString())
48
+ const switchboardMints = newMints.filter(
49
+ (x) =>
50
+ Object.keys(SWITCHBOARD_PRICE_FEED_IDS).includes(x.toString()) &&
51
+ !pythMints.map((y) => y.toString()).includes(x.toString())
50
52
  );
51
53
  const otherMints = newMints.filter(
52
54
  (x) => !pythMints.includes(x) && !switchboardMints.includes(x)
@@ -88,7 +90,9 @@ export async function getPythPrices(
88
90
 
89
91
  const getReq = async () =>
90
92
  await fetch(
91
- `https://hermes.pyth.network/v2/updates/price/latest?${priceFeedIds.map((x) => `ids%5B%5D=${x}`).join("&")}`
93
+ `https://hermes.pyth.network/v2/updates/price/latest?${priceFeedIds
94
+ .map((x) => `ids%5B%5D=${x}`)
95
+ .join("&")}`
92
96
  );
93
97
 
94
98
  const deriveValue = (price: number, exponent: number) => {
@@ -156,7 +160,7 @@ export async function getSwitchboardPrices(
156
160
  }
157
161
 
158
162
  const { CrossbarClient } = SwbCommon;
159
- const crossbar = CrossbarClient.default();
163
+ const crossbar = new CrossbarClient("https://integrator-crossbar.mrgn.app/");
160
164
 
161
165
  let prices: Record<string, PriceResult> = {};
162
166
  try {