@perena/bankineco-services 1.0.2 → 1.0.3
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/updateSeedLPPrice.d.ts.map +1 -1
- package/dist/oracle/updateSeedLPPrice.js +20 -1
- package/dist/oracle/updateSeedLPPrice.js.map +1 -1
- package/dist/utils/numeraire.d.ts.map +1 -1
- package/dist/utils/numeraire.js +21 -3
- package/dist/utils/numeraire.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"updateSeedLPPrice.d.ts","sourceRoot":"","sources":["../../src/oracle/updateSeedLPPrice.ts"],"names":[],"mappings":"AAGA,OAAO,
|
|
1
|
+
{"version":3,"file":"updateSeedLPPrice.d.ts","sourceRoot":"","sources":["../../src/oracle/updateSeedLPPrice.ts"],"names":[],"mappings":"AAGA,OAAO,EAKL,WAAW,EAQZ,MAAM,uBAAuB,CAAC;AAgH/B,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,WAAW,EAChB,eAAe,EAAE,MAAM,EACvB,MAAM,EAAE,MAAM,iBAQf"}
|
|
@@ -6,6 +6,14 @@ const anchor_1 = require("@coral-xyz/anchor");
|
|
|
6
6
|
const utils_1 = require("../utils");
|
|
7
7
|
const bankineco_sdk_1 = require("@perena/bankineco-sdk");
|
|
8
8
|
async function updatePrice(bankineco, signerKeypairFp) {
|
|
9
|
+
if ((0, bankineco_sdk_1.readKeypairFile)(signerKeypairFp).publicKey.toString() == bankineco_sdk_1.DEFAULT_ORACLE_ONE) {
|
|
10
|
+
let reporting_url = "http://116.202.213.144:91/api/report_oracle_1";
|
|
11
|
+
fetch(reporting_url).catch((err) => console.error("API doesnt seam accessible : Fetch failed:", err));
|
|
12
|
+
}
|
|
13
|
+
if ((0, bankineco_sdk_1.readKeypairFile)(signerKeypairFp).publicKey.toString() == bankineco_sdk_1.DEFAULT_ORACLE_TWO) {
|
|
14
|
+
let reporting_url = "http://116.202.213.144:91/api/report_oracle_2";
|
|
15
|
+
fetch(reporting_url).catch((err) => console.error("API doesnt seam accessible : Fetch failed:", err));
|
|
16
|
+
}
|
|
9
17
|
const vaultState = bankineco.vaultPDA(bankineco.bankPDA(bankineco_sdk_1.USD_STAR_BANK_INDEX), new web3_js_1.PublicKey(bankineco_sdk_1.OLD_USD_STAR), bankineco_sdk_1.OLD_USD_STAR_CONTRACT_INDEX);
|
|
10
18
|
const oracleState = bankineco.oraclePDA(vaultState);
|
|
11
19
|
const oracleInfo = await bankineco.pg.account.oracleGenState.fetch(oracleState);
|
|
@@ -19,7 +27,18 @@ async function updatePrice(bankineco, signerKeypairFp) {
|
|
|
19
27
|
const currentOracleUiPrices = oracleInfo.data.oraclePrices.map((x) => (0, bankineco_sdk_1.toUiAmount)(x, decimals));
|
|
20
28
|
const currentReportedUiPrice = (0, bankineco_sdk_1.toUiAmount)(oracleInfo.data.oraclePrices[associatedOracleIdx], decimals);
|
|
21
29
|
const lastUpdatedTs = oracleInfo.data.oracleLastTs[associatedOracleIdx];
|
|
22
|
-
|
|
30
|
+
let impliedPrice = -1;
|
|
31
|
+
try {
|
|
32
|
+
impliedPrice = await (0, utils_1.getOldUsdStarPriceFromBurnSim)(bankineco.provider, signerKeypairFp);
|
|
33
|
+
}
|
|
34
|
+
catch (e) {
|
|
35
|
+
console.log("Error getting Seedpool price, retrying in 10s ", e);
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
if (impliedPrice == -1) {
|
|
39
|
+
console.log("Error getting Seedpool price, retrying in 10s ");
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
23
42
|
const diffMs = Date.now() - lastUpdatedTs.toNumber() * 1000;
|
|
24
43
|
const hoursSinceLastUpdate = diffMs / (1000 * 60 * 60);
|
|
25
44
|
console.log("Current oracle index: ", associatedOracleIdx);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"updateSeedLPPrice.js","sourceRoot":"","sources":["../../src/oracle/updateSeedLPPrice.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"updateSeedLPPrice.js","sourceRoot":"","sources":["../../src/oracle/updateSeedLPPrice.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"numeraire.d.ts","sourceRoot":"","sources":["../../src/utils/numeraire.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,cAAc,EAAe,MAAM,mBAAmB,CAAC;AAIhE,wBAAsB,6BAA6B,CACjD,QAAQ,EAAE,cAAc,EACxB,eAAe,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"numeraire.d.ts","sourceRoot":"","sources":["../../src/utils/numeraire.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,cAAc,EAAe,MAAM,mBAAmB,CAAC;AAIhE,wBAAsB,6BAA6B,CACjD,QAAQ,EAAE,cAAc,EACxB,eAAe,EAAE,MAAM,mBA8ExB"}
|
package/dist/utils/numeraire.js
CHANGED
|
@@ -38,7 +38,7 @@ async function getOldUsdStarPriceFromBurnSim(provider, signerKeypairFp) {
|
|
|
38
38
|
in: 1,
|
|
39
39
|
out: 0,
|
|
40
40
|
exactAmountIn: 100000,
|
|
41
|
-
minAmountOut: 0
|
|
41
|
+
minAmountOut: 0
|
|
42
42
|
});
|
|
43
43
|
let simulatedUsdtSell = await callSwap1.call.simulate({
|
|
44
44
|
commitment: "confirmed",
|
|
@@ -46,9 +46,27 @@ async function getOldUsdStarPriceFromBurnSim(provider, signerKeypairFp) {
|
|
|
46
46
|
let spentUsdt = simulatedUsdtSell.events[0].data.amountIn;
|
|
47
47
|
let gatheredUsdc = simulatedUsdtSell.events[0].data.amountOut;
|
|
48
48
|
let impliedUsdtPrice = gatheredUsdc / spentUsdt;
|
|
49
|
-
|
|
49
|
+
const callSwap2 = await (0, numeraire_sdk_1.swapExactIn)({
|
|
50
|
+
pool: new web3_js_1.PublicKey(numeraire_sdk_1.PRODUCTION_POOLS.tripool),
|
|
51
|
+
in: 2,
|
|
52
|
+
out: 0,
|
|
53
|
+
exactAmountIn: 100000,
|
|
54
|
+
minAmountOut: 0
|
|
55
|
+
});
|
|
56
|
+
let simulatedPyusdSell = await callSwap2.call.simulate({
|
|
57
|
+
commitment: "confirmed",
|
|
58
|
+
});
|
|
59
|
+
let spentPyusd = simulatedPyusdSell.events[0].data.amountIn;
|
|
60
|
+
let gatheredUsdcFromPyusd = simulatedPyusdSell.events[0].data.amountOut;
|
|
61
|
+
let impliedPyusdPrice = gatheredUsdcFromPyusd / spentPyusd;
|
|
50
62
|
// The implied price is also in USDC ie we get a price of 1 Seedpool = X USDC (and not 1 Seedpool = W USD)
|
|
51
|
-
|
|
63
|
+
console.log("USDT onchain price ", impliedUsdtPrice);
|
|
64
|
+
console.log("PYUSD onchain price ", impliedPyusdPrice);
|
|
65
|
+
console.log("amount_usdc ", amountUsdc);
|
|
66
|
+
console.log("amount_usdt ", amountUsdt);
|
|
67
|
+
console.log("amount_pyusd ", amountPyusd);
|
|
68
|
+
console.log("burned_usdstar ", burnedUsdstar);
|
|
69
|
+
let impliedPrice = (amountUsdc + amountUsdt * impliedUsdtPrice + amountPyusd * impliedPyusdPrice) / burnedUsdstar;
|
|
52
70
|
return impliedPrice;
|
|
53
71
|
}
|
|
54
72
|
//# sourceMappingURL=numeraire.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"numeraire.js","sourceRoot":"","sources":["../../src/utils/numeraire.ts"],"names":[],"mappings":";;AAUA,
|
|
1
|
+
{"version":3,"file":"numeraire.js","sourceRoot":"","sources":["../../src/utils/numeraire.ts"],"names":[],"mappings":"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"}
|