@evm-abis/abis
TypeScript icon, indicating that this package has built-in type declarations

1.0.3 • Public • Published

EVM ABIs

Why This Project?

Currently, obtaining a contract's ABI involves downloading it from Etherscan (or Sourcify) and manually pasting it into your project. Interacting with standard contracts like ERC20 requires either copying the ABI into your project or importing it from libraries like Wagmi. This presents 2 primary issues:

  1. Lack of a dedicated package to centralize all ERC/EIP ABIs, independently of a library.
  2. No straightforward method to import a contract's ABI into a project.

This project aims to address those problems by consolidating all ERC/EIP ABIs in one repository.

Installation

Installation is straightforward:

# npm
npm install -D @evm-abis/abis

# pnpm
pnpm add -D @evm-abis/abis

# yarn
yarn add --dev @evm-abis/abis

# bun
bun add -D @evm-abis/abis

After installation, import the ABI as follows:

import { erc20Abi } from '@evm-abis/abis'

This project leverages the excellent abitype project to type the ABI.

Available ABIs

ERC:

  • ERC1155
  • ERC1155MetadataURI
  • ERC1155Receiver
  • ERC1271
  • ERC1363
  • ERC1363Receiver
  • ERC1363Spender
  • ERC165
  • ERC1820Implementer
  • ERC1820Registry
  • ERC1967
  • ERC20
  • ERC20Bytes32
  • ERC20Metadata
  • ERC20Permit
  • ERC2309
  • ERC2612
  • ERC2981
  • ERC3156FlashBorrower
  • ERC3156FlashLender
  • ERC4626
  • ERC4906
  • ERC5267
  • ERC5313
  • ERC5805
  • ERC6372
  • ERC721
  • ERC721Enumerable
  • ERC721Metadata
  • ERC721Receiver
  • ERC777
  • ERC777Recipient
  • ERC777Sender
  • draft-ERC1822
  • draft-ERC6093

EIP:

  • EIP712

OpenZeppelin

  • All openZeppelin contracts

Other

  • Mutlicall

/@evm-abis/abis/

    Package Sidebar

    Install

    npm i @evm-abis/abis

    Weekly Downloads

    1

    Version

    1.0.3

    License

    MIT

    Unpacked Size

    1.68 MB

    Total Files

    254

    Last publish

    Collaborators

    • 0xvincal