Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
237b7fd
Upgrade SUPPORTED_SIGNER_PROTOCOL_VERSION and set GLOBAL_SIGNER_STATE…
jacinta-stacks Dec 5, 2025
40cd048
Merge branch 'develop' of https://github.com/stacks-network/stacks-co…
jacinta-stacks Dec 11, 2025
73530e4
Send signer updates even if signer doesn't support the current active…
jacinta-stacks Dec 11, 2025
b574621
Fix comment
jacinta-stacks Dec 11, 2025
1ddc985
Fix the version compatibility check
jacinta-stacks Dec 11, 2025
531a5f5
Remove unused proptest import
jacinta-stacks Dec 12, 2025
93380da
Merge branch 'develop' of https://github.com/stacks-network/stacks-co…
jacinta-stacks Dec 12, 2025
1c539fb
Fix clippy in signer
jacinta-stacks Dec 12, 2025
1bdbe7f
Merge branch 'develop' of https://github.com/stacks-network/stacks-co…
jacinta-stacks Dec 16, 2025
172f8e1
Merge branch 'develop' of https://github.com/stacks-network/stacks-co…
jacinta-stacks Dec 30, 2025
cbde789
Add StateMachineUpdate::new_inbound to accomodate deserializing a mes…
jacinta-stacks Dec 30, 2025
77c5f34
Do not change threshold as we cannot have >= 30 rejection while havin…
jacinta-stacks Jan 2, 2026
b3ce831
Merge branch 'develop' of https://github.com/stacks-network/stacks-co…
jacinta-stacks Jan 5, 2026
8dd2db0
Add new rollover_signer_protocol_version to test rolling percentage i…
jacinta-stacks Jan 8, 2026
afb1113
fix: burn view calculations in signer
aaronb-stacks Jan 2, 2026
911924b
chore: update copyright
aaronb-stacks Jan 8, 2026
7baa99a
Merge pull request #6782 from aaronb-stacks/fix/change-burn-view
aaronb-stacks Jan 8, 2026
6258388
Merge branch 'develop' of https://github.com/stacks-network/stacks-co…
jacinta-stacks Jan 9, 2026
40fc89b
Merge branch 'release/3.3.0.0.4' of https://github.com/stacks-network…
jacinta-stacks Jan 10, 2026
80461e0
Add multiversion signer tests
jacinta-stacks Jan 10, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
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 -p clarity-cli -p stacks-cli -p stacks-inspect --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 -Aclippy::unnecessary_lazy_evaluations"
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
9 changes: 8 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,14 @@ 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).

## [Unreleased]
## [3.3.0.0.4]

### Added

- New `/v3/tenures/tip_metadata` endpoint for returning some metadata along with the normal tenure tip information.


## [3.3.0.0.3]

### Added

Expand Down
64 changes: 32 additions & 32 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 2 additions & 0 deletions clarity-types/src/errors/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -190,6 +190,8 @@ pub enum RuntimeError {
PoxAlreadyLocked,
/// Block time unavailable during execution.
BlockTimeNotAvailable,
/// A Clarity string used as a token name for a post-condition is not a valid Clarity name.
BadTokenName(String),
}

#[derive(Debug, PartialEq)]
Expand Down
4 changes: 2 additions & 2 deletions clarity-types/src/tests/types/signatures.rs
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
//
// You should have received a copy of the GNU General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
use std::collections::HashSet;
use std::collections::BTreeSet;

use crate::errors::analysis::CommonCheckErrorKind;
use crate::representations::CONTRACT_MAX_NAME_LENGTH;
Expand Down Expand Up @@ -370,7 +370,7 @@ fn test_least_supertype() {
}),
];
let list_union2 = ListUnionType(callables2.clone().into());
let list_union_merged = ListUnionType(HashSet::from_iter(
let list_union_merged = ListUnionType(BTreeSet::from_iter(
[callables, callables2].concat().iter().cloned(),
));
let callable_principals = [
Expand Down
8 changes: 4 additions & 4 deletions clarity-types/src/types/signatures.rs
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
// along with this program. If not, see <http://www.gnu.org/licenses/>.

use std::collections::btree_map::Entry;
use std::collections::{BTreeMap, HashSet};
use std::collections::{BTreeMap, BTreeSet};
use std::hash::Hash;
use std::sync::Arc;
use std::{cmp, fmt};
Expand Down Expand Up @@ -293,7 +293,7 @@ pub enum TypeSignature {
// data structure to maintain the set of types in the list, so that when
// we reach the place where the coercion needs to happen, we can perform
// the check -- see `concretize` method.
ListUnionType(HashSet<CallableSubtype>),
ListUnionType(BTreeSet<CallableSubtype>),
// This is used only below epoch 2.1. It has been replaced by CallableType.
TraitReferenceType(TraitIdentifier),
}
Expand Down Expand Up @@ -326,7 +326,7 @@ pub enum StringSubtype {
UTF8(StringUTF8Length),
}

#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, Hash)]
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, Hash, PartialOrd, Ord)]
pub enum CallableSubtype {
Principal(QualifiedContractIdentifier),
Trait(TraitIdentifier),
Expand Down Expand Up @@ -1223,7 +1223,7 @@ impl TypeSignature {
if x == y {
Ok(a.clone())
} else {
Ok(ListUnionType(HashSet::from([x.clone(), y.clone()])))
Ok(ListUnionType(BTreeSet::from([x.clone(), y.clone()])))
}
}
(ListUnionType(l), CallableType(c)) | (CallableType(c), ListUnionType(l)) => {
Expand Down
16 changes: 14 additions & 2 deletions clarity/src/vm/functions/post_conditions.rs
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,9 @@

use std::collections::HashMap;

use clarity_types::errors::RuntimeError;
use clarity_types::types::{AssetIdentifier, PrincipalData, StandardPrincipalData};
use clarity_types::ClarityName;

use crate::vm::analysis::type_checker::v2_1::natives::post_conditions::MAX_ALLOWANCES;
use crate::vm::contexts::AssetMap;
Expand Down Expand Up @@ -135,7 +137,12 @@ fn eval_allowance(
};

let asset_name = eval(&rest[1], env, context)?;
let asset_name = asset_name.expect_string_ascii()?.as_str().into();
let asset_name = match ClarityName::try_from(asset_name.expect_string_ascii()?) {
Ok(name) => name,
Err(_) => {
return Err(RuntimeError::BadTokenName(rest[1].to_string()).into());
}
};

let asset = AssetIdentifier {
contract_identifier,
Expand Down Expand Up @@ -165,7 +172,12 @@ fn eval_allowance(
};

let asset_name = eval(&rest[1], env, context)?;
let asset_name = asset_name.expect_string_ascii()?.as_str().into();
let asset_name = match ClarityName::try_from(asset_name.expect_string_ascii()?) {
Ok(name) => name,
Err(_) => {
return Err(RuntimeError::BadTokenName(rest[1].to_string()).into());
}
};

let asset = AssetIdentifier {
contract_identifier,
Expand Down
Loading
Loading