Say that we've deployed the same token contract code to some blockchains with each instance having the same interchainTokenId and managed by a Token Manager deployed on each blockchain using deployTokenManager.
Assume that the contracts are non-upgradeable.
Then say we soon realize that a particular blockchain needs some code changed e.g. for it to work properly on mainnet.
It'd be convenient if it was possible to deploy a new contract for the token and have the Token Manager on that blockchain handle this new token contract instance instead (which would have a different address, but same interchainTokenId). But it seems in the code that the token address is permanently set on deployment of the Token Manager.
When running deployTokenManager again with the new token address encoded in params it tries to deploy the Token Manager contract to the same address, so it fails.
Say that we've deployed the same token contract code to some blockchains with each instance having the same
interchainTokenId
and managed by a Token Manager deployed on each blockchain usingdeployTokenManager
.Assume that the contracts are non-upgradeable.
Then say we soon realize that a particular blockchain needs some code changed e.g. for it to work properly on mainnet.
It'd be convenient if it was possible to deploy a new contract for the token and have the Token Manager on that blockchain handle this new token contract instance instead (which would have a different address, but same
interchainTokenId
). But it seems in the code that the token address is permanently set on deployment of the Token Manager.When running
deployTokenManager
again with the new token address encoded inparams
it tries to deploy the Token Manager contract to the same address, so it fails.So what are possible solutions?