OrchestratorFactory_v1.sol
Last updated
Last updated
Inherits: , , ,
Author: Inverter Network
OrchestratorFactory_v1 facilitates the deployment of s and their associated modules for the Inverter Network, ensuring seamless creation and configuration of various components in a single transaction.
Utilizes for meta-transaction capabilities and for interface detection. s are deployed through EIP-1167 minimal proxies for efficiency. Integrates with the module factory to instantiate necessary modules with custom configurations, supporting complex setup with interdependencies among modules.
Returns the address.
Returns the implementation address.
Maps the id
to the s.
Starts counting from 1.
Maps a users address to a nonce. Used for the create2-based deployment.
Storage gap for future upgrades.
Modifier to guarantee that the given id is valid.
The factories initializer function.
Parameters
governor_
address
beacon_
IInverterBeacon_v1
moduleFactory_
address
Parameters
workflowConfig
WorkflowConfig
The workflow's config data.
fundingManagerConfig
ModuleConfig
authorizerConfig
ModuleConfig
paymentProcessorConfig
ModuleConfig
moduleConfigs
ModuleConfig[]
Variable length set of optional module's config data.
Returns
<none>
IOrchestrator_v1
CreatedOrchestrator Returns the created orchestrator instance
Parameters
id
uint256
The requested orchestrator's id.
Returns
<none>
address
Returns
<none>
uint256
Creates the modules based on their `moduleConfigs`.
Parameters
moduleConfigs
ModuleConfig[]
The config data of the modules that will be created with this function call.
orchestratorProxy
address
workflowConfig
WorkflowConfig
The workflow's config data.
Internal function to initialize the modules.
Parameters
modules
address[]
The modules to initialize.
moduleConfigs
ModuleConfig[]
The config data of the modules that will be initialized.
proxy
address
Internal function to generate salt for the create2-based deployment flow. This salt is the hash of (msgSender, nonce), where the nonce is an increasing number for each user.
Needs to be overridden, because they are imported via the Ownable2Step as well.
Needs to be overridden, because they are imported via the Ownable2Step as well.
The counter of the current id
.
See .
The address of the contract.
The address of the containing the implementation.
The address of the contract.
Creates a new .
The config data for the orchestrator's instance.
The config data for the 's instance.
The config data for the orchestrator's instance.
Returns the address that corresponds to the given id.
orchestratorAddress The address of the corresponding .
Returns the counter of the current id.
id The id of the next created .
The address of the Proxy that will be linked to the modules.
The address of the Proxy that will be linked to the modules.