@perena/bankineco-services 1.0.32 → 1.0.34

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.
@@ -1,11 +1,10 @@
1
1
  import { Environment } from "@perena/bankineco-sdk";
2
2
  export declare const LITTLE_ENGINE_TEST_ACCOUNT = "little-engine-test";
3
- export declare const LITTLE_ENGINE_PROD_ACCOUNT = "little-engine-test2";
4
- export declare const LITTLE_ENGINE_BOOSTED_ACCOUNT = "little-engine-test2-boosted";
5
- export declare const TREASURY_ACCOUNT = "treasury-account-test2";
3
+ export declare const LITTLE_ENGINE_PROD_ACCOUNT = "little-engine-prod6";
4
+ export declare const LITTLE_ENGINE_BOOSTED_ACCOUNT = "little-engine-prod6-boosted";
6
5
  export declare const LE_ACCOUNTS: Record<Environment, string[]>;
7
6
  export declare const TEST_LE_CUSTODIAN = "64nZHh2DBKEkH7PC1Vo7DHRE6k5MohcnqcDyM6evwEn8";
8
7
  export declare const PROD_LE_CUSTODIAN = "58ubrW9j4SJ28oYoJauGbnSbCCyycrFiQNV6zu3XX5HZ";
9
8
  export declare const LE_CUSTODIAN: Record<Environment, string>;
10
9
  export declare const LE_YIELD_START_MARKER: Date | undefined;
11
- //# sourceMappingURL=constants.d.ts.map
10
+ //# sourceMappingURL=general.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"general.d.ts","sourceRoot":"","sources":["../../src/constants/general.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEpD,eAAO,MAAM,0BAA0B,uBAAuB,CAAC;AAC/D,eAAO,MAAM,0BAA0B,wBAAwB,CAAC;AAChE,eAAO,MAAM,6BAA6B,gCAAgC,CAAC;AAC3E,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,CAIrD,CAAC;AAEF,eAAO,MAAM,iBAAiB,iDAAiD,CAAC;AAChF,eAAO,MAAM,iBAAiB,iDAAiD,CAAC;AAChF,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAIpD,CAAC;AAEF,eAAO,MAAM,qBAAqB,kBAErB,CAAC"}
@@ -1,10 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.LE_YIELD_START_MARKER = exports.LE_CUSTODIAN = exports.PROD_LE_CUSTODIAN = exports.TEST_LE_CUSTODIAN = exports.LE_ACCOUNTS = exports.TREASURY_ACCOUNT = exports.LITTLE_ENGINE_BOOSTED_ACCOUNT = exports.LITTLE_ENGINE_PROD_ACCOUNT = exports.LITTLE_ENGINE_TEST_ACCOUNT = void 0;
3
+ exports.LE_YIELD_START_MARKER = exports.LE_CUSTODIAN = exports.PROD_LE_CUSTODIAN = exports.TEST_LE_CUSTODIAN = exports.LE_ACCOUNTS = exports.LITTLE_ENGINE_BOOSTED_ACCOUNT = exports.LITTLE_ENGINE_PROD_ACCOUNT = exports.LITTLE_ENGINE_TEST_ACCOUNT = void 0;
4
4
  exports.LITTLE_ENGINE_TEST_ACCOUNT = "little-engine-test";
5
- exports.LITTLE_ENGINE_PROD_ACCOUNT = "little-engine-test2";
6
- exports.LITTLE_ENGINE_BOOSTED_ACCOUNT = "little-engine-test2-boosted";
7
- exports.TREASURY_ACCOUNT = "treasury-account-test2";
5
+ exports.LITTLE_ENGINE_PROD_ACCOUNT = "little-engine-prod6";
6
+ exports.LITTLE_ENGINE_BOOSTED_ACCOUNT = "little-engine-prod6-boosted";
8
7
  exports.LE_ACCOUNTS = {
9
8
  local: [],
10
9
  test: [exports.LITTLE_ENGINE_TEST_ACCOUNT],
@@ -20,4 +19,4 @@ exports.LE_CUSTODIAN = {
20
19
  exports.LE_YIELD_START_MARKER = process.env.LE_YIELD_START_MARKER
21
20
  ? new Date(process.env.LE_YIELD_START_MARKER)
22
21
  : undefined;
23
- //# sourceMappingURL=constants.js.map
22
+ //# sourceMappingURL=general.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"general.js","sourceRoot":"","sources":["../../src/constants/general.ts"],"names":[],"mappings":";;;AAEa,QAAA,0BAA0B,GAAG,oBAAoB,CAAC;AAClD,QAAA,0BAA0B,GAAG,qBAAqB,CAAC;AACnD,QAAA,6BAA6B,GAAG,6BAA6B,CAAC;AAC9D,QAAA,WAAW,GAAkC;IACxD,KAAK,EAAE,EAAE;IACT,IAAI,EAAE,CAAC,kCAA0B,CAAC;IAClC,IAAI,EAAE,CAAC,kCAA0B,EAAE,qCAA6B,CAAC;CAClE,CAAC;AAEW,QAAA,iBAAiB,GAAG,8CAA8C,CAAC,CAAC,sBAAsB;AAC1F,QAAA,iBAAiB,GAAG,8CAA8C,CAAC;AACnE,QAAA,YAAY,GAAgC;IACvD,KAAK,EAAE,EAAE;IACT,IAAI,EAAE,yBAAiB;IACvB,IAAI,EAAE,yBAAiB;CACxB,CAAC;AAEW,QAAA,qBAAqB,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB;IACpE,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC;IAC7C,CAAC,CAAC,SAAS,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from "./general";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/constants/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,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("./general"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/constants/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAA0B"}
@@ -1,4 +1,5 @@
1
1
  export * from "./updateSeedLPPrice";
2
2
  export * from "./updateLEPendingYield";
3
3
  export * from "./updateDriftVaultPendingYield";
4
+ export * from "./updateMarginfiVaultPendingYield";
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
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"}
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;AAC/C,cAAc,mCAAmC,CAAC"}
@@ -17,4 +17,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./updateSeedLPPrice"), exports);
18
18
  __exportStar(require("./updateLEPendingYield"), exports);
19
19
  __exportStar(require("./updateDriftVaultPendingYield"), exports);
20
+ __exportStar(require("./updateMarginfiVaultPendingYield"), exports);
20
21
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/oracle/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sDAAoC;AACpC,yDAAuC;AACvC,iEAA+C"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/oracle/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sDAAoC;AACpC,yDAAuC;AACvC,iEAA+C;AAC/C,oEAAkD"}
@@ -0,0 +1,6 @@
1
+ import { Environment, MarginfiVaultTag } from "@perena/bankineco-sdk";
2
+ /**
3
+ * Runner function for oracle service
4
+ */
5
+ export declare function runUpdateMarginFiVaultPendingYield(env: Environment, signerKeypairFp: string, rpcUrl: string, marginfiVaultTag: MarginfiVaultTag, reportingDiscount?: number): Promise<void>;
6
+ //# sourceMappingURL=updateMarginfiVaultPendingYield.d.ts.map
@@ -0,0 +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;AA4C/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"}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.runUpdateMarginFiVaultPendingYield = runUpdateMarginFiVaultPendingYield;
4
+ const bankineco_sdk_1 = require("@perena/bankineco-sdk");
5
+ const utils_1 = require("../utils");
6
+ const marginfi_1 = require("../utils/marginfi");
7
+ async function updateMarginFiVaultPendingYield(bankineco, marginfiVaultTag, reportingDiscount) {
8
+ const marginfiClient = await (0, marginfi_1.getMarginfiClient)(bankineco.provider.connection);
9
+ const vaultPosition = bankineco_sdk_1.MARGINFI_VAULT_POSITIONS[bankineco.environment][marginfiVaultTag];
10
+ const poolAccounts = bankineco_sdk_1.MARGINFI_POOL_ACCOUNTS[marginfiVaultTag];
11
+ const vault = bankineco.vaultPDA(bankineco.bankPDA(bankineco_sdk_1.USD_STAR_BANK_INDEX), vaultPosition.yieldingMint, vaultPosition.yieldingTokenIndex);
12
+ const marginfiAccount = bankineco.marginfiAccountPDA(vault, poolAccounts.group, vaultPosition.accountIndex, vaultPosition.thirdPartyId);
13
+ const impliedYield = await (0, marginfi_1.getPendingMarginFiYield)(marginfiClient, bankineco, vault, marginfiAccount, poolAccounts.bank);
14
+ await (0, utils_1.updateYieldInfoIfNeeded)(bankineco, vault, impliedYield, reportingDiscount);
15
+ }
16
+ /**
17
+ * Runner function for oracle service
18
+ */
19
+ async function runUpdateMarginFiVaultPendingYield(env, signerKeypairFp, rpcUrl, marginfiVaultTag, reportingDiscount) {
20
+ const [bankineco] = (0, bankineco_sdk_1.getBankineco)(env, rpcUrl, undefined, signerKeypairFp);
21
+ await updateMarginFiVaultPendingYield(bankineco, marginfiVaultTag, reportingDiscount);
22
+ }
23
+ //# sourceMappingURL=updateMarginfiVaultPendingYield.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"updateMarginfiVaultPendingYield.js","sourceRoot":"","sources":["../../src/oracle/updateMarginfiVaultPendingYield.ts"],"names":[],"mappings":";;AAuDA,gFAaC;AApED,yDAQ+B;AAC/B,oCAAmD;AACnD,gDAA+E;AAE/E,KAAK,UAAU,+BAA+B,CAC5C,SAA2B,EAC3B,gBAAkC,EAClC,iBAA0B;IAE1B,MAAM,cAAc,GAAG,MAAM,IAAA,4BAAiB,EAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAE9E,MAAM,aAAa,GACjB,wCAAwB,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,gBAAgB,CAAE,CAAC;IACrE,MAAM,YAAY,GAAG,sCAAsB,CAAC,gBAAgB,CAAC,CAAC;IAE9D,MAAM,KAAK,GAAG,SAAS,CAAC,QAAQ,CAC9B,SAAS,CAAC,OAAO,CAAC,mCAAmB,CAAC,EACtC,aAAa,CAAC,YAAY,EAC1B,aAAa,CAAC,kBAAkB,CACjC,CAAC;IAEF,MAAM,eAAe,GAAG,SAAS,CAAC,kBAAkB,CAClD,KAAK,EACL,YAAY,CAAC,KAAK,EAClB,aAAa,CAAC,YAAY,EAC1B,aAAa,CAAC,YAAY,CAC3B,CAAC;IAEF,MAAM,YAAY,GAAG,MAAM,IAAA,kCAAuB,EAChD,cAAc,EACd,SAAS,EACT,KAAK,EACL,eAAe,EACf,YAAY,CAAC,IAAI,CAClB,CAAC;IAEF,MAAM,IAAA,+BAAuB,EAC3B,SAAS,EACT,KAAK,EACL,YAAY,EACZ,iBAAiB,CAClB,CAAC;AACJ,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,kCAAkC,CACtD,GAAgB,EAChB,eAAuB,EACvB,MAAc,EACd,gBAAkC,EAClC,iBAA0B;IAE1B,MAAM,CAAC,SAAS,CAAC,GAAG,IAAA,4BAAY,EAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;IAC1E,MAAM,+BAA+B,CACnC,SAAS,EACT,gBAAgB,EAChB,iBAAiB,CAClB,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"drift.d.ts","sourceRoot":"","sources":["../../src/utils/drift.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,WAAW,EAEX,IAAI,EAGL,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAC;AAEvD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,cAAc,EACxB,KAAK,EAAE,WAAW,iBAgBnB;AAED,wBAAsB,cAAc,CAClC,QAAQ,EAAE,cAAc,EACxB,MAAM,CAAC,EAAE,SAAS,wBAwBnB;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,SAAS,8CAEpD;AAED,wBAAsB,6BAA6B,CACjD,KAAK,EAAE,WAAW,EAClB,MAAM,EAAE,SAAS,oCAOlB;AAED,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,WAAW,EAClB,MAAM,EAAE,EAAE,EACV,WAAW,EAAE,MAAM,EACnB,sBAAsB,EAAE,SAAS,EACjC,UAAU,CAAC,EAAE,OAAO,EACpB,YAAY,CAAC,EAAE,MAAM,+DAStB;AAED,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,WAAW,EAClB,MAAM,EAAE,EAAE,EACV,WAAW,EAAE,MAAM,EACnB,sBAAsB,EAAE,SAAS,EACjC,UAAU,CAAC,EAAE,OAAO,EACpB,YAAY,CAAC,EAAE,MAAM,6DAStB;AAED,UAAU,sBAAsB;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,SAAS,CAAC;IACtB,oBAAoB,EAAE,SAAS,CAAC;IAChC,YAAY,EAAE,SAAS,CAAC;IACxB,MAAM,EAAE,EAAE,CAAC;IACX,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,mBAAmB,CAAC,EAAE,SAAS,CAAC;IAChC,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,SAAS,GAAG,UAAU,GAAG,YAAY,EAC7C,SAAS,EAAE,gBAAgB,EAC3B,KAAK,EAAE,WAAW,EAClB,MAAM,EAAE,sBAAsB,wBAgE/B;AAED,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,WAAW,EAClB,IAAI,EAAE,SAAS,EACf,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,EAAE,CAAC,CAyBb"}
1
+ {"version":3,"file":"drift.d.ts","sourceRoot":"","sources":["../../src/utils/drift.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,WAAW,EAEX,IAAI,EAGL,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAC;AAEvD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,cAAc,EACxB,KAAK,EAAE,WAAW,iBAgBnB;AAED,wBAAsB,cAAc,CAClC,QAAQ,EAAE,cAAc,EACxB,MAAM,CAAC,EAAE,SAAS,wBAwBnB;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,SAAS,8CAEpD;AAED,wBAAsB,6BAA6B,CACjD,KAAK,EAAE,WAAW,EAClB,MAAM,EAAE,SAAS,oCAOlB;AAED,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,WAAW,EAClB,MAAM,EAAE,EAAE,EACV,WAAW,EAAE,MAAM,EACnB,sBAAsB,EAAE,SAAS,EACjC,UAAU,CAAC,EAAE,OAAO,EACpB,YAAY,CAAC,EAAE,MAAM,+DAStB;AAED,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,WAAW,EAClB,MAAM,EAAE,EAAE,EACV,WAAW,EAAE,MAAM,EACnB,sBAAsB,EAAE,SAAS,EACjC,UAAU,CAAC,EAAE,OAAO,EACpB,YAAY,CAAC,EAAE,MAAM,6DAStB;AAED,UAAU,sBAAsB;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,SAAS,CAAC;IACtB,oBAAoB,EAAE,SAAS,CAAC;IAChC,YAAY,EAAE,SAAS,CAAC;IACxB,MAAM,EAAE,EAAE,CAAC;IACX,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,mBAAmB,CAAC,EAAE,SAAS,CAAC;IAChC,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,SAAS,GAAG,UAAU,GAAG,YAAY,EAC7C,SAAS,EAAE,gBAAgB,EAC3B,KAAK,EAAE,WAAW,EAClB,MAAM,EAAE,sBAAsB,wBAiE/B;AAED,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,WAAW,EAClB,IAAI,EAAE,SAAS,EACf,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,EAAE,CAAC,CAyBb"}
@@ -72,7 +72,7 @@ async function teamDriftInteractionTx(action, bankineco, drift, params) {
72
72
  }
73
73
  else {
74
74
  const driftWithdrawalIx = await getDriftWithdrawIx(drift, params.amount, params.driftMarketIndex, eyManagerAta, false, 0);
75
- const updateYieldAmountIx = await bankineco.updateYieldingAmount(params.bankIndex, params.vaultState, params.externalYieldManager, params.yieldingMint, params.allAvailableAmount ? undefined : params.amount, Boolean(params.allAvailableAmount), undefined, params.yieldingMintProgram);
75
+ const updateYieldAmountIx = await bankineco.updateYieldingAmount(params.bankIndex, params.vaultState, params.externalYieldManager, params.yieldingMint, params.allAvailableAmount ? undefined : params.amount, Boolean(params.allAvailableAmount), undefined, false, params.yieldingMintProgram);
76
76
  return new web3_js_2.Transaction().add(driftWithdrawalIx, updateYieldAmountIx);
77
77
  }
78
78
  }
@@ -1 +1 @@
1
- {"version":3,"file":"drift.js","sourceRoot":"","sources":["../../src/utils/drift.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"drift.js","sourceRoot":"","sources":["../../src/utils/drift.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  export * from "./numeraire";
2
2
  export * from "./drift";
3
3
  export * from "./oracle";
4
+ export * from "./marginfi";
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC"}
@@ -17,4 +17,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./numeraire"), exports);
18
18
  __exportStar(require("./drift"), exports);
19
19
  __exportStar(require("./oracle"), exports);
20
+ __exportStar(require("./marginfi"), exports);
20
21
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,0CAAwB;AACxB,2CAAyB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,0CAAwB;AACxB,2CAAyB;AACzB,6CAA2B"}
@@ -0,0 +1,46 @@
1
+ import { Connection, PublicKey } from "@solana/web3.js";
2
+ import { BN, Wallet } from "@coral-xyz/anchor";
3
+ import { BankinecoProgram } from "@perena/bankineco-sdk";
4
+ import { MarginfiClient, MarginfiAccountWrapper } from "@mrgnlabs/marginfi-client-v2";
5
+ /**
6
+ * Gets the MarginFi client
7
+ */
8
+ export declare function getMarginfiClient(connection: Connection, wallet?: Wallet): Promise<MarginfiClient>;
9
+ /**
10
+ * Gets the MarginFi account wrapper for a vault
11
+ */
12
+ export declare function getMarginfiAccountWrapper(client: MarginfiClient, marginfiAccountPk: PublicKey): Promise<MarginfiAccountWrapper>;
13
+ /**
14
+ * Gets the vault's balance in MarginFi for a specific bank
15
+ *
16
+ * @param client - MarginFi client instance (pass to avoid refetching all banks)
17
+ * @param marginfiAccount - MarginFi account address
18
+ * @param marginfiBank - MarginFi bank address
19
+ * @returns Balance in native token amount (with decimals)
20
+ */
21
+ export declare function getMarginFiVaultBalance(client: MarginfiClient, marginfiAccount: PublicKey, marginfiBank: PublicKey): Promise<BN>;
22
+ /**
23
+ * Calculates pending yield for a MarginFi vault
24
+ *
25
+ * Formula: newYield = currentBalance - (principal + alreadyReportedPending)
26
+ * - currentBalance: Total tokens in MarginFi (principal + accrued yield)
27
+ * - principal: external_yielding_amount (tracked by deposit_in_lp/withdraw_from_lp)
28
+ * - alreadyReportedPending: Yield already reported by oracle
29
+ *
30
+ * @param client - MarginFi client instance
31
+ * @param bankineco - Bankineco program instance
32
+ * @param vaultState - Vault state PDA
33
+ * @param marginfiAccount - MarginFi account PDA
34
+ * @param marginfiBank - MarginFi bank address
35
+ * @returns New unreported yield amount
36
+ */
37
+ export declare function getPendingMarginFiYield(client: MarginfiClient, bankineco: BankinecoProgram, vaultState: PublicKey, marginfiAccount: PublicKey, marginfiBank: PublicKey): Promise<BN>;
38
+ /**
39
+ * Gets oracle account addresses from MarginFi bank for health checks during withdrawals
40
+ *
41
+ * @param client - MarginFi client instance
42
+ * @param marginfiBank - MarginFi bank address
43
+ * @returns Array of oracle account public keys (filtered for non-default keys)
44
+ */
45
+ export declare function getMarginFiBankOracleAccounts(client: MarginfiClient, marginfiBank: PublicKey): PublicKey[];
46
+ //# sourceMappingURL=marginfi.d.ts.map
@@ -0,0 +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,CAiCb;AAED;;;;;;GAMG;AACH,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,cAAc,EACtB,YAAY,EAAE,SAAS,GACtB,SAAS,EAAE,CAoBb"}
@@ -0,0 +1,101 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getMarginfiClient = getMarginfiClient;
4
+ exports.getMarginfiAccountWrapper = getMarginfiAccountWrapper;
5
+ exports.getMarginFiVaultBalance = getMarginFiVaultBalance;
6
+ exports.getPendingMarginFiYield = getPendingMarginFiYield;
7
+ exports.getMarginFiBankOracleAccounts = getMarginFiBankOracleAccounts;
8
+ const web3_js_1 = require("@solana/web3.js");
9
+ const anchor_1 = require("@coral-xyz/anchor");
10
+ const marginfi_client_v2_1 = require("@mrgnlabs/marginfi-client-v2");
11
+ /**
12
+ * Gets the MarginFi client
13
+ */
14
+ async function getMarginfiClient(connection, wallet) {
15
+ const config = (0, marginfi_client_v2_1.getConfig)("production");
16
+ return await marginfi_client_v2_1.MarginfiClient.fetch(config, wallet, connection);
17
+ }
18
+ /**
19
+ * Gets the MarginFi account wrapper for a vault
20
+ */
21
+ async function getMarginfiAccountWrapper(client, marginfiAccountPk) {
22
+ return await marginfi_client_v2_1.MarginfiAccountWrapper.fetch(marginfiAccountPk, client);
23
+ }
24
+ /**
25
+ * Gets the vault's balance in MarginFi for a specific bank
26
+ *
27
+ * @param client - MarginFi client instance (pass to avoid refetching all banks)
28
+ * @param marginfiAccount - MarginFi account address
29
+ * @param marginfiBank - MarginFi bank address
30
+ * @returns Balance in native token amount (with decimals)
31
+ */
32
+ async function getMarginFiVaultBalance(client, marginfiAccount, marginfiBank) {
33
+ const account = await getMarginfiAccountWrapper(client, marginfiAccount);
34
+ // Get the balance for this specific bank
35
+ const balance = account.activeBalances.find((b) => b.bankPk.equals(marginfiBank));
36
+ if (!balance) {
37
+ console.log(`[getMarginFiVaultBalance] No active balance found for bank ${marginfiBank.toBase58()}`);
38
+ return new anchor_1.BN(0);
39
+ }
40
+ // Get the bank object to compute underlying tokens
41
+ const bank = client.getBankByPk(marginfiBank);
42
+ if (!bank) {
43
+ throw new Error(`Bank not found: ${marginfiBank.toBase58()}`);
44
+ }
45
+ // Use SDK's computeQuantity to convert shares to native token amount
46
+ // This method handles decimal conversion internally, returns native amount directly
47
+ const quantity = balance.computeQuantity(bank);
48
+ // Convert BigNumber (from bignumber.js) to BN (from anchor)
49
+ const underlyingAmount = new anchor_1.BN(quantity.assets.toFixed(0));
50
+ console.log(`[getMarginFiVaultBalance] Balance: ${underlyingAmount.toString()}`);
51
+ return underlyingAmount;
52
+ }
53
+ /**
54
+ * Calculates pending yield for a MarginFi vault
55
+ *
56
+ * Formula: newYield = currentBalance - (principal + alreadyReportedPending)
57
+ * - currentBalance: Total tokens in MarginFi (principal + accrued yield)
58
+ * - principal: external_yielding_amount (tracked by deposit_in_lp/withdraw_from_lp)
59
+ * - alreadyReportedPending: Yield already reported by oracle
60
+ *
61
+ * @param client - MarginFi client instance
62
+ * @param bankineco - Bankineco program instance
63
+ * @param vaultState - Vault state PDA
64
+ * @param marginfiAccount - MarginFi account PDA
65
+ * @param marginfiBank - MarginFi bank address
66
+ * @returns New unreported yield amount
67
+ */
68
+ async function getPendingMarginFiYield(client, bankineco, vaultState, marginfiAccount, marginfiBank) {
69
+ // Get current MarginFi balance
70
+ const currentBalance = await getMarginFiVaultBalance(client, marginfiAccount, marginfiBank);
71
+ console.log(`[getPendingMarginFiYield] Current MarginFi balance: ${currentBalance.toString()}`);
72
+ // Get vault's accounting
73
+ const vault = await bankineco.pg.account.vaultGenState.fetch(vaultState);
74
+ const oracleState = await bankineco.pg.account.oracleGenState.fetch(bankineco.oraclePDA(vaultState));
75
+ // external_yielding_amount tracks the principal deposited into MarginFi
76
+ const principal = vault.accounting.externalYieldingAmount;
77
+ console.log(`[getPendingMarginFiYield] Principal in MarginFi: ${principal.toString()}`);
78
+ // New yield = current_balance - principal - already_reported
79
+ const newYield = currentBalance.sub(principal);
80
+ console.log(`[getPendingMarginFiYield] New pending yield: ${newYield.toString()}`);
81
+ return newYield.gt(new anchor_1.BN(0)) ? newYield : new anchor_1.BN(0);
82
+ }
83
+ /**
84
+ * Gets oracle account addresses from MarginFi bank for health checks during withdrawals
85
+ *
86
+ * @param client - MarginFi client instance
87
+ * @param marginfiBank - MarginFi bank address
88
+ * @returns Array of oracle account public keys (filtered for non-default keys)
89
+ */
90
+ function getMarginFiBankOracleAccounts(client, marginfiBank) {
91
+ const bank = client.getBankByPk(marginfiBank);
92
+ if (!bank) {
93
+ console.warn(`[getMarginFiBankOracleAccounts] Bank not found: ${marginfiBank.toBase58()}`);
94
+ return [];
95
+ }
96
+ // Get oracle keys from bank config
97
+ const oracleKeys = bank.config.oracleKeys.filter((key) => !key.equals(web3_js_1.PublicKey.default));
98
+ console.log(`[getMarginFiBankOracleAccounts] Found ${oracleKeys.length} oracle accounts`);
99
+ return oracleKeys;
100
+ }
101
+ //# sourceMappingURL=marginfi.js.map
@@ -0,0 +1 @@
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,EAQjB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAC;AAOvC,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,iBAyEf"}
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;AAOvC,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,iBA+Ef"}
@@ -47,7 +47,8 @@ async function updateYieldInfoIfNeeded(bankineco, vaultState, impliedYield, repo
47
47
  const yieldingMint = vaultInfo.config.yieldingTokenMint;
48
48
  const yieldingMintDecimals = vaultInfo.config.yieldingMintDecimals;
49
49
  impliedYield = impliedYield.muln(1 - reportingDiscount);
50
- const impliedYieldWithoutPerformanceFee = impliedYield.sub(impliedYield.muln(vaultInfo.config.performanceFeeBps).divn(10000));
50
+ const impliedYieldWithoutPerformanceFee = (0, bankineco_sdk_1.yieldWithoutPerformanceFee)(impliedYield, vaultInfo.config.performanceFeeBps);
51
+ console.log(impliedYield.toNumber(), impliedYieldWithoutPerformanceFee.toNumber(), vaultInfo.config.performanceFeeBps);
51
52
  const diffMs = Date.now() - lastUpdatedTs.toNumber() * 1000;
52
53
  const hoursSinceLastUpdate = diffMs / (1000 * 60 * 60);
53
54
  const impliedUiYield = (0, bankineco_sdk_1.toUiAmount)(impliedYieldWithoutPerformanceFee, yieldingMintDecimals);
@@ -1 +1 @@
1
- {"version":3,"file":"oracle.js","sourceRoot":"","sources":["../../src/utils/oracle.ts"],"names":[],"mappings":"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"}
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.32",
3
+ "version": "1.0.34",
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,8 @@
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.59",
29
+ "@mrgnlabs/marginfi-client-v2": "^6.2.1",
30
+ "@perena/bankineco-sdk": "=1.0.65",
30
31
  "@perena/numeraire-sdk-new": "=1.1.1",
31
32
  "@solana/spl-token": "=0.4.13",
32
33
  "@solana/web3.js": "=1.98.4",
@@ -1 +0,0 @@
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,0BAA0B,uBAAuB,CAAC;AAC/D,eAAO,MAAM,0BAA0B,wBAAwB,CAAC;AAChE,eAAO,MAAM,6BAA6B,gCAAgC,CAAC;AAC3E,eAAO,MAAM,gBAAgB,2BAA2B,CAAC;AACzD,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,CAIrD,CAAC;AAEF,eAAO,MAAM,iBAAiB,iDAAiD,CAAC;AAChF,eAAO,MAAM,iBAAiB,iDAAiD,CAAC;AAChF,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAIpD,CAAC;AAEF,eAAO,MAAM,qBAAqB,kBAErB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";;;AAEa,QAAA,0BAA0B,GAAG,oBAAoB,CAAC;AAClD,QAAA,0BAA0B,GAAG,qBAAqB,CAAC;AACnD,QAAA,6BAA6B,GAAG,6BAA6B,CAAC;AAC9D,QAAA,gBAAgB,GAAG,wBAAwB,CAAC;AAC5C,QAAA,WAAW,GAAkC;IACxD,KAAK,EAAE,EAAE;IACT,IAAI,EAAE,CAAC,kCAA0B,CAAC;IAClC,IAAI,EAAE,CAAC,kCAA0B,EAAE,qCAA6B,CAAC;CAClE,CAAC;AAEW,QAAA,iBAAiB,GAAG,8CAA8C,CAAC,CAAC,sBAAsB;AAC1F,QAAA,iBAAiB,GAAG,8CAA8C,CAAC;AACnE,QAAA,YAAY,GAAgC;IACvD,KAAK,EAAE,EAAE;IACT,IAAI,EAAE,yBAAiB;IACvB,IAAI,EAAE,yBAAiB;CACxB,CAAC;AAEW,QAAA,qBAAqB,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB;IACpE,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC;IAC7C,CAAC,CAAC,SAAS,CAAC"}