[#122] Return big.Int in balanceOf function

Signed-off-by: Alex Vanin <alexey@nspcc.ru>
This commit is contained in:
Alex Vanin 2020-10-28 16:01:29 +03:00 committed by Alex Vanin
parent e3c060b739
commit 03f52bca01
2 changed files with 10 additions and 6 deletions

View file

@ -1,6 +1,8 @@
package balance
import (
"math/big"
"github.com/nspcc-dev/neofs-node/pkg/morph/client"
"github.com/pkg/errors"
)
@ -14,7 +16,7 @@ type GetBalanceOfArgs struct {
// GetBalanceOfValues groups the stack parameters
// returned by "balance of" test invoke.
type GetBalanceOfValues struct {
amount int64 // wallet funds amount
amount *big.Int // wallet funds amount
}
// SetWallet sets the wallet script hash
@ -24,7 +26,7 @@ func (g *GetBalanceOfArgs) SetWallet(v []byte) {
}
// Amount returns the amount of funds.
func (g *GetBalanceOfValues) Amount() int64 {
func (g *GetBalanceOfValues) Amount() *big.Int {
return g.amount
}
@ -41,7 +43,7 @@ func (c *Client) BalanceOf(args GetBalanceOfArgs) (*GetBalanceOfValues, error) {
return nil, errors.Errorf("unexpected stack item count (%s): %d", c.balanceOfMethod, ln)
}
amount, err := client.IntFromStackItem(prms[0])
amount, err := client.BigIntFromStackItem(prms[0])
if err != nil {
return nil, errors.Wrapf(err, "could not get integer stack item from stack item (%s)", c.balanceOfMethod)
}

View file

@ -1,16 +1,18 @@
package wrapper
import (
"math/big"
"github.com/nspcc-dev/neofs-api-go/pkg/owner"
"github.com/nspcc-dev/neofs-node/pkg/morph/client/balance"
)
// BalanceOf receives the amount of funds in the client's account
// through the Balance contract call, and returns it.
func (w *Wrapper) BalanceOf(id *owner.ID) (int64, error) {
func (w *Wrapper) BalanceOf(id *owner.ID) (*big.Int, error) {
v, err := owner.ScriptHashBE(id)
if err != nil {
return 0, err
return nil, err
}
args := balance.GetBalanceOfArgs{}
@ -18,7 +20,7 @@ func (w *Wrapper) BalanceOf(id *owner.ID) (int64, error) {
result, err := w.client.BalanceOf(args)
if err != nil {
return 0, err
return nil, err
}
return result.Amount(), nil