Boost components aren’t instantiated traditionally, with parameters supplied to the contract’s constructor on deployment. Instead, to ensure each Boost component is compliant with a registered base implementation, and save on gas, components are either cloned from a deployed base contract and initialized ahead of time through registry before being referenced in Boost creation, or, for some components, initialized at time of Boost creation.Documentation Index
Fetch the complete documentation index at: https://docs.boost.xyz/llms.txt
Use this file to discover all available pages before exploring further.
What is a base implementation?
A base implementation is any deployed contract registered with the registry, thus valid for use with Boost creation, that satisfies the interfaces for eitherAction, AllowList, Budget, Incentive or Validator. For example, ManagedBudget is a base implementation that satisfies the Budget interface.
API
initialize
Deploys and initializes a new instance of a registered component’s base implementation and returns the component with its address attached.
Clones are uniquely identified by hashing the component’s type, base address, your address, and name. For example, you cannot initialize two
ManagedBudget’s with the same displayNameParameters
A display name for the new instance. Must be unique per account and base implementation.
An instance of the component you’d like to initialize.
Optional parameters to pass to the underlying
writeContract method. Checkout wagmi’s documentation for more information. address, args, functionName, abi are handled for you under the hood.Returns
Returns the target parameter with its deployed address attached.You can then reuse it during Boost creation.