You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Create a upgrade-able contract factory that deploys non-upgrade-able EIP-1167 thin proxies with deterministic addressing, and its associated logic. This contract should also have a toggle for public deployment (Allowing the public to deploy pools) but should default to onlyFactory (alicenet factory) unless toggle is tripped.
Only the alicenet factory is allowed to deploy pool logic, and each ERC type, can have multiple pool versions for migration styled upgrade capability, ie upgrading ERC20 pool means deploying a new thin proxy pointing to new version logic address and migrating tokens on previous version pool to new.
for deterministic address pools, the thin proxy must be deployed with a metamorphic contract, and the salt used must uniquely describe the erc token pool and logic version ie: salt = keccak256(
bytes.concat(
keccak256(abi.encodePacked(tokenContractAddr_)),
keccak256(abi.encodePacked(tokenType_)),
keccak256(abi.encodePacked(chainID_)),
keccak256(abi.encodePacked(version_))
)
);
Acceptance Criteria:
deploys bridge pools as thin proxies at deterministic locations based on the details of the ERC token being bridged, supports multiple pool deployments and allows factory to black list versions of previously deployed pool logic.
must includes unit tests and coverage equal to or above 90%
The text was updated successfully, but these errors were encountered:
Create a upgrade-able contract factory that deploys non-upgrade-able EIP-1167 thin proxies with deterministic addressing, and its associated logic. This contract should also have a toggle for public deployment (Allowing the public to deploy pools) but should default to onlyFactory (alicenet factory) unless toggle is tripped.
Only the alicenet factory is allowed to deploy pool logic, and each ERC type, can have multiple pool versions for migration styled upgrade capability, ie upgrading ERC20 pool means deploying a new thin proxy pointing to new version logic address and migrating tokens on previous version pool to new.
for deterministic address pools, the thin proxy must be deployed with a metamorphic contract, and the salt used must uniquely describe the erc token pool and logic version ie: salt = keccak256(
bytes.concat(
keccak256(abi.encodePacked(tokenContractAddr_)),
keccak256(abi.encodePacked(tokenType_)),
keccak256(abi.encodePacked(chainID_)),
keccak256(abi.encodePacked(version_))
)
);
Acceptance Criteria:
deploys bridge pools as thin proxies at deterministic locations based on the details of the ERC token being bridged, supports multiple pool deployments and allows factory to black list versions of previously deployed pool logic.
must includes unit tests and coverage equal to or above 90%
The text was updated successfully, but these errors were encountered: