Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
2bba7b7
Dynamic topics on home page + home page tests restructure
holgerd77 Mar 2, 2026
0c48827
Major E2E -> Unit tests shift + new respective workflow
holgerd77 Mar 2, 2026
6740856
Dedicated file for the examples
holgerd77 Mar 2, 2026
69ee391
Minor + dedicated E-Components
holgerd77 Mar 2, 2026
3bb7b1b
Unify import path conventions
holgerd77 Mar 2, 2026
4018cb0
Import reorganization
holgerd77 Mar 2, 2026
48335fa
Some code optimizations
holgerd77 Mar 2, 2026
571325c
Radical precompile component rewrite
holgerd77 Mar 2, 2026
2667ae2
Further precompile component refactor
holgerd77 Mar 2, 2026
482d6b6
Naming systematics for eComponents
holgerd77 Mar 3, 2026
d49aae3
Recreate docs based on current project state
holgerd77 Mar 3, 2026
176b36d
Better separation generic E-Components <-> available EC docs
holgerd77 Mar 3, 2026
f0f2855
New style/design concept
holgerd77 Mar 3, 2026
6404d12
Design docs
holgerd77 Mar 3, 2026
9ba6a5f
Clean-up of current mostly precompile related utils
holgerd77 Mar 3, 2026
7a05efc
UI component structure reorg
holgerd77 Mar 3, 2026
c120736
UI component renaming
holgerd77 Mar 3, 2026
5957f8e
Linting
holgerd77 Mar 3, 2026
326742c
Introduce @headlessui/vue, rework example select component
holgerd77 Mar 4, 2026
6376270
Reworked exploration navi using headlessui + navigation fix and addit…
holgerd77 Mar 4, 2026
e26365a
Some color palette rework
holgerd77 Mar 4, 2026
b4175ae
Design sparks
holgerd77 Mar 4, 2026
630631c
Design overhaul
holgerd77 Mar 4, 2026
8300220
More design tweaks
holgerd77 Mar 4, 2026
82f1b64
Lint
holgerd77 Mar 4, 2026
7b2a8b0
E2E test fixes
holgerd77 Mar 4, 2026
2364c2a
Design tweaks
holgerd77 Mar 4, 2026
67d487b
Lint
holgerd77 Mar 4, 2026
ddbe43a
Small fix
holgerd77 Mar 4, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 29 additions & 0 deletions .github/workflows/unit.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
name: Run Unit Tests
on:
pull_request:
types: [opened, reopened, synchronize]
push:
branches: [master]
tags: ['*']

concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
cancel-in-progress: true

jobs:
run-unit-tests:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v5

- name: Use Node.js 22
uses: actions/setup-node@v5
with:
node-version: 22
cache: 'npm'

- run: npm ci

- name: Run unit tests
run: npx vitest run
11 changes: 4 additions & 7 deletions cypress/e2e/eip7594.cy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,8 @@ describe('EIP-7594/PeerDAS Tests', () => {
)

// Select different example
cy.get('#eip-7594-c').find('select').select(2)
cy.get('#eip-7594-c .e-select').click()
cy.get('#eip-7594-c [role="option"]').eq(1).click()
cy.get('#eip-7594-c textarea', { timeout: 10000 }).should(
'contain.value',
'00000000000000000000000000000000000000000',
Expand All @@ -27,13 +28,9 @@ describe('EIP-7594/PeerDAS Tests', () => {
.should('contain.text', text, { timeout: 25000 })
text =
'0x8bd1e6e38b2b54735c6f0102022510cf2abc2e4c6c5a437cba9831662c9f112e61e2a6ced8ce63b3de18cb9cc99ae21e'
cy.get('#eip-7594-c .4844-box')
.find('p')
.should('contain.text', text, { timeout: 25000 })
cy.get('#eip-7594-c .4844-box').find('p').should('contain.text', text, { timeout: 25000 })
text =
'0x8d90ed38068f3561132d9264db8c8dfb5237af24a6e28c3d4e72d3ad8d51d97be5733ddc382c9718822cb29ccc26364e'
cy.get('#eip-7594-c .7594-box')
.find('p:first')
.should('contain.text', text, { timeout: 25000 })
cy.get('#eip-7594-c .7594-box').find('p:first').should('contain.text', text, { timeout: 25000 })
})
})
8 changes: 3 additions & 5 deletions cypress/e2e/eip7883_Precompile_R.cy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,7 @@ describe('EIP-7823/Precompile Component Tests', () => {
cy.contains('h1', 'Feel Your Protocol')
cy.contains('h3', 'ModExp')

cy.get('#eip-7883-c textarea', { timeout: 10000 }).should(
'have.value',
bytesExpected,
)
cy.get('#eip-7883-c textarea', { timeout: 10000 }).should('have.value', bytesExpected)
cy.get('#eip-7883-c input').eq(0).should('have.value', '03')
cy.get('#eip-7883-c input').eq(1).should('have.value', '03')
cy.get('#eip-7883-c input').eq(2).should('have.value', '02')
Expand Down Expand Up @@ -94,7 +91,8 @@ describe('EIP-7823/Precompile Component Tests', () => {
cy.get('input').eq(2).should('have.value', '0202')

// examples
cy.get('.examples-select').select('Simple')
cy.get('.e-select').click()
cy.contains('[role="option"]', 'Simple').click()
cy.get('input').eq(0).should('have.value', '03')
cy.get('input').eq(1).should('have.value', '03')
cy.get('input').eq(2).should('have.value', '02')
Expand Down
5 changes: 2 additions & 3 deletions cypress/e2e/eip7951.cy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,8 @@ describe('EIP-7951/secp256r1 Precompile Support', () => {
cy.get('.post-hardfork').find('p').eq(0).should('include.text', '6900 Gas')

// Select different example
cy.get('#eip-7951-c')
.find('select')
.select('Invalid (Wycheproof), r value too large')
cy.get('#eip-7951-c .e-select').click()
cy.contains('[role="option"]', 'Invalid (Wycheproof), r value too large').click()
cy.get('#eip-7951-c textarea', { timeout: 10000 }).should(
'contain.value',
'532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25',
Expand Down
55 changes: 55 additions & 0 deletions cypress/e2e/sites.cy.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
describe('Home', () => {
it('loads and displays topics and explorations', () => {
cy.visit('/')
cy.contains('h2', 'Fusaka').should('be.visible')
cy.get('.exploration-c').should('have.length.gte', 1)
})

it('topic link navigates to topic page', () => {
cy.visit('/')
cy.contains('h2', 'Fusaka').closest('a').click()
cy.url().should('include', '/fusaka')
})

it('exploration card navigates to exploration page', () => {
cy.visit('/')
cy.get('.exploration-c').first().closest('a').click()
cy.url().should('match', /\/eip-\d+/)
})
})

describe('Topic (Fusaka)', () => {
it('loads all exploration widgets', () => {
cy.visit('/fusaka')
cy.get('#eip-7883-c', { timeout: 10000 }).should('exist')
cy.get('#eip-7594-c', { timeout: 10000 }).should('exist')
cy.get('#eip-7951-c', { timeout: 10000 }).should('exist')
})
})

describe('Imprint', () => {
it('loads and shows key sections', () => {
cy.visit('/imprint')
cy.contains('h3', 'CONTACT')
cy.contains('h3', 'ACKNOWLEDGEMENTS')
cy.contains('h3', 'DATA')
})
})

describe('Navigation', () => {
it('full navigation flow through the site', () => {
cy.visit('/')
cy.get('header').contains('Feel Your Protocol')
cy.get('footer').contains('Imprint')

cy.get('#exploration-navi').click()
cy.contains('[role="option"]', 'EIP-7883').click()
cy.url().should('include', '/eip-7883')

cy.get('footer').contains('Imprint').click()
cy.url().should('include', '/imprint')

cy.contains('h1', 'Feel Your Protocol').click()
cy.url().should('eq', Cypress.config().baseUrl + '/')
})
})
22 changes: 0 additions & 22 deletions cypress/e2e/sites/home.cy.ts

This file was deleted.

22 changes: 0 additions & 22 deletions cypress/e2e/sites/imprint.cy.ts

This file was deleted.

45 changes: 0 additions & 45 deletions cypress/e2e/sites/structure.cy.ts

This file was deleted.

35 changes: 0 additions & 35 deletions cypress/e2e/sites/topic.cy.ts

This file was deleted.

4 changes: 2 additions & 2 deletions dist/docs/404.html
Original file line number Diff line number Diff line change
Expand Up @@ -9,14 +9,14 @@
<link rel="preload stylesheet" href="/assets/style.Cfu23m_7.css" as="style">
<link rel="preload stylesheet" href="/vp-icons.css" as="style">

<script type="module" src="/assets/app.CxFGIg_I.js"></script>
<script type="module" src="/assets/app.nonmTxRS.js"></script>
<link rel="preload" href="/assets/inter-roman-latin.Di8DUHzh.woff2" as="font" type="font/woff2" crossorigin="">
<script id="check-dark-mode">(()=>{const e=localStorage.getItem("vitepress-theme-appearance")||"auto",a=window.matchMedia("(prefers-color-scheme: dark)").matches;(!e||e==="auto"?a:e==="dark")&&document.documentElement.classList.add("dark")})();</script>
<script id="check-mac-os">document.documentElement.classList.toggle("mac",/Mac|iPhone|iPod|iPad/i.test(navigator.platform));</script>
</head>
<body>
<div id="app"></div>
<script>window.__VP_HASH_MAP__=JSON.parse("{\"contributing_adding-an-exploration.md\":\"Bx_AiHel\",\"contributing_how-to-contribute.md\":\"C-N0YY81\",\"guide_architecture.md\":\"qxw0U9Or\",\"guide_getting-started.md\":\"BHVwHBbn\",\"guide_library-forks.md\":\"C-_4bMc7\",\"index.md\":\"BJXo33p3\"}");window.__VP_SITE_DATA__=JSON.parse("{\"lang\":\"en-US\",\"dir\":\"ltr\",\"title\":\"Feel Your Protocol\",\"description\":\"Documentation for the Feel Your Protocol project\",\"base\":\"/\",\"head\":[],\"router\":{\"prefetchLinks\":true},\"appearance\":true,\"themeConfig\":{\"nav\":[{\"text\":\"Guide\",\"link\":\"/guide/getting-started\"},{\"text\":\"Contributing\",\"link\":\"/contributing/how-to-contribute\"},{\"text\":\"Website\",\"link\":\"https://feelyourprotocol.org\"}],\"sidebar\":[{\"text\":\"Guide\",\"items\":[{\"text\":\"Getting Started\",\"link\":\"/guide/getting-started\"},{\"text\":\"Architecture\",\"link\":\"/guide/architecture\"},{\"text\":\"Library Forks\",\"link\":\"/guide/library-forks\"}]},{\"text\":\"Contributing\",\"items\":[{\"text\":\"How to Contribute\",\"link\":\"/contributing/how-to-contribute\"},{\"text\":\"Adding an Exploration\",\"link\":\"/contributing/adding-an-exploration\"}]}],\"socialLinks\":[{\"icon\":\"github\",\"link\":\"https://github.com/feelyourprotocol/website\"}],\"search\":{\"provider\":\"local\"},\"footer\":{\"message\":\"This project and its documentation are under active development.\"}},\"locales\":{},\"scrollOffset\":134,\"cleanUrls\":false,\"additionalConfig\":{}}");</script>
<script>window.__VP_HASH_MAP__=JSON.parse("{\"contributing_adding-an-exploration.md\":\"Ahsvo_Ol\",\"contributing_available-e-components.md\":\"CJ3WaJq0\",\"contributing_code-conventions.md\":\"q8SsjSd8\",\"contributing_e-components.md\":\"EgChjAzs\",\"contributing_how-to-contribute.md\":\"XKvLYLkk\",\"contributing_library-forks.md\":\"DYk1JQhp\",\"contributing_styling.md\":\"BxYm3jg7\",\"guide_architecture.md\":\"BSBE4DKA\",\"guide_getting-started.md\":\"B-wiDt-S\",\"index.md\":\"DpQvSWpN\"}");window.__VP_SITE_DATA__=JSON.parse("{\"lang\":\"en-US\",\"dir\":\"ltr\",\"title\":\"Feel Your Protocol\",\"description\":\"Documentation for the Feel Your Protocol project\",\"base\":\"/\",\"head\":[],\"router\":{\"prefetchLinks\":true},\"appearance\":true,\"themeConfig\":{\"nav\":[{\"text\":\"Guide\",\"link\":\"/guide/getting-started\"},{\"text\":\"Contributing\",\"link\":\"/contributing/how-to-contribute\"},{\"text\":\"Website\",\"link\":\"https://feelyourprotocol.org\"}],\"sidebar\":[{\"text\":\"Guide\",\"items\":[{\"text\":\"Getting Started\",\"link\":\"/guide/getting-started\"},{\"text\":\"Architecture\",\"link\":\"/guide/architecture\"}]},{\"text\":\"Contributing\",\"items\":[{\"text\":\"How to Contribute\",\"link\":\"/contributing/how-to-contribute\"},{\"text\":\"Adding an Exploration\",\"link\":\"/contributing/adding-an-exploration\"},{\"text\":\"E-Components\",\"link\":\"/contributing/e-components\"},{\"text\":\"Available E-Components\",\"link\":\"/contributing/available-e-components\"},{\"text\":\"Styling & Design\",\"link\":\"/contributing/styling\"},{\"text\":\"Code Conventions\",\"link\":\"/contributing/code-conventions\"},{\"text\":\"Library Forks\",\"link\":\"/contributing/library-forks\"}]}],\"socialLinks\":[{\"icon\":\"github\",\"link\":\"https://github.com/feelyourprotocol/website\"}],\"search\":{\"provider\":\"local\"},\"footer\":{\"message\":\"This project and its documentation are under active development.\"}},\"locales\":{},\"scrollOffset\":134,\"cleanUrls\":false,\"additionalConfig\":{}}");</script>

</body>
</html>
1 change: 0 additions & 1 deletion dist/docs/assets/app.CxFGIg_I.js

This file was deleted.

1 change: 0 additions & 1 deletion dist/docs/assets/chunks/@localSearchIndexroot.CMtAquuL.js

This file was deleted.

Loading