@sonarwatch/portfolio-plugins 0.8.76 → 0.8.77

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 (62) hide show
  1. package/CHANGELOG.md +13 -9
  2. package/package.json +3 -2
  3. package/src/index.js +4 -0
  4. package/src/index.js.map +1 -1
  5. package/src/plugins/mango/index.js +1 -2
  6. package/src/plugins/mango/index.js.map +1 -1
  7. package/src/plugins/scallop/addressJob.d.ts +3 -0
  8. package/src/plugins/scallop/addressJob.js +32 -0
  9. package/src/plugins/scallop/addressJob.js.map +1 -0
  10. package/src/plugins/scallop/constants.d.ts +16 -0
  11. package/src/plugins/scallop/constants.js +26 -0
  12. package/src/plugins/scallop/constants.js.map +1 -0
  13. package/src/plugins/scallop/helpers.d.ts +51 -0
  14. package/src/plugins/scallop/helpers.js +50 -0
  15. package/src/plugins/scallop/helpers.js.map +1 -0
  16. package/src/plugins/scallop/index.d.ts +6 -0
  17. package/src/plugins/scallop/index.js +17 -0
  18. package/src/plugins/scallop/index.js.map +1 -0
  19. package/src/plugins/scallop/lendingsFetcher.d.ts +3 -0
  20. package/src/plugins/scallop/lendingsFetcher.js +186 -0
  21. package/src/plugins/scallop/lendingsFetcher.js.map +1 -0
  22. package/src/plugins/scallop/marketJob.d.ts +3 -0
  23. package/src/plugins/scallop/marketJob.js +159 -0
  24. package/src/plugins/scallop/marketJob.js.map +1 -0
  25. package/src/plugins/scallop/obligationsFetcher.d.ts +3 -0
  26. package/src/plugins/scallop/obligationsFetcher.js +201 -0
  27. package/src/plugins/scallop/obligationsFetcher.js.map +1 -0
  28. package/src/plugins/scallop/poolsJob.d.ts +3 -0
  29. package/src/plugins/scallop/poolsJob.js +67 -0
  30. package/src/plugins/scallop/poolsJob.js.map +1 -0
  31. package/src/plugins/scallop/spoolsMarketJob.d.ts +3 -0
  32. package/src/plugins/scallop/spoolsMarketJob.js +95 -0
  33. package/src/plugins/scallop/spoolsMarketJob.js.map +1 -0
  34. package/src/plugins/scallop/types/address.d.ts +73 -0
  35. package/src/plugins/scallop/types/address.js +3 -0
  36. package/src/plugins/scallop/types/address.js.map +1 -0
  37. package/src/plugins/scallop/types/basic.d.ts +30 -0
  38. package/src/plugins/scallop/types/basic.js +3 -0
  39. package/src/plugins/scallop/types/basic.js.map +1 -0
  40. package/src/plugins/scallop/types/coin.d.ts +15 -0
  41. package/src/plugins/scallop/types/coin.js +25 -0
  42. package/src/plugins/scallop/types/coin.js.map +1 -0
  43. package/src/plugins/scallop/types/data.d.ts +26 -0
  44. package/src/plugins/scallop/types/data.js +3 -0
  45. package/src/plugins/scallop/types/data.js.map +1 -0
  46. package/src/plugins/scallop/types/index.d.ts +5 -0
  47. package/src/plugins/scallop/types/index.js +22 -0
  48. package/src/plugins/scallop/types/index.js.map +1 -0
  49. package/src/plugins/scallop/types/market.d.ts +150 -0
  50. package/src/plugins/scallop/types/market.js +21 -0
  51. package/src/plugins/scallop/types/market.js.map +1 -0
  52. package/src/plugins/scallop/types/obligation.d.ts +24 -0
  53. package/src/plugins/scallop/types/obligation.js +3 -0
  54. package/src/plugins/scallop/types/obligation.js.map +1 -0
  55. package/src/plugins/tokens/index.js +4 -0
  56. package/src/plugins/tokens/index.js.map +1 -1
  57. package/src/plugins/uniswap-v2/helpers.js +22 -22
  58. package/src/utils/name-service/nameServices.js +3 -0
  59. package/src/utils/name-service/nameServices.js.map +1 -1
  60. package/src/utils/name-service/services/allDomains.d.ts +2 -0
  61. package/src/utils/name-service/services/allDomains.js +43 -0
  62. package/src/utils/name-service/services/allDomains.js.map +1 -0
package/CHANGELOG.md CHANGED
@@ -2,18 +2,22 @@
2
2
 
3
3
  This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
4
4
 
5
- ## [0.8.76](https://github.com/sonarwatch/portfolio/compare/plugins-0.8.75...plugins-0.8.76) (2023-11-13)
6
-
7
-
8
-
9
- ## [0.8.75](https://github.com/sonarwatch/portfolio/compare/plugins-0.8.74...plugins-0.8.75) (2023-11-11)
10
-
11
-
12
-
13
- ## [0.8.74](https://github.com/sonarwatch/portfolio/compare/plugins-0.8.73...plugins-0.8.74) (2023-11-11)
5
+ ## [0.8.77](https://github.com/sonarwatch/portfolio/compare/plugins-0.8.76...plugins-0.8.77) (2023-11-14)
14
6
 
15
7
 
16
8
 
9
+ ## [0.8.76](https://github.com/sonarwatch/portfolio/compare/plugins-0.8.75...plugins-0.8.76) (2023-11-13)
10
+
11
+
12
+
13
+ ## [0.8.75](https://github.com/sonarwatch/portfolio/compare/plugins-0.8.74...plugins-0.8.75) (2023-11-11)
14
+
15
+
16
+
17
+ ## [0.8.74](https://github.com/sonarwatch/portfolio/compare/plugins-0.8.73...plugins-0.8.74) (2023-11-11)
18
+
19
+
20
+
17
21
  ## [0.8.73](https://github.com/sonarwatch/portfolio/compare/plugins-0.8.72...plugins-0.8.73) (2023-11-10)
18
22
 
19
23
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sonarwatch/portfolio-plugins",
3
- "version": "0.8.76",
3
+ "version": "0.8.77",
4
4
  "type": "commonjs",
5
5
  "generators": "./generators.json",
6
6
  "dependencies": {
@@ -19,6 +19,7 @@
19
19
  "@metaplex-foundation/js": "^0.19.4",
20
20
  "@metaplex-foundation/umi-serializers-encodings": "^0.8.9",
21
21
  "@mysten/sui.js": "^0.37.1",
22
+ "@onsol/tldparser": "^0.6.1",
22
23
  "@sei-js/core": "^3.0.1",
23
24
  "@sei-js/proto": "^3.0.1",
24
25
  "@solana/web3.js": "^1.78.4",
@@ -39,7 +40,7 @@
39
40
  "web3-v1": "npm:web3@^1.5.0"
40
41
  },
41
42
  "peerDependencies": {
42
- "@sonarwatch/portfolio-core": "0.8.76"
43
+ "@sonarwatch/portfolio-core": "0.8.78"
43
44
  },
44
45
  "main": "./src/index.js",
45
46
  "types": "./src/index.d.ts"
package/src/index.js CHANGED
@@ -49,6 +49,7 @@ const maker_1 = require("./plugins/maker");
49
49
  const kamino_1 = require("./plugins/kamino");
50
50
  const bucket_1 = require("./plugins/bucket");
51
51
  const navi_1 = require("./plugins/navi");
52
+ const scallop_1 = require("./plugins/scallop");
52
53
  const rocket_pool_1 = require("./plugins/rocket-pool");
53
54
  const lido_1 = require("./plugins/lido");
54
55
  const curve_1 = require("./plugins/curve");
@@ -105,6 +106,7 @@ exports.platforms = [
105
106
  ...kamino_1.platforms,
106
107
  ...bucket_1.platforms,
107
108
  ...navi_1.platforms,
109
+ ...scallop_1.platforms,
108
110
  ...maker_1.platforms,
109
111
  ...rocket_pool_1.platforms,
110
112
  ...lido_1.platforms,
@@ -149,6 +151,7 @@ exports.jobs = [
149
151
  ...liquidswap_1.jobs,
150
152
  ...kamino_1.jobs,
151
153
  ...navi_1.jobs,
154
+ ...scallop_1.jobs,
152
155
  ...curve_1.jobs,
153
156
  ...compound_1.jobs,
154
157
  ...stargate_1.jobs,
@@ -186,6 +189,7 @@ exports.fetchers = [
186
189
  ...liquiditypools_sei_1.fetchers,
187
190
  ...bucket_1.fetchers,
188
191
  ...navi_1.fetchers,
192
+ ...scallop_1.fetchers,
189
193
  ...rocket_pool_1.fetchers,
190
194
  ...curve_1.fetchers,
191
195
  ...stargate_1.fetchers,
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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"}
@@ -7,9 +7,8 @@ exports.fetchers = exports.jobs = exports.platforms = void 0;
7
7
  const banksJob_1 = __importDefault(require("./banksJob"));
8
8
  const groupsJob_1 = __importDefault(require("./groupsJob"));
9
9
  const collateralFetcher_1 = __importDefault(require("./collateralFetcher"));
10
- const redeemFetcher_1 = __importDefault(require("./redeemFetcher"));
11
10
  const constants_1 = require("./constants");
12
11
  exports.platforms = [constants_1.mangoPlatform];
13
12
  exports.jobs = [banksJob_1.default, groupsJob_1.default];
14
- exports.fetchers = [collateralFetcher_1.default, redeemFetcher_1.default];
13
+ exports.fetchers = [collateralFetcher_1.default];
15
14
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/mango/index.ts"],"names":[],"mappings":";;;;;;AAGA,0DAAkC;AAClC,4DAAoC;AACpC,4EAAoD;AACpD,oEAA4C;AAC5C,2CAA4C;AAE/B,QAAA,SAAS,GAAe,CAAC,yBAAa,CAAC,CAAC;AACxC,QAAA,IAAI,GAAU,CAAC,kBAAQ,EAAE,mBAAS,CAAC,CAAC;AACpC,QAAA,QAAQ,GAAc,CAAC,2BAAiB,EAAE,uBAAa,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/mango/index.ts"],"names":[],"mappings":";;;;;;AAGA,0DAAkC;AAClC,4DAAoC;AACpC,4EAAoD;AACpD,2CAA4C;AAE/B,QAAA,SAAS,GAAe,CAAC,yBAAa,CAAC,CAAC;AACxC,QAAA,IAAI,GAAU,CAAC,kBAAQ,EAAE,mBAAS,CAAC,CAAC;AACpC,QAAA,QAAQ,GAAc,CAAC,2BAAiB,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Job } from '../../Job';
2
+ declare const job: Job;
3
+ export default job;
@@ -0,0 +1,32 @@
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 axios_1 = __importDefault(require("axios"));
16
+ const portfolio_core_1 = require("@sonarwatch/portfolio-core");
17
+ const constants_1 = require("./constants");
18
+ const executor = (cache) => __awaiter(void 0, void 0, void 0, function* () {
19
+ const resp = yield axios_1.default.get(constants_1.addressEndpoint);
20
+ if (!resp.data)
21
+ return;
22
+ yield cache.setItem(constants_1.addressKey, Object.assign({}, resp.data), {
23
+ prefix: constants_1.addressPrefix,
24
+ networkId: portfolio_core_1.NetworkId.sui,
25
+ });
26
+ });
27
+ const job = {
28
+ id: constants_1.addressPrefix,
29
+ executor,
30
+ };
31
+ exports.default = job;
32
+ //# sourceMappingURL=addressJob.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"addressJob.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/scallop/addressJob.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,kDAA0B;AAC1B,+DAAuD;AAGvD,2CAIqB;AAErB,MAAM,QAAQ,GAAgB,CAAO,KAAY,EAAE,EAAE;IACnD,MAAM,IAAI,GAAG,MAAM,eAAK,CAAC,GAAG,CAAC,2BAAe,CAAC,CAAC;IAE9C,IAAI,CAAC,IAAI,CAAC,IAAI;QAAE,OAAO;IAEvB,MAAM,KAAK,CAAC,OAAO,CACjB,sBAAU,oBAEL,IAAI,CAAC,IAAI,GAEd;QACE,MAAM,EAAN,yBAAM;QACN,SAAS,EAAE,0BAAS,CAAC,GAAG;KACzB,CACF,CAAC;AACJ,CAAC,CAAA,CAAC;AAEF,MAAM,GAAG,GAAQ;IACf,EAAE,EAAE,yBAAM;IACV,QAAQ;CACT,CAAC;AACF,kBAAe,GAAG,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { Platform } from '@sonarwatch/portfolio-core';
2
+ export declare const platformId = "scallop";
3
+ export declare const addressPrefix: string;
4
+ export declare const marketPrefix: string;
5
+ export declare const poolsPrefix: string;
6
+ export declare const spoolsPrefix: string;
7
+ export declare const addressEndpoint = "https://sui.api.scallop.io/addresses/6462a088a7ace142bb6d7e9b";
8
+ export declare const addressKey = "scallop-address-key";
9
+ export declare const marketKey = "scallop-market-key";
10
+ export declare const poolsKey = "scallop-pools-key";
11
+ export declare const spoolsKey = "scallop-spoolsmarket-key";
12
+ export declare const spoolAccountPackageId = "0xe87f1b2d498106a2c61421cec75b7b5c5e348512b0dc263949a0e7a3c256571a::spool_account::SpoolAccount";
13
+ export declare const marketCoinPackageId: string;
14
+ export declare const obligationKeyPackageId: string;
15
+ export declare const scallopPlatform: Platform;
16
+ export declare const baseIndexRate = 1000000000;
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.baseIndexRate = exports.scallopPlatform = exports.obligationKeyPackageId = exports.marketCoinPackageId = exports.spoolAccountPackageId = exports.spoolsKey = exports.poolsKey = exports.marketKey = exports.addressKey = exports.addressEndpoint = exports.spoolsPrefix = exports.poolsPrefix = exports.marketPrefix = exports.addressPrefix = exports.platformId = void 0;
4
+ const PROTOCOL_OBJECT_ID = '0xefe8b36d5b2e43728cc323298626b83177803521d195cfb11e15b910e892fddf';
5
+ exports.platformId = 'scallop';
6
+ exports.addressPrefix = `${exports.platformId}-address`;
7
+ exports.marketPrefix = `${exports.platformId}-market`;
8
+ exports.poolsPrefix = `${exports.platformId}-pools`;
9
+ exports.spoolsPrefix = `${exports.platformId}-spoolsmarket`;
10
+ exports.addressEndpoint = 'https://sui.api.scallop.io/addresses/6462a088a7ace142bb6d7e9b';
11
+ exports.addressKey = 'scallop-address-key';
12
+ exports.marketKey = 'scallop-market-key';
13
+ exports.poolsKey = 'scallop-pools-key';
14
+ exports.spoolsKey = 'scallop-spoolsmarket-key';
15
+ exports.spoolAccountPackageId = `0xe87f1b2d498106a2c61421cec75b7b5c5e348512b0dc263949a0e7a3c256571a::spool_account::SpoolAccount`;
16
+ exports.marketCoinPackageId = `${PROTOCOL_OBJECT_ID}::reserve::MarketCoin`;
17
+ exports.obligationKeyPackageId = `${PROTOCOL_OBJECT_ID}::obligation::ObligationKey`;
18
+ exports.scallopPlatform = {
19
+ id: exports.platformId,
20
+ name: 'Scallop',
21
+ image: `https://sonar.watch/img/platforms/${exports.platformId}.png`,
22
+ defiLlamaId: 'parent#scallop',
23
+ website: 'https://app.scallop.io/',
24
+ };
25
+ exports.baseIndexRate = 1000000000;
26
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/scallop/constants.ts"],"names":[],"mappings":";;;AAEA,MAAM,kBAAkB,GACtB,oEAAoE,CAAC;AAC1D,QAAA,UAAU,GAAG,SAAS,CAAC;AACvB,QAAA,aAAa,GAAG,GAAG,kBAAU,UAAU,CAAC;AACxC,QAAA,YAAY,GAAG,GAAG,kBAAU,SAAS,CAAC;AACtC,QAAA,WAAW,GAAG,GAAG,kBAAU,QAAQ,CAAC;AACpC,QAAA,YAAY,GAAG,GAAG,kBAAU,eAAe,CAAC;AAE5C,QAAA,eAAe,GAC1B,+DAA+D,CAAC;AACrD,QAAA,UAAU,GAAG,qBAAqB,CAAC;AACnC,QAAA,SAAS,GAAG,oBAAoB,CAAC;AACjC,QAAA,QAAQ,GAAG,mBAAmB,CAAC;AAC/B,QAAA,SAAS,GAAG,0BAA0B,CAAC;AAEvC,QAAA,qBAAqB,GAAG,iGAAiG,CAAC;AAC1H,QAAA,mBAAmB,GAAG,GAAG,kBAAkB,uBAAuB,CAAC;AACnE,QAAA,sBAAsB,GAAG,GAAG,kBAAkB,6BAA6B,CAAC;AAE5E,QAAA,eAAe,GAAa;IACvC,EAAE,EAAE,kBAAU;IACd,IAAI,EAAE,SAAS;IACf,KAAK,EAAE,qCAAqC,kBAAU,MAAM;IAC5D,WAAW,EAAE,gBAAgB;IAC7B,OAAO,EAAE,yBAAyB;CACnC,CAAC;AAEW,QAAA,aAAa,GAAG,UAAa,CAAC"}
@@ -0,0 +1,51 @@
1
+ import { SuiObjectResponseQuery } from '@mysten/sui.js';
2
+ export declare function getOwnerObject(owner: string, query?: SuiObjectResponseQuery): Promise<{
3
+ objectId: string;
4
+ version: string;
5
+ digest: string;
6
+ type?: string | undefined;
7
+ bcs?: {
8
+ type: string;
9
+ version: number;
10
+ hasPublicTransfer: boolean;
11
+ dataType: "moveObject";
12
+ bcsBytes: string;
13
+ } | {
14
+ id: string;
15
+ dataType: "package";
16
+ moduleMap: Record<string, string>;
17
+ } | undefined;
18
+ owner?: "Immutable" | {
19
+ AddressOwner: string;
20
+ } | {
21
+ ObjectOwner: string;
22
+ } | {
23
+ Shared: {
24
+ initial_shared_version: number;
25
+ };
26
+ } | undefined;
27
+ storageRebate?: string | undefined;
28
+ previousTransaction?: string | undefined;
29
+ content?: {
30
+ type: string;
31
+ fields: Record<string, any>;
32
+ hasPublicTransfer: boolean;
33
+ dataType: "moveObject";
34
+ } | {
35
+ disassembled: Record<string, string>;
36
+ dataType: "package";
37
+ } | undefined;
38
+ display?: Record<string, string> | {
39
+ data: Record<string, string> | null;
40
+ error: {
41
+ code: string;
42
+ version?: number | undefined;
43
+ digest?: string | undefined;
44
+ error?: string | undefined;
45
+ object_id?: string | undefined;
46
+ parent_object_id?: string | undefined;
47
+ } | null;
48
+ } | undefined;
49
+ }[]>;
50
+ export declare function formatDecimal(amount: number, decimal: number): number;
51
+ export declare function shortenAddress(address: string, start?: number, end?: number): string;
@@ -0,0 +1,50 @@
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.shortenAddress = exports.formatDecimal = exports.getOwnerObject = void 0;
13
+ const clients_1 = require("../../utils/clients");
14
+ const client = (0, clients_1.getClientSui)();
15
+ function getOwnerObject(owner, query) {
16
+ var _a;
17
+ return __awaiter(this, void 0, void 0, function* () {
18
+ const objects = [];
19
+ let cursor = null;
20
+ do {
21
+ const { data, nextCursor } = yield client.getOwnedObjects({
22
+ owner,
23
+ filter: query === null || query === void 0 ? void 0 : query.filter,
24
+ options: (_a = query === null || query === void 0 ? void 0 : query.options) !== null && _a !== void 0 ? _a : {
25
+ showType: true,
26
+ showContent: true,
27
+ showDisplay: true,
28
+ },
29
+ cursor,
30
+ });
31
+ if (!data || !data.length) {
32
+ break;
33
+ }
34
+ const objectDatas = data.map((obj) => obj.data);
35
+ objects.push(...objectDatas);
36
+ cursor = nextCursor;
37
+ } while (cursor);
38
+ return objects;
39
+ });
40
+ }
41
+ exports.getOwnerObject = getOwnerObject;
42
+ function formatDecimal(amount, decimal) {
43
+ return amount / Math.pow(10, decimal);
44
+ }
45
+ exports.formatDecimal = formatDecimal;
46
+ function shortenAddress(address, start = 4, end = 4) {
47
+ return `${address.slice(0, start)}..${address.slice(-end)}`;
48
+ }
49
+ exports.shortenAddress = shortenAddress;
50
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/scallop/helpers.ts"],"names":[],"mappings":";;;;;;;;;;;;AAKA,iDAAmD;AAEnD,MAAM,MAAM,GAAG,IAAA,sBAAY,GAAE,CAAC;AAE9B,SAAsB,cAAc,CAClC,KAAa,EACb,KAA8B;;;QAE9B,MAAM,OAAO,GAAoB,EAAE,CAAC;QACpC,IAAI,MAAM,GAMC,IAAI,CAAC;QAEhB,GAAG;YACD,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GACxB,MAAM,MAAM,CAAC,eAAe,CAAC;gBAC3B,KAAK;gBACL,MAAM,EAAE,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM;gBACrB,OAAO,EAAE,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,mCAAI;oBACzB,QAAQ,EAAE,IAAI;oBACd,WAAW,EAAE,IAAI;oBACjB,WAAW,EAAE,IAAI;iBAClB;gBACD,MAAM;aACP,CAAC,CAAC;YAEL,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;gBACzB,MAAM;aACP;YACD,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAoB,CAAC;YACnE,OAAO,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,CAAC;YAC7B,MAAM,GAAG,UAAU,CAAC;SACrB,QAAQ,MAAM,EAAE;QAEjB,OAAO,OAAO,CAAC;;CAChB;AAnCD,wCAmCC;AAED,SAAgB,aAAa,CAAC,MAAc,EAAE,OAAe;IAC3D,OAAO,MAAM,GAAG,SAAA,EAAE,EAAI,OAAO,CAAA,CAAC;AAChC,CAAC;AAFD,sCAEC;AAED,SAAgB,cAAc,CAAC,OAAe,EAAE,KAAK,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC;IAChE,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;AAC9D,CAAC;AAFD,wCAEC"}
@@ -0,0 +1,6 @@
1
+ import { Platform } from '@sonarwatch/portfolio-core';
2
+ import { Job } from '../../Job';
3
+ import { Fetcher } from '../../Fetcher';
4
+ export declare const jobs: Job[];
5
+ export declare const fetchers: Fetcher[];
6
+ export declare const platforms: Platform[];
@@ -0,0 +1,17 @@
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.platforms = exports.fetchers = exports.jobs = void 0;
7
+ const poolsJob_1 = __importDefault(require("./poolsJob"));
8
+ const addressJob_1 = __importDefault(require("./addressJob"));
9
+ const marketJob_1 = __importDefault(require("./marketJob"));
10
+ const spoolsMarketJob_1 = __importDefault(require("./spoolsMarketJob"));
11
+ const lendingsFetcher_1 = __importDefault(require("./lendingsFetcher"));
12
+ const obligationsFetcher_1 = __importDefault(require("./obligationsFetcher"));
13
+ const constants_1 = require("./constants");
14
+ exports.jobs = [addressJob_1.default, poolsJob_1.default, marketJob_1.default, spoolsMarketJob_1.default];
15
+ exports.fetchers = [lendingsFetcher_1.default, obligationsFetcher_1.default];
16
+ exports.platforms = [constants_1.scallopPlatform];
17
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/scallop/index.ts"],"names":[],"mappings":";;;;;;AAGA,0DAAkC;AAClC,8DAAsC;AACtC,4DAAoC;AACpC,wEAAgD;AAEhD,wEAA+C;AAC/C,8EAAsD;AACtD,2CAA8C;AAEjC,QAAA,IAAI,GAAU,CAAC,oBAAU,EAAE,kBAAQ,EAAE,mBAAS,EAAE,yBAAe,CAAC,CAAC;AACjE,QAAA,QAAQ,GAAc,CAAC,yBAAc,EAAE,4BAAkB,CAAC,CAAC;AAC3D,QAAA,SAAS,GAAe,CAAC,2BAAe,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Fetcher } from '../../Fetcher';
2
+ declare const fetcher: Fetcher;
3
+ export default fetcher;
@@ -0,0 +1,186 @@
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 sui_js_1 = require("@mysten/sui.js");
17
+ const bignumber_js_1 = __importDefault(require("bignumber.js"));
18
+ const constants_1 = require("./constants");
19
+ const helpers_1 = require("./helpers");
20
+ const tokenPriceToAssetToken_1 = __importDefault(require("../../utils/misc/tokenPriceToAssetToken"));
21
+ const executor = (owner, cache) => __awaiter(void 0, void 0, void 0, function* () {
22
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
23
+ const elements = [];
24
+ const borrowedAssets = [];
25
+ const borrowedYields = [];
26
+ const suppliedAssets = [];
27
+ const suppliedYields = [];
28
+ const rewardAssets = [];
29
+ const pools = yield cache.getItem(constants_1.poolsKey, {
30
+ prefix: constants_1.poolsPrefix,
31
+ networkId: portfolio_core_1.NetworkId.sui,
32
+ });
33
+ if (!pools)
34
+ return [];
35
+ const poolValues = Object.values(pools);
36
+ if (poolValues.length === 0)
37
+ return [];
38
+ const filterOwnerObject = {
39
+ MatchAny: [
40
+ ...poolValues.map((value) => ({
41
+ StructType: `0x2::coin::Coin<${constants_1.marketCoinPackageId}<${value.coinType}>>`,
42
+ })),
43
+ {
44
+ StructType: constants_1.spoolAccountPackageId,
45
+ },
46
+ ],
47
+ };
48
+ const [allOwnedObjects, marketData, spoolData] = yield Promise.all([
49
+ (0, helpers_1.getOwnerObject)(owner, { filter: filterOwnerObject }),
50
+ cache.getItem(constants_1.marketKey, {
51
+ prefix: constants_1.marketPrefix,
52
+ networkId: portfolio_core_1.NetworkId.sui,
53
+ }),
54
+ cache.getItem(constants_1.spoolsKey, {
55
+ prefix: constants_1.spoolsPrefix,
56
+ networkId: portfolio_core_1.NetworkId.sui,
57
+ }),
58
+ ]);
59
+ if (!marketData || allOwnedObjects.length === 0 || !spoolData)
60
+ return [];
61
+ if (Object.keys(marketData).length === 0 ||
62
+ Object.keys(spoolData).length === 0)
63
+ return [];
64
+ const lendingRate = new Map();
65
+ Object.keys(pools).forEach((coinName) => {
66
+ const market = marketData[coinName];
67
+ if (!market)
68
+ return;
69
+ lendingRate.set(coinName, (Number(market.debt) + Number(market.cash) - Number(market.reserve)) /
70
+ Number(market.marketCoinSupply));
71
+ });
72
+ // get user lending assets
73
+ const lendingAssets = {};
74
+ const stakedAccount = {};
75
+ for (const ownedMarketCoin of allOwnedObjects) {
76
+ const objType = (0, sui_js_1.getObjectType)(ownedMarketCoin);
77
+ if (!objType)
78
+ continue;
79
+ const parsed = (0, sui_js_1.parseStructTag)(objType);
80
+ const coinType = (0, sui_js_1.normalizeStructTag)(objType.substring(objType.indexOf('MarketCoin<') + 11, objType.indexOf('>')));
81
+ const fields = (0, sui_js_1.getObjectFields)(ownedMarketCoin);
82
+ const coinName = (_b = (_a = poolValues
83
+ .find((value) => value.coinType === coinType)) === null || _a === void 0 ? void 0 : _a.metadata) === null || _b === void 0 ? void 0 : _b.symbol.toLowerCase();
84
+ if (!coinName || !fields)
85
+ continue;
86
+ if (!lendingAssets[coinName]) {
87
+ lendingAssets[coinName] = { coinType, amount: new bignumber_js_1.default(0) };
88
+ }
89
+ if (fields['stakes']) {
90
+ if (!stakedAccount[`s${coinName}`]) {
91
+ stakedAccount[`s${coinName}`] = [];
92
+ }
93
+ stakedAccount[`s${coinName}`].push({
94
+ points: fields['points'],
95
+ index: fields['index'],
96
+ stakes: fields['stakes'],
97
+ });
98
+ }
99
+ const balance = (0, bignumber_js_1.default)((_c = (parsed.name === 'Coin' ? fields['balance'] : fields['stakes'])) !== null && _c !== void 0 ? _c : 0);
100
+ lendingAssets[coinName] = Object.assign(Object.assign({}, lendingAssets[coinName]), { amount: lendingAssets[coinName].amount.plus(balance) });
101
+ }
102
+ let pendingReward = (0, bignumber_js_1.default)(0);
103
+ for (const spoolCoin of Object.keys(stakedAccount)) {
104
+ for (const { points, index, stakes } of stakedAccount[spoolCoin]) {
105
+ if (spoolData[spoolCoin]) {
106
+ const increasedPointRate = spoolData[spoolCoin].currentPointIndex
107
+ ? (0, bignumber_js_1.default)((0, bignumber_js_1.default)(spoolData[spoolCoin].currentPointIndex).minus(index)).dividedBy(constants_1.baseIndexRate)
108
+ : 0;
109
+ pendingReward = pendingReward.plus((0, bignumber_js_1.default)(stakes)
110
+ .multipliedBy(increasedPointRate)
111
+ .plus(points)
112
+ .multipliedBy(spoolData[spoolCoin].exchangeRateNumerator)
113
+ .dividedBy(spoolData[spoolCoin].exchangeRateDenominator));
114
+ }
115
+ }
116
+ }
117
+ const tokenAddresses = Object.values(lendingAssets).map((value) => value.coinType);
118
+ const tokenPriceResult = yield cache.getTokenPrices(tokenAddresses, portfolio_core_1.NetworkId.sui);
119
+ const tokenPrices = new Map();
120
+ tokenPriceResult.forEach((r) => {
121
+ if (!r)
122
+ return;
123
+ tokenPrices.set(r.address, r);
124
+ });
125
+ if (pendingReward.isGreaterThan(0)) {
126
+ const pendingRewardAmount = pendingReward
127
+ .shiftedBy(-1 * ((_f = (_e = (_d = pools['sui']) === null || _d === void 0 ? void 0 : _d.metadata) === null || _e === void 0 ? void 0 : _e.decimals) !== null && _f !== void 0 ? _f : 0))
128
+ .toNumber();
129
+ const rewardTokenAddress = (0, portfolio_core_1.formatMoveTokenAddress)(pools['sui'].coinType);
130
+ const rewardTokenPrice = tokenPrices.get(rewardTokenAddress);
131
+ const rewardAssetToken = (0, tokenPriceToAssetToken_1.default)(rewardTokenAddress, pendingRewardAmount, portfolio_core_1.NetworkId.sui, rewardTokenPrice);
132
+ rewardAssets.push(rewardAssetToken);
133
+ }
134
+ for (const [assetName, assetValue] of Object.entries(lendingAssets)) {
135
+ if (assetValue.amount.isZero())
136
+ continue;
137
+ const market = marketData[assetName];
138
+ if (!market)
139
+ continue;
140
+ const addressMove = (0, portfolio_core_1.formatMoveTokenAddress)(assetValue.coinType);
141
+ const tokenPrice = tokenPrices.get(addressMove);
142
+ const lendingAmount = assetValue.amount
143
+ .multipliedBy((_g = lendingRate.get(assetName)) !== null && _g !== void 0 ? _g : 0)
144
+ .shiftedBy(-1 * ((_k = (_j = (_h = pools[assetName]) === null || _h === void 0 ? void 0 : _h.metadata) === null || _j === void 0 ? void 0 : _j.decimals) !== null && _k !== void 0 ? _k : 0))
145
+ .toNumber();
146
+ const assetToken = (0, tokenPriceToAssetToken_1.default)(addressMove, lendingAmount, portfolio_core_1.NetworkId.sui, tokenPrice);
147
+ suppliedYields.push([
148
+ {
149
+ apy: (0, portfolio_core_1.aprToApy)(market.supplyInterestRate),
150
+ apr: market.supplyInterestRate,
151
+ },
152
+ ]);
153
+ suppliedAssets.push(assetToken);
154
+ }
155
+ if (suppliedAssets.length === 0 &&
156
+ borrowedAssets.length === 0 &&
157
+ rewardAssets.length === 0)
158
+ return [];
159
+ const { borrowedValue, collateralRatio, suppliedValue, value } = (0, portfolio_core_1.getElementLendingValues)(suppliedAssets, borrowedAssets, rewardAssets);
160
+ elements.push({
161
+ type: portfolio_core_1.PortfolioElementType.borrowlend,
162
+ networkId: portfolio_core_1.NetworkId.sui,
163
+ platformId: constants_1.platformId,
164
+ label: 'Lending',
165
+ value,
166
+ data: {
167
+ borrowedAssets,
168
+ borrowedValue,
169
+ borrowedYields,
170
+ suppliedAssets,
171
+ suppliedValue,
172
+ suppliedYields,
173
+ collateralRatio,
174
+ rewardAssets,
175
+ value,
176
+ },
177
+ });
178
+ return elements;
179
+ });
180
+ const fetcher = {
181
+ id: `${constants_1.platformId}-lendings`,
182
+ networkId: portfolio_core_1.NetworkId.sui,
183
+ executor,
184
+ };
185
+ exports.default = fetcher;
186
+ //# sourceMappingURL=lendingsFetcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lendingsFetcher.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/scallop/lendingsFetcher.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Job } from '../../Job';
2
+ declare const job: Job;
3
+ export default job;