@sonarwatch/portfolio-plugins 0.5.3 → 0.5.5

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.
Files changed (56) hide show
  1. package/CHANGELOG.md +21 -13
  2. package/package.json +2 -2
  3. package/src/index.d.ts +2 -0
  4. package/src/index.js +5 -0
  5. package/src/index.js.map +1 -1
  6. package/src/platforms.d.ts +1 -0
  7. package/src/platforms.js +6 -1
  8. package/src/platforms.js.map +1 -1
  9. package/src/plugins/drift/helpers.d.ts +2 -0
  10. package/src/plugins/drift/helpers.js +3 -2
  11. package/src/plugins/drift/helpers.js.map +1 -1
  12. package/src/plugins/drift/spotMarketsJob.js +31 -0
  13. package/src/plugins/drift/spotMarketsJob.js.map +1 -1
  14. package/src/plugins/mango/banksJob.d.ts +3 -0
  15. package/src/plugins/mango/banksJob.js +62 -0
  16. package/src/plugins/mango/banksJob.js.map +1 -0
  17. package/src/plugins/mango/collateralFetcher.d.ts +3 -0
  18. package/src/plugins/mango/collateralFetcher.js +148 -0
  19. package/src/plugins/mango/collateralFetcher.js.map +1 -0
  20. package/src/plugins/mango/constants.d.ts +4 -0
  21. package/src/plugins/mango/constants.js +8 -0
  22. package/src/plugins/mango/constants.js.map +1 -0
  23. package/src/plugins/mango/filters.d.ts +3 -0
  24. package/src/plugins/mango/filters.js +39 -0
  25. package/src/plugins/mango/filters.js.map +1 -0
  26. package/src/plugins/mango/helpers.d.ts +11 -0
  27. package/src/plugins/mango/helpers.js +70 -0
  28. package/src/plugins/mango/helpers.js.map +1 -0
  29. package/src/plugins/mango/index.d.ts +4 -0
  30. package/src/plugins/mango/index.js +11 -0
  31. package/src/plugins/mango/index.js.map +1 -0
  32. package/src/plugins/mango/struct.d.ts +163 -0
  33. package/src/plugins/mango/struct.js +158 -0
  34. package/src/plugins/mango/struct.js.map +1 -0
  35. package/src/plugins/mango/types.d.ts +5 -0
  36. package/src/plugins/mango/types.js +3 -0
  37. package/src/plugins/mango/types.js.map +1 -0
  38. package/src/plugins/marginfi/constants.d.ts +1 -1
  39. package/src/plugins/marginfi/constants.js +1 -2
  40. package/src/plugins/marginfi/constants.js.map +1 -1
  41. package/src/plugins/marginfi/helpers.d.ts +2 -2
  42. package/src/plugins/marginfi/helpers.js.map +1 -1
  43. package/src/plugins/marginfi/jobExecutor.js +28 -0
  44. package/src/plugins/marginfi/jobExecutor.js.map +1 -1
  45. package/src/plugins/marginfi/structs/Bank.d.ts +4 -3
  46. package/src/plugins/marginfi/structs/Bank.js +1 -0
  47. package/src/plugins/marginfi/structs/Bank.js.map +1 -1
  48. package/src/plugins/solend/index.js +1 -1
  49. package/src/plugins/solend/index.js.map +1 -1
  50. package/src/plugins/solend/obligationsFetcher.js +35 -30
  51. package/src/plugins/solend/obligationsFetcher.js.map +1 -1
  52. package/src/plugins/solend/reservesJob.js +36 -3
  53. package/src/plugins/solend/reservesJob.js.map +1 -1
  54. package/src/utils/solana/beets/numbers.d.ts +4 -1
  55. package/src/utils/solana/beets/numbers.js +31 -1
  56. package/src/utils/solana/beets/numbers.js.map +1 -1
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.getDepositRate = exports.getBorrowRate = exports.zeroI80F48 = exports.getBorrowRateWithoutUpkeepRate = exports.decodeName = void 0;
7
+ const bignumber_js_1 = __importDefault(require("bignumber.js"));
8
+ const FRACTIONS = 48;
9
+ const MULTIPLIER_NUMBER = Math.pow(2, FRACTIONS);
10
+ function decodeName(bytes) {
11
+ return new TextDecoder('utf-8')
12
+ .decode(new Uint8Array(bytes))
13
+ .split('\x00')[0];
14
+ }
15
+ exports.decodeName = decodeName;
16
+ function getBorrowRateWithoutUpkeepRate(bank) {
17
+ const totalBorrows = bank.indexedBorrows.multipliedBy(bank.borrowIndex);
18
+ const totalDeposits = bank.indexedDeposits.multipliedBy(bank.depositIndex);
19
+ if (totalDeposits.isZero() && totalBorrows.isZero()) {
20
+ return zeroI80F48();
21
+ }
22
+ const utilization = totalBorrows.div(totalDeposits);
23
+ if (utilization.lte(bank.util0)) {
24
+ const slope = bank.rate0.div(bank.util0);
25
+ return slope.multipliedBy(utilization);
26
+ }
27
+ if (utilization.lt(bank.util1)) {
28
+ const extraUtil = utilization.minus(bank.util0);
29
+ const slope = bank.rate1
30
+ .minus(bank.rate0)
31
+ .div(bank.util1.minus(bank.util0));
32
+ return bank.rate0.plus(slope.multipliedBy(extraUtil));
33
+ }
34
+ const extraUtil = utilization.minus(bank.util1);
35
+ const slope = bank.maxRate
36
+ .minus(bank.rate1)
37
+ .div(new bignumber_js_1.default(1).minus(bank.util1));
38
+ return bank.rate1.plus(slope.multipliedBy(extraUtil));
39
+ }
40
+ exports.getBorrowRateWithoutUpkeepRate = getBorrowRateWithoutUpkeepRate;
41
+ function zeroI80F48() {
42
+ const intPart = Math.trunc(0);
43
+ const v = new bignumber_js_1.default(intPart.toFixed(0)).shiftedBy(48);
44
+ v.plus(new bignumber_js_1.default((0 - intPart) * MULTIPLIER_NUMBER));
45
+ return new bignumber_js_1.default(v);
46
+ }
47
+ exports.zeroI80F48 = zeroI80F48;
48
+ /**
49
+ *
50
+ * @returns total borrow rate, 0 is 0% where 1 is 100% (including loan upkeep rate)
51
+ */
52
+ function getBorrowRate(bank) {
53
+ return getBorrowRateWithoutUpkeepRate(bank).plus(bank.loanFeeRate).toNumber();
54
+ }
55
+ exports.getBorrowRate = getBorrowRate;
56
+ function getDepositRate(bank) {
57
+ const borrowRate = getBorrowRate(bank);
58
+ const totalBorrows = bank.indexedBorrows.multipliedBy(bank.borrowIndex);
59
+ const totalDeposits = bank.indexedDeposits.multipliedBy(bank.depositIndex);
60
+ if (totalDeposits.isZero() && totalBorrows.isZero()) {
61
+ return zeroI80F48().toNumber();
62
+ }
63
+ if (totalDeposits.isZero()) {
64
+ return bank.maxRate.toNumber();
65
+ }
66
+ const utilization = totalBorrows.div(totalDeposits);
67
+ return utilization.multipliedBy(borrowRate).toNumber();
68
+ }
69
+ exports.getDepositRate = getDepositRate;
70
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/mango/helpers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { Fetcher } from '../../Fetcher';
2
+ import { Job } from '../../Job';
3
+ export declare const jobs: Job[];
4
+ export declare const fetchers: Fetcher[];
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.fetchers = exports.jobs = void 0;
7
+ const banksJob_1 = __importDefault(require("./banksJob"));
8
+ const collateralFetcher_1 = __importDefault(require("./collateralFetcher"));
9
+ exports.jobs = [banksJob_1.default];
10
+ exports.fetchers = [collateralFetcher_1.default];
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/mango/index.ts"],"names":[],"mappings":";;;;;;AAEA,0DAAkC;AAClC,4EAAoD;AAEvC,QAAA,IAAI,GAAU,CAAC,kBAAQ,CAAC,CAAC;AACzB,QAAA,QAAQ,GAAc,CAAC,2BAAiB,CAAC,CAAC"}
@@ -0,0 +1,163 @@
1
+ /// <reference types="node" />
2
+ import { BeetStruct, FixableBeetStruct } from '@metaplex-foundation/beet';
3
+ import { PublicKey } from '@solana/web3.js';
4
+ import BigNumber from 'bignumber.js';
5
+ export type StablePriceModel = {
6
+ stablePrice: BigNumber;
7
+ lastUpdateTimestamp: BigNumber;
8
+ delayPrices: BigNumber[];
9
+ delayAccumulatorPrice: BigNumber;
10
+ delayAccumulatorTime: BigNumber;
11
+ delayIntervalSeconds: BigNumber;
12
+ delayGrowthLimit: BigNumber;
13
+ stableGrowthLimit: BigNumber;
14
+ lastDelayIntervalIndex: number;
15
+ padding: number[];
16
+ reserved: number[];
17
+ };
18
+ export declare const stablePriceModelStruct: FixableBeetStruct<StablePriceModel, Partial<StablePriceModel>>;
19
+ export type OracleConfig = {
20
+ confFilter: BigNumber;
21
+ maxStalenessSlots: BigNumber;
22
+ reserved: number[];
23
+ };
24
+ export declare const oracleConfigStruct: BeetStruct<OracleConfig, Partial<OracleConfig>>;
25
+ export type Bank = {
26
+ buffer: Buffer;
27
+ group: PublicKey;
28
+ name: number[];
29
+ mint: PublicKey;
30
+ vault: PublicKey;
31
+ oracle: PublicKey;
32
+ oracleConfig: OracleConfig;
33
+ stablePriceModel: StablePriceModel;
34
+ depositIndex: BigNumber;
35
+ borrowIndex: BigNumber;
36
+ indexedDeposits: BigNumber;
37
+ indexedBorrows: BigNumber;
38
+ indexLastUpdated: BigNumber;
39
+ bankRateLastUpdated: BigNumber;
40
+ avgUtilization: BigNumber;
41
+ adjustmentFactor: BigNumber;
42
+ util0: BigNumber;
43
+ rate0: BigNumber;
44
+ util1: BigNumber;
45
+ rate1: BigNumber;
46
+ maxRate: BigNumber;
47
+ collectedFeesNative: BigNumber;
48
+ loanOriginationFeeRate: BigNumber;
49
+ loanFeeRate: BigNumber;
50
+ maintAssetWeight: BigNumber;
51
+ initAssetWeight: BigNumber;
52
+ maintLiabWeight: BigNumber;
53
+ initLiabWeight: BigNumber;
54
+ liquidationFee: BigNumber;
55
+ dust: BigNumber;
56
+ flashLoanTokenAccountInitial: BigNumber;
57
+ flashLoanApprovedAmount: BigNumber;
58
+ tokenIndex: number;
59
+ bump: number;
60
+ mintDecimals: number;
61
+ bankNum: number;
62
+ minVaultToDepositsRatio: BigNumber;
63
+ netBorrowLimitWindowSizeTs: BigNumber;
64
+ lastNetBorrowsWindowStartTs: BigNumber;
65
+ netBorrowLimitPerWindowQuote: BigNumber;
66
+ netBorrowsInWindow: BigNumber;
67
+ borrowWeightScaleStartQuote: BigNumber;
68
+ depositWeightScaleStartQuote: BigNumber;
69
+ reduceOnly: number;
70
+ forceClose: number;
71
+ reserved: number[];
72
+ };
73
+ export declare const bankStruct: FixableBeetStruct<Bank, Partial<Bank>>;
74
+ export type TokenPosition = {
75
+ indexedPosition: BigNumber;
76
+ tokenIndex: number;
77
+ inUseCount: number;
78
+ padding: number[];
79
+ previousIndex: BigNumber;
80
+ cumulativeDepositInterest: BigNumber;
81
+ cumulativeBorrowInterest: BigNumber;
82
+ reserved: number[];
83
+ };
84
+ export declare const tokenPositionStruct: BeetStruct<TokenPosition, Partial<TokenPosition>>;
85
+ export type Serum3Orders = {
86
+ openOrders: PublicKey;
87
+ baseBorrowsWithoutFee: BigNumber;
88
+ quoteBorrowsWithoutFee: BigNumber;
89
+ marketIndex: number;
90
+ baseTokenIndex: number;
91
+ quoteTokenIndex: number;
92
+ padding: number[];
93
+ reserved: number[];
94
+ };
95
+ export declare const serum3OrdersStruct: BeetStruct<Serum3Orders, Partial<Serum3Orders>>;
96
+ export type PerpPosition = {
97
+ marketIndex: number;
98
+ padding: number[];
99
+ settlePnlLimitWindow: number;
100
+ settlePnlLimitSettledInCurrentWindowNative: BigNumber;
101
+ basePositionLots: BigNumber;
102
+ quotePositionNative: BigNumber;
103
+ quoteRunningNative: BigNumber;
104
+ longSettledFunding: BigNumber;
105
+ shortSettledFunding: BigNumber;
106
+ bidsBaseLots: BigNumber;
107
+ asksBaseLots: BigNumber;
108
+ takerBaseLots: BigNumber;
109
+ takerQuoteLots: BigNumber;
110
+ cumulativeLongFunding: BigNumber;
111
+ cumulativeShortFunding: BigNumber;
112
+ makerVolume: BigNumber;
113
+ takerVolume: BigNumber;
114
+ perpSpotTransfers: BigNumber;
115
+ avgEntryPricePerBaseLot: BigNumber;
116
+ realizedTradePnlNative: BigNumber;
117
+ realizedOtherPnlNative: BigNumber;
118
+ settlePnlLimitRealizedTrade: BigNumber;
119
+ realizedPnlForPositionNative: BigNumber;
120
+ reserved: number[];
121
+ };
122
+ export declare const perpPositionStruct: BeetStruct<PerpPosition, Partial<PerpPosition>>;
123
+ export type PerpOpenOrder = {
124
+ sideAndTree: number;
125
+ padding1: number[];
126
+ market: number;
127
+ padding2: number[];
128
+ clientId: BigNumber;
129
+ id: BigNumber;
130
+ reserved: number[];
131
+ };
132
+ export declare const perpOpenOrderStruct: BeetStruct<PerpOpenOrder, Partial<PerpOpenOrder>>;
133
+ export type MangoAccount = {
134
+ buffer: Buffer;
135
+ group: PublicKey;
136
+ owner: PublicKey;
137
+ name: number[];
138
+ delegate: PublicKey;
139
+ accountNum: BigNumber;
140
+ beingLiquidated: number;
141
+ inHealthRegion: number;
142
+ bump: number;
143
+ padding: number[];
144
+ netDeposits: BigNumber;
145
+ perpSpotTransfers: BigNumber;
146
+ healthRegionBeginInitHealth: BigNumber;
147
+ frozenUntil: BigNumber;
148
+ buybackFeesAccruedCurrent: BigNumber;
149
+ buybackFeesAccruedPrevious: BigNumber;
150
+ buybackFeesExpiryTimestamp: BigNumber;
151
+ reserved: number[];
152
+ headerVersion: number;
153
+ padding3: number[];
154
+ padding4: BigNumber;
155
+ tokens: TokenPosition[];
156
+ padding5: BigNumber;
157
+ serum3: Serum3Orders[];
158
+ padding6: BigNumber;
159
+ perps: PerpPosition[];
160
+ padding7: BigNumber;
161
+ perpOpenOrders: PerpOpenOrder[];
162
+ };
163
+ export declare const mangoAccountStruct: FixableBeetStruct<MangoAccount, Partial<MangoAccount>>;
@@ -0,0 +1,158 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.mangoAccountStruct = exports.perpOpenOrderStruct = exports.perpPositionStruct = exports.serum3OrdersStruct = exports.tokenPositionStruct = exports.bankStruct = exports.oracleConfigStruct = exports.stablePriceModelStruct = void 0;
4
+ const beet_1 = require("@metaplex-foundation/beet");
5
+ const beet_solana_1 = require("@metaplex-foundation/beet-solana");
6
+ const solana_1 = require("../../utils/solana");
7
+ exports.stablePriceModelStruct = new beet_1.FixableBeetStruct([
8
+ ['stablePrice', solana_1.f64],
9
+ ['lastUpdateTimestamp', solana_1.u64],
10
+ ['delayPrices', (0, beet_1.uniformFixedSizeArray)(solana_1.f64, 24)],
11
+ ['delayAccumulatorPrice', solana_1.f64],
12
+ ['delayAccumulatorTime', beet_1.u32],
13
+ ['delayIntervalSeconds', beet_1.u32],
14
+ ['delayGrowthLimit', solana_1.f32],
15
+ ['stableGrowthLimit', solana_1.f32],
16
+ ['lastDelayIntervalIndex', beet_1.u8],
17
+ ['padding', (0, beet_1.uniformFixedSizeArray)(beet_1.u8, 7)],
18
+ ['reserved', (0, beet_1.uniformFixedSizeArray)(beet_1.u8, 48)],
19
+ ], (args) => args);
20
+ exports.oracleConfigStruct = new beet_1.BeetStruct([
21
+ ['confFilter', solana_1.i80f48],
22
+ ['maxStalenessSlots', solana_1.i64],
23
+ ['reserved', (0, beet_1.uniformFixedSizeArray)(beet_1.u8, 72)],
24
+ ], (args) => args);
25
+ exports.bankStruct = new beet_1.FixableBeetStruct([
26
+ ['buffer', (0, solana_1.blob)(8)],
27
+ ['group', beet_solana_1.publicKey],
28
+ ['name', (0, beet_1.uniformFixedSizeArray)(beet_1.u8, 16)],
29
+ ['mint', beet_solana_1.publicKey],
30
+ ['vault', beet_solana_1.publicKey],
31
+ ['oracle', beet_solana_1.publicKey],
32
+ ['oracleConfig', exports.oracleConfigStruct],
33
+ ['stablePriceModel', exports.stablePriceModelStruct],
34
+ ['depositIndex', solana_1.i80f48],
35
+ ['borrowIndex', solana_1.i80f48],
36
+ ['indexedDeposits', solana_1.i80f48],
37
+ ['indexedBorrows', solana_1.i80f48],
38
+ ['indexLastUpdated', solana_1.u64],
39
+ ['bankRateLastUpdated', solana_1.u64],
40
+ ['avgUtilization', solana_1.i80f48],
41
+ ['adjustmentFactor', solana_1.i80f48],
42
+ ['util0', solana_1.i80f48],
43
+ ['rate0', solana_1.i80f48],
44
+ ['util1', solana_1.i80f48],
45
+ ['rate1', solana_1.i80f48],
46
+ ['maxRate', solana_1.i80f48],
47
+ ['collectedFeesNative', solana_1.i80f48],
48
+ ['loanOriginationFeeRate', solana_1.i80f48],
49
+ ['loanFeeRate', solana_1.i80f48],
50
+ ['maintAssetWeight', solana_1.i80f48],
51
+ ['initAssetWeight', solana_1.i80f48],
52
+ ['maintLiabWeight', solana_1.i80f48],
53
+ ['initLiabWeight', solana_1.i80f48],
54
+ ['liquidationFee', solana_1.i80f48],
55
+ ['dust', solana_1.i80f48],
56
+ ['flashLoanTokenAccountInitial', solana_1.u64],
57
+ ['flashLoanApprovedAmount', solana_1.u64],
58
+ ['tokenIndex', beet_1.u16],
59
+ ['bump', beet_1.u8],
60
+ ['mintDecimals', beet_1.u8],
61
+ ['bankNum', beet_1.u32],
62
+ ['minVaultToDepositsRatio', solana_1.f64],
63
+ ['netBorrowLimitWindowSizeTs', solana_1.u64],
64
+ ['lastNetBorrowsWindowStartTs', solana_1.u64],
65
+ ['netBorrowLimitPerWindowQuote', solana_1.i64],
66
+ ['netBorrowsInWindow', solana_1.i64],
67
+ ['borrowWeightScaleStartQuote', solana_1.f64],
68
+ ['depositWeightScaleStartQuote', solana_1.f64],
69
+ ['reduceOnly', beet_1.u8],
70
+ ['forceClose', beet_1.u8],
71
+ ['reserved', (0, beet_1.uniformFixedSizeArray)(beet_1.u8, 2110)],
72
+ ], (args) => args);
73
+ exports.tokenPositionStruct = new beet_1.BeetStruct([
74
+ ['indexedPosition', solana_1.i80f48],
75
+ ['tokenIndex', beet_1.u16],
76
+ ['inUseCount', beet_1.u8],
77
+ ['padding', (0, beet_1.uniformFixedSizeArray)(beet_1.u8, 5)],
78
+ ['previousIndex', solana_1.i80f48],
79
+ ['cumulativeDepositInterest', solana_1.f64],
80
+ ['cumulativeBorrowInterest', solana_1.f64],
81
+ ['reserved', (0, beet_1.uniformFixedSizeArray)(beet_1.u8, 128)],
82
+ ], (args) => args);
83
+ exports.serum3OrdersStruct = new beet_1.BeetStruct([
84
+ ['openOrders', beet_solana_1.publicKey],
85
+ ['baseBorrowsWithoutFee', solana_1.u64],
86
+ ['quoteBorrowsWithoutFee', solana_1.u64],
87
+ ['marketIndex', beet_1.u16],
88
+ ['baseTokenIndex', beet_1.u16],
89
+ ['quoteTokenIndex', beet_1.u16],
90
+ ['padding', (0, beet_1.uniformFixedSizeArray)(beet_1.u8, 2)],
91
+ ['reserved', (0, beet_1.uniformFixedSizeArray)(beet_1.u8, 64)],
92
+ ], (args) => args);
93
+ exports.perpPositionStruct = new beet_1.BeetStruct([
94
+ ['marketIndex', beet_1.u16],
95
+ ['padding', (0, beet_1.uniformFixedSizeArray)(beet_1.u8, 2)],
96
+ ['settlePnlLimitWindow', beet_1.u32],
97
+ ['settlePnlLimitSettledInCurrentWindowNative', solana_1.i64],
98
+ ['basePositionLots', solana_1.i64],
99
+ ['quotePositionNative', solana_1.i80f48],
100
+ ['quoteRunningNative', solana_1.i64],
101
+ ['longSettledFunding', solana_1.i80f48],
102
+ ['shortSettledFunding', solana_1.i80f48],
103
+ ['bidsBaseLots', solana_1.i64],
104
+ ['asksBaseLots', solana_1.i64],
105
+ ['takerBaseLots', solana_1.i64],
106
+ ['takerQuoteLots', solana_1.i64],
107
+ ['cumulativeLongFunding', solana_1.f64],
108
+ ['cumulativeShortFunding', solana_1.f64],
109
+ ['makerVolume', solana_1.u64],
110
+ ['takerVolume', solana_1.u64],
111
+ ['perpSpotTransfers', solana_1.i64],
112
+ ['avgEntryPricePerBaseLot', solana_1.f64],
113
+ ['realizedTradePnlNative', solana_1.i80f48],
114
+ ['realizedOtherPnlNative', solana_1.i80f48],
115
+ ['settlePnlLimitRealizedTrade', solana_1.i64],
116
+ ['realizedPnlForPositionNative', solana_1.i80f48],
117
+ ['reserved', (0, beet_1.uniformFixedSizeArray)(beet_1.u8, 88)],
118
+ ], (args) => args);
119
+ exports.perpOpenOrderStruct = new beet_1.BeetStruct([
120
+ ['sideAndTree', beet_1.u8],
121
+ ['padding1', (0, beet_1.uniformFixedSizeArray)(beet_1.u8, 1)],
122
+ ['market', beet_1.u16],
123
+ ['padding2', (0, beet_1.uniformFixedSizeArray)(beet_1.u8, 4)],
124
+ ['clientId', solana_1.u64],
125
+ ['id', solana_1.u128],
126
+ ['reserved', (0, beet_1.uniformFixedSizeArray)(beet_1.u8, 64)],
127
+ ], (args) => args);
128
+ exports.mangoAccountStruct = new beet_1.FixableBeetStruct([
129
+ ['buffer', (0, solana_1.blob)(8)],
130
+ ['group', beet_solana_1.publicKey],
131
+ ['owner', beet_solana_1.publicKey],
132
+ ['name', (0, beet_1.uniformFixedSizeArray)(beet_1.u8, 32)],
133
+ ['delegate', beet_solana_1.publicKey],
134
+ ['accountNum', beet_1.u32],
135
+ ['beingLiquidated', beet_1.u8],
136
+ ['inHealthRegion', beet_1.u8],
137
+ ['bump', beet_1.u8],
138
+ ['padding', (0, beet_1.uniformFixedSizeArray)(beet_1.u8, 1)],
139
+ ['netDeposits', solana_1.i64],
140
+ ['perpSpotTransfers', solana_1.i64],
141
+ ['healthRegionBeginInitHealth', solana_1.i64],
142
+ ['frozenUntil', solana_1.u64],
143
+ ['buybackFeesAccruedCurrent', solana_1.u64],
144
+ ['buybackFeesAccruedPrevious', solana_1.u64],
145
+ ['buybackFeesExpiryTimestamp', solana_1.u64],
146
+ ['reserved', (0, beet_1.uniformFixedSizeArray)(beet_1.u8, 208)],
147
+ ['headerVersion', beet_1.u8],
148
+ ['padding3', (0, beet_1.uniformFixedSizeArray)(beet_1.u8, 7)],
149
+ ['padding4', beet_1.u32],
150
+ ['tokens', (0, beet_1.array)(exports.tokenPositionStruct)],
151
+ ['padding5', beet_1.u32],
152
+ ['serum3', (0, beet_1.array)(exports.serum3OrdersStruct)],
153
+ ['padding6', beet_1.u32],
154
+ ['perps', (0, beet_1.array)(exports.perpPositionStruct)],
155
+ ['padding7', beet_1.u32],
156
+ ['perpOpenOrders', (0, beet_1.array)(exports.perpOpenOrderStruct)],
157
+ ], (args) => args);
158
+ //# sourceMappingURL=struct.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"struct.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/mango/struct.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { Bank } from './struct';
2
+ export type BankEnhanced = Bank & {
3
+ depositApr?: number;
4
+ borrowApr?: number;
5
+ };
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/mango/types.ts"],"names":[],"mappings":""}
@@ -1,7 +1,7 @@
1
1
  import { PublicKey } from '@solana/web3.js';
2
2
  import BigNumber from 'bignumber.js';
3
3
  export declare const prefix = "marginfi-banks";
4
- export declare const platformId: string;
4
+ export declare const platformId = "marginfi";
5
5
  export declare const MarginfiProgram: PublicKey;
6
6
  export declare const MarginfiAccountAddress = "4qp6Fx6tnZkY5Wropq9wUYgtFxXKwE6viZxFHg3rdAG8";
7
7
  export declare const solFactor: BigNumber;
@@ -7,9 +7,8 @@ exports.solFactor = exports.MarginfiAccountAddress = exports.MarginfiProgram = e
7
7
  const web3_js_1 = require("@solana/web3.js");
8
8
  const portfolio_core_1 = require("@sonarwatch/portfolio-core");
9
9
  const bignumber_js_1 = __importDefault(require("bignumber.js"));
10
- const platforms_1 = require("../../platforms");
11
10
  exports.prefix = 'marginfi-banks';
12
- exports.platformId = platforms_1.marginfiPlatform.id;
11
+ exports.platformId = 'marginfi';
13
12
  exports.MarginfiProgram = new web3_js_1.PublicKey('MFv2hWf31Z9kbCa1snEPYctwafyhdvnV7FZnsebVacA');
14
13
  exports.MarginfiAccountAddress = '4qp6Fx6tnZkY5Wropq9wUYgtFxXKwE6viZxFHg3rdAG8';
15
14
  exports.solFactor = new bignumber_js_1.default(Math.pow(10, portfolio_core_1.solanaNetwork.native.decimals));
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/marginfi/constants.ts"],"names":[],"mappings":";;;;;;AAAA,6CAA4C;AAC5C,+DAA2D;AAC3D,gEAAqC;AACrC,+CAAmD;AAEtC,QAAA,MAAM,GAAG,gBAAgB,CAAC;AAC1B,QAAA,UAAU,GAAG,4BAAgB,CAAC,EAAE,CAAC;AAEjC,QAAA,eAAe,GAAG,IAAI,mBAAS,CAC1C,6CAA6C,CAC9C,CAAC;AAEW,QAAA,sBAAsB,GACjC,8CAA8C,CAAC;AAEpC,QAAA,SAAS,GAAG,IAAI,sBAAS,CAAC,SAAA,EAAE,EAAI,8BAAa,CAAC,MAAM,CAAC,QAAQ,CAAA,CAAC,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/marginfi/constants.ts"],"names":[],"mappings":";;;;;;AAAA,6CAA4C;AAC5C,+DAA2D;AAC3D,gEAAqC;AAExB,QAAA,MAAM,GAAG,gBAAgB,CAAC;AAC1B,QAAA,UAAU,GAAG,UAAU,CAAC;AAExB,QAAA,eAAe,GAAG,IAAI,mBAAS,CAC1C,6CAA6C,CAC9C,CAAC;AAEW,QAAA,sBAAsB,GACjC,8CAA8C,CAAC;AAEpC,QAAA,SAAS,GAAG,IAAI,sBAAS,CAAC,SAAA,EAAE,EAAI,8BAAa,CAAC,MAAM,CAAC,QAAQ,CAAA,CAAC,CAAC"}
@@ -1,9 +1,9 @@
1
1
  import BigNumber from 'bignumber.js';
2
- import { BankInfo } from './types';
2
+ import { Bank } from './structs/Bank';
3
3
  export declare function wrappedI80F48toBigNumber({ value }: {
4
4
  value: BigNumber;
5
5
  }, scaleDecimal?: number): BigNumber;
6
- export declare function getInterestRates(bank: BankInfo): {
6
+ export declare function getInterestRates(bank: Bank): {
7
7
  lendingApr: number;
8
8
  borrowingApr: number;
9
9
  };
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/marginfi/helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/marginfi/helpers.ts"],"names":[],"mappings":"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"}
@@ -25,6 +25,34 @@ const jobExecutor = (cache) => __awaiter(void 0, void 0, void 0, function* () {
25
25
  prefix: constants_1.prefix,
26
26
  networkId: portfolio_core_1.NetworkId.solana,
27
27
  });
28
+ const { lendingApr, borrowingApr } = (0, helpers_1.getInterestRates)(bank);
29
+ const depositedAmount = (0, helpers_1.wrappedI80F48toBigNumber)(bank.liabilityShareValue)
30
+ .times((0, helpers_1.wrappedI80F48toBigNumber)(bank.totalLiabilityShares))
31
+ .toNumber();
32
+ const borrowedAmount = (0, helpers_1.wrappedI80F48toBigNumber)(bank.assetShareValue)
33
+ .times((0, helpers_1.wrappedI80F48toBigNumber)(bank.totalAssetShares))
34
+ .toNumber();
35
+ const tokenAddress = bank.mint.toString();
36
+ const poolName = bank.config.riskTier === 0 ? 'Global Pool' : 'Isolated Pool';
37
+ const rate = {
38
+ tokenAddress,
39
+ borrowYield: {
40
+ apy: (0, portfolio_core_1.aprToApy)(borrowingApr),
41
+ apr: borrowingApr,
42
+ },
43
+ borrowedAmount,
44
+ depositYield: {
45
+ apy: (0, portfolio_core_1.aprToApy)(lendingApr),
46
+ apr: lendingApr,
47
+ },
48
+ depositedAmount,
49
+ platformId: constants_1.platformId,
50
+ poolName,
51
+ };
52
+ yield cache.setItem(`${bank.pubkey.toString()}-${tokenAddress}`, rate, {
53
+ prefix: portfolio_core_1.borrowLendRatesPrefix,
54
+ networkId: portfolio_core_1.NetworkId.solana,
55
+ });
28
56
  }
29
57
  });
30
58
  exports.default = jobExecutor;
@@ -1 +1 @@
1
- {"version":3,"file":"jobExecutor.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/marginfi/jobExecutor.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,+DAAuD;AACvD,2CAAsD;AACtD,yCAA4C;AAC5C,uCAAyC;AACzC,uCAAqD;AACrD,+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;QAC3D,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;KACH;AACH,CAAC,CAAA,CAAC;AACF,kBAAe,WAAW,CAAC"}
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;QAC3D,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,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;KACJ;AACH,CAAC,CAAA,CAAC;AACF,kBAAe,WAAW,CAAC"}
@@ -28,12 +28,13 @@ export type BankConfig = {
28
28
  assetWeightMaint: WrappedI80F48;
29
29
  liabilityWeightInit: WrappedI80F48;
30
30
  liabilityWeightMaint: WrappedI80F48;
31
- depositLimit: number;
31
+ depositLimit: BigNumber;
32
32
  interestRateConfig: InterestRateConfig;
33
33
  operationalState: BankOperationalState;
34
- oracleSetup: BigNumber;
34
+ oracleSetup: number;
35
35
  oracleKeys: PublicKey[];
36
- borrowLimit: number;
36
+ ignore1: number[];
37
+ borrowLimit: BigNumber;
37
38
  riskTier: RiskTier;
38
39
  padding: BigNumber[];
39
40
  };
@@ -36,6 +36,7 @@ exports.bankConfigStruct = new beet_1.FixableBeetStruct([
36
36
  ['operationalState', beet_1.u8],
37
37
  ['oracleSetup', beet_1.u8],
38
38
  ['oracleKeys', (0, beet_1.uniformFixedSizeArray)(beet_solana_1.publicKey, 5)],
39
+ ['ignore1', (0, beet_1.uniformFixedSizeArray)(beet_1.u8, 6)],
39
40
  ['borrowLimit', solana_1.u64],
40
41
  ['riskTier', beet_1.u8],
41
42
  ['padding', (0, beet_1.uniformFixedSizeArray)(solana_1.u64, 6)],
@@ -1 +1 @@
1
- {"version":3,"file":"Bank.js","sourceRoot":"","sources":["../../../../../../../packages/plugins/src/plugins/marginfi/structs/Bank.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Bank.js","sourceRoot":"","sources":["../../../../../../../packages/plugins/src/plugins/marginfi/structs/Bank.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,6 @@ exports.fetchers = exports.jobs = void 0;
7
7
  const reservesJob_1 = __importDefault(require("./reservesJob"));
8
8
  const marketsJob_1 = __importDefault(require("./marketsJob"));
9
9
  const obligationsFetcher_1 = __importDefault(require("./obligationsFetcher"));
10
- exports.jobs = [reservesJob_1.default, marketsJob_1.default];
10
+ exports.jobs = [marketsJob_1.default, reservesJob_1.default];
11
11
  exports.fetchers = [obligationsFetcher_1.default];
12
12
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/solend/index.ts"],"names":[],"mappings":";;;;;;AAEA,gEAAwC;AACxC,8DAAsC;AACtC,8EAAqD;AAExC,QAAA,IAAI,GAAU,CAAC,qBAAW,EAAE,oBAAU,CAAC,CAAC;AACxC,QAAA,QAAQ,GAAc,CAAC,4BAAiB,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/solend/index.ts"],"names":[],"mappings":";;;;;;AAEA,gEAAwC;AACxC,8DAAsC;AACtC,8EAAqD;AAExC,QAAA,IAAI,GAAU,CAAC,oBAAU,EAAE,qBAAW,CAAC,CAAC;AACxC,QAAA,QAAQ,GAAc,CAAC,4BAAiB,CAAC,CAAC"}