首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >失败,错误为“Ownable:调用方不是所有者”

失败,错误为“Ownable:调用方不是所有者”
EN

Ethereum用户
提问于 2021-02-17 09:10:34
回答 1查看 5.2K关注 0票数 1

嗨,我是一个新的社区成员,学习智能合同,并试图开发一个分叉项目。

当我试图将我的合同迁移到kovan网络时,我有这个错误。我不知道我错过了什么,或有什么问题,但需要一些帮助。

代码语言:javascript
复制
> 5_rewarddistribution.js
> ======================= kovan setting distributor
> 
> Error: Transaction has been reverted by the EVM: {   "blockHash":
> "0x98a6eb0ccf967e5954204d954af81be6b6b633d753f68c1e3adbf56adffce17c", 
> "blockNumber": 23512584,   "contractAddress": null,  
> "cumulativeGasUsed": 267759,   "from":
> "0x45157cf4fe9b85fc7e44ce549f290741db7ffa54",   "gasUsed": 22712,  
> "logsBloom":
> "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
> "status": false,   "to": "0x71644a2946cf3f19c63368ea239590fc602d83d5",
> "transactionHash":
> "0x82eae9d51b76471973ad7cd04ed476d3d16ed7866a1ae15828281e0f59f98e12", 
> "transactionIndex": 2,   "events": {} }
>     at Object.TransactionError (C:\Users\bruno\AppData\Roaming\npm\node_modules\truffle\build\webpack:\node_modules\web3-core-helpers\src\errors.js:93:1)
>     at Object.TransactionRevertedWithoutReasonError (C:\Users\bruno\AppData\Roaming\npm\node_modules\truffle\build\webpack:\node_modules\web3-core-helpers\src\errors.js:105:1)
>     at C:\Users\bruno\AppData\Roaming\npm\node_modules\truffle\build\webpack:\node_modules\web3-eth\node_modules\web3-core-method\src\index.js:482:1
>     at runMicrotasks (<anonymous>)
>     at processTicksAndRejections (internal/process/task_queues.js:93:5) 
> Truffle v5.1.66 (core: 5.1.66)
> Node v14.15.4
代码语言:javascript
复制
    console.log("setting distributor");
    await Promise.all([
        eth_pool.methods.setRewardDistribution("0x45157cf4FE9B85Fc7e44ce549f290741Db7FFa54").send({from: "0x45157cf4FE9B85Fc7e44ce549f290741Db7FFa54", gas: 100000}),
                    yfi_pool.methods.setRewardDistribution("0x45157cf4FE9B85Fc7e44ce549f290741Db7FFa54").send({from: "0x45157cf4FE9B85Fc7e44ce549f290741Db7FFa54", gas: 100000}),
        ycrv_pool.methods.setRewardDistribution("0x45157cf4FE9B85Fc7e44ce549f290741Db7FFa54").send({from: "0x45157cf4FE9B85Fc7e44ce549f290741Db7FFa54", gas: 100000}),
                    mkr_pool.methods.setRewardDistribution("0x45157cf4FE9B85Fc7e44ce549f290741Db7FFa54").send({from: "0x45157cf4FE9B85Fc7e44ce549f290741Db7FFa54", gas: 100000}),
        snx_pool.methods.setRewardDistribution("0x45157cf4FE9B85Fc7e44ce549f290741Db7FFa54").send({from: "0x45157cf4FE9B85Fc7e44ce549f290741Db7FFa54", gas: 100000}),
        comp_pool.methods.setRewardDistribution("0x45157cf4FE9B85Fc7e44ce549f290741Db7FFa54").send({from: "0x45157cf4FE9B85Fc7e44ce549f290741Db7FFa54", gas: 100000}),
        link_pool.methods.setRewardDistribution("0x45157cf4FE9B85Fc7e44ce549f290741Db7FFa54").send({from: "0x45157cf4FE9B85Fc7e44ce549f290741Db7FFa54", gas: 100000}),
        yfii_pool.methods.setRewardDistribution("0x45157cf4FE9B85Fc7e44ce549f290741Db7FFa54").send({from: "0x45157cf4FE9B85Fc7e44ce549f290741Db7FFa54", gas: 100000}),
                    ycrv_pool.methods.setRewardDistribution("0x45157cf4FE9B85Fc7e44ce549f290741Db7FFa54").send({from: "0x45157cf4FE9B85Fc7e44ce549f290741Db7FFa54", gas: 100000}),
      ]);

    let twenty = web3.utils.toBN(10**3).mul(web3.utils.toBN(10**18)).mul(web3.utils.toBN(200));
    let one_five = web3.utils.toBN(10**3).mul(web3.utils.toBN(10**18)).mul(web3.utils.toBN(1500));

    console.log("transfering and notifying");
    console.log("eth");
    await Promise.all([
      oliv.transfer(OLIV_ETHPool.address, twenty.toString()),
      //oliv.transfer(OLIV_uAMPLPool.address, twenty.toString()),
      oliv.transfer(OLIV_YFIPool.address, twenty.toString()),
      //oliv.transfer(OLIV_LENDPool.address, twenty.toString()),
      oliv.transfer(OLIV_MKRPool.address, twenty.toString()),
      oliv.transfer(OLIV_SNXPool.address, twenty.toString()),
      oliv.transfer(OLIV_COMPPool.address, twenty.toString()),
      oliv.transfer(OLIV_LINKPool.address, twenty.toString()),
      oliv.transfer(OLIV_YFIIPool.address, twenty.toString()),
      //oliv.transfer(OLIV_KNCPool.address, twenty.toString()),
      oliv._setIncentivizer(OLIVIncentivizer.address),
    ]);

    await Promise.all([
      eth_pool.methods.notifyRewardAmount(twenty.toString()).send({from:"0x45157cf4FE9B85Fc7e44ce549f290741Db7FFa54"}),
                yfi_pool.methods.notifyRewardAmount(twenty.toString()).send({from:"0x45157cf4FE9B85Fc7e44ce549f290741Db7FFa54"}),
                mkr_pool.methods.notifyRewardAmount(twenty.toString()).send({from:"0x45157cf4FE9B85Fc7e44ce549f290741Db7FFa54"}),
      snx_pool.methods.notifyRewardAmount(twenty.toString()).send({from:"0x45157cf4FE9B85Fc7e44ce549f290741Db7FFa54"}),
      comp_pool.methods.notifyRewardAmount(twenty.toString()).send({from:"0x45157cf4FE9B85Fc7e44ce549f290741Db7FFa54"}),
      link_pool.methods.notifyRewardAmount(twenty.toString()).send({from:"0x45157cf4FE9B85Fc7e44ce549f290741Db7FFa54"}),
      yfii_pool.methods.notifyRewardAmount(twenty.toString()).send({from:"0x45157cf4FE9B85Fc7e44ce549f290741Db7FFa54"}),
          
      // incentives is a minter and prepopulates itself.
      ycrv_pool.methods.notifyRewardAmount("0").send({from: "0x45157cf4FE9B85Fc7e44ce549f290741Db7FFa54", gas: 500000}),
    ]);

    await Promise.all([
      eth_pool.methods.setRewardDistribution(Timelock.address).send({from: "0x45157cf4FE9B85Fc7e44ce549f290741Db7FFa54", gas: 100000}),
      //ampl_pool.methods.setRewardDistribution(Timelock.address).send({from: "0x45157cf4FE9B85Fc7e44ce549f290741Db7FFa54", gas: 100000}),
      yfi_pool.methods.setRewardDistribution(Timelock.address).send({from: "0x45157cf4FE9B85Fc7e44ce549f290741Db7FFa54", gas: 100000}),
      //lend_pool.methods.setRewardDistribution(Timelock.address).send({from: "0x45157cf4FE9B85Fc7e44ce549f290741Db7FFa54", gas: 100000}),
      mkr_pool.methods.setRewardDistribution(Timelock.address).send({from: "0x45157cf4FE9B85Fc7e44ce549f290741Db7FFa54", gas: 100000}),
      snx_pool.methods.setRewardDistribution(Timelock.address).send({from: "0x45157cf4FE9B85Fc7e44ce549f290741Db7FFa54", gas: 100000}),
      comp_pool.methods.setRewardDistribution(Timelock.address).send({from: "0x45157cf4FE9B85Fc7e44ce549f290741Db7FFa54", gas: 100000}),
      link_pool.methods.setRewardDistribution(Timelock.address).send({from: "0x45157cf4FE9B85Fc7e44ce549f290741Db7FFa54", gas: 100000}),
      yfii_pool.methods.setRewardDistribution(Timelock.address).send({from: "0x45157cf4FE9B85Fc7e44ce549f290741Db7FFa54", gas: 100000}),
      //knc_pool.methods.setRewardDistribution(Timelock.address).send({from: "0x45157cf4FE9B85Fc7e44ce549f290741Db7FFa54", gas: 100000}),
      ycrv_pool.methods.setRewardDistribution(Timelock.address).send({from: "0x45157cf4FE9B85Fc7e44ce549f290741Db7FFa54", gas: 100000}),
    ]);
    await Promise.all([
      eth_pool.methods.transferOwnership(Timelock.address).send({from: "0x45157cf4FE9B85Fc7e44ce549f290741Db7FFa54", gas: 100000}),
      yfi_pool.methods.transferOwnership(Timelock.address).send({from: "0x45157cf4FE9B85Fc7e44ce549f290741Db7FFa54", gas: 100000}),
      mkr_pool.methods.transferOwnership(Timelock.address).send({from: "0x45157cf4FE9B85Fc7e44ce549f290741Db7FFa54", gas: 100000}),
      snx_pool.methods.transferOwnership(Timelock.address).send({from: "0x45157cf4FE9B85Fc7e44ce549f290741Db7FFa54", gas: 100000}),
      comp_pool.methods.transferOwnership(Timelock.address).send({from: "0x45157cf4FE9B85Fc7e44ce549f290741Db7FFa54", gas: 100000}),
      link_pool.methods.transferOwnership(Timelock.address).send({from: "0x45157cf4FE9B85Fc7e44ce549f290741Db7FFa54", gas: 100000}),
      yfii_pool.methods.transferOwnership(Timelock.address).send({from: "0x45157cf4FE9B85Fc7e44ce549f290741Db7FFa54", gas: 100000}),
      ycrv_pool.methods.transferOwnership(Timelock.address).send({from: "0x45157cf4FE9B85Fc7e44ce549f290741Db7FFa54", gas: 100000}),
    ]);
  }

  await Promise.all([
    oliv._setPendingGov(Timelock.address),
    yReserves._setPendingGov(Timelock.address),
    yRebaser._setPendingGov(Timelock.address),
  ]);

  await Promise.all([
      tl.executeTransaction(
        OLIVProxy.address,
        0,
        "_acceptGov()",
        "0x",
        0
      ),

      tl.executeTransaction(
        OLIVReserves.address,
        0,
        "_acceptGov()",
        "0x",
        0
      ),

      tl.executeTransaction(
        OLIVRebaser.address,
        0,
        "_acceptGov()",
        "0x",
        0
      ),
  ]);
  await tl.setPendingAdmin(Gov.address);
  await gov.__acceptAdmin();
  await gov.__abdicate();
}
EN

回答 1

Ethereum用户

发布于 2021-05-04 18:05:47

检查您的智能合同“业主”财产。我相信是0x0000...000,这意味着你必须以正确的方式使用可升级的合同。

这里有一个关于这个问题的讨论

票数 1
EN
页面原文内容由Ethereum提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://ethereum.stackexchange.com/questions/93589

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档