首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将ETH从合同中发送到BSC/BNB上的Gnosis安全钱包

将ETH从合同中发送到BSC/BNB上的Gnosis安全钱包
EN

Ethereum用户
提问于 2022-02-24 08:40:00
回答 2查看 493关注 0票数 0

这是代码

代码语言:javascript
复制
  address public ceo;
  function withdraw() external {
    payable(ceo).transfer(address(this).balance);
  }

当首席执行官是EOA地址的时候,它就起作用了。但当我把首席执行官的地址换成一个灵异安全的钱包时,它就失败了。我在bsc网络上。

更新:我使用下面的代码,但它不工作,它说无效的发件人..

代码语言:javascript
复制
  overrides = {
    gasLimit: 500000,
    gasPrice: ethers.utils.parseUnits('50', 'gwei').toString(),
    type: 1,
    accessList: [
      {
        address: "0x22e8371E3A14fA4A643BfaA1875bd04F09563F10", // admin gnosis safe proxy address
        storageKeys: [
            "0x0000000000000000000000000000000000000000000000000000000000000000"
        ]
      },
      {
        address: "0x3E5c63644E683549055b9Be8653de26E0B4CD36E",  // gnosis safe master address
        storageKeys: []
      }
    ]
  }


  endAuctionTX = await auction.withdraw(overrides)
  console.log({endAuctionTX})
  resolved = await endAuctionTX.wait()
  console.log({resolved})
EN

回答 2

Ethereum用户

发布于 2022-02-25 12:43:12

我已经写了一个指南,你可以恢复:https://github.com/rmeissner/safe-migrator

本指南涉及一些定制合同,一定要检查它们。这里的一般方法是将单例(也称为主副本)更改为保险柜的版本,在收到资金时不发出事件,因此气体成本较低。安全UI和服务仍然支持这个安全(至少现在是这样),但建议切换回正式的安全单例合同。

票数 2
EN

Ethereum用户

发布于 2022-02-24 13:33:55

Gnosis安全需要2300多个气体(默认气体由transfer发送)才能接收乙醚。您应该使用call而不是transfer

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

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

复制
相关文章

相似问题

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