@folks-finance/xchain-sdk 0.0.69 → 0.0.71

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,6 +1,7 @@
1
1
  import type { EvmAddress } from "../../../../common/types/address.js";
2
2
  import type { EvmChainId } from "../types/chain.js";
3
- import type { Account, WalletClient } from "viem";
3
+ import type { Account, Client, WalletClient } from "viem";
4
4
  export declare function getEvmSignerAddress(signer: WalletClient): EvmAddress;
5
5
  export declare function getEvmSignerAccount(signer: WalletClient): Account;
6
6
  export declare const isEvmChainId: (chainId: number) => chainId is EvmChainId;
7
+ export declare function getBlockTimestamp(provider: Client, blockNumber?: bigint): Promise<bigint>;
@@ -1,3 +1,4 @@
1
+ import { getBlock } from "viem/actions";
1
2
  import { EVM_FOLKS_CHAIN_ID } from "../constants/chain.js";
2
3
  export function getEvmSignerAddress(signer) {
3
4
  if (signer.account?.address)
@@ -13,4 +14,8 @@ export const isEvmChainId = (chainId) => {
13
14
  // @ts-expect-error -- this is made on purpose to have the type predicate
14
15
  return Object.values(EVM_FOLKS_CHAIN_ID).includes(chainId);
15
16
  };
17
+ export async function getBlockTimestamp(provider, blockNumber) {
18
+ const block = await getBlock(provider, { blockNumber, includeTransactions: false });
19
+ return block.timestamp;
20
+ }
16
21
  //# sourceMappingURL=chain.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chain.js","sourceRoot":"","sources":["../../../../../src/chains/evm/common/utils/chain.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAM3D,MAAM,UAAU,mBAAmB,CAAC,MAAoB;IACtD,IAAI,MAAM,CAAC,OAAO,EAAE,OAAO;QAAE,OAAO,MAAM,CAAC,OAAO,CAAC,OAAqB,CAAC;IACzE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,MAAoB;IACtD,IAAI,MAAM,CAAC,OAAO;QAAE,OAAO,MAAM,CAAC,OAAO,CAAC;IAC1C,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,OAAe,EAAyB,EAAE;IACrE,yEAAyE;IACzE,OAAO,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AAC7D,CAAC,CAAC"}
1
+ {"version":3,"file":"chain.js","sourceRoot":"","sources":["../../../../../src/chains/evm/common/utils/chain.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAM3D,MAAM,UAAU,mBAAmB,CAAC,MAAoB;IACtD,IAAI,MAAM,CAAC,OAAO,EAAE,OAAO;QAAE,OAAO,MAAM,CAAC,OAAO,CAAC,OAAqB,CAAC;IACzE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,MAAoB;IACtD,IAAI,MAAM,CAAC,OAAO;QAAE,OAAO,MAAM,CAAC,OAAO,CAAC;IAC1C,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,OAAe,EAAyB,EAAE;IACrE,yEAAyE;IACzE,OAAO,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AAC7D,CAAC,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,QAAgB,EAAE,WAAoB;IAC5E,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,EAAE,WAAW,EAAE,mBAAmB,EAAE,KAAK,EAAE,CAAC,CAAC;IACpF,OAAO,KAAK,CAAC,SAAS,CAAC;AACzB,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import { multicall } from "viem/actions";
2
2
  import { calcBorrowInterestIndex, calcDepositInterestIndex, calcOverallBorrowInterestRate, calcRetention, } from "../../../../common/utils/formulae.js";
3
- import { compoundEveryHour, compoundEverySecond } from "../../../../common/utils/math-lib.js";
3
+ import { compoundEveryHour, compoundEverySecond, unixTime } from "../../../../common/utils/math-lib.js";
4
+ import { getBlockTimestamp } from "../../common/utils/chain.js";
4
5
  import { getHubTokenData } from "../utils/chain.js";
5
6
  import { getHubPoolContract } from "../utils/contract.js";
6
7
  export async function getPoolInfo(provider, network, folksTokenId, blockNumber) {
@@ -58,6 +59,7 @@ export async function getPoolInfo(provider, network, folksTokenId, blockNumber)
58
59
  allowFailure: false,
59
60
  blockNumber,
60
61
  });
62
+ const lastTimestamp = blockNumber ? await getBlockTimestamp(provider, blockNumber) : BigInt(unixTime());
61
63
  const { flashLoanFee, retentionRate, fTokenFeeRecipient, tokenFeeClaimer, totalRetainedAmount: actualRetained, tokenFeeRecipient, } = feeData;
62
64
  const { optimalUtilisationRatio, totalAmount: depositTotalAmount, interestRate: depositInterestRate, interestIndex: oldDepositInterestIndex, } = depositData;
63
65
  const { vr0, vr1, vr2, totalAmount: variableBorrowTotalAmount, interestRate: variableBorrowInterestRate, interestIndex: oldVariableBorrowInterestsIndex, } = variableBorrowData;
@@ -72,7 +74,7 @@ export async function getPoolInfo(provider, network, folksTokenId, blockNumber)
72
74
  feeData: {
73
75
  flashLoanFee: [BigInt(flashLoanFee), 6],
74
76
  retentionRate: [BigInt(retentionRate), 6],
75
- totalRetainedAmount: calcRetention(actualRetained, variableBorrowTotalAmount + stableBorrowTotalAmount, calcOverallBorrowInterestRate(variableBorrowTotalAmount, stableBorrowTotalAmount, [variableBorrowInterestRate, 18], [stableBorrowAverageInterestRate, 18]), [BigInt(retentionRate), 6], lastUpdateTimestamp),
77
+ totalRetainedAmount: calcRetention(actualRetained, variableBorrowTotalAmount + stableBorrowTotalAmount, calcOverallBorrowInterestRate(variableBorrowTotalAmount, stableBorrowTotalAmount, [variableBorrowInterestRate, 18], [stableBorrowAverageInterestRate, 18]), [BigInt(retentionRate), 6], lastUpdateTimestamp, lastTimestamp),
76
78
  fTokenFeeRecipient: fTokenFeeRecipient,
77
79
  tokenFeeClaimer: tokenFeeClaimer,
78
80
  tokenFeeRecipient: tokenFeeRecipient,
@@ -82,7 +84,7 @@ export async function getPoolInfo(provider, network, folksTokenId, blockNumber)
82
84
  totalAmount: depositTotalAmount,
83
85
  interestRate: [depositInterestRate, 18],
84
86
  interestYield: compoundEveryHour([depositInterestRate, 18]),
85
- interestIndex: calcDepositInterestIndex([depositInterestRate, 18], [oldDepositInterestIndex, 18], lastUpdateTimestamp),
87
+ interestIndex: calcDepositInterestIndex([depositInterestRate, 18], [oldDepositInterestIndex, 18], lastUpdateTimestamp, lastTimestamp),
86
88
  },
87
89
  variableBorrowData: {
88
90
  vr0: [BigInt(vr0), 6],
@@ -91,7 +93,7 @@ export async function getPoolInfo(provider, network, folksTokenId, blockNumber)
91
93
  totalAmount: variableBorrowTotalAmount,
92
94
  interestRate: [variableBorrowInterestRate, 18],
93
95
  interestYield: compoundEverySecond([variableBorrowInterestRate, 18]),
94
- interestIndex: calcBorrowInterestIndex([variableBorrowInterestRate, 18], [oldVariableBorrowInterestsIndex, 18], lastUpdateTimestamp),
96
+ interestIndex: calcBorrowInterestIndex([variableBorrowInterestRate, 18], [oldVariableBorrowInterestsIndex, 18], lastUpdateTimestamp, lastTimestamp),
95
97
  },
96
98
  stableBorrowData: {
97
99
  sr0: [BigInt(sr0), 6],
@@ -1 +1 @@
1
- {"version":3,"file":"folks-hub-pool.js","sourceRoot":"","sources":["../../../../../src/chains/evm/hub/modules/folks-hub-pool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"folks-hub-pool.js","sourceRoot":"","sources":["../../../../../src/chains/evm/hub/modules/folks-hub-pool.ts"],"names":[],"mappings":"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"}
@@ -2,9 +2,9 @@ import type { Dnum } from "dnum";
2
2
  export declare function calcPeriodNumber(offset: bigint, length: bigint): bigint;
3
3
  export declare function calcNextPeriodReset(periodNumber: bigint, offset: bigint, length: bigint): bigint;
4
4
  export declare function calcOverallBorrowInterestRate(totalVarDebt: bigint, totalStableDebt: bigint, variableBorInterestRate: Dnum, avgStableBorInterestRate: Dnum): Dnum;
5
- export declare function calcDepositInterestIndex(dirt1: Dnum, diit1: Dnum, latestUpdate: bigint): Dnum;
6
- export declare function calcBorrowInterestIndex(birt1: Dnum, biit1: Dnum, latestUpdate: bigint): Dnum;
7
- export declare function calcRetention(actualRetained: bigint, totalDebt: bigint, overallBorrowInterestRate: Dnum, retentionRate: Dnum, latestUpdate: bigint): bigint;
5
+ export declare function calcDepositInterestIndex(dirt1: Dnum, diit1: Dnum, latestUpdate: bigint, lastTimestamp?: bigint): Dnum;
6
+ export declare function calcBorrowInterestIndex(birt1: Dnum, biit1: Dnum, latestUpdate: bigint, lastTimestamp?: bigint): Dnum;
7
+ export declare function calcRetention(actualRetained: bigint, totalDebt: bigint, overallBorrowInterestRate: Dnum, retentionRate: Dnum, latestUpdate: bigint, lastTimestamp?: bigint): bigint;
8
8
  export declare function calcRewardIndex(used: bigint, ma: bigint, rit1: Dnum, rs: Dnum, latestUpdate: bigint): Dnum;
9
9
  export declare function calcAccruedRewards(amount: bigint, rit: Dnum, ritn1: Dnum): bigint;
10
10
  export declare function toFAmount(underlyingAmount: bigint, diit: Dnum): bigint;
@@ -12,18 +12,18 @@ export function calcOverallBorrowInterestRate(totalVarDebt, totalStableDebt, var
12
12
  return dn.from(0, 18);
13
13
  return dn.div(dn.add(dn.mul(totalVarDebt, variableBorInterestRate, { rounding: "ROUND_DOWN", decimals: 0 }), dn.mul(totalStableDebt, avgStableBorInterestRate, { rounding: "ROUND_DOWN", decimals: 0 })), totalDebt, { rounding: "ROUND_DOWN", decimals: 18 });
14
14
  }
15
- export function calcDepositInterestIndex(dirt1, diit1, latestUpdate) {
16
- const dt = BigInt(unixTime()) - latestUpdate;
15
+ export function calcDepositInterestIndex(dirt1, diit1, latestUpdate, lastTimestamp = BigInt(unixTime())) {
16
+ const dt = lastTimestamp - latestUpdate;
17
17
  return dn.mul(diit1, dn.add(dn.from(1, 18), dn.div(dn.mul(dirt1, dt, { rounding: "ROUND_DOWN" }), SECONDS_IN_YEAR, {
18
18
  rounding: "ROUND_DOWN",
19
19
  })), { rounding: "ROUND_DOWN" });
20
20
  }
21
- export function calcBorrowInterestIndex(birt1, biit1, latestUpdate) {
22
- const dt = BigInt(unixTime()) - latestUpdate;
21
+ export function calcBorrowInterestIndex(birt1, biit1, latestUpdate, lastTimestamp = BigInt(unixTime())) {
22
+ const dt = lastTimestamp - latestUpdate;
23
23
  return dn.mul(biit1, expBySquaring(dn.add(dn.from(1, 18), dn.div(birt1, SECONDS_IN_YEAR, { rounding: "ROUND_DOWN" })), dt), { rounding: "ROUND_DOWN" });
24
24
  }
25
- export function calcRetention(actualRetained, totalDebt, overallBorrowInterestRate, retentionRate, latestUpdate) {
26
- const dt = BigInt(unixTime()) - latestUpdate;
25
+ export function calcRetention(actualRetained, totalDebt, overallBorrowInterestRate, retentionRate, latestUpdate, lastTimestamp = BigInt(unixTime())) {
26
+ const dt = lastTimestamp - latestUpdate;
27
27
  const [retainedDelta] = dn.div(dn.mul(dn.mul(dn.mul(totalDebt, overallBorrowInterestRate, { rounding: "ROUND_DOWN", decimals: 0 }), retentionRate, {
28
28
  rounding: "ROUND_DOWN",
29
29
  decimals: 0,
@@ -1 +1 @@
1
- {"version":3,"file":"formulae.js","sourceRoot":"","sources":["../../../src/common/utils/formulae.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,MAAM,CAAC;AAE3B,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAIzE,MAAM,UAAU,gBAAgB,CAAC,MAAc,EAAE,MAAc;IAC7D,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,YAAoB,EAAE,MAAc,EAAE,MAAc;IACtF,OAAO,CAAC,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,MAAM,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,6BAA6B,CAC3C,YAAoB,EACpB,eAAuB,EACvB,uBAA6B,EAC7B,wBAA8B;IAE9B,MAAM,SAAS,GAAG,YAAY,GAAG,eAAe,CAAC;IACjD,IAAI,SAAS,KAAK,EAAE;QAAE,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAE5C,OAAO,EAAE,CAAC,GAAG,CACX,EAAE,CAAC,GAAG,CACJ,EAAE,CAAC,GAAG,CAAC,YAAY,EAAE,uBAAuB,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,EACtF,EAAE,CAAC,GAAG,CAAC,eAAe,EAAE,wBAAwB,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAC3F,EACD,SAAS,EACT,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,EAAE,EAAE,CACzC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,KAAW,EAAE,KAAW,EAAE,YAAoB;IACrF,MAAM,EAAE,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC,GAAG,YAAY,CAAC;IAC7C,OAAO,EAAE,CAAC,GAAG,CACX,KAAK,EACL,EAAE,CAAC,GAAG,CACJ,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,EACd,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,EAAE,eAAe,EAAE;QACrE,QAAQ,EAAE,YAAY;KACvB,CAAC,CACH,EACD,EAAE,QAAQ,EAAE,YAAY,EAAE,CAC3B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,KAAW,EAAE,KAAW,EAAE,YAAoB;IACpF,MAAM,EAAE,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC,GAAG,YAAY,CAAC;IAC7C,OAAO,EAAE,CAAC,GAAG,CACX,KAAK,EACL,aAAa,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,eAAe,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EACrG,EAAE,QAAQ,EAAE,YAAY,EAAE,CAC3B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,cAAsB,EACtB,SAAiB,EACjB,yBAA+B,EAC/B,aAAmB,EACnB,YAAoB;IAEpB,MAAM,EAAE,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC,GAAG,YAAY,CAAC;IAE7C,MAAM,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC,GAAG,CAC5B,EAAE,CAAC,GAAG,CACJ,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,SAAS,EAAE,yBAAyB,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,EAAE,aAAa,EAAE;QAC3G,QAAQ,EAAE,YAAY;QACtB,QAAQ,EAAE,CAAC;KACZ,CAAC,EACF,EAAE,EACF,EAAE,QAAQ,EAAE,YAAY,EAAE,CAC3B,EACD,eAAe,EACf;QACE,QAAQ,EAAE,YAAY;KACvB,CACF,CAAC;IACF,OAAO,cAAc,GAAG,aAAa,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAY,EAAE,EAAU,EAAE,IAAU,EAAE,EAAQ,EAAE,YAAoB;IAClG,IAAI,IAAI,IAAI,EAAE;QAAE,OAAO,IAAI,CAAC;IAC5B,MAAM,EAAE,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC,GAAG,YAAY,CAAC;IAC7C,OAAO,EAAE,CAAC,GAAG,CACX,IAAI,EACJ,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,EAAE,IAAI,EAAE;QACvD,QAAQ,EAAE,YAAY;KACvB,CAAC,CACH,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,MAAc,EAAE,GAAS,EAAE,KAAW;IACvE,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,CAAC;IAC7F,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,gBAAwB,EAAE,IAAU;IAC5D,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,gBAAgB,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,CAAC;IAClF,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,OAAe,EAAE,IAAU;IAC5D,MAAM,CAAC,gBAAgB,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,CAAC;IAClF,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,MAAc,EAAE,UAAgB,EAAE,aAAqB;IAC1F,OAAO,EAAE,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,MAAM,EAAE,aAAa,CAAC,EAAE;QACjD,QAAQ,EAAE,YAAY;KACvB,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,4BAA4B,CAC1C,MAAc,EACd,UAAgB,EAChB,aAAqB,EACrB,gBAAsB;IAEtB,OAAO,EAAE,CAAC,GAAG,CAAC,oBAAoB,CAAC,MAAM,EAAE,UAAU,EAAE,aAAa,CAAC,EAAE,gBAAgB,EAAE;QACvF,QAAQ,EAAE,YAAY;QACtB,QAAQ,EAAE,CAAC;KACZ,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,MAAc,EACd,UAAgB,EAChB,aAAqB,EACrB,YAAkB;IAElB,OAAO,EAAE,CAAC,GAAG,CAAC,oBAAoB,CAAC,MAAM,EAAE,UAAU,EAAE,aAAa,CAAC,EAAE,YAAY,EAAE;QACnF,QAAQ,EAAE,UAAU;QACpB,QAAQ,EAAE,CAAC;KACZ,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAa,EAAE,IAAU,EAAE,MAAY;IACvE,MAAM,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,EAAE;QACzF,QAAQ,EAAE,UAAU;KACrB,CAAC,CAAC;IACH,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,GAAW,EAAE,MAAc,EAAE,OAAa,EAAE,MAAY;IAC7F,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/G,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,uBAA6B,EAAE,2BAAiC;IAC3F,MAAM,CAAC,EAAE,QAAQ,CAAC,GAAG,uBAAuB,CAAC;IAC7C,IAAI,EAAE,CAAC,KAAK,CAAC,2BAA2B,EAAE,CAAC,CAAC;QAAE,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC1E,OAAO,EAAE,CAAC,GAAG,CAAC,uBAAuB,EAAE,2BAA2B,EAAE;QAClE,QAAQ,EAAE,UAAU;KACrB,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,gCAAsC,EACtC,oCAA0C;IAE1C,MAAM,CAAC,EAAE,QAAQ,CAAC,GAAG,gCAAgC,CAAC;IACtD,IAAI,EAAE,CAAC,KAAK,CAAC,oCAAoC,EAAE,CAAC,CAAC;QAAE,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;IACnF,OAAO,EAAE,CAAC,GAAG,CAAC,gCAAgC,EAAE,oCAAoC,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC;AAClH,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,gCAAsC,EACtC,oCAA0C;IAE1C,MAAM,CAAC,EAAE,QAAQ,CAAC,GAAG,gCAAgC,CAAC;IACtD,IAAI,EAAE,CAAC,KAAK,CAAC,oCAAoC,EAAE,CAAC,CAAC;QAAE,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;IACnF,OAAO,EAAE,CAAC,GAAG,CACX,EAAE,CAAC,GAAG,CAAC,oCAAoC,EAAE,gCAAgC,CAAC,EAC9E,oCAAoC,EACpC;QACE,QAAQ,EAAE,YAAY;KACvB,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"formulae.js","sourceRoot":"","sources":["../../../src/common/utils/formulae.ts"],"names":[],"mappings":"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"}
@@ -226,7 +226,9 @@ export const util = {
226
226
  const folksTokenPendingRewards = {};
227
227
  for (const { rewardTokenId, totalRewards } of activeEpoch.rewards) {
228
228
  // proportional to the percentage of points you already have of the total points (incl for rest of epoch)
229
- folksTokenPendingRewards[rewardTokenId] = (userEpochPoints * totalRewards) / totalPointsInEpoch;
229
+ const pendingRewards = (userEpochPoints * totalRewards) / totalPointsInEpoch;
230
+ if (pendingRewards > 0n)
231
+ folksTokenPendingRewards[rewardTokenId] = pendingRewards;
230
232
  }
231
233
  pendingRewards[folksTokenId] = folksTokenPendingRewards;
232
234
  }
@@ -1 +1 @@
1
- {"version":3,"file":"folks-rewards-v2.js","sourceRoot":"","sources":["../../../src/xchain/modules/folks-rewards-v2.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"folks-rewards-v2.js","sourceRoot":"","sources":["../../../src/xchain/modules/folks-rewards-v2.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@folks-finance/xchain-sdk",
3
3
  "description": "The official JavaScript SDK for the Folks Finance Cross-Chain Lending Protocol",
4
- "version": "0.0.69",
4
+ "version": "0.0.71",
5
5
  "license": "MIT",
6
6
  "publishConfig": {
7
7
  "access": "public"
@@ -1,8 +1,10 @@
1
+ import { getBlock } from "viem/actions";
2
+
1
3
  import { EVM_FOLKS_CHAIN_ID } from "../constants/chain.js";
2
4
 
3
5
  import type { EvmAddress } from "../../../../common/types/address.js";
4
6
  import type { EvmChainId } from "../types/chain.js";
5
- import type { Account, WalletClient } from "viem";
7
+ import type { Account, Client, WalletClient } from "viem";
6
8
 
7
9
  export function getEvmSignerAddress(signer: WalletClient): EvmAddress {
8
10
  if (signer.account?.address) return signer.account.address as EvmAddress;
@@ -18,3 +20,8 @@ export const isEvmChainId = (chainId: number): chainId is EvmChainId => {
18
20
  // @ts-expect-error -- this is made on purpose to have the type predicate
19
21
  return Object.values(EVM_FOLKS_CHAIN_ID).includes(chainId);
20
22
  };
23
+
24
+ export async function getBlockTimestamp(provider: Client, blockNumber?: bigint): Promise<bigint> {
25
+ const block = await getBlock(provider, { blockNumber, includeTransactions: false });
26
+ return block.timestamp;
27
+ }
@@ -6,7 +6,8 @@ import {
6
6
  calcOverallBorrowInterestRate,
7
7
  calcRetention,
8
8
  } from "../../../../common/utils/formulae.js";
9
- import { compoundEveryHour, compoundEverySecond } from "../../../../common/utils/math-lib.js";
9
+ import { compoundEveryHour, compoundEverySecond, unixTime } from "../../../../common/utils/math-lib.js";
10
+ import { getBlockTimestamp } from "../../common/utils/chain.js";
10
11
  import { getHubTokenData } from "../utils/chain.js";
11
12
  import { getHubPoolContract } from "../utils/contract.js";
12
13
 
@@ -91,6 +92,8 @@ export async function getPoolInfo(
91
92
  blockNumber,
92
93
  });
93
94
 
95
+ const lastTimestamp = blockNumber ? await getBlockTimestamp(provider, blockNumber) : BigInt(unixTime());
96
+
94
97
  const {
95
98
  flashLoanFee,
96
99
  retentionRate,
@@ -148,6 +151,7 @@ export async function getPoolInfo(
148
151
  ),
149
152
  [BigInt(retentionRate), 6],
150
153
  lastUpdateTimestamp,
154
+ lastTimestamp,
151
155
  ),
152
156
  fTokenFeeRecipient: fTokenFeeRecipient as EvmAddress,
153
157
  tokenFeeClaimer: tokenFeeClaimer as EvmAddress,
@@ -162,6 +166,7 @@ export async function getPoolInfo(
162
166
  [depositInterestRate, 18],
163
167
  [oldDepositInterestIndex, 18],
164
168
  lastUpdateTimestamp,
169
+ lastTimestamp,
165
170
  ),
166
171
  },
167
172
  variableBorrowData: {
@@ -175,6 +180,7 @@ export async function getPoolInfo(
175
180
  [variableBorrowInterestRate, 18],
176
181
  [oldVariableBorrowInterestsIndex, 18],
177
182
  lastUpdateTimestamp,
183
+ lastTimestamp,
178
184
  ),
179
185
  },
180
186
  stableBorrowData: {
@@ -31,8 +31,13 @@ export function calcOverallBorrowInterestRate(
31
31
  );
32
32
  }
33
33
 
34
- export function calcDepositInterestIndex(dirt1: Dnum, diit1: Dnum, latestUpdate: bigint): Dnum {
35
- const dt = BigInt(unixTime()) - latestUpdate;
34
+ export function calcDepositInterestIndex(
35
+ dirt1: Dnum,
36
+ diit1: Dnum,
37
+ latestUpdate: bigint,
38
+ lastTimestamp = BigInt(unixTime()),
39
+ ): Dnum {
40
+ const dt = lastTimestamp - latestUpdate;
36
41
  return dn.mul(
37
42
  diit1,
38
43
  dn.add(
@@ -45,8 +50,13 @@ export function calcDepositInterestIndex(dirt1: Dnum, diit1: Dnum, latestUpdate:
45
50
  );
46
51
  }
47
52
 
48
- export function calcBorrowInterestIndex(birt1: Dnum, biit1: Dnum, latestUpdate: bigint): Dnum {
49
- const dt = BigInt(unixTime()) - latestUpdate;
53
+ export function calcBorrowInterestIndex(
54
+ birt1: Dnum,
55
+ biit1: Dnum,
56
+ latestUpdate: bigint,
57
+ lastTimestamp = BigInt(unixTime()),
58
+ ): Dnum {
59
+ const dt = lastTimestamp - latestUpdate;
50
60
  return dn.mul(
51
61
  biit1,
52
62
  expBySquaring(dn.add(dn.from(1, 18), dn.div(birt1, SECONDS_IN_YEAR, { rounding: "ROUND_DOWN" })), dt),
@@ -60,8 +70,9 @@ export function calcRetention(
60
70
  overallBorrowInterestRate: Dnum,
61
71
  retentionRate: Dnum,
62
72
  latestUpdate: bigint,
73
+ lastTimestamp = BigInt(unixTime()),
63
74
  ): bigint {
64
- const dt = BigInt(unixTime()) - latestUpdate;
75
+ const dt = lastTimestamp - latestUpdate;
65
76
 
66
77
  const [retainedDelta] = dn.div(
67
78
  dn.mul(
@@ -408,7 +408,8 @@ export const util = {
408
408
  const folksTokenPendingRewards: Partial<Record<RewardsTokenId, bigint>> = {};
409
409
  for (const { rewardTokenId, totalRewards } of activeEpoch.rewards) {
410
410
  // proportional to the percentage of points you already have of the total points (incl for rest of epoch)
411
- folksTokenPendingRewards[rewardTokenId] = (userEpochPoints * totalRewards) / totalPointsInEpoch;
411
+ const pendingRewards = (userEpochPoints * totalRewards) / totalPointsInEpoch;
412
+ if (pendingRewards > 0n) folksTokenPendingRewards[rewardTokenId] = pendingRewards;
412
413
  }
413
414
  pendingRewards[folksTokenId as FolksTokenId] = folksTokenPendingRewards;
414
415
  }