Skip to content

Latest commit

 

History

History
272 lines (262 loc) · 51.2 KB

CHANGELOG.md

File metadata and controls

272 lines (262 loc) · 51.2 KB

Changelog

All notable changes to this project will be documented in this file. See standard-version for commit guidelines.

0.50.0-pre.0 (2023-03-06)

⚠ BREAKING CHANGES

  • confidential resource minting (#389)
  • templates: adds abi support for Vec types (#355)
  • initial component access rules and ownership (#340)
  • templates: adds support for mutating non-fungible data (#310)
  • templates: add support for minting of NFTs (#301)
  • template: remove extra unused version field (#294)
  • add is_mut field to function def (see issue #213) (#214)
  • integrate transaction manifest (#216)
  • max_outputs missing from proto conversion (#195)
  • update substate version for input components (#169)
  • add arguments to cli (#158)
  • return entire FinalizeResult on submit transaction + other fixes (#157)

Features

  • abstract shard db (#22) (03abbb5)
  • add a remove pending timeout unit test to pacemaker (#350) (27f5df2)
  • add ability to debug local WASM templates (#208) (0d4fc37)
  • add arguments to cli (#158) (7e12c6e)
  • add better hotstuff logging (#79) (77d17d0)
  • add cucumber tests for leader failure (#367) (73d1feb)
  • add cucumber-rs integration test infrastructure (#103) (c0638e0)
  • add dns4 multiaddr (#290) (71a56fa)
  • add indexer UI (#395) (769bc26)
  • add instruction processing to kitchen sink test (#21) (35456d0)
  • add is_mut field to function def (see issue #213) (#214) (006523d)
  • add leader info to UI (#376) (f4c40c3)
  • add LFU template cache (#332) (8a84e3b)
  • add martins sharding feature (#29) (840b7d8)
  • add mock server for indexer (#405) (77db892)
  • add p2p state sync for validator nodes (see issue #66) (#91) (8320694)
  • add RejectReason to QuorumCertificate (#210) (9ceeb1b)
  • add rpc.discover methods to indexer and wallet daemon (#403) (c09d534)
  • add rpc.discover methods to indexer and wallet daemon (#414) (6dcd632)
  • add sorting to recent TX in webgui (#192) (d922ef1)
  • add sqlite message logging (#122) (5dce90a)
  • add template name to list templates + minor cleanups (#226) (d49ef27)
  • add templates to web gui (#190) (3f0f9a3)
  • add timestamp to payloads (#194) (2a229aa)
  • add transaction screen (#205) (b2340a1)
  • add wallet cli functionality to send resources between accounts (#404) (1ec8347)
  • add web-gui to VN (#53) (e2662e5)
  • adds public nonce and encrypted value data to confidential resources (#413) (a6e9605)
  • allow submitting transactions from jsonrpc (#38) (b49a7ea)
  • allow tuples as return values in templates (#10) (b0b6a37)
  • base layer scanner fetches templates from the base layer (#36) (4e5e485)
  • base layer scanner should read consensus constants from base layer (see #115) (#145) (b616efb)
  • better sqlite object pledging (#104) (0f0ed63)
  • better substate db structure (#246) (dfadfd4)
  • cerberus recovery (#311) (36a1865)
  • check base node grpc connection on startup (#153) (5930a3c)
  • claiming burn funds via wallet cli (#390) (7f39e84)
  • cli,jrpc: adds debug show-messages command to cli (#260) (b583d43)
  • cli: add "templates list" command (#94) (d295715)
  • cli: adds submit call-method command (#123) (15bf3c8)
  • cli: adds submit-call-function command (#93) (152aad6), closes #89
  • client: add submit transaction function (#85) (758569b)
  • comms: enable inbound connection check (#312) (fb722ba)
  • confidential resource minting (#389) (9fc412e)
  • confidential vault/bucket reveal (#397) (32ff740)
  • consensus: abandon early if shard is rejected (#292) (d8d8eff)
  • create account template builtin (#254) (0ae1571)
  • create validator node JSON-RPC API (#18) (3c893ba)
  • cucumber tests construct components (#263) (23ff4c5)
  • cucumber: tests inter-account transfer (#309) (be0f39b)
  • dan/engine: add partially working vault and bucket primitives and operations (#4) (f62106f)
  • dan/engine: implement basic workspace and args from workspace (#9) (640fd84)
  • determine leader from payload (#221) (ab3c7fa)
  • dial local shard peers on startup (#365) (5eaf394)
  • do peer sync on connect (#43) (9509b63)
  • engine: add resource_type() method to Buckets (#331) (e0c7bdf)
  • engine: basic transaction commit (#11) (9ef9ccc)
  • engine: get the current epoch inside template code (#335) (3193524)
  • enhance VNs web-gui (#70) (766e6de)
  • epoch manager stores/fetches vns from database (#45) (55ccf9e)
  • error when transaction creates too many outputs (#173) (b798410)
  • execute payload to determine which vote to cast (#160) (79c5aeb)
  • get transaction result via payload id (#215) (9c80647)
  • implement shard store transaction trait functionality to sqlite shard store transaction (#74) (cfa6049)
  • implement waiting for transaction result in jrpc (#96) (d7da183)
  • import burned utxos (#344) (8aac860)
  • initial component access rules and ownership (#340) (fd29158)
  • initial implementation of confidential resource transfer (#391) (746931a)
  • integrate pacemaker service across codebase (#321) (46378f7)
  • integrate transaction manifest (#216) (1325d9a)
  • integrating cucumber tests with validator_node_cli (#268) (718c0b4)
  • integration_test: add NTF transfer to cucumber scenario (#349) (a83f4f3)
  • integration_test: allow to submit manifests (#308) (ec73d82)
  • integration_test: new cucumber NFT scenario (#347) (80c4613)
  • jrpc: bind on OS-assigned port if preferred unavailable (#141) (764b882)
  • make jrpc rust client (#81) (79171d5)
  • merge feature shards branch (#16) (1de6683)
  • move tests to temporary DB from memory (#165) (c6f9f3d)
  • move tooling into main lib for reuse outside of package (#68) (06fc33c)
  • multiple commitments in resource, proof specify inputs (#400) (d16098a)
  • networking: peer announce and sync (#35) (551d4ed)
  • new AddressList type that allows substate linking (#396) (2550003)
  • new CLI command to register templates in the base layer (#39) (95a9b3a)
  • new dry run transaction processor (#242) (9846b11)
  • new indexer application to retrieve substate data (#368) (3536501)
  • new layout for committees and VNs (#362) (d2cf06d)
  • new web interface styling (#318) (a448d4f)
  • pretty print json message logs to db (#136) (c14ef45)
  • process payload at execute step in consensus (#47) (90390c3)
  • propagation of mempool transactions (#2) (bc8bc2d)
  • quorum certificate validation (#198) (41ef2ed)
  • read package name and version number from cargo toml (#415) (37750be)
  • recent transactions pagination & logo fix (#337) (b9b42a6)
  • recent transactions ui improvements (#381) (258eeac)
  • replace wallet daemon request parsing to use . instead of / (#402) (25b873e)
  • return entire FinalizeResult on submit transaction + other fixes (#157) (1f49b0b), closes #151
  • return QC to client for submit-transaction calls (#172) (9cc6d7f)
  • return template abi from jrpc (#110) (a598f67)
  • save component children in basic cli db and submit with transaction (#197) (4b94641)
  • save payload on first message (#161) (c294f7a)
  • send the whole payload with first message (#146) (c301217)
  • some kind of epoch manager (#37) (a2c4545)
  • state sync on epoch change (see #154) (#166) (d799e7c)
  • template functions on new page (#410) (544fe82)
  • template manager (#27) (9e15b6a)
  • template_manager: validate binary hash for template downloads (#150) (b4104db)
  • template: adds Vault::withdraw_all method (#314) (e77ca6b)
  • templates: add basic metering and panic hook (#12) (283a94b)
  • templates: add non-fungible burn (#325) (c6f60b0)
  • templates: add support for minting of NFTs (#301) (a3c8275)
  • templates: adds abi support for Vec types (#355) (0cc07ef)
  • templates: adds support for mutating non-fungible data (#310) (0decf2b)
  • templates: allow custom NFT IDs to be defined by the user (#317) (987608b)
  • templates: hide private methods/functions (#3) (9afb6d1)
  • templates: improve template panic messages and return them in exec result (#247) (3223808)
  • test: add more NFT template examples (#313) (6ab1eaa)
  • test: implement the emoji_id NFT template example (#320) (aec25c6)
  • test: implement the tickets NFT template example (#327) (d6a51ec)
  • tests: create a cucumber test to call Counter::new() function on a VNC (#167) (a324896)
  • transaction manifest (#15) (7c4df38)
  • transaction validation prior to acceptance/propagation of new transactions by mempool (#250) (#252) (fad4ddd)
  • update substate version for input components (#169) (f16ace7)
  • update web ui (#134) (8f20584)
  • use default port (#100) (7324dd2)
  • vn re-registers each epoch (#95) (b64cf18)
  • vn register only when registered (#105) (52403e2)
  • vn registration (#33) (2bc6135)
  • vn-cli: add 'peers connect' command (#380) (c152d55)
  • vn/cli: adds a basic validator node cli tool (#34) (395107d)
  • vnui: add addresses to vnui (#363) (efd1f1a)
  • wallet: add wallet daemon and SDK (#364) (f5ddeb4)
  • web gui react+typescript (#84) (6be8d0f)
  • webui: add visualization of hotstuff nodes (#278) (91e5d79)

Bug Fixes

  • account-template: use hashmap for account (#334) (cfe8342)
  • add a high qc unique index (#162) (a50d0c7)
  • add all_shard_nodes to signature (#217) (c9826f0)
  • add committee size constant, to remove duplicate code (see #174) (#187) (b44e889)
  • add current leader to get_leader fn (#346) (47454c0)
  • add hotstuff_rounds to consensus_constants (see issue #144) (#159) (91f54f6)
  • add missing commit to state sync (#273) (16b7775)
  • add mmr check for votes (#360) (180c9fd)
  • add template_name field to type DbTemplate (#113) (967b046)
  • add unique constraint (548f011)
  • added mock server data (#386) (53aa178)
  • allow compile without npm (#133) (562fc42)
  • allow web UI to use OS-assigned JRPC address (#371) (e12838f)
  • base layer constants not set error (#248) (6be6139)
  • base layer scanner should scan fixed number blocks behind (see #107) (#129) (03afdee)
  • base-layer-scanner: improvements to base layer scanning and template manager (#78) (0a5ef24)
  • base-layer-scanner: scan previous blocks instead of tip + nodeid as hex str (#44) (1e08c32)
  • base-layer-scanner: takes confirmations into account when detecting chain progress (#140) (b08c015)
  • check pledges against changes being made (#181) (bc80aa2)
  • ci: fixes for CI (#5) (c62e1af)
  • cli: create key-pair automatically if one doesnt exist (#304) (1dcb550)
  • cli: summarizes transaction when submitting (#305) (782736c)
  • cli: update multiple component versions in component manager (#316) (291fd89)
  • commit substates in one db transaction after all shards have decided (#270) (45a461f)
  • compile_template outputs compile failure to stderr (#186) (a230372)
  • consensus: abandon pledges if not voting on rejected tx (#302) (dfdde7e)
  • consensus: any execution error will result in REJECT decision (#285) (6f68736)
  • consensus: avoid task starvation when when executing payload (#357) (d71d764)
  • consensus: check payload matches on proposed and local pledges, else REJECT (#287) (b883caf)
  • consensus: improve handling of all shards rejected (#306) (258ab7e)
  • consensus: only store state for local shard (#235) (b28e965)
  • consensus: provide substate address and version of missing output pledge (#315) (cca6c63)
  • consensus: reuse previous execution result for a payload (#274) (7e933b2)
  • consensus: validate pledges are correct payload (#280) (1858475)
  • consistent log targets, validation node output in cucumber (#406) (130b501)
  • correctly convert quorum decision from protobuf type (#293) (c9c25ab)
  • correctly load component into in-memory state store (#142) (f4df4b8)
  • crash node if any service exits with an error (#366) (ebaadbb)
  • cucumber errors for templates and transactions (#261) (b72a80f)
  • cucumber: fail new wallet step if not connected to base node (#281) (34ef59f)
  • cucumber: reduce number of runtimes, use client for get_identity (#143) (8b6d2a2)
  • db error when starting state sync fixes #225 (#227) (ac98a55)
  • dead code cleanup (#46) (c00939f)
  • don't propose after height 4 (#88) (579abec)
  • dont dial local shards if epoch manager has not synced (#369) (6a949f5)
  • dont dial local shards if epoch manager has not synced (#370) (9a9cf5e)
  • dont initially register automatically (#372) (467d60a)
  • enable auto-registration by default (#243) (70590b0)
  • engine-tests: fix dangling buckets left from previous failed transaction (#328) (8e01eca)
  • exit validator node process on panic (#277) (dd30dbe)
  • fix all db locked errors (#232) (3586c2b)
  • fix base layer scanning (#77) (b41ca36)
  • fix broken sql (1212ec9)
  • fix database is locked failures in global db (#245) (43bdaa2)
  • fix get_committee (#152) (d46efc5)
  • fix log config (36d22d3)
  • fix only propose once each node (#138) (32a85a2)
  • fix pledges (#163) (b7cf97c)
  • fix saving votes to db (#128) (e33a896)
  • fix VN merkle root mismatch (#220) (f8480a6)
  • fixes for consensus,mempool and more (#267) (77c2f38)
  • fixes template macro clippies (#256) (dad7fd8)
  • get consensus context epoch from tree node (#354) (34f2aa7)
  • github actions CI are broken in the new repo (#8) (5729618)
  • global db migrations (#114) (6e1aec8)
  • hook up comms to hotstuff services (#28) (98c4d6a)
  • improve invalid peer error message (#298) (ec67c92)
  • include transaction meta in transaction proto (#117) (eca787e)
  • integration_test: cucumber-rs improvements (#177) (562fcbe)
  • integration_tests: base node, wallet and template compilation is broken (#299) (e5f071e)
  • max_outputs missing from proto conversion (#195) (b82fb76)
  • minimal changes to get vn reg working with rfc-0313 (#209) (3c99e78)
  • minor fixes (#345) (e65b361)
  • minor len fix (#296) (14c5502)
  • multiple pledges for the same committee (#348) (55f5b58)
  • negative begin in committee (#49) (80143fe)
  • networking: dials seed peers without blocking service (#356) (dbd8fbe)
  • networking: fix possible endless propagation for announce messages (#351) (00daa3d)
  • node startup (#23) (f446ea4)
  • off by one for proposal already committed check (#164) (b46d6f6)
  • only copy compiled builtin templates to dest if changed (#409) (05dc171)
  • only leader should accept/propose new vote message (issue #182) (#249) (71a5a06)
  • only process transactions if registered and in the committee (#178) (ff7e5aa)
  • proto conversions (#87) (cde08b5)
  • reduces number of executes per transaction (#199) (b609450)
  • remove comma (#291) (9ce9984)
  • remove finalized transactions from mempool (see issue #111) (#184) (a5fc156)
  • remove generic from bucket (#185) (243b418)
  • remove handle new valid transaction check (#224) (f503b05)
  • remove unnecessary validator config settings (#97) (2cdb2de)
  • removes pacemaker pending wait overs that already have timed out (#338) (88d3568)
  • return error on cli (#241) (8c4894e)
  • run overflow checks in release mode (#324) (3bac6a1)
  • set correct seed peer features (#71) (1573000)
  • start pacemaker when local leader fail (#373) (c920373)
  • state sync regression (#286) (7357591)
  • submit component as input for call-method instruction (#151) (f5a4f79)
  • template_builtin: only rerun if lib.rs changes (#262) (97e14ae)
  • template: remove extra unused version field (#294) (3bd5b42)
  • update axum,jrpc and fixes #223 (#229) (44e890e)
  • use arg macro to convery cli args (#201) (d845b46)
  • use detach HSflag for tor (#132) (626f7da)
  • use development tari branch (#231) (b053c14)
  • use hex encoding for json (#139) (75e4adb)
  • validators active for epoch range, scanning improve, state sync fixes, other minor fixes (#240) (349c789)
  • various sqlite fixes (#90) (5b97ce8)
  • vns should not store transactions for shards outside committee range (see issue #193) (#206) (e987dbc)
  • vote reject when wasm panics (#171) (d380ba8)
  • wait for n-f newview messages before propose (#183) (90887c9)
  • web-ui: fix error on transaction page (#303) (d95a797)
  • webui: display template address as hex (#234) (2bfc0f0)