@sonarwatch/portfolio-plugins 0.11.158 → 0.11.159
Sign up to get free protection for your applications and to get access to all the features.
- package/CHANGELOG.md +1359 -1355
- package/README.md +3 -3
- package/package.json +2 -2
- package/src/plugins/abex/marketsJob.js +2 -2
- package/src/plugins/abex/marketsJob.js.map +1 -1
- package/src/plugins/aftermath/poolsJob.js +36 -102
- package/src/plugins/aftermath/poolsJob.js.map +1 -1
- package/src/plugins/atrix/poolsV1Job.js +2 -2
- package/src/plugins/atrix/poolsV1Job.js.map +1 -1
- package/src/plugins/auxexchange/aptosLpJob.js +6 -4
- package/src/plugins/auxexchange/aptosLpJob.js.map +1 -1
- package/src/plugins/balancer/helpers/pools.js +21 -21
- package/src/plugins/fluxbeam/poolsJob.js +6 -4
- package/src/plugins/fluxbeam/poolsJob.js.map +1 -1
- package/src/plugins/kai/vaultsJob.js +2 -2
- package/src/plugins/kai/vaultsJob.js.map +1 -1
- package/src/plugins/liquiditypools-sei/job.js +6 -4
- package/src/plugins/liquiditypools-sei/job.js.map +1 -1
- package/src/plugins/liquidswap/aptosLpJob.js +2 -2
- package/src/plugins/liquidswap/aptosLpJob.js.map +1 -1
- package/src/plugins/marginfi/banksJob.d.ts +3 -0
- package/src/plugins/marginfi/{jobExecutor.js → banksJob.js} +8 -3
- package/src/plugins/marginfi/banksJob.js.map +1 -0
- package/src/plugins/marginfi/depositsFetcher.d.ts +3 -0
- package/src/plugins/marginfi/{fetcherExecutor.js → depositsFetcher.js} +8 -3
- package/src/plugins/marginfi/{fetcherExecutor.js.map → depositsFetcher.js.map} +1 -1
- package/src/plugins/marginfi/index.js +4 -17
- package/src/plugins/marginfi/index.js.map +1 -1
- package/src/plugins/meteora/multiTokenPoolsJob.js +2 -2
- package/src/plugins/meteora/multiTokenPoolsJob.js.map +1 -1
- package/src/plugins/meteora/poolsJob.js +6 -4
- package/src/plugins/meteora/poolsJob.js.map +1 -1
- package/src/plugins/orca/lpTokensJob.js +6 -4
- package/src/plugins/orca/lpTokensJob.js.map +1 -1
- package/src/plugins/pancakeswap/aptosLpJob.js +6 -4
- package/src/plugins/pancakeswap/aptosLpJob.js.map +1 -1
- package/src/plugins/raydium/lpTokensJob.js +6 -4
- package/src/plugins/raydium/lpTokensJob.js.map +1 -1
- package/src/plugins/sushiswap/aptos/poolsJob.js +2 -2
- package/src/plugins/sushiswap/aptos/poolsJob.js.map +1 -1
- package/src/plugins/sushiswap/helpers.js +24 -24
- package/src/plugins/symmetry/basketsJob.js +2 -2
- package/src/plugins/symmetry/basketsJob.js.map +1 -1
- package/src/plugins/tulip/lendingTokensJob.js +2 -2
- package/src/plugins/tulip/lendingTokensJob.js.map +1 -1
- package/src/plugins/tulip/strategyTokensJob.js +2 -2
- package/src/plugins/tulip/strategyTokensJob.js.map +1 -1
- package/src/plugins/uniswap-v2/helpers.js +22 -22
- package/src/utils/clmm/tokenPricesFromSqrt.js +11 -4
- package/src/utils/clmm/tokenPricesFromSqrt.js.map +1 -1
- package/src/utils/misc/getLpTokenSource.d.ts +13 -9
- package/src/utils/misc/getLpTokenSource.js +29 -8
- package/src/utils/misc/getLpTokenSource.js.map +1 -1
- package/src/utils/misc/getLpTokenSourceOld.d.ts +18 -0
- package/src/utils/misc/getLpTokenSourceOld.js +32 -0
- package/src/utils/misc/getLpTokenSourceOld.js.map +1 -0
- package/src/utils/misc/getLpTokenSourceRaw.d.ts +16 -5
- package/src/utils/misc/getLpTokenSourceRaw.js +22 -6
- package/src/utils/misc/getLpTokenSourceRaw.js.map +1 -1
- package/src/utils/misc/getLpTokenSourceRawOld.d.ts +25 -0
- package/src/utils/misc/getLpTokenSourceRawOld.js +20 -0
- package/src/utils/misc/getLpTokenSourceRawOld.js.map +1 -0
- package/src/utils/misc/getLpUnderlyingTokenSource.d.ts +14 -18
- package/src/utils/misc/getLpUnderlyingTokenSource.js +101 -70
- package/src/utils/misc/getLpUnderlyingTokenSource.js.map +1 -1
- package/src/utils/misc/getLpUnderlyingTokenSourceOld.d.ts +26 -0
- package/src/utils/misc/getLpUnderlyingTokenSourceOld.js +73 -0
- package/src/utils/misc/getLpUnderlyingTokenSourceOld.js.map +1 -0
- package/src/utils/sei/constants.js +8 -8
- package/src/utils/sei/getQueryBalanceByOwner.js +4 -4
- package/src/plugins/marginfi/fetcherExecutor.d.ts +0 -3
- package/src/plugins/marginfi/jobExecutor.d.ts +0 -3
- package/src/plugins/marginfi/jobExecutor.js.map +0 -1
@@ -3,80 +3,111 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
4
|
};
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
-
exports.defaultAcceptedPairs = void 0;
|
6
|
+
exports.getLpUnderlyingTokenSource = exports.defaultAcceptedPairs = void 0;
|
7
7
|
const portfolio_core_1 = require("@sonarwatch/portfolio-core");
|
8
|
-
const getSourceWeight_1 = __importDefault(require("./getSourceWeight"));
|
9
8
|
const constants_1 = require("../../plugins/tokens/constants");
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
9
|
+
const getSourceWeight_1 = __importDefault(require("./getSourceWeight"));
|
10
|
+
exports.defaultAcceptedPairs = new Map([
|
11
|
+
[
|
12
|
+
portfolio_core_1.NetworkId.sei,
|
13
|
+
[
|
14
|
+
portfolio_core_1.seiNativeAddress,
|
15
|
+
'ibc/ED07A3391A112B175915CD8FAF43A2DA8E4790EDE12566649D0C2F97716B8518', // OSMO
|
16
|
+
'factory/sei189adguawugk3e55zn63z8r9ll29xrjwca636ra7v7gxuzn98sxyqwzt47l/Hq4tuDzhRBnxw3tFA5n6M52NVMVcC19XggbyDiJKCD6H', // USDCet
|
17
|
+
].map((a) => (0, portfolio_core_1.formatTokenAddress)(a, portfolio_core_1.NetworkId.sei)),
|
18
|
+
],
|
19
|
+
[
|
20
|
+
portfolio_core_1.NetworkId.solana,
|
21
|
+
[
|
22
|
+
portfolio_core_1.solanaNativeAddress,
|
23
|
+
portfolio_core_1.solanaNativeWrappedAddress,
|
24
|
+
'EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v', // USDC
|
25
|
+
'Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB', // USDT
|
26
|
+
].map((a) => (0, portfolio_core_1.formatTokenAddress)(a, portfolio_core_1.NetworkId.solana)),
|
27
|
+
],
|
28
|
+
[
|
29
|
+
portfolio_core_1.NetworkId.aptos,
|
30
|
+
[
|
31
|
+
portfolio_core_1.aptosNativeAddress,
|
32
|
+
'0x5e156f1207d0ebfa19a9eeff00d62a282278fb8719f4fab3a586a0a2c0fffbea::coin::T', // USDCet
|
33
|
+
'0x6f986d146e4a90b828d8c12c14b6f4e003fdff11a8eecceceb63744363eaac01::mod_coin::MOD', // MOD (Move Dollar)
|
34
|
+
].map((a) => (0, portfolio_core_1.formatTokenAddress)(a, portfolio_core_1.NetworkId.aptos)),
|
35
|
+
],
|
36
|
+
[
|
37
|
+
portfolio_core_1.NetworkId.sui,
|
38
|
+
[
|
39
|
+
portfolio_core_1.suiNativeAddress,
|
40
|
+
'0x2::sui::SUI',
|
41
|
+
'0x5d4b302506645c37ff133b98c4b50a5ae14841659738d6d733d59d0d217a93bf::coin::COIN', // USDCet
|
42
|
+
'0xc060006111016b8a020ad5b33834984a437aaa7d3c74c18e09a95d48aceab08c::coin::COIN', // USDCet
|
43
|
+
].map((a) => (0, portfolio_core_1.formatTokenAddress)(a, portfolio_core_1.NetworkId.sui)),
|
44
|
+
],
|
45
|
+
]);
|
46
|
+
function getLpUnderlyingTokenSource(params) {
|
47
|
+
let { platformId, acceptedPairs, minReserveValue } = params;
|
48
|
+
const { networkId, poolUnderlyings, sourceId } = params;
|
49
|
+
if (!platformId)
|
50
|
+
platformId = constants_1.walletTokensPlatform.id;
|
51
|
+
if (!acceptedPairs)
|
52
|
+
acceptedPairs = exports.defaultAcceptedPairs.get(networkId);
|
53
|
+
if (acceptedPairs === undefined)
|
54
|
+
return [];
|
55
|
+
if (acceptedPairs.length === 0)
|
56
|
+
return [];
|
57
|
+
if (!minReserveValue)
|
58
|
+
minReserveValue = 2500;
|
59
|
+
const totalWeight = poolUnderlyings.reduce((partialSum, p) => partialSum + p.weight, 0);
|
60
|
+
if (totalWeight > 1.02)
|
61
|
+
throw new Error('Weights greater than 1');
|
62
|
+
if (totalWeight < 0.98)
|
63
|
+
throw new Error('Weights are less than 1');
|
42
64
|
let knownUnderlaying;
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
65
|
+
const fAddresses = poolUnderlyings.map((u) => (0, portfolio_core_1.formatTokenAddress)(u.address, networkId));
|
66
|
+
let knownReserveValue;
|
67
|
+
for (let i = 0; i < poolUnderlyings.length; i++) {
|
68
|
+
const u = poolUnderlyings[i];
|
69
|
+
if (!u.tokenPrice)
|
70
|
+
continue;
|
71
|
+
if (!acceptedPairs.includes(fAddresses[i]))
|
72
|
+
continue;
|
73
|
+
const reserveValue = u.tokenPrice.price * u.reserveAmount;
|
74
|
+
if (knownUnderlaying &&
|
75
|
+
knownReserveValue &&
|
76
|
+
knownReserveValue > reserveValue)
|
77
|
+
continue;
|
78
|
+
knownUnderlaying = u;
|
79
|
+
knownReserveValue = reserveValue;
|
51
80
|
}
|
52
|
-
if (!knownUnderlaying || !
|
53
|
-
return
|
54
|
-
if (
|
55
|
-
|
56
|
-
|
81
|
+
if (!knownUnderlaying || !knownReserveValue)
|
82
|
+
return [];
|
83
|
+
if (knownReserveValue < minReserveValue)
|
84
|
+
return [];
|
85
|
+
const knownUnderlayingAddress = (0, portfolio_core_1.formatTokenAddress)(knownUnderlaying.address, networkId);
|
86
|
+
const sources = [];
|
87
|
+
for (let i = 0; i < poolUnderlyings.length; i++) {
|
88
|
+
const u = poolUnderlyings[i];
|
89
|
+
if (knownUnderlayingAddress === fAddresses[i])
|
90
|
+
continue;
|
91
|
+
if (acceptedPairs.includes(fAddresses[i]))
|
92
|
+
continue;
|
93
|
+
if (u.tokenPrice &&
|
94
|
+
u.tokenPrice.sources.some((s) => s.id === portfolio_core_1.coingeckoSourceId))
|
95
|
+
continue;
|
96
|
+
const price = ((u.weight / knownUnderlaying.weight) * knownReserveValue) /
|
97
|
+
u.reserveAmount;
|
98
|
+
const source = {
|
99
|
+
id: sourceId,
|
100
|
+
networkId,
|
101
|
+
platformId: constants_1.walletTokensPlatform.id,
|
102
|
+
address: fAddresses[i],
|
103
|
+
decimals: u.decimals,
|
104
|
+
price,
|
105
|
+
weight: (0, getSourceWeight_1.default)(knownReserveValue),
|
106
|
+
timestamp: Date.now(),
|
107
|
+
};
|
108
|
+
sources.push(source);
|
57
109
|
}
|
58
|
-
|
59
|
-
.div(Math.pow(10, knownUnderlaying.decimals))
|
60
|
-
.toNumber();
|
61
|
-
const knownReserveValue = knownReserveAmount * knownUnderlaying.tokenPrice.price;
|
62
|
-
const poolTvl = knownReserveValue * 2;
|
63
|
-
if (minTvl > poolTvl)
|
64
|
-
return null;
|
65
|
-
const unknownReserveAmount = unknownUnderlaying.reserveAmountRaw
|
66
|
-
.div(Math.pow(10, unknownUnderlaying.decimals))
|
67
|
-
.toNumber();
|
68
|
-
const price = knownReserveValue / unknownReserveAmount;
|
69
|
-
const source = {
|
70
|
-
id: sourceId,
|
71
|
-
networkId,
|
72
|
-
platformId: constants_1.walletTokensPlatform.id,
|
73
|
-
address: unknownUnderlaying.address,
|
74
|
-
decimals: unknownUnderlaying.decimals,
|
75
|
-
price,
|
76
|
-
weight: (0, getSourceWeight_1.default)(poolTvl),
|
77
|
-
timestamp: Date.now(),
|
78
|
-
};
|
79
|
-
return source;
|
110
|
+
return sources;
|
80
111
|
}
|
81
|
-
exports.
|
112
|
+
exports.getLpUnderlyingTokenSource = getLpUnderlyingTokenSource;
|
82
113
|
//# sourceMappingURL=getLpUnderlyingTokenSource.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"getLpUnderlyingTokenSource.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/utils/misc/getLpUnderlyingTokenSource.ts"],"names":[],"mappings":";;;;;;AAAA,+
|
1
|
+
{"version":3,"file":"getLpUnderlyingTokenSource.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/utils/misc/getLpUnderlyingTokenSource.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,26 @@
|
|
1
|
+
import { NetworkIdType, TokenPrice, TokenPriceSource } from '@sonarwatch/portfolio-core';
|
2
|
+
import BigNumber from 'bignumber.js';
|
3
|
+
export type PoolData = {
|
4
|
+
id: string;
|
5
|
+
supply: BigNumber;
|
6
|
+
lpDecimals: number;
|
7
|
+
reserveTokenX: BigNumber;
|
8
|
+
reserveTokenY: BigNumber;
|
9
|
+
mintTokenX: string;
|
10
|
+
decimalX?: number;
|
11
|
+
mintTokenY: string;
|
12
|
+
decimalY?: number;
|
13
|
+
};
|
14
|
+
type PoolUnderlyingRaw = {
|
15
|
+
address: string;
|
16
|
+
reserveAmountRaw: BigNumber;
|
17
|
+
decimals: number;
|
18
|
+
tokenPrice: TokenPrice | undefined;
|
19
|
+
weight: number;
|
20
|
+
};
|
21
|
+
/**
|
22
|
+
* @deprecated
|
23
|
+
* This function has been deprecated. Use the new getLpUnderlyingTokenSource instead.
|
24
|
+
*/
|
25
|
+
export default function getLpUnderlyingTokenSourceOld(sourceId: string, networkId: NetworkIdType, poolUnderlyingsA: PoolUnderlyingRaw, poolUnderlyingsB: PoolUnderlyingRaw, minTvl?: number, acceptedPairs?: Map<NetworkIdType, string[]>): TokenPriceSource | null;
|
26
|
+
export {};
|
@@ -0,0 +1,73 @@
|
|
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
|
+
const portfolio_core_1 = require("@sonarwatch/portfolio-core");
|
7
|
+
const getSourceWeight_1 = __importDefault(require("./getSourceWeight"));
|
8
|
+
const constants_1 = require("../../plugins/tokens/constants");
|
9
|
+
const getLpUnderlyingTokenSource_1 = require("./getLpUnderlyingTokenSource");
|
10
|
+
/**
|
11
|
+
* @deprecated
|
12
|
+
* This function has been deprecated. Use the new getLpUnderlyingTokenSource instead.
|
13
|
+
*/
|
14
|
+
function getLpUnderlyingTokenSourceOld(sourceId, networkId, poolUnderlyingsA, poolUnderlyingsB, minTvl = 2000, acceptedPairs = getLpUnderlyingTokenSource_1.defaultAcceptedPairs) {
|
15
|
+
var _a, _b, _c, _d, _e, _f;
|
16
|
+
if (poolUnderlyingsA.weight + poolUnderlyingsB.weight > 1.02)
|
17
|
+
throw new Error('Weights greater than 1');
|
18
|
+
if (poolUnderlyingsA.weight + poolUnderlyingsB.weight < 0.98)
|
19
|
+
throw new Error('Weights are less than 1');
|
20
|
+
if (!poolUnderlyingsA.tokenPrice && !poolUnderlyingsB.tokenPrice)
|
21
|
+
return null;
|
22
|
+
if (((_a = poolUnderlyingsA.tokenPrice) === null || _a === void 0 ? void 0 : _a.price) === 0)
|
23
|
+
return null;
|
24
|
+
if (((_b = poolUnderlyingsB.tokenPrice) === null || _b === void 0 ? void 0 : _b.price) === 0)
|
25
|
+
return null;
|
26
|
+
const isAcceptedTokenA = (_d = (_c = acceptedPairs
|
27
|
+
.get(networkId)) === null || _c === void 0 ? void 0 : _c.includes((0, portfolio_core_1.formatTokenAddress)(poolUnderlyingsA.address, networkId))) !== null && _d !== void 0 ? _d : false;
|
28
|
+
const isAcceptedTokenB = (_f = (_e = acceptedPairs
|
29
|
+
.get(networkId)) === null || _e === void 0 ? void 0 : _e.includes((0, portfolio_core_1.formatTokenAddress)(poolUnderlyingsB.address, networkId))) !== null && _f !== void 0 ? _f : false;
|
30
|
+
if (isAcceptedTokenA && isAcceptedTokenB)
|
31
|
+
return null;
|
32
|
+
let knownUnderlaying;
|
33
|
+
let unknownUnderlaying;
|
34
|
+
if (poolUnderlyingsA.tokenPrice && isAcceptedTokenA) {
|
35
|
+
knownUnderlaying = poolUnderlyingsA;
|
36
|
+
unknownUnderlaying = poolUnderlyingsB;
|
37
|
+
}
|
38
|
+
else if (poolUnderlyingsB.tokenPrice && isAcceptedTokenB) {
|
39
|
+
knownUnderlaying = poolUnderlyingsB;
|
40
|
+
unknownUnderlaying = poolUnderlyingsA;
|
41
|
+
}
|
42
|
+
if (!knownUnderlaying || !unknownUnderlaying)
|
43
|
+
return null;
|
44
|
+
if (unknownUnderlaying.tokenPrice &&
|
45
|
+
unknownUnderlaying.tokenPrice.sources.some((source) => source.id === portfolio_core_1.coingeckoSourceId)) {
|
46
|
+
return null;
|
47
|
+
}
|
48
|
+
const knownReserveAmount = knownUnderlaying.reserveAmountRaw
|
49
|
+
.div(Math.pow(10, knownUnderlaying.decimals))
|
50
|
+
.toNumber();
|
51
|
+
const knownReserveValue = knownReserveAmount * knownUnderlaying.tokenPrice.price;
|
52
|
+
if (minTvl > knownReserveValue)
|
53
|
+
return null;
|
54
|
+
const unknownReserveAmount = unknownUnderlaying.reserveAmountRaw
|
55
|
+
.div(Math.pow(10, unknownUnderlaying.decimals))
|
56
|
+
.toNumber();
|
57
|
+
const price = ((unknownUnderlaying.weight / knownUnderlaying.weight) *
|
58
|
+
knownReserveValue) /
|
59
|
+
unknownReserveAmount;
|
60
|
+
const source = {
|
61
|
+
id: sourceId,
|
62
|
+
networkId,
|
63
|
+
platformId: constants_1.walletTokensPlatform.id,
|
64
|
+
address: (0, portfolio_core_1.formatTokenAddress)(unknownUnderlaying.address, networkId),
|
65
|
+
decimals: unknownUnderlaying.decimals,
|
66
|
+
price,
|
67
|
+
weight: (0, getSourceWeight_1.default)(knownReserveValue),
|
68
|
+
timestamp: Date.now(),
|
69
|
+
};
|
70
|
+
return source;
|
71
|
+
}
|
72
|
+
exports.default = getLpUnderlyingTokenSourceOld;
|
73
|
+
//# sourceMappingURL=getLpUnderlyingTokenSourceOld.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"getLpUnderlyingTokenSourceOld.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/utils/misc/getLpUnderlyingTokenSourceOld.ts"],"names":[],"mappings":"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"}
|
@@ -1,16 +1,16 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
exports.poolQueryMsg = exports.minterQueryMsg = exports.tokenInfoQueryMsg = exports.infoQueryMsg = void 0;
|
4
|
-
exports.infoQueryMsg = JSON.parse(`{
|
5
|
-
"info": {}
|
4
|
+
exports.infoQueryMsg = JSON.parse(`{
|
5
|
+
"info": {}
|
6
6
|
}`);
|
7
|
-
exports.tokenInfoQueryMsg = JSON.parse(`{
|
8
|
-
"token_info": {}
|
7
|
+
exports.tokenInfoQueryMsg = JSON.parse(`{
|
8
|
+
"token_info": {}
|
9
9
|
}`);
|
10
|
-
exports.minterQueryMsg = JSON.parse(`{
|
11
|
-
"minter": {}
|
10
|
+
exports.minterQueryMsg = JSON.parse(`{
|
11
|
+
"minter": {}
|
12
12
|
}`);
|
13
|
-
exports.poolQueryMsg = JSON.parse(`{
|
14
|
-
"pool": {}
|
13
|
+
exports.poolQueryMsg = JSON.parse(`{
|
14
|
+
"pool": {}
|
15
15
|
}`);
|
16
16
|
//# sourceMappingURL=constants.js.map
|
@@ -1,10 +1,10 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
function getQueryBalanceByOwner(owner) {
|
4
|
-
return JSON.parse(`{
|
5
|
-
"balance": {
|
6
|
-
"address": "${owner}"
|
7
|
-
}
|
4
|
+
return JSON.parse(`{
|
5
|
+
"balance": {
|
6
|
+
"address": "${owner}"
|
7
|
+
}
|
8
8
|
}`);
|
9
9
|
}
|
10
10
|
exports.default = getQueryBalanceByOwner;
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"jobExecutor.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/marginfi/jobExecutor.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,+DAKoC;AACpC,2CAAkE;AAClE,yCAA4C;AAC5C,uCAAyC;AACzC,uCAAuE;AACvE,+CAA8D;AAC9D,iDAAsD;AAItD,MAAM,WAAW,GAAgB,CAAO,KAAY,EAAE,EAAE;IACtD,MAAM,UAAU,GAAG,IAAA,yBAAe,GAAE,CAAC;IAErC,MAAM,YAAY,GAAG,MAAM,IAAA,iCAAwB,EACjD,UAAU,EACV,iBAAU,EACV,2BAAe,EACf,IAAA,sBAAY,GAAE,CACf,CAAC;IAEF,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,YAAY,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAC5D,MAAM,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;QACjC,MAAM,KAAK,CAAC,OAAO,CACjB,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,kCAEjB,IAAI,KACP,sBAAsB,EAAE,IAAA,kCAAwB,EAC9C,IAAI,CAAC,eAAe,CACrB,CAAC,GAAG,CAAC,SAAA,EAAE,EAAI,IAAI,CAAC,YAAY,CAAA,CAAC,EAC9B,0BAA0B,EAAE,IAAA,kCAAwB,EAClD,IAAI,CAAC,mBAAmB,CACzB,CAAC,GAAG,CAAC,SAAA,EAAE,EAAI,IAAI,CAAC,YAAY,CAAA,CAAC,KAEhC;YACE,MAAM,EAAN,kBAAM;YACN,SAAS,EAAE,0BAAS,CAAC,MAAM;SAC5B,CACF,CAAC;QAEF,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,IAAA,0BAAgB,EAAC,IAAI,CAAC,CAAC;QAC5D,MAAM,eAAe,GAAG,IAAA,kCAAwB,EAAC,IAAI,CAAC,mBAAmB,CAAC;aACvE,KAAK,CAAC,IAAA,kCAAwB,EAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;aAC1D,QAAQ,EAAE,CAAC;QAEd,MAAM,cAAc,GAAG,IAAA,kCAAwB,EAAC,IAAI,CAAC,eAAe,CAAC;aAClE,KAAK,CAAC,IAAA,kCAAwB,EAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;aACtD,QAAQ,EAAE,CAAC;QAEd,IAAI,cAAc,IAAI,EAAE,IAAI,eAAe,IAAI,EAAE;YAAE,SAAS;QAE5D,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;QAE1C,MAAM,QAAQ,GACZ,IAAI,CAAC,MAAM,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,eAAe,CAAC;QAE/D,MAAM,IAAI,GAAmB;YAC3B,YAAY;YACZ,WAAW,EAAE;gBACX,GAAG,EAAE,IAAA,yBAAQ,EAAC,YAAY,CAAC;gBAC3B,GAAG,EAAE,YAAY;aAClB;YACD,cAAc;YACd,YAAY,EAAE;gBACZ,GAAG,EAAE,IAAA,yBAAQ,EAAC,UAAU,CAAC;gBACzB,GAAG,EAAE,UAAU;aAChB;YACD,eAAe;YACf,UAAU,EAAV,sBAAU;YACV,QAAQ;SACT,CAAC;QAEF,MAAM,KAAK,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,YAAY,EAAE,EAAE,IAAI,EAAE;YACrE,MAAM,EAAE,sCAAqB;YAC7B,SAAS,EAAE,0BAAS,CAAC,MAAM;SAC5B,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAAA,CAAC;AACF,kBAAe,WAAW,CAAC"}
|