rpc: marshal GAS in getunclaimedgas as decimal

This commit is contained in:
Evgenii Stratonikov 2020-11-30 12:20:13 +03:00
parent 56b23b718d
commit df801a8539
2 changed files with 7 additions and 6 deletions

View file

@ -643,7 +643,7 @@ var rpcClientTestCases = map[string][]rpcClientTestCase{
invoke: func(c *Client) (interface{}, error) {
return c.GetUnclaimedGas("NMipL5VsNoLUBUJKPKLhxaEbPQVCZnyJyB")
},
serverResponse: `{"jsonrpc":"2.0","id":1,"result":{"address":"NMipL5VsNoLUBUJKPKLhxaEbPQVCZnyJyB","unclaimed":"897299680935"}}`,
serverResponse: `{"jsonrpc":"2.0","id":1,"result":{"address":"NMipL5VsNoLUBUJKPKLhxaEbPQVCZnyJyB","unclaimed":"8972.99680935"}}`,
result: func(c *Client) interface{} {
addr, err := address.StringToUint160("NMipL5VsNoLUBUJKPKLhxaEbPQVCZnyJyB")
if err != nil {

View file

@ -2,10 +2,11 @@ package result
import (
"encoding/json"
"errors"
"fmt"
"math/big"
"github.com/nspcc-dev/neo-go/pkg/encoding/address"
"github.com/nspcc-dev/neo-go/pkg/encoding/fixedn"
"github.com/nspcc-dev/neo-go/pkg/util"
)
@ -25,7 +26,7 @@ type unclaimedGas struct {
func (g UnclaimedGas) MarshalJSON() ([]byte, error) {
gas := &unclaimedGas{
Address: address.Uint160ToString(g.Address),
Unclaimed: g.Unclaimed.String(),
Unclaimed: fixedn.ToString(&g.Unclaimed, 8),
}
return json.Marshal(gas)
}
@ -36,9 +37,9 @@ func (g *UnclaimedGas) UnmarshalJSON(data []byte) error {
if err := json.Unmarshal(data, gas); err != nil {
return err
}
uncl, ok := new(big.Int).SetString(gas.Unclaimed, 10)
if !ok {
return errors.New("failed to convert unclaimed gas")
uncl, err := fixedn.FromString(gas.Unclaimed, 8)
if err != nil {
return fmt.Errorf("failed to convert unclaimed gas: %w", err)
}
g.Unclaimed = *uncl
addr, err := address.StringToUint160(gas.Address)