@sonarwatch/portfolio-plugins 0.15.40 → 0.15.42
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 +20 -0
- package/package.json +1 -1
- 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/defituna/airdropFetcher.d.ts +2 -0
- package/src/plugins/defituna/airdropFetcher.js +63 -0
- package/src/plugins/defituna/airdropFetcher.js.map +1 -0
- package/src/plugins/defituna/constants.d.ts +4 -0
- package/src/plugins/defituna/constants.js +13 -1
- package/src/plugins/defituna/constants.js.map +1 -1
- package/src/plugins/defituna/index.d.ts +2 -0
- package/src/plugins/defituna/index.js +3 -1
- package/src/plugins/defituna/index.js.map +1 -1
- package/src/plugins/defituna/types.d.ts +7 -0
- package/src/plugins/defituna/types.js +3 -0
- package/src/plugins/defituna/types.js.map +1 -0
- 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/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/kamino/constants.js +30 -0
- package/src/plugins/kamino/constants.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/ratex/ptPricesJob.js +11 -1
- package/src/plugins/ratex/ptPricesJob.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/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/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/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/plugins/flash/poolJob.js.map +0 -1
- /package/src/plugins/flash/{poolJob.d.ts → poolsJob.d.ts} +0 -0
@@ -13,7 +13,7 @@ exports.airdropFetcherEthereum = exports.airdropFetcherSui = exports.airdropFetc
|
|
13
13
|
const portfolio_core_1 = require("@sonarwatch/portfolio-core");
|
14
14
|
const helpers_1 = require("./helpers");
|
15
15
|
const constants_1 = require("./constants");
|
16
|
-
const solanaExecutor = (owner) => __awaiter(void 0, void 0, void 0, function* () { return (0, helpers_1.
|
16
|
+
const solanaExecutor = (owner) => __awaiter(void 0, void 0, void 0, function* () { return (0, helpers_1.getSolanaAirdropItems)(owner); });
|
17
17
|
const aptosExecutor = (owner) => __awaiter(void 0, void 0, void 0, function* () { return (0, helpers_1.getAirdropItems)(owner, portfolio_core_1.NetworkId.aptos); });
|
18
18
|
const suiExecutor = (owner) => __awaiter(void 0, void 0, void 0, function* () { return (0, helpers_1.getAirdropItems)(owner, portfolio_core_1.NetworkId.sui); });
|
19
19
|
const ethereumExecutor = (owner) => __awaiter(void 0, void 0, void 0, function* () { return (0, helpers_1.getAirdropItems)(owner, portfolio_core_1.NetworkId.ethereum); });
|
@@ -37,10 +37,4 @@ exports.airdropFetcherEthereum = {
|
|
37
37
|
networkId: portfolio_core_1.NetworkId.ethereum,
|
38
38
|
executor: ethereumExecutor,
|
39
39
|
};
|
40
|
-
// export const fetcher = airdropFetcherToFetcher(
|
41
|
-
// airdropFetcher,
|
42
|
-
// platform.id,
|
43
|
-
// 'suilend-airdrop',
|
44
|
-
// airdropStatics.claimEnd
|
45
|
-
// );
|
46
40
|
//# sourceMappingURL=airdropFetcher.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"airdropFetcher.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/streamflow/airdropFetcher.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+DAAuD;
|
1
|
+
{"version":3,"file":"airdropFetcher.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/streamflow/airdropFetcher.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+DAAuD;AAGvD,uCAAmE;AACnE,2CAA6C;AAE7C,MAAM,cAAc,GAA2B,CAAO,KAAa,EAAE,EAAE,kDACrE,OAAA,IAAA,+BAAqB,EAAC,KAAK,CAAC,CAAA,GAAA,CAAC;AAE/B,MAAM,aAAa,GAA2B,CAAO,KAAa,EAAE,EAAE,kDACpE,OAAA,IAAA,yBAAe,EAAC,KAAK,EAAE,0BAAS,CAAC,KAAK,CAAC,CAAA,GAAA,CAAC;AAE1C,MAAM,WAAW,GAA2B,CAAO,KAAa,EAAE,EAAE,kDAClE,OAAA,IAAA,yBAAe,EAAC,KAAK,EAAE,0BAAS,CAAC,GAAG,CAAC,CAAA,GAAA,CAAC;AAExC,MAAM,gBAAgB,GAA2B,CAAO,KAAa,EAAE,EAAE,kDACvE,OAAA,IAAA,yBAAe,EAAC,KAAK,EAAE,0BAAS,CAAC,QAAQ,CAAC,CAAA,GAAA,CAAC;AAEhC,QAAA,oBAAoB,GAAmB;IAClD,EAAE,EAAE,GAAG,0BAAc,CAAC,EAAE,IAAI,0BAAS,CAAC,MAAM,EAAE;IAC9C,SAAS,EAAE,0BAAS,CAAC,MAAM;IAC3B,QAAQ,EAAE,cAAc;CACzB,CAAC;AAEW,QAAA,mBAAmB,GAAmB;IACjD,EAAE,EAAE,GAAG,0BAAc,CAAC,EAAE,IAAI,0BAAS,CAAC,KAAK,EAAE;IAC7C,SAAS,EAAE,0BAAS,CAAC,KAAK;IAC1B,QAAQ,EAAE,aAAa;CACxB,CAAC;AACW,QAAA,iBAAiB,GAAmB;IAC/C,EAAE,EAAE,GAAG,0BAAc,CAAC,EAAE,IAAI,0BAAS,CAAC,GAAG,EAAE;IAC3C,SAAS,EAAE,0BAAS,CAAC,GAAG;IACxB,QAAQ,EAAE,WAAW;CACtB,CAAC;AAEW,QAAA,sBAAsB,GAAmB;IACpD,EAAE,EAAE,GAAG,0BAAc,CAAC,EAAE,IAAI,0BAAS,CAAC,QAAQ,EAAE;IAChD,SAAS,EAAE,0BAAS,CAAC,QAAQ;IAC7B,QAAQ,EAAE,gBAAgB;CAC3B,CAAC"}
|
@@ -6,3 +6,4 @@ export declare function getPda(owner: string, distributor: string): PublicKey;
|
|
6
6
|
export declare function getPdas(owner: string, distributors: string[]): PublicKey[];
|
7
7
|
export declare function getAirdropApiUrlFromNetworkId(owner: string, networkId: NetworkIdType): string | undefined;
|
8
8
|
export declare function getAirdropItems(owner: string, networdkId: NetworkIdType): Promise<AirdropRaw>;
|
9
|
+
export declare function getSolanaAirdropItems(owner: string): Promise<AirdropRaw>;
|
@@ -12,13 +12,17 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
12
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
13
13
|
};
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
15
|
-
exports.getAirdropItems = exports.getAirdropApiUrlFromNetworkId = exports.getPdas = exports.getPda = void 0;
|
15
|
+
exports.getSolanaAirdropItems = exports.getAirdropItems = exports.getAirdropApiUrlFromNetworkId = exports.getPdas = exports.getPda = void 0;
|
16
16
|
const axios_1 = __importDefault(require("axios"));
|
17
17
|
const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
18
18
|
const web3_js_1 = require("@solana/web3.js");
|
19
19
|
const constants_1 = require("./constants");
|
20
20
|
const AirdropFetcher_1 = require("../../AirdropFetcher");
|
21
21
|
const airdropAddresses_1 = require("./airdropAddresses");
|
22
|
+
const structs_1 = require("./structs");
|
23
|
+
const clients_1 = require("../../utils/clients");
|
24
|
+
const getClaimTransactions_1 = require("../../utils/solana/jupiter/getClaimTransactions");
|
25
|
+
const getParsedAccountInfo_1 = require("../../utils/solana/getParsedAccountInfo");
|
22
26
|
function getPda(owner, distributor) {
|
23
27
|
return web3_js_1.PublicKey.findProgramAddressSync([
|
24
28
|
Buffer.from([67, 108, 97, 105, 109, 83, 116, 97, 116, 117, 115]),
|
@@ -115,4 +119,62 @@ function getAirdropItems(owner, networdkId) {
|
|
115
119
|
});
|
116
120
|
}
|
117
121
|
exports.getAirdropItems = getAirdropItems;
|
122
|
+
function getSolanaAirdropItems(owner) {
|
123
|
+
return __awaiter(this, void 0, void 0, function* () {
|
124
|
+
const client = (0, clients_1.getClientSolana)();
|
125
|
+
const [initialAirdropPda, vestedAirdropPda] = [
|
126
|
+
getPda(owner, 'BsL9EiaD1FLhvE1z27s2vSLPCFU9yUY8bphscbunnRag'),
|
127
|
+
getPda(owner, '2nQBWuizQsa3XGX9k6f3wisAzbx1Hf8n4PFwafhyAtsh'),
|
128
|
+
];
|
129
|
+
const [initialAirdropAccount, vestedAirdropAccount] = yield Promise.all([
|
130
|
+
(0, getParsedAccountInfo_1.getParsedAccountInfo)(client, structs_1.claimStatusStruct, initialAirdropPda),
|
131
|
+
(0, getParsedAccountInfo_1.getParsedAccountInfo)(client, structs_1.claimStatusStruct, vestedAirdropPda),
|
132
|
+
]);
|
133
|
+
if (!initialAirdropAccount && !vestedAirdropAccount)
|
134
|
+
return (0, AirdropFetcher_1.getAirdropRaw)({
|
135
|
+
statics: constants_1.airdropStatics,
|
136
|
+
items: [
|
137
|
+
{
|
138
|
+
amount: 0,
|
139
|
+
isClaimed: false,
|
140
|
+
label: 'STREAM',
|
141
|
+
address: constants_1.streamMint,
|
142
|
+
imageUri: constants_1.platformImg,
|
143
|
+
},
|
144
|
+
],
|
145
|
+
});
|
146
|
+
const [initialClaims, vestedClaims] = yield Promise.all([
|
147
|
+
(0, getClaimTransactions_1.getClaimTransactions)(owner, initialAirdropPda, constants_1.streamMint),
|
148
|
+
(0, getClaimTransactions_1.getClaimTransactions)(owner, vestedAirdropPda, constants_1.streamMint),
|
149
|
+
]);
|
150
|
+
return (0, AirdropFetcher_1.getAirdropRaw)({
|
151
|
+
statics: constants_1.airdropStatics,
|
152
|
+
items: [
|
153
|
+
initialAirdropAccount
|
154
|
+
? {
|
155
|
+
amount: initialAirdropAccount.unlockedAmount
|
156
|
+
.div(Math.pow(10, 6))
|
157
|
+
.toNumber(),
|
158
|
+
isClaimed: !initialAirdropAccount.lastClaimTs.isZero(),
|
159
|
+
label: 'STREAM',
|
160
|
+
address: constants_1.streamMint,
|
161
|
+
imageUri: constants_1.platformImg,
|
162
|
+
claims: initialClaims,
|
163
|
+
}
|
164
|
+
: [],
|
165
|
+
vestedAirdropAccount
|
166
|
+
? {
|
167
|
+
amount: vestedAirdropAccount.lockedAmount.div(Math.pow(10, 6)).toNumber(),
|
168
|
+
isClaimed: vestedAirdropAccount.lockedAmount.isEqualTo(vestedAirdropAccount.lockedAmountWithdrawn),
|
169
|
+
label: 'STREAM',
|
170
|
+
address: constants_1.streamMint,
|
171
|
+
imageUri: constants_1.platformImg,
|
172
|
+
claims: vestedClaims,
|
173
|
+
}
|
174
|
+
: [],
|
175
|
+
].flat(),
|
176
|
+
});
|
177
|
+
});
|
178
|
+
}
|
179
|
+
exports.getSolanaAirdropItems = getSolanaAirdropItems;
|
118
180
|
//# sourceMappingURL=helpers.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/streamflow/helpers.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,kDAA6C;AAC7C,gEAAqC;AACrC,6CAA4C;AAC5C,2CAMqB;AACrB,yDAAqD;AAErD,yDAAuD;
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/streamflow/helpers.ts"],"names":[],"mappings":"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"}
|
@@ -11,32 +11,40 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
12
12
|
exports.s4Fetcher = exports.airdropS4Fetcher = void 0;
|
13
13
|
const portfolio_core_1 = require("@sonarwatch/portfolio-core");
|
14
|
+
const tx_parser_1 = require("@sonarwatch/tx-parser");
|
14
15
|
const constants_1 = require("./constants");
|
15
16
|
const season4Alloc_1 = require("./season4Alloc");
|
16
17
|
const AirdropFetcher_1 = require("../../AirdropFetcher");
|
17
18
|
const deriveClaimStatus_1 = require("../../utils/solana/jupiter/deriveClaimStatus");
|
18
19
|
const clients_1 = require("../../utils/clients");
|
19
20
|
const executor = (owner) => __awaiter(void 0, void 0, void 0, function* () {
|
21
|
+
var _a;
|
20
22
|
const baseAlloc = season4Alloc_1.season4Allocations[owner];
|
21
23
|
const vectorAlloc = season4Alloc_1.vectorBonusAllocations[owner];
|
24
|
+
const totalAmount = (baseAlloc !== null && baseAlloc !== void 0 ? baseAlloc : 0) + (vectorAlloc !== null && vectorAlloc !== void 0 ? vectorAlloc : 0);
|
22
25
|
const claimPda = (0, deriveClaimStatus_1.deriveClaimStatus)(owner, '5qJtp1rTEnW3qUi7SaQpsscqNnvCSo91WFYYbfNJBPDv', 'Td1ST8yc9Vt7vsBY7rZzrCjkXeGnr4ECMtso9ueLhyQ');
|
23
26
|
const client = (0, clients_1.getClientSolana)();
|
24
27
|
const claimAccount = yield client.getAccountInfo(claimPda);
|
28
|
+
const signatures = yield (0, tx_parser_1.getSignatures)(client, claimPda.toString());
|
29
|
+
const transactions = yield (0, tx_parser_1.getTransactions)(client, signatures.map((s) => s.signature));
|
25
30
|
const isClaimed = !!claimAccount;
|
26
31
|
return (0, AirdropFetcher_1.getAirdropRaw)({
|
27
32
|
statics: constants_1.s4Statics,
|
28
33
|
items: [
|
29
34
|
{
|
30
|
-
amount:
|
31
|
-
isClaimed,
|
32
|
-
label: 'TNSR',
|
33
|
-
address: constants_1.tnsrMint,
|
34
|
-
},
|
35
|
-
{
|
36
|
-
amount: vectorAlloc !== null && vectorAlloc !== void 0 ? vectorAlloc : 0,
|
35
|
+
amount: totalAmount,
|
37
36
|
isClaimed,
|
38
37
|
label: 'TNSR',
|
39
38
|
address: constants_1.tnsrMint,
|
39
|
+
claims: ((_a = transactions[0]) === null || _a === void 0 ? void 0 : _a.blockTime)
|
40
|
+
? [
|
41
|
+
{
|
42
|
+
amount: totalAmount,
|
43
|
+
date: transactions[0].blockTime * 1000,
|
44
|
+
txId: transactions[0].transaction.signatures[0],
|
45
|
+
},
|
46
|
+
]
|
47
|
+
: undefined,
|
40
48
|
},
|
41
49
|
],
|
42
50
|
});
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"season4AirdropFetcher.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/tensor/season4AirdropFetcher.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+DAAuD;AACvD,2CAA8D;AAC9D,iDAA4E;AAC5E,yDAK8B;AAC9B,oFAAiF;AACjF,iDAAsD;AAEtD,MAAM,QAAQ,GAA2B,CAAO,KAAa,EAAE,EAAE
|
1
|
+
{"version":3,"file":"season4AirdropFetcher.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/tensor/season4AirdropFetcher.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+DAAuD;AACvD,qDAAuE;AACvE,2CAA8D;AAC9D,iDAA4E;AAC5E,yDAK8B;AAC9B,oFAAiF;AACjF,iDAAsD;AAEtD,MAAM,QAAQ,GAA2B,CAAO,KAAa,EAAE,EAAE;;IAC/D,MAAM,SAAS,GAAG,iCAAkB,CAAC,KAAK,CAAC,CAAC;IAC5C,MAAM,WAAW,GAAG,qCAAsB,CAAC,KAAK,CAAC,CAAC;IAClD,MAAM,WAAW,GAAG,CAAC,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,CAAC,CAAC,GAAG,CAAC,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,CAAC,CAAC,CAAC;IAC1D,MAAM,QAAQ,GAAG,IAAA,qCAAiB,EAChC,KAAK,EACL,8CAA8C,EAC9C,6CAA6C,CAC9C,CAAC;IAEF,MAAM,MAAM,GAAG,IAAA,yBAAe,GAAE,CAAC;IACjC,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IAC3D,MAAM,UAAU,GAAG,MAAM,IAAA,yBAAa,EAAC,MAAM,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;IACpE,MAAM,YAAY,GAAG,MAAM,IAAA,2BAAe,EACxC,MAAM,EACN,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CACnC,CAAC;IAEF,MAAM,SAAS,GAAG,CAAC,CAAC,YAAY,CAAC;IAEjC,OAAO,IAAA,8BAAa,EAAC;QACnB,OAAO,EAAE,qBAAS;QAClB,KAAK,EAAE;YACL;gBACE,MAAM,EAAE,WAAW;gBACnB,SAAS;gBACT,KAAK,EAAE,MAAM;gBACb,OAAO,EAAE,oBAAQ;gBACjB,MAAM,EAAE,CAAA,MAAA,YAAY,CAAC,CAAC,CAAC,0CAAE,SAAS;oBAChC,CAAC,CAAC;wBACE;4BACE,MAAM,EAAE,WAAW;4BACnB,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,IAAI;4BACtC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC;yBAChD;qBACF;oBACH,CAAC,CAAC,SAAS;aACd;SACF;KACF,CAAC,CAAC;AACL,CAAC,CAAA,CAAC;AAEW,QAAA,gBAAgB,GAAmB;IAC9C,EAAE,EAAE,qBAAS,CAAC,EAAE;IAChB,SAAS,EAAE,0BAAS,CAAC,MAAM;IAC3B,QAAQ;CACT,CAAC;AAEW,QAAA,SAAS,GAAG,IAAA,wCAAuB,EAC9C,wBAAgB,EAChB,sBAAU,EACV,WAAW,EACX,qBAAS,CAAC,QAAQ,CACnB,CAAC"}
|
@@ -14,7 +14,6 @@ const portfolio_core_1 = require("@sonarwatch/portfolio-core");
|
|
14
14
|
const helpers_1 = require("../helpers");
|
15
15
|
const getTokenAccountsByOwner_1 = require("../../../utils/solana/getTokenAccountsByOwner");
|
16
16
|
const ElementRegistry_1 = require("../../../utils/elementbuilder/ElementRegistry");
|
17
|
-
const TokenYieldMap_1 = require("../../../TokenYieldMap");
|
18
17
|
const getWhirlpoolPositions_1 = require("../../orca/getWhirlpoolPositions");
|
19
18
|
const constants_1 = require("../../orca/constants");
|
20
19
|
const constants_2 = require("../../cropper/constants");
|
@@ -27,9 +26,6 @@ const clients_1 = require("../../../utils/clients");
|
|
27
26
|
const getSolanaTokens = (simple) => (tokenAccounts, cache) => __awaiter(void 0, void 0, void 0, function* () {
|
28
27
|
const fungibleAddresses = tokenAccounts.map((ta) => ta.mint.toString());
|
29
28
|
const tokenPrices = yield cache.getTokenPricesAsMap(fungibleAddresses, portfolio_core_1.NetworkId.solana);
|
30
|
-
const tokenYields = !simple
|
31
|
-
? yield cache.getTokenYieldsAsMap([...tokenPrices.keys()], portfolio_core_1.NetworkId.solana)
|
32
|
-
: new TokenYieldMap_1.TokenYieldMap(portfolio_core_1.NetworkId.solana);
|
33
29
|
const elementRegistry = new ElementRegistry_1.ElementRegistry(portfolio_core_1.NetworkId.solana, portfolio_core_1.walletTokensPlatformId);
|
34
30
|
const elementTokens = elementRegistry.addElementMultiple({
|
35
31
|
label: 'Wallet',
|
@@ -41,7 +37,6 @@ const getSolanaTokens = (simple) => (tokenAccounts, cache) => __awaiter(void 0,
|
|
41
37
|
const tokenPrice = tokenPrices.get(address);
|
42
38
|
if (!tokenPrice)
|
43
39
|
return;
|
44
|
-
const tokenYield = tokenYields.get(address);
|
45
40
|
const amount = tokenAccount.amount.shiftedBy(-tokenPrice.decimals);
|
46
41
|
if (tokenPrice.platformId === portfolio_core_1.walletTokensPlatformId) {
|
47
42
|
// it's a regular token
|
@@ -52,7 +47,6 @@ const getSolanaTokens = (simple) => (tokenAccounts, cache) => __awaiter(void 0,
|
|
52
47
|
ref: tokenAccount.pubkey,
|
53
48
|
link: tokenPrice.link,
|
54
49
|
sourceRefs: tokenPrice.sourceRefs,
|
55
|
-
tokenYield,
|
56
50
|
});
|
57
51
|
}
|
58
52
|
else if (!simple) {
|
@@ -68,15 +62,14 @@ const getSolanaTokens = (simple) => (tokenAccounts, cache) => __awaiter(void 0,
|
|
68
62
|
}
|
69
63
|
const liquidity = elementLiquidity.addLiquidity({
|
70
64
|
name: tokenPrice.liquidityName,
|
65
|
+
link: tokenPrice.link,
|
66
|
+
ref: tokenAccount.pubkey,
|
67
|
+
sourceRefs: tokenPrice.sourceRefs,
|
71
68
|
});
|
72
69
|
liquidity.addAsset({
|
73
70
|
address,
|
74
71
|
amount,
|
75
72
|
alreadyShifted: true,
|
76
|
-
ref: tokenAccount.pubkey,
|
77
|
-
link: tokenPrice.link,
|
78
|
-
sourceRefs: tokenPrice.sourceRefs,
|
79
|
-
tokenYield,
|
80
73
|
});
|
81
74
|
elementsLiquidity.set(tag, elementLiquidity);
|
82
75
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"solana.js","sourceRoot":"","sources":["../../../../../../../packages/plugins/src/plugins/tokens/fetchers/solana.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+DAIoC;AAGpC,wCAAsC;AACtC,2FAAwF;AACxF,mFAAgF;
|
1
|
+
{"version":3,"file":"solana.js","sourceRoot":"","sources":["../../../../../../../packages/plugins/src/plugins/tokens/fetchers/solana.ts"],"names":[],"mappings":"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"}
|
@@ -10,18 +10,26 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
10
10
|
};
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
12
12
|
const portfolio_core_1 = require("@sonarwatch/portfolio-core");
|
13
|
+
const web3_js_1 = require("@solana/web3.js");
|
13
14
|
const constants_1 = require("./constants");
|
14
15
|
const clients_1 = require("../../utils/clients");
|
15
16
|
const helpers_1 = require("./helpers");
|
16
17
|
const ElementRegistry_1 = require("../../utils/elementbuilder/ElementRegistry");
|
18
|
+
const ParsedGpa_1 = require("../../utils/solana/beets/ParsedGpa");
|
19
|
+
const structs_1 = require("./structs");
|
17
20
|
function getPositionsV2Fetcher(networkId) {
|
18
21
|
const executor = (owner, cache) => __awaiter(this, void 0, void 0, function* () {
|
19
22
|
const allocation = yield (0, helpers_1.getAllocation)(owner, networkId);
|
20
23
|
if (allocation === 0)
|
21
24
|
return [];
|
22
25
|
const client = (0, clients_1.getClientSolana)();
|
23
|
-
const
|
24
|
-
|
26
|
+
const accounts = yield ParsedGpa_1.ParsedGpa.build(client, structs_1.claimInfoStruct, new web3_js_1.PublicKey('Wapq3Hpv2aSKjWrh4pM8eweh8jVJB7D1nLBw9ikjVYx'))
|
27
|
+
.addFilter('identity', {
|
28
|
+
__kind: 'Solana',
|
29
|
+
pubkey: Array.from(new web3_js_1.PublicKey(owner).toBytes()),
|
30
|
+
})
|
31
|
+
.run();
|
32
|
+
if (accounts)
|
25
33
|
return [];
|
26
34
|
const elementRegistry = new ElementRegistry_1.ElementRegistry(portfolio_core_1.NetworkId.solana, constants_1.platformId);
|
27
35
|
const element = elementRegistry.addElementMultiple({
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"airdropFetcher.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/wormhole/airdropFetcher.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,+DAAsE;
|
1
|
+
{"version":3,"file":"airdropFetcher.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/wormhole/airdropFetcher.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,+DAAsE;AACtE,6CAA4C;AAG5C,2CAAgD;AAChD,iDAAsD;AACtD,uCAA0C;AAC1C,gFAA6E;AAC7E,kEAA+D;AAC/D,uCAA4C;AAE5C,SAAwB,qBAAqB,CAC3C,SAAwB;IAExB,MAAM,QAAQ,GAAoB,CAAO,KAAa,EAAE,KAAY,EAAE,EAAE;QACtE,MAAM,UAAU,GAAG,MAAM,IAAA,uBAAa,EAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QACzD,IAAI,UAAU,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAEhC,MAAM,MAAM,GAAG,IAAA,yBAAe,GAAE,CAAC;QACjC,MAAM,QAAQ,GAAG,MAAM,qBAAS,CAAC,KAAK,CACpC,MAAM,EACN,yBAAe,EACf,IAAI,mBAAS,CAAC,6CAA6C,CAAC,CAC7D;aACE,SAAS,CAAC,UAAU,EAAE;YACrB,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,mBAAS,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;SACnD,CAAC;aACD,GAAG,EAAE,CAAC;QACT,IAAI,QAAQ;YAAE,OAAO,EAAE,CAAC;QAExB,MAAM,eAAe,GAAG,IAAI,iCAAe,CAAC,0BAAS,CAAC,MAAM,EAAE,sBAAU,CAAC,CAAC;QAE1E,MAAM,OAAO,GAAG,eAAe,CAAC,kBAAkB,CAAC;YACjD,KAAK,EAAE,SAAS;SACjB,CAAC,CAAC;QAEH,OAAO,CAAC,QAAQ,CAAC;YACf,OAAO,EAAE,iBAAK;YACd,MAAM,EAAE,UAAU;YAClB,UAAU,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE;SAClC,CAAC,CAAC;QAEH,OAAO,eAAe,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC,CAAA,CAAC;IAEF,OAAO;QACL,EAAE,EAAE,GAAG,sBAAU,UAAU;QAC3B,SAAS,EAAE,0BAAS,CAAC,MAAM;QAC3B,QAAQ;KACT,CAAC;AACJ,CAAC;AAxCD,wCAwCC"}
|
@@ -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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"}
|
@@ -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
|
}
|