web3modal
web3modal copied to clipboard
List of Feature Requests ,QOL Improvements, & Suggestions [v2.x]
Feature Requests
- Add an extra property to Chain allowing ensResolverAddress to be set per-chain.
- Allow custom colors or a custom class with a predefined set of css definitions for most - if not all - of the components in the modal.
-
const { modalTheme, toggleModalTheme } = useModalTheme();
etc. - Allow app-defined global array of contract abis to be loaded to reduce repetitive importing.
- Add optional pollInterval to contractRead calls
- Add multicall functionality. I currently make approximately 12 RPC calls a minute with ethers-multicall that is down from over 170 RPC calls a minute on average needed when querying by single call, and when handling batched read calls of NFT ownership
Suggestions / QOL Improvements
-
always use
data
as the key of the hook with the result. The unique namespacing is not helpful unless you ignore all errors, loading, etc which is bad practice. exampleconst { read } = useContractRead()
should beconst { data } = useContractRead()
- set all data signatures that are
unknown
tounknown | undefined
or add a standard isLoaded. when there is no error, it is not loading, and the data is undefined, you currently have to take extra steps that would otherwise be type-hint expected. - make any opts and opts keys that are not required, optional. For example: I should not have to set the overrides key on a useContractRead opts.
- over-templatizing isnt always better. opts is not of type: string in signMessage() because of templatizing.
A lot of these were added in alpha.5 👍
Most of these are now resolved via recent beta release and full integration with https://wagmi.sh