-
Notifications
You must be signed in to change notification settings - Fork 42
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
Contracts for Linked Token and Axelar Tokens are Upgradable #792
Conversation
…at should not collide
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's separate this into two PRs please. One for Axelar, one for LinkedToken. It looks like Linked Token is ready, but Axelar Token isn't. Axelar Token isn't all that important because it has a recovery path and is stateless/disposable.
However, Linked Token is stateful, so we need to land this now, and the Axelar Token can wait.
not quite! I am still working on the upgrade script succeeding. Then I will definitely open a PR for that code |
Am I right in thinking that this PR will be rescoped to Axelar alone and the Linked Token is covered by #837? Please adjust title and description if so 🙏 |
Make axelar-token and linked-token contracts upgradable
Using OpenZeppelin's framework
Upgradable means:
Initializable
if it is the actual contract being deployed and inherit fromonlyInitializing
if it is a base classaxelar-token:
IpcTokenHandler.sol
Initializable
InterchainTokenExecutable.sol
IpcTokenSender.sol
initialize()
Initializable
sdk/IpcContract.sol
IpcExchange
toinitialize()
onlyInitializing
ownable
and reentry guard imports and initialize themLinkedToken:
LinkedTokenController
make upgradableLinkedToken.sol
make upgradableLinkedTokenReplica.sol
make upgradableLinkedTokenReplica.sol
inherits from Upgradable ERC20Closes ENG-739