diff --git a/api/api_test.go b/api/api_test.go index c77434a..c2c2160 100644 --- a/api/api_test.go +++ b/api/api_test.go @@ -940,7 +940,8 @@ func TestP2P(t *testing.T) { UniqueID: gateway.GenerateUniqueID(), NetAddress: l1.Addr().String(), }) - go s1.Run() + go s1.Run(context.Background()) + defer s1.Close() c1, shutdown := runServer(cm1, s1, wm1) defer shutdown() w1, err := c1.AddWallet(api.WalletUpdateRequest{Name: "primary"}) @@ -983,7 +984,8 @@ func TestP2P(t *testing.T) { UniqueID: gateway.GenerateUniqueID(), NetAddress: l2.Addr().String(), }, syncer.WithLogger(zaptest.NewLogger(t))) - go s2.Run() + go s2.Run(context.Background()) + defer s2.Close() c2, shutdown2 := runServer(cm2, s2, wm2) defer shutdown2() diff --git a/cmd/walletd/main.go b/cmd/walletd/main.go index a7b90d2..0b7f5ca 100644 --- a/cmd/walletd/main.go +++ b/cmd/walletd/main.go @@ -91,6 +91,10 @@ func check(context string, err error) { } func mustSetAPIPassword() { + if cfg.HTTP.Password != "" { + return + } + // retry until a valid API password is entered for { fmt.Println("Please choose a password to unlock walletd.") diff --git a/cmd/walletd/node.go b/cmd/walletd/node.go index 62aaea5..dedde8f 100644 --- a/cmd/walletd/node.go +++ b/cmd/walletd/node.go @@ -143,6 +143,7 @@ func runNode(ctx context.Context, cfg config.Config, log *zap.Logger) error { if err != nil { return fmt.Errorf("failed to create wallet manager: %w", err) } + defer wm.Close() api := jape.BasicAuth(cfg.HTTP.Password)(api.NewServer(cm, s, wm)) web := walletd.Handler() diff --git a/go.mod b/go.mod index e545068..df040fb 100644 --- a/go.mod +++ b/go.mod @@ -6,8 +6,8 @@ toolchain go1.22.3 require ( github.com/mattn/go-sqlite3 v1.14.22 - go.sia.tech/core v0.4.1 - go.sia.tech/coreutils v0.2.1 + go.sia.tech/core v0.4.2 + go.sia.tech/coreutils v0.2.2 go.sia.tech/jape v0.12.0 go.sia.tech/web/walletd v0.22.3 go.uber.org/zap v1.27.0 @@ -26,6 +26,6 @@ require ( go.sia.tech/web v0.0.0-20240610131903-5611d44a533e // indirect go.uber.org/multierr v1.11.0 // indirect golang.org/x/crypto v0.25.0 // indirect - golang.org/x/sys v0.22.0 // indirect + golang.org/x/sys v0.23.0 // indirect golang.org/x/tools v0.22.0 // indirect ) diff --git a/go.sum b/go.sum index 99222bd..5f6ec93 100644 --- a/go.sum +++ b/go.sum @@ -12,10 +12,10 @@ github.com/stretchr/testify v1.8.1 h1:w7B6lhMri9wdJUVmEZPGGhZzrYTPvgJArz7wNPgYKs github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= go.etcd.io/bbolt v1.3.10 h1:+BqfJTcCzTItrop8mq/lbzL8wSGtj94UO/3U31shqG0= go.etcd.io/bbolt v1.3.10/go.mod h1:bK3UQLPJZly7IlNmV7uVHJDxfe5aK9Ll93e/74Y9oEQ= -go.sia.tech/core v0.4.1 h1:yawkyvr7mHYKWXa8RsHAPriLtJdvDQzqXgq4/hHqjHQ= -go.sia.tech/core v0.4.1/go.mod h1:6dN3J2GDX+f8H2p82MJ7V4BFdnmgoHAiovfmBD/F1Hg= -go.sia.tech/coreutils v0.2.1 h1:XReDUlSt9DM2P2hOEsYtdd8IdHCIyElkXbhQEVm2boY= -go.sia.tech/coreutils v0.2.1/go.mod h1:WvdQ0xUb4QXuMip3rZfZph5TSMGWJ7wNZ6WicEvL+Jc= +go.sia.tech/core v0.4.2 h1:5VCRuRJAOy0cWwG32IGB0BXQAviXgKRfNXOiU0zSViM= +go.sia.tech/core v0.4.2/go.mod h1:cGfGNcyAq1k4oIOsrNpJV/Z/p+20/IMS6vIaofE8nr8= +go.sia.tech/coreutils v0.2.2 h1:WWbuk4lEd5SVB/LoBsPG6+heZN2olZT4yOkRZd3pvpg= +go.sia.tech/coreutils v0.2.2/go.mod h1:0D0NLh0c0pBUNKPoO/rDtyyRapB5j4/gfATNyQO67Rs= go.sia.tech/jape v0.12.0 h1:13fBi7c5X8zxTQ05Cd9ZsIfRJgdvGoZqbEzH861z7BU= go.sia.tech/jape v0.12.0/go.mod h1:wU+h6Wh5olDjkPXjF0tbZ1GDgoZ6VTi4naFw91yyWC4= go.sia.tech/mux v1.2.0 h1:ofa1Us9mdymBbGMY2XH/lSpY8itFsKIo/Aq8zwe+GHU= @@ -37,8 +37,8 @@ golang.org/x/mod v0.18.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/sync v0.7.0 h1:YsImfSBoP9QPYL0xyKJPq0gcaJdG3rInoqxTWbfQu9M= golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20190626221950-04f50cda93cb/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.22.0 h1:RI27ohtqKCnwULzJLqkv897zojh5/DwS/ENaMzUOaWI= -golang.org/x/sys v0.22.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.23.0 h1:YfKFowiIMvtgl1UERQoTPPToxltDeZfbj4H7dVUCwmM= +golang.org/x/sys v0.23.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.22.0 h1:BbsgPEJULsl2fV/AT3v15Mjva5yXKQDyKf+TbDz7QJk= golang.org/x/term v0.22.0/go.mod h1:F3qCibpT5AMpCRfhfT53vVJwhLtIVHhB9XDjfFvnMI4= golang.org/x/tools v0.22.0 h1:gqSGLZqv+AI9lIQzniJ0nZDRG5GBPsSi+DRNHWNz6yA=