@perena/bankineco-services 1.0.34 → 1.0.36
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/oracle/updateMarginfiVaultPendingYield.d.ts.map +1 -1
- package/dist/oracle/updateMarginfiVaultPendingYield.js +42 -1
- package/dist/oracle/updateMarginfiVaultPendingYield.js.map +1 -1
- package/dist/utils/marginfi.d.ts.map +1 -1
- package/dist/utils/marginfi.js +3 -2
- package/dist/utils/marginfi.js.map +1 -1
- package/dist/utils/oracle.d.ts.map +1 -1
- package/dist/utils/oracle.js +5 -1
- package/dist/utils/oracle.js.map +1 -1
- package/package.json +4 -3
|
@@ -1 +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;
|
|
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;AAkG/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"}
|
|
@@ -4,13 +4,54 @@ exports.runUpdateMarginFiVaultPendingYield = runUpdateMarginFiVaultPendingYield;
|
|
|
4
4
|
const bankineco_sdk_1 = require("@perena/bankineco-sdk");
|
|
5
5
|
const utils_1 = require("../utils");
|
|
6
6
|
const marginfi_1 = require("../utils/marginfi");
|
|
7
|
+
const anchor_1 = require("@coral-xyz/anchor");
|
|
8
|
+
const ts_retry_1 = require("ts-retry");
|
|
9
|
+
function mostFrequent(arr) {
|
|
10
|
+
if (!arr.length) {
|
|
11
|
+
throw new Error("Array is empty");
|
|
12
|
+
}
|
|
13
|
+
const counts = {};
|
|
14
|
+
let best = arr[0];
|
|
15
|
+
let bestCount = 0;
|
|
16
|
+
for (const n of arr) {
|
|
17
|
+
const c = (counts[n] || 0) + 1;
|
|
18
|
+
counts[n] = c;
|
|
19
|
+
if (c > bestCount) {
|
|
20
|
+
bestCount = c;
|
|
21
|
+
best = n;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
if (bestCount <= 1) {
|
|
25
|
+
throw new Error("No value occurs more than once");
|
|
26
|
+
}
|
|
27
|
+
return best;
|
|
28
|
+
}
|
|
7
29
|
async function updateMarginFiVaultPendingYield(bankineco, marginfiVaultTag, reportingDiscount) {
|
|
8
30
|
const marginfiClient = await (0, marginfi_1.getMarginfiClient)(bankineco.provider.connection);
|
|
9
31
|
const vaultPosition = bankineco_sdk_1.MARGINFI_VAULT_POSITIONS[bankineco.environment][marginfiVaultTag];
|
|
10
32
|
const poolAccounts = bankineco_sdk_1.MARGINFI_POOL_ACCOUNTS[marginfiVaultTag];
|
|
11
33
|
const vault = bankineco.vaultPDA(bankineco.bankPDA(bankineco_sdk_1.USD_STAR_BANK_INDEX), vaultPosition.yieldingMint, vaultPosition.yieldingTokenIndex);
|
|
12
34
|
const marginfiAccount = bankineco.marginfiAccountPDA(vault, poolAccounts.group, vaultPosition.accountIndex, vaultPosition.thirdPartyId);
|
|
13
|
-
const
|
|
35
|
+
const impliedYields = [];
|
|
36
|
+
for (let i = 0; i < 5; i++) {
|
|
37
|
+
let res = undefined;
|
|
38
|
+
try {
|
|
39
|
+
res = await (0, ts_retry_1.retryAsync)(async () => await (0, marginfi_1.getPendingMarginFiYield)(marginfiClient, bankineco, vault, marginfiAccount, poolAccounts.bank), {
|
|
40
|
+
delay: 500,
|
|
41
|
+
maxTry: 3,
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
catch (e) {
|
|
45
|
+
console.log(e);
|
|
46
|
+
}
|
|
47
|
+
if (res) {
|
|
48
|
+
impliedYields.push(res);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
if (impliedYields.length < 4) {
|
|
52
|
+
throw new Error("Not enough attempts at fetching implied yield");
|
|
53
|
+
}
|
|
54
|
+
const impliedYield = new anchor_1.BN(mostFrequent(impliedYields.map((x) => x.toNumber())));
|
|
14
55
|
await (0, utils_1.updateYieldInfoIfNeeded)(bankineco, vault, impliedYield, reportingDiscount);
|
|
15
56
|
}
|
|
16
57
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"updateMarginfiVaultPendingYield.js","sourceRoot":"","sources":["../../src/oracle/updateMarginfiVaultPendingYield.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"updateMarginfiVaultPendingYield.js","sourceRoot":"","sources":["../../src/oracle/updateMarginfiVaultPendingYield.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +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,
|
|
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"}
|
package/dist/utils/marginfi.js
CHANGED
|
@@ -71,12 +71,13 @@ async function getPendingMarginFiYield(client, bankineco, vaultState, marginfiAc
|
|
|
71
71
|
console.log(`[getPendingMarginFiYield] Current MarginFi balance: ${currentBalance.toString()}`);
|
|
72
72
|
// Get vault's accounting
|
|
73
73
|
const vault = await bankineco.pg.account.vaultGenState.fetch(vaultState);
|
|
74
|
-
const oracleState = await bankineco.pg.account.oracleGenState.fetch(bankineco.oraclePDA(vaultState));
|
|
75
74
|
// external_yielding_amount tracks the principal deposited into MarginFi
|
|
76
75
|
const principal = vault.accounting.externalYieldingAmount;
|
|
77
76
|
console.log(`[getPendingMarginFiYield] Principal in MarginFi: ${principal.toString()}`);
|
|
78
|
-
// New yield = current_balance - principal - already_reported
|
|
79
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
|
+
}
|
|
80
81
|
console.log(`[getPendingMarginFiYield] New pending yield: ${newYield.toString()}`);
|
|
81
82
|
return newYield.gt(new anchor_1.BN(0)) ? newYield : new anchor_1.BN(0);
|
|
82
83
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"marginfi.js","sourceRoot":"","sources":["../../src/utils/marginfi.ts"],"names":[],"mappings":";;AAYA,8CAMC;AAKD,8DAKC;AAUD,0DAqCC;AAiBD,
|
|
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,EASjB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAC;
|
|
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;AAQvC,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,iBAsFf"}
|
package/dist/utils/oracle.js
CHANGED
|
@@ -6,6 +6,7 @@ exports.updateYieldInfoIfNeeded = updateYieldInfoIfNeeded;
|
|
|
6
6
|
const bankineco_sdk_1 = require("@perena/bankineco-sdk");
|
|
7
7
|
const web3_js_1 = require("@solana/web3.js");
|
|
8
8
|
const drift_1 = require("./drift");
|
|
9
|
+
const ts_retry_1 = require("ts-retry");
|
|
9
10
|
async function getPendingDriftYield(bankineco, vaultState) {
|
|
10
11
|
const teamInfo = await bankineco.pg.account.teamGenState.fetch(bankineco.teamPDA(vaultState));
|
|
11
12
|
const eyManager = teamInfo.details.yieldManager;
|
|
@@ -67,7 +68,10 @@ async function updateYieldInfoIfNeeded(bankineco, vaultState, impliedYield, repo
|
|
|
67
68
|
console.log("Registered oracle: ", signerIsRegisteredOracle);
|
|
68
69
|
if (signerIsRegisteredOracle) {
|
|
69
70
|
console.log("Sending yield update...");
|
|
70
|
-
const sig = await (0, bankineco_sdk_1.signSendAndConfirm)(bankineco.connection, await bankineco.updateYieldingInfo(bankineco_sdk_1.USD_STAR_BANK_INDEX, new web3_js_1.PublicKey(bankineco_sdk_1.USD_STAR[bankineco.environment]), vaultState, bankineco.provider.publicKey, yieldingMint, impliedYield, startAt), [bankineco.provider.wallet])
|
|
71
|
+
const sig = await (0, ts_retry_1.retryAsync)(async () => await (0, bankineco_sdk_1.signSendAndConfirm)(bankineco.connection, await bankineco.updateYieldingInfo(bankineco_sdk_1.USD_STAR_BANK_INDEX, new web3_js_1.PublicKey(bankineco_sdk_1.USD_STAR[bankineco.environment]), vaultState, bankineco.provider.publicKey, yieldingMint, impliedYield, startAt), [bankineco.provider.wallet]), {
|
|
72
|
+
delay: 500,
|
|
73
|
+
maxTry: 3,
|
|
74
|
+
});
|
|
71
75
|
console.log("Success broadcasting yield, tx ", sig);
|
|
72
76
|
}
|
|
73
77
|
}
|
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.36",
|
|
4
4
|
"description": "Services infra for maintaining Bankineco program on Solana.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -27,12 +27,13 @@
|
|
|
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.
|
|
30
|
+
"@perena/bankineco-sdk": "=1.0.70",
|
|
31
31
|
"@perena/numeraire-sdk-new": "=1.1.1",
|
|
32
32
|
"@solana/spl-token": "=0.4.13",
|
|
33
33
|
"@solana/web3.js": "=1.98.4",
|
|
34
34
|
"@sqds/multisig": "^2.1.4",
|
|
35
|
-
"rpc-websockets": "=7.5.1"
|
|
35
|
+
"rpc-websockets": "=7.5.1",
|
|
36
|
+
"ts-retry": "^6.0.0"
|
|
36
37
|
},
|
|
37
38
|
"devDependencies": {
|
|
38
39
|
"@types/bn.js": "^5.1.0",
|