*: do not call wallet.Close() explicitly

NewWallet and NewWalletFromFile close underlying io.Closer by itself,
no need to close it manually. Introduced in #2184.
This commit is contained in:
Anna Shaleva 2022-07-04 13:32:11 +03:00
parent b2f188f8f0
commit 5f36a7ca0f
13 changed files with 4 additions and 41 deletions

View file

@ -447,9 +447,8 @@ func TestContractManifestGroups(t *testing.T) {
config.Version = "0.90.0-test" config.Version = "0.90.0-test"
tmpDir := t.TempDir() tmpDir := t.TempDir()
w, err := wallet.NewWalletFromFile(testWalletPath) _, err := wallet.NewWalletFromFile(testWalletPath)
require.NoError(t, err) require.NoError(t, err)
defer w.Close()
nefName := filepath.Join(tmpDir, "deploy.nef") nefName := filepath.Join(tmpDir, "deploy.nef")
manifestName := filepath.Join(tmpDir, "deploy.manifest.json") manifestName := filepath.Join(tmpDir, "deploy.manifest.json")

View file

@ -113,7 +113,6 @@ func TestNEP17Balance(t *testing.T) {
func TestNEP17Transfer(t *testing.T) { func TestNEP17Transfer(t *testing.T) {
w, err := wallet.NewWalletFromFile("testdata/testwallet.json") w, err := wallet.NewWalletFromFile("testdata/testwallet.json")
require.NoError(t, err) require.NoError(t, err)
defer w.Close()
e := newExecutor(t, true) e := newExecutor(t, true)
args := []string{ args := []string{

View file

@ -25,7 +25,6 @@ func TestQueryTx(t *testing.T) {
w, err := wallet.NewWalletFromFile("testdata/testwallet.json") w, err := wallet.NewWalletFromFile("testdata/testwallet.json")
require.NoError(t, err) require.NoError(t, err)
defer w.Close()
transferArgs := []string{ transferArgs := []string{
"neo-go", "wallet", "nep17", "transfer", "neo-go", "wallet", "nep17", "transfer",

View file

@ -16,7 +16,6 @@ func signStoredTransaction(ctx *cli.Context) error {
if err != nil { if err != nil {
return cli.NewExitError(err, 1) return cli.NewExitError(err, 1)
} }
defer wall.Close()
c, err := paramcontext.Read(ctx.String("in")) c, err := paramcontext.Read(ctx.String("in"))
if err != nil { if err != nil {

View file

@ -167,7 +167,6 @@ func getNEP11Balance(ctx *cli.Context) error {
if err != nil { if err != nil {
return cli.NewExitError(fmt.Errorf("bad wallet: %w", err), 1) return cli.NewExitError(fmt.Errorf("bad wallet: %w", err), 1)
} }
defer wall.Close()
addrFlag := ctx.Generic("address").(*flags.Address) addrFlag := ctx.Generic("address").(*flags.Address)
if addrFlag.IsSet { if addrFlag.IsSet {

View file

@ -155,7 +155,6 @@ func getNEP17Balance(ctx *cli.Context) error {
if err != nil { if err != nil {
return cli.NewExitError(fmt.Errorf("bad wallet: %w", err), 1) return cli.NewExitError(fmt.Errorf("bad wallet: %w", err), 1)
} }
defer wall.Close()
addrFlag := ctx.Generic("address").(*flags.Address) addrFlag := ctx.Generic("address").(*flags.Address)
if addrFlag.IsSet { if addrFlag.IsSet {
@ -354,7 +353,6 @@ func importNEPToken(ctx *cli.Context, standard string) error {
if err != nil { if err != nil {
return cli.NewExitError(err, 1) return cli.NewExitError(err, 1)
} }
defer wall.Close()
tokenHashFlag := ctx.Generic("token").(*flags.Address) tokenHashFlag := ctx.Generic("token").(*flags.Address)
if !tokenHashFlag.IsSet { if !tokenHashFlag.IsSet {
@ -417,7 +415,6 @@ func printNEPInfo(ctx *cli.Context, standard string) error {
if err != nil { if err != nil {
return cli.NewExitError(err, 1) return cli.NewExitError(err, 1)
} }
defer wall.Close()
if name := ctx.String("token"); name != "" { if name := ctx.String("token"); name != "" {
token, err := getMatchingToken(ctx, wall, name, standard) token, err := getMatchingToken(ctx, wall, name, standard)
@ -450,7 +447,6 @@ func removeNEPToken(ctx *cli.Context, standard string) error {
if err != nil { if err != nil {
return cli.NewExitError(err, 1) return cli.NewExitError(err, 1)
} }
defer wall.Close()
token, err := getMatchingToken(ctx, wall, ctx.String("token"), standard) token, err := getMatchingToken(ctx, wall, ctx.String("token"), standard)
if err != nil { if err != nil {
@ -474,7 +470,6 @@ func multiTransferNEP17(ctx *cli.Context) error {
if err != nil { if err != nil {
return cli.NewExitError(err, 1) return cli.NewExitError(err, 1)
} }
defer wall.Close()
fromFlag := ctx.Generic("from").(*flags.Address) fromFlag := ctx.Generic("from").(*flags.Address)
from, err := getDefaultAddress(fromFlag, wall) from, err := getDefaultAddress(fromFlag, wall)
@ -560,7 +555,6 @@ func transferNEP(ctx *cli.Context, standard string) error {
if err != nil { if err != nil {
return cli.NewExitError(err, 1) return cli.NewExitError(err, 1)
} }
defer wall.Close()
fromFlag := ctx.Generic("from").(*flags.Address) fromFlag := ctx.Generic("from").(*flags.Address)
from, err := getDefaultAddress(fromFlag, wall) from, err := getDefaultAddress(fromFlag, wall)

View file

@ -90,7 +90,6 @@ func handleCandidate(ctx *cli.Context, method string, sysGas int64) error {
if err != nil { if err != nil {
return cli.NewExitError(err, 1) return cli.NewExitError(err, 1)
} }
defer wall.Close()
addrFlag := ctx.Generic("address").(*flags.Address) addrFlag := ctx.Generic("address").(*flags.Address)
if !addrFlag.IsSet { if !addrFlag.IsSet {
@ -145,7 +144,6 @@ func handleVote(ctx *cli.Context) error {
if err != nil { if err != nil {
return cli.NewExitError(err, 1) return cli.NewExitError(err, 1)
} }
defer wall.Close()
addrFlag := ctx.Generic("address").(*flags.Address) addrFlag := ctx.Generic("address").(*flags.Address)
if !addrFlag.IsSet { if !addrFlag.IsSet {

View file

@ -299,7 +299,6 @@ func claimGas(ctx *cli.Context) error {
if err != nil { if err != nil {
return cli.NewExitError(err, 1) return cli.NewExitError(err, 1)
} }
defer wall.Close()
addrFlag := ctx.Generic("address").(*flags.Address) addrFlag := ctx.Generic("address").(*flags.Address)
if !addrFlag.IsSet { if !addrFlag.IsSet {
@ -398,7 +397,6 @@ func convertWallet(ctx *cli.Context) error {
if err != nil { if err != nil {
return cli.NewExitError(err, 1) return cli.NewExitError(err, 1)
} }
defer newWallet.Close()
newWallet.Scrypt = wall.Scrypt newWallet.Scrypt = wall.Scrypt
for _, acc := range wall.Accounts { for _, acc := range wall.Accounts {
@ -428,8 +426,6 @@ func addAccount(ctx *cli.Context) error {
return cli.NewExitError(err, 1) return cli.NewExitError(err, 1)
} }
defer wall.Close()
if err := createAccount(wall, pass); err != nil { if err := createAccount(wall, pass); err != nil {
return cli.NewExitError(err, 1) return cli.NewExitError(err, 1)
} }
@ -504,8 +500,6 @@ func importMultisig(ctx *cli.Context) error {
return cli.NewExitError(err, 1) return cli.NewExitError(err, 1)
} }
defer wall.Close()
m := ctx.Int("min") m := ctx.Int("min")
if ctx.NArg() < m { if ctx.NArg() < m {
return cli.NewExitError(errors.New("insufficient number of public keys"), 1) return cli.NewExitError(errors.New("insufficient number of public keys"), 1)
@ -546,8 +540,6 @@ func importDeployed(ctx *cli.Context) error {
return cli.NewExitError(err, 1) return cli.NewExitError(err, 1)
} }
defer wall.Close()
rawHash := ctx.Generic("contract").(*flags.Address) rawHash := ctx.Generic("contract").(*flags.Address)
if !rawHash.IsSet { if !rawHash.IsSet {
return cli.NewExitError("contract hash was not provided", 1) return cli.NewExitError("contract hash was not provided", 1)
@ -600,7 +592,6 @@ func importWallet(ctx *cli.Context) error {
if err != nil { if err != nil {
return cli.NewExitError(err, 1) return cli.NewExitError(err, 1)
} }
defer wall.Close()
acc, err := newAccountFromWIF(ctx.App.Writer, ctx.String("wif"), wall.Scrypt) acc, err := newAccountFromWIF(ctx.App.Writer, ctx.String("wif"), wall.Scrypt)
if err != nil { if err != nil {
@ -630,7 +621,6 @@ func removeAccount(ctx *cli.Context) error {
if err != nil { if err != nil {
return cli.NewExitError(err, 1) return cli.NewExitError(err, 1)
} }
defer wall.Close()
addr := ctx.Generic("address").(*flags.Address) addr := ctx.Generic("address").(*flags.Address)
if !addr.IsSet { if !addr.IsSet {

View file

@ -221,7 +221,6 @@ func TestWalletInit(t *testing.T) {
require.Len(t, w.Accounts, 1) require.Len(t, w.Accounts, 1)
require.Equal(t, "букandmore", w.Accounts[0].Label) require.Equal(t, "букandmore", w.Accounts[0].Label)
require.NoError(t, w.Accounts[0].Decrypt("пароль", w.Scrypt)) require.NoError(t, w.Accounts[0].Decrypt("пароль", w.Scrypt))
w.Close()
}) })
t.Run("CreateAccount", func(t *testing.T) { t.Run("CreateAccount", func(t *testing.T) {
@ -244,7 +243,6 @@ func TestWalletInit(t *testing.T) {
require.Len(t, w.Accounts, 1) require.Len(t, w.Accounts, 1)
require.Equal(t, w.Accounts[0].Label, "testname") require.Equal(t, w.Accounts[0].Label, "testname")
require.NoError(t, w.Accounts[0].Decrypt("testpass", w.Scrypt)) require.NoError(t, w.Accounts[0].Decrypt("testpass", w.Scrypt))
w.Close()
t.Run("RemoveAccount", func(t *testing.T) { t.Run("RemoveAccount", func(t *testing.T) {
sh := w.Accounts[0].Contract.ScriptHash() sh := w.Accounts[0].Contract.ScriptHash()
@ -255,7 +253,6 @@ func TestWalletInit(t *testing.T) {
w, err := wallet.NewWalletFromFile(walletPath) w, err := wallet.NewWalletFromFile(walletPath)
require.NoError(t, err) require.NoError(t, err)
require.Nil(t, w.GetAccount(sh)) require.Nil(t, w.GetAccount(sh))
w.Close()
}) })
}) })
@ -274,7 +271,6 @@ func TestWalletInit(t *testing.T) {
w, err := wallet.NewWalletFromFile(walletPath) w, err := wallet.NewWalletFromFile(walletPath)
require.NoError(t, err) require.NoError(t, err)
t.Cleanup(w.Close)
acc := w.GetAccount(priv.GetScriptHash()) acc := w.GetAccount(priv.GetScriptHash())
require.NotNil(t, acc) require.NotNil(t, acc)
require.Equal(t, "test_account", acc.Label) require.Equal(t, "test_account", acc.Label)
@ -302,7 +298,6 @@ func TestWalletInit(t *testing.T) {
check := func(t *testing.T, expectedLabel string, pass string) { check := func(t *testing.T, expectedLabel string, pass string) {
w, err := wallet.NewWalletFromFile(walletPath) w, err := wallet.NewWalletFromFile(walletPath)
require.NoError(t, err) require.NoError(t, err)
t.Cleanup(w.Close)
acc := w.GetAccount(priv.GetScriptHash()) acc := w.GetAccount(priv.GetScriptHash())
require.NotNil(t, acc) require.NotNil(t, acc)
require.Equal(t, expectedLabel, acc.Label) require.Equal(t, expectedLabel, acc.Label)
@ -355,7 +350,6 @@ func TestWalletInit(t *testing.T) {
w, err := wallet.NewWalletFromFile(walletPath) w, err := wallet.NewWalletFromFile(walletPath)
require.NoError(t, err) require.NoError(t, err)
t.Cleanup(w.Close)
actual := w.GetAccount(acc.PrivateKey().GetScriptHash()) actual := w.GetAccount(acc.PrivateKey().GetScriptHash())
require.NotNil(t, actual) require.NotNil(t, actual)
require.NoError(t, actual.Decrypt("somepass", w.Scrypt)) require.NoError(t, actual.Decrypt("somepass", w.Scrypt))
@ -410,7 +404,6 @@ func TestWalletInit(t *testing.T) {
w, err := wallet.NewWalletFromFile(walletPath) w, err := wallet.NewWalletFromFile(walletPath)
require.NoError(t, err) require.NoError(t, err)
t.Cleanup(w.Close)
actual := w.GetAccount(hash.Hash160(script)) actual := w.GetAccount(hash.Hash160(script))
require.NotNil(t, actual) require.NotNil(t, actual)
require.NoError(t, actual.Decrypt("multipass", w.Scrypt)) require.NoError(t, actual.Decrypt("multipass", w.Scrypt))
@ -595,9 +588,6 @@ func TestWalletImportDeployed(t *testing.T) {
"--contract", h.StringLE()) "--contract", h.StringLE())
w, err := wallet.NewWalletFromFile(walletPath) w, err := wallet.NewWalletFromFile(walletPath)
t.Cleanup(func() {
w.Close()
})
require.NoError(t, err) require.NoError(t, err)
require.Equal(t, 1, len(w.Accounts)) require.Equal(t, 1, len(w.Accounts))
contractAddr := w.Accounts[0].Address contractAddr := w.Accounts[0].Address

View file

@ -168,8 +168,6 @@ func NewService(cfg Config) (Service, error) {
return nil, errors.New("no account with provided password was found") return nil, errors.New("no account with provided password was found")
} }
defer srv.wallet.Close()
srv.dbft = dbft.New( srv.dbft = dbft.New(
dbft.WithLogger(srv.log), dbft.WithLogger(srv.log),
dbft.WithSecondsPerBlock(cfg.TimePerBlock), dbft.WithSecondsPerBlock(cfg.TimePerBlock),

View file

@ -197,7 +197,6 @@ func createAndWriteWallet(t *testing.T, acc *wallet.Account, path, password stri
require.NoError(t, acc.Encrypt(password, w.Scrypt)) require.NoError(t, acc.Encrypt(password, w.Scrypt))
w.AddAccount(acc) w.AddAccount(acc)
require.NoError(t, w.Save()) require.NoError(t, w.Save())
w.Close()
return w return w
} }

View file

@ -202,7 +202,6 @@ func createWallet(t *testing.T, path string, accs ...*Account) {
w.AddAccount(acc) w.AddAccount(acc)
} }
require.NoError(t, w.SavePretty()) require.NoError(t, w.SavePretty())
w.Close()
} }
func TestRegenerateCLIWallet1_solo(t *testing.T) { func TestRegenerateCLIWallet1_solo(t *testing.T) {

View file

@ -168,9 +168,9 @@ func (w *Wallet) JSON() ([]byte, error) {
return json.MarshalIndent(w, " ", " ") return json.MarshalIndent(w, " ", " ")
} }
// Close closes the internal rw if its an io.ReadCloser. // Deprecated: Close is deprecated.
func (w *Wallet) Close() { // Close performs nothing and is left for backwards compatibility.
} func (w *Wallet) Close() {}
// GetAccount returns an account corresponding to the provided scripthash. // GetAccount returns an account corresponding to the provided scripthash.
func (w *Wallet) GetAccount(h util.Uint160) *Account { func (w *Wallet) GetAccount(h util.Uint160) *Account {