{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":136459099,"defaultBranch":"development","name":"tari","ownerLogin":"tari-project","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2018-06-07T10:09:08.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/37560539?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1715091606.0","currentOid":""},"activityList":{"items":[{"before":"ae63babfde7f4e4528ed63b1ffec96425da79593","after":"79fcd03a36f1bd81f252b1db52acc5ecc9152e61","ref":"refs/heads/development","pushedAt":"2024-05-10T09:39:12.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"SWvheerden","name":"SW van Heerden","path":"/SWvheerden","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2579813?s=80&v=4"},"commit":{"message":"feat: limit wallet base node peer outbound connections (#6307)\n\nDescription\r\n---\r\nAdded functionality to limit the number of base node peer connections\r\nthat a wallet can have, based on a config setting. The furtherest nodes\r\nwill be disconnected, but nodes on the allow list (e.g. connected base\r\nnode) will be ignored. Request to a newly connected base node for SAF\r\nmessages will also be limited to the closest connections only.\r\n\r\nMotivation and Context\r\n---\r\nWallets do not need to be as aggressive in establishing and keeping many\r\nconnections compared to a base node.\r\n\r\nHow Has This Been Tested?\r\n---\r\nSystem-level testing on `nextnet`\r\n\r\nSome results for a fresh wallet are below with using these settings:\r\n```rust\r\n[wallet.p2p.dht]\r\n# The maximum number of peer nodes that a message has to be closer to, to be considered a neighbour. Default: 8\r\nnum_neighbouring_nodes = 5\r\n# Number of random peers to include. Default: 4\r\nnum_random_nodes = 1\r\n# Connections above the configured number of neighbouring nodes (minimum of 1) will be removed (default: false)\r\nminimize_connections = true\r\n# The interval to update the neighbouring and random pools, if necessary. Default: 2 minutes\r\nconnectivity.update_interval = 300 # 2 * 60\r\n# The minimum desired ratio of TCPv4 to Tor connections. TCPv4 addresses have some significant cost to create,\r\n# making sybil attacks costly. This setting does not guarantee this ratio is maintained.\r\n# Currently, it only emits a warning if the ratio is below this setting. Default: 0.1 (10%)\r\nconnectivity.minimum_desired_tcpv4_node_ratio = 0.0\r\n# A threshold for the minimum number of peers this node should ideally be aware of. If below this threshold a\r\n# more \"aggressive\" strategy is employed. Default: 50\r\nnetwork_discovery.min_desired_peers = 16\r\n```\r\n```rust\r\n2024-05-09 16:59:18.051376500 [comms::dht::connectivity] DEBUG minimize_connections: Filtered peers: 1, Handles: 1\r\n2024-05-09 16:59:23.846098200 [comms::dht::connectivity] DEBUG minimize_connections: Filtered peers: 2, Handles: 2\r\n2024-05-09 16:59:25.141738700 [comms::dht::connectivity] DEBUG minimize_connections: Filtered peers: 2, Handles: 2\r\n2024-05-09 16:59:26.526939300 [comms::dht::connectivity] DEBUG minimize_connections: Filtered peers: 2, Handles: 2\r\n2024-05-09 16:59:31.890309600 [comms::dht::connectivity] DEBUG minimize_connections: Filtered peers: 3, Handles: 3\r\n2024-05-09 16:59:34.875531400 [comms::dht::connectivity] DEBUG minimize_connections: Filtered peers: 4, Handles: 4\r\n2024-05-09 16:59:40.211479200 [comms::dht::connectivity] DEBUG minimize_connections: Filtered peers: 5, Handles: 5\r\n2024-05-09 16:59:51.798007000 [comms::dht::connectivity] DEBUG minimize_connections: Filtered peers: 5, Handles: 5\r\n2024-05-09 17:00:06.424634900 [comms::dht::connectivity] DEBUG minimize_connections: Filtered peers: 5, Handles: 5\r\n2024-05-09 17:00:15.098731700 [comms::dht::connectivity] DEBUG minimize_connections: Filtered peers: 5, Handles: 5\r\n2024-05-09 17:01:34.202148100 [comms::dht::connectivity] DEBUG minimize_connections: Filtered peers: 6, Handles: 6\r\n2024-05-09 17:01:48.869645800 [comms::connectivity::manager] DEBUG minimize_connections: Filtered peers: 10, Handles: 11\r\n2024-05-09 17:01:48.869650900 [comms::connectivity::manager] DEBUG minimize_connections: Disconnecting 'b93ca6de3f1cabbd3a40581224' because the node is not among the 6 closest peers\r\n2024-05-09 17:01:48.869876100 [comms::connectivity::manager] DEBUG minimize_connections: Disconnecting 'b12bdf00bfb5d3c32c235fd2cb' because the node is not among the 6 closest peers\r\n2024-05-09 17:01:48.870090800 [comms::connectivity::manager] DEBUG minimize_connections: Disconnecting '305cd9f487aa9e58f884f534c4' because the node is not among the 6 closest peers\r\n2024-05-09 17:01:48.870431900 [comms::connectivity::manager] DEBUG minimize_connections: Disconnecting '54e1ea3aa6646c75f3247aeab1' because the node is not among the 6 closest peers\r\n2024-05-09 17:04:48.868549100 [comms::connectivity::manager] DEBUG minimize_connections: Filtered peers: 6, Handles: 7\r\n2024-05-09 17:07:48.870620800 [comms::connectivity::manager] DEBUG minimize_connections: Filtered peers: 6, Handles: 7\r\n2024-05-09 17:10:48.883504000 [comms::connectivity::manager] DEBUG minimize_connections: Filtered peers: 6, Handles: 7\r\n2024-05-09 17:13:48.885640800 [comms::connectivity::manager] DEBUG minimize_connections: Filtered peers: 6, Handles: 7\r\n2024-05-09 17:16:48.895746200 [comms::connectivity::manager] DEBUG minimize_connections: Filtered peers: 6, Handles: 7\r\n2024-05-09 17:19:48.909768500 [comms::connectivity::manager] DEBUG minimize_connections: Filtered peers: 6, Handles: 7\r\n2024-05-09 17:20:13.246169600 [comms::dht::connectivity] DEBUG minimize_connections: Filtered peers: 6, Handles: 6\r\n2024-05-09 17:22:48.910592100 [comms::connectivity::manager] DEBUG minimize_connections: Filtered peers: 7, Handles: 8\r\n2024-05-09 17:22:48.910598000 [comms::connectivity::manager] DEBUG minimize_connections: Disconnecting 'e9f94287e9893c4934f89edce7' because the node is not among the 6 closest peers\r\n2024-05-09 17:25:48.919283400 [comms::connectivity::manager] DEBUG minimize_connections: Filtered peers: 6, Handles: 7\r\n```\r\n```rust\r\n2024-05-09 16:59:13.888003200 [comms::dht::connectivity] DEBUG DHT connectivity status: neighbour pool: 4/5 (0 connected), random pool: 1/1 (0 connected, last refreshed 900ns ago), active DHT connections: 0/6\r\n2024-05-09 17:00:35.789826900 [comms::dht::connectivity] DEBUG DHT connectivity status: neighbour pool: 5/5 (4 connected), random pool: 1/1 (0 connected, last refreshed 78s ago), active DHT connections: 5/6\r\n2024-05-09 17:00:35.789851700 [comms::dht::connectivity] DEBUG DHT connectivity status: neighbour pool: 5/5 (4 connected), random pool: 1/1 (0 connected, last refreshed 78s ago), active DHT connections: 5/6\r\n2024-05-09 17:02:42.134128800 [comms::dht::connectivity] DEBUG DHT connectivity status: neighbour pool: 5/5 (0 connected), random pool: 1/1 (0 connected, last refreshed 59s ago), active DHT connections: 6/6\r\n2024-05-09 17:02:42.134163900 [comms::dht::connectivity] DEBUG DHT connectivity status: neighbour pool: 5/5 (0 connected), random pool: 1/1 (0 connected, last refreshed 59s ago), active DHT connections: 6/6\r\n2024-05-09 17:03:11.289312400 [comms::dht::connectivity] DEBUG DHT connectivity status: neighbour pool: 5/5 (0 connected), random pool: 1/1 (0 connected, last refreshed 88s ago), active DHT connections: 6/6\r\n2024-05-09 17:03:11.289348400 [comms::dht::connectivity] DEBUG DHT connectivity status: neighbour pool: 5/5 (0 connected), random pool: 1/1 (0 connected, last refreshed 88s ago), active DHT connections: 6/6\r\n2024-05-09 17:03:15.884240000 [comms::dht::connectivity] DEBUG DHT connectivity status: neighbour pool: 5/5 (0 connected), random pool: 1/1 (1 connected, last refreshed 93s ago), active DHT connections: 6/6\r\n2024-05-09 17:03:15.884288100 [comms::dht::connectivity] DEBUG DHT connectivity status: neighbour pool: 5/5 (0 connected), random pool: 1/1 (1 connected, last refreshed 93s ago), active DHT connections: 6/6\r\n2024-05-09 17:03:17.350056500 [comms::dht::connectivity] DEBUG DHT connectivity status: neighbour pool: 5/5 (0 connected), random pool: 1/1 (1 connected, last refreshed 94s ago), active DHT connections: 6/6\r\n2024-05-09 17:03:17.350087200 [comms::dht::connectivity] DEBUG DHT connectivity status: neighbour pool: 5/5 (0 connected), random pool: 1/1 (1 connected, last refreshed 94s ago), active DHT connections: 6/6\r\n2024-05-09 17:03:21.324948500 [comms::dht::connectivity] DEBUG DHT connectivity status: neighbour pool: 5/5 (0 connected), random pool: 1/1 (1 connected, last refreshed 98s ago), active DHT connections: 6/6\r\n2024-05-09 17:03:21.324980600 [comms::dht::connectivity] DEBUG DHT connectivity status: neighbour pool: 5/5 (0 connected), random pool: 1/1 (1 connected, last refreshed 98s ago), active DHT connections: 6/6\r\n2024-05-09 17:03:36.180570200 [comms::dht::connectivity] DEBUG DHT connectivity status: neighbour pool: 5/5 (0 connected), random pool: 1/1 (1 connected, last refreshed 113s ago), active DHT connections: 6/6\r\n2024-05-09 17:03:36.180604500 [comms::dht::connectivity] DEBUG DHT connectivity status: neighbour pool: 5/5 (0 connected), random pool: 1/1 (1 connected, last refreshed 113s ago), active DHT connections: 6/6\r\n2024-05-09 17:03:47.654100000 [comms::dht::connectivity] DEBUG DHT connectivity status: neighbour pool: 4/5 (0 connected), random pool: 1/1 (1 connected, last refreshed 124s ago), active DHT connections: 6/6\r\n2024-05-09 17:03:47.654120200 [comms::dht::connectivity] DEBUG DHT connectivity status: neighbour pool: 4/5 (0 connected), random pool: 1/1 (1 connected, last refreshed 124s ago), active DHT connections: 6/6\r\n2024-05-09 17:04:13.887169600 [comms::dht::connectivity] DEBUG DHT connectivity status: neighbour pool: 4/5 (0 connected), random pool: 1/1 (1 connected, last refreshed 151s ago), active DHT connections: 6/6\r\n2024-05-09 17:04:14.062651100 [comms::dht::connectivity] DEBUG DHT connectivity status: neighbour pool: 3/5 (0 connected), random pool: 1/1 (1 connected, last refreshed 151s ago), active DHT connections: 6/6\r\n2024-05-09 17:04:14.062669400 [comms::dht::connectivity] DEBUG DHT connectivity status: neighbour pool: 3/5 (0 connected), random pool: 1/1 (1 connected, last refreshed 151s ago), active DHT connections: 6/6\r\n2024-05-09 17:04:17.893635900 [comms::dht::connectivity] DEBUG DHT connectivity status: neighbour pool: 2/5 (0 connected), random pool: 1/1 (1 connected, last refreshed 155s ago), active DHT connections: 6/6\r\n2024-05-09 17:04:17.893652200 [comms::dht::connectivity] DEBUG DHT connectivity status: neighbour pool: 2/5 (0 connected), random pool: 1/1 (1 connected, last refreshed 155s ago), active DHT connections: 6/6\r\n2024-05-09 17:04:59.589188600 [comms::dht::connectivity] DEBUG DHT connectivity status: neighbour pool: 1/5 (0 connected), random pool: 1/1 (1 connected, last refreshed 196s ago), active DHT connections: 6/6\r\n2024-05-09 17:04:59.589202800 [comms::dht::connectivity] DEBUG DHT connectivity status: neighbour pool: 1/5 (0 connected), random pool: 1/1 (1 connected, last refreshed 196s ago), active DHT connections: 6/6\r\n2024-05-09 17:05:00.693970600 [comms::dht::connectivity] DEBUG DHT connectivity status: neighbour pool: 0/5 (0 connected), random pool: 1/1 (1 connected, last refreshed 197s ago), active DHT connections: 6/6\r\n2024-05-09 17:05:00.693978600 [comms::dht::connectivity] DEBUG DHT connectivity status: neighbour pool: 0/5 (0 connected), random pool: 1/1 (1 connected, last refreshed 197s ago), active DHT connections: 6/6\r\n2024-05-09 17:09:13.888616000 [comms::dht::connectivity] DEBUG DHT connectivity status: neighbour pool: 0/5 (0 connected), random pool: 1/1 (1 connected, last refreshed 451s ago), active DHT connections: 6/6\r\n2024-05-09 17:14:13.888027100 [comms::dht::connectivity] DEBUG DHT connectivity status: neighbour pool: 0/5 (0 connected), random pool: 1/1 (1 connected, last refreshed 751s ago), active DHT connections: 6/6\r\n2024-05-09 17:19:13.887787200 [comms::dht::connectivity] DEBUG DHT connectivity status: neighbour pool: 0/5 (0 connected), random pool: 1/1 (1 connected, last refreshed 1051s ago), active DHT connections: 6/6\r\n2024-05-09 17:24:13.885459600 [comms::dht::connectivity] DEBUG DHT connectivity status: neighbour pool: 0/5 (0 connected), random pool: 1/1 (1 connected, last refreshed 1351s ago), active DHT connections: 6/6\r\n```\r\nIn contrast to the wallet, these results for a fresh base node during\r\nthe same period:\r\n```rust\r\n2024-05-09 16:58:48.018109100 [comms::dht::connectivity] DEBUG DHT connectivity status: neighbour pool: 8/8 (0 connected), random pool: 4/4 (0 connected, last refreshed 11µs ago), active DHT connections: 0/12\r\n2024-05-09 17:00:06.125021800 [comms::dht::connectivity] DEBUG DHT connectivity status: neighbour pool: 8/8 (7 connected), random pool: 4/4 (3 connected, last refreshed 65s ago), active DHT connections: 11/12\r\n2024-05-09 17:00:06.125044000 [comms::dht::connectivity] DEBUG DHT connectivity status: neighbour pool: 8/8 (7 connected), random pool: 4/4 (3 connected, last refreshed 65s ago), active DHT connections: 11/12\r\n2024-05-09 17:00:35.062813300 [comms::dht::connectivity] DEBUG DHT connectivity status: neighbour pool: 8/8 (0 connected), random pool: 4/4 (1 connected, last refreshed 10s ago), active DHT connections: 10/12\r\n2024-05-09 17:00:35.062849200 [comms::dht::connectivity] DEBUG DHT connectivity status: neighbour pool: 8/8 (0 connected), random pool: 4/4 (1 connected, last refreshed 10s ago), active DHT connections: 10/12\r\n2024-05-09 17:00:38.762475500 [comms::dht::connectivity] DEBUG DHT connectivity status: neighbour pool: 8/8 (0 connected), random pool: 4/4 (1 connected, last refreshed 14s ago), active DHT connections: 10/12\r\n2024-05-09 17:00:38.762518300 [comms::dht::connectivity] DEBUG DHT connectivity status: neighbour pool: 8/8 (0 connected), random pool: 4/4 (1 connected, last refreshed 14s ago), active DHT connections: 10/12\r\n2024-05-09 17:00:48.026914700 [comms::dht::connectivity] DEBUG DHT connectivity status: neighbour pool: 8/8 (0 connected), random pool: 4/4 (1 connected, last refreshed 23s ago), active DHT connections: 12/12\r\n2024-05-09 17:01:26.772288600 [comms::dht::connectivity] DEBUG DHT connectivity status: neighbour pool: 8/8 (2 connected), random pool: 4/4 (4 connected, last refreshed 62s ago), active DHT connections: 17/12\r\n2024-05-09 17:01:26.772317900 [comms::dht::connectivity] DEBUG DHT connectivity status: neighbour pool: 8/8 (2 connected), random pool: 4/4 (4 connected, last refreshed 62s ago), active DHT connections: 17/12\r\n2024-05-09 17:02:48.023292100 [comms::dht::connectivity] DEBUG DHT connectivity status: neighbour pool: 8/8 (0 connected), random pool: 4/4 (4 connected, last refreshed 143s ago), active DHT connections: 18/12\r\n2024-05-09 17:04:48.025758700 [comms::dht::connectivity] DEBUG DHT connectivity status: neighbour pool: 8/8 (0 connected), random pool: 4/4 (4 connected, last refreshed 263s ago), active DHT connections: 18/12\r\n2024-05-09 17:06:48.023565000 [comms::dht::connectivity] DEBUG DHT connectivity status: neighbour pool: 8/8 (0 connected), random pool: 4/4 (4 connected, last refreshed 383s ago), active DHT connections: 18/12\r\n2024-05-09 17:08:48.023885600 [comms::dht::connectivity] DEBUG DHT connectivity status: neighbour pool: 8/8 (0 connected), random pool: 4/4 (4 connected, last refreshed 503s ago), active DHT connections: 18/12\r\n2024-05-09 17:10:48.026087000 [comms::dht::connectivity] DEBUG DHT connectivity status: neighbour pool: 8/8 (0 connected), random pool: 4/4 (4 connected, last refreshed 623s ago), active DHT connections: 18/12\r\n2024-05-09 17:12:48.025937800 [comms::dht::connectivity] DEBUG DHT connectivity status: neighbour pool: 8/8 (0 connected), random pool: 4/4 (4 connected, last refreshed 743s ago), active DHT connections: 18/12\r\n2024-05-09 17:14:48.022341700 [comms::dht::connectivity] DEBUG DHT connectivity status: neighbour pool: 8/8 (0 connected), random pool: 4/4 (3 connected, last refreshed 863s ago), active DHT connections: 19/12\r\n2024-05-09 17:16:48.016408600 [comms::dht::connectivity] DEBUG DHT connectivity status: neighbour pool: 8/8 (0 connected), random pool: 4/4 (3 connected, last refreshed 983s ago), active DHT connections: 19/12\r\n2024-05-09 17:18:48.021984800 [comms::dht::connectivity] DEBUG DHT connectivity status: neighbour pool: 8/8 (0 connected), random pool: 4/4 (3 connected, last refreshed 1103s ago), active DHT connections: 19/12\r\n2024-05-09 17:20:48.018004600 [comms::dht::connectivity] DEBUG DHT connectivity status: neighbour pool: 8/8 (0 connected), random pool: 4/4 (3 connected, last refreshed 1223s ago), active DHT connections: 20/12\r\n2024-05-09 17:20:52.757274600 [comms::dht::connectivity] DEBUG DHT connectivity status: neighbour pool: 8/8 (0 connected), random pool: 4/4 (3 connected, last refreshed 1228s ago), active DHT connections: 20/12\r\n2024-05-09 17:20:52.757311800 [comms::dht::connectivity] DEBUG DHT connectivity status: neighbour pool: 8/8 (0 connected), random pool: 4/4 (3 connected, last refreshed 1228s ago), active DHT connections: 20/12\r\n2024-05-09 17:22:48.022367900 [comms::dht::connectivity] DEBUG DHT connectivity status: neighbour pool: 8/8 (0 connected), random pool: 4/4 (3 connected, last refreshed 1343s ago), active DHT connections: 21/12\r\n2024-05-09 17:24:48.026643700 [comms::dht::connectivity] DEBUG DHT connectivity status: neighbour pool: 8/8 (0 connected), random pool: 4/4 (3 connected, last refreshed 1463s ago), active DHT connections: 22/12\r\n2024-05-09 17:26:48.025649400 [comms::dht::connectivity] DEBUG DHT connectivity status: neighbour pool: 8/8 (0 connected), random pool: 4/4 (3 connected, last refreshed 1583s ago), active DHT connections: 22/12\r\n2024-05-09 17:28:48.015161100 [comms::dht::connectivity] DEBUG DHT connectivity status: neighbour pool: 8/8 (0 connected), random pool: 4/4 (3 connected, last refreshed 1703s ago), active DHT connections: 22/12\r\n```\r\n\r\nWhat process can a PR reviewer use to test or verify this change?\r\n---\r\n- Code review\r\n- System-level testing on `nextnet`\r\n\r\n\r\n\r\n\r\n\r\nBreaking Changes\r\n---\r\n\r\n- [x] None\r\n- [ ] Requires data directory on base node to be deleted\r\n- [ ] Requires hard fork\r\n- [ ] Other - Please specify\r\n\r\n\r\n","shortMessageHtmlLink":"feat: limit wallet base node peer outbound connections (#6307)"}},{"before":"f851125e5f5de1555aaefb3fead15e6423e1ff42","after":"ae63babfde7f4e4528ed63b1ffec96425da79593","ref":"refs/heads/development","pushedAt":"2024-05-09T06:05:46.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"SWvheerden","name":"SW van Heerden","path":"/SWvheerden","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2579813?s=80&v=4"},"commit":{"message":"feat!: update key manager hasher labels (#6329)\n\nDescription\r\n---\r\nUpdates key manager hasher labels used in cipher seeds. Improves the\r\nordering of MAC input data.\r\n\r\nCloses #6328.\r\n\r\nMotivation and Context\r\n---\r\nThe hasher labels used for cipher seeds are vaguely named, which seems\r\nlike an unnecessary footgun. This PR updates them, incrementing to a new\r\ncipher seed version.\r\n\r\nWe also take the opportunity of a new version to reorganize how cipher\r\nseed MAC input data is ordered; specifically, we move the version byte\r\nto the front, which is more in line with its use elsewhere. This doesn't\r\nimpose any particular security concerns (the MAC input data is never\r\ndirectly parsed), but had a bad smell.\r\n\r\nHow Has This Been Tested?\r\n---\r\nTests pass.\r\n\r\nWhat process can a PR reviewer use to test or verify this change?\r\n---\r\nCheck that the naming change and reordering do what they say on the tin.\r\n\r\nBreaking Changes\r\n---\r\nBecause the library only supports the most recent cipher seed version,\r\nexisting cipher seeds will fail to decrypt.\r\n\r\nBREAKING CHANGE: Changes the construction of cipher seeds via a new\r\nversion; older cipher seeds will fail to decrypt.","shortMessageHtmlLink":"feat!: update key manager hasher labels (#6329)"}},{"before":"c9eb57995e309cecedfaba313c5303c9b32343e3","after":"f851125e5f5de1555aaefb3fead15e6423e1ff42","ref":"refs/heads/development","pushedAt":"2024-05-08T14:24:44.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"SWvheerden","name":"SW van Heerden","path":"/SWvheerden","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2579813?s=80&v=4"},"commit":{"message":"ci(fix): macOS add workflow to assemble macOS universal binaries (#6326)\n\nDescription\r\nAdd workflow to assemble macOS universal binaries into separate archive\r\n\r\nMotivation and Context\r\nFirst step to one file download for macOS, making macOS easier to use. \r\n\r\nHow Has This Been Tested?\r\nWorkflows run in local fork and tested both x86_64 and arm64 locally\r\n\r\nWhat process can a PR reviewer use to test or verify this change?\r\n---\r\n\r\n\r\n\r\n\r\n\r\nBreaking Changes\r\n---\r\n\r\n- [x] None\r\n- [ ] Requires data directory on base node to be deleted\r\n- [ ] Requires hard fork\r\n- [ ] Other - Please specify\r\n\r\n\r\n","shortMessageHtmlLink":"ci(fix): macOS add workflow to assemble macOS universal binaries (#6326)"}},{"before":"4033f0722a42056ad2478ae0b46ad0a8dcf59959","after":"c9eb57995e309cecedfaba313c5303c9b32343e3","ref":"refs/heads/development","pushedAt":"2024-05-08T14:17:36.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"SWvheerden","name":"SW van Heerden","path":"/SWvheerden","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2579813?s=80&v=4"},"commit":{"message":"chore: refactor key manager hasher (#6330)\n\nDescription\r\n---\r\nRefactors the key manager hasher for clarity.\r\n\r\nCloses #6327.\r\n\r\nMotivation and Context\r\n---\r\nThe key manager hasher is instantiated using a wrapper function that is\r\npoorly named, as it is reused in multiple contexts. This PR refactors\r\nfor clarity.\r\n\r\nHow Has This Been Tested?\r\n---\r\nTests pass.\r\n\r\nWhat process can a PR reviewer use to test or verify this change?\r\n---\r\nCheck the refactoring does not change behavior.","shortMessageHtmlLink":"chore: refactor key manager hasher (#6330)"}},{"before":"8991dc29419a63f204273311b1d8f3ce91ceb1e4","after":"4033f0722a42056ad2478ae0b46ad0a8dcf59959","ref":"refs/heads/development","pushedAt":"2024-05-07T14:13:34.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"SWvheerden","name":"SW van Heerden","path":"/SWvheerden","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2579813?s=80&v=4"},"commit":{"message":"chore: new release testnet v1.0.0-pre.13 (#6325)\n\nDescription\r\n---\r\nnew release for testnet","shortMessageHtmlLink":"chore: new release testnet v1.0.0-pre.13 (#6325)"}},{"before":"d5a42586c7a5ea205c370e8ccc0ea1ae09a05e6c","after":"8991dc29419a63f204273311b1d8f3ce91ceb1e4","ref":"refs/heads/development","pushedAt":"2024-05-07T11:42:36.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"SWvheerden","name":"SW van Heerden","path":"/SWvheerden","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2579813?s=80&v=4"},"commit":{"message":"ci(fix): cosmetic - update binaries build workflow to be more, tbn to ts (#6324)\n\nDescription\r\ncosmetic changes - update binaries build workflow to be more generic -\r\ntbn to ts\r\n\r\nMotivation and Context\r\nEasier to port to other tari-project repos\r\n\r\nHow Has This Been Tested?\r\nBuilds in local repo\r\n\r\nWhat process can a PR reviewer use to test or verify this change?\r\n---\r\n\r\n\r\n\r\n\r\n\r\nBreaking Changes\r\n---\r\n\r\n- [x] None\r\n- [ ] Requires data directory on base node to be deleted\r\n- [ ] Requires hard fork\r\n- [ ] Other - Please specify\r\n\r\n\r\n","shortMessageHtmlLink":"ci(fix): cosmetic - update binaries build workflow to be more, tbn to…"}},{"before":"be849100459ae623f6bb180d64e8ecf9777cd7c4","after":"d5a42586c7a5ea205c370e8ccc0ea1ae09a05e6c","ref":"refs/heads/development","pushedAt":"2024-05-07T11:38:09.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"SWvheerden","name":"SW van Heerden","path":"/SWvheerden","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2579813?s=80&v=4"},"commit":{"message":"chore: update zeroizing (#6323)\n\nDescription\r\n---\r\nCleans up zeroizing.\r\n\r\nMotivation and Context\r\n---\r\nThe codebase has included instances of the `#[zeroize(drop)]` attribute,\r\nwhich is deprecated. This PR replaces the last such instance with the\r\nmore modern `ZeroizeOnDrop` derive macro.\r\n\r\nHow Has This Been Tested?\r\n---\r\nExisting tests pass.\r\n\r\nWhat process can a PR reviewer use to test or verify this change?\r\n---\r\nNot much to check here!","shortMessageHtmlLink":"chore: update zeroizing (#6323)"}},{"before":"2a9250b91a1134df675203ea5c7c43deb2abdc61","after":"be849100459ae623f6bb180d64e8ecf9777cd7c4","ref":"refs/heads/development","pushedAt":"2024-05-07T11:36:51.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"SWvheerden","name":"SW van Heerden","path":"/SWvheerden","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2579813?s=80&v=4"},"commit":{"message":"chore: minor cleanup to `CipherSeed` (#6322)\n\nDescription\r\n---\r\nDoes some housekeeping on `CipherSeed` to address minor issues\r\ndiscovered during informal review.\r\n\r\nMotivation and Context\r\n---\r\nThis provides some small updates to `CipherSeed`, which is used to\r\nencrypt seed data.\r\n\r\nThese updates include:\r\n- removing panics\r\n- moving the salt from a `Box` to an array, since it's not secret data\r\n- improving comments\r\n- using a more modern approach to zeroizing\r\n\r\nHow Has This Been Tested?\r\n---\r\nExisting tests pass.\r\n\r\nWhat process can a PR reviewer use to test or verify this change?\r\n---\r\nCheck that the changes meet the above description, particularly relating\r\nto the handling of secret data.","shortMessageHtmlLink":"chore: minor cleanup to CipherSeed (#6322)"}},{"before":"260d046a8c638125b71d7d878dcc11d639a8b712","after":"2a9250b91a1134df675203ea5c7c43deb2abdc61","ref":"refs/heads/development","pushedAt":"2024-05-07T11:33:30.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"SWvheerden","name":"SW van Heerden","path":"/SWvheerden","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2579813?s=80&v=4"},"commit":{"message":"fix: change mmproxy to select new monerod on error (#6321)\n\nDescription\r\n---\r\nMake sure the MMProxy does select a new node on error\r\n\r\nMotivation and Context\r\n---\r\nIts possible for the monerod to error out on SSL, but not send back and\r\nerror. The MMProxy then gets this error and keeps retrying the node:\r\n```\r\nERROR Method \"getblocktemplate\" failed handling request: MonerodRequestFailed(reqwest::Error { kind: Request, url: Url { scheme: \"https\", cannot_be_a_base: false, username: \"\", password: None, host: Some(Domain(\"xmr.grub.net\")), port: Some(18089), path: \"/json_rpc\", query: None, fragment: None }, source: hyper::Error(Connect, Ssl(Error { code: ErrorCode(1), cause: Some(Ssl(ErrorStack([Error { code: 167772294, library: \"SSL routines\", function: \"tls_post_process_server_certificate\", reason: \"certificate verify failed\", file: \"ssl/statem/statem_clnt.c\", line: 1889 }]))) }, X509VerifyResult { code: 18, error: \"self-signed certificate\" })) })\r\n```\r\n\r\nOn Any error the MMProxy will now select a new monerod from the list it\r\nhas.","shortMessageHtmlLink":"fix: change mmproxy to select new monerod on error (#6321)"}},{"before":"6b21e0592412c632db774e0f1292f302f91cd3c9","after":"260d046a8c638125b71d7d878dcc11d639a8b712","ref":"refs/heads/development","pushedAt":"2024-05-06T13:27:26.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"SWvheerden","name":"SW van Heerden","path":"/SWvheerden","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2579813?s=80&v=4"},"commit":{"message":"chore: fix test (#6318)\n\nDescription\r\n---\r\nFixes a cucumber test","shortMessageHtmlLink":"chore: fix test (#6318)"}},{"before":"4adcb26544e897ade7c02b5d9d1e432b1ae69df5","after":"6b21e0592412c632db774e0f1292f302f91cd3c9","ref":"refs/heads/development","pushedAt":"2024-05-06T13:27:07.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"SWvheerden","name":"SW van Heerden","path":"/SWvheerden","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2579813?s=80&v=4"},"commit":{"message":"feat!: remove user agent config option (#6320)\n\nDescription\r\n---\r\nRemoves the user-controlled user_agent field from the config and makes\r\nthis a coded option only.\r\n\r\nMotivation and Context\r\n---\r\nThis field is used by the application to report its name to the network.\r\nBy default for the desktop and mobile apps this option is filled in by\r\nthe application and reports the name and version of the application.\r\nThis is very helpful for the network to decern whom they are connection\r\nto.\r\n\r\nLeaving this option to user change, makes it very easy to remove this\r\noption on an individual bases. Currently Launchpad already does this and\r\nonly reports like follows:\r\n```\r\nd59a25f5a6855360364af9c2c9 | 02b0d0e37aaded4eac745608fdd6c08ceb06209a4ef5af807560f8fb14b36477 | /onion3/5uatfvtqxoo553k5x7iuel7ezkl5y7c7zy7vhyd3fo24s2yfzepexfid:18141 | Outbound | 8h 45m 34s | Launchpad base node | height: 39379, hnd: 1, ss: 2, rpc: 0 \r\ne9f94287e9893c4934f89edce7 | 826eda735986db5e57b3fd0342f0d9feebacae9329dc40ee74abf20c1d21f46d | /ip4/54.78.252.60/tcp/18189 | Outbound | 10h 31m 52s | tari/basenode/1.0.0-rc.8 | height: 39378, hnd: 1, ss: 2, rpc: 0 \r\n```\r\n\r\nAlthough this does not stop a user from changing this field, it lifts\r\nthe barrier to do this by requiring code changes.\r\n\r\n\r\nBreaking Changes\r\n---\r\nRemoves config option.","shortMessageHtmlLink":"feat!: remove user agent config option (#6320)"}},{"before":"8cbfeda0cad4c0b8e32167a44c68eb8dcf20e59a","after":"4adcb26544e897ade7c02b5d9d1e432b1ae69df5","ref":"refs/heads/development","pushedAt":"2024-05-06T13:26:41.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"SWvheerden","name":"SW van Heerden","path":"/SWvheerden","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2579813?s=80&v=4"},"commit":{"message":"feat: add sent at timestamp to chat messages (#6314)\n\nDescription\r\n---\r\nAdd sent at timestamp to messages. \r\n\r\nMotivation and Context\r\n---\r\nBecause of the lack of a central time server, its hard to get accurate\r\ntimestamp, the chat services uses the received at as the timestamp.\r\nBut when the receiver gets messages through saf, it can get multiple at\r\nthe same time. This fudles up the order completely. So we add sent_at\r\ntimestamp to help with ordering of messages.","shortMessageHtmlLink":"feat: add sent at timestamp to chat messages (#6314)"}},{"before":"1b5e21757cfc99e8876c3a4c6dc20c85e886bb72","after":"8cbfeda0cad4c0b8e32167a44c68eb8dcf20e59a","ref":"refs/heads/development","pushedAt":"2024-05-06T05:58:38.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"SWvheerden","name":"SW van Heerden","path":"/SWvheerden","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2579813?s=80&v=4"},"commit":{"message":"chore: prevent spam logs (#6319)\n\nDescription\r\n---\r\nPrevent spam logs from lmdb_db.rs when many inputs and outputs are\r\npresent in the blockchain - follow on to #6312.\r\n\r\nMotivation and Context\r\n---\r\nMore spam logs existed.\r\n\r\nHow Has This Been Tested?\r\n---\r\nSystem-level testing.\r\n\r\nWhat process can a PR reviewer use to test or verify this change?\r\n---\r\nSee code changes.\r\n\r\n\r\n\r\n\r\n\r\nBreaking Changes\r\n---\r\n\r\n- [x] None\r\n- [ ] Requires data directory on base node to be deleted\r\n- [ ] Requires hard fork\r\n- [ ] Other - Please specify\r\n\r\n\r\n","shortMessageHtmlLink":"chore: prevent spam logs (#6319)"}},{"before":"925d29a20cf3e9e1dc7d32b512e2113c70b110fb","after":"1b5e21757cfc99e8876c3a4c6dc20c85e886bb72","ref":"refs/heads/development","pushedAt":"2024-05-06T05:58:05.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"SWvheerden","name":"SW van Heerden","path":"/SWvheerden","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2579813?s=80&v=4"},"commit":{"message":"fix(comms/core): upgrade to yamux 0.13 (#6317)\n\nDescription\r\n---\r\nUpdates yamux to 0.13.2 from 0.10.2\r\nRefactor RPC tests to account for internal changes in yamux \r\n\r\nMotivation and Context\r\n---\r\n\r\nIncludes improvements in yamux since 0.10. Including\r\nhttps://github.com/libp2p/rust-yamux/commit/460baf2ccb7d5982b266cb3cb9c0bdf75b4fb779\r\n\r\nOne major difference is that the substream is not opened until the\r\nclient sends a message. This only affects some tests written in a\r\n\"weird\" way where the outbound stream was notified as an inbound\r\nsubstream and the inbound stream is written to first. In all real usages\r\nof substreams, the outbound stream always writes first.\r\n\r\nThis has been tested on the existing nextnet network for breaking\r\nchanges and there were no issues detected.\r\n\r\nHow Has This Been Tested?\r\n---\r\nExisting tests updated, manually syncing nextnet (non-breaking change\r\ntest) and wallet\r\n\r\nLocalnet manual test with 2 base nodes and 1 wallet\r\n\r\nWhat process can a PR reviewer use to test or verify this change?\r\n---\r\nAll applications should work as before\r\n\r\n\r\n\r\n\r\n\r\nBreaking Changes\r\n---\r\n\r\n- [x] None\r\n- [ ] Requires data directory on base node to be deleted\r\n- [ ] Requires hard fork\r\n- [ ] Other - Please specify\r\n\r\n\r\n","shortMessageHtmlLink":"fix(comms/core): upgrade to yamux 0.13 (#6317)"}},{"before":"ac8558ed20c657ec298ba255a909d3a849377da1","after":"925d29a20cf3e9e1dc7d32b512e2113c70b110fb","ref":"refs/heads/development","pushedAt":"2024-05-03T13:41:46.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"SWvheerden","name":"SW van Heerden","path":"/SWvheerden","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2579813?s=80&v=4"},"commit":{"message":"feat: add check to verify mempool state (#6316)\n\nDescription\r\n---\r\nAdded a check to verify that the mempool last processed block is in sync\r\nwith the blockchain state whenever a new block template is requested, as\r\nadding a block to the db and processing the same block in the mempool\r\nhappens asynchronously. Miners can get block templates with double\r\nspending if this is not done.\r\n\r\nMotivation and Context\r\n---\r\nIn a recent stress test the following behaviour was observed multiple\r\ntimes:\r\n1. [mempool] New transaction `4776...2001` received with output\r\n`000e9...6b57c`\r\n1. [mempool] Transaction `4776d...82001` inserted into the mempool\r\n1. [grpc] Miner mined block `af0c8...c76c0` containing output\r\n`000e9...6b57c`\r\n1. [lmdb_db] Output `000e9...6b57c` inserted into the db\r\n1. [grpc] New block template requested (`GetNewBlockTemplate)\r\n1. [mempool] New block template prepared containing output\r\n`000e9...6b57c`\r\n1. [mempool] Transaction `4776d...82001` with output `000e9...6b57c`\r\nremoved from the mempool\r\n1. [mempool] Processed new block `af0c8...c76c0` containing output\r\n`000e9...6b57c`\r\n1. [grpc] New block requested (`GetNewBlock`)\r\n1. [grpc] Using the latest block template, `pub fn\r\nprepare_new_block(&self, template: NewBlockTemplate)` fails at `let\r\nroots = match calculate_mmr_roots(&*db, self.rules(), &block, &mut smt)`\r\nwith `ERROR Output\r\ncommitment(000e9e1fd41f672e0b88f89b3d24390beb37d50e8be2967980e24a13d796b57c)\r\nalready in SMT`\r\n\r\n\r\nHow Has This Been Tested?\r\n---\r\nSystem-level stress test to be done\r\n\r\nWhat process can a PR reviewer use to test or verify this change?\r\n---\r\nReview code change\r\n\r\n\r\n\r\n\r\n\r\nBreaking Changes\r\n---\r\n\r\n- [x] None\r\n- [ ] Requires data directory on base node to be deleted\r\n- [ ] Requires hard fork\r\n- [ ] Other - Please specify\r\n\r\n\r\n","shortMessageHtmlLink":"feat: add check to verify mempool state (#6316)"}},{"before":"d70404f6a7507e315a9121181430ec60a2c7e7c8","after":"ac8558ed20c657ec298ba255a909d3a849377da1","ref":"refs/heads/development","pushedAt":"2024-05-02T06:13:27.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"SWvheerden","name":"SW van Heerden","path":"/SWvheerden","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2579813?s=80&v=4"},"commit":{"message":"ci(fix): update osx pkg notarization from deprecated altool (#6315)\n\nDescription\r\nUpdate workflow for OSX pkg ```notarization``` from deprecated\r\n```altool``` too ```notarytool```\r\n\r\nMotivation and Context\r\nFixes the failing step in job, meaning the pkg files are not getting\r\nnotarizated\r\n\r\nHow Has This Been Tested?\r\nBuilt in local fork successfully\r\n\r\nWhat process can a PR reviewer use to test or verify this change?\r\n---\r\n\r\n\r\n\r\n\r\n\r\nBreaking Changes\r\n---\r\n\r\n- [x] None\r\n- [ ] Requires data directory on base node to be deleted\r\n- [ ] Requires hard fork\r\n- [ ] Other - Please specify\r\n\r\n\r\n","shortMessageHtmlLink":"ci(fix): update osx pkg notarization from deprecated altool (#6315)"}},{"before":"3e4bb70aaba817ea7d984cd21fe3246ee6631bcc","after":"d70404f6a7507e315a9121181430ec60a2c7e7c8","ref":"refs/heads/development","pushedAt":"2024-04-30T14:36:17.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"SWvheerden","name":"SW van Heerden","path":"/SWvheerden","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2579813?s=80&v=4"},"commit":{"message":"chore: show smt is loading (#6313)\n\nDescription\r\n---\r\nShow smt is loading into memory\r\n\r\nMotivation and Context\r\n---\r\natm when you start the node, it looks like it crahsed or hanged. \r\n\r\nHow Has This Been Tested?\r\n---\r\nmanual","shortMessageHtmlLink":"chore: show smt is loading (#6313)"}},{"before":"b7b0ea3b0c25638fc3e0addb0d2f7f0979545ed2","after":"3e4bb70aaba817ea7d984cd21fe3246ee6631bcc","ref":"refs/heads/development","pushedAt":"2024-04-30T06:59:33.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"SWvheerden","name":"SW van Heerden","path":"/SWvheerden","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2579813?s=80&v=4"},"commit":{"message":"chore: prevent spam logs (#6312)\n\nDescription\r\n---\r\nPrevent spam logs from `lmdb_db.r`s when many inputs and outputs are\r\npresent in the blockchain.\r\n\r\nMotivation and Context\r\n---\r\nWith many inputs and outputs in the blockchain the base node logs are\r\nfilled up with logs fetching inputs and outputs. Important log messages\r\ngo missing due to being _rolled over_ when the file and size limits are\r\nreached.\r\n\r\nThe image below illustrates this, where 200MB log files are rolled over\r\nin less than 10 minutes.\r\n\r\n\r\n![image](https://github.com/tari-project/tari/assets/39146854/77f2dace-471f-4be9-859d-702044441b2f)\r\n\r\n\r\nHow Has This Been Tested?\r\n---\r\nSystem-level stress testing.\r\n\r\nWhat process can a PR reviewer use to test or verify this change?\r\n---\r\nReview code change.\r\n\r\n\r\n\r\n\r\n\r\nBreaking Changes\r\n---\r\n\r\n- [x] None\r\n- [ ] Requires data directory on base node to be deleted\r\n- [ ] Requires hard fork\r\n- [ ] Other - Please specify\r\n\r\n\r\n","shortMessageHtmlLink":"chore: prevent spam logs (#6312)"}},{"before":"030d389768f6e79a1e2319eb13d44ccb4392be55","after":"b7b0ea3b0c25638fc3e0addb0d2f7f0979545ed2","ref":"refs/heads/development","pushedAt":"2024-04-29T13:49:11.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"SWvheerden","name":"SW van Heerden","path":"/SWvheerden","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2579813?s=80&v=4"},"commit":{"message":"feat: esmeralda testnet reset (#6311)\n\nDescription\r\n---\r\nAdded a new esmeralda genesis block to reset the network.\r\n\r\nMotivation and Context\r\n---\r\nNeeded for stress testing as the previous testnet grew too big.\r\n\r\nHow Has This Been Tested?\r\n---\r\nSystem-level testing\r\n\r\nWhat process can a PR reviewer use to test or verify this change?\r\n---\r\nCode walk-through\r\nStart a base node\r\n\r\n\r\n\r\n\r\n\r\nBreaking Changes\r\n---\r\n\r\n- [x] None\r\n- [ ] Requires data directory on base node to be deleted\r\n- [ ] Requires hard fork\r\n- [ ] Other - Please specify\r\n\r\n\r\n","shortMessageHtmlLink":"feat: esmeralda testnet reset (#6311)"}},{"before":"4cc082debdfc0e284a92b57f318165a04d61ce07","after":"030d389768f6e79a1e2319eb13d44ccb4392be55","ref":"refs/heads/development","pushedAt":"2024-04-26T11:11:25.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"SWvheerden","name":"SW van Heerden","path":"/SWvheerden","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2579813?s=80&v=4"},"commit":{"message":"fix: potential overflow of coinbase calc (#6306)\n\nDescription\r\n---\r\nfix potential overflow of multiple coinbase grpc call\r\n\r\nMotivation and Context\r\n---\r\n\r\nHow Has This Been Tested?\r\n---\r\ntests","shortMessageHtmlLink":"fix: potential overflow of coinbase calc (#6306)"}},{"before":"cf579f527c31912c0a1105fa3b51aa2b63c29407","after":"4cc082debdfc0e284a92b57f318165a04d61ce07","ref":"refs/heads/development","pushedAt":"2024-04-26T10:22:47.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"SWvheerden","name":"SW van Heerden","path":"/SWvheerden","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2579813?s=80&v=4"},"commit":{"message":"fix: reload old wallets (#6308)\n\nDescription\r\n---\r\nThis allows older wallets that dont have a type stored in the DB to load\r\nup as software wallets.\r\n\r\nMotivation and Context\r\n---\r\nIf this type is not stored, either the entire DB is corrupted or its an\r\nolder wallet without a type stored.\r\nIf the DB is corrupted it would very likely fail earlier, or if not\r\nlater. But older correct wallets should not be blocked from booting up\r\n\r\nHow Has This Been Tested?\r\n---\r\nManual","shortMessageHtmlLink":"fix: reload old wallets (#6308)"}},{"before":"f538714801f6ab61f20a297c8714385a27e1aca2","after":"cf579f527c31912c0a1105fa3b51aa2b63c29407","ref":"refs/heads/development","pushedAt":"2024-04-23T07:56:34.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"SWvheerden","name":"SW van Heerden","path":"/SWvheerden","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2579813?s=80&v=4"},"commit":{"message":"feat!: update emojis to match yat emojis (#6288)\n\nDescription\r\n---\r\nThis updates the emoji_id emojis to match those used by yat. \r\n\r\nMotivation and Context\r\n---\r\nThis will allow users to create a yat from their emoji_id as they now\r\nshare all characters.\r\n\r\nHow Has This Been Tested?\r\n---\r\nunit tests\r\n\r\n\r\n\r\n\r\n\r\nBreaking Changes\r\n---\r\n\r\n- [] None\r\n- [ ] Requires data directory on base node to be deleted\r\n- [ ] Requires hard fork\r\n- [x] Other - Please specify\r\n\r\nThis causes the string emoji representation of tari addresses to be\r\nincompatible with previous versions.","shortMessageHtmlLink":"feat!: update emojis to match yat emojis (#6288)"}},{"before":"3ea8c1722f2c512c34ce8ac56eaac5cb0fdd54f1","after":"07131ad6091639dc46d22dd54bfc348ba93bdce0","ref":"refs/heads/nextnet","pushedAt":"2024-04-23T06:31:31.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"SWvheerden","name":"SW van Heerden","path":"/SWvheerden","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2579813?s=80&v=4"},"commit":{"message":"fix: hot for removing breaking change in wallet, new release for nexnet v1.0.0-rc.8 (#6305)\n\nDescription\r\n---\r\nRemoved breaking change of wallet db type\r\nRelease new nextnet version\r\n\r\nMotivation and Context\r\n--\r\nRelease v1.0.0-rc.7 accidentally included an unmarked breaking change.\r\nThis change is for future ledger support in with saving the wallet type\r\nas software or ledger in the wallet db. This is a breaking change. This\r\nforces a wallet to be software as ledger is currently in dev and not yet\r\nfunctioning.\r\n\r\nHow Has This Been Tested?\r\n---\r\nManual","shortMessageHtmlLink":"fix: hot for removing breaking change in wallet, new release for nexn…"}},{"before":"b5b9360a6bd4087f4df119ddd6399d8e475c65cd","after":"f538714801f6ab61f20a297c8714385a27e1aca2","ref":"refs/heads/development","pushedAt":"2024-04-22T14:01:09.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"SWvheerden","name":"SW van Heerden","path":"/SWvheerden","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2579813?s=80&v=4"},"commit":{"message":"feat: updates the emoji ID API to be more idiomatic (#6287)\n\nDescription\r\n---\r\nUpdates the emoji ID public API to be more idiomatic.\r\n\r\nMotivation and Context\r\n---\r\nThe emoji ID public API includes functionality to convert to and from\r\ntypes like `String` and `PublicKey`, but not idiomatically. This PR\r\nupdates the API to use `From` and `FromStr` trait implementations where\r\npossible. It also makes some minor changes to checksum function\r\nsignatures to avoid unnecessary vector cloning, and improves a test.\r\n\r\nHow Has This Been Tested?\r\n---\r\nExisting tests pass.\r\n\r\nWhat process can a PR reviewer use to test or verify this change?\r\n---\r\nCheck that the new API is, in fact, more idiomatic :)\r\n\r\nWhile this doesn't affect consensus or existing databases, this public\r\nAPI change is technically breaking. For example, existing\r\n[documentation](https://www.tari.com/lessons/05_emoji_id) needs to be\r\nupdated.","shortMessageHtmlLink":"feat: updates the emoji ID API to be more idiomatic (#6287)"}},{"before":"b5b9360a6bd4087f4df119ddd6399d8e475c65cd","after":"3ea8c1722f2c512c34ce8ac56eaac5cb0fdd54f1","ref":"refs/heads/nextnet","pushedAt":"2024-04-22T12:57:41.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"SWvheerden","name":"SW van Heerden","path":"/SWvheerden","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2579813?s=80&v=4"},"commit":{"message":"chore: new release nextnet 1.0.0-rc.7 (#6302)\n\nDescription\r\n---\r\nNew release for nextnet","shortMessageHtmlLink":"chore: new release nextnet 1.0.0-rc.7 (#6302)"}},{"before":"5f56caad155cfd3855a62e6e916b6c8c89494c13","after":"b5b9360a6bd4087f4df119ddd6399d8e475c65cd","ref":"refs/heads/nextnet","pushedAt":"2024-04-22T11:59:54.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"SWvheerden","name":"SW van Heerden","path":"/SWvheerden","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2579813?s=80&v=4"},"commit":{"message":"chore: new release 1.0.0-pre.12 (#6301)\n\nDescription\r\n---\r\nnew release for testnet 1.0.0-pre.12","shortMessageHtmlLink":"chore: new release 1.0.0-pre.12 (#6301)"}},{"before":"fc55bf932324beaf501f5ff80388cc40b2a44206","after":"b5b9360a6bd4087f4df119ddd6399d8e475c65cd","ref":"refs/heads/development","pushedAt":"2024-04-22T11:54:45.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"SWvheerden","name":"SW van Heerden","path":"/SWvheerden","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2579813?s=80&v=4"},"commit":{"message":"chore: new release 1.0.0-pre.12 (#6301)\n\nDescription\r\n---\r\nnew release for testnet 1.0.0-pre.12","shortMessageHtmlLink":"chore: new release 1.0.0-pre.12 (#6301)"}},{"before":"b5bda7ccffd569f627ed41cb65d060032a58510f","after":"fc55bf932324beaf501f5ff80388cc40b2a44206","ref":"refs/heads/development","pushedAt":"2024-04-19T15:38:55.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"SWvheerden","name":"SW van Heerden","path":"/SWvheerden","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2579813?s=80&v=4"},"commit":{"message":"feat: improve node and wallet connection times (#6284)\n\nDescription\r\n---\r\n- Improved peer db stats to only update if the specific public address\r\nwas successfully connected to. This alleviates issues where the node\r\ntries to connect to a peer's public address with a quality score > 0\r\nwhere it should be 0.\r\n- Update stats with ping-pong.\r\n- Added a peer sync delay config option to let a preferred connection\r\nget a head start in trying to connect.\r\n- Discarded all peer identity claims without valid signatures\r\nimmediately when they are received.\r\n- Reduced the minimum number of sync peers a wallet wants to connect to\r\nfrom 50 to 8.\r\n\r\nMotivation and Context\r\n---\r\nPeer db connection stats were not reflected correctly.\r\nWallet connection/re-connection times were slow.\r\n\r\nHow Has This Been Tested?\r\n---\r\nSystem-level testing\r\n\r\n**Wallet re-connection times** with many pre-connected peers.\r\n\r\n\r\n![image](https://github.com/tari-project/tari/assets/39146854/50effe9b-f554-4e48-8b84-72ea4152dd3b)\r\n\r\n\r\nWhat process can a PR reviewer use to test or verify this change?\r\n---\r\nCode walk-through\r\n\r\n\r\n\r\n\r\n\r\nBreaking Changes\r\n---\r\n\r\n- [x] None\r\n- [ ] Requires data directory on base node to be deleted\r\n- [ ] Requires hard fork\r\n- [ ] Other - Please specify\r\n\r\n\r\n","shortMessageHtmlLink":"feat: improve node and wallet connection times (#6284)"}},{"before":"8f1eac60598f16a4839f594d50d8fc6fbf25e92d","after":"b5bda7ccffd569f627ed41cb65d060032a58510f","ref":"refs/heads/development","pushedAt":"2024-04-19T15:38:48.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"SWvheerden","name":"SW van Heerden","path":"/SWvheerden","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2579813?s=80&v=4"},"commit":{"message":"fix: wallet ffi type incorrect (#6290)\n\nDescription\r\n---\r\nFixes FFI type to hex, and away from vec\r\n\r\nMotivation and Context\r\n---\r\nc does not support vec","shortMessageHtmlLink":"fix: wallet ffi type incorrect (#6290)"}},{"before":"60bd21849265cd05dd85f6ec3c8765dff3ec2134","after":"8f1eac60598f16a4839f594d50d8fc6fbf25e92d","ref":"refs/heads/development","pushedAt":"2024-04-18T10:15:35.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"SWvheerden","name":"SW van Heerden","path":"/SWvheerden","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2579813?s=80&v=4"},"commit":{"message":"fix: improve wallet connection response time (#6286)\n\nDescription\r\n---\r\nImprove the time a wallet will detect that the base node its connecting\r\nto is up and running\r\n\r\nMotivation and Context\r\n---\r\nThe time between tries here was 3 secs previously, but an unrelated\r\nchange to the reuse of time variables bumped this up to 90 secs. This\r\nmeans that even thou the wallet is technically connected to the base\r\nnode, the wallet service will wait for up to 90 secs before confirm this\r\nis the case. This bumps it down to 5 secs.\r\n\r\nHow Has This Been Tested?\r\n---\r\nManual","shortMessageHtmlLink":"fix: improve wallet connection response time (#6286)"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAERmxWMgA","startCursor":null,"endCursor":null}},"title":"Activity · tari-project/tari"}