@perena/bankineco-services 1.0.5 → 1.0.6
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 +2 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +5 -0
- package/dist/constants.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/oracle/updateDriftVaultPendingYield.d.ts.map +1 -1
- package/dist/oracle/updateDriftVaultPendingYield.js +7 -2
- package/dist/oracle/updateDriftVaultPendingYield.js.map +1 -1
- package/dist/utils/oracle.d.ts.map +1 -1
- package/dist/utils/oracle.js +3 -5
- package/dist/utils/oracle.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,2BAA2B,OAAO,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,2BAA2B,GAAG,IAAI,CAAC"}
|
package/dist/index.d.ts
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -16,4 +16,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./oracle"), exports);
|
|
18
18
|
__exportStar(require("./utils"), exports);
|
|
19
|
+
__exportStar(require("./constants"), exports);
|
|
19
20
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,0CAAwB"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,0CAAwB;AACxB,8CAA4B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"updateDriftVaultPendingYield.d.ts","sourceRoot":"","sources":["../../src/oracle/updateDriftVaultPendingYield.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,WAAW,
|
|
1
|
+
{"version":3,"file":"updateDriftVaultPendingYield.d.ts","sourceRoot":"","sources":["../../src/oracle/updateDriftVaultPendingYield.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,WAAW,EAUZ,MAAM,uBAAuB,CAAC;AAkG/B,wBAAsB,+BAA+B,CACnD,GAAG,EAAE,WAAW,EAChB,eAAe,EAAE,MAAM,EACvB,MAAM,EAAE,MAAM,iBAQf"}
|
|
@@ -11,12 +11,13 @@ async function updateDriftVaultPendingYield(bankineco, signerKeypairFp) {
|
|
|
11
11
|
const decimals = bankineco_sdk_1.USDC_DECIMALS;
|
|
12
12
|
const vaultState = bankineco.vaultPDA(bankineco.bankPDA(bankineco_sdk_1.USD_STAR_BANK_INDEX), yieldingMint, bankineco_sdk_1.DRIFT_USDC_CONTRACT_INDEX);
|
|
13
13
|
const oracleState = bankineco.oraclePDA(vaultState);
|
|
14
|
+
const vaultInfo = await bankineco.pg.account.vaultGenState.fetch(vaultState);
|
|
14
15
|
const oracleInfo = await bankineco.pg.account.oracleGenState.fetch(oracleState);
|
|
15
16
|
let associatedOracleIdx = oracleInfo.data.oracleRegistry.findIndex((x) => bankineco.provider.wallet.publicKey.equals(x));
|
|
16
17
|
const signerIsRegisteredOracle = associatedOracleIdx !== -1;
|
|
17
18
|
if (!signerIsRegisteredOracle) {
|
|
18
19
|
// Just to test the logic afterwards, no TX will be sent
|
|
19
|
-
associatedOracleIdx =
|
|
20
|
+
associatedOracleIdx = 1;
|
|
20
21
|
}
|
|
21
22
|
const currentOracleUiYields = oracleInfo.data.oraclePendingYield.map((x) => (0, bankineco_sdk_1.toUiAmount)(x, decimals));
|
|
22
23
|
const currentReportedUiYield = (0, bankineco_sdk_1.toUiAmount)(oracleInfo.data.oraclePendingYield[associatedOracleIdx], decimals);
|
|
@@ -30,7 +31,11 @@ async function updateDriftVaultPendingYield(bankineco, signerKeypairFp) {
|
|
|
30
31
|
console.log("Current reported yield: ", currentReportedUiYield);
|
|
31
32
|
console.log("Hours since last update: ", hoursSinceLastUpdate);
|
|
32
33
|
console.log("Implied pending yield: ", impliedUiYield);
|
|
33
|
-
const
|
|
34
|
+
const impliedYieldPct = impliedUiYield /
|
|
35
|
+
(0, bankineco_sdk_1.toUiAmount)(vaultInfo.accounting.yieldingTvl, bankineco_sdk_1.NORMALIZED_BASE_UNITS);
|
|
36
|
+
const currYieldPct = currentReportedUiYield /
|
|
37
|
+
(0, bankineco_sdk_1.toUiAmount)(vaultInfo.accounting.yieldingTvl, bankineco_sdk_1.NORMALIZED_BASE_UNITS);
|
|
38
|
+
const priceDiffBps = Math.floor(Math.abs((currYieldPct / impliedYieldPct - 1) * 100000));
|
|
34
39
|
if (priceDiffBps > 5 || hoursSinceLastUpdate >= 23) {
|
|
35
40
|
console.log("Updating yield to ", impliedUiYield, " vs. a yield of ", currentReportedUiYield);
|
|
36
41
|
if (signerIsRegisteredOracle) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"updateDriftVaultPendingYield.js","sourceRoot":"","sources":["../../src/oracle/updateDriftVaultPendingYield.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"updateDriftVaultPendingYield.js","sourceRoot":"","sources":["../../src/oracle/updateDriftVaultPendingYield.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,EAQjB,MAAM,uBAAuB,CAAC;AAK/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,EAQjB,MAAM,uBAAuB,CAAC;AAK/B,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAC;AAQvC,wBAAsB,YAAY,CAAC,eAAe,EAAE,MAAM,iBAazD;AAED,wBAAsB,oBAAoB,CACxC,SAAS,EAAE,gBAAgB,EAC3B,UAAU,EAAE,SAAS,EACrB,MAAM,EAAE,SAAS,EACjB,aAAa,YAAmB,eAmBjC"}
|
package/dist/utils/oracle.js
CHANGED
|
@@ -6,6 +6,7 @@ const bankineco_sdk_1 = require("@perena/bankineco-sdk");
|
|
|
6
6
|
const spl_token_1 = require("@solana/spl-token");
|
|
7
7
|
const web3_js_1 = require("@solana/web3.js");
|
|
8
8
|
const drift_1 = require("./drift");
|
|
9
|
+
const constants_1 = require("../constants");
|
|
9
10
|
async function oracleReport(signerKeypairFp) {
|
|
10
11
|
const signer = (0, bankineco_sdk_1.readKeypairFile)(signerKeypairFp).publicKey;
|
|
11
12
|
const url = {
|
|
@@ -19,13 +20,10 @@ async function oracleReport(signerKeypairFp) {
|
|
|
19
20
|
async function getPendingDriftYield(bankineco, vaultState, eyMint, eyMintProgram = spl_token_1.TOKEN_PROGRAM_ID) {
|
|
20
21
|
const teamInfo = await bankineco.pg.account.teamGenState.fetch(bankineco.teamPDA(vaultState));
|
|
21
22
|
const eyManager = teamInfo.details.externalYieldManager;
|
|
22
|
-
const eyManagerAta = (0, spl_token_1.getAssociatedTokenAddressSync)(eyMint, eyManager, true, eyMintProgram);
|
|
23
|
-
const ataBalance = await (0, bankineco_sdk_1.getTokenBalance)(bankineco.provider, eyManagerAta);
|
|
24
23
|
const drift = await (0, drift_1.getDriftClient)(bankineco.provider, eyManager);
|
|
25
24
|
const totalExternalLiquidity = teamInfo.accounting.netYieldingToDepositBack;
|
|
26
25
|
const liquidityInDrift = await (0, drift_1.getDriftUserBalance)(drift, eyManager, (0, drift_1.getFirstMarketForMint)(new web3_js_1.PublicKey(bankineco_sdk_1.USDC_MINT)).marketIndex);
|
|
27
|
-
const
|
|
28
|
-
|
|
29
|
-
return pendingYield;
|
|
26
|
+
const pendingYield = liquidityInDrift.sub(totalExternalLiquidity);
|
|
27
|
+
return pendingYield.muln(constants_1.DRIFT_REPORTED_YIELD_FACTOR);
|
|
30
28
|
}
|
|
31
29
|
//# sourceMappingURL=oracle.js.map
|
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":";;AAuBA,oCAaC;AAED,oDAuBC;AA7DD,yDAS+B;AAC/B,iDAG2B;AAC3B,6CAA4C;AAE5C,mCAIiB;AACjB,4CAA2D;AAEpD,KAAK,UAAU,YAAY,CAAC,eAAuB;IACxD,MAAM,MAAM,GAAG,IAAA,+BAAe,EAAC,eAAe,CAAC,CAAC,SAAS,CAAC;IAE1D,MAAM,GAAG,GAA8B;QACrC,CAAC,kCAAkB,CAAC,EAAE,+CAA+C;QACrE,CAAC,kCAAkB,CAAC,EAAE,+CAA+C;KACtE,CAAC;IAEF,IAAI,MAAM,CAAC,QAAQ,EAAE,IAAI,GAAG,EAAE,CAAC;QAC7B,MAAM,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAChD,OAAO,CAAC,KAAK,CAAC,4CAA4C,EAAE,GAAG,CAAC,CACjE,CAAC;IACJ,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,oBAAoB,CACxC,SAA2B,EAC3B,UAAqB,EACrB,MAAiB,EACjB,aAAa,GAAG,4BAAgB;IAEhC,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAC5D,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,CAC9B,CAAC;IACF,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,oBAAoB,CAAC;IAExD,MAAM,KAAK,GAAG,MAAM,IAAA,sBAAc,EAAC,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAElE,MAAM,sBAAsB,GAAG,QAAQ,CAAC,UAAU,CAAC,wBAAwB,CAAC;IAC5E,MAAM,gBAAgB,GAAG,MAAM,IAAA,2BAAmB,EAChD,KAAK,EACL,SAAS,EACT,IAAA,6BAAqB,EAAC,IAAI,mBAAS,CAAC,yBAAS,CAAC,CAAC,CAAC,WAAW,CAC5D,CAAC;IAEF,MAAM,YAAY,GAAG,gBAAgB,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;IAElE,OAAO,YAAY,CAAC,IAAI,CAAC,uCAA2B,CAAC,CAAC;AACxD,CAAC"}
|