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 Pool is deployed as an ERC1967
Immutable pools can be created with the
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
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.