def deploy_proxy_uninitialized(contractName, logicAbi, logic, proxyAdmin,
                               deployer: Account):
    abi = artifacts.open_zeppelin["AdminUpgradeabilityProxy"]["abi"]
    bytecode = artifacts.open_zeppelin["AdminUpgradeabilityProxy"]["bytecode"]

    AdminUpgradeabilityProxy = web3.eth.contract(abi=abi, bytecode=bytecode)

    deploy_txn = AdminUpgradeabilityProxy.constructor(
        logic, proxyAdmin, web3.toBytes(hexstr="0x")).buildTransaction()

    tx = deployer.transfer(data=deploy_txn["data"])

    return Contract.from_abi(contractName, tx.contract_address, logicAbi)
示例#2
0
def erc_1820_registry(owner: Account, web3: Web3) -> None:
    owner.transfer(ERC_1820_DEPLOYMENT_ADDRESS, "0.08 ether")
    web3.eth.send_raw_transaction(ERC_1820_DEPLOYMENT_TX)