👩‍💻
Unlockd Developers Docs
Unlockd for Devs V2
Unlockd for Devs V2
  • Introduction
  • ⚙️Core
    • Unlockd
    • BaseCore
    • BaseCoreModule
  • ⚙️Modules
    • Installer
    • Manager
    • Action
    • SellNow
    • BuyNow
    • Market
    • Auction
  • 🆕Vault and Tokens
    • UTokenVault
    • BaseToken
    • ScaledToken
    • WethGateway
  • 🆕Adapters and Strategies
    • ReservoirAdapter
    • MaxApyStrategy
  • 🆕Storage
    • CoreStorage
    • UVaultStorage
  • 📔Deployed Contracts
    • Ethereum Sepolia
    • Ethereum Mainnet
  • 📫Unlockd Account (Wallet)
    • Introduction
    • Architecture
    • DelegationWalletFactory
    • DelegationWalletRegistry
    • DelegationOwner
    • GuardOwner
    • ProtocolOwner
    • TransactionGuard
    • DelegationRecipes
    • AllowedControllers
    • Deployed Contracts
      • Ethereum Sepolia (Testnet)
  • 🧰SDK
    • Typescript Package
    • SDK Docs
  • 🤝DEVELOPERS HELP
    • Best Practices
    • Security and Risk Management
    • Github
    • Bug Bounty - ACTIVE
Powered by GitBook
On this page
  • Key Functions:
  • Parameters:
  • Returns:
  • Parameters:
  • Returns:
  • Interactions:
  1. Unlockd Account (Wallet)

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.

PreviousArchitectureNextDelegationWalletRegistry

Last updated 1 year ago

📫