v1.0.0-alpha.0
Pre-release
Pre-release
·
408 commits
to development
since this release
1.0.0-alpha.0 (2024-03-11)
⚠ BREAKING CHANGES
- change split to 50-50 (#6188)
- implement inflating tail emission (#6160)
- changes balance query (#6158)
- change proof of work to be dependant on target difficulty (#6156)
- fix horizon sync after smt upgrade (#6006)* add paging to utxo stream request (#5302)
- add optional range proof types (#5372)
- hash domain consistency (#5556) (64443c6f)
- consistent output/kernel versions between sender and receiver (#5553) (74f9c35f)
- New Gen block (#5633)
- Validator mr included in mining hash (#5615)
- Monero merkle proof change (#5602)
- Merge mining hash has changed
- remove timestamp from header in proto files (#5667)
- comms/dht: limit number of peer claims and addresses for all sources (#5702)
- comms: use noise XX handshake pattern for improved privacy (#5696)
- update faucet for genesis block (#5633)
- limit monero hashes and force coinbase to be tx 0 (#5602)
- add validator mr to mining hash (#5615)
- replace utxo MMR with SMT (#5854)
- update key parsing (#5900)
- proto: remove proto timestamp wrapper types (#5833)
- proto: remove proto bytes for std bytes (#5835)
- upgrade bitflags crate (#5831)
- improve block add where many orphan chain tips existed (#5763)
- lmdb flag set wrong on database (#5916)
- add validator mmr size (#5873)
- completed transaction use bytes for transaction protocol (not hex string) in wallet database (#5906)
- new faucet for esmeralda (#6001)
- dont store entire monero coinbase transaction (#5991)
- ups the min difficulty (#5999)
- network specific domain hashers (#5980)
- add aux chain support for merge mining (#5976)
- disable console wallet grpc (#5988)
- add one-sided coinbase payments (#5967)
- fix opcode signatures (#5966)
- remove mutable mmr (#5954)
- move kernel MMR position to
u64
(#5956) - standardize gRPC authentication and mitigate DoS (#5936)
- fix difficulty overflow (#5935)
- update status (#6008)
Features
- change split to 50-50 (#6188) (3b7842a)
- expose extra_data field to wallet ffi (#6191) (2f2b139)
- implement inflating tail emission (#6160) (63b1f68), closes #6122 #6131
- lazily evaluate for new random_x template (#6170) (d220643)
- limit transaction size (#6154) (abd64d8)
- make the make_it_rain submission rate a float (#6180) (75d773b)
- mining ffi add coinbase add (#6183) (820e936)
- multi-network ci (#6162) (8990b57)
- wallet ffi use dns (#6152) (464f2c3)
- add import tx method (#6132) (f3d9121)
- allow ffi to see lock height (#6140) (48af0b8)
- change CLI get_block to search orphans (#6153) (ae1e379)
- change proof of work to be dependant on target difficulty (#6156) (feb634c)
- check chain metadata (#6146) (8a16f7b)
- turn off node metrics by default (#6073) (5ed661c)
- do validation after adding utxos and txs (#6114) (7d886e6)
- export transaction (#6111) (70d5ad3)
- fix horizon sync after smt upgrade (#6006) (b6b80f6)
- initial horizon sync from prune node (#6109) (2987621)
- smt verification (#6115) (78a9348)
- wallet add restart validation to start (#6113) (5c236ce)
- add search kernels method to nodejs client (#6082) (0190221)
- prevent runtime error with compact error input (#6096) (69421f5)
- update api (#6101) (47e73ac)
- update codeowners (#6088) (58a131d)
- add tari address as valid string for discovering a peer (#6075) (a4c5bc2)
- make all apps non interactive (#6049) (bafd7e7)
- make libtor on by default for nix builds (#6060) (b5e0d06)
- fix windows installer (#6043) (c37a0a8)
- side load chat (#6042) (d729c45)
- add miner timeout config option (#5331) (aea14f6)
- chat ffi (#5349) (f7cece2)
- chat scaffold (#5244) (5b09f8e)
- improve message encryption (#5288) (7a80716)
- p2p: allow listener bind to differ from the tor forward address (#5357) (857fb55)* add extended mask recovery (#5301) (23d882e)
- add network name to data path and --network flag to the miners (#5291) (1f04beb)
- add other code template types (#5242) (93e5e85)
- add paging to utxo stream request (#5302) (3540309)
- add wallet daemon config (#5311) (30419cf)
- define different network defaults for bins (#5307) (2f5d498)
- feature gates (#5287) (72c19dc)
- fix rpc transaction conversion (#5304) (344040a)
- add metadata signature check (#5411) (9c2bf41)
- add optional range proof types (#5372) (f24784f)
- added burn feature to the console wallet (#5322) (45685b9)
- improved base node monitoring (#5390) (c704890)
- refactor configuration for chat so ffi can create and accept a config file (#5426) (9d0d8b52, breaks #, #, #)
- ui for template registration in console wallet (#5444) (701e3c23, breaks #, #, #)
- sparse merkle trees (#5457) (f536d219* proof of work audit part 2 (#5495) (af32f96f
- improve recovery speed (#5489) (d128f850)
- add consistent ban reason for sync (#5729) (9564281)
- add mempool min fee (#5606) (15c7e8f)
- ban peer unexpected response (#5608) (02494ae)
- change default script to PushPubKey (#5653) (f5b89ad)
- chat ffi status callback (#5583) (f68b85f)
- chat message fetching pagination (#5594) (2024357)
- chat-ffi logging (#5591) (159959c)
- cleanup errors (#5655) (c1737b9)
- fix formatting block (#5630) (49732f6)
- improve block sync error handling (#5691) (251f796)
- new message callback to chat-ffi (#5592) (bbd543e)
- peer sync limiter (#5445) (548643b)
- remove inherent iterator panic (#5697) (7f153e5)
- remove orphan validation and only validate on insertion (#5601) (41244a3)
- remove unused wasm_key_manager (#5622) (508c971)
- update faucet for genesis block (#5633) (ffb987a)
- update genesis blocks (#5698) (b9145b3)
- add (de)serialize to BalancedBinaryMerkleTree (#5744) (c53ec06)
- add config for grpc server methods (#5886) (a3d7cf7)
- add insert function to SMT (#5776) (5901b4a)
- add overflow checks to change and fee calculations (#5834) (9725fbd)
- allow multiple initial sync peers (#5890) (e1c504a)
- apply obscure_error_if_true consistenlty (#5892) (1864203)
- ban bad block-sync peers (#5871) (5c2781e)
- chat ffi verbose logging options (#5789) (24b4324)
- chatffi simpler callbacks and managed identity and db (#5681) (79ab584)
- chatffi: better message metadata parsing (#5820) (9a43eab)
- chatffi: get conversationalists (#5849) (d9e8e22)
- chatffi: message metadata (#5766) (a9b730a)
- chatffi: tor configuration (#5752) (1eeb4a9)
- chat: read receipt feature (#5824) (d81fe7d)
- cli add list of vns for next epoch (#5743) (d2a0c8c)
- comms: allow multiple messaging protocol instances (#5748) (3fba04e)
- consistent handling of edge cases for header sync (#5837) (3e1ec1f)
- enable multiple coinbase utxos (#5879) (49e5c9c)
- failure of min difficulty should not add block to list of bad blocks (#5805) (38dc014)
- improve block add where many orphan chain tips existed (#5763) (19b3f21)
- make prc errors ban-able for sync (#5884) (4ca664e)
- prevent possible division by zero in difficulty calculation (#5828) (f85a878)
- print warning for wallets in direct send only (#5883) (6d8686d)
- reduce timeouts and increase bans (#5882) (df9bc9a)
- replace utxo MMR with SMT (#5854) (ca74c29)
- up the timeout for comms (#5758) (1054868)
- update key parsing (#5900) (59d7ceb)
- update randomx (#5894) (e445244)
- adaptable min difficulty check (#5896) (76f323c)
- add robustness to monero block extra field handling (#5826) (597b9ef)
- add validator mmr size (#5873) (fd51045)
- completed transaction use bytes for transaction protocol (not hex string) in wallet database (#5906) (61256cd)
- add aux chain support for merge mining (#5976) (6723dc7)
- add constant time comparison for grpc authentication (#5902) (2fe44db)
- add getheaderbyhash method to grpc-js (#5942) (ebc4539)
- add one-sided coinbase payments (#5967) (89b19f6)
- bans for bad incoming blocks (#5934) (7acc44d)
- block endless peer stream (#5951) (16b325d)
- block wallets from sending if BN connection stale (#5949) (18d5f57)
- compile out the metrics (#5944) (fa2fb27)
- create min dust fee setting (#5947) (8f5466c)
- disable console wallet grpc (#5988) (883de17)
- dont store entire monero coinbase transaction (#5991) (23b10bf)
- enable revealed-value proofs (#5983) (f3f5879)
- fix difficulty overflow (#5935) (55bbdf2)
- grpc over tls (#5990) (b80f7e3)
- limit max number of addresses (#5960) (40fc940)
- move kernel MMR position to
u64
(#5956) (cdd8a31) - network specific domain hashers (#5980) (d7ab283)
- node grpc: add grpc authentication to the node (#5928) (3d95e8c)
- remove panics from applications (#5943) (18c3d0b)
- sender and receiver protocols use bytes (not hex string) in wallet database (#5950) (4cbdfec)
- warnings for untrusted urls (#5955) (e2e278c)
- hazop findings (#6020) (a68d0dd)
- add miner input processing (#6016) (26f5b60)
- add wallet ffi shutdown tests (#6007) (3129ce8)
- fix hazop findings (#6017) (0bc62b4)
- make base node support 1 click mining (#6019) (d377269)
- update faucets (#6024) (394976c)
- update status (#6008) (e19ce15)
- console wallet use dns seeds (#6034) (b194954)
- update tests and constants (#6028) (d558206)
Bug Fixes
- add .h file to mining helper (#6194) (237e6b9)
- avoid cloning range proofs during verification (#6166) (19a824d)
- changes balance query (#6158) (9ccc615)
- fixed make-it-rain delay (#6165) (5c5da46)
- hide unmined coinbase (#6159) (2ccde17)
- horizon sync (#6197) (c96be82)
- oms validation (#6161) (f3d1219)
- remove extra range proof verifications (#6190) (57330bf)
- rewind bug causing SMT to be broken (#6172) (4cb61a3)
- wallet validation during reorgs (#6173) (97fc7b3)
- balanced binary merkle tree merged proof (#6144) (4d01653)
- wallet clear short term output (#6151) (ac6997a)
- added transaction revalidation to the wallet startup sequence #5227 (#5246) (7b4e2d2)
- immediately fail to compile on 32-bit systems (#5237) (76aeed7)
- wallet: correct change checks in transaction builder (#5235) (768a0cf)
- wallet: ensure burn shared keys and hashes match dan layer (#5245) (024ce64)
- windows path format in log4rs files (#5234) (acfecfb)
- ffi hot fix (#5251) (9533e40)
- reduce warn log to debug in utxo scanner (#5256) (3946641)
- wallet sending local address out to network (#5258) (6bfa6f9)
- ensures mutable MMR bitmaps are compressed (#5278) (dfddc66)
- resize transaction tab windows (#5290) (bd95a85), closes #4942 #5289 #12365
- comms: correctly initialize hidden service (#6124) (0584782)
- libtor: prevent metrics port conflict (#6125) (661af51)
- faster tor startup (#6092) (a2872bb)
- make monero extra data less strict (#6117) (38b9113)
- faster tor startup (#6092) (a2872bb)
- fix small error in config.toml (#6052) (6518a60)
- tms validation correctly updating (#6079) (34222a8)
- wallet coinbases not validated correctly (#6074) (bb66df1)
- add SECURITY.md Vulnerability Disclosure Policy (#5351) (72daaf5)
- added missing log4rs features (#5356) (b9031bb)
- allow public addresses from command line (#5303) (349ac89)
- clippy issues with config (#5334) (026f0d5)
- default network selection (#5333) (cf4b2c8)
- make the first output optional in the wallet (#5352) (bf16140)
- remove wallet panic (#5338) (536d16d)
- wallet .h file for lib wallets (#5330) (22a3a17)
- comms: only set final forward address if configured to port 0 (#5406) (ff7fb6d)
- deeplink to rfc spec (#5342) (806d3b8)
- don't use in memory datastores for chat client dht in integration tests (#5399) (cbdca6f)
- fix panic when no public addresses (#5367) (49be2a2)
- loop on mismatched passphrase entry (#5396) (ed120b2)
- use domain separation for wallet message signing (#5400) (7d71f8b)
- use mined at timestamp in fauxconfirmation (#5443) (f3833c9f, breaks #, #, #)
- fix custom wallet startup logic for console wallet (#5429) (0c1e5765, breaks #, #, #)
- balanced_mp: removes some panics, adds some checks and new tests (#5432) (602f416f, breaks #, #, #)
- comms: validate onion3 checksum (#5440) (0dfdb3a4, breaks #, #, #)
- wallet-ffi: don't block on start (#5437) (27fe8d9d, breaks #, #, #)
- mmr: support zero sized balanced merkle proof (#5474) (ef984823
- wallet: use correct output features for send to self (#5472) (ce1f0686
- covenant nit picking (#5506) (301ca495
- overflow of target difficulty (#5493) (822dac60
- coinbase recovery (#5487) (48dd157a)
- core:
- core/base_node: safe
mmr_position
cast in horizon sync (#5503) (fb3ac60b - core/consensus: include
coinbase_extra
max size into coinbase weight calculation (#5501) (4554cc5f - core/keymanager: use tokio rwlock for keymanagers (#5494) (229aee02
- core/transactions: resolve or remove TODOs (#5500) (4a9f73c7
- core/weighting: remove optional and define correct rounding for usize::MAX (#5490) (38c399a2
- mempool: remove TODOs and other minor changes (#5498) (a1f24417
- mempool should use the correct version of the consensus constant (#5549) (46ab3ef0)
- mempool fetch_highest_priority_txs (#5551) (f7f749c4
- remove optional timestamp verification bypass (#5552) (b5a5bed2)
- update code coverage approach (#5540) (7a9830ed
- use correct TOML field for console wallet network address (#5531) (70763dde
- llvm-tools installed correctly (#5534) (4ab4b965)
- push test coverage even if some tests fail (#5533) (053c748d
- console-wallet: fix possible subtract underflow panic in list (#5535) (8d5e8e6e
- core: disable covenants for all networks except igor and localnet (#5505) (308f5299
- add a not before proof (#5560) (11f42fb0
- borsh sized serialization should be fallible (#5537) (53058ce2
- add documentation to covenant crate (#5524) (442d75b0
- covenants audit (#5526) (dbb59758
- add validator mr to mining hash (#5615) (91db6fb)
- add-peer also dials the peer (#5727) (cc8573a)
- addition overflow when coinbase + fees is too high (#5706) (13993f1)
- adds bans for horizon sync (#5661) (826473d)
- ban peers if they send a bad protobuf message (#5693) (58cbfe6)
- better timeout for lagging (#5705) (5e8a3ec)
- check bytes remaining on monero blocks (#5610) (1087fa9)
- comms/dht: limit number of peer claims and addresses for all sources (#5702) (88ed293)
- comms: check multiple addresses for inbound liveness check (#5611) (3937ae4)
- comms: dont overwrite ban-reason in add_peer (#5720) (3b9890b)
- comms: greatly reduce timeouts for first byte and noise handshake (#5728) (47a3196)
- comms: only permit a single inbound messaging substream per peer (#5731) (c91a35f)
- comms: timeout and ban for bad behaviour in protocol negotation (#5679) (d03d0b5)
- comms: use noise XX handshake pattern for improved privacy (#5696) (d0ea406)
- core: always pass the correct timestamp window to header validatior (#5624) (29700c3)
- dht: add SAF bans (#5711) (594e03e)
- dht: limit peer sync and ban on server-caused errors (#5714) (b3f2dca)
- duplicate tari header in monero coinbase (#5604) (f466840)
- error out the stx protocol if the sender sends unsupported data (#5572) (8a085cd)
- handle out of sync errors when returning mempool transactions (#5701) (b0337cf)
- handle target difficulty conversion failure (#5710) (431c35a)
- header sync (#5647) (4583eef)
- horizon sync (#5724) (660a5c1)
- horizon_sync: check for leftover unpruned outputs (#5704) (dc5cfce)
- horizon_sync: check max number of kernels/utxos from peer (#5703) (5e4f3c2)
- horizon_sync: try sync with next next peer if current one fails (#5699) (a58ec1f)
- limit monero hashes and force coinbase to be tx 0 (#5602) (2af1198)
- make sure all needed libs are required for chatffi (#5659) (241ca67)
- memory overflow panic (#5658) (304e40f)
- miner delay attack (#5582) (bece2d0)
- minor fixes for multiple address support (#5617) (efa36eb)
- monero fork attack (#5603) (9c81b4d)
- only allow a monero header if it serializes back to the same data (#5716) (e70c752)
- peer connection to stale nodes (#5579) (eebda00)
- potential u64 overflow panic (#5688) (f261b79)
- prevent access violation when running multiple vms at the same time (#5734) (18aead2)
- remove potential u64 overflow panic (#5686) (90a8a21)
- remove tari prefix and only allow one mergemining tag (#5722) (3a7c227)
- remove timestamp from header in proto files (#5667) (403b0c6)
- save dial result on error (#5717) (c66af69)
- sorted edge case (#5590) (f7b2193)
- sparse Merkle tree key querying (#5566) (623839f)
- syncing from prune node (#5733) (166f469)
- sync: remove mem::take in all syncs (#5721) (a48e430)
- sync: unify ban logic in all sync processes (#5713) (4b2b28b)
- update peers seed for esme (#5573) (0f6b750)
- add lock height and kernel features checks on default transactions (#5836) (1f87226)
- ban peer if it sends bad liveness data (#5844) (eb40fc4)
- change truncate_from_bits to from_bits (#5773) (fb18078)
- chat ffi seed peers (#5786) (c04996f)
- chatffi: return and read from ptrs (#5827) (dd2eddb)
- comms+dht: mark peers as online inbound connection,join (#5741) (e8413ea)
- diagrams: missing quotes for messaging diagram (#5750) (a8f6eb5)
- diagrams: missing quotes for protocol negotiation diagram (#5751) (45c20a3)
- don't ban a peer for sending a banned peer (#5843) (12f8a75)
- fix erroneous warning message (#5846) (8afcd8b)
- get rid of possible 'expect' (#5794) (467a8d4)
- grpc request overflows (#5812) (36d72e8)
- handle possible underflow in smt (#5769) (558e6f2)
- listing mode is synced (#5830) (ff5a5d8)
- mempool panic (#5814) (754fb16)
- p2p: enable auto join when online (#5738) (eb74bbb)
- panic overflow (#5819) (af31ba1)
- possible exception in request_context (#5784) (6c8e2d3)
- potential index out of bounds (#5775) (f17ac6b)
- potential overflow (#5759) (5c93e35)
- potential overflow (#5778) (1d1332d)
- potential sync stuck (#5760) (c5ed816)
- recovery passphrase flow (#5877) (4159b76)
- remove peer (#5757) (4c48a26)
- remove statement from sparse Merkle tree proofs (#5768) (d630d11)
- stuck on sync (#5739) (33b37a8)
- unwraps in rpc client (#5770) (6f0d20a)
- proto: remove proto bytes for std bytes (#5835) (491ed83)
- proto: remove proto timestamp wrapper types (#5833) (43b994e)
- upgrade bitflags crate (#5831) (dae7dd9)
- lmdb flag set wrong on database (#5916) (60efd35)
- tariscript: protect compare and check height from underflows (#5872) (aa2ae10)
- display (#5982) (8cce48c)
- fix opcode signatures (#5966) (dc26ca6)
- fix the windows installer (#5938) (3e65a28)
- fix the windows installer auto build (#5939) (a138b78)
- shutdown: is_triggered returns up-to-date value without first polling (#5997) (49f2053)
- standardize gRPC authentication and mitigate DoS (#5936) (623f127)
- tariscript: multisig ordered signatures and pubkeys (#5961) (14e334a)
- update
ToRistrettoPoint
handling (#5973) (12e84f4) - new faucet for esmeralda (#6001) (4eccc39)
- remove mutable mmr (#5954) (0855583)
- ups the min difficulty (#5999) (fc1e555)
- chat: chat client possible panics (#6015) (cf66c51)
- chat build (#6026) (15793b7)
- remove duplicate config settings (#6029) (662af28)