What's Changed
- A
relay
server written on Rust. by @sergey-shandar in #3497 - chore: enable manual start of btc integration test workflow by @pavitthrap in #3521
- Chore/merge develop to next 2023 02 09 by @jcnelson in #3564
- [sBTC] Feat: Peg-in operation wire format by @netrome in #3486
- sBTC: Add burn ops RPC for PegIn by @kantai in #3511
- [eng quality] remove extern crate references by @pavitthrap in #3544
- [sBTC] Feat: Peg out request & fulfillment wire formats & RPC by @netrome in #3577
- Chore/reorder imports by @pavitthrap in #3556
- [sBTC] Add stx_address method to PegOutRequestOp by @netrome in #3649
- Merge develop into next by @obycode in #3897
- [Chore] Merge develop to next by @jcnelson in #3994
- Nakamoto: Nakamoto blocks and block headers, append_block by @kantai in #3933
- Nakamoto staging blocks by @kantai in #3992
- Initial implementation of mockamoto stack-node mode by @kantai in #4001
- Feat/nakamoto coordinator by @jcnelson in #4009
- Chore: Merge develop to next by @jcnelson in #4074
- Feat: Add
TenureChange
transaction type by @jbencin in #3974 - Bugfix/nakamoto coordinator reward set prepare phase calcs by @jferrant in #4095
- chore: Update
wsts
tov5.0.0
by @jbencin in #4102 - Nakamoto: Validate stacker signature of a Nakamoto Block by @jferrant in #4039
- Feat: Mockamoto + coordinator integration by @kantai in #4098
- Merge develop into next by @wileyj in #4127
- Fix: Use
VRFProof::consensus_serialize()
by @jbencin in #4121 - fix: handle epochs 2.5 and 3.0 correctly by @obycode in #4138
- Merge develop into next by @wileyj in #4151
- Feat/remove sbtc ops by @soju-drinker in #4112
- Run rust fmt by @jferrant in #4154
- Fix mempool admission for Nakamoto Blocks by @jferrant in #4149
- Implement PoX-4 Locking via Special Contract-Call Handler by @jbencin in #4106
- Feat/tenure change validation by @jcnelson in #4114
- use pull_request to trigger ci runs by @wileyj in #4162
- Fix
next
compiler error by @jcnelson in #4159 - Nakamoto-Neon: Add nakamoto_node by @kantai in #4133
- Get/Set aggregate public key from Clarity by @jcnelson in #4165
- Nakamoto-Node: Support for interim block mining by @kantai in #4187
- Enable
FIRE
coordinator forstacks-signer
by @xoloki in #4174 - Nakamoto Fixes: IssueBlockCommit and Reward Maturity Lookups by @kantai in #4205
- Fix: RBF-mechanism should check bitcoin RPC by @kantai in #4206
- pox-4: remove pox-reject by @friedger in #4163
- PoX-4 signer key read/write with base Rust tests by @MarvinJanssen in #4209
- Fix: commit burn out selection in nakamoto-node by @kantai in #4212
- Update wsts version to 6.0 and use Packet::verify function by @jferrant in #4227
- Fix: nakamoto-node shouldn't respawn prometheus thread by @kantai in #4226
- Feat/async block proposal by @kantai in #4228
- Feat/stackerdb miners contract by @jcnelson in #4188
- Process coordinator messages to duplicate state between multiple coor… by @jferrant in #4186
- Improve revoke delegate stx by @friedger in #4157
- Feat/stacks signer block proposal by @jferrant in #4130
- Nakamoto: remove stacker signature fields from tenure change payload by @kantai in #4260
- Make
DKG
fully robust against non-participation by @xoloki in #4236 - Chore/update wsts version 7 by @jferrant in #4267
- Add pox-4.clar to Clarinet.toml by @friedger in #4194
- Fix pox4 delegate-stack-extend by @zone117x in #4279
- Chore/Additional PoX-4 Rust Tests by @setzeus in #4245
- Enable approval or rejection of a block via signature by @jferrant in #4249
- .signers StackerDB contract and PoX 4 signer key changes by @MarvinJanssen in #4263
- Select stacks-signer coordinator dynamically by @8marz8 in #4276
- Bugfix/signer signature hash by @jferrant in #4294
- feat: default to
.signers
boot contract in signer config by @hstove in #4266 - feat: include stacks-signer binary in CI images by @hstove in #4268
- Make signer_signature_hash infallible and use it instead of the entire block when passing around data in stackerdb by @jferrant in #4300
- Nakamoto: Add stacker/signer bit vector and event by @kantai in #4269
- Add
/status
endpoint to signer by @hstove in #4280 - fix: modify test_simple_signer to fix intermittent failure by @hstove in #4306
- Mutants run on PR differences by @ASuciuX in #4303
- [clarity] Cast aggregated public key vote by @friedger in #4239
- feat: add signer-key to synthetic pox events by @zone117x in #4329
- fix: incorrect arg index in synthetic event by @hstove in #4332
- Updated Vote Print Statement by @setzeus in #4324
- Merge develop to next by @jcnelson in #4334
- Nakamoto Tenure Inventories by @jcnelson in #4232
- Miners handle signers block responses from the stacker db instance by @jferrant in #4281
- Feat/signers write transactions to stackerdb by @jferrant in #4301
- Fix flaky block-proposal test by @jcnelson in #4337
- Use serial to ensure tests do not clash by @jferrant in #4340
- Use the same slot id for retrieving the proposed block by @jferrant in #4344
- Reward set calculation and RPC endpoint by @kantai in #4311
- Feat: trigger stackerdb refresh when .signers is written by @kantai in #4330
- chore: Remove unused variables by @jbencin in #4339
- fix: fix #4351 by @jcnelson in #4353
- feat: require signatures to prove control of
signer-key
in pox by @hstove in #4277 - Update
wsts
dependency to get malicious DkgPrivateShares handling by @xoloki in #4326 - feat: add signer CLI function to generate signature by @hstove in #4319
- fix: buids on various archs/platforms by @zone117x in #4331
- Paging in StackerDB and update to .signers by @kantai in #4323
- test: Add
replay-block
command by @jbencin in #4359 - Fix(Nakamoto): Block evaluation issues in
next
by @kantai in #4372 - chore: Enable "fat" link-time optimizations for release builds by @jbencin in #4365
- Chore: ed25519 dalek update in
next
by @kantai in #4382 - Update wsts workspace dependency to v8.1 by @xoloki in #4381
- Separate Nakamoto DB for staging blocks by @jcnelson in #4373
- Nakamoto Inventory State Machine by @jcnelson in #4366
- chore: Drop support for old x86_64 CPUs by @jbencin in #4364
- chore: Use
hashbrown
in most workspace members by @jbencin in #4389 - chore: Use
jemalloc
global allocator on supported platforms by @jbencin in #4367 - fix: ignore timing out runloop test by @hstove in #4404
- feat: allow signer-key authorizations instead of signature by @hstove in #4377
- chore: Fix lots of
clippy::perf
warnings by @jbencin in #4336 - Process successful .signers-voting results by @obycode in #4360
- Fix: only report codecov status after ci by @wileyj in #4409
- trigger ci workflow when merge queue requests it by @wileyj in #4416
- Feat/signers cast dkg vote by @jferrant in #4287
- Drop User Burn Support by @8marz8 in #4378
- Mutants/add skip attribute to timeout functions by @ASuciuX in #4385
- chore(clarity): Replace
Vec::new()
andvec![]
by @jbencin in #4408 - chore(stacks-common): Improvements to
Vec
allocation and operations by @jbencin in #4425 - chore: Remove imports already included by
std::prelude
by @jbencin in #4390 - Mutants Optimisations: big-packages, timeout multiplier, stacks-signer case by @ASuciuX in #4380
- Update ci trigger to enable merge queue in next by @wileyj in #4438
- Add property-based tests for signers-voting contract functions by @moodmosaic in #4403
- Round up thresholds by @jferrant in #4455
- Additional 'set-signer-key-authorization' Checks by @setzeus in #4432
- Move signer transaction to global location and utilize in both miner and signer by @jferrant in #4436
- Fix signer id use in stackerdb by @jferrant in #4451
- Chore: Remove unnecessary
sha2-asm
dependency by @jbencin in #4435 - PoX-4 Clarunit Setup & Initial Tests by @setzeus in #4231
- Fix race condition in stacks signer client tests by @netrome in #4473
- Fix signer nonces by @obycode in #4480
- chore(clarity): Allocate
HashMap
s with capacity when possible by @jbencin in #4462 - Ctrl-C graceful shutdown during burnchain initialization by @8marz8 in #4474
- Fix: manually calculate current reward cycle ID in /v2/pox_info by @kantai in #4468
- fix: resolve DNS/hostnames for signer node_host config by @zone117x in #4475
- Fix
get-vote
response type by @obycode in #4467 - Feat/block proposal authorization password for v2/block_proposal endpoint by @jferrant in #4471
- CI: Replace Rustfmt Action by @BowTiedDevOps in #4478
- CI: do not fail CI if the codecov upload fails by @obycode in #4485
- Remove self signer by @obycode in #4469
- fix: expected reward cycle in integration test for pox info by @hstove in #4488
- feat: Validate amount with signer key authorizations by @hstove in #4461
- feat: gate
target-cpu=native
withportable
feature by @obycode in #4489 - fix: use testnet consts when generating xenon config by @hstove in #4499
- chore: Optimize
TupleData::from_data()
by @jbencin in #4458 - Including rewardSet in new block event by @8marz8 in #4430
- feat: store signer state in sqlite by @hstove in #4348
- If data already exists in a stackerdb slot, update version number by @jferrant in #4507
- feat: add signer-key to stack-increase event by @hstove in #4508
- update signer logging to include reward cycle to differentiate curren… by @jferrant in #4505
- Have miners abort signing a block if the burn tip changes by @jferrant in #4510
- chore: add more logging to the event receiver by @kantai in #4503
- Feat: use block proposal struct for miner -> signers communication by @kantai in #4511
- feat: add a parity check and filter events sent to the signer instances by @kantai in #4512
- chore: Optimize
TraitsResolver
by @jbencin in #4500 - fix: try not deleting accepted blocks from signerDB by @hstove in #4514
- feat: signer does not treat repeated proposals as new by @kantai in #4515
- Bugfix/cleanup outdated signers by @jferrant in #4513
- Minor changes / clean up by @obycode in #4516
- [CI] Dry x86-64-v3 builds/default images to use glibc by @wileyj in #4460
- feat: add const to determine whether to rotate coordinator by @hstove in #4517
- chore: ensure all http/1.1 requests are properly structured by @obycode in #4518
- Add property tests for PoX-4 read-only functions by @BowTiedRadone in #4470
- fix: add reward cycle to signerdb by @obycode in #4525
- fix:
stacked_amt: u128
should serialize as string by @zone117x in #4522 - Move the Creation of Source Binaries to Composite by @BowTiedDevOps in #4497
- feat: burn op definition and storage for vote-for-agg-key by @hstove in #4376
- feat: add
pox_stx_threshold
amount to/new_block
event data by @zone117x in #4524 - Rename 'get'/'put' Methods in Clarity by @ASuciuX in #4521
- fix: correct deserialization size check by @obycode in #4537
- feat: include signer bitvec in nakamoto block event by @hstove in #4526
- fix: add wsts::Point validation to
vote-for-aggregate-key
burn op by @hstove in #4536 - Bugfix/do not unconditionally attempt block post submit failure by @jferrant in #4495
- Add
cycle-id
ranges to synthetic pox events by @zone117x in #4414 - test: upgrade core-contract-tests dependencies by @hugocaillard in #4528
- feat: return any value type from
execute_contract_allow_private
by @hugocaillard in #4520 - fix: remove
--reward-cycle
fromstacks-signer run
by @hstove in #4542 - Fixes discovered while bringing up the pre-launch testnet by @obycode in #4527
- Signers-Voting Chore(s): Round Up & Round-Data Getter by @setzeus in #4496
- fix: isolate event-dispatcher serialization code by @zone117x in #4545
- Feat/signers subscribe to burn blocks by @jferrant in #4549
- Chore: Remove
Box
ing ofSymbolicExpression
s by @ASuciuX in #4530 - Chore/fix clippy perf warnings by @ASuciuX in #4567
- fix:
target-cpu=native
flag working again by @jbencin in #4498 - Remove extra retry call in signer by @8marz8 in #4491
- Update StackStxOp to include signer key by @8marz8 in #4412
- Feat: Miner acts as signer set coordinator during block signing by @kantai in #4481
- Disable Microblocks in Epoch 2.5 by @kantai in #4561
- fix: handle burn chain flapping by @obycode in #4563
- Add affirmation overrides config option and add default xenon ones ne… by @jferrant in #4560
- Merge develop into next by @obycode in #4575
- 2.5: PoX missed-slot updates by @kantai in #4576
- Feat/nakamoto block downloader by @jcnelson in #4476
- feat: make nakamoto mode the default by @obycode in #4577
- Feat/nakamoto block download API by @jcnelson in #4394
- fix: allow
nakamoto-neon
mode by @obycode in #4578 - feat: add config parameters for burn block start by @obycode in #4556
- Chore/fix clippy nursery warning by @ASuciuX in #4572
- Feat: Set activation height for 2.5 in xenon (mainline) testnet by @kantai in #4588
- create release only requires a tag by @wileyj in #4590
- adding missing flag to cargo.toml by @wileyj in #4592
- fix: core contract tests corrupted package.json by @hugocaillard in #4594
- Track functions using mutants from PR #4483 by @ASuciuX in #4593
- fix: generating stacking signatures from b58 addresses by @hstove in #4600
- Fix/4609 by @jcnelson in #4611
- feat: Nakamoto signer persisting its party shares to enable restart by @netrome in #4570
- Feat/signers get round info and use it to determine if a vote has failed by @jferrant in #4569
- feat: add flag to output signer key signature in JSON by @hstove in #4580
- 2.5: Tuple performance improvements by @kantai in #4614
- chore: Add
release-lite
profile for low-RAM environments by @jbencin in #4599 - Chore: Merge next to develop by @kantai in #4631
- Migrate Epoch 2.4 chainstate to Epoch 2.5 without a genesis sync by @jcnelson in #4606
- fix: update prepare offset of start-end cycle ids by @janniks in #4637
- Chore: Merge master to develop by @kantai in #4655
- [pox-4] Stack Aggregation Increase Update by @setzeus in #4644
- feat: set 2.5 activation height at bitcoin block 839,444 by @kantai in #4633
- Chore/remove portable by @wileyj in #4664
- Feat: add affirmation map overrides to xenon default config for epoch 2.5 by @kantai in #4667
- Feat(pox-4): return an err on improper agg-incr invocations by @kantai in #4670
- fix: fix delegate stack increase events by @janniks in #4665
- update release workflow to tag the correct commit by @wileyj in #4671
- Hotfix/distinct burnchain ops by @jcnelson in #4673
New Contributors
- @MarvinJanssen made their first contribution in #4209
- @setzeus made their first contribution in #4245
- @8marz8 made their first contribution in #4276
Full Changelog: 2.4.0.1.0...2.5.0.0.0-rc4