Объект TransactionReceipt не имеет атрибута «адрес». домовой/Инфура

Я пытаюсь развернуть 2 контракта в сети kovan. Я поместил свой идентификатор проекта infura в .env и выбрал kovanсеть в настройках инфуры.

       export WEB3_INFURA_PROJECT_ID=fdbedef24314c02a9e0d394aeeeee

Я следую учебнику, и это сценарий, который я запускаю:

      def deploy_token_farm_and_dapp_token(front_end_update=False):
    account = get_account()
    dapp_token = DappToken.deploy({"from": account})
    print("dapp_token",dapp_token)
    token_farm = TokenFarm.deploy(
        #Probably this is causing error
        dapp_token.address,
        {"from": account},
        publish_source=config["networks"][network.show_active()]["verify"],
    )
    tx = dapp_token.transfer(
        token_farm.address, dapp_token.totalSupply() - KEPT_BALANCE, {"from": account}
    )
    tx.wait(1)
    # dapp_token, weth_token, fau_token/dai
    weth_token = get_contract("weth_token")
    fau_token = get_contract("fau_token")
    dict_of_allowed_tokens = {
        dapp_token: get_contract("dai_usd_price_feed"),
        fau_token: get_contract("dai_usd_price_feed"),
        weth_token: get_contract("eth_usd_price_feed"),
    }
    add_allowed_tokens(token_farm, dict_of_allowed_tokens, account)
    if front_end_update:
        update_front_end()
    return token_farm, dapp_token


def add_allowed_tokens(token_farm, dict_of_allowed_tokens, account):
    for token in dict_of_allowed_tokens:
        add_tx = token_farm.addAllowedTokens(token.address, {"from": account})
        add_tx.wait(1)
        set_tx = token_farm.setPriceFeedContract(
            token.address, dict_of_allowed_tokens[token], {"from": account}
        )
        set_tx.wait(1)
    return token_farm

Когда я бегу brownie run scripts/deploy.py --network kovan Я получаю эту ошибку:

      File "./scripts/deploy.py", line 27, in deploy_token_farm_and_dapp_token
    dapp_token.address,
AttributeError: 'TransactionReceipt' object has no attribute 'address'

Похоже на deploy_token_farm_and_dapp_tokenВероятно, эти строки вызывают ошибку:

        token_farm = TokenFarm.deploy(
        #Probably this is causing error
        dapp_token.address,
        {"from": account},
        publish_source=config["networks"][network.show_active()]["verify"],
    )
    tx = dapp_token.transfer(
        token_farm.address, dapp_token.totalSupply() - KEPT_BALANCE, {"from":account}

dapp_token.address,а также token_farm.address

Итак, я напечатал print("dapp_token",dapp_token)и он распечатывает адрес. Поэтому вместо этого я использовал dapp_tokenа также token_farm. Но на этот раз я получаю эту ошибку:

       raise ValueError(f"API request failed with: {data['result']}")
ValueError: API request failed with: Invalid API Key

0 ответов

Другие вопросы по тегам