Skip to content

Commit 2ecb92e

Browse files
authored
Merge pull request #5580 from stacks-network/chore/merge-develop
Chore/merge develop
2 parents 0e67220 + 47e2bb7 commit 2ecb92e

File tree

122 files changed

+5485
-1973
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

122 files changed

+5485
-1973
lines changed

.github/workflows/bitcoin-tests.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,11 +122,17 @@ jobs:
122122
- tests::signer::v0::signer_set_rollover
123123
- tests::signer::v0::signing_in_0th_tenure_of_reward_cycle
124124
- tests::signer::v0::continue_after_tenure_extend
125+
- tests::signer::v0::tenure_extend_after_idle_signers
126+
- tests::signer::v0::tenure_extend_after_idle_miner
127+
- tests::signer::v0::tenure_extend_succeeds_after_rejected_attempt
128+
- tests::signer::v0::stx_transfers_dont_effect_idle_timeout
129+
- tests::signer::v0::idle_tenure_extend_active_mining
125130
- tests::signer::v0::multiple_miners_with_custom_chain_id
126131
- tests::signer::v0::block_commit_delay
127132
- tests::signer::v0::continue_after_fast_block_no_sortition
128133
- tests::signer::v0::block_validation_response_timeout
129134
- tests::signer::v0::tenure_extend_after_bad_commit
135+
- tests::signer::v0::block_proposal_max_age_rejections
130136
- tests::nakamoto_integrations::burn_ops_integration_test
131137
- tests::nakamoto_integrations::check_block_heights
132138
- tests::nakamoto_integrations::clarity_burn_state
@@ -142,6 +148,7 @@ jobs:
142148
- tests::nakamoto_integrations::v3_signer_api_endpoint
143149
- tests::nakamoto_integrations::test_shadow_recovery
144150
- tests::nakamoto_integrations::signer_chainstate
151+
- tests::nakamoto_integrations::sip029_coinbase_change
145152
- tests::nakamoto_integrations::clarity_cost_spend_down
146153
- tests::nakamoto_integrations::v3_blockbyheight_api_endpoint
147154
# TODO: enable these once v1 signer is supported by a new nakamoto epoch

.github/workflows/p2p-tests.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -43,10 +43,10 @@ jobs:
4343
- net::tests::convergence::test_walk_star_15_org_biased
4444
- net::tests::convergence::test_walk_inbound_line_15
4545
- net::api::tests::postblock_proposal::test_try_make_response
46-
- net::server::tests::test_http_10_threads_getinfo
47-
- net::server::tests::test_http_10_threads_getblock
48-
- net::server::tests::test_http_too_many_clients
49-
- net::server::tests::test_http_slow_client
46+
- net::server::test::test_http_10_threads_getinfo
47+
- net::server::test::test_http_10_threads_getblock
48+
- net::server::test::test_http_too_many_clients
49+
- net::server::test::test_http_slow_client
5050
steps:
5151
## Setup test environment
5252
- name: Setup Test Environment

.github/workflows/stacks-core-tests.yml

Lines changed: 0 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -18,55 +18,6 @@ concurrency:
1818
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
1919

2020
jobs:
21-
# Full genesis test with code coverage
22-
full-genesis:
23-
name: Full Genesis Test
24-
runs-on: ubuntu-latest
25-
strategy:
26-
## Continue with the test matrix even if we've had a failure
27-
fail-fast: false
28-
## Run a maximum of 2 concurrent tests from the test matrix
29-
max-parallel: 2
30-
matrix:
31-
test-name:
32-
- neon_integrations::bitcoind_integration_test
33-
steps:
34-
## Setup test environment
35-
- name: Setup Test Environment
36-
id: setup_tests
37-
uses: stacks-network/actions/stacks-core/testenv@main
38-
with:
39-
genesis: true
40-
btc-version: "25.0"
41-
42-
## Run test matrix using restored cache of archive file
43-
## - Test will timeout after env.TEST_TIMEOUT minutes
44-
- name: Run Tests
45-
id: run_tests
46-
timeout-minutes: ${{ fromJSON(env.TEST_TIMEOUT) }}
47-
uses: stacks-network/actions/stacks-core/run-tests@main
48-
with:
49-
test-name: ${{ matrix.test-name }}
50-
threads: 1
51-
archive-file: ~/genesis_archive.tar.zst
52-
53-
## Upload code coverage file
54-
- name: Code Coverage
55-
id: codecov
56-
uses: stacks-network/actions/codecov@main
57-
with:
58-
test-name: large_genesis
59-
filename: ./lcov.info
60-
61-
- name: Status Output
62-
run: |
63-
echo "run_tests: ${{ steps.run_tests.outputs.status }}"
64-
echo "codecov: ${{ steps.codecov.outputs.status }}"
65-
66-
- name: Check Failures
67-
if: steps.run_tests.outputs.status == 'failure' || steps.codecov.outputs.status == 'failure'
68-
run: exit 1
69-
7021
# Unit tests with code coverage
7122
unit-tests:
7223
name: Unit Tests
@@ -186,7 +137,6 @@ jobs:
186137
runs-on: ubuntu-latest
187138
if: always()
188139
needs:
189-
- full-genesis
190140
- open-api-validation
191141
- core-contracts-clarinet-test
192142
steps:

CHANGELOG.md

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,37 @@ and this project adheres to the versioning scheme outlined in the [README.md](RE
88
## [Unreleased]
99

1010
### Added
11+
- Add `tenure_timeout_secs` to the miner for determining when a time-based tenure extend should be attempted.
1112

1213
### Changed
1314

15+
## [3.1.0.0.1]
16+
17+
### Added
18+
19+
- A miner will now generate a tenure-extend when at least 70% of the signers have confirmed that they are willing to allow one, via the new timestamp included in block responses. This allows the miner to refresh its budget in between Bitcoin blocks. ([#5476](https://github.com/stacks-network/stacks-core/discussions/5476))
20+
21+
### Changed
22+
23+
## [3.1.0.0.0]
24+
25+
### Added
26+
27+
- **SIP-029 consensus rules, activating in epoch 3.1 at block 875,000** (see [SIP-029](https://github.com/stacksgov/sips/blob/main/sips/sip-029/sip-029-halving-alignment.md) for details)
28+
- New RPC endpoints
29+
- `/v2/clarity/marf/:marf_key_hash`
30+
- `/v2/clarity/metadata/:principal/:contract_name/:clarity_metadata_key`
31+
- When a proposed block is validated by a node, the block can be validated even when the block version is different than the node's default ([#5539](https://github.com/stacks-network/stacks-core/pull/5539))
32+
33+
### Changed
34+
35+
## [3.0.0.0.4]
36+
37+
### Added
38+
39+
### Changed
40+
41+
- Use the same burn view loader in both block validation and block processing
1442

1543
## [3.0.0.0.3]
1644

CONTRIBUTING.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -579,7 +579,7 @@ _Do_ document things that are not clear, e.g.:
579579
Keep in mind that better variable names can reduce the need for comments, e.g.:
580580

581581
- `burnblock_height` instead of `height` may eliminate the need to comment that `height` refers to a burnblock height
582-
- `process_microblocks` instead of `process_blocks` is more correct, and may eliminate the need to to explain that the inputs are microblocks
582+
- `process_microblocks` instead of `process_blocks` is more correct, and may eliminate the need to explain that the inputs are microblocks
583583
- `add_transaction_to_microblock` explains more than `handle_transaction`, and reduces the need to even read the comment
584584

585585
# Licensing and contributor license agreement

Cargo.lock

Lines changed: 17 additions & 16 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,8 @@ rand = "0.8"
2222
rand_chacha = "0.3.1"
2323
tikv-jemallocator = "0.5.4"
2424
rusqlite = { version = "0.31.0", features = ["blob", "serde_json", "i128_blob", "bundled", "trace"] }
25-
thiserror = { version = "1.0.65" }
25+
thiserror = "1.0.65"
26+
toml = "0.5.6"
2627

2728
# Use a bit more than default optimization for
2829
# dev builds to speed up test execution

clarity/src/vm/analysis/mod.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,8 @@ pub fn run_analysis(
148148
| StacksEpochId::Epoch23
149149
| StacksEpochId::Epoch24
150150
| StacksEpochId::Epoch25
151-
| StacksEpochId::Epoch30 => {
151+
| StacksEpochId::Epoch30
152+
| StacksEpochId::Epoch31 => {
152153
TypeChecker2_1::run_pass(&epoch, &mut contract_analysis, db, build_type_map)
153154
}
154155
StacksEpochId::Epoch10 => {

clarity/src/vm/analysis/type_checker/mod.rs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,8 @@ impl FunctionType {
5252
| StacksEpochId::Epoch23
5353
| StacksEpochId::Epoch24
5454
| StacksEpochId::Epoch25
55-
| StacksEpochId::Epoch30 => self.check_args_2_1(accounting, args, clarity_version),
55+
| StacksEpochId::Epoch30
56+
| StacksEpochId::Epoch31 => self.check_args_2_1(accounting, args, clarity_version),
5657
StacksEpochId::Epoch10 => {
5758
return Err(CheckErrors::Expects("Epoch10 is not supported".into()).into())
5859
}
@@ -75,7 +76,8 @@ impl FunctionType {
7576
| StacksEpochId::Epoch23
7677
| StacksEpochId::Epoch24
7778
| StacksEpochId::Epoch25
78-
| StacksEpochId::Epoch30 => {
79+
| StacksEpochId::Epoch30
80+
| StacksEpochId::Epoch31 => {
7981
self.check_args_by_allowing_trait_cast_2_1(db, clarity_version, func_args)
8082
}
8183
StacksEpochId::Epoch10 => {

clarity/src/vm/ast/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -353,7 +353,7 @@ mod test {
353353
) -> std::result::Result<ExecutionCost, CostErrors> {
354354
self.invoked_functions.push((cost_f, input.to_vec()));
355355
self.invocation_count += 1;
356-
Ok(ExecutionCost::zero())
356+
Ok(ExecutionCost::ZERO)
357357
}
358358
fn add_cost(&mut self, _cost: ExecutionCost) -> std::result::Result<(), CostErrors> {
359359
self.cost_addition_count += 1;

0 commit comments

Comments
 (0)