diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md deleted file mode 100644 index cff4f548b79d..000000000000 --- a/.github/ISSUE_TEMPLATE.md +++ /dev/null @@ -1,39 +0,0 @@ - - -This issue tracker is only for technical issues related to Dash Core. - -General Dash questions and/or support requests and are best directed to the [Dashpay Reddit](https://www.reddit.com/r/dashpay/). - -To report critical security issues, email infosec@dash.org and/or see the DASH bug bounty program on [Bugcrowd](https://bugcrowd.com/dashdigitalcash) instead of creating Github issues. - -### Describe the issue - -### Can you reliably reproduce the issue? -#### If so, please list the steps to reproduce below: -1. -2. -3. - -### Expected behaviour -Tell us what should happen - -### Actual behaviour -Tell us what happens instead - -### Screenshots. -If the issue is related to the GUI, screenshots can be added to this issue via drag & drop. - -### What version of Dash Core are you using? -List the version number/commit ID, and if it is an official binary, self compiled or a distribution package such as PPA. - -### Machine specs: -- OS: -- CPU: -- RAM: -- Disk size: -- Disk Type (HD/SDD): - -### For the GUI-related issue on Linux provide names and versions of a distro, a desktop environment and a graphical shell (if relevant). - -### Any extra information that might be useful in the debugging process. -This is normally the contents of a `debug.log` or `config.log` file. Raw text or a link to a pastebin type site are preferred. diff --git a/.github/ISSUE_TEMPLATE/bug.yml b/.github/ISSUE_TEMPLATE/bug.yml new file mode 100644 index 000000000000..bd23eee160a5 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug.yml @@ -0,0 +1,92 @@ +name: Bug report +description: Submit a new bug report. +labels: [bug] +body: + - type: markdown + attributes: + value: | + ## This issue tracker is only for technical issues related to Dash Core. + + * General Dash questions and/or support requests are best directed to the Dash Forum at https://www.dash.org/forum/. + * For reporting security issues, please read instructions at https://github.com/dashpay/dash/blob/master/SECURITY.md. + * If the node is "stuck" during sync or giving "block checksum mismatch" errors, please ensure your hardware is stable by running `memtest` and observe CPU temperature with a load-test tool such as `linpack` before creating an issue. + + ---- + - type: checkboxes + attributes: + label: Is there an existing issue for this? + description: Please search to see if an issue already exists for the bug you encountered. + options: + - label: I have searched the existing issues + required: true + - type: textarea + id: current-behaviour + attributes: + label: Current behaviour + description: Tell us what went wrong + validations: + required: true + - type: textarea + id: expected-behaviour + attributes: + label: Expected behaviour + description: Tell us what you expected to happen + validations: + required: true + - type: textarea + id: reproduction-steps + attributes: + label: Steps to reproduce + description: | + Tell us how to reproduce your bug. Please attach related screenshots if necessary. + * Run-time or compile-time configuration options + * Actions taken + validations: + required: true + - type: textarea + id: logs + attributes: + label: Relevant log output + description: | + Please copy and paste any relevant log output or attach a debug log file. + + You can find the debug.log in your [data dir.](https://github.com/dashpay/dash/blob/master/doc/files.md#data-directory-location) + + Please be aware that the debug log might contain personally identifying information. + validations: + required: false + - type: dropdown + attributes: + label: How did you obtain Dash Core + multiple: false + options: + - Compiled from source + - Pre-built binaries + - Package manager + - Other + validations: + required: true + - type: input + id: core-version + attributes: + label: What version of Dash Core are you using? + description: Run `dashd --version` or in Dash-Qt use `Help > About Dash Core` + placeholder: e.g. v23.1.9 or develop@f7450ed + validations: + required: true + - type: input + id: os + attributes: + label: Operating system and version + placeholder: e.g. "MacOS Ventura 13.2" or "Ubuntu 22.04 LTS" + validations: + required: true + - type: textarea + id: machine-specs + attributes: + label: Machine specifications + description: | + What are the specifications of the host machine? + e.g. OS/CPU and disk type, network connectivity + validations: + required: false diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md deleted file mode 100644 index 743d08d4f96a..000000000000 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ /dev/null @@ -1,41 +0,0 @@ ---- -name: Bug report -about: Create a report to help us improve (use this for suspected bugs only, if not sure, open a regular issue below) -title: '' -labels: Bug -assignees: '' - ---- - - - - - -**Expected behavior** - - - -**Actual behavior** - - - -**To reproduce** - - - -**System information** - - - - - - - - - diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 000000000000..f124a3469164 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,8 @@ +blank_issues_enabled: true +contact_links: + - name: Dash Core Security Policy + url: https://github.com/dashpay/dash/blob/master/SECURITY.md + about: View security policy + - name: Dash Forum + url: https://www.dash.org/forum/ + about: General Dash questions and support requests diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md deleted file mode 100644 index 2d5685185ea3..000000000000 --- a/.github/ISSUE_TEMPLATE/feature_request.md +++ /dev/null @@ -1,20 +0,0 @@ ---- -name: Feature request -about: Suggest an idea for this project -title: '' -labels: Feature -assignees: '' - ---- - -**Is your feature request related to a problem? Please describe.** - - -**Describe the solution you'd like** - - -**Describe alternatives you've considered** - - -**Additional context** - diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml new file mode 100644 index 000000000000..7fc723cf68ca --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.yml @@ -0,0 +1,36 @@ +name: Feature Request +description: Suggest an idea for this project. +labels: [enhancement] +body: + - type: textarea + id: feature + attributes: + label: Please describe the feature you'd like to see added. + description: Attach screenshots or logs if applicable. + validations: + required: true + - type: textarea + id: related-problem + attributes: + label: Is your feature related to a problem, if so please describe it. + description: Attach screenshots or logs if applicable. + validations: + required: false + - type: textarea + id: solution + attributes: + label: Describe the solution you'd like + validations: + required: false + - type: textarea + id: alternatives + attributes: + label: Describe any alternatives you've considered + validations: + required: false + - type: textarea + id: additional-context + attributes: + label: Please leave any additional context + validations: + required: false diff --git a/.github/ISSUE_TEMPLATE/good_first_issue.md b/.github/ISSUE_TEMPLATE/good_first_issue.md deleted file mode 100644 index 42d7cbbbed10..000000000000 --- a/.github/ISSUE_TEMPLATE/good_first_issue.md +++ /dev/null @@ -1,22 +0,0 @@ ---- -name: Good first issue -about: '(Regular devs only): Suggest a new good first issue' -title: '' -labels: '' -assignees: '' - ---- - - - - - - - -#### Useful skills: - - - -#### Want to work on this issue? - -For guidance on contributing, please read [CONTRIBUTING.md](https://github.com/dashpay/dash/blob/master/CONTRIBUTING.md) before opening your pull request. diff --git a/.github/ISSUE_TEMPLATE/good_first_issue.yml b/.github/ISSUE_TEMPLATE/good_first_issue.yml new file mode 100644 index 000000000000..a13cc4bafe25 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/good_first_issue.yml @@ -0,0 +1,41 @@ +name: Good First Issue +description: (Regular devs only) Suggest a new good first issue +labels: [Good First Issue] +body: + - type: markdown + attributes: + value: | + Please add the label "Good First Issue" manually before or after opening + + A good first issue is an uncontroversial issue, that has a relatively unique and obvious solution + + Motivate the issue and explain the solution briefly + - type: textarea + id: motivation + attributes: + label: Motivation + description: Motivate the issue + validations: + required: true + - type: textarea + id: solution + attributes: + label: Possible solution + description: Describe a possible solution + validations: + required: false + - type: textarea + id: useful-skills + attributes: + label: Useful Skills + description: For example, “`std::thread`”, “Qt5 GUI and async GUI design” or “basic understanding of Dash masternodes and the Dash Core RPC interface”. + validations: + required: false + - type: textarea + attributes: + label: Guidance for new contributors + description: Please leave this to automatically add the footer for new contributors + value: | + Want to work on this issue? + + For guidance on contributing, please read [CONTRIBUTING.md](https://github.com/dashpay/dash/blob/master/CONTRIBUTING.md) before opening your pull request. diff --git a/contrib/seeds/README.md b/contrib/seeds/README.md index 7453fe7626de..62543163779f 100644 --- a/contrib/seeds/README.md +++ b/contrib/seeds/README.md @@ -4,7 +4,7 @@ Utility to generate the seeds.txt list that is compiled into the client (see [src/chainparamsseeds.h](/src/chainparamsseeds.h) and other utilities in [contrib/seeds](/contrib/seeds)). The seeds compiled into the release are created from the current protx list and AS map -data, like this: +data. Run the following commands from the `/contrib/seeds` directory: ```bash dash-cli protx list valid true 2563000 > protx_list.json @@ -18,7 +18,7 @@ do nc -v -x 127.0.0.1:9050 -z $address $port done < "onion_seeds.txt" -python3 makeseeds.py -a asmap-filled.dat protx_list.json onion_seeds.txt > nodes_main.txt +python3 makeseeds.py -a asmap-filled.dat -p protx_list.json -o onion_seeds.txt > nodes_main.txt python3 generate-seeds.py . > ../../src/chainparamsseeds.h ``` diff --git a/contrib/seeds/asmap.py b/contrib/seeds/asmap.py index 7a605d0b9e2d..e28e5cf532e9 100644 --- a/contrib/seeds/asmap.py +++ b/contrib/seeds/asmap.py @@ -168,7 +168,7 @@ class _Instruction(Enum): # Not an actual instruction, but a way to encode the empty program that fails. In the # encoder, it is used more generally to represent the failure case inside MATCH instructions, # which may (if used inside the context of a DEFAULT instruction) actually correspond to - # a succesful return. In this usage, they're always converted to an actual MATCH or RETURN + # a successful return. In this usage, they're always converted to an actual MATCH or RETURN # before the top level is reached (see make_default below). END = 4 diff --git a/contrib/seeds/makeseeds.py b/contrib/seeds/makeseeds.py index bc4fd4f92c51..0c8f93766801 100755 --- a/contrib/seeds/makeseeds.py +++ b/contrib/seeds/makeseeds.py @@ -154,8 +154,8 @@ def ip_stats(ips: List[Dict]) -> str: def parse_args(): argparser = argparse.ArgumentParser(description='Generate a list of dash node seed ip addresses.') argparser.add_argument("-a","--asmap", help='the location of the asmap asn database file (required)', required=True) - argparser.add_argument("protx_list", nargs='?', help='json as outputted by "protx list valid 1" (default: stdin)') - argparser.add_argument("onion_seeds", nargs='?', help='file with onion seeds, one per line') + argparser.add_argument("-p","--protx", help='the location of the protx list file, json as outputted by "protx list valid 1" (required)', required=True) + argparser.add_argument("-o","--onion", help='the location of the onion seeds file, one per line (optional)') return argparser.parse_args() def main(): @@ -166,16 +166,14 @@ def main(): asmap = ASMap.from_binary(f.read()) print('Done.', file=sys.stderr) - # This expects a json as outputted by "protx list valid 1" - if args.protx_list is not None: - with open(args.protx_list, 'r', encoding="utf8") as f: - mns = json.load(f) - else: - mns = json.load(sys.stdin) + print(f'Loading and parsing protx list "{args.protx}"…', end='', file=sys.stderr, flush=True) + with open(args.protx, 'r', encoding="utf8") as f: + mns = json.load(f) + print('Done.', file=sys.stderr) onions = [] - if args.onion_seeds is not None: - with open(args.onion_seeds, 'r', encoding="utf8") as f: + if args.onion is not None: + with open(args.onion, 'r', encoding="utf8") as f: onions = f.read().split('\n') print(f'Total mns: {len(mns)}', file=sys.stderr)