使用extension MutableCollection where Self: BidirectionalCollection, Element: Equatable {
mutating func moveRight(_ value: Element) {
for i in indices where self[i] == value {
swapAt(startIndex, index(startIndex, offsetBy: 5))
}
}
}
时,我发现合同意外恢复了。
我跑步时
truffle debug
我知道
$ truffle debug <my transaction hash>
如果只是键入
Gathering transaction data...
Addresses affected:
0x9f308fb36b159f53607b5f1c6fbff957648caf6b - SNM
Commands:
......
SNM.sol:
113: }
114:
115: contract SNM is StandardToken {
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
debug(privateLive:0x25fe2b0a...)>
事务因运行时错误而中止。
debug(privateLive:0x25fe2b0a...)> i
我越来越近了
Transaction halted with a RUNTIME ERROR.
This is likely due to an intentional halting expression, like assert(), require() or revert(). It can also be due to out-of-gas exceptions. Please inspect your transaction parameters and contract code to determine the meaning of this error.
经过一连串的编码,我发现
debug(privateLive:0x25fe2b0a...)> ;
我不知道是什么原因导致SNM.sol:
(77) REVERT
00000000000000000000000000000000000000000000000000000000d73dd623
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000 (top)
113: }
114:
115: contract SNM is StandardToken {
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
,因为REVERT
正在运行其第一个代码。
我不知道如何调试它,因为似乎无法通过命令contract SNM
来理解字节码。
有人可以帮助我吗?随时要求我提供更多信息。
;