В трюфеле, как развернуть контракт с конструктором с аргументом контракта - PullRequest
0 голосов
/ 04 августа 2020

Я пытаюсь проверить контракт, используя трюфель. Я уверен, что мой сценарий миграции неправильный. Может ли кто-нибудь подсказать мне, что мне делать?

Мой сценарий миграции выглядит так:

    const Clients = artifacts.require("Clients");
const Users = artifacts.require("Users");

module.exports = function(deployer) {
  const users = new Users();
  deployer.deploy(Clients, users);
};

В контракте «Мои пользователи» есть конструктор, который выглядит следующим образом:

    Clients clients;

/// @dev map the user address to the User struct
mapping(address => User) public usersMap;

constructor() public {
    clients = new Clients(this);
}

Контракт с моим клиентом имеет такой код:

    Users users;

constructor(Users _users) public {
    users = _users;
}   

Когда я запускаю «трюфельный тест», я получаю следующее:

    > Artifacts written to /var/folders/qn/7z7sq6512073vmm11_p5j6t00000gp/T/test--24941-vG2jY2I6icZ0
> Compiled successfully using:
   - solc: 0.6.6+commit.6c089d02.Emscripten.clang

TypeError: Cannot read property 'options' of undefined
    at TruffleContract.Contract (/Users/denisputnam/.nvm/versions/node/v12.16.1/lib/node_modules/truffle/build/webpack:/packages/contract/lib/contract/index.js:31:1)
    at new TruffleContract (/Users/denisputnam/.nvm/versions/node/v12.16.1/lib/node_modules/truffle/build/webpack:/packages/contract/lib/contract/constructorMethods.js:205:1)
    at module.exports (/Users/denisputnam/git/invoice-tracker-dapp/migrations/4_clients.js:5:17)
    at Migration._load (/Users/denisputnam/.nvm/versions/node/v12.16.1/lib/node_modules/truffle/build/webpack:/packages/migrate/Migration.js:54:1)
    at processTicksAndRejections (internal/process/task_queues.js:97:5)
    at Migration.run (/Users/denisputnam/.nvm/versions/node/v12.16.1/lib/node_modules/truffle/build/webpack:/packages/migrate/Migration.js:171:1)
    at Object.runMigrations (/Users/denisputnam/.nvm/versions/node/v12.16.1/lib/node_modules/truffle/build/webpack:/packages/migrate/index.js:150:1)
    at Object.runFrom (/Users/denisputnam/.nvm/versions/node/v12.16.1/lib/node_modules/truffle/build/webpack:/packages/migrate/index.js:110:1)
    at Object.runAll (/Users/denisputnam/.nvm/versions/node/v12.16.1/lib/node_modules/truffle/build/webpack:/packages/migrate/index.js:114:1)
    at Object.run (/Users/denisputnam/.nvm/versions/node/v12.16.1/lib/node_modules/truffle/build/webpack:/packages/migrate/index.js:79:1)
    at Object.run (/Users/denisputnam/.nvm/versions/node/v12.16.1/lib/node_modules/truffle/build/webpack:/packages/core/lib/test.js:117:1)
Truffle v5.1.37 (core: 5.1.37)
Node v12.16.1
...