Creates an instance of BoostRegistry.
Static ReadonlyaddressesA static property representing a map of stringified chain ID's to the address of the deployed implementation on chain
ReadonlyabiProtected_payloadThe deployable payload used either for contract construction or initialization
Protected_configProtected_addressThe internally managed address for this contract
Protected Optional_accountIf it exists, Viem Local Account, if in a Node environment
A getter that will return Boost registry's static addresses by numerical chain ID
Returns the attached account, if it exists
A getter returning this contract's deployed address, if it exists.
A getter returning this contract's Wagmi configuration.
Register a new base implementation of a given type
The base type for the implementation
A name for the implementation (must be unique within the given type)
The address of the implementation contract
Optionalparams: Partial<Omit<UnionCompute<UnionStrictOmit<SimulateContractParameters<Abi, string, readonly unknown[], Chain, Chain, (`0x${string}` | Account)>, "chain">> & ChainIdParameter<Config, number> & ConnectorParameter, Optional params to provide the underlying Viem contract call
Optionalparams: Partial<Omit<UnionCompute<UnionStrictOmit<SimulateContractParameters<Abi, string, readonly unknown[], Chain, Chain, (`0x${string}` | Account)>, "chain">> & ChainIdParameter<Config, number> & ConnectorParameter, Initialize a new instance of a registered base implementation, returning the provided target with a new address set on it.
This method is the same as clone, but serves to make its function more obvious as to why you'd need to use it.
The display name for the clone
An instance of a target contract to clone and initialize
Optionalparams: Partial<Omit<UnionCompute<UnionStrictOmit<SimulateContractParameters<Abi, string, readonly unknown[], Chain, Chain, (`0x${string}` | Account)>, "chain">> & ChainIdParameter<Config, number> & ConnectorParameter, Initialize a new instance of a registered base implementation, returning a transaction hash, resulting address from simulated transaction, and the given target bound to the resulting address.
This method is the same as deployCloneRaw, but serves to make its function more obvious as to why you'd need to use it.
The display name for the clone
An instance of a target contract to clone and initialize
Optionalparams: Partial<Omit<UnionCompute<UnionStrictOmit<SimulateContractParameters<Abi, string, readonly unknown[], Chain, Chain, (`0x${string}` | Account)>, "chain">> & ChainIdParameter<Config, number> & ConnectorParameter, Deploy a new instance of a registered base implementation, returning the provided target with a new address set on it.
The display name for the clone
An instance of a target contract to clone and initialize
Optionalparams: Partial<Omit<UnionCompute<UnionStrictOmit<SimulateContractParameters<Abi, string, readonly unknown[], Chain, Chain, (`0x${string}` | Account)>, "chain">> & ChainIdParameter<Config, number> & ConnectorParameter, Optionalparams: Partial<Omit<UnionCompute<UnionStrictOmit<SimulateContractParameters<Abi, string, readonly unknown[], Chain, Chain, (`0x${string}` | Account)>, "chain">> & ChainIdParameter<Config, number> & ConnectorParameter, biome-ignore lint/suspicious/noExplicitAny: any deployable target will suffice
Optionalparams: Partial<Omit<UnionCompute<UnionStrictOmit<SimulateContractParameters<Abi, string, readonly unknown[], Chain, Chain, (`0x${string}` | Account)>, "chain">> & ChainIdParameter<Config, number> & ConnectorParameter, Get the address of a registered base implementation. This function will revert if the implementation is not registered
The unique identifier for the implementation (see {getIdentifier})
Optionalparams: Partial<Omit<ReadContractParameters, Get the address of a deployed clone by its identifier
The unique identifier for the deployed clone (see {getCloneIdentifier})
Optionalparams: Partial<Omit<ReadContractParameters, Get the list of identifiers of deployed clones for a given deployer
The address of the deployer
Optionalparams: Partial<Omit<ReadContractParameters, Build the identifier for a clone of a base implementation
The base type for the implementation
The address of the base implementation
The address of the deployer
The display name of the clone
Optionalparams: Partial<Omit<ReadContractParameters, Build the identifier for a base implementation
The base type for the implementation
The name of the implementation
Optionalparams: Partial<Omit<ReadContractParameters, Base parameter constructor, should return a partial viem.deployContract parameters shape including abi, bytecode, and arguments, if any.
Expected to be overridden by protocol contracts.
Optional_payload: never[]Optional_options: DeployableOptionsAttaches a new payload for use with this deployable's initialization
High level deployment function to deploy and await the contract address.
This is mainly a convenience method to easily deploy a contract, but will not initialize a Cloneable,
which makes it useless for Boost components.
Obviously you can ignore the TS warnings and use this, but you shouldn't in most all cases.
Optional_payload: never[]Optional_options: DeployableOptionsOptionalwaitParams: Omit<WaitForTransactionReceiptParameters, "hash">The lower level contract deployment function that does not await for the transaction receipt.
This is mainly a convenience method to easily deploy a contract, but will not initialize a Cloneable,
which makes it useless for Boost components.
Obviously you can ignore the TS warnings and use this, but you shouldn't in most all cases.
Optional_payload: never[]Optional_options: DeployableOptionsWill set this contract's address and return the instance for chaining. Does not verify that provided address is valid.
Will set this contract's internal Wagmi Configuration and return the instance for chaining.
Utility function to validate the existence of an address on this Contract.
ContractAddressRequiredError if no address exists on this Contract instance
A typed wrapper for (viem.getLogs)[https://viem.sh/docs/actions/public/getLogs#getlogs].
Accepts eventName and eventNames as optional parameters to narrow the returned log types.
Optionalparams: Omit<GetLogsParams<readonly [{ const logs = contract.getLogs({ eventName: 'EventName' })
const logs = contract.getLogs({ eventNames: ['EventName'] })
@public
@async
@template {ContractEvent} event
@template {ExtractAbiEvent<
ContractAbi,
event
>} [abiEvent=ExtractAbiEvent<ContractAbi, event>]
@param {?Omit<
GetLogsParams<ContractAbi, event, abiEvent, abiEvent[]>,
'event' | 'events'
> & {
eventName?: event;
eventNames?: event[];
}} [params]
@returns {Promise<GetLogsReturnType<abiEvent, abiEvent
A typed wrapper for wagmi.watchContractEvent
Optionalparams: Partial<Omit<UnionCompute<WatchContractEventParameters<readonly [{ ProtectedoptionallyProtectedvalidateProtectedInternal method used to ensure that a Wagmi configuration and payload are always present when deploying.
Optional_payload: POptional_options: DeployableOptionsProtectedawaitProtectedOptionalwaitParams: Omit<WaitForTransactionReceiptParameters, "hash">
Constructs a new Boost Registry. A registry for base implementations and cloned instances. This contract is used to register base implementations and deploy new instances of those implementations for use within the Boost protocol.
See
BoostRegistryConfig
Export
BoostRegistry