Type object
File match cannonfile.json *.cannonfile.json cannonfile.yaml *.cannonfile.yaml cannonfile.toml *.cannonfile.toml
Schema URL https://catalog.lintel.tools/schemas/schemastore/cannon-toml/latest.json
Source https://raw.githubusercontent.com/usecannon/cannon/main/packages/lsp/src/schema.json

Validate with Lintel

npx @lintel/lintel check
Type: object

Properties

name string required

Name of the package

minLength=3
version string required

Version of the package. Publishes as the "latest" version by default in addition to the version specified here.

preset string

Preset of the package (Presets are useful for distinguishing multiple deployments of the same protocol on the same chain.) Defaults to "main".

include string[]

List of additional TOML files to include and merge into this cannonfile. Files are merged in order, with later files overriding earlier ones.

privateSourceCode boolean

Turns off inclusion of source code in packages. When set to true, Cannon cannot verify contracts on Etherscan. Defaults to false.

description string

Description for the package

keywords string[]

Keywords for search indexing

deployers string[]

Any deployers that could publish this package. Will be used for automatic version management.

setting Record<string, object>

⚠ Deprecated in favor of var. A setting is a variable that can be set (or overriden using the CLI) when building a Cannonfile. It is accessible elsewhere in the file a property of the settings object. For example, [setting.sampleSetting] can be referenced with <%= settings.sampleSetting %>

pull Record<string, object>

Import a package from the registry. This will make the output of that deployment, such as contract addresses, available to other operations in your Cannonfile. Imported packages must include deployments with chain ID that matches the chain ID of the network you are deploying to.

import Record<string, object>

⚠ Deprecated in favor of pull. Import a package from the registry. This will make the output of that deployment, such as contract addresses, available to other operations in your Cannonfile. Imported packages must include deployments with chain ID that matches the chain ID of the network you are deploying to.

clone Record<string, object>

Deploy a new instance of a package from the registry. Packages may only be provisioned if they include a local, Cannon deployment (Chain ID: 13370).

provision Record<string, object>

⚠ Deprecated in favor of clone. Deploy a new instance of a package from the registry. Packages may only be provisioned if they include a local, Cannon deployment (Chain ID: 13370).

deploy Record<string, object>

Deploy a contract.

contract Record<string, object>

⚠ Deprecated in favor of deploy. Deploy a contract.

invoke Record<string, object>

Call a function.

router Record<string, object>

Generate a contract that proxies calls to multiple contracts using the synthetix router codegen.

diamond Record<string, object>

Generate a upgradable contract that proxies calls to multiple contracts using a ERC2535 Diamond standard.

var Record<string, object>

Apply a setting or intermediate value.