Update 84532-andromeda (#438)
ABI and Adresses for Synthetix v3 contract deployments
npm install @synthetixio/v3-contracts
or
yarn add @synthetixio/v3-contracts
Get ethers-v5 Contract instance for CoreProxy deployed to the Mainnet:
CoreProxy
Mainnet
const {ethers} = require('ethers'); const meta = require('@synthetixio/v3-contracts/1-main/meta.json'); const abi = require('@synthetixio/v3-contracts/1-main/CoreProxy.readable.json'); const provider = new ethers.providers.JsonRpcProvider( process.env.RPC_URL || 'http://127.0.0.1:8545' ); const CoreProxy = new ethers.Contract(meta.contracts.CoreProxy, abi, provider); const accountId = 1; CoreProxy.getAccountOwner(accountId).then(console.log);
Dynamically load CoreProxy contract for a given chain and preset.
import {ethers} from 'ethers'; export async function importCoreProxy(chainId: number, preset: string = 'main') { switch (`${chainId}-${preset}`) { case '1-main': const [meta, abi] = await Promise.all([ import('@synthetixio/v3-contracts/1-main/meta.json'), import('@synthetixio/v3-contracts/1-main/CoreProxy.readable.json') ]); return new ethers.Contract(meta.contracts.CoreProxy, abi, provider); case '10-main': const [meta, abi] = await Promise.all([ import('@synthetixio/v3-contracts/10-main/meta.json'), import('@synthetixio/v3-contracts/10-main/CoreProxy.readable.json') ]); return new ethers.Contract(meta.contracts.CoreProxy, abi, provider); case '8453-andromeda': const [meta, abi] = await Promise.all([ import('@synthetixio/v3-contracts/8453-andromeda/meta.json'), import('@synthetixio/v3-contracts/8453-andromeda/CoreProxy.readable.json') ]); return new ethers.Contract(meta.contracts.CoreProxy, abi, provider); default: throw new Error(`Unsupported chain ${chainId} for CoreProxy`); } } importCoreProxy(1, 'main') .then(async CoreProxy => { const accountId = 1; const address = await CoreProxy.getAccountOwner(accountId); console.log(address) })
版权所有:中国计算机学会技术支持:开源发展技术委员会 京ICP备13000930号-9 京公网安备 11010802032778号
v3-contracts
ABI and Adresses for Synthetix v3 contract deployments
Install the package:
or
Usage
Get ethers-v5 Contract instance for
CoreProxydeployed to theMainnet:Dynamically load
CoreProxycontract for a given chain and preset.