@haven-fi/solauto-sdk 1.0.543 → 1.0.545
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.
- package/dist/constants/solautoConstants.d.ts +1 -1
- package/dist/constants/solautoConstants.d.ts.map +1 -1
- package/dist/constants/solautoConstants.js +5 -2
- package/dist/utils/jitoUtils.d.ts.map +1 -1
- package/dist/utils/jitoUtils.js +14 -2
- package/dist/utils/jupiterUtils.js +1 -1
- package/local/logPositions.ts +3 -10
- package/local/shared.ts +22 -10
- package/local/updateSolautoLUT.ts +1 -1
- package/package.json +1 -1
- package/src/constants/solautoConstants.ts +5 -2
- package/src/utils/jitoUtils.ts +15 -8
- package/src/utils/jupiterUtils.ts +1 -1
- package/tests/transactions/solautoMarginfi.ts +39 -13
@@ -14,7 +14,7 @@ export declare const PRICES: {
|
|
14
14
|
};
|
15
15
|
export declare const JITO_BLOCK_ENGINE = "https://mainnet.block-engine.jito.wtf";
|
16
16
|
export declare const JITO_TIP_ACCOUNTS: string[];
|
17
|
-
export declare const SOLAUTO_LUT = "
|
17
|
+
export declare const SOLAUTO_LUT = "8b7KefQDroVLGao71J5H3hFwABeyMCgCrLpXWssNFhk9";
|
18
18
|
export declare const STANDARD_LUT_ACCOUNTS: string[];
|
19
19
|
export declare const BROKEN_TOKENS: string[];
|
20
20
|
//# sourceMappingURL=solautoConstants.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"solautoConstants.d.ts","sourceRoot":"","sources":["../../src/constants/solautoConstants.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,SAAS,EACV,MAAM,iBAAiB,CAAC;AASzB,eAAO,MAAM,oBAAoB,WAEhC,CAAC;AACF,eAAO,MAAM,oBAAoB,WAEhC,CAAC;AAIF,eAAO,MAAM,YAAY,QAAQ,CAAC;AAElC,eAAO,MAAM,iCAAiC,IAAI,CAAC;AACnD,eAAO,MAAM,iBAAiB,KAAK,CAAC;AACpC,eAAO,MAAM,iBAAiB,KAAK,CAAC;AACpC,eAAO,MAAM,0BAA0B,OAAO,CAAC;AAE/C,eAAO,MAAM,MAAM,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;CAAO,CAAC;AAE7E,eAAO,MAAM,iBAAiB,0CAA0C,CAAC;AAEzE,eAAO,MAAM,iBAAiB,UAS7B,CAAC;
|
1
|
+
{"version":3,"file":"solautoConstants.d.ts","sourceRoot":"","sources":["../../src/constants/solautoConstants.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,SAAS,EACV,MAAM,iBAAiB,CAAC;AASzB,eAAO,MAAM,oBAAoB,WAEhC,CAAC;AACF,eAAO,MAAM,oBAAoB,WAEhC,CAAC;AAIF,eAAO,MAAM,YAAY,QAAQ,CAAC;AAElC,eAAO,MAAM,iCAAiC,IAAI,CAAC;AACnD,eAAO,MAAM,iBAAiB,KAAK,CAAC;AACpC,eAAO,MAAM,iBAAiB,KAAK,CAAC;AACpC,eAAO,MAAM,0BAA0B,OAAO,CAAC;AAE/C,eAAO,MAAM,MAAM,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;CAAO,CAAC;AAE7E,eAAO,MAAM,iBAAiB,0CAA0C,CAAC;AAEzE,eAAO,MAAM,iBAAiB,UAS7B,CAAC;AAMF,eAAO,MAAM,WAAW,iDAAiD,CAAC;AAC1E,eAAO,MAAM,qBAAqB,UAYR,CAAC;AAG3B,eAAO,MAAM,aAAa,UAOzB,CAAA"}
|
@@ -26,7 +26,11 @@ exports.JITO_TIP_ACCOUNTS = [
|
|
26
26
|
"DttWaMuVvTiduZRnguLF7jNxTgiMBZ1hyAumKUiL2KRL",
|
27
27
|
"3AVi9Tg9Uo68tJfuvoKvqKNWKkC5wPdSSdeBnizKZ6jT",
|
28
28
|
];
|
29
|
-
|
29
|
+
// "9D4xwZwDf46n9ft5gQxZzq3rBbdRXsXojKQLZbBdskPY";
|
30
|
+
// "J97FEQeJzChRnaAjNy3dRvm9FBavKqAdxo8jKXzw17ut"
|
31
|
+
// "ByhmNseaYZXBDcBm6xhbgarwixgjym6H4ddLsvgoL3BL"
|
32
|
+
// "2VJK8AHqtiaiJKYbBtFr3EHV4Hcy1FHCiEYQFmUvxot8"
|
33
|
+
exports.SOLAUTO_LUT = "8b7KefQDroVLGao71J5H3hFwABeyMCgCrLpXWssNFhk9";
|
30
34
|
exports.STANDARD_LUT_ACCOUNTS = [
|
31
35
|
web3_js_1.PublicKey.default,
|
32
36
|
exports.SOLAUTO_PROD_PROGRAM,
|
@@ -39,7 +43,6 @@ exports.STANDARD_LUT_ACCOUNTS = [
|
|
39
43
|
web3_js_1.SYSVAR_RENT_PUBKEY,
|
40
44
|
web3_js_1.SYSVAR_INSTRUCTIONS_PUBKEY,
|
41
45
|
jupiter_sdk_1.JUPITER_PROGRAM_ID,
|
42
|
-
...exports.JITO_TIP_ACCOUNTS
|
43
46
|
].map((x) => x.toString());
|
44
47
|
// TODO:
|
45
48
|
exports.BROKEN_TOKENS = [
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"jitoUtils.d.ts","sourceRoot":"","sources":["../../src/utils/jitoUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,SAAS,EAKV,MAAM,iBAAiB,CAAC;AAMzB,OAAO,EACL,MAAM,EACN,kBAAkB,EAClB,GAAG,EAEH,kBAAkB,EAEnB,MAAM,0BAA0B,CAAC;AAQlC,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAMlE,wBAAgB,mBAAmB,IAAI,SAAS,CAG/C;
|
1
|
+
{"version":3,"file":"jitoUtils.d.ts","sourceRoot":"","sources":["../../src/utils/jitoUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,SAAS,EAKV,MAAM,iBAAiB,CAAC;AAMzB,OAAO,EACL,MAAM,EACN,kBAAkB,EAClB,GAAG,EAEH,kBAAkB,EAEnB,MAAM,0BAA0B,CAAC;AAQlC,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAMlE,wBAAgB,mBAAmB,IAAI,SAAS,CAG/C;AAqOD,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,kBAAkB;;;;IAkB7D;AAED,wBAAsB,2BAA2B,CAC/C,GAAG,EAAE,GAAG,EACR,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EAAE,EACtB,GAAG,EAAE,kBAAkB,EAAE,EACzB,MAAM,CAAC,EAAE,kBAAkB,EAC3B,kBAAkB,GAAE,kBAA2C,EAC/D,cAAc,CAAC,EAAE,MAAM,IAAI,GAC1B,OAAO,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC,CA+F/B"}
|
package/dist/utils/jitoUtils.js
CHANGED
@@ -93,7 +93,7 @@ async function simulateJitoBundle(umi, txs) {
|
|
93
93
|
else if (res.error && res.error.message) {
|
94
94
|
throw new Error(res.error.message);
|
95
95
|
}
|
96
|
-
return res;
|
96
|
+
return res.result.value;
|
97
97
|
});
|
98
98
|
const transactionResults = simulationResult.transactionResults;
|
99
99
|
return transactionResults;
|
@@ -170,6 +170,12 @@ async function sendJitoBundle(umi, transactions) {
|
|
170
170
|
throw e;
|
171
171
|
}
|
172
172
|
}
|
173
|
+
if (resp?.data?.error?.message === "All providers failed") {
|
174
|
+
throw new Error(resp.data.error.responses[0].response.error.message);
|
175
|
+
}
|
176
|
+
else if (resp.data.error) {
|
177
|
+
throw new Error(resp.data.error);
|
178
|
+
}
|
173
179
|
const bundleId = resp.data.result;
|
174
180
|
(0, generalUtils_1.consoleLog)("Bundle ID:", bundleId);
|
175
181
|
return bundleId ? await pollBundleStatus(umi, bundleId) : [];
|
@@ -207,7 +213,6 @@ async function sendJitoBundledTransactions(umi, connection, userSigner, otherSig
|
|
207
213
|
let simulationResults;
|
208
214
|
if (txType !== "skip-simulation") {
|
209
215
|
builtTxs = await umiToVersionedTransactions(umi, latestBlockhash, userSigner, otherSigners, txs, false, feeEstimates);
|
210
|
-
(0, generalUtils_1.consoleLog)(builtTxs.map((x) => x.message.compiledInstructions.map((y) => x.message.staticAccountKeys[y.programIdIndex].toString())));
|
211
216
|
simulationResults = await simulateJitoBundle(umi, builtTxs);
|
212
217
|
}
|
213
218
|
if (txType !== "only-simulate") {
|
@@ -215,6 +220,13 @@ async function sendJitoBundledTransactions(umi, connection, userSigner, otherSig
|
|
215
220
|
builtTxs = await umiToVersionedTransactions(umi, latestBlockhash, userSigner, otherSigners, txs, true, feeEstimates, simulationResults
|
216
221
|
? simulationResults.map((x) => x.unitsConsumed * 1.15)
|
217
222
|
: undefined);
|
223
|
+
// consoleLog(
|
224
|
+
// builtTxs.map((x) =>
|
225
|
+
// x.message.compiledInstructions.map((y) =>
|
226
|
+
// x.message.staticAccountKeys[y.programIdIndex].toString()
|
227
|
+
// )
|
228
|
+
// )
|
229
|
+
// );
|
218
230
|
const serializedTxs = builtTxs.map((x) => x.serialize());
|
219
231
|
if (serializedTxs.find((x) => x.length > 1232)) {
|
220
232
|
throw new Error("A transaction is too large");
|
@@ -101,7 +101,7 @@ async function getJupPriceData(mints, mayIncludeSpamTokens) {
|
|
101
101
|
if (invalidValues && !mayIncludeSpamTokens) {
|
102
102
|
throw new Error("Invalid price values");
|
103
103
|
}
|
104
|
-
const trueData = Object.entries(result).reduce((acc, [key, val]) => val
|
104
|
+
const trueData = Object.entries(result).reduce((acc, [key, val]) => !val?.extraInfo?.quotedPrice?.sellAt
|
105
105
|
? { ...acc, [key]: { ...val, price: "0" } }
|
106
106
|
: { ...acc, [key]: val }, {});
|
107
107
|
return trueData;
|
package/local/logPositions.ts
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
import { publicKey } from "@metaplex-foundation/umi";
|
2
2
|
import {
|
3
|
-
|
3
|
+
buildIronforgeApiUrl,
|
4
4
|
calcNetWorthUsd,
|
5
5
|
calcSupplyUsd,
|
6
6
|
currentUnixSeconds,
|
@@ -20,17 +20,10 @@ import { PublicKey } from "@solana/web3.js";
|
|
20
20
|
import { toWeb3JsPublicKey } from "@metaplex-foundation/umi-web3js-adapters";
|
21
21
|
import path from "path";
|
22
22
|
import { config } from "dotenv";
|
23
|
+
import { getBatches } from "./shared";
|
23
24
|
|
24
25
|
config({ path: path.join(__dirname, ".env") });
|
25
26
|
|
26
|
-
function getBatches<T>(items: T[], batchSize: number): T[][] {
|
27
|
-
const batches: T[][] = [];
|
28
|
-
for (let i = 0; i < items.length; i += batchSize) {
|
29
|
-
batches.push(items.slice(i, i + batchSize));
|
30
|
-
}
|
31
|
-
return batches;
|
32
|
-
}
|
33
|
-
|
34
27
|
export function roundToDecimals(value: number, decimals: number = 2): number {
|
35
28
|
if (!value || isNaN(value)) {
|
36
29
|
return value;
|
@@ -96,7 +89,7 @@ export function formatNumber(
|
|
96
89
|
|
97
90
|
async function main(filterWhitelist: boolean) {
|
98
91
|
const [_, umi] = getSolanaRpcConnection(
|
99
|
-
|
92
|
+
buildIronforgeApiUrl(process.env.IRONFORGE_API_KEY!),
|
100
93
|
SOLAUTO_PROD_PROGRAM
|
101
94
|
);
|
102
95
|
|
package/local/shared.ts
CHANGED
@@ -10,6 +10,14 @@ import {
|
|
10
10
|
} from "@solana/web3.js";
|
11
11
|
import { buildHeliusApiUrl, getSolanaRpcConnection } from "../src/utils/solanaUtils";
|
12
12
|
|
13
|
+
export function getBatches<T>(items: T[], batchSize: number): T[][] {
|
14
|
+
const batches: T[][] = [];
|
15
|
+
for (let i = 0; i < items.length; i += batchSize) {
|
16
|
+
batches.push(items.slice(i, i + batchSize));
|
17
|
+
}
|
18
|
+
return batches;
|
19
|
+
}
|
20
|
+
|
13
21
|
function loadSecretKey(keypairPath: string) {
|
14
22
|
const secretKey = JSON.parse(fs.readFileSync(keypairPath, "utf8"));
|
15
23
|
return new Uint8Array(secretKey);
|
@@ -59,16 +67,20 @@ async function addAddressesIfNeeded(
|
|
59
67
|
const addresses = addressesToAdd
|
60
68
|
.filter((x) => !existingAddresses.includes(x))
|
61
69
|
.map((x) => new PublicKey(x));
|
62
|
-
|
70
|
+
|
63
71
|
if (addresses.length > 0) {
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
+
const batches = getBatches(addresses, 20);
|
73
|
+
for (const addressBatch of batches) {
|
74
|
+
console.log(addressBatch.map(x => x.toString()));
|
75
|
+
await createAndSendV0Tx([
|
76
|
+
AddressLookupTableProgram.extendLookupTable({
|
77
|
+
payer: keypair.publicKey,
|
78
|
+
authority: keypair.publicKey,
|
79
|
+
lookupTable: lookupTableAddress,
|
80
|
+
addresses: addressBatch,
|
81
|
+
}),
|
82
|
+
]);
|
83
|
+
}
|
72
84
|
}
|
73
85
|
}
|
74
86
|
|
@@ -87,7 +99,7 @@ export async function updateLookupTable(
|
|
87
99
|
});
|
88
100
|
lookupTableAddress = addr;
|
89
101
|
console.log("Lookup Table Address:", lookupTableAddress.toString());
|
90
|
-
createAndSendV0Tx([createLutIx]);
|
102
|
+
await createAndSendV0Tx([createLutIx]);
|
91
103
|
}
|
92
104
|
|
93
105
|
const existingAccounts =
|
@@ -17,7 +17,7 @@ import {
|
|
17
17
|
} from "../src/utils";
|
18
18
|
import { SWITCHBOARD_PRICE_FEED_IDS } from "../src/constants/switchboardConstants";
|
19
19
|
|
20
|
-
const LOOKUP_TABLE_ADDRESS = new PublicKey(SOLAUTO_LUT);
|
20
|
+
const LOOKUP_TABLE_ADDRESS = Boolean(SOLAUTO_LUT) ? new PublicKey(SOLAUTO_LUT) : undefined;
|
21
21
|
const solautoManagerTokenAccounts = getTokenAccounts(
|
22
22
|
SOLAUTO_MANAGER,
|
23
23
|
ALL_SUPPORTED_TOKENS.map((x) => new PublicKey(x))
|
package/package.json
CHANGED
@@ -44,7 +44,11 @@ export const JITO_TIP_ACCOUNTS = [
|
|
44
44
|
"3AVi9Tg9Uo68tJfuvoKvqKNWKkC5wPdSSdeBnizKZ6jT",
|
45
45
|
];
|
46
46
|
|
47
|
-
|
47
|
+
// "9D4xwZwDf46n9ft5gQxZzq3rBbdRXsXojKQLZbBdskPY";
|
48
|
+
// "J97FEQeJzChRnaAjNy3dRvm9FBavKqAdxo8jKXzw17ut"
|
49
|
+
// "ByhmNseaYZXBDcBm6xhbgarwixgjym6H4ddLsvgoL3BL"
|
50
|
+
// "2VJK8AHqtiaiJKYbBtFr3EHV4Hcy1FHCiEYQFmUvxot8"
|
51
|
+
export const SOLAUTO_LUT = "8b7KefQDroVLGao71J5H3hFwABeyMCgCrLpXWssNFhk9";
|
48
52
|
export const STANDARD_LUT_ACCOUNTS = [
|
49
53
|
PublicKey.default,
|
50
54
|
SOLAUTO_PROD_PROGRAM,
|
@@ -57,7 +61,6 @@ export const STANDARD_LUT_ACCOUNTS = [
|
|
57
61
|
SYSVAR_RENT_PUBKEY,
|
58
62
|
SYSVAR_INSTRUCTIONS_PUBKEY,
|
59
63
|
JUPITER_PROGRAM_ID,
|
60
|
-
...JITO_TIP_ACCOUNTS
|
61
64
|
].map((x) => x.toString());
|
62
65
|
|
63
66
|
// TODO:
|
package/src/utils/jitoUtils.ts
CHANGED
@@ -139,7 +139,7 @@ async function simulateJitoBundle(umi: Umi, txs: VersionedTransaction[]) {
|
|
139
139
|
throw new Error(res.error.message);
|
140
140
|
}
|
141
141
|
|
142
|
-
return res;
|
142
|
+
return res.result.value;
|
143
143
|
});
|
144
144
|
|
145
145
|
const transactionResults =
|
@@ -253,6 +253,12 @@ async function sendJitoBundle(
|
|
253
253
|
}
|
254
254
|
}
|
255
255
|
|
256
|
+
if (resp?.data?.error?.message === "All providers failed") {
|
257
|
+
throw new Error(resp.data.error.responses[0].response.error.message);
|
258
|
+
} else if (resp.data.error) {
|
259
|
+
throw new Error(resp.data.error);
|
260
|
+
}
|
261
|
+
|
256
262
|
const bundleId = resp.data.result;
|
257
263
|
consoleLog("Bundle ID:", bundleId);
|
258
264
|
return bundleId ? await pollBundleStatus(umi, bundleId) : [];
|
@@ -311,6 +317,7 @@ export async function sendJitoBundledTransactions(
|
|
311
317
|
);
|
312
318
|
|
313
319
|
txs[0] = txs[0].prepend(getTipInstruction(userSigner, 150_000));
|
320
|
+
|
314
321
|
const feeEstimates =
|
315
322
|
priorityFeeSetting !== PriorityFeeSetting.None
|
316
323
|
? await Promise.all(
|
@@ -342,13 +349,6 @@ export async function sendJitoBundledTransactions(
|
|
342
349
|
false,
|
343
350
|
feeEstimates
|
344
351
|
);
|
345
|
-
consoleLog(
|
346
|
-
builtTxs.map((x) =>
|
347
|
-
x.message.compiledInstructions.map((y) =>
|
348
|
-
x.message.staticAccountKeys[y.programIdIndex].toString()
|
349
|
-
)
|
350
|
-
)
|
351
|
-
);
|
352
352
|
simulationResults = await simulateJitoBundle(umi, builtTxs);
|
353
353
|
}
|
354
354
|
|
@@ -367,6 +367,13 @@ export async function sendJitoBundledTransactions(
|
|
367
367
|
? simulationResults.map((x) => x.unitsConsumed! * 1.15)
|
368
368
|
: undefined
|
369
369
|
);
|
370
|
+
// consoleLog(
|
371
|
+
// builtTxs.map((x) =>
|
372
|
+
// x.message.compiledInstructions.map((y) =>
|
373
|
+
// x.message.staticAccountKeys[y.programIdIndex].toString()
|
374
|
+
// )
|
375
|
+
// )
|
376
|
+
// );
|
370
377
|
|
371
378
|
const serializedTxs = builtTxs.map((x) => x.serialize());
|
372
379
|
if (serializedTxs.find((x) => x.length > 1232)) {
|
@@ -204,7 +204,7 @@ export async function getJupPriceData(
|
|
204
204
|
result as { [key: string]: any }
|
205
205
|
).reduce(
|
206
206
|
(acc, [key, val]) =>
|
207
|
-
val
|
207
|
+
!val?.extraInfo?.quotedPrice?.sellAt
|
208
208
|
? { ...acc, [key]: { ...val, price: "0" } }
|
209
209
|
: { ...acc, [key]: val },
|
210
210
|
{}
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import { describe, it } from "mocha";
|
2
|
-
import { none, publicKey, some } from "@metaplex-foundation/umi";
|
2
|
+
import { none, publicKey, some, Umi } from "@metaplex-foundation/umi";
|
3
3
|
import { setupTest } from "../shared";
|
4
4
|
import { SolautoMarginfiClient } from "../../src/clients/solautoMarginfiClient";
|
5
5
|
import {
|
@@ -43,6 +43,29 @@ import {
|
|
43
43
|
import { PriorityFeeSetting } from "../../src/types";
|
44
44
|
import { buildIronforgeApiUrl, fromBaseUnit, tokenInfo, USD_DECIMALS } from "../../dist";
|
45
45
|
|
46
|
+
async function getAssets(
|
47
|
+
umi: Umi,
|
48
|
+
mints: PublicKey[]
|
49
|
+
) {
|
50
|
+
const response = await fetch(umi.rpc.getEndpoint(), {
|
51
|
+
method: 'POST',
|
52
|
+
headers: {
|
53
|
+
'Content-Type': 'application/json',
|
54
|
+
},
|
55
|
+
body: JSON.stringify({
|
56
|
+
jsonrpc: '2.0',
|
57
|
+
id: 'get-assets',
|
58
|
+
method: 'getAssetBatch',
|
59
|
+
params: {
|
60
|
+
ids: mints.map((x) => x.toString()),
|
61
|
+
},
|
62
|
+
}),
|
63
|
+
});
|
64
|
+
const res = await response.json();
|
65
|
+
return res;
|
66
|
+
}
|
67
|
+
|
68
|
+
|
46
69
|
describe("Solauto Marginfi tests", async () => {
|
47
70
|
// const signer = setupTest();
|
48
71
|
const signer = setupTest("solauto-manager");
|
@@ -62,18 +85,21 @@ describe("Solauto Marginfi tests", async () => {
|
|
62
85
|
const supplyDecimals = 6;
|
63
86
|
const debtDecimals = 6;
|
64
87
|
|
65
|
-
await client.initialize({
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
});
|
88
|
+
// await client.initialize({
|
89
|
+
// signer,
|
90
|
+
// positionId,
|
91
|
+
// authority: new PublicKey("FKYQs7KgRvaKQHxXwb8HKfoBcFdSxLL3JvHWpPdVQ16v"),
|
92
|
+
// // new: true,
|
93
|
+
// // marginfiAccount: new PublicKey(
|
94
|
+
// // ""
|
95
|
+
// // ),
|
96
|
+
// // marginfiGroup: new PublicKey(""),
|
97
|
+
// // supplyMint: new PublicKey(""),
|
98
|
+
// // debtMint: new PublicKey(USDC),
|
99
|
+
// });
|
100
|
+
|
101
|
+
console.log(await getAssets(client.umi, [NATIVE_MINT, new PublicKey(USDC)]));
|
102
|
+
return;
|
77
103
|
|
78
104
|
const transactionItems: TransactionItem[] = [];
|
79
105
|
// const settingParams: SolautoSettingsParametersInpArgs = {
|