diff --git a/package.json b/package.json index 6975a2db..4840714a 100644 --- a/package.json +++ b/package.json @@ -23,7 +23,7 @@ "@sindresorhus/slugify": "^2.1.1", "@tailwindcss/typography": "^0.5.8", "@vercel/og": "^0.5.7", - "@worldcoin/idkit": "^0.5.1", + "@worldcoin/idkit": "^1.1.0", "acorn": "^8.8.1", "autoprefixer": "^10.4.7", "clsx": "^1.2.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 9109c10d..2fe48086 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -36,14 +36,14 @@ dependencies: specifier: ^0.5.7 version: 0.5.7 '@worldcoin/idkit': - specifier: ^0.5.1 - version: 0.5.1(@types/react-dom@18.0.11)(@types/react@18.0.28)(prop-types@15.8.1)(react-dom@18.2.0)(react@18.2.0)(tailwindcss@3.3.1)(typescript@4.9.5) + specifier: ^1.1.0 + version: 1.1.0(@types/react-dom@18.0.11)(@types/react@18.0.28)(prop-types@15.8.1)(react-dom@18.2.0)(react@18.2.0)(tailwindcss@3.3.1)(typescript@4.9.5) acorn: specifier: ^8.8.1 version: 8.8.1 autoprefixer: specifier: ^10.4.7 - version: 10.4.7(postcss@8.4.26) + version: 10.4.7(postcss@8.4.31) clsx: specifier: ^1.2.1 version: 1.2.1 @@ -70,16 +70,16 @@ dependencies: version: 6.0.0(next@13.5.4)(react-dom@18.2.0)(react@18.2.0) next-sitemap: specifier: ^4.0.5 - version: 4.0.5(@next/env@13.4.10)(next@13.5.4) + version: 4.0.5(@next/env@13.5.4)(next@13.5.4) postcss-focus-visible: specifier: ^6.0.4 - version: 6.0.4(postcss@8.4.26) + version: 6.0.4(postcss@8.4.31) postcss-import: specifier: ^15.1.0 - version: 15.1.0(postcss@8.4.26) + version: 15.1.0(postcss@8.4.31) postcss-nesting: specifier: ^11.2.2 - version: 11.2.2(postcss@8.4.26) + version: 11.2.2(postcss@8.4.31) postcss-selector-matches: specifier: ^4.0.0 version: 4.0.0 @@ -115,7 +115,7 @@ dependencies: version: 2.1.3(react@18.2.0) tailwindcss: specifier: ^3.3.1 - version: 3.3.1(postcss@8.4.26)(ts-node@10.9.1) + version: 3.3.1(postcss@8.4.31)(ts-node@10.9.1) unist-util-visit: specifier: ^4.1.1 version: 4.1.1 @@ -165,8 +165,8 @@ packages: engines: {node: '>=0.10.0'} dev: true - /@adraffy/ens-normalize@1.9.0: - resolution: {integrity: sha512-iowxq3U30sghZotgl4s/oJRci6WPBfNO5YYgk2cIOMCHr3LeGPcsZjCEr+33Q4N+oV3OABDAtA+pyvWjbvBifQ==} + /@adraffy/ens-normalize@1.10.0: + resolution: {integrity: sha512-nA9XHtlAkYfJxY7bce8DcN7eKxWWCWkU+1GR9d+U6MbNpfwQp8TI7vqOsBsMcHoT4mBu2kypKoSKnghEzOOq5Q==} dev: false /@algolia/autocomplete-core@1.9.3(@algolia/client-search@4.20.0)(algoliasearch@4.20.0)(search-insights@2.8.2): @@ -1038,10 +1038,6 @@ packages: tslib: 2.6.0 dev: false - /@next/env@13.4.10: - resolution: {integrity: sha512-3G1yD/XKTSLdihyDSa8JEsaWOELY+OWe08o0LUYzfuHp1zHDA8SObQlzKt+v+wrkkPcnPweoLH1ImZeUa0A1NQ==} - dev: false - /@next/env@13.5.4: resolution: {integrity: sha512-LGegJkMvRNw90WWphGJ3RMHMVplYcOfRWf2Be3td3sUa+1AaxmsYyANsA+znrGCBjXJNi4XAQlSoEfUxs/4kIQ==} dev: false @@ -1144,14 +1140,15 @@ packages: dev: false optional: true - /@noble/curves@1.0.0: - resolution: {integrity: sha512-2upgEu0iLiDVDZkNLeFV2+ht0BAVgQnEmCk6JsOch9Rp8xfkMCbvbAZlA2pBHQc73dbl+vFOXfqkf4uemdn0bw==} + /@noble/curves@1.2.0: + resolution: {integrity: sha512-oYclrNgRaM9SsBUBVbb8M6DTV7ZHRTKugureoYEncY5c65HOmRzvSiTE3y5CYaPYJA/GVkrhXEoF0M3Ya9PMnw==} dependencies: - '@noble/hashes': 1.3.0 + '@noble/hashes': 1.3.2 dev: false - /@noble/hashes@1.3.0: - resolution: {integrity: sha512-ilHEACi9DwqJB0pw7kv+Apvh50jiiSyR/cQ3y4W7lOR5mhvn/50FLUfsnfJz0BDZtl/RR16kXvptiv6q1msYZg==} + /@noble/hashes@1.3.2: + resolution: {integrity: sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ==} + engines: {node: '>= 16'} dev: false /@nodelib/fs.scandir@2.1.5: @@ -1260,8 +1257,8 @@ packages: react: 18.2.0 dev: false - /@radix-ui/react-dialog@1.0.4(@types/react-dom@18.0.11)(@types/react@18.0.28)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-hJtRy/jPULGQZceSAP2Re6/4NpKo8im6V8P2hUqZsdFiSL8l35kYsw3qbRI6Ay5mQd2+wlLqje770eq+RJ3yZg==} + /@radix-ui/react-dialog@1.0.5(@types/react-dom@18.0.11)(@types/react@18.0.28)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-GjWJX/AUpB703eEBanuBnIWdIXg6NvJFCXcNlSZk4xdszCdhrJgBoUd1cGk67vFO+WdA2pfI/plOpqz/5GUP6Q==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -1277,11 +1274,11 @@ packages: '@radix-ui/primitive': 1.0.1 '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.0.28)(react@18.2.0) '@radix-ui/react-context': 1.0.1(@types/react@18.0.28)(react@18.2.0) - '@radix-ui/react-dismissable-layer': 1.0.4(@types/react-dom@18.0.11)(@types/react@18.0.28)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-dismissable-layer': 1.0.5(@types/react-dom@18.0.11)(@types/react@18.0.28)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-focus-guards': 1.0.1(@types/react@18.0.28)(react@18.2.0) - '@radix-ui/react-focus-scope': 1.0.3(@types/react-dom@18.0.11)(@types/react@18.0.28)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-focus-scope': 1.0.4(@types/react-dom@18.0.11)(@types/react@18.0.28)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-id': 1.0.1(@types/react@18.0.28)(react@18.2.0) - '@radix-ui/react-portal': 1.0.3(@types/react-dom@18.0.11)(@types/react@18.0.28)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-portal': 1.0.4(@types/react-dom@18.0.11)(@types/react@18.0.28)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.0.11)(@types/react@18.0.28)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.0.11)(@types/react@18.0.28)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-slot': 1.0.2(@types/react@18.0.28)(react@18.2.0) @@ -1303,8 +1300,8 @@ packages: react: 18.2.0 dev: false - /@radix-ui/react-dismissable-layer@1.0.4(@types/react-dom@18.0.11)(@types/react@18.0.28)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-7UpBa/RKMoHJYjie1gkF1DlK8l1fdU/VKDpoS3rCCo8YBJR294GwcEHyxHw72yvphJ7ld0AXEcSLAzY2F/WyCg==} + /@radix-ui/react-dismissable-layer@1.0.5(@types/react-dom@18.0.11)(@types/react@18.0.28)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-aJeDjQhywg9LBu2t/At58hCvr7pEm0o2Ke1x33B+MhjNmmZ17sy4KImo0KPLgsnc/zN7GPdce8Cnn0SWvwZO7g==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -1342,8 +1339,8 @@ packages: react: 18.2.0 dev: false - /@radix-ui/react-focus-scope@1.0.3(@types/react-dom@18.0.11)(@types/react@18.0.28)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-upXdPfqI4islj2CslyfUBNlaJCPybbqRHAi1KER7Isel9Q2AtSJ0zRBZv8mWQiFXD2nyAJ4BhC3yXgZ6kMBSrQ==} + /@radix-ui/react-focus-scope@1.0.4(@types/react-dom@18.0.11)(@types/react@18.0.28)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-sL04Mgvf+FmyvZeYfNu1EPAaaxD+aw7cYeIB9L9Fvq8+urhltTRaEo5ysKOpHuKPclsZcSUMKlN05x4u+CINpA==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -1380,8 +1377,8 @@ packages: react: 18.2.0 dev: false - /@radix-ui/react-portal@1.0.3(@types/react-dom@18.0.11)(@types/react@18.0.28)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-xLYZeHrWoPmA5mEKEfZZevoVRK/Q43GfzRXkWV6qawIWWK8t6ifIiLQdd7rmQ4Vk1bmI21XhqF9BN3jWf+phpA==} + /@radix-ui/react-portal@1.0.4(@types/react-dom@18.0.11)(@types/react@18.0.28)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-Qki+C/EuGUVCQTOTD5vzJzJuMUlewbzuKyUy+/iHM2uwGiru9gZeBJtHAPKAEkB5KWGi9mP/CHKcY0wt1aW45Q==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -1514,8 +1511,8 @@ packages: react: 18.2.0 dev: false - /@radix-ui/react-toast@1.1.4(@types/react-dom@18.0.11)(@types/react@18.0.28)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-wf+fc8DOywrpRK3jlPlWVe+ELYGHdKDaaARJZNuUTWyWYq7+ANCFLp4rTjZ/mcGkJJQ/vZ949Zis9xxEpfq9OA==} + /@radix-ui/react-toast@1.1.5(@types/react-dom@18.0.11)(@types/react@18.0.28)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-fRLn227WHIBRSzuRzGJ8W+5YALxofH23y0MlPLddaIpLpCDqdE0NZlS2NRQDRiptfxDeeCjgFIpexB1/zkxDlw==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -1532,8 +1529,8 @@ packages: '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.0.11)(@types/react@18.0.28)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.0.28)(react@18.2.0) '@radix-ui/react-context': 1.0.1(@types/react@18.0.28)(react@18.2.0) - '@radix-ui/react-dismissable-layer': 1.0.4(@types/react-dom@18.0.11)(@types/react@18.0.28)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-portal': 1.0.3(@types/react-dom@18.0.11)(@types/react@18.0.28)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-dismissable-layer': 1.0.5(@types/react-dom@18.0.11)(@types/react@18.0.28)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-portal': 1.0.4(@types/react-dom@18.0.11)(@types/react@18.0.28)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.0.11)(@types/react@18.0.28)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.0.11)(@types/react@18.0.28)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.0.28)(react@18.2.0) @@ -1684,23 +1681,23 @@ packages: resolution: {integrity: sha512-V+MvGwaHH03hYhY+k6Ef/xKd6RYlc4q8WBx+2ANmipHJcKuktNcI/NgEsJgdSUF6Lw32njT6OnrRsKYCdgHjYw==} dev: true - /@scure/base@1.1.1: - resolution: {integrity: sha512-ZxOhsSyxYwLJj3pLZCefNitxsj093tb2vq90mp2txoYeBqbcjDjqFhyM8eUjq/uFm6zJ+mUuqxlS2FkuSY1MTA==} + /@scure/base@1.1.4: + resolution: {integrity: sha512-wznebWtt+ejH8el87yuD4i9xLSbYZXf1Pe4DY0o/zq/eg5I0VQVXVbFs6XIM0pNVCJ/uE3t5wI9kh90mdLUxtw==} dev: false - /@scure/bip32@1.3.0: - resolution: {integrity: sha512-bcKpo1oj54hGholplGLpqPHRbIsnbixFtc06nwuNM5/dwSXOq/AAYoIBRsBmnZJSdfeNW5rnff7NTAz3ZCqR9Q==} + /@scure/bip32@1.3.2: + resolution: {integrity: sha512-N1ZhksgwD3OBlwTv3R6KFEcPojl/W4ElJOeCZdi+vuI5QmTFwLq3OFf2zd2ROpKvxFdgZ6hUpb0dx9bVNEwYCA==} dependencies: - '@noble/curves': 1.0.0 - '@noble/hashes': 1.3.0 - '@scure/base': 1.1.1 + '@noble/curves': 1.2.0 + '@noble/hashes': 1.3.2 + '@scure/base': 1.1.4 dev: false - /@scure/bip39@1.2.0: - resolution: {integrity: sha512-SX/uKq52cuxm4YFXWFaVByaSHJh2w3BnokVSeUJVCv6K7WulT9u2BuNRBhuFl8vAuYnzx9bEu9WgpcNYTrYieg==} + /@scure/bip39@1.2.1: + resolution: {integrity: sha512-Z3/Fsz1yr904dduJD0NpiyRHhRYHdcnyh73FZWiV+/qhWi83wNJ3NWolYqCEN+ZWsUz2TWwajJggcRE9r1zUYg==} dependencies: - '@noble/hashes': 1.3.0 - '@scure/base': 1.1.1 + '@noble/hashes': 1.3.2 + '@scure/base': 1.1.4 dev: false /@shuding/opentype.js@1.4.0-beta.0: @@ -1727,143 +1724,19 @@ packages: escape-string-regexp: 5.0.0 dev: false - /@stablelib/aead@1.0.1: - resolution: {integrity: sha512-q39ik6sxGHewqtO0nP4BuSe3db5G1fEJE8ukvngS2gLkBXyy6E7pLubhbYgnkDFv6V8cWaxcE4Xn0t6LWcJkyg==} - dev: false - - /@stablelib/binary@1.0.1: - resolution: {integrity: sha512-ClJWvmL6UBM/wjkvv/7m5VP3GMr9t0osr4yVgLZsLCOz4hGN9gIAFEqnJ0TsSMAN+n840nf2cHZnA5/KFqHC7Q==} - dependencies: - '@stablelib/int': 1.0.1 - dev: false - - /@stablelib/bytes@1.0.1: - resolution: {integrity: sha512-Kre4Y4kdwuqL8BR2E9hV/R5sOrUj6NanZaZis0V6lX5yzqC3hBuVSDXUIBqQv/sCpmuWRiHLwqiT1pqqjuBXoQ==} - dev: false - - /@stablelib/chacha20poly1305@1.0.1: - resolution: {integrity: sha512-MmViqnqHd1ymwjOQfghRKw2R/jMIGT3wySN7cthjXCBdO+qErNPUBnRzqNpnvIwg7JBCg3LdeCZZO4de/yEhVA==} - dependencies: - '@stablelib/aead': 1.0.1 - '@stablelib/binary': 1.0.1 - '@stablelib/chacha': 1.0.1 - '@stablelib/constant-time': 1.0.1 - '@stablelib/poly1305': 1.0.1 - '@stablelib/wipe': 1.0.1 - dev: false - - /@stablelib/chacha@1.0.1: - resolution: {integrity: sha512-Pmlrswzr0pBzDofdFuVe1q7KdsHKhhU24e8gkEwnTGOmlC7PADzLVxGdn2PoNVBBabdg0l/IfLKg6sHAbTQugg==} - dependencies: - '@stablelib/binary': 1.0.1 - '@stablelib/wipe': 1.0.1 - dev: false - - /@stablelib/constant-time@1.0.1: - resolution: {integrity: sha512-tNOs3uD0vSJcK6z1fvef4Y+buN7DXhzHDPqRLSXUel1UfqMB1PWNsnnAezrKfEwTLpN0cGH2p9NNjs6IqeD0eg==} - dev: false - - /@stablelib/ed25519@1.0.3: - resolution: {integrity: sha512-puIMWaX9QlRsbhxfDc5i+mNPMY+0TmQEskunY1rZEBPi1acBCVQAhnsk/1Hk50DGPtVsZtAWQg4NHGlVaO9Hqg==} - dependencies: - '@stablelib/random': 1.0.2 - '@stablelib/sha512': 1.0.1 - '@stablelib/wipe': 1.0.1 - dev: false - - /@stablelib/hash@1.0.1: - resolution: {integrity: sha512-eTPJc/stDkdtOcrNMZ6mcMK1e6yBbqRBaNW55XA1jU8w/7QdnCF0CmMmOD1m7VSkBR44PWrMHU2l6r8YEQHMgg==} - dev: false - - /@stablelib/hkdf@1.0.1: - resolution: {integrity: sha512-SBEHYE16ZXlHuaW5RcGk533YlBj4grMeg5TooN80W3NpcHRtLZLLXvKyX0qcRFxf+BGDobJLnwkvgEwHIDBR6g==} - dependencies: - '@stablelib/hash': 1.0.1 - '@stablelib/hmac': 1.0.1 - '@stablelib/wipe': 1.0.1 - dev: false - - /@stablelib/hmac@1.0.1: - resolution: {integrity: sha512-V2APD9NSnhVpV/QMYgCVMIYKiYG6LSqw1S65wxVoirhU/51ACio6D4yDVSwMzuTJXWZoVHbDdINioBwKy5kVmA==} - dependencies: - '@stablelib/constant-time': 1.0.1 - '@stablelib/hash': 1.0.1 - '@stablelib/wipe': 1.0.1 - dev: false - - /@stablelib/int@1.0.1: - resolution: {integrity: sha512-byr69X/sDtDiIjIV6m4roLVWnNNlRGzsvxw+agj8CIEazqWGOQp2dTYgQhtyVXV9wpO6WyXRQUzLV/JRNumT2w==} - dev: false - - /@stablelib/keyagreement@1.0.1: - resolution: {integrity: sha512-VKL6xBwgJnI6l1jKrBAfn265cspaWBPAPEc62VBQrWHLqVgNRE09gQ/AnOEyKUWrrqfD+xSQ3u42gJjLDdMDQg==} - dependencies: - '@stablelib/bytes': 1.0.1 - dev: false - - /@stablelib/poly1305@1.0.1: - resolution: {integrity: sha512-1HlG3oTSuQDOhSnLwJRKeTRSAdFNVB/1djy2ZbS35rBSJ/PFqx9cf9qatinWghC2UbfOYD8AcrtbUQl8WoxabA==} - dependencies: - '@stablelib/constant-time': 1.0.1 - '@stablelib/wipe': 1.0.1 - dev: false - - /@stablelib/random@1.0.2: - resolution: {integrity: sha512-rIsE83Xpb7clHPVRlBj8qNe5L8ISQOzjghYQm/dZ7VaM2KHYwMW5adjQjrzTZCchFnNCNhkwtnOBa9HTMJCI8w==} - dependencies: - '@stablelib/binary': 1.0.1 - '@stablelib/wipe': 1.0.1 - dev: false - - /@stablelib/sha256@1.0.1: - resolution: {integrity: sha512-GIIH3e6KH+91FqGV42Kcj71Uefd/QEe7Dy42sBTeqppXV95ggCcxLTk39bEr+lZfJmp+ghsR07J++ORkRELsBQ==} - dependencies: - '@stablelib/binary': 1.0.1 - '@stablelib/hash': 1.0.1 - '@stablelib/wipe': 1.0.1 - dev: false - - /@stablelib/sha512@1.0.1: - resolution: {integrity: sha512-13gl/iawHV9zvDKciLo1fQ8Bgn2Pvf7OV6amaRVKiq3pjQ3UmEpXxWiAfV8tYjUpeZroBxtyrwtdooQT/i3hzw==} - dependencies: - '@stablelib/binary': 1.0.1 - '@stablelib/hash': 1.0.1 - '@stablelib/wipe': 1.0.1 - dev: false - - /@stablelib/wipe@1.0.1: - resolution: {integrity: sha512-WfqfX/eXGiAd3RJe4VU2snh/ZPwtSjLG4ynQ/vYzvghTh7dHFcI1wl+nrkWG6lGhukOxOsUHfv8dUXr58D0ayg==} - dev: false - - /@stablelib/x25519@1.0.3: - resolution: {integrity: sha512-KnTbKmUhPhHavzobclVJQG5kuivH+qDLpe84iRqX3CLrKp881cF160JvXJ+hjn1aMyCwYOKeIZefIH/P5cJoRw==} - dependencies: - '@stablelib/keyagreement': 1.0.1 - '@stablelib/random': 1.0.2 - '@stablelib/wipe': 1.0.1 - dev: false - - /@stitches/react@1.2.8(react@18.2.0): - resolution: {integrity: sha512-9g9dWI4gsSVe8bNLlb+lMkBYsnIKCZTmvqvDG+Avnn69XfmHZKiaMrx7cgTaddq7aTPPmXiTsbFcUy0xgI4+wA==} - peerDependencies: - react: '>= 16.3.0' - dependencies: - react: 18.2.0 - dev: false - /@swc/helpers@0.5.2: resolution: {integrity: sha512-E4KcWTpoLHqwPHLxidpOqQbcrZVgi0rsmmZXUle1jXmJfuIf/UWpczUJ7MZZ5tlxytgJXyp0w4PGkkeLiuIdZw==} dependencies: tslib: 2.6.0 dev: false - /@tailwindcss/forms@0.5.4(tailwindcss@3.3.1): - resolution: {integrity: sha512-YAm12D3R7/9Mh4jFbYSMnsd6jG++8KxogWgqs7hbdo/86aWjjlIEvL7+QYdVELmAI0InXTpZqFIg5e7aDVWI2Q==} + /@tailwindcss/forms@0.5.7(tailwindcss@3.3.1): + resolution: {integrity: sha512-QE7X69iQI+ZXwldE+rzasvbJiyV/ju1FGHH0Qn2W3FKbuYtqp8LKcy6iSw79fVUT5/Vvf+0XgLCeYVG+UV6hOw==} peerDependencies: tailwindcss: '>=3.0.0 || >= 3.0.0-alpha.1' dependencies: mini-svg-data-uri: 1.4.4 - tailwindcss: 3.3.1(postcss@8.4.26)(ts-node@10.9.1) + tailwindcss: 3.3.1(postcss@8.4.31)(ts-node@10.9.1) dev: false /@tailwindcss/typography@0.5.8(tailwindcss@3.3.1): @@ -1875,7 +1748,7 @@ packages: lodash.isplainobject: 4.0.6 lodash.merge: 4.6.2 postcss-selector-parser: 6.0.10 - tailwindcss: 3.3.1(postcss@8.4.26)(ts-node@10.9.1) + tailwindcss: 3.3.1(postcss@8.4.31)(ts-node@10.9.1) dev: false /@tsconfig/node10@1.0.9: @@ -2054,220 +1927,6 @@ packages: yoga-wasm-web: 0.3.3 dev: false - /@wagmi/chains@1.0.0(typescript@4.9.5): - resolution: {integrity: sha512-eNbqRWyHbivcMNq5tbXJks4NaOzVLHnNQauHPeE/EDT9AlpqzcrMc+v2T1/2Iw8zN4zgqB86NCsxeJHJs7+xng==} - peerDependencies: - typescript: '>=5.0.4' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - typescript: 4.9.5 - dev: false - - /@walletconnect/core@2.9.0: - resolution: {integrity: sha512-MZYJghS9YCvGe32UOgDj0mCasaOoGHQaYXWeQblXE/xb8HuaM6kAWhjIQN9P+MNp5QP134BHP5olQostcCotXQ==} - dependencies: - '@walletconnect/heartbeat': 1.2.1 - '@walletconnect/jsonrpc-provider': 1.0.13 - '@walletconnect/jsonrpc-types': 1.0.3 - '@walletconnect/jsonrpc-utils': 1.0.8 - '@walletconnect/jsonrpc-ws-connection': 1.0.12 - '@walletconnect/keyvaluestorage': 1.0.2 - '@walletconnect/logger': 2.0.1 - '@walletconnect/relay-api': 1.0.9 - '@walletconnect/relay-auth': 1.0.4 - '@walletconnect/safe-json': 1.0.2 - '@walletconnect/time': 1.0.2 - '@walletconnect/types': 2.9.0 - '@walletconnect/utils': 2.9.0 - events: 3.3.0 - lodash.isequal: 4.5.0 - uint8arrays: 3.1.1 - transitivePeerDependencies: - - '@react-native-async-storage/async-storage' - - bufferutil - - lokijs - - utf-8-validate - dev: false - - /@walletconnect/environment@1.0.1: - resolution: {integrity: sha512-T426LLZtHj8e8rYnKfzsw1aG6+M0BT1ZxayMdv/p8yM0MU+eJDISqNY3/bccxRr4LrF9csq02Rhqt08Ibl0VRg==} - dependencies: - tslib: 1.14.1 - dev: false - - /@walletconnect/events@1.0.1: - resolution: {integrity: sha512-NPTqaoi0oPBVNuLv7qPaJazmGHs5JGyO8eEAk5VGKmJzDR7AHzD4k6ilox5kxk1iwiOnFopBOOMLs86Oa76HpQ==} - dependencies: - keyvaluestorage-interface: 1.0.0 - tslib: 1.14.1 - dev: false - - /@walletconnect/heartbeat@1.2.1: - resolution: {integrity: sha512-yVzws616xsDLJxuG/28FqtZ5rzrTA4gUjdEMTbWB5Y8V1XHRmqq4efAxCw5ie7WjbXFSUyBHaWlMR+2/CpQC5Q==} - dependencies: - '@walletconnect/events': 1.0.1 - '@walletconnect/time': 1.0.2 - tslib: 1.14.1 - dev: false - - /@walletconnect/jsonrpc-provider@1.0.13: - resolution: {integrity: sha512-K73EpThqHnSR26gOyNEL+acEex3P7VWZe6KE12ZwKzAt2H4e5gldZHbjsu2QR9cLeJ8AXuO7kEMOIcRv1QEc7g==} - dependencies: - '@walletconnect/jsonrpc-utils': 1.0.8 - '@walletconnect/safe-json': 1.0.2 - tslib: 1.14.1 - dev: false - - /@walletconnect/jsonrpc-types@1.0.3: - resolution: {integrity: sha512-iIQ8hboBl3o5ufmJ8cuduGad0CQm3ZlsHtujv9Eu16xq89q+BG7Nh5VLxxUgmtpnrePgFkTwXirCTkwJH1v+Yw==} - dependencies: - keyvaluestorage-interface: 1.0.0 - tslib: 1.14.1 - dev: false - - /@walletconnect/jsonrpc-utils@1.0.8: - resolution: {integrity: sha512-vdeb03bD8VzJUL6ZtzRYsFMq1eZQcM3EAzT0a3st59dyLfJ0wq+tKMpmGH7HlB7waD858UWgfIcudbPFsbzVdw==} - dependencies: - '@walletconnect/environment': 1.0.1 - '@walletconnect/jsonrpc-types': 1.0.3 - tslib: 1.14.1 - dev: false - - /@walletconnect/jsonrpc-ws-connection@1.0.12: - resolution: {integrity: sha512-HAcadga3Qjt1Cqy+qXEW6zjaCs8uJGdGQrqltzl3OjiK4epGZRdvSzTe63P+t/3z+D2wG+ffEPn0GVcDozmN1w==} - dependencies: - '@walletconnect/jsonrpc-utils': 1.0.8 - '@walletconnect/safe-json': 1.0.2 - events: 3.3.0 - tslib: 1.14.1 - ws: 7.5.9 - transitivePeerDependencies: - - bufferutil - - utf-8-validate - dev: false - - /@walletconnect/keyvaluestorage@1.0.2: - resolution: {integrity: sha512-U/nNG+VLWoPFdwwKx0oliT4ziKQCEoQ27L5Hhw8YOFGA2Po9A9pULUYNWhDgHkrb0gYDNt//X7wABcEWWBd3FQ==} - peerDependencies: - '@react-native-async-storage/async-storage': 1.x - lokijs: 1.x - peerDependenciesMeta: - '@react-native-async-storage/async-storage': - optional: true - lokijs: - optional: true - dependencies: - safe-json-utils: 1.1.1 - tslib: 1.14.1 - dev: false - - /@walletconnect/logger@2.0.1: - resolution: {integrity: sha512-SsTKdsgWm+oDTBeNE/zHxxr5eJfZmE9/5yp/Ku+zJtcTAjELb3DXueWkDXmE9h8uHIbJzIb5wj5lPdzyrjT6hQ==} - dependencies: - pino: 7.11.0 - tslib: 1.14.1 - dev: false - - /@walletconnect/relay-api@1.0.9: - resolution: {integrity: sha512-Q3+rylJOqRkO1D9Su0DPE3mmznbAalYapJ9qmzDgK28mYF9alcP3UwG/og5V7l7CFOqzCLi7B8BvcBUrpDj0Rg==} - dependencies: - '@walletconnect/jsonrpc-types': 1.0.3 - tslib: 1.14.1 - dev: false - - /@walletconnect/relay-auth@1.0.4: - resolution: {integrity: sha512-kKJcS6+WxYq5kshpPaxGHdwf5y98ZwbfuS4EE/NkQzqrDFm5Cj+dP8LofzWvjrrLkZq7Afy7WrQMXdLy8Sx7HQ==} - dependencies: - '@stablelib/ed25519': 1.0.3 - '@stablelib/random': 1.0.2 - '@walletconnect/safe-json': 1.0.2 - '@walletconnect/time': 1.0.2 - tslib: 1.14.1 - uint8arrays: 3.1.1 - dev: false - - /@walletconnect/safe-json@1.0.2: - resolution: {integrity: sha512-Ogb7I27kZ3LPC3ibn8ldyUr5544t3/STow9+lzz7Sfo808YD7SBWk7SAsdBFlYgP2zDRy2hS3sKRcuSRM0OTmA==} - dependencies: - tslib: 1.14.1 - dev: false - - /@walletconnect/sign-client@2.9.0: - resolution: {integrity: sha512-mEKc4LlLMebCe45qzqh+MX4ilQK4kOEBzLY6YJpG8EhyT45eX4JMNA7qQoYa9MRMaaVb/7USJcc4e3ZrjZvQmA==} - dependencies: - '@walletconnect/core': 2.9.0 - '@walletconnect/events': 1.0.1 - '@walletconnect/heartbeat': 1.2.1 - '@walletconnect/jsonrpc-utils': 1.0.8 - '@walletconnect/logger': 2.0.1 - '@walletconnect/time': 1.0.2 - '@walletconnect/types': 2.9.0 - '@walletconnect/utils': 2.9.0 - events: 3.3.0 - transitivePeerDependencies: - - '@react-native-async-storage/async-storage' - - bufferutil - - lokijs - - utf-8-validate - dev: false - - /@walletconnect/time@1.0.2: - resolution: {integrity: sha512-uzdd9woDcJ1AaBZRhqy5rNC9laqWGErfc4dxA9a87mPdKOgWMD85mcFo9dIYIts/Jwocfwn07EC6EzclKubk/g==} - dependencies: - tslib: 1.14.1 - dev: false - - /@walletconnect/types@2.9.0: - resolution: {integrity: sha512-ORopsMfSRvUYqtjKKd6scfg8o4/aGebipLxx92AuuUgMTERSU6cGmIrK6rdLu7W6FBJkmngPLEGc9mRqAb9Lug==} - dependencies: - '@walletconnect/events': 1.0.1 - '@walletconnect/heartbeat': 1.2.1 - '@walletconnect/jsonrpc-types': 1.0.3 - '@walletconnect/keyvaluestorage': 1.0.2 - '@walletconnect/logger': 2.0.1 - events: 3.3.0 - transitivePeerDependencies: - - '@react-native-async-storage/async-storage' - - lokijs - dev: false - - /@walletconnect/utils@2.9.0: - resolution: {integrity: sha512-7Tu3m6dZL84KofrNBcblsgpSqU2vdo9ImLD7zWimLXERVGNQ8smXG+gmhQYblebIBhsPzjy9N38YMC3nPlfQNw==} - dependencies: - '@stablelib/chacha20poly1305': 1.0.1 - '@stablelib/hkdf': 1.0.1 - '@stablelib/random': 1.0.2 - '@stablelib/sha256': 1.0.1 - '@stablelib/x25519': 1.0.3 - '@walletconnect/relay-api': 1.0.9 - '@walletconnect/safe-json': 1.0.2 - '@walletconnect/time': 1.0.2 - '@walletconnect/types': 2.9.0 - '@walletconnect/window-getters': 1.0.1 - '@walletconnect/window-metadata': 1.0.1 - detect-browser: 5.3.0 - query-string: 7.1.3 - uint8arrays: 3.1.1 - transitivePeerDependencies: - - '@react-native-async-storage/async-storage' - - lokijs - dev: false - - /@walletconnect/window-getters@1.0.1: - resolution: {integrity: sha512-vHp+HqzGxORPAN8gY03qnbTMnhqIwjeRJNOMOAzePRg4xVEEE2WvYsI9G2NMjOknA8hnuYbU3/hwLcKbjhc8+Q==} - dependencies: - tslib: 1.14.1 - dev: false - - /@walletconnect/window-metadata@1.0.1: - resolution: {integrity: sha512-9koTqyGrM2cqFRW517BPY/iEtUDx2r1+Pwwu5m7sJ7ka79wi3EyqhqcICk/yDmv6jAS1rjKgTKXlEhanYjijcA==} - dependencies: - '@walletconnect/window-getters': 1.0.1 - tslib: 1.14.1 - dev: false - /@webassemblyjs/ast@1.11.6: resolution: {integrity: sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==} dependencies: @@ -2374,43 +2033,49 @@ packages: '@xtuc/long': 4.2.2 dev: false - /@worldcoin/idkit@0.5.1(@types/react-dom@18.0.11)(@types/react@18.0.28)(prop-types@15.8.1)(react-dom@18.2.0)(react@18.2.0)(tailwindcss@3.3.1)(typescript@4.9.5): - resolution: {integrity: sha512-S/1+TkWEl5gJ16e8pC+sHe5WZMBa3FFZRk+FnKB82L+6B3eBOBoAWSoD2AYffW1Ybg1BS/gOgt//0aCN32ILMQ==} + /@worldcoin/idkit-core@1.1.0(@types/react@18.0.28)(react@18.2.0)(typescript@4.9.5): + resolution: {integrity: sha512-fT4adkX9yryewkQwvXIUW4m0sW15lJE7x2uIsC0dtrBTYGR9OjnYgNLMcqwnOxhRU8SfI0xyJXcO4JPLeQihgw==} + engines: {node: '>=12.4'} + dependencies: + buffer: 6.0.3 + viem: 1.19.13(typescript@4.9.5) + zustand: 4.4.7(@types/react@18.0.28)(react@18.2.0) + transitivePeerDependencies: + - '@types/react' + - bufferutil + - immer + - react + - typescript + - utf-8-validate + - zod + dev: false + + /@worldcoin/idkit@1.1.0(@types/react-dom@18.0.11)(@types/react@18.0.28)(prop-types@15.8.1)(react-dom@18.2.0)(react@18.2.0)(tailwindcss@3.3.1)(typescript@4.9.5): + resolution: {integrity: sha512-zTA05oMv0PteDABjvCidaOEM/jn54dQXjZz8stGakyGI31aXjRVTtoYzbhDrAWRYv84qgGbIg76BcgNV9Kpfqg==} + engines: {node: '>=12.4'} peerDependencies: react: '>18.0.0' react-dom: '>18.0.0' dependencies: '@fontsource/rubik': 4.5.14 '@headlessui/react': 1.7.11(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-dialog': 1.0.4(@types/react-dom@18.0.11)(@types/react@18.0.28)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-toast': 1.1.4(@types/react-dom@18.0.11)(@types/react@18.0.28)(react-dom@18.2.0)(react@18.2.0) - '@stitches/react': 1.2.8(react@18.2.0) - '@tailwindcss/forms': 0.5.4(tailwindcss@3.3.1) - '@walletconnect/sign-client': 2.9.0 - '@walletconnect/types': 2.9.0 - '@walletconnect/utils': 2.9.0 + '@radix-ui/react-dialog': 1.0.5(@types/react-dom@18.0.11)(@types/react@18.0.28)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-toast': 1.1.5(@types/react-dom@18.0.11)(@types/react@18.0.28)(react-dom@18.2.0)(react@18.2.0) + '@tailwindcss/forms': 0.5.7(tailwindcss@3.3.1) + '@worldcoin/idkit-core': 1.1.0(@types/react@18.0.28)(react@18.2.0)(typescript@4.9.5) copy-to-clipboard: 3.3.3 - country-telephone-data: 0.6.3 framer-motion: 7.8.1(react-dom@18.2.0)(react@18.2.0) - phone: 3.1.37 posthog-js-lite: 2.4.0 - qr-code-styling-new: 1.6.1 qrcode: 1.5.3 react: 18.2.0 - react-countdown: 2.3.5(react-dom@18.2.0)(react@18.2.0) - react-country-flag: 3.1.0(react@18.2.0) react-dom: 18.2.0(react@18.2.0) - react-frame-component: 5.2.6(prop-types@15.8.1)(react-dom@18.2.0)(react@18.2.0) react-shadow: 19.1.0(prop-types@15.8.1)(react-dom@18.2.0)(react@18.2.0) - viem: 0.3.50(typescript@4.9.5) - zustand: 4.3.9(react@18.2.0) + zustand: 4.4.7(@types/react@18.0.28)(react@18.2.0) transitivePeerDependencies: - - '@react-native-async-storage/async-storage' - '@types/react' - '@types/react-dom' - bufferutil - immer - - lokijs - prop-types - tailwindcss - typescript @@ -2430,12 +2095,14 @@ packages: resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==} dev: false - /abitype@0.8.7(typescript@4.9.5): - resolution: {integrity: sha512-wQ7hV8Yg/yKmGyFpqrNZufCxbszDe5es4AZGYPBitocfSqXtjrTG9JMWFcc4N30ukl2ve48aBTwt7NJxVQdU3w==} + /abitype@0.9.8(typescript@4.9.5): + resolution: {integrity: sha512-puLifILdm+8sjyss4S+fsUN09obiT1g2YW6CtcQF+QDzxR0euzgEB29MZujC6zMk2a6SVmtttq1fc6+YFA7WYQ==} peerDependencies: typescript: '>=5.0.4' zod: ^3 >=3.19.1 peerDependenciesMeta: + typescript: + optional: true zod: optional: true dependencies: @@ -2645,12 +2312,7 @@ packages: hasBin: true dev: false - /atomic-sleep@1.0.0: - resolution: {integrity: sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==} - engines: {node: '>=8.0.0'} - dev: false - - /autoprefixer@10.4.7(postcss@8.4.26): + /autoprefixer@10.4.7(postcss@8.4.31): resolution: {integrity: sha512-ypHju4Y2Oav95SipEcCcI5J7CGPuvz8oat7sUtYj3ClK44bldfvtvcxK6IEK++7rqB7YchDGzweZIBG+SD0ZAA==} engines: {node: ^10 || ^12 || >=14} hasBin: true @@ -2662,7 +2324,7 @@ packages: fraction.js: 4.2.0 normalize-range: 0.1.2 picocolors: 1.0.0 - postcss: 8.4.26 + postcss: 8.4.31 postcss-value-parser: 4.2.0 dev: false @@ -2694,6 +2356,10 @@ packages: engines: {node: '>= 0.4'} dev: false + /base64-js@1.5.1: + resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + dev: false + /binary-extensions@2.2.0: resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} engines: {node: '>=8'} @@ -2726,6 +2392,13 @@ packages: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} dev: false + /buffer@6.0.3: + resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + dev: false + /busboy@1.6.0: resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} engines: {node: '>=10.16.0'} @@ -2929,10 +2602,6 @@ packages: path-type: 4.0.0 dev: true - /country-telephone-data@0.6.3: - resolution: {integrity: sha512-3tQLA0vec+NDVlcaHhXGqILq/oQRsv4fRi4EedCfJqUuJUjQGdcSPM8r2IJIT2kZ5yWbiOCkXMgy7YTo8FNS2w==} - dev: false - /countup.js@2.7.0: resolution: {integrity: sha512-IP9nYLGgW//0If73eXQdFlReGhpFGHaStqB1v82FknxnUWueF6HFuuOXySW4sEDMc88PsZL1EOn/NPkfTZalmQ==} dev: false @@ -3148,11 +2817,6 @@ packages: character-entities: 2.0.2 dev: false - /decode-uri-component@0.2.2: - resolution: {integrity: sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==} - engines: {node: '>=0.10'} - dev: false - /deep-is@0.1.4: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} dev: true @@ -3169,10 +2833,6 @@ packages: resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} engines: {node: '>=6'} - /detect-browser@5.3.0: - resolution: {integrity: sha512-53rsFbGdwMwlF7qvCt0ypLM5V5/Mbl0szB7GPN8y9NCcbknYOeVVXdrXEq+90IwAfrrzt6Hd+u2E2ntakICU8w==} - dev: false - /detect-node-es@1.1.0: resolution: {integrity: sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==} dev: false @@ -3226,15 +2886,6 @@ packages: is-obj: 2.0.0 dev: true - /duplexify@4.1.2: - resolution: {integrity: sha512-fz3OjcNCHmRP12MJoZMPglx8m4rrFP8rovnk4vT8Fs+aonZoCwGg10dSsQsfP/E62eZcPTMSMP6686fu9Qlqtw==} - dependencies: - end-of-stream: 1.4.4 - inherits: 2.0.4 - readable-stream: 3.6.2 - stream-shift: 1.0.1 - dev: false - /electron-to-chromium@1.4.466: resolution: {integrity: sha512-TSkRvbXRXD8BwhcGlZXDsbI2lRoP8dvqR7LQnqQNk9KxXBc4tG8O+rTuXgTyIpEdiqSGKEBSqrxdqEntnjNncA==} dev: false @@ -3255,12 +2906,6 @@ packages: resolution: {integrity: sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw==} dev: false - /end-of-stream@1.4.4: - resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} - dependencies: - once: 1.4.0 - dev: false - /enhanced-resolve@5.15.0: resolution: {integrity: sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==} engines: {node: '>=10.13.0'} @@ -3757,11 +3402,6 @@ packages: resolution: {integrity: sha512-8EZzEP0eKkEEVX+drtd9mtuQ+/QrlfW/5MlwcwK5Nds6EkZ/tRzEexkzUY2mIssnAyVLT+TKHuRXmFNNXYUd6g==} dev: false - /fast-redact@3.2.0: - resolution: {integrity: sha512-zaTadChr+NekyzallAMXATXLOR8MNx3zqpZ0MUF2aGf4EathnG0f32VLODNlY8IuGY3HoRO2L6/6fSzNsLaHIw==} - engines: {node: '>=6'} - dev: false - /fast-shallow-equal@1.0.0: resolution: {integrity: sha512-HPtaa38cPgWvaCFmRNhlc6NG7pv6NUHqjPgVAkWGoB9mQMwYB27/K0CvOM5Czy+qpT3e8XJ6Q4aPAnzpNpzNaw==} dev: false @@ -3796,11 +3436,6 @@ packages: dependencies: to-regex-range: 5.0.1 - /filter-obj@1.1.0: - resolution: {integrity: sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ==} - engines: {node: '>=0.10.0'} - dev: false - /find-up@4.1.0: resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} engines: {node: '>=8'} @@ -4123,6 +3758,10 @@ packages: resolution: {integrity: sha512-ygGZLjmXfPHj+ZWh6LwbC37l43MhfztxetbFCoYTM2VjkIUpeHgSNn7QIyVFj7YQ1Wl9Cbw5sholVJPzWvC2MQ==} dev: false + /ieee754@1.2.1: + resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} + dev: false + /ignore@5.2.4: resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==} engines: {node: '>= 4'} @@ -4162,8 +3801,8 @@ packages: resolution: {integrity: sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==} dev: false - /inline-style-prefixer@6.0.4: - resolution: {integrity: sha512-FwXmZC2zbeeS7NzGjJ6pAiqRhXR0ugUShSNb6GApMl6da0/XGc4MOJsoWAywia52EEWbXNSy0pzkwz/+Y+swSg==} + /inline-style-prefixer@7.0.0: + resolution: {integrity: sha512-I7GEdScunP1dQ6IM2mQWh6v0mOYdYmH3Bp31UecKdrcUgcURTcctSe1IECdUznSHKSmsHtjrT3CwCPI1pyxfUQ==} dependencies: css-in-js-utils: 3.1.0 fast-loops: 1.1.3 @@ -4363,12 +4002,12 @@ packages: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} dev: true - /isomorphic-ws@5.0.0(ws@8.12.0): - resolution: {integrity: sha512-muId7Zzn9ywDsyXgTIafTry2sV3nySZeUDe6YedVd1Hvuuep5AsIlqK+XefWpYTyJG5e503F2xIuT2lcU6rCSw==} + /isows@1.0.3(ws@8.13.0): + resolution: {integrity: sha512-2cKei4vlmg2cxEjm3wVSqn8pcoRF/LX/wpifuuNquFO4SQmPwarClT+SUCA2lt+l581tTeZIPIZuIDo2jWN1fg==} peerDependencies: ws: '*' dependencies: - ws: 8.12.0 + ws: 8.13.0 dev: false /jest-worker@27.5.1: @@ -4446,10 +4085,6 @@ packages: object.values: 1.1.6 dev: true - /keyvaluestorage-interface@1.0.0: - resolution: {integrity: sha512-8t6Q3TclQ4uZynJY9IGr2+SsIGwK9JHcO6ootkHCGA0CrQCRy+VkouYNO2xicET6b9al7QKzpebNow+gkpCL8g==} - dev: false - /kleur@4.1.5: resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} engines: {node: '>=6'} @@ -4511,10 +4146,6 @@ packages: resolution: {integrity: sha512-aVx8ztPv7/2ULbArGJ2Y42bG1mEQ5mGjpdvrbJcJFU3TbYybe+QlLS4pst9zV52ymy2in1KpFPiZnAOATxD4+Q==} dev: false - /lodash.isequal@4.5.0: - resolution: {integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==} - dev: false - /lodash.isplainobject@4.0.6: resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==} dev: false @@ -5146,10 +4777,6 @@ packages: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} dev: true - /multiformats@9.9.0: - resolution: {integrity: sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg==} - dev: false - /mz@2.7.0: resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} dependencies: @@ -5158,20 +4785,20 @@ packages: thenify-all: 1.6.0 dev: false - /nano-css@5.3.5(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-vSB9X12bbNu4ALBu7nigJgRViZ6ja3OU7CeuiV1zMIbXOdmkLahgtPmh3GBOlDxbKY0CitqlPdOReGlBLSp+yg==} + /nano-css@5.6.1(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-T2Mhc//CepkTa3X4pUhKgbEheJHYAxD0VptuqFhDbGMUWVV2m+lkNiW/Ieuj35wrfC8Zm0l7HvssQh7zcEttSw==} peerDependencies: react: '*' react-dom: '*' dependencies: + '@jridgewell/sourcemap-codec': 1.4.15 css-tree: 1.1.3 csstype: 3.1.2 fastest-stable-stringify: 2.0.2 - inline-style-prefixer: 6.0.4 + inline-style-prefixer: 7.0.0 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) rtl-css-js: 1.16.1 - sourcemap-codec: 1.4.8 stacktrace-js: 2.0.2 stylis: 4.3.0 dev: false @@ -5202,7 +4829,7 @@ packages: react-dom: 18.2.0(react@18.2.0) dev: false - /next-sitemap@4.0.5(@next/env@13.4.10)(next@13.5.4): + /next-sitemap@4.0.5(@next/env@13.5.4)(next@13.5.4): resolution: {integrity: sha512-kIABX4n8wJqY2sttRjivBF2r1MgQ1pg12y87qGT+5meippq0ivxaNSRldMDOj8pIGhXW6uFAsCxyH/JftqkwWQ==} engines: {node: '>=14.18'} hasBin: true @@ -5211,7 +4838,7 @@ packages: next: '*' dependencies: '@corex/deepmerge': 4.0.43 - '@next/env': 13.4.10 + '@next/env': 13.5.4 minimist: 1.2.8 next: 13.5.4(@babel/core@7.22.9)(react-dom@18.2.0)(react@18.2.0) dev: false @@ -5343,10 +4970,6 @@ packages: es-abstract: 1.22.1 dev: true - /on-exit-leak-free@0.2.0: - resolution: {integrity: sha512-dqaz3u44QbRXQooZLTUKU41ZrzYrcvLISVgbrzbyCMxpmSLJvZ3ZamIJIZ29P6OhZIkNIQKosdeM6t1LYbA9hg==} - dev: false - /once@1.4.0: resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} dependencies: @@ -5474,11 +5097,6 @@ packages: is-reference: 3.0.1 dev: false - /phone@3.1.37: - resolution: {integrity: sha512-DV7+e8TkH1SHITfzayRVa4X6hRzIOX/Ptr7S2NhoetbeaZ6Sw330UO2gtyP8+TWj+KpoCfRJn2d6cFUO2jH5jw==} - engines: {node: '>=12'} - dev: false - /picocolors@0.2.1: resolution: {integrity: sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==} dev: false @@ -5496,34 +5114,6 @@ packages: engines: {node: '>=0.10.0'} dev: false - /pino-abstract-transport@0.5.0: - resolution: {integrity: sha512-+KAgmVeqXYbTtU2FScx1XS3kNyfZ5TrXY07V96QnUSFqo2gAqlvmaxH67Lj7SWazqsMabf+58ctdTcBgnOLUOQ==} - dependencies: - duplexify: 4.1.2 - split2: 4.2.0 - dev: false - - /pino-std-serializers@4.0.0: - resolution: {integrity: sha512-cK0pekc1Kjy5w9V2/n+8MkZwusa6EyyxfeQCB799CQRhRt/CqYKiWs5adeu8Shve2ZNffvfC/7J64A2PJo1W/Q==} - dev: false - - /pino@7.11.0: - resolution: {integrity: sha512-dMACeu63HtRLmCG8VKdy4cShCPKaYDR4youZqoSWLxl5Gu99HUw8bw75thbPv9Nip+H+QYX8o3ZJbTdVZZ2TVg==} - hasBin: true - dependencies: - atomic-sleep: 1.0.0 - fast-redact: 3.2.0 - on-exit-leak-free: 0.2.0 - pino-abstract-transport: 0.5.0 - pino-std-serializers: 4.0.0 - process-warning: 1.0.0 - quick-format-unescaped: 4.0.4 - real-require: 0.1.0 - safe-stable-stringify: 2.4.3 - sonic-boom: 2.8.0 - thread-stream: 0.15.2 - dev: false - /pirates@4.0.6: resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} engines: {node: '>= 6'} @@ -5534,51 +5124,51 @@ packages: engines: {node: '>=10.13.0'} dev: false - /postcss-focus-visible@6.0.4(postcss@8.4.26): + /postcss-focus-visible@6.0.4(postcss@8.4.31): resolution: {integrity: sha512-QcKuUU/dgNsstIK6HELFRT5Y3lbrMLEOwG+A4s5cA+fx3A3y/JTq3X9LaOj3OC3ALH0XqyrgQIgey/MIZ8Wczw==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.4 dependencies: - postcss: 8.4.26 + postcss: 8.4.31 postcss-selector-parser: 6.0.13 dev: false - /postcss-import@14.1.0(postcss@8.4.26): + /postcss-import@14.1.0(postcss@8.4.31): resolution: {integrity: sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==} engines: {node: '>=10.0.0'} peerDependencies: postcss: ^8.0.0 dependencies: - postcss: 8.4.26 + postcss: 8.4.31 postcss-value-parser: 4.2.0 read-cache: 1.0.0 resolve: 1.22.2 dev: false - /postcss-import@15.1.0(postcss@8.4.26): + /postcss-import@15.1.0(postcss@8.4.31): resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} engines: {node: '>=14.0.0'} peerDependencies: postcss: ^8.0.0 dependencies: - postcss: 8.4.26 + postcss: 8.4.31 postcss-value-parser: 4.2.0 read-cache: 1.0.0 resolve: 1.22.2 dev: false - /postcss-js@4.0.1(postcss@8.4.26): + /postcss-js@4.0.1(postcss@8.4.31): resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==} engines: {node: ^12 || ^14 || >= 16} peerDependencies: postcss: ^8.4.21 dependencies: camelcase-css: 2.0.1 - postcss: 8.4.26 + postcss: 8.4.31 dev: false - /postcss-load-config@3.1.4(postcss@8.4.26)(ts-node@10.9.1): + /postcss-load-config@3.1.4(postcss@8.4.31)(ts-node@10.9.1): resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==} engines: {node: '>= 10'} peerDependencies: @@ -5591,29 +5181,29 @@ packages: optional: true dependencies: lilconfig: 2.1.0 - postcss: 8.4.26 + postcss: 8.4.31 ts-node: 10.9.1(@types/node@18.15.3)(typescript@4.9.5) yaml: 1.10.2 dev: false - /postcss-nested@6.0.0(postcss@8.4.26): + /postcss-nested@6.0.0(postcss@8.4.31): resolution: {integrity: sha512-0DkamqrPcmkBDsLn+vQDIrtkSbNkv5AD/M322ySo9kqFkCIYklym2xEmWkwo+Y3/qZo34tzEPNUw4y7yMCdv5w==} engines: {node: '>=12.0'} peerDependencies: postcss: ^8.2.14 dependencies: - postcss: 8.4.26 + postcss: 8.4.31 postcss-selector-parser: 6.0.13 dev: false - /postcss-nesting@11.2.2(postcss@8.4.26): + /postcss-nesting@11.2.2(postcss@8.4.31): resolution: {integrity: sha512-aOTiUniAB1bcPE6GGiynWRa6PZFPhOTAm5q3q5cem6QeSijIHHkWr6gs65ukCZMXeak8yXeZVbBJET3VM+HlhA==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss: ^8.4 dependencies: '@csstools/selector-specificity': 2.2.0(postcss-selector-parser@6.0.13) - postcss: 8.4.26 + postcss: 8.4.31 postcss-selector-parser: 6.0.13 dev: false @@ -5652,15 +5242,6 @@ packages: source-map: 0.6.1 dev: false - /postcss@8.4.26: - resolution: {integrity: sha512-jrXHFF8iTloAenySjM/ob3gSj7pCu0Ji49hnjqzsgSRa50hkWCKD0HQ+gMNJkW38jBI68MpAAg7ZWwHwX8NMMw==} - engines: {node: ^10 || ^12 || >=14} - dependencies: - nanoid: 3.3.6 - picocolors: 1.0.0 - source-map-js: 1.0.2 - dev: false - /postcss@8.4.31: resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==} engines: {node: ^10 || ^12 || >=14} @@ -5708,10 +5289,6 @@ packages: hasBin: true dev: true - /process-warning@1.0.0: - resolution: {integrity: sha512-du4wfLyj4yCZq1VupnVSZmRsPJsNuxoDQFdCFHLaYiEbFBD7QE0a+I4D7hOxrVnh78QE/YipFAj9lXHiXocV+Q==} - dev: false - /prop-types@15.8.1: resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} dependencies: @@ -5727,16 +5304,6 @@ packages: resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} engines: {node: '>=6'} - /qr-code-styling-new@1.6.1: - resolution: {integrity: sha512-SBhtLz2XzqMRrcWXc8RFcay0jI/bgUNyXe2upFvQWfDLcg/PKwtrBgCoov637uOnjSYkjglW4EcBdwLW3WsF3A==} - dependencies: - qrcode-generator: 1.4.4 - dev: false - - /qrcode-generator@1.4.4: - resolution: {integrity: sha512-HM7yY8O2ilqhmULxGMpcHSF1EhJJ9yBj8gvDEuZ6M+KGJ0YY2hKpnXvRD+hZPLrDVck3ExIGhmPtSdcjC+guuw==} - dev: false - /qrcode@1.5.3: resolution: {integrity: sha512-puyri6ApkEHYiVl4CFzo1tDkAZ+ATcnbJrJ6RiBM1Fhctdn/ix9MTE3hRph33omisEbC/2fcfemsseiKgBPKZg==} engines: {node: '>=10.13.0'} @@ -5748,23 +5315,9 @@ packages: yargs: 15.4.1 dev: false - /query-string@7.1.3: - resolution: {integrity: sha512-hh2WYhq4fi8+b+/2Kg9CEge4fDPvHS534aOOvOZeQ3+Vf2mCFsaFBYj0i+iXcAq6I9Vzp5fjMFBlONvayDC1qg==} - engines: {node: '>=6'} - dependencies: - decode-uri-component: 0.2.2 - filter-obj: 1.1.0 - split-on-first: 1.1.0 - strict-uri-encode: 2.0.0 - dev: false - /queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} - /quick-format-unescaped@4.0.4: - resolution: {integrity: sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==} - dev: false - /quick-lru@5.1.1: resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} engines: {node: '>=10'} @@ -5776,26 +5329,6 @@ packages: safe-buffer: 5.2.1 dev: false - /react-countdown@2.3.5(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-K26ENYEesMfPxhRRtm1r+Pf70SErrvW3g4CArLi/x6MPFjgfDFYePT4UghEj8p2nI0cqVV7/JjDgjyr//U60Og==} - peerDependencies: - react: '>= 15' - react-dom: '>= 15' - dependencies: - prop-types: 15.8.1 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: false - - /react-country-flag@3.1.0(react@18.2.0): - resolution: {integrity: sha512-JWQFw1efdv9sTC+TGQvTKXQg1NKbDU2mBiAiRWcKM9F1sK+/zjhP2yGmm8YDddWyZdXVkR8Md47rPMJmo4YO5g==} - engines: {node: '>=12'} - peerDependencies: - react: '>=16' - dependencies: - react: 18.2.0 - dev: false - /react-countup@6.4.2(@babel/core@7.22.9)(react@18.2.0): resolution: {integrity: sha512-wdDrNb2lPFGbLb+i0FTgswPbWziubS6KZRII8NRpXmUCoZsi15PFbIHgBz60Dyxd4KPuRvwsK5aawIU4OPP3jA==} peerDependencies: @@ -5820,18 +5353,6 @@ packages: scheduler: 0.23.0 dev: false - /react-frame-component@5.2.6(prop-types@15.8.1)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-CwkEM5VSt6nFwZ1Op8hi3JB5rPseZlmnp5CGiismVTauE6S4Jsc4TNMlT0O7Cts4WgIC3ZBAQ2p1Mm9XgLbj+w==} - peerDependencies: - prop-types: ^15.5.9 - react: '>= 16.3' - react-dom: '>= 16.3' - dependencies: - prop-types: 15.8.1 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: false - /react-hook-form@7.43.9(react@18.2.0): resolution: {integrity: sha512-AUDN3Pz2NSeoxQ7Hs6OhQhDr6gtF9YRuutGDwPQqhSUAHJSgGl2VeY3qN19MG0SucpjgDiuMJ4iC5T5uB+eaNQ==} engines: {node: '>=12.22.0'} @@ -5932,7 +5453,7 @@ packages: fast-deep-equal: 3.1.3 fast-shallow-equal: 1.0.0 js-cookie: 2.2.1 - nano-css: 5.3.5(react-dom@18.2.0)(react@18.2.0) + nano-css: 5.6.1(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) react-universal-interface: 0.6.2(react@18.2.0)(tslib@2.6.0) @@ -5957,15 +5478,6 @@ packages: pify: 2.3.0 dev: false - /readable-stream@3.6.2: - resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} - engines: {node: '>= 6'} - dependencies: - inherits: 2.0.4 - string_decoder: 1.3.0 - util-deprecate: 1.0.2 - dev: false - /readdirp@3.6.0: resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} engines: {node: '>=8.10.0'} @@ -5973,11 +5485,6 @@ packages: picomatch: 2.3.1 dev: false - /real-require@0.1.0: - resolution: {integrity: sha512-r/H9MzAWtrv8aSVjPCMFpDMl5q66GqtmmRkRjpHTsp4zBAa+snZyiQNlMONiUmEJcsnaw0wCauJ2GWODr/aFkg==} - engines: {node: '>= 12.13.0'} - dev: false - /recma-nextjs-static-props@1.0.0: resolution: {integrity: sha512-szo+rOZFU6mR0YWZi3e3dSqcEQU+E0f7GIyfMfntHeJccH1s9ODP0HWUeK7No0lcY1smRCcC43JrpoekzuX4Aw==} engines: {node: '>=14.0.0'} @@ -6153,10 +5660,6 @@ packages: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} dev: false - /safe-json-utils@1.1.1: - resolution: {integrity: sha512-SAJWGKDs50tAbiDXLf89PDwt9XYkWyANFWVzn4dTXl5QyI8t2o/bW5/OJl3lvc2WVU4MEpTo9Yz5NVFNsp+OJQ==} - dev: false - /safe-regex-test@1.0.0: resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==} dependencies: @@ -6165,11 +5668,6 @@ packages: is-regex: 1.1.4 dev: true - /safe-stable-stringify@2.4.3: - resolution: {integrity: sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==} - engines: {node: '>=10'} - dev: false - /satori@0.10.1: resolution: {integrity: sha512-F4bTCkDp931tLb7+UCNPBuSQwXhikrUkI4fBQo6fA8lF0Evqqgg3nDyUpRktQpR5Ry1DIiIVqLyEwkAms87ykg==} engines: {node: '>=16'} @@ -6274,12 +5772,6 @@ packages: engines: {node: '>=8'} dev: true - /sonic-boom@2.8.0: - resolution: {integrity: sha512-kuonw1YOYYNOve5iHdSahXPOK49GqwA+LZhI6Wz/l0rP57iKyXXIHaRagOBHAPmGwJC6od2Z9zgvZ5loSgMlVg==} - dependencies: - atomic-sleep: 1.0.0 - dev: false - /source-map-js@1.0.2: resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} engines: {node: '>=0.10.0'} @@ -6307,25 +5799,10 @@ packages: engines: {node: '>= 8'} dev: false - /sourcemap-codec@1.4.8: - resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} - deprecated: Please use @jridgewell/sourcemap-codec instead - dev: false - /space-separated-tokens@2.0.2: resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} dev: false - /split-on-first@1.1.0: - resolution: {integrity: sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==} - engines: {node: '>=6'} - dev: false - - /split2@4.2.0: - resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} - engines: {node: '>= 10.x'} - dev: false - /stack-generator@2.0.10: resolution: {integrity: sha512-mwnua/hkqM6pF4k8SnmZ2zfETsRUpWXREfA/goT8SLCV4iOFa4bzOX2nDipWAZFPTjLvQB82f5yaodMVhK0yJQ==} dependencies: @@ -6351,20 +5828,11 @@ packages: stacktrace-gps: 3.1.2 dev: false - /stream-shift@1.0.1: - resolution: {integrity: sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==} - dev: false - /streamsearch@1.1.0: resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} engines: {node: '>=10.0.0'} dev: false - /strict-uri-encode@2.0.0: - resolution: {integrity: sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ==} - engines: {node: '>=4'} - dev: false - /string-width@4.2.3: resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} engines: {node: '>=8'} @@ -6416,12 +5884,6 @@ packages: es-abstract: 1.22.1 dev: true - /string_decoder@1.3.0: - resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} - dependencies: - safe-buffer: 5.2.1 - dev: false - /stringify-entities@4.0.3: resolution: {integrity: sha512-BP9nNHMhhfcMbiuQKCqMjhDP5yBCAxsPu4pHFFzJ6Alo9dZgY4VLDPutXqIjpRiMoKdp7Av85Gr73Q5uH9k7+g==} dependencies: @@ -6520,7 +5982,7 @@ packages: use-sync-external-store: 1.2.0(react@18.2.0) dev: false - /tailwindcss@3.3.1(postcss@8.4.26)(ts-node@10.9.1): + /tailwindcss@3.3.1(postcss@8.4.31)(ts-node@10.9.1): resolution: {integrity: sha512-Vkiouc41d4CEq0ujXl6oiGFQ7bA3WEhUZdTgXAhtKxSy49OmKs8rEfQmupsfF0IGW8fv2iQkp1EVUuapCFrZ9g==} engines: {node: '>=12.13.0'} hasBin: true @@ -6541,11 +6003,11 @@ packages: normalize-path: 3.0.0 object-hash: 3.0.0 picocolors: 1.0.0 - postcss: 8.4.26 - postcss-import: 14.1.0(postcss@8.4.26) - postcss-js: 4.0.1(postcss@8.4.26) - postcss-load-config: 3.1.4(postcss@8.4.26)(ts-node@10.9.1) - postcss-nested: 6.0.0(postcss@8.4.26) + postcss: 8.4.31 + postcss-import: 14.1.0(postcss@8.4.31) + postcss-js: 4.0.1(postcss@8.4.31) + postcss-load-config: 3.1.4(postcss@8.4.31)(ts-node@10.9.1) + postcss-nested: 6.0.0(postcss@8.4.31) postcss-selector-parser: 6.0.13 postcss-value-parser: 4.2.0 quick-lru: 5.1.1 @@ -6612,12 +6074,6 @@ packages: any-promise: 1.3.0 dev: false - /thread-stream@0.15.2: - resolution: {integrity: sha512-UkEhKIg2pD+fjkHQKyJO3yoIvAP3N6RlNFt2dUhcS1FGvCD1cQa1M/PGknCLFIyZdtJOWQjejp7bdNqmN7zwdA==} - dependencies: - real-require: 0.1.0 - dev: false - /throttle-debounce@2.3.0: resolution: {integrity: sha512-H7oLPV0P7+jgvrk+6mwwwBDmxTaxnu9HMXmloNLXwnNO0ZxZ31Orah2n8lU1eMPvsaowP2CX+USCgyovXfdOFQ==} engines: {node: '>=8'} @@ -6703,6 +6159,7 @@ packages: /tslib@1.14.1: resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} + dev: true /tslib@2.4.0: resolution: {integrity: sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==} @@ -6783,12 +6240,6 @@ packages: engines: {node: '>=4.2.0'} hasBin: true - /uint8arrays@3.1.1: - resolution: {integrity: sha512-+QJa8QRnbdXVpHYjLoTpJIdCTiw9Ir62nocClWuXIq2JIh4Uta0cQsTSpFL678p2CN8B+XSApwcU+pQEqVpKWg==} - dependencies: - multiformats: 9.9.0 - dev: false - /unbox-primitive@1.0.2: resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} dependencies: @@ -6963,21 +6414,25 @@ packages: vfile-message: 3.1.4 dev: false - /viem@0.3.50(typescript@4.9.5): - resolution: {integrity: sha512-s+LxCYZTR9F/qPk1/n1YDVAX9vSeVz7GraqBZWGrDuenCJxo9ArCoIceJ6ksI0WwSeNzcZ0VVbD/kWRzTxkipw==} + /viem@1.19.13(typescript@4.9.5): + resolution: {integrity: sha512-DizIwJAecLedI+nq6c5LIqCLAnYXUhQX5BnH6o1H2ln6isPyJVf+v4H1IfMlRHgR5KRlC+wGI/mCjarr3tW6eg==} + peerDependencies: + typescript: '>=5.0.4' + peerDependenciesMeta: + typescript: + optional: true dependencies: - '@adraffy/ens-normalize': 1.9.0 - '@noble/curves': 1.0.0 - '@noble/hashes': 1.3.0 - '@scure/bip32': 1.3.0 - '@scure/bip39': 1.2.0 - '@wagmi/chains': 1.0.0(typescript@4.9.5) - abitype: 0.8.7(typescript@4.9.5) - isomorphic-ws: 5.0.0(ws@8.12.0) - ws: 8.12.0 + '@adraffy/ens-normalize': 1.10.0 + '@noble/curves': 1.2.0 + '@noble/hashes': 1.3.2 + '@scure/bip32': 1.3.2 + '@scure/bip39': 1.2.1 + abitype: 0.9.8(typescript@4.9.5) + isows: 1.0.3(ws@8.13.0) + typescript: 4.9.5 + ws: 8.13.0 transitivePeerDependencies: - bufferutil - - typescript - utf-8-validate - zod dev: false @@ -7116,21 +6571,8 @@ packages: typedarray-to-buffer: 3.1.5 dev: true - /ws@7.5.9: - resolution: {integrity: sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==} - engines: {node: '>=8.3.0'} - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: ^5.0.2 - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - dev: false - - /ws@8.12.0: - resolution: {integrity: sha512-kU62emKIdKVeEIOIKVegvqpXMSTAMLJozpHZaJNDYqBjzlSYXQGviYwN1osDLJ9av68qHd4a2oSjd7yD4pacig==} + /ws@8.13.0: + resolution: {integrity: sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==} engines: {node: '>=10.0.0'} peerDependencies: bufferutil: ^4.0.1 @@ -7218,18 +6660,22 @@ packages: use-sync-external-store: 1.2.0(react@18.2.0) dev: false - /zustand@4.3.9(react@18.2.0): - resolution: {integrity: sha512-Tat5r8jOMG1Vcsj8uldMyqYKC5IZvQif8zetmLHs9WoZlntTHmIoNM8TpLRY31ExncuUvUOXehd0kvahkuHjDw==} + /zustand@4.4.7(@types/react@18.0.28)(react@18.2.0): + resolution: {integrity: sha512-QFJWJMdlETcI69paJwhSMJz7PPWjVP8Sjhclxmxmxv/RYI7ZOvR5BHX+ktH0we9gTWQMxcne8q1OY8xxz604gw==} engines: {node: '>=12.7.0'} peerDependencies: + '@types/react': '>=16.8' immer: '>=9.0' react: '>=16.8' peerDependenciesMeta: + '@types/react': + optional: true immer: optional: true react: optional: true dependencies: + '@types/react': 18.0.28 react: 18.2.0 use-sync-external-store: 1.2.0(react@18.2.0) dev: false diff --git a/src/components/Navigation.tsx b/src/components/Navigation.tsx index 92c49404..bd8e6773 100644 --- a/src/components/Navigation.tsx +++ b/src/components/Navigation.tsx @@ -176,12 +176,13 @@ export const navigation = [ { title: 'World ID', links: [ + { title: 'Verify with World ID', href: '/id/verify-with-world-id' }, { title: 'Sign in with World ID', href: '/id/sign-in' }, { title: 'Incognito Actions', href: '/id/incognito-actions' }, { title: 'Intro to IDKit', href: '/id/idkit' }, { title: 'Cloud Verification', href: '/id/cloud' }, { title: 'On-Chain Verification', href: '/id/on-chain' }, - { title: 'World ID Lite', href: '/id/world-id-lite' }, + { title: 'Verification Levels', href: '/id/verification-levels' }, ], }, { @@ -199,7 +200,6 @@ export const navigation = [ { title: 'Further Reading', links: [ - { title: 'Proof of Personhood', href: '/proof-of-personhood' }, { title: 'OIDC Explainer', href: '/further-reading/oidc' }, { title: 'Protocol Internals', href: '/further-reading/protocol-internals' }, { title: 'Zero-Knowledge Proofs', href: '/further-reading/zero-knowledge-proofs' }, diff --git a/src/pages/further-reading/protocol-internals.mdx b/src/pages/further-reading/protocol-internals.mdx index 1a047950..85210bc4 100644 --- a/src/pages/further-reading/protocol-internals.mdx +++ b/src/pages/further-reading/protocol-internals.mdx @@ -29,7 +29,7 @@ The Wallet Bridge acts as the intermediary between IDKit and the user's World ID ![Wallet Bridge Diagram](/images/docs/world-id-bridge.png) - All requests to the Wallet Bridge must include a `Content-Type: application/json` header and a valid JSON body. + All requests to the Wallet Bridge must include a `Content-Type: application/json` header, a `User-Agent` header, and a valid JSON body. 1. IDKit initiates the proof request session on the Wallet Bridge. - An app configures and opens IDKit with the required parameters `app_id` and `action`, and the optional parameters `signal`, `credential_types`, and `action_description`. @@ -147,9 +147,11 @@ Within the ID token returned by the World ID provider, a minimal number of [OIDC - `exp`: The timestamp of the token's expiration - `alg`: The algorithm used to sign the ID token, only RS256 is supported - `scope`: The scopes requested by the application. Must always contain `openid`. The `profile` and `email` scopes are also supported for compatibility, but use should be avoided. -- `https://worldcoin.org/beta`: Describes claims specific to World ID. **Subject to change** +- `https://worldcoin.org/beta`: Describes claims specific to World ID. **Deprecated and replaced by `https://id.worldcoin.org/v1`**. - `likely_human`: "strong" or "weak", corresponding to whether the user has strong sybil protection or likelihood of being human. Biometrically verified users have a `strong` value. - - `credential_type`: `orb` or `device`, represents the credential the user to authenticate. In general, for Sign in with World ID, the highest credential available to the user will be used. + - `credential_type`: `orb` or `device`, represents the credential the user used to authenticate. In general, for Sign in with World ID, the highest credential available to the user will be used. +- `https://worldcoin.org/v1`: Describes claims specific to World ID. + - `verification_level`: `orb` or `device`, represents the verification level of the user. In general, for Sign in with World ID, the highest verification level available to the user will be used. ## Signup Sequencer diff --git a/src/pages/id/cloud.mdx b/src/pages/id/cloud.mdx index 2b477198..a26242ba 100644 --- a/src/pages/id/cloud.mdx +++ b/src/pages/id/cloud.mdx @@ -6,7 +6,7 @@ This section describes how to verify proofs via the **Developer Portal API**. You must first pass the proof to your backend when verifying proofs via the API. The user can manipulate information in the frontend, so you the proof must be verified in a trusted environment. -Our backend should receive the `proof`, `merkle_root`, `nullifier_hash`, and `credential_type` from IDKit, as well as the same `action` and `signal` as were input into IDKit, and send it to the **Developer Portal API** for verification. +Our backend should receive the `proof`, `merkle_root`, `nullifier_hash`, and `verification_level` from IDKit, as well as the same `action` and `signal` as were input into IDKit, and send it to the **Developer Portal API** for verification. The **Developer Portal API** will return a `200` response if the proof is valid, and a `400` response with extra error detail if the proof is invalid. We then pass the success or error messages back to our frontend after performing our own backend actions. @@ -21,7 +21,7 @@ export default function handler(req: NextApiRequest, res: NextApiResponse { For more information on configuration, see the [IDKit](/reference/idkit) and [Cloud API](/api/reference) reference pages. - - -{/* Verify your action by sending the zero knowledge proof to the **Developer Portal API**. Please check the [API reference](/api/reference#verify) for details on anticipated error responses. - - - - -```json {{ title: "Request" }} -{ - "action": "vote_1", - "signal": "user_value", - "credential_type": "orb", - "merkle_root": "0x1f38b57f3bdf96f05ea62fa68814871bf0ca8ce4dbe073d8497d5a6b0a53e5e0", - "nullifier_hash": "0x0339861e70a9bdb6b01a88c7534a3332db915d3d06511b79a5724221a6958fbe", - "proof": "0x063942fd7ea1616f17787d2e3374c1826ebcd2d41d2394d915098c73482fa59516145cee11d59158b4012a463f487725cb3331bf90a0472e17385832eeaec7a713164055fc43cc0f873d76752de0e35cc653346ec42232649d40f5b8ded28f202793c4e8d096493dc34b02ce4252785df207c2b76673924502ab56b7e844baf621025148173fc74682213753493e8c90e5c224fc43786fcd09b624115bee824618e57bd28caa301f6b21606e7dce789090de053e641bce2ce0999b64cdfdfb0a0734413914c21e4e858bf38085310d47cd4cc6570ed634faa2246728ad64c49f1f720a39530d82e1fae1532bd7ad389978b6f337fcd6fa6381869637596e63a1" -} -``` */} - -{/* cSpell:enable */} - -{/* ```json {{ title: 'Response' }} -{ - "success": true, - "nullifier_hash": "0x2bf8406809dcefb1486dadc96c0a897db9bab002053054cf64272db512c6fbd8", - "action": "vote_1", - "created_at": "2023-01-01T12:12:12.000Z" -} -``` - - -7. The user is a unique human! Execute your action on your backend (e.g. claim the user promotion). */} \ No newline at end of file + \ No newline at end of file diff --git a/src/pages/id/idkit.mdx b/src/pages/id/idkit.mdx index 55881d9b..d41ae274 100644 --- a/src/pages/id/idkit.mdx +++ b/src/pages/id/idkit.mdx @@ -45,12 +45,13 @@ Import and render IDKit. You'll want to do this on the screen where the user exe ```tsx import { IDKitWidget } from '@worldcoin/idkit' + {({ open }) => } @@ -94,7 +95,7 @@ Upon successful completion of the World ID flow, you will receive a response obj "merkle_root": "0x1f38b57f3bdf96f05ea62fa68814871bf0ca8ce4dbe073d8497d5a6b0a53e5e0", "nullifier_hash": "0x0339861e70a9bdb6b01a88c7534a3332db915d3d06511b79a5724221a6958fbe", "proof": "0x063942fd7ea1616f17787d2e3374c1826ebcd2d41d2394...", - "credential_type": "orb" + "verification_level": "orb" } ``` @@ -109,8 +110,8 @@ Upon successful completion of the World ID flow, you will receive a response obj The Zero-knowledge proof of the verification. ABI encoded. - - Either `orb` or `device`. Will always return the strongest credential with which a user has been verified. + + Either `orb` or `device`. Returns the verification_level used to generate the proof. diff --git a/src/pages/id/on-chain.mdx b/src/pages/id/on-chain.mdx index db055243..681ab063 100644 --- a/src/pages/id/on-chain.mdx +++ b/src/pages/id/on-chain.mdx @@ -17,7 +17,7 @@ This setup is recommended for most users, as it is the most gas-efficient. For m ## IDKit Configuration -When verifying proofs on-chain, there are a few changes you have to make to your IDKit configuration. You must ensure that the app created in the Developer Portal is configured as an on-chain app, and you should only accept Orb credentials in IDKit, as World ID Lite is not currently supported on-chain. +When verifying proofs on-chain, there are a few changes you have to make to your IDKit configuration. You must ensure that the app created in the Developer Portal is configured as an on-chain app, and you should only accept Orb credentials in IDKit, as World ID Device is not currently supported on-chain. ```tsx import { IDKitWidget } from '@worldcoin/idkit' @@ -30,7 +30,7 @@ const { address } = useAddress() // get the user's wallet address signal={address} // proof will only verify if the signal is unchanged, this prevents tampering onSuccess={onSuccess} // use onSuccess to call your smart contract // no use for handleVerify, so it is removed - // use default credential_types (orb-only), as device credentials are not supported on-chain + // use default verification_level (orb-only), as device credentials are not supported on-chain > {({ open }) => } @@ -73,7 +73,7 @@ contract HelloWorld { The `externalNullifier` is the unique identifier of the action performed in Semaphore, and its keccak256 hash (named `externalNullifierHash`) is what is passed to the World ID Router contract. It is a combination of the app ID and the action. You should typically set it in the constructor to save gas (as is done in this example), as it will not change if all users are performing the same action. -We additionally set the `groupId` to `1`, which limits this example to Orb-verified users only. World ID Lite is currently not supported on-chain. +We additionally set the `groupId` to `1`, which limits this example to Orb-verified users only. World ID Device is currently not supported on-chain. ```solidity /// @dev This allows us to use our hashToField function on bytes @@ -123,7 +123,7 @@ The `verifyProof` method reverts if the proof is invalid, meaning you can just c The `verifyProof` method takes the arguments below. - `root` - The World ID root to verify against. This is obtained from the IDKit widget, and should be passed as-is. -- `groupId` - This must be `1` for Orb-verified users. World ID Lite is currently not supported on-chain. +- `groupId` - This must be `1` for Orb-verified users. World ID Device is currently not supported on-chain. - `signalHash` - The keccak256 hash of the signal to verify. - `nullifierHash` - Anonymous user ID for this action. This is obtained from the IDKit widget, and should just be passed as-is. - `externalNullifierHash` - The externalNullifierHash, which identifies which app and action the user is verifying for. diff --git a/src/pages/id/sign-in.mdx b/src/pages/id/sign-in.mdx index c0c34c77..78f0fe15 100644 --- a/src/pages/id/sign-in.mdx +++ b/src/pages/id/sign-in.mdx @@ -74,15 +74,20 @@ World ID can be used as an authentication mechanism. Some helpful resources for ## Mapping User Info +The `https://id.worldcoin.org/beta` claim has been deprecated and replaced by `https://id.worldcoin.org/v1`. + The `/userinfo` endpoint or `id_token` JWT returns a JSON object with the following fields: ```json {{ title: "Response" }} { "sub": "0x2ae86d6d747702b3b2c81811cd2b39875e8fa6b780ee4a207bdc203a7860b535", - "https://id.worldcoin.org/beta": { + "https://id.worldcoin.org/beta": { // deprecated, will be removed in the future "likely_human": "strong", "credential_type": "orb" }, + "https://id.worldcoin.org/v1": { + "verification_level": "orb", // "orb" or "device" + }, // if `email` scope is included: "email": "0x2ae86d6d747702b3b2c81811cd2b39875e8fa6b780ee4a207bdc203a7860b535@id.worldcoin.org", // if `profile` scope is included: @@ -99,4 +104,4 @@ The `/userinfo` endpoint or `id_token` JWT returns a JSON object with the follow The `sub` field is the user's nullifier hash -- their unique identifier in the context of your app. A user's nullifier hash will be different for each app they use. -You can information about a user's World ID Credentials in the `https://id.worldcoin.org/beta` object. Use the `credential_type` field to determine whether the user has been Orb-verified or not. +You can information about a user's World ID Credentials in the `https://id.worldcoin.org/v1` object. Use the `verification_level` field to determine whether the user has been Orb-verified or not. diff --git a/src/pages/id/verification-levels.mdx b/src/pages/id/verification-levels.mdx new file mode 100644 index 00000000..3f736823 --- /dev/null +++ b/src/pages/id/verification-levels.mdx @@ -0,0 +1,57 @@ +import { Tag } from '@/components/Tag' +import { Link } from '@/components/Link' + +# Verification Levels + +The World ID Protocol supports multiple levels of verification, each with a different level of assurance that the user is a unique human. + +## Available Verification Levels + +This list will continue to grow as more verification levels are supported for proof of personhood in the World ID Protocol. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Verification LevelDescriptionHumanness LevelAvailability
DeviceUnique device check.MediumCLOUD
OrbBiometric verification, uniqueness through iris (details).StrongON-CHAINCLOUD
Orb+Verify that the same person who visited the Orb is performing a specific action.Very StrongCOMING SOON
+ +### World ID Orb + +World ID Orb is the strongest verification level currently available in World ID. It's a biometric verification that relies on the user visiting a World ID Orb, which verifies that the user is a unique human while preserving their privacy. + +### World ID Device + +World ID Device relies on the user's identity wallet, such as World App, to verify a user's unique device. This is more scalable, user friendly, and privacy-preserving than the previous `phone` credential, which was issued when a user verified their phone number in World App. + +## When to use World ID Device vs. Orb + +World ID Device offers an assurance that's convenient for a user to obtain, but it also provides a weaker level of resistance to Sybil attacks than World ID's Orb credential. It's best used for applications that only require a moderate level of sybil resistance or have a significant user base in regions where the Orb is not available. + +We recommend requiring World ID Orb in instances where users are given a financial incentive, such as a signup bonus or airdrop. For other situations, such as a social media app, it may be sufficient to only require World ID Device. An application can always react according to the verification level used, e.g. when an Orb-verified user performs an action that requires World ID Device. + +Read about configuring IDKit for World ID Device in the [IDKit Reference](/reference/idkit/). diff --git a/src/pages/id/verify-with-world-id.mdx b/src/pages/id/verify-with-world-id.mdx new file mode 100644 index 00000000..1f4aa56d --- /dev/null +++ b/src/pages/id/verify-with-world-id.mdx @@ -0,0 +1,20 @@ +# Verify with World ID + +"Verify with World ID" is the recommended flow for your World ID integration, providing the most flexibility and the least amount of friction for your users. + +Users should first create an account with your service, and then verify that account with World ID. This allows for existing users to seamlessly upgrade their account by verifying, and for new users to create an account and verify all at once. + +## Integration + +"Verify with World ID" can be implemented either with [Sign In with World ID](/id/sign-in) or [Incognito Actions](/id/incognito-actions). The user flow is the same for both, but the implementation is slightly different. + +### When to use Sign In with World ID +You should use **Sign In with World ID** if you already allow users to sign in with other identity providers and link multiple accounts together. For example, if a user can sign in to a single account with either an email and password or a Google account, you should use Sign In with World ID. +The user should be able to add Sign In with World ID as a new login method to their existing account, or first create an account with Sign In with World ID and then link other sign in methods to that same account. + +Applications using Auth0 for managing sign in can easily add Sign In with World ID as a new login method. See [Auth0's documentation on User Account Linking](https://auth0.com/docs/manage-users/user-accounts/user-account-linking) and our [Auth0 Integration](https://worldcoin.org/auth0) for more details. + +### When to use Incognito Actions +You should use **Incognito Actions** if you do not want to allow users to sign in using their World ID. In this case, you should use Incognito Actions to verify the user's existing account from a setting menu or prompt them for verification when they first sign in. + +Incognito Actions are very flexible and can be used to verify for multiple one-time actions. Read our [Incognito Actions documentation](/id/incognito-actions) for more details. \ No newline at end of file diff --git a/src/pages/id/world-id-lite.mdx b/src/pages/id/world-id-lite.mdx deleted file mode 100644 index 4f05811d..00000000 --- a/src/pages/id/world-id-lite.mdx +++ /dev/null @@ -1,43 +0,0 @@ -import { Tag } from '@/components/Tag' - -# World ID Lite - -World ID Lite is replacing the previous `phone` credential in World ID. World ID Lite relies on the user's identity wallet, such as World App, to verify a user's unique device. - -The premise of World ID Lite is users having a unique mobile device. This is more scalable, user friendly, and privacy-preserving than the previous `phone` credential, which was issued when a user verified their phone number in World App. - -## When to use World ID Lite vs. World ID Orb - -World ID Lite offers an assurance that's convenient for a user to obtain, but it also provides a weaker level of resistance to Sybil attacks than World ID's Orb credential. It's best used for applications that only require a moderate level of sybil resistance or have a significant user base in regions where the Orb is not available. - -For example, a gaming application that wants to prevent many bot accounts from being created would be a great use case for World ID Lite. However, an undercollateralized lending application would likely want to use World ID's Orb credential, as it provides a strong level of Sybil resistance. - - - - - - - - - - - - - - - - - - - - - - - - - - - -
CredentialSybil-ResistanceProof-of-PersonhoodCredential AcquisitionAvailability
OrbStrongStrongIn-person Orb VerificationON-CHAIN CLOUD
World ID LiteMediumWeakAutomatic IssuanceCLOUD
- -Read about configuring IDKit for World ID Lite in the [IDKit Reference](/reference/idkit/). \ No newline at end of file diff --git a/src/pages/proof-of-personhood.mdx b/src/pages/proof-of-personhood.mdx deleted file mode 100644 index 8ea4afeb..00000000 --- a/src/pages/proof-of-personhood.mdx +++ /dev/null @@ -1,66 +0,0 @@ -import { Tag } from '@/components/Tag' -import { Link } from '@/components/Link' - -# Proof of Personhood - -> Proof of personhood allows someone to digitally prove they are a unique human. - -Building a global, scalable and inclusive proof of personhood system is at the core of World ID. Whenever World ID is used, whether through [Sign in with World ID](/id/sign-in) or [Incognito Actions](/id/incognito-actions), the verifier app can additionally request information from the user related to their proof of personhood. The user can then choose to share that information. - -**Maximum privacy**. Given that proof of personhood is about just proving someone is human, and not who they are, proof of personhood is handled with the highest privacy standard. Users share their proof of personhood **anonymously**. Each credential is issued in an independent set, with no other information attached (more on [The Protocol](/world-id/protocol)). - -**Multiple credentials**. Proof of personhood is not a binary yes or no in the digital world, but rather a **spectrum**. Multiple signals can contribute to determine where a potential user falls on the spectrum. In the World ID Protocol, the strongest credential a user holds will be used to generate the proof of personhood. The choice of credentials is a trade-off that apps and users must decide on. Weaker credentials will generally be easier for users to obtain but more easily spoofed or sybil attacked. - - - ![Proof of Personhood Credentials Spectrum](/images/docs/id/proof-of-personhood-credentials.svg) - - -### Credential Selection - - - The choice of which credentials to accept is up to the app (easily configured in - [IDKit](/reference/idkit#parameters)). - Sign in with World ID will always accept all credentials. - - -By default, IDKit is configured to accept only Orb credentials. This is the strongest credential and is the only one that is verifiable on-chain. - -For Cloud apps, there is more flexibility for credential selection -- IDKit can be configured to accept any combination of credentials. Accepted credentials should be configured based on how strongly the app needs to verify that a user is a unique human. - -We recommend requiring Orb verification in instances where users are given a financial incentive, such as a signup bonus or airdrop. For other situations, such as a social media app, it may be sufficient to only require a device credential. An app can always choose to support multiple credentials and react according to which credential was used. - -## Available Credentials - -This list will continue to grow as more credentials are supported for proof of personhood in the World ID Protocol. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
CredentialDescriptionHumanness LevelAvailability
OrbBiometric in-person verification, uniqueness through iris (details).StrongestON-CHAIN CLOUD
World ID LiteUnique device check.WeakCLOUD
FaceUnique and privacy-preserving face match.MediumCOMING SOON
diff --git a/src/pages/reference/api.mdx b/src/pages/reference/api.mdx index cdb789e9..41c4023d 100644 --- a/src/pages/reference/api.mdx +++ b/src/pages/reference/api.mdx @@ -8,11 +8,15 @@ The Worldcoin Developer Portal offers an API to enable easy verification of Worl https://developer.worldcoin.org ``` + + All requests to the Developer Portal API must include a `Content-Type: application/json` header, a `User-Agent` header, and a valid JSON body. + + ## Verify Proof {{ tag: "POST", label: "/api/v1/verify/{app_id}" }} -Enables you to verify a World ID proof for a **Cloud action.** To ensure [human-uniqueness](/proof-of-personhood), by default, a single person can only verify once for every action. The number of allowed verifications for a single user can be configured in the Developer Portal. +Enables you to verify a World ID proof for a **Cloud action.** To ensure sybil-resistance, by default, a single person can only verify once for every action. The number of allowed verifications for a single user can be configured in the Developer Portal. ### Request Body @@ -26,8 +30,14 @@ Enables you to verify a World ID proof for a **Cloud action.** To ensure [human- Part of the ZKP, the hash of the Merkle root that proves membership to the set of credentials. As provided by IDKit. See [IDKit response](/reference/idkit#types) for details. - - The credential type, as provided by IDKit. See [IDKit response](/reference/idkit#types) for details. + + The verification level, as provided by IDKit. See [IDKit response](/reference/idkit#types) for details. + + Not required if a `credential_type` is provided. If both are provided, `verification_level` will take precedence. + + The credential type, as provided by IDKit. See [IDKit response](/reference/idkit#types) for details. + + This parameter is deprecated and will be removed in a future release, but is still supported for versions of IDKit \ Same action identifier as passed to IDKit. @@ -53,7 +63,7 @@ curl -X POST "/api/v1/verify/{app_id}" \ "nullifier_hash": "0x2bf8406809dcefb1486dadc96c0a897db9bab002053054cf64272db512c6fbd8", "merkle_root": "0x2264a66d162d7893e12ea8e3c072c51e785bc085ad655f64c10c1a61e00f0bc2", "proof": "0x1aa8b8f3b2d2de5ff452c0e1a83e29d6bf46fb83ef35dc5957121ff3d3698a1119090fb...", - "credential_type": "orb", + "verification_level": "orb", "action": "my_action", "signal": "my_signal" }' @@ -69,7 +79,7 @@ fetch(apiUrl, { nullifier_hash: '0x2bf8406809dcefb1486dadc96c0a897db9bab002053054cf64272db512c6fbd8', merkle_root: '0x2264a66d162d7893e12ea8e3c072c51e785bc085ad655f64c10c1a61e00f0bc2', proof: '0x1aa8b8f3b2d2de5ff452c0e1a83e29d6bf46fb83ef35dc5957121ff3d3698a1119090fb...', - credential_type: 'orb', + verification_level: 'orb', action: 'my_action', signal: 'my_signal', }), diff --git a/src/pages/reference/errors.mdx b/src/pages/reference/errors.mdx index 7028f595..7051867d 100644 --- a/src/pages/reference/errors.mdx +++ b/src/pages/reference/errors.mdx @@ -4,12 +4,13 @@ This page acts as a reference for the error codes returned by IDKit, the Develop ## IDKit -These error codes are returned in the `onError` callback. +These error codes are returned in the `onError` callback. The source described if the error originates from within IDKit or the Wallet Bridge response. + @@ -17,6 +18,7 @@ These error codes are returned in the `onError` callback. + + + + + + + + + + + + + + + + + - + @@ -179,68 +197,4 @@ These error codes are returned in the `error` property of the response body. -
CodeSource Description How to fix?
`failed_by_host_app`IDKit An error was thrown in the `handleVerify` callback. Assess the error thrown in your `handleVerify` callback and resolve the issue. @@ -24,6 +26,7 @@ These error codes are returned in the `onError` callback.
`connection_failed`IDKit Could not establish a connection to World App. Ask the user to check their internet connection on both devices running your application and World App. @@ -32,41 +35,55 @@ These error codes are returned in the `onError` callback.
`verification_rejected`Wallet Bridge User rejected the World ID request in World App. If this was a mistake, ask the user to go through the flow again.
`max_verifications_reached`Wallet Bridge This person has already verified for this particular action the maximum number of times allowed. Nothing to do. User cannot verify for this action again.
`credential_unavailable`Wallet Bridge This user does not have the requested credential. The user must verify at the Orb or verify their unique device in World App to receive the credential required.
`malformed_request`Wallet Bridge The request payload couldn't be decrypted or did not conform to the standard. Ensure IDKit is configured properly and all parameters are valid. See [above](#id-kit-react) for configuration details.
`invalid_network`Wallet Bridge The application is configured for a different environment than the verifying user's client. Ensure you use the [Worldcoin Simulator](https://simulator.worldcoin.org) for Staging applications and World App for Production applications.
`inclusion_proof_failed`Wallet Bridge The sequencer returned an unexpected error when retrieving the inclusion proof. Ask the user to try again. This may be due to a temporary network issue, or a bug with World App or the Signup Sequencer.
`inclusion_proof_pending`Wallet Bridge The user might have the requested credential, but it is not available on-chain yet. It might be available for API verification. Ask the user to verify again in approximately one hour.
`metadata_failed`Wallet BridgeUnable to load metadata for the app from the Developer Portal.Ensure your `app_id` is configured correctly in IDKit and exactly matches the `app_id` from the Developer Portal.
`unexpected_response`IDKit There was a problem with the response obtained from the WLD app. Check the JS console for further details, though in most cases these will require contacting us to @@ -75,6 +92,7 @@ These error codes are returned in the `onError` callback.
`generic_error`Wallet Bridge or IDKit An unhandled exception occurred. Check the JS console for further details, though in most cases these will require contacting us to @@ -125,7 +143,7 @@ These error codes are returned in the `error` property of the response body.
`invalid_proof` The provided proof is invalid and it cannot be verified.Ensure your `app_id`, `action`, `signal`, and `credential_type` are unchanged between the proof request and proof verification.Ensure your `app_id`, `action`, `signal`, and `verification_level` are unchanged between the proof request and proof verification.
`invalid_merkle_root`
- -## Wallet Bridge - -These error codes are returned by the Wallet Bridge to IDKit in the proof response. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
CodeDescriptionHow to fix?
`verification_rejected`User rejected the World ID request in World App.If this was a mistake, ask the user to go through the flow again.
`max_verifications_reached`This person has already verified for this particular action the maximum number of times allowed.Nothing to do. User cannot verify for this action again.
`credential_unavailable`This user does not have the requested credential.The user must verify at the Orb or verify their unique device in World App to receive the credential required.
`malformed_request`The request payload couldn't be decrypted or did not conform to the standard.Ensure IDKit is configured properly and all parameters are valid. See [above](#id-kit-react) for configuration details.
`inclusion_proof_failed`The sequencer returned an unexpected error when retrieving the inclusion proof.Ask the user to try again. This may be due to a temporary network issue, or a bug with World App or the Signup Sequencer.
`inclusion_proof_pending`The user might have the requested credential, but it is not available on-chain yet. It might be available for API verification.Ask the user to verify again in approximately one hour.
`invalid_network`The application is configured for a different environment than the verifying user's client.Ensure you use the [Worldcoin Simulator](https://simulator.worldcoin.org) for Staging applications and World App for Production applications.
`metadata_failed`Unable to load metadata for the app from the Developer Portal.Ensure your `app_id` is configured correctly in IDKit and exactly matches the `app_id` from the Developer Portal.
`generic_error`An unhandled exception occurred. - Check the JS console for further details, though in most cases these will require contacting us to - report the bug. -
\ No newline at end of file diff --git a/src/pages/reference/idkit.mdx b/src/pages/reference/idkit.mdx index a4d47979..3b2418a0 100644 --- a/src/pages/reference/idkit.mdx +++ b/src/pages/reference/idkit.mdx @@ -25,7 +25,7 @@ import { IDKitWidget } from '@worldcoin/idkit' action="vote_1" // this is your action name from the Developer Portal signal="user_value" // any arbitrary value the user is committing to, e.g. a vote onSuccess={onSuccess} - credential_types={['orb', 'device']} // the credentials you want to accept + verification_level="device" // minimum verification level accepted, defaults to "orb" > {({ open }) => } @@ -56,9 +56,9 @@ The following parameters can be passed as props to the `IDKitWidget` component: Called when IDKit is closed after an error. Should receive a single parameter of type `IErrorState` which contains [the error details.](#error-handling) - - An array of credential types to allow for verification. Will accept any combination of `orb` & `device`. Defaults - to `"orb"`. **TypeScript apps can use the `CredentialType` enum.** + + The minimum verification level accepted. Can be `orb` or `device`. Defaults + to `orb`. **TypeScript apps can use the `VerificationLevel` enum.** The signal to be included in the zero-knowledge proof. Typically used for on-chain actions, read more in [the On-chain section](/id/on-chain). @@ -71,9 +71,6 @@ The following parameters can be passed as props to the `IDKitWidget` component: The description of the specific action (shown to users in World App). **Only used for Dynamic Actions.** - - The theme to apply to the widget's UI. Defaults to `"light"`. - Whether to automatically close the widget after completion. Defaults to `true`. @@ -120,8 +117,13 @@ return ( The Zero-knowledge proof of the verification. ABI encoded. - + + Either `orb` or `device`. Returns the verification level used to generate the proof. + + Either `orb` or `device`. Will always return the strongest credential with which a user has been verified. + + This property is deprecated and will be removed in a future release. Use `verification_level` instead. @@ -130,7 +132,7 @@ return ( "merkle_root": "0x1f38b57f3bdf96f05ea62fa68814871bf0ca8ce4dbe073d8497d5a6b0a53e5e0", "nullifier_hash": "0x0339861e70a9bdb6b01a88c7534a3332db915d3d06511b79a5724221a6958fbe", "proof": "0x063942fd7ea1616f17787d2e3374c1826ebcd2d41d2394...", - "credential_type": "orb" + "verification_level": "orb" } ``` @@ -232,7 +234,7 @@ import { IDKitWidget } from '@worldcoin/idkit' action="your_app_name_vote_1" // this is your action, set to whatever you'd like signal="user_value" onSuccess={onSuccess} - credential_types={['orb']} // only orb credentials are supported for self-hosted applications + verification_level="orb" // only orb verifications are supported for self-hosted applications advanced={ self_hosted, // enable the self-hosted mode } diff --git a/src/pages/reference/sign-in.mdx b/src/pages/reference/sign-in.mdx index e68264ca..de7fe9cf 100644 --- a/src/pages/reference/sign-in.mdx +++ b/src/pages/reference/sign-in.mdx @@ -307,11 +307,16 @@ fetch('https://id.worldcoin.org/userinfo', { ```json {{ title: "Response" }} { "sub": "0x2ae86d6d747702b3b2c81811cd2b39875e8fa6b780ee4a207bdc203a7860b535", - "https://id.worldcoin.org/beta": { + "https://id.worldcoin.org/beta": { // deprecated, will be removed in the future "likely_human": "strong", "credential_type": "orb" }, - "email": "0x2ae86d6d747702b3b2c81811cd2b39875e8fa6b780ee4a207bdc203a7860b535@id.worldcoin.org", + "https://id.worldcoin.org/v1": { + "verification_level": "orb", // "orb" or "device" + }, + // if `email` scope is included: + "email": "0x2ae86d6d747702b3b2c81811cd2b39875e8fa6b780ee4a207bdc203a7860b535@id.worldcoin.org", + // if `profile` scope is included: "name": "World ID User", "given_name": "World ID", "family_name": "User" diff --git a/src/pages/reference/world-id-2-migration-guide.mdx b/src/pages/reference/world-id-2-migration-guide.mdx index 6a509cb2..78f1bb0d 100644 --- a/src/pages/reference/world-id-2-migration-guide.mdx +++ b/src/pages/reference/world-id-2-migration-guide.mdx @@ -1,6 +1,6 @@ # World ID 2.0 Migration Guide -This guide will help you migrate your application to use World ID 2.0, including upgrading from the beta version of IDKit (v0.5.1 or earlier) to the new release of IDKit (v1.0.0 or later). +This guide will help you migrate your application to use World ID 2.0, including upgrading from the beta version of IDKit (v0.5.1 or earlier) to the new release of IDKit (v1.1.0 or later). We recommend you read the [World ID 2.0 Announcement](/world-id-2) to understand the new features and changes. @@ -17,37 +17,41 @@ IDKit v1 introduces a number of breaking changes that must be addressed in order If your users experience issues after migrating your application to IDKit v1, please ensure they are using the latest version of World App. -### Changes to `credential_types` +### World ID Device -The `phone` credential has been deprecated in favor of World ID Lite. World ID Lite is the name for the new `device` credential, which relies on the user's identity wallet, such as World App, to verify a user's unique device. +The `phone` credential has been replaced by World ID Device. This credential is used to verify a user's unique device rather than a phone number. This allows for a more secure and private verification flow. -Read more about [World ID Lite](/id/world-id-lite). +Read more about World ID Device and important considerations for your application in the [Verification Levels documentation](/id/verification-levels). -In order to support this change, the `credential_types` field in the IDKitWidget's parameters has been updated. If you previously accepted the `phone` credential, you should now accept the `device` credential instead. +### Migrate from `credential_types` to `verification_level` - -```jsx {{ title: "JavaScript" }} -import { IDKitWidget } from '@worldcoin/idkit' +The `credential_types` parameter has been replaced with the `verification_level` parameter. This parameter is used to specify the minimum level of verification required for a user to complete the World ID verification flow. This change also includes replacing `phone` with `device` for users who have not been verified at the Orb. + +Instead of passing an array of accepted credential types, you now pass the minimum verification level to accept. + + +```tsx {{ title: "Accept Device or Orb" }} +import { IDKitWidget, VerificationLevel } from '@worldcoin/idkit' {({ open }) => } ``` -```tsx {{ title: "TypeScript" }} -import { IDKitWidget, CredentialType } from '@worldcoin/idkit' +```tsx {{ title: "Accept only Orb" }} +import { IDKitWidget, VerificationLevel } from '@worldcoin/idkit' {({ open }) => } @@ -74,7 +78,7 @@ The Wallet Bridge enables increased performance both in terms of speed and stabi You can view the [Protocol Internals](/further-reading/protocol-internals#wallet-bridge) page or [Wallet Bridge](https://github.com/worldcoin/wallet-bridge) GitHub repository to learn more about how the Wallet Bridge works. Usage information can be found in the [IDKit Reference Documentation](/reference/idkit#parameters). - + ### World ID Reset @@ -118,6 +122,10 @@ This section outlines deprecated functionality in IDKit v1. These features have All telemetry has been removed from the IDKit package. The `enableTelemetry` parameter should be removed. +### IDKit Theme + +The `theme` parameter has been removed from IDKit. Dark mode will be re-enabled in a future release. + ### WalletConnect WalletConnect was previously used to pass messages between IDKit and a user's identity wallet. This has been replaced with the new Wallet Bridge, which is a lightweight, open-source, and secure message passing service. diff --git a/src/pages/try.tsx b/src/pages/try.tsx index fa6fa952..bec9a735 100644 --- a/src/pages/try.tsx +++ b/src/pages/try.tsx @@ -9,7 +9,7 @@ import RocketIcon from '@/components/icons/RocketIcon' import RedirectIcon from '@/components/icons/RedirectIcon' import { memo, ReactNode, Suspense, useMemo, useState } from 'react' import { useForm, UseFormRegisterReturn, useWatch } from 'react-hook-form' -import { CredentialType, IDKitWidget, WidgetProps } from '@worldcoin/idkit' +import { VerificationLevel, IDKitWidget, WidgetProps } from '@worldcoin/idkit' type Environment = 'staging' | 'production' @@ -114,13 +114,12 @@ const ExamplesWrapper = ({ id: string valid: boolean children: (params: { - theme: WidgetProps['theme'] variants: Record[] | string[] styleOption: number }) => ReactNode }): JSX.Element => { const [selected, setSelected] = useState(0) - const [theme, setTheme] = useState('light') + const [theme, setTheme] = useState<"dark" | "light">('light') const variants = useMemo( () => [ @@ -151,7 +150,7 @@ const ExamplesWrapper = ({ 'opacity-50 pointer-events-none select-none cursor-not-allowed': !valid, })} > - {children({ theme, styleOption: selected, variants })} + {children({ styleOption: selected, variants })}
{ testingEnvironment: Environment action: string // maxVerifications: 0 | 1 | 2 | 3 FIXME: Enable when dynamic maxVerifications is supported - credentialTypes: Array + verification_level: VerificationLevel }>({ mode: 'all', defaultValues: { @@ -252,7 +251,7 @@ const Try = (): JSX.Element => { testingEnvironment: 'production', action: 'test-action', // maxVerifications: 1, FIXME: Enable when dynamic maxVerifications is supported - credentialTypes: [CredentialType.Orb], + verification_level: VerificationLevel.Orb, }, }) @@ -272,8 +271,8 @@ const Try = (): JSX.Element => { }) const isTestingWidgetValid = useMemo( - () => !errors.action && !errors.credentialTypes, - [errors.action, errors.credentialTypes] + () => !errors.action && !errors.verification_level, + [errors.action, errors.verification_level] ) const authLink = useMemo(() => { @@ -488,21 +487,21 @@ const Try = (): JSX.Element => {
*/}
- Accepted credentials + Minimum Verification Level
@@ -513,17 +512,16 @@ const Try = (): JSX.Element => { - {({ theme, styleOption, variants }) => ( + {({ styleOption, variants }) => ( {({ open }) => (