Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
373 commits
Select commit Hold shift + click to select a range
c819417
merged with develop
rdeioris Oct 20, 2025
abbac45
removed automatic tenure extend based on tenure size
rdeioris Oct 20, 2025
ad8e934
removed space
rdeioris Oct 20, 2025
591d431
added docs for log_skipped_transactions
rdeioris Oct 20, 2025
1800f4f
added docs for max_tenure_bytes
rdeioris Oct 20, 2025
7f06876
Merge branch 'develop' of https://github.com/stacks-network/stacks-co…
jferrant Oct 21, 2025
aeda2f6
Add comments to the new error variants in CheckErrorKind
jferrant Oct 21, 2025
c215d2b
Merge pull request #6596 from jferrant/chore/merge-develop-to-aac-cli…
jacinta-stacks Oct 22, 2025
d4d08b8
Merge branch 'develop' of https://github.com/stacks-network/stacks-co…
jferrant Oct 22, 2025
0f36e8a
added warning if tenure size cannot be retrieved
rdeioris Oct 23, 2025
f256d9b
Merge branch 'develop' into feat/max_tenure_bytes
rdeioris Oct 23, 2025
cb31de3
fix: not show empty `Stack Trace`
lunargon Aug 26, 2025
1eb48de
Add support for pre naka blocks
jacinta-stacks Oct 27, 2025
59c48ea
Merge branch 'develop' of https://github.com/stacks-network/stacks-co…
jacinta-stacks Oct 27, 2025
166305b
Merge branch 'develop' of https://github.com/stacks-network/stacks-co…
jacinta-stacks Oct 27, 2025
609849e
Fix bad merge
jacinta-stacks Oct 27, 2025
0d2e5fa
Set lower block limits
jacinta-stacks Oct 27, 2025
0db522b
chore: make aac macros usable from other modules, #6627
federico-stacks Oct 28, 2025
1eead86
chore: aac add clarity_types as test dependency for doc purpose, #6627
federico-stacks Oct 28, 2025
c01f81e
test: aac add consensus coverage for ParseError variants subset (11),…
federico-stacks Oct 28, 2025
9f8c670
Merge branch 'develop' of https://github.com/stacks-network/stacks-co…
jacinta-stacks Oct 28, 2025
ed30abc
Generate Epoch List on the Fly
jacinta-stacks Oct 28, 2025
eafad79
Fix Clarity versions per Epoch and update contract_call_consensus_tes…
jacinta-stacks Oct 28, 2025
3650058
Merge branch 'develop' of https://github.com/stacks-network/stacks-co…
jacinta-stacks Oct 28, 2025
ac55c7b
Merge branch 'develop' of https://github.com/stacks-network/stacks-co…
jacinta-stacks Oct 28, 2025
d94b35c
Merge pull request #6618 from jacinta-stacks/chore/merge-develop-to-a…
jacinta-stacks Oct 29, 2025
f3e0eec
Remove FromGlobalHeight from scenario tests as it has a race condition
jacinta-stacks Oct 29, 2025
079b3f7
chore: add test utils to generate txs
hstove-stacks Oct 29, 2025
efe46b5
chore: add ability to add extra tenures in boot plan
hstove-stacks Oct 29, 2025
1f74b8b
fix: set `event.committed` from post_condition_aborted
hstove-stacks Oct 29, 2025
433d245
Merge remote-tracking branch 'core/develop' into fix/replayblock-rpc-…
hstove-stacks Oct 29, 2025
312c584
fix: check errors after merge
hstove-stacks Oct 29, 2025
f7243c7
fix: ensure vm_error is present with post condition failure
hstove-stacks Oct 29, 2025
7698014
merged with develop
rdeioris Oct 30, 2025
5f6c0c4
fixed signer test
rdeioris Oct 30, 2025
fe6a8d5
refactor: aac consensus macro just produce a test body, #6627
federico-stacks Oct 30, 2025
298959a
merge: address conflict with develop, #6627
federico-stacks Oct 30, 2025
2bd48ef
feat: add `--epoch` flag to clarity cli
obycode Oct 30, 2025
536728f
chore: update changelog
obycode Oct 30, 2025
f9203c5
chore: update changelog
hstove-stacks Oct 30, 2025
f63369c
fix: rpc unit test
hstove-stacks Oct 30, 2025
30c62fd
fix: add doc comment to `extra_tenures`
hstove-stacks Oct 30, 2025
a51025d
fix: use epoch
obycode Oct 30, 2025
ea5e1ed
Merge branch 'develop' of https://github.com/stacks-network/stacks-co…
jacinta-stacks Oct 30, 2025
7de7721
fix: Stacks CLI build
obycode Oct 30, 2025
ad1fbe9
fix: add openapi docs for new replay block fields
hstove-stacks Oct 30, 2025
7500516
Merge branch 'develop' of https://github.com/stacks-network/stacks-co…
jacinta-stacks Oct 30, 2025
ee4de3a
fix: add `vm_execute_in_epoch`
obycode Oct 30, 2025
13659d1
CRC: check for epoch at deployment time to enable better clarity vers…
jacinta-stacks Oct 30, 2025
2ac068b
crc: remove clarity_types dependency and use clarity crate aliases, #…
federico-stacks Oct 30, 2025
e6b10ed
chore: use custom epoch in `install_boot_code`
obycode Oct 30, 2025
f5af489
chore: update usage to show `--epoch E`
obycode Oct 30, 2025
d7c728a
CRC: rename some functions and improve their scope
jacinta-stacks Oct 30, 2025
84306cd
CRC: remove coinbase txs from epoch receipt for pre nakamoto tenures
jacinta-stacks Oct 30, 2025
421f4fc
add docstrings for CostErrors
Jiloc Oct 30, 2025
730fc6d
crc: clean contract code string literal, #6627
federico-stacks Oct 30, 2025
a81db5d
chore: aac fix ParseError::CircularReference indeterminism, #6627
federico-stacks Oct 31, 2025
c37946e
CRC: fix duplicate calls and cleanup ContractConsensusTest struct
jacinta-stacks Nov 1, 2025
76edefd
Merge branch 'develop' of https://github.com/stacks-network/stacks-co…
jacinta-stacks Nov 1, 2025
cac6d65
Merge branch 'develop' into chore/aac-parse-error-test
federico-stacks Nov 3, 2025
ce1988b
Merge branch 'develop' into fix/update-vm-error
obycode Nov 3, 2025
37ab0b2
Merge pull request #6638 from hstove-stacks/fix/replayblock-rpc-commi…
hstove-stacks Nov 3, 2025
74e94fc
Merge branch 'develop' of https://github.com/stacks-network/stacks-co…
jacinta-stacks Nov 3, 2025
14e13e2
Automatically create StacksEpochId::ALL from varients to prevent manu…
jacinta-stacks Nov 3, 2025
0e71860
Move functions around for easier understanding
jacinta-stacks Nov 3, 2025
6069c36
Split ConsensusTest's chain logic out to underlying ConsensusChain an…
jacinta-stacks Nov 3, 2025
0a44f6c
Create network_epoch helper function
jacinta-stacks Nov 3, 2025
ec23f0e
Merge pull request #6628 from obycode/fix/update-vm-error
brice-stacks Nov 3, 2025
779315b
Fmt
jacinta-stacks Nov 3, 2025
252142a
Merge pull request #6486 from rdeioris/feat/max_tenure_bytes
rob-stacks Nov 3, 2025
a7c544d
CRC: use the prepare phase start to determine if Epoch 2.5 or Epoch 3…
jacinta-stacks Nov 3, 2025
3ea9d35
CRC: use saturating sub in load_nakamoto_reward_set to ensure 0th cyc…
jacinta-stacks Nov 3, 2025
ea6f561
Merge pull request #6636 from jacinta-stacks/chore/fix-race-condition…
jacinta-stacks Nov 3, 2025
381398d
Move asserts about nakamoto boot state to a helper function that can …
jacinta-stacks Nov 3, 2025
e4e5ab6
Cannot use prepare phase length to determine reward set calculation
jacinta-stacks Nov 3, 2025
aa20011
Merge pull request #6641 from Jiloc/chore/document-cost-errors
francesco-stacks Nov 4, 2025
7fec308
CRC: cleanup comments and move epoch assertions into build_nakamoto_c…
jacinta-stacks Nov 4, 2025
6da8514
Cleanup assert_valid_epoch_3_0_activation and rename to validate_naka…
jacinta-stacks Nov 4, 2025
28a2a86
Merge branch 'develop' into chore/3.3.0.0.0_develop
wileyj Nov 4, 2025
70727c6
Fix tests that have reward cycle starting on boundary
jacinta-stacks Nov 5, 2025
b299a8c
Merge branch 'develop' of https://github.com/stacks-network/stacks-co…
jacinta-stacks Nov 5, 2025
52fc4c4
CRC: use the prepare phase start to determine if Epoch 2.5 or Epoch 3…
jacinta-stacks Nov 5, 2025
2486ed4
Merge branch 'develop' of https://github.com/stacks-network/stacks-co…
jacinta-stacks Nov 5, 2025
73130fe
Remove aac-client-breaking from clippy checks
jacinta-stacks Nov 5, 2025
d28f8bc
test: add unit tests for build_ast, #6627
federico-stacks Nov 5, 2025
83f08ad
test: improve parse consensus test and add VaryExpressionStackDepthTo…
federico-stacks Nov 5, 2025
1ff2cd8
Do not check epochs in new_with_observer
jacinta-stacks Nov 5, 2025
1ea97d3
test: add ExpectedWhitespace aac test, #6627
federico-stacks Nov 5, 2025
dc157e4
test: add UnexpectedToken aac test, #6627
federico-stacks Nov 6, 2025
d9c6948
test: add NameTooLong aac test, #6627
federico-stacks Nov 6, 2025
a0f34a8
chore: document variant_coverate_report, #6627
federico-stacks Nov 6, 2025
a04618b
test: add InvalidPrincipalLiteral aac test, #6627
federico-stacks Nov 6, 2025
42f94d6
test: add InvalidBuffer as unreachable, #6627
federico-stacks Nov 6, 2025
9e74b7c
test: add ExpectedContractIdentifier aac test, #6627
federico-stacks Nov 6, 2025
190f702
test: add ExpectedTraitIdentifier aac test, #6627
federico-stacks Nov 6, 2025
03368c7
test: add TupleColonExpectedv2 aac test, #6627
federico-stacks Nov 6, 2025
6145f1d
test: add TupleCommaExpectedv2 aac test, #6627
federico-stacks Nov 6, 2025
49935ab
test: add TupleValueExpected aac test, #6627
federico-stacks Nov 6, 2025
4b70a35
test: add ContractNameTooLong aac test, #6627
federico-stacks Nov 6, 2025
12c8d14
Merge pull request #6653 from wileyj/chore/3.3.0.0.0_develop
wileyj Nov 6, 2025
5a1b8c3
test: add IllegalASCIIString aac test, #6627
federico-stacks Nov 7, 2025
2924f6e
test: add IllegalContractName aac as unreachable, #6627
federico-stacks Nov 7, 2025
8c0a7fc
chore: fix failing unit tests, #6627
federico-stacks Nov 7, 2025
7848a34
test: update insta for test_illegal_ascii_string, #6627
federico-stacks Nov 7, 2025
d9aa4ed
Merge branch 'develop' into feat/cli_set_epoch
obycode Nov 7, 2025
77385f5
add missing usages in clarity_cli
simone-stacks Nov 7, 2025
169414c
add make_lcov to general usage info and add eval_raw examples in usage
simone-stacks Nov 10, 2025
a6e15f8
Make multiple matrices for running the integration tests
jacinta-stacks Nov 10, 2025
ae76b4f
Merge pull request #6663 from jacinta-stacks/chore/sep-tests-into-bal…
federico-stacks Nov 11, 2025
a28f579
keep linters happy
simone-stacks Nov 11, 2025
9ed382f
undo make_lcov usage messages
simone-stacks Nov 11, 2025
394ec13
remove make_lcov command
simone-stacks Nov 11, 2025
1057ea9
Merge branch 'develop' into chore/aac-parse-error-test
federico-stacks Nov 11, 2025
70a97a3
Merge pull request #6639 from obycode/feat/cli_set_epoch
brice-stacks Nov 11, 2025
6fe9c4d
Merge branch 'develop' into 3.3.0.0.1-to-develop
brice-stacks Nov 11, 2025
3389471
Merge branch 'develop' of https://github.com/stacks-network/stacks-co…
jacinta-stacks Nov 11, 2025
02c7ee4
Merge branch 'develop' of https://github.com/stacks-network/stacks-co…
jacinta-stacks Nov 11, 2025
270c9fb
Merge branch 'develop' into 3.3.0.0.1-to-develop
brice-stacks Nov 11, 2025
17d353e
fix: update chainstate version after conflict
brice-stacks Nov 11, 2025
fed2fec
Merge pull request #6655 from jacinta-stacks/merge-aac-client-breakin…
jacinta-stacks Nov 11, 2025
eedc81c
Properly exclude tests from CI runs
jacinta-stacks Nov 11, 2025
17a221c
Merge pull request #6675 from jacinta-stacks/fix/exclude-tests-in-ci
jacinta-stacks Nov 11, 2025
99a809e
Merge branch 'develop' into 3.3.0.0.1-to-develop
brice-stacks Nov 11, 2025
1d2cb2e
Merge pull request #6672 from simone-stacks/chore/remove-make-lcov-co…
simone-stacks Nov 12, 2025
df7b4a9
remove 3.2 from consensus tests epochs. update snapshots
Jiloc Nov 12, 2025
96b0fe6
test: add CostBalanceExceeded aac test, #6627
federico-stacks Nov 12, 2025
39dc20a
merge: manage conflicts with develop, #6627
federico-stacks Nov 12, 2025
c7c7fd6
Merge pull request #6676 from Jiloc/chore/update-consensus-tests-epochs
francesco-stacks Nov 12, 2025
dc555b4
Merge pull request #6673 from brice-stacks/3.3.0.0.1-to-develop
brice-stacks Nov 12, 2025
60bc908
merge: conflicts with develop, #6627
federico-stacks Nov 12, 2025
f5868e7
Merge branch 'develop' into chore/add-missing-usage-to-clarity-cli-co…
simone-stacks Nov 12, 2025
ab741ef
crc: improve doc api, #6627
federico-stacks Nov 12, 2025
c8468ad
Fix bootstrap setup of a few tests
jacinta-stacks Nov 12, 2025
8c55ee7
Merge branch 'develop' of https://github.com/stacks-network/stacks-co…
jacinta-stacks Nov 12, 2025
146ca51
fix: emit receipt for `costs-4` deploy
brice-stacks Nov 12, 2025
ebc8fb0
Merge pull request #6619 from jacinta-stacks/feat/expand-consensus-te…
jacinta-stacks Nov 12, 2025
71aaf5d
merge: conflicts with develop due to pr 6619, #6627
federico-stacks Nov 13, 2025
ac869b4
add missing epoch and clarity flags
simone-stacks Nov 13, 2025
c4f884f
Merge branch 'develop' into chore/add-missing-usage-to-clarity-cli-co…
simone-stacks Nov 13, 2025
3c33ef6
crc: fix NoteToMatchThis as unreachable, #6627
federico-stacks Nov 13, 2025
de77d02
crc: improve doc, #6627
federico-stacks Nov 13, 2025
1a5238a
Handle pre-naka blocks that may fail
jacinta-stacks Nov 14, 2025
0e08452
Merge branch 'develop' of https://github.com/stacks-network/stacks-co…
jacinta-stacks Nov 14, 2025
bdedb86
Cleanup
jacinta-stacks Nov 14, 2025
84fe56d
More cleanup
jacinta-stacks Nov 14, 2025
3ba954d
Remove interpreter result alias throughout
jacinta-stacks Nov 14, 2025
1186a4c
Merge pull request #6631 from federico-stacks/chore/aac-parse-error-test
federico-stacks Nov 14, 2025
66772cf
add first set of consensus tests for CheckErrorKind
Jiloc Nov 14, 2025
96677e4
add second set of consensus tests for CheckErrorKind
Jiloc Nov 14, 2025
a415642
add third set of consensus tests for CheckErrorKind
Jiloc Nov 14, 2025
97b1dc2
Merge branch 'develop' into chore/add-missing-usage-to-clarity-cli-co…
simone-stacks Nov 14, 2025
2662a10
Merge pull request #6668 from simone-stacks/chore/add-missing-usage-t…
jcnelson Nov 14, 2025
d0f7db7
CRC: use imported VmExecutionError
jacinta-stacks Nov 14, 2025
7c4f4ab
Merge branch 'develop' of https://github.com/stacks-network/stacks-co…
jacinta-stacks Nov 14, 2025
2d0e60f
Fix error string when converting string to ClarityVersion
jacinta-stacks Nov 14, 2025
20fcf57
Clarity version is only parsed in Clarity-Cli. Not appropriate to use…
jacinta-stacks Nov 14, 2025
987dd80
CRC: fix comment
jacinta-stacks Nov 14, 2025
9c94664
Merge pull request #6686 from Jiloc/chore/static-analysis-error-tests-1
francesco-stacks Nov 17, 2025
b41a286
Merge branch 'develop' into chore/move-clarity-cli-to-contrib
simone-stacks Nov 17, 2025
501be07
Merge branch 'develop' into chore/static-analysis-error-tests-2
Jiloc Nov 17, 2025
a04bec9
Merge branch 'develop' into chore/move-clarity-cli-to-contrib
simone-stacks Nov 17, 2025
aa1ba68
docs: added changelog about missing `costs-4` receipt
brice-stacks Nov 17, 2025
177f412
Update CHANGELOG.md
brice-stacks Nov 17, 2025
e025898
Merge pull request #6685 from jacinta-stacks/chore/remove-interpreter…
jacinta-stacks Nov 17, 2025
6d0e61b
Merge branch 'develop' of https://github.com/stacks-network/stacks-co…
jacinta-stacks Nov 17, 2025
acef361
CRC: cleanup
jacinta-stacks Nov 17, 2025
46d7bd1
Merge pull request #6689 from jacinta-stacks/chore/fix-clarity-error-…
jacinta-stacks Nov 17, 2025
813cd36
Merge branch 'develop' of https://github.com/stacks-network/stacks-co…
jacinta-stacks Nov 17, 2025
36cdeb6
Merge branch 'develop' into chore/move-clarity-cli-to-contrib
simone-stacks Nov 17, 2025
594a7be
Bad merge: update static-analysis tests
jacinta-stacks Nov 17, 2025
da5289b
Merge branch 'chore/move-clarity-cli-to-contrib' of https://github.co…
simone-stacks Nov 17, 2025
697fe43
Merge pull request #6684 from jacinta-stacks/fix/make-pre-naka-blocks…
jacinta-stacks Nov 17, 2025
dd1b787
Merge pull request #6679 from brice-stacks/fix/costs-4-receipt
brice-stacks Nov 17, 2025
cd03f6e
Merge branch 'develop' into chore/static-analysis-error-tests-2
Jiloc Nov 18, 2025
0e34ec2
update snapshots
Jiloc Nov 18, 2025
2ae56ec
Remove unused try_set_metadata
jacinta-stacks Nov 18, 2025
b386645
Rust fmt
jacinta-stacks Nov 18, 2025
a149699
remove CURRENT_TESTING_EPOCH and use StacksEpochId::latest() instead
simone-stacks Nov 19, 2025
159e798
add setup_contracts to contract consensus_test macros
Jiloc Nov 19, 2025
883ad61
add static_check_error_bad_trait_implementation
Jiloc Nov 19, 2025
36389fe
Merge pull request #6696 from jacinta-stacks/chore/remove-metadata-al…
jacinta-stacks Nov 19, 2025
1efff8e
Merge pull request #6687 from Jiloc/chore/static-analysis-error-tests-2
francesco-stacks Nov 19, 2025
2f06397
Merge branch 'develop' into chore/static-analysis-error-tests-3
Jiloc Nov 20, 2025
7d8bfb0
update snapshots
Jiloc Nov 20, 2025
bc862d8
add fourth set of consensus tests for static check errors
Jiloc Nov 20, 2025
d35184e
remove setup contracts from snapshot
Jiloc Nov 20, 2025
75e2bd6
Merge branch 'develop' into feat/add-setup-contracts-to-contract-cons…
Jiloc Nov 20, 2025
62fe5cb
Merge pull request #6529 from Jiloc/chore/move-clarity-cli-to-contrib
simone-stacks Nov 20, 2025
69f7379
feat: Add current_epoch to RPCPoxInfoData
charans29 Nov 9, 2025
487fde5
docs: Update /v2/pox endpoint documentation
charans29 Nov 9, 2025
37441cc
refactor: Simplify current epoch lookup by reading StacksEpochId
charans29 Nov 13, 2025
01e26c5
fix: Apply cargo fmt-stacks formatting
charans29 Nov 17, 2025
28bc737
Fix(CI): Resolve timeout in get_node_epoch_should_succeed
charans29 Nov 18, 2025
75403ea
feat: read-count extends in miner and signer
aaronb-stacks Nov 14, 2025
f4a7ff1
fail on valid, but failed setup contract deploy
Jiloc Nov 21, 2025
c8553e7
remove useless format!
Jiloc Nov 21, 2025
cdfacf2
Merge branch 'develop' into feat/add-setup-contracts-to-contract-cons…
Jiloc Nov 21, 2025
f3eaa16
add optional clarity_versions parameter to contract consensus tests
Jiloc Nov 21, 2025
c0d0e48
add pre-checks for clarity_versions and epochs_to_test
Jiloc Nov 21, 2025
2e98fa5
add docstrings for clarity_versions params
Jiloc Nov 21, 2025
08f3deb
clippy: fix doc lints
aaronb-stacks Nov 21, 2025
3f637ed
fix: add 401 response and `rpcAuth` to openapi spec
hstove-stacks Nov 21, 2025
d67c13b
declare excluded versions instead of included ones
Jiloc Nov 21, 2025
c51f407
use exclude_clarity_versions in two tests
Jiloc Nov 21, 2025
6e33578
Merge pull request #6706 from hstove-stacks/fix/openapi-rpc-auth
hstove-stacks Nov 21, 2025
6383464
update unit tests
aaronb-stacks Nov 21, 2025
f3f889f
Merge pull request #6699 from Jiloc/feat/add-setup-contracts-to-contr…
jacinta-stacks Nov 21, 2025
cda6a5e
Merge pull request #6688 from Jiloc/chore/static-analysis-error-tests-3
francesco-stacks Nov 21, 2025
d7345b4
Merge branch 'develop' into chore/static-analysis-error-tests-4
Jiloc Nov 21, 2025
7549019
Merge branch 'develop' into feat/add-clarity-versions-to-contract-con…
Jiloc Nov 21, 2025
3f99fc3
formatting
aaronb-stacks Nov 21, 2025
86282a6
Merge branch 'develop' into feat/read-count-extend
aaronb-stacks Nov 21, 2025
d63c0ef
fix nakamoto_integrations test assertion broken by boot contract publ…
aaronb-stacks Nov 21, 2025
f251c33
Merge pull request #6666 from charans29/feature/add-current-epoch-6658
wileyj Nov 21, 2025
ad4a4e2
Merge pull request #6707 from Jiloc/feat/add-clarity-versions-to-cont…
francesco-stacks Nov 24, 2025
ef35dcd
add fifth set of tests for static check errors
Jiloc Nov 24, 2025
77f1583
Merge pull request #6703 from Jiloc/chore/static-analysis-error-tests-4
jacinta-stacks Nov 24, 2025
59705dd
fix: remove codeowners
hstove-stacks Nov 24, 2025
76936b5
Merge pull request #6714 from hstove-stacks/fix/no-codeowners
hstove-stacks Nov 25, 2025
3002fc4
Merge branch 'develop' into chore/static-analysis-error-tests-5
Jiloc Nov 25, 2025
ef22b69
add sixth set of tests for static check error
Jiloc Nov 25, 2025
0fe24e3
Merge branch 'develop' into feat/read-count-extend
aaronb-stacks Nov 25, 2025
44fdf84
Merge pull request #6715 from Jiloc/chore/static-analysis-error-tests-5
jacinta-stacks Nov 25, 2025
9b35ddb
fix broken e2e tests
aaronb-stacks Nov 25, 2025
74b0a77
Merge branch 'develop' into chore/static-analysis-error-tests-6
Jiloc Nov 27, 2025
22d8b8b
test: add runtime test PublicFunctionNotReadOnly, CircularReference
federico-stacks Nov 27, 2025
82cca1e
test: aac add runtime analysis findings
federico-stacks Nov 28, 2025
db3d05f
add first set of runtime check errors consensus tests
Jiloc Nov 28, 2025
a88e684
fix docstring
Jiloc Dec 1, 2025
169bd14
add missing 'caused by' docs
Jiloc Dec 1, 2025
318e185
update snapshot
Jiloc Dec 1, 2025
fea5cb6
test: fix test epoch configurations
brice-stacks Dec 1, 2025
5e2d7ff
Merge pull request #6721 from federico-stacks/aac-runtime-tests-batch…
jacinta-stacks Dec 1, 2025
0b6c72e
Merge pull request #6705 from aaronb-stacks/feat/read-count-extend
aaronb-stacks Dec 1, 2025
7ff75a2
Merge pull request #6716 from Jiloc/chore/static-analysis-error-tests-6
francesco-stacks Dec 2, 2025
2827e41
Merge branch 'develop' into tests/runtime-analysis-errors-tests-1
Jiloc Dec 2, 2025
1030ca1
fix: remove unsafe set_var from test
hstove-stacks Dec 2, 2025
39a0bbb
Merge pull request #6725 from brice-stacks/fix/epoch-205-tests
brice-stacks Dec 2, 2025
67f1283
Merge pull request #6722 from Jiloc/tests/runtime-analysis-errors-tes…
francesco-stacks Dec 3, 2025
1d7f6d7
Merge pull request #6734 from hstove-stacks/fix/remove-unsafe-set-var
hstove-stacks Dec 3, 2025
403cc78
chore: update versions
brice-stacks Dec 3, 2025
ea62a2c
refactor: use errors for block height checks
brice-stacks Nov 24, 2025
2463598
refactor: event optimizations
brice-stacks Nov 18, 2025
7e40b46
chore: update changelog
brice-stacks Dec 3, 2025
bcd0f33
chore: update changelogs for read-count tenure extends
brice-stacks Dec 3, 2025
0bd736f
fix: read-count extend impl in miner should only care about read-coun…
aaronb-stacks Dec 6, 2025
506c06b
Merge pull request #6745 from aaronb-stacks/fix/read-count-extends
aaronb-stacks Dec 8, 2025
41223bf
Merge remote-tracking branch 'upstream/release/3.3.0.0.2' into releas…
brice-stacks Dec 8, 2025
051e948
chore: fix signer changelog
brice-stacks Dec 8, 2025
9e5f0ce
Merge pull request #6746 from brice-stacks/refactor/block-heights
brice-stacks Dec 9, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .cargo/config.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[alias]
stacks-node = "run --package stacks-node --"
fmt-stacks = "fmt -- --config group_imports=StdExternalCrate,imports_granularity=Module"
clippy-stacks = "clippy -p stx-genesis -p libstackerdb -p stacks-signer -p pox-locking -p clarity-types -p clarity -p libsigner -p stacks-common --no-deps --tests --all-features -- -D warnings"
clippy-stacks = "clippy -p stx-genesis -p libstackerdb -p stacks-signer -p pox-locking -p clarity-types -p clarity -p libsigner -p stacks-common -p clarity-cli -p stacks-cli -p stacks-inspect --no-deps --tests --all-features -- -D warnings"
clippy-stackslib = "clippy -p stackslib --no-deps -- -Aclippy::all -Wclippy::indexing_slicing -Wclippy::nonminimal_bool -Wclippy::clone_on_copy"

# Uncomment to improve performance slightly, at the cost of portability
Expand Down
10 changes: 0 additions & 10 deletions .github/CODEOWNERS

This file was deleted.

240 changes: 166 additions & 74 deletions .github/workflows/bitcoin-tests.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
## Github workflow to run bitcoin tests
## Github workflow to run bitcoin tests in multiple github matrices

name: Tests::Bitcoin

Expand All @@ -13,100 +13,160 @@ env:
TEST_TIMEOUT: 30

concurrency:
group: bitcoin-tests-${{ github.head_ref || github.ref || github.run_id}}
group: bitcoin-tests-${{ github.head_ref || github.ref || github.run_id }}
## Only cancel in progress if this is for a PR
cancel-in-progress: ${{ github.event_name == 'pull_request' }}

jobs:
generate-tests:
name: Generate JSON of tests to run
name: Generate balanced test matrix
runs-on: ubuntu-latest
outputs:
matrix: ${{ steps.set-matrix.outputs.matrix }}
matrix1: ${{ steps.set-matrix.outputs.matrix1 }}
matrix2: ${{ steps.set-matrix.outputs.matrix2 }}
steps:
## Setup test environment
- name: Setup Test Environment
id: setup_tests
uses: stacks-network/actions/stacks-core/testenv@main
with:
btc-version: "25.0"
- name: Generate tests JSON
id: generate_tests_json
# List all of the tests using the nextest archive (so we don't need to do another build task)
# Filter them such that we only select tests from `--bin stacks-node` which are marked `ignored`
# Transform the output JSON into something that can be used as the matrix input

- name: Build Test Archive
run: |
cargo nextest list --archive-file ~/test_archive.tar.zst -Tjson | \
jq -c '.["rust-suites"]["stacks-node::bin/stacks-node"]["testcases"] | map_values(select(.["ignored"] == true)) | keys' > ./tests.json
- id: set-matrix
set -euo pipefail
cargo nextest archive --archive-file ~/test_archive.tar.zst --bin stacks-node

- name: List ignored tests
id: list
run: |
json_obj=`cat ./tests.json`
echo "matrix=$json_obj" >> $GITHUB_OUTPUT
set -euo pipefail
cargo nextest list --archive-file ~/test_archive.tar.zst -Tjson > nextest_output.json

# Bitcoin integration tests with code coverage
integration-tests:
needs: generate-tests
name: Integration Tests
runs-on: ubuntu-latest
strategy:
## Continue with the test matrix even if we've had a failure
fail-fast: false
## Run a maximum of 32 concurrent tests from the test matrix
max-parallel: 32
matrix:
test-name: ${{fromJson(needs.generate-tests.outputs.matrix)}}
exclude:
jq -c '
.["rust-suites"]["stacks-node::bin/stacks-node"]["testcases"]
| [to_entries[] | select(.value.ignored) | .key]
' nextest_output.json > ignored_tests.json

echo "Ignored tests count: $(jq 'length' ignored_tests.json)"

# The following tests are excluded from CI runs. Some of these may be
# worth investigating adding back into the CI
- name: Excluded tests
id: exclude
run: |
cat << 'EOF' > raw_exclude.txt
# The following tests are excluded from CI runs. Some of these may be
# worth investigating adding back into the CI
- test-name: tests::nakamoto_integrations::consensus_hash_event_dispatcher
- test-name: tests::neon_integrations::atlas_integration_test
- test-name: tests::neon_integrations::atlas_stress_integration_test
- test-name: tests::neon_integrations::bitcoind_resubmission_test
- test-name: tests::neon_integrations::block_replay_integration_test
- test-name: tests::neon_integrations::deep_contract
- test-name: tests::neon_integrations::filter_txs_by_origin
- test-name: tests::neon_integrations::filter_txs_by_type
- test-name: tests::neon_integrations::lockup_integration
- test-name: tests::neon_integrations::most_recent_utxo_integration_test
- test-name: tests::neon_integrations::run_with_custom_wallet
- test-name: tests::neon_integrations::test_competing_miners_build_anchor_blocks_on_same_chain_without_rbf
- test-name: tests::neon_integrations::test_one_miner_build_anchor_blocks_on_same_chain_without_rbf
- test-name: tests::signer::v0::tenure_extend_after_2_bad_commits
- test-name: tests::stackerdb::test_stackerdb_event_observer
- test-name: tests::stackerdb::test_stackerdb_load_store
tests::nakamoto_integrations::consensus_hash_event_dispatcher
tests::neon_integrations::atlas_integration_test
tests::neon_integrations::atlas_stress_integration_test
tests::neon_integrations::bitcoind_resubmission_test
tests::neon_integrations::block_replay_integration_test
tests::neon_integrations::deep_contract
tests::neon_integrations::filter_txs_by_origin
tests::neon_integrations::filter_txs_by_type
tests::neon_integrations::lockup_integration
tests::neon_integrations::most_recent_utxo_integration_test
tests::neon_integrations::run_with_custom_wallet
tests::neon_integrations::test_competing_miners_build_anchor_blocks_on_same_chain_without_rbf
tests::neon_integrations::test_one_miner_build_anchor_blocks_on_same_chain_without_rbf
tests::signer::v0::tenure_extend_after_2_bad_commits
tests::stackerdb::test_stackerdb_event_observer
tests::stackerdb::test_stackerdb_load_store
# Epoch tests are covered by the epoch-tests CI workflow, and don't need to run
# on every PR (for older epochs)
- test-name: tests::epoch_205::test_cost_limit_switch_version205
- test-name: tests::epoch_205::test_dynamic_db_method_costs
- test-name: tests::epoch_205::test_exact_block_costs
- test-name: tests::epoch_205::transition_empty_blocks
- test-name: tests::epoch_21::test_sortition_divergence_pre_21
- test-name: tests::epoch_21::test_v1_unlock_height_with_current_stackers
- test-name: tests::epoch_21::test_v1_unlock_height_with_delay_and_current_stackers
- test-name: tests::epoch_21::trait_invocation_cross_epoch
- test-name: tests::epoch_21::transition_adds_burn_block_height
- test-name: tests::epoch_21::transition_adds_get_pox_addr_recipients
- test-name: tests::epoch_21::transition_adds_mining_from_segwit
- test-name: tests::epoch_21::transition_adds_pay_to_alt_recipient_contract
- test-name: tests::epoch_21::transition_adds_pay_to_alt_recipient_principal
- test-name: tests::epoch_21::transition_empty_blocks
- test-name: tests::epoch_21::transition_fixes_bitcoin_rigidity
- test-name: tests::epoch_21::transition_removes_pox_sunset
- test-name: tests::epoch_22::disable_pox
- test-name: tests::epoch_22::pox_2_unlock_all
- test-name: tests::epoch_23::trait_invocation_behavior
- test-name: tests::epoch_24::fix_to_pox_contract
- test-name: tests::epoch_24::verify_auto_unlock_behavior
tests::epoch_205::test_cost_limit_switch_version205
tests::epoch_205::test_dynamic_db_method_costs
tests::epoch_205::test_exact_block_costs
tests::epoch_205::transition_empty_blocks
tests::epoch_21::test_sortition_divergence_pre_21
tests::epoch_21::test_v1_unlock_height_with_current_stackers
tests::epoch_21::test_v1_unlock_height_with_delay_and_current_stackers
tests::epoch_21::trait_invocation_cross_epoch
tests::epoch_21::transition_adds_burn_block_height
tests::epoch_21::transition_adds_get_pox_addr_recipients
tests::epoch_21::transition_adds_mining_from_segwit
tests::epoch_21::transition_adds_pay_to_alt_recipient_contract
tests::epoch_21::transition_adds_pay_to_alt_recipient_principal
tests::epoch_21::transition_empty_blocks
tests::epoch_21::transition_fixes_bitcoin_rigidity
tests::epoch_21::transition_removes_pox_sunset
tests::epoch_22::disable_pox
tests::epoch_22::pox_2_unlock_all
tests::epoch_23::trait_invocation_behavior
tests::epoch_24::fix_to_pox_contract
tests::epoch_24::verify_auto_unlock_behavior
# Disable this flaky test. We don't need continue testing Epoch 2 -> 3 transition
- test-name: tests::nakamoto_integrations::flash_blocks_on_epoch_3_FLAKY
tests::nakamoto_integrations::flash_blocks_on_epoch_3_FLAKY
# These mempool tests take a long time to run, and are meant to be run manually
- test-name: tests::nakamoto_integrations::large_mempool_original_constant_fee
- test-name: tests::nakamoto_integrations::large_mempool_original_random_fee
- test-name: tests::nakamoto_integrations::large_mempool_next_constant_fee
- test-name: tests::nakamoto_integrations::large_mempool_next_random_fee
- test-name: tests::nakamoto_integrations::larger_mempool
- test-name: tests::signer::v0::larger_mempool
tests::nakamoto_integrations::large_mempool_original_constant_fee
tests::nakamoto_integrations::large_mempool_original_random_fee
tests::nakamoto_integrations::large_mempool_next_constant_fee
tests::nakamoto_integrations::large_mempool_next_random_fee
tests::nakamoto_integrations::larger_mempool
tests::signer::v0::larger_mempool
EOF

# Clean: remove empty lines and comments
grep -v '^\s*$' raw_exclude.txt | grep -v '^\s*#' > clean_exclude.txt

# Convert to proper JSON array
jq -R . clean_exclude.txt | jq -s . > exclude.json

echo "Excluded tests count: $(jq length exclude.json)"

- name: Filter out excluded tests
run: |
set -euo pipefail

# Validate inputs
jq -e 'type == "array"' ignored_tests.json > /dev/null
jq -e 'type == "array"' exclude.json > /dev/null

# Keep only ignored tests NOT in exclude list
# First sort the inputs to use comm -23
jq -r '.[]' ignored_tests.json | sort > ignored_sorted.txt
jq -r '.[]' exclude.json | sort > exclude_sorted.txt

comm -23 ignored_sorted.txt exclude_sorted.txt > filtered.txt

echo "Final test count: $(wc -l < filtered.txt)"

- name: Split into two balanced matrices
id: set-matrix
run: |
set -euo pipefail
mapfile -t tests < filtered.txt
total=${#tests[@]}
echo "Total filtered tests: $total"

if (( total > 512 )); then
echo "ERROR: $total tests exceed 512 limit (2 × 256)"
echo "Split into 3+ jobs required."
exit 1
fi

base=$(( total / 2 ))
remainder=$(( total % 2 ))
size1=$(( base + remainder ))

# Compact JSON output for fromJSON()
matrix1=$(printf '%s\n' "${tests[@]:0:$size1}" | jq -R . | jq -s -c .)
matrix2=$(printf '%s\n' "${tests[@]:$size1}" | jq -R . | jq -s -c .)

echo "matrix1=$matrix1" >> "$GITHUB_OUTPUT"
echo "matrix2=$matrix2" >> "$GITHUB_OUTPUT"

integration-tests-1:
needs: generate-tests
runs-on: ubuntu-latest
if: ${{ needs.generate-tests.outputs.matrix1 != '[]' }}
strategy:
fail-fast: false
max-parallel: 32
matrix:
test-name: ${{ fromJSON(needs.generate-tests.outputs.matrix1) }}
steps:
## Setup test environment
- name: Setup Test Environment
Expand All @@ -130,9 +190,40 @@ jobs:
test-name: ${{ matrix.test-name }}
threads: 1

## Create and upload code coverage file
- name: Code Coverage
id: codecov
uses: stacks-network/actions/codecov@main
with:
test-name: ${{ matrix.test-name }}

integration-tests-2:
needs: generate-tests
runs-on: ubuntu-latest
if: ${{ needs.generate-tests.outputs.matrix2 != '[]' }}
strategy:
fail-fast: false
max-parallel: 32
matrix:
test-name: ${{ fromJSON(needs.generate-tests.outputs.matrix2) }}
steps:
- name: Setup Test Environment
uses: stacks-network/actions/stacks-core/testenv@main
with:
btc-version: "25.0"

## Increase open file descriptors limit
- name: Increase Open File Descriptors
run: |
sudo prlimit --nofile=4096:4096

- name: Run Test
id: run_tests
timeout-minutes: ${{ fromJSON(env.TEST_TIMEOUT) }}
uses: stacks-network/actions/stacks-core/run-tests@main
with:
test-name: ${{ matrix.test-name }}
threads: 1

- name: Code Coverage
uses: stacks-network/actions/codecov@main
with:
test-name: ${{ matrix.test-name }}
Expand All @@ -142,7 +233,8 @@ jobs:
runs-on: ubuntu-latest
if: always()
needs:
- integration-tests
- integration-tests-1
- integration-tests-2
steps:
- name: Check Tests Status
id: check_tests_status
Expand Down
14 changes: 14 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,20 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to the versioning scheme outlined in the [README.md](README.md).

## [3.3.0.0.2]

### Added

- Fixed an issue where `event.committed` was always equal to `true` in the block replay RPC endpoint
- Added `result_hex` and `post_condition_aborted` to the block replay RPC endpoint
- Added `--epoch <epoch_number>` flag to `clarity-cli` commands to specify the epoch context for evaluation.
- Added miner support for generating read-count tenure extends
- Added `read_count_extend_cost_threshold` config option (in the miner config) which specifies the percentage of the block budget that must be used before attempting a time-based tenure extend. Defaults to 25%.

### Fixed

- Correctly produce the receipt for the `costs-4` contract, which was deployed on epoch 3.3 activation. Users who consume node events and want to fill in the missing receipt (e.g. the Hiro API) will need to revert their chainstate to before the 3.3 activation and then resume sync to receive the previously missing event.

## [3.3.0.0.1]

- Add indexes to `nakamoto_block_headers` to fix a performance regression. Node may take a few minutes to restart during the upgrade while the new indexes are created.
Expand Down
4 changes: 2 additions & 2 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -498,10 +498,10 @@ impl<'a, 'b> ReadOnlyChecker<'a, 'b> {
///
/// # Errors
///
/// - Returns CheckErrors::WriteAttemptedInReadOnly if there is a read-only
/// - Returns CheckErrorKind::WriteAttemptedInReadOnly if there is a read-only
/// violation, i.e. if some function marked read-only attempts to modify
/// the chainstate.
pub fn run(&mut self, contract_analysis: &ContractAnalysis) -> Result<(), CheckError>
pub fn run(&mut self, contract_analysis: &ContractAnalysis) -> Result<(), StaticCheckError>
```

This comment is considered positive because it explains the contract of the function in pseudo-code. Someone who understands the constructs mentioned could, e.g., write a test for this method from this description.
Expand Down
Loading
Loading