I have a token governance token:
import "@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol";
import "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";
import "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";
GovernanceToken is Initializable, ERC20Upgradeable, UUPSUpgradeable {
//...
}
I've deployed an upgradable ERC20 Token like so:
const { getNamedAccounts, deployments, network } = hre
const { deploy, save, log, get } = deployments
const { deployer } = await getNamedAccounts()
log("----------------------------------------------------")
log("Deploying GovernanceToken and waiting for confirmations...")
const governanceTokenContractFactory = await ethers.getContractFactory(GOVERNANCE_TOKEN_NAME);
console.log(`Deploying ${GOVERNANCE_TOKEN_NAME}...`);
const deployedProxy = await upgrades.deployProxy(governanceTokenContractFactory, [], {
initializer: "initialize",
kind: "uups",
});
await deployedProxy.deployed();
console.log(`${GOVERNANCE_TOKEN_NAME} proxy deployed to: ${deployedProxy.address}`);
const governanceToken = await governanceTokenContractFactory.attach(
deployedProxy.address
);
Now that I have the token deployed, lets say I have another ERC20 Token Id like to upgrade to with the address 0xDEADB33f0000... what are the steps to do this from a wallet, e.g no enviroment no hardhat