diff --git a/.gitignore b/.gitignore deleted file mode 100644 index c6bba59..0000000 --- a/.gitignore +++ /dev/null @@ -1,130 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -lerna-debug.log* -.pnpm-debug.log* - -# Diagnostic reports (https://nodejs.org/api/report.html) -report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json - -# Runtime data -pids -*.pid -*.seed -*.pid.lock - -# Directory for instrumented libs generated by jscoverage/JSCover -lib-cov - -# Coverage directory used by tools like istanbul -coverage -*.lcov - -# nyc test coverage -.nyc_output - -# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) -.grunt - -# Bower dependency directory (https://bower.io/) -bower_components - -# node-waf configuration -.lock-wscript - -# Compiled binary addons (https://nodejs.org/api/addons.html) -build/Release - -# Dependency directories -node_modules/ -jspm_packages/ - -# Snowpack dependency directory (https://snowpack.dev/) -web_modules/ - -# TypeScript cache -*.tsbuildinfo - -# Optional npm cache directory -.npm - -# Optional eslint cache -.eslintcache - -# Optional stylelint cache -.stylelintcache - -# Microbundle cache -.rpt2_cache/ -.rts2_cache_cjs/ -.rts2_cache_es/ -.rts2_cache_umd/ - -# Optional REPL history -.node_repl_history - -# Output of 'npm pack' -*.tgz - -# Yarn Integrity file -.yarn-integrity - -# dotenv environment variable files -.env -.env.development.local -.env.test.local -.env.production.local -.env.local - -# parcel-bundler cache (https://parceljs.org/) -.cache -.parcel-cache - -# Next.js build output -.next -out - -# Nuxt.js build / generate output -.nuxt -dist - -# Gatsby files -.cache/ -# Comment in the public line in if your project uses Gatsby and not Next.js -# https://nextjs.org/blog/next-9-1#public-directory-support -# public - -# vuepress build output -.vuepress/dist - -# vuepress v2.x temp and cache directory -.temp -.cache - -# Docusaurus cache and generated files -.docusaurus - -# Serverless directories -.serverless/ - -# FuseBox cache -.fusebox/ - -# DynamoDB Local files -.dynamodb/ - -# TernJS port file -.tern-port - -# Stores VSCode versions used for testing VSCode extensions -.vscode-test - -# yarn v2 -.yarn/cache -.yarn/unplugged -.yarn/build-state.yml -.yarn/install-state.gz -.pnp.* diff --git a/LICENSE b/LICENSE deleted file mode 100644 index 39b9c3b..0000000 --- a/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2023 XDC.Network - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/README.md b/README.md index 5d90f7b..4908bec 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,41 @@ -# DC-EBC-Hackathon -DC-EBC-Hackathon +# XDC Telegram tip bot, wallet included + +## Quick setup +- pip install py-solc-x web3 cryptography python-telegram-bot +- change 'tg-token' with your telegram bot token +- python main.py + +## Description + +This bot allows you to create a wallet (or import an existing one), it will encrypt the private +key with the password given by the user for security. It allows to tip XDC to telegram users by +replying to their messages with the command '/tip '. + +Every transaction requieres the user to give the password to the bot in a private chat. + +Additionally, it allows to start a fundraising campaign by pre-compiling and deploying a smart contract +through the /fundraise command. + +The user should announce in any chat his ongoing campaign with the /announce command. + +Anyone can then send funds to the smart contract and withdraw in case of failure, or transfer to the beneficiary in case of a successful campaign. + +Incoming features are the ability to interact with the campaign within the telegram chat. + +Command list: ++ (P: private command. G: group command. B: both) ++ B- /start: starts the bot ++ P- /newwallet: Create or import a new wallet ++ P- /mywallet: See address and balance of your wallet ++ P- /secret: See you private key after inputing your password ++ P- /withdraw: withdraw all or part of your balance to a different address ++ G- /tip: Reply to someone's group message with /tip [amount] to invoke the tipping process ++ P- /fundraise: Start the fundraise creation process, and deploy the smart contract with the argumnts given ++ G- /announce: /announce [description] to publicly announce the fundraiser through the bot + +PENDING ++ - /fund: Reply to a fundraising announcement with /fund [amount] and, after inputting your pass in private, it will send the funds. + +## Links ++ [Public code Repository](https://github.com/BonifacioCalindoro/EBC-XDC-Hackathon) ++ [Publicly accessible demo for the bot](https://t.me/janlibtesting2bot)