Merge pull request #14403 from fjl/console-number

console: avoid float64 when remarshaling parameters
This commit is contained in:
Péter Szilágyi 2017-05-02 16:24:34 +03:00 committed by GitHub
commit 0255ed6335

View File

@ -20,6 +20,7 @@ import (
"encoding/json"
"fmt"
"io"
"strings"
"time"
"github.com/ethereum/go-ethereum/log"
@ -240,17 +241,19 @@ func (b *bridge) Send(call otto.FunctionCall) (response otto.Value) {
throwJSException(err.Error())
}
var (
rawReq = []byte(reqVal.String())
rawReq = reqVal.String()
dec = json.NewDecoder(strings.NewReader(rawReq))
reqs []jsonrpcCall
batch bool
)
dec.UseNumber() // avoid float64s
if rawReq[0] == '[' {
batch = true
json.Unmarshal(rawReq, &reqs)
dec.Decode(&reqs)
} else {
batch = false
reqs = make([]jsonrpcCall, 1)
json.Unmarshal(rawReq, &reqs[0])
dec.Decode(&reqs[0])
}
// Execute the requests.