From e4e30d502c86ca946d66386d1efdba55d116dcb1 Mon Sep 17 00:00:00 2001 From: Supa Date: Fri, 29 May 2026 03:52:04 +0200 Subject: [PATCH] feat: [Tutorial] Witnesses in Depth: Patterns, Types, and Real Use --- .envrc | 4 - .github/ISSUE_TEMPLATE/bug-report.yml | 70 ------ .github/ISSUE_TEMPLATE/config.yml | 5 - .github/ISSUE_TEMPLATE/content-bounty.yml | 92 -------- .github/ISSUE_TEMPLATE/content-proposal.yml | 54 ----- .github/ISSUE_TEMPLATE/dapp-proposal.yml | 98 --------- .github/ISSUE_TEMPLATE/enhancement.yml | 63 ------ .../pull_request_template.md | 26 --- .github/dependabot.yml | 38 ---- .github/workflows/add-to-project.yml | 20 -- .github/workflows/auto-prioritize-issues.yml | 85 -------- .github/workflows/bounty-notifications.yml | 45 ---- .github/workflows/popular-issues.yaml | 80 ------- .github/workflows/scan.yaml | 30 --- .github/workflows/setup-priority-labels.yml | 55 ----- .github/workflows/triage-move.yaml | 27 --- CHANGELOG.md | 8 - CODEOWNERS | 10 - CODE_OF_CONDUCT.md | 43 ---- CONTRIBUTING.md | 69 ------ Events/README.md | 33 --- Events/hacktoberfest/README.md | 63 ------ Events/hacktoberfest/bochaco.md | 19 -- LICENSE | 201 ------------------ README.md | 107 ---------- SECURITY.md | 66 ------ legal/BOUNTY_TERMS.md | 66 ------ legal/CONTRIBUTOR_AGREEMENT.md | 58 ----- renovate.json | 6 - supa_solution.md | 71 +++++++ 30 files changed, 71 insertions(+), 1541 deletions(-) delete mode 100644 .envrc delete mode 100644 .github/ISSUE_TEMPLATE/bug-report.yml delete mode 100644 .github/ISSUE_TEMPLATE/config.yml delete mode 100644 .github/ISSUE_TEMPLATE/content-bounty.yml delete mode 100644 .github/ISSUE_TEMPLATE/content-proposal.yml delete mode 100644 .github/ISSUE_TEMPLATE/dapp-proposal.yml delete mode 100644 .github/ISSUE_TEMPLATE/enhancement.yml delete mode 100644 .github/PULL_REQUEST_TEMPLATE/pull_request_template.md delete mode 100644 .github/dependabot.yml delete mode 100644 .github/workflows/add-to-project.yml delete mode 100644 .github/workflows/auto-prioritize-issues.yml delete mode 100644 .github/workflows/bounty-notifications.yml delete mode 100644 .github/workflows/popular-issues.yaml delete mode 100644 .github/workflows/scan.yaml delete mode 100644 .github/workflows/setup-priority-labels.yml delete mode 100644 .github/workflows/triage-move.yaml delete mode 100644 CHANGELOG.md delete mode 100644 CODEOWNERS delete mode 100644 CODE_OF_CONDUCT.md delete mode 100644 CONTRIBUTING.md delete mode 100644 Events/README.md delete mode 100644 Events/hacktoberfest/README.md delete mode 100644 Events/hacktoberfest/bochaco.md delete mode 100644 LICENSE delete mode 100644 README.md delete mode 100644 SECURITY.md delete mode 100644 legal/BOUNTY_TERMS.md delete mode 100644 legal/CONTRIBUTOR_AGREEMENT.md delete mode 100644 renovate.json create mode 100644 supa_solution.md diff --git a/.envrc b/.envrc deleted file mode 100644 index 6e8284c..0000000 --- a/.envrc +++ /dev/null @@ -1,4 +0,0 @@ -# point out to users at commit time that commits need to be signed, -# not once they've done many commits and are trying to push a PR: -git config --local commit.gpgSign true -git config --local tag.gpgSign true diff --git a/.github/ISSUE_TEMPLATE/bug-report.yml b/.github/ISSUE_TEMPLATE/bug-report.yml deleted file mode 100644 index dd4267e..0000000 --- a/.github/ISSUE_TEMPLATE/bug-report.yml +++ /dev/null @@ -1,70 +0,0 @@ -name: Bug Report -description: Report a bug to help us improve the Midnight network. -title: "[Bug]: " -labels: ["bug"] -body: - - type: markdown - attributes: - value: | - ### ๐Ÿ›‘ Important Note - If this bug pertains to a specific open-source repository in the [midnightntwrk](https://github.com/midnightntwrk) GitHub organization (e.g., `midnight-js`, `midnight-docs`), please **open the bug directly in that repository** instead. - - - type: textarea - id: description - attributes: - label: Bug Description - description: A clear and concise description of what the bug is. - placeholder: Provide a detailed summary of the issue... - validations: - required: true - - - type: textarea - id: reproduction - attributes: - label: Steps to Reproduce - description: How can we recreate this issue? - placeholder: | - 1. Go to '...' - 2. Click on '....' - 3. Scroll down to '....' - 4. See error - validations: - required: true - - - type: textarea - id: expected-actual - attributes: - label: Expected vs. Actual Behavior - description: What did you expect to happen, and what actually happened? - placeholder: | - Expected: ... - Actual: ... - validations: - required: true - - - type: textarea - id: environment - attributes: - label: Environment - description: Please provide details about your development environment (OS, browser version, library version, etc.). - placeholder: e.g., macOS 14.0, Chrome 120, midnight-js v0.1.0 - validations: - required: false - - - type: textarea - id: additional-context - attributes: - label: Additional Context - description: Add any other context, screenshots, or logs about the problem here. - validations: - required: false - - - type: checkboxes - id: checks - attributes: - label: Checklist - options: - - label: I have searched for existing issues and did not find a duplicate. - required: true - - label: I agree to follow the [Code of Conduct](https://github.com/midnightntwrk/community-hub/blob/main/CODE_OF_CONDUCT.md). - required: true \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml deleted file mode 100644 index 8cfb13f..0000000 --- a/.github/ISSUE_TEMPLATE/config.yml +++ /dev/null @@ -1,5 +0,0 @@ -blank_issues_enabled: false -contact_links: - - name: ๐Ÿ“˜ Report a Documentation Issue or Suggestion - url: https://github.com/midnightntwrk/midnight-docs/issues/new/choose - about: Please report all documentation issues in the `midnight-docs` repository. \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/content-bounty.yml b/.github/ISSUE_TEMPLATE/content-bounty.yml deleted file mode 100644 index 90ec8bb..0000000 --- a/.github/ISSUE_TEMPLATE/content-bounty.yml +++ /dev/null @@ -1,92 +0,0 @@ -name: Content Bounty -description: Submit work for a content bounty -title: "[Bounty]: " -labels: ["bounty", "content"] -body: - - type: markdown - attributes: - value: | - ## Bounty Submission - By submitting, you agree to the [Bounty Program Terms](../../legal/BOUNTY_TERMS.md). - - **Reward:** Paid in NIGHT tokens after KYC verification. - - - type: checkboxes - id: terms - attributes: - label: Terms Acknowledgment - options: - - label: I have read and agree to the [Bounty Program Terms](../../legal/BOUNTY_TERMS.md) - required: true - - label: I confirm I am not located in a sanctioned jurisdiction - required: true - - - type: input - id: title - attributes: - label: Bounty Title - description: The title of the content you are submitting. - placeholder: e.g., "Getting Started with Midnight Smart Contracts" - validations: - required: true - - - type: dropdown - id: content-type - attributes: - label: Content Type - description: What type of content are you submitting? - options: - - Technical Tutorial - - Blog Post / Article - - Video / Webinar - - Case Study - - Documentation - - Other - validations: - required: true - - - type: textarea - id: summary - attributes: - label: Summary - description: Briefly describe the content and how it benefits the Midnight community. - placeholder: What does this content cover and who is the target audience? - validations: - required: true - - - type: input - id: bounty-issue - attributes: - label: Related Bounty Issue - description: Link to the original bounty issue this submission fulfills. - placeholder: "e.g., #123" - validations: - required: true - - - type: textarea - id: deliverables - attributes: - label: Deliverables - description: List the deliverables or link to your pull request / draft. - placeholder: "Links to PRs, drafts, or other artifacts." - validations: - required: true - - - type: input - id: wallet-address - attributes: - label: Wallet Address - description: Your wallet address for NIGHT token payout (after KYC verification). - placeholder: "e.g., 0x..." - validations: - required: true - - - type: checkboxes - id: final-checks - attributes: - label: Final Checks - options: - - label: I have reviewed the [Contributing Guidelines](https://github.com/midnightntwrk/community-hub/blob/main/CONTRIBUTING.md). - required: true - - label: I understand that KYC verification via SumSub is required before payout. - required: true diff --git a/.github/ISSUE_TEMPLATE/content-proposal.yml b/.github/ISSUE_TEMPLATE/content-proposal.yml deleted file mode 100644 index 03d4834..0000000 --- a/.github/ISSUE_TEMPLATE/content-proposal.yml +++ /dev/null @@ -1,54 +0,0 @@ -name: Content Proposal -description: Propose new articles, tutorials, or educational content for Midnight. -title: "[Proposal]: " -labels: ["content"] -body: - - type: input - id: title - attributes: - label: Proposed Title - placeholder: e.g., "Advanced Zero-Knowledge Proofs in Midnight" - validations: - required: true - - - type: dropdown - id: content-type - attributes: - label: Content Type - description: What type of content are you proposing? - options: - - Technical Tutorial - - Blog Post / Article - - Video / Webinar - - Case Study - - Other - validations: - required: true - - - type: textarea - id: summary - attributes: - label: Summary & Goal - description: Clearly describe your content proposal and its benefits to the community. - placeholder: What is the expected outcome or impact of this content? - validations: - required: true - - - type: textarea - id: outline - attributes: - label: Outline / Draft - description: Provide a high-level outline or link to an existing draft if available. - placeholder: Section 1, Section 2... - validations: - required: false - - - type: checkboxes - id: checks - attributes: - label: Acknowledgments - options: - - label: I have reviewed the [Contributing Guidelines](https://github.com/midnightntwrk/community-hub/blob/main/CONTRIBUTING.md). - required: true - - label: I am willing to collaborate with the Midnight team to develop this content. - required: true \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/dapp-proposal.yml b/.github/ISSUE_TEMPLATE/dapp-proposal.yml deleted file mode 100644 index ad2b495..0000000 --- a/.github/ISSUE_TEMPLATE/dapp-proposal.yml +++ /dev/null @@ -1,98 +0,0 @@ -name: ๐Ÿ’ป DApp Proposal -description: Define a new DApp using a minimum viable requirements. -title: "[DApp]: " -labels: ['dapp-proposal', 'hacktoberfest'] -body: - - type: markdown - attributes: - value: "## Section 1: The Product Vision (The 'Why')" - - - type: input - id: dapp-name - attributes: - label: DApp Name - description: What's the working title for your DApp? - placeholder: "e.g., 'Proof' Private Journal" - validations: - required: true - - - type: textarea - id: problem-statement - attributes: - label: Problem Statement - description: What specific, critical user problem does this solve? Why does this need to exist? - placeholder: "Users want to journal digitally but fear their private thoughts being read by platform providers, advertisers, or hackers. Existing 'private' apps rely on trust, not proof." - validations: - required: true - - - type: textarea - id: user-value-prop - attributes: - label: Target User & Privacy Value Prop - description: Who is the primary user (persona)? What specific, tangible value do they get from this DApp's *privacy* features? - placeholder: | - - **Target User:** Journalists, whistleblowers, medical patients, or anyone journaling sensitive personal thoughts. - - **Privacy Value:** This DApp provides *provable, trustless privacy*. The user doesn't have to trust us; they can be 100% certain their entries are encrypted and theirs alone, with the *option* to prove authorship later (via ZK) if they choose. - validations: - required: true - - - type: markdown - attributes: - value: "## Section 2: The Solution (The 'What')" - - - type: input - id: dapp-pitch - attributes: - label: Executive Summary (The Pitch) - description: In a single sentence, describe the DApp and its core benefit. - placeholder: "A decentralized journaling app that uses ZK-proofs to keep entries provably private, giving users true ownership of their thoughts." - validations: - required: true - - - type: textarea - id: user-stories - attributes: - label: Key Features (MVP User Stories) - description: List the core features for the Minimum Viable Product, phrased as user stories (As a [user], I want [action], so that [benefit]). - placeholder: | - - **As a user,** I want to write and edit an entry, so that it is encrypted and saved privately. - - **As a user,** I want to be the only one who can decrypt and read my entries, so that I have full privacy. - - **As a user,** I want to (optionally) generate a ZK-proof, so that I can prove I wrote an entry on a certain date without revealing its content. - - **As a user,** I want to (optionally) share a specific entry with another user, so that they can decrypt and read only that single entry. - validations: - required: true - - - type: markdown - attributes: - value: "## Section 3: Project & Tech (The 'How' & 'Who')" - - - type: dropdown - id: project-status - attributes: - label: What's the status of this proposal? - description: This helps us understand how we can best support you. - options: - - "๐Ÿ’ก Just an idea - feedback welcome!" - - "๐Ÿ› ๏ธ I'm building this and looking for feedback." - - "๐Ÿค I'm looking for collaborators to build this." - - "๐Ÿง‘โ€๐Ÿซ I'd like help or guidance from the Midnight team." - validations: - required: true - - - type: textarea - id: tech-stack - attributes: - label: Proposed Tech Stack (Optional) - description: Any thoughts on the tech stack, infrastructure (e.g., IPFS, oracles), or integrations? - placeholder: "e.g., React frontend, Midnight smart contracts using Compact, IPFS for encrypted data storage..." - validations: - required: false - - - type: textarea - id: related-links - attributes: - label: Related Resources (Optional) - description: Link to any mockups, prototypes, code, or other discussions. - placeholder: "e.g., Figma mockups, link to a similar (non-private) project, relevant articles..." - validations: - required: false \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/enhancement.yml b/.github/ISSUE_TEMPLATE/enhancement.yml deleted file mode 100644 index 8c3b368..0000000 --- a/.github/ISSUE_TEMPLATE/enhancement.yml +++ /dev/null @@ -1,63 +0,0 @@ -name: โœจ Feature Request -description: Propose a new feature or enhancement. -title: "[Feature]: " -labels: ['enhancement, feature'] -body: - - type: markdown - attributes: - value: "## โš ๏ธ Where does this feature belong?" - - - type: checkboxes - id: feature-scope-check - attributes: - label: Feature Scope - description: Please check all that apply to help us route your request to the right place. - options: - - label: "This is a **core protocol change**, **new token standard**, or **consensus change**." - - label: "This feature is for a **different, specific repository** (e.g., `midnight-docs`, `midnight-node`)." - - - type: markdown - attributes: - value: | - > **If you checked "core protocol change"**: Please **STOP** and submit this as a [**Midnight Improvement Proposal (MIP)**](https://github.com/midnightntwrk/midnight-improvement-proposals) instead. This repository is not for MIPs. - > - > **If you checked "different, specific repository"**: Please **STOP** and [**find the specific repository**](https://github.com/midnightntwrk/repositories) (e.g., `midnight-docs`) and open your issue there. This helps the right maintainers see it. - > - > **If *neither* of the above apply, your feature is for *this* repository. Please continue!** - --- - - - type: markdown - attributes: - value: "## Feature Details (for *this* repository)" - - - type: textarea - id: problem-statement - attributes: - label: Problem Statement - description: What user problem is this feature solving? Why do we need this? - placeholder: "As a [user type], I am frustrated when [I try to do something] because [of this problem]." - validations: - required: true - - - type: textarea - id: proposed-solution - attributes: - label: Proposed Solution - description: How do you see this feature working? What are the key user interactions or behaviors? - placeholder: "This feature would allow a user to [perform an action]. This could be implemented by [brief technical idea]..." - validations: - required: true - - - type: textarea - id: value-prop - attributes: - label: Value & Justification - description: Who benefits from this, and how? Why is this important to prioritize? - placeholder: "This is valuable for [target user] because it will [unlock this new ability / save them time / improve security]." - - - type: textarea - id: alternatives - attributes: - label: Alternatives Considered (Optional) - description: What other ways could we solve this problem, and why is this proposal better? - placeholder: "We could also [do X], but that wouldn't be as good because [reason]." \ No newline at end of file diff --git a/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md b/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md deleted file mode 100644 index f4244a2..0000000 --- a/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md +++ /dev/null @@ -1,26 +0,0 @@ -# Overview - - - -## Submission Checklist - - - -- [ ] Useful pull request description -- [ ] Tests are provided (if possible) -- [ ] Key commits have useful messages -- [ ] All check jobs of the CI have succeeded -- [ ] Self-reviewed the diff -- [ ] Reviewer requested -- [ ] Update README.md file (if relevant) -- [ ] Update documentation (if relevant) -- [ ] No new todos introduced - -## Links - - diff --git a/.github/dependabot.yml b/.github/dependabot.yml deleted file mode 100644 index 5f5403e..0000000 --- a/.github/dependabot.yml +++ /dev/null @@ -1,38 +0,0 @@ -version: 2 - -updates: - - package-ecosystem: "github-actions" - directory: "/" - schedule: - interval: "weekly" - cooldown: - default-days: 7 - -# - package-ecosystem: "cargo" -# directory: "/" -# registries: "*" -# schedule: -# interval: "daily" -# cooldown: -# default-days: 7 -# -# - package-ecosystem: "npm" -# directory: "/" -# schedule: -# interval: "daily" -# cooldown: -# default-days: 7 -# -# - package-ecosystem: "docker" -# directory: "/" -# schedule: -# interval: "weekly" -# cooldown: -# default-days: 7 -# -#registries: -# github: -# type: git -# url: https://github.com -# username: MidnightCI -# password: ${{ secrets.MIDNIGHTCI_REPO }} diff --git a/.github/workflows/add-to-project.yml b/.github/workflows/add-to-project.yml deleted file mode 100644 index 4fbfafd..0000000 --- a/.github/workflows/add-to-project.yml +++ /dev/null @@ -1,20 +0,0 @@ -name: Add to DevRel PR/Issue Tracker -on: - issues: - types: [opened, reopened] - pull_request: - types: [opened, reopened] - -permissions: {} - -jobs: - add-to-project: - runs-on: ubuntu-latest - permissions: - issues: read - pull-requests: read - steps: - - uses: actions/add-to-project@244f685bbc3b7adfa8466e08b698b5577571133e # v1.0.2 - with: - project-url: https://github.com/orgs/midnightntwrk/projects/75 - github-token: ${{ secrets.DEVREL_TRACKER_TOKEN }} diff --git a/.github/workflows/auto-prioritize-issues.yml b/.github/workflows/auto-prioritize-issues.yml deleted file mode 100644 index b208b09..0000000 --- a/.github/workflows/auto-prioritize-issues.yml +++ /dev/null @@ -1,85 +0,0 @@ -name: Auto-Prioritize Issues - -on: - schedule: - # Run daily at midnight UTC - - cron: '0 0 * * *' - issues: - types: [opened, edited, reopened] - issue_comment: - types: [created] - -permissions: - issues: write - contents: read - -jobs: - prioritize: - runs-on: ubuntu-latest - - steps: - - name: Prioritize Issues - uses: actions/github-script@v7 - with: - script: | - const owner = context.repo.owner; - const repo = context.repo.repo; - - // Fetch all open issues - const { data: issues } = await github.rest.issues.listForRepo({ - owner, - repo, - state: 'open', - per_page: 100 - }); - - // Filter out pull requests - const actualIssues = issues.filter(issue => !issue.pull_request); - - console.log(`Processing ${actualIssues.length} issues...`); - - for (const issue of actualIssues) { - // Calculate priority metrics - const upvotes = issue.reactions['+1'] || 0; - const comments = issue.comments || 0; - const ageInDays = (Date.now() - new Date(issue.created_at)) / (1000 * 60 * 60 * 24); - - // Priority formula: Upvotes (10x weight) + Comments (2x weight) - Age decay (0.5x) - const priorityScore = (upvotes * 10) + (comments * 2) - (ageInDays * 0.5); - - // Current labels - const currentLabels = issue.labels.map(l => l.name); - const priorityLabels = ['high-priority', 'medium-priority', 'low-priority']; - - // Remove existing priority labels - const labelsToKeep = currentLabels.filter(l => !priorityLabels.includes(l)); - - // Determine new priority label - let newPriorityLabel = null; - if (priorityScore >= 30) { - newPriorityLabel = 'high-priority'; - } else if (priorityScore >= 15) { - newPriorityLabel = 'medium-priority'; - } else { - newPriorityLabel = 'low-priority'; - } - - // Add new priority label if determined - const newLabels = newPriorityLabel - ? [...labelsToKeep, newPriorityLabel] - : labelsToKeep; - - // Only update if labels changed - if (JSON.stringify(currentLabels.sort()) !== JSON.stringify(newLabels.sort())) { - await github.rest.issues.update({ - owner, - repo, - issue_number: issue.number, - labels: newLabels - }); - - console.log(`Issue #${issue.number}: Score=${priorityScore.toFixed(1)}, Label=${newPriorityLabel || 'none'}`); - } - } - - console.log('Prioritization complete!'); diff --git a/.github/workflows/bounty-notifications.yml b/.github/workflows/bounty-notifications.yml deleted file mode 100644 index 56da3df..0000000 --- a/.github/workflows/bounty-notifications.yml +++ /dev/null @@ -1,45 +0,0 @@ -name: Notify New Bounties - -on: - issues: - types: [labeled] - -jobs: - notify-bounty: - runs-on: ubuntu-latest - if: contains(github.event.label.name, 'bounty') - - steps: - - name: Extract bounty information - id: bounty_info - uses: actions/github-script@v7 - with: - script: | - const issue = context.payload.issue; - return { - title: issue.title, - url: issue.html_url - }; - - - name: Send Discord Notification - env: - DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK_URL }} - run: | - BOUNTY_INFO='${{ steps.bounty_info.outputs.result }}' - TITLE=$(echo "$BOUNTY_INFO" | jq -r '.title') - URL=$(echo "$BOUNTY_INFO" | jq -r '.url') - - curl -H "Content-Type: application/json" \ - -d "{\"content\": \"**New Bounty:** $TITLE\n$URL\"}" \ - "$DISCORD_WEBHOOK" - - - name: Post Confirmation Comment - uses: actions/github-script@v7 - with: - script: | - await github.rest.issues.createComment({ - owner: context.repo.owner, - repo: context.repo.repo, - issue_number: context.payload.issue.number, - body: `Bounty notification sent to Discord.` - }); \ No newline at end of file diff --git a/.github/workflows/popular-issues.yaml b/.github/workflows/popular-issues.yaml deleted file mode 100644 index bdead8d..0000000 --- a/.github/workflows/popular-issues.yaml +++ /dev/null @@ -1,80 +0,0 @@ -name: Highlight Popular Issues - -on: - # Allows you to run this workflow manually from the Actions tab - workflow_dispatch: - -env: - # --- CONFIGURATION --- - # The label to add to popular issues. Make sure this label exists in your repository. - LABEL_NAME: 'HOT' - # The number of "thumbs up" reactions required. - # The script will label issues with a vote count GREATER THAN this number. - # Setting it to 0 means any issue with 1 or more votes gets the label. - VOTE_THRESHOLD: 0 - # --- END CONFIGURATION --- - -jobs: - highlight-popular-issues: - runs-on: ubuntu-latest - permissions: - issues: write # Required to add/remove labels - contents: read # Required to checkout the repo - steps: - - name: Checkout Repository - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd #v6.0.2 - - - name: Label Popular Issues - uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0 - with: - # Use the built-in GITHUB_TOKEN for simplicity and security - github-token: ${{ secrets.GITHUB_TOKEN }} - script: | - const LABEL_NAME = process.env.LABEL_NAME; - const THRESHOLD = parseInt(process.env.VOTE_THRESHOLD, 10); - - if (!LABEL_NAME || isNaN(THRESHOLD)) { - core.setFailed('LABEL_NAME or VOTE_THRESHOLD environment variables are not set correctly.'); - return; - } - - console.log(`Searching for issues with more than ${THRESHOLD} ๐Ÿ‘ reactions to label with '${LABEL_NAME}'.`); - - // Paginate through all open issues in the repository - const issues = await github.paginate(github.rest.issues.listForRepo, { - owner: context.repo.owner, - repo: context.repo.repo, - state: 'open', - per_page: 100 - }); - - for (const issue of issues) { - // Exclude pull requests, as they are also returned by the issues endpoint - if (issue.pull_request) { - continue; - } - - const voteCount = issue.reactions['+1']; - const hasLabel = issue.labels.some(label => label.name === LABEL_NAME); - - // Condition 1: Issue is popular but doesn't have the label yet - if (voteCount > THRESHOLD && !hasLabel) { - console.log(`Adding label to issue #${issue.number} which has ${voteCount} votes.`); - await github.rest.issues.addLabels({ - owner: context.repo.owner, - repo: context.repo.repo, - issue_number: issue.number, - labels: [LABEL_NAME] - }); - } - // Condition 2: Issue has the label but is no longer popular - else if (voteCount <= THRESHOLD && hasLabel) { - console.log(`Removing label from issue #${issue.number} which now has only ${voteCount} votes.`); - await github.rest.issues.removeLabel({ - owner: context.repo.owner, - repo: context.repo.repo, - issue_number: issue.number, - name: LABEL_NAME - }); - } - } diff --git a/.github/workflows/scan.yaml b/.github/workflows/scan.yaml deleted file mode 100644 index a34f6bd..0000000 --- a/.github/workflows/scan.yaml +++ /dev/null @@ -1,30 +0,0 @@ -name: Scan -permissions: {} - -on: - push: - branches: [main] - pull_request: - branches: [main] - workflow_dispatch: {} # so you can still run it manually - schedule: - - cron: '0 0 * * *' # run daily at midnight UTC -concurrency: - group: - ${{ github.event_name != 'merge_group' && format('{0}-{1}', github.workflow, github.head_ref) || github.run_id }} - cancel-in-progress: true - -jobs: - scan: - runs-on: ubuntu-latest - permissions: - actions: read - contents: read - security-events: write - statuses: write - steps: - - name: Checkout code - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd #v6.0.2 - - - name: Scan code - uses: midnightntwrk/upload-sarif-github-action@07dad711370cc5985885ebcf07cb8c9264bc4167 \ No newline at end of file diff --git a/.github/workflows/setup-priority-labels.yml b/.github/workflows/setup-priority-labels.yml deleted file mode 100644 index 9409661..0000000 --- a/.github/workflows/setup-priority-labels.yml +++ /dev/null @@ -1,55 +0,0 @@ -name: Setup Priority Labels - -on: - workflow_dispatch: # Manual trigger only - -permissions: - issues: write - -jobs: - create-labels: - runs-on: ubuntu-latest - - steps: - - name: Create Priority Labels - uses: actions/github-script@v7 - with: - script: | - const labels = [ - { - name: 'high-priority', - color: 'd73a4a', // Red - description: 'High priority issue (50+ priority score)' - }, - { - name: 'medium-priority', - color: 'fbca04', // Yellow - description: 'Medium priority issue (20-49 priority score)' - }, - { - name: 'low-priority', - color: '0e8a16', // Green - description: 'Low priority issue (0-19 priority score)' - } - ]; - - for (const label of labels) { - try { - await github.rest.issues.createLabel({ - owner: context.repo.owner, - repo: context.repo.repo, - name: label.name, - color: label.color, - description: label.description - }); - console.log(`โœ… Created label: ${label.name}`); - } catch (error) { - if (error.status === 422) { - console.log(`โš ๏ธ Label already exists: ${label.name}`); - } else { - throw error; - } - } - } - - console.log('โœ… All labels created!'); \ No newline at end of file diff --git a/.github/workflows/triage-move.yaml b/.github/workflows/triage-move.yaml deleted file mode 100644 index e1ddd31..0000000 --- a/.github/workflows/triage-move.yaml +++ /dev/null @@ -1,27 +0,0 @@ -name: Move Triaged Issues - -on: - issues: - types: [labeled] - -jobs: - move-issue: - runs-on: ubuntu-latest - if: github.event.label.name == 'triaged' - steps: - - name: Add to Grab n Go Board - uses: actions/add-to-project@v1.0.2 - with: - project-url: https://github.com/orgs/midnightntwrk/projects/37 - # Use the PAT stored in secrets - github-token: ${{ secrets.COMMUNITY_BOARD }} - - - name: Remove from Community Board - uses: monry/actions-delete-issue-from-project@v2.0.1 - with: - # Use the PAT stored in secrets - github-token: ${{ secrets.COMMUNITY_BOARD }} - project-owner: midnightntwrk - project-number: 36 - issue-repository: ${{ github.repository }} - issue-number: ${{ github.event.issue.number }} \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md deleted file mode 100644 index 579e1c6..0000000 --- a/CHANGELOG.md +++ /dev/null @@ -1,8 +0,0 @@ -# Changelog - -All notable changes to this project will be documented in this file. - -The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), -and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). - -## [Unreleased] diff --git a/CODEOWNERS b/CODEOWNERS deleted file mode 100644 index 41b77d0..0000000 --- a/CODEOWNERS +++ /dev/null @@ -1,10 +0,0 @@ -* @midnightntwrk/mn-devrel -/.github/ISSUE_TEMPLATE/ @midnightntwrk/mn-security @midnightntwrk/mn-sre -/.github/PULL_REQUEST_TEMPLATE/ @midnightntwrk/mn-security @midnightntwrk/mn-sre -/.github/workflows/scan.yaml @midnightntwrk/mn-security @midnightntwrk/mn-sre -/.github/workflows/dependabot.yml @midnightntwrk/mn-security @midnightntwrk/mn-sre -CODE_OF_CONDUCT.md @midnightntwrk/mn-security @midnightntwrk/mn-sre -CODEOWNERS @midnightntwrk/mn-security @midnightntwrk/mn-sre -CONTRIBUTING.md @midnightntwrk/mn-security @midnightntwrk/mn-sre -LICENSE @midnightntwrk/mn-security @midnightntwrk/mn-sre -SECURITY.md @midnightntwrk/mn-security @midnightntwrk/mn-sre diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md deleted file mode 100644 index 1481d54..0000000 --- a/CODE_OF_CONDUCT.md +++ /dev/null @@ -1,43 +0,0 @@ -# Our Pledge - -In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to make participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, religion, or sexual identity and orientation. - -## Our Standards - -Examples of behavior that contributes to creating a positive environment include: - -- Using welcoming and inclusive language -- Being respectful of differing viewpoints and experiences -- Gracefully accepting constructive criticism -- Focusing on what is best for the community -- Showing empathy towards other community members - -Examples of unacceptable behavior by participants include: - -- The use of sexualized language or imagery and unwelcome sexual attention or advances -- Trolling, insulting/derogatory comments, and personal or political attacks -- Public or private harassment -- Publishing othersโ€™ private information, such as a physical or electronic address, without explicit permission -- Other conduct which could reasonably be considered inappropriate in a professional setting - -## Our Responsibilities - -Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior. - -Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. - -## Scope - -This Code of Conduct applies within all project spaces, and it also applies when an individual is representing the project or its community in public spaces. Examples of representing a project or community include using an official project email address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers. - -## Enforcement - -Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at legal@midnight.foundation. All complaints will be reviewed and investigated and will result in a response that is deemed necessary and appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately. - -Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the projectโ€™s leadership. - -## Attribution - -This Code of Conduct is adapted from the Contributor Covenant, version 1.4, available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html - -For answers to common questions about this code of conduct, see https://www.contributor-covenant.org/faq diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md deleted file mode 100644 index fadcc93..0000000 --- a/CONTRIBUTING.md +++ /dev/null @@ -1,69 +0,0 @@ -# Contributing - -We welcome your contributions to the Midnight network! By contributing, you'll play a vital role in shaping the future of a blockchain focused on data privacy. - -## Getting Started - -* **Review Existing Contributions and Issues:** Before submitting, please check if a similar issue or feature request already exists by searching our issue tracker. -* **Understand the Project:** Familiarize yourself with Midnight's architecture, technology, and coding standards. You can find relevant information in our litepaper. -* **Set up Your Development Environment:** Ensure you have the necessary tools and dependencies installed. See our developer [documentation](https://docs.midnight.network/) for detailed instructions. - -## Submitting Issues - -Use one of the [templates] to submit an issue to the Project Board. The Midnight team or a community member will address it if it's relevant. -Ensure the title is a clear summary of the requirement and provides enough context. - -**Issue Types:** - -* **Bug Report:** Provide detailed information about the issue, including steps to reproduce it, expected behavior, and actual behavior, screenshots, or any other relevant information. -* **Documentation Improvement:** Clearly describe the improvement requested for existing content and/or raise missing areas of documentation and provide details for what should be included. -* **Feature Request:** Clearly describe your feature, its benefits, and most importantly, the expected outcome. This helps us analyze the proposed solution and develop alternatives. -* **Enhancement:** (WIP) - -## Code Contribution Process - -* **Pull Requests:** Code contributions are submitted via Pull Requests. -* **Fork the Repository:** Create your own fork of the Midnight repository. -* **Create a Branch:** Make your changes in a separate branch, - prefixed with a short name moniker (e.g. `jill-my-feature`). -* **Follow Coding Standards:** Adhere to the coding style guides specified in our documentation. -* **Write Tests:** Include unit tests and integration tests to cover your changes. -* **Commit Messages:** Write clear and concise commit messages. -* **Submit Pull Request:** Submit your pull request to the appropriate branch in the main repository. -* **Please do not `--force` pushes** - doing so means that reviewers will have to re-review all - commits in the PR rather than commits since last review. -* **Code Review:** All pull requests undergo code review by project maintainers. - Be prepared to address feedback from reviewers. - -## Requirements for Acceptable Contributions: - -* **Coding Standards:** Code must adhere to the coding style guides defined in our documentation -* **Testing:** New functionality must include corresponding unit tests and integration tests. -* **Documentation:** Code changes should be accompanied by proposed relevant documentation updates. -* **License:** All contributions must be compatible with the project's license. - Where possible all files should have this license header: - -``` -// This file is part of . -// Copyright (C) 2025 Midnight Foundation -// SPDX-License-Identifier: Apache-2.0 -// Licensed under the Apache License, Version 2.0 (the "License"); -// You may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -``` - -Where this is not possible, a copy of the Apache 2.0 or the repository's top-level LICENSE file in the same directory is required - -## Support and Communication: - -Ask anything about Midnight! We're here to help. Connect with us on [Discord](https://discord.com/invite/midnightnetwork), [Telegram](https://t.me/Midnight_Network_Official), and [X](https://x.com/MidnightNtwrk) and Join the Community to stay updated and engage with other Midnight enthusiasts. - -We appreciate your contributions! diff --git a/Events/README.md b/Events/README.md deleted file mode 100644 index 8cac111..0000000 --- a/Events/README.md +++ /dev/null @@ -1,33 +0,0 @@ -# Submit Your Work to an Event - -Each event folder inside `/events/` (e.g. `hacktoberfest-2025/`, `midnight-summit/`) contains all the submissions for that event. - -To contribute, **create a new Markdown file** inside the eventโ€™s folder. -Each file = one submission. - - -## Submission Template - -Copy this template into your md file and fill it out. You can use this submission template for **projects, articles, tutorials, videos, threads, or any other contribution**. - ---- -```md - -type: project # or "article", "video", "thread", etc. -team_slug: midnight-marauders # lowercase, hyphenated (matches filename) -team_name: Midnight Marauders -project_title: Private Music Mint -repo_url: https://github.com/your-project -demo_url: https://youtu.be/xxxxx -link: https://twitter.com/... # optional for off-platform content -members: - - name: Your name - github: YourHandle -tech_stack: [TypeScript, Compact, zk] -tracks: [nfts, privacy] ---- - -Our dApp lets users mint Music NFTs privately using zero-knowledge proofs. -Built during Midnight Hacktoberfest 2025. - -If this were a blog post or tweet instead, you could describe it briefly and link out to the full content. \ No newline at end of file diff --git a/Events/hacktoberfest/README.md b/Events/hacktoberfest/README.md deleted file mode 100644 index 657dd1d..0000000 --- a/Events/hacktoberfest/README.md +++ /dev/null @@ -1,63 +0,0 @@ -**Hacktoberfest** is a global open-source event held every October, where developers contribute pull requests to public repositories to earn digital rewards. - -Midnight is joining the celebration by inviting contributors to improve its open-source ecosystem โ€” from smart contracts and DApps to core libraries and documentation. - -Review the guide to get started. - -## 1. Registration - -To participate, register at https://hacktoberfest.com/auth/. - -All opportunities to contribute to Midnightโ€™s open source ecosystem will be available through our [Community Hub](https://github.com/midnightntwrk/community-hub). - -Participants are encouraged to submit six (6) high-quality pull or merge requests between *October 1 and October 31* to earn the official Hacktoberfest digital badge. -Review our [Contribution Guidelines](https://github.com/midnightntwrk/community-hub/blob/main/CONTRIBUTING.md) before submitting any work. - -## 2. Hacktoberfest Participation - -Look for issues labeled hacktoberfest or browse through issues submitted by other community members to find contribution opportunities. - -Docs: Submit pull requests to the [Midnight Docs repository](https://github.com/midnightntwrk/midnight-docs). -Core Libraries: Submit pull requests to [MidnightJs](https://github.com/midnightntwrk/midnight-js). -No-code / Low-code: Create pull requests in the [Community Hub](https://github.com/midnightntwrk/community-hub) using the submission template. - -Once reviewed and approved, qualifying issues will be labeled `hacktoberfest-accepted`. - -Have an idea others can contribute to? Create an issue in the Community Hub using the following templates: -- dapp-proposal -- content-proposal -- documentation improvement - -To earn additional Midnight-specific rewards, visit our [Zealy quests](https://zealy.io/cw/midnightnetwork/questboard/) and complete the tasks under the [Hacktoberfest Sprint](https://zealy.io/cw/midnightnetwork/questboard/ffd38a52-cc39-42b4-9880-5b64c18face3/3a29aec7-690c-45a0-a17d-93ea78e65011). - -## 3. Rewards - -### ๐ŸŽ–๏ธ Holopin Badge -Receive the official Hacktoberfest digital badge for contributing to open source. - -### ๐Ÿ‘• Swag -The first 10,000 participants who successfully complete six (6) accepted PRs/MRs will receive the official Hacktoberfest T-shirt. (Terms & Conditions apply.) - -Top 3 on the [Zealy Hacktoberfest leaderboard](https://zealy.io/cw/midnightnetwork/leaderboard/bdd692a0-9543-4e56-8820-6c09f4e2a771) win a Midnight T-shirt. - -### ๐ŸŒณ Treenation Reward -Every sixth PR/MR qualifying for a T-shirt will also trigger a Treenation tree-planting contribution, helping make the world a greener place. - -## 4. Acceptable Contribution Types -Contributions may include, but are not limited to: - -Code updates to MidnightJs -Technical documentation -User experience testing -Technical blog posts or tutorials -Case studies or written articles -Copywriting or editing -Translations -Talks or presentations -Event organization -Podcasts or interviews -Social media campaigns -Blog or video content -Graphic design or visual assets -Ready to start contributing? -Explore open issues on the Midnight Community Hub and make your mark this Hacktoberfest! \ No newline at end of file diff --git a/Events/hacktoberfest/bochaco.md b/Events/hacktoberfest/bochaco.md deleted file mode 100644 index e2f287f..0000000 --- a/Events/hacktoberfest/bochaco.md +++ /dev/null @@ -1,19 +0,0 @@ -type: tutorial -team_slug: bochaco -team_name: bochaco -project_title: React Midnight Wallet Connector & Tutorial -repo_url: https://github.com/bochaco/react-mn-wallet-connect -demo_url: https://github.com/bochaco/react-mn-wallet-connect/blob/main/README.md -link: -members: - - name: Gabriel Viganotti - github: bochaco -tech_stack: Midnight dApp Connector, React, TypeScript, TailwindCSS -tracks: [wallet, dapp] ---- - -A small React app that demonstrates how to connect a web app to the Midnight Network Wallet via dApp connector API and browser wallet extensions (for example, Lace). Use this as a reference implementation for connecting and interacting with [Midnight dApp Connector APIs](https://docs.midnight.network/develop/reference/midnight-api/dapp-connector). - -If you are a developer familiar with React but new to Midnight, you can refer to the [TUTORIAL](https://github.com/bochaco/react-mn-wallet-connect/blob/main/TUTORIAL.md) which will guide you through the basic steps to create a React application that connects to a wallet using the Midnight DApp Connector API. - -Built during Midnight Hacktoberfest 2025. diff --git a/LICENSE b/LICENSE deleted file mode 100644 index 261eeb9..0000000 --- a/LICENSE +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/README.md b/README.md deleted file mode 100644 index 365c5f5..0000000 --- a/README.md +++ /dev/null @@ -1,107 +0,0 @@ -# ๐Ÿ‘ฅ Contributor Hub - -The **Contributor Hub** is the central collaborative platform for gathering and managing community-driven contributions within the `midnightntwrk` organization. It serves as the primary entry point for proposing new content, requesting features, reporting issues, or ideating for dApps on the Midnight Network. - -## ๐Ÿ›  How to Contribute - -- [Public Boards](https://github.com/orgs/midnightntwrk/projects/36): For transparency in triage and task management. -- Automated Workflow (coming soon): Issues are automatically added to boards and moved based on labels. -- Inclusive Contribution: Open to all, with guidelines for high-quality submissions. - -We welcome contributions of all types, including code, documentation, and technical content. - -### Submitting Issues -Use our GitHub Issue Forms to submit: -* **Bug Reports:** Provide detailed information including steps to reproduce and expected behavior. Note: if a bug pertains to a specific repo (like `midnight-js`), report it there directly. -* **Feature Requests:** Clearly describe the proposed feature, its benefits, and the expected outcome. -* **Content Proposals:** Propose new tutorials, blog posts, or documentation improvements. - -### Pull Request Process -1. **Fork the Repo:** Create your own fork of the repository. -2. **Create a Branch:** Use a descriptive name prefixed with a short moniker (e.g., `jill-my-feature`). -3. **Follow Standards:** Adhere to the coding style guides and ensure new functionality includes unit and integration tests. -4. **License Header:** Ensure all new files include the Apache-2.0 license header. -5. **Submit:** Open a PR to the main repository. Avoid `--force` pushes to assist the review process. - -## ๐Ÿ“… Events & Showcases - -If you are participating in a Midnight event (such as **Hacktoberfest** or the **Midnight Summit**), you can showcase your work here: -1. Navigate to the `/events` folder. -2. Create a Markdown file in the specific event sub-folder (e.g., `events/hacktoberfest-2025/your-handle.md`). -3. Fill out the submission template found in the `events/README.md`. - -## Bounty Programs - -We run content and development bounties rewarded in NIGHT tokens. All participants must complete KYC verification before receiving tokens. - -- **[Bounty Program Terms](legal/BOUNTY_TERMS.md):** Standard terms for all bounty participants. -- **[Contributor Agreement](legal/CONTRIBUTOR_AGREEMENT.md):** Additional terms for premium-tier engagements. -- **[Submit a Bounty](../../issues/new?template=content-bounty.yml):** Use the Content Bounty issue template to submit your work. - -## โš–๏ธ Governance & Security - -* **Code of Conduct:** We are committed to a positive, inclusive, and harassment-free environment. Please review our [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md). -* **Security Policy:** Report security vulnerabilities privately via GitHub's private reporting or by emailing `security@midnight.foundation`. -* **License:** This project is licensed under the **Apache License, Version 2.0**. - -To standardize submissions and make it easier for contributors, we provide the following issue templates:Content Proposal: For suggesting new content like articles, tutorials, or resources. Use this to propose ideas that educate or engage the community. - -- Feature Request/Suggestion: For proposing new features, enhancements, or suggestions to improve existing tools or processes. -- Bug: For reporting defects, errors, or unexpected behavior. Include reproduction steps, environment details, and screenshots if possible. -- dApp Proposal: For ideas related to decentralized applications, including concepts, integrations, or improvements for dApps in our ecosystem. - -When creating an issue, select the appropriate template from the "New Issue" page. This auto-applies relevant labels (e.g., `bug`, `feature-request-suggestion`) for better categorization. - -## Workflow - -Our workflow ensures every submission is reviewed fairly and efficiently. Issues start in the [Contributor Board](https://github.com/orgs/midnightntwrk/projects/36) for triage and, if approved, move to the Grab n Go Board for contributors to pick up. Both boards are public for transparency. - -Columns (based on the "Status" field): - -- New: Entry point for fresh issues. Community members can view and comment. -- In Triage: Active review by the triage committee (validity, priority, labels). -- Needs Discussion: For issues requiring broader feedback or clarification. -- Rejected: Invalid or out-of-scope issues, with explanations for transparency. - -The triage committee meets periodically to review and move issues. If legitimate, they add a `triaged` label, triggering an automation to move it to the Grab n Go Board. - -## Grab n Go Board - -The Grab n Go Board showcases approved, ready-to-work-on tasks. It's a backlog for contributors.Columns (based on the "Status" field): -- Ready: Triaged issues awaiting pickup (e.g., labeled good-first-issue for beginners). -- In Progress: Tasks being worked on (assign yourself and update via PRs). -- Done: Completed issues (auto-moves on close). - -Automations handle movement between boards and status updates for efficiency. - -## Code of Conduct - -We are committed to a positive, inclusive community. Please adhere to our CODE_OF_CONDUCT.md. - -## Contributing - -We welcome contributions from everyone! Follow these steps: - -- Fork the Repo: Click "Fork" on the top right. -- Create an Issue: Use templates to submit ideas or bugs. -- Work on Tasks: Browse the Grab n Go Board, assign yourself to a "Ready" issue. -- Submit a Pull Request: Want to improve Community-hub? Submit a PR and follow our CONTRIBUTING.md for details on code style, testing, and commits. -- Labels and Priorities: Use labels like priority:high, help-wanted, or good-first-issue to guide contributions. - -For non-code contributions (e.g., docs, proposals), submit via issues. All PRs require review by at least one maintainer. - -## Adding Your Project to an Event - - If youโ€™re participating in a Midnight event such as a hackathon, summit, or Hacktoberfest, you can showcase your work and contributions directly in this repository. - - **Steps:** - - 1. Navigate to the `/events` folder. - 2. Open the folder for your event (e.g. `events/hacktoberfest-2025/`). - 3. Inside, create a new Markdown file named after your handle or team: events//.md - 4. Copy and fill out the [submission template](./events/README.md). It works for projects, tutorials, threads, or any other type of contribution. - 5. Commit and open a Pull Request. - - Once your PR is merged, your submission will appear in the eventโ€™s showcase page automatically. - -> **Tip:** Keep filenames lowercase and hyphenated, and make sure your front-matter fields match the example format. diff --git a/SECURITY.md b/SECURITY.md deleted file mode 100644 index 45f372e..0000000 --- a/SECURITY.md +++ /dev/null @@ -1,66 +0,0 @@ -# Midnight Foundation Security Policy - -This document outlines security procedures and general policies for the Midnight Foundation. - -This policy adheres to the [vulnerability management guidance](https://www.linuxfoundation.org/security) -for Linux Foundation projects. - -- [Disclosing a security issue](#disclosing-a-security-issue) -- [Vulnerability management](#vulnerability-management) -- [Suggesting changes](#suggesting-changes) - -## Disclosing a security issue - -The Midnight foundation takes all security issues seriously, which includes all source code repositories managed -through our [GitHub organization](https://github.com/midnightntwrk). If you believe you have found a security vulnerability in any Midnight Foundation -owned repository, *please report it using GitHub's private vulnerability reporting* and not through public GitHub issues. To learn more about GitHub's -private vulnerability reporting and how to submit a vulnerability report, please review [GitHub's documentation on private reporting](https://docs.github.com/code-security/security-advisories/guidance-on-reporting-and-writing-information-about-vulnerabilities/privately-reporting-a-security-vulnerability). - -Please include the requested information listed below (as much as you can provide) to help us better understand the nature and scope of the possible issue: - -- The repository name or URL -- Type of issue (buffer overflow, SQL injection, cross-site scripting, etc.) -- Full paths of the source file(s) related to the manifestation of the issue -- The location of the affected source code (tag/branch/commit or direct URL) -- Any particular configuration required to reproduce the issue -- Step-by-step instructions to reproduce the issue -- Proof-of-concept or exploit code (if possible) -- Impact of the issue, including how an attacker might exploit the issue -- This information will help us triage your report more quickly - -A maintainer will acknowledge the report within three (3) business days, and -will send a more detailed response within an additional three (3) business days -indicating the next steps in handling your report. - -If you've been unable to successfully draft a vulnerability report via GitHub -or have not received a response during the alloted response window, please -reach out via the [Midnight foundation security contact email](mailto:security@midnight.foundation). - -After the initial reply to your report, the maintainers will endeavor to keep -you informed of the progress towards a fix and full announcement, and may ask -for additional information or guidance. - -Thank you for improving the security of Midnight. We appreciate your dedication to responsible disclosure and will -make every effort to acknowledge your contributions. - -## Vulnerability management - -When the maintainers receive a disclosure report, they will assign it to a -primary handler. - -This person will coordinate the fix and release process, which involves the -following steps: - -- confirming the issue -- determining affected versions of the project -- auditing code to find any potential similar problems -- preparing fixes for all releases under maintenance - -## Preferred Languages - -We prefer all communications to be in English. - -## Suggesting changes - -If you have suggestions on how this process could be improved please submit an -issue or pull request. diff --git a/legal/BOUNTY_TERMS.md b/legal/BOUNTY_TERMS.md deleted file mode 100644 index a8b2406..0000000 --- a/legal/BOUNTY_TERMS.md +++ /dev/null @@ -1,66 +0,0 @@ -# Bounty Program Terms - -**Effective Date:** March 2026 -**Program Operator:** Midnight Network - -## 1. Overview - -The Midnight Bounty Program rewards community contributors for completing approved tasks, including content creation, development, and other contributions. Rewards are paid in NIGHT tokens. - -## 2. Eligibility - -- Participants must be at least 18 years of age. -- Participants must not be located in a jurisdiction subject to comprehensive sanctions (including but not limited to OFAC, EU, and UN sanctions lists). -- Participants must complete Know Your Customer (KYC) verification via SumSub before receiving any token payout. - -## 3. Bounty Process - -1. **Claim:** Comment on an open bounty issue to express interest. A maintainer will assign the bounty to you. -2. **Work:** Complete the task according to the requirements described in the issue. -3. **Submit:** Open a Pull Request referencing the bounty issue. -4. **Review:** The Midnight team will review your submission. Revisions may be requested. -5. **Approval:** Once approved and merged, the bounty is marked as completed. -6. **Payout:** After KYC verification, NIGHT tokens will be distributed to your provided wallet address. - -## 4. Reward Tiers - -Bounty rewards are specified on each individual issue. The reward amount in NIGHT tokens is determined at the time of issue creation and is non-negotiable unless otherwise stated. - -## 5. KYC Verification - -- All participants must complete identity verification through SumSub before receiving token payouts. -- Verification is required once and applies to all future bounty payouts. -- Failure to complete KYC within 30 days of bounty approval may result in forfeiture of the reward. - -## 6. Intellectual Property - -- All submissions become part of the Midnight open-source ecosystem under the project's applicable license (Apache License, Version 2.0, unless otherwise specified). -- By submitting work, you confirm that the contribution is your original work and does not infringe on any third-party intellectual property rights. - -## 7. Code of Conduct - -All participants must adhere to the [Code of Conduct](../CODE_OF_CONDUCT.md). Violations may result in disqualification and forfeiture of rewards. - -## 8. Disqualification - -The Midnight team reserves the right to disqualify submissions that: - -- Are plagiarized or generated entirely by AI without meaningful human contribution. -- Do not meet the quality standards or requirements outlined in the bounty issue. -- Violate the Code of Conduct or these Terms. - -## 9. Tax Obligations - -Participants are solely responsible for any tax obligations arising from bounty rewards. The Midnight team does not provide tax advice. - -## 10. Modifications - -These terms may be updated at any time. Continued participation in the bounty program constitutes acceptance of the updated terms. Material changes will be communicated via the repository. - -## 11. Limitation of Liability - -The Midnight team provides bounty rewards on a best-effort basis. Token values may fluctuate, and the team is not liable for any losses related to token value changes after distribution. - -## 12. Contact - -For questions about the Bounty Program, open an issue in this repository or reach out to the Midnight team through official channels. diff --git a/legal/CONTRIBUTOR_AGREEMENT.md b/legal/CONTRIBUTOR_AGREEMENT.md deleted file mode 100644 index 5c4191b..0000000 --- a/legal/CONTRIBUTOR_AGREEMENT.md +++ /dev/null @@ -1,58 +0,0 @@ -# Contributor Agreement (Premium Tier) - -**Effective Date:** March 2026 -**Program Operator:** Midnight Network - -## 1. Overview - -This Contributor Agreement applies to premium-tier contributions within the Midnight ecosystem. Premium-tier bounties involve larger-scope work such as extended development projects, in-depth research, or ongoing content partnerships. - -## 2. Applicability - -This agreement applies when: - -- A bounty issue is explicitly labeled as `premium-tier`. -- A contributor is invited to participate in a premium engagement by the Midnight team. - -For standard bounties, the [Bounty Program Terms](./BOUNTY_TERMS.md) apply. - -## 3. Eligibility - -All eligibility requirements from the [Bounty Program Terms](./BOUNTY_TERMS.md) apply, plus: - -- Contributors may be required to sign an individual contributor agreement provided by the Midnight team. -- Additional identity or professional verification may be required. - -## 4. Scope of Work - -- Premium-tier work is defined in a detailed scope document attached to or linked from the bounty issue. -- Milestones and deliverables will be agreed upon before work begins. -- Changes to scope must be approved in writing by the Midnight team. - -## 5. Compensation - -- Premium-tier compensation may include a combination of NIGHT tokens and other forms of payment as specified in the engagement terms. -- Payment schedules are tied to milestone completion and approval. -- KYC verification via SumSub is required before any payout. - -## 6. Intellectual Property - -- All work product is contributed under the project's applicable license (Apache License, Version 2.0, unless otherwise specified). -- Contributors grant Midnight Network a perpetual, worldwide, non-exclusive, royalty-free license to use, modify, and distribute the work. -- Contributors retain the right to reference and showcase the work in their portfolio. - -## 7. Confidentiality - -Premium-tier contributors may have access to pre-release information. Such information must not be disclosed publicly until the Midnight team authorizes its release. - -## 8. Termination - -Either party may terminate a premium engagement with written notice. Completed and approved milestones will be compensated regardless of termination. - -## 9. General - -All other terms from the [Bounty Program Terms](./BOUNTY_TERMS.md) apply unless explicitly overridden by this agreement. - -## 10. Contact - -For questions about premium-tier engagements, open an issue in this repository or contact the Midnight team through official channels. diff --git a/renovate.json b/renovate.json deleted file mode 100644 index 6dea2b8..0000000 --- a/renovate.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "$schema": "https://docs.renovatebot.com/renovate-schema.json", - "extends": [ - "local>midnightntwrk/renovate-config" - ] -} diff --git a/supa_solution.md b/supa_solution.md new file mode 100644 index 0000000..c7c49eb --- /dev/null +++ b/supa_solution.md @@ -0,0 +1,71 @@ + +๐Ÿง  Genius Council โ€” Puzzle: "[Tutorial] Witnesses in Depth: Patterns, Types, and Real Use Cases + +## Type of Content + +**Tutorial** + +## Summary + +Deep dive into witness functions: what they are (off-chain computation that feeds into the ZK circuit), how they differ from circuit logic, common patterns (secret key verification, division with remainder, external data ingestion), and real use cases from existing Midnight dApps. Show the witness-verified division pattern and witness-based access control. + +## Target Audience + +Developers + +## Deliverables + +1. **Written tutorial (2,500-3,500 words)** covering: + - What witnesses are: off-chain computation feeding into the ZK circuit + - How witnesses differ from circuit logic + - Common patterns: secret key verification, division with remainder," + Gรฉnies sรฉlectionnรฉs: simons, galois, mandelbrot, davinci, shannon, data_architect, data_engineer, nne + + [simons] Jim Simons... โ†’ WAIT + [galois] ร‰variste Galois... โ†’ WAIT + [mandelbrot] Benoรฎt Mandelbrot... โ†’ WAIT + [davinci] Leonardo da Vinci... โ†’ WAIT + [shannon] Claude Shannon... โ†’ WAIT + [data_architect] Le Data Architect... โ†’ WAIT + [data_engineer] Le Data Engineer... โ†’ WAIT + [nne] NNE Ensemble... โ†’ WAIT + + ๐Ÿ”ง Gรฉnรฉration de l'outil... + +โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ• +๐Ÿ“Š PUZZLE: [Tutorial] Witnesses in Depth: Patterns, Types, and Real Use Cases + +## Type of Content + +**Tutorial** + +## Summary + +Deep dive into witness functions: what they are (off-chain computation that feeds into the ZK circuit), how they differ from circuit logic, common patterns (secret key verification, division with remainder, external data ingestion), and real use cases from existing Midnight dApps. Show the witness-verified division pattern and witness-based access control. + +## Target Audience + +Developers + +## Deliverables + +1. **Written tutorial (2,500-3,500 words)** covering: + - What witnesses are: off-chain computation feeding into the ZK circuit + - How witnesses differ from circuit logic + - Common patterns: secret key verification, division with remainder, +โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ +๐ŸŽฏ CONSENSUS : WAIT (100% confiance) +โšก GODLIKE : 0.000 ๐Ÿ’ค dormant + +๐Ÿ’ก INSIGHTS CLร‰S : + โ€ข **Jim Simons** : [timeout: 404 Client Error: Not Found for url: http://localhost:11434/api/generate] + โ€ข **ร‰variste Galois** : [timeout: 404 Client Error: Not Found for url: http://localhost:11434/api/generate] + โ€ข **Benoรฎt Mandelbrot** : [timeout: 404 Client Error: Not Found for url: http://localhost:11434/api/generate] + โ€ข **Leonardo da Vinci** : [timeout: 404 Client Error: Not Found for url: http://localhost:11434/api/generate] + โ€ข **Claude Shannon** : [timeout: 404 Client Error: Not Found for url: http://localhost:11434/api/generate] + +๐Ÿ“ฆ OUTILS DISPONIBLES : + โ€ข detect_bull_trap โ€” Dรฉtecte les bull traps via divergence volume/RSI + tools/genius_tools/tool_comment_detecter_un_bull_trap_divergence.py +โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ• +