diff --git a/go.mod b/go.mod index fcb7211..50621df 100644 --- a/go.mod +++ b/go.mod @@ -4,10 +4,13 @@ go 1.25.1 require ( github.com/BlockRazorinc/solana-trader-client-go v0.0.0-20250722092120-44561cb37455 + github.com/gagliardetto/binary v0.8.0 github.com/gagliardetto/solana-go v1.12.0 + github.com/hashicorp/golang-lru/v2 v2.0.7 github.com/mr-tron/base58 v1.2.0 github.com/near/borsh-go v0.3.2-0.20220516180422-1ff87d108454 github.com/panjf2000/ants/v2 v2.11.4 + github.com/quic-go/quic-go v0.58.0 github.com/shopspring/decimal v1.4.0 google.golang.org/grpc v1.75.0 google.golang.org/protobuf v1.36.10 @@ -19,10 +22,8 @@ require ( github.com/blendle/zapdriver v1.3.1 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/fatih/color v1.9.0 // indirect - github.com/gagliardetto/binary v0.8.0 // indirect github.com/gagliardetto/treeout v0.1.4 // indirect github.com/google/uuid v1.6.0 // indirect - github.com/hashicorp/golang-lru/v2 v2.0.7 // indirect github.com/json-iterator/go v1.1.12 // indirect github.com/klauspost/compress v1.13.6 // indirect github.com/logrusorgru/aurora v2.0.3+incompatible // indirect @@ -32,7 +33,6 @@ require ( github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect github.com/mostynb/zstdpool-freelist v0.0.0-20201229113212-927304c0c3b1 // indirect - github.com/quic-go/quic-go v0.58.0 // indirect github.com/streamingfast/logging v0.0.0-20230608130331-f22c91403091 // indirect go.mongodb.org/mongo-driver v1.12.2 // indirect go.uber.org/atomic v1.7.0 // indirect diff --git a/go.sum b/go.sum index 11e0483..eb5b883 100644 --- a/go.sum +++ b/go.sum @@ -88,9 +88,8 @@ github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+ github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA= -github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U= +github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U= github.com/test-go/testify v1.1.4 h1:Tf9lntrKUMHiXQ07qBScBTSA0dhYQlu83hswqelv1iE= github.com/test-go/testify v1.1.4/go.mod h1:rH7cfJo/47vWGdi4GPj16x3/t1xGOj2YxzmNQzk2ghU= github.com/xdg-go/pbkdf2 v1.0.0/go.mod h1:jrpuAogTd400dnrH08LKmI/xc1MbPOebTwRqcT5RDeI= @@ -118,6 +117,8 @@ go.uber.org/atomic v1.7.0 h1:ADUqmZGgLDDfbSL9ZmPxKTybcoEYHgpYfELNoN+7hsw= go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/goleak v1.1.11 h1:wy28qYRKZgnJTxGxvye5/wgWr1EKjmUDGYox5mGlRlI= go.uber.org/goleak v1.1.11/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= +go.uber.org/mock v0.5.2 h1:LbtPTcP8A5k9WPXj54PPPbjcI4Y6lhyOZXn+VS7wNko= +go.uber.org/mock v0.5.2/go.mod h1:wLlUxC2vVTPTaE3UD51E0BGOAElKrILxhVSDYQLld5o= go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= go.uber.org/multierr v1.6.0 h1:y6IPFStTAIT5Ytl7/XYmHvzXQ7S3g/IeZW9hyZ5thw4= go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= diff --git a/pkg/shreder/client.go b/pkg/shreder/client.go index d4fcb80..ee23a35 100644 --- a/pkg/shreder/client.go +++ b/pkg/shreder/client.go @@ -128,10 +128,14 @@ func (c *Client) ReadSync(ctx context.Context, txCh chan<- TxSignalBatch) error return err } + // reboot the pool + c.pool.Reboot() + for { - response, err := stream.Recv() + var response *SubscribeTransactionsResponse + response, err = stream.Recv() if err != nil { - return err + break } if c.enableBlockStats { @@ -165,7 +169,12 @@ func (c *Client) ReadSync(ctx context.Context, txCh chan<- TxSignalBatch) error } }) if err != nil { - return err + break } } + + // sync waiting for all tasks to complete + c.pool.Release() + + return err }