                                 done (true, rid)
                             }
         }
-
-//        queue.async {
-//            if Bool.random() { // sometimes return no transaction -> done
-//                each ((foo: 0, rid: rid))
-//                each ((foo: 1, rid: rid))
-//            }
-//            done (true, rid)
-//        }
     }
 
     /// ETH

    public func getBlockNumberAsETH (ewm: BREthereumEWM,
                                     rid: Int32,
                                     completion: @escaping (ETH.BlockNumber) -> Void) {
        queue.async {
            completion ((number: "0xffc0", rid: rid ))
        }
    }
    

                                 address: String,
                                 rid: Int32,
                                 completion: @escaping (ETH.Balance) -> Void) {
        let json: JSON.Dict = [
            "jsonrpc" : "2.0",
            "method"  : "eth_getBalance",
            "params"  : [address, "latest"],
            "id"      : rid
        ]

        ethMakeRequest(ewm: ewm, data: json) { (res: Result<BlockChainDB.JSON, BlockChainDB.QueryError>) in
            let balance = try! res
                .map { $0.asString (name: "result")! }
                .recover { (ignore) in "200000000000000000" }
                .get()

            completion ((wid: wid, balance: balance, rid: rid))
        }
    }
