TypeError: Невозможно прочитать свойство 'entrys' из неопределенного - PullRequest
0 голосов
/ 11 апреля 2019

В моем файле солидности есть два контракта.Если я создаю новый Контракт, используя функцию FactoryCOntracts makeNewContract, я получаю новый адрес файла.Но если я задаю этот новый адрес в качестве адреса своего контракта на веб-сайте tronweb, я получу сообщение об ошибке:

Uncaught (в обещании) TypeError: Невозможно прочитать «записи» свойств неопределенного
в точке e.(pageHook.js: 32874)
в tryCatch (pageHook.js: 28487)
в Generator.invoke [как _invoke] (pageHook.js: 28713)
в Generator.prototype. (: 3000 / анонимныйфункция) [как следующий] (расширение chrome: //ibnejdfjmmkpcnlpebklmnkoeoihofec/dist/pageHook.js: 28539: 21) в asyncGeneratorStep (pageHook.js: 157) в _next (pageHook.js: 179)

* 101

Пожалуйста, объясните, почему эта ошибка появляется?и каково решение?

const contractAddress = '4142eb13ccf2ceba48897c1718acb84cb2b99431af'

Я сначала установил этот адрес на развернутый адрес factoryContract (который работает нормально), но затем, когда я установил его на адрес только что созданного Контракта, я получил ошибку.Это мой файл utils / index.js:

const utils = {
tronWeb: false,
contract: false,
async setTronWeb(tronWeb,ca) {
    this.tronWeb = tronWeb;
this.contract = await tronWeb.contract().at(contractAddress); },};

Ниже приведен мой файл солидности (который содержит оба контракта):

export default utils;
pragma solidity ^0.4.2;
contract FactoryContracts {
mapping (uint =>address) public allContracts;  
uint public dealId;
uint public totalDeals;
event contractJustMade(address indexed newContractAddress);
constructor() public{ dealId=0; totalDeals=0; }

function makeNewContract() public {
    Contract c = new Contract();
    address newContractAddress = address(c);
    allContracts[dealId]=(newContractAddress);
    ++dealId;  ++totalDeals;
    emit contractJustMade(newContractAddress); } }

contract Contract{ ...}

Я получил ошибку в this.loadAbi (r.abi.entrys) line `` `this.address = r.contract_address, this.bytecode = r.bytecode, this.deployed =! 0, this.loadAbi (r.abi.entrys), e.abrupt (" возврат "), п (нуль, это));случай 16: if (e.prev = 16, e.t0 = e.catch (3) ,! e.t0.toString (). includes ("не существует")) {e.next = 20; break} returne.abrupt («return», n («Контракт не был развернут в сети»));

...