@seams/wallet 0.27.0 → 0.29.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +29 -4
- package/dist/.build-inputs.sha256 +1 -1
- package/dist/esm/SeamsWeb/publicApi/createPublicApi.js +11 -0
- package/dist/esm/SeamsWeb/publicApi/near.js +3 -0
- package/dist/esm/SeamsWeb/publicApi/ownerNearOperation.js +175 -0
- package/dist/esm/SeamsWeb/walletIframe/client/nearCommands.js +4 -0
- package/dist/esm/SeamsWeb/walletIframe/client/ownerNearOperation.js +67 -0
- package/dist/esm/SeamsWeb/walletIframe/client/progress/on-events-progress-bus.js +27 -17
- package/dist/esm/SeamsWeb/walletIframe/client/router.js +63 -2
- package/dist/esm/SeamsWeb/walletIframe/client/sessionCommands.js +20 -0
- package/dist/esm/SeamsWeb/walletIframe/host/walletMutationGuard.js +6 -0
- package/dist/esm/SeamsWeb/walletIframe/shared/exactSessionState.js +42 -5
- package/dist/esm/SeamsWeb/walletIframe/shared/messages.js +1 -1
- package/dist/esm/SeamsWeb/walletIframe/shared/ownerNearOperation.js +152 -0
- package/dist/esm/core/accountData/near/accountProjection.js +1 -1
- package/dist/esm/core/authMethods/plugins.js +8 -2
- package/dist/esm/core/indexedDB/seamsWalletDB/repositories.js +4 -3
- package/dist/esm/core/rpcClients/relayer/walletRegistration.js +1 -1
- package/dist/esm/core/signingEngine/flows/registration/accountLifecycle.js +1 -1
- package/dist/esm/core/signingEngine/flows/shared/signingConfirmation.js +1 -1
- package/dist/esm/core/signingEngine/flows/signEvmFamily/signEvmFamily.js +1 -1
- package/dist/esm/core/signingEngine/flows/signEvmFamily/signingFlow.js +1 -1
- package/dist/esm/core/signingEngine/flows/signNear/shared/ed25519YaoNormalSigning.js +2 -2
- package/dist/esm/core/signingEngine/flows/signNear/signDelegate.js +2 -2
- package/dist/esm/core/signingEngine/flows/signNear/signNear.js +3 -8
- package/dist/esm/core/signingEngine/flows/signNear/signNep413.js +1 -1
- package/dist/esm/core/signingEngine/flows/signNear/signTransactions.js +3 -4
- package/dist/esm/core/signingEngine/session/identity/exactSigningLaneIdentity.js +1 -1
- package/dist/esm/core/ui/messages.js +5 -0
- package/dist/esm/index.js +3 -2
- package/dist/esm/react/boundWallet.js +24 -0
- package/dist/esm/react/components/AccountMenuButton/AccountMenuButtonView.js +35 -22
- package/dist/esm/react/components/AccountMenuButton/AccountSettingsDialog.js +157 -0
- package/dist/esm/react/components/AccountMenuButton/AuthenticationMethodsModal.js +13 -1
- package/dist/esm/react/components/AccountMenuButton/ExternalWalletSettings.js +46 -0
- package/dist/esm/react/components/AccountMenuButton/LinkedDevicesModal.js +14 -2
- package/dist/esm/react/components/AccountMenuButton/WalletSettingsLayout.js +1 -1
- package/dist/esm/react/components/AccountMenuButton/Web3AuthProfileButton.css +154 -5
- package/dist/esm/react/components/AccountMenuButton/index.js +7 -3
- package/dist/esm/react/context/reactLoginStateBuilders.js +20 -0
- package/dist/esm/react/context/useLoginStateRefresher.js +1 -0
- package/dist/esm/react/hooks/useAccountInput.js +1 -1
- package/dist/esm/react/hooks/useOwnerNearOperation.js +10 -0
- package/dist/esm/react/index.js +3 -2
- package/dist/esm/react/styles/styles.css +154 -5
- package/dist/esm/sdk/{ConfirmationDrawer-AZruQmhP.js → ConfirmationDrawer-BRnd5SEf.js} +1 -1
- package/dist/esm/sdk/NonceCoordinator-CNXYrOoy.js +1 -0
- package/dist/{public/sdk/SeamsWordmark-DwvPx2UA.js → esm/sdk/SeamsWordmark-CeEi2RlU.js} +1 -1
- package/dist/esm/sdk/accountLifecycle-B5a9SCM7.js +1 -0
- package/dist/esm/sdk/{adapters-d9yh1bdC.js → adapters-B2k8y0MB.js} +1 -1
- package/dist/esm/sdk/appearance-token-vars-DkF3EBbF.js +1 -0
- package/dist/esm/sdk/authorization-gVWwKwav.js +1 -0
- package/dist/esm/sdk/clientSessionPersistenceState-BxpITYM_.js +1 -0
- package/dist/esm/sdk/{collectAuthenticationCredentialForChallengeB64u-I4wq8OGq.js → collectAuthenticationCredentialForChallengeB64u-BoFVpdRS.js} +1 -1
- package/dist/esm/sdk/{commitQueue-CYruPlkm.js → commitQueue-C1wkey4q.js} +1 -1
- package/dist/esm/sdk/configBuilder-DpChXfDO.js +1 -0
- package/dist/esm/sdk/{configuration-DBEc3bsj.js → configuration-BAad7ngq.js} +1 -1
- package/dist/esm/sdk/confirm-ui-Dx6c4-Rk.js +2 -0
- package/dist/esm/sdk/{device-linking-DiCNt3iA.js → device-linking-_o3_fgiG.js} +1 -1
- package/dist/esm/sdk/{deviceLinkApproval-CfEiotVt.js → deviceLinkApproval-CObsEWBa.js} +1 -1
- package/dist/esm/sdk/{display-D0EPmU4w.js → display-CUWg48tD.js} +1 -1
- package/dist/{public/sdk/ecdsaCapabilityManifest-DAJEVjlP.js → esm/sdk/ecdsaCapabilityManifest--1Ztngfx.js} +1 -1
- package/dist/{public/sdk/ecdsaDerivationClientWasm-AYOJgTJm.js → esm/sdk/ecdsaDerivationClientWasm-DJh2uN-q.js} +1 -1
- package/dist/esm/sdk/ecdsaDerivationExport-BUUUGc6o.js +1 -0
- package/dist/esm/sdk/{ecdsaWalletRecords-WLyq414E.js → ecdsaWalletRecords-CKaXfsVu.js} +1 -1
- package/dist/esm/sdk/ed25519OperationFingerprint-Dev4P6Og.js +1 -0
- package/dist/{public/sdk/emailOtpEcdsaDerivationIdentity-HFQXc1Yw.js → esm/sdk/emailOtpEcdsaDerivationIdentity-Qd4pBwHv.js} +1 -1
- package/dist/esm/sdk/{enrichDisplayModelWithAbi-O6Mw4i2E.js → enrichDisplayModelWithAbi-JeAcpa7r.js} +1 -1
- package/dist/esm/sdk/{evmCryptoWasm-BUPb4hBH.js → evmCryptoWasm-CeH6Qeaa.js} +1 -1
- package/dist/esm/sdk/{export-viewer-host-BtrKVXxu.js → export-viewer-host-O0OV1Oou.js} +1 -1
- package/dist/esm/sdk/exportKeypairOperation-DkqY9Bpf.js +1 -0
- package/dist/esm/sdk/host-BeE2dIU4.js +1 -0
- package/dist/{public/sdk/icons-BlMXolHv.js → esm/sdk/icons-pSZJ5Xrm.js} +1 -1
- package/dist/esm/sdk/indexedDB-CA4tGqkr.js +1 -0
- package/dist/esm/sdk/{intentDigest-HvRsBQ1z.js → intentDigest-gM3r4SVX.js} +1 -1
- package/dist/esm/sdk/{lanes-BU-fGqY4.js → lanes-vBKm6yBJ.js} +1 -1
- package/dist/esm/sdk/{localOnly-BATWJj78.js → localOnly-U_MucUAe.js} +1 -1
- package/dist/{public/sdk/mountExportPrivateKeySurface-CyHU8bVc.js → esm/sdk/mountExportPrivateKeySurface-C2-fnvP6.js} +1 -1
- package/dist/{public/sdk/mountRecoveryCodeBackupSurface-C7aglQxf.js → esm/sdk/mountRecoveryCodeBackupSurface-C_tJNPJX.js} +1 -1
- package/dist/esm/sdk/nearEd25519YaoSigningPreparation-CnbgQfZc.js +1 -0
- package/dist/esm/sdk/{nonceLaneKeys-BF_UpvIy.js → nonceLaneKeys-DtBpxubF.js} +1 -1
- package/dist/esm/sdk/{normalization-Df9fZWJC.js → normalization-DmfGvZ_3.js} +1 -1
- package/dist/esm/sdk/ownerNearOperation-DjNDxW3_.js +1 -0
- package/dist/{public/sdk/pendingWalletRecoveryCodeBackup-Cjx-X-pP.js → esm/sdk/pendingWalletRecoveryCodeBackup-DXFrQmO5.js} +1 -1
- package/dist/esm/sdk/{presignaturePool-BbvqRWYw.js → presignaturePool-Dq4RhzXn.js} +1 -1
- package/dist/{public/sdk/recovery-entrypoint-DJbMDC_m.js → esm/sdk/recovery-entrypoint-s9OoKBcl.js} +1 -1
- package/dist/esm/sdk/registration-CTtTocyo.js +1 -0
- package/dist/esm/sdk/{registration-HSwOHZOo.js → registration-D3p7muCc.js} +1 -1
- package/dist/esm/sdk/{registrationAccounts-4r74gX1l.js → registrationAccounts-Bso0ntMs.js} +1 -1
- package/dist/{public/sdk/registrationIntent-Do1tD1V7.js → esm/sdk/registrationIntent-C1-Kyx_-.js} +1 -1
- package/dist/esm/sdk/{registrationSignerPlan-DK2b3N_p.js → registrationSignerPlan-CeMidFme.js} +1 -1
- package/dist/{public/sdk/requireStepUpAuth-COqCGb1i.js → esm/sdk/requireStepUpAuth-iVo6h_U-.js} +1 -1
- package/dist/esm/sdk/resealedEnvelopeResult-DXDo-72P.js +1 -0
- package/dist/esm/sdk/{routerAbNormalSigning-D-UZmCBS.js → routerAbNormalSigning-DVFFkNhJ.js} +1 -1
- package/dist/esm/sdk/runtime-auth-Dsmw_dUA.js +1 -0
- package/dist/esm/sdk/runtime-device-link-qmYvGep9.js +1 -0
- package/dist/esm/sdk/runtime-ecdsa-tempo-Zh95TuLV.js +1 -0
- package/dist/esm/sdk/runtime-email-otp-CnLuW4H1.js +1 -0
- package/dist/esm/sdk/runtime-export-m8lvrXtw.js +1 -0
- package/dist/esm/sdk/runtime-near-BiXzXXhH.js +1 -0
- package/dist/esm/sdk/runtime-preferences-DlKHDIjb.js +1 -0
- package/dist/esm/sdk/runtime-recovery-C6lS71Jp.js +1 -0
- package/dist/esm/sdk/{runtime-recovery-codes-DeUjQsxZ.js → runtime-recovery-codes-B033ake_.js} +1 -1
- package/dist/esm/sdk/runtimeContext-RNS2E5wy.js +7 -0
- package/dist/{public/sdk/secp256k1-CE7-q9Sn.js → esm/sdk/secp256k1-DPeaOjM0.js} +1 -1
- package/dist/esm/sdk/signEvmFamily-Cksw3RpU.js +1 -0
- package/dist/esm/sdk/{signEvmFamilyWithUiConfirmForTempo-CrMIAXUe.js → signEvmFamilyWithUiConfirmForTempo-B7p9UVix.js} +1 -1
- package/dist/esm/sdk/{signEvmWithUiConfirm-CGrLtMV6.js → signEvmWithUiConfirm-B14zYdwE.js} +1 -1
- package/dist/esm/sdk/signNear-D0rFEYP1.js +1 -0
- package/dist/esm/sdk/{signatureUses-kSrUHSSH.js → signatureUses-BLOoPRsb.js} +1 -1
- package/dist/{public/sdk/signingFlow-BcetvUeS.js → esm/sdk/signingFlow-Bd1X0e-1.js} +2 -2
- package/dist/{public/sdk/signingQueue-dMFOFOP5.js → esm/sdk/signingQueue-DoUBeaCv.js} +1 -1
- package/dist/esm/sdk/{thresholdEcdsa-CqR1fFA-.js → thresholdEcdsa-BxfOZmiR.js} +1 -1
- package/dist/esm/sdk/{trace--mRP2OQc.js → trace-BnhLKxcu.js} +1 -1
- package/dist/esm/sdk/{transaction-activity-DCzHGg3b.js → transaction-activity-BXSxMp1E.js} +1 -1
- package/dist/{public/sdk/transactionState-29T9xfvL.js → esm/sdk/transactionState-G_FPe-U8.js} +1 -1
- package/dist/esm/sdk/tx-confirm-ui.js +8 -0
- package/dist/esm/sdk/{types-f7dyj5N6.js → types-A-w1cYlJ.js} +1 -1
- package/dist/esm/sdk/{unlockedEd25519ExportRootCapability-yzxQjIFd.js → unlockedEd25519ExportRootCapability-5F1egCSv.js} +1 -1
- 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 → wallet-recovery-DXdm68_Q.js} +1 -1
- package/dist/{public/sdk/walletAuthMethodRecord-DLBB5fez.js → esm/sdk/walletAuthMethodRecord-BW-XV4fv.js} +1 -1
- package/dist/esm/sdk/{walletAuthority-BTGAuOi8.js → walletAuthority-DbGaSw7D.js} +1 -1
- package/dist/esm/sdk/{walletCapabilityBindings-D5YYB7nN.js → walletCapabilityBindings-mPx-6_r-.js} +1 -1
- package/dist/{public/sdk/walletCustodyEcdsaContinuity-C31YQ9av.js → esm/sdk/walletCustodyEcdsaContinuity-BnyL1Ryu.js} +1 -1
- package/dist/esm/sdk/{walletOwnershipGeneration-CgjCtPrV.js → walletOwnershipGeneration-BZc6UKqX.js} +1 -1
- package/dist/esm/sdk/walletRecoveryAdminProof-DdwikrW3.js +1 -0
- package/dist/esm/sdk/walletRecoveryCommit-DbAoiJp5.js +1 -0
- package/dist/{public/sdk/walletSessionAuthorizationStore-B9Vwkshr.js → esm/sdk/walletSessionAuthorizationStore-BivTUoKY.js} +1 -1
- package/dist/esm/sdk/{webauthnP256-BsQQPurm.js → webauthnP256-BGHikiNl.js} +1 -1
- package/dist/esm/shared-ts/src/auth/externalAuth.js +53 -0
- package/dist/esm/shared-ts/src/utils/index.js +2 -2
- package/dist/esm/voiceid-host.js +2 -2
- package/dist/public/headers.manifest.json +1 -1
- package/dist/public/sdk/{ConfirmationDrawer-AZruQmhP.js → ConfirmationDrawer-BRnd5SEf.js} +1 -1
- package/dist/public/sdk/NonceCoordinator-CNXYrOoy.js +1 -0
- package/dist/{esm/sdk/SeamsWordmark-DwvPx2UA.js → public/sdk/SeamsWordmark-CeEi2RlU.js} +1 -1
- package/dist/public/sdk/accountLifecycle-B5a9SCM7.js +1 -0
- package/dist/public/sdk/{adapters-d9yh1bdC.js → adapters-B2k8y0MB.js} +1 -1
- package/dist/public/sdk/appearance-token-vars-DkF3EBbF.js +1 -0
- package/dist/public/sdk/authorization-gVWwKwav.js +1 -0
- package/dist/public/sdk/clientSessionPersistenceState-BxpITYM_.js +1 -0
- package/dist/public/sdk/{collectAuthenticationCredentialForChallengeB64u-I4wq8OGq.js → collectAuthenticationCredentialForChallengeB64u-BoFVpdRS.js} +1 -1
- package/dist/public/sdk/{commitQueue-CYruPlkm.js → commitQueue-C1wkey4q.js} +1 -1
- package/dist/public/sdk/configBuilder-DpChXfDO.js +1 -0
- package/dist/public/sdk/{configuration-DBEc3bsj.js → configuration-BAad7ngq.js} +1 -1
- package/dist/public/sdk/confirm-ui-Dx6c4-Rk.js +2 -0
- package/dist/public/sdk/{device-linking-DiCNt3iA.js → device-linking-_o3_fgiG.js} +1 -1
- package/dist/public/sdk/{deviceLinkApproval-CfEiotVt.js → deviceLinkApproval-CObsEWBa.js} +1 -1
- package/dist/public/sdk/{display-D0EPmU4w.js → display-CUWg48tD.js} +1 -1
- package/dist/{esm/sdk/ecdsaCapabilityManifest-DAJEVjlP.js → public/sdk/ecdsaCapabilityManifest--1Ztngfx.js} +1 -1
- package/dist/{esm/sdk/ecdsaDerivationClientWasm-AYOJgTJm.js → public/sdk/ecdsaDerivationClientWasm-DJh2uN-q.js} +1 -1
- package/dist/public/sdk/ecdsaDerivationExport-BUUUGc6o.js +1 -0
- package/dist/public/sdk/{ecdsaWalletRecords-WLyq414E.js → ecdsaWalletRecords-CKaXfsVu.js} +1 -1
- package/dist/public/sdk/ed25519OperationFingerprint-Dev4P6Og.js +1 -0
- package/dist/{esm/sdk/emailOtpEcdsaDerivationIdentity-HFQXc1Yw.js → public/sdk/emailOtpEcdsaDerivationIdentity-Qd4pBwHv.js} +1 -1
- package/dist/public/sdk/{enrichDisplayModelWithAbi-O6Mw4i2E.js → enrichDisplayModelWithAbi-JeAcpa7r.js} +1 -1
- package/dist/public/sdk/{evmCryptoWasm-BUPb4hBH.js → evmCryptoWasm-CeH6Qeaa.js} +1 -1
- package/dist/public/sdk/{export-viewer-host-BtrKVXxu.js → export-viewer-host-O0OV1Oou.js} +1 -1
- package/dist/public/sdk/exportKeypairOperation-DkqY9Bpf.js +1 -0
- package/dist/public/sdk/host-BeE2dIU4.js +1 -0
- package/dist/{esm/sdk/icons-BlMXolHv.js → public/sdk/icons-pSZJ5Xrm.js} +1 -1
- package/dist/public/sdk/indexedDB-CA4tGqkr.js +1 -0
- package/dist/public/sdk/{intentDigest-HvRsBQ1z.js → intentDigest-gM3r4SVX.js} +1 -1
- package/dist/public/sdk/{lanes-BU-fGqY4.js → lanes-vBKm6yBJ.js} +1 -1
- package/dist/public/sdk/{localOnly-BATWJj78.js → localOnly-U_MucUAe.js} +1 -1
- package/dist/{esm/sdk/mountExportPrivateKeySurface-CyHU8bVc.js → public/sdk/mountExportPrivateKeySurface-C2-fnvP6.js} +1 -1
- package/dist/{esm/sdk/mountRecoveryCodeBackupSurface-C7aglQxf.js → public/sdk/mountRecoveryCodeBackupSurface-C_tJNPJX.js} +1 -1
- package/dist/public/sdk/nearEd25519YaoSigningPreparation-CnbgQfZc.js +1 -0
- package/dist/public/sdk/{nonceLaneKeys-BF_UpvIy.js → nonceLaneKeys-DtBpxubF.js} +1 -1
- package/dist/public/sdk/{normalization-Df9fZWJC.js → normalization-DmfGvZ_3.js} +1 -1
- package/dist/public/sdk/ownerNearOperation-DjNDxW3_.js +1 -0
- package/dist/{esm/sdk/pendingWalletRecoveryCodeBackup-Cjx-X-pP.js → public/sdk/pendingWalletRecoveryCodeBackup-DXFrQmO5.js} +1 -1
- package/dist/public/sdk/{presignaturePool-BbvqRWYw.js → presignaturePool-Dq4RhzXn.js} +1 -1
- package/dist/{esm/sdk/recovery-entrypoint-DJbMDC_m.js → public/sdk/recovery-entrypoint-s9OoKBcl.js} +1 -1
- package/dist/public/sdk/registration-CTtTocyo.js +1 -0
- package/dist/public/sdk/{registration-HSwOHZOo.js → registration-D3p7muCc.js} +1 -1
- package/dist/public/sdk/{registrationAccounts-4r74gX1l.js → registrationAccounts-Bso0ntMs.js} +1 -1
- package/dist/{esm/sdk/registrationIntent-Do1tD1V7.js → public/sdk/registrationIntent-C1-Kyx_-.js} +1 -1
- package/dist/public/sdk/{registrationSignerPlan-DK2b3N_p.js → registrationSignerPlan-CeMidFme.js} +1 -1
- package/dist/{esm/sdk/requireStepUpAuth-COqCGb1i.js → public/sdk/requireStepUpAuth-iVo6h_U-.js} +1 -1
- package/dist/public/sdk/resealedEnvelopeResult-DXDo-72P.js +1 -0
- package/dist/public/sdk/{routerAbNormalSigning-D-UZmCBS.js → routerAbNormalSigning-DVFFkNhJ.js} +1 -1
- package/dist/public/sdk/runtime-auth-Dsmw_dUA.js +1 -0
- package/dist/public/sdk/runtime-device-link-qmYvGep9.js +1 -0
- package/dist/public/sdk/runtime-ecdsa-tempo-Zh95TuLV.js +1 -0
- package/dist/public/sdk/runtime-email-otp-CnLuW4H1.js +1 -0
- package/dist/public/sdk/runtime-export-m8lvrXtw.js +1 -0
- package/dist/public/sdk/runtime-near-BiXzXXhH.js +1 -0
- package/dist/public/sdk/runtime-preferences-DlKHDIjb.js +1 -0
- package/dist/public/sdk/runtime-recovery-C6lS71Jp.js +1 -0
- package/dist/public/sdk/{runtime-recovery-codes-DeUjQsxZ.js → runtime-recovery-codes-B033ake_.js} +1 -1
- package/dist/public/sdk/runtimeContext-RNS2E5wy.js +7 -0
- package/dist/{esm/sdk/secp256k1-CE7-q9Sn.js → public/sdk/secp256k1-DPeaOjM0.js} +1 -1
- package/dist/public/sdk/signEvmFamily-Cksw3RpU.js +1 -0
- package/dist/public/sdk/{signEvmFamilyWithUiConfirmForTempo-CrMIAXUe.js → signEvmFamilyWithUiConfirmForTempo-B7p9UVix.js} +1 -1
- package/dist/public/sdk/{signEvmWithUiConfirm-CGrLtMV6.js → signEvmWithUiConfirm-B14zYdwE.js} +1 -1
- package/dist/public/sdk/signNear-D0rFEYP1.js +1 -0
- package/dist/public/sdk/{signatureUses-kSrUHSSH.js → signatureUses-BLOoPRsb.js} +1 -1
- package/dist/{esm/sdk/signingFlow-BcetvUeS.js → public/sdk/signingFlow-Bd1X0e-1.js} +2 -2
- package/dist/{esm/sdk/signingQueue-dMFOFOP5.js → public/sdk/signingQueue-DoUBeaCv.js} +1 -1
- package/dist/public/sdk/{thresholdEcdsa-CqR1fFA-.js → thresholdEcdsa-BxfOZmiR.js} +1 -1
- package/dist/public/sdk/{trace--mRP2OQc.js → trace-BnhLKxcu.js} +1 -1
- package/dist/public/sdk/{transaction-activity-DCzHGg3b.js → transaction-activity-BXSxMp1E.js} +1 -1
- package/dist/{esm/sdk/transactionState-29T9xfvL.js → public/sdk/transactionState-G_FPe-U8.js} +1 -1
- package/dist/public/sdk/tx-confirm-ui.js +8 -0
- package/dist/public/sdk/{types-f7dyj5N6.js → types-A-w1cYlJ.js} +1 -1
- package/dist/public/sdk/{unlockedEd25519ExportRootCapability-yzxQjIFd.js → unlockedEd25519ExportRootCapability-5F1egCSv.js} +1 -1
- 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 → wallet-recovery-DXdm68_Q.js} +1 -1
- package/dist/{esm/sdk/walletAuthMethodRecord-DLBB5fez.js → public/sdk/walletAuthMethodRecord-BW-XV4fv.js} +1 -1
- package/dist/public/sdk/{walletAuthority-BTGAuOi8.js → walletAuthority-DbGaSw7D.js} +1 -1
- package/dist/public/sdk/{walletCapabilityBindings-D5YYB7nN.js → walletCapabilityBindings-mPx-6_r-.js} +1 -1
- package/dist/{esm/sdk/walletCustodyEcdsaContinuity-C31YQ9av.js → public/sdk/walletCustodyEcdsaContinuity-BnyL1Ryu.js} +1 -1
- package/dist/public/sdk/{walletOwnershipGeneration-CgjCtPrV.js → walletOwnershipGeneration-BZc6UKqX.js} +1 -1
- package/dist/public/sdk/walletRecoveryAdminProof-DdwikrW3.js +1 -0
- package/dist/public/sdk/walletRecoveryCommit-DbAoiJp5.js +1 -0
- package/dist/{esm/sdk/walletSessionAuthorizationStore-B9Vwkshr.js → public/sdk/walletSessionAuthorizationStore-BivTUoKY.js} +1 -1
- package/dist/public/sdk/{webauthnP256-BsQQPurm.js → webauthnP256-BGHikiNl.js} +1 -1
- package/dist/public/wallet-assets.manifest.json +262 -262
- package/dist/public/wallet-service/index.html +4 -4
- package/dist/types/shared-ts/src/auth/externalAuth.d.ts +127 -0
- package/dist/types/shared-ts/src/authorization/index.d.ts +1 -1
- package/dist/types/shared-ts/src/authorization/walletOwnerOperation.d.ts +10 -0
- package/dist/types/shared-ts/src/utils/registrationEstablishedSession.d.ts +4 -0
- package/dist/types/shared-ts/src/utils/registrationIntent.d.ts +2 -0
- package/dist/types/shared-ts/src/utils/walletManagementProtocol.d.ts +1 -1
- package/dist/types/wallet/src/SeamsWeb/operations/devices/walletHostOwnerAuthority.d.ts +2 -1
- package/dist/types/wallet/src/SeamsWeb/operations/registration/pendingRegistrationRecovery.d.ts +1 -0
- package/dist/types/wallet/src/SeamsWeb/operations/registration/registration.d.ts +1 -0
- package/dist/types/wallet/src/SeamsWeb/operations/registration/registrationPasskeyMaterial.d.ts +24 -0
- package/dist/types/wallet/src/SeamsWeb/publicApi/auth.d.ts +1 -1
- package/dist/types/wallet/src/SeamsWeb/publicApi/createPublicApi.d.ts +1 -0
- package/dist/types/wallet/src/SeamsWeb/publicApi/nearCommands.d.ts +2 -0
- package/dist/types/wallet/src/SeamsWeb/publicApi/ownerNearOperation.d.ts +58 -0
- package/dist/types/wallet/src/SeamsWeb/publicApi/types.d.ts +21 -2
- package/dist/types/wallet/src/SeamsWeb/signingSurface/BrowserSigningSurface.d.ts +57 -56
- package/dist/types/wallet/src/SeamsWeb/signingSurface/nearOwnerOperation.d.ts +16 -0
- package/dist/types/wallet/src/SeamsWeb/signingSurface/nearPasskeyOperationMaterial.d.ts +72 -0
- package/dist/types/wallet/src/SeamsWeb/signingSurface/types.d.ts +3 -0
- package/dist/types/wallet/src/SeamsWeb/walletIframe/client/ownerNearOperation.d.ts +25 -0
- package/dist/types/wallet/src/SeamsWeb/walletIframe/client/router.d.ts +8 -1
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/WalletHostRuntime.d.ts +8 -2
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/createNearCommands.d.ts +2 -1
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/createSessionCommands.d.ts +9 -2
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/externalAuth.d.ts +31 -0
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/externalOwnerApproval.d.ts +24 -0
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/ownerNearOperation.d.ts +12 -0
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/requestRouter.d.ts +2 -2
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/sessionObserver.d.ts +1 -0
- package/dist/types/wallet/src/SeamsWeb/walletIframe/shared/exactSessionState.d.ts +8 -0
- package/dist/types/wallet/src/SeamsWeb/walletIframe/shared/messages.d.ts +17 -7
- package/dist/types/wallet/src/SeamsWeb/walletIframe/shared/ownerNearOperation.d.ts +51 -0
- package/dist/types/wallet/src/core/authMethods/plugins.d.ts +2 -0
- package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/registrationSetup.d.ts +1 -0
- package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/repositories.d.ts +4 -0
- package/dist/types/wallet/src/core/rpcClients/near/NearClient.d.ts +4 -0
- package/dist/types/wallet/src/core/rpcClients/relayer/walletRecoveryRotate.d.ts +2 -2
- package/dist/types/wallet/src/core/rpcClients/relayer/walletRegistration.d.ts +1 -0
- package/dist/types/wallet/src/core/signingEngine/session/passkey/ed25519YaoLocalMaterial.d.ts +21 -0
- package/dist/types/wallet/src/core/types/seams.d.ts +21 -6
- package/dist/types/wallet/src/core/ui/messages.d.ts +1 -1
- package/dist/types/wallet/src/index.d.ts +3 -0
- package/dist/types/wallet/src/react/boundWallet.d.ts +21 -1
- package/dist/types/wallet/src/react/components/AccountMenuButton/AccountMenuButtonView.d.ts +2 -1
- package/dist/types/wallet/src/react/components/AccountMenuButton/AccountSettingsDialog.d.ts +10 -0
- package/dist/types/wallet/src/react/components/AccountMenuButton/AuthenticationMethodsModal.d.ts +1 -2
- package/dist/types/wallet/src/react/components/AccountMenuButton/ExternalWalletSettings.d.ts +10 -0
- package/dist/types/wallet/src/react/components/AccountMenuButton/LinkedDevicesModal.d.ts +1 -2
- package/dist/types/wallet/src/react/components/AccountMenuButton/WalletSettingsLayout.d.ts +1 -0
- package/dist/types/wallet/src/react/components/AccountMenuButton/hooks/useProfileState.d.ts +2 -2
- package/dist/types/wallet/src/react/components/AccountMenuButton/types.d.ts +4 -3
- package/dist/types/wallet/src/react/context/reactLoginStateBuilders.d.ts +1 -1
- package/dist/types/wallet/src/react/hooks/useOwnerNearOperation.d.ts +4 -0
- package/dist/types/wallet/src/react/index.d.ts +3 -0
- package/dist/types/wallet/src/react/types.d.ts +13 -3
- package/dist/types/wallet/src/voiceid-host.d.ts +2 -2
- package/package.json +1 -1
- package/dist/esm/react/components/AccountMenuButton/AccountMenuModal.js +0 -66
- package/dist/esm/sdk/NonceCoordinator-3YhmDTS5.js +0 -1
- package/dist/esm/sdk/accountLifecycle-6DHYWf0v.js +0 -1
- package/dist/esm/sdk/appearance-token-vars-BJydfWT_.js +0 -1
- package/dist/esm/sdk/clientSessionPersistenceState-BCkJAYSz.js +0 -1
- package/dist/esm/sdk/configBuilder-CSwJrmcR.js +0 -1
- package/dist/esm/sdk/confirm-ui-nU6ymgiv.js +0 -2
- package/dist/esm/sdk/ecdsaDerivationExport-DJKOzDbS.js +0 -1
- package/dist/esm/sdk/exportKeypairOperation-CGE9ZU1m.js +0 -1
- package/dist/esm/sdk/host-DayrOrgm.js +0 -1
- package/dist/esm/sdk/indexedDB-C4SDsyOG.js +0 -1
- package/dist/esm/sdk/nearEd25519YaoMaterialActivation-BfXmy3Jr.js +0 -1
- package/dist/esm/sdk/nearEd25519YaoSigningPreparation-DHNk0F8e.js +0 -1
- package/dist/esm/sdk/registration-CNLUYN-p.js +0 -1
- package/dist/esm/sdk/resealedEnvelopeResult-B1p5UkYg.js +0 -1
- package/dist/esm/sdk/runtime-auth-BCoj7_-G.js +0 -1
- package/dist/esm/sdk/runtime-device-link-DAsq5tGT.js +0 -1
- package/dist/esm/sdk/runtime-ecdsa-tempo-CVh_Vwl6.js +0 -1
- package/dist/esm/sdk/runtime-email-otp-BxSKK9AG.js +0 -1
- package/dist/esm/sdk/runtime-export-BWnQXMzT.js +0 -1
- package/dist/esm/sdk/runtime-near-CuzPZrDS.js +0 -1
- package/dist/esm/sdk/runtime-preferences-B-nDWlm3.js +0 -1
- package/dist/esm/sdk/runtime-recovery-DpOdEJ8N.js +0 -1
- package/dist/esm/sdk/runtimeContext-5JcewRo3.js +0 -6
- package/dist/esm/sdk/sessionObservationRevision-JOvVF4Hf.js +0 -1
- package/dist/esm/sdk/signEvmFamily-BY5jlZEG.js +0 -1
- package/dist/esm/sdk/signNear-DMpJFkwF.js +0 -1
- package/dist/esm/sdk/signer-worker-BNodGJKY.js +0 -1
- package/dist/esm/sdk/walletRecoveryAdminProof-CvSYbyg5.js +0 -1
- package/dist/esm/sdk/walletRecoveryCommit-Cc2LAkCS.js +0 -1
- package/dist/public/sdk/NonceCoordinator-3YhmDTS5.js +0 -1
- package/dist/public/sdk/accountLifecycle-6DHYWf0v.js +0 -1
- package/dist/public/sdk/appearance-token-vars-BJydfWT_.js +0 -1
- package/dist/public/sdk/clientSessionPersistenceState-BCkJAYSz.js +0 -1
- package/dist/public/sdk/configBuilder-CSwJrmcR.js +0 -1
- package/dist/public/sdk/confirm-ui-nU6ymgiv.js +0 -2
- package/dist/public/sdk/ecdsaDerivationExport-DJKOzDbS.js +0 -1
- package/dist/public/sdk/exportKeypairOperation-CGE9ZU1m.js +0 -1
- package/dist/public/sdk/host-DayrOrgm.js +0 -1
- package/dist/public/sdk/indexedDB-C4SDsyOG.js +0 -1
- package/dist/public/sdk/nearEd25519YaoMaterialActivation-BfXmy3Jr.js +0 -1
- package/dist/public/sdk/nearEd25519YaoSigningPreparation-DHNk0F8e.js +0 -1
- package/dist/public/sdk/registration-CNLUYN-p.js +0 -1
- package/dist/public/sdk/resealedEnvelopeResult-B1p5UkYg.js +0 -1
- package/dist/public/sdk/runtime-auth-BCoj7_-G.js +0 -1
- package/dist/public/sdk/runtime-device-link-DAsq5tGT.js +0 -1
- package/dist/public/sdk/runtime-ecdsa-tempo-CVh_Vwl6.js +0 -1
- package/dist/public/sdk/runtime-email-otp-BxSKK9AG.js +0 -1
- package/dist/public/sdk/runtime-export-BWnQXMzT.js +0 -1
- package/dist/public/sdk/runtime-near-CuzPZrDS.js +0 -1
- package/dist/public/sdk/runtime-preferences-B-nDWlm3.js +0 -1
- package/dist/public/sdk/runtime-recovery-DpOdEJ8N.js +0 -1
- package/dist/public/sdk/runtimeContext-5JcewRo3.js +0 -6
- package/dist/public/sdk/sessionObservationRevision-JOvVF4Hf.js +0 -1
- package/dist/public/sdk/signEvmFamily-BY5jlZEG.js +0 -1
- package/dist/public/sdk/signNear-DMpJFkwF.js +0 -1
- package/dist/public/sdk/signer-worker-BNodGJKY.js +0 -1
- package/dist/public/sdk/walletRecoveryAdminProof-CvSYbyg5.js +0 -1
- package/dist/public/sdk/walletRecoveryCommit-Cc2LAkCS.js +0 -1
- package/dist/types/shared-ts/src/authorization/walletCustodyOperation.d.ts +0 -10
- package/dist/types/wallet/src/react/components/AccountMenuButton/AccountMenuModal.d.ts +0 -9
- /package/dist/esm/sdk/{accountIds-CW2BP-d9.js → accountIds-DGWFzEnw.js} +0 -0
- /package/dist/esm/sdk/{actions-DrtSTGus.js → actions-7SvZZut1.js} +0 -0
- /package/dist/esm/sdk/{authenticatorOptions-WCDKYRux.js → authenticatorOptions-B4q62CLs.js} +0 -0
- /package/dist/esm/sdk/{confirmTypes-BvVtQs-M.js → confirmTypes-DmEPoxys.js} +0 -0
- /package/dist/esm/sdk/{csp-stylesheet-DUSqfXvZ.js → csp-stylesheet-5LU6VGKK.js} +0 -0
- /package/dist/esm/sdk/{digestEncoding-CqNXPZY9.js → digestEncoding-34kXJoJr.js} +0 -0
- /package/dist/esm/sdk/{ecdsaChainTarget-Bm5X4k-V.js → ecdsaChainTarget-BoRVQtjQ.js} +0 -0
- /package/dist/esm/sdk/{executeWorkerOperation-C9FOCCR7.js → executeWorkerOperation-CAYSt0NA.js} +0 -0
- /package/dist/esm/sdk/{helpers-Dubwo5uK.js → helpers-B7c1zc7h.js} +0 -0
- /package/dist/esm/sdk/{jsonRpc-BVDv1wfm.js → jsonRpc-DGzeiNSa.js} +0 -0
- /package/dist/esm/sdk/{keccak-mS0Mejjx.js → keccak-DGHI1G6t.js} +0 -0
- /package/dist/esm/sdk/{keyMaterialEnvelope-Dm2ZEilb.js → keyMaterialEnvelope-Czkks9Ki.js} +0 -0
- /package/dist/esm/sdk/{presignatures-BCeq56DG.js → presignatures-CkhuZ0YQ.js} +0 -0
- /package/dist/esm/sdk/{profileAccountProjection-C5sNt-s2.js → profileAccountProjection-dvLchPBo.js} +0 -0
- /package/dist/esm/sdk/{registrationAuthMethodInput-BR1WVbK3.js → registrationAuthMethodInput-C4o7yFBJ.js} +0 -0
- /package/dist/esm/sdk/{sdkSentEvents-DjOlKtdW.js → sdkSentEvents-BFwv3mBw.js} +0 -0
- /package/dist/esm/sdk/{signerDomain-BAsLT3XN.js → signerDomain-D-EUTlLK.js} +0 -0
- /package/dist/esm/sdk/{signerSlot-D2RZnb27.js → signerSlot-BlijMq8C.js} +0 -0
- /package/dist/esm/sdk/{surface-measurement-reporter-DXsvq401.js → surface-measurement-reporter-DJ_dQhBV.js} +0 -0
- /package/dist/esm/sdk/{walletCustodyOperation-DimzAbCB.js → walletOwnerOperation-CScYv2K6.js} +0 -0
- /package/dist/esm/sdk/{walletSessionAuthorizationStatus-DG7DPcgR.js → walletSessionAuthorizationStatus-GhcGvDCX.js} +0 -0
- /package/dist/public/sdk/{accountIds-CW2BP-d9.js → accountIds-DGWFzEnw.js} +0 -0
- /package/dist/public/sdk/{actions-DrtSTGus.js → actions-7SvZZut1.js} +0 -0
- /package/dist/public/sdk/{authenticatorOptions-WCDKYRux.js → authenticatorOptions-B4q62CLs.js} +0 -0
- /package/dist/public/sdk/{confirmTypes-BvVtQs-M.js → confirmTypes-DmEPoxys.js} +0 -0
- /package/dist/public/sdk/{csp-stylesheet-DUSqfXvZ.js → csp-stylesheet-5LU6VGKK.js} +0 -0
- /package/dist/public/sdk/{digestEncoding-CqNXPZY9.js → digestEncoding-34kXJoJr.js} +0 -0
- /package/dist/public/sdk/{ecdsaChainTarget-Bm5X4k-V.js → ecdsaChainTarget-BoRVQtjQ.js} +0 -0
- /package/dist/public/sdk/{executeWorkerOperation-C9FOCCR7.js → executeWorkerOperation-CAYSt0NA.js} +0 -0
- /package/dist/public/sdk/{helpers-Dubwo5uK.js → helpers-B7c1zc7h.js} +0 -0
- /package/dist/public/sdk/{jsonRpc-BVDv1wfm.js → jsonRpc-DGzeiNSa.js} +0 -0
- /package/dist/public/sdk/{keccak-mS0Mejjx.js → keccak-DGHI1G6t.js} +0 -0
- /package/dist/public/sdk/{keyMaterialEnvelope-Dm2ZEilb.js → keyMaterialEnvelope-Czkks9Ki.js} +0 -0
- /package/dist/public/sdk/{presignatures-BCeq56DG.js → presignatures-CkhuZ0YQ.js} +0 -0
- /package/dist/public/sdk/{profileAccountProjection-C5sNt-s2.js → profileAccountProjection-dvLchPBo.js} +0 -0
- /package/dist/public/sdk/{registrationAuthMethodInput-BR1WVbK3.js → registrationAuthMethodInput-C4o7yFBJ.js} +0 -0
- /package/dist/public/sdk/{sdkSentEvents-DjOlKtdW.js → sdkSentEvents-BFwv3mBw.js} +0 -0
- /package/dist/public/sdk/{signerDomain-BAsLT3XN.js → signerDomain-D-EUTlLK.js} +0 -0
- /package/dist/public/sdk/{signerSlot-D2RZnb27.js → signerSlot-BlijMq8C.js} +0 -0
- /package/dist/public/sdk/{surface-measurement-reporter-DXsvq401.js → surface-measurement-reporter-DJ_dQhBV.js} +0 -0
- /package/dist/public/sdk/{walletCustodyOperation-DimzAbCB.js → walletOwnerOperation-CScYv2K6.js} +0 -0
- /package/dist/public/sdk/{walletSessionAuthorizationStatus-DG7DPcgR.js → walletSessionAuthorizationStatus-GhcGvDCX.js} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
import{g as e,i as t}from"./domainIds-t1lp25yU.js";import{S as n}from"./digests-BIaE0DMd.js";import{c as r,l as i,o as a}from"./participants-BXdREC5k.js";import{r as o}from"./base64-BmKR3UqU.js";import{c as s}from"./ecdsaChainTarget-Bm5X4k-V.js";import{C as c,S as l,a as u,c as d}from"./walletAuthority-BTGAuOi8.js";import{Ct as f,Nt as p,Pt as m,T as h,U as g,b as _,ct as v,g as y,l as b,nt as x,rt as S,ut as C,w}from"./digestEncoding-CqNXPZY9.js";import{D as T,T as E,d as ee,f as te,m as D,o as O,p as k}from"./emailOtpEcdsaDerivationIdentity-HFQXc1Yw.js";import{p as A}from"./ecdsaDerivationClientWasm-AYOJgTJm.js";import{a as j,n as M}from"./walletSessionFailure-CxsVtroW.js";import{a as N}from"./clientSessionPersistenceState-BCkJAYSz.js";import{t as P}from"./bytes-DXo6uALR.js";const F=new Map;function I(e){return`${String(e.walletId)}\0${e.materialActivation.activationId}`}function L(e){let n=I(e),r=F.get(n);if(r&&(r.authorityId!==e.authorityId||r.walletAuthMethodId!==e.walletAuthMethodId||r.factorAuthority.walletId!==e.factorAuthority.walletId||r.factorAuthority.bindingId!==e.factorAuthority.bindingId||r.holderHandleId!==e.holderHandleId||!t(r.materialActivation,e.materialActivation)))throw Error(`linked ECDSA holder runtime conflicts with the active authority`);F.set(n,e)}function R(e){return F.get(I(e))??null}function z(e){return[...F.values()].filter(t=>e===void 0||t.walletId===e)}function B(e){let t=I(e),n=F.get(t);if(n){if(n.holderHandleId!==e.holderHandleId)throw Error(`linked ECDSA holder runtime changed before removal`);F.delete(t)}}function V(e){if(!e){F.clear();return}for(let[t,n]of F)n.walletId===e&&F.delete(t)}function H(e,t){return t?{kind:`blocked`,reason:e,message:t}:{kind:`blocked`,reason:e}}function U(e){return u(e)||d(e.signerActivations)?e.signerActivations:null}function W(e){if(e.kind!==`resolved`)switch(e.kind){case`missing_selection`:return H(`missing_selected_authority`);case`missing_auth_method`:case`missing_authority`:case`integrity_error`:return H(`invalid_selected_authority`);default:return e}return e.selection.walletId!==e.authMethod.walletId||e.selection.walletAuthMethodId!==e.authMethod.walletAuthMethodId||e.authMethod.walletAuthorityId!==e.authority.authorityId||e.authority.walletId!==e.selection.walletId?H(`authority_identity_mismatch`):e.selection.lockState===`unlocked`?e.authMethod.status===`active`?e.authority.state===`active`?{authMethod:e.authMethod,authority:e.authority,signerMaterials:e.signerMaterials}:H(`authority_inactive`):H(`auth_method_inactive`):H(`wallet_locked`)}function G(e){let n=e.materials.filter(n=>n.kind===`wallet_authority_linked_signer_material_v1`&&n.keyFamily===`ecdsa_secp256k1`&&n.authorityId===e.authority.authorityId&&n.walletAuthMethodId===e.authMethod.walletAuthMethodId&&n.activationId===e.materialActivation.activationId&&t(n.materialActivation,e.materialActivation)),[r]=n;return n.length===1&&r?r:null}function K(e){let t=e.material.targetFactor;return t.walletAuthMethodId===e.authMethod.walletAuthMethodId?e.authMethod.kind===`passkey`?t.kind===`passkey`&&t.rpId===e.authMethod.rpId&&t.credentialIdB64u===e.authMethod.credentialIdB64u:t.kind===`email_otp`&&t.emailHashHex===e.authMethod.emailHashHex&&t.registrationAuthorityId===e.authMethod.registrationAuthorityId:!1}function ne(e){return e.session.capabilitySubjects.filter(n=>n.kind===e.capability&&n.keyFamily===`ecdsa_secp256k1`&&t(n.materialActivation,e.materialActivation)).length===1}function q(e){try{return p(e.scope.material_activation)}catch{return null}}function J(e){try{return P(o(e.scope.public_identity.ethereum_address20_b64u))}catch{return null}}function Y(e,t){return e.linkSessionId===t.linkSessionId&&e.enrollmentId===t.enrollmentId&&e.sourceAuthorityId===t.sourceAuthorityId&&l(e.source,t.source)&&c(e.target,t.target)&&e.targetClientPublicKey33B64u===t.targetClientPublicKey33B64u}function X(e,t){return e.kind===t.kind&&g(e.scope,t.scope)}function Z(e,t){return e.applicationBindingDigestB64u===t.applicationBindingDigestB64u&&e.clientShareRetryCounter===t.clientShareRetryCounter&&e.ecdsaThresholdKeyId===t.ecdsaThresholdKeyId&&X(e.sourceNormalSigning,t.sourceNormalSigning)}function re(e,t){return e.state===t.state&&Y(e.binding,t.binding)&&Z(e.sourceDerivation,t.sourceDerivation)&&e.targetRelayerPublicKey33B64u===t.targetRelayerPublicKey33B64u&&e.thresholdPublicKey33B64u===t.thresholdPublicKey33B64u&&e.thresholdEthereumAddress20B64u===t.thresholdEthereumAddress20B64u&&X(e.normalSigning,t.normalSigning)}function ie(e){let n=R({walletId:e.walletId,materialActivation:e.materialActivation});return!n||n.walletId!==e.walletId||n.authorityId!==e.authority.authorityId||n.walletAuthMethodId!==e.authMethod.walletAuthMethodId||n.factorAuthority.walletId!==e.walletId||n.factorAuthority.bindingId!==e.authMethod.walletAuthMethodId||n.ecdsaThresholdKeyId!==e.ecdsaThresholdKeyId||!t(n.materialActivation,e.materialActivation)||!K({material:e.material,authMethod:e.authMethod})||!re(n.activationReceipt,e.material.publicFacts.activationReceipt)?null:n}async function ae(e){let n=e.holderRuntime.activationReceipt.normalSigning,r=n.scope,i=q(n),a=J(n);if(!i||!a||!t(i,e.materialActivation)||e.signer.walletId!==e.selected.authority.walletId||r.wallet_id!==String(e.selected.authority.walletId)||r.ecdsa_threshold_key_id!==String(e.holderRuntime.ecdsaThresholdKeyId)||r.public_identity.threshold_public_key33_b64u!==String(e.signer.thresholdPublicKey33B64u)||a.toLowerCase()!==String(e.signer.evmAddress).trim().toLowerCase()||String(e.holderRuntime.activationReceipt.thresholdPublicKey33B64u)!==String(r.public_identity.threshold_public_key33_b64u)||String(e.holderRuntime.activationReceipt.thresholdEthereumAddress20B64u)!==String(r.public_identity.ethereum_address20_b64u))return H(`normal_signing_identity_mismatch`);let o,s,c,l;try{l=await D({ecdsaThresholdKeyId:r.ecdsa_threshold_key_id,signingRootId:r.signing_root_id,signingRootVersion:r.signing_root_version});let t=T(e.signer.evmAddress);o=O({walletId:e.selected.authority.walletId,ecdsaThresholdKeyId:r.ecdsa_threshold_key_id,signingRootId:r.signing_root_id,signingRootVersion:r.signing_root_version,participantIds:[1,2],thresholdOwnerAddress:t}),s=k({keyHandle:l,publicKeyB64u:r.public_identity.threshold_public_key33_b64u,participantIds:[1,2],thresholdOwnerAddress:t}),c=await f({walletId:String(o.walletId),signingRootId:String(o.signingRootId),signingRootVersion:String(o.signingRootVersion)})}catch(e){return H(`invalid_public_facts`,e instanceof Error?e.message:String(e))}if(o.ecdsaThresholdKeyId!==e.holderRuntime.ecdsaThresholdKeyId)return H(`normal_signing_identity_mismatch`);let u;try{u=await C({authority:e.factorAuthority})}catch(e){return H(`authority_identity_mismatch`,e instanceof Error?e.message:String(e))}let d={kind:`active_wallet_authority_ecdsa_runtime_v1`,walletId:e.selected.authority.walletId,authorityId:e.selected.authority.authorityId,walletAuthMethodId:e.selected.authMethod.walletAuthMethodId,authorityDigestB64u:e.selected.authority.authorityDigestB64u,factorAuthorityRef:u,authorityRevocationEpoch:e.selected.authority.revocationEpoch,walletSessionId:e.operationCredential.walletSessionId,operationCredential:e.operationCredential,session:e.session,requiredCapability:e.requiredCapability,materialActivation:e.materialActivation,ecdsaThresholdKeyId:o.ecdsaThresholdKeyId,relayerKeyId:c,authority:e.selected.authority,authMethod:e.selected.authMethod,holderRuntime:e.holderRuntime,normalSigning:n,key:o,publicFacts:s};if(e.selected.authMethod.kind===`passkey`){let t={kind:`passkey`,rpId:E(e.selected.authMethod.rpId),credentialIdB64u:e.selected.authMethod.credentialIdB64u};if(!S(e.factorAuthority)||e.factorAuthority.walletId!==o.walletId||e.factorAuthority.bindingId!==e.selected.authMethod.walletAuthMethodId||e.factorAuthority.factor.credentialIdB64u!==t.credentialIdB64u||String(e.factorAuthority.verifier.rpId)!==String(t.rpId))return H(`authority_identity_mismatch`);let n=te({walletId:o.walletId,publicFacts:s,authBinding:ee({rpId:t.rpId,credentialIdB64u:t.credentialIdB64u})});return{...d,auth:t,factorAuthority:e.factorAuthority,resolvedKey:n}}if(!x(e.factorAuthority)||e.factorAuthority.walletId!==o.walletId||e.factorAuthority.bindingId!==e.selected.authMethod.walletAuthMethodId||e.factorAuthority.verifier.emailHashHex!==e.selected.authMethod.emailHashHex)return H(`authority_identity_mismatch`);let p={kind:`email_otp`,providerSubjectId:String(e.factorAuthority.factor.providerUserId)};return{...d,auth:p,factorAuthority:e.factorAuthority}}function oe(e){if(!e.chainTarget)return null;let t={kind:`active_wallet_authority_ecdsa_lane_projection_v1`,source:`active_wallet_authority`,chainTarget:e.chainTarget,runtime:e.runtime,key:e.runtime.key,materialActivation:e.runtime.materialActivation,publicFacts:e.runtime.publicFacts,state:`deferred`,authorizationState:`authorization_required`};return e.runtime.auth.kind===`passkey`?e.runtime.resolvedKey?{...t,auth:e.runtime.auth,resolvedKey:e.runtime.resolvedKey}:null:{...t,auth:e.runtime.auth}}async function se(e){let{input:n,ports:r}=e,i=n.requiredCapability||`sign`,a=Math.floor(Number(n.nowMs)||Date.now()),o;try{o=s(n.walletId)}catch(e){return H(`invalid_selected_authority`,e instanceof Error?e.message:String(e))}let c;try{c=await r.resolveSelectedWalletAuthority(String(o))}catch(e){return H(`persistence_unavailable`,e instanceof Error?e.message:String(e))}let l=W(c);if(`kind`in l)return l;let u=U(l.authority);if(!u)return H(`missing_ecdsa_signer`);let d=u.ecdsa.signer,f=u.ecdsa.materialActivation;if(n.materialActivation&&!t(n.materialActivation,f))return H(`authority_identity_mismatch`);let p=G({materials:l.signerMaterials,authority:l.authority,authMethod:l.authMethod,materialActivation:f});if(!p||!K({material:p,authMethod:l.authMethod}))return H(`missing_holder_runtime`);if(String(p.publicFacts.ecdsaThresholdKeyId)!==String(p.ecdsaThresholdKeyId))return H(`holder_runtime_identity_mismatch`);let m=ie({walletId:o,authority:l.authority,authMethod:l.authMethod,materialActivation:f,ecdsaThresholdKeyId:String(p.ecdsaThresholdKeyId),material:p});if(!m)return H(`holder_runtime_identity_mismatch`);let h;try{h=await r.readExactWithOperationCredential({walletId:o,authorityId:l.authority.authorityId,authMethodId:l.authMethod.walletAuthMethodId})}catch(e){return H(`persistence_unavailable`,e instanceof Error?e.message:String(e))}switch(h.kind){case`found`:break;case`missing`:return H(`missing_wallet_session`);case`upgrade_required`:return H(`upgrade_required`,`Wallet Session authorization requires a newer client`)}let g=h.record,_=h.operationCredential;if(g.expiresAtMs<=a)return H(`wallet_session_expired`);if(g.walletId!==o||g.authorityId!==l.authority.authorityId||g.authMethodId!==l.authMethod.walletAuthMethodId||g.authorityDigestB64u!==l.authority.authorityDigestB64u||g.authorityRevocationEpoch!==l.authority.revocationEpoch||_.walletSessionId.length===0||_.token.trim().length===0)return H(`wallet_session_identity_mismatch`);if(!ne({session:g,capability:i,materialActivation:f}))return H(`wallet_session_capability_mismatch`);let v=m.factorAuthority,y=await ae({selected:l,session:g,operationCredential:_,requiredCapability:i,signer:d,materialActivation:f,holderRuntime:m,factorAuthority:v});return y.kind===`active_wallet_authority_ecdsa_runtime_v1`?{kind:`resolved`,runtime:y,lane:oe({runtime:y,chainTarget:n.chainTarget})}:y}const ce=Symbol(`persisted-ecdsa-role-local-material`);function le(e,t){return e.bindingDigest===t.contextBinding32B64u}function ue(e,t){return e.durableMaterialRef===t.durableMaterialRef&&e.bindingDigest===t.bindingDigest}function de(e){return e instanceof Error?e.message:String(e)}function Q(e){return{kind:`corrupt`,reason:e.reason,message:e.message}}function fe(e){switch(e.failure.reason){case`missing`:return{kind:`device_link_required`,reason:`missing_local_material`};case`expired`:return Q({reason:`expired`,message:`ECDSA role-local persisted material has expired`});case`binding_mismatch`:return Q({reason:`binding_mismatch`,message:`ECDSA role-local persisted material binding does not match its public facts`});case`corrupt`:return Q({reason:`corrupt_persistence`,message:`ECDSA role-local persisted material is corrupt`});default:{let t=e.failure.reason;throw Error(`Unsupported ECDSA role-local restoration failure: ${String(t)}`)}}}function pe(t){let n=v(t.authority);if(!n)throw Error(`ECDSA role-local persisted material authority is invalid`);let r=e(t.materialActivation);if(!r.ok)throw Error(r.error.message);if(n.walletId!==t.publicFacts.walletId)throw Error(`ECDSA role-local persisted material authority does not match its wallet`);return{[ce]:!0,kind:`persisted_ecdsa_role_local_material_v1`,authority:n,materialActivation:r.value,publicFacts:t.publicFacts}}function $(e){return{kind:`persisted`,authority:e.authority,materialActivation:e.materialActivation,publicFacts:e.publicFacts}}async function me(e){switch(e.source.kind){case`unavailable`:return{kind:`device_link_required`,reason:e.source.reason};case`persisted`:try{let n=await A({authority:e.source.authority,materialActivation:e.source.materialActivation,workerCtx:e.workerCtx});return n.ok?!t(n.materialRef.materialActivation,e.source.materialActivation)||!le(n.materialRef,e.source.publicFacts)?Q({reason:`worker_identity_mismatch`,message:`ECDSA role-local worker restored a different material identity`}):ue(n.liveHandle,n.materialRef)?{kind:`rehydrated`,liveHandle:n.liveHandle,materialRef:n.materialRef}:Q({reason:`worker_identity_mismatch`,message:`ECDSA role-local worker restored a different durable material`}):fe({failure:n})}catch(e){return Q({reason:`persistence_unavailable`,message:de(e)})}default:{let t=e.source;throw Error(`Unsupported ECDSA role-local material source: ${String(t)}`)}}}function he(e){try{return h(e)}catch(e){throw Error(e instanceof Error?e.message:`ECDSA operation step-up response is invalid`)}}function ge(e){let t=String(e||``).trim().replace(/\/+$/g,``);if(!t)throw Error(`ECDSA operation step-up relayerUrl is required`);return`${t}${b}`}function _e(e){let t=String(e.walletId||``).trim(),n=String(e.operationId||``).trim(),r=Math.floor(Number(e.expiresAtMs));if(!t||!n)throw Error(`ECDSA operation step-up identity is required`);if(!Number.isSafeInteger(r)||r<=Date.now())throw Error(`ECDSA operation step-up expiry is invalid`);let i=m(e.materialActivation),a=_(e.normalSigningScope),o=String(e.keyHandle||``).trim(),s=String(e.relayerKeyId||``).trim(),c=e.participantIds;if(a.wallet_id!==t||a.signing_worker.server_id!==i.signing_worker||!o||!s||c.length!==2||c.some(e=>!Number.isSafeInteger(e)||e<=0))throw Error(`ECDSA operation step-up signing identity is inconsistent`);return{wallet_id:t,operation_kind:e.operationKind,operation_id:n,operation_digests:{lane_digest_b64u:e.operationDigests.laneDigest,intent_digest_b64u:e.operationDigests.intentDigest,display_digest_b64u:e.operationDigests.displayDigest},material_activation:i,normal_signing_scope:a,signing_worker_id:i.signing_worker,key_handle:o,relayer_key_id:s,participant_ids:[c[0],c[1]],expires_at_ms:r}}async function ve(e){let t=_e(e);return{operation:t,challengeB64u:await y(t)}}function ye(e,t){switch(e){case j.expired:case j.missing:return`Signing session expired. Sign in again to continue.`;case j.budgetExhausted:return`Signing session budget is used up. Sign in again to continue.`;default:return`ECDSA operation step-up failed: ${t}`}}async function be(e){let t=w(e.request),o=e.transport.kind===`wallet_session`?r(e.transport.credential):{};if(e.transport.kind===`factor_proof`&&t.operation.operation_kind!==`evm.export_key`)throw Error(`ECDSA signing step-up requires its Wallet Session credential`);let s=new Request(ge(e.relayerUrl),a({headers:o,body:t})),c=e.transport.kind===`wallet_session`?await i(s):await fetch(s),l=await c.json().catch(()=>null);if(!c.ok){let e=n(l,`ECDSA operation step-up response`),t=String(e.message||`HTTP ${c.status}`);throw M({code:e.code,message:ye(e.code,t)})||Error(`ECDSA operation step-up failed: ${t}`)}return he(l)}async function xe(e){return await N({...e,labels:{queue:`threshold ECDSA signing queue`,queuedOperation:`threshold ECDSA queued signing operation`},owner:String(e.walletId).trim()})}export{$ as a,V as c,B as d,R as f,pe as i,L as l,be as n,me as o,ve as r,se as s,xe as t,z as u};
|
|
1
|
+
import{g as e,i as t}from"./domainIds-t1lp25yU.js";import{S as n}from"./digests-BIaE0DMd.js";import{c as r,l as i,o as a}from"./participants-BXdREC5k.js";import{r as o}from"./base64-BmKR3UqU.js";import{c as s}from"./ecdsaChainTarget-BoRVQtjQ.js";import{C as c,S as l,a as u,c as d}from"./walletAuthority-DbGaSw7D.js";import{Ct as f,Nt as p,Pt as m,T as h,U as g,b as _,ct as v,g as y,l as b,nt as x,rt as S,ut as C,w}from"./digestEncoding-34kXJoJr.js";import{D as T,T as E,d as ee,f as te,m as D,o as O,p as k}from"./emailOtpEcdsaDerivationIdentity-Qd4pBwHv.js";import{p as A}from"./ecdsaDerivationClientWasm-DJh2uN-q.js";import{a as j,n as M}from"./walletSessionFailure-CxsVtroW.js";import{a as N}from"./clientSessionPersistenceState-BxpITYM_.js";import{t as P}from"./bytes-DXo6uALR.js";const F=new Map;function I(e){return`${String(e.walletId)}\0${e.materialActivation.activationId}`}function L(e){let n=I(e),r=F.get(n);if(r&&(r.authorityId!==e.authorityId||r.walletAuthMethodId!==e.walletAuthMethodId||r.factorAuthority.walletId!==e.factorAuthority.walletId||r.factorAuthority.bindingId!==e.factorAuthority.bindingId||r.holderHandleId!==e.holderHandleId||!t(r.materialActivation,e.materialActivation)))throw Error(`linked ECDSA holder runtime conflicts with the active authority`);F.set(n,e)}function R(e){return F.get(I(e))??null}function z(e){return[...F.values()].filter(t=>e===void 0||t.walletId===e)}function B(e){let t=I(e),n=F.get(t);if(n){if(n.holderHandleId!==e.holderHandleId)throw Error(`linked ECDSA holder runtime changed before removal`);F.delete(t)}}function V(e){if(!e){F.clear();return}for(let[t,n]of F)n.walletId===e&&F.delete(t)}function H(e,t){return t?{kind:`blocked`,reason:e,message:t}:{kind:`blocked`,reason:e}}function U(e){return u(e)||d(e.signerActivations)?e.signerActivations:null}function W(e){if(e.kind!==`resolved`)switch(e.kind){case`missing_selection`:return H(`missing_selected_authority`);case`missing_auth_method`:case`missing_authority`:case`integrity_error`:return H(`invalid_selected_authority`);default:return e}return e.selection.walletId!==e.authMethod.walletId||e.selection.walletAuthMethodId!==e.authMethod.walletAuthMethodId||e.authMethod.walletAuthorityId!==e.authority.authorityId||e.authority.walletId!==e.selection.walletId?H(`authority_identity_mismatch`):e.selection.lockState===`unlocked`?e.authMethod.status===`active`?e.authority.state===`active`?{authMethod:e.authMethod,authority:e.authority,signerMaterials:e.signerMaterials}:H(`authority_inactive`):H(`auth_method_inactive`):H(`wallet_locked`)}function G(e){let n=e.materials.filter(n=>n.kind===`wallet_authority_linked_signer_material_v1`&&n.keyFamily===`ecdsa_secp256k1`&&n.authorityId===e.authority.authorityId&&n.walletAuthMethodId===e.authMethod.walletAuthMethodId&&n.activationId===e.materialActivation.activationId&&t(n.materialActivation,e.materialActivation)),[r]=n;return n.length===1&&r?r:null}function K(e){let t=e.material.targetFactor;return t.walletAuthMethodId===e.authMethod.walletAuthMethodId?e.authMethod.kind===`passkey`?t.kind===`passkey`&&t.rpId===e.authMethod.rpId&&t.credentialIdB64u===e.authMethod.credentialIdB64u:t.kind===`email_otp`&&t.emailHashHex===e.authMethod.emailHashHex&&t.registrationAuthorityId===e.authMethod.registrationAuthorityId:!1}function ne(e){return e.session.capabilitySubjects.filter(n=>n.kind===e.capability&&n.keyFamily===`ecdsa_secp256k1`&&t(n.materialActivation,e.materialActivation)).length===1}function q(e){try{return p(e.scope.material_activation)}catch{return null}}function J(e){try{return P(o(e.scope.public_identity.ethereum_address20_b64u))}catch{return null}}function Y(e,t){return e.linkSessionId===t.linkSessionId&&e.enrollmentId===t.enrollmentId&&e.sourceAuthorityId===t.sourceAuthorityId&&l(e.source,t.source)&&c(e.target,t.target)&&e.targetClientPublicKey33B64u===t.targetClientPublicKey33B64u}function X(e,t){return e.kind===t.kind&&g(e.scope,t.scope)}function Z(e,t){return e.applicationBindingDigestB64u===t.applicationBindingDigestB64u&&e.clientShareRetryCounter===t.clientShareRetryCounter&&e.ecdsaThresholdKeyId===t.ecdsaThresholdKeyId&&X(e.sourceNormalSigning,t.sourceNormalSigning)}function re(e,t){return e.state===t.state&&Y(e.binding,t.binding)&&Z(e.sourceDerivation,t.sourceDerivation)&&e.targetRelayerPublicKey33B64u===t.targetRelayerPublicKey33B64u&&e.thresholdPublicKey33B64u===t.thresholdPublicKey33B64u&&e.thresholdEthereumAddress20B64u===t.thresholdEthereumAddress20B64u&&X(e.normalSigning,t.normalSigning)}function ie(e){let n=R({walletId:e.walletId,materialActivation:e.materialActivation});return!n||n.walletId!==e.walletId||n.authorityId!==e.authority.authorityId||n.walletAuthMethodId!==e.authMethod.walletAuthMethodId||n.factorAuthority.walletId!==e.walletId||n.factorAuthority.bindingId!==e.authMethod.walletAuthMethodId||n.ecdsaThresholdKeyId!==e.ecdsaThresholdKeyId||!t(n.materialActivation,e.materialActivation)||!K({material:e.material,authMethod:e.authMethod})||!re(n.activationReceipt,e.material.publicFacts.activationReceipt)?null:n}async function ae(e){let n=e.holderRuntime.activationReceipt.normalSigning,r=n.scope,i=q(n),a=J(n);if(!i||!a||!t(i,e.materialActivation)||e.signer.walletId!==e.selected.authority.walletId||r.wallet_id!==String(e.selected.authority.walletId)||r.ecdsa_threshold_key_id!==String(e.holderRuntime.ecdsaThresholdKeyId)||r.public_identity.threshold_public_key33_b64u!==String(e.signer.thresholdPublicKey33B64u)||a.toLowerCase()!==String(e.signer.evmAddress).trim().toLowerCase()||String(e.holderRuntime.activationReceipt.thresholdPublicKey33B64u)!==String(r.public_identity.threshold_public_key33_b64u)||String(e.holderRuntime.activationReceipt.thresholdEthereumAddress20B64u)!==String(r.public_identity.ethereum_address20_b64u))return H(`normal_signing_identity_mismatch`);let o,s,c,l;try{l=await D({ecdsaThresholdKeyId:r.ecdsa_threshold_key_id,signingRootId:r.signing_root_id,signingRootVersion:r.signing_root_version});let t=T(e.signer.evmAddress);o=O({walletId:e.selected.authority.walletId,ecdsaThresholdKeyId:r.ecdsa_threshold_key_id,signingRootId:r.signing_root_id,signingRootVersion:r.signing_root_version,participantIds:[1,2],thresholdOwnerAddress:t}),s=k({keyHandle:l,publicKeyB64u:r.public_identity.threshold_public_key33_b64u,participantIds:[1,2],thresholdOwnerAddress:t}),c=await f({walletId:String(o.walletId),signingRootId:String(o.signingRootId),signingRootVersion:String(o.signingRootVersion)})}catch(e){return H(`invalid_public_facts`,e instanceof Error?e.message:String(e))}if(o.ecdsaThresholdKeyId!==e.holderRuntime.ecdsaThresholdKeyId)return H(`normal_signing_identity_mismatch`);let u;try{u=await C({authority:e.factorAuthority})}catch(e){return H(`authority_identity_mismatch`,e instanceof Error?e.message:String(e))}let d={kind:`active_wallet_authority_ecdsa_runtime_v1`,walletId:e.selected.authority.walletId,authorityId:e.selected.authority.authorityId,walletAuthMethodId:e.selected.authMethod.walletAuthMethodId,authorityDigestB64u:e.selected.authority.authorityDigestB64u,factorAuthorityRef:u,authorityRevocationEpoch:e.selected.authority.revocationEpoch,walletSessionId:e.operationCredential.walletSessionId,operationCredential:e.operationCredential,session:e.session,requiredCapability:e.requiredCapability,materialActivation:e.materialActivation,ecdsaThresholdKeyId:o.ecdsaThresholdKeyId,relayerKeyId:c,authority:e.selected.authority,authMethod:e.selected.authMethod,holderRuntime:e.holderRuntime,normalSigning:n,key:o,publicFacts:s};if(e.selected.authMethod.kind===`passkey`){let t={kind:`passkey`,rpId:E(e.selected.authMethod.rpId),credentialIdB64u:e.selected.authMethod.credentialIdB64u};if(!S(e.factorAuthority)||e.factorAuthority.walletId!==o.walletId||e.factorAuthority.bindingId!==e.selected.authMethod.walletAuthMethodId||e.factorAuthority.factor.credentialIdB64u!==t.credentialIdB64u||String(e.factorAuthority.verifier.rpId)!==String(t.rpId))return H(`authority_identity_mismatch`);let n=te({walletId:o.walletId,publicFacts:s,authBinding:ee({rpId:t.rpId,credentialIdB64u:t.credentialIdB64u})});return{...d,auth:t,factorAuthority:e.factorAuthority,resolvedKey:n}}if(!x(e.factorAuthority)||e.factorAuthority.walletId!==o.walletId||e.factorAuthority.bindingId!==e.selected.authMethod.walletAuthMethodId||e.factorAuthority.verifier.emailHashHex!==e.selected.authMethod.emailHashHex)return H(`authority_identity_mismatch`);let p={kind:`email_otp`,providerSubjectId:String(e.factorAuthority.factor.providerUserId)};return{...d,auth:p,factorAuthority:e.factorAuthority}}function oe(e){if(!e.chainTarget)return null;let t={kind:`active_wallet_authority_ecdsa_lane_projection_v1`,source:`active_wallet_authority`,chainTarget:e.chainTarget,runtime:e.runtime,key:e.runtime.key,materialActivation:e.runtime.materialActivation,publicFacts:e.runtime.publicFacts,state:`deferred`,authorizationState:`authorization_required`};return e.runtime.auth.kind===`passkey`?e.runtime.resolvedKey?{...t,auth:e.runtime.auth,resolvedKey:e.runtime.resolvedKey}:null:{...t,auth:e.runtime.auth}}async function se(e){let{input:n,ports:r}=e,i=n.requiredCapability||`sign`,a=Math.floor(Number(n.nowMs)||Date.now()),o;try{o=s(n.walletId)}catch(e){return H(`invalid_selected_authority`,e instanceof Error?e.message:String(e))}let c;try{c=await r.resolveSelectedWalletAuthority(String(o))}catch(e){return H(`persistence_unavailable`,e instanceof Error?e.message:String(e))}let l=W(c);if(`kind`in l)return l;let u=U(l.authority);if(!u)return H(`missing_ecdsa_signer`);let d=u.ecdsa.signer,f=u.ecdsa.materialActivation;if(n.materialActivation&&!t(n.materialActivation,f))return H(`authority_identity_mismatch`);let p=G({materials:l.signerMaterials,authority:l.authority,authMethod:l.authMethod,materialActivation:f});if(!p||!K({material:p,authMethod:l.authMethod}))return H(`missing_holder_runtime`);if(String(p.publicFacts.ecdsaThresholdKeyId)!==String(p.ecdsaThresholdKeyId))return H(`holder_runtime_identity_mismatch`);let m=ie({walletId:o,authority:l.authority,authMethod:l.authMethod,materialActivation:f,ecdsaThresholdKeyId:String(p.ecdsaThresholdKeyId),material:p});if(!m)return H(`holder_runtime_identity_mismatch`);let h;try{h=await r.readExactWithOperationCredential({walletId:o,authorityId:l.authority.authorityId,authMethodId:l.authMethod.walletAuthMethodId})}catch(e){return H(`persistence_unavailable`,e instanceof Error?e.message:String(e))}switch(h.kind){case`found`:break;case`missing`:return H(`missing_wallet_session`);case`upgrade_required`:return H(`upgrade_required`,`Wallet Session authorization requires a newer client`)}let g=h.record,_=h.operationCredential;if(g.expiresAtMs<=a)return H(`wallet_session_expired`);if(g.walletId!==o||g.authorityId!==l.authority.authorityId||g.authMethodId!==l.authMethod.walletAuthMethodId||g.authorityDigestB64u!==l.authority.authorityDigestB64u||g.authorityRevocationEpoch!==l.authority.revocationEpoch||_.walletSessionId.length===0||_.token.trim().length===0)return H(`wallet_session_identity_mismatch`);if(!ne({session:g,capability:i,materialActivation:f}))return H(`wallet_session_capability_mismatch`);let v=m.factorAuthority,y=await ae({selected:l,session:g,operationCredential:_,requiredCapability:i,signer:d,materialActivation:f,holderRuntime:m,factorAuthority:v});return y.kind===`active_wallet_authority_ecdsa_runtime_v1`?{kind:`resolved`,runtime:y,lane:oe({runtime:y,chainTarget:n.chainTarget})}:y}const ce=Symbol(`persisted-ecdsa-role-local-material`);function le(e,t){return e.bindingDigest===t.contextBinding32B64u}function ue(e,t){return e.durableMaterialRef===t.durableMaterialRef&&e.bindingDigest===t.bindingDigest}function de(e){return e instanceof Error?e.message:String(e)}function Q(e){return{kind:`corrupt`,reason:e.reason,message:e.message}}function fe(e){switch(e.failure.reason){case`missing`:return{kind:`device_link_required`,reason:`missing_local_material`};case`expired`:return Q({reason:`expired`,message:`ECDSA role-local persisted material has expired`});case`binding_mismatch`:return Q({reason:`binding_mismatch`,message:`ECDSA role-local persisted material binding does not match its public facts`});case`corrupt`:return Q({reason:`corrupt_persistence`,message:`ECDSA role-local persisted material is corrupt`});default:{let t=e.failure.reason;throw Error(`Unsupported ECDSA role-local restoration failure: ${String(t)}`)}}}function pe(t){let n=v(t.authority);if(!n)throw Error(`ECDSA role-local persisted material authority is invalid`);let r=e(t.materialActivation);if(!r.ok)throw Error(r.error.message);if(n.walletId!==t.publicFacts.walletId)throw Error(`ECDSA role-local persisted material authority does not match its wallet`);return{[ce]:!0,kind:`persisted_ecdsa_role_local_material_v1`,authority:n,materialActivation:r.value,publicFacts:t.publicFacts}}function $(e){return{kind:`persisted`,authority:e.authority,materialActivation:e.materialActivation,publicFacts:e.publicFacts}}async function me(e){switch(e.source.kind){case`unavailable`:return{kind:`device_link_required`,reason:e.source.reason};case`persisted`:try{let n=await A({authority:e.source.authority,materialActivation:e.source.materialActivation,workerCtx:e.workerCtx});return n.ok?!t(n.materialRef.materialActivation,e.source.materialActivation)||!le(n.materialRef,e.source.publicFacts)?Q({reason:`worker_identity_mismatch`,message:`ECDSA role-local worker restored a different material identity`}):ue(n.liveHandle,n.materialRef)?{kind:`rehydrated`,liveHandle:n.liveHandle,materialRef:n.materialRef}:Q({reason:`worker_identity_mismatch`,message:`ECDSA role-local worker restored a different durable material`}):fe({failure:n})}catch(e){return Q({reason:`persistence_unavailable`,message:de(e)})}default:{let t=e.source;throw Error(`Unsupported ECDSA role-local material source: ${String(t)}`)}}}function he(e){try{return h(e)}catch(e){throw Error(e instanceof Error?e.message:`ECDSA operation step-up response is invalid`)}}function ge(e){let t=String(e||``).trim().replace(/\/+$/g,``);if(!t)throw Error(`ECDSA operation step-up relayerUrl is required`);return`${t}${b}`}function _e(e){let t=String(e.walletId||``).trim(),n=String(e.operationId||``).trim(),r=Math.floor(Number(e.expiresAtMs));if(!t||!n)throw Error(`ECDSA operation step-up identity is required`);if(!Number.isSafeInteger(r)||r<=Date.now())throw Error(`ECDSA operation step-up expiry is invalid`);let i=m(e.materialActivation),a=_(e.normalSigningScope),o=String(e.keyHandle||``).trim(),s=String(e.relayerKeyId||``).trim(),c=e.participantIds;if(a.wallet_id!==t||a.signing_worker.server_id!==i.signing_worker||!o||!s||c.length!==2||c.some(e=>!Number.isSafeInteger(e)||e<=0))throw Error(`ECDSA operation step-up signing identity is inconsistent`);return{wallet_id:t,operation_kind:e.operationKind,operation_id:n,operation_digests:{lane_digest_b64u:e.operationDigests.laneDigest,intent_digest_b64u:e.operationDigests.intentDigest,display_digest_b64u:e.operationDigests.displayDigest},material_activation:i,normal_signing_scope:a,signing_worker_id:i.signing_worker,key_handle:o,relayer_key_id:s,participant_ids:[c[0],c[1]],expires_at_ms:r}}async function ve(e){let t=_e(e);return{operation:t,challengeB64u:await y(t)}}function ye(e,t){switch(e){case j.expired:case j.missing:return`Signing session expired. Sign in again to continue.`;case j.budgetExhausted:return`Signing session budget is used up. Sign in again to continue.`;default:return`ECDSA operation step-up failed: ${t}`}}async function be(e){let t=w(e.request),o=e.transport.kind===`wallet_session`?r(e.transport.credential):{};if(e.transport.kind===`factor_proof`&&t.operation.operation_kind!==`evm.export_key`)throw Error(`ECDSA signing step-up requires its Wallet Session credential`);let s=new Request(ge(e.relayerUrl),a({headers:o,body:t})),c=e.transport.kind===`wallet_session`?await i(s):await fetch(s),l=await c.json().catch(()=>null);if(!c.ok){let e=n(l,`ECDSA operation step-up response`),t=String(e.message||`HTTP ${c.status}`);throw M({code:e.code,message:ye(e.code,t)})||Error(`ECDSA operation step-up failed: ${t}`)}return he(l)}async function xe(e){return await N({...e,labels:{queue:`threshold ECDSA signing queue`,queuedOperation:`threshold ECDSA queued signing operation`},owner:String(e.walletId).trim()})}export{$ as a,V as c,B as d,R as f,pe as i,L as l,be as n,me as o,ve as r,se as s,xe as t,z as u};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b as e}from"./domainIds-t1lp25yU.js";import{a as t,c as n,o as r,u as i}from"./participants-BXdREC5k.js";import{t as a}from"./errors-BJBDbwHk.js";import{c as o}from"./ecdsaChainTarget-
|
|
1
|
+
import{b as e}from"./domainIds-t1lp25yU.js";import{a as t,c as n,o as r,u as i}from"./participants-BXdREC5k.js";import{t as a}from"./errors-BJBDbwHk.js";import{c as o}from"./ecdsaChainTarget-BoRVQtjQ.js";import{F as s,f as c,k as l}from"./digestEncoding-34kXJoJr.js";import{r as u}from"./emailOtpEcdsaDerivationIdentity-Qd4pBwHv.js";const d=`Your worker restarted mid-request`;function f(t,n){let r=e(t);if(!r.ok)throw Error(`${n} is invalid`);return r.value}function p(e,t){let n=typeof e==`string`?e.trim():``;if(!n)throw Error(`Missing ${t}`);return n}function m(e,t){if(typeof e!=`number`||!Number.isFinite(e))throw Error(`Missing ${t}`);return e}function h(e,t){let n=m(e,t);if(!Number.isSafeInteger(n)||n<0)throw Error(`${t} must be a non-negative integer`);return n}function g(e){if(!Array.isArray(e)||e.length===0)throw Error(`participantIds must be a non-empty array`);return e.map(e=>{let t=Number(e);if(!Number.isSafeInteger(t)||t<=0)throw Error(`participantIds must contain positive integer ids`);return t})}function _(e,t,n){if(typeof e!=`object`||!e||Array.isArray(e)||Object.getPrototypeOf(e)!==Object.prototype&&Object.getPrototypeOf(e)!==null)throw Error(`Missing ${n}`);let r=new Set(t),i=Object.keys(e);if(i.length!==r.size||i.some(e=>!r.has(e)))throw Error(`${n} contains unexpected fields`);return e}function v(e,t,n){let r=Object.getOwnPropertyDescriptor(e,t);if(!r||!(`value`in r))throw Error(`Missing ${n}`);return r.value}const y=[`formatVersion`,`walletId`,`evmFamilySigningKeySlotId`,`ecdsaThresholdKeyId`,`relayerKeyId`,`applicationBindingDigestB64u`,`contextBinding32B64u`,`publicIdentity`,`clientShareRetryCounter`,`relayerShareRetryCounter`,`keyHandle`,`signingRootId`,`signingRootVersion`,`thresholdEcdsaPublicKeyB64u`,`ethereumAddress`,`relayerVerifyingShareB64u`,`participantIds`,`thresholdSessionId`,`activationEpoch`,`expiresAtMs`,`expiresAt`,`remainingUses`,`routerAbEcdsaDerivationNormalSigning`];function b(e){let t=_(e,[`derivationClientSharePublicKey33B64u`,`relayerPublicKey33B64u`,`groupPublicKey33B64u`,`ethereumAddress`],`publicIdentity`);return{derivationClientSharePublicKey33B64u:p(v(t,`derivationClientSharePublicKey33B64u`,`publicIdentity.derivationClientSharePublicKey33B64u`),`publicIdentity.derivationClientSharePublicKey33B64u`),relayerPublicKey33B64u:p(v(t,`relayerPublicKey33B64u`,`publicIdentity.relayerPublicKey33B64u`),`publicIdentity.relayerPublicKey33B64u`),groupPublicKey33B64u:p(v(t,`groupPublicKey33B64u`,`publicIdentity.groupPublicKey33B64u`),`publicIdentity.groupPublicKey33B64u`),ethereumAddress:p(v(t,`ethereumAddress`,`publicIdentity.ethereumAddress`),`publicIdentity.ethereumAddress`)}}function x(e){let t=_(e,y,`value`);if(v(t,`formatVersion`,`value.formatVersion`)!==`ecdsa-derivation-role-local`)throw Error(`value.formatVersion is invalid`);let n=o(v(t,`walletId`,`value.walletId`)),r=p(v(t,`evmFamilySigningKeySlotId`,`value.evmFamilySigningKeySlotId`),`evmFamilySigningKeySlotId`),i=u(v(t,`ecdsaThresholdKeyId`,`value.ecdsaThresholdKeyId`)),a=p(v(t,`relayerKeyId`,`value.relayerKeyId`),`relayerKeyId`),c=p(v(t,`applicationBindingDigestB64u`,`value.applicationBindingDigestB64u`),`applicationBindingDigestB64u`),l=p(v(t,`contextBinding32B64u`,`value.contextBinding32B64u`),`contextBinding32B64u`),d=b(v(t,`publicIdentity`,`value.publicIdentity`)),x=h(v(t,`clientShareRetryCounter`,`value.clientShareRetryCounter`),`clientShareRetryCounter`),S=h(v(t,`relayerShareRetryCounter`,`value.relayerShareRetryCounter`),`relayerShareRetryCounter`),C=p(v(t,`keyHandle`,`value.keyHandle`),`keyHandle`),w=p(v(t,`signingRootId`,`value.signingRootId`),`signingRootId`),T=p(v(t,`signingRootVersion`,`value.signingRootVersion`),`signingRootVersion`),E=g(v(t,`participantIds`,`value.participantIds`)),D=p(v(t,`thresholdSessionId`,`value.thresholdSessionId`),`thresholdSessionId`),O=f(v(t,`activationEpoch`,`value.activationEpoch`),`activationEpoch`),k=m(v(t,`expiresAtMs`,`value.expiresAtMs`),`expiresAtMs`),A=s(v(t,`routerAbEcdsaDerivationNormalSigning`,`value.routerAbEcdsaDerivationNormalSigning`));return{formatVersion:`ecdsa-derivation-role-local`,walletId:n,evmFamilySigningKeySlotId:r,ecdsaThresholdKeyId:i,relayerKeyId:a,applicationBindingDigestB64u:c,contextBinding32B64u:l,publicIdentity:d,clientShareRetryCounter:x,relayerShareRetryCounter:S,keyHandle:C,signingRootId:w,signingRootVersion:T,thresholdEcdsaPublicKeyB64u:p(v(t,`thresholdEcdsaPublicKeyB64u`,`value.thresholdEcdsaPublicKeyB64u`),`thresholdEcdsaPublicKeyB64u`),ethereumAddress:p(v(t,`ethereumAddress`,`value.ethereumAddress`),`ethereumAddress`),relayerVerifyingShareB64u:p(v(t,`relayerVerifyingShareB64u`,`value.relayerVerifyingShareB64u`),`relayerVerifyingShareB64u`),participantIds:E,thresholdSessionId:D,activationEpoch:O,expiresAtMs:k,expiresAt:p(v(t,`expiresAt`,`value.expiresAt`),`expiresAt`),remainingUses:m(v(t,`remainingUses`,`value.remainingUses`),`remainingUses`),routerAbEcdsaDerivationNormalSigning:A}}function S(e){return e?e.kind===`opaque_wallet_session_operation_credential_v1`?e.token:String(e.token||``).trim():``}function C(e){if(e.auth?.kind===`opaque_wallet_session_operation_credential_v1`)return r({headers:n(e.auth),body:e.body});let i=S(e.auth),a=String(e.publishableKeyAuth||``).trim();return r({headers:i?t({token:i,missingMessage:`bearer token is required`}):a?t({token:a,missingMessage:`publishable key auth is required`}):void 0,body:e.body})}function w(e){return{code:`http_error`,message:`HTTP ${e}`}}function T(e){try{let t=_(e,[`ok`,`code`,`message`],`relayer failure`);if(v(t,`ok`,`relayer failure.ok`)!==!1)throw Error(`invalid ok`);let n=v(t,`code`,`relayer failure.code`),r=v(t,`message`,`relayer failure.message`);if(typeof n!=`string`||!n.trim())throw Error(`invalid code`);if(typeof r!=`string`||!r.trim())throw Error(`invalid message`);return{code:n.trim(),message:r.trim()}}catch{return null}}async function E(e){let t=await O(e);return k(t)?{ok:!1,code:`worker_restarted_mid_request`,message:d}:A(t)}async function D(e,t){try{let n=i(e);if(!n)throw Error(`Missing relayServerUrl`);let r=await fetch(`${n}${c}`,C({auth:t.auth,body:t.request})),a=await E(r);if(!r.ok){let e=T(a)??w(r.status);return{ok:!1,code:e.code,message:e.message}}return{ok:!0,value:l(a)}}catch(e){return{ok:!1,error:a(e)||`Router A/B ECDSA session activation failed`}}}async function O(e){try{return await e.text()}catch{return``}}function k(e){return e.includes(d)}function A(e){try{return JSON.parse(e||`{}`)}catch(e){throw Error(`Failed to parse threshold ECDSA relayer response JSON: ${a(e)}`)}}export{x as n,D as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as e}from"./types-
|
|
1
|
+
import{a as e}from"./types-A-w1cYlJ.js";const t=new Set([`wallet_gateway_binding`,`wallet_gateway_total`,`wallet_console_binding_d1`,`wallet_console_binding_sql`,`ecdsa_sign_authorize`,`ecdsa_sign_admit`,`ecdsa_sign_proxy`,`ecdsa_sign_complete`,`ecdsa_sign_total`,`ecdsa_presign_authenticate`,`ecdsa_presign_material`,`ecdsa_presign_admit`,`ecdsa_presign_proxy`,`ecdsa_presign_total`,`ecdsa_presign_sw_material`,`ecdsa_presign_sw_session`,`ecdsa_presign_sw_do_response_headers`,`ecdsa_presign_sw_do_response_body`,`ecdsa_presign_sw_admit`,`ecdsa_presign_sw_total`]);function n(e){let n=new Map;if(!e)return n;for(let r of e.split(`,`)){let[e,...i]=r.trim().split(`;`);if(!(!t.has(e)||n.has(e)))for(let t of i){let[r,i]=t.trim().split(`=`);if(r!==`dur`||!i?.trim())continue;let a=Number(i);Number.isFinite(a)&&a>=0&&n.set(e,a);break}}return n}function r(e,t,r){if(!(!r||!p()))for(let[i,a]of n(r))d(`evm-family`,{event:`ecdsa_server_timing`,operationId:e,phase:t,stage:i,durationMs:a})}function i(e,t,r){if(!(!r||!p()))for(let[i,a]of n(r))d(`evm-family`,{event:`ecdsa_presign_server_timing`,presignSessionId:e,phase:t,stage:i,durationMs:a})}function a(e,t,n,r=`succeeded`){d(`evm-family`,{event:`ecdsa_signing_timing`,operationId:e,stage:t,durationMs:Math.max(0,performance.now()-n),outcome:r})}function o(e,t,n,r=`succeeded`){d(`near`,{event:`ed25519_signing_timing`,operationId:e,stage:t,durationMs:Math.max(0,performance.now()-n),outcome:r})}function s(t,n,r={}){if(!(!n||!p()))try{console.debug(`[SigningLane][${t}]`,{event:`signing_lane_resolved`,lane:e(n),...r.reason?{reason:r.reason}:{}})}catch{}}function c(e,t){if(p())try{console.debug(`[SigningBoundary][${e}]`,t)}catch{}}function l(t){return{event:t.event,...t.lane?{lane:e(t.lane)}:{},...t.readinessStatus?{readinessStatus:t.readinessStatus}:{},...t.sideEffect?{sideEffect:t.sideEffect}:{},phase:t.phase}}function u(e,t){if(p())try{console.debug(`[SigningSessionPlanner][${e}]`,t)}catch{}}function d(e,t){if(p())try{console.info(`[SigningFlow][${e}]`,JSON.stringify(t))}catch{}}function f(e,t){try{console.warn(`[SigningFlow][${e}][failure]`,t)}catch{}}function p(){try{return globalThis.localStorage?.getItem(`seams:debug:signing-session`)===`1`}catch{return!1}}export{o as a,u as c,a as i,f as l,i as n,c as o,r,s,l as t,d as u};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e}from"./chunk-dVx5-UGu.js";import{_ as t}from"./sdkSentEvents-
|
|
1
|
+
import{n as e}from"./chunk-dVx5-UGu.js";import{_ as t}from"./sdkSentEvents-BFwv3mBw.js";var n=e({beginTransactionActivity:()=>i,failTransactionActivity:()=>m,observeTransactionActivity:()=>p,observeTransactionLifecycleReport:()=>_,retainTransactionActivity:()=>a,setTransactionActivityView:()=>l,transactionBroadcastStarted:()=>h});let r=null;function i(e,t){if(e.requestId)switch(e.type){case`PM_SIGN_TX_WITH_ACTIONS`:case`PM_SIGN_AND_SEND_TX`:case`PM_SIGN_DELEGATE_ACTION`:case`PM_SIGN_NEP413`:case`PM_SIGN_TEMPO`:r?.surface?.dispose(),r={requestId:e.requestId,post:t,surface:null,view:`expanded`,retained:!1,signingHash:null,progress:e.type===`PM_SIGN_NEP413`?{subject:`message`,state:{kind:`signing`}}:{subject:`transaction`,state:{kind:`signing`}}};return;default:return}}function a(e,t){return!r||r.requestId!==e?!1:(r.surface=t,r.retained=!0,o(),!0)}function o(){if(!(!r?.retained||!r.surface)){if(!r.surface.element.isConnected){r=null;return}r.surface.showReceipt({...r.progress,view:r.view,onView:s,onDismiss:c}),r.post({type:`TRANSACTION_ACTIVITY`,requestId:r.requestId,payload:r.view})}}function s(e){r&&(r.view=e,o())}function c(){let e=r;r=null,e?.surface?.dispose(),e?.retained&&e.post({type:`TRANSACTION_ACTIVITY`,requestId:e.requestId,payload:`closed`})}function l(e,t){r?.requestId===e&&(t===`closed`?c():s(`toast`))}function u(e,t){e.progress=e.progress.subject===`message`?{subject:`message`,state:t}:{subject:`transaction`,state:t.kind===`failed`?{...t,hash:null}:t}}function d(e,t){e.progress.subject===`transaction`&&(e.progress={subject:`transaction`,state:t})}function f(e,t){if(!e||typeof e!=`object`)return null;let n=Reflect.get(e,t);return typeof n==`string`&&n.length>0?n:null}function p(e){if(!(!r||e.requestId!==r.requestId)){if(e.type===`PM_RESULT`){let t=e.payload?.result;r.signingHash=f(t,`rawTxHex`),r.progress.state.kind===`signing`&&u(r,{kind:`signed`}),t&&typeof t==`object`&&Reflect.get(t,`success`)===!1&&u(r,{kind:`failed`,message:f(t,`error`)??`The operation did not complete.`});let n=g(t);n&&d(r,n)}else if(e.type===`PROGRESS`&&t(e.payload)&&e.payload.flow===`signing`){let t=e.payload,n=f(t.data,`txHash`)??f(t.data,`txId`),{kind:i}=r.progress.state;if(i===`confirmed`||i===`reverted`)return;switch(t.phase){case`signing.transaction.signed`:u(r,{kind:`signed`});break;case`signing.broadcast.started`:d(r,{kind:`broadcasting`});break;case`signing.broadcast.accepted`:d(r,{kind:`submitted`,hash:n});break;case`signing.receipt.finalized`:d(r,{kind:`confirmed`,hash:n});break;case`signing.receipt.reverted`:d(r,{kind:`reverted`,hash:n,message:`The network reverted this transaction. Network fees may still apply.`});break;case`signing.failed`:case`signing.broadcast.rejected`:r.progress.subject===`message`?u(r,{kind:`failed`,message:t.message}):d(r,{kind:`failed`,hash:n,message:t.message});break;default:return}}else return;o()}}function m(e,t){!r||r.requestId!==e||(u(r,{kind:`failed`,message:t instanceof Error?t.message:`The operation did not complete.`}),o())}function h(e){!r||r.signingHash!==e||r.progress.state.kind!==`signed`||(d(r,{kind:`broadcasting`}),o())}function g(e){if(!e||typeof e!=`object`)return null;let t=f(e,`transactionId`);if(!t)return null;let n=Reflect.get(e,`result`),r=n&&typeof n==`object`?Reflect.get(n,`status`):null;if(r&&typeof r==`object`){if(Object.hasOwn(r,`SuccessValue`))return{kind:`confirmed`,hash:t};if(Object.hasOwn(r,`Failure`))return{kind:`reverted`,hash:t,message:`The network could not execute this transaction. Network fees may still apply.`}}return{kind:`unknown`,hash:t,message:`Submitted to the network. The response did not include a final execution outcome.`}}function _(e){if(r?.signingHash)switch(e.type){case`PM_REPORT_TEMPO_BROADCAST_ACCEPTED`:case`PM_REPORT_TEMPO_BROADCAST_REJECTED`:case`PM_REPORT_TEMPO_FINALIZED`:case`PM_REPORT_TEMPO_DROPPED_OR_REPLACED`:{let t=e.payload;if(!t||t.signedResult.rawTxHex!==r.signingHash)return;let{kind:n}=r.progress.state;if(n===`confirmed`||n===`reverted`)return;e.type===`PM_REPORT_TEMPO_BROADCAST_ACCEPTED`?d(r,{kind:`submitted`,hash:e.payload?.txHash??null}):e.type===`PM_REPORT_TEMPO_FINALIZED`?d(r,e.payload?.receiptStatus===`reverted`?{kind:`reverted`,hash:e.payload.txHash??null,message:`The network reverted this transaction. Network fees may still apply.`}:e.payload?.receiptStatus===`success`?{kind:`confirmed`,hash:e.payload.txHash??null}:{kind:`unknown`,hash:e.payload?.txHash??null,message:`The network response did not include an execution status.`}):d(r,{kind:`unknown`,hash:null,message:`The transaction did not complete as expected. Check its network status before retrying.`}),o();return}default:return}}export{a,_ as i,m as n,n as o,p as r,i as t};
|
package/dist/{public/sdk/transactionState-29T9xfvL.js → esm/sdk/transactionState-G_FPe-U8.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{c as e}from"./types-A-w1cYlJ.js";import{s as t}from"./ecdsaChainTarget-BoRVQtjQ.js";import{g as n,v as r,y as i}from"./nearEd25519YaoSigningPreparation-CnbgQfZc.js";import{f as a,h as o,l as s,m as c,p as l}from"./clientSessionPersistenceState-BxpITYM_.js";function u(e){return{tag:`IntentReceived`,intent:e}}function d(e,t){return{tag:`AvailableLanesRead`,intent:e.intent,availableLanes:t.availableLanes}}function f(e){return!!e&&e.curve===`ed25519`&&e.chain===`near`&&o(e)}function p(e){return!!e&&e.curve===`ecdsa`&&!!e.chainTarget&&o(e)}function m(e){return l(e)||null}function h(e){return e.state===`ready`?`ready`:e.state===`restorable`?`restorable`:null}function g(e){return e.state===`expired`?`expired`:e.state===`exhausted`?`exhausted`:null}function _(e,t){return{auth:e.auth,curve:`ed25519`,chain:`near`,materialActivation:e.materialActivation,walletId:e.walletId,nearAccountId:e.nearAccountId,nearEd25519SigningKeyId:e.nearEd25519SigningKeyId,signerSlot:e.signerSlot,authorizationState:`authorized`,authorization:e.authorization,state:t,thresholdSessionId:e.thresholdSessionId,...e.remainingUses==null?{}:{remainingUses:e.remainingUses},...e.expiresAtMs==null?{}:{expiresAtMs:e.expiresAtMs},...e.policyHint?{policyHint:e.policyHint}:{},...e.updatedAtMs==null?{}:{updatedAtMs:e.updatedAtMs}}}function v(e){let t=h(e);if(!t)throw Error(`[SigningSessionSelectLane] Ed25519 lane is not transaction-ready`);return _(e,t)}function y(e){let t=g(e);if(!t)throw Error(`[SigningSessionSelectLane] Ed25519 lane is not transaction-reauthable`);return _(e,t)}function b(e){return i({walletId:e.walletId,nearAccountId:e.nearAccountId,nearEd25519SigningKeyId:e.nearEd25519SigningKeyId,signerSlot:e.signerSlot,auth:e.auth,walletSessionId:e.authorization.operationCredential.walletSessionId,quotaId:e.authorization.session.quotaId,thresholdSessionId:e.thresholdSessionId})}function x(e){return{kind:`near_ed25519_transaction_ready_lane`,candidate:e.candidate,availableLane:v(e.lane),selectedLane:b(e.candidate),authorityKey:e.authorityKey}}function S(e){return{kind:`near_ed25519_transaction_reauth_lane`,candidate:e.candidate,availableLane:y(e.lane),selectedLane:b(e.candidate),authorityKey:e.authorityKey}}function C(e){if(!f(e)||e.authorizationState!==`authorized`)return null;let t=h(e),n=g(e);if(!t&&!n)return null;let r=m(e);if(!r)return null;let i=c({lane:e});return!i||i.authorizationState!==`authorized`?null:t?x({lane:e,candidate:i,authorityKey:r}):S({lane:e,candidate:i,authorityKey:r})}function w(e){if(e.curve===`ed25519`){if(e.authorizationState!==`authorized`||!e.authorization)throw Error(`[SigningSessionSelectLane] Ed25519 lane requires active authorization`);return i({walletId:e.walletId,nearAccountId:e.nearAccountId,nearEd25519SigningKeyId:e.nearEd25519SigningKeyId,signerSlot:e.signerSlot,auth:e.auth,walletSessionId:e.authorization.operationCredential.walletSessionId,quotaId:e.authorization.session.quotaId,thresholdSessionId:e.thresholdSessionId})}if(e.authorizationState!==`authorized`)throw Error(`[SigningSessionSelectLane] ECDSA lane requires active authorization`);return r({key:e.key,materialActivation:e.materialActivation,keyHandle:e.keyHandle,walletId:e.walletId,auth:e.auth,authorization:e.authorization,chainTarget:e.chainTarget})}function T(e){return[...new Set(e.map(e=>n(e.candidate)))].sort()}function E(e){switch(e.length){case 0:return null;case 1:{let[t]=e;return t||null}default:return null}}function D(e){let t=e.intent;return t.curve===`ed25519`&&t.chain===`near`?O({...e,intent:t}):t.curve===`ecdsa`?j({...e,intent:t}):{ok:!1,failure:{kind:`unsupported_intent`,curve:t.curve||`unknown`,chain:t.chain||`unknown`}}}function O(e){let t=A(e);if(!t.ok)return t;if(t.kind===`authorization_required`)return{ok:!1,failure:{kind:`no_candidate`,authMethod:n(t.candidate)}};let r=C(t.availableLane);if(!r)throw Error(`[SigningSessionSelectLane] authorized Ed25519 lane is not selectable`);return{ok:!0,lane:t.lane,candidate:t.candidate,availableLane:r.availableLane,selectionCandidate:r}}function k(e,t){if(e.candidate.walletId!==t.walletId||e.candidate.nearAccountId!==t.signerSelection.nearAccountId)return!1;switch(t.signerSelection.kind){case`near_account`:return!0;case`signer_slot`:return e.candidate.signerSlot===t.signerSelection.signerSlot}}function A(e){let t=e.intent,n=P(t,(e.availableLanes?.candidates.ed25519.near||[]).filter(f).map(e=>({availableLane:e,candidate:c({lane:e})})).filter(e=>e.candidate!==null).filter(e=>k(e,t)));if(!n.length)return{ok:!1,failure:t.authSelectionPolicy.kind===`any`?{kind:`no_candidate`}:{kind:`no_candidate`,authMethod:t.authSelectionPolicy.authMethod}};let r=E(n);if(!r)return{ok:!1,failure:{kind:`ambiguous_material`,allowedAuthMethods:T(n)}};if(r.candidate.authorizationState===`authorization_required`){if(r.availableLane.authorizationState!==`authorization_required`)throw Error(`[SigningSessionSelectLane] Ed25519 material authorization mismatch`);return{ok:!0,kind:`authorization_required`,candidate:r.candidate,availableLane:r.availableLane}}if(r.availableLane.authorizationState!==`authorized`)throw Error(`[SigningSessionSelectLane] Ed25519 material authorization mismatch`);return{ok:!0,kind:`authorized`,lane:b(r.candidate),candidate:r.candidate,availableLane:r.availableLane}}function j(e){let t=M(e);return t.ok?t.kind===`authorization_required`?{ok:!1,failure:{kind:`no_candidate`,authMethod:n(t.candidate)}}:{ok:!0,lane:t.lane,candidate:t.candidate,availableLane:t.availableLane,selectionCandidate:{candidate:t.candidate,availableLane:t.availableLane}}:t}function M(e){let t=e.intent,n=P(t,e.availableLanes?s(e.availableLanes,t.chainTarget).filter(p).map(e=>({availableLane:e,candidate:a({walletId:t.walletId,lane:e})})).filter(e=>e.candidate!==null):[]);if(!n.length)return{ok:!1,failure:t.authSelectionPolicy.kind===`any`?{kind:`no_candidate`}:{kind:`no_candidate`,authMethod:t.authSelectionPolicy.authMethod}};let r=E(n);return r?r.candidate.authorizationState===`authorization_required`?{ok:!0,kind:`authorization_required`,candidate:r.candidate,availableLane:r.availableLane}:{ok:!0,kind:`authorized`,lane:N({intent:t,candidate:r.candidate}),candidate:r.candidate,availableLane:r.availableLane}:{ok:!1,failure:{kind:`ambiguous_material`,allowedAuthMethods:T(n)}}}function N(e){if(!t(e.candidate.chainTarget,e.intent.chainTarget))throw Error(`[SigningSessionSelectLane] ECDSA available lane target mismatch`);return w(e.candidate)}function P(e,t){if(e.authSelectionPolicy.kind===`any`)return t;let r=e.authSelectionPolicy.authMethod;return t.filter(e=>n(e.candidate)===r)}function F(e){let t=D({intent:e.intent,availableLanes:e.availableLanes});return t.ok?{tag:`LaneSelected`,intent:e.intent,lane:t.lane,candidate:t.candidate,availableLane:t.availableLane,selectionCandidate:t.selectionCandidate}:{tag:`LaneSelectionFailed`,intent:e.intent,failure:t.failure}}async function I(t){let n=await t.lifecycleAdapter.prepare({...t.operation?{operation:t.operation}:{}});if(n.lane.curve!==n.readiness.readiness.curve)throw Error(`[SigningSession] prepared lane and readiness curves do not match`);let r={lane:n.lane,readiness:n.readiness.readiness,expiresAtMs:n.readiness.expiresAtMs,remainingUses:n.readiness.remainingUses,forceFreshAuth:t.forceFreshAuth||n.forceFreshAuth,sensitiveOperationPolicy:t.sensitiveOperationPolicy},i=await t.coordinator.resolveAuthPlanFromReadiness(r,t.onPlannerTrace);return{...t.operation?{operation:t.operation}:{},lane:n.lane,authMethod:e(n.lane.auth),signingSessionPlan:i.signingSessionPlan,readiness:i.readiness,expiresAtMs:i.expiresAtMs,remainingUses:i.remainingUses,availableLanesGeneration:Math.max(0,Math.floor(Number(n.availableLanesGeneration)||0)),metadata:n.metadata||{}}}function L(e,t){return{tag:`ReadinessClassified`,intent:e.intent,lane:e.lane,candidate:e.candidate,availableLane:e.availableLane,readiness:t}}function R(e){return{intent:e.intent,lane:e.lane,readiness:e.readiness}}async function z(e){let t=null,n=null,r=null,i=await I({intent:B(e.intent),lifecycleAdapter:{prepare:async r=>{let i=await e.lifecycleAdapter.prepare({intent:e.intent,...r.operation?{operation:r.operation}:{}});return t=i.transactionLane,n=i.transactionIntent||e.intent,{lane:i.lane,readiness:i.readiness,availableLanesGeneration:i.availableLanesGeneration,forceFreshAuth:i.forceFreshAuth,metadata:{...i.metadata||{},transactionLane:i.transactionLane,transactionOperation:null}}}},coordinator:e.coordinator,...e.operation?{operation:e.operation}:{},forceFreshAuth:e.forceFreshAuth,sensitiveOperationPolicy:e.sensitiveOperationPolicy,onPlannerTrace:e.onPlannerTrace});if(!t)throw Error(`[SigningSession] transaction prepare did not return a transaction lane`);return r={intent:n||e.intent,lane:t,readiness:V(i)},i.metadata.transactionOperation=r,{thresholdOperation:i,transactionOperation:r}}function B(e){return{kind:`transaction_sign`,chain:e.chain,curve:e.curve,walletId:String(e.walletId),reason:`transaction`}}function V(e){let t=e.readiness.status;return t===`ready`?{status:`ready`,remainingUses:Math.max(0,Math.floor(Number(e.remainingUses)||0)),expiresAtMs:Math.max(0,Math.floor(Number(e.expiresAtMs)||0))}:t===`missing_session`?{status:`status_unavailable`,reason:`missing_session`}:t===`expired`?{status:`expired`}:t===`exhausted`?{status:`exhausted`}:t===`auth_unavailable`?{status:`auth_unavailable`,reason:`auth_unavailable`}:t===`status_unavailable`?{status:`status_unavailable`,reason:`status_unavailable`}:t===`status_unknown`?{status:`status_unknown`,reason:`status_unknown`}:{status:`policy_blocked`,reason:t}}export{d as a,F as c,u as i,R as n,M as o,z as r,A as s,L as t};
|
|
@@ -2661,6 +2661,14 @@ var walletMessages = [
|
|
|
2661
2661
|
"ウォレットをロックできません。もう一度お試しください。"
|
|
2662
2662
|
],
|
|
2663
2663
|
["Unlocked on this device", "このデバイスでロック解除済み"],
|
|
2664
|
+
["Connected with Google", "Google で接続中"],
|
|
2665
|
+
["Wallet access", "ウォレットへのアクセス"],
|
|
2666
|
+
["Connected to your wallet", "ウォレットに接続しています"],
|
|
2667
|
+
["Method {value0}", "認証方法 {value0}"],
|
|
2668
|
+
[
|
|
2669
|
+
"Confirm with a wallet authentication method to make security changes.",
|
|
2670
|
+
"セキュリティ設定を変更するには、ウォレットの認証方法で本人確認してください。"
|
|
2671
|
+
],
|
|
2664
2672
|
["All settings", "すべての設定"],
|
|
2665
2673
|
["Locking…", "ロック中…"],
|
|
2666
2674
|
["Lock wallet", "ウォレットをロック"],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{C as e,S as t,s as n}from"./domainIds-t1lp25yU.js";import{d as r,h as i}from"./capabilityKinds-DVlGMspk.js";import{n as a}from"./signerDomain-
|
|
1
|
+
import{C as e,S as t,s as n}from"./domainIds-t1lp25yU.js";import{d as r,h as i}from"./capabilityKinds-DVlGMspk.js";import{n as a}from"./signerDomain-D-EUTlLK.js";function o(e){switch(e.kind){case a.passkey:return a.passkey;case a.emailOtp:return a.emailOtp;case`voiceid`:return`voiceid`}throw Error(`[SigningSession] unsupported signing lane auth binding`)}function s(e,t){let n=String(e||``).trim();if(!n)throw Error(`[SigningSession] ${t} is required for signing lane authority`);return n}function c(e){switch(e.kind){case`voiceid`:return[`voiceid`,e.walletAuthMethodId,e.deviceKeyId].join(`:`);case a.passkey:return[a.passkey,s(String(e.rpId),`passkey rpId`),s(e.credentialIdB64u,`passkey credential`)].join(`:`);case a.emailOtp:return[a.emailOtp,s(e.providerSubjectId,`Email OTP provider subject`)].join(`:`)}throw Error(`[SigningSession] unsupported signing lane auth binding`)}const l={TransactionSign:`transaction_sign`},u={Cached:`cached`,Reauth:`reauth`},d={WarmSession:`warm_session`,EmailOtpReauth:`email_otp_reauth`,PasskeyReauth:`passkey_reauth`,NotReady:`not_ready`,OperationStepUp:`operation_step_up`};function f(e,t){let n=String(e||``).trim();if(!n)throw Error(`[SigningSession] ${t} is required`);return n}function p(e,t){if(!e.ok)throw Error(`[SigningSession] ${e.error.message||`${t} is required`}`);return e.value}function m(e,t){if(!e.ok)throw Error(`[SigningSession] ${e.error.message||`${t} is required`}`);return e.value}const h={walletSession(e){return m(i(e),`walletSessionId`)},walletSessionQuota(e){return m(r(e),`quotaId`)},thresholdEd25519Session(t){return p(e(t),`thresholdEd25519SessionId`)},thresholdEcdsaSession(e){return p(t(e),`thresholdEcdsaSessionId`)},emailOtpChallenge(e){return p(n(e),`emailOtpChallengeId`)},signingOperation(e){return f(e,`signingOperationId`)},signingOperationFingerprint(e){return f(e,`signingOperationFingerprint`)}};function g(e){let t=e.identity.signer,n={authMethod:o(e.auth),curve:e.curve,keyKind:e.keyKind,chainFamily:e.chainFamily,sessionOrigin:e.sessionOrigin,storageSource:e.storageSource,retention:e.retention};switch(t.kind){case`evm_family_ecdsa_signer`:return{...n,curve:`ecdsa`,walletId:t.walletId};case`near_ed25519_signer`:return{...n,curve:`ed25519`,walletId:t.account.wallet.walletId,nearAccountId:t.account.nearAccountId,nearEd25519SigningKeyId:t.nearEd25519SigningKeyId}}}function _(e){return{kind:e.kind,lane:g(e.lane)}}export{g as a,o as c,d as i,l as n,_ as o,h as r,c as s,u as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{C as e,E as t,a as n,k as r}from"./domainIds-t1lp25yU.js";import{S as i,g as a,w as o}from"./digests-BIaE0DMd.js";import{N as s,X as c}from"./activeWalletSession-BJ4B-nJo.js";import{h as l}from"./capabilityKinds-DVlGMspk.js";import{
|
|
1
|
+
import{C as e,E as t,a as n,k as r}from"./domainIds-t1lp25yU.js";import{S as i,g as a,w as o}from"./digests-BIaE0DMd.js";import{N as s,X as c}from"./activeWalletSession-BJ4B-nJo.js";import{h as l}from"./capabilityKinds-DVlGMspk.js";import{t as u}from"./accountIds-DGWFzEnw.js";import{E as d,x as f}from"./registrationIntent-C1-Kyx_-.js";import{X as p,q as m}from"./walletAuthority-DbGaSw7D.js";import{Nt as h}from"./digestEncoding-34kXJoJr.js";function g(e,t){if(typeof e!=`number`||!Number.isSafeInteger(e)||e<1)throw Error(`${t} must be a positive integer`);return e}function _(t,n){let r=e(t);if(!r.ok)throw Error(`${n} is invalid`);return r.value}function v(e,t){if(!Array.isArray(e)||e.length!==32)throw Error(`${t} must contain exactly 32 bytes`);let n=[];for(let r of e){if(typeof r!=`number`||!Number.isInteger(r)||r<0||r>255)throw Error(`${t} must contain exactly 32 bytes`);n.push(r)}return Object.freeze(n)}function y(e,t){if(!Array.isArray(e)||e.length===0)throw Error(`${t} must contain bytes`);return e.map(e=>{if(typeof e!=`number`||!Number.isInteger(e)||e<0||e>255)throw Error(`${t} must contain bytes`);return e})}function b(e){if(!Array.isArray(e)||e.length!==2||!Number.isSafeInteger(e[0])||!Number.isSafeInteger(e[1])||e[0]<1||e[1]<1||e[0]===e[1])throw Error(`participantIds must contain two distinct positive integers`);return[Number(e[0]),Number(e[1])]}function x(e){let t=i(e,`capability.registrationContinuity`);if(t.kind===`recovery`)return{kind:`recovery`,activationTranscript:y(t.activationTranscript,`capability.registrationContinuity.activationTranscript`)};if(t.kind!==`registration`)throw Error(`capability.registrationContinuity kind is invalid`);let n=p(t.admissionRequest),r=m(t.admissionReceipt);if(!n.ok)throw Error(`capability registration continuity transcript is invalid: ${n.message}`);if(!r.ok)throw Error(`capability registration continuity transcript is invalid: ${r.message}`);return{kind:`registration`,admissionRequest:n.value,admissionReceipt:r.value,activationTranscript:y(t.activationTranscript,`capability.registrationContinuity.activationTranscript`)}}function S(e){let t=i(e,`capability`);if(t.kind!==`router_ab_ed25519_yao_active_capability_v1`)throw Error(`Yao recovery capability kind is invalid`);let n=i(t.applicationBinding,`capability.applicationBinding`),r=i(t.lifecycle,`capability.lifecycle`),a;try{a=h(t.materialActivation)}catch(e){throw Error(`capability.materialActivation is invalid: ${e instanceof Error?e.message:String(e)}`)}return{materialActivation:a,activeCapabilityBinding:v(t.activeCapabilityBinding,`capability.activeCapabilityBinding`),registeredPublicKey:v(t.registeredPublicKey,`capability.registeredPublicKey`),nearAccountId:u(o(t.nearAccountId,`capability.nearAccountId`)),applicationBinding:{wallet_id:o(n.wallet_id,`applicationBinding.wallet_id`),near_ed25519_signing_key_id:o(n.near_ed25519_signing_key_id,`applicationBinding.near_ed25519_signing_key_id`),signing_root_id:o(n.signing_root_id,`applicationBinding.signing_root_id`),key_creation_signer_slot:g(n.key_creation_signer_slot,`applicationBinding.key_creation_signer_slot`)},participantIds:b(t.participantIds),runtimePolicyScope:c(i(t.runtimePolicyScope,`capability.runtimePolicyScope`)),lifecycle:{lifecycleId:o(r.lifecycleId,`lifecycle.lifecycleId`),rootShareEpoch:o(r.rootShareEpoch,`lifecycle.rootShareEpoch`),accountId:o(r.accountId,`lifecycle.accountId`),thresholdSessionId:_(o(r.thresholdSessionId,`lifecycle.thresholdSessionId`),`lifecycle.thresholdSessionId`),signerSetId:o(r.signerSetId,`lifecycle.signerSetId`),signingWorkerId:o(r.signingWorkerId,`lifecycle.signingWorkerId`)},stateEpoch:g(t.stateEpoch,`capability.stateEpoch`),registrationContinuity:x(t.registrationContinuity)}}function C(e,t){return e.requestWorkerOperation(t)}function w(e,t,n){return e.requestOperation({kind:`walletCustodyCeremony`,request:{type:t,payload:n}})}function T(e){return w.bind(void 0,e)}let E=null,D=null,O=null,k=null;function A(e){k=e}function j(e){let t=k;if(!t||e.kind!==`unlocked_wallet_ed25519_export_root_capability_v1`)return;let n=e.upgradedEnvelope;if(n!==void 0)try{t({walletId:e.walletId,walletAuthMethodId:e.walletAuthMethodId,walletSessionId:e.walletSessionId,envelope:n})}catch(e){console.warn(`[walletCustody] the upgraded custody envelope was not forwarded:`,e instanceof Error?e.message:String(e||`unknown error`))}}function M(e){return{requestOperation:C.bind(void 0,e)}}function N(){O!==null&&(clearTimeout(O),O=null)}function P(){N(),E=null,D=null}function F(e,t){N();let n=Math.max(0,e.expiresAtMs-Date.now());O=setTimeout(()=>{if(O=null,!(E!==e||D!==t)){if(e.expiresAtMs>Date.now()){F(e,t);return}H(t,{kind:`capability`,capabilityHandleId:e.capabilityHandleId})}},Math.min(n,2147483647))}function I(e){if(!a(e))return null;if(e.kind===`unlocked_linked_device_ed25519_client_root_capability_v1`)return L(e);let i=Object.keys(e),o=i.includes(`upgradedEnvelope`),c=o?[`kind`,`capabilityHandleId`,`walletId`,`walletAuthMethodId`,`walletSessionId`,`expiresAtMs`,`upgradedEnvelope`]:[`kind`,`capabilityHandleId`,`walletId`,`walletAuthMethodId`,`walletSessionId`,`expiresAtMs`];if(i.length!==c.length||i.some(e=>!c.includes(e))||e.kind!==`unlocked_wallet_ed25519_export_root_capability_v1`)return null;let u=n(e.capabilityHandleId),d=r(e.walletId),p=t(e.walletAuthMethodId),m=l(e.walletSessionId);if(!u.ok||!d.ok||!p.ok||!m.ok)return null;let h;try{h=s(e.expiresAtMs,`unlocked Ed25519 export-root capability expiry`)}catch{return null}let g;if(o)try{g=f(e.upgradedEnvelope)}catch{}return{kind:`unlocked_wallet_ed25519_export_root_capability_v1`,capabilityHandleId:u.value,walletId:d.value,walletAuthMethodId:p.value,walletSessionId:m.value,expiresAtMs:h,...g?{upgradedEnvelope:g}:{}}}function L(e){let i=[`kind`,`capabilityHandleId`,`walletId`,`walletAuthMethodId`,`walletSessionId`,`expiresAtMs`],a=Object.keys(e);if(a.length!==i.length||a.some(e=>!i.includes(e)))return null;let o=n(e.capabilityHandleId),c=r(e.walletId),u=t(e.walletAuthMethodId),d=l(e.walletSessionId);if(!o.ok||!c.ok||!u.ok||!d.ok)return null;let f;try{f=s(e.expiresAtMs,`unlocked Ed25519 Client-root capability expiry`)}catch{return null}return{kind:`unlocked_linked_device_ed25519_client_root_capability_v1`,capabilityHandleId:o.value,walletId:c.value,walletAuthMethodId:u.value,walletSessionId:d.value,expiresAtMs:f}}async function R(e,t){let n=t.existingEnvelope.binding;if(!d(n)&&n.kind!==`ed25519_yao_client_root_v1`)return;let r=t.existingFactorSecret.slice(),i;try{i=await e.requestOperation({kind:`walletCustodyCeremony`,request:{type:`establishUnlockedWalletEd25519ExportRootCapability`,payload:{existingEnvelope:t.existingEnvelope,existingFactorSecret:r.buffer,walletId:t.walletId,walletAuthMethodId:t.walletAuthMethodId,walletSessionId:t.walletSessionId,expiresAtMs:t.expiresAtMs},transfer:[r.buffer]}})}finally{r.byteLength>0&&r.fill(0)}let a=I(i);if(a===null)throw Error(`unlocked Ed25519 export-root capability worker returned no reference`);return N(),E=a,D=e,F(a,e),j(a),a}function z(e){let t=B(e);return t?.kind===`unlocked_wallet_ed25519_export_root_capability_v1`?t:void 0}function B(e){let t=E;if(t&&t.walletId===e){if(t.expiresAtMs<=Date.now()){let e=D;e?H(e,{kind:`capability`,capabilityHandleId:t.capabilityHandleId}):P();return}return t}}function V(){P()}async function H(e,t){let n=E;n!==null&&(t.kind===`all`||t.kind===`capability`&&t.capabilityHandleId===n.capabilityHandleId||t.kind===`wallet`&&t.walletId===n.walletId||t.kind===`wallet_session`&&t.walletSessionId===n.walletSessionId)&&P();try{await e.requestOperation({kind:`walletCustodyCeremony`,request:{type:`destroyUnlockedWalletEd25519ExportRootCapabilities`,payload:{scope:t}}})}catch{}}export{z as a,C as c,B as i,T as l,V as n,A as o,R as r,M as s,H as t,S as u};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{E as e,P as t,i as n,k as r,t as i,y as a}from"./domainIds-t1lp25yU.js";import{S as o,g as s,p as c,t as l}from"./digests-BIaE0DMd.js";import{c as u,l as d,o as f,u as p}from"./participants-BXdREC5k.js";import{i as m,r as h}from"./base64-BmKR3UqU.js";import{r as g}from"./secureRandomId-8LSc91aN.js";import"./walletDbName-Ca0rCq5r.js";import{A as _,F as v,J as y,L as b,V as x,i as S,n as C}from"./activeWalletSession-BJ4B-nJo.js";import{a as w}from"./chains-B72I4PDH.js";import"./signingSessionSeal-BFOBKj-J.js";import{r as T}from"./configuration-
|
|
1
|
+
import{E as e,P as t,i as n,k as r,t as i,y as a}from"./domainIds-t1lp25yU.js";import{S as o,g as s,p as c,t as l}from"./digests-BIaE0DMd.js";import{c as u,l as d,o as f,u as p}from"./participants-BXdREC5k.js";import{i as m,r as h}from"./base64-BmKR3UqU.js";import{r as g}from"./secureRandomId-8LSc91aN.js";import"./walletDbName-Ca0rCq5r.js";import{A as _,F as v,J as y,L as b,V as x,i as S,n as C}from"./activeWalletSession-BJ4B-nJo.js";import{a as w}from"./chains-B72I4PDH.js";import"./signingSessionSeal-BFOBKj-J.js";import{r as T}from"./configuration-BAad7ngq.js";import{i as E,t as D}from"./transactionReview-CGIlI835.js";import"./capabilityKinds-DVlGMspk.js";import{a as O,r as k}from"./canonicalPrimitives-Jd3i_Ngz.js";import{s as A}from"./errors-BJBDbwHk.js";import"./signerDomain-D-EUTlLK.js";import"./accountIds-DGWFzEnw.js";import{t as j}from"./actions-7SvZZut1.js";import{r as M,v as N}from"./icons-pSZJ5Xrm.js";import{t as P}from"./surface-measurement-reporter-DJ_dQhBV.js";import{n as F,t as I}from"./csp-stylesheet-5LU6VGKK.js";import{T as L,_ as R,b as z,h as B,m as V,v as H,x as U}from"./registrationIntent-C1-Kyx_-.js";import{a as W}from"./presignatures-CkhuZ0YQ.js";import{h as G}from"./device-linking-_o3_fgiG.js";import"./walletAuthority-DbGaSw7D.js";import"./digestEncoding-34kXJoJr.js";import{a as K,c as q,o as J,r as Y,s as X}from"./walletAuthMethodRecord-BW-XV4fv.js";import"./signerSlot-BlijMq8C.js";import{a as Z,o as Q,s as $,t as ee}from"./indexedDB-CA4tGqkr.js";import"./keccak-DGHI1G6t.js";import"./registrationSignerPlan-CeMidFme.js";import"./walletCapabilityBindings-mPx-6_r-.js";import"./emailOtpEcdsaDerivationIdentity-Qd4pBwHv.js";import{o as te}from"./walletSessionAuthorizationStore-BivTUoKY.js";import{a as ne,i as re,n as ie,t as ae,u as oe}from"./resealedEnvelopeResult-DXDo-72P.js";import{n as se}from"./walletSessionAuthorizationStatus-GhcGvDCX.js";import{i as ce,n as le}from"./evmCryptoWasm-CeH6Qeaa.js";import{a as ue,s as de,u as fe}from"./unlockedEd25519ExportRootCapability-5F1egCSv.js";import{t as pe}from"./SeamsWordmark-CeEi2RlU.js";var me=class{promise;resolveValue=null;rejectValue=null;constructor(){this.promise=new Promise(this.capture)}resolve(e){if(!this.resolveValue)throw Error(`Worker deferred resolver is unavailable`);this.resolveValue(e)}reject(e){if(!this.rejectValue)throw Error(`Worker deferred rejecter is unavailable`);this.rejectValue(e)}capture=(e,t)=>{this.resolveValue=e,this.rejectValue=t}};const he=3;export{j as ActionType,ee as IndexedDBManager,W as SEAMS_WALLET_STORES,pe as SeamsWordmark,D as TransactionReviewError,he as VOICE_ID_HOST_API_VERSION,me as WorkerDeferred,i as allocateWalletAuthMethodId,l as alphabetizeStringify,N as authMenuSuccessCopy,ie as availabilityKey,M as backIcon,h as base64UrlDecode,m as base64UrlEncode,v as buildDelegatedWalletAuthorityV1,b as buildFullOwnerPermissionsV1,V as buildMethodBoundEnvelopeOwnership,B as buildPasskeyCustodyEnvelopeRecord,f as buildRelayerJsonPostRequestInit,R as buildVoiceIdEnvelopeFactor,L as buildWalletCustodySeedBinding,u as buildWalletSessionAuthorizationHeaders,le as buildWebauthnP256SignatureWasm,I as createCspStylesheetManager,se as createRelayerExactWalletSessionStatusPort,P as createWalletIframeSurfaceMeasurementReporter,H as custodyEnvelopeBindingJsonV1,ce as decodeCoseP256PublicKeyWasm,d as fetchWithWalletHomeDiscovery,F as getDefaultCspNonce,c as isFiniteNumber,s as isPlainObject,z as isVoiceIdSeedEnvelope,t as joinNormalizedUrl,n as mpcMaterialActivationRefsEqual,p as normalizeRelayerBaseUrl,C as parseActiveWalletSessionV1,k as parseDigestB64u,fe as parseEd25519YaoRecoveryCapabilityV1,_ as parseEnvelopeRevision,G as parseLinkedDeviceListResultV1,U as parsePasskeyCustodyEnvelopeRecord,a as parsePasskeyEnvelopeId,ae as parseResealedEnvelopeResult,re as parseStoredAuthMethodAvailability,E as parseTransactionReviewWire,K as parseVoiceIdDeviceAssertion,J as parseVoiceIdDevicePublicKeyB64u,X as parseVoiceIdWalletSessionChallenge,e as parseWalletAuthMethodId,Y as parseWalletAuthMethodRecordV2,Z as parseWalletAuthMethodV2StorageRow,Q as parseWalletAuthorityStorageRow,r as parseWalletId,$ as parseWalletSelectionStorageRow,S as parseWalletSessionOperationCredentialV1,ne as readAuthMethodEnabled,ue as readUnlockedWalletEd25519ExportRootCapabilityV1,y as rejectUnknownFields,o as requireRecord,w as resolveNearNetwork,x as sameDelegatedWalletAuthorityV1,g as secureRandomId,O as sha256DigestB64u,A as toError,q as voiceIdWalletSessionChallengeBytes,de as walletCustodyCeremonyTransportFromWorkerContextV1,oe as walletForHostRequest,T as walletHostExecutionFingerprint,te as walletSessionAuthorizations};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./walletDbName-Ca0rCq5r.js";import"./activeWalletSession-BJ4B-nJo.js";import"./signingSessionSeal-BFOBKj-J.js";import{t as e}from"./host-
|
|
1
|
+
import"./walletDbName-Ca0rCq5r.js";import"./activeWalletSession-BJ4B-nJo.js";import"./signingSessionSeal-BFOBKj-J.js";import{t as e}from"./host-BeE2dIU4.js";import"./capabilityKinds-DVlGMspk.js";import"./errors-BJBDbwHk.js";import"./signerDomain-D-EUTlLK.js";import"./accountIds-DGWFzEnw.js";e({supportedRuntimeRouteKinds:new Set([`auth`,`ecdsa`,`email_otp`,`export`,`recovery`,`preferences`])});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./walletDbName-Ca0rCq5r.js";import"./activeWalletSession-BJ4B-nJo.js";import"./signingSessionSeal-BFOBKj-J.js";import{t as e}from"./host-
|
|
1
|
+
import"./walletDbName-Ca0rCq5r.js";import"./activeWalletSession-BJ4B-nJo.js";import"./signingSessionSeal-BFOBKj-J.js";import{t as e}from"./host-BeE2dIU4.js";import"./capabilityKinds-DVlGMspk.js";import"./errors-BJBDbwHk.js";import"./signerDomain-D-EUTlLK.js";import"./accountIds-DGWFzEnw.js";e();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./walletDbName-Ca0rCq5r.js";import"./activeWalletSession-BJ4B-nJo.js";import"./signingSessionSeal-BFOBKj-J.js";import{t as e}from"./host-
|
|
1
|
+
import"./walletDbName-Ca0rCq5r.js";import"./activeWalletSession-BJ4B-nJo.js";import"./signingSessionSeal-BFOBKj-J.js";import{t as e}from"./host-BeE2dIU4.js";import"./capabilityKinds-DVlGMspk.js";import"./errors-BJBDbwHk.js";import"./signerDomain-D-EUTlLK.js";import"./accountIds-DGWFzEnw.js";e({supportedRuntimeRouteKinds:new Set([`auth`,`near`,`export`,`device_link`,`recovery`,`preferences`])});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./walletDbName-Ca0rCq5r.js";import"./activeWalletSession-BJ4B-nJo.js";import"./signingSessionSeal-BFOBKj-J.js";import{t as e}from"./host-
|
|
1
|
+
import"./walletDbName-Ca0rCq5r.js";import"./activeWalletSession-BJ4B-nJo.js";import"./signingSessionSeal-BFOBKj-J.js";import{t as e}from"./host-BeE2dIU4.js";import"./capabilityKinds-DVlGMspk.js";import"./errors-BJBDbwHk.js";import"./signerDomain-D-EUTlLK.js";import"./accountIds-DGWFzEnw.js";export{e as initWalletIFrame};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{k as e}from"./domainIds-t1lp25yU.js";import{S as t,n}from"./digests-BIaE0DMd.js";import{i as r,r as i}from"./base64-BmKR3UqU.js";import{E as a,J as o,O as s,k as c}from"./activeWalletSession-BJ4B-nJo.js";import{a as l,r as u}from"./canonicalPrimitives-Jd3i_Ngz.js";import{M as d,N as f}from"./indexedDB-
|
|
1
|
+
import{k as e}from"./domainIds-t1lp25yU.js";import{S as t,n}from"./digests-BIaE0DMd.js";import{i as r,r as i}from"./base64-BmKR3UqU.js";import{E as a,J as o,O as s,k as c}from"./activeWalletSession-BJ4B-nJo.js";import{a as l,r as u}from"./canonicalPrimitives-Jd3i_Ngz.js";import{M as d,N as f}from"./indexedDB-CA4tGqkr.js";const p=/^wallet-rkid-v1-[A-Za-z0-9_-]{43}$/;function m(e,t=`recoveryKeyId`){if(typeof e!=`string`||!p.test(e))throw Error(`${t} must be a derived wallet recovery key id`);return e}function h(){let e=[],t=[];for(let n=0;n<10;n+=1){let n=_();t.push(n),e.push(f(d(n)))}return{codes:e,codeBytes:t}}function g(e){for(let t of e.codeBytes)t.fill(0)}function _(){let e=globalThis.crypto;if(!e?.getRandomValues)throw Error(`a secure random source is required to issue wallet recovery codes`);return e.getRandomValues(new Uint8Array(20))}function v(e,t=`recoveryCodeLocator`){try{return u(e)}catch(e){throw Error(`${t} ${e instanceof Error?e.message:`must be a canonical digest`}`)}}async function y(e){if(!(e instanceof Uint8Array)||e.length!==20)throw Error(`recovery code bytes must be exactly 20 bytes`);let t=null;try{let i=new TextEncoder().encode(`seams/wallet-recovery/code-locator/v1`);t=new Uint8Array(8+i.length+e.length);let a=new DataView(t.buffer);return a.setUint32(0,i.length,!1),t.set(i,4),a.setUint32(4+i.length,e.length,!1),t.set(e,8+i.length),v(r(await n(t)))}finally{t?.fill(0)}}function b(e){return{custodySecretKind:`wallet_custody_seed_v1`,nonceB64u:e.nonceB64u,wrappedCustodySecretB64u:e.wrappedCustodySecretB64u,aadHashB64u:e.aadHashB64u}}function x(n,r){let i=r.label||`walletRecoverySetRotation`,l=t(n,i);o(l,w,i);let u=e(l.walletId);if(!u.ok)throw Error(`${i}.walletId ${u.error.message}`);if(String(u.value)!==String(r.expectedWalletId))throw Error(`${i}.walletId is outside the authenticated wallet`);if(!Array.isArray(l.manifestKekWraps))throw Error(`${i}.manifestKekWraps must be an array`);if(l.manifestKekWraps.length!==10)throw Error(`${i}.manifestKekWraps must carry exactly 10 recovery-code wraps`);let d=l.manifestKekWraps.map((e,n)=>{let r=t(e,`${i}.manifestKekWraps[${n}]`);return o(r,C,`${i}.manifestKekWraps[${n}]`),{recoveryKeyId:m(r.recoveryKeyId,`${i}.manifestKekWraps[${n}].recoveryKeyId`),nonceB64u:c(r.nonceB64u,`${i}.manifestKekWraps[${n}].nonceB64u`),ciphertextB64u:s(r.ciphertextB64u,`${i}.manifestKekWraps[${n}].ciphertextB64u`),aadHashB64u:a(r.aadHashB64u,`${i}.manifestKekWraps[${n}].aadHashB64u`)}}),f=new Set;for(let e of d){let t=String(e.recoveryKeyId);if(!f.add(t))throw Error(`${i} contains duplicate recovery key ids`)}if(!Array.isArray(l.entries)||l.entries.length!==1)throw Error(`${i}.entries must carry exactly one wallet custody seed entry`);let p=T(l.entries[0],`${i}.entries[0]`);return{walletId:u.value,manifestKekWraps:d,entry:p}}const S=[`custodySecretKind`,`nonceB64u`,`wrappedCustodySecretB64u`,`aadHashB64u`],C=[`recoveryKeyId`,`nonceB64u`,`ciphertextB64u`,`aadHashB64u`],w=[`walletId`,`manifestKekWraps`,`entries`];function T(e,n){let r=t(e,n);if(o(r,S,n),r.custodySecretKind!==`wallet_custody_seed_v1`)throw Error(`${n}.custodySecretKind must be wallet_custody_seed_v1; lane holder shares are reprovisioned, not recovered`);return b({nonceB64u:c(r.nonceB64u,`${n}.nonceB64u`),wrappedCustodySecretB64u:s(r.wrappedCustodySecretB64u,`${n}.wrappedCustodySecretB64u`),aadHashB64u:a(r.aadHashB64u,`${n}.aadHashB64u`)})}function E(e,t){if(!e||typeof e!=`object`||Array.isArray(e))throw Error(`${t} must be an object`);return e}function D(e,t){let n=typeof e==`string`?e.trim():``;if(!n)throw Error(`${t} is required`);return n}function O(e){let t=E(e,`rotation worker result`);if(!Array.isArray(t.recoveryManifestKekWraps)||t.recoveryManifestKekWraps.length!==10)throw Error(`rotation worker result must contain exactly 10 recovery wraps`);return{walletId:D(t.walletId,`rotation worker walletId`),recoveryManifestKekWraps:t.recoveryManifestKekWraps.map((e,t)=>{let n=E(e,`rotation worker wrap ${t}`);return{recoveryKeyId:D(n.recoveryKeyId,`rotation worker wrap ${t} recoveryKeyId`),nonceB64u:D(n.nonceB64u,`rotation worker wrap ${t} nonceB64u`),ciphertextB64u:D(n.ciphertextB64u,`rotation worker wrap ${t} ciphertextB64u`),aadHashB64u:D(n.aadHashB64u,`rotation worker wrap ${t} aadHashB64u`)}}),recoveryEntryNonceB64u:D(t.recoveryEntryNonceB64u,`rotation worker recoveryEntryNonceB64u`),recoveryEntryCiphertextB64u:D(t.recoveryEntryCiphertextB64u,`rotation worker recoveryEntryCiphertextB64u`),recoveryEntryAadHashB64u:D(t.recoveryEntryAadHashB64u,`rotation worker recoveryEntryAadHashB64u`)}}function k(t){let n=O(t),r=e(n.walletId);if(!r.ok)throw Error(`rotation worker wallet id is invalid: ${r.error.message}`);let i={custodySecretKind:`wallet_custody_seed_v1`,nonceB64u:c(n.recoveryEntryNonceB64u,`rotation.entry.nonceB64u`),wrappedCustodySecretB64u:s(n.recoveryEntryCiphertextB64u,`rotation.entry.wrappedCustodySecretB64u`),aadHashB64u:a(n.recoveryEntryAadHashB64u,`rotation.entry.aadHashB64u`)};return x({walletId:r.value,manifestKekWraps:n.recoveryManifestKekWraps.map(e=>({recoveryKeyId:m(e.recoveryKeyId,`rotation.recoveryKeyId`),nonceB64u:c(e.nonceB64u,`rotation.wrap.nonceB64u`),ciphertextB64u:s(e.ciphertextB64u,`rotation.wrap.ciphertextB64u`),aadHashB64u:a(e.aadHashB64u,`rotation.wrap.aadHashB64u`)})),entries:[i]},{expectedWalletId:r.value,label:`rotation.workerResult`})}const A=`secp256k1_bip340_sha256_v1`;function j(e,t,n){let r=new Set(n);for(let n of Object.keys(e))if(!r.has(n))throw Error(`${t}.${n} is not a supported field`);for(let r of n)if(!Object.hasOwn(e,r))throw Error(`${t}.${r} is required`)}function M(e,t){if(typeof e!=`string`||e.length===0||e.trim()!==e)throw Error(`${t} must be a non-empty canonical identifier`);for(let n=0;n<e.length;n+=1){let r=e.charCodeAt(n);if(r<33||r>126)throw Error(`${t} must contain visible ASCII bytes`)}return e}function N(e){return e.startsWith(`evm_family_ecdsa:`)&&e.length>17}function P(e,t){let n=M(e,t);if(!N(n))throw Error(`${t} must identify an ECDSA key set`);return n}function F(e,t){try{return u(e)}catch{throw Error(`${t} must be canonical base64url for 32 bytes`)}}function I(e,t){if(typeof e!=`string`||!/^[A-Za-z0-9_-]+$/.test(e))throw Error(`${t} must be canonical base64url`);let n;try{n=i(e)}catch{throw Error(`${t} must be valid base64url`)}if(n.length!==33||n[0]!==2&&n[0]!==3||r(n)!==e)throw Error(`${t} must be canonical compressed secp256k1 public key bytes`);return e}function L(e,t){if(typeof e!=`number`||!Number.isSafeInteger(e)||e<=0)throw Error(`${t} must be a positive safe integer`);return e}function R(e,t){if(typeof e!=`string`||!/^[A-Za-z0-9_-]+$/.test(e))throw Error(`${t} must be canonical base64url`);let n;try{n=i(e)}catch{throw Error(`${t} must be valid base64url`)}if(n.length!==64||r(n)!==e)throw Error(`${t} must be canonical base64url for 64 bytes`);return e}function z(e){let n=t(e,`walletRecoveryEcdsaPossessionChallenge`);if(j(n,`walletRecoveryEcdsaPossessionChallenge`,[`kind`,`walletId`,`reservationId`,`replacementId`,`keySetId`,`keyHandle`,`recordedKeyManifestDigestB64u`,`publicCapabilityDigestB64u`,`authorityRefDigestB64u`,`derivationClientSharePublicKey33B64u`,`expectedServerGeneration`,`expiresAtMs`,`serverNonceB64u`]),n.kind!==`wallet_recovery_ecdsa_possession_challenge_v1`)throw Error(`walletRecoveryEcdsaPossessionChallenge.kind is invalid`);let r=P(n.keySetId,`walletRecoveryEcdsaPossessionChallenge.keySetId`);return{kind:`wallet_recovery_ecdsa_possession_challenge_v1`,walletId:M(n.walletId,`walletRecoveryEcdsaPossessionChallenge.walletId`),reservationId:M(n.reservationId,`walletRecoveryEcdsaPossessionChallenge.reservationId`),replacementId:M(n.replacementId,`walletRecoveryEcdsaPossessionChallenge.replacementId`),keySetId:r,keyHandle:M(n.keyHandle,`walletRecoveryEcdsaPossessionChallenge.keyHandle`),recordedKeyManifestDigestB64u:F(n.recordedKeyManifestDigestB64u,`walletRecoveryEcdsaPossessionChallenge.recordedKeyManifestDigestB64u`),publicCapabilityDigestB64u:F(n.publicCapabilityDigestB64u,`walletRecoveryEcdsaPossessionChallenge.publicCapabilityDigestB64u`),authorityRefDigestB64u:F(n.authorityRefDigestB64u,`walletRecoveryEcdsaPossessionChallenge.authorityRefDigestB64u`),derivationClientSharePublicKey33B64u:I(n.derivationClientSharePublicKey33B64u,`walletRecoveryEcdsaPossessionChallenge.derivationClientSharePublicKey33B64u`),expectedServerGeneration:M(n.expectedServerGeneration,`walletRecoveryEcdsaPossessionChallenge.expectedServerGeneration`),expiresAtMs:L(n.expiresAtMs,`walletRecoveryEcdsaPossessionChallenge.expiresAtMs`),serverNonceB64u:F(n.serverNonceB64u,`walletRecoveryEcdsaPossessionChallenge.serverNonceB64u`)}}function B(e){let n=t(e,`walletRecoveryEcdsaPossessionProof`);if(j(n,`walletRecoveryEcdsaPossessionProof`,[`kind`,`scheme`,`signature64B64u`]),n.kind!==`wallet_recovery_ecdsa_possession_proof_v1`)throw Error(`walletRecoveryEcdsaPossessionProof.kind is invalid`);if(n.scheme!==A)throw Error(`walletRecoveryEcdsaPossessionProof.scheme is invalid`);return{kind:`wallet_recovery_ecdsa_possession_proof_v1`,scheme:A,signature64B64u:R(n.signature64B64u,`walletRecoveryEcdsaPossessionProof.signature64B64u`)}}function V(e){let t=z(e),n=[`seams/wallet-recovery/ecdsa-existing-material-possession/v1`,A,t.walletId,t.reservationId,t.replacementId,t.keySetId,t.keyHandle,i(t.recordedKeyManifestDigestB64u),i(t.publicCapabilityDigestB64u),i(t.authorityRefDigestB64u),i(t.derivationClientSharePublicKey33B64u),t.expectedServerGeneration,i(t.serverNonceB64u),H(t.expiresAtMs)],r=[];for(let e of n){let t=typeof e==`string`?new TextEncoder().encode(e):e,n=t.length;if(n>4294967295)throw Error(`wallet recovery possession field is too large`);r.push(n>>>24&255,n>>>16&255,n>>>8&255,n&255,...t)}return Uint8Array.from(r)}function H(e){let t=BigInt(e),n=new Uint8Array(8);for(let e=n.length-1;e>=0;--e)n[e]=Number(t&255n),t>>=8n;return n}async function U(e){return l(V(e))}export{T as a,g as c,k as i,B as n,y as o,U as r,h as s,z as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{E as e,M as t,N as n,O as r,k as i}from"./domainIds-t1lp25yU.js";import{g as a,t as o}from"./digests-BIaE0DMd.js";import{i as s,r as c}from"./base64-BmKR3UqU.js";import{g as l}from"./capabilityKinds-DVlGMspk.js";import{o as u,r as d}from"./canonicalPrimitives-Jd3i_Ngz.js";import{i as f,t as p}from"./registrationAuthMethodInput-BR1WVbK3.js";function m(e){if(typeof e!=`string`)throw Error(`VoiceID public key is invalid`);let t=c(e);if(t.length!==32||s(t)!==e)throw Error(`VoiceID public key must be canonical Ed25519 bytes`);return e}function h(e,t){if(Object.keys(e).length!==t.length)return!1;for(let n of t)if(!Object.hasOwn(e,n))return!1;return!0}function g(e,t){if(typeof e!=`string`)throw Error(`${t} must be an origin`);let n,r;try{let t=new URL(e);n=t.origin,r=t.protocol}catch{throw Error(`${t} must be an origin`)}if(n!==e||r!==`http:`&&r!==`https:`)throw Error(`${t} must be a canonical HTTP origin`);return n}function _(e,t){if(!Number.isSafeInteger(e)||!Number.isSafeInteger(t)||Number(e)<=0||Number(t)<=Number(e)||Number(t)-Number(e)>6e4)throw Error(`VoiceID challenge has an invalid validity window`)}function v(e){return _(e.issuedAtMs,e.expiresAtMs),g(e.requestOrigin,`VoiceID requestOrigin`),g(e.audience,`VoiceID audience`),{kind:`voiceid_wallet_session_challenge_v1`,walletId:e.walletId,walletAuthMethodId:e.walletAuthMethodId,walletAuthorityId:e.walletAuthorityId,deviceKeyId:e.deviceKeyId,challengeId:e.challengeId,nonce:e.nonce,requestOrigin:e.requestOrigin,audience:e.audience,issuedAtMs:e.issuedAtMs,expiresAtMs:e.expiresAtMs}}function y(t){if(!a(t)||!h(t,[`kind`,`walletId`,`walletAuthMethodId`,`walletAuthorityId`,`deviceKeyId`,`challengeId`,`nonce`,`requestOrigin`,`audience`,`issuedAtMs`,`expiresAtMs`])||t.kind!==`voiceid_wallet_session_challenge_v1`)throw Error(`Invalid VoiceID Wallet Session challenge`);let n=i(t.walletId),o=e(t.walletAuthMethodId),s=r(t.walletAuthorityId),c=l(t.challengeId);if(!n.ok||!o.ok||!s.ok||!c.ok)throw Error(`VoiceID challenge identity is invalid`);if(typeof t.issuedAtMs!=`number`||typeof t.expiresAtMs!=`number`)throw Error(`VoiceID challenge times must be numbers`);return v({walletId:n.value,walletAuthMethodId:o.value,walletAuthorityId:s.value,deviceKeyId:d(t.deviceKeyId),challengeId:c.value,nonce:d(t.nonce),requestOrigin:g(t.requestOrigin,`VoiceID requestOrigin`),audience:g(t.audience,`VoiceID audience`),issuedAtMs:t.issuedAtMs,expiresAtMs:t.expiresAtMs})}function b(e){if(!a(e)||!h(e,[`kind`,`challenge`,`signatureB64u`])||e.kind!==`voiceid_device_assertion_v1`||typeof e.signatureB64u!=`string`)throw Error(`Invalid VoiceID device assertion`);let t=c(e.signatureB64u);if(t.length!==64||s(t)!==e.signatureB64u)throw Error(`VoiceID signature must be canonical Ed25519 bytes`);return{kind:`voiceid_device_assertion_v1`,challenge:y(e.challenge),signatureB64u:e.signatureB64u}}function x(e){let t=o(e);return new TextEncoder().encode(`seams:wallet-session:voiceid-device:v1|${t}`)}async function S(e){return u(o({version:`wallet_auth_method_revoke_operation_v1`,walletId:String(e.walletId),targetWalletAuthMethodId:String(e.targetWalletAuthMethodId),requestedAtMs:e.requestedAtMs}))}function C(e,t){if(e.version!==t.version||e.walletAuthMethodId!==t.walletAuthMethodId||e.walletId!==t.walletId||e.walletAuthorityId!==t.walletAuthorityId||e.status!==t.status||e.createdAtMs!==t.createdAtMs||e.updatedAtMs!==t.updatedAtMs)return!1;switch(e.kind){case`passkey`:if(t.kind!==`passkey`)return!1;if(e.rpId===t.rpId&&e.credentialIdB64u===t.credentialIdB64u&&e.credentialPublicKeyB64u===t.credentialPublicKeyB64u&&e.counter===t.counter)break;return!1;case`email_otp`:if(t.kind!==`email_otp`)return!1;if(e.emailHashHex===t.emailHashHex&&e.registrationAuthorityId===t.registrationAuthorityId)break;return!1;case`voiceid`:if(t.kind!==`voiceid`)return!1;if(e.deviceKeyId===t.deviceKeyId&&e.devicePublicKeyB64u===t.devicePublicKeyB64u)break;return!1;default:return w(e,`wallet auth method kind`)}switch(e.status){case`pending_local_install`:return t.status===`pending_local_install`;case`active`:return t.status===`active`&&e.activatedAtMs===t.activatedAtMs;case`revoked`:return t.status===`revoked`&&e.activatedAtMs===t.activatedAtMs&&e.revokedAtMs===t.revokedAtMs;default:return w(e,`wallet auth method lifecycle`)}}function w(e,t){throw Error(`${t} branch is unsupported: ${String(e)}`)}function T(e){if(O(e),e.kind===`passkey`)switch(e.status){case`pending_local_install`:return{version:`wallet_auth_method_v2`,walletAuthMethodId:e.walletAuthMethodId,walletId:e.walletId,walletAuthorityId:e.walletAuthorityId,kind:`passkey`,status:`pending_local_install`,rpId:e.rpId,credentialIdB64u:e.credentialIdB64u,credentialPublicKeyB64u:e.credentialPublicKeyB64u,counter:e.counter,createdAtMs:e.createdAtMs,updatedAtMs:e.updatedAtMs};case`active`:return{version:`wallet_auth_method_v2`,walletAuthMethodId:e.walletAuthMethodId,walletId:e.walletId,walletAuthorityId:e.walletAuthorityId,kind:`passkey`,status:`active`,rpId:e.rpId,credentialIdB64u:e.credentialIdB64u,credentialPublicKeyB64u:e.credentialPublicKeyB64u,counter:e.counter,createdAtMs:e.createdAtMs,updatedAtMs:e.updatedAtMs,activatedAtMs:e.activatedAtMs};case`revoked`:return{version:`wallet_auth_method_v2`,walletAuthMethodId:e.walletAuthMethodId,walletId:e.walletId,walletAuthorityId:e.walletAuthorityId,kind:`passkey`,status:`revoked`,rpId:e.rpId,credentialIdB64u:e.credentialIdB64u,credentialPublicKeyB64u:e.credentialPublicKeyB64u,counter:e.counter,createdAtMs:e.createdAtMs,updatedAtMs:e.updatedAtMs,activatedAtMs:e.activatedAtMs,revokedAtMs:e.revokedAtMs}}if(e.kind===`voiceid`)switch(e.status){case`pending_local_install`:return{version:`wallet_auth_method_v2`,walletAuthMethodId:e.walletAuthMethodId,walletId:e.walletId,walletAuthorityId:e.walletAuthorityId,kind:`voiceid`,status:`pending_local_install`,deviceKeyId:e.deviceKeyId,devicePublicKeyB64u:e.devicePublicKeyB64u,createdAtMs:e.createdAtMs,updatedAtMs:e.updatedAtMs};case`active`:return{version:`wallet_auth_method_v2`,walletAuthMethodId:e.walletAuthMethodId,walletId:e.walletId,walletAuthorityId:e.walletAuthorityId,kind:`voiceid`,status:`active`,deviceKeyId:e.deviceKeyId,devicePublicKeyB64u:e.devicePublicKeyB64u,createdAtMs:e.createdAtMs,updatedAtMs:e.updatedAtMs,activatedAtMs:e.activatedAtMs};case`revoked`:return{version:`wallet_auth_method_v2`,walletAuthMethodId:e.walletAuthMethodId,walletId:e.walletId,walletAuthorityId:e.walletAuthorityId,kind:`voiceid`,status:`revoked`,deviceKeyId:e.deviceKeyId,devicePublicKeyB64u:e.devicePublicKeyB64u,createdAtMs:e.createdAtMs,updatedAtMs:e.updatedAtMs,activatedAtMs:e.activatedAtMs,revokedAtMs:e.revokedAtMs}}switch(e.status){case`pending_local_install`:return{version:`wallet_auth_method_v2`,walletAuthMethodId:e.walletAuthMethodId,walletId:e.walletId,walletAuthorityId:e.walletAuthorityId,kind:`email_otp`,status:`pending_local_install`,emailHashHex:e.emailHashHex,registrationAuthorityId:e.registrationAuthorityId,createdAtMs:e.createdAtMs,updatedAtMs:e.updatedAtMs};case`active`:return{version:`wallet_auth_method_v2`,walletAuthMethodId:e.walletAuthMethodId,walletId:e.walletId,walletAuthorityId:e.walletAuthorityId,kind:`email_otp`,status:`active`,emailHashHex:e.emailHashHex,registrationAuthorityId:e.registrationAuthorityId,createdAtMs:e.createdAtMs,updatedAtMs:e.updatedAtMs,activatedAtMs:e.activatedAtMs};case`revoked`:return{version:`wallet_auth_method_v2`,walletAuthMethodId:e.walletAuthMethodId,walletId:e.walletId,walletAuthorityId:e.walletAuthorityId,kind:`email_otp`,status:`revoked`,emailHashHex:e.emailHashHex,registrationAuthorityId:e.registrationAuthorityId,createdAtMs:e.createdAtMs,updatedAtMs:e.updatedAtMs,activatedAtMs:e.activatedAtMs,revokedAtMs:e.revokedAtMs}}}function E(e){let r=p(e);if(!r||!(`version`in r)||!(`kind`in r)||!(`status`in r))return null;let i=f(r.version),a=f(r.kind),o=f(r.status);if(i!==`wallet_auth_method_v2`||a!==`passkey`&&a!==`email_otp`&&a!==`voiceid`)return null;try{let e=D(r);if(a===`passkey`){if(!(`rpId`in r)||!(`credentialIdB64u`in r)||!(`credentialPublicKeyB64u`in r)||!(`counter`in r))return null;A(r,`passkey`,o);let i=n(r.rpId),a=t(r.credentialIdB64u);return!i.ok||!a.ok||typeof r.credentialPublicKeyB64u!=`string`||!r.credentialPublicKeyB64u.trim()||Object.prototype.hasOwnProperty.call(r,`emailHashHex`)||Object.prototype.hasOwnProperty.call(r,`registrationAuthorityId`)?null:j({common:e,lifecycle:k(r),rpId:i.value,credentialIdB64u:a.value,credentialPublicKeyB64u:r.credentialPublicKeyB64u,counter:L(r.counter)})}if(a===`voiceid`)return!(`deviceKeyId`in r)||!(`devicePublicKeyB64u`in r)?null:(A(r,`voiceid`,o),N({common:e,lifecycle:k(r),deviceKeyId:d(r.deviceKeyId),devicePublicKeyB64u:m(r.devicePublicKeyB64u)}));if(!(`emailHashHex`in r)||!(`registrationAuthorityId`in r))return null;A(r,`email_otp`,o);let i=f(r.emailHashHex),s=f(r.registrationAuthorityId);return!i||!s||Object.prototype.hasOwnProperty.call(r,`rpId`)||Object.prototype.hasOwnProperty.call(r,`credentialIdB64u`)||Object.prototype.hasOwnProperty.call(r,`credentialPublicKeyB64u`)||Object.prototype.hasOwnProperty.call(r,`counter`)?null:M({common:e,lifecycle:k(r),emailHashHex:i,registrationAuthorityId:s})}catch{return null}}function D(e){if(!(`walletAuthMethodId`in e)||!(`walletId`in e)||!(`walletAuthorityId`in e)||!(`createdAtMs`in e)||!(`updatedAtMs`in e))throw Error(`wallet auth method common fields are required`);return{version:`wallet_auth_method_v2`,walletAuthMethodId:P(e.walletAuthMethodId),walletId:F(e.walletId),walletAuthorityId:I(e.walletAuthorityId),createdAtMs:L(e.createdAtMs),updatedAtMs:L(e.updatedAtMs)}}function O(e){if(e.version!==`wallet_auth_method_v2`)throw Error(`wallet auth method record version is unsupported`);if(!e.walletAuthMethodId||!e.walletId||!e.walletAuthorityId)throw Error(`wallet auth method record identities are required`);if(!Number.isSafeInteger(e.createdAtMs)||e.createdAtMs<0)throw Error(`wallet auth method createdAtMs must be a non-negative safe integer`);if(!Number.isSafeInteger(e.updatedAtMs)||e.updatedAtMs<e.createdAtMs)throw Error(`wallet auth method updatedAtMs must follow createdAtMs`);switch(e.kind){case`passkey`:if(!e.rpId||!e.credentialIdB64u||!e.credentialPublicKeyB64u.trim())throw Error(`passkey wallet auth method fields are required`);if(!Number.isSafeInteger(e.counter)||e.counter<0)throw Error(`passkey authenticator counter must be non-negative`);break;case`email_otp`:if(!e.emailHashHex.trim()||!e.registrationAuthorityId.trim())throw Error(`email OTP wallet auth method fields are required`);break;case`voiceid`:d(e.deviceKeyId),m(e.devicePublicKeyB64u);break}switch(e.status){case`pending_local_install`:return;case`active`:R(e.activatedAtMs,`activatedAtMs`);return;case`revoked`:if(R(e.activatedAtMs,`activatedAtMs`),R(e.revokedAtMs,`revokedAtMs`),e.revokedAtMs<e.activatedAtMs)throw Error(`revokedAtMs cannot precede activatedAtMs`);return}}function k(e){if(!(`status`in e))throw Error(`wallet auth method status is required`);switch(e.status){case`pending_local_install`:return{status:`pending_local_install`};case`active`:if(!(`activatedAtMs`in e))throw Error(`wallet auth method activatedAtMs is required`);return{status:`active`,activatedAtMs:L(e.activatedAtMs)};case`revoked`:if(!(`activatedAtMs`in e)||!(`revokedAtMs`in e))throw Error(`wallet auth method revocation timestamps are required`);return{status:`revoked`,activatedAtMs:L(e.activatedAtMs),revokedAtMs:L(e.revokedAtMs)};default:throw Error(`wallet auth method status is unsupported`)}}function A(e,t,n){let r=[`version`,`walletAuthMethodId`,`walletId`,`walletAuthorityId`,`kind`,`status`,`createdAtMs`,`updatedAtMs`];if(t===`passkey`?r.push(`rpId`,`credentialIdB64u`,`credentialPublicKeyB64u`,`counter`):t===`email_otp`?r.push(`emailHashHex`,`registrationAuthorityId`):r.push(`deviceKeyId`,`devicePublicKeyB64u`),n===`active`&&r.push(`activatedAtMs`),n===`revoked`&&r.push(`activatedAtMs`,`revokedAtMs`),n!==`pending_local_install`&&n!==`active`&&n!==`revoked`)throw Error(`wallet auth method status is unsupported`);let i=new Set(r),a=Object.keys(e);if(a.length!==r.length)throw Error(`wallet auth method record has invalid fields`);for(let e of a)if(!i.has(e))throw Error(`wallet auth method field ${e} is invalid`)}function j(e){switch(e.lifecycle.status){case`pending_local_install`:return{version:`wallet_auth_method_v2`,walletAuthMethodId:e.common.walletAuthMethodId,walletId:e.common.walletId,walletAuthorityId:e.common.walletAuthorityId,kind:`passkey`,status:`pending_local_install`,createdAtMs:e.common.createdAtMs,updatedAtMs:e.common.updatedAtMs,rpId:e.rpId,credentialIdB64u:e.credentialIdB64u,credentialPublicKeyB64u:e.credentialPublicKeyB64u,counter:e.counter};case`active`:return{version:`wallet_auth_method_v2`,walletAuthMethodId:e.common.walletAuthMethodId,walletId:e.common.walletId,walletAuthorityId:e.common.walletAuthorityId,kind:`passkey`,status:`active`,createdAtMs:e.common.createdAtMs,updatedAtMs:e.common.updatedAtMs,rpId:e.rpId,credentialIdB64u:e.credentialIdB64u,credentialPublicKeyB64u:e.credentialPublicKeyB64u,counter:e.counter,activatedAtMs:e.lifecycle.activatedAtMs};case`revoked`:return{version:`wallet_auth_method_v2`,walletAuthMethodId:e.common.walletAuthMethodId,walletId:e.common.walletId,walletAuthorityId:e.common.walletAuthorityId,kind:`passkey`,status:`revoked`,createdAtMs:e.common.createdAtMs,updatedAtMs:e.common.updatedAtMs,rpId:e.rpId,credentialIdB64u:e.credentialIdB64u,credentialPublicKeyB64u:e.credentialPublicKeyB64u,counter:e.counter,activatedAtMs:e.lifecycle.activatedAtMs,revokedAtMs:e.lifecycle.revokedAtMs}}}function M(e){switch(e.lifecycle.status){case`pending_local_install`:return{version:`wallet_auth_method_v2`,walletAuthMethodId:e.common.walletAuthMethodId,walletId:e.common.walletId,walletAuthorityId:e.common.walletAuthorityId,kind:`email_otp`,status:`pending_local_install`,createdAtMs:e.common.createdAtMs,updatedAtMs:e.common.updatedAtMs,emailHashHex:e.emailHashHex,registrationAuthorityId:e.registrationAuthorityId};case`active`:return{version:`wallet_auth_method_v2`,walletAuthMethodId:e.common.walletAuthMethodId,walletId:e.common.walletId,walletAuthorityId:e.common.walletAuthorityId,kind:`email_otp`,status:`active`,createdAtMs:e.common.createdAtMs,updatedAtMs:e.common.updatedAtMs,emailHashHex:e.emailHashHex,registrationAuthorityId:e.registrationAuthorityId,activatedAtMs:e.lifecycle.activatedAtMs};case`revoked`:return{version:`wallet_auth_method_v2`,walletAuthMethodId:e.common.walletAuthMethodId,walletId:e.common.walletId,walletAuthorityId:e.common.walletAuthorityId,kind:`email_otp`,status:`revoked`,createdAtMs:e.common.createdAtMs,updatedAtMs:e.common.updatedAtMs,emailHashHex:e.emailHashHex,registrationAuthorityId:e.registrationAuthorityId,activatedAtMs:e.lifecycle.activatedAtMs,revokedAtMs:e.lifecycle.revokedAtMs}}}function N(e){switch(e.lifecycle.status){case`pending_local_install`:return{version:`wallet_auth_method_v2`,walletAuthMethodId:e.common.walletAuthMethodId,walletId:e.common.walletId,walletAuthorityId:e.common.walletAuthorityId,kind:`voiceid`,status:`pending_local_install`,createdAtMs:e.common.createdAtMs,updatedAtMs:e.common.updatedAtMs,deviceKeyId:e.deviceKeyId,devicePublicKeyB64u:e.devicePublicKeyB64u};case`active`:return{version:`wallet_auth_method_v2`,walletAuthMethodId:e.common.walletAuthMethodId,walletId:e.common.walletId,walletAuthorityId:e.common.walletAuthorityId,kind:`voiceid`,status:`active`,createdAtMs:e.common.createdAtMs,updatedAtMs:e.common.updatedAtMs,deviceKeyId:e.deviceKeyId,devicePublicKeyB64u:e.devicePublicKeyB64u,activatedAtMs:e.lifecycle.activatedAtMs};case`revoked`:return{version:`wallet_auth_method_v2`,walletAuthMethodId:e.common.walletAuthMethodId,walletId:e.common.walletId,walletAuthorityId:e.common.walletAuthorityId,kind:`voiceid`,status:`revoked`,createdAtMs:e.common.createdAtMs,updatedAtMs:e.common.updatedAtMs,deviceKeyId:e.deviceKeyId,devicePublicKeyB64u:e.devicePublicKeyB64u,activatedAtMs:e.lifecycle.activatedAtMs,revokedAtMs:e.lifecycle.revokedAtMs}}}function P(t){let n=e(t);if(!n.ok)throw Error(n.error.message);return n.value}function F(e){let t=i(e);if(!t.ok)throw Error(t.error.message);return t.value}function I(e){let t=r(e);if(!t.ok)throw Error(t.error.message);return t.value}function L(e){if(typeof e!=`number`||!Number.isSafeInteger(e)||e<0)throw Error(`value must be a non-negative safe integer`);return e}function R(e,t){if(!Number.isSafeInteger(e)||e<0)throw Error(`${t} must be a non-negative safe integer`)}export{b as a,x as c,C as i,S as n,m as o,E as r,y as s,T as t};
|
|
1
|
+
import{E as e,M as t,N as n,O as r,k as i}from"./domainIds-t1lp25yU.js";import{g as a,t as o}from"./digests-BIaE0DMd.js";import{i as s,r as c}from"./base64-BmKR3UqU.js";import{g as l}from"./capabilityKinds-DVlGMspk.js";import{o as u,r as d}from"./canonicalPrimitives-Jd3i_Ngz.js";import{i as f,t as p}from"./registrationAuthMethodInput-C4o7yFBJ.js";function m(e){if(typeof e!=`string`)throw Error(`VoiceID public key is invalid`);let t=c(e);if(t.length!==32||s(t)!==e)throw Error(`VoiceID public key must be canonical Ed25519 bytes`);return e}function h(e,t){if(Object.keys(e).length!==t.length)return!1;for(let n of t)if(!Object.hasOwn(e,n))return!1;return!0}function g(e,t){if(typeof e!=`string`)throw Error(`${t} must be an origin`);let n,r;try{let t=new URL(e);n=t.origin,r=t.protocol}catch{throw Error(`${t} must be an origin`)}if(n!==e||r!==`http:`&&r!==`https:`)throw Error(`${t} must be a canonical HTTP origin`);return n}function _(e,t){if(!Number.isSafeInteger(e)||!Number.isSafeInteger(t)||Number(e)<=0||Number(t)<=Number(e)||Number(t)-Number(e)>6e4)throw Error(`VoiceID challenge has an invalid validity window`)}function v(e){return _(e.issuedAtMs,e.expiresAtMs),g(e.requestOrigin,`VoiceID requestOrigin`),g(e.audience,`VoiceID audience`),{kind:`voiceid_wallet_session_challenge_v1`,walletId:e.walletId,walletAuthMethodId:e.walletAuthMethodId,walletAuthorityId:e.walletAuthorityId,deviceKeyId:e.deviceKeyId,challengeId:e.challengeId,nonce:e.nonce,requestOrigin:e.requestOrigin,audience:e.audience,issuedAtMs:e.issuedAtMs,expiresAtMs:e.expiresAtMs}}function y(t){if(!a(t)||!h(t,[`kind`,`walletId`,`walletAuthMethodId`,`walletAuthorityId`,`deviceKeyId`,`challengeId`,`nonce`,`requestOrigin`,`audience`,`issuedAtMs`,`expiresAtMs`])||t.kind!==`voiceid_wallet_session_challenge_v1`)throw Error(`Invalid VoiceID Wallet Session challenge`);let n=i(t.walletId),o=e(t.walletAuthMethodId),s=r(t.walletAuthorityId),c=l(t.challengeId);if(!n.ok||!o.ok||!s.ok||!c.ok)throw Error(`VoiceID challenge identity is invalid`);if(typeof t.issuedAtMs!=`number`||typeof t.expiresAtMs!=`number`)throw Error(`VoiceID challenge times must be numbers`);return v({walletId:n.value,walletAuthMethodId:o.value,walletAuthorityId:s.value,deviceKeyId:d(t.deviceKeyId),challengeId:c.value,nonce:d(t.nonce),requestOrigin:g(t.requestOrigin,`VoiceID requestOrigin`),audience:g(t.audience,`VoiceID audience`),issuedAtMs:t.issuedAtMs,expiresAtMs:t.expiresAtMs})}function b(e){if(!a(e)||!h(e,[`kind`,`challenge`,`signatureB64u`])||e.kind!==`voiceid_device_assertion_v1`||typeof e.signatureB64u!=`string`)throw Error(`Invalid VoiceID device assertion`);let t=c(e.signatureB64u);if(t.length!==64||s(t)!==e.signatureB64u)throw Error(`VoiceID signature must be canonical Ed25519 bytes`);return{kind:`voiceid_device_assertion_v1`,challenge:y(e.challenge),signatureB64u:e.signatureB64u}}function x(e){let t=o(e);return new TextEncoder().encode(`seams:wallet-session:voiceid-device:v1|${t}`)}async function S(e){return u(o({version:`wallet_auth_method_revoke_operation_v1`,walletId:String(e.walletId),targetWalletAuthMethodId:String(e.targetWalletAuthMethodId),requestedAtMs:e.requestedAtMs}))}function C(e,t){if(e.version!==t.version||e.walletAuthMethodId!==t.walletAuthMethodId||e.walletId!==t.walletId||e.walletAuthorityId!==t.walletAuthorityId||e.status!==t.status||e.createdAtMs!==t.createdAtMs||e.updatedAtMs!==t.updatedAtMs)return!1;switch(e.kind){case`passkey`:if(t.kind!==`passkey`)return!1;if(e.rpId===t.rpId&&e.credentialIdB64u===t.credentialIdB64u&&e.credentialPublicKeyB64u===t.credentialPublicKeyB64u&&e.counter===t.counter)break;return!1;case`email_otp`:if(t.kind!==`email_otp`)return!1;if(e.emailHashHex===t.emailHashHex&&e.registrationAuthorityId===t.registrationAuthorityId)break;return!1;case`voiceid`:if(t.kind!==`voiceid`)return!1;if(e.deviceKeyId===t.deviceKeyId&&e.devicePublicKeyB64u===t.devicePublicKeyB64u)break;return!1;default:return w(e,`wallet auth method kind`)}switch(e.status){case`pending_local_install`:return t.status===`pending_local_install`;case`active`:return t.status===`active`&&e.activatedAtMs===t.activatedAtMs;case`revoked`:return t.status===`revoked`&&e.activatedAtMs===t.activatedAtMs&&e.revokedAtMs===t.revokedAtMs;default:return w(e,`wallet auth method lifecycle`)}}function w(e,t){throw Error(`${t} branch is unsupported: ${String(e)}`)}function T(e){if(O(e),e.kind===`passkey`)switch(e.status){case`pending_local_install`:return{version:`wallet_auth_method_v2`,walletAuthMethodId:e.walletAuthMethodId,walletId:e.walletId,walletAuthorityId:e.walletAuthorityId,kind:`passkey`,status:`pending_local_install`,rpId:e.rpId,credentialIdB64u:e.credentialIdB64u,credentialPublicKeyB64u:e.credentialPublicKeyB64u,counter:e.counter,createdAtMs:e.createdAtMs,updatedAtMs:e.updatedAtMs};case`active`:return{version:`wallet_auth_method_v2`,walletAuthMethodId:e.walletAuthMethodId,walletId:e.walletId,walletAuthorityId:e.walletAuthorityId,kind:`passkey`,status:`active`,rpId:e.rpId,credentialIdB64u:e.credentialIdB64u,credentialPublicKeyB64u:e.credentialPublicKeyB64u,counter:e.counter,createdAtMs:e.createdAtMs,updatedAtMs:e.updatedAtMs,activatedAtMs:e.activatedAtMs};case`revoked`:return{version:`wallet_auth_method_v2`,walletAuthMethodId:e.walletAuthMethodId,walletId:e.walletId,walletAuthorityId:e.walletAuthorityId,kind:`passkey`,status:`revoked`,rpId:e.rpId,credentialIdB64u:e.credentialIdB64u,credentialPublicKeyB64u:e.credentialPublicKeyB64u,counter:e.counter,createdAtMs:e.createdAtMs,updatedAtMs:e.updatedAtMs,activatedAtMs:e.activatedAtMs,revokedAtMs:e.revokedAtMs}}if(e.kind===`voiceid`)switch(e.status){case`pending_local_install`:return{version:`wallet_auth_method_v2`,walletAuthMethodId:e.walletAuthMethodId,walletId:e.walletId,walletAuthorityId:e.walletAuthorityId,kind:`voiceid`,status:`pending_local_install`,deviceKeyId:e.deviceKeyId,devicePublicKeyB64u:e.devicePublicKeyB64u,createdAtMs:e.createdAtMs,updatedAtMs:e.updatedAtMs};case`active`:return{version:`wallet_auth_method_v2`,walletAuthMethodId:e.walletAuthMethodId,walletId:e.walletId,walletAuthorityId:e.walletAuthorityId,kind:`voiceid`,status:`active`,deviceKeyId:e.deviceKeyId,devicePublicKeyB64u:e.devicePublicKeyB64u,createdAtMs:e.createdAtMs,updatedAtMs:e.updatedAtMs,activatedAtMs:e.activatedAtMs};case`revoked`:return{version:`wallet_auth_method_v2`,walletAuthMethodId:e.walletAuthMethodId,walletId:e.walletId,walletAuthorityId:e.walletAuthorityId,kind:`voiceid`,status:`revoked`,deviceKeyId:e.deviceKeyId,devicePublicKeyB64u:e.devicePublicKeyB64u,createdAtMs:e.createdAtMs,updatedAtMs:e.updatedAtMs,activatedAtMs:e.activatedAtMs,revokedAtMs:e.revokedAtMs}}switch(e.status){case`pending_local_install`:return{version:`wallet_auth_method_v2`,walletAuthMethodId:e.walletAuthMethodId,walletId:e.walletId,walletAuthorityId:e.walletAuthorityId,kind:`email_otp`,status:`pending_local_install`,emailHashHex:e.emailHashHex,registrationAuthorityId:e.registrationAuthorityId,createdAtMs:e.createdAtMs,updatedAtMs:e.updatedAtMs};case`active`:return{version:`wallet_auth_method_v2`,walletAuthMethodId:e.walletAuthMethodId,walletId:e.walletId,walletAuthorityId:e.walletAuthorityId,kind:`email_otp`,status:`active`,emailHashHex:e.emailHashHex,registrationAuthorityId:e.registrationAuthorityId,createdAtMs:e.createdAtMs,updatedAtMs:e.updatedAtMs,activatedAtMs:e.activatedAtMs};case`revoked`:return{version:`wallet_auth_method_v2`,walletAuthMethodId:e.walletAuthMethodId,walletId:e.walletId,walletAuthorityId:e.walletAuthorityId,kind:`email_otp`,status:`revoked`,emailHashHex:e.emailHashHex,registrationAuthorityId:e.registrationAuthorityId,createdAtMs:e.createdAtMs,updatedAtMs:e.updatedAtMs,activatedAtMs:e.activatedAtMs,revokedAtMs:e.revokedAtMs}}}function E(e){let r=p(e);if(!r||!(`version`in r)||!(`kind`in r)||!(`status`in r))return null;let i=f(r.version),a=f(r.kind),o=f(r.status);if(i!==`wallet_auth_method_v2`||a!==`passkey`&&a!==`email_otp`&&a!==`voiceid`)return null;try{let e=D(r);if(a===`passkey`){if(!(`rpId`in r)||!(`credentialIdB64u`in r)||!(`credentialPublicKeyB64u`in r)||!(`counter`in r))return null;A(r,`passkey`,o);let i=n(r.rpId),a=t(r.credentialIdB64u);return!i.ok||!a.ok||typeof r.credentialPublicKeyB64u!=`string`||!r.credentialPublicKeyB64u.trim()||Object.prototype.hasOwnProperty.call(r,`emailHashHex`)||Object.prototype.hasOwnProperty.call(r,`registrationAuthorityId`)?null:j({common:e,lifecycle:k(r),rpId:i.value,credentialIdB64u:a.value,credentialPublicKeyB64u:r.credentialPublicKeyB64u,counter:L(r.counter)})}if(a===`voiceid`)return!(`deviceKeyId`in r)||!(`devicePublicKeyB64u`in r)?null:(A(r,`voiceid`,o),N({common:e,lifecycle:k(r),deviceKeyId:d(r.deviceKeyId),devicePublicKeyB64u:m(r.devicePublicKeyB64u)}));if(!(`emailHashHex`in r)||!(`registrationAuthorityId`in r))return null;A(r,`email_otp`,o);let i=f(r.emailHashHex),s=f(r.registrationAuthorityId);return!i||!s||Object.prototype.hasOwnProperty.call(r,`rpId`)||Object.prototype.hasOwnProperty.call(r,`credentialIdB64u`)||Object.prototype.hasOwnProperty.call(r,`credentialPublicKeyB64u`)||Object.prototype.hasOwnProperty.call(r,`counter`)?null:M({common:e,lifecycle:k(r),emailHashHex:i,registrationAuthorityId:s})}catch{return null}}function D(e){if(!(`walletAuthMethodId`in e)||!(`walletId`in e)||!(`walletAuthorityId`in e)||!(`createdAtMs`in e)||!(`updatedAtMs`in e))throw Error(`wallet auth method common fields are required`);return{version:`wallet_auth_method_v2`,walletAuthMethodId:P(e.walletAuthMethodId),walletId:F(e.walletId),walletAuthorityId:I(e.walletAuthorityId),createdAtMs:L(e.createdAtMs),updatedAtMs:L(e.updatedAtMs)}}function O(e){if(e.version!==`wallet_auth_method_v2`)throw Error(`wallet auth method record version is unsupported`);if(!e.walletAuthMethodId||!e.walletId||!e.walletAuthorityId)throw Error(`wallet auth method record identities are required`);if(!Number.isSafeInteger(e.createdAtMs)||e.createdAtMs<0)throw Error(`wallet auth method createdAtMs must be a non-negative safe integer`);if(!Number.isSafeInteger(e.updatedAtMs)||e.updatedAtMs<e.createdAtMs)throw Error(`wallet auth method updatedAtMs must follow createdAtMs`);switch(e.kind){case`passkey`:if(!e.rpId||!e.credentialIdB64u||!e.credentialPublicKeyB64u.trim())throw Error(`passkey wallet auth method fields are required`);if(!Number.isSafeInteger(e.counter)||e.counter<0)throw Error(`passkey authenticator counter must be non-negative`);break;case`email_otp`:if(!e.emailHashHex.trim()||!e.registrationAuthorityId.trim())throw Error(`email OTP wallet auth method fields are required`);break;case`voiceid`:d(e.deviceKeyId),m(e.devicePublicKeyB64u);break}switch(e.status){case`pending_local_install`:return;case`active`:R(e.activatedAtMs,`activatedAtMs`);return;case`revoked`:if(R(e.activatedAtMs,`activatedAtMs`),R(e.revokedAtMs,`revokedAtMs`),e.revokedAtMs<e.activatedAtMs)throw Error(`revokedAtMs cannot precede activatedAtMs`);return}}function k(e){if(!(`status`in e))throw Error(`wallet auth method status is required`);switch(e.status){case`pending_local_install`:return{status:`pending_local_install`};case`active`:if(!(`activatedAtMs`in e))throw Error(`wallet auth method activatedAtMs is required`);return{status:`active`,activatedAtMs:L(e.activatedAtMs)};case`revoked`:if(!(`activatedAtMs`in e)||!(`revokedAtMs`in e))throw Error(`wallet auth method revocation timestamps are required`);return{status:`revoked`,activatedAtMs:L(e.activatedAtMs),revokedAtMs:L(e.revokedAtMs)};default:throw Error(`wallet auth method status is unsupported`)}}function A(e,t,n){let r=[`version`,`walletAuthMethodId`,`walletId`,`walletAuthorityId`,`kind`,`status`,`createdAtMs`,`updatedAtMs`];if(t===`passkey`?r.push(`rpId`,`credentialIdB64u`,`credentialPublicKeyB64u`,`counter`):t===`email_otp`?r.push(`emailHashHex`,`registrationAuthorityId`):r.push(`deviceKeyId`,`devicePublicKeyB64u`),n===`active`&&r.push(`activatedAtMs`),n===`revoked`&&r.push(`activatedAtMs`,`revokedAtMs`),n!==`pending_local_install`&&n!==`active`&&n!==`revoked`)throw Error(`wallet auth method status is unsupported`);let i=new Set(r),a=Object.keys(e);if(a.length!==r.length)throw Error(`wallet auth method record has invalid fields`);for(let e of a)if(!i.has(e))throw Error(`wallet auth method field ${e} is invalid`)}function j(e){switch(e.lifecycle.status){case`pending_local_install`:return{version:`wallet_auth_method_v2`,walletAuthMethodId:e.common.walletAuthMethodId,walletId:e.common.walletId,walletAuthorityId:e.common.walletAuthorityId,kind:`passkey`,status:`pending_local_install`,createdAtMs:e.common.createdAtMs,updatedAtMs:e.common.updatedAtMs,rpId:e.rpId,credentialIdB64u:e.credentialIdB64u,credentialPublicKeyB64u:e.credentialPublicKeyB64u,counter:e.counter};case`active`:return{version:`wallet_auth_method_v2`,walletAuthMethodId:e.common.walletAuthMethodId,walletId:e.common.walletId,walletAuthorityId:e.common.walletAuthorityId,kind:`passkey`,status:`active`,createdAtMs:e.common.createdAtMs,updatedAtMs:e.common.updatedAtMs,rpId:e.rpId,credentialIdB64u:e.credentialIdB64u,credentialPublicKeyB64u:e.credentialPublicKeyB64u,counter:e.counter,activatedAtMs:e.lifecycle.activatedAtMs};case`revoked`:return{version:`wallet_auth_method_v2`,walletAuthMethodId:e.common.walletAuthMethodId,walletId:e.common.walletId,walletAuthorityId:e.common.walletAuthorityId,kind:`passkey`,status:`revoked`,createdAtMs:e.common.createdAtMs,updatedAtMs:e.common.updatedAtMs,rpId:e.rpId,credentialIdB64u:e.credentialIdB64u,credentialPublicKeyB64u:e.credentialPublicKeyB64u,counter:e.counter,activatedAtMs:e.lifecycle.activatedAtMs,revokedAtMs:e.lifecycle.revokedAtMs}}}function M(e){switch(e.lifecycle.status){case`pending_local_install`:return{version:`wallet_auth_method_v2`,walletAuthMethodId:e.common.walletAuthMethodId,walletId:e.common.walletId,walletAuthorityId:e.common.walletAuthorityId,kind:`email_otp`,status:`pending_local_install`,createdAtMs:e.common.createdAtMs,updatedAtMs:e.common.updatedAtMs,emailHashHex:e.emailHashHex,registrationAuthorityId:e.registrationAuthorityId};case`active`:return{version:`wallet_auth_method_v2`,walletAuthMethodId:e.common.walletAuthMethodId,walletId:e.common.walletId,walletAuthorityId:e.common.walletAuthorityId,kind:`email_otp`,status:`active`,createdAtMs:e.common.createdAtMs,updatedAtMs:e.common.updatedAtMs,emailHashHex:e.emailHashHex,registrationAuthorityId:e.registrationAuthorityId,activatedAtMs:e.lifecycle.activatedAtMs};case`revoked`:return{version:`wallet_auth_method_v2`,walletAuthMethodId:e.common.walletAuthMethodId,walletId:e.common.walletId,walletAuthorityId:e.common.walletAuthorityId,kind:`email_otp`,status:`revoked`,createdAtMs:e.common.createdAtMs,updatedAtMs:e.common.updatedAtMs,emailHashHex:e.emailHashHex,registrationAuthorityId:e.registrationAuthorityId,activatedAtMs:e.lifecycle.activatedAtMs,revokedAtMs:e.lifecycle.revokedAtMs}}}function N(e){switch(e.lifecycle.status){case`pending_local_install`:return{version:`wallet_auth_method_v2`,walletAuthMethodId:e.common.walletAuthMethodId,walletId:e.common.walletId,walletAuthorityId:e.common.walletAuthorityId,kind:`voiceid`,status:`pending_local_install`,createdAtMs:e.common.createdAtMs,updatedAtMs:e.common.updatedAtMs,deviceKeyId:e.deviceKeyId,devicePublicKeyB64u:e.devicePublicKeyB64u};case`active`:return{version:`wallet_auth_method_v2`,walletAuthMethodId:e.common.walletAuthMethodId,walletId:e.common.walletId,walletAuthorityId:e.common.walletAuthorityId,kind:`voiceid`,status:`active`,createdAtMs:e.common.createdAtMs,updatedAtMs:e.common.updatedAtMs,deviceKeyId:e.deviceKeyId,devicePublicKeyB64u:e.devicePublicKeyB64u,activatedAtMs:e.lifecycle.activatedAtMs};case`revoked`:return{version:`wallet_auth_method_v2`,walletAuthMethodId:e.common.walletAuthMethodId,walletId:e.common.walletId,walletAuthorityId:e.common.walletAuthorityId,kind:`voiceid`,status:`revoked`,createdAtMs:e.common.createdAtMs,updatedAtMs:e.common.updatedAtMs,deviceKeyId:e.deviceKeyId,devicePublicKeyB64u:e.devicePublicKeyB64u,activatedAtMs:e.lifecycle.activatedAtMs,revokedAtMs:e.lifecycle.revokedAtMs}}}function P(t){let n=e(t);if(!n.ok)throw Error(n.error.message);return n.value}function F(e){let t=i(e);if(!t.ok)throw Error(t.error.message);return t.value}function I(e){let t=r(e);if(!t.ok)throw Error(t.error.message);return t.value}function L(e){if(typeof e!=`number`||!Number.isSafeInteger(e)||e<0)throw Error(`value must be a non-negative safe integer`);return e}function R(e,t){if(!Number.isSafeInteger(e)||e<0)throw Error(`${t} must be a non-negative safe integer`)}export{b as a,x as c,C as i,S as n,m as o,E as r,y as s,T as t};
|