Smart contract artifacts for all Flare chains
npm install @flarenetwork/flare-periphery-contract-artifactsThis package contains ABIs and addresses for smart contracts deployed on Flare networks:
- Flare Mainnet
- Songbird Canary Network
- Flare Testnet Coston2
- Songbird Testnet Coston
``bash`
npm install @flarenetwork/flare-periphery-contract-artifactsor
yarn add @flarenetwork/flare-periphery-contract-artifacts
#### 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"
-
`typescript
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): PromisenamesToAddresses(names: string[], network: string, provider: ethers.JsonRpcApiProvider): Promise
-
These functions fetch contract addresses from the on-chain FlareContractRegistryLibrary.
`typescript
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)
Each network (flare, songbird, coston2, coston) exports:
#### 1. Products
Access contract information through .ContractName syntax:
`typescript
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:
`typescript
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:
`typescript
import { flare } from "@flarenetwork/flare-periphery-contract-artifacts";
// Network already known
const abi = flare.nameToAbi("FtsoManager");
const iAbi = flare.interfaceToAbi("IFtsoManager");
``