What's Changed
- Arm/genesis contract prefund by @0xBEEFCAF3 in #5
- add minting.sol bytecode in config by @scottmillner in #7
- update bytecode with sats to wei conversion logic by @scottmillner in #9
- add getBtcFees endpoint by @scottmillner in #11
- feature: broadcast withdrawal tx by @0xBEEFCAF3 in #6
- 111 feature miner task should take btc server and block source details from config by @0xBEEFCAF3 in #10
- executor checks if btc address is valid by @scottmillner in #12
- feature: create async bitcoin worker by @0xBEEFCAF3 in #13
- rpc: Rename RPC method getBtcFees to GetBtcFeeRate and change usage by @stevenroose in #15
- Update Minting.sol bytecode with latest changes by @scottmillner in #17
- executor: Fix various issues in Mint contract validation by @stevenroose in #16
- refactor(async_worker): only store most recent bitcoin block header by @0xBEEFCAF3 in #18
- refactor: update chainId to 3636 to match chainlist by @scottmillner in #21
- refactor: lower initial base fee by factor of 1000 by @scottmillner in #32
- refactor(rpc): update default network in
botanix_configto use bitc… by @0xBEEFCAF3 in #33 - 209 refactor remove pegin nonce infavor of block height by @scottmillner in #30
- refactor: use a 30 sec block time in autosealer by default by @0xBEEFCAF3 in #34
- fix(autoseal): remove txs that fail predetermined checks from the mem… by @0xBEEFCAF3 in #35
- Rebase 12 7 2023 by @0xBEEFCAF3 in #37
- feature: use payload builder in autoseal block template construction by @0xBEEFCAF3 in #38
- fix: revert mint contract txs that fail validation by @scottmillner in #39
- Move btc-server into macbeth as a crate by @scottmillner in #40
- extended Makefile, updated readme and Cargo.toml by @BatiGencho in #41
- evgeni/274 added error handling in background block header task by @BatiGencho in #43
- Scott/261 remove macbeth as submodule by creating crates by @scottmillner in #42
- evgeni: rust fmt, doc cleanup, removed reth files by @BatiGencho in #44
- 278: added proper error handling in btc server by @BatiGencho in #45
- Arm/migrate docs by @0xBEEFCAF3 in #49
- build: remove ci token secret from workflow by @scottmillner in #47
- fix: add dependencies for btc-server by @scottmillner in #51
- Merge sandbox into main by @scottmillner in #54
- feature(authority): write block import messages on a shared queue by @0xBEEFCAF3 in #31
- Arm/enforce block height greater by @0xBEEFCAF3 in #50
- ci: do not perform any optimism workflows by @0xBEEFCAF3 in #61
- Arm/poa cleanup by @0xBEEFCAF3 in #59
- use timestamp to determine if in turn by @scottmillner in #57
- 296 refactor list of authority signers should be optional by @0xBEEFCAF3 in #63
- 298 fix remove uses of h160 and h256 in favor of b265 h265 by @0xBEEFCAF3 in #66
- Scott/fix add authority in turn error by @scottmillner in #67
- feature: base fee burn should go to block producer by @BatiGencho in #69
- feature: nodes should propagate txs in mempool by @BatiGencho in #68
- contracts: Update comment after code change by @stevenroose in #71
- authority: Improve readibility of highly indented function by @stevenroose in #72
- feature: Ensure EVM TX fees are being deposited to federation members account by @BatiGencho in #75
- feature(poa): process botanix logs for incoming blocks by @0xBEEFCAF3 in #65
- 300 feature ensure in turn is only producing one block per time slot by @0xBEEFCAF3 in #70
- 304 feature utility to communicate to engine api by @0xBEEFCAF3 in #73
- feature: spawn peer sync task by @scottmillner in #74
- Scott evgeni/311 replace authorityclient with networkclient by @BatiGencho in #79
- Arm/refactor/task breakdown by @0xBEEFCAF3 in #78
- test: integration test eoa tx mined by @BatiGencho in #77
- fixes to poa events and added events notifier by @BatiGencho in #81
- Use payload builder via beacon engine messages by @scottmillner in #85
- Scott/319 refactor poa tests by @scottmillner in #87
- Add util function to return if bloom filter possibly contains a pegout by @scottmillner in #89
- Feature/frost-dkg (btc_server) by @0xBEEFCAF3 in #90
- fix(poa): payload builder by @BatiGencho in #95
- cargo fmt linting by @BatiGencho in #96
- poa tx payload builder fixes & epoch manager fixes by @BatiGencho in #97
- nit: Replace all usage of reciept with receipt by @stevenroose in #93
- Scott/bug retry empty payload by @scottmillner in #99
- Merge rebase into feature/poA-consensus by @scottmillner in #101
- add function to return all pegouts in an epoch by @scottmillner in #102
- Merge latest reth changes from master by @BatiGencho in #106
- refactor: reduce base fee by factor of 1000 by @scottmillner in #107
- added bitcoind client & syncing by @BatiGencho in #105
- feature: added poa frost networking with dkg by @BatiGencho in #98
- refactored readme file with new instructions by @BatiGencho in #113
- Scott/350 fix signet reorgs final by @scottmillner in #115
- refactor: process pegouts at end of epoch by @scottmillner in #116
- Arm/frost signing by @0xBEEFCAF3 in #92
- chore: test integration pipeline with hosted runner by @ozymandias-rex in #126
- Scott/358 feature add pegout witness data to edh by @scottmillner in #127
- refactor: finalize_signing returns psbt instead of transaction by @scottmillner in #128
- Arm/dkg mint validation by @0xBEEFCAF3 in #125
- added integration test suite and moved integration tests into it by @BatiGencho in #130
- deduct tx costs from pegin amount and refund the receiver address by @scottmillner in #103
- Utxomerkle by @ozymandias-rex in #122
- feature: fetch and store block tx ids in memory by @scottmillner in #131
- added integration test suite and moved integration tests into it by @BatiGencho in #132
- Reworked btc server client and added jwt auth by @BatiGencho in #135
- frost signing reincarnated with latest poA changes by @BatiGencho in #136
- Fee rates by @0xBEEFCAF3 in #139
- fix(btc_server): config default impl infinite loop by @0xBEEFCAF3 in #142
- Misc btc-server improvements by @stevenroose in #141
- feature(btc_server): signer finalize gRPC endpoint by @0xBEEFCAF3 in #144
- refactor: process pegouts before building block header by @scottmillner in #140
- refactor: add btc-network cli arg by @scottmillner in #147
- Integration Test :: Frost signing by @BatiGencho in #138
- Move all PSBT logic into btc-wallet::psbt module by @stevenroose in #146
- Add shell.nix file for building using nix-shell by @stevenroose in #155
- refactor(btc_server): move most psbt validation to
validate_psbt()by @0xBEEFCAF3 in #118 - Arm/fix/btc server docker build by @0xBEEFCAF3 in #152
- WIP - 377 fixfrost authenticate all dkg frost networking messages by @0xBEEFCAF3 in #156
- increased dynamic test suite by @BatiGencho in #153
- Feature/arm/abort signing by @0xBEEFCAF3 in #164
- don't track .env file and add template.env by @scottmillner in #166
- Replace user/pass with cookie file for bitcoind RPC by @stevenroose in #160
- Feature/arm/utxo commit by @0xBEEFCAF3 in #163
- Scott/378 feature block subsidy is split between block producer and botanix by @scottmillner in #167
- refactor: update pegin.md by @scottmillner in #171
- nix-shell: Update to Rust version 1.77.2 by @stevenroose in #175
- The Great CI Cleanup by @BatiGencho in #169
- Always do fee split by @scottmillner in #181
- Refactor/arm/rm rm utxo endpoint by @0xBEEFCAF3 in #174
- retry signing after current signing session fails by @BatiGencho in #168
- Scott/392 tracking non federation nodes by @scottmillner in #180
- reworked int. test + cleanup by @BatiGencho in #186
- nix-shell: Fix protobuf version in nix-shell by @stevenroose in #187
- chore(btc_server): improve logging by @0xBEEFCAF3 in #192
- ci: use stable build for btc_server v1 by @0xBEEFCAF3 in #193
- Remove code for storing recent bitcoin txids by @stevenroose in #198
- nix-shell: Use rustup to fix versions by @stevenroose in #197
- fix typo on reth-node workflow file by @birozuru in #195
- Upstream merge april 30 by @scottmillner in #196
- test-suite: Move abigen invocation into build.rs by @stevenroose in #200
- Scott/fix unit tests by @scottmillner in #203
- Redo 'Remove code for storing recent bitcoin txids' by @stevenroose in #202
- test: add back eth state tests by @scottmillner in #204
- fixes to docker build by @BatiGencho in #201
- workflow cleanup in progress by @birozuru in #205
- test: wait for btc server to be online and connectable before continu… by @0xBEEFCAF3 in #206
- ci: do not use workspace deps for btc-wallet crate by @0xBEEFCAF3 in #208
- test: refactor utxo value to avoid high feerate error by @scottmillner in #209
- chore: remove btc-server cargo.lock by @0xBEEFCAF3 in #212
- refactor: check witness data is not empty by @scottmillner in #211
- Scott/422 btc-server tests generate 101 blocks so coinbase utxos can be spent by @scottmillner in #210
- Arm/feature/add clean commands by @0xBEEFCAF3 in #214
- Change mainchain block commitment tracking to add conf window by @stevenroose in #199
- Arm/chore/noisey logs by @0xBEEFCAF3 in #215
- added retrial mechanism and proper error handling when connecting btc-server by @BatiGencho in #220
- fix: block builder fails consensus if pegouts but no witness data in EDH by @scottmillner in #218
- added way to determine if a tx has failed or already in pool by @BatiGencho in #221
- Arm/feature/pbft by @0xBEEFCAF3 in #170
- added a mechanism for node services to await full synhcronization by @BatiGencho in #226
- fix: disable engine RPC if chainspec is botanix by @BatiGencho in #231
- 449 chore secp doesnt need to be passed to authority consensus can use global context by @0xBEEFCAF3 in #234
- Feature/arm/bitcoind toml by @0xBEEFCAF3 in #232
- fix: add genesis authorities to storage and validate list when import… by @scottmillner in #233
- Scott/439 test invalid pegin gets reverted by @scottmillner in #223
- test: fix node ports being mis-wired by @0xBEEFCAF3 in #235
- 479 chore improve setting signauture in edh interface by @0xBEEFCAF3 in #236
- chore: configure test-runner dir to use current timestamp by @BatiGencho in #237
- test-suite: Make sure temp_path exists after creation by @stevenroose in #239
- fix: integration test suite process should exit with error code 1 by @BatiGencho in #238
- fix: remove unwraps from extra_data_header.rs by @BatiGencho in #243
- k8s deployment for v1 testnet by @birozuru in #225
- change secret from yml to yaml by @birozuru in #245
- Test/arm/misc test suite fixes by @0xBEEFCAF3 in #247
- refactor: remove authrpc args except authrpc.jwtsecret for poa nodes by @scottmillner in #248
- test: fix test by @scottmillner in #251
- github job for solidity minting contract #70 by @birozuru in #249
- fix: handle updating state for all pegin/pegout reverts by @scottmillner in #242
- Use /usr/bin/env bash instead of /bin/bash by @stevenroose in #254
- clean up previous test folder by @birozuru in #253
- fix(test_suite): load integration test suite wallet if not loaded for… by @0xBEEFCAF3 in #255
- fixes for cleanup and weird behaviour by @BatiGencho in #258
- ci: clean up should be a step of
test / e2eworkflow by @0xBEEFCAF3 in #261 - test: delay so btc server has time to spin up by @scottmillner in #259
- chore: increate nexttest slow timeout period by @0xBEEFCAF3 in #219
- block building or fetching should not occur if sync is in progress by @BatiGencho in #244
- Scott/491 fix epoch block should check authorities are in the correct order by @scottmillner in #257
- build: use chain.toml for k8s by @scottmillner in #256
- consolidate all botanix consensus checks to AuthorityConsensus by @0xBEEFCAF3 in #263
- Implement UTXO selection by @stevenroose in #149
- chore(btc_server): Fix IDB RPC call by @stevenroose in #264
- Test/arm/increase timeout by @0xBEEFCAF3 in #265
- updated pegin confirmation depth by @birozuru in #266
- chore(poa): set
BOTANIX_TESTNETconfirmation depth to 1 by @0xBEEFCAF3 in #269 - Feature/chore/remove client from storage by @0xBEEFCAF3 in #268
- Coordinator based DKG by @0xBEEFCAF3 in #262
- authority: Cleanly exit block fetcher task on channel close by @stevenroose in #276
- added healthcheck & reconnection task & Slack alarmer & tests by @BatiGencho in #240
- remove unused poa_builder by @0xBEEFCAF3 in #277
- sanitizing discovery key by @BatiGencho in #284
- Add script to generate Rust docs by @stevenroose in #282
- cleanup, clippy, warnings removed, slack removed by @BatiGencho in #286
- reworked jwt logic with authentication by @BatiGencho in #283
- Scott/494 fix should run full conseusus validate before giving pre commitment by @scottmillner in #279
- Arm/feature/pk header by @0xBEEFCAF3 in #280
- Arm/feature/dynamic leader selection time by @0xBEEFCAF3 in #287
- Test/arm/revive rpc node test by @0xBEEFCAF3 in #275
- extended chain.toml with is-testnet boolean by @BatiGencho in #285
- btc server extended deep integration by @BatiGencho in #291
- btc-server: Reduce verbosity of logging in dependent crates by @stevenroose in #297
- added required protobuf libs by @rwlockbg in #296
- separate the deployment manifests and workflow from application code by @birozuru in #302
- botanix-cli: Resurrect by @stevenroose in #301
- fix typo in repo spelling by @birozuru in #303
- Fix/arm/signing reset by @0xBEEFCAF3 in #292
- refactor: remove BLOCK_TIME_DURATION_SECS by @scottmillner in #294
- chore(poa):
suggested_fee_recipientpassed to payload builder shoul… by @0xBEEFCAF3 in #299 - feature(poa): impose a max edh size by @0xBEEFCAF3 in #298
- protocol logging by @rwlockbg in #304
- Scott/516 chore 8020 split fee recepient should be in chainspec by @scottmillner in #300
- fix: attempt to add trusted peers in health check task if they are no… by @0xBEEFCAF3 in #305
- multiplexing and times reduction by @rwlockbg in #306
- fix: wait for a 3rd of the block time for pbft commits and frost sign… by @0xBEEFCAF3 in #307
- refactor: temporarily disable healthcheck service by @scottmillner in #308
- fix(health_checks): pull peer socket address from network manager / fed config by @rwlockbg in #309
- Fix/arm/misc setup by @0xBEEFCAF3 in #310
- fix: should check btc_server auth status after connecting by @rwlockbg in #312
- Fix/arm/pbft pre commits resets by @0xBEEFCAF3 in #313
- Fix/arm/pegin depth by @0xBEEFCAF3 in #314
- added ConnEstablished failed event, some cleanup by @rwlockbg in #316
- removed the awaiting of all peers to be connected when starting the healthcheck task by @rwlockbg in #317
- Fix/arm/pbft pre commits by @0xBEEFCAF3 in #315
- Scott/488 test sanity check the mint contract byte code by @scottmillner in #321
- refactor: pass ntp-server from cli by @scottmillner in #322
- fix: disable mint contract check till we can package the bytecode hex… by @0xBEEFCAF3 in #327
- Fix/arm/bitcoind sync by @0xBEEFCAF3 in #326
- Scott/589 fix non fed node does not need btc signing server jwt secret cli flag by @scottmillner in #325
- fix(btc_server): remove pegin-conf cli flag by @rwlockbg in #323
- fix(poa): added deployed minting contract path by @rwlockbg in #328
- Refactor most of the Minting contract log parsing and handling code by @stevenroose in #293
- Arm/feature/tx index sync by @0xBEEFCAF3 in #329
- fix: instantiate static provider from db by @scottmillner in #331
- refactor(btc_server): send_pegin notification rpc should be a bulk operation by @rwlockbg in #319
- fix: only parse initial block download bool from getblockchaininfo re… by @0xBEEFCAF3 in #336
- fixed healthcheck task by @rwlockbg in #324
- Historical Pegin Validation by @scottmillner in #332
- fix: do not use workspace bitcoin-core json rpc dependency in btc wa… by @0xBEEFCAF3 in #340
- fix: kill btc servers regardless of int. test results by @0xBEEFCAF3 in #338
- cleanup: remove staking consts and references by @scottmillner in #341
- Feature/md book by @0xBEEFCAF3 in #289
- Arm/refactor/exec utils by @0xBEEFCAF3 in #339
- Arm/feature/utxo sync by @0xBEEFCAF3 in #342
- fix(protocol): removed unwraps + refactor by @rwlockbg in #349
- Some refactoring of pages + changes to text and typos by @jeffgeudens in #347
- Scott/625 fixpoa nodes stuck in sync status by @0xBEEFCAF3 in #360
- Fed utils cli feature branch by @scottmillner in #345
- edh limit max inputs cherry pick by @scottmillner in #362
- Refactor/mark/GitHub action workflows cherry pick by @scottmillner in #363
- Revert "Refactor/mark/GitHub action workflows cherry pick" by @0xBEEFCAF3 in #374
- feature(pegout): metadata should be pegout version by @scottmillner in #377
- merged reth latest by @rwlockbg in #373
- Rebase upstream merge comet by @rwlockbg in #385
- refactor(workflows): deleted unused workflows by @birozuru in #388
- added back authority tests, removed warnings, cleanup, retry, removed sync logic etc. by @rwlockbg in #389
- added docker-compose for cometbft by @rwlockbg in #386
- ensure all unit tests pass by @scottmillner in #390
- Arm/feature/pegout scheduler by @0xBEEFCAF3 in #359
- tests: added further authority tests & cleanup, fixed imports by @rwlockbg in #391
- added cargo audit and coverage to ci/cd by @rwlockbg in #361
- fix(btc-server)-tempfile-dependency by @scottmillner in #396
- Refactor/consensus update trait methods by @scottmillner in #395
- Unit tests for all used abci methods by @scottmillner in #398
- fix: non-validating nodes have no authority index by @rwlockbg in #399
- Chore/compiling testsuite by @0xBEEFCAF3 in #401
- feat: added changes to enable non-validating node to run application by @rwlockbg in #400
- Fix/test/signing test by @0xBEEFCAF3 in #402
- fix(op_stack): remove unused validate block consensus method by @0xBEEFCAF3 in #404
- Chore/cleanup rpc crate by @0xBEEFCAF3 in #392
- feature(docker-local): local testing setup 2/2 by @birozuru in #403
- Setup RPC node without light client by @scottmillner in #405
- test: correctly import
NoArgsby @0xBEEFCAF3 in #407 - Fix/dkg/round2 shares by @0xBEEFCAF3 in #394
- Include test suite in unit test workflow once refactored by @scottmillner in #409
- Fix/code spell by @0xBEEFCAF3 in #408
- Feature/btc server/pending pegout endpoint by @0xBEEFCAF3 in #410
- hotfix: set genesis hash to `3797638175875c37cefa72ef546db685e43c81ba… by @0xBEEFCAF3 in #411
- test(abci): use app hash from chain spec by @0xBEEFCAF3 in #412
- Fix/dkg p2p messages by @0xBEEFCAF3 in #413
- fix(abci): payload builder includes parent_beacon_block_root by @scottmillner in #415
- Notify pegouts in abci driver by @scottmillner in #414
- Adding integration test suite signing util by @0xBEEFCAF3 in #417
- Get frost coordinator from random source by @scottmillner in #419
- Frost task should listen to canon events and kick of signing state machine by @scottmillner in #420
- Ci/primitives build by @0xBEEFCAF3 in #422
- refactor(frost): remove loop listening for init signing message by @scottmillner in #424
- Refactor/mark/GitHub action workflows cherry pick by @0xBEEFCAF3 in #375
- feature(btc_server): signer should broadcast final tx after finalize by @0xBEEFCAF3 in #425
- 697-docs-update-readme by @nagarajm87 in #426
- fix:Updated min and max signers for btc-server and POA in makefile. by @nagarajm87 in #427
- chore(contracts): migrate faucet contract to its own repo by @0xBEEFCAF3 in #429
- Chore/cleanup tests warnings by @0xBEEFCAF3 in #428
- 660-Chore: handling abci error and removal of unwrap() usage. by @nagarajm87 in #430
- Validate pegout requests using pegout ids by @scottmillner in #423
- Update workflow to not include faucet tests by @scottmillner in #432
- Add pegout tests by @scottmillner in #431
- rework: fully reworked integration test suite by @rwlockbg in #406
- chore: gitignore test suite logs by @0xBEEFCAF3 in #434
- fix: made tracing refer its public crate and not workspace by @rwlockbg in #440
- feat(core): removed unused processor.rs by @rwlockbg in #437
- fix:fixed unwrap genesis_authorities by @nagarajm87 in #444
- fix(infra): made the contract checks run only on push to main by @rwlockbg in #441
- Psbt includes all pending pegouts by @scottmillner in #436
- build(deps): bump sigstore/cosign-installer from 3.6.0 to 3.7.0 by @dependabot in #438
- feat: removed all optimism-related stuff by @rwlockbg in #443
New Contributors
- @ozymandias-rex made their first contribution in #126
- @jeffgeudens made their first contribution in #347
- @nagarajm87 made their first contribution in #426
- @dependabot made their first contribution in #438
Full Changelog: https://github.com/botanix-labs/Macbeth/commits/Pre-Alpha-1.0.0