@sonarwatch/portfolio-plugins 0.8.110 → 0.8.112
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 +9 -1
- package/package.json +3 -2
- package/src/index.js +4 -0
- package/src/index.js.map +1 -1
- package/src/plugins/goosefx/poolsFetcher.js +2 -0
- package/src/plugins/goosefx/poolsFetcher.js.map +1 -1
- package/src/plugins/goosefx/stakingFetcher.js +2 -0
- package/src/plugins/goosefx/stakingFetcher.js.map +1 -1
- package/src/plugins/jupiter/constants.d.ts +3 -0
- package/src/plugins/jupiter/constants.js +4 -1
- package/src/plugins/jupiter/constants.js.map +1 -1
- package/src/plugins/jupiter/custodiesJob.d.ts +3 -0
- package/src/plugins/jupiter/custodiesJob.js +34 -0
- package/src/plugins/jupiter/custodiesJob.js.map +1 -0
- package/src/plugins/jupiter/filters.d.ts +2 -0
- package/src/plugins/jupiter/filters.js +14 -0
- package/src/plugins/jupiter/filters.js.map +1 -0
- package/src/plugins/jupiter/index.js +4 -2
- package/src/plugins/jupiter/index.js.map +1 -1
- package/src/plugins/jupiter/perpetualFetcher.d.ts +3 -0
- package/src/plugins/jupiter/perpetualFetcher.js +153 -0
- package/src/plugins/jupiter/perpetualFetcher.js.map +1 -0
- package/src/plugins/jupiter/structs.d.ts +24 -0
- package/src/plugins/jupiter/structs.js +25 -1
- package/src/plugins/jupiter/structs.js.map +1 -1
- package/src/plugins/jupiter/types.d.ts +62 -0
- package/src/plugins/jupiter/types.js +9 -0
- package/src/plugins/jupiter/types.js.map +1 -0
- package/src/plugins/orders/jupiter/dcaFetcher.js +2 -0
- package/src/plugins/orders/jupiter/dcaFetcher.js.map +1 -1
- package/src/plugins/port/constants.d.ts +6 -0
- package/src/plugins/port/constants.js +16 -0
- package/src/plugins/port/constants.js.map +1 -0
- package/src/plugins/port/filters.d.ts +2 -0
- package/src/plugins/port/filters.js +15 -0
- package/src/plugins/port/filters.js.map +1 -0
- package/src/plugins/port/helpers.d.ts +1 -0
- package/src/plugins/port/helpers.js +10 -0
- package/src/plugins/port/helpers.js.map +1 -0
- package/src/plugins/port/index.d.ts +6 -0
- package/src/plugins/port/index.js +14 -0
- package/src/plugins/port/index.js.map +1 -0
- package/src/plugins/port/obligationsFetcher.d.ts +3 -0
- package/src/plugins/port/obligationsFetcher.js +157 -0
- package/src/plugins/port/obligationsFetcher.js.map +1 -0
- package/src/plugins/port/pTokensJob.d.ts +3 -0
- package/src/plugins/port/pTokensJob.js +73 -0
- package/src/plugins/port/pTokensJob.js.map +1 -0
- package/src/plugins/port/reservesJob.d.ts +3 -0
- package/src/plugins/port/reservesJob.js +60 -0
- package/src/plugins/port/reservesJob.js.map +1 -0
- package/src/plugins/port/structs.d.ts +69 -0
- package/src/plugins/port/structs.js +64 -0
- package/src/plugins/port/structs.js.map +1 -0
- package/src/plugins/port/types.d.ts +71 -0
- package/src/plugins/port/types.js +3 -0
- package/src/plugins/port/types.js.map +1 -0
- package/src/plugins/solend/structs.d.ts +2 -2
- package/src/plugins/solend/structs.js +2 -2
- package/src/plugins/solend/structs.js.map +1 -1
- package/src/utils/solana/pyth/helpers.d.ts +13 -0
- package/src/utils/solana/pyth/helpers.js +239 -0
- package/src/utils/solana/pyth/helpers.js.map +1 -0
- package/src/utils/solana/pyth/readBig.d.ts +4 -0
- package/src/utils/solana/pyth/readBig.js +61 -0
- package/src/utils/solana/pyth/readBig.js.map +1 -0
- package/src/utils/solana/pyth/structs.d.ts +97 -0
- package/src/utils/solana/pyth/structs.js +35 -0
- package/src/utils/solana/pyth/structs.js.map +1 -0
package/CHANGELOG.md
CHANGED
@@ -2,10 +2,18 @@
|
|
2
2
|
|
3
3
|
This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
|
4
4
|
|
5
|
-
## [0.8.
|
5
|
+
## [0.8.112](https://github.com/sonarwatch/portfolio/compare/plugins-0.8.111...plugins-0.8.112) (2023-11-29)
|
6
6
|
|
7
7
|
|
8
8
|
|
9
|
+
## [0.8.111](https://github.com/sonarwatch/portfolio/compare/plugins-0.8.110...plugins-0.8.111) (2023-11-28)
|
10
|
+
|
11
|
+
|
12
|
+
|
13
|
+
## [0.8.110](https://github.com/sonarwatch/portfolio/compare/plugins-0.8.109...plugins-0.8.110) (2023-11-27)
|
14
|
+
|
15
|
+
|
16
|
+
|
9
17
|
## [0.8.109](https://github.com/sonarwatch/portfolio/compare/plugins-0.8.108...plugins-0.8.109) (2023-11-27)
|
10
18
|
|
11
19
|
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@sonarwatch/portfolio-plugins",
|
3
|
-
"version": "0.8.
|
3
|
+
"version": "0.8.112",
|
4
4
|
"type": "commonjs",
|
5
5
|
"generators": "./generators.json",
|
6
6
|
"dependencies": {
|
@@ -28,6 +28,7 @@
|
|
28
28
|
"bignumber.js": "^9.1.1",
|
29
29
|
"bitcoin-address-validation": "^2.2.1",
|
30
30
|
"bn.js": "^5.2.1",
|
31
|
+
"buffer": "6.0.1",
|
31
32
|
"decimal.js": "^10.4.3",
|
32
33
|
"dsa-connect": "^0.6.47",
|
33
34
|
"graphql": "^16.8.1",
|
@@ -40,7 +41,7 @@
|
|
40
41
|
"web3-v1": "npm:web3@^1.5.0"
|
41
42
|
},
|
42
43
|
"peerDependencies": {
|
43
|
-
"@sonarwatch/portfolio-core": "0.8.
|
44
|
+
"@sonarwatch/portfolio-core": "0.8.112"
|
44
45
|
},
|
45
46
|
"main": "./src/index.js",
|
46
47
|
"types": "./src/index.d.ts"
|
package/src/index.js
CHANGED
@@ -74,6 +74,7 @@ const atrix_1 = require("./plugins/atrix");
|
|
74
74
|
const _01_1 = require("./plugins/01");
|
75
75
|
const goosefx_1 = require("./plugins/goosefx");
|
76
76
|
const lifinity_1 = require("./plugins/lifinity");
|
77
|
+
const port_1 = require("./plugins/port");
|
77
78
|
var constants_1 = require("./plugins/tokens/constants");
|
78
79
|
Object.defineProperty(exports, "walletTokensPlatform", { enumerable: true, get: function () { return constants_1.walletTokensPlatform; } });
|
79
80
|
Object.defineProperty(exports, "walletNftsPlatform", { enumerable: true, get: function () { return constants_1.walletNftsPlatform; } });
|
@@ -137,6 +138,7 @@ exports.platforms = [
|
|
137
138
|
..._01_1.platforms,
|
138
139
|
...goosefx_1.platforms,
|
139
140
|
...lifinity_1.platforms,
|
141
|
+
...port_1.platforms,
|
140
142
|
];
|
141
143
|
// JOBS //
|
142
144
|
exports.jobs = [
|
@@ -187,6 +189,7 @@ exports.jobs = [
|
|
187
189
|
..._01_1.jobs,
|
188
190
|
...goosefx_1.jobs,
|
189
191
|
...lifinity_1.jobs,
|
192
|
+
...port_1.jobs,
|
190
193
|
];
|
191
194
|
// FETCHERS //
|
192
195
|
exports.fetchers = [
|
@@ -238,6 +241,7 @@ exports.fetchers = [
|
|
238
241
|
..._01_1.fetchers,
|
239
242
|
...goosefx_1.fetchers,
|
240
243
|
...lifinity_1.fetchers,
|
244
|
+
...port_1.fetchers,
|
241
245
|
];
|
242
246
|
exports.fetchersByAddressSystem = (0, getFetchersByAddressSystem_1.getFetchersByAddressSystem)(exports.fetchers);
|
243
247
|
//# sourceMappingURL=index.js.map
|
package/src/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/plugins/src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAGA,wFAAqF;AACrF,sEAA8C;AAC9C,6CAI0B;AAC1B,yDAIgC;AAChC,iDAG4B;AAC5B,iDAI4B;AAC5B,2CAGyB;AACzB,6CAI0B;AAC1B,+CAI2B;AAC3B,yCAIwB;AACxB,+CAG2B;AAC3B,2CAIyB;AACzB,6CAI0B;AAC1B,2CAIyB;AACzB,6CAG0B;AAC1B,6CAI0B;AAC1B,yCAIwB;AACxB,2DAGiC;AACjC,6CAI0B;AAC1B,2CAIyB;AACzB,2CAIyB;AACzB,qDAA6D;AAC7D,qEAIsC;AACtC,uDAI+B;AAC/B,mDAG6B;AAC7B,qDAG8B;AAC9B,uDAG+B;AAC/B,2CAIyB;AACzB,6CAI0B;AAC1B,6CAG0B;AAC1B,yCAIwB;AACxB,+CAI2B;AAC3B,uDAG+B;AAC/B,yCAGwB;AACxB,2CAIyB;AACzB,iDAI4B;AAC5B,iDAI4B;AAC5B,6CAI0B;AAC1B,+CAI2B;AAC3B,qDAG8B;AAC9B,iDAI4B;AAC5B,iDAI4B;AAC5B,mDAG6B;AAC7B,6CAI0B;AAC1B,2CAIyB;AACzB,iDAI4B;AAC5B,iDAI4B;AAC5B,+CAG2B;AAC3B,yCAIwB;AACxB,2CAIyB;AACzB,mDAI6B;AAC7B,2CAIyB;AACzB,2CAIyB;AACzB,sCAIsB;AACtB,+CAI2B;AAC3B,iDAI4B;
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/plugins/src/index.ts"],"names":[],"mappings":"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"}
|
@@ -23,6 +23,8 @@ const getTokensPricesMap_1 = __importDefault(require("../../utils/misc/getTokens
|
|
23
23
|
const executor = (owner, cache) => __awaiter(void 0, void 0, void 0, function* () {
|
24
24
|
const client = (0, clients_1.getClientSolana)();
|
25
25
|
const accounts = yield (0, solana_1.getParsedProgramAccounts)(client, structs_1.liquidityStruct, constants_1.programId, (0, filters_1.liquidityAccountFilter)(owner));
|
26
|
+
if (accounts.length === 0)
|
27
|
+
return [];
|
26
28
|
const tokenPriceById = yield (0, getTokensPricesMap_1.default)(accounts.map((account) => account.mint.toString()), portfolio_core_1.NetworkId.solana, cache);
|
27
29
|
const liquidities = [];
|
28
30
|
for (const account of accounts) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"poolsFetcher.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/goosefx/poolsFetcher.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,+DAKoC;AAGpC,2CAAoD;AACpD,iDAAsD;AACtD,+CAA8D;AAC9D,uCAA4C;AAC5C,uCAAmD;AACnD,qGAA6E;AAC7E,6FAAoE;AAEpE,MAAM,QAAQ,GAAoB,CAAO,KAAa,EAAE,KAAY,EAAE,EAAE;IACtE,MAAM,MAAM,GAAG,IAAA,yBAAe,GAAE,CAAC;IAEjC,MAAM,QAAQ,GAAG,MAAM,IAAA,iCAAwB,EAC7C,MAAM,EACN,yBAAe,EACf,qBAAS,EACT,IAAA,gCAAsB,EAAC,KAAK,CAAC,CAC9B,CAAC;IAEF,MAAM,cAAc,GAAG,MAAM,IAAA,4BAAiB,EAC5C,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,EAClD,0BAAS,CAAC,MAAM,EAChB,KAAK,CACN,CAAC;IAEF,MAAM,WAAW,GAAyB,EAAE,CAAC;IAC7C,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;QAC9B,IAAI,OAAO,CAAC,eAAe,CAAC,MAAM,EAAE;YAAE,SAAS;QAC/C,MAAM,UAAU,GAAG,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC/D,IAAI,CAAC,UAAU;YAAE,SAAS;QAE1B,MAAM,EAAE,QAAQ,EAAE,GAAG,UAAU,CAAC;QAChC,MAAM,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,SAAS,CAAC,SAAA,EAAE,EAAI,QAAQ,CAAA,CAAC,CAAC,QAAQ,EAAE,CAAC;QAE5E,MAAM,KAAK,GAAG,IAAA,gCAAsB,EAClC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,EACvB,MAAM,EACN,0BAAS,CAAC,MAAM,EAChB,UAAU,CACX,CAAC;QAEF,WAAW,CAAC,IAAI,CAAC;YACf,MAAM,EAAE,CAAC,KAAK,CAAC;YACf,WAAW,EAAE,KAAK,CAAC,KAAK;YACxB,YAAY,EAAE,EAAE;YAChB,iBAAiB,EAAE,IAAI;YACvB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,MAAM,EAAE,EAAE;SACX,CAAC,CAAC;KACJ;IAED,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAExC,OAAO;QACL;YACE,IAAI,EAAE,qCAAoB,CAAC,SAAS;YACpC,KAAK,EAAE,SAAS;YAChB,SAAS,EAAE,0BAAS,CAAC,MAAM;YAC3B,UAAU,EAAV,sBAAU;YACV,IAAI,EAAE,EAAE,WAAW,EAAE;YACrB,KAAK,EAAE,IAAA,+BAAc,EAAC,WAAW,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;SACvE;KACF,CAAC;AACJ,CAAC,CAAA,CAAC;AAEF,MAAM,OAAO,GAAY;IACvB,EAAE,EAAE,GAAG,sBAAU,QAAQ;IACzB,SAAS,EAAE,0BAAS,CAAC,MAAM;IAC3B,QAAQ;CACT,CAAC;AAEF,kBAAe,OAAO,CAAC"}
|
1
|
+
{"version":3,"file":"poolsFetcher.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/goosefx/poolsFetcher.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,+DAKoC;AAGpC,2CAAoD;AACpD,iDAAsD;AACtD,+CAA8D;AAC9D,uCAA4C;AAC5C,uCAAmD;AACnD,qGAA6E;AAC7E,6FAAoE;AAEpE,MAAM,QAAQ,GAAoB,CAAO,KAAa,EAAE,KAAY,EAAE,EAAE;IACtE,MAAM,MAAM,GAAG,IAAA,yBAAe,GAAE,CAAC;IAEjC,MAAM,QAAQ,GAAG,MAAM,IAAA,iCAAwB,EAC7C,MAAM,EACN,yBAAe,EACf,qBAAS,EACT,IAAA,gCAAsB,EAAC,KAAK,CAAC,CAC9B,CAAC;IAEF,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAErC,MAAM,cAAc,GAAG,MAAM,IAAA,4BAAiB,EAC5C,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,EAClD,0BAAS,CAAC,MAAM,EAChB,KAAK,CACN,CAAC;IAEF,MAAM,WAAW,GAAyB,EAAE,CAAC;IAC7C,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;QAC9B,IAAI,OAAO,CAAC,eAAe,CAAC,MAAM,EAAE;YAAE,SAAS;QAC/C,MAAM,UAAU,GAAG,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC/D,IAAI,CAAC,UAAU;YAAE,SAAS;QAE1B,MAAM,EAAE,QAAQ,EAAE,GAAG,UAAU,CAAC;QAChC,MAAM,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,SAAS,CAAC,SAAA,EAAE,EAAI,QAAQ,CAAA,CAAC,CAAC,QAAQ,EAAE,CAAC;QAE5E,MAAM,KAAK,GAAG,IAAA,gCAAsB,EAClC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,EACvB,MAAM,EACN,0BAAS,CAAC,MAAM,EAChB,UAAU,CACX,CAAC;QAEF,WAAW,CAAC,IAAI,CAAC;YACf,MAAM,EAAE,CAAC,KAAK,CAAC;YACf,WAAW,EAAE,KAAK,CAAC,KAAK;YACxB,YAAY,EAAE,EAAE;YAChB,iBAAiB,EAAE,IAAI;YACvB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,MAAM,EAAE,EAAE;SACX,CAAC,CAAC;KACJ;IAED,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAExC,OAAO;QACL;YACE,IAAI,EAAE,qCAAoB,CAAC,SAAS;YACpC,KAAK,EAAE,SAAS;YAChB,SAAS,EAAE,0BAAS,CAAC,MAAM;YAC3B,UAAU,EAAV,sBAAU;YACV,IAAI,EAAE,EAAE,WAAW,EAAE;YACrB,KAAK,EAAE,IAAA,+BAAc,EAAC,WAAW,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;SACvE;KACF,CAAC;AACJ,CAAC,CAAA,CAAC;AAEF,MAAM,OAAO,GAAY;IACvB,EAAE,EAAE,GAAG,sBAAU,QAAQ;IACzB,SAAS,EAAE,0BAAS,CAAC,MAAM;IAC3B,QAAQ;CACT,CAAC;AAEF,kBAAe,OAAO,CAAC"}
|
@@ -23,6 +23,8 @@ const sevenDays = 7 * 1000 * 60 * 60 * 24;
|
|
23
23
|
const executor = (owner, cache) => __awaiter(void 0, void 0, void 0, function* () {
|
24
24
|
const client = (0, clients_1.getClientSolana)();
|
25
25
|
const accounts = yield (0, solana_1.getParsedProgramAccounts)(client, structs_1.userMetadataStruct, constants_1.stakerProgramId, (0, filters_1.stakingAccountFilter)(owner));
|
26
|
+
if (accounts.length === 0)
|
27
|
+
return [];
|
26
28
|
const gofxTokenPrice = yield cache.getTokenPrice(constants_1.gofxMint, portfolio_core_1.NetworkId.solana);
|
27
29
|
if (!gofxTokenPrice)
|
28
30
|
return [];
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"stakingFetcher.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/goosefx/stakingFetcher.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,+DAKoC;AAGpC,2CAAoE;AACpE,iDAAsD;AACtD,+CAA8D;AAC9D,uCAA+C;AAC/C,uCAAiD;AACjD,qGAA6E;AAE7E,MAAM,SAAS,GAAG,CAAC,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;AAE1C,MAAM,QAAQ,GAAoB,CAAO,KAAa,EAAE,KAAY,EAAE,EAAE;IACtE,MAAM,MAAM,GAAG,IAAA,yBAAe,GAAE,CAAC;IAEjC,MAAM,QAAQ,GAAG,MAAM,IAAA,iCAAwB,EAC7C,MAAM,EACN,4BAAkB,EAClB,2BAAe,EACf,IAAA,8BAAoB,EAAC,KAAK,CAAC,CAC5B,CAAC;IAEF,MAAM,cAAc,GAAG,MAAM,KAAK,CAAC,aAAa,CAAC,oBAAQ,EAAE,0BAAS,CAAC,MAAM,CAAC,CAAC;IAC7E,IAAI,CAAC,cAAc;QAAE,OAAO,EAAE,CAAC;IAE/B,MAAM,MAAM,GAAqB,EAAE,CAAC;IACpC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;QAC9B,IAAI,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QACtC,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,gBAAgB,EAAE;YAC7C,MAAM,eAAe,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC1E,MAAM,WAAW,GAAG,IAAI,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,CAAC;YACpE,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,WAAW,CAAC,OAAO,EAAE;gBACpC,WAAW,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;SACxD;QACD,IAAI,WAAW,CAAC,MAAM,EAAE;YAAE,SAAS;QAEnC,MAAM,EAAE,QAAQ,EAAE,GAAG,cAAc,CAAC;QACpC,MAAM,MAAM,GAAG,WAAW,CAAC,SAAS,CAAC,SAAA,EAAE,EAAI,QAAQ,CAAA,CAAC,CAAC,QAAQ,EAAE,CAAC;QAEhE,MAAM,CAAC,IAAI,CACT,IAAA,gCAAsB,EAAC,oBAAQ,EAAE,MAAM,EAAE,0BAAS,CAAC,MAAM,EAAE,cAAc,CAAC,CAC3E,CAAC;KACH;IAED,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAEnC,OAAO;QACL;YACE,IAAI,EAAE,qCAAoB,CAAC,QAAQ;YACnC,KAAK,EAAE,QAAQ;YACf,SAAS,EAAE,0BAAS,CAAC,MAAM;YAC3B,UAAU,EAAV,sBAAU;YACV,IAAI,EAAE,EAAE,MAAM,EAAE;YAChB,KAAK,EAAE,IAAA,+BAAc,EAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;SAC1D;KACF,CAAC;AACJ,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"}
|
1
|
+
{"version":3,"file":"stakingFetcher.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/goosefx/stakingFetcher.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,+DAKoC;AAGpC,2CAAoE;AACpE,iDAAsD;AACtD,+CAA8D;AAC9D,uCAA+C;AAC/C,uCAAiD;AACjD,qGAA6E;AAE7E,MAAM,SAAS,GAAG,CAAC,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;AAE1C,MAAM,QAAQ,GAAoB,CAAO,KAAa,EAAE,KAAY,EAAE,EAAE;IACtE,MAAM,MAAM,GAAG,IAAA,yBAAe,GAAE,CAAC;IAEjC,MAAM,QAAQ,GAAG,MAAM,IAAA,iCAAwB,EAC7C,MAAM,EACN,4BAAkB,EAClB,2BAAe,EACf,IAAA,8BAAoB,EAAC,KAAK,CAAC,CAC5B,CAAC;IAEF,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAErC,MAAM,cAAc,GAAG,MAAM,KAAK,CAAC,aAAa,CAAC,oBAAQ,EAAE,0BAAS,CAAC,MAAM,CAAC,CAAC;IAC7E,IAAI,CAAC,cAAc;QAAE,OAAO,EAAE,CAAC;IAE/B,MAAM,MAAM,GAAqB,EAAE,CAAC;IACpC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;QAC9B,IAAI,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QACtC,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,gBAAgB,EAAE;YAC7C,MAAM,eAAe,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC1E,MAAM,WAAW,GAAG,IAAI,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,CAAC;YACpE,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,WAAW,CAAC,OAAO,EAAE;gBACpC,WAAW,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;SACxD;QACD,IAAI,WAAW,CAAC,MAAM,EAAE;YAAE,SAAS;QAEnC,MAAM,EAAE,QAAQ,EAAE,GAAG,cAAc,CAAC;QACpC,MAAM,MAAM,GAAG,WAAW,CAAC,SAAS,CAAC,SAAA,EAAE,EAAI,QAAQ,CAAA,CAAC,CAAC,QAAQ,EAAE,CAAC;QAEhE,MAAM,CAAC,IAAI,CACT,IAAA,gCAAsB,EAAC,oBAAQ,EAAE,MAAM,EAAE,0BAAS,CAAC,MAAM,EAAE,cAAc,CAAC,CAC3E,CAAC;KACH;IAED,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAEnC,OAAO;QACL;YACE,IAAI,EAAE,qCAAoB,CAAC,QAAQ;YACnC,KAAK,EAAE,QAAQ;YACf,SAAS,EAAE,0BAAS,CAAC,MAAM;YAC3B,UAAU,EAAV,sBAAU;YACV,IAAI,EAAE,EAAE,MAAM,EAAE;YAChB,KAAK,EAAE,IAAA,+BAAc,EAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;SAC1D;KACF,CAAC;AACJ,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"}
|
@@ -1,3 +1,6 @@
|
|
1
1
|
import { PublicKey } from '@solana/web3.js';
|
2
|
+
export declare const platformId = "jupiter";
|
2
3
|
export declare const jlpPool: PublicKey;
|
3
4
|
export declare const jlpToken: PublicKey;
|
5
|
+
export declare const perpsProgramId: PublicKey;
|
6
|
+
export declare const custodiesKey = "custodies";
|
@@ -1,7 +1,10 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.jlpToken = exports.jlpPool = void 0;
|
3
|
+
exports.custodiesKey = exports.perpsProgramId = exports.jlpToken = exports.jlpPool = exports.platformId = void 0;
|
4
4
|
const web3_js_1 = require("@solana/web3.js");
|
5
|
+
exports.platformId = 'jupiter';
|
5
6
|
exports.jlpPool = new web3_js_1.PublicKey('5BUwFW4nRbftYTDMbgxykoFWqWHPzahFSNAaaaJtVKsq');
|
6
7
|
exports.jlpToken = new web3_js_1.PublicKey('27G8MtK7VtTcCHkpASjSDdkWWYfoqT6ggEuKidVJidD4');
|
8
|
+
exports.perpsProgramId = new web3_js_1.PublicKey('PERPHjGBqRHArX4DySjwM6UJHiR3sWAatqfdBS2qQJu');
|
9
|
+
exports.custodiesKey = 'custodies';
|
7
10
|
//# sourceMappingURL=constants.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/jupiter/constants.ts"],"names":[],"mappings":";;;AAAA,6CAA4C;AAE/B,QAAA,OAAO,GAAG,IAAI,mBAAS,CAClC,8CAA8C,CAC/C,CAAC;AACW,QAAA,QAAQ,GAAG,IAAI,mBAAS,CACnC,8CAA8C,CAC/C,CAAC"}
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/jupiter/constants.ts"],"names":[],"mappings":";;;AAAA,6CAA4C;AAE/B,QAAA,UAAU,GAAG,SAAS,CAAC;AACvB,QAAA,OAAO,GAAG,IAAI,mBAAS,CAClC,8CAA8C,CAC/C,CAAC;AACW,QAAA,QAAQ,GAAG,IAAI,mBAAS,CACnC,8CAA8C,CAC/C,CAAC;AAEW,QAAA,cAAc,GAAG,IAAI,mBAAS,CACzC,6CAA6C,CAC9C,CAAC;AAEW,QAAA,YAAY,GAAG,WAAW,CAAC"}
|
@@ -0,0 +1,34 @@
|
|
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 clients_1 = require("../../utils/clients");
|
14
|
+
const solana_1 = require("../../utils/solana");
|
15
|
+
const filters_1 = require("../../utils/solana/filters");
|
16
|
+
const constants_1 = require("./constants");
|
17
|
+
const structs_1 = require("./structs");
|
18
|
+
const executor = (cache) => __awaiter(void 0, void 0, void 0, function* () {
|
19
|
+
const client = (0, clients_1.getClientSolana)();
|
20
|
+
const custodiesAccounts = yield (0, solana_1.getParsedProgramAccounts)(client, structs_1.custodyStruct, constants_1.perpsProgramId, (0, filters_1.dataStructSizeFilter)(structs_1.custodyStruct));
|
21
|
+
if (custodiesAccounts.length === 0)
|
22
|
+
return;
|
23
|
+
const accounts = custodiesAccounts.map((acc) => (Object.assign({ pubkey: acc.pubkey.toString() }, acc)));
|
24
|
+
yield cache.setItem(constants_1.custodiesKey, accounts, {
|
25
|
+
prefix: constants_1.platformId,
|
26
|
+
networkId: portfolio_core_1.NetworkId.solana,
|
27
|
+
});
|
28
|
+
});
|
29
|
+
const job = {
|
30
|
+
id: `${constants_1.platformId}-custodies`,
|
31
|
+
executor,
|
32
|
+
};
|
33
|
+
exports.default = job;
|
34
|
+
//# sourceMappingURL=custodiesJob.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"custodiesJob.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/jupiter/custodiesJob.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,+DAAuD;AAGvD,iDAAsD;AACtD,+CAA8D;AAC9D,wDAAkE;AAClE,2CAAuE;AACvE,uCAAmD;AAEnD,MAAM,QAAQ,GAAgB,CAAO,KAAY,EAAE,EAAE;IACnD,MAAM,MAAM,GAAG,IAAA,yBAAe,GAAE,CAAC;IAEjC,MAAM,iBAAiB,GAAG,MAAM,IAAA,iCAAwB,EACtD,MAAM,EACN,uBAAa,EACb,0BAAc,EACd,IAAA,8BAAoB,EAAC,uBAAa,CAAC,CACpC,CAAC;IACF,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAE3C,MAAM,QAAQ,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,iBAC9C,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,IACzB,GAAe,EACnB,CAAC,CAAC;IAEJ,MAAM,KAAK,CAAC,OAAO,CAAC,wBAAY,EAAE,QAAQ,EAAE;QAC1C,MAAM,EAAE,sBAAU;QAClB,SAAS,EAAE,0BAAS,CAAC,MAAM;KAC5B,CAAC,CAAC;AACL,CAAC,CAAA,CAAC;AAEF,MAAM,GAAG,GAAQ;IACf,EAAE,EAAE,GAAG,sBAAU,YAAY;IAC7B,QAAQ;CACT,CAAC;AACF,kBAAe,GAAG,CAAC"}
|
@@ -0,0 +1,14 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.perpetualsPositionsFilter = void 0;
|
4
|
+
const perpetualsPositionsFilter = (owner) => [
|
5
|
+
{
|
6
|
+
memcmp: {
|
7
|
+
offset: 8,
|
8
|
+
bytes: owner,
|
9
|
+
},
|
10
|
+
},
|
11
|
+
{ dataSize: 216 },
|
12
|
+
];
|
13
|
+
exports.perpetualsPositionsFilter = perpetualsPositionsFilter;
|
14
|
+
//# sourceMappingURL=filters.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"filters.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/jupiter/filters.ts"],"names":[],"mappings":";;;AAEO,MAAM,yBAAyB,GAAG,CACvC,KAAa,EACe,EAAE,CAAC;IAC/B;QACE,MAAM,EAAE;YACN,MAAM,EAAE,CAAC;YACT,KAAK,EAAE,KAAK;SACb;KACF;IACD,EAAE,QAAQ,EAAE,GAAG,EAAE;CAClB,CAAC;AAVW,QAAA,yBAAyB,6BAUpC"}
|
@@ -5,6 +5,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
6
6
|
exports.fetchers = exports.jobs = void 0;
|
7
7
|
const poolJob_1 = __importDefault(require("./poolJob"));
|
8
|
-
|
9
|
-
|
8
|
+
const perpetualFetcher_1 = __importDefault(require("./perpetualFetcher"));
|
9
|
+
const custodiesJob_1 = __importDefault(require("./custodiesJob"));
|
10
|
+
exports.jobs = [poolJob_1.default, custodiesJob_1.default];
|
11
|
+
exports.fetchers = [perpetualFetcher_1.default];
|
10
12
|
//# sourceMappingURL=index.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/jupiter/index.ts"],"names":[],"mappings":";;;;;;AAEA,wDAAgC;
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/jupiter/index.ts"],"names":[],"mappings":";;;;;;AAEA,wDAAgC;AAChC,0EAAkD;AAClD,kEAA0C;AAE7B,QAAA,IAAI,GAAU,CAAC,iBAAO,EAAE,sBAAY,CAAC,CAAC;AACtC,QAAA,QAAQ,GAAc,CAAC,0BAAgB,CAAC,CAAC"}
|
@@ -0,0 +1,153 @@
|
|
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 bignumber_js_1 = __importDefault(require("bignumber.js"));
|
17
|
+
const web3_js_1 = require("@solana/web3.js");
|
18
|
+
const constants_1 = require("./constants");
|
19
|
+
const clients_1 = require("../../utils/clients");
|
20
|
+
const solana_1 = require("../../utils/solana");
|
21
|
+
const structs_1 = require("./structs");
|
22
|
+
const filters_1 = require("./filters");
|
23
|
+
const getMultipleAccountsInfoSafe_1 = require("../../utils/solana/getMultipleAccountsInfoSafe");
|
24
|
+
const helpers_1 = require("../../utils/solana/pyth/helpers");
|
25
|
+
const constants_2 = require("../tokens/constants");
|
26
|
+
const usdFactor = new bignumber_js_1.default(Math.pow(10, 6));
|
27
|
+
const executor = (owner, cache) => __awaiter(void 0, void 0, void 0, function* () {
|
28
|
+
const client = (0, clients_1.getClientSolana)();
|
29
|
+
const perpetualsPositions = yield (0, solana_1.getParsedProgramAccounts)(client, structs_1.positionStruct, constants_1.perpsProgramId, (0, filters_1.perpetualsPositionsFilter)(owner));
|
30
|
+
if (perpetualsPositions.length === 0)
|
31
|
+
return [];
|
32
|
+
const custodiesAccounts = yield cache.getItem(constants_1.custodiesKey, {
|
33
|
+
prefix: constants_1.platformId,
|
34
|
+
networkId: portfolio_core_1.NetworkId.solana,
|
35
|
+
});
|
36
|
+
if (!custodiesAccounts)
|
37
|
+
return [];
|
38
|
+
const oraclesPubkeys = [];
|
39
|
+
const custodyById = new Map();
|
40
|
+
custodiesAccounts.forEach((acc) => {
|
41
|
+
oraclesPubkeys.push(new web3_js_1.PublicKey(acc.oracle.oracleAccount));
|
42
|
+
custodyById.set(acc.pubkey, acc);
|
43
|
+
});
|
44
|
+
const oracleAccounts = yield (0, getMultipleAccountsInfoSafe_1.getMultipleAccountsInfoSafe)(client, oraclesPubkeys);
|
45
|
+
const pythPricesByAccount = (0, helpers_1.getPythPricesDatasMap)(oraclesPubkeys, oracleAccounts);
|
46
|
+
const tokensDetailsById = new Map();
|
47
|
+
const tokensDetails = yield cache.getItems(custodiesAccounts.map((acc) => acc.mint), { prefix: constants_2.tokenListsDetailsPrefix, networkId: portfolio_core_1.NetworkId.solana });
|
48
|
+
tokensDetails.forEach((tD) => tD ? tokensDetailsById.set(tD.address, tD) : undefined);
|
49
|
+
const elements = [];
|
50
|
+
for (const position of perpetualsPositions) {
|
51
|
+
const custody = custodyById.get(position.custody.toString());
|
52
|
+
const collateralCustody = custodyById.get(position.collateralCustody.toString());
|
53
|
+
if (!custody || !collateralCustody)
|
54
|
+
continue;
|
55
|
+
const custodyPriceData = pythPricesByAccount.get(custody.oracle.oracleAccount);
|
56
|
+
const collateralCustodyPriceData = pythPricesByAccount.get(collateralCustody.oracle.oracleAccount);
|
57
|
+
if (!custodyPriceData ||
|
58
|
+
!custodyPriceData.price ||
|
59
|
+
!collateralCustodyPriceData ||
|
60
|
+
!collateralCustodyPriceData.price)
|
61
|
+
continue;
|
62
|
+
const borrowedAssets = [];
|
63
|
+
const borrowedYields = [];
|
64
|
+
const suppliedAssets = [];
|
65
|
+
const suppliedYields = [];
|
66
|
+
const rewardAssets = [];
|
67
|
+
const { collateralUsd, sizeUsd, price, cumulativeInterestSnapshot } = position;
|
68
|
+
const openingPrice = price.dividedBy(usdFactor);
|
69
|
+
const currentPrice = new bignumber_js_1.default(custodyPriceData.price);
|
70
|
+
const leverage = sizeUsd.dividedBy(collateralUsd);
|
71
|
+
const custodyDetails = tokensDetailsById.get(custody.mint);
|
72
|
+
const custodyName = custodyDetails ? custodyDetails.symbol : '';
|
73
|
+
const amountDeposited = collateralUsd
|
74
|
+
.dividedBy(collateralCustodyPriceData.price)
|
75
|
+
.dividedBy(usdFactor);
|
76
|
+
const depositValue = collateralUsd.dividedBy(usdFactor).toNumber();
|
77
|
+
suppliedAssets.push({
|
78
|
+
type: 'token',
|
79
|
+
networkId: portfolio_core_1.NetworkId.solana,
|
80
|
+
value: collateralUsd.dividedBy(usdFactor).toNumber(),
|
81
|
+
data: {
|
82
|
+
amount: amountDeposited.toNumber(),
|
83
|
+
address: collateralCustody.mint,
|
84
|
+
price: collateralCustodyPriceData.price,
|
85
|
+
},
|
86
|
+
});
|
87
|
+
const amountBorrowed = amountDeposited.times(leverage);
|
88
|
+
const borrowedValue = sizeUsd.dividedBy(usdFactor).toNumber();
|
89
|
+
borrowedAssets.push({
|
90
|
+
type: 'token',
|
91
|
+
networkId: portfolio_core_1.NetworkId.solana,
|
92
|
+
value: borrowedValue,
|
93
|
+
data: {
|
94
|
+
amount: amountBorrowed.toNumber(),
|
95
|
+
address: collateralCustody.mint,
|
96
|
+
price: collateralCustodyPriceData.price,
|
97
|
+
},
|
98
|
+
});
|
99
|
+
const borrowFee = sizeUsd
|
100
|
+
.times(new bignumber_js_1.default(collateralCustody.fundingRateState.cumulativeInterestRate).minus(cumulativeInterestSnapshot))
|
101
|
+
.dividedBy(Math.pow(10, 15))
|
102
|
+
.absoluteValue();
|
103
|
+
const openAndCloseFees = sizeUsd.times(0.001).times(2).dividedBy(usdFactor);
|
104
|
+
const fees = borrowFee.plus(openAndCloseFees).negated().toNumber();
|
105
|
+
const priceChange = position.side === structs_1.Side.Long
|
106
|
+
? currentPrice.minus(openingPrice).dividedBy(openingPrice)
|
107
|
+
: openingPrice.minus(currentPrice).dividedBy(openingPrice);
|
108
|
+
const pnl = priceChange.times(leverage).times(depositValue).toNumber();
|
109
|
+
rewardAssets.push({
|
110
|
+
type: 'generic',
|
111
|
+
networkId: portfolio_core_1.NetworkId.solana,
|
112
|
+
value: pnl,
|
113
|
+
data: { name: 'PNL ($)', amount: pnl },
|
114
|
+
});
|
115
|
+
rewardAssets.push({
|
116
|
+
type: 'generic',
|
117
|
+
networkId: portfolio_core_1.NetworkId.solana,
|
118
|
+
value: fees,
|
119
|
+
data: { name: 'Fees O/C ($)', amount: fees },
|
120
|
+
});
|
121
|
+
if (suppliedAssets.length === 0 && borrowedAssets.length === 0)
|
122
|
+
continue;
|
123
|
+
const value = collateralUsd.dividedBy(usdFactor).plus(pnl).toNumber();
|
124
|
+
const side = position.side === structs_1.Side.Long ? 'Long' : 'Short';
|
125
|
+
elements.push({
|
126
|
+
type: portfolio_core_1.PortfolioElementType.borrowlend,
|
127
|
+
networkId: portfolio_core_1.NetworkId.solana,
|
128
|
+
platformId: constants_1.platformId,
|
129
|
+
label: 'Leverage',
|
130
|
+
value,
|
131
|
+
name: `${custodyName} ${side} ${leverage.decimalPlaces(2)}x`,
|
132
|
+
data: {
|
133
|
+
borrowedAssets,
|
134
|
+
borrowedValue,
|
135
|
+
borrowedYields,
|
136
|
+
suppliedAssets,
|
137
|
+
suppliedValue: depositValue,
|
138
|
+
suppliedYields,
|
139
|
+
collateralRatio: null,
|
140
|
+
rewardAssets,
|
141
|
+
value,
|
142
|
+
},
|
143
|
+
});
|
144
|
+
}
|
145
|
+
return elements;
|
146
|
+
});
|
147
|
+
const fetcher = {
|
148
|
+
id: `${constants_1.platformId}-perpetual`,
|
149
|
+
networkId: portfolio_core_1.NetworkId.solana,
|
150
|
+
executor,
|
151
|
+
};
|
152
|
+
exports.default = fetcher;
|
153
|
+
//# sourceMappingURL=perpetualFetcher.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"perpetualFetcher.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/jupiter/perpetualFetcher.ts"],"names":[],"mappings":"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"}
|
@@ -101,5 +101,29 @@ export type Custody = {
|
|
101
101
|
fundingRateState: FundingRateState;
|
102
102
|
bump: number;
|
103
103
|
tokenAccountBump: number;
|
104
|
+
buffer1: Buffer;
|
104
105
|
};
|
105
106
|
export declare const custodyStruct: BeetStruct<Custody, Partial<Custody>>;
|
107
|
+
export declare enum Side {
|
108
|
+
None = 0,
|
109
|
+
Long = 1,
|
110
|
+
Short = 2
|
111
|
+
}
|
112
|
+
export type Position = {
|
113
|
+
buffer: Buffer;
|
114
|
+
owner: PublicKey;
|
115
|
+
pool: PublicKey;
|
116
|
+
custody: PublicKey;
|
117
|
+
collateralCustody: PublicKey;
|
118
|
+
openTime: BigNumber;
|
119
|
+
updateTime: BigNumber;
|
120
|
+
side: Side;
|
121
|
+
price: BigNumber;
|
122
|
+
sizeUsd: BigNumber;
|
123
|
+
collateralUsd: BigNumber;
|
124
|
+
realisedPnlUsd: BigNumber;
|
125
|
+
cumulativeInterestSnapshot: BigNumber;
|
126
|
+
lockedAmount: BigNumber;
|
127
|
+
bump: number;
|
128
|
+
};
|
129
|
+
export declare const positionStruct: BeetStruct<Position, Partial<Position>>;
|
@@ -1,6 +1,6 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.custodyStruct = exports.fundingRateStateStruct = exports.assetsStruct = exports.permissionsStruct = exports.pricingParamsStruct = exports.oracleParamsStruct = exports.OracleType = exports.perpetualPoolStruct = exports.feesStruct = exports.poolAprStruct = exports.limitStruct = void 0;
|
3
|
+
exports.positionStruct = exports.Side = exports.custodyStruct = exports.fundingRateStateStruct = exports.assetsStruct = exports.permissionsStruct = exports.pricingParamsStruct = exports.oracleParamsStruct = exports.OracleType = exports.perpetualPoolStruct = exports.feesStruct = exports.poolAprStruct = exports.limitStruct = void 0;
|
4
4
|
const beet_1 = require("@metaplex-foundation/beet");
|
5
5
|
const beet_solana_1 = require("@metaplex-foundation/beet-solana");
|
6
6
|
const solana_1 = require("../../utils/solana");
|
@@ -95,5 +95,29 @@ exports.custodyStruct = new beet_1.BeetStruct([
|
|
95
95
|
['fundingRateState', exports.fundingRateStateStruct],
|
96
96
|
['bump', beet_1.u8],
|
97
97
|
['tokenAccountBump', beet_1.u8],
|
98
|
+
['buffer1', (0, solana_1.blob)(8)],
|
99
|
+
], (args) => args);
|
100
|
+
var Side;
|
101
|
+
(function (Side) {
|
102
|
+
Side[Side["None"] = 0] = "None";
|
103
|
+
Side[Side["Long"] = 1] = "Long";
|
104
|
+
Side[Side["Short"] = 2] = "Short";
|
105
|
+
})(Side || (exports.Side = Side = {}));
|
106
|
+
exports.positionStruct = new beet_1.BeetStruct([
|
107
|
+
['buffer', (0, solana_1.blob)(8)],
|
108
|
+
['owner', beet_solana_1.publicKey],
|
109
|
+
['pool', beet_solana_1.publicKey],
|
110
|
+
['custody', beet_solana_1.publicKey],
|
111
|
+
['collateralCustody', beet_solana_1.publicKey],
|
112
|
+
['openTime', solana_1.i64],
|
113
|
+
['updateTime', solana_1.i64],
|
114
|
+
['side', beet_1.u8],
|
115
|
+
['price', solana_1.u64],
|
116
|
+
['sizeUsd', solana_1.u64],
|
117
|
+
['collateralUsd', solana_1.u64],
|
118
|
+
['realisedPnlUsd', solana_1.i64],
|
119
|
+
['cumulativeInterestSnapshot', solana_1.u128],
|
120
|
+
['lockedAmount', solana_1.u64],
|
121
|
+
['bump', beet_1.u8],
|
98
122
|
], (args) => args);
|
99
123
|
//# sourceMappingURL=structs.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"structs.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/jupiter/structs.ts"],"names":[],"mappings":"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
|
1
|
+
{"version":3,"file":"structs.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/jupiter/structs.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,62 @@
|
|
1
|
+
/// <reference types="node" />
|
2
|
+
export type CustodyInfo = Custody & {
|
3
|
+
pubkey: string;
|
4
|
+
};
|
5
|
+
type Custody = {
|
6
|
+
buffer: Buffer;
|
7
|
+
pool: string;
|
8
|
+
mint: string;
|
9
|
+
tokenAccount: string;
|
10
|
+
decimals: number;
|
11
|
+
isStable: boolean;
|
12
|
+
oracle: OracleParams;
|
13
|
+
pricing: PricingParams;
|
14
|
+
permissions: Permission;
|
15
|
+
targetRatioBps: string;
|
16
|
+
assets: Assets;
|
17
|
+
fundingRateState: FundingRateState;
|
18
|
+
bump: number;
|
19
|
+
tokenAccountBump: number;
|
20
|
+
};
|
21
|
+
declare enum OracleType {
|
22
|
+
None = 0,
|
23
|
+
Test = 1,
|
24
|
+
Pyth = 2
|
25
|
+
}
|
26
|
+
type OracleParams = {
|
27
|
+
oracleAccount: string;
|
28
|
+
oracleType: OracleType;
|
29
|
+
maxPriceError: string;
|
30
|
+
maxPriceAgeSec: string;
|
31
|
+
};
|
32
|
+
type PricingParams = {
|
33
|
+
tradeSpreadLong: string;
|
34
|
+
tradeSpreadShort: string;
|
35
|
+
swapSpread: string;
|
36
|
+
maxLeverage: string;
|
37
|
+
maxGlobalLongSizes: string;
|
38
|
+
maxGlobalShortSizes: string;
|
39
|
+
};
|
40
|
+
type Permission = {
|
41
|
+
allowSwap: boolean;
|
42
|
+
allowAddLiquidity: boolean;
|
43
|
+
allowRemoveLiquidity: boolean;
|
44
|
+
allowIncreasePosition: boolean;
|
45
|
+
allowDecreasePosition: boolean;
|
46
|
+
allowCollateralWithdrawal: boolean;
|
47
|
+
allowLiquidatePosition: boolean;
|
48
|
+
};
|
49
|
+
type Assets = {
|
50
|
+
feesReserves: string;
|
51
|
+
owned: string;
|
52
|
+
locked: string;
|
53
|
+
guaranteedUsd: string;
|
54
|
+
globalShortSizes: string;
|
55
|
+
globalShortAveragePrices: string;
|
56
|
+
};
|
57
|
+
type FundingRateState = {
|
58
|
+
cumulativeInterestRate: string;
|
59
|
+
lastUpdate: string;
|
60
|
+
hourlyFundingBps: string;
|
61
|
+
};
|
62
|
+
export {};
|
@@ -0,0 +1,9 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
var OracleType;
|
4
|
+
(function (OracleType) {
|
5
|
+
OracleType[OracleType["None"] = 0] = "None";
|
6
|
+
OracleType[OracleType["Test"] = 1] = "Test";
|
7
|
+
OracleType[OracleType["Pyth"] = 2] = "Pyth";
|
8
|
+
})(OracleType || (OracleType = {}));
|
9
|
+
//# sourceMappingURL=types.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/jupiter/types.ts"],"names":[],"mappings":";;AAqBA,IAAK,UAIJ;AAJD,WAAK,UAAU;IACb,2CAAI,CAAA;IACJ,2CAAI,CAAA;IACJ,2CAAI,CAAA;AACN,CAAC,EAJI,UAAU,KAAV,UAAU,QAId"}
|
@@ -24,6 +24,8 @@ const tokenPriceToAssetToken_1 = __importDefault(require("../../../utils/misc/to
|
|
24
24
|
const executor = (owner, cache) => __awaiter(void 0, void 0, void 0, function* () {
|
25
25
|
const client = (0, clients_1.getClientSolana)();
|
26
26
|
const accounts = yield (0, solana_1.getParsedProgramAccounts)(client, struct_1.dcaStruct, constants_2.dcaProgramId, (0, filters_1.jupiterDCAFilter)(owner));
|
27
|
+
if (accounts.length === 0)
|
28
|
+
return [];
|
27
29
|
const amountByToken = new Map();
|
28
30
|
for (const account of accounts) {
|
29
31
|
const inputMint = account.inputMint.toString();
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"dcaFetcher.js","sourceRoot":"","sources":["../../../../../../../packages/plugins/src/plugins/orders/jupiter/dcaFetcher.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,+DAIoC;AAIpC,4CAA0C;AAC1C,oDAAyD;AACzD,kDAAiE;AACjE,qCAAqC;AACrC,2CAA4D;AAC5D,uCAA6C;AAC7C,gGAAuE;AACvE,wGAAgF;AAEhF,MAAM,QAAQ,GAAoB,CAAO,KAAa,EAAE,KAAY,EAAE,EAAE;IACtE,MAAM,MAAM,GAAG,IAAA,yBAAe,GAAE,CAAC;IAEjC,MAAM,QAAQ,GAAG,MAAM,IAAA,iCAAwB,EAC7C,MAAM,EACN,kBAAS,EACT,wBAAY,EACZ,IAAA,0BAAgB,EAAC,KAAK,CAAC,CACxB,CAAC;
|
1
|
+
{"version":3,"file":"dcaFetcher.js","sourceRoot":"","sources":["../../../../../../../packages/plugins/src/plugins/orders/jupiter/dcaFetcher.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,+DAIoC;AAIpC,4CAA0C;AAC1C,oDAAyD;AACzD,kDAAiE;AACjE,qCAAqC;AACrC,2CAA4D;AAC5D,uCAA6C;AAC7C,gGAAuE;AACvE,wGAAgF;AAEhF,MAAM,QAAQ,GAAoB,CAAO,KAAa,EAAE,KAAY,EAAE,EAAE;IACtE,MAAM,MAAM,GAAG,IAAA,yBAAe,GAAE,CAAC;IAEjC,MAAM,QAAQ,GAAG,MAAM,IAAA,iCAAwB,EAC7C,MAAM,EACN,kBAAS,EACT,wBAAY,EACZ,IAAA,0BAAgB,EAAC,KAAK,CAAC,CACxB,CAAC;IAEF,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAErC,MAAM,aAAa,GAA2B,IAAI,GAAG,EAAE,CAAC;IAExD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;QAC9B,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;QAC/C,MAAM,UAAU,GAAG,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAChD,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC9D,IAAI,CAAC,UAAU,EAAE;YACf,aAAa,CAAC,GAAG,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;SAC3C;aAAM;YACL,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC/C,aAAa,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;SACzC;KACF;IAED,MAAM,cAAc,GAAG,MAAM,IAAA,4BAAiB,EAC5C,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,EAChC,0BAAS,CAAC,MAAM,EAChB,KAAK,CACN,CAAC;IAEF,MAAM,MAAM,GAAqB,EAAE,CAAC;IACpC,KAAK,MAAM,KAAK,IAAI,aAAa,CAAC,IAAI,EAAE,EAAE;QACxC,MAAM,UAAU,GAAG,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC7C,IAAI,CAAC,UAAU;YAAE,SAAS;QAC1B,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACxC,IAAI,CAAC,MAAM;YAAE,SAAS;QACtB,MAAM,KAAK,GAAG,IAAA,gCAAsB,EAClC,UAAU,CAAC,OAAO,EAClB,MAAM,CAAC,SAAS,CAAC,SAAA,EAAE,EAAI,UAAU,CAAC,QAAQ,CAAA,CAAC,CAAC,QAAQ,EAAE,EACtD,0BAAS,CAAC,MAAM,EAChB,UAAU,CACX,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACpB;IACD,OAAO;QACL;YACE,IAAI,EAAE,UAAU;YAChB,SAAS,EAAE,0BAAS,CAAC,MAAM;YAC3B,UAAU,EAAE,2BAAe,CAAC,EAAE;YAC9B,KAAK,EAAE,IAAA,+BAAc,EAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACzD,KAAK,EAAE,SAAS;YAChB,IAAI,EAAE,eAAe,QAAQ,CAAC,MAAM,GAAG;YACvC,IAAI,EAAE,EAAE,MAAM,EAAE;SACjB;KACF,CAAC;AACJ,CAAC,CAAA,CAAC;AAEF,MAAM,OAAO,GAAY;IACvB,EAAE,EAAE,GAAG,sBAAU,cAAc;IAC/B,SAAS,EAAE,0BAAS,CAAC,MAAM;IAC3B,QAAQ;CACT,CAAC;AAEF,kBAAe,OAAO,CAAC"}
|
@@ -0,0 +1,6 @@
|
|
1
|
+
import { PublicKey } from '@solana/web3.js';
|
2
|
+
import { Platform } from '@sonarwatch/portfolio-core';
|
3
|
+
export declare const platformId = "port";
|
4
|
+
export declare const platform: Platform;
|
5
|
+
export declare const portApi = "https://api-v1.port.finance";
|
6
|
+
export declare const programId: PublicKey;
|