Skip to content

Commit

Permalink
Merge branch 'develop' into feat/log-not-starting-metrics
Browse files Browse the repository at this point in the history
  • Loading branch information
hstove authored Oct 29, 2024
2 parents 08ed8bb + 452fbaf commit 8d31f18
Show file tree
Hide file tree
Showing 41 changed files with 1,158 additions and 1,205 deletions.
34 changes: 29 additions & 5 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,12 @@ and this project adheres to the versioning scheme outlined in the [README.md](RE

## [Unreleased]

- Added support for Clarity 3
## [3.0.0.0.0]

### Added

- **Nakamoto consensus rules, activating in epoch 3.0 at block 867,867** (see [SIP-021](https://github.com/stacksgov/sips/blob/main/sips/sip-021/sip-021-nakamoto.md) for details)
- Clarity 3, activating with epoch 3.0
- Keywords / variable
- `tenure-height` added
- `stacks-block-height` added
Expand All @@ -16,10 +21,29 @@ and this project adheres to the versioning scheme outlined in the [README.md](RE
- `get-stacks-block-info?` added
- `get-tenure-info?` added
- `get-block-info?` removed
- Added `/v3/signer/{signer_pubkey}/{reward_cycle}` endpoint
- Added `tenure_height` to `/v2/info` endpoint
- Added optional `timeout_ms` to `events_observer` configuration
- Added support for re-sending events to event observers across restarts
- New RPC endpoints
- `/v3/blocks/:block_id`
- `/v3/blocks/upload/`
- `/v3/signer/:signer_pubkey/:cycle_num`
- `/v3/sortitions`
- `/v3/stacker_set/:cycle_num`
- `/v3/tenures/:block_id`
- `/v3/tenures/fork_info/:start/:stop`
- `/v3/tenures/info`
- `/v3/tenures/tip/:consensus_hash`
- Re-send events to event observers across restarts
- Support custom chain-ids for testing
- Add `replay-block` command to CLI

### Changed

- Strict config file validation (unknown fields will cause the node to fail to start)
- Add optional `timeout_ms` to `events_observer` configuration
- Modified RPC endpoints
- Include `tenure_height` in `/v2/info` endpoint
- Include `block_time` and `tenure_height` in `/new/block` event payload
- Various improvements to logging, reducing log spam and improving log messages
- Various improvements and bugfixes

## [2.5.0.0.7]

Expand Down
273 changes: 128 additions & 145 deletions CONTRIBUTING.md

Large diffs are not rendered by default.

1 change: 0 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ Stacks is a layer-2 blockchain that uses Bitcoin as a base layer for security an

[![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg?style=flat)](https://www.gnu.org/licenses/gpl-3.0)
[![Release](https://img.shields.io/github/v/release/stacks-network/stacks-core?style=flat)](https://github.com/stacks-network/stacks-core/releases/latest)
[![Build Status](https://github.com/stacks-network/stacks-core/actions/workflows/ci.yml/badge.svg?branch=master&event=workflow_dispatch&style=flat)](https://github.com/stacks-network/stacks-core/actions/workflows/ci.yml?query=event%3Aworkflow_dispatch+branch%3Amaster)
[![Discord Chat](https://img.shields.io/discord/621759717756370964.svg)](https://stacks.chat)

## Building
Expand Down
67 changes: 14 additions & 53 deletions SECURITY.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@


## Supported Versions
Please see [Releases](https://github.com/stacks-network/stacks-blockchain/releases). It is recommended to use the [most recently released version](https://github.com/stacks-network/stacks-blockchain/releases/latest).
Please see [Releases](https://github.com/stacks-network/stacks-core/releases). It is recommended to use the [most recently released version](https://github.com/stacks-network/stacks-core/releases/latest).


## Reporting a vulnerability
Expand All @@ -21,61 +21,22 @@ You may also contact us with any questions or to report a vulnerabilty using the

| Name | Fingerprint |
| ------- | ------------------ |
| [email protected] | 8A8B 3C3B 803A 0603 8FB5 3F69 357C 80AB 0885 87A |
| [email protected] | ABA3 7FA3 6DBB A591 B0E5 5949 0E94 D065 B32E C7E6 |


```
----BEGIN PGP PUBLIC KEY BLOCK-----
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
hmf6grobEcyS0PCsLHn3r7Y=
=/YN2
-----BEGIN PGP PUBLIC KEY BLOCK-----
mDMEZrJ2wBYJKwYBBAHaRw8BAQdADVWSZGbVgc0SE8XmXkRonl85wXrPHkl9bN0B
jKFBIRS0KXNlY3VyaXR5QHN0YWNrcy5vcmcgPHNlY3VyaXR5QHN0YWNrcy5vcmc+
iJAEExYIADgWIQSro3+jbbulkbDlWUkOlNBlsy7H5gUCZrJ2wAIbAwULCQgHAgYV
CgkICwIEFgIDAQIeAQIXgAAKCRAOlNBlsy7H5tznAQC6iKqtjCqn2RjtCkr2V6xe
kCe92RfwWsG0415jVpVlDgEA350TCqIT1Jwyqz2aNT2TQ9F6fyKzAiNpLVRImOLH
4Aq4OARmsnbAEgorBgEEAZdVAQUBAQdAvwusRitvUX9hSC8NKS48VTT3LVvZvn87
JQXRc2CngAEDAQgHiHgEGBYIACAWIQSro3+jbbulkbDlWUkOlNBlsy7H5gUCZrJ2
wAIbDAAKCRAOlNBlsy7H5oCNAQDae9VhB98HMOvZ99ZuSEyLqXxKjK7xT2P0y1Tm
GuUnNAEAhI+1BjFvO/Hy50DcZTmHWvHJ6/dzibw5Ah+oE458IQo=
=yhSO
-----END PGP PUBLIC KEY BLOCK-----
```

Expand Down
22 changes: 11 additions & 11 deletions clarity/src/vm/docs/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1775,17 +1775,17 @@ this value is less than or equal to the value for `miner-spend-total` at the sam
const GET_BURN_BLOCK_INFO_API: SpecialAPI = SpecialAPI {
input_type: "BurnBlockInfoPropertyName, uint",
output_type: "(optional buff) | (optional (tuple (addrs (list 2 (tuple (hashbytes (buff 32)) (version (buff 1))))) (payout uint)))",
snippet: "get-burn-block-info? ${1:prop} ${2:block-height}",
signature: "(get-burn-block-info? prop-name block-height)",
snippet: "get-burn-block-info? ${1:prop} ${2:burn-block-height}",
signature: "(get-burn-block-info? prop-name burn-block-height)",
description: "The `get-burn-block-info?` function fetches data for a block of the given *burnchain* block height. The
value and type returned are determined by the specified `BlockInfoPropertyName`. Valid values for `block-height` only
value and type returned are determined by the specified `BlockInfoPropertyName`. Valid values for `burn-block-height` only
include heights between the burnchain height at the time the Stacks chain was launched, and the last-processed burnchain
block. If the `block-height` argument falls outside of this range, then `none` shall be returned.
block. If the `burn-block-height` argument falls outside of this range, then `none` shall be returned.
The following `BlockInfoPropertyName` values are defined:
* The `header-hash` property returns a 32-byte buffer representing the header hash of the burnchain block at
burnchain height `block-height`.
burnchain height `burn-block-height`.
* The `pox-addrs` property returns a tuple with two items: a list of up to two PoX addresses that received a PoX payout at that block height, and the amount of burnchain
tokens paid to each address (note that per the blockchain consensus rules, each PoX payout will be the same for each address in the block-commit transaction).
Expand All @@ -1811,11 +1811,11 @@ The `addrs` list contains the same PoX address values passed into the PoX smart

const GET_STACKS_BLOCK_INFO_API: SpecialAPI = SpecialAPI {
input_type: "StacksBlockInfoPropertyName, uint",
snippet: "get-stacks-block-info? ${1:prop} ${2:block-height}",
snippet: "get-stacks-block-info? ${1:prop} ${2:stacks-block-height}",
output_type: "(optional buff) | (optional uint)",
signature: "(get-stacks-block-info? prop-name block-height)",
signature: "(get-stacks-block-info? prop-name stacks-block-height)",
description: "The `get-stacks-block-info?` function fetches data for a block of the given *Stacks* block height. The
value and type returned are determined by the specified `StacksBlockInfoPropertyName`. If the provided `block-height` does
value and type returned are determined by the specified `StacksBlockInfoPropertyName`. If the provided `stacks-block-height` does
not correspond to an existing block prior to the current block, the function returns `none`. The currently available property names
are as follows:
Expand All @@ -1840,11 +1840,11 @@ the mining of this block started, but is not guaranteed to be accurate. This tim

const GET_TENURE_INFO_API: SpecialAPI = SpecialAPI {
input_type: "TenureInfoPropertyName, uint",
snippet: "get-tenure-info? ${1:prop} ${2:block-height}",
snippet: "get-tenure-info? ${1:prop} ${2:stacks-block-height}",
output_type: "(optional buff) | (optional uint)",
signature: "(get-tenure-info? prop-name block-height)",
signature: "(get-tenure-info? prop-name stacks-block-height)",
description: "The `get-tenure-info?` function fetches data for the tenure at the given block height. The
value and type returned are determined by the specified `TenureInfoPropertyName`. If the provided `block-height` does
value and type returned are determined by the specified `TenureInfoPropertyName`. If the provided `stacks-block-height` does
not correspond to an existing block prior to the current block, the function returns `none`. The currently available property names
are as follows:
Expand Down
2 changes: 1 addition & 1 deletion docs/SIPS.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,4 @@ Stacks improvement proposals (SIPs) are aimed at describing the implementation o

See [SIP 000](https://github.com/stacksgov/sips/blob/main/sips/sip-000/sip-000-stacks-improvement-proposal-process.md) for more details.

The SIPs now located in the [stacksgov/sips](https://github.com/stacksgov/sips) repository as part of the [Stacks Community Governance organization](https://github.com/stacksgov).
The SIPs are located in the [stacksgov/sips](https://github.com/stacksgov/sips) repository as part of the [Stacks Community Governance organization](https://github.com/stacksgov).
35 changes: 35 additions & 0 deletions docs/branching.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# Git Branching

The following is a slightly modified version of the gitflow branching strategy described in <https://nvie.com/posts/a-successful-git-branching-model/>

## Main Branches

- **master** - `master` is the main branch where the source code of HEAD always reflects a production-ready state.
- **develop** - `develop` is the branch where the source code of HEAD always reflects a state with the latest delivered development changes for the next release.
- **next** - `next` may contain consensus-breaking changes for a future release.
- **release/X.Y.Z.A.n** is the release branch.

When the source code in the develop branch reaches a stable point and is ready to be released, a release branch is created as `release/X.Y.Z.A.n` (see [release-process.md](./release-process.md)).
After release, the following will happen:

- `release/X.Y.Z.A.n` branch is merged back to `master`.
- `master` is then merged into `develop`, and development continues in the `develop` branch.
- `develop` is then merged into `next`.

## Supporting Branches

Branch names should use a prefix that conveys the overall goal of the branch.
All branches should be based off of `develop`, with the exception being a hotfix branch which may be based off of `master`.

- `feat/some-fancy-new-thing`: For new features.
- `fix/some-broken-thing`: For hot fixes and bug fixes.
- `chore/some-update`: Any non code related change (ex: updating CHANGELOG.md, adding comments to code).
- `docs/something-needs-a-comment`: For documentation.
- `ci/build-changes`: For continuous-integration changes.
- `test/more-coverage`: For branches that only add more tests.
- `refactor/formatting-fix`: For refactors of the codebase.

The full branch name **must**:

- Have a maximum of 128 characters.
- Only includes ASCII lowercase and uppercase letters, digits, underscores, periods and dashes.
Loading

0 comments on commit 8d31f18

Please sign in to comment.