Search
K
Links
Comment on page

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.