@sonarwatch/portfolio-plugins 0.14.195 → 0.14.197
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 +2430 -2417
- package/README.md +3 -3
- package/package.json +1 -1
- package/src/index.js +4 -0
- package/src/index.js.map +1 -1
- package/src/plugins/balancer/helpers/pools.js +21 -21
- package/src/plugins/boop/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.map +1 -0
- package/src/plugins/cytonic/constants.d.ts +9 -0
- package/src/plugins/cytonic/constants.js +42 -0
- package/src/plugins/cytonic/constants.js.map +1 -0
- package/src/plugins/cytonic/index.d.ts +4 -0
- package/src/plugins/cytonic/index.js +10 -0
- package/src/plugins/cytonic/index.js.map +1 -0
- package/src/plugins/cytonic/stakingFetcher.d.ts +3 -0
- package/src/plugins/cytonic/stakingFetcher.js +78 -0
- package/src/plugins/cytonic/stakingFetcher.js.map +1 -0
- package/src/plugins/cytonic/structs.d.ts +32 -0
- package/src/plugins/cytonic/structs.js +31 -0
- package/src/plugins/cytonic/structs.js.map +1 -0
- package/src/plugins/exponent/constants.d.ts +2 -2
- package/src/plugins/exponent/constants.js +2 -2
- package/src/plugins/exponent/constants.js.map +1 -1
- package/src/plugins/exponent/marketsJob.js +9 -0
- package/src/plugins/exponent/marketsJob.js.map +1 -1
- package/src/plugins/hylo/marketsJob.js +13 -0
- package/src/plugins/hylo/marketsJob.js.map +1 -1
- package/src/plugins/hylo/structs.d.ts +6 -0
- package/src/plugins/hylo/structs.js +6 -0
- package/src/plugins/hylo/structs.js.map +1 -1
- package/src/plugins/sushiswap/helpers.js +24 -24
- package/src/plugins/uniswap-v2/helpers.js +22 -22
- package/src/plugins/zeta/airdropFetcher.js +14 -14
- package/src/utils/sei/constants.js +8 -8
- package/src/utils/sei/getQueryBalanceByOwner.js +4 -4
- package/src/plugins/boop/types.d.ts +0 -5
- package/src/plugins/boop/types.js.map +0 -1
- /package/src/plugins/{boop → bouncebit}/types.js +0 -0
package/README.md
CHANGED
@@ -1,3 +1,3 @@
|
|
1
|
-
# @sonarwatch/portfolio-plugins
|
2
|
-
|
3
|
-
This library is @sonarwatch/portfolio-plugins
|
1
|
+
# @sonarwatch/portfolio-plugins
|
2
|
+
|
3
|
+
This library is @sonarwatch/portfolio-plugins
|
package/package.json
CHANGED
package/src/index.js
CHANGED
@@ -197,6 +197,8 @@ const huma = __importStar(require("./plugins/huma"));
|
|
197
197
|
const honeyland = __importStar(require("./plugins/honeyland"));
|
198
198
|
const lavarage = __importStar(require("./plugins/lavarage"));
|
199
199
|
const boop = __importStar(require("./plugins/boop"));
|
200
|
+
const cytonic = __importStar(require("./plugins/cytonic"));
|
201
|
+
const bouncebit = __importStar(require("./plugins/bouncebit"));
|
200
202
|
var getFetchersByAddressSystem_2 = require("./utils/misc/getFetchersByAddressSystem");
|
201
203
|
Object.defineProperty(exports, "getFetchersByAddressSystem", { enumerable: true, get: function () { return getFetchersByAddressSystem_2.getFetchersByAddressSystem; } });
|
202
204
|
__exportStar(require("./Cache"), exports);
|
@@ -380,6 +382,8 @@ const modules = [
|
|
380
382
|
honeyland,
|
381
383
|
lavarage,
|
382
384
|
boop,
|
385
|
+
cytonic,
|
386
|
+
bouncebit,
|
383
387
|
];
|
384
388
|
// JOBS //
|
385
389
|
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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"}
|
@@ -36,27 +36,27 @@ exports.getBalancerPoolsV2 = void 0;
|
|
36
36
|
const graphql_request_1 = __importStar(require("graphql-request"));
|
37
37
|
function getBalancerPoolsV2(url) {
|
38
38
|
return __awaiter(this, void 0, void 0, function* () {
|
39
|
-
const query = (0, graphql_request_1.gql) `
|
40
|
-
query pools {
|
41
|
-
pools(
|
42
|
-
first: 1000
|
43
|
-
orderBy: totalLiquidity
|
44
|
-
orderDirection: desc
|
45
|
-
where: { totalLiquidity_gt: "500" }
|
46
|
-
) {
|
47
|
-
id
|
48
|
-
address
|
49
|
-
symbol
|
50
|
-
totalLiquidity
|
51
|
-
totalShares
|
52
|
-
tokens {
|
53
|
-
balance
|
54
|
-
decimals
|
55
|
-
symbol
|
56
|
-
address
|
57
|
-
}
|
58
|
-
}
|
59
|
-
}
|
39
|
+
const query = (0, graphql_request_1.gql) `
|
40
|
+
query pools {
|
41
|
+
pools(
|
42
|
+
first: 1000
|
43
|
+
orderBy: totalLiquidity
|
44
|
+
orderDirection: desc
|
45
|
+
where: { totalLiquidity_gt: "500" }
|
46
|
+
) {
|
47
|
+
id
|
48
|
+
address
|
49
|
+
symbol
|
50
|
+
totalLiquidity
|
51
|
+
totalShares
|
52
|
+
tokens {
|
53
|
+
balance
|
54
|
+
decimals
|
55
|
+
symbol
|
56
|
+
address
|
57
|
+
}
|
58
|
+
}
|
59
|
+
}
|
60
60
|
`;
|
61
61
|
const res = yield (0, graphql_request_1.default)(url, query);
|
62
62
|
const pools = res.pools;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/boop/index.ts"],"names":[],"mappings":";;;;;;AAEA,
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/boop/index.ts"],"names":[],"mappings":";;;;;;AAEA,sEAA8C;AAEjC,QAAA,IAAI,GAAU,EAAE,CAAC;AACjB,QAAA,QAAQ,GAAc,CAAC,wBAAc,CAAC,CAAC"}
|
@@ -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,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 = "cytonic";
|
5
|
+
export declare const pid: PublicKey;
|
6
|
+
export declare const assetsConfigs: {
|
7
|
+
mint: string;
|
8
|
+
vault: string;
|
9
|
+
}[];
|
@@ -0,0 +1,42 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.assetsConfigs = 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
|
+
const constants_1 = require("../jito/constants");
|
8
|
+
const constants_2 = require("../marinade/constants");
|
9
|
+
exports.platformId = 'cytonic';
|
10
|
+
exports.pid = new web3_js_1.PublicKey('HYDqq5GfUj4aBuPpSCs4fkmeS7jZHRhrrQ3q72KsJdD4');
|
11
|
+
// You can find the list of assets inside cytonic frontend, look for sol address
|
12
|
+
// To find the vault, run :
|
13
|
+
// assetsConfigs.map(
|
14
|
+
// (asset) =>
|
15
|
+
// PublicKey.findProgramAddressSync(
|
16
|
+
// [
|
17
|
+
// Buffer.from('vault-data', 'utf-8'),
|
18
|
+
// new PublicKey(
|
19
|
+
// 'CGXZkg4SP7ogYbad3Jm1myew827xdDEBCrtQnscKYEaX'
|
20
|
+
// ).toBuffer(),
|
21
|
+
// new PublicKey(asset).toBuffer(),
|
22
|
+
// ],
|
23
|
+
// pid
|
24
|
+
// )[0]
|
25
|
+
// );
|
26
|
+
exports.assetsConfigs = [
|
27
|
+
{
|
28
|
+
mint: portfolio_core_1.solanaNativeWrappedAddress,
|
29
|
+
vault: '4nsvUvEGo4AbUYTgT46RhPCV81KbxGnzHfxnHaNZantA',
|
30
|
+
},
|
31
|
+
{
|
32
|
+
mint: solana_1.usdcSolanaMint,
|
33
|
+
vault: 'Ey1gR9BnFpVCD6UwWit9KbEQz5qXJbP75BmYCoxcfqD8',
|
34
|
+
},
|
35
|
+
{
|
36
|
+
mint: 'Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB',
|
37
|
+
vault: 'DurSN134DtPxv9DT2EdDemLftwqLuFPKCu98NEfna63W',
|
38
|
+
},
|
39
|
+
{ mint: constants_1.jitoSOLMint, vault: 'F82gzrGRNM5am9Eo1umL5vh4m7mMHaGeUhu8ymZPvaWk' },
|
40
|
+
{ mint: constants_2.mSOLMint, vault: 'HS8YCGvg4d3bgqbNV2PGXjyAKLiDmZ2GJKWyKJFSoLHH' },
|
41
|
+
];
|
42
|
+
//# sourceMappingURL=constants.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/cytonic/constants.ts"],"names":[],"mappings":";;;AAAA,6CAA4C;AAC5C,+DAAwE;AACxE,+CAAoD;AACpD,iDAAgD;AAChD,qDAAiD;AAEpC,QAAA,UAAU,GAAG,SAAS,CAAC;AACvB,QAAA,GAAG,GAAG,IAAI,mBAAS,CAC9B,8CAA8C,CAC/C,CAAC;AAEF,gFAAgF;AAEhF,2BAA2B;AAC3B,qBAAqB;AACrB,eAAe;AACf,wCAAwC;AACxC,UAAU;AACV,8CAA8C;AAC9C,yBAAyB;AACzB,2DAA2D;AAC3D,wBAAwB;AACxB,2CAA2C;AAC3C,WAAW;AACX,YAAY;AACZ,WAAW;AACX,KAAK;AACQ,QAAA,aAAa,GAAsC;IAC9D;QACE,IAAI,EAAE,2CAA0B;QAChC,KAAK,EAAE,8CAA8C;KACtD;IACD;QACE,IAAI,EAAE,uBAAc;QACpB,KAAK,EAAE,8CAA8C;KACtD;IACD;QACE,IAAI,EAAE,8CAA8C;QACpD,KAAK,EAAE,8CAA8C;KACtD;IACD,EAAE,IAAI,EAAE,uBAAW,EAAE,KAAK,EAAE,8CAA8C,EAAE;IAC5E,EAAE,IAAI,EAAE,oBAAQ,EAAE,KAAK,EAAE,8CAA8C,EAAE;CAC1E,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 stakingFetcher_1 = __importDefault(require("./stakingFetcher"));
|
8
|
+
exports.jobs = [];
|
9
|
+
exports.fetchers = [stakingFetcher_1.default];
|
10
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/cytonic/index.ts"],"names":[],"mappings":";;;;;;AAEA,sEAA8C;AAEjC,QAAA,IAAI,GAAU,EAAE,CAAC;AACjB,QAAA,QAAQ,GAAc,CAAC,wBAAc,CAAC,CAAC"}
|
@@ -0,0 +1,78 @@
|
|
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 web3_js_1 = require("@solana/web3.js");
|
14
|
+
const constants_1 = require("./constants");
|
15
|
+
const clients_1 = require("../../utils/clients");
|
16
|
+
const ElementRegistry_1 = require("../../utils/elementbuilder/ElementRegistry");
|
17
|
+
const structs_1 = require("./structs");
|
18
|
+
const ParsedGpa_1 = require("../../utils/solana/beets/ParsedGpa");
|
19
|
+
const solana_1 = require("../../utils/solana");
|
20
|
+
function getUserDataPdas(owner) {
|
21
|
+
return constants_1.assetsConfigs.map((config) => web3_js_1.PublicKey.findProgramAddressSync([
|
22
|
+
Buffer.from('vault-user', 'utf-8'),
|
23
|
+
new web3_js_1.PublicKey(config.vault).toBuffer(),
|
24
|
+
new web3_js_1.PublicKey(owner).toBuffer(),
|
25
|
+
], constants_1.pid)[0]);
|
26
|
+
}
|
27
|
+
const executor = (owner, cache) => __awaiter(void 0, void 0, void 0, function* () {
|
28
|
+
const connection = (0, clients_1.getClientSolana)();
|
29
|
+
const [userDatas, claimAccounts] = yield Promise.all([
|
30
|
+
(0, solana_1.getParsedMultipleAccountsInfo)(connection, structs_1.userDataStruct, getUserDataPdas(owner)),
|
31
|
+
ParsedGpa_1.ParsedGpa.build(connection, structs_1.claimDataStruct, constants_1.pid)
|
32
|
+
.addFilter('discriminator', [156, 12, 197, 103, 61, 191, 99, 234])
|
33
|
+
.addFilter('authority', new web3_js_1.PublicKey(owner))
|
34
|
+
.addDataSizeFilter(105)
|
35
|
+
.run(),
|
36
|
+
]);
|
37
|
+
const elementRegistry = new ElementRegistry_1.ElementRegistry(portfolio_core_1.NetworkId.solana, constants_1.platformId);
|
38
|
+
const element = elementRegistry.addElementMultiple({
|
39
|
+
label: 'Deposit',
|
40
|
+
link: 'https://app.cytonic.com/deposit',
|
41
|
+
});
|
42
|
+
userDatas.forEach((userData, index) => {
|
43
|
+
if (!userData)
|
44
|
+
return;
|
45
|
+
const config = constants_1.assetsConfigs[index];
|
46
|
+
element.addAsset({
|
47
|
+
address: config.mint,
|
48
|
+
amount: userData.depositAmount,
|
49
|
+
ref: userData.pubkey.toString(),
|
50
|
+
sourceRefs: [{ address: config.vault, name: 'Vault' }],
|
51
|
+
});
|
52
|
+
});
|
53
|
+
claimAccounts.forEach((claim) => {
|
54
|
+
if (!claim)
|
55
|
+
return;
|
56
|
+
const config = constants_1.assetsConfigs.find((asset) => asset.vault === claim.vaultData.toString());
|
57
|
+
if (!config)
|
58
|
+
return;
|
59
|
+
element.addAsset({
|
60
|
+
address: config.mint,
|
61
|
+
amount: claim.amount,
|
62
|
+
attributes: {
|
63
|
+
lockedUntil: claim.claimableAfter.times(1000).toNumber(),
|
64
|
+
tags: ['Withdraw'],
|
65
|
+
},
|
66
|
+
ref: claim.pubkey.toString(),
|
67
|
+
sourceRefs: [{ address: config.vault, name: 'Vault' }],
|
68
|
+
});
|
69
|
+
});
|
70
|
+
return elementRegistry.getElements(cache);
|
71
|
+
});
|
72
|
+
const fetcher = {
|
73
|
+
id: `${constants_1.platformId}-deposit`,
|
74
|
+
networkId: portfolio_core_1.NetworkId.solana,
|
75
|
+
executor,
|
76
|
+
};
|
77
|
+
exports.default = fetcher;
|
78
|
+
//# sourceMappingURL=stakingFetcher.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"stakingFetcher.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/cytonic/stakingFetcher.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,32 @@
|
|
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 BigNumber from 'bignumber.js';
|
5
|
+
import { PublicKey } from '@solana/web3.js';
|
6
|
+
export type ClaimData = {
|
7
|
+
discriminator: number[];
|
8
|
+
claimId: BigNumber;
|
9
|
+
authority: PublicKey;
|
10
|
+
vaultData: PublicKey;
|
11
|
+
amount: BigNumber;
|
12
|
+
claimableAfter: BigNumber;
|
13
|
+
bump: number;
|
14
|
+
};
|
15
|
+
export declare const claimDataStruct: BeetStruct<ClaimData, Partial<ClaimData>>;
|
16
|
+
export type UserData = {
|
17
|
+
discriminator: number[];
|
18
|
+
depositAmount: BigNumber;
|
19
|
+
bump: number;
|
20
|
+
};
|
21
|
+
export declare const userDataStruct: BeetStruct<UserData, Partial<UserData>>;
|
22
|
+
export type VaultData = {
|
23
|
+
discriminator: number[];
|
24
|
+
owner: PublicKey;
|
25
|
+
mint: PublicKey;
|
26
|
+
vaultAta: PublicKey;
|
27
|
+
withdrawDuration: BigNumber;
|
28
|
+
isFrozen: boolean;
|
29
|
+
totalDeposited: BigNumber;
|
30
|
+
bump: number;
|
31
|
+
};
|
32
|
+
export declare const vaultDataStruct: BeetStruct<VaultData, Partial<VaultData>>;
|
@@ -0,0 +1,31 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.vaultDataStruct = exports.userDataStruct = exports.claimDataStruct = 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
|
+
exports.claimDataStruct = new beet_1.BeetStruct([
|
8
|
+
['discriminator', (0, beet_1.uniformFixedSizeArray)(beet_1.u8, 8)],
|
9
|
+
['claimId', solana_1.u128],
|
10
|
+
['authority', beet_solana_1.publicKey],
|
11
|
+
['vaultData', beet_solana_1.publicKey],
|
12
|
+
['amount', solana_1.u64],
|
13
|
+
['claimableAfter', solana_1.u64],
|
14
|
+
['bump', beet_1.u8],
|
15
|
+
], (args) => args, 'ClaimData');
|
16
|
+
exports.userDataStruct = new beet_1.BeetStruct([
|
17
|
+
['discriminator', (0, beet_1.uniformFixedSizeArray)(beet_1.u8, 8)],
|
18
|
+
['depositAmount', solana_1.u64],
|
19
|
+
['bump', beet_1.u8],
|
20
|
+
], (args) => args, 'UserData');
|
21
|
+
exports.vaultDataStruct = new beet_1.BeetStruct([
|
22
|
+
['discriminator', (0, beet_1.uniformFixedSizeArray)(beet_1.u8, 8)],
|
23
|
+
['owner', beet_solana_1.publicKey],
|
24
|
+
['mint', beet_solana_1.publicKey],
|
25
|
+
['vaultAta', beet_solana_1.publicKey],
|
26
|
+
['withdrawDuration', solana_1.u64],
|
27
|
+
['isFrozen', beet_1.u8],
|
28
|
+
['totalDeposited', solana_1.u64],
|
29
|
+
['bump', beet_1.u8],
|
30
|
+
], (args) => args, 'VaultData');
|
31
|
+
//# sourceMappingURL=structs.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"structs.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/cytonic/structs.ts"],"names":[],"mappings":";;;AAAA,oDAImC;AAEnC,kEAA6D;AAE7D,+CAA+C;AAWlC,QAAA,eAAe,GAAG,IAAI,iBAAU,CAC3C;IACE,CAAC,eAAe,EAAE,IAAA,4BAAqB,EAAC,SAAE,EAAE,CAAC,CAAC,CAAC;IAC/C,CAAC,SAAS,EAAE,aAAI,CAAC;IACjB,CAAC,WAAW,EAAE,uBAAS,CAAC;IACxB,CAAC,WAAW,EAAE,uBAAS,CAAC;IACxB,CAAC,QAAQ,EAAE,YAAG,CAAC;IACf,CAAC,gBAAgB,EAAE,YAAG,CAAC;IACvB,CAAC,MAAM,EAAE,SAAE,CAAC;CACb,EACD,CAAC,IAAI,EAAE,EAAE,CAAC,IAAiB,EAC3B,WAAW,CACZ,CAAC;AAOW,QAAA,cAAc,GAAG,IAAI,iBAAU,CAC1C;IACE,CAAC,eAAe,EAAE,IAAA,4BAAqB,EAAC,SAAE,EAAE,CAAC,CAAC,CAAC;IAC/C,CAAC,eAAe,EAAE,YAAG,CAAC;IACtB,CAAC,MAAM,EAAE,SAAE,CAAC;CACb,EACD,CAAC,IAAI,EAAE,EAAE,CAAC,IAAgB,EAC1B,UAAU,CACX,CAAC;AAaW,QAAA,eAAe,GAAG,IAAI,iBAAU,CAC3C;IACE,CAAC,eAAe,EAAE,IAAA,4BAAqB,EAAC,SAAE,EAAE,CAAC,CAAC,CAAC;IAC/C,CAAC,OAAO,EAAE,uBAAS,CAAC;IACpB,CAAC,MAAM,EAAE,uBAAS,CAAC;IACnB,CAAC,UAAU,EAAE,uBAAS,CAAC;IACvB,CAAC,kBAAkB,EAAE,YAAG,CAAC;IACzB,CAAC,UAAU,EAAE,SAAE,CAAC;IAChB,CAAC,gBAAgB,EAAE,YAAG,CAAC;IACvB,CAAC,MAAM,EAAE,SAAE,CAAC;CACb,EACD,CAAC,IAAI,EAAE,EAAE,CAAC,IAAiB,EAC3B,WAAW,CACZ,CAAC"}
|
@@ -7,5 +7,5 @@ export declare const platformId = "exponent";
|
|
7
7
|
export declare const exponentCoreProgram: PublicKey;
|
8
8
|
export declare const marketsCacheKey = "markets";
|
9
9
|
export declare const marketsMemo: MemoizedCache<Market[], Market[]>;
|
10
|
-
export declare const marketsApiUrl = "https://
|
11
|
-
export declare const ptTokensApiUrl = "https://
|
10
|
+
export declare const marketsApiUrl = "https://web-api.exponent.finance/api/markets";
|
11
|
+
export declare const ptTokensApiUrl = "https://web-api.exponent.finance/api/tokens/pt";
|
@@ -11,6 +11,6 @@ exports.marketsMemo = new MemoizedCache_1.MemoizedCache(exports.marketsCacheKey,
|
|
11
11
|
prefix: exports.platformId,
|
12
12
|
networkId: portfolio_core_1.NetworkId.solana,
|
13
13
|
});
|
14
|
-
exports.marketsApiUrl = 'https://
|
15
|
-
exports.ptTokensApiUrl = 'https://
|
14
|
+
exports.marketsApiUrl = 'https://web-api.exponent.finance/api/markets';
|
15
|
+
exports.ptTokensApiUrl = 'https://web-api.exponent.finance/api/tokens/pt';
|
16
16
|
//# sourceMappingURL=constants.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/exponent/constants.ts"],"names":[],"mappings":";;;AAAA,+DAAuD;AACvD,6CAA4C;AAC5C,kEAA+D;AAGlD,QAAA,UAAU,GAAG,UAAU,CAAC;AAExB,QAAA,mBAAmB,GAAG,IAAI,mBAAS,CAC9C,8CAA8C,CAC/C,CAAC;AAEW,QAAA,eAAe,GAAG,SAAS,CAAC;AAE5B,QAAA,WAAW,GAAG,IAAI,6BAAa,CAAW,uBAAe,EAAE;IACtE,MAAM,EAAE,kBAAU;IAClB,SAAS,EAAE,0BAAS,CAAC,MAAM;CAC5B,CAAC,CAAC;AAEU,QAAA,aAAa,
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/exponent/constants.ts"],"names":[],"mappings":";;;AAAA,+DAAuD;AACvD,6CAA4C;AAC5C,kEAA+D;AAGlD,QAAA,UAAU,GAAG,UAAU,CAAC;AAExB,QAAA,mBAAmB,GAAG,IAAI,mBAAS,CAC9C,8CAA8C,CAC/C,CAAC;AAEW,QAAA,eAAe,GAAG,SAAS,CAAC;AAE5B,QAAA,WAAW,GAAG,IAAI,6BAAa,CAAW,uBAAe,EAAE;IACtE,MAAM,EAAE,kBAAU;IAClB,SAAS,EAAE,0BAAS,CAAC,MAAM;CAC5B,CAAC,CAAC;AAEU,QAAA,aAAa,GAAG,8CAA8C,CAAC;AAE/D,QAAA,cAAc,GAAG,gDAAgD,CAAC"}
|
@@ -34,6 +34,15 @@ const executor = (cache) => __awaiter(void 0, void 0, void 0, function* () {
|
|
34
34
|
price: new bignumber_js_1.default(tokenPriceMintAsset.price)
|
35
35
|
.multipliedBy(market.stats.syPriceInAsset)
|
36
36
|
.toNumber(),
|
37
|
+
underlyings: [
|
38
|
+
{
|
39
|
+
address: market.vault.mintAsset.toString(),
|
40
|
+
amountPerLp: market.stats.syPriceInAsset,
|
41
|
+
decimals: market.vault.decimals,
|
42
|
+
networkId: portfolio_core_1.NetworkId.solana,
|
43
|
+
price: tokenPriceMintAsset.price,
|
44
|
+
},
|
45
|
+
],
|
37
46
|
timestamp: Date.now(),
|
38
47
|
weight: 1,
|
39
48
|
});
|