diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index f0041cb2d..3afcce6ad 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -1,4 +1,4 @@ -name: Deploy Dapp to GitHub Pages +name: Deploy Dapp & Docs to GitHub Pages on: push: @@ -27,7 +27,7 @@ jobs: - name: Setup Node.js uses: actions/setup-node@v4 with: - node-version: '20' # keep your choice + node-version: '20' - name: Enable Corepack & pnpm run: | @@ -50,18 +50,39 @@ jobs: - name: Install dependencies (workspace root) run: pnpm install --frozen-lockfile + # ---- Build internal packages if needed ---- - name: Build SDK run: pnpm -w --filter "@trustswap/sdk" run build - - name: Build with Vite (web) + # ---- Build Web (Vite) ---- + - name: Build Web app run: pnpm -w --filter "./apps/web" run build + # ---- Build Docusaurus ---- + # We force baseUrl to /docs/ so it serves under /docs on Pages. + - name: Build Docs (Docusaurus) + run: pnpm -w --filter "./apps/docus" run build + + # ---- Assemble a single artifact for GitHub Pages ---- + # Resulting structure: + # ./.gh-pages/ => Web app (root) + # ./.gh-pages/docs/ => Docusaurus site + - name: Prepare Pages artifact + run: | + rm -rf .gh-pages + mkdir -p .gh-pages + cp -r apps/web/dist/* .gh-pages/ + mkdir -p .gh-pages/docs + cp -r apps/docus/build/* .gh-pages/docs/ + - name: Upload artifact uses: actions/upload-pages-artifact@v3 with: - path: apps/web/dist + path: .gh-pages deploy: + # For PRs, this creates a Pages "Preview" deployment automatically. + # For pushes to main, it updates the production Pages site. environment: name: github-pages url: ${{ steps.deployment.outputs.page_url }} diff --git a/.turbo/cookies/3.cookie b/.turbo/cookies/3.cookie deleted file mode 100644 index e69de29bb..000000000 diff --git a/.turbo/cookies/4.cookie b/.turbo/cookies/4.cookie deleted file mode 100644 index e69de29bb..000000000 diff --git a/.turbo/cookies/5.cookie b/.turbo/cookies/5.cookie deleted file mode 100644 index e69de29bb..000000000 diff --git a/.turbo/cookies/6.cookie b/.turbo/cookies/6.cookie deleted file mode 100644 index e69de29bb..000000000 diff --git a/.turbo/cookies/7.cookie b/.turbo/cookies/7.cookie deleted file mode 100644 index e69de29bb..000000000 diff --git a/.turbo/cookies/8.cookie b/.turbo/cookies/8.cookie deleted file mode 100644 index e69de29bb..000000000 diff --git a/.turbo/cookies/9.cookie b/.turbo/cookies/9.cookie deleted file mode 100644 index e69de29bb..000000000 diff --git a/.turbo/cookies/10.cookie b/.turbo/daemon/5608f8c20d39f664-turbo.log.2025-10-09 similarity index 100% rename from .turbo/cookies/10.cookie rename to .turbo/daemon/5608f8c20d39f664-turbo.log.2025-10-09 diff --git a/apps/docus/.gitignore b/apps/docus/.gitignore new file mode 100644 index 000000000..b2d6de306 --- /dev/null +++ b/apps/docus/.gitignore @@ -0,0 +1,20 @@ +# Dependencies +/node_modules + +# Production +/build + +# Generated files +.docusaurus +.cache-loader + +# Misc +.DS_Store +.env.local +.env.development.local +.env.test.local +.env.production.local + +npm-debug.log* +yarn-debug.log* +yarn-error.log* diff --git a/apps/docus/README.md b/apps/docus/README.md new file mode 100644 index 000000000..b28211a9b --- /dev/null +++ b/apps/docus/README.md @@ -0,0 +1,41 @@ +# Website + +This website is built using [Docusaurus](https://docusaurus.io/), a modern static website generator. + +## Installation + +```bash +yarn +``` + +## Local Development + +```bash +yarn start +``` + +This command starts a local development server and opens up a browser window. Most changes are reflected live without having to restart the server. + +## Build + +```bash +yarn build +``` + +This command generates static content into the `build` directory and can be served using any static contents hosting service. + +## Deployment + +Using SSH: + +```bash +USE_SSH=true yarn deploy +``` + +Not using SSH: + +```bash +GIT_USER= yarn deploy +``` + +If you are using GitHub pages for hosting, this command is a convenient way to build the website and push to the `gh-pages` branch. diff --git a/apps/docus/blog/2025-09-19-the-beginning.md b/apps/docus/blog/2025-09-19-the-beginning.md new file mode 100644 index 000000000..3d63ba82d --- /dev/null +++ b/apps/docus/blog/2025-09-19-the-beginning.md @@ -0,0 +1,50 @@ +--- +slug: the-beginning +title: The beginning +authors: [james, florian] +tags: [] +--- + + +## Why We’re Building TrustSwap + +A few months ago, **Florian** and I started talking about the idea of launching a project together. The opportunity came when **Intuition** announced a one-week hackathon to spark development on its blockchain. + +We decided to experiment with building a **minimalist DEX**. The development progressed quickly, teamwork was smooth and efficient and by the end of the hackathon, we had a **fully functional DEX**. + +That’s when we decided to **keep going**, to turn this experiment into something bigger and explore how **Intuition’s protocol** could power a new kind of DEX. + +--- + +## From Experiment to Vision + +We began thinking about features that would align our DEX with **Intuition’s technology and philosophy**. +During our research, we discovered other protocols that resonated perfectly with our vision — such as **Colony** (for fair, reputation-based DAO governance) and **GBM Auctions** (for transparent and engaging token launches). + +These discoveries highlighted a recurring problem across most DEXs: +**voting power is too often concentrated in the hands of a few whales.** +In many models, governance simply decides where rewards go, not how the protocol should truly evolve, leaving most of the community on the sidelines. + +--- + +## Our Difference + +With **TrustSwap**, we want to build **something different**. +Our goal is to put the **community back at the center**, establish a more balanced governance system, and go beyond simple yield distribution. + +TrustSwap is not just another DEX: + +* It’s a space where **trust** is the core value. +* A platform that leverages innovative protocols to bring **transparency and fairness**. +* A project **built with the community — not just for it.** + +--- + +## What’s Next + +Today, we’ve restructured our codebase and deployed the **first official version of TrustSwap**. + +This blog will serve as our **public build journal**, every week, we’ll share updates on our progress, document our choices, and keep our community fully informed. + +Welcome to the **TrustSwap adventure.** + diff --git a/apps/docus/blog/2025-09-26-logbook.md b/apps/docus/blog/2025-09-26-logbook.md new file mode 100644 index 000000000..5f86abb8a --- /dev/null +++ b/apps/docus/blog/2025-09-26-logbook.md @@ -0,0 +1,56 @@ +--- +slug: logbook-09-26-2025 +title: Logbook 09/26 +authors: [james, florian] +tags: [] +--- + +## Weekly Update #1 — First Steps with TrustSwap + +Welcome to the very first **TrustSwap Weekly Update!** +Each week, we’ll share the progress of the project to maintain full **transparency** and keep the **community at the center** of this journey. + +--- + +## Conversations with GBM + +This week kicked off with a **call with the GBM team**. +We presented TrustSwap, our vision, and explored how their protocol could be integrated into our ecosystem. +The synergy is clear: a **fair and engaging auction system** could greatly enhance TrustSwap’s community-driven dimension. + +Their protocol isn’t open-source yet, so there will be a few **technical prerequisites** before we can fully implement it, but things are moving in the right direction. +We don’t plan to prioritize this integration before the mainnet launch, but it’s already **on our roadmap**. + +--- + +## Brainstorming & Design + +We also spent time **brainstorming** and **designing upcoming pages** for the application. +The goal: to deliver a **clear, modern, and intuitive interface** that reflects our vision of a community-first DEX. + +--- + +## Tracking & Documentation + +* Added a **web analytics tracker** to monitor user activity on the app. +* Began setting up **Docusaurus** to create our **litepaper** and this **blog**. + +This documentation will serve as the foundation of our communication and become a **knowledge hub** for the community. + +--- + +## Technical Progress + +* **James** implemented the tracker and structured the Docusaurus documentation. +* **Florian** has been developing an **indexer in Ruby on Rails**, which will offer a **graphical view of tokens and other on-chain data** — improving both user experience and data visualization. He’s also working on a **landing page**. + +We also started researching **limit order integration** and **MEV (Maximal Extractable Value) protection mechanisms**, to help users **avoid inflated fees** and **maximize LP yields**. + +--- + +## What’s Next + +Next week, we plan to **publish the litepaper** alongside the new **landing page**. +We’ll also begin development of the **portfolio and charting views**, and if progress goes smoothly, start preparing the first core feature of our DEX: the **Voting Overlay**. + +Stay tuned, the adventure is just beginning! 🚀 diff --git a/apps/docus/blog/2025-10-10-logbook.md b/apps/docus/blog/2025-10-10-logbook.md new file mode 100644 index 000000000..acda66d1c --- /dev/null +++ b/apps/docus/blog/2025-10-10-logbook.md @@ -0,0 +1,48 @@ +--- +slug: logbook-09-10-2025 +title: Logbook 10/10 +authors: [james, florian] +tags: [] +--- + +## Weekly Update #2–3 — Litepaper, Landing Page and First Intuition Integration + +The past two weeks have marked an **important milestone** in the development of the TrustSwap project. +Between design, documentation, and technical integration, we’ve been laying the groundwork for the future ecosystem. + +--- + +## Writing the Litepaper +We focused on writing the **Litepaper**, hosted directly on **Docusaurus**. +This document establishes the foundation of our vision, architecture, and the future direction of TrustSwap. +Our goal: to make the project **clear, credible, and transparent** for both users and partners. + +--- + +## Building the Landing Page +A brand-new **landing page** was created, designed as the main entry point into the TrustSwap ecosystem. +It highlights the key aspects of the protocol, our partners, and our core values: +> Trust, Transparency, and Community. + +--- + +## Brainstorming Future Features +We also took time to **brainstorm new features** and explore the direction we want the platform to take. +These discussions are shaping what TrustSwap will become in the long term — +a **community-governed DEX** built on transparency and trust-based metrics. + +--- + +## Integrating Intuition — The Trust Gauge +On the technical side, we started the first real integration of the **Intuition protocol** into TrustSwap. +This integration introduces the **Trust Gauge**, a visual indicator that reflects the **community’s confidence** in each token. + +This feature will allow users to: +- **Visualize “For” and “Against” votes** directly on each token, +- Display a **dynamic trust score**, +- And eventually feed these insights into **governance and listing decisions**. + +--- + + +The ecosystem is taking shape, a big week ahead ! TRUST 🚀 diff --git a/apps/docus/blog/authors.yml b/apps/docus/blog/authors.yml new file mode 100644 index 000000000..2542677e8 --- /dev/null +++ b/apps/docus/blog/authors.yml @@ -0,0 +1,21 @@ +florian: + name: Florian Tribout + title: TrustSwap — Builder + image_url: https://github.com/Florian-THP.png + page: true + socials: + x: Dev_TrustSwap + linkedin: florian-tribout-6202b1237 + github: Florian-THP + +james: + name: James Barthée + title: TrustSwap — Builder + image_url: https://github.com/JamesDev292.png + page: + # customize the url of the author page at /blog/authors/ + permalink: '/all-james-barthee-articles' + socials: + x: 0xJmsDev + linkedin: james-barthee-386a5913b + github: JamesDev292 diff --git a/apps/docus/blog/tags.yml b/apps/docus/blog/tags.yml new file mode 100644 index 000000000..bfaa778fb --- /dev/null +++ b/apps/docus/blog/tags.yml @@ -0,0 +1,19 @@ +facebook: + label: Facebook + permalink: /facebook + description: Facebook tag description + +hello: + label: Hello + permalink: /hello + description: Hello tag description + +docusaurus: + label: Docusaurus + permalink: /docusaurus + description: Docusaurus tag description + +hola: + label: Hola + permalink: /hola + description: Hola tag description diff --git a/apps/docus/docs/litepaper/01-introduction.md b/apps/docus/docs/litepaper/01-introduction.md new file mode 100644 index 000000000..777db0617 --- /dev/null +++ b/apps/docus/docs/litepaper/01-introduction.md @@ -0,0 +1,30 @@ +--- +title: Introduction +sidebar_position: 1 +--- + + + + +The current DEX ecosystem focuses mainly on **DeFi mechanics** , routing efficiency, new AMM curves, **impermanent loss** protection, **yield** incentives, and so on. These advances are essential, but they overlook another crucial layer: **trust**. + +**TrustSwap** introduces a complementary approach, adding a **trust and reputation layer** on top of proven DeFi primitives. From day one, we integrate **Colony** to establish **meritocratic governance** (non-purchasable reputation, domain-based roles) and adopt **lazy voting** principles to avoid “theatrical” governance and streamline decision-making. This foundation puts every participant on the **same ladder of opportunity**: contribute → earn reputation → gain influence. + +On the **trust & data** side, the integration of **Intuition** brings **on-chain reputation** and collective knowledge directly into the DEX: *for/against* listing votes, community signals weighted by reputation, and transparency through a graph of claims (audits, team, history, etc.). We’re not replacing liquidity or algorithms, we’re **enhancing** their relevance through verifiable social signals. + +For **token launches**, we remain advocates of truly fair, open processes. **GBM Auctions** (bid-to-earn, transparent participation) is an excellent option, but we’re **open to other formats** , such as **LBPs** or **CoinMachine** , to achieve **greater simplicity and faster execution** depending on each project’s context. The goal: more equitable listings. + +TrustSwap keeps the **strengths of modern DEXs** while adding a **meritocratic layer of trust and reputation**. + + +![Docs Intro](./img/image-intro.png) + + + + + + + + + + diff --git a/apps/docus/docs/litepaper/02-probleme.md b/apps/docus/docs/litepaper/02-probleme.md new file mode 100644 index 000000000..67c7d3b58 --- /dev/null +++ b/apps/docus/docs/litepaper/02-probleme.md @@ -0,0 +1,14 @@ +--- +title: Issue +sidebar_position: 2 +--- + +Despite the major progress made by DEXs, several **structural limitations** remain: + +* **Listing transparency:** While the blockchain itself is permissionless, most DEX interfaces are not. Visibility often depends on **whitelists or tokenlists** curated by teams (developers, aggregators). In practice, being “listed” means being **approved by maintainers**, based on subjective criteria, update delays, and with no reliable **trust signals** for users. + +* **Lack of reputation and historical context:** Today, a wallet is just an **address without context**, no native trust score, no weighting for longevity, behavior, contribution, or audits. On the project side (deployers, multisig signers, team wallets), **trust isn’t codified**: it’s hard to link a new token to a verifiable **track record**. + +* **Limited access for new projects:** Many emerging tokens struggle to secure both **initial liquidity** and **visibility** to attract early users, reinforcing the dominance of already-established tokens. + +* **Weak community involvement in governance:** Although many protocols claim to be “decentralized,” actual user participation in decision-making remains minimal, often reduced to symbolic votes on low-stakes proposals. diff --git a/apps/docus/docs/litepaper/03-proposition.md b/apps/docus/docs/litepaper/03-proposition.md new file mode 100644 index 000000000..6a931a588 --- /dev/null +++ b/apps/docus/docs/litepaper/03-proposition.md @@ -0,0 +1,47 @@ +--- +title: Proposal +sidebar_position: 3 +--- + + +**TrustSwap** aims to go beyond the limits of traditional DEXs by introducing a new generation of protocol, one where **trust and community participation** stand alongside liquidity as foundational pillars. + +* **Trading & Liquidity** + TrustSwap is currently built on a fork of **Uniswap V2**, chosen for its proven foundation: **v2-core contracts** that have been **audited, formally verified**, and **battle-tested in production since 2020**, processing **hundreds of billions of dollars in cumulative volume**, a benchmark of operational robustness. + Users can provide or withdraw liquidity like on any modern DEX, while medium-term plans include forking newer versions such as **Uniswap V3**, **Balancer**, or other advanced AMM architectures. ([dapp.org.uk][1]) + +* **Trust & Reputation via Intuition** + The goal is to turn **trust** from a mere *social signal* into an **executable parameter** of the DEX. The **Intuition knowledge graph** powers **verifiable triples** (doxxed teams, audits, incidents, fulfilled commitments), allowing these proofs to dynamically adjust the DEX’s **UX, priorities, and limits** in real time. + By integrating Intuition, TrustSwap gains access to **measurable, reputation-driven features**, a living trust layer directly embedded in market dynamics. A key aspect of this trust layer lies in its machine readability by trading agents, which now play a major role in DeFi. Each token, pool, team, and even each agent, will inherit a programmable TrustScore (powered by verifiable triples) that both the interface and agents can leverage to adapt routing, slippage, and order limits. The result is a reputation-sensitive execution, where financial performance relies as much on proof as on liquidity. ([docs.intuition.systems][4]) + +* **DAO & Governance via Colony** + Governance in TrustSwap isn’t symbolic, it’s structural. By launching with **Colony from day one**, the project anchors a **truly decentralized framework**. + Colony enables **lazy consensus** (votes occur only when there’s objection), **domain-based budgeting**, and **merit-based payments** that grow **non-purchasable reputation**. This ensures smoother decision-making, measurable meritocracy, and clear roles from the very start. ([docs.colony.io][2]) + +* **Fair Launch via GBM Auctions** + To empower new projects, TrustSwap integrates **GBM Auctions**, a **bid-to-earn** model that rewards outbid participants with up to **+10%**, aligning engagement with fairness. + GBM also introduces a **“stabilization buffer”**: part of the auction proceeds can fund **targeted buybacks** to smooth out extreme bids and reduce post-auction “regret.” + TrustSwap remains **open to other fair launch formats** such as **LBPs** or **CoinMachine**, as long as they ensure **simple, fast, and equitable execution**. ([gbm.auction][3]) + +By combining these building blocks, **TrustSwap** positions itself as a **community-driven, transparent, and innovative DEX**, where **reputation and collective intelligence** matter as much as **capital and liquidity**. + +--- + +[1]: https://dapp.org.uk +[2]: https://docs.colony.io +[3]: https://gbm.auction +[4]: https://docs.intuition.systems +[5]: https://docs.balancer.fi/concepts/pools/liquidity-bootstrapping.html +[6]: https://coindesk.com/learn/what-is-coin-machine + + + + +[1]: https://dapp.org.uk/reports/uniswapv2.html "Uniswap V2 Audit Report" +[2]: https://docs.colony.io/learn/governance/ "Colony Knowledge Realm" +[3]: https://www.gbm.auction/ "GBM Auction" +[4]: https://www.docs.intuition.systems/docs/introduction/overview "Protocol Intuition" + +[5]: https://docs.balancer.fi/concepts/explore-available-balancer-pools/liquidity-bootstrapping-pool.html "LPBs" + +[6]: https://blog.colony.io/introducing-coin-machine/ "CoinMachine" \ No newline at end of file diff --git a/apps/docus/docs/litepaper/04-intuition.md b/apps/docus/docs/litepaper/04-intuition.md new file mode 100644 index 000000000..bff86c062 --- /dev/null +++ b/apps/docus/docs/litepaper/04-intuition.md @@ -0,0 +1,44 @@ +--- +title: Protocol Intuition +sidebar_position: 4 +--- + + +### **Trust Gauge** + +* Each listed token displays a **visual trust gauge**, representing community sentiment. +* Votes are linked to a verifiable triple (e.g., **TOKEN – WHITELISTED – TRUSTSWAP**). + +![Voting Overlay Example](./img/Voting-Overlay.png) + +--- +### **Reputation-Weighted Listing** + +* Only tokens validated by users with **meaningful on-chain reputation** are whitelisted. +* A user’s reputation directly **influences the weight** of their vote. +* Tokens can be **automatically delisted** if they receive too many negative votes or credible negative claims (e.g., “Team exit scam,” “Rug pull detected”). +* Verified pools appear in the main interface, while unverified ones remain hidden or grouped in an **experimental** section. + +--- + +### **Machine-Readable Trust Layer** + +A key aspect of this **trust layer** lies in its **readability by trading agents**, which today play a major role in the DeFi landscape. Each **token**, **pool**, **team**, or even **agent** will inherit a **programmable TrustScore** (powered by verifiable triples) that both the interface and **trading agents** can leverage to **adapt routing, slippage, and order limits** in real time. + + +--- + +### **Knowledge Graph Integration** + +* Every token is connected to **on-chain triples** (e.g., *Team doxxed*, *Audit completed by …*). +* Users can **explore the knowledge graph**, revealing the relationships between a token and its surrounding ecosystem. + +--- + +### **Social Trading Overlay** + +* **Trust positions** become public (e.g., “20 reputable addresses voted for this token”). +* Users can **follow the reputation** of other wallets, similar to following traders. +* Trading data evolves from simple **volume metrics** to **volume-plus-reputation indicators**, merging market activity with verified trust. + + diff --git a/apps/docus/docs/litepaper/05-gouvernance-colony.md b/apps/docus/docs/litepaper/05-gouvernance-colony.md new file mode 100644 index 000000000..75e9a3d1d --- /dev/null +++ b/apps/docus/docs/litepaper/05-gouvernance-colony.md @@ -0,0 +1,60 @@ +--- +title: DAO Colony +sidebar_position: 5 +--- + +A truly **community-driven DEX** cannot exist without a governance model that is **robust, transparent, and meritocratic**. +**TrustSwap** will rely on the **Colony** protocol — a proven framework (e.g., ShapeShift) for structuring decentralized organizations while maintaining efficiency. + +--- + +### **Governance by Domains and Roles** + +Colony structures the organization into **domains** (development, marketing, treasury, partnerships, etc.), each operating semi-autonomously. +Members are assigned **roles** based on their contributions and reputation, ensuring a governance system that is granular, dynamic, and aligned with real project needs. + +--- + +### **Reputation as the Core of Governance** + +Unlike systems where **1 token = 1 vote**, Colony introduces **dynamic reputation**: + +* It is **earned** through contribution (development, liquidity provision, voting, moderation, etc.). +* It **cannot be bought** and **decays over time** when inactive. + This prevents power concentration among large holders and establishes a **true meritocracy** where active members hold greater influence. + +--- + +### **Lazy Voting (Consensus by Objection)** + +Instead of voting on everything, members **only vote when there’s a credible objection**. + +* **Proposal:** a member submits an action (payment, budget, listing, integration). +* **Objection Window:** during a set period, any member with a **minimum reputation threshold** in the relevant domain may **object**. +* **No objection → automatic approval:** the action is executed without delay. +* **Objection → vote:** the proposal moves to a **reputation-weighted vote** within that domain. If rejected, it can be revised and resubmitted. +* **Safeguards:** the higher the **stakes** (amounts, risks), the higher the **objection window** or **reputation threshold** (micro-payments auto-approved, major decisions debated). + +**Benefits:** +Less governance “theater,” **faster operational decisions**, **credible vetoes** when needed, and **rights aligned with living reputation** rather than static token weight. + +--- + +### **Decentralized Treasury** + +All fees collected by the DEX (swap fees, launchpad fees) feed into the **DAO Treasury**, collectively managed by the community. +Funds can be allocated to **contributors’ rewards**, **grants**, **partnerships**, or **buyback/burn programs** of the native token. + +--- + +### **Strategic Decision-Making** + +Major initiatives — such as new listings, protocol integrations, or partnerships — are submitted to the **Colony DAO**. +The **voting power** depends on each member’s **reputation**, ensuring that decisions are driven by **those who actively contribute**. + +--- + +### **Complementarity with Intuition** + +**Social and economic reputation** (via Intuition) complements **organizational reputation** (via Colony). +DAO decisions can leverage **on-chain trust data** — for example, prioritizing the listing of tokens validated by reputable users or verifiable attestations. diff --git a/apps/docus/docs/litepaper/06-launchpad-gbm.md b/apps/docus/docs/litepaper/06-launchpad-gbm.md new file mode 100644 index 000000000..60a6d59c7 --- /dev/null +++ b/apps/docus/docs/litepaper/06-launchpad-gbm.md @@ -0,0 +1,37 @@ +--- +title: Launchpad IDA GBM +sidebar_position: 6 +--- + +Launching a token should be **predictable, fair, and resistant to abuse**. +**GBM (Go Bid More)** introduces a **bid-to-earn** framework where price discovery happens publicly, with no gas wars, no sniping, and no insider advantage. + +--- + +### **Bid-to-Earn Model** + +With every new bid, the **previous bidder is rewarded**, receiving their initial bid **plus a premium** (up to ~10% depending on the outbid). +Participation is therefore **rewarded even without winning**, encouraging engagement and a healthier dynamic among bidders. + +--- + +### **Fair Token Launch** + +* **No opaque private sales.** +* **Public, transparent, and accessible auctions** open to everyone. +* **Fewer pump & dump risks** linked to early insiders. + +Price is gradually revealed through bidding, each outbid pays a premium to the previous participant, **aligning incentives** and discouraging **opportunistic sniping**. +Optionally, a **stabilization buffer** can be reserved: a percentage of the auction proceeds may be used to **deepen liquidity** (seed or strengthen LPs) or conduct **targeted buybacks** to smooth extreme bids and reduce post-auction regret. + +At the end of a successful auction, a **liquidity pair** (e.g., `$NEW / $tTRUST`) can be **automatically created**, providing a **seamless transition from launch to trading**. + +--- + +### **Transparency & Community** + +* Projects are linked to the **Intuition knowledge graph** (claims: audits, team, roadmap…). +* **Community voting** influences post-launch trust and visibility. +* **Reputation** becomes a key driver of long-term project success. + +In short, **GBM aligns fairness, transparency, and liquidity from day one**, turning token launches into a **clean, readable, and manipulation-resistant** process. diff --git a/apps/docus/docs/litepaper/07-tokenomics.md b/apps/docus/docs/litepaper/07-tokenomics.md new file mode 100644 index 000000000..2fd99f876 --- /dev/null +++ b/apps/docus/docs/litepaper/07-tokenomics.md @@ -0,0 +1,10 @@ +--- +title: Tokenomics (soon) +sidebar_position: 7 +--- + +Coming soon... + + + diff --git a/apps/docus/docs/litepaper/08-roadmap.md b/apps/docus/docs/litepaper/08-roadmap.md new file mode 100644 index 000000000..385b494d0 --- /dev/null +++ b/apps/docus/docs/litepaper/08-roadmap.md @@ -0,0 +1,26 @@ +--- +title: Roadmap (Lite) +sidebar_position: 8 +--- + + +**Phase 1 — Testnet (MVP)** +The experimentation ground. +Deployment of the DEX on testnet with the core building blocks: **swap**, **pools**, **portfolio**, **tracking**, and the first tests of the **Trust Overlay**. + +**Phase 2 — Mainnet Launch & Communication** +Official deployment of the DEX. +This is the real kickoff: public launch, start of communication, first users, and first listed projects. +Additional tools will be introduced — **analytics page**, **blog**, **documentation**, and the first **community channels**. + +**Phase 3 — Colony Integration & First Intuition Features** +Implementation of decentralized governance through **Colony**: domains, dynamic reputation, and lazy voting. +In parallel, the first integration of **Intuition**, introducing **reputation-based logic** and **for/against voting features** directly on tokens. + +**Phase 4 — GBM Launchpad** +Deployment of the **GBM Auctions** module for **fair launches**. + +**Phase 5 — Community Action & Exploration of Future Features** +Full openness to community proposals. +Research and testing of new **value-proven protocols** — any module suggested and validated through the DAO. +The goal: to make **TrustSwap** evolve as a **living ecosystem**, powered by its users. diff --git a/apps/docus/docs/litepaper/09-conclusion.md b/apps/docus/docs/litepaper/09-conclusion.md new file mode 100644 index 000000000..ec3852990 --- /dev/null +++ b/apps/docus/docs/litepaper/09-conclusion.md @@ -0,0 +1,13 @@ +--- +title: Conclusion +sidebar_position: 9 +--- + + +**TrustSwap** isn’t just another DEX fork, it represents a **new generation of decentralized exchanges**, where **trust** becomes as vital as liquidity. +By integrating **Colony** for meritocratic governance, **Intuition** for on-chain reputation and transparency, and **GBM Auctions** for fair token launches, TrustSwap redefines how communities interact with markets. + +Our mission is to build a **more transparent, inclusive, and sustainable** DeFi ecosystem, one where every user strengthens the market itself. +Together, let’s make **trust a liquid asset.** + +3,3 diff --git a/apps/docus/docs/litepaper/img/Voting-Overlay.png b/apps/docus/docs/litepaper/img/Voting-Overlay.png new file mode 100644 index 000000000..d09333728 Binary files /dev/null and b/apps/docus/docs/litepaper/img/Voting-Overlay.png differ diff --git a/apps/docus/docs/litepaper/img/image-intro.png b/apps/docus/docs/litepaper/img/image-intro.png new file mode 100644 index 000000000..ea83858b6 Binary files /dev/null and b/apps/docus/docs/litepaper/img/image-intro.png differ diff --git a/apps/docus/docusaurus.config.ts b/apps/docus/docusaurus.config.ts new file mode 100644 index 000000000..74f06d1ca --- /dev/null +++ b/apps/docus/docusaurus.config.ts @@ -0,0 +1,134 @@ +import {themes as prismThemes} from 'prism-react-renderer'; +import type {Config} from '@docusaurus/types'; +import type * as Preset from '@docusaurus/preset-classic'; + +// This runs in Node.js - Don't use client-side code here (browser APIs, JSX...) + +const config: Config = { + title: 'TrustSwap Docs', + tagline: 'The swap you can trust', + favicon: 'img/favicon.ico', + + // Future flags, see https://docusaurus.io/docs/api/docusaurus-config#future + future: { + v4: true, // Improve compatibility with the upcoming Docusaurus v4 + }, + + // Set the production url of your site here + url: 'https://trustswap.intuition.box', + // Set the // pathname under which your site is served + // For GitHub pages deployment, it is often '//' + baseUrl: '/docs/', + + // GitHub pages deployment config. + // If you aren't using GitHub pages, you don't need these. + organizationName: 'TrustSwap', // Usually your GitHub org/user name. + projectName: 'TrustSwap', // Usually your repo name. + + onBrokenLinks: 'throw', + onBrokenMarkdownLinks: 'warn', + + + // Even if you don't use internationalization, you can use this field to set + // useful metadata like html lang. For example, if your site is Chinese, you + // may want to replace "en" with "zh-Hans". + i18n: { + defaultLocale: 'en', + locales: ['en'], + }, + + presets: [ + [ + 'classic', + { + docs: { + routeBasePath: '/', + sidebarPath: './sidebars.ts', + // Please change this to your repo. + // Remove this to remove the "edit this page" links. + editUrl: + 'https://github.com/intuition-box/TrustSwap/tree/dev/apps/docus/', + }, + blog: { + showReadingTime: true, + blogTitle: 'Blog Trust', + feedOptions: { + type: ['rss', 'atom'], + xslt: true, + }, + // Please change this to your repo. + // Remove this to remove the "edit this page" links. + editUrl: + 'https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/', + // Useful options to enforce blogging best practices + onInlineTags: 'warn', + onInlineAuthors: 'warn', + onUntruncatedBlogPosts: 'warn', + }, + theme: { + customCss: './src/css/custom.css', + }, + } satisfies Preset.Options, + ], + ], + + themeConfig: { + // Replace with your project's social card + image: 'img/docusaurus-social-card.jpg', + navbar: { + title: 'TrusSwap Docs', + + items: [ + { type: 'doc', docId: 'litepaper/introduction', position: 'left', label: 'Litepaper' }, + { to: '/blog', label: 'Blog', position: 'left' } + ], + }, + footer: { + style: 'dark', + links: [ + { + title: 'Docs', + items: [ + { + label: 'Litepaper', + to: '/docs/litepaper/introduction', + }, + ], + }, + { + title: 'Community', + items: [ + { + label: 'Discord', + href: 'https://discord.com/channels/909531430881746974/1415361155182100490', + }, + { + label: 'X', + href: 'https://x.com/docusaurus', + }, + ], + }, + { + title: 'More', + items: [ + { + label: 'Blog', + to: '/blog', + }, + { + label: 'GitHub', + href: 'https://github.com/intuition-box/TrustSwap', + }, + ], + }, + ], + copyright: `Copyright © ${new Date().getFullYear()} My Project, Inc. Built with Docusaurus.`, + }, + prism: { + theme: prismThemes.github, + darkTheme: prismThemes.dracula, + }, + } satisfies Preset.ThemeConfig, +}; + +export default config; diff --git a/apps/docus/package.json b/apps/docus/package.json new file mode 100644 index 000000000..b83f0bc6a --- /dev/null +++ b/apps/docus/package.json @@ -0,0 +1,47 @@ +{ + "name": "@trustswap/docus", + "version": "0.0.0", + "private": true, + "scripts": { + "docusaurus": "docusaurus", + "start": "docusaurus start .", + "build": "docusaurus build .", + "swizzle": "docusaurus swizzle", + "deploy": "docusaurus deploy", + "clear": "docusaurus clear", + "serve": "docusaurus serve .", + "write-translations": "docusaurus write-translations", + "write-heading-ids": "docusaurus write-heading-ids", + "typecheck": "tsc" + }, + "dependencies": { + "@docusaurus/core": "3.8.1", + "@docusaurus/preset-classic": "3.8.1", + "@mdx-js/react": "^3.0.0", + "clsx": "^2.0.0", + "prism-react-renderer": "^2.3.0", + "react": "^19.0.0", + "react-dom": "^19.0.0" + }, + "devDependencies": { + "@docusaurus/module-type-aliases": "3.8.1", + "@docusaurus/tsconfig": "3.8.1", + "@docusaurus/types": "3.8.1", + "typescript": "~5.6.2" + }, + "browserslist": { + "production": [ + ">0.5%", + "not dead", + "not op_mini all" + ], + "development": [ + "last 3 chrome version", + "last 3 firefox version", + "last 5 safari version" + ] + }, + "engines": { + "node": ">=18.0" + } +} diff --git a/apps/docus/sidebars.ts b/apps/docus/sidebars.ts new file mode 100644 index 000000000..a56de6fe6 --- /dev/null +++ b/apps/docus/sidebars.ts @@ -0,0 +1,26 @@ +import type {SidebarsConfig} from '@docusaurus/plugin-content-docs'; + +// This runs in Node.js - Don't use client-side code here (browser APIs, JSX...) + +/** + * Creating a sidebar enables you to: + - create an ordered group of docs + - render a sidebar for each doc of that group + - provide next/previous navigation + + The sidebars can be generated from the filesystem, or explicitly defined here. + + Create as many sidebars as you want. + */ +const sidebars: SidebarsConfig = { + docs: [ + { + type: 'category', + label: 'Litepaper', + link: { type: 'generated-index', title: 'Litepaper', description: 'Vision and direction of TrustSwap' }, + items: [{ type: 'autogenerated', dirName: 'litepaper' }], + }, + ], +}; + +export default sidebars; diff --git a/apps/docus/src/components/HomepageFeatures/index.tsx b/apps/docus/src/components/HomepageFeatures/index.tsx new file mode 100644 index 000000000..86a1f0029 --- /dev/null +++ b/apps/docus/src/components/HomepageFeatures/index.tsx @@ -0,0 +1,42 @@ +import type {ReactNode} from 'react'; +import clsx from 'clsx'; +import Heading from '@theme/Heading'; +import styles from './styles.module.css'; + +type FeatureItem = { + title: string; + Svg: React.ComponentType>; + description: ReactNode; +}; + +const FeatureList: FeatureItem[] = [ + +]; + +function Feature({title, Svg, description}: FeatureItem) { + return ( +
+
+ +
+
+ {title} +

{description}

+
+
+ ); +} + +export default function HomepageFeatures(): ReactNode { + return ( +
+
+
+ {FeatureList.map((props, idx) => ( + + ))} +
+
+
+ ); +} diff --git a/apps/docus/src/components/HomepageFeatures/styles.module.css b/apps/docus/src/components/HomepageFeatures/styles.module.css new file mode 100644 index 000000000..b248eb2e5 --- /dev/null +++ b/apps/docus/src/components/HomepageFeatures/styles.module.css @@ -0,0 +1,11 @@ +.features { + display: flex; + align-items: center; + padding: 2rem 0; + width: 100%; +} + +.featureSvg { + height: 200px; + width: 200px; +} diff --git a/apps/docus/src/css/custom.css b/apps/docus/src/css/custom.css new file mode 100644 index 000000000..6fd3931f9 --- /dev/null +++ b/apps/docus/src/css/custom.css @@ -0,0 +1,85 @@ +:root { + --ifm-color-primary: #4ADAEA; + --ifm-color-primary-dark: #29784c; + --ifm-color-primary-darker: #277148; + --ifm-color-primary-darkest: #205d3b; + --ifm-color-primary-light: #33925d; + --ifm-color-primary-lighter: #359962; + --ifm-color-primary-lightest: #3cad6e; + --ifm-code-font-size: 95%; + +} + +[data-theme='dark'] { + --ifm-color-primary: #4ADAEA; /* hover */ + --ifm-color-primary-dark: #000000; + --ifm-color-primary-darker: #1fa588; + --ifm-color-primary-darkest: #1a8870; + --ifm-color-primary-light: #29d5b0; + --ifm-color-primary-lighter: #32d8b4; + --ifm-color-primary-lightest: #4fddbf; + --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.3); + +.test {} + + body { + background-image: + radial-gradient(#000000 2px, transparent 2px), + linear-gradient(to bottom, #1e1e1e 0%, #080808 0%, #080808 100%); + background-size: 4px 4px, 100% 100%; + background-blend-mode: normal; + color: #b6b6b6; + } + + + + nav, footer { + background-image: + radial-gradient(#000000 2px, transparent 2px), + linear-gradient(to bottom, #1e1e1e 0%, #080808 0%, #080808 100%); + background-size: 4px 4px, 100% 100%; + background-blend-mode: normal; + } + + footer { + border-top: 1px solid rgb(63, 63, 63); + } + + section { + color: #FFFFFF; + } + + + + + #__docusaurus { + background-image: + radial-gradient(#000000 2px, transparent 2px), + linear-gradient(to bottom, #1e1e1e 0%, #080808 0%, #080808 100%); + background-size: 4px 4px, 100% 100%; + background-blend-mode: normal; + } + + + + + +} + + +[data-theme='light'] { + --ifm-color-primary: #058985; + --ifm-color-primary-dark: #21af90; + --ifm-color-primary-darker: #1fa588; + --ifm-color-primary-darkest: #1a8870; + --ifm-color-primary-light: #29d5b0; + --ifm-color-primary-lighter: #32d8b4; + --ifm-color-primary-lightest: #4fddbf; + --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.3); + + + footer { + background-color: rgb(77, 77, 77); + } + + } \ No newline at end of file diff --git a/apps/docus/src/pages/index.module.css b/apps/docus/src/pages/index.module.css new file mode 100644 index 000000000..684e961e8 --- /dev/null +++ b/apps/docus/src/pages/index.module.css @@ -0,0 +1,61 @@ +/** + * CSS files with the .module.css suffix will be treated as CSS modules + * and scoped locally. + */ + + + + + [data-theme='light'] { + +.heroBanner { + padding: 4rem 0; + text-align: center; + position: relative; + overflow: hidden; + color: #111111; + background-color: transparent; +} + +@media screen and (max-width: 996px) { + .heroBanner { + padding: 2rem; + } +} + +.buttons { + display: flex; + align-items: center; + justify-content: center; +} + + } + + + [data-theme='dark'] { + + .heroBanner { + padding: 4rem 0; + text-align: center; + position: relative; + overflow: hidden; + color: #ffffff; + background-color: transparent; + } + + + + + @media screen and (max-width: 996px) { + .heroBanner { + padding: 2rem; + } + } + + .buttons { + display: flex; + align-items: center; + justify-content: center; + } + + } \ No newline at end of file diff --git a/apps/docus/src/pages/index.tsx b/apps/docus/src/pages/index.tsx new file mode 100644 index 000000000..b401e92bd --- /dev/null +++ b/apps/docus/src/pages/index.tsx @@ -0,0 +1,44 @@ +import type {ReactNode} from 'react'; +import clsx from 'clsx'; +import Link from '@docusaurus/Link'; +import useDocusaurusContext from '@docusaurus/useDocusaurusContext'; +import Layout from '@theme/Layout'; +import HomepageFeatures from '@site/src/components/HomepageFeatures'; +import Heading from '@theme/Heading'; + +import styles from './index.module.css'; + +function HomepageHeader() { + const {siteConfig} = useDocusaurusContext(); + return ( +
+
+ + {siteConfig.title} + +

{siteConfig.tagline}

+
+ + Explore + +
+
+
+ ); +} + +export default function Home(): ReactNode { + const {siteConfig} = useDocusaurusContext(); + return ( + + +
+ +
+
+ ); +} diff --git a/apps/docus/src/pages/markdown-page.md b/apps/docus/src/pages/markdown-page.md new file mode 100644 index 000000000..9756c5b66 --- /dev/null +++ b/apps/docus/src/pages/markdown-page.md @@ -0,0 +1,7 @@ +--- +title: Markdown page example +--- + +# Markdown page example + +You don't need React to write simple standalone pages. diff --git a/.turbo/cookies/2.cookie b/apps/docus/static/.nojekyll similarity index 100% rename from .turbo/cookies/2.cookie rename to apps/docus/static/.nojekyll diff --git a/apps/docus/static/img/docusaurus-social-card.jpg b/apps/docus/static/img/docusaurus-social-card.jpg new file mode 100644 index 000000000..ffcb44821 Binary files /dev/null and b/apps/docus/static/img/docusaurus-social-card.jpg differ diff --git a/apps/docus/static/img/docusaurus.png b/apps/docus/static/img/docusaurus.png new file mode 100644 index 000000000..f458149e3 Binary files /dev/null and b/apps/docus/static/img/docusaurus.png differ diff --git a/apps/docus/static/img/favicon.ico b/apps/docus/static/img/favicon.ico new file mode 100644 index 000000000..c01d54bcd Binary files /dev/null and b/apps/docus/static/img/favicon.ico differ diff --git a/apps/docus/static/img/logo.svg b/apps/docus/static/img/logo.svg new file mode 100644 index 000000000..9db6d0d06 --- /dev/null +++ b/apps/docus/static/img/logo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/apps/docus/static/img/undraw_docusaurus_mountain.svg b/apps/docus/static/img/undraw_docusaurus_mountain.svg new file mode 100644 index 000000000..af961c49a --- /dev/null +++ b/apps/docus/static/img/undraw_docusaurus_mountain.svg @@ -0,0 +1,171 @@ + + Easy to Use + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/docus/static/img/undraw_docusaurus_react.svg b/apps/docus/static/img/undraw_docusaurus_react.svg new file mode 100644 index 000000000..94b5cf08f --- /dev/null +++ b/apps/docus/static/img/undraw_docusaurus_react.svg @@ -0,0 +1,170 @@ + + Powered by React + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/docus/static/img/undraw_docusaurus_tree.svg b/apps/docus/static/img/undraw_docusaurus_tree.svg new file mode 100644 index 000000000..d9161d339 --- /dev/null +++ b/apps/docus/static/img/undraw_docusaurus_tree.svg @@ -0,0 +1,40 @@ + + Focus on What Matters + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/docus/tsconfig.json b/apps/docus/tsconfig.json new file mode 100644 index 000000000..920d7a652 --- /dev/null +++ b/apps/docus/tsconfig.json @@ -0,0 +1,8 @@ +{ + // This file is not used in compilation. It is here just for a nice editor experience. + "extends": "@docusaurus/tsconfig", + "compilerOptions": { + "baseUrl": "." + }, + "exclude": [".docusaurus", "build"] +} diff --git a/apps/web/index.html b/apps/web/index.html index 9c0c85b40..2e9179b50 100644 --- a/apps/web/index.html +++ b/apps/web/index.html @@ -4,6 +4,8 @@ TrustSwap + +