Skip to content

Commit 63fb964

Browse files
authored
feat(entrykit): id.place (#3781)
1 parent 94cac74 commit 63fb964

87 files changed

Lines changed: 4189 additions & 573 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.changeset/config.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
"access": "public",
77
"baseBranch": "main",
88
"updateInternalDependencies": "patch",
9-
"ignore": [],
9+
"ignore": ["@apps/*"],
1010
"snapshot": {
1111
"useCalculatedVersion": true,
1212
"prereleaseTemplate": "{commit}"

.changeset/kind-singers-serve.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@latticexyz/entrykit": patch
3+
---
4+
5+
Added experimental support for [id.place](https://id.place/) passkey-based wallets.

.changeset/tasty-cougars-travel.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@latticexyz/id.place": patch
3+
---
4+
5+
Initial release of experimental passkey-based wallet provider.

.vscode/extensions.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
"recommendations": [
33
"NomicFoundation.hardhat-solidity",
44
"dbaeumer.vscode-eslint",
5-
"esbenp.prettier-vscode"
5+
"esbenp.prettier-vscode",
6+
"bradlc.vscode-tailwindcss"
67
]
78
}

.vscode/settings.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
11
{
22
"typescript.tsdk": "node_modules/typescript/lib",
3-
"vitest.disableWorkspaceWarning": true
3+
"vitest.disableWorkspaceWarning": true,
4+
"files.associations": {
5+
"*.css": "tailwindcss"
6+
}
47
}

apps/id.place/.eslintrc.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"extends": ["../../.eslintrc"],
3+
"rules": {
4+
"@typescript-eslint/no-namespace": "off"
5+
}
6+
}

apps/id.place/README.md

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
# TODO
2+
3+
## Flows
4+
5+
- Create account (lazy, no account is actually created here)
6+
7+
- Generate bootstrapping EOA
8+
- Compute smart account address using EOA owner
9+
- Create passkey using smart account address as the credential's user ID
10+
- Cache pending bootstrap request
11+
- Return account
12+
13+
- Load account
14+
15+
- Sign with a passkey
16+
- Get smart account address from credential of selected passkey signature
17+
- If account has pending bootstrap request, return account
18+
- Otherwise look up owners of smart account and find an owner public key that matches credential public key of selected passkey, return account
19+
20+
- Send calls
21+
22+
- Prepare calls as user op request
23+
- Sign user op request with passkey
24+
- If there are pending bootstrap requests, send as user ops + wait for receipts
25+
- Send user op request

apps/id.place/index.css

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
@import "tailwindcss";
2+
3+
body {
4+
@apply bg-indigo-100;
5+
}
6+
7+
#react-root {
8+
@apply min-h-screen h-0;
9+
}

apps/id.place/index.html

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
<!doctype html>
2+
<html lang="en">
3+
<head>
4+
<meta charset="UTF-8" />
5+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
6+
<title>id.place</title>
7+
<link rel="stylesheet" href="./index.css" />
8+
<link rel="shortcut icon" href="/icon.svg" type="image/x-icon" />
9+
</head>
10+
<body>
11+
<div class="min-h-screen grid place-items-center">
12+
<div class="flex flex-col items-center gap-2">
13+
<div class="flex items-center gap-4">
14+
<img src="/icon.svg" class="w-18" />
15+
<h1 class="text-4xl font-mono font-semibold tracking-tighter leading-none text-indigo-600">
16+
<span class="text-black">id</span>.place
17+
</h1>
18+
</div>
19+
<p class="font-medium text-slate-600">A place for your internet identity.</p>
20+
</div>
21+
</div>
22+
</body>
23+
</html>

apps/id.place/mprocs.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
procs:
2+
app:
3+
shell: pnpm vite --force
4+
tunnel:
5+
shell: cloudflared tunnel run

0 commit comments

Comments
 (0)