Skip to content

Development - #3

Open
LilNait-S wants to merge 138 commits into
mainfrom
development
Open

Development#3
LilNait-S wants to merge 138 commits into
mainfrom
development

Conversation

@LilNait-S

Copy link
Copy Markdown
Collaborator

No description provided.

dexalien and others added 30 commits June 1, 2026 01:40
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Rebuilt hero with v0 2x2 grid layout, ScrambleText, floating mascot, gradient CTA button
- Replaced Features (2 cards) with 3-pillar layout: Communities / Hack Spaces / Hacker Houses
- Migrated Archetypes, HowItWorks, FinalCta to v0 hex color style
- Added new sections: Marquee strip, Verification, HackTheWorld, ProblemWeSolve
- Removed EventCallout (ETH Global Cannes)
- Updated navbar and auth button to v0 gradient style
- Copied assets from v0: logo.png, logo-text.png, globe-logo.gif, cat gifs
- Fixed favicon: removed default Next.js ico, use cat mascot via icon.png + metadata
- Color scheme: #180149 bg, #1A1740 cards, no framer-motion (Tailwind transitions)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…d when authed

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Apply bg-features-v1.jpg across all sections (unified dark brick wall)
- bg-archetypes-v1.jpg on Archetypes with subtle overlay
- Remove gradient fades between sections
- Add OurSolution component with text aligned to current vision

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- docs/strategy/pitch-v2.md — pitch actualizado con foco en HackerHouses
  coordinadas on-chain, pool de fondos via smart contract en Arbitrum,
  NFT de booking, modelo de negocio y comunidades como growth layer
- HHP_Buildathon_Plan.pdf — plan de 3 semanas por rol para el equipo
- generate_pdf.py — script para regenerar el PDF

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…lities

El problema no es la falta de un responsable sino la falta de infraestructura
trustless. Se añaden los 3 modelos (copayment, sponsor, staking) y se aclara
que el protocolo empodera al organizador, no lo reemplaza.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- pitch-v2.md — restructured slide by slide (10 slides), clean and
  ready to transfer to presentation deck
- plan-buildathon.md — internal team plan: 3-week schedule by role,
  architecture, scope decisions, risks and metrics

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…lide

- Slide 3: reemplaza MATCH→BUILD→CO-LIVE por VERIFY→MATCH→CO-LIVE
- Elimina toda mención de Hack Spaces del pitch
- Agrega gating on-chain como diferenciador: score Talent Protocol,
  cantidad de POAPs o POAPs específicos como requisitos de acceso
- Slide 8: actualiza traction con gating on-chain como feature en desarrollo

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Script de generacion del PDF no pertenece al repositorio del producto.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
… payment flow, and full detail pages

- Rewrite hacker house detail page: image carousel, mode-specific UI (free/paid/staking), payment split, sticky CTA
- Add payment flow page with 3-step mocked process (details → payment → success with confetti)
- Add modality + sponsor_name fields to create form, schema, API, and types
- Rewrite hack space detail page: banner, open roles, current team, access requirements, sticky footer
- Add pixel-art workspace: cat GIF avatars, 4 selectable world themes, NPC movement, video overlay, chat sidebar
- Redesign dashboard home: welcome header, context banner, active cities, upcoming events
- Add /hacks page with My Hack Spaces/Houses + recommended feeds
- Add /events listing and detail pages
- Add finished houses section in hacker houses listing
- Fix duplicate React key in hack space members, workspace layout containment, card width consistency
…il page

- Network page (builders): Homies | Communities tabs, default list view, 4-col grid sections
- Community list: My Communities + Suggested (4 cards each with See all / View more)
- Community detail page (/community/[id]): cover header, join/leave, 6 tabs (About, Members, Events, Board, Projects, Tools)
- Board tab planned as 4chan-style image board
- Members tab with creator crown badge
- Community cards clickable → detail page
- New pages: builders/explore, community/explore (with search + category filters + create button)
- Create community form + modal option
- Full API: GET/POST communities, join, leave, members, upload-image, seed
- Service hooks: useFilteredCommunities, useCommunity, useCommunityMembers, useJoinCommunity, useLeaveCommunity, useCreateCommunity, useUploadCommunityImage
- Zod schema, types, query keys for communities domain
- FAL_KEY + OPENROUTER_API_KEY registered in env.server.ts
…nt flow, map precision, community tabs, hacks page redesign
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…ategy

Deletes iexec pitch/deck variants, pitchathon details/milestones, and base
pitch/problem docs. Updates CLAUDE.md doc table to point to pitch-v2.md and
plan-buildathon.md. Removes stale HHP_Buildathon_Plan.pdf.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
… toggle admin, event type check, date sanitization
…gination

- POAP gallery now shows 10 at a time with a "+N / Show more" card and lazy-loaded images
- Replace full HackSpaceCard/HackerHouseCard in profile with compact ActivityRow (thumbnail, title, meta, status badge, link to detail)
- Row-shaped skeletons for the activity section

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…-activity

feat: profile - compact activity rows + POAP pagination
dexalien and others added 30 commits June 13, 2026 00:17
Status report: snapshot of all contracts, hooks, UI, and tests before
yield adapter work. Implementation plan: IYieldAdapter interface,
MockYieldAdapter for testnet, escrow modifications, factory update,
deploy order, risk analysis, and verification checklist.
… + Factory auto-deploy

- IYieldAdapter interface (deposit, withdraw, pendingYield, totalDeposited)
- MockYieldAdapter: time-based 10% APY yield simulator for testnet
- HackerHouseEscrow: deposit forwarding, yield distribution on release, adapter withdrawal on cancel
- Factory auto-deploys MockYieldAdapter for STAKING/HYBRID houses (8 args, single tx)
- Initialize pattern solves chicken-and-egg (adapter.escrow set after deploy)
- 26 Foundry tests passing (6 new yield tests)
- Technical reference doc: docs/web3/yield-adapter-technical.md
…cal advances for judges

- Smart contracts section: 26 tests, yield system architecture diagram, adapter flow
- Three modalities table: Co-Payment vs Staking vs Hybrid with yield details
- Factory single-tx deploy: adapter + escrow + SpotNFT + initialize all atomically
- Initialize pattern explanation (circular dependency solution)
- GMX V2 on Arbitrum as native yield source in Why Arbitrum
- Features: yield accrual, invite-only gating, cancel without fee
- Business model: expanded staking yield description
Factory: 0x6E75e399E9867Cdd902Be043B7870dffB9dB3d3b
MockUSDC: 0xaB5a79ad8BaA31Faa18c74Ec794433Ce00e59b45
Contracts:
- SpotNFT: accept houseName in constructor, display "House Name - Spot #1" in tokenURI (1-indexed)
- Factory: 9 args (added houseName), pass to SpotNFT constructor
- 3rd deploy: Factory 0x751ea80F, MockUSDC 0x999579cc
- 26/26 tests passing

Frontend:
- Invite modal: capacity enforcement, spots remaining counter, revoke invites (X button)
- Invite revoke API route (DELETE /api/hacker-houses/[id]/invite)
- Edit form: lock on-chain fields after contract deploy (amber banner)
- Create form: toast-based validation instead of red fields, price min 1 USDC, photo required
- Remove NONE from yield protocol, show GMX as green badge
- Yield dest descriptions with detailed breakdown text
- Private Bridge coming soon info for all modalities
- Fix overlapping toasts on house creation
- Cat-crying.gif on invite-only lock screen
- Hybrid removed from UI, moved to roadmap

Docs: updated README, contracts README, yield-adapter-technical, gmx-status-report
…generic gates

Gate system for hacker houses, communities, and hack spaces:
- Generic gates table (entity_type + entity_id) replaces house_gates
- Gate engine evaluates 6 gate types (talent_skills, poap, nft, human_passport, world_id, blockchain_activity)
- Gate validation on apply/join routes (403 if not qualified)
- Gates check endpoint for pre-flight qualification
- Gates UI in hacker house create form (step Access)
- Gates display in house detail with qualification badges

Multi-wallet support:
- user_wallets table for read-only data wallets (never used for payments)
- API routes: GET/POST/DELETE /api/wallets
- Profile UI: wallet list with primary badge + add data wallet form
- POAP import fetches from all wallets in parallel with dedup

Profile identity:
- Featured POAPs: star toggle per POAP, saved via PATCH /api/profile
- Seeking skills: tag input for complementary matching preferences
- Both visible in public profiles and builder swipe/network cards

Builder views updated:
- Swipe card expanded: verified tags, featured POAPs, seeking skills
- Network cards + builder cards: prioritize talent_tags over skills

Privacy by design:
- Wallet addresses never exposed publicly
- Talent score internal only (skills visible, score hidden)
- POAPs: only event name shown, never wallet/token/chain
- Gates: only checkmarks, never raw user data

Migrations, types, schemas, docs, and gate-helpers for entity-agnostic reuse.
- Profile: banner upload (verified only), sidebar tabs (Wallets/Location/Links), skill carousel with arrows, POAP incremental load, featured POAPs, seeking skills, bio truncate, edit profile, Cypher Kitten 7-in-a-row
- Privacy: location/links/houses/spaces locked until match; links require explicit request (pending/accepted/denied flow) with owner accept/deny UI
- Network mini cards: skill icon strip replaces archetype text and skill labels
- Tinder swipe card: banner+overlapping avatar layout, prominent SkillCard grid in collapsed view, match reason chips, expanded view with banner header and SkillCard icon grid replacing info cards
- Link access API: GET/POST/PATCH routes + service hooks (useLinkAccessStatus, useRequestLinkAccess, useIncomingLinkRequests, useRespondLinkAccess)
- Scrollbar global styling, builder profile parity with own profile
Skill icon row in network, explore, and suggested builder cards now uses
size-8 containers with size-5.5 SVGs for better visibility. Explore page
cards also updated to use skill icon row instead of archetype text labels.
…t, invite fix

Wallet security (zero-trust):
- Require ownership proof via Privy linkWallet to add data wallets; disable raw-address POST /api/wallets
- Global anti-reuse: a wallet registered to any user cannot be linked to another
- POAP sync only over verified wallets; admin-only mock path for the buildathon
- New: /api/wallets/sync-linked, /api/admin/users/[id]/{wallets,sync-poaps}, lib/poap.ts
- Migration: user_wallets.verified / verification_method / verified_at + legacy backfill

Gates:
- GateType is now "poap" | "skill"; add SkillGateConfig; GateCheckResult.matched
- Enforce gates on community join and hack-space apply (pass poaps + skills + talent_tags)
- Skill gate picker in hacker-house, community and hack-space forms + detail pages
- Host notification reports the matched credentials on gate pass

Fixes:
- Invite-only create used wrong notification type (house_invite -> hacker_house_invite),
  orphaning create-time invites from homies / invite-status / uninvite

Other:
- Banner: anyone can upload a static image; animated GIF is verified-only
- Builders swipe card: show match tags inside details; drop POAP row from collapsed card
- Docs: link-wallet, identity-gates, web3-flow (ES/EN), README privacy/wallet
Full-screen 12-slide deck at /presentation built on the existing Embla
carousel: keyboard nav (arrows, space, Home/End), touch swipe, prev/next
arrows and clickable progress dots. Slides cover the buildathon pitch
(problem → solution → how it works → contract → features → audience →
business → traction → roadmap → team → closing).

- Recreate the VERIFY → MATCH → CO-LIVE escrow flow diagram in HTML/CSS
  (responsive, archetype colors) instead of a static image.
- Cover/closing keep the lighter #180149 behind MatrixBackground; content
  slides use the darker #0D0B2B base for stronger gray-text contrast.
- Add a "Pitch" link to the landing navbar.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
… flow

- Fix 3 typecheck errors (homies route, use-kernel-wallet)
- Harden hacker-house join route: enforce status, invite-only,
  event_goers_only and identity gates server-side (creator exempt)
- Hacker-house deploy reject: house still created, payment page shows
  escrow-not-deployed-yet state
- Dashboard home: swap hacker-houses <-> hack-spaces order
- Community about: show required POAPs and skills
- Hack-space create: add Gated access option (shows gate pickers),
  open hides gates, invite-only uses InviteHomiesPicker, curated
  disabled (coming soon), remove legacy skills_needed
- Fix Launch Space: event_timing .min(1) over default [] silently
  blocked submit
…/privacy slides

Sync the pitch deck with the actual implementation (per the latest README),
growing it from 12 to 14 slides:

- Reposition the on-chain layer from "in progress" to shipped: contracts
  deployed + verified on Arbitrum Sepolia (26/26 tests), gasless deposits E2E.
  Updated Traction (Done vs Shipping next), How it Works footnote, and Roadmap
  (Buildathon DONE; gates moved out of Phase 2).
- Fix the contract function table: createHouse/deposit/release/cancelHouse/
  transferSpot/pendingYield + SpotNFT + real deployed addresses.
- Add two slides: Wallet Architecture (3 AA identity layers) and Privacy by
  Design (gates return only checks, Kernel-wallet anonymity, multi-wallet).
- Data fixes: Features gains Communities + Identity Gates; yield clarified as
  pluggable adapters (10% testnet / GMX mainnet, host/builders destination).
- Move the slide counter into the deck (NN / total, hidden on cover) so slides
  no longer hardcode their index — reordering needs no renumbering.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…ixes

- Create generic `gates` table (entity_type/entity_id) and wire community +
  hack-space gates through saveGates/getGates (delete-first replace semantics).
- Show POAP/skill gates in community About; hydrate edit-form defaults from gates.
- Hack-space PATCH: strip gates/invited_user_ids from column updates, persist
  gates separately; edit page hydrates gate defaults.
- Notify applicant with hack_space_accepted on acceptance.
- Workspace: real local camera (video-only) + independent mic stream with live
  level meter; specific permission/secure-context error messages; double-size
  You tile.
If the initial escrow deploy is rejected/fails, the house was left stuck with
no way to deploy later. Extract the deploy flow (connect → factory.createHouse →
parse HouseCreated → PATCH escrow_address) into useDeployEscrow, reused by the
create flow and a new owner-only DeployEscrowPanel on the payment page so the
host can retry. Guards against a past withdraw date before sending the tx.
…ploy retry

- Match Getting Started env block to env.ts (ZeroDev bundler/passkeys URLs, drop
  stale ARBITRUM_RPC_URL).
- Note the gate engine now covers Houses, Communities and Hack Spaces.
- Document escrow deploy retry from the payment page.
- Fix archetype list typo (Builder, not duplicate Strategist).
…Error

Switch env.ts and env.server.ts from parse() to safeParse() and throw a readable error listing each offending var. On Vercel the raw ZodError collapsed to 'issues: Array' and the build worker died with no indication of which var was missing or malformed.
… linked external wallets

Email/social users own an embedded wallet that is the canonical smart-account signer. After adding external data-wallet linking, a linked MetaMask could land in the wallets array and the old length===0 guard skipped embedded provisioning, so step 4 picked wallets[0] (MetaMask) — prompting the wrong wallet and deriving a different, non-deterministic kernel address. Now detect embedded ownership via linked_accounts, provision/poll the embedded wallet even when external wallets are connected, and only fall back to an injected wallet for pure external-login users.
…dded wallet

An email/social user without a hydrated embedded wallet (createOnLogin off => provisioned on demand) who had linked a MetaMask data wallet still resolved ownsEmbedded=false, so the signer fell back to the linked MetaMask. Removing the wallet from our profile only deletes our DB row, not the Privy link, so it stayed in the wallets array. Now we key off login type (any non-wallet linked account => use/provision embedded) so the embedded wallet is always the smart-account signer for email/social users.
- Add /pitch route: lightweight 5-slide deck (Cover, Problem, Solution,
  How It Works, Closing) reusing existing presentation slide components.
- Navbar: show two links — Pitch (/pitch, short) and Presentation
  (/presentation, full deck).
- Team slide: Dex -> Founder & Tech Lead (now credited with the on-chain
  layer); Julio -> Mentor & Web3 Support.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants