Block Explorer
Plugin for fetching ABIs from Block Explorer that supports the ?module=contract&action=getabi
API format.
import { blockExplorer } from '@wagmi/cli/plugins'
Usage
import { defineConfig } from '@wagmi/cli'
import { blockExplorer } from '@wagmi/cli/plugins'
export default defineConfig({
plugins: [
blockExplorer({
baseUrl: 'https://api.etherscan.io/api',
contracts: [
{
name: 'wagmigotchi',
address: '0xecb504d39723b0be0e3a9aa33d646642d1051ee1',
},
],
}),
],
})
Configuration
baseUrl
Base URL for block explorer.
import { defineConfig } from '@wagmi/cli'
import { blockExplorer } from '@wagmi/cli/plugins'
export default defineConfig({
plugins: [
blockExplorer({
baseUrl: 'https://api.etherscan.io/api',
contracts: [
{
name: 'wagmigotchi',
address: '0xecb504d39723b0be0e3a9aa33d646642d1051ee1',
},
],
}),
],
})
contracts
Contracts to fetch ABIs for.
import { defineConfig } from '@wagmi/cli'
import { blockExplorer } from '@wagmi/cli/plugins'
export default defineConfig({
plugins: [
blockExplorer({
baseUrl: 'https://api.etherscan.io/api',
contracts: [
{
name: 'wagmigotchi',
address: '0xecb504d39723b0be0e3a9aa33d646642d1051ee1',
},
],
}),
],
})
apiKey (optional)
API key for block explorer. Appended to the request URL as query param &apikey=${apiKey}
.
import { defineConfig } from '@wagmi/cli'
import { blockExplorer } from '@wagmi/cli/plugins'
export default defineConfig({
plugins: [
blockExplorer({
apiKey: process.env.ETHERSCAN_API_KEY,
baseUrl: 'https://api.etherscan.io/api',
contracts: [
{
name: 'wagmigotchi',
address: '0xecb504d39723b0be0e3a9aa33d646642d1051ee1',
},
],
}),
],
})
cacheDuration (optional)
Duration in milliseconds to cache ABIs. Defaults to 1_800_000
(30 minutes).
import { defineConfig } from '@wagmi/cli'
import { blockExplorer } from '@wagmi/cli/plugins'
export default defineConfig({
plugins: [
blockExplorer({
baseUrl: 'https://api.etherscan.io/api',
cacheDuration: 300_000,
contracts: [
{
name: 'wagmigotchi',
address: '0xecb504d39723b0be0e3a9aa33d646642d1051ee1',
},
],
}),
],
})
getAddress (optional)
Function to get address from contract config. Defaults to ({ address }) => typeof address === 'string' ? address : Object.values(address)[0]
.
import { defineConfig } from '@wagmi/cli'
import { blockExplorer } from '@wagmi/cli/plugins'
export default defineConfig({
plugins: [
blockExplorer({
baseUrl: 'https://api.etherscan.io/api',
contracts: [
{
name: 'wagmigotchi',
address: '0xecb504d39723b0be0e3a9aa33d646642d1051ee1',
},
],
getAddress({ address }) {
if (typeof address === 'string') return address
return Object.values(address)[0]
},
}),
],
})
name (optional)
Name of source. Defaults to "Block Explorer"
.
import { defineConfig } from '@wagmi/cli'
import { blockExplorer } from '@wagmi/cli/plugins'
export default defineConfig({
plugins: [
blockExplorer({
baseUrl: 'https://api.etherscan.io/api',
contracts: [
{
name: 'wagmigotchi',
address: '0xecb504d39723b0be0e3a9aa33d646642d1051ee1',
},
],
name: 'Etherscan',
}),
],
})