For the complete documentation index, see llms.txt. This page is also available as Markdown.

DelegationWalletFactory

The DelegationWalletFactory contract is responsible for deploying and configuring new instances of the Delegation Wallet components. It acts as the entry point for creating a new wallet and ensures all necessary contracts are correctly initialized.

Key Functions:

function deploy(address _delegationController) 
external 
returns (
    address, 
    address, 
    address, 
    address
)

Deploys a new Delegation Wallet with the msg.sender as the owner.

Parameters:

_delegationController (address): The address of the delegation controller.

Returns:

The addresses of the deployed GnosisSafe, DelegationOwner, ProtocolOwner, and GuardOwner contracts.


function deployFor(address _owner, address _delegationController) 
public 
returns (
    address, 
    address, 
    address, 
    address
    )

Deploys a new Delegation Wallet for a specified owner.

Parameters:

_owner (address): The address of the wallet owner.

_delegationController (address): The address of the delegation controller.

Returns:

The addresses of the deployed GnosisSafe, DelegationOwner, ProtocolOwner, and GuardOwner contracts.


Interactions:

  • Interacts with the GnosisSafeProxyFactory to deploy a new GnosisSafe contract.

  • Interacts with the beacon proxies to deploy new instances of the GuardOwner, DelegationOwner, and ProtocolOwner contracts.

  • Registers the deployed wallet components in the DelegationWalletRegistry.

Last updated