@perena/bankineco-services 1.0.5 → 1.0.7
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/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/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"}
|
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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/oracle/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,gCAAgC,CAAC"}
|
package/dist/oracle/index.js
CHANGED
|
@@ -15,4 +15,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./updateSeedLPPrice"), exports);
|
|
18
|
+
__exportStar(require("./updateDriftVaultPendingYield"), exports);
|
|
18
19
|
//# 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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/oracle/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sDAAoC;AACpC,iEAA+C"}
|
|
@@ -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"}
|