@huma-finance/shared 0.0.59-beta.511 → 0.0.59-beta.514

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 (208) hide show
  1. package/dist/abis/index.d.ts +3 -0
  2. package/dist/abis/index.js +3 -0
  3. package/dist/abis/index.js.map +1 -1
  4. package/dist/cjs/abis/index.d.ts +3 -0
  5. package/dist/cjs/abis/index.js +7 -1
  6. package/dist/cjs/abis/index.js.map +1 -1
  7. package/dist/cjs/index.d.ts +0 -1
  8. package/dist/cjs/index.js +0 -1
  9. package/dist/cjs/index.js.map +1 -1
  10. package/dist/cjs/utils/credit.d.ts +1 -1
  11. package/dist/cjs/utils/poolContract.d.ts +38 -1
  12. package/dist/cjs/utils/poolContract.js.map +1 -1
  13. package/dist/cjs/v2/abis/index.d.ts +2 -1
  14. package/dist/cjs/v2/abis/index.js +4 -2
  15. package/dist/cjs/v2/abis/index.js.map +1 -1
  16. package/dist/cjs/v2/index.d.ts +0 -1
  17. package/dist/cjs/v2/index.js +0 -1
  18. package/dist/cjs/v2/index.js.map +1 -1
  19. package/dist/cjs/v2/metadata/baseSepolia.js +1 -0
  20. package/dist/cjs/v2/metadata/baseSepolia.js.map +1 -1
  21. package/dist/cjs/v2/utils/poolContract.d.ts +7 -0
  22. package/dist/cjs/v2/utils/poolContract.js.map +1 -1
  23. package/dist/index.d.ts +0 -1
  24. package/dist/index.js +0 -1
  25. package/dist/index.js.map +1 -1
  26. package/dist/tsconfig.cjs.tsbuildinfo +1 -1
  27. package/dist/utils/credit.d.ts +1 -1
  28. package/dist/utils/poolContract.d.ts +38 -1
  29. package/dist/utils/poolContract.js.map +1 -1
  30. package/dist/v2/abis/index.d.ts +2 -1
  31. package/dist/v2/abis/index.js +2 -1
  32. package/dist/v2/abis/index.js.map +1 -1
  33. package/dist/v2/index.d.ts +0 -1
  34. package/dist/v2/index.js +0 -1
  35. package/dist/v2/index.js.map +1 -1
  36. package/dist/v2/metadata/baseSepolia.js +1 -0
  37. package/dist/v2/metadata/baseSepolia.js.map +1 -1
  38. package/dist/v2/utils/poolContract.d.ts +7 -0
  39. package/dist/v2/utils/poolContract.js.map +1 -1
  40. package/package.json +3 -49
  41. package/dist/cjs/hooks/index.d.ts +0 -20
  42. package/dist/cjs/hooks/index.js +0 -24
  43. package/dist/cjs/hooks/index.js.map +0 -1
  44. package/dist/cjs/hooks/useActiveRoute.d.ts +0 -9
  45. package/dist/cjs/hooks/useActiveRoute.js +0 -12
  46. package/dist/cjs/hooks/useActiveRoute.js.map +0 -1
  47. package/dist/cjs/hooks/useAsyncError.d.ts +0 -14
  48. package/dist/cjs/hooks/useAsyncError.js +0 -27
  49. package/dist/cjs/hooks/useAsyncError.js.map +0 -1
  50. package/dist/cjs/hooks/useAuthErrorHandling.d.ts +0 -11
  51. package/dist/cjs/hooks/useAuthErrorHandling.js +0 -81
  52. package/dist/cjs/hooks/useAuthErrorHandling.js.map +0 -1
  53. package/dist/cjs/hooks/useCLPoolContract.d.ts +0 -29
  54. package/dist/cjs/hooks/useCLPoolContract.js +0 -54
  55. package/dist/cjs/hooks/useCLPoolContract.js.map +0 -1
  56. package/dist/cjs/hooks/useContract.d.ts +0 -7
  57. package/dist/cjs/hooks/useContract.js +0 -44
  58. package/dist/cjs/hooks/useContract.js.map +0 -1
  59. package/dist/cjs/hooks/useContractFunction.d.ts +0 -18
  60. package/dist/cjs/hooks/useContractFunction.js +0 -58
  61. package/dist/cjs/hooks/useContractFunction.js.map +0 -1
  62. package/dist/cjs/hooks/useDebouncedValue.d.ts +0 -1
  63. package/dist/cjs/hooks/useDebouncedValue.js +0 -16
  64. package/dist/cjs/hooks/useDebouncedValue.js.map +0 -1
  65. package/dist/cjs/hooks/useERC2612Permit/ethPermit/index.d.ts +0 -35
  66. package/dist/cjs/hooks/useERC2612Permit/ethPermit/index.js +0 -146
  67. package/dist/cjs/hooks/useERC2612Permit/ethPermit/index.js.map +0 -1
  68. package/dist/cjs/hooks/useERC2612Permit/ethPermit/lib.d.ts +0 -1
  69. package/dist/cjs/hooks/useERC2612Permit/ethPermit/lib.js +0 -27
  70. package/dist/cjs/hooks/useERC2612Permit/ethPermit/lib.js.map +0 -1
  71. package/dist/cjs/hooks/useERC2612Permit/ethPermit/rpc.d.ts +0 -10
  72. package/dist/cjs/hooks/useERC2612Permit/ethPermit/rpc.js +0 -105
  73. package/dist/cjs/hooks/useERC2612Permit/ethPermit/rpc.js.map +0 -1
  74. package/dist/cjs/hooks/useERC2612Permit/index.d.ts +0 -6
  75. package/dist/cjs/hooks/useERC2612Permit/index.js +0 -36
  76. package/dist/cjs/hooks/useERC2612Permit/index.js.map +0 -1
  77. package/dist/cjs/hooks/useFactoring.d.ts +0 -19
  78. package/dist/cjs/hooks/useFactoring.js +0 -95
  79. package/dist/cjs/hooks/useFactoring.js.map +0 -1
  80. package/dist/cjs/hooks/useForceRefresh.d.ts +0 -1
  81. package/dist/cjs/hooks/useForceRefresh.js +0 -13
  82. package/dist/cjs/hooks/useForceRefresh.js.map +0 -1
  83. package/dist/cjs/hooks/useGetSizes.d.ts +0 -12
  84. package/dist/cjs/hooks/useGetSizes.js +0 -24
  85. package/dist/cjs/hooks/useGetSizes.js.map +0 -1
  86. package/dist/cjs/hooks/useInvoiceNFTContract.d.ts +0 -12
  87. package/dist/cjs/hooks/useInvoiceNFTContract.js +0 -71
  88. package/dist/cjs/hooks/useInvoiceNFTContract.js.map +0 -1
  89. package/dist/cjs/hooks/useMQ.d.ts +0 -6
  90. package/dist/cjs/hooks/useMQ.js +0 -19
  91. package/dist/cjs/hooks/useMQ.js.map +0 -1
  92. package/dist/cjs/hooks/useMount.d.ts +0 -2
  93. package/dist/cjs/hooks/useMount.js +0 -14
  94. package/dist/cjs/hooks/useMount.js.map +0 -1
  95. package/dist/cjs/hooks/useParamsSearch.d.ts +0 -2
  96. package/dist/cjs/hooks/useParamsSearch.js +0 -12
  97. package/dist/cjs/hooks/useParamsSearch.js.map +0 -1
  98. package/dist/cjs/hooks/usePool.d.ts +0 -2
  99. package/dist/cjs/hooks/usePool.js +0 -13
  100. package/dist/cjs/hooks/usePool.js.map +0 -1
  101. package/dist/cjs/hooks/usePoolContract.d.ts +0 -76
  102. package/dist/cjs/hooks/usePoolContract.js +0 -336
  103. package/dist/cjs/hooks/usePoolContract.js.map +0 -1
  104. package/dist/cjs/hooks/useRFPoolContract.d.ts +0 -24
  105. package/dist/cjs/hooks/useRFPoolContract.js +0 -42
  106. package/dist/cjs/hooks/useRFPoolContract.js.map +0 -1
  107. package/dist/cjs/hooks/useRefresh.d.ts +0 -1
  108. package/dist/cjs/hooks/useRefresh.js +0 -52
  109. package/dist/cjs/hooks/useRefresh.js.map +0 -1
  110. package/dist/cjs/hooks/web3/index.d.ts +0 -11
  111. package/dist/cjs/hooks/web3/index.js +0 -147
  112. package/dist/cjs/hooks/web3/index.js.map +0 -1
  113. package/dist/cjs/hooks/web3/useConnectors.d.ts +0 -17
  114. package/dist/cjs/hooks/web3/useConnectors.js +0 -31
  115. package/dist/cjs/hooks/web3/useConnectors.js.map +0 -1
  116. package/dist/cjs/hooks/web3/useJsonRpcUrlsMap.d.ts +0 -13
  117. package/dist/cjs/hooks/web3/useJsonRpcUrlsMap.js +0 -71
  118. package/dist/cjs/hooks/web3/useJsonRpcUrlsMap.js.map +0 -1
  119. package/dist/cjs/v2/hooks/index.d.ts +0 -1
  120. package/dist/cjs/v2/hooks/index.js +0 -5
  121. package/dist/cjs/v2/hooks/index.js.map +0 -1
  122. package/dist/cjs/v2/hooks/usePool.d.ts +0 -69
  123. package/dist/cjs/v2/hooks/usePool.js +0 -544
  124. package/dist/cjs/v2/hooks/usePool.js.map +0 -1
  125. package/dist/hooks/index.d.ts +0 -20
  126. package/dist/hooks/index.js +0 -21
  127. package/dist/hooks/index.js.map +0 -1
  128. package/dist/hooks/useActiveRoute.d.ts +0 -9
  129. package/dist/hooks/useActiveRoute.js +0 -8
  130. package/dist/hooks/useActiveRoute.js.map +0 -1
  131. package/dist/hooks/useAsyncError.d.ts +0 -14
  132. package/dist/hooks/useAsyncError.js +0 -23
  133. package/dist/hooks/useAsyncError.js.map +0 -1
  134. package/dist/hooks/useAuthErrorHandling.d.ts +0 -11
  135. package/dist/hooks/useAuthErrorHandling.js +0 -76
  136. package/dist/hooks/useAuthErrorHandling.js.map +0 -1
  137. package/dist/hooks/useCLPoolContract.d.ts +0 -29
  138. package/dist/hooks/useCLPoolContract.js +0 -39
  139. package/dist/hooks/useCLPoolContract.js.map +0 -1
  140. package/dist/hooks/useContract.d.ts +0 -7
  141. package/dist/hooks/useContract.js +0 -36
  142. package/dist/hooks/useContract.js.map +0 -1
  143. package/dist/hooks/useContractFunction.d.ts +0 -18
  144. package/dist/hooks/useContractFunction.js +0 -55
  145. package/dist/hooks/useContractFunction.js.map +0 -1
  146. package/dist/hooks/useDebouncedValue.d.ts +0 -1
  147. package/dist/hooks/useDebouncedValue.js +0 -12
  148. package/dist/hooks/useDebouncedValue.js.map +0 -1
  149. package/dist/hooks/useERC2612Permit/ethPermit/index.d.ts +0 -35
  150. package/dist/hooks/useERC2612Permit/ethPermit/index.js +0 -140
  151. package/dist/hooks/useERC2612Permit/ethPermit/index.js.map +0 -1
  152. package/dist/hooks/useERC2612Permit/ethPermit/lib.d.ts +0 -1
  153. package/dist/hooks/useERC2612Permit/ethPermit/lib.js +0 -22
  154. package/dist/hooks/useERC2612Permit/ethPermit/lib.js.map +0 -1
  155. package/dist/hooks/useERC2612Permit/ethPermit/rpc.d.ts +0 -10
  156. package/dist/hooks/useERC2612Permit/ethPermit/rpc.js +0 -97
  157. package/dist/hooks/useERC2612Permit/ethPermit/rpc.js.map +0 -1
  158. package/dist/hooks/useERC2612Permit/index.d.ts +0 -6
  159. package/dist/hooks/useERC2612Permit/index.js +0 -32
  160. package/dist/hooks/useERC2612Permit/index.js.map +0 -1
  161. package/dist/hooks/useFactoring.d.ts +0 -19
  162. package/dist/hooks/useFactoring.js +0 -91
  163. package/dist/hooks/useFactoring.js.map +0 -1
  164. package/dist/hooks/useForceRefresh.d.ts +0 -1
  165. package/dist/hooks/useForceRefresh.js +0 -9
  166. package/dist/hooks/useForceRefresh.js.map +0 -1
  167. package/dist/hooks/useGetSizes.d.ts +0 -12
  168. package/dist/hooks/useGetSizes.js +0 -20
  169. package/dist/hooks/useGetSizes.js.map +0 -1
  170. package/dist/hooks/useInvoiceNFTContract.d.ts +0 -12
  171. package/dist/hooks/useInvoiceNFTContract.js +0 -63
  172. package/dist/hooks/useInvoiceNFTContract.js.map +0 -1
  173. package/dist/hooks/useMQ.d.ts +0 -6
  174. package/dist/hooks/useMQ.js +0 -15
  175. package/dist/hooks/useMQ.js.map +0 -1
  176. package/dist/hooks/useMount.d.ts +0 -2
  177. package/dist/hooks/useMount.js +0 -9
  178. package/dist/hooks/useMount.js.map +0 -1
  179. package/dist/hooks/useParamsSearch.d.ts +0 -2
  180. package/dist/hooks/useParamsSearch.js +0 -7
  181. package/dist/hooks/useParamsSearch.js.map +0 -1
  182. package/dist/hooks/usePool.d.ts +0 -2
  183. package/dist/hooks/usePool.js +0 -9
  184. package/dist/hooks/usePool.js.map +0 -1
  185. package/dist/hooks/usePoolContract.d.ts +0 -76
  186. package/dist/hooks/usePoolContract.js +0 -312
  187. package/dist/hooks/usePoolContract.js.map +0 -1
  188. package/dist/hooks/useRFPoolContract.d.ts +0 -24
  189. package/dist/hooks/useRFPoolContract.js +0 -30
  190. package/dist/hooks/useRFPoolContract.js.map +0 -1
  191. package/dist/hooks/useRefresh.d.ts +0 -1
  192. package/dist/hooks/useRefresh.js +0 -48
  193. package/dist/hooks/useRefresh.js.map +0 -1
  194. package/dist/hooks/web3/index.d.ts +0 -11
  195. package/dist/hooks/web3/index.js +0 -142
  196. package/dist/hooks/web3/index.js.map +0 -1
  197. package/dist/hooks/web3/useConnectors.d.ts +0 -17
  198. package/dist/hooks/web3/useConnectors.js +0 -25
  199. package/dist/hooks/web3/useConnectors.js.map +0 -1
  200. package/dist/hooks/web3/useJsonRpcUrlsMap.d.ts +0 -13
  201. package/dist/hooks/web3/useJsonRpcUrlsMap.js +0 -62
  202. package/dist/hooks/web3/useJsonRpcUrlsMap.js.map +0 -1
  203. package/dist/v2/hooks/index.d.ts +0 -1
  204. package/dist/v2/hooks/index.js +0 -2
  205. package/dist/v2/hooks/index.js.map +0 -1
  206. package/dist/v2/hooks/usePool.d.ts +0 -69
  207. package/dist/v2/hooks/usePool.js +0 -507
  208. package/dist/v2/hooks/usePool.js.map +0 -1
@@ -1,312 +0,0 @@
1
- import { MaxUint256 } from '@ethersproject/constants';
2
- import { BigNumber } from 'ethers';
3
- import { useCallback, useEffect, useState } from 'react';
4
- import BASE_FEE_MANAGER_ABI from '../abis/BaseFeeManager.json';
5
- import { CreditState } from '../utils/credit';
6
- import { downScale, toBigNumber, upScale } from '../utils/number';
7
- import { useContract, useERC20Contract } from './useContract';
8
- import { useForceRefresh } from './useForceRefresh';
9
- import { usePoolInfo } from './usePool';
10
- export function usePoolContract(poolName, poolType, chainId, provider, account) {
11
- const poolInfo = usePoolInfo(poolName, poolType, chainId);
12
- return useContract(poolInfo === null || poolInfo === void 0 ? void 0 : poolInfo.pool, poolInfo === null || poolInfo === void 0 ? void 0 : poolInfo.poolAbi, provider, account);
13
- }
14
- export function useBaseConfigPoolContract(poolName, poolType, chainId, provider) {
15
- const poolInfo = usePoolInfo(poolName, poolType, chainId);
16
- return useContract(poolInfo === null || poolInfo === void 0 ? void 0 : poolInfo.basePoolConfig, poolInfo === null || poolInfo === void 0 ? void 0 : poolInfo.basePoolConfigAbi, provider);
17
- }
18
- export function usePoolFeeManagerContract(poolName, poolType, chainId, provider) {
19
- const poolInfo = usePoolInfo(poolName, poolType, chainId);
20
- return useContract(poolInfo === null || poolInfo === void 0 ? void 0 : poolInfo.poolFeeManager, BASE_FEE_MANAGER_ABI, provider);
21
- }
22
- export function usePoolUnderlyingTokenContract(poolName, poolType, chainId, provider) {
23
- var _a;
24
- const poolInfo = usePoolInfo(poolName, poolType, chainId);
25
- return useERC20Contract((_a = poolInfo === null || poolInfo === void 0 ? void 0 : poolInfo.poolUnderlyingToken) === null || _a === void 0 ? void 0 : _a.address, provider);
26
- }
27
- export function useHDTContract(poolName, poolType, chainId, provider) {
28
- var _a, _b;
29
- const poolInfo = usePoolInfo(poolName, poolType, chainId);
30
- return useContract((_a = poolInfo === null || poolInfo === void 0 ? void 0 : poolInfo.HDT) === null || _a === void 0 ? void 0 : _a.address, (_b = poolInfo === null || poolInfo === void 0 ? void 0 : poolInfo.HDT) === null || _b === void 0 ? void 0 : _b.abi, provider);
31
- }
32
- export function usePoolNFTContract(poolName, poolType, chainId, provider) {
33
- const poolInfo = usePoolInfo(poolName, poolType, chainId);
34
- return useContract(poolInfo === null || poolInfo === void 0 ? void 0 : poolInfo.assetAddress, poolInfo === null || poolInfo === void 0 ? void 0 : poolInfo.poolAssetAbi, provider);
35
- }
36
- export function usePoolUnderlyingToken(poolName, poolType, chainId) {
37
- const poolInfo = usePoolInfo(poolName, poolType, chainId);
38
- return (poolInfo === null || poolInfo === void 0 ? void 0 : poolInfo.poolUnderlyingToken) || {};
39
- }
40
- export function usePoolUnderlyingTokenBalance(poolName, poolType, chainId, account, provider) {
41
- const poolUnderlyingTokenContract = usePoolUnderlyingTokenContract(poolName, poolType, chainId, provider);
42
- const [balance, setBalance] = useState(toBigNumber(0));
43
- useEffect(() => {
44
- const fetchData = async () => {
45
- if (poolUnderlyingTokenContract && account) {
46
- const result = await poolUnderlyingTokenContract.balanceOf(account);
47
- setBalance(result);
48
- }
49
- };
50
- fetchData();
51
- }, [account, poolUnderlyingTokenContract]);
52
- return balance;
53
- }
54
- export function usePoolTotalValue(poolName, poolType, chainId, provider) {
55
- const poolContract = usePoolContract(poolName, poolType, chainId, provider);
56
- const [totalValue, setTotalValue] = useState();
57
- const [refreshCount, refresh] = useForceRefresh();
58
- useEffect(() => {
59
- const fetchData = async () => {
60
- if (chainId && poolContract) {
61
- const result = await poolContract.totalPoolValue();
62
- setTotalValue(result);
63
- }
64
- };
65
- fetchData();
66
- }, [chainId, poolContract, poolName, poolType, refreshCount]);
67
- return [totalValue, refresh];
68
- }
69
- export function usePoolTotalSupply(poolName, poolType, chainId, provider) {
70
- const contract = useHDTContract(poolName, poolType, chainId, provider);
71
- const [totalSupply, setTotalSupply] = useState();
72
- const [refreshCount, refresh] = useForceRefresh();
73
- useEffect(() => {
74
- const fetchData = async () => {
75
- if (chainId && contract) {
76
- const result = await contract.totalSupply();
77
- setTotalSupply(result);
78
- }
79
- };
80
- fetchData();
81
- }, [chainId, contract, poolName, poolType, refreshCount]);
82
- return [totalSupply, refresh];
83
- }
84
- export function usePoolBalance(poolName, poolType, chainId, provider) {
85
- const poolUnderlyingTokenContract = usePoolUnderlyingTokenContract(poolName, poolType, chainId, provider);
86
- const poolInfo = usePoolInfo(poolName, poolType, chainId);
87
- const [balance, setBalance] = useState();
88
- const [refreshCount, refresh] = useForceRefresh();
89
- useEffect(() => {
90
- const fetchData = async () => {
91
- if (poolUnderlyingTokenContract && poolInfo) {
92
- const result = await poolUnderlyingTokenContract.balanceOf(poolInfo.pool);
93
- setBalance(result);
94
- }
95
- };
96
- fetchData();
97
- }, [
98
- chainId,
99
- poolInfo,
100
- poolName,
101
- poolType,
102
- poolUnderlyingTokenContract,
103
- refreshCount,
104
- ]);
105
- return [balance, refresh];
106
- }
107
- export function useAccountStats(poolName, poolType, chainId, account, provider) {
108
- const poolInfo = usePoolInfo(poolName, poolType, chainId);
109
- const poolContract = usePoolContract(poolName, poolType, chainId, provider);
110
- const [poolBalance] = usePoolBalance(poolName, poolType, chainId, provider);
111
- const [accountStats, setAccountStats] = useState({
112
- creditRecord: undefined,
113
- creditRecordStatic: undefined,
114
- receivableInfo: undefined,
115
- isApproved: false,
116
- payoffAmount: 0,
117
- principalAmount: 0,
118
- creditAvailableAmount: 0,
119
- totalDueAmount: 0,
120
- });
121
- const [refreshCount, refresh] = useForceRefresh();
122
- useEffect(() => {
123
- const fetchData = async () => {
124
- if (poolContract && account && poolInfo && poolBalance) {
125
- const creditRecord = await poolContract.creditRecordMapping(account);
126
- const creditRecordStatic = await poolContract.creditRecordStaticMapping(account);
127
- let receivableInfo;
128
- if (poolContract.receivableInfoMapping) {
129
- receivableInfo = await poolContract.receivableInfoMapping(account);
130
- }
131
- const isApproved = creditRecord
132
- ? creditRecord.state >= CreditState.Approved
133
- : false;
134
- const payoffWithoutCorrection = creditRecord.unbilledPrincipal.add(creditRecord.totalDue);
135
- const payoff = payoffWithoutCorrection.add(creditRecord.correction);
136
- const principal = payoffWithoutCorrection.sub(creditRecord.feesAndInterestDue);
137
- const unusedCredit = creditRecordStatic.creditLimit.sub(principal);
138
- // Set available credit to the minimum of the pool balance or the credit available amount,
139
- // since both are upper bounds on the amount of credit that can be borrowed.
140
- // If either is negative, cap the available credit to 0.
141
- let creditAvailable = unusedCredit.lt(poolBalance)
142
- ? unusedCredit
143
- : poolBalance;
144
- creditAvailable = creditAvailable.lt(0)
145
- ? BigNumber.from(0)
146
- : creditAvailable;
147
- const { decimals } = poolInfo.poolUnderlyingToken;
148
- setAccountStats({
149
- creditRecord,
150
- creditRecordStatic,
151
- receivableInfo,
152
- isApproved,
153
- payoffAmount: downScale(payoff.toString(), decimals),
154
- principalAmount: downScale(principal.toString(), decimals),
155
- creditAvailableAmount: downScale(creditAvailable.toString(), decimals),
156
- totalDueAmount: downScale(creditRecord.totalDue.toString(), decimals),
157
- });
158
- }
159
- };
160
- fetchData();
161
- }, [account, poolBalance, poolContract, poolInfo, refreshCount]);
162
- return [accountStats, refresh];
163
- }
164
- export function useCreditRecord(poolName, poolType, chainId, account, provider) {
165
- const poolContract = usePoolContract(poolName, poolType, chainId, provider);
166
- const checkIsApproved = useCallback(async () => {
167
- if (poolContract && account) {
168
- const creditRecord = await poolContract.creditRecordMapping(account);
169
- const isApproved = creditRecord
170
- ? creditRecord.state >= CreditState.Approved
171
- : false;
172
- return isApproved;
173
- }
174
- return false;
175
- }, [account, poolContract]);
176
- return { checkIsApproved };
177
- }
178
- export function useFeeManager(poolName, poolType, chainId, provider) {
179
- const poolInfo = usePoolInfo(poolName, poolType, chainId);
180
- const feeManagerContract = usePoolFeeManagerContract(poolName, poolType, chainId, provider);
181
- const [fees, setFees] = useState();
182
- useEffect(() => {
183
- const fetchData = async () => {
184
- if (feeManagerContract) {
185
- const result = await feeManagerContract.getFees();
186
- setFees(result);
187
- }
188
- };
189
- fetchData();
190
- }, [feeManagerContract]);
191
- /**
192
- * return fees charged without decimals
193
- */
194
- const getFeesCharged = useCallback((requestedLoan) => {
195
- if (!fees || !requestedLoan || !poolInfo) {
196
- return 0;
197
- }
198
- const { poolUnderlyingToken } = poolInfo;
199
- const { decimals } = poolUnderlyingToken;
200
- const { _frontLoadingFeeFlat: feeFlat, _frontLoadingFeeBps: feeBps } = fees;
201
- // @TODO: Figure out why feeBps.div(10000) directly not work
202
- return feeBps
203
- .div(100)
204
- .mul(toBigNumber(requestedLoan))
205
- .div(100)
206
- .add(downScale(feeFlat.toNumber(), decimals))
207
- .toNumber();
208
- }, [fees, poolInfo]);
209
- return { fees, getFeesCharged };
210
- }
211
- export function usePoolAllowance(poolName, poolType, chainId, account, provider) {
212
- const poolInfo = usePoolInfo(poolName, poolType, chainId);
213
- const contract = usePoolUnderlyingTokenContract(poolName, poolType, chainId, provider);
214
- const [allowance, setAllowance] = useState(toBigNumber(0));
215
- const [approved, setApproved] = useState(false);
216
- const [loaded, setLoaded] = useState(false);
217
- const [refreshCount, refresh] = useForceRefresh();
218
- useEffect(() => {
219
- const fetchData = async () => {
220
- if (contract && poolInfo && account) {
221
- const allowance = await contract.allowance(account, poolInfo.pool);
222
- setAllowance(allowance);
223
- setApproved(allowance.gt(MaxUint256.div(2)));
224
- setLoaded(true);
225
- }
226
- };
227
- fetchData();
228
- }, [account, contract, poolInfo, refreshCount]);
229
- return { approved, allowance, loaded, refresh };
230
- }
231
- export function useLenderPosition(poolName, poolType, chainId, account, provider) {
232
- const poolInfo = usePoolInfo(poolName, poolType, chainId);
233
- const contract = useHDTContract(poolName, poolType, chainId, provider);
234
- const [position, setPosition] = useState();
235
- const [refreshCount, refresh] = useForceRefresh();
236
- useEffect(() => {
237
- const fetchData = async () => {
238
- if (contract && account && poolInfo) {
239
- const position = await contract.withdrawableFundsOf(account);
240
- const oneCentUSD = BigNumber.from(upScale('0.01', poolInfo.poolUnderlyingToken.decimals));
241
- // if position is less than one cent USD, consider it 0
242
- if (position.lt(oneCentUSD)) {
243
- setPosition(BigNumber.from(0));
244
- }
245
- else {
246
- setPosition(position);
247
- }
248
- }
249
- };
250
- fetchData();
251
- }, [account, contract, poolInfo, refreshCount]);
252
- return [position, refresh];
253
- }
254
- export function useLenderApproved(poolName, poolType, chainId, account, provider) {
255
- const contract = usePoolContract(poolName, poolType, chainId, provider);
256
- const [approved, setApproved] = useState();
257
- const [refreshCount, refresh] = useForceRefresh();
258
- useEffect(() => {
259
- const fetchData = async () => {
260
- if (contract && account) {
261
- const approved = await contract.isApprovedLender(account);
262
- setApproved(approved);
263
- }
264
- };
265
- fetchData();
266
- }, [account, contract, refreshCount]);
267
- return [approved, refresh];
268
- }
269
- export function useWithdrawlLockoutInSeconds(poolName, poolType, chainId, provider) {
270
- const contract = useBaseConfigPoolContract(poolName, poolType, chainId, provider);
271
- const [lockoutSeconds, setLockoutSeconds] = useState();
272
- useEffect(() => {
273
- const fetchData = async () => {
274
- if (contract) {
275
- const seconds = await contract.withdrawalLockoutPeriodInSeconds();
276
- setLockoutSeconds(seconds.toNumber());
277
- }
278
- };
279
- fetchData();
280
- }, [contract]);
281
- return lockoutSeconds;
282
- }
283
- export function useLastDepositTime(poolName, poolType, chainId, account, provider) {
284
- const contract = usePoolContract(poolName, poolType, chainId, provider);
285
- const [lockoutSeconds, setLockoutSeconds] = useState();
286
- useEffect(() => {
287
- const fetchData = async () => {
288
- if (contract && account) {
289
- const seconds = await contract.lastDepositTime(account);
290
- setLockoutSeconds(seconds.toNumber());
291
- }
292
- };
293
- fetchData();
294
- }, [account, contract]);
295
- return lockoutSeconds;
296
- }
297
- export function usePoolApr(poolName, poolType, chainId, provider) {
298
- const poolInfo = usePoolInfo(poolName, poolType, chainId);
299
- const contract = useContract(poolInfo === null || poolInfo === void 0 ? void 0 : poolInfo.basePoolConfig, poolInfo === null || poolInfo === void 0 ? void 0 : poolInfo.basePoolConfigAbi, provider);
300
- const [apr, setApr] = useState();
301
- useEffect(() => {
302
- const fetchData = async () => {
303
- if (contract) {
304
- const aprInBps = await contract.poolAprInBps();
305
- setApr(aprInBps.toNumber() / 10000);
306
- }
307
- };
308
- fetchData();
309
- }, [contract]);
310
- return apr;
311
- }
312
- //# sourceMappingURL=usePoolContract.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"usePoolContract.js","sourceRoot":"","sources":["../../src/hooks/usePoolContract.ts"],"names":[],"mappings":"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"}
@@ -1,24 +0,0 @@
1
- import { JsonRpcProvider, Web3Provider } from '@ethersproject/providers';
2
- import { ReceivableFactoringPool } from '../abis/types/ReceivableFactoringPool';
3
- import { POOL_NAME } from '../utils/pool';
4
- export declare function useRFPoolContract(poolName: POOL_NAME, chainId: number | undefined, provider: JsonRpcProvider | Web3Provider | undefined): ReceivableFactoringPool | null;
5
- export declare function useRFPoolUnderlyingTokenContract(poolName: POOL_NAME, chainId: number | undefined, provider: JsonRpcProvider | Web3Provider | undefined): import("..").Erc20 | null;
6
- export declare function useRFPoolUnderlyingToken(poolName: POOL_NAME, chainId: number | undefined): Partial<{
7
- address: string;
8
- symbol: string;
9
- decimals: number;
10
- }>;
11
- export declare function useRFPoolBalance(poolName: POOL_NAME, chainId: number | undefined, provider: JsonRpcProvider | Web3Provider | undefined): [import("ethers").BigNumber | undefined, () => void];
12
- export declare function useReceivableStats(poolName: POOL_NAME, chainId: number | undefined, account: string | undefined, provider: JsonRpcProvider | Web3Provider | undefined): [import("./usePoolContract").AccountStats, () => void];
13
- export declare function useRFFeeManager(poolName: POOL_NAME, chainId: number | undefined, provider: JsonRpcProvider | Web3Provider | undefined): {
14
- fees: import("./usePoolContract").FeesType | undefined;
15
- getFeesCharged: (requestedLoan: number) => number;
16
- };
17
- export declare function useRFPoolAllowance(poolName: POOL_NAME, chainId: number | undefined, account: string | undefined, provider: JsonRpcProvider | Web3Provider | undefined): {
18
- approved: boolean;
19
- allowance: import("ethers").BigNumber;
20
- loaded: boolean;
21
- refresh: () => void;
22
- };
23
- export declare function useRFLenderPosition(poolName: POOL_NAME, chainId: number | undefined, account: string | undefined, provider: JsonRpcProvider | Web3Provider | undefined): [import("ethers").BigNumber | undefined, () => void];
24
- export declare function useRFLenderApproved(poolName: POOL_NAME, chainId: number | undefined, account: string | undefined, provider: JsonRpcProvider | Web3Provider | undefined): [boolean | undefined, () => void];
@@ -1,30 +0,0 @@
1
- import { POOL_TYPE } from '../utils/pool';
2
- import { useAccountStats, useFeeManager, useLenderApproved, useLenderPosition, usePoolAllowance, usePoolBalance, usePoolContract, usePoolUnderlyingToken, usePoolUnderlyingTokenContract, } from './usePoolContract';
3
- export function useRFPoolContract(poolName, chainId, provider) {
4
- return usePoolContract(poolName, POOL_TYPE.Invoice, chainId, provider);
5
- }
6
- export function useRFPoolUnderlyingTokenContract(poolName, chainId, provider) {
7
- return usePoolUnderlyingTokenContract(poolName, POOL_TYPE.Invoice, chainId, provider);
8
- }
9
- export function useRFPoolUnderlyingToken(poolName, chainId) {
10
- return usePoolUnderlyingToken(poolName, POOL_TYPE.Invoice, chainId);
11
- }
12
- export function useRFPoolBalance(poolName, chainId, provider) {
13
- return usePoolBalance(poolName, POOL_TYPE.Invoice, chainId, provider);
14
- }
15
- export function useReceivableStats(poolName, chainId, account, provider) {
16
- return useAccountStats(poolName, POOL_TYPE.Invoice, chainId, account, provider);
17
- }
18
- export function useRFFeeManager(poolName, chainId, provider) {
19
- return useFeeManager(poolName, POOL_TYPE.Invoice, chainId, provider);
20
- }
21
- export function useRFPoolAllowance(poolName, chainId, account, provider) {
22
- return usePoolAllowance(poolName, POOL_TYPE.Invoice, chainId, account, provider);
23
- }
24
- export function useRFLenderPosition(poolName, chainId, account, provider) {
25
- return useLenderPosition(poolName, POOL_TYPE.Invoice, chainId, account, provider);
26
- }
27
- export function useRFLenderApproved(poolName, chainId, account, provider) {
28
- return useLenderApproved(poolName, POOL_TYPE.Invoice, chainId, account, provider);
29
- }
30
- //# sourceMappingURL=useRFPoolContract.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useRFPoolContract.js","sourceRoot":"","sources":["../../src/hooks/useRFPoolContract.ts"],"names":[],"mappings":"AAEA,OAAO,EAAa,SAAS,EAAE,MAAM,eAAe,CAAA;AACpD,OAAO,EACL,eAAe,EACf,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,sBAAsB,EACtB,8BAA8B,GAC/B,MAAM,mBAAmB,CAAA;AAE1B,MAAM,UAAU,iBAAiB,CAC/B,QAAmB,EACnB,OAA2B,EAC3B,QAAoD;IAEpD,OAAO,eAAe,CACpB,QAAQ,EACR,SAAS,CAAC,OAAO,EACjB,OAAO,EACP,QAAQ,CACT,CAAA;AACH,CAAC;AAED,MAAM,UAAU,gCAAgC,CAC9C,QAAmB,EACnB,OAA2B,EAC3B,QAAoD;IAEpD,OAAO,8BAA8B,CACnC,QAAQ,EACR,SAAS,CAAC,OAAO,EACjB,OAAO,EACP,QAAQ,CACT,CAAA;AACH,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,QAAmB,EACnB,OAA2B;IAE3B,OAAO,sBAAsB,CAAC,QAAQ,EAAE,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;AACrE,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,QAAmB,EACnB,OAA2B,EAC3B,QAAoD;IAEpD,OAAO,cAAc,CAAC,QAAQ,EAAE,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAA;AACvE,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,QAAmB,EACnB,OAA2B,EAC3B,OAA2B,EAC3B,QAAoD;IAEpD,OAAO,eAAe,CACpB,QAAQ,EACR,SAAS,CAAC,OAAO,EACjB,OAAO,EACP,OAAO,EACP,QAAQ,CACT,CAAA;AACH,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,QAAmB,EACnB,OAA2B,EAC3B,QAAoD;IAEpD,OAAO,aAAa,CAAC,QAAQ,EAAE,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAA;AACtE,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,QAAmB,EACnB,OAA2B,EAC3B,OAA2B,EAC3B,QAAoD;IAEpD,OAAO,gBAAgB,CACrB,QAAQ,EACR,SAAS,CAAC,OAAO,EACjB,OAAO,EACP,OAAO,EACP,QAAQ,CACT,CAAA;AACH,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,QAAmB,EACnB,OAA2B,EAC3B,OAA2B,EAC3B,QAAoD;IAEpD,OAAO,iBAAiB,CACtB,QAAQ,EACR,SAAS,CAAC,OAAO,EACjB,OAAO,EACP,OAAO,EACP,QAAQ,CACT,CAAA;AACH,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,QAAmB,EACnB,OAA2B,EAC3B,OAA2B,EAC3B,QAAoD;IAEpD,OAAO,iBAAiB,CACtB,QAAQ,EACR,SAAS,CAAC,OAAO,EACjB,OAAO,EACP,OAAO,EACP,QAAQ,CACT,CAAA;AACH,CAAC"}
@@ -1 +0,0 @@
1
- export declare const useRefresh: () => [(targetBlockNumber: number, callback: () => void) => void, boolean];
@@ -1,48 +0,0 @@
1
- import { useWeb3React } from '@web3-react/core';
2
- import { useCallback, useEffect, useRef, useState } from 'react';
3
- export const useRefresh = () => {
4
- const { provider } = useWeb3React();
5
- const [loading, setLoading] = useState(false);
6
- const blockNumberRef = useRef();
7
- const targetBlockNumberRef = useRef();
8
- const callbackRef = useRef();
9
- // @ts-ignore
10
- useEffect(() => {
11
- if (!provider)
12
- return () => undefined;
13
- const listener = (latestBlockNumber) => {
14
- try {
15
- blockNumberRef.current = latestBlockNumber;
16
- if (targetBlockNumberRef.current &&
17
- latestBlockNumber >= targetBlockNumberRef.current) {
18
- if (callbackRef.current) {
19
- console.log('target block number', targetBlockNumberRef.current);
20
- console.log('latest block number', latestBlockNumber);
21
- callbackRef.current();
22
- targetBlockNumberRef.current = undefined;
23
- callbackRef.current = undefined;
24
- setLoading(false);
25
- }
26
- }
27
- }
28
- catch (error) {
29
- setLoading(false);
30
- }
31
- };
32
- provider.on('block', listener);
33
- return () => provider.removeListener('block', listener);
34
- }, [provider]);
35
- const subscribe = useCallback((targetBlockNumber, callbackFn) => {
36
- if (blockNumberRef.current &&
37
- blockNumberRef.current >= targetBlockNumber) {
38
- callbackFn();
39
- }
40
- else {
41
- setLoading(true);
42
- targetBlockNumberRef.current = targetBlockNumber;
43
- callbackRef.current = callbackFn;
44
- }
45
- }, []);
46
- return [subscribe, loading];
47
- };
48
- //# sourceMappingURL=useRefresh.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useRefresh.js","sourceRoot":"","sources":["../../src/hooks/useRefresh.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEhE,MAAM,CAAC,MAAM,UAAU,GAAG,GAGxB,EAAE;IACF,MAAM,EAAE,QAAQ,EAAE,GAAG,YAAY,EAAE,CAAA;IACnC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC7C,MAAM,cAAc,GAAG,MAAM,EAAsB,CAAA;IACnD,MAAM,oBAAoB,GAAG,MAAM,EAAsB,CAAA;IACzD,MAAM,WAAW,GAAG,MAAM,EAA0B,CAAA;IAEpD,aAAa;IACb,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,QAAQ;YAAE,OAAO,GAAG,EAAE,CAAC,SAAS,CAAA;QACrC,MAAM,QAAQ,GAAG,CAAC,iBAAyB,EAAE,EAAE;YAC7C,IAAI;gBACF,cAAc,CAAC,OAAO,GAAG,iBAAiB,CAAA;gBAC1C,IACE,oBAAoB,CAAC,OAAO;oBAC5B,iBAAiB,IAAI,oBAAoB,CAAC,OAAO,EACjD;oBACA,IAAI,WAAW,CAAC,OAAO,EAAE;wBACvB,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAA;wBAChE,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,iBAAiB,CAAC,CAAA;wBACrD,WAAW,CAAC,OAAO,EAAE,CAAA;wBACrB,oBAAoB,CAAC,OAAO,GAAG,SAAS,CAAA;wBACxC,WAAW,CAAC,OAAO,GAAG,SAAS,CAAA;wBAC/B,UAAU,CAAC,KAAK,CAAC,CAAA;qBAClB;iBACF;aACF;YAAC,OAAO,KAAK,EAAE;gBACd,UAAU,CAAC,KAAK,CAAC,CAAA;aAClB;QACH,CAAC,CAAA;QACD,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;QAC9B,OAAO,GAAG,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;IACzD,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAA;IAEd,MAAM,SAAS,GAAG,WAAW,CAC3B,CAAC,iBAAyB,EAAE,UAAsB,EAAE,EAAE;QACpD,IACE,cAAc,CAAC,OAAO;YACtB,cAAc,CAAC,OAAO,IAAI,iBAAiB,EAC3C;YACA,UAAU,EAAE,CAAA;SACb;aAAM;YACL,UAAU,CAAC,IAAI,CAAC,CAAA;YAChB,oBAAoB,CAAC,OAAO,GAAG,iBAAiB,CAAA;YAChD,WAAW,CAAC,OAAO,GAAG,UAAU,CAAA;SACjC;IACH,CAAC,EACD,EAAE,CACH,CAAA;IAED,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;AAC7B,CAAC,CAAA"}
@@ -1,11 +0,0 @@
1
- import React, { PropsWithChildren } from 'react';
2
- import { JsonRpcProvider } from '@ethersproject/providers';
3
- import { Provider as Eip1193Provider } from '@web3-react/types';
4
- import { ChainEnum } from '../../utils/chain';
5
- import { JsonRpcConnectionMap } from './useJsonRpcUrlsMap';
6
- export interface ProviderProps {
7
- defaultChainId?: ChainEnum;
8
- jsonRpcUrlMap?: JsonRpcConnectionMap;
9
- provider: Eip1193Provider | JsonRpcProvider;
10
- }
11
- export declare function Provider({ defaultChainId: chainId, jsonRpcUrlMap, provider, children, }: PropsWithChildren<ProviderProps>): React.JSX.Element;
@@ -1,142 +0,0 @@
1
- import React, { useEffect, useMemo, useRef } from 'react';
2
- import { JsonRpcProvider } from '@ethersproject/providers';
3
- import { initializeConnector, Web3ReactProvider, } from '@web3-react/core';
4
- import { EIP1193 } from '@web3-react/eip1193';
5
- import { MetaMask } from '@web3-react/metamask';
6
- import { Network } from '@web3-react/network';
7
- import { ChainEnum, supportedChainId } from '../../utils/chain';
8
- import { MetaMaskConnectionError } from '../../utils/errors';
9
- import { JsonRpcConnector } from '../../utils/JsonRpcConnector';
10
- import { WalletConnectPopup, WalletConnectQR } from '../../utils/WalletConnect';
11
- import { useAsyncError } from '../useAsyncError';
12
- import { Provider as ConnectorsProvider } from './useConnectors';
13
- import { Provider as JsonRpcUrlMapProvider, toJsonRpcConnectionMap, toJsonRpcUrlMap, } from './useJsonRpcUrlsMap';
14
- const DEFAULT_CHAIN_ID = ChainEnum.Polygon;
15
- function initializeWeb3ReactConnector(Constructor, options) {
16
- const [connector, hooks] = initializeConnector(
17
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
18
- (actions) => new Constructor(Object.assign({ actions }, options)));
19
- if (options && 'provider' in options) {
20
- // Short-circuit provider selection to improve performance and testability.
21
- // Without doing so, provider will be unavailable for a frame.
22
- hooks.useProvider = (() => options
23
- .provider);
24
- }
25
- return [connector, hooks];
26
- }
27
- function useWeb3ReactConnectors({ defaultChainId, provider, jsonRpcUrlMap, }) {
28
- const [urlMap, connectionMap] = useMemo(() => [
29
- toJsonRpcUrlMap(jsonRpcUrlMap),
30
- toJsonRpcConnectionMap(jsonRpcUrlMap),
31
- ], [jsonRpcUrlMap]);
32
- const throwAsync = useAsyncError();
33
- const user = useMemo(() => {
34
- if (!provider)
35
- return;
36
- if (JsonRpcProvider.isProvider(provider)) {
37
- // eslint-disable-next-line consistent-return
38
- return initializeWeb3ReactConnector(JsonRpcConnector, {
39
- provider,
40
- onError: console.error,
41
- });
42
- }
43
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
44
- if (JsonRpcProvider.isProvider(provider.provider)) {
45
- throw new Error('Eip1193Bridge is experimental: pass your ethers Provider directly');
46
- }
47
- else {
48
- // eslint-disable-next-line consistent-return
49
- return initializeWeb3ReactConnector(EIP1193, {
50
- provider,
51
- onError: console.error,
52
- });
53
- }
54
- }, [provider]);
55
- const metaMask = useMemo(() => initializeWeb3ReactConnector(MetaMask, {
56
- onError: () => {
57
- throwAsync(new MetaMaskConnectionError());
58
- },
59
- }), [throwAsync]);
60
- const walletConnect = useMemo(() => initializeWeb3ReactConnector(WalletConnectPopup, {
61
- options: { rpc: urlMap },
62
- defaultChainId,
63
- onError: console.error,
64
- }), [defaultChainId, urlMap]);
65
- const walletConnectQR = useMemo(() => initializeWeb3ReactConnector(WalletConnectQR, {
66
- options: { rpc: urlMap },
67
- defaultChainId,
68
- onError: console.error,
69
- }), [defaultChainId, urlMap]);
70
- const network = useMemo(() => initializeWeb3ReactConnector(Network, {
71
- urlMap: connectionMap,
72
- defaultChainId,
73
- }), [connectionMap, defaultChainId]);
74
- return useMemo(() => ({
75
- user,
76
- metaMask,
77
- walletConnect,
78
- walletConnectQR,
79
- network,
80
- }), [metaMask, network, user, walletConnect, walletConnectQR]);
81
- }
82
- export function Provider({ defaultChainId: chainId = ChainEnum.Polygon, jsonRpcUrlMap, provider, children, }) {
83
- const defaultChainId = useMemo(() => {
84
- if (!supportedChainId(chainId)) {
85
- console.warn(`Unsupported chainId: ${chainId}. Falling back to ${DEFAULT_CHAIN_ID} (${ChainEnum[DEFAULT_CHAIN_ID]}).`);
86
- return DEFAULT_CHAIN_ID;
87
- }
88
- return chainId;
89
- }, [chainId]);
90
- const web3ReactConnectors = useWeb3ReactConnectors({
91
- provider,
92
- jsonRpcUrlMap,
93
- defaultChainId,
94
- });
95
- const key = useRef(0);
96
- const prioritizedConnectors = useMemo(() => {
97
- // Re-key Web3ReactProvider before rendering new connectors, as it expects connectors to be
98
- // referentially static.
99
- key.current += 1;
100
- const prioritizedConnectors = [
101
- web3ReactConnectors.user,
102
- web3ReactConnectors.metaMask,
103
- web3ReactConnectors.walletConnect,
104
- web3ReactConnectors.walletConnectQR,
105
- web3ReactConnectors.network,
106
- ];
107
- return prioritizedConnectors.filter((connector) => Boolean(connector));
108
- }, [web3ReactConnectors]);
109
- const connectors = useMemo(() => {
110
- var _a;
111
- return ({
112
- user: (_a = web3ReactConnectors.user) === null || _a === void 0 ? void 0 : _a[0],
113
- metaMask: web3ReactConnectors.metaMask[0],
114
- walletConnect: web3ReactConnectors.walletConnect[0],
115
- walletConnectQR: web3ReactConnectors.walletConnectQR[0],
116
- network: web3ReactConnectors.network[0],
117
- });
118
- }, [web3ReactConnectors]);
119
- const shouldEagerlyConnect = provider === undefined; // !== null
120
- useEffect(() => {
121
- // Ignore any errors during connection so they do not propagate to the widget.
122
- if (connectors.user) {
123
- connectors.user.activate().catch(() => undefined);
124
- return;
125
- }
126
- if (shouldEagerlyConnect) {
127
- const eagerConnectors = [connectors.metaMask, connectors.walletConnect];
128
- eagerConnectors.forEach((connector) => connector.connectEagerly().catch(() => undefined));
129
- }
130
- connectors.network.activate().catch(() => undefined);
131
- }, [
132
- connectors.metaMask,
133
- connectors.network,
134
- connectors.user,
135
- connectors.walletConnect,
136
- shouldEagerlyConnect,
137
- ]);
138
- return (React.createElement(Web3ReactProvider, { connectors: prioritizedConnectors, key: key.current },
139
- React.createElement(JsonRpcUrlMapProvider, { jsonRpcMap: jsonRpcUrlMap },
140
- React.createElement(ConnectorsProvider, { connectors: connectors }, children))));
141
- }
142
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/hooks/web3/index.tsx"],"names":[],"mappings":"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"}
@@ -1,17 +0,0 @@
1
- import React, { PropsWithChildren } from 'react';
2
- import { EIP1193 } from '@web3-react/eip1193';
3
- import { MetaMask } from '@web3-react/metamask';
4
- import { Network } from '@web3-react/network';
5
- import { JsonRpcConnector } from '../../utils/JsonRpcConnector';
6
- import { WalletConnectPopup, WalletConnectQR } from '../../utils/WalletConnect';
7
- export interface Connectors {
8
- user: EIP1193 | JsonRpcConnector | undefined;
9
- metaMask: MetaMask;
10
- walletConnect: WalletConnectPopup;
11
- walletConnectQR: WalletConnectQR;
12
- network: Network;
13
- }
14
- export declare function Provider({ connectors, children, }: PropsWithChildren<{
15
- connectors: Connectors;
16
- }>): React.JSX.Element;
17
- export default function useConnectors(): Connectors;