Foundry
Plugin for resolving ABIs from Foundry projects.
import { foundry } from '@wagmi/cli/plugins'Usage
import { defineConfig } from '@wagmi/cli'
import { foundry } from '@wagmi/cli/plugins'
export default defineConfig({
plugins: [
foundry({
project: '../hello_foundry',
}),
],
})- Supports
generate--watch(-w) mode. - Detects Foundry configuration using
forge config --jsoncommand.
Configuration
artifacts (optional)
Project's artifacts directory. Defaults to 'out/'. Same as your foundry.toml/forges --out (-o) option.
import { defineConfig } from '@wagmi/cli'
import { foundry } from '@wagmi/cli/plugins'
export default defineConfig({
plugins: [
foundry({
artifacts: 'out/',
}),
],
})deployments (optional)
Mapping of addresses to attach to artifacts.
import { defineConfig } from '@wagmi/cli'
import { foundry } from '@wagmi/cli/plugins'
export default defineConfig({
plugins: [
foundry({
deployments: {
Counter: {
1: '0x314159265dd8dbb310642f98f50c066173c1259b',
5: '0x112234455c3a32fd11230c42e7bccd4a84e02010',
},
},
}),
],
})exclude (optional)
Artifact files to exclude relative to artifacts. Supports glob patterns.
import { defineConfig } from '@wagmi/cli'
import { foundry } from '@wagmi/cli/plugins'
export default defineConfig({
plugins: [
foundry({
exclude: [
// the following patterns are excluded by default
'Common.sol/**',
'Components.sol/**',
'Script.sol/**',
'StdAssertions.sol/**',
'StdError.sol/**',
'StdCheats.sol/**',
'StdMath.sol/**',
'StdJson.sol/**',
'StdStorage.sol/**',
'StdUtils.sol/**',
'Vm.sol/**',
'console.sol/**',
'console2.sol/**',
'test.sol/**',
'**.s.sol/*.json',
'**.t.sol/*.json',
],
}),
],
})forge (optional)
Options for forge.
import { defineConfig } from '@wagmi/cli'
import { foundry } from '@wagmi/cli/plugins'
export default defineConfig({
plugins: [
foundry({
forge: {
clean: true,
build: true,
path: 'path/to/forge',
rebuild: true,
},
}),
],
})cleanRemove build artifacts and cache directories on start up. Defaults tofalse.buildBuild Foundry project before fetching artifacts. Defaults totrue.pathPath toforgeexecutable command. Defaults toforge.rebuildRebuild every time a watched file or directory is changed. Used for setting up--watchmode. Defaults totrue.
include (optional)
Artifact files to include relative to artifacts. Supports glob patterns.
import { defineConfig } from '@wagmi/cli'
import { foundry } from '@wagmi/cli/plugins'
export default defineConfig({
plugins: [
foundry({
include: [
// the following patterns are included by default
'*.json',
],
}),
],
})namePrefix (optional)
Prefix to prepend to artifact names. Useful for preventing name collisions between contracts from other sources.
import { defineConfig } from '@wagmi/cli'
import { foundry } from '@wagmi/cli/plugins'
export default defineConfig({
plugins: [
foundry({
namePrefix: 'HelloFoundry',
}),
],
})project (optional)
Path to Foundry project.
import { defineConfig } from '@wagmi/cli'
import { foundry } from '@wagmi/cli/plugins'
export default defineConfig({
plugins: [
foundry({
project: '../hello_foundry',
}),
],
})