@perena/bankineco-services 1.0.9 → 1.0.10
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/api/index.d.ts +2 -0
- package/dist/api/index.d.ts.map +1 -0
- package/dist/api/index.js +18 -0
- package/dist/api/index.js.map +1 -0
- package/dist/api/yieldApi.d.ts +55 -0
- package/dist/api/yieldApi.d.ts.map +1 -0
- package/dist/api/yieldApi.js +51 -0
- package/dist/api/yieldApi.js.map +1 -0
- package/dist/constants.d.ts +7 -0
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +16 -1
- package/dist/constants.js.map +1 -1
- 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/updateAPIPendingYield.d.ts +10 -0
- package/dist/oracle/updateAPIPendingYield.d.ts.map +1 -0
- package/dist/oracle/updateAPIPendingYield.js +17 -0
- package/dist/oracle/updateAPIPendingYield.js.map +1 -0
- package/dist/oracle/updateDriftVaultPendingYield.d.ts.map +1 -1
- package/dist/oracle/updateDriftVaultPendingYield.js +2 -40
- package/dist/oracle/updateDriftVaultPendingYield.js.map +1 -1
- package/dist/oracle/updateLEPendingYield.d.ts +3 -0
- package/dist/oracle/updateLEPendingYield.d.ts.map +1 -0
- package/dist/oracle/updateLEPendingYield.js +16 -0
- package/dist/oracle/updateLEPendingYield.js.map +1 -0
- package/dist/oracle/updateSeedLPPrice.d.ts.map +1 -1
- package/dist/oracle/updateSeedLPPrice.js +2 -14
- package/dist/oracle/updateSeedLPPrice.js.map +1 -1
- package/dist/utils/oracle.d.ts +10 -0
- package/dist/utils/oracle.d.ts.map +1 -1
- package/dist/utils/oracle.js +57 -0
- package/dist/utils/oracle.js.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,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("./yieldApi"), exports);
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA2B"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
interface CreateAccountParams {
|
|
2
|
+
name: string;
|
|
3
|
+
type: string;
|
|
4
|
+
password: string;
|
|
5
|
+
description?: string;
|
|
6
|
+
}
|
|
7
|
+
export declare function createAccount(params: CreateAccountParams): Promise<any>;
|
|
8
|
+
interface AddCashflowUpdateParams {
|
|
9
|
+
accountName: string;
|
|
10
|
+
amount: number;
|
|
11
|
+
date?: Date;
|
|
12
|
+
description?: string;
|
|
13
|
+
password: string;
|
|
14
|
+
cashflowType: "deposit" | "withdraw";
|
|
15
|
+
}
|
|
16
|
+
export declare function addCashflowUpdate(params: AddCashflowUpdateParams): Promise<any>;
|
|
17
|
+
export declare function getCashflows(accountName: string): Promise<any>;
|
|
18
|
+
export interface AccountBalanceResponse {
|
|
19
|
+
account_name: string;
|
|
20
|
+
account_type: string;
|
|
21
|
+
apr: number;
|
|
22
|
+
balance: number;
|
|
23
|
+
as_of: Date;
|
|
24
|
+
}
|
|
25
|
+
export declare function getBalance(accountName: string, atTime?: Date): Promise<AccountBalanceResponse>;
|
|
26
|
+
export interface YieldCalculationLog {
|
|
27
|
+
segment_number: number;
|
|
28
|
+
start_date: string;
|
|
29
|
+
end_date: string;
|
|
30
|
+
duration_seconds: number;
|
|
31
|
+
cashflow_change: number;
|
|
32
|
+
principal_balance: number;
|
|
33
|
+
segment_yield: number;
|
|
34
|
+
cumulative_yield: number;
|
|
35
|
+
calculation_formula: string;
|
|
36
|
+
}
|
|
37
|
+
export interface AccountYieldResponse {
|
|
38
|
+
account: {
|
|
39
|
+
name: string;
|
|
40
|
+
type: string;
|
|
41
|
+
description?: string;
|
|
42
|
+
created_at: Date;
|
|
43
|
+
updated_at: Date;
|
|
44
|
+
};
|
|
45
|
+
total_yield: number;
|
|
46
|
+
principal_at_end: number;
|
|
47
|
+
accrual_start: Date;
|
|
48
|
+
accrual_end: Date;
|
|
49
|
+
time_period_seconds: number;
|
|
50
|
+
apr_used: number;
|
|
51
|
+
calculation_log: YieldCalculationLog[];
|
|
52
|
+
}
|
|
53
|
+
export declare function getYield(accountName: string, start?: Date): Promise<AccountYieldResponse>;
|
|
54
|
+
export {};
|
|
55
|
+
//# sourceMappingURL=yieldApi.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"yieldApi.d.ts","sourceRoot":"","sources":["../../src/api/yieldApi.ts"],"names":[],"mappings":"AAsBA,UAAU,mBAAmB;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,wBAAsB,aAAa,CAAC,MAAM,EAAE,mBAAmB,gBAO9D;AAED,UAAU,uBAAuB;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,SAAS,GAAG,UAAU,CAAC;CACtC;AAED,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,uBAAuB,gBAUtE;AAED,wBAAsB,YAAY,CAAC,WAAW,EAAE,MAAM,gBAErD;AAED,MAAM,WAAW,sBAAsB;IACrC,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,IAAI,CAAC;CACb;AAED,wBAAsB,UAAU,CAC9B,WAAW,EAAE,MAAM,EACnB,MAAM,CAAC,EAAE,IAAI,GACZ,OAAO,CAAC,sBAAsB,CAAC,CAQjC;AAED,MAAM,WAAW,mBAAmB;IAClC,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE;QACP,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,UAAU,EAAE,IAAI,CAAC;QACjB,UAAU,EAAE,IAAI,CAAC;KAClB,CAAC;IACF,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,IAAI,CAAC;IACpB,WAAW,EAAE,IAAI,CAAC;IAClB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,mBAAmB,EAAE,CAAC;CACxC;AAED,wBAAsB,QAAQ,CAC5B,WAAW,EAAE,MAAM,EACnB,KAAK,CAAC,EAAE,IAAI,GACX,OAAO,CAAC,oBAAoB,CAAC,CAQ/B"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createAccount = createAccount;
|
|
4
|
+
exports.addCashflowUpdate = addCashflowUpdate;
|
|
5
|
+
exports.getCashflows = getCashflows;
|
|
6
|
+
exports.getBalance = getBalance;
|
|
7
|
+
exports.getYield = getYield;
|
|
8
|
+
const YIELD_API_BASE = "https://yield-tracker.perena.org";
|
|
9
|
+
async function yieldApiReq(endpoint, reqType, bodyData) {
|
|
10
|
+
const response = await fetch(`${YIELD_API_BASE}/${endpoint}`, {
|
|
11
|
+
method: reqType,
|
|
12
|
+
headers: {
|
|
13
|
+
"Content-Type": "application/json",
|
|
14
|
+
},
|
|
15
|
+
body: bodyData ? JSON.stringify(bodyData) : undefined,
|
|
16
|
+
});
|
|
17
|
+
if (!response.ok) {
|
|
18
|
+
throw new Error(`HTTP error! status: ${response.status}`);
|
|
19
|
+
}
|
|
20
|
+
return await response.json();
|
|
21
|
+
}
|
|
22
|
+
async function createAccount(params) {
|
|
23
|
+
return await yieldApiReq("accounts/new", "POST", {
|
|
24
|
+
name: params.name,
|
|
25
|
+
type: params.type,
|
|
26
|
+
password: params.password,
|
|
27
|
+
description: params.description,
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
async function addCashflowUpdate(params) {
|
|
31
|
+
return await yieldApiReq(`accounts/${params.accountName}/cashflows`, "POST", {
|
|
32
|
+
amount: params.cashflowType === "deposit" ? params.amount : params.amount * -1,
|
|
33
|
+
timestamp: params.date
|
|
34
|
+
? params.date.toISOString().split(".")[0] + "Z"
|
|
35
|
+
: undefined,
|
|
36
|
+
description: params.description,
|
|
37
|
+
password: params.password,
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
async function getCashflows(accountName) {
|
|
41
|
+
return (await yieldApiReq(`accounts/${accountName}/cashflows`, "GET")).data;
|
|
42
|
+
}
|
|
43
|
+
async function getBalance(accountName, atTime) {
|
|
44
|
+
return (await yieldApiReq(`accounts/${accountName}/balance` +
|
|
45
|
+
(atTime ? `?as_of=${atTime.toISOString().split(".")[0] + "Z"}` : ""), "GET")).data;
|
|
46
|
+
}
|
|
47
|
+
async function getYield(accountName, start) {
|
|
48
|
+
return (await yieldApiReq(`accounts/${accountName}/yield` +
|
|
49
|
+
(start ? `?start=${start.toISOString().split(".")[0] + "Z"}` : ""), "GET")).data;
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=yieldApi.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"yieldApi.js","sourceRoot":"","sources":["../../src/api/yieldApi.ts"],"names":[],"mappings":";;AA6BA,sCAOC;AAWD,8CAUC;AAED,oCAEC;AAUD,gCAWC;AA+BD,4BAWC;AA5HD,MAAM,cAAc,GAAG,kCAAkC,CAAC;AAE1D,KAAK,UAAU,WAAW,CACxB,QAAgB,EAChB,OAAuB,EACvB,QAAc;IAEd,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,cAAc,IAAI,QAAQ,EAAE,EAAE;QAC5D,MAAM,EAAE,OAAO;QACf,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;SACnC;QACD,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS;KACtD,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,uBAAuB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;AAC/B,CAAC;AASM,KAAK,UAAU,aAAa,CAAC,MAA2B;IAC7D,OAAO,MAAM,WAAW,CAAC,cAAc,EAAE,MAAM,EAAE;QAC/C,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,WAAW,EAAE,MAAM,CAAC,WAAW;KAChC,CAAC,CAAC;AACL,CAAC;AAWM,KAAK,UAAU,iBAAiB,CAAC,MAA+B;IACrE,OAAO,MAAM,WAAW,CAAC,YAAY,MAAM,CAAC,WAAW,YAAY,EAAE,MAAM,EAAE;QAC3E,MAAM,EACJ,MAAM,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;QACxE,SAAS,EAAE,MAAM,CAAC,IAAI;YACpB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG;YAC/C,CAAC,CAAC,SAAS;QACb,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,QAAQ,EAAE,MAAM,CAAC,QAAQ;KAC1B,CAAC,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,YAAY,CAAC,WAAmB;IACpD,OAAO,CAAC,MAAM,WAAW,CAAC,YAAY,WAAW,YAAY,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AAC9E,CAAC;AAUM,KAAK,UAAU,UAAU,CAC9B,WAAmB,EACnB,MAAa;IAEb,OAAO,CACL,MAAM,WAAW,CACf,YAAY,WAAW,UAAU;QAC/B,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,MAAM,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EACtE,KAAK,CACN,CACF,CAAC,IAAI,CAAC;AACT,CAAC;AA+BM,KAAK,UAAU,QAAQ,CAC5B,WAAmB,EACnB,KAAY;IAEZ,OAAO,CACL,MAAM,WAAW,CACf,YAAY,WAAW,QAAQ;QAC7B,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,KAAK,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EACpE,KAAK,CACN,CACF,CAAC,IAAI,CAAC;AACT,CAAC"}
|
package/dist/constants.d.ts
CHANGED
|
@@ -1,2 +1,9 @@
|
|
|
1
|
+
import { Environment } from "@perena/bankineco-sdk";
|
|
1
2
|
export declare const DRIFT_REPORTED_YIELD_FACTOR = 0.95;
|
|
3
|
+
export declare const LITTLE_ENGINE_TEST_ACCOUNT = "little-engine-test";
|
|
4
|
+
export declare const LITTLE_ENGINE_PROD_ACCOUNT = "little-engine-prod";
|
|
5
|
+
export declare const LE_ACCOUNT: Record<Environment, string>;
|
|
6
|
+
export declare const TEST_LE_CUSTODIAN = "64nZHh2DBKEkH7PC1Vo7DHRE6k5MohcnqcDyM6evwEn8";
|
|
7
|
+
export declare const PROD_LE_CUSTODIAN = "TODO";
|
|
8
|
+
export declare const LE_CUSTODIAN: Record<Environment, string>;
|
|
2
9
|
//# sourceMappingURL=constants.d.ts.map
|
package/dist/constants.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,2BAA2B,OAAO,CAAC"}
|
|
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,2BAA2B,OAAO,CAAC;AAEhD,eAAO,MAAM,0BAA0B,uBAAuB,CAAC;AAC/D,eAAO,MAAM,0BAA0B,uBAAuB,CAAC;AAC/D,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAIlD,CAAC;AAGF,eAAO,MAAM,iBAAiB,iDAAiD,CAAC;AAChF,eAAO,MAAM,iBAAiB,SAAS,CAAC;AACxC,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAIpD,CAAC"}
|
package/dist/constants.js
CHANGED
|
@@ -1,5 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DRIFT_REPORTED_YIELD_FACTOR = void 0;
|
|
3
|
+
exports.LE_CUSTODIAN = exports.PROD_LE_CUSTODIAN = exports.TEST_LE_CUSTODIAN = exports.LE_ACCOUNT = exports.LITTLE_ENGINE_PROD_ACCOUNT = exports.LITTLE_ENGINE_TEST_ACCOUNT = exports.DRIFT_REPORTED_YIELD_FACTOR = void 0;
|
|
4
4
|
exports.DRIFT_REPORTED_YIELD_FACTOR = 0.95;
|
|
5
|
+
exports.LITTLE_ENGINE_TEST_ACCOUNT = "little-engine-test";
|
|
6
|
+
exports.LITTLE_ENGINE_PROD_ACCOUNT = "little-engine-prod";
|
|
7
|
+
exports.LE_ACCOUNT = {
|
|
8
|
+
local: "",
|
|
9
|
+
test: exports.LITTLE_ENGINE_TEST_ACCOUNT,
|
|
10
|
+
prod: exports.LITTLE_ENGINE_PROD_ACCOUNT,
|
|
11
|
+
};
|
|
12
|
+
// test-custodian.json
|
|
13
|
+
exports.TEST_LE_CUSTODIAN = "64nZHh2DBKEkH7PC1Vo7DHRE6k5MohcnqcDyM6evwEn8";
|
|
14
|
+
exports.PROD_LE_CUSTODIAN = "TODO";
|
|
15
|
+
exports.LE_CUSTODIAN = {
|
|
16
|
+
local: "",
|
|
17
|
+
test: exports.TEST_LE_CUSTODIAN,
|
|
18
|
+
prod: exports.PROD_LE_CUSTODIAN,
|
|
19
|
+
};
|
|
5
20
|
//# sourceMappingURL=constants.js.map
|
package/dist/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";;;AAEa,QAAA,2BAA2B,GAAG,IAAI,CAAC;AAEnC,QAAA,0BAA0B,GAAG,oBAAoB,CAAC;AAClD,QAAA,0BAA0B,GAAG,oBAAoB,CAAC;AAClD,QAAA,UAAU,GAAgC;IACrD,KAAK,EAAE,EAAE;IACT,IAAI,EAAE,kCAA0B;IAChC,IAAI,EAAE,kCAA0B;CACjC,CAAC;AAEF,sBAAsB;AACT,QAAA,iBAAiB,GAAG,8CAA8C,CAAC;AACnE,QAAA,iBAAiB,GAAG,MAAM,CAAC;AAC3B,QAAA,YAAY,GAAgC;IACvD,KAAK,EAAE,EAAE;IACT,IAAI,EAAE,yBAAiB;IACvB,IAAI,EAAE,yBAAiB;CACxB,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;AACxB,cAAc,aAAa,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;AAC5B,cAAc,OAAO,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -17,4 +17,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
17
17
|
__exportStar(require("./oracle"), exports);
|
|
18
18
|
__exportStar(require("./utils"), exports);
|
|
19
19
|
__exportStar(require("./constants"), exports);
|
|
20
|
+
__exportStar(require("./api"), exports);
|
|
20
21
|
//# 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;AACxB,8CAA4B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,0CAAwB;AACxB,8CAA4B;AAC5B,wCAAsB"}
|
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,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"}
|
package/dist/oracle/index.js
CHANGED
|
@@ -15,5 +15,6 @@ 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("./updateLEPendingYield"), exports);
|
|
18
19
|
__exportStar(require("./updateDriftVaultPendingYield"), exports);
|
|
19
20
|
//# 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,iEAA+C"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/oracle/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sDAAoC;AACpC,yDAAuC;AACvC,iEAA+C"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Environment } from "@perena/bankineco-sdk";
|
|
2
|
+
import { PublicKey } from "@solana/web3.js";
|
|
3
|
+
export interface APIYieldParams {
|
|
4
|
+
yieldingMint: PublicKey;
|
|
5
|
+
yieldingMintDecimals: number;
|
|
6
|
+
yieldingContractIndex: number;
|
|
7
|
+
accountName: string;
|
|
8
|
+
}
|
|
9
|
+
export declare function runUpdateAPIPendingYield(env: Environment, signerKeypairFp: string, rpcUrl: string, params: APIYieldParams): Promise<void>;
|
|
10
|
+
//# sourceMappingURL=updateAPIPendingYield.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"updateAPIPendingYield.d.ts","sourceRoot":"","sources":["../../src/oracle/updateAPIPendingYield.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,WAAW,EAGZ,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAK5C,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,SAAS,CAAC;IACxB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,WAAW,EAAE,MAAM,CAAC;CACrB;AAiBD,wBAAsB,wBAAwB,CAC5C,GAAG,EAAE,WAAW,EAChB,eAAe,EAAE,MAAM,EACvB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,cAAc,iBAIvB"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.runUpdateAPIPendingYield = runUpdateAPIPendingYield;
|
|
4
|
+
const bankineco_sdk_1 = require("@perena/bankineco-sdk");
|
|
5
|
+
const utils_1 = require("../utils");
|
|
6
|
+
const api_1 = require("../api");
|
|
7
|
+
const anchor_1 = require("@coral-xyz/anchor");
|
|
8
|
+
async function updateAPIPendingYield(bankineco, params) {
|
|
9
|
+
const vaultState = bankineco.vaultPDA(bankineco.bankPDA(bankineco_sdk_1.USD_STAR_BANK_INDEX), params.yieldingMint, params.yieldingContractIndex);
|
|
10
|
+
const impliedYield = new anchor_1.BN((await (0, api_1.getYield)(params.accountName)).total_yield);
|
|
11
|
+
await (0, utils_1.updateYieldInfoIfNeeded)(bankineco, vaultState, impliedYield);
|
|
12
|
+
}
|
|
13
|
+
async function runUpdateAPIPendingYield(env, signerKeypairFp, rpcUrl, params) {
|
|
14
|
+
const [bankineco] = (0, bankineco_sdk_1.getBankineco)(env, rpcUrl, undefined, signerKeypairFp);
|
|
15
|
+
await updateAPIPendingYield(bankineco, params);
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=updateAPIPendingYield.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"updateAPIPendingYield.js","sourceRoot":"","sources":["../../src/oracle/updateAPIPendingYield.ts"],"names":[],"mappings":";;AAiCA,4DAQC;AAzCD,yDAK+B;AAE/B,oCAAmD;AACnD,gCAAkC;AAClC,8CAAuC;AASvC,KAAK,UAAU,qBAAqB,CAClC,SAA2B,EAC3B,MAAsB;IAEtB,MAAM,UAAU,GAAG,SAAS,CAAC,QAAQ,CACnC,SAAS,CAAC,OAAO,CAAC,mCAAmB,CAAC,EACtC,MAAM,CAAC,YAAY,EACnB,MAAM,CAAC,qBAAqB,CAC7B,CAAC;IAEF,MAAM,YAAY,GAAG,IAAI,WAAE,CAAC,CAAC,MAAM,IAAA,cAAQ,EAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;IAE9E,MAAM,IAAA,+BAAuB,EAAC,SAAS,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;AACrE,CAAC;AAEM,KAAK,UAAU,wBAAwB,CAC5C,GAAgB,EAChB,eAAuB,EACvB,MAAc,EACd,MAAsB;IAEtB,MAAM,CAAC,SAAS,CAAC,GAAG,IAAA,4BAAY,EAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;IAC1E,MAAM,qBAAqB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;AACjD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"updateDriftVaultPendingYield.d.ts","sourceRoot":"","sources":["../../src/oracle/updateDriftVaultPendingYield.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"updateDriftVaultPendingYield.d.ts","sourceRoot":"","sources":["../../src/oracle/updateDriftVaultPendingYield.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,WAAW,EAQZ,MAAM,uBAAuB,CAAC;AAgC/B,wBAAsB,+BAA+B,CACnD,GAAG,EAAE,WAAW,EAChB,eAAe,EAAE,MAAM,EACvB,MAAM,EAAE,MAAM,iBAIf"}
|
|
@@ -1,56 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.runUpdateDriftVaultPendingYield = runUpdateDriftVaultPendingYield;
|
|
4
|
-
const anchor_1 = require("@coral-xyz/anchor");
|
|
5
4
|
const bankineco_sdk_1 = require("@perena/bankineco-sdk");
|
|
6
5
|
const utils_1 = require("../utils");
|
|
7
6
|
const web3_js_1 = require("@solana/web3.js");
|
|
8
7
|
async function updateDriftVaultPendingYield(bankineco, signerKeypairFp) {
|
|
9
8
|
await (0, utils_1.oracleReport)(signerKeypairFp);
|
|
10
9
|
const yieldingMint = new web3_js_1.PublicKey(bankineco_sdk_1.USDC_MINT);
|
|
11
|
-
const decimals = bankineco_sdk_1.USDC_DECIMALS;
|
|
12
10
|
const vaultState = bankineco.vaultPDA(bankineco.bankPDA(bankineco_sdk_1.USD_STAR_BANK_INDEX), yieldingMint, bankineco_sdk_1.DRIFT_USDC_CONTRACT_INDEX);
|
|
13
|
-
const oracleState = bankineco.oraclePDA(vaultState);
|
|
14
|
-
const vaultInfo = await bankineco.pg.account.vaultGenState.fetch(vaultState);
|
|
15
|
-
const oracleInfo = await bankineco.pg.account.oracleGenState.fetch(oracleState);
|
|
16
|
-
let associatedOracleIdx = oracleInfo.data.oracleRegistry.findIndex((x) => bankineco.provider.wallet.publicKey.equals(x));
|
|
17
|
-
const signerIsRegisteredOracle = associatedOracleIdx !== -1;
|
|
18
|
-
if (!signerIsRegisteredOracle) {
|
|
19
|
-
// Just to test the logic afterwards, no TX will be sent
|
|
20
|
-
associatedOracleIdx = 1;
|
|
21
|
-
}
|
|
22
|
-
const currentOracleUiYields = oracleInfo.data.oraclePendingYield.map((x) => (0, bankineco_sdk_1.toUiAmount)(x, decimals));
|
|
23
|
-
const currentReportedUiYield = (0, bankineco_sdk_1.toUiAmount)(oracleInfo.data.oraclePendingYield[associatedOracleIdx], decimals);
|
|
24
|
-
const lastUpdatedTs = oracleInfo.data.oracleLastTs[associatedOracleIdx];
|
|
25
11
|
const impliedYield = await (0, utils_1.getPendingDriftYield)(bankineco, vaultState, yieldingMint);
|
|
26
|
-
|
|
27
|
-
const diffMs = Date.now() - lastUpdatedTs.toNumber() * 1000;
|
|
28
|
-
const hoursSinceLastUpdate = diffMs / (1000 * 60 * 60);
|
|
29
|
-
console.log("Current oracle index: ", associatedOracleIdx);
|
|
30
|
-
console.log("All reported yield: ", currentOracleUiYields);
|
|
31
|
-
console.log("Current reported yield: ", currentReportedUiYield);
|
|
32
|
-
console.log("Hours since last update: ", hoursSinceLastUpdate);
|
|
33
|
-
console.log("Implied pending yield: ", impliedUiYield);
|
|
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((impliedYieldPct - currYieldPct) * 100000);
|
|
39
|
-
if (priceDiffBps > 2 || hoursSinceLastUpdate >= 23) {
|
|
40
|
-
console.log("Updating yield to ", impliedUiYield, " vs. a yield of ", currentReportedUiYield);
|
|
41
|
-
if (signerIsRegisteredOracle) {
|
|
42
|
-
console.log("Sending yield update...");
|
|
43
|
-
const sig = await (0, bankineco_sdk_1.signSendAndConfirm)(bankineco.connection, await bankineco.updateYieldingInfo(bankineco_sdk_1.USD_STAR_BANK_INDEX, vaultState, bankineco.provider.publicKey, yieldingMint, impliedYield), [bankineco.provider.wallet]);
|
|
44
|
-
console.log("Success broadcasting yield, tx ", sig);
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
else {
|
|
48
|
-
console.log("Not updating yield, contract yield is up to date");
|
|
49
|
-
console.log("Difference in bps: ", priceDiffBps);
|
|
50
|
-
}
|
|
12
|
+
await (0, utils_1.updateYieldInfoIfNeeded)(bankineco, vaultState, impliedYield);
|
|
51
13
|
}
|
|
52
14
|
async function runUpdateDriftVaultPendingYield(env, signerKeypairFp, rpcUrl) {
|
|
53
|
-
const bankineco =
|
|
15
|
+
const [bankineco] = (0, bankineco_sdk_1.getBankineco)(env, rpcUrl, undefined, signerKeypairFp);
|
|
54
16
|
await updateDriftVaultPendingYield(bankineco, signerKeypairFp);
|
|
55
17
|
}
|
|
56
18
|
//# sourceMappingURL=updateDriftVaultPendingYield.js.map
|
|
@@ -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":";;AA2CA,0EAOC;AAlDD,yDAW+B;AAC/B,oCAKkB;AAClB,6CAA4C;AAE5C,KAAK,UAAU,4BAA4B,CACzC,SAA2B,EAC3B,eAAuB;IAEvB,MAAM,IAAA,oBAAY,EAAC,eAAe,CAAC,CAAC;IAEpC,MAAM,YAAY,GAAG,IAAI,mBAAS,CAAC,yBAAS,CAAC,CAAC;IAE9C,MAAM,UAAU,GAAG,SAAS,CAAC,QAAQ,CACnC,SAAS,CAAC,OAAO,CAAC,mCAAmB,CAAC,EACtC,YAAY,EACZ,yCAAyB,CAC1B,CAAC;IAEF,MAAM,YAAY,GAAG,MAAM,IAAA,4BAAoB,EAC7C,SAAS,EACT,UAAU,EACV,YAAY,CACb,CAAC;IAEF,MAAM,IAAA,+BAAuB,EAAC,SAAS,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;AACrE,CAAC;AAEM,KAAK,UAAU,+BAA+B,CACnD,GAAgB,EAChB,eAAuB,EACvB,MAAc;IAEd,MAAM,CAAC,SAAS,CAAC,GAAG,IAAA,4BAAY,EAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;IAC1E,MAAM,4BAA4B,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;AACjE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"updateLEPendingYield.d.ts","sourceRoot":"","sources":["../../src/oracle/updateLEPendingYield.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EAIZ,MAAM,uBAAuB,CAAC;AAK/B,wBAAsB,uBAAuB,CAC3C,GAAG,EAAE,WAAW,EAChB,eAAe,EAAE,MAAM,EACvB,MAAM,EAAE,MAAM,iBAQf"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.runUpdateLEPendingYield = runUpdateLEPendingYield;
|
|
4
|
+
const bankineco_sdk_1 = require("@perena/bankineco-sdk");
|
|
5
|
+
const updateAPIPendingYield_1 = require("./updateAPIPendingYield");
|
|
6
|
+
const web3_js_1 = require("@solana/web3.js");
|
|
7
|
+
const constants_1 = require("../constants");
|
|
8
|
+
async function runUpdateLEPendingYield(env, signerKeypairFp, rpcUrl) {
|
|
9
|
+
await (0, updateAPIPendingYield_1.runUpdateAPIPendingYield)(env, signerKeypairFp, rpcUrl, {
|
|
10
|
+
yieldingMint: new web3_js_1.PublicKey(bankineco_sdk_1.USDC_MINT),
|
|
11
|
+
yieldingMintDecimals: bankineco_sdk_1.USDC_DECIMALS,
|
|
12
|
+
yieldingContractIndex: bankineco_sdk_1.LITTLE_ENGINE_USDC_CONTRACT_INDEX,
|
|
13
|
+
accountName: constants_1.LE_ACCOUNT[env],
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=updateLEPendingYield.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"updateLEPendingYield.js","sourceRoot":"","sources":["../../src/oracle/updateLEPendingYield.ts"],"names":[],"mappings":";;AAUA,0DAWC;AArBD,yDAK+B;AAC/B,mEAAmE;AACnE,6CAA4C;AAC5C,4CAA0C;AAEnC,KAAK,UAAU,uBAAuB,CAC3C,GAAgB,EAChB,eAAuB,EACvB,MAAc;IAEd,MAAM,IAAA,gDAAwB,EAAC,GAAG,EAAE,eAAe,EAAE,MAAM,EAAE;QAC3D,YAAY,EAAE,IAAI,mBAAS,CAAC,yBAAS,CAAC;QACtC,oBAAoB,EAAE,6BAAa;QACnC,qBAAqB,EAAE,iDAAiC;QACxD,WAAW,EAAE,sBAAU,CAAC,GAAG,CAAC;KAC7B,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"updateSeedLPPrice.d.ts","sourceRoot":"","sources":["../../src/oracle/updateSeedLPPrice.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"updateSeedLPPrice.d.ts","sourceRoot":"","sources":["../../src/oracle/updateSeedLPPrice.ts"],"names":[],"mappings":"AAOA,OAAO,EAKL,WAAW,EAUZ,MAAM,uBAAuB,CAAC;AA8E/B,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,WAAW,EAChB,eAAe,EAAE,MAAM,EACvB,MAAM,EAAE,MAAM,iBAIf"}
|
|
@@ -2,24 +2,12 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.runUpdateSeedLPPrice = runUpdateSeedLPPrice;
|
|
4
4
|
const web3_js_1 = require("@solana/web3.js");
|
|
5
|
-
const anchor_1 = require("@coral-xyz/anchor");
|
|
6
5
|
const utils_1 = require("../utils");
|
|
7
6
|
const bankineco_sdk_1 = require("@perena/bankineco-sdk");
|
|
8
7
|
async function updatePrice(bankineco, signerKeypairFp) {
|
|
9
8
|
await (0, utils_1.oracleReport)(signerKeypairFp);
|
|
10
9
|
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);
|
|
11
|
-
const
|
|
12
|
-
const oracleInfo = await bankineco.pg.account.oracleGenState.fetch(oracleState);
|
|
13
|
-
const decimals = oracleInfo.config.yieldingMintDecimals;
|
|
14
|
-
let associatedOracleIdx = oracleInfo.data.oracleRegistry.findIndex((x) => bankineco.provider.wallet.publicKey.equals(x));
|
|
15
|
-
const signerIsRegisteredOracle = associatedOracleIdx !== -1;
|
|
16
|
-
if (!signerIsRegisteredOracle) {
|
|
17
|
-
// Just to test the logic afterwards, no TX will be sent
|
|
18
|
-
associatedOracleIdx = 0;
|
|
19
|
-
}
|
|
20
|
-
const currentOracleUiPrices = oracleInfo.data.oraclePrices.map((x) => (0, bankineco_sdk_1.toUiAmount)(x, decimals));
|
|
21
|
-
const currentReportedUiPrice = (0, bankineco_sdk_1.toUiAmount)(oracleInfo.data.oraclePrices[associatedOracleIdx], decimals);
|
|
22
|
-
const lastUpdatedTs = oracleInfo.data.oracleLastTs[associatedOracleIdx];
|
|
10
|
+
const { associatedOracleIdx, signerIsRegisteredOracle, currentOracleUiPrices, currentReportedUiPrice, lastUpdatedTs, } = await (0, utils_1.getOracleStateInfo)(bankineco, vaultState, bankineco_sdk_1.USD_STAR_DECIMALS);
|
|
23
11
|
let impliedPrice = -1;
|
|
24
12
|
try {
|
|
25
13
|
impliedPrice = await (0, utils_1.getOldUsdStarPriceFromBurnSim)(bankineco.provider, signerKeypairFp);
|
|
@@ -54,7 +42,7 @@ async function updatePrice(bankineco, signerKeypairFp) {
|
|
|
54
42
|
}
|
|
55
43
|
}
|
|
56
44
|
async function runUpdateSeedLPPrice(env, signerKeypairFp, rpcUrl) {
|
|
57
|
-
const bankineco =
|
|
45
|
+
const [bankineco] = (0, bankineco_sdk_1.getBankineco)(env, rpcUrl, undefined, signerKeypairFp);
|
|
58
46
|
await updatePrice(bankineco, signerKeypairFp);
|
|
59
47
|
}
|
|
60
48
|
//# sourceMappingURL=updateSeedLPPrice.js.map
|
|
@@ -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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"}
|
package/dist/utils/oracle.d.ts
CHANGED
|
@@ -3,4 +3,14 @@ import { PublicKey } from "@solana/web3.js";
|
|
|
3
3
|
import { BN } from "@coral-xyz/anchor";
|
|
4
4
|
export declare function oracleReport(signerKeypairFp: string): Promise<void>;
|
|
5
5
|
export declare function getPendingDriftYield(bankineco: BankinecoProgram, vaultState: PublicKey, eyMint: PublicKey, eyMintProgram?: PublicKey): Promise<BN>;
|
|
6
|
+
export declare function getOracleStateInfo(bankineco: BankinecoProgram, vaultState: PublicKey, yieldingMintDecimals: number): Promise<{
|
|
7
|
+
signerIsRegisteredOracle: boolean;
|
|
8
|
+
associatedOracleIdx: number;
|
|
9
|
+
currentOracleUiYields: number[];
|
|
10
|
+
currentOracleUiPrices: number[];
|
|
11
|
+
currentReportedUiYield: number;
|
|
12
|
+
currentReportedUiPrice: number;
|
|
13
|
+
lastUpdatedTs: BN;
|
|
14
|
+
}>;
|
|
15
|
+
export declare function updateYieldInfoIfNeeded(bankineco: BankinecoProgram, vaultState: PublicKey, impliedYield: BN): Promise<void>;
|
|
6
16
|
//# sourceMappingURL=oracle.d.ts.map
|
|
@@ -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,EAWjB,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,eAsBjC;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,iBA2DjB"}
|
package/dist/utils/oracle.js
CHANGED
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.oracleReport = oracleReport;
|
|
4
4
|
exports.getPendingDriftYield = getPendingDriftYield;
|
|
5
|
+
exports.getOracleStateInfo = getOracleStateInfo;
|
|
6
|
+
exports.updateYieldInfoIfNeeded = updateYieldInfoIfNeeded;
|
|
5
7
|
const bankineco_sdk_1 = require("@perena/bankineco-sdk");
|
|
6
8
|
const spl_token_1 = require("@solana/spl-token");
|
|
7
9
|
const web3_js_1 = require("@solana/web3.js");
|
|
@@ -28,4 +30,59 @@ async function getPendingDriftYield(bankineco, vaultState, eyMint, eyMintProgram
|
|
|
28
30
|
drift.unsubscribeUsers();
|
|
29
31
|
return pendingYield.muln(constants_1.DRIFT_REPORTED_YIELD_FACTOR);
|
|
30
32
|
}
|
|
33
|
+
async function getOracleStateInfo(bankineco, vaultState, yieldingMintDecimals) {
|
|
34
|
+
const oracleState = bankineco.oraclePDA(vaultState);
|
|
35
|
+
const oracleInfo = await bankineco.pg.account.oracleGenState.fetch(oracleState);
|
|
36
|
+
let associatedOracleIdx = oracleInfo.data.oracleRegistry.findIndex((x) => bankineco.provider.wallet.publicKey.equals(x));
|
|
37
|
+
const signerIsRegisteredOracle = associatedOracleIdx !== -1;
|
|
38
|
+
if (!signerIsRegisteredOracle) {
|
|
39
|
+
// Just to test the logic afterwards, no TX will be sent
|
|
40
|
+
associatedOracleIdx = 0;
|
|
41
|
+
}
|
|
42
|
+
const currentOracleUiYields = oracleInfo.data.oraclePendingYield.map((x) => (0, bankineco_sdk_1.toUiAmount)(x, yieldingMintDecimals));
|
|
43
|
+
const currentOracleUiPrices = oracleInfo.data.oraclePrices.map((x) => (0, bankineco_sdk_1.toUiAmount)(x, yieldingMintDecimals));
|
|
44
|
+
const currentReportedUiYield = (0, bankineco_sdk_1.toUiAmount)(oracleInfo.data.oraclePendingYield[associatedOracleIdx], yieldingMintDecimals);
|
|
45
|
+
const currentReportedUiPrice = (0, bankineco_sdk_1.toUiAmount)(oracleInfo.data.oraclePrices[associatedOracleIdx], yieldingMintDecimals);
|
|
46
|
+
const lastUpdatedTs = oracleInfo.data.oracleLastTs[associatedOracleIdx];
|
|
47
|
+
return {
|
|
48
|
+
signerIsRegisteredOracle,
|
|
49
|
+
associatedOracleIdx,
|
|
50
|
+
currentOracleUiYields,
|
|
51
|
+
currentOracleUiPrices,
|
|
52
|
+
currentReportedUiYield,
|
|
53
|
+
currentReportedUiPrice,
|
|
54
|
+
lastUpdatedTs,
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
async function updateYieldInfoIfNeeded(bankineco, vaultState, impliedYield) {
|
|
58
|
+
const { associatedOracleIdx, signerIsRegisteredOracle, currentOracleUiYields, currentReportedUiYield, lastUpdatedTs, } = await getOracleStateInfo(bankineco, vaultState, bankineco_sdk_1.USDC_DECIMALS);
|
|
59
|
+
const vaultInfo = await bankineco.pg.account.vaultGenState.fetch(vaultState);
|
|
60
|
+
const yieldingMint = vaultInfo.config.yieldingTokenMint;
|
|
61
|
+
const yieldingMintDecimals = vaultInfo.config.yieldingMintDecimals;
|
|
62
|
+
const diffMs = Date.now() - lastUpdatedTs.toNumber() * 1000;
|
|
63
|
+
const hoursSinceLastUpdate = diffMs / (1000 * 60 * 60);
|
|
64
|
+
const impliedUiYield = (0, bankineco_sdk_1.toUiAmount)(impliedYield, yieldingMintDecimals);
|
|
65
|
+
console.log("Current oracle index: ", associatedOracleIdx);
|
|
66
|
+
console.log("All reported yield: ", currentOracleUiYields);
|
|
67
|
+
console.log("Current reported yield: ", currentReportedUiYield);
|
|
68
|
+
console.log("Hours since last update: ", hoursSinceLastUpdate);
|
|
69
|
+
console.log("Implied pending yield: ", impliedUiYield);
|
|
70
|
+
const impliedYieldPct = impliedUiYield /
|
|
71
|
+
(0, bankineco_sdk_1.toUiAmount)(vaultInfo.accounting.yieldingTvl, bankineco_sdk_1.NORMALIZED_BASE_UNITS);
|
|
72
|
+
const currYieldPct = currentReportedUiYield /
|
|
73
|
+
(0, bankineco_sdk_1.toUiAmount)(vaultInfo.accounting.yieldingTvl, bankineco_sdk_1.NORMALIZED_BASE_UNITS);
|
|
74
|
+
const priceDiffBps = Math.floor((impliedYieldPct - currYieldPct) * 100000);
|
|
75
|
+
if (priceDiffBps > 2 || hoursSinceLastUpdate >= 23) {
|
|
76
|
+
console.log("Updating yield to ", impliedUiYield, " vs. a yield of ", currentReportedUiYield);
|
|
77
|
+
if (signerIsRegisteredOracle) {
|
|
78
|
+
console.log("Sending yield update...");
|
|
79
|
+
const sig = await (0, bankineco_sdk_1.signSendAndConfirm)(bankineco.connection, await bankineco.updateYieldingInfo(bankineco_sdk_1.USD_STAR_BANK_INDEX, vaultState, bankineco.provider.publicKey, yieldingMint, impliedYield), [bankineco.provider.wallet]);
|
|
80
|
+
console.log("Success broadcasting yield, tx ", sig);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
console.log("Not updating yield, contract yield is up to date");
|
|
85
|
+
console.log("Difference in bps: ", priceDiffBps);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
31
88
|
//# 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":"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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.10",
|
|
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,7 @@
|
|
|
26
26
|
"dependencies": {
|
|
27
27
|
"@coral-xyz/anchor": "=0.30.1",
|
|
28
28
|
"@drift-labs/sdk": "=2.137.0",
|
|
29
|
-
"@perena/bankineco-sdk": "=1.0.
|
|
29
|
+
"@perena/bankineco-sdk": "=1.0.43",
|
|
30
30
|
"@perena/numeraire-sdk": "^1.1.1",
|
|
31
31
|
"@solana/spl-token": "=0.4.13",
|
|
32
32
|
"@solana/web3.js": "=1.98.4",
|