LogoLogo
  • Introduction
  • Parallel Protocol
    • PRL (Parallel Governance Token)
      • Issuance
      • Bridging Module
        • Specifications
        • Implementation
      • Tokenomics
        • Epoch Concept
        • Staking Mechanisms
        • ParaBoost
        • Fee Distribution
      • Governance
      • MIMO to PRL Migration
    • PAR (€ stablecoin)
      • How does PAR work?
      • Where can I get PAR ?
    • paUSD ($ stablecoin)
      • How does paUSD work?
      • Where can I get paUSD ?
    • Classic Vaults
      • Depositing
      • Borrowing
      • Fees
        • Fees Generation
      • Withdrawing
      • Repaying
      • Liquidating
    • Bridging Module
      • LayerZero Infrastructure
      • Specifications
      • Implementation
        • PAR
        • paUSD
    • Super Vaults (SV)
      • Leveraging
      • Rebalancing
      • EmptyVault
      • Automated Rebalance
      • Managed Rebalance
    • Inception Vaults (IV)
      • Borrowing
      • Liquidating
  • DAO & Governance
    • sPRL and Voting Power
    • Governance process
    • Proposal Framework
      • Parallel Integration Request (PIR)
      • Parallel Governance Proposal (PGP)
      • Parallel Improvement Protocol (PIP)
    • DAO Multisigs
      • DAO Multisigs Elections
        • Election 1
        • Election 2
        • Election 3
        • Election 4
        • Election 5
        • Election 6
      • Multisigs Transactions History
        • May 2022 Multisig History
        • June 2022 Multisig History
        • July 2022 Multisig History
        • August 2022 Multisig History
        • September 2022 Multisig History
        • October 2022 Multisig History
        • November 2022 Multisig History
        • December 2022 Multisig History
        • January 2023 Multisig History
        • February 2023 Multisig History
        • March 2023 Multisig History
        • April 2023 Multisig History
        • May 2023 Multisig History
        • June 2023 Multisig History
        • July 2023 Multisig History
        • August 2023 Multisig History
        • September 2023 Multisig History
        • October 2023 Multisig History
        • November 2023 Multisig History
        • December 2023 Multisig History
        • January 2024 Multisig History
        • February 2024 Multisig History
        • March 2024 Multisig History
        • April 2024 Multisig History
        • May 2024 Multisig History
    • Parallel Emergency Guardians
    • DAO Treasury
      • DAO Treasury Reports
  • Risk Assessments
    • Parallel's Risk framework
    • Methodology
    • Risk per Assets
      • PAR
        • Ethereum Assets
        • Polygon Assets
        • Fantom Assets
      • paUSD
        • Ethereum Assets
        • Polygon Assets
    • Risk parameters
      • PAR
        • Ethereum Risk parameters
        • Polygon Risk parameters
        • Fantom Risk parameters
      • paUSD
        • Ethereum Risk parameters
        • Polygon Risk parameters
    • Insurance Fund
  • Developers
    • Developer Guide
    • Parallel Governance Token (PRL)
    • Tokenomics
      • Key Operations Flows
      • Contracts
    • Classic Vaults
      • Architecture
      • VaultsCore
      • Opening a vault
      • Borrowing and minting PAR/paUSD
    • Bridging Module
      • Architecture
      • Sample Use Cases
    • Super Vault (SV)
      • Proxy Design
        • MIMOProxy
        • MIMOProxyGuard
        • MIMOProxyFactory
      • Action Contracts
        • MIMOEmptyVault
        • MIMOLeverage
        • MIMORebalance
        • MIMOAutoRebalance
        • MIMOManagedRebalance
        • MIMOProxyActions
        • MIMOVaultActions
      • Leverage Max Amount Derivation
    • Inception Vault (IV)
      • IV Architecture
      • InceptionVaultFactory
      • AdminInceptionVault
      • InceptionVaultCore
      • InceptionVaultsDataProvider
      • InceptionVaultPriceFeed
    • Contract Addresses
      • Parallel V3
        • Core Protocol
        • Parallel Governance Token
      • Parallel V2
        • PAR
          • Ethereum
          • Polygon PoS
          • Fantom
        • paUSD
          • Ethereum
          • Polygon PoS
      • Super Vaults (SV)
        • PAR
          • Ethereum
          • Polygon PoS
        • paUSD
          • Ethereum
          • Polygon PoS
      • Inception Vaults (IV)
        • Kovan
  • Resources
    • User Guides
      • Setting up
      • Managing Transactions on EVM blockchains
      • Troubleshooting
      • Mint PAR
      • Liquidity Providing
        • Provide PAR-USDC liquidity on Uniswap V3 (Ethereum)
        • Provide PAR-jEUR liquidity on Balancer (Polygon PoS)
        • Impermanent loss
      • How to Migrate to PRL?
      • How to Bridge Parallel Tokens?
      • How to Stake PRL?
    • Security & Audits
    • Links
    • Glossary
    • Brand Kit
Powered by GitBook
On this page
  • Write Methods :
  • deploy()
  • transferOwnership(address proxy, address newOwner)
  • claimOwnership(address proxy, bool clear)
  • clearPermissions(address proxy)
  • setMinGas(address proxy, uint256 minGas)
  • View Methods
  • isProxy(address proxy)
  • getProxyState(address proxy)
  • getCurrentProxy(address owner)

Was this helpful?

  1. Developers
  2. Super Vault (SV)
  3. Proxy Design

MIMOProxyFactory

The MIMOProxyFactory handles :

  • MIMOProxys' deployments

  • MIMOProxys' ownerhip transfers

  • MIMOProxys' permission clearing

Write Methods :

deploy()

Deploys a new MIMOProxy and MIMOProxy guard for the caller. The caller must not owner any other MIMOProxy

transferOwnership(address proxy, address newOwner)

Initiates the ownership transfer process to a new owner and must be followed by a claimOwnership call by the new owner to complete the transfer. Sets the newOwner address as a pendingOwner of the transferred MIMOProxy.

Requirements :

  • Must be called by the transferred MIMOProxy owner

  • Cannot transfer ownership to address(0)

  • New owner must not own any other MIMOProxy

Param Name
Type
Description

proxy

address

Address of the MIMOProxy to transfer

newOwner

address

Address of the new owner

claimOwnership(address proxy, bool clear)

Completes the ownership transfer process.

Requirements :

  • Must be called by the pendingOwner of proxy

  • Caller must not own any other MIMOProxy

Param Name
Type
Description

proxy

address

Address of the MIMOProxy to claim

clear

bool

Clear existing proxy permissions if true and maintain them if false

clearPermissions(address proxy)

Deploys a new MIMOProxyGuard for the targeted proxy therefore clearing all existing permissions.

Requirements :

  • Must be called by proxy owner

Param Name
Type
Description

proxy

address

Address of the MIMOProxy for which to clear permissions

setMinGas(address proxy, uint256 minGas)

Sets a new minGas value for the targeted proxy.

Requirements :

  • Must be called by proxy owner

Param Name
Type
Descripton

proxy

address

Address of the MIMOProxy to update

minGas

uint256

Gas to reserve for running the remainder of the execute function after the delegatecall in the MIMOProxy. Prevents the proxy from becoming unusable if EVM opcode gas costs change in the future.

View Methods

isProxy(address proxy)

Checks if an address is a valid MIMOProxy.

Call Params

Name
Type
Description

proxy

address

Address of the MIMOProxy to check

Return Values

Name
Type
Description

result

bool

true if proxy has been deployed and false if not.

getProxyState(address proxy)

Returns the targeted proxy state.

Call Params

Name
Type
Description

proxy

address

Address of the MIMOProxy to fetch state from

Return Values

Name
Type
Description

proxyState

struct

ProxyState :

  • address owner

  • IMIMOProxyGuard proxyGuard

  • uint256 minGas

getCurrentProxy(address owner)

Returns the MIMOProxy address for a specific owner.

Call Params

Name
Type
Description

owner

address

The address of the owner.

Return Values

Name
Type
Description

proxy

IMIMOProxy

The MIMOProxy of the owner.

getPendingOwner(address proxy)

Returns the pending owner of a specific proxy.

Call Params

Name
Type
Description

proxy

address

Address of the MIMOProxy

Return Values

Name
Type
Description

pendingOwner

address

Pending owner who has yet to claim the ownership of the transferred MIMOProxy

getProxy()

Returns the address of the MIMOProxy associated with the MIMOProxyGuard.

proxyFactory()

Returns the proxyFactory address.

PreviousMIMOProxyGuardNextAction Contracts

Last updated 1 year ago

Was this helpful?