✈
Deployment
Initial deployment of the MetaStreet v2 Pool contracts is proxied to allow for upgrades and bug fixes. However, deployment will ultimately migrate to immutable Pools, which is already supported in the codebase.
The
PoolFactory
contract is deployed as an ERC1967 proxy, with a permissioned upgradeToAndCall()
API to facilitate upgrades.The Pool is deployed as an ERC1967
BeaconProxy
.Proxied pools can be created with the
PoolFactory
createProxied()
function, which accepts a Pool implementation beacon and initialization parameters.Immutable pools can be created with the
PoolFactory
create()
function, which accepts a Pool implementation contract and initialization parameters. This function creates an ERC1167 minimal clone proxy.As the Pool contract stabilizes, deployment will ultimately switch from
createProxied()
to create()
and use versioned Pool implementations for newly created Pools.This contract can be made immutable with the removal of the currently privileged collateral wrapper management.
This contract can also be deployed immutably.
Last modified 2mo ago