@therootnetwork/evm

A utility package that simplifies EVM development on The Root Network.

Install

yarn add @therootnetwork/evm

Usage

Import and initialize the functionalities you need:
import {
  collectionIdToERC721Address,
  ERC721_PRECOMPILE_ABI,
  getPublicProviderUrl,
} from "@therootnetwork/evm";
import { Contract, getDefaultProvider } from "ethers";

const collectionAddress = collectionIdToERC721Address(1);
const providerUrl = getPublicProviderUrl("porcini");
const provider = getDefaultProvider(providerUrl);
const contract = new Contract(collectionAddress, ERC721_PRECOMPILE_ABI, provider);

API

function assetIdToERC20Address(assetId: string | number)

Converts native asset ID to ERC-20 contract address

function collectionIdToERC721Address(collectionId: string | number)

Converts native NFT collection ID to ERC-721 contract address

function getPublicProviderUrl(network: NetworkName): HttpProviderUrl

Returns the Public RPC URls for the corresponding network

Constants

Addresses

Constant Description Address NFT_PRECOMPILE_ADDRESS: string Precompile address for nft pallet 0x00000000000000000000000000000000000006b9 SFT_PRECOMPILE_ADDRESS: string Precompile address for sft pallet 0x00000000000000000000000000000000000006c3 FUTUREPASS_REGISTRAR_PRECOMPILE_ADDRESS: string Precompile address for futurepass pallet 0x000000000000000000000000000000000000FFFF PEG_PRECOMPILE_ADDRESS: string Precompile address for erc20Peg and nftPeg pallets 0x0000000000000000000000000000000000000793 DEX_PRECOMPILE_ADDRESS: string Precompile address for dex pallet 0x000000000000000000000000000000000000DdDD FEE_PROXY_PRECOMPILE_ADDRESS Precompile address for feeProxy pallet 0x00000000000000000000000000000000000004BB
Info: The precompile addresses are identical across all networks, including Mainnet, Devnet, and Porcini.

ABIs

Constant Description ERC20_ABI: string[] ABI for the ERC-20 standard ERC721_ABI: string[] ABI for the ERC-721 standard ERC1155_ABI: string[] ABI for the ERC-1155 standard NFT_PRECOMPILE_ABI: string[] ABI for the nft pallet SFT_PRECOMPILE_ABI: string[] ABI for the sft pallet FEE_PROXY_PRECOMPILE_ABI: string[] ABI for feeProxy pallet FUTUREPASS_PRECOMPILE_ABI: string[] ABI for futurepass account FUTUREPASS_REGISTRAR_PRECOMPILE_ABI: string[] ABI for futurepass pallet DEX_PRECOMPILE_ABI: string[] ABI for the dex pallet
Note: All exported ABIs are in human-readable format.