-
Notifications
You must be signed in to change notification settings - Fork 40
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Bounty page #243
base: main
Are you sure you want to change the base?
Bounty page #243
Changes from all commits
b851d3f
0a01156
79c244c
32ef3e9
95a3976
12a41d0
fc9a88f
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -37,6 +37,7 @@ | |
"projects": "Projects", | ||
"blog": "Blog", | ||
"peercoinFoundation": "Peercoin Foundation", | ||
"bounty": "Bug Bounty", | ||
"contactUs": "Contact Us", | ||
"contribute": "Contribute" | ||
}, | ||
|
@@ -133,6 +134,42 @@ | |
"contactUsTitle": "Contact Us", | ||
"addressCountry": "The Netherlands" | ||
}, | ||
"bountyPage": { | ||
"bountyTitle": "Peercoin Bug Bounty Program", | ||
"bountyDescription": "How You Can Help Make Peercoin Better", | ||
"bountyDisclosureHeader": "Responsible Disclosure Policy", | ||
"bountyDisclosureIntro": "Participants must comply with the following rules to qualify for a bug bounty reward.", | ||
"bountyDisclosurePoint1": "Participants must give a reasonable amount of time for the Peercoin Team to investigate the reported issue before sharing or making the bug public knowledge.", | ||
"bountyDisclosurePoint2": "Participants must not exploit a bug they discover for any reason.", | ||
|
||
"bountySubmissionHeader": "Bug Submission Rules", | ||
"bountySubmissionPoint1": "Adhere to the Responsible Disclosure Policy (see above).", | ||
"bountySubmissionPoint2": "If a participant has found a bug, please write a detailed report of the bug/vulnerability and email it to the foundation email provided below. The email should include both [Bug Bounty], followed by a short description of the bug/vulnerability in the title. Please allow three business days for a response.", | ||
"bountySubmissionPoint3": "Known or previously submitted bugs are not eligible for rewards.", | ||
"bountySubmissionPoint4": "Members of the Peercoin Foundation are not eligible to receive bug bounty rewards.", | ||
|
||
"bountyGuidelinesHeader": "Our Guidelines", | ||
"bountyGuidelinesIntro1": "The Peercoin Team recognizes and appreciates the researchers that help maintain the integrity of the project.", | ||
"bountyGuidelinesPoint1": "The Peercoin Team will investigate and respond to all valid and clearly submitted bug reports.", | ||
"bountyGuidelinesPoint2": "Payout amounts are determined by a number of factors, including scope, impact, likelihood, etc… Ultimately it will be determined according to the Peercoin Team’s judgement, following the OWASP risk rating model.", | ||
|
||
"bountyGuidelinesIntro2": "Reward sizes are estimated by the guidelines, but the Peercoin Team will have the sole and final discretion for payouts.", | ||
"bountyGuidelinesPoint3": "Critical: Money amount here", | ||
"bountyGuidelinesPoint4": "High: Money amount here", | ||
"bountyGuidelinesPoint5": "Medium: Money amount here", | ||
"bountyGuidelinesPoint6": "Low: Money amount here", | ||
"bountyGuidelinesPoint7": "Minimum Payout: Money amount here", | ||
|
||
"bountyGuidelinesIntro3": "In addition, other variables may be considered:", | ||
"bountyGuidelinesPoint8": "Description: Well-written, clear submissions will always have a higher reward.", | ||
"bountyGuidelinesPoint9": "Reproducibility: The easier a solution can be implemented, the higher the reward", | ||
|
||
"bountyScopeHeader": "Out of Scope", | ||
"bountyScopeIntro": "The Bug Bounty program only pertains to core protocol related issues. Website or social engineering related vulnerabilities are not eligible for a reward at this time.", | ||
"bountyContactHeader": "Contact Us", | ||
"bountyContactIntro": "To submit a bug report, contact the foundation below", | ||
"bountyContactEmail": "<a href='mailto:[email protected]'>[email protected]</a>" | ||
}, | ||
"contributePage": { | ||
"contributeTitle": "Contribute ", | ||
"contributeDescription": "How You Can Help Make Peercoin Better", | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,105 @@ | ||
import React, { Suspense } from "react"; | ||
import { useTranslation, Trans } from "react-i18next"; | ||
import renderHTML from "react-render-html"; | ||
import "./Bounty.scss"; | ||
import Menu from "../../components/Menu/Menu"; | ||
import Address from "../../components/Address/Address"; | ||
import Footer from "../../components/Footer/Footer"; | ||
import Loader from "../../components/Loader/Loader"; | ||
|
||
function Foundation() { | ||
const { t } = useTranslation(); | ||
|
||
return ( | ||
<> | ||
<Menu /> | ||
<div className="hero hero--thin"> | ||
<h1 className="hero__title">{t('bountyPage.bountyTitle')}</h1> | ||
<p className="hero__description"> | ||
{t('bountyPage.bountyDescription')} | ||
</p> | ||
</div> | ||
|
||
<div className="main text-sections"> | ||
<div className="container"> | ||
<div className="row"> | ||
<div className="col"> | ||
<h3 className="title title--green title--left"> | ||
{t("bountyPage.bountyDisclosureHeader")} | ||
</h3> | ||
<p>{t("bountyPage.bountyDisclosureIntro")}</p> | ||
<ul> | ||
<li className="list-item">{t("bountyPage.bountyDisclosurePoint1")}</li> | ||
<li className="list-item">{t("bountyPage.bountyDisclosurePoint2")}</li> | ||
</ul> | ||
|
||
<h2 className="title title--green title--left"> | ||
{t("bountyPage.bountySubmissionHeader")} | ||
</h2> | ||
<ul> | ||
<li className="list-item">{t("bountyPage.bountySubmissionPoint1")}</li> | ||
<li className="list-item">{t("bountyPage.bountySubmissionPoint2")}</li> | ||
<li className="list-item">{t("bountyPage.bountySubmissionPoint3")}</li> | ||
<li className="list-item">{t("bountyPage.bountySubmissionPoint4")}</li> | ||
</ul> | ||
|
||
<h2 className="title title--green title--left"> | ||
{t("bountyPage.bountyGuidelinesHeader")} | ||
</h2> | ||
<p>{t("bountyPage.bountyGuidelinesIntro1")}</p> | ||
<ul> | ||
<li className="list-item">{t("bountyPage.bountyGuidelinesPoint1")}</li> | ||
<li className="list-item">{t("bountyPage.bountyGuidelinesPoint2")}</li> | ||
</ul> | ||
|
||
<div className="bounty-image-parent"> | ||
<img | ||
src="/img/bounty_chart.svg" | ||
alt="Peercoin Bounty Chart" | ||
className="bounty-image" | ||
/> | ||
</div> | ||
|
||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. actual reward numbers could use an h2/3 for a title |
||
<p>{t("bountyPage.bountyGuidelinesIntro2")}</p> | ||
<ul> | ||
<li className="list-item">{t("bountyPage.bountyGuidelinesPoint3")}</li> | ||
<li className="list-item">{t("bountyPage.bountyGuidelinesPoint4")}</li> | ||
<li className="list-item">{t("bountyPage.bountyGuidelinesPoint5")}</li> | ||
<li className="list-item">{t("bountyPage.bountyGuidelinesPoint6")}</li> | ||
<li className="list-item">{t("bountyPage.bountyGuidelinesPoint7")}</li> | ||
</ul> | ||
|
||
<p>{t("bountyPage.bountyGuidelinesIntro3")}</p> | ||
<ul> | ||
<li className="list-item">{t("bountyPage.bountyGuidelinesPoint8")}</li> | ||
<li className="list-item">{t("bountyPage.bountyGuidelinesPoint9")}</li> | ||
</ul> | ||
|
||
<h2 className="title title--green title--left"> | ||
{t("bountyPage.bountyScopeHeader")} | ||
</h2> | ||
<p>{t("bountyPage.bountyScopeIntro")}</p> | ||
|
||
<h2 className="title title--green title--left"> | ||
{t("bountyPage.bountyContactHeader")} | ||
</h2> | ||
<p>{t("bountyPage.bountyContactIntro")}</p> | ||
<p>{renderHTML(t("bountyPage.bountyContactEmail"))}</p> | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. or just link to /contact ? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Your choice. I like to keep everything one page but I see how that makes extra work There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. makes it easier should we have multiple ways for contact in the future There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Fixed There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. don't see a fix here? forgot to push? |
||
</div> | ||
</div> | ||
</div> | ||
</div> | ||
<Footer /> | ||
</> | ||
); | ||
} | ||
|
||
function HoF() { | ||
return ( | ||
<Suspense fallback={<Loader open={true} />}> | ||
<Foundation /> | ||
</Suspense> | ||
); | ||
} | ||
|
||
export default HoF; |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
.list-item { | ||
willyfromtheblock marked this conversation as resolved.
Show resolved
Hide resolved
|
||
font-weight: 300; | ||
font-size: 1.6rem; | ||
line-height: 2.5rem; | ||
} | ||
|
||
.bounty-image-parent { | ||
width: 100%; | ||
text-align: center; | ||
padding: 1vw; | ||
} | ||
|
||
.bounty-image { | ||
width: 70%; | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
consider making the title lines h2's
let's the design breath and has nicer spacing
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Completed this