1.0.0 • Published 1 year ago
@gasrunners/evm-fetch v1.0.0
EVMFetch
EVMFetch is a simple wrapper around multicaller contracts that makes fetching onchain data simple and intuitive.
Usage
Install:
npm install @gasrunners/evm-fetch
Instantiate an EVMFetch instance:
import { EVMFetch, Network } from '@gasrunners/evm-fetch'
import { ERC20_ABI } from '@gasrunners/common-abi'
evmFetch = new EVMFetch({
network: Network.MAINNET,
provider: <YOUR_RPC_URL> // e.g. `https://mainnet.infura.io/v3/${YOUR_INFURA_KEY}`,
})
Add multical onchain calls from different contracts:
evmFetch
.addCall({
key: 'dai.name',
address: '0x6B175474E89094C44Da98b954EedeAC495271d0F', // Dai ERC20
function: 'name',
abi: ERC20_ABI,
})
.addCall({
key: 'uni.name',
address: '0x1f9840a85d5aF5bf1D1762F925BDADdC4201F984', // Uniswap ERC20
function: 'name',
abi: ERC20_ABI,
})
Then fetch the results:
const data = await evmFetch.fetch()
console.log(data) // { dai: 'Dai Stablecoin', uni: 'Uniswap' }
1.0.0
1 year ago