diff options
author | Felix Lange <fjl@twurst.com> | 2017-01-16 17:20:20 +0800 |
---|---|---|
committer | Felix Lange <fjl@twurst.com> | 2017-01-16 17:32:40 +0800 |
commit | 51f6b6d33f5b50e16f0b04bcccd03ad370f36636 (patch) | |
tree | 871c3a0915a6b75f73619e8626c61fafd701921b /common/hexutil/json.go | |
parent | 01f6f2d741e717f669b7ba1d6b88991f28e30c72 (diff) | |
download | dexon-51f6b6d33f5b50e16f0b04bcccd03ad370f36636.tar dexon-51f6b6d33f5b50e16f0b04bcccd03ad370f36636.tar.gz dexon-51f6b6d33f5b50e16f0b04bcccd03ad370f36636.tar.bz2 dexon-51f6b6d33f5b50e16f0b04bcccd03ad370f36636.tar.lz dexon-51f6b6d33f5b50e16f0b04bcccd03ad370f36636.tar.xz dexon-51f6b6d33f5b50e16f0b04bcccd03ad370f36636.tar.zst dexon-51f6b6d33f5b50e16f0b04bcccd03ad370f36636.zip |
common/hexutil: fix EncodeBig, Big.MarshalJSON
The code was too clever and failed to include zeros on a big.Word
boundary.
Diffstat (limited to 'common/hexutil/json.go')
-rw-r--r-- | common/hexutil/json.go | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/common/hexutil/json.go b/common/hexutil/json.go index c36d862b5..7e4736dd6 100644 --- a/common/hexutil/json.go +++ b/common/hexutil/json.go @@ -109,13 +109,8 @@ func (b *Big) MarshalJSON() ([]byte, error) { if nbits == 0 { return jsonZero, nil } - enc := make([]byte, 3, (nbits/8)*2+4) - copy(enc, `"0x`) - for i := len(bigint.Bits()) - 1; i >= 0; i-- { - enc = strconv.AppendUint(enc, uint64(bigint.Bits()[i]), 16) - } - enc = append(enc, '"') - return enc, nil + enc := fmt.Sprintf(`"0x%x"`, bigint) + return []byte(enc), nil } // UnmarshalJSON implements json.Unmarshaler. |