@huma-finance/shared 0.0.31 → 0.0.32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +660 -660
- package/README.md +28 -28
- package/dist/abis/BaseCreditPoolReceivable.json +764 -0
- package/dist/abis/ERC20TransferrableReceivable.json +648 -0
- package/dist/abis/types/BaseCreditPoolReceivable.d.ts +518 -0
- package/dist/abis/types/BaseCreditPoolReceivable.js +2 -0
- package/dist/abis/types/BaseCreditPoolReceivable.js.map +1 -0
- package/dist/abis/types/ERC20TransferrableReceivable.d.ts +407 -0
- package/dist/abis/types/ERC20TransferrableReceivable.js +2 -0
- package/dist/abis/types/ERC20TransferrableReceivable.js.map +1 -0
- package/dist/abis/types/factories/BaseCreditPoolReceivable__factory.d.ts +597 -0
- package/dist/abis/types/factories/BaseCreditPoolReceivable__factory.js +778 -0
- package/dist/abis/types/factories/BaseCreditPoolReceivable__factory.js.map +1 -0
- package/dist/abis/types/factories/BaseCreditPool__factory.js +2 -1
- package/dist/abis/types/factories/BaseCreditPool__factory.js.map +1 -1
- package/dist/abis/types/factories/BaseFeeManager__factory.js +2 -1
- package/dist/abis/types/factories/BaseFeeManager__factory.js.map +1 -1
- package/dist/abis/types/factories/BasePoolConfig__factory.js +2 -1
- package/dist/abis/types/factories/BasePoolConfig__factory.js.map +1 -1
- package/dist/abis/types/factories/ERC20TransferableReceivable__factory.js +2 -1
- package/dist/abis/types/factories/ERC20TransferableReceivable__factory.js.map +1 -1
- package/dist/abis/types/factories/ERC20TransferrableReceivable__factory.d.ts +508 -0
- package/dist/abis/types/factories/ERC20TransferrableReceivable__factory.js +663 -0
- package/dist/abis/types/factories/ERC20TransferrableReceivable__factory.js.map +1 -0
- package/dist/abis/types/factories/Erc20__factory.js +2 -1
- package/dist/abis/types/factories/Erc20__factory.js.map +1 -1
- package/dist/abis/types/factories/Erc2612__factory.js +2 -1
- package/dist/abis/types/factories/Erc2612__factory.js.map +1 -1
- package/dist/abis/types/factories/Erc721__factory.js +2 -1
- package/dist/abis/types/factories/Erc721__factory.js.map +1 -1
- package/dist/abis/types/factories/HDT__factory.js +2 -1
- package/dist/abis/types/factories/HDT__factory.js.map +1 -1
- package/dist/abis/types/factories/IConstantFlowAgreementV1__factory.js +2 -1
- package/dist/abis/types/factories/IConstantFlowAgreementV1__factory.js.map +1 -1
- package/dist/abis/types/factories/ISuperfluid__factory.js +2 -1
- package/dist/abis/types/factories/ISuperfluid__factory.js.map +1 -1
- package/dist/abis/types/factories/InvoiceNFT__factory.js +2 -1
- package/dist/abis/types/factories/InvoiceNFT__factory.js.map +1 -1
- package/dist/abis/types/factories/Multisend__factory.js +2 -1
- package/dist/abis/types/factories/Multisend__factory.js.map +1 -1
- package/dist/abis/types/factories/RealWorldReceivable__factory.js +2 -1
- package/dist/abis/types/factories/RealWorldReceivable__factory.js.map +1 -1
- package/dist/abis/types/factories/ReceivableFactoringPool__factory.js +2 -1
- package/dist/abis/types/factories/ReceivableFactoringPool__factory.js.map +1 -1
- package/dist/abis/types/factories/StreamFactoringPool__factory.js +2 -1
- package/dist/abis/types/factories/StreamFactoringPool__factory.js.map +1 -1
- package/dist/abis/types/factories/StreamFeeManager__factory.js +2 -1
- package/dist/abis/types/factories/StreamFeeManager__factory.js.map +1 -1
- package/dist/abis/types/factories/SuperfluidPoolProcessor__factory.js +2 -1
- package/dist/abis/types/factories/SuperfluidPoolProcessor__factory.js.map +1 -1
- package/dist/abis/types/factories/TestERC20__factory.js +2 -1
- package/dist/abis/types/factories/TestERC20__factory.js.map +1 -1
- package/dist/abis/types/factories/TradableStream__factory.js +2 -1
- package/dist/abis/types/factories/TradableStream__factory.js.map +1 -1
- package/dist/abis/types/factories/TransferNFT__factory.js +2 -1
- package/dist/abis/types/factories/TransferNFT__factory.js.map +1 -1
- package/dist/abis/types/factories/Transfer__factory.js +2 -1
- package/dist/abis/types/factories/Transfer__factory.js.map +1 -1
- package/dist/cjs/abis/BaseCreditPool.json +1179 -1179
- package/dist/cjs/abis/BaseCreditPoolReceivable.json +764 -0
- package/dist/cjs/abis/BaseFeeManager.json +480 -480
- package/dist/cjs/abis/BasePoolConfig.json +1364 -1364
- package/dist/cjs/abis/ERC20TransferableReceivable.json +648 -648
- package/dist/cjs/abis/HDT.json +512 -512
- package/dist/cjs/abis/IConstantFlowAgreementV1.json +890 -890
- package/dist/cjs/abis/ISuperfluid.json +1122 -1122
- package/dist/cjs/abis/InvoiceNFT.json +625 -625
- package/dist/cjs/abis/Multisend.json +26 -26
- package/dist/cjs/abis/RealWorldReceivable.json +823 -823
- package/dist/cjs/abis/ReceivableFactoringPool.json +1529 -1529
- package/dist/cjs/abis/StreamFactoringPool.json +1523 -1523
- package/dist/cjs/abis/StreamFeeManager.json +522 -522
- package/dist/cjs/abis/SuperfluidPoolProcessor.json +692 -692
- package/dist/cjs/abis/TestERC20.json +358 -358
- package/dist/cjs/abis/TradableStream.json +850 -850
- package/dist/cjs/abis/Transfer.json +24 -24
- package/dist/cjs/abis/TransferNFT.json +27 -27
- package/dist/cjs/abis/erc20.json +117 -117
- package/dist/cjs/abis/erc2612.json +132 -132
- package/dist/cjs/abis/erc721.json +673 -673
- package/dist/cjs/abis/index.d.ts +3 -3
- package/dist/cjs/abis/index.js +12 -12
- package/dist/cjs/abis/types/BaseCreditPool.d.ts +803 -803
- package/dist/cjs/abis/types/BaseCreditPool.js +2 -2
- package/dist/cjs/abis/types/BaseCreditPoolReceivable.d.ts +518 -0
- package/dist/cjs/abis/types/BaseCreditPoolReceivable.js +3 -0
- package/dist/cjs/abis/types/BaseCreditPoolReceivable.js.map +1 -0
- package/dist/cjs/abis/types/BaseFeeManager.d.ts +408 -408
- package/dist/cjs/abis/types/BaseFeeManager.js +2 -2
- package/dist/cjs/abis/types/BasePoolConfig.d.ts +1097 -1097
- package/dist/cjs/abis/types/BasePoolConfig.js +2 -2
- package/dist/cjs/abis/types/ERC20TransferableReceivable.d.ts +407 -407
- package/dist/cjs/abis/types/ERC20TransferableReceivable.js +2 -2
- package/dist/cjs/abis/types/Erc20.d.ts +168 -168
- package/dist/cjs/abis/types/Erc20.js +2 -2
- package/dist/cjs/abis/types/Erc2612.d.ts +192 -192
- package/dist/cjs/abis/types/Erc2612.js +2 -2
- package/dist/cjs/abis/types/Erc721.d.ts +474 -474
- package/dist/cjs/abis/types/Erc721.js +2 -2
- package/dist/cjs/abis/types/HDT.d.ts +369 -369
- package/dist/cjs/abis/types/HDT.js +2 -2
- package/dist/cjs/abis/types/IConstantFlowAgreementV1.d.ts +573 -573
- package/dist/cjs/abis/types/IConstantFlowAgreementV1.js +2 -2
- package/dist/cjs/abis/types/ISuperfluid.d.ts +728 -728
- package/dist/cjs/abis/types/ISuperfluid.js +2 -2
- package/dist/cjs/abis/types/InvoiceNFT.d.ts +425 -425
- package/dist/cjs/abis/types/InvoiceNFT.js +2 -2
- package/dist/cjs/abis/types/Multisend.d.ts +50 -50
- package/dist/cjs/abis/types/Multisend.js +2 -2
- package/dist/cjs/abis/types/RealWorldReceivable.d.ts +564 -564
- package/dist/cjs/abis/types/RealWorldReceivable.js +2 -2
- package/dist/cjs/abis/types/ReceivableFactoringPool.d.ts +999 -999
- package/dist/cjs/abis/types/ReceivableFactoringPool.js +2 -2
- package/dist/cjs/abis/types/StreamFactoringPool.d.ts +985 -985
- package/dist/cjs/abis/types/StreamFactoringPool.js +2 -2
- package/dist/cjs/abis/types/StreamFeeManager.d.ts +440 -440
- package/dist/cjs/abis/types/StreamFeeManager.js +2 -2
- package/dist/cjs/abis/types/SuperfluidPoolProcessor.d.ts +398 -398
- package/dist/cjs/abis/types/SuperfluidPoolProcessor.js +2 -2
- package/dist/cjs/abis/types/TestERC20.d.ts +270 -270
- package/dist/cjs/abis/types/TestERC20.js +2 -2
- package/dist/cjs/abis/types/TradableStream.d.ts +607 -607
- package/dist/cjs/abis/types/TradableStream.js +2 -2
- package/dist/cjs/abis/types/Transfer.d.ts +45 -45
- package/dist/cjs/abis/types/Transfer.js +2 -2
- package/dist/cjs/abis/types/TransferNFT.d.ts +45 -45
- package/dist/cjs/abis/types/TransferNFT.js +2 -2
- package/dist/cjs/abis/types/common.d.ts +22 -22
- package/dist/cjs/abis/types/common.js +2 -2
- package/dist/cjs/abis/types/factories/BaseCreditPoolReceivable__factory.d.ts +597 -0
- package/dist/cjs/abis/types/factories/BaseCreditPoolReceivable__factory.js +782 -0
- package/dist/cjs/abis/types/factories/BaseCreditPoolReceivable__factory.js.map +1 -0
- package/dist/cjs/abis/types/factories/BaseCreditPool__factory.d.ts +931 -931
- package/dist/cjs/abis/types/factories/BaseCreditPool__factory.js +1196 -1196
- package/dist/cjs/abis/types/factories/BaseFeeManager__factory.d.ts +379 -379
- package/dist/cjs/abis/types/factories/BaseFeeManager__factory.js +497 -497
- package/dist/cjs/abis/types/factories/BasePoolConfig__factory.d.ts +1074 -1074
- package/dist/cjs/abis/types/factories/BasePoolConfig__factory.js +1381 -1381
- package/dist/cjs/abis/types/factories/ERC20TransferableReceivable__factory.d.ts +508 -508
- package/dist/cjs/abis/types/factories/ERC20TransferableReceivable__factory.js +665 -665
- package/dist/cjs/abis/types/factories/Erc20__factory.d.ts +175 -175
- package/dist/cjs/abis/types/factories/Erc20__factory.js +239 -239
- package/dist/cjs/abis/types/factories/Erc2612__factory.d.ts +209 -209
- package/dist/cjs/abis/types/factories/Erc2612__factory.js +282 -282
- package/dist/cjs/abis/types/factories/Erc721__factory.d.ts +539 -539
- package/dist/cjs/abis/types/factories/Erc721__factory.js +690 -690
- package/dist/cjs/abis/types/factories/HDT__factory.d.ts +399 -399
- package/dist/cjs/abis/types/factories/HDT__factory.js +529 -529
- package/dist/cjs/abis/types/factories/IConstantFlowAgreementV1__factory.d.ts +695 -695
- package/dist/cjs/abis/types/factories/IConstantFlowAgreementV1__factory.js +907 -907
- package/dist/cjs/abis/types/factories/ISuperfluid__factory.d.ts +866 -866
- package/dist/cjs/abis/types/factories/ISuperfluid__factory.js +1139 -1139
- package/dist/cjs/abis/types/factories/InvoiceNFT__factory.d.ts +489 -489
- package/dist/cjs/abis/types/factories/InvoiceNFT__factory.js +642 -642
- package/dist/cjs/abis/types/factories/Multisend__factory.d.ts +26 -26
- package/dist/cjs/abis/types/factories/Multisend__factory.js +43 -43
- package/dist/cjs/abis/types/factories/RealWorldReceivable__factory.d.ts +645 -645
- package/dist/cjs/abis/types/factories/RealWorldReceivable__factory.js +840 -840
- package/dist/cjs/abis/types/factories/ReceivableFactoringPool__factory.d.ts +1204 -1204
- package/dist/cjs/abis/types/factories/ReceivableFactoringPool__factory.js +1546 -1546
- package/dist/cjs/abis/types/factories/StreamFactoringPool__factory.d.ts +1200 -1200
- package/dist/cjs/abis/types/factories/StreamFactoringPool__factory.js +1540 -1540
- package/dist/cjs/abis/types/factories/StreamFeeManager__factory.d.ts +412 -412
- package/dist/cjs/abis/types/factories/StreamFeeManager__factory.js +539 -539
- package/dist/cjs/abis/types/factories/SuperfluidPoolProcessor__factory.d.ts +546 -546
- package/dist/cjs/abis/types/factories/SuperfluidPoolProcessor__factory.js +709 -709
- package/dist/cjs/abis/types/factories/TestERC20__factory.d.ts +280 -280
- package/dist/cjs/abis/types/factories/TestERC20__factory.js +375 -375
- package/dist/cjs/abis/types/factories/TradableStream__factory.d.ts +663 -663
- package/dist/cjs/abis/types/factories/TradableStream__factory.js +867 -867
- package/dist/cjs/abis/types/factories/TransferNFT__factory.d.ts +28 -28
- package/dist/cjs/abis/types/factories/TransferNFT__factory.js +44 -44
- package/dist/cjs/abis/types/factories/Transfer__factory.d.ts +25 -25
- package/dist/cjs/abis/types/factories/Transfer__factory.js +41 -41
- package/dist/cjs/abis/types/factories/index.d.ts +21 -21
- package/dist/cjs/abis/types/factories/index.js +48 -48
- package/dist/cjs/abis/types/index.d.ts +43 -43
- package/dist/cjs/abis/types/index.js +47 -47
- package/dist/cjs/hooks/index.d.ts +18 -18
- package/dist/cjs/hooks/index.js +21 -21
- package/dist/cjs/hooks/useActiveRoute.d.ts +8 -8
- package/dist/cjs/hooks/useActiveRoute.js +11 -11
- package/dist/cjs/hooks/useAsyncError.d.ts +14 -14
- package/dist/cjs/hooks/useAsyncError.js +26 -26
- package/dist/cjs/hooks/useCLPoolContract.d.ts +27 -27
- package/dist/cjs/hooks/useCLPoolContract.js +53 -53
- package/dist/cjs/hooks/useContract.d.ts +7 -7
- package/dist/cjs/hooks/useContract.js +49 -49
- package/dist/cjs/hooks/useContractFunction.d.ts +18 -18
- package/dist/cjs/hooks/useContractFunction.js +57 -57
- package/dist/cjs/hooks/useERC2612Permit/ethPermit/index.d.ts +35 -35
- package/dist/cjs/hooks/useERC2612Permit/ethPermit/index.js +145 -145
- package/dist/cjs/hooks/useERC2612Permit/ethPermit/lib.d.ts +1 -1
- package/dist/cjs/hooks/useERC2612Permit/ethPermit/lib.js +26 -26
- package/dist/cjs/hooks/useERC2612Permit/ethPermit/rpc.d.ts +10 -10
- package/dist/cjs/hooks/useERC2612Permit/ethPermit/rpc.js +104 -104
- package/dist/cjs/hooks/useERC2612Permit/index.d.ts +6 -6
- package/dist/cjs/hooks/useERC2612Permit/index.js +35 -35
- package/dist/cjs/hooks/useFactoring.d.ts +19 -19
- package/dist/cjs/hooks/useFactoring.js +94 -94
- package/dist/cjs/hooks/useForceRefresh.d.ts +1 -1
- package/dist/cjs/hooks/useForceRefresh.js +12 -12
- package/dist/cjs/hooks/useGetSizes.d.ts +12 -12
- package/dist/cjs/hooks/useGetSizes.js +23 -23
- package/dist/cjs/hooks/useInvoiceNFTContract.d.ts +11 -11
- package/dist/cjs/hooks/useInvoiceNFTContract.js +72 -72
- package/dist/cjs/hooks/useMQ.d.ts +6 -6
- package/dist/cjs/hooks/useMQ.js +18 -18
- package/dist/cjs/hooks/useMount.d.ts +2 -2
- package/dist/cjs/hooks/useMount.js +13 -13
- package/dist/cjs/hooks/useParamsSearch.d.ts +2 -2
- package/dist/cjs/hooks/useParamsSearch.js +11 -11
- package/dist/cjs/hooks/usePool.d.ts +4 -4
- package/dist/cjs/hooks/usePool.js +45 -45
- package/dist/cjs/hooks/usePoolContract.d.ts +73 -73
- package/dist/cjs/hooks/usePoolContract.js +309 -309
- package/dist/cjs/hooks/useRFPoolContract.d.ts +22 -22
- package/dist/cjs/hooks/useRFPoolContract.js +41 -41
- package/dist/cjs/hooks/useRefresh.d.ts +1 -1
- package/dist/cjs/hooks/useRefresh.js +51 -51
- package/dist/cjs/hooks/web3/index.d.ts +15 -15
- package/dist/cjs/hooks/web3/index.js +147 -147
- package/dist/cjs/hooks/web3/useConnectors.d.ts +17 -17
- package/dist/cjs/hooks/web3/useConnectors.js +30 -30
- package/dist/cjs/hooks/web3/useJsonRpcUrlsMap.d.ts +13 -13
- package/dist/cjs/hooks/web3/useJsonRpcUrlsMap.js +62 -62
- package/dist/cjs/index.d.ts +5 -5
- package/dist/cjs/index.js +8 -8
- package/dist/cjs/services/EAService.d.ts +153 -153
- package/dist/cjs/services/EAService.js +80 -80
- package/dist/cjs/services/IdentityService.d.ts +52 -35
- package/dist/cjs/services/IdentityService.js +83 -56
- package/dist/cjs/services/IdentityService.js.map +1 -1
- package/dist/cjs/services/RNService.d.ts +14 -14
- package/dist/cjs/services/RNService.js +13 -13
- package/dist/cjs/services/index.d.ts +3 -3
- package/dist/cjs/services/index.js +6 -6
- package/dist/cjs/utils/JsonRpcConnector.d.ts +11 -11
- package/dist/cjs/utils/JsonRpcConnector.js +42 -42
- package/dist/cjs/utils/WalletConnect.d.ts +10 -10
- package/dist/cjs/utils/WalletConnect.js +55 -55
- package/dist/cjs/utils/chain.d.ts +36 -35
- package/dist/cjs/utils/chain.js +116 -113
- package/dist/cjs/utils/chain.js.map +1 -1
- package/dist/cjs/utils/common.d.ts +4 -4
- package/dist/cjs/utils/common.js +17 -17
- package/dist/cjs/utils/config.d.ts +8 -8
- package/dist/cjs/utils/config.js +44 -44
- package/dist/cjs/utils/const.d.ts +2 -2
- package/dist/cjs/utils/const.js +5 -5
- package/dist/cjs/utils/contractError.json +73 -73
- package/dist/cjs/utils/contractconfig.json +19 -19
- package/dist/cjs/utils/credit.d.ts +21 -21
- package/dist/cjs/utils/credit.js +39 -39
- package/dist/cjs/utils/errors.d.ts +26 -26
- package/dist/cjs/utils/errors.js +46 -46
- package/dist/cjs/utils/index.d.ts +20 -20
- package/dist/cjs/utils/index.js +23 -23
- package/dist/cjs/utils/jsonRpcEndpoints.d.ts +12 -12
- package/dist/cjs/utils/jsonRpcEndpoints.js +28 -28
- package/dist/cjs/utils/notifi.d.ts +3 -3
- package/dist/cjs/utils/notifi.js +39 -28
- package/dist/cjs/utils/notifi.js.map +1 -1
- package/dist/cjs/utils/number.d.ts +5 -5
- package/dist/cjs/utils/number.js +61 -55
- package/dist/cjs/utils/number.js.map +1 -1
- package/dist/cjs/utils/pool.d.ts +95 -96
- package/dist/cjs/utils/pool.js +416 -416
- package/dist/cjs/utils/pool.js.map +1 -1
- package/dist/cjs/utils/realWorldReceivable.d.ts +12 -12
- package/dist/cjs/utils/realWorldReceivable.js +2 -2
- package/dist/cjs/utils/request.d.ts +3 -3
- package/dist/cjs/utils/request.js +45 -45
- package/dist/cjs/utils/scientificToDecimal.d.ts +1 -1
- package/dist/cjs/utils/scientificToDecimal.js +61 -61
- package/dist/cjs/utils/string.d.ts +1 -1
- package/dist/cjs/utils/string.js +5 -5
- package/dist/cjs/utils/style.d.ts +1 -1
- package/dist/cjs/utils/style.js +16 -16
- package/dist/cjs/utils/time.d.ts +26 -26
- package/dist/cjs/utils/time.js +58 -58
- package/dist/cjs/utils/transaction.d.ts +32 -32
- package/dist/cjs/utils/transaction.js +96 -96
- package/dist/cjs/utils/web3.d.ts +4 -4
- package/dist/cjs/utils/web3.js +39 -39
- package/dist/components/icons/approve-lender.svg +30 -0
- package/dist/components/icons/auto-payback.svg +40 -0
- package/dist/components/icons/check-circle.svg +3 -0
- package/dist/components/icons/check-green.svg +3 -0
- package/dist/components/icons/check.svg +10 -0
- package/dist/components/icons/donut.svg +904 -0
- package/dist/components/icons/ellipse.svg +3 -0
- package/dist/components/icons/ethereum.svg +1 -0
- package/dist/components/icons/huma-full.svg +22 -0
- package/dist/components/icons/huma.svg +15 -0
- package/dist/components/icons/index.d.ts +19 -0
- package/dist/components/icons/index.js +70 -0
- package/dist/components/icons/index.js.map +1 -0
- package/dist/components/icons/loader.svg +229 -0
- package/dist/components/icons/metamask.svg +31 -0
- package/dist/components/icons/polygon.svg +16 -0
- package/dist/components/icons/receipt.svg +3 -0
- package/dist/components/icons/separator.svg +3 -0
- package/dist/components/icons/sorry.svg +31 -0
- package/dist/components/icons/usdc.svg +5 -0
- package/dist/components/icons/wallet-connect.svg +12 -0
- package/dist/hooks/useCLPoolContract.js +38 -38
- package/dist/hooks/useContract.js +40 -40
- package/dist/hooks/useFactoring.js +90 -90
- package/dist/hooks/useInvoiceNFTContract.js +64 -64
- package/dist/hooks/usePool.js +39 -39
- package/dist/hooks/usePoolContract.js +286 -286
- package/dist/hooks/useRFPoolContract.js +29 -29
- package/dist/hooks/web3/index.js +142 -142
- package/dist/hooks/web3/useJsonRpcUrlsMap.js +53 -53
- package/dist/index.js +5 -5
- package/dist/services/EAService.js +77 -77
- package/dist/services/IdentityService.d.ts +52 -35
- package/dist/services/IdentityService.js +80 -53
- package/dist/services/IdentityService.js.map +1 -1
- package/dist/services/RNService.js +10 -10
- package/dist/services/index.js +3 -3
- package/dist/theme/breakpoints.d.ts +5 -0
- package/dist/theme/breakpoints.js +4 -0
- package/dist/theme/breakpoints.js.map +1 -0
- package/dist/theme/components.d.ts +6 -0
- package/dist/theme/components.js +62 -0
- package/dist/theme/components.js.map +1 -0
- package/dist/theme/coreThemeConstants.d.ts +18 -0
- package/dist/theme/coreThemeConstants.js +30 -0
- package/dist/theme/coreThemeConstants.js.map +1 -0
- package/dist/theme/cssMixins.d.ts +20 -0
- package/dist/theme/cssMixins.js +90 -0
- package/dist/theme/cssMixins.js.map +1 -0
- package/dist/theme/index.d.ts +8 -0
- package/dist/theme/index.js +27 -0
- package/dist/theme/index.js.map +1 -0
- package/dist/theme/palette.d.ts +53 -0
- package/dist/theme/palette.js +137 -0
- package/dist/theme/palette.js.map +1 -0
- package/dist/theme/shape.d.ts +2 -0
- package/dist/theme/shape.js +5 -0
- package/dist/theme/shape.js.map +1 -0
- package/dist/theme/theme.types.d.ts +72 -0
- package/dist/theme/theme.types.js +2 -0
- package/dist/theme/theme.types.js.map +1 -0
- package/dist/theme/typography.d.ts +2 -0
- package/dist/theme/typography.js +116 -0
- package/dist/theme/typography.js.map +1 -0
- package/dist/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/utils/WalletConnect.js +2 -1
- package/dist/utils/WalletConnect.js.map +1 -1
- package/dist/utils/chain.d.ts +36 -35
- package/dist/utils/chain.js +109 -106
- package/dist/utils/chain.js.map +1 -1
- package/dist/utils/config.d.ts +8 -8
- package/dist/utils/config.js +41 -41
- package/dist/utils/contractconfig.json +19 -19
- package/dist/utils/ddLogger.d.ts +4 -0
- package/dist/utils/ddLogger.js +48 -0
- package/dist/utils/ddLogger.js.map +1 -0
- package/dist/utils/index.d.ts +20 -20
- package/dist/utils/index.js +20 -20
- package/dist/utils/jsonRpcEndpoints.js +25 -25
- package/dist/utils/notifi.d.ts +3 -3
- package/dist/utils/notifi.js +34 -23
- package/dist/utils/notifi.js.map +1 -1
- package/dist/utils/number.js +54 -48
- package/dist/utils/number.js.map +1 -1
- package/dist/utils/pool.d.ts +95 -96
- package/dist/utils/pool.js +409 -409
- package/dist/utils/pool.js.map +1 -1
- package/dist/utils/realWorldReceivable.d.ts +12 -12
- package/dist/utils/realWorldReceivable.js +1 -1
- package/dist/utils/sentry.d.ts +1 -0
- package/dist/utils/sentry.js +19 -0
- package/dist/utils/sentry.js.map +1 -0
- package/dist/utils/storage.d.ts +12 -0
- package/dist/utils/storage.js +32 -0
- package/dist/utils/storage.js.map +1 -0
- package/package.json +2 -2
|
@@ -1,287 +1,287 @@
|
|
|
1
|
-
import { MaxUint256 } from '@ethersproject/constants';
|
|
2
|
-
import { useWeb3React } from '@web3-react/core';
|
|
3
|
-
import { BigNumber } from 'ethers';
|
|
4
|
-
import { useCallback, useEffect, useState } from 'react';
|
|
5
|
-
import BASE_FEE_MANAGER_ABI from '../abis/BaseFeeManager.json';
|
|
6
|
-
import { CreditState } from '../utils/credit';
|
|
7
|
-
import { downScale, toBigNumber, upScale } from '../utils/number';
|
|
8
|
-
import { PoolContractMap } from '../utils/pool';
|
|
9
|
-
import { useContract, useERC20Contract } from './useContract';
|
|
10
|
-
import { useForceRefresh } from './useForceRefresh';
|
|
11
|
-
import { usePoolInfo } from './usePool';
|
|
12
|
-
export function usePoolContract(poolName, poolType) {
|
|
13
|
-
const poolInfo = usePoolInfo(poolName, poolType);
|
|
14
|
-
return useContract(poolInfo === null || poolInfo === void 0 ? void 0 : poolInfo.pool, poolInfo === null || poolInfo === void 0 ? void 0 : poolInfo.poolAbi);
|
|
15
|
-
}
|
|
16
|
-
export function useBaseConfigPoolContract(poolName, poolType) {
|
|
17
|
-
const poolInfo = usePoolInfo(poolName, poolType);
|
|
18
|
-
return useContract(poolInfo === null || poolInfo === void 0 ? void 0 : poolInfo.basePoolConfig, poolInfo === null || poolInfo === void 0 ? void 0 : poolInfo.basePoolConfigAbi);
|
|
19
|
-
}
|
|
20
|
-
export function usePoolFeeManagerContract(poolName, poolType) {
|
|
21
|
-
const poolInfo = usePoolInfo(poolName, poolType);
|
|
22
|
-
return useContract(poolInfo === null || poolInfo === void 0 ? void 0 : poolInfo.poolFeeManager, BASE_FEE_MANAGER_ABI);
|
|
23
|
-
}
|
|
24
|
-
export function usePoolUnderlyingTokenContract(poolName, poolType) {
|
|
25
|
-
var _a;
|
|
26
|
-
const poolInfo = usePoolInfo(poolName, poolType);
|
|
27
|
-
return useERC20Contract((_a = poolInfo === null || poolInfo === void 0 ? void 0 : poolInfo.poolUnderlyingToken) === null || _a === void 0 ? void 0 : _a.address);
|
|
28
|
-
}
|
|
29
|
-
export function useHDTContract(poolName, poolType) {
|
|
30
|
-
var _a, _b;
|
|
31
|
-
const poolInfo = usePoolInfo(poolName, poolType);
|
|
32
|
-
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);
|
|
33
|
-
}
|
|
34
|
-
export function usePoolNFTContract(poolName, poolType) {
|
|
35
|
-
const poolInfo = usePoolInfo(poolName, poolType);
|
|
36
|
-
return useContract(poolInfo === null || poolInfo === void 0 ? void 0 : poolInfo.assetAddress, poolInfo === null || poolInfo === void 0 ? void 0 : poolInfo.poolAssetAbi);
|
|
37
|
-
}
|
|
38
|
-
export function usePoolUnderlyingToken(poolName, poolType) {
|
|
39
|
-
const poolInfo = usePoolInfo(poolName, poolType);
|
|
40
|
-
return (poolInfo === null || poolInfo === void 0 ? void 0 : poolInfo.poolUnderlyingToken) || {};
|
|
41
|
-
}
|
|
42
|
-
export function usePoolUnderlyingTokenBalance(poolName, poolType, account) {
|
|
43
|
-
const poolUnderlyingTokenContract = usePoolUnderlyingTokenContract(poolName, poolType);
|
|
44
|
-
const [balance, setBalance] = useState(toBigNumber(0));
|
|
45
|
-
useEffect(() => {
|
|
46
|
-
const fetchData = async () => {
|
|
47
|
-
if (poolUnderlyingTokenContract && account) {
|
|
48
|
-
const result = await poolUnderlyingTokenContract.balanceOf(account);
|
|
49
|
-
setBalance(result);
|
|
50
|
-
}
|
|
51
|
-
};
|
|
52
|
-
fetchData();
|
|
53
|
-
}, [account, poolUnderlyingTokenContract]);
|
|
54
|
-
return balance;
|
|
55
|
-
}
|
|
56
|
-
export function usePoolTotalValue(poolName, poolType) {
|
|
57
|
-
const poolContract = usePoolContract(poolName, poolType);
|
|
58
|
-
const { chainId } = useWeb3React();
|
|
59
|
-
const [totalValue, setTotalValue] = useState();
|
|
60
|
-
const [refreshCount, refresh] = useForceRefresh();
|
|
61
|
-
useEffect(() => {
|
|
62
|
-
const fetchData = async () => {
|
|
63
|
-
if (chainId && poolContract) {
|
|
64
|
-
const result = await poolContract.totalPoolValue();
|
|
65
|
-
setTotalValue(result);
|
|
66
|
-
}
|
|
67
|
-
};
|
|
68
|
-
fetchData();
|
|
69
|
-
}, [chainId, poolContract, poolName, poolType, refreshCount]);
|
|
70
|
-
return [totalValue, refresh];
|
|
71
|
-
}
|
|
72
|
-
export function usePoolTotalSupply(poolName, poolType) {
|
|
73
|
-
const contract = useHDTContract(poolName, poolType);
|
|
74
|
-
const { chainId } = useWeb3React();
|
|
75
|
-
const [totalSupply, setTotalSupply] = useState();
|
|
76
|
-
const [refreshCount, refresh] = useForceRefresh();
|
|
77
|
-
useEffect(() => {
|
|
78
|
-
const fetchData = async () => {
|
|
79
|
-
if (chainId && contract) {
|
|
80
|
-
const result = await contract.totalSupply();
|
|
81
|
-
setTotalSupply(result);
|
|
82
|
-
}
|
|
83
|
-
};
|
|
84
|
-
fetchData();
|
|
85
|
-
}, [chainId, contract, poolName, poolType, refreshCount]);
|
|
86
|
-
return [totalSupply, refresh];
|
|
87
|
-
}
|
|
88
|
-
export function usePoolBalance(poolName, poolType) {
|
|
89
|
-
const poolUnderlyingTokenContract = usePoolUnderlyingTokenContract(poolName, poolType);
|
|
90
|
-
const { chainId } = useWeb3React();
|
|
91
|
-
const [balance, setBalance] = useState();
|
|
92
|
-
const [refreshCount, refresh] = useForceRefresh();
|
|
93
|
-
useEffect(() => {
|
|
94
|
-
const fetchData = async () => {
|
|
95
|
-
var _a;
|
|
96
|
-
if (chainId && poolUnderlyingTokenContract) {
|
|
97
|
-
const { pool } = ((_a = PoolContractMap[chainId][poolType]) === null || _a === void 0 ? void 0 : _a[poolName]) || {};
|
|
98
|
-
if (pool) {
|
|
99
|
-
const result = await poolUnderlyingTokenContract.balanceOf(pool);
|
|
100
|
-
setBalance(result);
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
};
|
|
104
|
-
fetchData();
|
|
105
|
-
}, [chainId, poolName, poolType, poolUnderlyingTokenContract, refreshCount]);
|
|
106
|
-
return [balance, refresh];
|
|
107
|
-
}
|
|
108
|
-
export function useAccountStats(poolName, poolType, account) {
|
|
109
|
-
const poolInfo = usePoolInfo(poolName, poolType);
|
|
110
|
-
const poolContract = usePoolContract(poolName, poolType);
|
|
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) {
|
|
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 creditAvailable = creditRecordStatic.creditLimit.sub(principal);
|
|
138
|
-
const { decimals } = poolInfo.poolUnderlyingToken;
|
|
139
|
-
setAccountStats({
|
|
140
|
-
creditRecord,
|
|
141
|
-
creditRecordStatic,
|
|
142
|
-
receivableInfo,
|
|
143
|
-
isApproved,
|
|
144
|
-
payoffAmount: downScale(payoff.toString(), decimals),
|
|
145
|
-
principalAmount: downScale(principal.toString(), decimals),
|
|
146
|
-
creditAvailableAmount: downScale(creditAvailable.toString(), decimals),
|
|
147
|
-
totalDueAmount: downScale(creditRecord.totalDue.toString(), decimals),
|
|
148
|
-
});
|
|
149
|
-
}
|
|
150
|
-
};
|
|
151
|
-
fetchData();
|
|
152
|
-
}, [account, poolContract, poolInfo, refreshCount]);
|
|
153
|
-
return [accountStats, refresh];
|
|
154
|
-
}
|
|
155
|
-
export function useCreditRecord(poolName, poolType, account) {
|
|
156
|
-
const poolContract = usePoolContract(poolName, poolType);
|
|
157
|
-
const checkIsApproved = useCallback(async () => {
|
|
158
|
-
if (poolContract && account) {
|
|
159
|
-
const creditRecord = await poolContract.creditRecordMapping(account);
|
|
160
|
-
const isApproved = creditRecord
|
|
161
|
-
? creditRecord.state >= CreditState.Approved
|
|
162
|
-
: false;
|
|
163
|
-
return isApproved;
|
|
164
|
-
}
|
|
165
|
-
return false;
|
|
166
|
-
}, [account, poolContract]);
|
|
167
|
-
return { checkIsApproved };
|
|
168
|
-
}
|
|
169
|
-
export function useFeeManager(poolName, poolType) {
|
|
170
|
-
const poolInfo = usePoolInfo(poolName, poolType);
|
|
171
|
-
const feeManagerContract = usePoolFeeManagerContract(poolName, poolType);
|
|
172
|
-
const [fees, setFees] = useState();
|
|
173
|
-
useEffect(() => {
|
|
174
|
-
const fetchData = async () => {
|
|
175
|
-
if (feeManagerContract) {
|
|
176
|
-
const result = await feeManagerContract.getFees();
|
|
177
|
-
setFees(result);
|
|
178
|
-
}
|
|
179
|
-
};
|
|
180
|
-
fetchData();
|
|
181
|
-
}, [feeManagerContract]);
|
|
182
|
-
/**
|
|
183
|
-
* return fees charged without decimals
|
|
184
|
-
*/
|
|
185
|
-
const getFeesCharged = useCallback((requestedLoan) => {
|
|
186
|
-
if (!fees || !requestedLoan || !poolInfo) {
|
|
187
|
-
return 0;
|
|
188
|
-
}
|
|
189
|
-
const { poolUnderlyingToken } = poolInfo;
|
|
190
|
-
const { decimals } = poolUnderlyingToken;
|
|
191
|
-
const { _frontLoadingFeeFlat: feeFlat, _frontLoadingFeeBps: feeBps } = fees;
|
|
192
|
-
// @TODO: Figure out why feeBps.div(10000) directly not work
|
|
193
|
-
return feeBps
|
|
194
|
-
.div(100)
|
|
195
|
-
.mul(toBigNumber(requestedLoan))
|
|
196
|
-
.div(100)
|
|
197
|
-
.add(downScale(feeFlat.toNumber(), decimals))
|
|
198
|
-
.toNumber();
|
|
199
|
-
}, [fees, poolInfo]);
|
|
200
|
-
return { fees, getFeesCharged };
|
|
201
|
-
}
|
|
202
|
-
export function usePoolAllowance(poolName, poolType, account) {
|
|
203
|
-
const poolInfo = usePoolInfo(poolName, poolType);
|
|
204
|
-
const contract = usePoolUnderlyingTokenContract(poolName, poolType);
|
|
205
|
-
const [allowance, setAllowance] = useState(toBigNumber(0));
|
|
206
|
-
const [approved, setApproved] = useState(false);
|
|
207
|
-
const [loaded, setLoaded] = useState(false);
|
|
208
|
-
useEffect(() => {
|
|
209
|
-
const fetchData = async () => {
|
|
210
|
-
if (contract && poolInfo && account) {
|
|
211
|
-
const allowance = await contract.allowance(account, poolInfo.pool);
|
|
212
|
-
setAllowance(allowance);
|
|
213
|
-
setApproved(allowance.gt(MaxUint256.div(2)));
|
|
214
|
-
setLoaded(true);
|
|
215
|
-
}
|
|
216
|
-
};
|
|
217
|
-
fetchData();
|
|
218
|
-
}, [account, contract, poolInfo]);
|
|
219
|
-
return { approved, allowance, loaded };
|
|
220
|
-
}
|
|
221
|
-
export function useLenderPosition(poolName, poolType, account) {
|
|
222
|
-
const poolInfo = usePoolInfo(poolName, poolType);
|
|
223
|
-
const contract = useHDTContract(poolName, poolType);
|
|
224
|
-
const [position, setPosition] = useState();
|
|
225
|
-
const [refreshCount, refresh] = useForceRefresh();
|
|
226
|
-
useEffect(() => {
|
|
227
|
-
const fetchData = async () => {
|
|
228
|
-
if (contract && account && poolInfo) {
|
|
229
|
-
const position = await contract.withdrawableFundsOf(account);
|
|
230
|
-
const oneCentUSD = BigNumber.from(upScale('0.01', poolInfo.poolUnderlyingToken.decimals));
|
|
231
|
-
// if position is less than one cent USD, consider it 0
|
|
232
|
-
if (position.lt(oneCentUSD)) {
|
|
233
|
-
setPosition(BigNumber.from(0));
|
|
234
|
-
}
|
|
235
|
-
else {
|
|
236
|
-
setPosition(position);
|
|
237
|
-
}
|
|
238
|
-
}
|
|
239
|
-
};
|
|
240
|
-
fetchData();
|
|
241
|
-
}, [account, contract, poolInfo, refreshCount]);
|
|
242
|
-
return [position, refresh];
|
|
243
|
-
}
|
|
244
|
-
export function useLenderApproved(poolName, poolType, account) {
|
|
245
|
-
const contract = usePoolContract(poolName, poolType);
|
|
246
|
-
const [approved, setApproved] = useState();
|
|
247
|
-
const [refreshCount, refresh] = useForceRefresh();
|
|
248
|
-
useEffect(() => {
|
|
249
|
-
const fetchData = async () => {
|
|
250
|
-
if (contract && account) {
|
|
251
|
-
const approved = await contract.isApprovedLender(account);
|
|
252
|
-
setApproved(approved);
|
|
253
|
-
}
|
|
254
|
-
};
|
|
255
|
-
fetchData();
|
|
256
|
-
}, [account, contract, refreshCount]);
|
|
257
|
-
return [approved, refresh];
|
|
258
|
-
}
|
|
259
|
-
export function useWithdrawlLockoutInSeconds(poolName, poolType) {
|
|
260
|
-
const contract = useBaseConfigPoolContract(poolName, poolType);
|
|
261
|
-
const [lockoutSeconds, setLockoutSeconds] = useState();
|
|
262
|
-
useEffect(() => {
|
|
263
|
-
const fetchData = async () => {
|
|
264
|
-
if (contract) {
|
|
265
|
-
const seconds = await contract.withdrawalLockoutPeriodInSeconds();
|
|
266
|
-
setLockoutSeconds(seconds.toNumber());
|
|
267
|
-
}
|
|
268
|
-
};
|
|
269
|
-
fetchData();
|
|
270
|
-
}, [contract]);
|
|
271
|
-
return lockoutSeconds;
|
|
272
|
-
}
|
|
273
|
-
export function useLastDepositTime(poolName, poolType, account) {
|
|
274
|
-
const contract = usePoolContract(poolName, poolType);
|
|
275
|
-
const [lockoutSeconds, setLockoutSeconds] = useState();
|
|
276
|
-
useEffect(() => {
|
|
277
|
-
const fetchData = async () => {
|
|
278
|
-
if (contract && account) {
|
|
279
|
-
const seconds = await contract.lastDepositTime(account);
|
|
280
|
-
setLockoutSeconds(seconds.toNumber());
|
|
281
|
-
}
|
|
282
|
-
};
|
|
283
|
-
fetchData();
|
|
284
|
-
}, [account, contract]);
|
|
285
|
-
return lockoutSeconds;
|
|
286
|
-
}
|
|
1
|
+
import { MaxUint256 } from '@ethersproject/constants';
|
|
2
|
+
import { useWeb3React } from '@web3-react/core';
|
|
3
|
+
import { BigNumber } from 'ethers';
|
|
4
|
+
import { useCallback, useEffect, useState } from 'react';
|
|
5
|
+
import BASE_FEE_MANAGER_ABI from '../abis/BaseFeeManager.json';
|
|
6
|
+
import { CreditState } from '../utils/credit';
|
|
7
|
+
import { downScale, toBigNumber, upScale } from '../utils/number';
|
|
8
|
+
import { PoolContractMap } from '../utils/pool';
|
|
9
|
+
import { useContract, useERC20Contract } from './useContract';
|
|
10
|
+
import { useForceRefresh } from './useForceRefresh';
|
|
11
|
+
import { usePoolInfo } from './usePool';
|
|
12
|
+
export function usePoolContract(poolName, poolType) {
|
|
13
|
+
const poolInfo = usePoolInfo(poolName, poolType);
|
|
14
|
+
return useContract(poolInfo === null || poolInfo === void 0 ? void 0 : poolInfo.pool, poolInfo === null || poolInfo === void 0 ? void 0 : poolInfo.poolAbi);
|
|
15
|
+
}
|
|
16
|
+
export function useBaseConfigPoolContract(poolName, poolType) {
|
|
17
|
+
const poolInfo = usePoolInfo(poolName, poolType);
|
|
18
|
+
return useContract(poolInfo === null || poolInfo === void 0 ? void 0 : poolInfo.basePoolConfig, poolInfo === null || poolInfo === void 0 ? void 0 : poolInfo.basePoolConfigAbi);
|
|
19
|
+
}
|
|
20
|
+
export function usePoolFeeManagerContract(poolName, poolType) {
|
|
21
|
+
const poolInfo = usePoolInfo(poolName, poolType);
|
|
22
|
+
return useContract(poolInfo === null || poolInfo === void 0 ? void 0 : poolInfo.poolFeeManager, BASE_FEE_MANAGER_ABI);
|
|
23
|
+
}
|
|
24
|
+
export function usePoolUnderlyingTokenContract(poolName, poolType) {
|
|
25
|
+
var _a;
|
|
26
|
+
const poolInfo = usePoolInfo(poolName, poolType);
|
|
27
|
+
return useERC20Contract((_a = poolInfo === null || poolInfo === void 0 ? void 0 : poolInfo.poolUnderlyingToken) === null || _a === void 0 ? void 0 : _a.address);
|
|
28
|
+
}
|
|
29
|
+
export function useHDTContract(poolName, poolType) {
|
|
30
|
+
var _a, _b;
|
|
31
|
+
const poolInfo = usePoolInfo(poolName, poolType);
|
|
32
|
+
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);
|
|
33
|
+
}
|
|
34
|
+
export function usePoolNFTContract(poolName, poolType) {
|
|
35
|
+
const poolInfo = usePoolInfo(poolName, poolType);
|
|
36
|
+
return useContract(poolInfo === null || poolInfo === void 0 ? void 0 : poolInfo.assetAddress, poolInfo === null || poolInfo === void 0 ? void 0 : poolInfo.poolAssetAbi);
|
|
37
|
+
}
|
|
38
|
+
export function usePoolUnderlyingToken(poolName, poolType) {
|
|
39
|
+
const poolInfo = usePoolInfo(poolName, poolType);
|
|
40
|
+
return (poolInfo === null || poolInfo === void 0 ? void 0 : poolInfo.poolUnderlyingToken) || {};
|
|
41
|
+
}
|
|
42
|
+
export function usePoolUnderlyingTokenBalance(poolName, poolType, account) {
|
|
43
|
+
const poolUnderlyingTokenContract = usePoolUnderlyingTokenContract(poolName, poolType);
|
|
44
|
+
const [balance, setBalance] = useState(toBigNumber(0));
|
|
45
|
+
useEffect(() => {
|
|
46
|
+
const fetchData = async () => {
|
|
47
|
+
if (poolUnderlyingTokenContract && account) {
|
|
48
|
+
const result = await poolUnderlyingTokenContract.balanceOf(account);
|
|
49
|
+
setBalance(result);
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
fetchData();
|
|
53
|
+
}, [account, poolUnderlyingTokenContract]);
|
|
54
|
+
return balance;
|
|
55
|
+
}
|
|
56
|
+
export function usePoolTotalValue(poolName, poolType) {
|
|
57
|
+
const poolContract = usePoolContract(poolName, poolType);
|
|
58
|
+
const { chainId } = useWeb3React();
|
|
59
|
+
const [totalValue, setTotalValue] = useState();
|
|
60
|
+
const [refreshCount, refresh] = useForceRefresh();
|
|
61
|
+
useEffect(() => {
|
|
62
|
+
const fetchData = async () => {
|
|
63
|
+
if (chainId && poolContract) {
|
|
64
|
+
const result = await poolContract.totalPoolValue();
|
|
65
|
+
setTotalValue(result);
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
fetchData();
|
|
69
|
+
}, [chainId, poolContract, poolName, poolType, refreshCount]);
|
|
70
|
+
return [totalValue, refresh];
|
|
71
|
+
}
|
|
72
|
+
export function usePoolTotalSupply(poolName, poolType) {
|
|
73
|
+
const contract = useHDTContract(poolName, poolType);
|
|
74
|
+
const { chainId } = useWeb3React();
|
|
75
|
+
const [totalSupply, setTotalSupply] = useState();
|
|
76
|
+
const [refreshCount, refresh] = useForceRefresh();
|
|
77
|
+
useEffect(() => {
|
|
78
|
+
const fetchData = async () => {
|
|
79
|
+
if (chainId && contract) {
|
|
80
|
+
const result = await contract.totalSupply();
|
|
81
|
+
setTotalSupply(result);
|
|
82
|
+
}
|
|
83
|
+
};
|
|
84
|
+
fetchData();
|
|
85
|
+
}, [chainId, contract, poolName, poolType, refreshCount]);
|
|
86
|
+
return [totalSupply, refresh];
|
|
87
|
+
}
|
|
88
|
+
export function usePoolBalance(poolName, poolType) {
|
|
89
|
+
const poolUnderlyingTokenContract = usePoolUnderlyingTokenContract(poolName, poolType);
|
|
90
|
+
const { chainId } = useWeb3React();
|
|
91
|
+
const [balance, setBalance] = useState();
|
|
92
|
+
const [refreshCount, refresh] = useForceRefresh();
|
|
93
|
+
useEffect(() => {
|
|
94
|
+
const fetchData = async () => {
|
|
95
|
+
var _a;
|
|
96
|
+
if (chainId && poolUnderlyingTokenContract) {
|
|
97
|
+
const { pool } = ((_a = PoolContractMap[chainId][poolType]) === null || _a === void 0 ? void 0 : _a[poolName]) || {};
|
|
98
|
+
if (pool) {
|
|
99
|
+
const result = await poolUnderlyingTokenContract.balanceOf(pool);
|
|
100
|
+
setBalance(result);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
};
|
|
104
|
+
fetchData();
|
|
105
|
+
}, [chainId, poolName, poolType, poolUnderlyingTokenContract, refreshCount]);
|
|
106
|
+
return [balance, refresh];
|
|
107
|
+
}
|
|
108
|
+
export function useAccountStats(poolName, poolType, account) {
|
|
109
|
+
const poolInfo = usePoolInfo(poolName, poolType);
|
|
110
|
+
const poolContract = usePoolContract(poolName, poolType);
|
|
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) {
|
|
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 creditAvailable = creditRecordStatic.creditLimit.sub(principal);
|
|
138
|
+
const { decimals } = poolInfo.poolUnderlyingToken;
|
|
139
|
+
setAccountStats({
|
|
140
|
+
creditRecord,
|
|
141
|
+
creditRecordStatic,
|
|
142
|
+
receivableInfo,
|
|
143
|
+
isApproved,
|
|
144
|
+
payoffAmount: downScale(payoff.toString(), decimals),
|
|
145
|
+
principalAmount: downScale(principal.toString(), decimals),
|
|
146
|
+
creditAvailableAmount: downScale(creditAvailable.toString(), decimals),
|
|
147
|
+
totalDueAmount: downScale(creditRecord.totalDue.toString(), decimals),
|
|
148
|
+
});
|
|
149
|
+
}
|
|
150
|
+
};
|
|
151
|
+
fetchData();
|
|
152
|
+
}, [account, poolContract, poolInfo, refreshCount]);
|
|
153
|
+
return [accountStats, refresh];
|
|
154
|
+
}
|
|
155
|
+
export function useCreditRecord(poolName, poolType, account) {
|
|
156
|
+
const poolContract = usePoolContract(poolName, poolType);
|
|
157
|
+
const checkIsApproved = useCallback(async () => {
|
|
158
|
+
if (poolContract && account) {
|
|
159
|
+
const creditRecord = await poolContract.creditRecordMapping(account);
|
|
160
|
+
const isApproved = creditRecord
|
|
161
|
+
? creditRecord.state >= CreditState.Approved
|
|
162
|
+
: false;
|
|
163
|
+
return isApproved;
|
|
164
|
+
}
|
|
165
|
+
return false;
|
|
166
|
+
}, [account, poolContract]);
|
|
167
|
+
return { checkIsApproved };
|
|
168
|
+
}
|
|
169
|
+
export function useFeeManager(poolName, poolType) {
|
|
170
|
+
const poolInfo = usePoolInfo(poolName, poolType);
|
|
171
|
+
const feeManagerContract = usePoolFeeManagerContract(poolName, poolType);
|
|
172
|
+
const [fees, setFees] = useState();
|
|
173
|
+
useEffect(() => {
|
|
174
|
+
const fetchData = async () => {
|
|
175
|
+
if (feeManagerContract) {
|
|
176
|
+
const result = await feeManagerContract.getFees();
|
|
177
|
+
setFees(result);
|
|
178
|
+
}
|
|
179
|
+
};
|
|
180
|
+
fetchData();
|
|
181
|
+
}, [feeManagerContract]);
|
|
182
|
+
/**
|
|
183
|
+
* return fees charged without decimals
|
|
184
|
+
*/
|
|
185
|
+
const getFeesCharged = useCallback((requestedLoan) => {
|
|
186
|
+
if (!fees || !requestedLoan || !poolInfo) {
|
|
187
|
+
return 0;
|
|
188
|
+
}
|
|
189
|
+
const { poolUnderlyingToken } = poolInfo;
|
|
190
|
+
const { decimals } = poolUnderlyingToken;
|
|
191
|
+
const { _frontLoadingFeeFlat: feeFlat, _frontLoadingFeeBps: feeBps } = fees;
|
|
192
|
+
// @TODO: Figure out why feeBps.div(10000) directly not work
|
|
193
|
+
return feeBps
|
|
194
|
+
.div(100)
|
|
195
|
+
.mul(toBigNumber(requestedLoan))
|
|
196
|
+
.div(100)
|
|
197
|
+
.add(downScale(feeFlat.toNumber(), decimals))
|
|
198
|
+
.toNumber();
|
|
199
|
+
}, [fees, poolInfo]);
|
|
200
|
+
return { fees, getFeesCharged };
|
|
201
|
+
}
|
|
202
|
+
export function usePoolAllowance(poolName, poolType, account) {
|
|
203
|
+
const poolInfo = usePoolInfo(poolName, poolType);
|
|
204
|
+
const contract = usePoolUnderlyingTokenContract(poolName, poolType);
|
|
205
|
+
const [allowance, setAllowance] = useState(toBigNumber(0));
|
|
206
|
+
const [approved, setApproved] = useState(false);
|
|
207
|
+
const [loaded, setLoaded] = useState(false);
|
|
208
|
+
useEffect(() => {
|
|
209
|
+
const fetchData = async () => {
|
|
210
|
+
if (contract && poolInfo && account) {
|
|
211
|
+
const allowance = await contract.allowance(account, poolInfo.pool);
|
|
212
|
+
setAllowance(allowance);
|
|
213
|
+
setApproved(allowance.gt(MaxUint256.div(2)));
|
|
214
|
+
setLoaded(true);
|
|
215
|
+
}
|
|
216
|
+
};
|
|
217
|
+
fetchData();
|
|
218
|
+
}, [account, contract, poolInfo]);
|
|
219
|
+
return { approved, allowance, loaded };
|
|
220
|
+
}
|
|
221
|
+
export function useLenderPosition(poolName, poolType, account) {
|
|
222
|
+
const poolInfo = usePoolInfo(poolName, poolType);
|
|
223
|
+
const contract = useHDTContract(poolName, poolType);
|
|
224
|
+
const [position, setPosition] = useState();
|
|
225
|
+
const [refreshCount, refresh] = useForceRefresh();
|
|
226
|
+
useEffect(() => {
|
|
227
|
+
const fetchData = async () => {
|
|
228
|
+
if (contract && account && poolInfo) {
|
|
229
|
+
const position = await contract.withdrawableFundsOf(account);
|
|
230
|
+
const oneCentUSD = BigNumber.from(upScale('0.01', poolInfo.poolUnderlyingToken.decimals));
|
|
231
|
+
// if position is less than one cent USD, consider it 0
|
|
232
|
+
if (position.lt(oneCentUSD)) {
|
|
233
|
+
setPosition(BigNumber.from(0));
|
|
234
|
+
}
|
|
235
|
+
else {
|
|
236
|
+
setPosition(position);
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
};
|
|
240
|
+
fetchData();
|
|
241
|
+
}, [account, contract, poolInfo, refreshCount]);
|
|
242
|
+
return [position, refresh];
|
|
243
|
+
}
|
|
244
|
+
export function useLenderApproved(poolName, poolType, account) {
|
|
245
|
+
const contract = usePoolContract(poolName, poolType);
|
|
246
|
+
const [approved, setApproved] = useState();
|
|
247
|
+
const [refreshCount, refresh] = useForceRefresh();
|
|
248
|
+
useEffect(() => {
|
|
249
|
+
const fetchData = async () => {
|
|
250
|
+
if (contract && account) {
|
|
251
|
+
const approved = await contract.isApprovedLender(account);
|
|
252
|
+
setApproved(approved);
|
|
253
|
+
}
|
|
254
|
+
};
|
|
255
|
+
fetchData();
|
|
256
|
+
}, [account, contract, refreshCount]);
|
|
257
|
+
return [approved, refresh];
|
|
258
|
+
}
|
|
259
|
+
export function useWithdrawlLockoutInSeconds(poolName, poolType) {
|
|
260
|
+
const contract = useBaseConfigPoolContract(poolName, poolType);
|
|
261
|
+
const [lockoutSeconds, setLockoutSeconds] = useState();
|
|
262
|
+
useEffect(() => {
|
|
263
|
+
const fetchData = async () => {
|
|
264
|
+
if (contract) {
|
|
265
|
+
const seconds = await contract.withdrawalLockoutPeriodInSeconds();
|
|
266
|
+
setLockoutSeconds(seconds.toNumber());
|
|
267
|
+
}
|
|
268
|
+
};
|
|
269
|
+
fetchData();
|
|
270
|
+
}, [contract]);
|
|
271
|
+
return lockoutSeconds;
|
|
272
|
+
}
|
|
273
|
+
export function useLastDepositTime(poolName, poolType, account) {
|
|
274
|
+
const contract = usePoolContract(poolName, poolType);
|
|
275
|
+
const [lockoutSeconds, setLockoutSeconds] = useState();
|
|
276
|
+
useEffect(() => {
|
|
277
|
+
const fetchData = async () => {
|
|
278
|
+
if (contract && account) {
|
|
279
|
+
const seconds = await contract.lastDepositTime(account);
|
|
280
|
+
setLockoutSeconds(seconds.toNumber());
|
|
281
|
+
}
|
|
282
|
+
};
|
|
283
|
+
fetchData();
|
|
284
|
+
}, [account, contract]);
|
|
285
|
+
return lockoutSeconds;
|
|
286
|
+
}
|
|
287
287
|
//# sourceMappingURL=usePoolContract.js.map
|
|
@@ -1,30 +1,30 @@
|
|
|
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) {
|
|
4
|
-
return usePoolContract(poolName, POOL_TYPE.Invoice);
|
|
5
|
-
}
|
|
6
|
-
export function useRFPoolUnderlyingTokenContract(poolName) {
|
|
7
|
-
return usePoolUnderlyingTokenContract(poolName, POOL_TYPE.Invoice);
|
|
8
|
-
}
|
|
9
|
-
export function useRFPoolUnderlyingToken(poolName) {
|
|
10
|
-
return usePoolUnderlyingToken(poolName, POOL_TYPE.Invoice);
|
|
11
|
-
}
|
|
12
|
-
export function useRFPoolBalance(poolName) {
|
|
13
|
-
return usePoolBalance(poolName, POOL_TYPE.Invoice);
|
|
14
|
-
}
|
|
15
|
-
export function useReceivableStats(poolName, account) {
|
|
16
|
-
return useAccountStats(poolName, POOL_TYPE.Invoice, account);
|
|
17
|
-
}
|
|
18
|
-
export function useRFFeeManager(poolName) {
|
|
19
|
-
return useFeeManager(poolName, POOL_TYPE.Invoice);
|
|
20
|
-
}
|
|
21
|
-
export function useRFPoolAllowance(poolName, account) {
|
|
22
|
-
return usePoolAllowance(poolName, POOL_TYPE.Invoice, account);
|
|
23
|
-
}
|
|
24
|
-
export function useRFLenderPosition(poolName, account) {
|
|
25
|
-
return useLenderPosition(poolName, POOL_TYPE.Invoice, account);
|
|
26
|
-
}
|
|
27
|
-
export function useRFLenderApproved(poolName, account) {
|
|
28
|
-
return useLenderApproved(poolName, POOL_TYPE.Invoice, account);
|
|
29
|
-
}
|
|
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) {
|
|
4
|
+
return usePoolContract(poolName, POOL_TYPE.Invoice);
|
|
5
|
+
}
|
|
6
|
+
export function useRFPoolUnderlyingTokenContract(poolName) {
|
|
7
|
+
return usePoolUnderlyingTokenContract(poolName, POOL_TYPE.Invoice);
|
|
8
|
+
}
|
|
9
|
+
export function useRFPoolUnderlyingToken(poolName) {
|
|
10
|
+
return usePoolUnderlyingToken(poolName, POOL_TYPE.Invoice);
|
|
11
|
+
}
|
|
12
|
+
export function useRFPoolBalance(poolName) {
|
|
13
|
+
return usePoolBalance(poolName, POOL_TYPE.Invoice);
|
|
14
|
+
}
|
|
15
|
+
export function useReceivableStats(poolName, account) {
|
|
16
|
+
return useAccountStats(poolName, POOL_TYPE.Invoice, account);
|
|
17
|
+
}
|
|
18
|
+
export function useRFFeeManager(poolName) {
|
|
19
|
+
return useFeeManager(poolName, POOL_TYPE.Invoice);
|
|
20
|
+
}
|
|
21
|
+
export function useRFPoolAllowance(poolName, account) {
|
|
22
|
+
return usePoolAllowance(poolName, POOL_TYPE.Invoice, account);
|
|
23
|
+
}
|
|
24
|
+
export function useRFLenderPosition(poolName, account) {
|
|
25
|
+
return useLenderPosition(poolName, POOL_TYPE.Invoice, account);
|
|
26
|
+
}
|
|
27
|
+
export function useRFLenderApproved(poolName, account) {
|
|
28
|
+
return useLenderApproved(poolName, POOL_TYPE.Invoice, account);
|
|
29
|
+
}
|
|
30
30
|
//# sourceMappingURL=useRFPoolContract.js.map
|