@sonarwatch/portfolio-plugins 0.11.233 → 0.11.235
Sign up to get free protection for your applications and to get access to all the features.
- package/CHANGELOG.md +1674 -1666
- package/README.md +3 -3
- package/package.json +2 -3
- 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/moonwalk/constants.d.ts +6 -0
- package/src/plugins/moonwalk/constants.js +16 -0
- package/src/plugins/moonwalk/constants.js.map +1 -0
- package/src/plugins/moonwalk/gamesFetcher.d.ts +3 -0
- package/src/plugins/moonwalk/gamesFetcher.js +89 -0
- package/src/plugins/moonwalk/gamesFetcher.js.map +1 -0
- package/src/plugins/moonwalk/gamesJob.d.ts +3 -0
- package/src/plugins/moonwalk/gamesJob.js +37 -0
- package/src/plugins/moonwalk/gamesJob.js.map +1 -0
- package/src/plugins/moonwalk/helpers.d.ts +7 -0
- package/src/plugins/moonwalk/helpers.js +41 -0
- package/src/plugins/moonwalk/helpers.js.map +1 -0
- package/src/plugins/moonwalk/index.d.ts +6 -0
- package/src/plugins/moonwalk/index.js +13 -0
- package/src/plugins/moonwalk/index.js.map +1 -0
- package/src/plugins/moonwalk/structs.d.ts +50 -0
- package/src/plugins/moonwalk/structs.js +37 -0
- package/src/plugins/moonwalk/structs.js.map +1 -0
- package/src/plugins/pyth/index.js +2 -1
- package/src/plugins/pyth/index.js.map +1 -1
- package/src/plugins/pyth/pricingJob.d.ts +3 -0
- package/src/plugins/pyth/pricingJob.js +33 -0
- package/src/plugins/pyth/pricingJob.js.map +1 -0
- package/src/plugins/sushiswap/helpers.js +24 -24
- package/src/plugins/switchboard/pricingJob.js +1 -1
- package/src/plugins/switchboard/pricingJob.js.map +1 -1
- package/src/plugins/symmetry/basketsJob.js +17 -12
- package/src/plugins/symmetry/basketsJob.js.map +1 -1
- package/src/plugins/uniswap-v2/helpers.js +22 -22
- package/src/utils/misc/getLpTokenSource.js +3 -1
- package/src/utils/misc/getLpTokenSource.js.map +1 -1
- package/src/utils/misc/getLpTokenSourceRaw.d.ts +1 -1
- package/src/utils/misc/getLpUnderlyingTokenSource.d.ts +1 -1
- package/src/utils/misc/getLpUnderlyingTokenSource.js +7 -3
- package/src/utils/misc/getLpUnderlyingTokenSource.js.map +1 -1
- package/src/utils/sei/constants.js +8 -8
- package/src/utils/sei/getQueryBalanceByOwner.js +4 -4
- package/src/utils/solana/beets/numbers.d.ts +1 -0
- package/src/utils/solana/beets/numbers.js +12 -1
- package/src/utils/solana/beets/numbers.js.map +1 -1
- package/src/utils/solana/pyth/helpers.d.ts +3 -2
- package/src/utils/solana/pyth/helpers.js +20 -20
- package/src/utils/solana/pyth/helpers.js.map +1 -1
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
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@sonarwatch/portfolio-plugins",
|
3
|
-
"version": "0.11.
|
3
|
+
"version": "0.11.235",
|
4
4
|
"type": "commonjs",
|
5
5
|
"generators": "./generators.json",
|
6
6
|
"dependencies": {
|
@@ -20,7 +20,6 @@
|
|
20
20
|
"@metaplex-foundation/js": "^0.19.4",
|
21
21
|
"@metaplex-foundation/umi-serializers-encodings": "^0.8.9",
|
22
22
|
"@mysten/bcs": "^0.11.1",
|
23
|
-
"@mysten/sui.js": "^0.50.1",
|
24
23
|
"@onsol/tldparser": "^0.6.1",
|
25
24
|
"@sei-js/core": "^3.0.1",
|
26
25
|
"@sei-js/proto": "^3.0.1",
|
@@ -42,7 +41,7 @@
|
|
42
41
|
"web3-v1": "npm:web3@^1.5.0"
|
43
42
|
},
|
44
43
|
"peerDependencies": {
|
45
|
-
"@sonarwatch/portfolio-core": "0.11.
|
44
|
+
"@sonarwatch/portfolio-core": "0.11.235"
|
46
45
|
},
|
47
46
|
"main": "./src/index.js",
|
48
47
|
"types": "./src/index.d.ts"
|
package/src/index.js
CHANGED
@@ -118,6 +118,7 @@ const hedgehog_1 = require("./plugins/hedgehog");
|
|
118
118
|
const whalesmarket_1 = require("./plugins/whalesmarket");
|
119
119
|
const futarchy_1 = require("./plugins/futarchy");
|
120
120
|
const elixir_1 = require("./plugins/elixir");
|
121
|
+
const moonwalk_1 = require("./plugins/moonwalk");
|
121
122
|
var constants_1 = require("./plugins/tokens/constants");
|
122
123
|
Object.defineProperty(exports, "walletTokensPlatform", { enumerable: true, get: function () { return constants_1.walletTokensPlatform; } });
|
123
124
|
Object.defineProperty(exports, "walletNftsPlatform", { enumerable: true, get: function () { return constants_1.walletNftsPlatform; } });
|
@@ -229,6 +230,7 @@ exports.platforms = [
|
|
229
230
|
...whalesmarket_1.platforms,
|
230
231
|
...futarchy_1.platforms,
|
231
232
|
...elixir_1.platforms,
|
233
|
+
...moonwalk_1.platforms,
|
232
234
|
];
|
233
235
|
// JOBS //
|
234
236
|
exports.jobs = [
|
@@ -323,6 +325,7 @@ exports.jobs = [
|
|
323
325
|
...whalesmarket_1.jobs,
|
324
326
|
...futarchy_1.jobs,
|
325
327
|
...elixir_1.jobs,
|
328
|
+
...moonwalk_1.jobs,
|
326
329
|
];
|
327
330
|
// FETCHERS //
|
328
331
|
exports.fetchers = [
|
@@ -419,6 +422,7 @@ exports.fetchers = [
|
|
419
422
|
...whalesmarket_1.fetchers,
|
420
423
|
...futarchy_1.fetchers,
|
421
424
|
...elixir_1.fetchers,
|
425
|
+
...moonwalk_1.fetchers,
|
422
426
|
];
|
423
427
|
exports.fetchersByAddressSystem = (0, getFetchersByAddressSystem_1.getFetchersByAddressSystem)(exports.fetchers);
|
424
428
|
exports.airdropFetchers = [
|
package/src/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/plugins/src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAIA,wFAAqF;AACrF,sEAA8C;AAC9C,6CAI0B;AAC1B,yDAIgC;AAChC,uDAAgE;AAChE,iDAG4B;AAC5B,iDAI4B;AAC5B,2CAGyB;AACzB,6CAI0B;AAC1B,+CAI2B;AAC3B,yCAIwB;AACxB,+CAI2B;AAC3B,2CAIyB;AACzB,6CAI0B;AAC1B,2CAIyB;AACzB,6CAG0B;AAC1B,6CAI0B;AAC1B,yCAIwB;AACxB,2DAGiC;AACjC,6CAI0B;AAC1B,2CAKyB;AACzB,2CAIyB;AACzB,qDAA6D;AAC7D,qEAIsC;AACtC,uDAI+B;AAC/B,mDAI6B;AAC7B,qDAG8B;AAC9B,uDAG+B;AAC/B,2CAIyB;AACzB,6CAI0B;AAC1B,6CAG0B;AAC1B,yCAIwB;AACxB,+CAI2B;AAC3B,uDAG+B;AAC/B,yCAGwB;AACxB,2CAIyB;AACzB,iDAI4B;AAC5B,iDAI4B;AAC5B,6CAI0B;AAC1B,+CAI2B;AAC3B,qDAG8B;AAC9B,iDAI4B;AAC5B,iDAI4B;AAC5B,mDAG6B;AAC7B,yCAIwB;AACxB,2CAIyB;AACzB,iDAI4B;AAC5B,iDAI4B;AAC5B,+CAI2B;AAC3B,yCAIwB;AACxB,2CAIyB;AACzB,mDAI6B;AAC7B,2CAIyB;AACzB,2CAIyB;AACzB,sCAIsB;AACtB,+CAI2B;AAC3B,yCAIwB;AACxB,iDAI4B;AAC5B,yCAIwB;AACxB,mDAI6B;AAC7B,qDAI8B;AAC9B,2CAIyB;AACzB,2CAKyB;AACzB,yCAIwB;AACxB,+CAI2B;AAC3B,2CAIyB;AACzB,2CAIyB;AACzB,uDAI+B;AAC/B,6DAIkC;AAClC,2CAIyB;AACzB,yCAIwB;AACxB,mDAI6B;AAC7B,6CAI0B;AAC1B,iEAIoC;AACpC,6DAIkC;AAClC,yCAIwB;AACxB,uCAIuB;AACvB,+CAI2B;AAC3B,iDAI4B;AAC5B,mDAI6B;AAC7B,2CAIyB;AACzB,+CAI2B;AAC3B,uCAIuB;AACvB,iDAI4B;AAC5B,yCAIwB;AACxB,6CAI0B;AAC1B,yCAIwB;AACxB,mDAI6B;AAC7B,2CAIyB;AACzB,mDAI6B;AAC7B,2CAIyB;AACzB,6CAI0B;AAC1B,2CAIyB;AACzB,yCAIwB;AACxB,+CAI2B;AAC3B,+CAI2B;AAC3B,iDAI4B;AAC5B,yDAIgC;AAChC,iDAI4B;AAC5B,6CAI0B;
|
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;
|
@@ -0,0 +1,6 @@
|
|
1
|
+
import { PublicKey } from '@solana/web3.js';
|
2
|
+
import { Platform } from '@sonarwatch/portfolio-core';
|
3
|
+
export declare const platformId = "moonwalk";
|
4
|
+
export declare const platform: Platform;
|
5
|
+
export declare const gamesCacheId = "games";
|
6
|
+
export declare const programId: PublicKey;
|
@@ -0,0 +1,16 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.programId = exports.gamesCacheId = exports.platform = exports.platformId = void 0;
|
4
|
+
const web3_js_1 = require("@solana/web3.js");
|
5
|
+
exports.platformId = 'moonwalk';
|
6
|
+
exports.platform = {
|
7
|
+
id: exports.platformId,
|
8
|
+
name: 'Moonwalk',
|
9
|
+
image: 'https://sonar.watch/img/platforms/moonwalk.webp',
|
10
|
+
website: 'https://app.moonwalk.fit/',
|
11
|
+
twitter: 'https://twitter.com/moonwalkfitness',
|
12
|
+
// defiLlamaId: 'foo-finance', // from https://defillama.com/docs/api
|
13
|
+
};
|
14
|
+
exports.gamesCacheId = `games`;
|
15
|
+
exports.programId = new web3_js_1.PublicKey('FitAFk15vtx2PBjfr7QTnefaHRx6HwajRiZMt1DdSSKU');
|
16
|
+
//# sourceMappingURL=constants.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/moonwalk/constants.ts"],"names":[],"mappings":";;;AAAA,6CAA4C;AAG/B,QAAA,UAAU,GAAG,UAAU,CAAC;AACxB,QAAA,QAAQ,GAAa;IAChC,EAAE,EAAE,kBAAU;IACd,IAAI,EAAE,UAAU;IAChB,KAAK,EAAE,iDAAiD;IACxD,OAAO,EAAE,2BAA2B;IACpC,OAAO,EAAE,qCAAqC;IAC9C,qEAAqE;CACtE,CAAC;AACW,QAAA,YAAY,GAAG,OAAO,CAAC;AACvB,QAAA,SAAS,GAAG,IAAI,mBAAS,CACpC,8CAA8C,CAC/C,CAAC"}
|
@@ -0,0 +1,89 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
9
|
+
});
|
10
|
+
};
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
13
|
+
};
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
15
|
+
const portfolio_core_1 = require("@sonarwatch/portfolio-core");
|
16
|
+
const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
17
|
+
const 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 constants_2 = require("../bonkrewards/constants");
|
23
|
+
const helpers_1 = require("./helpers");
|
24
|
+
const cachedGames = new Map();
|
25
|
+
let lastCachedGames = 0;
|
26
|
+
const executor = (owner, cache) => __awaiter(void 0, void 0, void 0, function* () {
|
27
|
+
const connection = (0, clients_1.getClientSolana)();
|
28
|
+
const now = Date.now();
|
29
|
+
if (lastCachedGames + 600000 < now) {
|
30
|
+
const cCachedGames = yield cache.getItem(constants_1.gamesCacheId, {
|
31
|
+
prefix: constants_1.platformId,
|
32
|
+
networkId: portfolio_core_1.NetworkId.solana,
|
33
|
+
});
|
34
|
+
lastCachedGames = now;
|
35
|
+
cCachedGames === null || cCachedGames === void 0 ? void 0 : cCachedGames.forEach((c) => {
|
36
|
+
cachedGames.set(c.gameId, c);
|
37
|
+
});
|
38
|
+
}
|
39
|
+
const accounts = yield (0, solana_1.getParsedProgramAccounts)(connection, structs_1.gamePlayerStruct, constants_1.programId, [
|
40
|
+
{
|
41
|
+
dataSize: structs_1.gamePlayerStruct.byteSize,
|
42
|
+
},
|
43
|
+
{
|
44
|
+
memcmp: {
|
45
|
+
bytes: owner,
|
46
|
+
offset: 9,
|
47
|
+
},
|
48
|
+
},
|
49
|
+
]);
|
50
|
+
if (accounts.length === 0)
|
51
|
+
return [];
|
52
|
+
const tokenPrices = yield cache.getTokenPricesAsMap([portfolio_core_1.solanaNativeAddress, solana_1.usdcSolanaMint, constants_2.bonkMint], portfolio_core_1.NetworkId.solana);
|
53
|
+
const assets = [];
|
54
|
+
accounts.forEach((acc) => {
|
55
|
+
if (acc.claimed)
|
56
|
+
return;
|
57
|
+
const game = cachedGames.get(acc.gameId.toString());
|
58
|
+
if (!game)
|
59
|
+
return;
|
60
|
+
const { mint } = (0, helpers_1.getMintFromCurrency)(game.currency);
|
61
|
+
const tokenPrice = tokenPrices.get(mint);
|
62
|
+
const amount = new bignumber_js_1.default(game.playerDeposit).toNumber();
|
63
|
+
const lockedUntil = Number(game.blocktimeEnd);
|
64
|
+
const asset = (0, tokenPriceToAssetToken_1.default)(mint, amount, portfolio_core_1.NetworkId.solana, tokenPrice, tokenPrice === null || tokenPrice === void 0 ? void 0 : tokenPrice.price, {
|
65
|
+
lockedUntil,
|
66
|
+
});
|
67
|
+
assets.push(asset);
|
68
|
+
});
|
69
|
+
if (assets.length === 0)
|
70
|
+
return [];
|
71
|
+
const element = {
|
72
|
+
networkId: portfolio_core_1.NetworkId.solana,
|
73
|
+
label: 'Deposit',
|
74
|
+
platformId: constants_1.platformId,
|
75
|
+
type: portfolio_core_1.PortfolioElementType.multiple,
|
76
|
+
value: (0, portfolio_core_1.getUsdValueSum)(assets.map((a) => a.value)),
|
77
|
+
data: {
|
78
|
+
assets,
|
79
|
+
},
|
80
|
+
};
|
81
|
+
return [element];
|
82
|
+
});
|
83
|
+
const fetcher = {
|
84
|
+
id: `${constants_1.platformId}-games`,
|
85
|
+
networkId: portfolio_core_1.NetworkId.solana,
|
86
|
+
executor,
|
87
|
+
};
|
88
|
+
exports.default = fetcher;
|
89
|
+
//# sourceMappingURL=gamesFetcher.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"gamesFetcher.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/moonwalk/gamesFetcher.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,37 @@
|
|
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 clients_1 = require("../../utils/clients");
|
15
|
+
const solana_1 = require("../../utils/solana");
|
16
|
+
const structs_1 = require("./structs");
|
17
|
+
const helpers_1 = require("./helpers");
|
18
|
+
const executor = (cache) => __awaiter(void 0, void 0, void 0, function* () {
|
19
|
+
const connection = (0, clients_1.getClientSolana)();
|
20
|
+
const games = yield (0, solana_1.getParsedProgramAccounts)(connection, structs_1.gameStruct, constants_1.programId, [
|
21
|
+
{
|
22
|
+
dataSize: structs_1.gameStruct.byteSize,
|
23
|
+
},
|
24
|
+
]);
|
25
|
+
const cachedGames = games.map((g) => (0, helpers_1.gameToCached)(g));
|
26
|
+
yield cache.setItem(constants_1.gamesCacheId, cachedGames, {
|
27
|
+
prefix: constants_1.platformId,
|
28
|
+
networkId: portfolio_core_1.NetworkId.solana,
|
29
|
+
});
|
30
|
+
});
|
31
|
+
const job = {
|
32
|
+
id: `${constants_1.platformId}-games`,
|
33
|
+
executor,
|
34
|
+
label: 'normal',
|
35
|
+
};
|
36
|
+
exports.default = job;
|
37
|
+
//# sourceMappingURL=gamesJob.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"gamesJob.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/moonwalk/gamesJob.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,+DAAuD;AAGvD,2CAAkE;AAClE,iDAAsD;AACtD,+CAA8D;AAC9D,uCAAuC;AACvC,uCAAyC;AAEzC,MAAM,QAAQ,GAAgB,CAAO,KAAY,EAAE,EAAE;IACnD,MAAM,UAAU,GAAG,IAAA,yBAAe,GAAE,CAAC;IACrC,MAAM,KAAK,GAAG,MAAM,IAAA,iCAAwB,EAC1C,UAAU,EACV,oBAAU,EACV,qBAAS,EACT;QACE;YACE,QAAQ,EAAE,oBAAU,CAAC,QAAQ;SAC9B;KACF,CACF,CAAC;IACF,MAAM,WAAW,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,sBAAY,EAAC,CAAC,CAAC,CAAC,CAAC;IACtD,MAAM,KAAK,CAAC,OAAO,CAAC,wBAAY,EAAE,WAAW,EAAE;QAC7C,MAAM,EAAE,sBAAU;QAClB,SAAS,EAAE,0BAAS,CAAC,MAAM;KAC5B,CAAC,CAAC;AACL,CAAC,CAAA,CAAC;AACF,MAAM,GAAG,GAAQ;IACf,EAAE,EAAE,GAAG,sBAAU,QAAQ;IACzB,QAAQ;IACR,KAAK,EAAE,QAAQ;CAChB,CAAC;AACF,kBAAe,GAAG,CAAC"}
|
@@ -0,0 +1,7 @@
|
|
1
|
+
import { ParsedAccount } from '../../utils/solana';
|
2
|
+
import { CachedGame, Currency, Game } from './structs';
|
3
|
+
export declare function gameToCached(game: ParsedAccount<Game>): CachedGame;
|
4
|
+
export declare function getMintFromCurrency(currency: Currency): {
|
5
|
+
mint: string;
|
6
|
+
decimals: number;
|
7
|
+
};
|
@@ -0,0 +1,41 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.getMintFromCurrency = exports.gameToCached = void 0;
|
4
|
+
const portfolio_core_1 = require("@sonarwatch/portfolio-core");
|
5
|
+
const solana_1 = require("../../utils/solana");
|
6
|
+
const constants_1 = require("../bonkrewards/constants");
|
7
|
+
const structs_1 = require("./structs");
|
8
|
+
function gameToCached(game) {
|
9
|
+
return {
|
10
|
+
pubkey: game.pubkey.toString(),
|
11
|
+
authority: game.authority.toString(),
|
12
|
+
blocktimeEnd: game.blocktimeEnd.times(1000).plus(86400000).toString(),
|
13
|
+
blocktimeStart: game.blocktimeStart.times(1000).toString(),
|
14
|
+
bump: game.bump,
|
15
|
+
days: game.days,
|
16
|
+
currency: game.currency,
|
17
|
+
playerSize: game.playerSize,
|
18
|
+
version: game.version,
|
19
|
+
gameId: game.gameId.toString(),
|
20
|
+
isPicked: game.isPicked,
|
21
|
+
playerDeposit: game.playerDeposit
|
22
|
+
.div(game.currency === structs_1.Currency.Sol ? Math.pow(10, portfolio_core_1.solanaNativeDecimals) : 1)
|
23
|
+
.toString(),
|
24
|
+
qtyPerDay: game.qtyPerDay,
|
25
|
+
};
|
26
|
+
}
|
27
|
+
exports.gameToCached = gameToCached;
|
28
|
+
function getMintFromCurrency(currency) {
|
29
|
+
switch (currency) {
|
30
|
+
case structs_1.Currency.Bonk:
|
31
|
+
return { mint: constants_1.bonkMint, decimals: constants_1.bonkDecimals };
|
32
|
+
case structs_1.Currency.USDC:
|
33
|
+
return { mint: solana_1.usdcSolanaMint, decimals: solana_1.usdcSolanaDecimals };
|
34
|
+
case structs_1.Currency.Sol:
|
35
|
+
return { mint: portfolio_core_1.solanaNativeAddress, decimals: portfolio_core_1.solanaNativeDecimals };
|
36
|
+
default:
|
37
|
+
return { mint: portfolio_core_1.solanaNativeAddress, decimals: portfolio_core_1.solanaNativeDecimals };
|
38
|
+
}
|
39
|
+
}
|
40
|
+
exports.getMintFromCurrency = getMintFromCurrency;
|
41
|
+
//# sourceMappingURL=helpers.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/moonwalk/helpers.ts"],"names":[],"mappings":";;;AAAA,+DAGoC;AACpC,+CAI4B;AAC5B,wDAAkE;AAClE,uCAAuD;AAEvD,SAAgB,YAAY,CAAC,IAAyB;IACpD,OAAO;QACL,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;QAC9B,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE;QACpC,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE;QACrE,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE;QAC1D,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;QAC9B,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,aAAa,EAAE,IAAI,CAAC,aAAa;aAC9B,GAAG,CAAC,IAAI,CAAC,QAAQ,KAAK,kBAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,SAAA,EAAE,EAAI,qCAAoB,CAAA,CAAC,CAAC,CAAC,CAAC,CAAC;aACpE,QAAQ,EAAE;QACb,SAAS,EAAE,IAAI,CAAC,SAAS;KAC1B,CAAC;AACJ,CAAC;AAlBD,oCAkBC;AAED,SAAgB,mBAAmB,CAAC,QAAkB;IAIpD,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,kBAAQ,CAAC,IAAI;YAChB,OAAO,EAAE,IAAI,EAAE,oBAAQ,EAAE,QAAQ,EAAE,wBAAY,EAAE,CAAC;QACpD,KAAK,kBAAQ,CAAC,IAAI;YAChB,OAAO,EAAE,IAAI,EAAE,uBAAc,EAAE,QAAQ,EAAE,2BAAkB,EAAE,CAAC;QAChE,KAAK,kBAAQ,CAAC,GAAG;YACf,OAAO,EAAE,IAAI,EAAE,oCAAmB,EAAE,QAAQ,EAAE,qCAAoB,EAAE,CAAC;QACvE;YACE,OAAO,EAAE,IAAI,EAAE,oCAAmB,EAAE,QAAQ,EAAE,qCAAoB,EAAE,CAAC;IACzE,CAAC;AACH,CAAC;AAdD,kDAcC"}
|
@@ -0,0 +1,13 @@
|
|
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 = exports.platforms = void 0;
|
7
|
+
const constants_1 = require("./constants");
|
8
|
+
const gamesJob_1 = __importDefault(require("./gamesJob"));
|
9
|
+
const gamesFetcher_1 = __importDefault(require("./gamesFetcher"));
|
10
|
+
exports.platforms = [constants_1.platform];
|
11
|
+
exports.jobs = [gamesJob_1.default];
|
12
|
+
exports.fetchers = [gamesFetcher_1.default];
|
13
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/moonwalk/index.ts"],"names":[],"mappings":";;;;;;AAGA,2CAAuC;AACvC,0DAAkC;AAClC,kEAA0C;AAE7B,QAAA,SAAS,GAAe,CAAC,oBAAQ,CAAC,CAAC;AACnC,QAAA,IAAI,GAAU,CAAC,kBAAQ,CAAC,CAAC;AACzB,QAAA,QAAQ,GAAc,CAAC,sBAAY,CAAC,CAAC"}
|
@@ -0,0 +1,50 @@
|
|
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 Currency {
|
6
|
+
USDC = 0,
|
7
|
+
Sol = 1,
|
8
|
+
Bonk = 2
|
9
|
+
}
|
10
|
+
export type CachedGame = {
|
11
|
+
pubkey: string;
|
12
|
+
gameId: string;
|
13
|
+
isPicked: boolean;
|
14
|
+
bump: number;
|
15
|
+
authority: string;
|
16
|
+
version: number;
|
17
|
+
days: number;
|
18
|
+
qtyPerDay: number;
|
19
|
+
playerSize: number;
|
20
|
+
playerDeposit: string;
|
21
|
+
currency: Currency;
|
22
|
+
blocktimeStart: string;
|
23
|
+
blocktimeEnd: string;
|
24
|
+
};
|
25
|
+
export type Game = {
|
26
|
+
buffer: Buffer;
|
27
|
+
gameId: PublicKey;
|
28
|
+
isPicked: boolean;
|
29
|
+
bump: number;
|
30
|
+
authority: PublicKey;
|
31
|
+
version: number;
|
32
|
+
days: number;
|
33
|
+
qtyPerDay: number;
|
34
|
+
playerSize: number;
|
35
|
+
playerDeposit: BigNumber;
|
36
|
+
currency: Currency;
|
37
|
+
blocktimeStart: BigNumber;
|
38
|
+
blocktimeEnd: BigNumber;
|
39
|
+
padding: Buffer;
|
40
|
+
};
|
41
|
+
export declare const gameStruct: BeetStruct<Game, Partial<Game>>;
|
42
|
+
export type GamePlayer = {
|
43
|
+
buffer: Buffer;
|
44
|
+
bump: number;
|
45
|
+
authority: PublicKey;
|
46
|
+
gameId: PublicKey;
|
47
|
+
claimed: boolean;
|
48
|
+
claimAmount: BigNumber;
|
49
|
+
};
|
50
|
+
export declare const gamePlayerStruct: BeetStruct<GamePlayer, Partial<GamePlayer>>;
|
@@ -0,0 +1,37 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.gamePlayerStruct = exports.gameStruct = exports.Currency = 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 Currency;
|
8
|
+
(function (Currency) {
|
9
|
+
Currency[Currency["USDC"] = 0] = "USDC";
|
10
|
+
Currency[Currency["Sol"] = 1] = "Sol";
|
11
|
+
Currency[Currency["Bonk"] = 2] = "Bonk";
|
12
|
+
})(Currency || (exports.Currency = Currency = {}));
|
13
|
+
exports.gameStruct = new beet_1.BeetStruct([
|
14
|
+
['buffer', (0, solana_1.blob)(8)],
|
15
|
+
['gameId', beet_solana_1.publicKey],
|
16
|
+
['isPicked', beet_1.bool],
|
17
|
+
['bump', beet_1.u8],
|
18
|
+
['authority', beet_solana_1.publicKey],
|
19
|
+
['version', beet_1.u16],
|
20
|
+
['days', beet_1.u32],
|
21
|
+
['qtyPerDay', beet_1.u32],
|
22
|
+
['playerSize', beet_1.u16],
|
23
|
+
['playerDeposit', solana_1.fp64],
|
24
|
+
['currency', beet_1.u8],
|
25
|
+
['blocktimeStart', solana_1.i64],
|
26
|
+
['blocktimeEnd', solana_1.i64],
|
27
|
+
['padding', (0, solana_1.blob)(667)],
|
28
|
+
], (args) => args);
|
29
|
+
exports.gamePlayerStruct = new beet_1.BeetStruct([
|
30
|
+
['buffer', (0, solana_1.blob)(8)],
|
31
|
+
['bump', beet_1.u8],
|
32
|
+
['authority', beet_solana_1.publicKey],
|
33
|
+
['gameId', beet_solana_1.publicKey],
|
34
|
+
['claimed', beet_1.bool],
|
35
|
+
['claimAmount', solana_1.f64],
|
36
|
+
], (args) => args);
|
37
|
+
//# sourceMappingURL=structs.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"structs.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/moonwalk/structs.ts"],"names":[],"mappings":";;;AAAA,oDAA2E;AAC3E,kEAA6D;AAG7D,+CAA0D;AAE1D,IAAY,QAIX;AAJD,WAAY,QAAQ;IAClB,uCAAI,CAAA;IACJ,qCAAG,CAAA;IACH,uCAAI,CAAA;AACN,CAAC,EAJW,QAAQ,wBAAR,QAAQ,QAInB;AAmCY,QAAA,UAAU,GAAG,IAAI,iBAAU,CACtC;IACE,CAAC,QAAQ,EAAE,IAAA,aAAI,EAAC,CAAC,CAAC,CAAC;IACnB,CAAC,QAAQ,EAAE,uBAAS,CAAC;IACrB,CAAC,UAAU,EAAE,WAAI,CAAC;IAClB,CAAC,MAAM,EAAE,SAAE,CAAC;IACZ,CAAC,WAAW,EAAE,uBAAS,CAAC;IACxB,CAAC,SAAS,EAAE,UAAG,CAAC;IAChB,CAAC,MAAM,EAAE,UAAG,CAAC;IACb,CAAC,WAAW,EAAE,UAAG,CAAC;IAClB,CAAC,YAAY,EAAE,UAAG,CAAC;IACnB,CAAC,eAAe,EAAE,aAAI,CAAC;IACvB,CAAC,UAAU,EAAE,SAAE,CAAC;IAChB,CAAC,gBAAgB,EAAE,YAAG,CAAC;IACvB,CAAC,cAAc,EAAE,YAAG,CAAC;IACrB,CAAC,SAAS,EAAE,IAAA,aAAI,EAAC,GAAG,CAAC,CAAC;CACvB,EACD,CAAC,IAAI,EAAE,EAAE,CAAC,IAAY,CACvB,CAAC;AAWW,QAAA,gBAAgB,GAAG,IAAI,iBAAU,CAC5C;IACE,CAAC,QAAQ,EAAE,IAAA,aAAI,EAAC,CAAC,CAAC,CAAC;IACnB,CAAC,MAAM,EAAE,SAAE,CAAC;IACZ,CAAC,WAAW,EAAE,uBAAS,CAAC;IACxB,CAAC,QAAQ,EAAE,uBAAS,CAAC;IACrB,CAAC,SAAS,EAAE,WAAI,CAAC;IACjB,CAAC,aAAa,EAAE,YAAG,CAAC;CACrB,EACD,CAAC,IAAI,EAAE,EAAE,CAAC,IAAkB,CAC7B,CAAC"}
|
@@ -6,7 +6,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.fetchers = exports.jobs = exports.platforms = void 0;
|
7
7
|
const constants_1 = require("./constants");
|
8
8
|
const stakingFetcher_1 = __importDefault(require("./stakingFetcher"));
|
9
|
+
const pricingJob_1 = __importDefault(require("./pricingJob"));
|
9
10
|
exports.platforms = [constants_1.platform];
|
10
|
-
exports.jobs = [];
|
11
|
+
exports.jobs = [pricingJob_1.default];
|
11
12
|
exports.fetchers = [stakingFetcher_1.default];
|
12
13
|
//# sourceMappingURL=index.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/pyth/index.ts"],"names":[],"mappings":";;;;;;AAGA,2CAAuC;AACvC,sEAA8C;
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/pyth/index.ts"],"names":[],"mappings":";;;;;;AAGA,2CAAuC;AACvC,sEAA8C;AAC9C,8DAAsC;AAEzB,QAAA,SAAS,GAAe,CAAC,oBAAQ,CAAC,CAAC;AACnC,QAAA,IAAI,GAAU,CAAC,oBAAU,CAAC,CAAC;AAC3B,QAAA,QAAQ,GAAc,CAAC,wBAAc,CAAC,CAAC"}
|
@@ -0,0 +1,33 @@
|
|
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 web3_js_1 = require("@solana/web3.js");
|
13
|
+
const constants_1 = require("./constants");
|
14
|
+
const clients_1 = require("../../utils/clients");
|
15
|
+
const helpers_1 = require("../../utils/solana/pyth/helpers");
|
16
|
+
const feedsToFetch = [
|
17
|
+
{
|
18
|
+
feed: new web3_js_1.PublicKey('8QFEAwdamHFFRnj3Swnv1CkVNZBeFiVzraC548xhmpT5'),
|
19
|
+
mint: new web3_js_1.PublicKey('ZScHuTtqZukUrtZS43teTKGs2VqkKL8k4QCouR2n6Uo'),
|
20
|
+
},
|
21
|
+
];
|
22
|
+
const executor = (cache) => __awaiter(void 0, void 0, void 0, function* () {
|
23
|
+
const connection = (0, clients_1.getClientSolana)();
|
24
|
+
const sources = yield (0, helpers_1.getPythTokenPriceSources)(connection, feedsToFetch);
|
25
|
+
yield cache.setTokenPriceSources(sources);
|
26
|
+
});
|
27
|
+
const job = {
|
28
|
+
id: `${constants_1.platformId}-pricing`,
|
29
|
+
executor,
|
30
|
+
label: 'coingecko',
|
31
|
+
};
|
32
|
+
exports.default = job;
|
33
|
+
//# sourceMappingURL=pricingJob.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"pricingJob.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/pyth/pricingJob.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,6CAA4C;AAG5C,2CAAyC;AACzC,iDAAsD;AACtD,6DAA2E;AAE3E,MAAM,YAAY,GAAG;IACnB;QACE,IAAI,EAAE,IAAI,mBAAS,CAAC,8CAA8C,CAAC;QACnE,IAAI,EAAE,IAAI,mBAAS,CAAC,6CAA6C,CAAC;KACnE;CACF,CAAC;AAEF,MAAM,QAAQ,GAAgB,CAAO,KAAY,EAAE,EAAE;IACnD,MAAM,UAAU,GAAG,IAAA,yBAAe,GAAE,CAAC;IACrC,MAAM,OAAO,GAAG,MAAM,IAAA,kCAAwB,EAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IACzE,MAAM,KAAK,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAC5C,CAAC,CAAA,CAAC;AACF,MAAM,GAAG,GAAQ;IACf,EAAE,EAAE,GAAG,sBAAU,UAAU;IAC3B,QAAQ;IACR,KAAK,EAAE,WAAW;CACnB,CAAC;AACF,kBAAe,GAAG,CAAC"}
|
@@ -54,30 +54,30 @@ function sushiV3PairToUniV2(pair) {
|
|
54
54
|
}
|
55
55
|
function getV3PairsAddresses(url, length = 300) {
|
56
56
|
return __awaiter(this, void 0, void 0, function* () {
|
57
|
-
const query = (0, graphql_request_1.gql) `
|
58
|
-
{
|
59
|
-
pools(
|
60
|
-
orderBy: totalValueLockedUSD
|
61
|
-
first: ${length}
|
62
|
-
orderDirection: desc
|
63
|
-
where: { volumeUSD_not: "0", liquidity_not: "0" }
|
64
|
-
) {
|
65
|
-
id
|
66
|
-
token0Price
|
67
|
-
token1Price
|
68
|
-
liquidity
|
69
|
-
token0 {
|
70
|
-
id
|
71
|
-
totalSupply
|
72
|
-
decimals
|
73
|
-
}
|
74
|
-
token1 {
|
75
|
-
id
|
76
|
-
totalSupply
|
77
|
-
decimals
|
78
|
-
}
|
79
|
-
}
|
80
|
-
}
|
57
|
+
const query = (0, graphql_request_1.gql) `
|
58
|
+
{
|
59
|
+
pools(
|
60
|
+
orderBy: totalValueLockedUSD
|
61
|
+
first: ${length}
|
62
|
+
orderDirection: desc
|
63
|
+
where: { volumeUSD_not: "0", liquidity_not: "0" }
|
64
|
+
) {
|
65
|
+
id
|
66
|
+
token0Price
|
67
|
+
token1Price
|
68
|
+
liquidity
|
69
|
+
token0 {
|
70
|
+
id
|
71
|
+
totalSupply
|
72
|
+
decimals
|
73
|
+
}
|
74
|
+
token1 {
|
75
|
+
id
|
76
|
+
totalSupply
|
77
|
+
decimals
|
78
|
+
}
|
79
|
+
}
|
80
|
+
}
|
81
81
|
`;
|
82
82
|
const res = yield (0, graphql_request_1.default)(url, query);
|
83
83
|
const pools = res.pools;
|
@@ -37,7 +37,7 @@ const executor = (cache) => __awaiter(void 0, void 0, void 0, function* () {
|
|
37
37
|
const source = {
|
38
38
|
address: feedToFetch.mintAddress,
|
39
39
|
decimals,
|
40
|
-
id:
|
40
|
+
id: `${constants_1.platformId}-feed-${feedToFetch.feedAddress.toString()}`,
|
41
41
|
networkId: portfolio_core_1.NetworkId.solana,
|
42
42
|
platformId: constants_2.walletTokensPlatform.id,
|
43
43
|
weight: 0.5,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"pricingJob.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/switchboard/pricingJob.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,+DAAyE;AACzE,6CAA4C;AAG5C,2CAAyC;AACzC,iDAAsD;AACtD,yEAAsE;AACtE,0FAAuF;AACvF,mDAA2D;AAE3D,MAAM,YAAY,GAAG;IACnB;QACE,WAAW,EAAE,IAAI,mBAAS,CAAC,8CAA8C,CAAC;QAC1E,WAAW,EAAE,6CAA6C;KAC3D;CACF,CAAC;AAEF,MAAM,QAAQ,GAAgB,CAAO,KAAY,EAAE,EAAE;IACnD,MAAM,UAAU,GAAG,IAAA,yBAAe,GAAE,CAAC;IACrC,MAAM,MAAM,GAAG,MAAM,IAAA,2CAAoB,EACvC,UAAU,EACV,YAAY,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,CACrD,CAAC;IACF,MAAM,WAAW,GAAG,MAAM,IAAA,mDAAwB,EAChD,UAAU,EACV,YAAY,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,mBAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CACpE,CAAC;IAEF,MAAM,OAAO,GAAuB,EAAE,CAAC;IACvC,YAAY,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC,EAAE,EAAE;QACtC,MAAM,KAAK,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC3B,IAAI,CAAC,KAAK;YAAE,OAAO;QACnB,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QAC1D,IAAI,CAAC,QAAQ;YAAE,OAAO;QACtB,MAAM,MAAM,GAAqB;YAC/B,OAAO,EAAE,WAAW,CAAC,WAAW;YAChC,QAAQ;YACR,EAAE,EAAE,
|
1
|
+
{"version":3,"file":"pricingJob.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/switchboard/pricingJob.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,+DAAyE;AACzE,6CAA4C;AAG5C,2CAAyC;AACzC,iDAAsD;AACtD,yEAAsE;AACtE,0FAAuF;AACvF,mDAA2D;AAE3D,MAAM,YAAY,GAAG;IACnB;QACE,WAAW,EAAE,IAAI,mBAAS,CAAC,8CAA8C,CAAC;QAC1E,WAAW,EAAE,6CAA6C;KAC3D;CACF,CAAC;AAEF,MAAM,QAAQ,GAAgB,CAAO,KAAY,EAAE,EAAE;IACnD,MAAM,UAAU,GAAG,IAAA,yBAAe,GAAE,CAAC;IACrC,MAAM,MAAM,GAAG,MAAM,IAAA,2CAAoB,EACvC,UAAU,EACV,YAAY,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,CACrD,CAAC;IACF,MAAM,WAAW,GAAG,MAAM,IAAA,mDAAwB,EAChD,UAAU,EACV,YAAY,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,mBAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CACpE,CAAC;IAEF,MAAM,OAAO,GAAuB,EAAE,CAAC;IACvC,YAAY,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC,EAAE,EAAE;QACtC,MAAM,KAAK,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC3B,IAAI,CAAC,KAAK;YAAE,OAAO;QACnB,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QAC1D,IAAI,CAAC,QAAQ;YAAE,OAAO;QACtB,MAAM,MAAM,GAAqB;YAC/B,OAAO,EAAE,WAAW,CAAC,WAAW;YAChC,QAAQ;YACR,EAAE,EAAE,GAAG,sBAAU,SAAS,WAAW,CAAC,WAAW,CAAC,QAAQ,EAAE,EAAE;YAC9D,SAAS,EAAE,0BAAS,CAAC,MAAM;YAC3B,UAAU,EAAE,gCAAoB,CAAC,EAAE;YACnC,MAAM,EAAE,GAAG;YACX,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,KAAK;SACN,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,MAAM,KAAK,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAC5C,CAAC,CAAA,CAAC;AACF,MAAM,GAAG,GAAQ;IACf,EAAE,EAAE,GAAG,sBAAU,UAAU;IAC3B,QAAQ;IACR,KAAK,EAAE,WAAW;CACnB,CAAC;AACF,kBAAe,GAAG,CAAC"}
|