我正在使用safe-core-sdk向Gnosis安全事务服务提议事务。
当事务被提议时,我经常通过作业检查事务是否已经执行,并且是否成功。为此,我使用了getTransaction ( safe-service-client的一部分),它返回一些SafeMultisigTransactionResponse类型的事务对象。
我遇到的问题是,当我通过安全UI拒绝事务,然后获得tx时,没有迹象表明事务已被拒绝。isExecuted属性为false,而isSuccessful属性仍然为空。UI中用于on链拒绝的安全tx哈希与建议事务的安全tx哈希也不同。
是否有一种方法可以通过sdk验证事务已被拒绝?
干杯
发布于 2022-01-21 20:01:18
实际上不可能拒绝Ethereum网络中的事务。拒绝时所发生的事情是创建一个事务,它使用与您想要拒绝的事务相同的时间以及0值和空数据。一旦这样的事务被执行,安全的nonce就会增加,并且不能再被重复使用,使得以前的签名毫无用处(nonce是您签名的事务散列的一部分)。
要知道事务是否已被拒绝,您可以检查外管局的当前值是否大于事务当前值,并且isExecuted标志为false。若要检查事务是否被拒绝或替换,您需要检查是否有一个挂起的事务具有相同的时间。
https://ethereum.stackexchange.com/questions/119564
复制相似问题