@lombard.finance/sdk 3.1.0 → 3.4.0

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.
Files changed (76) hide show
  1. package/README.md +60 -1
  2. package/dist/index.cjs +1 -1
  3. package/dist/index.js +73 -62
  4. package/dist/index2.cjs +62 -52
  5. package/dist/index2.cjs.map +1 -1
  6. package/dist/index2.js +8361 -12041
  7. package/dist/index2.js.map +1 -1
  8. package/package.json +35 -33
  9. package/src/api-functions/generateDepositBtcAddress/generateDepositBtcAddress.ts +4 -4
  10. package/src/api-functions/getDepositBtcAddress/getDepositBtcAddress.stories.tsx +8 -0
  11. package/src/api-functions/getDepositBtcAddress/getDepositBtcAddress.ts +3 -3
  12. package/src/api-functions/getDepositsByAddress/getDepositsByAddress.ts +8 -7
  13. package/src/api-functions/getUnstakesByAddress/getUnstakesByAddress.ts +5 -5
  14. package/src/api-functions/getUserStakeAndBakeSignature/getUserStakeAndBakeSignature.stories.tsx +8 -0
  15. package/src/bridge/abi/CCIP_BRIDGE_ADAPTER_ABI.json +704 -0
  16. package/src/bridge/abi/OFT_BRIDGE_ADAPTER_ABI.json +912 -0
  17. package/src/bridge/index.ts +11 -0
  18. package/src/bridge/lib/bridge.stories.tsx +89 -0
  19. package/src/bridge/lib/bridge.ts +101 -0
  20. package/src/bridge/lib/ccip-bridge.stories.tsx +90 -0
  21. package/src/bridge/lib/ccip-bridge.ts +163 -0
  22. package/src/bridge/lib/config.ts +338 -0
  23. package/src/bridge/lib/oft-bridge.stories.tsx +89 -0
  24. package/src/bridge/lib/oft-bridge.ts +211 -0
  25. package/src/common/api-config.ts +8 -2
  26. package/src/common/blockchain-identifier.ts +32 -5
  27. package/src/common/chains.ts +13 -1
  28. package/src/common/contract-info.ts +8 -0
  29. package/src/contract-functions/approveLBTC/approveLBTC.stories.tsx +1 -1
  30. package/src/contract-functions/approveLBTC/approveLBTC.ts +3 -2
  31. package/src/contract-functions/claimLBTC/claimLBTC.ts +3 -2
  32. package/src/contract-functions/getBasculeDepositStatus/getBasculeDepositStatus.ts +10 -4
  33. package/src/contract-functions/getLBTCMintingFee/getLBTCMintingFee.tsx +14 -11
  34. package/src/contract-functions/getLBTCTotalSupply/getLBTCTotalSupply.ts +13 -9
  35. package/src/contract-functions/getPermitNonce/getPermitNonce.ts +16 -10
  36. package/src/contract-functions/getShareValue/getShareValue.stories.tsx +1 -1
  37. package/src/contract-functions/getShareValue/getShareValue.ts +1 -1
  38. package/src/contract-functions/getSharesByAddress/getSharesByAddress.stories.tsx +1 -1
  39. package/src/contract-functions/getSharesByAddress/getSharesByAddress.ts +1 -1
  40. package/src/contract-functions/getStakeAndBakeFee/getStakeAndBakeFee.stories.tsx +14 -1
  41. package/src/contract-functions/getStakeAndBakeFee/getStakeAndBakeFee.tsx +5 -1
  42. package/src/contract-functions/signNetworkFee/signNetworkFee.ts +3 -2
  43. package/src/contract-functions/signStakeAndBake/signStakeAndBake.stories.tsx +2 -1
  44. package/src/contract-functions/signStakeAndBake/signStakeAndBake.ts +8 -3
  45. package/src/contract-functions/unstakeLBTC/unstakeLBTC.ts +3 -2
  46. package/src/index.ts +26 -28
  47. package/src/metrics/get-lbtc-stats.stories.tsx +51 -0
  48. package/src/metrics/get-lbtc-stats.ts +38 -0
  49. package/src/rewards/lib/claim-reward.stories.tsx +1 -0
  50. package/src/rewards/lib/claim-reward.ts +5 -0
  51. package/src/rewards/lib/get-reward-signing-data.stories.tsx +1 -0
  52. package/src/rewards/lib/get-reward-signing-data.ts +4 -0
  53. package/src/tokens/abi/LBTC_ABI.json +1760 -1760
  54. package/src/tokens/abi/LBTC_ABI.ts +1761 -0
  55. package/src/tokens/lbtc-addresses.ts +1 -0
  56. package/src/tokens/token-addresses.ts +32 -0
  57. package/src/tokens/tokens.ts +59 -50
  58. package/src/utils/numbers.ts +3 -0
  59. package/src/vaults/index.ts +35 -176
  60. package/src/vaults/lib/config.ts +196 -0
  61. package/src/vaults/lib/metrics/get-vault-apy.stories.tsx +57 -0
  62. package/src/vaults/lib/metrics/get-vault-apy.ts +132 -0
  63. package/src/vaults/lib/{get-vault-points.stories.tsx → metrics/get-vault-points.stories.tsx} +8 -8
  64. package/src/vaults/lib/{get-vault-points.ts → metrics/get-vault-points.ts} +1 -1
  65. package/src/vaults/lib/metrics/get-vault-tvl.stories.tsx +57 -0
  66. package/src/vaults/lib/metrics/get-vault-tvl.ts +119 -0
  67. package/src/vaults/lib/{cancel-withdraw.stories.tsx → ops/cancel-withdraw.stories.tsx} +9 -9
  68. package/src/vaults/lib/{deposit.stories.tsx → ops/deposit.stories.tsx} +9 -9
  69. package/src/vaults/lib/{deposit.ts → ops/deposit.ts} +10 -10
  70. package/src/vaults/lib/{get-vault-deposits.stories.tsx → ops/get-vault-deposits.stories.tsx} +9 -9
  71. package/src/vaults/lib/{get-vault-deposits.ts → ops/get-vault-deposits.ts} +5 -5
  72. package/src/vaults/lib/{get-vault-withdrawals.stories.tsx → ops/get-vault-withdrawals.stories.tsx} +9 -9
  73. package/src/vaults/lib/{get-vault-withdrawals.ts → ops/get-vault-withdrawals.ts} +5 -5
  74. package/src/vaults/lib/{withdraw.stories.tsx → ops/withdraw.stories.tsx} +9 -9
  75. package/src/vaults/lib/{withdraw.ts → ops/withdraw.ts} +12 -12
  76. package/src/tokens/lbtc-contract.ts +0 -89
@@ -0,0 +1,38 @@
1
+ import axios from 'axios';
2
+ import { getApiConfig } from '../common/api-config';
3
+ import { IEnvParam } from '../common/parameters';
4
+ import BigNumber from 'bignumber.js';
5
+
6
+ /** Gets the Lombard's TVL. */
7
+ export async function getLBTCStats(parameters?: IEnvParam) {
8
+ const env = parameters?.env;
9
+
10
+ const { bffApiUrl } = getApiConfig(env);
11
+ if (!bffApiUrl) {
12
+ throw new Error(
13
+ `Could not determine API endpoint for provided environment: ${env}`,
14
+ );
15
+ }
16
+
17
+ const { data } = await axios.get<
18
+ { price: number; supply: number; tvl: number }[]
19
+ >(`${bffApiUrl}/dune-api/query/getLBTCStats`);
20
+
21
+ const { data: holders } = await axios.get<number>(
22
+ `${bffApiUrl}/dune-api/query/lbtc-holders`,
23
+ );
24
+
25
+ const { data: historicalHolders } = await axios.get<number>(
26
+ `${bffApiUrl}/dune-api/query/getTotalLBTCUsers`,
27
+ );
28
+
29
+ const stats = {
30
+ price: BigNumber(data[0].price),
31
+ supply: BigNumber(data[0].supply),
32
+ tvl: BigNumber(data[0].tvl),
33
+ holders: BigNumber(holders),
34
+ historicalHolders: BigNumber(historicalHolders),
35
+ };
36
+
37
+ return stats;
38
+ }
@@ -34,6 +34,7 @@ export const WithParams: Story = {
34
34
  to: EXAMPLE_BABYLON_ADDRESS,
35
35
  amount: '0.001',
36
36
  rewardToken: RewardToken.BABY,
37
+ signingDataVariant: 'json',
37
38
  chainId: ChainId.ethereum,
38
39
  env: Env.stage,
39
40
  },
@@ -22,6 +22,8 @@ export type ClaimRewardParameters = {
22
22
  amount: BigNumber.Value;
23
23
  /** The destination address. */
24
24
  to: string;
25
+ /** Signing data variant */
26
+ signingDataVariant?: Parameters<typeof getRewardSigningData>[0]['variant'];
25
27
  } & CommonWriteParameters;
26
28
 
27
29
  const REQUEST_WITHDRAW_URL =
@@ -33,6 +35,7 @@ export async function claimReward({
33
35
  rewardToken,
34
36
  amount,
35
37
  to,
38
+ signingDataVariant,
36
39
  chainId,
37
40
  provider,
38
41
  env,
@@ -57,6 +60,7 @@ export async function claimReward({
57
60
  amount,
58
61
  fee: withdrawalFee,
59
62
  rewardToken,
63
+ variant: signingDataVariant,
60
64
  env,
61
65
  });
62
66
 
@@ -69,6 +73,7 @@ export async function claimReward({
69
73
  amount: BigNumber(amount).toFixed(),
70
74
  fee: BigNumber(withdrawalFee).toFixed(),
71
75
  signature,
76
+ plain: signingDataVariant === 'plain-text',
72
77
  };
73
78
 
74
79
  const { baseApiUrl } = getApiConfig(env);
@@ -34,6 +34,7 @@ export const WithParams: Story = {
34
34
  amount: '0.001',
35
35
  fee: '0.00044',
36
36
  rewardToken: RewardToken.BABY,
37
+ variant: 'json',
37
38
  env: Env.stage,
38
39
  },
39
40
  };
@@ -21,6 +21,8 @@ export type GetRewardSigningDataParameters = {
21
21
  fee: BigNumber.Value;
22
22
  /** The reward token. */
23
23
  rewardToken: RewardToken;
24
+ /** The signing data variant */
25
+ variant?: 'json' | 'plain-text';
24
26
  } & IEnvParam;
25
27
 
26
28
  /** Retrieves the signing data (message) to be signed by the reward claimer. */
@@ -30,6 +32,7 @@ export async function getRewardSigningData({
30
32
  amount,
31
33
  fee,
32
34
  rewardToken,
35
+ variant = 'json',
33
36
  env,
34
37
  }: GetRewardSigningDataParameters) {
35
38
  if (!isRewardTokenSupported(rewardToken)) {
@@ -44,6 +47,7 @@ export async function getRewardSigningData({
44
47
  params: {
45
48
  amount: BigNumber(amount).toFixed(),
46
49
  fee: BigNumber(fee).toFixed(),
50
+ plain: variant === 'plain-text',
47
51
  },
48
52
  },
49
53
  );