Skip to content

Commit 424ec11

Browse files
committed
Merge remote-tracking branch 'core/develop' into fix/cost-error-undefined-var
2 parents c4da214 + c1a989f commit 424ec11

File tree

398 files changed

+17025
-25630
lines changed

Some content is hidden

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

398 files changed

+17025
-25630
lines changed

.cargo/config.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
[alias]
22
stacks-node = "run --package stacks-node --"
33
fmt-stacks = "fmt -- --config group_imports=StdExternalCrate,imports_granularity=Module"
4-
clippy-stacks = "clippy -p stx-genesis -p libstackerdb -p stacks-signer -p pox-locking -p clarity-serialization -p clarity -p libsigner -p stacks-common --no-deps --tests --all-features -- -D warnings"
5-
clippy-stackslib = "clippy -p stackslib --no-deps -- -Aclippy::all -Wclippy::indexing_slicing"
4+
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"
5+
clippy-stackslib = "clippy -p stackslib --no-deps -- -Aclippy::all -Wclippy::indexing_slicing -Wclippy::nonminimal_bool -Wclippy::clone_on_copy"
66

77
# Uncomment to improve performance slightly, at the cost of portability
88
# * Note that native binaries may not run on CPUs that are different from the build machine

.github/workflows/bitcoin-tests.yml

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -80,11 +80,6 @@ jobs:
8080
- test-name: tests::epoch_205::test_dynamic_db_method_costs
8181
- test-name: tests::epoch_205::test_exact_block_costs
8282
- test-name: tests::epoch_205::transition_empty_blocks
83-
- test-name: tests::epoch_21::test_pox_missing_five_anchor_blocks
84-
- test-name: tests::epoch_21::test_pox_reorg_flap_duel
85-
- test-name: tests::epoch_21::test_pox_reorg_flap_reward_cycles
86-
- test-name: tests::epoch_21::test_pox_reorg_one_flap
87-
- test-name: tests::epoch_21::test_pox_reorgs_three_flaps
8883
- test-name: tests::epoch_21::test_sortition_divergence_pre_21
8984
- test-name: tests::epoch_21::test_v1_unlock_height_with_current_stackers
9085
- test-name: tests::epoch_21::test_v1_unlock_height_with_delay_and_current_stackers
@@ -99,7 +94,6 @@ jobs:
9994
- test-name: tests::epoch_21::transition_removes_pox_sunset
10095
- test-name: tests::epoch_22::disable_pox
10196
- test-name: tests::epoch_22::pox_2_unlock_all
102-
- test-name: tests::epoch_22::test_pox_reorg_one_flap
10397
- test-name: tests::epoch_23::trait_invocation_behavior
10498
- test-name: tests::epoch_24::fix_to_pox_contract
10599
- test-name: tests::epoch_24::verify_auto_unlock_behavior

.github/workflows/cargo-hack-check.yml

Lines changed: 35 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -38,13 +38,12 @@ jobs:
3838
with:
3939
persist-credentials: false
4040

41-
- name: Setup Rust with Cache
41+
- name: Setup Rust
4242
uses: actions-rust-lang/setup-rust-toolchain@11df97af8e8102fd60b60a77dfbf58d40cd843b8 # v1.10.1
4343
with:
4444
toolchain: ${{ needs.setup.outputs.rust-toolchain }}
4545
target: x86_64-pc-windows-gnu,x86_64-unknown-linux-gnu
46-
cache: true
47-
cache-key: cargo-hack-native-${{ needs.setup.outputs.rust-toolchain }}-${{ hashFiles('**/Cargo.lock') }}
46+
cache: false
4847

4948
- name: Install cargo-hack
5049
uses: taiki-e/install-action@2383334cf567d78771fc7d89b6b3802ef1412cf6 # v2.56.8
@@ -66,56 +65,49 @@ jobs:
6665
--target x86_64-pc-windows-gnu \
6766
--target x86_64-unknown-linux-gnu
6867
69-
# WASM targets - separate cache since dependencies differ
68+
# WASM targets - No caching needed as it runs in parallel with longer jobs
7069
wasm-targets:
71-
name: ${{ matrix.name }}
70+
name: WASM targets
7271
runs-on: ubuntu-latest
7372
needs: setup
74-
strategy:
75-
fail-fast: false
76-
matrix:
77-
include:
78-
- name: "Clarity & Stacks-Common WASM Web"
79-
command: |
80-
cargo hack check \
81-
-p clarity-serialization \
82-
-p stacks-common \
83-
--each-feature \
84-
--no-dev-deps \
85-
--exclude-features=default,rusqlite,ctrlc-handler,wasm-deterministic \
86-
--features=wasm-web
87-
88-
- name: "Clarity & Stacks-Common WASM Deterministic"
89-
command: |
90-
cargo hack check \
91-
-p clarity-serialization \
92-
-p stacks-common \
93-
--each-feature \
94-
--no-dev-deps \
95-
--include-features=wasm-deterministic,slog_json \
96-
--features=wasm-deterministic
97-
9873
steps:
9974
- name: Checkout
10075
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
10176
with:
10277
persist-credentials: false
10378

104-
- name: Setup Rust with Cache
79+
- name: Setup Rust
10580
uses: actions-rust-lang/setup-rust-toolchain@11df97af8e8102fd60b60a77dfbf58d40cd843b8 # v1.10.1
10681
with:
10782
toolchain: ${{ needs.setup.outputs.rust-toolchain }}
10883
target: wasm32-unknown-unknown
109-
cache: true
110-
cache-key: cargo-hack-wasm-${{ matrix.name }}-${{ needs.setup.outputs.rust-toolchain }}-${{ hashFiles('**/Cargo.lock') }}
84+
cache: false
11185

11286
- name: Install cargo-hack
11387
uses: taiki-e/install-action@2383334cf567d78771fc7d89b6b3802ef1412cf6 # v2.56.8
11488
with:
11589
tool: cargo-hack
11690

117-
- name: Run cargo hack check
118-
run: ${{ matrix.command }}
91+
- name: Run cargo hack check (WASM Web)
92+
run: |
93+
cargo hack check \
94+
-p clarity \
95+
-p clarity-types \
96+
-p stacks-common \
97+
--each-feature \
98+
--no-dev-deps \
99+
--exclude-features=default,rusqlite,ctrlc-handler,wasm-deterministic,testing \
100+
--features=wasm-web
101+
102+
- name: Run cargo hack check (WASM Deterministic)
103+
run: |
104+
cargo hack check \
105+
-p clarity-types \
106+
-p stacks-common \
107+
--each-feature \
108+
--no-dev-deps \
109+
--include-features=wasm-deterministic,slog_json \
110+
--features=wasm-deterministic
119111
120112
fuzz-targets:
121113
name: Fuzz targets (nightly)
@@ -130,10 +122,18 @@ jobs:
130122
uses: actions-rust-lang/setup-rust-toolchain@fb51252c7ba57d633bc668f941da052e410add48 # v1.13.0
131123
with:
132124
toolchain: nightly
125+
cache: false
133126

134-
- name: Check fuzz targets
127+
- name: Check fuzz targets (clarity)
135128
run: |
136129
cargo +nightly check \
137130
--manifest-path clarity/fuzz/Cargo.toml \
138131
--bins \
139132
--locked
133+
134+
- name: Check fuzz targets (stackslib)
135+
run: |
136+
cargo +nightly check \
137+
--manifest-path stackslib/fuzz/Cargo.toml \
138+
--bins \
139+
--locked

.github/workflows/clippy.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,15 +26,19 @@ jobs:
2626
- name: Checkout the latest code
2727
id: git_checkout
2828
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
29+
2930
- name: Define Rust Toolchain
3031
id: define_rust_toolchain
3132
run: echo "RUST_TOOLCHAIN=$(cat ./rust-toolchain)" >> $GITHUB_ENV
33+
3234
- name: Setup Rust Toolchain
3335
id: setup_rust_toolchain
3436
uses: actions-rust-lang/setup-rust-toolchain@11df97af8e8102fd60b60a77dfbf58d40cd843b8 # v1.10.1
3537
with:
3638
toolchain: ${{ env.RUST_TOOLCHAIN }}
3739
components: clippy
40+
cache: false
41+
3842
- name: Clippy
3943
id: clippy
4044
run: cargo clippy-stacks

.github/workflows/constants-check.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,14 +17,17 @@ jobs:
1717
- name: Checkout the latest code
1818
id: git_checkout
1919
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
20+
2021
- name: Define Rust Toolchain
2122
id: define_rust_toolchain
2223
run: echo "RUST_TOOLCHAIN=$(cat ./rust-toolchain)" >> $GITHUB_ENV
24+
2325
- name: Setup Rust Toolchain
2426
id: setup_rust_toolchain
2527
uses: actions-rust-lang/setup-rust-toolchain@11df97af8e8102fd60b60a77dfbf58d40cd843b8 # v1.10.1
2628
with:
2729
toolchain: ${{ env.RUST_TOOLCHAIN }}
30+
cache: false
2831

2932
- name: Dump constants JSON
3033
id: consts-dump

.github/workflows/nix-check.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,4 +38,5 @@ jobs:
3838
- uses: DeterminateSystems/magic-nix-cache-action@e1c1dae8e170ed20fd2e6aaf9979ca2d3905d636 # v12
3939
with:
4040
use-flakehub: false # Remove error when trying to authenticate without credentials
41+
use-gha-cache: false # Disable uploading cache to gha cache
4142
- run: nix flake check ./contrib/nix

CHANGELOG.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,27 @@ and this project adheres to the versioning scheme outlined in the [README.md](RE
99

1010
### Added
1111

12+
- Renamed `clarity-serialization` to `clarity-types`.
13+
- Add `stackerdb_timeout_secs` to miner config for limiting duration of StackerDB HTTP requests.
1214
- When determining a global transaction replay set, the state evaluator now uses a longest-common-prefix algorithm to find a replay set in the case where a single replay set has less than 70% of signer weight.
15+
- New endpoint /v3/tenures/blocks/ allowing retrieving the list of stacks blocks from a burn block
16+
- Creates epoch 3.3 and costs-4 in preparation for a hardfork to activate Clarity 4
17+
- Adds support for new Clarity 4 builtins (not activated until epoch 3.3):
18+
- `contract-hash?`
19+
- Added `contract_cost_limit_percentage` to the miner config file — sets the percentage of a block’s execution cost at which, if a large non-boot contract call would cause a BlockTooBigError, the miner will stop adding further non-boot contract calls and only include STX transfers and boot contract calls for the remainder of the block.
20+
21+
### Changed
22+
23+
- Clarity errors pertaining to syntax binding errors have been made more
24+
expressive (#6337)
25+
- Removed affirmation maps logic throughout, upgrading chainstate DB schema to 11 and burnchain DB schema to 3 (#6314)
1326

1427
### Changed
1528

1629
- When a contract deploy is analyzed, it will no longer throw a `CostError` when the contract contains an undefined top-level variable. Instead, it will throw a `UndefinedVariable` error.
1730

1831
## [3.2.0.0.1]
32+
1933
### Added
2034

2135
- Adds node-config-docsgen to automatically create config documentation (#6227)

Cargo.lock

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

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ members = [
44
"stackslib",
55
"stacks-common",
66
"pox-locking",
7-
"clarity-serialization",
7+
"clarity-types",
88
"clarity",
99
"stx-genesis",
1010
"libstackerdb",

0 commit comments

Comments
 (0)