@haven-fi/solauto-sdk 1.0.647 → 1.0.649
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/README.md +0 -1
- package/dist/generated/types/positionData.d.ts +6 -6
- package/dist/generated/types/positionData.d.ts.map +1 -1
- package/dist/generated/types/positionData.js +3 -3
- package/dist/idls/switchboard.json +1949 -1
- package/dist/pyth-sdk/accounts/index.d.ts +9 -0
- package/dist/pyth-sdk/accounts/index.d.ts.map +1 -0
- package/dist/pyth-sdk/accounts/index.js +24 -0
- package/dist/pyth-sdk/accounts/priceUpdateV2Account.d.ts +39 -0
- package/dist/pyth-sdk/accounts/priceUpdateV2Account.d.ts.map +1 -0
- package/dist/pyth-sdk/accounts/priceUpdateV2Account.js +75 -0
- package/dist/pyth-sdk/index.d.ts +10 -0
- package/dist/pyth-sdk/index.d.ts.map +1 -0
- package/dist/pyth-sdk/index.js +25 -0
- package/dist/pyth-sdk/types/index.d.ts +10 -0
- package/dist/pyth-sdk/types/index.d.ts.map +1 -0
- package/dist/pyth-sdk/types/index.js +25 -0
- package/dist/pyth-sdk/types/priceMessage.d.ts +31 -0
- package/dist/pyth-sdk/types/priceMessage.d.ts.map +1 -0
- package/dist/pyth-sdk/types/priceMessage.js +23 -0
- package/dist/pyth-sdk/types/priceUpdateV2.d.ts +24 -0
- package/dist/pyth-sdk/types/priceUpdateV2.d.ts.map +1 -0
- package/dist/pyth-sdk/types/priceUpdateV2.js +20 -0
- package/dist/services/rebalance/rebalanceSwapManager.d.ts.map +1 -1
- package/dist/services/rebalance/rebalanceSwapManager.js +0 -2
- package/dist/services/solauto/solautoClient.d.ts +0 -1
- package/dist/services/solauto/solautoClient.d.ts.map +1 -1
- package/dist/services/swap/jupSwapManager.d.ts.map +1 -1
- package/dist/services/swap/jupSwapManager.js +3 -1
- package/dist/solautoPosition/solautoPositionEx.d.ts.map +1 -1
- package/dist/solautoPosition/solautoPositionEx.js +2 -2
- package/dist/utils/instructionUtils.d.ts.map +1 -1
- package/dist/utils/instructionUtils.js +0 -3
- package/dist/utils/numberUtils.js +1 -1
- package/dist/utils/pythUtils.d.ts +0 -16
- package/dist/utils/pythUtils.d.ts.map +1 -1
- package/dist/utils/pythUtils.js +3 -52
- package/dist/utils/solautoUtils.js +3 -3
- package/package.json +1 -2
- package/src/generated/types/positionData.ts +9 -9
- package/src/idls/switchboard.json +1949 -1
- package/src/pyth-sdk/accounts/index.ts +9 -0
- package/src/pyth-sdk/accounts/priceUpdateV2Account.ts +179 -0
- package/src/pyth-sdk/index.ts +10 -0
- package/src/pyth-sdk/types/index.ts +10 -0
- package/src/pyth-sdk/types/priceMessage.ts +58 -0
- package/src/pyth-sdk/types/priceUpdateV2.ts +46 -0
- package/src/services/rebalance/rebalanceSwapManager.ts +0 -3
- package/src/services/solauto/solautoClient.ts +0 -1
- package/src/services/swap/jupSwapManager.ts +6 -1
- package/src/solautoPosition/solautoPositionEx.ts +5 -4
- package/src/utils/instructionUtils.ts +0 -2
- package/src/utils/numberUtils.ts +1 -1
- package/src/utils/pythUtils.ts +7 -54
- package/src/utils/solautoUtils.ts +3 -3
- package/tests/unit/rebalanceCalculations.ts +4 -4
@@ -0,0 +1,9 @@
|
|
1
|
+
/**
|
2
|
+
* This code was AUTOGENERATED using the kinobi library.
|
3
|
+
* Please DO NOT EDIT THIS FILE, instead use visitors
|
4
|
+
* to add features, then rerun kinobi to update it.
|
5
|
+
*
|
6
|
+
* @see https://github.com/metaplex-foundation/kinobi
|
7
|
+
*/
|
8
|
+
export * from './priceUpdateV2Account';
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/pyth-sdk/accounts/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,cAAc,wBAAwB,CAAC"}
|
@@ -0,0 +1,24 @@
|
|
1
|
+
"use strict";
|
2
|
+
/**
|
3
|
+
* This code was AUTOGENERATED using the kinobi library.
|
4
|
+
* Please DO NOT EDIT THIS FILE, instead use visitors
|
5
|
+
* to add features, then rerun kinobi to update it.
|
6
|
+
*
|
7
|
+
* @see https://github.com/metaplex-foundation/kinobi
|
8
|
+
*/
|
9
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
10
|
+
if (k2 === undefined) k2 = k;
|
11
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
12
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
13
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
14
|
+
}
|
15
|
+
Object.defineProperty(o, k2, desc);
|
16
|
+
}) : (function(o, m, k, k2) {
|
17
|
+
if (k2 === undefined) k2 = k;
|
18
|
+
o[k2] = m[k];
|
19
|
+
}));
|
20
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
21
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
22
|
+
};
|
23
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
24
|
+
__exportStar(require("./priceUpdateV2Account"), exports);
|
@@ -0,0 +1,39 @@
|
|
1
|
+
/**
|
2
|
+
* This code was AUTOGENERATED using the kinobi library.
|
3
|
+
* Please DO NOT EDIT THIS FILE, instead use visitors
|
4
|
+
* to add features, then rerun kinobi to update it.
|
5
|
+
*
|
6
|
+
* @see https://github.com/metaplex-foundation/kinobi
|
7
|
+
*/
|
8
|
+
import { Account, Context, Pda, PublicKey, RpcAccount, RpcGetAccountOptions, RpcGetAccountsOptions } from '@metaplex-foundation/umi';
|
9
|
+
import { Serializer } from '@metaplex-foundation/umi/serializers';
|
10
|
+
import { PriceMessage, PriceMessageArgs } from '../types';
|
11
|
+
export type PriceUpdateV2Account = Account<PriceUpdateV2AccountAccountData>;
|
12
|
+
export type PriceUpdateV2AccountAccountData = {
|
13
|
+
discriminator: Array<number>;
|
14
|
+
writeAuthority: PublicKey;
|
15
|
+
verificationLevel: number;
|
16
|
+
priceMessage: PriceMessage;
|
17
|
+
postedSlot: bigint;
|
18
|
+
};
|
19
|
+
export type PriceUpdateV2AccountAccountDataArgs = {
|
20
|
+
writeAuthority: PublicKey;
|
21
|
+
verificationLevel: number;
|
22
|
+
priceMessage: PriceMessageArgs;
|
23
|
+
postedSlot: number | bigint;
|
24
|
+
};
|
25
|
+
export declare function getPriceUpdateV2AccountAccountDataSerializer(): Serializer<PriceUpdateV2AccountAccountDataArgs, PriceUpdateV2AccountAccountData>;
|
26
|
+
export declare function deserializePriceUpdateV2Account(rawAccount: RpcAccount): PriceUpdateV2Account;
|
27
|
+
export declare function fetchPriceUpdateV2Account(context: Pick<Context, 'rpc'>, publicKey: PublicKey | Pda, options?: RpcGetAccountOptions): Promise<PriceUpdateV2Account>;
|
28
|
+
export declare function safeFetchPriceUpdateV2Account(context: Pick<Context, 'rpc'>, publicKey: PublicKey | Pda, options?: RpcGetAccountOptions): Promise<PriceUpdateV2Account | null>;
|
29
|
+
export declare function fetchAllPriceUpdateV2Account(context: Pick<Context, 'rpc'>, publicKeys: Array<PublicKey | Pda>, options?: RpcGetAccountsOptions): Promise<PriceUpdateV2Account[]>;
|
30
|
+
export declare function safeFetchAllPriceUpdateV2Account(context: Pick<Context, 'rpc'>, publicKeys: Array<PublicKey | Pda>, options?: RpcGetAccountsOptions): Promise<PriceUpdateV2Account[]>;
|
31
|
+
export declare function getPriceUpdateV2AccountGpaBuilder(context: Pick<Context, 'rpc' | 'programs'>): import("@metaplex-foundation/umi").GpaBuilder<PriceUpdateV2Account, {
|
32
|
+
discriminator: Array<number>;
|
33
|
+
writeAuthority: PublicKey;
|
34
|
+
verificationLevel: number;
|
35
|
+
priceMessage: PriceMessageArgs;
|
36
|
+
postedSlot: number | bigint;
|
37
|
+
}>;
|
38
|
+
export declare function getPriceUpdateV2AccountSize(): number;
|
39
|
+
//# sourceMappingURL=priceUpdateV2Account.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"priceUpdateV2Account.d.ts","sourceRoot":"","sources":["../../../src/pyth-sdk/accounts/priceUpdateV2Account.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,OAAO,EACP,OAAO,EACP,GAAG,EACH,SAAS,EACT,UAAU,EACV,oBAAoB,EACpB,qBAAqB,EAKtB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,UAAU,EAOX,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EACL,YAAY,EACZ,gBAAgB,EAEjB,MAAM,UAAU,CAAC;AAElB,MAAM,MAAM,oBAAoB,GAAG,OAAO,CAAC,+BAA+B,CAAC,CAAC;AAE5E,MAAM,MAAM,+BAA+B,GAAG;IAC5C,aAAa,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC7B,cAAc,EAAE,SAAS,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,YAAY,EAAE,YAAY,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,mCAAmC,GAAG;IAChD,cAAc,EAAE,SAAS,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,YAAY,EAAE,gBAAgB,CAAC;IAC/B,UAAU,EAAE,MAAM,GAAG,MAAM,CAAC;CAC7B,CAAC;AAEF,wBAAgB,4CAA4C,IAAI,UAAU,CACxE,mCAAmC,EACnC,+BAA+B,CAChC,CAwBA;AAED,wBAAgB,+BAA+B,CAC7C,UAAU,EAAE,UAAU,GACrB,oBAAoB,CAKtB;AAED,wBAAsB,yBAAyB,CAC7C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,EAC7B,SAAS,EAAE,SAAS,GAAG,GAAG,EAC1B,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,oBAAoB,CAAC,CAO/B;AAED,wBAAsB,6BAA6B,CACjD,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,EAC7B,SAAS,EAAE,SAAS,GAAG,GAAG,EAC1B,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAQtC;AAED,wBAAsB,4BAA4B,CAChD,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,EAC7B,UAAU,EAAE,KAAK,CAAC,SAAS,GAAG,GAAG,CAAC,EAClC,OAAO,CAAC,EAAE,qBAAqB,GAC9B,OAAO,CAAC,oBAAoB,EAAE,CAAC,CASjC;AAED,wBAAsB,gCAAgC,CACpD,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,EAC7B,UAAU,EAAE,KAAK,CAAC,SAAS,GAAG,GAAG,CAAC,EAClC,OAAO,CAAC,EAAE,qBAAqB,GAC9B,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAUjC;AAED,wBAAgB,iCAAiC,CAC/C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,GAAG,UAAU,CAAC;mBAQvB,KAAK,CAAC,MAAM,CAAC;oBACZ,SAAS;uBACN,MAAM;kBACX,gBAAgB;gBAClB,MAAM,GAAG,MAAM;GAYhC;AAED,wBAAgB,2BAA2B,IAAI,MAAM,CAEpD"}
|
@@ -0,0 +1,75 @@
|
|
1
|
+
"use strict";
|
2
|
+
/**
|
3
|
+
* This code was AUTOGENERATED using the kinobi library.
|
4
|
+
* Please DO NOT EDIT THIS FILE, instead use visitors
|
5
|
+
* to add features, then rerun kinobi to update it.
|
6
|
+
*
|
7
|
+
* @see https://github.com/metaplex-foundation/kinobi
|
8
|
+
*/
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
10
|
+
exports.getPriceUpdateV2AccountAccountDataSerializer = getPriceUpdateV2AccountAccountDataSerializer;
|
11
|
+
exports.deserializePriceUpdateV2Account = deserializePriceUpdateV2Account;
|
12
|
+
exports.fetchPriceUpdateV2Account = fetchPriceUpdateV2Account;
|
13
|
+
exports.safeFetchPriceUpdateV2Account = safeFetchPriceUpdateV2Account;
|
14
|
+
exports.fetchAllPriceUpdateV2Account = fetchAllPriceUpdateV2Account;
|
15
|
+
exports.safeFetchAllPriceUpdateV2Account = safeFetchAllPriceUpdateV2Account;
|
16
|
+
exports.getPriceUpdateV2AccountGpaBuilder = getPriceUpdateV2AccountGpaBuilder;
|
17
|
+
exports.getPriceUpdateV2AccountSize = getPriceUpdateV2AccountSize;
|
18
|
+
const umi_1 = require("@metaplex-foundation/umi");
|
19
|
+
const serializers_1 = require("@metaplex-foundation/umi/serializers");
|
20
|
+
const types_1 = require("../types");
|
21
|
+
function getPriceUpdateV2AccountAccountDataSerializer() {
|
22
|
+
return (0, serializers_1.mapSerializer)((0, serializers_1.struct)([
|
23
|
+
['discriminator', (0, serializers_1.array)((0, serializers_1.u8)(), { size: 8 })],
|
24
|
+
['writeAuthority', (0, serializers_1.publicKey)()],
|
25
|
+
['verificationLevel', (0, serializers_1.u8)()],
|
26
|
+
['priceMessage', (0, types_1.getPriceMessageSerializer)()],
|
27
|
+
['postedSlot', (0, serializers_1.u64)()],
|
28
|
+
], { description: 'PriceUpdateV2AccountAccountData' }), (value) => ({
|
29
|
+
...value,
|
30
|
+
discriminator: [93, 77, 250, 192, 211, 157, 97, 248],
|
31
|
+
}));
|
32
|
+
}
|
33
|
+
function deserializePriceUpdateV2Account(rawAccount) {
|
34
|
+
return (0, umi_1.deserializeAccount)(rawAccount, getPriceUpdateV2AccountAccountDataSerializer());
|
35
|
+
}
|
36
|
+
async function fetchPriceUpdateV2Account(context, publicKey, options) {
|
37
|
+
const maybeAccount = await context.rpc.getAccount((0, umi_1.publicKey)(publicKey, false), options);
|
38
|
+
(0, umi_1.assertAccountExists)(maybeAccount, 'PriceUpdateV2Account');
|
39
|
+
return deserializePriceUpdateV2Account(maybeAccount);
|
40
|
+
}
|
41
|
+
async function safeFetchPriceUpdateV2Account(context, publicKey, options) {
|
42
|
+
const maybeAccount = await context.rpc.getAccount((0, umi_1.publicKey)(publicKey, false), options);
|
43
|
+
return maybeAccount.exists
|
44
|
+
? deserializePriceUpdateV2Account(maybeAccount)
|
45
|
+
: null;
|
46
|
+
}
|
47
|
+
async function fetchAllPriceUpdateV2Account(context, publicKeys, options) {
|
48
|
+
const maybeAccounts = await context.rpc.getAccounts(publicKeys.map((key) => (0, umi_1.publicKey)(key, false)), options);
|
49
|
+
return maybeAccounts.map((maybeAccount) => {
|
50
|
+
(0, umi_1.assertAccountExists)(maybeAccount, 'PriceUpdateV2Account');
|
51
|
+
return deserializePriceUpdateV2Account(maybeAccount);
|
52
|
+
});
|
53
|
+
}
|
54
|
+
async function safeFetchAllPriceUpdateV2Account(context, publicKeys, options) {
|
55
|
+
const maybeAccounts = await context.rpc.getAccounts(publicKeys.map((key) => (0, umi_1.publicKey)(key, false)), options);
|
56
|
+
return maybeAccounts
|
57
|
+
.filter((maybeAccount) => maybeAccount.exists)
|
58
|
+
.map((maybeAccount) => deserializePriceUpdateV2Account(maybeAccount));
|
59
|
+
}
|
60
|
+
function getPriceUpdateV2AccountGpaBuilder(context) {
|
61
|
+
const programId = context.programs.getPublicKey('', 'pythWSnswVUd12oZpeFP8e9CVaEqJg25g1Vtc2biRsT');
|
62
|
+
return (0, umi_1.gpaBuilder)(context, programId)
|
63
|
+
.registerFields({
|
64
|
+
discriminator: [0, (0, serializers_1.array)((0, serializers_1.u8)(), { size: 8 })],
|
65
|
+
writeAuthority: [8, (0, serializers_1.publicKey)()],
|
66
|
+
verificationLevel: [40, (0, serializers_1.u8)()],
|
67
|
+
priceMessage: [41, (0, types_1.getPriceMessageSerializer)()],
|
68
|
+
postedSlot: [125, (0, serializers_1.u64)()],
|
69
|
+
})
|
70
|
+
.deserializeUsing((account) => deserializePriceUpdateV2Account(account))
|
71
|
+
.whereField('discriminator', [93, 77, 250, 192, 211, 157, 97, 248]);
|
72
|
+
}
|
73
|
+
function getPriceUpdateV2AccountSize() {
|
74
|
+
return 133;
|
75
|
+
}
|
@@ -0,0 +1,10 @@
|
|
1
|
+
/**
|
2
|
+
* This code was AUTOGENERATED using the kinobi library.
|
3
|
+
* Please DO NOT EDIT THIS FILE, instead use visitors
|
4
|
+
* to add features, then rerun kinobi to update it.
|
5
|
+
*
|
6
|
+
* @see https://github.com/metaplex-foundation/kinobi
|
7
|
+
*/
|
8
|
+
export * from './accounts';
|
9
|
+
export * from './types';
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/pyth-sdk/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC"}
|
@@ -0,0 +1,25 @@
|
|
1
|
+
"use strict";
|
2
|
+
/**
|
3
|
+
* This code was AUTOGENERATED using the kinobi library.
|
4
|
+
* Please DO NOT EDIT THIS FILE, instead use visitors
|
5
|
+
* to add features, then rerun kinobi to update it.
|
6
|
+
*
|
7
|
+
* @see https://github.com/metaplex-foundation/kinobi
|
8
|
+
*/
|
9
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
10
|
+
if (k2 === undefined) k2 = k;
|
11
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
12
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
13
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
14
|
+
}
|
15
|
+
Object.defineProperty(o, k2, desc);
|
16
|
+
}) : (function(o, m, k, k2) {
|
17
|
+
if (k2 === undefined) k2 = k;
|
18
|
+
o[k2] = m[k];
|
19
|
+
}));
|
20
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
21
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
22
|
+
};
|
23
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
24
|
+
__exportStar(require("./accounts"), exports);
|
25
|
+
__exportStar(require("./types"), exports);
|
@@ -0,0 +1,10 @@
|
|
1
|
+
/**
|
2
|
+
* This code was AUTOGENERATED using the kinobi library.
|
3
|
+
* Please DO NOT EDIT THIS FILE, instead use visitors
|
4
|
+
* to add features, then rerun kinobi to update it.
|
5
|
+
*
|
6
|
+
* @see https://github.com/metaplex-foundation/kinobi
|
7
|
+
*/
|
8
|
+
export * from './priceMessage';
|
9
|
+
export * from './priceUpdateV2';
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/pyth-sdk/types/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC"}
|
@@ -0,0 +1,25 @@
|
|
1
|
+
"use strict";
|
2
|
+
/**
|
3
|
+
* This code was AUTOGENERATED using the kinobi library.
|
4
|
+
* Please DO NOT EDIT THIS FILE, instead use visitors
|
5
|
+
* to add features, then rerun kinobi to update it.
|
6
|
+
*
|
7
|
+
* @see https://github.com/metaplex-foundation/kinobi
|
8
|
+
*/
|
9
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
10
|
+
if (k2 === undefined) k2 = k;
|
11
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
12
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
13
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
14
|
+
}
|
15
|
+
Object.defineProperty(o, k2, desc);
|
16
|
+
}) : (function(o, m, k, k2) {
|
17
|
+
if (k2 === undefined) k2 = k;
|
18
|
+
o[k2] = m[k];
|
19
|
+
}));
|
20
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
21
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
22
|
+
};
|
23
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
24
|
+
__exportStar(require("./priceMessage"), exports);
|
25
|
+
__exportStar(require("./priceUpdateV2"), exports);
|
@@ -0,0 +1,31 @@
|
|
1
|
+
/**
|
2
|
+
* This code was AUTOGENERATED using the kinobi library.
|
3
|
+
* Please DO NOT EDIT THIS FILE, instead use visitors
|
4
|
+
* to add features, then rerun kinobi to update it.
|
5
|
+
*
|
6
|
+
* @see https://github.com/metaplex-foundation/kinobi
|
7
|
+
*/
|
8
|
+
import { PublicKey } from '@metaplex-foundation/umi';
|
9
|
+
import { Serializer } from '@metaplex-foundation/umi/serializers';
|
10
|
+
export type PriceMessage = {
|
11
|
+
feedId: PublicKey;
|
12
|
+
price: bigint;
|
13
|
+
conf: bigint;
|
14
|
+
exponent: number;
|
15
|
+
publishTime: bigint;
|
16
|
+
prevPublishTime: bigint;
|
17
|
+
emaPrice: bigint;
|
18
|
+
emaConf: bigint;
|
19
|
+
};
|
20
|
+
export type PriceMessageArgs = {
|
21
|
+
feedId: PublicKey;
|
22
|
+
price: number | bigint;
|
23
|
+
conf: number | bigint;
|
24
|
+
exponent: number;
|
25
|
+
publishTime: number | bigint;
|
26
|
+
prevPublishTime: number | bigint;
|
27
|
+
emaPrice: number | bigint;
|
28
|
+
emaConf: number | bigint;
|
29
|
+
};
|
30
|
+
export declare function getPriceMessageSerializer(): Serializer<PriceMessageArgs, PriceMessage>;
|
31
|
+
//# sourceMappingURL=priceMessage.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"priceMessage.d.ts","sourceRoot":"","sources":["../../../src/pyth-sdk/types/priceMessage.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EACL,UAAU,EAMX,MAAM,sCAAsC,CAAC;AAE9C,MAAM,MAAM,YAAY,GAAG;IACzB,MAAM,EAAE,SAAS,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,EAAE,SAAS,CAAC;IAClB,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,eAAe,EAAE,MAAM,GAAG,MAAM,CAAC;IACjC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1B,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;CAC1B,CAAC;AAEF,wBAAgB,yBAAyB,IAAI,UAAU,CACrD,gBAAgB,EAChB,YAAY,CACb,CAcA"}
|
@@ -0,0 +1,23 @@
|
|
1
|
+
"use strict";
|
2
|
+
/**
|
3
|
+
* This code was AUTOGENERATED using the kinobi library.
|
4
|
+
* Please DO NOT EDIT THIS FILE, instead use visitors
|
5
|
+
* to add features, then rerun kinobi to update it.
|
6
|
+
*
|
7
|
+
* @see https://github.com/metaplex-foundation/kinobi
|
8
|
+
*/
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
10
|
+
exports.getPriceMessageSerializer = getPriceMessageSerializer;
|
11
|
+
const serializers_1 = require("@metaplex-foundation/umi/serializers");
|
12
|
+
function getPriceMessageSerializer() {
|
13
|
+
return (0, serializers_1.struct)([
|
14
|
+
['feedId', (0, serializers_1.publicKey)()],
|
15
|
+
['price', (0, serializers_1.i64)()],
|
16
|
+
['conf', (0, serializers_1.u64)()],
|
17
|
+
['exponent', (0, serializers_1.i32)()],
|
18
|
+
['publishTime', (0, serializers_1.i64)()],
|
19
|
+
['prevPublishTime', (0, serializers_1.i64)()],
|
20
|
+
['emaPrice', (0, serializers_1.i64)()],
|
21
|
+
['emaConf', (0, serializers_1.u64)()],
|
22
|
+
], { description: 'PriceMessage' });
|
23
|
+
}
|
@@ -0,0 +1,24 @@
|
|
1
|
+
/**
|
2
|
+
* This code was AUTOGENERATED using the kinobi library.
|
3
|
+
* Please DO NOT EDIT THIS FILE, instead use visitors
|
4
|
+
* to add features, then rerun kinobi to update it.
|
5
|
+
*
|
6
|
+
* @see https://github.com/metaplex-foundation/kinobi
|
7
|
+
*/
|
8
|
+
import { PublicKey } from '@metaplex-foundation/umi';
|
9
|
+
import { Serializer } from '@metaplex-foundation/umi/serializers';
|
10
|
+
import { PriceMessage, PriceMessageArgs } from '.';
|
11
|
+
export type PriceUpdateV2 = {
|
12
|
+
writeAuthority: PublicKey;
|
13
|
+
verificationLevel: number;
|
14
|
+
priceMessage: PriceMessage;
|
15
|
+
postedSlot: bigint;
|
16
|
+
};
|
17
|
+
export type PriceUpdateV2Args = {
|
18
|
+
writeAuthority: PublicKey;
|
19
|
+
verificationLevel: number;
|
20
|
+
priceMessage: PriceMessageArgs;
|
21
|
+
postedSlot: number | bigint;
|
22
|
+
};
|
23
|
+
export declare function getPriceUpdateV2Serializer(): Serializer<PriceUpdateV2Args, PriceUpdateV2>;
|
24
|
+
//# sourceMappingURL=priceUpdateV2.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"priceUpdateV2.d.ts","sourceRoot":"","sources":["../../../src/pyth-sdk/types/priceUpdateV2.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EACL,UAAU,EAKX,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAA6B,MAAM,GAAG,CAAC;AAE9E,MAAM,MAAM,aAAa,GAAG;IAC1B,cAAc,EAAE,SAAS,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,YAAY,EAAE,YAAY,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,cAAc,EAAE,SAAS,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,YAAY,EAAE,gBAAgB,CAAC;IAC/B,UAAU,EAAE,MAAM,GAAG,MAAM,CAAC;CAC7B,CAAC;AAEF,wBAAgB,0BAA0B,IAAI,UAAU,CACtD,iBAAiB,EACjB,aAAa,CACd,CAUA"}
|
@@ -0,0 +1,20 @@
|
|
1
|
+
"use strict";
|
2
|
+
/**
|
3
|
+
* This code was AUTOGENERATED using the kinobi library.
|
4
|
+
* Please DO NOT EDIT THIS FILE, instead use visitors
|
5
|
+
* to add features, then rerun kinobi to update it.
|
6
|
+
*
|
7
|
+
* @see https://github.com/metaplex-foundation/kinobi
|
8
|
+
*/
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
10
|
+
exports.getPriceUpdateV2Serializer = getPriceUpdateV2Serializer;
|
11
|
+
const serializers_1 = require("@metaplex-foundation/umi/serializers");
|
12
|
+
const _1 = require(".");
|
13
|
+
function getPriceUpdateV2Serializer() {
|
14
|
+
return (0, serializers_1.struct)([
|
15
|
+
['writeAuthority', (0, serializers_1.publicKey)()],
|
16
|
+
['verificationLevel', (0, serializers_1.u8)()],
|
17
|
+
['priceMessage', (0, _1.getPriceMessageSerializer)()],
|
18
|
+
['postedSlot', (0, serializers_1.u64)()],
|
19
|
+
], { description: 'PriceUpdateV2' });
|
20
|
+
}
|
@@ -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)) {
|
@@ -8,7 +8,6 @@ import { ReferralStateManager, ReferralStateManagerArgs } from "./referralStateM
|
|
8
8
|
import { SolautoPositionEx } from "../../solautoPosition";
|
9
9
|
import { FlProviderAggregator } from "../flashLoans";
|
10
10
|
export interface SolautoClientArgs extends ReferralStateManagerArgs {
|
11
|
-
new?: boolean;
|
12
11
|
positionId?: number;
|
13
12
|
supplyMint?: PublicKey;
|
14
13
|
debtMint?: PublicKey;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"solautoClient.d.ts","sourceRoot":"","sources":["../../../src/services/solauto/solautoClient.ts"],"names":[],"mappings":"AAAA,OAAO,gCAAgC,CAAC;AACxC,OAAO,EAA6B,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,EACL,kBAAkB,EAMnB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,SAAS,EACT,aAAa,EACb,iBAAiB,EACjB,gCAAgC,EAEhC,sBAAsB,EAGvB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAML,cAAc,EACf,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,EACL,oBAAoB,EACpB,wBAAwB,EACzB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAEL,iBAAiB,EAClB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAErD,MAAM,WAAW,iBAAkB,SAAQ,wBAAwB;IACjE,
|
1
|
+
{"version":3,"file":"solautoClient.d.ts","sourceRoot":"","sources":["../../../src/services/solauto/solautoClient.ts"],"names":[],"mappings":"AAAA,OAAO,gCAAgC,CAAC;AACxC,OAAO,EAA6B,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,EACL,kBAAkB,EAMnB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,SAAS,EACT,aAAa,EACb,iBAAiB,EACjB,gCAAgC,EAEhC,sBAAsB,EAGvB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAML,cAAc,EACf,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,EACL,oBAAoB,EACpB,wBAAwB,EACzB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAEL,iBAAiB,EAClB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAErD,MAAM,WAAW,iBAAkB,SAAQ,wBAAwB;IACjE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,aAAa,CAAC,EAAE,SAAS,CAAC;CAC3B;AAED,8BAAsB,aAAc,SAAQ,oBAAoB;IACvD,eAAe,EAAG,eAAe,CAAC;IAClC,KAAK,EAAG,UAAU,CAAC;IAEnB,SAAS,EAAG,SAAS,CAAC;IAEtB,UAAU,EAAG,MAAM,CAAC;IACpB,WAAW,EAAG,OAAO,CAAC;IACtB,GAAG,EAAG,iBAAiB,CAAC;IAExB,gBAAgB,EAAG,SAAS,CAAC;IAC7B,cAAc,EAAG,SAAS,CAAC;IAE3B,cAAc,EAAG,SAAS,CAAC;IAC3B,YAAY,EAAG,SAAS,CAAC;IAEzB,mBAAmB,EAAG,SAAS,CAAC;IAChC,iBAAiB,EAAG,SAAS,CAAC;IAE9B,mBAAmB,CAAC,EAAE,SAAS,CAAC;IAEhC,UAAU,EAAG,oBAAoB,CAAC;IAClC,cAAc,EAAE,cAAc,CAAwB;IAE7D,OAAO,CAAC,mBAAmB,CAAqB;IAChD,OAAO,CAAC,iBAAiB,CAAqB;IAExC,UAAU,CAAC,IAAI,EAAE,iBAAiB;IAoFxC,kBAAkB,IAAI,SAAS,GAAG,SAAS;IAO3C,gBAAgB,IAAI,SAAS,GAAG,SAAS;IAOnC,kBAAkB,CAAC,OAAO,CAAC,EAAE,OAAO;IAkB1C,mBAAmB,IAAI,MAAM,EAAE;IAS/B,gBAAgB,IAAI,SAAS,EAAE;IAgBzB,iCAAiC,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IAUzD,iBAAiB,IAAI,OAAO,CAC9B;QACE,EAAE,EAAE,kBAAkB,CAAC;QACvB,GAAG,EAAE,OAAO,CAAC;QACb,aAAa,EAAE,SAAS,EAAE,CAAC;KAC5B,GACD,SAAS,CACZ;IAgEK,cAAc,IAAI,OAAO,CAAC;QAC9B,aAAa,EAAE,MAAM,CAAC;QACtB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;IAgBF,cAAc,CACZ,QAAQ,CAAC,EAAE,gCAAgC,EAC3C,GAAG,CAAC,EAAE,kBAAkB,GACvB,kBAAkB;IA0BrB,gBAAgB,CAAC,IAAI,EAAE,sBAAsB,GAAG,kBAAkB;IAsDlE,QAAQ,CAAC,eAAe,IAAI,kBAAkB;IAE9C,WAAW,IAAI,kBAAkB;IAgCjC,QAAQ,CAAC,SAAS,CAAC,SAAS,EAAE,SAAS,GAAG,kBAAkB;IAE5D,qBAAqB,CAAC,IAAI,EAAE,iBAAiB,GAAG,kBAAkB;IAqFlE,QAAQ,CAAC,WAAW,CAClB,aAAa,EAAE,aAAa,EAC5B,IAAI,EAAE,gBAAgB,GACrB,kBAAkB;CACtB"}
|
@@ -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":"solautoPositionEx.d.ts","sourceRoot":"","sources":["../../src/solautoPosition/solautoPositionEx.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,GAAG,EAAE,MAAM,0BAA0B,CAAC;AAK/C,OAAO,EACL,WAAW,EAEX,eAAe,EACf,aAAa,EACb,SAAS,EACT,eAAe,EACf,yBAAyB,EAC1B,MAAM,cAAc,CAAC;AACtB,OAAO,
|
1
|
+
{"version":3,"file":"solautoPositionEx.d.ts","sourceRoot":"","sources":["../../src/solautoPosition/solautoPositionEx.ts"],"names":[],"mappings":"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"}
|
@@ -18,7 +18,7 @@ class SolautoPositionEx {
|
|
18
18
|
this.lpUserAccount =
|
19
19
|
args.customArgs?.lpUserAccount ??
|
20
20
|
(args.data.position
|
21
|
-
? (0, umi_web3js_adapters_1.toWeb3JsPublicKey)(args.data.position.
|
21
|
+
? (0, umi_web3js_adapters_1.toWeb3JsPublicKey)(args.data.position.lpUserAccount)
|
22
22
|
: undefined);
|
23
23
|
this.lpEnv = args.customArgs?.lpEnv ?? "Prod";
|
24
24
|
this._data = args.data;
|
@@ -90,7 +90,7 @@ class SolautoPositionEx {
|
|
90
90
|
return (0, utils_1.maxRepayToBps)(this.state.maxLtvBps, this.state.liqThresholdBps);
|
91
91
|
}
|
92
92
|
get repayFromBps() {
|
93
|
-
return (this.settings?.repayToBps ?? 0) + (this.settings?.repayGap ?? 0);
|
93
|
+
return Math.min((this.settings?.repayToBps ?? 0) + (this.settings?.repayGap ?? 0), this.maxRepayFromBps);
|
94
94
|
}
|
95
95
|
get maxRepayFromBps() {
|
96
96
|
return (0, utils_1.maxRepayFromBps)(this.state.maxLtvBps, this.state.liqThresholdBps);
|
@@ -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({
|
@@ -120,7 +120,7 @@ function getMaxLiqUtilizationRateBps(maxLtvBps, liqThresholdBps, offsetFromMaxLt
|
|
120
120
|
1); // -1 to account for any rounding issues
|
121
121
|
}
|
122
122
|
function maxRepayFromBps(maxLtvBps, liqThresholdBps) {
|
123
|
-
return Math.min(
|
123
|
+
return Math.min(9000, getMaxLiqUtilizationRateBps(maxLtvBps, liqThresholdBps - 1000, constants_1.OFFSET_FROM_MAX_LTV));
|
124
124
|
}
|
125
125
|
function maxRepayToBps(maxLtvBps, liqThresholdBps) {
|
126
126
|
return Math.min(maxRepayFromBps(maxLtvBps, liqThresholdBps) - constants_1.MIN_REPAY_GAP_BPS, getMaxLiqUtilizationRateBps(maxLtvBps, liqThresholdBps, constants_1.OFFSET_FROM_MAX_LTV));
|
@@ -1,21 +1,5 @@
|
|
1
1
|
import { PublicKey } from "@solana/web3.js";
|
2
2
|
import { Umi } from "@metaplex-foundation/umi";
|
3
|
-
type PriceUpdateV2 = {
|
4
|
-
writeAuthority: Buffer;
|
5
|
-
verificationLevel: number;
|
6
|
-
priceMessage: {
|
7
|
-
feedId: Buffer;
|
8
|
-
price: bigint;
|
9
|
-
conf: bigint;
|
10
|
-
exponent: number;
|
11
|
-
publishTime: bigint;
|
12
|
-
prevPublishTime: bigint;
|
13
|
-
emaPrice: bigint;
|
14
|
-
emaConf: bigint;
|
15
|
-
};
|
16
|
-
};
|
17
|
-
export declare function parsePriceInfo(data: Uint8Array): PriceUpdateV2;
|
18
3
|
export declare function getMostUpToDatePythOracle(umi: Umi, oracleKeys: PublicKey[]): Promise<PublicKey>;
|
19
4
|
export declare function getPythPushOracleAddress(feedId: PublicKey, shardId: number, programId?: PublicKey): PublicKey;
|
20
|
-
export {};
|
21
5
|
//# sourceMappingURL=pythUtils.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"pythUtils.d.ts","sourceRoot":"","sources":["../../src/utils/pythUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;
|
1
|
+
{"version":3,"file":"pythUtils.d.ts","sourceRoot":"","sources":["../../src/utils/pythUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAa,GAAG,EAAE,MAAM,0BAA0B,CAAC;AAK1D,wBAAsB,yBAAyB,CAC7C,GAAG,EAAE,GAAG,EACR,UAAU,EAAE,SAAS,EAAE,sBAgBxB;AAED,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,MAAM,EACf,SAAS,GAAE,SAA6B,GACvC,SAAS,CAMX"}
|
package/dist/utils/pythUtils.js
CHANGED
@@ -1,63 +1,14 @@
|
|
1
1
|
"use strict";
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
3
|
-
if (k2 === undefined) k2 = k;
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
7
|
-
}
|
8
|
-
Object.defineProperty(o, k2, desc);
|
9
|
-
}) : (function(o, m, k, k2) {
|
10
|
-
if (k2 === undefined) k2 = k;
|
11
|
-
o[k2] = m[k];
|
12
|
-
}));
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
15
|
-
}) : function(o, v) {
|
16
|
-
o["default"] = v;
|
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
|
-
};
|
25
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
26
|
-
exports.parsePriceInfo = parsePriceInfo;
|
27
3
|
exports.getMostUpToDatePythOracle = getMostUpToDatePythOracle;
|
28
4
|
exports.getPythPushOracleAddress = getPythPushOracleAddress;
|
29
5
|
const web3_js_1 = require("@solana/web3.js");
|
6
|
+
const umi_1 = require("@metaplex-foundation/umi");
|
30
7
|
const constants_1 = require("../constants");
|
31
8
|
const generalUtils_1 = require("./generalUtils");
|
32
|
-
const
|
33
|
-
const umi_web3js_adapters_1 = require("@metaplex-foundation/umi-web3js-adapters");
|
34
|
-
const priceUpdateV2Schema = {
|
35
|
-
struct: {
|
36
|
-
writeAuthority: {
|
37
|
-
array: { type: "u8", len: 32 },
|
38
|
-
},
|
39
|
-
verificationLevel: "u8",
|
40
|
-
priceMessage: {
|
41
|
-
struct: {
|
42
|
-
feedId: { array: { type: "u8", len: 32 } },
|
43
|
-
price: "i64",
|
44
|
-
conf: "u64",
|
45
|
-
exponent: "i32",
|
46
|
-
publishTime: "i64",
|
47
|
-
prevPublishTime: "i64",
|
48
|
-
emaPrice: "i64",
|
49
|
-
emaConf: "u64",
|
50
|
-
},
|
51
|
-
},
|
52
|
-
postedSlot: "u64",
|
53
|
-
},
|
54
|
-
};
|
55
|
-
function parsePriceInfo(data) {
|
56
|
-
let decoded = borsh.deserialize(priceUpdateV2Schema, data);
|
57
|
-
return decoded;
|
58
|
-
}
|
9
|
+
const pyth_sdk_1 = require("../pyth-sdk");
|
59
10
|
async function getMostUpToDatePythOracle(umi, oracleKeys) {
|
60
|
-
const oracles = (0, generalUtils_1.zip)(oracleKeys,
|
11
|
+
const oracles = (0, generalUtils_1.zip)(oracleKeys, await (0, pyth_sdk_1.safeFetchAllPriceUpdateV2Account)(umi, oracleKeys.map((x) => (0, umi_1.publicKey)(x)), { commitment: "confirmed" })).sort((a, b) => Number(b[1]?.priceMessage.publishTime ?? 0) -
|
61
12
|
Number(a[1]?.priceMessage.publishTime ?? 0));
|
62
13
|
return oracles[0][0];
|
63
14
|
}
|
@@ -120,8 +120,8 @@ async function getSolautoManagedPositions(umi, authority, positionTypeFilter) {
|
|
120
120
|
let tokens;
|
121
121
|
if (position.position.lendingPlatform === generated_1.LendingPlatform.Marginfi) {
|
122
122
|
tokens = [
|
123
|
-
(0, marginfiUtils_1.findMarginfiAccounts)((0, umi_web3js_adapters_1.toWeb3JsPublicKey)(position.position.
|
124
|
-
(0, marginfiUtils_1.findMarginfiAccounts)((0, umi_web3js_adapters_1.toWeb3JsPublicKey)(position.position.
|
123
|
+
(0, marginfiUtils_1.findMarginfiAccounts)((0, umi_web3js_adapters_1.toWeb3JsPublicKey)(position.position.lpSupplyAccount)).mint,
|
124
|
+
(0, marginfiUtils_1.findMarginfiAccounts)((0, umi_web3js_adapters_1.toWeb3JsPublicKey)(position.position.lpDebtAccount)).mint,
|
125
125
|
];
|
126
126
|
}
|
127
127
|
// TODO: PF
|
@@ -131,7 +131,7 @@ async function getSolautoManagedPositions(umi, authority, positionTypeFilter) {
|
|
131
131
|
positionId: position.positionId[0],
|
132
132
|
lendingPlatform: position.position.lendingPlatform,
|
133
133
|
positionType: position.positionType,
|
134
|
-
lpUserAccount: (0, umi_web3js_adapters_1.toWeb3JsPublicKey)(position.position.
|
134
|
+
lpUserAccount: (0, umi_web3js_adapters_1.toWeb3JsPublicKey)(position.position.lpUserAccount),
|
135
135
|
supplyMint: tokens[0],
|
136
136
|
debtMint: tokens[1],
|
137
137
|
};
|