@sonarwatch/portfolio-plugins 0.11.227 → 0.11.229

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.
Files changed (44) hide show
  1. package/CHANGELOG.md +1646 -1638
  2. package/README.md +3 -3
  3. package/package.json +2 -2
  4. package/src/index.js +4 -0
  5. package/src/index.js.map +1 -1
  6. package/src/plugins/balancer/helpers/pools.js +21 -21
  7. package/src/plugins/drift/airdropFetcher.js +3 -0
  8. package/src/plugins/drift/airdropFetcher.js.map +1 -1
  9. package/src/plugins/jupiter/pricingJob.js +1 -0
  10. package/src/plugins/jupiter/pricingJob.js.map +1 -1
  11. package/src/plugins/metadao/constants.d.ts +6 -0
  12. package/src/plugins/metadao/constants.js +16 -0
  13. package/src/plugins/metadao/constants.js.map +1 -0
  14. package/src/plugins/metadao/index.d.ts +6 -0
  15. package/src/plugins/metadao/index.js +13 -0
  16. package/src/plugins/metadao/index.js.map +1 -0
  17. package/src/plugins/metadao/poolsJob.d.ts +3 -0
  18. package/src/plugins/metadao/poolsJob.js +98 -0
  19. package/src/plugins/metadao/poolsJob.js.map +1 -0
  20. package/src/plugins/metadao/structs.d.ts +44 -0
  21. package/src/plugins/metadao/structs.js +45 -0
  22. package/src/plugins/metadao/structs.js.map +1 -0
  23. package/src/plugins/metadao/vaultsJob.d.ts +3 -0
  24. package/src/plugins/metadao/vaultsJob.js +113 -0
  25. package/src/plugins/metadao/vaultsJob.js.map +1 -0
  26. package/src/plugins/sushiswap/helpers.js +24 -24
  27. package/src/plugins/texture/constants.d.ts +5 -0
  28. package/src/plugins/texture/constants.js +15 -0
  29. package/src/plugins/texture/constants.js.map +1 -0
  30. package/src/plugins/texture/index.d.ts +6 -0
  31. package/src/plugins/texture/index.js +10 -0
  32. package/src/plugins/texture/index.js.map +1 -0
  33. package/src/plugins/texture/loansFetcher.d.ts +3 -0
  34. package/src/plugins/texture/loansFetcher.js +68 -0
  35. package/src/plugins/texture/loansFetcher.js.map +1 -0
  36. package/src/plugins/texture/marketsJob.d.ts +3 -0
  37. package/src/plugins/texture/marketsJob.js +26 -0
  38. package/src/plugins/texture/marketsJob.js.map +1 -0
  39. package/src/plugins/texture/structs.d.ts +19 -0
  40. package/src/plugins/texture/structs.js +22 -0
  41. package/src/plugins/texture/structs.js.map +1 -0
  42. package/src/plugins/uniswap-v2/helpers.js +22 -22
  43. package/src/utils/sei/constants.js +8 -8
  44. package/src/utils/sei/getQueryBalanceByOwner.js +4 -4
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.pid = exports.platform = exports.platformId = void 0;
4
+ const web3_js_1 = require("@solana/web3.js");
5
+ exports.platformId = 'texture';
6
+ exports.platform = {
7
+ id: exports.platformId,
8
+ name: 'Texture',
9
+ image: 'https://sonar.watch/img/platforms/texture.webp',
10
+ website: 'https://texture.finance',
11
+ twitter: 'https://twitter.com/texture_fi',
12
+ // defiLlamaId: 'foo-finance', // from https://defillama.com/docs/api
13
+ };
14
+ exports.pid = new web3_js_1.PublicKey('MLENdNkmK61mGd4Go8BJX9PhYPN3azrAKRQsAC7u55v');
15
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/texture/constants.ts"],"names":[],"mappings":";;;AAAA,6CAA4C;AAG/B,QAAA,UAAU,GAAG,SAAS,CAAC;AACvB,QAAA,QAAQ,GAAa;IAChC,EAAE,EAAE,kBAAU;IACd,IAAI,EAAE,SAAS;IACf,KAAK,EAAE,gDAAgD;IACvD,OAAO,EAAE,yBAAyB;IAClC,OAAO,EAAE,gCAAgC;IACzC,qEAAqE;CACtE,CAAC;AAEW,QAAA,GAAG,GAAG,IAAI,mBAAS,CAAC,6CAA6C,CAAC,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { Platform } from '@sonarwatch/portfolio-core';
2
+ import { Fetcher } from '../../Fetcher';
3
+ import { Job } from '../../Job';
4
+ export declare const platforms: Platform[];
5
+ export declare const jobs: Job[];
6
+ export declare const fetchers: Fetcher[];
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.fetchers = exports.jobs = exports.platforms = void 0;
4
+ // export const platforms: Platform[] = [platform];
5
+ // export const jobs: Job[] = [marketsJob];
6
+ // export const fetchers: Fetcher[] = [loansFetcher];
7
+ exports.platforms = [];
8
+ exports.jobs = [];
9
+ exports.fetchers = [];
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/texture/index.ts"],"names":[],"mappings":";;;AAOA,mDAAmD;AACnD,2CAA2C;AAC3C,qDAAqD;AAExC,QAAA,SAAS,GAAe,EAAE,CAAC;AAC3B,QAAA,IAAI,GAAU,EAAE,CAAC;AACjB,QAAA,QAAQ,GAAc,EAAE,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Fetcher } from '../../Fetcher';
2
+ declare const fetcher: Fetcher;
3
+ export default fetcher;
@@ -0,0 +1,68 @@
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 constants_1 = require("./constants");
18
+ const clients_1 = require("../../utils/clients");
19
+ const solana_1 = require("../../utils/solana");
20
+ const structs_1 = require("./structs");
21
+ const tokenPriceToAssetToken_1 = __importDefault(require("../../utils/misc/tokenPriceToAssetToken"));
22
+ const executor = (owner, cache) => __awaiter(void 0, void 0, void 0, function* () {
23
+ const connection = (0, clients_1.getClientSolana)();
24
+ const accounts = yield (0, solana_1.getParsedProgramAccounts)(connection, structs_1.liquidityStruct, new web3_js_1.PublicKey('pid'), [
25
+ {
26
+ dataSize: structs_1.liquidityStruct.byteSize,
27
+ },
28
+ {
29
+ memcmp: {
30
+ bytes: owner,
31
+ offset: 40,
32
+ },
33
+ },
34
+ ]);
35
+ if (accounts.length === 0)
36
+ return [];
37
+ const solTokenPrice = yield cache.getTokenPrice(portfolio_core_1.solanaNativeAddress, portfolio_core_1.NetworkId.solana);
38
+ const assets = [];
39
+ accounts.forEach((acc) => {
40
+ if (acc.amountDeposited.isZero())
41
+ return;
42
+ const amount = acc.amountDeposited
43
+ .div(Math.pow(10, portfolio_core_1.solanaNativeDecimals))
44
+ .toNumber();
45
+ const asset = (0, tokenPriceToAssetToken_1.default)(portfolio_core_1.solanaNativeAddress, amount, portfolio_core_1.NetworkId.solana, solTokenPrice);
46
+ assets.push(asset);
47
+ });
48
+ if (assets.length === 0)
49
+ return [];
50
+ const element = {
51
+ networkId: portfolio_core_1.NetworkId.solana,
52
+ label: 'Deposit',
53
+ platformId: constants_1.platformId,
54
+ type: portfolio_core_1.PortfolioElementType.multiple,
55
+ value: (0, portfolio_core_1.getUsdValueSum)(assets.map((a) => a.value)),
56
+ data: {
57
+ assets,
58
+ },
59
+ };
60
+ return [element];
61
+ });
62
+ const fetcher = {
63
+ id: `${constants_1.platformId}-positions-solana`,
64
+ networkId: portfolio_core_1.NetworkId.solana,
65
+ executor,
66
+ };
67
+ exports.default = fetcher;
68
+ //# sourceMappingURL=loansFetcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loansFetcher.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/texture/loansFetcher.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,+DAQoC;AACpC,6CAA4C;AAE5C,2CAAyC;AAEzC,iDAAsD;AACtD,+CAA8D;AAC9D,uCAA4C;AAC5C,qGAA6E;AAE7E,MAAM,QAAQ,GAAoB,CAAO,KAAa,EAAE,KAAY,EAAE,EAAE;IACtE,MAAM,UAAU,GAAG,IAAA,yBAAe,GAAE,CAAC;IACrC,MAAM,QAAQ,GAAG,MAAM,IAAA,iCAAwB,EAC7C,UAAU,EACV,yBAAe,EACf,IAAI,mBAAS,CAAC,KAAK,CAAC,EACpB;QACE;YACE,QAAQ,EAAE,yBAAe,CAAC,QAAQ;SACnC;QACD;YACE,MAAM,EAAE;gBACN,KAAK,EAAE,KAAK;gBACZ,MAAM,EAAE,EAAE;aACX;SACF;KACF,CACF,CAAC;IACF,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAErC,MAAM,aAAa,GAAG,MAAM,KAAK,CAAC,aAAa,CAC7C,oCAAmB,EACnB,0BAAS,CAAC,MAAM,CACjB,CAAC;IACF,MAAM,MAAM,GAA0B,EAAE,CAAC;IACzC,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QACvB,IAAI,GAAG,CAAC,eAAe,CAAC,MAAM,EAAE;YAAE,OAAO;QACzC,MAAM,MAAM,GAAG,GAAG,CAAC,eAAe;aAC/B,GAAG,CAAC,SAAA,EAAE,EAAI,qCAAoB,CAAA,CAAC;aAC/B,QAAQ,EAAE,CAAC;QACd,MAAM,KAAK,GAAG,IAAA,gCAAsB,EAClC,oCAAmB,EACnB,MAAM,EACN,0BAAS,CAAC,MAAM,EAChB,aAAa,CACd,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC,CAAC,CAAC;IACH,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAEnC,MAAM,OAAO,GAA6B;QACxC,SAAS,EAAE,0BAAS,CAAC,MAAM;QAC3B,KAAK,EAAE,SAAS;QAChB,UAAU,EAAV,sBAAU;QACV,IAAI,EAAE,qCAAoB,CAAC,QAAQ;QACnC,KAAK,EAAE,IAAA,+BAAc,EAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACjD,IAAI,EAAE;YACJ,MAAM;SACP;KACF,CAAC;IACF,OAAO,CAAC,OAAO,CAAC,CAAC;AACnB,CAAC,CAAA,CAAC;AAEF,MAAM,OAAO,GAAY;IACvB,EAAE,EAAE,GAAG,sBAAU,mBAAmB;IACpC,SAAS,EAAE,0BAAS,CAAC,MAAM;IAC3B,QAAQ;CACT,CAAC;AAEF,kBAAe,OAAO,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Job } from '../../Job';
2
+ declare const job: Job;
3
+ export default job;
@@ -0,0 +1,26 @@
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 executor = (cache) => __awaiter(void 0, void 0, void 0, function* () {
15
+ yield cache.setItem('market_id', 'market_object', {
16
+ prefix: 'prefix',
17
+ networkId: portfolio_core_1.NetworkId.ethereum,
18
+ });
19
+ });
20
+ const job = {
21
+ id: `${constants_1.platformId}-markets`,
22
+ executor,
23
+ label: 'normal',
24
+ };
25
+ exports.default = job;
26
+ //# sourceMappingURL=marketsJob.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"marketsJob.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/texture/marketsJob.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,+DAAuD;AAGvD,2CAAyC;AAEzC,MAAM,QAAQ,GAAgB,CAAO,KAAY,EAAE,EAAE;IACnD,MAAM,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,eAAe,EAAE;QAChD,MAAM,EAAE,QAAQ;QAChB,SAAS,EAAE,0BAAS,CAAC,QAAQ;KAC9B,CAAC,CAAC;AACL,CAAC,CAAA,CAAC;AACF,MAAM,GAAG,GAAQ;IACf,EAAE,EAAE,GAAG,sBAAU,UAAU;IAC3B,QAAQ;IACR,KAAK,EAAE,QAAQ;CAChB,CAAC;AACF,kBAAe,GAAG,CAAC"}
@@ -0,0 +1,19 @@
1
+ /// <reference types="node" />
2
+ import { BeetStruct } from '@metaplex-foundation/beet';
3
+ import { PublicKey } from '@solana/web3.js';
4
+ import BigNumber from 'bignumber.js';
5
+ export declare enum State {
6
+ Uninitialized = 0,
7
+ StakePool = 1,
8
+ InactiveStakePool = 2,
9
+ StakeAccount = 3
10
+ }
11
+ export type Liquidity = {
12
+ buffer: Buffer;
13
+ state: State;
14
+ mint: PublicKey;
15
+ owner: PublicKey;
16
+ amountDeposited: BigNumber;
17
+ space: number[];
18
+ };
19
+ export declare const liquidityStruct: BeetStruct<Liquidity, Partial<Liquidity>>;
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.liquidityStruct = exports.State = 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 State;
8
+ (function (State) {
9
+ State[State["Uninitialized"] = 0] = "Uninitialized";
10
+ State[State["StakePool"] = 1] = "StakePool";
11
+ State[State["InactiveStakePool"] = 2] = "InactiveStakePool";
12
+ State[State["StakeAccount"] = 3] = "StakeAccount";
13
+ })(State || (exports.State = State = {}));
14
+ exports.liquidityStruct = new beet_1.BeetStruct([
15
+ ['buffer', (0, solana_1.blob)(8)],
16
+ ['state', beet_1.u8],
17
+ ['mint', beet_solana_1.publicKey],
18
+ ['owner', beet_solana_1.publicKey],
19
+ ['amountDeposited', solana_1.u64],
20
+ ['space', (0, beet_1.uniformFixedSizeArray)(beet_1.u8, 128)],
21
+ ], (args) => args);
22
+ //# sourceMappingURL=structs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"structs.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/texture/structs.ts"],"names":[],"mappings":";;;AAAA,oDAImC;AACnC,kEAA6D;AAG7D,+CAA+C;AAE/C,IAAY,KAKX;AALD,WAAY,KAAK;IACf,mDAAa,CAAA;IACb,2CAAS,CAAA;IACT,2DAAiB,CAAA;IACjB,iDAAY,CAAA;AACd,CAAC,EALW,KAAK,qBAAL,KAAK,QAKhB;AAWY,QAAA,eAAe,GAAG,IAAI,iBAAU,CAC3C;IACE,CAAC,QAAQ,EAAE,IAAA,aAAI,EAAC,CAAC,CAAC,CAAC;IACnB,CAAC,OAAO,EAAE,SAAE,CAAC;IACb,CAAC,MAAM,EAAE,uBAAS,CAAC;IACnB,CAAC,OAAO,EAAE,uBAAS,CAAC;IACpB,CAAC,iBAAiB,EAAE,YAAG,CAAC;IACxB,CAAC,OAAO,EAAE,IAAA,4BAAqB,EAAC,SAAE,EAAE,GAAG,CAAC,CAAC;CAC1C,EACD,CAAC,IAAI,EAAE,EAAE,CAAC,IAAiB,CAC5B,CAAC"}
@@ -40,28 +40,28 @@ function getPairKey(version) {
40
40
  exports.getPairKey = getPairKey;
41
41
  function getPairsV2FromTheGraph(url, length = 300) {
42
42
  return __awaiter(this, void 0, void 0, function* () {
43
- const query = (0, graphql_request_1.gql) `
44
- {
45
- pairs(
46
- orderBy: reserveUSD
47
- first: ${length}
48
- orderDirection: desc
49
- where: { trackedReserveETH_not: "0" }
50
- ) {
51
- id
52
- reserve0
53
- reserve1
54
- totalSupply
55
- token0 {
56
- id
57
- decimals
58
- }
59
- token1 {
60
- id
61
- decimals
62
- }
63
- }
64
- }
43
+ const query = (0, graphql_request_1.gql) `
44
+ {
45
+ pairs(
46
+ orderBy: reserveUSD
47
+ first: ${length}
48
+ orderDirection: desc
49
+ where: { trackedReserveETH_not: "0" }
50
+ ) {
51
+ id
52
+ reserve0
53
+ reserve1
54
+ totalSupply
55
+ token0 {
56
+ id
57
+ decimals
58
+ }
59
+ token1 {
60
+ id
61
+ decimals
62
+ }
63
+ }
64
+ }
65
65
  `;
66
66
  const res = yield (0, graphql_request_1.default)(url, query);
67
67
  const pairs = res.pairs;
@@ -1,16 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.poolQueryMsg = exports.minterQueryMsg = exports.tokenInfoQueryMsg = exports.infoQueryMsg = void 0;
4
- exports.infoQueryMsg = JSON.parse(`{
5
- "info": {}
4
+ exports.infoQueryMsg = JSON.parse(`{
5
+ "info": {}
6
6
  }`);
7
- exports.tokenInfoQueryMsg = JSON.parse(`{
8
- "token_info": {}
7
+ exports.tokenInfoQueryMsg = JSON.parse(`{
8
+ "token_info": {}
9
9
  }`);
10
- exports.minterQueryMsg = JSON.parse(`{
11
- "minter": {}
10
+ exports.minterQueryMsg = JSON.parse(`{
11
+ "minter": {}
12
12
  }`);
13
- exports.poolQueryMsg = JSON.parse(`{
14
- "pool": {}
13
+ exports.poolQueryMsg = JSON.parse(`{
14
+ "pool": {}
15
15
  }`);
16
16
  //# sourceMappingURL=constants.js.map
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  function getQueryBalanceByOwner(owner) {
4
- return JSON.parse(`{
5
- "balance": {
6
- "address": "${owner}"
7
- }
4
+ return JSON.parse(`{
5
+ "balance": {
6
+ "address": "${owner}"
7
+ }
8
8
  }`);
9
9
  }
10
10
  exports.default = getQueryBalanceByOwner;