{"id":21744040,"url":"https://github.com/telefonica/crazytoolbox","last_synced_at":"2025-04-13T05:08:08.234Z","repository":{"id":190138488,"uuid":"677306889","full_name":"Telefonica/CrazyToolBox","owner":"Telefonica","description":"A web3 utilities toolbox","archived":false,"fork":false,"pushed_at":"2023-08-11T12:36:17.000Z","size":574,"stargazers_count":9,"open_issues_count":0,"forks_count":2,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-04-13T05:08:03.177Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Telefonica.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2023-08-11T08:41:17.000Z","updated_at":"2023-10-29T19:06:14.000Z","dependencies_parsed_at":"2023-08-23T12:07:52.804Z","dependency_job_id":null,"html_url":"https://github.com/Telefonica/CrazyToolBox","commit_stats":null,"previous_names":["telefonica/crazytoolbox"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Telefonica%2FCrazyToolBox","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Telefonica%2FCrazyToolBox/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Telefonica%2FCrazyToolBox/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Telefonica%2FCrazyToolBox/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Telefonica","download_url":"https://codeload.github.com/Telefonica/CrazyToolBox/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248665747,"owners_count":21142123,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-26T07:09:49.582Z","updated_at":"2025-04-13T05:08:08.213Z","avatar_url":"https://github.com/Telefonica.png","language":"Python","readme":"\u003ch1 align=\"center\"\u003eCrazyToolBox\u003c/h1\u003e\n\n#### Table of contents\n\n- [📢 What is _CrazyToolBox_?](#-what-is-crazytoolbox)\n- [⚙️ Execution](#️-execution)\n- [⭐ Current features](#-current-features)\n\n\u003c/br\u003e\n\n## 📢 What is _CrazyToolBox_?\n\n_CrazyToolBox_ is a collection of usefult tools relative to Web3. These tools can be accessed through a GUI using the _CrazyToolBox_ application.\n\nWe will be adding new tools to the _CrazyToolBox_ as we develop them. For now, the tools available are described below in the [Current features](#-current-features) section.\n\n\u003cdiv align=\"center\"\u003e\n    \u003cimg src=\"./view/GUI.gif\" alt=\"GUI\" width=\"700\"/\u003e\n\u003c/div\u003e\n\n## ⚙️ Execution\n\n_CrazyToolBox_ can be executed using `pipenv`. First, you must install `pipenv`. Then, on the root directory of the project, the dependencies are installed and the virtual environment is activated:\n\n```bash\npipenv install\npipenv shell\n```\n\nFinally, the toolkit can be executed by running:\n\n```bash\npython main.py\n```\n\n## ⭐ Current features\n\n\u003cdetails\u003e\n    \u003csummary\u003eWei Converter\u003c/summary\u003e\n    \u003cp\u003eConverts between Wei, Gwei, Ether and other Ethereum units with our advanced mode (2 modes available). Supports until 30 floating point decimals.\u003c/p\u003e\n    \u003cdiv align=\"center\"\u003e\n        \u003cimg src=\"./view/wei_converter.png\" alt=\"Wei Converter GUI\" width=\"500\"/\u003e\n        \u003cimg src=\"./view/wei_converter2.png\" alt=\"Wei Converter GUI 2\" width=\"500\"/\u003e\n    \u003c/div\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n    \u003csummary\u003eFunction selector encoder\u003c/summary\u003e\n    \u003cp\u003eEncodes a function selector from a function name and its parameters or from a function signature. (2 modes available)\u003c/p\u003e\n    \u003cdiv align=\"center\"\u003e\n        \u003cimg src=\"./view/function_selector_encoder.png\" alt=\"Function selector encoder GUI\" width=\"500\"/\u003e\n        \u003cimg src=\"./view/function_selector_encoder2.png\" alt=\"Function selector encoder GUI 2\" width=\"500\"/\u003e\n    \u003c/div\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n    \u003csummary\u003eFunction selector decoder\u003c/summary\u003e\n    \u003cp\u003eDecodes a function selector to a function signature (thanks to \u003ca href=\"https://www.4byte.directory/\"\u003e4byte.directory\u003c/a\u003e open API).\u003c/p\u003e\n    \u003cdiv align=\"center\"\u003e\n        \u003cimg src=\"./view/function_selector_decoder.png\" alt=\"Function selector decoder GUI\" width=\"500\"/\u003e\n    \u003c/div\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n    \u003csummary\u003eTransaction input decoder\u003c/summary\u003e\n    \u003cp\u003eDecodes the input of a transaction to a function signature and its parameters without the need of the ABI.\u003c/p\u003e\n    \u003cdiv align=\"center\"\u003e\n        \u003cimg src=\"./view/transaction_input_decoder.png\" alt=\"Transaction input decoder GUI\" width=\"500\"/\u003e\n    \u003c/div\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n    \u003csummary\u003eKeccak256 hash calculator\u003c/summary\u003e\n    \u003cp\u003eCalculates the Keccak256 hash of a string.\u003c/p\u003e\n    \u003cdiv align=\"center\"\u003e\n        \u003cimg src=\"./view/keccak256_hash.png\" alt=\"Keccak256 hash calculator GUI\" width=\"500\"/\u003e\n    \u003c/div\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n    \u003csummary\u003eEIP55 validator\u003c/summary\u003e\n    \u003cp\u003eValidates if an Ethereum address is EIP55 compliant. Also checks if the checksum is correct, if not, fixes it and returns the correct address.\u003c/p\u003e\n    \u003cdiv align=\"center\"\u003e\n        \u003cimg src=\"./view/eip55_validator.png\" alt=\"EIP55 validator GUI\" width=\"500\"/\u003e\n    \u003c/div\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n    \u003csummary\u003eSignature owner\u003c/summary\u003e\n    \u003cp\u003eReturns the owner of a signature. To use it, you must provide the signature and the message (or hash) that was signed.\u003c/p\u003e\n    \u003cdiv align=\"center\"\u003e\n        \u003cimg src=\"./view/signature_owner.png\" alt=\"Signature owner GUI\" width=\"500\"/\u003e\n    \u003c/div\u003e\n\u003c/details\u003e\n\n\u003cdiv align=\"center\"\u003e\n    \u003cb\u003e Stay tuned for more features! \u003c/b\u003e\n\u003c/div\u003e\n\n\u003c/br\u003e\n\u003chr\u003e\n\u003c/br\u003e\n\n\u003cdiv align=\"center\"\u003e\n    This software doesn't have a QA process and is a Proof of Concept.\n    \u003c/br\u003e\n    If you have any problems, you can contact: \u003ca href=\"mailto:ideaslocas@telefonica.com\"\u003eideaslocas@telefonica.com\u003c/a\u003e\n\u003c/div\u003e\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftelefonica%2Fcrazytoolbox","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftelefonica%2Fcrazytoolbox","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftelefonica%2Fcrazytoolbox/lists"}