How to deploy upgradeable token

:memo:Details

i made ER20PAUSERMINTER token with basic information, but when i run it over rinkeby it deploy a proxy “bad-unsecure-kekkak22566 security” .

so i made my folder with all contracts in 0.8.3 solidity compilers more than 10 contracts
structured like this

it deploy contract 0x778ad60BC90Aed3FFBbecb59c89D44cA2Ae80e11
** PRINCIPAL ERROR**

reading contract / writing contract it show me
Sorry, there are no available Contract ABI methods to read. Unable to read contract info.

when i go to verify contract on network i take “implementation contract from rinkeby.json”
address: 0x0A4D0203F8788983bA6DcD90ACFD7B5cA57b05de

it verify a separated-proxy contract, but token functions are not here"

i need read contract from proxy how i can do it

:1234: Code to reproduce deploy.js

        // scripts/deploy.js
        async function main() {
            const ZOE = await ethers.getContractFactory("ZOE");
            console.log("Deploying ZOE...");
                                                    //_name,  _symbol _supplyLibre, _FoundersAddress, _AirdropsAddress, MainnetLoans, Devteam, listingfee)
            const zoe = await upgrades.deployProxy(ZOE, ["M22","M22","67000000000000000000000000","0x95b45245424bb1F6cFa71749D05156f530107f43","0xffa65741B12b43B05429F1696d3CE171290D5020","0x0a094510d7979E0dC616c467880AC5641e7A2C94","0xCC54265B4Bc554E17c37ca4f85141Bd4d6413A35","0x458c1C3B891dE1A69638142216E7E3d345dD4C14"], { initializer: 'initialize' });
            console.log("zoe deployed to:", zoe.address);
          }
          
          main()
            .then(() => process.exit(0))
            .catch(error => {
              console.error(error);
              process.exit(1);
            });
1 Like

Hey, please format your code.

I think you can have a check there tutorials:

1 Like

check again, i dont have problems about tutorials, problem is proxy are deploying a independient contract from original contract, when i go to “read” it show a error like }

“Sorry, there are no available Contract ABI methods to read. Unable to read contract info”

1 Like

Okay, maybe you can write like this:

const ZOE = await ethers.getContractFactory("ZOE");
const zoe = await upgrades.deployProxy(ZOE, ["M22","M22","67000000000000000000000000","0x95b45245424bb1F6cFa71749D05156f530107f43","0xffa65741B12b43B05429F1696d3CE171290D5020","0x0a094510d7979E0dC616c467880AC5641e7A2C94","0xCC54265B4Bc554E17c37ca4f85141Bd4d6413A35","0x458c1C3B891dE1A69638142216E7E3d345dD4C14"], { initializer: 'initialize' });
zoeContract = ZOE.attach(zoe.address);
1 Like

the problem is my contract proxy is this " 0x582B4273E3496a69E61788293E55a0bbaAe890d3", but my token contract is this https://rinkeby.etherscan.io/address/0x846942e7Fe73f3Dc23b3d328b5B744c754b14070#code

proxy are not interacting with token, its creating a “contract from scratch”

1 Like

Hi @Guard_Colombia,

In Etherscan you can mark your proxy contract as a proxy. I have done this and now you can read and write using the proxy on Etherscan:

See: https://medium.com/etherscan-blog/and-finally-proxy-contract-support-on-etherscan-693e3da0714b

1 Like