@haven-fi/solauto-sdk 1.0.646 → 1.0.648
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/services/rebalance/rebalanceSwapManager.d.ts.map +1 -1
- package/dist/services/rebalance/rebalanceSwapManager.js +0 -2
- package/dist/services/swap/jupSwapManager.d.ts.map +1 -1
- package/dist/services/swap/jupSwapManager.js +3 -1
- package/dist/utils/instructionUtils.d.ts.map +1 -1
- package/dist/utils/instructionUtils.js +0 -3
- package/package.json +1 -1
- package/src/services/rebalance/rebalanceSwapManager.ts +0 -3
- package/src/services/swap/jupSwapManager.ts +6 -1
- package/src/utils/instructionUtils.ts +0 -2
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"rebalanceSwapManager.d.ts","sourceRoot":"","sources":["../../../src/services/rebalance/rebalanceSwapManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAkB,UAAU,EAAa,MAAM,SAAS,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAWpD,qBAAa,oBAAoB;IAQ7B,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,cAAc,CAAC;IACvB,OAAO,CAAC,2BAA2B,CAAC;IAV/B,UAAU,EAAG,UAAU,CAAC;IACxB,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IAE/B,OAAO,CAAC,cAAc,CAAkB;gBAG9B,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,eAAe,EACvB,cAAc,CAAC,EAAE,qBAAqB,YAAA,EACtC,2BAA2B,CAAC,EAAE,MAAM,YAAA;IAK9C,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,kCAAkC;YA2B5B,mBAAmB;IAoCjC,OAAO,CAAC,WAAW;IAoBnB,OAAO,CAAC,mBAAmB;IAIrB,aAAa,CAAC,UAAU,EAAE,MAAM;
|
1
|
+
{"version":3,"file":"rebalanceSwapManager.d.ts","sourceRoot":"","sources":["../../../src/services/rebalance/rebalanceSwapManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAkB,UAAU,EAAa,MAAM,SAAS,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAWpD,qBAAa,oBAAoB;IAQ7B,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,cAAc,CAAC;IACvB,OAAO,CAAC,2BAA2B,CAAC;IAV/B,UAAU,EAAG,UAAU,CAAC;IACxB,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IAE/B,OAAO,CAAC,cAAc,CAAkB;gBAG9B,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,eAAe,EACvB,cAAc,CAAC,EAAE,qBAAqB,YAAA,EACtC,2BAA2B,CAAC,EAAE,MAAM,YAAA;IAK9C,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,kCAAkC;YA2B5B,mBAAmB;IAoCjC,OAAO,CAAC,WAAW;IAoBnB,OAAO,CAAC,mBAAmB;IAIrB,aAAa,CAAC,UAAU,EAAE,MAAM;IA4EhC,aAAa;;;;;;CAWpB"}
|
@@ -102,14 +102,12 @@ class RebalanceSwapManager {
|
|
102
102
|
: inputAmount;
|
103
103
|
const inputMint = (0, umi_web3js_adapters_1.toWeb3JsPublicKey)(input.mint);
|
104
104
|
const outputMint = (0, umi_web3js_adapters_1.toWeb3JsPublicKey)(output.mint);
|
105
|
-
const swappingMeme = (0, utils_1.tokenInfo)(inputMint).isMeme || (0, utils_1.tokenInfo)(outputMint).isMeme;
|
106
105
|
const swapInput = {
|
107
106
|
inputMint,
|
108
107
|
outputMint,
|
109
108
|
exactIn,
|
110
109
|
exactOut,
|
111
110
|
amount: swapAmount,
|
112
|
-
slippageBps: swappingMeme ? 250 : 100,
|
113
111
|
};
|
114
112
|
(0, utils_1.consoleLog)("Swap input:", swapInput);
|
115
113
|
if (exactIn && (rebalanceToZero || this.values.repayingCloseToMaxLtv)) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"jupSwapManager.d.ts","sourceRoot":"","sources":["../../../src/services/swap/jupSwapManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EACL,MAAM,EACN,kBAAkB,EAEnB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAEL,aAAa,EAEd,MAAM,aAAa,CAAC;
|
1
|
+
{"version":3,"file":"jupSwapManager.d.ts","sourceRoot":"","sources":["../../../src/services/swap/jupSwapManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EACL,MAAM,EACN,kBAAkB,EAEnB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAEL,aAAa,EAEd,MAAM,aAAa,CAAC;AAWrB,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAEpD,MAAM,WAAW,SAAS;IACxB,SAAS,EAAE,SAAS,CAAC;IACrB,UAAU,EAAE,SAAS,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,UAAW,SAAQ,SAAS;IAC3C,iBAAiB,CAAC,EAAE,SAAS,CAAC;IAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,aAAa,CAAC;IACxB,OAAO,EAAE,kBAAkB,CAAC;IAC5B,MAAM,EAAE,kBAAkB,CAAC;IAC3B,SAAS,EAAE,kBAAkB,CAAC;IAC9B,oBAAoB,EAAE,MAAM,EAAE,CAAC;CAChC;AAED,qBAAa,cAAc;IAKb,OAAO,CAAC,MAAM;IAJ1B,MAAM,mCAA4B;IAE3B,QAAQ,EAAE,aAAa,GAAG,SAAS,CAAa;gBAEnC,MAAM,EAAE,MAAM;IAErB,QAAQ,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC;YAwBhD,kBAAkB;IAsChC,cAAc;IAId,OAAO,CAAC,0BAA0B;IAQlC,OAAO,CAAC,0BAA0B;IAc5B,gBAAgB,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,sBAAsB,CAAC;IA2CnE,SAAS,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,qBAAqB,CAAC;CAYlE"}
|
@@ -12,6 +12,8 @@ class JupSwapManager {
|
|
12
12
|
this.jupQuote = undefined;
|
13
13
|
}
|
14
14
|
async getQuote(data) {
|
15
|
+
const memeSwap = (0, utils_1.tokenInfo)(data.inputMint).isMeme || (0, utils_1.tokenInfo)(data.outputMint).isMeme;
|
16
|
+
const slippageBps = data.slippageBps ?? (memeSwap ? 250 : 100);
|
15
17
|
return await (0, utils_1.retryWithExponentialBackoff)(async (attemptNum) => await this.jupApi.quoteGet({
|
16
18
|
amount: Number(data.amount),
|
17
19
|
inputMint: data.inputMint.toString(),
|
@@ -21,7 +23,7 @@ class JupSwapManager {
|
|
21
23
|
: data.exactIn
|
22
24
|
? "ExactIn"
|
23
25
|
: undefined,
|
24
|
-
slippageBps
|
26
|
+
slippageBps,
|
25
27
|
maxAccounts: !data.exactOut ? 15 + attemptNum * 5 : undefined,
|
26
28
|
}), 4, 150);
|
27
29
|
}
|
@@ -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,gCAAgC,EACjC,MAAM,cAAc,CAAC;AACtB,OAAO,EAGL,aAAa,EAEb,eAAe,EAChB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAI5C,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,aAAa,EACrB,aAAa,EAAE,gCAAgC,EAC/C,GAAG,CAAC,EAAE,kBAAkB,mBAQzB;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,mBAUnE;AAED,wBAAgB,QAAQ,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,KAAK,GAAG,MAAM,mBAcrE;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,mBAUrC;AAED,wBAAgB,eAAe,CAC7B,MAAM,EAAE,aAAa,EACrB,WAAW,EAAE,SAAS,EACtB,qBAAqB,EAAE,MAAM,
|
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,gCAAgC,EACjC,MAAM,cAAc,CAAC;AACtB,OAAO,EAGL,aAAa,EAEb,eAAe,EAChB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAI5C,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,aAAa,EACrB,aAAa,EAAE,gCAAgC,EAC/C,GAAG,CAAC,EAAE,kBAAkB,mBAQzB;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,mBAUnE;AAED,wBAAgB,QAAQ,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,KAAK,GAAG,MAAM,mBAcrE;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,mBAUrC;AAED,wBAAgB,eAAe,CAC7B,MAAM,EAAE,aAAa,EACrB,WAAW,EAAE,SAAS,EACtB,qBAAqB,EAAE,MAAM,qBAyC9B"}
|
@@ -12,7 +12,6 @@ exports.rebalance = rebalance;
|
|
12
12
|
exports.swapThenDeposit = swapThenDeposit;
|
13
13
|
const umi_1 = require("@metaplex-foundation/umi");
|
14
14
|
const services_1 = require("../services");
|
15
|
-
const generalUtils_1 = require("./generalUtils");
|
16
15
|
const umi_web3js_adapters_1 = require("@metaplex-foundation/umi-web3js-adapters");
|
17
16
|
function openSolautoPosition(client, settingParams, dca) {
|
18
17
|
return new services_1.TransactionItem(async () => ({
|
@@ -84,13 +83,11 @@ function rebalance(client, targetLiqUtilizationRateBps) {
|
|
84
83
|
function swapThenDeposit(client, depositMint, depositAmountBaseUnit) {
|
85
84
|
return [
|
86
85
|
new services_1.TransactionItem(async () => {
|
87
|
-
const memeSwap = (0, generalUtils_1.tokenInfo)(client.pos.supplyMint).isMeme;
|
88
86
|
const swapInput = {
|
89
87
|
inputMint: depositMint,
|
90
88
|
outputMint: client.pos.supplyMint,
|
91
89
|
amount: depositAmountBaseUnit,
|
92
90
|
exactIn: true,
|
93
|
-
slippageBps: memeSwap ? 250 : 100,
|
94
91
|
};
|
95
92
|
const jupSwapManager = new services_1.JupSwapManager(client.signer);
|
96
93
|
const { setupIx, swapIx, cleanupIx, lookupTableAddresses } = await jupSwapManager.getJupSwapTxData({
|
package/package.json
CHANGED
@@ -166,15 +166,12 @@ export class RebalanceSwapManager {
|
|
166
166
|
|
167
167
|
const inputMint = toWeb3JsPublicKey(input.mint);
|
168
168
|
const outputMint = toWeb3JsPublicKey(output.mint);
|
169
|
-
const swappingMeme =
|
170
|
-
tokenInfo(inputMint).isMeme || tokenInfo(outputMint).isMeme;
|
171
169
|
const swapInput: SwapInput = {
|
172
170
|
inputMint,
|
173
171
|
outputMint,
|
174
172
|
exactIn,
|
175
173
|
exactOut,
|
176
174
|
amount: swapAmount,
|
177
|
-
slippageBps: swappingMeme ? 250 : 100,
|
178
175
|
};
|
179
176
|
consoleLog("Swap input:", swapInput);
|
180
177
|
|
@@ -18,6 +18,7 @@ import {
|
|
18
18
|
toBps,
|
19
19
|
getTokenAccount,
|
20
20
|
jupIxToSolanaIx,
|
21
|
+
tokenInfo,
|
21
22
|
} from "../../utils";
|
22
23
|
import { TransactionItemInputs } from "../../types";
|
23
24
|
|
@@ -52,6 +53,10 @@ export class JupSwapManager {
|
|
52
53
|
constructor(private signer: Signer) {}
|
53
54
|
|
54
55
|
public async getQuote(data: SwapInput): Promise<QuoteResponse> {
|
56
|
+
const memeSwap =
|
57
|
+
tokenInfo(data.inputMint).isMeme || tokenInfo(data.outputMint).isMeme;
|
58
|
+
const slippageBps = data.slippageBps ?? (memeSwap ? 250 : 100);
|
59
|
+
|
55
60
|
return await retryWithExponentialBackoff(
|
56
61
|
async (attemptNum: number) =>
|
57
62
|
await this.jupApi.quoteGet({
|
@@ -63,7 +68,7 @@ export class JupSwapManager {
|
|
63
68
|
: data.exactIn
|
64
69
|
? "ExactIn"
|
65
70
|
: undefined,
|
66
|
-
slippageBps
|
71
|
+
slippageBps,
|
67
72
|
maxAccounts: !data.exactOut ? 15 + attemptNum * 5 : undefined,
|
68
73
|
}),
|
69
74
|
4,
|
@@ -139,13 +139,11 @@ export function swapThenDeposit(
|
|
139
139
|
) {
|
140
140
|
return [
|
141
141
|
new TransactionItem(async () => {
|
142
|
-
const memeSwap = tokenInfo(client.pos.supplyMint).isMeme;
|
143
142
|
const swapInput: SwapInput = {
|
144
143
|
inputMint: depositMint,
|
145
144
|
outputMint: client.pos.supplyMint,
|
146
145
|
amount: depositAmountBaseUnit,
|
147
146
|
exactIn: true,
|
148
|
-
slippageBps: memeSwap ? 250 : 100,
|
149
147
|
};
|
150
148
|
const jupSwapManager = new JupSwapManager(client.signer);
|
151
149
|
const { setupIx, swapIx, cleanupIx, lookupTableAddresses } =
|