forked from TrueCloudLab/frostfs-node
[#122] Return big.Int in balanceOf
function
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
This commit is contained in:
parent
e3c060b739
commit
03f52bca01
2 changed files with 10 additions and 6 deletions
|
@ -1,6 +1,8 @@
|
||||||
package balance
|
package balance
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"math/big"
|
||||||
|
|
||||||
"github.com/nspcc-dev/neofs-node/pkg/morph/client"
|
"github.com/nspcc-dev/neofs-node/pkg/morph/client"
|
||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
)
|
)
|
||||||
|
@ -14,7 +16,7 @@ type GetBalanceOfArgs struct {
|
||||||
// GetBalanceOfValues groups the stack parameters
|
// GetBalanceOfValues groups the stack parameters
|
||||||
// returned by "balance of" test invoke.
|
// returned by "balance of" test invoke.
|
||||||
type GetBalanceOfValues struct {
|
type GetBalanceOfValues struct {
|
||||||
amount int64 // wallet funds amount
|
amount *big.Int // wallet funds amount
|
||||||
}
|
}
|
||||||
|
|
||||||
// SetWallet sets the wallet script hash
|
// SetWallet sets the wallet script hash
|
||||||
|
@ -24,7 +26,7 @@ func (g *GetBalanceOfArgs) SetWallet(v []byte) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Amount returns the amount of funds.
|
// Amount returns the amount of funds.
|
||||||
func (g *GetBalanceOfValues) Amount() int64 {
|
func (g *GetBalanceOfValues) Amount() *big.Int {
|
||||||
return g.amount
|
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)
|
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 {
|
if err != nil {
|
||||||
return nil, errors.Wrapf(err, "could not get integer stack item from stack item (%s)", c.balanceOfMethod)
|
return nil, errors.Wrapf(err, "could not get integer stack item from stack item (%s)", c.balanceOfMethod)
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,16 +1,18 @@
|
||||||
package wrapper
|
package wrapper
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"math/big"
|
||||||
|
|
||||||
"github.com/nspcc-dev/neofs-api-go/pkg/owner"
|
"github.com/nspcc-dev/neofs-api-go/pkg/owner"
|
||||||
"github.com/nspcc-dev/neofs-node/pkg/morph/client/balance"
|
"github.com/nspcc-dev/neofs-node/pkg/morph/client/balance"
|
||||||
)
|
)
|
||||||
|
|
||||||
// BalanceOf receives the amount of funds in the client's account
|
// BalanceOf receives the amount of funds in the client's account
|
||||||
// through the Balance contract call, and returns it.
|
// 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)
|
v, err := owner.ScriptHashBE(id)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return 0, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
args := balance.GetBalanceOfArgs{}
|
args := balance.GetBalanceOfArgs{}
|
||||||
|
@ -18,7 +20,7 @@ func (w *Wrapper) BalanceOf(id *owner.ID) (int64, error) {
|
||||||
|
|
||||||
result, err := w.client.BalanceOf(args)
|
result, err := w.client.BalanceOf(args)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return 0, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
return result.Amount(), nil
|
return result.Amount(), nil
|
||||||
|
|
Loading…
Reference in a new issue