@tatchi-xyz/sdk 0.21.0 → 0.31.0
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 +2 -2
- package/dist/cjs/_virtual/rolldown_runtime.js +0 -13
- package/dist/cjs/base-styles.js +0 -1
- package/dist/cjs/base-styles.js.map +1 -1
- package/dist/cjs/build-paths.js +0 -1
- package/dist/cjs/build-paths.js.map +1 -1
- package/dist/cjs/config.js +0 -1
- package/dist/cjs/config.js.map +1 -1
- package/dist/cjs/core/ChainsigAddressManager/index.js +0 -3
- package/dist/cjs/core/ChainsigAddressManager/index.js.map +1 -1
- package/dist/cjs/core/EmailRecovery/emailRecoveryPendingStore.js +48 -60
- package/dist/cjs/core/EmailRecovery/emailRecoveryPendingStore.js.map +1 -1
- package/dist/cjs/core/EmailRecovery/index.js +19 -34
- package/dist/cjs/core/EmailRecovery/index.js.map +1 -1
- package/dist/cjs/core/ExtensionWallet/detect.js +0 -1
- package/dist/cjs/core/ExtensionWallet/detect.js.map +1 -1
- package/dist/cjs/core/IndexedDBManager/index.js +85 -92
- package/dist/cjs/core/IndexedDBManager/index.js.map +1 -1
- package/dist/cjs/core/IndexedDBManager/passkeyClientDB.js +648 -646
- package/dist/cjs/core/IndexedDBManager/passkeyClientDB.js.map +1 -1
- package/dist/cjs/core/IndexedDBManager/passkeyNearKeysDB.js +223 -154
- package/dist/cjs/core/IndexedDBManager/passkeyNearKeysDB.js.map +1 -1
- package/dist/cjs/core/NearClient.js +9 -8
- package/dist/cjs/core/NearClient.js.map +1 -1
- package/dist/cjs/core/NearRpcError.js +0 -1
- package/dist/cjs/core/NearRpcError.js.map +1 -1
- package/dist/cjs/core/OfflineExport/overlay.js +0 -1
- package/dist/cjs/core/OfflineExport/overlay.js.map +1 -1
- package/dist/cjs/core/TatchiPasskey/actions.js +86 -132
- package/dist/cjs/core/TatchiPasskey/actions.js.map +1 -1
- package/dist/cjs/core/TatchiPasskey/delegateAction.js +4 -4
- package/dist/cjs/core/TatchiPasskey/delegateAction.js.map +1 -1
- package/dist/cjs/core/TatchiPasskey/emailRecovery.js +866 -852
- package/dist/cjs/core/TatchiPasskey/emailRecovery.js.map +1 -1
- package/dist/cjs/core/TatchiPasskey/faucets/createAccountRelayServer.js +23 -12
- package/dist/cjs/core/TatchiPasskey/faucets/createAccountRelayServer.js.map +1 -1
- package/dist/cjs/core/TatchiPasskey/index.js +128 -91
- package/dist/cjs/core/TatchiPasskey/index.js.map +1 -1
- package/dist/cjs/core/TatchiPasskey/linkDevice.js +85 -30
- package/dist/cjs/core/TatchiPasskey/linkDevice.js.map +1 -1
- package/dist/cjs/core/TatchiPasskey/login.js +371 -192
- package/dist/cjs/core/TatchiPasskey/login.js.map +1 -1
- package/dist/cjs/core/TatchiPasskey/registration.js +131 -30
- package/dist/cjs/core/TatchiPasskey/registration.js.map +1 -1
- package/dist/cjs/core/TatchiPasskey/relay.js +0 -2
- package/dist/cjs/core/TatchiPasskey/relay.js.map +1 -1
- package/dist/cjs/core/TatchiPasskey/scanDevice.js +2 -9
- package/dist/cjs/core/TatchiPasskey/scanDevice.js.map +1 -1
- package/dist/cjs/core/TatchiPasskey/signNEP413.js +12 -5
- package/dist/cjs/core/TatchiPasskey/signNEP413.js.map +1 -1
- package/dist/cjs/core/TatchiPasskey/syncAccount.js +505 -0
- package/dist/cjs/core/TatchiPasskey/syncAccount.js.map +1 -0
- package/dist/cjs/core/WalletIframe/client/IframeTransport.js +166 -134
- package/dist/cjs/core/WalletIframe/client/IframeTransport.js.map +1 -1
- package/dist/cjs/core/WalletIframe/client/on-events-progress-bus.js +4 -6
- package/dist/cjs/core/WalletIframe/client/on-events-progress-bus.js.map +1 -1
- package/dist/cjs/core/WalletIframe/client/overlay-controller.js +0 -1
- package/dist/cjs/core/WalletIframe/client/overlay-controller.js.map +1 -1
- package/dist/cjs/core/WalletIframe/client/overlay-styles.js +0 -1
- package/dist/cjs/core/WalletIframe/client/overlay-styles.js.map +1 -1
- package/dist/cjs/core/WalletIframe/client/router.js +204 -170
- package/dist/cjs/core/WalletIframe/client/router.js.map +1 -1
- package/dist/cjs/core/WalletIframe/events.js +0 -1
- package/dist/cjs/core/WalletIframe/events.js.map +1 -1
- package/dist/cjs/core/WalletIframe/host-mode.js +4 -1
- package/dist/cjs/core/WalletIframe/host-mode.js.map +1 -1
- package/dist/cjs/core/WebAuthnManager/LitComponents/ExportPrivateKey/iframe-host.js +1 -2
- package/dist/cjs/core/WebAuthnManager/LitComponents/ExportPrivateKey/iframe-host.js.map +1 -1
- package/dist/cjs/core/WebAuthnManager/LitComponents/IframeTxConfirmer/tx-confirm-content.js +0 -1
- package/dist/cjs/core/WebAuthnManager/LitComponents/IframeTxConfirmer/tx-confirm-content.js.map +1 -1
- package/dist/cjs/core/WebAuthnManager/LitComponents/IframeTxConfirmer/tx-confirmer-wrapper.js +5 -15
- package/dist/cjs/core/WebAuthnManager/LitComponents/IframeTxConfirmer/tx-confirmer-wrapper.js.map +1 -1
- package/dist/cjs/core/WebAuthnManager/LitComponents/LitElementWithProps.js +22 -18
- package/dist/cjs/core/WebAuthnManager/LitComponents/LitElementWithProps.js.map +1 -1
- package/dist/cjs/core/WebAuthnManager/LitComponents/TxTree/index.js +1 -2
- package/dist/cjs/core/WebAuthnManager/LitComponents/TxTree/index.js.map +1 -1
- package/dist/cjs/core/WebAuthnManager/LitComponents/TxTree/tx-tree-themes.js +0 -1
- package/dist/cjs/core/WebAuthnManager/LitComponents/TxTree/tx-tree-themes.js.map +1 -1
- package/dist/cjs/core/WebAuthnManager/LitComponents/TxTree/tx-tree-utils.js +1 -3
- package/dist/cjs/core/WebAuthnManager/LitComponents/TxTree/tx-tree-utils.js.map +1 -1
- package/dist/cjs/core/WebAuthnManager/LitComponents/asset-base.js +0 -1
- package/dist/cjs/core/WebAuthnManager/LitComponents/asset-base.js.map +1 -1
- package/dist/cjs/core/WebAuthnManager/LitComponents/common/formatters.js +0 -1
- package/dist/cjs/core/WebAuthnManager/LitComponents/common/formatters.js.map +1 -1
- package/dist/cjs/core/WebAuthnManager/LitComponents/confirm-ui-types.js +0 -1
- package/dist/cjs/core/WebAuthnManager/LitComponents/confirm-ui-types.js.map +1 -1
- package/dist/cjs/core/WebAuthnManager/LitComponents/confirm-ui.js +3 -5
- package/dist/cjs/core/WebAuthnManager/LitComponents/confirm-ui.js.map +1 -1
- package/dist/cjs/core/WebAuthnManager/LitComponents/css/css-loader.js +0 -1
- package/dist/cjs/core/WebAuthnManager/LitComponents/css/css-loader.js.map +1 -1
- package/dist/cjs/core/WebAuthnManager/LitComponents/ensure-defined.js +1 -6
- package/dist/cjs/core/WebAuthnManager/LitComponents/ensure-defined.js.map +1 -1
- package/dist/cjs/core/WebAuthnManager/LitComponents/lit-events.js +0 -1
- package/dist/cjs/core/WebAuthnManager/LitComponents/lit-events.js.map +1 -1
- package/dist/cjs/core/WebAuthnManager/LitComponents/tags.js +0 -31
- package/dist/cjs/core/WebAuthnManager/LitComponents/tags.js.map +1 -1
- package/dist/cjs/core/WebAuthnManager/SignerWorkerManager/getDeviceNumber.js +0 -11
- package/dist/cjs/core/WebAuthnManager/SignerWorkerManager/getDeviceNumber.js.map +1 -1
- package/dist/cjs/core/WebAuthnManager/SignerWorkerManager/handlers/checkCanRegisterUser.js +10 -14
- package/dist/cjs/core/WebAuthnManager/SignerWorkerManager/handlers/checkCanRegisterUser.js.map +1 -1
- package/dist/cjs/core/WebAuthnManager/SignerWorkerManager/handlers/decryptPrivateKeyWithPrf.js +5 -9
- package/dist/cjs/core/WebAuthnManager/SignerWorkerManager/handlers/decryptPrivateKeyWithPrf.js.map +1 -1
- package/dist/cjs/core/WebAuthnManager/SignerWorkerManager/handlers/deriveNearKeypairAndEncryptFromSerialized.js +6 -8
- package/dist/cjs/core/WebAuthnManager/SignerWorkerManager/handlers/deriveNearKeypairAndEncryptFromSerialized.js.map +1 -1
- package/dist/cjs/core/WebAuthnManager/SignerWorkerManager/handlers/deriveThresholdEd25519ClientVerifyingShare.js +46 -0
- package/dist/cjs/core/WebAuthnManager/SignerWorkerManager/handlers/deriveThresholdEd25519ClientVerifyingShare.js.map +1 -0
- package/dist/cjs/core/WebAuthnManager/SignerWorkerManager/handlers/exportNearKeypairUi.js +3 -8
- package/dist/cjs/core/WebAuthnManager/SignerWorkerManager/handlers/exportNearKeypairUi.js.map +1 -1
- package/dist/cjs/core/WebAuthnManager/SignerWorkerManager/handlers/extractCosePublicKey.js +0 -1
- package/dist/cjs/core/WebAuthnManager/SignerWorkerManager/handlers/extractCosePublicKey.js.map +1 -1
- package/dist/cjs/core/WebAuthnManager/SignerWorkerManager/handlers/recoverKeypairFromPasskey.js +0 -1
- package/dist/cjs/core/WebAuthnManager/SignerWorkerManager/handlers/recoverKeypairFromPasskey.js.map +1 -1
- package/dist/cjs/core/WebAuthnManager/SignerWorkerManager/handlers/registerDevice2WithDerivedKey.js +13 -10
- package/dist/cjs/core/WebAuthnManager/SignerWorkerManager/handlers/registerDevice2WithDerivedKey.js.map +1 -1
- package/dist/cjs/core/WebAuthnManager/SignerWorkerManager/handlers/session.js +1 -1
- package/dist/cjs/core/WebAuthnManager/SignerWorkerManager/handlers/session.js.map +1 -1
- package/dist/cjs/core/WebAuthnManager/SignerWorkerManager/handlers/signDelegateAction.js +204 -48
- package/dist/cjs/core/WebAuthnManager/SignerWorkerManager/handlers/signDelegateAction.js.map +1 -1
- package/dist/cjs/core/WebAuthnManager/SignerWorkerManager/handlers/signNep413Message.js +170 -30
- package/dist/cjs/core/WebAuthnManager/SignerWorkerManager/handlers/signNep413Message.js.map +1 -1
- package/dist/cjs/core/WebAuthnManager/SignerWorkerManager/handlers/signTransactionWithKeyPair.js +3 -10
- package/dist/cjs/core/WebAuthnManager/SignerWorkerManager/handlers/signTransactionWithKeyPair.js.map +1 -1
- package/dist/cjs/core/WebAuthnManager/SignerWorkerManager/handlers/signTransactionsWithActions.js +274 -86
- package/dist/cjs/core/WebAuthnManager/SignerWorkerManager/handlers/signTransactionsWithActions.js.map +1 -1
- package/dist/cjs/core/WebAuthnManager/SignerWorkerManager/handlers/validation.js +5 -12
- package/dist/cjs/core/WebAuthnManager/SignerWorkerManager/handlers/validation.js.map +1 -1
- package/dist/cjs/core/WebAuthnManager/SignerWorkerManager/index.js +15 -10
- package/dist/cjs/core/WebAuthnManager/SignerWorkerManager/index.js.map +1 -1
- package/dist/cjs/core/WebAuthnManager/SignerWorkerManager/sessionHandshake.js +0 -1
- package/dist/cjs/core/WebAuthnManager/SignerWorkerManager/sessionHandshake.js.map +1 -1
- package/dist/cjs/core/WebAuthnManager/SignerWorkerManager/sessionMessages.js +15 -5
- package/dist/cjs/core/WebAuthnManager/SignerWorkerManager/sessionMessages.js.map +1 -1
- package/dist/cjs/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/adapters/common.js +1 -4
- package/dist/cjs/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/adapters/common.js.map +1 -1
- package/dist/cjs/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/adapters/createAdapters.js +0 -1
- package/dist/cjs/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/adapters/createAdapters.js.map +1 -1
- package/dist/cjs/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/adapters/near.js +1 -6
- package/dist/cjs/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/adapters/near.js.map +1 -1
- package/dist/cjs/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/adapters/requestAdapter.js +1 -4
- package/dist/cjs/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/adapters/requestAdapter.js.map +1 -1
- package/dist/cjs/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/adapters/requestHelpers.js +0 -1
- package/dist/cjs/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/adapters/requestHelpers.js.map +1 -1
- package/dist/cjs/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/adapters/session.js +0 -1
- package/dist/cjs/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/adapters/session.js.map +1 -1
- package/dist/cjs/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/adapters/ui.js +0 -1
- package/dist/cjs/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/adapters/ui.js.map +1 -1
- package/dist/cjs/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/adapters/vrf.js +30 -7
- package/dist/cjs/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/adapters/vrf.js.map +1 -1
- package/dist/cjs/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/adapters/webauthn.js +7 -30
- package/dist/cjs/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/adapters/webauthn.js.map +1 -1
- package/dist/cjs/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/determineConfirmationConfig.js +0 -3
- package/dist/cjs/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/determineConfirmationConfig.js.map +1 -1
- package/dist/cjs/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/flows/localOnly.js +38 -4
- package/dist/cjs/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/flows/localOnly.js.map +1 -1
- package/dist/cjs/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/flows/registration.js +27 -6
- package/dist/cjs/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/flows/registration.js.map +1 -1
- package/dist/cjs/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/flows/requestRegistrationCredentialConfirmation.js +0 -3
- package/dist/cjs/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/flows/requestRegistrationCredentialConfirmation.js.map +1 -1
- package/dist/cjs/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/flows/transactions.js +19 -17
- package/dist/cjs/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/flows/transactions.js.map +1 -1
- package/dist/cjs/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/handleSecureConfirmRequest.js +0 -2
- package/dist/cjs/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/handleSecureConfirmRequest.js.map +1 -1
- package/dist/cjs/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/types.js +0 -1
- package/dist/cjs/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/types.js.map +1 -1
- package/dist/cjs/core/WebAuthnManager/VrfWorkerManager/handlers/checkSessionStatus.js +0 -1
- package/dist/cjs/core/WebAuthnManager/VrfWorkerManager/handlers/checkSessionStatus.js.map +1 -1
- package/dist/cjs/core/WebAuthnManager/VrfWorkerManager/handlers/checkVrfStatus.js +8 -6
- package/dist/cjs/core/WebAuthnManager/VrfWorkerManager/handlers/checkVrfStatus.js.map +1 -1
- package/dist/cjs/core/WebAuthnManager/VrfWorkerManager/handlers/clearSession.js +0 -1
- package/dist/cjs/core/WebAuthnManager/VrfWorkerManager/handlers/clearSession.js.map +1 -1
- package/dist/cjs/core/WebAuthnManager/VrfWorkerManager/handlers/clearVrf.js +0 -1
- package/dist/cjs/core/WebAuthnManager/VrfWorkerManager/handlers/clearVrf.js.map +1 -1
- package/dist/cjs/core/WebAuthnManager/VrfWorkerManager/handlers/confirmAndDeriveDevice2RegistrationSession.js +0 -1
- package/dist/cjs/core/WebAuthnManager/VrfWorkerManager/handlers/confirmAndDeriveDevice2RegistrationSession.js.map +1 -1
- package/dist/cjs/core/WebAuthnManager/VrfWorkerManager/handlers/confirmAndPrepareSigningSession.js +17 -15
- package/dist/cjs/core/WebAuthnManager/VrfWorkerManager/handlers/confirmAndPrepareSigningSession.js.map +1 -1
- package/dist/cjs/core/WebAuthnManager/VrfWorkerManager/handlers/deriveVrfKeypairFromPrf.js +6 -4
- package/dist/cjs/core/WebAuthnManager/VrfWorkerManager/handlers/deriveVrfKeypairFromPrf.js.map +1 -1
- package/dist/cjs/core/WebAuthnManager/VrfWorkerManager/handlers/dispenseSessionKey.js +0 -1
- package/dist/cjs/core/WebAuthnManager/VrfWorkerManager/handlers/dispenseSessionKey.js.map +1 -1
- package/dist/cjs/core/WebAuthnManager/VrfWorkerManager/handlers/generateVrfChallenge.js +36 -4
- package/dist/cjs/core/WebAuthnManager/VrfWorkerManager/handlers/generateVrfChallenge.js.map +1 -1
- package/dist/cjs/core/WebAuthnManager/VrfWorkerManager/handlers/generateVrfKeypairBootstrap.js +6 -4
- package/dist/cjs/core/WebAuthnManager/VrfWorkerManager/handlers/generateVrfKeypairBootstrap.js.map +1 -1
- package/dist/cjs/core/WebAuthnManager/VrfWorkerManager/handlers/mintSessionKeysAndSendToSigner.js +0 -1
- package/dist/cjs/core/WebAuthnManager/VrfWorkerManager/handlers/mintSessionKeysAndSendToSigner.js.map +1 -1
- package/dist/cjs/core/WebAuthnManager/VrfWorkerManager/handlers/prepareDecryptSession.js +0 -1
- package/dist/cjs/core/WebAuthnManager/VrfWorkerManager/handlers/prepareDecryptSession.js.map +1 -1
- package/dist/cjs/core/WebAuthnManager/VrfWorkerManager/handlers/requestRegistrationCredentialConfirmation.js +0 -1
- package/dist/cjs/core/WebAuthnManager/VrfWorkerManager/handlers/requestRegistrationCredentialConfirmation.js.map +1 -1
- package/dist/cjs/core/WebAuthnManager/VrfWorkerManager/handlers/shamir3PassDecryptVrfKeypair.js +0 -1
- package/dist/cjs/core/WebAuthnManager/VrfWorkerManager/handlers/shamir3PassDecryptVrfKeypair.js.map +1 -1
- package/dist/cjs/core/WebAuthnManager/VrfWorkerManager/handlers/shamir3PassEncryptCurrentVrfKeypair.js +0 -1
- package/dist/cjs/core/WebAuthnManager/VrfWorkerManager/handlers/shamir3PassEncryptCurrentVrfKeypair.js.map +1 -1
- package/dist/cjs/core/WebAuthnManager/VrfWorkerManager/handlers/unlockVrfKeypair.js +0 -1
- package/dist/cjs/core/WebAuthnManager/VrfWorkerManager/handlers/unlockVrfKeypair.js.map +1 -1
- package/dist/cjs/core/WebAuthnManager/VrfWorkerManager/index.js +37 -4
- package/dist/cjs/core/WebAuthnManager/VrfWorkerManager/index.js.map +1 -1
- package/dist/cjs/core/WebAuthnManager/VrfWorkerManager/secureConfirmBridge.js +0 -1
- package/dist/cjs/core/WebAuthnManager/VrfWorkerManager/secureConfirmBridge.js.map +1 -1
- package/dist/cjs/core/WebAuthnManager/WebAuthnFallbacks/safari-fallbacks.js +54 -65
- package/dist/cjs/core/WebAuthnManager/WebAuthnFallbacks/safari-fallbacks.js.map +1 -1
- package/dist/cjs/core/WebAuthnManager/collectAuthenticationCredentialForVrfChallenge.js +34 -0
- package/dist/cjs/core/WebAuthnManager/collectAuthenticationCredentialForVrfChallenge.js.map +1 -0
- package/dist/cjs/core/WebAuthnManager/credentialsHelpers.js +18 -26
- package/dist/cjs/core/WebAuthnManager/credentialsHelpers.js.map +1 -1
- package/dist/cjs/core/WebAuthnManager/index.js +352 -50
- package/dist/cjs/core/WebAuthnManager/index.js.map +1 -1
- package/dist/cjs/core/WebAuthnManager/threshold/enrollThresholdEd25519Key.js +92 -0
- package/dist/cjs/core/WebAuthnManager/threshold/enrollThresholdEd25519Key.js.map +1 -0
- package/dist/cjs/core/WebAuthnManager/threshold/rotateThresholdEd25519KeyPostRegistration.js +144 -0
- package/dist/cjs/core/WebAuthnManager/threshold/rotateThresholdEd25519KeyPostRegistration.js.map +1 -0
- package/dist/cjs/core/WebAuthnManager/touchIdPrompt.js +200 -211
- package/dist/cjs/core/WebAuthnManager/touchIdPrompt.js.map +1 -1
- package/dist/cjs/core/WebAuthnManager/userHandle.js +0 -4
- package/dist/cjs/core/WebAuthnManager/userHandle.js.map +1 -1
- package/dist/cjs/core/WebAuthnManager/userPreferences.js +119 -37
- package/dist/cjs/core/WebAuthnManager/userPreferences.js.map +1 -1
- package/dist/cjs/core/defaultConfigs.js +55 -57
- package/dist/cjs/core/defaultConfigs.js.map +1 -1
- package/dist/cjs/core/digests/intentDigest.js +100 -0
- package/dist/cjs/core/digests/intentDigest.js.map +1 -0
- package/dist/cjs/core/nearCrypto.js +3 -30
- package/dist/cjs/core/nearCrypto.js.map +1 -1
- package/dist/cjs/core/nonceManager.js +6 -16
- package/dist/cjs/core/nonceManager.js.map +1 -1
- package/dist/cjs/core/rpcCalls.js +263 -24
- package/dist/cjs/core/rpcCalls.js.map +1 -1
- package/dist/cjs/core/sdkPaths/base.js +0 -1
- package/dist/cjs/core/sdkPaths/base.js.map +1 -1
- package/dist/cjs/core/sdkPaths/workers.js +7 -6
- package/dist/cjs/core/sdkPaths/workers.js.map +1 -1
- package/dist/cjs/core/threshold/thresholdEd25519AuthSession.js +145 -0
- package/dist/cjs/core/threshold/thresholdEd25519AuthSession.js.map +1 -0
- package/dist/cjs/core/threshold/thresholdEd25519RelayerHealth.js +117 -0
- package/dist/cjs/core/threshold/thresholdEd25519RelayerHealth.js.map +1 -0
- package/dist/cjs/core/threshold/thresholdSessionPolicy.js +67 -0
- package/dist/cjs/core/threshold/thresholdSessionPolicy.js.map +1 -0
- package/dist/cjs/core/types/accountIds.js +0 -11
- package/dist/cjs/core/types/accountIds.js.map +1 -1
- package/dist/cjs/core/types/actions.js +18 -27
- package/dist/cjs/core/types/actions.js.map +1 -1
- package/dist/cjs/core/types/emailRecovery.js +25 -26
- package/dist/cjs/core/types/emailRecovery.js.map +1 -1
- package/dist/cjs/core/types/linkDevice.js +0 -1
- package/dist/cjs/core/types/linkDevice.js.map +1 -1
- package/dist/cjs/core/types/rpc.js +9 -19
- package/dist/cjs/core/types/rpc.js.map +1 -1
- package/dist/cjs/core/types/sdkSentEvents.js +107 -118
- package/dist/cjs/core/types/sdkSentEvents.js.map +1 -1
- package/dist/cjs/core/types/signer-worker.js +94 -18
- package/dist/cjs/core/types/signer-worker.js.map +1 -1
- package/dist/cjs/core/types/vrf-worker.js +3 -13
- package/dist/cjs/core/types/vrf-worker.js.map +1 -1
- package/dist/cjs/core/workerControlMessages.js +0 -1
- package/dist/cjs/core/workerControlMessages.js.map +1 -1
- package/dist/cjs/index.js +9 -25
- package/dist/cjs/plugins/headers.js +3 -11
- package/dist/cjs/plugins/headers.js.map +1 -1
- package/dist/cjs/plugins/next.js +21 -11
- package/dist/cjs/plugins/next.js.map +1 -1
- package/dist/cjs/plugins/plugin-utils.js +1 -7
- package/dist/cjs/plugins/plugin-utils.js.map +1 -1
- package/dist/cjs/plugins/utils/validation.js +29 -0
- package/dist/cjs/plugins/utils/validation.js.map +1 -0
- package/dist/cjs/plugins/vite.js +18 -11
- package/dist/cjs/plugins/vite.js.map +1 -1
- package/dist/cjs/react/_virtual/rolldown_runtime.js +0 -13
- package/dist/cjs/react/build-paths.js +54 -0
- package/dist/cjs/react/build-paths.js.map +1 -0
- package/dist/cjs/react/components/AccountMenuButton/LinkedDevicesModal-C-RBcCPI.css +452 -0
- package/dist/cjs/react/components/AccountMenuButton/LinkedDevicesModal-C-RBcCPI.css.map +1 -0
- package/dist/cjs/react/components/AccountMenuButton/LinkedDevicesModal2.js +6 -5
- package/dist/cjs/react/components/AccountMenuButton/LinkedDevicesModal2.js.map +1 -1
- package/dist/cjs/react/components/AccountMenuButton/ProfileDropdown-BCW8a1XS.css +120 -0
- package/dist/cjs/react/components/AccountMenuButton/ProfileDropdown-BCW8a1XS.css.map +1 -0
- package/dist/cjs/react/components/AccountMenuButton/ProfileDropdown2.js +3 -1
- package/dist/cjs/react/components/AccountMenuButton/ProfileDropdown2.js.map +1 -1
- package/dist/cjs/react/components/AccountMenuButton/TransactionSettingsSection.js +35 -1
- package/dist/cjs/react/components/AccountMenuButton/TransactionSettingsSection.js.map +1 -1
- package/dist/cjs/react/components/AccountMenuButton/Web3AuthProfileButton-QsQWyQ9D.css +77 -0
- package/dist/cjs/react/components/AccountMenuButton/Web3AuthProfileButton-QsQWyQ9D.css.map +1 -0
- package/dist/cjs/react/components/AccountMenuButton/icons/TouchIcon-BRVcqcso.css +41 -0
- package/dist/cjs/react/components/AccountMenuButton/icons/TouchIcon-BRVcqcso.css.map +1 -0
- package/dist/cjs/react/components/AccountMenuButton/index.js +25 -4
- package/dist/cjs/react/components/AccountMenuButton/index.js.map +1 -1
- package/dist/cjs/react/components/AccountMenuButton/types.js +0 -1
- package/dist/cjs/react/components/AccountMenuButton/types.js.map +1 -1
- package/dist/cjs/react/components/PasskeyAuthMenu/PasskeyAuthMenu-CRlobBrN.css +1009 -0
- package/dist/cjs/react/components/PasskeyAuthMenu/PasskeyAuthMenu-CRlobBrN.css.map +1 -0
- package/dist/cjs/react/components/PasskeyAuthMenu/adapters/tatchi.js +0 -1
- package/dist/cjs/react/components/PasskeyAuthMenu/adapters/tatchi.js.map +1 -1
- package/dist/cjs/react/components/PasskeyAuthMenu/authMenuTypes.js +2 -3
- package/dist/cjs/react/components/PasskeyAuthMenu/authMenuTypes.js.map +1 -1
- package/dist/cjs/react/components/PasskeyAuthMenu/client.js +10 -10
- package/dist/cjs/react/components/PasskeyAuthMenu/client.js.map +1 -1
- package/dist/cjs/react/components/PasskeyAuthMenu/controller/mode.js +4 -4
- package/dist/cjs/react/components/PasskeyAuthMenu/controller/mode.js.map +1 -1
- package/dist/cjs/react/components/PasskeyAuthMenu/controller/proceedEligibility.js +0 -1
- package/dist/cjs/react/components/PasskeyAuthMenu/controller/proceedEligibility.js.map +1 -1
- package/dist/cjs/react/components/PasskeyAuthMenu/controller/usePasskeyAuthMenuController.js +3 -3
- package/dist/cjs/react/components/PasskeyAuthMenu/controller/usePasskeyAuthMenuController.js.map +1 -1
- package/dist/cjs/react/components/PasskeyAuthMenu/controller/useSDKEvents.js.map +1 -1
- package/dist/cjs/react/components/PasskeyAuthMenu/features/recentLoginPrefill.js +0 -1
- package/dist/cjs/react/components/PasskeyAuthMenu/features/recentLoginPrefill.js.map +1 -1
- package/dist/cjs/react/components/PasskeyAuthMenu/passkeyAuthMenuCompat.js +0 -1
- package/dist/cjs/react/components/PasskeyAuthMenu/passkeyAuthMenuCompat.js.map +1 -1
- package/dist/cjs/react/components/PasskeyAuthMenu/preload.js +0 -1
- package/dist/cjs/react/components/PasskeyAuthMenu/preload.js.map +1 -1
- package/dist/cjs/react/components/PasskeyAuthMenu/skeleton.js +1 -1
- package/dist/cjs/react/components/PasskeyAuthMenu/skeleton.js.map +1 -1
- package/dist/cjs/react/components/PasskeyAuthMenu/ui/AccountExistsBadge.js +1 -1
- package/dist/cjs/react/components/PasskeyAuthMenu/ui/AccountExistsBadge.js.map +1 -1
- package/dist/cjs/react/components/PasskeyAuthMenu/ui/EmailRecoverySlide.js +275 -366
- package/dist/cjs/react/components/PasskeyAuthMenu/ui/EmailRecoverySlide.js.map +1 -1
- package/dist/cjs/react/components/ShowQRCode-DGCJv1Cw.css +113 -0
- package/dist/cjs/react/components/ShowQRCode-DGCJv1Cw.css.map +1 -0
- package/dist/cjs/react/components/ShowQRCode2.js +1 -2
- package/dist/cjs/react/components/ShowQRCode2.js.map +1 -1
- package/dist/cjs/react/components/theme/ThemeProvider.js +18 -18
- package/dist/cjs/react/components/theme/ThemeProvider.js.map +1 -1
- package/dist/cjs/react/components/theme/design-tokens.js +1 -2
- package/dist/cjs/react/components/theme/design-tokens.js.map +1 -1
- package/dist/cjs/react/components/theme/utils.js +0 -1
- package/dist/cjs/react/components/theme/utils.js.map +1 -1
- package/dist/cjs/react/context/tatchiManagerSingleton.js +2 -4
- package/dist/cjs/react/context/tatchiManagerSingleton.js.map +1 -1
- package/dist/cjs/react/context/useLoginStateRefresher.js +1 -2
- package/dist/cjs/react/context/useLoginStateRefresher.js.map +1 -1
- package/dist/cjs/react/context/useTatchiContextValue.js +17 -9
- package/dist/cjs/react/context/useTatchiContextValue.js.map +1 -1
- package/dist/cjs/react/context/useTatchiWithSdkFlow.js +9 -10
- package/dist/cjs/react/context/useTatchiWithSdkFlow.js.map +1 -1
- package/dist/cjs/react/context/useWalletIframeLifecycle.js +1 -2
- package/dist/cjs/react/context/useWalletIframeLifecycle.js.map +1 -1
- package/dist/cjs/react/deviceDetection.js +92 -81
- package/dist/cjs/react/deviceDetection.js.map +1 -1
- package/dist/cjs/react/hooks/useAccountInput.js +1 -2
- package/dist/cjs/react/hooks/useAccountInput.js.map +1 -1
- package/dist/cjs/react/hooks/useDeviceLinking.js +1 -1
- package/dist/cjs/react/hooks/useNearClient.js +2 -3
- package/dist/cjs/react/hooks/useNearClient.js.map +1 -1
- package/dist/cjs/react/hooks/usePreconnectWalletAssets.js +1 -1
- package/dist/cjs/react/hooks/useQRCamera.js +1 -2
- package/dist/cjs/react/hooks/useQRCamera.js.map +1 -1
- package/dist/cjs/react/hooks/useQRFileUpload.js +1 -1
- package/dist/cjs/react/index.js +7 -20
- package/dist/cjs/react/src/base-styles.js +20 -0
- package/dist/cjs/react/src/base-styles.js.map +1 -0
- package/dist/cjs/react/src/config.js +34 -0
- package/dist/cjs/react/src/config.js.map +1 -0
- package/dist/cjs/react/src/core/ChainsigAddressManager/index.js +27 -0
- package/dist/cjs/react/src/core/ChainsigAddressManager/index.js.map +1 -0
- package/dist/cjs/react/src/core/EmailRecovery/emailRecoveryPendingStore.js +57 -0
- package/dist/cjs/react/src/core/EmailRecovery/emailRecoveryPendingStore.js.map +1 -0
- package/dist/cjs/react/src/core/EmailRecovery/index.js +99 -0
- package/dist/cjs/react/src/core/EmailRecovery/index.js.map +1 -0
- package/dist/cjs/react/src/core/IndexedDBManager/index.js +133 -0
- package/dist/cjs/react/src/core/IndexedDBManager/index.js.map +1 -0
- package/dist/cjs/react/src/core/IndexedDBManager/passkeyClientDB.js +687 -0
- package/dist/cjs/react/src/core/IndexedDBManager/passkeyClientDB.js.map +1 -0
- package/dist/cjs/react/src/core/IndexedDBManager/passkeyNearKeysDB.js +261 -0
- package/dist/cjs/react/src/core/IndexedDBManager/passkeyNearKeysDB.js.map +1 -0
- package/dist/cjs/react/src/core/NearClient.js +274 -0
- package/dist/cjs/react/src/core/NearClient.js.map +1 -0
- package/dist/cjs/react/src/core/NearRpcError.js +115 -0
- package/dist/cjs/react/src/core/NearRpcError.js.map +1 -0
- package/dist/cjs/react/src/core/OfflineExport/overlay.js +55 -0
- package/dist/cjs/react/src/core/OfflineExport/overlay.js.map +1 -0
- package/dist/cjs/react/src/core/TatchiPasskey/actions.js +406 -0
- package/dist/cjs/react/src/core/TatchiPasskey/actions.js.map +1 -0
- package/dist/cjs/react/src/core/TatchiPasskey/delegateAction.js +76 -0
- package/dist/cjs/react/src/core/TatchiPasskey/delegateAction.js.map +1 -0
- package/dist/cjs/react/src/core/TatchiPasskey/emailRecovery.js +933 -0
- package/dist/cjs/react/src/core/TatchiPasskey/emailRecovery.js.map +1 -0
- package/dist/cjs/react/src/core/TatchiPasskey/faucets/createAccountRelayServer.js +108 -0
- package/dist/cjs/react/src/core/TatchiPasskey/faucets/createAccountRelayServer.js.map +1 -0
- package/dist/cjs/react/src/core/TatchiPasskey/index.js +1335 -0
- package/dist/cjs/react/src/core/TatchiPasskey/index.js.map +1 -0
- package/dist/cjs/react/src/core/TatchiPasskey/linkDevice.js +766 -0
- package/dist/cjs/react/src/core/TatchiPasskey/linkDevice.js.map +1 -0
- package/dist/cjs/react/src/core/TatchiPasskey/login.js +757 -0
- package/dist/cjs/react/src/core/TatchiPasskey/login.js.map +1 -0
- package/dist/cjs/react/src/core/TatchiPasskey/registration.js +441 -0
- package/dist/cjs/react/src/core/TatchiPasskey/registration.js.map +1 -0
- package/dist/cjs/react/src/core/TatchiPasskey/relay.js +110 -0
- package/dist/cjs/react/src/core/TatchiPasskey/relay.js.map +1 -0
- package/dist/cjs/react/src/core/TatchiPasskey/scanDevice.js +99 -0
- package/dist/cjs/react/src/core/TatchiPasskey/scanDevice.js.map +1 -0
- package/dist/cjs/react/src/core/TatchiPasskey/signNEP413.js +96 -0
- package/dist/cjs/react/src/core/TatchiPasskey/signNEP413.js.map +1 -0
- package/dist/cjs/react/src/core/TatchiPasskey/syncAccount.js +505 -0
- package/dist/cjs/react/src/core/TatchiPasskey/syncAccount.js.map +1 -0
- package/dist/cjs/react/src/core/WalletIframe/client/IframeTransport.js +362 -0
- package/dist/cjs/react/src/core/WalletIframe/client/IframeTransport.js.map +1 -0
- package/dist/cjs/react/src/core/WalletIframe/client/on-events-progress-bus.js +208 -0
- package/dist/cjs/react/src/core/WalletIframe/client/on-events-progress-bus.js.map +1 -0
- package/dist/cjs/react/src/core/WalletIframe/client/overlay-controller.js +99 -0
- package/dist/cjs/react/src/core/WalletIframe/client/overlay-controller.js.map +1 -0
- package/dist/cjs/react/src/core/WalletIframe/client/overlay-styles.js +127 -0
- package/dist/cjs/react/src/core/WalletIframe/client/overlay-styles.js.map +1 -0
- package/dist/cjs/react/src/core/WalletIframe/client/router.js +1096 -0
- package/dist/cjs/react/src/core/WalletIframe/client/router.js.map +1 -0
- package/dist/cjs/react/src/core/WalletIframe/events.js +10 -0
- package/dist/cjs/react/src/core/WalletIframe/events.js.map +1 -0
- package/dist/cjs/react/src/core/WalletIframe/host-mode.js +14 -0
- package/dist/cjs/react/src/core/WalletIframe/host-mode.js.map +1 -0
- package/dist/cjs/react/src/core/WebAuthnManager/LitComponents/Drawer/index.js +660 -0
- package/dist/cjs/react/src/core/WebAuthnManager/LitComponents/Drawer/index.js.map +1 -0
- package/dist/cjs/react/src/core/WebAuthnManager/LitComponents/ExportPrivateKey/iframe-host.js +222 -0
- package/dist/cjs/react/src/core/WebAuthnManager/LitComponents/ExportPrivateKey/iframe-host.js.map +1 -0
- package/dist/cjs/react/src/core/WebAuthnManager/LitComponents/HaloBorder/index.js +135 -0
- package/dist/cjs/react/src/core/WebAuthnManager/LitComponents/HaloBorder/index.js.map +1 -0
- package/dist/cjs/react/src/core/WebAuthnManager/LitComponents/IframeTxConfirmer/tx-confirm-content.js +189 -0
- package/dist/cjs/react/src/core/WebAuthnManager/LitComponents/IframeTxConfirmer/tx-confirm-content.js.map +1 -0
- package/dist/cjs/react/src/core/WebAuthnManager/LitComponents/IframeTxConfirmer/tx-confirmer-wrapper.js +248 -0
- package/dist/cjs/react/src/core/WebAuthnManager/LitComponents/IframeTxConfirmer/tx-confirmer-wrapper.js.map +1 -0
- package/dist/cjs/react/src/core/WebAuthnManager/LitComponents/IframeTxConfirmer/viewer-drawer.js +261 -0
- package/dist/cjs/react/src/core/WebAuthnManager/LitComponents/IframeTxConfirmer/viewer-drawer.js.map +1 -0
- package/dist/cjs/react/src/core/WebAuthnManager/LitComponents/IframeTxConfirmer/viewer-modal.js +281 -0
- package/dist/cjs/react/src/core/WebAuthnManager/LitComponents/IframeTxConfirmer/viewer-modal.js.map +1 -0
- package/dist/cjs/react/src/core/WebAuthnManager/LitComponents/LitElementWithProps.js +260 -0
- package/dist/cjs/react/src/core/WebAuthnManager/LitComponents/LitElementWithProps.js.map +1 -0
- package/dist/cjs/react/src/core/WebAuthnManager/LitComponents/PasskeyHaloLoading/index.js +146 -0
- package/dist/cjs/react/src/core/WebAuthnManager/LitComponents/PasskeyHaloLoading/index.js.map +1 -0
- package/dist/cjs/react/src/core/WebAuthnManager/LitComponents/TxTree/index.js +502 -0
- package/dist/cjs/react/src/core/WebAuthnManager/LitComponents/TxTree/index.js.map +1 -0
- package/dist/cjs/react/src/core/WebAuthnManager/LitComponents/TxTree/tx-tree-themes.js +211 -0
- package/dist/cjs/react/src/core/WebAuthnManager/LitComponents/TxTree/tx-tree-themes.js.map +1 -0
- package/dist/cjs/react/src/core/WebAuthnManager/LitComponents/TxTree/tx-tree-utils.js +181 -0
- package/dist/cjs/react/src/core/WebAuthnManager/LitComponents/TxTree/tx-tree-utils.js.map +1 -0
- package/dist/cjs/react/src/core/WebAuthnManager/LitComponents/asset-base.js +45 -0
- package/dist/cjs/react/src/core/WebAuthnManager/LitComponents/asset-base.js.map +1 -0
- package/dist/cjs/react/src/core/WebAuthnManager/LitComponents/common/PadlockIcon.js +55 -0
- package/dist/cjs/react/src/core/WebAuthnManager/LitComponents/common/PadlockIcon.js.map +1 -0
- package/dist/cjs/react/src/core/WebAuthnManager/LitComponents/common/formatters.js +67 -0
- package/dist/cjs/react/src/core/WebAuthnManager/LitComponents/common/formatters.js.map +1 -0
- package/dist/cjs/react/src/core/WebAuthnManager/LitComponents/confirm-ui-types.js +9 -0
- package/dist/cjs/react/src/core/WebAuthnManager/LitComponents/confirm-ui-types.js.map +1 -0
- package/dist/cjs/react/src/core/WebAuthnManager/LitComponents/confirm-ui.js +219 -0
- package/dist/cjs/react/src/core/WebAuthnManager/LitComponents/confirm-ui.js.map +1 -0
- package/dist/cjs/react/src/core/WebAuthnManager/LitComponents/css/css-loader.js +109 -0
- package/dist/cjs/react/src/core/WebAuthnManager/LitComponents/css/css-loader.js.map +1 -0
- package/dist/cjs/react/src/core/WebAuthnManager/LitComponents/ensure-defined.js +19 -0
- package/dist/cjs/react/src/core/WebAuthnManager/LitComponents/ensure-defined.js.map +1 -0
- package/dist/cjs/react/src/core/WebAuthnManager/LitComponents/lit-events.js +34 -0
- package/dist/cjs/react/src/core/WebAuthnManager/LitComponents/lit-events.js.map +1 -0
- package/dist/cjs/react/src/core/WebAuthnManager/LitComponents/tags.js +35 -0
- package/dist/cjs/react/src/core/WebAuthnManager/LitComponents/tags.js.map +1 -0
- package/dist/cjs/react/src/core/WebAuthnManager/SignerWorkerManager/getDeviceNumber.js +28 -0
- package/dist/cjs/react/src/core/WebAuthnManager/SignerWorkerManager/getDeviceNumber.js.map +1 -0
- package/dist/cjs/react/src/core/WebAuthnManager/SignerWorkerManager/handlers/checkCanRegisterUser.js +67 -0
- package/dist/cjs/react/src/core/WebAuthnManager/SignerWorkerManager/handlers/checkCanRegisterUser.js.map +1 -0
- package/dist/cjs/react/src/core/WebAuthnManager/SignerWorkerManager/handlers/decryptPrivateKeyWithPrf.js +45 -0
- package/dist/cjs/react/src/core/WebAuthnManager/SignerWorkerManager/handlers/decryptPrivateKeyWithPrf.js.map +1 -0
- package/dist/cjs/react/src/core/WebAuthnManager/SignerWorkerManager/handlers/deriveNearKeypairAndEncryptFromSerialized.js +71 -0
- package/dist/cjs/react/src/core/WebAuthnManager/SignerWorkerManager/handlers/deriveNearKeypairAndEncryptFromSerialized.js.map +1 -0
- package/dist/cjs/react/src/core/WebAuthnManager/SignerWorkerManager/handlers/deriveThresholdEd25519ClientVerifyingShare.js +46 -0
- package/dist/cjs/react/src/core/WebAuthnManager/SignerWorkerManager/handlers/deriveThresholdEd25519ClientVerifyingShare.js.map +1 -0
- package/dist/cjs/react/src/core/WebAuthnManager/SignerWorkerManager/handlers/exportNearKeypairUi.js +64 -0
- package/dist/cjs/react/src/core/WebAuthnManager/SignerWorkerManager/handlers/exportNearKeypairUi.js.map +1 -0
- package/dist/cjs/react/src/core/WebAuthnManager/SignerWorkerManager/handlers/extractCosePublicKey.js +26 -0
- package/dist/cjs/react/src/core/WebAuthnManager/SignerWorkerManager/handlers/extractCosePublicKey.js.map +1 -0
- package/dist/cjs/react/src/core/WebAuthnManager/SignerWorkerManager/handlers/recoverKeypairFromPasskey.js +45 -0
- package/dist/cjs/react/src/core/WebAuthnManager/SignerWorkerManager/handlers/recoverKeypairFromPasskey.js.map +1 -0
- package/dist/cjs/react/src/core/WebAuthnManager/SignerWorkerManager/handlers/registerDevice2WithDerivedKey.js +121 -0
- package/dist/cjs/react/src/core/WebAuthnManager/SignerWorkerManager/handlers/registerDevice2WithDerivedKey.js.map +1 -0
- package/dist/cjs/react/src/core/WebAuthnManager/SignerWorkerManager/handlers/session.js +16 -0
- package/dist/cjs/react/src/core/WebAuthnManager/SignerWorkerManager/handlers/session.js.map +1 -0
- package/dist/cjs/react/src/core/WebAuthnManager/SignerWorkerManager/handlers/signDelegateAction.js +261 -0
- package/dist/cjs/react/src/core/WebAuthnManager/SignerWorkerManager/handlers/signDelegateAction.js.map +1 -0
- package/dist/cjs/react/src/core/WebAuthnManager/SignerWorkerManager/handlers/signNep413Message.js +220 -0
- package/dist/cjs/react/src/core/WebAuthnManager/SignerWorkerManager/handlers/signNep413Message.js.map +1 -0
- package/dist/cjs/react/src/core/WebAuthnManager/SignerWorkerManager/handlers/signTransactionWithKeyPair.js +57 -0
- package/dist/cjs/react/src/core/WebAuthnManager/SignerWorkerManager/handlers/signTransactionWithKeyPair.js.map +1 -0
- package/dist/cjs/react/src/core/WebAuthnManager/SignerWorkerManager/handlers/signTransactionsWithActions.js +302 -0
- package/dist/cjs/react/src/core/WebAuthnManager/SignerWorkerManager/handlers/signTransactionsWithActions.js.map +1 -0
- package/dist/cjs/react/src/core/WebAuthnManager/SignerWorkerManager/handlers/validation.js +75 -0
- package/dist/cjs/react/src/core/WebAuthnManager/SignerWorkerManager/handlers/validation.js.map +1 -0
- package/dist/cjs/react/src/core/WebAuthnManager/SignerWorkerManager/index.js +457 -0
- package/dist/cjs/react/src/core/WebAuthnManager/SignerWorkerManager/index.js.map +1 -0
- package/dist/cjs/react/src/core/WebAuthnManager/SignerWorkerManager/sessionHandshake.js +35 -0
- package/dist/cjs/react/src/core/WebAuthnManager/SignerWorkerManager/sessionHandshake.js.map +1 -0
- package/dist/cjs/react/src/core/WebAuthnManager/SignerWorkerManager/sessionMessages.js +93 -0
- package/dist/cjs/react/src/core/WebAuthnManager/SignerWorkerManager/sessionMessages.js.map +1 -0
- package/dist/cjs/react/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/adapters/common.js +58 -0
- package/dist/cjs/react/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/adapters/common.js.map +1 -0
- package/dist/cjs/react/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/adapters/createAdapters.js +49 -0
- package/dist/cjs/react/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/adapters/createAdapters.js.map +1 -0
- package/dist/cjs/react/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/adapters/near.js +51 -0
- package/dist/cjs/react/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/adapters/near.js.map +1 -0
- package/dist/cjs/react/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/adapters/requestAdapter.js +31 -0
- package/dist/cjs/react/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/adapters/requestAdapter.js.map +1 -0
- package/dist/cjs/react/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/adapters/requestHelpers.js +46 -0
- package/dist/cjs/react/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/adapters/requestHelpers.js.map +1 -0
- package/dist/cjs/react/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/adapters/session.js +53 -0
- package/dist/cjs/react/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/adapters/session.js.map +1 -0
- package/dist/cjs/react/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/adapters/ui.js +76 -0
- package/dist/cjs/react/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/adapters/ui.js.map +1 -0
- package/dist/cjs/react/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/adapters/vrf.js +87 -0
- package/dist/cjs/react/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/adapters/vrf.js.map +1 -0
- package/dist/cjs/react/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/adapters/webauthn.js +17 -0
- package/dist/cjs/react/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/adapters/webauthn.js.map +1 -0
- package/dist/cjs/react/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/determineConfirmationConfig.js +63 -0
- package/dist/cjs/react/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/determineConfirmationConfig.js.map +1 -0
- package/dist/cjs/react/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/flows/localOnly.js +124 -0
- package/dist/cjs/react/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/flows/localOnly.js.map +1 -0
- package/dist/cjs/react/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/flows/registration.js +157 -0
- package/dist/cjs/react/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/flows/registration.js.map +1 -0
- package/dist/cjs/react/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/flows/requestRegistrationCredentialConfirmation.js +49 -0
- package/dist/cjs/react/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/flows/requestRegistrationCredentialConfirmation.js.map +1 -0
- package/dist/cjs/react/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/flows/transactions.js +175 -0
- package/dist/cjs/react/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/flows/transactions.js.map +1 -0
- package/dist/cjs/react/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/handleSecureConfirmRequest.js +117 -0
- package/dist/cjs/react/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/handleSecureConfirmRequest.js.map +1 -0
- package/dist/cjs/react/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/types.js +21 -0
- package/dist/cjs/react/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/types.js.map +1 -0
- package/dist/cjs/react/src/core/WebAuthnManager/VrfWorkerManager/handlers/checkSessionStatus.js +26 -0
- package/dist/cjs/react/src/core/WebAuthnManager/VrfWorkerManager/handlers/checkSessionStatus.js.map +1 -0
- package/dist/cjs/react/src/core/WebAuthnManager/VrfWorkerManager/handlers/checkVrfStatus.js +54 -0
- package/dist/cjs/react/src/core/WebAuthnManager/VrfWorkerManager/handlers/checkVrfStatus.js.map +1 -0
- package/dist/cjs/react/src/core/WebAuthnManager/VrfWorkerManager/handlers/clearSession.js +32 -0
- package/dist/cjs/react/src/core/WebAuthnManager/VrfWorkerManager/handlers/clearSession.js.map +1 -0
- package/dist/cjs/react/src/core/WebAuthnManager/VrfWorkerManager/handlers/clearVrf.js +30 -0
- package/dist/cjs/react/src/core/WebAuthnManager/VrfWorkerManager/handlers/clearVrf.js.map +1 -0
- package/dist/cjs/react/src/core/WebAuthnManager/VrfWorkerManager/handlers/confirmAndDeriveDevice2RegistrationSession.js +49 -0
- package/dist/cjs/react/src/core/WebAuthnManager/VrfWorkerManager/handlers/confirmAndDeriveDevice2RegistrationSession.js.map +1 -0
- package/dist/cjs/react/src/core/WebAuthnManager/VrfWorkerManager/handlers/confirmAndPrepareSigningSession.js +158 -0
- package/dist/cjs/react/src/core/WebAuthnManager/VrfWorkerManager/handlers/confirmAndPrepareSigningSession.js.map +1 -0
- package/dist/cjs/react/src/core/WebAuthnManager/VrfWorkerManager/handlers/deriveVrfKeypairFromPrf.js +61 -0
- package/dist/cjs/react/src/core/WebAuthnManager/VrfWorkerManager/handlers/deriveVrfKeypairFromPrf.js.map +1 -0
- package/dist/cjs/react/src/core/WebAuthnManager/VrfWorkerManager/handlers/dispenseSessionKey.js +26 -0
- package/dist/cjs/react/src/core/WebAuthnManager/VrfWorkerManager/handlers/dispenseSessionKey.js.map +1 -0
- package/dist/cjs/react/src/core/WebAuthnManager/VrfWorkerManager/handlers/generateVrfChallenge.js +80 -0
- package/dist/cjs/react/src/core/WebAuthnManager/VrfWorkerManager/handlers/generateVrfChallenge.js.map +1 -0
- package/dist/cjs/react/src/core/WebAuthnManager/VrfWorkerManager/handlers/generateVrfKeypairBootstrap.js +61 -0
- package/dist/cjs/react/src/core/WebAuthnManager/VrfWorkerManager/handlers/generateVrfKeypairBootstrap.js.map +1 -0
- package/dist/cjs/react/src/core/WebAuthnManager/VrfWorkerManager/handlers/mintSessionKeysAndSendToSigner.js +44 -0
- package/dist/cjs/react/src/core/WebAuthnManager/VrfWorkerManager/handlers/mintSessionKeysAndSendToSigner.js.map +1 -0
- package/dist/cjs/react/src/core/WebAuthnManager/VrfWorkerManager/handlers/prepareDecryptSession.js +53 -0
- package/dist/cjs/react/src/core/WebAuthnManager/VrfWorkerManager/handlers/prepareDecryptSession.js.map +1 -0
- package/dist/cjs/react/src/core/WebAuthnManager/VrfWorkerManager/handlers/requestRegistrationCredentialConfirmation.js +30 -0
- package/dist/cjs/react/src/core/WebAuthnManager/VrfWorkerManager/handlers/requestRegistrationCredentialConfirmation.js.map +1 -0
- package/dist/cjs/react/src/core/WebAuthnManager/VrfWorkerManager/handlers/shamir3PassDecryptVrfKeypair.js +27 -0
- package/dist/cjs/react/src/core/WebAuthnManager/VrfWorkerManager/handlers/shamir3PassDecryptVrfKeypair.js.map +1 -0
- package/dist/cjs/react/src/core/WebAuthnManager/VrfWorkerManager/handlers/shamir3PassEncryptCurrentVrfKeypair.js +29 -0
- package/dist/cjs/react/src/core/WebAuthnManager/VrfWorkerManager/handlers/shamir3PassEncryptCurrentVrfKeypair.js.map +1 -0
- package/dist/cjs/react/src/core/WebAuthnManager/VrfWorkerManager/handlers/unlockVrfKeypair.js +41 -0
- package/dist/cjs/react/src/core/WebAuthnManager/VrfWorkerManager/handlers/unlockVrfKeypair.js.map +1 -0
- package/dist/cjs/react/src/core/WebAuthnManager/VrfWorkerManager/index.js +408 -0
- package/dist/cjs/react/src/core/WebAuthnManager/VrfWorkerManager/index.js.map +1 -0
- package/dist/cjs/react/src/core/WebAuthnManager/VrfWorkerManager/secureConfirmBridge.js +25 -0
- package/dist/cjs/react/src/core/WebAuthnManager/VrfWorkerManager/secureConfirmBridge.js.map +1 -0
- package/dist/cjs/react/src/core/WebAuthnManager/WebAuthnFallbacks/safari-fallbacks.js +199 -0
- package/dist/cjs/react/src/core/WebAuthnManager/WebAuthnFallbacks/safari-fallbacks.js.map +1 -0
- package/dist/cjs/react/src/core/WebAuthnManager/collectAuthenticationCredentialForVrfChallenge.js +34 -0
- package/dist/cjs/react/src/core/WebAuthnManager/collectAuthenticationCredentialForVrfChallenge.js.map +1 -0
- package/dist/cjs/react/src/core/WebAuthnManager/credentialsHelpers.js +293 -0
- package/dist/cjs/react/src/core/WebAuthnManager/credentialsHelpers.js.map +1 -0
- package/dist/cjs/react/src/core/WebAuthnManager/index.js +1192 -0
- package/dist/cjs/react/src/core/WebAuthnManager/index.js.map +1 -0
- package/dist/cjs/react/src/core/WebAuthnManager/threshold/enrollThresholdEd25519Key.js +92 -0
- package/dist/cjs/react/src/core/WebAuthnManager/threshold/enrollThresholdEd25519Key.js.map +1 -0
- package/dist/cjs/react/src/core/WebAuthnManager/threshold/rotateThresholdEd25519KeyPostRegistration.js +144 -0
- package/dist/cjs/react/src/core/WebAuthnManager/threshold/rotateThresholdEd25519KeyPostRegistration.js.map +1 -0
- package/dist/cjs/react/src/core/WebAuthnManager/touchIdPrompt.js +271 -0
- package/dist/cjs/react/src/core/WebAuthnManager/touchIdPrompt.js.map +1 -0
- package/dist/cjs/react/src/core/WebAuthnManager/userHandle.js +35 -0
- package/dist/cjs/react/src/core/WebAuthnManager/userHandle.js.map +1 -0
- package/dist/cjs/react/src/core/WebAuthnManager/userPreferences.js +390 -0
- package/dist/cjs/react/src/core/WebAuthnManager/userPreferences.js.map +1 -0
- package/dist/cjs/react/src/core/defaultConfigs.js +108 -0
- package/dist/cjs/react/src/core/defaultConfigs.js.map +1 -0
- package/dist/cjs/react/src/core/digests/intentDigest.js +100 -0
- package/dist/cjs/react/src/core/digests/intentDigest.js.map +1 -0
- package/dist/cjs/react/src/core/nearCrypto.js +30 -0
- package/dist/cjs/react/src/core/nearCrypto.js.map +1 -0
- package/dist/cjs/react/src/core/nonceManager.js +393 -0
- package/dist/cjs/react/src/core/nonceManager.js.map +1 -0
- package/dist/cjs/react/src/core/rpcCalls.js +685 -0
- package/dist/cjs/react/src/core/rpcCalls.js.map +1 -0
- package/dist/cjs/react/src/core/sdkPaths/base.js +48 -0
- package/dist/cjs/react/src/core/sdkPaths/base.js.map +1 -0
- package/dist/cjs/react/src/core/sdkPaths/workers.js +46 -0
- package/dist/cjs/react/src/core/sdkPaths/workers.js.map +1 -0
- package/dist/cjs/react/src/core/threshold/thresholdEd25519AuthSession.js +145 -0
- package/dist/cjs/react/src/core/threshold/thresholdEd25519AuthSession.js.map +1 -0
- package/dist/cjs/react/src/core/threshold/thresholdEd25519RelayerHealth.js +117 -0
- package/dist/cjs/react/src/core/threshold/thresholdEd25519RelayerHealth.js.map +1 -0
- package/dist/cjs/react/src/core/threshold/thresholdSessionPolicy.js +67 -0
- package/dist/cjs/react/src/core/threshold/thresholdSessionPolicy.js.map +1 -0
- package/dist/cjs/react/src/core/types/accountIds.js +24 -0
- package/dist/cjs/react/src/core/types/accountIds.js.map +1 -0
- package/dist/cjs/react/src/core/types/actions.js +265 -0
- package/dist/cjs/react/src/core/types/actions.js.map +1 -0
- package/dist/cjs/react/src/core/types/authenticatorOptions.js +51 -0
- package/dist/cjs/react/src/core/types/authenticatorOptions.js.map +1 -0
- package/dist/cjs/react/src/core/types/emailRecovery.js +32 -0
- package/dist/cjs/react/src/core/types/emailRecovery.js.map +1 -0
- package/dist/cjs/react/src/core/types/linkDevice.js +24 -0
- package/dist/cjs/react/src/core/types/linkDevice.js.map +1 -0
- package/dist/cjs/react/src/core/types/rpc.js +15 -0
- package/dist/cjs/react/src/core/types/rpc.js.map +1 -0
- package/dist/cjs/react/src/core/types/sdkSentEvents.js +122 -0
- package/dist/cjs/react/src/core/types/sdkSentEvents.js.map +1 -0
- package/dist/cjs/react/src/core/types/signer-worker.js +145 -0
- package/dist/cjs/react/src/core/types/signer-worker.js.map +1 -0
- package/dist/cjs/react/src/core/types/vrf-worker.js +64 -0
- package/dist/cjs/react/src/core/types/vrf-worker.js.map +1 -0
- package/dist/cjs/react/src/core/workerControlMessages.js +20 -0
- package/dist/cjs/react/src/core/workerControlMessages.js.map +1 -0
- package/dist/cjs/react/src/theme/base-styles.js +156 -0
- package/dist/cjs/react/src/theme/base-styles.js.map +1 -0
- package/dist/cjs/react/src/theme/palette.js +208 -0
- package/dist/cjs/react/src/theme/palette.js.map +1 -0
- package/dist/cjs/react/src/threshold/participants.js +78 -0
- package/dist/cjs/react/src/threshold/participants.js.map +1 -0
- package/dist/cjs/react/src/utils/base58.js +21 -0
- package/dist/cjs/react/src/utils/base58.js.map +1 -0
- package/dist/cjs/react/src/utils/base64.js +71 -0
- package/dist/cjs/react/src/utils/base64.js.map +1 -0
- package/dist/cjs/react/src/utils/digests.js +28 -0
- package/dist/cjs/react/src/utils/digests.js.map +1 -0
- package/dist/cjs/react/src/utils/errors.js +141 -0
- package/dist/cjs/react/src/utils/errors.js.map +1 -0
- package/dist/cjs/react/src/utils/qrScanner.js +319 -0
- package/dist/cjs/react/src/utils/qrScanner.js.map +1 -0
- package/dist/cjs/react/src/utils/validation.js +160 -0
- package/dist/cjs/react/src/utils/validation.js.map +1 -0
- package/dist/cjs/react/utils/walletIframe.js +0 -1
- package/dist/cjs/react/utils/walletIframe.js.map +1 -1
- package/dist/cjs/server/core/AuthService.js +138 -59
- package/dist/cjs/server/core/AuthService.js.map +1 -1
- package/dist/cjs/server/core/SessionService.js.map +1 -1
- package/dist/cjs/server/core/ShamirService.js +1 -1
- package/dist/cjs/server/core/ShamirService.js.map +1 -1
- package/dist/cjs/server/core/ThresholdService/ThresholdSigningService.js +978 -0
- package/dist/cjs/server/core/ThresholdService/ThresholdSigningService.js.map +1 -0
- package/dist/cjs/server/core/ThresholdService/config.js +102 -0
- package/dist/cjs/server/core/ThresholdService/config.js.map +1 -0
- package/dist/cjs/server/core/ThresholdService/coordinatorGrant.js +201 -0
- package/dist/cjs/server/core/ThresholdService/coordinatorGrant.js.map +1 -0
- package/dist/cjs/server/core/ThresholdService/cosigners.js +282 -0
- package/dist/cjs/server/core/ThresholdService/cosigners.js.map +1 -0
- package/dist/cjs/server/core/ThresholdService/createThresholdSigningService.js +98 -0
- package/dist/cjs/server/core/ThresholdService/createThresholdSigningService.js.map +1 -0
- package/dist/cjs/server/core/ThresholdService/keygenStrategy.js +116 -0
- package/dist/cjs/server/core/ThresholdService/keygenStrategy.js.map +1 -0
- package/dist/cjs/server/core/ThresholdService/kv.js +340 -0
- package/dist/cjs/server/core/ThresholdService/kv.js.map +1 -0
- package/dist/cjs/server/core/ThresholdService/relayerKeyMaterial.js +66 -0
- package/dist/cjs/server/core/ThresholdService/relayerKeyMaterial.js.map +1 -0
- package/dist/cjs/server/core/ThresholdService/signingHandlers.js +1179 -0
- package/dist/cjs/server/core/ThresholdService/signingHandlers.js.map +1 -0
- package/dist/cjs/server/core/ThresholdService/stores/AuthSessionStore.js +258 -0
- package/dist/cjs/server/core/ThresholdService/stores/AuthSessionStore.js.map +1 -0
- package/dist/cjs/server/core/ThresholdService/stores/KeyStore.js +136 -0
- package/dist/cjs/server/core/ThresholdService/stores/KeyStore.js.map +1 -0
- package/dist/cjs/server/core/ThresholdService/stores/SessionStore.js +228 -0
- package/dist/cjs/server/core/ThresholdService/stores/SessionStore.js.map +1 -0
- package/dist/cjs/server/core/ThresholdService/validation.js +558 -0
- package/dist/cjs/server/core/ThresholdService/validation.js.map +1 -0
- package/dist/cjs/server/core/config.js +25 -18
- package/dist/cjs/server/core/config.js.map +1 -1
- package/dist/cjs/server/core/errors.js +3 -1
- package/dist/cjs/server/core/errors.js.map +1 -1
- package/dist/cjs/server/core/logger.js +2 -1
- package/dist/cjs/server/core/logger.js.map +1 -1
- package/dist/cjs/server/core/nearKeys.js +15 -0
- package/dist/cjs/server/core/nearKeys.js.map +1 -0
- package/dist/cjs/server/core/shamirHandlers.js +1 -1
- package/dist/cjs/server/core/shamirHandlers.js.map +1 -1
- package/dist/cjs/server/core/shamirWorker.js +94 -0
- package/dist/cjs/server/core/shamirWorker.js.map +1 -1
- package/dist/cjs/server/core/utils.js +1 -1
- package/dist/cjs/server/core/utils.js.map +1 -1
- package/dist/cjs/server/delegateAction/index.js.map +1 -1
- package/dist/cjs/server/email-recovery/emailEncryptor.js +1 -1
- package/dist/cjs/server/email-recovery/emailParsers.js +5 -5
- package/dist/cjs/server/email-recovery/emailParsers.js.map +1 -1
- package/dist/cjs/server/email-recovery/index.js +10 -5
- package/dist/cjs/server/email-recovery/index.js.map +1 -1
- package/dist/cjs/server/email-recovery/rpcCalls.js +2 -4
- package/dist/cjs/server/email-recovery/rpcCalls.js.map +1 -1
- package/dist/cjs/server/email-recovery/zkEmail/proverClient.js +2 -4
- package/dist/cjs/server/email-recovery/zkEmail/proverClient.js.map +1 -1
- package/dist/cjs/server/index.js +8 -0
- package/dist/cjs/server/node_modules/.pnpm/@noble_curves@2.0.1/node_modules/@noble/curves/abstract/curve.js +244 -0
- package/dist/cjs/server/node_modules/.pnpm/@noble_curves@2.0.1/node_modules/@noble/curves/abstract/curve.js.map +1 -1
- package/dist/cjs/server/node_modules/.pnpm/@noble_curves@2.0.1/node_modules/@noble/curves/abstract/edwards.js +401 -0
- package/dist/cjs/server/node_modules/.pnpm/@noble_curves@2.0.1/node_modules/@noble/curves/abstract/edwards.js.map +1 -0
- package/dist/cjs/server/node_modules/.pnpm/@noble_curves@2.0.1/node_modules/@noble/curves/abstract/modular.js +369 -0
- package/dist/cjs/server/node_modules/.pnpm/@noble_curves@2.0.1/node_modules/@noble/curves/abstract/modular.js.map +1 -1
- package/dist/cjs/server/node_modules/.pnpm/@noble_curves@2.0.1/node_modules/@noble/curves/ed25519.js +52 -0
- package/dist/cjs/server/node_modules/.pnpm/@noble_curves@2.0.1/node_modules/@noble/curves/ed25519.js.map +1 -1
- package/dist/cjs/server/node_modules/.pnpm/@noble_curves@2.0.1/node_modules/@noble/curves/utils.js +35 -0
- package/dist/cjs/server/node_modules/.pnpm/@noble_curves@2.0.1/node_modules/@noble/curves/utils.js.map +1 -1
- package/dist/cjs/server/node_modules/.pnpm/@noble_hashes@2.0.1/node_modules/@noble/hashes/_md.js +20 -0
- package/dist/cjs/server/node_modules/.pnpm/@noble_hashes@2.0.1/node_modules/@noble/hashes/_md.js.map +1 -1
- package/dist/cjs/server/node_modules/.pnpm/@noble_hashes@2.0.1/node_modules/@noble/hashes/_u64.js +65 -0
- package/dist/cjs/server/node_modules/.pnpm/@noble_hashes@2.0.1/node_modules/@noble/hashes/_u64.js.map +1 -0
- package/dist/cjs/server/node_modules/.pnpm/@noble_hashes@2.0.1/node_modules/@noble/hashes/sha2.js +223 -0
- package/dist/cjs/server/node_modules/.pnpm/@noble_hashes@2.0.1/node_modules/@noble/hashes/sha2.js.map +1 -1
- package/dist/cjs/server/node_modules/.pnpm/@noble_hashes@2.0.1/node_modules/@noble/hashes/utils.js +17 -0
- package/dist/cjs/server/node_modules/.pnpm/@noble_hashes@2.0.1/node_modules/@noble/hashes/utils.js.map +1 -1
- package/dist/cjs/server/router/cloudflare.js +1117 -684
- package/dist/cjs/server/router/cloudflare.js.map +1 -1
- package/dist/cjs/server/router/express.js +812 -350
- package/dist/cjs/server/router/express.js.map +1 -1
- package/dist/cjs/server/sdk/src/core/NearClient.js +8 -1
- package/dist/cjs/server/sdk/src/core/NearClient.js.map +1 -1
- package/dist/cjs/server/sdk/src/core/defaultConfigs.js +7 -0
- package/dist/cjs/server/sdk/src/core/defaultConfigs.js.map +1 -1
- package/dist/cjs/server/sdk/src/core/nearCrypto.js +3 -36
- package/dist/cjs/server/sdk/src/core/nearCrypto.js.map +1 -1
- package/dist/cjs/server/sdk/src/core/types/actions.js.map +1 -1
- package/dist/cjs/server/sdk/src/core/types/rpc.js +1 -0
- package/dist/cjs/server/sdk/src/core/types/rpc.js.map +1 -1
- package/dist/cjs/server/sdk/src/threshold/participants.js +28 -0
- package/dist/cjs/server/sdk/src/threshold/participants.js.map +1 -0
- package/dist/cjs/server/sdk/src/utils/base64.js +34 -0
- package/dist/cjs/server/sdk/src/utils/base64.js.map +1 -1
- package/dist/cjs/server/sdk/src/utils/digests.js +28 -0
- package/dist/cjs/server/sdk/src/utils/digests.js.map +1 -0
- package/dist/cjs/server/sdk/src/utils/errors.js +18 -0
- package/dist/cjs/server/sdk/src/utils/errors.js.map +1 -1
- package/dist/cjs/server/sdk/src/utils/validation.js +95 -0
- package/dist/cjs/server/sdk/src/utils/validation.js.map +1 -0
- package/dist/cjs/theme/base-styles.js +0 -1
- package/dist/cjs/theme/base-styles.js.map +1 -1
- package/dist/cjs/theme/palette.js +0 -1
- package/dist/cjs/theme/palette.js.map +1 -1
- package/dist/cjs/threshold/participants.js +78 -0
- package/dist/cjs/threshold/participants.js.map +1 -0
- package/dist/cjs/utils/base58.js +12 -15
- package/dist/cjs/utils/base58.js.map +1 -1
- package/dist/cjs/utils/base64.js +32 -20
- package/dist/cjs/utils/base64.js.map +1 -1
- package/dist/cjs/utils/digests.js +28 -0
- package/dist/cjs/utils/digests.js.map +1 -0
- package/dist/cjs/utils/errors.js +0 -10
- package/dist/cjs/utils/errors.js.map +1 -1
- package/dist/cjs/utils/validation.js +102 -9
- package/dist/cjs/utils/validation.js.map +1 -1
- package/dist/esm/core/ChainsigAddressManager/index.js +2 -4
- package/dist/esm/core/ChainsigAddressManager/index.js.map +1 -1
- package/dist/esm/core/EmailRecovery/emailRecoveryPendingStore.js +50 -56
- package/dist/esm/core/EmailRecovery/emailRecoveryPendingStore.js.map +1 -1
- package/dist/esm/core/EmailRecovery/index.js +23 -32
- package/dist/esm/core/EmailRecovery/index.js.map +1 -1
- package/dist/esm/core/IndexedDBManager/index.js +88 -89
- package/dist/esm/core/IndexedDBManager/index.js.map +1 -1
- package/dist/esm/core/IndexedDBManager/passkeyClientDB.js +652 -645
- package/dist/esm/core/IndexedDBManager/passkeyClientDB.js.map +1 -1
- package/dist/esm/core/IndexedDBManager/passkeyNearKeysDB.js +224 -150
- package/dist/esm/core/IndexedDBManager/passkeyNearKeysDB.js.map +1 -1
- package/dist/esm/core/NearClient.js +10 -8
- package/dist/esm/core/NearClient.js.map +1 -1
- package/dist/esm/core/TatchiPasskey/actions.js +89 -134
- package/dist/esm/core/TatchiPasskey/actions.js.map +1 -1
- package/dist/esm/core/TatchiPasskey/delegateAction.js +7 -6
- package/dist/esm/core/TatchiPasskey/delegateAction.js.map +1 -1
- package/dist/esm/core/TatchiPasskey/emailRecovery.js +875 -850
- package/dist/esm/core/TatchiPasskey/emailRecovery.js.map +1 -1
- package/dist/esm/core/TatchiPasskey/faucets/createAccountRelayServer.js +26 -14
- package/dist/esm/core/TatchiPasskey/faucets/createAccountRelayServer.js.map +1 -1
- package/dist/esm/core/TatchiPasskey/index.js +124 -87
- package/dist/esm/core/TatchiPasskey/index.js.map +1 -1
- package/dist/esm/core/TatchiPasskey/linkDevice.js +91 -35
- package/dist/esm/core/TatchiPasskey/linkDevice.js.map +1 -1
- package/dist/esm/core/TatchiPasskey/login.js +377 -192
- package/dist/esm/core/TatchiPasskey/login.js.map +1 -1
- package/dist/esm/core/TatchiPasskey/registration.js +134 -32
- package/dist/esm/core/TatchiPasskey/registration.js.map +1 -1
- package/dist/esm/core/TatchiPasskey/relay.js +1 -2
- package/dist/esm/core/TatchiPasskey/relay.js.map +1 -1
- package/dist/esm/core/TatchiPasskey/scanDevice.js +4 -10
- package/dist/esm/core/TatchiPasskey/scanDevice.js.map +1 -1
- package/dist/esm/core/TatchiPasskey/signNEP413.js +13 -5
- package/dist/esm/core/TatchiPasskey/signNEP413.js.map +1 -1
- package/dist/esm/core/TatchiPasskey/syncAccount.js +505 -0
- package/dist/esm/core/TatchiPasskey/syncAccount.js.map +1 -0
- package/dist/esm/core/WalletIframe/client/IframeTransport.js +167 -134
- package/dist/esm/core/WalletIframe/client/IframeTransport.js.map +1 -1
- package/dist/esm/core/WalletIframe/client/on-events-progress-bus.js +5 -6
- package/dist/esm/core/WalletIframe/client/on-events-progress-bus.js.map +1 -1
- package/dist/esm/core/WalletIframe/client/router.js +205 -170
- package/dist/esm/core/WalletIframe/client/router.js.map +1 -1
- package/dist/esm/core/WalletIframe/host-mode.js +4 -0
- package/dist/esm/core/WalletIframe/host-mode.js.map +1 -1
- package/dist/esm/core/WebAuthnManager/LitComponents/ExportPrivateKey/iframe-host.js +1 -2
- package/dist/esm/core/WebAuthnManager/LitComponents/ExportPrivateKey/iframe-host.js.map +1 -1
- package/dist/esm/core/WebAuthnManager/LitComponents/IframeTxConfirmer/tx-confirm-content.js +1 -2
- package/dist/esm/core/WebAuthnManager/LitComponents/IframeTxConfirmer/tx-confirm-content.js.map +1 -1
- package/dist/esm/core/WebAuthnManager/LitComponents/IframeTxConfirmer/tx-confirmer-wrapper.js +4 -14
- package/dist/esm/core/WebAuthnManager/LitComponents/IframeTxConfirmer/tx-confirmer-wrapper.js.map +1 -1
- package/dist/esm/core/WebAuthnManager/LitComponents/LitElementWithProps.js +22 -18
- package/dist/esm/core/WebAuthnManager/LitComponents/LitElementWithProps.js.map +1 -1
- package/dist/esm/core/WebAuthnManager/LitComponents/TxTree/index.js +1 -2
- package/dist/esm/core/WebAuthnManager/LitComponents/TxTree/index.js.map +1 -1
- package/dist/esm/core/WebAuthnManager/LitComponents/TxTree/tx-tree-utils.js +1 -2
- package/dist/esm/core/WebAuthnManager/LitComponents/TxTree/tx-tree-utils.js.map +1 -1
- package/dist/esm/core/WebAuthnManager/LitComponents/confirm-ui.js +2 -3
- package/dist/esm/core/WebAuthnManager/LitComponents/confirm-ui.js.map +1 -1
- package/dist/esm/core/WebAuthnManager/LitComponents/ensure-defined.js +2 -6
- package/dist/esm/core/WebAuthnManager/LitComponents/ensure-defined.js.map +1 -1
- package/dist/esm/core/WebAuthnManager/LitComponents/tags.js +1 -26
- package/dist/esm/core/WebAuthnManager/LitComponents/tags.js.map +1 -1
- package/dist/esm/core/WebAuthnManager/SignerWorkerManager/getDeviceNumber.js +2 -7
- package/dist/esm/core/WebAuthnManager/SignerWorkerManager/getDeviceNumber.js.map +1 -1
- package/dist/esm/core/WebAuthnManager/SignerWorkerManager/handlers/checkCanRegisterUser.js +13 -16
- package/dist/esm/core/WebAuthnManager/SignerWorkerManager/handlers/checkCanRegisterUser.js.map +1 -1
- package/dist/esm/core/WebAuthnManager/SignerWorkerManager/handlers/decryptPrivateKeyWithPrf.js +8 -12
- package/dist/esm/core/WebAuthnManager/SignerWorkerManager/handlers/decryptPrivateKeyWithPrf.js.map +1 -1
- package/dist/esm/core/WebAuthnManager/SignerWorkerManager/handlers/deriveNearKeypairAndEncryptFromSerialized.js +9 -11
- package/dist/esm/core/WebAuthnManager/SignerWorkerManager/handlers/deriveNearKeypairAndEncryptFromSerialized.js.map +1 -1
- package/dist/esm/core/WebAuthnManager/SignerWorkerManager/handlers/deriveThresholdEd25519ClientVerifyingShare.js +44 -0
- package/dist/esm/core/WebAuthnManager/SignerWorkerManager/handlers/deriveThresholdEd25519ClientVerifyingShare.js.map +1 -0
- package/dist/esm/core/WebAuthnManager/SignerWorkerManager/handlers/exportNearKeypairUi.js +6 -11
- package/dist/esm/core/WebAuthnManager/SignerWorkerManager/handlers/exportNearKeypairUi.js.map +1 -1
- package/dist/esm/core/WebAuthnManager/SignerWorkerManager/handlers/extractCosePublicKey.js +1 -2
- package/dist/esm/core/WebAuthnManager/SignerWorkerManager/handlers/extractCosePublicKey.js.map +1 -1
- package/dist/esm/core/WebAuthnManager/SignerWorkerManager/handlers/recoverKeypairFromPasskey.js +1 -2
- package/dist/esm/core/WebAuthnManager/SignerWorkerManager/handlers/recoverKeypairFromPasskey.js.map +1 -1
- package/dist/esm/core/WebAuthnManager/SignerWorkerManager/handlers/registerDevice2WithDerivedKey.js +14 -11
- package/dist/esm/core/WebAuthnManager/SignerWorkerManager/handlers/registerDevice2WithDerivedKey.js.map +1 -1
- package/dist/esm/core/WebAuthnManager/SignerWorkerManager/handlers/session.js +1 -0
- package/dist/esm/core/WebAuthnManager/SignerWorkerManager/handlers/session.js.map +1 -1
- package/dist/esm/core/WebAuthnManager/SignerWorkerManager/handlers/signDelegateAction.js +208 -52
- package/dist/esm/core/WebAuthnManager/SignerWorkerManager/handlers/signDelegateAction.js.map +1 -1
- package/dist/esm/core/WebAuthnManager/SignerWorkerManager/handlers/signNep413Message.js +172 -32
- package/dist/esm/core/WebAuthnManager/SignerWorkerManager/handlers/signNep413Message.js.map +1 -1
- package/dist/esm/core/WebAuthnManager/SignerWorkerManager/handlers/signTransactionWithKeyPair.js +4 -10
- package/dist/esm/core/WebAuthnManager/SignerWorkerManager/handlers/signTransactionWithKeyPair.js.map +1 -1
- package/dist/esm/core/WebAuthnManager/SignerWorkerManager/handlers/signTransactionsWithActions.js +278 -90
- package/dist/esm/core/WebAuthnManager/SignerWorkerManager/handlers/signTransactionsWithActions.js.map +1 -1
- package/dist/esm/core/WebAuthnManager/SignerWorkerManager/handlers/validation.js +8 -14
- package/dist/esm/core/WebAuthnManager/SignerWorkerManager/handlers/validation.js.map +1 -1
- package/dist/esm/core/WebAuthnManager/SignerWorkerManager/index.js +18 -12
- package/dist/esm/core/WebAuthnManager/SignerWorkerManager/index.js.map +1 -1
- package/dist/esm/core/WebAuthnManager/SignerWorkerManager/sessionHandshake.js.map +1 -1
- package/dist/esm/core/WebAuthnManager/SignerWorkerManager/sessionMessages.js +15 -4
- package/dist/esm/core/WebAuthnManager/SignerWorkerManager/sessionMessages.js.map +1 -1
- package/dist/esm/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/adapters/common.js +2 -4
- package/dist/esm/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/adapters/common.js.map +1 -1
- package/dist/esm/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/adapters/near.js +2 -6
- package/dist/esm/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/adapters/near.js.map +1 -1
- package/dist/esm/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/adapters/requestAdapter.js +1 -3
- package/dist/esm/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/adapters/requestAdapter.js.map +1 -1
- package/dist/esm/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/adapters/session.js.map +1 -1
- package/dist/esm/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/adapters/vrf.js +31 -7
- package/dist/esm/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/adapters/vrf.js.map +1 -1
- package/dist/esm/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/adapters/webauthn.js +7 -29
- package/dist/esm/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/adapters/webauthn.js.map +1 -1
- package/dist/esm/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/determineConfirmationConfig.js +0 -2
- package/dist/esm/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/determineConfirmationConfig.js.map +1 -1
- package/dist/esm/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/flows/localOnly.js +39 -4
- package/dist/esm/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/flows/localOnly.js.map +1 -1
- package/dist/esm/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/flows/registration.js +29 -7
- package/dist/esm/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/flows/registration.js.map +1 -1
- package/dist/esm/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/flows/requestRegistrationCredentialConfirmation.js +1 -3
- package/dist/esm/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/flows/requestRegistrationCredentialConfirmation.js.map +1 -1
- package/dist/esm/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/flows/transactions.js +23 -20
- package/dist/esm/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/flows/transactions.js.map +1 -1
- package/dist/esm/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/handleSecureConfirmRequest.js +1 -2
- package/dist/esm/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/handleSecureConfirmRequest.js.map +1 -1
- package/dist/esm/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/types.js.map +1 -1
- package/dist/esm/core/WebAuthnManager/VrfWorkerManager/handlers/checkVrfStatus.js +9 -6
- package/dist/esm/core/WebAuthnManager/VrfWorkerManager/handlers/checkVrfStatus.js.map +1 -1
- package/dist/esm/core/WebAuthnManager/VrfWorkerManager/handlers/confirmAndPrepareSigningSession.js +14 -11
- package/dist/esm/core/WebAuthnManager/VrfWorkerManager/handlers/confirmAndPrepareSigningSession.js.map +1 -1
- package/dist/esm/core/WebAuthnManager/VrfWorkerManager/handlers/deriveVrfKeypairFromPrf.js +7 -4
- package/dist/esm/core/WebAuthnManager/VrfWorkerManager/handlers/deriveVrfKeypairFromPrf.js.map +1 -1
- package/dist/esm/core/WebAuthnManager/VrfWorkerManager/handlers/generateVrfChallenge.js +37 -4
- package/dist/esm/core/WebAuthnManager/VrfWorkerManager/handlers/generateVrfChallenge.js.map +1 -1
- package/dist/esm/core/WebAuthnManager/VrfWorkerManager/handlers/generateVrfKeypairBootstrap.js +7 -4
- package/dist/esm/core/WebAuthnManager/VrfWorkerManager/handlers/generateVrfKeypairBootstrap.js.map +1 -1
- package/dist/esm/core/WebAuthnManager/VrfWorkerManager/handlers/unlockVrfKeypair.js.map +1 -1
- package/dist/esm/core/WebAuthnManager/VrfWorkerManager/index.js +37 -3
- package/dist/esm/core/WebAuthnManager/VrfWorkerManager/index.js.map +1 -1
- package/dist/esm/core/WebAuthnManager/WebAuthnFallbacks/safari-fallbacks.js +55 -61
- package/dist/esm/core/WebAuthnManager/WebAuthnFallbacks/safari-fallbacks.js.map +1 -1
- package/dist/esm/core/WebAuthnManager/collectAuthenticationCredentialForVrfChallenge.js +34 -0
- package/dist/esm/core/WebAuthnManager/collectAuthenticationCredentialForVrfChallenge.js.map +1 -0
- package/dist/esm/core/WebAuthnManager/credentialsHelpers.js +19 -21
- package/dist/esm/core/WebAuthnManager/credentialsHelpers.js.map +1 -1
- package/dist/esm/core/WebAuthnManager/index.js +356 -53
- package/dist/esm/core/WebAuthnManager/index.js.map +1 -1
- package/dist/esm/core/WebAuthnManager/threshold/enrollThresholdEd25519Key.js +92 -0
- package/dist/esm/core/WebAuthnManager/threshold/enrollThresholdEd25519Key.js.map +1 -0
- package/dist/esm/core/WebAuthnManager/threshold/rotateThresholdEd25519KeyPostRegistration.js +144 -0
- package/dist/esm/core/WebAuthnManager/threshold/rotateThresholdEd25519KeyPostRegistration.js.map +1 -0
- package/dist/esm/core/WebAuthnManager/touchIdPrompt.js +203 -208
- package/dist/esm/core/WebAuthnManager/touchIdPrompt.js.map +1 -1
- package/dist/esm/core/WebAuthnManager/userHandle.js +1 -4
- package/dist/esm/core/WebAuthnManager/userHandle.js.map +1 -1
- package/dist/esm/core/WebAuthnManager/userPreferences.js +121 -38
- package/dist/esm/core/WebAuthnManager/userPreferences.js.map +1 -1
- package/dist/esm/core/defaultConfigs.js +54 -52
- package/dist/esm/core/defaultConfigs.js.map +1 -1
- package/dist/esm/core/digests/intentDigest.js +95 -0
- package/dist/esm/core/digests/intentDigest.js.map +1 -0
- package/dist/esm/core/nearCrypto.js +2 -23
- package/dist/esm/core/nearCrypto.js.map +1 -1
- package/dist/esm/core/nonceManager.js +7 -16
- package/dist/esm/core/nonceManager.js.map +1 -1
- package/dist/esm/core/rpcCalls.js +264 -23
- package/dist/esm/core/rpcCalls.js.map +1 -1
- package/dist/esm/core/sdkPaths/workers.js +7 -5
- package/dist/esm/core/sdkPaths/workers.js.map +1 -1
- package/dist/esm/core/threshold/thresholdEd25519AuthSession.js +140 -0
- package/dist/esm/core/threshold/thresholdEd25519AuthSession.js.map +1 -0
- package/dist/esm/core/threshold/thresholdEd25519RelayerHealth.js +117 -0
- package/dist/esm/core/threshold/thresholdEd25519RelayerHealth.js.map +1 -0
- package/dist/esm/core/threshold/thresholdSessionPolicy.js +65 -0
- package/dist/esm/core/threshold/thresholdSessionPolicy.js.map +1 -0
- package/dist/esm/core/types/accountIds.js +2 -7
- package/dist/esm/core/types/accountIds.js.map +1 -1
- package/dist/esm/core/types/actions.js +19 -22
- package/dist/esm/core/types/actions.js.map +1 -1
- package/dist/esm/core/types/emailRecovery.js +25 -22
- package/dist/esm/core/types/emailRecovery.js.map +1 -1
- package/dist/esm/core/types/rpc.js +10 -15
- package/dist/esm/core/types/rpc.js.map +1 -1
- package/dist/esm/core/types/sdkSentEvents.js +106 -112
- package/dist/esm/core/types/sdkSentEvents.js.map +1 -1
- package/dist/esm/core/types/signer-worker.js +88 -14
- package/dist/esm/core/types/signer-worker.js.map +1 -1
- package/dist/esm/core/types/vrf-worker.js +4 -8
- package/dist/esm/core/types/vrf-worker.js.map +1 -1
- package/dist/esm/index.js +11 -26
- package/dist/esm/plugins/headers.js +4 -11
- package/dist/esm/plugins/headers.js.map +1 -1
- package/dist/esm/plugins/next.js +21 -11
- package/dist/esm/plugins/next.js.map +1 -1
- package/dist/esm/plugins/plugin-utils.js +2 -7
- package/dist/esm/plugins/plugin-utils.js.map +1 -1
- package/dist/esm/plugins/utils/validation.js +27 -0
- package/dist/esm/plugins/utils/validation.js.map +1 -0
- package/dist/esm/plugins/vite.js +19 -12
- package/dist/esm/plugins/vite.js.map +1 -1
- package/dist/esm/react/build-paths.js.map +1 -0
- package/dist/esm/react/components/AccountMenuButton/LinkedDevicesModal-BCrFe5p3.css +452 -0
- package/dist/esm/react/components/AccountMenuButton/LinkedDevicesModal-BCrFe5p3.css.map +1 -0
- package/dist/esm/react/components/AccountMenuButton/LinkedDevicesModal2.js +6 -5
- package/dist/esm/react/components/AccountMenuButton/LinkedDevicesModal2.js.map +1 -1
- package/dist/esm/react/components/AccountMenuButton/ProfileDropdown-CRJrtxDb.css +120 -0
- package/dist/esm/react/components/AccountMenuButton/ProfileDropdown-CRJrtxDb.css.map +1 -0
- package/dist/esm/react/components/AccountMenuButton/ProfileDropdown2.js +3 -1
- package/dist/esm/react/components/AccountMenuButton/ProfileDropdown2.js.map +1 -1
- package/dist/esm/react/components/AccountMenuButton/TransactionSettingsSection.js +35 -1
- package/dist/esm/react/components/AccountMenuButton/TransactionSettingsSection.js.map +1 -1
- package/dist/esm/react/components/AccountMenuButton/Web3AuthProfileButton-DXFRw8ND.css +77 -0
- package/dist/esm/react/components/AccountMenuButton/Web3AuthProfileButton-DXFRw8ND.css.map +1 -0
- package/dist/esm/react/components/AccountMenuButton/icons/TouchIcon-DNgbAK_i.css +41 -0
- package/dist/esm/react/components/AccountMenuButton/icons/TouchIcon-DNgbAK_i.css.map +1 -0
- package/dist/esm/react/components/AccountMenuButton/index.js +26 -5
- package/dist/esm/react/components/AccountMenuButton/index.js.map +1 -1
- package/dist/esm/react/components/AccountMenuButton/types.js.map +1 -1
- package/dist/esm/react/components/PasskeyAuthMenu/PasskeyAuthMenu-D2VHZ04W.css +1009 -0
- package/dist/esm/react/components/PasskeyAuthMenu/PasskeyAuthMenu-D2VHZ04W.css.map +1 -0
- package/dist/esm/react/components/PasskeyAuthMenu/authMenuTypes.js +2 -2
- package/dist/esm/react/components/PasskeyAuthMenu/authMenuTypes.js.map +1 -1
- package/dist/esm/react/components/PasskeyAuthMenu/client.js +10 -10
- package/dist/esm/react/components/PasskeyAuthMenu/client.js.map +1 -1
- package/dist/esm/react/components/PasskeyAuthMenu/controller/mode.js +4 -4
- package/dist/esm/react/components/PasskeyAuthMenu/controller/mode.js.map +1 -1
- package/dist/esm/react/components/PasskeyAuthMenu/controller/usePasskeyAuthMenuController.js +3 -3
- package/dist/esm/react/components/PasskeyAuthMenu/controller/usePasskeyAuthMenuController.js.map +1 -1
- package/dist/esm/react/components/PasskeyAuthMenu/controller/useSDKEvents.js.map +1 -1
- package/dist/esm/react/components/PasskeyAuthMenu/skeleton.js +1 -1
- package/dist/esm/react/components/PasskeyAuthMenu/skeleton.js.map +1 -1
- package/dist/esm/react/components/PasskeyAuthMenu/ui/AccountExistsBadge.js +1 -1
- package/dist/esm/react/components/PasskeyAuthMenu/ui/AccountExistsBadge.js.map +1 -1
- package/dist/esm/react/components/PasskeyAuthMenu/ui/EmailRecoverySlide.js +275 -366
- package/dist/esm/react/components/PasskeyAuthMenu/ui/EmailRecoverySlide.js.map +1 -1
- package/dist/esm/react/components/ShowQRCode-CL4gsszN.css +113 -0
- package/dist/esm/react/components/ShowQRCode-CL4gsszN.css.map +1 -0
- package/dist/esm/react/components/ShowQRCode2.js +1 -2
- package/dist/esm/react/components/ShowQRCode2.js.map +1 -1
- package/dist/esm/react/components/theme/ThemeProvider.js +18 -18
- package/dist/esm/react/components/theme/ThemeProvider.js.map +1 -1
- package/dist/esm/react/components/theme/design-tokens.js +1 -1
- package/dist/esm/react/context/tatchiManagerSingleton.js +2 -3
- package/dist/esm/react/context/tatchiManagerSingleton.js.map +1 -1
- package/dist/esm/react/context/useLoginStateRefresher.js +1 -2
- package/dist/esm/react/context/useLoginStateRefresher.js.map +1 -1
- package/dist/esm/react/context/useTatchiContextValue.js +17 -9
- package/dist/esm/react/context/useTatchiContextValue.js.map +1 -1
- package/dist/esm/react/context/useTatchiWithSdkFlow.js +9 -10
- package/dist/esm/react/context/useTatchiWithSdkFlow.js.map +1 -1
- package/dist/esm/react/context/useWalletIframeLifecycle.js +1 -2
- package/dist/esm/react/context/useWalletIframeLifecycle.js.map +1 -1
- package/dist/esm/react/deviceDetection.js +93 -72
- package/dist/esm/react/deviceDetection.js.map +1 -1
- package/dist/esm/react/hooks/useAccountInput.js +1 -2
- package/dist/esm/react/hooks/useAccountInput.js.map +1 -1
- package/dist/esm/react/hooks/useDeviceLinking.js +1 -1
- package/dist/esm/react/hooks/useNearClient.js +2 -3
- package/dist/esm/react/hooks/useNearClient.js.map +1 -1
- package/dist/esm/react/hooks/usePreconnectWalletAssets.js +1 -1
- package/dist/esm/react/hooks/useQRCamera.js +2 -3
- package/dist/esm/react/hooks/useQRCamera.js.map +1 -1
- package/dist/esm/react/hooks/useQRFileUpload.js +1 -1
- package/dist/esm/react/index.js +5 -14
- package/dist/esm/react/src/base-styles.js.map +1 -0
- package/dist/esm/react/src/config.js.map +1 -0
- package/dist/esm/react/src/core/ChainsigAddressManager/index.js +27 -0
- package/dist/esm/react/src/core/ChainsigAddressManager/index.js.map +1 -0
- package/dist/esm/react/src/core/EmailRecovery/emailRecoveryPendingStore.js +57 -0
- package/dist/esm/react/src/core/EmailRecovery/emailRecoveryPendingStore.js.map +1 -0
- package/dist/esm/react/src/core/EmailRecovery/index.js +96 -0
- package/dist/esm/react/src/core/EmailRecovery/index.js.map +1 -0
- package/dist/esm/react/src/core/IndexedDBManager/index.js +132 -0
- package/dist/esm/react/src/core/IndexedDBManager/index.js.map +1 -0
- package/dist/esm/react/src/core/IndexedDBManager/passkeyClientDB.js +685 -0
- package/dist/esm/react/src/core/IndexedDBManager/passkeyClientDB.js.map +1 -0
- package/dist/esm/react/src/core/IndexedDBManager/passkeyNearKeysDB.js +259 -0
- package/dist/esm/react/src/core/IndexedDBManager/passkeyNearKeysDB.js.map +1 -0
- package/dist/esm/react/src/core/NearClient.js +273 -0
- package/dist/esm/react/src/core/NearClient.js.map +1 -0
- package/dist/esm/react/src/core/NearRpcError.js.map +1 -0
- package/dist/esm/react/src/core/OfflineExport/overlay.js.map +1 -0
- package/dist/esm/react/src/core/TatchiPasskey/actions.js +403 -0
- package/dist/esm/react/src/core/TatchiPasskey/actions.js.map +1 -0
- package/dist/esm/react/src/core/TatchiPasskey/delegateAction.js +76 -0
- package/dist/esm/react/src/core/TatchiPasskey/delegateAction.js.map +1 -0
- package/dist/esm/react/src/core/TatchiPasskey/emailRecovery.js +933 -0
- package/dist/esm/react/src/core/TatchiPasskey/emailRecovery.js.map +1 -0
- package/dist/esm/react/src/core/TatchiPasskey/faucets/createAccountRelayServer.js +108 -0
- package/dist/esm/react/src/core/TatchiPasskey/faucets/createAccountRelayServer.js.map +1 -0
- package/dist/esm/react/src/core/TatchiPasskey/index.js +1335 -0
- package/dist/esm/react/src/core/TatchiPasskey/index.js.map +1 -0
- package/dist/esm/react/src/core/TatchiPasskey/linkDevice.js +766 -0
- package/dist/esm/react/src/core/TatchiPasskey/linkDevice.js.map +1 -0
- package/dist/esm/react/src/core/TatchiPasskey/login.js +754 -0
- package/dist/esm/react/src/core/TatchiPasskey/login.js.map +1 -0
- package/dist/esm/react/src/core/TatchiPasskey/registration.js +440 -0
- package/dist/esm/react/src/core/TatchiPasskey/registration.js.map +1 -0
- package/dist/esm/react/src/core/TatchiPasskey/relay.js +110 -0
- package/dist/esm/react/src/core/TatchiPasskey/relay.js.map +1 -0
- package/dist/esm/react/src/core/TatchiPasskey/scanDevice.js +98 -0
- package/dist/esm/react/src/core/TatchiPasskey/scanDevice.js.map +1 -0
- package/dist/esm/react/src/core/TatchiPasskey/signNEP413.js +96 -0
- package/dist/esm/react/src/core/TatchiPasskey/signNEP413.js.map +1 -0
- package/dist/esm/react/src/core/TatchiPasskey/syncAccount.js +505 -0
- package/dist/esm/react/src/core/TatchiPasskey/syncAccount.js.map +1 -0
- package/dist/esm/react/src/core/WalletIframe/client/IframeTransport.js +362 -0
- package/dist/esm/react/src/core/WalletIframe/client/IframeTransport.js.map +1 -0
- package/dist/esm/react/src/core/WalletIframe/client/on-events-progress-bus.js +207 -0
- package/dist/esm/react/src/core/WalletIframe/client/on-events-progress-bus.js.map +1 -0
- package/dist/esm/react/src/core/WalletIframe/client/overlay-controller.js.map +1 -0
- package/dist/esm/react/src/core/WalletIframe/client/overlay-styles.js.map +1 -0
- package/dist/esm/react/src/core/WalletIframe/client/router.js +1096 -0
- package/dist/esm/react/src/core/WalletIframe/client/router.js.map +1 -0
- package/dist/esm/react/src/core/WalletIframe/events.js.map +1 -0
- package/dist/esm/react/src/core/WalletIframe/host-mode.js +13 -0
- package/dist/esm/react/src/core/WalletIframe/host-mode.js.map +1 -0
- package/dist/esm/react/src/core/WebAuthnManager/LitComponents/Drawer/index.js.map +1 -0
- package/dist/esm/react/src/core/WebAuthnManager/LitComponents/ExportPrivateKey/iframe-host.js +218 -0
- package/dist/esm/react/src/core/WebAuthnManager/LitComponents/ExportPrivateKey/iframe-host.js.map +1 -0
- package/dist/esm/react/src/core/WebAuthnManager/LitComponents/HaloBorder/index.js.map +1 -0
- package/dist/esm/react/src/core/WebAuthnManager/LitComponents/IframeTxConfirmer/tx-confirm-content.js +187 -0
- package/dist/esm/react/src/core/WebAuthnManager/LitComponents/IframeTxConfirmer/tx-confirm-content.js.map +1 -0
- package/dist/esm/react/src/core/WebAuthnManager/LitComponents/IframeTxConfirmer/tx-confirmer-wrapper.js +245 -0
- package/dist/esm/react/src/core/WebAuthnManager/LitComponents/IframeTxConfirmer/tx-confirmer-wrapper.js.map +1 -0
- package/dist/esm/react/src/core/WebAuthnManager/LitComponents/IframeTxConfirmer/viewer-drawer.js.map +1 -0
- package/dist/esm/react/src/core/WebAuthnManager/LitComponents/IframeTxConfirmer/viewer-modal.js.map +1 -0
- package/dist/esm/react/src/core/WebAuthnManager/LitComponents/LitElementWithProps.js +258 -0
- package/dist/esm/react/src/core/WebAuthnManager/LitComponents/LitElementWithProps.js.map +1 -0
- package/dist/esm/react/src/core/WebAuthnManager/LitComponents/PasskeyHaloLoading/index.js.map +1 -0
- package/dist/esm/react/src/core/WebAuthnManager/LitComponents/TxTree/index.js +499 -0
- package/dist/esm/react/src/core/WebAuthnManager/LitComponents/TxTree/index.js.map +1 -0
- package/dist/esm/react/src/core/WebAuthnManager/LitComponents/TxTree/tx-tree-themes.js.map +1 -0
- package/dist/esm/react/src/core/WebAuthnManager/LitComponents/TxTree/tx-tree-utils.js +181 -0
- package/dist/esm/react/src/core/WebAuthnManager/LitComponents/TxTree/tx-tree-utils.js.map +1 -0
- package/dist/esm/react/src/core/WebAuthnManager/LitComponents/asset-base.js.map +1 -0
- package/dist/esm/react/src/core/WebAuthnManager/LitComponents/common/PadlockIcon.js.map +1 -0
- package/dist/esm/react/src/core/WebAuthnManager/LitComponents/common/formatters.js.map +1 -0
- package/dist/esm/react/src/core/WebAuthnManager/LitComponents/confirm-ui-types.js.map +1 -0
- package/dist/esm/react/src/core/WebAuthnManager/LitComponents/confirm-ui.js +218 -0
- package/dist/esm/react/src/core/WebAuthnManager/LitComponents/confirm-ui.js.map +1 -0
- package/dist/esm/react/src/core/WebAuthnManager/LitComponents/css/css-loader.js.map +1 -0
- package/dist/esm/react/src/core/WebAuthnManager/LitComponents/ensure-defined.js +19 -0
- package/dist/esm/react/src/core/WebAuthnManager/LitComponents/ensure-defined.js.map +1 -0
- package/dist/esm/react/src/core/WebAuthnManager/LitComponents/lit-events.js.map +1 -0
- package/dist/esm/react/src/core/WebAuthnManager/LitComponents/tags.js +22 -0
- package/dist/esm/react/src/core/WebAuthnManager/LitComponents/tags.js.map +1 -0
- package/dist/esm/react/src/core/WebAuthnManager/SignerWorkerManager/getDeviceNumber.js +27 -0
- package/dist/esm/react/src/core/WebAuthnManager/SignerWorkerManager/getDeviceNumber.js.map +1 -0
- package/dist/esm/react/src/core/WebAuthnManager/SignerWorkerManager/handlers/checkCanRegisterUser.js +67 -0
- package/dist/esm/react/src/core/WebAuthnManager/SignerWorkerManager/handlers/checkCanRegisterUser.js.map +1 -0
- package/dist/esm/react/src/core/WebAuthnManager/SignerWorkerManager/handlers/decryptPrivateKeyWithPrf.js +42 -0
- package/dist/esm/react/src/core/WebAuthnManager/SignerWorkerManager/handlers/decryptPrivateKeyWithPrf.js.map +1 -0
- package/dist/esm/react/src/core/WebAuthnManager/SignerWorkerManager/handlers/deriveNearKeypairAndEncryptFromSerialized.js +68 -0
- package/dist/esm/react/src/core/WebAuthnManager/SignerWorkerManager/handlers/deriveNearKeypairAndEncryptFromSerialized.js.map +1 -0
- package/dist/esm/react/src/core/WebAuthnManager/SignerWorkerManager/handlers/deriveThresholdEd25519ClientVerifyingShare.js +44 -0
- package/dist/esm/react/src/core/WebAuthnManager/SignerWorkerManager/handlers/deriveThresholdEd25519ClientVerifyingShare.js.map +1 -0
- package/dist/esm/react/src/core/WebAuthnManager/SignerWorkerManager/handlers/exportNearKeypairUi.js +61 -0
- package/dist/esm/react/src/core/WebAuthnManager/SignerWorkerManager/handlers/exportNearKeypairUi.js.map +1 -0
- package/dist/esm/react/src/core/WebAuthnManager/SignerWorkerManager/handlers/extractCosePublicKey.js +23 -0
- package/dist/esm/react/src/core/WebAuthnManager/SignerWorkerManager/handlers/extractCosePublicKey.js.map +1 -0
- package/dist/esm/react/src/core/WebAuthnManager/SignerWorkerManager/handlers/recoverKeypairFromPasskey.js +42 -0
- package/dist/esm/react/src/core/WebAuthnManager/SignerWorkerManager/handlers/recoverKeypairFromPasskey.js.map +1 -0
- package/dist/esm/react/src/core/WebAuthnManager/SignerWorkerManager/handlers/registerDevice2WithDerivedKey.js +118 -0
- package/dist/esm/react/src/core/WebAuthnManager/SignerWorkerManager/handlers/registerDevice2WithDerivedKey.js.map +1 -0
- package/dist/esm/react/src/core/WebAuthnManager/SignerWorkerManager/handlers/session.js +15 -0
- package/dist/esm/react/src/core/WebAuthnManager/SignerWorkerManager/handlers/session.js.map +1 -0
- package/dist/esm/react/src/core/WebAuthnManager/SignerWorkerManager/handlers/signDelegateAction.js +258 -0
- package/dist/esm/react/src/core/WebAuthnManager/SignerWorkerManager/handlers/signDelegateAction.js.map +1 -0
- package/dist/esm/react/src/core/WebAuthnManager/SignerWorkerManager/handlers/signNep413Message.js +217 -0
- package/dist/esm/react/src/core/WebAuthnManager/SignerWorkerManager/handlers/signNep413Message.js.map +1 -0
- package/dist/esm/react/src/core/WebAuthnManager/SignerWorkerManager/handlers/signTransactionWithKeyPair.js +55 -0
- package/dist/esm/react/src/core/WebAuthnManager/SignerWorkerManager/handlers/signTransactionWithKeyPair.js.map +1 -0
- package/dist/esm/react/src/core/WebAuthnManager/SignerWorkerManager/handlers/signTransactionsWithActions.js +299 -0
- package/dist/esm/react/src/core/WebAuthnManager/SignerWorkerManager/handlers/signTransactionsWithActions.js.map +1 -0
- package/dist/esm/react/src/core/WebAuthnManager/SignerWorkerManager/handlers/validation.js +74 -0
- package/dist/esm/react/src/core/WebAuthnManager/SignerWorkerManager/handlers/validation.js.map +1 -0
- package/dist/esm/react/src/core/WebAuthnManager/SignerWorkerManager/index.js +457 -0
- package/dist/esm/react/src/core/WebAuthnManager/SignerWorkerManager/index.js.map +1 -0
- package/dist/esm/react/src/core/WebAuthnManager/SignerWorkerManager/sessionHandshake.js.map +1 -0
- package/dist/esm/react/src/core/WebAuthnManager/SignerWorkerManager/sessionMessages.js +92 -0
- package/dist/esm/react/src/core/WebAuthnManager/SignerWorkerManager/sessionMessages.js.map +1 -0
- package/dist/esm/react/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/adapters/common.js +54 -0
- package/dist/esm/react/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/adapters/common.js.map +1 -0
- package/dist/esm/react/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/adapters/createAdapters.js.map +1 -0
- package/dist/esm/react/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/adapters/near.js +50 -0
- package/dist/esm/react/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/adapters/near.js.map +1 -0
- package/dist/esm/react/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/adapters/requestAdapter.js +30 -0
- package/dist/esm/react/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/adapters/requestAdapter.js.map +1 -0
- package/dist/esm/react/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/adapters/requestHelpers.js.map +1 -0
- package/dist/esm/react/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/adapters/session.js.map +1 -0
- package/dist/esm/react/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/adapters/ui.js.map +1 -0
- package/dist/esm/react/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/adapters/vrf.js +87 -0
- package/dist/esm/react/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/adapters/vrf.js.map +1 -0
- package/dist/esm/react/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/adapters/webauthn.js +17 -0
- package/dist/esm/react/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/adapters/webauthn.js.map +1 -0
- package/dist/esm/react/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/determineConfirmationConfig.js +63 -0
- package/dist/esm/react/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/determineConfirmationConfig.js.map +1 -0
- package/dist/esm/react/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/flows/localOnly.js +124 -0
- package/dist/esm/react/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/flows/localOnly.js.map +1 -0
- package/dist/esm/react/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/flows/registration.js +157 -0
- package/dist/esm/react/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/flows/registration.js.map +1 -0
- package/dist/esm/react/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/flows/requestRegistrationCredentialConfirmation.js +49 -0
- package/dist/esm/react/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/flows/requestRegistrationCredentialConfirmation.js.map +1 -0
- package/dist/esm/react/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/flows/transactions.js +175 -0
- package/dist/esm/react/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/flows/transactions.js.map +1 -0
- package/dist/esm/react/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/handleSecureConfirmRequest.js +117 -0
- package/dist/esm/react/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/handleSecureConfirmRequest.js.map +1 -0
- package/dist/esm/react/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/types.js.map +1 -0
- package/dist/esm/react/src/core/WebAuthnManager/VrfWorkerManager/handlers/checkSessionStatus.js.map +1 -0
- package/dist/esm/react/src/core/WebAuthnManager/VrfWorkerManager/handlers/checkVrfStatus.js +54 -0
- package/dist/esm/react/src/core/WebAuthnManager/VrfWorkerManager/handlers/checkVrfStatus.js.map +1 -0
- package/dist/esm/react/src/core/WebAuthnManager/VrfWorkerManager/handlers/clearSession.js.map +1 -0
- package/dist/esm/react/src/core/WebAuthnManager/VrfWorkerManager/handlers/clearVrf.js.map +1 -0
- package/dist/esm/react/src/core/WebAuthnManager/VrfWorkerManager/handlers/confirmAndDeriveDevice2RegistrationSession.js.map +1 -0
- package/dist/esm/react/src/core/WebAuthnManager/VrfWorkerManager/handlers/confirmAndPrepareSigningSession.js +158 -0
- package/dist/esm/react/src/core/WebAuthnManager/VrfWorkerManager/handlers/confirmAndPrepareSigningSession.js.map +1 -0
- package/dist/esm/react/src/core/WebAuthnManager/VrfWorkerManager/handlers/deriveVrfKeypairFromPrf.js +61 -0
- package/dist/esm/react/src/core/WebAuthnManager/VrfWorkerManager/handlers/deriveVrfKeypairFromPrf.js.map +1 -0
- package/dist/esm/react/src/core/WebAuthnManager/VrfWorkerManager/handlers/dispenseSessionKey.js.map +1 -0
- package/dist/esm/react/src/core/WebAuthnManager/VrfWorkerManager/handlers/generateVrfChallenge.js +79 -0
- package/dist/esm/react/src/core/WebAuthnManager/VrfWorkerManager/handlers/generateVrfChallenge.js.map +1 -0
- package/dist/esm/react/src/core/WebAuthnManager/VrfWorkerManager/handlers/generateVrfKeypairBootstrap.js +61 -0
- package/dist/esm/react/src/core/WebAuthnManager/VrfWorkerManager/handlers/generateVrfKeypairBootstrap.js.map +1 -0
- package/dist/esm/react/src/core/WebAuthnManager/VrfWorkerManager/handlers/mintSessionKeysAndSendToSigner.js.map +1 -0
- package/dist/esm/react/src/core/WebAuthnManager/VrfWorkerManager/handlers/prepareDecryptSession.js.map +1 -0
- package/dist/esm/react/src/core/WebAuthnManager/VrfWorkerManager/handlers/requestRegistrationCredentialConfirmation.js.map +1 -0
- package/dist/esm/react/src/core/WebAuthnManager/VrfWorkerManager/handlers/shamir3PassDecryptVrfKeypair.js.map +1 -0
- package/dist/esm/react/src/core/WebAuthnManager/VrfWorkerManager/handlers/shamir3PassEncryptCurrentVrfKeypair.js.map +1 -0
- package/dist/esm/react/src/core/WebAuthnManager/VrfWorkerManager/handlers/unlockVrfKeypair.js.map +1 -0
- package/dist/esm/react/src/core/WebAuthnManager/VrfWorkerManager/index.js +408 -0
- package/dist/esm/react/src/core/WebAuthnManager/VrfWorkerManager/index.js.map +1 -0
- package/dist/esm/react/src/core/WebAuthnManager/VrfWorkerManager/secureConfirmBridge.js.map +1 -0
- package/dist/esm/react/src/core/WebAuthnManager/WebAuthnFallbacks/safari-fallbacks.js +197 -0
- package/dist/esm/react/src/core/WebAuthnManager/WebAuthnFallbacks/safari-fallbacks.js.map +1 -0
- package/dist/esm/react/src/core/WebAuthnManager/collectAuthenticationCredentialForVrfChallenge.js +34 -0
- package/dist/esm/react/src/core/WebAuthnManager/collectAuthenticationCredentialForVrfChallenge.js.map +1 -0
- package/dist/esm/react/src/core/WebAuthnManager/credentialsHelpers.js +286 -0
- package/dist/esm/react/src/core/WebAuthnManager/credentialsHelpers.js.map +1 -0
- package/dist/esm/react/src/core/WebAuthnManager/index.js +1192 -0
- package/dist/esm/react/src/core/WebAuthnManager/index.js.map +1 -0
- package/dist/esm/react/src/core/WebAuthnManager/threshold/enrollThresholdEd25519Key.js +92 -0
- package/dist/esm/react/src/core/WebAuthnManager/threshold/enrollThresholdEd25519Key.js.map +1 -0
- package/dist/esm/react/src/core/WebAuthnManager/threshold/rotateThresholdEd25519KeyPostRegistration.js +144 -0
- package/dist/esm/react/src/core/WebAuthnManager/threshold/rotateThresholdEd25519KeyPostRegistration.js.map +1 -0
- package/dist/esm/react/src/core/WebAuthnManager/touchIdPrompt.js +265 -0
- package/dist/esm/react/src/core/WebAuthnManager/touchIdPrompt.js.map +1 -0
- package/dist/esm/react/src/core/WebAuthnManager/userHandle.js +35 -0
- package/dist/esm/react/src/core/WebAuthnManager/userHandle.js.map +1 -0
- package/dist/esm/react/src/core/WebAuthnManager/userPreferences.js +390 -0
- package/dist/esm/react/src/core/WebAuthnManager/userPreferences.js.map +1 -0
- package/dist/esm/react/src/core/defaultConfigs.js +104 -0
- package/dist/esm/react/src/core/defaultConfigs.js.map +1 -0
- package/dist/esm/react/src/core/digests/intentDigest.js +95 -0
- package/dist/esm/react/src/core/digests/intentDigest.js.map +1 -0
- package/dist/esm/react/src/core/nearCrypto.js +27 -0
- package/dist/esm/react/src/core/nearCrypto.js.map +1 -0
- package/dist/esm/react/src/core/nonceManager.js +393 -0
- package/dist/esm/react/src/core/nonceManager.js.map +1 -0
- package/dist/esm/react/src/core/rpcCalls.js +672 -0
- package/dist/esm/react/src/core/rpcCalls.js.map +1 -0
- package/dist/esm/react/src/core/sdkPaths/base.js.map +1 -0
- package/dist/esm/react/src/core/sdkPaths/workers.js +44 -0
- package/dist/esm/react/src/core/sdkPaths/workers.js.map +1 -0
- package/dist/esm/react/src/core/threshold/thresholdEd25519AuthSession.js +140 -0
- package/dist/esm/react/src/core/threshold/thresholdEd25519AuthSession.js.map +1 -0
- package/dist/esm/react/src/core/threshold/thresholdEd25519RelayerHealth.js +117 -0
- package/dist/esm/react/src/core/threshold/thresholdEd25519RelayerHealth.js.map +1 -0
- package/dist/esm/react/src/core/threshold/thresholdSessionPolicy.js +65 -0
- package/dist/esm/react/src/core/threshold/thresholdSessionPolicy.js.map +1 -0
- package/dist/esm/react/src/core/types/accountIds.js +23 -0
- package/dist/esm/react/src/core/types/accountIds.js.map +1 -0
- package/dist/esm/react/src/core/types/actions.js +260 -0
- package/dist/esm/react/src/core/types/actions.js.map +1 -0
- package/dist/esm/react/src/core/types/authenticatorOptions.js +47 -0
- package/dist/esm/react/src/core/types/authenticatorOptions.js.map +1 -0
- package/dist/esm/react/src/core/types/emailRecovery.js +29 -0
- package/dist/esm/react/src/core/types/emailRecovery.js.map +1 -0
- package/dist/esm/react/src/core/types/linkDevice.js.map +1 -0
- package/dist/esm/react/src/core/types/rpc.js +14 -0
- package/dist/esm/react/src/core/types/rpc.js.map +1 -0
- package/dist/esm/react/src/core/types/sdkSentEvents.js +110 -0
- package/dist/esm/react/src/core/types/sdkSentEvents.js.map +1 -0
- package/dist/esm/react/src/core/types/signer-worker.js +125 -0
- package/dist/esm/react/src/core/types/signer-worker.js.map +1 -0
- package/dist/esm/react/src/core/types/vrf-worker.js +62 -0
- package/dist/esm/react/src/core/types/vrf-worker.js.map +1 -0
- package/dist/esm/react/src/core/workerControlMessages.js.map +1 -0
- package/dist/esm/react/src/theme/base-styles.js.map +1 -0
- package/dist/esm/react/src/theme/palette.js.map +1 -0
- package/dist/esm/react/src/threshold/participants.js +76 -0
- package/dist/esm/react/src/threshold/participants.js.map +1 -0
- package/dist/esm/react/src/utils/base58.js +19 -0
- package/dist/esm/react/src/utils/base58.js.map +1 -0
- package/dist/esm/react/src/utils/base64.js +67 -0
- package/dist/esm/react/src/utils/base64.js.map +1 -0
- package/dist/esm/react/src/utils/digests.js +26 -0
- package/dist/esm/react/src/utils/digests.js.map +1 -0
- package/dist/esm/react/src/utils/errors.js +136 -0
- package/dist/esm/react/src/utils/errors.js.map +1 -0
- package/dist/esm/react/src/utils/qrScanner.js.map +1 -0
- package/dist/esm/react/src/utils/validation.js +144 -0
- package/dist/esm/react/src/utils/validation.js.map +1 -0
- package/dist/esm/sdk/EmailRecovery-Dl8b4ONg.js +9 -0
- package/dist/esm/sdk/EmailRecovery-v9oNO2Tc.js +147 -0
- package/dist/esm/sdk/HaloBorder-DYOOQFjI.js +1116 -0
- package/dist/esm/sdk/IndexedDBManager-B1cUvdyY.js +1351 -0
- package/dist/esm/sdk/accountIds-DVDhXwVA.js +15 -0
- package/dist/esm/sdk/actions-fHadejPs.js +250 -0
- package/dist/esm/sdk/base64-dqpWgddX.js +66 -0
- package/dist/esm/sdk/browser-CH0Ca-MX.js +2443 -0
- package/dist/esm/sdk/chunk-DitdNFGZ.js +28 -0
- package/dist/esm/sdk/collectAuthenticationCredentialForVrfChallenge-C9p90e5Z.js +1404 -0
- package/dist/esm/sdk/collectAuthenticationCredentialForVrfChallenge-C9p90e5Z.js.map +1 -0
- package/dist/esm/sdk/collectAuthenticationCredentialForVrfChallenge-DqzPzwvU.js +138 -0
- package/dist/esm/sdk/config-BbNXtVtu.js +100 -0
- package/dist/esm/sdk/createAdapters-1Hmc1vVC.js +524 -0
- package/dist/esm/sdk/createAdapters-Dv7ZJPf1.js +3767 -0
- package/dist/esm/sdk/createAdapters-Dv7ZJPf1.js.map +1 -0
- package/dist/esm/sdk/css-loader-CAIkFQ3i.js +1143 -0
- package/dist/esm/sdk/css-loader-DWW-_Vli.js +1191 -0
- package/dist/esm/sdk/css-loader-DWW-_Vli.js.map +1 -0
- package/dist/esm/sdk/defaultConfigs-BmCU1_qI.js +103 -0
- package/dist/esm/sdk/delegateAction-DdkvFFKA.js +76 -0
- package/dist/esm/sdk/emailRecovery-4J-g9tlY.js +963 -0
- package/dist/esm/sdk/errors-DevlT39D.js +135 -0
- package/dist/esm/sdk/events-D2g80q67.js +8 -0
- package/dist/esm/sdk/export-private-key-viewer.js +22 -17
- package/dist/esm/sdk/getDeviceNumber-f8bfPB9U.js +599 -0
- package/dist/esm/sdk/getDeviceNumber-f8bfPB9U.js.map +1 -0
- package/dist/esm/sdk/getDeviceNumber-y3mMtky6.js +26 -0
- package/dist/esm/sdk/halo-border.js +1 -1
- package/dist/esm/sdk/host-mode-BIUqo9hg.js +44 -0
- package/dist/esm/sdk/host-mode-CgqmYAwZ.js +13 -0
- package/dist/esm/sdk/host-mode-CgqmYAwZ.js.map +1 -0
- package/dist/esm/sdk/iframe-export-bootstrap.js +3 -4
- package/dist/esm/sdk/iframe-host-BVt1hvOt.js +213 -0
- package/dist/esm/sdk/iframe-host-d_rrsoyL.js +212 -0
- package/dist/esm/sdk/iframe-host-d_rrsoyL.js.map +1 -0
- package/dist/esm/sdk/intentDigest-yivVENNK.js +117 -0
- package/dist/esm/sdk/linkDevice-C98klpcE.js +772 -0
- package/dist/esm/sdk/localOnly-40zxrBMm.js +133 -0
- package/dist/esm/sdk/localOnly-40zxrBMm.js.map +1 -0
- package/dist/esm/sdk/localOnly-BZPBj14l.js +129 -0
- package/dist/esm/sdk/login-DnROv3eA.js +1540 -0
- package/dist/esm/sdk/offline-export-app.js +2355 -1061
- package/dist/esm/sdk/offline-export-app.js.map +1 -1
- package/dist/esm/sdk/overlay-Ci2FOQKE.js +433 -0
- package/dist/esm/sdk/passkey-halo-loading.js +1 -1
- package/dist/esm/sdk/registration-BP9M3tE1.js +165 -0
- package/dist/esm/sdk/registration-MrAOC8Ub.js +154 -0
- package/dist/esm/sdk/registration-MrAOC8Ub.js.map +1 -0
- package/dist/esm/sdk/relay-Dq9D7fhG.js +109 -0
- package/dist/esm/sdk/router-BEGGuWaB.js +1868 -0
- package/dist/esm/sdk/rpc-Dq3ioE9T.js +13 -0
- package/dist/esm/sdk/rpcCalls-B44MZora.js +671 -0
- package/dist/esm/sdk/rpcCalls-CMzj_Va_.js +12 -0
- package/dist/esm/sdk/safari-fallbacks-BcMFntiP.js +480 -0
- package/dist/esm/sdk/scanDevice-Cp-r-Z2T.js +109 -0
- package/dist/esm/sdk/sdkSentEvents-CzAZBFjP.js +109 -0
- package/dist/esm/sdk/signNEP413-DsyWH_Jo.js +95 -0
- package/dist/esm/sdk/signer-worker-DK847sXj.js +473 -0
- package/dist/esm/sdk/syncAccount-CqWCmBVb.js +16 -0
- package/dist/esm/sdk/syncAccount-Dt5jJbEB.js +533 -0
- package/dist/esm/sdk/tags-ByzxP7Cc.js +22 -0
- package/dist/esm/sdk/touchIdPrompt-JPhrOx8o.js +263 -0
- package/dist/esm/sdk/transactions-CrjP8yPD.js +170 -0
- package/dist/esm/sdk/transactions-CrjP8yPD.js.map +1 -0
- package/dist/esm/sdk/transactions-DAZrPW-6.js +183 -0
- package/dist/esm/sdk/tx-confirm-ui.js +58 -45
- package/dist/esm/sdk/tx-confirmer-wrapper-DWKpXTUW.js +3248 -0
- package/dist/esm/sdk/validation-BTq6LGPp.js +143 -0
- package/dist/esm/sdk/validation-hUZgySTx.js +108 -0
- package/dist/esm/sdk/validation-hUZgySTx.js.map +1 -0
- package/dist/esm/sdk/vrf-worker-BzQsJ5BW.js +61 -0
- package/dist/esm/sdk/w3a-components.css +0 -3
- package/dist/esm/sdk/w3a-tx-confirmer.js +9 -10
- package/dist/esm/sdk/wallet-iframe-host.js +6537 -10194
- package/dist/esm/server/core/AuthService.js +137 -58
- package/dist/esm/server/core/AuthService.js.map +1 -1
- package/dist/esm/server/core/SessionService.js.map +1 -1
- package/dist/esm/server/core/ShamirService.js +1 -1
- package/dist/esm/server/core/ShamirService.js.map +1 -1
- package/dist/esm/server/core/ThresholdService/ThresholdSigningService.js +976 -0
- package/dist/esm/server/core/ThresholdService/ThresholdSigningService.js.map +1 -0
- package/dist/esm/server/core/ThresholdService/config.js +96 -0
- package/dist/esm/server/core/ThresholdService/config.js.map +1 -0
- package/dist/esm/server/core/ThresholdService/coordinatorGrant.js +200 -0
- package/dist/esm/server/core/ThresholdService/coordinatorGrant.js.map +1 -0
- package/dist/esm/server/core/ThresholdService/cosigners.js +278 -0
- package/dist/esm/server/core/ThresholdService/cosigners.js.map +1 -0
- package/dist/esm/server/core/ThresholdService/createThresholdSigningService.js +98 -0
- package/dist/esm/server/core/ThresholdService/createThresholdSigningService.js.map +1 -0
- package/dist/esm/server/core/ThresholdService/keygenStrategy.js +114 -0
- package/dist/esm/server/core/ThresholdService/keygenStrategy.js.map +1 -0
- package/dist/esm/server/core/ThresholdService/kv.js +335 -0
- package/dist/esm/server/core/ThresholdService/kv.js.map +1 -0
- package/dist/esm/server/core/ThresholdService/relayerKeyMaterial.js +65 -0
- package/dist/esm/server/core/ThresholdService/relayerKeyMaterial.js.map +1 -0
- package/dist/esm/server/core/ThresholdService/signingHandlers.js +1177 -0
- package/dist/esm/server/core/ThresholdService/signingHandlers.js.map +1 -0
- package/dist/esm/server/core/ThresholdService/stores/AuthSessionStore.js +258 -0
- package/dist/esm/server/core/ThresholdService/stores/AuthSessionStore.js.map +1 -0
- package/dist/esm/server/core/ThresholdService/stores/KeyStore.js +136 -0
- package/dist/esm/server/core/ThresholdService/stores/KeyStore.js.map +1 -0
- package/dist/esm/server/core/ThresholdService/stores/SessionStore.js +228 -0
- package/dist/esm/server/core/ThresholdService/stores/SessionStore.js.map +1 -0
- package/dist/esm/server/core/ThresholdService/validation.js +544 -0
- package/dist/esm/server/core/ThresholdService/validation.js.map +1 -0
- package/dist/esm/server/core/config.js +26 -18
- package/dist/esm/server/core/config.js.map +1 -1
- package/dist/esm/server/core/errors.js +3 -1
- package/dist/esm/server/core/errors.js.map +1 -1
- package/dist/esm/server/core/logger.js +2 -1
- package/dist/esm/server/core/logger.js.map +1 -1
- package/dist/esm/server/core/nearKeys.js +13 -0
- package/dist/esm/server/core/nearKeys.js.map +1 -0
- package/dist/esm/server/core/shamirHandlers.js +1 -1
- package/dist/esm/server/core/shamirHandlers.js.map +1 -1
- package/dist/esm/server/core/shamirWorker.js +94 -0
- package/dist/esm/server/core/shamirWorker.js.map +1 -1
- package/dist/esm/server/core/utils.js +1 -1
- package/dist/esm/server/core/utils.js.map +1 -1
- package/dist/esm/server/delegateAction/index.js.map +1 -1
- package/dist/esm/server/email-recovery/emailEncryptor.js +1 -1
- package/dist/esm/server/email-recovery/emailParsers.js +4 -4
- package/dist/esm/server/email-recovery/emailParsers.js.map +1 -1
- package/dist/esm/server/email-recovery/index.js +11 -6
- package/dist/esm/server/email-recovery/index.js.map +1 -1
- package/dist/esm/server/email-recovery/rpcCalls.js +2 -4
- package/dist/esm/server/email-recovery/rpcCalls.js.map +1 -1
- package/dist/esm/server/email-recovery/zkEmail/proverClient.js +3 -4
- package/dist/esm/server/email-recovery/zkEmail/proverClient.js.map +1 -1
- package/dist/esm/server/index.js +5 -1
- package/dist/esm/server/node_modules/.pnpm/@noble_curves@2.0.1/node_modules/@noble/curves/abstract/curve.js +243 -1
- package/dist/esm/server/node_modules/.pnpm/@noble_curves@2.0.1/node_modules/@noble/curves/abstract/curve.js.map +1 -1
- package/dist/esm/server/node_modules/.pnpm/@noble_curves@2.0.1/node_modules/@noble/curves/abstract/edwards.js +400 -0
- package/dist/esm/server/node_modules/.pnpm/@noble_curves@2.0.1/node_modules/@noble/curves/abstract/edwards.js.map +1 -0
- package/dist/esm/server/node_modules/.pnpm/@noble_curves@2.0.1/node_modules/@noble/curves/abstract/modular.js +367 -1
- package/dist/esm/server/node_modules/.pnpm/@noble_curves@2.0.1/node_modules/@noble/curves/abstract/modular.js.map +1 -1
- package/dist/esm/server/node_modules/.pnpm/@noble_curves@2.0.1/node_modules/@noble/curves/ed25519.js +53 -2
- package/dist/esm/server/node_modules/.pnpm/@noble_curves@2.0.1/node_modules/@noble/curves/ed25519.js.map +1 -1
- package/dist/esm/server/node_modules/.pnpm/@noble_curves@2.0.1/node_modules/@noble/curves/utils.js +32 -2
- package/dist/esm/server/node_modules/.pnpm/@noble_curves@2.0.1/node_modules/@noble/curves/utils.js.map +1 -1
- package/dist/esm/server/node_modules/.pnpm/@noble_hashes@2.0.1/node_modules/@noble/hashes/_md.js +20 -1
- package/dist/esm/server/node_modules/.pnpm/@noble_hashes@2.0.1/node_modules/@noble/hashes/_md.js.map +1 -1
- package/dist/esm/server/node_modules/.pnpm/@noble_hashes@2.0.1/node_modules/@noble/hashes/_u64.js +51 -0
- package/dist/esm/server/node_modules/.pnpm/@noble_hashes@2.0.1/node_modules/@noble/hashes/_u64.js.map +1 -0
- package/dist/esm/server/node_modules/.pnpm/@noble_hashes@2.0.1/node_modules/@noble/hashes/sha2.js +224 -2
- package/dist/esm/server/node_modules/.pnpm/@noble_hashes@2.0.1/node_modules/@noble/hashes/sha2.js.map +1 -1
- package/dist/esm/server/node_modules/.pnpm/@noble_hashes@2.0.1/node_modules/@noble/hashes/utils.js +17 -1
- package/dist/esm/server/node_modules/.pnpm/@noble_hashes@2.0.1/node_modules/@noble/hashes/utils.js.map +1 -1
- package/dist/esm/server/router/cloudflare.js +1117 -684
- package/dist/esm/server/router/cloudflare.js.map +1 -1
- package/dist/esm/server/router/express.js +812 -350
- package/dist/esm/server/router/express.js.map +1 -1
- package/dist/esm/server/sdk/src/core/NearClient.js +8 -1
- package/dist/esm/server/sdk/src/core/NearClient.js.map +1 -1
- package/dist/esm/server/sdk/src/core/defaultConfigs.js +5 -1
- package/dist/esm/server/sdk/src/core/defaultConfigs.js.map +1 -1
- package/dist/esm/server/sdk/src/core/nearCrypto.js +2 -34
- package/dist/esm/server/sdk/src/core/nearCrypto.js.map +1 -1
- package/dist/esm/server/sdk/src/core/types/actions.js.map +1 -1
- package/dist/esm/server/sdk/src/core/types/rpc.js +1 -0
- package/dist/esm/server/sdk/src/core/types/rpc.js.map +1 -1
- package/dist/esm/server/sdk/src/threshold/participants.js +27 -0
- package/dist/esm/server/sdk/src/threshold/participants.js.map +1 -0
- package/dist/esm/server/sdk/src/utils/base64.js +33 -1
- package/dist/esm/server/sdk/src/utils/base64.js.map +1 -1
- package/dist/esm/server/sdk/src/utils/digests.js +26 -0
- package/dist/esm/server/sdk/src/utils/digests.js.map +1 -0
- package/dist/esm/server/sdk/src/utils/errors.js +18 -1
- package/dist/esm/server/sdk/src/utils/errors.js.map +1 -1
- package/dist/esm/server/sdk/src/utils/validation.js +84 -0
- package/dist/esm/server/sdk/src/utils/validation.js.map +1 -0
- package/dist/esm/threshold/participants.js +76 -0
- package/dist/esm/threshold/participants.js.map +1 -0
- package/dist/esm/utils/base58.js +13 -11
- package/dist/esm/utils/base58.js.map +1 -1
- package/dist/esm/utils/base64.js +33 -16
- package/dist/esm/utils/base64.js.map +1 -1
- package/dist/esm/utils/digests.js +26 -0
- package/dist/esm/utils/digests.js.map +1 -0
- package/dist/esm/utils/errors.js +1 -5
- package/dist/esm/utils/errors.js.map +1 -1
- package/dist/esm/utils/validation.js +88 -5
- package/dist/esm/utils/validation.js.map +1 -1
- package/dist/esm/wasm_signer_worker/pkg/wasm_signer_worker.js +381 -225
- package/dist/esm/wasm_signer_worker/pkg/wasm_signer_worker_bg.wasm +0 -0
- package/dist/esm/wasm_vrf_worker/pkg/wasm_vrf_worker.js +103 -11
- package/dist/esm/wasm_vrf_worker/pkg/wasm_vrf_worker_bg.wasm +0 -0
- package/dist/types/src/__tests__/e2e/thresholdEd25519.testUtils.d.ts +25 -0
- package/dist/types/src/__tests__/e2e/thresholdEd25519.testUtils.d.ts.map +1 -0
- package/dist/types/src/__tests__/helpers/thresholdEd25519TestUtils.d.ts +23 -0
- package/dist/types/src/__tests__/helpers/thresholdEd25519TestUtils.d.ts.map +1 -0
- package/dist/types/src/__tests__/relayer/helpers.d.ts +1 -0
- package/dist/types/src/__tests__/relayer/helpers.d.ts.map +1 -1
- package/dist/types/src/__tests__/setup/bootstrap.d.ts.map +1 -1
- package/dist/types/src/__tests__/setup/flows.d.ts +11 -3
- package/dist/types/src/__tests__/setup/flows.d.ts.map +1 -1
- package/dist/types/src/__tests__/setup/index.d.ts +1 -1
- package/dist/types/src/__tests__/setup/index.d.ts.map +1 -1
- package/dist/types/src/__tests__/setup/webauthn-mocks.d.ts.map +1 -1
- package/dist/types/src/core/EmailRecovery/emailRecoveryPendingStore.d.ts +1 -1
- package/dist/types/src/core/EmailRecovery/emailRecoveryPendingStore.d.ts.map +1 -1
- package/dist/types/src/core/IndexedDBManager/index.d.ts +3 -3
- package/dist/types/src/core/IndexedDBManager/index.d.ts.map +1 -1
- package/dist/types/src/core/IndexedDBManager/passkeyClientDB.d.ts +10 -1
- package/dist/types/src/core/IndexedDBManager/passkeyClientDB.d.ts.map +1 -1
- package/dist/types/src/core/IndexedDBManager/passkeyNearKeysDB.d.ts +33 -16
- package/dist/types/src/core/IndexedDBManager/passkeyNearKeysDB.d.ts.map +1 -1
- package/dist/types/src/core/NearClient.d.ts +2 -0
- package/dist/types/src/core/NearClient.d.ts.map +1 -1
- package/dist/types/src/core/OfflineExport/offline-export-app.d.ts.map +1 -1
- package/dist/types/src/core/TatchiPasskey/actions.d.ts +10 -7
- package/dist/types/src/core/TatchiPasskey/actions.d.ts.map +1 -1
- package/dist/types/src/core/TatchiPasskey/delegateAction.d.ts +1 -1
- package/dist/types/src/core/TatchiPasskey/delegateAction.d.ts.map +1 -1
- package/dist/types/src/core/TatchiPasskey/emailRecovery.d.ts +3 -35
- package/dist/types/src/core/TatchiPasskey/emailRecovery.d.ts.map +1 -1
- package/dist/types/src/core/TatchiPasskey/faucets/createAccountRelayServer.d.ts +17 -1
- package/dist/types/src/core/TatchiPasskey/faucets/createAccountRelayServer.d.ts.map +1 -1
- package/dist/types/src/core/TatchiPasskey/index.d.ts +66 -33
- package/dist/types/src/core/TatchiPasskey/index.d.ts.map +1 -1
- package/dist/types/src/core/TatchiPasskey/linkDevice.d.ts +1 -0
- package/dist/types/src/core/TatchiPasskey/linkDevice.d.ts.map +1 -1
- package/dist/types/src/core/TatchiPasskey/login.d.ts.map +1 -1
- package/dist/types/src/core/TatchiPasskey/registration.d.ts +1 -1
- package/dist/types/src/core/TatchiPasskey/registration.d.ts.map +1 -1
- package/dist/types/src/core/TatchiPasskey/signNEP413.d.ts +3 -1
- package/dist/types/src/core/TatchiPasskey/signNEP413.d.ts.map +1 -1
- package/dist/types/src/core/TatchiPasskey/syncAccount.d.ts +112 -0
- package/dist/types/src/core/TatchiPasskey/syncAccount.d.ts.map +1 -0
- package/dist/types/src/core/WalletIframe/TatchiPasskeyIframe.d.ts +39 -15
- package/dist/types/src/core/WalletIframe/TatchiPasskeyIframe.d.ts.map +1 -1
- package/dist/types/src/core/WalletIframe/client/IframeTransport.d.ts +11 -0
- package/dist/types/src/core/WalletIframe/client/IframeTransport.d.ts.map +1 -1
- package/dist/types/src/core/WalletIframe/client/router.d.ts +66 -72
- package/dist/types/src/core/WalletIframe/client/router.d.ts.map +1 -1
- package/dist/types/src/core/WalletIframe/host/context.d.ts +2 -2
- package/dist/types/src/core/WalletIframe/host/context.d.ts.map +1 -1
- package/dist/types/src/core/WalletIframe/host/iframe-lit-elem-mounter.d.ts +41 -20
- package/dist/types/src/core/WalletIframe/host/iframe-lit-elem-mounter.d.ts.map +1 -1
- package/dist/types/src/core/WalletIframe/host/iframe-lit-element-registry.d.ts +0 -34
- package/dist/types/src/core/WalletIframe/host/iframe-lit-element-registry.d.ts.map +1 -1
- package/dist/types/src/core/WalletIframe/host/mounter-styles.d.ts +1 -1
- package/dist/types/src/core/WalletIframe/host/mounter-styles.d.ts.map +1 -1
- package/dist/types/src/core/WalletIframe/host/wallet-iframe-handlers.d.ts +1 -2
- package/dist/types/src/core/WalletIframe/host/wallet-iframe-handlers.d.ts.map +1 -1
- package/dist/types/src/core/WalletIframe/host/wallet-iframe-host.d.ts.map +1 -1
- package/dist/types/src/core/WalletIframe/host-mode.d.ts.map +1 -1
- package/dist/types/src/core/WalletIframe/shared/messages.d.ts +78 -10
- package/dist/types/src/core/WalletIframe/shared/messages.d.ts.map +1 -1
- package/dist/types/src/core/WebAuthnManager/LitComponents/IframeTxConfirmer/tx-confirmer-wrapper.d.ts.map +1 -1
- package/dist/types/src/core/WebAuthnManager/LitComponents/LitElementWithProps.d.ts +5 -3
- package/dist/types/src/core/WebAuthnManager/LitComponents/LitElementWithProps.d.ts.map +1 -1
- package/dist/types/src/core/WebAuthnManager/LitComponents/ensure-defined.d.ts +1 -1
- package/dist/types/src/core/WebAuthnManager/LitComponents/ensure-defined.d.ts.map +1 -1
- package/dist/types/src/core/WebAuthnManager/LitComponents/tags.d.ts +0 -52
- package/dist/types/src/core/WebAuthnManager/LitComponents/tags.d.ts.map +1 -1
- package/dist/types/src/core/WebAuthnManager/SignerWorkerManager/handlers/checkCanRegisterUser.d.ts +2 -2
- package/dist/types/src/core/WebAuthnManager/SignerWorkerManager/handlers/checkCanRegisterUser.d.ts.map +1 -1
- package/dist/types/src/core/WebAuthnManager/SignerWorkerManager/handlers/deriveNearKeypairAndEncryptFromSerialized.d.ts.map +1 -1
- package/dist/types/src/core/WebAuthnManager/SignerWorkerManager/handlers/deriveThresholdEd25519ClientVerifyingShare.d.ts +13 -0
- package/dist/types/src/core/WebAuthnManager/SignerWorkerManager/handlers/deriveThresholdEd25519ClientVerifyingShare.d.ts.map +1 -0
- package/dist/types/src/core/WebAuthnManager/SignerWorkerManager/handlers/exportNearKeypairUi.d.ts.map +1 -1
- package/dist/types/src/core/WebAuthnManager/SignerWorkerManager/handlers/index.d.ts +1 -0
- package/dist/types/src/core/WebAuthnManager/SignerWorkerManager/handlers/index.d.ts.map +1 -1
- package/dist/types/src/core/WebAuthnManager/SignerWorkerManager/handlers/registerDevice2WithDerivedKey.d.ts +11 -5
- package/dist/types/src/core/WebAuthnManager/SignerWorkerManager/handlers/registerDevice2WithDerivedKey.d.ts.map +1 -1
- package/dist/types/src/core/WebAuthnManager/SignerWorkerManager/handlers/session.d.ts +1 -1
- package/dist/types/src/core/WebAuthnManager/SignerWorkerManager/handlers/session.d.ts.map +1 -1
- package/dist/types/src/core/WebAuthnManager/SignerWorkerManager/handlers/signDelegateAction.d.ts +3 -2
- package/dist/types/src/core/WebAuthnManager/SignerWorkerManager/handlers/signDelegateAction.d.ts.map +1 -1
- package/dist/types/src/core/WebAuthnManager/SignerWorkerManager/handlers/signNep413Message.d.ts +2 -1
- package/dist/types/src/core/WebAuthnManager/SignerWorkerManager/handlers/signNep413Message.d.ts.map +1 -1
- package/dist/types/src/core/WebAuthnManager/SignerWorkerManager/handlers/signTransactionWithKeyPair.d.ts.map +1 -1
- package/dist/types/src/core/WebAuthnManager/SignerWorkerManager/handlers/signTransactionsWithActions.d.ts +5 -5
- package/dist/types/src/core/WebAuthnManager/SignerWorkerManager/handlers/signTransactionsWithActions.d.ts.map +1 -1
- package/dist/types/src/core/WebAuthnManager/SignerWorkerManager/handlers/validation.d.ts +2 -2
- package/dist/types/src/core/WebAuthnManager/SignerWorkerManager/handlers/validation.d.ts.map +1 -1
- package/dist/types/src/core/WebAuthnManager/SignerWorkerManager/index.d.ts +19 -4
- package/dist/types/src/core/WebAuthnManager/SignerWorkerManager/index.d.ts.map +1 -1
- package/dist/types/src/core/WebAuthnManager/SignerWorkerManager/sessionMessages.d.ts +6 -1
- package/dist/types/src/core/WebAuthnManager/SignerWorkerManager/sessionMessages.d.ts.map +1 -1
- package/dist/types/src/core/WebAuthnManager/SignerWorkerManager/thresholdSessionHelpers.d.ts +1 -0
- package/dist/types/src/core/WebAuthnManager/SignerWorkerManager/thresholdSessionHelpers.d.ts.map +1 -0
- package/dist/types/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/adapters/interfaces.d.ts +3 -3
- package/dist/types/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/adapters/interfaces.d.ts.map +1 -1
- package/dist/types/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/adapters/near.d.ts.map +1 -1
- package/dist/types/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/adapters/requestAdapter.d.ts.map +1 -1
- package/dist/types/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/adapters/session.d.ts +2 -2
- package/dist/types/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/adapters/session.d.ts.map +1 -1
- package/dist/types/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/adapters/vrf.d.ts +2 -2
- package/dist/types/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/adapters/vrf.d.ts.map +1 -1
- package/dist/types/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/adapters/webauthn.d.ts.map +1 -1
- package/dist/types/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/flows/localOnly.d.ts.map +1 -1
- package/dist/types/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/flows/registration.d.ts.map +1 -1
- package/dist/types/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/flows/requestRegistrationCredentialConfirmation.d.ts.map +1 -1
- package/dist/types/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/flows/transactions.d.ts.map +1 -1
- package/dist/types/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/types.d.ts +9 -1
- package/dist/types/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/types.d.ts.map +1 -1
- package/dist/types/src/core/WebAuthnManager/VrfWorkerManager/handlers/checkVrfStatus.d.ts.map +1 -1
- package/dist/types/src/core/WebAuthnManager/VrfWorkerManager/handlers/confirmAndPrepareSigningSession.d.ts +17 -2
- package/dist/types/src/core/WebAuthnManager/VrfWorkerManager/handlers/confirmAndPrepareSigningSession.d.ts.map +1 -1
- package/dist/types/src/core/WebAuthnManager/VrfWorkerManager/handlers/deriveVrfKeypairFromPrf.d.ts.map +1 -1
- package/dist/types/src/core/WebAuthnManager/VrfWorkerManager/handlers/generateVrfChallenge.d.ts.map +1 -1
- package/dist/types/src/core/WebAuthnManager/VrfWorkerManager/handlers/generateVrfKeypairBootstrap.d.ts.map +1 -1
- package/dist/types/src/core/WebAuthnManager/VrfWorkerManager/handlers/unlockVrfKeypair.d.ts +2 -2
- package/dist/types/src/core/WebAuthnManager/VrfWorkerManager/handlers/unlockVrfKeypair.d.ts.map +1 -1
- package/dist/types/src/core/WebAuthnManager/VrfWorkerManager/index.d.ts +9 -2
- package/dist/types/src/core/WebAuthnManager/VrfWorkerManager/index.d.ts.map +1 -1
- package/dist/types/src/core/WebAuthnManager/collectAuthenticationCredentialForVrfChallenge.d.ts +22 -0
- package/dist/types/src/core/WebAuthnManager/collectAuthenticationCredentialForVrfChallenge.d.ts.map +1 -0
- package/dist/types/src/core/WebAuthnManager/credentialsHelpers.d.ts +8 -3
- package/dist/types/src/core/WebAuthnManager/credentialsHelpers.d.ts.map +1 -1
- package/dist/types/src/core/WebAuthnManager/index.d.ts +118 -14
- package/dist/types/src/core/WebAuthnManager/index.d.ts.map +1 -1
- package/dist/types/src/core/WebAuthnManager/threshold/enrollThresholdEd25519Key.d.ts +46 -0
- package/dist/types/src/core/WebAuthnManager/threshold/enrollThresholdEd25519Key.d.ts.map +1 -0
- package/dist/types/src/core/WebAuthnManager/threshold/rotateThresholdEd25519KeyPostRegistration.d.ts +48 -0
- package/dist/types/src/core/WebAuthnManager/threshold/rotateThresholdEd25519KeyPostRegistration.d.ts.map +1 -0
- package/dist/types/src/core/WebAuthnManager/userPreferences.d.ts +36 -1
- package/dist/types/src/core/WebAuthnManager/userPreferences.d.ts.map +1 -1
- package/dist/types/src/core/defaultConfigs.d.ts +5 -0
- package/dist/types/src/core/defaultConfigs.d.ts.map +1 -1
- package/dist/types/src/core/digests/intentDigest.d.ts +19 -0
- package/dist/types/src/core/digests/intentDigest.d.ts.map +1 -0
- package/dist/types/src/core/nearCrypto.d.ts +2 -16
- package/dist/types/src/core/nearCrypto.d.ts.map +1 -1
- package/dist/types/src/core/nonceManager.d.ts.map +1 -1
- package/dist/types/src/core/rpcCalls.d.ts +64 -2
- package/dist/types/src/core/rpcCalls.d.ts.map +1 -1
- package/dist/types/src/core/sdkPaths/workers.d.ts +1 -1
- package/dist/types/src/core/sdkPaths/workers.d.ts.map +1 -1
- package/dist/types/src/core/threshold/index.d.ts +1 -0
- package/dist/types/src/core/threshold/index.d.ts.map +1 -0
- package/dist/types/src/core/threshold/thresholdEd25519AuthSession.d.ts +42 -0
- package/dist/types/src/core/threshold/thresholdEd25519AuthSession.d.ts.map +1 -0
- package/dist/types/src/core/threshold/thresholdEd25519RelayerHealth.d.ts +31 -0
- package/dist/types/src/core/threshold/thresholdEd25519RelayerHealth.d.ts.map +1 -0
- package/dist/types/src/core/threshold/thresholdSessionPolicy.d.ts +45 -0
- package/dist/types/src/core/threshold/thresholdSessionPolicy.d.ts.map +1 -0
- package/dist/types/src/core/types/delegate.d.ts +5 -2
- package/dist/types/src/core/types/delegate.d.ts.map +1 -1
- package/dist/types/src/core/types/emailRecovery.d.ts +82 -0
- package/dist/types/src/core/types/emailRecovery.d.ts.map +1 -1
- package/dist/types/src/core/types/rpc.d.ts +1 -0
- package/dist/types/src/core/types/rpc.d.ts.map +1 -1
- package/dist/types/src/core/types/sdkSentEvents.d.ts +82 -30
- package/dist/types/src/core/types/sdkSentEvents.d.ts.map +1 -1
- package/dist/types/src/core/types/signer-worker.d.ts +137 -20
- package/dist/types/src/core/types/signer-worker.d.ts.map +1 -1
- package/dist/types/src/core/types/tatchi.d.ts +10 -1
- package/dist/types/src/core/types/tatchi.d.ts.map +1 -1
- package/dist/types/src/core/types/vrf-worker.d.ts +27 -1
- package/dist/types/src/core/types/vrf-worker.d.ts.map +1 -1
- package/dist/types/src/index.d.ts +2 -2
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/plugins/headers.d.ts.map +1 -1
- package/dist/types/src/plugins/plugin-utils.d.ts +1 -1
- package/dist/types/src/plugins/plugin-utils.d.ts.map +1 -1
- package/dist/types/src/plugins/vite.d.ts.map +1 -1
- package/dist/types/src/react/components/AccountMenuButton/LinkedDevicesModal.d.ts.map +1 -1
- package/dist/types/src/react/components/AccountMenuButton/ProfileDropdown.d.ts.map +1 -1
- package/dist/types/src/react/components/AccountMenuButton/TransactionSettingsSection.d.ts.map +1 -1
- package/dist/types/src/react/components/AccountMenuButton/index.d.ts.map +1 -1
- package/dist/types/src/react/components/AccountMenuButton/types.d.ts +5 -0
- package/dist/types/src/react/components/AccountMenuButton/types.d.ts.map +1 -1
- package/dist/types/src/react/components/PasskeyAuthMenu/authMenuTypes.d.ts +4 -4
- package/dist/types/src/react/components/PasskeyAuthMenu/authMenuTypes.d.ts.map +1 -1
- package/dist/types/src/react/components/PasskeyAuthMenu/client.d.ts.map +1 -1
- package/dist/types/src/react/components/PasskeyAuthMenu/controller/usePasskeyAuthMenuController.d.ts +1 -1
- package/dist/types/src/react/components/PasskeyAuthMenu/controller/usePasskeyAuthMenuController.d.ts.map +1 -1
- package/dist/types/src/react/components/PasskeyAuthMenu/controller/useSDKEvents.d.ts.map +1 -1
- package/dist/types/src/react/components/PasskeyAuthMenu/types.d.ts +1 -1
- package/dist/types/src/react/components/PasskeyAuthMenu/types.d.ts.map +1 -1
- package/dist/types/src/react/components/PasskeyAuthMenu/ui/EmailRecoverySlide.d.ts.map +1 -1
- package/dist/types/src/react/context/useTatchiWithSdkFlow.d.ts +2 -2
- package/dist/types/src/react/context/useTatchiWithSdkFlow.d.ts.map +1 -1
- package/dist/types/src/react/index.d.ts +2 -4
- package/dist/types/src/react/index.d.ts.map +1 -1
- package/dist/types/src/react/types.d.ts +8 -25
- package/dist/types/src/react/types.d.ts.map +1 -1
- package/dist/types/src/server/core/AuthService.d.ts +14 -2
- package/dist/types/src/server/core/AuthService.d.ts.map +1 -1
- package/dist/types/src/server/core/SessionService.d.ts +3 -3
- package/dist/types/src/server/core/SessionService.d.ts.map +1 -1
- package/dist/types/src/server/core/ThresholdService/ThresholdSigningService.d.ts +91 -0
- package/dist/types/src/server/core/ThresholdService/ThresholdSigningService.d.ts.map +1 -0
- package/dist/types/src/server/core/ThresholdService/config.d.ts +21 -0
- package/dist/types/src/server/core/ThresholdService/config.d.ts.map +1 -0
- package/dist/types/src/server/core/ThresholdService/coordinatorGrant.d.ts +35 -0
- package/dist/types/src/server/core/ThresholdService/coordinatorGrant.d.ts.map +1 -0
- package/dist/types/src/server/core/ThresholdService/cosigners.d.ts +47 -0
- package/dist/types/src/server/core/ThresholdService/cosigners.d.ts.map +1 -0
- package/dist/types/src/server/core/ThresholdService/createThresholdSigningService.d.ts +11 -0
- package/dist/types/src/server/core/ThresholdService/createThresholdSigningService.d.ts.map +1 -0
- package/dist/types/src/server/core/ThresholdService/index.d.ts +6 -0
- package/dist/types/src/server/core/ThresholdService/index.d.ts.map +1 -0
- package/dist/types/src/server/core/ThresholdService/keygenStrategy.d.ts +79 -0
- package/dist/types/src/server/core/ThresholdService/keygenStrategy.d.ts.map +1 -0
- package/dist/types/src/server/core/ThresholdService/kv.d.ts +47 -0
- package/dist/types/src/server/core/ThresholdService/kv.d.ts.map +1 -0
- package/dist/types/src/server/core/ThresholdService/relayerKeyMaterial.d.ts +27 -0
- package/dist/types/src/server/core/ThresholdService/relayerKeyMaterial.d.ts.map +1 -0
- package/dist/types/src/server/core/ThresholdService/signingHandlers.d.ts +66 -0
- package/dist/types/src/server/core/ThresholdService/signingHandlers.d.ts.map +1 -0
- package/dist/types/src/server/core/ThresholdService/stores/AuthSessionStore.d.ts +32 -0
- package/dist/types/src/server/core/ThresholdService/stores/AuthSessionStore.d.ts.map +1 -0
- package/dist/types/src/server/core/ThresholdService/stores/KeyStore.d.ts +18 -0
- package/dist/types/src/server/core/ThresholdService/stores/KeyStore.d.ts.map +1 -0
- package/dist/types/src/server/core/ThresholdService/stores/SessionStore.d.ts +66 -0
- package/dist/types/src/server/core/ThresholdService/stores/SessionStore.d.ts.map +1 -0
- package/dist/types/src/server/core/ThresholdService/validation.d.ts +129 -0
- package/dist/types/src/server/core/ThresholdService/validation.d.ts.map +1 -0
- package/dist/types/src/server/core/config.d.ts.map +1 -1
- package/dist/types/src/server/core/errors.d.ts.map +1 -1
- package/dist/types/src/server/core/logger.d.ts +1 -0
- package/dist/types/src/server/core/logger.d.ts.map +1 -1
- package/dist/types/src/server/core/nearKeys.d.ts +2 -0
- package/dist/types/src/server/core/nearKeys.d.ts.map +1 -0
- package/dist/types/src/server/core/shamirWorker.d.ts.map +1 -1
- package/dist/types/src/server/core/types.d.ts +321 -1
- package/dist/types/src/server/core/types.d.ts.map +1 -1
- package/dist/types/src/server/email-recovery/emailParsers.d.ts +1 -1
- package/dist/types/src/server/email-recovery/emailParsers.d.ts.map +1 -1
- package/dist/types/src/server/email-recovery/index.d.ts +1 -1
- package/dist/types/src/server/email-recovery/index.d.ts.map +1 -1
- package/dist/types/src/server/email-recovery/rpcCalls.d.ts +1 -1
- package/dist/types/src/server/email-recovery/rpcCalls.d.ts.map +1 -1
- package/dist/types/src/server/email-recovery/zkEmail/proverClient.d.ts.map +1 -1
- package/dist/types/src/server/index.d.ts +2 -0
- package/dist/types/src/server/index.d.ts.map +1 -1
- package/dist/types/src/server/router/cloudflare/createCloudflareRouter.d.ts +22 -0
- package/dist/types/src/server/router/cloudflare/createCloudflareRouter.d.ts.map +1 -0
- package/dist/types/src/server/router/cloudflare/cron.d.ts +18 -0
- package/dist/types/src/server/router/cloudflare/cron.d.ts.map +1 -0
- package/dist/types/src/server/router/cloudflare/email.d.ts +22 -0
- package/dist/types/src/server/router/cloudflare/email.d.ts.map +1 -0
- package/dist/types/src/server/router/cloudflare/http.d.ts +12 -0
- package/dist/types/src/server/router/cloudflare/http.d.ts.map +1 -0
- package/dist/types/src/server/router/cloudflare/routes/createAccountAndRegisterUser.d.ts +3 -0
- package/dist/types/src/server/router/cloudflare/routes/createAccountAndRegisterUser.d.ts.map +1 -0
- package/dist/types/src/server/router/cloudflare/routes/health.d.ts +4 -0
- package/dist/types/src/server/router/cloudflare/routes/health.d.ts.map +1 -0
- package/dist/types/src/server/router/cloudflare/routes/recoverEmail.d.ts +3 -0
- package/dist/types/src/server/router/cloudflare/routes/recoverEmail.d.ts.map +1 -0
- package/dist/types/src/server/router/cloudflare/routes/sessions.d.ts +5 -0
- package/dist/types/src/server/router/cloudflare/routes/sessions.d.ts.map +1 -0
- package/dist/types/src/server/router/cloudflare/routes/shamir.d.ts +3 -0
- package/dist/types/src/server/router/cloudflare/routes/shamir.d.ts.map +1 -0
- package/dist/types/src/server/router/cloudflare/routes/signedDelegate.d.ts +3 -0
- package/dist/types/src/server/router/cloudflare/routes/signedDelegate.d.ts.map +1 -0
- package/dist/types/src/server/router/cloudflare/routes/thresholdEd25519.d.ts +3 -0
- package/dist/types/src/server/router/cloudflare/routes/thresholdEd25519.d.ts.map +1 -0
- package/dist/types/src/server/router/cloudflare/routes/verifyAuthenticationResponse.d.ts +3 -0
- package/dist/types/src/server/router/cloudflare/routes/verifyAuthenticationResponse.d.ts.map +1 -0
- package/dist/types/src/server/router/cloudflare/routes/wellKnown.d.ts +3 -0
- package/dist/types/src/server/router/cloudflare/routes/wellKnown.d.ts.map +1 -0
- package/dist/types/src/server/router/cloudflare/types.d.ts +49 -0
- package/dist/types/src/server/router/cloudflare/types.d.ts.map +1 -0
- package/dist/types/src/server/router/cloudflare-adaptor.d.ts +7 -106
- package/dist/types/src/server/router/cloudflare-adaptor.d.ts.map +1 -1
- package/dist/types/src/server/router/commonRouterUtils.d.ts +26 -0
- package/dist/types/src/server/router/commonRouterUtils.d.ts.map +1 -0
- package/dist/types/src/server/router/express/cors.d.ts +4 -0
- package/dist/types/src/server/router/express/cors.d.ts.map +1 -0
- package/dist/types/src/server/router/express/createRelayRouter.d.ts +16 -0
- package/dist/types/src/server/router/express/createRelayRouter.d.ts.map +1 -0
- package/dist/types/src/server/router/express/cron.d.ts +12 -0
- package/dist/types/src/server/router/express/cron.d.ts.map +1 -0
- package/dist/types/src/server/router/express/routes/createAccountAndRegisterUser.d.ts +4 -0
- package/dist/types/src/server/router/express/routes/createAccountAndRegisterUser.d.ts.map +1 -0
- package/dist/types/src/server/router/express/routes/health.d.ts +4 -0
- package/dist/types/src/server/router/express/routes/health.d.ts.map +1 -0
- package/dist/types/src/server/router/express/routes/recoverEmail.d.ts +4 -0
- package/dist/types/src/server/router/express/routes/recoverEmail.d.ts.map +1 -0
- package/dist/types/src/server/router/express/routes/sessions.d.ts +4 -0
- package/dist/types/src/server/router/express/routes/sessions.d.ts.map +1 -0
- package/dist/types/src/server/router/express/routes/shamir.d.ts +4 -0
- package/dist/types/src/server/router/express/routes/shamir.d.ts.map +1 -0
- package/dist/types/src/server/router/express/routes/signedDelegate.d.ts +4 -0
- package/dist/types/src/server/router/express/routes/signedDelegate.d.ts.map +1 -0
- package/dist/types/src/server/router/express/routes/thresholdEd25519.d.ts +4 -0
- package/dist/types/src/server/router/express/routes/thresholdEd25519.d.ts.map +1 -0
- package/dist/types/src/server/router/express/routes/verifyAuthenticationResponse.d.ts +4 -0
- package/dist/types/src/server/router/express/routes/verifyAuthenticationResponse.d.ts.map +1 -0
- package/dist/types/src/server/router/express/routes/wellKnown.d.ts +4 -0
- package/dist/types/src/server/router/express/routes/wellKnown.d.ts.map +1 -0
- package/dist/types/src/server/router/express-adaptor.d.ts +4 -54
- package/dist/types/src/server/router/express-adaptor.d.ts.map +1 -1
- package/dist/types/src/server/router/logger.d.ts +3 -2
- package/dist/types/src/server/router/logger.d.ts.map +1 -1
- package/dist/types/src/server/router/relay.d.ts +93 -0
- package/dist/types/src/server/router/relay.d.ts.map +1 -0
- package/dist/types/src/server/router/routerOptions.d.ts +4 -0
- package/dist/types/src/server/router/routerOptions.d.ts.map +1 -0
- package/dist/types/src/server/threshold/statusCodes.d.ts +6 -0
- package/dist/types/src/server/threshold/statusCodes.d.ts.map +1 -0
- package/dist/types/src/threshold/participants.d.ts +41 -0
- package/dist/types/src/threshold/participants.d.ts.map +1 -0
- package/dist/types/src/utils/digests.d.ts +3 -0
- package/dist/types/src/utils/digests.d.ts.map +1 -0
- package/dist/types/src/utils/index.d.ts +1 -0
- package/dist/types/src/utils/index.d.ts.map +1 -1
- package/dist/types/src/utils/validation.d.ts +60 -0
- package/dist/types/src/utils/validation.d.ts.map +1 -1
- package/dist/types/src/wasm_signer_worker/pkg/wasm_signer_worker.d.ts +182 -79
- package/dist/types/src/wasm_signer_worker/pkg/wasm_signer_worker.d.ts.map +1 -1
- package/dist/types/src/wasm_vrf_worker/pkg/wasm_vrf_worker.d.ts +45 -1
- package/dist/types/src/wasm_vrf_worker/pkg/wasm_vrf_worker.d.ts.map +1 -1
- package/dist/workers/offline-export-sw.js +1 -156
- package/dist/workers/wasm_signer_worker_bg.wasm +0 -0
- package/dist/workers/wasm_vrf_worker_bg.wasm +0 -0
- package/dist/workers/web3authn-signer.worker.js +2 -1324
- package/dist/workers/web3authn-vrf.worker.js +2 -2788
- package/package.json +3 -8
- package/dist/cjs/core/TatchiPasskey/recoverAccount.js +0 -429
- package/dist/cjs/core/TatchiPasskey/recoverAccount.js.map +0 -1
- package/dist/cjs/core/WalletIframe/validation.js +0 -67
- package/dist/cjs/core/WalletIframe/validation.js.map +0 -1
- package/dist/cjs/core/WebAuthnManager/LitComponents/IframeButtonWithTooltipConfirmer/iframe-geometry.js +0 -363
- package/dist/cjs/core/WebAuthnManager/LitComponents/IframeButtonWithTooltipConfirmer/iframe-geometry.js.map +0 -1
- package/dist/cjs/core/WebAuthnManager/LitComponents/IframeButtonWithTooltipConfirmer/iframe-host.js +0 -707
- package/dist/cjs/core/WebAuthnManager/LitComponents/IframeButtonWithTooltipConfirmer/iframe-host.js.map +0 -1
- package/dist/cjs/core/WebAuthnManager/VrfWorkerManager/handlers/createSigningSessionChannel.js +0 -30
- package/dist/cjs/core/WebAuthnManager/VrfWorkerManager/handlers/createSigningSessionChannel.js.map +0 -1
- package/dist/cjs/core/WebAuthnManager/WebAuthnFallbacks/index.js +0 -17
- package/dist/cjs/core/WebAuthnManager/WebAuthnFallbacks/index.js.map +0 -1
- package/dist/cjs/core/WebAuthnManager/txDigest.js +0 -85
- package/dist/cjs/core/WebAuthnManager/txDigest.js.map +0 -1
- package/dist/cjs/index.js.map +0 -1
- package/dist/cjs/react/components/AccountMenuButton/LinkedDevicesModal-BRtht0XI.css +0 -452
- package/dist/cjs/react/components/AccountMenuButton/LinkedDevicesModal-BRtht0XI.css.map +0 -1
- package/dist/cjs/react/components/AccountMenuButton/ProfileDropdown-BG_6hcim.css +0 -120
- package/dist/cjs/react/components/AccountMenuButton/ProfileDropdown-BG_6hcim.css.map +0 -1
- package/dist/cjs/react/components/AccountMenuButton/Web3AuthProfileButton-k8_FAYFq.css +0 -77
- package/dist/cjs/react/components/AccountMenuButton/Web3AuthProfileButton-k8_FAYFq.css.map +0 -1
- package/dist/cjs/react/components/AccountMenuButton/icons/TouchIcon-C-RcGfr5.css +0 -41
- package/dist/cjs/react/components/AccountMenuButton/icons/TouchIcon-C-RcGfr5.css.map +0 -1
- package/dist/cjs/react/components/PasskeyAuthMenu/PasskeyAuthMenu-DKMiLeT9.css +0 -1009
- package/dist/cjs/react/components/PasskeyAuthMenu/PasskeyAuthMenu-DKMiLeT9.css.map +0 -1
- package/dist/cjs/react/components/SendTxButtonWithTooltip.js +0 -218
- package/dist/cjs/react/components/SendTxButtonWithTooltip.js.map +0 -1
- package/dist/cjs/react/components/ShowQRCode-CB0UCQ_h.css +0 -113
- package/dist/cjs/react/components/ShowQRCode-CB0UCQ_h.css.map +0 -1
- package/dist/cjs/react/components/WalletIframeTxButtonHost.js +0 -177
- package/dist/cjs/react/components/WalletIframeTxButtonHost.js.map +0 -1
- package/dist/cjs/react/index.js.map +0 -1
- package/dist/cjs/react/node_modules/.pnpm/@lit_react@1.0.8_@types_react@19.1.12/node_modules/@lit/react/node/create-component.js +0 -32
- package/dist/cjs/react/node_modules/.pnpm/@lit_react@1.0.8_@types_react@19.1.12/node_modules/@lit/react/node/create-component.js.map +0 -1
- package/dist/cjs/react/sdk/build-paths.js +0 -55
- package/dist/cjs/react/sdk/build-paths.js.map +0 -1
- package/dist/cjs/react/sdk/src/base-styles.js +0 -21
- package/dist/cjs/react/sdk/src/base-styles.js.map +0 -1
- package/dist/cjs/react/sdk/src/config.js +0 -35
- package/dist/cjs/react/sdk/src/config.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/ChainsigAddressManager/index.js +0 -30
- package/dist/cjs/react/sdk/src/core/ChainsigAddressManager/index.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/EmailRecovery/emailRecoveryPendingStore.js +0 -69
- package/dist/cjs/react/sdk/src/core/EmailRecovery/emailRecoveryPendingStore.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/EmailRecovery/index.js +0 -115
- package/dist/cjs/react/sdk/src/core/EmailRecovery/index.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/IndexedDBManager/index.js +0 -140
- package/dist/cjs/react/sdk/src/core/IndexedDBManager/index.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/IndexedDBManager/passkeyClientDB.js +0 -685
- package/dist/cjs/react/sdk/src/core/IndexedDBManager/passkeyClientDB.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/IndexedDBManager/passkeyNearKeysDB.js +0 -192
- package/dist/cjs/react/sdk/src/core/IndexedDBManager/passkeyNearKeysDB.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/NearClient.js +0 -273
- package/dist/cjs/react/sdk/src/core/NearClient.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/NearRpcError.js +0 -116
- package/dist/cjs/react/sdk/src/core/NearRpcError.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/OfflineExport/overlay.js +0 -56
- package/dist/cjs/react/sdk/src/core/OfflineExport/overlay.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/TatchiPasskey/actions.js +0 -452
- package/dist/cjs/react/sdk/src/core/TatchiPasskey/actions.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/TatchiPasskey/delegateAction.js +0 -76
- package/dist/cjs/react/sdk/src/core/TatchiPasskey/delegateAction.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/TatchiPasskey/emailRecovery.js +0 -919
- package/dist/cjs/react/sdk/src/core/TatchiPasskey/emailRecovery.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/TatchiPasskey/faucets/createAccountRelayServer.js +0 -97
- package/dist/cjs/react/sdk/src/core/TatchiPasskey/faucets/createAccountRelayServer.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/TatchiPasskey/index.js +0 -1298
- package/dist/cjs/react/sdk/src/core/TatchiPasskey/index.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/TatchiPasskey/linkDevice.js +0 -711
- package/dist/cjs/react/sdk/src/core/TatchiPasskey/linkDevice.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/TatchiPasskey/login.js +0 -578
- package/dist/cjs/react/sdk/src/core/TatchiPasskey/login.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/TatchiPasskey/recoverAccount.js +0 -429
- package/dist/cjs/react/sdk/src/core/TatchiPasskey/recoverAccount.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/TatchiPasskey/registration.js +0 -340
- package/dist/cjs/react/sdk/src/core/TatchiPasskey/registration.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/TatchiPasskey/relay.js +0 -112
- package/dist/cjs/react/sdk/src/core/TatchiPasskey/relay.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/TatchiPasskey/scanDevice.js +0 -106
- package/dist/cjs/react/sdk/src/core/TatchiPasskey/scanDevice.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/TatchiPasskey/signNEP413.js +0 -89
- package/dist/cjs/react/sdk/src/core/TatchiPasskey/signNEP413.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/WalletIframe/client/IframeTransport.js +0 -330
- package/dist/cjs/react/sdk/src/core/WalletIframe/client/IframeTransport.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/WalletIframe/client/on-events-progress-bus.js +0 -210
- package/dist/cjs/react/sdk/src/core/WalletIframe/client/on-events-progress-bus.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/WalletIframe/client/overlay-controller.js +0 -100
- package/dist/cjs/react/sdk/src/core/WalletIframe/client/overlay-controller.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/WalletIframe/client/overlay-styles.js +0 -128
- package/dist/cjs/react/sdk/src/core/WalletIframe/client/overlay-styles.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/WalletIframe/client/router.js +0 -1062
- package/dist/cjs/react/sdk/src/core/WalletIframe/client/router.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/WalletIframe/events.js +0 -11
- package/dist/cjs/react/sdk/src/core/WalletIframe/events.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/WalletIframe/host-mode.js +0 -11
- package/dist/cjs/react/sdk/src/core/WalletIframe/host-mode.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/WalletIframe/validation.js +0 -71
- package/dist/cjs/react/sdk/src/core/WalletIframe/validation.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/LitComponents/Drawer/index.js +0 -660
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/LitComponents/Drawer/index.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/LitComponents/ExportPrivateKey/iframe-host.js +0 -223
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/LitComponents/ExportPrivateKey/iframe-host.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/LitComponents/HaloBorder/index.js +0 -135
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/LitComponents/HaloBorder/index.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/LitComponents/IframeButtonWithTooltipConfirmer/iframe-geometry.js +0 -363
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/LitComponents/IframeButtonWithTooltipConfirmer/iframe-geometry.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/LitComponents/IframeButtonWithTooltipConfirmer/iframe-host.js +0 -707
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/LitComponents/IframeButtonWithTooltipConfirmer/iframe-host.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/LitComponents/IframeTxConfirmer/tx-confirm-content.js +0 -190
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/LitComponents/IframeTxConfirmer/tx-confirm-content.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/LitComponents/IframeTxConfirmer/tx-confirmer-wrapper.js +0 -258
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/LitComponents/IframeTxConfirmer/tx-confirmer-wrapper.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/LitComponents/IframeTxConfirmer/viewer-drawer.js +0 -261
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/LitComponents/IframeTxConfirmer/viewer-drawer.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/LitComponents/IframeTxConfirmer/viewer-modal.js +0 -281
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/LitComponents/IframeTxConfirmer/viewer-modal.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/LitComponents/LitElementWithProps.js +0 -256
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/LitComponents/LitElementWithProps.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/LitComponents/PasskeyHaloLoading/index.js +0 -146
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/LitComponents/PasskeyHaloLoading/index.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/LitComponents/TxTree/index.js +0 -503
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/LitComponents/TxTree/index.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/LitComponents/TxTree/tx-tree-themes.js +0 -212
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/LitComponents/TxTree/tx-tree-themes.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/LitComponents/TxTree/tx-tree-utils.js +0 -183
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/LitComponents/TxTree/tx-tree-utils.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/LitComponents/asset-base.js +0 -46
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/LitComponents/asset-base.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/LitComponents/common/PadlockIcon.js +0 -55
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/LitComponents/common/PadlockIcon.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/LitComponents/common/formatters.js +0 -68
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/LitComponents/common/formatters.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/LitComponents/confirm-ui-types.js +0 -10
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/LitComponents/confirm-ui-types.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/LitComponents/confirm-ui.js +0 -221
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/LitComponents/confirm-ui.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/LitComponents/css/css-loader.js +0 -110
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/LitComponents/css/css-loader.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/LitComponents/ensure-defined.js +0 -24
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/LitComponents/ensure-defined.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/LitComponents/lit-events.js +0 -35
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/LitComponents/lit-events.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/LitComponents/tags.js +0 -66
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/LitComponents/tags.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/SignerWorkerManager/getDeviceNumber.js +0 -39
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/SignerWorkerManager/getDeviceNumber.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/SignerWorkerManager/handlers/checkCanRegisterUser.js +0 -71
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/SignerWorkerManager/handlers/checkCanRegisterUser.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/SignerWorkerManager/handlers/decryptPrivateKeyWithPrf.js +0 -49
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/SignerWorkerManager/handlers/decryptPrivateKeyWithPrf.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/SignerWorkerManager/handlers/deriveNearKeypairAndEncryptFromSerialized.js +0 -73
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/SignerWorkerManager/handlers/deriveNearKeypairAndEncryptFromSerialized.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/SignerWorkerManager/handlers/exportNearKeypairUi.js +0 -69
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/SignerWorkerManager/handlers/exportNearKeypairUi.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/SignerWorkerManager/handlers/extractCosePublicKey.js +0 -27
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/SignerWorkerManager/handlers/extractCosePublicKey.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/SignerWorkerManager/handlers/recoverKeypairFromPasskey.js +0 -46
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/SignerWorkerManager/handlers/recoverKeypairFromPasskey.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/SignerWorkerManager/handlers/registerDevice2WithDerivedKey.js +0 -118
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/SignerWorkerManager/handlers/registerDevice2WithDerivedKey.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/SignerWorkerManager/handlers/session.js +0 -16
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/SignerWorkerManager/handlers/session.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/SignerWorkerManager/handlers/signDelegateAction.js +0 -105
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/SignerWorkerManager/handlers/signDelegateAction.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/SignerWorkerManager/handlers/signNep413Message.js +0 -80
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/SignerWorkerManager/handlers/signNep413Message.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/SignerWorkerManager/handlers/signTransactionWithKeyPair.js +0 -64
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/SignerWorkerManager/handlers/signTransactionWithKeyPair.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/SignerWorkerManager/handlers/signTransactionsWithActions.js +0 -114
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/SignerWorkerManager/handlers/signTransactionsWithActions.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/SignerWorkerManager/handlers/validation.js +0 -82
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/SignerWorkerManager/handlers/validation.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/SignerWorkerManager/index.js +0 -452
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/SignerWorkerManager/index.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/SignerWorkerManager/sessionHandshake.js +0 -36
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/SignerWorkerManager/sessionHandshake.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/SignerWorkerManager/sessionMessages.js +0 -83
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/SignerWorkerManager/sessionMessages.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/adapters/common.js +0 -61
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/adapters/common.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/adapters/createAdapters.js +0 -50
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/adapters/createAdapters.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/adapters/near.js +0 -56
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/adapters/near.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/adapters/requestAdapter.js +0 -34
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/adapters/requestAdapter.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/adapters/requestHelpers.js +0 -47
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/adapters/requestHelpers.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/adapters/session.js +0 -54
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/adapters/session.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/adapters/ui.js +0 -77
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/adapters/ui.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/adapters/vrf.js +0 -64
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/adapters/vrf.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/adapters/webauthn.js +0 -40
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/adapters/webauthn.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/determineConfirmationConfig.js +0 -66
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/determineConfirmationConfig.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/flows/localOnly.js +0 -90
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/flows/localOnly.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/flows/registration.js +0 -136
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/flows/registration.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/flows/requestRegistrationCredentialConfirmation.js +0 -52
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/flows/requestRegistrationCredentialConfirmation.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/flows/transactions.js +0 -173
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/flows/transactions.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/handleSecureConfirmRequest.js +0 -119
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/handleSecureConfirmRequest.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/types.js +0 -22
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/types.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/handlers/checkSessionStatus.js +0 -27
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/handlers/checkSessionStatus.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/handlers/checkVrfStatus.js +0 -52
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/handlers/checkVrfStatus.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/handlers/clearSession.js +0 -33
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/handlers/clearSession.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/handlers/clearVrf.js +0 -31
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/handlers/clearVrf.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/handlers/confirmAndDeriveDevice2RegistrationSession.js +0 -50
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/handlers/confirmAndDeriveDevice2RegistrationSession.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/handlers/confirmAndPrepareSigningSession.js +0 -156
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/handlers/confirmAndPrepareSigningSession.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/handlers/createSigningSessionChannel.js +0 -30
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/handlers/createSigningSessionChannel.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/handlers/deriveVrfKeypairFromPrf.js +0 -59
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/handlers/deriveVrfKeypairFromPrf.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/handlers/dispenseSessionKey.js +0 -27
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/handlers/dispenseSessionKey.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/handlers/generateVrfChallenge.js +0 -48
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/handlers/generateVrfChallenge.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/handlers/generateVrfKeypairBootstrap.js +0 -59
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/handlers/generateVrfKeypairBootstrap.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/handlers/mintSessionKeysAndSendToSigner.js +0 -45
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/handlers/mintSessionKeysAndSendToSigner.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/handlers/prepareDecryptSession.js +0 -54
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/handlers/prepareDecryptSession.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/handlers/requestRegistrationCredentialConfirmation.js +0 -31
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/handlers/requestRegistrationCredentialConfirmation.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/handlers/shamir3PassDecryptVrfKeypair.js +0 -28
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/handlers/shamir3PassDecryptVrfKeypair.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/handlers/shamir3PassEncryptCurrentVrfKeypair.js +0 -30
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/handlers/shamir3PassEncryptCurrentVrfKeypair.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/handlers/unlockVrfKeypair.js +0 -42
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/handlers/unlockVrfKeypair.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/index.js +0 -375
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/index.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/secureConfirmBridge.js +0 -26
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/secureConfirmBridge.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/WebAuthnFallbacks/index.js +0 -17
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/WebAuthnFallbacks/index.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/WebAuthnFallbacks/safari-fallbacks.js +0 -210
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/WebAuthnFallbacks/safari-fallbacks.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/credentialsHelpers.js +0 -301
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/credentialsHelpers.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/index.js +0 -890
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/index.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/touchIdPrompt.js +0 -282
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/touchIdPrompt.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/txDigest.js +0 -85
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/txDigest.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/userHandle.js +0 -39
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/userHandle.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/userPreferences.js +0 -308
- package/dist/cjs/react/sdk/src/core/WebAuthnManager/userPreferences.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/defaultConfigs.js +0 -110
- package/dist/cjs/react/sdk/src/core/defaultConfigs.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/nearCrypto.js +0 -57
- package/dist/cjs/react/sdk/src/core/nearCrypto.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/nonceManager.js +0 -403
- package/dist/cjs/react/sdk/src/core/nonceManager.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/rpcCalls.js +0 -446
- package/dist/cjs/react/sdk/src/core/rpcCalls.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/sdkPaths/base.js +0 -49
- package/dist/cjs/react/sdk/src/core/sdkPaths/base.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/sdkPaths/workers.js +0 -45
- package/dist/cjs/react/sdk/src/core/sdkPaths/workers.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/types/accountIds.js +0 -33
- package/dist/cjs/react/sdk/src/core/types/accountIds.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/types/actions.js +0 -274
- package/dist/cjs/react/sdk/src/core/types/actions.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/types/authenticatorOptions.js +0 -51
- package/dist/cjs/react/sdk/src/core/types/authenticatorOptions.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/types/emailRecovery.js +0 -33
- package/dist/cjs/react/sdk/src/core/types/emailRecovery.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/types/linkDevice.js +0 -25
- package/dist/cjs/react/sdk/src/core/types/linkDevice.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/types/rpc.js +0 -25
- package/dist/cjs/react/sdk/src/core/types/rpc.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/types/sdkSentEvents.js +0 -133
- package/dist/cjs/react/sdk/src/core/types/sdkSentEvents.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/types/signer-worker.js +0 -69
- package/dist/cjs/react/sdk/src/core/types/signer-worker.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/types/vrf-worker.js +0 -74
- package/dist/cjs/react/sdk/src/core/types/vrf-worker.js.map +0 -1
- package/dist/cjs/react/sdk/src/core/workerControlMessages.js +0 -21
- package/dist/cjs/react/sdk/src/core/workerControlMessages.js.map +0 -1
- package/dist/cjs/react/sdk/src/theme/base-styles.js +0 -157
- package/dist/cjs/react/sdk/src/theme/base-styles.js.map +0 -1
- package/dist/cjs/react/sdk/src/theme/palette.js +0 -209
- package/dist/cjs/react/sdk/src/theme/palette.js.map +0 -1
- package/dist/cjs/react/sdk/src/utils/base58.js +0 -24
- package/dist/cjs/react/sdk/src/utils/base58.js.map +0 -1
- package/dist/cjs/react/sdk/src/utils/base64.js +0 -59
- package/dist/cjs/react/sdk/src/utils/base64.js.map +0 -1
- package/dist/cjs/react/sdk/src/utils/encoders.js +0 -18
- package/dist/cjs/react/sdk/src/utils/encoders.js.map +0 -1
- package/dist/cjs/react/sdk/src/utils/errors.js +0 -151
- package/dist/cjs/react/sdk/src/utils/errors.js.map +0 -1
- package/dist/cjs/react/sdk/src/utils/index.js +0 -25
- package/dist/cjs/react/sdk/src/utils/index.js.map +0 -1
- package/dist/cjs/react/sdk/src/utils/qrScanner.js +0 -320
- package/dist/cjs/react/sdk/src/utils/qrScanner.js.map +0 -1
- package/dist/cjs/react/sdk/src/utils/validation.js +0 -67
- package/dist/cjs/react/sdk/src/utils/validation.js.map +0 -1
- package/dist/cjs/server/sdk/src/core/WalletIframe/validation.js +0 -17
- package/dist/cjs/server/sdk/src/core/WalletIframe/validation.js.map +0 -1
- package/dist/cjs/utils/encoders.js +0 -18
- package/dist/cjs/utils/encoders.js.map +0 -1
- package/dist/cjs/utils/index.js +0 -25
- package/dist/cjs/utils/index.js.map +0 -1
- package/dist/esm/_virtual/rolldown_runtime.js +0 -28
- package/dist/esm/core/TatchiPasskey/recoverAccount.js +0 -428
- package/dist/esm/core/TatchiPasskey/recoverAccount.js.map +0 -1
- package/dist/esm/core/WalletIframe/validation.js +0 -52
- package/dist/esm/core/WalletIframe/validation.js.map +0 -1
- package/dist/esm/core/WebAuthnManager/LitComponents/IframeButtonWithTooltipConfirmer/iframe-geometry.js +0 -357
- package/dist/esm/core/WebAuthnManager/LitComponents/IframeButtonWithTooltipConfirmer/iframe-geometry.js.map +0 -1
- package/dist/esm/core/WebAuthnManager/LitComponents/IframeButtonWithTooltipConfirmer/iframe-host.js +0 -703
- package/dist/esm/core/WebAuthnManager/LitComponents/IframeButtonWithTooltipConfirmer/iframe-host.js.map +0 -1
- package/dist/esm/core/WebAuthnManager/VrfWorkerManager/handlers/createSigningSessionChannel.js +0 -29
- package/dist/esm/core/WebAuthnManager/VrfWorkerManager/handlers/createSigningSessionChannel.js.map +0 -1
- package/dist/esm/core/WebAuthnManager/WebAuthnFallbacks/index.js +0 -12
- package/dist/esm/core/WebAuthnManager/WebAuthnFallbacks/index.js.map +0 -1
- package/dist/esm/core/WebAuthnManager/txDigest.js +0 -83
- package/dist/esm/core/WebAuthnManager/txDigest.js.map +0 -1
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/react/_virtual/rolldown_runtime.js +0 -28
- package/dist/esm/react/components/AccountMenuButton/LinkedDevicesModal-BRtht0XI.css +0 -452
- package/dist/esm/react/components/AccountMenuButton/LinkedDevicesModal-BRtht0XI.css.map +0 -1
- package/dist/esm/react/components/AccountMenuButton/ProfileDropdown-BG_6hcim.css +0 -120
- package/dist/esm/react/components/AccountMenuButton/ProfileDropdown-BG_6hcim.css.map +0 -1
- package/dist/esm/react/components/AccountMenuButton/Web3AuthProfileButton-k8_FAYFq.css +0 -77
- package/dist/esm/react/components/AccountMenuButton/Web3AuthProfileButton-k8_FAYFq.css.map +0 -1
- package/dist/esm/react/components/AccountMenuButton/icons/TouchIcon-C-RcGfr5.css +0 -41
- package/dist/esm/react/components/AccountMenuButton/icons/TouchIcon-C-RcGfr5.css.map +0 -1
- package/dist/esm/react/components/PasskeyAuthMenu/PasskeyAuthMenu-DKMiLeT9.css +0 -1009
- package/dist/esm/react/components/PasskeyAuthMenu/PasskeyAuthMenu-DKMiLeT9.css.map +0 -1
- package/dist/esm/react/components/SendTxButtonWithTooltip.js +0 -214
- package/dist/esm/react/components/SendTxButtonWithTooltip.js.map +0 -1
- package/dist/esm/react/components/ShowQRCode-CB0UCQ_h.css +0 -113
- package/dist/esm/react/components/ShowQRCode-CB0UCQ_h.css.map +0 -1
- package/dist/esm/react/components/WalletIframeTxButtonHost.js +0 -174
- package/dist/esm/react/components/WalletIframeTxButtonHost.js.map +0 -1
- package/dist/esm/react/index.js.map +0 -1
- package/dist/esm/react/node_modules/.pnpm/@lit_react@1.0.8_@types_react@19.1.12/node_modules/@lit/react/create-component.js +0 -45
- package/dist/esm/react/node_modules/.pnpm/@lit_react@1.0.8_@types_react@19.1.12/node_modules/@lit/react/create-component.js.map +0 -1
- package/dist/esm/react/sdk/build-paths.js.map +0 -1
- package/dist/esm/react/sdk/src/base-styles.js.map +0 -1
- package/dist/esm/react/sdk/src/config.js.map +0 -1
- package/dist/esm/react/sdk/src/core/ChainsigAddressManager/index.js +0 -29
- package/dist/esm/react/sdk/src/core/ChainsigAddressManager/index.js.map +0 -1
- package/dist/esm/react/sdk/src/core/EmailRecovery/emailRecoveryPendingStore.js +0 -63
- package/dist/esm/react/sdk/src/core/EmailRecovery/emailRecoveryPendingStore.js.map +0 -1
- package/dist/esm/react/sdk/src/core/EmailRecovery/index.js +0 -105
- package/dist/esm/react/sdk/src/core/EmailRecovery/index.js.map +0 -1
- package/dist/esm/react/sdk/src/core/IndexedDBManager/index.js +0 -133
- package/dist/esm/react/sdk/src/core/IndexedDBManager/index.js.map +0 -1
- package/dist/esm/react/sdk/src/core/IndexedDBManager/passkeyClientDB.js +0 -678
- package/dist/esm/react/sdk/src/core/IndexedDBManager/passkeyClientDB.js.map +0 -1
- package/dist/esm/react/sdk/src/core/IndexedDBManager/passkeyNearKeysDB.js +0 -185
- package/dist/esm/react/sdk/src/core/IndexedDBManager/passkeyNearKeysDB.js.map +0 -1
- package/dist/esm/react/sdk/src/core/NearClient.js +0 -271
- package/dist/esm/react/sdk/src/core/NearClient.js.map +0 -1
- package/dist/esm/react/sdk/src/core/NearRpcError.js.map +0 -1
- package/dist/esm/react/sdk/src/core/OfflineExport/overlay.js.map +0 -1
- package/dist/esm/react/sdk/src/core/TatchiPasskey/actions.js +0 -448
- package/dist/esm/react/sdk/src/core/TatchiPasskey/actions.js.map +0 -1
- package/dist/esm/react/sdk/src/core/TatchiPasskey/delegateAction.js +0 -75
- package/dist/esm/react/sdk/src/core/TatchiPasskey/delegateAction.js.map +0 -1
- package/dist/esm/react/sdk/src/core/TatchiPasskey/emailRecovery.js +0 -908
- package/dist/esm/react/sdk/src/core/TatchiPasskey/emailRecovery.js.map +0 -1
- package/dist/esm/react/sdk/src/core/TatchiPasskey/faucets/createAccountRelayServer.js +0 -96
- package/dist/esm/react/sdk/src/core/TatchiPasskey/faucets/createAccountRelayServer.js.map +0 -1
- package/dist/esm/react/sdk/src/core/TatchiPasskey/index.js +0 -1298
- package/dist/esm/react/sdk/src/core/TatchiPasskey/index.js.map +0 -1
- package/dist/esm/react/sdk/src/core/TatchiPasskey/linkDevice.js +0 -710
- package/dist/esm/react/sdk/src/core/TatchiPasskey/linkDevice.js.map +0 -1
- package/dist/esm/react/sdk/src/core/TatchiPasskey/login.js +0 -569
- package/dist/esm/react/sdk/src/core/TatchiPasskey/login.js.map +0 -1
- package/dist/esm/react/sdk/src/core/TatchiPasskey/recoverAccount.js +0 -428
- package/dist/esm/react/sdk/src/core/TatchiPasskey/recoverAccount.js.map +0 -1
- package/dist/esm/react/sdk/src/core/TatchiPasskey/registration.js +0 -338
- package/dist/esm/react/sdk/src/core/TatchiPasskey/registration.js.map +0 -1
- package/dist/esm/react/sdk/src/core/TatchiPasskey/relay.js +0 -111
- package/dist/esm/react/sdk/src/core/TatchiPasskey/relay.js.map +0 -1
- package/dist/esm/react/sdk/src/core/TatchiPasskey/scanDevice.js +0 -104
- package/dist/esm/react/sdk/src/core/TatchiPasskey/scanDevice.js.map +0 -1
- package/dist/esm/react/sdk/src/core/TatchiPasskey/signNEP413.js +0 -88
- package/dist/esm/react/sdk/src/core/TatchiPasskey/signNEP413.js.map +0 -1
- package/dist/esm/react/sdk/src/core/WalletIframe/client/IframeTransport.js +0 -329
- package/dist/esm/react/sdk/src/core/WalletIframe/client/IframeTransport.js.map +0 -1
- package/dist/esm/react/sdk/src/core/WalletIframe/client/on-events-progress-bus.js +0 -208
- package/dist/esm/react/sdk/src/core/WalletIframe/client/on-events-progress-bus.js.map +0 -1
- package/dist/esm/react/sdk/src/core/WalletIframe/client/overlay-controller.js.map +0 -1
- package/dist/esm/react/sdk/src/core/WalletIframe/client/overlay-styles.js.map +0 -1
- package/dist/esm/react/sdk/src/core/WalletIframe/client/router.js +0 -1061
- package/dist/esm/react/sdk/src/core/WalletIframe/client/router.js.map +0 -1
- package/dist/esm/react/sdk/src/core/WalletIframe/events.js.map +0 -1
- package/dist/esm/react/sdk/src/core/WalletIframe/host-mode.js +0 -9
- package/dist/esm/react/sdk/src/core/WalletIframe/host-mode.js.map +0 -1
- package/dist/esm/react/sdk/src/core/WalletIframe/validation.js +0 -55
- package/dist/esm/react/sdk/src/core/WalletIframe/validation.js.map +0 -1
- package/dist/esm/react/sdk/src/core/WebAuthnManager/LitComponents/Drawer/index.js.map +0 -1
- package/dist/esm/react/sdk/src/core/WebAuthnManager/LitComponents/ExportPrivateKey/iframe-host.js +0 -219
- package/dist/esm/react/sdk/src/core/WebAuthnManager/LitComponents/ExportPrivateKey/iframe-host.js.map +0 -1
- package/dist/esm/react/sdk/src/core/WebAuthnManager/LitComponents/HaloBorder/index.js.map +0 -1
- package/dist/esm/react/sdk/src/core/WebAuthnManager/LitComponents/IframeButtonWithTooltipConfirmer/iframe-geometry.js +0 -357
- package/dist/esm/react/sdk/src/core/WebAuthnManager/LitComponents/IframeButtonWithTooltipConfirmer/iframe-geometry.js.map +0 -1
- package/dist/esm/react/sdk/src/core/WebAuthnManager/LitComponents/IframeButtonWithTooltipConfirmer/iframe-host.js +0 -703
- package/dist/esm/react/sdk/src/core/WebAuthnManager/LitComponents/IframeButtonWithTooltipConfirmer/iframe-host.js.map +0 -1
- package/dist/esm/react/sdk/src/core/WebAuthnManager/LitComponents/IframeTxConfirmer/tx-confirm-content.js +0 -188
- package/dist/esm/react/sdk/src/core/WebAuthnManager/LitComponents/IframeTxConfirmer/tx-confirm-content.js.map +0 -1
- package/dist/esm/react/sdk/src/core/WebAuthnManager/LitComponents/IframeTxConfirmer/tx-confirmer-wrapper.js +0 -255
- package/dist/esm/react/sdk/src/core/WebAuthnManager/LitComponents/IframeTxConfirmer/tx-confirmer-wrapper.js.map +0 -1
- package/dist/esm/react/sdk/src/core/WebAuthnManager/LitComponents/IframeTxConfirmer/viewer-drawer.js.map +0 -1
- package/dist/esm/react/sdk/src/core/WebAuthnManager/LitComponents/IframeTxConfirmer/viewer-modal.js.map +0 -1
- package/dist/esm/react/sdk/src/core/WebAuthnManager/LitComponents/LitElementWithProps.js +0 -254
- package/dist/esm/react/sdk/src/core/WebAuthnManager/LitComponents/LitElementWithProps.js.map +0 -1
- package/dist/esm/react/sdk/src/core/WebAuthnManager/LitComponents/PasskeyHaloLoading/index.js.map +0 -1
- package/dist/esm/react/sdk/src/core/WebAuthnManager/LitComponents/TxTree/index.js +0 -500
- package/dist/esm/react/sdk/src/core/WebAuthnManager/LitComponents/TxTree/index.js.map +0 -1
- package/dist/esm/react/sdk/src/core/WebAuthnManager/LitComponents/TxTree/tx-tree-themes.js.map +0 -1
- package/dist/esm/react/sdk/src/core/WebAuthnManager/LitComponents/TxTree/tx-tree-utils.js +0 -182
- package/dist/esm/react/sdk/src/core/WebAuthnManager/LitComponents/TxTree/tx-tree-utils.js.map +0 -1
- package/dist/esm/react/sdk/src/core/WebAuthnManager/LitComponents/asset-base.js.map +0 -1
- package/dist/esm/react/sdk/src/core/WebAuthnManager/LitComponents/common/PadlockIcon.js.map +0 -1
- package/dist/esm/react/sdk/src/core/WebAuthnManager/LitComponents/common/formatters.js.map +0 -1
- package/dist/esm/react/sdk/src/core/WebAuthnManager/LitComponents/confirm-ui-types.js.map +0 -1
- package/dist/esm/react/sdk/src/core/WebAuthnManager/LitComponents/confirm-ui.js +0 -219
- package/dist/esm/react/sdk/src/core/WebAuthnManager/LitComponents/confirm-ui.js.map +0 -1
- package/dist/esm/react/sdk/src/core/WebAuthnManager/LitComponents/css/css-loader.js.map +0 -1
- package/dist/esm/react/sdk/src/core/WebAuthnManager/LitComponents/ensure-defined.js +0 -23
- package/dist/esm/react/sdk/src/core/WebAuthnManager/LitComponents/ensure-defined.js.map +0 -1
- package/dist/esm/react/sdk/src/core/WebAuthnManager/LitComponents/lit-events.js.map +0 -1
- package/dist/esm/react/sdk/src/core/WebAuthnManager/LitComponents/tags.js +0 -47
- package/dist/esm/react/sdk/src/core/WebAuthnManager/LitComponents/tags.js.map +0 -1
- package/dist/esm/react/sdk/src/core/WebAuthnManager/SignerWorkerManager/getDeviceNumber.js +0 -32
- package/dist/esm/react/sdk/src/core/WebAuthnManager/SignerWorkerManager/getDeviceNumber.js.map +0 -1
- package/dist/esm/react/sdk/src/core/WebAuthnManager/SignerWorkerManager/handlers/checkCanRegisterUser.js +0 -70
- package/dist/esm/react/sdk/src/core/WebAuthnManager/SignerWorkerManager/handlers/checkCanRegisterUser.js.map +0 -1
- package/dist/esm/react/sdk/src/core/WebAuthnManager/SignerWorkerManager/handlers/decryptPrivateKeyWithPrf.js +0 -46
- package/dist/esm/react/sdk/src/core/WebAuthnManager/SignerWorkerManager/handlers/decryptPrivateKeyWithPrf.js.map +0 -1
- package/dist/esm/react/sdk/src/core/WebAuthnManager/SignerWorkerManager/handlers/deriveNearKeypairAndEncryptFromSerialized.js +0 -70
- package/dist/esm/react/sdk/src/core/WebAuthnManager/SignerWorkerManager/handlers/deriveNearKeypairAndEncryptFromSerialized.js.map +0 -1
- package/dist/esm/react/sdk/src/core/WebAuthnManager/SignerWorkerManager/handlers/exportNearKeypairUi.js +0 -66
- package/dist/esm/react/sdk/src/core/WebAuthnManager/SignerWorkerManager/handlers/exportNearKeypairUi.js.map +0 -1
- package/dist/esm/react/sdk/src/core/WebAuthnManager/SignerWorkerManager/handlers/extractCosePublicKey.js +0 -24
- package/dist/esm/react/sdk/src/core/WebAuthnManager/SignerWorkerManager/handlers/extractCosePublicKey.js.map +0 -1
- package/dist/esm/react/sdk/src/core/WebAuthnManager/SignerWorkerManager/handlers/recoverKeypairFromPasskey.js +0 -43
- package/dist/esm/react/sdk/src/core/WebAuthnManager/SignerWorkerManager/handlers/recoverKeypairFromPasskey.js.map +0 -1
- package/dist/esm/react/sdk/src/core/WebAuthnManager/SignerWorkerManager/handlers/registerDevice2WithDerivedKey.js +0 -115
- package/dist/esm/react/sdk/src/core/WebAuthnManager/SignerWorkerManager/handlers/registerDevice2WithDerivedKey.js.map +0 -1
- package/dist/esm/react/sdk/src/core/WebAuthnManager/SignerWorkerManager/handlers/session.js +0 -14
- package/dist/esm/react/sdk/src/core/WebAuthnManager/SignerWorkerManager/handlers/session.js.map +0 -1
- package/dist/esm/react/sdk/src/core/WebAuthnManager/SignerWorkerManager/handlers/signDelegateAction.js +0 -102
- package/dist/esm/react/sdk/src/core/WebAuthnManager/SignerWorkerManager/handlers/signDelegateAction.js.map +0 -1
- package/dist/esm/react/sdk/src/core/WebAuthnManager/SignerWorkerManager/handlers/signNep413Message.js +0 -77
- package/dist/esm/react/sdk/src/core/WebAuthnManager/SignerWorkerManager/handlers/signNep413Message.js.map +0 -1
- package/dist/esm/react/sdk/src/core/WebAuthnManager/SignerWorkerManager/handlers/signTransactionWithKeyPair.js +0 -61
- package/dist/esm/react/sdk/src/core/WebAuthnManager/SignerWorkerManager/handlers/signTransactionWithKeyPair.js.map +0 -1
- package/dist/esm/react/sdk/src/core/WebAuthnManager/SignerWorkerManager/handlers/signTransactionsWithActions.js +0 -111
- package/dist/esm/react/sdk/src/core/WebAuthnManager/SignerWorkerManager/handlers/signTransactionsWithActions.js.map +0 -1
- package/dist/esm/react/sdk/src/core/WebAuthnManager/SignerWorkerManager/handlers/validation.js +0 -80
- package/dist/esm/react/sdk/src/core/WebAuthnManager/SignerWorkerManager/handlers/validation.js.map +0 -1
- package/dist/esm/react/sdk/src/core/WebAuthnManager/SignerWorkerManager/index.js +0 -451
- package/dist/esm/react/sdk/src/core/WebAuthnManager/SignerWorkerManager/index.js.map +0 -1
- package/dist/esm/react/sdk/src/core/WebAuthnManager/SignerWorkerManager/sessionHandshake.js.map +0 -1
- package/dist/esm/react/sdk/src/core/WebAuthnManager/SignerWorkerManager/sessionMessages.js +0 -81
- package/dist/esm/react/sdk/src/core/WebAuthnManager/SignerWorkerManager/sessionMessages.js.map +0 -1
- package/dist/esm/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/adapters/common.js +0 -56
- package/dist/esm/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/adapters/common.js.map +0 -1
- package/dist/esm/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/adapters/createAdapters.js.map +0 -1
- package/dist/esm/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/adapters/near.js +0 -54
- package/dist/esm/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/adapters/near.js.map +0 -1
- package/dist/esm/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/adapters/requestAdapter.js +0 -32
- package/dist/esm/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/adapters/requestAdapter.js.map +0 -1
- package/dist/esm/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/adapters/requestHelpers.js.map +0 -1
- package/dist/esm/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/adapters/session.js.map +0 -1
- package/dist/esm/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/adapters/ui.js.map +0 -1
- package/dist/esm/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/adapters/vrf.js +0 -63
- package/dist/esm/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/adapters/vrf.js.map +0 -1
- package/dist/esm/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/adapters/webauthn.js +0 -39
- package/dist/esm/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/adapters/webauthn.js.map +0 -1
- package/dist/esm/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/determineConfirmationConfig.js +0 -65
- package/dist/esm/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/determineConfirmationConfig.js.map +0 -1
- package/dist/esm/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/flows/localOnly.js +0 -89
- package/dist/esm/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/flows/localOnly.js.map +0 -1
- package/dist/esm/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/flows/registration.js +0 -135
- package/dist/esm/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/flows/registration.js.map +0 -1
- package/dist/esm/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/flows/requestRegistrationCredentialConfirmation.js +0 -51
- package/dist/esm/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/flows/requestRegistrationCredentialConfirmation.js.map +0 -1
- package/dist/esm/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/flows/transactions.js +0 -172
- package/dist/esm/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/flows/transactions.js.map +0 -1
- package/dist/esm/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/handleSecureConfirmRequest.js +0 -118
- package/dist/esm/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/handleSecureConfirmRequest.js.map +0 -1
- package/dist/esm/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/types.js.map +0 -1
- package/dist/esm/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/handlers/checkSessionStatus.js.map +0 -1
- package/dist/esm/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/handlers/checkVrfStatus.js +0 -51
- package/dist/esm/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/handlers/checkVrfStatus.js.map +0 -1
- package/dist/esm/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/handlers/clearSession.js.map +0 -1
- package/dist/esm/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/handlers/clearVrf.js.map +0 -1
- package/dist/esm/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/handlers/confirmAndDeriveDevice2RegistrationSession.js.map +0 -1
- package/dist/esm/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/handlers/confirmAndPrepareSigningSession.js +0 -155
- package/dist/esm/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/handlers/confirmAndPrepareSigningSession.js.map +0 -1
- package/dist/esm/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/handlers/createSigningSessionChannel.js +0 -29
- package/dist/esm/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/handlers/createSigningSessionChannel.js.map +0 -1
- package/dist/esm/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/handlers/deriveVrfKeypairFromPrf.js +0 -58
- package/dist/esm/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/handlers/deriveVrfKeypairFromPrf.js.map +0 -1
- package/dist/esm/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/handlers/dispenseSessionKey.js.map +0 -1
- package/dist/esm/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/handlers/generateVrfChallenge.js +0 -46
- package/dist/esm/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/handlers/generateVrfChallenge.js.map +0 -1
- package/dist/esm/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/handlers/generateVrfKeypairBootstrap.js +0 -58
- package/dist/esm/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/handlers/generateVrfKeypairBootstrap.js.map +0 -1
- package/dist/esm/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/handlers/mintSessionKeysAndSendToSigner.js.map +0 -1
- package/dist/esm/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/handlers/prepareDecryptSession.js.map +0 -1
- package/dist/esm/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/handlers/requestRegistrationCredentialConfirmation.js.map +0 -1
- package/dist/esm/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/handlers/shamir3PassDecryptVrfKeypair.js.map +0 -1
- package/dist/esm/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/handlers/shamir3PassEncryptCurrentVrfKeypair.js.map +0 -1
- package/dist/esm/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/handlers/unlockVrfKeypair.js.map +0 -1
- package/dist/esm/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/index.js +0 -374
- package/dist/esm/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/index.js.map +0 -1
- package/dist/esm/react/sdk/src/core/WebAuthnManager/VrfWorkerManager/secureConfirmBridge.js.map +0 -1
- package/dist/esm/react/sdk/src/core/WebAuthnManager/WebAuthnFallbacks/index.js +0 -12
- package/dist/esm/react/sdk/src/core/WebAuthnManager/WebAuthnFallbacks/index.js.map +0 -1
- package/dist/esm/react/sdk/src/core/WebAuthnManager/WebAuthnFallbacks/safari-fallbacks.js +0 -203
- package/dist/esm/react/sdk/src/core/WebAuthnManager/WebAuthnFallbacks/safari-fallbacks.js.map +0 -1
- package/dist/esm/react/sdk/src/core/WebAuthnManager/credentialsHelpers.js +0 -288
- package/dist/esm/react/sdk/src/core/WebAuthnManager/credentialsHelpers.js.map +0 -1
- package/dist/esm/react/sdk/src/core/WebAuthnManager/index.js +0 -889
- package/dist/esm/react/sdk/src/core/WebAuthnManager/index.js.map +0 -1
- package/dist/esm/react/sdk/src/core/WebAuthnManager/touchIdPrompt.js +0 -270
- package/dist/esm/react/sdk/src/core/WebAuthnManager/touchIdPrompt.js.map +0 -1
- package/dist/esm/react/sdk/src/core/WebAuthnManager/txDigest.js +0 -83
- package/dist/esm/react/sdk/src/core/WebAuthnManager/txDigest.js.map +0 -1
- package/dist/esm/react/sdk/src/core/WebAuthnManager/userHandle.js +0 -38
- package/dist/esm/react/sdk/src/core/WebAuthnManager/userHandle.js.map +0 -1
- package/dist/esm/react/sdk/src/core/WebAuthnManager/userPreferences.js +0 -307
- package/dist/esm/react/sdk/src/core/WebAuthnManager/userPreferences.js.map +0 -1
- package/dist/esm/react/sdk/src/core/defaultConfigs.js +0 -102
- package/dist/esm/react/sdk/src/core/defaultConfigs.js.map +0 -1
- package/dist/esm/react/sdk/src/core/nearCrypto.js +0 -48
- package/dist/esm/react/sdk/src/core/nearCrypto.js.map +0 -1
- package/dist/esm/react/sdk/src/core/nonceManager.js +0 -402
- package/dist/esm/react/sdk/src/core/nonceManager.js.map +0 -1
- package/dist/esm/react/sdk/src/core/rpcCalls.js +0 -431
- package/dist/esm/react/sdk/src/core/rpcCalls.js.map +0 -1
- package/dist/esm/react/sdk/src/core/sdkPaths/base.js.map +0 -1
- package/dist/esm/react/sdk/src/core/sdkPaths/workers.js +0 -42
- package/dist/esm/react/sdk/src/core/sdkPaths/workers.js.map +0 -1
- package/dist/esm/react/sdk/src/core/types/accountIds.js +0 -26
- package/dist/esm/react/sdk/src/core/types/accountIds.js.map +0 -1
- package/dist/esm/react/sdk/src/core/types/actions.js +0 -263
- package/dist/esm/react/sdk/src/core/types/actions.js.map +0 -1
- package/dist/esm/react/sdk/src/core/types/authenticatorOptions.js +0 -47
- package/dist/esm/react/sdk/src/core/types/authenticatorOptions.js.map +0 -1
- package/dist/esm/react/sdk/src/core/types/emailRecovery.js +0 -26
- package/dist/esm/react/sdk/src/core/types/emailRecovery.js.map +0 -1
- package/dist/esm/react/sdk/src/core/types/linkDevice.js.map +0 -1
- package/dist/esm/react/sdk/src/core/types/rpc.js +0 -19
- package/dist/esm/react/sdk/src/core/types/rpc.js.map +0 -1
- package/dist/esm/react/sdk/src/core/types/sdkSentEvents.js +0 -116
- package/dist/esm/react/sdk/src/core/types/sdkSentEvents.js.map +0 -1
- package/dist/esm/react/sdk/src/core/types/signer-worker.js +0 -51
- package/dist/esm/react/sdk/src/core/types/signer-worker.js.map +0 -1
- package/dist/esm/react/sdk/src/core/types/vrf-worker.js +0 -66
- package/dist/esm/react/sdk/src/core/types/vrf-worker.js.map +0 -1
- package/dist/esm/react/sdk/src/core/workerControlMessages.js.map +0 -1
- package/dist/esm/react/sdk/src/theme/base-styles.js.map +0 -1
- package/dist/esm/react/sdk/src/theme/palette.js.map +0 -1
- package/dist/esm/react/sdk/src/utils/base58.js +0 -17
- package/dist/esm/react/sdk/src/utils/base58.js.map +0 -1
- package/dist/esm/react/sdk/src/utils/base64.js +0 -50
- package/dist/esm/react/sdk/src/utils/base64.js.map +0 -1
- package/dist/esm/react/sdk/src/utils/encoders.js +0 -13
- package/dist/esm/react/sdk/src/utils/encoders.js.map +0 -1
- package/dist/esm/react/sdk/src/utils/errors.js +0 -140
- package/dist/esm/react/sdk/src/utils/errors.js.map +0 -1
- package/dist/esm/react/sdk/src/utils/index.js +0 -20
- package/dist/esm/react/sdk/src/utils/index.js.map +0 -1
- package/dist/esm/react/sdk/src/utils/qrScanner.js.map +0 -1
- package/dist/esm/react/sdk/src/utils/validation.js +0 -61
- package/dist/esm/react/sdk/src/utils/validation.js.map +0 -1
- package/dist/esm/sdk/HaloBorder-D7vjXHnY.js +0 -1111
- package/dist/esm/sdk/WebAuthnFallbacks-Bl4BTsNt.js +0 -615
- package/dist/esm/sdk/actions-O1FD5Bq8.js +0 -252
- package/dist/esm/sdk/asset-base-K63RlTrt.js +0 -43
- package/dist/esm/sdk/base-Qt2P7SNn.js +0 -19
- package/dist/esm/sdk/base-Qt2P7SNn.js.map +0 -1
- package/dist/esm/sdk/base64-DBPGuXh4.js +0 -48
- package/dist/esm/sdk/browser-B3uuzKL0.js +0 -2443
- package/dist/esm/sdk/button-with-tooltip.css +0 -260
- package/dist/esm/sdk/chunk-DIQ1yeMN.js +0 -38
- package/dist/esm/sdk/createAdapters-DIRR8_Z9.js +0 -526
- package/dist/esm/sdk/createAdapters-Yga6W0en.js +0 -3202
- package/dist/esm/sdk/createAdapters-Yga6W0en.js.map +0 -1
- package/dist/esm/sdk/css-loader-BHxJyE5o.js +0 -1098
- package/dist/esm/sdk/css-loader-BrMMlG4X.js +0 -1184
- package/dist/esm/sdk/css-loader-BrMMlG4X.js.map +0 -1
- package/dist/esm/sdk/defaultConfigs-CfQDV-ya.js +0 -100
- package/dist/esm/sdk/ensure-defined-CHInSx7l.js +0 -34
- package/dist/esm/sdk/errors-D9ar28Dr.js +0 -265
- package/dist/esm/sdk/getDeviceNumber-BpernPnM.js +0 -121
- package/dist/esm/sdk/getDeviceNumber-BpernPnM.js.map +0 -1
- package/dist/esm/sdk/getDeviceNumber-zsOHT_Um.js +0 -30
- package/dist/esm/sdk/iframe-button-host.css +0 -84
- package/dist/esm/sdk/iframe-host-BisiSSOa.js +0 -213
- package/dist/esm/sdk/iframe-host-BisiSSOa.js.map +0 -1
- package/dist/esm/sdk/iframe-host-BoarlHRm.js +0 -1053
- package/dist/esm/sdk/iframe-host-BoarlHRm.js.map +0 -1
- package/dist/esm/sdk/iframe-host-CefZOSX2.js +0 -1105
- package/dist/esm/sdk/iframe-host-DQCSzj7r.js +0 -215
- package/dist/esm/sdk/iframe-tx-button-bootstrap.js +0 -220
- package/dist/esm/sdk/lit-events-BKobq01K.js +0 -29
- package/dist/esm/sdk/lit-events-BKobq01K.js.map +0 -1
- package/dist/esm/sdk/localOnly-BHScJasw.js +0 -93
- package/dist/esm/sdk/localOnly-VevCI7H0.js +0 -102
- package/dist/esm/sdk/localOnly-VevCI7H0.js.map +0 -1
- package/dist/esm/sdk/overlay-ZGbucXIa.js +0 -431
- package/dist/esm/sdk/registration-bKEg9Zr2.js +0 -133
- package/dist/esm/sdk/registration-bKEg9Zr2.js.map +0 -1
- package/dist/esm/sdk/registration-lDD60Ytt.js +0 -142
- package/dist/esm/sdk/requestHelpers-Dh1hEYL9.js +0 -445
- package/dist/esm/sdk/requestHelpers-aUKhXiEl.js +0 -1393
- package/dist/esm/sdk/requestHelpers-aUKhXiEl.js.map +0 -1
- package/dist/esm/sdk/router-BWtacLJg.js +0 -1799
- package/dist/esm/sdk/rpcCalls-CYGJSCgm.js +0 -10
- package/dist/esm/sdk/rpcCalls-DZZSa-sk.js +0 -427
- package/dist/esm/sdk/sdkSentEvents-_jrJLIhw.js +0 -128
- package/dist/esm/sdk/tags-C2Wlhqjd.js +0 -47
- package/dist/esm/sdk/transactions-Cn9xTWlK.js +0 -166
- package/dist/esm/sdk/transactions-Cn9xTWlK.js.map +0 -1
- package/dist/esm/sdk/transactions-DfdwDQCn.js +0 -178
- package/dist/esm/sdk/tx-confirmer-wrapper-lHNgz9i4.js +0 -2690
- package/dist/esm/sdk/tx-tree-themes-BND0SU2h.js +0 -572
- package/dist/esm/sdk/tx-tree-themes-i3It4IYY.js +0 -573
- package/dist/esm/sdk/tx-tree-themes-i3It4IYY.js.map +0 -1
- package/dist/esm/sdk/txDigest-CxjhSCgm.js +0 -89
- package/dist/esm/sdk/validation-DhPPUba7.js +0 -24
- package/dist/esm/sdk/validation-DhPPUba7.js.map +0 -1
- package/dist/esm/sdk/validation-DtLVzHDY.js +0 -50
- package/dist/esm/sdk/w3a-button-with-tooltip.js +0 -3316
- package/dist/esm/sdk/w3a-tx-button.js +0 -8
- package/dist/esm/server/sdk/src/core/WalletIframe/validation.js +0 -14
- package/dist/esm/server/sdk/src/core/WalletIframe/validation.js.map +0 -1
- package/dist/esm/utils/encoders.js +0 -13
- package/dist/esm/utils/encoders.js.map +0 -1
- package/dist/esm/utils/index.js +0 -20
- package/dist/esm/utils/index.js.map +0 -1
- package/dist/types/src/core/TatchiPasskey/recoverAccount.d.ts +0 -112
- package/dist/types/src/core/TatchiPasskey/recoverAccount.d.ts.map +0 -1
- package/dist/types/src/core/WalletIframe/host/WalletHostElements.d.ts +0 -55
- package/dist/types/src/core/WalletIframe/host/WalletHostElements.d.ts.map +0 -1
- package/dist/types/src/core/WalletIframe/validation.d.ts +0 -24
- package/dist/types/src/core/WalletIframe/validation.d.ts.map +0 -1
- package/dist/types/src/core/WebAuthnManager/LitComponents/IframeButtonWithTooltipConfirmer/ButtonWithTooltip.d.ts +0 -160
- package/dist/types/src/core/WebAuthnManager/LitComponents/IframeButtonWithTooltipConfirmer/ButtonWithTooltip.d.ts.map +0 -1
- package/dist/types/src/core/WebAuthnManager/LitComponents/IframeButtonWithTooltipConfirmer/iframe-geometry.d.ts +0 -107
- package/dist/types/src/core/WebAuthnManager/LitComponents/IframeButtonWithTooltipConfirmer/iframe-geometry.d.ts.map +0 -1
- package/dist/types/src/core/WebAuthnManager/LitComponents/IframeButtonWithTooltipConfirmer/iframe-host.d.ts +0 -179
- package/dist/types/src/core/WebAuthnManager/LitComponents/IframeButtonWithTooltipConfirmer/iframe-host.d.ts.map +0 -1
- package/dist/types/src/core/WebAuthnManager/LitComponents/IframeButtonWithTooltipConfirmer/iframe-tx-button-bootstrap-script.d.ts +0 -7
- package/dist/types/src/core/WebAuthnManager/LitComponents/IframeButtonWithTooltipConfirmer/iframe-tx-button-bootstrap-script.d.ts.map +0 -1
- package/dist/types/src/core/WebAuthnManager/LitComponents/IframeButtonWithTooltipConfirmer/index.d.ts +0 -6
- package/dist/types/src/core/WebAuthnManager/LitComponents/IframeButtonWithTooltipConfirmer/index.d.ts.map +0 -1
- package/dist/types/src/core/WebAuthnManager/LitComponents/common/iframe-messages.d.ts +0 -112
- package/dist/types/src/core/WebAuthnManager/LitComponents/common/iframe-messages.d.ts.map +0 -1
- package/dist/types/src/core/WebAuthnManager/txDigest.d.ts +0 -146
- package/dist/types/src/core/WebAuthnManager/txDigest.d.ts.map +0 -1
- package/dist/types/src/core/types/components.d.ts +0 -2
- package/dist/types/src/core/types/components.d.ts.map +0 -1
- package/dist/types/src/react/components/SendTxButtonWithTooltip.d.ts +0 -31
- package/dist/types/src/react/components/SendTxButtonWithTooltip.d.ts.map +0 -1
- package/dist/types/src/react/components/WalletIframeTxButtonHost.d.ts +0 -30
- package/dist/types/src/react/components/WalletIframeTxButtonHost.d.ts.map +0 -1
- /package/dist/esm/react/{sdk/build-paths.js → build-paths.js} +0 -0
- /package/dist/esm/react/{sdk/src → src}/base-styles.js +0 -0
- /package/dist/esm/react/{sdk/src → src}/config.js +0 -0
- /package/dist/esm/react/{sdk/src → src}/core/NearRpcError.js +0 -0
- /package/dist/esm/react/{sdk/src → src}/core/OfflineExport/overlay.js +0 -0
- /package/dist/esm/react/{sdk/src → src}/core/WalletIframe/client/overlay-controller.js +0 -0
- /package/dist/esm/react/{sdk/src → src}/core/WalletIframe/client/overlay-styles.js +0 -0
- /package/dist/esm/react/{sdk/src → src}/core/WalletIframe/events.js +0 -0
- /package/dist/esm/react/{sdk/src → src}/core/WebAuthnManager/LitComponents/Drawer/index.js +0 -0
- /package/dist/esm/react/{sdk/src → src}/core/WebAuthnManager/LitComponents/HaloBorder/index.js +0 -0
- /package/dist/esm/react/{sdk/src → src}/core/WebAuthnManager/LitComponents/IframeTxConfirmer/viewer-drawer.js +0 -0
- /package/dist/esm/react/{sdk/src → src}/core/WebAuthnManager/LitComponents/IframeTxConfirmer/viewer-modal.js +0 -0
- /package/dist/esm/react/{sdk/src → src}/core/WebAuthnManager/LitComponents/PasskeyHaloLoading/index.js +0 -0
- /package/dist/esm/react/{sdk/src → src}/core/WebAuthnManager/LitComponents/TxTree/tx-tree-themes.js +0 -0
- /package/dist/esm/react/{sdk/src → src}/core/WebAuthnManager/LitComponents/asset-base.js +0 -0
- /package/dist/esm/react/{sdk/src → src}/core/WebAuthnManager/LitComponents/common/PadlockIcon.js +0 -0
- /package/dist/esm/react/{sdk/src → src}/core/WebAuthnManager/LitComponents/common/formatters.js +0 -0
- /package/dist/esm/react/{sdk/src → src}/core/WebAuthnManager/LitComponents/confirm-ui-types.js +0 -0
- /package/dist/esm/react/{sdk/src → src}/core/WebAuthnManager/LitComponents/css/css-loader.js +0 -0
- /package/dist/esm/react/{sdk/src → src}/core/WebAuthnManager/LitComponents/lit-events.js +0 -0
- /package/dist/esm/react/{sdk/src → src}/core/WebAuthnManager/SignerWorkerManager/sessionHandshake.js +0 -0
- /package/dist/esm/react/{sdk/src → src}/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/adapters/createAdapters.js +0 -0
- /package/dist/esm/react/{sdk/src → src}/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/adapters/requestHelpers.js +0 -0
- /package/dist/esm/react/{sdk/src → src}/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/adapters/session.js +0 -0
- /package/dist/esm/react/{sdk/src → src}/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/adapters/ui.js +0 -0
- /package/dist/esm/react/{sdk/src → src}/core/WebAuthnManager/VrfWorkerManager/confirmTxFlow/types.js +0 -0
- /package/dist/esm/react/{sdk/src → src}/core/WebAuthnManager/VrfWorkerManager/handlers/checkSessionStatus.js +0 -0
- /package/dist/esm/react/{sdk/src → src}/core/WebAuthnManager/VrfWorkerManager/handlers/clearSession.js +0 -0
- /package/dist/esm/react/{sdk/src → src}/core/WebAuthnManager/VrfWorkerManager/handlers/clearVrf.js +0 -0
- /package/dist/esm/react/{sdk/src → src}/core/WebAuthnManager/VrfWorkerManager/handlers/confirmAndDeriveDevice2RegistrationSession.js +0 -0
- /package/dist/esm/react/{sdk/src → src}/core/WebAuthnManager/VrfWorkerManager/handlers/dispenseSessionKey.js +0 -0
- /package/dist/esm/react/{sdk/src → src}/core/WebAuthnManager/VrfWorkerManager/handlers/mintSessionKeysAndSendToSigner.js +0 -0
- /package/dist/esm/react/{sdk/src → src}/core/WebAuthnManager/VrfWorkerManager/handlers/prepareDecryptSession.js +0 -0
- /package/dist/esm/react/{sdk/src → src}/core/WebAuthnManager/VrfWorkerManager/handlers/requestRegistrationCredentialConfirmation.js +0 -0
- /package/dist/esm/react/{sdk/src → src}/core/WebAuthnManager/VrfWorkerManager/handlers/shamir3PassDecryptVrfKeypair.js +0 -0
- /package/dist/esm/react/{sdk/src → src}/core/WebAuthnManager/VrfWorkerManager/handlers/shamir3PassEncryptCurrentVrfKeypair.js +0 -0
- /package/dist/esm/react/{sdk/src → src}/core/WebAuthnManager/VrfWorkerManager/handlers/unlockVrfKeypair.js +0 -0
- /package/dist/esm/react/{sdk/src → src}/core/WebAuthnManager/VrfWorkerManager/secureConfirmBridge.js +0 -0
- /package/dist/esm/react/{sdk/src → src}/core/sdkPaths/base.js +0 -0
- /package/dist/esm/react/{sdk/src → src}/core/types/linkDevice.js +0 -0
- /package/dist/esm/react/{sdk/src → src}/core/workerControlMessages.js +0 -0
- /package/dist/esm/react/{sdk/src → src}/theme/base-styles.js +0 -0
- /package/dist/esm/react/{sdk/src → src}/theme/palette.js +0 -0
- /package/dist/esm/react/{sdk/src → src}/utils/qrScanner.js +0 -0
- /package/dist/esm/sdk/{lit-events-C-jpeT5r.js → lit-events-Bb4tAEO2.js} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"emailRecovery.js","names":["EmailRecoveryPhase","EmailRecoveryPendingStore","EmailRecoveryStatus","validateNearAccountId","toAccountId","err: unknown","errorMessage","getEmailRecoveryAttempt","ensureEd25519Prefix","err: any","elapsedMs","rec: PendingEmailRecovery","e: unknown","transactionHash: string | undefined","err","txResult: FinalExecutionOutcome","DEFAULT_WAIT_STATUS","parseLinkDeviceRegisterUserResponse","EmailRecoveryErrorCode","EmailRecoveryError","txUnknown: unknown","logs: string[]","IndexedDBManager","payload: StoreUserDataPayload","getLoginSession","createRandomVRFChallenge","parseDeviceNumber"],"sources":["../../../../src/core/TatchiPasskey/emailRecovery.ts"],"sourcesContent":["import type { PasskeyManagerContext } from './index';\nimport { IndexedDBManager } from '../IndexedDBManager';\nimport { validateNearAccountId } from '../../utils/validation';\nimport { errorMessage } from '../../utils/errors';\nimport { toAccountId, type AccountId } from '../types/accountIds';\nimport {\n EmailRecoveryPhase,\n EmailRecoveryStatus,\n type EmailRecoverySSEEvent,\n type EventCallback,\n type AfterCall,\n} from '../types/sdkSentEvents';\nimport type { TatchiConfigs } from '../types/tatchi';\nimport {\n createRandomVRFChallenge,\n type EncryptedVRFKeypair,\n type ServerEncryptedVrfKeypair,\n type VRFChallenge,\n} from '../types/vrf-worker';\nimport type { FinalExecutionOutcome } from '@near-js/types';\nimport type { StoredAuthenticator, WebAuthnRegistrationCredential } from '../types';\nimport type { ConfirmationConfig } from '../types/signer-worker';\nimport { DEFAULT_WAIT_STATUS } from '../types/rpc';\nimport { parseDeviceNumber } from '../WebAuthnManager/SignerWorkerManager/getDeviceNumber';\nimport { getLoginSession } from './login';\nimport type { SignedTransaction } from '../NearClient';\nimport {\n EmailRecoveryPendingStore,\n parseLinkDeviceRegisterUserResponse,\n type PendingStore,\n} from '../EmailRecovery';\nimport { EmailRecoveryError, EmailRecoveryErrorCode } from '../types/emailRecovery';\nimport { getEmailRecoveryAttempt } from '../rpcCalls';\nimport { ensureEd25519Prefix } from '../nearCrypto';\n\nexport type PendingEmailRecoveryStatus =\n | 'awaiting-email'\n | 'awaiting-add-key'\n | 'finalizing'\n | 'complete'\n | 'error';\n\nexport type PendingEmailRecovery = {\n accountId: AccountId;\n recoveryEmail?: string;\n deviceNumber: number;\n nearPublicKey: string;\n requestId: string;\n encryptedVrfKeypair: EncryptedVRFKeypair;\n serverEncryptedVrfKeypair: ServerEncryptedVrfKeypair | null;\n vrfPublicKey: string;\n credential: WebAuthnRegistrationCredential;\n vrfChallenge?: VRFChallenge;\n createdAt: number;\n status: PendingEmailRecoveryStatus;\n};\n\ntype PollTickResult<T> = { done: false } | { done: true; value: T };\n\ntype PollUntilResult<T> =\n | { status: 'completed'; value: T; elapsedMs: number; pollCount: number }\n | { status: 'timedOut'; elapsedMs: number; pollCount: number }\n | { status: 'cancelled'; elapsedMs: number; pollCount: number };\n\ntype VerificationOutcome =\n | { outcome: 'verified' }\n | { outcome: 'failed'; errorMessage: string };\n\ntype AutoLoginResult =\n | { success: true; method: 'shamir' | 'touchid' }\n | { success: false; reason: string };\n\ntype StoreUserDataPayload = Parameters<PasskeyManagerContext['webAuthnManager']['storeUserData']>[0];\n\ntype AccountViewLike = {\n amount: bigint | string;\n locked: bigint | string;\n storage_usage: number | bigint;\n};\n\ntype CollectedRecoveryCredential = {\n credential: WebAuthnRegistrationCredential;\n vrfChallenge?: VRFChallenge;\n};\n\ntype DerivedRecoveryKeys = {\n encryptedVrfKeypair: EncryptedVRFKeypair;\n serverEncryptedVrfKeypair: ServerEncryptedVrfKeypair | null;\n vrfPublicKey: string;\n nearPublicKey: string;\n};\n\nexport interface EmailRecoveryFlowOptions {\n onEvent?: EventCallback<EmailRecoverySSEEvent>;\n onError?: (error: Error) => void;\n afterCall?: AfterCall<void>;\n pendingStore?: PendingStore;\n confirmerText?: { title?: string; body?: string };\n confirmationConfig?: Partial<ConfirmationConfig>;\n}\n\nfunction getEmailRecoveryConfig(configs: TatchiConfigs): {\n minBalanceYocto: string;\n pollingIntervalMs: number;\n maxPollingDurationMs: number;\n pendingTtlMs: number;\n mailtoAddress: string;\n} {\n const relayerEmailCfg = configs.relayer.emailRecovery;\n const minBalanceYocto = String(relayerEmailCfg.minBalanceYocto);\n const pollingIntervalMs = Number(relayerEmailCfg.pollingIntervalMs);\n const maxPollingDurationMs = Number(relayerEmailCfg.maxPollingDurationMs);\n const pendingTtlMs = Number(relayerEmailCfg.pendingTtlMs);\n const mailtoAddress = String(relayerEmailCfg.mailtoAddress);\n return {\n minBalanceYocto,\n pollingIntervalMs,\n maxPollingDurationMs,\n pendingTtlMs,\n mailtoAddress,\n };\n}\n\nexport function generateEmailRecoveryRequestId(): string {\n // 6-character A–Z0–9 identifier, suitable for short-lived correlation.\n const alphabet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';\n const length = 6;\n const bytes = new Uint8Array(length);\n (globalThis.crypto || window.crypto).getRandomValues(bytes);\n let out = '';\n for (let i = 0; i < length; i++) {\n out += alphabet[bytes[i] % alphabet.length];\n }\n return out;\n}\n\nexport class EmailRecoveryFlow {\n private context: PasskeyManagerContext;\n private options?: EmailRecoveryFlowOptions;\n private pendingStore: PendingStore;\n private pending: PendingEmailRecovery | null = null;\n private phase: EmailRecoveryPhase = EmailRecoveryPhase.STEP_1_PREPARATION;\n private pollingTimer: ReturnType<typeof setTimeout> | undefined;\n private pollIntervalResolver?: () => void;\n private pollingStartedAt: number | null = null;\n private cancelled = false;\n private error?: Error;\n\n constructor(context: PasskeyManagerContext, options?: EmailRecoveryFlowOptions) {\n this.context = context;\n this.options = options;\n this.pendingStore = options?.pendingStore ?? new EmailRecoveryPendingStore({\n getPendingTtlMs: () => this.getConfig().pendingTtlMs,\n });\n }\n\n setOptions(options?: EmailRecoveryFlowOptions) {\n if (!options) return;\n this.options = { ...(this.options || {}), ...options };\n if (options.pendingStore) {\n this.pendingStore = options.pendingStore;\n }\n }\n private emit(event: EmailRecoverySSEEvent) {\n this.options?.onEvent?.(event);\n }\n\n private emitError(step: number, messageOrError: string | Error): Error {\n const err = typeof messageOrError === 'string' ? new Error(messageOrError) : messageOrError;\n const message = err.message || (typeof messageOrError === 'string' ? messageOrError : 'Unknown error');\n this.phase = EmailRecoveryPhase.ERROR;\n this.error = err;\n this.emit({\n step,\n phase: EmailRecoveryPhase.ERROR,\n status: EmailRecoveryStatus.ERROR,\n message,\n error: message,\n } as EmailRecoverySSEEvent & { error: string });\n this.options?.onError?.(err);\n return err;\n }\n\n private async fail(step: number, message: string): Promise<never> {\n const err = this.emitError(step, message);\n await this.options?.afterCall?.(false);\n throw err;\n }\n\n private async assertValidAccountIdOrFail(step: number, accountId: string): Promise<AccountId> {\n const validation = validateNearAccountId(accountId as AccountId);\n if (!validation.valid) {\n await this.fail(step, `Invalid NEAR account ID: ${validation.error}`);\n }\n return toAccountId(accountId as string);\n }\n\n private async resolvePendingOrFail(\n step: number,\n args: { accountId: AccountId; nearPublicKey?: string },\n options?: {\n allowErrorStatus?: boolean;\n missingMessage?: string;\n errorStatusMessage?: string;\n }\n ): Promise<PendingEmailRecovery> {\n const {\n allowErrorStatus = true,\n missingMessage = 'No pending email recovery record found for this account',\n errorStatusMessage = 'Pending email recovery is in an error state; please restart the flow',\n } = options ?? {};\n\n let rec = this.pending;\n if (!rec || rec.accountId !== args.accountId || (args.nearPublicKey && rec.nearPublicKey !== args.nearPublicKey)) {\n rec = await this.loadPending(args.accountId, args.nearPublicKey);\n this.pending = rec;\n }\n\n if (!rec) {\n await this.fail(step, missingMessage);\n }\n\n const resolved = rec as PendingEmailRecovery;\n if (!allowErrorStatus && resolved.status === 'error') {\n await this.fail(step, errorStatusMessage);\n }\n\n return resolved;\n }\n\n private getConfig() {\n return getEmailRecoveryConfig(this.context.configs);\n }\n\n private toBigInt(value: bigint | number | string | null | undefined): bigint {\n if (typeof value === 'bigint') return value;\n if (typeof value === 'number') return BigInt(value);\n if (typeof value === 'string' && value.length > 0) return BigInt(value);\n return BigInt(0);\n }\n\n private computeAvailableBalance(accountView: AccountViewLike): bigint {\n const STORAGE_PRICE_PER_BYTE = BigInt('10000000000000000000'); // 1e19 yocto NEAR per byte\n const amount = this.toBigInt(accountView.amount);\n const locked = this.toBigInt(accountView.locked);\n const storageUsage = this.toBigInt(accountView.storage_usage);\n const storageCost = storageUsage * STORAGE_PRICE_PER_BYTE;\n const rawAvailable = amount - locked - storageCost;\n return rawAvailable > 0 ? rawAvailable : BigInt(0);\n }\n\n private async assertSufficientBalance(nearAccountId: AccountId): Promise<void> {\n const { minBalanceYocto } = this.getConfig();\n\n try {\n const accountView = await this.context.nearClient.viewAccount(nearAccountId);\n const available = this.computeAvailableBalance(accountView);\n if (available < BigInt(minBalanceYocto)) {\n await this.fail(\n 1,\n `This account does not have enough NEAR to finalize recovery. Available: ${available.toString()} yocto; required: ${String(minBalanceYocto)}. Please top up and try again.`\n );\n }\n } catch (err: unknown) {\n await this.fail(1, errorMessage(err) || 'Failed to fetch account balance for recovery');\n }\n }\n\n private getCanonicalRecoveryEmail(recoveryEmail?: string): string | undefined {\n const canonicalEmail = String(recoveryEmail || '').trim().toLowerCase();\n return canonicalEmail || undefined;\n }\n\n private async getNextDeviceNumberFromContract(nearAccountId: AccountId): Promise<number> {\n try {\n const { syncAuthenticatorsContractCall } = await import('../rpcCalls');\n const authenticators = await syncAuthenticatorsContractCall(\n this.context.nearClient,\n this.context.configs.contractId,\n nearAccountId\n );\n const numbers = authenticators\n .map(({ authenticator }) => authenticator.deviceNumber)\n .filter((n): n is number => typeof n === 'number' && Number.isFinite(n));\n const max = numbers.length > 0 ? Math.max(...numbers) : 0;\n return max + 1;\n } catch {\n return 1;\n }\n }\n\n private async collectRecoveryCredentialOrFail(\n nearAccountId: AccountId,\n deviceNumber: number\n ): Promise<CollectedRecoveryCredential> {\n const confirmerText = {\n title: this.options?.confirmerText?.title ?? 'Register New Recovery Account',\n body: this.options?.confirmerText?.body ?? 'Create a recovery account and send an encrypted email to recover your account.',\n };\n const confirm = await this.context.webAuthnManager.requestRegistrationCredentialConfirmation({\n nearAccountId,\n deviceNumber,\n confirmerText,\n confirmationConfigOverride: this.options?.confirmationConfig,\n });\n\n if (!confirm.confirmed || !confirm.credential) {\n await this.fail(2, 'User cancelled email recovery TouchID confirmation');\n }\n\n return {\n credential: confirm.credential,\n vrfChallenge: confirm.vrfChallenge || undefined,\n };\n }\n\n private async deriveRecoveryKeysOrFail(\n nearAccountId: AccountId,\n deviceNumber: number,\n credential: WebAuthnRegistrationCredential\n ): Promise<DerivedRecoveryKeys> {\n const vrfDerivationResult = await this.context.webAuthnManager.deriveVrfKeypair({\n credential,\n nearAccountId,\n });\n\n if (!vrfDerivationResult.success || !vrfDerivationResult.encryptedVrfKeypair) {\n await this.fail(2, 'Failed to derive VRF keypair from PRF for email recovery');\n }\n\n const nearKeyResult = await this.context.webAuthnManager.deriveNearKeypairAndEncryptFromSerialized({\n nearAccountId,\n credential,\n options: { deviceNumber },\n });\n\n if (!nearKeyResult.success || !nearKeyResult.publicKey) {\n await this.fail(2, 'Failed to derive NEAR keypair for email recovery');\n }\n\n return {\n encryptedVrfKeypair: vrfDerivationResult.encryptedVrfKeypair,\n serverEncryptedVrfKeypair: vrfDerivationResult.serverEncryptedVrfKeypair || null,\n vrfPublicKey: vrfDerivationResult.vrfPublicKey,\n nearPublicKey: nearKeyResult.publicKey,\n };\n }\n\n private emitAwaitEmail(rec: PendingEmailRecovery, mailtoUrl: string): void {\n this.phase = EmailRecoveryPhase.STEP_3_AWAIT_EMAIL;\n this.emit({\n step: 3,\n phase: EmailRecoveryPhase.STEP_3_AWAIT_EMAIL,\n status: EmailRecoveryStatus.PROGRESS,\n message: 'New device key created; please send the recovery email from your registered address.',\n data: {\n accountId: rec.accountId,\n ...(rec.recoveryEmail ? { recoveryEmail: rec.recoveryEmail } : {}),\n nearPublicKey: rec.nearPublicKey,\n requestId: rec.requestId,\n mailtoUrl,\n },\n } as EmailRecoverySSEEvent & { data: Record<string, unknown> });\n }\n\n private emitAutoLoginEvent(\n status: EmailRecoveryStatus,\n message: string,\n data: Record<string, unknown>\n ): void {\n this.emit({\n step: 5,\n phase: EmailRecoveryPhase.STEP_5_FINALIZING_REGISTRATION,\n status,\n message,\n data,\n } as EmailRecoverySSEEvent & { data: Record<string, unknown> });\n }\n\n private async checkViaEmailRecovererAttempt(\n rec: PendingEmailRecovery\n ): Promise<{ completed: boolean; success: boolean; missing?: boolean; errorMessage?: string; } | null> {\n try {\n const attempt = await getEmailRecoveryAttempt(\n this.context.nearClient,\n rec.accountId,\n rec.requestId\n );\n\n if (!attempt) {\n return { completed: false, success: false, missing: true };\n }\n\n // Optional safety checks: ensure the bound request/key match expectations when available.\n if (attempt.request_id && attempt.request_id !== rec.requestId) {\n return {\n completed: true,\n success: false,\n errorMessage: 'Email recovery attempt request_id does not match requested requestId.',\n };\n }\n\n if (attempt.new_public_key && attempt.new_public_key !== rec.nearPublicKey) {\n const expected = ensureEd25519Prefix(rec.nearPublicKey);\n const actual = ensureEd25519Prefix(attempt.new_public_key);\n\n // The relayer/prover often forwards only the base58 part while the SDK\n // persists `ed25519:<base58>`. Compare normalized forms to avoid false\n // mismatches from prefix formatting differences.\n if (actual === expected) {\n // no-op; treat as matching\n } else {\n return {\n completed: true,\n success: false,\n errorMessage:\n `Email recovery new_public_key mismatch for request ${rec.requestId}. ` +\n `Expected ${expected}; got ${actual}. ` +\n 'This usually means the recovery email you sent was generated for a different device/attempt.',\n };\n }\n }\n\n const normalized = attempt.status.toLowerCase();\n\n if (normalized === 'complete' || normalized === 'completed') {\n return {\n completed: true,\n success: true,\n };\n }\n\n if (normalized.includes('failed')) {\n return {\n completed: true,\n success: false,\n errorMessage: attempt.error || `Email recovery failed (${attempt.status || 'unknown status'})`,\n };\n }\n\n return {\n completed: false,\n success: false,\n };\n } catch (err) {\n // Treat view errors as retryable; keep polling the view method.\n // eslint-disable-next-line no-console\n console.warn('[EmailRecoveryFlow] get_recovery_attempt view failed; will retry', err);\n return null;\n }\n }\n\n private async isRecoveryAccessKeyPresent(rec: PendingEmailRecovery): Promise<boolean | null> {\n try {\n await this.context.nearClient.viewAccessKey(rec.accountId, rec.nearPublicKey);\n return true;\n } catch (err: any) {\n const kind = typeof err?.kind === 'string' ? String(err.kind) : '';\n const short = typeof err?.short === 'string' ? String(err.short) : '';\n const msg = typeof err?.message === 'string' ? String(err.message) : '';\n\n if (\n /AccessKeyDoesNotExist/i.test(kind) ||\n /AccessKeyDoesNotExist/i.test(short) ||\n /access key does not exist/i.test(msg) ||\n /access key .*does not exist/i.test(msg)\n ) {\n return false;\n }\n\n // Unexpected view error: retryable; treat as unknown to avoid failing the flow.\n // eslint-disable-next-line no-console\n console.warn('[EmailRecoveryFlow] view_access_key failed while checking recovery key; will retry', err);\n return null;\n }\n }\n\n private buildPollingEventData(\n rec: PendingEmailRecovery,\n details: { transactionHash?: string; elapsedMs: number; pollCount: number }\n ): Record<string, unknown> {\n return {\n accountId: rec.accountId,\n requestId: rec.requestId,\n nearPublicKey: rec.nearPublicKey,\n transactionHash: details.transactionHash,\n elapsedMs: details.elapsedMs,\n pollCount: details.pollCount,\n };\n }\n\n private async sleepForPollInterval(ms: number): Promise<void> {\n await new Promise<void>(resolve => {\n this.pollIntervalResolver = resolve;\n this.pollingTimer = setTimeout(() => {\n this.pollIntervalResolver = undefined;\n this.pollingTimer = undefined;\n resolve();\n }, ms);\n }).finally(() => {\n this.pollIntervalResolver = undefined;\n });\n }\n\n private async pollUntil<T>(args: {\n intervalMs: number;\n timeoutMs: number;\n isCancelled: () => boolean;\n tick: (ctx: { elapsedMs: number; pollCount: number }) => Promise<PollTickResult<T>>;\n sleep?: (ms: number) => Promise<void>;\n now?: () => number;\n }): Promise<PollUntilResult<T>> {\n const now = args.now ?? Date.now;\n const sleep = args.sleep ?? this.sleepForPollInterval.bind(this);\n const startedAt = now();\n let pollCount = 0;\n\n while (!args.isCancelled()) {\n pollCount += 1;\n const elapsedMs = now() - startedAt;\n if (elapsedMs > args.timeoutMs) {\n return { status: 'timedOut', elapsedMs, pollCount };\n }\n\n const result = await args.tick({ elapsedMs, pollCount });\n if (result.done) {\n return { status: 'completed', value: result.value, elapsedMs, pollCount };\n }\n\n if (args.isCancelled()) {\n return { status: 'cancelled', elapsedMs, pollCount };\n }\n\n await sleep(args.intervalMs);\n }\n\n const elapsedMs = now() - startedAt;\n return { status: 'cancelled', elapsedMs, pollCount };\n }\n\n private async loadPending(\n accountId: AccountId,\n nearPublicKey?: string\n ): Promise<PendingEmailRecovery | null> {\n return this.pendingStore.get(accountId, nearPublicKey);\n }\n\n private async savePending(rec: PendingEmailRecovery): Promise<void> {\n await this.pendingStore.set(rec);\n this.pending = rec;\n }\n\n private async clearPending(accountId: AccountId, nearPublicKey?: string): Promise<void> {\n await this.pendingStore.clear(accountId, nearPublicKey);\n\n if (\n this.pending\n && this.pending.accountId === accountId\n && (!nearPublicKey || this.pending.nearPublicKey === nearPublicKey)\n ) {\n this.pending = null;\n }\n }\n\n getState() {\n return {\n phase: this.phase,\n pending: this.pending,\n error: this.error,\n };\n }\n\n async buildMailtoUrl(args: { accountId: string; nearPublicKey?: string }): Promise<string> {\n const { accountId, nearPublicKey } = args;\n this.cancelled = false;\n this.error = undefined;\n\n const nearAccountId = await this.assertValidAccountIdOrFail(3, accountId);\n const rec = await this.resolvePendingOrFail(\n 3,\n { accountId: nearAccountId, nearPublicKey },\n { allowErrorStatus: false }\n );\n\n if (rec.status === 'finalizing' || rec.status === 'complete') {\n await this.fail(3, 'Recovery email has already been processed on-chain for this request');\n }\n\n const mailtoUrl =\n rec.status === 'awaiting-email'\n ? await this.buildMailtoUrlAndUpdateStatus(rec)\n : this.buildMailtoUrlInternal(rec);\n this.emitAwaitEmail(rec, mailtoUrl);\n await this.options?.afterCall?.(true, undefined);\n return mailtoUrl;\n }\n\n async start(args: { accountId: string; recoveryEmail?: string }): Promise<{ mailtoUrl: string; nearPublicKey: string }> {\n const { accountId, recoveryEmail } = args;\n this.cancelled = false;\n this.error = undefined;\n this.phase = EmailRecoveryPhase.STEP_1_PREPARATION;\n\n this.emit({\n step: 1,\n phase: EmailRecoveryPhase.STEP_1_PREPARATION,\n status: EmailRecoveryStatus.PROGRESS,\n message: 'Preparing email recovery...',\n });\n\n const nearAccountId = await this.assertValidAccountIdOrFail(1, accountId);\n await this.assertSufficientBalance(nearAccountId);\n const canonicalEmail = this.getCanonicalRecoveryEmail(recoveryEmail);\n\n // Determine deviceNumber from on-chain authenticators\n const deviceNumber = await this.getNextDeviceNumberFromContract(nearAccountId);\n\n this.phase = EmailRecoveryPhase.STEP_2_TOUCH_ID_REGISTRATION;\n this.emit({\n step: 2,\n phase: EmailRecoveryPhase.STEP_2_TOUCH_ID_REGISTRATION,\n status: EmailRecoveryStatus.PROGRESS,\n message: 'Collecting passkey for email recovery...',\n });\n\n try {\n const confirm = await this.collectRecoveryCredentialOrFail(nearAccountId, deviceNumber);\n const derivedKeys = await this.deriveRecoveryKeysOrFail(nearAccountId, deviceNumber, confirm.credential);\n\n const rec: PendingEmailRecovery = {\n accountId: nearAccountId,\n recoveryEmail: canonicalEmail,\n deviceNumber,\n nearPublicKey: derivedKeys.nearPublicKey,\n requestId: generateEmailRecoveryRequestId(),\n encryptedVrfKeypair: derivedKeys.encryptedVrfKeypair,\n serverEncryptedVrfKeypair: derivedKeys.serverEncryptedVrfKeypair,\n vrfPublicKey: derivedKeys.vrfPublicKey,\n credential: confirm.credential,\n vrfChallenge: confirm.vrfChallenge || undefined,\n createdAt: Date.now(),\n status: 'awaiting-email',\n };\n\n const mailtoUrl = await this.buildMailtoUrlAndUpdateStatus(rec);\n\n this.emitAwaitEmail(rec, mailtoUrl);\n\n await this.options?.afterCall?.(true, undefined);\n\n return { mailtoUrl, nearPublicKey: rec.nearPublicKey };\n } catch (e: unknown) {\n const err = this.emitError(2, errorMessage(e) || 'Email recovery TouchID/derivation failed');\n await this.options?.afterCall?.(false);\n throw err;\n }\n }\n\n private buildMailtoUrlInternal(rec: PendingEmailRecovery): string {\n const { mailtoAddress } = this.getConfig();\n const to = encodeURIComponent(mailtoAddress);\n const subject = encodeURIComponent(`recover-${rec.requestId} ${rec.accountId} ${rec.nearPublicKey}`);\n const body = encodeURIComponent(`Recovering account ${rec.accountId} with a new passkey.`);\n return `mailto:${to}?subject=${subject}&body=${body}`;\n }\n\n private async buildMailtoUrlAndUpdateStatus(rec: PendingEmailRecovery): Promise<string> {\n rec.status = 'awaiting-add-key';\n await this.savePending(rec);\n return this.buildMailtoUrlInternal(rec);\n }\n\n async startPolling(args: { accountId: string; nearPublicKey?: string }): Promise<void> {\n const { accountId, nearPublicKey } = args;\n this.cancelled = false;\n this.error = undefined;\n\n const nearAccountId = await this.assertValidAccountIdOrFail(4, accountId);\n const rec = await this.resolvePendingOrFail(\n 4,\n { accountId: nearAccountId, nearPublicKey },\n { allowErrorStatus: false }\n );\n if (rec.status === 'complete' || rec.status === 'finalizing') {\n await this.options?.afterCall?.(true, undefined);\n return;\n }\n if (rec.status === 'awaiting-email') {\n await this.buildMailtoUrlAndUpdateStatus(rec);\n }\n\n await this.pollUntilAddKey(rec);\n await this.options?.afterCall?.(true, undefined);\n }\n\n stopPolling(): void {\n this.cancelled = true;\n if (this.pollingTimer) {\n clearTimeout(this.pollingTimer);\n this.pollingTimer = undefined;\n }\n if (this.pollIntervalResolver) {\n this.pollIntervalResolver();\n this.pollIntervalResolver = undefined;\n }\n }\n\n /**\n * Best-effort cancellation and local state reset so callers can retry.\n * This does not remove any passkey created in the browser/OS (WebAuthn has no delete API),\n * but it will stop polling and clear the pending IndexedDB record for the given key.\n */\n async cancelAndReset(args?: { accountId?: string; nearPublicKey?: string }): Promise<void> {\n this.stopPolling();\n\n const normalizedAccountId = (args?.accountId || this.pending?.accountId || '').toString().trim();\n const nearPublicKey = (args?.nearPublicKey || this.pending?.nearPublicKey || '').toString().trim();\n\n if (normalizedAccountId) {\n try {\n await this.clearPending(toAccountId(normalizedAccountId), nearPublicKey);\n } catch {\n // best-effort\n }\n }\n\n this.pending = null;\n this.error = undefined;\n this.phase = EmailRecoveryPhase.STEP_1_PREPARATION;\n }\n\n async finalize(args: { accountId: string; nearPublicKey?: string }): Promise<void> {\n const { accountId, nearPublicKey } = args;\n this.cancelled = false;\n this.error = undefined;\n\n const nearAccountId = await this.assertValidAccountIdOrFail(4, accountId);\n const rec = await this.resolvePendingOrFail(\n 4,\n { accountId: nearAccountId, nearPublicKey },\n { allowErrorStatus: true }\n );\n\n this.emit({\n step: 0,\n phase: EmailRecoveryPhase.RESUMED_FROM_PENDING,\n status: EmailRecoveryStatus.PROGRESS,\n message: 'Resuming email recovery from pending state...',\n data: {\n accountId: rec.accountId,\n nearPublicKey: rec.nearPublicKey,\n status: rec.status,\n },\n } as EmailRecoverySSEEvent & { data: Record<string, unknown> });\n\n if (rec.status === 'complete') {\n this.phase = EmailRecoveryPhase.STEP_6_COMPLETE;\n this.emit({\n step: 6,\n phase: EmailRecoveryPhase.STEP_6_COMPLETE,\n status: EmailRecoveryStatus.SUCCESS,\n message: 'Email recovery already completed for this key.',\n });\n await this.options?.afterCall?.(true, undefined);\n return;\n }\n\n // Ensure verification has completed successfully before finalizing registration.\n await this.pollUntilAddKey(rec);\n await this.finalizeRegistration(rec);\n await this.options?.afterCall?.(true, undefined);\n }\n\n private async pollUntilAddKey(rec: PendingEmailRecovery): Promise<void> {\n const { pollingIntervalMs, maxPollingDurationMs } = this.getConfig();\n this.phase = EmailRecoveryPhase.STEP_4_POLLING_VERIFICATION_RESULT;\n this.pollingStartedAt = Date.now();\n let sawAttempt = false;\n\n const pollResult = await this.pollUntil<VerificationOutcome>({\n intervalMs: pollingIntervalMs,\n timeoutMs: maxPollingDurationMs,\n isCancelled: () => this.cancelled,\n tick: async ({ elapsedMs, pollCount }) => {\n const verification = await this.checkViaEmailRecovererAttempt(rec);\n if (verification && !verification.missing) {\n sawAttempt = true;\n }\n\n let completed = verification?.completed === true;\n let success = verification?.success === true;\n let errorMessage = verification?.errorMessage;\n let transactionHash: string | undefined;\n\n if (verification?.missing) {\n const hasKey = await this.isRecoveryAccessKeyPresent(rec);\n if (hasKey === true) {\n completed = true;\n success = true;\n } else if (hasKey === false && sawAttempt) {\n completed = true;\n success = false;\n errorMessage =\n 'Email recovery attempt was cleared on-chain before completion. Please resend the recovery email or restart the flow.';\n } else if (hasKey === null) {\n // Retry on unexpected view errors while checking access key presence.\n return { done: false };\n }\n }\n\n this.emit({\n step: 4,\n phase: EmailRecoveryPhase.STEP_4_POLLING_VERIFICATION_RESULT,\n status: EmailRecoveryStatus.PROGRESS,\n message: completed && success\n ? `Email recovery completed for request ${rec.requestId}; finalizing registration`\n : `Waiting for email recovery for request ${rec.requestId}`,\n data: this.buildPollingEventData(rec, {\n transactionHash,\n elapsedMs,\n pollCount,\n }),\n } as EmailRecoverySSEEvent & { data: Record<string, unknown> });\n\n if (!completed) {\n return { done: false };\n }\n\n if (!success) {\n return {\n done: true,\n value: {\n outcome: 'failed',\n errorMessage: errorMessage || 'Email recovery failed',\n },\n };\n }\n\n return { done: true, value: { outcome: 'verified' } };\n },\n });\n\n if (pollResult.status === 'completed') {\n if (pollResult.value.outcome === 'failed') {\n const err = this.emitError(4, pollResult.value.errorMessage);\n rec.status = 'error';\n await this.savePending(rec);\n await this.options?.afterCall?.(false);\n throw err;\n }\n\n rec.status = 'finalizing';\n await this.savePending(rec);\n return;\n }\n\n if (pollResult.status === 'timedOut') {\n const err = this.emitError(4, 'Timed out waiting for recovery email to be processed on-chain');\n rec.status = 'error';\n await this.savePending(rec);\n await this.options?.afterCall?.(false);\n throw err;\n }\n\n const err = this.emitError(4, 'Email recovery polling was cancelled');\n await this.options?.afterCall?.(false);\n throw err;\n }\n\n private initializeNonceManager(\n rec: PendingEmailRecovery\n ): {\n nonceManager: ReturnType<PasskeyManagerContext['webAuthnManager']['getNonceManager']>;\n accountId: AccountId;\n } {\n const nonceManager = this.context.webAuthnManager.getNonceManager();\n const accountId = toAccountId(rec.accountId);\n nonceManager.initializeUser(accountId, rec.nearPublicKey);\n return { nonceManager, accountId };\n }\n\n /*\n * Signs a `link_device_register_user` contract call\n */\n private async signNewDevice2RegistrationTx(rec: PendingEmailRecovery, accountId: AccountId): Promise<SignedTransaction> {\n const vrfChallenge = rec.vrfChallenge;\n if (!vrfChallenge) {\n return this.fail(5, 'Missing VRF challenge for email recovery registration');\n }\n\n const registrationResult = await this.context.webAuthnManager.signDevice2RegistrationWithStoredKey({\n nearAccountId: accountId,\n credential: rec.credential,\n vrfChallenge,\n deterministicVrfPublicKey: rec.vrfPublicKey,\n deviceNumber: rec.deviceNumber,\n });\n\n if (!registrationResult.success || !registrationResult.signedTransaction) {\n await this.fail(5, registrationResult.error || 'Failed to sign email recovery registration transaction');\n }\n\n return registrationResult.signedTransaction;\n }\n\n private async broadcastRegistrationTxAndWaitFinal(\n rec: PendingEmailRecovery,\n signedTx: SignedTransaction\n ): Promise<string | undefined> {\n let txResult: FinalExecutionOutcome;\n try {\n txResult = await this.context.nearClient.sendTransaction(\n signedTx,\n DEFAULT_WAIT_STATUS.linkDeviceRegistration\n );\n } catch (err: unknown) {\n const msg = errorMessage(err) || 'Failed to broadcast email recovery registration transaction (insufficient funds or RPC error)';\n throw new Error(msg);\n }\n\n const txHash = this.getTxHash(txResult);\n\n // Contract can return `{ verified: false, registration_info: null }` without failing the tx.\n // When that happens, the authenticator was NOT registered on-chain, so we must not proceed\n // with local persistence + auto-login.\n const linkDeviceResult = parseLinkDeviceRegisterUserResponse(txResult);\n if (linkDeviceResult?.verified === false) {\n const logs = this.extractNearExecutionLogs(txResult);\n const isStaleChallenge = logs.some((log) => /StaleChallenge|freshness validation failed/i.test(log));\n const txHint = txHash ? ` (tx: ${txHash})` : '';\n const code = isStaleChallenge\n ? EmailRecoveryErrorCode.VRF_CHALLENGE_EXPIRED\n : EmailRecoveryErrorCode.REGISTRATION_NOT_VERIFIED;\n const message = isStaleChallenge\n ? `Timed out finalizing registration (VRF challenge expired). Please restart email recovery and try again${txHint}.`\n : `Registration did not verify on-chain. Please try again${txHint}.`;\n throw new EmailRecoveryError(message, code, {\n accountId: rec.accountId,\n nearPublicKey: rec.nearPublicKey,\n transactionHash: txHash,\n logs,\n result: linkDeviceResult,\n });\n }\n\n if (txHash) {\n this.emit({\n step: 5,\n phase: EmailRecoveryPhase.STEP_5_FINALIZING_REGISTRATION,\n status: EmailRecoveryStatus.PROGRESS,\n message: 'Registration transaction confirmed',\n data: {\n accountId: rec.accountId,\n nearPublicKey: rec.nearPublicKey,\n transactionHash: txHash,\n },\n } as EmailRecoverySSEEvent & { data: Record<string, unknown> });\n }\n\n return txHash;\n }\n\n private getTxHash(outcome: FinalExecutionOutcome): string | undefined {\n const txUnknown: unknown = outcome.transaction;\n if (txUnknown && typeof txUnknown === 'object') {\n const hash = (txUnknown as Record<string, unknown>).hash;\n if (typeof hash === 'string' && hash.length > 0) return hash;\n }\n\n const fallback = (outcome as unknown as Record<string, unknown>).transaction_hash;\n return typeof fallback === 'string' && fallback.length > 0 ? fallback : undefined;\n }\n\n private extractNearExecutionLogs(outcome: FinalExecutionOutcome): string[] {\n const logs: string[] = [];\n for (const entry of outcome.transaction_outcome.outcome.logs) {\n logs.push(String(entry));\n }\n for (const receipt of outcome.receipts_outcome) {\n for (const entry of receipt.outcome.logs) {\n logs.push(String(entry));\n }\n }\n return logs;\n }\n\n private mapAuthenticatorsFromContract(\n authenticators: Array<{ credentialId: string; authenticator: StoredAuthenticator }>\n ) {\n return authenticators.map(({ authenticator }) => ({\n credentialId: authenticator.credentialId,\n credentialPublicKey: authenticator.credentialPublicKey,\n transports: authenticator.transports,\n name: authenticator.name,\n registered: authenticator.registered.toISOString(),\n vrfPublicKey: authenticator.vrfPublicKeys?.[0] || '',\n deviceNumber: authenticator.deviceNumber,\n }));\n }\n\n private async syncAuthenticatorsBestEffort(accountId: AccountId): Promise<boolean> {\n try {\n const { syncAuthenticatorsContractCall } = await import('../rpcCalls');\n const authenticators = await syncAuthenticatorsContractCall(\n this.context.nearClient,\n this.context.configs.contractId,\n accountId\n );\n\n const mappedAuthenticators = this.mapAuthenticatorsFromContract(authenticators);\n await IndexedDBManager.clientDB.syncAuthenticatorsFromContract(accountId, mappedAuthenticators);\n return true;\n } catch (err) {\n console.warn('[EmailRecoveryFlow] Failed to sync authenticators after recovery:', err);\n return false;\n }\n }\n\n private async setLastUserBestEffort(accountId: AccountId, deviceNumber: number): Promise<boolean> {\n try {\n await IndexedDBManager.clientDB.setLastUser(accountId, deviceNumber);\n return true;\n } catch (err) {\n console.warn('[EmailRecoveryFlow] Failed to set last user after recovery:', err);\n return false;\n }\n }\n\n private async updateNonceBestEffort(\n nonceManager: ReturnType<PasskeyManagerContext['webAuthnManager']['getNonceManager']>,\n signedTx: SignedTransaction\n ): Promise<void> {\n try {\n const txNonce = signedTx.transaction.nonce;\n if (txNonce != null) {\n await nonceManager.updateNonceFromBlockchain(\n this.context.nearClient,\n String(txNonce)\n );\n }\n } catch {\n // best-effort; do not fail flow\n }\n }\n\n private async persistRecoveredUserData(rec: PendingEmailRecovery, accountId: AccountId): Promise<void> {\n const { webAuthnManager } = this.context;\n\n const payload: StoreUserDataPayload = {\n nearAccountId: accountId,\n deviceNumber: rec.deviceNumber,\n clientNearPublicKey: rec.nearPublicKey,\n lastUpdated: Date.now(),\n passkeyCredential: {\n id: rec.credential.id,\n rawId: rec.credential.rawId,\n },\n encryptedVrfKeypair: {\n encryptedVrfDataB64u: rec.encryptedVrfKeypair.encryptedVrfDataB64u,\n chacha20NonceB64u: rec.encryptedVrfKeypair.chacha20NonceB64u,\n },\n serverEncryptedVrfKeypair: rec.serverEncryptedVrfKeypair || undefined,\n };\n\n await webAuthnManager.storeUserData(payload);\n }\n\n /**\n * Explicitly persist the authenticator from the recovery record into the local cache.\n * This ensures the key is available immediately, bridging the gap before RPC sync sees it.\n */\n private async persistAuthenticatorBestEffort(rec: PendingEmailRecovery, accountId: AccountId): Promise<void> {\n try {\n const { webAuthnManager } = this.context;\n const attestationB64u = rec.credential.response.attestationObject;\n const credentialPublicKey = await webAuthnManager.extractCosePublicKey(attestationB64u);\n\n await webAuthnManager.storeAuthenticator({\n nearAccountId: accountId,\n deviceNumber: rec.deviceNumber,\n credentialId: rec.credential.rawId,\n credentialPublicKey,\n transports: ['internal'],\n name: `Device ${rec.deviceNumber} Passkey for ${rec.accountId.split('.')[0]}`,\n registered: new Date().toISOString(),\n syncedAt: new Date().toISOString(), // Local truth is fresh\n vrfPublicKey: rec.vrfPublicKey,\n });\n console.log('[EmailRecoveryFlow] Locally persisted recovered authenticator for immediate use.');\n } catch (e) {\n console.error('[EmailRecoveryFlow] Failed to locally persist authenticator (critical for immediate export):', e);\n // We log error but don't rethrow to avoid crashing the final success UI.\n }\n }\n\n private async markCompleteAndClearPending(rec: PendingEmailRecovery): Promise<void> {\n rec.status = 'complete';\n await this.savePending(rec);\n await this.clearPending(rec.accountId, rec.nearPublicKey);\n }\n\n private async assertVrfActiveForAccount(accountId: AccountId, message: string): Promise<void> {\n const vrfStatus = await this.context.webAuthnManager.checkVrfStatus();\n const vrfActiveForAccount =\n vrfStatus.active\n && vrfStatus.nearAccountId\n && String(vrfStatus.nearAccountId) === String(accountId);\n if (!vrfActiveForAccount) {\n throw new Error(message);\n }\n }\n\n private async finalizeLocalLoginState(accountId: AccountId, deviceNumber: number): Promise<void> {\n const { webAuthnManager } = this.context;\n await webAuthnManager.setLastUser(accountId, deviceNumber);\n await webAuthnManager.initializeCurrentUser(accountId, this.context.nearClient);\n try { await getLoginSession(this.context, accountId); } catch { }\n }\n\n private async tryShamirUnlock(\n rec: PendingEmailRecovery,\n accountId: AccountId,\n deviceNumber: number\n ): Promise<boolean> {\n if (\n !rec.serverEncryptedVrfKeypair\n || !rec.serverEncryptedVrfKeypair.serverKeyId\n || !this.context.configs.vrfWorkerConfigs?.shamir3pass?.relayServerUrl\n ) {\n return false;\n }\n\n try {\n const { webAuthnManager } = this.context;\n const unlockResult = await webAuthnManager.shamir3PassDecryptVrfKeypair({\n nearAccountId: accountId,\n kek_s_b64u: rec.serverEncryptedVrfKeypair.kek_s_b64u,\n ciphertextVrfB64u: rec.serverEncryptedVrfKeypair.ciphertextVrfB64u,\n serverKeyId: rec.serverEncryptedVrfKeypair.serverKeyId,\n });\n\n if (!unlockResult.success) {\n return false;\n }\n\n await this.assertVrfActiveForAccount(accountId, 'VRF session inactive after Shamir3Pass unlock');\n await this.finalizeLocalLoginState(accountId, deviceNumber);\n return true;\n } catch (err) {\n console.warn('[EmailRecoveryFlow] Shamir 3-pass unlock failed, falling back to TouchID', err);\n return false;\n }\n }\n\n private async tryTouchIdUnlock(\n rec: PendingEmailRecovery,\n accountId: AccountId,\n deviceNumber: number\n ): Promise<{ success: boolean; reason?: string }> {\n try {\n const { webAuthnManager } = this.context;\n const authChallenge = createRandomVRFChallenge() as VRFChallenge;\n\n const storedCredentialId = String(rec.credential?.rawId || rec.credential?.id || '').trim();\n const credentialIds = storedCredentialId ? [storedCredentialId] : [];\n const authenticators = credentialIds.length > 0\n ? []\n : await webAuthnManager.getAuthenticatorsByUser(accountId);\n const authCredential = await webAuthnManager.getAuthenticationCredentialsSerializedDualPrf({\n nearAccountId: accountId,\n challenge: authChallenge,\n credentialIds: credentialIds.length > 0 ? credentialIds : authenticators.map((a) => a.credentialId),\n });\n\n if (storedCredentialId && authCredential.rawId !== storedCredentialId) {\n return {\n success: false,\n reason: 'Wrong passkey selected during recovery auto-login; please use the newly recovered passkey.',\n };\n }\n\n const vrfUnlockResult = await webAuthnManager.unlockVRFKeypair({\n nearAccountId: accountId,\n encryptedVrfKeypair: rec.encryptedVrfKeypair,\n credential: authCredential,\n });\n\n if (!vrfUnlockResult.success) {\n return { success: false, reason: vrfUnlockResult.error || 'VRF unlock failed during auto-login' };\n }\n\n await this.assertVrfActiveForAccount(accountId, 'VRF session inactive after TouchID unlock');\n await this.finalizeLocalLoginState(accountId, deviceNumber);\n return { success: true };\n } catch (err: unknown) {\n return { success: false, reason: errorMessage(err) || String(err) };\n }\n }\n\n private async handleAutoLoginFailure(reason: string, err?: unknown): Promise<AutoLoginResult> {\n console.warn('[EmailRecoveryFlow] Auto-login failed after recovery', err ?? reason);\n try {\n await this.context.webAuthnManager.clearVrfSession();\n } catch { }\n return { success: false, reason };\n }\n\n private async finalizeRegistration(rec: PendingEmailRecovery): Promise<void> {\n this.phase = EmailRecoveryPhase.STEP_5_FINALIZING_REGISTRATION;\n this.emit({\n step: 5,\n phase: EmailRecoveryPhase.STEP_5_FINALIZING_REGISTRATION,\n status: EmailRecoveryStatus.PROGRESS,\n message: 'Finalizing email recovery registration...',\n data: {\n accountId: rec.accountId,\n nearPublicKey: rec.nearPublicKey,\n },\n } as EmailRecoverySSEEvent & { data: Record<string, unknown> });\n\n try {\n const { nonceManager, accountId } = this.initializeNonceManager(rec);\n const signedTx = await this.signNewDevice2RegistrationTx(rec, accountId);\n const txHash = await this.broadcastRegistrationTxAndWaitFinal(rec, signedTx);\n if (!txHash) {\n console.warn('[EmailRecoveryFlow] Registration transaction confirmed without hash; continuing local persistence');\n }\n\n // CRITICAL: Persist local state immediately.\n // 1. Store the new user record (Device N) so that `getLastUser()` finds it.\n await this.persistRecoveredUserData(rec, accountId);\n\n // 2. Sync authenticators (RPC might be stale, but we try).\n await this.syncAuthenticatorsBestEffort(accountId);\n\n // 3. FORCE-SAVE the local authenticator from our recovery record.\n // This is crucial because RPC sync might be slow/empty immediately after TX.\n // We must ensure the new key is in the DB so `ensureCurrentPasskey` finds it.\n // We do this AFTER sync to ensure it's not wiped by a stale sync.\n await this.persistAuthenticatorBestEffort(rec, accountId);\n\n // 4. Set as active user to ensure immediate subsequent calls use this identity.\n await this.setLastUserBestEffort(accountId, rec.deviceNumber);\n\n await this.updateNonceBestEffort(nonceManager, signedTx);\n\n this.emitAutoLoginEvent(EmailRecoveryStatus.PROGRESS, 'Attempting auto-login with recovered device...', {\n autoLogin: 'progress',\n });\n\n const autoLoginResult = await this.attemptAutoLogin(rec);\n if (autoLoginResult.success) {\n this.emitAutoLoginEvent(EmailRecoveryStatus.SUCCESS, `Welcome ${accountId}`, {\n autoLogin: 'success',\n });\n } else {\n this.emitAutoLoginEvent(EmailRecoveryStatus.ERROR, 'Auto-login failed; please log in manually on this device.', {\n error: autoLoginResult.reason,\n autoLogin: 'error',\n });\n }\n\n await this.markCompleteAndClearPending(rec);\n\n this.phase = EmailRecoveryPhase.STEP_6_COMPLETE;\n this.emit({\n step: 6,\n phase: EmailRecoveryPhase.STEP_6_COMPLETE,\n status: EmailRecoveryStatus.SUCCESS,\n message: 'Email recovery completed successfully',\n data: {\n accountId: rec.accountId,\n nearPublicKey: rec.nearPublicKey,\n },\n } as EmailRecoverySSEEvent & { data: Record<string, unknown> });\n } catch (e: unknown) {\n rec.status = 'error';\n await this.savePending(rec).catch(() => { });\n const original = e instanceof Error\n ? e\n : new Error(errorMessage(e) || 'Email recovery finalization failed');\n const err = this.emitError(5, original);\n await this.options?.afterCall?.(false);\n throw err;\n }\n }\n\n private async attemptAutoLogin(rec: PendingEmailRecovery): Promise<AutoLoginResult> {\n try {\n const accountId = toAccountId(rec.accountId);\n const deviceNumber = parseDeviceNumber(rec.deviceNumber, { min: 1 });\n if (deviceNumber === null) {\n return this.handleAutoLoginFailure(\n `Invalid deviceNumber for auto-login: ${String(rec.deviceNumber)}`\n );\n }\n\n const shamirUnlocked = await this.tryShamirUnlock(rec, accountId, deviceNumber);\n if (shamirUnlocked) {\n return { success: true, method: 'shamir' };\n }\n\n const touchIdResult = await this.tryTouchIdUnlock(rec, accountId, deviceNumber);\n if (touchIdResult.success) {\n return { success: true, method: 'touchid' };\n }\n\n return this.handleAutoLoginFailure(touchIdResult.reason || 'Auto-login failed');\n } catch (err: unknown) {\n return this.handleAutoLoginFailure(errorMessage(err) || String(err), err);\n }\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"emailRecovery.js","names":["EmailRecoveryPhase","EmailRecoveryPendingStore","EmailRecoveryStatus","validateNearAccountId","toAccountId","err: unknown","errorMessage","syncAuthenticatorsContractCall","getEmailRecoveryAttempt","ensureEd25519Prefix","err: any","elapsedMs","rec: PendingEmailRecovery","generateEmailRecoveryRequestId","e: unknown","transactionHash: string | undefined","err","txResult: FinalExecutionOutcome","DEFAULT_WAIT_STATUS","parseLinkDeviceRegisterUserResponse","EmailRecoveryErrorCode","EmailRecoveryError","txUnknown: unknown","logs: string[]","IndexedDBManager","payload: StoreUserDataPayload","getLoginSession","createRandomVRFChallenge","parseDeviceNumber","thresholdEd25519KeygenFromRegistrationTx","buildThresholdEd25519Participants2pV1"],"sources":["../../../../src/core/TatchiPasskey/emailRecovery.ts"],"sourcesContent":["import type { PasskeyManagerContext } from './index';\nimport { IndexedDBManager } from '../IndexedDBManager';\nimport { validateNearAccountId } from '../../utils/validation';\nimport { errorMessage } from '../../utils/errors';\nimport { toAccountId, type AccountId } from '../types/accountIds';\nimport {\n EmailRecoveryPhase,\n EmailRecoveryStatus,\n type EmailRecoverySSEEvent,\n} from '../types/sdkSentEvents';\nimport type { TatchiConfigs } from '../types/tatchi';\nimport {\n createRandomVRFChallenge,\n type VRFChallenge,\n} from '../types/vrf-worker';\nimport type { FinalExecutionOutcome } from '@near-js/types';\nimport type { StoredAuthenticator, WebAuthnRegistrationCredential } from '../types';\nimport { DEFAULT_WAIT_STATUS } from '../types/rpc';\nimport { parseDeviceNumber } from '../WebAuthnManager/SignerWorkerManager/getDeviceNumber';\nimport { getLoginSession } from './login';\nimport type { SignedTransaction } from '../NearClient';\nimport {\n EmailRecoveryPendingStore,\n parseLinkDeviceRegisterUserResponse,\n type PendingStore,\n} from '../EmailRecovery';\nimport {\n EmailRecoveryError,\n EmailRecoveryErrorCode,\n generateEmailRecoveryRequestId,\n type EmailRecoveryFlowOptions,\n type PendingEmailRecovery,\n type PendingEmailRecoveryStatus,\n type PollTickResult,\n type PollUntilResult,\n type VerificationOutcome,\n type AutoLoginResult,\n type StoreUserDataPayload,\n type AccountViewLike,\n type CollectedRecoveryCredential,\n type DerivedRecoveryKeys,\n} from '../types/emailRecovery';\nimport {\n syncAuthenticatorsContractCall,\n getEmailRecoveryAttempt,\n thresholdEd25519KeygenFromRegistrationTx\n} from '../rpcCalls';\nimport { ensureEd25519Prefix } from '../nearCrypto';\nimport { buildThresholdEd25519Participants2pV1 } from '../../threshold/participants';\n\n\nexport class EmailRecoveryFlow {\n private context: PasskeyManagerContext;\n private options?: EmailRecoveryFlowOptions;\n private pendingStore: PendingStore;\n private pending: PendingEmailRecovery | null = null;\n private phase: EmailRecoveryPhase = EmailRecoveryPhase.STEP_1_PREPARATION;\n private pollingTimer: ReturnType<typeof setTimeout> | undefined;\n private pollIntervalResolver?: () => void;\n private pollingStartedAt: number | null = null;\n private cancelled = false;\n private error?: Error;\n\n constructor(context: PasskeyManagerContext, options?: EmailRecoveryFlowOptions) {\n this.context = context;\n this.options = options;\n this.pendingStore = options?.pendingStore ?? new EmailRecoveryPendingStore({\n getPendingTtlMs: () => this.getConfig().pendingTtlMs,\n });\n }\n\n setOptions(options?: EmailRecoveryFlowOptions) {\n if (!options) return;\n this.options = { ...(this.options || {}), ...options };\n if (options.pendingStore) {\n this.pendingStore = options.pendingStore;\n }\n }\n private emit(event: EmailRecoverySSEEvent) {\n this.options?.onEvent?.(event);\n }\n\n private emitError(step: number, messageOrError: string | Error): Error {\n const err = typeof messageOrError === 'string' ? new Error(messageOrError) : messageOrError;\n const message = err.message || (typeof messageOrError === 'string' ? messageOrError : 'Unknown error');\n this.phase = EmailRecoveryPhase.ERROR;\n this.error = err;\n this.emit({\n step,\n phase: EmailRecoveryPhase.ERROR,\n status: EmailRecoveryStatus.ERROR,\n message,\n error: message,\n } as EmailRecoverySSEEvent & { error: string });\n this.options?.onError?.(err);\n return err;\n }\n\n private async fail(step: number, message: string): Promise<never> {\n const err = this.emitError(step, message);\n await this.options?.afterCall?.(false);\n throw err;\n }\n\n private async assertValidAccountIdOrFail(step: number, accountId: string): Promise<AccountId> {\n const validation = validateNearAccountId(accountId as AccountId);\n if (!validation.valid) {\n await this.fail(step, `Invalid NEAR account ID: ${validation.error}`);\n }\n return toAccountId(accountId as string);\n }\n\n private async resolvePendingOrFail(\n step: number,\n args: { accountId: AccountId; nearPublicKey?: string },\n options?: {\n allowErrorStatus?: boolean;\n missingMessage?: string;\n errorStatusMessage?: string;\n }\n ): Promise<PendingEmailRecovery> {\n const {\n allowErrorStatus = true,\n missingMessage = 'No pending email recovery record found for this account',\n errorStatusMessage = 'Pending email recovery is in an error state; please restart the flow',\n } = options ?? {};\n\n let rec = this.pending;\n if (!rec || rec.accountId !== args.accountId || (args.nearPublicKey && rec.nearPublicKey !== args.nearPublicKey)) {\n rec = await this.loadPending(args.accountId, args.nearPublicKey);\n this.pending = rec;\n }\n\n if (!rec) {\n await this.fail(step, missingMessage);\n }\n\n const resolved = rec as PendingEmailRecovery;\n if (!allowErrorStatus && resolved.status === 'error') {\n await this.fail(step, errorStatusMessage);\n }\n\n return resolved;\n }\n\n private getConfig() {\n const relayConfig = this.context.configs.relayer.emailRecovery;\n return {\n minBalanceYocto: String(relayConfig.minBalanceYocto),\n pollingIntervalMs: Number(relayConfig.pollingIntervalMs),\n maxPollingDurationMs: Number(relayConfig.maxPollingDurationMs),\n pendingTtlMs: Number(relayConfig.pendingTtlMs),\n mailtoAddress: String(relayConfig.mailtoAddress),\n };\n }\n\n private toBigInt(value: bigint | number | string | null | undefined): bigint {\n if (typeof value === 'bigint') return value;\n if (typeof value === 'number') return BigInt(value);\n if (typeof value === 'string' && value.length > 0) return BigInt(value);\n return BigInt(0);\n }\n\n private computeAvailableBalance(accountView: AccountViewLike): bigint {\n const STORAGE_PRICE_PER_BYTE = BigInt('10000000000000000000'); // 1e19 yocto NEAR per byte\n const amount = this.toBigInt(accountView.amount);\n const locked = this.toBigInt(accountView.locked);\n const storageUsage = this.toBigInt(accountView.storage_usage);\n const storageCost = storageUsage * STORAGE_PRICE_PER_BYTE;\n const rawAvailable = amount - locked - storageCost;\n return rawAvailable > 0 ? rawAvailable : BigInt(0);\n }\n\n private async assertSufficientBalance(nearAccountId: AccountId): Promise<void> {\n const { minBalanceYocto } = this.getConfig();\n\n try {\n const accountView = await this.context.nearClient.viewAccount(nearAccountId);\n const available = this.computeAvailableBalance(accountView);\n if (available < BigInt(minBalanceYocto)) {\n await this.fail(\n 1,\n `This account does not have enough NEAR to finalize recovery. Available: ${available.toString()} yocto; required: ${String(minBalanceYocto)}. Please top up and try again.`\n );\n }\n } catch (err: unknown) {\n await this.fail(1, errorMessage(err) || 'Failed to fetch account balance for recovery');\n }\n }\n\n private async getNextDeviceNumberFromContract(nearAccountId: AccountId): Promise<number> {\n try {\n const authenticators = await syncAuthenticatorsContractCall(\n this.context.nearClient,\n this.context.configs.contractId,\n nearAccountId\n );\n const numbers = authenticators\n .map(({ authenticator }) => authenticator.deviceNumber)\n .filter((n): n is number => typeof n === 'number' && Number.isFinite(n));\n const max = numbers.length > 0 ? Math.max(...numbers) : 0;\n return max + 1;\n } catch {\n return 1;\n }\n }\n\n private async collectRecoveryCredentialOrFail(\n nearAccountId: AccountId,\n deviceNumber: number\n ): Promise<CollectedRecoveryCredential> {\n const confirmerText = {\n title: this.options?.confirmerText?.title ?? 'Register New Recovery Account',\n body: this.options?.confirmerText?.body ?? 'Create a recovery account and send an encrypted email to recover your account.',\n };\n const confirm = await this.context.webAuthnManager.requestRegistrationCredentialConfirmation({\n nearAccountId,\n deviceNumber,\n confirmerText,\n confirmationConfigOverride: this.options?.confirmationConfig,\n });\n\n if (!confirm.confirmed || !confirm.credential) {\n await this.fail(2, 'User cancelled email recovery TouchID confirmation');\n }\n\n return {\n credential: confirm.credential,\n vrfChallenge: confirm.vrfChallenge || undefined,\n };\n }\n\n private async deriveRecoveryKeysOrFail(\n nearAccountId: AccountId,\n deviceNumber: number,\n credential: WebAuthnRegistrationCredential\n ): Promise<DerivedRecoveryKeys> {\n const vrfDerivationResult = await this.context.webAuthnManager.deriveVrfKeypair({\n credential,\n nearAccountId,\n });\n\n if (!vrfDerivationResult.success || !vrfDerivationResult.encryptedVrfKeypair) {\n await this.fail(2, 'Failed to derive VRF keypair from PRF for email recovery');\n }\n\n const nearKeyResult = await this.context.webAuthnManager.deriveNearKeypairAndEncryptFromSerialized({\n nearAccountId,\n credential,\n options: { deviceNumber },\n });\n\n if (!nearKeyResult.success || !nearKeyResult.publicKey) {\n await this.fail(2, 'Failed to derive NEAR keypair for email recovery');\n }\n\n return {\n encryptedVrfKeypair: vrfDerivationResult.encryptedVrfKeypair,\n serverEncryptedVrfKeypair: vrfDerivationResult.serverEncryptedVrfKeypair || null,\n vrfPublicKey: vrfDerivationResult.vrfPublicKey,\n nearPublicKey: nearKeyResult.publicKey,\n };\n }\n\n private emitAwaitEmail(rec: PendingEmailRecovery, mailtoUrl: string): void {\n this.phase = EmailRecoveryPhase.STEP_3_AWAIT_EMAIL;\n this.emit({\n step: 3,\n phase: EmailRecoveryPhase.STEP_3_AWAIT_EMAIL,\n status: EmailRecoveryStatus.PROGRESS,\n message: 'New device key created; please send the recovery email from your registered address.',\n data: {\n accountId: rec.accountId,\n nearPublicKey: rec.nearPublicKey,\n requestId: rec.requestId,\n mailtoUrl,\n },\n } as EmailRecoverySSEEvent & { data: Record<string, unknown> });\n }\n\n private emitAutoLoginEvent(\n status: EmailRecoveryStatus,\n message: string,\n data: Record<string, unknown>\n ): void {\n this.emit({\n step: 5,\n phase: EmailRecoveryPhase.STEP_5_FINALIZING_REGISTRATION,\n status,\n message,\n data,\n } as EmailRecoverySSEEvent & { data: Record<string, unknown> });\n }\n\n private async checkViaEmailRecovererAttempt(\n rec: PendingEmailRecovery\n ): Promise<{ completed: boolean; success: boolean; missing?: boolean; errorMessage?: string; } | null> {\n try {\n const attempt = await getEmailRecoveryAttempt(\n this.context.nearClient,\n rec.accountId,\n rec.requestId\n );\n\n if (!attempt) {\n return { completed: false, success: false, missing: true };\n }\n\n // Optional safety checks: ensure the bound request/key match expectations when available.\n if (attempt.request_id && attempt.request_id !== rec.requestId) {\n return {\n completed: true,\n success: false,\n errorMessage: 'Email recovery attempt request_id does not match requested requestId.',\n };\n }\n\n if (attempt.new_public_key && attempt.new_public_key !== rec.nearPublicKey) {\n const expected = ensureEd25519Prefix(rec.nearPublicKey);\n const actual = ensureEd25519Prefix(attempt.new_public_key);\n\n // The relayer/prover often forwards only the base58 part while the SDK\n // persists `ed25519:<base58>`. Compare normalized forms to avoid false\n // mismatches from prefix formatting differences.\n if (actual === expected) {\n // no-op; treat as matching\n } else {\n return {\n completed: true,\n success: false,\n errorMessage:\n `Email recovery new_public_key mismatch for request ${rec.requestId}. ` +\n `Expected ${expected}; got ${actual}. ` +\n 'This usually means the recovery email you sent was generated for a different device/attempt.',\n };\n }\n }\n\n const normalized = attempt.status.toLowerCase();\n\n if (normalized === 'complete' || normalized === 'completed') {\n return {\n completed: true,\n success: true,\n };\n }\n\n if (normalized.includes('failed')) {\n return {\n completed: true,\n success: false,\n errorMessage: attempt.error || `Email recovery failed (${attempt.status || 'unknown status'})`,\n };\n }\n\n return {\n completed: false,\n success: false,\n };\n } catch (err) {\n // Treat view errors as retryable; keep polling the view method.\n // eslint-disable-next-line no-console\n console.warn('[EmailRecoveryFlow] get_recovery_attempt view failed; will retry', err);\n return null;\n }\n }\n\n private async isRecoveryAccessKeyPresent(rec: PendingEmailRecovery): Promise<boolean | null> {\n try {\n await this.context.nearClient.viewAccessKey(rec.accountId, rec.nearPublicKey);\n return true;\n } catch (err: any) {\n const kind = typeof err?.kind === 'string' ? String(err.kind) : '';\n const short = typeof err?.short === 'string' ? String(err.short) : '';\n const msg = typeof err?.message === 'string' ? String(err.message) : '';\n\n if (\n /AccessKeyDoesNotExist/i.test(kind) ||\n /AccessKeyDoesNotExist/i.test(short) ||\n /access key does not exist/i.test(msg) ||\n /access key .*does not exist/i.test(msg)\n ) {\n return false;\n }\n\n // Unexpected view error: retryable; treat as unknown to avoid failing the flow.\n // eslint-disable-next-line no-console\n console.warn('[EmailRecoveryFlow] view_access_key failed while checking recovery key; will retry', err);\n return null;\n }\n }\n\n private buildPollingEventData(\n rec: PendingEmailRecovery,\n details: { transactionHash?: string; elapsedMs: number; pollCount: number }\n ): Record<string, unknown> {\n return {\n accountId: rec.accountId,\n requestId: rec.requestId,\n nearPublicKey: rec.nearPublicKey,\n transactionHash: details.transactionHash,\n elapsedMs: details.elapsedMs,\n pollCount: details.pollCount,\n };\n }\n\n private async sleepForPollInterval(ms: number): Promise<void> {\n await new Promise<void>(resolve => {\n this.pollIntervalResolver = resolve;\n this.pollingTimer = setTimeout(() => {\n this.pollIntervalResolver = undefined;\n this.pollingTimer = undefined;\n resolve();\n }, ms);\n }).finally(() => {\n this.pollIntervalResolver = undefined;\n });\n }\n\n private async pollUntil<T>(args: {\n intervalMs: number;\n timeoutMs: number;\n isCancelled: () => boolean;\n tick: (ctx: { elapsedMs: number; pollCount: number }) => Promise<PollTickResult<T>>;\n sleep?: (ms: number) => Promise<void>;\n now?: () => number;\n }): Promise<PollUntilResult<T>> {\n const now = args.now ?? Date.now;\n const sleep = args.sleep ?? this.sleepForPollInterval.bind(this);\n const startedAt = now();\n let pollCount = 0;\n\n while (!args.isCancelled()) {\n pollCount += 1;\n const elapsedMs = now() - startedAt;\n if (elapsedMs > args.timeoutMs) {\n return { status: 'timedOut', elapsedMs, pollCount };\n }\n\n const result = await args.tick({ elapsedMs, pollCount });\n if (result.done) {\n return { status: 'completed', value: result.value, elapsedMs, pollCount };\n }\n\n if (args.isCancelled()) {\n return { status: 'cancelled', elapsedMs, pollCount };\n }\n\n await sleep(args.intervalMs);\n }\n\n const elapsedMs = now() - startedAt;\n return { status: 'cancelled', elapsedMs, pollCount };\n }\n\n private async loadPending(\n accountId: AccountId,\n nearPublicKey?: string\n ): Promise<PendingEmailRecovery | null> {\n return this.pendingStore.get(accountId, nearPublicKey);\n }\n\n private async savePending(rec: PendingEmailRecovery): Promise<void> {\n await this.pendingStore.set(rec);\n this.pending = rec;\n }\n\n private async clearPending(accountId: AccountId, nearPublicKey?: string): Promise<void> {\n await this.pendingStore.clear(accountId, nearPublicKey);\n\n if (\n this.pending\n && this.pending.accountId === accountId\n && (!nearPublicKey || this.pending.nearPublicKey === nearPublicKey)\n ) {\n this.pending = null;\n }\n }\n\n getState() {\n return {\n phase: this.phase,\n pending: this.pending,\n error: this.error,\n };\n }\n\n async buildMailtoUrl(args: { accountId: string; nearPublicKey?: string }): Promise<string> {\n const { accountId, nearPublicKey } = args;\n this.cancelled = false;\n this.error = undefined;\n\n const nearAccountId = await this.assertValidAccountIdOrFail(3, accountId);\n const rec = await this.resolvePendingOrFail(\n 3,\n { accountId: nearAccountId, nearPublicKey },\n { allowErrorStatus: false }\n );\n\n if (rec.status === 'finalizing' || rec.status === 'complete') {\n await this.fail(3, 'Recovery email has already been processed on-chain for this request');\n }\n\n const mailtoUrl =\n rec.status === 'awaiting-email'\n ? await this.buildMailtoUrlAndUpdateStatus(rec)\n : this.buildMailtoUrlInternal(rec);\n this.emitAwaitEmail(rec, mailtoUrl);\n await this.options?.afterCall?.(true, undefined);\n return mailtoUrl;\n }\n\n async start(args: { accountId: string }): Promise<{ mailtoUrl: string; nearPublicKey: string }> {\n const { accountId } = args;\n this.cancelled = false;\n this.error = undefined;\n this.phase = EmailRecoveryPhase.STEP_1_PREPARATION;\n\n this.emit({\n step: 1,\n phase: EmailRecoveryPhase.STEP_1_PREPARATION,\n status: EmailRecoveryStatus.PROGRESS,\n message: 'Preparing email recovery...',\n });\n\n const nearAccountId = await this.assertValidAccountIdOrFail(1, accountId);\n await this.assertSufficientBalance(nearAccountId);\n\n // Determine deviceNumber from on-chain authenticators\n const deviceNumber = await this.getNextDeviceNumberFromContract(nearAccountId);\n\n this.phase = EmailRecoveryPhase.STEP_2_TOUCH_ID_REGISTRATION;\n this.emit({\n step: 2,\n phase: EmailRecoveryPhase.STEP_2_TOUCH_ID_REGISTRATION,\n status: EmailRecoveryStatus.PROGRESS,\n message: 'Collecting passkey for email recovery...',\n });\n\n try {\n const confirm = await this.collectRecoveryCredentialOrFail(nearAccountId, deviceNumber);\n const derivedKeys = await this.deriveRecoveryKeysOrFail(nearAccountId, deviceNumber, confirm.credential);\n\n const rec: PendingEmailRecovery = {\n accountId: nearAccountId,\n deviceNumber,\n nearPublicKey: derivedKeys.nearPublicKey,\n requestId: generateEmailRecoveryRequestId(),\n encryptedVrfKeypair: derivedKeys.encryptedVrfKeypair,\n serverEncryptedVrfKeypair: derivedKeys.serverEncryptedVrfKeypair,\n vrfPublicKey: derivedKeys.vrfPublicKey,\n credential: confirm.credential,\n vrfChallenge: confirm.vrfChallenge || undefined,\n createdAt: Date.now(),\n status: 'awaiting-email',\n };\n\n const mailtoUrl = await this.buildMailtoUrlAndUpdateStatus(rec);\n\n this.emitAwaitEmail(rec, mailtoUrl);\n\n await this.options?.afterCall?.(true, undefined);\n\n return { mailtoUrl, nearPublicKey: rec.nearPublicKey };\n } catch (e: unknown) {\n const err = this.emitError(2, errorMessage(e) || 'Email recovery TouchID/derivation failed');\n await this.options?.afterCall?.(false);\n throw err;\n }\n }\n\n private buildMailtoUrlInternal(rec: PendingEmailRecovery): string {\n const { mailtoAddress } = this.getConfig();\n const to = encodeURIComponent(mailtoAddress);\n const subject = encodeURIComponent(`recover-${rec.requestId} ${rec.accountId} ${rec.nearPublicKey}`);\n const body = encodeURIComponent(`Recovering account ${rec.accountId} with a new passkey.`);\n return `mailto:${to}?subject=${subject}&body=${body}`;\n }\n\n private async buildMailtoUrlAndUpdateStatus(rec: PendingEmailRecovery): Promise<string> {\n rec.status = 'awaiting-add-key';\n await this.savePending(rec);\n return this.buildMailtoUrlInternal(rec);\n }\n\n async startPolling(args: { accountId: string; nearPublicKey?: string }): Promise<void> {\n const { accountId, nearPublicKey } = args;\n this.cancelled = false;\n this.error = undefined;\n\n const nearAccountId = await this.assertValidAccountIdOrFail(4, accountId);\n const rec = await this.resolvePendingOrFail(\n 4,\n { accountId: nearAccountId, nearPublicKey },\n { allowErrorStatus: false }\n );\n if (rec.status === 'complete' || rec.status === 'finalizing') {\n await this.options?.afterCall?.(true, undefined);\n return;\n }\n if (rec.status === 'awaiting-email') {\n await this.buildMailtoUrlAndUpdateStatus(rec);\n }\n\n await this.pollUntilAddKey(rec);\n await this.options?.afterCall?.(true, undefined);\n }\n\n stopPolling(): void {\n this.cancelled = true;\n if (this.pollingTimer) {\n clearTimeout(this.pollingTimer);\n this.pollingTimer = undefined;\n }\n if (this.pollIntervalResolver) {\n this.pollIntervalResolver();\n this.pollIntervalResolver = undefined;\n }\n }\n\n /**\n * Best-effort cancellation and local state reset so callers can retry.\n * This does not remove any passkey created in the browser/OS (WebAuthn has no delete API),\n * but it will stop polling and clear the pending IndexedDB record for the given key.\n */\n async cancelAndReset(args?: { accountId?: string; nearPublicKey?: string }): Promise<void> {\n this.stopPolling();\n\n const normalizedAccountId = (args?.accountId || this.pending?.accountId || '').toString().trim();\n const nearPublicKey = (args?.nearPublicKey || this.pending?.nearPublicKey || '').toString().trim();\n\n if (normalizedAccountId) {\n try {\n await this.clearPending(toAccountId(normalizedAccountId), nearPublicKey);\n } catch {\n // best-effort\n }\n }\n\n this.pending = null;\n this.error = undefined;\n this.phase = EmailRecoveryPhase.STEP_1_PREPARATION;\n }\n\n async finalize(args: { accountId: string; nearPublicKey?: string }): Promise<void> {\n const { accountId, nearPublicKey } = args;\n this.cancelled = false;\n this.error = undefined;\n\n const nearAccountId = await this.assertValidAccountIdOrFail(4, accountId);\n const rec = await this.resolvePendingOrFail(\n 4,\n { accountId: nearAccountId, nearPublicKey },\n { allowErrorStatus: true }\n );\n\n this.emit({\n step: 0,\n phase: EmailRecoveryPhase.RESUMED_FROM_PENDING,\n status: EmailRecoveryStatus.PROGRESS,\n message: 'Resuming email recovery from pending state...',\n data: {\n accountId: rec.accountId,\n nearPublicKey: rec.nearPublicKey,\n status: rec.status,\n },\n } as EmailRecoverySSEEvent & { data: Record<string, unknown> });\n\n if (rec.status === 'complete') {\n this.phase = EmailRecoveryPhase.STEP_6_COMPLETE;\n this.emit({\n step: 6,\n phase: EmailRecoveryPhase.STEP_6_COMPLETE,\n status: EmailRecoveryStatus.SUCCESS,\n message: 'Email recovery already completed for this key.',\n });\n await this.options?.afterCall?.(true, undefined);\n return;\n }\n\n // Ensure verification has completed successfully before finalizing registration.\n await this.pollUntilAddKey(rec);\n await this.finalizeRegistration(rec);\n await this.options?.afterCall?.(true, undefined);\n }\n\n private async pollUntilAddKey(rec: PendingEmailRecovery): Promise<void> {\n const { pollingIntervalMs, maxPollingDurationMs } = this.getConfig();\n this.phase = EmailRecoveryPhase.STEP_4_POLLING_VERIFICATION_RESULT;\n this.pollingStartedAt = Date.now();\n let sawAttempt = false;\n\n const pollResult = await this.pollUntil<VerificationOutcome>({\n intervalMs: pollingIntervalMs,\n timeoutMs: maxPollingDurationMs,\n isCancelled: () => this.cancelled,\n tick: async ({ elapsedMs, pollCount }) => {\n const verification = await this.checkViaEmailRecovererAttempt(rec);\n if (verification && !verification.missing) {\n sawAttempt = true;\n }\n\n let completed = verification?.completed === true;\n let success = verification?.success === true;\n let errorMessage = verification?.errorMessage;\n let transactionHash: string | undefined;\n\n if (verification?.missing) {\n const hasKey = await this.isRecoveryAccessKeyPresent(rec);\n if (hasKey === true) {\n completed = true;\n success = true;\n } else if (hasKey === false && sawAttempt) {\n completed = true;\n success = false;\n errorMessage =\n 'Email recovery attempt was cleared on-chain before completion. Please resend the recovery email or restart the flow.';\n } else if (hasKey === null) {\n // Retry on unexpected view errors while checking access key presence.\n return { done: false };\n }\n }\n\n this.emit({\n step: 4,\n phase: EmailRecoveryPhase.STEP_4_POLLING_VERIFICATION_RESULT,\n status: EmailRecoveryStatus.PROGRESS,\n message: completed && success\n ? `Email recovery completed for request ${rec.requestId}; finalizing registration`\n : `Waiting for email recovery for request ${rec.requestId}`,\n data: this.buildPollingEventData(rec, {\n transactionHash,\n elapsedMs,\n pollCount,\n }),\n } as EmailRecoverySSEEvent & { data: Record<string, unknown> });\n\n if (!completed) {\n return { done: false };\n }\n\n if (!success) {\n return {\n done: true,\n value: {\n outcome: 'failed',\n errorMessage: errorMessage || 'Email recovery failed',\n },\n };\n }\n\n return { done: true, value: { outcome: 'verified' } };\n },\n });\n\n if (pollResult.status === 'completed') {\n if (pollResult.value.outcome === 'failed') {\n const err = this.emitError(4, pollResult.value.errorMessage);\n rec.status = 'error';\n await this.savePending(rec);\n await this.options?.afterCall?.(false);\n throw err;\n }\n\n rec.status = 'finalizing';\n await this.savePending(rec);\n return;\n }\n\n if (pollResult.status === 'timedOut') {\n const err = this.emitError(4, 'Timed out waiting for recovery email to be processed on-chain');\n rec.status = 'error';\n await this.savePending(rec);\n await this.options?.afterCall?.(false);\n throw err;\n }\n\n const err = this.emitError(4, 'Email recovery polling was cancelled');\n await this.options?.afterCall?.(false);\n throw err;\n }\n\n private initializeNonceManager(\n rec: PendingEmailRecovery\n ): {\n nonceManager: ReturnType<PasskeyManagerContext['webAuthnManager']['getNonceManager']>;\n accountId: AccountId;\n } {\n const nonceManager = this.context.webAuthnManager.getNonceManager();\n const accountId = toAccountId(rec.accountId);\n nonceManager.initializeUser(accountId, rec.nearPublicKey);\n return { nonceManager, accountId };\n }\n\n /*\n * Signs a `link_device_register_user` contract call\n */\n private async signNewDevice2RegistrationTx(rec: PendingEmailRecovery, accountId: AccountId): Promise<SignedTransaction> {\n const vrfChallenge = rec.vrfChallenge;\n if (!vrfChallenge) {\n return this.fail(5, 'Missing VRF challenge for email recovery registration');\n }\n\n const registrationResult = await this.context.webAuthnManager.signDevice2RegistrationWithStoredKey({\n nearAccountId: accountId,\n credential: rec.credential,\n vrfChallenge,\n deterministicVrfPublicKey: rec.vrfPublicKey,\n deviceNumber: rec.deviceNumber,\n });\n\n if (!registrationResult.success || !registrationResult.signedTransaction) {\n await this.fail(5, registrationResult.error || 'Failed to sign email recovery registration transaction');\n }\n\n return registrationResult.signedTransaction;\n }\n\n private async broadcastRegistrationTxAndWaitFinal(\n rec: PendingEmailRecovery,\n signedTx: SignedTransaction\n ): Promise<string | undefined> {\n let txResult: FinalExecutionOutcome;\n try {\n txResult = await this.context.nearClient.sendTransaction(\n signedTx,\n DEFAULT_WAIT_STATUS.linkDeviceRegistration\n );\n } catch (err: unknown) {\n const msg = errorMessage(err) || 'Failed to broadcast email recovery registration transaction (insufficient funds or RPC error)';\n throw new Error(msg);\n }\n\n const txHash = this.getTxHash(txResult);\n\n // Contract can return `{ verified: false, registration_info: null }` without failing the tx.\n // When that happens, the authenticator was NOT registered on-chain, so we must not proceed\n // with local persistence + auto-login.\n const linkDeviceResult = parseLinkDeviceRegisterUserResponse(txResult);\n if (linkDeviceResult?.verified === false) {\n const logs = this.extractNearExecutionLogs(txResult);\n const isStaleChallenge = logs.some((log) => /StaleChallenge|freshness validation failed/i.test(log));\n const txHint = txHash ? ` (tx: ${txHash})` : '';\n const code = isStaleChallenge\n ? EmailRecoveryErrorCode.VRF_CHALLENGE_EXPIRED\n : EmailRecoveryErrorCode.REGISTRATION_NOT_VERIFIED;\n const message = isStaleChallenge\n ? `Timed out finalizing registration (VRF challenge expired). Please restart email recovery and try again${txHint}.`\n : `Registration did not verify on-chain. Please try again${txHint}.`;\n throw new EmailRecoveryError(message, code, {\n accountId: rec.accountId,\n nearPublicKey: rec.nearPublicKey,\n transactionHash: txHash,\n logs,\n result: linkDeviceResult,\n });\n }\n\n if (txHash) {\n this.emit({\n step: 5,\n phase: EmailRecoveryPhase.STEP_5_FINALIZING_REGISTRATION,\n status: EmailRecoveryStatus.PROGRESS,\n message: 'Registration transaction confirmed',\n data: {\n accountId: rec.accountId,\n nearPublicKey: rec.nearPublicKey,\n transactionHash: txHash,\n },\n } as EmailRecoverySSEEvent & { data: Record<string, unknown> });\n }\n\n return txHash;\n }\n\n private getTxHash(outcome: FinalExecutionOutcome): string | undefined {\n const txUnknown: unknown = outcome.transaction;\n if (txUnknown && typeof txUnknown === 'object') {\n const hash = (txUnknown as Record<string, unknown>).hash;\n if (typeof hash === 'string' && hash.length > 0) return hash;\n }\n\n const txOutcomeId = (outcome as unknown as { transaction_outcome?: unknown })?.transaction_outcome;\n if (txOutcomeId && typeof txOutcomeId === 'object') {\n const id = (txOutcomeId as Record<string, unknown>).id;\n if (typeof id === 'string' && id.length > 0) return id;\n }\n\n const fallback = (outcome as unknown as Record<string, unknown>).transaction_hash;\n return typeof fallback === 'string' && fallback.length > 0 ? fallback : undefined;\n }\n\n private extractNearExecutionLogs(outcome: FinalExecutionOutcome): string[] {\n const logs: string[] = [];\n for (const entry of outcome.transaction_outcome.outcome.logs) {\n logs.push(String(entry));\n }\n for (const receipt of outcome.receipts_outcome) {\n for (const entry of receipt.outcome.logs) {\n logs.push(String(entry));\n }\n }\n return logs;\n }\n\n private mapAuthenticatorsFromContract(\n authenticators: Array<{ credentialId: string; authenticator: StoredAuthenticator }>\n ) {\n return authenticators.map(({ authenticator }) => ({\n credentialId: authenticator.credentialId,\n credentialPublicKey: authenticator.credentialPublicKey,\n transports: authenticator.transports,\n name: authenticator.name,\n registered: authenticator.registered.toISOString(),\n vrfPublicKey: authenticator.vrfPublicKeys?.[0] || '',\n deviceNumber: authenticator.deviceNumber,\n }));\n }\n\n private async syncAuthenticatorsBestEffort(accountId: AccountId): Promise<boolean> {\n try {\n const authenticators = await syncAuthenticatorsContractCall(\n this.context.nearClient,\n this.context.configs.contractId,\n accountId\n );\n\n const mappedAuthenticators = this.mapAuthenticatorsFromContract(authenticators);\n await IndexedDBManager.clientDB.syncAuthenticatorsFromContract(accountId, mappedAuthenticators);\n return true;\n } catch (err) {\n console.warn('[EmailRecoveryFlow] Failed to sync authenticators after recovery:', err);\n return false;\n }\n }\n\n private async setLastUserBestEffort(accountId: AccountId, deviceNumber: number): Promise<boolean> {\n try {\n await IndexedDBManager.clientDB.setLastUser(accountId, deviceNumber);\n return true;\n } catch (err) {\n console.warn('[EmailRecoveryFlow] Failed to set last user after recovery:', err);\n return false;\n }\n }\n\n private async updateNonceBestEffort(\n nonceManager: ReturnType<PasskeyManagerContext['webAuthnManager']['getNonceManager']>,\n signedTx: SignedTransaction\n ): Promise<void> {\n try {\n const txNonce = signedTx.transaction.nonce;\n if (txNonce != null) {\n await nonceManager.updateNonceFromBlockchain(\n this.context.nearClient,\n String(txNonce)\n );\n }\n } catch {\n // best-effort; do not fail flow\n }\n }\n\n private async persistRecoveredUserData(rec: PendingEmailRecovery, accountId: AccountId): Promise<void> {\n const { webAuthnManager } = this.context;\n\n const payload: StoreUserDataPayload = {\n nearAccountId: accountId,\n deviceNumber: rec.deviceNumber,\n clientNearPublicKey: rec.nearPublicKey,\n lastUpdated: Date.now(),\n passkeyCredential: {\n id: rec.credential.id,\n rawId: rec.credential.rawId,\n },\n encryptedVrfKeypair: {\n encryptedVrfDataB64u: rec.encryptedVrfKeypair.encryptedVrfDataB64u,\n chacha20NonceB64u: rec.encryptedVrfKeypair.chacha20NonceB64u,\n },\n serverEncryptedVrfKeypair: rec.serverEncryptedVrfKeypair || undefined,\n };\n\n await webAuthnManager.storeUserData(payload);\n }\n\n /**\n * Explicitly persist the authenticator from the recovery record into the local cache.\n * This ensures the key is available immediately, bridging the gap before RPC sync sees it.\n */\n private async persistAuthenticatorBestEffort(rec: PendingEmailRecovery, accountId: AccountId): Promise<void> {\n try {\n const { webAuthnManager } = this.context;\n const attestationB64u = rec.credential.response.attestationObject;\n const credentialPublicKey = await webAuthnManager.extractCosePublicKey(attestationB64u);\n\n await webAuthnManager.storeAuthenticator({\n nearAccountId: accountId,\n deviceNumber: rec.deviceNumber,\n credentialId: rec.credential.rawId,\n credentialPublicKey,\n transports: ['internal'],\n name: `Device ${rec.deviceNumber} Passkey for ${rec.accountId.split('.')[0]}`,\n registered: new Date().toISOString(),\n syncedAt: new Date().toISOString(), // Local truth is fresh\n vrfPublicKey: rec.vrfPublicKey,\n });\n console.log('[EmailRecoveryFlow] Locally persisted recovered authenticator for immediate use.');\n } catch (e) {\n console.error('[EmailRecoveryFlow] Failed to locally persist authenticator (critical for immediate export):', e);\n // We log error but don't rethrow to avoid crashing the final success UI.\n }\n }\n\n private async markCompleteAndClearPending(rec: PendingEmailRecovery): Promise<void> {\n rec.status = 'complete';\n await this.savePending(rec);\n await this.clearPending(rec.accountId, rec.nearPublicKey);\n }\n\n private async assertVrfActiveForAccount(accountId: AccountId, message: string): Promise<void> {\n const vrfStatus = await this.context.webAuthnManager.checkVrfStatus();\n const vrfActiveForAccount =\n vrfStatus.active\n && vrfStatus.nearAccountId\n && String(vrfStatus.nearAccountId) === String(accountId);\n if (!vrfActiveForAccount) {\n throw new Error(message);\n }\n }\n\n private async finalizeLocalLoginState(accountId: AccountId, deviceNumber: number): Promise<void> {\n const { webAuthnManager } = this.context;\n await webAuthnManager.setLastUser(accountId, deviceNumber);\n await webAuthnManager.initializeCurrentUser(accountId, this.context.nearClient);\n try { await getLoginSession(this.context, accountId); } catch { }\n }\n\n private async tryShamirUnlock(\n rec: PendingEmailRecovery,\n accountId: AccountId,\n deviceNumber: number\n ): Promise<boolean> {\n if (\n !rec.serverEncryptedVrfKeypair\n || !rec.serverEncryptedVrfKeypair.serverKeyId\n || !this.context.configs.vrfWorkerConfigs?.shamir3pass?.relayServerUrl\n ) {\n return false;\n }\n\n try {\n const { webAuthnManager } = this.context;\n const unlockResult = await webAuthnManager.shamir3PassDecryptVrfKeypair({\n nearAccountId: accountId,\n kek_s_b64u: rec.serverEncryptedVrfKeypair.kek_s_b64u,\n ciphertextVrfB64u: rec.serverEncryptedVrfKeypair.ciphertextVrfB64u,\n serverKeyId: rec.serverEncryptedVrfKeypair.serverKeyId,\n });\n\n if (!unlockResult.success) {\n return false;\n }\n\n await this.assertVrfActiveForAccount(accountId, 'VRF session inactive after Shamir3Pass unlock');\n await this.finalizeLocalLoginState(accountId, deviceNumber);\n return true;\n } catch (err) {\n console.warn('[EmailRecoveryFlow] Shamir 3-pass unlock failed, falling back to TouchID', err);\n return false;\n }\n }\n\n private async tryTouchIdUnlock(\n rec: PendingEmailRecovery,\n accountId: AccountId,\n deviceNumber: number\n ): Promise<{ success: boolean; reason?: string }> {\n try {\n const { webAuthnManager } = this.context;\n const authChallenge = createRandomVRFChallenge() as VRFChallenge;\n\n const storedCredentialId = String(rec.credential?.rawId || rec.credential?.id || '').trim();\n const credentialIds = storedCredentialId ? [storedCredentialId] : [];\n const authenticators = credentialIds.length > 0\n ? []\n : await webAuthnManager.getAuthenticatorsByUser(accountId);\n const authCredential = await webAuthnManager.getAuthenticationCredentialsSerializedDualPrf({\n nearAccountId: accountId,\n challenge: authChallenge,\n credentialIds: credentialIds.length > 0 ? credentialIds : authenticators.map((a) => a.credentialId),\n });\n\n if (storedCredentialId && authCredential.rawId !== storedCredentialId) {\n return {\n success: false,\n reason: 'Wrong passkey selected during recovery auto-login; please use the newly recovered passkey.',\n };\n }\n\n const vrfUnlockResult = await webAuthnManager.unlockVRFKeypair({\n nearAccountId: accountId,\n encryptedVrfKeypair: rec.encryptedVrfKeypair,\n credential: authCredential,\n });\n\n if (!vrfUnlockResult.success) {\n return { success: false, reason: vrfUnlockResult.error || 'VRF unlock failed during auto-login' };\n }\n\n await this.assertVrfActiveForAccount(accountId, 'VRF session inactive after TouchID unlock');\n await this.finalizeLocalLoginState(accountId, deviceNumber);\n return { success: true };\n } catch (err: unknown) {\n return { success: false, reason: errorMessage(err) || String(err) };\n }\n }\n\n private async handleAutoLoginFailure(reason: string, err?: unknown): Promise<AutoLoginResult> {\n console.warn('[EmailRecoveryFlow] Auto-login failed after recovery', err ?? reason);\n try {\n await this.context.webAuthnManager.clearVrfSession();\n } catch { }\n return { success: false, reason };\n }\n\n private async finalizeRegistration(rec: PendingEmailRecovery): Promise<void> {\n this.phase = EmailRecoveryPhase.STEP_5_FINALIZING_REGISTRATION;\n this.emit({\n step: 5,\n phase: EmailRecoveryPhase.STEP_5_FINALIZING_REGISTRATION,\n status: EmailRecoveryStatus.PROGRESS,\n message: 'Finalizing email recovery registration...',\n data: {\n accountId: rec.accountId,\n nearPublicKey: rec.nearPublicKey,\n },\n } as EmailRecoverySSEEvent & { data: Record<string, unknown> });\n\n try {\n const { nonceManager, accountId } = this.initializeNonceManager(rec);\n const signedTx = await this.signNewDevice2RegistrationTx(rec, accountId);\n const txHash = await this.broadcastRegistrationTxAndWaitFinal(rec, signedTx);\n if (!txHash) {\n console.warn('[EmailRecoveryFlow] Registration transaction confirmed without hash; continuing local persistence');\n }\n\n // CRITICAL: Persist local state immediately.\n // 1. Store the new user record (Device N) so that `getLastUser()` finds it.\n await this.persistRecoveredUserData(rec, accountId);\n\n // 2. Sync authenticators (RPC might be stale, but we try).\n await this.syncAuthenticatorsBestEffort(accountId);\n\n // 3. FORCE-SAVE the local authenticator from our recovery record.\n // This is crucial because RPC sync might be slow/empty immediately after TX.\n // We must ensure the new key is in the DB so `ensureCurrentPasskey` finds it.\n // We do this AFTER sync to ensure it's not wiped by a stale sync.\n await this.persistAuthenticatorBestEffort(rec, accountId);\n\n // 4. Set as active user to ensure immediate subsequent calls use this identity.\n await this.setLastUserBestEffort(accountId, rec.deviceNumber);\n\n await this.updateNonceBestEffort(nonceManager, signedTx);\n\n // Activate threshold enrollment for this device by ensuring threshold key\n // material is available locally (and AddKey if needed).\n if (txHash) {\n await this.activateThresholdEnrollment(accountId, rec, txHash);\n }\n\n this.emitAutoLoginEvent(EmailRecoveryStatus.PROGRESS, 'Attempting auto-login with recovered device...', {\n autoLogin: 'progress',\n });\n\n const autoLoginResult = await this.attemptAutoLogin(rec);\n if (autoLoginResult.success) {\n this.emitAutoLoginEvent(EmailRecoveryStatus.SUCCESS, `Welcome ${accountId}`, {\n autoLogin: 'success',\n });\n } else {\n this.emitAutoLoginEvent(EmailRecoveryStatus.ERROR, 'Auto-login failed; please log in manually on this device.', {\n error: autoLoginResult.reason,\n autoLogin: 'error',\n });\n }\n\n await this.markCompleteAndClearPending(rec);\n\n this.phase = EmailRecoveryPhase.STEP_6_COMPLETE;\n this.emit({\n step: 6,\n phase: EmailRecoveryPhase.STEP_6_COMPLETE,\n status: EmailRecoveryStatus.SUCCESS,\n message: 'Email recovery completed successfully',\n data: {\n accountId: rec.accountId,\n nearPublicKey: rec.nearPublicKey,\n },\n } as EmailRecoverySSEEvent & { data: Record<string, unknown> });\n } catch (e: unknown) {\n rec.status = 'error';\n await this.savePending(rec).catch(() => { });\n const original = e instanceof Error\n ? e\n : new Error(errorMessage(e) || 'Email recovery finalization failed');\n const err = this.emitError(5, original);\n await this.options?.afterCall?.(false);\n throw err;\n }\n }\n\n private async activateThresholdEnrollment(\n accountId: AccountId,\n rec: PendingEmailRecovery,\n registrationTxHash: string,\n ): Promise<void> {\n const deviceNumber = parseDeviceNumber(rec.deviceNumber, { min: 1 });\n if (deviceNumber === null) {\n throw new Error(`Invalid deviceNumber for threshold enrollment: ${String(rec.deviceNumber)}`);\n }\n\n // Ensure WebAuthn allowCredentials selection prefers this device's passkey\n // when multiple authenticators exist for the account.\n try {\n await this.context.webAuthnManager.setLastUser(accountId, deviceNumber);\n } catch {}\n\n const existing = await IndexedDBManager.nearKeysDB.getThresholdKeyMaterial(accountId, deviceNumber);\n if (existing) {\n return;\n }\n\n const relayerUrl = this.context.configs.relayer.url;\n if (!relayerUrl) {\n throw new Error('Missing configs.relayer.url (required for threshold enrollment)');\n }\n\n const localKeyMaterial = await IndexedDBManager.nearKeysDB.getLocalKeyMaterial(accountId, deviceNumber);\n if (!localKeyMaterial) {\n throw new Error(`Missing local key material for ${String(accountId)} device ${deviceNumber}`);\n }\n\n const derived = await this.context.webAuthnManager.deriveThresholdEd25519ClientVerifyingShareFromCredential({\n credential: rec.credential,\n nearAccountId: accountId,\n wrapKeySalt: localKeyMaterial.wrapKeySalt,\n });\n if (!derived.success) {\n throw new Error(derived.error || 'Failed to derive threshold client verifying share');\n }\n\n const keygen = await thresholdEd25519KeygenFromRegistrationTx(relayerUrl, {\n nearAccountId: accountId,\n clientVerifyingShareB64u: derived.clientVerifyingShareB64u,\n registrationTxHash,\n });\n if (!keygen.ok) {\n throw new Error(keygen.error || keygen.message || keygen.code || 'Threshold registration keygen failed');\n }\n\n const thresholdPublicKey = ensureEd25519Prefix(keygen.publicKey || '');\n if (!thresholdPublicKey) throw new Error('Threshold registration keygen returned empty publicKey');\n const relayerKeyId = String(keygen.relayerKeyId || '').trim();\n if (!relayerKeyId) throw new Error('Threshold registration keygen returned empty relayerKeyId');\n const relayerVerifyingShareB64u = String(keygen.relayerVerifyingShareB64u || '').trim();\n if (!relayerVerifyingShareB64u) throw new Error('Threshold registration keygen returned empty relayerVerifyingShareB64u');\n\n // Activate threshold enrollment on-chain by submitting AddKey(thresholdPublicKey) signed with the local key.\n try {\n this.context.webAuthnManager.getNonceManager().initializeUser(accountId, localKeyMaterial.publicKey);\n } catch {}\n const txContext = await this.context.webAuthnManager.getNonceManager().getNonceBlockHashAndHeight(\n this.context.nearClient,\n { force: true },\n );\n const signed = await this.context.webAuthnManager.signAddKeyThresholdPublicKeyNoPrompt({\n nearAccountId: accountId,\n credential: rec.credential,\n wrapKeySalt: localKeyMaterial.wrapKeySalt,\n transactionContext: txContext,\n thresholdPublicKey,\n relayerVerifyingShareB64u,\n clientParticipantId: keygen.clientParticipantId,\n relayerParticipantId: keygen.relayerParticipantId,\n deviceNumber,\n });\n const signedTx = signed?.signedTransaction;\n if (!signedTx) throw new Error('Failed to sign AddKey(thresholdPublicKey) transaction');\n\n await this.context.nearClient.sendTransaction(\n signedTx,\n DEFAULT_WAIT_STATUS.thresholdAddKey,\n );\n\n await IndexedDBManager.nearKeysDB.storeKeyMaterial({\n kind: 'threshold_ed25519_2p_v1',\n nearAccountId: String(accountId),\n deviceNumber,\n publicKey: thresholdPublicKey,\n wrapKeySalt: derived.wrapKeySalt,\n relayerKeyId,\n clientShareDerivation: 'prf_first_v1',\n participants: buildThresholdEd25519Participants2pV1({\n clientParticipantId: keygen.clientParticipantId,\n relayerParticipantId: keygen.relayerParticipantId,\n relayerKeyId,\n relayerUrl,\n clientVerifyingShareB64u: derived.clientVerifyingShareB64u,\n relayerVerifyingShareB64u,\n clientShareDerivation: 'prf_first_v1',\n }),\n timestamp: Date.now(),\n });\n }\n\n private async attemptAutoLogin(rec: PendingEmailRecovery): Promise<AutoLoginResult> {\n try {\n const accountId = toAccountId(rec.accountId);\n const deviceNumber = parseDeviceNumber(rec.deviceNumber, { min: 1 });\n if (deviceNumber === null) {\n return this.handleAutoLoginFailure(\n `Invalid deviceNumber for auto-login: ${String(rec.deviceNumber)}`\n );\n }\n\n const shamirUnlocked = await this.tryShamirUnlock(rec, accountId, deviceNumber);\n if (shamirUnlocked) {\n return { success: true, method: 'shamir' };\n }\n\n const touchIdResult = await this.tryTouchIdUnlock(rec, accountId, deviceNumber);\n if (touchIdResult.success) {\n return { success: true, method: 'touchid' };\n }\n\n return this.handleAutoLoginFailure(touchIdResult.reason || 'Auto-login failed');\n } catch (err: unknown) {\n return this.handleAutoLoginFailure(errorMessage(err) || String(err), err);\n }\n }\n}\n"],"mappings":"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"}
|
|
@@ -1,23 +1,22 @@
|
|
|
1
|
-
const
|
|
2
|
-
const require_validation = require('../../WalletIframe/validation.js');
|
|
1
|
+
const require_validation = require('../../../utils/validation.js');
|
|
3
2
|
const require_base64 = require('../../../utils/base64.js');
|
|
4
|
-
const require_encoders = require('../../../utils/encoders.js');
|
|
5
3
|
const require_errors = require('../../../utils/errors.js');
|
|
6
4
|
const require_credentialsHelpers = require('../../WebAuthnManager/credentialsHelpers.js');
|
|
7
5
|
const require_sdkSentEvents = require('../../types/sdkSentEvents.js');
|
|
8
6
|
|
|
9
7
|
//#region src/core/TatchiPasskey/faucets/createAccountRelayServer.ts
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
require_validation.
|
|
14
|
-
|
|
8
|
+
function isSerializedRegistrationCredential(credential) {
|
|
9
|
+
if (!require_validation.isObject(credential)) return false;
|
|
10
|
+
const resp = credential.response;
|
|
11
|
+
if (!require_validation.isObject(resp)) return false;
|
|
12
|
+
return typeof resp.attestationObject === "string";
|
|
13
|
+
}
|
|
15
14
|
/**
|
|
16
15
|
* Create account and register user using relay-server atomic endpoint
|
|
17
16
|
* Makes a single call to the relay-server's /create_account_and_register_user endpoint
|
|
18
17
|
* which calls the contract's atomic create_account_and_register_user function
|
|
19
18
|
*/
|
|
20
|
-
async function createAccountAndRegisterWithRelayServer(context, nearAccountId, publicKey, credential, vrfChallenge, deterministicVrfPublicKey, authenticatorOptions, onEvent) {
|
|
19
|
+
async function createAccountAndRegisterWithRelayServer(context, nearAccountId, publicKey, credential, vrfChallenge, deterministicVrfPublicKey, authenticatorOptions, onEvent, opts) {
|
|
21
20
|
const { configs } = context;
|
|
22
21
|
if (!configs.relayer.url) throw new Error("Relay server URL is required for atomic registration");
|
|
23
22
|
try {
|
|
@@ -27,14 +26,17 @@ async function createAccountAndRegisterWithRelayServer(context, nearAccountId, p
|
|
|
27
26
|
status: require_sdkSentEvents.RegistrationStatus.PROGRESS,
|
|
28
27
|
message: "Creating account and adding access key..."
|
|
29
28
|
});
|
|
30
|
-
const isSerialized =
|
|
29
|
+
const isSerialized = isSerializedRegistrationCredential(credential);
|
|
31
30
|
const serialized = isSerialized ? require_credentialsHelpers.normalizeRegistrationCredential(credential) : require_credentialsHelpers.serializeRegistrationCredential(credential);
|
|
32
31
|
const serializedCredential = require_credentialsHelpers.removePrfOutputGuard(serialized);
|
|
33
32
|
if (!Array.isArray(serializedCredential?.response?.transports)) serializedCredential.response.transports = [];
|
|
33
|
+
const intent_digest_32 = Array.from(require_base64.base64UrlDecode(vrfChallenge.intentDigest || ""));
|
|
34
|
+
if (intent_digest_32.length !== 32) throw new Error("Missing or invalid vrfChallenge.intentDigest (expected base64url-encoded 32 bytes)");
|
|
34
35
|
const requestData = {
|
|
35
36
|
new_account_id: nearAccountId,
|
|
36
37
|
new_public_key: publicKey,
|
|
37
38
|
device_number: 1,
|
|
39
|
+
...opts?.thresholdEd25519?.clientVerifyingShareB64u ? { threshold_ed25519: { client_verifying_share_b64u: opts.thresholdEd25519.clientVerifyingShareB64u } } : {},
|
|
38
40
|
vrf_data: {
|
|
39
41
|
vrf_input_data: Array.from(require_base64.base64UrlDecode(vrfChallenge.vrfInput)),
|
|
40
42
|
vrf_output: Array.from(require_base64.base64UrlDecode(vrfChallenge.vrfOutput)),
|
|
@@ -43,7 +45,8 @@ async function createAccountAndRegisterWithRelayServer(context, nearAccountId, p
|
|
|
43
45
|
user_id: vrfChallenge.userId,
|
|
44
46
|
rp_id: vrfChallenge.rpId,
|
|
45
47
|
block_height: Number(vrfChallenge.blockHeight),
|
|
46
|
-
block_hash: Array.from(require_base64.base64UrlDecode(vrfChallenge.blockHash))
|
|
48
|
+
block_hash: Array.from(require_base64.base64UrlDecode(vrfChallenge.blockHash)),
|
|
49
|
+
intent_digest_32
|
|
47
50
|
},
|
|
48
51
|
webauthn_registration: serializedCredential,
|
|
49
52
|
deterministic_vrf_public_key: Array.from(require_base64.base64UrlDecode(deterministicVrfPublicKey)),
|
|
@@ -74,7 +77,15 @@ async function createAccountAndRegisterWithRelayServer(context, nearAccountId, p
|
|
|
74
77
|
});
|
|
75
78
|
return {
|
|
76
79
|
success: true,
|
|
77
|
-
transactionId: result.transactionHash
|
|
80
|
+
transactionId: result.transactionHash,
|
|
81
|
+
thresholdEd25519: result.thresholdEd25519 ? {
|
|
82
|
+
publicKey: result.thresholdEd25519.publicKey,
|
|
83
|
+
relayerKeyId: result.thresholdEd25519.relayerKeyId,
|
|
84
|
+
relayerVerifyingShareB64u: result.thresholdEd25519.relayerVerifyingShareB64u,
|
|
85
|
+
clientParticipantId: result.thresholdEd25519.clientParticipantId,
|
|
86
|
+
relayerParticipantId: result.thresholdEd25519.relayerParticipantId,
|
|
87
|
+
participantIds: result.thresholdEd25519.participantIds
|
|
88
|
+
} : void 0
|
|
78
89
|
};
|
|
79
90
|
} catch (error) {
|
|
80
91
|
console.error("Atomic registration failed:", error);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createAccountRelayServer.js","names":["RegistrationPhase","RegistrationStatus","isObject","serialized: WebAuthnRegistrationCredential","normalizeRegistrationCredential","serializeRegistrationCredential","removePrfOutputGuard","requestData: CreateAccountAndRegisterUserRequest","base64UrlDecode","result: CreateAccountAndRegisterResult","errorMessage","error: unknown"],"sources":["../../../../../src/core/TatchiPasskey/faucets/createAccountRelayServer.ts"],"sourcesContent":["import { VRFChallenge } from '../../types/vrf-worker';\nimport { RegistrationSSEEvent, RegistrationPhase, RegistrationStatus } from '../../types/sdkSentEvents';\nimport { PasskeyManagerContext } from '..';\nimport { base64UrlDecode, base64UrlEncode } from '../../../utils/encoders';\nimport type { SignedTransaction } from '../../NearClient';\nimport { removePrfOutputGuard, serializeRegistrationCredential, normalizeRegistrationCredential } from '../../WebAuthnManager/credentialsHelpers';\nimport type { WebAuthnRegistrationCredential } from '../../types/webauthn';\nimport type { AuthenticatorOptions } from '../../types/authenticatorOptions';\nimport type { CreateAccountAndRegisterResult } from '../../../server/core/types';\nimport { isObject } from '../../WalletIframe/validation';\nimport { errorMessage } from '../../../utils/errors';\n\n/**\n * HTTP Request body for the relay server's /create_account_and_register_user endpoint\n */\nexport interface CreateAccountAndRegisterUserRequest {\n new_account_id: string;\n new_public_key: string;\n device_number: number;\n vrf_data: {\n vrf_input_data: number[];\n vrf_output: number[];\n vrf_proof: number[];\n public_key: number[];\n user_id: string;\n rp_id: string;\n block_height: number;\n block_hash: number[];\n };\n webauthn_registration: WebAuthnRegistrationCredential;\n deterministic_vrf_public_key: number[];\n authenticator_options?: AuthenticatorOptions;\n}\n\n/**\n * Create account and register user using relay-server atomic endpoint\n * Makes a single call to the relay-server's /create_account_and_register_user endpoint\n * which calls the contract's atomic create_account_and_register_user function\n */\nexport async function createAccountAndRegisterWithRelayServer(\n context: PasskeyManagerContext,\n nearAccountId: string,\n publicKey: string,\n credential: WebAuthnRegistrationCredential | PublicKeyCredential,\n vrfChallenge: VRFChallenge,\n deterministicVrfPublicKey: string,\n authenticatorOptions?: AuthenticatorOptions,\n onEvent?: (event: RegistrationSSEEvent) => void,\n): Promise<{\n success: boolean;\n transactionId?: string;\n error?: string;\n}> {\n const { configs } = context;\n\n if (!configs.relayer.url) {\n throw new Error('Relay server URL is required for atomic registration');\n }\n\n try {\n onEvent?.({\n step: 4,\n phase: RegistrationPhase.STEP_4_ACCESS_KEY_ADDITION,\n status: RegistrationStatus.PROGRESS,\n message: 'Creating account and adding access key...',\n });\n\n // Serialize the WebAuthn credential properly for the contract.\n // Accept both live PublicKeyCredential and already-serialized credentials from secureConfirm.\n const isSerialized = isObject(credential)\n && typeof (credential as any)?.response?.attestationObject === 'string';\n\n // Ensure proper serialization + normalization regardless of source\n const serialized: WebAuthnRegistrationCredential = isSerialized\n ? normalizeRegistrationCredential(credential as WebAuthnRegistrationCredential)\n : serializeRegistrationCredential(credential as PublicKeyCredential);\n\n // Strip PRF outputs before sending to relay/contract\n const serializedCredential = removePrfOutputGuard<WebAuthnRegistrationCredential>(serialized);\n // Normalize transports to an array (avoid null)\n if (!Array.isArray(serializedCredential?.response?.transports)) {\n serializedCredential.response.transports = [];\n }\n\n // Prepare data for atomic endpoint\n const requestData: CreateAccountAndRegisterUserRequest = {\n new_account_id: nearAccountId,\n new_public_key: publicKey,\n device_number: 1, // First device gets device number 1 (1-indexed)\n vrf_data: {\n vrf_input_data: Array.from(base64UrlDecode(vrfChallenge.vrfInput)),\n vrf_output: Array.from(base64UrlDecode(vrfChallenge.vrfOutput)),\n vrf_proof: Array.from(base64UrlDecode(vrfChallenge.vrfProof)),\n public_key: Array.from(base64UrlDecode(vrfChallenge.vrfPublicKey)),\n user_id: vrfChallenge.userId,\n rp_id: vrfChallenge.rpId,\n block_height: Number(vrfChallenge.blockHeight),\n block_hash: Array.from(base64UrlDecode(vrfChallenge.blockHash)),\n },\n webauthn_registration: serializedCredential,\n deterministic_vrf_public_key: Array.from(base64UrlDecode(deterministicVrfPublicKey)),\n authenticator_options: authenticatorOptions || context.configs.authenticatorOptions,\n };\n\n onEvent?.({\n step: 5,\n phase: RegistrationPhase.STEP_5_CONTRACT_REGISTRATION,\n status: RegistrationStatus.PROGRESS,\n message: 'Registering user with Web3Authn contract...',\n });\n\n // Call the atomic endpoint\n const response = await fetch(`${configs.relayer.url}/create_account_and_register_user`, {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify(requestData)\n });\n\n // Handle both successful and failed responses\n const result: CreateAccountAndRegisterResult = await response.json();\n\n if (!response.ok) {\n // Extract specific error message from relay server response\n const errorMessage = result.error || result.message || `HTTP ${response.status}: ${response.statusText}`;\n throw new Error(errorMessage);\n }\n\n if (!result.success) {\n throw new Error(result.error || 'Atomic registration failed');\n }\n\n onEvent?.({\n step: 5,\n phase: RegistrationPhase.STEP_5_CONTRACT_REGISTRATION,\n status: RegistrationStatus.SUCCESS,\n message: 'User registered with Web3Authn contract successfully',\n });\n\n return {\n success: true,\n transactionId: result.transactionHash,\n };\n\n } catch (error: unknown) {\n console.error('Atomic registration failed:', error);\n\n onEvent?.({\n step: 0,\n phase: RegistrationPhase.REGISTRATION_ERROR,\n status: RegistrationStatus.ERROR,\n message: 'Registration failed',\n error: errorMessage(error),\n });\n\n return {\n success: false,\n error: errorMessage(error),\n };\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAuCA,eAAsB,wCACpB,SACA,eACA,WACA,YACA,cACA,2BACA,sBACA,SAKC;CACD,MAAM,EAAE,YAAY;AAEpB,KAAI,CAAC,QAAQ,QAAQ,IACnB,OAAM,IAAI,MAAM;AAGlB,KAAI;AACF,YAAU;GACR,MAAM;GACN,OAAOA,wCAAkB;GACzB,QAAQC,yCAAmB;GAC3B,SAAS;;EAKX,MAAM,eAAeC,4BAAS,eACzB,OAAQ,YAAoB,UAAU,sBAAsB;EAGjE,MAAMC,aAA6C,eAC/CC,2DAAgC,cAChCC,2DAAgC;EAGpC,MAAM,uBAAuBC,gDAAqD;AAElF,MAAI,CAAC,MAAM,QAAQ,sBAAsB,UAAU,YACjD,sBAAqB,SAAS,aAAa;EAI7C,MAAMC,cAAmD;GACvD,gBAAgB;GAChB,gBAAgB;GAChB,eAAe;GACf,UAAU;IACR,gBAAgB,MAAM,KAAKC,+BAAgB,aAAa;IACxD,YAAY,MAAM,KAAKA,+BAAgB,aAAa;IACpD,WAAW,MAAM,KAAKA,+BAAgB,aAAa;IACnD,YAAY,MAAM,KAAKA,+BAAgB,aAAa;IACpD,SAAS,aAAa;IACtB,OAAO,aAAa;IACpB,cAAc,OAAO,aAAa;IAClC,YAAY,MAAM,KAAKA,+BAAgB,aAAa;;GAEtD,uBAAuB;GACvB,8BAA8B,MAAM,KAAKA,+BAAgB;GACzD,uBAAuB,wBAAwB,QAAQ,QAAQ;;AAGjE,YAAU;GACR,MAAM;GACN,OAAOR,wCAAkB;GACzB,QAAQC,yCAAmB;GAC3B,SAAS;;EAIX,MAAM,WAAW,MAAM,MAAM,GAAG,QAAQ,QAAQ,IAAI,oCAAoC;GACtF,QAAQ;GACR,SAAS,EAAE,gBAAgB;GAC3B,MAAM,KAAK,UAAU;;EAIvB,MAAMQ,SAAyC,MAAM,SAAS;AAE9D,MAAI,CAAC,SAAS,IAAI;GAEhB,MAAMC,iBAAe,OAAO,SAAS,OAAO,WAAW,QAAQ,SAAS,OAAO,IAAI,SAAS;AAC5F,SAAM,IAAI,MAAMA;;AAGlB,MAAI,CAAC,OAAO,QACV,OAAM,IAAI,MAAM,OAAO,SAAS;AAGlC,YAAU;GACR,MAAM;GACN,OAAOV,wCAAkB;GACzB,QAAQC,yCAAmB;GAC3B,SAAS;;AAGX,SAAO;GACL,SAAS;GACT,eAAe,OAAO;;UAGjBU,OAAgB;AACvB,UAAQ,MAAM,+BAA+B;AAE7C,YAAU;GACR,MAAM;GACN,OAAOX,wCAAkB;GACzB,QAAQC,yCAAmB;GAC3B,SAAS;GACT,OAAOS,4BAAa;;AAGtB,SAAO;GACL,SAAS;GACT,OAAOA,4BAAa"}
|
|
1
|
+
{"version":3,"file":"createAccountRelayServer.js","names":["isObject","RegistrationPhase","RegistrationStatus","serialized: WebAuthnRegistrationCredential","normalizeRegistrationCredential","serializeRegistrationCredential","removePrfOutputGuard","base64UrlDecode","requestData: CreateAccountAndRegisterUserRequest","result: CreateAccountAndRegisterResult","errorMessage","error: unknown"],"sources":["../../../../../src/core/TatchiPasskey/faucets/createAccountRelayServer.ts"],"sourcesContent":["import { VRFChallenge } from '../../types/vrf-worker';\nimport { RegistrationSSEEvent, RegistrationPhase, RegistrationStatus } from '../../types/sdkSentEvents';\nimport { PasskeyManagerContext } from '..';\nimport { base64UrlDecode } from '../../../utils/encoders';\nimport { removePrfOutputGuard, serializeRegistrationCredential, normalizeRegistrationCredential } from '../../WebAuthnManager/credentialsHelpers';\nimport type { WebAuthnRegistrationCredential } from '../../types/webauthn';\nimport type { AuthenticatorOptions } from '../../types/authenticatorOptions';\nimport type { CreateAccountAndRegisterResult } from '../../../server/core/types';\nimport { isObject } from '@/utils/validation';\nimport { errorMessage } from '../../../utils/errors';\n\nfunction isSerializedRegistrationCredential(\n credential: WebAuthnRegistrationCredential | PublicKeyCredential,\n): credential is WebAuthnRegistrationCredential {\n if (!isObject(credential)) return false;\n const resp = (credential as { response?: unknown }).response;\n if (!isObject(resp)) return false;\n return typeof (resp as { attestationObject?: unknown }).attestationObject === 'string';\n}\n\n/**\n * HTTP Request body for the relay server's /create_account_and_register_user endpoint\n */\nexport interface CreateAccountAndRegisterUserRequest {\n new_account_id: string;\n new_public_key: string;\n device_number: number;\n threshold_ed25519?: {\n client_verifying_share_b64u: string;\n };\n vrf_data: {\n vrf_input_data: number[];\n vrf_output: number[];\n vrf_proof: number[];\n public_key: number[];\n user_id: string;\n rp_id: string;\n block_height: number;\n block_hash: number[];\n intent_digest_32: number[];\n };\n webauthn_registration: WebAuthnRegistrationCredential;\n deterministic_vrf_public_key: number[];\n authenticator_options?: AuthenticatorOptions;\n}\n\n/**\n * Create account and register user using relay-server atomic endpoint\n * Makes a single call to the relay-server's /create_account_and_register_user endpoint\n * which calls the contract's atomic create_account_and_register_user function\n */\nexport async function createAccountAndRegisterWithRelayServer(\n context: PasskeyManagerContext,\n nearAccountId: string,\n publicKey: string,\n credential: WebAuthnRegistrationCredential | PublicKeyCredential,\n vrfChallenge: VRFChallenge,\n deterministicVrfPublicKey: string,\n authenticatorOptions?: AuthenticatorOptions,\n onEvent?: (event: RegistrationSSEEvent) => void,\n opts?: {\n thresholdEd25519?: {\n clientVerifyingShareB64u: string;\n };\n },\n): Promise<{\n success: boolean;\n transactionId?: string;\n thresholdEd25519?: {\n publicKey: string;\n relayerKeyId: string;\n relayerVerifyingShareB64u?: string;\n clientParticipantId?: number;\n relayerParticipantId?: number;\n participantIds?: number[];\n };\n error?: string;\n}> {\n const { configs } = context;\n\n if (!configs.relayer.url) {\n throw new Error('Relay server URL is required for atomic registration');\n }\n\n try {\n onEvent?.({\n step: 4,\n phase: RegistrationPhase.STEP_4_ACCESS_KEY_ADDITION,\n status: RegistrationStatus.PROGRESS,\n message: 'Creating account and adding access key...',\n });\n\n // Serialize the WebAuthn credential properly for the contract.\n // Accept both live PublicKeyCredential and already-serialized credentials from secureConfirm.\n const isSerialized = isSerializedRegistrationCredential(credential);\n\n // Ensure proper serialization + normalization regardless of source\n const serialized: WebAuthnRegistrationCredential = isSerialized\n ? normalizeRegistrationCredential(credential)\n : serializeRegistrationCredential(credential);\n\n // Strip PRF outputs before sending to relay/contract\n const serializedCredential = removePrfOutputGuard<WebAuthnRegistrationCredential>(serialized);\n // Normalize transports to an array (avoid null)\n if (!Array.isArray(serializedCredential?.response?.transports)) {\n serializedCredential.response.transports = [];\n }\n\n // Prepare data for atomic endpoint\n const intent_digest_32 = Array.from(base64UrlDecode(vrfChallenge.intentDigest || ''));\n if (intent_digest_32.length !== 32) {\n throw new Error('Missing or invalid vrfChallenge.intentDigest (expected base64url-encoded 32 bytes)');\n }\n const requestData: CreateAccountAndRegisterUserRequest = {\n new_account_id: nearAccountId,\n new_public_key: publicKey,\n device_number: 1, // First device gets device number 1 (1-indexed)\n ...(opts?.thresholdEd25519?.clientVerifyingShareB64u\n ? {\n threshold_ed25519: {\n client_verifying_share_b64u: opts.thresholdEd25519.clientVerifyingShareB64u,\n },\n }\n : {}),\n vrf_data: {\n vrf_input_data: Array.from(base64UrlDecode(vrfChallenge.vrfInput)),\n vrf_output: Array.from(base64UrlDecode(vrfChallenge.vrfOutput)),\n vrf_proof: Array.from(base64UrlDecode(vrfChallenge.vrfProof)),\n public_key: Array.from(base64UrlDecode(vrfChallenge.vrfPublicKey)),\n user_id: vrfChallenge.userId,\n rp_id: vrfChallenge.rpId,\n block_height: Number(vrfChallenge.blockHeight),\n block_hash: Array.from(base64UrlDecode(vrfChallenge.blockHash)),\n intent_digest_32,\n },\n webauthn_registration: serializedCredential,\n deterministic_vrf_public_key: Array.from(base64UrlDecode(deterministicVrfPublicKey)),\n authenticator_options: authenticatorOptions || context.configs.authenticatorOptions,\n };\n\n onEvent?.({\n step: 5,\n phase: RegistrationPhase.STEP_5_CONTRACT_REGISTRATION,\n status: RegistrationStatus.PROGRESS,\n message: 'Registering user with Web3Authn contract...',\n });\n\n // Call the atomic endpoint\n const response = await fetch(`${configs.relayer.url}/create_account_and_register_user`, {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify(requestData)\n });\n\n // Handle both successful and failed responses\n const result: CreateAccountAndRegisterResult = await response.json();\n\n if (!response.ok) {\n // Extract specific error message from relay server response\n const errorMessage = result.error || result.message || `HTTP ${response.status}: ${response.statusText}`;\n throw new Error(errorMessage);\n }\n\n if (!result.success) {\n throw new Error(result.error || 'Atomic registration failed');\n }\n\n onEvent?.({\n step: 5,\n phase: RegistrationPhase.STEP_5_CONTRACT_REGISTRATION,\n status: RegistrationStatus.SUCCESS,\n message: 'User registered with Web3Authn contract successfully',\n });\n\n return {\n success: true,\n transactionId: result.transactionHash,\n thresholdEd25519: result.thresholdEd25519\n ? {\n publicKey: result.thresholdEd25519.publicKey,\n relayerKeyId: result.thresholdEd25519.relayerKeyId,\n relayerVerifyingShareB64u: result.thresholdEd25519.relayerVerifyingShareB64u,\n clientParticipantId: result.thresholdEd25519.clientParticipantId,\n relayerParticipantId: result.thresholdEd25519.relayerParticipantId,\n participantIds: result.thresholdEd25519.participantIds,\n }\n : undefined,\n };\n\n } catch (error: unknown) {\n console.error('Atomic registration failed:', error);\n\n onEvent?.({\n step: 0,\n phase: RegistrationPhase.REGISTRATION_ERROR,\n status: RegistrationStatus.ERROR,\n message: 'Registration failed',\n error: errorMessage(error),\n });\n\n return {\n success: false,\n error: errorMessage(error),\n };\n }\n}\n"],"mappings":";;;;;;;AAWA,SAAS,mCACP,YAC8C;AAC9C,KAAI,CAACA,4BAAS,YAAa,QAAO;CAClC,MAAM,OAAQ,WAAsC;AACpD,KAAI,CAACA,4BAAS,MAAO,QAAO;AAC5B,QAAO,OAAQ,KAAyC,sBAAsB;;;;;;;AAkChF,eAAsB,wCACpB,SACA,eACA,WACA,YACA,cACA,2BACA,sBACA,SACA,MAiBC;CACD,MAAM,EAAE,YAAY;AAEpB,KAAI,CAAC,QAAQ,QAAQ,IACnB,OAAM,IAAI,MAAM;AAGlB,KAAI;AACF,YAAU;GACR,MAAM;GACN,OAAOC,wCAAkB;GACzB,QAAQC,yCAAmB;GAC3B,SAAS;;EAKX,MAAM,eAAe,mCAAmC;EAGxD,MAAMC,aAA6C,eAC/CC,2DAAgC,cAChCC,2DAAgC;EAGpC,MAAM,uBAAuBC,gDAAqD;AAElF,MAAI,CAAC,MAAM,QAAQ,sBAAsB,UAAU,YACjD,sBAAqB,SAAS,aAAa;EAI7C,MAAM,mBAAmB,MAAM,KAAKC,+BAAgB,aAAa,gBAAgB;AACjF,MAAI,iBAAiB,WAAW,GAC9B,OAAM,IAAI,MAAM;EAElB,MAAMC,cAAmD;GACvD,gBAAgB;GAChB,gBAAgB;GAChB,eAAe;GACf,GAAI,MAAM,kBAAkB,2BACxB,EACA,mBAAmB,EACjB,6BAA6B,KAAK,iBAAiB,+BAGrD;GACJ,UAAU;IACR,gBAAgB,MAAM,KAAKD,+BAAgB,aAAa;IACxD,YAAY,MAAM,KAAKA,+BAAgB,aAAa;IACpD,WAAW,MAAM,KAAKA,+BAAgB,aAAa;IACnD,YAAY,MAAM,KAAKA,+BAAgB,aAAa;IACpD,SAAS,aAAa;IACtB,OAAO,aAAa;IACpB,cAAc,OAAO,aAAa;IAClC,YAAY,MAAM,KAAKA,+BAAgB,aAAa;IACpD;;GAEF,uBAAuB;GACvB,8BAA8B,MAAM,KAAKA,+BAAgB;GACzD,uBAAuB,wBAAwB,QAAQ,QAAQ;;AAGjE,YAAU;GACR,MAAM;GACN,OAAON,wCAAkB;GACzB,QAAQC,yCAAmB;GAC3B,SAAS;;EAIX,MAAM,WAAW,MAAM,MAAM,GAAG,QAAQ,QAAQ,IAAI,oCAAoC;GACtF,QAAQ;GACR,SAAS,EAAE,gBAAgB;GAC3B,MAAM,KAAK,UAAU;;EAIvB,MAAMO,SAAyC,MAAM,SAAS;AAE9D,MAAI,CAAC,SAAS,IAAI;GAEhB,MAAMC,iBAAe,OAAO,SAAS,OAAO,WAAW,QAAQ,SAAS,OAAO,IAAI,SAAS;AAC5F,SAAM,IAAI,MAAMA;;AAGlB,MAAI,CAAC,OAAO,QACV,OAAM,IAAI,MAAM,OAAO,SAAS;AAGlC,YAAU;GACR,MAAM;GACN,OAAOT,wCAAkB;GACzB,QAAQC,yCAAmB;GAC3B,SAAS;;AAGX,SAAO;GACL,SAAS;GACT,eAAe,OAAO;GACtB,kBAAkB,OAAO,mBACrB;IACA,WAAW,OAAO,iBAAiB;IACnC,cAAc,OAAO,iBAAiB;IACtC,2BAA2B,OAAO,iBAAiB;IACnD,qBAAqB,OAAO,iBAAiB;IAC7C,sBAAsB,OAAO,iBAAiB;IAC9C,gBAAgB,OAAO,iBAAiB;OAExC;;UAGCS,OAAgB;AACvB,UAAQ,MAAM,+BAA+B;AAE7C,YAAU;GACR,MAAM;GACN,OAAOV,wCAAkB;GACzB,QAAQC,yCAAmB;GAC3B,SAAS;GACT,OAAOQ,4BAAa;;AAGtB,SAAO;GACL,SAAS;GACT,OAAOA,4BAAa"}
|