Bad-Jump

不斷收到 Bad Jump 錯誤

  • March 23, 2022

我不斷收到“Bad Jump”錯誤。我按照此處找到的指南進行操作: 為什麼我從 EtherDelta 提款失敗?

並發現我的存款和取款代幣值設置為 0。這是交易: https ://etherscan.io/tx/0x77224b7b7b71326e8bbcbb5fdcd4dc6d9daabc0729a8eb05c1b24e61bc11df1b

如果需要,我需要更改存款和取款金額以完成我的全部餘額。將向為我逐步解決此問題的第一人支付 0.5 ETH。

根據您的交易和從您的地址到 Etherdelta 合約的其他交易,您正試圖存入比您真正擁有的更多單位的代幣,因此 BAD JUMP(例外)。

一個線索可能是這個depositToken()函式的評論。

function depositToken(address token, uint amount) {
//remember to call Token(address).approve(this, amount) or this contract will not be able to do the transfer on your behalf.
if (token==0) throw;
if (!Token(token).transferFrom(msg.sender, this, amount)) throw;
tokens[token][msg.sender] = safeAdd(tokens[token][msg.sender], amount);
Deposit(token, msg.sender, amount, tokens[token][msg.sender]);

}

//記得呼叫Token(address).approve(this, amount) 否則這個合約將無法代你轉賬。

所以試試那個approve()功能。

引用自:https://ethereum.stackexchange.com/questions/36963