@perena/bankineco-services 1.0.33 → 1.0.35
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/dist/{constants.d.ts → constants/general.d.ts} +1 -1
- package/dist/constants/general.d.ts.map +1 -0
- package/dist/{constants.js → constants/general.js} +1 -1
- package/dist/constants/general.js.map +1 -0
- package/dist/constants/index.d.ts +2 -0
- package/dist/constants/index.d.ts.map +1 -0
- package/dist/constants/index.js +18 -0
- package/dist/constants/index.js.map +1 -0
- package/dist/oracle/index.d.ts +1 -0
- package/dist/oracle/index.d.ts.map +1 -1
- package/dist/oracle/index.js +1 -0
- package/dist/oracle/index.js.map +1 -1
- package/dist/oracle/updateMarginfiVaultPendingYield.d.ts +6 -0
- package/dist/oracle/updateMarginfiVaultPendingYield.d.ts.map +1 -0
- package/dist/oracle/updateMarginfiVaultPendingYield.js +55 -0
- package/dist/oracle/updateMarginfiVaultPendingYield.js.map +1 -0
- package/dist/utils/drift.d.ts.map +1 -1
- package/dist/utils/drift.js +1 -1
- package/dist/utils/drift.js.map +1 -1
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +1 -0
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/marginfi.d.ts +46 -0
- package/dist/utils/marginfi.d.ts.map +1 -0
- package/dist/utils/marginfi.js +102 -0
- package/dist/utils/marginfi.js.map +1 -0
- package/dist/utils/oracle.d.ts.map +1 -1
- package/dist/utils/oracle.js +2 -1
- package/dist/utils/oracle.js.map +1 -1
- package/package.json +3 -2
- package/dist/constants.d.ts.map +0 -1
- package/dist/constants.js.map +0 -1
|
@@ -7,4 +7,4 @@ export declare const TEST_LE_CUSTODIAN = "64nZHh2DBKEkH7PC1Vo7DHRE6k5MohcnqcDyM6
|
|
|
7
7
|
export declare const PROD_LE_CUSTODIAN = "58ubrW9j4SJ28oYoJauGbnSbCCyycrFiQNV6zu3XX5HZ";
|
|
8
8
|
export declare const LE_CUSTODIAN: Record<Environment, string>;
|
|
9
9
|
export declare const LE_YIELD_START_MARKER: Date | undefined;
|
|
10
|
-
//# sourceMappingURL=
|
|
10
|
+
//# sourceMappingURL=general.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"general.d.ts","sourceRoot":"","sources":["../../src/constants/general.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEpD,eAAO,MAAM,0BAA0B,uBAAuB,CAAC;AAC/D,eAAO,MAAM,0BAA0B,wBAAwB,CAAC;AAChE,eAAO,MAAM,6BAA6B,gCAAgC,CAAC;AAC3E,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,CAIrD,CAAC;AAEF,eAAO,MAAM,iBAAiB,iDAAiD,CAAC;AAChF,eAAO,MAAM,iBAAiB,iDAAiD,CAAC;AAChF,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAIpD,CAAC;AAEF,eAAO,MAAM,qBAAqB,kBAErB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"general.js","sourceRoot":"","sources":["../../src/constants/general.ts"],"names":[],"mappings":";;;AAEa,QAAA,0BAA0B,GAAG,oBAAoB,CAAC;AAClD,QAAA,0BAA0B,GAAG,qBAAqB,CAAC;AACnD,QAAA,6BAA6B,GAAG,6BAA6B,CAAC;AAC9D,QAAA,WAAW,GAAkC;IACxD,KAAK,EAAE,EAAE;IACT,IAAI,EAAE,CAAC,kCAA0B,CAAC;IAClC,IAAI,EAAE,CAAC,kCAA0B,EAAE,qCAA6B,CAAC;CAClE,CAAC;AAEW,QAAA,iBAAiB,GAAG,8CAA8C,CAAC,CAAC,sBAAsB;AAC1F,QAAA,iBAAiB,GAAG,8CAA8C,CAAC;AACnE,QAAA,YAAY,GAAgC;IACvD,KAAK,EAAE,EAAE;IACT,IAAI,EAAE,yBAAiB;IACvB,IAAI,EAAE,yBAAiB;CACxB,CAAC;AAEW,QAAA,qBAAqB,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB;IACpE,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC;IAC7C,CAAC,CAAC,SAAS,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/constants/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./general"), exports);
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/constants/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAA0B"}
|
package/dist/oracle/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/oracle/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,gCAAgC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/oracle/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,mCAAmC,CAAC"}
|
package/dist/oracle/index.js
CHANGED
|
@@ -17,4 +17,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
17
17
|
__exportStar(require("./updateSeedLPPrice"), exports);
|
|
18
18
|
__exportStar(require("./updateLEPendingYield"), exports);
|
|
19
19
|
__exportStar(require("./updateDriftVaultPendingYield"), exports);
|
|
20
|
+
__exportStar(require("./updateMarginfiVaultPendingYield"), exports);
|
|
20
21
|
//# sourceMappingURL=index.js.map
|
package/dist/oracle/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/oracle/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sDAAoC;AACpC,yDAAuC;AACvC,iEAA+C"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/oracle/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sDAAoC;AACpC,yDAAuC;AACvC,iEAA+C;AAC/C,oEAAkD"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { Environment, MarginfiVaultTag } from "@perena/bankineco-sdk";
|
|
2
|
+
/**
|
|
3
|
+
* Runner function for oracle service
|
|
4
|
+
*/
|
|
5
|
+
export declare function runUpdateMarginFiVaultPendingYield(env: Environment, signerKeypairFp: string, rpcUrl: string, marginfiVaultTag: MarginfiVaultTag, reportingDiscount?: number): Promise<void>;
|
|
6
|
+
//# sourceMappingURL=updateMarginfiVaultPendingYield.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"updateMarginfiVaultPendingYield.d.ts","sourceRoot":"","sources":["../../src/oracle/updateMarginfiVaultPendingYield.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,WAAW,EAIX,gBAAgB,EAEjB,MAAM,uBAAuB,CAAC;AAyF/B;;GAEG;AACH,wBAAsB,kCAAkC,CACtD,GAAG,EAAE,WAAW,EAChB,eAAe,EAAE,MAAM,EACvB,MAAM,EAAE,MAAM,EACd,gBAAgB,EAAE,gBAAgB,EAClC,iBAAiB,CAAC,EAAE,MAAM,iBAQ3B"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.runUpdateMarginFiVaultPendingYield = runUpdateMarginFiVaultPendingYield;
|
|
4
|
+
const bankineco_sdk_1 = require("@perena/bankineco-sdk");
|
|
5
|
+
const utils_1 = require("../utils");
|
|
6
|
+
const marginfi_1 = require("../utils/marginfi");
|
|
7
|
+
const anchor_1 = require("@coral-xyz/anchor");
|
|
8
|
+
function mostFrequent(arr) {
|
|
9
|
+
if (!arr.length) {
|
|
10
|
+
throw new Error("Array is empty");
|
|
11
|
+
}
|
|
12
|
+
const counts = {};
|
|
13
|
+
let best = arr[0];
|
|
14
|
+
let bestCount = 0;
|
|
15
|
+
for (const n of arr) {
|
|
16
|
+
const c = (counts[n] || 0) + 1;
|
|
17
|
+
counts[n] = c;
|
|
18
|
+
if (c > bestCount) {
|
|
19
|
+
bestCount = c;
|
|
20
|
+
best = n;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
if (bestCount <= 1) {
|
|
24
|
+
throw new Error("No value occurs more than once");
|
|
25
|
+
}
|
|
26
|
+
return best;
|
|
27
|
+
}
|
|
28
|
+
async function updateMarginFiVaultPendingYield(bankineco, marginfiVaultTag, reportingDiscount) {
|
|
29
|
+
const marginfiClient = await (0, marginfi_1.getMarginfiClient)(bankineco.provider.connection);
|
|
30
|
+
const vaultPosition = bankineco_sdk_1.MARGINFI_VAULT_POSITIONS[bankineco.environment][marginfiVaultTag];
|
|
31
|
+
const poolAccounts = bankineco_sdk_1.MARGINFI_POOL_ACCOUNTS[marginfiVaultTag];
|
|
32
|
+
const vault = bankineco.vaultPDA(bankineco.bankPDA(bankineco_sdk_1.USD_STAR_BANK_INDEX), vaultPosition.yieldingMint, vaultPosition.yieldingTokenIndex);
|
|
33
|
+
const marginfiAccount = bankineco.marginfiAccountPDA(vault, poolAccounts.group, vaultPosition.accountIndex, vaultPosition.thirdPartyId);
|
|
34
|
+
const fetches = Array.from({ length: 5 }, () => (0, marginfi_1.getPendingMarginFiYield)(marginfiClient, bankineco, vault, marginfiAccount, poolAccounts.bank).catch(() => undefined));
|
|
35
|
+
const impliedYields = [];
|
|
36
|
+
const results = await Promise.all(fetches);
|
|
37
|
+
for (const res of results) {
|
|
38
|
+
if (res !== undefined) {
|
|
39
|
+
impliedYields.push(res);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
if (impliedYields.length < 4) {
|
|
43
|
+
throw new Error("Not enough attempts at fetching implied yield");
|
|
44
|
+
}
|
|
45
|
+
const impliedYield = new anchor_1.BN(mostFrequent(impliedYields.map((x) => x.toNumber())));
|
|
46
|
+
await (0, utils_1.updateYieldInfoIfNeeded)(bankineco, vault, impliedYield, reportingDiscount);
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Runner function for oracle service
|
|
50
|
+
*/
|
|
51
|
+
async function runUpdateMarginFiVaultPendingYield(env, signerKeypairFp, rpcUrl, marginfiVaultTag, reportingDiscount) {
|
|
52
|
+
const [bankineco] = (0, bankineco_sdk_1.getBankineco)(env, rpcUrl, undefined, signerKeypairFp);
|
|
53
|
+
await updateMarginFiVaultPendingYield(bankineco, marginfiVaultTag, reportingDiscount);
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=updateMarginfiVaultPendingYield.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"updateMarginfiVaultPendingYield.js","sourceRoot":"","sources":["../../src/oracle/updateMarginfiVaultPendingYield.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"drift.d.ts","sourceRoot":"","sources":["../../src/utils/drift.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,WAAW,EAEX,IAAI,EAGL,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAC;AAEvD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,cAAc,EACxB,KAAK,EAAE,WAAW,iBAgBnB;AAED,wBAAsB,cAAc,CAClC,QAAQ,EAAE,cAAc,EACxB,MAAM,CAAC,EAAE,SAAS,wBAwBnB;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,SAAS,8CAEpD;AAED,wBAAsB,6BAA6B,CACjD,KAAK,EAAE,WAAW,EAClB,MAAM,EAAE,SAAS,oCAOlB;AAED,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,WAAW,EAClB,MAAM,EAAE,EAAE,EACV,WAAW,EAAE,MAAM,EACnB,sBAAsB,EAAE,SAAS,EACjC,UAAU,CAAC,EAAE,OAAO,EACpB,YAAY,CAAC,EAAE,MAAM,+DAStB;AAED,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,WAAW,EAClB,MAAM,EAAE,EAAE,EACV,WAAW,EAAE,MAAM,EACnB,sBAAsB,EAAE,SAAS,EACjC,UAAU,CAAC,EAAE,OAAO,EACpB,YAAY,CAAC,EAAE,MAAM,6DAStB;AAED,UAAU,sBAAsB;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,SAAS,CAAC;IACtB,oBAAoB,EAAE,SAAS,CAAC;IAChC,YAAY,EAAE,SAAS,CAAC;IACxB,MAAM,EAAE,EAAE,CAAC;IACX,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,mBAAmB,CAAC,EAAE,SAAS,CAAC;IAChC,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,SAAS,GAAG,UAAU,GAAG,YAAY,EAC7C,SAAS,EAAE,gBAAgB,EAC3B,KAAK,EAAE,WAAW,EAClB,MAAM,EAAE,sBAAsB,
|
|
1
|
+
{"version":3,"file":"drift.d.ts","sourceRoot":"","sources":["../../src/utils/drift.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,WAAW,EAEX,IAAI,EAGL,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAC;AAEvD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,cAAc,EACxB,KAAK,EAAE,WAAW,iBAgBnB;AAED,wBAAsB,cAAc,CAClC,QAAQ,EAAE,cAAc,EACxB,MAAM,CAAC,EAAE,SAAS,wBAwBnB;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,SAAS,8CAEpD;AAED,wBAAsB,6BAA6B,CACjD,KAAK,EAAE,WAAW,EAClB,MAAM,EAAE,SAAS,oCAOlB;AAED,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,WAAW,EAClB,MAAM,EAAE,EAAE,EACV,WAAW,EAAE,MAAM,EACnB,sBAAsB,EAAE,SAAS,EACjC,UAAU,CAAC,EAAE,OAAO,EACpB,YAAY,CAAC,EAAE,MAAM,+DAStB;AAED,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,WAAW,EAClB,MAAM,EAAE,EAAE,EACV,WAAW,EAAE,MAAM,EACnB,sBAAsB,EAAE,SAAS,EACjC,UAAU,CAAC,EAAE,OAAO,EACpB,YAAY,CAAC,EAAE,MAAM,6DAStB;AAED,UAAU,sBAAsB;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,SAAS,CAAC;IACtB,oBAAoB,EAAE,SAAS,CAAC;IAChC,YAAY,EAAE,SAAS,CAAC;IACxB,MAAM,EAAE,EAAE,CAAC;IACX,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,mBAAmB,CAAC,EAAE,SAAS,CAAC;IAChC,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,SAAS,GAAG,UAAU,GAAG,YAAY,EAC7C,SAAS,EAAE,gBAAgB,EAC3B,KAAK,EAAE,WAAW,EAClB,MAAM,EAAE,sBAAsB,wBAiE/B;AAED,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,WAAW,EAClB,IAAI,EAAE,SAAS,EACf,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,EAAE,CAAC,CAyBb"}
|
package/dist/utils/drift.js
CHANGED
|
@@ -72,7 +72,7 @@ async function teamDriftInteractionTx(action, bankineco, drift, params) {
|
|
|
72
72
|
}
|
|
73
73
|
else {
|
|
74
74
|
const driftWithdrawalIx = await getDriftWithdrawIx(drift, params.amount, params.driftMarketIndex, eyManagerAta, false, 0);
|
|
75
|
-
const updateYieldAmountIx = await bankineco.updateYieldingAmount(params.bankIndex, params.vaultState, params.externalYieldManager, params.yieldingMint, params.allAvailableAmount ? undefined : params.amount, Boolean(params.allAvailableAmount), undefined, params.yieldingMintProgram);
|
|
75
|
+
const updateYieldAmountIx = await bankineco.updateYieldingAmount(params.bankIndex, params.vaultState, params.externalYieldManager, params.yieldingMint, params.allAvailableAmount ? undefined : params.amount, Boolean(params.allAvailableAmount), undefined, false, params.yieldingMintProgram);
|
|
76
76
|
return new web3_js_2.Transaction().add(driftWithdrawalIx, updateYieldAmountIx);
|
|
77
77
|
}
|
|
78
78
|
}
|
package/dist/utils/drift.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"drift.js","sourceRoot":"","sources":["../../src/utils/drift.ts"],"names":[],"mappings":";;AAcA,gDAkBC;AAED,wCA0BC;AAED,sDAEC;AAED,sEASC;AAED,8CAeC;AAED,gDAeC;AAaD,
|
|
1
|
+
{"version":3,"file":"drift.js","sourceRoot":"","sources":["../../src/utils/drift.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC"}
|
package/dist/utils/index.js
CHANGED
|
@@ -17,4 +17,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
17
17
|
__exportStar(require("./numeraire"), exports);
|
|
18
18
|
__exportStar(require("./drift"), exports);
|
|
19
19
|
__exportStar(require("./oracle"), exports);
|
|
20
|
+
__exportStar(require("./marginfi"), exports);
|
|
20
21
|
//# sourceMappingURL=index.js.map
|
package/dist/utils/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,0CAAwB;AACxB,2CAAyB"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,0CAAwB;AACxB,2CAAyB;AACzB,6CAA2B"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { Connection, PublicKey } from "@solana/web3.js";
|
|
2
|
+
import { BN, Wallet } from "@coral-xyz/anchor";
|
|
3
|
+
import { BankinecoProgram } from "@perena/bankineco-sdk";
|
|
4
|
+
import { MarginfiClient, MarginfiAccountWrapper } from "@mrgnlabs/marginfi-client-v2";
|
|
5
|
+
/**
|
|
6
|
+
* Gets the MarginFi client
|
|
7
|
+
*/
|
|
8
|
+
export declare function getMarginfiClient(connection: Connection, wallet?: Wallet): Promise<MarginfiClient>;
|
|
9
|
+
/**
|
|
10
|
+
* Gets the MarginFi account wrapper for a vault
|
|
11
|
+
*/
|
|
12
|
+
export declare function getMarginfiAccountWrapper(client: MarginfiClient, marginfiAccountPk: PublicKey): Promise<MarginfiAccountWrapper>;
|
|
13
|
+
/**
|
|
14
|
+
* Gets the vault's balance in MarginFi for a specific bank
|
|
15
|
+
*
|
|
16
|
+
* @param client - MarginFi client instance (pass to avoid refetching all banks)
|
|
17
|
+
* @param marginfiAccount - MarginFi account address
|
|
18
|
+
* @param marginfiBank - MarginFi bank address
|
|
19
|
+
* @returns Balance in native token amount (with decimals)
|
|
20
|
+
*/
|
|
21
|
+
export declare function getMarginFiVaultBalance(client: MarginfiClient, marginfiAccount: PublicKey, marginfiBank: PublicKey): Promise<BN>;
|
|
22
|
+
/**
|
|
23
|
+
* Calculates pending yield for a MarginFi vault
|
|
24
|
+
*
|
|
25
|
+
* Formula: newYield = currentBalance - (principal + alreadyReportedPending)
|
|
26
|
+
* - currentBalance: Total tokens in MarginFi (principal + accrued yield)
|
|
27
|
+
* - principal: external_yielding_amount (tracked by deposit_in_lp/withdraw_from_lp)
|
|
28
|
+
* - alreadyReportedPending: Yield already reported by oracle
|
|
29
|
+
*
|
|
30
|
+
* @param client - MarginFi client instance
|
|
31
|
+
* @param bankineco - Bankineco program instance
|
|
32
|
+
* @param vaultState - Vault state PDA
|
|
33
|
+
* @param marginfiAccount - MarginFi account PDA
|
|
34
|
+
* @param marginfiBank - MarginFi bank address
|
|
35
|
+
* @returns New unreported yield amount
|
|
36
|
+
*/
|
|
37
|
+
export declare function getPendingMarginFiYield(client: MarginfiClient, bankineco: BankinecoProgram, vaultState: PublicKey, marginfiAccount: PublicKey, marginfiBank: PublicKey): Promise<BN>;
|
|
38
|
+
/**
|
|
39
|
+
* Gets oracle account addresses from MarginFi bank for health checks during withdrawals
|
|
40
|
+
*
|
|
41
|
+
* @param client - MarginFi client instance
|
|
42
|
+
* @param marginfiBank - MarginFi bank address
|
|
43
|
+
* @returns Array of oracle account public keys (filtered for non-default keys)
|
|
44
|
+
*/
|
|
45
|
+
export declare function getMarginFiBankOracleAccounts(client: MarginfiClient, marginfiBank: PublicKey): PublicKey[];
|
|
46
|
+
//# sourceMappingURL=marginfi.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"marginfi.d.ts","sourceRoot":"","sources":["../../src/utils/marginfi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EACL,cAAc,EACd,sBAAsB,EAEvB,MAAM,8BAA8B,CAAC;AAEtC;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,UAAU,EAAE,UAAU,EACtB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,cAAc,CAAC,CAGzB;AAED;;GAEG;AACH,wBAAsB,yBAAyB,CAC7C,MAAM,EAAE,cAAc,EACtB,iBAAiB,EAAE,SAAS,GAC3B,OAAO,CAAC,sBAAsB,CAAC,CAEjC;AAED;;;;;;;GAOG;AACH,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,cAAc,EACtB,eAAe,EAAE,SAAS,EAC1B,YAAY,EAAE,SAAS,GACtB,OAAO,CAAC,EAAE,CAAC,CAiCb;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,cAAc,EACtB,SAAS,EAAE,gBAAgB,EAC3B,UAAU,EAAE,SAAS,EACrB,eAAe,EAAE,SAAS,EAC1B,YAAY,EAAE,SAAS,GACtB,OAAO,CAAC,EAAE,CAAC,CAmCb;AAED;;;;;;GAMG;AACH,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,cAAc,EACtB,YAAY,EAAE,SAAS,GACtB,SAAS,EAAE,CAoBb"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getMarginfiClient = getMarginfiClient;
|
|
4
|
+
exports.getMarginfiAccountWrapper = getMarginfiAccountWrapper;
|
|
5
|
+
exports.getMarginFiVaultBalance = getMarginFiVaultBalance;
|
|
6
|
+
exports.getPendingMarginFiYield = getPendingMarginFiYield;
|
|
7
|
+
exports.getMarginFiBankOracleAccounts = getMarginFiBankOracleAccounts;
|
|
8
|
+
const web3_js_1 = require("@solana/web3.js");
|
|
9
|
+
const anchor_1 = require("@coral-xyz/anchor");
|
|
10
|
+
const marginfi_client_v2_1 = require("@mrgnlabs/marginfi-client-v2");
|
|
11
|
+
/**
|
|
12
|
+
* Gets the MarginFi client
|
|
13
|
+
*/
|
|
14
|
+
async function getMarginfiClient(connection, wallet) {
|
|
15
|
+
const config = (0, marginfi_client_v2_1.getConfig)("production");
|
|
16
|
+
return await marginfi_client_v2_1.MarginfiClient.fetch(config, wallet, connection);
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Gets the MarginFi account wrapper for a vault
|
|
20
|
+
*/
|
|
21
|
+
async function getMarginfiAccountWrapper(client, marginfiAccountPk) {
|
|
22
|
+
return await marginfi_client_v2_1.MarginfiAccountWrapper.fetch(marginfiAccountPk, client);
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Gets the vault's balance in MarginFi for a specific bank
|
|
26
|
+
*
|
|
27
|
+
* @param client - MarginFi client instance (pass to avoid refetching all banks)
|
|
28
|
+
* @param marginfiAccount - MarginFi account address
|
|
29
|
+
* @param marginfiBank - MarginFi bank address
|
|
30
|
+
* @returns Balance in native token amount (with decimals)
|
|
31
|
+
*/
|
|
32
|
+
async function getMarginFiVaultBalance(client, marginfiAccount, marginfiBank) {
|
|
33
|
+
const account = await getMarginfiAccountWrapper(client, marginfiAccount);
|
|
34
|
+
// Get the balance for this specific bank
|
|
35
|
+
const balance = account.activeBalances.find((b) => b.bankPk.equals(marginfiBank));
|
|
36
|
+
if (!balance) {
|
|
37
|
+
console.log(`[getMarginFiVaultBalance] No active balance found for bank ${marginfiBank.toBase58()}`);
|
|
38
|
+
return new anchor_1.BN(0);
|
|
39
|
+
}
|
|
40
|
+
// Get the bank object to compute underlying tokens
|
|
41
|
+
const bank = client.getBankByPk(marginfiBank);
|
|
42
|
+
if (!bank) {
|
|
43
|
+
throw new Error(`Bank not found: ${marginfiBank.toBase58()}`);
|
|
44
|
+
}
|
|
45
|
+
// Use SDK's computeQuantity to convert shares to native token amount
|
|
46
|
+
// This method handles decimal conversion internally, returns native amount directly
|
|
47
|
+
const quantity = balance.computeQuantity(bank);
|
|
48
|
+
// Convert BigNumber (from bignumber.js) to BN (from anchor)
|
|
49
|
+
const underlyingAmount = new anchor_1.BN(quantity.assets.toFixed(0));
|
|
50
|
+
console.log(`[getMarginFiVaultBalance] Balance: ${underlyingAmount.toString()}`);
|
|
51
|
+
return underlyingAmount;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Calculates pending yield for a MarginFi vault
|
|
55
|
+
*
|
|
56
|
+
* Formula: newYield = currentBalance - (principal + alreadyReportedPending)
|
|
57
|
+
* - currentBalance: Total tokens in MarginFi (principal + accrued yield)
|
|
58
|
+
* - principal: external_yielding_amount (tracked by deposit_in_lp/withdraw_from_lp)
|
|
59
|
+
* - alreadyReportedPending: Yield already reported by oracle
|
|
60
|
+
*
|
|
61
|
+
* @param client - MarginFi client instance
|
|
62
|
+
* @param bankineco - Bankineco program instance
|
|
63
|
+
* @param vaultState - Vault state PDA
|
|
64
|
+
* @param marginfiAccount - MarginFi account PDA
|
|
65
|
+
* @param marginfiBank - MarginFi bank address
|
|
66
|
+
* @returns New unreported yield amount
|
|
67
|
+
*/
|
|
68
|
+
async function getPendingMarginFiYield(client, bankineco, vaultState, marginfiAccount, marginfiBank) {
|
|
69
|
+
// Get current MarginFi balance
|
|
70
|
+
const currentBalance = await getMarginFiVaultBalance(client, marginfiAccount, marginfiBank);
|
|
71
|
+
console.log(`[getPendingMarginFiYield] Current MarginFi balance: ${currentBalance.toString()}`);
|
|
72
|
+
// Get vault's accounting
|
|
73
|
+
const vault = await bankineco.pg.account.vaultGenState.fetch(vaultState);
|
|
74
|
+
// external_yielding_amount tracks the principal deposited into MarginFi
|
|
75
|
+
const principal = vault.accounting.externalYieldingAmount;
|
|
76
|
+
console.log(`[getPendingMarginFiYield] Principal in MarginFi: ${principal.toString()}`);
|
|
77
|
+
const newYield = currentBalance.sub(principal);
|
|
78
|
+
if (currentBalance.toNumber() < principal.toNumber()) {
|
|
79
|
+
throw new Error("Current balance is less than principal, likely encountering drift due to the difference in timing when fetching Marginfi account and vault data");
|
|
80
|
+
}
|
|
81
|
+
console.log(`[getPendingMarginFiYield] New pending yield: ${newYield.toString()}`);
|
|
82
|
+
return newYield.gt(new anchor_1.BN(0)) ? newYield : new anchor_1.BN(0);
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Gets oracle account addresses from MarginFi bank for health checks during withdrawals
|
|
86
|
+
*
|
|
87
|
+
* @param client - MarginFi client instance
|
|
88
|
+
* @param marginfiBank - MarginFi bank address
|
|
89
|
+
* @returns Array of oracle account public keys (filtered for non-default keys)
|
|
90
|
+
*/
|
|
91
|
+
function getMarginFiBankOracleAccounts(client, marginfiBank) {
|
|
92
|
+
const bank = client.getBankByPk(marginfiBank);
|
|
93
|
+
if (!bank) {
|
|
94
|
+
console.warn(`[getMarginFiBankOracleAccounts] Bank not found: ${marginfiBank.toBase58()}`);
|
|
95
|
+
return [];
|
|
96
|
+
}
|
|
97
|
+
// Get oracle keys from bank config
|
|
98
|
+
const oracleKeys = bank.config.oracleKeys.filter((key) => !key.equals(web3_js_1.PublicKey.default));
|
|
99
|
+
console.log(`[getMarginFiBankOracleAccounts] Found ${oracleKeys.length} oracle accounts`);
|
|
100
|
+
return oracleKeys;
|
|
101
|
+
}
|
|
102
|
+
//# sourceMappingURL=marginfi.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"marginfi.js","sourceRoot":"","sources":["../../src/utils/marginfi.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oracle.d.ts","sourceRoot":"","sources":["../../src/utils/oracle.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,
|
|
1
|
+
{"version":3,"file":"oracle.d.ts","sourceRoot":"","sources":["../../src/utils/oracle.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EASjB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAC;AAOvC,wBAAsB,oBAAoB,CACxC,SAAS,EAAE,gBAAgB,EAC3B,UAAU,EAAE,SAAS,eAsBtB;AAED,wBAAsB,kBAAkB,CACtC,SAAS,EAAE,gBAAgB,EAC3B,UAAU,EAAE,SAAS,EACrB,oBAAoB,EAAE,MAAM;;;;;;;;GAyC7B;AAED,wBAAsB,uBAAuB,CAC3C,SAAS,EAAE,gBAAgB,EAC3B,UAAU,EAAE,SAAS,EACrB,YAAY,EAAE,EAAE,EAChB,iBAAiB,GAAE,MAAU,EAC7B,OAAO,CAAC,EAAE,IAAI,iBA+Ef"}
|
package/dist/utils/oracle.js
CHANGED
|
@@ -47,7 +47,8 @@ async function updateYieldInfoIfNeeded(bankineco, vaultState, impliedYield, repo
|
|
|
47
47
|
const yieldingMint = vaultInfo.config.yieldingTokenMint;
|
|
48
48
|
const yieldingMintDecimals = vaultInfo.config.yieldingMintDecimals;
|
|
49
49
|
impliedYield = impliedYield.muln(1 - reportingDiscount);
|
|
50
|
-
const impliedYieldWithoutPerformanceFee =
|
|
50
|
+
const impliedYieldWithoutPerformanceFee = (0, bankineco_sdk_1.yieldWithoutPerformanceFee)(impliedYield, vaultInfo.config.performanceFeeBps);
|
|
51
|
+
console.log(impliedYield.toNumber(), impliedYieldWithoutPerformanceFee.toNumber(), vaultInfo.config.performanceFeeBps);
|
|
51
52
|
const diffMs = Date.now() - lastUpdatedTs.toNumber() * 1000;
|
|
52
53
|
const hoursSinceLastUpdate = diffMs / (1000 * 60 * 60);
|
|
53
54
|
const impliedUiYield = (0, bankineco_sdk_1.toUiAmount)(impliedYieldWithoutPerformanceFee, yieldingMintDecimals);
|
package/dist/utils/oracle.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oracle.js","sourceRoot":"","sources":["../../src/utils/oracle.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"oracle.js","sourceRoot":"","sources":["../../src/utils/oracle.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@perena/bankineco-services",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.35",
|
|
4
4
|
"description": "Services infra for maintaining Bankineco program on Solana.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -26,7 +26,8 @@
|
|
|
26
26
|
"dependencies": {
|
|
27
27
|
"@coral-xyz/anchor": "=0.30.1",
|
|
28
28
|
"@drift-labs/sdk": "=2.137.0",
|
|
29
|
-
"@
|
|
29
|
+
"@mrgnlabs/marginfi-client-v2": "^6.2.1",
|
|
30
|
+
"@perena/bankineco-sdk": "=1.0.65",
|
|
30
31
|
"@perena/numeraire-sdk-new": "=1.1.1",
|
|
31
32
|
"@solana/spl-token": "=0.4.13",
|
|
32
33
|
"@solana/web3.js": "=1.98.4",
|
package/dist/constants.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEpD,eAAO,MAAM,0BAA0B,uBAAuB,CAAC;AAC/D,eAAO,MAAM,0BAA0B,wBAAwB,CAAC;AAChE,eAAO,MAAM,6BAA6B,gCAAgC,CAAC;AAC3E,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,CAIrD,CAAC;AAEF,eAAO,MAAM,iBAAiB,iDAAiD,CAAC;AAChF,eAAO,MAAM,iBAAiB,iDAAiD,CAAC;AAChF,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAIpD,CAAC;AAEF,eAAO,MAAM,qBAAqB,kBAErB,CAAC"}
|
package/dist/constants.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";;;AAEa,QAAA,0BAA0B,GAAG,oBAAoB,CAAC;AAClD,QAAA,0BAA0B,GAAG,qBAAqB,CAAC;AACnD,QAAA,6BAA6B,GAAG,6BAA6B,CAAC;AAC9D,QAAA,WAAW,GAAkC;IACxD,KAAK,EAAE,EAAE;IACT,IAAI,EAAE,CAAC,kCAA0B,CAAC;IAClC,IAAI,EAAE,CAAC,kCAA0B,EAAE,qCAA6B,CAAC;CAClE,CAAC;AAEW,QAAA,iBAAiB,GAAG,8CAA8C,CAAC,CAAC,sBAAsB;AAC1F,QAAA,iBAAiB,GAAG,8CAA8C,CAAC;AACnE,QAAA,YAAY,GAAgC;IACvD,KAAK,EAAE,EAAE;IACT,IAAI,EAAE,yBAAiB;IACvB,IAAI,EAAE,yBAAiB;CACxB,CAAC;AAEW,QAAA,qBAAqB,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB;IACpE,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC;IAC7C,CAAC,CAAC,SAAS,CAAC"}
|