Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bridge Pool Deployment Via Factory #424

Closed
ghost opened this issue Oct 26, 2022 · 0 comments · Fixed by #280
Closed

Bridge Pool Deployment Via Factory #424

ghost opened this issue Oct 26, 2022 · 0 comments · Fixed by #280
Assignees
Labels
Bridge token bridge contracts deployment solidity t/feature New feature or request

Comments

@ghost
Copy link

ghost commented Oct 26, 2022

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%

@ghost ghost added t/feature New feature or request solidity deployment labels Oct 26, 2022
@ghost ghost assigned gusjavaz Oct 26, 2022
@z-j-lin z-j-lin linked a pull request Nov 8, 2022 that will close this issue
@z-j-lin z-j-lin added the Bridge token bridge contracts label Nov 8, 2022
@z-j-lin z-j-lin self-assigned this Nov 8, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bridge token bridge contracts deployment solidity t/feature New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants