@sonarwatch/portfolio-plugins 0.8.76 → 0.8.78
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 +14 -6
- package/package.json +3 -2
- package/src/index.js +4 -0
- package/src/index.js.map +1 -1
- package/src/plugins/mango/index.js +1 -2
- package/src/plugins/mango/index.js.map +1 -1
- package/src/plugins/scallop/addressJob.d.ts +3 -0
- package/src/plugins/scallop/addressJob.js +32 -0
- package/src/plugins/scallop/addressJob.js.map +1 -0
- package/src/plugins/scallop/constants.d.ts +16 -0
- package/src/plugins/scallop/constants.js +26 -0
- package/src/plugins/scallop/constants.js.map +1 -0
- package/src/plugins/scallop/helpers.d.ts +51 -0
- package/src/plugins/scallop/helpers.js +50 -0
- package/src/plugins/scallop/helpers.js.map +1 -0
- package/src/plugins/scallop/index.d.ts +6 -0
- package/src/plugins/scallop/index.js +17 -0
- package/src/plugins/scallop/index.js.map +1 -0
- package/src/plugins/scallop/lendingsFetcher.d.ts +3 -0
- package/src/plugins/scallop/lendingsFetcher.js +186 -0
- package/src/plugins/scallop/lendingsFetcher.js.map +1 -0
- package/src/plugins/scallop/marketJob.d.ts +3 -0
- package/src/plugins/scallop/marketJob.js +159 -0
- package/src/plugins/scallop/marketJob.js.map +1 -0
- package/src/plugins/scallop/obligationsFetcher.d.ts +3 -0
- package/src/plugins/scallop/obligationsFetcher.js +201 -0
- package/src/plugins/scallop/obligationsFetcher.js.map +1 -0
- package/src/plugins/scallop/poolsJob.d.ts +3 -0
- package/src/plugins/scallop/poolsJob.js +67 -0
- package/src/plugins/scallop/poolsJob.js.map +1 -0
- package/src/plugins/scallop/spoolsMarketJob.d.ts +3 -0
- package/src/plugins/scallop/spoolsMarketJob.js +95 -0
- package/src/plugins/scallop/spoolsMarketJob.js.map +1 -0
- package/src/plugins/scallop/types/address.d.ts +73 -0
- package/src/plugins/scallop/types/address.js +3 -0
- package/src/plugins/scallop/types/address.js.map +1 -0
- package/src/plugins/scallop/types/basic.d.ts +30 -0
- package/src/plugins/scallop/types/basic.js +3 -0
- package/src/plugins/scallop/types/basic.js.map +1 -0
- package/src/plugins/scallop/types/coin.d.ts +15 -0
- package/src/plugins/scallop/types/coin.js +25 -0
- package/src/plugins/scallop/types/coin.js.map +1 -0
- package/src/plugins/scallop/types/data.d.ts +26 -0
- package/src/plugins/scallop/types/data.js +3 -0
- package/src/plugins/scallop/types/data.js.map +1 -0
- package/src/plugins/scallop/types/index.d.ts +5 -0
- package/src/plugins/scallop/types/index.js +22 -0
- package/src/plugins/scallop/types/index.js.map +1 -0
- package/src/plugins/scallop/types/market.d.ts +150 -0
- package/src/plugins/scallop/types/market.js +21 -0
- package/src/plugins/scallop/types/market.js.map +1 -0
- package/src/plugins/scallop/types/obligation.d.ts +24 -0
- package/src/plugins/scallop/types/obligation.js +3 -0
- package/src/plugins/scallop/types/obligation.js.map +1 -0
- package/src/plugins/tokens/index.js +4 -0
- package/src/plugins/tokens/index.js.map +1 -1
- package/src/plugins/uniswap-v2/helpers.js +22 -22
- package/src/utils/name-service/nameServices.js +3 -0
- package/src/utils/name-service/nameServices.js.map +1 -1
- package/src/utils/name-service/services/allDomains.d.ts +2 -0
- package/src/utils/name-service/services/allDomains.js +44 -0
- package/src/utils/name-service/services/allDomains.js.map +1 -0
package/CHANGELOG.md
CHANGED
@@ -2,18 +2,26 @@
|
|
2
2
|
|
3
3
|
This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
|
4
4
|
|
5
|
-
## [0.8.
|
5
|
+
## [0.8.78](https://github.com/sonarwatch/portfolio/compare/plugins-0.8.77...plugins-0.8.78) (2023-11-14)
|
6
6
|
|
7
7
|
|
8
8
|
|
9
|
-
## [0.8.
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
## [0.8.74](https://github.com/sonarwatch/portfolio/compare/plugins-0.8.73...plugins-0.8.74) (2023-11-11)
|
9
|
+
## [0.8.77](https://github.com/sonarwatch/portfolio/compare/plugins-0.8.76...plugins-0.8.77) (2023-11-14)
|
14
10
|
|
15
11
|
|
16
12
|
|
13
|
+
## [0.8.76](https://github.com/sonarwatch/portfolio/compare/plugins-0.8.75...plugins-0.8.76) (2023-11-13)
|
14
|
+
|
15
|
+
|
16
|
+
|
17
|
+
## [0.8.75](https://github.com/sonarwatch/portfolio/compare/plugins-0.8.74...plugins-0.8.75) (2023-11-11)
|
18
|
+
|
19
|
+
|
20
|
+
|
21
|
+
## [0.8.74](https://github.com/sonarwatch/portfolio/compare/plugins-0.8.73...plugins-0.8.74) (2023-11-11)
|
22
|
+
|
23
|
+
|
24
|
+
|
17
25
|
## [0.8.73](https://github.com/sonarwatch/portfolio/compare/plugins-0.8.72...plugins-0.8.73) (2023-11-10)
|
18
26
|
|
19
27
|
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@sonarwatch/portfolio-plugins",
|
3
|
-
"version": "0.8.
|
3
|
+
"version": "0.8.78",
|
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.
|
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
|
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,
|
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,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,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,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":";;;;;;;;;;;;;;AAAA,+DAUoC;AACpC,2CAMwB;AACxB,gEAAqC;AAGrC,2CAWqB;AACrB,uCAA2C;AAC3C,qGAA6E;AAS7E,MAAM,QAAQ,GAAoB,CAAO,KAAa,EAAE,KAAY,EAAE,EAAE;;IACtE,MAAM,QAAQ,GAAuB,EAAE,CAAC;IACxC,MAAM,cAAc,GAAqB,EAAE,CAAC;IAC5C,MAAM,cAAc,GAAc,EAAE,CAAC;IACrC,MAAM,cAAc,GAAqB,EAAE,CAAC;IAC5C,MAAM,cAAc,GAAc,EAAE,CAAC;IACrC,MAAM,YAAY,GAAqB,EAAE,CAAC;IAE1C,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,OAAO,CAAQ,oBAAQ,EAAE;QACjD,MAAM,EAAE,uBAAW;QACnB,SAAS,EAAE,0BAAS,CAAC,GAAG;KACzB,CAAC,CAAC;IAEH,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,CAAC;IAEtB,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACxC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAEvC,MAAM,iBAAiB,GAAwB;QAC7C,QAAQ,EAAE;YACR,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBAC5B,UAAU,EAAE,mBAAmB,+BAAmB,IAAI,KAAK,CAAC,QAAQ,IAAI;aACzE,CAAC,CAAC;YACH;gBACE,UAAU,EAAE,iCAAqB;aAClC;SACF;KACF,CAAC;IAEF,MAAM,CAAC,eAAe,EAAE,UAAU,EAAE,SAAS,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACjE,IAAA,wBAAc,EAAC,KAAK,EAAE,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC;QACpD,KAAK,CAAC,OAAO,CAAkB,qBAAS,EAAE;YACxC,MAAM,EAAN,wBAAM;YACN,SAAS,EAAE,0BAAS,CAAC,GAAG;SACzB,CAAC;QACF,KAAK,CAAC,OAAO,CAAiB,qBAAS,EAAE;YACvC,MAAM,EAAE,wBAAY;YACpB,SAAS,EAAE,0BAAS,CAAC,GAAG;SACzB,CAAC;KACH,CAAC,CAAC;IACH,IAAI,CAAC,UAAU,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,SAAS;QAAE,OAAO,EAAE,CAAC;IACzE,IACE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,KAAK,CAAC;QACpC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,KAAK,CAAC;QAEnC,OAAO,EAAE,CAAC;IACZ,MAAM,WAAW,GAAwB,IAAI,GAAG,EAAE,CAAC;IAEnD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,QAAgB,EAAE,EAAE;QAC9C,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;QACpC,IAAI,CAAC,MAAM;YAAE,OAAO;QACpB,WAAW,CAAC,GAAG,CACb,QAAQ,EACR,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAClE,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAClC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,0BAA0B;IAC1B,MAAM,aAAa,GAAmC,EAAE,CAAC;IACzD,MAAM,aAAa,GAAsB,EAAE,CAAC;IAC5C,KAAK,MAAM,eAAe,IAAI,eAAe,EAAE;QAC7C,MAAM,OAAO,GAAG,IAAA,sBAAa,EAAC,eAAe,CAAC,CAAC;QAC/C,IAAI,CAAC,OAAO;YAAE,SAAS;QAEvB,MAAM,MAAM,GAAG,IAAA,uBAAc,EAAC,OAAO,CAAC,CAAC;QACvC,MAAM,QAAQ,GAAG,IAAA,2BAAkB,EACjC,OAAO,CAAC,SAAS,CACf,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,EAAE,EACnC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CACrB,CACF,CAAC;QACF,MAAM,MAAM,GAAG,IAAA,wBAAe,EAAC,eAAe,CAAC,CAAC;QAChD,MAAM,QAAQ,GAAG,MAAA,MAAA,UAAU;aACxB,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,KAAK,QAAQ,CAAC,0CAC3C,QAAQ,0CAAE,MAAM,CAAC,WAAW,EAAE,CAAC;QACnC,IAAI,CAAC,QAAQ,IAAI,CAAC,MAAM;YAAE,SAAS;QACnC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE;YAC5B,aAAa,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,sBAAS,CAAC,CAAC,CAAC,EAAE,CAAC;SAClE;QACD,IAAI,MAAM,CAAC,QAAQ,CAAC,EAAE;YACpB,IAAI,CAAC,aAAa,CAAC,IAAI,QAAQ,EAAE,CAAC,EAAE;gBAClC,aAAa,CAAC,IAAI,QAAQ,EAAE,CAAC,GAAG,EAAE,CAAC;aACpC;YACD,aAAa,CAAC,IAAI,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC;gBACjC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC;gBACxB,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC;gBACtB,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC;aACzB,CAAC,CAAC;SACJ;QACD,MAAM,OAAO,GAAG,IAAA,sBAAS,EACvB,MAAA,CAAC,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,mCAAI,CAAC,CACrE,CAAC;QACF,aAAa,CAAC,QAAQ,CAAC,mCAClB,aAAa,CAAC,QAAQ,CAAC,KAC1B,MAAM,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GACrD,CAAC;KACH;IAED,IAAI,aAAa,GAAG,IAAA,sBAAS,EAAC,CAAC,CAAC,CAAC;IAEjC,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE;QAClD,KAAK,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,aAAa,CAAC,SAAS,CAAC,EAAE;YAChE,IAAI,SAAS,CAAC,SAAS,CAAC,EAAE;gBACxB,MAAM,kBAAkB,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC,iBAAiB;oBAC/D,CAAC,CAAC,IAAA,sBAAS,EACP,IAAA,sBAAS,EAAC,SAAS,CAAC,SAAS,CAAC,CAAC,iBAAiB,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAC/D,CAAC,SAAS,CAAC,yBAAa,CAAC;oBAC5B,CAAC,CAAC,CAAC,CAAC;gBACN,aAAa,GAAG,aAAa,CAAC,IAAI,CAChC,IAAA,sBAAS,EAAC,MAAM,CAAC;qBACd,YAAY,CAAC,kBAAkB,CAAC;qBAChC,IAAI,CAAC,MAAM,CAAC;qBACZ,YAAY,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,qBAAqB,CAAC;qBACxD,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,uBAAuB,CAAC,CAC3D,CAAC;aACH;SACF;KACF;IAED,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,GAAG,CACrD,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAC1B,CAAC;IACF,MAAM,gBAAgB,GAAG,MAAM,KAAK,CAAC,cAAc,CACjD,cAAc,EACd,0BAAS,CAAC,GAAG,CACd,CAAC;IACF,MAAM,WAAW,GAA4B,IAAI,GAAG,EAAE,CAAC;IAEvD,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QAC7B,IAAI,CAAC,CAAC;YAAE,OAAO;QACf,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;IAEH,IAAI,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE;QAClC,MAAM,mBAAmB,GAAG,aAAa;aACtC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,MAAA,MAAA,MAAA,KAAK,CAAC,KAAK,CAAC,0CAAE,QAAQ,0CAAE,QAAQ,mCAAI,CAAC,CAAC,CAAC;aACvD,QAAQ,EAAE,CAAC;QACd,MAAM,kBAAkB,GAAG,IAAA,uCAAsB,EAAC,KAAK,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC;QACzE,MAAM,gBAAgB,GAAG,WAAW,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;QAC7D,MAAM,gBAAgB,GAAG,IAAA,gCAAsB,EAC7C,kBAAkB,EAClB,mBAAmB,EACnB,0BAAS,CAAC,GAAG,EACb,gBAAgB,CACjB,CAAC;QACF,YAAY,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;KACrC;IAED,KAAK,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;QACnE,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE;YAAE,SAAS;QAEzC,MAAM,MAAM,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;QACrC,IAAI,CAAC,MAAM;YAAE,SAAS;QAEtB,MAAM,WAAW,GAAG,IAAA,uCAAsB,EAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAChE,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAChD,MAAM,aAAa,GAAG,UAAU,CAAC,MAAM;aACpC,YAAY,CAAC,MAAA,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,mCAAI,CAAC,CAAC;aAC7C,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,MAAA,MAAA,MAAA,KAAK,CAAC,SAAS,CAAC,0CAAE,QAAQ,0CAAE,QAAQ,mCAAI,CAAC,CAAC,CAAC;aAC3D,QAAQ,EAAE,CAAC;QACd,MAAM,UAAU,GAAG,IAAA,gCAAsB,EACvC,WAAW,EACX,aAAa,EACb,0BAAS,CAAC,GAAG,EACb,UAAU,CACX,CAAC;QAEF,cAAc,CAAC,IAAI,CAAC;YAClB;gBACE,GAAG,EAAE,IAAA,yBAAQ,EAAC,MAAM,CAAC,kBAAkB,CAAC;gBACxC,GAAG,EAAE,MAAM,CAAC,kBAAkB;aAC/B;SACF,CAAC,CAAC;QACH,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;KACjC;IACD,IACE,cAAc,CAAC,MAAM,KAAK,CAAC;QAC3B,cAAc,CAAC,MAAM,KAAK,CAAC;QAC3B,YAAY,CAAC,MAAM,KAAK,CAAC;QAEzB,OAAO,EAAE,CAAC;IACZ,MAAM,EAAE,aAAa,EAAE,eAAe,EAAE,aAAa,EAAE,KAAK,EAAE,GAC5D,IAAA,wCAAuB,EAAC,cAAc,EAAE,cAAc,EAAE,YAAY,CAAC,CAAC;IACxE,QAAQ,CAAC,IAAI,CAAC;QACZ,IAAI,EAAE,qCAAoB,CAAC,UAAU;QACrC,SAAS,EAAE,0BAAS,CAAC,GAAG;QACxB,UAAU,EAAV,sBAAU;QACV,KAAK,EAAE,SAAS;QAChB,KAAK;QACL,IAAI,EAAE;YACJ,cAAc;YACd,aAAa;YACb,cAAc;YACd,cAAc;YACd,aAAa;YACb,cAAc;YACd,eAAe;YACf,YAAY;YACZ,KAAK;SACN;KACF,CAAC,CAAC;IACH,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAA,CAAC;AAEF,MAAM,OAAO,GAAY;IACvB,EAAE,EAAE,GAAG,sBAAU,WAAW;IAC5B,SAAS,EAAE,0BAAS,CAAC,GAAG;IACxB,QAAQ;CACT,CAAC;AAEF,kBAAe,OAAO,CAAC"}
|