Contract IDoubleProxy

  • Path: contracts/IDoubleProxy.sol
  • Version: 1
  • Title: Double Proxy Interface

Double Proxy is the easiest way for side/external Contracts to locate and query the DFO. As the main Core Contract of a DFO is the Proxy, it also can be updated by Proposals. So, directly link the Proxy to external Contracts can be really a problem. To avoid this, it is better to link external contracts with the DoubleProxy. DoubleProxy is the Proxy of the Proxy, and is a Delegate that keeps track of the most recent Proxy address and all the other previous Proxies. Because it has a very lightweight and simple structure and logic, it does not need of changes, so it can be used as a secure anchor.

Methods

init(address[],address)

Initializer logic used during the constructor call

Params

  • currentProxy: Address of the current Proxy
  • proxies: Array of address of the old proxies, only used in legacy scenarios. Can be left empty.

isProxy(address)

Check if the address is or has been a Proxy

proxies()

Retrieve all the proxies

proxies(uint256,uint256)

Retrieve a portion of the proxies

Params

  • offset: End Position
  • start: Start Position

proxiesLength()

GET the number of proxies

proxy()

GET the current Proxy

setProxy()

Method callable by the current Proxy only. It is used when the Proxy or this delegate changes.