@sonarwatch/portfolio-plugins 0.14.196 → 0.14.201
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/CHANGELOG.md +20 -0
- package/package.json +1 -1
- package/src/index.js +4 -0
- package/src/index.js.map +1 -1
- package/src/plugins/bouncebit/constants.d.ts +9 -0
- package/src/plugins/bouncebit/constants.js +27 -0
- package/src/plugins/bouncebit/constants.js.map +1 -0
- package/src/plugins/bouncebit/depositFetcher.d.ts +3 -0
- package/src/plugins/bouncebit/depositFetcher.js +93 -0
- package/src/plugins/bouncebit/depositFetcher.js.map +1 -0
- package/src/plugins/bouncebit/index.d.ts +4 -0
- package/src/plugins/bouncebit/index.js +10 -0
- package/src/plugins/bouncebit/index.js.map +1 -0
- package/src/plugins/bouncebit/structs.d.ts +18 -0
- package/src/plugins/bouncebit/structs.js +18 -0
- package/src/plugins/bouncebit/structs.js.map +1 -0
- package/src/plugins/bouncebit/types.d.ts +5 -0
- package/src/plugins/bouncebit/types.js +3 -0
- package/src/plugins/bouncebit/types.js.map +1 -0
- package/src/plugins/haven/constants.d.ts +5 -0
- package/src/plugins/haven/constants.js +7 -0
- package/src/plugins/haven/constants.js.map +1 -0
- package/src/plugins/haven/depositFetcher.d.ts +3 -0
- package/src/plugins/haven/depositFetcher.js +44 -0
- package/src/plugins/haven/depositFetcher.js.map +1 -0
- package/src/plugins/haven/index.d.ts +4 -0
- package/src/plugins/haven/index.js +10 -0
- package/src/plugins/haven/index.js.map +1 -0
- package/src/plugins/haven/structs.d.ts +67 -0
- package/src/plugins/haven/structs.js +70 -0
- package/src/plugins/haven/structs.js.map +1 -0
- package/src/plugins/haven/utils.d.ts +1 -0
- package/src/plugins/haven/utils.js +56 -0
- package/src/plugins/haven/utils.js.map +1 -0
package/CHANGELOG.md
CHANGED
@@ -2,6 +2,26 @@
|
|
2
2
|
|
3
3
|
This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
|
4
4
|
|
5
|
+
## [0.14.201](https://github.com/sonarwatch/portfolio/compare/plugins-0.14.200...plugins-0.14.201) (2025-05-06)
|
6
|
+
|
7
|
+
|
8
|
+
|
9
|
+
## [0.14.200](https://github.com/sonarwatch/portfolio/compare/plugins-0.14.199...plugins-0.14.200) (2025-05-06)
|
10
|
+
|
11
|
+
|
12
|
+
|
13
|
+
## [0.14.199](https://github.com/sonarwatch/portfolio/compare/plugins-0.14.198...plugins-0.14.199) (2025-05-06)
|
14
|
+
|
15
|
+
|
16
|
+
|
17
|
+
## [0.14.198](https://github.com/sonarwatch/portfolio/compare/plugins-0.14.197...plugins-0.14.198) (2025-05-06)
|
18
|
+
|
19
|
+
|
20
|
+
|
21
|
+
## [0.14.197](https://github.com/sonarwatch/portfolio/compare/plugins-0.14.196...plugins-0.14.197) (2025-05-06)
|
22
|
+
|
23
|
+
|
24
|
+
|
5
25
|
## [0.14.196](https://github.com/sonarwatch/portfolio/compare/plugins-0.14.195...plugins-0.14.196) (2025-05-05)
|
6
26
|
|
7
27
|
|
package/package.json
CHANGED
package/src/index.js
CHANGED
@@ -198,6 +198,8 @@ const honeyland = __importStar(require("./plugins/honeyland"));
|
|
198
198
|
const lavarage = __importStar(require("./plugins/lavarage"));
|
199
199
|
const boop = __importStar(require("./plugins/boop"));
|
200
200
|
const cytonic = __importStar(require("./plugins/cytonic"));
|
201
|
+
const bouncebit = __importStar(require("./plugins/bouncebit"));
|
202
|
+
const haven = __importStar(require("./plugins/haven"));
|
201
203
|
var getFetchersByAddressSystem_2 = require("./utils/misc/getFetchersByAddressSystem");
|
202
204
|
Object.defineProperty(exports, "getFetchersByAddressSystem", { enumerable: true, get: function () { return getFetchersByAddressSystem_2.getFetchersByAddressSystem; } });
|
203
205
|
__exportStar(require("./Cache"), exports);
|
@@ -382,6 +384,8 @@ const modules = [
|
|
382
384
|
lavarage,
|
383
385
|
boop,
|
384
386
|
cytonic,
|
387
|
+
bouncebit,
|
388
|
+
haven,
|
385
389
|
];
|
386
390
|
// JOBS //
|
387
391
|
exports.jobs = modules
|
package/src/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/plugins/src/index.ts"],"names":[],"mappings":"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
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/plugins/src/index.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,9 @@
|
|
1
|
+
/// <reference types="@drift-labs/sdk/node_modules/@solana/web3.js" />
|
2
|
+
/// <reference types="jito-ts/node_modules/@solana/web3.js" />
|
3
|
+
import { PublicKey } from '@solana/web3.js';
|
4
|
+
export declare const platformId = "bouncebit";
|
5
|
+
export declare const pid: PublicKey;
|
6
|
+
export declare const vaults: {
|
7
|
+
pubkey: PublicKey;
|
8
|
+
mint: string;
|
9
|
+
}[];
|
@@ -0,0 +1,27 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.vaults = exports.pid = exports.platformId = void 0;
|
4
|
+
const web3_js_1 = require("@solana/web3.js");
|
5
|
+
const portfolio_core_1 = require("@sonarwatch/portfolio-core");
|
6
|
+
const solana_1 = require("../../utils/solana");
|
7
|
+
exports.platformId = 'bouncebit';
|
8
|
+
exports.pid = new web3_js_1.PublicKey('65YBWQitcBexwuaBKfAV163xDd4LzVAdytATLbttpgxx');
|
9
|
+
// pda
|
10
|
+
/* const vaults = await ParsedGpa.build(connection, vaultStruct, pid)
|
11
|
+
.addFilter('accountDiscriminator', [211, 8, 232, 43, 2, 152, 117, 119])
|
12
|
+
.run(); */
|
13
|
+
exports.vaults = [
|
14
|
+
{
|
15
|
+
pubkey: new web3_js_1.PublicKey('8P1MNxqmrHhDrw74R2VN3BYuPhMrQ4XMxfYiTFUTqsf3'),
|
16
|
+
mint: portfolio_core_1.solanaNativeAddress,
|
17
|
+
},
|
18
|
+
{
|
19
|
+
pubkey: new web3_js_1.PublicKey('5SAqUmJSPDKE26SQyrUtngCFSQrRjPqUhKc8KyYjKbEM'),
|
20
|
+
mint: 'Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB',
|
21
|
+
},
|
22
|
+
{
|
23
|
+
pubkey: new web3_js_1.PublicKey('6NPUfsgtqkbRKhKu32TutKrTSp6Hcc8XR5xhuyqdGpsj'),
|
24
|
+
mint: solana_1.usdcSolanaMint,
|
25
|
+
},
|
26
|
+
];
|
27
|
+
//# sourceMappingURL=constants.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/bouncebit/constants.ts"],"names":[],"mappings":";;;AAAA,6CAA4C;AAC5C,+DAAiE;AACjE,+CAAoD;AAEvC,QAAA,UAAU,GAAG,WAAW,CAAC;AACzB,QAAA,GAAG,GAAG,IAAI,mBAAS,CAC9B,8CAA8C,CAC/C,CAAC;AAEF,MAAM;AACN;;YAEY;AACC,QAAA,MAAM,GAAG;IACpB;QACE,MAAM,EAAE,IAAI,mBAAS,CAAC,8CAA8C,CAAC;QACrE,IAAI,EAAE,oCAAmB;KAC1B;IACD;QACE,MAAM,EAAE,IAAI,mBAAS,CAAC,8CAA8C,CAAC;QACrE,IAAI,EAAE,8CAA8C;KACrD;IACD;QACE,MAAM,EAAE,IAAI,mBAAS,CAAC,8CAA8C,CAAC;QACrE,IAAI,EAAE,uBAAc;KACrB;CACF,CAAC"}
|
@@ -0,0 +1,93 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
9
|
+
});
|
10
|
+
};
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
13
|
+
};
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
15
|
+
const portfolio_core_1 = require("@sonarwatch/portfolio-core");
|
16
|
+
const web3_js_1 = require("@solana/web3.js");
|
17
|
+
const axios_1 = __importDefault(require("axios"));
|
18
|
+
const constants_1 = require("./constants");
|
19
|
+
const clients_1 = require("../../utils/clients");
|
20
|
+
const structs_1 = require("./structs");
|
21
|
+
const solana_1 = require("../../utils/solana");
|
22
|
+
const ElementRegistry_1 = require("../../utils/elementbuilder/ElementRegistry");
|
23
|
+
const executor = (owner, cache) => __awaiter(void 0, void 0, void 0, function* () {
|
24
|
+
const connection = (0, clients_1.getClientSolana)();
|
25
|
+
const openRequests = yield (0, solana_1.getParsedMultipleAccountsInfo)(connection, structs_1.openRequestsStruct, constants_1.vaults.map((vault) => web3_js_1.PublicKey.findProgramAddressSync([
|
26
|
+
Buffer.from('open_requests'),
|
27
|
+
vault.pubkey.toBuffer(),
|
28
|
+
new web3_js_1.PublicKey(owner).toBuffer(),
|
29
|
+
], constants_1.pid)[0]));
|
30
|
+
if (!openRequests.length)
|
31
|
+
return [];
|
32
|
+
let rewards;
|
33
|
+
try {
|
34
|
+
const rewardsRes = yield axios_1.default.get(`https://api-portal.bouncebit.io/api/v2/rewards?address=${owner}&product=auto&status=active`, {
|
35
|
+
timeout: 2000,
|
36
|
+
});
|
37
|
+
rewards = rewardsRes.data.result;
|
38
|
+
}
|
39
|
+
catch (e) {
|
40
|
+
/* empty */
|
41
|
+
}
|
42
|
+
const elementRegistry = new ElementRegistry_1.ElementRegistry(portfolio_core_1.NetworkId.solana, constants_1.platformId);
|
43
|
+
openRequests.forEach((openRequestsForVault, vi) => {
|
44
|
+
if (!openRequestsForVault)
|
45
|
+
return;
|
46
|
+
const vault = constants_1.vaults[vi];
|
47
|
+
if (!openRequestsForVault.open_requests.length)
|
48
|
+
return;
|
49
|
+
if (!vault)
|
50
|
+
return;
|
51
|
+
const element = elementRegistry.addElementLiquidity({
|
52
|
+
label: 'Deposit',
|
53
|
+
});
|
54
|
+
const liquidity = element.addLiquidity({
|
55
|
+
ref: openRequestsForVault.pubkey,
|
56
|
+
link: 'https://portal.bouncebit.io/cedefi',
|
57
|
+
sourceRefs: [{ name: 'Strategy', address: vault.pubkey.toString() }],
|
58
|
+
});
|
59
|
+
openRequestsForVault.open_requests.forEach((openRequest) => {
|
60
|
+
liquidity.addAsset({
|
61
|
+
address: vault.mint,
|
62
|
+
amount: openRequest.principal,
|
63
|
+
});
|
64
|
+
});
|
65
|
+
if (rewards && rewards.length) {
|
66
|
+
liquidity.addRewardAsset({
|
67
|
+
address: vault.mint,
|
68
|
+
amount: rewards
|
69
|
+
.filter((reward) => reward.token === vault.mint)
|
70
|
+
.reduce((sum, currReward) => currReward !== null
|
71
|
+
? sum + Number(currReward.strategyReward)
|
72
|
+
: sum, 0),
|
73
|
+
});
|
74
|
+
liquidity.addRewardAsset({
|
75
|
+
address: '76SYfdi8jT84GqxuTqu7FuyA4GQbrto1pLDGQKsy8K12',
|
76
|
+
amount: rewards
|
77
|
+
.filter((reward) => reward.token === vault.mint)
|
78
|
+
.reduce((sum, currReward) => currReward !== null ? sum + Number(currReward.bbReward) : sum, 0),
|
79
|
+
attributes: {
|
80
|
+
tags: ['BB Rewards'],
|
81
|
+
},
|
82
|
+
});
|
83
|
+
}
|
84
|
+
});
|
85
|
+
return elementRegistry.getElements(cache);
|
86
|
+
});
|
87
|
+
const fetcher = {
|
88
|
+
id: `${constants_1.platformId}-deposit`,
|
89
|
+
networkId: portfolio_core_1.NetworkId.solana,
|
90
|
+
executor,
|
91
|
+
};
|
92
|
+
exports.default = fetcher;
|
93
|
+
//# sourceMappingURL=depositFetcher.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"depositFetcher.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/bouncebit/depositFetcher.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,10 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
|
+
};
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
+
exports.fetchers = exports.jobs = void 0;
|
7
|
+
const depositFetcher_1 = __importDefault(require("./depositFetcher"));
|
8
|
+
exports.jobs = [];
|
9
|
+
exports.fetchers = [depositFetcher_1.default];
|
10
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/bouncebit/index.ts"],"names":[],"mappings":";;;;;;AAEA,sEAA8C;AAEjC,QAAA,IAAI,GAAU,EAAE,CAAC;AACjB,QAAA,QAAQ,GAAc,CAAC,wBAAc,CAAC,CAAC"}
|
@@ -0,0 +1,18 @@
|
|
1
|
+
import { BeetStruct, FixableBeetStruct } from '@metaplex-foundation/beet';
|
2
|
+
import BigNumber from 'bignumber.js';
|
3
|
+
export type Vault = {
|
4
|
+
accountDiscriminator: number[];
|
5
|
+
};
|
6
|
+
export declare const vaultStruct: BeetStruct<Vault, Partial<Vault>>;
|
7
|
+
export type OpenRequest = {
|
8
|
+
principal: BigNumber;
|
9
|
+
closed_shares: BigNumber;
|
10
|
+
pending_until_date_no: number;
|
11
|
+
create_date_no: number;
|
12
|
+
open_date_no: number;
|
13
|
+
};
|
14
|
+
export type OpenRequests = {
|
15
|
+
accountDiscriminator: number[];
|
16
|
+
open_requests: OpenRequest[];
|
17
|
+
};
|
18
|
+
export declare const openRequestsStruct: FixableBeetStruct<OpenRequests, Partial<OpenRequests>>;
|
@@ -0,0 +1,18 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.openRequestsStruct = exports.vaultStruct = void 0;
|
4
|
+
const beet_1 = require("@metaplex-foundation/beet");
|
5
|
+
const solana_1 = require("../../utils/solana");
|
6
|
+
exports.vaultStruct = new beet_1.BeetStruct([['accountDiscriminator', (0, beet_1.uniformFixedSizeArray)(beet_1.u8, 8)]], (args) => args, 'Vault');
|
7
|
+
const openRequestStruct = new beet_1.BeetStruct([
|
8
|
+
['principal', solana_1.u64],
|
9
|
+
['closed_shares', solana_1.u64],
|
10
|
+
['pending_until_date_no', beet_1.u16],
|
11
|
+
['create_date_no', beet_1.u16],
|
12
|
+
['open_date_no', beet_1.u16],
|
13
|
+
], (args) => args, 'OpenRequest');
|
14
|
+
exports.openRequestsStruct = new beet_1.FixableBeetStruct([
|
15
|
+
['accountDiscriminator', (0, beet_1.uniformFixedSizeArray)(beet_1.u8, 8)],
|
16
|
+
['open_requests', (0, beet_1.array)(openRequestStruct)],
|
17
|
+
], (args) => args, 'OpenRequests');
|
18
|
+
//# sourceMappingURL=structs.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"structs.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/bouncebit/structs.ts"],"names":[],"mappings":";;;AAAA,oDAOmC;AAEnC,+CAAyC;AAK5B,QAAA,WAAW,GAAG,IAAI,iBAAU,CACvC,CAAC,CAAC,sBAAsB,EAAE,IAAA,4BAAqB,EAAC,SAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EACxD,CAAC,IAAI,EAAE,EAAE,CAAC,IAAa,EACvB,OAAO,CACR,CAAC;AAUF,MAAM,iBAAiB,GAAG,IAAI,iBAAU,CACtC;IACE,CAAC,WAAW,EAAE,YAAG,CAAC;IAClB,CAAC,eAAe,EAAE,YAAG,CAAC;IACtB,CAAC,uBAAuB,EAAE,UAAG,CAAC;IAC9B,CAAC,gBAAgB,EAAE,UAAG,CAAC;IACvB,CAAC,cAAc,EAAE,UAAG,CAAC;CACtB,EACD,CAAC,IAAI,EAAE,EAAE,CAAC,IAAmB,EAC7B,aAAa,CACd,CAAC;AAMW,QAAA,kBAAkB,GAAG,IAAI,wBAAiB,CACrD;IACE,CAAC,sBAAsB,EAAE,IAAA,4BAAqB,EAAC,SAAE,EAAE,CAAC,CAAC,CAAC;IACtD,CAAC,eAAe,EAAE,IAAA,YAAK,EAAC,iBAAiB,CAAC,CAAC;CAC5C,EACD,CAAC,IAAI,EAAE,EAAE,CAAC,IAAoB,EAC9B,cAAc,CACf,CAAC"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/bouncebit/types.ts"],"names":[],"mappings":""}
|
@@ -0,0 +1,5 @@
|
|
1
|
+
/// <reference types="@drift-labs/sdk/node_modules/@solana/web3.js" />
|
2
|
+
/// <reference types="jito-ts/node_modules/@solana/web3.js" />
|
3
|
+
import { PublicKey } from '@solana/web3.js';
|
4
|
+
export declare const platformId = "haven";
|
5
|
+
export declare const programId: PublicKey;
|
@@ -0,0 +1,7 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.programId = exports.platformId = void 0;
|
4
|
+
const web3_js_1 = require("@solana/web3.js");
|
5
|
+
exports.platformId = 'haven';
|
6
|
+
exports.programId = new web3_js_1.PublicKey('AutoyKBRaHSBHy9RsmXCZMy6nNFAg5FYijrvZyQcNLV');
|
7
|
+
//# sourceMappingURL=constants.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/haven/constants.ts"],"names":[],"mappings":";;;AAAA,6CAA4C;AAE/B,QAAA,UAAU,GAAG,OAAO,CAAC;AAErB,QAAA,SAAS,GAAG,IAAI,mBAAS,CACpC,6CAA6C,CAC9C,CAAC"}
|
@@ -0,0 +1,44 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
9
|
+
});
|
10
|
+
};
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
12
|
+
const portfolio_core_1 = require("@sonarwatch/portfolio-core");
|
13
|
+
const constants_1 = require("./constants");
|
14
|
+
const utils_1 = require("./utils");
|
15
|
+
const ElementRegistry_1 = require("../../utils/elementbuilder/ElementRegistry");
|
16
|
+
const executor = (owner, cache) => __awaiter(void 0, void 0, void 0, function* () {
|
17
|
+
const accounts = yield (0, utils_1.getPositionAccounts)(owner);
|
18
|
+
if (!accounts.length)
|
19
|
+
return [];
|
20
|
+
const elementRegistry = new ElementRegistry_1.ElementRegistry(portfolio_core_1.NetworkId.solana, constants_1.platformId);
|
21
|
+
accounts.forEach((account, i) => {
|
22
|
+
const element = elementRegistry.addElementBorrowlend({
|
23
|
+
label: 'Leverage',
|
24
|
+
ref: account.pubkey.toString(),
|
25
|
+
link: `https://haven.trade/positions?pid=${i + 1}&pk=${account.pubkey.toString()}`,
|
26
|
+
});
|
27
|
+
element.addSuppliedAsset({
|
28
|
+
address: account.state.supply.mint,
|
29
|
+
amount: account.state.supply.amountUsed.baseUnit.plus(account.state.supply.amountCanBeUsed.baseUnit),
|
30
|
+
});
|
31
|
+
element.addBorrowedAsset({
|
32
|
+
address: account.state.debt.mint,
|
33
|
+
amount: account.state.debt.amountUsed.baseUnit.plus(account.state.debt.amountCanBeUsed.baseUnit),
|
34
|
+
});
|
35
|
+
});
|
36
|
+
return elementRegistry.getElements(cache);
|
37
|
+
});
|
38
|
+
const fetcher = {
|
39
|
+
id: `${constants_1.platformId}-deposit`,
|
40
|
+
networkId: portfolio_core_1.NetworkId.solana,
|
41
|
+
executor,
|
42
|
+
};
|
43
|
+
exports.default = fetcher;
|
44
|
+
//# sourceMappingURL=depositFetcher.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"depositFetcher.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/haven/depositFetcher.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,+DAAuD;AAEvD,2CAAyC;AAEzC,mCAA8C;AAC9C,gFAA6E;AAE7E,MAAM,QAAQ,GAAoB,CAAO,KAAa,EAAE,KAAY,EAAE,EAAE;IACtE,MAAM,QAAQ,GAAG,MAAM,IAAA,2BAAmB,EAAC,KAAK,CAAC,CAAC;IAClD,IAAI,CAAC,QAAQ,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IAEhC,MAAM,eAAe,GAAG,IAAI,iCAAe,CAAC,0BAAS,CAAC,MAAM,EAAE,sBAAU,CAAC,CAAC;IAE1E,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE;QAC9B,MAAM,OAAO,GAAG,eAAe,CAAC,oBAAoB,CAAC;YACnD,KAAK,EAAE,UAAU;YACjB,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE;YAC9B,IAAI,EAAE,qCACJ,CAAC,GAAG,CACN,OAAO,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE;SACnC,CAAC,CAAC;QACH,OAAO,CAAC,gBAAgB,CAAC;YACvB,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI;YAClC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CACnD,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,eAAe,CAAC,QAAQ,CAC9C;SACF,CAAC,CAAC;QACH,OAAO,CAAC,gBAAgB,CAAC;YACvB,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI;YAChC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CACjD,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAC5C;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,eAAe,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AAC5C,CAAC,CAAA,CAAC;AAEF,MAAM,OAAO,GAAY;IACvB,EAAE,EAAE,GAAG,sBAAU,UAAU;IAC3B,SAAS,EAAE,0BAAS,CAAC,MAAM;IAC3B,QAAQ;CACT,CAAC;AAEF,kBAAe,OAAO,CAAC"}
|
@@ -0,0 +1,10 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
|
+
};
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
+
exports.fetchers = exports.jobs = void 0;
|
7
|
+
const depositFetcher_1 = __importDefault(require("./depositFetcher"));
|
8
|
+
exports.jobs = [];
|
9
|
+
exports.fetchers = [depositFetcher_1.default];
|
10
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/haven/index.ts"],"names":[],"mappings":";;;;;;AAEA,sEAA8C;AAEjC,QAAA,IAAI,GAAU,EAAE,CAAC;AACjB,QAAA,QAAQ,GAAc,CAAC,wBAAc,CAAC,CAAC"}
|
@@ -0,0 +1,67 @@
|
|
1
|
+
/// <reference types="@drift-labs/sdk/node_modules/@solana/web3.js" />
|
2
|
+
/// <reference types="jito-ts/node_modules/@solana/web3.js" />
|
3
|
+
import { BeetStruct } from '@metaplex-foundation/beet';
|
4
|
+
import { PublicKey } from '@solana/web3.js';
|
5
|
+
import BigNumber from 'bignumber.js';
|
6
|
+
export declare enum PositionType {
|
7
|
+
Leverage = 0,
|
8
|
+
SafeLoan = 1
|
9
|
+
}
|
10
|
+
export declare enum LendingPlatform {
|
11
|
+
Marginfi = 0
|
12
|
+
}
|
13
|
+
export type SolautoSettingsParameters = {
|
14
|
+
boostToBps: number;
|
15
|
+
boostGap: number;
|
16
|
+
repayToBps: number;
|
17
|
+
repayGap: number;
|
18
|
+
padding: number[];
|
19
|
+
};
|
20
|
+
export type TokenAmount = {
|
21
|
+
baseUnit: BigNumber;
|
22
|
+
baseAmountUsdValue: BigNumber;
|
23
|
+
};
|
24
|
+
export type PositionTokenState = {
|
25
|
+
mint: PublicKey;
|
26
|
+
decimals: number;
|
27
|
+
padding1: number[];
|
28
|
+
borrowFeeBps: number;
|
29
|
+
amountUsed: TokenAmount;
|
30
|
+
amountCanBeUsed: TokenAmount;
|
31
|
+
baseAmountMarketPriceUsd: BigNumber;
|
32
|
+
padding2: number[];
|
33
|
+
padding: number[];
|
34
|
+
};
|
35
|
+
export type PositionData = {
|
36
|
+
lendingPlatform: LendingPlatform;
|
37
|
+
padding1: number[];
|
38
|
+
lpUserAccount: PublicKey;
|
39
|
+
lpSupplyAccount: PublicKey;
|
40
|
+
lpDebtAccount: PublicKey;
|
41
|
+
settings: SolautoSettingsParameters;
|
42
|
+
lpPoolAccount: number;
|
43
|
+
padding: number[];
|
44
|
+
};
|
45
|
+
export type PositionState = {
|
46
|
+
liqUtilizationRateBps: number;
|
47
|
+
padding1: number[];
|
48
|
+
netWorth: TokenAmount;
|
49
|
+
supply: PositionTokenState;
|
50
|
+
debt: PositionTokenState;
|
51
|
+
maxLtvBps: number;
|
52
|
+
liqThresholdBps: number;
|
53
|
+
padding2: number[];
|
54
|
+
lastRefreshed: BigNumber;
|
55
|
+
padding: number[];
|
56
|
+
};
|
57
|
+
export type Position = {
|
58
|
+
bump: number[];
|
59
|
+
positionId: number[];
|
60
|
+
selfManaged: boolean;
|
61
|
+
positionType: PositionType;
|
62
|
+
padding1: number[];
|
63
|
+
authority: PublicKey;
|
64
|
+
position: PositionData;
|
65
|
+
state: PositionState;
|
66
|
+
};
|
67
|
+
export declare const positionStruct: BeetStruct<Position, Partial<Position>>;
|
@@ -0,0 +1,70 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.positionStruct = exports.LendingPlatform = exports.PositionType = void 0;
|
4
|
+
const beet_1 = require("@metaplex-foundation/beet");
|
5
|
+
const beet_solana_1 = require("@metaplex-foundation/beet-solana");
|
6
|
+
const solana_1 = require("../../utils/solana");
|
7
|
+
var PositionType;
|
8
|
+
(function (PositionType) {
|
9
|
+
PositionType[PositionType["Leverage"] = 0] = "Leverage";
|
10
|
+
PositionType[PositionType["SafeLoan"] = 1] = "SafeLoan";
|
11
|
+
})(PositionType || (exports.PositionType = PositionType = {}));
|
12
|
+
var LendingPlatform;
|
13
|
+
(function (LendingPlatform) {
|
14
|
+
LendingPlatform[LendingPlatform["Marginfi"] = 0] = "Marginfi";
|
15
|
+
})(LendingPlatform || (exports.LendingPlatform = LendingPlatform = {}));
|
16
|
+
const solautoSettingsParametersStruct = new beet_1.BeetStruct([
|
17
|
+
['boostToBps', beet_1.u16],
|
18
|
+
['boostGap', beet_1.u16],
|
19
|
+
['repayToBps', beet_1.u16],
|
20
|
+
['repayGap', beet_1.u16],
|
21
|
+
['padding', (0, beet_1.uniformFixedSizeArray)(beet_1.u32, 24)],
|
22
|
+
], (args) => args, 'SolautoSettingsParameters');
|
23
|
+
const tokenAmountStruct = new beet_1.BeetStruct([
|
24
|
+
['baseUnit', solana_1.u64],
|
25
|
+
['baseAmountUsdValue', solana_1.u64],
|
26
|
+
], (args) => args, 'TokenAmount');
|
27
|
+
const positionTokenStateStruct = new beet_1.BeetStruct([
|
28
|
+
['mint', beet_solana_1.publicKey],
|
29
|
+
['decimals', beet_1.u8],
|
30
|
+
['padding1', (0, beet_1.uniformFixedSizeArray)(beet_1.u8, 5)],
|
31
|
+
['borrowFeeBps', beet_1.u16],
|
32
|
+
['amountUsed', tokenAmountStruct],
|
33
|
+
['amountCanBeUsed', tokenAmountStruct],
|
34
|
+
['baseAmountMarketPriceUsd', solana_1.u64],
|
35
|
+
['padding2', (0, beet_1.uniformFixedSizeArray)(beet_1.u8, 8)],
|
36
|
+
['padding', (0, beet_1.uniformFixedSizeArray)(beet_1.u8, 32)],
|
37
|
+
], (args) => args, 'PositionTokenState');
|
38
|
+
const positionDataStruct = new beet_1.BeetStruct([
|
39
|
+
['lendingPlatform', beet_1.u8],
|
40
|
+
['padding1', (0, beet_1.uniformFixedSizeArray)(beet_1.u8, 7)],
|
41
|
+
['lpUserAccount', beet_solana_1.publicKey],
|
42
|
+
['lpSupplyAccount', beet_solana_1.publicKey],
|
43
|
+
['lpDebtAccount', beet_solana_1.publicKey],
|
44
|
+
['settings', solautoSettingsParametersStruct],
|
45
|
+
['lpPoolAccount', beet_solana_1.publicKey],
|
46
|
+
['padding', (0, beet_1.uniformFixedSizeArray)(beet_1.u32, 20)],
|
47
|
+
], (args) => args, 'PositionData');
|
48
|
+
const positionStateStruct = new beet_1.BeetStruct([
|
49
|
+
['liqUtilizationRateBps', beet_1.u16],
|
50
|
+
['padding1', (0, beet_1.uniformFixedSizeArray)(beet_1.u8, 6)],
|
51
|
+
['netWorth', tokenAmountStruct],
|
52
|
+
['supply', positionTokenStateStruct],
|
53
|
+
['debt', positionTokenStateStruct],
|
54
|
+
['maxLtvBps', beet_1.u16],
|
55
|
+
['liqThresholdBps', beet_1.u16],
|
56
|
+
['padding2', (0, beet_1.uniformFixedSizeArray)(beet_1.u8, 4)],
|
57
|
+
['lastRefreshed', solana_1.u64],
|
58
|
+
['padding', (0, beet_1.uniformFixedSizeArray)(beet_1.u32, 2)],
|
59
|
+
], (args) => args, 'PositionState');
|
60
|
+
exports.positionStruct = new beet_1.BeetStruct([
|
61
|
+
['bump', (0, beet_1.uniformFixedSizeArray)(beet_1.u8, 1)],
|
62
|
+
['positionId', (0, beet_1.uniformFixedSizeArray)(beet_1.u8, 1)],
|
63
|
+
['selfManaged', beet_1.bool],
|
64
|
+
['positionType', beet_1.u8],
|
65
|
+
['padding1', (0, beet_1.uniformFixedSizeArray)(beet_1.u8, 4)],
|
66
|
+
['authority', beet_solana_1.publicKey],
|
67
|
+
['position', positionDataStruct],
|
68
|
+
['state', positionStateStruct],
|
69
|
+
], (args) => args, 'Position');
|
70
|
+
//# sourceMappingURL=structs.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"structs.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/haven/structs.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1 @@
|
|
1
|
+
export declare function getPositionAccounts(owner: string): Promise<import("../../utils/solana").ParsedAccount<import("./structs").Position>[]>;
|
@@ -0,0 +1,56 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
9
|
+
});
|
10
|
+
};
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
12
|
+
exports.getPositionAccounts = void 0;
|
13
|
+
const web3_js_1 = require("@solana/web3.js");
|
14
|
+
const constants_1 = require("./constants");
|
15
|
+
const getParsedAccountInfo_1 = require("../../utils/solana/getParsedAccountInfo");
|
16
|
+
const structs_1 = require("./structs");
|
17
|
+
const clients_1 = require("../../utils/clients");
|
18
|
+
function bufferFromU8(num) {
|
19
|
+
const buffer = Buffer.alloc(1);
|
20
|
+
buffer.writeUInt8(num);
|
21
|
+
return buffer;
|
22
|
+
}
|
23
|
+
function bufferFromU64(num) {
|
24
|
+
const buffer = Buffer.alloc(8);
|
25
|
+
buffer.writeBigUInt64LE(num);
|
26
|
+
return buffer;
|
27
|
+
}
|
28
|
+
function getSolautoPositionAccount(authority, positionId) {
|
29
|
+
const fakePosition = positionId >= 256;
|
30
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention,@typescript-eslint/no-unused-vars
|
31
|
+
const [positionAccount, _] = web3_js_1.PublicKey.findProgramAddressSync([
|
32
|
+
fakePosition
|
33
|
+
? bufferFromU64(BigInt(positionId))
|
34
|
+
: bufferFromU8(positionId),
|
35
|
+
authority.toBuffer(),
|
36
|
+
], constants_1.programId);
|
37
|
+
return positionAccount;
|
38
|
+
}
|
39
|
+
function getPositionAccounts(owner) {
|
40
|
+
return __awaiter(this, void 0, void 0, function* () {
|
41
|
+
const connection = (0, clients_1.getClientSolana)();
|
42
|
+
const accounts = [];
|
43
|
+
let index = 1;
|
44
|
+
while (true) {
|
45
|
+
const positionPda = getSolautoPositionAccount(new web3_js_1.PublicKey(owner), index);
|
46
|
+
const positionAccount = yield (0, getParsedAccountInfo_1.getParsedAccountInfo)(connection, structs_1.positionStruct, positionPda);
|
47
|
+
if (!positionAccount)
|
48
|
+
break;
|
49
|
+
accounts.push(positionAccount);
|
50
|
+
index += 1;
|
51
|
+
}
|
52
|
+
return accounts;
|
53
|
+
});
|
54
|
+
}
|
55
|
+
exports.getPositionAccounts = getPositionAccounts;
|
56
|
+
//# sourceMappingURL=utils.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/haven/utils.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA4C;AAC5C,2CAAwC;AACxC,kFAA+E;AAC/E,uCAA2C;AAC3C,iDAAsD;AAEtD,SAAS,YAAY,CAAC,GAAW;IAC/B,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC/B,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IACvB,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,aAAa,CAAC,GAAW;IAChC,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC/B,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;IAC7B,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,yBAAyB,CAAC,SAAoB,EAAE,UAAkB;IACzE,MAAM,YAAY,GAAG,UAAU,IAAI,GAAG,CAAC;IACvC,kGAAkG;IAClG,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC,GAAG,mBAAS,CAAC,sBAAsB,CAC3D;QACE,YAAY;YACV,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YACnC,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC;QAC5B,SAAS,CAAC,QAAQ,EAAE;KACrB,EACD,qBAAS,CACV,CAAC;IAEF,OAAO,eAAe,CAAC;AACzB,CAAC;AAED,SAAsB,mBAAmB,CAAC,KAAa;;QACrD,MAAM,UAAU,GAAG,IAAA,yBAAe,GAAE,CAAC;QAErC,MAAM,QAAQ,GAAG,EAAE,CAAC;QACpB,IAAI,KAAK,GAAG,CAAC,CAAC;QAEd,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,WAAW,GAAG,yBAAyB,CAAC,IAAI,mBAAS,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC;YAC3E,MAAM,eAAe,GAAG,MAAM,IAAA,2CAAoB,EAChD,UAAU,EACV,wBAAc,EACd,WAAW,CACZ,CAAC;YACF,IAAI,CAAC,eAAe;gBAAE,MAAM;YAC5B,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YAC/B,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;CAAA;AAnBD,kDAmBC"}
|