{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":706420083,"defaultBranch":"main","name":"DenaroWalletClient","ownerLogin":"The-Sycorax","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2023-10-17T23:14:21.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/70348517?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1705793837.0","currentOid":""},"activityList":{"items":[{"before":"f5ec15099167ee1b3eb78676f524d038dd4b4228","after":"dba634456e0fd94d6a684abf0a72e456c6cf2208","ref":"refs/heads/main","pushedAt":"2024-04-17T23:19:35.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"The-Sycorax","name":"The Sycorax","path":"/The-Sycorax","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/70348517?s=80&v=4"},"commit":{"message":"Security update and other changes\n\nChanges to requirements.txt:\n In response to recent security findings, the `requirements.txt` file for\n the Denaro wallet client has been updated to fortify against a vulnerability\n identified in the `Pillow` library.\n\n It is unknown if the vulnerability directly impacts the Denaro wallet client\n or it's security framework, however the vulnerability has since been patched.\n Therefore, this commit is a preventive measure.\n\n - The 'Pillow' library requirement has been upgraded to version 10.3.0 to\n mitigate a risk posed by 'CVE-2024-28219', which has to do with a buffer\n overflow in '_imagingcms.c'.\n\nChanges to wallet_client.py:\n - Added checks for transaction message length. If the length of a transaction\n message is more than the maximum an error will be shown to the user and the\n transaction will not be processed.\n\n - By default, all transactions made within the wallet client will now include a\n message variable with the string \"Sent From Denaro Wallet Client [version]\"\n appended to the end of it. This is defined by the `message_extension` variable\n within the `prepareTransaction` function.\n\n - Even if the user dose not choose a transaction message, the string will\n still be included in all wallet client transactions. Because of this the\n maximum length of a transaction message made by the user has been reduced\n from 256 to 256 - message_extension.\n\n - The initial reasoning behind this is for non-invasive and anonymous telemetry,\n which aims to store the usage of the wallet client directly on the Denaro blockchain.","shortMessageHtmlLink":"Security update and other changes"}},{"before":"8b6895be02e537cd3c24d2aeddaec588744563a4","after":"f5ec15099167ee1b3eb78676f524d038dd4b4228","ref":"refs/heads/main","pushedAt":"2024-04-17T23:18:06.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"The-Sycorax","name":"The Sycorax","path":"/The-Sycorax","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/70348517?s=80&v=4"},"commit":{"message":"Update README.md\n\nFixed typos","shortMessageHtmlLink":"Update README.md"}},{"before":"73a28650835f2d0427b1c350b1c8415f2526c6ea","after":"8b6895be02e537cd3c24d2aeddaec588744563a4","ref":"refs/heads/main","pushedAt":"2024-04-17T22:39:09.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"The-Sycorax","name":"The Sycorax","path":"/The-Sycorax","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/70348517?s=80&v=4"},"commit":{"message":"Security update and other changes\n\nChanges to requirements.txt:\n In response to recent security findings, the `requirements.txt` file for\n the Denaro wallet client has been updated to fortify against a vulnerability\n identified in the `Pillow` library.\n\n It is unknown if the vulnerability directly impacts the Denaro wallet client\n or it's security framework, however the vulnerability has since been patched.\n Therefore, this commit is a preventive measure.\n\n - The 'Pillow' library requirement has been upgraded to version 10.3.0 to\n mitigate a risk posed by 'CVE-2024-28219', that has to do with a buffer\n overflow in '_imagingcms.c'.\n\nChanges to wallet_client.py:\n - Added checks for transaction message length. If the length of a transaction\n message is more than the maximum an error will be shown to the user and the\n transaction will not be processed.\n\n - By default, all transactions made within the wallet client will now include a\n message variable with the string \"Sent From Denaro Wallet Client [version]\"\n appended to the end of it. This is defined by the `message_extension` variable\n within the `prepareTransaction` function.\n\n - Even if the user dose not choose a transaction message, the string will\n still be included in all wallet client transactions. Because of this the\n maximum length of a transaction message made by the user has been reduced\n from 256 to 256 - message_extension.\n\n - The initial reasoning behind this is for non-invasive and anonymous telemetry,\n which aims to store the usage of the wallet client directly on the Denaro blockchain.","shortMessageHtmlLink":"Security update and other changes"}},{"before":"be3505ea237b71dfa9a55a9b190154799d9fb74e","after":"73a28650835f2d0427b1c350b1c8415f2526c6ea","ref":"refs/heads/main","pushedAt":"2024-04-17T22:36:49.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"The-Sycorax","name":"The Sycorax","path":"/The-Sycorax","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/70348517?s=80&v=4"},"commit":{"message":"Security update and other changes\n\nChanges to requirements.txt:\n In response to recent security findings, the `requirements.txt` file for\n the Denaro wallet client has been updated to fortify against a vulnerability\n identified in the `Pillow` library.\n\n It is unknown if the vulnerability directly impacts the Denaro wallet client\n or it's security framework, however the vulnerability has since been patched.\n Therefore, this commit is a preventive measure.\n\n - The 'Pillow' library requirement has been upgraded to version 10.3.0 to\n mitigate a risk posed by 'CVE-2024-28219', that has to do with a buffer\n overflow in '_imagingcms.c'.\n\nChanges to wallet_client.py:\n - Added checks for transaction message length. If the length of a transaction\n message is more than the maximum an error will be shown to the user and the\n transaction will not be processed.\n\n - By default, all transactions made within the wallet client will now include a\n message variable with the string \"Sent From Denaro Wallet Client [version]\"\n appended to the end of it. This is defined by the `message_extension` variable\n within the `prepareTransaction` function.\n\n - Even if the user dose not choose a transaction message, the string will\n still be included in all wallet client transactions. Because of this the\n maximum length if a transaction message made by the user has been reduced\n from 256 to 256 - message_extension.\n\n - The initial reasoning behind this is for non-invasive and anonymous telemetry,\n which aims to store the usage of the wallet client directly on the Denaro blockchain.","shortMessageHtmlLink":"Security update and other changes"}},{"before":"9dc4f0ebc499768cc584c9abe337b2f7f7ac952f","after":"be3505ea237b71dfa9a55a9b190154799d9fb74e","ref":"refs/heads/main","pushedAt":"2024-03-14T00:15:20.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"The-Sycorax","name":"The Sycorax","path":"/The-Sycorax","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/70348517?s=80&v=4"},"commit":{"message":"Update README.md","shortMessageHtmlLink":"Update README.md"}},{"before":"779ef1773c129ef3bc6357dd66c9659797a4812e","after":"9dc4f0ebc499768cc584c9abe337b2f7f7ac952f","ref":"refs/heads/main","pushedAt":"2024-03-14T00:11:39.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"The-Sycorax","name":"The Sycorax","path":"/The-Sycorax","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/70348517?s=80&v=4"},"commit":{"message":"Update README.md","shortMessageHtmlLink":"Update README.md"}},{"before":"2078cc0fcfd227eae9dc7f772c3e84db2a47ace4","after":"779ef1773c129ef3bc6357dd66c9659797a4812e","ref":"refs/heads/main","pushedAt":"2024-03-14T00:09:30.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"The-Sycorax","name":"The Sycorax","path":"/The-Sycorax","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/70348517?s=80&v=4"},"commit":{"message":"Update README.md","shortMessageHtmlLink":"Update README.md"}},{"before":"fd0f31c7f49e603b32cb03f34ead872fb9373597","after":"2078cc0fcfd227eae9dc7f772c3e84db2a47ace4","ref":"refs/heads/main","pushedAt":"2024-03-14T00:04:09.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"The-Sycorax","name":"The Sycorax","path":"/The-Sycorax","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/70348517?s=80&v=4"},"commit":{"message":"Update README.md\n\n~ Fixed various typos and changed some words around.","shortMessageHtmlLink":"Update README.md"}},{"before":"76b6857ef00782160caef487d1cb240077d5e527","after":"fd0f31c7f49e603b32cb03f34ead872fb9373597","ref":"refs/heads/main","pushedAt":"2024-02-07T20:41:43.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"The-Sycorax","name":"The Sycorax","path":"/The-Sycorax","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/70348517?s=80&v=4"},"commit":{"message":"Security update for requirements.txt\n\nIn response to recent security findings, the `requirements.txt` file for the Denaro wallet client has been updated to fortify against vulnerabilities identified in the `pycryptodome` and `Pillow` libraries. \r\n\r\nThese vulnerabilities do not directly impact the Denaro wallet client because the vulnerable code segments are not utilized. This update is a preventive measure.\r\n\r\n- The `PyCryptodome` library requirement upgraded to version 3.19.1 addresses the vulnerability identified as `CVE-2023-52323`, which pertains to a side-channel leakage during OAEP decryption in both PyCryptodome and pycryptodomex.\r\n\r\n- The `Pillow` library requirement upgraded to version 10.2.0 mitigates the risk posed by `CVE-2023-50447`, which allows for Arbitrary Code Execution within Pillow.","shortMessageHtmlLink":"Security update for requirements.txt"}},{"before":"940da3ab1312ddbd32c8f0e2edbab779a452e72c","after":"76b6857ef00782160caef487d1cb240077d5e527","ref":"refs/heads/main","pushedAt":"2024-02-07T20:04:37.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"The-Sycorax","name":"The Sycorax","path":"/The-Sycorax","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/70348517?s=80&v=4"},"commit":{"message":"Update LICENSE\n\n- Updated copyright year and username in license","shortMessageHtmlLink":"Update LICENSE"}},{"before":"6f387d6691c9ddea51b40e22f392f0b486c3445a","after":"940da3ab1312ddbd32c8f0e2edbab779a452e72c","ref":"refs/heads/main","pushedAt":"2024-01-20T23:33:37.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"The-Sycorax","name":"The Sycorax","path":"/The-Sycorax","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/70348517?s=80&v=4"},"commit":{"message":"Major Update to the Wallet Client\n\nOverview:\n\nThis is the 6th beta release of the Denaro Wallet Client by the Sycorax,\nfeaturing a range of new functionalities and improvements aimed at\nenhancing the overall efficiency and user experience. This release also\nmarks 100 commits made to the gihub repo!\n\nA significant enhancement to the wallet client is the ability to view\nDenaro balances in real-world monetary values, available in various\ninternational fiat currencies and major cryptocurrencies, with USD set\nas the default.\n\nThis version also introduces Denaro paper wallets, providing a secure,\nphysical option for wallet storage. Enhancements include backup support\nfor wallet files via the CLI and a more streamlined wallet generation\nprocess with the option of a mnemonic phrase for easier recovery.\n\nThe wallet decryption process has been optimized for better efficiency\nin accessing and viewing wallet contents. The command-line interface\nhas been updated with newsub-commands and options to accommodate these\nfeatures.\n\nChangelog for the Denaro Wallet Client v0.0.6-beta:\n\n- Command-line Interface:\n - Changes:\n - Reorganized the command structure for wallet and address\n generation with a new `generate` sub-command.\n - The `generatewallet` sub-command has been updated to `generate\n wallet`.\n\n - The `generateaddress` sub-command has been updated to `generate\n address`.\n\n - This change simplifies the command structure and improves\n usability by grouping related functionalities under a single\n sub-command.\n\n - The `-pretty` option for the `decryptwallet` sub-command has been\n replaced with `-json`.\n\n - The `-filter` option has been removed from the `decryptwallet`\n sub-command. It has been removed in support of the `decryptwallet\n filter` sub-command which has the same exact functionality, dose\n not require a specific syntax, and is easier to use.\n\n - Updated help messages for better documentation and consistency.\n\n - New Sub-commands and Options:\n - A `generate paperwallet` sub-command has been added to facilitate\n the creation of Denaro paper wallets either by using an address\n that is associated with a wallet file, or directly via a private\n key that corresponds to a particular address (See Paper Wallet\n Support for more details).\n\n - A `backupwallet` sub-command has been added which allow users to\n create backups of their wallet files. Users can specify the\n filepath of a directory to save a wallet backup file. If no\n specific filepath is provided then wallet backup files will be\n saved to the `./wallets/wallet_backups/` directory by default.\n\n - A `-phrase` option has been added to the `generate wallet`\n sub-command to allow the creation of wallets based on a 12 word\n mnemonic phrase. This option will enable deterministic address\n generation by default, therefore it can be used to recover\n determinisitic addresses as long as the mnemonic phrase and\n password are correct.\n\n - A `-convert-to` option has been added to the `balance` sub-command\n which allows users to convert the monetary value of their balances\n to a specified currency, factoring in current exchange rates\n against the USD price of DNR. This option supports 161\n international currencies and major cryptocurrencies, and requires\n three letter currency code (See New Balance Checking Features for\n more details).\n\n- `wallet_client.py` Changelog:\n - The `generateAddressHelper` and `main` functions have been\n slightly modified to support the creation of wallets based on a 12\n word mnemonic phrase.\n\n - Added a `custom` parameter to the `ensure_wallet_directories_exist`\n function. This is used to create a custom directory at a specific\n filepath.\n\n - Various operations that are responsible for retrieving address and\n private key data in the `prepareTransaction` function have been\n moved to single `get_address_and_private_key` function.\n\n - Added console message when filtering wallet entries by origin.\n\n - Fixed various typos throughout the codebase.\n\n - Introduced a `generatePaperWallet` function to facilitate paper\n wallet generation.\n - See Paper Wallet Support for more details.\n\n - Significant improvements have been introduced to the balance\n checking system.\n - The `checkBalance` function has been updated.\n\n - Added new functions: `is_valid_currency_code` and `get_price_info`\n\n - See New Balance Checking Features for more details.\n\n - Updated various CLI sub-commands to accommodate the newly added\n features.\n - See Command-line Interface more details.\n\n - Modified the `check_args` function to accommodate changes made to\n the CLI.\n\n - Refactored `decryptWalletEntries` Function:\n - This sub-section documents the modifications and enhancements\n made to the `decryptWalletEntries` function, highlighting\n significant improvements in it's performance, efficiency, and\n code structure.\n - Addressed issues related to code verbosity and structural\n organization.\n\n - Resolved inefficiencies in processing large wallet files.\n\n - Implemented more concise and Pythonic determination of wallet\n type.\n\n - Enhanced the function's capability to handle deterministic\n wallets.\n\n - Refined logic for handling both encrypted and non-encrypted\n wallets.\n\n - Replaced the `pretty` parameter with `to_json`.\n\n - Introduced a nested function `handle_entry_decryption` for\n entry processing.\n\n - Introduced a nested function `filter_entries` for more\n efficient filtering of wallet entries.\n\n - Improved handling of specific scenarios involving sub-commands\n (`balance`, `send`, `generate paperwallet`).\n\n - Improved conditional output formatting based on user input.\n\n - Enhanced the mechanism for sorting and filtering fields in the\n output.\n\n - Removed disorganized address filtering logic.\n\n - Applied address filtering separately to generated and imported\n entries.\n\n - Implemented support for non-JSON output, providing a more\n readable format with clear differentiation between internally\n generated and imported entry types.\n\n - Expanded the use of `DataManipulation.secure_delete`,\n ensuring enhanced data security.\n\n- `wallet_generation_util.py` Changelog:\n - An `is_valid_mnemonic` function has been added to validate mnemonic\n phrases.\n\n- `data_manipulation_util.py` Changelog:\n - A `backup_wallet` method has been added to facilitate backing up\n wallet files.\n\n- `cryptographic_util.py` Changelog:\n - Fixed a none type error in `get_failed_attempts` method.\n\n- New Balance Checking Features:\n - This release of the wallet client introduces significant\n improvements to the balance checking system. It now allows users\n to view the real-world value of their Denaro (DNR) balances.\n Additionally, it introduces the `-convert-to` option in the\n `balance` sub-command, enabling users to view their balances in\n over 161 international currencies or the top 100 cryptocurrencies.\n Detailed technical information about these features are outlined\n below.\n\n - Modified `checkBalance` Function:\n - New function parameters have been introduced:\n - `currency_code`: This parameter is used to specify the\n currency in which the user wants to view the real-world value\n of their DNR balance. Standard currency abbreviations are used\n (e.g., 'USD', 'EUR', 'BTC').\n - If a currency code is not provided or is invalid, USD is\n used by default.\n\n - `currency_symbol`: This parameter represents the symbol of\n the currency (e.g., '$', '€', ect...)\n\n - This function now integrates with the new `get_price_info`\n function to retrieve the current price of DNR in the specified\n currency. This price is then used to calculate the real-world\n value of user balances.\n\n - Improved Balance Information:\n - Now shows the price of the DNR and the equivalent value of\n user balances in the specified currency.\n\n - For JSON outputs, changes have been made to accommodate the\n aforementioned features.\n - Balance data now includes additional fields like:\n `{currency}_value`,`exchange_rate`, `total_balance`, and\n `total_{currency}_value`.\n\n - `is_valid_currency_code` Function (New):\n - This function checks if the user provided currency code exists\n in a pre-defined list of 161 international fiat and top 100\n cryptocurrencies.\n\n - If the currency code is valid, it returns `True` along with the\n currency's symbol. This symbol is used to represent the currency\n in the price and balance information, ensuring readability and\n user familiarity.\n\n - When an unrecognized currency code is provided, the function\n outputs a message indicating the invalidity and defaults to USD.\n It then returns `False` and the symbol for USD (`$`). This\n behavior allows the application to continue operations with a\n standard currency (USD) in case of invalid user input.\n\n - `get_price_info` Function (New):\n - This function is responsible for fetching the current price of\n DNR in USD and converting it to a specified fiat or\n cryptocurrency.\n\n - Initially, it requests the price of DNR in USD from the\n CoinMarketCap API and implements a fallback mechanism using a\n secondary URL in case of primary API failure.\n\n - If the requested `currency_code` is 'USD' (the default option),\n the function immediately returns the USD price.\n\n - When the requested `currency_code` is not 'USD':\n - For fiat currencies, it queries the Open Exchange Rate API to\n obtain exchange rates for fiat currencies against USD. It then\n calculates and returns the price of DNR in the specified fiat\n currency.\n\n - For cryptocurrencies, it queries the Coincap API to obtain\n cryptocurrency exchange rates in USD. It then calculates and\n returns the price of DNR in the specified cryptocurrency.\n\n - If all API requests fail then the price of DNR will return 0.\n\n- Paper Wallet Support:\n - The wallet client now includes support for paper wallet\n generation, providing a secure and physical way to store Denaro.\n This release introduces two key components: a new module\n `paper_wallet_util.py` and a new function `generatePaperWallet` in\n `wallet_client.py`. The technical details and file storage\n mechanism of these new additions are outlined below.\n\n - Introduced a new `paper_wallet_util.py` module has been added to\n facilitate the creation of Denaro paper wallets. The module\n includes a `PaperWalletGenerator` class with two methods:\n - `generate_qr_code`: Generates a QR code for a given data string.\n Utilizes the qrcode library to create QR codes with specific\n properties such as error correction level and box size.\n\n - `overlay_qr_code`: Overlays the generated QR codes for the\n private key and public address onto a predefined paper wallet\n template. It includes image manipulation such as resizing QR\n codes, converting images to RGBA format, drawing scaled and\n rotated text for private key and address, and pasting QR codes at\n specified positions on the paper wallet template.\n\n - The front and back images used for the paper wallet template are\n located in the `./denaro/wallet/` directory.\n\n - Introduced a new `generatePaperWallet` function to\n `wallet_client.py`. This function orchestrates the paper wallet\n generation process. It's primary operations are listed below:\n - Retrieves address and private key data using the new\n `get_address_and_private_key` function.\n\n - Uses the `paper_wallet_util.py` module which processes address\n and private key data to generate the corresponding QR codes, and\n final paper wallet image.\n\n - Includes directory and file existence checks, and creates the\n necessary file paths for paper wallets. If an address\n\n - Depending on the `file_type` parameter, the function will\n create either a single PNG image for the front side of a paper\n wallet, or a PDF file which includes the front of the paper\n wallet on the first page and the back design on the second page.\n\n - For PDF files, it processes images for transparency, scales\n them to fit the letter page size, and organizes the layout for\n front and back pages.\n\n - Implements secure deletion of local variables and error\n handling to maintain data security and integrity throughout the\n process.\n\n - Ensures temporary file clean-up and proper saving of the final\n output, with console notifications about the wallet generation\n status.\n\n- Paper Wallet Storage:\n - The `generatePaperWallet` function features an organized mechanism\n for managing the storage and naming of generated paper wallets. This\n mechanism ensures that paper wallets are not only stored in an\n orderly manner but also named in a way that makes them easily\n identifiable and accessible. Detailed below is how the storage\n mechanism operates:\n - When Specifying an Address from a Wallet File:\n - Directory Creation:\n - A dedicated directory is created in\n `./wallets/paper_wallets`. This directory is named after the\n wallet file ( `./wallets/paper_wallets/[WALLET NAME]`). This\n dedicated directory segregates paper wallets based on their\n corresponding wallet files.\n\n - File Naming Convention:\n - Generated paper wallet files are distinctly named according\n to the specified address.\n - PNG files are name as: `[ADDRESS]_paper_wallet_front.png`\n - PDF files as `[ADDRESS]_paper_wallet.pdf.`\n\n - When Only a Private Key is Specified:\n - Centralized Storage:\n - In this scenario, the paper wallet is directly stored in the\n `./wallets/paper_wallets` directory, simplifying the storage\n process when no wallet file is involved.\n\n - Consistent Naming Scheme:\n - The naming convention for paper wallets generated from a\n private key mirrors the approach used for wallet file\n addresses. However, the [ADDRESS] in the file names is is\n derived directly from the provided private key, maintaining\n consistency across both scenarios.","shortMessageHtmlLink":"Major Update to the Wallet Client"}},{"before":"68467a8aefc9a2afcf53dc327b1181571fc0bb20","after":"6f387d6691c9ddea51b40e22f392f0b486c3445a","ref":"refs/heads/main","pushedAt":"2024-01-05T05:21:58.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"The-Sycorax","name":"The Sycorax","path":"/The-Sycorax","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/70348517?s=80&v=4"},"commit":{"message":"Update README.md","shortMessageHtmlLink":"Update README.md"}},{"before":"73d7d66599f94ab8181d3582bc4b7f726026b340","after":"68467a8aefc9a2afcf53dc327b1181571fc0bb20","ref":"refs/heads/main","pushedAt":"2024-01-05T05:16:48.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"The-Sycorax","name":"The Sycorax","path":"/The-Sycorax","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/70348517?s=80&v=4"},"commit":{"message":"Update README.md","shortMessageHtmlLink":"Update README.md"}},{"before":"8757b0af338e4d1c6d3a8aa008b1e53d8499f9b3","after":"73d7d66599f94ab8181d3582bc4b7f726026b340","ref":"refs/heads/main","pushedAt":"2024-01-05T03:51:57.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"The-Sycorax","name":"The Sycorax","path":"/The-Sycorax","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/70348517?s=80&v=4"},"commit":{"message":"Update README.md","shortMessageHtmlLink":"Update README.md"}},{"before":"6f396d00e95f0a951a6caeeefaa56193f5476fdd","after":"8757b0af338e4d1c6d3a8aa008b1e53d8499f9b3","ref":"refs/heads/main","pushedAt":"2024-01-05T03:35:41.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"The-Sycorax","name":"The Sycorax","path":"/The-Sycorax","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/70348517?s=80&v=4"},"commit":{"message":"Updated README.md","shortMessageHtmlLink":"Updated README.md"}},{"before":"d207f2b4618ad227d47e8f1448eab1b544a26888","after":"6f396d00e95f0a951a6caeeefaa56193f5476fdd","ref":"refs/heads/main","pushedAt":"2024-01-05T03:34:17.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"The-Sycorax","name":"The Sycorax","path":"/The-Sycorax","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/70348517?s=80&v=4"},"commit":{"message":"Updated README.md","shortMessageHtmlLink":"Updated README.md"}},{"before":"226159e1d70be739e59c8f66a199fe87c8cf3022","after":"d207f2b4618ad227d47e8f1448eab1b544a26888","ref":"refs/heads/main","pushedAt":"2024-01-05T02:57:20.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"The-Sycorax","name":"The Sycorax","path":"/The-Sycorax","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/70348517?s=80&v=4"},"commit":{"message":"Updated README.md","shortMessageHtmlLink":"Updated README.md"}},{"before":"d12995fd471ea41ddcd2fbe8f3c1a88c5c4b1f5e","after":"226159e1d70be739e59c8f66a199fe87c8cf3022","ref":"refs/heads/main","pushedAt":"2024-01-05T02:55:00.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"The-Sycorax","name":"The Sycorax","path":"/The-Sycorax","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/70348517?s=80&v=4"},"commit":{"message":"Update README.md","shortMessageHtmlLink":"Update README.md"}},{"before":"c1d7d5af007ba94812c096b913ab10d990d1d416","after":"d12995fd471ea41ddcd2fbe8f3c1a88c5c4b1f5e","ref":"refs/heads/main","pushedAt":"2024-01-05T02:51:39.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"The-Sycorax","name":"The Sycorax","path":"/The-Sycorax","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/70348517?s=80&v=4"},"commit":{"message":"Updated README.md","shortMessageHtmlLink":"Updated README.md"}},{"before":"a4e8d77d5769df52dc6ae7ebffff545f17fb151c","after":"c1d7d5af007ba94812c096b913ab10d990d1d416","ref":"refs/heads/main","pushedAt":"2024-01-05T02:49:48.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"The-Sycorax","name":"The Sycorax","path":"/The-Sycorax","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/70348517?s=80&v=4"},"commit":{"message":"Updated README.md","shortMessageHtmlLink":"Updated README.md"}},{"before":"1a1435495c78c71b2c70187a60c0ec16af051d3b","after":"a4e8d77d5769df52dc6ae7ebffff545f17fb151c","ref":"refs/heads/main","pushedAt":"2024-01-05T02:47:21.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"The-Sycorax","name":"The Sycorax","path":"/The-Sycorax","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/70348517?s=80&v=4"},"commit":{"message":"Updated README.md\n\nRemoved the original description for the repo.\n\nAdded an `Introduction` to breifly explain in what the Denaro Wallet\nClient is, along with it's functionalities.\n\nAdded `Wallet Security Framework` section which accurately and\neffectively highlights the security-centric architecture and encryption\nmethodology of the wallet client.","shortMessageHtmlLink":"Updated README.md"}},{"before":"3f69d4682a9361326695e8ae4802c4dac5be94ca","after":"1a1435495c78c71b2c70187a60c0ec16af051d3b","ref":"refs/heads/main","pushedAt":"2024-01-04T22:05:34.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"The-Sycorax","name":"The Sycorax","path":"/The-Sycorax","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/70348517?s=80&v=4"},"commit":{"message":"Updated README.md","shortMessageHtmlLink":"Updated README.md"}},{"before":"3f1a4c231137541c5b47ed4b33de4a3fe31040c9","after":"3f69d4682a9361326695e8ae4802c4dac5be94ca","ref":"refs/heads/main","pushedAt":"2024-01-04T22:01:11.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"The-Sycorax","name":"The Sycorax","path":"/The-Sycorax","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/70348517?s=80&v=4"},"commit":{"message":"Updated README.md","shortMessageHtmlLink":"Updated README.md"}},{"before":"95333bac81db41ce722482aa0647ba12d7cc4156","after":"3f1a4c231137541c5b47ed4b33de4a3fe31040c9","ref":"refs/heads/main","pushedAt":"2024-01-04T19:07:00.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"The-Sycorax","name":"The Sycorax","path":"/The-Sycorax","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/70348517?s=80&v=4"},"commit":{"message":"Updated README.md","shortMessageHtmlLink":"Updated README.md"}},{"before":"9bcb5e07be3224622371044bd4b0b8ed7f8bdd1a","after":"95333bac81db41ce722482aa0647ba12d7cc4156","ref":"refs/heads/main","pushedAt":"2024-01-04T18:55:16.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"The-Sycorax","name":"The Sycorax","path":"/The-Sycorax","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/70348517?s=80&v=4"},"commit":{"message":"Updated README.md","shortMessageHtmlLink":"Updated README.md"}},{"before":"50a8f4ed60a54f74098d56a028f4021af26ac4d3","after":"9bcb5e07be3224622371044bd4b0b8ed7f8bdd1a","ref":"refs/heads/main","pushedAt":"2024-01-04T18:36:32.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"The-Sycorax","name":"The Sycorax","path":"/The-Sycorax","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/70348517?s=80&v=4"},"commit":{"message":"Updated README.md\n\nFor better navigation, sub-command usage information have now been moved\ninside of spoilers.","shortMessageHtmlLink":"Updated README.md"}},{"before":"63fc6a0ff4a227e6c60a2fd6aac909ba6b9158df","after":"50a8f4ed60a54f74098d56a028f4021af26ac4d3","ref":"refs/heads/main","pushedAt":"2024-01-04T17:48:52.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"The-Sycorax","name":"The Sycorax","path":"/The-Sycorax","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/70348517?s=80&v=4"},"commit":{"message":"Updated README.md\n\nAdded warning in `Usage Examples>Importing a Wallet Entry`\nabout the risks of directly specifying a private key.","shortMessageHtmlLink":"Updated README.md"}},{"before":"fb8446edbf62c0628b86e50229fa814043dcedf7","after":"63fc6a0ff4a227e6c60a2fd6aac909ba6b9158df","ref":"refs/heads/main","pushedAt":"2024-01-04T17:40:50.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"The-Sycorax","name":"The Sycorax","path":"/The-Sycorax","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/70348517?s=80&v=4"},"commit":{"message":"Updated README.md\n\nFor better readability, I removed the Denaro addresses from\n`Usage Examples>Wallet Decryption with Filtering>Filtering Examples`.","shortMessageHtmlLink":"Updated README.md"}},{"before":"44f05588e5203712c741f0d80906d1957ac5738a","after":"fb8446edbf62c0628b86e50229fa814043dcedf7","ref":"refs/heads/main","pushedAt":"2024-01-04T17:23:49.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"The-Sycorax","name":"The Sycorax","path":"/The-Sycorax","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/70348517?s=80&v=4"},"commit":{"message":"Updated README.md\n\nReformated `Usage Documentation` for better readability and navigation.","shortMessageHtmlLink":"Updated README.md"}},{"before":"3cbe2a8c276bcaf60585e9c2e976993c0fd2f604","after":"44f05588e5203712c741f0d80906d1957ac5738a","ref":"refs/heads/main","pushedAt":"2024-01-04T17:05:02.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"The-Sycorax","name":"The Sycorax","path":"/The-Sycorax","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/70348517?s=80&v=4"},"commit":{"message":"Updated README.md\n\nMoved description for the `Command-Line Interface` section of\n`Usage Documentation` outside of spoiler.","shortMessageHtmlLink":"Updated README.md"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEM5bhjgA","startCursor":null,"endCursor":null}},"title":"Activity · The-Sycorax/DenaroWalletClient"}