@huma-finance/shared 0.0.36 → 0.0.37
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/BaseCreditPool.json +1179 -1179
- package/dist/abis/BaseCreditPoolReceivable.json +764 -0
- package/dist/abis/BaseFeeManager.json +480 -480
- package/dist/abis/BasePoolConfig.json +1364 -1364
- package/dist/abis/ERC20TransferableReceivable.json +648 -648
- package/dist/abis/ERC20TransferrableReceivable.json +648 -0
- package/dist/abis/HDT.json +512 -512
- package/dist/abis/IConstantFlowAgreementV1.json +890 -890
- package/dist/abis/ISuperfluid.json +1122 -1122
- package/dist/abis/InvoiceNFT.json +625 -625
- package/dist/abis/Multisend.json +26 -26
- package/dist/abis/RealWorldReceivable.json +823 -823
- package/dist/abis/ReceivableFactoringPool.json +1529 -1529
- package/dist/abis/StreamFactoringPool.json +1523 -1523
- package/dist/abis/StreamFeeManager.json +522 -522
- package/dist/abis/SuperfluidPoolProcessor.json +692 -692
- package/dist/abis/TestERC20.json +358 -358
- package/dist/abis/TradableStream.json +850 -850
- package/dist/abis/Transfer.json +24 -24
- package/dist/abis/TransferNFT.json +27 -27
- package/dist/abis/erc20.json +127 -127
- package/dist/abis/erc2612.json +132 -132
- package/dist/abis/erc721.json +673 -673
- package/dist/abis/index.js +3 -3
- package/dist/abis/types/BaseCreditPool.js +1 -1
- 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/BaseFeeManager.js +1 -1
- package/dist/abis/types/BasePoolConfig.js +1 -1
- package/dist/abis/types/ERC20TransferableReceivable.js +1 -1
- 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/Erc20.d.ts +184 -184
- package/dist/abis/types/Erc20.js +1 -1
- package/dist/abis/types/Erc2612.js +1 -1
- package/dist/abis/types/Erc721.js +1 -1
- package/dist/abis/types/HDT.js +1 -1
- package/dist/abis/types/IConstantFlowAgreementV1.js +1 -1
- package/dist/abis/types/ISuperfluid.js +1 -1
- package/dist/abis/types/InvoiceNFT.js +1 -1
- package/dist/abis/types/Multisend.js +1 -1
- package/dist/abis/types/RealWorldReceivable.js +1 -1
- package/dist/abis/types/ReceivableFactoringPool.js +1 -1
- package/dist/abis/types/StreamFactoringPool.js +1 -1
- package/dist/abis/types/StreamFeeManager.js +1 -1
- package/dist/abis/types/SuperfluidPoolProcessor.js +1 -1
- package/dist/abis/types/TestERC20.js +1 -1
- package/dist/abis/types/TradableStream.js +1 -1
- package/dist/abis/types/Transfer.js +1 -1
- package/dist/abis/types/TransferNFT.js +1 -1
- package/dist/abis/types/common.js +1 -1
- 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 +1192 -1192
- package/dist/abis/types/factories/BaseFeeManager__factory.js +493 -493
- package/dist/abis/types/factories/BasePoolConfig__factory.js +1377 -1377
- package/dist/abis/types/factories/ERC20TransferableReceivable__factory.js +661 -661
- 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.d.ts +193 -193
- package/dist/abis/types/factories/Erc20__factory.js +259 -259
- package/dist/abis/types/factories/Erc2612__factory.js +278 -278
- package/dist/abis/types/factories/Erc721__factory.js +686 -686
- package/dist/abis/types/factories/HDT__factory.js +525 -525
- package/dist/abis/types/factories/IConstantFlowAgreementV1__factory.js +903 -903
- package/dist/abis/types/factories/ISuperfluid__factory.js +1135 -1135
- package/dist/abis/types/factories/InvoiceNFT__factory.js +638 -638
- package/dist/abis/types/factories/Multisend__factory.js +39 -39
- package/dist/abis/types/factories/RealWorldReceivable__factory.js +836 -836
- package/dist/abis/types/factories/ReceivableFactoringPool__factory.js +1542 -1542
- package/dist/abis/types/factories/StreamFactoringPool__factory.js +1536 -1536
- package/dist/abis/types/factories/StreamFeeManager__factory.js +535 -535
- package/dist/abis/types/factories/SuperfluidPoolProcessor__factory.js +705 -705
- package/dist/abis/types/factories/TestERC20__factory.js +371 -371
- package/dist/abis/types/factories/TradableStream__factory.js +863 -863
- package/dist/abis/types/factories/TransferNFT__factory.js +40 -40
- package/dist/abis/types/factories/Transfer__factory.js +37 -37
- package/dist/abis/types/factories/index.js +24 -24
- package/dist/abis/types/index.js +22 -22
- 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 +127 -127
- 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 +184 -184
- 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 +193 -193
- package/dist/cjs/abis/types/factories/Erc20__factory.js +263 -263
- 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 +28 -28
- 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 +74 -74
- package/dist/cjs/hooks/usePoolContract.js +310 -310
- package/dist/cjs/hooks/useRFPoolContract.d.ts +23 -23
- 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 +11 -11
- package/dist/cjs/hooks/web3/index.js +146 -146
- 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 +64 -64
- 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 -52
- package/dist/cjs/services/IdentityService.js +83 -83
- 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 +39 -39
- package/dist/cjs/utils/chain.js +126 -126
- 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 +45 -45
- 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 +41 -41
- 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 +21 -21
- package/dist/cjs/utils/notifi.d.ts +4 -4
- package/dist/cjs/utils/notifi.js +42 -42
- package/dist/cjs/utils/number.d.ts +6 -6
- package/dist/cjs/utils/number.js +74 -74
- package/dist/cjs/utils/pool.d.ts +97 -96
- package/dist/cjs/utils/pool.js +402 -371
- 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/index.js +18 -18
- package/dist/hooks/useActiveRoute.js +7 -7
- package/dist/hooks/useAsyncError.js +22 -22
- package/dist/hooks/useCLPoolContract.d.ts +28 -28
- package/dist/hooks/useCLPoolContract.js +38 -38
- package/dist/hooks/useContract.js +40 -40
- package/dist/hooks/useContractFunction.js +54 -54
- package/dist/hooks/useERC2612Permit/ethPermit/index.js +139 -139
- package/dist/hooks/useERC2612Permit/ethPermit/lib.js +21 -21
- package/dist/hooks/useERC2612Permit/ethPermit/rpc.js +96 -96
- package/dist/hooks/useERC2612Permit/index.js +31 -31
- package/dist/hooks/useFactoring.js +90 -90
- package/dist/hooks/useForceRefresh.js +8 -8
- package/dist/hooks/useGetSizes.js +19 -19
- package/dist/hooks/useInvoiceNFTContract.js +64 -64
- package/dist/hooks/useMQ.js +14 -14
- package/dist/hooks/useMount.js +8 -8
- package/dist/hooks/useParamsSearch.js +6 -6
- package/dist/hooks/usePool.js +39 -39
- package/dist/hooks/usePoolContract.d.ts +74 -74
- package/dist/hooks/usePoolContract.js +287 -287
- package/dist/hooks/useRFPoolContract.d.ts +23 -23
- package/dist/hooks/useRFPoolContract.js +29 -29
- package/dist/hooks/useRefresh.js +47 -47
- package/dist/hooks/web3/index.d.ts +11 -11
- package/dist/hooks/web3/index.js +141 -141
- package/dist/hooks/web3/useConnectors.js +24 -24
- package/dist/hooks/web3/useJsonRpcUrlsMap.js +55 -55
- package/dist/index.js +5 -5
- package/dist/services/EAService.js +77 -77
- package/dist/services/IdentityService.d.ts +52 -52
- package/dist/services/IdentityService.js +80 -80
- 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/JsonRpcConnector.js +38 -38
- package/dist/utils/WalletConnect.js +49 -49
- package/dist/utils/chain.d.ts +39 -39
- package/dist/utils/chain.js +118 -118
- package/dist/utils/common.js +10 -10
- package/dist/utils/config.d.ts +8 -8
- package/dist/utils/config.js +42 -42
- package/dist/utils/const.js +2 -2
- package/dist/utils/contractError.json +73 -73
- package/dist/utils/contractconfig.json +19 -19
- package/dist/utils/credit.js +37 -37
- 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/errors.js +39 -39
- package/dist/utils/index.d.ts +20 -20
- package/dist/utils/index.js +20 -20
- package/dist/utils/jsonRpcEndpoints.js +18 -18
- package/dist/utils/notifi.d.ts +4 -4
- package/dist/utils/notifi.js +36 -36
- package/dist/utils/number.d.ts +6 -6
- package/dist/utils/number.js +66 -66
- package/dist/utils/pool.d.ts +97 -96
- package/dist/utils/pool.js +395 -364
- 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/request.js +38 -38
- package/dist/utils/scientificToDecimal.js +57 -57
- 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/dist/utils/string.js +1 -1
- package/dist/utils/style.js +12 -12
- package/dist/utils/time.js +50 -50
- package/dist/utils/transaction.js +87 -87
- package/dist/utils/web3.js +34 -34
- package/package.json +2 -2
|
@@ -1,288 +1,288 @@
|
|
|
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
|
-
const [refreshCount, refresh] = useForceRefresh();
|
|
209
|
-
useEffect(() => {
|
|
210
|
-
const fetchData = async () => {
|
|
211
|
-
if (contract && poolInfo && account) {
|
|
212
|
-
const allowance = await contract.allowance(account, poolInfo.pool);
|
|
213
|
-
setAllowance(allowance);
|
|
214
|
-
setApproved(allowance.gt(MaxUint256.div(2)));
|
|
215
|
-
setLoaded(true);
|
|
216
|
-
}
|
|
217
|
-
};
|
|
218
|
-
fetchData();
|
|
219
|
-
}, [account, contract, poolInfo, refreshCount]);
|
|
220
|
-
return { approved, allowance, loaded, refresh };
|
|
221
|
-
}
|
|
222
|
-
export function useLenderPosition(poolName, poolType, account) {
|
|
223
|
-
const poolInfo = usePoolInfo(poolName, poolType);
|
|
224
|
-
const contract = useHDTContract(poolName, poolType);
|
|
225
|
-
const [position, setPosition] = useState();
|
|
226
|
-
const [refreshCount, refresh] = useForceRefresh();
|
|
227
|
-
useEffect(() => {
|
|
228
|
-
const fetchData = async () => {
|
|
229
|
-
if (contract && account && poolInfo) {
|
|
230
|
-
const position = await contract.withdrawableFundsOf(account);
|
|
231
|
-
const oneCentUSD = BigNumber.from(upScale('0.01', poolInfo.poolUnderlyingToken.decimals));
|
|
232
|
-
// if position is less than one cent USD, consider it 0
|
|
233
|
-
if (position.lt(oneCentUSD)) {
|
|
234
|
-
setPosition(BigNumber.from(0));
|
|
235
|
-
}
|
|
236
|
-
else {
|
|
237
|
-
setPosition(position);
|
|
238
|
-
}
|
|
239
|
-
}
|
|
240
|
-
};
|
|
241
|
-
fetchData();
|
|
242
|
-
}, [account, contract, poolInfo, refreshCount]);
|
|
243
|
-
return [position, refresh];
|
|
244
|
-
}
|
|
245
|
-
export function useLenderApproved(poolName, poolType, account) {
|
|
246
|
-
const contract = usePoolContract(poolName, poolType);
|
|
247
|
-
const [approved, setApproved] = useState();
|
|
248
|
-
const [refreshCount, refresh] = useForceRefresh();
|
|
249
|
-
useEffect(() => {
|
|
250
|
-
const fetchData = async () => {
|
|
251
|
-
if (contract && account) {
|
|
252
|
-
const approved = await contract.isApprovedLender(account);
|
|
253
|
-
setApproved(approved);
|
|
254
|
-
}
|
|
255
|
-
};
|
|
256
|
-
fetchData();
|
|
257
|
-
}, [account, contract, refreshCount]);
|
|
258
|
-
return [approved, refresh];
|
|
259
|
-
}
|
|
260
|
-
export function useWithdrawlLockoutInSeconds(poolName, poolType) {
|
|
261
|
-
const contract = useBaseConfigPoolContract(poolName, poolType);
|
|
262
|
-
const [lockoutSeconds, setLockoutSeconds] = useState();
|
|
263
|
-
useEffect(() => {
|
|
264
|
-
const fetchData = async () => {
|
|
265
|
-
if (contract) {
|
|
266
|
-
const seconds = await contract.withdrawalLockoutPeriodInSeconds();
|
|
267
|
-
setLockoutSeconds(seconds.toNumber());
|
|
268
|
-
}
|
|
269
|
-
};
|
|
270
|
-
fetchData();
|
|
271
|
-
}, [contract]);
|
|
272
|
-
return lockoutSeconds;
|
|
273
|
-
}
|
|
274
|
-
export function useLastDepositTime(poolName, poolType, account) {
|
|
275
|
-
const contract = usePoolContract(poolName, poolType);
|
|
276
|
-
const [lockoutSeconds, setLockoutSeconds] = useState();
|
|
277
|
-
useEffect(() => {
|
|
278
|
-
const fetchData = async () => {
|
|
279
|
-
if (contract && account) {
|
|
280
|
-
const seconds = await contract.lastDepositTime(account);
|
|
281
|
-
setLockoutSeconds(seconds.toNumber());
|
|
282
|
-
}
|
|
283
|
-
};
|
|
284
|
-
fetchData();
|
|
285
|
-
}, [account, contract]);
|
|
286
|
-
return lockoutSeconds;
|
|
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
|
+
const [refreshCount, refresh] = useForceRefresh();
|
|
209
|
+
useEffect(() => {
|
|
210
|
+
const fetchData = async () => {
|
|
211
|
+
if (contract && poolInfo && account) {
|
|
212
|
+
const allowance = await contract.allowance(account, poolInfo.pool);
|
|
213
|
+
setAllowance(allowance);
|
|
214
|
+
setApproved(allowance.gt(MaxUint256.div(2)));
|
|
215
|
+
setLoaded(true);
|
|
216
|
+
}
|
|
217
|
+
};
|
|
218
|
+
fetchData();
|
|
219
|
+
}, [account, contract, poolInfo, refreshCount]);
|
|
220
|
+
return { approved, allowance, loaded, refresh };
|
|
221
|
+
}
|
|
222
|
+
export function useLenderPosition(poolName, poolType, account) {
|
|
223
|
+
const poolInfo = usePoolInfo(poolName, poolType);
|
|
224
|
+
const contract = useHDTContract(poolName, poolType);
|
|
225
|
+
const [position, setPosition] = useState();
|
|
226
|
+
const [refreshCount, refresh] = useForceRefresh();
|
|
227
|
+
useEffect(() => {
|
|
228
|
+
const fetchData = async () => {
|
|
229
|
+
if (contract && account && poolInfo) {
|
|
230
|
+
const position = await contract.withdrawableFundsOf(account);
|
|
231
|
+
const oneCentUSD = BigNumber.from(upScale('0.01', poolInfo.poolUnderlyingToken.decimals));
|
|
232
|
+
// if position is less than one cent USD, consider it 0
|
|
233
|
+
if (position.lt(oneCentUSD)) {
|
|
234
|
+
setPosition(BigNumber.from(0));
|
|
235
|
+
}
|
|
236
|
+
else {
|
|
237
|
+
setPosition(position);
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
};
|
|
241
|
+
fetchData();
|
|
242
|
+
}, [account, contract, poolInfo, refreshCount]);
|
|
243
|
+
return [position, refresh];
|
|
244
|
+
}
|
|
245
|
+
export function useLenderApproved(poolName, poolType, account) {
|
|
246
|
+
const contract = usePoolContract(poolName, poolType);
|
|
247
|
+
const [approved, setApproved] = useState();
|
|
248
|
+
const [refreshCount, refresh] = useForceRefresh();
|
|
249
|
+
useEffect(() => {
|
|
250
|
+
const fetchData = async () => {
|
|
251
|
+
if (contract && account) {
|
|
252
|
+
const approved = await contract.isApprovedLender(account);
|
|
253
|
+
setApproved(approved);
|
|
254
|
+
}
|
|
255
|
+
};
|
|
256
|
+
fetchData();
|
|
257
|
+
}, [account, contract, refreshCount]);
|
|
258
|
+
return [approved, refresh];
|
|
259
|
+
}
|
|
260
|
+
export function useWithdrawlLockoutInSeconds(poolName, poolType) {
|
|
261
|
+
const contract = useBaseConfigPoolContract(poolName, poolType);
|
|
262
|
+
const [lockoutSeconds, setLockoutSeconds] = useState();
|
|
263
|
+
useEffect(() => {
|
|
264
|
+
const fetchData = async () => {
|
|
265
|
+
if (contract) {
|
|
266
|
+
const seconds = await contract.withdrawalLockoutPeriodInSeconds();
|
|
267
|
+
setLockoutSeconds(seconds.toNumber());
|
|
268
|
+
}
|
|
269
|
+
};
|
|
270
|
+
fetchData();
|
|
271
|
+
}, [contract]);
|
|
272
|
+
return lockoutSeconds;
|
|
273
|
+
}
|
|
274
|
+
export function useLastDepositTime(poolName, poolType, account) {
|
|
275
|
+
const contract = usePoolContract(poolName, poolType);
|
|
276
|
+
const [lockoutSeconds, setLockoutSeconds] = useState();
|
|
277
|
+
useEffect(() => {
|
|
278
|
+
const fetchData = async () => {
|
|
279
|
+
if (contract && account) {
|
|
280
|
+
const seconds = await contract.lastDepositTime(account);
|
|
281
|
+
setLockoutSeconds(seconds.toNumber());
|
|
282
|
+
}
|
|
283
|
+
};
|
|
284
|
+
fetchData();
|
|
285
|
+
}, [account, contract]);
|
|
286
|
+
return lockoutSeconds;
|
|
287
|
+
}
|
|
288
288
|
//# sourceMappingURL=usePoolContract.js.map
|
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
import { ReceivableFactoringPool } from '../abis/types/ReceivableFactoringPool';
|
|
2
|
-
import { POOL_NAME } from '../utils/pool';
|
|
3
|
-
export declare function useRFPoolContract(poolName: POOL_NAME): ReceivableFactoringPool | null;
|
|
4
|
-
export declare function useRFPoolUnderlyingTokenContract(poolName: POOL_NAME): import("..").Erc20 | null;
|
|
5
|
-
export declare function useRFPoolUnderlyingToken(poolName: POOL_NAME): Partial<{
|
|
6
|
-
address: string;
|
|
7
|
-
symbol: string;
|
|
8
|
-
decimals: number;
|
|
9
|
-
}>;
|
|
10
|
-
export declare function useRFPoolBalance(poolName: POOL_NAME): [import("ethers").BigNumber | undefined, () => void];
|
|
11
|
-
export declare function useReceivableStats(poolName: POOL_NAME, account?: string): [import("./usePoolContract").AccountStats, () => void];
|
|
12
|
-
export declare function useRFFeeManager(poolName: POOL_NAME): {
|
|
13
|
-
fees: import("./usePoolContract").FeesType | undefined;
|
|
14
|
-
getFeesCharged: (requestedLoan: number) => number;
|
|
15
|
-
};
|
|
16
|
-
export declare function useRFPoolAllowance(poolName: POOL_NAME, account?: string): {
|
|
17
|
-
approved: boolean;
|
|
18
|
-
allowance: import("ethers").BigNumber;
|
|
19
|
-
loaded: boolean;
|
|
20
|
-
refresh: () => void;
|
|
21
|
-
};
|
|
22
|
-
export declare function useRFLenderPosition(poolName: POOL_NAME, account?: string): [import("ethers").BigNumber | undefined, () => void];
|
|
23
|
-
export declare function useRFLenderApproved(poolName: POOL_NAME, account?: string): [boolean | undefined, () => void];
|
|
1
|
+
import { ReceivableFactoringPool } from '../abis/types/ReceivableFactoringPool';
|
|
2
|
+
import { POOL_NAME } from '../utils/pool';
|
|
3
|
+
export declare function useRFPoolContract(poolName: POOL_NAME): ReceivableFactoringPool | null;
|
|
4
|
+
export declare function useRFPoolUnderlyingTokenContract(poolName: POOL_NAME): import("..").Erc20 | null;
|
|
5
|
+
export declare function useRFPoolUnderlyingToken(poolName: POOL_NAME): Partial<{
|
|
6
|
+
address: string;
|
|
7
|
+
symbol: string;
|
|
8
|
+
decimals: number;
|
|
9
|
+
}>;
|
|
10
|
+
export declare function useRFPoolBalance(poolName: POOL_NAME): [import("ethers").BigNumber | undefined, () => void];
|
|
11
|
+
export declare function useReceivableStats(poolName: POOL_NAME, account?: string): [import("./usePoolContract").AccountStats, () => void];
|
|
12
|
+
export declare function useRFFeeManager(poolName: POOL_NAME): {
|
|
13
|
+
fees: import("./usePoolContract").FeesType | undefined;
|
|
14
|
+
getFeesCharged: (requestedLoan: number) => number;
|
|
15
|
+
};
|
|
16
|
+
export declare function useRFPoolAllowance(poolName: POOL_NAME, account?: string): {
|
|
17
|
+
approved: boolean;
|
|
18
|
+
allowance: import("ethers").BigNumber;
|
|
19
|
+
loaded: boolean;
|
|
20
|
+
refresh: () => void;
|
|
21
|
+
};
|
|
22
|
+
export declare function useRFLenderPosition(poolName: POOL_NAME, account?: string): [import("ethers").BigNumber | undefined, () => void];
|
|
23
|
+
export declare function useRFLenderApproved(poolName: POOL_NAME, account?: string): [boolean | undefined, () => void];
|