@haven-fi/solauto-sdk 1.0.786 → 1.0.788

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":"marginfiAccounts.d.ts","sourceRoot":"","sources":["../../src/constants/marginfiAccounts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAG5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAetC,MAAM,MAAM,uBAAuB,GAAG;IACpC,CAAC,KAAK,EAAE,MAAM,GAAG;QAAE,CAAC,KAAK,EAAE,MAAM,GAAG,qBAAqB,CAAA;KAAE,CAAC;CAC7D,CAAC;AAgLF,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,SAAS,CAAC;IACnB,YAAY,EAAE,SAAS,CAAC;IACxB,WAAW,EAAE,SAAS,CAAC;IACvB,YAAY,EAAE,uBAAuB,CAAC;CACvC;AAED,wBAAgB,mBAAmB,CACjC,UAAU,CAAC,EAAE,UAAU,EACvB,aAAa,CAAC,EAAE,SAAS,GACxB,uBAAuB,CA4BzB;AAED,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,SAAS,WAKrD"}
1
+ {"version":3,"file":"marginfiAccounts.d.ts","sourceRoot":"","sources":["../../src/constants/marginfiAccounts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAG5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAetC,MAAM,MAAM,uBAAuB,GAAG;IACpC,CAAC,KAAK,EAAE,MAAM,GAAG;QAAE,CAAC,KAAK,EAAE,MAAM,GAAG,qBAAqB,CAAA;KAAE,CAAC;CAC7D,CAAC;AAqLF,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,SAAS,CAAC;IACnB,YAAY,EAAE,SAAS,CAAC;IACxB,WAAW,EAAE,SAAS,CAAC;IACvB,YAAY,EAAE,uBAAuB,CAAC;CACvC;AAED,wBAAgB,mBAAmB,CACjC,UAAU,CAAC,EAAE,UAAU,EACvB,aAAa,CAAC,EAAE,SAAS,GACxB,uBAAuB,CA4BzB;AAED,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,SAAS,WAKrD"}
@@ -15,13 +15,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
25
35
  Object.defineProperty(exports, "__esModule", { value: true });
26
36
  exports.getMarginfiAccounts = getMarginfiAccounts;
27
37
  exports.isMarginfiProgram = isMarginfiProgram;
@@ -148,6 +158,11 @@ const MARGINFI_PROD_ACCOUNTS = {
148
158
  liquidityVault: "4kT3EXc5dDVndUU9mV6EH3Jh3CSEvpcCZjuMkwqrtxUy",
149
159
  vaultAuthority: "9gNrvvZ9RuTyRWooiEEypwcXU6kyXW8yWuhXU8tWUH5L",
150
160
  },
161
+ [tokens.PUMP]: {
162
+ bank: "61Qx9kgWo9RVtPHf8Rku6gbaUtcnzgkpAuifQBUcMRVK",
163
+ liquidityVault: "6FxnrCaJNHLyrFy6EPtqFjoUK5iRxDQbaVo1bA69nDhH",
164
+ vaultAuthority: "6VL2QW6sy8cjxL24xHL7eFbnUSi35DMJd8AzRwssSs9y"
165
+ }
151
166
  },
152
167
  ["DQ2jqDJw9uzTwttf6h6r217BQ7kws3jZbJXDkfbCJa1q"]: {
153
168
  [tokens.POPCAT]: {
@@ -20,5 +20,9 @@ export declare const PYTH_PRICE_FEED_IDS: {
20
20
  Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB: string;
21
21
  DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263: string;
22
22
  EKpQGSJtjMFqKZ9KQanSqYXRcF8fBopzLHYxdM65zcjm: string;
23
+ pumpCmXqMfrsAkQ5r49WcJnRayYRqmXz6ae8H7H9Dfn: string;
24
+ };
25
+ export declare const PYTH_ORACLE_ACCOUNTS: {
26
+ pumpCmXqMfrsAkQ5r49WcJnRayYRqmXz6ae8H7H9Dfn: string;
23
27
  };
24
28
  //# sourceMappingURL=pythConstants.d.ts.map
@@ -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;AAEF,eAAO,MAAM,uBAAuB,IAAI,CAAC;AACzC,eAAO,MAAM,2BAA2B,OAAO,CAAC;AAGhD,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;CAmC/B,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;AAEF,eAAO,MAAM,uBAAuB,IAAI,CAAC;AACzC,eAAO,MAAM,2BAA2B,OAAO,CAAC;AAGhD,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;CAqC/B,CAAC;AAEF,eAAO,MAAM,oBAAoB;;CAEhC,CAAC"}
@@ -15,15 +15,25 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
25
35
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.PYTH_PRICE_FEED_IDS = exports.MARGINFI_SPONSORED_SHARD_ID = exports.PYTH_SPONSORED_SHARD_ID = exports.PYTH_PUSH_PROGRAM = void 0;
36
+ exports.PYTH_ORACLE_ACCOUNTS = exports.PYTH_PRICE_FEED_IDS = exports.MARGINFI_SPONSORED_SHARD_ID = exports.PYTH_SPONSORED_SHARD_ID = exports.PYTH_PUSH_PROGRAM = void 0;
27
37
  const spl_token_1 = require("@solana/spl-token");
28
38
  const tokens = __importStar(require("./tokenConstants"));
29
39
  const web3_js_1 = require("@solana/web3.js");
@@ -49,4 +59,8 @@ exports.PYTH_PRICE_FEED_IDS = {
49
59
  [tokens.USDT]: "0x2b89b9dc8fdf9f34709a5b106b472f0f39bb6ca9ce04b0fd7f2e971688e2e53b",
50
60
  [tokens.BONK]: "0x72b021217ca3fe68922a19aaf990109cb9d84e9ad004b4d2025ad6f529314419",
51
61
  [tokens.WIF]: "0x4ca4beeca86f0d164160323817a4e42b10010a724c2217c6ee41b54cd4cc61fc",
62
+ [tokens.PUMP]: "0x7a01fca212788bba7c5bf8c9efd576a8a722f070d2c17596ff7bb609b8d5c3b9",
63
+ };
64
+ exports.PYTH_ORACLE_ACCOUNTS = {
65
+ [tokens.PUMP]: "HMm3GPbdnqGwbkTnUUqCFsH8AMHDdEC3Lg8gcPD3HJSH",
52
66
  };
@@ -15,13 +15,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
25
35
  Object.defineProperty(exports, "__esModule", { value: true });
26
36
  exports.SWITCHBOARD_PRICE_FEED_IDS = void 0;
27
37
  const tokens = __importStar(require("./tokenConstants"));
@@ -20,6 +20,7 @@ export declare const POPCAT = "7GCihgDB8fe6KNjn2MYtkzZcRjQy3t9GHdC8uHYmW2hr";
20
20
  export declare const RETARDIO = "6ogzHhzdrQr9Pgv6hZ2MNze7UrzBMAFyBBWUYp1Fhitx";
21
21
  export declare const BILLY = "3B5wuUrMEi5yATD7on46hKfej3pfmd7t1RKgrsN3pump";
22
22
  export declare const HMTR = "7JhmUcZrrfhyt5nTSu3AfsrUq2L9992a7AhwdSDxdoL2";
23
+ export declare const PUMP = "pumpCmXqMfrsAkQ5r49WcJnRayYRqmXz6ae8H7H9Dfn";
23
24
  export declare const ALL_SUPPORTED_TOKENS: string[];
24
25
  export interface TokenInfo {
25
26
  ticker: string;
@@ -1 +1 @@
1
- {"version":3,"file":"tokenConstants.d.ts","sourceRoot":"","sources":["../../src/constants/tokenConstants.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,KAAK,gDAAgD,CAAC;AACnE,eAAO,MAAM,QAAQ,iDAAiD,CAAC;AACvE,eAAO,MAAM,GAAG,gDAAgD,CAAC;AACjE,eAAO,MAAM,KAAK,gDAAgD,CAAC;AACnE,eAAO,MAAM,GAAG,iDAAiD,CAAC;AAClE,eAAO,MAAM,KAAK,gDAAgD,CAAC;AACnE,eAAO,MAAM,OAAO,gDAAgD,CAAC;AACrE,eAAO,MAAM,GAAG,gDAAgD,CAAC;AACjE,eAAO,MAAM,GAAG,gDAAgD,CAAC;AACjE,eAAO,MAAM,GAAG,iDAAiD,CAAC;AAClE,eAAO,MAAM,IAAI,iDAAiD,CAAC;AACnE,eAAO,MAAM,IAAI,iDAAiD,CAAC;AACnE,eAAO,MAAM,GAAG,gDAAgD,CAAC;AACjE,eAAO,MAAM,IAAI,iDAAiD,CAAC;AACnE,eAAO,MAAM,IAAI,iDAAiD,CAAC;AACnE,eAAO,MAAM,IAAI,iDAAiD,CAAC;AACnE,eAAO,MAAM,IAAI,iDAAiD,CAAC;AACnE,eAAO,MAAM,GAAG,iDAAiD,CAAC;AAClE,eAAO,MAAM,MAAM,iDAAiD,CAAC;AACrE,eAAO,MAAM,QAAQ,iDAAiD,CAAC;AACvE,eAAO,MAAM,KAAK,iDAAiD,CAAC;AACpE,eAAO,MAAM,IAAI,iDAAiD,CAAC;AAEnE,eAAO,MAAM,oBAAoB,UAwBhC,CAAC;AAEF,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,eAAO,MAAM,UAAU,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;CAoIlD,CAAC;AAEF,eAAO,MAAM,WAAW;;;;CAIvB,CAAC"}
1
+ {"version":3,"file":"tokenConstants.d.ts","sourceRoot":"","sources":["../../src/constants/tokenConstants.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,KAAK,gDAAgD,CAAC;AACnE,eAAO,MAAM,QAAQ,iDAAiD,CAAC;AACvE,eAAO,MAAM,GAAG,gDAAgD,CAAC;AACjE,eAAO,MAAM,KAAK,gDAAgD,CAAC;AACnE,eAAO,MAAM,GAAG,iDAAiD,CAAC;AAClE,eAAO,MAAM,KAAK,gDAAgD,CAAC;AACnE,eAAO,MAAM,OAAO,gDAAgD,CAAC;AACrE,eAAO,MAAM,GAAG,gDAAgD,CAAC;AACjE,eAAO,MAAM,GAAG,gDAAgD,CAAC;AACjE,eAAO,MAAM,GAAG,iDAAiD,CAAC;AAClE,eAAO,MAAM,IAAI,iDAAiD,CAAC;AACnE,eAAO,MAAM,IAAI,iDAAiD,CAAC;AACnE,eAAO,MAAM,GAAG,gDAAgD,CAAC;AACjE,eAAO,MAAM,IAAI,iDAAiD,CAAC;AACnE,eAAO,MAAM,IAAI,iDAAiD,CAAC;AACnE,eAAO,MAAM,IAAI,iDAAiD,CAAC;AACnE,eAAO,MAAM,IAAI,iDAAiD,CAAC;AACnE,eAAO,MAAM,GAAG,iDAAiD,CAAC;AAClE,eAAO,MAAM,MAAM,iDAAiD,CAAC;AACrE,eAAO,MAAM,QAAQ,iDAAiD,CAAC;AACvE,eAAO,MAAM,KAAK,iDAAiD,CAAC;AACpE,eAAO,MAAM,IAAI,iDAAiD,CAAC;AACnE,eAAO,MAAM,IAAI,gDAAgD,CAAC;AAElE,eAAO,MAAM,oBAAoB,UAyBhC,CAAC;AAEF,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,eAAO,MAAM,UAAU,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;CAyIlD,CAAC;AAEF,eAAO,MAAM,WAAW;;;;CAIvB,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MAJORS_PRIO = exports.TOKEN_INFO = exports.ALL_SUPPORTED_TOKENS = exports.HMTR = exports.BILLY = exports.RETARDIO = exports.POPCAT = exports.WIF = exports.BONK = exports.USDT = exports.USDC = exports.PYTH = exports.HNT = exports.WETH = exports.WBTC = exports.JLP = exports.JTO = exports.JUP = exports.JUP_SOL = exports.H_SOL = exports.INF = exports.M_SOL = exports.LST = exports.JITO_SOL = exports.B_SOL = void 0;
3
+ exports.MAJORS_PRIO = exports.TOKEN_INFO = exports.ALL_SUPPORTED_TOKENS = exports.PUMP = exports.HMTR = exports.BILLY = exports.RETARDIO = exports.POPCAT = exports.WIF = exports.BONK = exports.USDT = exports.USDC = exports.PYTH = exports.HNT = exports.WETH = exports.WBTC = exports.JLP = exports.JTO = exports.JUP = exports.JUP_SOL = exports.H_SOL = exports.INF = exports.M_SOL = exports.LST = exports.JITO_SOL = exports.B_SOL = void 0;
4
4
  const spl_token_1 = require("@solana/spl-token");
5
5
  const web3_js_1 = require("@solana/web3.js");
6
6
  // When adding token ensure a price feed is provided in pythConstants.ts & the token is in TOKEN_INFO
@@ -26,6 +26,7 @@ exports.POPCAT = "7GCihgDB8fe6KNjn2MYtkzZcRjQy3t9GHdC8uHYmW2hr";
26
26
  exports.RETARDIO = "6ogzHhzdrQr9Pgv6hZ2MNze7UrzBMAFyBBWUYp1Fhitx";
27
27
  exports.BILLY = "3B5wuUrMEi5yATD7on46hKfej3pfmd7t1RKgrsN3pump";
28
28
  exports.HMTR = "7JhmUcZrrfhyt5nTSu3AfsrUq2L9992a7AhwdSDxdoL2";
29
+ exports.PUMP = "pumpCmXqMfrsAkQ5r49WcJnRayYRqmXz6ae8H7H9Dfn";
29
30
  exports.ALL_SUPPORTED_TOKENS = [
30
31
  spl_token_1.NATIVE_MINT.toString(),
31
32
  exports.B_SOL,
@@ -50,6 +51,7 @@ exports.ALL_SUPPORTED_TOKENS = [
50
51
  exports.RETARDIO,
51
52
  exports.BILLY,
52
53
  exports.HMTR,
54
+ exports.PUMP,
53
55
  ];
54
56
  exports.TOKEN_INFO = {
55
57
  [web3_js_1.PublicKey.default.toString()]: {
@@ -183,6 +185,11 @@ exports.TOKEN_INFO = {
183
185
  decimals: 0,
184
186
  isMeme: true,
185
187
  },
188
+ [exports.PUMP]: {
189
+ ticker: "PUMP",
190
+ name: "Pump.fun",
191
+ decimals: 6,
192
+ }
186
193
  };
187
194
  exports.MAJORS_PRIO = {
188
195
  [exports.WBTC]: 0,
@@ -10,6 +10,6 @@ export declare function deposit(client: SolautoClient, baseUnitAmount: bigint):
10
10
  export declare function borrow(client: SolautoClient, baseUnitAmount: bigint): TransactionItem;
11
11
  export declare function withdraw(client: SolautoClient, amount: "All" | bigint): TransactionItem;
12
12
  export declare function repay(client: SolautoClient, amount: "All" | bigint): TransactionItem;
13
- export declare function rebalance(client: SolautoClient, targetLiqUtilizationRateBps?: number, bpsDistanceFromRebalance?: number, optimizeSize?: boolean): TransactionItem;
13
+ export declare function rebalance(client: SolautoClient, targetLiqUtilizationRateBps?: number, bpsDistanceFromRebalance?: number): TransactionItem;
14
14
  export declare function swapThenDeposit(client: SolautoClient, depositMint: PublicKey, depositAmountBaseUnit: bigint): TransactionItem[];
15
15
  //# sourceMappingURL=instructionUtils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"instructionUtils.d.ts","sourceRoot":"","sources":["../../src/utils/instructionUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAsB,MAAM,0BAA0B,CAAC;AAChF,OAAO,EACL,kBAAkB,EAClB,YAAY,EACZ,gCAAgC,EACjC,MAAM,cAAc,CAAC;AACtB,OAAO,EAGL,aAAa,EAEb,eAAe,EAEhB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAG5C,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,aAAa,EACrB,aAAa,EAAE,gCAAgC,EAC/C,GAAG,CAAC,EAAE,kBAAkB,EACxB,YAAY,CAAC,EAAE,YAAY,mBAQ5B;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,aAAa,mBAOzD;AAED,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,aAAa,EACrB,QAAQ,EAAE,gBAAgB,CAAC,gCAAgC,CAAC,EAC5D,GAAG,EAAE,gBAAgB,CAAC,kBAAkB,CAAC,mBAY1C;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,aAAa,mBAOrD;AAED,wBAAgB,OAAO,CAAC,MAAM,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,mBAUpE;AAED,wBAAgB,MAAM,CAAC,MAAM,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,mBAWnE;AAED,wBAAgB,QAAQ,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,KAAK,GAAG,MAAM,mBAerE;AAED,wBAAgB,KAAK,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,KAAK,GAAG,MAAM,mBAclE;AAED,wBAAgB,SAAS,CACvB,MAAM,EAAE,aAAa,EACrB,2BAA2B,CAAC,EAAE,MAAM,EACpC,wBAAwB,CAAC,EAAE,MAAM,EACjC,YAAY,CAAC,EAAE,OAAO,mBAavB;AAED,wBAAgB,eAAe,CAC7B,MAAM,EAAE,aAAa,EACrB,WAAW,EAAE,SAAS,EACtB,qBAAqB,EAAE,MAAM,qBAyC9B"}
1
+ {"version":3,"file":"instructionUtils.d.ts","sourceRoot":"","sources":["../../src/utils/instructionUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAsB,MAAM,0BAA0B,CAAC;AAChF,OAAO,EACL,kBAAkB,EAClB,YAAY,EACZ,gCAAgC,EACjC,MAAM,cAAc,CAAC;AACtB,OAAO,EAGL,aAAa,EAEb,eAAe,EAEhB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAG5C,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,aAAa,EACrB,aAAa,EAAE,gCAAgC,EAC/C,GAAG,CAAC,EAAE,kBAAkB,EACxB,YAAY,CAAC,EAAE,YAAY,mBAQ5B;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,aAAa,mBAOzD;AAED,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,aAAa,EACrB,QAAQ,EAAE,gBAAgB,CAAC,gCAAgC,CAAC,EAC5D,GAAG,EAAE,gBAAgB,CAAC,kBAAkB,CAAC,mBAY1C;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,aAAa,mBAOrD;AAED,wBAAgB,OAAO,CAAC,MAAM,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,mBAUpE;AAED,wBAAgB,MAAM,CAAC,MAAM,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,mBAWnE;AAED,wBAAgB,QAAQ,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,KAAK,GAAG,MAAM,mBAerE;AAED,wBAAgB,KAAK,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,KAAK,GAAG,MAAM,mBAclE;AAED,wBAAgB,SAAS,CACvB,MAAM,EAAE,aAAa,EACrB,2BAA2B,CAAC,EAAE,MAAM,EACpC,wBAAwB,CAAC,EAAE,MAAM,mBAalC;AAED,wBAAgB,eAAe,CAC7B,MAAM,EAAE,aAAa,EACrB,WAAW,EAAE,SAAS,EACtB,qBAAqB,EAAE,MAAM,qBAyC9B"}
@@ -77,8 +77,8 @@ function repay(client, amount) {
77
77
  }),
78
78
  }), "repay");
79
79
  }
80
- function rebalance(client, targetLiqUtilizationRateBps, bpsDistanceFromRebalance, optimizeSize) {
81
- return new services_1.TransactionItem(async (attemptNum, prevError) => await new services_1.RebalanceTxBuilder(client, targetLiqUtilizationRateBps, optimizeSize || (attemptNum > 2 && prevError instanceof services_1.TransactionTooLargeError), bpsDistanceFromRebalance).buildRebalanceTx(attemptNum), "rebalance", true);
80
+ function rebalance(client, targetLiqUtilizationRateBps, bpsDistanceFromRebalance) {
81
+ return new services_1.TransactionItem(async (attemptNum, prevError) => await new services_1.RebalanceTxBuilder(client, targetLiqUtilizationRateBps, attemptNum > 2 && prevError instanceof services_1.TransactionTooLargeError, bpsDistanceFromRebalance).buildRebalanceTx(attemptNum), "rebalance", true);
82
82
  }
83
83
  function swapThenDeposit(client, depositMint, depositAmountBaseUnit) {
84
84
  return [
@@ -1 +1 @@
1
- {"version":3,"file":"general.d.ts","sourceRoot":"","sources":["../../../src/utils/marginfi/general.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,OAAO,EAAa,GAAG,EAAE,MAAM,0BAA0B,CAAC;AAKhF,OAAO,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAChE,OAAO,EAGL,uBAAuB,EAExB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,OAAO,EACP,IAAI,EAIJ,eAAe,EAGhB,MAAM,6BAA6B,CAAC;AASrC,wBAAgB,4BAA4B,CAAC,GAAG,CAAC,EAAE,UAAU,GAAG,OAAO,CActE;AAED,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,GAAG,EAAE,WAAW,CAAC,EAAE,UAAU,OASxE;AAED,wBAAsB,yBAAyB,CAC7C,GAAG,EAAE,GAAG,EACR,eAAe,EAAE,uBAAuB,GACvC,OAAO,CAAC,SAAS,EAAE,CAAC,CAkCtB;AAED,wBAAsB,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS;;;;;GAanE;AAED,wBAAsB,sBAAsB,CAC1C,GAAG,EAAE,GAAG,EACR,IAAI,EAAE;IAAE,EAAE,CAAC,EAAE,SAAS,CAAC;IAAC,IAAI,CAAC,EAAE,IAAI,CAAA;CAAE,sBAgBtC;AAED,UAAU,wBAAyB,SAAQ,qBAAqB;IAC9D,IAAI,EAAE,SAAS,CAAC;CACjB;AAED,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,SAAS,GACd,wBAAwB,CAyB1B;AAED,wBAAsB,0CAA0C,CAC9D,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,WAAW,EAAE,CAAC,CAWxB;AAED,wBAAgB,oCAAoC,CAClD,UAAU,EAAE,IAAI,EAChB,QAAQ,EAAE,IAAI,EACd,WAAW,EAAE,MAAM,GAClB,CAAC,MAAM,EAAE,MAAM,CAAC,CA6BlB;AAED,wBAAgB,oBAAoB,CAAC,eAAe,EAAE,eAAe,WASpE;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,WAAW,EAAE,CAW3E"}
1
+ {"version":3,"file":"general.d.ts","sourceRoot":"","sources":["../../../src/utils/marginfi/general.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,OAAO,EAAa,GAAG,EAAE,MAAM,0BAA0B,CAAC;AAKhF,OAAO,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAChE,OAAO,EAGL,uBAAuB,EAExB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,OAAO,EACP,IAAI,EAIJ,eAAe,EAGhB,MAAM,6BAA6B,CAAC;AASrC,wBAAgB,4BAA4B,CAAC,GAAG,CAAC,EAAE,UAAU,GAAG,OAAO,CActE;AAED,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,GAAG,EAAE,WAAW,CAAC,EAAE,UAAU,OASxE;AAED,wBAAsB,yBAAyB,CAC7C,GAAG,EAAE,GAAG,EACR,eAAe,EAAE,uBAAuB,GACvC,OAAO,CAAC,SAAS,EAAE,CAAC,CA0BtB;AAED,wBAAsB,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS;;;;;GAanE;AAED,wBAAsB,sBAAsB,CAC1C,GAAG,EAAE,GAAG,EACR,IAAI,EAAE;IAAE,EAAE,CAAC,EAAE,SAAS,CAAC;IAAC,IAAI,CAAC,EAAE,IAAI,CAAA;CAAE,sBAetC;AAED,UAAU,wBAAyB,SAAQ,qBAAqB;IAC9D,IAAI,EAAE,SAAS,CAAC;CACjB;AAED,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,SAAS,GACd,wBAAwB,CAyB1B;AAED,wBAAsB,0CAA0C,CAC9D,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,WAAW,EAAE,CAAC,CAWxB;AAED,wBAAgB,oCAAoC,CAClD,UAAU,EAAE,IAAI,EAChB,QAAQ,EAAE,IAAI,EACd,WAAW,EAAE,MAAM,GAClB,CAAC,MAAM,EAAE,MAAM,CAAC,CA6BlB;AAED,wBAAgB,oBAAoB,CAAC,eAAe,EAAE,eAAe,WASpE;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,WAAW,EAAE,CAW3E"}
@@ -45,15 +45,7 @@ async function getAllBankRelatedAccounts(umi, bankAccountsMap) {
45
45
  const banks = Object.values(bankAccountsMap).flatMap((group) => Object.values(group).map((accounts) => accounts.bank));
46
46
  const banksData = await (0, marginfi_1.safeFetchAllBank)(umi, banks.map((x) => (0, umi_1.publicKey)(x)));
47
47
  const oracles = banksData
48
- .map((bank) => {
49
- const oracleKey = (0, umi_web3js_adapters_1.toWeb3JsPublicKey)(bank.config.oracleKeys[0]);
50
- return bank.config.oracleSetup === marginfi_1.OracleSetup.PythPushOracle
51
- ? [
52
- (0, pythUtils_1.getPythPushOracleAddress)(oracleKey, constants_1.PYTH_SPONSORED_SHARD_ID),
53
- (0, pythUtils_1.getPythPushOracleAddress)(oracleKey, constants_1.MARGINFI_SPONSORED_SHARD_ID),
54
- ]
55
- : [oracleKey];
56
- })
48
+ .map((bank) => bank.config.oracleKeys.map((x) => (0, umi_web3js_adapters_1.toWeb3JsPublicKey)(x)))
57
49
  .flat()
58
50
  .map((x) => x.toString());
59
51
  const otherAccounts = Object.entries(bankAccountsMap).flatMap(([groupName, tokenMap]) => Object.values(tokenMap).flatMap((accounts) => [
@@ -82,13 +74,9 @@ async function getMarginfiPriceOracle(umi, bank) {
82
74
  if (!bank.data) {
83
75
  bank.data = await (0, marginfi_1.fetchBank)(umi, (0, umi_web3js_adapters_1.fromWeb3JsPublicKey)(bank.pk));
84
76
  }
85
- const oracleKey = (0, umi_web3js_adapters_1.toWeb3JsPublicKey)(bank.data.config.oracleKeys[0]);
86
77
  const priceOracle = bank.data.config.oracleSetup === marginfi_1.OracleSetup.PythPushOracle
87
- ? await (0, pythUtils_1.getMostUpToDatePythOracle)(umi, [
88
- (0, pythUtils_1.getPythPushOracleAddress)(oracleKey, constants_1.PYTH_SPONSORED_SHARD_ID),
89
- (0, pythUtils_1.getPythPushOracleAddress)(oracleKey, constants_1.MARGINFI_SPONSORED_SHARD_ID),
90
- ])
91
- : oracleKey;
78
+ ? await (0, pythUtils_1.getMostUpToDatePythOracle)(umi, bank.data.config.oracleKeys.map((x) => (0, umi_web3js_adapters_1.toWeb3JsPublicKey)(x)))
79
+ : (0, umi_web3js_adapters_1.toWeb3JsPublicKey)(bank.data.config.oracleKeys[0]);
92
80
  return priceOracle;
93
81
  }
94
82
  function findMarginfiAccounts(bank) {
@@ -15,13 +15,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
25
35
  Object.defineProperty(exports, "__esModule", { value: true });
26
36
  exports.fetchTokenPrices = fetchTokenPrices;
27
37
  exports.getPythPrices = getPythPrices;
@@ -15,13 +15,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
25
35
  var __importDefault = (this && this.__importDefault) || function (mod) {
26
36
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
37
  };
@@ -50,4 +50,4 @@ async function createTokenAccounts(wallet: PublicKey) {
50
50
  }
51
51
  }
52
52
 
53
- createTokenAccounts(SOLAUTO_FEES_WALLET);
53
+ createTokenAccounts(SOLAUTO_FEES_WALLET).catch((e) => console.log(e));
@@ -48,7 +48,7 @@ export async function main() {
48
48
 
49
49
  await client.initializeExistingSolautoPosition({
50
50
  positionId: 1,
51
- authority: new PublicKey("61rtn5tzVkesapo6Cz83SPoShUfAePSxJsqniuF2wRKC"),
51
+ authority: new PublicKey("7rujyCAvZYsd3kmfhEN6YmsRLpobtzsqrsZAKv5Mgkob"),
52
52
  // lpUserAccount: new PublicKey(
53
53
  // "GEokw9jqbh6d1xUNA3qaeYFFetbSR5Y1nt7C3chwwgSz"
54
54
  // ),
@@ -7,6 +7,7 @@ import {
7
7
  SWITCHBOARD_PRICE_FEED_IDS,
8
8
  ALL_SUPPORTED_TOKENS,
9
9
  getTokenAccounts,
10
+ PYTH_ORACLE_ACCOUNTS,
10
11
  } from "../src";
11
12
  import { updateLookupTable } from "./shared";
12
13
 
@@ -30,6 +31,7 @@ export async function updateSolautoLut(additionalAccounts?: string[]) {
30
31
  ...solautoManagerTokenAccounts.map((x) => x.toString()),
31
32
  ...solautoFeeWalletTokenAccounts.map((x) => x.toString()),
32
33
  ...Object.values(SWITCHBOARD_PRICE_FEED_IDS).map((x) => x.feedId),
34
+ ...Object.values(PYTH_ORACLE_ACCOUNTS),
33
35
  ...(additionalAccounts ?? []),
34
36
  ],
35
37
  LOOKUP_TABLE_ADDRESS
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@haven-fi/solauto-sdk",
3
- "version": "1.0.786",
3
+ "version": "1.0.788",
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",
@@ -138,6 +138,11 @@ const MARGINFI_PROD_ACCOUNTS: MarginfiBankAccountsMap = {
138
138
  liquidityVault: "4kT3EXc5dDVndUU9mV6EH3Jh3CSEvpcCZjuMkwqrtxUy",
139
139
  vaultAuthority: "9gNrvvZ9RuTyRWooiEEypwcXU6kyXW8yWuhXU8tWUH5L",
140
140
  },
141
+ [tokens.PUMP]: {
142
+ bank: "61Qx9kgWo9RVtPHf8Rku6gbaUtcnzgkpAuifQBUcMRVK",
143
+ liquidityVault: "6FxnrCaJNHLyrFy6EPtqFjoUK5iRxDQbaVo1bA69nDhH",
144
+ vaultAuthority: "6VL2QW6sy8cjxL24xHL7eFbnUSi35DMJd8AzRwssSs9y"
145
+ }
141
146
  },
142
147
  ["DQ2jqDJw9uzTwttf6h6r217BQ7kws3jZbJXDkfbCJa1q"]: {
143
148
  [tokens.POPCAT]: {
@@ -45,4 +45,10 @@ export const PYTH_PRICE_FEED_IDS = {
45
45
  "0x72b021217ca3fe68922a19aaf990109cb9d84e9ad004b4d2025ad6f529314419",
46
46
  [tokens.WIF]:
47
47
  "0x4ca4beeca86f0d164160323817a4e42b10010a724c2217c6ee41b54cd4cc61fc",
48
+ [tokens.PUMP]:
49
+ "0x7a01fca212788bba7c5bf8c9efd576a8a722f070d2c17596ff7bb609b8d5c3b9",
50
+ };
51
+
52
+ export const PYTH_ORACLE_ACCOUNTS = {
53
+ [tokens.PUMP]: "HMm3GPbdnqGwbkTnUUqCFsH8AMHDdEC3Lg8gcPD3HJSH",
48
54
  };
@@ -24,6 +24,7 @@ export const POPCAT = "7GCihgDB8fe6KNjn2MYtkzZcRjQy3t9GHdC8uHYmW2hr";
24
24
  export const RETARDIO = "6ogzHhzdrQr9Pgv6hZ2MNze7UrzBMAFyBBWUYp1Fhitx";
25
25
  export const BILLY = "3B5wuUrMEi5yATD7on46hKfej3pfmd7t1RKgrsN3pump";
26
26
  export const HMTR = "7JhmUcZrrfhyt5nTSu3AfsrUq2L9992a7AhwdSDxdoL2";
27
+ export const PUMP = "pumpCmXqMfrsAkQ5r49WcJnRayYRqmXz6ae8H7H9Dfn";
27
28
 
28
29
  export const ALL_SUPPORTED_TOKENS = [
29
30
  NATIVE_MINT.toString(),
@@ -49,6 +50,7 @@ export const ALL_SUPPORTED_TOKENS = [
49
50
  RETARDIO,
50
51
  BILLY,
51
52
  HMTR,
53
+ PUMP,
52
54
  ];
53
55
 
54
56
  export interface TokenInfo {
@@ -193,6 +195,11 @@ export const TOKEN_INFO: { [key: string]: TokenInfo } = {
193
195
  decimals: 0,
194
196
  isMeme: true,
195
197
  },
198
+ [PUMP]: {
199
+ ticker: "PUMP",
200
+ name: "Pump.fun",
201
+ decimals: 6,
202
+ }
196
203
  };
197
204
 
198
205
  export const MAJORS_PRIO = {
@@ -90,7 +90,7 @@ export function solautoAction<K extends SolautoActionArgs['__kind']>(
90
90
  data?: any
91
91
  ): Extract<SolautoActionArgs, { __kind: K }> {
92
92
  return Array.isArray(data)
93
- ? { __kind: kind, fields: data }
93
+ ? { __kind: kind, fields: data } as Extract<SolautoActionArgs, { __kind: K }>
94
94
  : { __kind: kind, ...(data ?? {}) };
95
95
  }
96
96
  export function isSolautoAction<K extends SolautoAction['__kind']>(
@@ -56,7 +56,7 @@ export function tokenBalanceAmount<K extends TokenBalanceAmountArgs['__kind']>(
56
56
  data?: any
57
57
  ): Extract<TokenBalanceAmountArgs, { __kind: K }> {
58
58
  return Array.isArray(data)
59
- ? { __kind: kind, fields: data }
59
+ ? { __kind: kind, fields: data } as Extract<TokenBalanceAmountArgs, { __kind: K }>
60
60
  : { __kind: kind, ...(data ?? {}) };
61
61
  }
62
62
  export function isTokenBalanceAmount<K extends TokenBalanceAmount['__kind']>(
@@ -125,15 +125,14 @@ export function repay(client: SolautoClient, amount: "All" | bigint) {
125
125
  export function rebalance(
126
126
  client: SolautoClient,
127
127
  targetLiqUtilizationRateBps?: number,
128
- bpsDistanceFromRebalance?: number,
129
- optimizeSize?: boolean
128
+ bpsDistanceFromRebalance?: number
130
129
  ) {
131
130
  return new TransactionItem(
132
131
  async (attemptNum, prevError) =>
133
132
  await new RebalanceTxBuilder(
134
133
  client,
135
134
  targetLiqUtilizationRateBps,
136
- optimizeSize || (attemptNum > 2 && prevError instanceof TransactionTooLargeError),
135
+ attemptNum > 2 && prevError instanceof TransactionTooLargeError,
137
136
  bpsDistanceFromRebalance
138
137
  ).buildRebalanceTx(attemptNum),
139
138
  "rebalance",
@@ -69,15 +69,7 @@ export async function getAllBankRelatedAccounts(
69
69
  );
70
70
 
71
71
  const oracles = banksData
72
- .map((bank) => {
73
- const oracleKey = toWeb3JsPublicKey(bank.config.oracleKeys[0]);
74
- return bank.config.oracleSetup === OracleSetup.PythPushOracle
75
- ? [
76
- getPythPushOracleAddress(oracleKey, PYTH_SPONSORED_SHARD_ID),
77
- getPythPushOracleAddress(oracleKey, MARGINFI_SPONSORED_SHARD_ID),
78
- ]
79
- : [oracleKey];
80
- })
72
+ .map((bank) => bank.config.oracleKeys.map((x) => toWeb3JsPublicKey(x)))
81
73
  .flat()
82
74
  .map((x) => x.toString());
83
75
 
@@ -118,14 +110,13 @@ export async function getMarginfiPriceOracle(
118
110
  bank.data = await fetchBank(umi, fromWeb3JsPublicKey(bank.pk!));
119
111
  }
120
112
 
121
- const oracleKey = toWeb3JsPublicKey(bank.data.config.oracleKeys[0]);
122
113
  const priceOracle =
123
114
  bank.data.config.oracleSetup === OracleSetup.PythPushOracle
124
- ? await getMostUpToDatePythOracle(umi, [
125
- getPythPushOracleAddress(oracleKey, PYTH_SPONSORED_SHARD_ID),
126
- getPythPushOracleAddress(oracleKey, MARGINFI_SPONSORED_SHARD_ID),
127
- ])
128
- : oracleKey;
115
+ ? await getMostUpToDatePythOracle(
116
+ umi,
117
+ bank.data.config.oracleKeys.map((x) => toWeb3JsPublicKey(x))
118
+ )
119
+ : toWeb3JsPublicKey(bank.data.config.oracleKeys[0]);
129
120
 
130
121
  return priceOracle;
131
122
  }