@seams/wallet 0.24.0 → 0.27.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/dist/.build-inputs.sha256 +1 -1
- package/dist/esm/SeamsWeb/operations/tempo/executeEvmFamilyTransaction.js +1 -0
- package/dist/esm/SeamsWeb/publicApi/near.js +22 -11
- package/dist/esm/SeamsWeb/walletIframe/client/evmFamilyCommands.js +1 -0
- package/dist/esm/SeamsWeb/walletIframe/client/nearCommands.js +9 -10
- package/dist/esm/SeamsWeb/walletIframe/client/overlay/overlay-styles.js +73 -39
- package/dist/esm/SeamsWeb/walletIframe/client/router.js +61 -38
- package/dist/esm/SeamsWeb/walletIframe/host/auth-menu/domain.js +1 -0
- package/dist/esm/SeamsWeb/walletIframe/host/surface-measurement-reporter.js +1 -0
- package/dist/esm/SeamsWeb/walletIframe/host/ui/auth-menu/AuthMenuSurface.js +1 -1
- package/dist/esm/SeamsWeb/walletIframe/host/ui/auth-menu/mountAuthMenuSurface.js +28 -0
- package/dist/esm/SeamsWeb/walletIframe/shared/messages.js +6 -0
- package/dist/esm/core/indexedDB/seamsWalletDB/repositories.js +8 -1
- package/dist/esm/core/rpcClients/near/NearClient.js +7 -0
- package/dist/esm/core/rpcClients/relayer/walletSessionAuthorizationStatus.js +7 -0
- package/dist/esm/core/signingEngine/flows/signNear/signTransactions.js +3 -0
- package/dist/esm/core/signingEngine/nearTransactionSubmission.js +89 -0
- package/dist/esm/core/signingEngine/uiConfirm/ui/confirm-surface-resize.js +2 -2
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/ReviewDisclosure.js +7 -1
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/mountConfirmationSurface.js +123 -14
- package/dist/esm/core/ui/messages.js +12 -0
- package/dist/esm/react/components/AccountMenuButton/AccountMenuButtonMock.js +5 -7
- package/dist/esm/react/components/AccountMenuButton/AccountMenuButtonView.js +21 -5
- package/dist/esm/react/components/AccountMenuButton/AccountMenuModal.js +66 -0
- package/dist/esm/react/components/AccountMenuButton/AccountsSection.css +18 -11
- package/dist/esm/react/components/AccountMenuButton/AuthenticationMethodRow.js +5 -11
- package/dist/esm/react/components/AccountMenuButton/ExportKeysSection.css +17 -15
- package/dist/esm/react/components/AccountMenuButton/LinkedDevicesModal.css +156 -106
- package/dist/esm/react/components/AccountMenuButton/MenuItem.css +37 -29
- package/dist/esm/react/components/AccountMenuButton/ProfileDropdown.css +53 -21
- package/dist/esm/react/components/AccountMenuButton/TransactionSettingsSection.css +124 -82
- package/dist/esm/react/components/AccountMenuButton/UserAccountButton.css +45 -27
- package/dist/esm/react/components/AccountMenuButton/WalletSettingsLayout.css +115 -93
- package/dist/esm/react/components/AccountMenuButton/Web3AuthProfileButton.css +179 -92
- package/dist/esm/react/components/AccountMenuButton/hooks/useProfileState.js +62 -49
- package/dist/esm/react/components/AccountMenuButton/icons/HoverArrowIcon.css +36 -12
- package/dist/esm/react/components/AccountMenuButton/icons/HoverArrowIcon.js +10 -2
- package/dist/esm/react/components/AccountMenuButton/icons/Icon.css +10 -0
- package/dist/esm/react/components/AccountMenuButton/icons/LogOutIcon2.js +15 -16
- package/dist/esm/react/components/AccountMenuButton/icons/SpinnerIcon.js +12 -18
- package/dist/esm/react/components/AccountMenuButton/icons/TouchIcon.css +3 -3
- package/dist/esm/react/components/AccountMenuButton/icons/TouchIcon.js +11 -5
- package/dist/esm/react/components/AccountMenuButton/icons/lucideIcon.js +20 -6
- package/dist/esm/react/components/AccountMenuButton/index.js +18 -42
- package/dist/esm/react/components/ExternalNearWalletIcon.js +32 -0
- package/dist/esm/react/components/FingerprintIcon.js +13 -19
- package/dist/esm/react/components/HostedSeamsAuthMenu/SeamsAuthMenuMock.js +13 -2
- package/dist/esm/react/components/HostedSeamsAuthMenu/WalletConnectorMenu.css +182 -0
- package/dist/esm/react/components/HostedSeamsAuthMenu/WalletConnectorMenu.js +315 -0
- package/dist/esm/react/components/HostedSeamsAuthMenu/shell.js +20 -5
- package/dist/esm/react/components/QRCodeIcon.js +37 -43
- package/dist/esm/react/components/QRCodeScanner.css +65 -60
- package/dist/esm/react/components/ShowQRCode.css +145 -40
- package/dist/esm/react/components/ShowQRCode.js +27 -37
- package/dist/esm/react/components/externalWalletBrandImages.js +7 -0
- package/dist/esm/react/components/theme/Theme.css +67 -0
- package/dist/esm/react/components/theme/ThemeProvider.js +6 -6
- package/dist/esm/react/externalEvm.js +11 -4
- package/dist/esm/react/externalNear.js +15 -10
- package/dist/esm/react/externalWalletPicker.css +117 -0
- package/dist/esm/react/index.js +3 -2
- package/dist/esm/react/styles/styles.css +2148 -550
- package/dist/esm/react/styles.css +7 -1
- package/dist/esm/react/transactionReview/TransactionReviewHost.js +3 -0
- package/dist/esm/react/transactionReview/boundCalls.js +31 -26
- package/dist/esm/sdk/{ConfirmationDrawer-CTaGM1AE.js → ConfirmationDrawer-AZruQmhP.js} +1 -1
- package/dist/esm/sdk/NonceCoordinator-3YhmDTS5.js +1 -0
- package/dist/{public/sdk/SeamsWordmark-CFpsGoLw.js → esm/sdk/SeamsWordmark-DwvPx2UA.js} +1 -1
- package/dist/esm/sdk/accountLifecycle-6DHYWf0v.js +1 -0
- package/dist/esm/sdk/actions-DrtSTGus.js +1 -0
- package/dist/esm/sdk/activeWalletSession-BJ4B-nJo.js +1 -0
- package/dist/esm/sdk/adapters-d9yh1bdC.js +1 -0
- package/dist/esm/sdk/appearance-DL7c6bML.js +1 -0
- package/dist/esm/sdk/appearance-token-vars-BJydfWT_.js +1 -0
- package/dist/esm/sdk/canonicalPrimitives-Jd3i_Ngz.js +1 -0
- package/dist/esm/sdk/chains-B72I4PDH.js +1 -0
- package/dist/esm/sdk/challengeDelivery-Dj9HrjW9.js +1 -0
- package/dist/esm/sdk/clientSessionPersistenceState-BCkJAYSz.js +1 -0
- package/dist/esm/sdk/{collectAuthenticationCredentialForChallengeB64u-kLIxmw3V.js → collectAuthenticationCredentialForChallengeB64u-I4wq8OGq.js} +1 -1
- package/dist/esm/sdk/{commitQueue-Bs23Rs57.js → commitQueue-CYruPlkm.js} +1 -1
- package/dist/esm/sdk/configBuilder-CSwJrmcR.js +1 -0
- package/dist/esm/sdk/configuration-DBEc3bsj.js +1 -0
- package/dist/esm/sdk/confirm-ui-nU6ymgiv.js +2 -0
- package/dist/esm/sdk/confirmTypes-BvVtQs-M.js +1 -0
- package/dist/esm/sdk/device-linking-DiCNt3iA.js +1 -0
- package/dist/esm/sdk/deviceLinkApproval-CfEiotVt.js +2 -0
- package/dist/esm/sdk/digestEncoding-CqNXPZY9.js +1 -0
- package/dist/esm/sdk/{chains-gV2K9gA4.js → digests-BIaE0DMd.js} +1 -1
- package/dist/esm/sdk/{display-BXjW58UF.js → display-D0EPmU4w.js} +1 -1
- package/dist/esm/sdk/ecdsaCapabilityManifest-DAJEVjlP.js +1 -0
- package/dist/esm/sdk/{ecdsaChainTarget-DbLthshF.js → ecdsaChainTarget-Bm5X4k-V.js} +1 -1
- package/dist/esm/sdk/ecdsaDerivationClientWasm-AYOJgTJm.js +1 -0
- package/dist/esm/sdk/ecdsaDerivationExport-DJKOzDbS.js +1 -0
- package/dist/esm/sdk/{ecdsaWalletRecords-BgcXXCZy.js → ecdsaWalletRecords-WLyq414E.js} +1 -1
- package/dist/esm/sdk/emailOtpEcdsaDerivationIdentity-HFQXc1Yw.js +1 -0
- package/dist/esm/sdk/{enrichDisplayModelWithAbi-CudPUW0T.js → enrichDisplayModelWithAbi-O6Mw4i2E.js} +1 -1
- package/dist/esm/sdk/errors-BJBDbwHk.js +1 -0
- package/dist/esm/sdk/{evmCryptoWasm-DacbCVNM.js → evmCryptoWasm-BUPb4hBH.js} +1 -1
- package/dist/esm/sdk/{export-viewer-host-DsWOvc0t.js → export-viewer-host-BtrKVXxu.js} +1 -1
- package/dist/esm/sdk/exportKeypairOperation-CGE9ZU1m.js +1 -0
- package/dist/esm/sdk/helpers-Dubwo5uK.js +1 -0
- package/dist/esm/sdk/host-DayrOrgm.js +1 -0
- package/dist/esm/sdk/icons-BlMXolHv.js +1 -0
- package/dist/esm/sdk/indexedDB-C4SDsyOG.js +1 -0
- package/dist/esm/sdk/intentDigest-HvRsBQ1z.js +1 -0
- package/dist/esm/sdk/keyMaterialEnvelope-Dm2ZEilb.js +1 -0
- package/dist/esm/sdk/{lanes-C7OvAK_L.js → lanes-BU-fGqY4.js} +1 -1
- package/dist/esm/sdk/localOnly-BATWJj78.js +1 -0
- package/dist/{public/sdk/mountExportPrivateKeySurface-CV1KrFWg.js → esm/sdk/mountExportPrivateKeySurface-CyHU8bVc.js} +1 -1
- package/dist/esm/sdk/{mountRecoveryCodeBackupSurface-CVXU1zzl.js → mountRecoveryCodeBackupSurface-C7aglQxf.js} +1 -1
- package/dist/esm/sdk/nearEd25519YaoMaterialActivation-BfXmy3Jr.js +1 -0
- package/dist/esm/sdk/nearEd25519YaoSigningPreparation-DHNk0F8e.js +1 -0
- package/dist/esm/sdk/nearRpcResults-CeHdqaS4.js +1 -0
- package/dist/esm/sdk/{nonceLaneKeys-BS4fek17.js → nonceLaneKeys-BF_UpvIy.js} +1 -1
- package/dist/esm/sdk/{normalization-BN-2VWZf.js → normalization-Df9fZWJC.js} +1 -1
- package/dist/esm/sdk/operationFingerprint-Bas59T7L.js +1 -0
- package/dist/esm/sdk/participants-BXdREC5k.js +1 -0
- package/dist/{public/sdk/pendingWalletRecoveryCodeBackup-lr1oISjL.js → esm/sdk/pendingWalletRecoveryCodeBackup-Cjx-X-pP.js} +1 -1
- package/dist/esm/sdk/presignaturePool-BbvqRWYw.js +1 -0
- package/dist/{public/sdk/presignatures-B9GrGx0L.js → esm/sdk/presignatures-BCeq56DG.js} +1 -1
- package/dist/esm/sdk/recovery-entrypoint-DJbMDC_m.js +1 -0
- package/dist/esm/sdk/recoveryAuthorization-CQsjb8Tm.js +1 -0
- package/dist/esm/sdk/registration-CNLUYN-p.js +1 -0
- package/dist/esm/sdk/registration-HSwOHZOo.js +1 -0
- package/dist/esm/sdk/{registrationAccounts-BHikxS5q.js → registrationAccounts-4r74gX1l.js} +1 -1
- package/dist/esm/sdk/registrationIntent-Do1tD1V7.js +1 -0
- package/dist/esm/sdk/registrationSignerPlan-DK2b3N_p.js +1 -0
- package/dist/esm/sdk/requireStepUpAuth-COqCGb1i.js +1 -0
- package/dist/esm/sdk/resealedEnvelopeResult-B1p5UkYg.js +1 -0
- package/dist/esm/sdk/routerAbNormalSigning-D-UZmCBS.js +1 -0
- package/dist/esm/sdk/runtime-auth-BCoj7_-G.js +1 -0
- package/dist/esm/sdk/runtime-device-link-DAsq5tGT.js +1 -0
- package/dist/esm/sdk/runtime-ecdsa-tempo-CVh_Vwl6.js +1 -0
- package/dist/esm/sdk/runtime-email-otp-BxSKK9AG.js +1 -0
- package/dist/esm/sdk/runtime-export-BWnQXMzT.js +1 -0
- package/dist/esm/sdk/runtime-near-CuzPZrDS.js +1 -0
- package/dist/esm/sdk/runtime-preferences-B-nDWlm3.js +1 -0
- package/dist/esm/sdk/runtime-recovery-DpOdEJ8N.js +1 -0
- package/dist/esm/sdk/runtime-recovery-codes-DeUjQsxZ.js +1 -0
- package/dist/esm/sdk/runtimeContext-5JcewRo3.js +6 -0
- package/dist/esm/sdk/secp256k1-CE7-q9Sn.js +1 -0
- package/dist/esm/sdk/sessionObservationRevision-JOvVF4Hf.js +1 -0
- package/dist/esm/sdk/signEvmFamily-BY5jlZEG.js +1 -0
- package/dist/esm/sdk/{signEvmFamilyWithUiConfirmForTempo-BMfC2sc2.js → signEvmFamilyWithUiConfirmForTempo-CrMIAXUe.js} +1 -1
- package/dist/esm/sdk/{signEvmWithUiConfirm-BNkupz3z.js → signEvmWithUiConfirm-CGrLtMV6.js} +1 -1
- package/dist/esm/sdk/signNear-DMpJFkwF.js +1 -0
- package/dist/esm/sdk/{signatureUses-DrqCoN12.js → signatureUses-kSrUHSSH.js} +1 -1
- package/dist/esm/sdk/signerSlot-D2RZnb27.js +1 -0
- package/dist/esm/sdk/{signingFlow-BVvteILM.js → signingFlow-BcetvUeS.js} +2 -2
- package/dist/esm/sdk/signingQueue-dMFOFOP5.js +1 -0
- package/dist/esm/sdk/surface-measurement-reporter-DXsvq401.js +1 -0
- package/dist/esm/sdk/thresholdEcdsa-CqR1fFA-.js +1 -0
- package/dist/esm/sdk/{trace-CGNqO1FV.js → trace--mRP2OQc.js} +1 -1
- package/dist/esm/sdk/{transaction-activity-DPq9RTh5.js → transaction-activity-DCzHGg3b.js} +1 -1
- package/dist/esm/sdk/transactionReview-CGIlI835.js +1 -0
- package/dist/esm/sdk/{transactionReviewAdmission--8tDis7M.js → transactionReviewAdmission-Cf_qUZJt.js} +1 -1
- package/dist/{public/sdk/transactionState-BS1VLT7B.js → esm/sdk/transactionState-29T9xfvL.js} +1 -1
- package/dist/esm/sdk/tx-confirm-ui.js +173 -18
- package/dist/esm/sdk/{types-DdzuHlAQ.js → types-f7dyj5N6.js} +1 -1
- package/dist/esm/sdk/unlockedEd25519ExportRootCapability-yzxQjIFd.js +1 -0
- package/dist/esm/sdk/voiceid-host.js +1 -1
- package/dist/esm/sdk/wallet-iframe-host-ecdsa.js +1 -1
- package/dist/esm/sdk/wallet-iframe-host-full.js +1 -1
- package/dist/esm/sdk/wallet-iframe-host-near.js +1 -1
- package/dist/esm/sdk/wallet-iframe-host-runtime.js +1 -1
- package/dist/esm/sdk/wallet-recovery-BZB2Vu3X.js +1 -0
- package/dist/esm/sdk/wallet-ui.css +1 -1
- package/dist/esm/sdk/walletAuthMethodRecord-DLBB5fez.js +1 -0
- package/dist/esm/sdk/walletAuthority-BTGAuOi8.js +1 -0
- package/dist/esm/sdk/walletCapabilityBindings-D5YYB7nN.js +1 -0
- package/dist/esm/sdk/walletCustodyEcdsaContinuity-C31YQ9av.js +1 -0
- package/dist/esm/sdk/walletCustodyOperation-DimzAbCB.js +1 -0
- package/dist/esm/sdk/walletDbName-Ca0rCq5r.js +1 -0
- package/dist/esm/sdk/walletOwnershipGeneration-CgjCtPrV.js +1 -0
- package/dist/esm/sdk/walletRecoveryAdminProof-CvSYbyg5.js +1 -0
- package/dist/esm/sdk/walletRecoveryCommit-Cc2LAkCS.js +1 -0
- package/dist/esm/sdk/walletRegistrationSetupPrewarm-CEvGKQSg.js +1 -0
- package/dist/esm/sdk/{walletSessionAuthorizationProjection-BJgnZaBc.js → walletSessionAuthorizationProjection-BzUH6gHV.js} +1 -1
- package/dist/esm/sdk/walletSessionAuthorizationStatus-DG7DPcgR.js +1 -0
- package/dist/esm/sdk/{walletSessionAuthorizationStore-zkxcMdSp.js → walletSessionAuthorizationStore-B9Vwkshr.js} +1 -1
- package/dist/esm/sdk/warmSessionHydration-B-A5Tdx7.js +1 -0
- package/dist/{public/sdk/webauthnP256-BvTL8nq4.js → esm/sdk/webauthnP256-BsQQPurm.js} +1 -1
- package/dist/esm/shared-ts/src/near/nearClient.js +1 -1
- package/dist/esm/shared-ts/src/utils/errors.js +56 -3
- package/dist/esm/shared-ts/src/utils/index.js +1 -1
- package/dist/esm/voiceid-host.js +1 -1
- package/dist/public/headers.manifest.json +1 -1
- package/dist/public/sdk/{ConfirmationDrawer-CTaGM1AE.js → ConfirmationDrawer-AZruQmhP.js} +1 -1
- package/dist/public/sdk/NonceCoordinator-3YhmDTS5.js +1 -0
- package/dist/{esm/sdk/SeamsWordmark-CFpsGoLw.js → public/sdk/SeamsWordmark-DwvPx2UA.js} +1 -1
- package/dist/public/sdk/accountLifecycle-6DHYWf0v.js +1 -0
- package/dist/public/sdk/actions-DrtSTGus.js +1 -0
- package/dist/public/sdk/activeWalletSession-BJ4B-nJo.js +1 -0
- package/dist/public/sdk/adapters-d9yh1bdC.js +1 -0
- package/dist/public/sdk/appearance-DL7c6bML.js +1 -0
- package/dist/public/sdk/appearance-token-vars-BJydfWT_.js +1 -0
- package/dist/public/sdk/canonicalPrimitives-Jd3i_Ngz.js +1 -0
- package/dist/public/sdk/chains-B72I4PDH.js +1 -0
- package/dist/public/sdk/challengeDelivery-Dj9HrjW9.js +1 -0
- package/dist/public/sdk/clientSessionPersistenceState-BCkJAYSz.js +1 -0
- package/dist/public/sdk/{collectAuthenticationCredentialForChallengeB64u-kLIxmw3V.js → collectAuthenticationCredentialForChallengeB64u-I4wq8OGq.js} +1 -1
- package/dist/public/sdk/{commitQueue-Bs23Rs57.js → commitQueue-CYruPlkm.js} +1 -1
- package/dist/public/sdk/configBuilder-CSwJrmcR.js +1 -0
- package/dist/public/sdk/configuration-DBEc3bsj.js +1 -0
- package/dist/public/sdk/confirm-ui-nU6ymgiv.js +2 -0
- package/dist/public/sdk/confirmTypes-BvVtQs-M.js +1 -0
- package/dist/public/sdk/device-linking-DiCNt3iA.js +1 -0
- package/dist/public/sdk/deviceLinkApproval-CfEiotVt.js +2 -0
- package/dist/public/sdk/digestEncoding-CqNXPZY9.js +1 -0
- package/dist/public/sdk/{chains-gV2K9gA4.js → digests-BIaE0DMd.js} +1 -1
- package/dist/public/sdk/{display-BXjW58UF.js → display-D0EPmU4w.js} +1 -1
- package/dist/public/sdk/ecdsaCapabilityManifest-DAJEVjlP.js +1 -0
- package/dist/public/sdk/{ecdsaChainTarget-DbLthshF.js → ecdsaChainTarget-Bm5X4k-V.js} +1 -1
- package/dist/public/sdk/ecdsaDerivationClientWasm-AYOJgTJm.js +1 -0
- package/dist/public/sdk/ecdsaDerivationExport-DJKOzDbS.js +1 -0
- package/dist/public/sdk/{ecdsaWalletRecords-BgcXXCZy.js → ecdsaWalletRecords-WLyq414E.js} +1 -1
- package/dist/public/sdk/emailOtpEcdsaDerivationIdentity-HFQXc1Yw.js +1 -0
- package/dist/public/sdk/{enrichDisplayModelWithAbi-CudPUW0T.js → enrichDisplayModelWithAbi-O6Mw4i2E.js} +1 -1
- package/dist/public/sdk/errors-BJBDbwHk.js +1 -0
- package/dist/public/sdk/{evmCryptoWasm-DacbCVNM.js → evmCryptoWasm-BUPb4hBH.js} +1 -1
- package/dist/public/sdk/{export-viewer-host-DsWOvc0t.js → export-viewer-host-BtrKVXxu.js} +1 -1
- package/dist/public/sdk/exportKeypairOperation-CGE9ZU1m.js +1 -0
- package/dist/public/sdk/helpers-Dubwo5uK.js +1 -0
- package/dist/public/sdk/host-DayrOrgm.js +1 -0
- package/dist/public/sdk/icons-BlMXolHv.js +1 -0
- package/dist/public/sdk/indexedDB-C4SDsyOG.js +1 -0
- package/dist/public/sdk/intentDigest-HvRsBQ1z.js +1 -0
- package/dist/public/sdk/keyMaterialEnvelope-Dm2ZEilb.js +1 -0
- package/dist/public/sdk/{lanes-C7OvAK_L.js → lanes-BU-fGqY4.js} +1 -1
- package/dist/public/sdk/localOnly-BATWJj78.js +1 -0
- package/dist/{esm/sdk/mountExportPrivateKeySurface-CV1KrFWg.js → public/sdk/mountExportPrivateKeySurface-CyHU8bVc.js} +1 -1
- package/dist/public/sdk/{mountRecoveryCodeBackupSurface-CVXU1zzl.js → mountRecoveryCodeBackupSurface-C7aglQxf.js} +1 -1
- package/dist/public/sdk/nearEd25519YaoMaterialActivation-BfXmy3Jr.js +1 -0
- package/dist/public/sdk/nearEd25519YaoSigningPreparation-DHNk0F8e.js +1 -0
- package/dist/public/sdk/nearRpcResults-CeHdqaS4.js +1 -0
- package/dist/public/sdk/{nonceLaneKeys-BS4fek17.js → nonceLaneKeys-BF_UpvIy.js} +1 -1
- package/dist/public/sdk/{normalization-BN-2VWZf.js → normalization-Df9fZWJC.js} +1 -1
- package/dist/public/sdk/operationFingerprint-Bas59T7L.js +1 -0
- package/dist/public/sdk/participants-BXdREC5k.js +1 -0
- package/dist/{esm/sdk/pendingWalletRecoveryCodeBackup-lr1oISjL.js → public/sdk/pendingWalletRecoveryCodeBackup-Cjx-X-pP.js} +1 -1
- package/dist/public/sdk/presignaturePool-BbvqRWYw.js +1 -0
- package/dist/{esm/sdk/presignatures-B9GrGx0L.js → public/sdk/presignatures-BCeq56DG.js} +1 -1
- package/dist/public/sdk/recovery-entrypoint-DJbMDC_m.js +1 -0
- package/dist/public/sdk/recoveryAuthorization-CQsjb8Tm.js +1 -0
- package/dist/public/sdk/registration-CNLUYN-p.js +1 -0
- package/dist/public/sdk/registration-HSwOHZOo.js +1 -0
- package/dist/public/sdk/{registrationAccounts-BHikxS5q.js → registrationAccounts-4r74gX1l.js} +1 -1
- package/dist/public/sdk/registrationIntent-Do1tD1V7.js +1 -0
- package/dist/public/sdk/registrationSignerPlan-DK2b3N_p.js +1 -0
- package/dist/public/sdk/requireStepUpAuth-COqCGb1i.js +1 -0
- package/dist/public/sdk/resealedEnvelopeResult-B1p5UkYg.js +1 -0
- package/dist/public/sdk/routerAbNormalSigning-D-UZmCBS.js +1 -0
- package/dist/public/sdk/runtime-auth-BCoj7_-G.js +1 -0
- package/dist/public/sdk/runtime-device-link-DAsq5tGT.js +1 -0
- package/dist/public/sdk/runtime-ecdsa-tempo-CVh_Vwl6.js +1 -0
- package/dist/public/sdk/runtime-email-otp-BxSKK9AG.js +1 -0
- package/dist/public/sdk/runtime-export-BWnQXMzT.js +1 -0
- package/dist/public/sdk/runtime-near-CuzPZrDS.js +1 -0
- package/dist/public/sdk/runtime-preferences-B-nDWlm3.js +1 -0
- package/dist/public/sdk/runtime-recovery-DpOdEJ8N.js +1 -0
- package/dist/public/sdk/runtime-recovery-codes-DeUjQsxZ.js +1 -0
- package/dist/public/sdk/runtimeContext-5JcewRo3.js +6 -0
- package/dist/public/sdk/secp256k1-CE7-q9Sn.js +1 -0
- package/dist/public/sdk/sessionObservationRevision-JOvVF4Hf.js +1 -0
- package/dist/public/sdk/signEvmFamily-BY5jlZEG.js +1 -0
- package/dist/public/sdk/{signEvmFamilyWithUiConfirmForTempo-BMfC2sc2.js → signEvmFamilyWithUiConfirmForTempo-CrMIAXUe.js} +1 -1
- package/dist/public/sdk/{signEvmWithUiConfirm-BNkupz3z.js → signEvmWithUiConfirm-CGrLtMV6.js} +1 -1
- package/dist/public/sdk/signNear-DMpJFkwF.js +1 -0
- package/dist/public/sdk/{signatureUses-DrqCoN12.js → signatureUses-kSrUHSSH.js} +1 -1
- package/dist/public/sdk/signerSlot-D2RZnb27.js +1 -0
- package/dist/public/sdk/{signingFlow-BVvteILM.js → signingFlow-BcetvUeS.js} +2 -2
- package/dist/public/sdk/signingQueue-dMFOFOP5.js +1 -0
- package/dist/public/sdk/surface-measurement-reporter-DXsvq401.js +1 -0
- package/dist/public/sdk/thresholdEcdsa-CqR1fFA-.js +1 -0
- package/dist/public/sdk/{trace-CGNqO1FV.js → trace--mRP2OQc.js} +1 -1
- package/dist/public/sdk/{transaction-activity-DPq9RTh5.js → transaction-activity-DCzHGg3b.js} +1 -1
- package/dist/public/sdk/transactionReview-CGIlI835.js +1 -0
- package/dist/public/sdk/{transactionReviewAdmission--8tDis7M.js → transactionReviewAdmission-Cf_qUZJt.js} +1 -1
- package/dist/{esm/sdk/transactionState-BS1VLT7B.js → public/sdk/transactionState-29T9xfvL.js} +1 -1
- package/dist/public/sdk/tx-confirm-ui.js +173 -18
- package/dist/public/sdk/{types-DdzuHlAQ.js → types-f7dyj5N6.js} +1 -1
- package/dist/public/sdk/unlockedEd25519ExportRootCapability-yzxQjIFd.js +1 -0
- package/dist/public/sdk/voiceid-host.js +1 -1
- package/dist/public/sdk/wallet-iframe-host-ecdsa.js +1 -1
- package/dist/public/sdk/wallet-iframe-host-full.js +1 -1
- package/dist/public/sdk/wallet-iframe-host-near.js +1 -1
- package/dist/public/sdk/wallet-iframe-host-runtime.js +1 -1
- package/dist/public/sdk/wallet-recovery-BZB2Vu3X.js +1 -0
- package/dist/public/sdk/wallet-ui.css +1 -1
- package/dist/public/sdk/walletAuthMethodRecord-DLBB5fez.js +1 -0
- package/dist/public/sdk/walletAuthority-BTGAuOi8.js +1 -0
- package/dist/public/sdk/walletCapabilityBindings-D5YYB7nN.js +1 -0
- package/dist/public/sdk/walletCustodyEcdsaContinuity-C31YQ9av.js +1 -0
- package/dist/public/sdk/walletCustodyOperation-DimzAbCB.js +1 -0
- package/dist/public/sdk/walletDbName-Ca0rCq5r.js +1 -0
- package/dist/public/sdk/walletOwnershipGeneration-CgjCtPrV.js +1 -0
- package/dist/public/sdk/walletRecoveryAdminProof-CvSYbyg5.js +1 -0
- package/dist/public/sdk/walletRecoveryCommit-Cc2LAkCS.js +1 -0
- package/dist/public/sdk/walletRegistrationSetupPrewarm-CEvGKQSg.js +1 -0
- package/dist/public/sdk/{walletSessionAuthorizationProjection-BJgnZaBc.js → walletSessionAuthorizationProjection-BzUH6gHV.js} +1 -1
- package/dist/public/sdk/walletSessionAuthorizationStatus-DG7DPcgR.js +1 -0
- package/dist/public/sdk/{walletSessionAuthorizationStore-zkxcMdSp.js → walletSessionAuthorizationStore-B9Vwkshr.js} +1 -1
- package/dist/public/sdk/warmSessionHydration-B-A5Tdx7.js +1 -0
- package/dist/{esm/sdk/webauthnP256-BvTL8nq4.js → public/sdk/webauthnP256-BsQQPurm.js} +1 -1
- package/dist/public/wallet-assets.manifest.json +476 -260
- package/dist/public/wallet-service/index.html +4 -4
- package/dist/types/shared-ts/src/utils/errors.d.ts +1 -0
- package/dist/types/wallet/src/SeamsWeb/operations/authMethods/passkey/exactPasskeyAuthority.d.ts +24 -0
- package/dist/types/wallet/src/SeamsWeb/operations/devices/walletHostOwnerAuthority.d.ts +2 -0
- package/dist/types/wallet/src/SeamsWeb/publicApi/types.d.ts +3 -0
- package/dist/types/wallet/src/SeamsWeb/walletIframe/client/router.d.ts +2 -0
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/WalletHostRuntime.d.ts +1 -0
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/createDeviceDomain.d.ts +2 -1
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/deviceLinkApproval.d.ts +27 -0
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/ui/auth-menu/mountAuthMenuSurface.d.ts +1 -0
- package/dist/types/wallet/src/SeamsWeb/walletIframe/shared/messages.d.ts +4 -1
- package/dist/types/wallet/src/core/authMethods/hostPlugin.d.ts +1 -0
- package/dist/types/wallet/src/core/authMethods/plugins.d.ts +4 -0
- package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/recoveredEd25519Authority.d.ts +8 -0
- package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/repositories.d.ts +1 -0
- package/dist/types/wallet/src/core/rpcClients/near/NearClient.d.ts +13 -0
- package/dist/types/wallet/src/core/rpcClients/relayer/walletSessionAuthorizationStatus.d.ts +2 -0
- package/dist/types/wallet/src/core/signingEngine/nearTransactionSubmission.d.ts +24 -0
- package/dist/types/wallet/src/core/signingEngine/session/persistence/walletSessionAuthorizationProjection.d.ts +1 -0
- package/dist/types/wallet/src/core/signingEngine/uiConfirm/transactionReviewAdmission.d.ts +2 -0
- package/dist/types/wallet/src/core/types/linkDevice.d.ts +4 -5
- package/dist/types/wallet/src/core/types/sdkSentEvents.d.ts +2 -0
- package/dist/types/wallet/src/core/types/seams.d.ts +15 -3
- package/dist/types/wallet/src/core/ui/messages.d.ts +1 -1
- package/dist/types/wallet/src/index.d.ts +1 -1
- package/dist/types/wallet/src/react/components/AccountMenuButton/AccountMenuButtonMock.d.ts +11 -2
- package/dist/types/wallet/src/react/components/AccountMenuButton/AccountMenuButtonView.d.ts +2 -1
- package/dist/types/wallet/src/react/components/AccountMenuButton/AccountMenuModal.d.ts +9 -0
- package/dist/types/wallet/src/react/components/AccountMenuButton/hooks/useProfileState.d.ts +13 -5
- package/dist/types/wallet/src/react/components/AccountMenuButton/icons/HoverArrowIcon.d.ts +2 -1
- package/dist/types/wallet/src/react/components/AccountMenuButton/icons/lucideIcon.d.ts +1 -1
- package/dist/types/wallet/src/react/components/AccountMenuButton/types.d.ts +19 -3
- package/dist/types/wallet/src/react/components/ExternalNearWalletIcon.d.ts +5 -0
- package/dist/types/wallet/src/react/components/HostedSeamsAuthMenu/WalletConnectorMenu.d.ts +31 -0
- package/dist/types/wallet/src/react/components/HostedSeamsAuthMenu/types.d.ts +4 -0
- package/dist/types/wallet/src/react/components/ShowQRCode.d.ts +1 -1
- package/dist/types/wallet/src/react/components/externalWalletBrandImages.d.ts +3 -0
- package/dist/types/wallet/src/react/components/theme/design-tokens.d.ts +2 -0
- package/dist/types/wallet/src/react/externalNear.d.ts +3 -23
- package/dist/types/wallet/src/react/index.d.ts +3 -1
- package/dist/types/wallet/src/react/transactionReview/boundCalls.d.ts +7 -0
- package/dist/types/wallet/src/voiceid-host.d.ts +1 -1
- package/package.json +1 -1
- package/dist/esm/react/externalNear.css +0 -90
- package/dist/esm/sdk/NonceCoordinator-Bti1HQPo.js +0 -1
- package/dist/esm/sdk/accountLifecycle-B98g9zN9.js +0 -1
- package/dist/esm/sdk/actions-GYsSR2Q2.js +0 -1
- package/dist/esm/sdk/activeWalletSession-H9JBdHyQ.js +0 -1
- package/dist/esm/sdk/adapters-D5MZ5NG5.js +0 -2
- package/dist/esm/sdk/appearance-DVFno9Tv.js +0 -1
- package/dist/esm/sdk/appearance-token-vars-CgYTfCKg.js +0 -1
- package/dist/esm/sdk/canonicalPrimitives-B6YMrI3W.js +0 -1
- package/dist/esm/sdk/challengeDelivery-FW9gYyr0.js +0 -1
- package/dist/esm/sdk/clientSessionPersistenceState-BPYK9PYV.js +0 -1
- package/dist/esm/sdk/configBuilder-DrxXNUpV.js +0 -1
- package/dist/esm/sdk/configuration-CAqANpTI.js +0 -1
- package/dist/esm/sdk/ecdsaCapabilityManifest--FjbES8k.js +0 -1
- package/dist/esm/sdk/ecdsaDerivationClientWasm-7Rp4TmYE.js +0 -1
- package/dist/esm/sdk/ecdsaDerivationExport-dInN7N6e.js +0 -1
- package/dist/esm/sdk/emailOtpEcdsaDerivationIdentity-CIh9IPai.js +0 -1
- package/dist/esm/sdk/errors-ADOZT8oV.js +0 -1
- package/dist/esm/sdk/exportKeypairOperation-BazJvSov.js +0 -1
- package/dist/esm/sdk/helpers-CXqXyyCU.js +0 -1
- package/dist/esm/sdk/host-C0Is56lU.js +0 -1
- package/dist/esm/sdk/icons-DyndJzSh.js +0 -1
- package/dist/esm/sdk/indexedDB-C1odKEC6.js +0 -1
- package/dist/esm/sdk/intentDigest-BMXki7yB.js +0 -1
- package/dist/esm/sdk/keyMaterialEnvelope-B-Q5KTJC.js +0 -1
- package/dist/esm/sdk/localOnly-BB3Rx3J6.js +0 -1
- package/dist/esm/sdk/nearEd25519YaoMaterialActivation-D9cdMKIZ.js +0 -1
- package/dist/esm/sdk/nearEd25519YaoSigningPreparation-D_Jvj7ht.js +0 -1
- package/dist/esm/sdk/operationFingerprint-Bn0lUYlm.js +0 -1
- package/dist/esm/sdk/presignaturePool-CultzkOG.js +0 -1
- package/dist/esm/sdk/recovery-entrypoint-QBvJBngm.js +0 -1
- package/dist/esm/sdk/recoveryAuthorization-DB-zxeHq.js +0 -1
- package/dist/esm/sdk/registration-CM5a7WYO.js +0 -1
- package/dist/esm/sdk/registration-Hv0xi7-L.js +0 -1
- package/dist/esm/sdk/registrationIntent-DTs2SR9E.js +0 -1
- package/dist/esm/sdk/registrationSignerPlan-CgbFVsAp.js +0 -1
- package/dist/esm/sdk/requireStepUpAuth-B7tC4MrA.js +0 -1
- package/dist/esm/sdk/resealedEnvelopeResult--iCVt_Bh.js +0 -1
- package/dist/esm/sdk/routerAbNormalSigning-Div3lZWV.js +0 -1
- package/dist/esm/sdk/runtime-auth-CVw1KoVD.js +0 -1
- package/dist/esm/sdk/runtime-device-link-Dp0YMZTQ.js +0 -1
- package/dist/esm/sdk/runtime-ecdsa-tempo-DEIjIgEO.js +0 -1
- package/dist/esm/sdk/runtime-email-otp-gsr_FsQn.js +0 -1
- package/dist/esm/sdk/runtime-export-upMPrZ4V.js +0 -1
- package/dist/esm/sdk/runtime-near-B64Hn3nc.js +0 -1
- package/dist/esm/sdk/runtime-preferences-CULdHkbg.js +0 -1
- package/dist/esm/sdk/runtime-recovery-D2saBaJy.js +0 -1
- package/dist/esm/sdk/runtime-recovery-codes-Bvc0IXMJ.js +0 -1
- package/dist/esm/sdk/runtimeContext-CNFJjcns.js +0 -6
- package/dist/esm/sdk/secp256k1-BGVlx50C.js +0 -1
- package/dist/esm/sdk/sessionObservationRevision-84ZzJ-fC.js +0 -1
- package/dist/esm/sdk/signEvmFamily-PjwUc5MT.js +0 -1
- package/dist/esm/sdk/signNear-r8VCOoTh.js +0 -1
- package/dist/esm/sdk/signerSlot-D4ZOuK7e.js +0 -1
- package/dist/esm/sdk/signingQueue-BJzOrwDq.js +0 -1
- package/dist/esm/sdk/surface-measurement-reporter-NUm_54LH.js +0 -1
- package/dist/esm/sdk/thresholdEcdsa-tnY83qyG.js +0 -1
- package/dist/esm/sdk/transactionReview-DSGnpreN.js +0 -1
- package/dist/esm/sdk/unlockedEd25519ExportRootCapability-D43rvO9a.js +0 -1
- package/dist/esm/sdk/wallet-recovery-BjIQdOha.js +0 -1
- package/dist/esm/sdk/walletAuthMethodRecord-yIqCeE-o.js +0 -1
- package/dist/esm/sdk/walletCapabilityBindings-CUPk3mVH.js +0 -1
- package/dist/esm/sdk/walletCustodyEcdsaContinuity-DlOBCmwb.js +0 -1
- package/dist/esm/sdk/walletCustodyOperation-DzPcxEBS.js +0 -1
- package/dist/esm/sdk/walletDbName-DDJXrgA5.js +0 -1
- package/dist/esm/sdk/walletOwnershipGeneration-DI9ogcXF.js +0 -1
- package/dist/esm/sdk/walletRecoveryAdminProof-BJxmg3f7.js +0 -1
- package/dist/esm/sdk/walletRecoveryCommit-B7WsdR7y.js +0 -1
- package/dist/esm/sdk/walletRegistrationSetupPrewarm-CEJCj78c.js +0 -1
- package/dist/esm/sdk/walletSessionAuthorizationStatus-98G3Qji8.js +0 -1
- package/dist/esm/sdk/warmSessionHydration-DqZyfi1h.js +0 -1
- package/dist/public/sdk/NonceCoordinator-Bti1HQPo.js +0 -1
- package/dist/public/sdk/accountLifecycle-B98g9zN9.js +0 -1
- package/dist/public/sdk/actions-GYsSR2Q2.js +0 -1
- package/dist/public/sdk/activeWalletSession-H9JBdHyQ.js +0 -1
- package/dist/public/sdk/adapters-D5MZ5NG5.js +0 -2
- package/dist/public/sdk/appearance-DVFno9Tv.js +0 -1
- package/dist/public/sdk/appearance-token-vars-CgYTfCKg.js +0 -1
- package/dist/public/sdk/canonicalPrimitives-B6YMrI3W.js +0 -1
- package/dist/public/sdk/challengeDelivery-FW9gYyr0.js +0 -1
- package/dist/public/sdk/clientSessionPersistenceState-BPYK9PYV.js +0 -1
- package/dist/public/sdk/configBuilder-DrxXNUpV.js +0 -1
- package/dist/public/sdk/configuration-CAqANpTI.js +0 -1
- package/dist/public/sdk/ecdsaCapabilityManifest--FjbES8k.js +0 -1
- package/dist/public/sdk/ecdsaDerivationClientWasm-7Rp4TmYE.js +0 -1
- package/dist/public/sdk/ecdsaDerivationExport-dInN7N6e.js +0 -1
- package/dist/public/sdk/emailOtpEcdsaDerivationIdentity-CIh9IPai.js +0 -1
- package/dist/public/sdk/errors-ADOZT8oV.js +0 -1
- package/dist/public/sdk/exportKeypairOperation-BazJvSov.js +0 -1
- package/dist/public/sdk/helpers-CXqXyyCU.js +0 -1
- package/dist/public/sdk/host-C0Is56lU.js +0 -1
- package/dist/public/sdk/icons-DyndJzSh.js +0 -1
- package/dist/public/sdk/indexedDB-C1odKEC6.js +0 -1
- package/dist/public/sdk/intentDigest-BMXki7yB.js +0 -1
- package/dist/public/sdk/keyMaterialEnvelope-B-Q5KTJC.js +0 -1
- package/dist/public/sdk/localOnly-BB3Rx3J6.js +0 -1
- package/dist/public/sdk/nearEd25519YaoMaterialActivation-D9cdMKIZ.js +0 -1
- package/dist/public/sdk/nearEd25519YaoSigningPreparation-D_Jvj7ht.js +0 -1
- package/dist/public/sdk/operationFingerprint-Bn0lUYlm.js +0 -1
- package/dist/public/sdk/presignaturePool-CultzkOG.js +0 -1
- package/dist/public/sdk/recovery-entrypoint-QBvJBngm.js +0 -1
- package/dist/public/sdk/recoveryAuthorization-DB-zxeHq.js +0 -1
- package/dist/public/sdk/registration-CM5a7WYO.js +0 -1
- package/dist/public/sdk/registration-Hv0xi7-L.js +0 -1
- package/dist/public/sdk/registrationIntent-DTs2SR9E.js +0 -1
- package/dist/public/sdk/registrationSignerPlan-CgbFVsAp.js +0 -1
- package/dist/public/sdk/requireStepUpAuth-B7tC4MrA.js +0 -1
- package/dist/public/sdk/resealedEnvelopeResult--iCVt_Bh.js +0 -1
- package/dist/public/sdk/routerAbNormalSigning-Div3lZWV.js +0 -1
- package/dist/public/sdk/runtime-auth-CVw1KoVD.js +0 -1
- package/dist/public/sdk/runtime-device-link-Dp0YMZTQ.js +0 -1
- package/dist/public/sdk/runtime-ecdsa-tempo-DEIjIgEO.js +0 -1
- package/dist/public/sdk/runtime-email-otp-gsr_FsQn.js +0 -1
- package/dist/public/sdk/runtime-export-upMPrZ4V.js +0 -1
- package/dist/public/sdk/runtime-near-B64Hn3nc.js +0 -1
- package/dist/public/sdk/runtime-preferences-CULdHkbg.js +0 -1
- package/dist/public/sdk/runtime-recovery-D2saBaJy.js +0 -1
- package/dist/public/sdk/runtime-recovery-codes-Bvc0IXMJ.js +0 -1
- package/dist/public/sdk/runtimeContext-CNFJjcns.js +0 -6
- package/dist/public/sdk/secp256k1-BGVlx50C.js +0 -1
- package/dist/public/sdk/sessionObservationRevision-84ZzJ-fC.js +0 -1
- package/dist/public/sdk/signEvmFamily-PjwUc5MT.js +0 -1
- package/dist/public/sdk/signNear-r8VCOoTh.js +0 -1
- package/dist/public/sdk/signerSlot-D4ZOuK7e.js +0 -1
- package/dist/public/sdk/signingQueue-BJzOrwDq.js +0 -1
- package/dist/public/sdk/surface-measurement-reporter-NUm_54LH.js +0 -1
- package/dist/public/sdk/thresholdEcdsa-tnY83qyG.js +0 -1
- package/dist/public/sdk/transactionReview-DSGnpreN.js +0 -1
- package/dist/public/sdk/unlockedEd25519ExportRootCapability-D43rvO9a.js +0 -1
- package/dist/public/sdk/wallet-recovery-BjIQdOha.js +0 -1
- package/dist/public/sdk/walletAuthMethodRecord-yIqCeE-o.js +0 -1
- package/dist/public/sdk/walletCapabilityBindings-CUPk3mVH.js +0 -1
- package/dist/public/sdk/walletCustodyEcdsaContinuity-DlOBCmwb.js +0 -1
- package/dist/public/sdk/walletCustodyOperation-DzPcxEBS.js +0 -1
- package/dist/public/sdk/walletDbName-DDJXrgA5.js +0 -1
- package/dist/public/sdk/walletOwnershipGeneration-DI9ogcXF.js +0 -1
- package/dist/public/sdk/walletRecoveryAdminProof-BJxmg3f7.js +0 -1
- package/dist/public/sdk/walletRecoveryCommit-B7WsdR7y.js +0 -1
- package/dist/public/sdk/walletRegistrationSetupPrewarm-CEJCj78c.js +0 -1
- package/dist/public/sdk/walletSessionAuthorizationStatus-98G3Qji8.js +0 -1
- package/dist/public/sdk/warmSessionHydration-DqZyfi1h.js +0 -1
- /package/dist/esm/sdk/{accountIds-D5NI31F2.js → accountIds-CW2BP-d9.js} +0 -0
- /package/dist/esm/sdk/{authenticatorOptions-EF_Rps52.js → authenticatorOptions-WCDKYRux.js} +0 -0
- /package/dist/esm/sdk/{authorizationAdmission-DbhNiY3X.js → authorizationAdmission-28jo_IVJ.js} +0 -0
- /package/dist/esm/sdk/{browser-B2RI00tM.js → browser-CKS7Tq2r.js} +0 -0
- /package/dist/esm/sdk/{bytes-DVe42j_r.js → bytes-DXo6uALR.js} +0 -0
- /package/dist/esm/sdk/{canonicalSignerErrorCode-AwNMAn8S.js → canonicalSignerErrorCode-CX5PBpkt.js} +0 -0
- /package/dist/esm/sdk/{capabilityKinds-BzrNeEyO.js → capabilityKinds-DVlGMspk.js} +0 -0
- /package/dist/esm/sdk/{configHelpers-BNqoU2cv.js → configHelpers-CXDY3bKC.js} +0 -0
- /package/dist/esm/sdk/{csp-stylesheet-DeuiM0Mo.js → csp-stylesheet-DUSqfXvZ.js} +0 -0
- /package/dist/esm/sdk/{events-1dzC4Ocx.js → events-D6l0_ugy.js} +0 -0
- /package/dist/esm/sdk/{executeWorkerOperation-B-9JuL55.js → executeWorkerOperation-C9FOCCR7.js} +0 -0
- /package/dist/esm/sdk/{jsonRpc-CHutSlC9.js → jsonRpc-BVDv1wfm.js} +0 -0
- /package/dist/esm/sdk/{keccak-C9kCkZem.js → keccak-mS0Mejjx.js} +0 -0
- /package/dist/esm/sdk/{normalization-DtruiNPw.js → normalization-B3i1-rPQ.js} +0 -0
- /package/dist/esm/sdk/{prfCache-8Wm3etlV.js → prfCache-DEHaUPSW.js} +0 -0
- /package/dist/esm/sdk/{profileAccountProjection-D01e10UY.js → profileAccountProjection-C5sNt-s2.js} +0 -0
- /package/dist/esm/sdk/{promptText-Bz3YRl9D.js → promptText-bcKcsSka.js} +0 -0
- /package/dist/esm/sdk/{registrationAuthMethodInput-BvbWl0y_.js → registrationAuthMethodInput-BR1WVbK3.js} +0 -0
- /package/dist/esm/sdk/{sdkSentEvents-DUht3AOD.js → sdkSentEvents-DjOlKtdW.js} +0 -0
- /package/dist/esm/sdk/{shared-DcHtE-D-.js → shared-CkHhXgFB.js} +0 -0
- /package/dist/esm/sdk/{signer-worker-DlK58rEA.js → signer-worker-BNodGJKY.js} +0 -0
- /package/dist/esm/sdk/{signerDomain-D-EUTlLK.js → signerDomain-BAsLT3XN.js} +0 -0
- /package/dist/esm/sdk/{signingSessionSeal-DqbjG8c8.js → signingSessionSeal-BFOBKj-J.js} +0 -0
- /package/dist/esm/sdk/{types-fJKfUgTi.js → types-C4OErbBf.js} +0 -0
- /package/dist/esm/sdk/{walletIframeIdentity-Cz82I_Uh.js → walletIframeIdentity-CpgyEnKg.js} +0 -0
- /package/dist/esm/sdk/{walletSessionFailure-CLUIF3Eh.js → walletSessionFailure-CxsVtroW.js} +0 -0
- /package/dist/esm/sdk/{webauthnPromptCoordinator-CU9ag7vz.js → webauthnPromptCoordinator-npsSRD51.js} +0 -0
- /package/dist/public/sdk/{accountIds-D5NI31F2.js → accountIds-CW2BP-d9.js} +0 -0
- /package/dist/public/sdk/{authenticatorOptions-EF_Rps52.js → authenticatorOptions-WCDKYRux.js} +0 -0
- /package/dist/public/sdk/{authorizationAdmission-DbhNiY3X.js → authorizationAdmission-28jo_IVJ.js} +0 -0
- /package/dist/public/sdk/{browser-B2RI00tM.js → browser-CKS7Tq2r.js} +0 -0
- /package/dist/public/sdk/{bytes-DVe42j_r.js → bytes-DXo6uALR.js} +0 -0
- /package/dist/public/sdk/{canonicalSignerErrorCode-AwNMAn8S.js → canonicalSignerErrorCode-CX5PBpkt.js} +0 -0
- /package/dist/public/sdk/{capabilityKinds-BzrNeEyO.js → capabilityKinds-DVlGMspk.js} +0 -0
- /package/dist/public/sdk/{configHelpers-BNqoU2cv.js → configHelpers-CXDY3bKC.js} +0 -0
- /package/dist/public/sdk/{csp-stylesheet-DeuiM0Mo.js → csp-stylesheet-DUSqfXvZ.js} +0 -0
- /package/dist/public/sdk/{events-1dzC4Ocx.js → events-D6l0_ugy.js} +0 -0
- /package/dist/public/sdk/{executeWorkerOperation-B-9JuL55.js → executeWorkerOperation-C9FOCCR7.js} +0 -0
- /package/dist/public/sdk/{jsonRpc-CHutSlC9.js → jsonRpc-BVDv1wfm.js} +0 -0
- /package/dist/public/sdk/{keccak-C9kCkZem.js → keccak-mS0Mejjx.js} +0 -0
- /package/dist/public/sdk/{normalization-DtruiNPw.js → normalization-B3i1-rPQ.js} +0 -0
- /package/dist/public/sdk/{prfCache-8Wm3etlV.js → prfCache-DEHaUPSW.js} +0 -0
- /package/dist/public/sdk/{profileAccountProjection-D01e10UY.js → profileAccountProjection-C5sNt-s2.js} +0 -0
- /package/dist/public/sdk/{promptText-Bz3YRl9D.js → promptText-bcKcsSka.js} +0 -0
- /package/dist/public/sdk/{registrationAuthMethodInput-BvbWl0y_.js → registrationAuthMethodInput-BR1WVbK3.js} +0 -0
- /package/dist/public/sdk/{sdkSentEvents-DUht3AOD.js → sdkSentEvents-DjOlKtdW.js} +0 -0
- /package/dist/public/sdk/{shared-DcHtE-D-.js → shared-CkHhXgFB.js} +0 -0
- /package/dist/public/sdk/{signer-worker-DlK58rEA.js → signer-worker-BNodGJKY.js} +0 -0
- /package/dist/public/sdk/{signerDomain-D-EUTlLK.js → signerDomain-BAsLT3XN.js} +0 -0
- /package/dist/public/sdk/{signingSessionSeal-DqbjG8c8.js → signingSessionSeal-BFOBKj-J.js} +0 -0
- /package/dist/public/sdk/{types-fJKfUgTi.js → types-C4OErbBf.js} +0 -0
- /package/dist/public/sdk/{walletIframeIdentity-Cz82I_Uh.js → walletIframeIdentity-CpgyEnKg.js} +0 -0
- /package/dist/public/sdk/{walletSessionFailure-CLUIF3Eh.js → walletSessionFailure-CxsVtroW.js} +0 -0
- /package/dist/public/sdk/{webauthnPromptCoordinator-CU9ag7vz.js → webauthnPromptCoordinator-npsSRD51.js} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./walletDbName-Ca0rCq5r.js";import"./activeWalletSession-BJ4B-nJo.js";import"./signingSessionSeal-BFOBKj-J.js";import"./capabilityKinds-DVlGMspk.js";import"./signerDomain-BAsLT3XN.js";import{t as e}from"./presignatures-BCeq56DG.js";import{Pt as t}from"./digestEncoding-CqNXPZY9.js";import{z as n}from"./ecdsaCapabilityManifest-DAJEVjlP.js";import"./emailOtpEcdsaDerivationIdentity-HFQXc1Yw.js";import{i as r,u as i}from"./trace--mRP2OQc.js";import{c as a,i as o,r as s}from"./presignaturePool-BbvqRWYw.js";function c(e){return e.kind===`digest`&&e.algorithm===`secp256k1`}function l(e){let t=String(e.intent.operationId||``).trim();if(!t)throw Error(`[multichain] exact EVM signing operation id is required`);return t}function u(e){switch(e.kind){case`reusable_wallet_session`:return{kind:`wallet_session_opaque`,walletSessionToken:e.walletSessionToken,home:e.home,ownershipGeneration:e.ownershipGeneration};case`operation_step_up`:return{kind:`wallet_session_opaque`,walletSessionToken:e.walletSessionToken,home:e.home,ownershipGeneration:e.ownershipGeneration}}throw Error(`[multichain] unsupported ECDSA signing credential`)}function d(r){let a=r.loadedMaterial.signerSession,o=a.publicFacts,c=a.transport.signingMaterial,l=s({relayerUrl:a.transport.relayerUrl,keyHandle:n(o.keyHandle),ecdsaThresholdKeyId:c.ecdsaThresholdKeyId,clientVerifyingShareB64u:c.clientVerifier33B64u,clientSigningMaterial:r.loadedMaterial.clientSigningMaterial,thresholdEcdsaPublicKeyB64u:o.publicKeyB64u,relayerVerifyingShareB64u:a.transport.relayerVerifyingShareB64u,credential:r.credential,materialActivation:t(a.materialActivation),routerAbEcdsaDerivationPoolFill:{kind:`router_ab_ecdsa_derivation_signing_worker_pool`,scope:a.routerAbEcdsaDerivationNormalSigning.state.scope,ceremonyExpiresAtMs:r.expiresAtMs,materialExpiresAtMs:Date.now()+e},workerCtx:r.workerCtx,authorization:r.authorization});i(`evm-family`,{event:`ecdsa_signing_refill`,operationId:r.operationId,scheduled:l.scheduled,reason:l.reason,depth:l.depth,targetDepth:l.targetDepth})}var f=class{algorithm=`secp256k1`;beforeSigning;shouldAbort;workerCtx;reconcileSession;constructor(e){this.beforeSigning=e.beforeSigning,this.shouldAbort=e.shouldAbort,this.workerCtx=e.workerCtx,this.reconcileSession=e.reconcileSession}async signReadySecp256k1Digest(e,s,c,f){let p=l(c),m=performance.now(),h=await a({signerSession:s.signerSession,workerCtx:this.workerCtx});r(p,`material_load`,m);let g=h.signerSession,_=g.publicFacts,v=g.transport,y=u(s.credential),b=!1;try{let r={relayerUrl:v.relayerUrl,scope:g.routerAbEcdsaDerivationNormalSigning.state.scope,operationId:p,operationDigests:{lane_digest_b64u:f.laneDigest,intent_digest_b64u:f.intentDigest,display_digest_b64u:f.displayDigest},materialActivation:t(g.materialActivation),credential:y,keyHandle:n(_.keyHandle),signingDigest32:e.digest32,clientSigningMaterial:h.clientSigningMaterial,expiresAtMs:s.expiresAtMs,workerCtx:this.workerCtx};this.beforeSigning?.(),s.authorization.kind===`reusable_wallet_session`?d({operationId:p,loadedMaterial:h,workerCtx:this.workerCtx,credential:y,expiresAtMs:s.expiresAtMs,authorization:s.authorization}):i(`evm-family`,{event:`ecdsa_signing_refill`,operationId:p,scheduled:!1,reason:`operation_step_up`});let a;if(s.authorization.kind===`reusable_wallet_session`)a=await o({...r,authorization:s.authorization,reconcileSession:this.reconcileSession});else{let e=s.operationStepUpPreparation;if(!e)throw Error(`[multichain] operation step-up preparation is required for signing`);a=await o({...r,authorization:s.authorization,operation:e})}if(!a.ok)throw Error(a.message||a.code||`[multichain] Router A/B ECDSA derivation signing failed`);return b=!0,a.signature65}finally{await h.cleanupAfterSign({singleUseEmailOtpSession:s.singleUseEmailOtpSession}),r(p,`sign_total`,m,b?`succeeded`:`failed`)}}async signReady(e,t,n,r){if(!c(e))throw Error(`[Secp256k1Engine] unsupported sign request`);if(e.digest32.length!==32)throw Error(`[Secp256k1Engine] digest32 must be 32 bytes`);if(this.shouldAbort?.()){let e=Error(`Request cancelled`);throw e.code=`cancelled`,e}return await this.signReadySecp256k1Digest(e,t,n,r)}};export{f as Secp256k1Engine};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{E as e,k as t}from"./domainIds-t1lp25yU.js";import{g as n}from"./digests-BIaE0DMd.js";import{r}from"./activeWalletSession-BJ4B-nJo.js";import{t as i}from"./walletIframeIdentity-CpgyEnKg.js";import{o as a}from"./errors-BJBDbwHk.js";const o=`__SEAMS_WALLET_SDK_BASE__`,s=`SEAMS_WALLET_SDK_BASE_CHANGED`,c=`__SEAMS_WALLET_ASSET_VERSION__`;function l(){if(typeof window>`u`)return;let e=window[o];return typeof e==`string`&&e.length>0?e:void 0}function u(e){if(typeof window>`u`)return;let t=window;t[o]=e,window.dispatchEvent(new CustomEvent(s,{detail:e}))}function d(){if(typeof window>`u`)return;let e=window[c];return typeof e==`string`&&e.length>0?e:void 0}function f(e){if(typeof window>`u`)return;let t=e.trim();t&&(window[c]=t)}function p(e){if(typeof window>`u`)return()=>{};let t=t=>{let n=t.detail;typeof n==`string`&&n.length>0&&e(n)};return window.addEventListener(s,t,{passive:!0}),()=>window.removeEventListener(s,t)}const m={login:{title:`Welcome back`,subtitle:``,passkeyCta:`Unlock with passkey`},register:{title:`Create a wallet`,subtitle:``,passkeyNameLabel:`Wallet name`,passkeyCta:`Create wallet with passkey`},common:{closeLabel:`Close`}};function h(e,t){return typeof e==`string`&&e.trim()||null}function g(e,t){let n=h(e,t);return n===null?null:n}function _(e){try{return i(e)}catch{return null}}function v(e,t){let n=new Set(t);return Object.keys(e).every(e=>n.has(e))}function y(e){return g(e,`authMenuSessionId`)}function b(e){return g(e,`externalAuthRequestId`)}function x(e){return n(e)?e:null}function S(e,t=new Set,n=!1){if(e===void 0)return n;if(e===null||typeof e==`string`||typeof e==`boolean`)return!0;if(typeof e==`number`)return Number.isFinite(e);if(typeof e!=`object`||t.has(e))return!1;if(t.add(e),Array.isArray(e))return e.every(e=>S(e,t,n));let r=x(e);return r!==null&&Object.values(r).every(e=>S(e,t,n))}function C(e,t){return h(e,`copy`)??t}function w(e,t){let n=x(e);return{title:C(n?.title,t.title),subtitle:C(n?.subtitle,t.subtitle),passkeyCta:C(n?.passkeyCta,t.passkeyCta)}}function T(e){let t=x(e),n=x(t?.register);return{login:w(t?.login,m.login),register:{...w(t?.register,m.register),passkeyNameLabel:C(n?.passkeyNameLabel,m.register.passkeyNameLabel)},common:{closeLabel:C(x(t?.common)?.closeLabel,m.common.closeLabel)}}}function E(e){return e===`google`?e:null}function D(e){return e===`login`||e===`register`?e:null}function O(e){return e===`implicit_wallet`||e===`sponsored_named_near_account`?e:null}function k(e){return e===`close_button`||e===`component_unmounted`||e===`connection_closed`?e:null}function A(e,t){if(e===void 0)return!0;let n=x(e);return n!==null&&v(n,t)}function j(e){let t=x(e);return!t||!v(t,[`login`,`register`,`common`])?!1:A(t.login,[`title`,`subtitle`,`passkeyCta`])&&A(t.register,[`title`,`subtitle`,`passkeyCta`,`passkeyNameLabel`])&&A(t.common,[`closeLabel`])}function M(e){if(!Array.isArray(e))return null;let t=[];for(let n of e){let e=E(n);if(!e)return null;t.push(e)}return t}function N(e){let n=x(e);if(!n||!S(n,new Set,!0)||n.kind!==`hosted_auth_menu_open_v1`||!v(n,[`kind`,`authMenuSessionId`,`initialMode`,`initialHeightCssPx`,`loginTarget`,`registrationAccountInput`,`showRegistrationInput`,`showProgress`,`copy`,`enabledExternalProviders`])||!j(n.copy))return null;let r=y(n.authMenuSessionId),i=D(n.initialMode),a=n.initialHeightCssPx;if(a!==void 0&&(typeof a!=`number`||!Number.isFinite(a)||a<=0))return null;let o=x(n.loginTarget),s=o?.kind===`wallet`||o?.kind===`wallet_sync`?t(o.walletId):null,c=o?.kind===`discoverable`&&v(o,[`kind`])?{kind:`discoverable`}:o?.kind===`wallet`&&v(o,[`kind`,`walletId`])&&s?.ok?{kind:`wallet`,walletId:s.value}:o?.kind===`wallet_sync`&&v(o,[`kind`,`walletId`])&&s?.ok?{kind:`wallet_sync`,walletId:s.value}:null,l=O(n.registrationAccountInput),u=M(n.enabledExternalProviders);return!r||!i||!c||!l||typeof n.showRegistrationInput!=`boolean`||typeof n.showProgress!=`boolean`||!u||!S(n.copy,new Set,!0)?null:{kind:`hosted_auth_menu_open_v1`,authMenuSessionId:r,initialMode:i,initialHeightCssPx:a,loginTarget:c,registrationAccountInput:l,showRegistrationInput:n.showRegistrationInput,showProgress:n.showProgress,copy:T(n.copy),enabledExternalProviders:u}}function P(e){let t=x(e);if(!t||!S(t)||t.kind!==`hosted_auth_menu_error_v1`||!v(t,[`kind`,`authMenuSessionId`,`mode`,`message`]))return null;let n=y(t.authMenuSessionId),r=D(t.mode),i=h(t.message,`message`);return n&&r&&i?{kind:t.kind,authMenuSessionId:n,mode:r,message:i}:null}function F(e){let t=x(e);if(!t||!S(t))return null;switch(t.kind){case`google_id_token`:{if(!v(t,[`kind`,`idToken`]))return null;let e=h(t.idToken,`idToken`);return e?{kind:t.kind,idToken:e}:null}case`cancelled`:return v(t,[`kind`,`reason`])&&t.reason===`user_cancelled`?{kind:t.kind,reason:t.reason}:null;case`failed`:{if(!v(t,[`kind`,`code`,`message`]))return null;let e=t.code===`provider_unavailable`||t.code===`provider_error`||t.code===`invalid_evidence`?t.code:null,n=h(t.message,`message`);return e&&n?{kind:t.kind,code:e,message:n}:null}default:return null}}function I(e){let t=x(e);if(!t||!S(t)||t.kind!==`hosted_auth_menu_external_auth_resolution_v1`||!v(t,[`kind`,`authMenuSessionId`,`externalAuthRequestId`,`requestId`,`evidence`]))return null;let n=y(t.authMenuSessionId),r=b(t.externalAuthRequestId),i=_(t.requestId),a=F(t.evidence);return!n||!r||!i||!a?null:{kind:t.kind,authMenuSessionId:n,externalAuthRequestId:r,requestId:i,evidence:a}}function L(e){let t=x(e);if(!t||!S(t)||t.kind!==`hosted_auth_menu_cancel_v1`||!v(t,[`kind`,`authMenuSessionId`,`requestId`,`reason`]))return null;let n=y(t.authMenuSessionId),r=_(t.requestId),i=k(t.reason);return n&&r&&i?{kind:t.kind,authMenuSessionId:n,requestId:r,reason:i}:null}const R=`17.0.0`,z=`WALLET_IFRAME_PROTOCOL_VERSION_MISMATCH`,B=[`home`,`exchangeCode`,`nonce`,`appOrigin`,`walletOrigin`,`relayUrl`];function V(e,t){if(typeof e!=`string`||e.length===0||e.length>512||e.trim()!==e||/[\s\u0000-\u001f\u007f]/.test(e))throw Error(`${t} must be a compact opaque identifier`);return e}function H(e,t){if(typeof e!=`string`||e.length===0||e.trim()!==e)throw Error(`${t} must be a canonical HTTP origin`);let n;try{n=new URL(e)}catch{throw Error(`${t} must be a canonical HTTP origin`)}if(n.protocol!==`https:`&&n.protocol!==`http:`||n.origin!==e||n.pathname!==`/`||n.search!==``||n.hash!==``)throw Error(`${t} must be a canonical HTTP origin`);return n.origin}function U(e){if(!n(e))throw Error(`hosted-wallet redemption payload must be an exact object`);if(Object.keys(e).length!==B.length)throw Error(`hosted-wallet redemption payload fields are invalid`);for(let t of B)if(!Object.hasOwn(e,t))throw Error(`hosted-wallet redemption payload fields are invalid`);return{home:r(e.home),exchangeCode:V(e.exchangeCode,`exchangeCode`),nonce:V(e.nonce,`nonce`),appOrigin:H(e.appOrigin,`appOrigin`),walletOrigin:H(e.walletOrigin,`walletOrigin`),relayUrl:V(e.relayUrl,`relayUrl`)}}function W(t){if(!n(t)||!v(t,[`scanRequestId`,`action`])||typeof t.scanRequestId!=`string`||t.scanRequestId.length===0||!n(t.action))return null;let r=t.action;if(r.kind===`cancel`)return v(r,[`kind`])?{scanRequestId:t.scanRequestId,action:{kind:r.kind}}:null;if(r.kind!==`select`||!v(r,[`kind`,`baseWalletAuthMethodId`]))return null;let i=e(r.baseWalletAuthMethodId);return i.ok?{scanRequestId:t.scanRequestId,action:{kind:r.kind,baseWalletAuthMethodId:i.value}}:null}function G(e){if(!n(e)||!v(e,[`activationId`,`action`])||typeof e.activationId!=`string`||e.activationId.length===0||!n(e.action))return null;let t=e.action;switch(t.kind){case`create_passkey`:case`send_email_otp`:case`resend_email_otp`:return v(t,[`kind`])?{activationId:e.activationId,action:{kind:t.kind}}:null;case`submit_email_otp`:return v(t,[`kind`,`otpCode`])&&typeof t.otpCode==`string`&&/^\d{6}$/.test(t.otpCode)?{activationId:e.activationId,action:{kind:t.kind,otpCode:t.otpCode}}:null;default:return null}}function K(e,t){return{success:!1,kind:t,error:a(e)||`NEAR transaction failed`}}function q(e,t){return{success:!1,kind:`unresolved`,transactionId:e,error:a(t)}}function J(){return{appIdentity:{kind:`anonymous`},authentication:{kind:`signed_out`},capabilityProjection:{kind:`not_requested`},nonceDiagnostics:null}}let Y=0;function X(){return Y+=1,Y}export{p as _,z as a,W as c,P as d,I as f,l as g,d as h,q as i,G as l,U as m,J as n,R as o,N as p,K as r,b as s,X as t,L as u,f as v,u as y};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e}from"./chunk-dVx5-UGu.js";import{i as t}from"./domainIds-t1lp25yU.js";import{n}from"./secureRandomId-8LSc91aN.js";import{X as r,a as i,t as a}from"./activeWalletSession-BJ4B-nJo.js";import{t as o}from"./chains-B72I4PDH.js";import{r as s}from"./transactionReviewAdmission-Cf_qUZJt.js";import{n as c}from"./signerDomain-BAsLT3XN.js";import{c as l,o as u,s as d}from"./ecdsaChainTarget-Bm5X4k-V.js";import{s as f}from"./normalization-Df9fZWJC.js";import{u as p}from"./walletAuthority-BTGAuOi8.js";import{F as m,I as h,Nt as g,Pt as _,U as ee,it as v,lt as y,nt as b,rt as x,ut as S}from"./digestEncoding-CqNXPZY9.js";import{I as C,O as te,P as w,R as ne,y as T}from"./ecdsaCapabilityManifest-DAJEVjlP.js";import{a as E,m as re,o as D}from"./sdkSentEvents-DjOlKtdW.js";import{g as ie,u as ae}from"./emailOtpEcdsaDerivationIdentity-HFQXc1Yw.js";import{c as O,i as k,n as oe,r as se,s as ce}from"./types-f7dyj5N6.js";import{c as le,l as ue,s as A}from"./nonceLaneKeys-BF_UpvIy.js";import{t as de}from"./walletSessionAuthorizationStatus-DG7DPcgR.js";import{D as j,E as fe,F as M,S as N,b as pe,g as me,v as he,x as ge}from"./nearEd25519YaoSigningPreparation-DHNk0F8e.js";import{r as _e,t as ve}from"./lanes-BU-fGqY4.js";import{r as ye}from"./operationFingerprint-Bas59T7L.js";import{c as be,l as xe,o as Se,s as Ce,t as we,u as P}from"./trace--mRP2OQc.js";import{t as Te}from"./challengeDelivery-Dj9HrjW9.js";import{a as Ee,i as De,n as Oe,t as ke}from"./authorizationAdmission-28jo_IVJ.js";import{i as Ae}from"./walletSessionFailure-CxsVtroW.js";import{a as je,n as Me,o as Ne,r as Pe,s as Fe}from"./signingQueue-dMFOFOP5.js";import{h as Ie,i as Le,l as Re,n as ze,s as F}from"./clientSessionPersistenceState-BCkJAYSz.js";import{l as Be,n as Ve,p as He,u as Ue}from"./signingFlow-BcetvUeS.js";import{t as We}from"./display-D0EPmU4w.js";import{i as Ge,r as Ke,t as I}from"./types-C4OErbBf.js";import{E as qe,u as Je}from"./requireStepUpAuth-COqCGb1i.js";import{o as Ye,r as Xe}from"./transactionState-29T9xfvL.js";function Ze(e){let t=m(e.routerAbState);return{kind:`router_ab_ecdsa_derivation_signing_material_ref_v1`,activeStateId:h(t),ecdsaThresholdKeyId:C(t.scope.ecdsa_threshold_key_id),clientVerifier33B64u:ne(t.scope.public_identity.derivation_client_share_public_key33_b64u),serverVerifier33B64u:t.scope.public_identity.server_public_key33_b64u,thresholdVerifier33B64u:t.scope.public_identity.threshold_public_key33_b64u}}function Qe(e){return e.session.capabilitySubjects.filter(n=>n.kind===`sign`&&n.keyFamily===`ecdsa_secp256k1`&&t(n.materialActivation,e.materialActivation)).length===1}function $e(e){return e.capability.manifest.signer.scope.targetMemberships.some(t=>d(t,e.chainTarget))}function et(e,t){return e.length===t.length&&e.every((e,n)=>e===t[n])}function tt(e){let{selectedAuthority:t,selectedAuthMethod:n}=e;return n.walletId===e.walletId&&n.status===`active`&&n.walletAuthorityId===t.authorityId&&t.walletId===e.walletId&&t.state===`active`}function nt(e){let t=e.capability.authority,n=e.runtime.authBinding;switch(n.kind){case`voiceid`:return y(t,n.voiceIdAuthority);case`email_otp`:return b(t)&&y(t,n.emailOtpAuthority);case`passkey`:return x(t)&&t.verifier.rpId===n.rpId&&t.factor.credentialIdB64u===n.credentialIdB64u;default:return n}}function rt(e){switch(e.runtime.authBinding.kind){case`voiceid`:return e.selectedAuthMethod.kind===`voiceid`&&e.selectedAuthMethod.walletAuthMethodId===e.runtime.authBinding.voiceIdAuthority.bindingId&&e.selectedAuthMethod.deviceKeyId===e.runtime.authBinding.voiceIdAuthority.factor.deviceKeyId;case`email_otp`:return e.selectedAuthMethod.kind===`email_otp`&&e.selectedAuthMethod.emailHashHex===e.runtime.authBinding.emailHashHex;case`passkey`:return e.selectedAuthMethod.kind===`passkey`&&String(e.selectedAuthMethod.rpId)===String(e.runtime.authBinding.rpId)&&e.selectedAuthMethod.credentialIdB64u===e.runtime.authBinding.credentialIdB64u;default:return e.runtime.authBinding}}function L(e){if(!Number.isSafeInteger(e.nowMs)||e.nowMs<0)return!1;let{capability:n,authorization:r}=e,i=r.session,a=r.operationCredential,o=r.runtime,s=n.manifest.signer,c=r.selectedAuthority.signerActivations.ecdsa;if(!c||!tt({selectedAuthority:r.selectedAuthority,selectedAuthMethod:r.selectedAuthMethod,walletId:i.walletId})||i.walletId!==s.walletId||i.authorityId!==r.selectedAuthority.authorityId||i.authMethodId!==r.selectedAuthMethod.walletAuthMethodId||i.authorityDigestB64u!==r.selectedAuthority.authorityDigestB64u||i.authorityRevocationEpoch!==r.selectedAuthority.revocationEpoch||s.authority.walletId!==r.selectedAuthority.walletId||s.authority.walletAuthMethodId!==r.selectedAuthMethod.walletAuthMethodId||i.authorizationId.trim().length===0||i.quotaId.trim().length===0||a.walletSessionId.trim().length===0||a.token.trim().length===0||o.walletId!==i.walletId||!rt({selectedAuthMethod:r.selectedAuthMethod,runtime:o})||!t(o.materialActivation,n.manifest.activation.materialActivation)||!t(o.roleLocalMaterialRef.materialActivation,o.materialActivation)||!$e({capability:n,chainTarget:o.chainTarget})||!nt({capability:n,runtime:o})||!Qe({session:i,materialActivation:n.manifest.activation.materialActivation})||!t(c.materialActivation,n.manifest.activation.materialActivation)||c.signer.walletId!==i.walletId||o.expiresAtMs<=0||!Number.isSafeInteger(o.remainingUses)||o.remainingUses<0)return!1;switch(o.kind){case`exact_ecdsa_direct_capability_runtime_v1`:break;case`exact_ecdsa_sealed_runtime_v1`:if(o.sealedRecord.authMethod!==r.selectedAuthMethod.kind||o.sealedRecord.storeKey.trim().length===0||o.sealedRecord.thresholdSessionId.trim().length===0)return!1;break;default:return o}return!(i.expiresAtMs<=e.nowMs||o.expiresAtMs<=e.nowMs||o.keyHandle!==String(n.material.publicFacts.keyHandle)||o.ecdsaThresholdKeyId!==String(n.material.publicFacts.ecdsaThresholdKeyId)||o.thresholdEcdsaPublicKeyB64u!==String(n.material.publicFacts.groupPublicKey33B64u)||!et(o.participantIds,n.material.publicFacts.participantIds))}function it(e){return e.kind===`exact_ecdsa_direct_capability_runtime_v1`&&e.authBinding.kind===`voiceid`}function at(e){return e.authBinding.kind===`passkey`}function ot(e){return e.authBinding.kind===`email_otp`}function st(e){if(at(e.runtime)&&e.selected.authMethod.kind===`passkey`||ot(e.runtime)&&e.selected.authMethod.kind===`email_otp`||it(e.runtime)&&e.selected.authMethod.kind===`voiceid`)return{kind:`ecdsa_preprocessing_session`,selectedAuthority:e.selected.authority,selectedAuthMethod:e.selected.authMethod,session:e.session,operationCredential:e.operationCredential,runtime:e.runtime};throw Error(`ECDSA preprocessing session auth method is inconsistent`)}function ct(e){if(x(e))return{kind:`passkey`,rpId:String(e.verifier.rpId),credentialIdB64u:String(e.factor.credentialIdB64u)};if(b(e))return{kind:`email_otp`,providerSubjectId:String(e.factor.providerUserId),emailHashHex:String(e.verifier.emailHashHex),emailOtpAuthority:e};if(v(e))return{kind:`voiceid`,voiceIdAuthority:e};throw Error(`ECDSA authority is unsupported.`)}function lt(e){if(!Number.isSafeInteger(e.status.expiresAtMs)||e.status.expiresAtMs<=0||!Number.isSafeInteger(e.status.remainingUses)||e.status.remainingUses<0)throw Error(`Exact ECDSA direct capability requires valid session facts`);return{kind:`exact_ecdsa_direct_capability_runtime_v1`,walletId:e.runtime.walletId,chainTarget:e.runtime.chainTarget,materialActivation:e.runtime.materialActivation,normalSigning:e.runtime.normalSigning,relayerUrl:e.runtime.relayerUrl,relayerKeyId:e.runtime.relayerKeyId,clientVerifyingPublicKey33B64u:e.runtime.clientVerifyingPublicKey33B64u,participantIds:e.runtime.participantIds,ecdsaThresholdKeyId:e.runtime.ecdsaThresholdKeyId,thresholdEcdsaPublicKeyB64u:e.runtime.thresholdEcdsaPublicKeyB64u,keyHandle:e.runtime.keyHandle,runtimePolicyScope:e.runtime.runtimePolicyScope,roleLocalMaterialRef:e.runtime.roleLocalMaterialRef,authBinding:ct(e.authority),expiresAtMs:e.status.expiresAtMs,remainingUses:e.status.remainingUses}}function ut(e,t){if(e.kind!==t.kind)return!1;switch(e.kind){case`voiceid`:return t.kind===`voiceid`&&y(e.voiceIdAuthority,t.voiceIdAuthority);case`email_otp`:return t.kind===`email_otp`&&e.providerSubjectId===t.providerSubjectId&&e.emailHashHex===t.emailHashHex&&y(e.emailOtpAuthority,t.emailOtpAuthority);case`passkey`:return t.kind===`passkey`&&e.rpId===t.rpId&&e.credentialIdB64u===t.credentialIdB64u;default:return e}}function dt(e,n){if(e.kind!==n.kind||e.walletId!==n.walletId||!d(e.chainTarget,n.chainTarget)||!t(e.materialActivation,n.materialActivation)||e.keyHandle!==n.keyHandle||e.ecdsaThresholdKeyId!==n.ecdsaThresholdKeyId||!ut(e.authBinding,n.authBinding))return!1;switch(e.kind){case`exact_ecdsa_direct_capability_runtime_v1`:return n.kind===`exact_ecdsa_direct_capability_runtime_v1`;case`exact_ecdsa_sealed_runtime_v1`:return n.kind===`exact_ecdsa_sealed_runtime_v1`&&e.sealedRecord.authMethod===n.sealedRecord.authMethod&&e.sealedRecord.storeKey===n.sealedRecord.storeKey&&e.sealedRecord.thresholdSessionId===n.sealedRecord.thresholdSessionId;default:return e}}function ft(e){let t=e.session.walletId;if(!Number.isSafeInteger(e.nowMs)||e.nowMs<0)throw Error(`Exact EVM-family Wallet Session authorization requires a valid timestamp`);if(!tt({selectedAuthority:e.selected.authority,selectedAuthMethod:e.selected.authMethod,walletId:t})||e.selected.selection.walletId!==t||e.selected.selection.walletAuthMethodId!==e.selected.authMethod.walletAuthMethodId||e.selected.selection.lockState!==`unlocked`)throw Error(`Exact EVM-family Wallet Session authorization selected authority is invalid`);let n=st(e);if(!L({capability:e.capability,authorization:n,nowMs:e.nowMs}))throw Error(`Exact EVM-family Wallet Session authorization identity is inconsistent`);return n}function pt(e){let t=ht(mt(e),e.nowMs);if(!t)throw Error(`Exact ECDSA signing authorization requires remaining signing uses`);return t}function mt(e){return{kind:`authorized_ecdsa_preprocessing_capability`,capability:e.capability,authorization:ft(e)}}function ht(e,t){let n=e.authorization,r=n.runtime;return r.remainingUses<=0||!L({capability:e.capability,authorization:n,nowMs:t})?null:at(r)&&n.selectedAuthMethod.kind===`passkey`||ot(r)&&n.selectedAuthMethod.kind===`email_otp`||it(r)&&n.selectedAuthMethod.kind===`voiceid`?{kind:`exact_evm_family_wallet_session_authorization_v1`,selectedAuthority:n.selectedAuthority,selectedAuthMethod:n.selectedAuthMethod,session:n.session,operationCredential:n.operationCredential,runtime:r}:null}function gt(e){if(e.authorization.runtime.remainingUses<=0||!L({capability:e.capability,authorization:e.authorization,nowMs:e.nowMs}))throw Error(`Exact Wallet Session authorization does not bind the ECDSA signing capability`);return{kind:`authorized_evm_family_ecdsa_signing_capability`,capability:e.capability,authorization:e.authorization}}async function _t(e){let n=e.manifest.signer,r=n.registeredPublicFacts,i=e.material.publicFacts,a=await S({authority:e.authority});if(a.authorityDigest!==n.authority.authorityDigest||a.walletId!==n.walletId||e.material.authority.walletId!==n.walletId||e.material.authority.authorityDigest!==n.authority.authorityDigest||!t(e.material.materialActivation,e.manifest.activation.materialActivation)||i.walletId!==n.walletId||i.keyHandle!==r.keyHandle||String(i.groupPublicKey33B64u)!==String(r.publicKeyB64u)||i.ethereumAddress!==r.thresholdOwnerAddress||i.participantIds.length!==r.participantIds.length||i.participantIds.some((e,t)=>e!==r.participantIds[t]))throw Error(`Canonical EVM-family ECDSA signing capability identity is inconsistent`);return{kind:`canonical_evm_family_ecdsa_signing_capability`,authority:e.authority,manifest:e.manifest,material:e.material}}function R(e){let t=e&&typeof e==`object`&&`code`in e?String(e.code||``).trim():``;if(t===`sealed_refresh_parity_fetch_failed`||t===`sealed_refresh_parity_http_error`||t===`sealed_refresh_parity_aborted`)return!0;let n=String(e instanceof Error?e.message:e||``);return n.includes(`Failed to fetch relayer well-known capabilities`)||/Well-known endpoint returned HTTP 5\d\d/.test(n)}function z(e){return e instanceof Error?e.message:String(e||`unknown error`)}async function vt(e,t){try{await e()}catch(e){if(t.kind===`key_enrollment_bootstrap_parity`){console.warn(`[threshold-ecdsa] key enrollment bootstrap skipped sealed-refresh startup parity enforcement`,{walletId:String(t.walletId||``).trim(),chainTarget:u(t.chainTarget),error:z(e)});return}if(t.kind===`transaction_bootstrap_parity`&&R(e)){console.warn(`[threshold-ecdsa] transaction bootstrap skipped retryable sealed-refresh capability fetch failure`,{walletId:String(t.walletId||``).trim(),chainTarget:u(t.chainTarget),error:z(e)});return}if(t.kind===`email_otp_bootstrap_parity`&&t.authMethod===c.emailOtp&&R(e)){console.warn(`[threshold-ecdsa] Email OTP bootstrap skipped retryable sealed-refresh capability fetch failure`,{walletId:String(t.walletId||``).trim(),chainTarget:u(t.chainTarget),error:z(e)});return}if(t.kind===`default_bootstrap_parity`&&R(e)){console.warn(`[threshold-ecdsa] default bootstrap skipped retryable sealed-refresh capability fetch failure`,{walletId:String(t.walletId||``).trim(),chainTarget:u(t.chainTarget),error:z(e)});return}throw e}}async function yt(e,t){try{await e()}catch(e){if(!R(e))throw e;console.warn(`[threshold-ecdsa] transaction signing skipped retryable sealed-refresh capability fetch failure`,{walletId:String(t.walletId||``).trim(),chainTarget:u(t.chainTarget),error:z(e)})}}function bt(e){if(e.kind===`tempoTransaction`)return`tempo`;if(e.kind===`eip1559`)return`evm_compatible`;let t=String(e.chain||``).trim();if(t===`tempo`||t===`evm`)return t;throw Error(`[SigningEngine][ecdsa] transaction request requires a concrete chain family`)}function xt(e){let t=Number(e.request.tx.chainId);if(!Number.isSafeInteger(t)||t<=0)throw Error(`[SigningEngine][ecdsa] transaction request requires a concrete chainId`);if(t!==e.chainTarget.chainId)throw Error(`[SigningEngine][ecdsa] transaction request chainId does not match chainTarget`);let n=bt(e.request);if(n!==`evm_compatible`&&n!==e.chainTarget.kind)throw Error(`[SigningEngine][ecdsa] transaction request chain does not match chainTarget`);return e.chainTarget}function St(){let e=Error(`Request cancelled`);return e.code=`cancelled`,e}function Ct(e){if(typeof e==`function`&&e())throw St()}function wt(e){return String(e||``).trim().toLowerCase().replace(/[\s-]+/g,`_`)}function B(e){return!e||typeof e!=`object`||!(`code`in e)?``:wt(e.code)}function Tt(e){return e?typeof e==`string`?e.trim():e instanceof Error||typeof e==`object`&&`message`in e?String(e.message||``).trim():String(e).trim():``}function Et(e){let t=`${e.code} ${e.message}`.toLowerCase();return t.trim()?t.includes(`nonce_too_low`)||t.includes(`nonce too low`)?`nonce_too_low`:t.includes(`nonce_too_high`)||t.includes(`nonce too high`)?`nonce_too_high`:t.includes(`already_known`)||t.includes(`already known`)?`already_known`:t.includes(`replacement_transaction_underpriced`)||t.includes(`replacement transaction underpriced`)?`replacement_underpriced`:t.includes(`nonce_conflict`)||t.includes(`nonce`)&&t.includes(`conflict`)||t.includes(`invalid nonce`)||t.includes(`nonce has already been used`)?`nonce_conflict`:null:null}function Dt(e){let t=e.chain===`tempo`?`Tempo`:`EVM`,n=Error(`[SigningEngine] ${t} nonce conflict (${e.reason}) on ${e.networkKey}. Refresh nonce context and retry.`);if(n.code=`nonce_conflict_retryable`,n.retryable=!0,n.details={chain:e.chain,reason:e.reason,networkKey:e.networkKey,chainId:e.chainId},e.cause!==void 0)try{n.cause=e.cause}catch{}return n}function V(e){let t=e.chain===`tempo`?`Tempo`:`EVM`,n=Error(`[SigningEngine] ${t} nonce lane blocked on ${e.networkKey} (nonce=${e.blockedNonce}). Reconcile lane and retry.`);if(n.code=`nonce_lane_blocked`,n.retryable=!0,n.details={chain:e.chain,networkKey:e.networkKey,chainId:e.chainId,blockedNonce:e.blockedNonce,...typeof e.ageMs==`number`?{ageMs:e.ageMs}:{}},e.cause!==void 0)try{n.cause=e.cause}catch{}return n}function Ot(e){if(!e.error||typeof e.error!=`object`)return e.error;let t=B(e.error);if(t===`nonce_conflict_retryable`)return e.error;let n=Et({code:t,message:Tt(e.error)});return n?Dt({chain:e.chain,networkKey:e.networkKey,chainId:e.chainId,reason:n,cause:e.error}):e.error}function kt(e){if(!e.error||typeof e.error!=`object`)return e.error;if(B(e.error)===`nonce_lane_blocked`){let t=typeof e.error.details==`object`&&e.error.details||{},n=String(t?.blockedNonce||``).trim(),r=Number(t?.ageMs);return V({chain:e.chain,networkKey:e.networkKey,chainId:e.chainId,blockedNonce:n||`unknown`,...Number.isFinite(r)?{ageMs:r}:{},cause:e.error})}let t=Tt(e.error).toLowerCase();return t.includes(`nonce lane blocked`)||t.includes(`nonce`)&&t.includes(`blocked`)?V({chain:e.chain,networkKey:e.networkKey,chainId:e.chainId,blockedNonce:`unknown`,cause:e.error}):e.error}function H(e){let t=Ot(e);return kt({...e,error:t})}function At(e){return!e||typeof e!=`object`?!1:B(e)===`nonce_conflict_retryable`}function jt(e){return!e||typeof e!=`object`?!1:B(e)===`nonce_lane_blocked`}function U(e){if(!e)return{present:!1};let t=M(e.identity,`ECDSA lane summary`);return{present:!0,walletId:t.walletId,authMethod:O(e.auth),curve:e.curve,chain:e.chain,chainFamily:`chainFamily`in e?e.chainFamily:e.chain,keyKind:`keyKind`in e?e.keyKind:`threshold_ecdsa_secp256k1`,sessionOrigin:`sessionOrigin`in e?e.sessionOrigin:void 0,storageSource:`storageSource`in e?e.storageSource:void 0,retention:`retention`in e?e.retention:void 0,walletSessionId:e.authorization.operationCredential.walletSessionId,materialActivationId:e.materialActivation.activationId,chainTarget:t.chainTarget,evmFamilyKeyPresent:!!t.key}}function W(e,t){try{console.warn(`[SigningEngine][ecdsa] ${e}`,JSON.stringify(t,null,2))}catch{}}function Mt(e){let t=e.lane;if(!t)throw W(`missing selected signing lane`,{context:e.context,chain:e.chain,...e.diagnostics}),Error(`[SigningEngine][ecdsa] missing selected signing lane for ${e.context}`);if(t.curve!==`ecdsa`||t.keyKind!==`threshold_ecdsa_secp256k1`)throw W(`selected signing lane is not ECDSA`,{context:e.context,expectedChain:e.chain,lane:U(t),...e.diagnostics}),Error(`[SigningEngine][ecdsa] ${e.context} requires an ECDSA signing lane`);let n=t.identity,r=M(n,`${e.context} resolved ECDSA lane`),i=r.chainTarget;if(i.kind!==e.chain)throw W(`selected signing lane chain mismatch`,{context:e.context,expectedChain:e.chain,lane:U(t),...e.diagnostics}),Error(`[SigningEngine][ecdsa] ${e.context} chain does not match selected lane`);let a=r.key;if(!a?.ecdsaThresholdKeyId||!a.signingRootId||!a.signingRootVersion)throw W(`selected signing lane missing full ECDSA identity`,{context:e.context,expectedChain:e.chain,lane:U(t),...e.diagnostics}),Error(`[SigningEngine][ecdsa] incomplete ECDSA lane identity for ${e.context}`);if(!a||String(a.walletId)!==String(r.walletId)||String(r.keyHandle||``).trim()===``)throw W(`selected signing lane missing matching shared key identity`,{context:e.context,expectedChain:e.chain,lane:U(t),...e.diagnostics}),Error(`[SigningEngine][ecdsa] missing shared key identity for ${e.context}`);let o=he({key:a,materialActivation:r.materialActivation,keyHandle:r.keyHandle,walletId:r.walletId,auth:n.auth,authorization:t.authorization,chainTarget:i});return{...t,...o,key:a,keyHandle:r.keyHandle,chainTarget:i,keyKind:`threshold_ecdsa_secp256k1`,chainFamily:r.chainTarget.kind}}function Nt(e){let t=e.authMethod;return{primaryAuthMethod:t,linkedAuthMethods:[t],...e.email?{email:e.email}:{},...e.passkeyCredentialIds?.length?{passkeyCredentialIds:e.passkeyCredentialIds}:{}}}async function Pt(e){if(e.senderSignatureAlgorithm===`webauthnP256`)return Nt({authMethod:c.passkey});if(e.signerAuthMethod!==void 0)return Nt({authMethod:e.signerAuthMethod});throw Error(`[SigningEngine][ecdsa] signer auth method is unavailable`)}function G(e,t){try{e?.(re({...t,flowId:t.flowId??Ft(t)}))}catch{}}function Ft(e){let t=e.data||{};return[`signing`,String(t.chain||`evm_family`),String(t.networkKey||`unknown_network`),String(t.nonce||``)||String(e.phase)].join(`:`)}function K(e,t){G(e,t)}function It(e){if(Lt())try{console.debug(`[SigningOperationMachine][evm-family]`,e)}catch{}}function Lt(){try{return globalThis.localStorage?.getItem(`seams:debug:signing-operation`)===`1`}catch{return!1}}function Rt(e){let n=e.capability.authority;if(!b(n))throw Error(`[SigningEngine] Email OTP operation step-up requires an Email OTP capability authority`);if(e.claimedAuthority&&!y(n,e.claimedAuthority))throw Error(`[SigningEngine] Email OTP step-up authority does not match the selected capability`);if(!t(e.capability.manifest.activation.materialActivation,e.materialActivation))throw Error(`[SigningEngine] Email OTP step-up material activation does not match the selected capability`);let r=String(e.operationFingerprint||``).trim();if(!r)throw Error(`[SigningEngine] Email OTP operation step-up requires an operation fingerprint`);return{kind:`capability_step_up`,capabilityAuthority:n,materialActivation:e.materialActivation,operationFingerprint:r}}function zt(e){switch(e.kind){case`live_session`:if(e.committedLane.authority.factor.kind!==`email_otp`)throw Error(`[SigningEngine][ecdsa] Email OTP challenge requires Email OTP authority`);return{kind:`live_session`,authLane:e.committedLane.authLane};case`capability_step_up`:return{kind:`capability_step_up`,capabilityAuthority:e.capabilityAuthority,materialActivation:e.materialActivation,operationFingerprint:e.operationFingerprint}}}function Bt(e){let t=null;return{challenge:async()=>{if(typeof e.requestEmailOtpTransactionSigningChallenge!=`function`)throw Error(`[SigningEngine] Email OTP ECDSA signing step-up is not configured`);if(e.authority.kind===`capability_step_up`){if(t!==null&&t!==e.authority.operationFingerprint)throw Error(`[SigningEngine] Email OTP step-up challenge is bound to a different operation`);t=e.authority.operationFingerprint}K(e.onEvent,{phase:D.STEP_06_AUTH_EMAIL_OTP_CHALLENGE_STARTED,status:`running`,walletId:e.walletId,interaction:{kind:`none`,overlay:`none`}}),Se(`evm-family`,we({event:`auth_side_effect_started`,lane:e.selectedLane,sideEffect:`email_otp_challenge`,phase:`confirmed`}));let n=await e.requestEmailOtpTransactionSigningChallenge({walletSession:e.walletSession,chain:e.chain,authority:zt(e.authority),operationFingerprintDigest:e.operationFingerprintDigest}),r=String(n.challengeId||``).trim();if(!r)throw Error(`[SigningEngine] Email OTP challenge response did not include challengeId`);return K(e.onEvent,{phase:D.STEP_06_AUTH_EMAIL_OTP_INPUT_REQUIRED,status:`waiting_for_user`,walletId:e.walletId,interaction:{kind:`otp_input`,overlay:`show`},data:{emailHint:n.emailHint,demoOtpCode:Te(n.delivery)}}),{challengeId:r,email:String(n.emailHint||``).trim()}}}}function Vt(e){return b(e.authority)}function Ht(e){let t=e.selection.committedLane;if(!Vt(t))throw Error(`[SigningEngine][ecdsa] Email OTP step-up requires Email OTP authority`);return t.authLane?{kind:`live_session`,committedLane:t}:{kind:`capability_step_up`,capabilityAuthority:t.authority,materialActivation:t.authorization.runtime.materialActivation,operationFingerprint:`sha256:${String(e.operationFingerprintDigest)}`}}function Ut(e){if(e.selection)return b(e.selection.committedLane.authority)?Ht({selection:e.selection,operationFingerprintDigest:e.operationFingerprintDigest}):void 0}async function Wt(e){let t=l(e.walletSession.walletId),n=e.senderSignatureAlgorithm===`secp256k1`&&e.ecdsaAuthorization===`reusable_wallet_session`?e.preparedOperation:null,r=n?n.metadata:null,i=n?.lane,a=r?.selection,o=e.confirmedDeps,s=(e.ecdsaAuthorization===`operation_step_up`&&b(e.capability.authority)?Rt({capability:e.capability,materialActivation:e.materialActivation,operationFingerprint:e.operationFingerprint}):void 0)??(i&&O(i.auth)===c.emailOtp?Ut({selection:a,operationFingerprintDigest:e.operationFingerprintDigest}):void 0),u=s?Bt({walletId:t,walletSession:e.walletSession,chain:e.chain,...i?{selectedLane:i}:{},authority:s,operationFingerprintDigest:e.operationFingerprintDigest,onEvent:e.onEvent,requestEmailOtpTransactionSigningChallenge:o.requestEmailOtpTransactionSigningChallenge}):null,d=oe.TransactionSign,f=null,p;if(n){let e=n,r=e.signingSessionPlan;if(p=r,r.kind===k.NotReady)throw Error(`[SigningEngine] ECDSA signing session is not ready: ${r.reason}`);f=Je({plan:r,accountId:String(t),intent:d,curve:`ecdsa`,expiresAtMs:e.expiresAtMs,remainingUses:e.remainingUses})}let m=f?null:await ee(),h=f||m.signingAuthPlan,g=m?.emailOtpAuthBridge||u;if(h.kind!==I.EmailOtpReauth||!g)return{signingAuthPlan:h,...p?{signingSessionPlan:p}:{}};let _=async()=>{let e=await g.challenge();return{challengeId:e.challengeId,...e.email?{emailHint:e.email}:{}}};return{signingAuthPlan:h,...p?{signingSessionPlan:p}:{},emailOtpSigning:{prepare:_,resend:async()=>await _()}};async function ee(){if(e.ecdsaAuthorization===`operation_step_up`){if(e.capability.authority.factor.kind===`voiceid`)throw Error(`Unlock this wallet with VoiceID again before signing.`);if(x(e.capability.authority))return{signingAuthPlan:{kind:I.PasskeyReauth,method:`passkey`}};if(b(e.capability.authority)){if(!u)throw Error(`[SigningEngine] Email OTP step-up authority is unavailable for the selected capability`);return{signingAuthPlan:{kind:I.EmailOtpReauth,method:`email_otp`},emailOtpAuthBridge:u}}throw Error(`The EVM authentication method cannot authorize this step-up.`)}if(!(Array.isArray(e.accountAuth.linkedAuthMethods)?e.accountAuth.linkedAuthMethods:[]).includes(e.accountAuth.primaryAuthMethod))throw Error(`[SigningEngine] primary auth method is not linked: ${String(e.accountAuth.primaryAuthMethod||``)}`);if(e.accountAuth.primaryAuthMethod===c.passkey)return{signingAuthPlan:{kind:I.PasskeyReauth,method:`passkey`}};if(e.accountAuth.primaryAuthMethod===c.emailOtp){if(!u)throw Error(`[SigningEngine] Email OTP transaction signing requires ECDSA lane state`);return{signingAuthPlan:{kind:I.EmailOtpReauth,method:`email_otp`},emailOtpAuthBridge:u}}throw Error(`[SigningEngine] unsupported primary auth method: ${String(e.accountAuth.primaryAuthMethod||``)}`)}}function Gt(e){if(e.selectedAuthMethod.kind!==`email_otp`||e.runtime.kind!==`exact_ecdsa_sealed_runtime_v1`||e.runtime.authBinding.kind!==`email_otp`||e.operationCredential.token.trim().length===0||e.runtime.sealedRecord.thresholdSessionId.trim().length===0)throw Error(`Exact Email OTP ECDSA signing-session authorization is incomplete`);return{kind:`signing_session`,operationCredential:e.operationCredential,thresholdSessionId:e.runtime.sealedRecord.thresholdSessionId,curve:`ecdsa`,chainTarget:e.runtime.chainTarget}}function Kt(e,t){return{...e,primaryAuthMethod:t,linkedAuthMethods:Array.from(new Set([...e.linkedAuthMethods,t]))}}function qt(e){let t=e.chainTarget.kind===`tempo`?_e:ve,n={key:e.key,materialActivation:e.materialActivation,keyHandle:e.keyHandle,walletId:e.walletId,chainTarget:e.chainTarget,authorization:e.authorization};return Mt({lane:t(e.auth.kind===`email_otp`?{...n,auth:e.auth,retention:`session`,sessionOrigin:`per_operation`}:{...n,auth:e.auth,storageSource:`manual-bootstrap`}),chain:e.chain,context:`build exact ECDSA candidate signing lane`})}function Jt(e){return{authMethod:e.auth.kind,chain:e.chain,chainTarget:e.chainTarget,state:e.state,walletSessionId:e.authorization.operationCredential.walletSessionId,materialActivationId:e.materialActivation.activationId,remainingUses:e.authorization.runtime.remainingUses,expiresAtMs:e.authorization.runtime.expiresAtMs}}function q(e){return{...Jt(e),source:`canonical_capability`}}function Yt(e){return e.selectedAuthMethod.kind===`email_otp`&&e.runtime.authBinding.kind===`email_otp`}function Xt(e){return e.runtime.kind===`exact_ecdsa_direct_capability_runtime_v1`}function Zt(e){return e.runtime.kind===`exact_ecdsa_sealed_runtime_v1`}function Qt(e){if(e.auth.kind!==`passkey`)throw Error(`[SigningEngine][ecdsa] passkey committed lane requires passkey candidate`);return{...e,auth:e.auth}}function $t(e){let t=String(e.authority.walletId);if(!(String(e.lane.key.walletId)===t&&String(e.candidate.walletId)===t))throw Error(`[SigningEngine][ecdsa] ${e.context} committed lane authority wallet mismatch`)}function en(e){return{selectedLaneCandidate:q(e.candidate)}}async function tn(e){let t=Qt(e.candidate),n=(await e.deps.resolveCanonicalEcdsaSigningCapability({walletId:t.walletId,chainTarget:t.chainTarget,materialActivation:t.materialActivation})).authority;if(!x(n)||String(n.verifier.rpId)!==String(t.auth.rpId)||n.factor.credentialIdB64u!==t.auth.credentialIdB64u)throw Error(`[SigningEngine][ecdsa] exact Passkey capability authority changed`);return $t({authority:n,lane:e.lane,candidate:t,context:`Passkey`}),{lane:e.lane,authority:n,authorization:e.lane.authorization}}async function nn(e){let t=e.candidate,n=(await e.deps.resolveCanonicalEcdsaSigningCapability({walletId:t.walletId,chainTarget:t.chainTarget,materialActivation:t.materialActivation})).authority;if(t.auth.kind!==`voiceid`||!v(n)||n.bindingId!==t.auth.walletAuthMethodId||n.factor.deviceKeyId!==t.auth.deviceKeyId)throw Error(`VoiceID ECDSA capability authority changed.`);return $t({authority:n,lane:e.lane,candidate:t,context:`VoiceID`}),{lane:e.lane,authority:n,authorization:e.lane.authorization}}async function rn(e){let t=N(e.lane),n=await e.deps.resolveDurableEmailOtpEcdsaSigningSessionAuthority({lane:t,chain:e.lane.chainTarget.kind});return n?Yt(n)?{kind:`durable_authority_backed`,authorization:n}:null:(W(`Email OTP exact ECDSA authority not found`,{lane:U(e.lane),candidate:q(e.candidate)}),null)}function an(e){if(e.authority)return e.authority;throw W(`Email OTP exact ECDSA signing-session authority missing`,{lane:U(e.lane),candidate:q(e.candidate)}),Error(`Email OTP ECDSA committed lane is missing wallet-session authority; unlock wallet again`)}function on(e){let t=Gt(e.authority.authorization);if(t.kind===`signing_session`&&t.curve===`ecdsa`&&d(t.chainTarget,e.lane.chainTarget))return t;throw W(`Email OTP ECDSA committed lane rejected for authority shape`,{authorityKind:t.kind,authorityCurve:t.kind===`signing_session`?t.curve:null,lane:U(e.lane),candidate:q(e.candidate)}),Error(`Email OTP ECDSA committed lane authority is not an ECDSA signing session; unlock wallet again`)}function sn(e){if(e.committedLane&&e.committedLane.authority.factor.kind===e.expectedFactor)return e.committedLane;throw W(`ECDSA committed lane missing for ready signing`,{expectedFactor:e.expectedFactor,lane:U(e.lane),candidate:q(e.candidate)}),Error(`[SigningEngine][ecdsa] committed lane is unavailable for ready signing`)}function cn(e){let t=e.authority.authorization;if(t.runtime.authBinding.kind!==`email_otp`)throw Error(`[SigningEngine][ecdsa] Email OTP authority runtime binding is invalid`);let n=t.runtime.authBinding.emailOtpAuthority;if($t({authority:n,lane:e.lane,candidate:e.candidate,context:`Email OTP`}),Xt(t))return{lane:e.lane,authority:n,authorization:t};if(Zt(t))return{lane:e.lane,authority:n,authorization:t,authLane:on({authority:e.authority,lane:e.lane,candidate:e.candidate})};throw Error(`[SigningEngine][ecdsa] Email OTP authorization runtime is unsupported`)}async function ln(e){let t=qt(e.laneCandidate),n=t,r=e.laneCandidate.auth.kind,i=r===c.emailOtp?await rn({deps:e.deps,lane:n,candidate:e.laneCandidate}):null,a=r===c.emailOtp?an({authority:i,lane:n,candidate:e.laneCandidate}):null,o=r===c.emailOtp&&a?cn({authority:a,lane:n,candidate:e.laneCandidate}):null,s=r===c.passkey?await tn({deps:e.deps,lane:t,candidate:e.laneCandidate}):null,l=r===`voiceid`?await nn({deps:e.deps,lane:t,candidate:e.laneCandidate}):null,u=o??s??l,d=u?.authority.factor.kind,f=Kt(await Pt({senderSignatureAlgorithm:e.senderSignatureAlgorithm,signerAuthMethod:d??r}),r),p=en({candidate:e.laneCandidate});return{kind:`ready`,accountAuth:f,lane:t,committedLane:sn({committedLane:u,expectedFactor:r,lane:t,candidate:e.laneCandidate}),diagnostics:p}}function un(e){let t={walletId:e.walletId,curve:`ecdsa`,authSelectionPolicy:e.authSelectionPolicy,operationUsesNeeded:e.operationUsesNeeded,...e.operationId?{operationId:e.operationId}:{}};return e.signingTarget.kind===`tempo`?{...t,chain:`tempo`,chainTarget:e.signingTarget}:{...t,chain:`evm`,chainTarget:e.signingTarget}}function dn(e){return{kind:`account_class`,authMethod:e.candidateAuthMethod}}function fn(e){let t=new Set;for(let n of Re(e.availableLanes,e.signingTarget))Ie(n)&&d(n.chainTarget,e.signingTarget)&&t.add(F(n));if(t.size!==1)throw Error(`[SigningEngine][ecdsa] exact capability authority is unavailable or ambiguous`);return Array.from(t)[0]}function pn(e){if(!e)return{present:!1};if(!Ie(e))return{present:!0,curve:e.curve,chain:e.chainTarget.kind,chainTarget:e.chainTarget,state:e.state};let t=ie({walletId:e.key.walletId,publicFacts:e.publicFacts});return{present:!0,authMethod:F(e),curve:e.curve,chain:e.chainTarget?.kind,chainTarget:e.chainTarget,...t?{evmFamilyKeyFingerprint:t}:{},state:e.state,source:e.source,walletSessionId:e.authorization?.operationCredential.walletSessionId,materialActivationId:e.materialActivation.activationId,remainingUses:e.remainingUses,expiresAtMs:e.expiresAtMs}}function mn(e){return Object.fromEntries(Object.entries(e.ecdsa.candidatesByTarget).map(([e,t])=>[e,t.map(e=>pn(e))]))}function hn(e,t){try{console.warn(e,JSON.stringify(t,null,2))}catch{try{console.warn(e,t)}catch{}}}function gn(e){return Object.fromEntries(Object.entries(e.ecdsa.lanesByTarget).map(([e,t])=>[e,pn(t)]))}function _n(e){return e?{present:!0,authMethod:me(e),curve:e.curve,chain:e.chainTarget.kind,chainTarget:e.chainTarget,state:e.state,source:e.source,materialActivationId:e.materialActivation.activationId,authorizationState:e.authorizationState,...e.authorizationState===`authorized`?{walletSessionId:e.authorization.operationCredential.walletSessionId,remainingUses:e.authorization.runtime.remainingUses,expiresAtMs:e.authorization.runtime.expiresAtMs}:{}}:{present:!1}}function vn(e,t){let n=e.session,r=t.session;return e.selectedAuthority.authorityId===t.selectedAuthority.authorityId&&e.selectedAuthMethod.kind===t.selectedAuthMethod.kind&&e.selectedAuthMethod.walletAuthMethodId===t.selectedAuthMethod.walletAuthMethodId&&n.walletId===r.walletId&&n.authorityId===r.authorityId&&n.authMethodId===r.authMethodId&&n.authorizationId===r.authorizationId&&n.quotaId===r.quotaId&&n.authorityDigestB64u===r.authorityDigestB64u&&n.authorityRevocationEpoch===r.authorityRevocationEpoch&&e.operationCredential.walletSessionId===t.operationCredential.walletSessionId&&e.operationCredential.token===t.operationCredential.token&&dt(e.runtime,t.runtime)}function yn(e){let t=e.candidate,n=me(t),r=e.selection.committedLane.authority.factor.kind;if(n!==r)throw Error(`[SigningEngine][ecdsa] prepared auth method ${n} did not match committed lane auth method ${r}`);let i=O(e.selection.lane.auth);if(i!==r)throw Error(`[SigningEngine][ecdsa] selected lane auth method ${i} did not match committed lane auth method ${r}`);if(!vn(t.authorization,e.selection.lane.authorization))throw Error(`[SigningEngine][ecdsa] prepared authorization did not match lane`);if(j(N(e.selection.committedLane.lane))!==j(N(e.selection.lane)))throw Error(`[SigningEngine][ecdsa] committed lane did not match selected lane`)}function bn(e){let t=e.diagnostics.selectedLaneCandidate.state,{expiresAtMs:n,remainingUses:r}=e.lane.authorization.runtime;return t===`expired`?{readiness:{status:`expired`,curve:`ecdsa`,materialActivation:e.lane.materialActivation,authorization:e.lane.authorization,expiresAtMs:n},expiresAtMs:n,remainingUses:r}:t===`exhausted`?{readiness:{status:`exhausted`,curve:`ecdsa`,materialActivation:e.lane.materialActivation,authorization:e.lane.authorization,expiresAtMs:n,remainingUses:r},expiresAtMs:n,remainingUses:r}:{readiness:{status:`ready`,curve:`ecdsa`,materialActivation:e.lane.materialActivation,authorization:e.lane.authorization,expiresAtMs:n,remainingUses:r},expiresAtMs:n,remainingUses:r}}function xn(e){let t=e.preparedOperation.operation;if(!t)throw Error(`[SigningEngine][ecdsa] prepared material requires an operation identity`);if(e.metadata.materialBinding.operationId!==t.operationId)throw Error(`[SigningEngine][ecdsa] prepared material operation identity mismatch`);if(e.metadata.materialBinding.operationFingerprint&&t.operationFingerprint&&e.metadata.materialBinding.operationFingerprint!==t.operationFingerprint)throw Error(`[SigningEngine][ecdsa] prepared material fingerprint mismatch`);let n=j(fe(e.preparedOperation.lane));if(e.metadata.materialBinding.laneIdentityKey!==n)throw Error(`[SigningEngine][ecdsa] prepared material lane identity mismatch`)}async function Sn(e){let t=e.signingTarget,n=t.kind,r=l(e.walletSession.walletId),i=await e.deps.resolveOwnerLaneScope(r),a=await e.deps.readAvailableSigningLanesForSigning({walletId:r,curve:`ecdsa`,ecdsaChainTargets:[t],ownerScope:i}),o={walletId:r,chain:n,chainTarget:t,targetKey:u(t),candidateCount:Re(a,t).length,selectedLanesByTarget:gn(a),candidatesByTarget:mn(a)};o.candidateCount===0&&hn(`[ECDSA_LANE_READ_DIAGNOSTIC][no-candidates]`,o),P(`evm-family`,{stage:`ecdsa_prepare.available_lanes_read`,...o});let s=fn({availableLanes:a,signingTarget:e.signingTarget}),c=un({walletId:r,authSelectionPolicy:dn({candidateAuthMethod:s}),operationUsesNeeded:1,signingTarget:e.signingTarget,...e.signingOperation.operationId?{operationId:e.signingOperation.operationId}:{}}),d=Ye({intent:c,availableLanes:a});if(P(`evm-family`,{stage:`ecdsa_prepare.material_candidate_selected`,walletId:r,chain:n,chainTarget:t,primaryAuthMethod:d.ok?me(d.candidate):s,selectionOk:d.ok,...d.ok?{authorizationState:d.kind,selectedAvailableLane:pn(d.availableLane),selectedLaneCandidate:_n(d.candidate),...d.kind===`authorized`?{transactionLane:d.lane}:{}}:{failure:d.failure}}),!d.ok){let e={stage:`ecdsa_prepare.exact_material_candidate_missing`,walletId:r,chain:n,chainTarget:t,targetKey:u(t),primaryAuthMethod:s,candidateCount:o.candidateCount,ecdsaTargets:a.ecdsa.targets,selectedLanesByTarget:o.selectedLanesByTarget,candidatesByTarget:o.candidatesByTarget,selectionFailure:d.failure};throw hn(`[ECDSA_NO_LANE_DIAGNOSTIC]`,e),xe(`evm-family`,e),Error(`[SigningEngine][ecdsa] transaction signing requires exact ECDSA material for ${n}`)}if(d.kind===`authorization_required`){let t=d.candidate;return e.diagnostics.selection={kind:`authorization_required`,authMethod:F(d.availableLane),candidate:_n(t)},{kind:`authorization_required`,authMethod:F(d.availableLane),availableLanesGeneration:a.generation,identity:ge({signer:pe({walletId:t.walletId,chainTarget:t.chainTarget,keyHandle:t.keyHandle,key:t.key,materialActivation:t.materialActivation}),auth:t.auth}),candidate:t,intent:c}}let f=d.candidate,p=d.lane,m=await Xe({intent:c,coordinator:e.signingSessionCoordinator,operation:e.signingOperation,forceFreshAuth:e.forceFreshAuth===!0,onPlannerTrace:e=>be(`evm-family`,e),lifecycleAdapter:{prepare:async()=>{let i=await ln({deps:e.deps,walletId:r,chainTarget:t,senderSignatureAlgorithm:`secp256k1`,laneCandidate:f});P(`evm-family`,{stage:`ecdsa_prepare.material_selected`,walletId:r,chain:n,chainTarget:t,selectionKind:i.kind,authMethod:i.committedLane.authority.factor.kind,lane:U(i.lane),diagnostics:i.diagnostics});let o=i.committedLane.authority.factor.kind;Ce(`evm-family`,i.lane,{reason:`evm_family_ecdsa_selection`}),e.diagnostics.selection={kind:i.kind,authMethod:o,lane:U(i.lane),diagnostics:i.diagnostics};let s=Mt({lane:i.lane,chain:n,context:`EVM-family signing preparation`,diagnostics:e.diagnostics});yn({candidate:f,selection:i});let l=bn(i);return P(`evm-family`,{stage:`ecdsa_prepare.readiness`,walletId:r,chain:n,chainTarget:t,authMethod:o,lane:U(s),readinessStatus:l.readiness.status}),Se(`evm-family`,we({event:`pre_confirm_readiness_checked`,lane:s,readinessStatus:l.readiness.status,phase:`pre_confirm`})),{lane:s,transactionLane:p,transactionIntent:c,readiness:{readiness:l.readiness,expiresAtMs:l.expiresAtMs,remainingUses:l.remainingUses},availableLanesGeneration:a.generation,metadata:{accountAuth:i.accountAuth,authMethod:o,source:i.diagnostics.selectedLaneCandidate.source,selection:i,materialBinding:{operationId:e.signingOperation.operationId,...e.signingOperation.operationFingerprint?{operationFingerprint:e.signingOperation.operationFingerprint}:{},laneIdentityKey:j(fe(s))},availableLanesGeneration:a.generation}}}}}),h=m.thresholdOperation,g=h.metadata;return xn({metadata:g,preparedOperation:h}),{kind:`authorized`,accountAuth:g.accountAuth,authMethod:g.authMethod,source:g.source,selection:g.selection,availableLanesGeneration:g.availableLanesGeneration,signingLane:h.lane,preparedOperation:h,transactionOperation:m.transactionOperation}}function J(e){let t=e.signedResult.managedNonce;if(!t||typeof t!=`object`)throw Error(`[SigningEngine][evm-family] managedNonce is required for nonce lifecycle`);try{let n=Be(t);return e.walletId,n}catch(e){throw Error(`[SigningEngine][evm-family] invalid managedNonce: ${e instanceof Error?e.message:String(e||`unknown error`)}`)}}async function Cn(e,t){let n=Y(t);await e.nonceCoordinator.release({...n,reason:`signing_failed`})}function wn(e){return{chainNextNonce:e.chainNextNonce.toString(),unresolvedInFlightNonces:e.unresolvedInFlightNonces.map(e=>e.toString()),blocked:e.blocked,...e.blockedNonce==null?{}:{blockedNonce:e.blockedNonce.toString()}}}async function Tn(e,t){let n=J({signedResult:t.signedResult,walletId:t.walletId});G(t.onEvent,{walletId:t.walletId,phase:D.STEP_12_BROADCAST_ACCEPTED,status:`running`,message:`Marking managed nonce lane as in-flight`,data:{chain:n.chainTarget.kind,networkKey:n.chainTarget.networkSlug,chainId:n.chainTarget.chainId.toString(),nonce:n.nonce.toString()}});let r=En(t.txHash||(t.signedResult.chain===`evm`?t.signedResult.txHashHex:void 0));await e.nonceCoordinator.markBroadcastAccepted({...Y(n),txHash:r}),G(t.onEvent,{walletId:t.walletId,phase:D.STEP_12_BROADCAST_ACCEPTED,status:`succeeded`,message:`Managed nonce lane marked in-flight`,data:{chain:n.chainTarget.kind,networkKey:n.chainTarget.networkSlug,chainId:n.chainTarget.chainId.toString(),nonce:n.nonce.toString(),txHash:r}})}function En(e){let t=String(e||``).trim().toLowerCase();if(!/^0x[0-9a-f]{64}$/.test(t))throw Error(`[SigningEngine][evm-family] broadcast acceptance requires txHash`);return t}async function Dn(e,t){let n=J({signedResult:t.signedResult,walletId:t.walletId});G(t.onEvent,{walletId:t.walletId,phase:D.STEP_12_BROADCAST_REJECTED,status:`running`,message:`Marking managed nonce reservation rejected`,data:{chain:n.chainTarget.kind,networkKey:n.chainTarget.networkSlug,chainId:n.chainTarget.chainId.toString(),nonce:n.nonce.toString()}}),await e.nonceCoordinator.markBroadcastRejected({...Y(n),error:t.error});let r=H({error:t.error,chain:n.chainTarget.kind,networkKey:n.chainTarget.networkSlug,chainId:n.chainTarget.chainId});if(G(t.onEvent,{walletId:t.walletId,phase:D.STEP_12_BROADCAST_REJECTED,status:`failed`,message:`Managed nonce reservation marked rejected`,data:{chain:n.chainTarget.kind,networkKey:n.chainTarget.networkSlug,chainId:n.chainTarget.chainId.toString(),nonce:n.nonce.toString()}}),!At(r)&&!jt(r))return;G(t.onEvent,{walletId:t.walletId,phase:D.STEP_13_NONCE_RECONCILE_STARTED,status:`running`,message:`Reconciling managed nonce lane after broadcast error`,data:{chain:n.chainTarget.kind,networkKey:n.chainTarget.networkSlug,chainId:n.chainTarget.chainId.toString(),nonce:n.nonce.toString(),errorCode:B(r)}});let i=await e.nonceCoordinator.reconcile({lane:A(n)}).catch(()=>null);throw G(t.onEvent,{walletId:t.walletId,phase:D.STEP_13_NONCE_RECONCILE_SUCCEEDED,status:`succeeded`,message:`Managed nonce lane reconciled`,data:{chain:n.chainTarget.kind,networkKey:n.chainTarget.networkSlug,chainId:n.chainTarget.chainId.toString(),...i?{laneStatus:wn(i)}:{}}}),r}async function On(e,t){t.receiptStatus;let n=J({signedResult:t.signedResult,walletId:t.walletId}),r=t.txHash||(t.signedResult.chain===`evm`?t.signedResult.txHashHex:void 0);await e.nonceCoordinator.markFinalized({...Y(n),...r?{txHash:r}:{}})}async function kn(e,t){let n=J({signedResult:t.signedResult,walletId:t.walletId});G(t.onEvent,{walletId:t.walletId,phase:t.reason===`replaced`?D.STEP_13_TRANSACTION_REPLACED:D.STEP_13_TRANSACTION_DROPPED,status:`running`,message:t.reason===`replaced`?`Marking managed nonce lane replaced`:`Marking managed nonce lane dropped`,data:{chain:n.chainTarget.kind,networkKey:n.chainTarget.networkSlug,chainId:n.chainTarget.chainId.toString(),nonce:n.nonce.toString(),reason:t.reason,...t.txHash?{txHash:t.txHash}:{}}}),await e.nonceCoordinator.markDroppedOrReplaced({...Y(n),reason:t.reason,...t.txHash?{txHash:t.txHash}:{}}),G(t.onEvent,{walletId:t.walletId,phase:t.reason===`replaced`?D.STEP_13_TRANSACTION_REPLACED:D.STEP_13_TRANSACTION_DROPPED,status:t.reason===`replaced`?`succeeded`:`failed`,message:t.reason===`replaced`?`Managed nonce lane marked replaced`:`Managed nonce lane marked dropped`,data:{chain:n.chainTarget.kind,networkKey:n.chainTarget.networkSlug,chainId:n.chainTarget.chainId.toString(),nonce:n.nonce.toString(),reason:t.reason,...t.txHash?{txHash:t.txHash}:{}}})}async function An(e,t){let n=J({signedResult:t.signedResult,walletId:t.walletId});G(t.onEvent,{walletId:t.walletId,phase:D.STEP_13_NONCE_RECONCILE_STARTED,status:`running`,message:`Reconciling managed nonce lane`,data:{chain:n.chainTarget.kind,networkKey:n.chainTarget.networkSlug,chainId:n.chainTarget.chainId.toString()}});let r=await e.nonceCoordinator.reconcile({lane:A(n)}),i=wn(r);if(G(t.onEvent,{walletId:t.walletId,phase:D.STEP_13_NONCE_RECONCILE_SUCCEEDED,status:`succeeded`,message:`Managed nonce lane reconciled`,data:{chain:n.chainTarget.kind,networkKey:n.chainTarget.networkSlug,chainId:n.chainTarget.chainId.toString(),laneStatus:i}}),r.blocked)throw V({chain:n.chainTarget.kind,networkKey:n.chainTarget.networkSlug,chainId:n.chainTarget.chainId,blockedNonce:String(i.blockedNonce||`unknown`)});return i}function Y(e){let t=String(e.leaseId||``).trim(),n=String(e.operationId||``).trim(),r=String(e.operationFingerprint||``).trim();if(!t||!n||!r)throw Error(`[SigningEngine][evm-family] managedNonce lease metadata is required`);return{leaseId:t,operationId:n,operationFingerprint:r}}function jn(e){let t=String(e||``).trim().toLowerCase();if(/^0x[0-9a-f]{40}$/.test(t))return t}function Mn(e){if(`chainId`in e)return typeof e.chainId==`number`?e.chainId:void 0}function Nn(e){return String(o(e.network))===`evm`}function Pn(e){return String(o(e.network))===`tempo`}function Fn(e){let t=Ln(e);if(t)return t;let n=e.request.tx.chainId;throw Error(`[SigningEngine] unable to resolve nonce network for ${e.request.chain} chainId=${String(n)} from configured chains`)}function In(e){return Ln(e)||`${e.request.chain}:${String(e.request.tx.chainId)}`}function Ln(e){let t=e.request.tx.chainId,n=e.configs.network.chains.filter(e=>{let n=Mn(e);return typeof n==`number`&&n===t});if(!n.length)return null;if(e.request.chain===`tempo`){let t=n.filter(e=>Pn(e));if(t.length===1)return t[0].network;if(t.length>1){let n=t.map(e=>e.network).join(`, `);throw Error(`[SigningEngine] ambiguous nonce network for tempo chainId=${String(e.request.tx.chainId)} across [${n}]`)}return null}let r=n.filter(e=>Nn(e));if(r.length===1)return r[0].network;if(r.length>1){let t=r.map(e=>e.network).join(`, `);throw Error(`[SigningEngine] ambiguous nonce network for evm chainId=${String(e.request.tx.chainId)} across [${t}]`)}let i=n.filter(e=>Pn(e));if(i.length===1)return i[0].network;if(i.length>1){let t=i.map(e=>e.network).join(`, `);throw Error(`[SigningEngine] ambiguous nonce network for evm->tempo chainId=${String(e.request.tx.chainId)} across [${t}]`)}return null}function Rn(e){return{kind:`threshold_owner`,thresholdOwnerAddress:e}}function zn(e){return{kind:`chain_account`,chainAccountAddress:e}}function Bn(e){switch(e.kind){case`threshold_owner`:return e.thresholdOwnerAddress;case`chain_account`:return e.chainAccountAddress;default:return e}}async function Vn(e){let t=(await e.deps.walletSignerStore.getActiveWalletSignerForChainTarget({walletId:e.walletId,chainTarget:e.chainTarget}))?.metadata||{},n=jn(t.thresholdOwnerAddress);if(n)return Rn(n);let r=jn(t.accountAddress);if(r)return zn(r);let i=f(e.chainTarget);throw Error(`[SigningEngine] unable to resolve managed nonce wallet signer for ${e.walletId} (${i})`)}async function Hn(e){return Bn(e.senderIdentity)}async function Un(e){let t=await Hn({senderIdentity:e.senderIdentity});return Ue({chain:`evm`,networkKey:Fn({configs:e.deps.seamsWebConfigs,request:e.request}),chainId:e.request.tx.chainId,sender:t,walletId:e.walletId})}async function Wn(e){let t=e.reservationInput,n;try{n=le(await e.deps.nonceCoordinator.reserve({lane:ue(t),operation:e.operation}))}catch(e){throw H({error:e,chain:`evm`,networkKey:t.chainTarget.networkSlug,chainId:t.chainTarget.chainId})}return{request:{...e.request,tx:{...e.request.tx,nonce:n.nonce}},reservation:n}}let Gn=null,Kn=null,qn=null,Jn=null;async function Yn(){return Gn||=import(`./secp256k1-CE7-q9Sn.js`).then(e=>e.Secp256k1Engine),await Gn}async function Xn(){return Kn||=import(`./webauthnP256-BsQQPurm.js`).then(e=>e.WebAuthnP256Engine),await Kn}async function Zn(){return qn||=import(`./signEvmWithUiConfirm-CGrLtMV6.js`).then(e=>e.signEvmWithUiConfirm),await qn}async function Qn(){return Jn||=import(`./signEvmFamilyWithUiConfirmForTempo-CrMIAXUe.js`).then(e=>e.signEvmFamilyWithUiConfirmForTempo),await Jn}async function $n(e){let t=await Hn({senderIdentity:e.senderIdentity}),n=Ue({chain:`tempo`,networkKey:Fn({configs:e.deps.seamsWebConfigs,request:e.request}),chainId:e.request.tx.chainId,sender:t,nonceKey:e.request.tx.nonceKey,walletId:e.walletId}),r;try{r=le(await e.deps.nonceCoordinator.reserve({lane:ue(n),operation:e.operation}))}catch(e){throw H({error:e,chain:`tempo`,networkKey:n.chainTarget.networkSlug,chainId:n.chainTarget.chainId})}return{request:{...e.request,tx:{...e.request.tx,nonce:r.nonce}},reservation:r}}function er(e){if(e.state.kind!==`not_required`)return Rn(e.state.thresholdOwnerAddress)}function tr(e){if(e.state.kind===`not_required`)throw Error(`[SigningEngine][evm-family] raw EIP-1559 signing requires prepared threshold ECDSA owner address for ${e.walletId}`);return Rn(e.state.thresholdOwnerAddress)}function nr(e){return Vn({deps:e.deps,walletId:e.walletId,chainTarget:e.chainTarget})}async function rr(e,t){let n=e.deps.nonceCoordinator.recoverDurableLeases({walletId:e.walletId});n.catch(()=>{});let r=await t.loadSigner();try{return await r({...e.flowArgs,authorization:e.flowArgs.authorization??{kind:`owner`},request:e.request,onConfirmationDisplayed:e.onConfirmationDisplayed,thresholdEcdsaStepUp:e.thresholdEcdsaStepUp,prepareRequestWithManagedNonce:async()=>(await n,await t.prepareRequestWithManagedNonce({deps:e.deps,walletId:e.walletId,request:e.request,nonceOperation:e.nonceOperation})),releaseNonceReservation:async t=>{await Cn(e.deps,t)}})}catch(n){let r=await e.retryWithFreshEmailOtpAuth(n);if(r)return r;throw H({error:n,chain:t.targetKind,networkKey:In({configs:e.deps.seamsWebConfigs,request:e.request}),chainId:e.chainTarget.chainId})}}async function ir(e){if(e.chainTarget.kind===`evm`||e.request.kind===`eip1559`){let t=null,n=null,r=e.request.kind===`eip1559`?tr({state:e.thresholdEcdsaState,walletId:e.walletId}):void 0,i=er({state:e.thresholdEcdsaState}),a=t=>{let a=r||i;return a?Promise.resolve(a):(n||=nr({deps:t.deps,walletId:t.walletId,chainTarget:e.chainTarget}),n)},o=e=>(t||=a(e).then(t=>Un({deps:e.deps,walletId:e.walletId,request:e.request,senderIdentity:t})),t),s=e.chainTarget.kind;return await rr({...e,request:e.request},{targetKind:s,loadSigner:s===`tempo`?Qn:Zn,prepareRequestWithManagedNonce:async e=>{let t=await o(e);return await Wn({deps:e.deps,request:e.request,reservationInput:t,operation:e.nonceOperation})}})}let t=null,n=er({state:e.thresholdEcdsaState}),r=r=>n?Promise.resolve(n):(t||=nr({deps:r.deps,walletId:r.walletId,chainTarget:e.chainTarget}),t);return await rr({...e,request:e.request},{targetKind:`tempo`,loadSigner:Qn,prepareRequestWithManagedNonce:async e=>{let t=await r(e);return await $n({deps:e.deps,walletId:e.walletId,request:e.request,operation:e.nonceOperation,senderIdentity:t})}})}async function ar(e){return Ne({purpose:`transaction_signing`,source:je(e.persistedMaterial),workerCtx:e.workerCtx})}function or(e){let t=String(e.walletId||``).trim();if(!t)throw Error(`[multichain] Missing wallet id for ready secp256k1 signing material`);let n=e.signerSession;if(t!==String(n.walletId))throw Error(`[multichain] ready secp256k1 material wallet identity mismatch`);let r=Math.floor(Number(e.expiresAtMs));if(!Number.isSafeInteger(r)||r<=Date.now())throw Error(`[multichain] ready secp256k1 authorization expiry is invalid`);let i={kind:`ready_secp256k1_signing_material`,walletId:t,signerSession:n,expiresAtMs:r,singleUseEmailOtpSession:e.singleUseEmailOtpSession};switch(e.authorization.kind){case`reusable_wallet_session`:if(e.credential.kind!==`reusable_wallet_session`)throw Error(`[multichain] exact Wallet Session authorization requires its operation credential`);return{...i,authorization:e.authorization,credential:e.credential};case`operation_step_up`:if(!e.operationStepUpPreparation)throw Error(`[multichain] operation step-up preparation is required`);return{...i,authorization:e.authorization,credential:e.credential,operationStepUpPreparation:e.operationStepUpPreparation}}}async function sr(e){let n=e.capability,r=n.manifest,i=n.material,a=e.runtime,o=i.publicFacts;if(!t(e.materialActivation,r.activation.materialActivation))return{kind:`unavailable`,reason:`material_activation_mismatch`};if(!t(a.materialActivation,r.activation.materialActivation))return{kind:`unavailable`,reason:`runtime_correlation_mismatch`};let s=r.signer.scope.targetMemberships.some(e=>d(e,o.chainTarget)),c=r.signer.scope.targetMemberships.find(t=>d(t,e.chainTarget));if(!s||!c||!d(a.chainTarget,c))return{kind:`unavailable`,reason:`chain_mismatch`};let l=te({publicFacts:o,chainTarget:c});if(!a.runtimePolicyScope)return{kind:`unavailable`,reason:`runtime_policy_scope_missing`};let u=await ar({persistedMaterial:i,workerCtx:e.workerCtx}),f;switch(u.kind){case`rehydrated`:f=u;break;case`device_link_required`:return{kind:`unavailable`,reason:`device_link_required`};case`corrupt`:return{kind:`unavailable`,reason:`material_corrupt`};default:return u}let p=a.normalSigning,m=Ze({routerAbState:p});return{kind:`ready`,material:ae({walletId:r.signer.walletId,materialActivation:r.activation.materialActivation,publicFacts:r.signer.registeredPublicFacts,transport:{kind:`threshold_ecdsa_signer_transport`,relayerUrl:a.relayerUrl,relayerKeyId:r.durableMaterial.roleLocalBinding.relayerKeyId,signingMaterial:m,relayerVerifyingShareB64u:l.relayerPublicKey33B64u},clientShare:{kind:`role_local_worker_share`,handle:f.liveHandle,material:{kind:`worker_loaded`,materialRef:f.materialRef}},routerAbEcdsaDerivationNormalSigning:{kind:`router_ab_ecdsa_derivation_normal_signing_hydrated_v1`,state:p,activeStateId:h(p)}})}}function cr(e){let n=gt({capability:e.capability,authorization:e.authorization,nowMs:e.nowMs}),r=n.authorization.session,i=n.authorization.operationCredential;if(r.walletId!==e.material.walletId||!t(e.material.materialActivation,e.capability.manifest.activation.materialActivation))throw Error(`Exact Wallet Session authorization wallet does not match hydrated material`);if(i.token.trim().length===0)throw Error(`Exact Wallet Session authorization is unavailable`);return or({walletId:e.material.walletId,signerSession:e.material,authorization:{kind:`reusable_wallet_session`,wallet_session_id:i.walletSessionId},credential:{kind:`reusable_wallet_session`,walletSessionToken:i.token,home:i.home,ownershipGeneration:i.ownershipGeneration},expiresAtMs:r.expiresAtMs,singleUseEmailOtpSession:!1})}function lr(e){return e.session.capabilitySubjects.some(n=>n.kind===`sign`&&n.keyFamily===`ecdsa_secp256k1`&&t(n.materialActivation,e.materialActivation))}function ur(e){let n=e.authorityRuntime,r=n.holderRuntime,i=n.session,a=n.operationCredential,o=r.activationReceipt.normalSigning,s=o.scope;if(i.walletId!==r.walletId||i.authorityId!==r.authorityId||i.authMethodId!==r.walletAuthMethodId||a.walletSessionId!==n.walletSessionId||i.expiresAtMs<=Date.now()||!lr({session:i,materialActivation:r.materialActivation})||s.wallet_id!==r.walletId||s.ecdsa_threshold_key_id!==r.ecdsaThresholdKeyId||!t(g(s.material_activation),r.materialActivation))throw Error(`[SigningEngine] active Wallet Authority session does not bind the ECDSA holder runtime`);let c=String(e.relayerUrl||``).trim();if(!c)throw Error(`[SigningEngine] active Wallet Authority ECDSA signing requires relayerUrl`);let u=ae({walletId:l(r.walletId),materialActivation:r.materialActivation,publicFacts:n.publicFacts,transport:{kind:`threshold_ecdsa_signer_transport`,relayerUrl:c,relayerKeyId:n.relayerKeyId,signingMaterial:Ze({routerAbState:o}),relayerVerifyingShareB64u:s.public_identity.server_public_key33_b64u},clientShare:{kind:`linked_holder_worker_share`,holderHandleId:r.holderHandleId},routerAbEcdsaDerivationNormalSigning:{kind:`router_ab_ecdsa_derivation_normal_signing_hydrated_v1`,state:o,activeStateId:h(o)}});return or({walletId:r.walletId,signerSession:u,authorization:{kind:`reusable_wallet_session`,wallet_session_id:a.walletSessionId},credential:{kind:`reusable_wallet_session`,walletSessionToken:a.token,home:a.home,ownershipGeneration:a.ownershipGeneration},expiresAtMs:i.expiresAtMs,singleUseEmailOtpSession:!1})}function X(e){return{kind:`blocked`,reason:e}}function dr(e){switch(e){case`email_otp`:return`email_otp`;case`login`:case`registration`:case`manual-bootstrap`:return`passkey`;default:throw Error(`[SigningEngine] unsupported sealed ECDSA source`)}}function Z(e){return String(e??``).trim()}function fr(e){let n=e.record.ecdsaRestore,r=e.manifest.durableMaterial;return Z(e.record.walletId)!==String(e.walletId)||!d(n.chainTarget,e.chainTarget)||!t(n.roleLocalMaterialRef.materialActivation,r.materialActivation)||!t(r.materialActivation,e.manifest.activation.materialActivation)?!1:Z(n.roleLocalMaterialRef.durableMaterialRef)===Z(r.durableMaterialRef)}function pr(e,t){return e.length===t.length&&e.every((e,n)=>e===t[n])}function mr(e,t){return e.kind===t.kind&&String(e.walletId)===String(t.walletId)&&String(e.authorityDigest)===String(t.authorityDigest)}function hr(e){return e.manifest.signer.scope.targetMemberships.some(t=>d(t,e.chainTarget))}function gr(e){let t=e.record.ecdsaRestore,n=e.manifest.durableMaterial,r=n.roleLocalBinding,i=n.roleLocalPublicFacts,a=t.routerAbEcdsaDerivationNormalSigning.scope,o=dr(t.source),s=Z(t.ecdsaThresholdKeyId)||Z(a.ecdsa_threshold_key_id),c=`recordKind`in e.record?Z(r.clientVerifyingPublicKey33B64u):Z(t.clientVerifyingShareB64u)||Z(a.public_identity.derivation_client_share_public_key33_b64u),l=Z(t.thresholdEcdsaPublicKeyB64u)||Z(a.public_identity.threshold_public_key33_b64u);return String(e.manifest.signer.walletId)===String(e.walletId)&&String(i.walletId)===String(e.walletId)&&hr(e)&&e.record.authMethod===o&&mr(t.authority,e.manifest.signer.authority)&&Z(t.roleLocalMaterialRef.bindingDigest)===Z(n.bindingDigest)&&Z(t.keyHandle)===Z(r.keyHandle)&&Z(t.keyHandle)===Z(i.keyHandle)&&s===Z(r.ecdsaThresholdKeyId)&&s===Z(i.ecdsaThresholdKeyId)&&c===Z(r.clientVerifyingPublicKey33B64u)&&c===Z(i.derivationClientSharePublicKey33B64u)&&l===Z(i.groupPublicKey33B64u)&&Z(t.relayerKeyId)===Z(r.relayerKeyId)&&pr(t.participantIds,r.participantIds)&&pr(t.participantIds,i.participantIds)&&Z(t.signingRootId)===Z(e.manifest.signer.signingRootId)&&Z(t.signingRootId)===Z(i.signingRootId)&&Z(t.signingRootVersion)===Z(e.manifest.signer.signingRootVersion)&&Z(t.signingRootVersion)===Z(i.signingRootVersion)&&Z(t.ethereumAddress).toLowerCase()===Z(i.ethereumAddress).toLowerCase()&&T(t.publicCapability,i.publicCapability)&&ee(a,{wallet_id:String(e.walletId),ecdsa_threshold_key_id:String(i.ecdsaThresholdKeyId),signing_root_id:String(i.signingRootId),signing_root_version:String(i.signingRootVersion),context:i.publicCapability.context,public_identity:i.publicCapability.public_identity,signing_worker:i.publicCapability.signer_set.selected_server,activation_epoch:i.publicCapability.activation_epoch,material_activation:_(n.materialActivation)})}function _r(e){let t=e.restore;if(t.source===`email_otp`){let n=Z(t.providerSubjectId),r=Z(t.emailHashHex),i=t.emailOtpAuthority,a=e.manifest.signer.authority;return!n||!r||!i||String(i.walletId)!==String(a.walletId)||String(i.factor.providerUserId)!==n||String(i.verifier.emailHashHex)!==r?null:{kind:`email_otp`,providerSubjectId:n,emailHashHex:r,emailOtpAuthority:{walletId:i.walletId,factor:i.factor,verifier:i.verifier,bindingId:a.walletAuthMethodId}}}let n=Z(t.rpId),r=Z(t.credentialIdB64u);return n&&r?{kind:`passkey`,rpId:n,credentialIdB64u:r}:null}function vr(e){if(e.length!==2)return null;let t=e[0],n=e[1];return!Number.isSafeInteger(t)||!Number.isSafeInteger(n)||t<=0||n<=0||t===n?null:[t,n]}function yr(e){let t=e.record.ecdsaRestore,n=_r({manifest:e.manifest,restore:t}),i=Z(e.record.relayerUrl).replace(/\/+$/g,``),a=Z(t.relayerKeyId),o=e.manifest.durableMaterial.roleLocalBinding.clientVerifyingPublicKey33B64u,s=Z(t.ecdsaThresholdKeyId)||Z(t.routerAbEcdsaDerivationNormalSigning.scope.ecdsa_threshold_key_id),c=Z(t.thresholdEcdsaPublicKeyB64u)||Z(t.routerAbEcdsaDerivationNormalSigning.scope.public_identity.threshold_public_key33_b64u),l=Z(t.keyHandle),u=Array.isArray(t.participantIds)?vr(t.participantIds):null,d;try{d=w(t.roleLocalMaterialRef)}catch{return null}let f=null;try{f=r(t.runtimePolicyScope)}catch{f=null}return!n||!i||!a||!o||!s||!c||!l||!u?null:{walletId:e.walletId,chainTarget:e.chainTarget,materialActivation:t.roleLocalMaterialRef.materialActivation,normalSigning:t.routerAbEcdsaDerivationNormalSigning,relayerUrl:i,relayerKeyId:a,clientVerifyingPublicKey33B64u:o,participantIds:u,ecdsaThresholdKeyId:s,thresholdEcdsaPublicKeyB64u:c,keyHandle:l,runtimePolicyScope:f,roleLocalMaterialRef:d,authBinding:n}}function br(e){let t=yr(e),n=Number(e.record.expiresAtMs),r=Number(e.record.remainingUses),i=Z(e.record.thresholdSessionIds.ecdsa),a=Z(e.record.storeKey);return!t||!a||!i||!Number.isSafeInteger(n)||n<=0||!Number.isSafeInteger(r)||r<0?null:{...t,kind:`exact_ecdsa_sealed_runtime_v1`,expiresAtMs:n,remainingUses:r,sealedRecord:{storeKey:a,thresholdSessionId:i,authMethod:e.record.authMethod}}}function xr(e){let t=e.sealedRecords.filter(t=>fr({manifest:e.manifest,walletId:e.walletId,chainTarget:e.chainTarget,record:t}));if(t.length===0)return X(`missing_material`);if(t.length>1)return X(`exact_record_conflict`);let n=br({manifest:e.manifest,walletId:e.walletId,chainTarget:e.chainTarget,record:t[0]});return n?gr({manifest:e.manifest,walletId:e.walletId,chainTarget:e.chainTarget,record:t[0]})?{kind:`resolved`,runtime:n}:X(`binding_mismatch`):X(`corrupt`)}function Sr(e){return e.manifest.signer.scope.targetMemberships.some(t=>d(t,e.chainTarget))}async function Cr(e){return(await e.ports.listActiveEcdsaCapabilityManifestsForWallet(e.walletId)).filter(t=>Sr({manifest:t,chainTarget:e.chainTarget}))}async function wr(e){let t=[],n=e.authMethod?[e.authMethod]:[`passkey`,`email_otp`];for(let r of n){let n=await e.ports.listExactSealedSessionsForWallet({walletId:String(e.walletId),filter:{authMethod:r,curve:`ecdsa`,chainTarget:e.chainTarget}}).catch(()=>[]);for(let e of n)e.curve===`ecdsa`&&t.push(e)}return t}async function Tr(e){if(!Sr({manifest:e.manifest,chainTarget:e.chainTarget}))return{kind:`blocked`,reason:`chain_mismatch`};let t=e.manifest.durableMaterial,n=t.roleLocalPublicFacts,r=Er(n.participantIds),i=String(e.relayerUrl).trim().replace(/\/+$/g,``);return!r||!i?{kind:`blocked`,reason:`corrupt`}:{kind:`resolved`,manifest:e.manifest,runtime:{kind:`exact_ecdsa_capability_runtime_v1`,walletId:e.manifest.signer.walletId,chainTarget:e.chainTarget,materialActivation:t.materialActivation,normalSigning:t.routerAbEcdsaDerivationNormalSigning,relayerUrl:i,relayerKeyId:String(t.roleLocalBinding.relayerKeyId),clientVerifyingPublicKey33B64u:t.roleLocalBinding.clientVerifyingPublicKey33B64u,participantIds:r,ecdsaThresholdKeyId:String(n.ecdsaThresholdKeyId),thresholdEcdsaPublicKeyB64u:n.groupPublicKey33B64u,keyHandle:String(n.keyHandle),runtimePolicyScope:t.runtimePolicyScope,roleLocalMaterialRef:{kind:`ecdsa_role_local_persisted_material_ref_v1`,durableMaterialRef:t.durableMaterialRef,bindingDigest:t.bindingDigest,materialActivation:t.materialActivation}}}}function Er(e){if(e.length!==2)return null;let t=e[0],n=e[1];return!Number.isSafeInteger(t)||!Number.isSafeInteger(n)||t<=0||n<=0||t===n?null:[t,n]}async function Dr(e,t,n){let r=await e.resolveSelectedWalletAuthority(String(t));if(r.kind!==`resolved`)return n;let i=String(r.authMethod.walletAuthMethodId),a=n.filter(e=>String(e.signer.authority.walletAuthMethodId)===i);return a.length>0?a:n}async function Or(e,t){let n=await Cr({ports:e,...t});if(n.length===0)return{kind:`blocked`,reason:`missing_capability`};let r=n.length>1?await Dr(e,t.walletId,n):n;if(r.length!==1)return{kind:`blocked`,reason:`exact_record_conflict`};let i=r[0],a=await wr({ports:e,...t}),o=xr({manifest:i,walletId:t.walletId,chainTarget:t.chainTarget,sealedRecords:a});return o.kind===`resolved`?{kind:`resolved`,manifest:i,runtime:o.runtime}:{kind:`blocked`,reason:o.reason}}function kr(e){return Or.bind(null,e)}async function Ar(e,t){let n=await e.listActiveEcdsaCapabilityManifestsForWallet(t.walletId),r=[];for(let e of n)for(let n of e.signer.scope.targetMemberships)n.kind===t.chain&&r.push({manifest:e,chainTarget:n});if(r.length===0)return{kind:`blocked`,reason:`missing_capability`};if(r.length>1)return{kind:`blocked`,reason:`exact_record_conflict`};let i=r[0],a=await wr({ports:e,walletId:t.walletId,chainTarget:i.chainTarget}),o=xr({manifest:i.manifest,walletId:t.walletId,chainTarget:i.chainTarget,sealedRecords:a});return o.kind===`resolved`?{kind:`resolved`,manifest:i.manifest,runtime:o.runtime}:{kind:`blocked`,reason:o.reason}}function jr(e){return Ar.bind(null,e)}async function Mr(e){let t=e.material,n=t.publicFacts.participantIds;if(n.length!==2)throw Error(`[chains] ECDSA operation step-up requires exactly two participants`);let r=String(e.operation.intent.operationId||``).trim(),i=Math.min(Date.now()+5*6e4,e.sessionExpiresAtMs);return await Pe({walletId:t.walletId,operationKind:`evm.sign_transaction`,operationId:r,operationDigests:e.operationDigests,materialActivation:t.materialActivation,normalSigningScope:t.routerAbEcdsaDerivationNormalSigning.state.scope,keyHandle:t.publicFacts.keyHandle,relayerKeyId:t.transport.relayerKeyId,participantIds:[Number(n[0]),Number(n[1])],expiresAtMs:i})}async function Nr(e){let t=Pr({authority:e.authority,authorization:e.authorization}),n=await Me({relayerUrl:e.relayerUrl,transport:{kind:`wallet_session`,credential:e.operationCredential},request:{kind:`router_ab_ecdsa_operation_step_up_v1`,operation:e.prepared.operation,proof:t}}),r={kind:`operation_step_up`,walletSessionToken:e.operationCredential.token,home:e.operationCredential.home,ownershipGeneration:e.operationCredential.ownershipGeneration};return or({walletId:e.material.walletId,signerSession:e.material,authorization:{kind:`operation_step_up`},credential:r,expiresAtMs:n.expires_at_ms,singleUseEmailOtpSession:!1,operationStepUpPreparation:e.prepared.operation})}function Pr(e){switch(e.authorization.kind){case`passkey`:{if(!x(e.authority))throw Error(`[chains] passkey step-up requires the exact passkey authority`);let t=e.authorization.credential;return{kind:`passkey`,authority:e.authority,webauthn_authentication:{id:t.id,rawId:t.rawId,type:t.type,authenticatorAttachment:t.authenticatorAttachment??null,response:{clientDataJSON:t.response.clientDataJSON,authenticatorData:t.response.authenticatorData,signature:t.response.signature,userHandle:t.response.userHandle??null},clientExtensionResults:null}}}case`email_otp`:if(!b(e.authority))throw Error(`[chains] Email OTP step-up requires the exact Email OTP authority`);return{kind:`email_otp`,authority:e.authority,challenge_id:e.authorization.challengeId,otp_code:e.authorization.otpCode}}}function Fr(e){return{kind:`active_wallet_authority`,method:e.auth.kind,accountId:String(e.walletId),intent:`transaction_sign`,curve:`ecdsa`,walletSessionId:e.operationCredential.walletSessionId,authorityId:e.authorityId,authMethodId:e.walletAuthMethodId,expiresAtMs:e.session.expiresAtMs}}function Ir(e){switch(e.factor.kind){case`voiceid`:return`voiceid`;case`passkey`:return`passkey`;case`email_otp`:return`email_otp`;default:throw e.factor,Error(`[SigningEngine] unsupported wallet authorization factor`)}}function Lr(e){let n=e.capability.manifest;return n.signer.walletId===e.scope.walletId&&t(n.activation.materialActivation,e.scope.materialActivation)&&n.signer.scope.targetMemberships.some(t=>d(t,e.scope.chainTarget))}function Rr(e){let n=e.capability.manifest.activation.materialActivation;return e.session.capabilitySubjects.filter(e=>e.kind===`sign`&&e.keyFamily===`ecdsa_secp256k1`&&t(e.materialActivation,n)).length===1}async function zr(e){if(!Lr(e))throw Error(`[SigningEngine] exact ECDSA Wallet Session material changed`);let n=e.ports,r=await n.resolveSelectedWalletAuthority(String(e.scope.walletId)),i=Vr(r,e.scope.walletId);if(i||r.kind!==`resolved`)throw Br(i??`selected_authority_invalid`);let a=await S({authority:e.capability.authority}),o=e.capability.manifest.signer.authority,s=r.authority.signerActivations.ecdsa;if(a.walletId!==o.walletId||a.walletAuthMethodId!==o.walletAuthMethodId||a.authorityDigest!==o.authorityDigest||o.walletId!==r.authority.walletId||o.walletAuthMethodId!==r.authMethod.walletAuthMethodId||!s||!t(s.materialActivation,e.scope.materialActivation))throw Error(`[SigningEngine] exact ECDSA Wallet Session material changed`);let c=await n.readExactWithOperationCredential({walletId:e.scope.walletId,authorityId:r.authority.authorityId,authMethodId:r.authMethod.walletAuthMethodId});if(c.kind!==`found`)throw Br(c.kind===`missing`?`wallet_session_missing`:`wallet_session_upgrade_required`);let l=c.record,u=Hr({session:l,operationCredential:c.operationCredential,walletId:e.scope.walletId,authority:r.authority,authMethod:r.authMethod,capability:e.capability});if(u)throw Br(u);return{credential:c.operationCredential,expiresAtMs:l.expiresAtMs}}function Br(e){return Error(`[SigningEngine] exact ECDSA Wallet Session is unavailable: ${e}`)}function Vr(e,t){return e.kind===`resolved`?e.selection.walletId!==t||e.authMethod.walletId!==t||e.authority.walletId!==t||e.selection.walletAuthMethodId!==e.authMethod.walletAuthMethodId||e.authMethod.walletAuthorityId!==e.authority.authorityId?`authority_identity_mismatch`:e.selection.lockState===`unlocked`?e.authMethod.status===`active`?e.authority.state===`active`?null:`authority_inactive`:`auth_method_inactive`:`wallet_locked`:e.kind===`missing_selection`?`selected_authority_missing`:`selected_authority_invalid`}function Hr(e){let{session:t}=e;return t.walletId!==e.walletId||t.authorityId!==e.authority.authorityId||t.authMethodId!==e.authMethod.walletAuthMethodId?`wallet_session_identity_mismatch (authority or method)`:t.authorityDigestB64u===e.authority.authorityDigestB64u?t.authorityRevocationEpoch===e.authority.revocationEpoch?e.operationCredential.token.trim()?t.expiresAtMs<=Date.now()?`wallet_session_expired`:Rr({session:t,capability:e.capability})?null:`wallet_session_capability_mismatch`:`wallet_session_identity_mismatch (operation credential)`:`wallet_session_identity_mismatch (authority revocation epoch)`:`wallet_session_identity_mismatch (authority digest)`}async function Ur(e,t){let n=await zr(e);return await Mr({operation:t.operation,operationDigests:t.operationDigests,material:t.material,sessionExpiresAtMs:n.expiresAtMs})}async function Wr(e,t){return await e.deps.withThresholdEcdsaSigningQueue({queueKey:Le({materialActivation:e.materialActivation}),walletId:e.walletId,enabled:!0,...e.shouldAbort?{shouldAbort:e.shouldAbort}:{},task:t})}function Gr(e){let t=String(e.seamsWebConfigs.network.relayer?.url||``).trim();if(!t)throw Error(`[SigningEngine] EVM-family signing requires relayerUrl`);return t}async function Kr(e){let t=await Fe({ports:e.deps.activeWalletAuthorityEcdsaRuntimeReadPorts,input:{walletId:e.signer.walletId,chainTarget:e.signer.chainTarget,requiredCapability:`sign`,materialActivation:e.signer.materialActivation,nowMs:Date.now()}});if(t.kind!==`resolved`)throw Error(`[SigningEngine] active Wallet Authority ECDSA runtime is ${t.reason}`);let n=t.runtime;if(n.authorityId!==e.prepared.authorityId||n.walletAuthMethodId!==e.prepared.walletAuthMethodId||n.authorityDigestB64u!==e.prepared.authorityDigestB64u||n.authorityRevocationEpoch!==e.prepared.authorityRevocationEpoch||n.walletSessionId!==e.prepared.walletSessionId||n.publicFacts.keyHandle!==e.signer.keyHandle)throw Error(`[SigningEngine] active Wallet Authority ECDSA runtime was replaced`);return n}function qr(e){return t(e.currentMaterialActivation,e.preparedMaterialActivation)?null:{kind:`superseded`,supersessionKind:`material_activation_replaced`,preparedMaterialActivation:e.preparedMaterialActivation,currentMaterialActivation:e.currentMaterialActivation}}function Jr(e){let t=e.preparedCapability.manifest,n=t.activation.materialActivation,r=e.currentManifest.activation.materialActivation,i=qr({preparedMaterialActivation:n,currentMaterialActivation:r});if(i)return i;let a=t.signer,o=e.currentManifest.signer;return String(t.identity.manifestId)===String(e.currentManifest.identity.manifestId)&&Number(t.identity.manifestRevision)===Number(e.currentManifest.identity.manifestRevision)&&String(a.capability)===String(o.capability)&&String(a.authority.walletId)===String(o.authority.walletId)&&String(a.authority.authorityDigest)===String(o.authority.authorityDigest)?null:{kind:`superseded`,supersessionKind:`capability_authority_replaced`,preparedMaterialActivation:n,currentMaterialActivation:r}}function Yr(e){let n=e.preparedAuthorization,r=e.currentAuthorization;return r&&n.selectedAuthority.authorityId===r.selectedAuthority.authorityId&&n.selectedAuthMethod.kind===r.selectedAuthMethod.kind&&n.selectedAuthMethod.walletAuthMethodId===r.selectedAuthMethod.walletAuthMethodId&&n.session.walletId===r.session.walletId&&n.session.authorityId===r.session.authorityId&&n.session.authMethodId===r.session.authMethodId&&n.session.authorizationId===r.session.authorizationId&&n.session.quotaId===r.session.quotaId&&(n.session.authorityDigestB64u===r.session.authorityDigestB64u||p(n.selectedAuthority,r.selectedAuthority)&&i(n.session,r.session))&&n.session.issuedAtMs===r.session.issuedAtMs&&n.session.expiresAtMs===r.session.expiresAtMs&&n.session.authorityRevocationEpoch===r.session.authorityRevocationEpoch&&n.operationCredential.walletSessionId===r.operationCredential.walletSessionId&&n.operationCredential.token===r.operationCredential.token&&dt(n.runtime,r.runtime)&&t(r.runtime.materialActivation,e.materialActivation)?null:{kind:`superseded`,supersessionKind:`reusable_authorization_replaced`,preparedMaterialActivation:e.materialActivation,currentMaterialActivation:e.materialActivation}}async function Xr(e){let t=await Tr({manifest:e.capability.manifest,chainTarget:e.chainTarget,relayerUrl:e.relayerUrl});if(t.kind!==`resolved`)return{kind:`failed`,failure:{kind:`unavailable`,reason:`runtime_correlation_mismatch`}};let n=Jr({preparedCapability:e.capability,currentManifest:t.manifest});if(n)return{kind:`superseded`,replacement:n};let r=await sr({capability:e.capability,runtime:t.runtime,chainTarget:e.chainTarget,materialActivation:e.materialActivation,workerCtx:e.workerCtx});return r.kind===`unavailable`?{kind:`failed`,failure:r}:e.candidateAuthorization?{kind:`ready`,value:{kind:`material_from_canonical_capability`,material:cr({material:r.material,capability:e.capability,authorization:e.candidateAuthorization,nowMs:Date.now()})}}:{kind:`authorization_required`,requirement:{kind:`material_for_step_up`,material:r.material}}}async function Zr(e,t){let n=await e.resolve(e.scope,de.fromPrepare({relayerUrl:e.relayerUrl,operationCredential:e.prepared.operationCredential},t));if(Yr({preparedAuthorization:e.prepared,currentAuthorization:n,materialActivation:e.scope.materialActivation}))throw Error(`Wallet Session authority changed before client signing`)}async function Qr(e,t){let n=await Kr(e);if(t.walletSessionId!==n.operationCredential.walletSessionId||t.quotaId!==n.session.quotaId||t.quotaLifecycle!==`active`||t.remainingUses<=0||t.expiresAtMs<=Date.now()||t.expiresAtMs!==n.session.expiresAtMs||!a(t.authorization,n.session))throw Error(`Linked Wallet Session authority changed before client signing`)}async function $r(){throw Error(`Operation step-up cannot reconcile a reusable Wallet Session`)}async function ei(e){let[t,n]=await Promise.all([Yn(),Xn()]),r=e.deps.getSignerWorkerContext(),i=e.deps.touchConfirm.getContext(),a=l(e.walletSession.walletId),o=Gr(e.deps),s=e.senderSignatureAlgorithm===`secp256k1`?M(e.preparedSession.kind===`authorized`?e.preparedSession.signingLane.identity:e.preparedSession.identity,`ECDSA signing material hydration`):void 0;if(e.activeWalletAuthority&&!s)throw Error(`[SigningEngine] active Wallet Authority runtime requires a threshold ECDSA signer`);let c=s&&!e.activeWalletAuthority?await e.deps.resolveCanonicalEcdsaSigningCapability({walletId:s.walletId,chainTarget:s.chainTarget,materialActivation:s.materialActivation}):void 0,u=e.preparedSession?.kind===`authorized`?e.preparedSession.selection.lane.authorization:null,d=c&&u&&u.runtime.remainingUses>0&&L({capability:c,authorization:u,nowMs:Date.now()})?u:null,f=s&&c&&!e.activeWalletAuthority?{walletId:s.walletId,chainTarget:s.chainTarget,materialActivation:s.materialActivation}:void 0,p=!e.activeWalletAuthority&&c&&f?{...e.emailOtpSigningForFlow?{emailOtpSigning:e.emailOtpSigningForFlow}:{},reusableAuthorization:d?{kind:`active`}:{kind:`absent`,requiredFactor:Ir(c.authority)},operationStepUp:{prepare:Ur.bind(void 0,{ports:e.deps.activeWalletAuthorityEcdsaRuntimeReadPorts,scope:f,capability:c}),authorize:async({authorization:t,prepared:n,material:r})=>{e.onAuthSideEffectStarted?.(t.kind===`passkey`?`passkey_reauth`:`email_otp_challenge`);let i=await zr({ports:e.deps.activeWalletAuthorityEcdsaRuntimeReadPorts,scope:f,capability:c});return await Nr({relayerUrl:o,authority:c.authority,authorization:t,prepared:n,material:r,operationCredential:i.credential})}},...e.onAuthSideEffectStarted?{onAuthSideEffectStarted:e.onAuthSideEffectStarted}:{}}:void 0,m=$r;e.activeWalletAuthority&&s?m=Qr.bind(null,{deps:e.deps,prepared:e.activeWalletAuthority.runtime,signer:s}):d&&f&&(m=Zr.bind(null,{resolve:e.deps.resolveActiveEcdsaWalletSessionAuthorization,scope:f,prepared:d,relayerUrl:o}));let h=new t({reconcileSession:m,beforeSigning:e.deps.beforeSigning,getRpId:()=>i.touchIdPrompt.getRpId(),workerCtx:r,shouldAbort:e.shouldAbort}),g=e.activeWalletAuthority,_=g&&s?{kind:`active_wallet_authority`,confirmationAuthPlan:g.confirmationAuthPlan,sign:async t=>{if(String(g.intent.operationId)!==t.operationId)throw Error(`[SigningEngine] active Wallet Authority signing operation identity changed`);return await Wr({deps:e.deps,walletId:s.walletId,materialActivation:s.materialActivation,...e.shouldAbort?{shouldAbort:e.shouldAbort}:{}},async()=>{let n=ur({authorityRuntime:await Kr({deps:e.deps,prepared:g.runtime,signer:s}),chainTarget:s.chainTarget,relayerUrl:o});return await h.signReady({kind:`digest`,algorithm:`secp256k1`,digest32:t.signingDigest32},n,{intent:g.intent,authPlan:g.confirmationAuthPlan},t.operationDigests)})}}:void 0;return{flowArgs:{ctx:i,touchConfirm:e.deps.touchConfirm,workerCtx:r,walletId:a,onEvent:e.onEvent,engines:{secp256k1:h,webauthnP256:new n(r,e.deps.beforeSigning)},...s&&c?{runEcdsaMaterialUse:Wr.bind(null,{deps:e.deps,walletId:s.walletId,materialActivation:s.materialActivation,...e.shouldAbort?{shouldAbort:e.shouldAbort}:{}}),resolveEcdsaSigningMaterialPlan:async()=>await Xr({capability:c,candidateAuthorization:d,walletId:s.walletId,chainTarget:s.chainTarget,materialActivation:s.materialActivation,relayerUrl:o,workerCtx:r})}:{},..._?{authorization:_}:{},...e.signingSessionPlan?{signingSessionPlan:e.signingSessionPlan}:{},...e.signingOperation?{signingOperation:e.signingOperation}:{},onSigningOperationTransition:e.onSigningOperationTransition||It,...p?{thresholdEcdsaStepUpRuntime:p}:{},confirmationConfigOverride:e.confirmationConfigOverride}}}function ti(e){return e instanceof ke?e.authorizationDecision:void 0}async function ni(e){switch(e.decision.retryMode){case`await_admission_owner_completion`:return await e.signingSessionCoordinator.runWalletSessionQuotaAdmissionRetry({queueKey:e.queueKey,refresh:e.rereadAuthoritativeReadiness,retryAfterRefresh:e.rereadAuthoritativeReadiness});case`email_otp_single_operation_step_up`:case`fresh_auth`:return await e.signingSessionCoordinator.runWalletSessionQuotaAdmissionRetry({queueKey:e.queueKey,refresh:e.performFreshAuth,retryAfterRefresh:e.rereadAuthoritativeReadiness});default:return ri(e.decision)}}function ri(e){throw Error(`[SigningEngine][ecdsa] unsupported fresh-auth retry mode: ${String(e)}`)}function ii(e){return{kind:`do_not_retry`,trigger:e.trigger,sideEffectState:e.sideEffectState,blockedReason:e.blockedReason}}function Q(e,t){return ii({trigger:e.trigger,sideEffectState:e.sideEffectState,blockedReason:t})}function ai(e){if(e.current===`threshold_reconnect_started`)return e.current;switch(e.sideEffect){case`auth_prompt_shown`:case`email_otp_challenge`:case`passkey_reauth`:return e.current===`no_auth_side_effect_started`?`auth_prompt_shown`:e.current;case`auth_confirmed`:return`auth_confirmed`;case`threshold_reconnect`:return`threshold_reconnect_started`}}function oi(e){if(e.alreadyRetryingFreshAuth)return Q(e,`already_retrying`);if(e.senderSignatureAlgorithm!==`secp256k1`)return Q(e,`non_secp256k1_sender`);let t=ti(e.error),n=De(e.error),r=e.trigger===`wallet_signing_budget_exhausted`?t?.kind===`step_up_required`?Ee(n??{kind:`exhausted`,source:`server_prepare`,detail:`Server requires owner operation step-up`}):n?.kind===`in_flight`?Ee(n):null:null,i=r?.kind===`request_fresh_step_up`||r?.kind===`wait_and_retry_admission`;if(e.sideEffectState!==`no_auth_side_effect_started`&&!i)return Q(e,`auth_side_effect_started`);if(e.trigger===`wallet_session_reauthorization_required`){if(e.hasEmailOtpSigningPlan||e.hasStepUpAuthPlan)return Q(e,`signing_auth_plan_already_selected`);if(t?.kind!==`step_up_required`)return Q(e,`error_not_retryable`);if(e.accountAuth.primaryAuthMethod!==c.emailOtp&&e.accountAuth.primaryAuthMethod!==c.passkey)return Q(e,`unsupported_primary_auth`)}else{if(!r)return Q(e,`error_not_retryable`);if(e.hasStepUpAuthPlan&&r.kind!==`request_fresh_step_up`&&r.kind!==`wait_and_retry_admission`)return Q(e,`step_up_auth_plan_already_selected`);if(r.kind===`wait_and_retry_admission`)return e.admissionRetryState.kind===`authoritative_readiness_reread`?Q(e,`authoritative_readiness_still_in_flight`):{kind:`retry`,trigger:e.trigger,sideEffectState:e.sideEffectState,retryMode:`await_admission_owner_completion`,admissionDecision:r};if(e.activeSigningAuthMethod===c.emailOtp)return{kind:`retry`,trigger:e.trigger,sideEffectState:e.sideEffectState,retryMode:`email_otp_single_operation_step_up`,admissionDecision:r}}return{kind:`retry`,trigger:e.trigger,sideEffectState:e.sideEffectState,retryMode:`fresh_auth`}}function si(e){return Ae(e.error)?.kind===`expired`?e.candidate.kind===`unavailable`?{kind:`expired_without_exact_lane`}:{kind:`authoritative_expiry`,state:ze({source:{kind:`ecdsa`,laneIdentity:e.candidate.identity,authorization:e.candidate.authorization},expiresAtMs:e.candidate.expiresAtMs,detectedAtMs:e.detectedAtMs})}:{kind:`not_expired`}}async function ci(e){switch(e.context.kind){case`not_expired`:case`expired_without_exact_lane`:return;case`authoritative_expiry`:if((await e.coordinator.invalidateExpiredWalletSession({state:e.context.state,source:E.serverRejection})).kind===`unavailable`)throw Error(`[SigningEngine][ecdsa] expired Wallet Session cleanup failed`);return;default:return li(e.context)}}function li(e){throw Error(`[SigningEngine][ecdsa] unsupported Wallet Session expiry context: ${String(e)}`)}async function ui(e){let t=oi({trigger:`wallet_session_reauthorization_required`,error:e.error,senderSignatureAlgorithm:e.senderSignatureAlgorithm,accountAuth:e.accountAuth,alreadyRetryingFreshAuth:e.alreadyRetryingFreshEmailOtpAuth,hasEmailOtpSigningPlan:e.hasEmailOtpSigningPlan,sideEffectState:e.sideEffectState});if(e.onDecision?.(t),t.kind!==`retry`)return null;await ci({context:e.expiryContext,coordinator:e.signingSessionCoordinator});let n=e.accountAuth.primaryAuthMethod===c.emailOtp;return K(e.onEvent,{phase:n?D.STEP_06_AUTH_EMAIL_OTP_CHALLENGE_STARTED:D.STEP_09_THRESHOLD_SESSION_RECONNECT_STARTED,status:`running`,walletId:e.walletId,message:n?`Signing session expired; requesting Email OTP reauthorization`:`Signing session expired; requesting passkey reauthorization`,interaction:{kind:`none`,overlay:`none`},data:{chain:e.chain,reason:`threshold_session_expired`}}),await e.retry()}function di(){let e=n(32,`EVM family signing operation IDs`);return se.signingOperation(`evm-family-sign:${e}`)}function fi(e){return e?{planningOperationId:e,confirmationOperationId:e,callerProvided:!0}:{planningOperationId:di(),callerProvided:!1}}function pi(e){return e.confirmationOperationId=e.confirmationOperationId||di(),e.confirmationOperationId}function mi(e,t,n){e.callerProvided&&n.bindCallerProvidedOperationIdToFingerprint({operationId:e.planningOperationId,operationFingerprint:t})}function hi(e){switch(e.publicIdentityContinuity.kind){case`lane_identity_only`:return e.laneThresholdOwnerAddress;case`verified_material_identity`:if(e.publicIdentityContinuity.verifiedMaterialThresholdOwnerAddress!==e.laneThresholdOwnerAddress)throw Error(`[SigningEngine][ecdsa] prepared material owner address does not match the exact signing lane`);return e.laneThresholdOwnerAddress;default:throw e.publicIdentityContinuity,Error(`[SigningEngine][ecdsa] unsupported prepared public identity state`)}}function gi(e){return{kind:`prepared`,thresholdOwnerAddress:hi(e)}}var _i=e({reconcileEvmFamilyNonceLane:()=>An,reconcileTempoNonceLane:()=>ki,reportEvmFamilyBroadcastAccepted:()=>Tn,reportEvmFamilyBroadcastRejected:()=>Dn,reportEvmFamilyDroppedOrReplaced:()=>kn,reportEvmFamilyFinalized:()=>On,reportTempoBroadcastAccepted:()=>Ti,reportTempoBroadcastRejected:()=>Ei,reportTempoDroppedOrReplaced:()=>Oi,reportTempoFinalized:()=>Di,signEvmFamily:()=>wi});function vi(e){return!e.prepared||e.prepared.kind!==`authorized`?{kind:`unavailable`}:{kind:`exact_ecdsa_lane`,identity:N(e.prepared.signingLane),authorization:e.prepared.signingLane.authorization,expiresAtMs:e.prepared.signingLane.authorization.session.expiresAtMs}}function yi(e){let t=e.prepared.signingLane.authorization.session.authorizationId;return Oe({walletId:e.walletId,materialActivationId:e.prepared.signingLane.materialActivation.activationId,authorizationId:t,authorityKey:ce(e.prepared.signingLane.auth),targetKey:u(e.prepared.signingLane.chainTarget)})}function bi(e){if(e.kind!==`authorization_required`||e.candidate.source!==`active_wallet_authority`)return null;let t=Fr(e.candidate.runtime);return{runtime:e.candidate.runtime,intent:e.intent,confirmationAuthPlan:t}}function xi(e){let t=e.chainTarget.kind===`tempo`?`Sign Tempo Transaction`:`Sign EVM Transaction`,n={request:e.request,signerAccount:String(e.walletSession.walletId),title:t,subtitle:``};return e.request.kind===`eip1559`?He({...n,request:e.request}):We({...n,request:e.request})}async function Si(e){let t=$.bind(null,e.deps,e.signingArgs,{admissionRetryState:{kind:`authoritative_readiness_reread`},forceFreshAuth:!1,operationIds:e.operationIds,retryingFreshAuth:e.retryingFreshAuth,signingSessionCoordinator:e.signingSessionCoordinator}),n=$.bind(null,e.deps,e.signingArgs,{admissionRetryState:{kind:`initial_admission`},forceFreshAuth:!0,operationIds:e.operationIds,retryingFreshAuth:!0,signingSessionCoordinator:e.signingSessionCoordinator});return await ni({decision:e.decision,queueKey:e.queueKey,signingSessionCoordinator:e.signingSessionCoordinator,rereadAuthoritativeReadiness:t,performFreshAuth:n})}function Ci(e){let t=e.accountAuth.primaryAuthMethod===c.emailOtp;K(e.onEvent,{phase:t?D.STEP_06_AUTH_EMAIL_OTP_CHALLENGE_STARTED:D.STEP_09_THRESHOLD_SESSION_RECONNECT_STARTED,status:`running`,walletId:e.walletId,message:t?`Signing session needs reauthorization; requesting Email OTP`:`Signing session needs reauthorization; requesting passkey`,interaction:{kind:`none`,overlay:`none`},data:{chain:e.chain,reason:`wallet_signing_budget_reserved`}})}async function wi(e,t){let n=s(e.touchConfirm.getContext().surfaceMeasurementBinding);n&&(n.assertPending(),e={...e,beforeSigning:n.beforeSigning});let r={admissionRetryState:{kind:`initial_admission`},operationIds:fi(t.signingOperationId)};await e.touchConfirm.openTransactionPreparationModal({chain:`evm_family`,walletLabel:String(t.walletSession.walletId),model:xi(t),confirmationConfigOverride:t.confirmationConfigOverride});try{return await $(e,t,r)}finally{e.touchConfirm.closeTransactionPreparationModal()}}async function $(e,t,n){Ct(t.shouldAbort);let r=l(t.walletSession.walletId),i=xt({request:t.request,chainTarget:t.chainTarget});await yt(e.ensureSealedRefreshStartupParity,{walletId:r,chainTarget:i});let a=i.kind,o=i,c,u,d,f,p,m={walletId:r,chain:a,chainTarget:o,senderSignatureAlgorithm:t.request.senderSignatureAlgorithm},h=n.signingSessionCoordinator||e.signingSessionCoordinator;if(!h)throw Error(`[SigningEngine][ecdsa] production signing session coordinator is required`);let g=n.operationIds||fi(t.signingOperationId),_=await qe({kind:`evm-family:${a}`,payload:{walletId:r,chainTarget:o,request:t.request}}),ee=ye(_);mi(g,_,h);let v=()=>pi(g),y=()=>({operationId:v(),operationFingerprint:_,intent:oe.TransactionSign}),b=e=>void 0,x=`no_auth_side_effect_started`,S=e=>{x=ai({current:x,sideEffect:e})},C=(e,t)=>{let n=t instanceof Error?t.message:String(t||`unknown error`);m.freshAuthRetry={decision:e,sideEffectState:x,errorMessage:n},P(`evm-family`,{stage:`fresh_auth_retry.decision`,walletId:r,chain:a,chainTarget:o,decision:e,sideEffectState:x,errorMessage:n})},te=()=>(S(`auth_prompt_shown`),v());t.request.senderSignatureAlgorithm===`secp256k1`?(f=await Sn({deps:e,walletSession:t.walletSession,signingTarget:i,signingOperation:y(),diagnostics:m,signingSessionCoordinator:h,forceFreshAuth:n.forceFreshAuth===!0}),p=bi(f)??void 0,u=f.kind===`authorized`?f.signingLane:void 0,d=f.authMethod,c=f.kind===`authorized`?f.accountAuth:await Pt({senderSignatureAlgorithm:`secp256k1`,signerAuthMethod:f.authMethod}),P(`evm-family`,{stage:`ecdsa_attempt.prepared`,walletId:r,chain:a,chainTarget:o,...b(f)?{evmFamilyKeyFingerprint:b(f)}:{},authorizationState:f.kind,authMethod:d,lane:U(u)})):c=await Pt({senderSignatureAlgorithm:t.request.senderSignatureAlgorithm});let w=c;Ct(t.shouldAbort);let ne=e.requestEmailOtpTransactionSigningChallenge,T={confirmedDeps:{...e,requestEmailOtpTransactionSigningChallenge:ne},walletSession:t.walletSession,chain:a,accountAuth:w,operationFingerprintDigest:ee,onEvent:t.onEvent},E=()=>{if(f)return f;throw Error(`[SigningEngine][ecdsa] prepared signing session is required`)},re=()=>t.request.senderSignatureAlgorithm===`secp256k1`?E():void 0,D=async i=>!Ve(i)||n.reResolvedAfterSupersession?null:(P(`evm-family`,{stage:`ecdsa_attempt.material_superseded`,walletId:r,chain:a,chainTarget:o,supersessionKind:i.superseded.supersessionKind,preparedMaterialActivationId:String(i.superseded.preparedMaterialActivation.activationId),currentMaterialActivationId:String(i.superseded.currentMaterialActivation.activationId)}),await $(e,t,{admissionRetryState:{kind:`initial_admission`},operationIds:g,signingSessionCoordinator:h,reResolvedAfterSupersession:!0,...n.retryingFreshAuth?{retryingFreshAuth:!0}:{}})),ie=async()=>t.request.senderSignatureAlgorithm===`secp256k1`?await(async()=>{let t=E();return p?{signingAuthPlan:p.confirmationAuthPlan}:t.kind===`authorized`?await Wt({...T,chainTarget:i,senderSignatureAlgorithm:`secp256k1`,ecdsaAuthorization:`reusable_wallet_session`,preparedOperation:t.preparedOperation}):await(async()=>{let n=M(t.identity,`auth-neutral ECDSA step-up planning`),r=await e.resolveCanonicalEcdsaSigningCapability({walletId:n.walletId,chainTarget:n.chainTarget,materialActivation:n.materialActivation});return await Wt({...T,chainTarget:i,senderSignatureAlgorithm:`secp256k1`,ecdsaAuthorization:`operation_step_up`,capability:r,materialActivation:n.materialActivation,operationFingerprint:_})})()})():await Wt({...T,chainTarget:i,senderSignatureAlgorithm:t.request.senderSignatureAlgorithm}),ae=async()=>{let{signingAuthPlan:n,signingSessionPlan:r,emailOtpSigning:i}=await ie(),a=i?{prepare:i.prepare,...i.resend?{resend:i.resend}:{}}:void 0,{flowArgs:s}=await ei({deps:e,walletSession:t.walletSession,request:t.request,chainTarget:o,...t.request.senderSignatureAlgorithm===`secp256k1`?{senderSignatureAlgorithm:t.request.senderSignatureAlgorithm,preparedSession:E(),...p?{activeWalletAuthority:p}:{}}:{senderSignatureAlgorithm:t.request.senderSignatureAlgorithm},...r?{signingSessionPlan:r}:{},signingOperation:y(),onSigningOperationTransition:It,...a?{emailOtpSigningForFlow:a}:{},confirmationConfigOverride:t.confirmationConfigOverride,shouldAbort:t.shouldAbort,onEvent:t.onEvent,onAuthSideEffectStarted:S});return{signingAuthPlan:n,signingSessionPlan:r,emailOtpSigning:i,flowArgs:s}},O;try{O=await ae()}catch(e){let t=await D(e);if(t)return t;throw e}let{signingAuthPlan:k,emailOtpSigning:se,flowArgs:ce}=O;s(e.touchConfirm.getContext().surfaceMeasurementBinding)?.assertAuthMethodPolicy(k.method);let le=async i=>await ui({error:i,walletId:r,chain:t.request.chain,senderSignatureAlgorithm:t.request.senderSignatureAlgorithm,accountAuth:w,alreadyRetryingFreshEmailOtpAuth:n.retryingFreshAuth,hasEmailOtpSigningPlan:!!se,sideEffectState:x,signingSessionCoordinator:h,expiryContext:si({error:i,candidate:vi({prepared:f}),detectedAtMs:Date.now()}),onDecision:e=>C(e,i),onEvent:t.onEvent,retry:async()=>await $(e,t,{admissionRetryState:{kind:`initial_admission`},forceFreshAuth:!0,operationIds:g,retryingFreshAuth:!0,signingSessionCoordinator:h})}),ue=async i=>{if(Ve(i))return await D(i)||null;let a=await le(i);if(a)return a;let o=oi({trigger:`wallet_signing_budget_exhausted`,error:i,senderSignatureAlgorithm:t.request.senderSignatureAlgorithm,accountAuth:w,activeSigningAuthMethod:E().authMethod,admissionRetryState:n.admissionRetryState,alreadyRetryingFreshAuth:n.retryingFreshAuth,hasStepUpAuthPlan:Ke(k)||Ge(k),sideEffectState:x});if(C(o,i),o.kind!==`retry`)return null;let s=E();return s.kind===`authorized`?(o.retryMode!==`await_admission_owner_completion`&&Ci({walletId:r,chain:t.request.chain,accountAuth:w,onEvent:t.onEvent}),await Si({deps:e,signingArgs:t,decision:o,queueKey:yi({walletId:r,prepared:s}),operationIds:g,retryingFreshAuth:n.retryingFreshAuth===!0,signingSessionCoordinator:h})):null},A=re(),de={...y(),accountId:String(r)};if(A){let e=b(A);P(`evm-family`,{stage:`ecdsa_attempt.nonce_operation_prepared`,walletId:r,chain:a,chainTarget:o,...e?{evmFamilyKeyFingerprint:e}:{},...A.kind===`authorized`?{walletSessionId:A.signingLane.authorization.operationCredential.walletSessionId}:{},materialActivationId:A.kind===`authorized`?A.signingLane.materialActivation.activationId:A.candidate.materialActivation.activationId})}let j=re(),fe=j&&!p?{kind:`required`,authPlan:{kind:`planned`,signingAuthPlan:k},operation:{intent:j.kind===`authorized`?j.transactionOperation.intent:j.intent,authPlan:k},runtime:(()=>{let e=ce.thresholdEcdsaStepUpRuntime;if(!e)throw Error(`[SigningEngine][ecdsa] prepared executor requires threshold step-up runtime`);return e})()}:{kind:`not_required`},N;return N=j?gi({laneThresholdOwnerAddress:j.kind===`authorized`?j.signingLane.key.thresholdOwnerAddress:j.candidate.key.thresholdOwnerAddress,publicIdentityContinuity:{kind:`lane_identity_only`}}):{kind:`not_required`},await ir({deps:e,walletId:r,request:t.request,chainTarget:o,flowArgs:ce,nonceOperation:de,thresholdEcdsaState:N,onConfirmationDisplayed:te,thresholdEcdsaStepUp:fe,retryWithFreshEmailOtpAuth:ue})}async function Ti(e,t){await Tn(e,t)}async function Ei(e,t){await Dn(e,t)}async function Di(e,t){await On(e,t)}async function Oi(e,t){await kn(e,t)}async function ki(e,t){return await An(e,t)}export{lt as _,Di as a,Ze as b,jr as c,xr as d,vt as f,mt as g,_t as h,Oi as i,kr as l,gt as m,Ti as n,wi as o,R as p,Ei as r,_i as s,ki as t,Tr as u,pt as v,ht as y};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as e}from"./base64-BmKR3UqU.js";import"./signingSessionSeal-
|
|
1
|
+
import{r as e}from"./base64-BmKR3UqU.js";import"./signingSessionSeal-BFOBKj-J.js";import"./capabilityKinds-DVlGMspk.js";import"./errors-BJBDbwHk.js";import"./signerDomain-BAsLT3XN.js";import{c as t}from"./ecdsaChainTarget-Bm5X4k-V.js";import{t as n}from"./executeWorkerOperation-C9FOCCR7.js";import{i as r}from"./evmCryptoWasm-BUPb4hBH.js";import{t as i}from"./bytes-DXo6uALR.js";import{p as a,r as o}from"./signingFlow-BcetvUeS.js";import{t as s}from"./display-D0EPmU4w.js";import{n as c,t as l}from"./signatureUses-kSrUHSSH.js";function u(e){if(e<0n)throw Error(`[tempoSignerWasm] negative bigint not supported`);return e.toString(10)}function d(e){if(typeof e==`bigint`){if(e<0n)throw Error(`[tempoSignerWasm] chainId must be a non-negative integer`);let t=Number(e);if(!Number.isSafeInteger(t))throw Error(`[tempoSignerWasm] chainId must be a non-negative safe integer`);return t}if(!Number.isSafeInteger(e)||e<0)throw Error(`[tempoSignerWasm] chainId must be a non-negative safe integer`);return e}function f(e){if(e===null)return null;if(e!==void 0)return u(e)}function p(e){if(typeof e==`bigint`)return e;throw Error(`[tempoSignerWasm] missing tx nonce`)}function m(e){if(e!==void 0)return e instanceof Uint8Array?Array.from(e):e.map(e=>m(e))}function h(e){return{chainId:d(e.chainId),maxPriorityFeePerGas:u(e.maxPriorityFeePerGas),maxFeePerGas:u(e.maxFeePerGas),gasLimit:u(e.gasLimit),calls:e.calls.map(e=>({to:e.to,value:u(e.value),input:e.input??`0x`})),accessList:(e.accessList??[]).map(e=>({address:e.address,storageKeys:e.storageKeys})),nonceKey:u(e.nonceKey),nonce:u(p(e.nonce)),validBefore:f(e.validBefore),validAfter:f(e.validAfter),feeToken:e.feeToken??null,feePayerSignature:e.feePayerSignature??{kind:`none`},aaAuthorizationList:m(e.aaAuthorizationList),keyAuthorization:m(e.keyAuthorization)}}const g=`tempoSigner`,_=2e4;async function v(e,t){let r=await n({ctx:t,kind:g,request:{type:`computeTempoSenderHash`,payload:{tx:h(e)},timeoutMs:_}});return new Uint8Array(r)}async function y(e){let t=e.senderSignature.slice().buffer,r=await n({ctx:e.workerCtx,kind:g,request:{type:`encodeTempoSignedTx`,payload:{tx:h(e.tx),senderSignature:t},timeoutMs:_,transfer:[t]}});return new Uint8Array(r)}var b=class{chain=`tempo`;workerCtx;constructor(e){this.workerCtx=e}async buildIntent(e){if(e.chain!==`tempo`)throw Error(`[TempoAdapter] invalid chain`);if(e.kind!==`tempoTransaction`)throw Error(`[TempoAdapter] unsupported request kind`);let t=await v(e.tx,this.workerCtx),n=i(t);return{chain:`tempo`,uiModel:{kind:`tempoTransaction`,tx:e.tx},signRequests:[e.senderSignatureAlgorithm===`webauthnP256`?{kind:`webauthn`,algorithm:`webauthnP256`,challenge32:t,label:`tempo:0x76:sender`}:{kind:`digest`,algorithm:`secp256k1`,digest32:t,label:`tempo:0x76:sender`}],finalize:async t=>({chain:`tempo`,kind:`tempoTransaction`,senderHashHex:n,rawTxHex:i(await y({tx:e.tx,senderSignature:t[0],workerCtx:this.workerCtx}))})}}};async function x(n){let i=t(n.walletId),a=await n.passkeyAuthenticatorStore.listWalletPasskeyAuthenticators(i);if(!a.length)throw Error(`[multichain] no passkeys found for wallet ${i}`);let{authenticatorsForPrompt:o}=await n.passkeyAuthenticatorStore.selectProfileAuthenticatorsForPrompt({profileId:i,authenticators:a,accountLabel:i}),s=o[0];if(!s)throw Error(`[multichain] missing authenticator for wallet ${i}`);let{pubKeyX32:c,pubKeyY32:l}=await r({cosePublicKey:s.credentialPublicKey,workerCtx:n.workerCtx}),u=e(s.credentialId);if(u.length===0)throw Error(`[multichain] invalid credentialId for authenticator`);return{type:`webauthnP256`,credentialId:u,pubKeyX:c,pubKeyY:l,rpId:n.rpId}}async function S(e){return e.request.kind===`eip1559`?await o({config:{targetKind:`tempo`,flowName:`tempo`,explicitAuthErrorLabel:`Tempo`,nonceErrorLabel:`Tempo`,title:`Sign Tempo Transaction`,body:``,buildIntent:async({workerCtx:e,request:t})=>await new c(e).buildIntent(t),buildDisplayModel:a,requiredSignatureUsesForRequest:l,webauthn:{kind:`not_supported`}},input:e}):await o({config:{targetKind:`tempo`,flowName:`tempo`,explicitAuthErrorLabel:`Tempo`,nonceErrorLabel:`Tempo`,title:`Sign Tempo Transaction`,body:``,buildIntent:async({workerCtx:e,request:t})=>await new b(e).buildIntent(t),buildDisplayModel:s,requiredSignatureUsesForRequest:l,webauthn:{kind:`supported`,requestNeedsWebAuthn:e=>e.senderSignatureAlgorithm===`webauthnP256`,validateIntent:e=>{if(e.signRequests.filter(e=>e.kind===`webauthn`).length>1)throw Error(`[chains] multiple WebAuthn sign requests are not supported yet`)},resolveKeyRef:async({ctx:e,walletId:t,workerCtx:n,signReq:r,credential:i})=>{let a=await x({passkeyAuthenticatorStore:e.passkeyAuthenticatorStore,walletId:t,workerCtx:n,rpId:r.rpId});return{signReq:{...r,credential:i},keyRef:a}}}},input:e})}export{S as signEvmFamilyWithUiConfirmForTempo};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./signingSessionSeal-
|
|
1
|
+
import"./signingSessionSeal-BFOBKj-J.js";import"./capabilityKinds-DVlGMspk.js";import"./errors-BJBDbwHk.js";import"./signerDomain-BAsLT3XN.js";import{p as e,r as t}from"./signingFlow-BcetvUeS.js";import{n,t as r}from"./signatureUses-kSrUHSSH.js";async function i(i){return await t({config:{targetKind:`evm`,flowName:`evm`,explicitAuthErrorLabel:`EVM`,nonceErrorLabel:`EVM`,title:`Sign EVM Transaction`,body:``,buildIntent:async({workerCtx:e,request:t})=>await new n(e).buildIntent(t),buildDisplayModel:e,requiredSignatureUsesForRequest:r,webauthn:{kind:`not_supported`}},input:i})}export{i as signEvmWithUiConfirm};
|