Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork61
Strict TypeScript types for Ethereum ABIs
License
wevm/abitype
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
Strict TypeScript types for Ethereum ABIs
Strict TypeScript types for Ethereum ABIs. ABIType provides utilities and type definitions for ABI properties and values, covering theContract ABI Specification, as well asEIP-712 Typed Data.
importtype{AbiParametersToPrimitiveTypes,ExtractAbiFunction,ExtractAbiFunctionNames}from'abitype'import{erc20Abi}from'abitype/abis'typeFunctionNames=ExtractAbiFunctionNames<typeoferc20Abi,'view'>// ^? type FunctionNames = "symbol" | "name" | "allowance" | "balanceOf" | "decimals" | "totalSupply"typeTransferInputTypes=AbiParametersToPrimitiveTypes<// ^? type TransferInputTypes = readonly [`0x${string}`, bigint]ExtractAbiFunction<typeoferc20Abi,'transfer'>['inputs']>
Works great for adding blazing fastautocomplete and type checking to functions, variables, or your own types. No need to generate types with third-party tools – just use your ABI and let TypeScript do the rest!
ABIType might be a good option for your project if:
- You want totypecheck your ABIs or EIP-712 Typed Data.
- You want to add type inference and autocomplete to your library based on user-provided ABIs or EIP-712 Typed Data, likeWagmi andViem.
- You need toconvert ABI types (e.g.
'string') to TypeScript types (e.g.string) or other type transformations. - You need to validate ABIs atruntime (e.g. after fetching from external resource).
- You don’t want to set up a build process to generate types (e.g. TypeChain).
For documentation and guides, visitabitype.dev.
For help, discussion about best practices, or any other conversation that would benefit from being searchable:
For casual chit-chat with others using the library:
If you find ABIType useful or use it for work, please consider supporting development onGitHub Sponsors or sending crypto towevm.eth. Thank you 🙏
Contributions to ABIType are greatly appreciated! If you're interested in contributing to ABIType, please read theContributing Guidebefore submitting a pull request.
About
Strict TypeScript types for Ethereum ABIs
Topics
Resources
License
Code of conduct
Contributing
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Sponsor this project
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.