From 2a0973085ca272104f15578a7c6b836cf3c60b25 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philipp=20Kr=C3=BCger?= Date: Thu, 4 Jan 2024 22:13:08 +0100 Subject: [PATCH 1/8] Try to fill in the request stubs a bit on registration --- package-lock.json | 450 +++++++++++++++++++++++ package.json | 3 + src/components/home/sign-up/Email.svelte | 11 + src/components/home/sign-up/Join.svelte | 2 +- src/components/home/sign-up/Pin.svelte | 67 ++++ 5 files changed, 532 insertions(+), 1 deletion(-) diff --git a/package-lock.json b/package-lock.json index 01605fe..7350fb2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,11 +9,14 @@ "version": "0.1.0", "dependencies": { "@fission-codes/homestar": "^1.0.0", + "@fission-codes/ucan": "^0.0.1", "@oddjs/odd": "0.37.0", + "@ucans/default-plugins": "^0.12.0", "@zerodevx/svelte-json-view": "^1.0.7", "chart.js": "^4.4.0", "clipboard-copy": "^4.0.1", "iso-base": "^2.0.1", + "iso-web": "^0.3.1", "localforage": "^1.10.0", "marked": "^9.0.3", "multiformats": "^12.1.3", @@ -971,6 +974,17 @@ "@esbuild/win32-x64": "0.19.8" } }, + "node_modules/@fission-codes/ucan": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/@fission-codes/ucan/-/ucan-0.0.1.tgz", + "integrity": "sha512-sW7e7a4uXYRc7DMKY8/JQBcNuEyq1cbOtueOuGWoy1Wfa2rSfWDRLUBV9NibFJK3jXrd9h23INOZMWcXOqMEPQ==", + "dependencies": { + "iso-base": "^2.0.1", + "iso-did": "^1.4.0", + "iso-signatures": "^0.2.0", + "multiformats": "^12.1.3" + } + }, "node_modules/@humanwhocodes/config-array": { "version": "0.5.0", "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz", @@ -1348,6 +1362,17 @@ "multiformats": "^12.1.0" } }, + "node_modules/@noble/ed25519": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@noble/ed25519/-/ed25519-2.0.0.tgz", + "integrity": "sha512-/extjhkwFupyopDrt80OMWKdLgP429qLZj+z6sYJz90rF2Iz0gjZh2ArMKPImUl13Kx+0EXI2hN9T/KJV0/Zng==", + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ] + }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", @@ -1520,6 +1545,58 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/@stablelib/binary": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/binary/-/binary-1.0.1.tgz", + "integrity": "sha512-ClJWvmL6UBM/wjkvv/7m5VP3GMr9t0osr4yVgLZsLCOz4hGN9gIAFEqnJ0TsSMAN+n840nf2cHZnA5/KFqHC7Q==", + "dependencies": { + "@stablelib/int": "^1.0.1" + } + }, + "node_modules/@stablelib/ed25519": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@stablelib/ed25519/-/ed25519-1.0.3.tgz", + "integrity": "sha512-puIMWaX9QlRsbhxfDc5i+mNPMY+0TmQEskunY1rZEBPi1acBCVQAhnsk/1Hk50DGPtVsZtAWQg4NHGlVaO9Hqg==", + "dependencies": { + "@stablelib/random": "^1.0.2", + "@stablelib/sha512": "^1.0.1", + "@stablelib/wipe": "^1.0.1" + } + }, + "node_modules/@stablelib/hash": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/hash/-/hash-1.0.1.tgz", + "integrity": "sha512-eTPJc/stDkdtOcrNMZ6mcMK1e6yBbqRBaNW55XA1jU8w/7QdnCF0CmMmOD1m7VSkBR44PWrMHU2l6r8YEQHMgg==" + }, + "node_modules/@stablelib/int": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/int/-/int-1.0.1.tgz", + "integrity": "sha512-byr69X/sDtDiIjIV6m4roLVWnNNlRGzsvxw+agj8CIEazqWGOQp2dTYgQhtyVXV9wpO6WyXRQUzLV/JRNumT2w==" + }, + "node_modules/@stablelib/random": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@stablelib/random/-/random-1.0.2.tgz", + "integrity": "sha512-rIsE83Xpb7clHPVRlBj8qNe5L8ISQOzjghYQm/dZ7VaM2KHYwMW5adjQjrzTZCchFnNCNhkwtnOBa9HTMJCI8w==", + "dependencies": { + "@stablelib/binary": "^1.0.1", + "@stablelib/wipe": "^1.0.1" + } + }, + "node_modules/@stablelib/sha512": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/sha512/-/sha512-1.0.1.tgz", + "integrity": "sha512-13gl/iawHV9zvDKciLo1fQ8Bgn2Pvf7OV6amaRVKiq3pjQ3UmEpXxWiAfV8tYjUpeZroBxtyrwtdooQT/i3hzw==", + "dependencies": { + "@stablelib/binary": "^1.0.1", + "@stablelib/hash": "^1.0.1", + "@stablelib/wipe": "^1.0.1" + } + }, + "node_modules/@stablelib/wipe": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/wipe/-/wipe-1.0.1.tgz", + "integrity": "sha512-WfqfX/eXGiAd3RJe4VU2snh/ZPwtSjLG4ynQ/vYzvghTh7dHFcI1wl+nrkWG6lGhukOxOsUHfv8dUXr58D0ayg==" + }, "node_modules/@sveltejs/adapter-static": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/@sveltejs/adapter-static/-/adapter-static-1.0.6.tgz", @@ -1755,6 +1832,11 @@ "integrity": "sha512-uTuEgFXMknpun//Jj6b1R8T8LiMi9fNpH+cnhZr4b7col2HHTMmjYfm/WOZ7nzjuGpk+oTrpHhePe1qlWtHWTA==", "dev": true }, + "node_modules/@types/retry": { + "version": "0.12.2", + "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.2.tgz", + "integrity": "sha512-XISRgDJ2Tc5q4TRqvgJtzsRkFYNJzZrhTdtMoGVBttwzzQJkPnS3WWTFc7kuDRoPtPakl+T+OfdEUjYJj7Jbow==" + }, "node_modules/@types/sass": { "version": "1.45.0", "resolved": "https://registry.npmjs.org/@types/sass/-/sass-1.45.0.tgz", @@ -1922,6 +2004,58 @@ "url": "https://opencollective.com/typescript-eslint" } }, + "node_modules/@ucans/core": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/@ucans/core/-/core-0.12.0.tgz", + "integrity": "sha512-PWk9LDyuUdyGeucqenmG2BRo4bPUJDgxuYZidKD/OKTggyfFlcE/9UK1qpg1gJiS4HpGbm40gsvCmKgLUt0Smg==", + "dependencies": { + "uint8arrays": "3.0.0" + }, + "engines": { + "node": ">=15" + } + }, + "node_modules/@ucans/core/node_modules/multiformats": { + "version": "9.9.0", + "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-9.9.0.tgz", + "integrity": "sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg==" + }, + "node_modules/@ucans/core/node_modules/uint8arrays": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-3.0.0.tgz", + "integrity": "sha512-HRCx0q6O9Bfbp+HHSfQQKD7wU70+lydKVt4EghkdOvlK/NlrF90z+eXV34mUd48rNvVJXwkrMSPpCATkct8fJA==", + "dependencies": { + "multiformats": "^9.4.2" + } + }, + "node_modules/@ucans/default-plugins": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/@ucans/default-plugins/-/default-plugins-0.12.0.tgz", + "integrity": "sha512-RJm0M2fFK1VBQh49YlJ9xfWFBzGPoKWAN787KfdDdhGCtavZqGDTgDXx7L7RnWdukLfIT4BZ5cVN/hiOkY5jyg==", + "dependencies": { + "@stablelib/ed25519": "^1.0.2", + "@ucans/core": "*", + "big-integer": "^1.6.51", + "one-webcrypto": "^1.0.3", + "uint8arrays": "3.0.0" + }, + "engines": { + "node": ">=15" + } + }, + "node_modules/@ucans/default-plugins/node_modules/multiformats": { + "version": "9.9.0", + "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-9.9.0.tgz", + "integrity": "sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg==" + }, + "node_modules/@ucans/default-plugins/node_modules/uint8arrays": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-3.0.0.tgz", + "integrity": "sha512-HRCx0q6O9Bfbp+HHSfQQKD7wU70+lydKVt4EghkdOvlK/NlrF90z+eXV34mUd48rNvVJXwkrMSPpCATkct8fJA==", + "dependencies": { + "multiformats": "^9.4.2" + } + }, "node_modules/@zerodevx/svelte-json-view": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/@zerodevx/svelte-json-view/-/svelte-json-view-1.0.7.tgz", @@ -2311,6 +2445,14 @@ } ] }, + "node_modules/big-integer": { + "version": "1.6.52", + "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.52.tgz", + "integrity": "sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg==", + "engines": { + "node": ">=0.6" + } + }, "node_modules/bigint-mod-arith": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/bigint-mod-arith/-/bigint-mod-arith-3.3.1.tgz", @@ -3207,6 +3349,11 @@ "integrity": "sha512-KqFl6pOgOW+Y6wJgu80rHpo2/3H07vr8ntR9rkkFIRETewbf5GaYYcakYfiKz89K+sLsuPkQIZaXDMjUObZwWg==", "dev": true }, + "node_modules/did-resolver": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/did-resolver/-/did-resolver-4.1.0.tgz", + "integrity": "sha512-S6fWHvCXkZg2IhS4RcVHxwuyVejPR7c+a4Go0xbQ9ps5kILa8viiYQgrM4gfTyeTjJ0ekgJH9gk/BawTpmkbZA==" + }, "node_modules/didyoumean": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", @@ -4140,6 +4287,11 @@ "entities": "^4.4.0" } }, + "node_modules/idb-keyval": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/idb-keyval/-/idb-keyval-6.2.1.tgz", + "integrity": "sha512-8Sb3veuYCyrZL+VBt9LJfZjLUPWVvqn8tG28VqYNFCo43KHcKuq+b4EiXGeuaLAQWL2YmyDgMp2aSpH9JHsEQg==" + }, "node_modules/ieee754": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", @@ -4540,6 +4692,17 @@ "node": ">=0.10.0" } }, + "node_modules/is-network-error": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-network-error/-/is-network-error-1.0.1.tgz", + "integrity": "sha512-OwQXkwBJeESyhFw+OumbJVD58BFBJJI5OM5S1+eyrDKlgDZPX2XNT5gXS56GSD3NPbbwUuMlR1Q71SRp5SobuQ==", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", @@ -4615,6 +4778,50 @@ "bigint-mod-arith": "^3.3.1" } }, + "node_modules/iso-did": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/iso-did/-/iso-did-1.5.0.tgz", + "integrity": "sha512-SkMUONxelLV5yipdNaGUqe/1KiKu/pVTBJ46/HbwLtzm6IC2YuJ8E9w7DpwZsnh0G2AlJ+J7i/8ijcZCOp8DWw==", + "dependencies": { + "did-resolver": "^4.1.0", + "iso-base": "^2.0.1", + "iso-web": "^0.3.1", + "multiformats": "^13.0.0" + } + }, + "node_modules/iso-did/node_modules/multiformats": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-13.0.0.tgz", + "integrity": "sha512-xiIB0p7EKmETm3wyKedOg/xuyQ18PoWwXCzzgpZAiDxL9ktl3XTh8AqoDT5kAqRg+DU48XAGPsUJL2Rn6Bx3Lw==" + }, + "node_modules/iso-kv": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/iso-kv/-/iso-kv-0.2.0.tgz", + "integrity": "sha512-n4q64QQO6GPZSeJsTPsU6jHijyDgMb18RCcQ5t065S3p1ddktF1B8tlLhqbcIDqC8ORl77fs7KgTMJDvrccQ9w==", + "dependencies": { + "idb-keyval": "^6.2.1", + "kysely": "^0.26.3" + } + }, + "node_modules/iso-signatures": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/iso-signatures/-/iso-signatures-0.2.0.tgz", + "integrity": "sha512-OfgejGIG7GiCwO5QhcjOTSUJx8Fk+oeWG9GTqAT7eBs4IxqAXCXUAUIRSf9FOr4d39R6y4480pCMz+Aht6/Fgg==", + "dependencies": { + "@noble/ed25519": "^2.0.0", + "iso-base": "^2.0.1", + "iso-did": "^1.4.0" + } + }, + "node_modules/iso-web": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/iso-web/-/iso-web-0.3.1.tgz", + "integrity": "sha512-i63X/p7wHvdTLnA2QgWklDozFkAvOYnxAVmYrUV2M40jDLPFPE7G4utZc7b3SpX4TxQ5GpObn1Cpg7oOne9UNw==", + "dependencies": { + "iso-kv": "^0.2.0", + "p-retry": "^6.2.0" + } + }, "node_modules/iso-websocket": { "version": "0.1.6", "resolved": "https://registry.npmjs.org/iso-websocket/-/iso-websocket-0.1.6.tgz", @@ -4868,6 +5075,14 @@ "node": ">=6" } }, + "node_modules/kysely": { + "version": "0.26.3", + "resolved": "https://registry.npmjs.org/kysely/-/kysely-0.26.3.tgz", + "integrity": "sha512-yWSgGi9bY13b/W06DD2OCDDHQmq1kwTGYlQ4wpZkMOJqMGCstVCFIvxCCVG4KfY1/3G0MhDAcZsip/Lw8/vJWw==", + "engines": { + "node": ">=14.0.0" + } + }, "node_modules/level": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/level/-/level-8.0.0.tgz", @@ -5503,6 +5718,30 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/p-retry": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-6.2.0.tgz", + "integrity": "sha512-JA6nkq6hKyWLLasXQXUrO4z8BUZGUt/LjlJxx8Gb2+2ntodU/SS63YZ8b0LUTbQ8ZB9iwOfhEPhg4ykKnn2KsA==", + "dependencies": { + "@types/retry": "0.12.2", + "is-network-error": "^1.0.0", + "retry": "^0.13.1" + }, + "engines": { + "node": ">=16.17" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-retry/node_modules/retry": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", + "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", + "engines": { + "node": ">= 4" + } + }, "node_modules/p-timeout": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-5.1.0.tgz", @@ -8013,6 +8252,17 @@ } } }, + "@fission-codes/ucan": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/@fission-codes/ucan/-/ucan-0.0.1.tgz", + "integrity": "sha512-sW7e7a4uXYRc7DMKY8/JQBcNuEyq1cbOtueOuGWoy1Wfa2rSfWDRLUBV9NibFJK3jXrd9h23INOZMWcXOqMEPQ==", + "requires": { + "iso-base": "^2.0.1", + "iso-did": "^1.4.0", + "iso-signatures": "^0.2.0", + "multiformats": "^12.1.3" + } + }, "@humanwhocodes/config-array": { "version": "0.5.0", "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz", @@ -8295,6 +8545,11 @@ "multiformats": "^12.1.0" } }, + "@noble/ed25519": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@noble/ed25519/-/ed25519-2.0.0.tgz", + "integrity": "sha512-/extjhkwFupyopDrt80OMWKdLgP429qLZj+z6sYJz90rF2Iz0gjZh2ArMKPImUl13Kx+0EXI2hN9T/KJV0/Zng==" + }, "@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", @@ -8443,6 +8698,58 @@ "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-1.0.0.tgz", "integrity": "sha512-rUV5WyJrJLoloD4NDN1V1+LDMDWOa4OTsT4yYJwQNpTU6FWxkxHpL7eu4w+DmiH8x/EAM1otkPE1+LaspIbplw==" }, + "@stablelib/binary": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/binary/-/binary-1.0.1.tgz", + "integrity": "sha512-ClJWvmL6UBM/wjkvv/7m5VP3GMr9t0osr4yVgLZsLCOz4hGN9gIAFEqnJ0TsSMAN+n840nf2cHZnA5/KFqHC7Q==", + "requires": { + "@stablelib/int": "^1.0.1" + } + }, + "@stablelib/ed25519": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@stablelib/ed25519/-/ed25519-1.0.3.tgz", + "integrity": "sha512-puIMWaX9QlRsbhxfDc5i+mNPMY+0TmQEskunY1rZEBPi1acBCVQAhnsk/1Hk50DGPtVsZtAWQg4NHGlVaO9Hqg==", + "requires": { + "@stablelib/random": "^1.0.2", + "@stablelib/sha512": "^1.0.1", + "@stablelib/wipe": "^1.0.1" + } + }, + "@stablelib/hash": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/hash/-/hash-1.0.1.tgz", + "integrity": "sha512-eTPJc/stDkdtOcrNMZ6mcMK1e6yBbqRBaNW55XA1jU8w/7QdnCF0CmMmOD1m7VSkBR44PWrMHU2l6r8YEQHMgg==" + }, + "@stablelib/int": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/int/-/int-1.0.1.tgz", + "integrity": "sha512-byr69X/sDtDiIjIV6m4roLVWnNNlRGzsvxw+agj8CIEazqWGOQp2dTYgQhtyVXV9wpO6WyXRQUzLV/JRNumT2w==" + }, + "@stablelib/random": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@stablelib/random/-/random-1.0.2.tgz", + "integrity": "sha512-rIsE83Xpb7clHPVRlBj8qNe5L8ISQOzjghYQm/dZ7VaM2KHYwMW5adjQjrzTZCchFnNCNhkwtnOBa9HTMJCI8w==", + "requires": { + "@stablelib/binary": "^1.0.1", + "@stablelib/wipe": "^1.0.1" + } + }, + "@stablelib/sha512": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/sha512/-/sha512-1.0.1.tgz", + "integrity": "sha512-13gl/iawHV9zvDKciLo1fQ8Bgn2Pvf7OV6amaRVKiq3pjQ3UmEpXxWiAfV8tYjUpeZroBxtyrwtdooQT/i3hzw==", + "requires": { + "@stablelib/binary": "^1.0.1", + "@stablelib/hash": "^1.0.1", + "@stablelib/wipe": "^1.0.1" + } + }, + "@stablelib/wipe": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/wipe/-/wipe-1.0.1.tgz", + "integrity": "sha512-WfqfX/eXGiAd3RJe4VU2snh/ZPwtSjLG4ynQ/vYzvghTh7dHFcI1wl+nrkWG6lGhukOxOsUHfv8dUXr58D0ayg==" + }, "@sveltejs/adapter-static": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/@sveltejs/adapter-static/-/adapter-static-1.0.6.tgz", @@ -8619,6 +8926,11 @@ "integrity": "sha512-uTuEgFXMknpun//Jj6b1R8T8LiMi9fNpH+cnhZr4b7col2HHTMmjYfm/WOZ7nzjuGpk+oTrpHhePe1qlWtHWTA==", "dev": true }, + "@types/retry": { + "version": "0.12.2", + "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.2.tgz", + "integrity": "sha512-XISRgDJ2Tc5q4TRqvgJtzsRkFYNJzZrhTdtMoGVBttwzzQJkPnS3WWTFc7kuDRoPtPakl+T+OfdEUjYJj7Jbow==" + }, "@types/sass": { "version": "1.45.0", "resolved": "https://registry.npmjs.org/@types/sass/-/sass-1.45.0.tgz", @@ -8711,6 +9023,56 @@ "eslint-visitor-keys": "^2.0.0" } }, + "@ucans/core": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/@ucans/core/-/core-0.12.0.tgz", + "integrity": "sha512-PWk9LDyuUdyGeucqenmG2BRo4bPUJDgxuYZidKD/OKTggyfFlcE/9UK1qpg1gJiS4HpGbm40gsvCmKgLUt0Smg==", + "requires": { + "uint8arrays": "3.0.0" + }, + "dependencies": { + "multiformats": { + "version": "9.9.0", + "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-9.9.0.tgz", + "integrity": "sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg==" + }, + "uint8arrays": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-3.0.0.tgz", + "integrity": "sha512-HRCx0q6O9Bfbp+HHSfQQKD7wU70+lydKVt4EghkdOvlK/NlrF90z+eXV34mUd48rNvVJXwkrMSPpCATkct8fJA==", + "requires": { + "multiformats": "^9.4.2" + } + } + } + }, + "@ucans/default-plugins": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/@ucans/default-plugins/-/default-plugins-0.12.0.tgz", + "integrity": "sha512-RJm0M2fFK1VBQh49YlJ9xfWFBzGPoKWAN787KfdDdhGCtavZqGDTgDXx7L7RnWdukLfIT4BZ5cVN/hiOkY5jyg==", + "requires": { + "@stablelib/ed25519": "^1.0.2", + "@ucans/core": "*", + "big-integer": "^1.6.51", + "one-webcrypto": "^1.0.3", + "uint8arrays": "3.0.0" + }, + "dependencies": { + "multiformats": { + "version": "9.9.0", + "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-9.9.0.tgz", + "integrity": "sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg==" + }, + "uint8arrays": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-3.0.0.tgz", + "integrity": "sha512-HRCx0q6O9Bfbp+HHSfQQKD7wU70+lydKVt4EghkdOvlK/NlrF90z+eXV34mUd48rNvVJXwkrMSPpCATkct8fJA==", + "requires": { + "multiformats": "^9.4.2" + } + } + } + }, "@zerodevx/svelte-json-view": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/@zerodevx/svelte-json-view/-/svelte-json-view-1.0.7.tgz", @@ -8976,6 +9338,11 @@ "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" }, + "big-integer": { + "version": "1.6.52", + "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.52.tgz", + "integrity": "sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg==" + }, "bigint-mod-arith": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/bigint-mod-arith/-/bigint-mod-arith-3.3.1.tgz", @@ -9599,6 +9966,11 @@ "integrity": "sha512-KqFl6pOgOW+Y6wJgu80rHpo2/3H07vr8ntR9rkkFIRETewbf5GaYYcakYfiKz89K+sLsuPkQIZaXDMjUObZwWg==", "dev": true }, + "did-resolver": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/did-resolver/-/did-resolver-4.1.0.tgz", + "integrity": "sha512-S6fWHvCXkZg2IhS4RcVHxwuyVejPR7c+a4Go0xbQ9ps5kILa8viiYQgrM4gfTyeTjJ0ekgJH9gk/BawTpmkbZA==" + }, "didyoumean": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", @@ -10287,6 +10659,11 @@ "entities": "^4.4.0" } }, + "idb-keyval": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/idb-keyval/-/idb-keyval-6.2.1.tgz", + "integrity": "sha512-8Sb3veuYCyrZL+VBt9LJfZjLUPWVvqn8tG28VqYNFCo43KHcKuq+b4EiXGeuaLAQWL2YmyDgMp2aSpH9JHsEQg==" + }, "ieee754": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", @@ -10560,6 +10937,11 @@ "is-extglob": "^2.1.1" } }, + "is-network-error": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-network-error/-/is-network-error-1.0.1.tgz", + "integrity": "sha512-OwQXkwBJeESyhFw+OumbJVD58BFBJJI5OM5S1+eyrDKlgDZPX2XNT5gXS56GSD3NPbbwUuMlR1Q71SRp5SobuQ==" + }, "is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", @@ -10614,6 +10996,52 @@ "bigint-mod-arith": "^3.3.1" } }, + "iso-did": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/iso-did/-/iso-did-1.5.0.tgz", + "integrity": "sha512-SkMUONxelLV5yipdNaGUqe/1KiKu/pVTBJ46/HbwLtzm6IC2YuJ8E9w7DpwZsnh0G2AlJ+J7i/8ijcZCOp8DWw==", + "requires": { + "did-resolver": "^4.1.0", + "iso-base": "^2.0.1", + "iso-web": "^0.3.1", + "multiformats": "^13.0.0" + }, + "dependencies": { + "multiformats": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-13.0.0.tgz", + "integrity": "sha512-xiIB0p7EKmETm3wyKedOg/xuyQ18PoWwXCzzgpZAiDxL9ktl3XTh8AqoDT5kAqRg+DU48XAGPsUJL2Rn6Bx3Lw==" + } + } + }, + "iso-kv": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/iso-kv/-/iso-kv-0.2.0.tgz", + "integrity": "sha512-n4q64QQO6GPZSeJsTPsU6jHijyDgMb18RCcQ5t065S3p1ddktF1B8tlLhqbcIDqC8ORl77fs7KgTMJDvrccQ9w==", + "requires": { + "idb-keyval": "^6.2.1", + "kysely": "^0.26.3" + } + }, + "iso-signatures": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/iso-signatures/-/iso-signatures-0.2.0.tgz", + "integrity": "sha512-OfgejGIG7GiCwO5QhcjOTSUJx8Fk+oeWG9GTqAT7eBs4IxqAXCXUAUIRSf9FOr4d39R6y4480pCMz+Aht6/Fgg==", + "requires": { + "@noble/ed25519": "^2.0.0", + "iso-base": "^2.0.1", + "iso-did": "^1.4.0" + } + }, + "iso-web": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/iso-web/-/iso-web-0.3.1.tgz", + "integrity": "sha512-i63X/p7wHvdTLnA2QgWklDozFkAvOYnxAVmYrUV2M40jDLPFPE7G4utZc7b3SpX4TxQ5GpObn1Cpg7oOne9UNw==", + "requires": { + "iso-kv": "^0.2.0", + "p-retry": "^6.2.0" + } + }, "iso-websocket": { "version": "0.1.6", "resolved": "https://registry.npmjs.org/iso-websocket/-/iso-websocket-0.1.6.tgz", @@ -10811,6 +11239,11 @@ "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", "dev": true }, + "kysely": { + "version": "0.26.3", + "resolved": "https://registry.npmjs.org/kysely/-/kysely-0.26.3.tgz", + "integrity": "sha512-yWSgGi9bY13b/W06DD2OCDDHQmq1kwTGYlQ4wpZkMOJqMGCstVCFIvxCCVG4KfY1/3G0MhDAcZsip/Lw8/vJWw==" + }, "level": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/level/-/level-8.0.0.tgz", @@ -11253,6 +11686,23 @@ "p-timeout": "^5.0.2" } }, + "p-retry": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-6.2.0.tgz", + "integrity": "sha512-JA6nkq6hKyWLLasXQXUrO4z8BUZGUt/LjlJxx8Gb2+2ntodU/SS63YZ8b0LUTbQ8ZB9iwOfhEPhg4ykKnn2KsA==", + "requires": { + "@types/retry": "0.12.2", + "is-network-error": "^1.0.0", + "retry": "^0.13.1" + }, + "dependencies": { + "retry": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", + "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==" + } + } + }, "p-timeout": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-5.1.0.tgz", diff --git a/package.json b/package.json index 4695c8a..9aa9781 100644 --- a/package.json +++ b/package.json @@ -58,11 +58,14 @@ }, "dependencies": { "@fission-codes/homestar": "^1.0.0", + "@fission-codes/ucan": "^0.0.1", "@oddjs/odd": "0.37.0", + "@ucans/default-plugins": "^0.12.0", "@zerodevx/svelte-json-view": "^1.0.7", "chart.js": "^4.4.0", "clipboard-copy": "^4.0.1", "iso-base": "^2.0.1", + "iso-web": "^0.3.1", "localforage": "^1.10.0", "marked": "^9.0.3", "multiformats": "^12.1.3", diff --git a/src/components/home/sign-up/Email.svelte b/src/components/home/sign-up/Email.svelte index 3a5e055..ebb2315 100644 --- a/src/components/home/sign-up/Email.svelte +++ b/src/components/home/sign-up/Email.svelte @@ -30,6 +30,17 @@ } }) + const response = await fetch('http://localhost:3000/api/v0/auth/email/verify', { + method: 'POST', + headers: { + Accept: 'application/json', + 'Content-Type': 'application/json', + }, + body: JSON.stringify({ email: email.toString() }) + }) + + console.log("Response", await response.text()) + dispatch('nextStep') // addNotification('Account created!', 'success') diff --git a/src/components/home/sign-up/Join.svelte b/src/components/home/sign-up/Join.svelte index 706e6f9..dddb098 100644 --- a/src/components/home/sign-up/Join.svelte +++ b/src/components/home/sign-up/Join.svelte @@ -55,7 +55,7 @@
  • ✵ Rustaceans & JS devs*: try your hand at writing IPVM functions. They - compile to Wasm and can be run by anyone in the network. 
*We'll add + compile to Wasm and can be run by anyone in the network. *We'll add support for Python, and other languages that compile well to Wasm over time
  • diff --git a/src/components/home/sign-up/Pin.svelte b/src/components/home/sign-up/Pin.svelte index f0b40af..e8ca61f 100644 --- a/src/components/home/sign-up/Pin.svelte +++ b/src/components/home/sign-up/Pin.svelte @@ -1,6 +1,11 @@ diff --git a/src/components/home/sign-up/Pin.svelte b/src/components/home/sign-up/Pin.svelte index 37bade0..7b9c16d 100644 --- a/src/components/home/sign-up/Pin.svelte +++ b/src/components/home/sign-up/Pin.svelte @@ -6,7 +6,6 @@ import localforage from 'localforage' import { RsaKeypair } from '@ucans/default-plugins' - import { addNotification } from '$lib/notifications' import Input from '$components/form/Input.svelte' @@ -14,9 +13,12 @@ let loading = false + export let email = null + // Submit pin code to Fission server to register the account const handleSubmitPin = async (event: Event) => { loading = true + try { const formEl = event.target as HTMLFormElement const data = new FormData(formEl) @@ -30,7 +32,9 @@ // TODO(matheus23): Replace this with a proper DoH DNS // lookup of _did.localhost once iso-web DoH stuff is exposed. - const serverDid = await (await fetch("http://localhost:3000/api/v0/server-did")).text() + const serverDid = await ( + await fetch('http://localhost:3000/api/v0/server-did') + ).text() let keypair: CryptoKeyPair = await localforage.getItem(kiki) @@ -40,22 +44,29 @@ name: 'RSASSA-PKCS1-v1_5', modulusLength: 2048, publicExponent: new Uint8Array([1, 0, 1]), - hash: 'SHA-256', + hash: 'SHA-256' }, false, ['sign', 'verify'] ) - console.log("generated keypair", keypair) + console.log('generated keypair', keypair) await localforage.setItem(kiki, keypair) } - const publicKey = await webcrypto.subtle.exportKey('spki', keypair.publicKey) + const publicKey = await webcrypto.subtle.exportKey( + 'spki', + keypair.publicKey + ) // We need to use ts-ucan for this, because iso-did doesn't expose utilities to // create a DID from a webcrypto keypair. It doesn't have the spki encoding -> RsaPublicKeyInfo encoding functions. - const rsaKeypair = new RsaKeypair(keypair, new Uint8Array(publicKey), false) + const rsaKeypair = new RsaKeypair( + keypair, + new Uint8Array(publicKey), + false + ) const ourDid = rsaKeypair.did() const sign = rsaKeypair.sign.bind(rsaKeypair) @@ -65,7 +76,7 @@ ttl: 60, // A rough estimate that accounts for clock drift capabilities: { [ourDid]: { 'account/create': [{}] } - } as any, // Unfortunately, it both doesn't pick up ourDid as a valid key (fixable), but it also doesn't allow 'account/create', only '*' for some reason. + } as any // Unfortunately, it both doesn't pick up ourDid as a valid key (fixable), but it also doesn't allow 'account/create', only '*' for some reason. }) console.log('Requesting with UCAN', ucan.toString()) @@ -75,24 +86,26 @@ headers: { Accept: 'application/json', 'Content-Type': 'application/json', - 'Authorization': `Bearer ${ucan.toString()}` + Authorization: `Bearer ${ucan.toString()}` }, body: JSON.stringify({ code: Number.parseInt(pin.toString(), 10), - email: 'philipp@fission.codes', // This is the email I did my testing with. - username: 'control-panel1', // TODO this needs to somehow all happen at the next step, where the username will be entered. + email, // This is the email I did my testing with. + // email: 'philipp@fission.codes', // This is the email I did my testing with. + username: 'control-panel1' // TODO this needs to somehow all happen at the next step, where the username will be entered. }) }) console.log(await response.json()) - dispatch('nextStep') + dispatch('nextStep', { pin }) // addNotification({ msg: 'Account created!', type: 'success' }) } catch (error) { console.error(error) addNotification({ msg: 'Failed to register account', type: 'error' }) } + loading = false } diff --git a/src/components/home/sign-up/Username.svelte b/src/components/home/sign-up/Username.svelte index 1aa4ea0..6aefdca 100644 --- a/src/components/home/sign-up/Username.svelte +++ b/src/components/home/sign-up/Username.svelte @@ -8,19 +8,27 @@ const dispatch = createEventDispatcher() let loading = false - let username = null + + export let email = null + export let pin = null // Submit username to Fission server to register the account const handleSubmitUsername = async () => { loading = true + try { - dispatch('nextStep') + const formEl = event.target as HTMLFormElement + const data = new FormData(formEl) + const username = data.get('username') + + dispatch('nextStep', { username }) // addNotification({ msg: 'Account created!', type: 'success' }) } catch (error) { console.error(error) addNotification({ msg: 'Failed to register account', type: 'error' }) } + loading = false } From 4ee25b46aaa0e1e243e5d9d0ee6d52fce838620d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philipp=20Kr=C3=BCger?= Date: Mon, 8 Jan 2024 18:35:11 +0100 Subject: [PATCH 4/8] feat: Thread through data to `Username.svelte` and use `iso-signatures` --- package-lock.json | 1 + package.json | 2 +- src/components/home/sign-up/Pin.svelte | 79 +-------------------- src/components/home/sign-up/Username.svelte | 50 +++++++++++++ 4 files changed, 54 insertions(+), 78 deletions(-) diff --git a/package-lock.json b/package-lock.json index 917a7e2..51b68b3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -16,6 +16,7 @@ "chart.js": "^4.4.0", "clipboard-copy": "^4.0.1", "iso-base": "^2.0.1", + "iso-signatures": "^0.2.0", "iso-web": "^0.3.1", "localforage": "^1.10.0", "marked": "^9.0.3", diff --git a/package.json b/package.json index 58706b9..de0bcdd 100644 --- a/package.json +++ b/package.json @@ -60,11 +60,11 @@ "@fission-codes/homestar": "^1.0.0", "@fission-codes/ucan": "^0.0.1", "@oddjs/odd": "0.37.0", - "@ucans/default-plugins": "^0.12.0", "@zerodevx/svelte-json-view": "^1.0.7", "chart.js": "^4.4.0", "clipboard-copy": "^4.0.1", "iso-base": "^2.0.1", + "iso-signatures": "^0.2.0", "iso-web": "^0.3.1", "localforage": "^1.10.0", "marked": "^9.0.3", diff --git a/src/components/home/sign-up/Pin.svelte b/src/components/home/sign-up/Pin.svelte index 7b9c16d..564489a 100644 --- a/src/components/home/sign-up/Pin.svelte +++ b/src/components/home/sign-up/Pin.svelte @@ -1,10 +1,6 @@
    -
    +
    @@ -99,6 +100,10 @@
    + +

    + Onboarding member #{$sessionStore.id} +

    + import { sessionStore } from '$lib/stores' import StarMedium from '$components/icons/StarMedium.svelte' import StarSmall from '$components/icons/StarSmall.svelte'
    -
    +
    @@ -14,6 +15,10 @@
    + +

    + Onboarding member #{$sessionStore.id} +

    -
    +
    @@ -23,6 +23,10 @@
    + +

    + Onboarding member #{$sessionStore.id} +

    diff --git a/src/routes/onboarding/welcome/+page.svelte b/src/routes/onboarding/welcome/+page.svelte index f364102..cbff89e 100644 --- a/src/routes/onboarding/welcome/+page.svelte +++ b/src/routes/onboarding/welcome/+page.svelte @@ -13,7 +13,7 @@
    -
    +
    @@ -22,6 +22,10 @@
    + +

    + Onboarding member #{$sessionStore.id} +

    @@ -35,7 +39,9 @@

    - You’re network member #89 + You’re network + member #{$sessionStore.id} + .

    From cb1fc6da1a6bd42b3c70ba90a3228e85621c5446 Mon Sep 17 00:00:00 2001 From: avivash Date: Tue, 9 Jan 2024 16:31:35 -0800 Subject: [PATCH 6/8] Feat: swap out odd auth for new fission server temp impl(need to ask about capabilities endpoint) --- package-lock.json | 220 --------------- src/components/auth/backup/AreYouSure.svelte | 45 ---- src/components/auth/backup/Backup.svelte | 43 --- .../ConnectBackupDevice.svelte | 50 ---- .../delegate-account/DelegateAccount.svelte | 69 ----- .../auth/link-device/LinkDevice.svelte | 61 ----- .../auth/recover/HasRecoveryKit.svelte | 125 --------- .../auth/recover/RecoveryKitButton.svelte | 65 ----- src/components/auth/register/Register.svelte | 190 ------------- src/components/auth/register/Welcome.svelte | 39 --- src/components/home/sign-up/Username.svelte | 26 +- src/components/nav/Nav.svelte | 4 +- src/components/settings/Avatar.svelte | 40 --- src/components/settings/AvatarUpload.svelte | 39 --- .../settings/ConnectedDevices.svelte | 20 -- src/components/settings/RecoveryKit.svelte | 27 -- .../settings/RecoveryKitModal.svelte | 87 ------ .../settings/TruncatedUsername.svelte | 12 - src/components/settings/Username.svelte | 5 +- src/lib/account-settings.ts | 250 ------------------ src/lib/auth/account.ts | 152 ----------- src/lib/auth/backup.ts | 30 --- src/lib/auth/linking.ts | 28 -- src/lib/init.ts | 128 +++++---- src/lib/session.ts | 31 +-- src/lib/stores.ts | 13 - src/routes/+layout.svelte | 18 +- src/routes/+page.svelte | 2 +- src/routes/backup/+page.svelte | 20 -- src/routes/delegate-account/+page.svelte | 137 ---------- src/routes/link-device/+page.svelte | 74 ------ src/routes/recover/+page.svelte | 5 - src/routes/register/+page.svelte | 12 - src/routes/settings/+page.svelte | 11 +- .../components/WorkflowBuilder.svelte | 6 +- 35 files changed, 97 insertions(+), 1987 deletions(-) delete mode 100644 src/components/auth/backup/AreYouSure.svelte delete mode 100644 src/components/auth/backup/Backup.svelte delete mode 100644 src/components/auth/delegate-account/ConnectBackupDevice.svelte delete mode 100644 src/components/auth/delegate-account/DelegateAccount.svelte delete mode 100644 src/components/auth/link-device/LinkDevice.svelte delete mode 100644 src/components/auth/recover/HasRecoveryKit.svelte delete mode 100644 src/components/auth/recover/RecoveryKitButton.svelte delete mode 100644 src/components/auth/register/Register.svelte delete mode 100644 src/components/auth/register/Welcome.svelte delete mode 100644 src/components/settings/Avatar.svelte delete mode 100644 src/components/settings/AvatarUpload.svelte delete mode 100644 src/components/settings/ConnectedDevices.svelte delete mode 100644 src/components/settings/RecoveryKit.svelte delete mode 100644 src/components/settings/RecoveryKitModal.svelte delete mode 100644 src/components/settings/TruncatedUsername.svelte delete mode 100644 src/lib/account-settings.ts delete mode 100644 src/lib/auth/account.ts delete mode 100644 src/lib/auth/backup.ts delete mode 100644 src/lib/auth/linking.ts delete mode 100644 src/routes/backup/+page.svelte delete mode 100644 src/routes/delegate-account/+page.svelte delete mode 100644 src/routes/link-device/+page.svelte delete mode 100644 src/routes/recover/+page.svelte delete mode 100644 src/routes/register/+page.svelte diff --git a/package-lock.json b/package-lock.json index 51b68b3..696baf7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,7 +11,6 @@ "@fission-codes/homestar": "^1.0.0", "@fission-codes/ucan": "^0.0.1", "@oddjs/odd": "0.37.0", - "@ucans/default-plugins": "^0.12.0", "@zerodevx/svelte-json-view": "^1.0.7", "chart.js": "^4.4.0", "clipboard-copy": "^4.0.1", @@ -1546,58 +1545,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@stablelib/binary": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@stablelib/binary/-/binary-1.0.1.tgz", - "integrity": "sha512-ClJWvmL6UBM/wjkvv/7m5VP3GMr9t0osr4yVgLZsLCOz4hGN9gIAFEqnJ0TsSMAN+n840nf2cHZnA5/KFqHC7Q==", - "dependencies": { - "@stablelib/int": "^1.0.1" - } - }, - "node_modules/@stablelib/ed25519": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@stablelib/ed25519/-/ed25519-1.0.3.tgz", - "integrity": "sha512-puIMWaX9QlRsbhxfDc5i+mNPMY+0TmQEskunY1rZEBPi1acBCVQAhnsk/1Hk50DGPtVsZtAWQg4NHGlVaO9Hqg==", - "dependencies": { - "@stablelib/random": "^1.0.2", - "@stablelib/sha512": "^1.0.1", - "@stablelib/wipe": "^1.0.1" - } - }, - "node_modules/@stablelib/hash": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@stablelib/hash/-/hash-1.0.1.tgz", - "integrity": "sha512-eTPJc/stDkdtOcrNMZ6mcMK1e6yBbqRBaNW55XA1jU8w/7QdnCF0CmMmOD1m7VSkBR44PWrMHU2l6r8YEQHMgg==" - }, - "node_modules/@stablelib/int": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@stablelib/int/-/int-1.0.1.tgz", - "integrity": "sha512-byr69X/sDtDiIjIV6m4roLVWnNNlRGzsvxw+agj8CIEazqWGOQp2dTYgQhtyVXV9wpO6WyXRQUzLV/JRNumT2w==" - }, - "node_modules/@stablelib/random": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@stablelib/random/-/random-1.0.2.tgz", - "integrity": "sha512-rIsE83Xpb7clHPVRlBj8qNe5L8ISQOzjghYQm/dZ7VaM2KHYwMW5adjQjrzTZCchFnNCNhkwtnOBa9HTMJCI8w==", - "dependencies": { - "@stablelib/binary": "^1.0.1", - "@stablelib/wipe": "^1.0.1" - } - }, - "node_modules/@stablelib/sha512": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@stablelib/sha512/-/sha512-1.0.1.tgz", - "integrity": "sha512-13gl/iawHV9zvDKciLo1fQ8Bgn2Pvf7OV6amaRVKiq3pjQ3UmEpXxWiAfV8tYjUpeZroBxtyrwtdooQT/i3hzw==", - "dependencies": { - "@stablelib/binary": "^1.0.1", - "@stablelib/hash": "^1.0.1", - "@stablelib/wipe": "^1.0.1" - } - }, - "node_modules/@stablelib/wipe": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@stablelib/wipe/-/wipe-1.0.1.tgz", - "integrity": "sha512-WfqfX/eXGiAd3RJe4VU2snh/ZPwtSjLG4ynQ/vYzvghTh7dHFcI1wl+nrkWG6lGhukOxOsUHfv8dUXr58D0ayg==" - }, "node_modules/@sveltejs/adapter-static": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/@sveltejs/adapter-static/-/adapter-static-1.0.6.tgz", @@ -2005,58 +1952,6 @@ "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@ucans/core": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/@ucans/core/-/core-0.12.0.tgz", - "integrity": "sha512-PWk9LDyuUdyGeucqenmG2BRo4bPUJDgxuYZidKD/OKTggyfFlcE/9UK1qpg1gJiS4HpGbm40gsvCmKgLUt0Smg==", - "dependencies": { - "uint8arrays": "3.0.0" - }, - "engines": { - "node": ">=15" - } - }, - "node_modules/@ucans/core/node_modules/multiformats": { - "version": "9.9.0", - "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-9.9.0.tgz", - "integrity": "sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg==" - }, - "node_modules/@ucans/core/node_modules/uint8arrays": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-3.0.0.tgz", - "integrity": "sha512-HRCx0q6O9Bfbp+HHSfQQKD7wU70+lydKVt4EghkdOvlK/NlrF90z+eXV34mUd48rNvVJXwkrMSPpCATkct8fJA==", - "dependencies": { - "multiformats": "^9.4.2" - } - }, - "node_modules/@ucans/default-plugins": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/@ucans/default-plugins/-/default-plugins-0.12.0.tgz", - "integrity": "sha512-RJm0M2fFK1VBQh49YlJ9xfWFBzGPoKWAN787KfdDdhGCtavZqGDTgDXx7L7RnWdukLfIT4BZ5cVN/hiOkY5jyg==", - "dependencies": { - "@stablelib/ed25519": "^1.0.2", - "@ucans/core": "*", - "big-integer": "^1.6.51", - "one-webcrypto": "^1.0.3", - "uint8arrays": "3.0.0" - }, - "engines": { - "node": ">=15" - } - }, - "node_modules/@ucans/default-plugins/node_modules/multiformats": { - "version": "9.9.0", - "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-9.9.0.tgz", - "integrity": "sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg==" - }, - "node_modules/@ucans/default-plugins/node_modules/uint8arrays": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-3.0.0.tgz", - "integrity": "sha512-HRCx0q6O9Bfbp+HHSfQQKD7wU70+lydKVt4EghkdOvlK/NlrF90z+eXV34mUd48rNvVJXwkrMSPpCATkct8fJA==", - "dependencies": { - "multiformats": "^9.4.2" - } - }, "node_modules/@zerodevx/svelte-json-view": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/@zerodevx/svelte-json-view/-/svelte-json-view-1.0.7.tgz", @@ -2446,14 +2341,6 @@ } ] }, - "node_modules/big-integer": { - "version": "1.6.52", - "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.52.tgz", - "integrity": "sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg==", - "engines": { - "node": ">=0.6" - } - }, "node_modules/bigint-mod-arith": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/bigint-mod-arith/-/bigint-mod-arith-3.3.1.tgz", @@ -8704,58 +8591,6 @@ "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-1.0.0.tgz", "integrity": "sha512-rUV5WyJrJLoloD4NDN1V1+LDMDWOa4OTsT4yYJwQNpTU6FWxkxHpL7eu4w+DmiH8x/EAM1otkPE1+LaspIbplw==" }, - "@stablelib/binary": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@stablelib/binary/-/binary-1.0.1.tgz", - "integrity": "sha512-ClJWvmL6UBM/wjkvv/7m5VP3GMr9t0osr4yVgLZsLCOz4hGN9gIAFEqnJ0TsSMAN+n840nf2cHZnA5/KFqHC7Q==", - "requires": { - "@stablelib/int": "^1.0.1" - } - }, - "@stablelib/ed25519": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@stablelib/ed25519/-/ed25519-1.0.3.tgz", - "integrity": "sha512-puIMWaX9QlRsbhxfDc5i+mNPMY+0TmQEskunY1rZEBPi1acBCVQAhnsk/1Hk50DGPtVsZtAWQg4NHGlVaO9Hqg==", - "requires": { - "@stablelib/random": "^1.0.2", - "@stablelib/sha512": "^1.0.1", - "@stablelib/wipe": "^1.0.1" - } - }, - "@stablelib/hash": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@stablelib/hash/-/hash-1.0.1.tgz", - "integrity": "sha512-eTPJc/stDkdtOcrNMZ6mcMK1e6yBbqRBaNW55XA1jU8w/7QdnCF0CmMmOD1m7VSkBR44PWrMHU2l6r8YEQHMgg==" - }, - "@stablelib/int": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@stablelib/int/-/int-1.0.1.tgz", - "integrity": "sha512-byr69X/sDtDiIjIV6m4roLVWnNNlRGzsvxw+agj8CIEazqWGOQp2dTYgQhtyVXV9wpO6WyXRQUzLV/JRNumT2w==" - }, - "@stablelib/random": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@stablelib/random/-/random-1.0.2.tgz", - "integrity": "sha512-rIsE83Xpb7clHPVRlBj8qNe5L8ISQOzjghYQm/dZ7VaM2KHYwMW5adjQjrzTZCchFnNCNhkwtnOBa9HTMJCI8w==", - "requires": { - "@stablelib/binary": "^1.0.1", - "@stablelib/wipe": "^1.0.1" - } - }, - "@stablelib/sha512": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@stablelib/sha512/-/sha512-1.0.1.tgz", - "integrity": "sha512-13gl/iawHV9zvDKciLo1fQ8Bgn2Pvf7OV6amaRVKiq3pjQ3UmEpXxWiAfV8tYjUpeZroBxtyrwtdooQT/i3hzw==", - "requires": { - "@stablelib/binary": "^1.0.1", - "@stablelib/hash": "^1.0.1", - "@stablelib/wipe": "^1.0.1" - } - }, - "@stablelib/wipe": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@stablelib/wipe/-/wipe-1.0.1.tgz", - "integrity": "sha512-WfqfX/eXGiAd3RJe4VU2snh/ZPwtSjLG4ynQ/vYzvghTh7dHFcI1wl+nrkWG6lGhukOxOsUHfv8dUXr58D0ayg==" - }, "@sveltejs/adapter-static": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/@sveltejs/adapter-static/-/adapter-static-1.0.6.tgz", @@ -9029,56 +8864,6 @@ "eslint-visitor-keys": "^2.0.0" } }, - "@ucans/core": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/@ucans/core/-/core-0.12.0.tgz", - "integrity": "sha512-PWk9LDyuUdyGeucqenmG2BRo4bPUJDgxuYZidKD/OKTggyfFlcE/9UK1qpg1gJiS4HpGbm40gsvCmKgLUt0Smg==", - "requires": { - "uint8arrays": "3.0.0" - }, - "dependencies": { - "multiformats": { - "version": "9.9.0", - "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-9.9.0.tgz", - "integrity": "sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg==" - }, - "uint8arrays": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-3.0.0.tgz", - "integrity": "sha512-HRCx0q6O9Bfbp+HHSfQQKD7wU70+lydKVt4EghkdOvlK/NlrF90z+eXV34mUd48rNvVJXwkrMSPpCATkct8fJA==", - "requires": { - "multiformats": "^9.4.2" - } - } - } - }, - "@ucans/default-plugins": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/@ucans/default-plugins/-/default-plugins-0.12.0.tgz", - "integrity": "sha512-RJm0M2fFK1VBQh49YlJ9xfWFBzGPoKWAN787KfdDdhGCtavZqGDTgDXx7L7RnWdukLfIT4BZ5cVN/hiOkY5jyg==", - "requires": { - "@stablelib/ed25519": "^1.0.2", - "@ucans/core": "*", - "big-integer": "^1.6.51", - "one-webcrypto": "^1.0.3", - "uint8arrays": "3.0.0" - }, - "dependencies": { - "multiformats": { - "version": "9.9.0", - "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-9.9.0.tgz", - "integrity": "sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg==" - }, - "uint8arrays": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-3.0.0.tgz", - "integrity": "sha512-HRCx0q6O9Bfbp+HHSfQQKD7wU70+lydKVt4EghkdOvlK/NlrF90z+eXV34mUd48rNvVJXwkrMSPpCATkct8fJA==", - "requires": { - "multiformats": "^9.4.2" - } - } - } - }, "@zerodevx/svelte-json-view": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/@zerodevx/svelte-json-view/-/svelte-json-view-1.0.7.tgz", @@ -9344,11 +9129,6 @@ "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" }, - "big-integer": { - "version": "1.6.52", - "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.52.tgz", - "integrity": "sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg==" - }, "bigint-mod-arith": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/bigint-mod-arith/-/bigint-mod-arith-3.3.1.tgz", diff --git a/src/components/auth/backup/AreYouSure.svelte b/src/components/auth/backup/AreYouSure.svelte deleted file mode 100644 index 120bec8..0000000 --- a/src/components/auth/backup/AreYouSure.svelte +++ /dev/null @@ -1,45 +0,0 @@ - - - -

    diff --git a/src/components/auth/backup/Backup.svelte b/src/components/auth/backup/Backup.svelte deleted file mode 100644 index 0527306..0000000 --- a/src/components/auth/backup/Backup.svelte +++ /dev/null @@ -1,43 +0,0 @@ - - - - diff --git a/src/components/auth/delegate-account/ConnectBackupDevice.svelte b/src/components/auth/delegate-account/ConnectBackupDevice.svelte deleted file mode 100644 index 1b19879..0000000 --- a/src/components/auth/delegate-account/ConnectBackupDevice.svelte +++ /dev/null @@ -1,50 +0,0 @@ - - - - diff --git a/src/components/auth/delegate-account/DelegateAccount.svelte b/src/components/auth/delegate-account/DelegateAccount.svelte deleted file mode 100644 index ff5d236..0000000 --- a/src/components/auth/delegate-account/DelegateAccount.svelte +++ /dev/null @@ -1,69 +0,0 @@ - - - - diff --git a/src/components/auth/link-device/LinkDevice.svelte b/src/components/auth/link-device/LinkDevice.svelte deleted file mode 100644 index ecebad1..0000000 --- a/src/components/auth/link-device/LinkDevice.svelte +++ /dev/null @@ -1,61 +0,0 @@ - - - - diff --git a/src/components/auth/recover/HasRecoveryKit.svelte b/src/components/auth/recover/HasRecoveryKit.svelte deleted file mode 100644 index 1828927..0000000 --- a/src/components/auth/recover/HasRecoveryKit.svelte +++ /dev/null @@ -1,125 +0,0 @@ - - -
    -

    Recover your account

    - - {#if state === RECOVERY_STATES.Done} -

    - Account recovered! -

    -

    - Welcome back {$sessionStore.username.trimmed}. - We were able to successfully recover all of your private data. -

    - {:else} -

    - If you’ve lost access to all of your connected devices, you can use your - recovery kit to restore access to your private data. -

    - {/if} - - {#if state === RECOVERY_STATES.Error} -

    - We were unable to recover your account. Please double check that you - uploaded the correct file. -

    - {/if} - -
    - - - {#if state !== RECOVERY_STATES.Done} -

    - {`It should be a file named ODD-RecoveryKit-{yourUsername}.txt`} -

    - {/if} -
    -
    diff --git a/src/components/auth/recover/RecoveryKitButton.svelte b/src/components/auth/recover/RecoveryKitButton.svelte deleted file mode 100644 index d309866..0000000 --- a/src/components/auth/recover/RecoveryKitButton.svelte +++ /dev/null @@ -1,65 +0,0 @@ - - -{#if state === RECOVERY_STATES.Ready || state === RECOVERY_STATES.Error} - - -{:else} - {@const { $$on_click, ...props } = buttonData[state].props} - -{/if} diff --git a/src/components/auth/register/Register.svelte b/src/components/auth/register/Register.svelte deleted file mode 100644 index 4b57c60..0000000 --- a/src/components/auth/register/Register.svelte +++ /dev/null @@ -1,190 +0,0 @@ - - -{#if initializingFilesystem} - -{:else} -
    -

    Connect this device

    - - - -

    Choose a username

    -
    - - {#if checkingUsername} - - {/if} -
    - - {#if !registrationSuccess} - - - {/if} - -
    - - - - -
    - -
    - - Cancel - - -
    - - - -
    - - {#if existingAccount} -
    -

    - Which device are you connected on? -

    -

    To connect your existing account, you'll need to:

    -
      -
    1. Find a device the account is already connected on
    2. -
    3. Navigate to your Account Settings
    4. -
    5. Click "Connect a new device"
    6. -
    -
    - {/if} -
    - - - Recover an account -
    -{/if} diff --git a/src/components/auth/register/Welcome.svelte b/src/components/auth/register/Welcome.svelte deleted file mode 100644 index 68e08e2..0000000 --- a/src/components/auth/register/Welcome.svelte +++ /dev/null @@ -1,39 +0,0 @@ - - - - diff --git a/src/components/home/sign-up/Username.svelte b/src/components/home/sign-up/Username.svelte index b4c4930..a0aa85e 100644 --- a/src/components/home/sign-up/Username.svelte +++ b/src/components/home/sign-up/Username.svelte @@ -1,14 +1,16 @@ - -{#if $accountSettingsStore.avatar} - {#if $accountSettingsStore.loading} -
    - -
    - {:else} - User Avatar - {/if} -{:else} -
    - {$sessionStore.username.trimmed[0]} -
    -{/if} diff --git a/src/components/settings/AvatarUpload.svelte b/src/components/settings/AvatarUpload.svelte deleted file mode 100644 index 0d52afc..0000000 --- a/src/components/settings/AvatarUpload.svelte +++ /dev/null @@ -1,39 +0,0 @@ - - -
    -

    Avatar

    -
    - - - - -
    -
    diff --git a/src/components/settings/ConnectedDevices.svelte b/src/components/settings/ConnectedDevices.svelte deleted file mode 100644 index ed01274..0000000 --- a/src/components/settings/ConnectedDevices.svelte +++ /dev/null @@ -1,20 +0,0 @@ - - -
    -

    Connected devices

    - {#if $sessionStore.backupCreated} -

    You have connected at least one other device.

    - {:else} -

    You have no other connected devices.

    - {/if} - -
    diff --git a/src/components/settings/RecoveryKit.svelte b/src/components/settings/RecoveryKit.svelte deleted file mode 100644 index 392f3d4..0000000 --- a/src/components/settings/RecoveryKit.svelte +++ /dev/null @@ -1,27 +0,0 @@ - - -
    -

    Recovery Kit

    -

    - Your recovery kit will restore access to your data in the event that you - lose access to all of your connected devices. We recommend you store your - kit in a safe place, separate from those devices. -

    - - -
    - -{#if modalOpen} - -{/if} diff --git a/src/components/settings/RecoveryKitModal.svelte b/src/components/settings/RecoveryKitModal.svelte deleted file mode 100644 index 4eecbd4..0000000 --- a/src/components/settings/RecoveryKitModal.svelte +++ /dev/null @@ -1,87 +0,0 @@ - - - - diff --git a/src/components/settings/TruncatedUsername.svelte b/src/components/settings/TruncatedUsername.svelte deleted file mode 100644 index a64f279..0000000 --- a/src/components/settings/TruncatedUsername.svelte +++ /dev/null @@ -1,12 +0,0 @@ - - -{usernameParts[0]} - - #{usernameParts[1].substring(0, 12)}...{usernameParts[1].substring( - usernameParts[1].length - 5 - )} - diff --git a/src/components/settings/Username.svelte b/src/components/settings/Username.svelte index 9af4055..2cbffbb 100644 --- a/src/components/settings/Username.svelte +++ b/src/components/settings/Username.svelte @@ -4,10 +4,9 @@ import { sessionStore } from '$lib/stores' import { addNotification } from '$lib/notifications' import ClipboardIcon from '$components/icons/ClipboardIcon.svelte' - import TruncatedUsername from '$components/settings/TruncatedUsername.svelte' const handleCopyUsername = async (): Promise => { - await clipboardCopy($sessionStore.username.full) + await clipboardCopy($sessionStore.username) addNotification({ msg: 'Copied to clipboard', type: 'success' }) } @@ -16,7 +15,7 @@

    Username

    - + {$sessionStore.username}

    - {#if isHome && $sessionStore.session} + {#if isHome && $sessionStore.username}