Creates an instance of BoostRegistry.
Static
Readonly
addressesA static property representing a map of stringified chain ID's to the address of the deployed implementation on chain
Readonly
abiProtected
_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
A getter returning this contract's deployed address, if it exists.
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
Optional
params: Partial<Omit<WriteContractParameters<readonly [{ Optional params to provide the underlying Viem contract call
Optional
params: Partial<Omit<WriteContractParameters<readonly [{ 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
Optional
params: Partial<Omit<WriteContractParameters<readonly [{ 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
Optional
params: Partial<Omit<WriteContractParameters<readonly [{ 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
Optional
params: Partial<Omit<WriteContractParameters<readonly [{ Optional
params: Partial<Omit<WriteContractParameters<readonly [{ biome-ignore lint/suspicious/noExplicitAny: any deployable target will suffice
Optional
params: Partial<Omit<WriteContractParameters<readonly [{ 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})
Optional
params: Partial<Omit<ReadContractParameters<readonly [{ Get the address of a deployed clone by its identifier
The unique identifier for the deployed clone (see {getCloneIdentifier})
Optional
params: Partial<Omit<ReadContractParameters<readonly [{ Get the list of identifiers of deployed clones for a given deployer
The address of the deployer
Optional
params: Partial<Omit<ReadContractParameters<readonly [{ 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
Optional
params: Partial<Omit<ReadContractParameters<readonly [{ Build the identifier for a base implementation
The base type for the implementation
The name of the implementation
Optional
params: Partial<Omit<ReadContractParameters<readonly [{ 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: DeployableOptionsOptional
waitParams: 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.
Optional
params: 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
Optional
params: Partial<Omit<UnionCompute<WatchContractEventParameters<readonly [{ Protected
optionallyProtected
validateProtected
Internal method used to ensure that a Wagmi configuration and payload are always present when deploying.
Optional
_payload: POptional
_options: DeployableOptionsProtected
awaitProtected
Optional
waitParams: 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