Geth js commands coming through jail with a callback will now be executed truly asynchronously blocking jail only when an actual interaction with VM is performed. Technically, it registers a new handler jeth.sendAsync which executes functions with callbacks asynchronously. Changes include: 1. Send and SendAsync now use cell.VM instead of otto.Otto providing proper locking. 2. Unmarshalling in ExecuionPolicy.ExecuteWithClient is now done into var result interface{} instead of var result json.RawMessage because test case 0 of TestJailWhisper failed providing byte codes instead of 5.0. 3. Due to the asynchronous nature of web3 calls new weird timeouts in tests have been introduced. They may fail sometimes but I gave up trying to implement a more reliable and readable solution. |
||
---|---|---|
.. | ||
jail | ||
node |