Skip to content

Commit 62888e3

Browse files
authored
fix: tests, ci failures, minor dep updates (#52)
* build(deps): update dependencies in go.mod Bump versions for several dependencies to ensure compatibility and security. * refactor(bump): update multiSubtreeTestSetup return values Modified the return values of multiSubtreeTestSetup to include allLeaves, subtreeHashes, and blockRoot for improved data handling in tests. * fix(sse): prevent writes after close in sseWriter Added a closed flag to sseWriter to ensure that no writes occur after the writer is closed, preventing potential errors during HTTP response finalization. * refactor(sse): improve status handling in SSE store Refactored status management in sseStoreStub to use a dedicated setStatus method for better concurrency control and clarity. * fix(tests): skip benchmark if postgres is unavailable * refactor(postgres): improve status handling in BatchGetOrInsertStatus Refactored input normalization to avoid race conditions by computing defaults into local variables. This change ensures that shared input slices across goroutines remain unmodified, preventing potential data races.
1 parent 0e8cd2d commit 62888e3

10 files changed

Lines changed: 323 additions & 239 deletions

File tree

bump/bump_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -190,7 +190,7 @@ func multiSubtreeTestSetup(numSubtrees, subtreeSize int) (allLeaves [][]chainhas
190190
}
191191

192192
blockRoot = computeMerkleRootFromLeaves(subtreeHashes)
193-
return
193+
return allLeaves, subtreeHashes, blockRoot
194194
}
195195

196196
// setupCoinbaseBlock creates a block with a coinbase placeholder at subtree 0, offset 0.

go.mod

Lines changed: 59 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -3,21 +3,21 @@ module github.com/bsv-blockchain/arcade
33
go 1.26.0
44

55
require (
6-
github.com/IBM/sarama v1.47.0
7-
github.com/aerospike/aerospike-client-go/v7 v7.7.3
8-
github.com/bsv-blockchain/go-chaintracks v1.2.4
9-
github.com/bsv-blockchain/go-p2p-message-bus v0.1.16
6+
github.com/IBM/sarama v1.48.0
7+
github.com/aerospike/aerospike-client-go/v7 v7.10.2
8+
github.com/bsv-blockchain/go-chaintracks v1.2.5
9+
github.com/bsv-blockchain/go-p2p-message-bus v0.1.17
1010
github.com/bsv-blockchain/go-sdk v1.2.23
11-
github.com/bsv-blockchain/go-teranode-p2p-client v0.2.2
12-
github.com/bsv-blockchain/teranode v0.14.3
11+
github.com/bsv-blockchain/go-teranode-p2p-client v0.2.4
12+
github.com/bsv-blockchain/teranode v0.15.0-beta-3
1313
github.com/cockroachdb/pebble v1.1.5
1414
github.com/fergusstrange/embedded-postgres v1.34.0
15-
github.com/gin-gonic/gin v1.10.0
15+
github.com/gin-gonic/gin v1.12.0
1616
github.com/jackc/pgx/v5 v5.9.2
1717
github.com/prometheus/client_golang v1.23.2
18-
github.com/spf13/cobra v1.10.1
18+
github.com/spf13/cobra v1.10.2
1919
github.com/spf13/viper v1.21.0
20-
go.uber.org/zap v1.27.1
20+
go.uber.org/zap v1.28.0
2121
golang.org/x/sync v0.20.0
2222
)
2323

@@ -27,25 +27,25 @@ require (
2727
github.com/DATA-DOG/go-sqlmock v1.5.2 // indirect
2828
github.com/DataDog/zstd v1.5.7 // indirect
2929
github.com/aerospike/aerospike-client-go/v8 v8.7.0 // indirect
30-
github.com/aws/aws-sdk-go-v2 v1.41.6 // indirect
31-
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.9 // indirect
32-
github.com/aws/aws-sdk-go-v2/config v1.32.16 // indirect
33-
github.com/aws/aws-sdk-go-v2/credentials v1.19.15 // indirect
34-
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.22 // indirect
35-
github.com/aws/aws-sdk-go-v2/feature/s3/transfermanager v0.1.18 // indirect
36-
github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.22 // indirect
37-
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.22 // indirect
38-
github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.23 // indirect
39-
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.8 // indirect
40-
github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.9.14 // indirect
41-
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.22 // indirect
42-
github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.22 // indirect
43-
github.com/aws/aws-sdk-go-v2/service/s3 v1.100.0 // indirect
44-
github.com/aws/aws-sdk-go-v2/service/signin v1.0.10 // indirect
45-
github.com/aws/aws-sdk-go-v2/service/sso v1.30.16 // indirect
46-
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.35.20 // indirect
47-
github.com/aws/aws-sdk-go-v2/service/sts v1.42.0 // indirect
48-
github.com/aws/smithy-go v1.25.0 // indirect
30+
github.com/aws/aws-sdk-go-v2 v1.41.7 // indirect
31+
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.10 // indirect
32+
github.com/aws/aws-sdk-go-v2/config v1.32.17 // indirect
33+
github.com/aws/aws-sdk-go-v2/credentials v1.19.16 // indirect
34+
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.23 // indirect
35+
github.com/aws/aws-sdk-go-v2/feature/s3/transfermanager v0.1.19 // indirect
36+
github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.23 // indirect
37+
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.23 // indirect
38+
github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.24 // indirect
39+
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.9 // indirect
40+
github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.9.15 // indirect
41+
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.23 // indirect
42+
github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.23 // indirect
43+
github.com/aws/aws-sdk-go-v2/service/s3 v1.100.1 // indirect
44+
github.com/aws/aws-sdk-go-v2/service/signin v1.0.11 // indirect
45+
github.com/aws/aws-sdk-go-v2/service/sso v1.30.17 // indirect
46+
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.35.21 // indirect
47+
github.com/aws/aws-sdk-go-v2/service/sts v1.42.1 // indirect
48+
github.com/aws/smithy-go v1.25.1 // indirect
4949
github.com/benbjohnson/clock v1.3.5 // indirect
5050
github.com/beorn7/perks v1.0.1 // indirect
5151
github.com/bsv-blockchain/go-batcher v1.2.11 // indirect
@@ -56,17 +56,17 @@ require (
5656
github.com/bsv-blockchain/go-subtree v1.3.0 // indirect
5757
github.com/bsv-blockchain/go-tx-map v1.3.4 // indirect
5858
github.com/bsv-blockchain/go-wire v1.2.2 // indirect
59-
github.com/bytedance/sonic v1.11.6 // indirect
60-
github.com/bytedance/sonic/loader v0.1.1 // indirect
59+
github.com/bytedance/gopkg v0.1.4 // indirect
60+
github.com/bytedance/sonic v1.15.1 // indirect
61+
github.com/bytedance/sonic/loader v0.5.1 // indirect
6162
github.com/cenkalti/backoff/v5 v5.0.3 // indirect
6263
github.com/cespare/xxhash/v2 v2.3.0 // indirect
63-
github.com/cloudwego/base64x v0.1.4 // indirect
64-
github.com/cloudwego/iasm v0.2.0 // indirect
65-
github.com/cockroachdb/errors v1.11.3 // indirect
66-
github.com/cockroachdb/fifo v0.0.0-20240606204812-0bbfbd93a7ce // indirect
67-
github.com/cockroachdb/logtags v0.0.0-20230118201751-21c54148d20b // indirect
68-
github.com/cockroachdb/redact v1.1.5 // indirect
69-
github.com/cockroachdb/tokenbucket v0.0.0-20230807174530-cc333fc44b06 // indirect
64+
github.com/cloudwego/base64x v0.1.7 // indirect
65+
github.com/cockroachdb/errors v1.13.0 // indirect
66+
github.com/cockroachdb/fifo v0.0.0-20240816210425-c5d0cb0b6fc0 // indirect
67+
github.com/cockroachdb/logtags v0.0.0-20241215232642-bb51bb14a506 // indirect
68+
github.com/cockroachdb/redact v1.1.8 // indirect
69+
github.com/cockroachdb/tokenbucket v0.0.0-20250429170803-42689b6311bb // indirect
7070
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
7171
github.com/davidlazar/go-crypto v0.0.0-20200604182044-b73af7476f6c // indirect
7272
github.com/decred/dcrd/dcrec/secp256k1/v4 v4.4.1 // indirect
@@ -79,14 +79,15 @@ require (
7979
github.com/dustin/go-humanize v1.0.1 // indirect
8080
github.com/eapache/go-resiliency v1.7.0 // indirect
8181
github.com/eapache/queue v1.1.0 // indirect
82+
github.com/ebitengine/purego v0.10.0 // indirect
8283
github.com/emicklei/go-restful/v3 v3.13.0 // indirect
8384
github.com/filecoin-project/go-clock v0.1.0 // indirect
8485
github.com/flynn/noise v1.1.0 // indirect
85-
github.com/fsnotify/fsnotify v1.9.0 // indirect
86+
github.com/fsnotify/fsnotify v1.10.0 // indirect
8687
github.com/fxamacker/cbor/v2 v2.9.1 // indirect
8788
github.com/gabriel-vasile/mimetype v1.4.13 // indirect
88-
github.com/getsentry/sentry-go v0.27.0 // indirect
89-
github.com/gin-contrib/sse v0.1.0 // indirect
89+
github.com/getsentry/sentry-go v0.46.1 // indirect
90+
github.com/gin-contrib/sse v1.1.1 // indirect
9091
github.com/go-logr/logr v1.4.3 // indirect
9192
github.com/go-logr/stdr v1.2.2 // indirect
9293
github.com/go-openapi/jsonpointer v0.23.1 // indirect
@@ -105,9 +106,10 @@ require (
105106
github.com/go-openapi/swag/yamlutils v0.26.0 // indirect
106107
github.com/go-playground/locales v0.14.1 // indirect
107108
github.com/go-playground/universal-translator v0.18.1 // indirect
108-
github.com/go-playground/validator/v10 v10.20.0 // indirect
109+
github.com/go-playground/validator/v10 v10.30.2 // indirect
109110
github.com/go-viper/mapstructure/v2 v2.5.0 // indirect
110-
github.com/goccy/go-json v0.10.2 // indirect
111+
github.com/goccy/go-json v0.10.6 // indirect
112+
github.com/goccy/go-yaml v1.19.2 // indirect
111113
github.com/gogo/protobuf v1.3.2 // indirect
112114
github.com/golang/snappy v1.0.0 // indirect
113115
github.com/google/flatbuffers v25.12.19+incompatible // indirect
@@ -123,7 +125,7 @@ require (
123125
github.com/hashicorp/golang-lru/v2 v2.0.7 // indirect
124126
github.com/huin/goupnp v1.3.0 // indirect
125127
github.com/inconshreveable/mousetrap v1.1.0 // indirect
126-
github.com/ipfs/boxo v0.38.0 // indirect
128+
github.com/ipfs/boxo v0.39.0 // indirect
127129
github.com/ipfs/go-cid v0.6.1 // indirect
128130
github.com/ipfs/go-datastore v0.9.1 // indirect
129131
github.com/ipfs/go-log/v2 v2.9.1 // indirect
@@ -158,7 +160,7 @@ require (
158160
github.com/libp2p/go-libp2p-asn-util v0.4.1 // indirect
159161
github.com/libp2p/go-libp2p-kad-dht v0.39.1 // indirect
160162
github.com/libp2p/go-libp2p-kbucket v0.8.0 // indirect
161-
github.com/libp2p/go-libp2p-pubsub v0.15.0 // indirect
163+
github.com/libp2p/go-libp2p-pubsub v0.16.0 // indirect
162164
github.com/libp2p/go-libp2p-record v0.3.1 // indirect
163165
github.com/libp2p/go-libp2p-routing-helpers v0.7.5 // indirect
164166
github.com/libp2p/go-msgio v0.3.0 // indirect
@@ -169,7 +171,7 @@ require (
169171
github.com/looplab/fsm v1.0.3 // indirect
170172
github.com/marten-seemann/tcp v0.0.0-20210406111302-dfbc87cc63fd // indirect
171173
github.com/mattn/go-colorable v0.1.14 // indirect
172-
github.com/mattn/go-isatty v0.0.21 // indirect
174+
github.com/mattn/go-isatty v0.0.22 // indirect
173175
github.com/mgutz/ansi v0.0.0-20200706080929-d51e80ef957d // indirect
174176
github.com/miekg/dns v1.1.72 // indirect
175177
github.com/mikioh/tcpinfo v0.0.0-20190314235526-30a79bb1804b // indirect
@@ -197,19 +199,19 @@ require (
197199
github.com/pion/datachannel v1.6.0 // indirect
198200
github.com/pion/dtls/v3 v3.1.2 // indirect
199201
github.com/pion/ice/v4 v4.2.5 // indirect
200-
github.com/pion/interceptor v0.1.44 // indirect
202+
github.com/pion/interceptor v0.1.45 // indirect
201203
github.com/pion/logging v0.2.4 // indirect
202204
github.com/pion/mdns/v2 v2.1.0 // indirect
203205
github.com/pion/randutil v0.1.0 // indirect
204206
github.com/pion/rtcp v1.2.16 // indirect
205207
github.com/pion/rtp v1.10.1 // indirect
206-
github.com/pion/sctp v1.9.4 // indirect
208+
github.com/pion/sctp v1.9.5 // indirect
207209
github.com/pion/sdp/v3 v3.0.18 // indirect
208210
github.com/pion/srtp/v3 v3.0.10 // indirect
209211
github.com/pion/stun/v3 v3.1.2 // indirect
210212
github.com/pion/transport/v4 v4.0.1 // indirect
211213
github.com/pion/turn/v5 v5.0.3 // indirect
212-
github.com/pion/webrtc/v4 v4.2.11 // indirect
214+
github.com/pion/webrtc/v4 v4.2.12 // indirect
213215
github.com/pkg/errors v0.9.1 // indirect
214216
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
215217
github.com/polydawn/refmt v0.89.1-0.20231129105047-37766d95467a // indirect
@@ -237,7 +239,7 @@ require (
237239
github.com/twmb/franz-go v1.21.0 // indirect
238240
github.com/twmb/franz-go/pkg/kadm v1.18.0 // indirect
239241
github.com/twmb/franz-go/pkg/kmsg v1.13.1 // indirect
240-
github.com/ugorji/go/codec v1.2.12 // indirect
242+
github.com/ugorji/go/codec v1.3.1 // indirect
241243
github.com/valyala/bytebufferpool v1.0.0 // indirect
242244
github.com/valyala/fasttemplate v1.2.2 // indirect
243245
github.com/wadey/gocovmerge v0.0.0-20160331181800-b5bfa59ec0ad // indirect
@@ -246,6 +248,7 @@ require (
246248
github.com/x448/float16 v0.8.4 // indirect
247249
github.com/xi2/xz v0.0.0-20171230120015-48954b6210f8 // indirect
248250
github.com/yuin/gopher-lua v1.1.2 // indirect
251+
go.mongodb.org/mongo-driver/v2 v2.6.0 // indirect
249252
go.opentelemetry.io/auto/sdk v1.2.1 // indirect
250253
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.68.0 // indirect
251254
go.opentelemetry.io/otel v1.43.0 // indirect
@@ -261,21 +264,21 @@ require (
261264
go.uber.org/multierr v1.11.0 // indirect
262265
go.yaml.in/yaml/v2 v2.4.4 // indirect
263266
go.yaml.in/yaml/v3 v3.0.4 // indirect
264-
golang.org/x/arch v0.8.0 // indirect
267+
golang.org/x/arch v0.26.0 // indirect
265268
golang.org/x/crypto v0.50.0 // indirect
266269
golang.org/x/exp v0.0.0-20260410095643-746e56fc9e2f // indirect
267270
golang.org/x/mod v0.35.0 // indirect
268271
golang.org/x/net v0.53.0 // indirect
269272
golang.org/x/oauth2 v0.36.0 // indirect
270273
golang.org/x/sys v0.43.0 // indirect
271-
golang.org/x/telemetry v0.0.0-20260421165255-392afab6f40e // indirect
274+
golang.org/x/telemetry v0.0.0-20260428171046-76f71b9afea0 // indirect
272275
golang.org/x/term v0.42.0 // indirect
273276
golang.org/x/text v0.36.0 // indirect
274277
golang.org/x/time v0.15.0 // indirect
275278
golang.org/x/tools v0.44.0 // indirect
276279
gonum.org/v1/gonum v0.17.0 // indirect
277-
google.golang.org/genproto/googleapis/api v0.0.0-20260420184626-e10c466a9529 // indirect
278-
google.golang.org/genproto/googleapis/rpc v0.0.0-20260420184626-e10c466a9529 // indirect
280+
google.golang.org/genproto/googleapis/api v0.0.0-20260427160629-7cedc36a6bc4 // indirect
281+
google.golang.org/genproto/googleapis/rpc v0.0.0-20260427160629-7cedc36a6bc4 // indirect
279282
google.golang.org/grpc v1.80.0 // indirect
280283
google.golang.org/protobuf v1.36.12-0.20260120151049-f2248ac996af // indirect
281284
gopkg.in/evanphx/json-patch.v4 v4.13.0 // indirect
@@ -285,13 +288,13 @@ require (
285288
k8s.io/apimachinery v0.36.0 // indirect
286289
k8s.io/client-go v0.36.0 // indirect
287290
k8s.io/klog/v2 v2.140.0 // indirect
288-
k8s.io/kube-openapi v0.0.0-20260414162039-ec9c827d403f // indirect
291+
k8s.io/kube-openapi v0.0.0-20260427204847-8949caaa1199 // indirect
289292
k8s.io/utils v0.0.0-20260319190234-28399d86e0b5 // indirect
290293
lukechampine.com/blake3 v1.4.1 // indirect
291-
modernc.org/libc v1.72.0 // indirect
294+
modernc.org/libc v1.72.1 // indirect
292295
modernc.org/mathutil v1.7.1 // indirect
293296
modernc.org/memory v1.11.0 // indirect
294-
modernc.org/sqlite v1.49.1 // indirect
297+
modernc.org/sqlite v1.50.0 // indirect
295298
sigs.k8s.io/json v0.0.0-20250730193827-2d320260d730 // indirect
296299
sigs.k8s.io/randfill v1.0.0 // indirect
297300
sigs.k8s.io/structured-merge-diff/v6 v6.4.0 // indirect

0 commit comments

Comments
 (0)