Install EVM API

@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.

Last updated

© 2023 -> ♾️