Hi guys,
tl;dr:
this could be a bug in case an account joins a payment channel with zero Ethereum or having not enough funds to pay the update / settlement transactions. It seems to run into a stucked state with a repeatedly failing transaction.
Find debug.log file further below.
Problem Definition
Following scenario was tested :
Acc1 had some ERC20 token and some Ethereum
Acc2 had no ERC20 token and no Ethereum
Acc1 registered ERC20 token as Raiden payment channel network, opened a channel with Acc2, deployed a deposit, sent some ERC20 token off-chain to Acc2.
All of this was successful.
Then, Acc1 called a settlement which caused a transaction to be mined -> was successful.
Then Acc2 should have called a transaction but this failed due to low gas error.
Then Acc1 sent on-chain some ethereum to Acc2.
Restarting Raiden client with Acc2 tries to make Update Nonclosing balance proof transaction transaction, but fails with error message below:
Update NonClosing balance proof transaction threw. Receipt=AttributeDict({'blockHash': HexBytes('0x79c90b22f969b6d7b0067a9ba068519c8559ae453e980e311d21861436f28d09'), 'blockNumber': 3801406, 'contractAddress': None, 'cumulativeGasUsed': 1156498, 'gasUsed': 96119, 'logs': [], 'logsBloom': HexBytes('0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'), 'root': None, 'status': 0, 'transactionHash': HexBytes('0x07416563ae15729a7c7b76048f5e69428866accd495231ee4bbf3135a4de525a'), 'transactionIndex': 15})
The raiden-deub.log can be found via gist record.
The ever failing transactions from restarting Acc2 can be found for example here or here
Now the problem is, the channel is officially in the state closed but I can neither send any Tokens between Acc1 and Acc2. Acc1 has received the correct balance from the off-chain transfers, but Acc2 did not receive a balance. I can also not re-open the channel, because it already exists. If I see correctly, the ERC20 tokens for Acc2 are frozen in the smart contract which I cannot settle / update.
System Description
Ubuntu 16.04 LTC
Raiden-0.4.2
Parity/v1.10.6-unstable-bc0d134-20180605/x86_64-linux-gnu/rustc1.26.2
Hi guys,
tl;dr:
this could be a bug in case an account joins a payment channel with zero Ethereum or having not enough funds to pay the update / settlement transactions. It seems to run into a stucked state with a repeatedly failing transaction.
Find debug.log file further below.
Problem Definition
Following scenario was tested :
Acc1 had some ERC20 token and some Ethereum
Acc2 had no ERC20 token and no Ethereum
Acc1 registered ERC20 token as Raiden payment channel network, opened a channel with Acc2, deployed a deposit, sent some ERC20 token off-chain to Acc2.
All of this was successful.
Then, Acc1 called a settlement which caused a transaction to be mined -> was successful.
Then Acc2 should have called a transaction but this failed due to low gas error.
Then Acc1 sent on-chain some ethereum to Acc2.
Restarting Raiden client with Acc2 tries to make
Update Nonclosing balance proof transactiontransaction, but fails with error message below:The raiden-deub.log can be found via gist record.
The ever failing transactions from restarting Acc2 can be found for example here or here
Now the problem is, the channel is officially in the state
closedbut I can neither send any Tokens between Acc1 and Acc2. Acc1 has received the correct balance from the off-chain transfers, but Acc2 did not receive a balance. I can also not re-open the channel, because it already exists. If I see correctly, the ERC20 tokens for Acc2 are frozen in the smart contract which I cannot settle / update.System Description