All notable changes to this project will be documented in this file. See standard-version for commit guidelines.
- 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)
- 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)
- 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)