v2: increase transactions per tick to 4096 and drop pkg/errors#35
Merged
Conversation
Raises NumberOfTransactionsPerTick from 1024 to 4096. Struct sizes that derive from it (TickData.TransactionDigests/ContractFees, TransactionStatus.MoneyFlew, RequestTickTransactions.TransactionFlags) resize automatically; remaining hardcoded [1024] occurrences now use the named constant. Module path updated to /v2 per Go module versioning rules so consumers can `go get @v2`. Integration test build tag flipped from `!ci` (exclude-in-CI) to `integration` (opt-in), and the CI workflow drops the `-tags ci` flag. Go toolchain bumped to 1.26 and direct/indirect dependencies refreshed.
qubicmio
approved these changes
May 13, 2026
0xluk
added a commit
to qubic/go-archiver-v2
that referenced
this pull request
May 13, 2026
Bumps go-node-connector to v2 (pseudo-version from qubic/go-node-connector#35), which raises NumberOfTransactionsPerTick from 1024 to 4096. Resizes archiver-v2's hardcoded [1024] / [128]byte literals to use the named constant so future bumps auto-scale. Migrates the remaining pkg/errors call sites in this repo to stdlib errors / fmt.Errorf so we can drop the direct dependency.
5 tasks
The ContractFees array is indexed by contract, not by transaction, so it should not scale with NumberOfTransactionsPerTick. Reintroduce the distinct constant (kept at 1024) and update the affected test fixtures.
0xluk
added a commit
to qubic/go-archiver-v2
that referenced
this pull request
May 13, 2026
Upstream reverted the accidental ContractFees bump in qubic/go-node-connector#35: the field is now sized by MaxNumberOfContracts (1024) rather than NumberOfTransactionsPerTick (4096). Bump the pseudo-version to the revert commit and adjust contractFeesToProto + its test fixture to match.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
1024 → 4096 sites
NumberOfTransactionsPerTickis raised from 1024 to 4096 intypes/tick.go:10. The following struct fields are sized off that constant and therefore grow on the wire:TickData.TransactionDigeststypes/tick.go:25—[NumberOfTransactionsPerTick][32]byteTransactionStatus.MoneyFlewtypes/transaction.go:222—[(NumberOfTransactionsPerTick + 7) / 8]byteRequestTickTransactions.TransactionFlags(anonymous struct inGetTickTransactions)qubic.go:201—[types.NumberOfTransactionsPerTick / 8]uint8TickData.ContractFeesis not scaled with this constant — it is indexed by contract, not by transaction. It now uses a newMaxNumberOfContracts = 1024constant (types/tick.go:11, field attypes/tick.go:27) and keeps its original size.Other changes
github.com/qubic/go-node-connector/v2per Go's major version suffix rule; all internal imports updated to match. Breaking change — consumers must update import paths and bump to@v2.github.com/pkg/errorsto stdlib:errors.Wrap/Wrapf→fmt.Errorf("...: %w", err),errors.Errorf→fmt.Errorf,errors.Newkept against the stdlib package.pkg/errorsis no longer a direct dependency (remains// indirectviago-schnorrq). Imports regrouped stdlib / external.!ci(exclude-in-CI) tointegration(opt-in), and drops-tags cifrom the CI workflow so defaultgo test ./...skips network-dependent tests.Test plan
go build ./...is cleango test ./...(no tags) passes locally and in CIgo test -tags=integration ./...is the new opt-in for network testsv2.0.0sogo get github.com/qubic/go-node-connector/v2resolves