@sonarwatch/portfolio-plugins 0.15.39 → 0.15.41
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 +2864 -2839
- package/README.md +3 -3
- package/package.json +1 -1
- package/src/memoryDriver.d.ts +1 -1
- package/src/overlayDriver.d.ts +1 -1
- package/src/plugins/balancer/helpers/pools.js +21 -21
- package/src/plugins/bonfida/airdropFetcher.d.ts +3 -3
- package/src/plugins/bonfida/airdropFetcher.js +63 -29
- package/src/plugins/bonfida/airdropFetcher.js.map +1 -1
- package/src/plugins/bonfida/constants.d.ts +1 -0
- package/src/plugins/bonfida/constants.js +11 -2
- package/src/plugins/bonfida/constants.js.map +1 -1
- package/src/plugins/bonfida/index.js +3 -3
- package/src/plugins/bonfida/index.js.map +1 -1
- package/src/plugins/debridge/airdropFetcher.js +6 -0
- package/src/plugins/debridge/airdropFetcher.js.map +1 -1
- package/src/plugins/drift/depositsFetcher.js +1 -1
- package/src/plugins/drift/depositsFetcher.js.map +1 -1
- package/src/plugins/drift-market-maker-vault/depositsFetcher.js +18 -5
- package/src/plugins/drift-market-maker-vault/depositsFetcher.js.map +1 -1
- package/src/plugins/drift-market-maker-vault/types.d.ts +1 -0
- package/src/plugins/drift-market-maker-vault/vaultsJob.js +9 -1
- package/src/plugins/drift-market-maker-vault/vaultsJob.js.map +1 -1
- package/src/plugins/exponent/ptPricesJob.js +18 -3
- package/src/plugins/exponent/ptPricesJob.js.map +1 -1
- package/src/plugins/flash/custodiesJob.js +1 -1
- package/src/plugins/flash/custodiesJob.js.map +1 -1
- package/src/plugins/flash/index.js +5 -4
- package/src/plugins/flash/index.js.map +1 -1
- package/src/plugins/flash/perpetualFetcher.js +35 -71
- package/src/plugins/flash/perpetualFetcher.js.map +1 -1
- package/src/plugins/flash/{poolJob.js → poolsJob.js} +1 -1
- package/src/plugins/flash/poolsJob.js.map +1 -0
- package/src/plugins/flash/poolsYieldJob.d.ts +3 -0
- package/src/plugins/flash/poolsYieldJob.js +54 -0
- package/src/plugins/flash/poolsYieldJob.js.map +1 -0
- package/src/plugins/hawksight/positionsFetcher.js +9 -3
- package/src/plugins/hawksight/positionsFetcher.js.map +1 -1
- package/src/plugins/huma/index.js +2 -1
- package/src/plugins/huma/index.js.map +1 -1
- package/src/plugins/huma/pstYieldJob.d.ts +3 -0
- package/src/plugins/huma/pstYieldJob.js +40 -0
- package/src/plugins/huma/pstYieldJob.js.map +1 -0
- package/src/plugins/jito/airdropFetcher.d.ts +2 -3
- package/src/plugins/jito/airdropFetcher.js +42 -47
- package/src/plugins/jito/airdropFetcher.js.map +1 -1
- package/src/plugins/jito/airdropFetcher_old.d.ts +3 -0
- package/src/plugins/jito/airdropFetcher_old.js +66 -0
- package/src/plugins/jito/airdropFetcher_old.js.map +1 -0
- package/src/plugins/jito/constants.d.ts +2 -0
- package/src/plugins/jito/constants.js +10 -1
- package/src/plugins/jito/constants.js.map +1 -1
- package/src/plugins/jito/index.d.ts +1 -0
- package/src/plugins/jito/index.js +7 -3
- package/src/plugins/jito/index.js.map +1 -1
- package/src/plugins/jito/structs.d.ts +1 -1
- package/src/plugins/jito/structs.js +1 -1
- package/src/plugins/jito/structs.js.map +1 -1
- package/src/plugins/jupiter/launchpad/lfgAirdropFetcher.js +7 -2
- package/src/plugins/jupiter/launchpad/lfgAirdropFetcher.js.map +1 -1
- package/src/plugins/magiceden/airdropFetcher.js +46 -19
- package/src/plugins/magiceden/airdropFetcher.js.map +1 -1
- package/src/plugins/magiceden/structs.d.ts +11 -0
- package/src/plugins/magiceden/structs.js +11 -1
- package/src/plugins/magiceden/structs.js.map +1 -1
- package/src/plugins/meteora/vaultsJob.js +1 -0
- package/src/plugins/meteora/vaultsJob.js.map +1 -1
- package/src/plugins/orca/getWhirlpoolPositions.d.ts +1 -1
- package/src/plugins/orca/getWhirlpoolPositions.js +6 -3
- package/src/plugins/orca/getWhirlpoolPositions.js.map +1 -1
- package/src/plugins/ratex/ptPricesJob.js +11 -1
- package/src/plugins/ratex/ptPricesJob.js.map +1 -1
- package/src/plugins/raydium/clmmFetcher.js +3 -3
- package/src/plugins/raydium/clmmFetcher.js.map +1 -1
- package/src/plugins/raydium/helpers.js +16 -7
- package/src/plugins/raydium/helpers.js.map +1 -1
- package/src/plugins/solayer/index.js +2 -1
- package/src/plugins/solayer/index.js.map +1 -1
- package/src/plugins/solayer/poolsJob.js +4 -2
- package/src/plugins/solayer/poolsJob.js.map +1 -1
- package/src/plugins/solayer/poolsYieldJob.d.ts +3 -0
- package/src/plugins/solayer/poolsYieldJob.js +41 -0
- package/src/plugins/solayer/poolsYieldJob.js.map +1 -0
- package/src/plugins/streamflow/airdropFetcher.js +1 -7
- package/src/plugins/streamflow/airdropFetcher.js.map +1 -1
- package/src/plugins/streamflow/helpers.d.ts +1 -0
- package/src/plugins/streamflow/helpers.js +63 -1
- package/src/plugins/streamflow/helpers.js.map +1 -1
- package/src/plugins/sushiswap/helpers.js +24 -24
- package/src/plugins/tensor/season4AirdropFetcher.js +15 -7
- package/src/plugins/tensor/season4AirdropFetcher.js.map +1 -1
- package/src/plugins/tokens/fetchers/solana.js +3 -10
- package/src/plugins/tokens/fetchers/solana.js.map +1 -1
- package/src/plugins/uniswap-v2/helpers.js +22 -22
- package/src/plugins/wormhole/airdropFetcher.js +10 -2
- package/src/plugins/wormhole/airdropFetcher.js.map +1 -1
- package/src/plugins/wormhole/structs.d.ts +36 -1
- package/src/plugins/wormhole/structs.js +40 -1
- package/src/plugins/wormhole/structs.js.map +1 -1
- package/src/plugins/zeta/airdropFetcher.js +14 -14
- package/src/utils/elementbuilder/AssetBuilder.d.ts +2 -1
- package/src/utils/elementbuilder/AssetBuilder.js.map +1 -1
- package/src/utils/elementbuilder/AssetTokenBuilder.d.ts +3 -2
- package/src/utils/elementbuilder/AssetTokenBuilder.js +6 -3
- package/src/utils/elementbuilder/AssetTokenBuilder.js.map +1 -1
- package/src/utils/elementbuilder/ElementBorrowlendBuilder.d.ts +2 -1
- package/src/utils/elementbuilder/ElementBorrowlendBuilder.js +4 -4
- package/src/utils/elementbuilder/ElementBorrowlendBuilder.js.map +1 -1
- package/src/utils/elementbuilder/ElementBuilder.d.ts +2 -1
- package/src/utils/elementbuilder/ElementBuilder.js.map +1 -1
- package/src/utils/elementbuilder/ElementConcentratedLiquidityBuilder.d.ts +2 -1
- package/src/utils/elementbuilder/ElementConcentratedLiquidityBuilder.js +2 -2
- package/src/utils/elementbuilder/ElementConcentratedLiquidityBuilder.js.map +1 -1
- package/src/utils/elementbuilder/ElementLeverageBuilder.d.ts +2 -1
- package/src/utils/elementbuilder/ElementLeverageBuilder.js +2 -2
- package/src/utils/elementbuilder/ElementLeverageBuilder.js.map +1 -1
- package/src/utils/elementbuilder/ElementLiquidityBuilder.d.ts +2 -1
- package/src/utils/elementbuilder/ElementLiquidityBuilder.js +2 -2
- package/src/utils/elementbuilder/ElementLiquidityBuilder.js.map +1 -1
- package/src/utils/elementbuilder/ElementMultipleBuilder.d.ts +2 -1
- package/src/utils/elementbuilder/ElementMultipleBuilder.js +2 -2
- package/src/utils/elementbuilder/ElementMultipleBuilder.js.map +1 -1
- package/src/utils/elementbuilder/ElementRegistry.js +2 -1
- package/src/utils/elementbuilder/ElementRegistry.js.map +1 -1
- package/src/utils/elementbuilder/ElementTradeBuilder.d.ts +2 -1
- package/src/utils/elementbuilder/ElementTradeBuilder.js +3 -3
- package/src/utils/elementbuilder/ElementTradeBuilder.js.map +1 -1
- package/src/utils/elementbuilder/LiquidityBuilder.d.ts +2 -1
- package/src/utils/elementbuilder/LiquidityBuilder.js +3 -3
- package/src/utils/elementbuilder/LiquidityBuilder.js.map +1 -1
- package/src/utils/sei/constants.js +8 -8
- package/src/utils/sei/getQueryBalanceByOwner.js +4 -4
- package/src/utils/solana/getTokenAccountsByOwner.js +1 -3
- package/src/utils/solana/getTokenAccountsByOwner.js.map +1 -1
- package/src/plugins/flash/poolJob.js.map +0 -1
- /package/src/plugins/flash/{poolJob.d.ts → poolsJob.d.ts} +0 -0
@@ -3,7 +3,7 @@
|
|
3
3
|
/// <reference types="jito-ts/node_modules/@solana/web3.js" />
|
4
4
|
import { PublicKey } from '@solana/web3.js';
|
5
5
|
import BigNumber from 'bignumber.js';
|
6
|
-
import { BeetStruct } from '@metaplex-foundation/beet';
|
6
|
+
import { BeetStruct, FixableBeetStruct, DataEnumKeyAsKind, FixableBeet } from '@metaplex-foundation/beet';
|
7
7
|
export type TokenBalance = {
|
8
8
|
buffer: Buffer;
|
9
9
|
init: boolean;
|
@@ -24,3 +24,38 @@ export type StakeAccountMetadata = {
|
|
24
24
|
stake_account_checkpoints_last_index: number;
|
25
25
|
};
|
26
26
|
export declare const stakeAccountMetadataStruct: BeetStruct<StakeAccountMetadata, Partial<StakeAccountMetadata>>;
|
27
|
+
type IdentityRecord = {
|
28
|
+
Discord: {
|
29
|
+
username: number[];
|
30
|
+
};
|
31
|
+
Solana: {
|
32
|
+
pubkey: number[];
|
33
|
+
};
|
34
|
+
Evm: {
|
35
|
+
pubkey: number[];
|
36
|
+
};
|
37
|
+
Sui: {
|
38
|
+
address: number[];
|
39
|
+
};
|
40
|
+
Aptos: {
|
41
|
+
address: number[];
|
42
|
+
};
|
43
|
+
Cosmwasm: {
|
44
|
+
address: number[];
|
45
|
+
};
|
46
|
+
Injective: {
|
47
|
+
address: number[];
|
48
|
+
};
|
49
|
+
Algorand: {
|
50
|
+
pubkey: number[];
|
51
|
+
};
|
52
|
+
};
|
53
|
+
export type Identity = DataEnumKeyAsKind<IdentityRecord>;
|
54
|
+
export declare const identityStruct: FixableBeet<Identity>;
|
55
|
+
export type ClaimInfo = {
|
56
|
+
discriminator: number[];
|
57
|
+
identity: Identity;
|
58
|
+
amount: BigNumber;
|
59
|
+
};
|
60
|
+
export declare const claimInfoStruct: FixableBeetStruct<ClaimInfo, Partial<ClaimInfo>>;
|
61
|
+
export {};
|
@@ -1,6 +1,6 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.stakeAccountMetadataStruct = exports.tokenBalanceStruct = void 0;
|
3
|
+
exports.claimInfoStruct = exports.identityStruct = exports.stakeAccountMetadataStruct = exports.tokenBalanceStruct = void 0;
|
4
4
|
const beet_1 = require("@metaplex-foundation/beet");
|
5
5
|
const beet_solana_1 = require("@metaplex-foundation/beet-solana");
|
6
6
|
const solana_1 = require("../../utils/solana");
|
@@ -22,4 +22,43 @@ exports.stakeAccountMetadataStruct = new beet_1.BeetStruct([
|
|
22
22
|
['delegate', beet_solana_1.publicKey],
|
23
23
|
['stake_account_checkpoints_last_index', beet_1.u16],
|
24
24
|
], (args) => args);
|
25
|
+
exports.identityStruct = (0, beet_1.dataEnum)([
|
26
|
+
[
|
27
|
+
'Discord',
|
28
|
+
new beet_1.FixableBeetArgsStruct([['username', (0, beet_1.uniformFixedSizeArray)(beet_1.u8, 20)]], 'IdentityRecord["Discord"]'),
|
29
|
+
],
|
30
|
+
[
|
31
|
+
'Solana',
|
32
|
+
new beet_1.FixableBeetArgsStruct([['pubkey', (0, beet_1.uniformFixedSizeArray)(beet_1.u8, 32)]], 'IdentityRecord["Solana"]'),
|
33
|
+
],
|
34
|
+
[
|
35
|
+
'Evm',
|
36
|
+
new beet_1.FixableBeetArgsStruct([['pubkey', (0, beet_1.uniformFixedSizeArray)(beet_1.u8, 20)]], 'IdentityRecord["Evm"]'),
|
37
|
+
],
|
38
|
+
[
|
39
|
+
'Sui',
|
40
|
+
new beet_1.FixableBeetArgsStruct([['address', (0, beet_1.uniformFixedSizeArray)(beet_1.u8, 32)]], 'IdentityRecord["Sui"]'),
|
41
|
+
],
|
42
|
+
[
|
43
|
+
'Aptos',
|
44
|
+
new beet_1.FixableBeetArgsStruct([['address', (0, beet_1.uniformFixedSizeArray)(beet_1.u8, 32)]], 'IdentityRecord["Aptos"]'),
|
45
|
+
],
|
46
|
+
[
|
47
|
+
'Cosmwasm',
|
48
|
+
new beet_1.FixableBeetArgsStruct([['address', (0, beet_1.uniformFixedSizeArray)(beet_1.u8, 20)]], 'IdentityRecord["Cosmwasm"]'),
|
49
|
+
],
|
50
|
+
[
|
51
|
+
'Injective',
|
52
|
+
new beet_1.FixableBeetArgsStruct([['address', (0, beet_1.uniformFixedSizeArray)(beet_1.u8, 20)]], 'IdentityRecord["Injective"]'),
|
53
|
+
],
|
54
|
+
[
|
55
|
+
'Algorand',
|
56
|
+
new beet_1.FixableBeetArgsStruct([['pubkey', (0, beet_1.uniformFixedSizeArray)(beet_1.u8, 32)]], 'IdentityRecord["Algorand"]'),
|
57
|
+
],
|
58
|
+
]);
|
59
|
+
exports.claimInfoStruct = new beet_1.FixableBeetStruct([
|
60
|
+
['discriminator', (0, beet_1.uniformFixedSizeArray)(beet_1.u8, 8)],
|
61
|
+
['identity', exports.identityStruct],
|
62
|
+
['amount', solana_1.u64],
|
63
|
+
], (args) => args);
|
25
64
|
//# sourceMappingURL=structs.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"structs.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/wormhole/structs.ts"],"names":[],"mappings":";;;AAEA,
|
1
|
+
{"version":3,"file":"structs.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/wormhole/structs.ts"],"names":[],"mappings":"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"}
|
@@ -41,20 +41,20 @@ const getMultipleAccountsInfoSafe_1 = require("../../utils/solana/getMultipleAcc
|
|
41
41
|
const helpers_1 = require("./helpers");
|
42
42
|
const AirdropFetcher_1 = require("../../AirdropFetcher");
|
43
43
|
const getClaimTransactions_1 = require("../../utils/solana/jupiter/getClaimTransactions");
|
44
|
-
const query = (0, graphql_request_1.gql) `
|
45
|
-
query GetAirdropFinalFrontend($authority: String!) {
|
46
|
-
getAirdropFinalFrontend(authority: $authority) {
|
47
|
-
authority
|
48
|
-
community_allocation
|
49
|
-
eligibility
|
50
|
-
main_allocation
|
51
|
-
og_allocation
|
52
|
-
s1_allocation
|
53
|
-
s2_allocation
|
54
|
-
total_allocation
|
55
|
-
__typename
|
56
|
-
}
|
57
|
-
}
|
44
|
+
const query = (0, graphql_request_1.gql) `
|
45
|
+
query GetAirdropFinalFrontend($authority: String!) {
|
46
|
+
getAirdropFinalFrontend(authority: $authority) {
|
47
|
+
authority
|
48
|
+
community_allocation
|
49
|
+
eligibility
|
50
|
+
main_allocation
|
51
|
+
og_allocation
|
52
|
+
s1_allocation
|
53
|
+
s2_allocation
|
54
|
+
total_allocation
|
55
|
+
__typename
|
56
|
+
}
|
57
|
+
}
|
58
58
|
`;
|
59
59
|
const executor = (owner) => __awaiter(void 0, void 0, void 0, function* () {
|
60
60
|
const res = yield (0, graphql_request_1.default)(constants_1.graphqlApi, query, {
|
@@ -1,5 +1,6 @@
|
|
1
1
|
import { NetworkIdType, PortfolioAsset, TokenPriceMap } from '@sonarwatch/portfolio-core';
|
2
|
+
import { TokenYieldMap } from '../../TokenYieldMap';
|
2
3
|
export declare abstract class AssetBuilder {
|
3
4
|
abstract tokenAddresses(): string[];
|
4
|
-
abstract get(networkId: NetworkIdType, tokenPrices: TokenPriceMap): PortfolioAsset | null;
|
5
|
+
abstract get(networkId: NetworkIdType, tokenPrices: TokenPriceMap, tokenYields: TokenYieldMap): PortfolioAsset | null;
|
5
6
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"AssetBuilder.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/utils/elementbuilder/AssetBuilder.ts"],"names":[],"mappings":";;;
|
1
|
+
{"version":3,"file":"AssetBuilder.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/utils/elementbuilder/AssetBuilder.ts"],"names":[],"mappings":";;;AAOA,MAAsB,YAAY;CAOjC;AAPD,oCAOC"}
|
@@ -5,6 +5,7 @@ import BigNumber from 'bignumber.js';
|
|
5
5
|
import { PublicKey } from '@solana/web3.js';
|
6
6
|
import { AssetBuilder } from './AssetBuilder';
|
7
7
|
import { PortfolioAssetTokenParams } from './Params';
|
8
|
+
import { TokenYieldMap } from '../../TokenYieldMap';
|
8
9
|
export declare class AssetTokenBuilder extends AssetBuilder {
|
9
10
|
address: string;
|
10
11
|
amount: number | BigNumber | string;
|
@@ -16,6 +17,6 @@ export declare class AssetTokenBuilder extends AssetBuilder {
|
|
16
17
|
tokenYield?: TokenYield;
|
17
18
|
constructor(params: PortfolioAssetTokenParams);
|
18
19
|
tokenAddresses(): string[];
|
19
|
-
getUnderlyings(networkId: NetworkIdType, tokenPrices: TokenPriceMap): PortfolioAsset[];
|
20
|
-
get(networkId: NetworkIdType, tokenPrices: TokenPriceMap): PortfolioAsset | null;
|
20
|
+
getUnderlyings(networkId: NetworkIdType, tokenPrices: TokenPriceMap, tokenYields: TokenYieldMap): PortfolioAsset[];
|
21
|
+
get(networkId: NetworkIdType, tokenPrices: TokenPriceMap, tokenYields: TokenYieldMap): PortfolioAsset | null;
|
21
22
|
}
|
@@ -23,7 +23,9 @@ class AssetTokenBuilder extends AssetBuilder_1.AssetBuilder {
|
|
23
23
|
tokenAddresses() {
|
24
24
|
return [this.address];
|
25
25
|
}
|
26
|
-
getUnderlyings(networkId, tokenPrices
|
26
|
+
getUnderlyings(networkId, tokenPrices,
|
27
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
28
|
+
tokenYields) {
|
27
29
|
const tokenPrice = tokenPrices.get(this.address);
|
28
30
|
if (!tokenPrice)
|
29
31
|
return [];
|
@@ -34,7 +36,7 @@ class AssetTokenBuilder extends AssetBuilder_1.AssetBuilder {
|
|
34
36
|
amount = amount.dividedBy(Math.pow(10, tokenPrice.decimals));
|
35
37
|
return (0, tokenPriceToAssetTokens_1.default)(tokenPrice.address, amount.toNumber(), networkId, tokenPrice, undefined, this.attributes);
|
36
38
|
}
|
37
|
-
get(networkId, tokenPrices) {
|
39
|
+
get(networkId, tokenPrices, tokenYields) {
|
38
40
|
var _a;
|
39
41
|
let amount = new bignumber_js_1.default(this.amount);
|
40
42
|
if (amount.isZero())
|
@@ -44,7 +46,8 @@ class AssetTokenBuilder extends AssetBuilder_1.AssetBuilder {
|
|
44
46
|
return null;
|
45
47
|
if (!this.alreadyShifted && tokenPrice)
|
46
48
|
amount = amount.dividedBy(Math.pow(10, tokenPrice.decimals));
|
47
|
-
|
49
|
+
const tokenYield = this.tokenYield || tokenYields.get(this.address);
|
50
|
+
return Object.assign(Object.assign({}, (0, tokenPriceToAssetToken_1.default)(this.address, amount.toNumber(), networkId, tokenPrice, undefined, this.attributes, this.link, tokenYield)), { sourceRefs: this.sourceRefs, ref: (_a = this.ref) === null || _a === void 0 ? void 0 : _a.toString() });
|
48
51
|
}
|
49
52
|
}
|
50
53
|
exports.AssetTokenBuilder = AssetTokenBuilder;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"AssetTokenBuilder.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/utils/elementbuilder/AssetTokenBuilder.ts"],"names":[],"mappings":";;;;;;AAQA,gEAAqC;AAErC,4FAAoE;AACpE,8FAAsE;AACtE,iDAA8C;
|
1
|
+
{"version":3,"file":"AssetTokenBuilder.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/utils/elementbuilder/AssetTokenBuilder.ts"],"names":[],"mappings":";;;;;;AAQA,gEAAqC;AAErC,4FAAoE;AACpE,8FAAsE;AACtE,iDAA8C;AAI9C,MAAa,iBAAkB,SAAQ,2BAAY;IAUjD,YAAY,MAAiC;QAC3C,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QACzC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC5B,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC;QAC1C,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,IAAI,KAAK,CAAC;QACrD,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;QACtB,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QACpC,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;IACtC,CAAC;IAED,cAAc;QACZ,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACxB,CAAC;IAED,cAAc,CACZ,SAAwB,EACxB,WAA0B;IAC1B,6DAA6D;IAC7D,WAA0B;QAE1B,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACjD,IAAI,CAAC,UAAU;YAAE,OAAO,EAAE,CAAC;QAE3B,IAAI,MAAM,GAAG,IAAI,sBAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAExC,IAAI,MAAM,CAAC,MAAM,EAAE,IAAI,UAAU,CAAC,WAAW;YAAE,OAAO,EAAE,CAAC;QAEzD,IAAI,CAAC,IAAI,CAAC,cAAc;YACtB,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,SAAA,EAAE,EAAI,UAAU,CAAC,QAAQ,CAAA,CAAC,CAAC;QAEvD,OAAO,IAAA,iCAAuB,EAC5B,UAAU,CAAC,OAAO,EAClB,MAAM,CAAC,QAAQ,EAAE,EACjB,SAAS,EACT,UAAU,EACV,SAAS,EACT,IAAI,CAAC,UAAU,CAChB,CAAC;IACJ,CAAC;IAED,GAAG,CACD,SAAwB,EACxB,WAA0B,EAC1B,WAA0B;;QAE1B,IAAI,MAAM,GAAG,IAAI,sBAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACxC,IAAI,MAAM,CAAC,MAAM,EAAE;YAAE,OAAO,IAAI,CAAC;QAEjC,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACjD,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,cAAc;YAAE,OAAO,IAAI,CAAC;QAErD,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,UAAU;YACpC,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,SAAA,EAAE,EAAI,UAAU,CAAC,QAAQ,CAAA,CAAC,CAAC;QAEvD,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEpE,uCACK,IAAA,gCAAsB,EACvB,IAAI,CAAC,OAAO,EACZ,MAAM,CAAC,QAAQ,EAAE,EACjB,SAAS,EACT,UAAU,EACV,SAAS,EACT,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,IAAI,EACT,UAAU,CACX,KACD,UAAU,EAAE,IAAI,CAAC,UAAU,EAC3B,GAAG,EAAE,MAAA,IAAI,CAAC,GAAG,0CAAE,QAAQ,EAAE,IACzB;IACJ,CAAC;CACF;AAnFD,8CAmFC"}
|
@@ -4,6 +4,7 @@ import { ElementBuilder } from './ElementBuilder';
|
|
4
4
|
import { Params, PortfolioAssetCollectibleParams, PortfolioAssetGenericParams, PortfolioAssetTokenParams } from './Params';
|
5
5
|
import { AssetBuilder } from './AssetBuilder';
|
6
6
|
import { AssetGenericBuilder } from './AssetGenericBuilder';
|
7
|
+
import { TokenYieldMap } from '../../TokenYieldMap';
|
7
8
|
export declare class ElementBorrowlendBuilder extends ElementBuilder {
|
8
9
|
borrowedAssets: AssetBuilder[];
|
9
10
|
suppliedAssets: AssetBuilder[];
|
@@ -33,5 +34,5 @@ export declare class ElementBorrowlendBuilder extends ElementBuilder {
|
|
33
34
|
addBorrowedWeight(borrowedWeight: number): void;
|
34
35
|
setFixedTerms(isLender: boolean, expireOn?: number | BigNumber): void;
|
35
36
|
tokenAddresses(): string[];
|
36
|
-
get(networkId: NetworkIdType, platformId: string, tokenPrices: TokenPriceMap): PortfolioElementBorrowLend | null;
|
37
|
+
get(networkId: NetworkIdType, platformId: string, tokenPrices: TokenPriceMap, tokenYields: TokenYieldMap): PortfolioElementBorrowLend | null;
|
37
38
|
}
|
@@ -75,11 +75,11 @@ class ElementBorrowlendBuilder extends ElementBuilder_1.ElementBuilder {
|
|
75
75
|
...this.unsettledAssets.map((a) => a.tokenAddresses()),
|
76
76
|
].flat();
|
77
77
|
}
|
78
|
-
get(networkId, platformId, tokenPrices) {
|
78
|
+
get(networkId, platformId, tokenPrices, tokenYields) {
|
79
79
|
var _a, _b;
|
80
80
|
const suppliedAssets = this.suppliedAssets
|
81
81
|
.map((sAB, i) => {
|
82
|
-
const sA = sAB.get(networkId, tokenPrices);
|
82
|
+
const sA = sAB.get(networkId, tokenPrices, tokenYields);
|
83
83
|
if (sA === null) {
|
84
84
|
this.suppliedYields.splice(i, 1);
|
85
85
|
this.suppliedLtvs.splice(i, 1);
|
@@ -89,7 +89,7 @@ class ElementBorrowlendBuilder extends ElementBuilder_1.ElementBuilder {
|
|
89
89
|
.filter((a) => a !== null);
|
90
90
|
const borrowedAssets = this.borrowedAssets
|
91
91
|
.map((bAB, i) => {
|
92
|
-
const bA = bAB.get(networkId, tokenPrices);
|
92
|
+
const bA = bAB.get(networkId, tokenPrices, tokenYields);
|
93
93
|
if (bA === null) {
|
94
94
|
this.borrowedYields.splice(i, 1);
|
95
95
|
this.borrowedWeights.splice(i, 1);
|
@@ -98,7 +98,7 @@ class ElementBorrowlendBuilder extends ElementBuilder_1.ElementBuilder {
|
|
98
98
|
})
|
99
99
|
.filter((a) => a !== null && a.value && a.value > 0.002);
|
100
100
|
const rewardAssets = this.rewardAssets
|
101
|
-
.map((a) => a.get(networkId, tokenPrices))
|
101
|
+
.map((a) => a.get(networkId, tokenPrices, tokenYields))
|
102
102
|
.filter((a) => a !== null);
|
103
103
|
const unsettledAssets = this.unsettledAssets
|
104
104
|
.map((a) => a.get(networkId, tokenPrices))
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ElementBorrowlendBuilder.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/utils/elementbuilder/ElementBorrowlendBuilder.ts"],"names":[],"mappings":";;;;;;AAAA,+DAUoC;AACpC,gEAAqC;AACrC,qDAAkD;AAQlD,2DAAwD;AACxD,+DAA4D;AAC5D,uEAAoE;
|
1
|
+
{"version":3,"file":"ElementBorrowlendBuilder.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/utils/elementbuilder/ElementBorrowlendBuilder.ts"],"names":[],"mappings":"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"}
|
@@ -3,6 +3,7 @@
|
|
3
3
|
import { NetworkIdType, PortfolioElement, PortfolioElementLabel, PortfolioElementTypeType, SourceRef, TokenPriceMap } from '@sonarwatch/portfolio-core';
|
4
4
|
import { PublicKey } from '@solana/web3.js';
|
5
5
|
import { Params } from './Params';
|
6
|
+
import { TokenYieldMap } from '../../TokenYieldMap';
|
6
7
|
export declare abstract class ElementBuilder {
|
7
8
|
readonly type: PortfolioElementTypeType;
|
8
9
|
readonly label: PortfolioElementLabel;
|
@@ -16,5 +17,5 @@ export declare abstract class ElementBuilder {
|
|
16
17
|
addTag(tag: string): void;
|
17
18
|
setName(name: string): void;
|
18
19
|
abstract tokenAddresses(): string[];
|
19
|
-
abstract get(networkId: NetworkIdType, platformId: string, tokenPrices: TokenPriceMap): PortfolioElement | null;
|
20
|
+
abstract get(networkId: NetworkIdType, platformId: string, tokenPrices: TokenPriceMap, tokenYields: TokenYieldMap): PortfolioElement | null;
|
20
21
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ElementBuilder.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/utils/elementbuilder/ElementBuilder.ts"],"names":[],"mappings":";;;
|
1
|
+
{"version":3,"file":"ElementBuilder.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/utils/elementbuilder/ElementBuilder.ts"],"names":[],"mappings":";;;AAYA,MAAsB,cAAc;IAUlC,YAAsB,MAAc;QAClC,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QACpC,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QACpC,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;QACtB,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;IAC1B,CAAC;IAED,MAAM,CAAC,GAAW;QAChB,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;QAC/B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;IAED,OAAO,CAAC,IAAY;QAClB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CAUF;AAtCD,wCAsCC"}
|
@@ -2,10 +2,11 @@ import { NetworkIdType, PortfolioElementLiquidity, TokenPriceMap } from '@sonarw
|
|
2
2
|
import { ElementLiquidityBuilder } from './ElementLiquidityBuilder';
|
3
3
|
import { LiquidityBuilder } from './LiquidityBuilder';
|
4
4
|
import { ConcentratedLiquidityParams, LiquidityParams } from './Params';
|
5
|
+
import { TokenYieldMap } from '../../TokenYieldMap';
|
5
6
|
export declare class ElementConcentratedLiquidityBuilder extends ElementLiquidityBuilder {
|
6
7
|
concentratedLiquidityParams?: ConcentratedLiquidityParams;
|
7
8
|
addLiquidity(params?: LiquidityParams): LiquidityBuilder;
|
8
9
|
setLiquidity(params: ConcentratedLiquidityParams): LiquidityBuilder;
|
9
10
|
tokenAddresses(): string[];
|
10
|
-
get(networkId: NetworkIdType, platformId: string, tokenPrices: TokenPriceMap): PortfolioElementLiquidity | null;
|
11
|
+
get(networkId: NetworkIdType, platformId: string, tokenPrices: TokenPriceMap, tokenYields: TokenYieldMap): PortfolioElementLiquidity | null;
|
11
12
|
}
|
@@ -36,7 +36,7 @@ class ElementConcentratedLiquidityBuilder extends ElementLiquidityBuilder_1.Elem
|
|
36
36
|
mints.push(this.concentratedLiquidityParams.addressB.toString());
|
37
37
|
return mints;
|
38
38
|
}
|
39
|
-
get(networkId, platformId, tokenPrices) {
|
39
|
+
get(networkId, platformId, tokenPrices, tokenYields) {
|
40
40
|
if (!this.liquidities[0] || !this.concentratedLiquidityParams)
|
41
41
|
return null;
|
42
42
|
const { tokenAmountA, tokenAmountB } = (0, tokenAmountFromLiquidity_1.getTokenAmountsFromLiquidity)(new bignumber_js_1.default(this.concentratedLiquidityParams.liquidity), Number(this.concentratedLiquidityParams.tickCurrentIndex.toString()), Number(this.concentratedLiquidityParams.tickLowerIndex.toString()), Number(this.concentratedLiquidityParams.tickUpperIndex.toString()), this.concentratedLiquidityParams.roundUp || false);
|
@@ -69,7 +69,7 @@ class ElementConcentratedLiquidityBuilder extends ElementLiquidityBuilder_1.Elem
|
|
69
69
|
}
|
70
70
|
if (tokenAmountA.isZero() || tokenAmountB.isZero())
|
71
71
|
this.addTag('Out Of Range');
|
72
|
-
return super.get(networkId, platformId, tokenPrices);
|
72
|
+
return super.get(networkId, platformId, tokenPrices, tokenYields);
|
73
73
|
}
|
74
74
|
}
|
75
75
|
exports.ElementConcentratedLiquidityBuilder = ElementConcentratedLiquidityBuilder;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ElementConcentratedLiquidityBuilder.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/utils/elementbuilder/ElementConcentratedLiquidityBuilder.ts"],"names":[],"mappings":";;;;;;AAAA,gEAAqC;AACrC,+DAKoC;AACpC,uEAAoE;AACpE,yDAAsD;AACtD,+EAAgF;AAChF,yFAAsF;AACtF,uCAAoC;
|
1
|
+
{"version":3,"file":"ElementConcentratedLiquidityBuilder.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/utils/elementbuilder/ElementConcentratedLiquidityBuilder.ts"],"names":[],"mappings":"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"}
|
@@ -3,6 +3,7 @@ import { ElementBuilder } from './ElementBuilder';
|
|
3
3
|
import { CrossLevPositionParams, IsoLevPositionParams, Params, PortfolioAssetTokenParams } from './Params';
|
4
4
|
import { CrossLevPositionBuilder, IsoLevPositionBuilder } from './LevPositionBuilder';
|
5
5
|
import { AssetTokenBuilder } from './AssetTokenBuilder';
|
6
|
+
import { TokenYieldMap } from '../../TokenYieldMap';
|
6
7
|
export declare class ElementLeverageBuilder extends ElementBuilder {
|
7
8
|
isoPositions: IsoLevPositionBuilder[];
|
8
9
|
crossPositions: CrossLevPositionBuilder[];
|
@@ -12,5 +13,5 @@ export declare class ElementLeverageBuilder extends ElementBuilder {
|
|
12
13
|
addIsoPosition(params: IsoLevPositionParams): IsoLevPositionBuilder;
|
13
14
|
addCrossPosition(params: CrossLevPositionParams): CrossLevPositionBuilder;
|
14
15
|
addCrossCollateral(params: PortfolioAssetTokenParams): void;
|
15
|
-
get(networkId: NetworkIdType, platformId: string, tokenPrices: TokenPriceMap): PortfolioElementLeverage | null;
|
16
|
+
get(networkId: NetworkIdType, platformId: string, tokenPrices: TokenPriceMap, tokenYields: TokenYieldMap): PortfolioElementLeverage | null;
|
16
17
|
}
|
@@ -40,7 +40,7 @@ class ElementLeverageBuilder extends ElementBuilder_1.ElementBuilder {
|
|
40
40
|
addCrossCollateral(params) {
|
41
41
|
this.crossCollateralAssets.push(new AssetTokenBuilder_1.AssetTokenBuilder(params));
|
42
42
|
}
|
43
|
-
get(networkId, platformId, tokenPrices) {
|
43
|
+
get(networkId, platformId, tokenPrices, tokenYields) {
|
44
44
|
var _a;
|
45
45
|
if (this.isoPositions.length === 0 &&
|
46
46
|
this.crossPositions.length === 0 &&
|
@@ -50,7 +50,7 @@ class ElementLeverageBuilder extends ElementBuilder_1.ElementBuilder {
|
|
50
50
|
const isoValue = (0, portfolio_core_1.getUsdValueSum)([...isoPositions.map((a) => a.value)]);
|
51
51
|
const crossPositions = this.crossPositions.map((p) => p.get(networkId));
|
52
52
|
const crossCollateralAssets = this.crossCollateralAssets
|
53
|
-
.map((p) => p.get(networkId, tokenPrices))
|
53
|
+
.map((p) => p.get(networkId, tokenPrices, tokenYields))
|
54
54
|
.filter((a) => a !== null);
|
55
55
|
const crossValue = (0, portfolio_core_1.getUsdValueSum)([
|
56
56
|
...crossCollateralAssets.map((a) => a.value),
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ElementLeverageBuilder.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/utils/elementbuilder/ElementLeverageBuilder.ts"],"names":[],"mappings":";;;AAAA,+DASoC;AACpC,qDAAkD;AAOlD,6DAG8B;AAC9B,2DAAwD;
|
1
|
+
{"version":3,"file":"ElementLeverageBuilder.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/utils/elementbuilder/ElementLeverageBuilder.ts"],"names":[],"mappings":"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"}
|
@@ -2,10 +2,11 @@ import { NetworkIdType, PortfolioElementLiquidity, TokenPriceMap } from '@sonarw
|
|
2
2
|
import { ElementBuilder } from './ElementBuilder';
|
3
3
|
import { LiquidityParams, Params } from './Params';
|
4
4
|
import { LiquidityBuilder } from './LiquidityBuilder';
|
5
|
+
import { TokenYieldMap } from '../../TokenYieldMap';
|
5
6
|
export declare class ElementLiquidityBuilder extends ElementBuilder {
|
6
7
|
liquidities: LiquidityBuilder[];
|
7
8
|
constructor(params: Params);
|
8
9
|
addLiquidity(params?: LiquidityParams): LiquidityBuilder;
|
9
10
|
tokenAddresses(): string[];
|
10
|
-
get(networkId: NetworkIdType, platformId: string, tokenPrices: TokenPriceMap): PortfolioElementLiquidity | null;
|
11
|
+
get(networkId: NetworkIdType, platformId: string, tokenPrices: TokenPriceMap, tokenYields: TokenYieldMap): PortfolioElementLiquidity | null;
|
11
12
|
}
|
@@ -17,9 +17,9 @@ class ElementLiquidityBuilder extends ElementBuilder_1.ElementBuilder {
|
|
17
17
|
tokenAddresses() {
|
18
18
|
return this.liquidities.map((liquidity) => liquidity.mints()).flat();
|
19
19
|
}
|
20
|
-
get(networkId, platformId, tokenPrices) {
|
20
|
+
get(networkId, platformId, tokenPrices, tokenYields) {
|
21
21
|
const liquidities = this.liquidities
|
22
|
-
.map((l) => l.get(networkId, tokenPrices))
|
22
|
+
.map((l) => l.get(networkId, tokenPrices, tokenYields))
|
23
23
|
.filter((a) => a !== null);
|
24
24
|
if (liquidities.length === 0)
|
25
25
|
return null;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ElementLiquidityBuilder.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/utils/elementbuilder/ElementLiquidityBuilder.ts"],"names":[],"mappings":";;;AAAA,+DAOoC;AACpC,qDAAkD;AAElD,yDAAsD;
|
1
|
+
{"version":3,"file":"ElementLiquidityBuilder.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/utils/elementbuilder/ElementLiquidityBuilder.ts"],"names":[],"mappings":";;;AAAA,+DAOoC;AACpC,qDAAkD;AAElD,yDAAsD;AAGtD,MAAa,uBAAwB,SAAQ,+BAAc;IAGzD,YAAY,MAAc;QACxB,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;IACxB,CAAC;IAED,YAAY,CAAC,MAAwB;QACnC,MAAM,gBAAgB,GAAG,IAAI,mCAAgB,CAAC,MAAM,CAAC,CAAC;QACtD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACxC,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAED,cAAc;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACvE,CAAC;IAEQ,GAAG,CACV,SAAwB,EACxB,UAAkB,EAClB,WAA0B,EAC1B,WAA0B;QAE1B,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW;aACjC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;aACtD,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAyB,CAAC;QAErD,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAE1C,OAAO;YACL,IAAI,EAAE,qCAAoB,CAAC,SAAS;YACpC,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,SAAS;YACT,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,UAAU;YACzC,IAAI,EAAE;gBACJ,WAAW;aACZ;YACD,KAAK,EAAE,IAAA,+BAAc,EAAC,WAAW,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC9D,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CAAC;IACJ,CAAC;CACF;AA3CD,0DA2CC"}
|
@@ -2,11 +2,12 @@ import { NetworkIdType, PortfolioElementMultiple, TokenPriceMap } from '@sonarwa
|
|
2
2
|
import { ElementBuilder } from './ElementBuilder';
|
3
3
|
import { Params, PortfolioAssetGenericParams, PortfolioAssetTokenParams } from './Params';
|
4
4
|
import { AssetBuilder } from './AssetBuilder';
|
5
|
+
import { TokenYieldMap } from '../../TokenYieldMap';
|
5
6
|
export declare class ElementMultipleBuilder extends ElementBuilder {
|
6
7
|
assets: AssetBuilder[];
|
7
8
|
constructor(params: Params);
|
8
9
|
addAsset(params: PortfolioAssetTokenParams): void;
|
9
10
|
addGenericAsset(params: PortfolioAssetGenericParams): void;
|
10
11
|
tokenAddresses(): string[];
|
11
|
-
get(networkId: NetworkIdType, platformId: string, tokenPrices: TokenPriceMap): PortfolioElementMultiple | null;
|
12
|
+
get(networkId: NetworkIdType, platformId: string, tokenPrices: TokenPriceMap, tokenYields: TokenYieldMap): PortfolioElementMultiple | null;
|
12
13
|
}
|
@@ -19,10 +19,10 @@ class ElementMultipleBuilder extends ElementBuilder_1.ElementBuilder {
|
|
19
19
|
tokenAddresses() {
|
20
20
|
return [...this.assets.map((a) => a.tokenAddresses())].flat();
|
21
21
|
}
|
22
|
-
get(networkId, platformId, tokenPrices) {
|
22
|
+
get(networkId, platformId, tokenPrices, tokenYields) {
|
23
23
|
var _a;
|
24
24
|
const assets = this.assets
|
25
|
-
.map((a) => a.get(networkId, tokenPrices))
|
25
|
+
.map((a) => a.get(networkId, tokenPrices, tokenYields))
|
26
26
|
.filter((a) => a !== null);
|
27
27
|
if (assets.length === 0)
|
28
28
|
return null;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ElementMultipleBuilder.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/utils/elementbuilder/ElementMultipleBuilder.ts"],"names":[],"mappings":";;;AAAA,+DAOoC;AACpC,qDAAkD;AAClD,2DAAwD;AAOxD,+DAA4D;
|
1
|
+
{"version":3,"file":"ElementMultipleBuilder.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/utils/elementbuilder/ElementMultipleBuilder.ts"],"names":[],"mappings":";;;AAAA,+DAOoC;AACpC,qDAAkD;AAClD,2DAAwD;AAOxD,+DAA4D;AAG5D,MAAa,sBAAuB,SAAQ,+BAAc;IAGxD,YAAY,MAAc;QACxB,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;IACnB,CAAC;IAED,QAAQ,CAAC,MAAiC;QACxC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,qCAAiB,CAAC,MAAM,CAAC,CAAC,CAAC;IAClD,CAAC;IAED,eAAe,CAAC,MAAmC;QACjD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,yCAAmB,CAAC,MAAM,CAAC,CAAC,CAAC;IACpD,CAAC;IAED,cAAc;QACZ,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAChE,CAAC;IAED,GAAG,CACD,SAAwB,EACxB,UAAkB,EAClB,WAA0B,EAC1B,WAA0B;;QAE1B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM;aACvB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;aACtD,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAqB,CAAC;QAEjD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAErC,OAAO;YACL,IAAI,EAAE,qCAAoB,CAAC,QAAQ;YACnC,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,SAAS;YACT,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,UAAU;YACzC,IAAI,EAAE;gBACJ,MAAM;gBACN,GAAG,EAAE,MAAA,IAAI,CAAC,GAAG,0CAAE,QAAQ,EAAE;gBACzB,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,IAAI,EAAE,IAAI,CAAC,IAAI;aAChB;YACD,KAAK,EAAE,IAAA,+BAAc,EAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACzD,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CAAC;IACJ,CAAC;CACF;AAhDD,wDAgDC"}
|
@@ -57,8 +57,9 @@ class ElementRegistry {
|
|
57
57
|
return __awaiter(this, void 0, void 0, function* () {
|
58
58
|
const mints = this.elements.map((e) => e.tokenAddresses()).flat();
|
59
59
|
const tokenPrices = yield cache.getTokenPricesAsMap(mints, this.networkId);
|
60
|
+
const tokenYields = yield cache.getTokenYieldsAsMap(mints, this.networkId);
|
60
61
|
return this.elements
|
61
|
-
.map((e) => e.get(this.networkId, this.platformId, tokenPrices))
|
62
|
+
.map((e) => e.get(this.networkId, this.platformId, tokenPrices, tokenYields))
|
62
63
|
.filter((e) => {
|
63
64
|
if (e &&
|
64
65
|
e.type === portfolio_core_1.PortfolioElementType.borrowlend &&
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ElementRegistry.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/utils/elementbuilder/ElementRegistry.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+DAKoC;AAIpC,qEAAkE;AAClE,uEAAoE;AACpE,yEAAsE;AACtE,qEAAkE;AAClE,+FAA4F;AAC5F,+DAA4D;AAE5D,MAAa,eAAe;IAK1B,YAAY,SAAwB,EAAE,UAAkB;QACtD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;IACrB,CAAC;IAED,kBAAkB,CAAC,MAA4B;QAC7C,MAAM,cAAc,GAAG,IAAI,+CAAsB,iCAC5C,MAAM,KACT,IAAI,EAAE,qCAAoB,CAAC,QAAQ,IACnC,CAAC;QACH,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACnC,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,mBAAmB,CAAC,MAA4B;QAC9C,MAAM,cAAc,GAAG,IAAI,iDAAuB,iCAC7C,MAAM,KACT,IAAI,EAAE,qCAAoB,CAAC,SAAS,IACpC,CAAC;QACH,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACnC,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,+BAA+B,CAC7B,aAEC;QAED,MAAM,cAAc,GAAG,IAAI,yEAAmC,iCACzD,aAAa,KAChB,IAAI,EAAE,qCAAoB,CAAC,SAAS,EACpC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,IAAI,KAAI,EAAE,CAAC,EAAE,cAAc,CAAC,EACtD,KAAK,EAAE,CAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,KAAK,KAAI,eAAe,IAC9C,CAAC;QACH,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACnC,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,oBAAoB,CAAC,MAA4B;QAC/C,MAAM,cAAc,GAAG,IAAI,mDAAwB,iCAC9C,MAAM,KACT,IAAI,EAAE,qCAAoB,CAAC,UAAU,IACrC,CAAC;QACH,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACnC,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,kBAAkB,CAAC,MAA4B;QAC7C,MAAM,cAAc,GAAG,IAAI,+CAAsB,iCAC5C,MAAM,KACT,IAAI,EAAE,qCAAoB,CAAC,QAAQ,IACnC,CAAC;QACH,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACnC,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,eAAe,CAAC,MAA4B;QAC1C,MAAM,cAAc,GAAG,IAAI,yCAAmB,iCACzC,MAAM,KACT,IAAI,EAAE,qCAAoB,CAAC,KAAK,IAChC,CAAC;QACH,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACnC,OAAO,cAAc,CAAC;IACxB,CAAC;IAEK,WAAW,CAAC,KAAY;;YAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YAClE,MAAM,WAAW,GAAG,MAAM,KAAK,CAAC,mBAAmB,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YAE3E,OAAO,IAAI,CAAC,QAAQ;iBACjB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,
|
1
|
+
{"version":3,"file":"ElementRegistry.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/utils/elementbuilder/ElementRegistry.ts"],"names":[],"mappings":"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"}
|
@@ -1,10 +1,11 @@
|
|
1
1
|
import { NetworkIdType, PortfolioElementTrade, TokenPriceMap } from '@sonarwatch/portfolio-core';
|
2
2
|
import { ElementBuilder } from './ElementBuilder';
|
3
3
|
import { Params, TradeParams } from './Params';
|
4
|
+
import { TokenYieldMap } from '../../TokenYieldMap';
|
4
5
|
export declare class ElementTradeBuilder extends ElementBuilder {
|
5
6
|
params?: TradeParams;
|
6
7
|
constructor(params: Params);
|
7
8
|
setTrade(params: TradeParams): void;
|
8
9
|
tokenAddresses(): string[];
|
9
|
-
get(networkId: NetworkIdType, platformId: string, tokenPrices: TokenPriceMap): PortfolioElementTrade | null;
|
10
|
+
get(networkId: NetworkIdType, platformId: string, tokenPrices: TokenPriceMap, tokenYields: TokenYieldMap): PortfolioElementTrade | null;
|
10
11
|
}
|
@@ -26,7 +26,7 @@ class ElementTradeBuilder extends ElementBuilder_1.ElementBuilder {
|
|
26
26
|
mints.push(this.params.outputAsset.address.toString());
|
27
27
|
return mints;
|
28
28
|
}
|
29
|
-
get(networkId, platformId, tokenPrices) {
|
29
|
+
get(networkId, platformId, tokenPrices, tokenYields) {
|
30
30
|
var _a, _b, _c, _d, _e, _f, _g;
|
31
31
|
if (!this.params)
|
32
32
|
return null;
|
@@ -40,11 +40,11 @@ class ElementTradeBuilder extends ElementBuilder_1.ElementBuilder {
|
|
40
40
|
const inputAsset = new AssetTokenBuilder_1.AssetTokenBuilder({
|
41
41
|
address: this.params.inputAsset.address.toString(),
|
42
42
|
amount: inputAmount.toNumber(),
|
43
|
-
}).get(networkId, tokenPrices);
|
43
|
+
}).get(networkId, tokenPrices, tokenYields);
|
44
44
|
const outputAsset = new AssetTokenBuilder_1.AssetTokenBuilder({
|
45
45
|
address: this.params.outputAsset.address.toString(),
|
46
46
|
amount: outputAmount.toNumber(),
|
47
|
-
}).get(networkId, tokenPrices);
|
47
|
+
}).get(networkId, tokenPrices, tokenYields);
|
48
48
|
const inputPrice = tokenPrices.get(this.params.inputAsset.address.toString());
|
49
49
|
const outputPrice = tokenPrices.get(this.params.outputAsset.address.toString());
|
50
50
|
if (!inputPrice)
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ElementTradeBuilder.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/utils/elementbuilder/ElementTradeBuilder.ts"],"names":[],"mappings":";;;;;;AAAA,+DAMoC;AACpC,gEAAqC;AACrC,qDAAkD;AAElD,2DAAwD;
|
1
|
+
{"version":3,"file":"ElementTradeBuilder.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/utils/elementbuilder/ElementTradeBuilder.ts"],"names":[],"mappings":"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"}
|
@@ -1,6 +1,7 @@
|
|
1
1
|
import { NetworkIdType, PortfolioLiquidity, TokenPriceMap, Yield } from '@sonarwatch/portfolio-core';
|
2
2
|
import { AssetTokenBuilder } from './AssetTokenBuilder';
|
3
3
|
import { LiquidityParams, PortfolioAssetTokenParams } from './Params';
|
4
|
+
import { TokenYieldMap } from '../../TokenYieldMap';
|
4
5
|
export declare class LiquidityBuilder {
|
5
6
|
private readonly params?;
|
6
7
|
assets: AssetTokenBuilder[];
|
@@ -11,5 +12,5 @@ export declare class LiquidityBuilder {
|
|
11
12
|
addRewardAsset(params: PortfolioAssetTokenParams): void;
|
12
13
|
addYield(ayield: Yield): void;
|
13
14
|
mints(): string[];
|
14
|
-
get(networkId: NetworkIdType, tokenPrices: TokenPriceMap): PortfolioLiquidity | null;
|
15
|
+
get(networkId: NetworkIdType, tokenPrices: TokenPriceMap, tokenYields: TokenYieldMap): PortfolioLiquidity | null;
|
15
16
|
}
|