Как использовать контракт после его развертывания в миграциях

Я пытаюсь заключить контракт в трюфельном проекте. Это часть файла migration.js.

deployer.deploy(token,companyID).then(function(){
    var starttime = web3.eth.getBlock(web3.eth.blockNumber).timestamp + 300000000;
    var endtime = starttime + 1000000;
    GG = token;
    return deployer.deploy(tokenICO, token.address, tokenwallet, rate, goal, tokenwallet, starttime, endtime).then(function()
    {

        console.log("token object: " + token);
        GG.approve(tokenICO.address,16000000);
    });
});

В этом случае я хочу использовать функцию утверждения контракта токена, но получаю следующую ошибку:

TypeError: GG.approve is not a function
at (location)
at <anonymous>
at process._tickCallback (internal/process/next_tick.js:160:7)

Есть ли альтернативный способ сделать это?

Является ли GamerGold контрактом? Он развернут?
GamerGold был опечаткой, теперь это должно быть правильно.

Ответы (1)

Вы могли бы сделать таким образом.

 var GG;
 deployer.deploy(token,companyID).then(function(){
  var starttime = web3.eth.getBlock(web3.eth.blockNumber).timestamp + 300000000;
  var endtime = starttime + 1000000;
return deployer.deploy(tokenICO, token.address, tokenwallet, rate, goal, tokenwallet, starttime, endtime).then(function()
{
    token.deployed().then((inst)=> {
    GG = inst;
    console.log("token object: " + token);
    GG.approve(tokenICO.address,16000000);
  });

});
});
Другая допустимая альтернатива была в удаленном ответе:token.at(token.address).approve(tokenICO.address,16000000);