@tempoxyz/id 0.0.0-stage → 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +121 -2
- package/dist/App.d.ts +121 -0
- package/dist/App.d.ts.map +1 -0
- package/dist/App.js +132 -0
- package/dist/App.js.map +1 -0
- package/dist/app/client/.assetsignore +2 -0
- package/dist/app/client/_headers +4 -0
- package/dist/app/client/assets/Account-BYLpNFf3.css +1 -0
- package/dist/app/client/assets/Account-BllJah07.js +1 -0
- package/dist/app/client/assets/Amount-E_7snI0-.js +1 -0
- package/dist/app/client/assets/Amount-ZdtluGf-.css +1 -0
- package/dist/app/client/assets/Approval-CgV5JHlb.css +1 -0
- package/dist/app/client/assets/Approval-yKflypU2.js +1 -0
- package/dist/app/client/assets/ArrowUp-CRvqfMNU.js +1 -0
- package/dist/app/client/assets/Authentication-BAXhOh_4.js +2 -0
- package/dist/app/client/assets/BRLA-CZvVDNYr.png +0 -0
- package/dist/app/client/assets/BRZ-Cn3jEi9t.svg +1 -0
- package/dist/app/client/assets/CHFAU-DCedc4aH.png +0 -0
- package/dist/app/client/assets/Callout-B736759d.js +1 -0
- package/dist/app/client/assets/Callout-DBfEmP7q.css +1 -0
- package/dist/app/client/assets/Check-DVgD8tDG.js +1 -0
- package/dist/app/client/assets/ChevronRight-CsXtIZCB.js +1 -0
- package/dist/app/client/assets/ChooseAccount-BjxfQjPK.js +1 -0
- package/dist/app/client/assets/ChooseAccount-DL3wgJhE.css +1 -0
- package/dist/app/client/assets/Client-JrABNovb.js +1 -0
- package/dist/app/client/assets/Close-CRvWlhqc.js +1 -0
- package/dist/app/client/assets/Cloud-DgJsrqpQ.js +1 -0
- package/dist/app/client/assets/CodeInput-79Ctx8ZA.js +1 -0
- package/dist/app/client/assets/CodeInput-BqRteSwD.css +1 -0
- package/dist/app/client/assets/DLUSD-BnRXm3EI.png +0 -0
- package/dist/app/client/assets/Deposit-CclrAoXL.css +1 -0
- package/dist/app/client/assets/Deposit-c7uYn2Eb.js +1 -0
- package/dist/app/client/assets/DevTools-BYkmtuV5.css +1 -0
- package/dist/app/client/assets/DevTools-BgnzDGo2.js +1 -0
- package/dist/app/client/assets/DeviceApproval-BBUVv58e.js +1 -0
- package/dist/app/client/assets/DeviceApproval-BffFLD8F.css +1 -0
- package/dist/app/client/assets/EURAU-sjieTTB9.svg +1 -0
- package/dist/app/client/assets/EURC.e-CxYiiwkz.svg +1 -0
- package/dist/app/client/assets/Fingerprint-BNCA6qOJ.js +1 -0
- package/dist/app/client/assets/GBPA-DI_25xSG.svg +4 -0
- package/dist/app/client/assets/GUSD-BDEP2Qb-.svg +1 -0
- package/dist/app/client/assets/GeistMono-Variable-BRXCGrxA.woff2 +0 -0
- package/dist/app/client/assets/Globe-f0eWzcEI.js +1 -0
- package/dist/app/client/assets/Grant-5a-n1gJH.css +1 -0
- package/dist/app/client/assets/Grant-Dp7mpcEi.js +1 -0
- package/dist/app/client/assets/Hex-C9KeV7_9.css +1 -0
- package/dist/app/client/assets/Hex-CSp2U46W.js +10 -0
- package/dist/app/client/assets/IconChip-DpZHa1JW.js +1 -0
- package/dist/app/client/assets/IconChip-yqaQ2y_d.css +1 -0
- package/dist/app/client/assets/InputGroup-BlZvt9In.css +1 -0
- package/dist/app/client/assets/InputGroup-CsOeBnpB.js +1 -0
- package/dist/app/client/assets/Inter-cyrillic-e3OmmzmJ.woff2 +0 -0
- package/dist/app/client/assets/Inter-cyrillic-ext-DOWZeO4Q.woff2 +0 -0
- package/dist/app/client/assets/Inter-greek-BD3ujQlX.woff2 +0 -0
- package/dist/app/client/assets/Inter-greek-ext-CXEwbus4.woff2 +0 -0
- package/dist/app/client/assets/Inter-latin-BDFm4vTb.woff2 +0 -0
- package/dist/app/client/assets/Inter-latin-ext-E7a9JEPe.woff2 +0 -0
- package/dist/app/client/assets/Inter-symbols-DEch7Rxr.woff2 +0 -0
- package/dist/app/client/assets/Inter-vietnamese-Bg9723vR.woff2 +0 -0
- package/dist/app/client/assets/Loader-Cm9YJNNJ.js +1 -0
- package/dist/app/client/assets/MACH-sK0r79kQ.svg +4 -0
- package/dist/app/client/assets/OUSD-BFXgVo-Z.svg +5 -0
- package/dist/app/client/assets/OUSD.dark-BbbjMvA1.svg +17 -0
- package/dist/app/client/assets/OUSD.light-B_zpSz_c.svg +17 -0
- package/dist/app/client/assets/PRIME-CiFp2-3e.svg +14 -0
- package/dist/app/client/assets/PopoverPopup-DprRXRQe.js +1 -0
- package/dist/app/client/assets/Rows-DPGTUdA8.css +1 -0
- package/dist/app/client/assets/Rows-Qqo3evtk.js +1 -0
- package/dist/app/client/assets/SBC-BTYkbkiD.svg +1 -0
- package/dist/app/client/assets/SEKAU-CB5Fc6o8.svg +5 -0
- package/dist/app/client/assets/Separator-CZUjVQOL.js +1 -0
- package/dist/app/client/assets/SignIn-HdaDzFmq.js +1 -0
- package/dist/app/client/assets/SignIn-mlBTwUq4.css +1 -0
- package/dist/app/client/assets/Stack-CkkvkOzj.js +1 -0
- package/dist/app/client/assets/Stack-D7Yt22Ed.css +1 -0
- package/dist/app/client/assets/Tag-BMh6ajrW.css +1 -0
- package/dist/app/client/assets/Tag-CLOVANTX.js +1 -0
- package/dist/app/client/assets/ToolbarRootContext-Zty_Dh3J.js +1 -0
- package/dist/app/client/assets/Tooltip-CLATV6YU.js +1 -0
- package/dist/app/client/assets/Tooltip-d3y9ESUJ.css +1 -0
- package/dist/app/client/assets/USD1-COVcO_PB.svg +30 -0
- package/dist/app/client/assets/USDB-Ckwb6UQw.svg +11 -0
- package/dist/app/client/assets/USDC.e-3nMsKAMC.svg +1 -0
- package/dist/app/client/assets/USDT0-ia60Dw0e.svg +1 -0
- package/dist/app/client/assets/USDY-CB4iet2q.svg +16 -0
- package/dist/app/client/assets/USDe-BXHQCd92.svg +1 -0
- package/dist/app/client/assets/Upgrade-D0_aO5AP.js +1 -0
- package/dist/app/client/assets/WalletUpgrade-BPsPNQsd.js +1 -0
- package/dist/app/client/assets/WalletUpgrade-C04kW0Jl.css +1 -0
- package/dist/app/client/assets/YLDS-CRh8Zw0g.svg +3 -0
- package/dist/app/client/assets/___-I98bns4o.css +1 -0
- package/dist/app/client/assets/___.flows-XOlLwMIy.js +5 -0
- package/dist/app/client/assets/alphaUSD-CpCFoVuh.svg +1 -0
- package/dist/app/client/assets/authorize-C-MlCyaM.js +1 -0
- package/dist/app/client/assets/betaUSD-9A8AjgYg.svg +1 -0
- package/dist/app/client/assets/cUSD-WsQfa-iC.svg +1 -0
- package/dist/app/client/assets/cbBTC-DvUDqrDi.svg +1 -0
- package/dist/app/client/assets/choose-account-nXR-SKa2.js +1 -0
- package/dist/app/client/assets/deposit-G8tiLPN4.js +1 -0
- package/dist/app/client/assets/device-BojBF7hZ.js +1 -0
- package/dist/app/client/assets/error-KiOpX7GD.js +1 -0
- package/dist/app/client/assets/frxUSD-n9pTpinR.svg +1 -0
- package/dist/app/client/assets/getPseudoElementBounds-BsLy4zf_.js +1 -0
- package/dist/app/client/assets/goUSD-D9kUvHsF.svg +5 -0
- package/dist/app/client/assets/iUSD-CWCJAq9X.svg +1 -0
- package/dist/app/client/assets/index-BZH0M7Nf.js +13 -0
- package/dist/app/client/assets/index-CIYxHmYA.css +1 -0
- package/dist/app/client/assets/login-DUjpk60p.js +1 -0
- package/dist/app/client/assets/pathUSD-BvaO6ooS.svg +25 -0
- package/dist/app/client/assets/preload-helper-Bs9KvdYl.js +1 -0
- package/dist/app/client/assets/rUSD-B-xuFS7T.svg +1 -0
- package/dist/app/client/assets/reUSD-CkIUs0Lx.svg +1 -0
- package/dist/app/client/assets/removable-DMiA3t_o.js +1 -0
- package/dist/app/client/assets/reset-co-CHrff.css +1 -0
- package/dist/app/client/assets/rolldown-runtime-WkwZ5CU-.js +1 -0
- package/dist/app/client/assets/routes-CK8cthzA.js +1 -0
- package/dist/app/client/assets/sUSDe-j9GOnH7I.svg +1 -0
- package/dist/app/client/assets/siUSD-C10QUNYS.svg +1 -0
- package/dist/app/client/assets/stcUSD-DIntDJeh.svg +1 -0
- package/dist/app/client/assets/syrupUSDC-DhYwZqdM.svg +5 -0
- package/dist/app/client/assets/thetaUSD-Dgmksf6G.svg +1 -0
- package/dist/app/client/assets/useNavigate-CB6S2u4J.js +1 -0
- package/dist/app/client/assets/useQuery-BpHfPhTT.js +1 -0
- package/dist/app/client/assets/useRegisterFieldControl-DsslqY-V.js +1 -0
- package/dist/app/client/assets/wYLDS-CaCKDrO-.svg +10 -0
- package/dist/app/client/assets/wsrUSD-B2Ey0bDQ.svg +1 -0
- package/dist/app/client/assets/zyzz-DYC-X0_B.css +1 -0
- package/dist/app/client/assets/zyzz.config-DX_D_7j3.js +2 -0
- package/dist/app/db/auth.d.ts +3412 -0
- package/dist/app/db/auth.d.ts.map +1 -0
- package/dist/app/db/auth.js +349 -0
- package/dist/app/db/auth.js.map +1 -0
- package/dist/app/db/schema.d.ts +1091 -0
- package/dist/app/db/schema.d.ts.map +1 -0
- package/dist/app/db/schema.js +183 -0
- package/dist/app/db/schema.js.map +1 -0
- package/dist/app/db/table.d.ts +8 -0
- package/dist/app/db/table.d.ts.map +1 -0
- package/dist/app/db/table.js +28 -0
- package/dist/app/db/table.js.map +1 -0
- package/dist/app/server/.vite/manifest.json +2093 -0
- package/dist/app/server/assets/Account-BYLpNFf3.css +1 -0
- package/dist/app/server/assets/Account-G_SUeRU3.js +2 -0
- package/dist/app/server/assets/Account-G_SUeRU3.js.map +1 -0
- package/dist/app/server/assets/Amount-Cgwdr3Xt.js +2 -0
- package/dist/app/server/assets/Amount-Cgwdr3Xt.js.map +1 -0
- package/dist/app/server/assets/Amount-ZdtluGf-.css +1 -0
- package/dist/app/server/assets/Approval-CgV5JHlb.css +1 -0
- package/dist/app/server/assets/Approval-DvkB9tWA.js +2 -0
- package/dist/app/server/assets/Approval-DvkB9tWA.js.map +1 -0
- package/dist/app/server/assets/ArrowUp-DpK_zNgZ.js +2 -0
- package/dist/app/server/assets/ArrowUp-DpK_zNgZ.js.map +1 -0
- package/dist/app/server/assets/Authentication-BOkhlNQu.js +2 -0
- package/dist/app/server/assets/Authentication-BOkhlNQu.js.map +1 -0
- package/dist/app/server/assets/Authentication-C3oNZAVX.js +2 -0
- package/dist/app/server/assets/Authentication-C3oNZAVX.js.map +1 -0
- package/dist/app/server/assets/BRLA-CZvVDNYr.png +0 -0
- package/dist/app/server/assets/BRZ-Cn3jEi9t.svg +1 -0
- package/dist/app/server/assets/Bytes-C7CRVS3J.js +4 -0
- package/dist/app/server/assets/Bytes-C7CRVS3J.js.map +1 -0
- package/dist/app/server/assets/CHFAU-DCedc4aH.png +0 -0
- package/dist/app/server/assets/Callout-DBfEmP7q.css +1 -0
- package/dist/app/server/assets/Callout-tQoAitWq.js +2 -0
- package/dist/app/server/assets/Callout-tQoAitWq.js.map +1 -0
- package/dist/app/server/assets/ChainList-C4A_7e-9.js +6 -0
- package/dist/app/server/assets/ChainList-C4A_7e-9.js.map +1 -0
- package/dist/app/server/assets/ChainName-BMnJyJrd.js +2 -0
- package/dist/app/server/assets/ChainName-BMnJyJrd.js.map +1 -0
- package/dist/app/server/assets/Check-DU_oR3Ev.js +2 -0
- package/dist/app/server/assets/Check-DU_oR3Ev.js.map +1 -0
- package/dist/app/server/assets/ChevronRight-DTBnw-W6.js +2 -0
- package/dist/app/server/assets/ChevronRight-DTBnw-W6.js.map +1 -0
- package/dist/app/server/assets/ChooseAccount-BizJvMrY.js +2 -0
- package/dist/app/server/assets/ChooseAccount-BizJvMrY.js.map +1 -0
- package/dist/app/server/assets/ChooseAccount-DL3wgJhE.css +1 -0
- package/dist/app/server/assets/Client-Dx3KrpJZ.js +2 -0
- package/dist/app/server/assets/Client-Dx3KrpJZ.js.map +1 -0
- package/dist/app/server/assets/ClientOnly-CKLiu67O.js +2 -0
- package/dist/app/server/assets/ClientOnly-CKLiu67O.js.map +1 -0
- package/dist/app/server/assets/Close-DUeE37ev.js +2 -0
- package/dist/app/server/assets/Close-DUeE37ev.js.map +1 -0
- package/dist/app/server/assets/Cloud-CLB3rTTy.js +2 -0
- package/dist/app/server/assets/Cloud-CLB3rTTy.js.map +1 -0
- package/dist/app/server/assets/CodeInput-BqRteSwD.css +1 -0
- package/dist/app/server/assets/CodeInput-FsPzVuLU.js +2 -0
- package/dist/app/server/assets/CodeInput-FsPzVuLU.js.map +1 -0
- package/dist/app/server/assets/Credential-DFjcrdyI.js +2 -0
- package/dist/app/server/assets/Credential-DFjcrdyI.js.map +1 -0
- package/dist/app/server/assets/DLUSD-BnRXm3EI.png +0 -0
- package/dist/app/server/assets/Deposit-CclrAoXL.css +1 -0
- package/dist/app/server/assets/Deposit-ChYGRfW2.js +2 -0
- package/dist/app/server/assets/Deposit-ChYGRfW2.js.map +1 -0
- package/dist/app/server/assets/DevTools-BYkmtuV5.css +1 -0
- package/dist/app/server/assets/DevTools-ZJVXqrIK.js +2 -0
- package/dist/app/server/assets/DevTools-ZJVXqrIK.js.map +1 -0
- package/dist/app/server/assets/DeviceApproval-BffFLD8F.css +1 -0
- package/dist/app/server/assets/DeviceApproval-Bqe3Mi78.js +2 -0
- package/dist/app/server/assets/DeviceApproval-Bqe3Mi78.js.map +1 -0
- package/dist/app/server/assets/EURAU-sjieTTB9.svg +1 -0
- package/dist/app/server/assets/EURC.e-CxYiiwkz.svg +1 -0
- package/dist/app/server/assets/ExecutionError-CDszGSF1.js +9 -0
- package/dist/app/server/assets/ExecutionError-CDszGSF1.js.map +1 -0
- package/dist/app/server/assets/Fingerprint-DhOPOdRr.js +2 -0
- package/dist/app/server/assets/Fingerprint-DhOPOdRr.js.map +1 -0
- package/dist/app/server/assets/GBPA-DI_25xSG.svg +4 -0
- package/dist/app/server/assets/GUSD-BDEP2Qb-.svg +1 -0
- package/dist/app/server/assets/GeistMono-Variable-BRXCGrxA.woff2 +0 -0
- package/dist/app/server/assets/Globe-2CxqxU-7.js +2 -0
- package/dist/app/server/assets/Globe-2CxqxU-7.js.map +1 -0
- package/dist/app/server/assets/Grant-5a-n1gJH.css +1 -0
- package/dist/app/server/assets/Grant-D_tun0mF.js +2 -0
- package/dist/app/server/assets/Grant-D_tun0mF.js.map +1 -0
- package/dist/app/server/assets/Hex-C9KeV7_9.css +1 -0
- package/dist/app/server/assets/Hex-Z6m_0Y0m.js +11 -0
- package/dist/app/server/assets/Hex-Z6m_0Y0m.js.map +1 -0
- package/dist/app/server/assets/IconChip-C9ZrmGB5.js +2 -0
- package/dist/app/server/assets/IconChip-C9ZrmGB5.js.map +1 -0
- package/dist/app/server/assets/IconChip-yqaQ2y_d.css +1 -0
- package/dist/app/server/assets/InputGroup-BlZvt9In.css +1 -0
- package/dist/app/server/assets/InputGroup-hpjuLuR7.js +2 -0
- package/dist/app/server/assets/InputGroup-hpjuLuR7.js.map +1 -0
- package/dist/app/server/assets/Inter-cyrillic-e3OmmzmJ.woff2 +0 -0
- package/dist/app/server/assets/Inter-cyrillic-ext-DOWZeO4Q.woff2 +0 -0
- package/dist/app/server/assets/Inter-greek-BD3ujQlX.woff2 +0 -0
- package/dist/app/server/assets/Inter-greek-ext-CXEwbus4.woff2 +0 -0
- package/dist/app/server/assets/Inter-latin-BDFm4vTb.woff2 +0 -0
- package/dist/app/server/assets/Inter-latin-ext-E7a9JEPe.woff2 +0 -0
- package/dist/app/server/assets/Inter-symbols-DEch7Rxr.woff2 +0 -0
- package/dist/app/server/assets/Inter-vietnamese-Bg9723vR.woff2 +0 -0
- package/dist/app/server/assets/Loader-DnKC9P5p.js +2 -0
- package/dist/app/server/assets/Loader-DnKC9P5p.js.map +1 -0
- package/dist/app/server/assets/MACH-sK0r79kQ.svg +4 -0
- package/dist/app/server/assets/Match-CyVdYcSf.js +2 -0
- package/dist/app/server/assets/Match-CyVdYcSf.js.map +1 -0
- package/dist/app/server/assets/OUSD-BFXgVo-Z.svg +5 -0
- package/dist/app/server/assets/OUSD.dark-BbbjMvA1.svg +17 -0
- package/dist/app/server/assets/OUSD.light-B_zpSz_c.svg +17 -0
- package/dist/app/server/assets/PRIME-CiFp2-3e.svg +14 -0
- package/dist/app/server/assets/PopoverPopup-CwqeQelI.js +2 -0
- package/dist/app/server/assets/PopoverPopup-CwqeQelI.js.map +1 -0
- package/dist/app/server/assets/Rows-CQKQwTI1.js +2 -0
- package/dist/app/server/assets/Rows-CQKQwTI1.js.map +1 -0
- package/dist/app/server/assets/Rows-DPGTUdA8.css +1 -0
- package/dist/app/server/assets/SBC-BTYkbkiD.svg +1 -0
- package/dist/app/server/assets/SEKAU-CB5Fc6o8.svg +5 -0
- package/dist/app/server/assets/Separator-DrI7KRAs.js +2 -0
- package/dist/app/server/assets/Separator-DrI7KRAs.js.map +1 -0
- package/dist/app/server/assets/SignIn-DfeeLEmN.js +2 -0
- package/dist/app/server/assets/SignIn-DfeeLEmN.js.map +1 -0
- package/dist/app/server/assets/SignIn-mlBTwUq4.css +1 -0
- package/dist/app/server/assets/Stack-D7Yt22Ed.css +1 -0
- package/dist/app/server/assets/Stack-DGktaLZc.js +2 -0
- package/dist/app/server/assets/Stack-DGktaLZc.js.map +1 -0
- package/dist/app/server/assets/Tag-9vSRBpph.js +2 -0
- package/dist/app/server/assets/Tag-9vSRBpph.js.map +1 -0
- package/dist/app/server/assets/Tag-BMh6ajrW.css +1 -0
- package/dist/app/server/assets/ToolbarRootContext-BH_CFSWd.js +2 -0
- package/dist/app/server/assets/ToolbarRootContext-BH_CFSWd.js.map +1 -0
- package/dist/app/server/assets/Tooltip-DLX41peb.js +2 -0
- package/dist/app/server/assets/Tooltip-DLX41peb.js.map +1 -0
- package/dist/app/server/assets/Tooltip-d3y9ESUJ.css +1 -0
- package/dist/app/server/assets/USD1-COVcO_PB.svg +30 -0
- package/dist/app/server/assets/USDB-Ckwb6UQw.svg +11 -0
- package/dist/app/server/assets/USDC.e-3nMsKAMC.svg +1 -0
- package/dist/app/server/assets/USDT0-ia60Dw0e.svg +1 -0
- package/dist/app/server/assets/USDY-CB4iet2q.svg +16 -0
- package/dist/app/server/assets/USDe-BXHQCd92.svg +1 -0
- package/dist/app/server/assets/Upgrade-Dbfm2nm0.js +2 -0
- package/dist/app/server/assets/Upgrade-Dbfm2nm0.js.map +1 -0
- package/dist/app/server/assets/WalletUpgrade-C04kW0Jl.css +1 -0
- package/dist/app/server/assets/WalletUpgrade-CWKc5fYt.js +2 -0
- package/dist/app/server/assets/WalletUpgrade-CWKc5fYt.js.map +1 -0
- package/dist/app/server/assets/YLDS-CRh8Zw0g.svg +3 -0
- package/dist/app/server/assets/___-I98bns4o.css +1 -0
- package/dist/app/server/assets/___.flows-Cc-awUoC.js +6 -0
- package/dist/app/server/assets/___.flows-Cc-awUoC.js.map +1 -0
- package/dist/app/server/assets/_tanstack-start-manifest_v-U7TrtUSA.js +1 -0
- package/dist/app/server/assets/_zyzz__2Fhome_2Frunner_2Fwork_2Fid_2Fid_2Fsrc_2Fapp_2Froutes_2F_5B__5D.flows-B1pPOqsM.css +1 -0
- package/dist/app/server/assets/_zyzz__2Fhome_2Frunner_2Fwork_2Fid_2Fid_2Fsrc_2Fapp_2Froutes_2F_5B__5D.flows.tsx-CKALi9oD.js +2 -0
- package/dist/app/server/assets/_zyzz__2Fhome_2Frunner_2Fwork_2Fid_2Fid_2Fsrc_2Fapp_2Froutes_2F_5B__5D.flows.tsx-CKALi9oD.js.map +1 -0
- package/dist/app/server/assets/_zyzz_shared-BbDIEd_j.css +1 -0
- package/dist/app/server/assets/alphaUSD-CpCFoVuh.svg +1 -0
- package/dist/app/server/assets/arktype-aI7TBD0R-D1R3Byo5.js +2 -0
- package/dist/app/server/assets/arktype-aI7TBD0R-D1R3Byo5.js.map +1 -0
- package/dist/app/server/assets/async-local-storage-DlOvwxXd.js +2 -0
- package/dist/app/server/assets/async-local-storage-DlOvwxXd.js.map +1 -0
- package/dist/app/server/assets/authorize-BXzTo2Pb.js +2 -0
- package/dist/app/server/assets/authorize-BXzTo2Pb.js.map +1 -0
- package/dist/app/server/assets/authorize-BzoUqOdA.js +2 -0
- package/dist/app/server/assets/authorize-BzoUqOdA.js.map +1 -0
- package/dist/app/server/assets/authorize-DXYo-K2n-rmQQ42x1.js +56 -0
- package/dist/app/server/assets/authorize-DXYo-K2n-rmQQ42x1.js.map +1 -0
- package/dist/app/server/assets/authorize-DfjPYJqS.css +1 -0
- package/dist/app/server/assets/betaUSD-9A8AjgYg.svg +1 -0
- package/dist/app/server/assets/bun-sqlite-dialect-DoOVo4ja-CtyBkVMb.js +2 -0
- package/dist/app/server/assets/bun-sqlite-dialect-DoOVo4ja-CtyBkVMb.js.map +1 -0
- package/dist/app/server/assets/cUSD-WsQfa-iC.svg +1 -0
- package/dist/app/server/assets/call-dzi0xjZd.js +31 -0
- package/dist/app/server/assets/call-dzi0xjZd.js.map +1 -0
- package/dist/app/server/assets/cbBTC-DvUDqrDi.svg +1 -0
- package/dist/app/server/assets/ccip-DjD8z_3B.js +2 -0
- package/dist/app/server/assets/ccip-DjD8z_3B.js.map +1 -0
- package/dist/app/server/assets/choose-account-_X7xq5am.js +2 -0
- package/dist/app/server/assets/choose-account-_X7xq5am.js.map +1 -0
- package/dist/app/server/assets/choose-account-lqA5SLx9.css +1 -0
- package/dist/app/server/assets/choose-account-zm-5Qs3e.js +2 -0
- package/dist/app/server/assets/choose-account-zm-5Qs3e.js.map +1 -0
- package/dist/app/server/assets/compiled-query-Ds2NVcFT.js +2 -0
- package/dist/app/server/assets/compiled-query-Ds2NVcFT.js.map +1 -0
- package/dist/app/server/assets/convert-BIC8n32x.js +2 -0
- package/dist/app/server/assets/convert-BIC8n32x.js.map +1 -0
- package/dist/app/server/assets/cookie-DxViaO10.js +2 -0
- package/dist/app/server/assets/cookie-DxViaO10.js.map +1 -0
- package/dist/app/server/assets/core-BBrZXfrB.js +56 -0
- package/dist/app/server/assets/core-BBrZXfrB.js.map +1 -0
- package/dist/app/server/assets/d1-sqlite-dialect-m0f01-4z-Cv-csE1u.js +2 -0
- package/dist/app/server/assets/d1-sqlite-dialect-m0f01-4z-Cv-csE1u.js.map +1 -0
- package/dist/app/server/assets/decodeFunctionData-bP6V2ai4.js +2 -0
- package/dist/app/server/assets/decodeFunctionData-bP6V2ai4.js.map +1 -0
- package/dist/app/server/assets/default-u_dwuiYb-DOrMMcg9.js +2 -0
- package/dist/app/server/assets/default-u_dwuiYb-DOrMMcg9.js.map +1 -0
- package/dist/app/server/assets/deposit-BBaNI01u.js +2 -0
- package/dist/app/server/assets/deposit-BBaNI01u.js.map +1 -0
- package/dist/app/server/assets/deposit-LWS6ZTuf.js +2 -0
- package/dist/app/server/assets/deposit-LWS6ZTuf.js.map +1 -0
- package/dist/app/server/assets/deposit-oFx15XCA.css +1 -0
- package/dist/app/server/assets/device-CrXlusjr.js +2 -0
- package/dist/app/server/assets/device-CrXlusjr.js.map +1 -0
- package/dist/app/server/assets/device-DdFMgYe2.js +2 -0
- package/dist/app/server/assets/device-DdFMgYe2.js.map +1 -0
- package/dist/app/server/assets/device-tMCpu5zk.css +1 -0
- package/dist/app/server/assets/dist-CR6FW-yS.js +1 -0
- package/dist/app/server/assets/dist-CoH0hD1s.js +15 -0
- package/dist/app/server/assets/dist-CoH0hD1s.js.map +1 -0
- package/dist/app/server/assets/dist-DcICI3fd.js +2 -0
- package/dist/app/server/assets/dist-DcICI3fd.js.map +1 -0
- package/dist/app/server/assets/effect-QlVUlMFu-mXPkuQTb.js +2 -0
- package/dist/app/server/assets/effect-QlVUlMFu-mXPkuQTb.js.map +1 -0
- package/dist/app/server/assets/empty-plugin-adapters-BaGcmrjC.js +2 -0
- package/dist/app/server/assets/empty-plugin-adapters-BaGcmrjC.js.map +1 -0
- package/dist/app/server/assets/error-CXy8gqdE.css +1 -0
- package/dist/app/server/assets/error-DXDT2AHy.js +2 -0
- package/dist/app/server/assets/error-DXDT2AHy.js.map +1 -0
- package/dist/app/server/assets/error-bnVzy9tx.js +2 -0
- package/dist/app/server/assets/error-bnVzy9tx.js.map +1 -0
- package/dist/app/server/assets/esm-C6SW--yt.js +4 -0
- package/dist/app/server/assets/esm-C6SW--yt.js.map +1 -0
- package/dist/app/server/assets/factory-dvoOlKer.js +5 -0
- package/dist/app/server/assets/factory-dvoOlKer.js.map +1 -0
- package/dist/app/server/assets/frxUSD-n9pTpinR.svg +1 -0
- package/dist/app/server/assets/get-id-field-OwLpfjj2.js +6 -0
- package/dist/app/server/assets/get-id-field-OwLpfjj2.js.map +1 -0
- package/dist/app/server/assets/getPseudoElementBounds-PkWU72kn.js +2 -0
- package/dist/app/server/assets/getPseudoElementBounds-PkWU72kn.js.map +1 -0
- package/dist/app/server/assets/goUSD-D9kUvHsF.svg +5 -0
- package/dist/app/server/assets/iUSD-CWCJAq9X.svg +1 -0
- package/dist/app/server/assets/index-CLddUTqr-CC33CMvS.js +2 -0
- package/dist/app/server/assets/index-CLddUTqr-CC33CMvS.js.map +1 -0
- package/dist/app/server/assets/index-DZEfthgZ-Ec2MMQ_e.js +2 -0
- package/dist/app/server/assets/index-DZEfthgZ-Ec2MMQ_e.js.map +1 -0
- package/dist/app/server/assets/kysely-adapter-B8tQwTcu.js +1 -0
- package/dist/app/server/assets/lazyRouteComponent-DPOOPZw_.js +2 -0
- package/dist/app/server/assets/lazyRouteComponent-DPOOPZw_.js.map +1 -0
- package/dist/app/server/assets/load-server-Dr0IlySo.js +3 -0
- package/dist/app/server/assets/load-server-Dr0IlySo.js.map +1 -0
- package/dist/app/server/assets/login-BLq3tEEr.js +2 -0
- package/dist/app/server/assets/login-BLq3tEEr.js.map +1 -0
- package/dist/app/server/assets/login-DCIrAbED.js +2 -0
- package/dist/app/server/assets/login-DCIrAbED.js.map +1 -0
- package/dist/app/server/assets/login-msDnt3yT.css +1 -0
- package/dist/app/server/assets/matchContext-ByrIUj4L.js +2 -0
- package/dist/app/server/assets/matchContext-ByrIUj4L.js.map +1 -0
- package/dist/app/server/assets/node-sqlite-dialect-BowWLXvK.js +2 -0
- package/dist/app/server/assets/node-sqlite-dialect-BowWLXvK.js.map +1 -0
- package/dist/app/server/assets/pathUSD-BvaO6ooS.svg +25 -0
- package/dist/app/server/assets/rUSD-B-xuFS7T.svg +1 -0
- package/dist/app/server/assets/reUSD-CkIUs0Lx.svg +1 -0
- package/dist/app/server/assets/react-dom-DYzj0HXX.js +2 -0
- package/dist/app/server/assets/react-dom-DYzj0HXX.js.map +1 -0
- package/dist/app/server/assets/removable-BCLTvPOx.js +2 -0
- package/dist/app/server/assets/removable-BCLTvPOx.js.map +1 -0
- package/dist/app/server/assets/reset-DZWeTZeQ.js +2 -0
- package/dist/app/server/assets/reset-DZWeTZeQ.js.map +1 -0
- package/dist/app/server/assets/reset-co-CHrff.css +1 -0
- package/dist/app/server/assets/resolveError-CZXXvCJR.js +2 -0
- package/dist/app/server/assets/resolveError-CZXXvCJR.js.map +1 -0
- package/dist/app/server/assets/rolldown-runtime-BWaJ3C7D.js +1 -0
- package/dist/app/server/assets/router-Bqz5X4Qw.js +2 -0
- package/dist/app/server/assets/router-Bqz5X4Qw.js.map +1 -0
- package/dist/app/server/assets/router-CclzitkY.css +1 -0
- package/dist/app/server/assets/routes-BLQdKqcZ.js +2 -0
- package/dist/app/server/assets/routes-BLQdKqcZ.js.map +1 -0
- package/dist/app/server/assets/routes-BgiIzrOt.css +1 -0
- package/dist/app/server/assets/routes-Bv6WzsSR.js +2 -0
- package/dist/app/server/assets/routes-Bv6WzsSR.js.map +1 -0
- package/dist/app/server/assets/sUSDe-j9GOnH7I.svg +1 -0
- package/dist/app/server/assets/schema-check-oLqvHR8y.js +9 -0
- package/dist/app/server/assets/schema-check-oLqvHR8y.js.map +1 -0
- package/dist/app/server/assets/secp256k1-yg8eeIYU.js +2 -0
- package/dist/app/server/assets/secp256k1-yg8eeIYU.js.map +1 -0
- package/dist/app/server/assets/server-RRUiOef2.js +76 -0
- package/dist/app/server/assets/server-RRUiOef2.js.map +1 -0
- package/dist/app/server/assets/siUSD-C10QUNYS.svg +1 -0
- package/dist/app/server/assets/sqlite-adapter-C_LAV4e3.js +2 -0
- package/dist/app/server/assets/sqlite-adapter-C_LAV4e3.js.map +1 -0
- package/dist/app/server/assets/sqlite-introspector-DSCAP82F-Crx7Ny14.js +6 -0
- package/dist/app/server/assets/sqlite-introspector-DSCAP82F-Crx7Ny14.js.map +1 -0
- package/dist/app/server/assets/standard-json-DY77efq0.js +2 -0
- package/dist/app/server/assets/standard-json-DY77efq0.js.map +1 -0
- package/dist/app/server/assets/standard-json-ig2t0wRt.js +2 -0
- package/dist/app/server/assets/standard-json-ig2t0wRt.js.map +1 -0
- package/dist/app/server/assets/standard-json-t-LNckA6.js +2 -0
- package/dist/app/server/assets/standard-json-t-LNckA6.js.map +1 -0
- package/dist/app/server/assets/standard-openapi-CONmVRl8.js +2 -0
- package/dist/app/server/assets/standard-openapi-CONmVRl8.js.map +1 -0
- package/dist/app/server/assets/start-C63VetBp.js +2 -0
- package/dist/app/server/assets/start-C63VetBp.js.map +1 -0
- package/dist/app/server/assets/stcUSD-DIntDJeh.svg +1 -0
- package/dist/app/server/assets/sury-CWZTCd75-CDaOS2oM.js +2 -0
- package/dist/app/server/assets/sury-CWZTCd75-CDaOS2oM.js.map +1 -0
- package/dist/app/server/assets/syrupUSDC-DhYwZqdM.svg +5 -0
- package/dist/app/server/assets/thetaUSD-Dgmksf6G.svg +1 -0
- package/dist/app/server/assets/typebox-Dei93FPO-D_lCVdAz.js +2 -0
- package/dist/app/server/assets/typebox-Dei93FPO-D_lCVdAz.js.map +1 -0
- package/dist/app/server/assets/useNavigate-D6d1w7KE.js +2 -0
- package/dist/app/server/assets/useNavigate-D6d1w7KE.js.map +1 -0
- package/dist/app/server/assets/useQuery-BRpCr5vj.js +2 -0
- package/dist/app/server/assets/useQuery-BRpCr5vj.js.map +1 -0
- package/dist/app/server/assets/useRegisterFieldControl-cJesrOWK.js +2 -0
- package/dist/app/server/assets/useRegisterFieldControl-cJesrOWK.js.map +1 -0
- package/dist/app/server/assets/utils-C4ZXZIZW.js +2 -0
- package/dist/app/server/assets/utils-C4ZXZIZW.js.map +1 -0
- package/dist/app/server/assets/utils-D57zfcg-.js +2 -0
- package/dist/app/server/assets/utils-D57zfcg-.js.map +1 -0
- package/dist/app/server/assets/valibot--1zFm7rT-CIKoH3MS.js +2 -0
- package/dist/app/server/assets/valibot--1zFm7rT-CIKoH3MS.js.map +1 -0
- package/dist/app/server/assets/valibot-D_HTw1Gn-BdPyLkXt.js +2 -0
- package/dist/app/server/assets/valibot-D_HTw1Gn-BdPyLkXt.js.map +1 -0
- package/dist/app/server/assets/wYLDS-CaCKDrO-.svg +10 -0
- package/dist/app/server/assets/wsrUSD-B2Ey0bDQ.svg +1 -0
- package/dist/app/server/assets/zod-Bwrt9trS-BezI5Gi1.js +2 -0
- package/dist/app/server/assets/zod-Bwrt9trS-BezI5Gi1.js.map +1 -0
- package/dist/app/server/assets/zod-DSgpEGAE-DZ7M_Q33.js +2 -0
- package/dist/app/server/assets/zod-DSgpEGAE-DZ7M_Q33.js.map +1 -0
- package/dist/app/server/assets/zyzz-6R2K52xP.css +1 -0
- package/dist/app/server/assets/zyzz.config-CJRpjn0E.js +3 -0
- package/dist/app/server/assets/zyzz.config-CJRpjn0E.js.map +1 -0
- package/dist/app/server/index.js +532 -0
- package/dist/app/server/index.js.map +1 -0
- package/dist/app/server/wrangler.json +1 -0
- package/dist/cli/Admin.d.ts +34 -0
- package/dist/cli/Admin.d.ts.map +1 -0
- package/dist/cli/Admin.js +61 -0
- package/dist/cli/Admin.js.map +1 -0
- package/dist/cli/Apps.d.ts +9 -0
- package/dist/cli/Apps.d.ts.map +1 -0
- package/dist/cli/Apps.js +34 -0
- package/dist/cli/Apps.js.map +1 -0
- package/dist/cli/Cli.d.ts +13 -0
- package/dist/cli/Cli.d.ts.map +1 -0
- package/dist/cli/Cli.js +26 -0
- package/dist/cli/Cli.js.map +1 -0
- package/dist/cli/Project.d.ts +17 -0
- package/dist/cli/Project.d.ts.map +1 -0
- package/dist/cli/Project.js +90 -0
- package/dist/cli/Project.js.map +1 -0
- package/dist/cli/Realms.d.ts +24 -0
- package/dist/cli/Realms.d.ts.map +1 -0
- package/dist/cli/Realms.js +48 -0
- package/dist/cli/Realms.js.map +1 -0
- package/dist/cli/Session.d.ts +79 -0
- package/dist/cli/Session.d.ts.map +1 -0
- package/dist/cli/Session.js +229 -0
- package/dist/cli/Session.js.map +1 -0
- package/dist/cli/User.d.ts +24 -0
- package/dist/cli/User.d.ts.map +1 -0
- package/dist/cli/User.js +34 -0
- package/dist/cli/User.js.map +1 -0
- package/dist/cli/V1.d.ts +32 -0
- package/dist/cli/V1.d.ts.map +1 -0
- package/dist/cli/V1.js +38 -0
- package/dist/cli/V1.js.map +1 -0
- package/dist/cli/bin.d.ts +3 -0
- package/dist/cli/bin.d.ts.map +1 -0
- package/dist/cli/bin.js +46 -0
- package/dist/cli/bin.js.map +1 -0
- package/dist/cli/commands/admin/apps/create.d.ts +23 -0
- package/dist/cli/commands/admin/apps/create.d.ts.map +1 -0
- package/dist/cli/commands/admin/apps/create.js +84 -0
- package/dist/cli/commands/admin/apps/create.js.map +1 -0
- package/dist/cli/commands/admin/apps/delete.d.ts +15 -0
- package/dist/cli/commands/admin/apps/delete.d.ts.map +1 -0
- package/dist/cli/commands/admin/apps/delete.js +41 -0
- package/dist/cli/commands/admin/apps/delete.js.map +1 -0
- package/dist/cli/commands/admin/apps/index.d.ts +5 -0
- package/dist/cli/commands/admin/apps/index.d.ts.map +1 -0
- package/dist/cli/commands/admin/apps/index.js +14 -0
- package/dist/cli/commands/admin/apps/index.js.map +1 -0
- package/dist/cli/commands/admin/apps/list.d.ts +10 -0
- package/dist/cli/commands/admin/apps/list.d.ts.map +1 -0
- package/dist/cli/commands/admin/apps/list.js +26 -0
- package/dist/cli/commands/admin/apps/list.js.map +1 -0
- package/dist/cli/commands/admin/apps/rotate-secret.d.ts +17 -0
- package/dist/cli/commands/admin/apps/rotate-secret.d.ts.map +1 -0
- package/dist/cli/commands/admin/apps/rotate-secret.js +47 -0
- package/dist/cli/commands/admin/apps/rotate-secret.js.map +1 -0
- package/dist/cli/commands/admin/apps/update.d.ts +20 -0
- package/dist/cli/commands/admin/apps/update.d.ts.map +1 -0
- package/dist/cli/commands/admin/apps/update.js +71 -0
- package/dist/cli/commands/admin/apps/update.js.map +1 -0
- package/dist/cli/commands/admin/index.d.ts +5 -0
- package/dist/cli/commands/admin/index.d.ts.map +1 -0
- package/dist/cli/commands/admin/index.js +13 -0
- package/dist/cli/commands/admin/index.js.map +1 -0
- package/dist/cli/commands/admin/migrate.d.ts +10 -0
- package/dist/cli/commands/admin/migrate.d.ts.map +1 -0
- package/dist/cli/commands/admin/migrate.js +20 -0
- package/dist/cli/commands/admin/migrate.js.map +1 -0
- package/dist/cli/commands/admin/realms/add.d.ts +13 -0
- package/dist/cli/commands/admin/realms/add.d.ts.map +1 -0
- package/dist/cli/commands/admin/realms/add.js +42 -0
- package/dist/cli/commands/admin/realms/add.js.map +1 -0
- package/dist/cli/commands/admin/realms/index.d.ts +5 -0
- package/dist/cli/commands/admin/realms/index.d.ts.map +1 -0
- package/dist/cli/commands/admin/realms/index.js +13 -0
- package/dist/cli/commands/admin/realms/index.js.map +1 -0
- package/dist/cli/commands/admin/realms/list.d.ts +14 -0
- package/dist/cli/commands/admin/realms/list.d.ts.map +1 -0
- package/dist/cli/commands/admin/realms/list.js +36 -0
- package/dist/cli/commands/admin/realms/list.js.map +1 -0
- package/dist/cli/commands/admin/realms/passkeys/index.d.ts +5 -0
- package/dist/cli/commands/admin/realms/passkeys/index.d.ts.map +1 -0
- package/dist/cli/commands/admin/realms/passkeys/index.js +13 -0
- package/dist/cli/commands/admin/realms/passkeys/index.js.map +1 -0
- package/dist/cli/commands/admin/realms/passkeys/set.d.ts +17 -0
- package/dist/cli/commands/admin/realms/passkeys/set.d.ts.map +1 -0
- package/dist/cli/commands/admin/realms/passkeys/set.js +46 -0
- package/dist/cli/commands/admin/realms/passkeys/set.js.map +1 -0
- package/dist/cli/commands/admin/realms/privy/index.d.ts +5 -0
- package/dist/cli/commands/admin/realms/privy/index.d.ts.map +1 -0
- package/dist/cli/commands/admin/realms/privy/index.js +13 -0
- package/dist/cli/commands/admin/realms/privy/index.js.map +1 -0
- package/dist/cli/commands/admin/realms/privy/set.d.ts +19 -0
- package/dist/cli/commands/admin/realms/privy/set.d.ts.map +1 -0
- package/dist/cli/commands/admin/realms/privy/set.js +66 -0
- package/dist/cli/commands/admin/realms/privy/set.js.map +1 -0
- package/dist/cli/commands/admin/realms/remove.d.ts +12 -0
- package/dist/cli/commands/admin/realms/remove.d.ts.map +1 -0
- package/dist/cli/commands/admin/realms/remove.js +35 -0
- package/dist/cli/commands/admin/realms/remove.js.map +1 -0
- package/dist/cli/commands/admin/realms/secp256k1/disable.d.ts +16 -0
- package/dist/cli/commands/admin/realms/secp256k1/disable.d.ts.map +1 -0
- package/dist/cli/commands/admin/realms/secp256k1/disable.js +42 -0
- package/dist/cli/commands/admin/realms/secp256k1/disable.js.map +1 -0
- package/dist/cli/commands/admin/realms/secp256k1/enable.d.ts +16 -0
- package/dist/cli/commands/admin/realms/secp256k1/enable.d.ts.map +1 -0
- package/dist/cli/commands/admin/realms/secp256k1/enable.js +42 -0
- package/dist/cli/commands/admin/realms/secp256k1/enable.js.map +1 -0
- package/dist/cli/commands/admin/realms/secp256k1/index.d.ts +9 -0
- package/dist/cli/commands/admin/realms/secp256k1/index.d.ts.map +1 -0
- package/dist/cli/commands/admin/realms/secp256k1/index.js +17 -0
- package/dist/cli/commands/admin/realms/secp256k1/index.js.map +1 -0
- package/dist/cli/commands/admin/realms/set.d.ts +17 -0
- package/dist/cli/commands/admin/realms/set.d.ts.map +1 -0
- package/dist/cli/commands/admin/realms/set.js +46 -0
- package/dist/cli/commands/admin/realms/set.js.map +1 -0
- package/dist/cli/commands/admin/rotate-key.d.ts +16 -0
- package/dist/cli/commands/admin/rotate-key.d.ts.map +1 -0
- package/dist/cli/commands/admin/rotate-key.js +46 -0
- package/dist/cli/commands/admin/rotate-key.js.map +1 -0
- package/dist/cli/commands/init.d.ts +11 -0
- package/dist/cli/commands/init.d.ts.map +1 -0
- package/dist/cli/commands/init.js +34 -0
- package/dist/cli/commands/init.js.map +1 -0
- package/dist/cli/commands/login.d.ts +12 -0
- package/dist/cli/commands/login.d.ts.map +1 -0
- package/dist/cli/commands/login.js +29 -0
- package/dist/cli/commands/login.js.map +1 -0
- package/dist/cli/commands/logout.d.ts +8 -0
- package/dist/cli/commands/logout.d.ts.map +1 -0
- package/dist/cli/commands/logout.js +19 -0
- package/dist/cli/commands/logout.js.map +1 -0
- package/dist/cli/commands/whoami.d.ts +12 -0
- package/dist/cli/commands/whoami.d.ts.map +1 -0
- package/dist/cli/commands/whoami.js +24 -0
- package/dist/cli/commands/whoami.js.map +1 -0
- package/dist/client/Actions.d.ts +108 -0
- package/dist/client/Actions.d.ts.map +1 -0
- package/dist/client/Actions.js +94 -0
- package/dist/client/Actions.js.map +1 -0
- package/dist/client/Auth.d.ts +143 -0
- package/dist/client/Auth.d.ts.map +1 -0
- package/dist/client/Auth.js +106 -0
- package/dist/client/Auth.js.map +1 -0
- package/dist/client/Authorization.d.ts +29 -0
- package/dist/client/Authorization.d.ts.map +1 -0
- package/dist/client/Authorization.js +12 -0
- package/dist/client/Authorization.js.map +1 -0
- package/dist/client/Decorator.d.ts +172 -0
- package/dist/client/Decorator.d.ts.map +1 -0
- package/dist/client/Decorator.js +241 -0
- package/dist/client/Decorator.js.map +1 -0
- package/dist/client/Key.d.ts +82 -0
- package/dist/client/Key.d.ts.map +1 -0
- package/dist/client/Key.js +81 -0
- package/dist/client/Key.js.map +1 -0
- package/dist/client/Pending.d.ts +38 -0
- package/dist/client/Pending.d.ts.map +1 -0
- package/dist/client/Pending.js +12 -0
- package/dist/client/Pending.js.map +1 -0
- package/dist/client/Permissions.d.ts +36 -0
- package/dist/client/Permissions.d.ts.map +1 -0
- package/dist/client/Permissions.js +16 -0
- package/dist/client/Permissions.js.map +1 -0
- package/dist/client/Storage.d.ts +27 -0
- package/dist/client/Storage.d.ts.map +1 -0
- package/dist/client/Storage.js +16 -0
- package/dist/client/Storage.js.map +1 -0
- package/dist/client/TempoAccount.d.ts +52 -0
- package/dist/client/TempoAccount.d.ts.map +1 -0
- package/dist/client/TempoAccount.js +17 -0
- package/dist/client/TempoAccount.js.map +1 -0
- package/dist/client/Tokens.d.ts +25 -0
- package/dist/client/Tokens.d.ts.map +1 -0
- package/dist/client/Tokens.js +12 -0
- package/dist/client/Tokens.js.map +1 -0
- package/dist/client/User.d.ts +21 -0
- package/dist/client/User.d.ts.map +1 -0
- package/dist/client/User.js +12 -0
- package/dist/client/User.js.map +1 -0
- package/dist/client/actions/account.d.ts +75 -0
- package/dist/client/actions/account.d.ts.map +1 -0
- package/dist/client/actions/account.js +102 -0
- package/dist/client/actions/account.js.map +1 -0
- package/dist/client/actions/device.d.ts +52 -0
- package/dist/client/actions/device.d.ts.map +1 -0
- package/dist/client/actions/device.js +103 -0
- package/dist/client/actions/device.js.map +1 -0
- package/dist/client/actions/email.d.ts +89 -0
- package/dist/client/actions/email.d.ts.map +1 -0
- package/dist/client/actions/email.js +86 -0
- package/dist/client/actions/email.js.map +1 -0
- package/dist/client/actions/oauth.d.ts +112 -0
- package/dist/client/actions/oauth.d.ts.map +1 -0
- package/dist/client/actions/oauth.js +103 -0
- package/dist/client/actions/oauth.js.map +1 -0
- package/dist/client/actions/passkey.d.ts +140 -0
- package/dist/client/actions/passkey.d.ts.map +1 -0
- package/dist/client/actions/passkey.js +170 -0
- package/dist/client/actions/passkey.js.map +1 -0
- package/dist/client/actions/realm.d.ts +25 -0
- package/dist/client/actions/realm.d.ts.map +1 -0
- package/dist/client/actions/realm.js +16 -0
- package/dist/client/actions/realm.js.map +1 -0
- package/dist/client/actions/redirect.d.ts +152 -0
- package/dist/client/actions/redirect.d.ts.map +1 -0
- package/dist/client/actions/redirect.js +311 -0
- package/dist/client/actions/redirect.js.map +1 -0
- package/dist/client/internal/accessKey.d.ts +21 -0
- package/dist/client/internal/accessKey.d.ts.map +1 -0
- package/dist/client/internal/accessKey.js +38 -0
- package/dist/client/internal/accessKey.js.map +1 -0
- package/dist/client/internal/account.d.ts +17 -0
- package/dist/client/internal/account.d.ts.map +1 -0
- package/dist/client/internal/account.js +3 -0
- package/dist/client/internal/account.js.map +1 -0
- package/dist/client/internal/api.d.ts +110 -0
- package/dist/client/internal/api.d.ts.map +1 -0
- package/dist/client/internal/api.js +136 -0
- package/dist/client/internal/api.js.map +1 -0
- package/dist/client/internal/headless.d.ts +159 -0
- package/dist/client/internal/headless.d.ts.map +1 -0
- package/dist/client/internal/headless.js +196 -0
- package/dist/client/internal/headless.js.map +1 -0
- package/dist/client/internal/indexedDb.d.ts +8 -0
- package/dist/client/internal/indexedDb.d.ts.map +1 -0
- package/dist/client/internal/indexedDb.js +32 -0
- package/dist/client/internal/indexedDb.js.map +1 -0
- package/dist/client/internal/request.d.ts +56 -0
- package/dist/client/internal/request.d.ts.map +1 -0
- package/dist/client/internal/request.js +44 -0
- package/dist/client/internal/request.js.map +1 -0
- package/dist/client/internal/store.d.ts +12 -0
- package/dist/client/internal/store.d.ts.map +1 -0
- package/dist/client/internal/store.js +15 -0
- package/dist/client/internal/store.js.map +1 -0
- package/dist/client/internal/verifier.d.ts +25 -0
- package/dist/client/internal/verifier.d.ts.map +1 -0
- package/dist/client/internal/verifier.js +52 -0
- package/dist/client/internal/verifier.js.map +1 -0
- package/dist/client.d.ts +18 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +18 -0
- package/dist/client.js.map +1 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -0
- package/dist/internal/Apps.d.ts +3169 -0
- package/dist/internal/Apps.d.ts.map +1 -0
- package/dist/internal/Apps.js +948 -0
- package/dist/internal/Apps.js.map +1 -0
- package/dist/internal/Auth.d.ts +4287 -0
- package/dist/internal/Auth.d.ts.map +1 -0
- package/dist/internal/Auth.js +185 -0
- package/dist/internal/Auth.js.map +1 -0
- package/dist/internal/Authorize.d.ts +526 -0
- package/dist/internal/Authorize.d.ts.map +1 -0
- package/dist/internal/Authorize.js +330 -0
- package/dist/internal/Authorize.js.map +1 -0
- package/dist/internal/Cache.d.ts +56 -0
- package/dist/internal/Cache.d.ts.map +1 -0
- package/dist/internal/Cache.js +65 -0
- package/dist/internal/Cache.js.map +1 -0
- package/dist/internal/Chain.d.ts +738 -0
- package/dist/internal/Chain.d.ts.map +1 -0
- package/dist/internal/Chain.js +65 -0
- package/dist/internal/Chain.js.map +1 -0
- package/dist/internal/ChainList.d.ts +117 -0
- package/dist/internal/ChainList.d.ts.map +1 -0
- package/dist/internal/ChainList.js +148 -0
- package/dist/internal/ChainList.js.map +1 -0
- package/dist/internal/ChainName.d.ts +11 -0
- package/dist/internal/ChainName.d.ts.map +1 -0
- package/dist/internal/ChainName.js +13 -0
- package/dist/internal/ChainName.js.map +1 -0
- package/dist/internal/CodeEmail.d.ts +38 -0
- package/dist/internal/CodeEmail.d.ts.map +1 -0
- package/dist/internal/CodeEmail.js +85 -0
- package/dist/internal/CodeEmail.js.map +1 -0
- package/dist/internal/ConfigurableAccount.d.ts +600 -0
- package/dist/internal/ConfigurableAccount.d.ts.map +1 -0
- package/dist/internal/ConfigurableAccount.js +795 -0
- package/dist/internal/ConfigurableAccount.js.map +1 -0
- package/dist/internal/Device.d.ts +246 -0
- package/dist/internal/Device.d.ts.map +1 -0
- package/dist/internal/Device.js +257 -0
- package/dist/internal/Device.js.map +1 -0
- package/dist/internal/Env.d.ts +97 -0
- package/dist/internal/Env.d.ts.map +1 -0
- package/dist/internal/Env.js +2 -0
- package/dist/internal/Env.js.map +1 -0
- package/dist/internal/ErrorResponse.d.ts +608 -0
- package/dist/internal/ErrorResponse.d.ts.map +1 -0
- package/dist/internal/ErrorResponse.js +701 -0
- package/dist/internal/ErrorResponse.js.map +1 -0
- package/dist/internal/Id.d.ts +10 -0
- package/dist/internal/Id.d.ts.map +1 -0
- package/dist/internal/Id.js +34 -0
- package/dist/internal/Id.js.map +1 -0
- package/dist/internal/KeyAuthorization.d.ts +1650 -0
- package/dist/internal/KeyAuthorization.d.ts.map +1 -0
- package/dist/internal/KeyAuthorization.js +1187 -0
- package/dist/internal/KeyAuthorization.js.map +1 -0
- package/dist/internal/Limits.d.ts +70 -0
- package/dist/internal/Limits.d.ts.map +1 -0
- package/dist/internal/Limits.js +36 -0
- package/dist/internal/Limits.js.map +1 -0
- package/dist/internal/Log.d.ts +34 -0
- package/dist/internal/Log.d.ts.map +1 -0
- package/dist/internal/Log.js +99 -0
- package/dist/internal/Log.js.map +1 -0
- package/dist/internal/LogLine.d.ts +29 -0
- package/dist/internal/LogLine.d.ts.map +1 -0
- package/dist/internal/LogLine.js +50 -0
- package/dist/internal/LogLine.js.map +1 -0
- package/dist/internal/Migrations.d.ts +28 -0
- package/dist/internal/Migrations.d.ts.map +1 -0
- package/dist/internal/Migrations.js +82 -0
- package/dist/internal/Migrations.js.map +1 -0
- package/dist/internal/Owner.d.ts +230 -0
- package/dist/internal/Owner.d.ts.map +1 -0
- package/dist/internal/Owner.js +101 -0
- package/dist/internal/Owner.js.map +1 -0
- package/dist/internal/Passkey.d.ts +901 -0
- package/dist/internal/Passkey.d.ts.map +1 -0
- package/dist/internal/Passkey.js +1185 -0
- package/dist/internal/Passkey.js.map +1 -0
- package/dist/internal/PendingKey.d.ts +49 -0
- package/dist/internal/PendingKey.d.ts.map +1 -0
- package/dist/internal/PendingKey.js +58 -0
- package/dist/internal/PendingKey.js.map +1 -0
- package/dist/internal/Privy.d.ts +138 -0
- package/dist/internal/Privy.d.ts.map +1 -0
- package/dist/internal/Privy.js +285 -0
- package/dist/internal/Privy.js.map +1 -0
- package/dist/internal/RateLimit.d.ts +218 -0
- package/dist/internal/RateLimit.d.ts.map +1 -0
- package/dist/internal/RateLimit.js +209 -0
- package/dist/internal/RateLimit.js.map +1 -0
- package/dist/internal/Realm.d.ts +290 -0
- package/dist/internal/Realm.d.ts.map +1 -0
- package/dist/internal/Realm.js +502 -0
- package/dist/internal/Realm.js.map +1 -0
- package/dist/internal/RequestId.d.ts +16 -0
- package/dist/internal/RequestId.d.ts.map +1 -0
- package/dist/internal/RequestId.js +78 -0
- package/dist/internal/RequestId.js.map +1 -0
- package/dist/internal/SigningKey.d.ts +126 -0
- package/dist/internal/SigningKey.d.ts.map +1 -0
- package/dist/internal/SigningKey.js +221 -0
- package/dist/internal/SigningKey.js.map +1 -0
- package/dist/internal/TempoAccount.d.ts +181 -0
- package/dist/internal/TempoAccount.d.ts.map +1 -0
- package/dist/internal/TempoAccount.js +369 -0
- package/dist/internal/TempoAccount.js.map +1 -0
- package/dist/internal/TestInbox.d.ts +42 -0
- package/dist/internal/TestInbox.d.ts.map +1 -0
- package/dist/internal/TestInbox.js +20 -0
- package/dist/internal/TestInbox.js.map +1 -0
- package/dist/internal/Timing.d.ts +52 -0
- package/dist/internal/Timing.d.ts.map +1 -0
- package/dist/internal/Timing.js +116 -0
- package/dist/internal/Timing.js.map +1 -0
- package/dist/internal/Validation.d.ts +52 -0
- package/dist/internal/Validation.d.ts.map +1 -0
- package/dist/internal/Validation.js +22 -0
- package/dist/internal/Validation.js.map +1 -0
- package/dist/internal/Verification.d.ts +24 -0
- package/dist/internal/Verification.d.ts.map +1 -0
- package/dist/internal/Verification.js +37 -0
- package/dist/internal/Verification.js.map +1 -0
- package/dist/internal/Wallet.d.ts +66 -0
- package/dist/internal/Wallet.d.ts.map +1 -0
- package/dist/internal/Wallet.js +59 -0
- package/dist/internal/Wallet.js.map +1 -0
- package/dist/internal/owners/Passkey.d.ts +9 -0
- package/dist/internal/owners/Passkey.d.ts.map +1 -0
- package/dist/internal/owners/Passkey.js +58 -0
- package/dist/internal/owners/Passkey.js.map +1 -0
- package/dist/internal/owners/Privy.d.ts +13 -0
- package/dist/internal/owners/Privy.d.ts.map +1 -0
- package/dist/internal/owners/Privy.js +59 -0
- package/dist/internal/owners/Privy.js.map +1 -0
- package/dist/internal/owners/Secp256k1.d.ts +12 -0
- package/dist/internal/owners/Secp256k1.d.ts.map +1 -0
- package/dist/internal/owners/Secp256k1.js +99 -0
- package/dist/internal/owners/Secp256k1.js.map +1 -0
- package/dist/worker.d.ts +18 -0
- package/dist/worker.d.ts.map +1 -0
- package/dist/worker.js +18 -0
- package/dist/worker.js.map +1 -0
- package/package.json +83 -3
- package/src/Api.ts +157 -0
- package/src/App.ts +316 -0
- package/src/api/account.ts +2266 -0
- package/src/api/authenticate.ts +1662 -0
- package/src/api/authorize.ts +1086 -0
- package/src/api/device.ts +516 -0
- package/src/api/health.ts +72 -0
- package/src/api/lib/AccountStep.ts +485 -0
- package/src/api/lib/Auth.ts +164 -0
- package/src/api/lib/Configure.ts +921 -0
- package/src/api/lib/Consent.ts +388 -0
- package/src/api/lib/Cors.ts +160 -0
- package/src/api/lib/Database.ts +10 -0
- package/src/api/lib/DeviceRequest.ts +244 -0
- package/src/api/lib/FirstAccount.ts +136 -0
- package/src/api/lib/Headless.ts +616 -0
- package/src/api/lib/IsolateCache.ts +28 -0
- package/src/api/lib/KeySigner.ts +690 -0
- package/src/api/lib/PasskeyLink.ts +162 -0
- package/src/api/lib/Session.ts +64 -0
- package/src/api/lib/SignInConsent.ts +393 -0
- package/src/api/oauth.ts +1796 -0
- package/src/app/components/CodeInput.tsx +153 -0
- package/src/app/components/DevTools.tsx +1071 -0
- package/src/app/components/Grant.tsx +476 -0
- package/src/app/components/icons/BRLA.png +0 -0
- package/src/app/components/icons/BRZ.svg +1 -0
- package/src/app/components/icons/CHFAU.png +0 -0
- package/src/app/components/icons/DLUSD.png +0 -0
- package/src/app/components/icons/EURAU.svg +1 -0
- package/src/app/components/icons/EURC.e.svg +1 -0
- package/src/app/components/icons/GBPA.svg +4 -0
- package/src/app/components/icons/GUSD.svg +1 -0
- package/src/app/components/icons/MACH.svg +4 -0
- package/src/app/components/icons/OUSD.svg +5 -0
- package/src/app/components/icons/PRIME.svg +14 -0
- package/src/app/components/icons/SBC.svg +1 -0
- package/src/app/components/icons/SEKAU.svg +5 -0
- package/src/app/components/icons/USD1.svg +30 -0
- package/src/app/components/icons/USDB.svg +11 -0
- package/src/app/components/icons/USDC.e.svg +1 -0
- package/src/app/components/icons/USDT0.svg +1 -0
- package/src/app/components/icons/USDY.svg +16 -0
- package/src/app/components/icons/USDe.svg +1 -0
- package/src/app/components/icons/YLDS.svg +3 -0
- package/src/app/components/icons/alphaUSD.svg +1 -0
- package/src/app/components/icons/betaUSD.svg +1 -0
- package/src/app/components/icons/cUSD.svg +1 -0
- package/src/app/components/icons/cbBTC.svg +1 -0
- package/src/app/components/icons/frxUSD.svg +1 -0
- package/src/app/components/icons/goUSD.svg +5 -0
- package/src/app/components/icons/iUSD.svg +1 -0
- package/src/app/components/icons/pathUSD.svg +25 -0
- package/src/app/components/icons/rUSD.svg +1 -0
- package/src/app/components/icons/reUSD.svg +1 -0
- package/src/app/components/icons/sUSDe.svg +1 -0
- package/src/app/components/icons/siUSD.svg +1 -0
- package/src/app/components/icons/stcUSD.svg +1 -0
- package/src/app/components/icons/syrupUSDC.svg +5 -0
- package/src/app/components/icons/thetaUSD.svg +1 -0
- package/src/app/components/icons/wYLDS.svg +10 -0
- package/src/app/components/icons/wsrUSD.svg +1 -0
- package/src/app/components/logos/OUSD.dark.svg +17 -0
- package/src/app/components/logos/OUSD.light.svg +17 -0
- package/src/app/coverage.server.ts +73 -0
- package/src/app/coverage.ts +69 -0
- package/src/app/crons/cleanup.ts +104 -0
- package/src/app/db/auth.ts +440 -0
- package/src/app/db/migrations/0000_better_auth.sql +53 -0
- package/src/app/db/migrations/0001_oauth_provider.sql +162 -0
- package/src/app/db/migrations/0002_device_code.sql +17 -0
- package/src/app/db/migrations/0003_realms.sql +27 -0
- package/src/app/db/migrations/0004_default_realm.sql +2 -0
- package/src/app/db/migrations/0005_passkeys.sql +30 -0
- package/src/app/db/migrations/0006_first_accounts.sql +9 -0
- package/src/app/db/migrations/0007_pending_keys.sql +13 -0
- package/src/app/db/migrations/0008_secp256k1_owners.sql +18 -0
- package/src/app/db/migrations/0009_device_requests.sql +8 -0
- package/src/app/db/migrations/0010_device_keys.sql +4 -0
- package/src/app/db/migrations/0011_registered_passkeys.sql +2 -0
- package/src/app/db/migrations/0012_passkey_accounts.sql +7 -0
- package/src/app/db/migrations/0013_first_party_apps.sql +4 -0
- package/src/app/db/migrations/0014_logout_revokes_tokens.sql +17 -0
- package/src/app/db/migrations/0015_expiry_indexes.sql +9 -0
- package/src/app/db/migrations/0016_configurable_accounts.sql +15 -0
- package/src/app/db/migrations/0017_account_config_keys.sql +3 -0
- package/src/app/db/migrations/0018_better_auth_1_8.sql +9 -0
- package/src/app/db/migrations/0019_drop_provider_account_index.sql +1 -0
- package/src/app/db/migrations/meta/0000_snapshot.json +362 -0
- package/src/app/db/migrations/meta/0001_snapshot.json +1487 -0
- package/src/app/db/migrations/meta/0002_snapshot.json +1603 -0
- package/src/app/db/migrations/meta/0003_snapshot.json +1760 -0
- package/src/app/db/migrations/meta/0004_snapshot.json +1760 -0
- package/src/app/db/migrations/meta/0005_snapshot.json +1911 -0
- package/src/app/db/migrations/meta/0006_snapshot.json +1967 -0
- package/src/app/db/migrations/meta/0007_snapshot.json +2047 -0
- package/src/app/db/migrations/meta/0008_snapshot.json +2157 -0
- package/src/app/db/migrations/meta/0009_snapshot.json +2207 -0
- package/src/app/db/migrations/meta/0010_snapshot.json +2231 -0
- package/src/app/db/migrations/meta/0011_snapshot.json +2231 -0
- package/src/app/db/migrations/meta/0012_snapshot.json +2231 -0
- package/src/app/db/migrations/meta/0013_snapshot.json +2231 -0
- package/src/app/db/migrations/meta/0014_snapshot.json +2231 -0
- package/src/app/db/migrations/meta/0015_snapshot.json +2375 -0
- package/src/app/db/migrations/meta/0016_snapshot.json +2475 -0
- package/src/app/db/migrations/meta/0017_snapshot.json +2481 -0
- package/src/app/db/migrations/meta/0018_snapshot.json +2535 -0
- package/src/app/db/migrations/meta/0019_snapshot.json +2514 -0
- package/src/app/db/migrations/meta/_journal.json +146 -0
- package/src/app/db/schema.ts +241 -0
- package/src/app/db/table.ts +31 -0
- package/src/app/env.ts +57 -0
- package/src/app/inbox.ts +190 -0
- package/src/app/lib/Client.ts +82 -0
- package/src/app/lib/Inbox.ts +11 -0
- package/src/app/lib/Loader.ts +21 -0
- package/src/app/lib/Upgrade.ts +221 -0
- package/src/app/package.json +8 -0
- package/src/app/public/_headers +4 -0
- package/src/app/routeTree.gen.ts +219 -0
- package/src/app/router.tsx +47 -0
- package/src/app/routes/[_].flows.tsx +4254 -0
- package/src/app/routes/__root.tsx +172 -0
- package/src/app/routes/authorize.tsx +379 -0
- package/src/app/routes/choose-account.tsx +144 -0
- package/src/app/routes/deposit.tsx +107 -0
- package/src/app/routes/device.tsx +273 -0
- package/src/app/routes/error.tsx +62 -0
- package/src/app/routes/index.tsx +511 -0
- package/src/app/routes/login.tsx +577 -0
- package/src/app/screens/Account.tsx +559 -0
- package/src/app/screens/Approval.tsx +444 -0
- package/src/app/screens/ChooseAccount.tsx +206 -0
- package/src/app/screens/Deposit.tsx +523 -0
- package/src/app/screens/DeviceApproval.tsx +500 -0
- package/src/app/screens/NotFound.tsx +62 -0
- package/src/app/screens/SignIn.tsx +372 -0
- package/src/app/screens/WalletUpgrade.tsx +121 -0
- package/src/app/screens/chains/base.svg +3 -0
- package/src/app/screens/chains/ethereum.svg +11 -0
- package/src/app/screens/chains/solana.svg +4 -0
- package/src/app/screens/chains/tempo.svg +4 -0
- package/src/app/server.ts +342 -0
- package/src/app/vite.config.ts +128 -0
- package/src/app/void.config.ts +36 -0
- package/src/app/wallet.ts +69 -0
- package/src/app/zyzz.config.ts +52 -0
- package/src/cli/Admin.ts +74 -0
- package/src/cli/Apps.ts +27 -0
- package/src/cli/Cli.ts +41 -0
- package/src/cli/Project.ts +119 -0
- package/src/cli/Realms.ts +49 -0
- package/src/cli/Session.ts +290 -0
- package/src/cli/User.ts +40 -0
- package/src/cli/V1.ts +54 -0
- package/src/cli/bin.ts +44 -0
- package/src/cli/commands/admin/apps/create.ts +96 -0
- package/src/cli/commands/admin/apps/delete.ts +38 -0
- package/src/cli/commands/admin/apps/index.ts +15 -0
- package/src/cli/commands/admin/apps/list.ts +25 -0
- package/src/cli/commands/admin/apps/rotate-secret.ts +47 -0
- package/src/cli/commands/admin/apps/update.ts +79 -0
- package/src/cli/commands/admin/index.ts +14 -0
- package/src/cli/commands/admin/migrate.ts +19 -0
- package/src/cli/commands/admin/realms/add.ts +40 -0
- package/src/cli/commands/admin/realms/index.ts +14 -0
- package/src/cli/commands/admin/realms/list.ts +38 -0
- package/src/cli/commands/admin/realms/passkeys/index.ts +15 -0
- package/src/cli/commands/admin/realms/passkeys/set.ts +44 -0
- package/src/cli/commands/admin/realms/privy/index.ts +14 -0
- package/src/cli/commands/admin/realms/privy/set.ts +69 -0
- package/src/cli/commands/admin/realms/remove.ts +33 -0
- package/src/cli/commands/admin/realms/secp256k1/disable.ts +40 -0
- package/src/cli/commands/admin/realms/secp256k1/enable.ts +40 -0
- package/src/cli/commands/admin/realms/secp256k1/index.ts +19 -0
- package/src/cli/commands/admin/realms/set.ts +46 -0
- package/src/cli/commands/admin/rotate-key.ts +47 -0
- package/src/cli/commands/init.ts +42 -0
- package/src/cli/commands/login.ts +32 -0
- package/src/cli/commands/logout.ts +19 -0
- package/src/cli/commands/whoami.ts +23 -0
- package/src/client/Actions.ts +180 -0
- package/src/client/Auth.ts +267 -0
- package/src/client/Authorization.ts +34 -0
- package/src/client/Decorator.ts +444 -0
- package/src/client/Key.ts +137 -0
- package/src/client/Pending.ts +45 -0
- package/src/client/Permissions.ts +41 -0
- package/src/client/Storage.ts +29 -0
- package/src/client/TempoAccount.ts +55 -0
- package/src/client/Tokens.ts +27 -0
- package/src/client/User.ts +23 -0
- package/src/client/actions/account.ts +171 -0
- package/src/client/actions/device.ts +166 -0
- package/src/client/actions/email.ts +164 -0
- package/src/client/actions/oauth.ts +179 -0
- package/src/client/actions/passkey.ts +333 -0
- package/src/client/actions/realm.ts +37 -0
- package/src/client/actions/redirect.ts +502 -0
- package/src/client/internal/accessKey.ts +54 -0
- package/src/client/internal/account.ts +18 -0
- package/src/client/internal/api.ts +242 -0
- package/src/client/internal/headless.ts +308 -0
- package/src/client/internal/indexedDb.ts +44 -0
- package/src/client/internal/request.ts +70 -0
- package/src/client/internal/store.ts +20 -0
- package/src/client/internal/verifier.ts +75 -0
- package/src/client.ts +17 -0
- package/src/index.ts +5 -0
- package/src/internal/Apps.ts +1283 -0
- package/src/internal/Auth.ts +273 -0
- package/src/internal/Authorize.ts +433 -0
- package/src/internal/Balance.ts +144 -0
- package/src/internal/BodyLimit.ts +31 -0
- package/src/internal/Cache.ts +119 -0
- package/src/internal/Chain.ts +99 -0
- package/src/internal/ChainList.ts +270 -0
- package/src/internal/ChainName.ts +14 -0
- package/src/internal/ChainStatus.ts +65 -0
- package/src/internal/CodeEmail.ts +138 -0
- package/src/internal/ConfigurableAccount.ts +1315 -0
- package/src/internal/Device.ts +471 -0
- package/src/internal/Env.ts +92 -0
- package/src/internal/ErrorResponse.ts +896 -0
- package/src/internal/Faucet.ts +43 -0
- package/src/internal/Id.ts +41 -0
- package/src/internal/KeyAuthorization.ts +1536 -0
- package/src/internal/Limits.ts +40 -0
- package/src/internal/Log.ts +166 -0
- package/src/internal/LogLine.ts +81 -0
- package/src/internal/Logout.ts +356 -0
- package/src/internal/Migrations.ts +120 -0
- package/src/internal/OpenApi.ts +300 -0
- package/src/internal/Owner.ts +310 -0
- package/src/internal/Passkey.ts +1904 -0
- package/src/internal/PendingKey.ts +104 -0
- package/src/internal/Privy.ts +536 -0
- package/src/internal/RateLimit.ts +346 -0
- package/src/internal/Realm.ts +814 -0
- package/src/internal/RequestId.ts +118 -0
- package/src/internal/SignInGrant.ts +175 -0
- package/src/internal/SigningKey.ts +319 -0
- package/src/internal/TempoAccount.ts +545 -0
- package/src/internal/TestInbox.ts +51 -0
- package/src/internal/Timing.ts +172 -0
- package/src/internal/Validation.ts +52 -0
- package/src/internal/Verification.ts +58 -0
- package/src/internal/Wallet.ts +101 -0
- package/src/internal/owners/Passkey.ts +76 -0
- package/src/internal/owners/Privy.ts +82 -0
- package/src/internal/owners/Secp256k1.ts +139 -0
- package/src/types/app.d.ts +39 -0
- package/src/worker.ts +17 -0
|
@@ -0,0 +1,901 @@
|
|
|
1
|
+
import { Hex } from 'ox';
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
import * as Schema from '../app/db/schema.js';
|
|
4
|
+
import type * as Apps from './Apps.js';
|
|
5
|
+
import * as Authorize from './Authorize.js';
|
|
6
|
+
import * as ErrorResponse from './ErrorResponse.js';
|
|
7
|
+
import * as Owner from './Owner.js';
|
|
8
|
+
import type * as Realm from './Realm.js';
|
|
9
|
+
declare const LimitError_base: {
|
|
10
|
+
new (options: ErrorResponse.define.Options): {
|
|
11
|
+
message: string;
|
|
12
|
+
stack?: string;
|
|
13
|
+
cause?: unknown;
|
|
14
|
+
readonly res?: Response;
|
|
15
|
+
readonly status: import("hono/utils/http-status").ContentfulStatusCode;
|
|
16
|
+
getResponse(): Response;
|
|
17
|
+
readonly name: string;
|
|
18
|
+
readonly response: Omit<{
|
|
19
|
+
error: string;
|
|
20
|
+
error_description: string;
|
|
21
|
+
error_uri: string;
|
|
22
|
+
field?: string | undefined;
|
|
23
|
+
meta?: Readonly<Record<string, string | number>> | undefined;
|
|
24
|
+
reason: string;
|
|
25
|
+
request_id?: string | undefined;
|
|
26
|
+
}, "error" | "reason"> & {
|
|
27
|
+
error: "access_denied";
|
|
28
|
+
reason: "passkey_limit";
|
|
29
|
+
};
|
|
30
|
+
};
|
|
31
|
+
readonly reason: "passkey_limit";
|
|
32
|
+
captureStackTrace(targetObject: object, constructorOpt?: Function): void;
|
|
33
|
+
prepareStackTrace(err: Error, stackTraces: NodeJS.CallSite[]): any;
|
|
34
|
+
stackTraceLimit: number;
|
|
35
|
+
};
|
|
36
|
+
/** The user holds {@link registrationLimit} registered passkeys, so Tempo ID registers no other. */
|
|
37
|
+
export declare class LimitError extends LimitError_base {
|
|
38
|
+
readonly name = "Passkey.LimitError";
|
|
39
|
+
constructor();
|
|
40
|
+
}
|
|
41
|
+
declare const LinkExpiredError_base: {
|
|
42
|
+
new (options: ErrorResponse.define.Options): {
|
|
43
|
+
message: string;
|
|
44
|
+
stack?: string;
|
|
45
|
+
cause?: unknown;
|
|
46
|
+
readonly res?: Response;
|
|
47
|
+
readonly status: import("hono/utils/http-status").ContentfulStatusCode;
|
|
48
|
+
getResponse(): Response;
|
|
49
|
+
readonly name: string;
|
|
50
|
+
readonly response: Omit<{
|
|
51
|
+
error: string;
|
|
52
|
+
error_description: string;
|
|
53
|
+
error_uri: string;
|
|
54
|
+
field?: string | undefined;
|
|
55
|
+
meta?: Readonly<Record<string, string | number>> | undefined;
|
|
56
|
+
reason: string;
|
|
57
|
+
request_id?: string | undefined;
|
|
58
|
+
}, "error" | "reason"> & {
|
|
59
|
+
error: "invalid_request";
|
|
60
|
+
reason: "passkey_link_expired";
|
|
61
|
+
};
|
|
62
|
+
};
|
|
63
|
+
readonly reason: "passkey_link_expired";
|
|
64
|
+
captureStackTrace(targetObject: object, constructorOpt?: Function): void;
|
|
65
|
+
prepareStackTrace(err: Error, stackTraces: NodeJS.CallSite[]): any;
|
|
66
|
+
stackTraceLimit: number;
|
|
67
|
+
};
|
|
68
|
+
/**
|
|
69
|
+
* The email step's link to a wallet.tempo passkey expired, or the browser holds no link cookie for it.
|
|
70
|
+
* The refusal comes before the code is checked, so the code stays valid for a sign-in without the
|
|
71
|
+
* passkey.
|
|
72
|
+
*/
|
|
73
|
+
export declare class LinkExpiredError extends LinkExpiredError_base {
|
|
74
|
+
readonly name = "Passkey.LinkExpiredError";
|
|
75
|
+
constructor();
|
|
76
|
+
}
|
|
77
|
+
declare const NotPermittedError_base: {
|
|
78
|
+
new (options: ErrorResponse.define.Options): {
|
|
79
|
+
message: string;
|
|
80
|
+
stack?: string;
|
|
81
|
+
cause?: unknown;
|
|
82
|
+
readonly res?: Response;
|
|
83
|
+
readonly status: import("hono/utils/http-status").ContentfulStatusCode;
|
|
84
|
+
getResponse(): Response;
|
|
85
|
+
readonly name: string;
|
|
86
|
+
readonly response: Omit<{
|
|
87
|
+
error: string;
|
|
88
|
+
error_description: string;
|
|
89
|
+
error_uri: string;
|
|
90
|
+
field?: string | undefined;
|
|
91
|
+
meta?: Readonly<Record<string, string | number>> | undefined;
|
|
92
|
+
reason: string;
|
|
93
|
+
request_id?: string | undefined;
|
|
94
|
+
}, "error" | "reason"> & {
|
|
95
|
+
error: "unauthorized_client";
|
|
96
|
+
reason: "passkey_not_permitted";
|
|
97
|
+
};
|
|
98
|
+
};
|
|
99
|
+
readonly reason: "passkey_not_permitted";
|
|
100
|
+
captureStackTrace(targetObject: object, constructorOpt?: Function): void;
|
|
101
|
+
prepareStackTrace(err: Error, stackTraces: NodeJS.CallSite[]): any;
|
|
102
|
+
stackTraceLimit: number;
|
|
103
|
+
};
|
|
104
|
+
/**
|
|
105
|
+
* A passkey sign-in names an app, or reaches a realm, that holds no passkeys for Tempo ID, or no
|
|
106
|
+
* passkeys whose relying party covers the app's page.
|
|
107
|
+
*/
|
|
108
|
+
export declare class NotPermittedError extends NotPermittedError_base {
|
|
109
|
+
readonly name = "Passkey.NotPermittedError";
|
|
110
|
+
constructor(options?: NotPermittedError.Options);
|
|
111
|
+
}
|
|
112
|
+
export declare namespace NotPermittedError {
|
|
113
|
+
type Options = {
|
|
114
|
+
/** The client ID of the app the sign-in names, if any. */
|
|
115
|
+
clientId?: string | undefined;
|
|
116
|
+
/** The origin of the app's page that runs the ceremony, or absent for Tempo ID's own page. */
|
|
117
|
+
origin?: string | undefined;
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
declare const ReauthenticationRequiredError_base: {
|
|
121
|
+
new (options: ErrorResponse.define.Options): {
|
|
122
|
+
message: string;
|
|
123
|
+
stack?: string;
|
|
124
|
+
cause?: unknown;
|
|
125
|
+
readonly res?: Response;
|
|
126
|
+
readonly status: import("hono/utils/http-status").ContentfulStatusCode;
|
|
127
|
+
getResponse(): Response;
|
|
128
|
+
readonly name: string;
|
|
129
|
+
readonly response: Omit<{
|
|
130
|
+
error: string;
|
|
131
|
+
error_description: string;
|
|
132
|
+
error_uri: string;
|
|
133
|
+
field?: string | undefined;
|
|
134
|
+
meta?: Readonly<Record<string, string | number>> | undefined;
|
|
135
|
+
reason: string;
|
|
136
|
+
request_id?: string | undefined;
|
|
137
|
+
}, "error" | "reason"> & {
|
|
138
|
+
error: "login_required";
|
|
139
|
+
reason: "reauthentication_required";
|
|
140
|
+
};
|
|
141
|
+
};
|
|
142
|
+
readonly reason: "reauthentication_required";
|
|
143
|
+
captureStackTrace(targetObject: object, constructorOpt?: Function): void;
|
|
144
|
+
prepareStackTrace(err: Error, stackTraces: NodeJS.CallSite[]): any;
|
|
145
|
+
stackTraceLimit: number;
|
|
146
|
+
};
|
|
147
|
+
/**
|
|
148
|
+
* A passkey registration comes from a session that signed in more than {@link registrationFreshness}
|
|
149
|
+
* seconds before. A session alone, such as one left open in a shared browser, thus adds no passkey.
|
|
150
|
+
*/
|
|
151
|
+
export declare class ReauthenticationRequiredError extends ReauthenticationRequiredError_base {
|
|
152
|
+
readonly name = "Passkey.ReauthenticationRequiredError";
|
|
153
|
+
constructor();
|
|
154
|
+
}
|
|
155
|
+
declare const WebAuthnRejectedError_base: {
|
|
156
|
+
new (options: ErrorResponse.define.Options): {
|
|
157
|
+
message: string;
|
|
158
|
+
stack?: string;
|
|
159
|
+
cause?: unknown;
|
|
160
|
+
readonly res?: Response;
|
|
161
|
+
readonly status: import("hono/utils/http-status").ContentfulStatusCode;
|
|
162
|
+
getResponse(): Response;
|
|
163
|
+
readonly name: string;
|
|
164
|
+
readonly response: Omit<{
|
|
165
|
+
error: string;
|
|
166
|
+
error_description: string;
|
|
167
|
+
error_uri: string;
|
|
168
|
+
field?: string | undefined;
|
|
169
|
+
meta?: Readonly<Record<string, string | number>> | undefined;
|
|
170
|
+
reason: string;
|
|
171
|
+
request_id?: string | undefined;
|
|
172
|
+
}, "error" | "reason"> & {
|
|
173
|
+
error: "access_denied";
|
|
174
|
+
reason: "webauthn_rejected";
|
|
175
|
+
};
|
|
176
|
+
};
|
|
177
|
+
readonly reason: "webauthn_rejected";
|
|
178
|
+
captureStackTrace(targetObject: object, constructorOpt?: Function): void;
|
|
179
|
+
prepareStackTrace(err: Error, stackTraces: NodeJS.CallSite[]): any;
|
|
180
|
+
stackTraceLimit: number;
|
|
181
|
+
};
|
|
182
|
+
/**
|
|
183
|
+
* A passkey ceremony failed: its challenge is unknown, spent, or expired, or the response does not
|
|
184
|
+
* verify. One refusal covers every case, so it reveals neither which check failed nor whether a
|
|
185
|
+
* credential exists.
|
|
186
|
+
*/
|
|
187
|
+
export declare class WebAuthnRejectedError extends WebAuthnRejectedError_base {
|
|
188
|
+
readonly name = "Passkey.WebAuthnRejectedError";
|
|
189
|
+
constructor();
|
|
190
|
+
}
|
|
191
|
+
/** A passkey assertion, as `webauthx/client`'s `Authentication.sign` serializes it. */
|
|
192
|
+
export type Assertion = z.output<typeof schema.assertion>;
|
|
193
|
+
/** A challenge that Tempo ID issued, as `take` returns it once spent. */
|
|
194
|
+
export type Challenge = {
|
|
195
|
+
/**
|
|
196
|
+
* The headless authorization request of a sign-in with key signature on an app's page, as the
|
|
197
|
+
* page sent it with its key's expiry filled, or `undefined` for none. The sign-in runs it.
|
|
198
|
+
*/
|
|
199
|
+
authorize: unknown;
|
|
200
|
+
/** The challenge, as hex. */
|
|
201
|
+
challenge: Hex.Hex;
|
|
202
|
+
/** The client ID of the app the sign-in named, or `null` for none. */
|
|
203
|
+
clientId: string | null;
|
|
204
|
+
/**
|
|
205
|
+
* The SHA-256 digest of the email step's link that the challenge confirms, as hex, or `undefined`
|
|
206
|
+
* for a sign-in challenge.
|
|
207
|
+
*/
|
|
208
|
+
link: string | undefined;
|
|
209
|
+
/**
|
|
210
|
+
* The origin of the app's page that the ceremony runs at, or `undefined` for Tempo ID's own page.
|
|
211
|
+
*/
|
|
212
|
+
origin: string | undefined;
|
|
213
|
+
/**
|
|
214
|
+
* The realm whose relying party the challenge was issued for, or `undefined` when the stored
|
|
215
|
+
* challenge names none, which skips the wallet.tempo lookup.
|
|
216
|
+
*/
|
|
217
|
+
realmId: string | undefined;
|
|
218
|
+
/** The relying party the challenge was issued for. */
|
|
219
|
+
rpId: string;
|
|
220
|
+
/**
|
|
221
|
+
* The witness that a key challenge's key authorization digest binds, or `undefined` for a
|
|
222
|
+
* random challenge.
|
|
223
|
+
*/
|
|
224
|
+
witness: Hex.Hex | undefined;
|
|
225
|
+
};
|
|
226
|
+
/** A registration credential, as `webauthx/client`'s `Registration.create` serializes it. */
|
|
227
|
+
export type Credential = z.output<typeof schema.credential>;
|
|
228
|
+
/** A row of the `keys` table. */
|
|
229
|
+
export type Key = typeof Schema.keys.$inferSelect;
|
|
230
|
+
/** A verified wallet.tempo passkey that waits for an emailed code to name its user. */
|
|
231
|
+
export type Link = z.output<typeof schema.link>;
|
|
232
|
+
/**
|
|
233
|
+
* A challenge for the new passkey's proof that it holds its private key, as `takeProof` returns it
|
|
234
|
+
* once spent.
|
|
235
|
+
*/
|
|
236
|
+
export type ProofChallenge = {
|
|
237
|
+
/** The challenge, as hex. */
|
|
238
|
+
challenge: Hex.Hex;
|
|
239
|
+
/** The credential ID of the new passkey, base64url. */
|
|
240
|
+
id: string;
|
|
241
|
+
/** The public key that the attestation holds, which the proof must verify against. */
|
|
242
|
+
publicKey: Hex.Hex;
|
|
243
|
+
/** The relying party of the `default` realm, which the new passkey belongs to. */
|
|
244
|
+
rpId: string;
|
|
245
|
+
};
|
|
246
|
+
/** A registration challenge that Tempo ID issued, as `takeRegistration` returns it once spent. */
|
|
247
|
+
export type RegistrationChallenge = {
|
|
248
|
+
/** The challenge, as hex. */
|
|
249
|
+
challenge: Hex.Hex;
|
|
250
|
+
/** The relying party of the `default` realm, which the new passkey must belong to. */
|
|
251
|
+
rpId: string;
|
|
252
|
+
};
|
|
253
|
+
/**
|
|
254
|
+
* A challenge for a passkey's signature of a key authorization, as `takeSignature` returns it once
|
|
255
|
+
* spent. The challenge is the key authorization's digest.
|
|
256
|
+
*/
|
|
257
|
+
export type SignatureChallenge = {
|
|
258
|
+
/** The address of the Tempo Account that the key acts for, lowercase. */
|
|
259
|
+
account: string;
|
|
260
|
+
/** The client ID of the app that requests the key. */
|
|
261
|
+
clientId: string;
|
|
262
|
+
/** The passkey that must sign. */
|
|
263
|
+
credential: Owner.Credential;
|
|
264
|
+
/** The digest of the key authorization, as hex. */
|
|
265
|
+
digest: Hex.Hex;
|
|
266
|
+
};
|
|
267
|
+
/** Seconds a challenge lasts. */
|
|
268
|
+
export declare const lifetime: number;
|
|
269
|
+
/** Seconds a deferred link lasts. */
|
|
270
|
+
export declare const linkLifetime: number;
|
|
271
|
+
/**
|
|
272
|
+
* Seconds after its sign-in that a session can register a passkey. A later registration requires a
|
|
273
|
+
* new sign-in.
|
|
274
|
+
*/
|
|
275
|
+
export declare const registrationFreshness: number;
|
|
276
|
+
/**
|
|
277
|
+
* The most passkeys that a user registers. Each owns an account that every account read lists, so
|
|
278
|
+
* the limit bounds the reads.
|
|
279
|
+
*/
|
|
280
|
+
export declare const registrationLimit = 10;
|
|
281
|
+
/** Zod schemas for passkey ceremonies. */
|
|
282
|
+
export declare namespace schema {
|
|
283
|
+
/**
|
|
284
|
+
* A credential ID in canonical unpadded base64url, of at most 1,023 bytes, as WebAuthn bounds it:
|
|
285
|
+
* 1,364 characters.
|
|
286
|
+
*/
|
|
287
|
+
const credentialId: z.ZodString;
|
|
288
|
+
/** A passkey assertion, as `webauthx/client`'s `Authentication.sign` serializes it. */
|
|
289
|
+
const assertion: z.ZodObject<{
|
|
290
|
+
id: z.ZodString;
|
|
291
|
+
metadata: z.ZodObject<{
|
|
292
|
+
authenticatorData: z.ZodTemplateLiteral<`0x${string}`>;
|
|
293
|
+
challengeIndex: z.ZodOptional<z.ZodNumber>;
|
|
294
|
+
clientDataJSON: z.ZodString;
|
|
295
|
+
typeIndex: z.ZodOptional<z.ZodNumber>;
|
|
296
|
+
userVerificationRequired: z.ZodOptional<z.ZodBoolean>;
|
|
297
|
+
}, z.core.$strip>;
|
|
298
|
+
raw: z.ZodObject<{
|
|
299
|
+
authenticatorAttachment: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
300
|
+
id: z.ZodString;
|
|
301
|
+
rawId: z.ZodString;
|
|
302
|
+
response: z.ZodObject<{
|
|
303
|
+
clientDataJSON: z.ZodString;
|
|
304
|
+
}, z.core.$strip>;
|
|
305
|
+
type: z.ZodString;
|
|
306
|
+
}, z.core.$strip>;
|
|
307
|
+
signature: z.ZodTemplateLiteral<`0x${string}`>;
|
|
308
|
+
}, z.core.$strip>;
|
|
309
|
+
/** The client data fields that `take` and `verify` read. */
|
|
310
|
+
const clientData: z.ZodObject<{
|
|
311
|
+
challenge: z.ZodString;
|
|
312
|
+
crossOrigin: z.ZodOptional<z.ZodBoolean>;
|
|
313
|
+
}, z.core.$strip>;
|
|
314
|
+
/** A registration credential, as `webauthx/client`'s `Registration.create` serializes it. */
|
|
315
|
+
const credential: z.ZodObject<{
|
|
316
|
+
attestationObject: z.ZodString;
|
|
317
|
+
clientDataJSON: z.ZodString;
|
|
318
|
+
id: z.ZodString;
|
|
319
|
+
publicKey: z.ZodTemplateLiteral<`0x${string}`>;
|
|
320
|
+
raw: z.ZodObject<{
|
|
321
|
+
authenticatorAttachment: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
322
|
+
id: z.ZodString;
|
|
323
|
+
rawId: z.ZodString;
|
|
324
|
+
response: z.ZodObject<{
|
|
325
|
+
clientDataJSON: z.ZodString;
|
|
326
|
+
}, z.core.$strip>;
|
|
327
|
+
type: z.ZodString;
|
|
328
|
+
}, z.core.$strip>;
|
|
329
|
+
}, z.core.$strip>;
|
|
330
|
+
/** A deferred link, as `seal` encrypts it. */
|
|
331
|
+
const link: z.ZodObject<{
|
|
332
|
+
address: z.ZodString;
|
|
333
|
+
createdAt: z.ZodNullable<z.ZodNumber>;
|
|
334
|
+
expiresAt: z.ZodNumber;
|
|
335
|
+
host: z.ZodString;
|
|
336
|
+
id: z.ZodString;
|
|
337
|
+
nonce: z.ZodString;
|
|
338
|
+
publicKey: z.ZodTemplateLiteral<`0x${string}`>;
|
|
339
|
+
rpId: z.ZodString;
|
|
340
|
+
}, z.core.$strip>;
|
|
341
|
+
/** A proof challenge's `verification` value. */
|
|
342
|
+
const proof: z.ZodObject<{
|
|
343
|
+
id: z.ZodString;
|
|
344
|
+
publicKey: z.ZodTemplateLiteral<`0x${string}`>;
|
|
345
|
+
rpId: z.ZodString;
|
|
346
|
+
}, z.core.$strip>;
|
|
347
|
+
/** A registration challenge's `verification` value. */
|
|
348
|
+
const registration: z.ZodObject<{
|
|
349
|
+
rpId: z.ZodString;
|
|
350
|
+
}, z.core.$strip>;
|
|
351
|
+
/** A signature challenge's `verification` value. */
|
|
352
|
+
const signature: z.ZodObject<{
|
|
353
|
+
account: z.ZodString;
|
|
354
|
+
clientId: z.ZodString;
|
|
355
|
+
credential: z.ZodObject<{
|
|
356
|
+
id: z.ZodString;
|
|
357
|
+
publicKey: z.ZodTemplateLiteral<`0x${string}`>;
|
|
358
|
+
rpId: z.ZodString;
|
|
359
|
+
}, z.core.$strip>;
|
|
360
|
+
}, z.core.$strip>;
|
|
361
|
+
/** The passkey step, which an approval of a key for a passkey-owned account returns. */
|
|
362
|
+
const step: z.ZodObject<{
|
|
363
|
+
step: z.ZodObject<{
|
|
364
|
+
options: z.ZodObject<{
|
|
365
|
+
publicKey: z.ZodObject<{
|
|
366
|
+
allowCredentials: z.ZodArray<z.ZodObject<{
|
|
367
|
+
id: z.ZodString;
|
|
368
|
+
type: z.ZodLiteral<"public-key">;
|
|
369
|
+
}, z.core.$strip>>;
|
|
370
|
+
challenge: z.ZodTemplateLiteral<`0x${string}`>;
|
|
371
|
+
rpId: z.ZodString;
|
|
372
|
+
userVerification: z.ZodLiteral<"required">;
|
|
373
|
+
}, z.core.$strip>;
|
|
374
|
+
}, z.core.$strip>;
|
|
375
|
+
type: z.ZodLiteral<"passkey">;
|
|
376
|
+
}, z.core.$strip>;
|
|
377
|
+
}, z.core.$strip>;
|
|
378
|
+
/** The passkey step of a headless authorization, which the app's page signs on its own origin. */
|
|
379
|
+
const headlessStep: z.ZodObject<{
|
|
380
|
+
expiry: z.ZodNumber;
|
|
381
|
+
step: z.ZodObject<{
|
|
382
|
+
options: z.ZodObject<{
|
|
383
|
+
publicKey: z.ZodObject<{
|
|
384
|
+
allowCredentials: z.ZodArray<z.ZodObject<{
|
|
385
|
+
id: z.ZodString;
|
|
386
|
+
type: z.ZodLiteral<"public-key">;
|
|
387
|
+
}, z.core.$strip>>;
|
|
388
|
+
challenge: z.ZodTemplateLiteral<`0x${string}`>;
|
|
389
|
+
rpId: z.ZodString;
|
|
390
|
+
userVerification: z.ZodLiteral<"required">;
|
|
391
|
+
}, z.core.$strip>;
|
|
392
|
+
}, z.core.$strip>;
|
|
393
|
+
type: z.ZodLiteral<"passkey">;
|
|
394
|
+
}, z.core.$strip>;
|
|
395
|
+
}, z.core.$strip>;
|
|
396
|
+
/** A `user` row that the plugin's endpoint signs in, as `takeWithKey` reads it. */
|
|
397
|
+
const user: z.ZodObject<{
|
|
398
|
+
createdAt: z.ZodDate;
|
|
399
|
+
email: z.ZodString;
|
|
400
|
+
emailVerified: z.ZodBoolean;
|
|
401
|
+
id: z.ZodString;
|
|
402
|
+
image: z.ZodNullable<z.ZodString>;
|
|
403
|
+
name: z.ZodString;
|
|
404
|
+
updatedAt: z.ZodDate;
|
|
405
|
+
}, z.core.$strip>;
|
|
406
|
+
/** A challenge's `verification` value. */
|
|
407
|
+
const value: z.ZodObject<{
|
|
408
|
+
authorize: z.ZodOptional<z.ZodUnknown>;
|
|
409
|
+
clientId: z.ZodNullable<z.ZodString>;
|
|
410
|
+
link: z.ZodOptional<z.ZodString>;
|
|
411
|
+
origin: z.ZodOptional<z.ZodString>;
|
|
412
|
+
realmId: z.ZodOptional<z.ZodString>;
|
|
413
|
+
rpId: z.ZodString;
|
|
414
|
+
witness: z.ZodOptional<z.ZodTemplateLiteral<`0x${string}`>>;
|
|
415
|
+
}, z.core.$strip>;
|
|
416
|
+
}
|
|
417
|
+
/**
|
|
418
|
+
* Issues a challenge for a sign-in at `rpId`, stores it until it expires, and returns it as hex.
|
|
419
|
+
* The challenge is random, or the digest of a key authorization for a sign-in with key signature,
|
|
420
|
+
* which stores its witness beside it. Returns `undefined` for a key challenge that a pending
|
|
421
|
+
* challenge already holds, since an app's challenge can repeat a digest, and one assertion must
|
|
422
|
+
* select exactly one request.
|
|
423
|
+
*/
|
|
424
|
+
export declare function challenge(db: Realm.Database, options: challenge.Options): Promise<`0x${string}` | undefined>;
|
|
425
|
+
export declare namespace challenge {
|
|
426
|
+
type Options = {
|
|
427
|
+
/**
|
|
428
|
+
* The headless authorization request that a sign-in with key signature on an app's page runs,
|
|
429
|
+
* as the page sent it with its key's expiry filled. Absent for any other sign-in.
|
|
430
|
+
*/
|
|
431
|
+
authorize?: unknown;
|
|
432
|
+
/** The client ID of the app the sign-in names, or `null` for none. */
|
|
433
|
+
clientId: string | null;
|
|
434
|
+
/**
|
|
435
|
+
* The digest of the key authorization that a sign-in with key signature signs, and the witness
|
|
436
|
+
* that the digest binds. The digest takes the place of a random challenge. Absent for a plain
|
|
437
|
+
* sign-in.
|
|
438
|
+
*/
|
|
439
|
+
keyChallenge?: {
|
|
440
|
+
/** The key authorization's digest, as hex. */
|
|
441
|
+
digest: Hex.Hex;
|
|
442
|
+
/** The witness that the digest binds. */
|
|
443
|
+
witness: Hex.Hex;
|
|
444
|
+
} | undefined;
|
|
445
|
+
/**
|
|
446
|
+
* The SHA-256 digest of the email step's link that the challenge confirms, as hex. Absent for a
|
|
447
|
+
* sign-in challenge.
|
|
448
|
+
*/
|
|
449
|
+
link?: string | undefined;
|
|
450
|
+
/**
|
|
451
|
+
* The origin of the app's page that the ceremony runs at. Absent for Tempo ID's own page. Only
|
|
452
|
+
* an assertion that reports it, from a request that page sends, spends the challenge.
|
|
453
|
+
*/
|
|
454
|
+
origin?: string | undefined;
|
|
455
|
+
/** The realm whose relying party the sign-in uses. */
|
|
456
|
+
realmId: string;
|
|
457
|
+
/** The relying party ID the passkey must belong to. */
|
|
458
|
+
rpId: string;
|
|
459
|
+
};
|
|
460
|
+
}
|
|
461
|
+
/**
|
|
462
|
+
* Returns why Tempo ID refuses a passkey ceremony on an app's page, or `undefined` when the page may
|
|
463
|
+
* run one. Tempo ID verifies the assertion for the page's origin, so only a first-party web app's
|
|
464
|
+
* page, at the origin of one of its redirect URIs, runs a ceremony:
|
|
465
|
+
*
|
|
466
|
+
* - A page sends the app's `client_id`, and the app must exist, be enabled, and be first-party.
|
|
467
|
+
* - A native app's request proves no app, so it signs in through an authentication sheet.
|
|
468
|
+
* - The request's `Origin` must be the origin of one of the app's redirect URIs.
|
|
469
|
+
*/
|
|
470
|
+
export declare function checkPage(options: checkPage.Options): ErrorResponse.Instance<typeof checkPage.errors> | undefined;
|
|
471
|
+
export declare namespace checkPage {
|
|
472
|
+
type Options = {
|
|
473
|
+
/** The app that `clientId` names, or `undefined` when no enabled app has it. */
|
|
474
|
+
app: Pick<Apps.App, 'firstParty' | 'redirectUris' | 'type'> | undefined;
|
|
475
|
+
/** The client ID that the request sends, if any. */
|
|
476
|
+
clientId: string | undefined;
|
|
477
|
+
/** The request's `Origin`, if any. */
|
|
478
|
+
origin: string | undefined;
|
|
479
|
+
};
|
|
480
|
+
/** The refusals `checkPage` returns. Its return type admits no other. */
|
|
481
|
+
const errors: readonly [typeof Authorize.InvalidOriginError, typeof Authorize.RejectedError];
|
|
482
|
+
}
|
|
483
|
+
/**
|
|
484
|
+
* Returns the passkey with the credential `id` that belongs to `rpId`, or `undefined` when Tempo ID
|
|
485
|
+
* stores none.
|
|
486
|
+
*/
|
|
487
|
+
export declare function get(db: Realm.Database, options: get.Options): Promise<{
|
|
488
|
+
address: string | null;
|
|
489
|
+
createdAt: Date;
|
|
490
|
+
id: string;
|
|
491
|
+
publicKey: string;
|
|
492
|
+
rpId: string;
|
|
493
|
+
source: string;
|
|
494
|
+
type: string;
|
|
495
|
+
userId: string;
|
|
496
|
+
} | undefined>;
|
|
497
|
+
export declare namespace get {
|
|
498
|
+
type Options = {
|
|
499
|
+
/** The credential ID, base64url. */
|
|
500
|
+
id: string;
|
|
501
|
+
/** The relying party ID the passkey must belong to. */
|
|
502
|
+
rpId: string;
|
|
503
|
+
};
|
|
504
|
+
}
|
|
505
|
+
/**
|
|
506
|
+
* Stores a verified wallet.tempo passkey for `userId`, and returns the user the passkey's row names.
|
|
507
|
+
* A concurrent first sign-in of the same passkey can store the row first, so the row decides.
|
|
508
|
+
* Returns `undefined` when another passkey holds the address.
|
|
509
|
+
*/
|
|
510
|
+
export declare function link(db: Realm.Database, options: link.Options): Promise<string | undefined>;
|
|
511
|
+
export declare namespace link {
|
|
512
|
+
type Options = {
|
|
513
|
+
/** The passkey that wallet.tempo returned, which the assertion verified. */
|
|
514
|
+
credential: {
|
|
515
|
+
/** The address that the public key derives. */
|
|
516
|
+
address: string;
|
|
517
|
+
/** When wallet.tempo created the passkey, in milliseconds, or `null` when it has no time. */
|
|
518
|
+
createdAt: number | null;
|
|
519
|
+
/** The uncompressed P256 public key, hex. */
|
|
520
|
+
publicKey: Hex.Hex;
|
|
521
|
+
};
|
|
522
|
+
/** The credential ID, base64url. */
|
|
523
|
+
id: string;
|
|
524
|
+
/** The relying party of the passkey: the `default` realm's, which wallet.tempo shares. */
|
|
525
|
+
rpId: string;
|
|
526
|
+
/** The user the passkey links to. */
|
|
527
|
+
userId: string;
|
|
528
|
+
};
|
|
529
|
+
}
|
|
530
|
+
/**
|
|
531
|
+
* Returns the passkeys that the user with `userId` holds, of every relying party, oldest first. Each
|
|
532
|
+
* entry marks whether it counts toward {@link registrationLimit}, as {@link registered} counts it, so
|
|
533
|
+
* one read serves both the limit and the passkeys that a new registration excludes.
|
|
534
|
+
*/
|
|
535
|
+
export declare function list(db: Realm.Database, options: list.Options): Promise<{
|
|
536
|
+
id: string;
|
|
537
|
+
registered: boolean;
|
|
538
|
+
rpId: string;
|
|
539
|
+
}[]>;
|
|
540
|
+
export declare namespace list {
|
|
541
|
+
type Options = {
|
|
542
|
+
/** The user's ID. */
|
|
543
|
+
userId: string;
|
|
544
|
+
};
|
|
545
|
+
}
|
|
546
|
+
/**
|
|
547
|
+
* Instantiates a passkey sign-in plugin for Better Auth. Its server-only `signInPasskey` endpoint
|
|
548
|
+
* creates a session for a user whose assertion a route verified, and sets the session cookie. Like
|
|
549
|
+
* every sign-in, it continues an app's authorization that `oauth_query` names.
|
|
550
|
+
*/
|
|
551
|
+
export declare function plugin(): {
|
|
552
|
+
endpoints: {
|
|
553
|
+
signInPasskey: import("better-auth").StrictEndpoint<string, {
|
|
554
|
+
body: z.ZodObject<{
|
|
555
|
+
oauth_query: z.ZodOptional<z.ZodString>;
|
|
556
|
+
user: z.ZodOptional<z.ZodObject<{
|
|
557
|
+
createdAt: z.ZodDate;
|
|
558
|
+
email: z.ZodString;
|
|
559
|
+
emailVerified: z.ZodBoolean;
|
|
560
|
+
id: z.ZodString;
|
|
561
|
+
image: z.ZodNullable<z.ZodString>;
|
|
562
|
+
name: z.ZodString;
|
|
563
|
+
updatedAt: z.ZodDate;
|
|
564
|
+
}, z.core.$strip>>;
|
|
565
|
+
userId: z.ZodString;
|
|
566
|
+
}, z.core.$strip>;
|
|
567
|
+
method: "POST";
|
|
568
|
+
}, {
|
|
569
|
+
user: {
|
|
570
|
+
email: string;
|
|
571
|
+
id: string;
|
|
572
|
+
};
|
|
573
|
+
}>;
|
|
574
|
+
};
|
|
575
|
+
id: "tempo-id-passkey";
|
|
576
|
+
};
|
|
577
|
+
/**
|
|
578
|
+
* Returns how many passkeys the user with `userId` registered, of {@link registrationLimit} at most.
|
|
579
|
+
*/
|
|
580
|
+
export declare function registered(db: Realm.Database, options: registered.Options): Promise<number>;
|
|
581
|
+
export declare namespace registered {
|
|
582
|
+
type Options = {
|
|
583
|
+
/** The user's ID. */
|
|
584
|
+
userId: string;
|
|
585
|
+
};
|
|
586
|
+
}
|
|
587
|
+
/**
|
|
588
|
+
* Stores a passkey that the user with `userId` registered, once `verifyRegistration` accepted its
|
|
589
|
+
* credential and `verify` its proof. Like a linked wallet.tempo passkey, it signs in, and owns the
|
|
590
|
+
* Tempo Account at the address that its public key derives. It never replaces a stored row. Returns:
|
|
591
|
+
*
|
|
592
|
+
* - `stored` once it stores the passkey.
|
|
593
|
+
* - `held` when Tempo ID already stores the credential ID or the address.
|
|
594
|
+
* - `limit` when the user holds {@link registrationLimit} registered passkeys.
|
|
595
|
+
* - `stale` when the `default` realm's relying party is no longer the challenge's.
|
|
596
|
+
*/
|
|
597
|
+
export declare function register(db: Realm.Database, options: register.Options): Promise<'held' | 'limit' | 'stale' | 'stored'>;
|
|
598
|
+
export declare namespace register {
|
|
599
|
+
type Options = {
|
|
600
|
+
/** The credential ID, base64url. */
|
|
601
|
+
id: string;
|
|
602
|
+
/** The uncompressed P256 public key that the attestation holds, and the proof verified, hex. */
|
|
603
|
+
publicKey: Hex.Hex;
|
|
604
|
+
/** The relying party of the `default` realm, which the challenge was issued for. */
|
|
605
|
+
rpId: string;
|
|
606
|
+
/** The user who registers the passkey. */
|
|
607
|
+
userId: string;
|
|
608
|
+
};
|
|
609
|
+
}
|
|
610
|
+
/**
|
|
611
|
+
* Returns the first of `realms` that holds passkeys which can sign in at `origin`, and at `page`
|
|
612
|
+
* when given, with its relying party ID, or `undefined` when none can. A WebAuthn ceremony runs
|
|
613
|
+
* only at an origin whose host is the relying party ID or one of its subdomains.
|
|
614
|
+
*/
|
|
615
|
+
export declare function relyingParty(realms: readonly Realm.Realm[], options: relyingParty.Options): {
|
|
616
|
+
realmId: string;
|
|
617
|
+
rpId: string;
|
|
618
|
+
} | undefined;
|
|
619
|
+
export declare namespace relyingParty {
|
|
620
|
+
type Options = {
|
|
621
|
+
/** Tempo ID's own origin. */
|
|
622
|
+
origin: string;
|
|
623
|
+
/**
|
|
624
|
+
* The origin of the app's page that runs the ceremony, if any. The relying party must cover it
|
|
625
|
+
* and Tempo ID's origin both, so the page shares a site with Tempo ID, and the browser sends the
|
|
626
|
+
* session cookie on the page's requests after the sign-in.
|
|
627
|
+
*/
|
|
628
|
+
page?: string | undefined;
|
|
629
|
+
};
|
|
630
|
+
}
|
|
631
|
+
/**
|
|
632
|
+
* Issues a random challenge for the new passkey `credential` to sign, stores it with the passkey
|
|
633
|
+
* until it expires, and returns it as hex. Only the user with `userId` spends it. The attestation
|
|
634
|
+
* of format `none` carries no signature, so only this assertion proves that the user holds the
|
|
635
|
+
* passkey's private key.
|
|
636
|
+
*/
|
|
637
|
+
export declare function requestProof(db: Realm.Database, options: requestProof.Options): Promise<`0x${string}`>;
|
|
638
|
+
export declare namespace requestProof {
|
|
639
|
+
type Options = {
|
|
640
|
+
/** The new passkey, as `verifyRegistration` returned it. */
|
|
641
|
+
credential: {
|
|
642
|
+
/** The credential ID, base64url. */
|
|
643
|
+
id: string;
|
|
644
|
+
/** The uncompressed P256 public key that the attestation holds, hex. */
|
|
645
|
+
publicKey: Hex.Hex;
|
|
646
|
+
};
|
|
647
|
+
/** The relying party of the `default` realm, which the new passkey belongs to. */
|
|
648
|
+
rpId: string;
|
|
649
|
+
/** The signed-in user's ID. */
|
|
650
|
+
userId: string;
|
|
651
|
+
};
|
|
652
|
+
}
|
|
653
|
+
/**
|
|
654
|
+
* Issues a random challenge for the registration of a passkey of `rpId` by the user with `userId`,
|
|
655
|
+
* stores it until it expires, and returns it as hex. Only that user spends it.
|
|
656
|
+
*/
|
|
657
|
+
export declare function requestRegistration(db: Realm.Database, options: requestRegistration.Options): Promise<`0x${string}`>;
|
|
658
|
+
export declare namespace requestRegistration {
|
|
659
|
+
type Options = {
|
|
660
|
+
/** The relying party of the `default` realm, which the new passkey must belong to. */
|
|
661
|
+
rpId: string;
|
|
662
|
+
/** The signed-in user's ID. */
|
|
663
|
+
userId: string;
|
|
664
|
+
};
|
|
665
|
+
}
|
|
666
|
+
/**
|
|
667
|
+
* Stores the digest of a key authorization as the challenge of a signature by `credential`, until it
|
|
668
|
+
* expires. Only the user with `userId` spends it, for the same account, app, and passkey.
|
|
669
|
+
*/
|
|
670
|
+
export declare function requestSignature(db: Realm.Database, options: requestSignature.Options): Promise<void>;
|
|
671
|
+
export declare namespace requestSignature {
|
|
672
|
+
type Options = {
|
|
673
|
+
/** The address of the Tempo Account that the key acts for. */
|
|
674
|
+
account: string;
|
|
675
|
+
/** The client ID of the app that requests the key. */
|
|
676
|
+
clientId: string;
|
|
677
|
+
/** The passkey that must sign: the account's owner. */
|
|
678
|
+
credential: Owner.Credential;
|
|
679
|
+
/** The digest of the key authorization, as hex. */
|
|
680
|
+
digest: Hex.Hex;
|
|
681
|
+
/** The signed-in user's ID. */
|
|
682
|
+
userId: string;
|
|
683
|
+
};
|
|
684
|
+
}
|
|
685
|
+
/**
|
|
686
|
+
* Encrypts a deferred link with a key derived from `secret`, for the link cookie. The cookie cannot
|
|
687
|
+
* be read, changed, or forged without the secret.
|
|
688
|
+
*/
|
|
689
|
+
export declare function seal(value: Link, options: seal.Options): Promise<string>;
|
|
690
|
+
export declare namespace seal {
|
|
691
|
+
type Options = {
|
|
692
|
+
/** The `SECRET` variable. */
|
|
693
|
+
secret: string;
|
|
694
|
+
};
|
|
695
|
+
}
|
|
696
|
+
/**
|
|
697
|
+
* Spends the challenge that `clientDataJSON` names, and returns it, or `undefined` when it is
|
|
698
|
+
* unknown, spent, or expired. One statement deletes and returns the row, so two concurrent
|
|
699
|
+
* assertions over one challenge cannot both spend it.
|
|
700
|
+
*/
|
|
701
|
+
export declare function take(db: Realm.Database, options: take.Options): Promise<Challenge | undefined>;
|
|
702
|
+
export declare namespace take {
|
|
703
|
+
type Options = {
|
|
704
|
+
/** The assertion's client data, as the JSON string the browser collected. */
|
|
705
|
+
clientDataJSON: string;
|
|
706
|
+
};
|
|
707
|
+
}
|
|
708
|
+
/**
|
|
709
|
+
* Spends the challenge that `clientDataJSON` names, as {@link take} does, and returns it with the
|
|
710
|
+
* passkey with the credential `id` at the challenge's relying party and that passkey's user, in one
|
|
711
|
+
* statement. The challenge is spent whether or not the passkey exists. Returns `undefined` when the
|
|
712
|
+
* challenge is unknown, spent, or expired, and no `key` when Tempo ID stores no such passkey.
|
|
713
|
+
*/
|
|
714
|
+
export declare function takeWithKey(db: Realm.Database, options: takeWithKey.Options): Promise<takeWithKey.ReturnType | undefined>;
|
|
715
|
+
export declare namespace takeWithKey {
|
|
716
|
+
type Options = take.Options & {
|
|
717
|
+
/** The credential ID of the passkey that signed the assertion, base64url. */
|
|
718
|
+
id: string;
|
|
719
|
+
};
|
|
720
|
+
type ReturnType = {
|
|
721
|
+
/** The spent challenge. */
|
|
722
|
+
challenge: Challenge;
|
|
723
|
+
/**
|
|
724
|
+
* The passkey with the credential ID at the challenge's relying party, with its user, or
|
|
725
|
+
* `undefined` when Tempo ID stores none.
|
|
726
|
+
*/
|
|
727
|
+
key: {
|
|
728
|
+
/** The credential ID, base64url. */
|
|
729
|
+
id: string;
|
|
730
|
+
/** The uncompressed P256 public key, hex. */
|
|
731
|
+
publicKey: string;
|
|
732
|
+
/** The user that the passkey signs in. */
|
|
733
|
+
user: typeof Schema.user.$inferSelect;
|
|
734
|
+
/** The ID of that user. */
|
|
735
|
+
userId: string;
|
|
736
|
+
} | undefined;
|
|
737
|
+
};
|
|
738
|
+
}
|
|
739
|
+
/**
|
|
740
|
+
* Spends the proof challenge that `clientDataJSON` names for the user with `userId`, and returns it
|
|
741
|
+
* with the new passkey, or `undefined` when it is unknown, spent, expired, or another user's. One
|
|
742
|
+
* statement deletes and returns the row, so two concurrent proofs cannot both spend it.
|
|
743
|
+
*/
|
|
744
|
+
export declare function takeProof(db: Realm.Database, options: takeProof.Options): Promise<ProofChallenge | undefined>;
|
|
745
|
+
export declare namespace takeProof {
|
|
746
|
+
type Options = {
|
|
747
|
+
/** The assertion's client data, as the JSON string the browser collected. */
|
|
748
|
+
clientDataJSON: string;
|
|
749
|
+
/** The signed-in user's ID. */
|
|
750
|
+
userId: string;
|
|
751
|
+
};
|
|
752
|
+
}
|
|
753
|
+
/**
|
|
754
|
+
* Spends the registration challenge that `clientDataJSON` names for the user with `userId`, and
|
|
755
|
+
* returns it, or `undefined` when it is unknown, spent, expired, or another user's. One statement
|
|
756
|
+
* deletes and returns the row, so two concurrent registrations over one challenge cannot both
|
|
757
|
+
* spend it.
|
|
758
|
+
*/
|
|
759
|
+
export declare function takeRegistration(db: Realm.Database, options: takeRegistration.Options): Promise<RegistrationChallenge | undefined>;
|
|
760
|
+
export declare namespace takeRegistration {
|
|
761
|
+
type Options = {
|
|
762
|
+
/** The credential's client data, base64url, as the browser collected it. */
|
|
763
|
+
clientDataJSON: string;
|
|
764
|
+
/** The signed-in user's ID. */
|
|
765
|
+
userId: string;
|
|
766
|
+
};
|
|
767
|
+
}
|
|
768
|
+
/**
|
|
769
|
+
* Records the assertion of a sign-in with key signature on an app's page as spent until `expiry`, once it
|
|
770
|
+
* verified, and returns whether neither a sign-in nor a signature spent it before. The assertion
|
|
771
|
+
* becomes public once its key reaches the chain, and an app's challenge can repeat its digest, so
|
|
772
|
+
* the record holds whatever signs the key, and also when the authorization fails.
|
|
773
|
+
*/
|
|
774
|
+
export declare function spendSignIn(db: Realm.Database, options: spendSignIn.Options): Promise<boolean>;
|
|
775
|
+
export declare namespace spendSignIn {
|
|
776
|
+
type Options = {
|
|
777
|
+
/** The assertion's authenticator data, as hex. */
|
|
778
|
+
authenticatorData: Hex.Hex;
|
|
779
|
+
/**
|
|
780
|
+
* When the key that the assertion signs expires, in Unix seconds. The record lasts until then,
|
|
781
|
+
* for a year at most.
|
|
782
|
+
*/
|
|
783
|
+
expiry: number;
|
|
784
|
+
/** The assertion's signature, as hex. */
|
|
785
|
+
signature: Hex.Hex;
|
|
786
|
+
};
|
|
787
|
+
}
|
|
788
|
+
/**
|
|
789
|
+
* Records the assertion of a sign-in with key signature as a spent signature until `expiry`, for a year at
|
|
790
|
+
* most, and returns whether no signature spent it before. The sign-in's challenge was the key's
|
|
791
|
+
* digest, so no signature challenge precedes it, and the caller verifies the assertion over that
|
|
792
|
+
* digest first. It takes the lock of {@link takeSignature}, so an approval that repeats the
|
|
793
|
+
* assertion records it once.
|
|
794
|
+
*/
|
|
795
|
+
export declare function spendSignature(db: Realm.Database, options: spendSignature.Options): Promise<boolean>;
|
|
796
|
+
export declare namespace spendSignature {
|
|
797
|
+
type Options = spendSignIn.Options;
|
|
798
|
+
}
|
|
799
|
+
/**
|
|
800
|
+
* Spends the signature challenge that `clientDataJSON` names, for the user, app, account, and
|
|
801
|
+
* passkey of `options`, and returns it, or `undefined` when it is unknown, spent, or expired. One
|
|
802
|
+
* statement deletes and returns the rows, so two concurrent assertions over one challenge cannot
|
|
803
|
+
* both spend it, and an approval for another app, account, or passkey spends none of its rows.
|
|
804
|
+
*
|
|
805
|
+
* Returns the challenge only when `verify` accepts it with the assertion. Every step for the same
|
|
806
|
+
* key issues the same digest, so the transaction then records the assertion as spent until
|
|
807
|
+
* `expiry`, for a year at most, and returns `undefined` for an assertion that it recorded before. A captured assertion
|
|
808
|
+
* thus signs no second approval, and an assertion that does not verify leaves no record.
|
|
809
|
+
*/
|
|
810
|
+
export declare function takeSignature(db: Realm.Database, options: takeSignature.Options): Promise<SignatureChallenge | undefined>;
|
|
811
|
+
export declare namespace takeSignature {
|
|
812
|
+
type Options = {
|
|
813
|
+
/** The address of the Tempo Account that the key acts for. */
|
|
814
|
+
account: string;
|
|
815
|
+
/** The assertion's authenticator data, as hex. */
|
|
816
|
+
authenticatorData: Hex.Hex;
|
|
817
|
+
/** The client ID of the app that requests the key. */
|
|
818
|
+
clientId: string;
|
|
819
|
+
/** The assertion's client data, as the JSON string the browser collected. */
|
|
820
|
+
clientDataJSON: string;
|
|
821
|
+
/** The credential ID of the passkey that signed, base64url. */
|
|
822
|
+
credentialId: string;
|
|
823
|
+
/**
|
|
824
|
+
* When the key expires, in Unix seconds. The spent assertion stays recorded until then, for a
|
|
825
|
+
* year at most.
|
|
826
|
+
*/
|
|
827
|
+
expiry: number;
|
|
828
|
+
/** The assertion's signature, as hex. */
|
|
829
|
+
signature: Hex.Hex;
|
|
830
|
+
/** The signed-in user's ID. */
|
|
831
|
+
userId: string;
|
|
832
|
+
/**
|
|
833
|
+
* Returns whether the assertion verifies over the spent challenge, for the account, app, and
|
|
834
|
+
* passkey that it names. It runs in the transaction, so it performs no I/O.
|
|
835
|
+
*/
|
|
836
|
+
verify: (challenge: SignatureChallenge) => boolean;
|
|
837
|
+
};
|
|
838
|
+
}
|
|
839
|
+
/**
|
|
840
|
+
* Decrypts the link cookie's value, and returns the deferred link, or `undefined` when the value
|
|
841
|
+
* does not decrypt with `secret`, has another shape, came from another host, or expired.
|
|
842
|
+
*/
|
|
843
|
+
export declare function unseal(sealed: string, options: unseal.Options): Promise<{
|
|
844
|
+
address: string;
|
|
845
|
+
createdAt: number | null;
|
|
846
|
+
expiresAt: number;
|
|
847
|
+
host: string;
|
|
848
|
+
id: string;
|
|
849
|
+
nonce: string;
|
|
850
|
+
publicKey: `0x${string}`;
|
|
851
|
+
rpId: string;
|
|
852
|
+
} | undefined>;
|
|
853
|
+
export declare namespace unseal {
|
|
854
|
+
type Options = {
|
|
855
|
+
/** The host that serves the request, which must be the one that sealed the link. */
|
|
856
|
+
host: string;
|
|
857
|
+
/** The `SECRET` variable. */
|
|
858
|
+
secret: string;
|
|
859
|
+
};
|
|
860
|
+
}
|
|
861
|
+
/**
|
|
862
|
+
* Returns whether `assertion` signs `challenge` with `publicKey`, at `origin`, for `rpId`, with the
|
|
863
|
+
* user present and verified, outside a cross-origin iframe. The client cannot waive user
|
|
864
|
+
* verification.
|
|
865
|
+
*/
|
|
866
|
+
export declare function verify(assertion: Assertion, options: verify.Options): boolean;
|
|
867
|
+
export declare namespace verify {
|
|
868
|
+
type Options = {
|
|
869
|
+
/** The challenge that Tempo ID issued, as hex. */
|
|
870
|
+
challenge: Hex.Hex;
|
|
871
|
+
/** The origin the ceremony must report: Tempo ID's own, or the app's page that the challenge names. */
|
|
872
|
+
origin: string;
|
|
873
|
+
/** The passkey's uncompressed P256 public key, hex. */
|
|
874
|
+
publicKey: Hex.Hex;
|
|
875
|
+
/** The relying party ID the challenge was issued for. */
|
|
876
|
+
rpId: string;
|
|
877
|
+
};
|
|
878
|
+
}
|
|
879
|
+
/**
|
|
880
|
+
* Returns the credential ID and public key of the passkey that `credential` creates, or `undefined`
|
|
881
|
+
* when it does not create one over `challenge`, at `origin`, for `rpId`, with the user present and
|
|
882
|
+
* verified, outside a cross-origin iframe. The public key comes from the attestation object. An
|
|
883
|
+
* attestation of format `none` passes, as most authenticators return no other. It proves nothing
|
|
884
|
+
* about the private key, so the passkey must then sign a proof challenge from `requestProof`.
|
|
885
|
+
*/
|
|
886
|
+
export declare function verifyRegistration(credential: Credential, options: verifyRegistration.Options): {
|
|
887
|
+
id: string;
|
|
888
|
+
publicKey: `0x${string}`;
|
|
889
|
+
} | undefined;
|
|
890
|
+
export declare namespace verifyRegistration {
|
|
891
|
+
type Options = {
|
|
892
|
+
/** The registration challenge that Tempo ID issued, as hex. */
|
|
893
|
+
challenge: Hex.Hex;
|
|
894
|
+
/** The origin the ceremony must report: Tempo ID's own. */
|
|
895
|
+
origin: string;
|
|
896
|
+
/** The relying party ID the challenge was issued for. */
|
|
897
|
+
rpId: string;
|
|
898
|
+
};
|
|
899
|
+
}
|
|
900
|
+
export {};
|
|
901
|
+
//# sourceMappingURL=Passkey.d.ts.map
|