Comment on page
ArrakisV2Factory
Factory contract for deploying ArrakisV2 vault instances
name | type | description |
---|---|---|
arrakisV2Beacon | address | Address that stores the implementation of ArrakisV2 |
name | type | description |
---|---|---|
_vaults | AddressSet | Every deployed ArrakisV2 vault instance |
name | type | description |
---|---|---|
feeTiers | uint24[] | Uniswap V3 feeTiers to whitelist for token pair |
token0 | address | ERC20 token, MUST be lower hex address than token1 |
token1 | address | ERC20 token, MUST be higher hex address than token0 |
owner | address | Initial owner of ArrakisV2 instance |
init0 | uint256 | Initial token0 ratio (for first mint) |
init1 | uint256 | Initial token1 ratio (for first mint) |
manager | address | Initial manager of ArrakisV2 instance |
routers | address[] | Initial swap routers whitelisted |
deploy an ArrakisV2 vault instance
parameters :
name | type | description |
---|---|---|
params | InitializePayload | Struct containing vault initialization parameters |
isBeacon | bool | Flag whether ArrakisV2 instance is BeaconProxy or TransparentProxy ( should be true except in very rare custom cases ) |
returns :
name | type | description |
---|---|---|
vault | address | Address of deployed ArrakisV2 instance |
checks :
- check token addresses are not 0
- check token addresses are not the same
events :
VaultCreated(address indexed manager, address indexed vault)
upgrade standalone TransparentProxy vaults to the latest Beacon implementation
parameters :
name | type | description |
---|---|---|
vaults | address[] | TransparentProxy vaults to upgrade to new beacon implementation individually |
modifiers :
- only owner
upgrade standalone TransparentProxy vaults to the latest Beacon implementation and subsequently make a call
parameters :
name | type | description |
---|---|---|
vaults | address[] | TransparentProxy vaults to upgrade to new beacon implementation individually |
datas | bytes[] | Calldata per vault, to call immediately after upgrading each vault |
modifiers :
- only owner
harden standalone TransparentProxy vaults by burning upgradability powers
parameters :
name | type | description |
---|---|---|
vaults | address[] | TransparentProxy vaults to burn upgradeability of |
modifiers :
- only owner
inspect the proxyAdmin of an ArrakisV2 instance
name | type | description |
---|---|---|
proxy | address | Proxy address to get the admin() of |
name | type | description |
---|---|---|
admin | address | Address of proxy admin |
inspect the underlying implementation of an ArrakisV2 instance
name | type | description |
---|---|---|
proxy | address | Proxy address to get the implementation() of |
returns :
name | type | description |
---|---|---|
implementation | address | Address of proxy underlying implementation |
- Ownable (transferOwnership)
Last modified 10mo ago