Skip to content

Commit 374bf7e

Browse files
authored
Merge branch 'develop' into chore/signer-2.5.0.0.5.3_develop_merge
2 parents 3d4f024 + 1fa594a commit 374bf7e

File tree

140 files changed

+11144
-3976
lines changed

Some content is hidden

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

140 files changed

+11144
-3976
lines changed

.github/actions/open-api/Dockerfile.open-api-validate

Lines changed: 0 additions & 10 deletions
This file was deleted.

.github/workflows/bitcoin-tests.yml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,7 @@ jobs:
7272
- tests::neon_integrations::confirm_unparsed_ongoing_ops
7373
- tests::neon_integrations::min_txs
7474
- tests::neon_integrations::vote_for_aggregate_key_burn_op_test
75+
- tests::neon_integrations::mock_miner_replay
7576
- tests::epoch_25::microblocks_disabled
7677
- tests::should_succeed_handling_malformed_and_valid_txs
7778
- tests::nakamoto_integrations::simple_neon_integration
@@ -93,8 +94,13 @@ jobs:
9394
- tests::signer::v0::bitcoind_forking_test
9495
- tests::signer::v0::multiple_miners
9596
- tests::signer::v0::mock_sign_epoch_25
97+
- tests::signer::v0::multiple_miners_mock_sign_epoch_25
9698
- tests::signer::v0::signer_set_rollover
9799
- tests::signer::v0::miner_forking
100+
- tests::signer::v0::reloads_signer_set_in
101+
- tests::signer::v0::signers_broadcast_signed_blocks
102+
- tests::signer::v0::min_gap_between_blocks
103+
- tests::signer::v0::duplicate_signers
98104
- tests::nakamoto_integrations::stack_stx_burn_op_integration_test
99105
- tests::nakamoto_integrations::check_block_heights
100106
- tests::nakamoto_integrations::clarity_burn_state
@@ -104,6 +110,11 @@ jobs:
104110
- tests::nakamoto_integrations::continue_tenure_extend
105111
- tests::nakamoto_integrations::mock_mining
106112
- tests::nakamoto_integrations::multiple_miners
113+
- tests::nakamoto_integrations::follower_bootup_across_multiple_cycles
114+
- tests::nakamoto_integrations::utxo_check_on_startup_panic
115+
- tests::nakamoto_integrations::utxo_check_on_startup_recover
116+
- tests::signer::v0::multiple_miners_with_nakamoto_blocks
117+
- tests::signer::v0::partial_tenure_fork
107118
# Do not run this one until we figure out why it fails in CI
108119
# - tests::neon_integrations::bitcoin_reorg_flap
109120
# - tests::neon_integrations::bitcoin_reorg_flap_with_follower

.github/workflows/pr-differences-mutants.yml

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,16 +9,34 @@ on:
99
- ready_for_review
1010
paths:
1111
- '**.rs'
12+
workflow_dispatch:
1213

1314
concurrency:
1415
group: pr-differences-${{ github.head_ref || github.ref || github.run_id }}
1516
# Always cancel duplicate jobs
1617
cancel-in-progress: true
1718

1819
jobs:
20+
check-access-permissions:
21+
name: Check Access Permissions
22+
runs-on: ubuntu-latest
23+
24+
steps:
25+
- name: Check Access Permissions To Trigger This
26+
id: check_access_permissions
27+
uses: stacks-network/actions/team-membership@main
28+
with:
29+
username: ${{ github.actor }}
30+
team: 'blockchain-team'
31+
GITHUB_TOKEN: ${{ secrets.GH_TOKEN }}
32+
33+
outputs:
34+
ignore_timeout: ${{ steps.check_access_permissions.outputs.is_team_member == 'true' && github.event_name == 'workflow_dispatch' }}
35+
1936
# Check and output whether to run big (`stacks-node`/`stackslib`) or small (others) packages with or without shards
2037
check-big-packages-and-shards:
2138
name: Check Packages and Shards
39+
needs: check-access-permissions
2240

2341
runs-on: ubuntu-latest
2442

@@ -30,10 +48,13 @@ jobs:
3048
run_small_packages: ${{ steps.check_packages_and_shards.outputs.run_small_packages }}
3149
small_packages_with_shards: ${{ steps.check_packages_and_shards.outputs.small_packages_with_shards }}
3250
run_stacks_signer: ${{ steps.check_packages_and_shards.outputs.run_stacks_signer }}
51+
too_many_mutants: ${{ steps.check_packages_and_shards.outputs.too_many_mutants }}
3352

3453
steps:
3554
- id: check_packages_and_shards
3655
uses: stacks-network/actions/stacks-core/mutation-testing/check-packages-and-shards@main
56+
with:
57+
ignore_timeout: ${{ needs.check-access-permissions.outputs.ignore_timeout }}
3758

3859
# Mutation testing - Execute on PR on small packages that have functions modified (normal run, no shards)
3960
pr-differences-mutants-small-normal:
@@ -220,3 +241,4 @@ jobs:
220241
small_packages: ${{ needs.check-big-packages-and-shards.outputs.run_small_packages }}
221242
shards_for_small_packages: ${{ needs.check-big-packages-and-shards.outputs.small_packages_with_shards }}
222243
stacks_signer: ${{ needs.check-big-packages-and-shards.outputs.run_stacks_signer }}
244+
too_many_mutants: ${{ needs.check-big-packages-and-shards.outputs.too_many_mutants }}

CHANGELOG.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,28 @@ and this project adheres to the versioning scheme outlined in the [README.md](RE
1717
- `get-tenure-info?` added
1818
- `get-block-info?` removed
1919

20+
## [2.5.0.0.7]
21+
22+
### Added
23+
24+
- Add warn logs for block validate rejections (#5079)
25+
- Neon mock miner replay (#5060)
26+
27+
### Changed
28+
29+
- Revert BurnchainHeaderHash serialization change (#5094)
30+
- boot_to_epoch_3 in SignerTest should wait for a new commit (#5087)
31+
- Fix block proposal rejection test (#5084)
32+
- Mock signing revamp (#5070)
33+
- Multi miner fixes jude (#5040)
34+
- Remove spurious deadlock condition whenever the sortition DB is opened
35+
36+
## [2.5.0.0.6]
37+
38+
### Changed
39+
40+
- If there is a getchunk/putchunk that fails due to a stale (or future) version NACK, the StackerDB sync state machine should immediately retry sync (#5066)
41+
2042
## [2.5.0.0.5]
2143

2244
### Added

Cargo.lock

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

clarity/Cargo.toml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,3 +55,5 @@ developer-mode = ["stacks_common/developer-mode"]
5555
slog_json = ["stacks_common/slog_json"]
5656
testing = ["canonical"]
5757
devtools = []
58+
rollback_value_check = []
59+
disable-costs = []

clarity/src/vm/ast/definition_sorter/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -173,7 +173,7 @@ impl DefinitionSorter {
173173
return Ok(());
174174
}
175175
DefineFunctions::Map => {
176-
// Args: [name, key, value]: with key value being potentialy tuples
176+
// Args: [name, key, value]: with key value being potentially tuples
177177
if function_args.len() == 3 {
178178
self.probe_for_dependencies(
179179
function_args[1],

clarity/src/vm/database/key_value_wrapper.rs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -31,23 +31,23 @@ use crate::vm::types::{
3131
};
3232
use crate::vm::{StacksEpoch, Value};
3333

34-
#[cfg(rollback_value_check)]
34+
#[cfg(feature = "rollback_value_check")]
3535
type RollbackValueCheck = String;
36-
#[cfg(not(rollback_value_check))]
36+
#[cfg(not(feature = "rollback_value_check"))]
3737
type RollbackValueCheck = ();
3838

39-
#[cfg(not(rollback_value_check))]
39+
#[cfg(not(feature = "rollback_value_check"))]
4040
fn rollback_value_check(_value: &str, _check: &RollbackValueCheck) {}
4141

42-
#[cfg(not(rollback_value_check))]
42+
#[cfg(not(feature = "rollback_value_check"))]
4343
fn rollback_edits_push<T>(edits: &mut Vec<(T, RollbackValueCheck)>, key: T, _value: &str) {
4444
edits.push((key, ()));
4545
}
4646
// this function is used to check the lookup map when committing at the "bottom" of the
4747
// wrapper -- i.e., when committing to the underlying store. for the _unchecked_ implementation
4848
// this is used to get the edit _value_ out of the lookupmap, for used in the subsequent `put_all`
4949
// command.
50-
#[cfg(not(rollback_value_check))]
50+
#[cfg(not(feature = "rollback_value_check"))]
5151
fn rollback_check_pre_bottom_commit<T>(
5252
edits: Vec<(T, RollbackValueCheck)>,
5353
lookup_map: &mut HashMap<T, Vec<String>>,
@@ -71,11 +71,11 @@ where
7171
output
7272
}
7373

74-
#[cfg(rollback_value_check)]
74+
#[cfg(feature = "rollback_value_check")]
7575
fn rollback_value_check(value: &String, check: &RollbackValueCheck) {
7676
assert_eq!(value, check)
7777
}
78-
#[cfg(rollback_value_check)]
78+
#[cfg(feature = "rollback_value_check")]
7979
fn rollback_edits_push<T>(edits: &mut Vec<(T, RollbackValueCheck)>, key: T, value: &String)
8080
where
8181
T: Eq + Hash + Clone,
@@ -84,7 +84,7 @@ where
8484
}
8585
// this function is used to check the lookup map when committing at the "bottom" of the
8686
// wrapper -- i.e., when committing to the underlying store.
87-
#[cfg(rollback_value_check)]
87+
#[cfg(feature = "rollback_value_check")]
8888
fn rollback_check_pre_bottom_commit<T>(
8989
edits: Vec<(T, RollbackValueCheck)>,
9090
lookup_map: &mut HashMap<T, Vec<String>>,

clarity/src/vm/database/sqlite.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ use rusqlite::{
2121
};
2222
use stacks_common::types::chainstate::{BlockHeaderHash, StacksBlockId};
2323
use stacks_common::types::sqlite::NO_PARAMS;
24-
use stacks_common::util::db_common::tx_busy_handler;
24+
use stacks_common::util::db::tx_busy_handler;
2525
use stacks_common::util::hash::Sha512Trunc256Sum;
2626

2727
use super::clarity_store::{make_contract_hash_key, ContractCommitment};

clarity/src/vm/types/signatures.rs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1656,7 +1656,9 @@ impl TypeSignature {
16561656
clarity_version: ClarityVersion,
16571657
) -> Result<BTreeMap<ClarityName, FunctionSignature>> {
16581658
let mut trait_signature: BTreeMap<ClarityName, FunctionSignature> = BTreeMap::new();
1659-
let functions_types = type_args[0]
1659+
let functions_types = type_args
1660+
.get(0)
1661+
.ok_or_else(|| CheckErrors::InvalidTypeDescription)?
16601662
.match_list()
16611663
.ok_or(CheckErrors::DefineTraitBadSignature)?;
16621664

0 commit comments

Comments
 (0)