0.1.26 • Published 7 months ago

@flarenetwork/flare-periphery-contract-artifacts v0.1.26

Weekly downloads
-
License
MIT
Repository
-
Last release
7 months ago

Flare Smart Contracts Periphery

This package contains ABIs and addresses for smart contracts deployed on Flare networks:

  • Flare Mainnet
  • Songbird Canary Network
  • Songbird Testnet Coston
  • Flare Testnet Coston2

Installation

npm install @flarenetwork/flare-periphery-contract-artifacts
# or
yarn add @flarenetwork/flare-periphery-contract-artifacts

Features

Top Level Exports

ABI Access Functions

  • nameToAbi(name: string, network: string): any - get full smart contract functionality;
  • interfaceToAbi(name: string, network: string): any - interact with the contract's public API.

Both functions return an ABI array. The network parameter must be one of:

  • "coston"
  • "coston2"
  • "songbird"
  • "flare"
import { nameToAbi, interfaceToAbi } from "@flarenetwork/flare-periphery-contract";

const fullAbi = nameToAbi("FtsoManager", "flare");
const interfaceAbi = interfaceToAbi("IFtsoManager", "flare");

Address Resolution

  • nameToAddress(name: string, provider: ethers.JsonRpcApiProvider): Promise<string>
  • namesToAddresses(names: string[], provider: ethers.JsonRpcApiProvider): Promise<string[]>

These functions fetch contract addresses from the on-chain FlareContractRegistryLibrary.

import { nameToAddress } from "@flarenetwork/flare-periphery-contract-artifacts";
import { ethers } from "ethers";

const provider = new ethers.JsonRpcProvider("https://flare-api.flare.network/ext/C/rpc");
const address = await nameToAddress("FtsoManager", provider);

Constants

  • FlareContractRegistryAddress: Hardcoded registry address (same for all chains)

Network-Specific Namespaces

Each network (coston, coston2, flare, songbird) exports:

1. Products

Access contract information through .ContractName syntax:

import { flare } from "@flarenetwork/flare-periphery-contract-artifacts";

const ftsoManager = flare.products.FtsoManager;
console.log(ftsoManager.name);        // Contract name
console.log(ftsoManager.interface);   // Interface name
console.log(ftsoManager.abi);         // Contract ABI

// Get deployed address
const address = await ftsoManager.getAddress(provider);

2. Interface ABIs

Access interface ABIs using .InterfaceName syntax:

import { flare } from "@flarenetwork/flare-periphery-contract-artifacts";

const abi = flare.interfaceAbis.IFtsoManager;

3. Network-Specific ABI Functions

It is same as top-level functions but with the pre-set network:

import { flare } from "@flarenetwork/flare-periphery-contract-artifacts";

const abi = flare.nameToAbi("FtsoManager");      // Network already known
const iAbi = flare.interfaceToAbi("IFtsoManager");

Support

For issues and feature requests, please visit our GitHub repository.

0.1.20

11 months ago

0.1.21

9 months ago

0.1.22

9 months ago

0.1.23

8 months ago

0.1.24

8 months ago

0.1.26

7 months ago

0.1.19

11 months ago

0.1.13

2 years ago

0.1.14

2 years ago

0.1.15

2 years ago

0.1.16

1 year ago

0.1.12

2 years ago

0.1.10

2 years ago

0.1.11

2 years ago

0.1.9

2 years ago

0.1.8

2 years ago

0.1.7

2 years ago

0.1.6

2 years ago

0.1.5

2 years ago

0.1.4

2 years ago

0.1.0

2 years ago

0.1.2

2 years ago

0.1.1

2 years ago

0.1.3

2 years ago

0.0.3

3 years ago

0.0.2

3 years ago

0.0.4

3 years ago

0.0.1

3 years ago