From 64ae55ad96d2feb3c8efe3094654113c06dd284c Mon Sep 17 00:00:00 2001 From: 0xBRL <113193796+0xBRL@users.noreply.github.com> Date: Wed, 12 Oct 2022 02:21:07 -0300 Subject: [PATCH 01/17] chore(github): add templates for the issues --- .../\360\237\232\200-feature-request.md" | 20 ++++++++++ .../\360\237\252\262-bug-report.md" | 38 +++++++++++++++++++ 2 files changed, 58 insertions(+) create mode 100644 ".github/ISSUE_TEMPLATE/\360\237\232\200-feature-request.md" create mode 100644 ".github/ISSUE_TEMPLATE/\360\237\252\262-bug-report.md" diff --git "a/.github/ISSUE_TEMPLATE/\360\237\232\200-feature-request.md" "b/.github/ISSUE_TEMPLATE/\360\237\232\200-feature-request.md" new file mode 100644 index 00000000..8135d99f --- /dev/null +++ "b/.github/ISSUE_TEMPLATE/\360\237\232\200-feature-request.md" @@ -0,0 +1,20 @@ +--- +name: "\U0001F680 Feature request" +about: Suggest an idea for this project +title: '' +labels: feature +assignees: '' + +--- + +**Is your feature request related to a problem? Please describe.** +A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] + +**Describe the solution you'd like** +A clear and concise description of what you want to happen. + +**Describe alternatives you've considered** +A clear and concise description of any alternative solutions or features you've considered. + +**Additional context** +Add any other context or screenshots about the feature request here. diff --git "a/.github/ISSUE_TEMPLATE/\360\237\252\262-bug-report.md" "b/.github/ISSUE_TEMPLATE/\360\237\252\262-bug-report.md" new file mode 100644 index 00000000..c8dc5452 --- /dev/null +++ "b/.github/ISSUE_TEMPLATE/\360\237\252\262-bug-report.md" @@ -0,0 +1,38 @@ +--- +name: "\U0001FAB2 Bug report" +about: Create a report to help us improve +title: '' +labels: bug +assignees: '' + +--- + +**Describe the bug** +A clear and concise description of what the bug is. + +**To Reproduce** +Steps to reproduce the behavior: +1. Go to '...' +2. Click on '....' +3. Scroll down to '....' +4. See error + +**Expected behavior** +A clear and concise description of what you expected to happen. + +**Screenshots** +If applicable, add screenshots to help explain your problem. + +**Desktop (please complete the following information):** + - OS: [e.g. iOS] + - Browser [e.g. chrome, safari] + - Version [e.g. 22] + +**Smartphone (please complete the following information):** + - Device: [e.g. iPhone6] + - OS: [e.g. iOS8.1] + - Browser [e.g. stock browser, safari] + - Version [e.g. 22] + +**Additional context** +Add any other context about the problem here. From 16fcd9d1b8b3033a971d6901ebf4aaffcb7a053a Mon Sep 17 00:00:00 2001 From: 0xBRL Date: Wed, 12 Oct 2022 03:49:18 -0300 Subject: [PATCH 02/17] feat(logo): add the added proposal for zyon logo --- .hacktoberfest/proposals/logo/0xBRL/logo.png | Bin 0 -> 81489 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 .hacktoberfest/proposals/logo/0xBRL/logo.png diff --git a/.hacktoberfest/proposals/logo/0xBRL/logo.png b/.hacktoberfest/proposals/logo/0xBRL/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..328143a42efaa17216b26bdc7c0ed8229aba0b7a GIT binary patch literal 81489 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 Fn^hfv6t8EGQVn0u)7`iOC0>-7&j`Kfd+ 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 Date: Wed, 12 Oct 2022 06:40:52 -0300 Subject: [PATCH 03/17] feat(index): update home page to show coming soon page --- .gitbook/assets/css/style.css | 77 ++++++++++++++++++++++++++++++ .gitbook/assets/fonts/Empires.otf | Bin 0 -> 40052 bytes .gitbook/assets/js/index.js | 49 +++++++++++++++++++ index.html | 64 ++++++++++++++++++------- 4 files changed, 172 insertions(+), 18 deletions(-) create mode 100644 .gitbook/assets/css/style.css create mode 100644 .gitbook/assets/fonts/Empires.otf create mode 100644 .gitbook/assets/js/index.js diff --git a/.gitbook/assets/css/style.css b/.gitbook/assets/css/style.css new file mode 100644 index 00000000..eabf2320 --- /dev/null +++ b/.gitbook/assets/css/style.css @@ -0,0 +1,77 @@ +@font-face { + font-family: Empires; + src: url("../fonts/Empires.otf") format("opentype"); +} + +@keyframes typing { + from { width: 0 } + to { width: 100% } +} + +html { + background: #08060b; + height: 100%; +} + +body { + margin: 0; + padding: 0; + height: 100%; +} + +h1, h2, p { + font-family: Fira Code; + color: #f4eeff; + text-align: center; + padding: 0; + margin: 0; +} + +h1 { + font-family: Empires; + font-size: 8rem; +} + +h2 { + font-size: 1.2rem; + overflow: hidden; + border-right: .15em solid #f4eeff; + white-space: nowrap; + width: 0; + animation: typing 1s forwards; +} + +#background { + opacity: 0.5; + overflow: hidden; +} + +#container { + -webkit-transform: translate(-50%,-50%); + transform: translate(-50%,-50%); + position: absolute; + top: 40%; + left: 50%; +} + +#content { + display: inline-block; +} + +#footer { + margin-top: 1rem; + text-align: center; +} + +.fa-brands { + margin: auto 0.5rem; + font-size: 2rem; + width: 2rem; + text-align: center; + text-decoration: none; + color: white; +} + +.fa-brands:hover { + opacity: 0.7; +} \ No newline at end of file diff --git a/.gitbook/assets/fonts/Empires.otf b/.gitbook/assets/fonts/Empires.otf new file mode 100644 index 0000000000000000000000000000000000000000..99a7d149066d58ccd13ab454c6d0704227e4d3b4 GIT binary patch literal 40052 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 pTmL> { + context.fillStyle = "rgba(0, 0, 0, 0.05)"; + context.fillRect(0, 0, canvas.width, canvas.height); + + context.fillStyle = "#0F0"; + context.font = fontSize + "px monospace"; + + for (let i = 0; i < rainDrops.length; i++) { + const text = alphabet.charAt( + Math.floor(Math.random() * alphabet.length) + ); + context.fillText(text, i * fontSize, rainDrops[i] * fontSize); + + if ( + rainDrops[i] * fontSize > canvas.height && + Math.random() > 0.975 + ) { + rainDrops[i] = 0; + } + rainDrops[i]++; + } +}; + +setInterval(draw, 30); \ No newline at end of file diff --git a/index.html b/index.html index 3523b796..e9ccafd6 100644 --- a/index.html +++ b/index.html @@ -1,21 +1,49 @@ - - - Document - - - - - - -
- - - + + + Zyon + + + + + + + + + +
+ +
+ +
+
+

Zion.

+

🚀 Programming the Future...

+
+ + +
+ + From 42a5a4676c63d39209eab8938e8c138c192e2c87 Mon Sep 17 00:00:00 2001 From: 0xBRL Date: Wed, 12 Oct 2022 07:08:18 -0300 Subject: [PATCH 04/17] Revert "feat(index): update home page to show coming soon page" This reverts commit 30f8ad3fd16bf89aefc5926e4d0c4d0d6cb5bde8. --- .gitbook/assets/css/style.css | 77 ------------------------------ .gitbook/assets/fonts/Empires.otf | Bin 40052 -> 0 bytes .gitbook/assets/js/index.js | 49 ------------------- index.html | 64 +++++++------------------ 4 files changed, 18 insertions(+), 172 deletions(-) delete mode 100644 .gitbook/assets/css/style.css delete mode 100644 .gitbook/assets/fonts/Empires.otf delete mode 100644 .gitbook/assets/js/index.js diff --git a/.gitbook/assets/css/style.css b/.gitbook/assets/css/style.css deleted file mode 100644 index eabf2320..00000000 --- a/.gitbook/assets/css/style.css +++ /dev/null @@ -1,77 +0,0 @@ -@font-face { - font-family: Empires; - src: url("../fonts/Empires.otf") format("opentype"); -} - -@keyframes typing { - from { width: 0 } - to { width: 100% } -} - -html { - background: #08060b; - height: 100%; -} - -body { - margin: 0; - padding: 0; - height: 100%; -} - -h1, h2, p { - font-family: Fira Code; - color: #f4eeff; - text-align: center; - padding: 0; - margin: 0; -} - -h1 { - font-family: Empires; - font-size: 8rem; -} - -h2 { - font-size: 1.2rem; - overflow: hidden; - border-right: .15em solid #f4eeff; - white-space: nowrap; - width: 0; - animation: typing 1s forwards; -} - -#background { - opacity: 0.5; - overflow: hidden; -} - -#container { - -webkit-transform: translate(-50%,-50%); - transform: translate(-50%,-50%); - position: absolute; - top: 40%; - left: 50%; -} - -#content { - display: inline-block; -} - -#footer { - margin-top: 1rem; - text-align: center; -} - -.fa-brands { - margin: auto 0.5rem; - font-size: 2rem; - width: 2rem; - text-align: center; - text-decoration: none; - color: white; -} - -.fa-brands:hover { - opacity: 0.7; -} \ No newline at end of file diff --git a/.gitbook/assets/fonts/Empires.otf b/.gitbook/assets/fonts/Empires.otf deleted file mode 100644 index 99a7d149066d58ccd13ab454c6d0704227e4d3b4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 40052 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 pTmL> { - context.fillStyle = "rgba(0, 0, 0, 0.05)"; - context.fillRect(0, 0, canvas.width, canvas.height); - - context.fillStyle = "#0F0"; - context.font = fontSize + "px monospace"; - - for (let i = 0; i < rainDrops.length; i++) { - const text = alphabet.charAt( - Math.floor(Math.random() * alphabet.length) - ); - context.fillText(text, i * fontSize, rainDrops[i] * fontSize); - - if ( - rainDrops[i] * fontSize > canvas.height && - Math.random() > 0.975 - ) { - rainDrops[i] = 0; - } - rainDrops[i]++; - } -}; - -setInterval(draw, 30); \ No newline at end of file diff --git a/index.html b/index.html index e9ccafd6..3523b796 100644 --- a/index.html +++ b/index.html @@ -1,49 +1,21 @@ - - - Zyon - - - - - - - - - -
- -
- -
-
-

Zion.

-

🚀 Programming the Future...

-
- - -
- - + + + Document + + + + + + +
+ + + From c77f9b098eb980cfaf64cc5ce86cc1dbe9a7603a Mon Sep 17 00:00:00 2001 From: 0xBRL Date: Wed, 12 Oct 2022 07:12:22 -0300 Subject: [PATCH 05/17] =?UTF-8?q?chore(github):=20add=20the=20code=20of=20?= =?UTF-8?q?conduct=20=F0=9F=93=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/CODE_OF_CONDUCT.md | 76 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 .github/CODE_OF_CONDUCT.md diff --git a/.github/CODE_OF_CONDUCT.md b/.github/CODE_OF_CONDUCT.md new file mode 100644 index 00000000..729173ac --- /dev/null +++ b/.github/CODE_OF_CONDUCT.md @@ -0,0 +1,76 @@ +# Contributor Covenant Code of Conduct + +## Our Pledge + +In the interest of fostering an open and welcoming environment, we as +contributors and maintainers pledge to making 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 both within project spaces and in public spaces +when an individual is representing the project or its community. Examples of +representing a project or community include using an official project e-mail +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 zyon.project.lab@gmail.com. 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][homepage], version 1.4, +available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html + +[homepage]: https://www.contributor-covenant.org + +For answers to common questions about this code of conduct, see +https://www.contributor-covenant.org/faq \ No newline at end of file From e377c0820efbb3872bd5af2daaddac03b50279a2 Mon Sep 17 00:00:00 2001 From: 0xBRL Date: Wed, 12 Oct 2022 07:13:44 -0300 Subject: [PATCH 06/17] chore(github): add the template pull request --- .github/PULL_REQUEST_TEMPLATE.md | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 .github/PULL_REQUEST_TEMPLATE.md diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 00000000..4fa5ffc2 --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,8 @@ +## Status +_OK | ERROR | NOT TEST :bug:_ + +## Description +_Brief description of the changes._ + +## More informations +_More information like links, images and code outputs..._ From c88d22fee8551949246b5187ef93b095a847e0d9 Mon Sep 17 00:00:00 2001 From: 0xBRL Date: Wed, 12 Oct 2022 07:17:22 -0300 Subject: [PATCH 07/17] chore(github): update the bug report template --- .github/ISSUE_TEMPLATE/bug-report.md | 19 ++++++++++ .../\360\237\252\262-bug-report.md" | 38 ------------------- 2 files changed, 19 insertions(+), 38 deletions(-) create mode 100644 .github/ISSUE_TEMPLATE/bug-report.md delete mode 100644 ".github/ISSUE_TEMPLATE/\360\237\252\262-bug-report.md" diff --git a/.github/ISSUE_TEMPLATE/bug-report.md b/.github/ISSUE_TEMPLATE/bug-report.md new file mode 100644 index 00000000..fbb3ce6b --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug-report.md @@ -0,0 +1,19 @@ +--- +name: Bug Report 🐞 +about: Something isn't working as expected? Here is the right place to report. +--- + +## Description +_Describe the issue that you're seeing._ + +### Steps to reproduce +_Clear steps describing how to reproduce the issue. Please please please link to a demo project if possible, this makes your issue much easier to diagnose (seriously)_ + +### Expected result +_What should happen?_ + +### Actual result +_What happened._ + +### More informations +_More information like links, images and code outputs..._ \ No newline at end of file diff --git "a/.github/ISSUE_TEMPLATE/\360\237\252\262-bug-report.md" "b/.github/ISSUE_TEMPLATE/\360\237\252\262-bug-report.md" deleted file mode 100644 index c8dc5452..00000000 --- "a/.github/ISSUE_TEMPLATE/\360\237\252\262-bug-report.md" +++ /dev/null @@ -1,38 +0,0 @@ ---- -name: "\U0001FAB2 Bug report" -about: Create a report to help us improve -title: '' -labels: bug -assignees: '' - ---- - -**Describe the bug** -A clear and concise description of what the bug is. - -**To Reproduce** -Steps to reproduce the behavior: -1. Go to '...' -2. Click on '....' -3. Scroll down to '....' -4. See error - -**Expected behavior** -A clear and concise description of what you expected to happen. - -**Screenshots** -If applicable, add screenshots to help explain your problem. - -**Desktop (please complete the following information):** - - OS: [e.g. iOS] - - Browser [e.g. chrome, safari] - - Version [e.g. 22] - -**Smartphone (please complete the following information):** - - Device: [e.g. iPhone6] - - OS: [e.g. iOS8.1] - - Browser [e.g. stock browser, safari] - - Version [e.g. 22] - -**Additional context** -Add any other context about the problem here. From fb12ccafdfa4f78c5e0e967164349d2eb7851eb7 Mon Sep 17 00:00:00 2001 From: 0xBRL Date: Wed, 12 Oct 2022 07:19:47 -0300 Subject: [PATCH 08/17] chore(github): add the template for the questions --- .github/ISSUE_TEMPLATE/question.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE/question.md diff --git a/.github/ISSUE_TEMPLATE/question.md b/.github/ISSUE_TEMPLATE/question.md new file mode 100644 index 00000000..3ce28ab0 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/question.md @@ -0,0 +1,13 @@ +--- +name: Question 🤔 +about: Usage question or discussion about docs. +--- + +## Summary +_Summary of the question or some discussion about the project._ + +## Relevant information +_Provide as much useful information as you can._ + +## More informations +_More information like links, images and code outputs..._ From 136df74067197f7e830784d39b914b8a9ede80f4 Mon Sep 17 00:00:00 2001 From: 0xBRL Date: Wed, 12 Oct 2022 07:27:54 -0300 Subject: [PATCH 09/17] chore(github): update the feature-request template --- .github/ISSUE_TEMPLATE/feature-request.md | 18 +++++++++++++++++ .../\360\237\232\200-feature-request.md" | 20 ------------------- 2 files changed, 18 insertions(+), 20 deletions(-) create mode 100644 .github/ISSUE_TEMPLATE/feature-request.md delete mode 100644 ".github/ISSUE_TEMPLATE/\360\237\232\200-feature-request.md" diff --git a/.github/ISSUE_TEMPLATE/feature-request.md b/.github/ISSUE_TEMPLATE/feature-request.md new file mode 100644 index 00000000..90cc4489 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature-request.md @@ -0,0 +1,18 @@ +--- +name: Feature request 🙏 +about: Suggest an idea for this project. +--- + +# Feature request 🙏 + +## Description +_A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]_ + +### Solution +_A clear and concise description of what you want to happen._ + +### Alternatives +_A clear and concise description of any alternative solutions or features you've considered._ + +### More informations +_More information like links, images and code outputs..._ diff --git "a/.github/ISSUE_TEMPLATE/\360\237\232\200-feature-request.md" "b/.github/ISSUE_TEMPLATE/\360\237\232\200-feature-request.md" deleted file mode 100644 index 8135d99f..00000000 --- "a/.github/ISSUE_TEMPLATE/\360\237\232\200-feature-request.md" +++ /dev/null @@ -1,20 +0,0 @@ ---- -name: "\U0001F680 Feature request" -about: Suggest an idea for this project -title: '' -labels: feature -assignees: '' - ---- - -**Is your feature request related to a problem? Please describe.** -A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] - -**Describe the solution you'd like** -A clear and concise description of what you want to happen. - -**Describe alternatives you've considered** -A clear and concise description of any alternative solutions or features you've considered. - -**Additional context** -Add any other context or screenshots about the feature request here. From ad4f097a36546f91c603b635994953b86dab5f24 Mon Sep 17 00:00:00 2001 From: 0xBRL Date: Wed, 12 Oct 2022 07:35:49 -0300 Subject: [PATCH 10/17] chore(github): add emojis in the feature-request template --- .github/ISSUE_TEMPLATE/feature-request.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/feature-request.md b/.github/ISSUE_TEMPLATE/feature-request.md index 90cc4489..a0970dd1 100644 --- a/.github/ISSUE_TEMPLATE/feature-request.md +++ b/.github/ISSUE_TEMPLATE/feature-request.md @@ -5,14 +5,14 @@ about: Suggest an idea for this project. # Feature request 🙏 -## Description +## Description 📝 _A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]_ -### Solution +### Solution 💡 _A clear and concise description of what you want to happen._ -### Alternatives +### Alternatives 💭 _A clear and concise description of any alternative solutions or features you've considered._ -### More informations +### More informations 🔎 _More information like links, images and code outputs..._ From 406099e154396b3a82b557c20584d5854ab3852c Mon Sep 17 00:00:00 2001 From: 0xBRL Date: Wed, 12 Oct 2022 08:12:22 -0300 Subject: [PATCH 11/17] chore(github): update the templates --- .github/ISSUE_TEMPLATE/bug-report.md | 14 ++++++++------ .github/ISSUE_TEMPLATE/question.md | 8 +++++--- .github/PULL_REQUEST_TEMPLATE.md | 12 +++++++----- 3 files changed, 20 insertions(+), 14 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug-report.md b/.github/ISSUE_TEMPLATE/bug-report.md index fbb3ce6b..e8e76cc6 100644 --- a/.github/ISSUE_TEMPLATE/bug-report.md +++ b/.github/ISSUE_TEMPLATE/bug-report.md @@ -3,17 +3,19 @@ name: Bug Report 🐞 about: Something isn't working as expected? Here is the right place to report. --- -## Description +# Bug Report 🐞 + +## Description 📝 _Describe the issue that you're seeing._ -### Steps to reproduce +### Steps to reproduce 🛠 _Clear steps describing how to reproduce the issue. Please please please link to a demo project if possible, this makes your issue much easier to diagnose (seriously)_ -### Expected result +### Expected result 🟢 _What should happen?_ -### Actual result +### Actual result 🟡 _What happened._ -### More informations -_More information like links, images and code outputs..._ \ No newline at end of file +### More informations 🔎 +_More information like links, images and code outputs..._ diff --git a/.github/ISSUE_TEMPLATE/question.md b/.github/ISSUE_TEMPLATE/question.md index 3ce28ab0..e2fb2926 100644 --- a/.github/ISSUE_TEMPLATE/question.md +++ b/.github/ISSUE_TEMPLATE/question.md @@ -3,11 +3,13 @@ name: Question 🤔 about: Usage question or discussion about docs. --- -## Summary +# Question 🤔 + +## Summary 📝 _Summary of the question or some discussion about the project._ -## Relevant information +## Relevant information ⭐️ _Provide as much useful information as you can._ -## More informations +## More informations 🔎 _More information like links, images and code outputs..._ diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 4fa5ffc2..151ebc16 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -1,8 +1,10 @@ -## Status -_OK | ERROR | NOT TEST :bug:_ - -## Description +## Description 📝 _Brief description of the changes._ -## More informations +## Issues 🔗 +_Links to issues, if needed._ + +## More informations 🔎 _More information like links, images and code outputs..._ + + From 763534540a81c6b4b9bba83686d2a521484049e9 Mon Sep 17 00:00:00 2001 From: Omm2005 <109162009+Omm2005@users.noreply.github.com> Date: Thu, 13 Oct 2022 20:48:15 +0530 Subject: [PATCH 12/17] Created --- .hacktoberfest/proposals/logo/Omm2005 | 1 + 1 file changed, 1 insertion(+) create mode 100644 .hacktoberfest/proposals/logo/Omm2005 diff --git a/.hacktoberfest/proposals/logo/Omm2005 b/.hacktoberfest/proposals/logo/Omm2005 new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/.hacktoberfest/proposals/logo/Omm2005 @@ -0,0 +1 @@ + From 600f40804c144849fad8de119997e2c4d5bfda21 Mon Sep 17 00:00:00 2001 From: Omm2005 <109162009+Omm2005@users.noreply.github.com> Date: Thu, 13 Oct 2022 20:49:03 +0530 Subject: [PATCH 13/17] uploaded logos --- Omm2005/1.png | Bin 0 -> 7137 bytes Omm2005/2.png | Bin 0 -> 196526 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 Omm2005/1.png create mode 100644 Omm2005/2.png diff --git a/Omm2005/1.png b/Omm2005/1.png new file mode 100644 index 0000000000000000000000000000000000000000..df0685858e445ed8e9d522c1c2932acd048d04cd GIT binary patch literal 7137 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 literal 0 HcmV?d00001 diff --git a/Omm2005/2.png b/Omm2005/2.png new file mode 100644 index 0000000000000000000000000000000000000000..41dc60194241764a7de26d97f3224969a35fc4b4 GIT binary patch literal 196526 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⁢Dc;Q!@B?CzeDp&VC4>P38Wm`IhjYDfKfR-)} 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⁢Dc;Q!@B?CzeDp&VC4>P38Wm`IhjYDfKfR-)} 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 literal 0 HcmV?d00001 From 354f1fe2e4eaac48e149d47b8789ec25f19d8332 Mon Sep 17 00:00:00 2001 From: Omm2005 <109162009+Omm2005@users.noreply.github.com> Date: Thu, 13 Oct 2022 20:52:45 +0530 Subject: [PATCH 16/17] Delete --- Omm2005/1.png | Bin 7137 -> 0 bytes Omm2005/2.png | Bin 196526 -> 0 bytes 2 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 Omm2005/1.png delete mode 100644 Omm2005/2.png diff --git a/Omm2005/1.png b/Omm2005/1.png deleted file mode 100644 index df0685858e445ed8e9d522c1c2932acd048d04cd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7137 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 diff --git a/Omm2005/2.png b/Omm2005/2.png deleted file mode 100644 index 41dc60194241764a7de26d97f3224969a35fc4b4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 196526 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⁢Dc;Q!@B?CzeDp&VC4>P38Wm`IhjYDfKfR-)} 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 From 54b15330c42255416ac1eb3ad349ef31a1738aa0 Mon Sep 17 00:00:00 2001 From: Silva Date: Thu, 13 Oct 2022 19:18:39 +0000 Subject: [PATCH 17/17] GitBook: [#3] No subject --- README.md | 10 +- SUMMARY.md | 130 +--- brand.md | 75 --- code/bug-bounty.md | 29 - code/contributing/README.md | 6 +- code/contributing/codebase-overview.md | 7 +- code/migration/README.md | 11 - code/migration/cake-syrup-pool.md | 221 ------- code/migration/masterchef-v2/README.md | 92 --- code/migration/masterchef-v2/list-of-farms.md | 100 --- code/migration/migrate-your-stakings.md | 117 ---- code/smart-contracts/README.md | 53 -- code/smart-contracts/cakevault.md | 9 - .../fixed-term-staking-cake-pool.md | 14 - code/smart-contracts/lottery-v2.md | 430 ------------- .../main-staking-masterchef-contract.md | 15 - .../pancakeswap-exchange/README.md | 2 - .../pancakeswap-exchange/factory-v2.md | 114 ---- .../pancakeswap-exchange/router-v2.md | 603 ------------------ code/smart-contracts/prediction-v2.md | 12 - contact-us/README.md | 22 - contact-us/business-partnerships.md | 84 --- contact-us/customer-support.md | 18 - contact-us/nft-market-applications.md | 35 - contact-us/telegram.md | 57 -- get-started/README.md | 31 - get-started/bep20-guide.md | 31 - get-started/connection-guide.md | 287 --------- ...ncakeswap-without-centralized-exchanges.md | 100 --- get-started/wallet-guide.md | 407 ------------ governance/farms.md | 2 - governance/lottery/README.md | 5 - governance/lottery/lottery-contract.md | 312 --------- governance/prediction.md | 2 - governance/syrup-pools/README.md | 9 - governance/syrup-pools/pooldeployer.md | 2 - .../syrup-pools/smartchefinitializable.md | 108 ---- help/README.md | 27 - help/binance-academy-guide.md | 5 - help/faq.md | 128 ---- help/troubleshooting.md | 428 ------------- ...nsaction-stuck-as-pending-with-metamask.md | 75 --- hiring/become-a-chef/README.md | 7 - .../business-development-manager.md | 38 -- ...communications-public-relations-manager.md | 44 -- .../become-a-chef/community-manager-ptbr.md | 42 -- hiring/become-a-chef/devops-engineer.md | 30 - hiring/become-a-chef/frontend-engineer.md | 36 -- hiring/become-a-chef/senior-qa-engineer.md | 30 - .../social-media-marketing-manager.md | 33 - hiring/become-a-chef/solidity-engineer.md | 36 -- products/coming-soon/README.md | 2 - products/coming-soon/new-cake-pool/README.md | 63 -- .../new-cake-pool/fixed-term-staking.md | 85 --- .../new-cake-pool/flexible-staking.md | 33 - products/coming-soon/zap.md | 86 --- products/ifo-initial-farm-offering/README.md | 53 -- .../contract-details.md | 4 - products/ifo-initial-farm-offering/icake.md | 59 -- .../ifo-initial-farm-offering/ifo-guide.md | 158 ----- products/info/README.md | 2 - products/info/pancakeswap-analytics.md | 8 - products/lottery/README.md | 63 -- products/lottery/lottery-faq.md | 82 --- products/lottery/lottery-guide.md | 129 ---- products/nft-market.md | 7 - products/nft-profile-system/README.md | 5 - products/nft-profile-system/profile-guide.md | 83 --- products/nft-profile-system/teams.md | 7 - products/pancakeswap-exchange/README.md | 25 - .../limit-orders/README.md | 5 - .../limit-orders/limit-orders-faq.md | 47 -- .../pancakeswap-exchange/liquidity-guide.md | 88 --- .../pancakeswap-exchange/pancakeswap-pools.md | 39 -- .../perpetual-trading/README.md | 7 - .../perpetual-trading/how-can-i-use-it.md | 114 ---- .../perpetual-trading-faq.md | 37 -- .../perpetual-trading/perpetuals-glossary.md | 87 --- .../what-is-perpetual-trading.md | 17 - products/pancakeswap-exchange/trade-guide.md | 65 -- products/pancakeswap-exchange/trade.md | 15 - products/pancakeswap-mini-program/README.md | 27 - .../how-to-use-pancakeswap-mini-program.md | 77 --- .../mini-program-faq.md | 49 -- products/pottery/README.md | 75 --- products/pottery/how-to-play-pottery.md | 59 -- products/pottery/pottery-faq.md | 69 -- products/prediction/README.md | 33 - products/prediction/prediction-faq.md | 94 --- products/prediction/prediction-guide.md | 167 ----- .../prediction/prediction-troubleshooting.md | 66 -- products/stableswap/README.md | 38 -- products/stableswap/how-to-stableswap.md | 78 --- products/syrup-pool/README.md | 51 -- .../new-cake-pool/cake-syrup-pool-faq.md | 83 --- .../syrup-pool/syrup-pool-guide/README.md | 83 --- .../syrup-pool-guide/syrup-pool-faq.md | 68 -- products/voting/README.md | 11 - products/voting/vcake.md | 40 -- products/voting/voting-guide/README.md | 78 --- .../how-to-vote-with-safepal-wallet.md | 22 - products/yield-farming/README.md | 52 -- products/yield-farming/bcake/README.md | 19 - products/yield-farming/bcake/faq.md | 132 ---- .../yield-farming/bcake/how-to-use-bcake.md | 64 -- .../crosschain-farming/README.md | 21 - .../yield-farming/crosschain-farming/faq.md | 120 ---- products/yield-farming/how-to-use-farms.md | 145 ----- reference/how-to-use-farms-with-bscscan.md | 181 ------ reference/old-tokenomics/README.md | 36 -- ...e-tokenomics-v1-controlling-cake-supply.md | 23 - .../old-tokenomics/cake-tokenomics-v1.md | 82 --- roadmap.md | 11 +- the-kitchen-team.md | 6 +- tokenomics/cake/README.md | 37 -- tokenomics/cake/cake-tokenomics.md | 84 --- tokenomics/cake/controlling-cake-supply.md | 17 - 117 files changed, 24 insertions(+), 8270 deletions(-) delete mode 100644 brand.md delete mode 100644 code/bug-bounty.md delete mode 100644 code/migration/README.md delete mode 100644 code/migration/cake-syrup-pool.md delete mode 100644 code/migration/masterchef-v2/README.md delete mode 100644 code/migration/masterchef-v2/list-of-farms.md delete mode 100644 code/migration/migrate-your-stakings.md delete mode 100644 code/smart-contracts/README.md delete mode 100644 code/smart-contracts/cakevault.md delete mode 100644 code/smart-contracts/fixed-term-staking-cake-pool.md delete mode 100644 code/smart-contracts/lottery-v2.md delete mode 100644 code/smart-contracts/main-staking-masterchef-contract.md delete mode 100644 code/smart-contracts/pancakeswap-exchange/README.md delete mode 100644 code/smart-contracts/pancakeswap-exchange/factory-v2.md delete mode 100644 code/smart-contracts/pancakeswap-exchange/router-v2.md delete mode 100644 code/smart-contracts/prediction-v2.md delete mode 100644 contact-us/README.md delete mode 100644 contact-us/business-partnerships.md delete mode 100644 contact-us/customer-support.md delete mode 100644 contact-us/nft-market-applications.md delete mode 100644 contact-us/telegram.md delete mode 100644 get-started/README.md delete mode 100644 get-started/bep20-guide.md delete mode 100644 get-started/connection-guide.md delete mode 100644 get-started/using-pancakeswap-without-centralized-exchanges.md delete mode 100644 get-started/wallet-guide.md delete mode 100644 governance/farms.md delete mode 100644 governance/lottery/README.md delete mode 100644 governance/lottery/lottery-contract.md delete mode 100644 governance/prediction.md delete mode 100644 governance/syrup-pools/README.md delete mode 100644 governance/syrup-pools/pooldeployer.md delete mode 100644 governance/syrup-pools/smartchefinitializable.md delete mode 100644 help/README.md delete mode 100644 help/binance-academy-guide.md delete mode 100644 help/faq.md delete mode 100644 help/troubleshooting.md delete mode 100644 help/unsticking-a-transaction-stuck-as-pending-with-metamask.md delete mode 100644 hiring/become-a-chef/README.md delete mode 100644 hiring/become-a-chef/business-development-manager.md delete mode 100644 hiring/become-a-chef/communications-public-relations-manager.md delete mode 100644 hiring/become-a-chef/community-manager-ptbr.md delete mode 100644 hiring/become-a-chef/devops-engineer.md delete mode 100644 hiring/become-a-chef/frontend-engineer.md delete mode 100644 hiring/become-a-chef/senior-qa-engineer.md delete mode 100644 hiring/become-a-chef/social-media-marketing-manager.md delete mode 100644 hiring/become-a-chef/solidity-engineer.md delete mode 100644 products/coming-soon/README.md delete mode 100644 products/coming-soon/new-cake-pool/README.md delete mode 100644 products/coming-soon/new-cake-pool/fixed-term-staking.md delete mode 100644 products/coming-soon/new-cake-pool/flexible-staking.md delete mode 100644 products/coming-soon/zap.md delete mode 100644 products/ifo-initial-farm-offering/README.md delete mode 100644 products/ifo-initial-farm-offering/contract-details.md delete mode 100644 products/ifo-initial-farm-offering/icake.md delete mode 100644 products/ifo-initial-farm-offering/ifo-guide.md delete mode 100644 products/info/README.md delete mode 100644 products/info/pancakeswap-analytics.md delete mode 100644 products/lottery/README.md delete mode 100644 products/lottery/lottery-faq.md delete mode 100644 products/lottery/lottery-guide.md delete mode 100644 products/nft-market.md delete mode 100644 products/nft-profile-system/README.md delete mode 100644 products/nft-profile-system/profile-guide.md delete mode 100644 products/nft-profile-system/teams.md delete mode 100644 products/pancakeswap-exchange/README.md delete mode 100644 products/pancakeswap-exchange/limit-orders/README.md delete mode 100644 products/pancakeswap-exchange/limit-orders/limit-orders-faq.md delete mode 100644 products/pancakeswap-exchange/liquidity-guide.md delete mode 100644 products/pancakeswap-exchange/pancakeswap-pools.md delete mode 100644 products/pancakeswap-exchange/perpetual-trading/README.md delete mode 100644 products/pancakeswap-exchange/perpetual-trading/how-can-i-use-it.md delete mode 100644 products/pancakeswap-exchange/perpetual-trading/perpetual-trading-faq.md delete mode 100644 products/pancakeswap-exchange/perpetual-trading/perpetuals-glossary.md delete mode 100644 products/pancakeswap-exchange/perpetual-trading/what-is-perpetual-trading.md delete mode 100644 products/pancakeswap-exchange/trade-guide.md delete mode 100644 products/pancakeswap-exchange/trade.md delete mode 100644 products/pancakeswap-mini-program/README.md delete mode 100644 products/pancakeswap-mini-program/how-to-use-pancakeswap-mini-program.md delete mode 100644 products/pancakeswap-mini-program/mini-program-faq.md delete mode 100644 products/pottery/README.md delete mode 100644 products/pottery/how-to-play-pottery.md delete mode 100644 products/pottery/pottery-faq.md delete mode 100644 products/prediction/README.md delete mode 100644 products/prediction/prediction-faq.md delete mode 100644 products/prediction/prediction-guide.md delete mode 100644 products/prediction/prediction-troubleshooting.md delete mode 100644 products/stableswap/README.md delete mode 100644 products/stableswap/how-to-stableswap.md delete mode 100644 products/syrup-pool/README.md delete mode 100644 products/syrup-pool/new-cake-pool/cake-syrup-pool-faq.md delete mode 100644 products/syrup-pool/syrup-pool-guide/README.md delete mode 100644 products/syrup-pool/syrup-pool-guide/syrup-pool-faq.md delete mode 100644 products/voting/README.md delete mode 100644 products/voting/vcake.md delete mode 100644 products/voting/voting-guide/README.md delete mode 100644 products/voting/voting-guide/how-to-vote-with-safepal-wallet.md delete mode 100644 products/yield-farming/README.md delete mode 100644 products/yield-farming/bcake/README.md delete mode 100644 products/yield-farming/bcake/faq.md delete mode 100644 products/yield-farming/bcake/how-to-use-bcake.md delete mode 100644 products/yield-farming/crosschain-farming/README.md delete mode 100644 products/yield-farming/crosschain-farming/faq.md delete mode 100644 products/yield-farming/how-to-use-farms.md delete mode 100644 reference/how-to-use-farms-with-bscscan.md delete mode 100644 reference/old-tokenomics/README.md delete mode 100644 reference/old-tokenomics/cake-tokenomics-v1-controlling-cake-supply.md delete mode 100644 reference/old-tokenomics/cake-tokenomics-v1.md delete mode 100644 tokenomics/cake/README.md delete mode 100644 tokenomics/cake/cake-tokenomics.md delete mode 100644 tokenomics/cake/controlling-cake-supply.md diff --git a/README.md b/README.md index ab0b8936..75a37e5d 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,7 @@ -# PancakeSwap Intro +# Zyon Intro -![](.gitbook/assets/intro-header.png) - -{% hint style="success" %} -**PancakeSwap helps you make the most out of your crypto in three ways:** - -**Trade, Earn, and Win.** +{% hint style="danger" %} +**Page under construction**! {% endhint %} ## ↔️ Trade diff --git a/SUMMARY.md b/SUMMARY.md index 6a7db7d2..bf3727f2 100644 --- a/SUMMARY.md +++ b/SUMMARY.md @@ -1,136 +1,10 @@ # Table of contents -* [PancakeSwap Intro](README.md) -* [Get Started](get-started/README.md) - * [Create a Wallet](get-started/wallet-guide.md) - * [Get BEP20 Tokens](get-started/bep20-guide.md) - * [Using PancakeSwap without Centralized Exchanges](get-started/using-pancakeswap-without-centralized-exchanges.md) - * [Connect Your Wallet to PancakeSwap](get-started/connection-guide.md) -* [Click Here for Help](help/README.md) - * [Troubleshooting Errors](help/troubleshooting.md) - * [General FAQ](help/faq.md) - * [Fixing Stuck Pending Transactions on MetaMask](help/unsticking-a-transaction-stuck-as-pending-with-metamask.md) - * [Binance Academy Guide](help/binance-academy-guide.md) -* [Contact Us](contact-us/README.md) - * [Business Partnerships](contact-us/business-partnerships.md) - * [NFT Marketplace Applications](contact-us/nft-market-applications.md) - * [Customer Support](contact-us/customer-support.md) - * [Social Accounts & Communities](contact-us/telegram.md) -* [The Kitchen Team](the-kitchen-team.md) +* [Zyon Intro](README.md) +* [The Zyon Team](the-kitchen-team.md) * [Roadmap](roadmap.md) -* [Brand & Logos](brand.md) - -## Products - -* [🔄 Exchange](products/pancakeswap-exchange/README.md) - * [Token Swaps](products/pancakeswap-exchange/trade.md) - * [How to Trade](products/pancakeswap-exchange/trade-guide.md) - * [Liquidity Pools](products/pancakeswap-exchange/pancakeswap-pools.md) - * [How to Add/Remove Liquidity](products/pancakeswap-exchange/liquidity-guide.md) - * [📝Limit Orders](products/pancakeswap-exchange/limit-orders/README.md) - * [Limit Orders FAQ](products/pancakeswap-exchange/limit-orders/limit-orders-faq.md) - * [Perpetual Trading](products/pancakeswap-exchange/perpetual-trading/README.md) - * [Perpetuals Glossary](products/pancakeswap-exchange/perpetual-trading/perpetuals-glossary.md) - * [What is Perpetual Trading?](products/pancakeswap-exchange/perpetual-trading/what-is-perpetual-trading.md) - * [How can I use it?](products/pancakeswap-exchange/perpetual-trading/how-can-i-use-it.md) - * [Perpetual Trading FAQ](products/pancakeswap-exchange/perpetual-trading/perpetual-trading-faq.md) -* [🚜 Yield Farming](products/yield-farming/README.md) - * [How to Use Farms](products/yield-farming/how-to-use-farms.md) - * [Crosschain Farming](products/yield-farming/crosschain-farming/README.md) - * [FAQ](products/yield-farming/crosschain-farming/faq.md) - * [bCAKE](products/yield-farming/bcake/README.md) - * [How to use bCAKE?](products/yield-farming/bcake/how-to-use-bcake.md) - * [FAQ](products/yield-farming/bcake/faq.md) -* [🍯 Syrup Pools - Stake CAKE](products/syrup-pool/README.md) - * [New CAKE Syrup Pool](products/coming-soon/new-cake-pool/README.md) - * [How to use the Flexible Staking option](products/coming-soon/new-cake-pool/flexible-staking.md) - * [How to use the Fixed-Term Staking option](products/coming-soon/new-cake-pool/fixed-term-staking.md) - * [CAKE Syrup Pool FAQ](products/syrup-pool/new-cake-pool/cake-syrup-pool-faq.md) - * [Other Syrup Pools](products/syrup-pool/syrup-pool-guide/README.md) - * [Syrup Pool FAQ & Troubleshooting](products/syrup-pool/syrup-pool-guide/syrup-pool-faq.md) -* [🔄 StableSwap](products/stableswap/README.md) - * [How to StableSwap](products/stableswap/how-to-stableswap.md) -* [🎟 Lottery v2](products/lottery/README.md) - * [How to Play Lottery v2](products/lottery/lottery-guide.md) - * [Lottery FAQ](products/lottery/lottery-faq.md) -* [🔮 Prediction](products/prediction/README.md) - * [How to Use Prediction](products/prediction/prediction-guide.md) - * [Prediction FAQ](products/prediction/prediction-faq.md) - * [Prediction Troubleshooting](products/prediction/prediction-troubleshooting.md) -* [🍯 Pottery](products/pottery/README.md) - * [How to Play Pottery](products/pottery/how-to-play-pottery.md) - * [Pottery FAQ](products/pottery/pottery-faq.md) -* [🖼 NFT Marketplace](products/nft-market.md) -* [🖼 NFT Profile System](products/nft-profile-system/README.md) - * [How to Set Up an NFT Profile](products/nft-profile-system/profile-guide.md) - * [Teams](products/nft-profile-system/teams.md) -* [🛍 IFO (Initial Farm Offering)](products/ifo-initial-farm-offering/README.md) - * [How to Participate in an IFO](products/ifo-initial-farm-offering/ifo-guide.md) - * [iCAKE](products/ifo-initial-farm-offering/icake.md) - * [Contract Details](products/ifo-initial-farm-offering/contract-details.md) -* [📈 Analytics (Info)](products/info/README.md) - * [Analytics](products/info/pancakeswap-analytics.md) -* [🗳 Voting](products/voting/README.md) - * [How to Vote](products/voting/voting-guide/README.md) - * [How to Vote with SafePal Wallet](products/voting/voting-guide/how-to-vote-with-safepal-wallet.md) - * [vCAKE](products/voting/vcake.md) -* [🌐 PancakeSwap Mini-Program](products/pancakeswap-mini-program/README.md) - * [How to Use PancakeSwap Mini-Program?](products/pancakeswap-mini-program/how-to-use-pancakeswap-mini-program.md) - * [Mini-Program FAQ](products/pancakeswap-mini-program/mini-program-faq.md) -* [🍳 Coming Soon!](products/coming-soon/README.md) - * [Zap](products/coming-soon/zap.md) - -## Tokenomics - -* [CAKE](tokenomics/cake/README.md) - * [CAKE Tokenomics](tokenomics/cake/cake-tokenomics.md) - * [Controlling CAKE supply](tokenomics/cake/controlling-cake-supply.md) ## Developers -* [Migration](code/migration/README.md) - * [Migrate Your Stakings](code/migration/migrate-your-stakings.md) - * [MasterChef v2](code/migration/masterchef-v2/README.md) - * [List of Farms](code/migration/masterchef-v2/list-of-farms.md) - * [CAKE Syrup Pool](code/migration/cake-syrup-pool.md) * [Contributing](code/contributing/README.md) * [Codebase Overview](code/contributing/codebase-overview.md) -* [Bug Bounty](code/bug-bounty.md) -* [Smart Contracts](code/smart-contracts/README.md) - * [PancakeSwap Exchange](code/smart-contracts/pancakeswap-exchange/README.md) - * [Factory v2](code/smart-contracts/pancakeswap-exchange/factory-v2.md) - * [Router v2](code/smart-contracts/pancakeswap-exchange/router-v2.md) - * [Main Staking/Syrup Pool/MasterChef Contract](code/smart-contracts/main-staking-masterchef-contract.md) - * [CAKE Syrup Pool](code/smart-contracts/fixed-term-staking-cake-pool.md) - * [Prediction V2](code/smart-contracts/prediction-v2.md) - * [Lottery v2](code/smart-contracts/lottery-v2.md) - * [Auto CAKE Syrup Pool (CakeVault)](code/smart-contracts/cakevault.md) - -## Hiring - -* [Become a Chef](hiring/become-a-chef/README.md) - * [Frontend Engineer](hiring/become-a-chef/frontend-engineer.md) - * [Solidity Engineer](hiring/become-a-chef/solidity-engineer.md) - * [DevOps Engineer](hiring/become-a-chef/devops-engineer.md) - * [Blockchain QA Engineer](hiring/become-a-chef/senior-qa-engineer.md) - * [Business Development Manager](hiring/become-a-chef/business-development-manager.md) - * [Communications/Public Relations Manager](hiring/become-a-chef/communications-public-relations-manager.md) - * [Social Media Marketing Manager](hiring/become-a-chef/social-media-marketing-manager.md) - * [Community Manager - PTBR](hiring/become-a-chef/community-manager-ptbr.md) - -## Reference - -* [Old Tokenomics](reference/old-tokenomics/README.md) - * [CAKE Tokenomics v1](reference/old-tokenomics/cake-tokenomics-v1.md) - * [Controlling CAKE supply v1](reference/old-tokenomics/cake-tokenomics-v1-controlling-cake-supply.md) -* [How to Use Farms with BscScan](reference/how-to-use-farms-with-bscscan.md) - -## Contract Governance - -* [Lottery](governance/lottery/README.md) - * [Lottery Contract](governance/lottery/lottery-contract.md) -* [Prediction](governance/prediction.md) -* [Farms](governance/farms.md) -* [Syrup Pools](governance/syrup-pools/README.md) - * [SmartChefInitializable](governance/syrup-pools/smartchefinitializable.md) - * [PoolDeployer](governance/syrup-pools/pooldeployer.md) diff --git a/brand.md b/brand.md deleted file mode 100644 index b29a2bde..00000000 --- a/brand.md +++ /dev/null @@ -1,75 +0,0 @@ ---- -description: Guidlines and downloadable assets like the PancakeSwap logo SVG ---- - -# Brand & Logos - -![](<.gitbook/assets/Frame 6.png>) - -👇[ Jump to logo download](brand.md#pancakeswap-logo-downloads) - -## Intro - -PancakeSwap logo downloads are at the bottom of this page, but please be sure to read these guidelines first. - -> Although PancakeSwap distributes some of its technology under open-source licenses, **the PancakeSwap and CAKE brands are not distributed under the same licenses.** - -The following PancakeSwap "Brand Assets" are copyrighted material, and you may only use them in accordance with the policy detailed below: - -* The PancakeSwap and CAKE logos, wordmark, icon -* The PancakeSwap name -* Other visual assets produced by PancakeSwap including but not limited to illustrations and 3d models - -## What you may do - -You may use PancakeSwap's Brand Assets when you are: - -* 👌 Referring to our products and services -* 👌 Linking to our official site or products, such as "Trade our token on PancakeSwap" -* 👌 Announcing an official partnership, but only if you have **official approval** by a qualified member of the PancakeSwap team - -For information on other uses of our Brand Assets, please reach out at info@pancakeswap.com - -## What you may not do - -While we strongly believe in and follow the open source ethos, **protecting the PancakeSwap brand is extremely important for our users' security,** so that users know what is a genuine product/endorsement and what isn't. - -Here are a few examples of forbidden uses of our Brand Assets: - -* ⛔️ **Don't use our Brand Assets in your products' name, logo, NFTs, etc.** - * For example, making an app called "PancakeSwap Engine" or "CAKE Child" are not allowed. - * Don't use the PancakeSwap logo in whole or in part as part of your products' logos, marketing material, website, or other. - * Logos with a strong resemblence to the PancakeSwap Icon are also forbidden. -* ⛔️ **Don't use our Brand Assets to create digital or physcial products for sale, including but not limited to** - * Merchandise ("Swag") - * NFTs - * Other products -* ⛔️ **Don't create derivative names that imply official endorsement** - - For example, don't make a social media group called "PancakeSwap Italy" - this sounds official. "PancakeSwap Fans of Italy" may be permitted. -* ⛔️ **Don't change or adapt our Brand Assets in any way** - - Use the logos and other assets exactly as provided. Do not change the colors, reassemble, abbreviate, or change these assets in any way. - -Use your common sense and creativity. If you want to make something relating to the PancakeSwap ecosystem, make it your own. - -Have fun making a unique brand that's clearly yours -- if your product is strong, you won't need to rely on remixing PancakeSwap's brand. - -## PancakeSwap Logo Downloads - -![](<.gitbook/assets/Frame 4.png>) - -Once you've read all the above, download the PancakeSwap and CAKE logos below. - -{% file src=".gitbook/assets/PancakeSwap Logos.zip" %} -Download the official PancakeSwap and CAKE logos. -{% endfile %} - -By downloading this file, you confirm that you will only use it to the extent permitted by the Terms detailed in this page. - -{% hint style="info" %} -As of November 1st, the CAKE token logo will also be represented by the PancakeSwap Rabbit icon. - -The previous CAKE icon, representing pancakes, has been depracated. -{% endhint %} - diff --git a/code/bug-bounty.md b/code/bug-bounty.md deleted file mode 100644 index 79b8efb8..00000000 --- a/code/bug-bounty.md +++ /dev/null @@ -1,29 +0,0 @@ -# Bug Bounty - -The PancakeSwap bug bounty program is focused around our smart contracts, websites, and apps with a primary interest in the prevention of loss of user funds, either by direct draining of locked funds or social engineering attacks by redirecting users or forcing them to sign a transaction. - -{% embed url="https://immunefi.com/bounty/pancakeswap/" caption="" %} - -**Smart Contracts and Blockchain**\* - -| Level | | -| :--- | :--- | -| Critical | up to USD $1,000,000 | -| High | USD $40,000 | -| Medium | USD $5,000 | -| Low | USD $1,000 | - -\*All bug reports must include a Proof of Concept demonstrating how the vulnerability can be exploited to be eligible for a reward. This may be a smart contract itself or a transaction. - -**Website and Apps** - -| Level | | -| :--- | :--- | -| Critical\* | USD $7,500 | -| High | USD $4,000 | -| Medium | USD $1,500 | - -\*XSS reports are restricted to those that have an impact of prompting a user to sign a transaction or a redirect. - -All payouts are done by the **PancakeSwap** team and are pegged to the **USD** values set here and are payable in **CAKE** or **BUSD**. - diff --git a/code/contributing/README.md b/code/contributing/README.md index e0666983..4d803b6b 100644 --- a/code/contributing/README.md +++ b/code/contributing/README.md @@ -4,7 +4,9 @@ description: Thank you for expressing your interest in contributing to PancakeSw # Contributing -![](../../.gitbook/assets/developers-header.png) +{% hint style="danger" %} +**Page under construction**! +{% endhint %} PancakeSwap is an open-source project. If you want to contribute to the project, this section is here to guide you through your first steps with the PancakeSwap team 🥞 @@ -89,7 +91,7 @@ Create a [draft PR](https://github.blog/2019-02-14-introducing-draft-pull-reques Our Pull Request Title follow [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) using [commitlint](https://commitlint.js.org/#/).‌ -_More at_ [_Angular's guidelines_](https://github.com/angular/angular/blob/22b96b9/CONTRIBUTING.md#type)__ +_More at_ [_Angular's guidelines_](https://github.com/angular/angular/blob/22b96b9/CONTRIBUTING.md#type)\_\_ | Type | Description | | ------------ | ----------------------------------------------------------------------------------------------------------- | diff --git a/code/contributing/codebase-overview.md b/code/contributing/codebase-overview.md index 2f7ff015..0b482772 100644 --- a/code/contributing/codebase-overview.md +++ b/code/contributing/codebase-overview.md @@ -4,6 +4,10 @@ description: Find your way on Pancake Github # Codebase Overview +{% hint style="danger" %} +**Page under construction**! +{% endhint %} + ## Introduction All our repositories are stored on [Github](https://github.com/pancakeswap). Most of them are public, and you can freely submit an issue or a pull request. Make sure you read this whole guide, and the guidelines specific to each repository before. @@ -21,6 +25,5 @@ All our repositories are stored on [Github](https://github.com/pancakeswap). Mos | Toolkit | [https://github.com/pancakeswap/pancake-frontend/tree/master/packages/uikit](https://github.com/pancakeswap/pancake-frontend/tree/master/packages/uikit) | | [🔗Netlify](https://pancakeswap-uikit.netlify.app) | | Frontend | [](https://github.com/pancakeswap/pancake-frontend)[https://github.com/pancakeswap/pancake-frontend](https://github.com/pancakeswap/pancake-frontend) | | [🔗PancakeSwap](https://pancakeswap.finance) | | Smart Contract | [https://github.com/pancakeswap/pancake-smart-contracts](https://github.com/pancakeswap/pancake-smart-contracts) | | | -| Subgraph | [https://github.com/pancakeswap/pancake-subgraph ](https://github.com/pancakeswap/pancake-subgraph) | | | +| Subgraph | [https://github.com/pancakeswap/pancake-subgraph](https://github.com/pancakeswap/pancake-subgraph) | | | | SDK | [https://github.com/pancakeswap/pancake-swap-sdk](https://github.com/pancakeswap/pancake-swap-sdk) | | | - diff --git a/code/migration/README.md b/code/migration/README.md deleted file mode 100644 index 11796657..00000000 --- a/code/migration/README.md +++ /dev/null @@ -1,11 +0,0 @@ -# Migration - -Here are some useful documents for the migraiton of MasterChef v2 and CAKE staking pool. - -{% content-ref url="masterchef-v2/" %} -[masterchef-v2](masterchef-v2/) -{% endcontent-ref %} - -{% content-ref url="cake-syrup-pool.md" %} -[cake-syrup-pool.md](cake-syrup-pool.md) -{% endcontent-ref %} diff --git a/code/migration/cake-syrup-pool.md b/code/migration/cake-syrup-pool.md deleted file mode 100644 index e4dee37b..00000000 --- a/code/migration/cake-syrup-pool.md +++ /dev/null @@ -1,221 +0,0 @@ ---- -description: Migrate to new CAKE Syrup Pool ---- - -# CAKE Syrup Pool - -The new CakePool is a new $CAKE staking contract built based on the CakeVault (the current auto CAKE pool) and designed to work with PancakeSwap MasterChef v2 to provide "stake $CAKE, earn $CAKE" functionality while offering more features such as fixed-term staking. The current Manual CAKE pool will be retired after the migration. - -The new CakePool will use a dummy token to harvest $CAKE from MasterChef v2 and reward them to users who are staking $CAKE. Users who lock their $CAKE for longer will receive a more significant number of shares (boosted linearly based on duration), therefore, enjoy a higher yield. - -### Do I need to migrate? - -If you are currently using `enterStaking` and `leaveStaking` on the PancakeSwap MasterChef ([0x73feaa1eE314F8c655E354234017bE2193C9E24E](https://bscscan.com/address/0x73feaa1eE314F8c655E354234017bE2193C9E24E)), you will need to migrate to the new contract. - -### No more compounding - -With the new CakePool, rewards are distributed proportionally to all pool users based on shares. Similar to “interest-bearing tokens” or other share-based models, users’ staking balance will grow when more rewards are being put into the pool. Users don’t need to harvest and compound their rewards. - -### Fees - -In the new CakePool, all flexible staking users will be subjected to two sets of fees. - -#### Fee on flexible staking rewards - -A 2% fee will apply to all the rewards generated by flexible staking. The amount of the fee will be calculated and realized upon the next deposit or withdrawal action, cut from users’ shares. To query the number of the unrealized performance fee, use `calculatePerformanceFee(address _user)`. - -#### Withdrawal fee - -A 0.1% withdrawal fee will apply to the unstaking amount if you withdraw within 72 hours of the last deposit action. The withdrawal fee is cut from the final withdrawal amount before the CAKE transfer. - -### Overview - -#### Deposit - -If you are currently using the `enterStaking(uint256 _amount)` on the current PancakeSwap MasterChef. You need to migrate to `deposit(uint256 _amount, uint256 _lockDuration)`. For flexible staking, simply use “0” as `_lockDuration`. - -#### Staking Balance and Fees - -``` -Global variables: CakePoolContract // CAKE pool contract -struct UserInfo { - uint256 shares; // number of shares for a user. - uint256 lastDepositedTime; // timestamp of the last deposit action - uint256 cakeAtLastUserAction; // number of CAKE at the last user action - uint256 lastUserActionTime; // timestamp of the last user action - uint256 lockStartTime; // timestamp of the start of the lock. - uint256 lockEndTime; // timestamp of the end of the lock. - uint256 userBoostedShare; // the amount of shares boosted/added to the user. - bool locked; // status of the lock - uint256 lockedAmount; // number of CAKE locked at the start of the lock period. -} -``` - -**CAKE staking amount (before subtracting all the fees)** - -``` -const userInfo. = await CakePoolContract.userInfo(address); -const PricePerFullShare = await CakePoolContract.getPricePerFullShare(); -const cakeAmount = userInfo.shares * PricePerFullShare / 1e18 - userInfo.userBoostedShare ; // cake amount (wei), in flexible staking, userInfo.userBoostedShare should be 0. -``` - -**Performance Fee** - -Query from contract: - -``` -const performanceFeeAmount = await CakePoolContract.calculatePerformanceFee(address); -``` - -Calculate it manually: - -``` -async function calculatePerformanceFeeAmount(_user:address){ - const user = await CakePoolContract.userInfo(address); - const isFreeFee = await CakePoolContract.freeFeeUsers(_user); //normal free fee users are some special contracts , so you can set default false - - if(user.shares > 0 && !user.locked && !isFreeFee){ - const PricePerFullShare = await CakePoolContract.getPricePerFullShare(); - uint256 totalAmount = user.shares * PricePerFullShare / 1e18; - uint256 earnAmount = totalAmount - user.cakeAtLastUserAction; - uint256 performanceFee = await CakePoolContract.performanceFee(); - uint256 currentPerformanceFee = (earnAmount * performanceFee) / 10000; - return currentPerformanceFee; - } - return 0; -} -``` - -**Overdue Fee: (only applies to locked staking)** - -Query from contract: - -``` -const overdueFeeAmount = await CakePoolContract.calculateOverdueFee(address); -``` - -Calculate it manually: - -``` -async function calculateOverdueFee(_user:address){ - const user = await CakePoolContract.userInfo(address); - const isFreeFee = await CakePoolContract.freeFeeUsers(_user); //normal free fee users are some special contracts , so you can set default false - const UNLOCK_FREE_DURATION = 1 week seconds (or you can get from smart contract, const UNLOCK_FREE_DURATION = await CakePoolContract.UNLOCK_FREE_DURATION()) - const DURATION_FACTOR_OVERDUE = 180 * 24 * 3600; // 180 days, in order to calculate overdue fee. you can get it from contract too. - - if ( - user.shares > 0 && - user.locked && - !isFreeFee && - ((user.lockEndTime + UNLOCK_FREE_DURATION) < block.timestamp) - ) { - const PricePerFullShare = await CakePoolContract.getPricePerFullShare(); - uint256 currentAmount = user.shares * PricePerFullShare / 1e18 - user.userBoostedShare; - uint256 earnAmount = currentAmount - user.lockedAmount; - uint256 overdueDuration = block.timestamp - user.lockEndTime - UNLOCK_FREE_DURATION; // you can use UTC timestamp to replace current block.timestamp. - if (overdueDuration > DURATION_FACTOR_OVERDUE) { - overdueDuration = DURATION_FACTOR_OVERDUE; - } - // Rates are calculated based on the user's overdue duration. - uint256 overdueWeight = (overdueDuration * overdueFee) / DURATION_FACTOR_OVERDUE; - uint256 currentOverdueFee = (earnAmount * overdueWeight) / PRECISION_FACTOR; - return currentOverdueFee; - } - return 0; -} -``` - -**Withdraw Fee** - -``` -const user = await CakePoolContract.userInfo(address); -const withdrawFee = await CakePoolContract.withdrawFee(); -const isFreeFee = await CakePoolContract.freeFeeUsers(_user); //normal free fee users are some special contracts , so you can set default false -let WithdrawFeeAmount = 0; -// you can use UTC timestamp to replace current block.timestamp. -// withdrawFeePeriod = 72 * 3600 (S) -// _amount : withdraw amount -if (!isFreeFee && (block.timestamp < user.lastDepositedTime + withdrawFeePeriod)) { - WithdrawFeeAmount = _amount * withdrawFee; -} -``` - -**CAKE staking amount (after subtracting all the fees)** - -``` -const user = await CakePoolContract.userInfo(address); -const cakeAmountWithoutFee = cakeAmount - (!user.locked ? performanceFeeAmount : overdueFeeAmount) - withdrawFeeAmount -``` - -#### Pending Rewards - -Please note that the new pool does not require any compounding. Rewards are being put into your staking balance automatically. - -However, you can query the number of CAKE earned since the last action, using the difference between the current staking balance (mentioned above), and the number from `userInfo.cakeAtLastUserAction`. - -#### Withdraw - -If you are using the `leaveStaking(uint256 _amount)` method on the current PancakeSwap MasterChef. You need to migrate to `withdraw(uint256 _shares)`. - -When doing flexible staking. Please note that upon withdrawing, the pending reward fees will be calculated and cut from the number of users’ shares, the actual number of shares being withdrawn will be re-calibrated, based on the percentage of the shares you are withdrawing against the total shares you have. See the example below: - -``` -// the number of CAKE being withdrawn can be calculated by: -withdrawPercentage = _sharesToWithdraw / userInfo.shares -stakingBalance = userInfo.shares * PricePerFullShare / 1e18 - userInfo.userBoostedShare - !userInfo.locked ? calculatePerformanceFee(_userAddress) : calculateOverdueFee(_userAddress) -finalWithdrawAmount = withdrawPercentage * stakingBalance -``` - -Please note that the final receiving amount will be affected by withdraw fee. If your function relies crucially on the final number of CAKE being withdrawn, we recommend calculating that using the difference in CAKE balance before and after the withdrawal action: - -``` -cakeBalPrev = CAKE.balanceOf(address(this)) -CakePool.withdraw(_sharesToWithdraw) -cakeBalNew = CAKE.balanceOf(address(this)) -cakeWithdrawn = cakeBalNew - cakeBalPrev -``` - -Or, calculate and subtract the withdraw fee when estimating the amount. - -#### How to calculate the CAKE per block distributed to the new CAKE pool? - -Previously, the manual CAKE pool had a fixed 10 CAKE/block emission. After migrating to MasterChef v2 and the new CAKE pool, we can now adjust its emissions. - -And here's how you can calculate the CAKE per block distributed to the new CAKE pool: - -`cakePerBlockToPool = MasterChef.cakePerBlock(false) * (cakePool.allocPoint / MasterChef.totalSpecialAllocPoint)` - -You can query the `cakePool.allocPoint` using `MasterChef.poolInfo(0)` - -### **Mainnet Contract Address** - -**Contract name:** CakePool\ -**Contract address:** `0x45c54210128a065de780C4B0Df3d16664f7f859e` - -[View the PancakeSwap: Cake Pool Contract on BscScan.](https://bscscan.com/address/0x45c54210128a065de780C4B0Df3d16664f7f859e)**** - -### **Testnet Environment** - -You can use the following testnet environment to test the integration of your project with the new PancakeSwap CAKE Pool. If you have any questions, please contact our team via the existing channels, or reach out to bun@pancakeswap.com via Email. - -**Dummy Tokens:** - -* $CAKE: `0xFa60D973F7642B748046464e165A65B7323b0DEE`\ - (mintable by using `mint(address _to, uint256 _amount) public`) -* $WBNB: `0xae13d989daC2f0dEbFf460aC112a837C89BAa7cd` - -#### Factory and Router - -* Factory v2: `0x6725F303b657a9451d8BA641348b6761A6CC7a17` -* Router v2: `0xD99D1c33F9fC3444f8101754aBC46c52416550D1` - -#### MasterChefs - -* v1: `0x1ED62c7b76AD29Bfb80F3329d1ce7e760aAD153d` - * pid0: Manual CAKE - * pid4: Dummy Pool for MasterChef v2 -* v2: `0xB4A466911556e39210a6bB2FaECBB59E4eB7E43d` - -#### New CAKE Pool - -`0x683433ba14e8F26774D43D3E90DA6Dd7a22044Fe` diff --git a/code/migration/masterchef-v2/README.md b/code/migration/masterchef-v2/README.md deleted file mode 100644 index c650d2a0..00000000 --- a/code/migration/masterchef-v2/README.md +++ /dev/null @@ -1,92 +0,0 @@ ---- -description: Migrate to MasterChef v2 ---- - -# MasterChef v2 - -PancakeSwap MasterChef v2 is a new main staking contract for Farms while providing more flexibility for adjusting the $CAKE emissions, including CAKE pool, burn and other PancakeSwap products. - -### Do I need to migrate? - -If you are currently using PancakeSwap MasterChef ([0x73feaa1eE314F8c655E354234017bE2193C9E24E](https://bscscan.com/address/0x73feaa1eE314F8c655E354234017bE2193C9E24E)), you will need to migrate to the new contract ([0xa5f8C5Dbd5F286960b9d90548680aE5ebFf07652](https://bscscan.com/address/0xa5f8C5Dbd5F286960b9d90548680aE5ebFf07652)). - -### Overview - -#### Deposit - -If you are currently using the `enterStaking(uint256 _amount)` on the current PancakeSwap MasterChef. You need to migrate to the new CAKE pool contract. Check out the related documentation [here](../cake-syrup-pool.md). - -The deposit function for the farm pools is unchanged. However, you will need to upgrade the MasterChef address and the `pid` , check out the [list of farms](list-of-farms.md) for the list of new `pids` on MasterChef v2. - -#### Pool types - -MasterChef v2 have 2 types of pool: Regular farm pools and Special farm pools, which you can use `poolInfo(_pid).isRegular` to query the pool type. They share a different `totalAllocPoint`, making them two sets of independent pools. - -Special farm pools: only whitelisted addresses can deposit. They are usually utilized by internal PancakeSwap products for rewards distributions. - -Regular farm pools: the regular LP tokens farms. For example CAKE-BNB, BNB-BUSD, etc… - -#### Withdraw - -If you are currently using the `leaveStaking(uint256 _amount)` on the current PancakeSwap MasterChef. You need to migrate to the new CAKE pool contract. Check out the related documentation [here](../cake-syrup-pool.md). - -The withdraw function for the farm pools is unchanged. However, you will need to update the MasterChef address and the `pid` , check out the [list of farms](list-of-farms.md) for the list of new `pids` on MasterChef v2. - -#### Staking Balance - -Use `userInfo[_pid][_user].amount` to query the staking balance. - -#### Staking Token - -Note that the new `PoolInfo` struct **does not** contain the lp token address field, you will need to use `lpToken(_pid)` to query any given pool's staking token. - -#### Total Staking Shares/Amount - -Use `lpToken.balanceOf(MasterChef.address)` to get the total staking amount for any given farm pool. - -However, In MasterChef v2, the users' share can be boosted (coming soon). Therefore, rewards are calculated using a new `totalBoostedShare` field in `PoolInfo` as each pool’s total shares. For example, if pool 0 has 2 users, user1 stake 100 LPs (without boost), user2 stake 100 (with `boostMultiplier` being 1.05), then the `totalBoostedShare` will become 205. Resulting in user2 gaining more rewards. - -#### CakePerBlock - -You can use `cakePerBlock(bool _isRegular)` to query the CAKE reward per block that goes to all the PancakeSwap farms. - -### Mainnet Contract Address - -**Contract name:** MasterChef v2\ -**Contract address:** `0xa5f8C5Dbd5F286960b9d90548680aE5ebFf07652` - -[View the PancakeSwap: Main Staking Contract v2 on BscScan.](https://bscscan.com/address/0xa5f8C5Dbd5F286960b9d90548680aE5ebFf07652) - -### Testnet Environment - -You can use the following testnet environment to test the integration of your project with the new PancakeSwap MasterChef v2. If you have any questions, please contact our team via the existing channels, or reach out to bun@pancakeswap.com via Email. - -**Dummy Tokens:** - -* $CAKE: `0xFa60D973F7642B748046464e165A65B7323b0DEE`\ - (mintable by using `mint(address _to, uint256 _amount) public`) -* $BUSD: `0x8516Fc284AEEaa0374E66037BD2309349FF728eA`\ - ``(mintable by using `mint(uint256 amount) public`) -* $WBNB: `0xae13d989daC2f0dEbFf460aC112a837C89BAa7cd` - -#### Factory and Router - -* Factory v2: `0x6725F303b657a9451d8BA641348b6761A6CC7a17` -* Router v2: `0xD99D1c33F9fC3444f8101754aBC46c52416550D1` - -#### LP Pairs - -* CAKE-WBNB: `0xa96818CA65B57bEc2155Ba5c81a70151f63300CD` -* CAKE-BUSD: `0xb98C30fA9f5e9cf6749B7021b4DDc0DBFe73b73e` - -#### MasterChefs - -* v1: `0x1ED62c7b76AD29Bfb80F3329d1ce7e760aAD153d` - * pid0: Manual CAKE - * pid4: Dummy Pool for MasterChef v2 - * pid5: CAKE-BUSD: `0xb98C30fA9f5e9cf6749B7021b4DDc0DBFe73b73e` - * pid6: CAKE-WBNB: `0xa96818CA65B57bEc2155Ba5c81a70151f63300CD` -* v2: `0xB4A466911556e39210a6bB2FaECBB59E4eB7E43d` - * pid3: CAKE-BUSD: `0xb98C30fA9f5e9cf6749B7021b4DDc0DBFe73b73e` - * pid4: CAKE-WBNB: `0xa96818CA65B57bEc2155Ba5c81a70151f63300CD` - diff --git a/code/migration/masterchef-v2/list-of-farms.md b/code/migration/masterchef-v2/list-of-farms.md deleted file mode 100644 index 9083f2c0..00000000 --- a/code/migration/masterchef-v2/list-of-farms.md +++ /dev/null @@ -1,100 +0,0 @@ -# List of Farms - - - -| MCv1 pid | MCv2 pid | lpToken address | lpToken name | allocPoint | -| -------- | -------- | ------------------------------------------ | --------------- | ---------- | -| 251 | 2 | 0x0eD7e52944161450477ee417DE9Cd3a859b14fD0 | Cake-BNB LP | 4000 | -| 252 | 3 | 0x58F876857a02D6762E0101bb5C46A8c1ED44Dc16 | BNB-BUSD LP | 1100 | -| 253 | 4 | 0x28415ff2C35b65B9E5c7de82126b4015ab9d031F | ADA-BNB LP | 50 | -| 255 | 5 | 0xDd5bAd8f8b360d76d12FdA230F8BAF42fe0022CF | DOT-BNB LP | 100 | -| 257 | 6 | 0x824eb9faDFb377394430d2744fa7C42916DE3eCe | BNB-LINK LP | 50 | -| 258 | 7 | 0x7EFaEf62fDdCCa950418312c6C91Aef321375A00 | USDT-BUSD LP | 250 | -| 259 | 8 | 0x3DcB1787a95D2ea0Eb7d00887704EeBF0D79bb13 | TWT-BNB LP | 10 | -| 260 | 9 | 0x7EB5D86FD78f3852a3e0e064f2842d45a3dB6EA2 | BNB-XVS LP | 50 | -| 261 | 10 | 0x74E4716E431f45807DCF19f284c7aA99F18a4fbc | ETH-BNB LP | 250 | -| 262 | 11 | 0x61EB789d75A95CAa3fF50ed7E47b96c132fEc082 | BTCB-BNB LP | 250 | -| 263 | 12 | 0xACF47CBEaab5c8A6Ee99263cfE43995f89fB3206 | ALPHA-BNB LP | 10 | -| 264 | 13 | 0x16b9a82891338f9bA80E2D6970FddA79D1eb0daE | USDT-BNB LP | 600 | -| 265 | 14 | 0x03F18135c44C64ebFdCBad8297fe5bDafdBbdd86 | XRP-BNB LP | 50 | -| 268 | 15 | 0x014608E87AF97a054C9a49f81E1473076D51d9a3 | BNB-UNI LP | 50 | -| 270 | 16 | 0x1BdCebcA3b93af70b58C41272AEa2231754B23ca | INJ-BNB LP | 10 | -| 271 | 17 | 0xD8E2F8b6Db204c405543953Ef6359912FE3A88d6 | SXP-BNB LP | 10 | -| 276 | 18 | 0x133ee93FE93320e1182923E1a640912eDE17C90C | VAI-BUSD LP | 10 | -| 282 | 19 | 0x66FDB2eCCfB58cF098eaa419e5EfDe841368e489 | DAI-BUSD LP | 10 | -| 283 | 20 | 0x2354ef4DF11afacb85a5C7f98B624072ECcddbB1 | USDC-BUSD LP | 100 | -| 284 | 21 | 0x71b01eBdDD797c8E9E0b003ea2f4FD207fBF46cC | LTC-BNB LP | 10 | -| 285 | 22 | 0xB2678C414ebC63c9CC6d1a0fC45f43E249B50fdE | BTCST-BNB LP | 10 | -| 293 | 23 | 0x05faf555522Fa3F93959F86B41A3808666093210 | UST-BUSD LP | 10 | -| 298 | 24 | 0xC5768c5371568Cf1114cddD52CAeD163A42626Ed | LINA-BUSD LP | 10 | -| 299 | 25 | 0x942b294e59a8c47a0F7F20DF105B082710F7C305 | BNB-SFP LP | 50 | -| 306 | 26 | 0x16aFc4F2Ad82986bbE2a4525601F8199AB9c832D | ETH-SUSHI LP | 10 | -| 309 | 27 | 0xc13aA76AAc067c86aE38028019F414D731b3D86A | IOTX-BUSD LP | 10 | -| 317 | 28 | 0xE834bf723f5bDff34a5D1129F3c31Ea4787Bc76a | RAMP-BUSD LP | 10 | -| 318 | 29 | 0xF3Bc6FC080ffCC30d93dF48BFA2aA14b869554bb | BNB-BELT LP | 10 | -| 322 | 30 | 0xcAD7019D6d84a3294b0494aEF02e73BD0f2572Eb | ALICE-BNB LP | 50 | -| 326 | 31 | 0x3f1A9f3D9aaD8bD339eD4853F345d2eF89fbfE0c | BNB-BIFI LP | 10 | -| 346 | 32 | 0xFFd4B200d3C77A0B691B5562D804b3bd54294e6e | TKO-BNB LP | 10 | -| 350 | 33 | 0xddE420cbB3794ebD8FFC3Ac69F9c78e5d1411870 | EPS-BNB LP | 10 | -| 352 | 34 | 0xE6b421a4408c82381b226Ab5B6F8C4b639044359 | TLM-BNB LP | 10 | -| 362 | 35 | 0x7752e1FA9F3a2e860856458517008558DEb989e3 | ALPACA-BUSD LP | 100 | -| 365 | 36 | 0xF45cd219aEF8618A92BAa7aD848364a158a24F33 | BTCB-BUSD LP | 250 | -| 376 | 37 | 0xac109C8025F272414fd9e2faA805a583708A017f | DOGE-BNB LP | 50 | -| 386 | 38 | 0xF23BAD605E94dE0e3B60c9718a43A94A5aF43915 | HOTCROSS-BNB LP | 100 | -| 389 | 39 | 0x804678fa97d91B974ec2af3c843270886528a9E6 | Cake-BUSD LP | 250 | -| 390 | 40 | 0x6045931E511EF7e53A4A817F971e0CA28c758809 | BUSD-CHR LP | 50 | -| 397 | 41 | 0x2E28b9B74D6d99D4697e913b82B41ef1CAC51c6C | TUSD-BUSD LP | 100 | -| 405 | 42 | 0x8FA59693458289914dB0097F5F366d771B7a7C3F | MBOX-BNB LP | 100 | -| 408 | 43 | 0xD171B26E4484402de70e3Ea256bE5A2630d7e88D | ETH-BTCB LP | 100 | -| 409 | 44 | 0xEa26B78255Df2bBC31C1eBf60010D78670185bD0 | ETH-USDC LP | 100 | -| 414 | 45 | 0x89eE0491CE55d2f7472A97602a95426216167189 | WOO-BNB LP | 10 | -| 421 | 46 | 0xba01662E978DE7d67F8FfC937726215eb8995d17 | BSCPAD-BNB LP | 10 | -| 422 | 47 | 0xA39Af17CE4a8eb807E076805Da1e2B8EA7D0755b | Cake-USDT LP | 200 | -| 423 | 48 | 0xEc6557348085Aa57C72514D67070dC863C0a5A8c | USDT-USDC LP | 100 | -| 425 | 49 | 0x89EBF9cD99864f6E51bd7a578965922029cAB977 | DVI-BNB LP | 10 | -| 427 | 50 | 0x9D2296e2Fe3CdBf2EB3e3e2CA8811BaFA42eeDFF | ONE-BNB LP | 10 | -| 429 | 51 | 0x1472976E0B97F5B2fC93f1FFF14e2b5C4447b64F | CHESS-USDC LP | 50 | -| 430 | 52 | 0xC2d00De94795e60FB76Bc37d899170996cBdA436 | AXS-BNB LP | 50 | -| 431 | 53 | 0x92247860A03F48d5c6425c7CA35CDcFCB1013AA1 | C98-BNB LP | 50 | -| 432 | 54 | 0xFdFde3aF740A22648B9dD66D05698e5095940850 | SPS-BNB LP | 10 | -| 441 | 55 | 0x6a445cEB72c8B1751755386c3990055ff92e14A0 | WIN-BUSD LP | 10 | -| 442 | 56 | 0xb5D108578Be3750209d1b3A8f45FFee8C5a75146 | TRX-BUSD LP | 50 | -| 448 | 57 | 0x59FaC9e98479fc9979aE2a0C7422Af50bCBB9B26 | rUSD-BUSD LP | 10 | -| 449 | 58 | 0x2bF2dEB40639201C9A94c9e33b4852D9AEa5fd2D | BP-BNB LP | 10 | -| 450 | 59 | 0x74fA517715C4ec65EF01d55ad5335f90dce7CC87 | SFUND-BNB LP | 50 | -| 457 | 60 | 0x0ecc84c9629317a494f12Bc56aA2522475bF32e8 | NFT-BNB LP | 10 | -| 461 | 61 | 0x88a02D94F437799f06f8c256ff07Aa397E6D0016 | BNB-BETA LP | 50 | -| 464 | 62 | 0x11c0b2BB4fbB430825d07507A9E24e4c32f7704D | LAZIO-BNB LP | 10 | -| 466 | 63 | 0x365c3F921b2915a480308D0b1C04aEF7B99c2876 | DKT-BNB LP | 10 | -| 470 | 64 | 0x6dB23b5360c9D2859fDcbf41c56494e7b8573649 | FINA-BUSD LP | 50 | -| 471 | 65 | 0x062f88E2B4896e823ac78Ac314468c29eEC4186d | DAR-BNB LP | 50 | -| 472 | 66 | 0x936928146a21AfCcd30DfA84824A780572B1630B | XWG-USDC LP | 50 | -| 474 | 67 | 0x0A292e96ABb35297786a38fDD67Dc4f82689E670 | PORTO-BNB LP | 10 | -| 476 | 68 | 0xf924E642f05ACC57fc3b14990c2B1a137683b201 | QI-BNB LP | 10 | -| 481 | 69 | 0x06043B346450BbCfdE066ebc39fdc264FdFFeD74 | SANTOS-BNB LP | 10 | -| 484 | 70 | 0x71E6de81381eFE0Aa98f56b3B43eB3727D640715 | IDIA-BUSD LP | 10 | -| 488 | 71 | 0x486697ae24469cB1122F537924Aa46E705B142Aa | THG-BNB LP | 50 | -| 489 | 72 | 0x141e9558f66Cc21c93628400cCa7d830c15c2c24 | BNB-DPT LP | 10 | -| 491 | 73 | 0xe98ac95A1dB2fCaaa9c7D4ba7ecfCE4877ca2bEa | HIGH-BUSD LP | 50 | -| 495 | 74 | 0x2AE94A6C768D59f5DDc25bd7f12C7cBE1D51dc04 | WOOP-BNB LP | 10 | -| 497 | 75 | 0x88c9bf5E334e2591C6A866D5E20683E31226Be3d | AOG-BUSD LP | 10 | -| 501 | 76 | 0x2Eebe0C34da9ba65521E98CBaA7D97496d05f489 | BCOIN-BNB LP | 50 | -| 502 | 77 | 0xa0Ee789a8F581CB92dD9742ed0B5d54a0916976C | APX-BUSD LP | 50 | -| 503 | 78 | 0x1Ce76390Dd210B9C9ae28373FDf79714206ECb73 | BNB-Froyo LP | 100 | -| 505 | 79 | 0x6483F166b9E4310A165a55FEa04F867499aded06 | FUSE-BNB LP | 10 | -| 506 | 80 | 0x70531B39E2Bb4d8dA59E2Ce41a98eBA2990F8497 | ERTHA-BNB LP | 10 | -| 507 | 81 | 0x8e744Ec2795c8B836689d1b4EBE1489204357dAC | RACA-BUSD LP | 50 | -| 509 | 82 | 0x28BDb16b623176426305a70D8B475bE73Aca71f3 | USDT-ACH LP | 10 | -| 510 | 83 | 0xB7E73DaEe6A6Ca37A21f8E4bfba4DA448DFE4d92 | BTT-BUSD LP | 50 | -| 513 | 84 | 0x53a63ac301D6410915385294527f947aFf616599 | ERA-BNB LP | 100 | -| 514 | 85 | 0x007EC643C7Cc33a70C083fC305c283dd009C8b94 | GMT-USDC LP | 100 | -| 515 | 86 | 0xbDF0aA1D1985Caa357A6aC6661D838DA8691c569 | Cake-DUET LP | 100 | -| 516 | 87 | 0x8CA3fF14A52b080C54A6d1a405eecA02959d39fE | BSW-BNB LP | 50 | -| 518 | 88 | 0x1CCc3cC95c8148477Afd18a552f03835Be9D182a | Cake-Froyo LP | 50 | -| 519 | 89 | 0x58d4B61983Ca0aFE6E352e90719F403E24e016F4 | GMI-BNB LP | 50 | -| 520 | 90 | 0x5ca96E8bDe0Bc587DaC9e02422Fd205b1102DAa4 | PEX-BNB LP | 50 | -| 522 | 91 | 0x0d5b9A0f4315a4bcE36D1Ea7d6B6d3123167aFAa | TINC-BNB LP | 50 | -| 523 | 92 | 0x046A9B3A9b743340eE2Bc4C6dDD35543E237C6c2 | CEEK-BNB LP | 50 | -| 524 | 93 | 0x008604A38cD589680F7B8f085DC2D5B4F81151dB | HAPPY-BNB LP | 100 | -| 525 | 94 | 0xee456d906a38e10680c9d157FFf143390e9681bA | WZRD-BUSD LP | 100 | - diff --git a/code/migration/migrate-your-stakings.md b/code/migration/migrate-your-stakings.md deleted file mode 100644 index f6a08be9..00000000 --- a/code/migration/migrate-your-stakings.md +++ /dev/null @@ -1,117 +0,0 @@ ---- -description: Migrate your farms and pools staking to the new PancakeSwap MasterChef ---- - -# Migrate Your Stakings - -![ICYDK: you are currently reading the "tutorial" mentioned in this banner](<../../.gitbook/assets/migration pre heat.png>) - -In order to keep earning staking rewards, you will need to migrate your farms and pools staking to the new MasterChef. Relax, it's gonna be easy. - -{% hint style="info" %} -**But wait! Do I need to migrate?** - -You need to migrate if you are: - -* Farming on PancakeSwap **Farms**. -* Staking in PancakeSwap **CAKE Syrup Pools** (Manual, Auto, IFO). - -\*other Syrup Pools aren’t affected -{% endhint %} - -## How to migrate? - -![At the time of the migration, Chefs will deploy a step-by-step helper to walk you through the process ](../../.gitbook/assets/migration-helper-overview.png) - -### 1. Navigate to the migration helper - -Go to [https://pancakeswap.finance/migration](https://pancakeswap.finance/migration), and connect your wallet. - -### 2. Unstake from the old farms - -There are two steps in the migration helper. In the first step, you should see a list of three CAKE syrup pools and farms you are currently staking. - -![](<../../.gitbook/assets/migration-helper-steps-guide-3 (2).png>) - -Click "**Unstake All**" on each of the farms and pools to unstake all your assets. - -![](<../../.gitbook/assets/migration-helper-steps-guide-4 (1).png>) - -After unstaking, click "**Go to Stake**" to proceed to step 2. - -### 3. Stake your LP tokens and CAKE into the new farms and pools. - -Here you should see the brand new CAKE syrup pool and the new farms. Before staking, you will need to enable them. - -![](<../../.gitbook/assets/migration-helper-steps-guide-5 (1).png>) - -Click "**Enable**" to enable staking on each of the farms and the CAKE syrup pool. If you are using a mobile device, please click the “**v**” (downward arrow) to expand the card while looking for the "**Enable**" button. - -After enabling, you will be able to start staking in the pool and farms. - -{% tabs %} -{% tab title="CAKE Syrup Pool" %} -![](<../../.gitbook/assets/migration-helper-steps-guide-7 (2).png>) - -For CAKE syrup pool. Please: - -1. Click "**Flexible**" under the "Stake CAKE" section. -2. Enter the amount of CAKE you want to stake. -3. Click "**Confirm**". - - - -{% hint style="info" %} -The locked (fixed-term) staking option will become available a few days after the migration. You will be able to convert your flexible staking position to a locked one. To learn more about the new CAKE syrup pool with fixed-term staking, please check out [this doc](../../products/coming-soon/new-cake-pool/). -{% endhint %} -{% endtab %} - -{% tab title="Farms" %} -![](<../../.gitbook/assets/migration-helper-steps-guide-8 (2).png>) - -For farms, please: - -1. Click "**Stake**". -2. Enter the amount of LP tokens you want to stake. -3. Click "**Confirm**" -{% endtab %} -{% endtabs %} - -### 4. Done! - -![](../../.gitbook/assets/migration-helper-steps-guide-9.png) - -You are now staking in the new MasterChef and continue earning CAKE rewards! Click "**Finish**" to go back and explore some other great products PancakeSwap offers. - -## Migration Timeline - -![](<../../.gitbook/assets/en - migration timeline - 2.png>) - -Make sure to follow our [Twitter](https://twitter.com/pancakeswap/) or [Telegram](https://t.me/PancakeSwapAnn) announcement channel for detailed timing and the latest updates! Need any help? Learn more about how to reach for help [here](../../contact-us/#help). - -## FAQ - -#### **When will it finish?** - -Migration will take several hours, but it should be totally finished upon the launch of the migration helper page. Follow our [Twitter](https://twitter.com/pancakeswap/) or [Telegram](https://t.me/PancakeSwapAnn) announcement channel for the latest updates! - -#### **When must I migrate?** - -1. You will be able to migrate at any time. There’s no time limit. -2. It’s better to migrate sooner so you can continue to earn rewards from farms and pools. - -#### I don’t see the migration helper! - -It will only be deployed once smart contract deployments and configurations are completed. It could take serval hours. Follow our [Twitter](https://twitter.com/pancakeswap/) or [Telegram](https://t.me/PancakeSwapAnn) announcement channel for the latest updates! - -#### Why lock staking is not available? - -SOON! To achieve a smooth migration. Lock (fixed-term) staking will be enabled a few days after the migrations. - -#### I can't find my farms in the migration helper! - -It might be due to the farm being discontinued before the migration. Please: - -1. Go to **Farms**. -2. Choose “**Finished**” at the top of the farm list. -3. Click “**Check out v1 farms**” to look for your farm. diff --git a/code/smart-contracts/README.md b/code/smart-contracts/README.md deleted file mode 100644 index 47c8bc3b..00000000 --- a/code/smart-contracts/README.md +++ /dev/null @@ -1,53 +0,0 @@ -# Smart Contracts - -This page provides links or locations for PancakeSwap's smart contracts. - -## Main contracts - -The following links will take you to the BscScan page for PancakeSwap's main smart contracts. - -* [PancakeSwap: Main Staking Contract/MasterChef](https://bscscan.com/address/0x73feaa1ee314f8c655e354234017be2193c9e24e) -* [PancakeSwap: Factory v2](https://bscscan.com/address/0xca143ce32fe78f1f7019d7d551a6402fc5350c73) -* [PancakeSwap: Router v2](https://bscscan.com/address/0x10ed43c718714eb63d5aa57b78b54704e256024e) -* [PancakeSwap: Lottery v2](https://bscscan.com/address/0x5aF6D33DE2ccEC94efb1bDF8f92Bd58085432d2c) -* [PancakeSwap: Prediction v2](https://bscscan.com/address/0x18b2a687610328590bc8f2e5fedde3b582a49cda) -* [PancakeSwap: NFT Market v1](https://bscscan.com/address/0x17539cca21c7933df5c980172d22659b8c345c5a) -* Others: - * [Farms Contracts](./#farms-contracts) - * [IFO Contracts](./#ifo-contracts) - -## Farms contracts - -Each Farm used by PancakeSwap has its own smart contract. Follow the steps below to view a Farm's smart contract. - -1. Go to the [PancakeSwap Farms page](https://pancakeswap.finance/farms) and click the row of the Farm you want to see the contract for. - -![](<../../.gitbook/assets/image (126).png>) - -1. When the details section expands out, click the **View Contract** link on the left to open the contract in BscScan. - -![](<../../.gitbook/assets/image (127).png>) - -## IFO contracts - -IFO contracts are unique to each new IFO. Follow the steps below to view an IFO's smart contract. - -### Current or most recent IFO - -Go to the [PancakeSwap IFO page](https://pancakeswap.finance/ifo) and look on the bottom right of the IFO information for a **View Contract** link. - -![](<../../.gitbook/assets/image (128).png>) - -### Previous IFOs - -1. Go to the [PancakeSwap IFO page](https://pancakeswap.finance/ifo) and click the **Past IFOs** toggle at the top of the page. - -![](<../../.gitbook/assets/image (129).png>) - -1. Find the banner of the IFO you'd like to see and click the **down arrow** button to expand it. - -![](<../../.gitbook/assets/image (130).png>) - -1. Find and click the **View Contract** link on the bottom right of the expanded information. - -![](<../../.gitbook/assets/image (131).png>) diff --git a/code/smart-contracts/cakevault.md b/code/smart-contracts/cakevault.md deleted file mode 100644 index 8b337111..00000000 --- a/code/smart-contracts/cakevault.md +++ /dev/null @@ -1,9 +0,0 @@ -# Auto CAKE Syrup Pool \(CakeVault\) - -## Contract info - -**Contract name:** CakeVault -**Contract address:** 0xa80240Eb5d7E05d3F250cF000eEc0891d00b51CC - -View [Auto CAKE Pool Smart Contract on BscScan](https://bscscan.com/address/0xa80240eb5d7e05d3f250cf000eec0891d00b51cc#code) - diff --git a/code/smart-contracts/fixed-term-staking-cake-pool.md b/code/smart-contracts/fixed-term-staking-cake-pool.md deleted file mode 100644 index a10bd6a4..00000000 --- a/code/smart-contracts/fixed-term-staking-cake-pool.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -description: >- - The new CAKE Syrup Pool offering fixed-term staking and flexible staking - options. ---- - -# CAKE Syrup Pool - -## Contract info - -**Contract name:** CakePool\ -**Contract address:** `0x45c54210128a065de780C4B0Df3d16664f7f859e` - -[View the PancakeSwap: Cake Pool Contract on BscScan.](https://bscscan.com/address/0x45c54210128a065de780C4B0Df3d16664f7f859e) diff --git a/code/smart-contracts/lottery-v2.md b/code/smart-contracts/lottery-v2.md deleted file mode 100644 index 0ebb8ed0..00000000 --- a/code/smart-contracts/lottery-v2.md +++ /dev/null @@ -1,430 +0,0 @@ -# Lottery v2 - -## Contract info - -**Contract name:** PancakeSwapLottery -**Contract address:** 0x5aF6D33DE2ccEC94efb1bDF8f92Bd58085432d2c -**Random number generator address:** 0x8c6375Aab6e5B26a30bF241EBBf29AD6e6c503c2 -\(_Random number generator contract must be deployed first_\) - -View [PancakeSwapLottery.sol on BscScan](https://bscscan.com/address/0x5aF6D33DE2ccEC94efb1bDF8f92Bd58085432d2c#code). - -View the [PancakeSwap: Lottery contract on BscScan](https://bscscan.com/address/0x5aF6D33DE2ccEC94efb1bDF8f92Bd58085432d2c). - -## Audits - -The PancakeSwap Lottery V2 has been audited twice so far. View the results below: - -[Peckshield's Lottery V2 Audit](https://github.com/peckshield/publications/blob/master/audit_reports/PeckShield-Audit-Report-PancakeswapLottery-v1.0.pdf) - -[Slowmist's Lottery V2 Audit](https://github.com/slowmist/Knowledge-Base/blob/master/open-report/Smart%20Contract%20Security%20Audit%20Report%20-%20PancakeSwap%20Lottery.pdf) - -## Lottery Status states - -The lottery has four `Status` states, `Pending`, `Open`, `Close`, and `Claimable`, that determine which actions can and cannot be taken at a given time. - -## Read/View functions - -### viewCurrentLotteryId - -```text -function viewCurrentLotteryId() external view override returns (uint256); -``` - -Returns the Id\# of the current Lottery round as an integer. Round Id\#s correlate to round number, and are incremental, e.g. the ninth round of Lottery will be `9`. - -### viewLottery - -```text -function viewLottery(uint256 _lotteryId) external view returns (Lottery memory); -``` - -Returns information on specified Lottery round as tuple \(see Lottery structure below\). - -```text - uint256 startTime; - uint256 endTime; - uint256 priceTicketInCake; - uint256 discountDivisor; - uint256[6] rewardsBreakdown; // 0: 1 matching number // 5: 6 matching numbers - uint256 treasuryFee; // 500: 5% // 200: 2% // 50: 0.5% - uint256[6] cakePerBracket; - uint256[6] countWinnersPerBracket; - uint256 firstTicketId; - uint256 firstTicketIdNextLottery; - uint256 amountCollectedInCake; - uint32 finalNumber; -``` - -| Name | Type | Description | -| :--- | :--- | :--- | -| `startTime` | uint256 | Starting block for Lottery round. | -| `endTime` | uint256 | Ending block for Lottery round \(approximately 12 hours after a round begins\). | -| `priceTicketInCake` | uint256 | The price of a ticket in CAKE \(approximately $5 USD\). | -| `discountDivisor` | uint256 | The divisor used to calculate bulk ticket discount. | -| `rewardsBreakdown` | uint256\[6\] | The division of rewards across brackets \(total must add up to 10,000\). | -| `treasuryFee` | uint256 | Amount taken from funds raised per round that's moved to treasury address \(maximum 3000\). | -| `cakePerBracket` | uint256\[6\] | The amount of CAKE to distribute to winners of each bracket. | -| `countWinnersPerBracket` | uint256\[6\] | Moves through brackets, starting from the highest, accounting for winners when value > 0. | -| `firstTicketId` | uint256 | Id of the first ticket, set with the opening of the Lottery round, that determines the range of eligible tickets for the current round. | -| `firstTicketIdNextLottery` | uint256 | Id of the first ticket, set at the closing of current round, that determines the range of eligible tickets for the current round. | -| `amountCollectedInCake` | uint256 | The amount of CAKE collected through ticket sales for the Lottery round. | -| `finalNumber` | uint32 | The final number determined by `randomResult` obtained from the number generator contract \([RandomNumberGenerator.sol](https://bscscan.com/address/0x8c6375Aab6e5B26a30bF241EBBf29AD6e6c503c2)\) using Chainlink VRF. | - -### viewNumbersAndStatusesForTicketIds - -```text -function viewNumbersAndStatusesForTicketIds(uint256[] calldata _ticketIds) - external - view - returns (uint32[] memory, bool[] memory); -``` - -Returns the corresponding numbers and the statuses of `ticketIds` array of tickets defined by their `ticketId`. - -### viewRewardsForTicketId - -```text -function viewRewardsForTicketId( - uint256 _lotteryId, - uint256 _ticketId, - uint32 _bracket; -``` - -Calculates rewards for a ticket after draw given the `lotteryId`, `ticketId`, and `bracket`. Filling and querying will provide a link to detailed price information on [BscScan](https://bscscan.com/address/0x5aF6D33DE2ccEC94efb1bDF8f92Bd58085432d2c#readContract). - -| Name | Type | Description | -| :--- | :--- | :--- | -| `lotteryId` | uint256 | The id of the Lottery. | -| `ticketId` | uint256 | The id of the ticket. | -| `bracket` | uint32 | Bracket for the `ticketId` to verify the claim and calculate rewards. | - -### viewUserInfoForLotteryId - -```text - function viewUserInfoForLottery( - address _user, - uint256 _lotteryId, - uint256 _cursor, - uint256 _size - ) - external - view - returns ( - uint256[] memory, - uint32[] memory, - bool[] memory, - uint256 - ) -``` - -Returns user `lotteryTicketIds`, `ticketNumbers`, and `ticketStatuses` of a user for a given Lottery \(defined by `lotteryID`\). - -| Name | Type | Description | -| :--- | :--- | :--- | -| `user` | address | The address of the user. | -| `lotteryId` | uint256 | The id of the Lottery. | -| `cursor` | uint256 | Cursor to start where to retrieve the tickets. | -| `size` | uint256 | The number of tickets to retrieve. | - -### calculateRewardsForTicketId - -```text - function _calculateRewardsForTicketId( - uint256 _lotteryId, - uint256 _ticketId, - uint32 _bracket - ) internal view returns (uint256); -``` - -Calculates rewards for a ticket after draw given the `lotteryId`, `ticketId`, and `bracket`. - -| Name | Type | Description | -| :--- | :--- | :--- | -| `lotteryId` | uint256 | The id of the Lottery. | -| `ticketId` | uint256 | The id of the ticket. | -| `bracket` | uint32 | Bracket for the `ticketId` to verify the claim and calculate rewards. | - -### calculateTotalPriceForBulkTickets - -```text - function calculateTotalPriceForBulkTickets( - uint256 _discountDivisor, - uint256 _priceTicket, - uint256 _numberTickets - ) external pure returns (uint256); -``` - -Calculates the price for a set of tickets accounting for bulk discount. - -discountDivisor: - -$$totalPriceForBulkTickets = priceSingleTicket \cdot numberTickets \cdot \frac{(discountDivisor + 1 - numberTickets)}{discountDivisor}$$ - -Filling and querying will provide a link to detailed price information on BscScan. - -| Name | Type | Description | -| :--- | :--- | :--- | -| `discountDivisor` | uint256 | The divisor for the discount. | -| `priceTickets` | uint256 | The price of a ticket in CAKE. | -| `numberTickets` | uint256 | The number of tickets to buy. | - -## Write functions \(users\) - -### buyTickets - -```text -function buyTickets(uint256 _lotteryId, uint32[] calldata _ticketNumbers) external override notContract nonReentrant; -``` - -Buy tickets for the current `Open` Lottery round \(between 1 and 100 per purchase\). Calculates the price per ticket using `calculateTotalPriceForBulkTickets`. - -| Name | Type | Description | -| :--- | :--- | :--- | -| `lotteryId` | uint256 | The id of the lottery. | -| `ticketNumbers` | uint32 | Array of ticket numbers between 1,000,000 and 1,999,999. | - -### claimTickets - -```text - function claimTickets( - uint256 _lotteryId, - uint256[] calldata _ticketIds, - uint32[] calldata _brackets - ) external override notContract nonReentrant; -``` - -Claim a set of winning tickets for a `Claimable` Lottery round. Checks `lotteryId` to determine if round is claimable, ownership of `ticketId`, eligibility of ticket \(`ticketId` falls between `firstTicketId` and `firstTicketIdNextLottery`\), and whether `ticketId` falls within eligible prize `bracket` \(between 0 and 5\). - -| Name | Type | Description | -| :--- | :--- | :--- | -| `lotteryId` | uint256 | The id of the Lottery. | -| `ticketIds` | uint32 | Array of `ticketId`s. | -| `brackets` | uint32 | Array of brackets for the ticket ids. | - -## Write functions \(operator/admin\) - -### closeLottery - -```text -function closeLottery(uint256 _lotteryId) external override onlyOperator; -``` - -Closes the `Open` Lottery to `Close` state. Emits `LotteryClose` event. - -| Name | Type | Description | -| :--- | :--- | :--- | -| `lotteryId` | uint256 | The id of the Lottery. | - -### drawFinalNumberAndMakeLotteryClaimable - -```text - function drawFinalNumberAndMakeLotteryClaimable(uint256 _lotteryId, bool _autoInjection) external override onlyOperator nonReentrant; -``` - -Lottery must be in `Close` state. Draws the final Lottery number for results from `randomResult`, calculates the rewards for brackets after accounting for treasury fee, makes Lottery state `Claimable`, and transfers treasury fee to treasury address. - -| Name | Type | Description | -| :--- | :--- | :--- | -| `lotteryId` | uint256 | The id of the Lottery. | -| `autoInjection` | bool | Automatic injection status. | - -### changeRandomNumberGenerator - -```text - function changeRandomGenerator(address _randomGeneratorAddress) external onlyOwner; -``` - -Changes the random number generator contract address. Lottery must be `Claimable`. - -| Name | Type | Description | -| :--- | :--- | :--- | -| `randomGeneratorAddress` | address | The random generator address. | - -### injectFunds - -```text -function injectFunds(uint256 _lotteryId, uint256 _amount) external override onlyOwner; -``` - -Inject funds into a Lottery. Lottery must be `Open`. - -| Name | Type | Description | -| :--- | :--- | :--- | -| `lotteryId` | uint256 | The id of the Lottery. | -| `amount` | uint256 | Amount, in CAKE token, to inject. | - -### startLottery - -```text - function startLottery( - uint256 _endTime, - uint256 _priceTicketInCake, - uint256 _discountDivisor, - uint256[6] calldata _rewardsBreakdown, - uint256 _treasuryFee - ) external override onlyOperator; -``` - -Starts the Lottery, setting it to `Open` state. Status must be `Claimable`. - -| Name | Type | Description | -| :--- | :--- | :--- | -| `endTime` | uint256 | End time of the Lottery. | -| `priceTicketInCake` | uint256 | Price of a ticket in CAKE. | -| `discountDivisor` | uint256 | The divisor to calculate the discount magnitude for bulks. | -| `rewardsBreakdown` | uint256\[6\] | Breakdown of rewards per bracket \(must sum to 10,000\). | -| `trasuryFee` | uint256 | Treasury fee \(10,000 = 100%, 100 = 1%\). | - -### recoverWrongTokens - -```text -function recoverWrongTokens(address _tokenAddress, uint256 _tokenAmount) external onlyOwner; -``` - -Allows admin to recover incorrect tokens sent to address mistakenly. Cannot be CAKE tokens. - -| Name | Type | Description | -| :--- | :--- | :--- | -| `tokenAddress` | address | The address of the token to withdraw. | -| `tokenAmount` | uint256 | The number of tokens to withdraw. | - -### setMinAndMaxTicketPriceInCake - -```text -function recoverWrongTokens(address _tokenAddress, uint256 _tokenAmount) external onlyOwner; -``` - -Allows admin to set upper and lower limit of ticket price in CAKE value. Minimum price must be lower than maximum price. - -| Name | Type | Description | -| :--- | :--- | :--- | -| `minPriceTicketInCake` | uint256 | The minimum price in CAKE. | -| `maxPriceTicketInCake` | uint256 | The maximum price in CAKE. | - -### setMaxNumberTicketsPerBuy - -```text -function setMaxNumberTicketsPerBuy(uint256 _maxNumberTicketsPerBuy) external onlyOwner; -``` - -Set max number of tickets purchasable at a time \(presently 100\). Max number of tickets must be higher than 0. - -| Name | Type | Description | -| :--- | :--- | :--- | -| `maxNumberTicketsPerBuy` | uint256 | Max number of tickets in one purchase. | - -### setOperatorAndTreasuryAndInjectorAddress - -```text -function setOperatorAndTreasuryAddresses(address _operatorAddress, address _treasuryAddress) external onlyOwner; -``` - -Sets the address of the Lottery operator. - -| Name | Type | Description | -| :--- | :--- | :--- | -| `operatorAddress` | address | The address of the operator. | -| `treasuryAddress` | address | The address of the treasury. | -| `injectorAddress` | address | The address of the injector. | - -## Events \(User\) - -### TicketsPurchase - -```text -TicketsPurchase(address indexed buyer, uint256 indexed lotteryId, uint256 numberTickets); -``` - -Lottery tickets are purchased. - -Emitter: `buyTickets` [go to buyTickets](lottery-v2.md#buytickets) - -### TicketsClaim - -```text -TicketsClaim(address indexed claimer, uint256 amount, uint256 indexed lotteryId, uint256 numberTickets); -``` - -Lottery tickets are claimed post-draw. - -Emitter: `claimTickets` [go to claimTickets](lottery-v2.md#claimtickets) - -## Events \(admin\) - -### AdminTokenRecovery - -```text -AdminTokenRecovery(address token, uint256 amount); -``` - -Admin recovers incorrect tokens from Lottery address. - -Emitter: `recoverWrongTokens` [go to recoverWrongTokens](lottery-v2.md#recoverwrongtokens) - -### LotteryClose - -```text -LotteryClose(uint256 indexed lotteryId, uint256 firstTicketIdNextLottery); -``` - -The Lottery is closed. lotteryId is indexed and `firstTicketIdNextLottery` is determined by `currentTicketId`. - -Emitter: `closeLottery` [go to closeLottery](lottery-v2.md#closelottery) - -### LotteryInjection - -```text -LotteryInjection(uint256 indexed lotteryId, uint256 amount); -``` - -Funds are injected into Lottery. - -Emitter: `injectFunds` [go to injectFunds](lottery-v2.md#injectfunds) - -### LotteryOpen - -```text -LotteryOpen( - uint256 indexed lotteryId, - uint256 startTime, - uint256 endTime, - uint256 priceTicketInCake, - uint256 firstTicketId - ); -``` - -The Lottery is opened. `firstTicketId` is set from `currentTicketId`, - -Emitter: `startLottery` [go to startLottery](lottery-v2.md#startlottery) - -### LotteryNumberDrawn - -```text -LotteryNumberDrawn(uint256 indexed lotteryId, uint256 finalNumber, uint256 countWinningTickets); -``` - -Lottery numbers are drawn for Lottery round. - -Emitter: `drawFinalNumberAndMakeLotteryClaimable` go to [drawFinalNumberAndMakeLotteryClaimable](lottery-v2.md#drawfinalnumberandmakelotteryclaimable) - -### NewOperatorAndTreasuryAndInjectorAddresses - -```text -NewOperatorAndTreasuryAndInjectorAddresses(address operator, address treasury); -``` - -New operator address is set. - -Emitter: `setOperatorAndTreasuryAndInjectorAddresses` [go to setOperatorAndTreasuryAndInjectorAddresses](lottery-v2.md#setoperatorandtreasuryandinjectoraddress) - -### NewRandomNumberGenerator - -```text -NewRandomGenerator(address indexed randomGenerator); -``` - -New random number generator address is set. - -Emitter: `changeRandomGenerator` [go to changeRandomGenerator](lottery-v2.md#changerandomnumbergenerator) - diff --git a/code/smart-contracts/main-staking-masterchef-contract.md b/code/smart-contracts/main-staking-masterchef-contract.md deleted file mode 100644 index a993ca19..00000000 --- a/code/smart-contracts/main-staking-masterchef-contract.md +++ /dev/null @@ -1,15 +0,0 @@ -# Main Staking/Syrup Pool/MasterChef Contract - -## Contract info - -**Contract name:** MasterChef\ -**Contract address:** `0x73feaa1eE314F8c655E354234017bE2193C9E24E` - -View the [PancakeSwap: Main Staking Contract on BscScan](https://bscscan.com/address/0x73feaa1ee314f8c655e354234017be2193c9e24e). - - - -**Contract name:** MasterChef v2\ -**Contract address:** `0xa5f8C5Dbd5F286960b9d90548680aE5ebFf07652` - -[View the PancakeSwap: Main Staking Contract v2 on BscScan.](https://bscscan.com/address/0xa5f8C5Dbd5F286960b9d90548680aE5ebFf07652) diff --git a/code/smart-contracts/pancakeswap-exchange/README.md b/code/smart-contracts/pancakeswap-exchange/README.md deleted file mode 100644 index d92f4dac..00000000 --- a/code/smart-contracts/pancakeswap-exchange/README.md +++ /dev/null @@ -1,2 +0,0 @@ -# PancakeSwap Exchange - diff --git a/code/smart-contracts/pancakeswap-exchange/factory-v2.md b/code/smart-contracts/pancakeswap-exchange/factory-v2.md deleted file mode 100644 index b3f3a965..00000000 --- a/code/smart-contracts/pancakeswap-exchange/factory-v2.md +++ /dev/null @@ -1,114 +0,0 @@ -# Factory v2 - -{% hint style="warning" %} -PancakeSwap is based on Uniswap v2. Read the [Uniswap v2 documentation](https://uniswap.org/docs/v2/).\ -For more in-depth information on the core contract logic, read the [Uniswap v2 Core whitepaper](https://uniswap.org/whitepaper.pdf). -{% endhint %} - -## Contract info - -**Contract name:** PancakeFactory\ -**Contract address:** 0xcA143Ce32Fe78f1f7019d7d551a6402fC5350c73 - -View [PancakeFactory.sol on GitHub](https://github.com/pancakeswap/pancake-contracts/blob/master/projects/exchange-protocol/contracts/PancakeFactory.sol). - -View the [PancakeSwap: Factory v2 contract on BscScan](https://bscscan.com/address/0xca143ce32fe78f1f7019d7d551a6402fc5350c73). - -## Read functions - -### getPair - -`function getPair(address tokenA, address tokenB) external view returns (address pair);` - -Address for `tokenA` and address for `tokenB` return address of pair contract (where one exists). - -`tokenA` and `tokenB` order is interchangeable. - -Returns `0x0000000000000000000000000000000000000000` as address where no pair exists. - -### allPairs - -`function allPairs(uint) external view returns (address pair);` - -Returns the address of the `n`th pair (`0`-indexed) created through the Factory contract. - -Returns `0x0000000000000000000000000000000000000000` where pair has not yet been created. - -Begins at `0` for first created pair. - -### allPairsLength - -`function allPairsLength() external view returns (uint);` - -Displays the current number of pairs created through the Factory contract as an integer. - -### feeTo - -`function feeTo() external view returns (address);` - -The address to where non-LP-holder fees are sent. - -### feeToSetter - -`function feeToSetter() external view returns (address);` - -The address with permission to set the feeTo address. - -## Write functions - -### createPair - -function createPair(address tokenA, address tokenB) external returns (address pair); - -Creates a pair for `tokenA` and `tokenB` where a pair doesn't already exist. - -`tokenA` and `tokenB` order is interchangeable. - -Emits `PairCreated` (see Events). - -### setFeeTo - -Sets address for `feeTo`. - -### setFeeToSetter - -Sets address for permission to adjust `feeTo`. - -## Events - -### PairCreated - -`event PairCreated(address indexed token0, address indexed token1, address pair, uint);` - -Emitted whenever a `createPair` creates a new pair. - -`token0` will appear before `token1` in sort order. - -The final `uint` log value will be `1` for the first pair created, `2` for the second, etc. - -## Interface - -``` -import '@uniswap/v2-core/contracts/interfaces/IPancakeFactory.sol'; -``` - -``` -pragma solidity =0.5.16; - - -interface IPancakeFactory { - event PairCreated(address indexed token0, address indexed token1, address pair, uint); - - function feeTo() external view returns (address); - function feeToSetter() external view returns (address); - - function getPair(address tokenA, address tokenB) external view returns (address pair); - function allPairs(uint) external view returns (address pair); - function allPairsLength() external view returns (uint); - - function createPair(address tokenA, address tokenB) external returns (address pair); - - function setFeeTo(address) external; - function setFeeToSetter(address) external; -} -``` diff --git a/code/smart-contracts/pancakeswap-exchange/router-v2.md b/code/smart-contracts/pancakeswap-exchange/router-v2.md deleted file mode 100644 index 5678d3a8..00000000 --- a/code/smart-contracts/pancakeswap-exchange/router-v2.md +++ /dev/null @@ -1,603 +0,0 @@ -# Router v2 - -{% hint style="warning" %} -PancakeSwap is based on Uniswap v2. Read the [Uniswap v2 documentation](https://docs.uniswap.org/protocol/V2/introduction).\ -For more in-depth information on the core contract logic, read the [Uniswap v2 Core whitepaper](https://github.com/Uniswap/docs/blob/main/static/whitepaper.pdf). -{% endhint %} - -## Contract info - -**Contract name:** PancakeRouter\ -**Contract address:** 0x10ED43C718714eb63d5aA57B78B54704E256024E - -View [PancakeRouter.sol on GitHub](https://github.com/pancakeswap/pancake-smart-contracts/blob/master/projects/exchange-protocol/contracts/PancakeRouter.sol). - -View the [PancakeSwap: Router v2 contract on BscScan](https://bscscan.com/address/0x10ed43c718714eb63d5aa57b78b54704e256024e). - -## Read functions - -### WETH - -`function WETH() external pure returns (address);` - -Returns the canonical address for [Binance: WBNB token](https://bscscan.com/address/0xbb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c) (WETH being a vestige from Ethereum network origins). - -### factory - -`function factory() external pure returns (address);` - -Returns the canonical address for [PancakeFactory](https://bscscan.com/address/0xca143ce32fe78f1f7019d7d551a6402fc5350c73). - -{% hint style="warning" %} -For explanations of the following, view the [Uniswap v2 Internal Functions documentation](https://uniswap.org/docs/v2/smart-contracts/library/#internal-functions). -{% endhint %} - -### getAmountOut - -`function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) internal pure returns (uint amountOut);` - -### getAmountIn - -`function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) internal pure returns (uint amountIn);` - -### getAmountsOut - -`function getAmountsOut(uint amountIn, address[] memory path) internal view returns (uint[] memory amounts);` - -### getAmountsIn - -`function getAmountsIn(uint amountOut, address[] memory path) internal view returns (uint[] memory amounts);` - -### quote - -`function quote(uint amountA, uint reserveA, uint reserveB) internal pure returns (uint amountB);` - -## Write functions - -### addLiquidity - -``` -function addLiquidity( - address tokenA, - address tokenB, - uint amountADesired, - uint amountBDesired, - uint amountAMin, - uint amountBMin, - address to, - uint deadline -) external returns (uint amountA, uint amountB, uint liquidity); -``` - -Adds liquidity to a BEP20⇄BEP20 pool. - -| Name | Type | | -| -------------- | --------- | ----------------------------------------------------------------- | -| tokenA | `address` | The contract address of one token from your liquidity pair. | -| tokenB | `address` | The contract address of the other token from your liquidity pair. | -| amountADesired | `uint` | The amount of tokenA you'd like to provide as liquidity. | -| amountBDesired | `uint` | The amount of tokenA you'd like to provide as liquidity. | -| amountAMin | `uint` | The minimum amount of tokenA to provide (slippage impact). | -| amountBMin | `uint` | The minimum amount of tokenB to provide (slippage impact). | -| to | `address` | Address of LP Token recipient. | -| deadline | `uint` | Unix timestamp deadline by which the transaction must confirm. | - -### addLiquidityETH - -``` -function addLiquidityETH( - address token, - uint amountTokenDesired, - uint amountTokenMin, - uint amountETHMin, - address to, - uint deadline -) external payable returns (uint amountToken, uint amountETH, uint liquidity); -``` - -Adds liquidity to a BEP20⇄WBNB pool. - -| Name | Type | | -| ------------------ | --------- | -------------------------------------------------------------- | -| addLiquidityETH | `uint` | The payable amount in BNB. | -| token | `address` | The contract address of the token to add liquidity. | -| amountTokenDesired | `uint` | The amount of the token you'd like to provide as liquidity. | -| amountTokenMin | `uint` | The minimum amount of the token to provide (slippage impact). | -| amountETHMin | `uint` | The minimum amount of BNB to provide (slippage impact). | -| to | `address` | Address of LP Token recipient. | -| deadline | `uint` | Unix timestamp deadline by which the transaction must confirm. | - -### removeLiquidity - -``` -function removeLiquidity( - address tokenA, - address tokenB, - uint liquidity, - uint amountAMin, - uint amountBMin, - address to, - uint deadline -) external returns (uint amountA, uint amountB); -``` - -Removes liquidity from a BEP20⇄BEP20 pool. - -| Name | Type | | -| ---------- | --------- | ----------------------------------------------------------------- | -| tokenA | `address` | The contract address of one token from your liquidity pair. | -| tokenB | `address` | The contract address of the other token from your liquidity pair. | -| liquidity | `uint` | The amount of LP Tokens to remove. | -| amountAMin | `uint` | The minimum amount of tokenA to remove (slippage impact). | -| amountBMin | `uint` | The minimum amount of tokenB to remove (slippage impact). | -| to | `address` | Address of LP Token recipient. | -| deadline | `uint` | Unix timestamp deadline by which the transaction must confirm. | - -### removeLiquidityETH - -``` -function removeLiquidityETH( - address token, - uint liquidity, - uint amountTokenMin, - uint amountETHMin, - address to, - uint deadline -) external returns (uint amountToken, uint amountETH); -``` - -Removes liquidity from a BEP20⇄WBNB pool. - -| Name | Type | | -| -------------- | --------- | -------------------------------------------------------------- | -| token | `address` | The contract address of the token to remove liquidity. | -| liquidity | `uint` | The amount of LP Tokens to remove. | -| amountTokenMin | `uint` | The minimum amount of the token to remove (slippage impact). | -| amountETHMin | `uint` | The minimum amount of BNB to remove (slippage impact). | -| to | `address` | Address of LP Token recipient. | -| deadline | `uint` | Unix timestamp deadline by which the transaction must confirm. | - -### removeLiquidityETHSupportingFeeOnTransferTokens - -``` -function removeLiquidityETHSupportingFeeOnTransferTokens( - address token, - uint liquidity, - uint amountTokenMin, - uint amountETHMin, - address to, - uint deadline -) external returns (uint amountETH); -``` - -Removes liquidity from a BEP20⇄WBNB for tokens that take a fee on transfer. - -| Name | Type | | -| -------------- | --------- | -------------------------------------------------------------- | -| token | `address` | The contract address of the token to remove liquidity. | -| liquidity | `uint` | The amount of LP Tokens to remove. | -| amountTokenMin | `uint` | The minimum amount of the token to remove (slippage impact). | -| amountETHMin | `uint` | The minimum amount of BNB to remove (slippage impact). | -| to | `address` | Address of LP Token recipient. | -| deadline | `uint` | Unix timestamp deadline by which the transaction must confirm. | - -### removeLiquidityETHWithPermit - -``` -function removeLiquidityETHWithPermit( - address token, - uint liquidity, - uint amountTokenMin, - uint amountETHMin, - address to, - uint deadline, - bool approveMax, uint8 v, bytes32 r, bytes32 s -) external returns (uint amountToken, uint amountETH); -``` - -Removes liquidity from a BEP20⇄WBNB and receives BNB, without pre-approval, via permit. - -| Name | Type | | -| -------------- | --------- | ----------------------------------------------------------------------------------- | -| token | `address` | The contract address of the token to remove liquidity. | -| liquidity | `uint` | The amount of LP Tokens to remove. | -| amountTokenMin | `uint` | The minimum amount of the token to remove (slippage impact). | -| amountETHMin | `uint` | The minimum amount of BNB to remove (slippage impact). | -| to | `address` | Address of LP Token recipient. | -| deadline | `uint` | Unix timestamp deadline by which the transaction must confirm. | -| approveMax | `bool` | Whether or not the approval amount in the signature is for liquidity or `uint(-1)`. | -| v | `uint8` | The v component of the permit signature. | -| r | `bytes32` | The r component of the permit signature. | -| s | `bytes32` | The s component of the permit signature. | - -### removeLiquidityETHWithPermitSupportingFeeOnTransferTokens - -``` -function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens( - address token, - uint liquidity, - uint amountTokenMin, - uint amountETHMin, - address to, - uint deadline, - bool approveMax, uint8 v, bytes32 r, bytes32 s -) external returns (uint amountETH); -``` - -Removes liquidity from a BEP20⇄WBNB and receives BNB via permit for tokens that take a fee on transfer. - -| Name | Type | | -| -------------- | --------- | ----------------------------------------------------------------------------------- | -| token | `address` | The contract address of the token to remove liquidity. | -| liquidity | `uint` | The amount of LP Tokens to remove. | -| amountTokenMin | `uint` | The minimum amount of the token to remove (slippage impact). | -| amountETHMin | `uint` | The minimum amount of BNB to remove (slippage impact). | -| to | `address` | Address of LP Token recipient. | -| deadline | `uint` | Unix timestamp deadline by which the transaction must confirm. | -| approveMax | `bool` | Whether or not the approval amount in the signature is for liquidity or `uint(-1)`. | -| v | `uint8` | The v component of the permit signature. | -| r | `bytes32` | The r component of the permit signature. | -| s | `bytes32` | The s component of the permit signature. | - -### removeLiquidityWithPermit - -``` -function removeLiquidityWithPermit( - address tokenA, - address tokenB, - uint liquidity, - uint amountAMin, - uint amountBMin, - address to, - uint deadline, - bool approveMax, uint8 v, bytes32 r, bytes32 s -) external returns (uint amountA, uint amountB); -``` - -Removes liquidity from a BEP20⇄BEP20, without pre-approval, via permit. - -| Name | Type | | -| -------------- | --------- | ----------------------------------------------------------------------------------- | -| tokenA | `address` | The contract address of one token from your liquidity pair. | -| tokenB | `address` | The contract address of the other token from your liquidity pair. | -| liquidity | `uint` | The amount of LP Tokens to remove. | -| amountTokenMin | `uint` | The minimum amount of the token to remove (slippage impact). | -| amountETHMin | `uint` | The minimum amount of BNB to remove (slippage impact). | -| to | `address` | Address of LP Token recipient. | -| deadline | `uint` | Unix timestamp deadline by which the transaction must confirm. | -| approveMax | `bool` | Whether or not the approval amount in the signature is for liquidity or `uint(-1)`. | -| v | `uint8` | The v component of the permit signature. | -| r | `bytes32` | The r component of the permit signature. | -| s | `bytes32` | The s component of the permit signature. | - -### swapETHForExactTokens - -``` -function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline) - external - payable - returns (uint[] memory amounts); -``` - -Receive an exact amount of output tokens for as little BNB as possible. - -| Name | Type | | -| --------------------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------ | -| swapETHForExactTokens | `uint` | Payable BNB amount. | -| amountOut | `uint` | The amount tokens to receive. | -| path (address\[]) | `address` | An array of token addresses. `path.length` must be >= 2. Pools for each consecutive pair of addresses must exist and have liquidity. | -| to | `address` | Address of recipient. | -| deadline | `uint` | Unix timestamp deadline by which the transaction must confirm. | - -### swapExactETHForTokens - -``` -function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline) - external - payable - returns (uint[] memory amounts); -``` - -Receive as many output tokens as possible for an exact amount of BNB. - -| Name | Type | | -| --------------------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------ | -| swapExactETHForTokens | `uint` | Payable BNB amount. | -| amountOutMin | `uint` | The minimum amount tokens to receive. | -| path (address\[]) | `address` | An array of token addresses. `path.length` must be >= 2. Pools for each consecutive pair of addresses must exist and have liquidity. | -| to | `address` | Address of recipient. | -| deadline | `uint` | Unix timestamp deadline by which the transaction must confirm. | - -### swapExactETHForTokensSupportingFeeOnTransferTokens - -``` -function swapExactETHForTokensSupportingFeeOnTransferTokens( - uint amountOutMin, - address[] calldata path, - address to, - uint deadline -) external payable; -``` - -Receive as many output tokens as possible for an exact amount of BNB. Supports tokens that take a fee on transfer. - -| Name | Type | | -| -------------------------------------------------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------ | -| swapExactETHForTokensSupportingFeeOnTransferTokens | `uint` | Payable BNB amount. | -| amountOutMin | `uint` | The minimum amount tokens to receive. | -| path (address\[]) | `address` | An array of token addresses. `path.length` must be >= 2. Pools for each consecutive pair of addresses must exist and have liquidity. | -| to | `address` | Address of recipient. | -| deadline | `uint` | Unix timestamp deadline by which the transaction must confirm. | - -### swapExactTokensForETH - -``` -function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline) - external - returns (uint[] memory amounts); -``` - -Receive as much BNB as possible for an exact amount of input tokens. - -| Name | Type | | -| ----------------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------ | -| amountIn | `uint` | Payable amount of input tokens. | -| amountOutMin | `uint` | The minimum amount tokens to receive. | -| path (address\[]) | `address` | An array of token addresses. `path.length` must be >= 2. Pools for each consecutive pair of addresses must exist and have liquidity. | -| to | `address` | Address of recipient. | -| deadline | `uint` | Unix timestamp deadline by which the transaction must confirm. | - -### swapExactTokensForETHSupportingFeeOnTransferTokens - -``` -function swapExactTokensForETHSupportingFeeOnTransferTokens( - uint amountIn, - uint amountOutMin, - address[] calldata path, - address to, - uint deadline -) external; -``` - -Receive as much BNB as possible for an exact amount of tokens. Supports tokens that take a fee on transfer. - -| Name | Type | | -| ----------------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------ | -| amountIn | `uint` | Payable amount of input tokens. | -| amountOutMin | `uint` | The minimum amount tokens to receive. | -| path (address\[]) | `address` | An array of token addresses. `path.length` must be >= 2. Pools for each consecutive pair of addresses must exist and have liquidity. | -| to | `address` | Address of recipient. | -| deadline | `uint` | Unix timestamp deadline by which the transaction must confirm. | - -### swapExactTokensForTokens - -``` -function swapExactTokensForTokens( - uint amountIn, - uint amountOutMin, - address[] calldata path, - address to, - uint deadline -) external returns (uint[] memory amounts); -``` - -Receive as many output tokens as possible for an exact amount of input tokens. - -| Name | Type | | -| ----------------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------ | -| amountIn | `uint` | Payable amount of input tokens. | -| amountOutMin | `uint` | The minimum amount tokens to receive. | -| path (address\[]) | `address` | An array of token addresses. `path.length` must be >= 2. Pools for each consecutive pair of addresses must exist and have liquidity. | -| to | `address` | Address of recipient. | -| deadline | `uint` | Unix timestamp deadline by which the transaction must confirm. | - -### swapExactTokensForTokensSupportingFeeOnTransferTokens - -``` -function swapExactTokensForTokensSupportingFeeOnTransferTokens( - uint amountIn, - uint amountOutMin, - address[] calldata path, - address to, - uint deadline -) external; -``` - -Receive as many output tokens as possible for an exact amount of input tokens. Supports tokens that take a fee on transfer. - -| Name | Type | | -| ----------------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------ | -| amountIn | `uint` | Payable amount of input tokens. | -| amountOutMin | `uint` | The minimum amount tokens to receive. | -| path (address\[]) | `address` | An array of token addresses. `path.length` must be >= 2. Pools for each consecutive pair of addresses must exist and have liquidity. | -| to | `address` | Address of recipient. | -| deadline | `uint` | Unix timestamp deadline by which the transaction must confirm. | - -### swapTokensForExactETH - -``` -function swapTokensForExactETH(uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline) - external - returns (uint[] memory amounts); -``` - -Receive an exact amount of ETH for as few input tokens as possible. - -| Name | Type | | -| ----------------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------ | -| amountOut | `uint` | Payable amount of input tokens. | -| amountInMax | `uint` | The minimum amount tokens to input. | -| path (address\[]) | `address` | An array of token addresses. `path.length` must be >= 2. Pools for each consecutive pair of addresses must exist and have liquidity. | -| to | `address` | Address of recipient. | -| deadline | `uint` | Unix timestamp deadline by which the transaction must confirm. | - -### swapTokensForExactTokens - -``` -function swapTokensForExactTokens( - uint amountOut, - uint amountInMax, - address[] calldata path, - address to, - uint deadline -) external returns (uint[] memory amounts); -``` - -Receive an exact amount of output tokens for as few input tokens as possible. - -| Name | Type | | -| ----------------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------ | -| amountOut | `uint` | Payable amount of input tokens. | -| amountInMax | `uint` | The minimum amount tokens to input. | -| path (address\[]) | `address` | An array of token addresses. `path.length` must be >= 2. Pools for each consecutive pair of addresses must exist and have liquidity. | -| to | `address` | Address of recipient. | -| deadline | `uint` | Unix timestamp deadline by which the transaction must confirm. | - -## Interface - -``` -import '@uniswap/v2-core/contracts/interfaces/IPancakeRouter.sol'; -``` - -``` -pragma solidity >=0.6.2; - -interface IPancakeRouter01 { - function factory() external pure returns (address); - function WETH() external pure returns (address); - - function addLiquidity( - address tokenA, - address tokenB, - uint amountADesired, - uint amountBDesired, - uint amountAMin, - uint amountBMin, - address to, - uint deadline - ) external returns (uint amountA, uint amountB, uint liquidity); - function addLiquidityETH( - address token, - uint amountTokenDesired, - uint amountTokenMin, - uint amountETHMin, - address to, - uint deadline - ) external payable returns (uint amountToken, uint amountETH, uint liquidity); - function removeLiquidity( - address tokenA, - address tokenB, - uint liquidity, - uint amountAMin, - uint amountBMin, - address to, - uint deadline - ) external returns (uint amountA, uint amountB); - function removeLiquidityETH( - address token, - uint liquidity, - uint amountTokenMin, - uint amountETHMin, - address to, - uint deadline - ) external returns (uint amountToken, uint amountETH); - function removeLiquidityWithPermit( - address tokenA, - address tokenB, - uint liquidity, - uint amountAMin, - uint amountBMin, - address to, - uint deadline, - bool approveMax, uint8 v, bytes32 r, bytes32 s - ) external returns (uint amountA, uint amountB); - function removeLiquidityETHWithPermit( - address token, - uint liquidity, - uint amountTokenMin, - uint amountETHMin, - address to, - uint deadline, - bool approveMax, uint8 v, bytes32 r, bytes32 s - ) external returns (uint amountToken, uint amountETH); - function swapExactTokensForTokens( - uint amountIn, - uint amountOutMin, - address[] calldata path, - address to, - uint deadline - ) external returns (uint[] memory amounts); - function swapTokensForExactTokens( - uint amountOut, - uint amountInMax, - address[] calldata path, - address to, - uint deadline - ) external returns (uint[] memory amounts); - function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline) - external - payable - returns (uint[] memory amounts); - function swapTokensForExactETH(uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline) - external - returns (uint[] memory amounts); - function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline) - external - returns (uint[] memory amounts); - function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline) - external - payable - returns (uint[] memory amounts); - - function quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB); - function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut); - function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn); - function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts); - function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts); -} - -// File: contracts\interfaces\IPancakeRouter02.sol - -pragma solidity >=0.6.2; - -interface IPancakeRouter02 is IPancakeRouter01 { - function removeLiquidityETHSupportingFeeOnTransferTokens( - address token, - uint liquidity, - uint amountTokenMin, - uint amountETHMin, - address to, - uint deadline - ) external returns (uint amountETH); - function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens( - address token, - uint liquidity, - uint amountTokenMin, - uint amountETHMin, - address to, - uint deadline, - bool approveMax, uint8 v, bytes32 r, bytes32 s - ) external returns (uint amountETH); - - function swapExactTokensForTokensSupportingFeeOnTransferTokens( - uint amountIn, - uint amountOutMin, - address[] calldata path, - address to, - uint deadline - ) external; - function swapExactETHForTokensSupportingFeeOnTransferTokens( - uint amountOutMin, - address[] calldata path, - address to, - uint deadline - ) external payable; - function swapExactTokensForETHSupportingFeeOnTransferTokens( - uint amountIn, - uint amountOutMin, - address[] calldata path, - address to, - uint deadline - ) external; -} -``` diff --git a/code/smart-contracts/prediction-v2.md b/code/smart-contracts/prediction-v2.md deleted file mode 100644 index 060dd9a8..00000000 --- a/code/smart-contracts/prediction-v2.md +++ /dev/null @@ -1,12 +0,0 @@ -# Prediction V2 - -## Contract info - -**Contract name:** PancakePredictionV2\ -**Contract address:** [0x18B2A687610328590Bc8F2e5fEdDe3b582A49cdA](https://bscscan.com/address/0x18B2A687610328590Bc8F2e5fEdDe3b582A49cdA) - -View the [PancakeSwap: Prediction V2 contract on BscScan](https://bscscan.com/address/0x18B2A687610328590Bc8F2e5fEdDe3b582A49cdA#code). - -## Audits - -[Peckshield's Prediction V2 security audit](https://github.com/peckshield/publications/blob/master/audit\_reports/PeckShield-Audit-Report-PancakeSwap-PredictionV2-v1.0.pdf) diff --git a/contact-us/README.md b/contact-us/README.md deleted file mode 100644 index 8e26446d..00000000 --- a/contact-us/README.md +++ /dev/null @@ -1,22 +0,0 @@ -# Contact Us - -![](../.gitbook/assets/contact-us-header.png) - -#### Business Contacts - -### [List a Token](business-partnerships.md#exchange) - -### [Apply for Yield Farm or Syrup Pool](business-partnerships.md#farms-and-syrup-pools) - -### [Apply for an IFO (Token Sale)](business-partnerships.md#ifos-token-sales) - -### [Apply for the NFT Market](nft-market-applications.md) - -#### - -#### Help! - -### [Customer Support](customer-support.md#there-is-no-customer-support-for-pancakeswap) - -### [Social Communities](telegram.md) - diff --git a/contact-us/business-partnerships.md b/contact-us/business-partnerships.md deleted file mode 100644 index d12f4ca9..00000000 --- a/contact-us/business-partnerships.md +++ /dev/null @@ -1,84 +0,0 @@ -# Business Partnerships - -![](../.gitbook/assets/business-partnerships-header.png) - -## Farms and Syrup Pools - -Farms incentivize users to provide liquidity for your trading pair by distributing CAKE to your pair's LP Token holders. - -Syrup Pools are a way of distributing your tokens to BSC users who stake CAKE in the pool. - -These two products go hand-in-paw on PancakeSwap: when a project provides their tokens for a Syrup Pool, we'll also create a Farm. If you're looking to distribute tokens and incentivize liquidity, get in touch. - -**​**[**Apply to run a Farm or Syrup Pool**](https://docs.google.com/forms/d/e/1FAIpQLSfQNsAfh98SAfcqJKR3is2hdvMRdnvfd2F3Hql96vXHgIi3Bw/viewform)**​** - -* Please don't email us to apply - we only respond to applications via the application form. -* Please don't chase us for a response on your application. We have a constant backlog of quality projects reaching out to us. - -### How long will it take to get a response? - -We aim to respond to applications within a week, but due to a large number of requests, we’re unable to respond to every single applicant. If you don’t hear back from us within two weeks of applying, try reaching out to [@PancakeSwapBD](https://t.me/PancakeSwapBD) on Telegram, with **the name of your project, your token ticker, and the date you applied.** - -### What’s the difference between a Core Farm VS Farm Auction - -A Core Farm is usually offered to projects who have shown excellent trading volumes on PancakeSwap and have met the standards of our internal review process, while any project can participate in a Farm Auction and win a Farm slot. - -### What are the qualifying criteria for Community VS Core? - -Qualifying criteria for Community Farms and Core Farms/Pools are based on our internal review process. We don’t publish them externally. If you’re not eligible for a Core Farm, we may invite you to apply for a Community Farm instead. - -### Can I get a larger Farm multiplier? Or can I extend my Syrup Pool and Farm? - -If you’ve already got an ongoing Pool and Farm, you may be able to extend the timeline via a Boost Pool. If you wish to increase the multiplier, the team will consider it if the 30-day volume is increased. Contact us via your existing PancakeSwap communication channels for enquiries. - -## IFOs (Token Sales) - -"IFO" (Initial Farm Offering) is a new model of token sale pioneered by PancakeSwap. Here's how it works, in short: - -* Users buy your token with CAKE tokens. -* After the sale, we distribute the CAKE to you. - -Learn more about [how IFOs work.](https://medium.com/pancakeswap/initial-farm-offering-ifo-3-0-ifo-staking-pool-622d8bd356f1) - -[Apply to run an IFO](https://docs.google.com/forms/d/e/1FAIpQLSf0Vmy3k0KyXtXwqxr8QLjD8Xd6KBAmkYxcBRRVTUYJVX17fA/viewform) - -* Please don't email us to apply - we only respond to applications via the application form. -* Please don't chase us for a response on your application. We have a constant backlog of quality projects reaching out to us. - -### How long will it take to get a response? - -We aim to respond to applications within a week, but due to a large number of requests, we’re unable to respond to every single applicant. If you don’t hear back from us within two weeks of applying, try reaching out to [@PancakeSwapBD](https://t.me/PancakeSwapBD) on Telegram, with **the name of your project, your token ticker, and the date you applied.** - -## NFT Marketplace - -[Apply to list](nft-market-applications.md#apply-for-nft-market-listing) - -## Listing on the Exchange - -### How can I list my token on the exchange? - -Anybody can "list" any BEP-20 network token on PancakeSwap. You don't need to contact us or ask permission. You just need to [add liquidity to a liquidity pool](../products/pancakeswap-exchange/pancakeswap-pools.md) - that's it. Traders can then trade your token by entering your token's contract address. - -### How can I add my token to the default list? - -The top 100 list is generated according to the highest volume for a specific period of time. As for the Extended list: projects hosting Farms will usually be added, and other tokens chosen by PancakeSwap core team may also be added. - -We don’t take applications for these lists. Users can still add your token manually by entering its contract address. - -### How can I add my token's logo/icon? - -Please add your icon to Trust Wallet’s assets repo, which PancakeSwap references: [https://github.com/trustwallet/assets](https://github.com/trustwallet/assets) - -### Someone made a fake copy of my token! Can you block it? - -Due to PancakeSwap’s nature as an AMM-based DEX, we’re not able to prevent the trading of any BEP-20 token. We recommend ensuring that your token contract is clearly visible and verifiable on your site, and educating your users about how to safely trade your token. - -### People get an error when trading my token. What can I do? - -Check our [Troubleshooting page](../help/troubleshooting.md) for a list of common errors on the exchange, and how to solve them. - -## Something else - -You can shoot us an email at info@pancakeswap.com if the above parts don't cover your questions. - -Please don't try to contact us via this email for [customer support](customer-support.md), that's not what it's for and we won't respond: your best option for getting help with the product is via the [Telegram or Reddit community](telegram.md). diff --git a/contact-us/customer-support.md b/contact-us/customer-support.md deleted file mode 100644 index 59d92de3..00000000 --- a/contact-us/customer-support.md +++ /dev/null @@ -1,18 +0,0 @@ -# Customer Support - -![](../.gitbook/assets/customer-support-header.png) - -## There is NO customer support for PancakeSwap. - -If you're experiencing issues, - -1. First check [the troubleshooting page](../help/troubleshooting.md) for your error code -2. If you can't find a solution, try reaching out in your local [Telegram group](telegram.md). - -{% hint style="danger" %} -Admins will NEVER send you a direct message. If anybody approaches you directly on e.g. Telegram pretending to represent customer support, please block them and report as spam. -{% endhint %} - -{% hint style="danger" %} -**NEVER, under any situation, should you ever give someone your private key or recovery phrases. Immediately block and report anyone that asks for them.** -{% endhint %} diff --git a/contact-us/nft-market-applications.md b/contact-us/nft-market-applications.md deleted file mode 100644 index ecf14bcb..00000000 --- a/contact-us/nft-market-applications.md +++ /dev/null @@ -1,35 +0,0 @@ -# NFT Marketplace Applications - -## Apply for NFT Marketplace Listing - -![](../.gitbook/assets/nft-masthead.png) - -NFT collection creators can earn creator royalties on trades on PancakeSwap, as well as getting visibility for their project on the most prominent NFT marketplace on BNB Smart Chain. - -[Apply for Listing on PancakeSwap NFT Market](https://docs.google.com/forms/d/e/1FAIpQLSdLjOEiJT4s8No2QT2TKknuUSlVMndARFgng4MDJMsoFQjR-A/viewform) - -### **Basic requirements for NFT** - -Technical: - -* Follows BEP-721 standards -* 100% minted -* Metadata must be hosted on IPFS or a similar decentralised platform - -Business: - -* Has established an active community -* Has a working website with detailed information regarding the collections -* Has active social channels - -In addition to these requirements, the BD team will be asking further due diligence questions and projects will be assessed on a case-by-case basis. - -### How long will it take to get a response? - -We aim to respond to applications within a week, but due to a large number of requests, we’re unable to respond to every single applicant. If you don’t hear back from us within two weeks of applying, try reaching out to [@PancakeSwapBD](https://t.me/PancakeSwapBD) on Telegram, with **the name of your project and application details.** - -## Something else - -You can shoot us an email at info@pancakeswap.com if the above parts don't cover your questions. - -Please don't try to contact us via this email for [customer support](customer-support.md), that's not what it's for and we won't respond: your best option for getting help with the product is via the [Telegram or Reddit community](telegram.md). diff --git a/contact-us/telegram.md b/contact-us/telegram.md deleted file mode 100644 index 3035d8f3..00000000 --- a/contact-us/telegram.md +++ /dev/null @@ -1,57 +0,0 @@ -# Social Accounts & Communities - -![](../.gitbook/assets/socials-communities-header.png) - -Here you'll find a list of PancakeSwap's official Social media channels and communities. If English is not your first language, we have a number of non-English communities that would love to have you join them! - -## 🐦 Twitter - -[https://twitter.com/pancakeswap](https://twitter.com/pancakeswap) - -## 📰 Blog (Medium) - -{% embed url="https://medium.com/pancakeswap" %} - -## 👽 Reddit - -{% embed url="https://reddit.com/r/pancakeswap" %} - -## 🤳 Instagram - -{% embed url="https://www.instagram.com/pancakeswap_official/" %} - -## 🤖Discord - -Newly launched on 24th Nov! The below is the only link for our discord server! - -[https://discord.gg/pancakeswap](https://discord.gg/pancakeswap) - -## 💬 Telegram - -**Official Telegram Groups:** - -* 📣 Announcement Channel ([http://t.me/PancakeSwapAnn](http://t.me/PancakeSwapAnn)) -* 🥞 English ([http://t.me/pancakeswap](http://t.me/pancakeswap)) -* 🇯🇵 Japanese ([https://t.me/PancakeSwapJP](https://t.me/PancakeSwapJP)) -* 🇨🇳 Chinese ([http://t.me/PancakeSwap\_CN](http://t.me/PancakeSwap\_CN)) -* 🇮🇩 Indonesian ([http://t.me/PancakeSwapIndonesia](http://t.me/PancakeSwapIndonesia)) -* 🇻🇳 Việt Nam ([https://t.me/PancakeSwapVN](https://t.me/PancakeSwapVN)) -* 🇪🇸 🇦🇷 🇻🇪 Español ([https://t.me/PancakeSwapES](https://t.me/PancakeSwapES)) -* 🇷🇺 Russian ([http://t.me/pancakeswap\_ru](http://t.me/pancakeswap\_ru)) -* 🇧🇷 🇵🇹 Portuguese/Brazilian ([https://t.me/PancakeSwapPortuguese](https://t.me/PancakeSwapPortuguese)) -* 🇫🇷 French ([https://t.me/pancakeswapfr](https://t.me/pancakeswapfr)) -* 🇮🇹 Italiano ([https://t.me/pancakeswap\_ita](https://t.me/pancakeswap\_ita)) -* 🇹🇷 Türkiye ([https://t.me/pancakeswapturkiye](https://t.me/pancakeswapturkiye)) -* 🇩🇪 🇦🇹 🇨🇭 Deutsch ([https://t.me/PancakeSwap\_DE](https://t.me/PancakeSwap\_DE)) -* 🇵🇭 Filipino ([https://t.me/Pancakeswap\_Ph](https://t.me/Pancakeswap\_Ph)) -* 🇬🇪 Georgia ([https://t.me/PancakeSwapGeorgia](https://t.me/PancakeSwapGeorgia)) -* 🇮🇳 India ([https://t.me/PancakeSwapINDIA](https://t.me/PancakeSwapINDIA)) -* 😤 Ban Appeal ([https://t.me/pancakebanappeal](https://t.me/pancakebanappeal)) - -{% hint style="danger" %} -Admins will NEVER send you a direct message. If anybody approaches you directly on e.g. Telegram pretending to represent customer support, please block them and report spam. -{% endhint %} - -{% hint style="danger" %} -**NEVER, under any situation, should you ever give someone your private key or recovery phrases. Immediately block and report anyone that asks for them.** -{% endhint %} diff --git a/get-started/README.md b/get-started/README.md deleted file mode 100644 index cc6fe728..00000000 --- a/get-started/README.md +++ /dev/null @@ -1,31 +0,0 @@ -# Get Started - -![](../.gitbook/assets/get-started-header.png) - -Using anything new can be a bit of a challenge. Don't worry though, we've created a range of guides to help you get comfortable with PancakeSwap! - -## Setting up PancakeSwap - -Follow these guides to get everything set up to use PancakeSwap, or feel free to jump to the guide you need if you've been doing okay but lost your way. - -[Create a Wallet](https://docs.pancakeswap.finance/get-started/wallet-guide)\ -[Get BEP20 Tokens](https://docs.pancakeswap.finance/get-started/bep20-guide)\ -[Connect Your Wallet to PancakeSwap](https://docs.pancakeswap.finance/get-started/connection-guide) - -## Guides for using PancakeSwap features - -Once you have a wallet set up and connected to PancakeSwap, feel free to check our other how to guides below. - -[How to Trade](https://docs.pancakeswap.finance/products/pancakeswap-exchange/trade-guide)\ -[How to Add/Remove Liquidity](https://docs.pancakeswap.finance/products/pancakeswap-exchange/liquidity-guide)\ -[How to Use Farms](https://docs.pancakeswap.finance/products/yield-farming/how-to-use-farms)\ -[How to Stake in Syrup Pools](https://docs.pancakeswap.finance/products/syrup-pool/syrup-pool-guide)\ -[How to Play the Lottery](https://docs.pancakeswap.finance/products/lottery/lottery-guide)\ -[How to Use Prediction](https://docs.pancakeswap.finance/products/prediction/prediction-guide)\ -[How to Participate in an IFO](https://docs.pancakeswap.finance/products/ifo-initial-farm-offering/ifo-guide)\ -[How to Set Up an NFT Profile](https://docs.pancakeswap.finance/products/nft-profile-system/profile-guide)\ -[How to Vote](https://docs.pancakeswap.finance/products/voting/voting-guide) - -Check the menu for more documentation on the range of PancakeSwap features and services, including more advanced guides. - -If you can't find what you need, feel free to visit the [PancakeSwap Telegram](../contact-us/telegram.md) and ask for help there! diff --git a/get-started/bep20-guide.md b/get-started/bep20-guide.md deleted file mode 100644 index 9a67b888..00000000 --- a/get-started/bep20-guide.md +++ /dev/null @@ -1,31 +0,0 @@ -# Get BEP20 Tokens - -![](../.gitbook/assets/how-to-get-bep20-tokens-header.png) - -The native tokens of BNB Smart Chain (BSC) are **BEP20**. - -To do most things on BSC, you will need to pay gas, which comes in the form of BEP20 BNB. - -You will also need the BEP20 version of any token you want to trade, stake etc. on BSC. - -You can go a few ways about converting your tokens to BEP20, but here are the ones we recommend: - -{% tabs %} -{% tab title="🔒 SafePal" %} -[**SafePal** ](https://safepal.io/download)- You don't need an account, or to register etc. Execute cross-chain swaps directly from your wallet. - -📖 [Here's a quick guide they made to help you out.](https://docs.safepal.io/safepal-app/cross-chain-swap-tutorial) -{% endtab %} - -{% tab title="🌉 Binance Bridge" %} -[**Binance Bridge**](https://www.binance.org/en/bridge) _\*\*_ - You don't need an account, or to register etc. - -📖 [Here's a quick guide they made to help you out.](https://docs.binance.org/smart-chain/guides/bridge-v2.html) -{% endtab %} - -{% tab title="💰 Binance.com" %} -[**Binance.com**](https://github.com/pancakeswap/pancake-document/tree/255db0c7af28df2f9c1209daa5cdbd774490a666/get-started/www.binance.com) _\*\*_- You can withdraw tokens as BEP20 via your Binance account (if you have one). Bear in mind you need an account to do so. - -📖 [Here's a quick guide they made to help you out.](https://www.binance.com/en/support/faq/85a1c394ac1d489fb0bfac0ef2fceafd) -{% endtab %} -{% endtabs %} diff --git a/get-started/connection-guide.md b/get-started/connection-guide.md deleted file mode 100644 index 2e958016..00000000 --- a/get-started/connection-guide.md +++ /dev/null @@ -1,287 +0,0 @@ -# Connect Your Wallet to PancakeSwap - -![](../.gitbook/assets/how-to-connect-wallet-header.png) - -You've made a wallet and gotten your BEP20 tokens, now you just need to connect your wallet with PancakeSwap and you're good to go! - -Check out the steps below for how to connect each of our recommended wallets to PancakeSwap. - -## Smartphone/Mobile - -{% tabs %} -{% tab title="Trust Wallet" %} -![](<../.gitbook/assets/image (36).png>) - -To connect Trust Wallet follow the steps below. Note that Android and iOS devices do not use the same steps! - -### Android - -1. Open Trust Wallet and tap the **DApps** button on the bottom of the screen. - -![](<../.gitbook/assets/image (68).png>) - -1. Scroll down to "Popular" and tap on "PancakeSwap". You can also find it in "Exchanges". - -![](<../.gitbook/assets/image (66).png>) - -1. A new page will open with the PancakeSwap logo and some information. Tap the **Connect** button. - -![](<../.gitbook/assets/image (67).png>) - -1. PancakeSwap will open up. If you see a **Connect** button in the top-right tap that and tap **Trust Wallet** from the list. - -{% hint style="warning" %} -If you find you are unable to connect at step 4, go back to the DApps menu and find "PancakeSwap" again. Using "Pancake Swap" from the "History" section may result in the same problem. -{% endhint %} - -### iOS - -To connect to PancakeSwap through iOS, Trust Wallet have prepared a detailed guide on using WallteConnect. - -Read the [Trust Wallet guide to connecting to PancakeSwap via WalletConnect](https://community.trustwallet.com/t/using-walletconnect-to-access-pancakeswap/212307). - -### **Resources** - -[**Download Trust Wallet**](https://trustwallet.com) (Automatically detects device)\ -[**Trust Wallet Setup Guide**](https://www.binance.com/en/blog/421499824684901157/how-to-set-up-and-use-trust-wallet-for-binance-smart-chain) -{% endtab %} - -{% tab title="MetaMask" %} -![](<../.gitbook/assets/image (33) (3) (4) (5) (1) (1) (1) (1) (1) (1) (1).png>) - -To connect MetaMask to PancakeSwap follow the steps below. - -### Android and iOS - -1. Open MetaMask and tap on the **burger icon** in the top-left. - -![](<../.gitbook/assets/image (72).png>) - -1. Tap **Settings** in the menu. - -![](<../.gitbook/assets/image (73).png>) - -1. In the Settings menu, tap on **Network**. - -![](<../.gitbook/assets/image (74).png>) - -1. Tap on the **Add Network** button at the bottom. - -![](<../.gitbook/assets/image (75).png>) - -1. On the page that opens, type in the following details: - -**Network Name:** BNB Smart Chain\ -**RPC Url:** [https://bsc-dataseed.binance.org](https://bsc-dataseed.binance.org)\ -**Chain ID:** 56\ -**Symbol:** BNB\ -**Block Explorer URL:** [http://bscscan.com](http://bscscan.com) - -1. Once you've confirmed entry of the new network, go back to the burger menu and tap **Browser**. - -![](<../.gitbook/assets/image (76).png>) - -1. Type "PancakeSwap" into the search field and start the search. The top result will be the PancakeSwap exchange. Tap to enter it. -2. You wallet will ask you to connect. Tap **Connect** to connect to PancakeSwap. - -![](<../.gitbook/assets/image (77).png>) - -### Resources - -[**Download MetaMask**](https://metamask.io/download.html) (Automatically detects device)\ -[**MetaMask Setup Guide**](https://academy.binance.com/en/articles/connecting-metamask-to-binance-smart-chain\)) -{% endtab %} - -{% tab title="Coinbase Wallet" %} -![](<../.gitbook/assets/coinbase\_wallet\_wordmark\_blue (1) (1) (1) (1) (1) (1).png>) - -1. Open Coinbase Wallet and tap on the **settings icon** in the bottom-right.\ - ![](../.gitbook/assets/CB-M-p1.png)\ - ![](../.gitbook/assets/CB-M-p1\_5.png) -2. In the Settings menu, tap on **Default Network**.\ - ![](../.gitbook/assets/CB-M-p2.png)**** -3. Choose **Binance Smart Chain** from the list of network options.\ - ![](../.gitbook/assets/CB-M-p3.png) -4. Once you've selected the Binance Smart Chain network, click the **Browser Icon** at the bottom-middle of your app.\ - ![](../.gitbook/assets/CB-M-p4.png)\ - ![](../.gitbook/assets/CB-M-p5.png) -5. Type "PancakeSwap.finance" into the search field and start the search.\ - ![](../.gitbook/assets/CB-M-p6.png) -6. Click **Connect** **Wallet** to connect to Coinbase Wallet.\ - ![](../.gitbook/assets/CB-M-p7.png) - -### **Resources** - -#### [**Download Coinbase Wallet**](https://coinbase-wallet.onelink.me/q5Sx/fdb9b250) **(Automatically detects device)** - -[**Coinbase Wallet Setup Guide**](https://www.coinbase.com/wallet/getting-started-mobile) -{% endtab %} - -{% tab title="Token Pocket" %} -![](<../.gitbook/assets/image (125) (3) (4) (1) (1) (1) (1) (1) (1) (1) (3).png>) - -Token Pocket is a cryptocurrency management app that natively supports many cryptocurrency networks. It also has a desktop application available. - -### **Android and iOS** - -1. Tap the **Discover** button on the bottom of the main screen. - -![](<../.gitbook/assets/image (78).png>) - -1. You'll see a DApp browser page open. Under "Recommended", find and tap the **PancakeSwap** button. If you can't see PancakeSwap under Recommended, you can also find it under "BSC". - -![](<../.gitbook/assets/image (79).png>) - -1. A window will open saying that you will be opening a third party DApp. Tap **I got it** and you'll be taken to PancakeSwap's website connected to your wallet. - -![](<../.gitbook/assets/image (80).png>) - -**Resources**\ -[**Download Token Pocket App**](https://www.tokenpocket.pro/en/download/app) (Automatically detects device)\ -**Token Pocket Mobile Setup Guide** -{% endtab %} - -{% tab title="SafePal" %} -![](<../.gitbook/assets/image (26) (1).png>) - -SafePal is available as both a software and hardware wallet. The wallet is easy to install and create, and comes ready to support BEP2 (Binance Chain) and BEP20 (BNB Smart Chain) right away. - -### **Android and iOS** - -1. Tap the **4 squares** icon button on the bottom of the main screen. - -![](<../.gitbook/assets/image (82).png>) - -1. You'll see a DApp browser page open. Under "DeFi", find and tap the **PancakeSwap** button. If you can't see PancakeSwap under DeFi, you can also find it under "BSC". - -![](<../.gitbook/assets/image (83).png>) - -1. A window will open saying that you will be opening a third party DApp. Tap **Confirm** and you'll be taken to PancakeSwap's website connected to your wallet. - -![](<../.gitbook/assets/image (81).png>) - -**Resources**\ -​[**Download SafePal**](https://safepal.io/download) (Automatically detects device)\ -[**SafePal Setup Guide**](https://blog.safepal.io/binance-smart-chain-x-safepal/) -{% endtab %} -{% endtabs %} - -## **Desktop/Web Browser wallets** - -{% tabs %} -{% tab title="MetaMask" %} -![](<../.gitbook/assets/image (33) (3) (4) (5) (1) (1) (1) (1) (1) (1) (1) (4).png>) - -### Chrome and Firefox - -1. Open MetaMask and click on the **network selector** at the top. By default it will show "Ethereum Mainnet". Scroll down and click **Custom RPC**. - -![](<../.gitbook/assets/image (84).png>) - -1. A window will open. Type in the details below. - -**Network Name:** BNB Smart Chain\ -**New RPC URL:** [https://bsc-dataseed.binance.org](https://bsc-dataseed.binance.org)\ -**Chain ID:** 56\ -**Currency Symbol (optional):** BNB\ -**Block Explorer URL (optional):** [http://bscscan.com](http://bscscan.com) - -![](<../.gitbook/assets/image (85).png>) - -1. Make sure you've typed everything in correctly and click **Save**. BNB Smart Chain will now be one of your network options. - -![](<../.gitbook/assets/image (86).png>) - -1. Visit the [PancakeSwap website](https://pancakeswap.finance). In the top right corner you'll see the **Connect** button. Click it. - -![](<../.gitbook/assets/image (164) (3) (3) (1) (1) (1) (1) (1) (1) (1) (2).png>) - -1. A window will appear asking you to choose a wallet to connect to. Click **MetaMask** (it's the top option on the list). - -![](<../.gitbook/assets/image (87).png>) - -### Resources - -[**Download MetaMask**](https://metamask.io/download.html) (Automatically detects browser)\ -[**MetaMask Setup Guide**](https://academy.binance.com/en/articles/connecting-metamask-to-binance-smart-chain) -{% endtab %} - -{% tab title="Binance Wallet" %} -![](<../.gitbook/assets/image (39).png>) - -### Chrome and Firefox - -1. Open Binance Chain Wallet and click on the network selector at the top. The default network will be Binance Chain. Choose **BNB Smart Chain** from the list. - -![](<../.gitbook/assets/image (88).png>) - -1. Visit the PancakeSwap website. In the top-right, click **Connect**. - -![](<../.gitbook/assets/image (164) (3) (3) (1) (1) (1) (1) (1) (1) (2).png>) - -1. A window will appear asking you to choose a wallet to connect to. Click **Binance Chain Wallet** (it's farther down the list). - -![](<../.gitbook/assets/image (89).png>) - -### Resources - -[**Download Binance Wallet**](https://www.binance.org/en) (Automatically detects browser)\ -**Binance Wallet Setup Guide** -{% endtab %} - -{% tab title="Coinbase Wallet" %} -![](<../.gitbook/assets/coinbase\_wallet\_wordmark\_blue (1) (1) (1) (1) (1) (1) (2).png>) - -1. Open Coinbase Wallet and click on the **Settings** icon at the top-right. By default it will show "Ethereum Mainnet" as the Default Network.\ - ![](../.gitbook/assets/cb-desktop-1.png) -2. Click on **Default Network** and choose **Binance Smart Chain**\ - ****![](../.gitbook/assets/cb-desktop-2.png)**** -3. Binance Smart Chain will now be your Default Network. -4. Visit the[ ](https://pancakeswap.finance)[pancakeswap.finance](https://pancakeswap.finance), In the top right corner you'll see the **Connect** button. Click it.\ - ![](../.gitbook/assets/cb-desktop-3.png) -5. A window will appear asking you to choose a wallet to connect to. Click **Coinbase Wallet** (it's the top option on the list).\ - ![](../.gitbook/assets/cb-desktop-4.png) - -### **Resources** - -[**Download Coinbase Wallet**](https://chrome.google.com/webstore/detail/coinbase-wallet-extension/hnfanknocfeofbddgcijnmhnfnkdnaad?hl=en\&authuser=0)[ ](https://chrome.google.com/webstore/detail/coinbase-wallet-extension/hnfanknocfeofbddgcijnmhnfnkdnaad?hl=en\&authuser=0)(Chrome Only) - -[**Coinbase Wallet Setup Guide**](https://www.coinbase.com/wallet/getting-started-extension) -{% endtab %} - -{% tab title="Token Pocket" %} -![](<../.gitbook/assets/image (125) (3) (4) (1) (1) (1) (1) (1) (1) (1) (2).png>) - -### Desktop Application - -1. When you open the application, DApps should be the default page (if not, click to the DApps page). -2. Half way down the page you'll see a list of networks to choose from. Click **BSC**. - -![](<../.gitbook/assets/image (90).png>) - -1. On the list of BSC DApps, you'll find PancakeSwap links. Click a **PancakeSwap** link. - -![](<../.gitbook/assets/image (92).png>) - -{% hint style="warning" %} -Make sure you don't choose the "PancakeSwap data analysis" option. If you do, you will not be able to connect. -{% endhint %} - -1. Your browser will open a PancakeSwap tab and attempt to connect to Token Pocket. - -{% hint style="warning" %} -You will not be able to use both MetaMask and TokenPocket connecting through the same web browser. Make sure you use a web browser without MetaMask plugin installed if you're using TokenPocket on your desktop computer. -{% endhint %} - -### Resources - -[**Download Token Pocket Desktop Wallet**](https://www.tokenpocket.pro/en/download/pc) (MacOS or Win64)\ -**Token Pocket Desktop Setup Guide** -{% endtab %} -{% endtabs %} - - - -{% hint style="danger" %} -**Remember - NEVER, under any situation, should you ever give someone your private key or recovery phrases.** -{% endhint %} diff --git a/get-started/using-pancakeswap-without-centralized-exchanges.md b/get-started/using-pancakeswap-without-centralized-exchanges.md deleted file mode 100644 index a4e3a9ce..00000000 --- a/get-started/using-pancakeswap-without-centralized-exchanges.md +++ /dev/null @@ -1,100 +0,0 @@ ---- -description: >- - You don't need an account with Binance, Coinbase, Kraken, Huobi, OKEx or any - other centralized exchange to start using PancakeSwap! ---- - -# Using PancakeSwap without Centralized Exchanges - -![](<../.gitbook/assets/how-to-pancakeswap-without-cex-header (1).png>) - -PancakeSwap is a decentralized application. That means, unlike Binance or other centralized platforms, you don't need to register account to use it... you just need a crypto wallet. So how can you get crypto onto PancakeSwap without using a centralized exchange? - -In this tutorial, we're going to guide you through the process of using "cross-chain bridges" to transfer your assets into your BNB Smart Chain wallet, and start using PancakeSwap. - -### **Move your assets from other blockchains to BNB Smart Chain** - -You can use a variety of different cross-chain bridges to transfer tokens from Ethereum or other networks, onto BNB Smart Chain. - -In the following tutorials, we are going to demonstrate moving USDT from a variety of different blockchains to BNB Smart Chain, using three different cross-chain bridges. - -{% tabs %} -{% tab title="Binance Bridge (Recommanded)" %} -Binance Bridge may be the easiest bridge to use for moving assets onto BNB Smart Chain (BSC). - -In the following example, we'll show you how to move USDT from **TRON** blockchain to BSC using Binance Bridge. - -The process is about the same for moving from **Ethereum** to BSC. - -1. Prepare your TRON wallet with USDT and some TRX for bandwidth (gas). -2. Since Binance Bridge only supports MetaMask and Binance Chain Wallet. If you are using other wallet apps, we recommend you to import your wallet into MetaMask. -3. Navigate to [https://www.binance.org/en/bridge](https://www.binance.org/en/bridge) -4. Connect your MetaMask or BNB Smart Chain wallet. -5. Select TRX Network as "From", BNB Smart Chain Network as "To". Then type in the amount of USDT you want to transfer. - - -6. Additionally you can ask Binance Bridge to swap some BNB for you in the process of moving your USDT from TRON to BSC. This is particularly helpful when you are new to BNB Smart Chain with a fresh wallet, and need some BNB for gas. - - -7. Double check the “Destination” field is showing the correct BNB Smart Chain wallet address you’ve connected. -8. Click “Next”. And choose the fourth option. - - **WARNING: You can only send funds from a blockchain wallet (in this case, TRON). If your funds are under some other centralised exchange, please move them to blockchain wallet first.** - - -9. Make sure everything is correct, click “Next”. -10. Finally, please follow the on-screen instruction, use your blockchain wallet (in this case, TRON wallet) and send funds to the given address. Please make sure: - 1. The address is correct. - 2. Complete in one single transaction. - 3. Complete within the deadline. (shown below as countdown) - - -11. Once you complete the transaction. You should receive your fund in BNB Smart Chain wallet in a few minutes. After that, you can start using PancakeSwap to swap some tokens on BNB Smart Chain! - -Additionally, you can check out [this user guide](https://binance-wallet.gitbook.io/binance-chain-wallet/bmw-guides-and-faq/defi/how-to-convert-bep20-tokens-to-erc20-on-binance-wallet) and [video tutorial](https://fast.wistia.net/embed/iframe/fhip2z4nth) from Binance. -{% endtab %} - -{% tab title="AnySwap" %} -Let's try moving USDT from Polygon (MATIC) blockchain to BSC using AnySwap. - -1. Prepare your Polygon (MATIC) wallet with USDT and some MATIC for gas. -2. Since AnySwap only supports MetaMask, OKEx Wallet and Coin98 Wallet. If you are using other wallet apps, we recommend you to import your wallet into MetaMask. -3. Navigate to [https://anyswap.exchange/#/router](https://anyswap.exchange/#/router) -4. Connect your wallet and switch your network to Polygon (MATIC) Mainnet. -5. Select USDT on MATIC mainnet as "From", and USDT on BSC mainnet as "To". Then type in the amount of USDT you want to transfer. - - -6. Click "Approve USDT" to approve your USDT. -7. Additionally if you want AnySwap to deposit your USDT into another BSC address. Please use the "+ Send To" button. -8. Click "Swap" and complete your final cross-chain transactions. -9. The entire process will take around 10-30 minutes to complete depends on how congested the network is. -10. Once finished. You should receive your fund in your BSC wallet. Now you can start using PancakeSwap to swap some tokens on BNB Smart Chain! -{% endtab %} - -{% tab title="O3 Hub" %} -⚠️ **O3 Swap is in beta. Please trade at your own risk.** - -Let's try using O3 Hub to moving USDT from ERC-20 blockchain to BNB Smart Chain. - -1. Prepare your ERC-20 (Ethereum Mainnet) wallet with USDT and some ETH for gas. -2. Since O3 Hub only supports MetaMask and O3 Wallet. If you are using other wallet apps, we recommend you to import your wallet into MetaMask. -3. Navigate to [https://o3swap.com/hub](https://o3swap.com/hub) -4. Connect your MetaMask or O3 wallet for both ETH and BSC. And switch your network in MetaMask to Ethereum Mainnet. - - -5. Select ERC-20 USDT as “You pay”, and BEP-20 USDT as "You will receive". Then type in the amount of USDT you want to transfer. - - -6. Double check the “To” field is showing the correct BNB Smart Chain wallet address you’ve connected. - - -7. Make sure everything is correct. Click "Swap". -8. Follow the on-screen instructions to approve your USDT, and complete the final cross-chain transaction. -9. The entire process will take around 10-30 minutes to complete depends on how congested the network is. You can keep track of the progress on history tab. - - -10. Once finished. You should receive your funds in your BSC wallet. Now you can start using PancakeSwap to swap some tokens on BNB Smart Chain! - -Additionally, you can check out [this user guide](https://docs.o3swap.com/o3-swap-user-guide/hub#2.-hub-swap) from O3 Swap. -{% endtab %} -{% endtabs %} diff --git a/get-started/wallet-guide.md b/get-started/wallet-guide.md deleted file mode 100644 index 1ba19ba6..00000000 --- a/get-started/wallet-guide.md +++ /dev/null @@ -1,407 +0,0 @@ -# Create a Wallet - -![](../.gitbook/assets/how-to-make-a-crypto-wallet-header.png) - -To get started on PancakeSwap, the first thing you'll need is to set up a wallet that supports BNB Smart Chain (BSC). Wallets are available both on desktop computers and on smartphone devices. You'll need to choose the wallet that fits your needs best. - -{% hint style="danger" %} -**When you're setting up a wallet, be sure to:** - -* ✅ **Download and install only the latest version from an official source.** -* ✅ **Follow the setup guide carefully.** -* ✅ **Safely back up your recovery phrases.** -* ❌ **NEVER share your recovery phrases with anyone, under any circumstances.** -* ❌ **NEVER input your recovery phrase to a website or app, other than your wallet app.** -{% endhint %} - -## Smartphone/Mobile or Desktop wallet? - -Mobile device wallets and desktop-based wallets have different strengths and weaknesses. Consider which fits your needs better to help decide which type of wallet to use. - -| | Mobile | Desktop | -| --------------------------------- | ------ | ------- | -| Use anywhere | ✅ | ➖ | -| Easy to use | ✅ | ➖ | -| More secure | ➖ | ✅ | -| Accessibility friendly | ➖ | ✅ | -| Damage/loss/theft resistant | ➖ | ✅ | -| Power/connection outage resistant | ✅ | ➖ | - -## **Smartphone/Mobile wallets** - -Smartphone/Mobile wallets allow you to access your crypto almost anywhere. Wallets are available on both Android and iOS devices. - -### Which mobile wallet should I choose? - -This comparison table gives an overview of the most popular mobile wallets used with PancakeSwap. - -| | Token Pocket | MetaMask | Coinbase Wallet | Trust Wallet | SafePal | -| -------------------------------------------------------- | ------------ | -------- | --------------- | ----------------------------- | ------- | -| BNB Smart Chain support | ✅ | ⚠️ | ✅ | ✅ | ✅ | -| Built-in DApp browser | ✅ | ➖ | ✅ |

✅ Android

⚠️ iOS

| ✅ | -| Hardware wallet compatible | ➖ | ✅ | ✅ | ➖ | 🔶 | -| Open source (auditability) | ✅ | ✅ | ✅ | ✅ | ➖ | -|

Interact with BscScan

(for advanced users!)

| ➖ | ✅ | ➖ | ➖ | ➖ | - -⚠️ Requires some setup\ -🔶 Only supports SafePal hardware wallet - -You can find more in-depth information about each wallet below, as well as download links and installation guides. - -{% tabs %} -{% tab title="Trust Wallet" %} -![](<../.gitbook/assets/image (36).png>) - -Trust Wallet is a popular wallet for smart devices. It supports DApps, NFT collectibles (with Opensea.io support), and in-wallet staking. - -**Pros:** - -* Open source for auditability -* Backed by the Binance cryptocurrency exchange -* Easily switch between several crypto networks -* Includes networks by default -* Includes in-wallet staking options -* Has additional features such as NFT collection, BNB staking, and DApp access within the wallet - -**Cons:** - -* Language tied to phone settings -* Limited DApps -* Transaction notifications can be delayed - -[**Download Trust Wallet**](https://trustwallet.com) (Automatically detects device)\ -[**Trust Wallet Setup Guide**](https://www.binance.com/en/blog/421499824684901157/How-to-Set-Up-and-Use-Trust-Wallet-for-Binance-Smart-Chain) -{% endtab %} - -{% tab title="MetaMask" %} -![](<../.gitbook/assets/image (33) (3) (4) (5) (1) (1) (1) (1) (1) (1) (1).png>) - -MetaMask is a very popular browser-based wallet plugin that supports ERC20 (Ethereum network) and BEP2 & BEP20 (Binance Chain and BNB Smart Chain networks). - -​**Pros:** - -* Open source for auditability -* WEB3 capable on BscScan -* A strong history of security and reliability -* A large amount of how-to guides and resources online -* Many tools and custom settings -* Offers ETH purchases with Transak -* Supports a very large number of languages -* Is also available a browser plugin for desktop devices - -**Cons:** - -* Longer setup time than other options -* Additional steps needed to use with BNB Smart Chain and PancakeSwap -* Extra information and settings may confuse beginners - -[**Download MetaMask**](https://metamask.io/download.html) (Automatically detects device)\ -[**MetaMask Setup Guide**](https://academy.binance.com/en/articles/connecting-metamask-to-binance-smart-chain) -{% endtab %} - -{% tab title="Coinbase Wallet" %} -![](<../.gitbook/assets/coinbase\_wallet\_wordmark\_blue (1) (1) (1) (1) (1) (1) (1).png>) - -Millions of users choose Coinbase Wallet to earn yield with DeFi, swap more than 5,500 assets, and hold their NFT collections. Coinbase wallet supports BEP2 & BEP20 (Binance Chain and BNB Smart Chain networks). - -**Highlights:** - -* Most downloaded mobile dapp wallet in the United States with 12M+ active Wallet users. -* No additional steps needed to use with BNB Smart Chain and PancakeSwap. -* Premier audience: Up to 89M+ Coinbase retail app users to onboard to Coinbase Wallet as they start to explore web3. -* Easy to transfer assets from Coinbase retail app. -* Fiat On-ramp: Users can now directly purchase crypto with fiat in all 86 countries where Coinbase operates, without leaving Wallet. -* Industry leading security with secure cloud backup. - - - -[**Download Coinbase Wallet**](https://coinbase-wallet.onelink.me/q5Sx/fdb9b250) **(Automatically detects device)** - -[**Coinbase Wallet Setup Guide**](https://www.coinbase.com/wallet/getting-started-mobile) - -__ - -_Coinbase Wallet is a self-custody wallet providing software services subject to Coinbase Wallet_ [_Terms of Service_](https://wallet.coinbase.com/terms-of-service) _and_ [_Privacy Policy_](https://wallet.coinbase.com/privacy-policy)_. Coinbase Wallet is_ [_distinct_](https://help.coinbase.com/en/wallet/getting-started/what-s-the-difference-between-coinbase-com-and-wallet) _from Coinbase.com, and private keys for Coinbase Wallet are stored directly by the user and not by Coinbase. Fees may apply. You do not need a Coinbase.com account to use Coinbase Wallet._ -{% endtab %} - -{% tab title="Token Pocket" %} -![](<../.gitbook/assets/image (125) (3) (4) (1) (1) (1) (1) (1) (1) (1) (3).png>) - -Token Pocket is a cryptocurrency management app that natively supports many cryptocurrency networks. It also has a desktop application available. - -​**Pros:** - -* Open source for auditability -* Allows users to easily switch between many crypto networks -* Supports many networks by default -* A less cramped user experience than browser plugin wallets -* Is also available as desktop software devices - -**Cons:** - -* Only supports Chinese and English languages -* Has some issues with the English translation -* Has fewer online resources than more established wallets - -[**Download Token Pocket App**](https://www.tokenpocket.pro/en/download/app) (Automatically detects device) - -#### **Token Pocket Mobile Setup Guide** - -1. Visit the Token Pocket website and tap **Mobile**. - -![](https://lh5.googleusercontent.com/fTsZdwOn3cgT7au7KaoTxY-Ib1KMEfVP9MifMszobGFJ6BTQ0iPlQLl01CYuS3vbAVPmTz9vC3Hnw1lApk1m1I1SDG2fIfi-nN3CIE4oImXU82WCcZWVhLhq2LqY79W1UuN3oefD) - -1. Your device will be automatically detected. Tap the **Google Play** or **App Store** button and install the Token Pocket app. -2. Once Token Pocket is installed, open it. You’ll be met by a screen asking whether you have an existing wallet or would like to create a new one. Tap **No accounts, Create Now**. - -If you do have an existing wallet to import, use the top option instead. - -![](https://lh3.googleusercontent.com/FdtGOB7N7ZKROD0EIKy5roklxcqtYwq26lZ4RX\_8RxUdt-caGPAr03HNTdOtTqpD82hkBcX9umQI1VcL6n0jXky4uVy\_dFDr8pReadLE80AHXkvm4mbvZZN2vxnzeaUmHXATx3GC) - -1. On the next page, find **BNB Smart Chain** in the list and tap it. - -![](https://lh5.googleusercontent.com/TGpsjTq\_B1rLK-A8Cqzq9sC0IACpDZFCbpwN5\_GD4r8sCRmaqAdbswC-OmWAM7YiKATEaHTHviODFueMA6sCDSGlvNslYjGWQIrX5X8oR\_5pGPuMJ6X7\_Gz-rEoJwzmS9exEybbs) - -1. Next, on the “Create way” page, tap **Create Wallet**. - -![](https://lh4.googleusercontent.com/AvN\_ssg1eWtArzqvT0oaxWGC-GR6lfG6GjzhIbvIpYO6b2om9ZYtNa5GWlU7KW31cKjPqFmSsx8zSjvT\_Bxw2zAqvVSMylbQWCCXYwnJOVM5jOxg9u7lt6\_Yy5AySM72HSS99v0n) - -1. You’ll be asked to enter a password. For your security, make sure your password is judged as “Strong”. You can also add a hint, but make sure it’s something only you will understand. When you’re ready, tap **Create Wallet**. - -And that’s it, all done! - -To connect to BNB Smart Chain and use PancakeSwap, you can follow the TokenPocket section of our Connect Your Wallet to PancakeSwap guide [https://docs.pancakeswap.finance/get-started/connection-guide](https://docs.pancakeswap.finance/get-started/connection-guide). - -#### Getting private key from mobile to import to desktop - -Token Pocket lets you use both a desktop and mobile wallet. This section will cover how to get your private key from your mobile wallet to import into your desktop wallet. - -{% hint style="warning" %} -Please be extremely careful with how you handle your private keys. Giving your private keys to someone will give them full access to your coins! Token Pocket is an open source project and will use your private key to import your wallet. Even so, only use your private key with applications you trust and can verify are legitimate! -{% endhint %} - -1. Tap the **Me** tab on the bottom ribbon and tap **Manage Wallets**. - -![](https://lh3.googleusercontent.com/\_DE3EO8bsI5wKZlkTeJv3zZ77LR8SVQYOwB4EXbY\_GhKzz4PSZpo3MdlvrU8sLoLyPcRQjdjOA24VPjAa\_UZdt-JaiRgPMk67uBs7JIi5gp9gV1\_wDB7fW7FQoFogTMZ\_EQJYxcQ) - -1. On the next page, tap the **BNB Smart Chain** entry. Be careful not to tap the address part, or you’ll only copy that to clipboard instead. - -![](https://lh4.googleusercontent.com/jLhXL03uhZHBKbHaPvy3ZrD1EmYCR8ECqwMxQIzTKnUtxMNntaDA8Dx4oVlXSadoFhhJqZACsYWVPfvITBEpWfkCfwntcQY3Fw5EYgGH-tmva8PZbvYbBRCy\_c5V7E1yQHvXiU0F) - -1. When the menu appears, find and tap the **Export Private Key** option. Type in your password to get your private key. - -{% hint style="danger" %} -\*\*NEVER, in any situation, should you ever give someone your private key or recovery phrase ("seed phrase"). This will give someone complete access to your crypto! - -The genuine PancakeSwap site and staff will never ask you to input your seed phrase.\*\* -{% endhint %} - -Now you have your private key ready to import your wallet into the desktop version of Token Pocket. -{% endtab %} - -{% tab title="SafePal" %} -![](<../.gitbook/assets/image (26) (1).png>) - -SafePal is available as both a software and hardware wallet. The wallet is easy to install and create, and comes ready to support BEP2 (Binance Chain) and BEP20 (BNB Smart Chain) right away. - -**Pros:** - -* Easily switch between several crypto networks -* Offers 25% fee discount paying with BNB (requires login) -* Has the option for Google Authenticator built in -* Supports a large number of languages -* Setup process is very simple -* Is available as both a software and hardware wallet (work together) -* Supports NFTs on both the BSC and ETH networks - -**Cons:** - -* Isn't fully open source -* Has some features that are not yet ready for use (such as DeFi) -* Does not give user notifications -* Does not enforce strong security during initial setup and wallet creation -* Has fewer online resources than more established wallets - -​[**Download SafePal**](https://safepal.io/download) (Automatically detects device)\ -[**SafePal Setup Guide**](https://blog.safepal.io/binance-smart-chain-x-safepal/) -{% endtab %} -{% endtabs %} - -## **Desktop/Web Browser wallets** - -Desktop wallets are available on your home computer or laptop computer. Wallets on your computer can run as standalone applications, or as web browser plugins for popular browsers like Chrome and Firefox. - -### Which desktop wallet should I choose? - -This comparison table gives an overview of the most popular desktop wallets used with PancakeSwap. - -| | MetaMask | Binance Wallet | Coinbase Wallet | Token Pocket | -| -------------------------------------------------------- | -------- | -------------- | --------------- | ------------ | -| BNB Smart Chain support | ⚠️ | ✅ | ✅ | ⚠️ | -| Built-in DApp browser | ➖ | ➖ | ➖ | ✅ | -| Hardware wallet compatible | ✅ | ✅ | ✅ | ➖ | -| Open source (auditability) | ✅ | ✅ | ✅ | ✅ | -|

Interact with BscScan

(for advanced users!)

| ✅ | ➖ | ➖ | ➖ | - -⚠️ Requires additional setup - -You can find more in-depth information about each wallet below, as well as download links and installation guides. - -{% tabs %} -{% tab title="MetaMask" %} -![](<../.gitbook/assets/image (33) (3) (4) (5) (1) (1) (1) (1) (1) (1) (1) (4).png>) - -MetaMask is a very popular browser-based wallet plugin that supports ERC20 (Ethereum network) by default, and BEP2 & BEP20 (Binance Chain and BNB Smart Chain networks) with a little work. - -​**Pros:** - -* Open source for auditability -* WEB3 capable on BscScan -* A strong history of security and reliability -* A large amount of how-to guides and resources online -* Many tools and custom settings -* Supports a very large number of languages -* Is also available on mobile devices - -**Cons:** - -* Longer setup time than other options -* Additional steps needed to use with BNB Smart Chain and PancakeSwap -* Extra information and settings may confuse beginners - -[**Download MetaMask**](https://metamask.io/download.html) (Automatically detects browser)\ -[**MetaMask Setup Guide**](https://academy.binance.com/en/articles/connecting-metamask-to-binance-smart-chain) -{% endtab %} - -{% tab title="Binance Wallet" %} -![](<../.gitbook/assets/image (39).png>) - -Binance Wallet is a browser-plugin wallet that natively supports the Binance Chain (BEP2) BNB Smart Chain (BEP20) networks. Binance Wallet was developed by the Binance cryptocurrency exchange. - -​**Pros:** - -* Open source for auditability -* Backed by the Binance cryptocurrency exchange -* Can be directly linked to a Binance or Gmail account -* A streamlined user experience -* Supports BNB Smart Chain by default, making using PancakeSwap easy -* Supports a large number of languages -* Hardware wallet compatible - -**Cons:** - -* Lacks some custom settings of other wallets -* Lack of additional tools makes some actions available in other wallets impossible -* Has fewer online resources than more established wallets - -[**Download Binance Wallet**](https://www.binance.org/en) (Automatically detects browser)\ -[**Binance Wallet Setup Guide**](https://docs.binance.org/smart-chain/wallet/binance.html) -{% endtab %} - -{% tab title="Coinbase Wallet" %} -![](<../.gitbook/assets/coinbase\_wallet\_wordmark\_blue (1) (1) (1) (1) (1) (2).png>) - -Millions of users choose Coinbase Wallet to earn yield with DeFi, swap more than 5,500 assets, and hold their NFT collections. Coinbase wallet supports ERC20 (Ethereum network) and BEP2 & BEP20 (Binance Chain and BNB Smart Chain networks). - -**Highlights:** - -* 12M+ active Wallet users. -* No additional steps needed to use with BNB Smart Chain and PancakeSwap. -* Premier audience: Up to 89M+ Coinbase retail app users to onboard to Coinbase Wallet as they start to explore web3. -* Easy to transfer assets from Coinbase retail app. -* Fiat On-ramp: Users can now directly purchase crypto with fiat in all 86 countries where Coinbase operates, without leaving Wallet. -* Industry leading security with secure cloud backup -* Is also available on mobile devices - -**Note:** - -* Currently on Chrome Only - - - -[**Download Coinbase Wallet**](https://chrome.google.com/webstore/detail/coinbase-wallet-extension/hnfanknocfeofbddgcijnmhnfnkdnaad?hl=en\&authuser=0)[ ](https://chrome.google.com/webstore/detail/coinbase-wallet-extension/hnfanknocfeofbddgcijnmhnfnkdnaad?hl=en\&authuser=0)Chrome Only) - -[**Coinbase Wallet Setup Guide**](https://www.coinbase.com/wallet/getting-started-extension) - -__ - -_Coinbase Wallet is a self-custody wallet providing software services subject to Coinbase Wallet_ [_Terms of Service_](https://wallet.coinbase.com/terms-of-service) _and_ [_Privacy Policy_](https://wallet.coinbase.com/privacy-policy)_. Coinbase Wallet is_ [_distinct_](https://help.coinbase.com/en/wallet/getting-started/what-s-the-difference-between-coinbase-com-and-wallet) _from Coinbase.com, and private keys for Coinbase Wallet are stored directly by the user and not by Coinbase. Fees may apply. You do not need a Coinbase.com account to use Coinbase Wallet._ -{% endtab %} - -{% tab title="Token Pocket" %} -![](<../.gitbook/assets/image (125) (3) (4) (1) (1) (1) (1) (1) (1) (1) (2).png>) - -Token Pocket is a standalone application available for both Mac OS and Win64 devices. Token Pocket allows you to manage your cryptocurrency in software independent of your browser. - -​**Pros:** - -* Open source for auditability -* Independent of your browser and any of its permissions -* Allows users to easily switch between many crypto networks -* Supports many networks by default -* A less cramped user experience than browser plugin wallets -* Is also available on mobile devices - -**Cons:** - -* Asks users to enter their private key as part of desktop setup process -* Only supports Chinese and English languages -* Has some issues with the English translation -* Has fewer online resources than more established wallets - -[**Download Token Pocket Desktop Wallet**](https://www.tokenpocket.pro/en/download/pc) (MacOS or Win64) - -#### **Token Pocket Desktop Setup Guide** - -The desktop version of Token Pocket will ask you to import a private key. Please make sure you’re familiar with and understand the importance of a private key before you proceed. - -Token Pocket is an open source project, so the code is publicly visible and generally considered safe. Even so, your private keys are your responsibility, so only use them with applications you trust and can verify. - -1. Visit the Token Pocket website on your PC and click the **Desktop** button. - -![](https://lh3.googleusercontent.com/8BvpBrdR19cHhjJq0\_xOFQwpTDLaYUxqLAM03JPFzBPz93SHl3n84Dw\_kICcfOR80iVZFS1QfYsexEUMNnchMLGSH11lHKMqBQWAJUZy7yd0LM6jaFrwRGt5EluBRo\_uDqJBqbg2) - -1. On the next page, click the button for your operating system and wait for your download to finish. This guide uses Windows, but the process is largely the same on Mac OS. - -![](https://lh3.googleusercontent.com/SrYkM-cFg\_tO3RcTlYv2Rq4pViUzRSw5el\_JR8SnQYDmvVYupjJveTUXHr8QPeo30Ooc4EHBKEuYjxM1JbtirRHitGJtZ-2ET\_Xk5a5DRbhqwyJToToii-s6Ch195p5o3Eo4Ajnm) - -1. Run the installation file. It will ask you to choose between making Token Pocket available to everyone using the computer, or just the current user. For your security, we recommend current user only. - -![](https://lh3.googleusercontent.com/EnmEle5PcVenTxE7jEtEHhQxeXwKjhzlOkZH67ByFLAIo4RMife2u4n36uDDGjTB8h64KxS0wmlI8FKAbxB6KvjvhD-WgCqdKpyUP1YM4tmxqTzjLGPuqDmf5ABTyY\_5-wG7ppgG) - -1. Enter a destination folder to install to and click **Install**. - -![](https://lh6.googleusercontent.com/ED7cl2\_ZGBkUvM-A7CpE\_bRNfdLQ8DcD2qmq6KaGAUIZTi\_06f7BA\_m-xBhoFzrczfTZQENsYji2Xlh\_DNh0zWpmRnuo45HKX2r8zJxrBtqXkuPgxfCd4jAIvMytHu6iT\_ZPRxmI) - -1. Once the installation is finished, click **Finish** and run Token Pocket. -2. When Token Pocket opens, you may find yourself looking at a Chinese interface. You can change to English by clicking EN in the bottom-left corner. - -![](https://lh6.googleusercontent.com/V3VS6TaN0rJtfqjzCo5QEtS1ywJn\_bmmB2hKWLbUGRy\_-Pk83kGfu9feB35VAi4TC7BHKTqkApDagBuWP7XS3tVNzhcMPmANGqLlsOecumQpMMisvUBiABqi05351e7cNUgktWsO) - -1. Token Pocket will be asking you to create a password. Make sure you use something that’s hard to guess; the longer the password is, the more secure. When you’re done, click **Confirm**. - -![](https://lh5.googleusercontent.com/GQqBU7OEK7BQuJc4NiOHEqt3kjO-B6jM6AAv3PFD6DoYuXywuOz6365Z5rPmNtkigWSg3f1\_zzvoHfWAUvqIpEKaAajkDxVwlaWAljIW1ZGdgSwqECVa2CwgtS\_vOOcX8faW19gB) - -1. On the next page, Token Pocket will be asking you to import a private key. This may be intimidating, but Token Pocket will work as an interface for your existing wallet. You’ll need to get your private from whatever existing wallet you want to use. - -Here is a [guide for getting your private key from MetaMask](https://metamask.zendesk.com/hc/en-us/articles/360015289632-How-to-Export-an-Account-Private-Key). To import your private key from the mobile version of Token Pocket, see the Mobile Token Pocket tab higher up this page. If you use another wallet and don’t know how to get your private key, you’ll need to find a guide. - -{% hint style="warning" %} -Please be extremely careful with how you handle your private keys. Giving your private keys to someone will give them full access to your coins! Token Pocket is an open source project and will use your private key to import your wallet. Even so, only use your private key with applications you trust and can verify are legitimate! -{% endhint %} - -![](https://lh5.googleusercontent.com/1ZNrWBvjfL\_1joVAxKQVdXbQnGFmbyw1PXAqgAGwaH73KAkrFgJR8N\_pYBJwY\_FTyXy-y\_fRuks3Ne\_n-9xJWVEvOg9NnNMup82smXwGYnDzPqV4Wc9E\_CCE9WKPX9nAP-SoPhxM) - -1. Once you’ve entered your private key, click the **Ethereum** network for now. - -![](https://lh5.googleusercontent.com/g\_iZzJZAPhsBQUBgQqTvLO1HfuGnCGZDkRD3DFu4g4GPat901700Qk3aBx8Fx5AzY2PH7JYajGM4-4fXm6icPWB-8R5wQQst-W3NWJ6n0Rh\_bbPKXnXrO4h\_JEgu7wtey11EuCN-) - -And that’s it, all done! You can follow our [Connect Your Wallet to PancakeSwap guide](https://docs.pancakeswap.finance/get-started/connection-guide) to connect to BNB Smart Chain and PancakeSwap. -{% endtab %} -{% endtabs %} - -{% hint style="danger" %} -NEVER, in any situation, should you ever give someone your private key or recovery phrase ("seed phrase"). This will give someone complete access to your crypto! - -The genuine PancakeSwap site and staff will never ask you to input your seed phrase. -{% endhint %} diff --git a/governance/farms.md b/governance/farms.md deleted file mode 100644 index e74680d5..00000000 --- a/governance/farms.md +++ /dev/null @@ -1,2 +0,0 @@ -# Farms - diff --git a/governance/lottery/README.md b/governance/lottery/README.md deleted file mode 100644 index 0bc5d3f5..00000000 --- a/governance/lottery/README.md +++ /dev/null @@ -1,5 +0,0 @@ -# Lottery - -{% content-ref url="lottery-contract.md" %} -[lottery-contract.md](lottery-contract.md) -{% endcontent-ref %} diff --git a/governance/lottery/lottery-contract.md b/governance/lottery/lottery-contract.md deleted file mode 100644 index 121e383c..00000000 --- a/governance/lottery/lottery-contract.md +++ /dev/null @@ -1,312 +0,0 @@ -# Lottery Contract - -## Contract roles: - -| Role | Description | -| ------------------------------ | ------------------------------------------------------------------------- | -| injectorAddress (onlyInjector) | Injector is the address used to fund the lottery with periodic injections | -| operatorAddress (onlyOperator) | The lottery scheduler account used to run regular operations. | -| treasuryAddress (onlyTreasury) | The address in which the burn is sent | -| Owner (onlyOwner) | The contract owner | - -### Owner - -`0xad9d97fc7bf0ac6dc68d478dcb3709454519b358` - -Address controlled by gnosis multisignature contract with a threshold of 3/6 - -### Operator Address - -`0x566a7e38b300E903dE71389C2b801AcDBA5268dB` - -Scheduler address - entirely automated and no human interaction. Not on multisig and doesn't have access to sensitive contract operations. - -### Treasury Address - -`0xe2086f890e7bd20e07fc0036a437dc4813e88b09` - -Address controlled by gnosis multisignature contract with a threshold of 3/6 - -### Injector Address (Currently the same as Owner) - -`0xaD9d97fc7BF0ac6dC68d478dcB3709454519b358` - -Address controlled by gnosis multisignature contract with a threshold of 3/6 - -## Functions - -### `injectFunds` - **Injector** and **Owner** - -```typescript - function injectFunds(uint256 _lotteryId, uint256 _amount) external override onlyOwnerOrInjector { - require(_lotteries[_lotteryId].status == Status.Open, "Lottery not open"); - - cakeToken.safeTransferFrom(address(msg.sender), address(this), _amount); - _lotteries[_lotteryId].amountCollectedInCake += _amount; - - emit LotteryInjection(_lotteryId, _amount); - } -``` - -The **Injector** or **Owner** can call this function to inject a specific _lotteryId_ with a specified amount of _CAKE_. - -### `startLottery` - **Operator** - -```typescript - function startLottery( - uint256 _endTime, - uint256 _priceTicketInCake, - uint256 _discountDivisor, - uint256[6] calldata _rewardsBreakdown, - uint256 _treasuryFee - ) external override onlyOperator { - require( - (currentLotteryId == 0) || (_lotteries[currentLotteryId].status == Status.Claimable), - "Not time to start lottery" - ); - - require( - ((_endTime - block.timestamp) > MIN_LENGTH_LOTTERY) && ((_endTime - block.timestamp) < MAX_LENGTH_LOTTERY), - "Lottery length outside of range" - ); - - require( - (_priceTicketInCake >= minPriceTicketInCake) && (_priceTicketInCake <= maxPriceTicketInCake), - "Outside of limits" - ); - - require(_discountDivisor >= MIN_DISCOUNT_DIVISOR, "Discount divisor too low"); - require(_treasuryFee <= MAX_TREASURY_FEE, "Treasury fee too high"); - - require( - (_rewardsBreakdown[0] + - _rewardsBreakdown[1] + - _rewardsBreakdown[2] + - _rewardsBreakdown[3] + - _rewardsBreakdown[4] + - _rewardsBreakdown[5]) == 10000, - "Rewards must equal 10000" - ); - - currentLotteryId++; - - _lotteries[currentLotteryId] = Lottery({ - status: Status.Open, - startTime: block.timestamp, - endTime: _endTime, - priceTicketInCake: _priceTicketInCake, - discountDivisor: _discountDivisor, - rewardsBreakdown: _rewardsBreakdown, - treasuryFee: _treasuryFee, - cakePerBracket: [uint256(0), uint256(0), uint256(0), uint256(0), uint256(0), uint256(0)], - countWinnersPerBracket: [uint256(0), uint256(0), uint256(0), uint256(0), uint256(0), uint256(0)], - firstTicketId: currentTicketId, - firstTicketIdNextLottery: currentTicketId, - amountCollectedInCake: pendingInjectionNextLottery, - finalNumber: 0 - }); - - emit LotteryOpen( - currentLotteryId, - block.timestamp, - _endTime, - _priceTicketInCake, - currentTicketId, - pendingInjectionNextLottery - ); - - pendingInjectionNextLottery = 0; - } -``` - -The `startLottery` function is only callable by the **Operator** in order to start a new lottery round. - -### `closeLottery` - Operator - -```typescript -function closeLottery(uint256 _lotteryId) external override onlyOperator nonReentrant { - require(_lotteries[_lotteryId].status == Status.Open, "Lottery not open"); - require(block.timestamp > _lotteries[_lotteryId].endTime, "Lottery not over"); - _lotteries[_lotteryId].firstTicketIdNextLottery = currentTicketId; - - // Request a random number from the generator based on a seed - randomGenerator.getRandomNumber(uint256(keccak256(abi.encodePacked(_lotteryId, currentTicketId)))); - - _lotteries[_lotteryId].status = Status.Close; - - emit LotteryClose(_lotteryId, currentTicketId); - } -``` - -Callable by the **Operator** to close a round of the lottery. - -### `drawFinalNumberAndMakeLotteryClaimable` - Operator - -```typescript -function drawFinalNumberAndMakeLotteryClaimable(uint256 _lotteryId, bool _autoInjection) - external - override - onlyOperator - nonReentrant - { - require(_lotteries[_lotteryId].status == Status.Close, "Lottery not close"); - require(_lotteryId == randomGenerator.viewLatestLotteryId(), "Numbers not drawn"); - - // Calculate the finalNumber based on the randomResult generated by ChainLink's fallback - uint32 finalNumber = randomGenerator.viewRandomResult(); - - // Initialize a number to count addresses in the previous bracket - uint256 numberAddressesInPreviousBracket; - - // Calculate the amount to share post-treasury fee - uint256 amountToShareToWinners = ( - ((_lotteries[_lotteryId].amountCollectedInCake) * (10000 - _lotteries[_lotteryId].treasuryFee)) - ) / 10000; - - // Initializes the amount to withdraw to treasury - uint256 amountToWithdrawToTreasury; - - // Calculate prizes in CAKE for each bracket by starting from the highest one - for (uint32 i = 0; i < 6; i++) { - uint32 j = 5 - i; - uint32 transformedWinningNumber = _bracketCalculator[j] + (finalNumber % (uint32(10)**(j + 1))); - - _lotteries[_lotteryId].countWinnersPerBracket[j] = - _numberTicketsPerLotteryId[_lotteryId][transformedWinningNumber] - - numberAddressesInPreviousBracket; - - // A. If number of users for this _bracket number is superior to 0 - if ( - (_numberTicketsPerLotteryId[_lotteryId][transformedWinningNumber] - numberAddressesInPreviousBracket) != - 0 - ) { - // B. If rewards at this bracket are > 0, calculate, else, report the numberAddresses from previous bracket - if (_lotteries[_lotteryId].rewardsBreakdown[j] != 0) { - _lotteries[_lotteryId].cakePerBracket[j] = - ((_lotteries[_lotteryId].rewardsBreakdown[j] * amountToShareToWinners) / - (_numberTicketsPerLotteryId[_lotteryId][transformedWinningNumber] - - numberAddressesInPreviousBracket)) / - 10000; - - // Update numberAddressesInPreviousBracket - numberAddressesInPreviousBracket = _numberTicketsPerLotteryId[_lotteryId][transformedWinningNumber]; - } - // A. No CAKE to distribute, they are added to the amount to withdraw to treasury address - } else { - _lotteries[_lotteryId].cakePerBracket[j] = 0; - - amountToWithdrawToTreasury += - (_lotteries[_lotteryId].rewardsBreakdown[j] * amountToShareToWinners) / - 10000; - } - } - - // Update internal statuses for lottery - _lotteries[_lotteryId].finalNumber = finalNumber; - _lotteries[_lotteryId].status = Status.Claimable; - - if (_autoInjection) { - pendingInjectionNextLottery = amountToWithdrawToTreasury; - amountToWithdrawToTreasury = 0; - } - - amountToWithdrawToTreasury += (_lotteries[_lotteryId].amountCollectedInCake - amountToShareToWinners); - - // Transfer CAKE to treasury address - cakeToken.safeTransfer(treasuryAddress, amountToWithdrawToTreasury); - - emit LotteryNumberDrawn(currentLotteryId, finalNumber, numberAddressesInPreviousBracket); - } -``` - -For **Operator** to draw the final number using ChainLink VRF function. - -### `recoverWrongTokens` - Owner - -```typescript - function recoverWrongTokens(address _tokenAddress, uint256 _tokenAmount) external onlyOwner { - require(_tokenAddress != address(cakeToken), "Cannot be CAKE token"); - - IERC20(_tokenAddress).safeTransfer(address(msg.sender), _tokenAmount); - - emit AdminTokenRecovery(_tokenAddress, _tokenAmount); - } -``` - -In the case of tokens other than CAKE mistakenly being sent to the lottery contract, this function is used to recover them and is only callable by the **Owner** - -*** - -### `setMinAndMaxTicketPriceInCake` - Owner - -```typescript - function setMinAndMaxTicketPriceInCake(uint256 _minPriceTicketInCake, uint256 _maxPriceTicketInCake) - external - onlyOwner - { - require(_minPriceTicketInCake <= _maxPriceTicketInCake, "minPrice must be < maxPrice"); - - minPriceTicketInCake = _minPriceTicketInCake; - maxPriceTicketInCake = _maxPriceTicketInCake; - } -``` - -To prevent the **Operator** setting the tickets to arbitrary prices during the event of a flash crash/pump. - -### `setMaxNumberTicketsPerBuy` - Owner - -```typescript -function setMaxNumberTicketsPerBuy(uint256 _maxNumberTicketsPerBuy) external onlyOwner { - require(_maxNumberTicketsPerBuy != 0, "Must be > 0"); - maxNumberTicketsPerBuyOrClaim = _maxNumberTicketsPerBuy; - } -``` - -The **Owner** can modify the maximum number of tickets per transaction. This may be modified in the case of BSC block size increasing or decreasing. - -### `setOperatorAndTreasuryAndInjectorAddresses` - Owner - -```typescript -function setOperatorAndTreasuryAndInjectorAddresses( - address _operatorAddress, - address _treasuryAddress, - address _injectorAddress - ) external onlyOwner { - require(_operatorAddress != address(0), "Cannot be zero address"); - require(_treasuryAddress != address(0), "Cannot be zero address"); - require(_injectorAddress != address(0), "Cannot be zero address"); - - operatorAddress = _operatorAddress; - treasuryAddress = _treasuryAddress; - injectorAddress = _injectorAddress; - - emit NewOperatorAndTreasuryAndInjectorAddresses(_operatorAddress, _treasuryAddress, _injectorAddress); - } -``` - -Function used to set the **Operator**, **Treasury**, and **Injector** addresses. - -### `changeRandomGenerator` - Owner - -```typescript - function changeRandomGenerator(address _randomGeneratorAddress) external onlyOwner { - require( - (currentLotteryId == 0) || (_lotteries[currentLotteryId].status == Status.Claimable), - "Lottery not in claimable" - ); - - // Request a random number from the generator based on a seed - IRandomNumberGenerator(_randomGeneratorAddress).getRandomNumber( - uint256(keccak256(abi.encodePacked(currentLotteryId, currentTicketId))) - ); - - // Calculate the finalNumber based on the randomResult generated by ChainLink's fallback - IRandomNumberGenerator(_randomGeneratorAddress).viewRandomResult(); - - randomGenerator = IRandomNumberGenerator(_randomGeneratorAddress); - - emit NewRandomGenerator(_randomGeneratorAddress); - } -``` - -For the **Owner** to update the RandomNumberGenerator contract in case we need to update the drawing logic, or release an update. diff --git a/governance/prediction.md b/governance/prediction.md deleted file mode 100644 index f1a2ea91..00000000 --- a/governance/prediction.md +++ /dev/null @@ -1,2 +0,0 @@ -# Prediction - diff --git a/governance/syrup-pools/README.md b/governance/syrup-pools/README.md deleted file mode 100644 index 59b572f7..00000000 --- a/governance/syrup-pools/README.md +++ /dev/null @@ -1,9 +0,0 @@ -# Syrup Pools - -{% content-ref url="smartchefinitializable.md" %} -[smartchefinitializable.md](smartchefinitializable.md) -{% endcontent-ref %} - -{% content-ref url="pooldeployer.md" %} -[pooldeployer.md](pooldeployer.md) -{% endcontent-ref %} diff --git a/governance/syrup-pools/pooldeployer.md b/governance/syrup-pools/pooldeployer.md deleted file mode 100644 index e0d7ba2a..00000000 --- a/governance/syrup-pools/pooldeployer.md +++ /dev/null @@ -1,2 +0,0 @@ -# PoolDeployer - diff --git a/governance/syrup-pools/smartchefinitializable.md b/governance/syrup-pools/smartchefinitializable.md deleted file mode 100644 index 75cc6a0a..00000000 --- a/governance/syrup-pools/smartchefinitializable.md +++ /dev/null @@ -1,108 +0,0 @@ -# SmartChefInitializable - -## Contract Roles - -| Role | Description | -| ----------------- | ------------------ | -| Owner (onlyOwner) | The contract owner | - -### Owner - -Address can be different depending on the pool, however, is usually `0xad9d97fc7bf0ac6dc68d478dcb3709454519b358` - -This address controlled is by gnosis multisignature contract with a threshold of 3/6 - -## Functions - -### `emergencyRewardWithdraw` - Owner - -```typescript - function emergencyRewardWithdraw(uint256 _amount) external onlyOwner { - rewardToken.safeTransfer(address(msg.sender), _amount); - } -``` - -In case of an emergency, the **Owner** can withdraw the rewards from a pool contract. - -### `recoverWrongTokens` - Owner - -```typescript - function recoverWrongTokens(address _tokenAddress, uint256 _tokenAmount) external onlyOwner { - require(_tokenAddress != address(stakedToken), "Cannot be staked token"); - require(_tokenAddress != address(rewardToken), "Cannot be reward token"); - - IBEP20(_tokenAddress).safeTransfer(address(msg.sender), _tokenAmount); - - emit AdminTokenRecovery(_tokenAddress, _tokenAmount) -``` - -Used by the **Owner** to recover tokens other than the `stakedToken` and `rewardToken` in case they are mistakenly sent to the contract. - -### `stopRewards` - Owner - -```typescript - function stopReward() external onlyOwner { - bonusEndBlock = block.number; - } -``` - -If a pool need stop distributing rewards prior to the intended end of the reward distribution, the **Owner** can call this function. - -### `updatePoolLimitPerUser` - Owner - -```typescript -function updatePoolLimitPerUser(bool _hasUserLimit, uint256 _poolLimitPerUser) external onlyOwner { - require(hasUserLimit, "Must be set"); - if (_hasUserLimit) { - require(_poolLimitPerUser > poolLimitPerUser, "New limit must be higher"); - poolLimitPerUser = _poolLimitPerUser; - } else { - hasUserLimit = _hasUserLimit; - poolLimitPerUser = 0; - } - emit NewPoolLimit(poolLimitPerUser); - } -``` - -**Owner** can call this function to update the staking limit for each pool. The staking limit can only be increased, never decreased. This ensures that no user ever has more staked than the staking limit. - -### `UpdateRewardPerBlock` - Owner - -```typescript - function updateRewardPerBlock(uint256 _rewardPerBlock) external onlyOwner { - require(block.number < startBlock, "Pool has started"); - rewardPerBlock = _rewardPerBlock; - emit NewRewardPerBlock(_rewardPerBlock); - } -``` - -Can be called by the **Owner**, but only prior to the start of the pool. This cannot be modified once the pool has begun. - -### `updateStartAndEndBlocks` - Owner - -```typescript - function updateStartAndEndBlocks(uint256 _startBlock, uint256 _bonusEndBlock) external onlyOwner { - require(block.number < startBlock, "Pool has started"); - require(_startBlock < _bonusEndBlock, "New startBlock must be lower than new endBlock"); - require(block.number < _startBlock, "New startBlock must be higher than current block"); - - startBlock = _startBlock; - bonusEndBlock = _bonusEndBlock; - - // Set the lastRewardBlock as the startBlock - lastRewardBlock = startBlock; - - emit NewStartAndEndBlocks(_startBlock, _bonusEndBlock); - } -``` - -Can be called by the **Owner**, but only prior to the start of the pool. This cannot be modified once the pool has begun. - -### `transferOwnership` - Owner - -```typescript - transferOwnership(_admin); - } -``` - -If the **Owner** needs to change the ownership of the contract, they can call this function. diff --git a/help/README.md b/help/README.md deleted file mode 100644 index 4a7be588..00000000 --- a/help/README.md +++ /dev/null @@ -1,27 +0,0 @@ -# Click Here for Help - - - -![](../.gitbook/assets/help-area-header.png) - -If you find yourself stuck, if something isn't working like it's meant to, or you're not sure if something has worked or not, this help section may be able to, well, help. - -## Help sections - -We have broken the help topic down into sections to help you find what you're after. Below is an overview on what you'll find. - -### Troubleshooting Errors - -The [Troubleshooting Errors page](https://docs.pancakeswap.finance/help/troubleshooting) has a collection of errors users may run into while using PancakeSwap. It shows the problem with both a solution to the problem, and a reason explaining why the problem happened. - -### General FAQ - -The [General FAQ page](https://docs.pancakeswap.finance/help/faq) answers the common questions we get from PancakeSwap users. The answers to these questions give advice, an explanation, or a link to a useful resource. - -### Other Guides - -There are also a number of guides in the help topic that will walk you through technical problems. We add guides when a problem that may be difficult to solve comes up often, so if you're having trouble be sure to check here for a guide to your problem. - -## Seeking support - -PancakeSwap doesn't have a dedicated support service. Instead, if you find yourself with a problem that has no answer here, you can ask for help on [PancakeSwap's Telegram channel](https://t.me/pancakeswap). For your safety, make sure you read the notice about scams if it's your first time on our Telegram. diff --git a/help/binance-academy-guide.md b/help/binance-academy-guide.md deleted file mode 100644 index 3858de2e..00000000 --- a/help/binance-academy-guide.md +++ /dev/null @@ -1,5 +0,0 @@ -# Binance Academy Guide - -![](../.gitbook/assets/screenshot-2021-04-20-at-3.45.02-pm.png) - -[https://academy.binance.com/tutorials/a-guide-to-pancakeswap](https://academy.binance.com/tutorials/a-guide-to-pancakeswap) diff --git a/help/faq.md b/help/faq.md deleted file mode 100644 index 17f96ce3..00000000 --- a/help/faq.md +++ /dev/null @@ -1,128 +0,0 @@ -# General FAQ - -![](<../.gitbook/assets/general-faq-header (1).png>) - -This FAQ page answers some of the more commonly asked questions from the PancakeSwap community. - -## Is PancakeSwap safe? Has PancakeSwap been Audited? - -See for yourself: - -* Check out these PancakeSwap security audits: - * [Certik’s security audit of PancakeSwap](https://www.certik.org/projects/pancakeswap) and [Certik's Shield insurance](https://shield.certik.foundation) - * [Slowmist's security audit of PancakeSwap](https://github.com/slowmist/Knowledge-Base/blob/master/open-report/Smart%20Contract%20Security%20Audit%20Report%20%20-%20PancakeSwap.pdf) - * [Slowmist's Auto-CAKE Pool security audit](https://github.com/slowmist/Knowledge-Base/blob/master/open-report/Smart%20Contract%20Security%20Audit%20Report%20-%20CakeVault.pdf) - * [Peckshield's Lottery V2 Audit](https://github.com/peckshield/publications/blob/master/audit\_reports/PeckShield-Audit-Report-PancakeswapLottery-v1.0.pdf) - * [Slowmist's Lottery V2 Audit](https://github.com/slowmist/Knowledge-Base/blob/master/open-report/Smart%20Contract%20Security%20Audit%20Report%20-%20PancakeSwap%20Lottery.pdf) -* Transparent: - * We’re built on open-source software: our site and all our Smart Contracts are publicly visible for maximum transparency. - * Our contracts are verified on BscScan so you know that what you see is what you get: [1](https://bscscan.com/address/0x10ED43C718714eb63d5aA57B78B54704E256024E) [2](https://bscscan.com/address/0x73feaa1ee314f8c655e354234017be2193c9e24e#code) [3](https://bscscan.com/address/0xbcfccbde45ce874adcb698cc183debcf17952812) [4](https://bscscan.com/address/0x1b96b92314c44b159149f7e0303511fb2fc4774f#code) [5](https://bscscan.com/address/0x92E8CeB7eAeD69fB6E4d9dA43F605D2610214E68) -* Security best practices: - * The chefs use multisig for all contracts. - * Our contracts’ time-lock gives you peace of mind. - -## How can I stake CAKE? - -You can stake your CAKE in PancakeSwap Syrup Pools. Visit the [Syrup Pools page](https://pancakeswap.finance/pools). - -Read our [How to Stake in Syrup Pools guide](https://docs.pancakeswap.finance/products/syrup-pool/syrup-pool-guide) if you'd like a hand getting started with staking. - -## What is the difference between staking and farming? - -Staking in Syrup Pools and farming with Yield Farming are both ways to earn more CAKE by supporting PancakeSwap. - -Staking only needs some CAKE to be added to a Syrup Pool to earn CAKE or other tokens.\ -[Learn more about Syrup Pool staking.](https://docs.pancakeswap.finance/products/syrup-pool) - -Farming is more complicated and needs LP Tokens to earn CAKE.\ -[Learn more about Yield Farming.](https://docs.pancakeswap.finance/products/yield-farming) - -## How do I farm? - -We have a [Yield Farming guide](https://docs.pancakeswap.finance/products/yield-farming/how-to-use-farms) if you're interested in learning how to farm. - -## Where can I view the PancakeSwap roadmap? - -You can [view our to-do list here, but don't call it a roadmap](https://docs.pancakeswap.finance/roadmap). - -## How do I connect my wallet to BNB Smart Chain and PancakeSwap? - -We have a [Connect Your Wallet to PancakeSwap guide](https://docs.pancakeswap.finance/get-started/connection-guide) covering this in detail. - -## What's the best wallet for PancakeSwap? - -It depends on your needs. We have an [in-depth guide to selecting and creating a wallet](https://docs.pancakeswap.finance/get-started/wallet-guide) that's right for you. - -## Why is my transaction failing? - -You can check the status of a transaction on [https://bscscan.com/](https://bscscan.com). - -Our [Troubleshooting Errors guide](https://docs.pancakeswap.finance/help/troubleshooting) may have a solution for your problem if you're having issues. - -You can also see our [Fixing Stuck Pending Transactions guide](https://docs.pancakeswap.finance/help/unsticking-a-transaction-stuck-as-pending-with-metamask) if you have a stuck transaction. - -## When will you open more pools? - -New Pools are added to PancakeSwap frequently. There will always be an announcement before the launch of new pools. - -Join the [announcements Telegram group](https://t.me/PancakeSwapAnn) to learn about new Pools as early as possible. - -## Did Farm APR calculation change? - -Previously, rewards earned by LP Token-holders generated from trading fees were not included in Farm APR calculations. APR calculations now include these rewards, and better reflect the expected APR for Farm pairs. - -## How do I get airdrops? - -Whenever there is an official airdrop on PancakeSwap it will be announced along with the requirements. - -Please remember anyone can airdrop tokens to PancakeSwap users since every transaction is public on BscScan. Be sure to do your own research when it comes to non-official airdrops. To protect your funds, we recommend you don't use a smart contract you don't understand from a source you don't trust. - -## How can I report a bug? - -Learn about our [bug bounty and potential bounty payouts](https://docs.pancakeswap.finance/code/bug-bounty). - -## Where can I view smart contracts? - -Learn how to find smart contracts on our [Finding Contracts page](https://docs.pancakeswap.finance/code/smart-contracts). - -## Why does it say I have no BNB balance? - -If you've already [transferred BNB into your BNB Smart Chain-enabled wallet](https://docs.pancakeswap.finance/get-started/bep20-guide) but still have this error, you're most likely not [connected to BNB Smart Chain](https://docs.pancakeswap.finance/get-started/connection-guide) within your wallet. Check your wallet's selected network and make sure you have BNB Smart Chain (BSC) selected. - -## How do I vote? - -To learn more about voting, you can [read our section on Voting](https://docs.pancakeswap.finance/products/voting), including voting guides. - -## What is the max supply of CAKE? - -Yes, CAKE now has a hard cap of 750M as outlined in our litepaper [https://v2litepaper.pancakeswap.finance/](https://v2litepaper.pancakeswap.finance/) - -## What are the treasury funds used for? - -The treasury funds are used to cover the expenses involved in running PancakeSwap. These expenses include salaries, audits, prizes, hosting, upkeep, bounties, etc. - -## Where can I check the Analytics? - -You can check the analytics of PancakeSwap by click on the "Analytics" tab on the top menu or by clicking the link below. - -Analytics: [https://pancakeswap.info/](https://pancakeswap.info) - -## Is PancakeSwap protected from flashloan attacks? - -PancakeSwap's vault has anti-flashloan protection. PancakeSwap’s CAKE token isn’t vulnerable to flash loan attacks. Unlike vulnerable tokens, CAKE token minting is predefined, and can’t be adjusted in a single transaction. Ownership cannot be transferred outside of MasterChef contract. - -PancakeSwap’s other smart contracts, like IFO and AutoPool, are protected as well; they prevent other contracts from interacting with them, reducing the scope of vector attacks. - -## Can I join the PancakeSwap team? - -Check the [Become a Chef](https://docs.pancakeswap.finance/hiring/become-a-chef) area for information on open positions we're looking to fill. - -We advertise new positions we're looking to fill on our [official social media channels](https://docs.pancakeswap.finance/contact-us/telegram), so be sure to follow us to get the latest hiring information. - -## What is SYRUP? - -SYRUP was a part of the staking process earlier in PancakeSwap's life. SYRUP was discontinued when a security issue was discovered and is no longer a part of PancakeSwap. - -## I can't find an answer for my question. Where do I find an answer? - -If you can't find what you're looking for in PancakeSwap's documentation, ask your question on [PancakeSwap's official social media platforms](https://docs.pancakeswap.finance/contact-us/telegram) and someone will do their best to help you out. diff --git a/help/troubleshooting.md b/help/troubleshooting.md deleted file mode 100644 index a1338918..00000000 --- a/help/troubleshooting.md +++ /dev/null @@ -1,428 +0,0 @@ ---- -description: Common error messages. Use the sidebar ➡️to jump to the error you're seeing. ---- - -# Troubleshooting Errors - -![](../.gitbook/assets/troubleshooting-header.png) - -Sometimes you may find yourself facing a problem that doesn't have a clear solution. These troubleshooting tips may help you solve problems you run into. - -## **Issues on the Exchange** - -### **INSUFFICIENT\_OUTPUT\_AMOUNT** - -> The transaction cannot succeed due to error: PancakeRouter: INSUFFICIENT\_OUTPUT\_AMOUNT. This is probably an issue with one of the tokens you are swapping. -> -> the transaction cannot succeed due to error: execution reverted: pancakerouter: insufficient\_output\_amount. - -You're trying to swap tokens, but your slippage tolerance is too low or liquidity is too low. - -{% tabs %} -{% tab title="Solution" %} -1. Refresh your page and try again later. -2. Try trading a smaller amount at one time. -3. Increase your slippage tolerance: - 1. Tap the settings icon on the liquidity page. - 2. Increase your slippage tolerance a little and try again. ![](<../.gitbook/assets/image (9) (4) (2) (1) (1) (1) (1) (1) (1) (1) (3).png>) -4. Lastly, try inputting an amount with fewer decimal places. -{% endtab %} - -{% tab title="Reason" %} -**This usually happens when trading tokens with low liquidity.** - -That means there isn't enough of one of the tokens you're trying to swap in the Liquidity Pool: it's probably a small-cap token that few people are trading. - -However, there's also the chance that you're trying to trade a scam token which cannot be sold. In this case, PancakeSwap isn't able to block a token or return funds. -{% endtab %} -{% endtabs %} - -### **INSUFFICIENT\_A\_AMOUNT or INSUFFICIENT\_B\_AMOUNT** - -> Fail with error 'PancakeRouter: INSUFFICIENT\_A\_AMOUNT'\ -> or\ -> Fail with error 'PancakeRouter: INSUFFICIENT\_B\_AMOUNT' - -You're trying to add/remove liquidity from a liquidity pool (LP), but there isn't enough of one of the two tokens in the pair. - -{% tabs %} -{% tab title="Solution" %} -**Refresh your page and try again, or try again later.** - -Still doesn't work? - -1. Tap the settings icon on the liquidity page. -2. Increase your slippage tolerance a little and try again. - -![](<../.gitbook/assets/image (9) (4) (2) (1) (1) (1) (1) (1) (1) (1) (4).png>) -{% endtab %} - -{% tab title="Reason" %} -The error is caused by trying to add or remove liquidity for a liquidity pool (LP) with an insufficient amount of token A or token B (one of the tokens in the pair). - -It might be the case that prices are updating too fast when and your slippage tolerance is too low. - -![](https://lh5.googleusercontent.com/T1KMtz2ILDVHljGw1iLbIv0W1KVl7qXL8zU2nLFHkUvDb5oMw9mpUzzBwWmIBz15XDsxZ5w7wsaqAwCs\_pxdobz\_kY\_7BhcZhYtpqWuQGFs23DZq98-SVInlfsS07WzxFPLIYXHt) - -![](https://lh5.googleusercontent.com/7aspaCCvDjzxbJxngqwgeq737LB3OUNcAs592QqlEkyrAOTfKsrt\_FAwpEylaIJhff5ZcYlzB\_r0v1JZwfj3j8Ah6jlUbRoMrAqVfTb3cwDI7B1i5HJtZSQOsTPrv7l7SaclC3BV) -{% endtab %} - -{% tab title="Solution for nerds" %} -OK, so you're really determined to fix this. We really don't recommend doing this unless you know what you're doing. - -There currently isn't a simple way to solve this issue from the PancakeSwap website: you'll need to interact with the contract directly. You can add liquidity directly via the Router contract, while setting amountAMin to a small amount, then withdrawing all liquidity. - -#### **Approve the LP contract** - -Head to the contract of the LP token you're trying to approve.\ -For example, here's the ETH/WBNB pair: [https://bscscan.com/address/0x70d8929d04b60af4fb9b58713ebcf18765ade422](https://bscscan.com/address/0x70d8929d04b60af4fb9b58713ebcf18765ade422) - -1. Select **Write Contract**, then **Connect to Web3** and connect your wallet. ![](https://lh6.googleusercontent.com/-\_sNkO1gcOOJXkduDEUzbExKE2mNxBOR0f86Lpp3BBuPbIcmAHsfuvpF-hKqRn4oID5QzdGkk\_1dTHkPuCmE50vpNNZxEqoM5nPmE\_12k3-8Q8YYoRYqJ\_VGjxJ03YPRuVQ1O5ME) -2. In **section "1. approve",** approve the LP token for the router by entering - 1. spender (address): enter the contract address of the LP token you're trying to interact with - 2. value (uint256): -1 - -#### Query "balanceOf" - -1. Switch to **Read Contract.** -2. In **5. balanceOf**, input your wallet address and hit **Query**. -3. Keep track of the number that's exported. It shows your balance within the LP in the uint256 format, which you'll need in the next step. - -![](<../.gitbook/assets/image (7) (1).png>) - -#### Add or Remove Liquidity - -Head to the router contract: [https://bscscan.com/address/0x05ff2b0db69458a0750badebc4f9e13add608c7f#writeContract](https://bscscan.com/address/0x05ff2b0db69458a0750badebc4f9e13add608c7f#writeContract) - -1. Select **Write Contract** and **Connect to Web3** as above. -2. Find **addLiquidity** or **removeLiquidity** (whichever one you're trying to do) -3. Enter the token addresses of both of the tokens in the LP. -4. In **liquidity (uint256),** enter the uint256 number which you got from "balanceOf" above. -5. Set a low **amountAMin** or **amountBMin**: try 1 for both. -6. Add your wallet address in **to (address)**. -7. Deadline must be an epoch time greater than the time the tx is executed. - -![](<../.gitbook/assets/image (5) (1).png>) - -{% hint style="warning" %} -This can cause very high slippage, and can cause the user to lose some funds if frontrun -{% endhint %} -{% endtab %} -{% endtabs %} - -### PancakeRouter: EXPIRED - -> The transaction cannot succeed due to error: PancakeRouter: EXPIRED. This is probably an issue with one of the tokens you are swapping. - -Try again, but confirm (sign and broadcast) the transaction as soon as you generate it. - -This happened because you started making a transaction, but you didn't sign and broadcast it until it was past the deadline. That means you didn't hit "Confirm" quickly enough. - -### Pancake: K - -> The transaction cannot succeed due to error: Pancake: K. This is probably an issue with one of the tokens you are swapping. - -Try modifying the amount on “To” field. Therefore putting "(estimated)" symbol on “From”. Then initiate the swap immediately. - -![](<../.gitbook/assets/pancake-k-solution (2).png>) - -This usually happen when you are trying to swap a token with its own fee. - -### Pancake: TRANSFER\_FAILED - -> The transaction cannot succeed due to error: execution reverted: Pancake: TRANSFER\_FAILED. - -Make sure you have 30% more tokens in your wallet than you intend to trade, or try to trade a lower amount. If you want to sell the maximum possible, try 70% or 69% instead of 100%.\ -Caused by the design of Restorative Rebase tokens like tDoge or tBTC.\ -[Understand how restorative rebase tokens work](https://btcst.medium.com/stp-8-restorative-rebase-b4fbbdfd96c). - -Another possible cause of this issue is the malicious token issuer just suspended the trading for their token. Or they made selling action only possible for selected wallet addresses. Please always do your own research to avoid any potential fraud. If the token you are trying to swap but failed with this error code is coming from an airdrop, that is most likely a scam. Please do not perform any token approval or follow any links, your fund may be at risk if you try to do so. - -### Transaction cannot succeed - -Try trading a smaller amount, or increase slippage tolerance via the settings icon and try again. This is caused by low liquidity. - -### **Price Impact too High** - -Try trading a smaller amount, or increase slippage tolerance via the settings icon and try again. This is caused by low liquidity. - -### estimateGas failed - -> This transaction would fail. Please contact support - -{% tabs %} -{% tab title="Solution" %} -**If you got this error while removing liquidity from a BNB pair:** - -Please select "Receive WBNB" and retry. - -**If you got this error while trying to swap:** - -Please contact the project team of the token you're trying to swap. \*\*\*\* This issue must be resolved by the project team. -{% endtab %} - -{% tab title="Reason" %} -**This issue (while swapping) is caused by tokens which have hard-coded the V1 PancakeSwap router into their contract.** - -While this practice is ill-advised at best, the reason for these projects having done this appears to be due to their tokenomics, in which each purchase sends a % of the token to LPs. - -The projects affected will likely not work with the V2 router: they will most likely need to create new versions of their tokens pointing to our new router address, and migrate any existing token holders to their new token. - -We recommend that any projects which created such tokens should also make efforts to prevent their users from adding them to V2 LP. - -The up-to-date router address is [https://bscscan.com/address/0x10ED43C718714eb63d5aA57B78B54704E256024E](https://bscscan.com/address/0x10ED43C718714eb63d5aA57B78B54704E256024E) -{% endtab %} -{% endtabs %} - -### Cannot read property 'toHexString' of undefined - -> "Unknown error: "Cannot read property 'toHexString' of undefined" - -When trying to swap tokens, the transaction fails and this error message is displayed. This error has been reported on mobile devices using Trust Wallet. - -{% tabs %} -{% tab title="Solution" %} -1. Attempt the transaction again with increased slippage allowance. -2. If 1. does not resolve your problem, consider using another wallet such as SafePal for your transaction. -{% endtab %} - -{% tab title="Reason" %} -**This usually happens when trading tokens with insufficient slippage allowance on Trust Wallet.** - -The exact details of the problem are still being investigated. -{% endtab %} -{% endtabs %} - -### **Execution reverted: TransferHelper: TRANSFER\_FROM\_FAILED.** - -> The transaction cannot succeed due to error: execution reverted: TransferHelper: TRANSFER\_FROM\_FAILED. - -When trying to swap tokens, the transaction fails and this error message is displayed. This error has been reported across platforms. - -{% tabs %} -{% tab title="Solution" %} -1. Check to make sure you have sufficient funds available. -2. Ensure you have given the contract allowance to spend the amount of funds you're attempting to trade with. -{% endtab %} - -{% tab title="Reason" %} -This error happens when trading tokens with insufficient allowance, or when a wallet has insufficient funds.\ -If you're trading tokens with Restorative Rebase like tau assets tDoge or tBTC, make sure you understand how they work first with this [guide to Rebase tokens](https://btcst.medium.com/stp-8-restorative-rebase-b4fbbdfd96c). -{% endtab %} -{% endtabs %} - -## **Issues with Syrup Pools** - -### BEP20: burn amount exceeds balance - -> Fail with error 'BEP20: burn amount exceeds balance' - -You don't have enough SYRUP in your wallet to unstake from the CAKE-CAKE pool. - -**Get at least as much SYRUP as the amount of CAKE that you’re trying to unstake.** - -1. Buy SYRUP on the exchange. If you want to unstake 100 CAKE, you need at least 100 SYRUP. -2. Try unstaking again. - -If that still fails, you can perform an “emergencyWithdraw” from the contract directly to unstake your staked tokens. - -1. Go to: [https://bscscan.com/address/0x73feaa1eE314F8c655E354234017bE2193C9E24E#writeContract](https://bscscan.com/address/0x73feaa1eE314F8c655E354234017bE2193C9E24E#writeContract) -2. Click **“Connect to Web3”** and connect your wallet. ![](https://lh6.googleusercontent.com/-\_sNkO1gcOOJXkduDEUzbExKE2mNxBOR0f86Lpp3BBuPbIcmAHsfuvpF-hKqRn4oID5QzdGkk\_1dTHkPuCmE50vpNNZxEqoM5nPmE\_12k3-8Q8YYoRYqJ\_VGjxJ03YPRuVQ1O5ME) -3. In section **“4. emergencyWithdraw”**, enter "0" and click “Write”. - -This will unstake your staked tokens and lose any uncollected CAKE yield. - -{% hint style="warning" %} -**This will lose any yield that you haven’t harvested yet.** -{% endhint %} - -To stop this happening again, **don’t sell your SYRUP.** You still need it to unstake from the “Stake CAKE Earn CAKE” pool. - -This error has happened because you have sold or transferred SYRUP tokens. SYRUP is minted in a 1:1 ratio to CAKE when you stake in the CAKE-CAKE Syrup Pool. SYRUP must be burned at a 1:1 ratio to CAKE when calling leaveStaking (unstaking your CAKE from the pool), so if you don't have enough, you can't unstake from the pool. - -{% embed url="https://dashboard.tenderly.co/tx/binance/0x754e18ceea82acac256b49c2b7a81260f7f86dd5e56ee2e3cc1b6ac864c29a8e" %} - -### Out of Gas error - -> Warning! Error encountered during contract execution \[out of gas] - -You have set a low gas limit when trying to make a transaction. - -{% tabs %} -{% tab title="Solution" %} -Try manually increasing the **gas limit** (not gas price!) in your wallet before signing the transaction. - -A limit of 200000 is usually enough. - -![](<../.gitbook/assets/image (2) (1) (1).png>) - -The above example is from Metamask; check your wallet's documentation if you aren't sure how to adjust the gas limit. -{% endtab %} - -{% tab title="Reason" %} -Basically, your wallet (Metamask, Trust Wallet, etc.) can't finish what it's trying to do. - -Your wallet estimates that the gas limit is too low, so the function call runs out of gas before the function call is finished. -{% endtab %} -{% endtabs %} - -### BEP20: transfer amount exceeds allowance - -> Fail with error 'BEP20: transfer amount exceeds allowance' - -{% tabs %} -{% tab title="Solution" %} -1. Use Unrekt.net to revoke approval for the smart contract you're trying to interact with -2. Approve the contract again, without setting a limit on spend allowance -3. Try interacting with the contract again. -{% endtab %} - -{% tab title="Reason" %} -This happens when you set a limit on your spend allowance when you first approved the contract, then try to swap more than the limit. -{% endtab %} -{% endtabs %} - -### BEP20: transfer amount exceeds balance - -> Fail with error 'BEP20: transfer amount exceeds balance' - -You're probably trying to unstake from a Syrup Pool with low rewards in it. Solution below. - -If not, you may be trying to send tokens that you don't have in your wallet (for example, trying to send a token that is already assigned to a pending transaction). In this case, just make sure you have the tokens you're trying to use. - -{% tabs %} -{% tab title="Solution" %} -Firstly,[ let the team know](../contact-us/telegram.md) which pool you're trying to unstake from, so they can top up the rewards. If you're in a hurry to unstake and you don't mind losing your pending yield, try an emergencyWithdraw: - -You can perform an “emergencyWithdraw” from the contract directly to unstake your staked tokens. - -1. Find the contract address of the Syrup Pool you're trying to unstake from. You can find it in your wallet's transaction log. -2. Go to [https://bscscan.com/](https://bscscan.com/address/0x73feaa1eE314F8c655E354234017bE2193C9E24E#writeContract) and in the search bar, enter the contract address. -3. Select **Write Contract.** -4. Click **“Connect to Web3”** and connect your wallet.![](https://lh6.googleusercontent.com/-\_sNkO1gcOOJXkduDEUzbExKE2mNxBOR0f86Lpp3BBuPbIcmAHsfuvpF-hKqRn4oID5QzdGkk\_1dTHkPuCmE50vpNNZxEqoM5nPmE\_12k3-8Q8YYoRYqJ\_VGjxJ03YPRuVQ1O5ME) -5. In section **“3. emergencyWithdraw”,** and click “Write”. - -This will unstake your staked tokens and lose any uncollected yield. - -{% hint style="warning" %} -**This will lose any yield that you haven’t harvested yet.** -{% endhint %} -{% endtab %} - -{% tab title="Reason" %} -This error tends to appear when you're trying to unstake from an old Syrup Pool, but there aren't enough rewards in the pool left for you to harvest when withdrawing. This causes the transaction to fail. -{% endtab %} -{% endtabs %} - -## **Issues with Prediction** - -Check [prediction-troubleshooting.md](../products/prediction/prediction-troubleshooting.md "mention") - -## **Other issues** - -### Provider Error - -> Provider Error\ -> No provider was found - -This happens when you try to connect via a browser extension like MetaMask or Binance Chain Wallet, but you haven’t installed the extension. - -{% tabs %} -{% tab title="Solution" %} -Install the official browser extension to connect, or read our guide on [how to connect a wallet to PancakeSwap](https://docs.pancakeswap.finance/get-started/connection-guide). -{% endtab %} -{% endtabs %} - -### Unsupported Chain ID - -Switch your chain to BNB Smart Chain. Check your wallet's documentation for a guide if you need help. - -### Already processing eth\_requestAccounts. Please wait. - -Make sure you are signed in to your wallet app and it's connected to BNB Smart Chain. - -### Issues buying SAFEMOON and similar tokens - -To trade SAFEMOON, you must click on the settings icon and **set your slippage tolerance to 12% or more.**\ -This is because **SafeMoon taxes a 10% fee on each transaction**: - -* 5% fee = redistributed to all existing holders -* 5% fee = used to add liquidity - -This is also why you might not receive as much of the token as you expect when you purchase.\ -Read more on [How to Buy Safe Moon](https://community.trustwallet.com/t/how-to-buy-safemoon/155742). - -### Internal JSON-RPC errors - -> "MetaMask - RPC Error: Internal JSON-RPC error. estimateGas failed removeLiquidityETHWithPermitSupportingFeeOnTransferTokens estimateGas failed removeLiquidityETHWithPermit " - -Happens when trying to remove liquidity on some tokens via Metamask. Root cause is still unknown. Try using an alternative wallet. - -> Internal JSON-RPC error. { "code": -32000, "message": "insufficient funds for transfer" } - Please try again. - -You don't have enough BNB to pay for the transaction fees. You need more BEP-20 network BNB in your wallet. - -### Error: \[ethjs-query] - -> Error: \[ethjs-query] while formatting outputs from RPC '{"value":{"code":-32603,"data":{"code":-32000,"message":"transaction underpriced"\}}}" - -Increase the gas limit for the transaction in your wallet. Check your wallet's documentation to learn how to increase gas limit. - -> Swap failed: Error: \[ethjs-query] while formatting outputs from RPC '{"value":{"code":-32603,"data":{"code":-32603,"message":"handle request error"\}}}' - -Cause unclear. Try these steps before trying again: - -1. Increase gas limit -2. Increase slippage -3. Clear cache - -## **Issues with Profile** - -### Oops! We couldn't find any Pancake Collectibles in your wallet. - -We're investigating the logic behind this issue. Meanwhile please try the workaround. - -{% tabs %} -{% tab title="Workaround 1" %} -1. Go to “Collectible” page, then come back to profile page.\ - If you can’t find the link, go to [https://pancakeswap.finance/collectibles](https://pancakeswap.finance/collectibles) directly. -2. Retry profile creation. -{% endtab %} - -{% tab title="Workaround 2" %} -Change the environment. - -* Clear the cache and retry. -* Retry on different browser. -* Retry on different wallet apps. -* Retry on the different network (switch between Wi-Fi and cellular) -{% endtab %} -{% endtabs %} - -### Checking username keeps spinning - -There are two possible causes. - -1. You have multiple wallets installed on the browser. -2. Network issue. - -{% tabs %} -{% tab title="Solution 1" %} -Root cause: You have multiple wallets installed on the browser.\ -\ -It may make a conflict between wallets. This is out of PancakeSwap's control and we can do nothing. - -1. Have only single wallet installed on browser, remove the others. -2. Reconnect the wallet and retry setting username again. -{% endtab %} - -{% tab title="Solution 2" %} -Root cause: Network is unstable. - -You have to retry. - -1. Delete whatever has been entered in the text field completely. -2. Re-type username, then please wait for seconds. -3. If it doesn’t work, reload the page and retry again. -{% endtab %} -{% endtabs %} diff --git a/help/unsticking-a-transaction-stuck-as-pending-with-metamask.md b/help/unsticking-a-transaction-stuck-as-pending-with-metamask.md deleted file mode 100644 index 2d411176..00000000 --- a/help/unsticking-a-transaction-stuck-as-pending-with-metamask.md +++ /dev/null @@ -1,75 +0,0 @@ ---- -description: How to "unstick" any pending transactions that are stuck in your MetaMask ---- - -# Fixing Stuck Pending Transactions on MetaMask - -![](../.gitbook/assets/how-to-fix-a-stuck-transaction-header.png) - -If your transaction is stuck on pending in Metamask, and the “Cancel” button isn’t helping, you might need to use this method to clear your backlog. - -This method works by essentially overwriting the stuck transaction with another, higher-priority transaction. - -### **1. Enable Customized Transaction Nonce** - -1\. Open your MetaMask plugin. - -![](../.gitbook/assets/1-1-MetaMask\_plugin.png) - - - -2\. Click on the colorful circle icon on the top-right and click **Settings** from the dropdown menu. - -![](<../.gitbook/assets/1-2-MetaMask\_settings (1).png>) - -3\. In the Settings menu, select **Advanced**. - -![](../.gitbook/assets/1-3-MetaMask\_advanced.png) - -4\. Scroll down until you see **Advanced gas controls**. Toggle this to ON. - -![](../.gitbook/assets/1-4-MetaMask\_gas\_control\_on.png) - -5\. Still in Advanced settings, keep scrolling until you see **Customize transaction nonce**. Toggle this to ON. - -![](<../.gitbook/assets/1-4-MetaMask\_gas\_control\_on (1).png>) - -### **2. Find Your Stuck Transaction** - -We’re now going to find the transaction that’s stuck, and make a note of the “nonce”. That’s a kind of identifier, which we’ll re-use later. - -![](https://lh4.googleusercontent.com/xKBEnt5a62c5Wzg\_MCLIbVUWuL4fws1ohBAX9LAkGS71vslHk7QuMF24jAfkAdmsLunPVfT9c3FxCmGar5z7jNZnd4WMgzQsoxxbYw1Lp59Az5kG72COn0JblFXktHbmgMnF1LeY) - -6\. Go back to the top page of MetaMask. In the “Assets” tab, find the token type of your stuck transaction (in this case, CAKE). - -![](https://lh5.googleusercontent.com/9qVjhK1kEKDL8l4TTdOFo4o547PDIIeQpCCY18gPyaUFJrpFbyYhMfBQ1CRzjjrllgrcqVbwkhxKCZBNlIad8J1yCpMVhsBKjIAcwfsQHQb7jnl2RD2ufQU-zNEn2Hn2g4LGvYDU) - -6\. In the token’s menu, find your **Pending** transaction in the Queue area. Click on your transaction for more details. - -![](https://lh4.googleusercontent.com/HMd5iKjIvm-f7Xi7xtecTsq56x1i15GjUkwCm5Z\_83xMfOXDd2jabcCDyUwELf51IHseEeCk2WnvWfHwTSUlFnLAJrmjkkOfm\_fA5fimgdABnYfdjmBxxst8TOaUJUhc2iO\_CN-k) - -7\. Look for the **Nonce** entry, and take note of this number. - -### **3. Overwrite the Stuck Transaction** - -Now we’re going to make a new transaction to replace the stuck one. We’ll customize the Nonce number, so that it’s the same as the one that you just wrote down. - -![](<../.gitbook/assets/image (9) (1).png>) - -8\. Create a new transaction to replace your stuck transaction. This time around, increase the **Transaction Fee**. Here we’ve increased it from 9 to 20. This will make it more likely for your transaction to be added to a block. - -![](<../.gitbook/assets/image (10).png>) - -9\. On the confirmation page, make sure your Gas Price is now at your new, higher amount. - -10\. Find the **CUSTOM NONCE** entry and change the nonce to the number you wrote down in step 7. Now click Confirm. - -![](https://lh6.googleusercontent.com/PYhYm2ro0SVzerBo5qguFIPOYl0DjLSfl0JT8UdfN3T4i-0hjBq-CQvr-UA0bSyG-ZndrWmLGptfZUcnGBlvUk118GGZn7ciDNaC4hmfovH9v\_M5XMIYmkAmB-Fr-6TTpYnnDX1p) - -11\. Your new transaction should now be accepted into a block. To check, open MetaMask and click the **Activity** tab. - -![](https://lh6.googleusercontent.com/Iw3e0YP4ORhPgw8-MNxvzlDlfgG5nD226P4ixiziPC\_9j3\_LfU3o1-\_LA2yDmegbRw5x9Sgk3RACFJJkyJDrFJA1j2J93H21uGhhWabkdDQUHsU\_oVdkZVQTTWaQPzXHAWClpsb4) - -12\. Your completed transaction should show at the top of your Activity list. If it still says “Pending” in orange you’ll need to wait a little longer, or try the process again with an even higher transaction fee (gas price). - -Since no wallet can create two transactions of the same nonce, if the replacement transaction you make is successful, your stuck transaction will be canceled.\ diff --git a/hiring/become-a-chef/README.md b/hiring/become-a-chef/README.md deleted file mode 100644 index 6ace9e43..00000000 --- a/hiring/become-a-chef/README.md +++ /dev/null @@ -1,7 +0,0 @@ -# Become a Chef - -![](../../.gitbook/assets/become-a-chef-header.png) - -Interested in joining the PancakeSwap team? If you're passionate, dedicated, and a fan of all things fluffy, syrupy, and brownish-gold, we'd love to hear from you! - -Check out the positions available for more information. Nothing there that suits your talents? Check back later. We'll have more openings in the future. diff --git a/hiring/become-a-chef/business-development-manager.md b/hiring/become-a-chef/business-development-manager.md deleted file mode 100644 index afff8b3b..00000000 --- a/hiring/become-a-chef/business-development-manager.md +++ /dev/null @@ -1,38 +0,0 @@ -# Business Development Manager - -### General Information - -* Salary range: Competitive, negotiable -* Position: Full-time -* Location: Remote -* Time-zone preference: Any - -### Your Responsibilities - -* Coordinate with partners to ensure a healthy Farm/Syrup Pool and IFO pipeline. -* Review and conduct due diligence on projects that apply for Farm/Syrup Pools and IFOs. -* Liaise with project teams to explore potential partnership opportunities. -* Execute operational matters relating to PancakeSwap products. -* Implement best practices between the business development team & the wider team. -* Review the latest developments in the crypto space and explore new business lines. - -### Skills & Qualifications - -* 2+ years of experience in a business development and/or corporate finance role. -* Solid understanding of the cryptocurrency space, especially DeFi. -* Ability to speak, read and write in English fluently. -* Articulate and able to hold effective conversations with project teams. -* Proactive in keeping up to date with the latest trends in the blockchain/crypto space. -* Strong attention to detail when analyzing projects. -* Ability to work independently and innovate. -* Can handle high pressure and a fast-paced work environment. - -### Good to have - -* Fluent in a second language. -* Bachelor's degree in Finance, Accounting or other related areas. -* Experience with smart contracts and Solidity. - -### How to apply - -Email hiring@pancakeswap.com with your resume. diff --git a/hiring/become-a-chef/communications-public-relations-manager.md b/hiring/become-a-chef/communications-public-relations-manager.md deleted file mode 100644 index b388a410..00000000 --- a/hiring/become-a-chef/communications-public-relations-manager.md +++ /dev/null @@ -1,44 +0,0 @@ -# Communications/Public Relations Manager - -### General Information - -* **Salary range:** Competitive, negotiable -* **Position:** Full-time -* **Location:** Remote -* **Time-zone preference:** Any - -### Your Responsibilities - -* Attend interviews and AMAs to promote PancakeSwap. -* Develop and lead our external communications strategies to help build PancakeSwap’s reputation for technology leadership and market integrity. -* Strengthen existing relationships and cultivate new relationships with print, online, broadcast reporters, producers, bloggers and influencers globally. -* Own the relationship with the PR agency, working collaboratively to secure relevant earned media and leverage it in innovative ways. -* Manage media relationships and press events, organize press briefings, media sessions and events, and create press materials including media pitches, FAQs and fact sheets in coordination with the team. -* Help develop the social media strategy, from tapping internal experts and helping them amplify their voice to building purposeful communities across relevant platforms. -* Measure and report impact of campaigns reflecting on key performance indicators. -* Serve as a senior member of PancakeSwap’s marketing team, helping to set the overall marketing and growth strategy via messaging and communications initiatives. -* Reactively respond to media inquiries, educate reporters, correct misperceptions about our industry/field/products and work with the team on issues and crisis communications. -* Work to position PancakeSwap as a thought leader among top tier media outlets. - -### Skills & Qualifications - -* 5+ years of relevant experience in public relations; bonus if that includes currently working as an anchor at a cryptocurrency media company. -* A strong relationship with relevant journalists and news outlets to secure content placement. - * Bonus: strong relationship with crypto-specific journalists at publications including TheBlock, Cointelegraph, CoinDesk, etc. -* Communicate with and respond to inquiries from the media. -* Ability to develop creative, effective approaches to difficult communications challenges -* Avid cryptocurrency enthusiast is a must! -* Strong leadership skills and the ability to work collaboratively with cross-functional leaders and teams to drive positive growth outcomes. -* In-depth familiarity with crypto/blockchain, financial services, and/or tech industry. -* Knowledgeable about and active across key social media channels. -* Proven track record in driving brand perception and reputation via communications initiatives. -* Experience working in a fast-paced, entrepreneurial environment. -* Exceptional written and verbal communication and presentation skills. -* Ability to work in areas outside of your comfort zone and motivated by personal growth. -* Be able to work autonomously. -* The candidate should be independent enough to make important technical decisions on their own. -* The candidate should be driven and innovative. - -### How to apply: - -Shoot an email to hiring@pancakeswap.com with your resume! 🐰 diff --git a/hiring/become-a-chef/community-manager-ptbr.md b/hiring/become-a-chef/community-manager-ptbr.md deleted file mode 100644 index cefc3105..00000000 --- a/hiring/become-a-chef/community-manager-ptbr.md +++ /dev/null @@ -1,42 +0,0 @@ -# Community Manager - PTBR - -### General Information - -* **Salary Range**: Competitive, negotiable -* **Position**: Full-time -* **Location**: Remote -* **Time-zone preference**: CPLP time-zone \ - Living in any Portuguese speaking country, getting the real, local news in time is a plus. - -### Your Responsibilities - -"Community Manager" is generally the bridge between the project and the users. - -* Maintain and grow the community. - * Build a great relationship with existing users, engage with potential users, create content, and make the users fun and fans! -* Guide the project to grow along with the community. - * Deliver the feedback from the community to the kitchen team. - * Explain the project updates to the users in an obvious way. -* Monitor the community from quantitative perspectives. - * Focus on gauging sentiment around the project, using social listening tools to monitor feedback and engagement. -* Keep up to date with industry trends. -* Collaborate closely with our extensive team and the community admins to nurture — PancakeSwap's amazing global community. - -### Requirements - -* Native Portuguese speaker. You may attend voice AMA for Portuguese users. -* Great proficiency in written English. Proficiency in other languages very welcome too. -* A Relevant Degree in: Communications; Media Marketing; Video or Graphic Design -* Be crypto native. Know your way around DeFi, NFTs, and have your bunny ear to the ground. -* Already a PancakeSwap user. Experience with our products, such as yield farming, is a must. -* Ideally, have an existing track record of contributions to PancakeSwap (made a video, wrote an article, helped the people in the community etc.). -* Excellent communication skill is a must. -* Always keen on learning new tools/trends. Crypto space runs super fast, and you have to hop quickly. -* Have an iron heart to work with a duck. This isn’t a joke. -* BYO frying pan and spatula. Pancake batter is available upon request. - -**How to apply** - -Shoot your CV to us at hiring@pancakeswap.com 🦆\ -****Please also tell us your Twitter username and Telegram username! - diff --git a/hiring/become-a-chef/devops-engineer.md b/hiring/become-a-chef/devops-engineer.md deleted file mode 100644 index 74c2afc4..00000000 --- a/hiring/become-a-chef/devops-engineer.md +++ /dev/null @@ -1,30 +0,0 @@ -# DevOps Engineer - -### General information - -* Salary range: Competitive, negotiable -* Position: Full-time -* Location: Remote -* Time-zone preference: Any - -### Your Responsibilities - -* Take care of our existing cloud infrastructure. -* Investigate and resolve technical issues. -* Plan and develop new cloud-based services. -* Write extensive documentation. - -### Skills & Qualification - -* Good understanding of Go, NodeJS or Python. -* Experience with cloud platforms (AWS/GCP/Azure). -* Experience configuring and maintaining databases (MongoDB, PostgresSQL, Redis). -* Good understanding of Docker, Kubernetes and adjacent technologies. -* Ability to evaluate scaling issues and take action. -* Solid experience with GraphQL. -* Experience with testing tools. -* Experience with Web3, Smart Contracts, Nodes and other crypto technologies. - -### How to apply - -Email hiring@pancakeswap.com with your resume! diff --git a/hiring/become-a-chef/frontend-engineer.md b/hiring/become-a-chef/frontend-engineer.md deleted file mode 100644 index 68c1813d..00000000 --- a/hiring/become-a-chef/frontend-engineer.md +++ /dev/null @@ -1,36 +0,0 @@ -# Frontend Engineer - -### General Information - -* Salary range: Competitive, negotiable -* Position: Full-time -* Location: Remote -* Time-zone preference: Any - -### Your Responsibilities - -* Design, scope, and estimate complex frontend products/upgrades. -* Envision and develop features to help grow PancakeSwap. -* Enthusiastically collaborate with a small team to plan projects at the task level. -* Collaborate with cross-functional partners on all aspects of product development. -* Identify and advocate for team-wide areas of improvement and best practices. - -### Skills & Qualifications - -* 3-5 years of experience in building responsive/adaptive web applications with JavaScript/Typescript. -* Solid experience in React JS. -* Ability to write structured and clean code. -* Experience with Javascript testing tools. -* Experience with modern front-end build pipelines and tools. -* Experience with defining and delivering scalable frontend architectures. -* Some experience with GraphQL. -* Experience working with Web3 and a decentralized application frontend. -* Ability to work independently and innovate. - -### Good to have - -* Understanding of Solidity. - -### How to apply - -Email hiring@pancakeswap.com with your resume! diff --git a/hiring/become-a-chef/senior-qa-engineer.md b/hiring/become-a-chef/senior-qa-engineer.md deleted file mode 100644 index 99caf16b..00000000 --- a/hiring/become-a-chef/senior-qa-engineer.md +++ /dev/null @@ -1,30 +0,0 @@ -# Blockchain QA Engineer - -### **General Information** - -* **Salary range:** Competitive, negotiable -* **Position:** Full-time -* **Location:** Remote -* **Time-zone preference:** Any - -### Requirements: - -* Thorough understanding of how PancakeSwap (Exchange, Farming, Info, Voting) works. -* Being able to analyze Solidity code, find bugs and edge cases. -* Experience in writing automated tests for dApp frontends. -* Ability to create testing setup from zero. -* Be able to work autonomously. -* The candidate should be independent enough to make important technical decisions on their own. -* The candidate should be driven and innovative, planning the best ways to get full test coverage of the product. - -### Responsibilities: - -* Setup the tools needed to enable end to end testing (JS framework, local blockchain). -* Analyse our codebases and propose a test plan for each. -* Write appropriate end to end tests in order to protect the product from regressions bugs. -* Monitor newly released features and continually add tests for these. -* Consistently plan to upgrade and improve our testing infrastructure. - -### How to apply: - -Email hiring@pancakeswap.com with your resume! diff --git a/hiring/become-a-chef/social-media-marketing-manager.md b/hiring/become-a-chef/social-media-marketing-manager.md deleted file mode 100644 index 5ef2bb44..00000000 --- a/hiring/become-a-chef/social-media-marketing-manager.md +++ /dev/null @@ -1,33 +0,0 @@ -# Social Media Marketing Manager - - - -### General Information - -* Salary range: Competitive, negotiable -* Position: Full-time -* Location: Remote -* Time-zone preference: Any - -### Your Responsibilities - -* Elevate PancakeSwap's brand and presence through social media. -* Work with community managers to develop campaigns and community competitions. -* Reach quickly to respond to users and followers across all platforms. -* Utilize sentiment analysis, engagement, and other metrics to develop social strategy and marketing plans. -* Collaborate closely with our extensive team of community managers and community admins to nurture PancakeSwap's amazing global community. - -### Requirements - -* 3+ years active experience in social media marketing. -* Experience working with graphic design software and creative teams to create engaging social posts and other materials. -* Excellent written English. Other language ability very welcome. -* Demonstrable hands on experience in content management. -* Be crypto native. Know your way around DeFi, NFTs, and have your bunny ear to the ground. -* Be creative. Be fun. Be sociable. Speak like a human, even though you're a rabbit. Connect with the community. Flip Pancakes. -* Ideally already a PancakeSwap user. Experience with yield farming, lending protocols etc. a must. -* BYO frying pan and spatula. Pancake batter available upon request. - -### How to apply - -Shoot your CV to us at hiring@pancakeswap.com 🐰 diff --git a/hiring/become-a-chef/solidity-engineer.md b/hiring/become-a-chef/solidity-engineer.md deleted file mode 100644 index 335b2c54..00000000 --- a/hiring/become-a-chef/solidity-engineer.md +++ /dev/null @@ -1,36 +0,0 @@ -# Solidity Engineer - -### **General Information** - -* **Salary range:** Competitive, negotiable -* **Position:** Full-time -* **Location:** Remote -* **Time-zone preference:** Any - -### Your Responsibilities - -* Build smart contracts in Solidity for the Ethereum / BSC blockchain. -* Design, scope, and estimate complex contract based on requirements given. -* Envision and develop features to help grow PancakeSwap. -* Enthusiastically collaborate with a small team to plan projects at the task level. -* Collaborate with cross functional partners on all aspects of product development. -* Identify and advocate for team-wide areas of improvement and best practices. - -### Skills & Qualifications - -* 5+ years of industry experience in software engineering. -* Understands and applies Solidity patterns to solve common problems. -* Understands gas optimization the tradeoff between efficient code and readable code. -* Knows how to write migrations and deploy code to EVM-compatible networks. -* Familiar with Truffle, Waffle, and Hardhat, and the pros and cons of each framework. - * Specifically familiar with Hardhat as this is the framework used by PancakeSwap. -* Possesses exceptional judgment, problem-solving skills, and an analytical mindset. -* Understands engineering best practices such as continuous integration. -* Ability to work in areas outside of your comfort zone and motivated by personal growth. -* Be able to work autonomously. -* The candidate should be independent enough to make important technical decisions on their own. -* The candidate should be driven and innovative. - -### How to apply: - -Email hiring@pancakeswap.com with your resume! diff --git a/products/coming-soon/README.md b/products/coming-soon/README.md deleted file mode 100644 index ef2fc5a4..00000000 --- a/products/coming-soon/README.md +++ /dev/null @@ -1,2 +0,0 @@ -# 🍳 Coming Soon! - diff --git a/products/coming-soon/new-cake-pool/README.md b/products/coming-soon/new-cake-pool/README.md deleted file mode 100644 index 09ecbf6f..00000000 --- a/products/coming-soon/new-cake-pool/README.md +++ /dev/null @@ -1,63 +0,0 @@ -# New CAKE Syrup Pool - -## Stake CAKE, earn CAKE! - -PancakeSwap now offers one CAKE Syrup Pool with two staking options: flexible staking or fixed-term staking. Note that the Auto CAKE, IFO CAKE, and Manual CAKE pools will be retired upon the launch of the new CAKE Syrup Pool with flexible and fixed-term staking. Keep reading on to learn more! - -![\*Note that actual APY values will vary](../../../.gitbook/assets/cake-pool-enabled1.png) - -## What’s the difference between “Flexible” and “Fixed-Term” staking? - -With both, you can simply stake your CAKE tokens to earn more CAKE tokens with no deposit fees—both staking options auto-compound CAKE rewards for you. Flexible staking allows users to stake CAKE and earn rewards with the ability to unstake whenever they please. Fixed-term staking allows users to maximise their yield and earn even more CAKE by locking their staked CAKE for a period of time they choose, earning a linearly boosted APY compared to flexible staking. - -Flexible staking and fixed-term staking are both part of the same pool to allow users easy migration between the two staking options. **Because of this, you can only choose one staking option at a time.** More details about the differences are below. - -### Flexible Staking - -Stake your CAKE and forget about it! The CAKE you stake in this Syrup Pool will be automatically compounded (reinvested) for you, minus a small fee (same as the old Auto CAKE Syrup Pool). - -**If you have CAKE staked in flexible staking** - -* ✅ Add more CAKE to flexible staking -* ✅ Harvest rewards any time -* ✅ Withdraw any time (fees apply for the first 72 hours, see below) -* ✅ Convert all staked CAKE in flexible to fixed-term staking -* ❌ Add CAKE to fixed-term staking if you have any CAKE in flexible staking -* ❌ Convert part of the staked CAKE in flexible to fixed-term staking - -**Unstaking fee** - -* **0.1%
 if you unstake (withdraw) within 72 hours.** -* Only applies within 3 days of manually staking. -* After 3 days, you can unstake with **no fee**. -* The 3-day timer resets every time you manually stake more CAKE in the pool. -* This fee only applies to manual unstaking: it does not apply to automatic compounding. - -**Performance fee** - -* **2%, subtracted automatically from each yield harvest**. -* For example, if the harvest were 1 CAKE, then 0.02 CAKE would be subtracted as the performance fee. - -The CAKE collected via the unstaking fee and performance fee is **burned every week** as part of the regular CAKE token burns. - -This is a good thing for CAKE holders because it reduces the overall amount of CAKE tokens in existence, which helps reduce inflation. - -### Fixed-Term Staking - -Stake your CAKE for a fixed amount of time to maximise yields and receive additional benefits! The staked CAKE will be automatically compounded during the entire lock duration. - -* No performance fees -* The longer you lock, the higher the boost applied to the yield! Always offering a higher APY compared to flexible staking! -* CAKE rewards are auto-compounded and will unlock, along with your staked CAKE, when your lock duration expires -* Once staked in fixed-term staking, you cannot withdraw until the end of your lock duration. -* IFO CAKE credit (the maximum amount of CAKE they can commit during an IFO) will be determined from the fixed-term staking pool - -**If you have CAKE locked in fixed-term staking** - -* ✅ Add more CAKE to lock -* ✅ Extend lock period -* ❌ Add CAKE to flexible staking -* ❌ Harvest rewards -* ❌ Withdraw before locked term ends - -Chefs are cooking up additional benefits in the kitchen for Q2! diff --git a/products/coming-soon/new-cake-pool/fixed-term-staking.md b/products/coming-soon/new-cake-pool/fixed-term-staking.md deleted file mode 100644 index 686ecdae..00000000 --- a/products/coming-soon/new-cake-pool/fixed-term-staking.md +++ /dev/null @@ -1,85 +0,0 @@ ---- -description: >- - This page explains who to stake in the new CAKE Syrup Pool with the Fixed-Term - Staking option. ---- - -# How to use the Fixed-Term Staking option - -1\. Go to the Pools page [here](https://pancakeswap.finance/pools). - -2\. Connect to your BNB Smart Chain-compatible wallet by clicking the **Connect** button (top right-hand side). - -![](<../../../.gitbook/assets/2-how-to-stake-in-syrup-pool (1) (1) (1) (1) (1) (1) (2).png>) - -3\. Choose your wallet and connect. - -![](<../../../.gitbook/assets/3-how-to-stake-in-syrup-pool (1) (1) (1) (1) (1).png>) - -4\. Choose the CAKE Syrup Pool and click the **Enable** button. Your wallet will ask you to confirm the action. - -![Note that actual APY values will vary](../../../.gitbook/assets/3-how-to-stake-in-fixed-pool.png) - -5\. The **Enable** button should now be replaced with **Flexible** and **Locked**. Click the button to bring up the staking menu. - -![Note that actual APY values will vary](../../../.gitbook/assets/4-how-to-stake-in-fixed-pool.png) - -6\. For Fixed-Term Staking simply press **Locked**, which will present you with a new window, enter the amount of CAKE you wish to stake and for how long you want to lock your CAKE for. - -Below that, you will find a summary of your position, including APY, lock duration, and unlock date and time. Double-check to make sure you are okay with the lock duration and amount staked, click **Confirm** and confirm the transaction in your wallet. - -![Note that actual APY values will vary](../../../.gitbook/assets/5-how-to-stake-in-fixed-pool.png) - -Please note that we are still refining our UI including more precise unlock durations and a possible countdown. - -## Extending your lock staking duration - -Changed your mind during the lock staking duration? No problem. You can always extend the time of your locked CAKE by simply clicking "Extend" and choose how much time you want to add on top of the **initial lock duration**. Remember, the longer you lock, the higher your yield will be boosted. The maximum locking duration is 52 weeks. - -A user's new extended lock duration = initial lock duration + added duration - -**Example:** - -A user staked 1,438.45 CAKE in fixed-term staking with an initial lock duration of 10 weeks on 7th May 2022. - -On 18th June 2022 (6 weeks later, 4 weeks until the user's CAKE unlocks), the user decides they want to add 5 weeks to their lock duration. - -1\. Navigate to the CAKE Syrup Pool and click **Extend**. - -![Note that actual APY values will vary](../../../.gitbook/assets/6-how-to-stake-in-fixed-pool.png) - -2\. Select the duration you would like to add (5 weeks in this example).\ -\ -Note that your new lock duration will equal your initial lock duration of 10 weeks plus the added 5 weeks for a new lock duration of 15 weeks. - -![Note that actual APY values will vary](../../../.gitbook/assets/7-how-to-stake-in-fixed-pool.png) - -3\. Double-check to make sure you are okay with the new extended lock duration and click **Confirm**. - -Please note that you can not shorten the locking period nor withdraw your CAKE prematurely. - -## Adding more CAKE to your lock - -You can easily do that by renewing your fixed-term staking position. Simply click "Add CAKE" and choose how much CAKE you want to deposit. - -Please note that adding more CAKE to an existing lock resets your staking term based on the remaining lock duration, essentially “renewing” your fixed-term staking position. This results in a lower yield boost because your new lock duration is lower than your initial lock duration. - -**Example:** - -A user staked 1,438.45 CAKE in fixed-term staking with an initial lock duration of 10 weeks on 7th May 2022.\ -\ -On 18th June 2022 (6 weeks later, 4 weeks until the user's CAKE unlocks), the user decides they want to add 100 CAKE to locked balance. - -1\. Navigate to the CAKE Syrup Pool and click **Add CAKE**. - -![Note that actual APY values will vary](../../../.gitbook/assets/6-how-to-stake-in-fixed-pool.png) - -2\. Select the amount of CAKE you would like to add to your locked balance (for this example, we are adding 100 CAKE which is our max wallet balance). Note that your yield boost is lower than the initial yield boost because it is calculated using a 4 week lock duration instead of the initial 10 week lock duration. - -![Note that actual APY values will vary](../../../.gitbook/assets/8-how-to-stake-in-fixed-pool.png) - -2.1. Alternatively, users can check the box next to "Renew and extend your lock to keep similar benefits." to maintain a similar yield boost setting the lock duration equal to the initial lock duration (in this example, 10 weeks). - -![Note that actual APY values will vary](../../../.gitbook/assets/9-how-to-stake-in-fixed-pool.png) - -3\. Double-check to make sure you are okay with the added CAKE amount and the lock duration and click **Confirm**. diff --git a/products/coming-soon/new-cake-pool/flexible-staking.md b/products/coming-soon/new-cake-pool/flexible-staking.md deleted file mode 100644 index 125e9113..00000000 --- a/products/coming-soon/new-cake-pool/flexible-staking.md +++ /dev/null @@ -1,33 +0,0 @@ ---- -description: >- - This page explains who to stake in new CAKE Syrup Pool with Flexible Staking - option. ---- - -# How to use the Flexible Staking option - -1\. Go to the Pools page [here](https://pancakeswap.finance/pools). - -2\. Connect to your BNB Smart Chain-compatible wallet by clicking the **Connect** button (top right-hand side). - -![](<../../../.gitbook/assets/2-how-to-stake-in-syrup-pool (1) (1) (1) (1) (1) (1) (5).png>) - -3\. Choose your wallet and connect. - -![](<../../../.gitbook/assets/3-how-to-stake-in-syrup-pool (1) (1) (1) (1) (1).png>) - -4\. Choose the CAKE Syrup Pool and click the **Enable** button. Your wallet will ask you to confirm the action. - -![Note that actual APY values will vary](../../../.gitbook/assets/cake-pool-notenable.png) - -5\. The **Enable** button should now be replaced with **Flexible** and Locked. Click the button to bring up the staking menu. - -![Note that actual APY values will vary](../../../.gitbook/assets/cake-pool-enabled1-small.png) - -6\. For Flexible Staking simply press **Flexible**, which will present a new window, enter the amount of CAKE you wish to stake, click **Confirm** and confirm the transaction in your wallet. - -![](../../../.gitbook/assets/cake-pool-flex-deposit.png) - -Want to convert your flexible staking to fixed-term staking to earn more CAKE? Simply click **Convert to Lock** and choose how long you want to lock your CAKE. - -![Note that actual APY values will vary](../../../.gitbook/assets/cake-pool-flex-convert.png) ![](../../../.gitbook/assets/cake-pool-convert-lock.png) diff --git a/products/coming-soon/zap.md b/products/coming-soon/zap.md deleted file mode 100644 index 283017d4..00000000 --- a/products/coming-soon/zap.md +++ /dev/null @@ -1,86 +0,0 @@ ---- -description: Simple liquidity provisioning with only one click ---- - -# Zap - - - -### What is Zap? - -Zap enables simple liquidity provision. Add liquidity with only one token and one single click, without manual swapping or token balancing. - -* Add liquidity with only one token: You can add liquidity using only one token in the trading pair. Zap will automatically perform swaps using the one token you provide and automatically balance the trading pair to a 50/50 split before adding liquidity. -* Add liquidity with an imbalanced number of tokens in the trading pair: You can add liquidity even if the number of the tokens you provide in the trading pair is not perfectly balanced with the current pool. For example 30:70, which differs from the default pool weight of 50:50. Zap will automatically rebalance the tokens into a 50/50 split before adding liquidity. -* Remove liquidity and choose what token(s) you want to receive: When removing liquidity, Zap allows you to receive only one token in the trading pair. Zap will automatically perform swaps before returning your tokens. - -### Enable Zap - -By default, the Zap feature is turned on for every user. If you don’t see the new Zap UI when adding or removing liquidity, please enable it in the settings panel. You can bring up the settings panel by clicking the cog icon. - -![](../../.gitbook/assets/zap-8.png) - -{% hint style="warning" %} -Note: Currently, the Zap feature is in beta. Please note that It does not support some tokens, such as tokens with fees on transfers. If you experience any issue while adding or removing liquidity, please disable it in the settings panel. -{% endhint %} - -### Zap In (Add Liquidity) - -Visit the [Liquidity page](https://www.google.com/url?q=https://pancakeswap.finance/liquidity\&sa=D\&source=editors\&ust=1656322371440119\&usg=AOvVaw2VaY8U4dIbBSuWStNyOgok), and choose “Add Liquidity”. - -Pick the trading pair you want to provide liquidity to by selecting two input tokens, checkout [Liquidity guide](https://www.google.com/url?q=https://docs.pancakeswap.finance/products/pancakeswap-exchange/liquidity-guide\&sa=D\&source=editors\&ust=1656322371440606\&usg=AOvVaw3F7VpDtyG1aV8GnmzzfMIs) to learn more. - -![](<../../.gitbook/assets/zap-1 (2).png>) - -Click the “Add Liquidity” button to proceed. - -If the token in the trading pair you are adding liquidity to has a balance in your wallet. The checkbox for that token will be automatically checked. If you have both the tokens have a balance in your wallet, both checkboxes will be checked. - -![](../../.gitbook/assets/zap-6.png) - -### Zap using one token - -You can add liquidity using only one token in the trading pair. Simple check only one checkbox for the token you wish to use. Zap will automatically swap half of the checked tokens into another token in the trading pair before adding liquidity. You will see a warning message indicating which token will be converted. - -![](../../.gitbook/assets/zap-3.png) - -{% hint style="info" %} -If the price impact is too high, Zap will protect you by slippage. Click “Reduce TOKEN” to reduce it to the preferred limit. -{% endhint %} - -![](../../.gitbook/assets/zap-7.png) - -### Zap using two tokens with imbalanced amounts - -If both tokens are checked, the amounts of the input tokens don't match a 50/50 split. Zap balancing will be introduced. You will see a message of “Some of your Token A will be converted to Token B”. - -![](<../../.gitbook/assets/zap-2 (1).png>) - -{% hint style="info" %} -If you don’t want Zap to balance the number of tokens before adding liquidity, simply click “Don’t Convert”. In this case, Zap will adjust the number of input tokens to match a 50/50 split instead of trying to swap and rebalance. -{% endhint %} - -### Proceed with Zap - -When you click “Supply”, the details of the Zap will be shown and await you to confirm. - -You will see: - -1. How many LP tokens you will receive. -2. What are the input tokens, and the number of tokens you are committing. -3. How the input tokens are traded in order to match a 50/50 split. -4. The slippage tolerance you are using. - -![](../../.gitbook/assets/zap-4.png) - -### Zap out (Remove Liquidity) - -Zap also enables you to receive one single token in the trading pair when removing liquidity. - -1. Visit the[ ](https://www.google.com/url?q=https://exchange.pancakeswap.finance/%23/pool\&sa=D\&source=editors\&ust=1656322371442758\&usg=AOvVaw2ZJPj\_97-YuUMQjQbYbfN4)[Liquidity page](https://www.google.com/url?q=https://exchange.pancakeswap.finance/%23/pool\&sa=D\&source=editors\&ust=1656322371442948\&usg=AOvVaw39k9SD0FIdLv9GzmEv10Xz). -2. Click on the pair you want to remove liquidity under “Your Liquidity". -3. Click “Remove”. A new pop-up will appear. - -Under the “You Will Receive” section, you can uncheck the token you don’t want to receive. Zap will automatically swap and convert 100% of the returns into the checked token when removing liquidity. - -![](../../.gitbook/assets/zap-5.png) diff --git a/products/ifo-initial-farm-offering/README.md b/products/ifo-initial-farm-offering/README.md deleted file mode 100644 index 372b852b..00000000 --- a/products/ifo-initial-farm-offering/README.md +++ /dev/null @@ -1,53 +0,0 @@ -# 🛍 IFO (Initial Farm Offering) - -![](../../.gitbook/assets/ifo-header.png) - -Buy new tokens using CAKE. - -The project gets the CAKE, PancakeSwap burns the participation fees CAKE. **You get the tokens.** - -1. **You will need CAKE** to participate. -2. **You will need iCAKE** to participate in Public Sales. -3. **You will need to meet certain requirements** to participate in Private Sales. - -Learn [how to participate in IFO](ifo-guide.md). - -## **How to participate in an IFO** - -Visit [https://pancakeswap.finance/ifo](https://pancakeswap.finance/ifo) to find out more about IFOs. - -Before Sale: - -1. [Complete your PancakeSwap profile setup](../nft-profile-system/profile-guide.md). -2. [Buy CAKE](https://exchange.pancakeswap.finance/?\_gl=1\*1bc8owa\*\_ga\*ODA4ODE5MjM4LjE2MDUxNTI3NTE.\*\_ga\_334KNG3DMQ\*MTYwNTQ4OTEwNy4yNi4xLjE2MDU0ODkxMjcuMA..#/swap) tokens -3. [Lock CAKE in the CAKE syrup pool](../coming-soon/new-cake-pool/fixed-term-staking.md) to get iCAKE. - -During Sale: - -1. While the sale is live, commit your CAKE tokens to buy the IFO tokens at [https://pancakeswap.finance/ifo](https://pancakeswap.finance/ifo) - -After Sale: - -1. When the sale is complete, claim the IFO tokens you've bought. -2. Done! In the case of an [overflow](https://app.gitbook.com/@pancakeswap-1/s/pancakeswap/\~/drafts/-MMK-KmBq5\_Mfs94Ul6x/core-products/ifo-initial-farm-offering#overflow) you can reclaim your remaining CAKE tokens. - -## **What is the “Overflow” sale method?** - -TLDR: Basically, the more you put in, the more you will get, and you’ll get back anything that doesn’t get spent. - -In the “Overflow” method, users can subscribe as much or as little as they want to the IFO, and their final allocation will be based on the amount of funds they put in as a percentage of all funds put in by other users at the time the sale ends. Users will receive back any leftover funds when they claim their tokens after the sale. - -{% hint style="warning" %} -It's possible to receive no tokens at all: If you commit a very small amount of CAKE compared to the total amount committed by others, your contribution may be such a small part of the total that you may not qualify for even a small portion of the tokens sold.\ -In such a case, you will still be able to reclaim all the CAKE tokens you committed. -{% endhint %} - -## What happens if the IFO doesn't raise all the funds targeted? - -The sale will proceed as normal, and all funds contributed will be spent. - -## Want to launch your own IFO? - -Launch your project with PancakeSwap, BNB Smart Chain’s most-used AMM project and liquidity provider, to bring your token directly to the most active and rapidly growing community on BSC. - -👉 [Apply to launch now! ](https://docs.google.com/forms/d/e/1FAIpQLSf0Vmy3k0KyXtXwqxr8QLjD8Xd6KBAmkYxcBRRVTUYJVX17fA/viewform) diff --git a/products/ifo-initial-farm-offering/contract-details.md b/products/ifo-initial-farm-offering/contract-details.md deleted file mode 100644 index fd18d223..00000000 --- a/products/ifo-initial-farm-offering/contract-details.md +++ /dev/null @@ -1,4 +0,0 @@ -# Contract Details - -Each IFO will have a different smart contract for the particular IFO event. You can find the IFO's smart contract link on the [PancakeSwap IFO page](https://pancakeswap.finance/ifo). The link will take you to IFO's contract page on BscScan. - diff --git a/products/ifo-initial-farm-offering/icake.md b/products/ifo-initial-farm-offering/icake.md deleted file mode 100644 index 22f48fa3..00000000 --- a/products/ifo-initial-farm-offering/icake.md +++ /dev/null @@ -1,59 +0,0 @@ ---- -description: Fixed-Term CAKE Staking and IFO Allocations ---- - -# iCAKE - -### **What is iCAKE?** - -iCAKE is similar to “IFO credits” from the previous IFO CAKE staking pool, which was retired during the MasterChef v2 migration. After this update, iCAKE will determine the maximum CAKE commit limit in the PancakeSwap IFO public sales. For example, if you have 200 iCAKE, you will be able to commit 200 CAKE in any upcoming IFO public sales. - -**iCAKE is NOT a new token, it is a numerical metric being used by the PancakeSwap IFO system.** - -### How is iCAKE calculated? - -The number of iCAKE you have is based on the number of CAKE staked in the fixed-term CAKE staking pool and the total staking duration of your current fixed-term staking position. - -iCAKE works based on a staking duration threshold for all iCAKE users. - -If your staking duration is above the threshold, the number of iCAKE you have is equal to the number of the CAKE in your staking position. - -If your staking duration is below the threshold, the number of iCAKE you have will be linear decreased and adjusted. - -If your staking position is ended, the number of iCAKE you have is 0. - -For example, if the threshold is 20 weeks: - -* Your current fixed-term staking position has a duration of 25 weeks and 200 staked CAKE. Then the number of iCAKE you have is 200. -* Your current fixed-term staking position has a duration of 10 weeks and 200 staked CAKE. Then the number of iCAKE you have equals 200 × (10 ÷ 20) = 100. -* Your current fixed-term staking position has a duration of 2 weeks and 200 staked CAKE. Then the number of iCAKE you have equals 200 × (2 ÷ 20) = 20. -* Your current fixed-term staking position has a duration of 2 weeks and 200 staked CAKE. But the position is ended. Then the number of iCAKE you have is 0. - -| | Your staking duration is equal to or longer than the threshold | Your staking duration is shorter than the threshold | -| ---------------- | -------------------------------------------------------------- | -------------------------------------------------------------------- | -| **iCAKE Amount** | Equals your Locked CAKE Amount | Equals your Locked CAKE Amount x (Your Staking Duration / Threshold) | - -### How to check the number of iCAKE I have? - -![](../../.gitbook/assets/image3.png) - -You can check the number of iCAKE you have in the IFO page [here](https://pancakeswap.finance/ifo). - -### **How to increase the number of iCAKE I have?** - -You can increase the number of iCAKE you have by: - -* Adding more CAKE to your fixed-term staking position in the CAKE syrup pool. -* Extend your fixed-term staking durations if your current durations is shorter than the threshold. - -****![](../../.gitbook/assets/image2.png)**** - -You can preview the number of iCAKE generated from your staking position when adjusting or initializing the fixed-staking. - -### What is the threshold for iCAKE calculations? - -Between each IFOs, the kitchen will optimize the threshold based on the average staking duration of the fixed-term staking CAKE pool. The adjustment will be published on all social channels. - -![](<../../.gitbook/assets/image (134).png>) - -You can check the current threshold for iCAKE calculations by hovering or tapping the underlined iCAKE text in the CAKE syrup pool window. diff --git a/products/ifo-initial-farm-offering/ifo-guide.md b/products/ifo-initial-farm-offering/ifo-guide.md deleted file mode 100644 index 8637c9ca..00000000 --- a/products/ifo-initial-farm-offering/ifo-guide.md +++ /dev/null @@ -1,158 +0,0 @@ -# How to Participate in an IFO - -![](../../.gitbook/assets/how-to-enter-an-ifo-header.png) - -{% hint style="info" %} -We will be bringing several new updates to the IFO process over the coming weeks, please refer to the details in the IFO proposal (vote) for the specifics of the IFO you want to take part in. -{% endhint %} - -An IFO on PancakeSwap is an Initial Farm Offering. IFOs let you get early access to PancakeSwap’s new tokens as soon as they are added. By being one of the first to have a new token, you can benefit from higher rewards! - -IFOs are available for a very limited time. Get ready ahead of the event to make sure you can participate! - -## **Before the IFO** - -Before you can join an IFO there are a few things you will need to do to get ready. Follow the steps below to make sure you're ready to buy when the IFO event goes live. - -### Create your PancakeSwap profile - -To take part in an IFO, you'll need a PancakeSwap profile. Having a profile protects the security of the IFO and makes it fair for everyone. The small cost of a profile also helps keep the total CAKE supply down by burning a little CAKE from each profile created.\ -\ -To create a profile, you can follow our How to Set Up an NFT Profile guide [here](https://docs.pancakeswap.finance/get-started/profile-guide). - -### Lock CAKE in the CAKE Syrup Pool to get iCAKE - -iCAKE determines the maximum CAKE commit limit in the PancakeSwap IFO public sales. For example, if you have 200 iCAKE, you will be able to commit 200 CAKE in any upcoming IFO public sales. The number of iCAKE you have is based on the number of CAKE staked in the fixed-term CAKE staking pool and the total staking duration of your current fixed-term staking position. - -To get iCAKE, go to the IFO page [here](https://pancakeswap.finance/ifo). Locate the CAKE syrup pool card, and click "Locked" under "Stake CAKE" to proceed. - -To learn more about iCAKE and how is iCAKE calculated, check out the doc [here](icake.md). - -### Get CAKE Tokens - -Once you have a profile and iCAKE, you will also need to prepare some CAKE tokens in your wallet. These will be used to buy the tokens being offered in the IFO.\ -\ -If you are currently staking your CAKE in a pool, unstake them prior to the IFO and make sure the tokens are available in your wallet. - -### Check on your progress - -Once you’ve followed the steps above, go back to the IFO page [here](https://pancakeswap.finance/ifo). Scroll down to the ‘How to Take Part’ section. - - - -You should see your progress is currently at step 3, Commit CAKE, like in the picture above. If for some reason you aren’t at step 3, go back through the guides linked up higher on this page. - -And that’s it; you’re now ready to participate in an IFO when it goes live! - -### **Knowing when an IFO will start** - -The IFO is a limited-time event; it usually only lasts one or two hours. You'll want to check the proposal in detail for the IFO timeframe to ensure you don’t miss out! - -#### Check the IFO page - -IFOs will have a countdown at the top of the IFO page. - -The **(blocks)** link will open the BscScan explorer in a new window at the starting block. - -#### Use social media - -There isn’t a set time before an IFO goes live for the countdown to start, so check PancakeSwap’s official social media accounts for news about upcoming IFO times. - -The countdown and announcements will give you plenty of time to prepare. - -## **Once the IFO is live** - -While an IFO is live, you will have 1 hour to participate. If you have done the steps above and have CAKE tokens in your wallet, it doesn’t take long at all to buy the new token. - -### Checking if the IFO is live - -On the IFO page, look where the event start countdown was. You will now see a countdown until the IFO sale ends instead. This will let you know how much time you have to buy the offered tokens. - -### **Which type of sale should I choose: Basic or Unlimited?** - -There are two sales available: Public Sale and Private Sale. It's possible to participate in both sales if you want to, but each has conditions. You will need to choose which sale you would like to participate in. - -#### **Public Sale** - -In the Public Sale, each participant will be able to commit as much CAKE as they would like up to the number of iCAKE as the limit. If you buy tokens with the Public Sale you will have to pay a small fee. To learn more about the participation fees, please refer to the details in the IFO proposal (vote) for the specifics of the IFO you want to take part in. - -The final amount of IFO tokens one will get will be determined using the “Overflow” sale method. - -#### **Private Sale** - -To participate in the new Private Sale, participants will need to meet at least one of the requirements presented on the IFO sale card UI. - -Each participant will be able to commit any amount of CAKE up to the maximum commit limit for the Private Sale, which will be published along with the IFO voting proposal. There's no fee in the Private Sale. - -The final amount of IFO tokens one will get will be determined using the “Overflow” sale method. - -**Overflow Sale Method** - -Basically, the more you put in, the more you will get, and you’ll get back anything that doesn’t get spent. - -In the “Overflow” method, users can subscribe as much as they want to the IFO, and their final allocation will be based on the amount of funds they put in as a percentage of all funds put in by other users at the time the sale ends. Users will get back any leftover funds when they claim their tokens after the sale. - -### **Committing CAKE to the Public Sale** - -1\. Let's commit some CAKE to the Public Sale. Click the **Commit** button under Public Sale. A window will appear. - -2\. In the new window, choose the amount of CAKE you want to commit in the field. - -Remember, you can only commit up to to the number of iCAKE you have. And any CAKE you cannot spend on new tokens will be returned to you, so you don’t need to worry about losing any tokens. - -3\. Click the **Confirm** button and confirm the action with your wallet. Once your CAKE are committed, the Public Sale section will show your committed amount. - -You can add more CAKE at any time during the IFO event as long as you haven’t reached the maximum limit. If you have, you will see "Max Committed" on the faded button. Keep in mind there is a fee for the Public Sale, listed next to “Additional fee”. - -If you don’t want to commit more CAKE to the IFO, you can skip ahead to the next section, Collecting your new tokens. - -### **Committing CAKE to the Private Sale** - -![](<../../.gitbook/assets/image (59).png>) - -1\. The checkbox in the Private Sale card will light up if you are eligible to participate in the Private Sale. To use your CAKE in the Private Sale, click the **Commit** button under Private Sale. A window will appear. - -2\. In the new window, choose the amount of CAKE you want to commit in the field. - -Remember, you can only commit the amount of CAKE equal to the maximum commit limit for the Private Sale. And any CAKE you cannot spend on new tokens will be returned to you, so you don’t need to worry about losing any tokens. - -3\. Click the **Confirm** button and confirm the action with your wallet. Once your CAKE are committed, the Private Sale section will show your committed amount. - -You can add more CAKE at any time during the IFO event as long as you haven’t reached the maximum limit. If you have, you will see "Max Committed" on the faded button. - -## After the IFO has ended - -When the IFO has ended, you will be able to collect your new tokens. How many you will get depends on how many people participated in the IFO. **Any extra CAKE you have committed to the IFO that aren't used to buy new tokens will be returned to you.‌** - -### Token Vesting - -If an IFO has token vesting, the details and rules of the vesting will be elaborated in the vote proposal. Be sure to check and get familiar with the vesting schedule before committing to an IFO. You can also click this button in the detail section of an IFO sale to check the proposal directly. - -### **Collecting your new tokens** - -**IFO without token vesting** - -Collecting your new tokens is incredibly easy. Just go back to the IFO page once the IFO event is finished and click the **Claim** button under the sale window. Confirm the action with your wallet. You'll now have your new tokens. Congratulations! - -**IFO with token vesting** - -![](../../.gitbook/assets/image7.png) - -Once the IFO sale is finished. A vesting interface will be presented in the IFO sale section. You can find all the useful information about the entire vesting schedule. Including but not limited to: - -* The total amount of purchased token. -* The number of tokens has already been released. -* The number of tokens available to claim. -* When the release schedule is finished. - -You can click the **Claim** button to claim any tokens available at the moment. - -Throughout the entire vesting schedule, you can come back to the IFO page at any time and claim any available tokens. - -### Using your new tokens in farms - -Now that you've got your shiny new tokens, you can put them to work for you! - -You can add liquidity for your token to receive LP Tokens. Your LP Tokens will let you collect trading fees for your pair. Read about adding liquidity [here](https://docs.pancakeswap.finance/get-started/liquidity-guide). - -If you've added liquidity for your new token, you can also use your new LP Tokens to yield farm and earn more rewards! Read about farming [here](https://docs.pancakeswap.finance/products/yield-farming/farms).\ diff --git a/products/info/README.md b/products/info/README.md deleted file mode 100644 index 94984fe9..00000000 --- a/products/info/README.md +++ /dev/null @@ -1,2 +0,0 @@ -# 📈 Analytics \(Info\) - diff --git a/products/info/pancakeswap-analytics.md b/products/info/pancakeswap-analytics.md deleted file mode 100644 index 3a6fa238..00000000 --- a/products/info/pancakeswap-analytics.md +++ /dev/null @@ -1,8 +0,0 @@ -# Analytics - - - -![](<../../.gitbook/assets/image (156) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png>) - -View PancakeSwap's native analytics site here: [https://pancakeswap.info](https://pancakeswap.info) - diff --git a/products/lottery/README.md b/products/lottery/README.md deleted file mode 100644 index db9ae569..00000000 --- a/products/lottery/README.md +++ /dev/null @@ -1,63 +0,0 @@ -# 🎟 Lottery v2 - -![](../../.gitbook/assets/lottery-v2-header.png) - -Playing the PancakeSwap Lottery gives you a chance to win huge CAKE prizes! It's easy, fair, and you can enter as often as you like as long as you have the CAKE to buy a ticket. - -[View smart contract](https://bscscan.com/address/0x5aF6D33DE2ccEC94efb1bDF8f92Bd58085432d2c) - -## **Specifics:** - -* Lottery ticket cost for 1 ticket: \~$5 USD in CAKE. -* Individual user Lottery entry limit: No overall limit, but only 100 tickets can be bought at a time. -* Paying for one ticket will give users a random 6-digit combination with each digit being between 0-9, for e.g. “1-9-3-2-0-4”. Match numbers from the left to win prizes—the more numbers that match, the bigger the prize pool you'll share in. -* Lottery uses Chainlink's implementation of VRF for true, secure randomness. - -## Ticket costs and bulk purchase discount - -Lottery ticket prices are set at the start of the new lottery round, and target $5 USD (may vary slightly with sudden price fluctuations). - -Buying multiple Lottery tickets at once gives a bulk discount on your purchase. You can buy as many as 100 tickets in one purchase, with the discount starting small at 2 tickets, and scaling up to 4.95% at 100 tickets. - -![](<../../.gitbook/assets/image (146).png>) - -## **How to win** - -Match numbers, **from the left side of your ticket**, to the winning numbers drawn at the end of a Lottery round. - -* Matching even just the first number will win you a small prize. -* Match more numbers to win a share of a larger prize pool. - -## **‌**Prize eligibility - -‌There are a total of six lottery balls, from 0 to 9, on each ticket. To win, your numbers need to match the drawn numbers in the same order as the lottery balls, starting from the left of the ticket. For example: - -Drawn numbers - -![Drawn Numbers](<../../.gitbook/assets/image (148).png>) - -Your ticket's numbers - -![Your Ticket A](<../../.gitbook/assets/image (95) (1) (1).png>) - -In the example above, Ticket A, five of the ticket's numbers match the same drawn numbers, in the exact same order: all except the fourth one. - -However, since the fourth digit does **not** match the drawn number, only the first three digits count as matching in order. This would win a "Match first 3" prize. - -![Your Ticket B](<../../.gitbook/assets/image (149).png>) - -Example Ticket B. Here's an unlucky one. Even though the last five digits match, the first digit doesn't match, so this ticket doesn't win anything at all. - -You will only share in prizes from the highest prize bracket you are eligible for. A ticket matching the first three numbers will only be eligible for prizes from the match-three bracket, and not for the match-one or match-two brackets. - -**Remember: The digits must match in order, starting from left to right.** - -## Prize sharing across prize brackets - -‌After a round is drawn, and tickets with matching numbers are determined, the prizes are awarded. The amount won by each ticket will depend on how many other tickets won in the same prize bracket. - -‌For example, if you have the only ticket that matched three numbers in order, and the predetermined share of the prize pool for your bracket was 2000 CAKE, you'll receive the full 2000 CAKE. - -‌If, however, you and three other people match three numbers in order, the 2000 CAKE would be split between the four winning tickets, meaning you would receive 500 CAKE. - -See the [Lottery FAQ for a breakdown of prizes](lottery-faq.md#how-are-prizes-broken-down-between-brackets) across each bracket. diff --git a/products/lottery/lottery-faq.md b/products/lottery/lottery-faq.md deleted file mode 100644 index e64770c2..00000000 --- a/products/lottery/lottery-faq.md +++ /dev/null @@ -1,82 +0,0 @@ -# Lottery FAQ - -## What if there are no winners? - -If CAKE in the prize pools isn't won it doesn't go to waste! Unclaimed CAKE rolls over to the next Lottery round. - -## My ticket matches several numbers but I can't claim a prize - -Tickets are only eligible for prizes if matching numbers from left to right. See the [Lottery v2 documentation](./) for a thorough explanation. - -## How is Lottery v2 different from Lottery v1? - -Lottery v2 distributes prizes more widely than Lottery v1. It gives each ticket a 1 in 10 chance to match the first number, which means more tickets will at least win a small prize. It also has 6 (up from 4) numbers that need to be matched sequentially to win the biggest prize. - -Overall this means more tickets can win a prize, but the largest prize jackpot will be won less frequently, making for huge top prize pools! - -**Lottery v2 introduces:** - -* cheaper ticket prices (\~$5 USD in CAKE per ticket) that don't swing wildly with the price of CAKE -* bulk ticket discounts -* 6-tiered prize pool brackets with increasing prize pools as more numbers are matched -* manual number selection (optional), so users can use their lucky numbers -* [Chainlink’s implementation of VRF](https://docs.chain.link/docs/chainlink-vrf/) for true, secure randomness -* lower overall fees (see [lower down this page](lottery-faq.md#what-transaction-fee-will-i-pay-for-buying-tickets) for more information) - -[Learn more about Lottery v2 features, gameplay, and prizes](./) - -## How are prizes broken down between brackets? - -Each bracket's prize pool is a portion of the total CAKE in each Lottery round. - -* | Bracket (numbers matched in order) | CAKE Allocation | - | ---------------------------------- | --------------- | - | First 1 number | 2% | - | First 2 numbers | 3% | - | First 3 numbers | 5% | - | First 4 numbers | 10% | - | First 5 numbers | 20% | - | First 6 numbers | 40% | - | Burn | 20% | - -## Can I swap my tickets back to CAKE? - -No, once purchased you will not be able to convert your ticket back to CAKE. - -## If I win, do I need to manually claim the prize? - -Yes, you will need to click the **Check Now** button under "Are you a winner?" on the Lottery page. - -![](<../../.gitbook/assets/image (150).png>) - -## How often is the lottery? - -A lottery draw occurs every 12 or 36 hours. One lottery draw occurs every day alternating between 0 AM UTC and 12 PM UTC, next rounds after the 0 AM UTC rounds will be after 36 hours, next rounds after the 12 PM UTC rounds will be after 12 hours. - -![Lottery injection schedule](<../../.gitbook/assets/Lottery Schedule Update Feb 4.png>) - -## What transaction fee will I pay for buying tickets? - -Every ticket purchase you make will be one transaction. Purchasing a single ticket in a Lottery purchase will cost the normal amount of fees for a transaction. - -However, buying more tickets in that purchase will increase the fee. Buying 100 tickets rather than 1 will not multiply the fee by 100, but may increase the fee amount by 5-6 times (though this varies). - -## How does the bulk discount work? - -The bulk discount rewards buying larger amounts of tickets with a scaling discount. If you're only buying 2 tickets, the discount is negligible, but will add up quickly as you increase the number of tickets to buy in the one transaction. - -The discount only applies to each transaction up to 100 tickets. The discount does not carry over to the next transaction or next round. - -## Why can I only buy 100 tickets? - -You can only buy a maximum of 100 tickets in one purchase, but you can make multiple purchases. There's nothing to stop you buying more tickets after your first 100. - -## If I manually create two or more tickets with the same numbers and they win, am I eligible for prizes for each ticket? - -Yes, each ticket is treated as a separate entry to the Lottery. Keep in mind that the prizes will not be 1:1 though, as each winning ticket you have dilutes each share of the bracket's total prizes. - -## Injection schedule: When is CAKE added to the lottery? - -When people buy tickets, the CAKE they spend is added to the lottery pot. In addition, 10,000 CAKE is also added (injected) to the lottery pot every other round on a regular schedule over the course of seven rounds per week as shown above in the lottery schedule figure. - -This injection schedule started with round 440. diff --git a/products/lottery/lottery-guide.md b/products/lottery/lottery-guide.md deleted file mode 100644 index 923a435e..00000000 --- a/products/lottery/lottery-guide.md +++ /dev/null @@ -1,129 +0,0 @@ -# How to Play Lottery v2 - -![](../../.gitbook/assets/how-to-lottery-header.png) - -PancakeSwap's Lottery is not only a good way to make stacks of CAKE, it's also loads of fun! This guide will walk you through getting involved in the Lottery. - -{% hint style="info" %} -The Lottery has changed a little since its first iteration. Lottery v2 lets you win more often, have some control over your tickets, and has more potential for huge CAKE jackpots to get your mouth watering. Learn more about [PancakeSwap Lottery v2 here](https://docs.pancakeswap.finance/products/lottery). -{% endhint %} - -## Deciding if you'd like to enter a round - -‌Not all Lottery rounds are equal. When a lottery jackpot isn't won, the next round's prize pool will increase; the longer it's been since someone has won the jackpot, the larger the Lottery prize pool will be. - -‌The longer a round is open, the more people can buy a ticket. Each ticket sold increases the prize pool further. Here's how to check the current round's prize pool and remaining time. - -‌1. Visit the[ PancakeSwap Lottery page](https://pancakeswap.finance/lottery) and look at the top of the page. You'll see the current round's prize pool shown in (estimated) US dollar value. - -![](<../../.gitbook/assets/image (93).png>) - -This is the amount to be shared between all winners. - -‌2. A little lower down the page you'll find the remaining time before the current round is drawn. - -![](<../../.gitbook/assets/image (94).png>) - -Remember, a lot can change in the remaining time. Many more tickets may be sold. Each sold ticket both increases the prize pool, and lowers the odds of an individual ticket winning. - -‌If you're unsure, you can always wait until later into the round to decide with more information. Just don't wait too long and miss out! - -## Buying Lottery tickets - -‌Buying tickets is easy. - -You just need a little CAKE though: each ticket costs approximately $5 USD (the exact CAKE price is set at the start of the round). - -You can choose to either randomize your lottery ticket numbers, or to choose your ticket numbers manually. Choose between the randomized numbers and manual numbers tabs below for a guide to each method. - -{% tabs %} -{% tab title="Randomized ticket numbers" %} -#### Randomized ticket numbers - -1\. On the[ PancakeSwap Lottery page](https://pancakeswap.finance/lottery), click the **Buy Tickets** button at the top of the page (there's another lower on the page also). - -![](<../../.gitbook/assets/image (96).png>) - -There is a time between rounds where purchasing tickets isn't possible. Just check back after the countdown if that's the case. - -![](<../../.gitbook/assets/image (97).png>) - -2\. A window will open letting you choose how many ticket to buy. Type how many tickets you'd like to buy into the field. You can also use the preset buttons underneath. - -![](<../../.gitbook/assets/image (142).png>) - -3\. Before you continue, it's worth considering the bulk purchase discounts. The more tickets you buy, the greater the discount. - -The discount starts at 2 tickets, and scales all the way to 100 tickets where you will save almost 5% on your purchase (4.95%). - -4\. When you're happy with the number of tickets you want to buy, click **Confirm** and confirm your action in your wallet. - -![](<../../.gitbook/assets/image (143).png>) -{% endtab %} - -{% tab title="Manual ticket numbers" %} -#### Manual ticket numbers - -1\. On the[ PancakeSwap Lottery page](https://pancakeswap.finance/lottery), click the **Buy Tickets** button at the top of the page (there's another lower on the page also). - -![](<../../.gitbook/assets/image (96).png>) - -There is a time between rounds where purchasing tickets isn't possible. Just check back after the countdown if that's the case. - -![](<../../.gitbook/assets/image (97).png>) - -2\. A window will open letting you choose how many ticket to buy. Type how many tickets you'd like to buy into the field. You can also use the preset buttons underneath. - -![](<../../.gitbook/assets/image (142).png>) - -3\. Before you continue, it's worth considering the bulk purchase discounts. The more tickets you buy, the greater the discount. - -The discount starts at 2 tickets, and scales all the way to 100 tickets where you will save almost 5% on your purchase. - -4\. To customize the numbers on your tickets, click the **View/Edit Numbers** button. - -![](<../../.gitbook/assets/image (144).png>) - -5\. A new window will open showing your tickets. Click onto a number for any ticket to change the number in that position. - -You can randomize your numbers again by clicking **Randomize**, or go back if you change your mind by clicking **Go back**. - -![](https://lh4.googleusercontent.com/229uStQBb-Uzj-Tu9kRDXxfux4wWNjeHjPXJBULwhKbCR5UEgWnb3jzzj1-KeWeBfxfGlctR9aH\_S1P\_l6\_VgtrZR0Eb2AVqrJLF8oNkpoVFlpeHaOIsUij-bs12QBOwDAIJEJiU) - -You'll get a warning if you create duplicate tickets. It's possible your duplicate tickets will win. In this case your tickets will share in the prize pool for their bracket. - -![](<../../.gitbook/assets/image (103).png>) - -6\. When you're happy with your numbers, click the **Confirm and buy** button. - -![](<../../.gitbook/assets/image (145).png>) - -Confirm the action in your wallet. -{% endtab %} -{% endtabs %} - -## Viewing your tickets after buying - -You can view your tickets after buying them before the round's numbers are drawn. - -1\. Click **View Your Tickets** in the "Next Draw" area of the Lottery page. - -![](<../../.gitbook/assets/image (108).png>) - -2\. A window will open showing all of your tickets and their numbers. It'll also give you the option to buy more tickets if you'd like. - -![](<../../.gitbook/assets/image (109).png>) - -## When the round ends and winning numbers are drawn - -‌When the round has ended and the winning numbers are available, you can check your tickets to see if you won. - -### ‌View your winning tickets - -‌You can view your winning tickets in the same way you viewed your tickets after buying them. - -‌1. Click **View Your Tickets** in the "Finished Rounds" area of the Lottery page. - -![](https://lh3.googleusercontent.com/p3QxWcrxCcBwHrhwPU55vnAN-BmelgNwKRWse8yEQQVfehXsIOvUX\_tCo1gC7LpHxL-crIMS19RxpnMxn5yBuShNwXfH7qzCSdCOtnBeXhUuecrqRvhdI97rX\_CuVuWAawaor6Mi) - -2\. A window will open showing the winning numbers and all of your tickets and their numbers.\\ diff --git a/products/nft-market.md b/products/nft-market.md deleted file mode 100644 index 0820377c..00000000 --- a/products/nft-market.md +++ /dev/null @@ -1,7 +0,0 @@ -# 🖼 NFT Market - -More info coming soon. - -![](../.gitbook/assets/screen-shot-2021-09-29-at-21.11.40.png) - -[Apply to list your collection on the NFT Market](../contact-us/nft-market-applications.md)\ diff --git a/products/nft-profile-system/README.md b/products/nft-profile-system/README.md deleted file mode 100644 index c139b498..00000000 --- a/products/nft-profile-system/README.md +++ /dev/null @@ -1,5 +0,0 @@ -# 🖼 NFT Profile System - -![](../../.gitbook/assets/nft-profiles-header.png) - -PancakeSwap supports personalized profiles for users. These profiles allow you to choose your own name, join a team, and choose from NFT profile images you've collected to use as your profile's display picture. diff --git a/products/nft-profile-system/profile-guide.md b/products/nft-profile-system/profile-guide.md deleted file mode 100644 index 750ca4b4..00000000 --- a/products/nft-profile-system/profile-guide.md +++ /dev/null @@ -1,83 +0,0 @@ -# How to Set Up an NFT Profile - -![](../../.gitbook/assets/how-to-nft-profiles-header.png) - -Create a personalized profile on PancakeSwap to share your personality with the world. Choose a cute bunny NFT for your profile picture, give yourself a unique name, and join an awesome team! - -Having your profile created will let you to share your NFT profile picture and achievements with friends, and let you join special PancakeSwap team events.\ -\ -**This process will cost a total of 1.5 CAKE.** - -![](<../../.gitbook/assets/image (160).png>) - -1\. Visit **Your Profile** under **Teams & Profile** [here](https://pancakeswap.finance/profile).\ -**** - -![](<../../.gitbook/assets/image (159).png>) - -2\. Under “Choose your Starter!”, pick one of the available bunny NFTs you’d like for your profile picture. The NFT will cost you 1 CAKE. - -![](<../../.gitbook/assets/image (162).png>) - -For this example we’ll use Dollop.\ -**** - -![](<../../.gitbook/assets/image (163).png>) - -3\. Click **Approve**, then confirm the action in your wallet. Once it's approved, click **Confirm**. - -![](<../../.gitbook/assets/image (165).png>) - -****\ -**** - -![](<../../.gitbook/assets/image (166) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png>) - -4\. A new page will load saying “Choose collectible”. We’ll pick our Dollop we chose earlier. If you already own multiple NFTs you can choose one from a list of NFTs you own. - -If you face Oops! error, please check [troubleshooting](https://docs.pancakeswap.finance/help/troubleshooting#oops-we-couldnt-find-any-pancake-collectibles-in-your-wallet). - -![](<../../.gitbook/assets/image (169).png>) - -5\. Click **Enable**, then confirm the action in your wallet. Once it's approved, click **Next Step**.\ -**** - -![](<../../.gitbook/assets/image (170).png>) - -![](<../../.gitbook/assets/image (171).png>) - -6\. On the next page you will be asked to join a team. Joining a team lets you compete in special events to earn special, limited rewards! Choose a team under “Join a Team”. For this example we will choose Syrup Storm. - -7\. Click the **Next Step** button.\ -**** - -![](<../../.gitbook/assets/image (173).png>) - -8\. Next we will set our profile name. Type your name into the “Enter your name…” field. - -![](<../../.gitbook/assets/image (174).png>) - -If you face "username keeps spinning" issue, please check [troubleshooting](https://docs.pancakeswap.finance/help/troubleshooting#checking-username-keeps-spinning). - -9\. Read the warning in red, and click the “I understand…” checkbox. - -![](<../../.gitbook/assets/image (175).png>) - -10\. Click the **Confirm** button, then confirm the action in your wallet. Once it's confirmed, click the **Complete Profile** button. - -![](<../../.gitbook/assets/image (176).png>) - -11\. You’ll receive a message saying your profile contract will cost you 0.5 CAKE. Click **Enable,** then confirm the action in your wallet. After it's approved, click the **Confirm** button. - -![](<../../.gitbook/assets/image (178).png>) - -![](<../../.gitbook/assets/image (179).png>) - -12\. After a short wait your new profile will appear. Looking good!\ -**** - -![](<../../.gitbook/assets/image (180).png>) - -You may notice your name is starred out. To view your name, click the **👁** eye icon to the right of the stars, then you should now see your profile name. - -Congratulations! You now have your profile set up. Now anyone can view your profile to see your profile NFT picture, your team of choice, and your PancakeSwap achievements. You're also ready to participate in any special team events when they happen! diff --git a/products/nft-profile-system/teams.md b/products/nft-profile-system/teams.md deleted file mode 100644 index 04a9793b..00000000 --- a/products/nft-profile-system/teams.md +++ /dev/null @@ -1,7 +0,0 @@ -# Teams - -![](../../.gitbook/assets/teams-header.png) - -Being part of a team lets you join in on team events and earn CAKE and unique rewards such as NFTs and achievements. - -You can choose your team as part of the Profile setup process. diff --git a/products/pancakeswap-exchange/README.md b/products/pancakeswap-exchange/README.md deleted file mode 100644 index c26cfbd6..00000000 --- a/products/pancakeswap-exchange/README.md +++ /dev/null @@ -1,25 +0,0 @@ -# 🔄 Exchange - -![](../../.gitbook/assets/pancakeswap-exchange-header.png) - -PancakeSwap is an Automated Market Maker (AMM), and the Exchange is at the heart of PancakeSwap. PancakeSwap is the leading AMM on the BNB Smart Chain, and as statistics tell, the most popular Decentralized Exchange (DEX) ever! - -The PancakeSwap Exchange offers several features that support decentralized trading: - -### Swapping/Trading - -PancakeSwap lets users trade without the need to go through a Centralized Exchange. Everything you do on PancakeSwap is routed directly through your own wallet—no need to trust someone else with your coins! - -### Liquidity Pools - -You can only swap tokens on PancakeSwap if there is enough liquidity for those tokens. If nobody has added much liquidity for the token or tokens you want to swap, it will be difficult, expensive, or impossible to do so. - -Providing liquidity will get you LP Tokens, which will earn you rewards in the form of trading fees for making sure there's always liquidity for the exchange to use. - -### Yield Farming - -Yield farming lets users that are providing liquidity earn CAKE rewards by locking their LP tokens into a smart contract. The incentive is to balance out the risk of [impermanent loss](https://academy.binance.com/en/articles/impermanent-loss-explained) that comes along with locking in your liquidity. - -### Initial Farm Offerings (IFOs) - -An Initial Farm Offering is an event that lets users buy into a limited-time offer to purchase new tokens. The IFO price is usually very generous. diff --git a/products/pancakeswap-exchange/limit-orders/README.md b/products/pancakeswap-exchange/limit-orders/README.md deleted file mode 100644 index 69b5eb20..00000000 --- a/products/pancakeswap-exchange/limit-orders/README.md +++ /dev/null @@ -1,5 +0,0 @@ -# 📝Limit Orders - -![](../../../.gitbook/assets/limit\_orders\_header.png) - -Limit orders allow you to get your swaps at desired prices by leaving instructions to fill buy or sell orders at specific prices. The trade will only be executed if the price on PancakeSwap reaches your limit price (or better). diff --git a/products/pancakeswap-exchange/limit-orders/limit-orders-faq.md b/products/pancakeswap-exchange/limit-orders/limit-orders-faq.md deleted file mode 100644 index 7d18da69..00000000 --- a/products/pancakeswap-exchange/limit-orders/limit-orders-faq.md +++ /dev/null @@ -1,47 +0,0 @@ -# Limit Orders FAQ - -{% hint style="info" %} -Use the sidebar to quickly find the answers to your questions! -{% endhint %} - -## General Questions - -### Why was my order not executed? - -Limit orders are executed when they reach their desired price, however, due to gas fluctuations, the actual execution price might vary from the price you specified on the interface. Usually, the execution price and the desired price should be almost identical, however, if you submitted a particularly small order (\~<1000$) the execution price might be slightly higher to account for fees. - -Therefore your order may not be executed because: - -* It wasn’t possible to fill the whole order at the desired price and amount due to price impact. -* One of the tokens in the limit order has fee on transfer (see below). - -**Before submitting an order, please consult the UI denoting the real execution price.** - -{% hint style="info" %} -Please note: the order history table gets the data from Subgraph and can show slightly delayed information. -{% endhint %} - -### Can I submit a limit order for tokens with fee on transfer? - -**No.** The tokens with a fee on transfer should not be used with limit orders. Proceed at your own risk. - -### How do I set slippage while using limit orders? - -Slippage is not relevant in limit orders. You specify input amount (e.g. 1000 CAKE) and output amount (e.g. 20 BNB), Limit orders guarantee that you will receive no less than the specified output amount (20 BNB) for your input amount (1000 CAKE) if the price for the pair reaches the desired price. **Note that tokens with fee on transfer should not be used with limit orders** (read above) - -### The real execution price shows "never executes". What's this? - -It basically means that you're trying to swap a very small amount of tokens therefore there are not enough tokens to be accounted for the gas fee. In general, you need to increase the amount of the "input" field to get rid of this error. - -### Is there an expiration date for my limit orders? - -Open orders will remain open indefinitely until they get executed or being cancelled by users. A customizable expiration date feature is planned for the near future. - -### Why can’t I create limit orders below the market price? - -To sell below market price, you need **Stop Limit Orders**, not limit orders. Stop Limit Orders feature is coming soon. - -### I made an order and it is not shown in the order table or stuck at “pending” status. - -The order history comes from the subgraph and therefore might show slightly delayed information. Usually, delays are no longer than a couple of minutes at worst. Please refer to the subgraph indicator at the bottom right corner of the order history table. - diff --git a/products/pancakeswap-exchange/liquidity-guide.md b/products/pancakeswap-exchange/liquidity-guide.md deleted file mode 100644 index 6fabe4bf..00000000 --- a/products/pancakeswap-exchange/liquidity-guide.md +++ /dev/null @@ -1,88 +0,0 @@ -# How to Add/Remove Liquidity - -![](../../.gitbook/assets/how-to-add-remove-liquidity-header.png) - -"Liquidity" is central to how PancakeSwap's Exchange works. You can add liquidity for any token pair by staking both through the Liquidity page. - -In return for adding liquidity, you'll receive trading fees for that pair, and receive LP Tokens you can stake in [Farms](https://pancakeswap.finance/farms) to earn CAKE rewards! - -### **Adding liquidity** - -To provide liquidity, you’ll need to commit an amount of any token pair you like. Your lowest value (in USD) of the two tokens will be the limit to the liquidity you can provide. - -You can easily trade for any tokens you need. Visit our [How to Trade on PancakeSwap](https://docs.pancakeswap.finance/get-started/trade-guide) guide if you need to. - -In this example, we will add liquidity using BNB and CAKE.\ -**** - -1\. Visit the [Liquidity page](https://exchange.pancakeswap.finance/#/pool). - -![](../../.gitbook/assets/Add\_Remove\_LP\_01.png) - -2\. Click the **Add Liquidity** button. - -![](../../.gitbook/assets/Add\_Remove\_LP\_02.png) - -3\. For the top Input, click 'Select a currency'. Then choose one of the token in the liquidity pair you want to add liquidity to. Here, we are gong to use BNB as an example. - -![](../../.gitbook/assets/Add\_Remove\_LP\_03.png) - -4\. For the bottom input, click ‘Select a currency’. And choose the other token in the liquidity pair you want to add liquidity to. Here, we are gong to use CAKE as an example. - -![](../../.gitbook/assets/Add\_Remove\_LP\_04.png) - -5\. Enter an amount on one of the tokens under “Input”. The other should be calculated and filled automatically. - -![](../../.gitbook/assets/Add\_Remove\_LP\_05.png) - -(If one of the token does not have enough balance. You will see an error and the button being greyed out. Please enter a lower amount to proceed.) - -![](../../.gitbook/assets/Add\_Remove\_LP\_06.png) - -6\. Click the **Enable CAKE** button. If you are adding liquidity against tokens other than BNB, you might need to click enable twice for each token in your pair. Your wallet will ask you to confirm the action. - -![](../../.gitbook/assets/Add\_Remove\_LP\_07.png) - -7\. The **Supply** button will then light up. Click to proceed. - -![](../../.gitbook/assets/Add\_Remove\_LP\_08.png) - -8\. Your wallet will ask you for confirmation. Confirm your transaction from your wallet. - -![](../../.gitbook/assets/Add\_Remove\_LP\_09.png) - -9\. Soon after, you will see your LP Token balance at the bottom of the page. - -You can repeat the above steps to add more liquidity, or add liquidity to different pairs. - -### **Removing liquidity** - -To remove liquidity. - -1\. Visit the [Liquidity page](https://exchange.pancakeswap.finance/#/pool)**.** - -2\. Click on the pair you want to remove liquidity from under “Your Liquidity". - -![](../../.gitbook/assets/Add\_Remove\_LP\_10.png) - -3\. Click **Remove**. A new modal will appear. - -![](../../.gitbook/assets/Add\_Remove\_LP\_11.png) - -4\. Use the buttons or slider to choose how much liquidity you want to remove. Choose **MAX** to remove all of your liquidity from this pair. - -![](../../.gitbook/assets/Add\_Remove\_LP\_12.png) - -5\. Click **Enable**. Your wallet will ask you to sign the action**.** - -![](../../.gitbook/assets/Add\_Remove\_LP\_13.png) - -6\. The **Remove** button will light up. Click to proceed. - -![](../../.gitbook/assets/Add\_Remove\_LP\_14.png) - -7\. A window will appear showing how much token you will receive. Click **Confirm**. Your wallet will ask you to confirm the action. - -![](<../../.gitbook/assets/Add\_Remove\_LP\_15 (1).png>) - -8\. After the transaction is confirmed. You will receive two of the tokens from your pair. And if you haven't remove all of your liquidity, your remaining liquidity value will be updated on "My Liquidity" page.\ diff --git a/products/pancakeswap-exchange/pancakeswap-pools.md b/products/pancakeswap-exchange/pancakeswap-pools.md deleted file mode 100644 index cf2913e8..00000000 --- a/products/pancakeswap-exchange/pancakeswap-pools.md +++ /dev/null @@ -1,39 +0,0 @@ -# Liquidity Pools - -![](../../.gitbook/assets/liquidity-header.png) - -When you add your token to a Liquidity Pool you will receive Liquidity Provider (LP) tokens and share in the fees. - -## LP Tokens - -As an example, if you deposited **CAKE** and **BNB** into a Liquidity Pool, you'd receive **CAKE-BNB LP** tokens. - -The number of LP tokens you receive represents your portion of the CAKE-BNB Liquidity Pool. - -You can also redeem your funds at any time by removing your liquidity. - -![](../../.gitbook/assets/screenshot-2021-04-19-at-6.27.22-pm.png) - -## Liquidity Providers earn trading fees - -Providing liquidity gives you a reward in the form of trading fees when people use your liquidity pool. - -Whenever someone trades on PancakeSwap, the trader pays a 0.25% fee, **of which 0.17%** is added to the Liquidity Pool of the swap pair they traded on. - -For example: - -* There are 10 LP tokens representing 10 CAKE and 10 BNB tokens. -* 1 LP token = 1 CAKE + 1 BNB -* Someone trades 10 CAKE for 10 BNB. -* Someone else trades 10 BNB for 10 CAKE. -* The CAKE/BNB liquidity pool now has 10.017 CAKE and 10.017 BNB. -* Each LP token is now worth 1.00017 CAKE + 1.00017 BNB. - -To make being a liquidity provider even more worth your while, you can also put your LP tokens to work whipping up some fresh yield on the [CAKE Farms](https://pancakeswap.finance/farms), while still earning your 0.17% trading fee reward. - -## Impermanent Loss - -Providing liquidity is not without risk, as you may be exposed to impermanent loss. - -\ -[“Simply put, impermanent loss is the difference between holding tokens in an AMM and holding them in your wallet.” - Nate Hindman](https://blog.bancor.network/beginners-guide-to-getting-rekt-by-impermanent-loss-7c9510cb2f22) diff --git a/products/pancakeswap-exchange/perpetual-trading/README.md b/products/pancakeswap-exchange/perpetual-trading/README.md deleted file mode 100644 index 22a25e08..00000000 --- a/products/pancakeswap-exchange/perpetual-trading/README.md +++ /dev/null @@ -1,7 +0,0 @@ -# Perpetual Trading - -![](../../../.gitbook/assets/1\_c\_lNyENIc\_iE3Z1Hrr8Hag.png) - -The bunnies have rubbed their paws and worked very hard in conjunction with ApolloX to bring this new feature to PancakeSwap. Trade your favorite pairs in a decentralized way on the site! Without intermediaries, easy, fast, safe and within reach of your legs, well, hands. - -Oh, and before we forget, this new feature helps the weekly burning of CAKE 🔥 diff --git a/products/pancakeswap-exchange/perpetual-trading/how-can-i-use-it.md b/products/pancakeswap-exchange/perpetual-trading/how-can-i-use-it.md deleted file mode 100644 index d87066c1..00000000 --- a/products/pancakeswap-exchange/perpetual-trading/how-can-i-use-it.md +++ /dev/null @@ -1,114 +0,0 @@ -# How can I use it? - -![](../../../.gitbook/assets/how-to-pancakeswap-without-cex-header.png) - -Using this functionality is really easy (the difficult thing is to trade well). We will only have to follow a series of steps so that our experience is complete - -### Go to Perpetual Trading page - -You can enter from the [site](https://pancakeswap.finance), in the Trade → Perpetual section, or through this [link ](https://perp.pancakeswap.finance/en/futures/BTCUSDT) - -### Deposit funds - -You need to deposit funds into the Futures account first, in the box on the bottom right of the screen - -![](https://lh6.googleusercontent.com/cz-OoCaRg3AfqTcETGTQVvsX\_gfbm28fNJrUAxcljM823Bw1etFN3gArU5v8HljjzJU-lE3aV\_5ENUySwioNYo\_cQp\_\_KwzEwo60ABmuWsqAzT5nM-nUse3ROcMdj2FhUChgsdGo) - -USDT, BUSD, APX or CAKE (with bonus!) can be used as collateral to pay for the trade. - -![](https://lh6.googleusercontent.com/3tFEo\_gYD7r41o7RCFnd61NiEzJkqGc5uiZP3tRzEomAI805HPikW6tEDBzbyxK-kL5hptEqCIXax2wgASbbHcuN8FpKT4-hK6bFmkNyxmXJ2QIQxZRr38VTA\_qg9HKmEbN2kNev) - -As mentioned, using CAKE for fees gives you a 5% discount! So, why not? - -![](https://lh3.googleusercontent.com/UiwXc1dgPqm07Ai0XKGuYAHLDbENm51\_v93vMwHkUdb2HI-Hm5qEI2gbEVtzboatzv0-E9iesik8NF3ON74QXaXaW5jLcOJ5JjegI-8oMiidUf-MiZHjvvxnmd1HTfdnFrNgF8cG) - -> Note: The trading fees are 0.02% of the notional value for makers and 0.07% for the taker. CAKE will be the default payment option for trading fees, followed by APX (ApolloX’s token) and USDT. Any users who are paying the trading fees in CAKE will enjoy a 5% discount on trading fees. - -### Choose the pair to trade - -You can select a tradable pair by clicking on the arrow next to the pair, at the top of the page. - -![](https://lh4.googleusercontent.com/OtHWwOgKp13zb-f-lVkgYShNPYD05B5hYrZIKasq2H-ev-05P1s4cYedXIwt4xsuGU2\_\_7O7JwLwy66ERraUl2edkSmQSiaXcU5ilVXpTs39D-xiHB7q4p1q8NA7lpjCWuVe3E2z) - -More tradable pairs will come soon! - -![](https://lh5.googleusercontent.com/yqnCEMigm39LpeG2tPHzXjgZOH08Je3Hhyj0tUxnqjFD2xBqwImoo4xMwjabnNWd0rXtyVcgBj5y4QuNod4QD0js4x-75S9VjsaF1LaLPbiL5G4c2KZUN9Aclqj3cf4EdUGg08Ia) - -### Analyze the chart and decide your trading strategy - - It’s trading time!! Let’s get serious. You can analyze the chart your way, with all the tools available - -![](https://lh4.googleusercontent.com/\_xJvQoCSOdq6AqB-KEMiAYtXwUp\_ZS3DwNcC-x0jzNnBWTDLdKhRXwREPGwhC7fyirLJ10iKnhUPey-v1EkFDynQmqgNGuySYTpPmDx0A2bl7Pk0uZ8fBEGFPfBuwXBcWcIG2JFO) - -**Do you know how to do it or do you want to improve in your analysis?** - -Here is a guide to get started in the world of chart analysis: - -* [How to Use TradingView on Binance Website](https://www.binance.com/en/support/faq/8419126024404348a1c6e4039fbed3fe) -* [Candlestick charts](https://academy.binance.com/en/articles/a-beginners-guide-to-candlestick-charts) -* [Trend Lines Explained](https://academy.binance.com/en/articles/trend-lines-explained) - - - -### Make your position - -Then, in the upper right part you have the board to position your order. - -![](https://lh3.googleusercontent.com/rQXCNgMoR4OzR\_wXu92Mtgb22O7rAnOlrP0pL0VpXnurfrekOG0HwzUOBWQV-PtMinA1s8lo6KmtT78h3pGmTOF-ajO-G3EDg9CK56q-cPZNLUWJanE9-mEjOhJ4rWncb35PZEfq) - -Here you must set several parameters, like: - -_Not in an specific order_ - -1. The Margin Mode: Cross or Isolated - -![](https://lh4.googleusercontent.com/tplKHXPvrTQXPkNL9BSjVsIBAqfVDWyfh0mU0HDYDRXf4KRUEyu5xzDivGkzfw7JNsEUpQWXvPt8q1Wn26yeX21-DrhhwMTtMpFvFLyTKUxSOteAugTrlTgwvKro0zOluqFmELJQ) - - 2\. The x of the leverage - -![](https://lh5.googleusercontent.com/ikaG0tpWYcynBZbEOmoR1XLYZzaFXwHwD6MCrlqDCLGDOa3LA1KQh4Gp8uv\_BAPNo8z3r1bLe\_DzEGjNyI22ja\_oIOF9A4vfdLEpsoAxcKj5rboH9Ip2eLkBZUfBPZJpXwL\_KJ0s) - -Disclaimer: Remember that a high level of leverage carries a very high risk, use it wisely. - - __ 3. Type or Order - -![](https://lh3.googleusercontent.com/If2SXl-FUCTuy0eNJkmF0ONspdYPeIWFBXvyLkH6Hc0B1CwAzd9EP5rMQGSjr23hK9sDDUmL0rSN9R28AL9\_-x\_f0jsFdfrn7WFOjEcqfPaxerPjGSq1iIpxz6tcN\_A839ASRF3B) - - 4\. Place a price for your order. - -![](https://lh4.googleusercontent.com/J8rbXc\_DhROHaZRoVCBELwIIraVg\_uL2V-8bn2Ci2sm80jEmbS6q4CMuJ-Njv3Dx2L\_OeoS-PTh-haPuW4uYsKIxQdWQdFttyFrTPFHp19u1nVz\_V0MM6QsQdmKiyUD-imRSryU1) - -Note: You can use “Last” to fill in with the current last price. - - 5\. Set the order’s size - -![](https://lh5.googleusercontent.com/OBtTNov5\_h4-yWaOl17W8yZt2hnThsSiTF\_ydyJdlrDEOi2mZAHRoIik0-9-bzGRFfbBAJ3QvzC7x4G65fHjrKeLAYNMsvTszr\_7N8GIRdBV8P23FtD3eteEt-u3HPWutUWpFwu0) - -You can also choose the reference currency to see your position - - - -> Note: there are a few more options to consider, but you can see that within the [trading glossary](https://app.gitbook.com/o/-MHRKTpKSfYQBsO7YgOo/s/-MHREX7DHcljbY5IkjgJ-1972196547/\~/changes/kV67VeywrXQ7vYfX5se0/products/pancakeswap-exchange/perpetual-trading/glossary) \ -> - - - -### Send your order - -When all the parameters have been set, you can send the order by clicking on long, if it is a long order, or short, if it is a short order. - -![](<../../../.gitbook/assets/image (59) (2).png>) - -### Checking your position - -Once the order has been sent, it will appear in "Open Orders" until it is filled out. - -![](https://lh6.googleusercontent.com/dIGg0mdxTNk7N3v3RI2eQ\_CUmktxBiOQ-mDVQb\_aBKPQuFYNIuOdTL55KLSjFPfxZp4DwrbfImykOPaWJl35iljOA8gv7nqgXYWGtgpFdLzxSebqjOy2KzIS7oqFAhwNd3cz2wRK) - -### Live! - -When it is filled, your position will be live. You can see it in the positions panel. Also you can view, edit, or close it. - -![](https://lh4.googleusercontent.com/Bx9Ri4\_\_6BG1Z1mVcIJh42xpyP-H6ijFv7iI9JxAlHvZkYs2lxnSQm8fQjXZ7TGjCHwf7DmNuSFdb0dtw60R5Duy0VO\_\_GvSaKwFzzgt9ovbfm9j-U93r5mLlxKZzF6r4VfZQHjz) - -Good luck with your trades! diff --git a/products/pancakeswap-exchange/perpetual-trading/perpetual-trading-faq.md b/products/pancakeswap-exchange/perpetual-trading/perpetual-trading-faq.md deleted file mode 100644 index a1e5d32e..00000000 --- a/products/pancakeswap-exchange/perpetual-trading/perpetual-trading-faq.md +++ /dev/null @@ -1,37 +0,0 @@ -# Perpetual Trading FAQ - -![](../../../.gitbook/assets/general-faq-header.png) - -### What is the value contribution of this new feature to the cake holders? - -We expect this new feature to bring in a lot of new users, traders and volume. We want to ensure the value goes back to our CAKE token on top of offering the trading fee discount. 20% of all trading fees from users who sign up on PancakeSwap will be converted to CAKE and burnt. - -**And the rest of it?** - -The rest are currently reserved for the treasury for ongoing expansion and development of this feature, as well as for an insurance fund for unexpected market events. As the feature matures, we expect to increase the burn portion gradually based on community feedback and governance. - -### I can’t see my funds! What happened? - -Remember that you must first deposit your funds into the Futures account! - -### Are there deposit limits? - -| Assets | Limit | Margin Value | -| ------ | --------- | ------------ | -| USDT | No Limit | 99.99% | -| BUSD | No Limit | 100% | -| CAKE | 5000 CAKE | 90% | - -### I've deposited funds and still can't see them! What happened? - -ApolloX is providing the [support ticket system](https://apolloxbroker.zendesk.com/hc/en-us/requests/new) for our perpetual's market! If this is happening to you, click on the headset icon in the top right of the perpetuals page to place a ticket! - -![](../../../.gitbook/assets/ApolloXSupportTicket\_Fix.png) - -### How does ApolloX determine which user is from PCS and which user is from their own website? - -Based on first time if the address was signed up at PCS' domain or APX's domain, if the wallet address has already signed up with ApolloX, it's treated as APX's users for revenue sharing calc purposes - -### Are we gonna switch to showing only PCS’s volume on the frontend on the PCS’s version? - -The frontend is the combined volume since the liquidity is combined and it shows the deep liquidity which also brings the tight spread diff --git a/products/pancakeswap-exchange/perpetual-trading/perpetuals-glossary.md b/products/pancakeswap-exchange/perpetual-trading/perpetuals-glossary.md deleted file mode 100644 index e76ff57d..00000000 --- a/products/pancakeswap-exchange/perpetual-trading/perpetuals-glossary.md +++ /dev/null @@ -1,87 +0,0 @@ -# Glossary - -**Here you will find defined all the terms inherent in futures trading** - -### **Perpetual Trading** - - Perpetuals, perpetual swaps, or perps are a special type of futures contract without an expiration date. - - - -### **Leverage** - -Leverage is a trading mechanism. Traders can use it to increase their exposure to the market by allowing them to pay less than the full amount of the investment. In simple words, you borrow money to leverage your investment. - -![](https://lh5.googleusercontent.com/S4CpgIaapprJpet3GI9UvkGA2Vncl6ywSA8848SLOG5M73v2ILcSunlPMOxpWg9UJmKui4Vb6BDQcUugWP1aYMAVl9\_QPioIxT9sFRuY-EEtuSXgCn\_D8Muwqh60PFr3EcEu3kkH) - -### **Margin** - -is the guarantee you put for your leveraged positions. It has two Modes to use it: - -* Cross Margin Mode: All cross positions under the same margin asset share the same asset cross margin balance. In the event of liquidation, your assets full margin balance along with any remaining open positions under the asset may be forfeited. -* Isolated Margin Mode: Manage your risk on individual positions by restricting the amount of margin allocated to each. If the margin ratio of a position reached 100%, the position will be liquidated. Margin can be added or removed to positions using this mode. - -![](https://lh3.googleusercontent.com/zVEa2C\_uhxdfB83PnT0jPQ3lbs5hJ8IY4cOe5KgxOiypTxV0CC1mXHouC9EhR2ukRmnMIXzk71JkEwPLmXAeK0RuP0xDsqX7c6P-X-7bPdqN3Xrfzxhub2wV55\_ZKRNTy8WoCpUs) - -**Margin Ratio**: Margin Ratio = Maintenance Margin / Margin Balance. Your positions will be liquidated once Margin Ratio reaches 100%. - -**Maintenance Ratio**: The minimum amount of margin balance required to keep your open positions. - -**Margin Balance** = Wallet Balance + Unrealized PNL. Your positions will be liquidated once Margin Balance <= Maintenance Margin. - -![](https://lh6.googleusercontent.com/BGaNOmsOkew\_Cf9f6zcP2bW4Die0-uZnoui7QVYY24oDFtQkgIB5Vq1dLo7XgkA3LKyisoK-5Cs0uSN7fl19aa9nvDDAzWCVdgnJ3xNGHkDchaJMQf1G0gvXmDDvR2DvAih1D7tS) - -### Assets: - -**Deposit**: Deposit your funds into your futures account - -**Withdraw**: Withdraw your funds from your futures account to your wallet - -**Balance**: Wallet Balance = Total Net Transfer + Total Realized Profit + Total Net Funding Fee - Total Commission. - -**Unrealized PNL**: Unrealized profit and loss on this position calculated based on Mark Price, and return on equity percentage. - -**Modes:** - -* Single Asset Mode: Supports USDⓈ-M Futures trading by only using the single margin asset of the symbol. PNL of the same margin asset positions can be offset. Supports Cross Margin Mode and Isolated Margin Mode. -* Multi-Assets Mode: USDⓈ-M Futures trading across multiple margin assets. PNL can be offset among the different margin asset positions. Only supports Cross Margin Mode. - -{% hint style="info" %} -Note: If there are open positions or open orders in USDⓈ-M Futures, Multi-Assets Mode cannot be activated. Multi-Assets Mode only applies to USDⓈ-M Futures. Before activating Multi-Assets Mode, please read the guide in detail to better manage USDⓈ-M Futures account risk accordingly when using Multi-Assets Mode.\ - -{% endhint %} - -![](https://lh3.googleusercontent.com/iupB9UR3QMDCEO5RwjfMpqKZaQtoT53G0Sa\_cYH9Neui8ttgqeFybtqOSIncZD74-4p3O-sQd6Lis2QKxGBsdgDmgutRaTUw1qKpjT-UXbpdKo-\_3KzjAl3f8VSGyoLrtudoUqBr) - -### Orders - -**Buy/Long:** Open a Long order. In this order you purchase an asset and wait to sell when the price goes up. "Buy" and "long" are used interchangeably. - -**Sell/Short:** Open a Short order. In this order, you borrow an asset, sell it, and hope to buy it back when the price goes down. "Sell" and "short" are used interchangeably. - -**Limit Order:** A limit order is an order to buy or sell at a specific price or better. Limit orders are not guaranteed to execute. - -**Market Order:** A market order is an order to buy or sell at the best available current price. It is executed against the limit orders that were previously placed on the order book. When placing a market order, you will pay fees as a market taker. - -**Stop Limit Order:** The easiest way to understand a stop-limit order is to break it down into stop price, and limit price. The stop price is simply the price that triggers the limit order, and the limit price is the price of the limit order that is triggered. This means that once your stop price has been reached, your limit order will be immediately placed on the order book. - -**Stop Market Order:** Similar to a stop-limit order, a stop market order uses a stop price as a trigger. However, when the stop price is reached, it triggers a market order instead. - -**Trailing Stop:** A trailing stop is an order type designed to lock in profits or limit losses as a trade moves favorably. Trailing stops only move if the price moves favorably. Once it moves to lock in a profit or reduce a loss, it does not move back in the other direction. - -**Post Only:** Post-only Mode means that Traders can only place an Order if it would be posted to the Order Book as a Maker Order. An Order which would be posted as a Taker Order will be rejected. No Market Orders may be placed and no Orders will be filled. Resting orders may be canceled in post-only mode. - -![](https://lh6.googleusercontent.com/uV8UuuqGxCwGmu9jxuL2Gf\_Nt8QwkYoYCfJinEfINffyr6QjV03tZVXA46GnIxY-XKSxcrAPtrtD8JZYBHSc4ILmLd8Rm6LqHmVdSAgMK8m-4WOdt3FsnPO2MD32EG9j3ym\_aSz\_) - -**Reduce Only:** Reduce-Only order will only reduce your position, not increase it. - -![](https://lh3.googleusercontent.com/HlbLU90VSn76W1xHVgSBoke83uQpAPFzl2JBME\_Dn2mElSDAYSbA51GRx2cOaAqxBe6wH02MbJxmwjrLuLoSx7Ei4AwzrnmqFjy4VEG5aUrYas7oFKVQ0CGNuiIAXjD1CdPaQurO) - -**TIF instructions** allow you to specify the amount of time that your orders will remain active before they are executed or expired. You can select one of these options for TIF instructions: - -![](https://lh6.googleusercontent.com/-QaqTJU0jCsjznhULix7i2ThVM7\_u7IP5a0i42TYhImt8xPLODjYCjLL5JNbRXrIDsgJRxIIGoYD8Tlq5gSdCjkAyMDat53r5WNTepB93\_7bq7gDmyg1-jyblSQ8eANv\_fH9bvJ-) - -* **GTC** (Good Till Cancel): The order will remain active until it is either filled or canceled. -* **IOC** (Immediate Or Cancel): The order will execute immediately (either fully or partially). If it is only partially executed, the unfilled portion of the order will be canceled. -* **FOK** (Fill Or Kill): The order must be fully filled immediately. If not, it won’t be executed at all. - diff --git a/products/pancakeswap-exchange/perpetual-trading/what-is-perpetual-trading.md b/products/pancakeswap-exchange/perpetual-trading/what-is-perpetual-trading.md deleted file mode 100644 index 2d714d06..00000000 --- a/products/pancakeswap-exchange/perpetual-trading/what-is-perpetual-trading.md +++ /dev/null @@ -1,17 +0,0 @@ -# What is Perpetual Trading? - -Perpetuals, perpetual swaps, or perps are a special type of futures contract without an expiration date. - -Futures trading allows users to enter positions on margin (leverage) using borrowed funds to optimize capital. Using leverage allows for a user to enter a position with a larger size than their account balance. For example, a user could take 10x leverage and trade 100 CAKE for the price of 10 CAKE. In this example, the initial margin would be 10 CAKE which is used to collateralize the leveraged position. . - -In addition to leverage, futures open the possibility of trading in both directions, buying (long) and selling (short) perpetuals.. Additionally, itallows PancakeSwap to offer more assets to trade even assets not currently on BNB Smart Chain (BSC). Perpetual contracts don’t expire and allow the holder to enjoy trading price action of the underlying asset without owning it.\ - - -For more general information on Perpetual Futures Contracts, please see [our Medium Article](https://medium.com/pancakeswap/launching-perpetual-trading-on-pancakeswap-a-partnership-with-apollox-b3670d4e19d4) - - - -{% hint style="info" %} -Note: In this tutorial we will explain how to use the Perpetual Trading interface in PancakeSwap. We assume that you understand what futures trading is about and know the associated risk. We recommend studying and understanding well about futures before making any trade. -{% endhint %} - diff --git a/products/pancakeswap-exchange/trade-guide.md b/products/pancakeswap-exchange/trade-guide.md deleted file mode 100644 index 52ed4e94..00000000 --- a/products/pancakeswap-exchange/trade-guide.md +++ /dev/null @@ -1,65 +0,0 @@ -# How to Trade - -![](../../.gitbook/assets/how-to-trade-on-pancakeswap-header.png) - -Trading on PancakeSwap is very easy compared to most exchanges. You aren't going to be overwhelmed by charts or jargon, and calculations are all handled for you. - -### Getting set up to trade - -Before you can trade, you will need a BNB Smart Chain-compatible wallet. You can learn how to get one [here](https://docs.pancakeswap.finance/get-started/wallet-guide). You will also need to have some BEP20 tokens to trade with. You can learn how to get some [here](https://docs.pancakeswap.finance/get-started/bep20-guide). - -### Trading on the PancakeSwap exchange - -1\. Go to the exchange page [here](https://exchange.pancakeswap.finance/#/swap). - -2\. Unlock your BNB Smart Chain-compatible wallet by clicking **Unlock Wallet** (you can also **Connect** in the top right-hand corner). If you haven't yet connected your wallet to PancakeSwap, you can view the guide to [here](https://docs.pancakeswap.finance/get-started/connection-guide). - -![](<../../.gitbook/assets/image (12).png>) - -3\. Choose the token you want to trade from the dropdown menu in the "From" section. The default setting is BNB. - -![](<../../.gitbook/assets/image (13).png>) - -Whichever token you choose, you will need to make sure you have some to trade with. Your balance is shown above the token dropdown menu. - -4\. Choose the token you want to trade to in the "To" section as above. Next, type an amount for your "To" currency by clicking inside the input box. - -![](<../../.gitbook/assets/image (14).png>) - -Your "From" currency amount will be estimated automatically. You can also type your "From" amount and have the "To" amount estimate automatically if you like. - -5\. Check the details, and click the **Swap** button. - -![](<../../.gitbook/assets/image (15).png>) - -6\. A window with more details will appear. Check the details are correct. - -![](<../../.gitbook/assets/image (16).png>) - -When you are ready, click the **Confirm Swap** button. Your wallet will ask you to confirm the action. - -7\. Done! You can click **View on BscScan** to see your transaction details on the explorer. - -![](<../../.gitbook/assets/image (17).png>) - -## How come my transaction won't go through? - -PancakeSwap is a DeFi application such that it interacts with the wallet to complete on-chain transactions for swapping, creating LPs, staking in farms and pools, etc. - -### Gas Fees - -As such, the first thing is to **make sure you have enough BNB to pay for the gas fee** of the on-chain transactions. Typically, gas fee fluctuates depending on the number of transactions in the queue, if there are more transactions, a higher gas fee may be required to push through the transaction. On BNB Smart Chain, the gas fee typically ranges from cents to a dollar USD in BNB. Learn more about [gas fee here](https://academy.binance.com/en/glossary/gas). - -### Transaction Fees - -If your swapping action still doesn't go through and it is displaying an error for you to revise the slippage -- you may want to check if the tokens you are trying to swap has **any fees and restrictions on transactions**. - -It is not uncommon for tokens on BNB Smart Chain to include a **transaction fee** in their contracts, usually these fees could be used for burning, funding a treasury of a fair launch project -- for example, this [APX token has an 1% tax on every transaction](https://apollox-finance.gitbook.io/apollox-finance/apx-token/tax) for sending to a burn address, such that more transactions would mean more burning, accruing value to APX token holders. - -With the transaction fee, whether it is inclusive (a portion of the swap amount is sent elsewhere than your address so the output is less than expected for the estimated input) or exclusive (requiring an additional transfer from your address to send extra tokens so the input is more than expected for the estimated output), it affects the input and output amount that you agree for signing the transaction. In many cases, the transaction cannot meet the input and output requirements because of the tax. - -### Swapping with Transaction Fees - -Before you swap any tokens, make sure you have visited their website to understand if they have a transaction fee mechanism (or _tax_ as many projects put it). If there is, make sure you set a slippage that is sufficient to accommodate the transaction fee -- e.g. if there is a transaction fee of 5%, your slippage will have to be set at at least 5% plus the normal trading slippage depending on your trading amount and the token's liquidity, say 5.5%-6%. - -In some extreme cases including some scams, some tokens even have a block on most or all transfers on chain, or only allowing certain addresses to sell, in such case it is impossible to swap the token successfully. Do learn about the token you are trying to swap and be aware of any fees and restrictions! diff --git a/products/pancakeswap-exchange/trade.md b/products/pancakeswap-exchange/trade.md deleted file mode 100644 index 52067bf8..00000000 --- a/products/pancakeswap-exchange/trade.md +++ /dev/null @@ -1,15 +0,0 @@ -# Token Swaps - -![](../../.gitbook/assets/swap-trade-header.png) - -****[**Token swaps**](https://exchange.pancakeswap.finance/#/swap) on PancakeSwap are a simple way to trade one BEP-20 token for another via automated liquidity pools. - -![](../../.gitbook/assets/screenshot-2021-04-19-at-6.11.54-pm.png) - -When you make a token swap (trade) on the exchange you will pay a **0.25% trading fee**, which is broken down as follows: - -**0.17%** - Returned to Liquidity Pools in the form of a fee reward for liquidity providers. - -**0.0225%** - Sent to the PancakeSwap Treasury. - -**0.0575%** - Sent towards CAKE buyback and burn. diff --git a/products/pancakeswap-mini-program/README.md b/products/pancakeswap-mini-program/README.md deleted file mode 100644 index 316c06a5..00000000 --- a/products/pancakeswap-mini-program/README.md +++ /dev/null @@ -1,27 +0,0 @@ -# 🌐 PancakeSwap Mini-Program - -The PancakeSwap Mini-Program in the Binance application is a collaboration with Binance. The Kitchen aims to provide a seamless experience for Binance’s centralized exchange users to experience the revolution of DeFi and our decentralized exchange platform. - -## What is a Binance Mini-Program? - -The PancakeSwap Mini Program is directly accessible from the Binance mobile application for Binance users to try, experience and fall in love with our decentralized platform. Together with the Binance DeFi Wallet, users can create a wallet, transfer funds and use PancakeSwap — all within the Binance mobile application! - -![](https://lh6.googleusercontent.com/LFoWSjb-KYXpww\_tYmGu0C-t3M5RhmGkz4O46y7XGTuUnmA7fDXOxsVowcmmNjv0bYE3yZ9B0GJWqFmEJIeP1gFacxqwO4LOVxwKqxsvg2H-CS9a--pQIYdKjTiPIguZnZXdJmrny4da0z-MCY7PvHE) - -## Why is this important for PancakeSwap? - -PancakeSwap is the first DeFi project to launch a Mini-Program together with and utilizing the Binance DeFi Wallet. After PancakeSwap, other projects like Venus have also developed their Mini-Program, developing the Mini-Program ecosystem and attracting more Binance users to experience DeFi – gradually growing the ecosystem especially on BNB Smart Chain. - -PancakeSwap is currently the most popular decentralized platform (in terms of number of users) but the Kitchen is always looking for more ways to invite new users to our platform. With more users and their funds, we are able to further improve our core DeFi trading experience with deep liquidity of a wide set of assets. We will also be able to scale our other products beloved by our community. - -While most DeFi users in the market should already have heard of or used PancakeSwap, imagine the potential of newcomers to crypto onboarded by Binance and its CEX. These new users may not have the experience of creating a Web3 wallet, adding liquidity, farming, staking, trading a wide variety of assets, etc. The PancakeSwap Mini-Program provides the best avenue to invite and educate these users to the DeFi experience. - -## Future Development - -Since the first version launched in March 2022, the Kitchen has worked tirelessly with the Binance Mini-Program team to add more features, enhance the performance and user experience of it continuously. As the first large-scale Mini-Program, the team at Binance is also discovering some new infrastructure and performance issues together with us, thus upgrading their architecture. - -Before adding more features, we are focused on improving the overall performance and user experience of the Mini-Program. As well, we are working with Binance to gradually add more entrances to the Mini-Program so it can be more easily discovered by Binance users – such as within search or earn functions in the application. - -This partnership will also bring enhanced access and diversity of offerings unavailable up to this point. An example, easily envisaged, are BEP-20 assets that are not listed on Binance CEX, but will still be available to users within the Binance app with a quick search and jump to the PancakeSwap Mini Program. Imagine the value and users this will bring! - -Check out [how to use the PancakeSwap Mini-Program](https://docs.pancakeswap.finance/products/pancakeswap-mini-program/how-to-use-pancakeswap-mini-program) and [the FAQ](https://docs.pancakeswap.finance/products/pancakeswap-mini-program/mini-program-faq)! diff --git a/products/pancakeswap-mini-program/how-to-use-pancakeswap-mini-program.md b/products/pancakeswap-mini-program/how-to-use-pancakeswap-mini-program.md deleted file mode 100644 index dd50ab5a..00000000 --- a/products/pancakeswap-mini-program/how-to-use-pancakeswap-mini-program.md +++ /dev/null @@ -1,77 +0,0 @@ -# How to Use PancakeSwap Mini-Program? - -## Finding the PancakeSwap Mini-Program - -If you’re using the PancakeSwap Mini-Program for the first time, you can simply go to your Binance application and simply swipe down 👆⬇️ from the top in the homepage to find the Mini-Program Marketplace: - -![](https://lh4.googleusercontent.com/xVDtwaX2VT61jjzz0u7HlNFCKHo\_uenCUdl7o15bH3fbhW8S53u3AtUHLX-E5JjvKm8HIf\_rouRbUCRfTDIRtP50WYYb9zsDHlD3Beembt3f7L8OEkS4doq8dtaXCpVyiHSFk17eEjbEv9pMmaxLcg0) - -Once you’re in the Marketplace, you can easily find the PancakeSwap Mini-Program within the Popular list, or alternatively, you can also search for it. - -![](https://lh3.googleusercontent.com/FPdXdr0AzYOHeEyKTmBxAXuaVcUZ7Mccj5CyBeu6qJIkvjwXZXrogyiC238tYVvHOqYCCtj2T8oKQSDBzJ5idKymPsiJfEV-jdq82ehjF6UciSlhRg9XKm1eJjkwxNjrmqgnjaH1wtXuwL2Doxa-vNI) - -## Setting up in the PancakeSwap Mini-Program - -Before entering the PancakeSwap Mini-Program, there are a disclaimer from Binance as well as a user service agreement which you have to read and agree to before you can access the functions. - -After you read them, be sure to scroll to the bottom to click on “I understand” to start! - -![](https://lh5.googleusercontent.com/g1bOPrn9pnL5TTk4taiNCCUUy56U9ZTChDCB7BI5gofpZMiJLc3iLl-iLHG97WCJRigBSCdz7FQF1LqT-7qgiddVyTBIXeLDyO7B4yuT2oZKuwJUDIYwVKbwfC-q8gJvS6t2S3T4zcPCVjkvnkpZalA)![](https://lh5.googleusercontent.com/EAQ9ygC-rr\_jvn4SE2ikGi6ldBrxATY4nxbbKsvMpGJUWKN4H3Pvk0wqnaNX1u6CV33TVMXBaUg0YCK0LFl9ESpQ7SKzYK1z9CjCj2Jy6zLOPlKySx5F3VFYLUeLH5isUe\_5EBdLDH6vxpgxoQFL1gw) - -## Setting up the Binance DeFi Wallet - -If it’s your first time using the PancakeSwap Mini-Program, and probably any Mini-Program in the Binance application, you’ll likely have to set up your Binance DeFi Wallet first. - -The Binance DeFi Wallet is a non-custodial decentralized Web3 wallet within the Binance application. Currently, the wallet limits transfers only to and from the Binance CEX spot wallet — it eliminates the need to copy, paste and check the wallet address for withdrawal from Binance CEX spot wallet and depositing back into it. At least for now, no more double, triple, quadruple address checking, sweaty hands and anxiousness for new users dipping a toe into DeFi waters! - -To set it up, you can just click on Connect Wallet in the PancakeSwap homepage, alternatively, you can go to the Wallet tab in the application and click on DeFi Wallet to set it up! - -![](https://lh6.googleusercontent.com/7aiVAr\_OsJwFZc9z2GQ83vQrvAqxl6MHOIL\_cryu7m-V7lNpYcOYV-F0M30e-kloMUhgvzDoNr2w6tgBOu6ZRUVywXznaj7CwdKeKl9EoYwvcmdAMhS7Ss3-VMCC5XbzxW2O6lyMExUzYRw4PXFcnjw)![](https://lh6.googleusercontent.com/AcINKIHyDL76P2nS98B4nYvSuv6VY7uywCLh\_OzWahgX9La6tGQfEusw0CtKTd0AhR4Xwwp5syc\_\_KRMPhxeiR227d\_nv8EfZyvxLrBpK0SUn1QlngI39n9NrthkwFSYQ7Wa1UGiGm4hTeGTwTLEmLQ) - -The setup process is designed for CEX users and simplified – users can create a new DeFi Wallet with one button or to import their existing wallet with seed phrases. Once a new wallet is created, you can find the option to back up your recovery phrases, be sure to do that! - -![](https://lh4.googleusercontent.com/XLOIQ75QeM0JJ1i\_nCOhYn3fBpYR-atlh-S7f0q0lyS4UrB3wD22zdAQ9ULGz3FsWEvhPOyptx8RhMZmV4g6-mHf2mSafTxmZuIUDqarl8RUMjrXR-IKCvOND8SHdH8h6YKII1-xTg-\_gGACUDNjanI)![](https://lh3.googleusercontent.com/o03FdO3\_TDXGPihTAw6XxaYy2pBSSBUzDIBbLsx4TLXxmcNHIa92hLBikmqWTaQney24Bp8vV3w9YOpPEB2Y7srcLi5rVcjvp4g4M2quFspG0vL5h1Sbhnv6wO4JBPYNTjfBQh1V8VKWCrl21vM6DO0)![](https://lh4.googleusercontent.com/iSdbdnynUksjooLm8soSolCHTX8ZP48xBRUPMZOMiTZudvPXEHVmG-pJ-\_pJGk6xfsoHMOLI8EEibWvPH\_dH3bIjt9PGcho4kFy1\_8lycmdVgGlx7mQn3agqb2ipSral8wjv7NlCbMYgYx5OEIdcwQ0) - -Then, you can click on the transfer button in the DeFi Wallet to transfer funds from your Binance spot wallet. Please note that a transfer from the spot wallet is counted as a withdrawal on Binance’s end so there may be withdrawal fees but not gas fees. - -![](https://lh4.googleusercontent.com/u53X1V\_F7qDrLx9xLZBUUCUXKBUFhQbadVxK3RW1B6pgoKsabgFtDFYprE\_qxUtn6NTxx4j1Olls6VdutFX8f8142DQK5pn4xybTyipRZL07KOhtB\_py-9eI1Kyq2XiuWBHxrV48xp\_Fc4DuNZPDKn4) - -## Important! Make Sure there are some BNB in the DeFi Wallet - -It is very important to note that assets that have transferred from spot wallet to the DeFi wallet are now out of the Binance centralized, custodial system, hence, all transactions such as transfer, swap, staking would require BNB for the gas fees to complete the transactions on BNB Smart Chain. Without BNB in your DeFi Wallet, none of the functions in the Mini-Programs would work, so be sure to have some BNB in your DeFi Wallet! - -Once you have set up the wallet with assets in it – most importantly BNB, you’re good to try out the PancakeSwap Mini-Program! - -## Other Entrances to the Mini-Program - -There are also other entrances to our Mini-Program and we are working with the Binance team to add more! - -**1 - Marketplace favorite** – click on the three dots on the top-right corner of the Mini-Program and mark it as favorite, then next time in the Marketplace it will be at the top! - -![](https://lh4.googleusercontent.com/qJ-1UtxFnj4jm2STF8l2s-fWgIMoZPrbUmYkA\_UExUhF6l-mf6IcRVSS1e9QIYUAQr-AQ1RX4vRfq3cmdEwuZ5sqk6uN5KKmKpxm-1FpwL2mmlZVeDLzB4GxunkNyKz3FAu\_9FsHbzBHVK6q\_XkIP0c) - -**2 - DeFi Wallet** – PancakeSwap is on the landing page of the DeFi Wallet, so as you access the DeFi Wallet from the wallet tab, you can also go in from there. - -**3 - Search bar** – from the Binance application homepage, in the search bar at the top, you can search for certain tokens that are not listed by Binance yet but are included in the PancakeSwap list, from there it will direct you to the PancakeSwap Mini-Program for trading! In this example, we searched for LOOKS: - -![](https://lh3.googleusercontent.com/nsMXS-XuSBeV-vlNMuwbWBn6nG5SEVrsa-jWsKIuiPcBXgPm6-i2HkXGCGYZz3SegcA8-s7bU8zUL7dJfO5i7ovefQ8NiLZ906dn91mNIVz2XffvQjblLKSylxcCmE-pWcVBssz4UTJ9AxU3t2GUO2M)![](https://lh5.googleusercontent.com/yq8gIJxkI2TD3wDsMzKXS\_9Iwb-kz6F5xQNnpCZnEBC8M3X6NlJkCJ-xyCO4yeyDknkkqCNnW3Vg0xdJdlV\_7WBnTmZLTblV7C4rOnHd9wZPSUIk6dMOrTGc7JtakG1Zqi4UDl2uneOHNosi7k492ns) - -## Features Available in the Mini-Program - -Currently, four core features have been implemented into the Mini-Program, including: - -**1 - AMM Swap** – lets users trade without the need to go through a centralized exchange, trades are routed directly through your own wallet. Liquidity pools can be created for all assets on BNB Smart Chain, a much wider variety of tokens to trade. - -![](https://lh4.googleusercontent.com/29UK87CLSQ1mkD41fZ36Ayx7hX\_gKIxwUQgPCIeLLHo279elzP7odSw2IIAn2CSDYE3vHMgyadD-tAbzysQe3nCE8vP8H6EHGZJzHyp8EJCWsJ0rWNisELF6JnksBp8lIYpHanRT\_-jlZA-EezVQRIk) - -**2 - Liquidity Provision** – providing liquidity will get you LP Tokens, which will earn you rewards in the form of trading fees for making sure there's always liquidity for the exchange to use. - -![](https://lh6.googleusercontent.com/D0RlhpDLIEDJ9JWr6VzzxvyKvGvLo5gCSq0Ll66vfqCceLYG9YqUFL4hlt8N4yEtYV4jH0Z9HvgBgBI7oyHz2vsEgN7bcorW22osyYW\_8pEDj0kxecN16CVrnwyAKuodtc11nhkjHv4Rw8PVrWSxUqQ) - -**3 - Yield Farming** – lets users that are providing liquidity earn CAKE rewards by locking their LP tokens into a smart contract. This is to balance out the risk of impermanent loss that comes along with locking in your liquidity. - -![](https://lh5.googleusercontent.com/kQ4NsAQ9G6uHSKnbRW3eKRrO9kc1i7P3LZgSMxq72uZErIlxRZyfzVXwI8VV-tusvnjlULcHQBt0DeqBk4klrQbQ1y5jF9srbn85jNCKAp9Xj-aQgMtsX7MmRYiCHG7u8XJ7Dd7rR5PmRSYK-39gxwU) - -**4 - Syrup Pool** – Syrup Pools are the simplest way to earn free tokens on PancakeSwap. Stake CAKE, earn free tokens. It’s really that easy. - -![](https://lh4.googleusercontent.com/v-20iAeKRe6umVYydaaFszUFuj01m8wW7g4Bsl-LLq5abfyGrBRjJGFeHQP8BfG5iKPhPmTXSf-TOQDo1Tij5952B3i4VO\_vHhZoLQ3kllsD8fqsP-vIbd3BrB4eu8yB7HtedbaJP9H4-NBHWl2t\_bg) diff --git a/products/pancakeswap-mini-program/mini-program-faq.md b/products/pancakeswap-mini-program/mini-program-faq.md deleted file mode 100644 index 6f62455a..00000000 --- a/products/pancakeswap-mini-program/mini-program-faq.md +++ /dev/null @@ -1,49 +0,0 @@ -# Mini-Program FAQ - -## What are the future developments of the Mini-Program? - -Since the first version launched in March 2022, thousands of users now use it daily. As the first large-scale Mini-Program, the team at Binance is also discovering some new infrastructure and performance issues together with us, thus upgrading their architecture. Before adding more features, we are focused on improving the overall performance and user experience of the Mini-Program. As well, we are working with Binance to gradually add more entrances to the Mini-Program so it can be more easily discovered by Binance users – such as within search or earn functions in the application. - -## How will the Mini-Program help PancakeSwap? - -PancakeSwap is currently the most popular decentralized platform (in terms of number of users) but the Kitchen is always looking for more ways to invite new users to our platform. While most DeFi users in the market should already have heard of or used PancakeSwap, imagine the potential of newcomers to crypto onboarded by Binance and its CEX. These new users may not have the experience of creating a Web3 wallet, adding liquidity, farming, staking, trading a wide variety of assets, etc. The PancakeSwap Mini-Program provides the best avenue to invite and educate these users to the DeFi experience. - -## Is it controlled by Binance or PancakeSwap? - -The Mini-Program frontend is developed under Binance’s guidelines and architecture of its Mini-Program system, Binance also has the right to review and approve any content and function in the Mini-Program. However, the underlying smart contracts you interact with within the Mini-Program are the same set of smart contracts as on our web. - -## When will other features be added into the Mini-Program? - -Due to regulatory concerns, other features like Lottery, IFO, profiles are not able to be added to the Mini-Program yet. Our aim is to educate Binance’s users on the basics of DeFi first and then gradually attract them to come to our web version to experience the full suite of our features! - -## Why should I use the Mini-Program when I can use the web version with a browser wallet? - -The Mini-Program is designed as a simplified version to attract Binance users who are not familiar with DeFi – these users may not have the experience of creating a Web3 wallet, adding liquidity, farming, staking, trading a wide variety of assets, etc. For experienced users who are familiar with browser wallets and interacting with the web version of PancakeSwap, the web version offers a full suite of features. It is also our goal to educate these new users on the basics of DeFi first and then attract them to come to our web version! - -## How come my transaction won't go through? - -The Mini-Program is in fact still fully a DeFi application such that it operates the same as the web-end user interface -- it interacts with the wallet (Binance DeFi wallet in this case) to complete on-chain transactions for swapping, creating LPs, staking in farms and pools. - -### Gas Fees - -As such, the first thing is to **make sure you have enough BNB to pay for the gas fee** of the on-chain transactions. Typically, gas fee fluctuates depending on the number of transactions in the queue, if there are more transactions, a higher gas fee may be required to push through the transaction. On BNB Smart Chain on where the Mini-Program is operated, the gas fee typically ranges from cents to a dollar USD in BNB. Learn more about [gas fee here](https://academy.binance.com/en/glossary/gas). - -### Transaction Fees - -If your swapping action still doesn't go through and it is displaying an error for you to revise the slippage -- you may want to check if the tokens you are trying to swap has **any fees and restrictions on transactions**. - -It is not uncommon for tokens on BNB Smart Chain to include a **transaction fee** in their contracts, usually these fees could be used for burning, funding a treasury of a fair launch project -- for example, this [APX token has an 1% tax on every transaction](https://apollox-finance.gitbook.io/apollox-finance/apx-token/tax) for sending to a burn address, such that more transactions would mean more burning, accruing value to APX token holders. - -With the transaction fee, whether it is inclusive (a portion of the swap amount is sent elsewhere than your address so the output is less than expected for the estimated input) or exclusive (requiring an additional transfer from your address to send extra tokens so the input is more than expected for the estimated output), it affects the input and output amount that you agree for signing the transaction. In many cases, the transaction cannot meet the input and output requirements because of the tax. - -### Swapping with Transaction Fees - -Before you swap any tokens, make sure you have visited their website to understand if they have a transaction fee mechanism (or _tax_ as many projects put it). If there is, make sure you set a slippage that is sufficient to accommodate the transaction fee -- e.g. if there is a transaction fee of 5%, your slippage will have to be set at at least 5% plus the normal trading slippage depending on your trading amount and the token's liquidity, say 5.5%-6%. - -In some extreme cases including some scams, some tokens even have a block on most or all transfers on chain, or only allowing certain addresses to sell, in such case it is impossible to swap the token successfully. Do learn about the token you are trying to swap and be aware of any fees and restrictions! - -## Where can I provide feedback for the Mini-Program? - -We welcome all feedback and we’re always trying to improve for our community. For any feedback on the Mini-Program, other than the usual [Telegram](https://t.me/pancakeswap) or [Discord](https://discord.gg/pancakeswap), you can also submit your feedback within the Mini-Program, in the feedback button after you click on the three dots on the top-right corner. - -![](https://lh6.googleusercontent.com/eRIUyIBXOv6t-yGG3ywzorjKnBuFlW-SRh\_iFoEp6X6XFDjqtV6F-a\_sbm1WD892TLk-XwPWcZlJe0PBH5Ir7l5MtmCq1ExH-VMrC-yzUIJZGX3jBzzYec3R-qr67-\_TU6fIKIOMIj2-zLYN5Gd5Cec) diff --git a/products/pottery/README.md b/products/pottery/README.md deleted file mode 100644 index 639471e7..00000000 --- a/products/pottery/README.md +++ /dev/null @@ -1,75 +0,0 @@ -# 🍯 Pottery - -![](https://lh4.googleusercontent.com/ADDYnmpe6t1befgamqDj-6KYXqYWWp\_5ed6zL27QmyGcu9GqHd1HMh6JXIJdXgUYVISNuXDQEkvIhsFB5mCyTJRt99iW0-WfvszMMZQB3z9z3OAT9lzH3FsTeKZnoa2UaGdft3iYVU4\_t5oEsViNKvQ) - -Pottery combines CAKE lock-staking with lottery elements to give you a chance to win a bigger yield on your CAKE deposit! It is easy and safe as you will always at least get back all the CAKE you deposit. - -## Specifics: - -* Deposit CAKE in the Pottery page with a minimum of 1 CAKE -* Deposit closes on the first Monday of each month for a different Pottery cohort (23:59 UTC on that Monday) and is open from the Friday before that at around 10:00 UTC, unless there are special arrangements which will be announced in advance (first Pottery is closing on Aug 8 2022 23:59 UTC) -* During the beta stage of the product, there is a cap to the total CAKE deposit for each Pottery cohort (the maximum deposit cap is 600,000 CAKE) -* CAKE deposited will be directed to the lock-staking pool and locked for ten (10) weeks 80% of the total staking rewards will be sent to the Pottery pool for drawing, 20% will be reserved for your withdrawal -* For each Pottery cohort (one per month), there will be ten (10) weekly draws on each Friday (at noon UTC) upon deposit producing eight (8) winners per week, each address may win more than one of the eight winner slots each week -* The larger your deposit relative to the overall pool, the higher the chance of winning, winners can claim their prize right after each draw -* Each Pottery cohort conducts the draw separately -* Only after 10 weeks from the Pottery cohort lock date, you can withdraw your CAKE -* Pottery uses Chainlink's implementation of VRF for true, secure randomness - -## Pottery Cohort - -On the Friday before the first Monday of each month, a Pottery cohort will be open for you to deposit CAKE and participate in it for the next 10 weeks. This arrangement combines the deposit to direct to the locked staking pool, such that the Pottery contract of the cohort is able to coordinate the staking rewards of the deposit from the locked staking pool. - -Each deposit and lock date will be a separate cohort – one for each month – e.g. all deposits on Sep 5 2022 will be in one cohort, all deposits on Oct 3 2022 will be in another cohort. - -While draws may happen concurrently for different cohorts, the prize pools for each cohort are separated to be fair. - -![(For illustration purposes only, actual cohort lock date for the first Pottery has been set to Aug 8 2022)](https://lh5.googleusercontent.com/KamNAZK7s2N454cI\_cvnjHJpuAH8HfgWlmEXZevzDVW\_uxiw\_pymKZCp97L9hSjcGGzjjQeGuSt7oOIOXECq\_xoU47zEC4rhJp2IA37ROeUOUSqXKgqKjNqcJnHOopC8mi5IeqR9UAprhNF5zM4PLjc) - -For example, there are 2 separate draws on Sep 9 2022, one for the Aug 1 cohort as the sixth weekly draw and another for the Sep 5 cohort as the first weekly draw. If the Aug 1 cohort has a total of 100,000 CAKE deposited and the Sep 5 cohort has a total of 300,000 CAKE deposited, the weekly prize for the Aug 1 cohort will only come from the staking rewards of those 100,000 CAKE, while the weekly prize for the Sep 5 cohort will only come from the staking rewards of those 300,000 CAKE. If you only deposited CAKE in the Aug 1 cohort, you have a chance to win the weekly prize on Sep 9 based on the staking rewards of 100,000 CAKE. If you deposited CAKE in both the Aug 1 and Sep 5 cohort, you have a chance to win both weekly prizes on Sep 9. - -#### Why do we need the cohort system? Why do we not just lump them all together? - -Since Pottery is interacting with the fixed-term staking of CAKE, any deposit can only be withdrawn after the lock duration. If we want to lump all deposits together, while we can add more deposit after the initial lock and also lock them for 10 weeks, the initial depositors will not be able to withdraw on time. - -## **Prize Funding & Staking Rewards Allocation** - -The deposits are grouped into monthly cohorts for more efficient arrangement of the staking rewards which are also grouped together for each cohort. The staking rewards are used to fund the prize pool and some staking rewards for depositing into the Pottery. - -80% of the staking rewards will be directed to fund the prize pool for 10 weekly draws and the rest 20% will be reserved as staking rewards when you withdraw your CAKE deposit after 10 weeks. - -However, since the staking rewards of the CAKE locked staking pool are only distributed after the lock duration – 10 weeks in this case, for better product experience and to facilitate the weekly draws right after the deposit date, the contract is borrowing 80% of the estimated total staking rewards from the cohort from the CAKE treasury based on the APY at the time of locking. The borrowed CAKE is used for the payout for each weekly draw. - -At the end of the 10 weeks, when the rewards are distributed from the staking pool, the CAKE treasury will be repaid first, then the rest will be directed back to the vault for users to withdraw together with their initial deposit in the cohort. - -![](https://lh5.googleusercontent.com/7AEqm\_m542SHUGbc69uu8v\_7Xfa\_hKym8De3fBscEF6IySHEmy1P1k5S3W\_PvnFMBSOZOUFpPNDKhEp3sHOB8jCuLfjA8QJxsurqK-hZ0umrw0w8bIRPvMZKuQ4TnNTfKRdU8s3UXO1n0Smnp8\_6sAg) - -For example, if the Pottery cohort on Aug 1 2022 has attracted 100,000 CAKE deposits in total, the estimated return for 10 weeks of locked staking is around 3,674 CAKE. The contract will borrow 80% of it, or around 2,940 CAKE, for the prize pool for 10 weekly draws, i.e. 294 CAKE in total prizes for each weekly draw before fees. - -It is important to note that the rewards and APY at the end of the duration from the deposit may change over the 10-week duration based on other deposits and their lock-periods in the locked CAKE pool, there may be a small deviance from the percentages specified (+/- 10%). - -All staking rewards net of fees will be returned to depositors through prize pool or rewards. If the actual APY is lower than the estimated APY at the time of locking, it means more rewards are distributed to the depositors during the weekly draws, and less for the staking rewards portion. If the actual APY is higher than the estimated APY at the time of locking, less rewards are distributed through the weekly draws and more are reserved for the staking rewards available for withdrawal. Ultimately, the expected value is the same. - -## **How to Win – Odds Calculation** - -Odds are calculated based on the share of deposit amount relative to the total deposit size of the cohort. Simply, the more CAKE you deposited, the higher the chance of winning each weekly draw. For example, if you have deposited 10,000 CAKE and the total deposit of the cohort is 100,000 CAKE, there’s a 10% chance that you will win at each weekly draw. - -Each address can win more than 1 of the 8 winner slots each week. - -In the extreme case, if all of the cohort’s 100,000 CAKE are deposited by you, you will win all the prizes of each weekly draw. However, that means the final return that you will get is the same as putting 100,000 CAKE into the locked staking pool for 10 weeks, but you will also be paying the Pottery fees. - -## **Risks – Important!** - -You will be guaranteed to get back 100% of what you deposited in 10 weeks. However, you can _only_ withdraw your CAKE deposit after 10 weeks of locking, without any other way to withdraw early. - -By participating in the Pottery, you will be risking the staking rewards, together with other locked-CAKE utilities like iCAKE and vCAKE. In case that you did not win anything from the 10 weekly draws, you would have lost 80% of the staking rewards you were supposed to get if you locked your CAKE in the staking pool for 10 weeks. - -Please participate based on your risk preference, once the CAKE are deposited, there is nothing anyone can do to help you withdraw early. - -## **Fees** - -Eight percent (8%) of the prize pot distributed each week will be charged as fees for burning. We aim to review and adjust the fee structure accordingly after the beta stage of the **** product. - -## **Ready to Participate?** - -If you are clear about the product structure, the risks and the fees – see this page on [how to participate](https://docs.pancakeswap.finance/products/pottery/how-to-play-pottery) from the PancakeSwap web UI and other [Pottery FAQ](https://docs.pancakeswap.finance/products/pottery/pottery-faq)! diff --git a/products/pottery/how-to-play-pottery.md b/products/pottery/how-to-play-pottery.md deleted file mode 100644 index b67bd779..00000000 --- a/products/pottery/how-to-play-pottery.md +++ /dev/null @@ -1,59 +0,0 @@ -# How to Play Pottery - -![](https://lh4.googleusercontent.com/B1N\_fmtOnosL-mcID7xeRnRqmY-6SQWMxXjgTi\_GBpBN2kxSq\_13kZcvmre857wiFnONLCrTMMndkiyLHf-35HmvEJAtA2rkAQG4lCzxozc2NwfjBnWpQms4ZD9wtwRBG9UEAQIX2r1yDq0t1ENmXko) - -PancakeSwap’s Pottery is an alternative way to stack CAKE other than just locking and staking your CAKE in the staking pool, this guide will walk you through how to navigate in the PancakeSwap web UI to participate. - -Learn more about the product structure, risks, fees of the [PancakeSwap Pottery here](https://docs.pancakeswap.finance/products/pottery). - -## Deciding if you'd like to enter a Pottery cohort - -A new Pottery cohort is created on the first Monday of each month. Each cohort may have different amounts of CAKE deposited which would affect the weekly prize pool and your odds of winning. The bigger the total value locked in that cohort, the larger the weekly prize pool, but with the same CAKE deposit size you may also get a lower odds of winning. You can view how much CAKE have been deposited and your odds here from the Deposit panel: - -![](https://lh5.googleusercontent.com/vyCTJ8XmLl4WARKHQTDzJjeX-JDLzZBiGvnO404UIuEMyrBWhAHnyWJQfC3CCz-gCVXpUs3oUGW4L7bdzaUu7X1pZV2swn6wGQA8a7HBD5NkPViHnPfG89xsCaQy6wg0rSPaVy8koYgEN18ztoMqhLA) - -## Deposit when the Pottery cohort is open - -The deposit for each Pottery cohort is open once a month. The deposit closes and locks away the cake on the first Monday of the month at 23:59 UTC and it opens from the Friday before at around 10:00 UTC. This is to combine all the deposits and direct them for the locked staking at once for efficient staking rewards management and allocation. For the rest of the time, you will see this: - -![](https://lh4.googleusercontent.com/FZDvRS3D6RaeIwLiWAjfeMXZHN3ZBvjRvg-174b\_cWds816Ixyq4rw7ZgFrxgOVtPcbaZVjt4AyiNUjxt5tNl9TgmHUIsqgrCWGB1WlAd4GmZoUsrGy5prFalV87rgTLHrtkalVN0HkS7EfsUlyhPqg) - -– which means the deposit is currently closed until the Friday before the next monthly first Monday. If the deposit is open, you will see this instead: - -![](https://lh5.googleusercontent.com/\_TqVUlNGtnGvGz\_wysnq-KmewS\_CjmUJ0jMHwzRMLx47Rmq-x868M0q-iBXCqynotDqz3mxnUZovExx4bUb8BBv3W6OXl4u4pJWFmOz\_\_IYASvQ\_hgmccB3GPaL1oz4TutJr3PTwdz\_2NoVzmnpkcD0) - -– In this case, you can deposit your CAKE to participate in the Pottery if the APY, total value locked, and the odds of winning are acceptable to you. Before you deposit, please make sure you fully understand the risks of participating! All deposits will be locked for 10 weeks with no early withdrawal under any circumstances. Please learn more about [the risks and fees here](https://docs.pancakeswap.finance/products/pottery). - -## **Viewing your deposit** - -After you have deposited, you can view your total deposit and deposit by each cohort in the Claim panel: - -![](https://lh3.googleusercontent.com/4-WegkRka1XNJS7KwB43rbk557A2mOZJVufIDZVmOPGMsoTBdCMZszZ3rHUnrrmlpkxEyGBBJ3j2HTxTX5xZkSFjdq3rajIgy0Cm9eqOE9Ax0gVTHE54gi1DHGUmZDYo6gbzzHOHnBpfnbJf-DwISlg) - -There might occasionally be some delay because of the Subgraph reading, there will be a signal when there are delays – usually it should show the correct amount if you check again in 15 minutes. Please note that the withdrawal button will light up and be available only after 10 weeks of the lock date. - -## Viewing the results after each weekly draw - -After each draw on Friday at around noon UTC, you can view the results and winners in the Finished Rounds panel: - -![](https://lh3.googleusercontent.com/ClT6Dx6rJlfFmzmyxwCGwIUsDv-DuhzVAWN5Qt0sOulj2\_zDrMJHDJvQqr6vS0t6IO090pstOi0BJTKADDVj7C\_kspWM\_f-M83EGERNiEvON-GTl\_nvXANGH5etDbnBmieRSZ66G8krr8GUWc2s5SDw) - -Based on the drawn date, find the corresponding round for the cohort you would like to check – on each Friday, there could be more than one draw since there are different cohorts, make sure you’re checking the right draw for the cohort you’re looking for. Please read to learn more about [the cohort structure here](https://docs.pancakeswap.finance/products/pottery#pottery-cohort). - -## Claiming the prize - -Another way to check if you have won in any weekly draws is to check in the Claim panel to see if there is any prize to be claimed here: - -![](https://lh5.googleusercontent.com/CjFh9\_5a7PDrCgz7\_F4puNVwbLJj6n0nWT\_XBUXsnQQrFcDzqBL2SV-Rw2TY2kLrVveEcCfBhrk\_62QVQtMaDwwSWCpqp8eCHhN0aAPphCk4BFMJNk78GOsrQ-Kem-5lhBRkM04vBdZwwBOwNmiw4Aw) - -If there are, you can claim the prize by clicking the Claim button and it will be a transaction for you to approve. Please note that you will have to pay gas fee on BNB Smart Chain to claim the prize. - -## Withdrawing after 10 weeks - -10 weeks after the cohort deposit and lock date, you will be able to withdraw your deposit in the Claim panel, and you will be able to click on the withdrawal button here: - -![](https://lh6.googleusercontent.com/1LeGKpa30KvmyKDKN5o54K\_HjJAVPyJhIeEmCXQzC8pDJGAJQ1kz89iKdoOwIXH2xOE9nin5r47dCiZvAlluTkOfwf1FfQ5gZ4MtMahGiRZ0TT4sSyOpsUKWOqZxKPnMYeLtZ9F3OuRlaRO\_sqr6Lvo) - -You can withdraw the prize by clicking the Withdraw button and it will be a transaction for you to approve. Please note that you will have to pay gas fee on BNB Smart Chain to withdraw the prize. - -**** diff --git a/products/pottery/pottery-faq.md b/products/pottery/pottery-faq.md deleted file mode 100644 index ab67e2e9..00000000 --- a/products/pottery/pottery-faq.md +++ /dev/null @@ -1,69 +0,0 @@ -# Pottery FAQ - -## Why do we need Pottery when we already have the Lottery v2? - -Pottery is a completely different product compared to Lottery v2. It is a combination of the locked CAKE pool and the lottery function utilizing the Chainlink's implementation of VRF for true, secure randomness. By participating in Pottery, you will not lose any of the CAKE you deposited, you are only risking the staking rewards of the CAKE you deposited. This product is designed for CAKErs who are more risk-averse but still would like to participate in a product of this nature. It’s an easy, fun and safe way to get a chance to win some CAKE. Learn more about [the product structure here](https://docs.pancakeswap.finance/products/pottery). - -## Is Pottery replacing the original Lottery v2? - -Pottery is not replacing the original Lottery v2. These two products are operated and run separately. You can participate in both! - -## How does Pottery help PancakeSwap and CAKE? - -Eight percent (8%) of the prize pot distributed each week will be charged as fees for burning, which accrues value to CAKE. We aim to review and adjust the fee structure accordingly after the beta stage of the product. - -## What is the beta stage of Pottery for? - -Because of the operations of this new product such as borrowing from treasury, cohort management and drawing. The product will start off in the beta stage with a capped total deposit for each Pottery to make sure everything runs smoothly. Once we pass the beta stage, we may review and adjust different parameters based on operations and community feedback such as the fees, the frequency of each cohort, lock period, etc. - -## Why does it have to lock my CAKE for 10 weeks? - -If the Pottery can just use the flexible staking pool, its product structure would be much simpler - similar to products like PoolTogether and Moonpot. However, the current yield from the flexible staking pool is not sufficient for us to produce a meaningful prize pool for drawing. Hence, the decision is to lock the CAKE for a moderate duration to balance the rewards that can be used to fund the prize pool. With more operations and community feedback, we may review and adjust the lock duration down the road. - -## Why can’t I withdraw? - -Please note that the withdrawal button will light up and be available only after 10 weeks of the lock date. The date for withdrawal is based on 10 weeks after the lock date and time – 23:59 UTC on the first Monday of each month. - -## Why can’t I view my deposit? - -There might occasionally be some delay because of the Subgraph reading, there will be a signal when there are delays – usually it should show the correct amount if you check again in 15 minutes. - -## How do I know if I have won in the weekly draw? - -After each draw on Friday at around noon UTC, you can view the results and winners in the Finished Rounds panel. Another way to check if you have won in any weekly draws is to check in the Claim panel to see if there is any prize to be claimed. Check out [this page on how to participate](https://docs.pancakeswap.finance/products/pottery/how-to-play-pottery)! - -## What is the funding source of the prize? - -The prize pools are funded by the staking rewards of the deposits. However, since the staking rewards of the CAKE locked staking pool are only distributed after the lock duration – 10 weeks in this case, for better product experience and to facilitate the weekly draws right after the deposit date, the contract is borrowing 80% of the estimated total staking rewards from the cohort from the CAKE treasury based on the APY at the time of locking. The borrowed CAKE is used for the payout for each weekly draw. Learn more about [the product structure here](https://docs.pancakeswap.finance/products/pottery)! - -## If I win, do I need to manually claim the prize? - -Yes, you will need to click the Claim button under the Claim panel on the Pottery page. - -## How often is the Pottery? - -Each Pottery cohort is open for deposit on the Friday before at around 10:00 UTC and closes on the first Monday of each month at 23:59 UTC, unless any special arrangement and notice in advance. Each cohort will have 10 weekly draws on 10 subsequent Fridays at noon UTC. - -The first Pottery will open deposit on Aug 5 2022 and lock on Aug 8 2022 at 23:59 UTC. - -## Why does the Pottery deposit only open once a month? - -This arrangement combines the deposit to direct to the locked staking pool, such that the Pottery contract of the cohort is able to coordinate the staking rewards of the deposit from the locked staking pool. With more operations and community feedback, we may review and adjust the frequency down the road. - -## What is the limit for depositing? - -There is a minimum deposit of 1 CAKE. At the beta stage of the product, there will also be a maximum deposit cap for each cohort which you can view in the Deposit panel when you are making the deposit. This is to make sure everything on the operation side including the borrowing from treasury, locked staking and drawing runs smoothly. While the maximum you can deposit is the maximum deposit cap of that cohort (if no one else has deposited any CAKE), you would win all the prizes, however, that also means the final return that you will get is the same as putting your CAKE into the locked staking pool for 10 weeks, but you will also be paying the Pottery fees. - -## Why do we need the cohort system? Why do we not just lump them all together? - -Since Pottery is interacting with the fixed-term staking of CAKE, any deposit can only be withdrawn after the lock duration. If we want to lump all deposits together, while we can add more deposit after the initial lock and also lock them for 10 weeks (from the time of new deposit), the initial depositors will not be able to withdraw on time. - -## What is SHARE token? - -SHARE tokens are generated and distributed when you deposit in the pottery. It represents and serves as a credential of your share against the deposit pool. - -Upon withdrawal, SHARE token will be transferred back to the pottery contract and burned. - -## Where can I provide feedback for this product? - -Please feel free to reach out to us on [Telegram](https://t.me/pancakeswap) or [Discord](https://discord.gg/pancakeswap) if you're still unsure about the format or if you have any feedback for us to improve this further! diff --git a/products/prediction/README.md b/products/prediction/README.md deleted file mode 100644 index b3434a8b..00000000 --- a/products/prediction/README.md +++ /dev/null @@ -1,33 +0,0 @@ -# 🔮 Prediction - -![](../../.gitbook/assets/prediction-header.png) - -PancakeSwap Prediction is a fun and simple decentralized prediction market. - -> ### Predict whether BNB or CAKE price will rise or fall – guess correctly to win! - -It's easy to take part: - -* Predict if the price of BNBUSD or CAKEBUSD will be higher or lower than it was when the “LIVE” phase starts. -* If you enter an “UP” position, and the “Closed Price” is higher than the “Locked Price” at the end of the 5 minute LIVE phase, you WIN! And if it’s lower, you lose. -* If you enter a “DOWN” position, and the “Closed Price” is higher than the “Locked Price” at the end of the 5 minute LIVE phase, you LOSE! If it’s lower, you win. - -Have fun! - -[~~View V1 smart contract~~](https://bscscan.com/address/0x516ffd7D1e0Ca40b1879935B2De87cb20Fc1124b) ~~(deprecated)~~ - -[**View V2 BNB smart contract**](https://bscscan.com/address/0x18b2a687610328590bc8f2e5fedde3b582a49cda)**** - -****[**View V2 CAKE smart contract**](https://bscscan.com/address/0x0E3A8078EDD2021dadcdE733C6b4a86E51EE8f07)**** - -## PancakeSwap Prediction Guides - -Get started with Prediction with our guides and FAQs. - -{% content-ref url="prediction-guide.md" %} -[prediction-guide.md](prediction-guide.md) -{% endcontent-ref %} - -{% content-ref url="prediction-faq.md" %} -[prediction-faq.md](prediction-faq.md) -{% endcontent-ref %} diff --git a/products/prediction/prediction-faq.md b/products/prediction/prediction-faq.md deleted file mode 100644 index ef70518d..00000000 --- a/products/prediction/prediction-faq.md +++ /dev/null @@ -1,94 +0,0 @@ -# Prediction FAQ - -{% hint style="info" %} -Use the sidebar to quickly find the answers to your questions! -{% endhint %} - -## General Questions - -### What’s the PancakeSwap Prediction contract address? - -Verified contract address: [https://bscscan.com/address/0x18b2a687610328590bc8f2e5fedde3b582a49cda](https://bscscan.com/address/0x18b2a687610328590bc8f2e5fedde3b582a49cda) - -### Is there a time limit before I can collect my winnings? - -No, you’ll be able to collect your winnings at any time in the future. - -### How is the payout calculated? - -* Payout Ratio for UP Pool = Total Value of Both Pools ÷ Value of UP Pool -* Payout Ratio for DOWN Pool = Total Value of Both Pools ÷ Value of DOWN Pool - -For example, if there’s 15 BNB in the DOWN side of a round, and the overall prize pool is 150BNB, the DOWN payout ratio will be (150/15)=10x. - -* Payout Amount = Payout Ratio × Position × (1 - Treasury Fee) - -In the above case, if the round ends on a DOWN result, if you committed 2 BNB to a DOWN position, you’d get a payout of (2\*10) × (1-0.03) = 19.4 BNB. Your profit would be 17.4 BNB (19.4 - 2). - -The treasury fee is currently set at 3%: this may be subject to changes, which would be announced on PancakeSwap’s official communication channels. Treasury fees are used to buy back and burn CAKE tokens. - -### **What are the fees?** - -3% of each round's total pot will go to the treasury, which will be used to buyback and burn CAKE burn every Monday. - -### What are you using for your price feed? - -PancakeSwap uses two sources for our price feeds. They each have their own purpose within the prediction market: - -#### ChainLink Oracle - -* Used for the Lock price and End price of each prediction market round. This updates in intervals of 20 seconds. -* Our prediction contract uses the ChainLink Oracle price feed to set the prices used to dictate whether a user has won or not. -* Used for the "Chainlink" chart on the interface. - -#### Binance - -* Used for real-time price updates on the PancakeSwap prediction market interface. -* Used for the "TradingView" chart on the interface. - -Since we’re using two different price feeds, the real-time price updates from Binance and the ChainLink Oracle price may differ by a small amount. However, they shouldn’t vary significantly. - -### The round's result changed after the round ended! Why? - -Sometimes, after a round closes, the final result may be different from the last result shown while the round was live. If you watch a round end on "DOWN", it may appear to flip to "UP" a few seconds later. - -This is because we use the ChainLink Oracle price feed to determine the final outcome of a round. The period between the end of one round and the start of the next is 30 seconds, but the Oracle refreshes every 20 seconds. It's possible that during this short period, the Oracle might send an update while the transaction to trigger the next round is being minted. This can appear to "flip" the outcome of the previous round. - -## About Positions - -### **What happens if no one enters an opposing position?** - -If only one side of a round has positions entered into it, then that side loses, the losing funds will be sent to the treasury. - -For example: User A enters an UP position, no one else enters a DOWN position. User A loses, and there are no opposing positions for the winnings to be paid out to. Funds are sent to treasury. - -### **What happens if the Locked Price and Closed Price are the exact same?** - -In the very rare occurrence that the Locked Price is exactly the same as the Closed Price, no one wins, and all funds entered into positions will be sent to the treasury to be used for CAKE buybacks to burn. - -### **Can I change or remove my position?** - -No. Once you enter a position, you can NOT change the direction, add to, or remove your position. It's locked in, so make sure you're 100% happy with your position direction before confirming. - -## Market Pauses - -### What does it mean when markets are paused? - -Markets are paused when there are conditions which affect the reliability of the contract. Markets being paused means that no bets will be taking place for any rounds. - -### What causes PancakeSwap Prediction market to pause? - -The prediction market will pause under the following conditions: - -1. The prediction contract has been unable to obtain the price from the ChainLink oracle due to the oracle not having posted the price at the time the round has ended. -2. The prediction contract has been unable to execute an action (ending a round or getting a price from the oracle) due to the tx being stuck in the mempool for longer than 15 blocks. - -### When will the markets resume after being paused? - -The markets will resume when an admin (one of the chefs) manually resumes the market. - -### What happens to my position if the market pauses? - -If the markets pause while you have a live position, your funds will be available to reclaim, the same way as you would normally claim your winnings. - -To reclaim funds, you’ll need to pay some gas fees. We can’t compensate you for the gas fees, so please bear this small risk in mind before participating. diff --git a/products/prediction/prediction-guide.md b/products/prediction/prediction-guide.md deleted file mode 100644 index 6dd240ac..00000000 --- a/products/prediction/prediction-guide.md +++ /dev/null @@ -1,167 +0,0 @@ -# How to Use Prediction - -![](../../.gitbook/assets/how-to-porediction-header.png) - -Playing PancakeSwap’s Prediction lets you test your foresight to earn rewards. Use your market knowledge or gut feeling to predict if the BNBUSD or CAKEUSD price will go up or down in the near future. Get it right and you’ll collect a share of the round’s prize pool! - -{% hint style="warning" %} -PancakeSwap’s Prediction is a new product that we still consider to be in beta. We may make changes in the future to improve Prediction. As always, the PancakeSwap team will inform users of any changes that will impact how the product works. -{% endhint %} - -## Accepting terms of the beta - -Before you can use Prediction, you’ll need to review and accept the terms. - -Visit the [PancakeSwap Prediction page](https://pancakeswap.finance/prediction). You will see a “Welcome!” window explaining that the Prediction product is still in beta. - -![](../../.gitbook/assets/1-how-to-use-predictions.png) - -Read and accept the conditions then click **Continue**. - -## Switch between two prediction markets - -![](<../../.gitbook/assets/MBP4-2022.06.27-114859-Google Chrome-Prediction PancakeSwap - $3.405.gif>) - -PancakeSwap offers two separate prediction markets for every player to choose from. You can play based on the CAKE USD price, betting with CAKE. Alternatively, you can play based on BNB USD price, betting with BNB. - -To switch between two prediction markets, simply click or tap the currency switcher on the top left corner. - -## Making a prediction for the next round - -The Prediction page shows quite a bit of information. Predictions operate in 5 minute rounds. Make your prediction before a round goes live to join in. - -### Checking the timer - -To enter a round of Prediction, you'll want to check how long is left in the current round. You'll find the timer in the top-right area. - -![](<../../.gitbook/assets/image (41).png>) - -If the timer is too low your prediction may not confirm in time, so check there's still plenty of time left before you make a prediction (30 seconds should be plenty, but give yourself more time if you're following along with this guide). - -### Predicting the next round - -When you're sure you have enough time, you can place your prediction for the next round. - -1\. In the "Next" section you'll see a green **Enter UP** button and a red **Enter DOWN** button. Click **Enter UP** if you want to predict a rise in price, and click **Enter DOWN** if you want to predict a drop in price. - -![](<../../.gitbook/assets/image (43).png>) - -Each will have a different reward multiplier. The multiplier will change over time as the "Prize Pool" increases depending on people's predictions. The Prize Pool is shown just above the buttons. - -![](<../../.gitbook/assets/image (45).png>) - -We'll choose **Enter UP** for this example. - -2\. A new window will open. In the window, you'll see "Commit" to commit BNB or CAKE for your prediction. Type the number of tokens you would like to commit to your prediction for this round in the field. You can also use the bunny slider or click the percent buttons if you prefer. - -If you are playing CAKE USD prediction market, at the first game, you will have to click "Enable" to enable the smart contract. - -![](<../../.gitbook/assets/image (44).png>) - -3\. Once you've decided the amount to commit, click **Confirm** and confirm your action in your wallet. - -![](<../../.gitbook/assets/image (46).png>) - -The confirm button will fade out as your transaction confirms. This short wait is why we checked the round timer earlier to make sure we would have time to make our prediction. - -4\. After your transaction confirms, an "ENTERED" message will appear. - -![](<../../.gitbook/assets/image (47).png>) - -There's nothing left to do now but wait for your Prediction round to go live. - -## While your entered round is live - -A live round will last for 5 minutes. You can watch the price update during the 5 minutes if you'd like. - -![](<../../.gitbook/assets/image (48).png>) - -You cannot change your prediction during a live round, however. You are locked into your prediction from earlier. - -## Once your entered round finishes - -After 5 minutes as the live round, your entered round will finish. Everything is automatic, so there's nothing you need to do to end the round. - -### Seeing the results - -1\. As the 5 minutes finish, the "LIVE" section will change to "Calculating". Calculating the results only takes a moment. - -![](<../../.gitbook/assets/image (49).png>) - -2\. After a short wait, the finished round will move left and say "Expired". The result of the round will display with either UP colored in green, or DOWN colored in red. - -![](<../../.gitbook/assets/image (51).png>) - -3\. If you've been busy and missed the results, you can scroll back a few rounds by clicking the **left arrow** on the purple bunny cards. - -![](<../../.gitbook/assets/image (53).png>) - -### Seeing results for older rounds - -If you want to see the results for rounds you've entered that are older than a few rounds, you'll need to follow the steps below to find the results. - -1\. Click on the **reversing clock icon** next to the round timer. - -![](<../../.gitbook/assets/image (54).png>) - -2\. A "History" panel will open. By default, you should see your most recent round at the top of the list. Click anywhere on the round to see more information. - -![](<../../.gitbook/assets/image (56).png>) - -![](<../../.gitbook/assets/image (57).png>) - -### Collecting any winnings - -1\. If you won your entered round, a **Collect Winnings** button will appear next to a gold trophy. Click the button. - -![](<../../.gitbook/assets/image (50).png>) - -2\. A new window will appear showing the amount of winnings you can collect with a **Confirm** button. Click the button and confirm the action in your wallet. - -![](<../../.gitbook/assets/image (52).png>) - -Your token winnings will now be in your wallet. - -### Collecting winnings from older rounds - -Sometimes you may be away from PancakeSwap's Prediction page for a while or may have forgotten to collect winnings from older rounds. You can still collect winnings owed to you from older rounds at any time. - -1\. Find more information on past rounds you've entered by clicking on the **reversing clock icon** next to the round timer. - -![](<../../.gitbook/assets/image (54).png>) - -2\. A "History" panel will open. You can click "Uncollected" to view all rounds you've not collected the winnings for yet (click a the transaction if you want to see more details). Click the **Collect** button. - -![](<../../.gitbook/assets/image (61).png>) - -3\. A new window will appear showing the amount of winnings you can collect with a **Confirm** button. Click the button and confirm the action in your wallet. - -![](<../../.gitbook/assets/image (52).png>) - -Your winnings will now be in your wallet. - -## Viewing historic profit and loss data - -If you'd like to see how you've done overall in Prediction, you can view PNL (Profit and Loss) data whenever you'd like. - -1\. On the Prediction page, click the **reversing clock icon** next to the round timer. A "History" panel will open. - -![](<../../.gitbook/assets/image (54).png>) - -2\. On the history panel, click the **PNL** tab. - -![](<../../.gitbook/assets/image (62).png>) - -The tab will open with stats for your historic performance in Prediction, including your net results, average return, best round, and other information. - -![](<../../.gitbook/assets/image (64).png>) - -3\. You can click the **View Reclaimed & Won** button at the bottom of the PNL tab to view those transactions on the BscScan explorer. - -![](<../../.gitbook/assets/image (63).png>) - -That's all there is to using Prediction. Good luck making the right calls! - - - - diff --git a/products/prediction/prediction-troubleshooting.md b/products/prediction/prediction-troubleshooting.md deleted file mode 100644 index ad29c397..00000000 --- a/products/prediction/prediction-troubleshooting.md +++ /dev/null @@ -1,66 +0,0 @@ -# Prediction Troubleshooting - -{% hint style="info" %} -Use the sidebar to quickly find the answers to your questions! -{% endhint %} - -### Why can’t I see my winnings in my wallet? - -When you collect winnings, they might not appear in your wallet’s transaction logs as usual.\ -This is because they use a different type of transaction: Internal transactions.\ -Enter your wallet address on BscScan, then check the “Internal Txns” tab to confirm that they’ve arrived.\ -![](https://lh5.googleusercontent.com/9NoIvK-oztyEaizCfgrj-poPIP\_uWeFDYsa0\_nxN3sKUiIwFdACy\_BemrtRLJn-ZkyW3LprfRn4s9lL24BOGb-I-t1vHoh5wkuTx7bObHQl5sS7xPmuZEOTVPUXr7LPNAfPfqr12) - -### Why aren't the results of my round showing? - -There’s a 15 block buffer on each round, which can cause delays of up to 45 seconds after the end of a round.\ -This buffer is to accommodate for the fact that we may not be able to reliably fetch a price and end a round immediately: various blockchain factors affect the speed in which transactions get confirmed on the network. - -### I can’t collect my winnings! - -Make sure you have enough BNB in your wallet to pay for gas fees. You’ll need a little BNB to trigger the smart contract. - -### **I can't claim winnings from a prediction round on site.** - -You might be able to claim your winnings directly from the contract. Follow the steps in the 3 tabs below. - -{% tabs %} -{% tab title="Check rounds you played" %} -How to check the history of rounds you played - -1. Go to BscScan page of Prediction contract. -2. Scroll down to “8. getUserRounds”. -3. Type in your wallet address under “user(address)”. -4. Set “cursor(uint256)" to 0 and “size(uint256)" to 1000. -5. Tap “Query” -6. Rounds you entered will show below in the first row. (after “uint256\[]:”) -{% endtab %} - -{% tab title="Check if you can claim" %} -First, check whether you should actually be able to claim from the round you played. - -1. [Go to the **** BscScan page of Prediction contract](https://bscscan.com/address/0x18b2a687610328590bc8f2e5fedde3b582a49cda#readContract), and go to the Write tab -2. Scroll down to “4. claimable”. -3. Type in the round id you want to check under "epoch(uint256)”. -4. Type in your wallet address under “user(address)”. -5. Tap “Query” -6. If a round is claimable, it will show “true”. -7. If the result is "false". Please repeat the above steps and try with "19. refundable". -8. Note: ⬆️ If you see a round returns "false" on both "4. claimable" and "19. refundable", but it shows on the website, it's probably been claimed already and the website is lagging. -{% endtab %} - -{% tab title="Claim from a round" %} -How to claim - -1. [Go to the **** BscScan page of Prediction contract](https://bscscan.com/address/0x18b2a687610328590bc8f2e5fedde3b582a49cda#writeContract), and go to the Write tab -2. Tap “🔴 Connect to Web3” -3. Use MetaMask or WalletConnect to connect. -4. Scroll down to “3. claim” -5. Type in the round number you want to claim in this format, including the \[] brackets: `[12345]` - - If you want to claim from multiple rounds together, separate the rounds with a comma like this: `[12345,12346,12347]` -6. Tap “Write” -7. Confirm on wallet -{% endtab %} -{% endtabs %} - diff --git a/products/stableswap/README.md b/products/stableswap/README.md deleted file mode 100644 index 1c7429fa..00000000 --- a/products/stableswap/README.md +++ /dev/null @@ -1,38 +0,0 @@ -# 🔄 StableSwap - -
- -StableSwap on PancakeSwap is a feature to trade stable pairs with a lower slippage based on an invariant curve slippage function. It is designed to swap specific assets that are priced closely – such as USD stablecoins (e.g. HAY, BUSD and USDT) or liquid staking tokens (e.g. stkBNB and aBNBc). - -The StableSwap is an implementation of Curve Finance’s AMM on PancakeSwap. It adds linear invariant constant sum curve (x+y=k) on top of the constant product formula (x\*y=k) to keep prices more equal as long as the liquidity pool is not extremely unbalanced. As a result, since StableSwaps are restricted to similarly priced assets, impermanent loss is not as much of a concern (except in extreme depeg cases) and the slippage is lower than normal AMM which just uses the constant product formula. - -When you make a token swap (trade) on the StableSwap you will pay a fee of 0.04% trading fees, which is lower than the usual 0.25% on normal PancakeSwap AMM. The fee attribution is broken down as follows - -* 0.02% to the LP as rewards (50%) -* 0.016% to CAKE buyback and burn (40%) -* 0.004% to the PancakeSwap Treasury (10%) - -At launch, the Kitchen will be rolling out StableSwap pairs gradually to test and improve the product further. The first pair to be launched will be **HAY-BUSD**. - -[**HAY**](https://helio.money/) **** from Helio Protocol is a fully decentralized, BNB overcollateralized [destablecoin](https://docs.helio.money/). The reasons the HAY-BUSD pair is selected as the first are: - -* Be one of the first major trading venues for HAY to absorb volume overtime -* As HAY only recently launched (mid-Aug 2022) compared to other stablecoins, the volume and operational impact from liquidity transfer is more manageable to launch on the StableSwap product -* Based on progress of this pair and community feedback, the Kitchen can gradually add other stable pairs - -## **Why should I use the StableSwap instead of the normal AMM swap?** - -* Swap your stablecoins or other pairs of similarly priced assets more efficiently with the same trade steps! -* With the StableSwap function, the trading slippage is lower than normal AMM which just uses the constant product formula -* The trading fees are lower compared to the normal AMM as well. - -## What are some of the features that the Kitchen is still fixing and cooking? - -* Better guides on UI regarding StableSwap and stable LPs -* StableSwap information page -* Adding more stable trading pairs, and the migration process of existing LPs - -## Timeline: - -* StableSwap launch and HAY-BUSD liquidity provision enabled: **Sep 22 2022 11:00 UTC** -* Farm migration (CAKE rewards redirect to from HAY-BUSD LP Farm to HAY-BUSD Stable LP Farm)**: Sep 23 2022 11:00 UTC** diff --git a/products/stableswap/how-to-stableswap.md b/products/stableswap/how-to-stableswap.md deleted file mode 100644 index 5c138617..00000000 --- a/products/stableswap/how-to-stableswap.md +++ /dev/null @@ -1,78 +0,0 @@ -# How to StableSwap - -
- -## **Trading on the StableSwap** - -Trading on the StableSwap is very similar to using the existing PancakeSwap AMM. Before we start, it also requires a BNB Smart Chain-compatible wallet and BNB for gas fees. Please check our [wallet guide](https://docs.pancakeswap.finance/get-started/wallet-guide) for more details. - -1 - Go to the swap page [here](https://pancakeswap.finance/swap#/swap) - -2 - Click on the “StableSwap” tab - -![](https://lh6.googleusercontent.com/CnSjYP6R3vS8IXCZkZLfhTtRIDvdIO9ylB8VwV6l80UN0gYB6pBQC1m-aMmzP3ukQQXWLU4F7OLX2cgZ\_9jIctZHvdYiCTDNLAD2mnyD3E1xWopXF0qckLTnxOPQG4Sc3Vx5QLUmdKcEOtxOgmfOGU6wPYP9GhCiS9Wy6nQn-r0tIuUkgf4ePn2qwA) - -3 - Choose the token pairs you would like to trade. At launch, only one pair (HAY-BUSD) will be added, more stable pairs will be added gradually - -![](<../../.gitbook/assets/Screenshot 2022-09-22 at 7.13.54 PM.png>) - -4 - From this step on, the swap process is the same as the normal PancakeSwap! Please check the guide [here](https://docs.pancakeswap.finance/products/pancakeswap-exchange/trade-guide) from step 4 onwards - -## **Adding & Removing Liquidity** - -Adding and removing liquidity for the StableSwap is also very important and similar to the normal PancakeSwap AMM. Please refer to the guide [here](https://docs.pancakeswap.finance/products/pancakeswap-exchange/liquidity-guide) for a more detailed explanation. - -There are a few differences for StableSwap liquidity: - -1 - When you select the asset pairs that are enabled for StableSwap (e.g. HAY-BUSD), the frontend will prompt that you’re supply “Stable LP” - -![](https://lh3.googleusercontent.com/MVFsZoVNleguG24mNK4DHEsmAx1vwZT5FEyZUHIwgdrGyfuz5v0XNJbjzqSv26o7VWagi7Vq\_7jZMzpHc93wdPonm0V1OrzMgLYHDYTosoqcZSwQAn8gvIXjjNHJdOwRTJw2TuouiI1wpeJKJ8AFdqAkANp2jfCXo3nRxXdLyPWn90h2oPI\_Zpq7Gw) - -2 - The supply of the two assets can be imbalanced at the stage of supplying, and there will be a confirmation page to show the ratio of your supply. - -![](<../../.gitbook/assets/Screenshot 2022-09-22 at 7.15.56 PM.png>) - -3 - You would receive a Stable-LP token as the receipt of the liquidity provision, for future withdrawal and removal. - -![](https://lh3.googleusercontent.com/N4LAjYELBWGQPVWe9mP7nsNBoCAXOhoMQaaQ0K-WZTPM14-K9Ng6qBI29K-DJHrRT2AfJCiRmrKt1uudr7wZxFJv3purL6OFFpqGHArM2\_6QWu3LPA4Uzz\_uXaUV1w8YR1FC7fUoSE5VVHehOjr5NLiZGn588\_85m10ATXMhsT14kEMyPiz6Ss5VQg) - -4 - However, PLEASE NOTE that when you remove the liquidity, you will always get 50%/50% in the assets no matter the ratio when you added the supply. As a simplified example, if you supplied 199 HAY and 1 BUSD, when you remove the liquidity you will receive 100 HAY and 100 BUSD assuming 0 slippage and stable 1:1 prices. - -![](<../../.gitbook/assets/Screenshot 2022-09-22 at 7.16.55 PM.png>) - -## **Migrate your HAY-BUSD Farm Staking** - -Before the StableSwap is launched, HAY-BUSD liquidity and LP farm is already available on PancakeSwap in its normal v2 AMM swap. However, since we are launching HAY-BUSD as the first trading pair on our StableSwap, it is likely that most of you who would like to trade this pair will eventually move to the StableSwap instead of continue using the v2 AMM swap, because: - -* You can swap more efficiently with the same trade steps -* With the StableSwap function, the trading slippage is lower than normal AMM which just uses the constant product formula -* The trading fees are lower compared to the normal AMM - -**PLEASE NOTE: If you’re currently not farming with HAY-BUSD LP, you don’t have to do any migration.** - -**Why does the farm staking need to be migrated?** - -Since most trading activities of HAY-BUSD will be on the StableSwap using the Stable LP going forward, CAKE incentives should be directed to reward the Stable LP stakers for encouraging them to provide the liquidity. There would be less activity for the original HAY-BUSD LP (with the v2 AMM). - -## How to Migrate LP - -There will be a 24-hour window starting from StableSwap launch, and before the CAKE incentives are redirected and the new farm for HAY-BUSD Stable LP is launched. Here’s what you should do if you are currently staking HAY-BUSD LP in the farm: - -1 - Unstake HAY-BUSD LP from the [farms page](https://pancakeswap.finance/farms) - -
- -2 - Remove liquidity of your HAY-BUSD LP at the [liquidity page](https://pancakeswap.finance/liquidity) - -3 - Add liquidity again for HAY-BUSD (this time you should see that you’re adding to Stable LP during the process) - -![](https://lh5.googleusercontent.com/cB4cqAFzpEhnBDCrecAc\_oks\_2xu7gBc\_6BuRupnDNvrOe9MrW\_WF11NGRzu490KZ\_R26ZPRwwmAyRGr2Q14nLORFxzBVV4w98dC1jJvv7I-yfMdsxpNHF9uHxAGwOtFAz6GsyYlJUG2CdxK5\_7BfnhWDnO9U7IfR0b3i0Hfke33sOqQ5axWdHxscQ) - -4 - Stake your HAY-BUSD Stable LP in the [farms page](https://pancakeswap.finance/farms) when it's launched on Sep 23 – look for the card with the Stable LP label - -![](https://lh6.googleusercontent.com/wWGXLFRQFMesilP4pMEUieR-qezbiCdTVhT7geBJuDwIIcC4hqwzgOjEIvRkViBVj-j4hmc9K5fB6vhuHJk8ZyrQfYBRqK1e2yGkiJZhlH5J4PDJu-xT6us-x9dVbodhAW5mm8qZ5yb8HkRrZy1bRz4SKc26jm1lMpTiV3S6tT1WyDtHL8Yj13rp8w) - -## Timeline: - -* StableSwap launch and HAY-BUSD liquidity provision enabled: **Sep 22 2022 11:00 UTC** -* Farm migration (CAKE rewards redirect to from HAY-BUSD LP Farm to HAY-BUSD Stable LP Farm)**: Sep 23 2022 11:00 UTC** diff --git a/products/syrup-pool/README.md b/products/syrup-pool/README.md deleted file mode 100644 index 9f6d49d7..00000000 --- a/products/syrup-pool/README.md +++ /dev/null @@ -1,51 +0,0 @@ -# 🍯 Syrup Pools - Stake CAKE - -![](../../.gitbook/assets/syrup-poos-header.png) - -### **What are Syrup Pools?** - -Syrup Pools are the simplest way to earn free tokens on PancakeSwap.\ -Stake CAKE, earn free tokens. It’s really that easy. - -Some special pools let you stake other tokens besides CAKE, too! - -### **How can I use Syrup Pools?** - -{% content-ref url="../coming-soon/new-cake-pool/" %} -[new-cake-pool](../coming-soon/new-cake-pool/) -{% endcontent-ref %} - -{% content-ref url="../coming-soon/new-cake-pool/flexible-staking.md" %} -[flexible-staking.md](../coming-soon/new-cake-pool/flexible-staking.md) -{% endcontent-ref %} - -{% content-ref url="../coming-soon/new-cake-pool/fixed-term-staking.md" %} -[fixed-term-staking.md](../coming-soon/new-cake-pool/fixed-term-staking.md) -{% endcontent-ref %} - -{% content-ref url="syrup-pool-guide/" %} -[syrup-pool-guide](syrup-pool-guide/) -{% endcontent-ref %} - -### Syrup Pool FAQs & Troubleshooting - -{% content-ref url="new-cake-pool/cake-syrup-pool-faq.md" %} -[cake-syrup-pool-faq.md](new-cake-pool/cake-syrup-pool-faq.md) -{% endcontent-ref %} - -{% content-ref url="syrup-pool-guide/syrup-pool-faq.md" %} -[syrup-pool-faq.md](syrup-pool-guide/syrup-pool-faq.md) -{% endcontent-ref %} - -### **How can I run a Syrup Pool for my project?** - -Reach out via [the application form](https://docs.pancakeswap.finance/contact-us/business-partnerships). - -### Syrup Pool Smart Contracts - -[CAKE Syrup Pool](../../code/smart-contracts/fixed-term-staking-cake-pool.md) - -### - - - diff --git a/products/syrup-pool/new-cake-pool/cake-syrup-pool-faq.md b/products/syrup-pool/new-cake-pool/cake-syrup-pool-faq.md deleted file mode 100644 index 0ac129a5..00000000 --- a/products/syrup-pool/new-cake-pool/cake-syrup-pool-faq.md +++ /dev/null @@ -1,83 +0,0 @@ -# CAKE Syrup Pool FAQ - -## FAQ - -### What lock duration can we choose? - -You can choose from 1-52 weeks. What do you prefer? - -### What variables affect the new CAKE Syrup Pool APYs (Flexible and Fixed-Term Staking options)? - -Since flexible staking and fixed-term staking options are part of the same pool, the following variables affect the APY of both: - -* Total CAKE staked in flexible staking and fixed-term staking (the sum of both). The more CAKE staked, the lower the APY. -* Total locked CAKE in fixed-term staking. The more CAKE locked means more yield boosts, resulting in fewer CAKE rewards for others (especially flexible staking). -* The average lock duration of all CAKE locked in fixed-term staking. If the average lock duration increases, APY will decrease. - -### Can I harvest the rewards during the locked period? - -No. You can harvest the rewards only when the locked duration is ended. This is based on the yield/return we are providing as well as the technical implementations. - -### Can I extend the lock duration? - -Yes. Extending the lock duration adds more time to your **initial lock duration**. When choosing to extend your lock duration, note: - -New extended lock duration = initial lock duration + added duration - -### Can I remove my CAKE from Fixed-Term staking via contract if I change my mind? - -No. Your CAKE cannot be removed or withdrawn from fixed-term staking at any point in time until your lock duration ends and your CAKE is unlocked. - -### What is the "CAKE Locked" amount? - -The "CAKE Locked" amount is a user's initial locked CAKE balance plus CAKE rewards to date. - -CAKE Locked = Initial locked CAKE balance + CAKE rewards - -When adding more CAKE to fixed-term staking, the "CAKE to be locked" amount is the user's initial locked CAKE balance, CAKE rewards to date, and the CAKE being added. - -### Can the Fixed-Term Staking CAKE pool APY change after I lock my CAKE? - -Yes, the fixed-term staking CAKE pool APY is variable, just like the old CAKE pools. The fixed-term staking CAKE pool APY is not fixed and is dependent on: - -* Total CAKE staked in the CAKE pool (the sum of both Flexible + Fixed-Term Staking). -* The average lock duration of all CAKE locked in fixed-term staking. -* A yield boost (similar to a multiplier) calculated from a user's initial lock duration. The longer you lock your CAKE, the higher the yield boost. - -For example, if you lock your CAKE for 52 weeks, your yield boost will be larger than if you lock your CAKE for 26 weeks. The yield boost increases linearly the longer you lock your CAKE. - -### Can I still participate in IFOs if my CAKE is locked in the Fixed-Term Staking pool, or will I need to buy more CAKE? - -TBD, more information will be provided soon. - -### Can I vote if my CAKE is locked in the Fixed-Term Staking pool? - -TBD, more information will be provided soon. - -### Can I use both the Flexible Staking CAKE pool and the Fixed-Term Staking CAKE pool at the same time? - -No. As mentioned above in the "What’s the difference" section, both options are part of the same, single pool. You currently can **never** have CAKE in both fixed-term and flexible staking. - -We have multiple solutions coming in the future to allow users to use both flexible staking and fixed-term staking at the same time, but for now, you can choose only one of them. - -### Is there a fee for converting Flexible Staked CAKE to Fixed-Term Staked CAKE? - -No. There are no additional fees for moving CAKE from flexible staking to fixed-term staking, only network fees. - -### What happens at the end of the lock duration? What is "After Burning"? - -When your fixed-term staking period ends, and your CAKE unlocks, you have 7 days to complete one of two options: - -* Lock your CAKE to begin a new fixed-term staking period\ - or -* Convert your staked CAKE to flexible staking (no 72-hour withdrawal fee). - -![](../../../.gitbook/assets/cake-pool-lock-end.png) - -During these 7 days, you will still earn CAKE. - -After 7 days, if you have not done one of the two options, your staked CAKE will enter what is called "After Burning". With "After Burning", your CAKE rewards will start to be sent to burn. The % of CAKE rewards being sent to burn will linearly increase in the 90 days "After Burning" period until it reaches 100%, which means all the CAKE rewards are burnt. - -So, to avoid missing out on CAKE rewards, we recommend starting a new fixed-term staking period or converting your CAKE to flexible staking at the end of your lock staking period. - -![](<../../../.gitbook/assets/cake-pool-lock-burn (1).png>) diff --git a/products/syrup-pool/syrup-pool-guide/README.md b/products/syrup-pool/syrup-pool-guide/README.md deleted file mode 100644 index a107f7df..00000000 --- a/products/syrup-pool/syrup-pool-guide/README.md +++ /dev/null @@ -1,83 +0,0 @@ ---- -description: 'Syrup Pools: the simplest way to earn on PancakeSwap' ---- - -# Other Syrup Pools - -![](../../../.gitbook/assets/how-to-syrup-pool-staking-header.png) - -Staking in [Syrup Pools](https://docs.pancakeswap.finance/products/syrup-pool) lets you earn CAKE or other tokens while you sleep! - -It's simpler than farming with PancakeSwap's Yield Farms because unlike the Farms, you only need to stake **one token** to start earning: usually CAKE. - -## **Getting started with Syrup Pool staking** - -1\. Go to the Pools page [here](https://pancakeswap.finance/pools). - -![](<../../../.gitbook/assets/1-how-to-stake-in-syrup-pool (1) (1) (1) (1) (1) (2).png>) - -2\. Connect to your BNB Smart Chain-compatible wallet by clicking the **Connect** button (top right-hand side). - -![](<../../../.gitbook/assets/2-how-to-stake-in-syrup-pool (1) (1) (1) (1) (1) (1).png>) - - - -3\. Choose your wallet and connect. - -![](<../../../.gitbook/assets/3-how-to-stake-in-syrup-pool (1) (1) (1) (1) (2).png>) - -4\. Choose which Syrup Pool you want to stake in. - -![](<../../../.gitbook/assets/4-how-to-stake-in-syrup-pool (1).png>) - - - -**IFO CAKE** automatically compounds your rewards: any CAKE you earn will be harvested and re-invested in the same pool for you. You can also earn IFO Credit during the calculation period. - -**Auto CAKE** automatically compounds your rewards: any CAKE you earn will be harvested and re-invested in the same pool for you. - -**Manual CAKE** doesn’t automatically compound like Auto CAKE. You’ll need to harvest and compound your earnings manually. - -Other Syrup Pools let you stake your CAKE to earn dozens of other cool tokens. Make sure you check them out. - -*** - -5\. Once you choose a pool, click the **Enable** button. Your wallet will ask you to confirm the action. - -6\. The Enable button should now be replaced with **Stake**. Click the button to bring up the staking menu. - -![](<../../../.gitbook/assets/image (22).png>) - -7\. Type in an amount or slide the rabbit to choose how much CAKE you want to stake. - -![](<../../../.gitbook/assets/image (23).png>) - -8\. Click **Confirm**. Your wallet will ask you to confirm the action. - -![](<../../../.gitbook/assets/image (22) (1).png>) - -9\. The Confirm button will change to "Confirming", then once the transaction is successful, you’ll see your staked amount change and the button will change again. - -10\. You should now be able to see details on your Syrup Pool. Auto CAKE will show a countdown until the unstaking fee ends. The other pools will show a **Collect** button to claim your staking rewards into your wallet. - -![](<../../../.gitbook/assets/image (59) (1).png>) - -### **Adding and removing CAKE from a pool** - -You can easily add more CAKE to a Syrup Pool, or move some CAKE to a more profitable pool. Here’s how you can move your staked CAKE. - -1\. Click the **-** to take some CAKE out of a pool, or the **+** to add more to the pool. - -![](<../../../.gitbook/assets/image (26).png>) - -Please note that unstaking from the Auto CAKE pool has a fee of 0.1% if you unstake within 72 hours. - -2\. A window will open. If you clicked the **+**, choose the amount you would like to add to the pool. If you clicked the **-**, choose the amount to take out of the pool. - -![](<../../../.gitbook/assets/image (27).png>) - -3\. Click **Confirm**. - -4\. After a little wait, you'll be able to see your new amount of staked tokens. - -![](<../../../.gitbook/assets/image (29).png>) diff --git a/products/syrup-pool/syrup-pool-guide/syrup-pool-faq.md b/products/syrup-pool/syrup-pool-guide/syrup-pool-faq.md deleted file mode 100644 index 24bf8166..00000000 --- a/products/syrup-pool/syrup-pool-guide/syrup-pool-faq.md +++ /dev/null @@ -1,68 +0,0 @@ -# Syrup Pool FAQ & Troubleshooting - -## Troubleshooting - -### **I can't find the Syrup Pool I was staking in!** - -You should be able to find the Syrup Pool under the “Finished” tab on the Syrup Pools page. - -By selecting “Staked Only”, it will make it easier to find your assets. - -### **Why can’t I unstake my tokens from a Syrup Pool?** - -If you are unable to unstake from the Stake Cake, Earn CAKE pools, please check to make sure that you haven’t sold the SYRUP tokens in your wallet. This token acts as a \`proof of ownership\` over your CAKE in the Manual CAKE pool. - -### **Why did my earned tokens go to zero after staking/unstaking?** - -Don’t worry! They’re in your wallet already. - -Whenever you stake or unstake from a Syrup Pool or farm, your earned tokens get harvested and sent to your wallet at the same time. - -## **General Questions** - -### How is APR for Syrup Pools calculated? - -> Syrup Pool APR = Annualized rewards (USD) / User funds staked in Syrup Pool (USD) \* 100 - -As a basic example, let's take a 60-day pool with 300,000 USD worth of rewards, and 3,000,000 USD worth of CAKE staked in it. - -The APR fluctuates as more CAKE is staked by users, and as the price of CAKE, and the reward token, vary. - -| | **Calculation** | Amount | -| ----------------------------------------------------- | --------------------------------- | ------------------------------------------ | -| Total rewards to distribute (USD value) | | 300,000 USD | -| Distribution period | | 60 days | -| Daily distribution | 300,000 / 60 = | 5,000 USD daily | -| **Annualised rewards (USD value)** | 5,000 \* 365 = | **1,825,000 USD** | -| **Value of CAKE staked by users in pool (USD value)** | | **3,000,000 USD** | -| **APR** | (1,825,000 / 3,000,000) \* 100 = |

60.833% APR

| - -### **What does the “End” number on my Syrup Pool refer to?** - -This shows the amount of blocks left until the rewards for that pool stop being distributed. Once the pool has reached that block, you should unstake your tokens, because you won’t be receiving any rewards after that. - -### **Where do the rewards from Syrup Pools come from?** - -There are three main types of Syrup Pools. - -1. Stake CAKE, earn CAKE -2. Stake CAKE, earn other tokens. -3. Stake other tokens, earn CAKE - -The rewards for the "Stake CAKE, earn CAKE" Syrup Pools come from the [CAKE emissions](https://docs.pancakeswap.finance/tokenomics/cake/cake-tokenomics). Each block, a number of CAKE tokens are allocated as rewards for these pools. - -The rewards for the "Stake CAKE, earn other tokens" type are provided by the project teams who sponsor a Syrup Pool. - -For the "Stake other tokens, earn CAKE" type, the PancakeSwap treasury buys back CAKE from the market to distribute as rewards. These pools are funded by PancakeSwap, not by the projects themselves. - -### What’s SYRUP Token? - -PancakeSwap’s SYRUP Token is deposited in your wallet when you interact with the **Manual** “Stake CAKE, Earn CAKE” Syrup Pool. It's not staked for - -It’s basically an IOU that shows how much CAKE you’ve staked in the pool. - -It’ll be returned automatically when you unstake your CAKE from that pool. - -{% hint style="warning" %} -Don’t sell your SYRUP tokens! You need to return your SYRUP to unstake your CAKE from the Manual CAKE pool. The amount of SYRUP you return must be the same as the amount of CAKE you unstake. -{% endhint %} diff --git a/products/voting/README.md b/products/voting/README.md deleted file mode 100644 index 8fee8179..00000000 --- a/products/voting/README.md +++ /dev/null @@ -1,11 +0,0 @@ -# 🗳 Voting - -![](../../.gitbook/assets/voting-header.png) - -Voting gives a voice to the PancakeSwap community, letting the community have a say in how PancakeSwap develops into the future. - -Check out [PancakeSwap's native voting portal](https://voting.pancakeswap.finance/?\_gl=1\*pc8o0h\*\_ga\*MTUzNDEzNDQxMy4xNjAwNzkzNDM4\*\_ga\_334KNG3DMQ\*MTYwNDMwMTk4Ni42MC4xLjE2MDQzMDM3MDIuMA..#/) on the PancakeSwap website. - -**Core** - proposals posted by the PancakeSwap team. The results will be actioned. - -**Community** - proposals posted by the PancakeSwap community. These are used to propose ideas and show the communities point of view. The PancakeSwap team reviews every community vote and will often cherry-pick any great ideas and designs with strong community support up to the coming product releases and/or core voting proposal level. diff --git a/products/voting/vcake.md b/products/voting/vcake.md deleted file mode 100644 index 1705d5c6..00000000 --- a/products/voting/vcake.md +++ /dev/null @@ -1,40 +0,0 @@ -# vCAKE - -### What is vCAKE? - -vCAKE is a number representing the boosted voting power based on a user’s fixed-term CAKE staking position. - -The vCAKE number will be added to your total voting power. - -**Similar to iCAKE, vCAKE is NOT a new token.** - -vCAKE IS NOT transferrable or tradeable. - -### How is vCAKE calculated? - -vCAKE is calculated based on two variables: - -1. The amount of CAKE located in the Fixed-Term Staking Pool -2. The remaining lock durations of the staking positions - -For point 2., it is important to clarify that the remaining lock duration is not (a) how many weeks you committed your CAKE for when you first locked it up (e.g. 52 weeks), but (b) the time remaining on your lock. In this case, if you locked CAKE for 52 weeks around 10 weeks ago, your remaining lock duration is 42 weeks, not 52 weeks. - -If your remaining staking duration is less than one week, your vCAKE is equal to the amount of CAKE locked in the CAKE pool. - -If your remaining staking duration is more than one week, your vCAKE is equal to the amount of CAKE locked, multiplied by the number of weeks left in the staking position. - -For example: - -* Alice locked 100 CAKE for 52 weeks; her staking position will unlock in 40 weeks. She has \`100 x 40 = 4000 vCAKE\` -* Bob locked 100 CAKE for 52 weeks; his staking position will unlock in 52 weeks. He has \`100 x 52 = 5200 vCAKE\` -* Carole locked 100 CAKE for ten weeks; and her staking position has ended. She has \`100 vCAKE\` - -![](<../../.gitbook/assets/image (3).png>) - -### How to check the vCAKE number? - -If you are casting a vote, you will find the number of vCAKE in the voting power breakdown by clicking the ">" button on the "Confirm Vote" window. - -![](<../../.gitbook/assets/how-to-vote-5 (1).png>) - -If you are making a community proposal, you can check your voting power by clicking "Check your voting power" at the bottom of the "Actions" panel. diff --git a/products/voting/voting-guide/README.md b/products/voting/voting-guide/README.md deleted file mode 100644 index 6e757f41..00000000 --- a/products/voting/voting-guide/README.md +++ /dev/null @@ -1,78 +0,0 @@ -# How to Vote - -![](../../../.gitbook/assets/how-to-voting-header.png) - -Participating in governance voting is easy, and it is absolutely **FREE**. You don't even need to pay gas fees! Learn more about how to vote, catch the next proposal and cast your vote. - -### How to vote - -#### Navigate to the vote proposal - -Whenever we publish a new proposal, we always attach the link to the voting page. So be sure to follow [our social channels](../../../contact-us/telegram.md) for the news and updates. - -Alternatively, you can visit [PancakeSwap's native voting portal](https://voting.pancakeswap.finance/?\_gl=1\*pc8o0h\*\_ga\*MTUzNDEzNDQxMy4xNjAwNzkzNDM4\*\_ga\_334KNG3DMQ\*MTYwNDMwMTk4Ni42MC4xLjE2MDQzMDM3MDIuMA..#/) to browse the proposals in a list. If you don't see the proposal, it may be in the "soon" tab. - -#### Read and pick the choice to vote - -![the proposal page](../../../.gitbook/assets/how-to-vote-1.png) - -On the proposal page. You will find: - -* The content of the proposal -* The choices to vote -* The detail of the proposal such as snapshot block and voting window -* The latest voting result -* The list of votes - -Read the proposal carefully and click the choice you want to vote on. - -![](../../../.gitbook/assets/how-to-vote-2.png) - -#### Confirm and cast your vote - -![](../../../.gitbook/assets/how-to-vote-6.png) - -Confirm all the details and click "Confirm Vote", then confirm in your wallet to sign the message. - -Done, you just successfully cast your vote. - -### How to check the details - -{% tabs %} -{% tab title="Check the voting power" %} -Before casting your vote, you will see a "Confirm Vote" window. - -![](../../../.gitbook/assets/how-to-vote-4.png) - -In this window, you can double-check the following items: - -* The choice you picked -* Your voting power - -If you are not sure about how the voting power is calculated, click on the ">" to bring up the detailed breakdown. - -![](<../../../.gitbook/assets/how-to-vote-5 (2).png>) - -Please note that only CAKE held in the following places will contribute to the total number of voting power: - -1. In wallet -2. Flexible CAKE Staking (both in CAKE pool and side pool) -3. Fixed Term CAKE Staking (boosted by [vCAKE](../vcake.md)!) -4. Other Syrup Pools (provided by other projects) -5. CAKE/BNB LP - -CAKE held in other places does not contribute to your voting power. -{% endtab %} - -{% tab title="Check the snapshot block" %} -#### Check the snapshot block - -![](../../../.gitbook/assets/how-to-vote-3.png) - -Voting power is calculated based on a snapshot taken on the snapshot block. Therefore, purchasing or depositing more CAKE after the proposal is posted is not going to increase the voting power for that particular proposal. - -If you want to know the exact time of the snapshot block. Simple click on the block number and look for the timestamp on the BscScan page. - -![](../../../.gitbook/assets/how-to-vote-7.png) -{% endtab %} -{% endtabs %} diff --git a/products/voting/voting-guide/how-to-vote-with-safepal-wallet.md b/products/voting/voting-guide/how-to-vote-with-safepal-wallet.md deleted file mode 100644 index abafb85f..00000000 --- a/products/voting/voting-guide/how-to-vote-with-safepal-wallet.md +++ /dev/null @@ -1,22 +0,0 @@ -# How to Vote with SafePal Wallet - -![](../../../.gitbook/assets/how-to-voting-with-safepal-header.png) - -You can use the SafePal wallet to vote on open issues in PancakeSwap. Follow the steps below to cast your vote from inside the SafePal wallet. - -1\. Open your SafePal wallet and select the dApp browser icon in the menu down the bottom. - -![](../../../.gitbook/assets/safepal-1.png) - -2\. Enter the URL of the voting page in the address bar. If you don't know the direct URL to the vote you want to vote on, you can go to the [PancakeSwap voting page](https://voting.pancakeswap.finance/) and find the vote from there. - -![](../../../.gitbook/assets/safepal-2.png) - -3\. Click on the connect wallet button at the top of your screen (see the image). - -![](../../../.gitbook/assets/safepal-3.png) - -4\. Click on **Injected** as the wallet. Your wallet will now be connected and you can now vote on PancakeSwap proposals. - -![](../../../.gitbook/assets/safepal-4.png) - diff --git a/products/yield-farming/README.md b/products/yield-farming/README.md deleted file mode 100644 index 0feb386c..00000000 --- a/products/yield-farming/README.md +++ /dev/null @@ -1,52 +0,0 @@ -# 🚜 Yield Farming - -![](../../.gitbook/assets/yield-farms-header.png) - -Yield Farms allow users to earn CAKE while supporting PancakeSwap by staking LP Tokens. - -Check out our [How to Use Farms guide](https://docs.pancakeswap.finance/products/yield-farming/how-to-use-farms) to get started with farming. - -Learn [how to find Farm smart contracts](./) - -{% hint style="warning" %} -Yield farming can give better rewards than Syrup Pools, but it comes with a risk of **Impermanent Loss**. It’s not as scary as it sounds, but it is worth learning about the concept before you get started. - -Check out this great [article about Impermanent Loss ](https://academy.binance.com/en/articles/impermanent-loss-explained)from Binance Academy to learn more. -{% endhint %} - -## Reward calculations - -Yield Farm APR calculations include both: - -* **LP rewards APR** earned through providing liquidity and; -* **Farm base rewards APR** earned staking LP Tokens in the Farm. - -Why? Because when you stake your LP tokens in a farm to earn CAKE, you're still providing liquidity to the liquidity pool, so you earn LP rewards as well! - -![](<../../.gitbook/assets/Frame 1 (3).png>) - -So how do we calculate those figures? - -### Calculating Farm Base Reward APR - -The **Farm Base APR** is calculated according to the farm multiplier and the total amount of liquidity in the farm -- this is the amount of CAKE distributed to the farm. - -### Calculating LP Reward APR - -On top of that, farmers receive **LP rewards** for providing liquidity. Here's an example of calculating **LP rewards**: - -![](https://lh4.googleusercontent.com/rJswz2qvCNTcODcClHxqlLpanSLsfbGtVw75MMPicBN1iKTKCuEYlPuoFAqskoy24DB9JBmATWb8dk3WmY1\_BFDZoS94sWTBZhZrcnG711rC8ltDXPR3gdl8D50eWq\_cfiBriKcl) - -In the WBNB/BUSD pair above, we see these values: - -**Liquidity:** $387.42M\ -**Volume 24H:** $96.97M\ -**Volume 7D:** 709.73M - -* Calculate yearly fees - * Use the 24H volume to calculate the **fee share** of liquidity providers in the pool (based on the 0.17% trading fee structure):\ - $96,970,000\*0.17/100 = **$164,849** - * Next, use that **fee share** to estimate the projected **yearly fees** earned by the pool (based on the current 24h volume):\ - $164,849\*365 = **$60,169,885** -* We can now use the yearly fees to calculate the **LP rewards APR:** That's **yearly fees** divided by **liquidity:**\ - ($60,169,885/$387,420,000)\*100 = **15.53% LP reward APR** diff --git a/products/yield-farming/bcake/README.md b/products/yield-farming/bcake/README.md deleted file mode 100644 index 3529073e..00000000 --- a/products/yield-farming/bcake/README.md +++ /dev/null @@ -1,19 +0,0 @@ -# bCAKE - -![](../../../.gitbook/assets/how-to-bCAKE.png) - -bCAKE - Farm Boosters, is an automatic generated boost multiplier that allows you to boost your CAKE yield from selected farms up to 2x, taking full advantage of combining fixed-term CAKE staking and liquidity yield farming. - -**bCAKE is NOT a new token and can NOT be transferred!** - - - -Learn more about bCAKE and how to use it to boost your farming yields: - -{% content-ref url="how-to-use-bcake.md" %} -[how-to-use-bcake.md](how-to-use-bcake.md) -{% endcontent-ref %} - -{% content-ref url="faq.md" %} -[faq.md](faq.md) -{% endcontent-ref %} diff --git a/products/yield-farming/bcake/faq.md b/products/yield-farming/bcake/faq.md deleted file mode 100644 index c6555ad1..00000000 --- a/products/yield-farming/bcake/faq.md +++ /dev/null @@ -1,132 +0,0 @@ -# FAQ - -![](../../../.gitbook/assets/how-bCAKE-FAQ.png) - -### How are the bCAKE multipliers calculated? - -You may notice that you get different bCAKE boost multipliers when staking in different farms. - -That's because bCAKE - Farm Boosters multipliers are calculated using the following metrics upon activation or refresh: - -* `userLpStakedAmount` : The number of LP tokens you are staking in the farm -* `totalLpStakedAmount` : The total number of LP tokens in the farm -* `userLockedAmount` : The number of CAKE you are staking in the fixed-term staking CAKE pool -* `userLockedDuration` : The staking duration of your fixed-term staking position -* `totalLockedAmount` : The total number of locked CAKE in the fixed-term staking CAKE pool -* `averageLockedDuration` : The average staking duration of the fixed-term staking CAKE pool - -The multiplier is calculated using the following method: - -1. `resultA = constantA * userLpStakedAmount` -2. `resultB = (totalLpStakedAmount * userLockedAmount * userLockedDuration / constantB) / (totalLockedAmount * averageLockedDuration)` -3. `boostMultiplier = min(userLpStakedAmount, (resultA + resultB)) / resultA` - -`constantA` and `constantB` are set by the kitchen and subject to future adjustments based on community feedback and market condition. - -Here are some examples of the calculation: - -![](../../../.gitbook/assets/bCAKE-params.png) - -![](../../../.gitbook/assets/bCAKE-cal.png) - -{% hint style="info" %} -**TL;DR** - -The more LP you want to boost - -The more CAKE you need to lock for longer durations -{% endhint %} - -### Why do my multipliers change even after activation? - -Please note that any user actions to the farms or CAKE staking pool will automatically update your boost multiplier based on the latest data and statistics from farms and the CAKE staking pool, including but not limited to: - -* Stake/Unstake LP tokens to/from Farm -* Harvest CAKE rewards from Farm -* Extend your CAKE staking duration -* Add more CAKE into your fixed-term staking position -* Convert your CAKE staking position to flexible - -{% hint style="warning" %} -Please note: - -In order to ensure fairness and prevent potential abuse and cheating using out-of-date data. Farm booster is designed to be community governance. Therefore, anyone can call `refresh(address _user, uint256 _pid)` function on the farm booster contract (link) to refresh anyone's boost multipliers using the latest data. -{% endhint %} - -### Where are my CAKE rewards after activating or unsetting the booster? - -![](../../../.gitbook/assets/bCAKE-has-pending-balance.png) - -While farming with bCAKE - Farm Boosters, some of your harvested CAKE rewards may be temporally stored in the farm booster contract. Whenever this happens, you will see a dotted line under your "CAKE EARNED", indicating that apart from the number shown, you have more CAKE rewards in the farm booster contract. - -**This part of the CAKE rewards will be automatically sent to your wallet upon the next harvest, deposit or withdrawal.** - -To harvest them right now, simply click the "Harvest" button. - -![](../../../.gitbook/assets/bCAKE-has-pending-balance-tooltip.png) - -To check the number of extra rewards in the farm booster contract, hover or long-press the number with the dotted line. - -### Why I'm not able to boost a farm - -1. Farm booster is only available for selected farms. More farms will be made available in the future. For now, look for the "Boosted" tag on the UI.\ - ![](<../../../.gitbook/assets/bCAKE-boost-tag (1).png>) -2. There is a limit to the number of farms that are able to boost simultaneously. To check the number of remaining boosters, refer to the panel on top. \ - ![](<../../../.gitbook/assets/bCAKE-farm-number-limit (1).png>)\ - You will need to unset an active booster in order to activate boosters on other farms. -3. Make sure you've completed the one-time setup. -4. Due to the involvement of multiple contracts, some of the contract interactions require slightly more gas tokens (BNB). So please make sure you have enough BNB in your wallet. - -### What is the maximum bCAKE Boost Multiplier I can get? - -Currently, the maximum boost a user can get for a farm booster is 2x. Which offers them double the baseline APRs. - -### How can I increase my bCAKE Boost Multipliers? - -* Add more CAKE into the fixed-term staking position -* Extend the duration of your fixed-term staking position - -Simply put: - -> Stake more CAKE, stake for longer - -[Learn more about how the bCAKE boost multipliers are calculated](faq.md#how-are-the-bcake-multipliers-calculated). - -### Where are the extra boosted CAKE rewards coming from? - -**Relax, no extra emissions are allocated in order to make bCAKE possible.** - -Similar to fixed-term CAKE staking. bCAKE boosts individual users' share against the others. - -Even though the baseline APR may drop after the deployment of bCAKE. Chefs believe it is a good tradeoff as it not only benefits loyal CAKE lovers by boosting their farming yield, but also creates more demand for CAKE and serves as a great incentive for CAKE staking. - -### Why the gas usage is high when enabling farm booster for the first time? - -To enable bCAKE - farm booster, users must set up a proxy wallet address, which requires deploying a new contract. This process is relatively gas heavy. (around $2\~5 based on the BNB price and the condition of the blockchain) - -However, the setup process is one-time-only for each wallet address. You only need to perform it once. - -### Why the multiplier I receive is low? - -bCAKE - farm booster works in a way by evaluating both your fixed-term CAKE staking position and your liquidity farming position. Simply put: - -> If users want to boost more LP tokens in farm, they will need to lock more CAKE for longer durations in pool. - -This design ensures the benefits are not only offered to large holders, but to any user who has a sizable CAKE staking position when compared to the farming position. - -Learn more about how the multiplier is calculated [here](faq.md#how-are-the-bcake-multipliers-calculated). - -### Why only CAKE/BUSD? Why only 1 farm? - -Since bCAKE involves updating one of PancakeSwap's core products, which is liquidity farming. Chefs want to take a slower and more steady approach to the launch. - -Therefore, in the initial product release phase. Many of the parameters are very conservative. Including the number of farms users can boost, which farm users can boost, as well as the difficulty parameter in receiving the boost multiplier. - -After the initial release phase, Chefs will adjust the parameters based on the community feedback. - -### Is bCAKE audited? - -bCAKE has been audited by both internal and external auditors. - -Check out PeckSheild's audit report [here](https://github.com/peckshield/publications/tree/master/audit\_reports/PeckShield-Audit-Report-PancakeSwap-FarmBooster-v1.0.pdf). - diff --git a/products/yield-farming/bcake/how-to-use-bcake.md b/products/yield-farming/bcake/how-to-use-bcake.md deleted file mode 100644 index 2b9c35bd..00000000 --- a/products/yield-farming/bcake/how-to-use-bcake.md +++ /dev/null @@ -1,64 +0,0 @@ -# How to use bCAKE? - -![](../../../.gitbook/assets/how-to-use-bCAKE.png) - -Similar to iCAKE and vCAKE, bCAKE is also a benefit designed for users who lock their CAKE in the fixed-term CAKE staking pool. The boost multiplier is calculated based on how much CAKE you stake, how long you are staking them for, as well as how many LP tokens you are staking in the farm that you want to boost. - -## Preparations - -### Initiate a fixed-term CAKE staking position - -![](../../../.gitbook/assets/bCAKE-no-cake-locked.png) - -If you haven't locked any CAKE in the CAKE staking pool, click "Go to Pool" and follow the instructions to initiate a fixed-term staking position. - -To learn more about how to do fixed-term CAKE staking, read [here](../../coming-soon/new-cake-pool/#fixed-term-staking). - -### Enable farm boosters - -![](../../../.gitbook/assets/bCAKE-enable-booster.png) - -To enable farm boosters, you must complete a one-time setup process. To proceed, simply click "Enable" and confirm the transaction from your wallet. - -### Migrate your stakings - -{% hint style="info" %} -If you are not currently staking in the farm you want to activate bCAKE, you can skip this step and start by staking LP tokens in the farm. -{% endhint %} - -****![](../../../.gitbook/assets/bCAKE-staking-migration-needed.png)**** - -If you have been staking in the farm you want to activate the farm booster, a one-time staking migration is also required. - -Click "Migrate" and follow the step-by-step guide to complete the migrations. Your CAKE rewards will be automatically harvested and sent to your wallet. - -![](../../../.gitbook/assets/bCAKE-migration-inprogress.png) - -## Activate Boosters - -![](../../../.gitbook/assets/bCAKE-pending-activation.png) - -Once ready, you should see the available boost multiplier and the boosted APR for the farm you are currently staking. To learn more about how the bCAKE multiplier is calculated, read [here](faq.md#how-are-the-bcake-multipliers-calculated). - -To activate the boost, click the "Boost" button, and confirm the transaction from your wallet. - -{% hint style="info" %} -Please note that any user actions to the farms or CAKE staking pool will automatically update your boost multiplier based on the latest data and statistics from farms and the CAKE staking pool. - -Learn more [here](faq.md#why-do-my-multipliers-change-even-after-activation). -{% endhint %} - -### ![](../../../.gitbook/assets/bCAKE-farm-number-limit.png) - -There is a limit to the number of farms that are able to boost simultaneously. To check the number of remaining boosters, refer to the panel on top. - -You will need to unset an active booster in order to activate boosters on other farms. - -## Unset Boosters - -![](../../../.gitbook/assets/bCAKE-pending-unset.png) - -To unset a farm booster, simply click the "Unset" button, and confirm the transaction from your wallet. - -Please note upon unsetting, CAKE earned will be harvested to the farm booster contract and will be automatically sent to your wallet upon the next harvest, deposit or withdrawal. Learn more [here](faq.md#where-are-my-cake-rewards-after-activating-or-unsetting-the-booster). - diff --git a/products/yield-farming/crosschain-farming/README.md b/products/yield-farming/crosschain-farming/README.md deleted file mode 100644 index aa0a2831..00000000 --- a/products/yield-farming/crosschain-farming/README.md +++ /dev/null @@ -1,21 +0,0 @@ ---- -description: Receive the same juicy CAKE rewards by farming on other blockchains ---- - -# Crosschain Farming - -
- -With the multichain deployment, PancakeSwap is now bringing the iconic yield farming experience from PancakeSwap farms to users on other blockchains. Yield Farms allow users to earn CAKE while supporting PancakeSwap by staking LP Tokens. - -Check out the [main section](../) to learn more about yield farming. - -Check out our [How to Use Farms guide](https://docs.pancakeswap.finance/products/yield-farming/how-to-use-farms) to get started with farming. - -{% hint style="warning" %} -Yield farming can give better rewards than Syrup Pools, but it comes with a risk of **Impermanent Loss**. It’s not as scary as it sounds, but it is worth learning about the concept before you get started. - -Check out this great [article about Impermanent Loss ](https://academy.binance.com/en/articles/impermanent-loss-explained)from Binance Academy to learn more. -{% endhint %} - -PancakeSwap Crosschain farming is powered by the cross-chain messaging service provided by Celer Network. To learn more, visit: [https://www.celer.network/](https://www.celer.network/) diff --git a/products/yield-farming/crosschain-farming/faq.md b/products/yield-farming/crosschain-farming/faq.md deleted file mode 100644 index c04e99a4..00000000 --- a/products/yield-farming/crosschain-farming/faq.md +++ /dev/null @@ -1,120 +0,0 @@ -# FAQ - -

\

- -### What should I do on PancakeSwap on other blockchains? - -Provide liquidity, trade and farm as you always have been. If you are a multichain user already, remember to provide liquidity on PancakeSwap on other blockchains that we've deployed on (like Ethereum), as we have CAKE rewards on BNB Smart Chain for you, allowing you to earn even more CAKE without bridging those assets over! - -### **Will there be more pairs?** - -Yes, but we will be deploying in steps to ensure we prioritize the safety of user funds and CAKE inflation. Do let us know in the community chats what you think should be added to PancakeSwap on other blockchains, as well as what other blockchains we should deploy PancakeSwap on. - -### **Why the gas cost for staking LP tokens is high?** - -A small amount of native token (for example, ETH on Ethereum) is required for the first-time setup. So the first transaction will be slightly costly. - -Plus, there are other fees (mostly gas costs) involved in cross-chain farming. Check out [this](faq.md#are-there-any-fees-when-i-do-crosschain-farming) dedicated section to learn more. - -### **Why do staking and unstaking take 30 minutes to complete?** - -All cross-chain transactions will take around 30 minutes to complete. It is because: - -* Transactions have to be executed on both the farming blockchain (like Ethereum) and the BNB Chain. -* Delivering cross-chain messages takes time. -* To ensure safety and all the data are synced and consistent between different blockchains. - -### **Where are my harvested CAKE rewards?** - -Your harvested CAKE will be distributed on BNB Smart Chain. Please switch the blockchain network in your wallet to check the balance of CAKE. - -### **I can't harvest because my wallet doesn't support switching between different blockchains!** - -Please try using a different wallet app that supports multichain and chain switching. - -Please note that staking and unstaking LP tokens will also harvest all the earned CAKE to your wallet on BNB Smart Chain. Therefore if you don't want to use a different wallet app, simply stake more, or unstake a tiny amount of LP tokens to harvest your earned CAKE. - -### Are there any fees when I do crosschain farming? - -Unlike farming natively on BNB Chain, farming on other blockchains requires cross-chain activities. Here are the fees involved: - -**1 - Gas fee to create a proxy contract** - -A proxy contract has to be created on the BNB Chain for cross-chain farming. The gas cost for proxy contract creation is included in the transaction. - -This fee only charges once upon the first "stake" transaction. - -**2 - Gas fee for calls on BNB Chain** - -When users deposit or withdraw LP tokens. An executor will perform transactions calling on behave of the users on the BNB Chain. The gas cost for these calls is included in the transaction. - -This fee is charged in every deposit or withdrawal transaction. - -**3 - Gas fee for calls on other blockchains** - -When users withdraw LP tokens. An executor will perform the final transactions calling to release the LP tokens on other blockchains (like Ethereum). The gas cost for these calls is included in the transaction. - -This fee is only charged in withdrawal transactions. - -**4 - Cross-chain messaging fee** - -We utilise a message bus powered by Celer to route our cross-chain messages. Therefore a messages fee is included based on the byte length of the message. - -This fee is charged in every stake transaction. In unstake transactions, this fee is charged twice since a two-way communication between BNB Chain and other blockchains is required for safety. - -``` -messagingFee = feeBase + message.length * feePerByte; -``` - -You may find the variables in the formula with in the message bus contract: - -* Ethereum: `0x4066d196a423b2b3b8b054f4f40efb47a74e200c` -* BNB Chain: `0x95714818fdd7a5454f73da9c777b3ee6ebaeea6b` - -**5 - The starter fund** - -This is not strictly a "fee". - -For every new user who started doing PancakeSwap cross-chain farming. In the first “stake” transaction, we will deposit 0.005 BNB into their BNB Chain wallet. The corresponding amount of native tokens on the farming chain (like ETH on Ethereum) will be charged from the deposit transaction, using the market rate provided by the price oracle. - -This is to help users start their BNB Chain journey with ease. We understand the painfulness of having all the harvested CAKE but not being able to explore the vivid PancakeSwap ecosystem without finding another way to acquire BNB for gas. - -This fee only charges once upon the first "stake" transaction. - -### Where are the emissions coming from? - -_updated on Oct 10 2022_ - -For now, Chefs have diverted 0.0189 CAKE per block from the CAKE pool to all crosschain farms. - -Here is the emissions breakdown: - -| | Multiplier | CAKE per block | -| ------------------------ | ---------- | -------------- | -| **CAKE Pool** | - | **8.9811** | -| **All Crosschain Farms** | - | **0.0189** | -| Ethereum ETH/USDC | 0.5x | 0.0105 | -| Ethereum ETH/USDT | 0.2x | 0.0042 | -| Ethereum WBTC/ETH | 0.2x | 0.0042 | - -### What happened during the deposit, harvest and withdrawal? - -PancakeSwap crosschain farming is like using a "stand-in" LP token to farm on the BNB Chain, with the same PancakeSwap MasterChef. The CAKE rewards are calculated and distributed on BNB Chain, controlled and guarded by the same MasterChef contract. - -#### Upon Deposit: - -1. Users request depositing LP tokens on farming blockchains (like Ethereum). -2. LP tokens are being transferred to farming vault contracts. -3. Celer message bus is utilised to deliver the "deposit" message to BNB Chain. -4. An executor on BNB Chain mints the same amount of farming tokens as "stand-ins", and then deposits them into the farms. - -#### Upon Harvesting: - -Since CAKE rewards are calculated and distributed on BNB Chain. Users can claim their CAKE rewards with a single BNB Chain transaction without the need for cross-chain operations. - -#### Upon Withdrawal: - -1. Users request withdrawing LP tokens on farming blockchains (like Ethereum). -2. Celer message bus is utilised to deliver the "withdraw" message to BNB Chain. -3. An executor on BNB Chain withdraws the farming tokens from the farms, burns those tokens, transfers the earned CAKE to users, and utilises the Celer message bus to deliver the confirmation message back to the original farming blockchain. -4. An executor on the farming blockchain confirms everything and then releases the LP tokens from the vault contracts. diff --git a/products/yield-farming/how-to-use-farms.md b/products/yield-farming/how-to-use-farms.md deleted file mode 100644 index c128ef7b..00000000 --- a/products/yield-farming/how-to-use-farms.md +++ /dev/null @@ -1,145 +0,0 @@ ---- -description: Yield Farming on PancakeSwap is easy! ---- - -# How to Use Farms - -![](../../.gitbook/assets/how-to-yield-farms-header.png) - -Yield Farming in Farms is a great way to earn CAKE rewards on PancakeSwap. - -Unlike Syrup Pools, Farms require you to stake **two tokens** to get LP Tokens, which you then stake in the Farm to earn rewards. This lets you earn CAKE while still keeping a position in your other tokens! - -{% hint style="warning" %} -Yield farming can give better rewards than Syrup Pools, but it comes with a risk of **Impermanent Loss**. It’s not as scary as it sounds, but it is worth learning about the concept before you get started. - -Check out this great [article about Impermanent Loss ](https://academy.binance.com/en/articles/impermanent-loss-explained)from Binance Academy to learn more. -{% endhint %} - -## Getting prepared - -Yield farming takes a little work to get set up. - -You’re going to need some "LP Tokens" to enter into a Farm with. Farms can only accept their own exact LP Token; for example, the CAKE-BNB Farm will only accept CAKE-BNB LP Tokens. - -To get the exact LP Token, you'll need to provide liquidity for that trading pair. So to get CAKE-BNB LP Tokens, you'll first have to provide liquidity for the CAKE-BNB pair. - -It may sound intimidating, but it's not too complicated. Let's go through step by step. - -### Finding your Farm - -Before you proceed, you'll want to choose a Farm that's right for you. [Visit the Farms page](https://pancakeswap.finance/farms) and you’ll see a list of available Farms. - -![](<../../.gitbook/assets/image (1).png>) - -You can choose another sorting option if you like, such as by **APR** for the Farms with the highest reward rate currently. - -When you find a Farm that you'd like to use, note down the trading pair, e.g. BNB-CAKE in case you need it later. - -### Providing liquidity to get LP Tokens - -Now that you've found a Farm to stake in, you will need to add liquidity to get your LP Tokens. - -1. Click on the row of the Farm you've chosen from the list. It will open to show more details. -2. On the left, you'll see some links. Click the **Get (your pair) LP** link. - -![](<../../.gitbook/assets/image (8).png>) - -## Putting your LP Tokens into a farm - -Now that you have your LP Tokens, you’re ready to start staking them in a Farm and earning rewards! - -### Putting your LP Tokens into the Farm - -1 - Go back to the [Farms page](https://pancakeswap.finance/farms) and locate your Farm. Click anywhere on the row showing your pair. It will expand to show more details. - -![](<../../.gitbook/assets/image (6).png>) - -When you’re ready, click the **Enable** button and confirm your action in your wallet. - -2 - After a short wait, the Enable button will change to **Stake LP**. Click it and a new window will appear. - -![](<../../.gitbook/assets/image (7).png>) - -3 - Type the amount of LP Tokens you would like to farm with into the field, or just click **Max** to use all of your LP Tokens. - -![](<../../.gitbook/assets/image (5).png>) - -4 - When you have the amount entered, the **Confirm** button will light up. Click it. Your wallet will ask you to confirm your action. - -5 - After a short wait, the window will close, and you will see your new staked LP Token balance in the details. - -![](<../../.gitbook/assets/image (135).png>) - -{% hint style="info" %} -When you are farming on a different blockchain other than the BNB chain. You will need to wait approximately 30 minutes for the cross-chain transactions to confirm. - -![](../../.gitbook/assets/crosschain-farm-wait.png) - -To track the progress of a crosschain farming transaction. Click the circular icon on the side of your staked balance, or check out the "Recent Transaction" section in the top right-hand corner. -{% endhint %} - -{% hint style="warning" %} -When you are farming on a different blockchain other than the BNB chain for the first time. A small amount of native token (for example, ETH for Ethereum) is required for the first-time setup. So the first transaction will be slightly costly. -{% endhint %} - -## Adding or removing LP Tokens from a Farm - -You may decide you would like to add more LP Tokens to a Farm at a later date, or to take some out of a Farm. You can do this very easily whenever you'd like. - -1. Return to the [Yield Farms page](https://pancakeswap.finance/farms). At the top of the page you'll see a **Staked only** toggle. Click the toggle. - -![](<../../.gitbook/assets/image (34).png>) - -You should now only see the pairs you have LP Tokens in on the list, making it easier to find your Farm. - -1. Find the Farm you have LP Tokens in, and click the row to view details. You will see a **-** and **+** button on the right-hand side. Click **-** to remove LP Tokens, or **+** to add more LP Tokens. - -![](<../../.gitbook/assets/image (102) (2) (2) (1) (1) (1) (1) (1) (1).png>) - -1. A window will open that looks like the one you used earlier to first stake your LP Tokens. Like last time, type the amount you would like to unstake/stake, or click **Max** to remove/add all available LP Tokens. - -![](<../../.gitbook/assets/image (33).png>) - -1. Make sure your information is correct. When you are ready, click the **Confirm** button and confirm the action in your wallet. -2. After a short wait, your new balance will show in the details section of your LP Token pair. If you've unstaked your LP Tokens, any unharvested rewards you had will automatically have been collected. - -## Collecting your farming rewards - -Farming will bring you CAKE rewards over time. You can collect these rewards and use them to get more LP Tokens, stake them in Syrup Pools, use them to play Lottery, or anything else you’d like. - -### Returning to your Farm to Harvest - -You can harvest your Farm and Syrup Pool rewards together from the Home page. If you'd like to collect your farming rewards only, follow along. - -To collect your rewards, you’ll need to visit your chosen Farm and collect the CAKE waiting for you. - -1 - Return to the Farms page [here](https://pancakeswap.finance/farms). - -2 - Find the Farm you staked your LP Tokens in, and click the row to view details. You should see an estimate of your rewards under “CAKE earned”. - -![](<../../.gitbook/assets/image (138).png>) - -3 - Click the **Harvest** button and confirm the action in your wallet. After a short wait, the CAKE will be claimed to your wallet for you to use as you like. - -{% hint style="info" %} -When you are farming on a different blockchain other than the BNB chain. You will need to always switch to BNB Smart Chain to harvest your farming rewards. - -If your wallet doesn't support chain switching. Staking or unstaking LP tokens will always harvest your CAKE. Please note the harvested CAKE will be distributed on BNB Smart Chain. - -![](<../../.gitbook/assets/image (136).png>) -{% endhint %} - -### How often should I harvest my rewards? - -How often you harvest your rewards is up to you, but it does help to remember that there is a small fee involved in harvesting. - -You can see this fee in your wallet when confirming after clicking **Harvest**. - -![](<../../.gitbook/assets/image (31).png>) - -This shows the fee for harvesting as it appears in the MetaMask wallet. Different wallets will show the information a little differently. Consider leaving your rewards to grow for a while so you pay fees less often. - -And that's all there is to it! You may also want to look at [how to use PancakeSwap Syrup Pools](https://docs.pancakeswap.finance/get-started/syrup-pool-guide) to earn rewards. - -Happy farming! diff --git a/reference/how-to-use-farms-with-bscscan.md b/reference/how-to-use-farms-with-bscscan.md deleted file mode 100644 index 4e6e5bba..00000000 --- a/reference/how-to-use-farms-with-bscscan.md +++ /dev/null @@ -1,181 +0,0 @@ -# How to Use Farms with BscScan - -![](../../.gitbook/assets/how-to-yield-farms-bscscan-header.png) - -Since it requires several steps, using Farms with PancakeSwap can seem intimidating at first. This guide will walk you through using the Farms contract directly through BscScan. - -{% hint style="warning" %} -Please understand that using BscScan to interact with contracts is not recommended for beginners. If you're not feeling confident, we suggest using the [How to Use Farms guide](https://docs.pancakeswap.finance/products/yield-farming/how-to-use-farms) instead. -{% endhint %} - -## Finding Farm process identifier - -To interact correctly with the farming smart contract, you’ll need the matching process identifier (PID) for your LP pair. For now, the easiest way to locate this is to check GitHub. - -1\. Open the [PancakeSwap website’s Farms code on GitHub](https://github.com/pancakeswap/pancake-frontend/blob/master/src/config/constants/farms.ts). - -2\. **Control**/**command** + **F** and search for your pair by ticker (not project name). For example, 'CAKE-BUSD'. - -![](<../../.gitbook/assets/image (112).png>) - -3\. Write down or copy the PID number—in this case 389—somewhere you can access it easily. You'll need this later. - -## Depositing LP Tokens through BscScan - -There are a few things involved in depositing LP Tokens using BscScan. We've broken it down into steps to make it easier to follow along. - -### Getting the Main Staking Contract address - -The address for the main staking contract is: **0x73feaa1eE314F8c655E354234017bE2193C9E24E** - -But assuming you'd like to confirm that, visit the [PancakeSwap: Main Staking Contract BscScan page](https://bscscan.com/address/0x73feaa1ee314f8c655e354234017be2193c9e24e#writeContract). You'll see the address in the top-left. Click the **pages icon** to copy this to clipboard. You'll need it soon. - -![](<../../.gitbook/assets/image (116).png>) - -### Open the contract for your LP Token - -You'll need to approve the smart contract for the LP Token you wish to commit to a farm before you can spend it. - -### From the source code - -1\. First, open [farms.ts on GitHub](https://github.com/pancakeswap/pancake-frontend/blob/master/src/config/constants/farms.ts). - -2\. **Control**/**command** + **F** and search for your pair by ticker (not project name). For example, 'CAKE-BNB' - -![](<../../.gitbook/assets/image (132).png>) - -3\. When you have the code for the LP pair you're looking for up, find the address after "56:". This will be your contract address. - -![](<../../.gitbook/assets/image (133).png>) - -### From the UI - -1\. First, visit the [PancakeSwap Farms page](https://pancakeswap.finance/farms) and search for your chosen pair using the "SEARCH" field in the top right. We're using CAKE-BUSD for this example. - -![](<../../.gitbook/assets/image (113).png>) - -2\. Click **Details** to expand the row to show more information. - -![](<../../.gitbook/assets/image (114).png>) - -3\. Click **View Contract** to open the smart contract on BscScan. - -![](<../../.gitbook/assets/image (115).png>) - -### Giving permission to the LP Token contract - -Now that you have your LP Token's contract open on BscScan, you're going to approve the spending of your LP Tokens into the Farm. - -1\. On the LP Token's contract page, go to **Contract**, and then **Write Contract**. - -![](<../../.gitbook/assets/image (117).png>) - -2\. Click **Connect to Web3** to connect MetaMask. - -![](https://lh4.googleusercontent.com/IRXfcKBWmlH8o7gDE9ThGrKuc2DHZSNb-SxF93VSTkCdv2JjtdvKciPb5jom4Uv-ngpPMrrGQI1XuM6H2SuN81NMxGLzoHAye5YgvUzR9YSM6ElZs6e3A-fpnMT21PKyJmV2F1IZ) - -Confirm the connection. - -3\. Under function 1, “approve”, you’ll see “spender:address”. Paste in the Main Staking Contract’s contract address you copied to clipboard earlier. - -![](<../../.gitbook/assets/image (118).png>) - -5\. You’re also going to need to approve the amount of LP Tokens the contract can spend. In the value field, you’ll need to enter the amount in Wei. You can use the [BscScan Unit Converter](https://www.bscscan.com/unitconverter) to easily change your amount into Wei. Here we'll use 5 CAKE-BUSD LP Tokens. - -![](<../../.gitbook/assets/image (158).png>) - -{% hint style="warning" %} -You can also use `-1` as the value to give unlimited spend approval. This does not mean you will spend everything by default, but only that a transaction of any size using this contract will be allowed by your wallet. -{% endhint %} - -6\. Click **Write** and accept the action in your MetaMask wallet. You’re now able to commit LP Tokens to the Farm up to the amount you’ve approved. - -### Deposit LP Tokens with the Main Staking Contract smart contract - -With the Main Staking Contract now approved to spend your LP Tokens, it's time to make a deposit. - -1\. Back on the [PancakeSwap: Main Staking Contract BscScan page](https://bscscan.com/address/0x73feaa1ee314f8c655e354234017be2193c9e24e#writeContract), go to **Contract**, and then **Write Contract**. - -![](<../../.gitbook/assets/image (117).png>) - -2\. Click **Connect to Web3** to connect MetaMask. - -3\. Scroll to function 2, "deposit", and type your PID into the "\_pid" field. - -![](<../../.gitbook/assets/image (119).png>) - -If you didn't copy down your PID earlier, you can learn how to get it in the **Finding Farm process identifier** section higher up this page. - -4\. Underneath \_pid you'll see "\_amount". Enter the amount for the LP contract to spend that you approved earlier. - -![](<../../.gitbook/assets/image (120).png>) - -5\. Check the information and click **Write**. Confirm your action in MetaMask. - -![](<../../.gitbook/assets/image (121).png>) - -6\. You can confirm your deposit worked by clicking **View your transaction**. - -![](<../../.gitbook/assets/image (122).png>) - -## Withdrawing from a Pool - -Withdrawing your LP Tokens from a Pool is very similar to making a deposit. The difference is which function you'll interact with. - -1\. Back on the [PancakeSwap: Main Staking Contract BscScan page](https://bscscan.com/address/0x73feaa1ee314f8c655e354234017be2193c9e24e#writeContract), go to **Contract**, and then **Write Contract**. - -![](<../../.gitbook/assets/image (117).png>) - -2\. Click **Connect to Web3** to connect MetaMask. - -3\. Scroll all the way down to function 15, "withdraw", and type your PID into the "\_pid" field. - -![](<../../.gitbook/assets/image (123).png>) - -If you didn't copy down your PID earlier, you can learn how to get it in the **Finding Farm process identifier** section higher up this page. - -4\. Underneath \_pid you'll see "\_amount". Enter the amount of LP you'd like to withdraw from the Pool. - -![](<../../.gitbook/assets/image (124).png>) - -5\. Check the information and click **Write**. Confirm your action in MetaMask. - -![](<../../.gitbook/assets/image (121).png>) - -6\. You can confirm your withdrawal worked by clicking **View your transaction**. - -![](<../../.gitbook/assets/image (122).png>) - - - -## **Making an emergency withdrawal** - -‌Using the emergency withdraw function allows you to draw all your funds out of a pool when no other way is working. - -{% hint style="danger" %} -**Using the emergency withdraw function will forfeit your CAKE rewards!** - -The PancakeSwap team strongly suggests avoiding this function unless advised to do so officially by the PancakeSwap team, or if you are very comfortable interacting with smart contracts and understand the underlying code. -{% endhint %} - -‌1. On the [PancakeSwap: Main Staking Contract BscScan page](https://bscscan.com/address/0x73feaa1ee314f8c655e354234017be2193c9e24e#writeContract), go to **Contract**, and then **Write Contract**. - -![](<../../.gitbook/assets/image (117).png>) - -2\. Click **Connect to Web3** to connect MetaMask. - -![](https://lh4.googleusercontent.com/IRXfcKBWmlH8o7gDE9ThGrKuc2DHZSNb-SxF93VSTkCdv2JjtdvKciPb5jom4Uv-ngpPMrrGQI1XuM6H2SuN81NMxGLzoHAye5YgvUzR9YSM6ElZs6e3A-fpnMT21PKyJmV2F1IZ) - -‌3. Scroll down to function 4, "emergencyWithdraw", and type your PID into the "\_pid" field. - -![](<../../.gitbook/assets/image (125).png>) - -If you didn't copy down your PID earlier, you can learn how to get it in the **Finding Farm process identifier** section higher up this page. - -5\. Check the information and click **Write**. Confirm your action in MetaMask. - -![](<../../.gitbook/assets/image (121).png>) - -6\. You can confirm your withdrawal worked by clicking **View your transaction**. - -![](<../../.gitbook/assets/image (122).png>) diff --git a/reference/old-tokenomics/README.md b/reference/old-tokenomics/README.md deleted file mode 100644 index fec19a1b..00000000 --- a/reference/old-tokenomics/README.md +++ /dev/null @@ -1,36 +0,0 @@ -# Old Tokenomics - -![](../../.gitbook/assets/tokenomics-header.png) - -* **Ticker:** CAKE -* **Contract Address:** [https://bscscan.com/token/0x0e09fabb73bd3ade0a17ecc321fd13a19e81ce82](https://bscscan.com/token/0x0e09fabb73bd3ade0a17ecc321fd13a19e81ce82) -* **Chain:** BNB Smart Chain (BEP20) - -## The basics - -CAKE is the delicious token that powers the PancakeSwap ecosystem. - -Earn CAKE from Farms and Syrup Pools, win it in the lottery, or [buy it on the exchange](../../products/pancakeswap-exchange/), then explore its use cases: - -* Stake it in [Syrup Pools](../../products/syrup-pool/) to earn free tokens -* Use it in [Yield Farms](https://docs.pancakeswap.finance/products/yield-farming) to earn more CAKE -* Buy Lottery tickets in the [PancakeSwap Lottery](../../products/lottery/) -* Participate in [IFO Token Sales](../../products/ifo-initial-farm-offering/) -* Create your [Pancake Profile](../../products/nft-profile-system/) and mint NFTs -* [Vote on proposals](../../products/voting/) relating to the PancakeSwap ecosystem - -But that's not all -- there's much more on the horizon for CAKE! - -## In detail - -Check below to discover the nuts and bolts of how CAKE works. - -{% content-ref url="../../tokenomics/cake/cake-tokenomics.md" %} -[cake-tokenomics.md](../../tokenomics/cake/cake-tokenomics.md) -{% endcontent-ref %} - -{% content-ref url="../../tokenomics/cake/controlling-cake-supply.md" %} -[controlling-cake-supply.md](../../tokenomics/cake/controlling-cake-supply.md) -{% endcontent-ref %} - -### \*\*\*\* diff --git a/reference/old-tokenomics/cake-tokenomics-v1-controlling-cake-supply.md b/reference/old-tokenomics/cake-tokenomics-v1-controlling-cake-supply.md deleted file mode 100644 index cc9b25f5..00000000 --- a/reference/old-tokenomics/cake-tokenomics-v1-controlling-cake-supply.md +++ /dev/null @@ -1,23 +0,0 @@ -# Controlling CAKE supply v1 - -## Why CAKE has no hard cap - -There's currently no hard cap on the supply of CAKE token, making it an inflationary token. - -Community members often point to this as a cause for concern, and while the chefs certainly understand the wish for a hard cap, there's a big reason we don't expect to set one in the near future: - -> CAKE's primary function is to incentivize providing liquidity to the exchange. _Without block rewards, there would be much less incentive to provide liquidity (LP fees etc. would remain)._ - -**So what are the other ways CAKE's supply is limited, to counter inflation?** - -## How CAKE supply is reduced without a hard cap - -The chefs aim to **make deflation higher than emission** by building deflationary mechanisms into PancakeSwap's products. The goal is for more CAKE to leave circulation than the amount of CAKE that's produced. - -### Reducing block emissions - -By reducing the amount of CAKE made per block, we slow inflation. This has already been done once: Since the [first reduction in block emissions](https://voting.pancakeswap.finance/#/pancake/proposal/QmWSQZsqakCMQ1bmcoEsKzStdtdFHL6cohSjnMV9ira1EC), we've already effectively reduced the number of CAKE entering circulation from 40 CAKE per block to 14.5. But we don't want to do this too frequently, too early, for the same reason we don't want a hard cap: we still need to incentivize people to provide liquidity. - -### Deflationary mechanisms - -Regular token burns ([view burn address](https://bscscan.com/token/0x0e09fabb73bd3ade0a17ecc321fd13a19e81ce82?a=0x000000000000000000000000000000000000dead)) are built into many of PancakeSwap's products (like a 10% burn of CAKE spent on lottery tickets), with more on the way. Check the \*\*\*\* [**CAKE Tokenomics page**](https://docs.pancakeswap.finance/tokenomics/cake/cake-tokenomics) \*\*\*\* for details on present and upcoming deflationary mechanisms. diff --git a/reference/old-tokenomics/cake-tokenomics-v1.md b/reference/old-tokenomics/cake-tokenomics-v1.md deleted file mode 100644 index 06bdfd32..00000000 --- a/reference/old-tokenomics/cake-tokenomics-v1.md +++ /dev/null @@ -1,82 +0,0 @@ -# CAKE Tokenomics v1 - -![](../../.gitbook/assets/en-1129.png) - -## **Emission rate** - -### **Per block** - -| **Metric** | **Emission/block (CAKE)** | **Emission/day (CAKE)** | -| ---------------------------------------------------------------------------- | ------------------------: | ----------------------: | -| Emission | 40 | 1,152,000 | -| Burned Weekly [(PID 138)](cake-tokenomics-v1.md#why-is-the-cake-burn-manual) | -25.75 | -787,600 | -| **Effective Emission** | **<14.25\*** | **364,400\*** | - -\*Effective Emission is in fact slightly below this amount: an additional 45,000 CAKE per day is diverted from the amount allocated to the lottery, and burned (PID 137 - Details below). - -In addition to the above, a dynamic amount of CAKE is also [minted to the Dev address](https://bscscan.com/address/0xceba60280fb0ecd9a5a26a1552b90944770a4a0e#tokentxns) at a rate of 9.09%. This means that if 100 CAKE are harvested, then 9.09 CAKE is minted in addition and sent to the Dev Address. - -{% hint style="info" %} -All CAKE minted to the Dev address is burned in the weekly burn and never enters circulation. - -As such, we haven't included it in the above emission rate. -{% endhint %} - -## Distribution - -| Distributed to | Reward/block (% of emission) | Reward/block (total CAKE) | Reward/day | -| ----------------------------- | ---------------------------: | ------------------------: | -------------------: | -| Farms and Lottery | 10.62% | 4.25 | 122,400 (approx) | -| of which diverted and burned | | | -46,000 | -| Syrup Pools | 25% | 10 | 288,000 (approx) | -| **Total Daily CAKE Emission** | | | **364,400 (approx)** | - -## **Other Deflationary Mechanics** - -{% hint style="info" %} -The burning process is currently manual. [View burn transactions here](https://bscscan.com/token/0x0e09fabb73bd3ade0a17ecc321fd13a19e81ce82?a=0x000000000000000000000000000000000000dead). -{% endhint %} - -As well as the above, CAKE is also burned in the following ways: - -* **0.05%** of every trade made on PancakeSwap V2 -* **100%** of CAKE sent to the Dev address -* **100%** of CAKE performance fees from IFOs -* **100%** of CAKE spent on Profile Creation and NFT minting -* **100%** of CAKE bid during Farm Auctions -* **20%** of CAKE spent on lottery tickets -* **45,000** CAKE per day (historically assigned to the lottery) (_The CAKE for this is generated by a farm - PID 137)_ -* **3%** of every Prediction markets round is used to buy CAKE for burning -* **2%** of every yield harvest in the Auto CAKE Pool -* **2%** of every NFT sale on the NFT Market is used to buy CAKE for burning - -## Why is the CAKE burn manual? - -To hit the ground running, PancakeSwap launched as an MVP (minimum viable product) with the MasterChef contract emitting 40 CAKE per block. For that reason, the early team didn't add additional functions such as the ability to customize the CAKE minting logic. As migrating to a new MasterChef would require a lot of time and effort, the team opted to reduce CAKE emissions instead through a manual burn process by creating two pools: - -* Legacy Lottery Pool (PID - 137) - burned CAKE from the lottery -* Burn Pool (PID - 138) - burned CAKE per block - -These pools work similarly to the farms, where the Chefs can adjust the percentage of the 40 CAKE per block allocated to it after each CAKE emission reduction vote. - -{% hint style="warning" %} -On the day of the burn, the supply shown on the homepage might suddenly jump by several million CAKE. - -Don't worry - **THIS CAKE NEVER ACTUALLY ENTERS CIRCULATION:** -{% endhint %} - -This apparent jump is just because of how all the CAKE that's allocated for the burn is stored during the week. - -The CAKE sent to both pools PID-137 and PID-138 are harvested before completing the weekly token burns, and this makes the Total Supply shown on the site jumping by \~6M. This is because pending CAKE isn’t registered in the Total Supply until it's harvested on the burn day. Once the token burn transaction is completed, the \~6M is shown in the Burned to Date. - -## How to Confirm CAKE Supply for yourself - -To confirm that the circulating CAKE supply shown on the PancakeSwap homepage is correct, - -1. Head to the CAKE token contract on BscScan and [see how much CAKE is held by the Burn Address.](https://bscscan.com/token/0x0e09fabb73bd3ade0a17ecc321fd13a19e81ce82#balances) That's the total amount of CAKE that's been burned (removed from circulation FOREVER, and impossible to ever retrieve). -2. Then, subtract this burned amount from the "Total Supply" that BscScan shows. -3. This gives you the actual CAKE supply. - - - -#### **Read more about CAKE's deflationary mechanics on the next page.** diff --git a/roadmap.md b/roadmap.md index d2e91ee7..9c6b3ed8 100644 --- a/roadmap.md +++ b/roadmap.md @@ -4,7 +4,9 @@ description: '"Don''t call it a roadmap"' # Roadmap -![](.gitbook/assets/roadmap-header.png) +{% hint style="danger" %} +**Page under construction**! +{% endhint %} _Updated on October 11, 2022_ @@ -25,7 +27,7 @@ Due to considerations of security and confidentiality, some items are not includ ### Ongoing/Recurring * Regular IFOs and cIFOs -* Regular new Farms and Syrup Pools +* Regular new Farms and Syrup Pools * Farm Auctions\ [Recently upgraded to a new format](https://medium.com/pancakeswap/reinventing-recipe-new-updates-to-pancakeswap-farm-auctions-2ade3a0283b3?source=collection\_home---4------3-----------------------) * UI/UX, Bug Fixes, Product Upgrades @@ -42,7 +44,7 @@ Due to considerations of security and confidentiality, some items are not includ * NFT Gamifications\ Potential collaborations with other top projects on BNB Chain -* NFT Market \ +* NFT Market\ Phase 3 - open NFT platform\ Other improvements and upgrades @@ -65,7 +67,7 @@ Due to considerations of security and confidentiality, some items are not includ * CAKE Staking * Fixed-term Staking * CAKE Side Pool - Flexible CAKE staking on the side of locked staking -* Fixed-Term Staking Benefits +* Fixed-Term Staking Benefits * iCAKE, IFO benefits * vCAKE, weighted voting power * bCAKE, farm yield booster @@ -107,4 +109,3 @@ Due to considerations of security and confidentiality, some items are not includ * Token vesting * iCAKE integration * PCS Mini-Program in Binance App - diff --git a/the-kitchen-team.md b/the-kitchen-team.md index c2d100ba..decf256f 100644 --- a/the-kitchen-team.md +++ b/the-kitchen-team.md @@ -1,6 +1,8 @@ -# The Kitchen Team +# The Zyon Team -![](.gitbook/assets/the-kitchen-team-header.png) +{% hint style="danger" %} +**Page under construction**! +{% endhint %} You can jump to the kitchen interviews article by clicking chef's name. diff --git a/tokenomics/cake/README.md b/tokenomics/cake/README.md deleted file mode 100644 index 7c16d133..00000000 --- a/tokenomics/cake/README.md +++ /dev/null @@ -1,37 +0,0 @@ -# CAKE - -![](../../.gitbook/assets/tokenomics-header.png) - -* **Ticker:** CAKE -* **Contract Address:** [https://bscscan.com/token/0x0e09fabb73bd3ade0a17ecc321fd13a19e81ce82](https://bscscan.com/token/0x0e09fabb73bd3ade0a17ecc321fd13a19e81ce82) -* **Chain:** BNB Smart Chain (BEP20) -* **Litepaper:** [https://v2litepaper.pancakeswap.finance/](https://v2litepaper.pancakeswap.finance/) - -## The basics - -CAKE is the delicious token that powers the PancakeSwap ecosystem. - -Earn CAKE from Farms and Syrup Pools, win it in the lottery, or [buy it on the exchange](../../products/pancakeswap-exchange/), then explore its use cases: - -* Stake it in [Syrup Pools](../../products/syrup-pool/) to earn free tokens -* Use it in [Yield Farms](https://docs.pancakeswap.finance/products/yield-farming) to earn more CAKE -* Buy Lottery tickets in the [PancakeSwap Lottery](../../products/lottery/) -* Participate in [IFO Token Sales](../../products/ifo-initial-farm-offering/) -* Create your [Pancake Profile](../../products/nft-profile-system/) and mint NFTs -* [Vote on proposals](../../products/voting/) relating to the PancakeSwap ecosystem - -But that's not all -- there's much more on the horizon for CAKE! - -## In detail - -Check below to discover the nuts and bolts of how CAKE works. - -{% content-ref url="cake-tokenomics.md" %} -[cake-tokenomics.md](cake-tokenomics.md) -{% endcontent-ref %} - -{% content-ref url="controlling-cake-supply.md" %} -[controlling-cake-supply.md](controlling-cake-supply.md) -{% endcontent-ref %} - -### \*\*\*\* diff --git a/tokenomics/cake/cake-tokenomics.md b/tokenomics/cake/cake-tokenomics.md deleted file mode 100644 index 44507257..00000000 --- a/tokenomics/cake/cake-tokenomics.md +++ /dev/null @@ -1,84 +0,0 @@ -# CAKE Tokenomics - -![](../../.gitbook/assets/220811-en.png) - -## **Emission rate** - -### **Per block** - -| **Metric** | **Emission/block (CAKE)** | **Emission/day (CAKE)** | -| ---------------------- | ------------------------: | ----------------------: | -| Emission | 40 | 1,152,000 | -| Burned Weekly | \~28.84 | \~830,800 | -| **Effective Emission** | **\~11.16\*** | **\~321,200\*** | - -{% hint style="info" %} -On August 11, 2022, Chefs implemented some configuration upgrades to take full advantage of MasterChef v2. It eliminates the 45,000 CAKE daily burn for the legacy lottery injections. Those burns will now be handled by MasterChef v2 directly along with the usual weekly CAKE burn. Therefore, the effective emissions are now even lower. -{% endhint %} - -In addition to the above, a dynamic amount of CAKE is also [minted to the Dev address](https://bscscan.com/address/0xceba60280fb0ecd9a5a26a1552b90944770a4a0e#tokentxns) at a rate of 9.09%. This means that if 100 CAKE are harvested, then 9.09 CAKE is minted in addition and sent to the Dev Address. - -{% hint style="warning" %} -All CAKE minted to the Dev address is burned in the weekly burn and never enters circulation. - -As such, we haven't included it in the above emission rate. -{% endhint %} - -## Distribution - -| Distributed to | Reward/block (% of emission) | Reward/block (total CAKE) | Reward/day | -| ----------------------------- | ---------------------------: | ------------------------: | -------------------: | -| Farms | \~5.03% | \~2.0138 | 58,000 (approx) | -| Lottery | \~0.35% | \~0.1389 | 4,000 (approx) | -| CAKE Syrup Pool | \~22.5% | \~9 | 259,200 (approx) | -| **Total Daily CAKE Emission** | | | **321,200 (approx)** | - -## **Other Deflationary Mechanics** - -{% hint style="info" %} -The burning process is currently manual. [View burn transactions here](https://bscscan.com/token/0x0e09fabb73bd3ade0a17ecc321fd13a19e81ce82?a=0x000000000000000000000000000000000000dead). -{% endhint %} - -As well as the above, CAKE is also burned in the following ways: - -* **0.0575%** of every trade made on PancakeSwap V2 -* **100%** of CAKE sent to the Dev address -* **100%** of CAKE performance fees from IFOs -* **100%** of CAKE spent on Profile Creation and NFT minting -* **100%** of CAKE bid during Farm Auctions -* **20%** of CAKE spent on lottery tickets -* **20%** of all profits from Perpetual Trading -* **45,000** CAKE per day (historically assigned to the lottery) -* **3%** of every BNB Prediction markets round is used to buy CAKE for burning -* **3%** of every CAKE Prediction markets round -* **2%** of every yield harvest from all the flexible staking positions in CAKE pool -* **2%** of every NFT sale on the NFT Market is used to buy CAKE for burning - -## Why is the CAKE burn manual? - -To hit the ground running, PancakeSwap launched as an MVP (minimum viable product) with the MasterChef contract emitting 40 CAKE per block. For that reason, the early team didn't add additional functions such as the ability to customize the CAKE minting logic. The team has been controlling CAKE emissions through a manual burn process by creating two pools in MasterChef v1: - -* Legacy Lottery Pool (PID - 137) - burned CAKE from the lottery -* Burn Pool (PID - 138) - burned CAKE per block - -These pools work similarly to the farms, where the Chefs can adjust the percentage of the 40 CAKE per block allocated to it after each CAKE emission reduction vote. - -**However, in April 2022, PancakeSwap migrated to a new MasterChef v2 contract.** The ratio of the CAKE burn per block is finally controlled by a dedicated contract. This allows the burn to be much more accurate. - -{% hint style="warning" %} -Due to MasterChef v2 occasionally harvesting the full 40 CAKE per block. The supply shown on the homepage (or some 3rd party trackers) might suddenly jump by several million CAKE. - -Don't worry - **EMISSION IS NOW CONTROLLED CAREFULLY BY MASTERCHEF V2. CAKE TO BURN WILL NEVER ACTUALLY ENTERS CIRCULATION!** -{% endhint %} - -## How to Confirm CAKE Supply for yourself - -To confirm that the circulating CAKE supply shown on the PancakeSwap homepage is correct, - -1. Head to the CAKE token contract on BscScan and [see how much CAKE is held by the Burn Address.](https://bscscan.com/token/0x0e09fabb73bd3ade0a17ecc321fd13a19e81ce82#balances) That's the total amount of CAKE that's been burned (removed from circulation FOREVER, and impossible to ever retrieve). -2. Then, subtract this burned amount from the "Total Supply" that BscScan shows. -3. This gives you the actual CAKE supply. - - - -#### **Read more about CAKE's deflationary mechanics on the next page.** diff --git a/tokenomics/cake/controlling-cake-supply.md b/tokenomics/cake/controlling-cake-supply.md deleted file mode 100644 index d0d79d8f..00000000 --- a/tokenomics/cake/controlling-cake-supply.md +++ /dev/null @@ -1,17 +0,0 @@ -# Controlling CAKE supply - -## Does CAKE have a hard cap? - -Yes, CAKE now has a hard cap of 750M as outlined in our litepaper [https://v2litepaper.pancakeswap.finance/](https://v2litepaper.pancakeswap.finance/) - -## How CAKE supply is reduced - -The chefs aim to **make deflation higher than emission** by building deflationary mechanisms into PancakeSwap's products. The goal is for more CAKE to leave circulation than the amount of CAKE that's produced. - -### Reducing block emissions - -By reducing the amount of CAKE made per block, we slow inflation. This has already been done once: Since the [first reduction in block emissions](https://voting.pancakeswap.finance/#/pancake/proposal/QmWSQZsqakCMQ1bmcoEsKzStdtdFHL6cohSjnMV9ira1EC), we've already effectively reduced the number of CAKE entering circulation from 40 CAKE per block to 12.75. But we don't want to do this too frequently, too early, we want to still incentivize people to provide liquidity. - -### Deflationary mechanisms - -Regular token burns ([view burn address](https://bscscan.com/token/0x0e09fabb73bd3ade0a17ecc321fd13a19e81ce82?a=0x000000000000000000000000000000000000dead)) are built into many of PancakeSwap's products (like a 10% burn of CAKE spent on lottery tickets), with more on the way. Check the [**CAKE Tokenomics page**](https://docs.pancakeswap.finance/tokenomics/cake/cake-tokenomics) for details on present and upcoming deflationary mechanisms.

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 literal 0 HcmV?d00001 From aaa60c04f19df0fa1e4c76dc722fa71835eb01a3 Mon Sep 17 00:00:00 2001 From: Omm2005 <109162009+Omm2005@users.noreply.github.com> Date: Thu, 13 Oct 2022 20:50:21 +0530 Subject: [PATCH 14/17] Delete --- .hacktoberfest/proposals/logo/Omm2005 | 1 - 1 file changed, 1 deletion(-) delete mode 100644 .hacktoberfest/proposals/logo/Omm2005 diff --git a/.hacktoberfest/proposals/logo/Omm2005 b/.hacktoberfest/proposals/logo/Omm2005 deleted file mode 100644 index 8b137891..00000000 --- a/.hacktoberfest/proposals/logo/Omm2005 +++ /dev/null @@ -1 +0,0 @@ - From fbfee19165c28ee520b4277f7222daccc8fb0023 Mon Sep 17 00:00:00 2001 From: Omm2005 <109162009+Omm2005@users.noreply.github.com> Date: Thu, 13 Oct 2022 20:52:25 +0530 Subject: [PATCH 15/17] uploaded files --- .hacktoberfest/proposals/logo/Omm2005/1.png | Bin 0 -> 7137 bytes .hacktoberfest/proposals/logo/Omm2005/2.png | Bin 0 -> 196526 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 .hacktoberfest/proposals/logo/Omm2005/1.png create mode 100644 .hacktoberfest/proposals/logo/Omm2005/2.png diff --git a/.hacktoberfest/proposals/logo/Omm2005/1.png b/.hacktoberfest/proposals/logo/Omm2005/1.png new file mode 100644 index 0000000000000000000000000000000000000000..df0685858e445ed8e9d522c1c2932acd048d04cd GIT binary patch literal 7137 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 literal 0 HcmV?d00001 diff --git a/.hacktoberfest/proposals/logo/Omm2005/2.png b/.hacktoberfest/proposals/logo/Omm2005/2.png new file mode 100644 index 0000000000000000000000000000000000000000..41dc60194241764a7de26d97f3224969a35fc4b4 GIT binary patch literal 196526 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