Skip to content

refactor: cull porto fork to only modules used by splits-connect and splits-teams#3

Draft
0xdiid wants to merge 1 commit intomainfrom
refactor/cull-unused-modules
Draft

refactor: cull porto fork to only modules used by splits-connect and splits-teams#3
0xdiid wants to merge 1 commit intomainfrom
refactor/cull-unused-modules

Conversation

@0xdiid
Copy link
Copy Markdown
Collaborator

@0xdiid 0xdiid commented Apr 9, 2026

Summary

Cull the forked porto wallet library to only the modules used by splits-connect and splits-teams, reducing maintenance surface area for an abandoned upstream.

Details

  • Removed all 16 apps (dialog, id, service, playground, etc.)
  • Removed all 17 examples (authentication, cli, payments, etc.)
  • Removed Solidity contracts, Docker services, CI workflows, changesets
  • Removed src/cli/, src/server/, src/react-native/, src/wagmi/, src/register/
  • Removed unused viem leaf files (AccountActions, WalletActions, CapabilitiesSchema)
  • Removed Dialog.ts dead code: authSession() (~215 lines), experimental_inline() (~100 lines), React Native imports
  • Removed remote/Hooks.ts (unused by either consumer)
  • Removed ~32 unused generated contract ABIs
  • Removed unused deps: hono, expo-*, react-native, changeset, tsdown, wagmi CLI
  • Kept src/viem/ core files (Account, Key, RelayClient, RelayActions, ContractActions) — transitively required by core internals
  • Kept src/theme/Theme.ts (type-imported by Dialog, Messenger)
  • Kept src/trusted-hosts.ts (runtime import in remote/Porto.ts)
  • Updated pnpm-workspace.yaml to single package
  • Pruned package.json scripts, exports, dependencies, and peer dependencies
  • Updated tsconfig.json references
  • Skipped 2 test cases that depended on removed porto/server module

993 files changed, ~142K lines deleted.

Areas Touched

  • porto Library (src/)
  • Apps (apps/) — removed entirely
  • Examples (examples/) — removed entirely
  • Contracts (contracts/) — removed entirely
  • Docker (docker/) — removed entirely
  • Build config (package.json, tsconfig.json, pnpm-workspace.yaml, biome.json)

Verification

  • pnpm build
  • pnpm check:types
  • splits-connect pnpm build
  • splits-teams pnpm typecheck

🤖 Generated with Claude Code

…splits-teams

Remove all unused code from the forked porto wallet library to minimize
maintenance surface area. The upstream (ithacaxyz/porto) is abandoned
and we are the only consumers.

Removed:
- All 16 apps (dialog, id, service, playground, etc.)
- All 17 examples
- Solidity contracts, Docker services, CI workflows, changesets
- src/cli/, src/server/, src/react-native/, src/wagmi/, src/register/
- Unused viem leaf files (AccountActions, WalletActions, CapabilitiesSchema)
- Dialog.ts dead code: authSession() (~215 lines), experimental_inline() (~100 lines)
- remote/Hooks.ts (unused by either consumer)
- ~32 unused generated contract ABIs
- Unused deps: hono, expo-*, react-native, changeset, tsdown, wagmi CLI

Kept (transitively required by core):
- src/viem/ core files (Account, Key, RelayClient, RelayActions, ContractActions)
- src/theme/Theme.ts (type-imported by Dialog, Messenger)
- src/trusted-hosts.ts (runtime import in remote/Porto.ts)

993 files changed, ~142K lines deleted.

Co-Authored-By: Claude Opus 4.6 (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.

1 participant