flare-periphery-contract-artifacts-test-fassets
v0.1.31
Published
Smart contract artifacts for all Flare chains
Downloads
200
Maintainers
Readme
Flare Smart Contracts Periphery
This package contains ABIs and addresses for smart contracts deployed on Flare networks:
- Flare Mainnet
- Songbird Canary Network
- Flare Testnet Coston2
- Songbird Testnet Coston
Installation
npm install @flarenetwork/flare-periphery-contract-artifacts
# or
yarn add @flarenetwork/flare-periphery-contract-artifactsFeatures
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:
"flare""songbird""coston2""coston"
import { nameToAbi, interfaceToAbi } from "@flarenetwork/flare-periphery-contract";
const fullAbi = nameToAbi("FtsoManager", "flare");
const interfaceAbi = interfaceToAbi("IFtsoManager", "flare");Address Resolution
nameToAddress(name: string, network: string, provider: ethers.JsonRpcApiProvider): Promise<string>namesToAddresses(names: string[], network: 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", "flare", provider);Constants
FlareContractRegistryAddress: Hardcoded registry address (same for all chains)
Network-Specific Namespaces
Each network (flare, songbird, coston2, coston) 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";
// Network already known
const abi = flare.nameToAbi("FtsoManager");
const iAbi = flare.interfaceToAbi("IFtsoManager");Support
For issues and feature requests, please visit our GitHub repository.
