[#746] morph/client: Don't cache GAS contract address on NeoFS-side

Caching is performed inside `GetNativeContractHash` method of neo-go client,
so the additional cache level is redundant.

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
This commit is contained in:
Leonard Lyubich 2021-09-02 09:57:19 +03:00 committed by Alex Vanin
parent 0502abc3e0
commit 81722c373b
4 changed files with 20 additions and 13 deletions

View file

@ -587,7 +587,8 @@ NeoFS-API v2.0 support and updated brand-new storage node application.
First public review release.
[Unreleased]: https://github.com/nspcc-dev/neofs-node/compare/v0.23.1...master
[Unreleased]: https://github.com/nspcc-dev/neofs-node/compare/v0.24.0...master
[0.24.0]: https://github.com/nspcc-dev/neofs-node/compare/v0.23.1...v0.24.0
[0.23.1]: https://github.com/nspcc-dev/neofs-node/compare/v0.23.0...v0.23.1
[0.23.0]: https://github.com/nspcc-dev/neofs-node/compare/v0.22.3...v0.23.0
[0.22.3]: https://github.com/nspcc-dev/neofs-node/compare/v0.22.2...v0.22.3

View file

@ -47,8 +47,6 @@ type singleClient struct {
acc *wallet.Account // neo account
gas util.Uint160 // native gas script-hash
waitInterval time.Duration
signer *transaction.Signer
@ -215,7 +213,12 @@ func (c *Client) TransferGas(receiver util.Uint160, amount fixedn.Fixed8) error
})
}
txHash, err := c.client.TransferNEP17(c.acc, receiver, c.gas, int64(amount), 0, nil, nil)
gas, err := c.client.GetNativeContractHash(nativenames.Gas)
if err != nil {
return err
}
txHash, err := c.client.TransferNEP17(c.acc, receiver, gas, int64(amount), 0, nil, nil)
if err != nil {
return err
}
@ -281,7 +284,12 @@ func (c *Client) GasBalance() (res int64, err error) {
})
}
return c.client.NEP17BalanceOf(c.gas, c.acc.PrivateKey().GetScriptHash())
gas, err := c.client.GetNativeContractHash(nativenames.Gas)
if err != nil {
return 0, err
}
return c.client.NEP17BalanceOf(gas, c.acc.PrivateKey().GetScriptHash())
}
// Committee returns keys of chain committee from neo native contract.

View file

@ -3,7 +3,6 @@ package client
import (
"sync"
"github.com/nspcc-dev/neo-go/pkg/core/native/nativenames"
"github.com/nspcc-dev/neo-go/pkg/rpc/client"
"github.com/nspcc-dev/neo-go/pkg/wallet"
"go.uber.org/zap"
@ -37,17 +36,11 @@ func (x *multiClient) createForAddress(addr string) (*Client, error) {
return nil, err
}
gas, err := cli.GetNativeContractHash(nativenames.Gas)
if err != nil {
return nil, err
}
c := &Client{
singleClient: &singleClient{
logger: x.cfg.logger,
client: cli,
acc: x.account,
gas: gas,
waitInterval: x.cfg.waitInterval,
signer: x.cfg.signer,
notary: x.sharedNotary,

View file

@ -151,10 +151,15 @@ func (c *Client) DepositNotary(amount fixedn.Fixed8, delta uint32) (res util.Uin
return util.Uint256{}, fmt.Errorf("can't get blockchain height: %w", err)
}
gas, err := c.client.GetNativeContractHash(nativenames.Gas)
if err != nil {
return util.Uint256{}, err
}
txHash, err := c.client.TransferNEP17(
c.acc,
c.notary.notary,
c.gas,
gas,
int64(amount),
0,
[]interface{}{c.acc.PrivateKey().GetScriptHash(), int64(bc + delta)},