@zerodev/wallet-core 0.0.1-alpha.8 → 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 +68 -18
- package/dist/_cjs/actions/auth/authenticateWithEmail.js +1 -2
- package/dist/_cjs/actions/auth/authenticateWithEmail.js.map +1 -1
- package/dist/_cjs/actions/auth/authenticateWithOAuth.js +2 -3
- package/dist/_cjs/actions/auth/authenticateWithOAuth.js.map +1 -1
- package/dist/_cjs/actions/auth/getAuthProxyConfigId.js +10 -0
- package/dist/_cjs/actions/auth/getAuthProxyConfigId.js.map +1 -0
- package/dist/_cjs/actions/auth/getAuthenticators.js +16 -0
- package/dist/_cjs/actions/auth/getAuthenticators.js.map +1 -0
- package/dist/_cjs/actions/auth/getOAuthLoginUrl.js +18 -0
- package/dist/_cjs/actions/auth/getOAuthLoginUrl.js.map +1 -0
- package/dist/_cjs/actions/auth/getParentOrgId.js +10 -0
- package/dist/_cjs/actions/auth/getParentOrgId.js.map +1 -0
- package/dist/_cjs/actions/auth/getWhoami.js +18 -4
- package/dist/_cjs/actions/auth/getWhoami.js.map +1 -1
- package/dist/_cjs/actions/auth/index.js +9 -3
- package/dist/_cjs/actions/auth/index.js.map +1 -1
- package/dist/_cjs/actions/auth/loginWithStamp.js +5 -6
- package/dist/_cjs/actions/auth/loginWithStamp.js.map +1 -1
- package/dist/_cjs/actions/auth/registerWithOTP.js +1 -2
- package/dist/_cjs/actions/auth/registerWithOTP.js.map +1 -1
- package/dist/_cjs/actions/auth/registerWithPasskey.js +1 -2
- package/dist/_cjs/actions/auth/registerWithPasskey.js.map +1 -1
- package/dist/_cjs/actions/index.js +9 -3
- package/dist/_cjs/actions/index.js.map +1 -1
- package/dist/_cjs/actions/wallet/getUserWallet.js +3 -5
- package/dist/_cjs/actions/wallet/getUserWallet.js.map +1 -1
- package/dist/_cjs/actions/wallet/index.js +9 -3
- package/dist/_cjs/actions/wallet/index.js.map +1 -1
- package/dist/_cjs/actions/wallet/sign7702Authorization.js +16 -0
- package/dist/_cjs/actions/wallet/sign7702Authorization.js.map +1 -0
- package/dist/_cjs/actions/wallet/signMessage.js +17 -0
- package/dist/_cjs/actions/wallet/signMessage.js.map +1 -0
- package/dist/_cjs/actions/wallet/signTransaction.js +9 -18
- package/dist/_cjs/actions/wallet/signTransaction.js.map +1 -1
- package/dist/_cjs/actions/wallet/signTypedDataV4.js +17 -0
- package/dist/_cjs/actions/wallet/signTypedDataV4.js.map +1 -0
- package/dist/_cjs/actions/wallet/signUserOperation.js +17 -0
- package/dist/_cjs/actions/wallet/signUserOperation.js.map +1 -0
- package/dist/_cjs/actions/wallet/signingUtils.js +64 -0
- package/dist/_cjs/actions/wallet/signingUtils.js.map +1 -0
- package/dist/_cjs/adapters/viem.js +60 -27
- package/dist/_cjs/adapters/viem.js.map +1 -1
- package/dist/_cjs/client/authProxy.js +1 -1
- package/dist/_cjs/client/authProxy.js.map +1 -1
- package/dist/_cjs/client/createClient.js +5 -5
- package/dist/_cjs/client/createClient.js.map +1 -1
- package/dist/_cjs/client/decorators/client.js +9 -4
- package/dist/_cjs/client/decorators/client.js.map +1 -1
- package/dist/_cjs/client/index.js.map +1 -1
- package/dist/_cjs/client/transports/createTransport.js +6 -5
- package/dist/_cjs/client/transports/createTransport.js.map +1 -1
- package/dist/_cjs/client/transports/rest.js +40 -28
- package/dist/_cjs/client/transports/rest.js.map +1 -1
- package/dist/_cjs/constants.js +4 -4
- package/dist/_cjs/constants.js.map +1 -1
- package/dist/_cjs/core/{createZeroDevWallet.js → createZeroDevWalletCore.js} +94 -86
- package/dist/_cjs/core/createZeroDevWalletCore.js.map +1 -0
- package/dist/_cjs/index.js +14 -8
- package/dist/_cjs/index.js.map +1 -1
- package/dist/_cjs/index.native.js +39 -0
- package/dist/_cjs/index.native.js.map +1 -0
- package/dist/_cjs/native/createZeroDevWallet.js +13 -0
- package/dist/_cjs/native/createZeroDevWallet.js.map +1 -0
- package/dist/_cjs/native/stampers/passkey.js +30 -0
- package/dist/_cjs/native/stampers/passkey.js.map +1 -0
- package/dist/_cjs/native/stampers/secureStore.js +112 -0
- package/dist/_cjs/native/stampers/secureStore.js.map +1 -0
- package/dist/_cjs/native/storage/asyncStorage.js +11 -0
- package/dist/_cjs/native/storage/asyncStorage.js.map +1 -0
- package/dist/_cjs/stampers/iframeStamper.js +3 -0
- package/dist/_cjs/stampers/iframeStamper.js.map +1 -1
- package/dist/_cjs/stampers/indexedDbStamper.js +20 -2
- package/dist/_cjs/stampers/indexedDbStamper.js.map +1 -1
- package/dist/_cjs/stampers/noopPasskeyStamper.js +16 -0
- package/dist/_cjs/stampers/noopPasskeyStamper.js.map +1 -0
- package/dist/_cjs/stampers/webauthnStamper.js +23 -3
- package/dist/_cjs/stampers/webauthnStamper.js.map +1 -1
- package/dist/_cjs/stubs/native-on-web.js +12 -0
- package/dist/_cjs/stubs/native-on-web.js.map +1 -0
- package/dist/_cjs/utils/encryptOtpAttempt.js +57 -0
- package/dist/_cjs/utils/encryptOtpAttempt.js.map +1 -0
- package/dist/_cjs/utils/exportPrivateKey.js +1 -1
- package/dist/_cjs/utils/exportPrivateKey.js.map +1 -1
- package/dist/_cjs/utils/exportWallet.js +52 -61
- package/dist/_cjs/utils/exportWallet.js.map +1 -1
- package/dist/_cjs/utils/hpke.js +78 -0
- package/dist/_cjs/utils/hpke.js.map +1 -0
- package/dist/_cjs/utils/platform.js +19 -0
- package/dist/_cjs/utils/platform.js.map +1 -0
- package/dist/_cjs/utils/resolveOrganizationId.js +20 -0
- package/dist/_cjs/utils/resolveOrganizationId.js.map +1 -0
- package/dist/_cjs/utils/utils.js +5 -6
- package/dist/_cjs/utils/utils.js.map +1 -1
- package/dist/_cjs/web/createZeroDevWallet.js +21 -0
- package/dist/_cjs/web/createZeroDevWallet.js.map +1 -0
- package/dist/_esm/actions/auth/authenticateWithEmail.js +1 -2
- package/dist/_esm/actions/auth/authenticateWithEmail.js.map +1 -1
- package/dist/_esm/actions/auth/authenticateWithOAuth.js +8 -7
- package/dist/_esm/actions/auth/authenticateWithOAuth.js.map +1 -1
- package/dist/_esm/actions/auth/getAuthProxyConfigId.js +13 -0
- package/dist/_esm/actions/auth/getAuthProxyConfigId.js.map +1 -0
- package/dist/_esm/actions/auth/getAuthenticators.js +36 -0
- package/dist/_esm/actions/auth/getAuthenticators.js.map +1 -0
- package/dist/_esm/actions/auth/getOAuthLoginUrl.js +23 -0
- package/dist/_esm/actions/auth/getOAuthLoginUrl.js.map +1 -0
- package/dist/_esm/actions/auth/getParentOrgId.js +17 -0
- package/dist/_esm/actions/auth/getParentOrgId.js.map +1 -0
- package/dist/_esm/actions/auth/getWhoami.js +28 -6
- package/dist/_esm/actions/auth/getWhoami.js.map +1 -1
- package/dist/_esm/actions/auth/index.js +4 -1
- package/dist/_esm/actions/auth/index.js.map +1 -1
- package/dist/_esm/actions/auth/loginWithStamp.js +9 -6
- package/dist/_esm/actions/auth/loginWithStamp.js.map +1 -1
- package/dist/_esm/actions/auth/registerWithOTP.js +5 -2
- package/dist/_esm/actions/auth/registerWithOTP.js.map +1 -1
- package/dist/_esm/actions/auth/registerWithPasskey.js +1 -3
- package/dist/_esm/actions/auth/registerWithPasskey.js.map +1 -1
- package/dist/_esm/actions/index.js +2 -2
- package/dist/_esm/actions/index.js.map +1 -1
- package/dist/_esm/actions/wallet/getUserWallet.js +5 -5
- package/dist/_esm/actions/wallet/getUserWallet.js.map +1 -1
- package/dist/_esm/actions/wallet/index.js +4 -1
- package/dist/_esm/actions/wallet/index.js.map +1 -1
- package/dist/_esm/actions/wallet/sign7702Authorization.js +13 -0
- package/dist/_esm/actions/wallet/sign7702Authorization.js.map +1 -0
- package/dist/_esm/actions/wallet/signMessage.js +14 -0
- package/dist/_esm/actions/wallet/signMessage.js.map +1 -0
- package/dist/_esm/actions/wallet/signTransaction.js +9 -36
- package/dist/_esm/actions/wallet/signTransaction.js.map +1 -1
- package/dist/_esm/actions/wallet/signTypedDataV4.js +14 -0
- package/dist/_esm/actions/wallet/signTypedDataV4.js.map +1 -0
- package/dist/_esm/actions/wallet/signUserOperation.js +14 -0
- package/dist/_esm/actions/wallet/signUserOperation.js.map +1 -0
- package/dist/_esm/actions/wallet/signingUtils.js +69 -0
- package/dist/_esm/actions/wallet/signingUtils.js.map +1 -0
- package/dist/_esm/adapters/viem.js +63 -30
- package/dist/_esm/adapters/viem.js.map +1 -1
- package/dist/_esm/client/authProxy.js +9 -4
- package/dist/_esm/client/authProxy.js.map +1 -1
- package/dist/_esm/client/createClient.js +5 -5
- package/dist/_esm/client/createClient.js.map +1 -1
- package/dist/_esm/client/decorators/client.js +9 -4
- package/dist/_esm/client/decorators/client.js.map +1 -1
- package/dist/_esm/client/index.js +1 -1
- package/dist/_esm/client/index.js.map +1 -1
- package/dist/_esm/client/transports/createTransport.js +6 -5
- package/dist/_esm/client/transports/createTransport.js.map +1 -1
- package/dist/_esm/client/transports/rest.js +44 -29
- package/dist/_esm/client/transports/rest.js.map +1 -1
- package/dist/_esm/constants.js +10 -3
- package/dist/_esm/constants.js.map +1 -1
- package/dist/_esm/core/{createZeroDevWallet.js → createZeroDevWalletCore.js} +115 -90
- package/dist/_esm/core/createZeroDevWalletCore.js.map +1 -0
- package/dist/_esm/index.js +13 -5
- package/dist/_esm/index.js.map +1 -1
- package/dist/_esm/index.native.js +19 -0
- package/dist/_esm/index.native.js.map +1 -0
- package/dist/_esm/native/createZeroDevWallet.js +10 -0
- package/dist/_esm/native/createZeroDevWallet.js.map +1 -0
- package/dist/_esm/native/stampers/passkey.js +27 -0
- package/dist/_esm/native/stampers/passkey.js.map +1 -0
- package/dist/_esm/native/stampers/secureStore.js +120 -0
- package/dist/_esm/native/stampers/secureStore.js.map +1 -0
- package/dist/_esm/native/storage/asyncStorage.js +13 -0
- package/dist/_esm/native/storage/asyncStorage.js.map +1 -0
- package/dist/_esm/stampers/iframeStamper.js +3 -0
- package/dist/_esm/stampers/iframeStamper.js.map +1 -1
- package/dist/_esm/stampers/indexedDbStamper.js +20 -2
- package/dist/_esm/stampers/indexedDbStamper.js.map +1 -1
- package/dist/_esm/stampers/noopPasskeyStamper.js +18 -0
- package/dist/_esm/stampers/noopPasskeyStamper.js.map +1 -0
- package/dist/_esm/stampers/webauthnStamper.js +23 -4
- package/dist/_esm/stampers/webauthnStamper.js.map +1 -1
- package/dist/_esm/stubs/native-on-web.js +25 -0
- package/dist/_esm/stubs/native-on-web.js.map +1 -0
- package/dist/_esm/utils/encryptOtpAttempt.js +81 -0
- package/dist/_esm/utils/encryptOtpAttempt.js.map +1 -0
- package/dist/_esm/utils/exportPrivateKey.js +1 -1
- package/dist/_esm/utils/exportPrivateKey.js.map +1 -1
- package/dist/_esm/utils/exportWallet.js +52 -61
- package/dist/_esm/utils/exportWallet.js.map +1 -1
- package/dist/_esm/utils/hpke.js +119 -0
- package/dist/_esm/utils/hpke.js.map +1 -0
- package/dist/_esm/utils/platform.js +16 -0
- package/dist/_esm/utils/platform.js.map +1 -0
- package/dist/_esm/utils/resolveOrganizationId.js +27 -0
- package/dist/_esm/utils/resolveOrganizationId.js.map +1 -0
- package/dist/_esm/utils/utils.js +5 -6
- package/dist/_esm/utils/utils.js.map +1 -1
- package/dist/_esm/web/createZeroDevWallet.js +18 -0
- package/dist/_esm/web/createZeroDevWallet.js.map +1 -0
- package/dist/_types/actions/auth/authenticateWithEmail.d.ts +0 -6
- package/dist/_types/actions/auth/authenticateWithEmail.d.ts.map +1 -1
- package/dist/_types/actions/auth/authenticateWithOAuth.d.ts +10 -4
- package/dist/_types/actions/auth/authenticateWithOAuth.d.ts.map +1 -1
- package/dist/_types/actions/auth/getAuthProxyConfigId.d.ts +12 -0
- package/dist/_types/actions/auth/getAuthProxyConfigId.d.ts.map +1 -0
- package/dist/_types/actions/auth/getAuthenticators.d.ts +65 -0
- package/dist/_types/actions/auth/getAuthenticators.d.ts.map +1 -0
- package/dist/_types/actions/auth/getOAuthLoginUrl.d.ts +30 -0
- package/dist/_types/actions/auth/getOAuthLoginUrl.d.ts.map +1 -0
- package/dist/_types/actions/auth/getParentOrgId.d.ts +17 -0
- package/dist/_types/actions/auth/getParentOrgId.d.ts.map +1 -0
- package/dist/_types/actions/auth/getWhoami.d.ts +9 -2
- package/dist/_types/actions/auth/getWhoami.d.ts.map +1 -1
- package/dist/_types/actions/auth/index.d.ts +5 -2
- package/dist/_types/actions/auth/index.d.ts.map +1 -1
- package/dist/_types/actions/auth/loginWithStamp.d.ts +2 -5
- package/dist/_types/actions/auth/loginWithStamp.d.ts.map +1 -1
- package/dist/_types/actions/auth/registerWithOTP.d.ts +10 -3
- package/dist/_types/actions/auth/registerWithOTP.d.ts.map +1 -1
- package/dist/_types/actions/auth/registerWithPasskey.d.ts +0 -7
- package/dist/_types/actions/auth/registerWithPasskey.d.ts.map +1 -1
- package/dist/_types/actions/index.d.ts +2 -2
- package/dist/_types/actions/index.d.ts.map +1 -1
- package/dist/_types/actions/wallet/index.d.ts +4 -1
- package/dist/_types/actions/wallet/index.d.ts.map +1 -1
- package/dist/_types/actions/wallet/sign7702Authorization.d.ts +19 -0
- package/dist/_types/actions/wallet/sign7702Authorization.d.ts.map +1 -0
- package/dist/_types/actions/wallet/signMessage.d.ts +19 -0
- package/dist/_types/actions/wallet/signMessage.d.ts.map +1 -0
- package/dist/_types/actions/wallet/signTransaction.d.ts +1 -19
- package/dist/_types/actions/wallet/signTransaction.d.ts.map +1 -1
- package/dist/_types/actions/wallet/signTypedDataV4.d.ts +21 -0
- package/dist/_types/actions/wallet/signTypedDataV4.d.ts.map +1 -0
- package/dist/_types/actions/wallet/signUserOperation.d.ts +21 -0
- package/dist/_types/actions/wallet/signUserOperation.d.ts.map +1 -0
- package/dist/_types/actions/wallet/signingUtils.d.ts +32 -0
- package/dist/_types/actions/wallet/signingUtils.d.ts.map +1 -0
- package/dist/_types/adapters/viem.d.ts +1 -1
- package/dist/_types/adapters/viem.d.ts.map +1 -1
- package/dist/_types/client/authProxy.d.ts +13 -7
- package/dist/_types/client/authProxy.d.ts.map +1 -1
- package/dist/_types/client/decorators/client.d.ts +32 -6
- package/dist/_types/client/decorators/client.d.ts.map +1 -1
- package/dist/_types/client/index.d.ts +1 -1
- package/dist/_types/client/index.d.ts.map +1 -1
- package/dist/_types/client/transports/createTransport.d.ts +2 -0
- package/dist/_types/client/transports/createTransport.d.ts.map +1 -1
- package/dist/_types/client/transports/rest.d.ts +13 -5
- package/dist/_types/client/transports/rest.d.ts.map +1 -1
- package/dist/_types/client/types.d.ts +9 -9
- package/dist/_types/client/types.d.ts.map +1 -1
- package/dist/_types/constants.d.ts +3 -3
- package/dist/_types/constants.d.ts.map +1 -1
- package/dist/_types/core/{createZeroDevWallet.d.ts → createZeroDevWalletCore.d.ts} +30 -10
- package/dist/_types/core/createZeroDevWalletCore.d.ts.map +1 -0
- package/dist/_types/index.d.ts +7 -7
- package/dist/_types/index.d.ts.map +1 -1
- package/dist/_types/index.native.d.ts +19 -0
- package/dist/_types/index.native.d.ts.map +1 -0
- package/dist/_types/native/createZeroDevWallet.d.ts +12 -0
- package/dist/_types/native/createZeroDevWallet.d.ts.map +1 -0
- package/dist/_types/native/stampers/passkey.d.ts +5 -0
- package/dist/_types/native/stampers/passkey.d.ts.map +1 -0
- package/dist/_types/native/stampers/secureStore.d.ts +3 -0
- package/dist/_types/native/stampers/secureStore.d.ts.map +1 -0
- package/dist/_types/native/storage/asyncStorage.d.ts +3 -0
- package/dist/_types/native/storage/asyncStorage.d.ts.map +1 -0
- package/dist/_types/stampers/iframeStamper.d.ts.map +1 -1
- package/dist/_types/stampers/indexedDbStamper.d.ts +2 -2
- package/dist/_types/stampers/indexedDbStamper.d.ts.map +1 -1
- package/dist/_types/stampers/noopPasskeyStamper.d.ts +8 -0
- package/dist/_types/stampers/noopPasskeyStamper.d.ts.map +1 -0
- package/dist/_types/stampers/types.d.ts +39 -5
- package/dist/_types/stampers/types.d.ts.map +1 -1
- package/dist/_types/stampers/webauthnStamper.d.ts +2 -2
- package/dist/_types/stampers/webauthnStamper.d.ts.map +1 -1
- package/dist/_types/stubs/native-on-web.d.ts +6 -0
- package/dist/_types/stubs/native-on-web.d.ts.map +1 -0
- package/dist/_types/types/session.d.ts +2 -3
- package/dist/_types/types/session.d.ts.map +1 -1
- package/dist/_types/utils/buildClientSignature.d.ts +3 -3
- package/dist/_types/utils/buildClientSignature.d.ts.map +1 -1
- package/dist/_types/utils/encryptOtpAttempt.d.ts +40 -0
- package/dist/_types/utils/encryptOtpAttempt.d.ts.map +1 -0
- package/dist/_types/utils/exportPrivateKey.d.ts +1 -1
- package/dist/_types/utils/exportPrivateKey.d.ts.map +1 -1
- package/dist/_types/utils/exportWallet.d.ts +1 -1
- package/dist/_types/utils/exportWallet.d.ts.map +1 -1
- package/dist/_types/utils/hpke.d.ts +38 -0
- package/dist/_types/utils/hpke.d.ts.map +1 -0
- package/dist/_types/utils/platform.d.ts +2 -0
- package/dist/_types/utils/platform.d.ts.map +1 -0
- package/dist/_types/utils/resolveOrganizationId.d.ts +16 -0
- package/dist/_types/utils/resolveOrganizationId.d.ts.map +1 -0
- package/dist/_types/utils/utils.d.ts.map +1 -1
- package/dist/_types/web/createZeroDevWallet.d.ts +18 -0
- package/dist/_types/web/createZeroDevWallet.d.ts.map +1 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +100 -11
- package/src/actions/auth/authenticateWithEmail.ts +1 -9
- package/src/actions/auth/authenticateWithOAuth.ts +12 -7
- package/src/actions/auth/getAuthProxyConfigId.ts +20 -0
- package/src/actions/auth/getAuthenticators.ts +89 -0
- package/src/actions/auth/getOAuthLoginUrl.ts +48 -0
- package/src/actions/auth/getParentOrgId.ts +25 -0
- package/src/actions/auth/getWhoami.ts +33 -6
- package/src/actions/auth/index.ts +21 -5
- package/src/actions/auth/loginWithStamp.ts +11 -12
- package/src/actions/auth/registerWithOTP.ts +11 -5
- package/src/actions/auth/registerWithPasskey.ts +1 -10
- package/src/actions/index.ts +26 -7
- package/src/actions/wallet/getUserWallet.ts +5 -5
- package/src/actions/wallet/index.ts +22 -4
- package/src/actions/wallet/sign7702Authorization.ts +48 -0
- package/src/actions/wallet/signMessage.ts +47 -0
- package/src/actions/wallet/signTransaction.ts +19 -38
- package/src/actions/wallet/signTypedDataV4.ts +52 -0
- package/src/actions/wallet/signUserOperation.ts +56 -0
- package/src/actions/wallet/signingUtils.ts +110 -0
- package/src/adapters/viem.ts +75 -43
- package/src/client/authProxy.ts +14 -8
- package/src/client/createClient.ts +6 -6
- package/src/client/decorators/client.ts +78 -19
- package/src/client/index.ts +4 -1
- package/src/client/transports/createTransport.ts +8 -5
- package/src/client/transports/rest.ts +57 -34
- package/src/client/types.ts +9 -9
- package/src/constants.ts +12 -4
- package/src/core/{createZeroDevWallet.ts → createZeroDevWalletCore.ts} +147 -122
- package/src/index.native.ts +102 -0
- package/src/index.ts +49 -16
- package/src/native/createZeroDevWallet.ts +26 -0
- package/src/native/stampers/passkey.ts +39 -0
- package/src/native/stampers/secureStore.ts +139 -0
- package/src/native/storage/asyncStorage.ts +18 -0
- package/src/stampers/iframeStamper.ts +3 -0
- package/src/stampers/indexedDbStamper.ts +27 -4
- package/src/stampers/noopPasskeyStamper.ts +21 -0
- package/src/stampers/types.ts +39 -5
- package/src/stampers/webauthnStamper.ts +27 -6
- package/src/stubs/native-on-web.ts +29 -0
- package/src/types/session.ts +2 -3
- package/src/utils/buildClientSignature.ts +3 -3
- package/src/utils/encryptOtpAttempt.ts +142 -0
- package/src/utils/exportPrivateKey.ts +2 -2
- package/src/utils/exportWallet.ts +66 -75
- package/src/utils/hpke.ts +219 -0
- package/src/utils/platform.ts +21 -0
- package/src/utils/resolveOrganizationId.ts +28 -0
- package/src/utils/utils.ts +5 -6
- package/src/web/createZeroDevWallet.ts +45 -0
- package/dist/_cjs/actions/auth/getUserEmail.js +0 -16
- package/dist/_cjs/actions/auth/getUserEmail.js.map +0 -1
- package/dist/_cjs/actions/wallet/signRawPayload.js +0 -27
- package/dist/_cjs/actions/wallet/signRawPayload.js.map +0 -1
- package/dist/_cjs/core/createZeroDevWallet.js.map +0 -1
- package/dist/_cjs/stampers/index.js +0 -10
- package/dist/_cjs/stampers/index.js.map +0 -1
- package/dist/_esm/actions/auth/getUserEmail.js +0 -29
- package/dist/_esm/actions/auth/getUserEmail.js.map +0 -1
- package/dist/_esm/actions/wallet/signRawPayload.js +0 -42
- package/dist/_esm/actions/wallet/signRawPayload.js.map +0 -1
- package/dist/_esm/core/createZeroDevWallet.js.map +0 -1
- package/dist/_esm/stampers/index.js +0 -4
- package/dist/_esm/stampers/index.js.map +0 -1
- package/dist/_types/actions/auth/getUserEmail.d.ts +0 -29
- package/dist/_types/actions/auth/getUserEmail.d.ts.map +0 -1
- package/dist/_types/actions/wallet/signRawPayload.d.ts +0 -39
- package/dist/_types/actions/wallet/signRawPayload.d.ts.map +0 -1
- package/dist/_types/core/createZeroDevWallet.d.ts.map +0 -1
- package/dist/_types/stampers/index.d.ts +0 -5
- package/dist/_types/stampers/index.d.ts.map +0 -1
- package/src/actions/auth/getUserEmail.ts +0 -46
- package/src/actions/wallet/signRawPayload.ts +0 -75
- package/src/stampers/index.ts +0 -8
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.asyncStorageAdapter = void 0;
|
|
4
|
+
const AsyncStorageNS = require("@react-native-async-storage/async-storage");
|
|
5
|
+
const AsyncStorage = AsyncStorageNS.default;
|
|
6
|
+
exports.asyncStorageAdapter = {
|
|
7
|
+
getItem: (key) => AsyncStorage.getItem(key),
|
|
8
|
+
setItem: (key, value) => AsyncStorage.setItem(key, value),
|
|
9
|
+
removeItem: (key) => AsyncStorage.removeItem(key),
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=asyncStorage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"asyncStorage.js","sourceRoot":"","sources":["../../../../src/native/storage/asyncStorage.ts"],"names":[],"mappings":";;;AACA,4EAA2E;AAQ3E,MAAM,YAAY,GAChB,cACD,CAAC,OAAO,CAAA;AAEI,QAAA,mBAAmB,GAAmB;IACjD,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC;IAC3C,OAAO,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC;IACzD,UAAU,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC;CAClD,CAAA"}
|
|
@@ -30,6 +30,9 @@ async function createIframeStamper(cfg) {
|
|
|
30
30
|
async injectKeyExportBundle(bundle, organizationId, keyFormat) {
|
|
31
31
|
return await inner.injectKeyExportBundle(bundle, organizationId, keyFormat ? iframe_stamper_1.KeyFormat[keyFormat] : iframe_stamper_1.KeyFormat.Hexadecimal);
|
|
32
32
|
},
|
|
33
|
+
async applySettings(settings) {
|
|
34
|
+
return await inner.applySettings(settings);
|
|
35
|
+
},
|
|
33
36
|
};
|
|
34
37
|
}
|
|
35
38
|
//# sourceMappingURL=iframeStamper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"iframeStamper.js","sourceRoot":"","sources":["../../../src/stampers/iframeStamper.ts"],"names":[],"mappings":";;AAMA,
|
|
1
|
+
{"version":3,"file":"iframeStamper.js","sourceRoot":"","sources":["../../../src/stampers/iframeStamper.ts"],"names":[],"mappings":";;AAMA,kDA6CC;AAnDD,4DAGgC;AAGzB,KAAK,UAAU,mBAAmB,CAAC,GAIzC;IACC,MAAM,KAAK,GAAG,IAAI,8BAAoB,CAAC;QACrC,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,eAAe,EAAE,GAAG,CAAC,eAAe;QACpC,eAAe,EAAE,GAAG,CAAC,eAAe;KACrC,CAAC,CAAA;IAEF,OAAO;QACL,KAAK,CAAC,IAAI;YACR,OAAO,MAAM,KAAK,CAAC,IAAI,EAAE,CAAA;QAC3B,CAAC;QACD,KAAK,CAAC,sBAAsB,CAAC,MAAc;YACzC,OAAO,MAAM,KAAK,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAA;QACnD,CAAC;QACD,KAAK,CAAC,YAAY;YAChB,OAAO,MAAM,KAAK,CAAC,oBAAoB,EAAE,CAAA;QAC3C,CAAC;QACD,KAAK,CAAC,KAAK,CAAC,OAAe;YACzB,OAAO,MAAM,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QACnC,CAAC;QACD,KAAK,CAAC,KAAK;YACT,MAAM,KAAK,CAAC,KAAK,EAAE,CAAA;QACrB,CAAC;QACD,KAAK,CAAC,wBAAwB,CAAC,MAAc,EAAE,cAAsB;YACnE,OAAO,MAAM,KAAK,CAAC,wBAAwB,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;QACrE,CAAC;QACD,KAAK,CAAC,qBAAqB,CACzB,MAAc,EACd,cAAsB,EACtB,SAAyB;YAEzB,OAAO,MAAM,KAAK,CAAC,qBAAqB,CACtC,MAAM,EACN,cAAc,EACd,SAAS,CAAC,CAAC,CAAC,0BAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,0BAAS,CAAC,WAAW,CACzD,CAAA;QACH,CAAC;QACD,KAAK,CAAC,aAAa,CAAC,QAA6C;YAC/D,OAAO,MAAM,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;QAC5C,CAAC;KACF,CAAA;AACH,CAAC"}
|
|
@@ -2,9 +2,11 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.createIndexedDbStamper = createIndexedDbStamper;
|
|
4
4
|
const indexed_db_stamper_1 = require("@turnkey/indexed-db-stamper");
|
|
5
|
+
const utils_js_1 = require("../utils/utils.js");
|
|
5
6
|
async function createIndexedDbStamper() {
|
|
6
7
|
const inner = new indexed_db_stamper_1.IndexedDbStamper();
|
|
7
8
|
await inner.init();
|
|
9
|
+
let pendingKeyPair = null;
|
|
8
10
|
return {
|
|
9
11
|
async getPublicKey() {
|
|
10
12
|
return await inner.getPublicKey();
|
|
@@ -12,11 +14,27 @@ async function createIndexedDbStamper() {
|
|
|
12
14
|
async stamp(payload) {
|
|
13
15
|
return await inner.stamp(payload);
|
|
14
16
|
},
|
|
17
|
+
async sign(payload) {
|
|
18
|
+
return await inner.sign(payload);
|
|
19
|
+
},
|
|
15
20
|
async clear() {
|
|
16
21
|
await inner.clear();
|
|
17
22
|
},
|
|
18
|
-
async resetKeyPair(
|
|
19
|
-
|
|
23
|
+
async resetKeyPair() {
|
|
24
|
+
pendingKeyPair = null;
|
|
25
|
+
await inner.resetKeyPair();
|
|
26
|
+
},
|
|
27
|
+
async prepareKeyRotation() {
|
|
28
|
+
const keyPair = await crypto.subtle.generateKey({ name: 'ECDSA', namedCurve: 'P-256' }, false, ['sign', 'verify']);
|
|
29
|
+
pendingKeyPair = keyPair;
|
|
30
|
+
return await (0, utils_js_1.generateCompressedPublicKeyFromKeyPair)(keyPair);
|
|
31
|
+
},
|
|
32
|
+
async commitKeyRotation() {
|
|
33
|
+
if (!pendingKeyPair) {
|
|
34
|
+
throw new Error('No pending key rotation to commit');
|
|
35
|
+
}
|
|
36
|
+
await inner.resetKeyPair(pendingKeyPair);
|
|
37
|
+
pendingKeyPair = null;
|
|
20
38
|
},
|
|
21
39
|
};
|
|
22
40
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"indexedDbStamper.js","sourceRoot":"","sources":["../../../src/stampers/indexedDbStamper.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"indexedDbStamper.js","sourceRoot":"","sources":["../../../src/stampers/indexedDbStamper.ts"],"names":[],"mappings":";;AAIA,wDAwCC;AA5CD,oEAAyF;AACzF,gDAA0E;AAGnE,KAAK,UAAU,sBAAsB;IAC1C,MAAM,KAAK,GAAG,IAAI,qCAAuB,EAAE,CAAA;IAC3C,MAAM,KAAK,CAAC,IAAI,EAAE,CAAA;IAElB,IAAI,cAAc,GAAyB,IAAI,CAAA;IAE/C,OAAO;QACL,KAAK,CAAC,YAAY;YAChB,OAAO,MAAM,KAAK,CAAC,YAAY,EAAE,CAAA;QACnC,CAAC;QACD,KAAK,CAAC,KAAK,CAAC,OAAe;YACzB,OAAO,MAAM,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QACnC,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,OAAe;YACxB,OAAO,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAClC,CAAC;QACD,KAAK,CAAC,KAAK;YACT,MAAM,KAAK,CAAC,KAAK,EAAE,CAAA;QACrB,CAAC;QACD,KAAK,CAAC,YAAY;YAChB,cAAc,GAAG,IAAI,CAAA;YACrB,MAAM,KAAK,CAAC,YAAY,EAAE,CAAA;QAC5B,CAAC;QACD,KAAK,CAAC,kBAAkB;YACtB,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,WAAW,CAC7C,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,EACtC,KAAK,EACL,CAAC,MAAM,EAAE,QAAQ,CAAC,CACnB,CAAA;YACD,cAAc,GAAG,OAAO,CAAA;YACxB,OAAO,MAAM,IAAA,iDAAsC,EAAC,OAAO,CAAC,CAAA;QAC9D,CAAC;QACD,KAAK,CAAC,iBAAiB;YACrB,IAAI,CAAC,cAAc,EAAE,CAAC;gBACpB,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAA;YACtD,CAAC;YACD,MAAM,KAAK,CAAC,YAAY,CAAC,cAAc,CAAC,CAAA;YACxC,cAAc,GAAG,IAAI,CAAA;QACvB,CAAC;KACF,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createNoopPasskeyStamper = createNoopPasskeyStamper;
|
|
4
|
+
const NOT_CONFIGURED_MESSAGE = 'passkeyStamper is not configured. Pass passkeyStamper to zeroDevWallet({ ... }) — use createReactNativePasskeyStamper({ rpId }) on React Native or createWebauthnStamper({ rpId }) on web.';
|
|
5
|
+
function createNoopPasskeyStamper() {
|
|
6
|
+
return {
|
|
7
|
+
async stamp() {
|
|
8
|
+
throw new Error(NOT_CONFIGURED_MESSAGE);
|
|
9
|
+
},
|
|
10
|
+
async register() {
|
|
11
|
+
throw new Error(NOT_CONFIGURED_MESSAGE);
|
|
12
|
+
},
|
|
13
|
+
async clear() { },
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=noopPasskeyStamper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"noopPasskeyStamper.js","sourceRoot":"","sources":["../../../src/stampers/noopPasskeyStamper.ts"],"names":[],"mappings":";;AAUA,4DAUC;AAlBD,MAAM,sBAAsB,GAC1B,4LAA4L,CAAA;AAO9L,SAAgB,wBAAwB;IACtC,OAAO;QACL,KAAK,CAAC,KAAK;YACT,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAA;QACzC,CAAC;QACD,KAAK,CAAC,QAAQ;YACZ,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAA;QACzC,CAAC;QACD,KAAK,CAAC,KAAK,KAAI,CAAC;KACjB,CAAA;AACH,CAAC"}
|
|
@@ -1,17 +1,37 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.createWebauthnStamper = createWebauthnStamper;
|
|
4
|
+
const http_1 = require("@turnkey/http");
|
|
4
5
|
const webauthn_stamper_1 = require("@turnkey/webauthn-stamper");
|
|
6
|
+
const utils_js_1 = require("../utils/utils.js");
|
|
5
7
|
async function createWebauthnStamper({ rpId, }) {
|
|
6
8
|
const inner = new webauthn_stamper_1.WebauthnStamper({ rpId });
|
|
7
9
|
return {
|
|
8
|
-
async getPublicKey() {
|
|
9
|
-
return null;
|
|
10
|
-
},
|
|
11
10
|
async stamp(payload) {
|
|
12
11
|
return await inner.stamp(payload);
|
|
13
12
|
},
|
|
14
13
|
async clear() { },
|
|
14
|
+
async register(options) {
|
|
15
|
+
const challenge = (0, utils_js_1.generateRandomBuffer)();
|
|
16
|
+
const encodedChallenge = (0, utils_js_1.base64UrlEncode)(challenge);
|
|
17
|
+
const authenticatorUserId = (0, utils_js_1.generateRandomBuffer)();
|
|
18
|
+
const attestation = await (0, http_1.getWebAuthnAttestation)({
|
|
19
|
+
publicKey: {
|
|
20
|
+
rp: options.rp,
|
|
21
|
+
challenge,
|
|
22
|
+
pubKeyCredParams: [
|
|
23
|
+
{ type: 'public-key', alg: -7 },
|
|
24
|
+
{ type: 'public-key', alg: -257 },
|
|
25
|
+
],
|
|
26
|
+
user: {
|
|
27
|
+
id: authenticatorUserId,
|
|
28
|
+
name: options.userName,
|
|
29
|
+
displayName: options.userName,
|
|
30
|
+
},
|
|
31
|
+
},
|
|
32
|
+
});
|
|
33
|
+
return { attestation, encodedChallenge };
|
|
34
|
+
},
|
|
15
35
|
};
|
|
16
36
|
}
|
|
17
37
|
//# sourceMappingURL=webauthnStamper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webauthnStamper.js","sourceRoot":"","sources":["../../../src/stampers/webauthnStamper.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"webauthnStamper.js","sourceRoot":"","sources":["../../../src/stampers/webauthnStamper.ts"],"names":[],"mappings":";;AAKA,sDAoCC;AAzCD,wCAAsD;AACtD,gEAAqF;AACrF,gDAAyE;AAGlE,KAAK,UAAU,qBAAqB,CAAC,EAC1C,IAAI,GAGL;IACC,MAAM,KAAK,GAAG,IAAI,kCAAsB,CAAC,EAAE,IAAI,EAAE,CAAC,CAAA;IAElD,OAAO;QACL,KAAK,CAAC,KAAK,CAAC,OAAe;YACzB,OAAO,MAAM,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QACnC,CAAC;QACD,KAAK,CAAC,KAAK,KAAI,CAAC;QAChB,KAAK,CAAC,QAAQ,CAAC,OAAmC;YAChD,MAAM,SAAS,GAAG,IAAA,+BAAoB,GAAE,CAAA;YACxC,MAAM,gBAAgB,GAAG,IAAA,0BAAe,EAAC,SAAS,CAAC,CAAA;YACnD,MAAM,mBAAmB,GAAG,IAAA,+BAAoB,GAAE,CAAA;YAElD,MAAM,WAAW,GAAG,MAAM,IAAA,6BAAsB,EAAC;gBAC/C,SAAS,EAAE;oBACT,EAAE,EAAE,OAAO,CAAC,EAAE;oBACd,SAAS;oBACT,gBAAgB,EAAE;wBAChB,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE;wBAC/B,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE;qBAClC;oBACD,IAAI,EAAE;wBACJ,EAAE,EAAE,mBAAmB;wBACvB,IAAI,EAAE,OAAO,CAAC,QAAQ;wBACtB,WAAW,EAAE,OAAO,CAAC,QAAQ;qBAC9B;iBACF;aACF,CAAC,CAAA;YAEF,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAA;QAC1C,CAAC;KACF,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.asyncStorageAdapter = exports.createReactNativePasskeyStamper = exports.createSecureStoreStamper = void 0;
|
|
4
|
+
const message = '@zerodev/wallet-core react-native subpaths cannot be imported in a web environment. Use the bare specifier (`import { ... } from "@zerodev/wallet-core"`) instead.';
|
|
5
|
+
function throwOnUse() {
|
|
6
|
+
throw new Error(message);
|
|
7
|
+
}
|
|
8
|
+
exports.createSecureStoreStamper = throwOnUse;
|
|
9
|
+
exports.createReactNativePasskeyStamper = throwOnUse;
|
|
10
|
+
exports.asyncStorageAdapter = throwOnUse;
|
|
11
|
+
exports.default = throwOnUse;
|
|
12
|
+
//# sourceMappingURL=native-on-web.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"native-on-web.js","sourceRoot":"","sources":["../../../src/stubs/native-on-web.ts"],"names":[],"mappings":";;;AAcA,MAAM,OAAO,GACX,oKAAoK,CAAA;AAEtK,SAAS,UAAU;IACjB,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAA;AAC1B,CAAC;AAEY,QAAA,wBAAwB,GAAG,UAAU,CAAA;AACrC,QAAA,+BAA+B,GAAG,UAAU,CAAA;AAC5C,QAAA,mBAAmB,GAAG,UAAU,CAAA;AAK7C,kBAAe,UAAU,CAAA"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.encryptOtpAttempt = encryptOtpAttempt;
|
|
4
|
+
const nist_js_1 = require("@noble/curves/nist.js");
|
|
5
|
+
const utils_js_1 = require("@noble/hashes/utils.js");
|
|
6
|
+
const constants_js_1 = require("../constants.js");
|
|
7
|
+
const hpke_js_1 = require("./hpke.js");
|
|
8
|
+
const BUNDLE_DATA_VERSION = 'v1.0.0';
|
|
9
|
+
async function encryptOtpAttempt({ otpCode, publicKey, encryptionTargetBundle, dangerouslyOverrideSignerPublicKey, }) {
|
|
10
|
+
const expectedSignerHex = dangerouslyOverrideSignerPublicKey ?? constants_js_1.TURNKEY_TLS_FETCHER_SIGN_PUBLIC_KEY;
|
|
11
|
+
let envelope;
|
|
12
|
+
try {
|
|
13
|
+
envelope = JSON.parse(encryptionTargetBundle);
|
|
14
|
+
}
|
|
15
|
+
catch (err) {
|
|
16
|
+
throw new Error(`encryptOtpAttempt: failed to parse encryption target bundle: ${err.message}`);
|
|
17
|
+
}
|
|
18
|
+
if (envelope.version !== BUNDLE_DATA_VERSION) {
|
|
19
|
+
throw new Error(`encryptOtpAttempt: unsupported bundle version ${envelope.version}`);
|
|
20
|
+
}
|
|
21
|
+
if (envelope.enclaveQuorumPublic.toLowerCase() !==
|
|
22
|
+
expectedSignerHex.toLowerCase()) {
|
|
23
|
+
throw new Error('encryptOtpAttempt: enclave quorum public key does not match pinned signing key');
|
|
24
|
+
}
|
|
25
|
+
const dataBytes = (0, utils_js_1.hexToBytes)(envelope.data);
|
|
26
|
+
const signatureBytes = (0, utils_js_1.hexToBytes)(envelope.dataSignature);
|
|
27
|
+
const signerPublicKeyBytes = (0, utils_js_1.hexToBytes)(envelope.enclaveQuorumPublic);
|
|
28
|
+
const valid = nist_js_1.p256.verify(signatureBytes, dataBytes, signerPublicKeyBytes, {
|
|
29
|
+
prehash: true,
|
|
30
|
+
format: 'der',
|
|
31
|
+
lowS: false,
|
|
32
|
+
});
|
|
33
|
+
if (!valid) {
|
|
34
|
+
throw new Error('encryptOtpAttempt: invalid enclave signature on bundle');
|
|
35
|
+
}
|
|
36
|
+
let signedData;
|
|
37
|
+
try {
|
|
38
|
+
signedData = JSON.parse(new TextDecoder().decode(dataBytes));
|
|
39
|
+
}
|
|
40
|
+
catch (err) {
|
|
41
|
+
throw new Error(`encryptOtpAttempt: failed to parse signed bundle data: ${err.message}`);
|
|
42
|
+
}
|
|
43
|
+
if (!signedData.targetPublic) {
|
|
44
|
+
throw new Error('encryptOtpAttempt: missing targetPublic in signed data');
|
|
45
|
+
}
|
|
46
|
+
const targetPublicKey = (0, utils_js_1.hexToBytes)(signedData.targetPublic);
|
|
47
|
+
const plaintext = new TextEncoder().encode(JSON.stringify({ otp_code: otpCode, public_key: publicKey }));
|
|
48
|
+
const { encappedPublic, ciphertext } = await (0, hpke_js_1.hpkeSealP256)({
|
|
49
|
+
receiverPublicKey: targetPublicKey,
|
|
50
|
+
plaintext,
|
|
51
|
+
});
|
|
52
|
+
return JSON.stringify({
|
|
53
|
+
encappedPublic: (0, utils_js_1.bytesToHex)(encappedPublic),
|
|
54
|
+
ciphertext: (0, utils_js_1.bytesToHex)(ciphertext),
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=encryptOtpAttempt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"encryptOtpAttempt.js","sourceRoot":"","sources":["../../../src/utils/encryptOtpAttempt.ts"],"names":[],"mappings":";;AA+DA,8CA8EC;AA1HD,mDAA4C;AAC5C,qDAA+D;AAC/D,kDAAqE;AACrE,uCAAwC;AAExC,MAAM,mBAAmB,GAAG,QAAQ,CAAA;AAuC7B,KAAK,UAAU,iBAAiB,CAAC,EACtC,OAAO,EACP,SAAS,EACT,sBAAsB,EACtB,kCAAkC,GACV;IACxB,MAAM,iBAAiB,GACrB,kCAAkC,IAAI,kDAAmC,CAAA;IAE3E,IAAI,QAAkC,CAAA;IACtC,IAAI,CAAC;QACH,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAA;IAC/C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,gEAAiE,GAAa,CAAC,OAAO,EAAE,CACzF,CAAA;IACH,CAAC;IAED,IAAI,QAAQ,CAAC,OAAO,KAAK,mBAAmB,EAAE,CAAC;QAC7C,MAAM,IAAI,KAAK,CACb,iDAAiD,QAAQ,CAAC,OAAO,EAAE,CACpE,CAAA;IACH,CAAC;IAED,IACE,QAAQ,CAAC,mBAAmB,CAAC,WAAW,EAAE;QAC1C,iBAAiB,CAAC,WAAW,EAAE,EAC/B,CAAC;QACD,MAAM,IAAI,KAAK,CACb,gFAAgF,CACjF,CAAA;IACH,CAAC;IAED,MAAM,SAAS,GAAG,IAAA,qBAAU,EAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;IAC3C,MAAM,cAAc,GAAG,IAAA,qBAAU,EAAC,QAAQ,CAAC,aAAa,CAAC,CAAA;IACzD,MAAM,oBAAoB,GAAG,IAAA,qBAAU,EAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAA;IAIrE,MAAM,KAAK,GAAG,cAAI,CAAC,MAAM,CAAC,cAAc,EAAE,SAAS,EAAE,oBAAoB,EAAE;QACzE,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,KAAK;KACZ,CAAC,CAAA;IACF,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAA;IAC3E,CAAC;IAED,IAAI,UAA4B,CAAA;IAChC,IAAI,CAAC;QACH,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAA;IAC9D,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,0DAA2D,GAAa,CAAC,OAAO,EAAE,CACnF,CAAA;IACH,CAAC;IACD,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAA;IAC3E,CAAC;IAED,MAAM,eAAe,GAAG,IAAA,qBAAU,EAAC,UAAU,CAAC,YAAY,CAAC,CAAA;IAI3D,MAAM,SAAS,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CACxC,IAAI,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAC7D,CAAA;IAED,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,GAAG,MAAM,IAAA,sBAAY,EAAC;QACxD,iBAAiB,EAAE,eAAe;QAClC,SAAS;KACV,CAAC,CAAA;IAGF,OAAO,IAAI,CAAC,SAAS,CAAC;QACpB,cAAc,EAAE,IAAA,qBAAU,EAAC,cAAc,CAAC;QAC1C,UAAU,EAAE,IAAA,qBAAU,EAAC,UAAU,CAAC;KACnC,CAAC,CAAA;AACJ,CAAC"}
|
|
@@ -25,7 +25,7 @@ async function exportPrivateKey(params) {
|
|
|
25
25
|
targetPublicKey,
|
|
26
26
|
},
|
|
27
27
|
});
|
|
28
|
-
const stamperKey = session.stamperType === '
|
|
28
|
+
const stamperKey = session.stamperType === 'apiKey' ? 'apiKeyStamper' : 'passkeyStamper';
|
|
29
29
|
const stamper = wallet.client[stamperKey];
|
|
30
30
|
if (!stamper) {
|
|
31
31
|
throw new Error(`Stamper '${stamperKey}' not found on wallet.client`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exportPrivateKey.js","sourceRoot":"","sources":["../../../src/utils/exportPrivateKey.ts"],"names":[],"mappings":";;AA0CA,4CAuEC;AAvEM,KAAK,UAAU,gBAAgB,CACpC,MAAkC;IAElC,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,MAAM,CAAA;IAEjE,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,UAAU,EAAE,CAAA;IACzC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAA;IACtC,CAAC;IACD,MAAM,EAAE,cAAc,EAAE,GAAG,OAAO,CAAA;IAGlC,IAAI,OAAO,GAAG,YAAY,CAAA;IAC1B,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,SAAS,EAAE,CAAA;QACxC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAA;QAC9D,CAAC;QACD,OAAO,GAAG,OAAO,CAAC,OAAO,CAAA;IAC3B,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC;QAChC,IAAI,EAAE,qCAAqC;QAC3C,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;QAClC,cAAc,EAAE,cAAc;QAC9B,UAAU,EAAE;YACV,OAAO,EAAE,OAAO;YAChB,eAAe;SAChB;KACF,CAAC,CAAA;IAEF,MAAM,UAAU,GACd,OAAO,CAAC,WAAW,KAAK,
|
|
1
|
+
{"version":3,"file":"exportPrivateKey.js","sourceRoot":"","sources":["../../../src/utils/exportPrivateKey.ts"],"names":[],"mappings":";;AA0CA,4CAuEC;AAvEM,KAAK,UAAU,gBAAgB,CACpC,MAAkC;IAElC,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,MAAM,CAAA;IAEjE,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,UAAU,EAAE,CAAA;IACzC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAA;IACtC,CAAC;IACD,MAAM,EAAE,cAAc,EAAE,GAAG,OAAO,CAAA;IAGlC,IAAI,OAAO,GAAG,YAAY,CAAA;IAC1B,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,SAAS,EAAE,CAAA;QACxC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAA;QAC9D,CAAC;QACD,OAAO,GAAG,OAAO,CAAC,OAAO,CAAA;IAC3B,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC;QAChC,IAAI,EAAE,qCAAqC;QAC3C,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;QAClC,cAAc,EAAE,cAAc;QAC9B,UAAU,EAAE;YACV,OAAO,EAAE,OAAO;YAChB,eAAe;SAChB;KACF,CAAC,CAAA;IAEF,MAAM,UAAU,GACd,OAAO,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,gBAAgB,CAAA;IACvE,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;IACzC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,YAAY,UAAU,8BAA8B,CAAC,CAAA;IACvE,CAAC;IAED,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;IACnD,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAA;IAChD,CAAC;IAED,MAAM,cAAc,GAAG,MAAM,KAAK,CAChC,gEAAgE,EAChE;QACE,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE;YACP,CAAC,WAAW,CAAC,eAAe,CAAC,EAAE,WAAW,CAAC,gBAAgB;SAC5D;KACF,CACF,CAAA;IACD,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,CAAC;QACvB,MAAM,SAAS,GAAG,MAAM,cAAc,CAAC,IAAI,EAAE,CAAA;QAC7C,MAAM,IAAI,KAAK,CACb,oCAAoC,cAAc,CAAC,MAAM,IAAI,SAAS,EAAE,CACzE,CAAA;IACH,CAAC;IACD,MAAM,UAAU,GAAG,MAAM,cAAc,CAAC,IAAI,EAAE,CAAA;IAE9C,MAAM,YAAY,GAChB,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,yBAAyB,EAAE,YAAY,CAAA;IAEvE,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CACb,wCAAwC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CACrE,CAAA;IACH,CAAC;IAED,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,OAAQ,EAAE,cAAc,EAAE,CAAA;AAC5D,CAAC"}
|
|
@@ -3,68 +3,59 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.exportWallet = exportWallet;
|
|
4
4
|
async function exportWallet(params) {
|
|
5
5
|
const { targetPublicKey, wallet } = params;
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
throw new Error('Session not found');
|
|
10
|
-
}
|
|
11
|
-
const { organizationId } = session;
|
|
12
|
-
const listWalletsBody = JSON.stringify({
|
|
13
|
-
organizationId,
|
|
14
|
-
});
|
|
15
|
-
const listWalletsStamp = await wallet.client[session.stamperType === 'indexedDb'
|
|
16
|
-
? 'indexedDbStamper'
|
|
17
|
-
: 'webauthnStamper'].stamp(listWalletsBody);
|
|
18
|
-
if (!listWalletsStamp) {
|
|
19
|
-
throw new Error('Failed to stamp list wallets body');
|
|
20
|
-
}
|
|
21
|
-
const listWalletsResponse = await fetch('https://api.turnkey.com/public/v1/query/list_wallets', {
|
|
22
|
-
method: 'POST',
|
|
23
|
-
body: listWalletsBody,
|
|
24
|
-
headers: {
|
|
25
|
-
[listWalletsStamp.stampHeaderName]: listWalletsStamp.stampHeaderValue,
|
|
26
|
-
},
|
|
27
|
-
});
|
|
28
|
-
if (!listWalletsResponse.ok) {
|
|
29
|
-
throw new Error('Failed to list wallets');
|
|
30
|
-
}
|
|
31
|
-
const listWalletsData = await listWalletsResponse.json();
|
|
32
|
-
const walletId = listWalletsData.wallets[0].walletId;
|
|
33
|
-
const exportWalletBody = JSON.stringify({
|
|
34
|
-
type: 'ACTIVITY_TYPE_EXPORT_WALLET',
|
|
35
|
-
timestampMs: Date.now().toString(),
|
|
36
|
-
organizationId: organizationId,
|
|
37
|
-
parameters: {
|
|
38
|
-
walletId: walletId,
|
|
39
|
-
targetPublicKey,
|
|
40
|
-
language: 'MNEMONIC_LANGUAGE_ENGLISH',
|
|
41
|
-
},
|
|
42
|
-
});
|
|
43
|
-
const exportWalletStamp = await wallet.client[session.stamperType === 'indexedDb'
|
|
44
|
-
? 'indexedDbStamper'
|
|
45
|
-
: 'webauthnStamper'].stamp(exportWalletBody);
|
|
46
|
-
if (!exportWalletStamp) {
|
|
47
|
-
throw new Error('Failed to stamp export wallet body');
|
|
48
|
-
}
|
|
49
|
-
const exportWalletResponse = await fetch('https://api.turnkey.com/public/v1/submit/export_wallet', {
|
|
50
|
-
method: 'POST',
|
|
51
|
-
body: exportWalletBody,
|
|
52
|
-
headers: {
|
|
53
|
-
[exportWalletStamp.stampHeaderName]: exportWalletStamp.stampHeaderValue,
|
|
54
|
-
},
|
|
55
|
-
});
|
|
56
|
-
if (!exportWalletResponse.ok) {
|
|
57
|
-
throw new Error('Failed to export wallet');
|
|
58
|
-
}
|
|
59
|
-
const exportWalletData = await exportWalletResponse.json();
|
|
60
|
-
const exportBundle = exportWalletData?.activity?.result?.exportWalletResult?.exportBundle;
|
|
61
|
-
if (!exportBundle) {
|
|
62
|
-
throw new Error('Export bundle not found in response');
|
|
63
|
-
}
|
|
64
|
-
return { exportBundle, walletId, organizationId };
|
|
6
|
+
const session = await wallet.getSession();
|
|
7
|
+
if (!session) {
|
|
8
|
+
throw new Error('Session not found');
|
|
65
9
|
}
|
|
66
|
-
|
|
67
|
-
|
|
10
|
+
const { organizationId } = session;
|
|
11
|
+
const listWalletsBody = JSON.stringify({
|
|
12
|
+
organizationId,
|
|
13
|
+
});
|
|
14
|
+
const listWalletsStamp = await wallet.client[session.stamperType === 'apiKey' ? 'apiKeyStamper' : 'passkeyStamper'].stamp(listWalletsBody);
|
|
15
|
+
if (!listWalletsStamp) {
|
|
16
|
+
throw new Error('Failed to stamp list wallets body');
|
|
68
17
|
}
|
|
18
|
+
const listWalletsResponse = await fetch('https://api.turnkey.com/public/v1/query/list_wallets', {
|
|
19
|
+
method: 'POST',
|
|
20
|
+
body: listWalletsBody,
|
|
21
|
+
headers: {
|
|
22
|
+
[listWalletsStamp.stampHeaderName]: listWalletsStamp.stampHeaderValue,
|
|
23
|
+
},
|
|
24
|
+
});
|
|
25
|
+
if (!listWalletsResponse.ok) {
|
|
26
|
+
throw new Error('Failed to list wallets');
|
|
27
|
+
}
|
|
28
|
+
const listWalletsData = await listWalletsResponse.json();
|
|
29
|
+
const walletId = listWalletsData.wallets[0].walletId;
|
|
30
|
+
const exportWalletBody = JSON.stringify({
|
|
31
|
+
type: 'ACTIVITY_TYPE_EXPORT_WALLET',
|
|
32
|
+
timestampMs: Date.now().toString(),
|
|
33
|
+
organizationId: organizationId,
|
|
34
|
+
parameters: {
|
|
35
|
+
walletId: walletId,
|
|
36
|
+
targetPublicKey,
|
|
37
|
+
language: 'MNEMONIC_LANGUAGE_ENGLISH',
|
|
38
|
+
},
|
|
39
|
+
});
|
|
40
|
+
const exportWalletStamp = await wallet.client[session.stamperType === 'apiKey' ? 'apiKeyStamper' : 'passkeyStamper'].stamp(exportWalletBody);
|
|
41
|
+
if (!exportWalletStamp) {
|
|
42
|
+
throw new Error('Failed to stamp export wallet body');
|
|
43
|
+
}
|
|
44
|
+
const exportWalletResponse = await fetch('https://api.turnkey.com/public/v1/submit/export_wallet', {
|
|
45
|
+
method: 'POST',
|
|
46
|
+
body: exportWalletBody,
|
|
47
|
+
headers: {
|
|
48
|
+
[exportWalletStamp.stampHeaderName]: exportWalletStamp.stampHeaderValue,
|
|
49
|
+
},
|
|
50
|
+
});
|
|
51
|
+
if (!exportWalletResponse.ok) {
|
|
52
|
+
throw new Error('Failed to export wallet');
|
|
53
|
+
}
|
|
54
|
+
const exportWalletData = await exportWalletResponse.json();
|
|
55
|
+
const exportBundle = exportWalletData?.activity?.result?.exportWalletResult?.exportBundle;
|
|
56
|
+
if (!exportBundle) {
|
|
57
|
+
throw new Error('Export bundle not found in response');
|
|
58
|
+
}
|
|
59
|
+
return { exportBundle, walletId, organizationId };
|
|
69
60
|
}
|
|
70
61
|
//# sourceMappingURL=exportWallet.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exportWallet.js","sourceRoot":"","sources":["../../../src/utils/exportWallet.ts"],"names":[],"mappings":";;AAwCA,
|
|
1
|
+
{"version":3,"file":"exportWallet.js","sourceRoot":"","sources":["../../../src/utils/exportWallet.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.hpkeSealP256 = hpkeSealP256;
|
|
4
|
+
const aes_js_1 = require("@noble/ciphers/aes.js");
|
|
5
|
+
const nist_js_1 = require("@noble/curves/nist.js");
|
|
6
|
+
const hkdf_js_1 = require("@noble/hashes/hkdf.js");
|
|
7
|
+
const sha2_js_1 = require("@noble/hashes/sha2.js");
|
|
8
|
+
const KEM_ID = 0x0010;
|
|
9
|
+
const KDF_ID = 0x0001;
|
|
10
|
+
const AEAD_ID = 0x0002;
|
|
11
|
+
const NH = 32;
|
|
12
|
+
const NK = 32;
|
|
13
|
+
const NN = 12;
|
|
14
|
+
const NPK = 65;
|
|
15
|
+
const TURNKEY_HPKE_INFO = new TextEncoder().encode('turnkey_hpke');
|
|
16
|
+
const HPKE_VERSION = new TextEncoder().encode('HPKE-v1');
|
|
17
|
+
const HPKE_SUITE_ID = concat(new TextEncoder().encode('HPKE'), i2osp(KEM_ID, 2), i2osp(KDF_ID, 2), i2osp(AEAD_ID, 2));
|
|
18
|
+
const KEM_SUITE_ID = concat(new TextEncoder().encode('KEM'), i2osp(KEM_ID, 2));
|
|
19
|
+
function concat(...parts) {
|
|
20
|
+
const total = parts.reduce((sum, p) => sum + p.length, 0);
|
|
21
|
+
const out = new Uint8Array(total);
|
|
22
|
+
let offset = 0;
|
|
23
|
+
for (const p of parts) {
|
|
24
|
+
out.set(p, offset);
|
|
25
|
+
offset += p.length;
|
|
26
|
+
}
|
|
27
|
+
return out;
|
|
28
|
+
}
|
|
29
|
+
function i2osp(n, len) {
|
|
30
|
+
const out = new Uint8Array(len);
|
|
31
|
+
for (let i = len - 1; i >= 0; i--) {
|
|
32
|
+
out[i] = n & 0xff;
|
|
33
|
+
n >>>= 8;
|
|
34
|
+
}
|
|
35
|
+
return out;
|
|
36
|
+
}
|
|
37
|
+
function labeledExtract(salt, label, ikm, suiteId) {
|
|
38
|
+
const labeledIkm = concat(HPKE_VERSION, suiteId, new TextEncoder().encode(label), ikm);
|
|
39
|
+
return (0, hkdf_js_1.extract)(sha2_js_1.sha256, labeledIkm, salt);
|
|
40
|
+
}
|
|
41
|
+
function labeledExpand(prk, label, info, length, suiteId) {
|
|
42
|
+
const labeledInfo = concat(i2osp(length, 2), HPKE_VERSION, suiteId, new TextEncoder().encode(label), info);
|
|
43
|
+
return (0, hkdf_js_1.expand)(sha2_js_1.sha256, prk, labeledInfo, length);
|
|
44
|
+
}
|
|
45
|
+
function encap(receiverPublicKey) {
|
|
46
|
+
const ephSk = nist_js_1.p256.utils.randomSecretKey();
|
|
47
|
+
const ephPkUncompressed = nist_js_1.p256.getPublicKey(ephSk, false);
|
|
48
|
+
const sharedPoint = nist_js_1.p256.getSharedSecret(ephSk, receiverPublicKey, true);
|
|
49
|
+
const dh = sharedPoint.slice(1, 33);
|
|
50
|
+
const kemContext = concat(ephPkUncompressed, receiverPublicKey);
|
|
51
|
+
const eaePrk = labeledExtract(new Uint8Array(0), 'eae_prk', dh, KEM_SUITE_ID);
|
|
52
|
+
const sharedSecret = labeledExpand(eaePrk, 'shared_secret', kemContext, NH, KEM_SUITE_ID);
|
|
53
|
+
return { sharedSecret, enc: ephPkUncompressed };
|
|
54
|
+
}
|
|
55
|
+
function keySchedule(sharedSecret, info) {
|
|
56
|
+
const empty = new Uint8Array(0);
|
|
57
|
+
const pskIdHash = labeledExtract(empty, 'psk_id_hash', empty, HPKE_SUITE_ID);
|
|
58
|
+
const infoHash = labeledExtract(empty, 'info_hash', info, HPKE_SUITE_ID);
|
|
59
|
+
const keyScheduleContext = concat(new Uint8Array([0]), pskIdHash, infoHash);
|
|
60
|
+
const secret = labeledExtract(sharedSecret, 'secret', empty, HPKE_SUITE_ID);
|
|
61
|
+
const key = labeledExpand(secret, 'key', keyScheduleContext, NK, HPKE_SUITE_ID);
|
|
62
|
+
const baseNonce = labeledExpand(secret, 'base_nonce', keyScheduleContext, NN, HPKE_SUITE_ID);
|
|
63
|
+
return { key, baseNonce };
|
|
64
|
+
}
|
|
65
|
+
function aesGcmSeal(key, nonce, aad, plaintext) {
|
|
66
|
+
return (0, aes_js_1.gcm)(key, nonce, aad).encrypt(plaintext);
|
|
67
|
+
}
|
|
68
|
+
async function hpkeSealP256({ receiverPublicKey, plaintext, }) {
|
|
69
|
+
if (receiverPublicKey.length !== NPK) {
|
|
70
|
+
throw new Error(`hpkeSealP256: receiverPublicKey must be ${NPK} bytes (uncompressed P-256), got ${receiverPublicKey.length}`);
|
|
71
|
+
}
|
|
72
|
+
const { sharedSecret, enc } = encap(receiverPublicKey);
|
|
73
|
+
const { key, baseNonce } = keySchedule(sharedSecret, TURNKEY_HPKE_INFO);
|
|
74
|
+
const aad = concat(enc, receiverPublicKey);
|
|
75
|
+
const ciphertext = aesGcmSeal(key, baseNonce, aad, plaintext);
|
|
76
|
+
return { encappedPublic: enc, ciphertext };
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=hpke.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hpke.js","sourceRoot":"","sources":["../../../src/utils/hpke.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isReactNative = isReactNative;
|
|
4
|
+
function isReactNative() {
|
|
5
|
+
if (typeof navigator !== 'undefined' &&
|
|
6
|
+
navigator.product === 'ReactNative') {
|
|
7
|
+
return true;
|
|
8
|
+
}
|
|
9
|
+
if (typeof window !== 'undefined' &&
|
|
10
|
+
Object.hasOwn(window, 'ReactNativeWebView')) {
|
|
11
|
+
return true;
|
|
12
|
+
}
|
|
13
|
+
if (typeof globalThis !== 'undefined' &&
|
|
14
|
+
Object.hasOwn(globalThis, 'HermesEngine')) {
|
|
15
|
+
return true;
|
|
16
|
+
}
|
|
17
|
+
return false;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=platform.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../../../src/utils/platform.ts"],"names":[],"mappings":";;AAAA,sCAoBC;AApBD,SAAgB,aAAa;IAC3B,IACE,OAAO,SAAS,KAAK,WAAW;QAC/B,SAAkC,CAAC,OAAO,KAAK,aAAa,EAC7D,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IACD,IACE,OAAO,MAAM,KAAK,WAAW;QAC7B,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,EAC3C,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IACD,IACE,OAAO,UAAU,KAAK,WAAW;QACjC,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,cAAc,CAAC,EACzC,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createOrganizationIdResolver = createOrganizationIdResolver;
|
|
4
|
+
function createOrganizationIdResolver(opts) {
|
|
5
|
+
let cached;
|
|
6
|
+
return async function resolveOrganizationId() {
|
|
7
|
+
if (opts.organizationId)
|
|
8
|
+
return opts.organizationId;
|
|
9
|
+
if (cached === undefined) {
|
|
10
|
+
try {
|
|
11
|
+
cached = await opts.fetchParentOrgId();
|
|
12
|
+
}
|
|
13
|
+
catch {
|
|
14
|
+
cached = opts.fallback;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
return cached;
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=resolveOrganizationId.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolveOrganizationId.js","sourceRoot":"","sources":["../../../src/utils/resolveOrganizationId.ts"],"names":[],"mappings":";;AAUA,oEAiBC;AAjBD,SAAgB,4BAA4B,CAAC,IAI5C;IACC,IAAI,MAA0B,CAAA;IAC9B,OAAO,KAAK,UAAU,qBAAqB;QACzC,IAAI,IAAI,CAAC,cAAc;YAAE,OAAO,IAAI,CAAC,cAAc,CAAA;QACnD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,IAAI,CAAC;gBACH,MAAM,GAAG,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAA;YACxC,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAA;YACxB,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAA;IACf,CAAC,CAAA;AACH,CAAC"}
|
package/dist/_cjs/utils/utils.js
CHANGED
|
@@ -14,7 +14,8 @@ function parseSession(token) {
|
|
|
14
14
|
if (!payload) {
|
|
15
15
|
throw new Error('Invalid JWT: Missing payload');
|
|
16
16
|
}
|
|
17
|
-
const
|
|
17
|
+
const base64 = payload.replace(/-/g, '+').replace(/_/g, '/');
|
|
18
|
+
const decoded = JSON.parse(atob(base64));
|
|
18
19
|
const { exp, public_key: publicKey, session_type: sessionType, user_id: userId, organization_id: organizationId, } = decoded;
|
|
19
20
|
if (!exp || !publicKey || !sessionType || !userId || !organizationId) {
|
|
20
21
|
throw new Error('JWT payload missing required fields');
|
|
@@ -37,11 +38,9 @@ const generateRandomBuffer = () => {
|
|
|
37
38
|
};
|
|
38
39
|
exports.generateRandomBuffer = generateRandomBuffer;
|
|
39
40
|
const base64UrlEncode = (challenge) => {
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
.replace(/\//g, '_')
|
|
44
|
-
.replace(/=/g, '');
|
|
41
|
+
const bytes = new Uint8Array(challenge);
|
|
42
|
+
const binary = String.fromCharCode(...bytes);
|
|
43
|
+
return btoa(binary).replace(/\+/g, '-').replace(/\//g, '_').replace(/=/g, '');
|
|
45
44
|
};
|
|
46
45
|
exports.base64UrlEncode = base64UrlEncode;
|
|
47
46
|
function pointEncode(raw) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/utils/utils.ts"],"names":[],"mappings":";;;AASA,
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/utils/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createZeroDevWallet = createZeroDevWallet;
|
|
4
|
+
const createZeroDevWalletCore_js_1 = require("../core/createZeroDevWalletCore.js");
|
|
5
|
+
const indexedDbStamper_js_1 = require("../stampers/indexedDbStamper.js");
|
|
6
|
+
const webauthnStamper_js_1 = require("../stampers/webauthnStamper.js");
|
|
7
|
+
const adapters_js_1 = require("../storage/adapters.js");
|
|
8
|
+
async function createZeroDevWallet(config) {
|
|
9
|
+
const rpId = config.rpId ?? window.location.hostname;
|
|
10
|
+
const apiKeyStamper = config.apiKeyStamper ?? (await (0, indexedDbStamper_js_1.createIndexedDbStamper)());
|
|
11
|
+
const passkeyStamper = config.passkeyStamper ?? (await (0, webauthnStamper_js_1.createWebauthnStamper)({ rpId }));
|
|
12
|
+
const sessionStorage = config.sessionStorage ?? (0, adapters_js_1.createWebStorageAdapter)();
|
|
13
|
+
return (0, createZeroDevWalletCore_js_1.createZeroDevWalletCore)({
|
|
14
|
+
...config,
|
|
15
|
+
rpId,
|
|
16
|
+
apiKeyStamper,
|
|
17
|
+
passkeyStamper,
|
|
18
|
+
sessionStorage,
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=createZeroDevWallet.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createZeroDevWallet.js","sourceRoot":"","sources":["../../../src/web/createZeroDevWallet.ts"],"names":[],"mappings":";;AA4BA,kDAgBC;AA5CD,mFAI2C;AAC3C,yEAAwE;AAExE,uEAAsE;AACtE,wDAAgE;AAoBzD,KAAK,UAAU,mBAAmB,CACvC,MAA2B;IAE3B,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAA;IACpD,MAAM,aAAa,GAAG,MAAM,CAAC,aAAa,IAAI,CAAC,MAAM,IAAA,4CAAsB,GAAE,CAAC,CAAA;IAC9E,MAAM,cAAc,GAClB,MAAM,CAAC,cAAc,IAAI,CAAC,MAAM,IAAA,0CAAqB,EAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;IAClE,MAAM,cAAc,GAAG,MAAM,CAAC,cAAc,IAAI,IAAA,qCAAuB,GAAE,CAAA;IAEzE,OAAO,IAAA,oDAAuB,EAAC;QAC7B,GAAG,MAAM;QACT,IAAI;QACJ,aAAa;QACb,cAAc;QACd,cAAc;KACf,CAAC,CAAA;AACJ,CAAC"}
|
|
@@ -3,13 +3,12 @@
|
|
|
3
3
|
* See {@link registerWithOTP} for more details on how to authenticate with email.
|
|
4
4
|
*/
|
|
5
5
|
export async function authenticateWithEmail(client, params) {
|
|
6
|
-
const { email, projectId, targetPublicKey
|
|
6
|
+
const { email, projectId, targetPublicKey } = params;
|
|
7
7
|
return await client.request({
|
|
8
8
|
path: `${projectId}/auth/email-magic`,
|
|
9
9
|
method: 'POST',
|
|
10
10
|
body: {
|
|
11
11
|
email,
|
|
12
|
-
emailCustomization,
|
|
13
12
|
targetPublicKey,
|
|
14
13
|
projectId,
|
|
15
14
|
},
|