@seams/wallet 0.28.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 +30 -7
- package/dist/esm/SeamsWeb/walletIframe/client/sessionCommands.js +4 -0
- package/dist/esm/SeamsWeb/walletIframe/host/walletMutationGuard.js +5 -0
- package/dist/esm/SeamsWeb/walletIframe/shared/exactSessionState.js +15 -1
- 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/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/index.js +3 -2
- package/dist/esm/react/boundWallet.js +24 -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/sdk/{ConfirmationDrawer-MJoE0AAo.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-C-g_hkkZ.js → adapters-B2k8y0MB.js} +1 -1
- package/dist/{public/sdk/appearance-token-vars-01eH9pgA.js → esm/sdk/appearance-token-vars-DkF3EBbF.js} +1 -1
- 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/confirm-ui-Dx6c4-Rk.js +2 -0
- package/dist/{public/sdk/device-linking-DiCNt3iA.js → esm/sdk/device-linking-_o3_fgiG.js} +1 -1
- package/dist/esm/sdk/{deviceLinkApproval-x3WkiYrd.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-BSTfHhau.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-Xs89Xajm.js → localOnly-U_MucUAe.js} +1 -1
- package/dist/{public/sdk/mountExportPrivateKeySurface-CsUEKeum.js → esm/sdk/mountExportPrivateKeySurface-C2-fnvP6.js} +1 -1
- package/dist/{public/sdk/mountRecoveryCodeBackupSurface-kFLo5zLk.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-B-R_U34I.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-C2fb9kRQ.js → registration-D3p7muCc.js} +1 -1
- package/dist/esm/sdk/{registrationAccounts-4r74gX1l.js → registrationAccounts-Bso0ntMs.js} +1 -1
- package/dist/esm/sdk/{registrationIntent-Do1tD1V7.js → registrationIntent-C1-Kyx_-.js} +1 -1
- package/dist/{public/sdk/registrationSignerPlan-DK2b3N_p.js → esm/sdk/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/{public/sdk/routerAbNormalSigning-D-UZmCBS.js → esm/sdk/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-si1fGktB.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/{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/{public/sdk/walletAuthority-BTGAuOi8.js → esm/sdk/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/{public/sdk/walletOwnershipGeneration-CgjCtPrV.js → esm/sdk/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/esm/sdk/{walletSessionAuthorizationStore-B9Vwkshr.js → 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 +2 -2
- package/dist/esm/shared-ts/src/utils/index.js +2 -2
- package/dist/esm/voiceid-host.js +1 -1
- package/dist/public/headers.manifest.json +1 -1
- package/dist/public/sdk/{ConfirmationDrawer-MJoE0AAo.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-C-g_hkkZ.js → adapters-B2k8y0MB.js} +1 -1
- package/dist/{esm/sdk/appearance-token-vars-01eH9pgA.js → public/sdk/appearance-token-vars-DkF3EBbF.js} +1 -1
- 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/confirm-ui-Dx6c4-Rk.js +2 -0
- package/dist/{esm/sdk/device-linking-DiCNt3iA.js → public/sdk/device-linking-_o3_fgiG.js} +1 -1
- package/dist/public/sdk/{deviceLinkApproval-x3WkiYrd.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-BSTfHhau.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-Xs89Xajm.js → localOnly-U_MucUAe.js} +1 -1
- package/dist/{esm/sdk/mountExportPrivateKeySurface-CsUEKeum.js → public/sdk/mountExportPrivateKeySurface-C2-fnvP6.js} +1 -1
- package/dist/{esm/sdk/mountRecoveryCodeBackupSurface-kFLo5zLk.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-B-R_U34I.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-C2fb9kRQ.js → registration-D3p7muCc.js} +1 -1
- package/dist/public/sdk/{registrationAccounts-4r74gX1l.js → registrationAccounts-Bso0ntMs.js} +1 -1
- package/dist/public/sdk/{registrationIntent-Do1tD1V7.js → registrationIntent-C1-Kyx_-.js} +1 -1
- package/dist/{esm/sdk/registrationSignerPlan-DK2b3N_p.js → public/sdk/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/{esm/sdk/routerAbNormalSigning-D-UZmCBS.js → public/sdk/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-si1fGktB.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/{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/{esm/sdk/walletAuthority-BTGAuOi8.js → public/sdk/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/{esm/sdk/walletOwnershipGeneration-CgjCtPrV.js → public/sdk/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/public/sdk/{walletSessionAuthorizationStore-B9Vwkshr.js → walletSessionAuthorizationStore-BivTUoKY.js} +1 -1
- package/dist/public/sdk/{webauthnP256-BsQQPurm.js → webauthnP256-BGHikiNl.js} +1 -1
- package/dist/public/wallet-assets.manifest.json +258 -258
- package/dist/public/wallet-service/index.html +4 -4
- package/dist/types/shared-ts/src/auth/externalAuth.d.ts +51 -8
- 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/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 +14 -6
- 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 +4 -1
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/WalletHostRuntime.d.ts +5 -1
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/createNearCommands.d.ts +2 -1
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/createSessionCommands.d.ts +6 -2
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/externalAuth.d.ts +10 -8
- 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/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/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 +7 -0
- package/dist/types/wallet/src/index.d.ts +2 -0
- package/dist/types/wallet/src/react/boundWallet.d.ts +21 -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/package.json +1 -1
- package/dist/esm/sdk/NonceCoordinator-3YhmDTS5.js +0 -1
- package/dist/esm/sdk/accountLifecycle-6DHYWf0v.js +0 -1
- package/dist/esm/sdk/clientSessionPersistenceState-BCkJAYSz.js +0 -1
- package/dist/esm/sdk/confirm-ui-em0vkd2m.js +0 -2
- package/dist/esm/sdk/ecdsaDerivationExport-DJKOzDbS.js +0 -1
- package/dist/esm/sdk/exportKeypairOperation-CjST_NUK.js +0 -1
- package/dist/esm/sdk/host-C51z-AxP.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-Byl4l4yZ.js +0 -1
- package/dist/esm/sdk/resealedEnvelopeResult-CLW00Vbw.js +0 -1
- package/dist/esm/sdk/runtime-auth-ufbVur2p.js +0 -1
- package/dist/esm/sdk/runtime-device-link-CagI2Q62.js +0 -1
- package/dist/esm/sdk/runtime-ecdsa-tempo-Rctxr0yM.js +0 -1
- package/dist/esm/sdk/runtime-email-otp-BQtcG-LF.js +0 -1
- package/dist/esm/sdk/runtime-export-wTeEaqlk.js +0 -1
- package/dist/esm/sdk/runtime-near-59yU_3ud.js +0 -1
- package/dist/esm/sdk/runtime-preferences-B9qLHX8W.js +0 -1
- package/dist/esm/sdk/runtime-recovery-DNyzdMBj.js +0 -1
- package/dist/esm/sdk/runtimeContext-ByeM6Z4Z.js +0 -6
- package/dist/esm/sdk/sessionObservationRevision-ihBwjS3y.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-B4Ic07jY.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/clientSessionPersistenceState-BCkJAYSz.js +0 -1
- package/dist/public/sdk/confirm-ui-em0vkd2m.js +0 -2
- package/dist/public/sdk/ecdsaDerivationExport-DJKOzDbS.js +0 -1
- package/dist/public/sdk/exportKeypairOperation-CjST_NUK.js +0 -1
- package/dist/public/sdk/host-C51z-AxP.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-Byl4l4yZ.js +0 -1
- package/dist/public/sdk/resealedEnvelopeResult-CLW00Vbw.js +0 -1
- package/dist/public/sdk/runtime-auth-ufbVur2p.js +0 -1
- package/dist/public/sdk/runtime-device-link-CagI2Q62.js +0 -1
- package/dist/public/sdk/runtime-ecdsa-tempo-Rctxr0yM.js +0 -1
- package/dist/public/sdk/runtime-email-otp-BQtcG-LF.js +0 -1
- package/dist/public/sdk/runtime-export-wTeEaqlk.js +0 -1
- package/dist/public/sdk/runtime-near-59yU_3ud.js +0 -1
- package/dist/public/sdk/runtime-preferences-B9qLHX8W.js +0 -1
- package/dist/public/sdk/runtime-recovery-DNyzdMBj.js +0 -1
- package/dist/public/sdk/runtimeContext-ByeM6Z4Z.js +0 -6
- package/dist/public/sdk/sessionObservationRevision-ihBwjS3y.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-B4Ic07jY.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/{public/sdk/accountIds-CW2BP-d9.js → esm/sdk/accountIds-DGWFzEnw.js} +0 -0
- /package/dist/{public/sdk/actions-DrtSTGus.js → esm/sdk/actions-7SvZZut1.js} +0 -0
- /package/dist/{public/sdk/authenticatorOptions-WCDKYRux.js → esm/sdk/authenticatorOptions-B4q62CLs.js} +0 -0
- /package/dist/{public/sdk/confirmTypes-BvVtQs-M.js → esm/sdk/confirmTypes-DmEPoxys.js} +0 -0
- /package/dist/{public/sdk/csp-stylesheet-DUSqfXvZ.js → esm/sdk/csp-stylesheet-5LU6VGKK.js} +0 -0
- /package/dist/{public/sdk/digestEncoding-CqNXPZY9.js → esm/sdk/digestEncoding-34kXJoJr.js} +0 -0
- /package/dist/{public/sdk/ecdsaChainTarget-Bm5X4k-V.js → esm/sdk/ecdsaChainTarget-BoRVQtjQ.js} +0 -0
- /package/dist/{public/sdk/executeWorkerOperation-C9FOCCR7.js → esm/sdk/executeWorkerOperation-CAYSt0NA.js} +0 -0
- /package/dist/{public/sdk/helpers-Dubwo5uK.js → esm/sdk/helpers-B7c1zc7h.js} +0 -0
- /package/dist/{public/sdk/jsonRpc-BVDv1wfm.js → esm/sdk/jsonRpc-DGzeiNSa.js} +0 -0
- /package/dist/{public/sdk/keccak-mS0Mejjx.js → esm/sdk/keccak-DGHI1G6t.js} +0 -0
- /package/dist/{public/sdk/keyMaterialEnvelope-Dm2ZEilb.js → esm/sdk/keyMaterialEnvelope-Czkks9Ki.js} +0 -0
- /package/dist/{public/sdk/presignatures-BCeq56DG.js → esm/sdk/presignatures-CkhuZ0YQ.js} +0 -0
- /package/dist/{public/sdk/profileAccountProjection-C5sNt-s2.js → esm/sdk/profileAccountProjection-dvLchPBo.js} +0 -0
- /package/dist/{public/sdk/registrationAuthMethodInput-BR1WVbK3.js → esm/sdk/registrationAuthMethodInput-C4o7yFBJ.js} +0 -0
- /package/dist/{public/sdk/sdkSentEvents-DjOlKtdW.js → esm/sdk/sdkSentEvents-BFwv3mBw.js} +0 -0
- /package/dist/{public/sdk/signerDomain-BAsLT3XN.js → esm/sdk/signerDomain-D-EUTlLK.js} +0 -0
- /package/dist/{public/sdk/signerSlot-D2RZnb27.js → esm/sdk/signerSlot-BlijMq8C.js} +0 -0
- /package/dist/{public/sdk/surface-measurement-reporter-DXsvq401.js → esm/sdk/surface-measurement-reporter-DJ_dQhBV.js} +0 -0
- /package/dist/{public/sdk/walletCustodyOperation-DimzAbCB.js → esm/sdk/walletOwnerOperation-CScYv2K6.js} +0 -0
- /package/dist/{public/sdk/walletSessionAuthorizationStatus-DG7DPcgR.js → esm/sdk/walletSessionAuthorizationStatus-GhcGvDCX.js} +0 -0
- /package/dist/{esm/sdk/accountIds-CW2BP-d9.js → public/sdk/accountIds-DGWFzEnw.js} +0 -0
- /package/dist/{esm/sdk/actions-DrtSTGus.js → public/sdk/actions-7SvZZut1.js} +0 -0
- /package/dist/{esm/sdk/authenticatorOptions-WCDKYRux.js → public/sdk/authenticatorOptions-B4q62CLs.js} +0 -0
- /package/dist/{esm/sdk/confirmTypes-BvVtQs-M.js → public/sdk/confirmTypes-DmEPoxys.js} +0 -0
- /package/dist/{esm/sdk/csp-stylesheet-DUSqfXvZ.js → public/sdk/csp-stylesheet-5LU6VGKK.js} +0 -0
- /package/dist/{esm/sdk/digestEncoding-CqNXPZY9.js → public/sdk/digestEncoding-34kXJoJr.js} +0 -0
- /package/dist/{esm/sdk/ecdsaChainTarget-Bm5X4k-V.js → public/sdk/ecdsaChainTarget-BoRVQtjQ.js} +0 -0
- /package/dist/{esm/sdk/executeWorkerOperation-C9FOCCR7.js → public/sdk/executeWorkerOperation-CAYSt0NA.js} +0 -0
- /package/dist/{esm/sdk/helpers-Dubwo5uK.js → public/sdk/helpers-B7c1zc7h.js} +0 -0
- /package/dist/{esm/sdk/jsonRpc-BVDv1wfm.js → public/sdk/jsonRpc-DGzeiNSa.js} +0 -0
- /package/dist/{esm/sdk/keccak-mS0Mejjx.js → public/sdk/keccak-DGHI1G6t.js} +0 -0
- /package/dist/{esm/sdk/keyMaterialEnvelope-Dm2ZEilb.js → public/sdk/keyMaterialEnvelope-Czkks9Ki.js} +0 -0
- /package/dist/{esm/sdk/presignatures-BCeq56DG.js → public/sdk/presignatures-CkhuZ0YQ.js} +0 -0
- /package/dist/{esm/sdk/profileAccountProjection-C5sNt-s2.js → public/sdk/profileAccountProjection-dvLchPBo.js} +0 -0
- /package/dist/{esm/sdk/registrationAuthMethodInput-BR1WVbK3.js → public/sdk/registrationAuthMethodInput-C4o7yFBJ.js} +0 -0
- /package/dist/{esm/sdk/sdkSentEvents-DjOlKtdW.js → public/sdk/sdkSentEvents-BFwv3mBw.js} +0 -0
- /package/dist/{esm/sdk/signerDomain-BAsLT3XN.js → public/sdk/signerDomain-D-EUTlLK.js} +0 -0
- /package/dist/{esm/sdk/signerSlot-D2RZnb27.js → public/sdk/signerSlot-BlijMq8C.js} +0 -0
- /package/dist/{esm/sdk/surface-measurement-reporter-DXsvq401.js → public/sdk/surface-measurement-reporter-DJ_dQhBV.js} +0 -0
- /package/dist/{esm/sdk/walletCustodyOperation-DimzAbCB.js → public/sdk/walletOwnerOperation-CScYv2K6.js} +0 -0
- /package/dist/{esm/sdk/walletSessionAuthorizationStatus-DG7DPcgR.js → public/sdk/walletSessionAuthorizationStatus-GhcGvDCX.js} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{C as e,E as t,M as n,N as r,O as i,S as a,g as o,i as s,k as c,p as l}from"./domainIds-t1lp25yU.js";import{g as u,h as d}from"./digests-BIaE0DMd.js";import{a as f,c as p,d as m,o as ee,u as te}from"./participants-BXdREC5k.js";import{t as h}from"./walletRegistrationSetupPrewarm-CEvGKQSg.js";import{r as ne}from"./base64-BmKR3UqU.js";import{s as re}from"./walletDbName-Ca0rCq5r.js";import{X as ie,i as ae,n as oe,r as se}from"./activeWalletSession-BJ4B-nJo.js";import{d as ce,f as le,i as ue,r as de}from"./signingSessionSeal-BFOBKj-J.js";import{d as g,g as fe,h as _,m as v}from"./capabilityKinds-DVlGMspk.js";import{r as pe}from"./canonicalPrimitives-Jd3i_Ngz.js";import{n as me,r as he}from"./signerDomain-D-EUTlLK.js";import{c as ge,l as _e,s as ve}from"./accountIds-DGWFzEnw.js";import{O as ye,a as be,c as xe,i as Se,k as Ce,l as we,n as Te,o as Ee,s as De,t as Oe,x as y}from"./registrationIntent-C1-Kyx_-.js";import{a as b,l as ke,o as Ae,s as je}from"./ecdsaChainTarget-BoRVQtjQ.js";import{q as Me,v as Ne}from"./device-linking-_o3_fgiG.js";import{M as Pe,X as x,Y as Fe,d as Ie,q as Le}from"./walletAuthority-DbGaSw7D.js";import{F as Re,M as ze,N as Be,Nt as Ve,S as He,j as Ue,rt as S,st as We,x as Ge}from"./digestEncoding-34kXJoJr.js";import{r as Ke}from"./walletAuthMethodRecord-BW-XV4fv.js";import{r as qe}from"./registrationAuthMethodInput-C4o7yFBJ.js";import{a as Je,o as Ye}from"./signerSlot-BlijMq8C.js";import{o as Xe,u as Ze}from"./registrationSignerPlan-CeMidFme.js";import{C as Qe,E as $e,M as et,b as tt,l as nt,y as rt}from"./emailOtpEcdsaDerivationIdentity-Qd4pBwHv.js";import{n as it}from"./thresholdEcdsa-BxfOZmiR.js";var C=class{retainProof(){return!0}constructor(){this.retainProof()}},at=class extends C{kind=`use_live_runtime`;capability;materialOwner;authority;runtime;materialActivation;constructor(e){super(),this.capability=e.materialActivation.capability,this.materialOwner=e.materialActivation.materialOwner,this.authority=e.authority,this.runtime=e.runtime,this.materialActivation=e.materialActivation}},ot=class extends C{kind=`rehydrate_material_activation`;capability;materialOwner;authority;materialActivation;sealedMaterial;constructor(e){super(),this.capability=e.materialActivation.capability,this.materialOwner=e.materialActivation.materialOwner,this.authority=e.authority,this.materialActivation=e.materialActivation,this.sealedMaterial=e.sealedMaterial}},st=class extends C{kind=`reauthorize_public_anchor`;capability;materialOwner;authority;retirement;publicReauthAnchor;constructor(e){super(),this.capability=e.publicReauthAnchor.capability,this.materialOwner=e.publicReauthAnchor.materialOwner,this.authority=e.publicReauthAnchor.authority,this.retirement=e.retirement,this.publicReauthAnchor=e.publicReauthAnchor}},ct=class extends C{kind=`blocked`},lt=class extends ct{capability=null;reason=`missing_capability`},ut=class extends ct{capability;reason;constructor(e){super(),this.capability=e.capability,this.reason=e.reason}};function dt(e){return new at(e)}function ft(e){return new ot(e)}function pt(e){return new st(e)}function w(e){return e.reason===`missing_capability`?new lt:new ut(e)}function mt(e){if(!e.ok)throw Error(e.error.message);return e.value}function ht(e){return e.materialActivation}function gt(e){return mt(l(`near-ed25519-yao:${e.activationId}`))}function T(e,t){let n=e.sealed.kind===`available`?e.sealed.materialActivation.capability:e.runtime.kind===`live`?e.runtime.materialActivation.capability:e.publicLocator.kind===`available`?e.publicLocator.materialActivation.capability:null;return w(n?{capability:n,reason:t}:{capability:null,reason:`missing_capability`})}function _t(e){switch(e.publicLocator.kind){case`missing`:return w({capability:null,reason:`missing_capability`});case`retired`:return pt({retirement:e.publicLocator.retirement,publicReauthAnchor:e.publicLocator.publicReauthAnchor});case`conflict`:return T(e,`exact_record_conflict`);case`corrupt`:return T(e,`corrupt`);case`unavailable`:return w({capability:e.publicLocator.capability,reason:`persistence_unavailable`});case`available`:break;default:e.publicLocator}let t=e.publicLocator.materialActivation;if(String(t.materialOwner)!==e.publicLocator.walletId)return T(e,`binding_mismatch`);switch(e.runtime.kind){case`live`:return s(t,e.runtime.materialActivation)?dt({authority:e.publicLocator.authority,runtime:e.runtime.runtime,materialActivation:t}):T(e,`binding_mismatch`);case`absent`:break;default:e.runtime}switch(e.sealed.kind){case`missing`:return T(e,`missing_material`);case`corrupt`:return T(e,`corrupt`);case`available`:break;default:e.sealed}let n=e.sealed;if(String(n.authority.walletId)!==e.publicLocator.walletId||String(n.authority.authorityDigest)!==String(e.publicLocator.authority.authorityDigest)||String(n.materialActivation.materialOwner)!==e.publicLocator.walletId||!s(n.materialActivation,e.publicLocator.materialActivation))return T(e,`binding_mismatch`);switch(e.unlockSource.kind){case`unavailable`:return T(e,`missing_material`);case`available`:return String(e.unlockSource.authority.walletId)!==String(n.authority.walletId)||String(e.unlockSource.authority.authorityDigest)!==String(n.authority.authorityDigest)?T(e,`binding_mismatch`):ft({authority:n.authority,materialActivation:n.materialActivation,sealedMaterial:n.sealedMaterial});default:e.unlockSource}throw Error(`Unsupported Near Ed25519 unlock-source observation`)}function vt(e){let t=O(e);if(!t||!(`kind`in t)||typeof t.kind!=`string`)return null;switch(t.kind){case`owner_operations`:{if(!k(t,[`kind`,`walletId`]))return null;let e=c(Reflect.get(t,`walletId`));return e.ok?{kind:`owner_operations`,walletId:e.value}:null}case`issued`:{if(!k(t,[`kind`,`session`])||!(`session`in t))return null;let e=yt(t.session);return e===null?null:{kind:`issued`,session:e}}case`already_committed`:{if(!k(t,[`kind`,`session`,`next`])||!(`session`in t)||!(`next`in t)||t.next!==`unlock_exact_method`)return null;let e=St(t.session);return e===null?null:{kind:`already_committed`,session:e,next:t.next}}default:return null}}function yt(e){try{let t=O(e);if(!t||!k(t,[`kind`,`walletId`,`authorizationId`,`walletSessionId`,`quotaId`,`expiresAtMs`,`remainingUses`,`walletSession`,`operationCredential`,`tokens`])||!(`kind`in t)||!(`walletId`in t)||!(`authorizationId`in t)||!(`walletSessionId`in t)||!(`quotaId`in t)||!(`expiresAtMs`in t)||!(`remainingUses`in t)||!(`walletSession`in t)||!(`operationCredential`in t)||!(`tokens`in t)||t.kind!==`registration_established_wallet_session_v2`)return null;let n=c(t.walletId),r=_(t.walletSessionId),i=v(t.authorizationId),a=g(t.quotaId);if(!n.ok||!i.ok||!r.ok||!a.ok)return null;let o=D(t.expiresAtMs),s=D(t.remainingUses);if(o===null||o<=0||s===null||s<=0)return null;let l=oe(t.walletSession),u=ae(t.operationCredential);if(l.walletId!==n.value||l.authorizationId!==i.value||l.quotaId!==a.value||l.expiresAtMs!==o||u.walletSessionId!==r.value)return null;let d=Ct(t.tokens);return d===null||!bt(l,d)?null:{kind:`registration_established_wallet_session_v2`,walletId:n.value,authorizationId:i.value,walletSessionId:r.value,quotaId:a.value,expiresAtMs:o,remainingUses:s,walletSession:l,operationCredential:u,tokens:d}}catch{return null}}function bt(e,t){switch(t.kind){case`evm_family_ecdsa`:return E(e,`ecdsa_secp256k1`,t.ecdsa.materialActivation)&&!xt(e,`ecdsa_secp256k1`);case`near_ed25519`:return E(e,`ed25519`,t.ed25519.materialActivation)&&!xt(e,`ed25519`);case`near_ed25519_and_evm_family_ecdsa`:return E(e,`ecdsa_secp256k1`,t.ecdsa.materialActivation)&&E(e,`ed25519`,t.ed25519.materialActivation)&&!xt(e,`ed25519`,`ecdsa_secp256k1`);default:return!1}}function E(e,t,n){return e.capabilitySubjects.some(e=>e.kind===`sign`&&e.keyFamily===t&&s(e.materialActivation,n))}function xt(e,...t){return e.capabilitySubjects.some(e=>e.kind===`sign`&&!t.includes(e.keyFamily))}function St(e){try{let t=O(e);if(!t||!k(t,[`kind`,`walletId`,`authorizationId`,`walletSessionId`,`quotaId`,`expiresAtMs`,`remainingUses`,`walletSession`,`tokens`])||!(`kind`in t)||!(`walletId`in t)||!(`authorizationId`in t)||!(`walletSessionId`in t)||!(`quotaId`in t)||!(`expiresAtMs`in t)||!(`remainingUses`in t)||!(`walletSession`in t)||!(`tokens`in t)||t.kind!==`registration_established_wallet_session_projection_v2`)return null;let n=c(t.walletId),r=v(t.authorizationId),i=_(t.walletSessionId),a=g(t.quotaId);if(!n.ok||!r.ok||!i.ok||!a.ok||new Set([r.value,i.value,a.value]).size!==3)return null;let o=D(t.expiresAtMs),s=D(t.remainingUses),l=oe(t.walletSession),u=Ct(t.tokens);return o===null||o<=0||s===null||u===null||l.walletId!==n.value||l.authorizationId!==r.value||l.quotaId!==a.value||l.expiresAtMs!==o||!bt(l,u)?null:{kind:`registration_established_wallet_session_projection_v2`,walletId:n.value,authorizationId:r.value,walletSessionId:i.value,quotaId:a.value,expiresAtMs:o,remainingUses:s,walletSession:l,tokens:u}}catch{return null}}function Ct(e){let t=O(e);if(!t||!(`kind`in t)||typeof t.kind!=`string`)return null;switch(t.kind){case`evm_family_ecdsa`:{if(!k(t,[`kind`,`ecdsa`])||!(`ecdsa`in t))return null;let e=wt(t.ecdsa);return e===null?null:{kind:`evm_family_ecdsa`,ecdsa:e}}case`near_ed25519`:{if(!k(t,[`kind`,`ed25519`])||!(`ed25519`in t))return null;let e=Tt(t.ed25519);return e===null?null:{kind:`near_ed25519`,ed25519:e}}case`near_ed25519_and_evm_family_ecdsa`:{if(!k(t,[`kind`,`ecdsa`,`ed25519`])||!(`ecdsa`in t)||!(`ed25519`in t))return null;let e=wt(t.ecdsa),n=Tt(t.ed25519);return e===null||n===null?null:{kind:`near_ed25519_and_evm_family_ecdsa`,ecdsa:e,ed25519:n}}default:return null}}function wt(e){let t=O(e);if(!t||!k(t,[`sessionKind`,`thresholdSessionId`,`keyHandle`,`runtimePolicyScope`,`materialActivation`,`routerAbEcdsaDerivationNormalSigning`])||!(`sessionKind`in t)||!(`thresholdSessionId`in t)||!(`keyHandle`in t)||!(`runtimePolicyScope`in t)||!(`materialActivation`in t)||!(`routerAbEcdsaDerivationNormalSigning`in t)||t.sessionKind!==`credential_free_projection_v2`)return null;let n=a(t.thresholdSessionId);if(!n.ok)return null;try{let e=et(t.keyHandle),r=Et(t.runtimePolicyScope),i=o(t.materialActivation);if(!i.ok)return null;let a=Ge(t.routerAbEcdsaDerivationNormalSigning);if(!a)return null;let c=Ve(a.scope.material_activation);return s(i.value,c)?{sessionKind:`credential_free_projection_v2`,thresholdSessionId:n.value,keyHandle:e,runtimePolicyScope:r,materialActivation:i.value,routerAbEcdsaDerivationNormalSigning:a}:null}catch{return null}}function Tt(t){let n=O(t);if(!n||!k(n,[`sessionKind`,`thresholdSessionId`,`nearAccountId`,`nearEd25519SigningKeyId`,`runtimePolicyScope`,`materialActivation`,`routerAbNormalSigning`])||!(`sessionKind`in n)||!(`thresholdSessionId`in n)||!(`nearAccountId`in n)||!(`nearEd25519SigningKeyId`in n)||!(`runtimePolicyScope`in n)||!(`materialActivation`in n)||!(`routerAbNormalSigning`in n)||n.sessionKind!==`credential_free_projection_v2`)return null;let r=e(n.thresholdSessionId),i=_e(n.nearAccountId);if(!r.ok||!i.ok)return null;try{let e=Je(n.nearEd25519SigningKeyId),t=Et(n.runtimePolicyScope),a=o(n.materialActivation);if(!a.ok)return null;let s=ce(n.routerAbNormalSigning);return s?{sessionKind:`credential_free_projection_v2`,thresholdSessionId:r.value,nearAccountId:i.value,nearEd25519SigningKeyId:e,runtimePolicyScope:t,materialActivation:a.value,routerAbNormalSigning:s}:null}catch{return null}}function Et(e){let t=O(e);if(!t||!k(t,[`orgId`,`projectId`,`envId`,`signingRootVersion`])||!(`orgId`in t)||!(`projectId`in t)||!(`envId`in t)||!(`signingRootVersion`in t))throw Error(`runtime policy scope projection is invalid`);return ie({orgId:t.orgId,projectId:t.projectId,envId:t.envId,signingRootVersion:t.signingRootVersion})}function D(e){return typeof e==`number`&&Number.isSafeInteger(e)&&e>=0?e:null}function O(e){return typeof e==`object`&&e&&!Array.isArray(e)?e:null}function k(e,t){return Object.keys(e).length===t.length&&t.every(t=>Object.prototype.hasOwnProperty.call(e,t))}function Dt(e){let t=String(e||``).trim().toLowerCase();return/^0x[0-9a-f]{40}$/.test(t)?t:``}const Ot=/^ederivation-key-[A-Za-z0-9_-]+$/;function A(e){let t=String(e||``).trim();return t?Ot.test(t)?{kind:`resolved`,keyHandle:t}:{kind:`invalid`}:{kind:`missing`}}function kt(e){let t=A(e.keyHandle),n=d(e.sharedEvmFamilyKey)?A(e.sharedEvmFamilyKey.keyHandle):{kind:`missing`};return t.kind===`missing`?{kind:`blocked`,reason:`missing_key_handle`}:t.kind===`invalid`||n.kind===`invalid`?{kind:`blocked`,reason:`invalid_key_handle`}:n.kind===`resolved`&&t.keyHandle!==n.keyHandle?{kind:`blocked`,reason:`duplicate_key_handles`}:{kind:`resolved`,keyHandle:t.keyHandle}}function At(e){let t=(d(e.metadata.sharedEvmFamilyKey)?e.metadata.sharedEvmFamilyKey:null)||e.metadata,n=String(t.thresholdEcdsaPublicKeyB64u||e.metadata.thresholdEcdsaPublicKeyB64u||``).trim();if(!n)return null;let r=String(t.walletId||``).trim();if(!r)return null;try{$e(n);let i=t.ecdsaThresholdKeyId||e.metadata.ecdsaThresholdKeyId,a=t.signingRootId||e.metadata.signingRootId,o=t.signingRootVersion||e.metadata.signingRootVersion,s=t.participantIds||e.metadata.participantIds,c=t.thresholdOwnerAddress||e.metadata.thresholdOwnerAddress||e.metadata.ownerAddress;return nt({walletId:r,keyHandle:e.keyHandle,chainTarget:e.chainTarget,ecdsaThresholdKeyId:i,signingRootId:a,signingRootVersion:o,participantIds:s,thresholdOwnerAddress:c,thresholdEcdsaPublicKeyB64u:n})}catch{return null}}function jt(e){try{let t=He(e.raw);return String(t.client_id)!==String(e.walletId)||t.public_identity.threshold_public_key33_b64u!==e.thresholdEcdsaPublicKeyB64u?null:t}catch{return null}}function Mt(e){let t=e.signer;if(t.status!==`active`||t.signerKind!==he.thresholdEcdsa||t.signerAuthMethod!==me.passkey)return{kind:`skipped`};let n=d(t.metadata)?t.metadata:{};if(!d(n.chainTarget))return{kind:`blocked`,targetKey:``,reason:`missing_chain_target`};let r;try{r=b(n.chainTarget)}catch{return{kind:`blocked`,targetKey:``,reason:`invalid_chain_target`}}if(!e.configuredTargets.some(e=>je(e,r)))return{kind:`skipped`};let i=Ae(r),a=kt(n);if(a.kind===`blocked`)return{kind:`blocked`,targetKey:i,reason:a.reason};let o=At({metadata:n,keyHandle:a.keyHandle,chainTarget:r});if(!o)return{kind:`key_facts_inventory_required`,chainTarget:r,targetKey:i,keyHandle:a.keyHandle,reason:`missing_key_facts`};let s=jt({raw:n.publicCapability,walletId:e.walletId,thresholdEcdsaPublicKeyB64u:o.keyFacts.thresholdEcdsaPublicKeyB64u});return{kind:`active_wallet_key`,chainTarget:r,targetKey:i,walletKey:o,publicCapability:s?{kind:`persisted_public_capability`,value:s}:{kind:`missing_public_capability`}}}function Nt(e){let{raw:t}=e;if(!d(t)||!d(t.chainTarget))return null;let n=d(t.key)?t.key:t,r;try{r=b(t.chainTarget)}catch{return null}let i=A(t.keyHandle),a=A(n.keyHandle),o=Dt(t.accountAddress),s=Dt(t.ownerAddress),c=String(n.walletId||``).trim(),l=String(n.subjectId||``).trim(),u=String(ke({walletId:e.walletId})),f=String(n.rpId||``).trim(),p=String(n.thresholdEcdsaPublicKeyB64u||t.thresholdEcdsaPublicKeyB64u||``).trim(),m=Dt(n.thresholdOwnerAddress||t.ownerAddress||t.accountAddress||t.ethereumAddress);if(i.kind!==`resolved`||a.kind!==`resolved`||a.keyHandle!==i.keyHandle||!p||!s||!o||!m||c!==String(e.walletId)||l&&l!==u||f!==e.rpId||m!==s)return null;try{let a=jt({raw:t.publicCapability,walletId:e.walletId,thresholdEcdsaPublicKeyB64u:p});if(!a)return null;let c=Qe(i.keyHandle),l=tt({record:{ecdsaThresholdKeyId:t.ecdsaThresholdKeyId}}),u=rt({signingRootId:t.signingRootId||n.signingRootId,signingRootVersion:t.signingRootVersion||n.signingRootVersion});return{accountAddress:o,ownerAddress:s,publicCapability:a,walletKey:nt({walletId:e.walletId,keyHandle:c,chainTarget:r,ecdsaThresholdKeyId:l,signingRootId:u.signingRootId,signingRootVersion:u.signingRootVersion,participantIds:n.participantIds||t.participantIds,thresholdOwnerAddress:m,thresholdEcdsaPublicKeyB64u:p})}}catch{return null}}function Pt(e){let t=[];for(let n of e.records){let r=Nt({walletId:e.walletId,rpId:e.rpId,raw:n});r&&t.push(r)}return t}function j(e){let t=String(e.value||``).trim();if(!t)throw Error(`${e.responseName} response missing ${e.field}`);return t}function M(e){if(!u(e.value))throw Error(`${e.responseName} response missing ${e.field}`);return e.value}function N(e,t,n){let r=new Set(t);for(let t of Object.keys(e))if(!r.has(t))throw Error(`${n} response contains unexpected ${t}`)}function P(e){let t=Number(e.value);if(!Number.isSafeInteger(t)||t<e.minimum)throw Error(`${e.responseName} response has invalid ${e.field}`);return t}function F(e,t){if(!Array.isArray(e)||e.length!==2)throw Error(`${t} response has invalid participantIds`);let n=P({responseName:t,field:`participantIds[0]`,value:e[0],minimum:1}),r=P({responseName:t,field:`participantIds[1]`,value:e[1],minimum:1});if(n===r)throw Error(`${t} response has duplicate participantIds`);if(n!==1||r!==2)throw Error(`${t} response has unsupported participantIds`);return[n,r]}function I(e,t){let n=r(e);if(!n.ok)throw Error(`${t} response has invalid rpId`);return n.value}function Ft(e,t){let n=M({responseName:t,field:`authorityScope`,value:e});switch(n.kind){case`passkey_rp`:return N(n,[`kind`,`rpId`],t),{kind:`passkey_rp`,rpId:I(n.rpId,t)};case`email_otp`:if(N(n,[`kind`,`provider`,`providerUserId`],t),n.provider!==`google`&&n.provider!==`email`)throw Error(`${t} response has invalid authorityScope provider`);return{kind:`email_otp`,provider:n.provider,providerUserId:j({responseName:t,field:`authorityScope.providerUserId`,value:n.providerUserId})};default:throw Error(`${t} response has invalid authorityScope`)}}function It(e,t){let n=M({responseName:t,field:`ed25519`,value:e});if(N(n,[`signerSlot`,`nearAccountId`,`nearEd25519SigningKeyId`,`publicKey`,`relayerKeyId`,`keyVersion`,`recoveryExportCapable`,`participantIds`],t),n.recoveryExportCapable!==!0)throw Error(`${t} response is not recovery/export capable`);return{signerSlot:P({responseName:t,field:`ed25519.signerSlot`,value:n.signerSlot,minimum:1}),nearAccountId:j({responseName:t,field:`ed25519.nearAccountId`,value:n.nearAccountId}),nearEd25519SigningKeyId:j({responseName:t,field:`ed25519.nearEd25519SigningKeyId`,value:n.nearEd25519SigningKeyId}),publicKey:j({responseName:t,field:`ed25519.publicKey`,value:n.publicKey}),relayerKeyId:j({responseName:t,field:`ed25519.relayerKeyId`,value:n.relayerKeyId}),keyVersion:j({responseName:t,field:`ed25519.keyVersion`,value:n.keyVersion}),recoveryExportCapable:!0,participantIds:F(n.participantIds,t)}}function Lt(t,n){let r=M({responseName:n,field:`ed25519`,value:t});N(r,[`signerSlot`,`nearAccountId`,`nearEd25519SigningKeyId`,`publicKey`,`relayerKeyId`,`keyVersion`,`recoveryExportCapable`,`participantIds`,`thresholdSessionId`,`runtimePolicyScope`,`routerAbNormalSigning`],n);let i=It({signerSlot:r.signerSlot,nearAccountId:r.nearAccountId,nearEd25519SigningKeyId:r.nearEd25519SigningKeyId,publicKey:r.publicKey,relayerKeyId:r.relayerKeyId,keyVersion:r.keyVersion,recoveryExportCapable:r.recoveryExportCapable,participantIds:r.participantIds},n),a=e(r.thresholdSessionId);if(!a.ok)throw Error(`${n} response has invalid ed25519.thresholdSessionId`);let o=re(r.runtimePolicyScope);if(!o)throw Error(`${n} response has invalid ed25519.runtimePolicyScope`);return{...i,thresholdSessionId:a.value,runtimePolicyScope:o,routerAbNormalSigning:le(r.routerAbNormalSigning)}}function L(e,t){let n=M({responseName:t,field:`chainTarget`,value:e});switch(n.kind){case`evm`:return N(n,[`kind`,`namespace`,`chainId`,`networkSlug`],t),b(n);case`tempo`:return N(n,[`kind`,`chainId`,`networkSlug`],t),b(n);default:throw Error(`${t} response has invalid chainTarget kind`)}}function Rt(e,t){let n=M({responseName:t,field:`ecdsa.walletKeys[]`,value:e});if(N(n,[`keyScope`,`chainTarget`,`walletId`,`evmFamilySigningKeySlotId`,`keyHandle`,`ecdsaThresholdKeyId`,`signingRootId`,`signingRootVersion`,`thresholdEcdsaPublicKeyB64u`,`thresholdOwnerAddress`,`relayerKeyId`,`relayerVerifyingShareB64u`,`contextBinding32B64u`,`derivationClientSharePublicKey33B64u`,`clientShareRetryCounter`,`relayerShareRetryCounter`,`participantIds`,`publicCapability`],t),n.keyScope!==`evm-family`)throw Error(`${t} response has invalid keyScope`);return{keyScope:`evm-family`,chainTarget:L(n.chainTarget,t),walletId:j({responseName:t,field:`walletId`,value:n.walletId}),evmFamilySigningKeySlotId:j({responseName:t,field:`evmFamilySigningKeySlotId`,value:n.evmFamilySigningKeySlotId}),keyHandle:j({responseName:t,field:`keyHandle`,value:n.keyHandle}),ecdsaThresholdKeyId:j({responseName:t,field:`ecdsaThresholdKeyId`,value:n.ecdsaThresholdKeyId}),signingRootId:j({responseName:t,field:`signingRootId`,value:n.signingRootId}),signingRootVersion:j({responseName:t,field:`signingRootVersion`,value:n.signingRootVersion}),thresholdEcdsaPublicKeyB64u:j({responseName:t,field:`thresholdEcdsaPublicKeyB64u`,value:n.thresholdEcdsaPublicKeyB64u}),thresholdOwnerAddress:j({responseName:t,field:`thresholdOwnerAddress`,value:n.thresholdOwnerAddress}),relayerKeyId:j({responseName:t,field:`relayerKeyId`,value:n.relayerKeyId}),relayerVerifyingShareB64u:j({responseName:t,field:`relayerVerifyingShareB64u`,value:n.relayerVerifyingShareB64u}),contextBinding32B64u:j({responseName:t,field:`contextBinding32B64u`,value:n.contextBinding32B64u}),derivationClientSharePublicKey33B64u:j({responseName:t,field:`derivationClientSharePublicKey33B64u`,value:n.derivationClientSharePublicKey33B64u}),clientShareRetryCounter:P({responseName:t,field:`clientShareRetryCounter`,value:n.clientShareRetryCounter,minimum:0}),relayerShareRetryCounter:P({responseName:t,field:`relayerShareRetryCounter`,value:n.relayerShareRetryCounter,minimum:0}),participantIds:F(n.participantIds,t),publicCapability:He(n.publicCapability)}}function zt(e){switch(e){case`registrationIntentLoadMs`:case`registrationIntentDigestMs`:case`registrationIntentConsumeMs`:case`registrationAttemptGateMs`:case`registrationPreparationPersistMs`:case`registrationPreparationLoadMs`:case`registrationPreparationConsumeMs`:case`registrationPreparationScopeCheckMs`:case`registrationAuthorityVerifyMs`:case`registrationEcdsaPrepareMs`:case`registrationCeremonyPersistMs`:case`registerPrepareTotalMs`:case`registerStartTotalMs`:case`registrationEcdsaRespondMs`:case`registrationFinalizeReplayLoadMs`:case`registrationCeremonyLoadMs`:case`registrationEcdsaBootstrapVerifyMs`:case`sponsoredNearAccountCreateMs`:case`registrationKeygenMs`:case`registrationEmailOtpEnrollmentPlanMs`:case`relaySessionMintMs`:case`relayGoogleEmailOtpActivationPlanMs`:case`relayPersistenceMs`:case`registrationFinalizeReplayCacheMs`:case`registerFinalizeTotalMs`:return e;default:throw Error(`Wallet registration finalize response has invalid diagnostics timing name`)}}function Bt(e){let t=`Wallet registration finalize`,n=M({responseName:t,field:`registrationDiagnostics`,value:e});if(N(n,[`kind`,`route`,`entries`],t),n.kind!==`wallet_registration_route_diagnostics_v1`||n.route!==`wallets_register_finalize`||!Array.isArray(n.entries))throw Error(`${t} response has invalid registrationDiagnostics`);return{kind:`wallet_registration_route_diagnostics_v1`,route:`wallets_register_finalize`,entries:n.entries.map(e=>{let n=M({responseName:t,field:`registrationDiagnostics.entries[]`,value:e});if(N(n,[`name`,`durationMs`],t),typeof n.durationMs!=`number`||!Number.isFinite(n.durationMs)||n.durationMs<0)throw Error(`${t} response has invalid diagnostics durationMs`);return{name:zt(n.name),durationMs:n.durationMs}})}}function Vt(e){let t=`Wallet registration finalize`,n=M({responseName:t,field:`authority`,value:e});N(n,[`walletId`,`factor`,`verifier`,`bindingId`],t);let r=M({responseName:t,field:`authority.factor`,value:n.factor}),i=M({responseName:t,field:`authority.verifier`,value:n.verifier});switch(r.kind){case`passkey`:N(r,[`kind`,`credentialIdB64u`],t),N(i,[`kind`,`rpId`],t);break;case`email_otp`:N(r,[`kind`,`provider`,`providerUserId`],t),N(i,[`kind`,`emailHashHex`],t);break;default:throw Error(`${t} response has invalid authority factor`)}let a=We(n);if(!a)throw Error(`${t} response has invalid authority`);return a}function Ht(e){let t=`Wallet registration finalize`,n=M({responseName:t,field:`authMethod`,value:e.response.authMethod});if(String(e.authority.walletId)!==String(e.walletId))throw Error(`${t} response authority wallet mismatch`);switch(n.kind){case`passkey`:{if(N(n,[`kind`,`credentialIdB64u`,`credentialPublicKeyB64u`],t),!S(e.authority))throw Error(`${t} response has inconsistent passkey authority`);let r=I(e.response.rpId,t),i=j({responseName:t,field:`authMethod.credentialIdB64u`,value:n.credentialIdB64u});if(String(e.authority.factor.credentialIdB64u)!==i||String(e.authority.verifier.rpId)!==String(r))throw Error(`${t} response passkey authority binding mismatch`);return{kind:`passkey`,rpId:r,authMethod:{kind:`passkey`,credentialIdB64u:i,credentialPublicKeyB64u:j({responseName:t,field:`authMethod.credentialPublicKeyB64u`,value:n.credentialPublicKeyB64u})}}}case`email_otp`:if(N(n,[`kind`,`registrationAuthorityId`],t),S(e.authority)||e.response.rpId!==void 0)throw Error(`${t} response has inconsistent email OTP authority`);return{kind:`email_otp`,authMethod:{kind:`email_otp`,registrationAuthorityId:j({responseName:t,field:`authMethod.registrationAuthorityId`,value:n.registrationAuthorityId})}};default:throw Error(`${t} response has invalid authMethod`)}}function Ut(e){let t=`Wallet registration finalize`,n=M({responseName:t,field:`accountProvisioning`,value:e});switch(n.kind){case`implicit_account`:if(N(n,[`kind`,`accountIdSource`],t),n.accountIdSource!==`ed25519_public_key`)throw Error(`${t} response has invalid implicit account provisioning`);return{kind:`implicit_account`,accountIdSource:`ed25519_public_key`};case`sponsored_named_account`:{N(n,[`kind`,`requestedAccountId`,`sponsor`],t);let e=ge(n.requestedAccountId);if(!e.ok||n.sponsor!==`relayer`)throw Error(`${t} response has invalid named account provisioning`);return{kind:`sponsored_named_account`,requestedAccountId:e.value,sponsor:`relayer`}}default:throw Error(`${t} response has invalid accountProvisioning kind`)}}function Wt(e){let t=`Wallet registration finalize`,n=M({responseName:t,field:`resolvedAccount`,value:e});switch(n.kind){case`implicit_account`:{N(n,[`kind`,`nearAccountId`,`nearEd25519SigningKeyId`],t);let e=ve(n.nearAccountId);if(!e.ok)throw Error(`${t} response has invalid implicit nearAccountId`);return{kind:`implicit_account`,nearAccountId:e.value,nearEd25519SigningKeyId:Je(n.nearEd25519SigningKeyId)}}case`sponsored_named_account`:{N(n,[`kind`,`nearAccountId`,`nearEd25519SigningKeyId`,`transactionHash`],t);let e=ge(n.nearAccountId);if(!e.ok)throw Error(`${t} response has invalid named nearAccountId`);return{kind:`sponsored_named_account`,nearAccountId:e.value,nearEd25519SigningKeyId:Je(n.nearEd25519SigningKeyId),transactionHash:j({responseName:t,field:`resolvedAccount.transactionHash`,value:n.transactionHash})}}default:throw Error(`${t} response has invalid resolvedAccount kind`)}}function Gt(e){let t=`Wallet registration finalize`,n=M({responseName:t,field:`ecdsa`,value:e.value});if(N(n,[`walletKeys`],t),!Array.isArray(n.walletKeys)||n.walletKeys.length===0)throw Error(`${t} response has invalid walletKeys`);let r=new Set;return{walletKeys:n.walletKeys.map(n=>{let i=Rt(n,t);if(i.walletId!==String(e.walletId))throw Error(`${t} response ECDSA walletId mismatch`);if(String(i.publicCapability.client_id)!==String(e.walletId)||i.publicCapability.public_identity.context_binding_b64u!==i.contextBinding32B64u||i.publicCapability.public_identity.derivation_client_share_public_key33_b64u!==i.derivationClientSharePublicKey33B64u||i.publicCapability.public_identity.threshold_public_key33_b64u!==i.thresholdEcdsaPublicKeyB64u||i.publicCapability.public_identity.client_share_retry_counter!==i.clientShareRetryCounter||i.publicCapability.public_identity.server_share_retry_counter!==i.relayerShareRetryCounter)throw Error(`${t} response ECDSA public capability mismatch`);let a=Ae(i.chainTarget);if(r.has(a))throw Error(`${t} response has duplicate ECDSA target ${a}`);return r.add(a),i})}}function Kt(e){let t=`Wallet registration finalize`,n=Ft(e.response.authorityScope,t),r=Ut(e.response.accountProvisioning),i=Wt(e.response.resolvedAccount),a=Lt(e.response.ed25519,t);if(r.kind!==i.kind||i.nearAccountId!==a.nearAccountId||i.nearEd25519SigningKeyId!==a.nearEd25519SigningKeyId)throw Error(`${t} response has inconsistent Ed25519 identity`);if(n.kind===`passkey_rp`&&(!S(e.authority)||String(e.authority.verifier.rpId)!==String(n.rpId))||n.kind===`email_otp`&&(S(e.authority)||e.authority.factor.provider!==n.provider||String(e.authority.factor.providerUserId)!==n.providerUserId))throw Error(`${t} response authorityScope mismatch`);return{authorityScope:n,accountProvisioning:r,resolvedAccount:i,ed25519:a}}function qt(e){let t=`Wallet registration finalize`,n=M({responseName:t,field:`body`,value:e.value});if(N(n,[`ok`,`walletId`,`authority`,`foundingAuthority`,`foundingAuthMethod`,`registrationDiagnostics`,`rpId`,`authMethod`,`walletCustody`,`custodyKeyManifestDigestB64u`,`kind`,`authorityScope`,`accountProvisioning`,`resolvedAccount`,`ed25519`,`ecdsa`],t),n.ok!==!0||n.kind!==e.expectedKind)throw Error(`${t} response substituted signer branch`);let r=Ye(j({responseName:t,field:`walletId`,value:n.walletId})),i=Vt(n.authority),a=Ie(n.foundingAuthority),o=Ke(n.foundingAuthMethod);if(!a.ok)throw Error(`${t} response has an invalid founding authority: ${a.error.message}`);if(a.value.state!==`active`)throw Error(`${t} response has an inactive founding authority`);if(!o)throw Error(`${t} response has an invalid founding auth method`);if(o.status!==`active`)throw Error(`${t} response has an inactive founding auth method`);if(a.value.walletId!==r||o.walletId!==r)throw Error(`${t} response changed the founding wallet identity`);if(o.walletAuthorityId!==a.value.authorityId)throw Error(`${t} response has mismatched founding authority identities`);if(o.walletAuthMethodId!==i.bindingId)throw Error(`${t} response has mismatched founding auth-method identities`);let s=Ht({response:n,walletId:r,authority:i}),c=n.registrationDiagnostics===void 0?void 0:Bt(n.registrationDiagnostics),l=n.walletCustody===void 0?{}:{walletCustody:we(n.walletCustody,t)},u=n.custodyKeyManifestDigestB64u===void 0?void 0:j({responseName:t,field:`custodyKeyManifestDigestB64u`,value:n.custodyKeyManifestDigestB64u});if(u!==void 0&&ne(u).byteLength!==32)throw Error(`${t} response has invalid custodyKeyManifestDigestB64u`);let d=u===void 0?{}:{custodyKeyManifestDigestB64u:u};switch(n.kind){case`near_ed25519`:{if(n.ecdsa!==void 0)throw Error(`${t} response mixed signer branches`);let e=Kt({response:n,authority:i});return s.kind===`passkey`?{ok:!0,walletId:r,authority:i,foundingAuthority:a.value,foundingAuthMethod:o,...c?{registrationDiagnostics:c}:{},...l,...d,rpId:s.rpId,authMethod:s.authMethod,kind:`near_ed25519`,authorityScope:e.authorityScope,accountProvisioning:e.accountProvisioning,resolvedAccount:e.resolvedAccount,ed25519:e.ed25519}:{ok:!0,walletId:r,authority:i,foundingAuthority:a.value,foundingAuthMethod:o,...c?{registrationDiagnostics:c}:{},...l,...d,authMethod:s.authMethod,kind:`near_ed25519`,authorityScope:e.authorityScope,accountProvisioning:e.accountProvisioning,resolvedAccount:e.resolvedAccount,ed25519:e.ed25519}}case`evm_family_ecdsa`:{if(n.authorityScope!==void 0||n.accountProvisioning!==void 0||n.resolvedAccount!==void 0||n.ed25519!==void 0)throw Error(`${t} response mixed signer branches`);let e=Gt({value:n.ecdsa,walletId:r});return s.kind===`passkey`?{ok:!0,walletId:r,authority:i,foundingAuthority:a.value,foundingAuthMethod:o,...c?{registrationDiagnostics:c}:{},...l,...d,rpId:s.rpId,authMethod:s.authMethod,kind:`evm_family_ecdsa`,ecdsa:e}:{ok:!0,walletId:r,authority:i,foundingAuthority:a.value,foundingAuthMethod:o,...c?{registrationDiagnostics:c}:{},...l,...d,authMethod:s.authMethod,kind:`evm_family_ecdsa`,ecdsa:e}}default:throw Error(`${t} response has invalid kind`)}}const Jt=`/wallets/register/respond`,Yt=`/wallets/register/activate`,Xt=`/wallets/register/near-provisioning`,R=`X-Seams-Environment-Id`;function Zt(e){let t=[Jt];e.evmFamilyEcdsa&&t.push(Yt),e.nearEd25519&&(e.evmFamilyEcdsa&&t.push(`/wallets/register/near-admission`),t.push(Pe,Xt,ue,de)),m(e.relayerUrl,t)}function z(e){try{return new TextEncoder().encode(String(e||``)).length}catch{return String(e||``).length}}function Qt(){try{return globalThis.__SEAMS_REGISTRATION_BENCHMARK_DIAGNOSTICS===!0}catch{return!1}}function $t(e){if(!(!e.value||typeof e.value!=`object`||Array.isArray(e.value))&&!(Object.keys(e.out).length>=64))for(let[t,n]of Object.entries(e.value)){if(Object.keys(e.out).length>=64)return;let r=e.path?`${e.path}.${t}`:t;typeof n==`string`?e.out[`${r}Bytes`]=z(n):Array.isArray(n)?e.out[`${r}Count`]=n.length:e.depth>0&&n&&typeof n==`object`&&$t({value:n,out:e.out,path:r,depth:e.depth-1})}}function en(e){let t={};return $t({value:e,out:t,path:``,depth:2}),t}function tn(e){try{return JSON.parse(e)}catch{return}}function B(e,t){if(!(typeof e!=`object`||!e||Array.isArray(e)))return Reflect.get(e,t)}async function nn(e){try{return await e.text()}catch{return`{}`}}async function V(e){let t=Date.now(),n=JSON.stringify(e.body),r=await fetch(`${te(e.relayerUrl,{trim:!1})}${e.path}`,ee({headers:{...e.headers,"X-Seams-Wallet-Protocol":`5`},body:e.body,bodyJson:n}));if(e.onServerTiming)try{e.onServerTiming(r.headers.get(`Server-Timing`))}catch{}let i=await nn(r),a=tn(i);if(Qt()&&console.info(`[Registration] wallet route payload summary`,{path:e.path,status:r.status,requestBytes:z(n),requestSizeBreakdown:en(e.body),responseBytes:z(i),responseSizeBreakdown:en(a),totalMs:Date.now()-t}),!r.ok||B(a,`ok`)===!1){let e=String(B(a,`code`)||``).trim(),t=String(B(a,`message`)||B(a,`error`)||e||`HTTP ${r.status}`);throw Object.assign(Error(t),e?{code:e}:{})}return a}const rn=[`ok`,`walletId`,`nearAccountId`,`fundedAmountYocto`],an=[`transactionHash`,`message`],on=[`ok`,`code`,`message`];function sn(e,t){if(typeof e!=`object`||!e||Array.isArray(e))throw Error(`${t} must be an object`);return e}function cn(e,t,n,r){let i=new Set([...t,...n]),a=Object.keys(e);if(a.some(e=>!i.has(e)))throw Error(`${r} contains unexpected fields`);for(let e of t)if(!a.includes(e))throw Error(`${r}.${e} is required`)}function H(e,t){return Reflect.get(e,t)}function ln(e,t){if(typeof e!=`string`||e.trim().length===0)throw Error(`${t} must be a non-empty string`);return e.trim()}function un(e,t){if(e!==void 0){if(typeof e!=`string`)throw Error(`${t} must be a string`);return e}}function dn(e){let t=sn(e,`fund implicit NEAR account response`),n=H(t,`ok`);if(n===!0){cn(t,rn,an,`fund implicit NEAR account success response`);let e=c(H(t,`walletId`));if(!e.ok)throw Error(`fund implicit NEAR account walletId is invalid`);let n=ve(H(t,`nearAccountId`));if(!n.ok)throw Error(`fund implicit NEAR account nearAccountId is invalid`);let r=un(H(t,`transactionHash`),`fund implicit NEAR account transactionHash`),i=un(H(t,`message`),`fund implicit NEAR account message`);return{ok:!0,walletId:e.value,nearAccountId:n.value,fundedAmountYocto:ln(H(t,`fundedAmountYocto`),`fund implicit NEAR account fundedAmountYocto`),...r===void 0?{}:{transactionHash:r},...i===void 0?{}:{message:i}}}if(n===!1)return cn(t,on,[],`fund implicit NEAR account failure response`),{ok:!1,code:ln(H(t,`code`),`fund implicit NEAR account code`),message:ln(H(t,`message`),`fund implicit NEAR account message`)};throw Error(`fund implicit NEAR account response has an invalid ok discriminator`)}async function fn(e){let t=String(e.walletId||``).trim(),n=String(e.nearAccountId||``).trim(),r=String(e.nearPublicKeyStr||``).trim(),i=String(e.walletSessionToken||``).trim();if(!t)throw Error(`walletId is required for implicit NEAR account funding`);if(!n)throw Error(`nearAccountId is required for implicit NEAR account funding`);if(!r)throw Error(`nearPublicKeyStr is required for implicit NEAR account funding`);if(!i)throw Error(`walletSessionToken is required for implicit NEAR account funding`);return dn(await V({relayerUrl:e.relayerUrl,path:`/wallets/${encodeURIComponent(t)}/near/implicit-account/fund`,headers:f({token:i,missingMessage:`walletSessionToken is required for implicit NEAR account funding`}),body:{nearAccountId:n,nearPublicKeyStr:r}}))}function pn(e){let t=String(e||``).trim();if(!t)throw Error(`Registration preparation id is required`);return t}const mn=[`formatVersion`,`walletId`,`evmFamilySigningKeySlotId`,`ecdsaThresholdKeyId`,`signingRootId`,`signingRootVersion`,`keyScope`,`relayerKeyId`,`registrationPreparationId`,`requestId`,`thresholdSessionId`,`ttlMs`,`remainingUses`,`participantIds`,`runtimePolicyScope`];function U(e){if(e.value===null||typeof e.value!=`object`||Array.isArray(e.value))throw Error(`${e.responseName} response missing ${e.field}`);return e.value}function W(e,t,n){if(!Object.keys(e).includes(t))throw Error(`${n} is missing ${t}`);return Reflect.get(e,t)}function G(e,t,n){if(Object.keys(e).includes(t))return Reflect.get(e,t)}function K(e,t,n){let r=new Set(t);for(let t of Object.keys(e))if(!r.has(t))throw Error(`${n} contains unexpected ${t}`)}function q(e,t){if(!Array.isArray(e))throw Error(`${t} must be an array`);return e}function hn(e,t){return Object.keys(e).includes(t)}function gn(e,t){if(typeof e!=`string`||e.length===0||e.trim()!==e)throw Error(`${t} must be a non-empty canonical string`);return e}function _n(e,t,n){if(typeof e!=`number`||!Number.isSafeInteger(e)||e<n)throw Error(`${t} must be a safe integer`);return e}function J(e,t,n){return gn(W(e,t,n),`${n}.${t}`)}function Y(e,t,n){if(hn(e,t))return gn(W(e,t,n),`${n}.${t}`)}function X(e,t,n,r){return _n(W(e,t,n),`${n}.${t}`,r)}function vn(e,t){let n=q(e,t);if(n.length===0)throw Error(`${t} must not be empty`);let r=[];for(let e=0;e<n.length;e+=1)r.push(_n(n[e],`${t}[${e}]`,1));return r}function yn(e,t){let n=vn(e,t);if(n.length!==2||n[0]!==1||n[1]!==2)throw Error(`${t} must be [1, 2]`);return[1,2]}function bn(e,t,n=!1){if(e===void 0)return;let r=`${t} runtimePolicyScope`,i=U({responseName:r,field:`value`,value:e});K(i,[`orgId`,`projectId`,`envId`,`signingRootVersion`],r);let a=Y(i,`signingRootVersion`,r);if(n&&a===void 0)throw Error(`${r}.signingRootVersion is required`);let o={orgId:J(i,`orgId`,r),projectId:J(i,`projectId`,r),envId:J(i,`envId`,r)};return a===void 0?o:{...o,signingRootVersion:a}}function xn(e,t){let n=bn(e,t,!0);if(!n||n.signingRootVersion===void 0)throw Error(`${t} runtimePolicyScope is invalid`);return{orgId:n.orgId,projectId:n.projectId,envId:n.envId,signingRootVersion:n.signingRootVersion}}function Sn(e){let t=`Wallet registration setup intent authMethod`,n=U({responseName:t,field:`value`,value:e});switch(J(n,`kind`,t)){case`passkey`:if(K(n,[`kind`,`rpId`,`authenticatorOptions`],t),!r(J(n,`rpId`,t)).ok)throw Error(`${t}.rpId is invalid`);if(!hn(n,`authenticatorOptions`))break;if(W(n,`authenticatorOptions`,t)===void 0)throw Error(`${t}.authenticatorOptions must be defined when present`);break;case`email_otp`:switch(J(n,`proofKind`,t)){case`otp_challenge`:K(n,[`kind`,`proofKind`,`email`,`providerSubject`,`otpCode`,`challengeId`],t),Y(n,`challengeId`,t),J(n,`email`,t),J(n,`providerSubject`,t),J(n,`otpCode`,t);break;case`google_sso_registration`:K(n,[`kind`,`proofKind`,`email`,`providerSubject`,`googleEmailOtpRegistrationAttemptId`,`googleEmailOtpRegistrationOfferId`,`googleEmailOtpRegistrationCandidateId`],t),J(n,`email`,t),J(n,`providerSubject`,t),J(n,`googleEmailOtpRegistrationAttemptId`,t),J(n,`googleEmailOtpRegistrationOfferId`,t),J(n,`googleEmailOtpRegistrationCandidateId`,t);break;default:throw Error(`${t}.proofKind is invalid`)}break;default:throw Error(`${t}.kind is invalid`)}let i=qe(e);if(!i)throw Error(`${t} is invalid`);return i}function Cn(e){let t=`Wallet registration setup intent accountProvisioning`,n=U({responseName:t,field:`value`,value:e}),r=J(n,`kind`,t);switch(r){case`implicit_account`:if(K(n,[`kind`,`accountIdSource`],t),J(n,`accountIdSource`,t)!==`ed25519_public_key`)throw Error(`${t}.accountIdSource is invalid`);return{kind:r,accountIdSource:`ed25519_public_key`};case`sponsored_named_account`:{if(K(n,[`kind`,`requestedAccountId`,`sponsor`],t),J(n,`sponsor`,t)!==`relayer`)throw Error(`${t}.sponsor is invalid`);let e=ge(J(n,`requestedAccountId`,t));if(!e.ok)throw Error(`${t}.requestedAccountId is invalid`);return{kind:r,requestedAccountId:e.value,sponsor:`relayer`}}default:throw Error(`${t}.kind is invalid`)}}function wn(e,t){switch(e.kind){case`evm`:return t.kind===`evm`&&e.namespace===t.namespace&&e.chainId===t.chainId&&e.networkSlug===t.networkSlug;case`tempo`:return t.kind===`tempo`&&e.chainId===t.chainId&&e.networkSlug===t.networkSlug;default:return Tn(e)}}function Tn(e){throw Error(`Unsupported wallet registration setup chain target: ${String(e)}`)}function Z(e,t){let n=U({responseName:t,field:`chainTarget`,value:e}),r=J(n,`kind`,t);switch(r){case`evm`:{if(K(n,[`kind`,`namespace`,`chainId`,`networkSlug`],t),J(n,`namespace`,t)!==`eip155`)throw Error(`${t}.namespace is invalid`);let e=X(n,`chainId`,t,1),i=Y(n,`networkSlug`,t);return i===void 0?{kind:r,namespace:`eip155`,chainId:e}:{kind:r,namespace:`eip155`,chainId:e,networkSlug:i}}case`tempo`:{K(n,[`kind`,`chainId`,`networkSlug`],t);let e=X(n,`chainId`,t,1),i=Y(n,`networkSlug`,t);return i===void 0?{kind:r,chainId:e}:{kind:r,chainId:e,networkSlug:i}}default:throw Error(`${t}.kind is invalid`)}}function En(e){try{return Z(e,`Wallet registration setup intent`)}catch{return null}}function Dn(e){let t=`Wallet registration setup intent signer`,n=U({responseName:t,field:`value`,value:e}),r=J(n,`kind`,t);switch(r){case`near_ed25519`:if(K(n,[`kind`,`accountProvisioning`,`signerSlot`,`participantIds`,`derivationVersion`],t),X(n,`derivationVersion`,t,1)!==1)throw Error(`${t}.derivationVersion is invalid`);return{kind:r,accountProvisioning:Cn(W(n,`accountProvisioning`,t)),signerSlot:X(n,`signerSlot`,t,1),participantIds:vn(W(n,`participantIds`,t),`${t}.participantIds`),derivationVersion:1};case`evm_family_ecdsa`:{K(n,[`kind`,`participantIds`,`chainTargets`],t);let e=q(W(n,`chainTargets`,t),`${t}.chainTargets`);if(e.length===0)throw Error(`${t}.chainTargets must not be empty`);let i=[];for(let n of e){let e=Z(n,`${t}.chainTargets`);if(i.some(t=>wn(t,e)))throw Error(`${t}.chainTargets contains a duplicate target`);i.push(e)}return{kind:r,participantIds:vn(W(n,`participantIds`,t),`${t}.participantIds`),chainTargets:i}}default:throw Error(`${t}.kind is invalid`)}}function On(e){let t=`Wallet registration setup intent signerSelection`,n=U({responseName:t,field:`value`,value:e});if(K(n,[`kind`,`signers`],t),J(n,`kind`,t)!==`signer_set`)throw Error(`${t}.kind is invalid`);let r=q(W(n,`signers`,t),`${t}.signers`);if(r.length===0)throw Error(`${t}.signers must not be empty`);let i=[];for(let e of r)i.push(Dn(e));return{kind:`signer_set`,signers:i}}function kn(e){let n=`Wallet registration setup intent`,r=U({responseName:n,field:`intent`,value:e});if(K(r,[`version`,`completion`,`walletId`,`authMethod`,`signerSelection`,`foundingWalletAuthMethodId`,`runtimePolicyScope`,`nonceB64u`],n),J(r,`version`,n)!==`registration_intent_v1`)throw Error(`${n}.version is invalid`);let i=J(r,`completion`,n);if(i!==`wallet_session`&&i!==`owner_operations`)throw Error(`Invalid registration completion`);let a=c(J(r,`walletId`,n));if(!a.ok)throw Error(`${n}.walletId is invalid`);let o=t(J(r,`foundingWalletAuthMethodId`,n));if(!o.ok)throw Error(`${n}.foundingWalletAuthMethodId is invalid`);let s=Sn(W(r,`authMethod`,n)),l=On(W(r,`signerSelection`,n)),u=bn(G(r,`runtimePolicyScope`,n),n),d=J(r,`nonceB64u`,n);return u===void 0?{version:`registration_intent_v1`,completion:i,walletId:a.value,authMethod:s,signerSelection:l,foundingWalletAuthMethodId:o.value,nonceB64u:d}:{version:`registration_intent_v1`,completion:i,walletId:a.value,authMethod:s,signerSelection:l,foundingWalletAuthMethodId:o.value,runtimePolicyScope:u,nonceB64u:d}}function An(e){let t=`Wallet add-signer ECDSA derivation`,n=U({responseName:t,field:`response`,value:e});if(K(n,[`ok`,`addSignerCeremonyId`,`ecdsa`],`${t} response`),W(n,`ok`,`${t} response`)!==!0)throw Error(`${t} response is not successful`);let r=U({responseName:t,field:`ecdsa`,value:W(n,`ecdsa`,`${t} response`)});if(K(r,[`kind`,`strictResult`],`${t} response ecdsa`),W(r,`kind`,`${t} response ecdsa`)!==`router_ab_ecdsa_registration_forwarded_v1`)throw Error(`${t} response kind is invalid`);return{ok:!0,addSignerCeremonyId:j({responseName:t,field:`addSignerCeremonyId`,value:W(n,`addSignerCeremonyId`,t)}),ecdsa:{kind:`router_ab_ecdsa_registration_forwarded_v1`,strictResult:Be(W(r,`strictResult`,`${t} response ecdsa`))}}}function jn(e){let t=`Wallet add-signer ECDSA activation`,n=U({responseName:t,field:`response`,value:e});if(K(n,[`ok`,`addSignerCeremonyId`,`ecdsa`],`${t} response`),W(n,`ok`,`${t} response`)!==!0)throw Error(`${t} response is not successful`);let r=U({responseName:t,field:`ecdsa`,value:W(n,`ecdsa`,`${t} response`)});if(K(r,[`kind`,`activation`,`bootstrap`],`${t} response ecdsa`),W(r,`kind`,`${t} response ecdsa`)!==`router_ab_ecdsa_registration_activated_v1`)throw Error(`${t} response kind is invalid`);return{ok:!0,addSignerCeremonyId:j({responseName:t,field:`addSignerCeremonyId`,value:W(n,`addSignerCeremonyId`,t)}),ecdsa:{kind:`router_ab_ecdsa_registration_activated_v1`,activation:Ue(W(r,`activation`,`${t} response ecdsa`)),bootstrap:it(W(r,`bootstrap`,`${t} response ecdsa`))}}}function Mn(e){return e.authMethod.kind===`email_otp`}function Nn(e){let t=`Wallet add-auth-method intent`,n=U({responseName:t,field:`body`,value:e});if(K(n,[`ok`,`intent`,`addAuthMethodIntentDigestB64u`,`addAuthMethodIntentGrant`,`expiresAtMs`],t),W(n,`ok`,t)!==!0)throw Error(`${t} response is not successful`);let r=be(W(n,`intent`,t)),i;try{i=pe(W(n,`addAuthMethodIntentDigestB64u`,t))}catch{throw Error(`${t} response has invalid addAuthMethodIntentDigestB64u`)}let a=W(n,`addAuthMethodIntentGrant`,t);if(typeof a!=`string`||!a.trim())throw Error(`${t} response is missing addAuthMethodIntentGrant`);return{ok:!0,intent:r,addAuthMethodIntentDigestB64u:i,addAuthMethodIntentGrant:Oe(a),expiresAtMs:P({responseName:t,field:`expiresAtMs`,value:W(n,`expiresAtMs`,t),minimum:1})}}function Pn(e){let t=`Wallet add-signer intent`,n=U({responseName:t,field:`body`,value:e});if(K(n,[`ok`,`intent`,`addSignerIntentDigestB64u`,`addSignerIntentGrant`,`expiresAtMs`],t),W(n,`ok`,t)!==!0)throw Error(`${t} response is not successful`);let r=Ee(W(n,`intent`,t)),i;try{i=pe(W(n,`addSignerIntentDigestB64u`,t))}catch{throw Error(`${t} response has invalid addSignerIntentDigestB64u`)}let a=W(n,`addSignerIntentGrant`,t);if(typeof a!=`string`||!a.trim())throw Error(`${t} response is missing addSignerIntentGrant`);return{ok:!0,intent:r,addSignerIntentDigestB64u:i,addSignerIntentGrant:Te(a),expiresAtMs:P({responseName:t,field:`expiresAtMs`,value:W(n,`expiresAtMs`,t),minimum:1})}}function Fn(e){let t=`Wallet add-auth-method finalize`,i=U({responseName:t,field:`body`,value:e});if(W(i,`ok`,t)!==!0)throw Error(`${t} response is not successful`);let a=U({responseName:t,field:`authMethod`,value:W(i,`authMethod`,t)}),o=W(a,`kind`,`${t} authMethod`);if(o!==`passkey`&&o!==`email_otp`)throw Error(`${t} response has invalid authMethod kind`);let s=c(W(i,`walletId`,t));if(!s.ok)throw Error(`${t} response has invalid walletId`);let l=We(W(i,`authority`,t));if(!l)throw Error(`${t} response has invalid authority`);if(l.walletId!==s.value)throw Error(`${t} response authority wallet mismatch`);if(o===`passkey`){if(K(i,[`ok`,`walletId`,`authority`,`rpId`,`authMethod`],t),K(a,[`kind`,`status`,`credentialIdB64u`,`credentialPublicKeyB64u`,`counter`,`device`],`${t} authMethod`),W(a,`status`,t)!==`active`)throw Error(`${t} response has invalid authMethod status`);if(l.factor.kind!==`passkey`||l.verifier.kind!==`webauthn`)throw Error(`${t} response has inconsistent passkey authority`);let e=r(W(i,`rpId`,t));if(!e.ok)throw Error(`${t} response has invalid rpId`);let o=n(W(a,`credentialIdB64u`,t));if(!o.ok)throw Error(`${t} response has invalid credentialIdB64u`);let c=W(a,`credentialPublicKeyB64u`,t);if(typeof c!=`string`||!c.trim())throw Error(`${t} response is missing credentialPublicKeyB64u`);let u=W(a,`counter`,t);if(typeof u!=`number`||!Number.isSafeInteger(u)||u<0)throw Error(`${t} response has invalid counter`);let d=Ne(W(a,`device`,t));if(!d)throw Error(`${t} response has invalid device`);if(l.factor.credentialIdB64u!==o.value||l.verifier.rpId!==e.value)throw Error(`${t} response passkey authority binding mismatch`);return{ok:!0,walletId:s.value,authority:l,rpId:e.value,authMethod:{kind:`passkey`,status:`active`,credentialIdB64u:o.value,credentialPublicKeyB64u:c.trim(),counter:u,device:d}}}if(K(i,[`ok`,`walletId`,`authority`,`authMethod`],t),K(a,[`kind`,`status`],`${t} authMethod`),W(a,`status`,t)!==`active`)throw Error(`${t} response has invalid authMethod status`);if(l.factor.kind!==`email_otp`||l.verifier.kind!==`email_otp_wallet_auth_method`)throw Error(`${t} response has inconsistent email OTP authority`);return{ok:!0,walletId:s.value,authority:l,authMethod:{kind:`email_otp`,status:`active`}}}function In(e){let t=`Wallet add-auth-method start`,n=U({responseName:t,field:`body`,value:e.value});if(W(n,`ok`,t)!==!0)throw Error(`${t} response is not successful`);let r=j({responseName:t,field:`addAuthMethodCeremonyId`,value:W(n,`addAuthMethodCeremonyId`,t)}),i=Rn(W(n,`intent`,t),e.expectedIntent);return e.expectedIntent.authMethod.kind===`email_otp`?(K(n,[`ok`,`addAuthMethodCeremonyId`,`intent`,`custodyEnvelope`,`addAuthMethodCeremonyExpiresAtMs`],t),{ok:!0,addAuthMethodCeremonyId:r,intent:i,custodyEnvelope:y(W(n,`custodyEnvelope`,t)),addAuthMethodCeremonyExpiresAtMs:P({responseName:t,field:`addAuthMethodCeremonyExpiresAtMs`,value:W(n,`addAuthMethodCeremonyExpiresAtMs`,t),minimum:1})}):(K(n,[`ok`,`addAuthMethodCeremonyId`,`intent`,`custodyEnvelope`,`registration`,`addAuthMethodCeremonyExpiresAtMs`],t),{ok:!0,addAuthMethodCeremonyId:r,intent:i,custodyEnvelope:y(W(n,`custodyEnvelope`,t)),registration:Me(W(n,`registration`,t)),addAuthMethodCeremonyExpiresAtMs:P({responseName:t,field:`addAuthMethodCeremonyExpiresAtMs`,value:W(n,`addAuthMethodCeremonyExpiresAtMs`,t),minimum:1})})}function Ln(e,t){try{if(!xe(Ee(e),t))throw Error(`intent mismatch`)}catch{throw Error(`Wallet add-signer start response changed the admitted intent`)}return t}function Rn(e,t){try{if(!De(be(e),t))throw Error(`intent mismatch`)}catch{throw Error(`Wallet add-auth-method start response changed the admitted intent`)}return t}function zn(e,t){let n=U({responseName:t,field:`ecdsa.prepare`,value:e});if(K(n,mn,t),W(n,`formatVersion`,t)!==`ecdsa-derivation-role-local`||W(n,`keyScope`,t)!==`evm-family`)throw Error(`${t} response has invalid prepare discriminator`);let r=re(W(n,`runtimePolicyScope`,t));if(!r)throw Error(`${t} response has invalid runtimePolicyScope`);return{formatVersion:`ecdsa-derivation-role-local`,walletId:j({responseName:t,field:`prepare.walletId`,value:W(n,`walletId`,t)}),evmFamilySigningKeySlotId:j({responseName:t,field:`prepare.evmFamilySigningKeySlotId`,value:W(n,`evmFamilySigningKeySlotId`,t)}),ecdsaThresholdKeyId:j({responseName:t,field:`prepare.ecdsaThresholdKeyId`,value:W(n,`ecdsaThresholdKeyId`,t)}),signingRootId:j({responseName:t,field:`prepare.signingRootId`,value:W(n,`signingRootId`,t)}),signingRootVersion:j({responseName:t,field:`prepare.signingRootVersion`,value:W(n,`signingRootVersion`,t)}),keyScope:`evm-family`,relayerKeyId:j({responseName:t,field:`prepare.relayerKeyId`,value:W(n,`relayerKeyId`,t)}),registrationPreparationId:pn(j({responseName:t,field:`prepare.registrationPreparationId`,value:W(n,`registrationPreparationId`,t)})),requestId:j({responseName:t,field:`prepare.requestId`,value:W(n,`requestId`,t)}),thresholdSessionId:j({responseName:t,field:`prepare.thresholdSessionId`,value:W(n,`thresholdSessionId`,t)}),ttlMs:P({responseName:t,field:`prepare.ttlMs`,value:W(n,`ttlMs`,t),minimum:1}),remainingUses:P({responseName:t,field:`prepare.remainingUses`,value:W(n,`remainingUses`,t),minimum:0}),participantIds:[...F(W(n,`participantIds`,t),t)],runtimePolicyScope:r}}function Bn(e,t){let n=U({responseName:t,field:`ecdsa.prepare`,value:e});if(K(n,mn,t),W(n,`formatVersion`,t)!==`ecdsa-derivation-role-local`||W(n,`keyScope`,t)!==`evm-family`)throw Error(`${t} response has invalid prepare discriminator`);for(let e of[`walletId`,`evmFamilySigningKeySlotId`,`ecdsaThresholdKeyId`,`signingRootId`,`signingRootVersion`,`relayerKeyId`,`registrationPreparationId`,`requestId`,`thresholdSessionId`])J(n,e,t);X(n,`ttlMs`,t,1),X(n,`remainingUses`,t,0),yn(W(n,`participantIds`,t),`${t}.participantIds`),xn(W(n,`runtimePolicyScope`,t),t)}function Vn(e){let t=`Wallet registration setup ECDSA`,n=U({responseName:t,field:`ecdsa`,value:e});if(K(n,[`kind`,`chainTargets`,`prepare`,`strictRegistration`],t),W(n,`kind`,t)!==`evm_family_ecdsa_keygen`)throw Error(`${t} response has an invalid kind`);let r=W(n,`chainTargets`,t);if(!Array.isArray(r)||r.length===0)throw Error(`${t} response has invalid chainTargets`);let i=[];for(let e of r){let n=Z(e,`${t}.chainTargets`);if(i.some(e=>wn(e,n)))throw Error(`${t} response has duplicate chainTargets`);i.push(n)}let[a,...o]=i;if(!a)throw Error(`${t} response has invalid chainTargets`);let s=W(n,`prepare`,t);Bn(s,t);let c=zn(s,t),l=ze(W(n,`strictRegistration`,t));if(l.registration_purpose!==`wallet_registration`)throw Error(`${t} response has an invalid registration purpose`);return{kind:`evm_family_ecdsa_keygen`,chainTargets:[a,...o],prepare:c,strictRegistration:l}}function Hn(e){let t=!1,n=!1;for(let r of e.signerSelection.signers)switch(r.kind){case`near_ed25519`:t=!0;break;case`evm_family_ecdsa`:n=!0;break;default:return Un(r)}if(t&&n)return`near_ed25519_and_evm_family_ecdsa`;if(n)return`evm_family_ecdsa`;if(t)return`near_ed25519`;throw Error(`Wallet registration setup intent has no signer branch`)}function Un(e){throw Error(`Unsupported wallet registration setup signer: ${String(e)}`)}function Wn(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n+=1)if(e[n]!==t[n])return!1;return!0}function Gn(e,t){return e!==void 0&&e.orgId===t.orgId&&e.projectId===t.projectId&&e.envId===t.envId&&e.signingRootVersion===t.signingRootVersion}function Kn(e,t){try{return wn(Z(e,`Wallet registration setup intent`),t)}catch{return!1}}function qn(e){let t=e.intent.signerSelection.signers.find(e=>e.kind===`evm_family_ecdsa`);if(!t)throw Error(`${e.responseName} response has no ECDSA intent branch`);if(t.chainTargets.length!==e.ecdsa.chainTargets.length||t.chainTargets.some((t,n)=>!Kn(t,e.ecdsa.chainTargets[n])))throw Error(`${e.responseName} response ECDSA chainTargets do not match intent`);if(!Wn(t.participantIds,e.ecdsa.prepare.participantIds))throw Error(`${e.responseName} response ECDSA participantIds do not match intent`);if(e.ecdsa.prepare.walletId!==String(e.walletId))throw Error(`${e.responseName} response ECDSA prepare walletId does not match response`);if(!Gn(e.intent.runtimePolicyScope,e.ecdsa.prepare.runtimePolicyScope))throw Error(`${e.responseName} response ECDSA runtimePolicyScope does not match intent`);let n=e.ecdsa.strictRegistration.lifecycle;if(n.lifecycle_id!==e.registrationCeremonyId||n.account_id!==String(e.walletId)||e.ecdsa.strictRegistration.client_id!==String(e.walletId))throw Error(`${e.responseName} response ECDSA identities do not match response`)}function Jn(e){let n=`Wallet registration setup`,r=U({responseName:n,field:`body`,value:e});if(W(r,`ok`,n)!==!0)throw Error(`${n} response is not successful`);let i=W(r,`kind`,n);if(i!==`near_ed25519`&&i!==`evm_family_ecdsa`&&i!==`near_ed25519_and_evm_family_ecdsa`)throw Error(`${n} response kind is invalid`);let a=i!==`near_ed25519`;K(r,[`ok`,`registrationCeremonyId`,`walletId`,`walletAuthMethodId`,`registrationIntentDigestB64u`,`intent`,`signedSetup`,`home`,`kind`,a?`ecdsa`:`ed25519`],n);let o=J(r,`registrationCeremonyId`,n),s=c(J(r,`walletId`,n));if(!s.ok)throw Error(`${n} response has an invalid walletId`);let l=t(J(r,`walletAuthMethodId`,n));if(!l.ok)throw Error(`${n} response has an invalid walletAuthMethodId`);let u=kn(W(r,`intent`,n));if(u.walletId!==s.value)throw Error(`${n} response walletId does not match intent`);if(u.foundingWalletAuthMethodId!==l.value)throw Error(`${n} response walletAuthMethodId does not match intent`);let d;try{d=pe(W(r,`registrationIntentDigestB64u`,n))}catch{throw Error(`${n} response has an invalid registrationIntentDigestB64u`)}let f=se(W(r,`home`,n)),p=W(r,`signedSetup`,n);if(typeof p!=`string`||!p.trim())throw Error(`${n} response missing signedSetup`);if(!a){if(Hn(u)!==i)throw Error(`${n} response kind does not match intent`);return{ok:!0,registrationCeremonyId:o,walletId:s.value,walletAuthMethodId:l.value,registrationIntentDigestB64u:d,intent:u,signedSetup:p,home:f,kind:`near_ed25519`,ed25519:Yn(W(r,`ed25519`,n),{registrationCeremonyId:o,walletId:s.value})}}let m=Vn(W(r,`ecdsa`,n));if(Hn(u)!==i)throw Error(`${n} response kind does not match intent`);return qn({responseName:n,registrationCeremonyId:o,walletId:s.value,intent:u,ecdsa:m}),{ok:!0,registrationCeremonyId:o,walletId:s.value,walletAuthMethodId:l.value,registrationIntentDigestB64u:d,intent:u,signedSetup:p,home:f,kind:i,ecdsa:m}}function Yn(e,t){let n=`Wallet registration setup ed25519`,r=U({responseName:n,field:`ed25519`,value:e}),i=W(r,`status`,n);if(i===`after_proof`)return K(r,[`status`],n),{status:`after_proof`};if(i!==`described`)throw Error(`${n} status is invalid`);K(r,[`status`,`admissionRequest`,`admissionReceipt`],n);let a=x(W(r,`admissionRequest`,n)),o=Le(W(r,`admissionReceipt`,n));if(!a.ok||!o.ok)throw Error(`${n} request or receipt is invalid`);if(a.value.scope.lifecycle_id!==t.registrationCeremonyId||a.value.scope.account_id!==t.walletId||a.value.application_binding.wallet_id!==t.walletId||o.value.binding.lifecycle.lifecycle_id!==t.registrationCeremonyId||o.value.binding.lifecycle.account_id!==t.walletId)throw Error(`${n} admission does not belong to this registration`);return{status:`described`,admissionRequest:a.value,admissionReceipt:o.value}}function Xn(e){let t=e.completion??`wallet_session`;if(t!==`wallet_session`&&t!==`owner_operations`)throw Error(`Invalid registration completion`);let n=qe(e.authMethod);if(!n)throw Error(`Wallet registration setup request authMethod is invalid`);let r=Xe(e.signerSelection);if(!r.ok)throw Error(`Wallet registration setup request signerSelection is invalid: ${r.message}`);let i=Ze(r.value,{normalizeEcdsaChainTarget:En});if(!i.ok)throw Error(`Wallet registration setup request signerSelection is invalid: ${i.message}`);return{completion:t,wallet:e.wallet??{kind:`server_allocated`},authMethod:n,signerSelection:i.value}}function Zn(e,t){let n={version:`registration_intent_v1`,completion:t.completion,walletId:e.walletId,authMethod:t.authMethod,signerSelection:t.signerSelection,foundingWalletAuthMethodId:e.foundingWalletAuthMethodId,nonceB64u:e.nonceB64u};return e.runtimePolicyScope===void 0?n:{...n,runtimePolicyScope:e.runtimePolicyScope}}async function Qn(e){if(e.requestedWallet?.kind===`provided`&&String(e.requestedWallet.walletId)!==e.response.walletId)throw Error(`Wallet registration setup response walletId does not match request`);if(await Se(e.response.intent)!==e.response.registrationIntentDigestB64u)throw Error(`Wallet registration setup response digest does not match intent`);if(await Se(Zn(e.response.intent,e.request))!==e.response.registrationIntentDigestB64u)throw Error(`Wallet registration setup response intent does not match request`)}function $n(e,t){let n=`Wallet add-signer ECDSA start`,r=U({responseName:n,field:`ecdsa`,value:e});K(r,[`kind`,`chainTargets`,`prepare`,`strictRegistration`,`custodyEnvelope`],n);let i=W(r,`kind`,n),a=W(r,`chainTargets`,n);if(i!==`evm_family_ecdsa_keygen`||!Array.isArray(a))throw Error(`${n} response has invalid payload`);if(t.signerSelection.mode!==`ecdsa`)throw Error(`${n} response substituted signer branch`);let o=t.signerSelection.ecdsa.chainTargets;if(a.length!==o.length)throw Error(`${n} response changed target count`);let s=[];for(let e=0;e<a.length;e+=1){let t=a[e],r=L(t,n),i=o[e];if(!i||!je(r,L(i,n)))throw Error(`${n} response changed chainTarget`);s.push(r)}let[c,...l]=s;if(!c)throw Error(`${n} response requires an EVM-family target`);let u=zn(W(r,`prepare`,n),n),d=ze(W(r,`strictRegistration`,n));if(d.registration_purpose!==`wallet_add_signer`)throw Error(`${n} response has invalid registration purpose`);return{kind:`evm_family_ecdsa_keygen`,chainTargets:[c,...l],prepare:u,strictRegistration:d}}function er(e){let t=`Wallet add-signer start`,n=U({responseName:t,field:`body`,value:e.value});if(K(n,[`ok`,`addSignerCeremonyId`,`intent`,`authorizationKind`,`kind`,`ed25519`,`ecdsa`],t),W(n,`ok`,t)!==!0)throw Error(`${t} response is not successful`);let r=j({responseName:t,field:`addSignerCeremonyId`,value:W(n,`addSignerCeremonyId`,t)}),i=Ln(W(n,`intent`,t),e.expectedIntent),a=W(n,`authorizationKind`,t);if(a!==`webauthn_assertion`)throw Error(`${t} response has invalid authorization kind`);switch(W(n,`kind`,t)){case`near_ed25519`:{if(a!==`webauthn_assertion`||i.signerSelection.mode!==`ed25519`||G(n,`ecdsa`,t)!==void 0)throw Error(`${t} response substituted signer branch`);let e=U({responseName:t,field:`ed25519`,value:W(n,`ed25519`,t)});K(e,[`admissionRequest`,`custodyEnvelope`],t);let o=x(W(e,`admissionRequest`,t));if(!o.ok)throw Error(o.message);return{ok:!0,addSignerCeremonyId:r,intent:i,authorizationKind:`webauthn_assertion`,kind:`near_ed25519`,ed25519:{admissionRequest:o.value,custodyEnvelope:y(W(e,`custodyEnvelope`,t))}}}case`evm_family_ecdsa`:{if(i.signerSelection.mode!==`ecdsa`||G(n,`ed25519`,t)!==void 0)throw Error(`${t} response substituted signer branch`);let e=W(n,`ecdsa`,t),a=$n(e,i),o=U({responseName:t,field:`ecdsa`,value:e});return{ok:!0,addSignerCeremonyId:r,intent:i,authorizationKind:`webauthn_assertion`,kind:`evm_family_ecdsa`,ecdsa:{...a,custodyEnvelope:y(W(o,`custodyEnvelope`,t))}}}default:throw Error(`${t} response has invalid kind`)}}function tr(e){let t=`Wallet add-signer finalize`,n=U({responseName:t,field:`body`,value:e.value});K(n,[`ok`,`walletId`,`kind`,`rpId`,`credentialIdB64u`,`ed25519`,`ecdsa`,`authority`],t);let r=W(n,`ok`,t),i=W(n,`kind`,t);if(r!==!0||i!==e.expectedKind)throw Error(`${t} response substituted signer branch`);let a=Ye(j({responseName:t,field:`walletId`,value:W(n,`walletId`,t)})),o=I(W(n,`rpId`,t),t);switch(i){case`near_ed25519`:{if(G(n,`ecdsa`,t)!==void 0||G(n,`authority`,t)!==void 0)throw Error(`${t} response mixed signer branches`);let e=It(W(n,`ed25519`,t),`Wallet add-signer Ed25519 finalize`);return{ok:!0,walletId:a,kind:`near_ed25519`,rpId:o,credentialIdB64u:j({responseName:t,field:`credentialIdB64u`,value:W(n,`credentialIdB64u`,t)}),ed25519:e}}case`evm_family_ecdsa`:{if(G(n,`ed25519`,t)!==void 0||G(n,`credentialIdB64u`,t)!==void 0)throw Error(`${t} response mixed signer branches`);let e=U({responseName:t,field:`ecdsa`,value:W(n,`ecdsa`,t)});K(e,[`walletKeys`],t);let r=q(W(e,`walletKeys`,t),`${t} walletKeys`);if(r.length===0)throw Error(`${t} response has invalid walletKeys`);let i=Ie(W(n,`authority`,t));if(!i.ok||i.value.state!==`active`||i.value.walletId!==a)throw Error(`${t} response has invalid authority`);return{ok:!0,walletId:a,kind:`evm_family_ecdsa`,rpId:o,ecdsa:{walletKeys:r.map(nr)},authority:i.value}}default:throw Error(`${t} response has invalid kind`)}}function nr(e){return Rt(e,`Wallet add-signer ECDSA finalize`)}function Q(e){let t=String(e.expected||``).trim(),n=String(e.actual||``).trim();if(!t||!n)throw Error(`ECDSA registration bootstrap returned incomplete ${e.field}`);if(t!==n)throw Error(`ECDSA registration bootstrap ${e.field} mismatch`);return n}function rr(e){let t=e.expected.map(e=>Math.floor(Number(e))),n=e.actual.map(e=>Math.floor(Number(e)));if(t.length===0||n.length===0||t.some(e=>!Number.isSafeInteger(e)||e<=0)||n.some(e=>!Number.isSafeInteger(e)||e<=0))throw Error(`ECDSA registration bootstrap returned incomplete participantIds`);if(t.length!==n.length||t.some((e,t)=>e!==n[t]))throw Error(`ECDSA registration bootstrap participantIds mismatch`);return n}function ir(e){let t=e.clientBootstrap,n=e.serverBootstrap;Q({field:`derivationClientSharePublicKey33B64u`,expected:t.derivationClientSharePublicKey33B64u,actual:n.publicIdentity.derivationClientSharePublicKey33B64u});let r=Q({field:`contextBinding32B64u`,expected:t.contextBinding32B64u,actual:n.contextBinding32B64u}),i=Q({field:`walletId`,expected:t.walletId,actual:n.walletId}),a=Q({field:`evmFamilySigningKeySlotId`,expected:t.evmFamilySigningKeySlotId,actual:n.evmFamilySigningKeySlotId});Q({field:`activationEpoch`,expected:e.activationEpoch,actual:n.activationEpoch});let o=rr({expected:t.participantIds,actual:n.participantIds}),s=Re(n.routerAbEcdsaDerivationNormalSigning),c=String(n.ecdsaThresholdKeyId||``).trim(),l=String(n.keyHandle||``).trim(),u=String(n.signingRootId||``).trim(),d=String(n.signingRootVersion||``).trim(),f=String(n.applicationBindingDigestB64u||``).trim(),p=String(n.thresholdEcdsaPublicKeyB64u||``).trim(),m=String(n.ethereumAddress||``).trim(),ee=String(n.relayerKeyId||``).trim(),te=String(n.relayerVerifyingShareB64u||``).trim(),h=Math.floor(Number(n.relayerShareRetryCounter));if(!i||!a||!l||!c||!u||!d||!f||!p||!m||!ee||!te||!Number.isSafeInteger(h)||h<0||!o.length||o.some(e=>!Number.isSafeInteger(e)||e<=0))throw Error(`ECDSA registration bootstrap returned incomplete session material`);return{walletId:i,evmFamilySigningKeySlotId:a,ecdsaThresholdKeyId:c,relayerKeyId:ee,applicationBindingDigestB64u:f,contextBinding32B64u:r,publicIdentity:n.publicIdentity,relayerShareRetryCounter:h,keyHandle:l,signingRootId:u,signingRootVersion:d,thresholdEcdsaPublicKeyB64u:p,ethereumAddress:m,relayerVerifyingShareB64u:te,participantIds:o,routerAbEcdsaDerivationNormalSigning:s}}function ar(e){let t=`Wallet ECDSA key-facts inventory`,n=U({responseName:t,field:`body`,value:e.value});if(K(n,[`ok`,`ecdsaKeyIdentityTargets`,`diagnostics`],t),W(n,`ok`,t)!==!0)throw Error(`${t} response is not successful`);let r=q(W(n,`ecdsaKeyIdentityTargets`,t),`${t} ecdsaKeyIdentityTargets`);return{ok:!0,records:Pt({walletId:e.walletId,rpId:e.rpId,records:r}),diagnostics:W(n,`diagnostics`,t)}}async function or(e){let t=String(e.auth?.publishableKey||``).trim(),n=String(e.auth?.environmentId||``).trim();if(!t||!n)return{ok:!1,code:`invalid_body`,message:`registration setup requires a publishable key and environment id`};let r=Xn(e.request),i=await Ce({relayerUrl:e.relayerUrl,publishableKey:t,environmentId:n}),a=await ye.begin(i,r),o=Jn(await V({relayerUrl:e.relayerUrl,path:h,headers:{...e.headers,Authorization:`Bearer ${t}`,[R]:n},body:{registrationOperationId:a.operationId,completion:r.completion,wallet:r.wallet,signerSelection:r.signerSelection,authMethod:r.authMethod},...e.onServerTiming?{onServerTiming:e.onServerTiming}:{}}));return o.ok?(await Qn({response:o,...e.request.wallet?{requestedWallet:e.request.wallet}:{},request:r}),await ye.accept(a,o),o):o}async function sr(e){let t=String(e.walletId||``).trim();if(!t)throw Error(`walletId is required for add-signer intent`);let n=String(e.auth.publishableKey||``).trim(),r=String(e.auth.environmentId||``).trim();if(!n||!r)throw Error(`add-signer intent requires a publishable key and environment id`);return Pn(await V({relayerUrl:e.relayerUrl,path:`/wallets/${encodeURIComponent(t)}/signers/intent`,headers:{Authorization:`Bearer ${n}`,[R]:r},body:e.request}))}function cr(e){let t=`Wallet auth-method revoke`,n=U({responseName:t,field:`body`,value:e});if(W(n,`ok`,t)!==!0)throw Error(`${t} response is not successful`);let r=c(W(n,`walletId`,t));if(!r.ok)throw Error(`${t} response has invalid walletId`);let i=U({responseName:t,field:`authMethod`,value:W(n,`authMethod`,t)});if(K(i,[`kind`,`status`],`${t} response authMethod`),W(i,`status`,t)!==`revoked`)throw Error(`${t} response has invalid authMethod status`);let a=W(i,`kind`,t);switch(a){case`passkey`:return K(n,[`ok`,`walletId`,`authMethod`,`rpId`],t),{ok:!0,walletId:r.value,authMethod:{kind:`passkey`,status:`revoked`},rpId:I(W(n,`rpId`,t),t)};case`email_otp`:case`voiceid`:return K(n,[`ok`,`walletId`,`authMethod`],t),{ok:!0,walletId:r.value,authMethod:{kind:a,status:`revoked`}};default:throw Error(`${t} response has invalid authMethod kind`)}}async function lr(e){let t=String(e.walletId||``).trim(),n=String(e.walletAuthMethodId||``).trim();if(!t||!n)throw Error(`auth-method revoke requires a wallet and a target method`);let r={relayerUrl:e.relayerUrl,path:`/wallets/${encodeURIComponent(t)}/auth-methods/${encodeURIComponent(n)}/revoke`,body:{walletId:t,walletAuthMethodId:n,requestedAtMs:e.requestedAtMs,sourceProof:e.sourceProof}},i;try{i=await V(r)}catch(e){if(!(e instanceof TypeError))throw e;i=await V(r)}return cr(i)}async function ur(e){let t=String(e.walletId||``).trim();if(!t)throw Error(`walletId is required for add-auth-method intent`);let n=String(e.auth.publishableKey||``).trim(),r=String(e.auth.environmentId||``).trim();if(!n||!r)throw Error(`add-auth-method intent requires a publishable key and environment id`);let i=e.request.caller.caller===`same_device_addition`?{caller:`same_device_addition`,source:e.request.caller.source}:{caller:`linked_device_ceremony`};return Nn(await V({relayerUrl:e.relayerUrl,path:`/wallets/${encodeURIComponent(t)}/auth-methods/intent`,headers:{Authorization:`Bearer ${n}`,[R]:r},body:{walletId:e.request.walletId,rpId:e.request.rpId,authMethod:e.request.authMethod,...i}}))}function dr(e){let t=`Wallet registration respond`,n=U({responseName:t,field:`body`,value:e});if(W(n,`ok`,t)!==!0)throw Error(`${t} response is not successful`);let r=j({responseName:t,field:`registrationCeremonyId`,value:W(n,`registrationCeremonyId`,t)}),i=W(n,`kind`,t);if(i!==`evm_family_ecdsa`&&i!==`near_ed25519_and_evm_family_ecdsa`&&i!==`near_ed25519`)throw Error(`${t} response kind is invalid`);let a=i!==`near_ed25519`,o=i!==`evm_family_ecdsa`;K(n,[`ok`,`registrationCeremonyId`,`kind`,...a?[`ecdsa`]:[],...o?[`ed25519`]:[]],t);let s=G(n,`ed25519`,t);if(o&&s===void 0)throw Error(`${t} signer plan is missing its ed25519 deferred work`);if(!a)return{ok:!0,registrationCeremonyId:r,kind:`near_ed25519`,ed25519:fr(s)};let c=U({responseName:t,field:`ecdsa`,value:W(n,`ecdsa`,t)});if(K(c,[`kind`,`strictResult`],`${t} ecdsa`),W(c,`kind`,`${t} ecdsa`)!==`router_ab_ecdsa_registration_forwarded_v1`)throw Error(`${t} ecdsa kind is invalid`);let l=o?pr(s):null,u={kind:`router_ab_ecdsa_registration_forwarded_v1`,strictResult:Be(W(c,`strictResult`,`${t} ecdsa`))};return l?{ok:!0,registrationCeremonyId:r,kind:`near_ed25519_and_evm_family_ecdsa`,ecdsa:u,ed25519:l}:{ok:!0,registrationCeremonyId:r,kind:`evm_family_ecdsa`,ecdsa:u}}function fr(e){let t=`Wallet registration respond ed25519 admission`,n=U({responseName:t,field:`ed25519`,value:e}),r=W(n,`status`,t);if(r!==`admitted`&&r!==`executed`)throw Error(`${t} status is invalid`);K(n,[`status`,`admissionRequest`,`admissionReceipt`,...r===`executed`?[`activationResult`]:[]],t);let i=x(W(n,`admissionRequest`,t)),a=Le(W(n,`admissionReceipt`,t));if(!i.ok||!a.ok)throw Error(`${t} request or receipt is invalid`);if(r===`admitted`)return{status:`admitted`,admissionRequest:i.value,admissionReceipt:a.value};let o=Fe(W(n,`activationResult`,t));if(!o.ok)throw Error(`${t} activationResult is invalid`);return{status:`executed`,admissionRequest:i.value,admissionReceipt:a.value,activationResult:o.value}}function pr(e){let t=`Wallet registration respond ed25519`,n=U({responseName:t,field:`ed25519`,value:e});if(K(n,[`status`,`admissionRequest`],t),W(n,`status`,t)!==`deferred`)throw Error(`${t} status is invalid`);let r=x(W(n,`admissionRequest`,t));if(!r.ok)throw Error(`${t} admissionRequest is invalid`);return{status:`deferred`,admissionRequest:r.value}}function mr(e){let t={registrationCeremonyId:e.registrationCeremonyId,signedSetup:e.signedSetup,kind:e.signerPlanKind};switch(e.kind){case`passkey`:t.webauthn_registration=e.webauthnRegistration;break;case`email_otp`:t.emailOtpRegistrationProof=e.emailOtpRegistrationProof;break}return t.ecdsa=e.ecdsa,e.ed25519Execution!==void 0&&(t.ed25519Execution=e.ed25519Execution),t}async function hr(e){return dr(await V({relayerUrl:e.relayerUrl,path:Jt,headers:e.headers,body:mr(e),onServerTiming:e.onServerTiming}))}function gr(e,t){let n=vt(e);if(n===null||(n.kind===`owner_operations`?n.walletId!==t:n.session.walletId!==t))throw Error(`Wallet registration established session direct session result is invalid`);return n}function _r(e,t){let n=`Wallet registration activate`,r=G(e,`registrationDiagnostics`,n),i=G(e,`rpId`,n),a=G(e,`walletCustody`,n),o=G(e,`custodyKeyManifestDigestB64u`,n);return{ok:W(e,`ok`,n),walletId:W(e,`walletId`,n),authority:W(e,`authority`,n),foundingAuthority:W(e,`foundingAuthority`,n),foundingAuthMethod:W(e,`foundingAuthMethod`,n),...r===void 0?{}:{registrationDiagnostics:r},...i===void 0?{}:{rpId:i},authMethod:W(e,`authMethod`,n),...a===void 0?{}:{walletCustody:a},...o===void 0?{}:{custodyKeyManifestDigestB64u:o},kind:`evm_family_ecdsa`,ecdsa:{walletKeys:W(t,`walletKeys`,n)}}}function vr(e){let t=`Wallet registration NEAR provisioning`,n=G(e,`registrationDiagnostics`,t),r=G(e,`rpId`,t),i=G(e,`walletCustody`,t),a=G(e,`custodyKeyManifestDigestB64u`,t);return{ok:W(e,`ok`,t),walletId:W(e,`walletId`,t),authority:W(e,`authority`,t),foundingAuthority:W(e,`foundingAuthority`,t),foundingAuthMethod:W(e,`foundingAuthMethod`,t),...n===void 0?{}:{registrationDiagnostics:n},...r===void 0?{}:{rpId:r},authMethod:W(e,`authMethod`,t),...i===void 0?{}:{walletCustody:i},...a===void 0?{}:{custodyKeyManifestDigestB64u:a},kind:`near_ed25519`,authorityScope:W(e,`authorityScope`,t),accountProvisioning:W(e,`accountProvisioning`,t),resolvedAccount:W(e,`resolvedAccount`,t),ed25519:W(e,`ed25519`,t)}}function yr(e){let t=`Wallet registration activate`,n=U({responseName:t,field:`body`,value:e}),r=W(n,`kind`,t),i=G(n,`nearProvisioning`,t),a=G(n,`registrationEstablishedSession`,t);if(r!==`evm_family_ecdsa`)throw Error(`${t} response has invalid kind`);let o=U({responseName:t,field:`ecdsa`,value:W(n,`ecdsa`,t)});K(n,[`ok`,`walletId`,`authority`,`foundingAuthority`,`foundingAuthMethod`,`registrationDiagnostics`,`rpId`,`authMethod`,`walletCustody`,`custodyKeyManifestDigestB64u`,`kind`,`ecdsa`,`nearProvisioning`,`registrationEstablishedSession`],t),K(o,[`walletKeys`,`activation`,`bootstrap`],t);let s=G(o,`activation`,t),c=G(o,`bootstrap`,t);if(i!==void 0){let e=U({responseName:t,field:`nearProvisioning`,value:i});if(K(e,[`status`],`${t} nearProvisioning`),W(e,`status`,`${t} nearProvisioning`)!==`near_pending`)throw Error(`${t} nearProvisioning status is invalid`)}if(s===void 0||c===void 0)throw Error(`${t} is missing the activation payload the client needs to build its ECDSA session`);let l=qt({value:_r(n,o),expectedKind:`evm_family_ecdsa`});if(!l.ok||l.kind!==`evm_family_ecdsa`)throw Error(`${t} did not return an activated ECDSA wallet`);let u=gr(a,l.walletId);return{...l,ecdsa:{...l.ecdsa,activation:Ue(s),bootstrap:it(c)},registrationEstablishedSession:u,...i===void 0?{}:{nearProvisioning:{status:`near_pending`}}}}function br(e){let t={registrationCeremonyId:e.registrationCeremonyId,kind:e.signerPlanKind,signedSetup:e.signedSetup,idempotencyKey:e.idempotencyKey};return t.ecdsa=e.ecdsa,e.emailOtpEnrollment&&(t.emailOtpEnrollment=e.emailOtpEnrollment),e.walletCustodyCommit&&(t.walletCustodyCommit=e.walletCustodyCommit),t}async function xr(e){return yr(await V({relayerUrl:e.relayerUrl,path:Yt,headers:e.headers,body:br(e),onServerTiming:e.onServerTiming}))}function Sr(e){let t=`Wallet registration session seal`,n=U({responseName:t,field:`body`,value:e});K(n,[`ciphertext`,`keyVersion`,`expiresAtMs`,`remainingUses`],t);let r=W(n,`ciphertext`,t),i=W(n,`keyVersion`,t),a=W(n,`expiresAtMs`,t),o=W(n,`remainingUses`,t);if(typeof r!=`string`||!r.trim()||typeof i!=`string`||!i.trim()||typeof a!=`number`||!Number.isSafeInteger(a)||a<=0||typeof o!=`number`||!Number.isSafeInteger(o)||o<0)throw Error(`${t} is invalid`);return{ciphertext:r,keyVersion:i,expiresAtMs:a,remainingUses:o}}function Cr(e){let t=`Wallet registration NEAR provisioning`,n=U({responseName:t,field:`body`,value:e});if(W(n,`ok`,t)!==!0){K(n,[`ok`,`code`,`message`,`nearProvisioning`],t);let e=W(n,`code`,t),r=W(n,`message`,t);if(typeof e!=`string`||typeof r!=`string`)throw Error(`${t} failure is invalid`);let i=G(n,`nearProvisioning`,t);if(i!==void 0){let n=U({responseName:t,field:`nearProvisioning`,value:i});if(K(n,[`status`],`${t} nearProvisioning`),W(n,`status`,`${t} nearProvisioning`)!==`near_failed_retryable`)throw Error(`${t} failure status is invalid`);return{ok:!1,code:e,message:r,nearProvisioning:{status:`near_failed_retryable`}}}return{ok:!1,code:e,message:r}}K(n,[`ok`,`walletId`,`authority`,`foundingAuthority`,`foundingAuthMethod`,`registrationDiagnostics`,`rpId`,`authMethod`,`walletCustody`,`custodyKeyManifestDigestB64u`,`kind`,`accountProvisioning`,`resolvedAccount`,`ed25519`,`authorityScope`,`nearProvisioning`,`registrationEstablishedSession`,`sessionSeal`],t);let r=U({responseName:t,field:`nearProvisioning`,value:W(n,`nearProvisioning`,t)});if(K(r,[`status`],`${t} nearProvisioning`),W(r,`status`,`${t} nearProvisioning`)!==`near_ready`)throw Error(`${t} success status is invalid`);let i=qt({value:vr(n),expectedKind:`near_ed25519`});if(!i.ok||i.kind!==`near_ed25519`)throw Error(`${t} did not return a finalized Ed25519 wallet`);let a=G(n,`sessionSeal`,t),o=gr(W(n,`registrationEstablishedSession`,t),i.walletId);if(Mn(i)){if(a!==void 0)throw Error(`${t} returned a session seal for an Email OTP authority`);return{...i,nearProvisioning:{status:`near_ready`},registrationEstablishedSession:o}}let s={...i,nearProvisioning:{status:`near_ready`},registrationEstablishedSession:o};return a===void 0?s:{...s,sessionSeal:Sr(a)}}async function wr(e){let t={registrationCeremonyId:e.registrationCeremonyId,signedSetup:e.signedSetup,idempotencyKey:e.idempotencyKey,ed25519:e.ed25519};return e.auth.kind===`email_otp`&&(t.emailOtpEnrollment=e.auth.enrollment),e.walletCustodyCommit&&(t.walletCustodyCommit=e.walletCustodyCommit),e.sessionSeal&&(t.sessionSeal=e.sessionSeal),Cr(await V({relayerUrl:e.relayerUrl,path:Xt,headers:e.headers,body:t,...e.onServerTiming?{onServerTiming:e.onServerTiming}:{}}))}function Tr(e){switch(e.kind){case`webauthn_assertion`:return{kind:`webauthn_assertion`,rpId:e.rpId,credential:e.credential,expectedChallengeDigestB64u:e.expectedChallengeDigestB64u}}}function Er(e){switch(e.kind){case`webauthn_assertion`:return{kind:`webauthn_assertion`,rpId:e.rpId,credential:e.credential,expectedChallengeDigestB64u:e.expectedChallengeDigestB64u};case`wallet_session`:return{kind:`wallet_session`};case`email_otp`:return{kind:`email_otp`,challengeId:e.challengeId,otpCode:e.otpCode,expectedChallengeDigestB64u:e.expectedChallengeDigestB64u}}}function Dr(e){switch(e.kind){case`passkey`:return{};case`email_otp`:return{emailOtpRegistrationProof:e.emailOtpRegistrationProof}}}async function Or(e){let t=String(e.walletId||``).trim();if(!t)throw Error(`walletId is required for add-signer start`);return er({value:await V({relayerUrl:e.relayerUrl,path:`/wallets/${encodeURIComponent(t)}/signers/start`,body:{addSignerIntentGrant:e.addSignerIntentGrant,addSignerIntentDigestB64u:e.addSignerIntentDigestB64u,intent:e.intent,auth:Tr(e.auth)}}),expectedIntent:e.intent})}function kr(e){let t=`Email OTP enrollment code`,n=U({responseName:t,field:`body`,value:e});if(K(n,[`ok`,`challengeId`,`expiresAtMs`,`emailHint`],t),W(n,`ok`,t)!==!0)throw Error(`${t} response is not successful`);let r=W(n,`challengeId`,t);if(typeof r!=`string`||!r.trim())throw Error(`${t} response missing challengeId`);let i=W(n,`expiresAtMs`,t);if(typeof i!=`number`||!Number.isSafeInteger(i)||i<1)throw Error(`${t} response has invalid expiresAtMs`);let a=W(n,`emailHint`,t);if(typeof a!=`string`)throw Error(`${t} response has invalid emailHint`);return{challengeId:r.trim(),expiresAtMs:i,emailHint:a}}async function Ar(e){let t=String(e.walletId||``).trim();if(!t)throw Error(`walletId is required for the Email OTP enrollment code`);return kr(await V({relayerUrl:e.relayerUrl,path:`/wallets/${encodeURIComponent(t)}/auth-methods/email-otp/challenge`,body:{addAuthMethodIntentGrant:e.addAuthMethodIntentGrant,addAuthMethodIntentDigestB64u:e.addAuthMethodIntentDigestB64u}}))}async function jr(e){let t=String(e.walletId||``).trim();if(!t)throw Error(`walletId is required for add-auth-method start`);return In({value:await V({relayerUrl:e.relayerUrl,path:`/wallets/${encodeURIComponent(t)}/auth-methods/start`,body:{addAuthMethodIntentGrant:e.addAuthMethodIntentGrant,addAuthMethodIntentDigestB64u:e.addAuthMethodIntentDigestB64u,intent:e.intent,auth:Er(e.auth),...Dr(e.authority)},...e.auth.kind===`wallet_session`?{headers:{authorization:`Bearer ${e.auth.walletSessionToken}`}}:{}}),expectedIntent:e.intent})}async function Mr(e){let t=String(e.walletId||``).trim();if(!t)throw Error(`walletId is required for add-signer ECDSA respond`);return An(await V({relayerUrl:e.relayerUrl,path:`/wallets/${encodeURIComponent(t)}/signers/derivation/respond`,body:{addSignerCeremonyId:e.addSignerCeremonyId,ecdsa:e.ecdsa}}))}async function Nr(e){let t=String(e.walletId||``).trim();if(!t)throw Error(`walletId is required for add-signer ECDSA activation`);return jn(await V({relayerUrl:e.relayerUrl,path:`/wallets/${encodeURIComponent(t)}/signers/derivation/activate`,body:{addSignerCeremonyId:e.addSignerCeremonyId,ecdsa:{kind:`router_ab_ecdsa_registration_activation_v1`,activationCorrelationId:e.activationCorrelationId,publicFacts:e.publicFacts,expectedActivationRequestDigest:e.expectedActivationRequestDigest}}}))}function Pr(e){switch(e.kind){case`near_ed25519`:return{addSignerCeremonyId:e.addSignerCeremonyId,idempotencyKey:e.idempotencyKey,kind:e.kind,ed25519:e.ed25519,custodyKeySet:e.custodyKeySet};case`evm_family_ecdsa`:return{addSignerCeremonyId:e.addSignerCeremonyId,idempotencyKey:e.idempotencyKey,kind:e.kind,ecdsa:e.ecdsa,custodyKeySet:e.custodyKeySet}}}async function Fr(e){let t=String(e.walletId||``).trim();if(!t)throw Error(`walletId is required for add-signer finalize`);return tr({value:await V({relayerUrl:e.relayerUrl,path:`/wallets/${encodeURIComponent(t)}/signers/finalize`,body:Pr(e)}),expectedKind:e.kind})}async function Ir(e){let t=String(e.walletId||``).trim();if(!t)throw Error(`walletId is required for add-auth-method finalize`);let n=e.custodyEnvelope===void 0?{addAuthMethodCeremonyId:e.addAuthMethodCeremonyId}:e.webauthnRegistration===void 0?{addAuthMethodCeremonyId:e.addAuthMethodCeremonyId,custodyEnvelope:y(e.custodyEnvelope),emailOtpTarget:e.emailOtpTarget}:{addAuthMethodCeremonyId:e.addAuthMethodCeremonyId,webauthnRegistration:e.webauthnRegistration,custodyEnvelope:y(e.custodyEnvelope)},r={relayerUrl:e.relayerUrl,path:`/wallets/${encodeURIComponent(t)}/auth-methods/finalize`,body:n},i;try{i=await V(r)}catch(e){if(!(e instanceof TypeError))throw e;i=await V(r)}return Fn(i)}async function Lr(e){let t=String(e.walletId||``).trim(),n=String(e.rpId||``).trim(),r=e.operationCredential;if(!t)throw Error(`walletId is required for ECDSA key-facts inventory`);if(!n)throw Error(`rpId is required for ECDSA key-facts inventory`);return ar({value:await V({relayerUrl:e.relayerUrl,path:`/wallets/${encodeURIComponent(t)}/signers/ecdsa/key-facts/inventory`,headers:p(r),body:{rpId:n,keyTargets:e.keyTargets,auth:{kind:r.kind,walletSessionId:r.walletSessionId}}}),walletId:e.walletId,rpId:n})}async function Rr(e){let t=String(e.walletId||``).trim(),n=String(e.rpId||``).trim(),r=String(e.serverNonceB64u||``).trim(),i=String(e.expectedChallengeDigestB64u||``).trim();if(!t)throw Error(`walletId is required for ECDSA key-facts inventory`);if(!n)throw Error(`rpId is required for ECDSA key-facts inventory`);if(!r||!i)throw Error(`WebAuthn ECDSA key-facts inventory requires challenge binding`);return ar({value:await V({relayerUrl:e.relayerUrl,path:`/wallets/${encodeURIComponent(t)}/signers/ecdsa/key-facts/inventory`,body:{rpId:n,keyTargets:e.keyTargets,auth:{kind:`webauthn_assertion`,credential:e.credential,serverNonceB64u:r,expectedChallengeDigestB64u:i,...e.runtimePolicyScope?{runtimePolicyScope:e.runtimePolicyScope}:{}}}}),walletId:e.walletId,rpId:n})}function $(e,t){if(typeof e!=`object`||!e||Array.isArray(e))return!1;let n=Object.keys(e);return n.length===t.length&&n.every(e=>t.includes(e))}const zr=[`kind`,`walletId`,`authorityId`,`walletAuthMethodId`,`mintId`,`authorizationId`,`walletSessionId`,`quotaId`],Br=[`ok`,`code`,`message`,`next`,`committed`],Vr=[`ok`,`code`,`message`,`next`,`kind`,`walletId`,`authorityId`,`walletAuthMethodId`,`mintId`,`authorizationId`,`walletSessionId`,`quotaId`],Hr=[...Vr,`unlocked`,`unlockBackend`];function Ur(e){if(!u(e)||!$(e,zr)||e.kind!==`already_committed_wallet_session_v1`)return null;let n=c(e.walletId),r=i(e.authorityId),a=t(e.walletAuthMethodId),o=fe(e.mintId),s=v(e.authorizationId),l=_(e.walletSessionId),d=g(e.quotaId);return!n.ok||!r.ok||!a.ok||!o.ok||!s.ok||!l.ok||!d.ok?null:{kind:`already_committed_wallet_session_v1`,walletId:n.value,authorityId:r.value,walletAuthMethodId:a.value,mintId:o.value,authorizationId:s.value,walletSessionId:l.value,quotaId:d.value}}function Wr(e){return e.ok!==!1||e.code!==`already_committed`||typeof e.message!=`string`||e.next!==`unlock_exact_method`?null:{ok:!1,code:`already_committed`,message:e.message,next:`unlock_exact_method`}}function Gr(e){return!$(e,Vr)&&!$(e,Hr)||$(e,Hr)&&(e.unlocked!==!1||e.unlockBackend!==`passkey`&&e.unlockBackend!==`email_otp`)||e.kind!==`already_committed`?null:Ur({kind:`already_committed_wallet_session_v1`,walletId:e.walletId,authorityId:e.authorityId,walletAuthMethodId:e.walletAuthMethodId,mintId:e.mintId,authorizationId:e.authorizationId,walletSessionId:e.walletSessionId,quotaId:e.quotaId})}function Kr(e,t){return{ok:!1,code:`already_committed`,message:e.message,next:`unlock_exact_method`,committed:t}}function qr(e){if(!u(e))return null;let t=Wr(e);if(!t||!$(e,Br))return null;let n=Ur(e.committed);return n?Kr(t,n):null}function Jr(e){if(!u(e))return null;let t=Wr(e);if(!t)return null;let n=Gr(e);return n?Kr(t,n):null}export{dt as A,Or as C,_t as D,gt as E,w as O,jr as S,ht as T,Ar as _,xr as a,lr as b,sr as c,Ir as d,Fr as f,Zt as g,ir as h,Nr as i,ft as k,Lr as l,Mn as m,Jr as n,wr as o,fn as p,$ as r,ur as s,qr as t,Rr as u,Mr as v,Mt as w,or as x,hr as y};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{F as e,i as t}from"./domainIds-t1lp25yU.js";import{c as n,s as r}from"./types-A-w1cYlJ.js";import{t as i}from"./accountIds-DGWFzEnw.js";import{c as a,o}from"./ecdsaChainTarget-BoRVQtjQ.js";import{ut as s}from"./digestEncoding-34kXJoJr.js";import{i as c,t as l}from"./signerSlot-BlijMq8C.js";import{T as u,g as d}from"./emailOtpEcdsaDerivationIdentity-Qd4pBwHv.js";import{a as f,k as p}from"./nearEd25519YaoSigningPreparation-CnbgQfZc.js";function m(e){let t=Math.floor(Number(e));return!Number.isFinite(t)||t<=0?null:t.toString(10).padStart(20,`0`)}function h(e,t){if(e.length===0)return{kind:`no_current_lane`,unusableFacts:[]};let n=_(e,t),r=v(n,t);if(r.length)return{kind:`conflicting_key_material`,conflicts:r};if(n.length!==1)return{kind:`ambiguous_material`,candidates:e};let i=n[0];return i?g(i,t.supersession):{kind:`no_current_lane`,unusableFacts:[]}}function g(e,t){let n=e.facts.filter(t.isOperationUsable);if(n.length===0)return{kind:`no_current_lane`,unusableFacts:e.facts};let r=y(n,t);return r.kind===`ambiguous`?{kind:`ambiguous_material`,candidates:r.candidates}:{kind:`selected`,selectedFact:r.fact,supersededFacts:e.facts.filter(e=>e!==r.fact)}}function _(e,t){let n=new Map;for(let r of e){let e=t.groupKey(r),i=t.groupKeyString(e),a=n.get(i);n.set(i,a?{groupKey:a.groupKey,facts:[...a.facts,r]}:{groupKey:e,facts:[r]})}return[...n.values()]}function v(e,t){return e.flatMap(e=>t.groupConflicts(e.facts))}function y(e,t){let n=e[0];if(n===void 0)return{kind:`ambiguous`,candidates:[]};let r=n;for(let n of e.slice(1)){let e=b(r,n,t);switch(e.kind){case`left`:break;case`right`:r=n;break;case`ambiguous`:return{kind:`ambiguous`,candidates:e.candidates};default:return e}}return{kind:`selected`,fact:r}}function b(e,t,n){let r=x(e,t,n);if(r.kind!==`equal`)return r;let i=S(e,t,n);if(i.kind!==`equal`)return i;let a=n.tieBreak(e,t);switch(a){case 1:return{kind:`left`};case-1:return{kind:`right`};case 0:return{kind:`ambiguous`,candidates:[e,t]};default:return a}}function x(e,t,n){let r=n.generation(e),i=n.generation(t);return!r||!i?{kind:`ambiguous`,candidates:[e,t]}:r>i?{kind:`left`}:i>r?{kind:`right`}:{kind:`equal`}}function S(e,t,n){let r=n.exactness(e);return r===n.exactness(t)?{kind:`equal`}:r===`exact_target`?{kind:`left`}:{kind:`right`}}function C(e){return{kind:`ed25519_durable_material`,authMethod:e.authMethod,materialActivation:e.materialActivation}}function w(e){return[e.activationId,e.capability,e.materialOwner,e.keyBinding,e.lifecycleBinding,e.signingWorker].map(e=>encodeURIComponent(String(e))).join(`:`)}function T(e){let t={source:e.source,runtime:e.runtime,key:e.key,materialActivation:e.materialActivation,publicFacts:e.publicFacts,curve:`ecdsa`,chainTarget:e.chainTarget,state:e.state,authorizationState:e.authorizationState};if(e.auth.kind===`passkey`){if(!e.resolvedKey)throw Error(`active Wallet Authority passkey lane is missing its resolved ECDSA key`);return{...t,auth:e.auth,resolvedKey:e.resolvedKey}}return{...t,auth:e.auth}}function ee(e){let t=e.authorization;return t?e.remainingUses===t.runtime.remainingUses&&e.expiresAtMs===t.runtime.expiresAtMs:!0}function E(e){return e.auth.kind}function D(e){return n(e.auth)}function O(e){let t=e.ed25519Restore;if(e.authMethod===`passkey`){if(!t.credentialIdB64u)return null;try{return{kind:`passkey`,rpId:u(t.rpId),credentialIdB64u:t.credentialIdB64u}}catch{return null}}return t.providerSubjectId?{kind:`email_otp`,providerSubjectId:t.providerSubjectId}:null}function k(e){let{authorization:t}=e;if(String(t.session.walletId)!==e.walletId||t.selectedAuthMethod.kind!==e.auth.kind||t.operationCredential.walletSessionId.length===0||t.session.quotaId.length===0||!f({session:t.session,materialActivation:e.materialActivation}))return!1;switch(e.auth.kind){case`passkey`:if(t.selectedAuthMethod.kind!==`passkey`||String(t.selectedAuthMethod.rpId)!==String(e.auth.rpId)||t.selectedAuthMethod.credentialIdB64u!==e.auth.credentialIdB64u)return!1;break;case`email_otp`:if(t.selectedAuthMethod.kind!==`email_otp`||t.selectedFactorAuthority.factor.kind!==`email_otp`||t.selectedFactorAuthority.factor.providerUserId!==e.auth.providerSubjectId)return!1;break;case`voiceid`:if(t.selectedAuthMethod.kind!==`voiceid`||t.selectedAuthMethod.walletAuthMethodId!==e.auth.walletAuthMethodId||t.selectedAuthMethod.deviceKeyId!==e.auth.deviceKeyId)return!1;break;default:return e.auth,!1}return!!(e.ownerScope&&r(e.auth)===r(e.ownerScope.auth))}function te(e,t,n){if(e.curve!==`ed25519`)return null;let r=String(e.thresholdSessionIds.ed25519||``).trim(),o=String(e.walletId||``).trim(),s=e.ed25519Restore,u=l(s.signerSlot),d=O(e);if(!r||!o||u===null||!d)return null;let f=Math.floor(Number(e.expiresAtMs)||0),p=Math.max(0,Math.floor(Number(e.remainingUses)||0)),m=f>0&&f<=Date.now()?`expired`:p===0?`exhausted`:`restorable`,h=t&&k({authorization:t,auth:d,walletId:o,materialActivation:s.materialActivation,ownerScope:n})?t:null;try{let t={auth:d,curve:`ed25519`,chain:`near`,materialActivation:s.materialActivation,walletId:a(o),nearAccountId:i(s.nearAccountId),nearEd25519SigningKeyId:c(s.nearEd25519SigningKeyId),signerSlot:u,source:`durable_sealed_record`,thresholdSessionId:r,remainingUses:p,...f>0?{expiresAtMs:f}:{},updatedAtMs:Math.floor(Number(e.updatedAtMs)||0),...P(e)?{policyHint:P(e)}:{}};return h?{...t,state:m,authorizationState:`authorized`,authorization:h}:{...t,state:`deferred`,authorizationState:`authorization_required`}}catch{return null}}function ne(e){return e.auth.kind===`email_otp`}function re(e,t,n){let r=String(e.walletId||``).trim(),o=String(e.nearAccountId||``).trim(),s=String(e.thresholdSessionId||``).trim();if(!r||!o||!s)return null;let c=t&&k({authorization:t,auth:e.auth,walletId:r,materialActivation:e.materialActivation,ownerScope:n})?t:null;try{let t={auth:e.auth,curve:`ed25519`,chain:`near`,materialActivation:e.materialActivation,walletId:a(r),nearAccountId:i(o),nearEd25519SigningKeyId:e.nearEd25519SigningKeyId,signerSlot:e.signerSlot,thresholdSessionId:s,source:`public_capability_reference`};if(!c)return{...t,state:`deferred`,authorizationState:`authorization_required`};let n=Math.floor(Number(c.status.expiresAtMs)||0),l=ne(e)?e:null,u=l?Math.min(l.expiresAtMs,n):n,d=u>0&&u<=Date.now()?`expired`:`ready`;return{...t,state:d,authorizationState:`authorized`,authorization:c,remainingUses:c.status.remainingUses,...u>0?{expiresAtMs:u}:{}}}catch{return null}}function A(e){if(e.state===`missing`)return!1;if(e.curve!==`ecdsa`){let t=String(e.thresholdSessionId||``).trim();return e.thresholdSessionId!==t||!t?!1:e.authorizationState===`authorization_required`?e.state===`deferred`:!(!e.authorization.operationCredential.walletSessionId||!e.authorization.session.quotaId||e.authorization.status.remainingUses<=0||e.authorization.status.expiresAtMs<=Date.now())}return e.source===`active_wallet_authority`&&(e.state!==`deferred`||e.authorizationState!==`authorization_required`||e.runtime.kind!==`active_wallet_authority_ecdsa_runtime_v1`||String(e.runtime.walletId)!==String(e.key.walletId)||!t(e.runtime.materialActivation,e.materialActivation)||e.runtime.publicFacts!==e.publicFacts)||!(e.key&&String(e.key.walletId||``).trim()&&String(e.key.ecdsaThresholdKeyId||``).trim()&&String(e.key.signingRootId||``).trim()&&String(e.key.signingRootVersion||``).trim()&&Array.isArray(e.key.participantIds)&&e.key.participantIds.length>0&&String(e.key.thresholdOwnerAddress||``).trim()&&`publicFacts`in e&&e.publicFacts&&e.publicFacts.keyHandle&&String(e.publicFacts.publicKeyB64u||``).trim()&&Array.isArray(e.publicFacts.participantIds)&&e.publicFacts.participantIds.length>0&&String(e.publicFacts.thresholdOwnerAddress||``).trim())||e.source===`canonical_capability`&&!ee(e)?!1:n(e.auth)===`passkey`?e.resolvedKey?.kind===`resolved_evm_family_ecdsa_key`&&e.resolvedKey.authBinding.kind===`passkey_ecdsa_auth_binding`&&String(e.resolvedKey.walletId)===String(e.key.walletId)&&e.resolvedKey.publicFacts===e.publicFacts:!(`resolvedKey`in e)}function j(e){return e===`missing`?null:e}function ie(e){return e||`unknown`}function ae(e){let t=Math.floor(Number(e));return Number.isFinite(t)&&t>0?t:null}function oe(e){let t=Math.max(0,Math.floor(Number(e)));return Number.isFinite(t)?t:null}function se(e){if(!A(e.lane)||e.lane.curve!==`ed25519`)return null;let t=j(e.lane.state);if(!t)return null;let n={kind:`lane_candidate`,walletId:e.lane.walletId,nearAccountId:e.lane.nearAccountId,nearEd25519SigningKeyId:e.lane.nearEd25519SigningKeyId,signerSlot:e.lane.signerSlot,materialActivation:e.lane.materialActivation,auth:e.lane.auth,curve:`ed25519`,chain:`near`,thresholdSessionId:e.lane.thresholdSessionId,state:t,remainingUses:oe(e.lane.remainingUses),expiresAtMs:ae(e.lane.expiresAtMs),updatedAtMs:ae(e.lane.updatedAtMs),source:ie(e.lane.source)};return e.lane.authorizationState===`authorization_required`?{...n,authorizationState:`authorization_required`,state:`deferred`}:{...n,authorizationState:`authorized`,authorization:e.lane.authorization}}function ce(e){if(!A(e.lane)||e.lane.curve!==`ecdsa`)return null;let t=j(e.lane.state);if(!t)return null;let r=n(e.lane.auth),i={kind:`lane_candidate`,walletId:a(e.walletId),auth:e.lane.auth,authMethod:r,curve:`ecdsa`,chain:e.lane.chainTarget.kind,key:e.lane.key,materialActivation:e.lane.materialActivation,...r===`passkey`?{resolvedKey:e.lane.resolvedKey}:{},keyHandle:e.lane.publicFacts.keyHandle,chainTarget:e.lane.chainTarget};switch(e.lane.source){case`active_wallet_authority`:return{...i,source:`active_wallet_authority`,runtime:e.lane.runtime,authorizationState:`authorization_required`,state:`deferred`};case`canonical_capability`:return e.lane.authorization?{...i,source:`canonical_capability`,authorizationState:`authorized`,authorization:e.lane.authorization,state:t}:{...i,source:`canonical_capability`,authorizationState:`authorization_required`,state:`deferred`};default:return e.lane}}function le(e){if(!e||e.curve!==`ecdsa`||!e.chainTarget||!(`key`in e)||!e.key||!(`auth`in e)||!e.auth)return null;let t=n(e.auth);try{let n=r(e.auth);return[t,`ecdsa`,o(e.chainTarget),n,ue(e),w(e.materialActivation)].join(`:`)}catch{return null}}function ue(e){return d({walletId:e.key.walletId,publicFacts:e.publicFacts})}function M(e){if(!e||e.curve!==`ed25519`||e.chain!==`near`||e.state===`missing`||!e.auth)return null;let t=n(e.auth),r=String(e.walletId||``).trim(),i=String(e.nearAccountId||``).trim(),a=String(e.nearEd25519SigningKeyId||``).trim(),o=String(e.signerSlot||``).trim(),s=String(e.thresholdSessionId||``).trim(),c=e.materialActivation?w(e.materialActivation):``;return!t||!r||!i||!a||!o||!s||!c?null:[r,i,a,o,t,`ed25519`,`near`,s,c].join(`:`)}function N(e){return{curve:`ecdsa`,chainTarget:e.chainTarget,state:`missing`}}function de(e,t){let n=o(t);return e.ecdsa.lanesByTarget[n]||N({chainTarget:t})}function fe(e,t){let n=o(t);return e.ecdsa.candidatesByTarget[n]||[]}function pe(){return{curve:`ed25519`,chain:`near`,state:`missing`}}function P(e){let t=Math.floor(Number(e.remainingUses)),n=Math.floor(Number(e.expiresAtMs)),r={};return Number.isFinite(t)&&t>=0&&(r.remainingUses=t),Number.isFinite(n)&&n>0&&(r.expiresAtMs=n),Object.keys(r).length?r:void 0}function F(e){return Math.floor(Number(`updatedAtMs`in e?e.updatedAtMs:0)||0)}function I(e){return m(e.expiresAtMs??e.policyHint?.expiresAtMs)}function L(e){switch(e.state){case`ready`:return 5;case`restorable`:return 4;case`deferred`:return 3;case`expired`:case`exhausted`:return 2;case`missing`:return 1}}function R(e){return!A(e)||e.curve===`ecdsa`?0:e.source===`durable_sealed_record`?1:0}function z(e,t){return L(e)-L(t)||R(e)-R(t)||F(e)-F(t)}function me(e,t){return z(e,t)}function he(e,t){return L(e)-L(t)||R(e)-R(t)||F(e)-F(t)}function B(e){let t=r(e.auth),n=String(e.walletId||``).trim(),i=String(e.nearAccountId||``).trim(),a=String(e.nearEd25519SigningKeyId||``).trim(),o=String(e.signerSlot||``).trim(),s=w(e.materialActivation);return!t||!n||!i||!a||!o||!s?null:{walletId:n,authKey:t,nearAccountId:i,nearEd25519SigningKeyId:a,signerSlot:o,materialActivationKey:s}}function V(e){return[e.walletId,e.authKey,e.nearAccountId,e.nearEd25519SigningKeyId,e.signerSlot,e.materialActivationKey].map(e=>encodeURIComponent(e)).join(`|`)}function ge(e){if(!A(e)||e.curve!==`ed25519`)return null;let t=B(e);return t?{groupKey:t,lane:e}:null}function H(e,t){return me(t,e)}function U(e,t){return e>t?1:t>e?-1:0}function W(e,t){let n=e.localeCompare(t);return n>0?1:n<0?-1:0}function G(e){for(let t of e)if(t!==0)return t;return 0}function _e(e){return[]}function ve(e){return!0}function ye(e){return I(e.lane)}function be(){return`exact_target`}function xe(e,t){return G([U(L(e.lane),L(t.lane)),U(R(e.lane),R(t.lane)),W(Se(e.lane),Se(t.lane))])}function Se(e){return[e.thresholdSessionId,e.authorizationState===`authorized`?e.authorization.operationCredential.walletSessionId:``,e.authorizationState===`authorized`?e.authorization.session.quotaId:``,e.source||`durable_sealed_record`].map(e=>String(e)).join(`|`)}const Ce={groupKey:we,groupKeyString:V,groupConflicts:_e,supersession:{isOperationUsable:ve,generation:ye,exactness:be,tieBreak:xe}};function we(e){return e.groupKey}function Te(e){let t=new Map;for(let n of e){let e=V(n.groupKey);t.set(e,[...t.get(e)||[],n])}return t}function Ee(e,t){let n=h(e,Ce);switch(n.kind){case`selected`:return[n.selectedFact.lane];case`no_current_lane`:return[];case`conflicting_key_material`:return t.push({curve:`ed25519`,source:`canonical_lane_inventory`,reason:`conflicting_key_material`,message:`Ed25519 canonical lane inventory has conflicting material facts`}),[];case`ambiguous_material`:return t.push({curve:`ed25519`,source:`canonical_lane_inventory`,reason:`ambiguous_material`,message:`Ed25519 canonical lane inventory has incomparable usable records`}),[];default:return n}}function De(e,t){let n=e.map(ge).filter(e=>e!==null),r=[];for(let e of Te(n).values())r.push(...Ee(e,t));return r.sort(H)}function Oe(e){if(!A(e)||e.curve!==`ed25519`)return null;let t=String(e.thresholdSessionId||``).trim();return e.authorizationState!==`authorized`||!t?null:`${e.authorization.operationCredential.walletSessionId}:${e.authorization.session.quotaId}:${t}`}function ke(e){if(!A(e.primaryLane)||e.primaryLane.curve!==`ed25519`||D(e.primaryLane)!==`passkey`)return e.primaryLane;let t=Oe(e.primaryLane);return t&&e.candidates.find(e=>A(e)&&e.curve===`ed25519`&&D(e)===`email_otp`&&Oe(e)===t)||e.primaryLane}function Ae(){try{return globalThis.localStorage?.getItem(`seams:debug:signing-session`)===`1`}catch{return!1}}function K(e){return e?A(e)?{present:!0,authMethod:n(e.auth),curve:e.curve,keyHandle:e.publicFacts.keyHandle,walletId:e.key.walletId,chainTarget:e.chainTarget,targetKey:o(e.chainTarget),state:e.state,source:e.source,evmFamilyKeyFingerprint:ue(e),ecdsaThresholdKeyId:e.key.ecdsaThresholdKeyId,participantIds:e.publicFacts.participantIds,thresholdOwnerAddress:e.publicFacts.thresholdOwnerAddress,remainingUses:e.remainingUses,expiresAtMs:e.expiresAtMs,updatedAtMs:e.updatedAtMs}:{present:!0,curve:e.curve,chainTarget:e.chainTarget,state:e.state}:{present:!1}}function je(e){switch(e.source){case`canonical_capability`:return`canonical_capability`;case`active_wallet_authority`:return`active_wallet_authority`;default:return e}}function Me(e){let t=r(e.auth);return{walletId:String(e.key.walletId),authKey:t,materialActivationKey:w(e.materialActivation),ecdsaThresholdKeyId:String(e.key.ecdsaThresholdKeyId),signingRootId:String(e.key.signingRootId),signingRootVersion:String(e.key.signingRootVersion||`default`)}}function Ne(e){return[e.walletId,e.authKey,e.materialActivationKey,e.ecdsaThresholdKeyId,e.signingRootId,e.signingRootVersion].map(e=>encodeURIComponent(e)).join(`|`)}function Pe(e){let t=Me(e);return t?{source:je(e),groupKey:t,chainTargetKey:o(e.chainTarget),lane:e}:null}function Fe(e){let t=r(e.auth);return[String(e.key.walletId),t,w(e.materialActivation),String(e.key.signingRootId),String(e.key.signingRootVersion||`default`)].map(e=>encodeURIComponent(e)).join(`|`)}function q(e,t){return[...new Set(e.map(e=>t(e.lane)).filter(Boolean))].sort()}function Ie(e){return[{field:`ecdsaThresholdKeyId`,values:q(e.facts,e=>String(e.key.ecdsaThresholdKeyId||``))},{field:`thresholdOwnerAddress`,values:q(e.facts,e=>String(e.publicFacts.thresholdOwnerAddress||``).toLowerCase())},{field:`keyHandle`,values:q(e.facts,e=>String(e.publicFacts.keyHandle||``))},{field:`publicKeyB64u`,values:q(e.facts,e=>String(e.publicFacts.publicKeyB64u||``))},{field:`participantIds`,values:q(e.facts,e=>e.publicFacts.participantIds.map(e=>Number(e)).join(`,`))}].filter(e=>e.values.length>1).map(t=>({groupKey:e.key,field:t.field,values:t.values}))}function Le(e){let t=new Map;for(let n of e){let e=Fe(n.lane);e&&t.set(e,[...t.get(e)||[],n])}let n=new Map;for(let[e,r]of t){let t=r[0];if(!t)continue;let i=Ie({key:t.groupKey,facts:r});i.length&&n.set(e,i)}return n}function Re(e){let t=Fe(e.fact.lane);return t&&e.conflictsByFamilyGroup.get(t)||[]}function ze(e){return e.filter(e=>A(e)&&e.curve===`ecdsa`).map(Pe).filter(e=>e!==null)}function Be(e){return e.source===`active_wallet_authority`?2:1}function Ve(e){return e.groupKey}function He(e){let t=e[0];return t?Ie({key:t.groupKey,facts:e}):[]}function Ue(e){return e.lane.source===`active_wallet_authority`?!0:e.lane.state!==`deferred`||!e.lane.authorization}function We(e){return I(e.lane)}function Ge(e){return`exact_target`}function J(e){return[w(e.materialActivation),e.source,o(e.chainTarget)].map(e=>String(e)).join(`|`)}function Ke(e,t){return G([U(L(e.lane),L(t.lane)),U(Be(e.lane),Be(t.lane)),W(J(e.lane),J(t.lane))])}const qe={groupKey:Ve,groupKeyString:Ne,groupConflicts:He,supersession:{isOperationUsable:Ue,generation:We,exactness:Ge,tieBreak:Ke}};function Je(e){let t=new Map;for(let n of e)t.set(Ne(n.groupKey),n.groupKey);return[...t.values()]}function Ye(e){let t=h(e,qe);switch(t.kind){case`selected`:return{kind:`selected`,selectedFact:t.selectedFact,supersededFacts:t.supersededFacts};case`no_current_lane`:return{kind:`no_current_lane`,unusableFacts:t.unusableFacts};case`conflicting_key_material`:return{kind:`conflicting_key_material`,conflicts:t.conflicts};case`ambiguous_material`:return{kind:`ambiguous_material`,candidates:Je(t.candidates),candidateFacts:t.candidates};default:return t}}function Xe(e){return A(e)?J(e):null}function Ze(e){let t={},n={},r=Object.fromEntries(Object.entries(e.candidatesByTarget).map(([e,t])=>[e,Qe(t,Xe)])),i=Le(Object.values(r).flatMap(ze));for(let a of e.targets){let s=o(a),c=ze(r[s]||[]),l=c.flatMap(e=>Re({fact:e,conflictsByFamilyGroup:i}));if(l.length){e.invalidLanes.push({curve:`ecdsa`,source:`canonical_lane_inventory`,reason:`conflicting_key_material`,targetKey:s,groupKey:l[0]?.groupKey,conflicts:l}),t[s]=[],n[s]=N({chainTarget:a});continue}let u=Ye(c);switch(u.kind){case`selected`:t[s]=[u.selectedFact.lane],n[s]=u.selectedFact.lane;break;case`no_current_lane`:t[s]=[],n[s]=N({chainTarget:a});break;case`conflicting_key_material`:e.invalidLanes.push({curve:`ecdsa`,source:`canonical_lane_inventory`,reason:`conflicting_key_material`,targetKey:s,groupKey:u.conflicts[0]?.groupKey,conflicts:u.conflicts}),t[s]=[],n[s]=N({chainTarget:a});break;case`ambiguous_material`:e.invalidLanes.push({curve:`ecdsa`,source:`canonical_lane_inventory`,reason:`ambiguous_material`,targetKey:s}),t[s]=[],n[s]=N({chainTarget:a});break}}return{lanesByTarget:n,candidatesByTarget:t}}function Qe(e,t,n=z){let r=new Map,i=[];for(let n of e){let e=t(n);if(!e){i.push(n);continue}r.set(e,[...r.get(e)||[],n])}return[...[...r.values()].map(e=>[...e].sort((e,t)=>n(t,e))[0]),...i]}function $e(e){let t=new Set(e.filter(e=>A(e)&&e.curve===`ed25519`&&e.source===`durable_sealed_record`&&(e.state===`ready`||e.state===`restorable`)).map(B).filter(e=>e!==null).map(V));return t.size?e.filter(e=>{if(!A(e)||e.curve!==`ed25519`||e.source!==`public_capability_reference`)return!0;let n=B(e);return!n||!t.has(V(n))}):[...e]}async function et(e,t){return e.state===`missing`||r(e.auth)!==r(t.auth)||!await rt(e,t)?!1:t.auth.kind===`passkey`?`keyFamily`in t&&t.keyFamily===`ecdsa`?!1:e.signerSlot===t.signerSlot:!0}function tt(e,t){return e.state===`missing`||r(e.auth)!==r(t.auth)?!1:nt(e,t)}function nt(e,t){let n=t.auth.kind===`passkey`?void 0:t.ownerAuthority;if(!n)return!0;if(e.curve===`ecdsa`&&e.source===`active_wallet_authority`)return e.runtime.factorAuthorityRef.walletAuthMethodId===n.walletAuthMethodId&&String(e.runtime.factorAuthorityRef.authorityDigest)===String(n.authorityDigest);if(e.curve===`ecdsa`&&e.source===`canonical_capability`){let t=e.capability.manifest.signer.authority;return t.walletAuthMethodId===n.walletAuthMethodId&&String(t.authorityDigest)===String(n.authorityDigest)}return!1}async function rt(e,t){let n=t.auth.kind===`passkey`?void 0:t.ownerAuthority;if(!n)return!0;if(e.state===`missing`||e.curve!==`ed25519`)return!1;if(e.authorizationState===`authorization_required`)return!0;try{let t=await s({authority:e.authorization.selectedFactorAuthority});return t.walletId===e.walletId&&t.walletAuthMethodId===n.walletAuthMethodId&&t.authorityDigest===n.authorityDigest}catch{return!1}}async function it(e,t){let n=[];for(let r of e)await et(r,t)&&n.push(r);return n}async function at(e,t){let r=a(e.walletId),i=new Map;for(let t of e.ecdsaChainTargets)i.set(o(t),t);let s=[...i.values()],[c,l,u,d]=await Promise.all([t.listSealedRecordsForWallet({walletId:r,filter:{...e.authMethod?{authMethod:e.authMethod}:{},curve:`ed25519`}}),t.listPublicCapabilityReferences?.()??[],t.readActiveWalletSessionAuthorization?.(r)??{kind:`missing`},s.length>0&&t.listCanonicalEcdsaLanesForWallet?t.listCanonicalEcdsaLanesForWallet({walletId:r}):[]]),f=u.kind===`found`?u.authorization:null,p=[...s],m={},h={},g={};for(let e of p){let t=o(e);m[t]=N({chainTarget:e}),h[t]=[],g[t]=0}let _=[],v=0,y=Ae(),b=[],x=[];for(let t of c){let n=te(t,f,e.ownerScope);if(!n)continue;_.push(n);let r=F(n);v=Math.max(v,r)}for(let i of l){if(String(i.walletId)!==String(r))continue;let a=u.kind===`exhausted`||u.kind===`expired`;if(!t.isPublicCapabilityActive?.(i)&&!a)continue;let o=re(i,f,e.ownerScope);o&&(e.authMethod&&n(o.auth)!==e.authMethod||_.push(o))}for(let t of d){let a=n(t.auth);if(e.authMethod&&a!==e.authMethod||String(t.key.walletId)!==String(r))continue;let s=o(t.chainTarget);if(!i.has(s))continue;h[s]||=[],h[s].push(t);let c=F(t);v=Math.max(v,c),b.push({result:`accepted`,targetKey:s,lane:K(t)})}let S=s.length>0&&t.listActiveWalletAuthorityEcdsaLanesForWallet?await t.listActiveWalletAuthorityEcdsaLanesForWallet({walletId:r,chainTargets:s}):[];for(let t of S){let a=n(t.auth);if(e.authMethod&&a!==e.authMethod||String(t.key.walletId)!==String(r))continue;let s=o(t.chainTarget);i.has(s)&&(h[s]||=[],h[s].push(t),b.push({result:`accepted`,targetKey:s,lane:K(t)}))}let C=e.ownerScope,w=C?await it(_,C):_;if(C)for(let e of Object.keys(h))h[e]=(h[e]||[]).filter(e=>tt(e,C));let T=De(Qe($e(w),M,he).sort(H),x),ee=ke({primaryLane:T[0]||pe(),candidates:T}),E=Ze({targets:p,candidatesByTarget:Ze({targets:p,candidatesByTarget:h,invalidLanes:x}).candidatesByTarget,invalidLanes:x}),D={walletId:r,generation:v,ecdsa:{targets:p,lanesByTarget:E.lanesByTarget,candidatesByTarget:E.candidatesByTarget},lanes:{ed25519:{near:ee}},candidates:{ed25519:{near:T}},diagnostics:{invalidLanes:x}},O=p.map(e=>{let t=o(e),n=D.ecdsa.candidatesByTarget[t]||[],r=D.ecdsa.lanesByTarget[t],i=r?.state||`missing`;return n.length>0&&i!==`missing`?null:{chainTarget:e,targetKey:t,candidateCount:n.length,selectedLane:K(r)}}).filter(e=>!!e),k={walletId:r,authMethod:e.authMethod||`any`,requestedTargets:p.map(e=>({chainTarget:e,targetKey:o(e)})),sealedRecordCount:0,runtimeRecordCount:d.length,durableDiscovery:[],runtimeDiscovery:b,resultSelectedLanesByTarget:Object.fromEntries(Object.entries(D.ecdsa.lanesByTarget).map(([e,t])=>[e,K(t)])),resultCandidatesByTarget:Object.fromEntries(Object.entries(D.ecdsa.candidatesByTarget).map(([e,t])=>[e,t.map(e=>K(e))]))};if(y&&O.length>0)try{console.warn(`[SigningLanes][available][ecdsa][missing-candidates]`,JSON.stringify({...k,missingEcdsaTargets:O}))}catch{}if(y)try{console.info(`[SigningLanes][available][ecdsa]`,JSON.stringify(k))}catch{}return D}function Y(t,n){return e(t,{fallback:n,min:1})}function X(e,t){let n=Error(`[SigningEngine] ${t}`);return n.code=e,n}function ot(e,t){let n=e.get(t);if(n)return n;let r={running:!1,items:[]};return e.set(t,r),r}function st(e){e.timeoutHandle&&=(clearTimeout(e.timeoutHandle),null)}async function ct(e,t){let n=e.get(t);if(!(!n||n.running)){n.running=!0;try{for(;n.items.length>0;){let e=n.items.shift();if(e&&!e.isSettled()){if(st(e),e.shouldAbort?.()){e.reject(e.makeCancelledError(`cancelled`));continue}if(Date.now()-e.enqueuedAtMs>e.timeoutMs){e.reject(e.makeTimeoutError(e.timeoutMs));continue}try{await e.run()}catch(t){e.reject(t)}}}}finally{n.running=!1,n.items.length===0&&e.get(t)===n?e.delete(t):n.items.length>0&&ct(e,t)}}}function lt(e){for(let t of e.values()){for(let e of t.items)st(e),e.reject(e.makeCancelledError(`queue_cleared`));t.items.length=0}e.clear()}function ut(e){return[`material`,encodeURIComponent(String(e.materialActivation.materialOwner)),encodeURIComponent(String(e.materialActivation.capability)),encodeURIComponent(String(e.materialActivation.activationId))].join(`:`)}async function dt(e){let{labels:t,owner:n}=e,r=String(e.queueKey||``).trim();if(!r)throw Error(`[SigningEngine] ${t.queue} requires non-empty queueKey`);if(!e.enabled)return await e.task();let i=Y(e.maxQueueLength,8),a=Y(e.queueTimeoutMs,45e3),o=ot(e.queueByKey,r);if(o.items.length+(o.running?1:0)>=i)throw X(`commit_queue_overflow`,`${t.queue} overflow for ${n} (queueKey=${r}, max=${i})`);return await new Promise((i,s)=>{let c=null,l=!1,u=()=>{c&&=(clearTimeout(c),null)},d=e=>{l||(l=!0,u(),s(e))},f=e=>{l||(l=!0,u(),i(e))},p=e=>X(`cancelled`,`${t.queuedOperation} cancelled for ${n} (queueKey=${r}${e===`queue_cleared`?`, queue_cleared`:``})`),m=e=>X(`commit_queue_timeout`,`${t.queue} timeout for ${n} (queueKey=${r}, waited>${e}ms before start)`),h={enqueuedAtMs:Date.now(),timeoutMs:a,shouldAbort:e.shouldAbort,timeoutHandle:null,isSettled:()=>l,reject:d,makeCancelledError:p,makeTimeoutError:m,run:async()=>{if(e.shouldAbort?.())throw p(`cancelled`);f(await e.task())}};c=setTimeout(()=>{if(h.isSettled())return;let t=o.items.indexOf(h);t>=0&&o.items.splice(t,1),d(m(a)),!o.running&&o.items.length===0&&e.queueByKey.get(r)===o&&e.queueByKey.delete(r)},a),h.timeoutHandle=c,o.items.push(h),ct(e.queueByKey,r)})}function Z(e){let t={walletId:p(e.laneIdentity),authMethod:n(e.laneIdentity.auth),laneIdentity:e.laneIdentity};return e.kind===`ecdsa`?{...t,walletSessionId:e.authorization.operationCredential.walletSessionId,quotaId:e.authorization.session.quotaId}:{...t,walletSessionId:e.laneIdentity.walletSessionId,quotaId:e.laneIdentity.quotaId}}function Q(e){return{kind:`invalid`,...Z(e.source)}}function $(e){let t=Number(e);return!Number.isSafeInteger(t)||t<0?null:t}function ft(e){let t=$(e.expiresAtMs),n=$(e.detectedAtMs);if(t===null||t===0)throw Error(`Authoritative expired Wallet Session expiresAtMs is invalid`);if(n===null||n===0)throw Error(`Authoritative expired Wallet Session detectedAtMs is invalid`);if(t>n)throw Error(`Authoritative expired Wallet Session timeline is invalid`);return{kind:`expired`,...Z(e.source),expiresAtMs:t,detectedAtMs:n}}function pt(e){let t=$(e.observation.expiresAtMs);if(t===null||t===0)return Q({source:e.observation.source});let n=Z(e.observation.source);return t<=e.nowMs?{kind:`expired`,...n,expiresAtMs:t,detectedAtMs:e.nowMs}:{kind:`active`,...n,expiresAtMs:t}}function mt(e){let t=$(e.nowMs);if(t===null)return Q({source:e.observation.source});switch(e.observation.kind){case`found`:return pt({observation:e.observation,nowMs:t});case`missing`:return{kind:`missing`,...Z(e.observation.source)};case`unavailable`:return{kind:`unavailable`,...Z(e.observation.source)};case`invalid`:return Q({source:e.observation.source});default:return e.observation}}export{C as _,dt as a,D as c,le as d,ce as f,at as g,A as h,ut as i,fe as l,se as m,ft as n,T as o,M as p,lt as r,E as s,mt as t,de as u,w as v};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./accountIds-
|
|
1
|
+
import{t as e}from"./accountIds-DGWFzEnw.js";import{i as t,n}from"./profileAccountProjection-dvLchPBo.js";async function r(e){let[t,n]=await Promise.all([e.credentialStore.listWalletPasskeyAuthenticators(e.walletId),e.credentialStore.listWalletAuthMethodsV2ForWallet(e.walletId)]),r=new Set;for(let t of n)t.kind===`passkey`&&t.status===`active`&&String(t.walletId)===e.walletId&&r.add(t.credentialIdB64u);return t.filter(e=>r.has(e.credentialId))}function i(e){return e.map(e=>({id:String(e.credentialId||``),type:`public-key`,transports:Array.isArray(e.transports)?e.transports:[]}))}function a(e){if(String(e.signerAuthMethod||``)!==`passkey`)return``;let t=String(e.metadata?.walletId||``).trim(),n=String(e.metadata?.passkeyCredentialRawId||``).trim();return t&&n?t:``}async function o(e){let t=await e.credentialStore.listAccountSigners({chainIdKey:e.chainIdKey,accountAddress:e.accountAddress,status:`active`}),n=Array.from(new Set(t.map(a).filter(Boolean)));if(n.length===0)throw Error(`[multichain] no passkey signer found for account ${e.accountLabel}`);if(n.length>1)throw Error(`[multichain] multiple wallet identities found for account ${e.accountLabel}`);let i=n[0];return{walletId:i,authenticators:await r({credentialStore:e.credentialStore,walletId:i})}}async function s(e){if(e.authenticators.length===0)throw Error(`[multichain] no passkeys found for account ${String(e.accountLabel)}`);let t=(await e.credentialStore.selectProfileAuthenticatorsForPrompt({profileId:e.profileId,authenticators:e.authenticators,accountLabel:String(e.accountLabel)})).authenticatorsForPrompt;if(t.length===0)throw Error(`[multichain] no passkey credential selected for account ${String(e.accountLabel)}`);e.onBeforePrompt?.({authenticators:e.authenticators,authenticatorsForPrompt:t,challengeB64u:e.challengeB64u});let n=i(t),r=await e.touchIdPrompt.getAuthenticationCredentialsSerializedForChallengeB64u({subjectId:String(e.accountLabel),challengeB64u:e.challengeB64u,allowCredentials:n,cancellation:e.cancellation,includeSecondPrfOutput:e.includeSecondPrfOutput}),a=await e.credentialStore.selectProfileAuthenticatorsForPrompt({profileId:e.profileId,authenticators:e.authenticators,selectedCredentialRawId:r.rawId,accountLabel:String(e.accountLabel)});if(a?.wrongPasskeyError)throw Error(String(a.wrongPasskeyError));return r}async function c(e){let t=String(e.credentialIdB64u||``).trim();if(!t)throw Error(`[webauthn] exact passkey credential is required`);let n=await e.touchIdPrompt.getAuthenticationCredentialsSerializedForChallengeB64u({subjectId:String(e.accountLabel),challengeB64u:e.challengeB64u,allowCredentials:[{id:t,type:`public-key`,transports:[]}],cancellation:e.cancellation,includeSecondPrfOutput:e.includeSecondPrfOutput});if(n.rawId!==t)throw Error(`[webauthn] authentication returned a different passkey credential`);return n}async function l(t){let n=e(t.nearAccountId);return await c({touchIdPrompt:t.touchIdPrompt,accountLabel:n,challengeB64u:t.challengeB64u,credentialIdB64u:t.credentialIdB64u,cancellation:t.cancellation,includeSecondPrfOutput:t.includeSecondPrfOutput})}async function u(e){let t=String(e.walletId||``).trim();return await c({touchIdPrompt:e.touchIdPrompt,accountLabel:t,challengeB64u:e.challengeB64u,credentialIdB64u:e.credentialIdB64u,cancellation:e.cancellation,includeSecondPrfOutput:e.includeSecondPrfOutput})}async function d(r){let i=e(r.nearAccountId),a=await n(r.credentialStore,t(i));if(!a?.profileId)throw Error(`[multichain] no profile/account mapping found for account ${i}`);let c=await o({credentialStore:r.credentialStore,chainIdKey:a.accountRef.chainIdKey,accountAddress:a.accountRef.accountAddress,accountLabel:i});return await s({credentialStore:r.credentialStore,touchIdPrompt:r.touchIdPrompt,profileId:c.walletId,accountLabel:i,authenticators:c.authenticators,challengeB64u:r.challengeB64u,cancellation:r.cancellation,...r.onBeforePrompt?{onBeforePrompt:r.onBeforePrompt}:{},...typeof r.includeSecondPrfOutput==`boolean`?{includeSecondPrfOutput:r.includeSecondPrfOutput}:{}})}async function f(e){let t=String(e.walletId||``).trim(),n=await r({credentialStore:e.credentialStore,walletId:t});return await s({credentialStore:e.credentialStore,touchIdPrompt:e.touchIdPrompt,profileId:t,accountLabel:t,authenticators:n,challengeB64u:e.challengeB64u,cancellation:e.cancellation,...e.onBeforePrompt?{onBeforePrompt:e.onBeforePrompt}:{},...typeof e.includeSecondPrfOutput==`boolean`?{includeSecondPrfOutput:e.includeSecondPrfOutput}:{}})}export{f as i,l as n,u as r,d as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as e}from"./clientSessionPersistenceState-
|
|
1
|
+
import{a as e}from"./clientSessionPersistenceState-BxpITYM_.js";async function t(t){return await e({...t,labels:{queue:`threshold Ed25519 commit queue`,queuedOperation:`threshold Ed25519 queued commit`},owner:String(t.nearAccountId)})}export{t};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{n as e}from"./chunk-dVx5-UGu.js";import{v as t}from"./digests-BIaE0DMd.js";import{i as n}from"./chains-B72I4PDH.js";import{r}from"./transactionReviewAdmission-Cf_qUZJt.js";import{a as i,i as a,r as o,t as s}from"./actions-7SvZZut1.js";import{t as c}from"./surface-measurement-reporter-DJ_dQhBV.js";import{a as l,i as u,o as d,r as f,s as p}from"./csp-stylesheet-5LU6VGKK.js";import{t as m}from"./SeamsWordmark-CeEi2RlU.js";import{i as h,r as g}from"./intentDigest-gM3r4SVX.js";import{t as _}from"./promptText-bcKcsSka.js";import{a as v}from"./transaction-activity-BXSxMp1E.js";import{a as y,c as b,i as x,n as S,o as C,r as w,s as T,t as ee}from"./appearance-token-vars-DkF3EBbF.js";import{i as E,n as te,r as ne,t as re}from"./ConfirmationDrawer-BRnd5SEf.js";import{n as ie,t as ae}from"./appearance-DL7c6bML.js";let oe=!1;function se(e=!0){oe=!!e}function ce(){return oe}function le(e){if(!e)return``;if(typeof e==`string`)return e;try{return JSON.stringify(e,(e,t)=>typeof t==`bigint`?t.toString():t,2)}catch{return String(e)}}function D(e){if(!e||e===`0`)return`0 NEAR`;try{let t=BigInt(e),n=BigInt(`1000000000000000000000000`),r=t/n,i=t%n;if(i===BigInt(0))return`${r.toString()} NEAR`;let a=i.toString().padStart(24,`0`).slice(0,5);return a=a.replace(/0+$/g,``),a.length===0?`${r.toString()} NEAR`:`${r.toString()}.${a} NEAR`}catch{return e}}function ue(e){if(!e)return``;try{return`${BigInt(e)/BigInt(`1000000000000`)} Tgas`}catch{return e}}function O(e,t={}){if(!e||typeof e!=`string`)return``;let{prefix:n=12,suffix:r=6}=t;return e.length<=n+r+3?e:`${e.slice(0,n)}...${e.slice(-r)}`}function k(e){return e?e instanceof Uint8Array?`${e.byteLength} bytes`:Array.isArray(e)||typeof e==`string`?`${e.length} bytes`:`unknown`:`0 bytes`}function de(e){if(!e)return;let t=String(e.decoded||``),n=String(e.raw||``);if(!(!t||!n)&&t!==n)return{decoded:t,raw:n,defaultMode:e.defaultMode===`raw`?`raw`:`decoded`}}function fe(e,t){if(!/Value \(wei\)$/i.test(e.trim()))return!1;let n=t.trim();if(!n)return!1;if(n===`0`||/^0x0+$/i.test(n))return!0;try{return BigInt(n)===0n}catch{return!1}}function pe(e,t){return!Array.isArray(t)||t.length===0?[]:t.flatMap((t,n)=>{let r=String(t.label||``).trim(),i=String(t.value||``),a=t.renderAs||`inline`;if(fe(r,i))return[];if(a===`file-content`){let a=de(t.contentVariants),o=a?.defaultMode===`raw`?a.raw:a?.decoded||i;return[{id:`${e}-field-${n}`,label:r?`${r}:`:``,fieldLabel:r?`${r}:`:void 0,type:`file`,open:!1,content:o,...a?{contentVariants:a}:{},copyValue:typeof t.copyValue==`string`?t.copyValue:void 0,hideLabel:!!t.hideLabel,hideChevron:typeof t.hideChevron==`boolean`?t.hideChevron:!0}]}return[{id:`${e}-field-${n}`,label:r?`${r}: ${i}`:i,fieldLabel:r?`${r}:`:void 0,type:`file`,open:!1,copyValue:typeof t.copyValue==`string`?t.copyValue:void 0}]})}const me=({operation:e,depth:t,path:n,renderChild:r})=>{let i=String(e.id||``).trim()||`op-${n}`,a=(()=>{let t=String(e.to||``).trim();return/^0x[0-9a-fA-F]{40}$/.test(t)?t:void 0})(),o=String(e.description||``).trim(),s=Array.isArray(e.children)?e.children.map((e,i)=>r(e,t+1,`${n}.${i}`)):[],c=pe(i,e.fields),l=o?[{id:`${i}-description`,label:o,type:`file`,open:!1}]:[];if(e.kind===`raw.fallback`){let t=String(e.raw||``).trim();t&&l.push({id:`${i}-raw`,label:`Raw payload`,type:`file`,open:!1,content:t})}let u=[...l,...c,...s];return u.length===0?{id:i,label:String(e.label||e.kind),type:`file`,open:!1,contractAddress:a}:{id:i,label:String(e.label||e.kind),type:`folder`,open:t<1,contractAddress:a,children:u}};function he(e){switch(e){case`near`:return`NEAR`;case`evm`:return`EVM`;case`tempo`:return`Tempo`;default:return`Unknown`}}function ge(e){return!Array.isArray(e)||e.length===0?[]:[{id:`warnings-root`,label:`Warnings`,type:`folder`,open:!0,children:e.map((e,t)=>({id:`warning-${t}`,label:`[${String(e.severity||`warning`).toUpperCase()}] ${String(e.message||``)}`,type:`file`,open:!1}))}]}function _e(e,t,n){return me({operation:e,depth:t,path:n,renderChild:(e,t,n)=>_e(e,t,n)})}function ve(e){let t=Array.isArray(e.children)?e.children.map(e=>ve(e)):void 0;return e.type===`folder`?{...e,hideChevron:!0,children:t}:t?{...e,children:t}:e}function ye(e,t){let n=Array.isArray(e.children)?e.children.map(e=>ye(e,t)):void 0;return{...e,chain:t,...n?{children:n}:{}}}function be(e){let t=e.chain===`evm`||e.chain===`tempo`,n=(Array.isArray(e.operations)?e.operations:[]).map((e,t)=>_e(e,0,String(t))).map(t=>ye(t,e.chain)).map(e=>t?ve(e):e),r=[...ge(e.warnings).map(t=>ye(t,e.chain)).map(e=>t?ve(e):e),...n];r.length===0&&r.push({id:`no-operations`,label:`No operations`,type:`file`,open:!1});let i=he(e.chain);return{id:`display-root`,label:String(e.title||``).trim()||`${i} Transaction`,type:`folder`,open:!0,children:r}}function xe(e,n){let r;switch(e.type){case`FunctionCall`:r=[{id:`a${n}-args`,label:`using args:`,type:`file`,open:!1,hideChevron:!0,hideLabel:!0,content:le(e.args)}];break;case`Transfer`:r=[];break;case`CreateAccount`:r=[];break;case`DeployContract`:{let t=k(e.code);r=[{id:`a${n}-code-size`,label:`WASM contract code size: ${t}`,type:`file`,open:!1}];break}case`DeployGlobalContract`:{let t=e.code,i=e.deployMode,a=k(t);r=[{id:`a${n}-deploy-mode`,label:`mode: ${String(i||``)}`,type:`file`,open:!1},{id:`a${n}-code-size`,label:`WASM global contract code size: ${a}`,type:`file`,open:!1}];break}case`UseGlobalContract`:{let t=e.accountId,i=e.codeHash,a;a=t?`by account: ${String(t)}`:i?`by hash: ${O(String(i),{prefix:10,suffix:6})}`:`by global contract identifier`,r=[{id:`a${n}-identifier`,label:a,type:`file`,open:!1}];break}case`Stake`:r=[{id:`a${n}-publicKey`,label:`validator: ${O(e.publicKey)}`,type:`file`,open:!0,copyValue:e.publicKey}];break;case`AddKey`:{let i=e.accessKey,a=``;try{a=(t(i)?JSON.parse(i):i).permission===`FullAccess`?`Full Access`:`Function Call`}catch{a=`Unknown`}r=[{id:`a${n}-publicKey`,label:`key: ${O(e.publicKey)}`,open:!1,type:`file`,copyValue:e.publicKey},{id:`a${n}-permissions`,label:`permissions: ${a}`,open:!1,type:`file`}];break}case`DeleteKey`:r=[{id:`a${n}-publicKey`,label:`key: ${O(e.publicKey)}`,open:!1,type:`file`,copyValue:e.publicKey}];break;case`DeleteAccount`:r=[{id:`a${n}-beneficiaryId`,label:`sending balance to: ${e.beneficiaryId}`,open:!1,type:`file`}];break;default:return Se(e)}return{id:`action-${n}`,label:``,type:`folder`,open:!1,hideChevron:!0,action:e,actionIndex:n,children:r}}function Se(e){throw Error(`Unsupported NEAR action: ${String(e)}`)}function Ce(e,t,n){let r=e.actions.map((e,t)=>xe(e,t));return{id:`tx-${t}`,label:``,type:`folder`,open:!0,hideChevron:!0,transaction:e,transactionIndex:t,totalTransactions:n,children:[...r]}}function we(e){let t=e.length,n=e.map((e,n)=>Ce(e,n,t));return{id:`txs-root`,label:t>1?`Transactions`:`Transaction`,type:`folder`,open:!0,children:n}}function Te(e){let t=e.abiDecodeHint;if(t&&Array.isArray(t.abi)&&t.abi.length>0){let e=String(t.dataHex||``).trim();if(e&&e!==`0x`)return!0}return(Array.isArray(e.children)?e.children:[]).some(Te)}function Ee(e){return(Array.isArray(e.operations)?e.operations:[]).some(Te)}function A(e){let t=Array.isArray(e.txSigningRequests)?e.txSigningRequests:[];if(t.length>0)return we(o(t));let n=e.model;if(!n)return null;let r=Array.isArray(n.operations)?n.operations:[],i=Array.isArray(n.warnings)?n.warnings:[];return r.length>0||i.length>0?be(n):null}const De=/^NEAR account ([^\s]+) needs funding before signing\.$/;function Oe(e){let t=String(e||``).trim();return t.length<=8?t:`${t.slice(0,4)}...${t.slice(-4)}`}function ke(e){let t=String(e||``).trim();return t?`NEAR account ${t} needs funding before signing.`:`NEAR account needs funding before signing.`}function Ae(e){let t=String(e||``).trim(),n=De.exec(t);if(!n)return null;let r=String(n[1]||``).trim();return r?{accountId:r,shortAccountId:Oe(r)}:null}function je(e){return String(e||``).trim()===`Topping up account...`}function Me(e){let t=Oe(e);return t?`Funding NEAR account ${t}...`:`Funding NEAR account...`}function Ne(e){let t=String(e||``).trim();return t.startsWith(`Funding NEAR account`)&&t.endsWith(`...`)}function Pe(e){return je(e)||Ne(e)}function Fe(e){let t=e.trim();if(!t)return{kind:`empty`};if(Pe(t))return{kind:`status`,text:t};let n=Ae(t);return n?{kind:`funding`,accountId:n.accountId,shortAccountId:n.shortAccountId}:{kind:`text`,text:t}}function Ie(e){let t=e.presentation,n=t.errorMessage??``,r=t.cancelText??`Cancel`,i=t.securityContext?.passkeyRegistration;if(i?.kind===`passkey_registration_confirm_display_v1`)return{ok:!0,model:{appearance:e.appearance,content:{kind:`registration`,registration:{display:i,heading:t.title?.trim()||`Create your passkey`,body:t.body?.trim()||`Use Touch ID or your device passkey to create credentials for this account.`,cancelText:r,errorMessage:n,decision:t.loading?{kind:`creating`}:{kind:`ready`,onConfirm:e.callbacks.confirm},onCancel:e.callbacks.cancel}}}};let a;switch(t.signingAuthMode){case`emailOtp`:{let r=t.emailOtpPrompt,i=r?.challengeId.trim();if(!r||!i)return{ok:!1,error:`missing_email_challenge`};a={kind:`email`,email:{prompt:{challengeId:i,title:r.title,body:r.body,helperText:r.helperText,emailHint:r.emailHint,resendDebounceMs:r.resendDebounceMs,onResend:r.onResend},verification:Le(t.loading===!0,n),onSubmit:e.callbacks.submitEmail}};break}case`warmSession`:a={kind:`session`};break;case`webauthn`:case void 0:a={kind:`passkey`};break;default:return He(t.signingAuthMode)}let o=Fe(t.body??``);return{ok:!0,model:{appearance:e.appearance,content:{kind:`transaction`,capture:t.authMethodCapture??null,review:{model:t.model??null,tree:e.tree},header:{heading:Re(t),website:ze(t.securityContext?.rpId?.trim()??``),chainDetails:Be(t,t.loading===!0||o.kind===`status`),errorMessage:n},body:o,prompt:a,transaction:{tree:e.tree,theme:e.appearance.theme.mode,explorers:{near:t.nearExplorerUrl||`https://testnet.nearblocks.io`,tempo:t.tempoExplorerUrl,evm:t.evmExplorerUrl},decision:t.loading||t.preparing?{kind:`preparing`}:{kind:`ready`,onConfirm:e.callbacks.confirm},confirmText:t.signingAuthMode===`emailOtp`?`Confirm Code`:t.confirmText??`Confirm`,cancelText:r,errorMessage:n,onCancel:e.callbacks.cancel,onBack:t.onBack,authMethodApprovalMessage:t.authMethodApprovalMessage}}}}}function Le(e,t){return e?{kind:`pending`}:t?{kind:`rejected`,message:t}:{kind:`ready`}}function Re(e){let t=(e.model?.operations.length??0)===0?`Register with Passkey`:`Confirm with Passkey`;switch(e.signingAuthMode){case`emailOtp`:return e.emailOtpPrompt?.title?.trim()||`Enter email code to sign`;case`warmSession`:return`Review transaction`;case`webauthn`:return t;case void 0:return e.title?.trim()||t;default:return He(e.signingAuthMode)}}function ze(e){return e?{kind:`ready`,text:e}:{kind:`loading`}}function Be(e,t){let n=e.model;if(n?.chainId)return{kind:`ready`,text:`${Ve(n.chain)} | ChainID: ${n.chainId}`};let r=String(e.securityContext?.blockHeight||``).trim();return r?{kind:`ready`,text:`block ${r}`}:t?{kind:`loading`}:{kind:`ready`,text:`block`}}function Ve(e){switch(e){case`near`:return`NEAR`;case`evm`:return`EVM`;case`tempo`:return`Tempo`;case`unknown`:return`Unknown`;default:return He(e)}}function He(e){throw Error(`Unexpected confirmation presentation: ${String(e)}`)}const j=`seams-surface-resize-begin`;function Ue(e,t){return e.dispatchEvent(new CustomEvent(j,{bubbles:!0,composed:!0,detail:t}))}function We(e,t,n){let r=t;return e.addEventListener(j,r,n),()=>e.removeEventListener(j,r,n)}const Ge=`data-seams-confirm-surface`,M=`seams-confirm-surface-pinned`,N=`seams-confirm-surface-pinned-root`,P=`seams-surface-height-driven`,F=`--seams-surface-height-driven-target`;function Ke(e,t){let{fromCssPx:n,toCssPx:r}=t;if(!Number.isFinite(n)||!Number.isFinite(r))return!1;let i=r-n;if(Math.abs(i)<1)return!1;let a=Math.min(n,r),o=Math.max(n,r),s=null,c=!1,l=null,u=e=>{if(c)return;let r=n+(Number.isFinite(e)?Math.min(Math.max(e,0),1):0)*i;t.setHeightCssPx(Math.min(Math.max(r,a),o))},d=()=>{c||(c=!0,l!==null&&window.clearTimeout(l),t.finish())},f=()=>s||c?null:(t.onClaimed?.(),u(0),l=window.setTimeout(()=>{u(1),d()},1500),s={setProgress:u,finish:d},s);return Ue(e,{...t.reason?{reason:t.reason}:{},deltaCssPx:i,claim:f}),s!==null}function qe(e){let t=null,n=null,r=()=>{let e=n;n=null,e&&e.classList.remove(P)};return{capture(){let n=e.element();t=n?n.getBoundingClientRect().height:null},commit(){let i=t;t=null;let a=e.element();!a||i===null||document.documentElement.classList.contains(N)||a.parentElement?.closest(`.${P}`)||(n=a,a.classList.add(P),e.setHeightCssPx(i),Promise.resolve(e.settled?.()).then(()=>new Promise(e=>requestAnimationFrame(()=>e()))).then(()=>{if(n!==a)return;if(document.documentElement.classList.contains(N)){r();return}a.classList.remove(P);let t=a.getBoundingClientRect().height;a.classList.add(P),!I({...e.reason?{reason:e.reason}:{},element:a,fromCssPx:i,toCssPx:t,setHeightCssPx:t=>e.setHeightCssPx(t),onSettled:()=>{n=null}})&&(r(),Je(a,i,t))}))},dispose:r}}function Je(e,t,n){Math.abs(n-t)<1||window.matchMedia(`(prefers-reduced-motion: reduce)`).matches||e.animate([{height:`${t}px`},{height:`${n}px`}],{duration:200,easing:`cubic-bezier(0.32, 0.72, 0, 1)`})}function I(e){let{element:t,fromCssPx:n,toCssPx:r}=e;if(!Number.isFinite(n)||!Number.isFinite(r)||Math.abs(r-n)<1)return!1;let i=e.drivenClasses??[P],a=i.filter(e=>!t.classList.contains(e));t.classList.add(...a),e.setHeightCssPx(n);let o=Ke(t,{...e.reason?{reason:e.reason}:{},fromCssPx:n,toCssPx:r,setHeightCssPx:e.setHeightCssPx,finish:()=>{t.classList.remove(...i),e.onSettled?.()}});return o||t.classList.remove(...a),o}let Ye=null;const Xe={blipFrames:0,trace(e=2e3){return new Promise(t=>{let n=[],r=performance.now(),i=()=>{let a=Ye,o=a?.classList.contains(M)?`*`:``;n.push(`${Math.round(performance.now()-r)}: box=${document.documentElement.clientHeight} content=${a?Math.round(a.getBoundingClientRect().height):`-`}${o}`),performance.now()-r<e?requestAnimationFrame(i):t(n)};requestAnimationFrame(i)})}};function Ze(e){Ye=e;try{window.__seamsSurfaceMotion=Xe}catch{}}function Qe(){let e=document.documentElement?.clientHeight??0;return e>0?e:window.innerHeight}function $e(e,t,n){return Math.min(Math.max(e,t),n)}function et(e){return e.getAttribute(Ge)===`wallet-iframe`}function tt(e){if(typeof CSSStyleSheet!=`function`||!(`adoptedStyleSheets`in document))return null;let t=null,n=()=>{e.classList.remove(M),document.documentElement.classList.remove(N)};return{set(n){try{t||=new CSSStyleSheet,t.replaceSync(`.${M}{height:${Math.max(0,Math.round(n))}px}.${N}{overflow:hidden}`),document.adoptedStyleSheets.includes(t)||(document.adoptedStyleSheets=[...document.adoptedStyleSheets,t])}catch{return!1}return e.classList.add(M),document.documentElement.classList.add(N),!0},release:n,dispose(){if(n(),!t)return;let e=t;t=null;try{document.adoptedStyleSheets=document.adoptedStyleSheets.filter(t=>t!==e)}catch{}}}}function nt(e,t={}){let n=t.viewportHeightCssPx??Qe,r=tt(e);Ze(e);let i=null,a=()=>{let e=i;e&&(i=null,e.frame!==null&&cancelAnimationFrame(e.frame),e.driver.setProgress(1),e.driver.finish(),r?.release())},o=()=>{let e=i;if(!e)return;e.frame=null;let t=n();t===e.lastViewportPx?e.framesSinceChange+=1:(e.lastViewportPx=t,e.framesSinceChange=0,e.moved=!0);let r=$e((t-e.originHostPx)/e.deltaCssPx,0,1);if(t===Math.round(e.originHostPx+e.deltaCssPx)){if(e.framesAtTarget+=1,e.sawIntermediate||e.framesAtTarget>=3){a();return}e.frame=requestAnimationFrame(o);return}e.framesAtTarget>0&&(Xe.blipFrames+=1),e.framesAtTarget=0,r>0&&r<1&&(e.sawIntermediate=!0),e.driver.setProgress(r);let s=e.moved?8:20;if(e.framesSinceChange>=s){a();return}e.frame=requestAnimationFrame(o)},s=We(e,t=>{let s=t.detail;if(!r||!s||!et(e))return;let c=s.deltaCssPx;if(!Number.isFinite(c)||Math.abs(c)<1)return;a();let l=n(),u=e.getBoundingClientRect().height;if(!(l>0)||!(u>0)||Math.abs(l-u)>1)return;let d=Math.round(u),f=d+c;if(!(f>0)||!r.set(f))return;let p=s.claim();if(!p){r.release();return}i={driver:p,originHostPx:d,deltaCssPx:c,lastViewportPx:l,framesSinceChange:0,moved:!1,sawIntermediate:!1,framesAtTarget:0,frame:null},i.frame=requestAnimationFrame(o)});return{dispose(){s(),a(),r?.dispose()}}}function L(e){let t=e.size??`100%`,n=e.strokeWidth??2;return f(`svg`,{class:`padlock-icon seams-padlock-icon`,xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":n,"stroke-linecap":`round`,"stroke-linejoin":`round`,width:t,height:t,"aria-hidden":`true`,focusable:`false`,children:[f(`rect`,{width:`18`,height:`11`,x:`3`,y:`11`,rx:`2`,ry:`2`}),f(`path`,{d:`M7 11V7a5 5 0 0 1 10 0v4`})]})}let rt=0;var it=class extends u{id=`seams-halo-${++rt}`;element=l();motion=null;frame=null;startedAt=null;angle=null;componentDidMount(){this.motion=this.element.current.ownerDocument.defaultView.matchMedia(`(prefers-reduced-motion: no-preference)`),this.motion.addEventListener(`change`,this.updateAnimation),this.syncDynamicStyles(),this.updateAnimation()}componentDidUpdate(e){e.styles!==this.props.styles&&e.styles.deleteDynamicRule(this.id),e.innerPadding!==this.props.innerPadding&&this.syncDynamicStyles(),(e.animated!==this.props.animated||e.durationMs!==this.props.durationMs||e.styles!==this.props.styles)&&this.updateAnimation()}componentWillUnmount(){this.cancelFrame(),this.motion?.removeEventListener(`change`,this.updateAnimation),this.motion=null,this.props.styles.deleteDynamicRule(this.id)}cancelFrame(){let e=this.element.current?.ownerDocument.defaultView;this.frame!==null&&e?.cancelAnimationFrame(this.frame),this.frame=null,this.startedAt=null}updateAnimation=()=>{this.cancelFrame(),this.angle=null,this.syncDynamicStyles(),this.props.animated&&this.motion?.matches&&(this.frame=this.element.current.ownerDocument.defaultView.requestAnimationFrame(this.tick))};tick=e=>{if(!this.element.current||!this.props.animated||!this.motion?.matches)return;this.startedAt??=e;let t=this.props.durationMs,n=t&&Number.isFinite(t)&&t>0?t:1150;this.angle=`${(e-this.startedAt)%n/n*360}deg`,this.syncDynamicStyles(),this.frame=this.element.current.ownerDocument.defaultView.requestAnimationFrame(this.tick)};syncDynamicStyles(){let e={};if(this.props.innerPadding&&(e[`--inner-padding`]=this.props.innerPadding),this.angle&&(e[`--halo-angle`]=this.angle),Object.keys(e).length===0){this.props.styles.deleteDynamicRule(this.id);return}this.props.styles.setDynamicDeclarations(this.id,`#${this.id}`,e)}render(){return f(`div`,{id:this.id,ref:this.element,class:`seams-halo-border`,children:f(`div`,{class:`halo-root${this.props.animated?` animated`:``}`,children:f(`div`,{class:`halo-inner`,children:f(`div`,{class:`halo-outer`,children:[this.props.animated&&f(`div`,{class:`halo-ring`,"aria-hidden":`true`}),f(`div`,{class:`halo-content`,children:this.props.children})]})})})})}};function at(e){return f(`div`,{class:`seams-passkey-halo-loading`,"aria-hidden":`true`,children:f(`div`,{class:`seams-passkey-loading-root`,children:f(it,{animated:e.animated,innerPadding:e.innerPadding,styles:e.styles,children:f(`div`,{class:`seams-passkey-loading-touch-icon-container`,children:f(`svg`,{class:`seams-passkey-loading-touch-icon`,"data-icon":e.icon,width:e.size??36,height:e.size??36,viewBox:`0 0 24 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,focusable:`false`,children:e.icon===`mail`?f(ot,{}):f(st,{})})})})})})}function ot(){return f(p,{children:[f(`path`,{d:`M4.5 6.5H19.5C20.0523 6.5 20.5 6.94772 20.5 7.5V16.5C20.5 17.0523 20.0523 17.5 19.5 17.5H4.5C3.94772 17.5 3.5 17.0523 3.5 16.5V7.5C3.5 6.94772 3.94772 6.5 4.5 6.5Z`,stroke:`currentColor`,"stroke-width":`var(--seams-modal__passkey-halo-loading-touch-icon__stroke-width, 3)`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"vector-effect":`non-scaling-stroke`}),f(`path`,{d:`M4.25 7.25L12 12.75L19.75 7.25`,stroke:`currentColor`,"stroke-width":`var(--seams-modal__passkey-halo-loading-touch-icon__stroke-width, 3)`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"vector-effect":`non-scaling-stroke`})]})}function st(){return f(`path`,{d:`M6.40519 19.0481C6.58912 18.6051 6.75832 18.1545 6.91219 17.6969M14.3433 20.6926C14.6095 19.9418 14.8456 19.1768 15.0502 18.399C15.2359 17.6934 15.3956 16.9772 15.5283 16.2516M19.4477 17.0583C19.8121 15.0944 20.0026 13.0694 20.0026 11C20.0026 6.58172 16.4209 3 12.0026 3C10.7472 3 9.55932 3.28918 8.50195 3.80456M3.52344 15.0245C3.83663 13.7343 4.00262 12.3865 4.00262 11C4.00262 9.25969 4.55832 7.64917 5.50195 6.33621M12.003 11C12.003 13.7604 11.5557 16.4163 10.7295 18.8992C10.5169 19.5381 10.2792 20.1655 10.0176 20.7803M7.71227 14.5C7.90323 13.3618 8.00262 12.1925 8.00262 11C8.00262 8.79086 9.79348 7 12.0026 7C14.2118 7 16.0026 8.79086 16.0026 11C16.0026 11.6166 15.9834 12.2287 15.9455 12.8357`,stroke:`currentColor`,"stroke-width":`var(--seams-modal__passkey-halo-loading-touch-icon__stroke-width, 3)`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"vector-effect":`non-scaling-stroke`,pathLength:`1`})}function ct(e){return f(p,{children:[f(`span`,{class:`loading-ellipsis`,"aria-hidden":`true`,children:[f(`span`,{class:`loading-ellipsis__dot`,children:`.`}),f(`span`,{class:`loading-ellipsis__dot`,children:`.`}),f(`span`,{class:`loading-ellipsis__dot`,children:`.`})]}),f(`span`,{class:`sr-only`,children:f(x,{copy:e.label})})]})}function lt(e,t){return`${e.trim().replace(/\/$/,``)}/address/${encodeURIComponent(t)}`}function R(e){return f(`a`,{class:`highlight-receiver-id`,href:lt(e.base,e.address),target:`_blank`,rel:`noopener noreferrer`,children:e.children})}function z(e){let t=e.trim();return/^0x[0-9a-fA-F]{40}$/.test(t)?`${t.slice(0,8)}...${t.slice(-4)}`:t}function B(e){let t=e.label.trim().match(/^(Transaction(?:\s+\d+)?\s+to contract)\b/i);return t?`${t[1]} `:void 0}function ut(e){throw Error(`Unsupported transaction action: ${String(e)}`)}function V(e){let t=e.action;if(t)switch(t.type){case s.FunctionCall:return`Calling ${t.methodName} with ${D(t.deposit)} using ${ue(t.gas)}`;case s.Transfer:return`Transfer ${D(t.amount)}`;case s.CreateAccount:return`Creating Account`;case s.DeleteAccount:return`Deleting Account`;case s.Stake:return`Staking ${D(t.stake)}`;case s.AddKey:return`Adding Key`;case s.DeleteKey:return`Deleting Key`;case s.DeployContract:return`Deploying WASM contract`;case s.DeployGlobalContract:return`Deploy global WASM contract (mode: ${t.deployMode}, size ${k(t.code)})`;case s.UseGlobalContract:return t.accountId?`Use global contract by account ${t.accountId}`:t.codeHash?`Use global contract by hash ${t.codeHash}`:`Use global contract`;default:return ut(t)}if(e.transaction)return((e.totalTransactions??1)>1?`Transaction ${(e.transactionIndex??0)+1}: to `:`Transaction to `)+e.transaction.receiverId;let n=B(e);return e.contractAddress?.trim()&&n?n+z(e.contractAddress):e.label}function dt({node:e,explorers:t}){let n=e.action;if(n)switch(n.type){case s.FunctionCall:{let e=ue(n.gas),t=D(n.deposit);return f(p,{children:[f(x,{message:`Calling`}),` `,f(`span`,{class:`highlight-method-name`,children:n.methodName}),t!==`0 NEAR`&&f(p,{children:[` `,f(x,{message:`with`}),` `,f(`span`,{class:`highlight-method-name`,children:t})]}),e&&f(p,{children:[` `,f(x,{message:`using`}),` `,f(`span`,{class:`highlight-method-name`,children:e})]})]})}case s.Transfer:return f(p,{children:[f(x,{message:`Transfer`}),` `,f(`span`,{class:`highlight-amount`,children:D(n.amount)})]});case s.CreateAccount:return f(x,{message:`Creating Account`});case s.DeleteAccount:return f(x,{message:`Deleting Account`});case s.Stake:return f(x,{message:`Staking {value0}`,values:{value0:D(n.stake)}});case s.AddKey:return f(x,{message:`Adding Key`});case s.DeleteKey:return f(x,{message:`Deleting Key`});case s.DeployContract:return f(x,{message:`Deploying WASM contract ({value0})`,values:{value0:k(n.code)}});case s.DeployGlobalContract:return f(x,{copy:V(e)});case s.UseGlobalContract:return n.accountId?f(p,{children:[f(x,{message:`Use global contract`}),` `,f(R,{base:t.near,address:n.accountId,children:n.accountId})]}):n.codeHash?f(p,{children:[f(x,{message:`Use global contract by hash`}),` `,f(`span`,{class:`highlight-method-name`,children:O(n.codeHash,{prefix:10,suffix:6})})]}):f(x,{message:`Use global contract`});default:return ut(n)}if(e.transaction)return f(p,{children:[f(x,{copy:(e.totalTransactions??1)>1?`Transaction ${(e.transactionIndex??0)+1}: to `:`Transaction to `}),f(R,{base:t.near,address:e.transaction.receiverId,children:e.transaction.receiverId})]});let r=B(e),i=e.contractAddress?.trim();if(i&&r){let n=e.chain&&e.chain!==`unknown`?t[e.chain]:void 0;return f(p,{children:[f(x,{copy:r}),n?f(R,{base:n,address:i,children:z(i)}):f(`span`,{class:`highlight-receiver-id`,children:z(i)})]})}let a=e.label.trim();if(a.toLowerCase().startsWith(`calling `)){let e=a.slice(8).trim(),t=e.toLowerCase().indexOf(` using `);if(t<0&&e)return f(p,{children:[f(x,{message:`Calling`}),` `,f(`span`,{class:`highlight-method-name`,children:e})]});let n=e.slice(0,t).trim(),r=e.slice(t+7).trim();if(t>=0&&n)return f(p,{children:[f(x,{message:`Calling`}),` `,f(`span`,{class:`highlight-method-name`,children:n}),r&&f(p,{children:[f(x,{message:`using`}),` `,r]})]})}return e.fieldLabel?f(p,{children:[f(x,{copy:e.fieldLabel}),e.label.slice(e.fieldLabel.length)]}):f(x,{copy:e.label})}const H=[`anim-h`,`anim-h-active`,`anim-h-driven`],ft=[...H,`anim-h-hold`];let pt=0;function mt(){return f(`svg`,{class:`chevron`,viewBox:`0 0 16 16`,"aria-hidden":`true`,children:f(`path`,{fill:`currentColor`,d:`M6 3l5 5-5 5z`})})}function ht(e){return!!e.contentVariants?.decoded&&!!e.contentVariants.raw&&e.contentVariants.decoded!==e.contentVariants.raw}function gt(e,t,n){return f(vt,{node:n,depth:t,styles:e.styles,explorers:e.explorers,onToggle:e.onToggle,onCopy:e.onCopy},n.id)}function _t(e){if(!e.node.children?.length)return null;let t=f(`div`,{class:`tooltip-tree-root`,children:f(`div`,{class:`tooltip-tree-children`,children:e.node.children.map(gt.bind(null,e,1))})});return f(`div`,{class:`seams-tx-tree`,"data-theme":e.theme,children:e.showShadow?f(`div`,{class:`tooltip-border-outer`,children:t}):t})}var vt=class extends u{static contextType=w;state={mode:this.props.node.contentVariants?.defaultMode===`raw`?`raw`:`decoded`,copied:!1};id=`seams-tree-node-${++pt}`;details=l();shell=l();disposed=!1;copiedTimer=null;frame=null;motionTimer=null;motion=null;modeHeight=null;componentDidUpdate(e){if(e.styles!==this.props.styles&&e.styles.deleteDynamicRule(this.id),this.modeHeight!==null&&this.shell.current){let e=this.shell.current,t=this.modeHeight;this.modeHeight=null,e.classList.remove(...H);let n=e.getBoundingClientRect().height;e.classList.add(...H),I({reason:`${this.props.node.id}:file-content-mode`,element:e,drivenClasses:H,fromCssPx:t,toCssPx:n,setHeightCssPx:this.setHeight,onSettled:this.releaseHeight})||(e.classList.remove(...H),this.releaseHeight())}}componentWillUnmount(){this.disposed=!0,this.copiedTimer!==null&&clearTimeout(this.copiedTimer),this.motionTimer!==null&&clearTimeout(this.motionTimer),this.frame!==null&&this.details.current?.ownerDocument.defaultView?.cancelAnimationFrame(this.frame),this.motion?.body.removeEventListener(`transitionend`,this.onTransitionEnd),this.motion=null,this.releaseHeight()}setHeight=e=>{this.disposed||this.props.styles.setDynamicDeclarations(this.id,`#${this.id}`,{"--seams-tree__anim-target":`${e}px`})};releaseHeight=()=>{this.props.styles.deleteDynamicRule(this.id)};clearCopied=()=>{this.copiedTimer=null,this.disposed||this.setState({copied:!1})};copy=async e=>{e.preventDefault(),e.stopPropagation();let t=this.props.node.copyValue;if(!t)return;let n=e.currentTarget.closest(`.seams-tx-tree`);if(n)try{if(!await E(n,t)||this.disposed)return;this.copiedTimer!==null&&clearTimeout(this.copiedTimer),this.setState({copied:!0}),this.copiedTimer=setTimeout(this.clearCopied,2e3),this.props.onCopy?.(t)}catch{}};toggleMode=e=>{e.preventDefault(),e.stopPropagation(),ht(this.props.node)&&(this.shell.current&&(this.modeHeight=this.shell.current.getBoundingClientRect().height,this.setHeight(this.modeHeight),this.shell.current.classList.add(...H)),this.setState({mode:this.state.mode===`decoded`?`raw`:`decoded`}))};toggle=e=>{if(e.target.closest(`a, button`)){e.stopPropagation();return}e.preventDefault(),e.stopPropagation();let t=this.details.current;if(!t||this.motion)return;let n=t.querySelector(`:scope > .folder-children`),r=!t.open,i=t.ownerDocument.defaultView.matchMedia(`(prefers-reduced-motion: reduce)`).matches;if(!n||i){t.open=r,this.props.onToggle?.(this.props.node.id,r);return}this.motion={body:n,open:r};let a=r?0:n.getBoundingClientRect().height;this.setHeight(a),n.classList.add(`anim-h`,`anim-h-active`,`anim-h-hold`),t.open=!0,n.offsetHeight,this.frame=t.ownerDocument.defaultView.requestAnimationFrame(this.startMotion)};startMotion=()=>{if(this.frame=null,!this.motion||this.disposed)return;let{body:e,open:t}=this.motion,n=e.getBoundingClientRect().height,r=t?e.scrollHeight:0;I({reason:this.props.node.id,element:e,drivenClasses:H,fromCssPx:n,toCssPx:r,setHeightCssPx:this.setHeight,onSettled:this.finishMotion})||(e.addEventListener(`transitionend`,this.onTransitionEnd),e.classList.remove(`anim-h-hold`),this.setHeight(r),this.motionTimer=setTimeout(this.finishMotion,t?200:250))};onTransitionEnd=e=>{e.target===this.motion?.body&&e.propertyName===`height`&&this.finishMotion()};finishMotion=()=>{if(this.disposed||!this.motion)return;let{body:e,open:t}=this.motion;this.motion=null,this.motionTimer!==null&&clearTimeout(this.motionTimer),this.motionTimer=null,e.removeEventListener(`transitionend`,this.onTransitionEnd),e.classList.remove(...ft),this.details.current&&(this.details.current.open=t),this.releaseHeight(),this.props.onToggle?.(this.props.node.id,t)};label(e){let t=this.props.node;return f(`span`,{class:`label${t.type===`file`?` label-action-node`:``}`,hidden:t.hideLabel,children:[e&&!t.hideChevron&&f(mt,{}),f(`span`,{class:`label-text`,title:T(this.context,V(t)),children:f(dt,{node:t,explorers:this.props.explorers})}),t.type===`file`&&t.copyValue&&f(`button`,{type:`button`,class:`copy-badge`,"data-copied":String(this.state.copied),onClick:this.copy,title:T(this.context,this.state.copied?`Copied`:`Copy`),children:this.state.copied?`copied`:`copy`})]})}render(){let{node:e,depth:t}=this.props,n=`row summary-row depth-${Math.max(0,t-1)}`;if(e.type===`file`&&!e.content)return f(`div`,{id:this.id,class:`row file-row depth-${Math.max(0,t-1)}`,"data-no-elbow":String(!!e.hideLabel),children:[f(`span`,{class:`indent`}),this.label(!1)]});let r=ht(e),i=r&&e.contentVariants?e.contentVariants[this.state.mode]:e.content,a=this.state.mode===`decoded`?`bytes`:`decoded`;return f(`details`,{id:this.id,ref:this.details,class:`tree-node ${e.type}`,open:!!e.open,"data-node-id":e.id,children:[f(`summary`,{class:n,"data-no-elbow":String(!!e.hideLabel),onClick:this.toggle,children:[f(`span`,{class:`indent`}),this.label(!0),e.type===`file`&&f(`div`,{ref:this.shell,class:`file-content-shell${r?` has-mode-toggle`:``}`,children:[r&&f(`button`,{type:`button`,class:`file-content-mode-toggle`,title:T(this.context,`Show ${a}`),"aria-label":T(this.context,`Show ${a}`),onClick:this.toggleMode,children:f(x,{copy:a})}),f(`div`,{class:`file-content`,children:i})]})]}),e.type===`folder`&&!!e.children?.length&&f(`div`,{class:`folder-children`,children:e.children.map(gt.bind(null,this.props,t+1))})]})}};let yt=0;function U(e){e.stopPropagation()}var bt=class extends u{static contextType=w;state={armed:!1};id=`seams-confirm-content-${++yt}`;root=l();reflow;frame=null;capturedBeforeUpdate=!1;reflowEnabled=!0;constructor(e){super(e),this.reflow=qe({reason:`tx-body`,element:this.getReflowElement,setHeightCssPx:this.setHeight})}getReflowElement=()=>{let e=this.root.current;return e?.closest(`.modal-container-root, .seams-confirmation-drawer`)??e};setHeight=e=>{let t=this.getReflowElement(),n=t?.id?`#${t.id}`:`#${this.id}`;this.props.styles.setDynamicDeclarations(this.id,n,{[F]:`${e}px`})};componentDidMount(){this.reflowEnabled=this.getReflowElement()===this.root.current,this.frame=this.root.current.ownerDocument.defaultView.requestAnimationFrame(this.afterFirstPaint)}afterFirstPaint=()=>{this.frame=this.root.current.ownerDocument.defaultView.requestAnimationFrame(this.arm)};arm=()=>{this.frame=null,this.setState({armed:!0})};componentWillReceiveProps(){this.reflowEnabled&&(this.reflow.capture(),this.capturedBeforeUpdate=!0)}componentWillUpdate(){this.reflowEnabled&&(this.capturedBeforeUpdate||this.reflow.capture())}componentDidUpdate(e){this.reflowEnabled&&(this.capturedBeforeUpdate=!1,e.styles!==this.props.styles&&e.styles.deleteDynamicRule(this.id),this.reflow.commit())}componentWillUnmount(){this.frame!==null&&this.root.current?.ownerDocument.defaultView?.cancelAnimationFrame(this.frame),this.frame=null,this.reflow.dispose(),this.props.styles.deleteDynamicRule(this.id)}confirm=()=>{this.state.armed&&this.props.decision.kind===`ready`&&this.props.decision.onConfirm()};cancel=()=>{this.props.onCancel()};render(){let e=this.props.decision.kind===`preparing`;return f(`div`,{class:`seams-tx-confirm-content`,onPointerDown:U,onMouseDown:U,onTouchStart:U,children:f(`div`,{id:this.id,ref:this.root,class:`txc-root`,children:[this.props.errorMessage&&f(`div`,{class:`error`,role:`alert`,children:f(x,{copy:this.props.errorMessage})}),this.props.tree&&f(`div`,{class:`tooltip-width`,children:f(_t,{node:this.props.tree,theme:this.props.theme,explorers:this.props.explorers,styles:this.props.styles,showShadow:!1,onToggle:this.props.onTreeToggle,onCopy:this.props.onCopy})}),this.props.authMethodApprovalMessage&&f(`p`,{class:`seams-voiceid-instructions`,"data-seams-voice-id":`required`,role:`status`,children:this.props.authMethodApprovalMessage}),f(`div`,{class:`actions`,children:[!this.props.cancelInHeader&&f(`button`,{type:`button`,class:`cancel`,onClick:this.cancel,children:f(x,{copy:this.props.cancelText})}),f(`button`,{type:this.props.decision.kind===`form`?`submit`:`button`,form:this.props.decision.kind===`form`?this.props.decision.formId:void 0,class:`confirm${e?` loading`:``}`,onClick:this.confirm,disabled:e||!this.state.armed,children:e?f(p,{children:[f(`span`,{class:`loading-indicator`,role:`progressbar`,"aria-label":b(this.context,`Loading`)}),f(`span`,{children:f(x,{message:`Loading...`})})]}):f(p,{children:[this.props.confirmIcon,f(x,{copy:this.props.confirmText})]})})]})]})})}};function xt(e){throw Error(`Unexpected confirmation body: ${String(e)}`)}var St=class extends u{static contextType=w;copy=()=>{this.props.model.kind===`funding`&&this.props.onCopyAccount(this.props.model.accountId)};render(){let e=this.props.model;switch(e.kind){case`empty`:return null;case`text`:return f(`div`,{class:`confirmation-body`,children:f(x,{copy:e.text})});case`status`:return f(`div`,{class:`confirmation-body confirmation-body--status`,children:f(x,{copy:e.text})});case`funding`:return f(`div`,{class:`confirmation-body confirmation-body--funding`,children:[f(x,{message:`NEAR account`}),f(`button`,{type:`button`,class:`confirmation-body__copy-target`,title:T(this.context,`Copy ${e.accountId}`),"aria-label":T(this.context,`Copy NEAR account ${e.accountId}`),onClick:this.copy,children:e.shortAccountId}),f(x,{message:`needs funding`})]});default:return xt(e)}}};function Ct(e){let t=y();return f(`div`,{class:`passkey-registration-confirm__identity`,"aria-label":b(t,`Passkey registration details`),children:[f(`div`,{class:`passkey-registration-confirm__row`,children:[f(`span`,{class:`passkey-registration-confirm__label`,children:f(x,{message:`Account`})}),f(`span`,{class:`passkey-registration-confirm__value`,title:T(t,e.display.intendedUserName),children:e.display.intendedUserName})]}),f(`div`,{class:`passkey-registration-confirm__row`,children:[f(`span`,{class:`passkey-registration-confirm__label`,children:f(x,{message:`Website`})}),f(`span`,{class:`passkey-registration-confirm__value`,title:T(t,e.display.rpId),children:e.display.rpId})]})]})}var wt=class extends u{static contextType=w;confirm=()=>{this.props.decision.kind===`ready`&&this.props.decision.onConfirm()};cancel=()=>{this.props.onCancel()};render(){let e=this.props.decision.kind===`creating`;return f(`div`,{ref:this.props.root,class:`passkey-registration-confirm`,children:[f(`div`,{class:`hero passkey-registration-confirm__hero`,children:[f(at,{animated:!this.props.errorMessage,icon:`fingerprint`,size:44,styles:this.props.styles}),f(`div`,{class:`hero-container passkey-registration-confirm__hero-copy`,children:[f(`h2`,{class:`hero-heading`,children:f(x,{copy:this.props.heading})}),f(`p`,{class:`passkey-registration-confirm__body`,children:f(x,{copy:this.props.body})})]})]}),this.props.errorMessage&&f(`div`,{class:`error-banner`,children:f(x,{copy:this.props.errorMessage})}),f(Ct,{display:this.props.display}),f(`div`,{class:`passkey-registration-confirm__actions`,children:[f(`button`,{type:`button`,class:`btn btn-cancel`,onClick:this.cancel,children:f(x,{copy:this.props.cancelText})}),f(`button`,{type:`button`,class:`btn btn-confirm`,disabled:e,onClick:this.confirm,children:e?f(p,{children:[f(`span`,{class:`loading-indicator passkey-registration-confirm__spinner`,role:`progressbar`,"aria-label":b(this.context,`Creating passkey`)}),f(`span`,{class:`passkey-registration-confirm__busy-label`,children:f(x,{message:`Creating passkey...`})})]}):f(x,{message:`Create passkey`})})]})]})}};let Tt=0;var Et=class extends u{id=`seams-email-code-${++Tt}`;input=e=>{this.props.state.kind===`editing`&&this.props.state.onInput(e.currentTarget.value)};resend=()=>{this.props.resend?.kind===`available`&&this.props.resend.onResend()};renderDigit=e=>{let t=this.props.code[e]||``;return f(`span`,{class:`email-otp-confirm__slot${t?` is-filled`:``}`,children:t},e)};render(){let e=this.props.state.kind!==`editing`,t=`${this.id}-helper`,n=`${this.id}-error`;return f(`div`,{class:`email-otp-confirm`,children:[f(`label`,{class:`email-otp-confirm__label`,for:this.id,children:f(x,{message:`Email code`})}),f(`div`,{class:`email-otp-confirm__code-field`,"data-disabled":e?`true`:`false`,children:[f(`input`,{id:this.id,name:`email-code`,type:`text`,class:`email-otp-confirm__input`,inputMode:`numeric`,autoComplete:`one-time-code`,"data-email-otp-challenge-id":this.props.challengeId,pattern:`[0-9]*`,maxLength:6,spellcheck:!1,value:this.props.code,disabled:e,onInput:this.input,"aria-invalid":this.props.errorMessage?`true`:void 0,"aria-describedby":this.props.errorMessage?`${t} ${n}`:t}),f(`div`,{class:`email-otp-confirm__slots${e?` is-submitting`:``}`,"aria-hidden":`true`,children:[0,1,2,3,4,5].map(this.renderDigit)})]}),f(`div`,{id:t,class:`email-otp-confirm__helper`,children:f(x,{copy:this.props.helperText})}),this.props.errorMessage&&f(`div`,{id:n,class:`email-otp-confirm__error`,children:f(x,{copy:this.props.errorMessage})}),this.props.resend&&f(`button`,{type:`button`,class:`email-otp-confirm__resend`,disabled:this.props.resend.kind===`unavailable`,onClick:this.resend,children:f(x,{copy:this.props.resend.label})})]})}},Dt=class{codeState={kind:`editing`,code:``};resendState={kind:`available`,label:`Resend code`};error=``;countdown=null;options;constructor(e){this.options=e}input=e=>{if(this.codeState.kind!==`editing`)return;let t=e.replace(/\D/g,``).slice(0,6);this.error=``,this.codeState={kind:`editing`,code:t},t.length===6?this.confirm():this.publish()};confirm(){if(this.codeState.kind!==`editing`)return`ignored`;let e=this.codeState.code;return e.length===6?(this.error=``,this.codeState={kind:`fading`,code:e,timer:setTimeout(this.submit,150)},this.publish(),`accepted`):(this.error=`Enter the 6-digit Email OTP code.`,this.publish(),`invalid`)}submit=()=>{if(this.codeState.kind!==`fading`)return;let e=this.codeState.code;this.codeState={kind:`submitting`,code:e},this.publish(),this.isDisposed()||this.options.onSubmit(e)};retry(e){this.codeState.kind!==`disposed`&&(this.cancelFade(),this.codeState={kind:`editing`,code:this.codeState.code},this.error=e,this.publish())}setVerification(e){if(this.codeState.kind!==`disposed`)switch(e.kind){case`ready`:this.codeState.kind===`submitting`&&this.retry(``);return;case`pending`:this.cancelFade(),this.codeState={kind:`submitting`,code:this.codeState.code},this.publish();return;case`rejected`:this.retry(e.message);return}}resend=async()=>{if(this.codeState.kind!==`editing`||this.resendState.kind!==`available`)return;let e=this.options.resend;if(!e)return;let t=Date.now()+e.cooldownMs,n={kind:`sending`,until:t};if(this.resendState=n,this.error=``,this.publish(),this.isDisposed())return;let r;try{r=await e.send()}catch{r={kind:`failed`,message:`Could not send code.`}}if(this.isDisposed()||this.resendState!==n)return;let i=r.kind===`sent`?`Code sent`:`Resend code`;r.kind===`failed`&&(this.error=r.message),Date.now()>=t?this.resendState={kind:`available`,label:i}:(this.resendState={kind:`cooldown`,until:t,label:i},this.countdown=setInterval(this.tick,250)),this.publish()};tick=()=>{this.resendState.kind===`cooldown`&&(Date.now()>=this.resendState.until&&(this.resendState={kind:`available`,label:this.resendState.label},this.clearCountdown()),this.publish())};isDisposed(){return this.codeState.kind===`disposed`}publish(){this.codeState.kind!==`disposed`&&this.options.onChange({code:this.codeState.code,phase:this.codeState.kind,error:this.error,resend:this.options.resend?this.resendSnapshot():null})}resendSnapshot(){switch(this.resendState.kind){case`available`:return{available:this.codeState.kind===`editing`,label:this.resendState.label};case`sending`:return{available:!1,label:`Sending...`};case`cooldown`:return{available:!1,label:`Resend in ${Math.max(1,Math.ceil((this.resendState.until-Date.now())/1e3))}s`}}}cancelFade(){this.codeState.kind===`fading`&&clearTimeout(this.codeState.timer)}clearCountdown(){this.countdown!==null&&clearInterval(this.countdown),this.countdown=null}dispose(){this.cancelFade(),this.clearCountdown(),this.codeState={kind:`disposed`},this.error=``}};function Ot(e){return f(kt,{...e},e.prompt.challengeId)}var kt=class extends u{static contextType=w;session;form=l();lifetime;constructor(e){super(e),this.lifetime={kind:`active`,challengeId:e.prompt.challengeId,emailHint:e.prompt.emailHint?.trim()||``},this.state={code:``,phase:`editing`,error:``,resend:e.prompt.onResend?{available:!0,label:`Resend code`}:null},this.session=new Dt({onSubmit:this.submit,onChange:this.change,resend:e.prompt.onResend?{send:this.send,cooldownMs:Math.max(1e3,Math.floor(Number(e.prompt.resendDebounceMs)||1e4))}:null})}submit=e=>{this.lifetime.kind===`active`&&this.props.onSubmit(e,this.lifetime.challengeId)};send=async()=>{let e=this.props.prompt.onResend;if(!e)return{kind:`failed`,message:`Could not send code.`};try{let t=await e();if(this.lifetime.kind===`disposed`)return{kind:`sent`};let n=String(t?.challengeId||``).trim(),r=String(t?.emailHint||``).trim();return n&&(this.lifetime={kind:`active`,challengeId:n,emailHint:r||this.lifetime.emailHint}),{kind:`sent`}}catch(e){return{kind:`failed`,message:jt(e)}}};change=e=>{this.setState(e)};confirm=e=>{e.preventDefault(),e.stopPropagation(),this.session.confirm()===`invalid`&&this.setState({},this.focusCode)};focusCode=()=>{this.form.current?.querySelector(`input`)?.focus({preventScroll:!0})};componentDidMount(){this.session.setVerification(this.props.verification)}componentDidUpdate(e){At(e.verification,this.props.verification)&&this.session.setVerification(this.props.verification)}componentWillUnmount(){this.lifetime={kind:`disposed`},this.session.dispose()}inputState(){switch(this.state.phase){case`editing`:return{kind:`editing`,onInput:this.session.input};case`fading`:return{kind:`fading`};case`submitting`:return{kind:`submitting`}}}resendAction(){let e=this.state.resend;return e?e.available?{kind:`available`,label:e.label,onResend:this.session.resend}:{kind:`unavailable`,label:e.label}:null}render(){return f(`form`,{ref:this.form,id:this.props.formId,onSubmit:this.confirm,noValidate:!0,children:f(Et,{challengeId:this.lifetime.kind===`active`?this.lifetime.challengeId:``,code:this.state.code,helperText:this.props.prompt.helperText?.trim()||_(this.lifetime.kind===`active`?this.lifetime.emailHint:``),errorMessage:T(this.context,this.state.error||void 0),state:this.inputState(),resend:this.resendAction()})})}};function At(e,t){return e.kind===t.kind?e.kind===`rejected`&&t.kind===`rejected`&&e.message!==t.message:!0}function jt(e){if(e&&typeof e==`object`&&`code`in e&&e.code===`rate_limited`){let t=`retryAfterMs`in e?Number(e.retryAfterMs):NaN;return Number.isFinite(t)&&t>0?`Too many requests. Try again in ${Math.max(1,Math.ceil(t/1e3))}s.`:`Too many requests. Try again shortly.`}return e instanceof Error&&e.message?e.message:`Could not send code.`}let Mt=0;var W=class extends u{root=l();id=`seams-review-disclosure-${++Mt}`;componentDidMount(){this.root.current&&(this.root.current.open=this.props.initiallyOpen??!1)}motion=null;componentWillUnmount(){this.clearMotion(),this.root.current&&S(this.root.current.ownerDocument).deleteDynamicRule(this.id)}clearMotion(){this.motion&&(this.motion.kind===`local`&&(this.motion.size.onfinish=null,this.motion.size.cancel(),this.motion.fade.cancel()),this.motion=null,this.root.current?.removeAttribute(`data-resizing`))}setHeight=e=>{let t=this.root.current;t&&S(t.ownerDocument).setDynamicDeclarations(this.id,`#${this.id}`,{"--seams-review-disclosure-height":`${e}px`})};finish=()=>{let e=this.motion?.kind===`local`;if(this.root.current&&this.motion&&(this.root.current.open=this.motion.opening,this.root.current.removeAttribute(`data-closing`)),this.clearMotion(),e){let e=this.root.current?.closest(`.seams-confirmation-surface`),t=e?.ownerDocument.activeElement;if(t instanceof HTMLElement&&t.tabIndex>=0&&e?.contains(t)){let e=t.getBoundingClientRect(),n=t.ownerDocument.documentElement.clientHeight;(e.top<0||e.bottom>n)&&t.scrollIntoView({block:`center`,inline:`nearest`})}}};toggle=e=>{let t=this.root.current;if(!t||(e.preventDefault(),this.motion?.kind===`hosted`))return;let n=this.motion?!this.motion.opening:!t.open,r=t.lastElementChild;if(!(r instanceof HTMLElement))return;let i=t.open?r.getBoundingClientRect().height:0;if(this.clearMotion(),t.toggleAttribute(`data-closing`,!n),window.matchMedia(`(prefers-reduced-motion: reduce)`).matches||!t.animate){t.open=n,t.removeAttribute(`data-closing`);return}t.open=!0;let a=t.parentElement?.closest(`.seams-review-technical > div`);if(a&&a.scrollHeight>a.clientHeight){t.open=n,t.removeAttribute(`data-closing`);return}t.setAttribute(`data-resizing`,``);let o=n?r.getBoundingClientRect().height:0;if(this.motion={kind:`hosted`,opening:n},I({element:r,reason:`review-details`,fromCssPx:i,toCssPx:o,drivenClasses:[`seams-review-disclosure-driven`],setHeightCssPx:this.setHeight,onSettled:this.finish}))return;let s=r.animate([{height:`${i}px`,overflow:`hidden`},{height:`${o}px`,overflow:`hidden`}],{duration:n?220:180,easing:`cubic-bezier(.2,0,0,1)`,fill:`both`});this.motion={kind:`local`,opening:n,size:s,fade:r.animate(n?[{opacity:0},{opacity:1}]:[{opacity:1},{opacity:0}],{duration:n?180:100,easing:`ease-out`,fill:`both`})},s.onfinish=this.finish};render(){return f(`details`,{ref:this.root,class:`seams-review-${this.props.kind??`technical`}`,children:[f(`summary`,{onClick:this.toggle,children:[f(x,{copy:this.props.label}),f(`svg`,{class:`seams-review-caret`,viewBox:`0 0 20 20`,width:`16`,height:`16`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.6`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"aria-hidden":`true`,children:f(`path`,{d:`m5 7.5 5 5 5-5`})})]}),f(`div`,{id:this.id,children:this.props.children})]})}};function G({kind:e}){let t={back:`m15 6-6 6 6 6`,close:`M6 6l12 12M6 18L18 6`,minimize:`M5 12h14`,check:`m5 12 4 4L19 6`,arrow:`M7 17 17 7M7 7h10v10`,copy:`M8 8h12v12H8ZM4 16V4h12`,loader:`M12 3a9 9 0 1 1-9 9`,alert:`M12 8v5m0 3v.1M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0`,fingerprint:`M6.405 19.048c.184-.443.353-.894.507-1.351M14.343 20.693c.266-.751.502-1.516.707-2.294.186-.706.346-1.422.478-2.147M19.448 17.058c.364-1.964.555-3.989.555-6.058 0-4.418-3.582-8-8-8-1.255 0-2.443.289-3.501.805M3.523 15.025c.314-1.29.48-2.638.48-4.025 0-1.74.556-3.351 1.499-4.664M12.003 11c0 2.76-.447 5.416-1.273 7.899-.213.639-.451 1.266-.712 1.881M7.712 14.5c.191-1.138.291-2.308.291-3.5 0-2.209 1.791-4 4-4s4 1.791 4 4c0 .617-.02 1.229-.058 1.836`};return f(`svg`,{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.6`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"aria-hidden":`true`,children:f(`path`,{d:t[e]})})}function Nt(e){return e?e.chain===`evm`&&e.chainId===5042?`Arc`:e.chain===`evm`&&e.chainId===5042002?`Arc Testnet`:e.chain===`evm`&&e.chainId===8453?`Base`:e.chain===`evm`&&e.chainId===84532?`Base Sepolia`:e.chain===`evm`&&e.chainId===1?`Ethereum`:e.chain===`evm`&&e.chainId===11155111?`Ethereum Sepolia`:`${e.chain.toUpperCase()}${e.chainId?` · ${e.chainId}`:``}`:`Wallet transaction`}function Pt(e){if(e?.operations.length!==1)return null;let t=e.operations[0];return t.kind===`generic.contractCall`||t.kind===`tempo.eip2718`?t.to??null:null}function Ft({value:e,class:t}){let n=y();return f(`bdi`,{class:`seams-review-middle ${t}`,dir:`ltr`,title:T(n,e),children:[f(`span`,{children:e.slice(0,-8)}),f(`span`,{children:e.slice(-8)})]})}function It({symbol:e}){return e===`NEAR`?f(`svg`,{class:`seams-review-token`,viewBox:`0 0 48 48`,"aria-hidden":`true`,children:[f(`circle`,{cx:`24`,cy:`24`,r:`24`,fill:`#000`}),f(`svg`,{x:`9`,y:`9`,width:`30`,height:`30`,viewBox:`108 108 351 351`,children:f(`path`,{d:`m421.61,108c-13,0-25.07,6.74-31.88,17.82l-73.37,108.93c-2.39,3.59-1.42,8.43,2.17,10.82,2.91,1.94,6.76,1.7,9.41-.58l72.22-62.64c1.2-1.08,3.05-.97,4.13.23.49.55.75,1.26.75,1.99v196.12c0,1.62-1.31,2.92-2.93,2.92-.87,0-1.69-.38-2.24-1.05L181.56,121.24c-7.11-8.39-17.55-13.23-28.54-13.24h-7.63c-20.65,0-37.39,16.74-37.39,37.39v276.22c0,20.65,16.74,37.39,37.39,37.39,13,0,25.07-6.74,31.88-17.82l73.37-108.93c2.39-3.59,1.42-8.43-2.17-10.82-2.91-1.94-6.76-1.7-9.41.58l-72.22,62.64c-1.2,1.08-3.05.97-4.13-.23-.49-.55-.75-1.26-.74-1.99v-196.17c0-1.62,1.31-2.92,2.93-2.92.86,0,1.69.38,2.24,1.05l218.28,261.37c7.11,8.39,17.55,13.23,28.54,13.24h7.63c20.65.01,37.4-16.72,37.42-37.37V145.39c0-20.65-16.74-37.39-37.39-37.39Z`,fill:`#fff`})})]}):e===`ETH`?f(`svg`,{class:`seams-review-token`,viewBox:`0 0 42 42`,"aria-hidden":`true`,children:[f(`circle`,{cx:`21`,cy:`21`,r:`21`,fill:`#eef0fb`}),f(`path`,{d:`m21 6-9 15 9 5 9-5Z`,fill:`#627eea`}),f(`path`,{d:`m21 6 9 15-9 5Z`,fill:`#465da9`}),f(`path`,{d:`m12 23 9 13 9-13-9 5Z`,fill:`#627eea`})]}):e===`USDC`?f(`svg`,{class:`seams-review-token`,viewBox:`0 0 96 96`,fill:`none`,"aria-hidden":`true`,children:[f(`path`,{d:`M48 95C73.9574 95 95 73.9574 95 48C95 22.0426 73.9574 1 48 1C22.0426 1 1 22.0426 1 48C1 73.9574 22.0426 95 48 95Z`,fill:`#0B53BF`}),f(`path`,{d:`M56.4609 13.7778V19.8291C68.5341 23.4716 77.3759 34.6928 77.3759 47.9997C77.3759 61.3066 68.5341 72.5278 56.4609 76.1703V82.2216C71.8534 78.4616 83.2509 64.5672 83.2509 47.9997C83.2509 31.4322 71.8534 17.5378 56.4609 13.7778Z`,fill:`white`}),f(`path`,{d:`M18.625 47.9997C18.625 34.6928 27.4669 23.4716 39.54 19.8291V13.7778C24.1475 17.5378 12.75 31.4322 12.75 47.9997C12.75 64.5672 24.1475 78.4616 39.54 82.2216V76.1703C27.4669 72.5572 18.625 61.3066 18.625 47.9997Z`,fill:`white`}),f(`path`,{d:`M60.6319 54.5506C60.6319 42.5362 41.8025 47.4713 41.8025 40.8325C41.8025 38.4531 43.7119 36.9256 47.3544 36.9256C51.7019 36.9256 53.2 39.0406 53.67 41.89H59.6625C59.1279 36.5426 56.0588 33.1662 50.9382 32.1604V27.4375H45.0632V31.9918C39.4534 32.7062 35.9275 35.973 35.9275 40.8325C35.9275 52.9056 54.7863 48.3819 54.7863 54.9031C54.7863 57.3706 52.4069 59.0156 48.3825 59.0156C43.1244 59.0156 41.3913 56.695 40.745 53.4931H34.8994C35.2781 59.3502 38.8897 63.0159 45.0632 63.9307V68.5625H50.9382V63.9923C56.9633 63.2139 60.6319 59.7089 60.6319 54.5506Z`,fill:`white`})]}):f(`span`,{class:`seams-review-token seams-review-token-fallback`,"aria-hidden":`true`,children:e.slice(0,1)})}function Lt({model:e,compact:t=!1}){let n=Bt(e);return n?f(`div`,{class:`seams-review-amount${t?` seams-review-amount--compact`:``}`,children:[f(It,{symbol:n.symbol}),f(`div`,{children:[f(`span`,{children:n.value}),` `,f(`small`,{children:n.symbol})]})]}):null}function Rt(){return f(`div`,{class:`seams-receipt-footer`,children:[f(`span`,{children:f(x,{message:`Secured by`})}),` `,f(m,{})]})}function zt(e,t){if(!/^\d+$/.test(e))return e;let n=e.padStart(t+1,`0`),r=n.slice(-t).replace(/0+$/,``);return`${n.slice(0,-t)}${r?`.${r}`:``}`}function Bt(e){let t=e?.totals;return t?.nativeValue?t.nativeSymbol===`yoctoNEAR`?{value:zt(t.nativeValue,24),symbol:`NEAR`}:e?.chain===`evm`&&(e.chainId===5042||e.chainId===5042002)&&t.nativeSymbol===`wei`?{value:zt(t.nativeValue,18),symbol:`USDC`}:{value:t.nativeValue,symbol:t.nativeSymbol??``}:null}var K=class extends u{static contextType=w;state={copied:!1};lifetime=new AbortController;timer=null;resetCopied=()=>{this.setState({copied:!1})};componentWillUnmount(){this.lifetime.abort(),this.timer!==null&&clearTimeout(this.timer)}componentDidUpdate(e){e.value!==this.props.value&&(this.lifetime.abort(),this.lifetime=new AbortController,this.timer!==null&&clearTimeout(this.timer),this.resetCopied())}copy=async e=>{let t=e.currentTarget;if(!(t instanceof HTMLElement))return;let n=this.lifetime.signal;try{if(!await E(t,this.props.value,n)||n.aborted)return;this.setState({copied:!0}),this.timer!==null&&clearTimeout(this.timer),this.timer=setTimeout(this.resetCopied,3e3)}catch{n.aborted||this.setState({copied:!1})}};render(){return f(`button`,{type:`button`,class:`seams-review-copy${this.props.address?` seams-review-copy-address`:``}${this.state.copied?` copied`:``}`,onClick:this.copy,"aria-label":T(this.context,this.state.copied?`Copied`:this.props.label??`Copy value`),children:[this.props.address&&f(`bdi`,{class:`seams-review-full-address`,dir:`ltr`,children:this.props.value}),f(ne,{})]})}};function Vt({node:e}){let t=y();if(e.action||e.transaction)return f(p,{children:f(x,{copy:V(e)})});let n=B(e);if(n&&e.contractAddress){let r=e.contractAddress;return f(`span`,{class:`seams-review-contract`,children:[f(x,{copy:n.trim()}),f(`span`,{class:`seams-review-contract-value`,children:[f(Ft,{value:r,class:`seams-review-contract-address`}),f(K,{value:r,label:T(t,`Copy contract address ${r}`)})]})]})}if(e.fieldLabel){let t=e.label.slice(e.fieldLabel.length);return f(p,{children:[f(x,{copy:e.fieldLabel}),e.fieldLabel===`Method:`?f(`span`,{class:`seams-review-function`,children:t}):t]})}let r=/^(Call(?:ing)? )([^\s]+)(.*)$/.exec(e.label);return r?f(p,{children:[f(x,{copy:r[1]}),f(`span`,{class:`seams-review-function`,children:r[2]}),r[3]]}):f(p,{children:f(x,{copy:e.label})})}function Ht({node:e}){let t=y(),n=e.contentVariants?.decoded??e.content,r=!!(e.contentVariants||n?.includes(`
|
|
2
|
+
`));return f(`div`,{class:`seams-review-detail`,children:[f(`div`,{class:n?`seams-review-detail-row${r?` seams-review-detail-row--block`:``}`:`seams-review-detail-label`,children:[f(`span`,{children:f(Vt,{node:e})}),n&&f(`pre`,{children:n}),e.copyValue&&f(K,{value:e.copyValue})]}),e.contentVariants&&f(W,{label:b(t,`Raw data`),kind:`raw`,children:f(`pre`,{children:e.contentVariants.raw})}),!!e.children?.length&&f(`div`,{class:`seams-review-detail-children`,children:e.children?.map(e=>f(Ht,{node:e},e.id))})]})}function Ut({data:e,details:t=!0}){let n=y(),r=e.model,i=r?.operations[0],a=Pt(r);return f(`div`,{class:`seams-transaction-review`,children:[f(Lt,{model:r}),r?.warnings?.map(e=>f(`div`,{class:`seams-review-warning`,role:`alert`,children:f(x,{copy:e.message})},e.code)),f(`dl`,{class:`seams-review-fields`,children:[a&&f(`div`,{children:[f(`dt`,{children:f(x,{message:`To`})}),f(`dd`,{class:`seams-review-recipient`,children:f(K,{value:a,address:!0,label:T(n,`Copy recipient address ${a}`)})})]}),r&&f(`div`,{children:[f(`dt`,{children:f(x,{message:`Network`})}),f(`dd`,{children:[f(`span`,{class:`seams-review-network-dot`}),Nt(r)]})]}),r?.totals?.estimatedFee&&f(`div`,{children:[f(`dt`,{children:f(x,{message:`Estimated network fee`})}),f(`dd`,{children:[r.totals.estimatedFee,` `,r.totals.feeSymbol]})]})]}),t&&e.tree&&f(W,{initiallyOpen:e.detailsInitiallyOpen,label:T(n,i?.kind===`near.message`?`Message details`:`Transaction details`),children:f(Ht,{node:e.tree})}),r?.signerAccount&&f(`div`,{class:`seams-review-account`,children:[f(`span`,{class:`seams-review-avatar`,"aria-hidden":`true`,children:`S`}),f(`div`,{children:[f(x,{message:`Signing account`}),f(`small`,{children:f(K,{value:r.signerAccount,address:!0,label:T(n,`Copy signing account address ${r.signerAccount}`)})})]})]})]})}let Wt=0;var Gt=class extends u{static contextType=w;root=l();otpFormId=`seams-confirmation-email-${++Wt}`;reflowId=`seams-confirmation-content-surface-${Wt}`;getReflowElement=()=>this.root.current?.closest(`.modal-container-root, .seams-confirmation-drawer`)??null;setHeight=e=>{let t=this.getReflowElement();t?.id&&this.props.styles.setDynamicDeclarations(this.reflowId,`#${t.id}`,{[F]:`${e}px`})};reflow=qe({reason:`confirm-body`,element:this.getReflowElement,setHeightCssPx:this.setHeight});copyAccount=e=>{let t=this.root.current;t&&E(t,e).catch(Kt)};componentWillReceiveProps(){this.reflow.capture()}componentDidUpdate(e){e.styles!==this.props.styles&&e.styles.deleteDynamicRule(this.reflowId),this.reflow.commit()}componentWillUnmount(){this.reflow.dispose(),this.props.styles.deleteDynamicRule(this.reflowId)}render(){let e=this.props.model;switch(e.kind){case`registration`:return f(wt,{...e.registration,root:this.root,styles:this.props.styles});case`transaction`:return this.renderTransaction(e);default:return qt(e)}}renderTransaction(e){let t=this.props.variant===`drawer`?`seams-confirmation-content seams-confirmation-content--drawer`:`seams-confirmation-content`,n=e.prompt.kind===`email`&&e.transaction.decision.kind===`ready`?{kind:`form`,formId:this.otpFormId}:e.transaction.decision;return e.capture?f(`div`,{ref:this.root,class:t,children:f(`div`,{class:`seams-review-content seams-review-content--capture`,children:[this.props.variant!==`drawer`&&this.renderToolbar(e,n),f(Jt,{element:e.capture}),f(Rt,{})]})}):f(`div`,{ref:this.root,class:t,children:f(`div`,{class:`seams-review-content`,children:[this.props.variant!==`drawer`&&this.renderToolbar(e,n),e.review.model&&f(`div`,{class:`seams-review-eyebrow`,children:e.review.model.operations.length===1?f(x,{copy:e.review.model.operations[0].label.replace(/\s+using\s+[\d,.]+\s+gas$/i,``)}):f(x,{message:`Transaction`})}),f(`h2`,{class:`seams-review-title`,children:f(x,{copy:e.header.heading})}),f(Ut,{data:e.review}),f(`div`,{class:`seams-review-context`,children:[f(St,{model:e.body,onCopyAccount:this.copyAccount}),e.prompt.kind===`email`&&f(Ot,{...e.prompt.email,formId:this.otpFormId})]}),f(bt,{...e.transaction,tree:null,styles:this.props.styles,decision:n,cancelInHeader:!0,confirmIcon:e.prompt.kind===`passkey`?f(G,{kind:`fingerprint`}):void 0}),f(Rt,{})]})})}renderToolbar(e,t){return f(`div`,{class:`seams-review-toolbar`,children:[f(`div`,{class:`seams-review-origin`,children:[e.transaction.onBack&&f(`button`,{type:`button`,"aria-label":b(this.context,`Back to review`),title:b(this.context,`Back to review`),disabled:t.kind===`preparing`,onClick:e.transaction.onBack,children:f(G,{kind:`back`})}),f(L,{}),e.header.website.kind===`ready`?e.header.website.text:f(ct,{label:b(this.context,`Loading website`)})]}),f(`button`,{type:`button`,"aria-label":T(this.context,e.transaction.cancelText),onClick:e.transaction.onCancel,children:f(G,{kind:`close`})})]})}};function Kt(){}function qt(e){throw Error(`Unexpected confirmation content: ${String(e)}`)}var Jt=class extends u{container=l();componentDidMount(){this.container.current?.append(this.props.element),this.props.element.querySelector(`button`)?.focus()}componentDidUpdate(e){e.element!==this.props.element&&this.container.current?.replaceChildren(this.props.element)}componentWillUnmount(){this.props.element.remove()}render(){return f(`div`,{ref:this.container,class:`seams-auth-method-capture`})}};function Yt(e){let{kind:t}=e.state;return t===`signing`||t===`broadcasting`||t===`submitted`}function Xt(e){return e.state.kind===`confirmed`||e.state.kind===`signed`}function Zt(e){if(e.subject===`message`)return e.state.kind===`signed`?3:0;let{state:t}=e;switch(t.kind){case`signing`:return 0;case`signed`:case`broadcasting`:return 1;case`submitted`:case`reverted`:return 2;case`confirmed`:return 3;case`failed`:case`unknown`:return t.hash?2:0;default:return q(t)}}function Qt(e){return e.subject===`message`?`Message signature`:`Transaction receipt`}function $t(e){if(e.subject===`message`)return tn(e.state);let{state:t}=e;switch(t.kind){case`signing`:return`Signing transaction`;case`signed`:return`Signature ready`;case`broadcasting`:return`Broadcasting transaction`;case`submitted`:return`Waiting for confirmation`;case`confirmed`:return`Transaction complete`;case`failed`:return`Transaction failed`;case`reverted`:return`Transaction reverted`;case`unknown`:return`Confirmation unavailable`;default:return q(t)}}function en(e){if(e.subject===`message`)return nn(e.state);let{state:t}=e;switch(t.kind){case`signing`:return`Preparing your signed transaction.`;case`signed`:return`Signature created, ready to broadcast.`;case`broadcasting`:return`Submitting your signed transaction to the network.`;case`submitted`:return`Submitted to the network. Waiting for the receipt.`;case`confirmed`:return`The network confirmed your transaction.`;case`failed`:case`reverted`:case`unknown`:return t.message;default:return q(t)}}function tn(e){switch(e.kind){case`signing`:return`Signing message`;case`signed`:return`Message signed`;case`failed`:return`Signature failed`;default:return q(e)}}function nn(e){switch(e.kind){case`signing`:return`Preparing your message signature.`;case`signed`:return`Signed off-chain. Nothing was sent to the network.`;case`failed`:return e.message;default:return q(e)}}function q(e){throw Error(`Unexpected transaction receipt state: ${String(e)}`)}const rn=`cubic-bezier(0.22, 1, 0.36, 1)`;let an=0;var on=class extends u{static contextType=w;explorerRow=l();explorerRowId=`seams-receipt-explorer-row-${++an}`;minimize=()=>{this.props.receipt.onView(`toast`)};expand=()=>{this.props.receipt.onView(`expanded`)};close=()=>{Yt(this.props.receipt)?this.minimize():this.props.receipt.onDismiss()};componentDidUpdate(e){let{receipt:t}=this.props;t.view===`expanded`&&e.receipt.view===`expanded`&&t.subject===`transaction`&&t.state.kind===`confirmed`&&e.receipt.state.kind!==`confirmed`&&this.revealExplorerLink()}componentWillUnmount(){this.releaseExplorerRow()}setExplorerRowHeight=e=>{let t=this.explorerRow.current;t&&S(t.ownerDocument).setDynamicDeclarations(this.explorerRowId,`#${this.explorerRowId}`,{"--seams-receipt-explorer-height":`${e}px`})};releaseExplorerRow=()=>{let e=this.explorerRow.current;e&&(delete e.dataset.opening,S(e.ownerDocument).deleteDynamicRule(this.explorerRowId))};revealExplorerLink(){let e=this.explorerRow.current,t=e?.firstElementChild;if(!e||!t||e.ownerDocument.defaultView?.matchMedia(`(prefers-reduced-motion: reduce)`).matches)return;let n=e.getBoundingClientRect().height;e.dataset.opening=``;let r=()=>{this.releaseExplorerRow(),t.animate([{opacity:0,filter:`blur(4px)`,transform:`translateY(6px)`},{opacity:1,filter:`blur(0)`,transform:`translateY(0)`}],{duration:240,easing:rn})};if(!I({reason:`receipt-explorer`,element:e,fromCssPx:0,toCssPx:n,drivenClasses:[`seams-receipt-explorer-driven`],setHeightCssPx:this.setExplorerRowHeight,onSettled:r})){let t=e.animate([{height:`0px`},{height:`${n}px`}],{duration:240,easing:rn});t.onfinish=r,t.oncancel=this.releaseExplorerRow}}render(){let{receipt:e,data:t}=this.props,n=$t(e),r=Xt(e),i=Yt(e),a=Zt(e),o=Pt(t.model),s=e.subject===`transaction`?e.state:null,c=s?.kind===`confirmed`&&s.hash?sn(t.model,this.props.explorers,s.hash):null;return e.view===`toast`?f(`div`,{class:`seams-transaction-toast`,"data-completed-stages":a,"data-stage":e.state.kind,"data-pending":i,children:[f(`div`,{class:`seams-toast-progress`,"aria-hidden":`true`,children:f(`span`,{class:`seams-toast-progress-fill`,children:i&&f(`span`,{class:`seams-toast-progress-active`})})}),f(`span`,{class:`seams-receipt-symbol`,"data-pending":i,children:f(G,{kind:i?`loader`:r?`check`:`alert`})}),f(`div`,{class:`seams-transaction-toast-text`,children:[f(`strong`,{role:`status`,children:f(x,{copy:n})}),f(`span`,{children:Nt(t.model)})]}),f(`button`,{type:`button`,class:`seams-receipt-open`,onClick:this.expand,children:[f(x,{message:`Open`}),` `,f(G,{kind:`arrow`})]}),!i&&f(`button`,{type:`button`,class:`seams-receipt-dismiss`,"aria-label":b(this.context,`Close transaction`),onClick:e.onDismiss,children:f(G,{kind:`close`})})]}):f(`div`,{class:`seams-transaction-receipt`,children:[f(`div`,{class:`seams-review-toolbar`,children:[f(`span`,{children:f(x,{copy:Qt(e)})}),f(`button`,{type:`button`,"aria-label":b(this.context,`Minimize transaction`),onClick:this.minimize,children:f(G,{kind:`minimize`})})]}),f(`div`,{class:`seams-receipt-heading`,children:[f(`span`,{class:`seams-receipt-symbol`,"data-pending":i,children:f(G,{kind:i?`loader`:r?`check`:`alert`})}),f(`div`,{children:[f(`h2`,{role:`status`,children:f(x,{copy:n})}),f(`p`,{children:f(x,{copy:en(e)})})]})]}),f(Lt,{model:t.model,compact:!0}),f(`div`,{class:`seams-receipt-destination`,children:[o&&f(p,{children:[f(x,{message:`To`}),` `,f(K,{value:o,address:!0,label:T(this.context,`Copy recipient address ${o}`)})]}),!o&&Nt(t.model)]}),t.model?.totals?.estimatedFee&&f(`dl`,{class:`seams-review-fields`,children:f(`div`,{children:[f(`dt`,{children:f(x,{message:`Estimated network fee`})}),f(`dd`,{children:[t.model.totals.estimatedFee,` `,t.model.totals.feeSymbol]})]})}),s?f(ln,{state:s}):e.subject===`message`&&f(un,{state:e.state}),f(W,{label:b(this.context,`Receipt details`),children:f(`dl`,{class:`seams-review-fields`,children:[s&&t.model?.signerAccount&&f(`div`,{children:[f(`dt`,{children:f(x,{message:`From`})}),f(`dd`,{class:`seams-review-recipient`,children:f(K,{value:t.model.signerAccount,address:!0,label:T(this.context,`Copy signer address ${t.model.signerAccount}`)})})]}),o&&f(`div`,{children:[f(`dt`,{children:[f(x,{message:`To`}),` `]}),f(`dd`,{class:`seams-review-recipient`,children:f(K,{value:o,address:!0,label:T(this.context,`Copy recipient address ${o}`)})})]}),s?.hash&&f(`div`,{children:[f(`dt`,{children:f(x,{message:`Transaction`})}),f(`dd`,{children:[f(Ft,{value:s.hash,class:`seams-review-hash`}),f(K,{value:s.hash})]})]}),e.subject===`message`&&f(dn,{model:t.model}),f(`div`,{children:[f(`dt`,{children:f(x,{message:`Status`})}),f(`dd`,{children:f(x,{copy:n})})]})]})}),f(`button`,{type:`button`,class:`seams-receipt-primary`,onClick:this.close,children:i?f(x,{message:`Continue in background`}):f(x,{message:`Done`})}),c&&f(`div`,{id:this.explorerRowId,class:`seams-receipt-explorer-row`,ref:this.explorerRow,children:f(`a`,{class:`seams-receipt-explorer`,href:c,target:`_blank`,rel:`noopener noreferrer`,children:[f(x,{message:`View transaction`}),` `,f(G,{kind:`arrow`})]})}),f(Rt,{})]})}};function sn(e,t,n){if(!e)return null;let r;switch(e.chain){case`near`:r=t.near;break;case`evm`:r=t.evm;break;case`tempo`:r=t.tempo;break;case`unknown`:return null;default:return cn(e.chain)}if(!r)return null;let i=e.chain===`near`?`txns`:`tx`;return`${r.trim().replace(/\/$/,``)}/${i}/${encodeURIComponent(n)}`}function cn(e){throw Error(`Unexpected display chain: ${String(e)}`)}function ln({state:e}){let t=y(),n=Zt({subject:`transaction`,state:e});return f(`div`,{class:`seams-receipt-steps`,"aria-label":b(t,`Transaction progress`),children:[f(J,{stage:`signing`,label:b(t,`Signed`),activeLabel:`Signing`,complete:n>=1,active:e.kind===`signing`}),f(J,{stage:`broadcast`,label:b(t,`Broadcast`),activeLabel:`Broadcasting`,complete:n>=2,active:e.kind===`broadcasting`}),f(J,{stage:`confirming`,label:T(t,e.kind===`reverted`?`Reverted`:`Confirmed`),activeLabel:`Confirming`,complete:n===3,active:e.kind===`submitted`})]})}function un({state:e}){let t=y(),n=e.kind===`signed`,r=e.kind===`signing`;return f(`div`,{class:`seams-receipt-steps`,"aria-label":b(t,`Transaction progress`),children:[f(J,{stage:`signing`,label:b(t,`Signed`),activeLabel:`Signing`,complete:n,active:r}),f(J,{stage:`signed`,label:``,activeLabel:``,complete:n,active:!1}),f(J,{stage:`signed`,label:``,activeLabel:``,complete:n,active:!1})]})}function dn({model:e}){let t=y(),n=e?.operations.length===1?e.operations[0]:null;return n?.kind===`near.message`?f(p,{children:n.fields?.map(e=>f(`div`,{children:[f(`dt`,{children:f(x,{copy:e.label})}),e.renderAs===`file-content`?f(`dd`,{children:[f(`span`,{class:`seams-receipt-message`,children:e.value}),f(K,{value:e.copyValue??e.value})]}):f(`dd`,{class:`seams-review-recipient`,children:f(K,{value:e.copyValue??e.value,address:!0,label:T(t,`Copy ${e.label.toLowerCase()} address ${e.value}`)})})]},e.label))}):null}function J(e){let t=e.complete?`complete`:e.active?`active`:`waiting`;return f(`span`,{class:`seams-receipt-step`,"data-stage":e.stage,"data-state":t,"aria-current":e.active?`step`:void 0,children:[f(`span`,{class:`seams-receipt-track`,"aria-hidden":`true`}),f(x,{copy:e.active?e.activeLabel:e.label})]})}const fn=`cubic-bezier(0.22, 1, 0.36, 1)`,pn=[`.seams-receipt-symbol`,`[role="status"]`,`.seams-review-amount`,`.seams-receipt-footer`];function mn(e){let t=[];for(let n of pn){let r=e.querySelector(n);r&&t.push({selector:n,text:r.textContent,bounds:r.getBoundingClientRect(),fontSize:getComputedStyle(r).fontSize,textGeometry:r.matches(`[role="status"]`)?hn(r):null})}return t}function hn(e){let t=e.ownerDocument.createRange();return t.selectNodeContents(e),{bounds:t.getBoundingClientRect(),lineCount:t.getClientRects().length}}function gn(e,t){let n=t.getBoundingClientRect(),r=parseFloat(e.fontSize)/parseFloat(getComputedStyle(t).fontSize),i=r,a=r,o=e.bounds.left-n.left,s=e.bounds.top-n.top;if(e.textGeometry){let r=hn(t),c=e.textGeometry.bounds,l=r.bounds;e.textGeometry.lineCount===r.lineCount&&l.width>0&&l.height>0&&(i=c.width/l.width,a=c.height/l.height,o=c.left-n.left-(l.left-n.left)*i,s=c.top-n.top-(l.top-n.top)*a)}return`translate(${o}px, ${s}px) scale(${i}, ${a})`}function _n(e){let t=e.querySelector(`[data-seams-progress-line]`);if(!t)return[];let n=getComputedStyle(t).color,r=Array.from(t.querySelectorAll(`[data-seams-progress-segment]`));if(r.length===3&&r.every(yn))return r.map(e=>({bounds:e.getBoundingClientRect(),opacity:e.getAttribute(`opacity`)??`1`,color:n})).sort((e,t)=>e.bounds.left-t.bounds.left);let i=t.getBoundingClientRect(),a=i.width/3;return[0,1,2].map(e=>({bounds:new DOMRect(i.left+e*a,i.top+i.height/2,a,0),opacity:`0.55`,color:n}))}function vn(){}function yn(e){return e.getAttribute(`opacity`)!==`0`}let bn=0;var xn=class{element;styles;presentation;state;receipt=null;receiptMotion=[];receiptShell=null;receiptGhost=null;receiptSegments=[];receiptResize=null;clearReceiptMotion=()=>{this.element.querySelector(`.seams-receipt-footer--hosted`)?.classList.remove(`seams-receipt-footer--hosted`),this.receiptResize?.element.classList.remove(`seams-surface-height-driven`),this.receiptResize=null,this.styles.deleteDynamicRule(`${this.element.id}-receipt-resize`);for(let e of this.receiptMotion)e.cancel();this.receiptMotion=[],this.receiptShell?.remove(),this.receiptShell=null,this.receiptGhost?.remove(),this.receiptGhost=null;for(let e of this.receiptSegments)e.remove();this.receiptSegments=[],this.element.removeAttribute(`data-receipt-segments`),this.element.removeAttribute(`data-receipt-morphing`)};constructor(e){let t=e.parent.ownerDocument;this.styles=S(t),this.presentation={variant:e.presentation.variant,context:e.presentation.context},this.state={kind:`mounted`,model:e.model,onClosed:e.onClosed},this.element=t.createElement(`div`),this.element.id=`seams-confirmation-surface-${++bn}`,this.element.className=`seams-wallet-ui seams-confirmation-surface`,this.element.dataset.seamsConfirmSurface=e.presentation.context,this.element.dataset.seamsConfirmVariant=e.presentation.variant,this.element.addEventListener(`cancel`,this.cancel),e.parent.appendChild(this.element);try{this.update(e.model)}catch(e){throw this.remove(),e}}update(e){this.state.kind===`mounted`&&(this.state.model=e,this.element.dataset.confirmationKind=e.content.kind,this.element.dataset.seamsConfirmReady=String(e.content.kind===`transaction`&&e.content.transaction.decision.kind===`ready`),this.element.lang=e.appearance.locale??`en`,this.element.dataset.theme=e.appearance.theme.mode,this.styles.setDynamicRule(this.element.id,ee(this.element.id,e.appearance)),this.renderSurface())}close(){this.state.kind===`mounted`&&(this.state={kind:`closing`,model:this.state.model,onClosed:this.state.onClosed},this.presentation.variant===`modal`?this.dispose():this.renderSurface())}showReceipt(e){if(this.state.kind!==`mounted`||this.state.model.content.kind!==`transaction`)return;let t=this.receipt?.view!==e.view||this.receiptMotion.length>0,n=this.receiptShell??this.element.querySelector(`.modal-container-root`),r=n?.getBoundingClientRect(),i=t?mn(this.element):[],a=t?this.liveCapture():null,o=n?getComputedStyle(n).borderRadius:`26px`;t&&this.clearReceiptMotion(),this.receipt=e,this.element.dataset.receiptView=e.view,this.element.dataset.seamsConfirmSurface=`wallet-iframe`,this.element.dataset.seamsConfirmVariant=`modal`,this.renderSurface();let s=this.element.querySelector(`.modal-container-root`);if(t&&r&&s&&!window.matchMedia(`(prefers-reduced-motion: reduce)`).matches){let t=s.getBoundingClientRect(),n=this.element.ownerDocument.createElement(`div`);n.className=`seams-receipt-morph-shell`,n.setAttribute(`aria-hidden`,`true`),this.element.appendChild(n),this.receiptShell=n,this.element.setAttribute(`data-receipt-morphing`,``);let c=n.animate([{left:`${r.left}px`,top:`${r.top}px`,width:`${r.width}px`,height:`${r.height}px`,borderRadius:o},{left:`${t.left}px`,top:`${t.top}px`,width:`${t.width}px`,height:`${t.height}px`,borderRadius:getComputedStyle(s).borderRadius}],{duration:640,easing:fn,fill:`both`});this.receiptMotion=[c];let l=[c],u=a?this.handOverCapture(a,s):!1,d=new Set;for(let e of i){let t=s.querySelector(e.selector);if(!t||t.textContent!==e.text)continue;d.add(t);let n=t.animate([{transform:gn(e,t),transformOrigin:`top left`},{transform:`translate(0, 0) scale(1)`,transformOrigin:`top left`}],{duration:640,easing:fn});this.receiptMotion.push(n),l.push(n)}let f=s.querySelectorAll(`.seams-transaction-receipt > :not(.seams-receipt-heading), .seams-receipt-heading > .seams-receipt-symbol, .seams-receipt-heading h2, .seams-receipt-heading p, .seams-transaction-toast > :not(.seams-transaction-toast-text, .seams-toast-progress), .seams-transaction-toast-text > *`),p=0;for(let t of f){if(d.has(t))continue;let n=a!==null&&t.matches(`.seams-review-toolbar`),r=n||t.matches(`.seams-receipt-footer`);this.receiptMotion.push(t.animate(r?[{opacity:0},{opacity:1}]:[{opacity:0,transform:`translateY(8px)`},{opacity:1,transform:`translateY(0)`}],a?{duration:360,delay:n?0:u&&t.matches(`.seams-receipt-steps`)?560:200+Math.min(p,6)*40,fill:`backwards`,easing:`cubic-bezier(0.2, 0, 0, 1)`}:{duration:120,delay:e.view===`toast`?240:180+Math.min(p,4)*15,fill:`backwards`,easing:`ease-out`})),n||(p+=1)}this.resizeReceipt({element:s,animations:l,fromHeight:r.height,toHeight:t.height});let m=this.receiptMotion;Promise.all(m.map(e=>e.finished)).then(()=>{this.receiptMotion===m&&this.clearReceiptMotion()},vn)}}resizeReceipt(e){if(!(Math.abs(e.toHeight-e.fromHeight)<1)){this.receiptResize=e;for(let t of e.animations)t.pause(),t.effect?.updateTiming({easing:`linear`});if(e.element.classList.add(`seams-surface-height-driven`),this.setReceiptHeight(e,e.fromHeight),Ke(e.element,{reason:`receipt-transition`,fromCssPx:e.fromHeight,toCssPx:e.toHeight,setHeightCssPx:this.setReceiptHeight.bind(this,e),finish:this.finishReceiptResize.bind(this,e)})){this.fitReceiptToViewport(e);return}this.receiptResize=null,e.element.classList.remove(`seams-surface-height-driven`),this.styles.deleteDynamicRule(`${this.element.id}-receipt-resize`);for(let t of e.animations)t.effect?.updateTiming({easing:fn}),t.play()}}fitReceiptToViewport(e){let t=e.element.querySelector(`.seams-receipt-footer`);for(let n of e.animations){let e=n.effect;if(e instanceof KeyframeEffect){if(e.target===this.receiptShell){this.receiptShell?.classList.add(`seams-receipt-morph-shell--hosted`);let t=e.getKeyframes();for(let e of t)delete e.height,delete e.width;e.setKeyframes(t)}else if(t&&e.target===t){let t=e.getKeyframes();for(let e of t)delete e.transform;e.setKeyframes(t)}}}t?.classList.add(`seams-receipt-footer--hosted`)}setReceiptHeight(e,t){if(this.receiptResize!==e)return;this.styles.setDynamicDeclarations(`${this.element.id}-receipt-resize`,`#${e.element.id}`,{[F]:`${t}px`,"--seams-receipt-target-height":`${e.toHeight}px`});let n=(t-e.fromHeight)/(e.toHeight-e.fromHeight);for(let t of e.animations)t.currentTime=Math.max(0,Math.min(1,n))*640}finishReceiptResize(e){if(this.receiptResize===e){this.receiptResize=null,e.element.classList.remove(`seams-surface-height-driven`),e.element.querySelector(`.seams-receipt-footer--hosted`)?.classList.remove(`seams-receipt-footer--hosted`),this.styles.deleteDynamicRule(`${this.element.id}-receipt-resize`);for(let t of e.animations)t.finish()}}liveCapture(){if(this.state.kind!==`mounted`||this.state.model.content.kind!==`transaction`)return null;let e=this.state.model.content.capture;return e?.isConnected?{element:e,bounds:e.getBoundingClientRect(),segments:_n(e)}:null}handOverCapture(e,t){let n=this.element.ownerDocument.createElement(`div`);n.className=`seams-receipt-capture-ghost`,n.setAttribute(`aria-hidden`,`true`),n.append(e.element),this.element.appendChild(n),this.receiptGhost=n;let r={left:`${e.bounds.left}px`,top:`${e.bounds.top}px`,width:`${e.bounds.width}px`,height:`${e.bounds.height}px`};this.receiptMotion.push(n.animate([{...r,opacity:1},{...r,opacity:0}],{duration:160,easing:`ease-out`,fill:`both`}));let i=t.querySelectorAll(`.seams-receipt-track`);if(e.segments.length===0||i.length!==e.segments.length)return!1;this.element.setAttribute(`data-receipt-segments`,``);for(let[t,n]of i.entries()){let r=e.segments[t],i=n.getBoundingClientRect(),a=n.closest(`.seams-receipt-step`)?.dataset.state===`complete`,o=this.element.ownerDocument.createElement(`div`);o.className=`seams-receipt-segment`,o.setAttribute(`aria-hidden`,`true`),this.element.appendChild(o),this.receiptSegments.push(o),this.receiptMotion.push(o.animate([{left:`${r.bounds.left}px`,top:`${r.bounds.top+r.bounds.height/2-.5}px`,width:`${r.bounds.width}px`,height:`1px`,borderRadius:`1px`,opacity:r.opacity,backgroundColor:r.color},{left:`${i.left}px`,top:`${i.top}px`,width:`${i.width}px`,height:`${i.height}px`,borderRadius:getComputedStyle(n).borderRadius,opacity:1,backgroundColor:getComputedStyle(n,a?`::after`:null).backgroundColor}],{duration:800,delay:120,easing:`cubic-bezier(0.65, 0, 0.35, 1)`,fill:`both`}))}return!0}dispose=()=>{if(this.state.kind===`disposed`)return;let e=this.state.onClosed;this.remove(),e()};remove(){this.clearReceiptMotion(),this.state={kind:`disposed`},this.element.removeEventListener(`cancel`,this.cancel),d(null,this.element),this.styles.deleteDynamicRule(this.element.id),this.element.remove()}cancel=()=>{if(this.state.kind!==`mounted`)return;if(this.receipt){Yt(this.receipt)?this.receipt.onView(`toast`):this.receipt.onDismiss();return}let e=this.state.model.content;e.kind===`registration`?e.registration.onCancel():e.transaction.onCancel()};confirm=()=>{if(this.state.kind!==`mounted`)return;let e=this.state.model.content,t=e.kind===`registration`?e.registration.decision:e.transaction.decision;t.kind===`ready`&&t.onConfirm()};submitOtp=(e,t)=>{if(this.state.kind!==`mounted`)return;let n=this.state.model.content;n.kind===`transaction`&&n.prompt.kind===`email`&&n.prompt.email.onSubmit(e,t)};renderSurface(){let e=this.state;if(e.kind===`disposed`)return;let t=e.model.content,n=this.contentModel(t,e.kind===`closing`),r=this.receipt&&t.kind===`transaction`?f(on,{receipt:this.receipt,data:t.review,explorers:t.transaction.explorers}):f(Gt,{model:n,styles:this.styles,variant:this.presentation.variant}),i=t.kind===`registration`?t.registration.heading:t.header.heading;if(this.receipt||this.presentation.variant===`modal`){d(C(e.model.appearance.locale??`en`,f(te,{context:this.receipt?`wallet-iframe`:this.presentation.context,label:i,onCancel:this.cancel,children:r})),this.element);return}let a=t.kind===`registration`?t.registration.decision:t.transaction.decision;d(C(e.model.appearance.locale??`en`,f(re,{context:this.presentation.context,label:i,origin:t.kind===`transaction`&&t.header.website.kind===`ready`?f(p,{children:[f(L,{}),t.header.website.text]}):void 0,errorMessage:t.kind===`registration`?t.registration.errorMessage:t.transaction.errorMessage,styles:this.styles,state:e.kind===`closing`?{kind:`closing`,onClosed:this.dispose}:{kind:`open`,interaction:a.kind===`ready`?`ready`:`busy`},onCancel:this.cancel,children:r})),this.element)}contentModel(e,t){switch(e.kind){case`registration`:return{kind:`registration`,registration:{...e.registration,decision:!t&&e.registration.decision.kind===`ready`?{kind:`ready`,onConfirm:this.confirm}:{kind:`creating`},onCancel:this.cancel}};case`transaction`:return{kind:`transaction`,capture:e.capture,header:e.header,body:e.body,review:e.review,prompt:e.prompt.kind===`email`?{kind:`email`,email:{prompt:e.prompt.email.prompt,verification:t?{kind:`pending`}:e.prompt.email.verification,onSubmit:this.submitOtp}}:e.prompt,transaction:{...e.transaction,decision:!t&&e.transaction.decision.kind===`ready`?{kind:`ready`,onConfirm:this.confirm}:{kind:`preparing`},onCancel:this.cancel}};default:return Sn(e)}}};function Sn(e){throw Error(`Unexpected confirmation content: ${String(e)}`)}function Cn(e){return new xn(e)}var wn=class{element;surface;callbacks;appearance;presentation;tree;currentModel;constructor(e){this.callbacks=e.callbacks,this.appearance=e.appearance,this.presentation=e.presentation,this.tree=e.tree,this.currentModel=this.normalize(),this.surface=Cn({parent:e.parent,presentation:{variant:e.variant,context:e.context},model:this.currentModel,onClosed:e.onClosed}),this.element=this.surface.element}update(e){this.presentation=Tn(this.presentation,e),e.appearance&&(this.appearance=e.appearance),Object.hasOwn(e,`model`)&&(this.tree=A({model:e.model})),this.currentModel=this.normalize(),this.surface.update(this.currentModel)}setTree(e){this.tree=e,this.currentModel=this.normalize(),this.surface.update(this.currentModel)}close(){this.surface.close()}showReceipt(e){this.surface.showReceipt(e)}dispose(){this.surface.dispose()}normalize(){let e=Ie({presentation:this.presentation,appearance:this.appearance,tree:this.tree,callbacks:this.callbacks});if(!e.ok)throw Error(`Cannot render confirmation surface: ${e.error}`);return e.model}};function Tn(e,t){return{model:Object.hasOwn(t,`model`)?t.model:e.model,securityContext:Object.hasOwn(t,`securityContext`)?t.securityContext:e.securityContext,loading:Object.hasOwn(t,`loading`)?t.loading:e.loading,preparing:Object.hasOwn(t,`preparing`)?t.preparing:e.preparing,title:Object.hasOwn(t,`title`)?t.title:e.title,body:Object.hasOwn(t,`body`)?t.body:e.body,authMethodCapture:Object.hasOwn(t,`authMethodCapture`)?t.authMethodCapture:e.authMethodCapture,authMethodApprovalMessage:Object.hasOwn(t,`authMethodApprovalMessage`)?t.authMethodApprovalMessage:e.authMethodApprovalMessage,errorMessage:Object.hasOwn(t,`errorMessage`)?t.errorMessage:e.errorMessage,confirmText:Object.hasOwn(t,`confirmText`)?t.confirmText:e.confirmText,cancelText:Object.hasOwn(t,`cancelText`)?t.cancelText:e.cancelText,onBack:Object.hasOwn(t,`onBack`)?t.onBack:e.onBack,signingAuthMode:Object.hasOwn(t,`signingAuthMode`)?t.signingAuthMode:e.signingAuthMode,emailOtpPrompt:Object.hasOwn(t,`emailOtpPrompt`)?t.emailOtpPrompt:e.emailOtpPrompt,nearExplorerUrl:Object.hasOwn(t,`nearExplorerUrl`)?t.nearExplorerUrl:e.nearExplorerUrl,tempoExplorerUrl:Object.hasOwn(t,`tempoExplorerUrl`)?t.tempoExplorerUrl:e.tempoExplorerUrl,evmExplorerUrl:Object.hasOwn(t,`evmExplorerUrl`)?t.evmExplorerUrl:e.evmExplorerUrl}}function En(e){return new wn(e)}var Dn=e({awaitConfirmUIDecision:()=>nr,mountConfirmUI:()=>Zn,prepareConfirmUISurface:()=>tr});const Y=`seams-confirm-portal`;function On(e){return Math.max(0,Math.round(performance.now()-e))}const kn=new WeakMap,An=new WeakMap,jn=new WeakMap,X=new WeakMap,Mn=new WeakMap,Z=new WeakMap;function Nn(e){try{if(!ce()||typeof window>`u`||window.parent===window)return;window.parent?.postMessage({type:e},`*`)}catch{}}function Pn(e){return e===`drawer`?`drawer`:`modal`}function Fn(e){return(e||[]).map(e=>({receiverId:e.receiverId,actions:(e.actions||[]).map(e=>a(e)?e:i(e)).map(e=>h(e))}))}async function In(e,t){if(!(!((t?.length||0)>0)||!e))try{return await g(Fn(t))===e?void 0:`INTENT_DIGEST_MISMATCH`}catch{return`UI_DIGEST_VALIDATION_FAILED`}}function Ln(e){e.childElementCount>0?e.classList.add(`seams-portal--visible`):e.classList.remove(`seams-portal--visible`)}function Rn(){let e=[];for(let t of document.querySelectorAll(`.seams-confirmation-surface`))t.parentElement?.closest(`.seams-confirmation-surface`)||e.push(t);return e}function zn(){for(let e of Rn())Mn.get(e)?.callbacks.cancel(),X.get(e)?.dispose(),Z.delete(e),$(e),e.remove();let e=document.getElementById(Y);e&&Ln(e)}function Bn(){let e=document.getElementById(Y);if(!e){e=document.createElement(`div`),e.id=Y,e.classList.add(`seams-portal`);let t=document.body??document.documentElement;t&&t.appendChild(e)}return e}function Vn(e){X.delete(e),Z.delete(e),$(e),e.remove();let t=document.getElementById(Y);t&&Ln(t)}function Hn(){(document.getElementById(Y)?.childElementCount??0)>0||Nn(`WALLET_UI_CLOSED`)}function Un(e,t){let r=t?.chain;if(r!==`near`&&r!==`tempo`&&r!==`evm`)return{};let i=n({chains:e.chains,family:r,chainId:t?.chainId});return i?r===`near`?{nearExplorerUrl:i}:r===`tempo`?{tempoExplorerUrl:i}:{evmExplorerUrl:i}:{}}function Wn(e,t){t&&(e.update(t),Object.hasOwn(t,`model`)&&Q(e.element,e,t.model))}function Q(e,t,n){let r=(Z.get(e)??0)+1;Z.set(e,r),!(!n||!Ee(n))&&import(`./enrichDisplayModelWithAbi-JeAcpa7r.js`).then(i=>{if(Z.get(e)!==r||!e.isConnected||X.get(e)!==t)return;let a=i.enrichDisplayModelWithAbi(n);Z.get(e)===r&&t.setTree(A({model:a}))}).catch(e=>{console.warn(`[ConfirmUI] failed to lazy-load ABI display enrichment`,e)})}function $(e){kn.get(e)?.disconnect(),kn.delete(e),An.get(e)?.dispose(),An.delete(e),jn.delete(e)}function Gn(e,t){switch(e.kind){case`disabled`:return null;case`wallet_iframe`:return c({kind:t.getAttribute(`data-seams-confirm-variant`)===`modal`?`request_scroll_surface`:`request_surface`,element:t,requestId:e.requestId,postMeasurement:e.postMeasurement});default:{let t=e;throw Error(`Unhandled confirmation measurement binding: ${String(t)}`)}}}function Kn(e,t,n){e.setAttribute(Ge,ir(n,t)),e.setAttribute(`data-seams-confirm-variant`,t),e.toggleAttribute(`data-seams-review-frame`,!!r(n))}function qn(e,t,n){if(r(n)?.attach(e),Kn(e,t,n),ie(jn.get(e),n))return;$(e),jn.set(e,n);let i=Gn(n,e);i&&(kn.set(e,i),An.set(e,nt(e)))}function Jn(e,t){t.kind===`review_available`&&e.returnToReview()}var Yn=class{view=null;navigation={kind:`review_available`};queuedDecisions=[];decisionWaiters=[];phase=`pending`;cancelListeners=new Set;onBack;callbacks={confirm:this.confirm.bind(this),cancel:this.cancel.bind(this),submitEmail:this.submitEmail.bind(this)};constructor(e){this.admission=e,this.onBack=e?this.back.bind(this):void 0}attachView(e){this.view=e;let t=this.admission;t?.requiresAuthMethodApproval&&this.prepareAuthMethod(t,e)}async prepareAuthMethod(e,t){this.phase=`preparing`,t.update({preparing:!0,authMethodCapture:e.authMethodApprovalSurface});try{if(await e.prepareAuthMethod(),this.phase!==`preparing`)return;this.phase=`pending`,t.update({preparing:!1,authMethodCapture:null})}catch(e){this.cancel(e instanceof Error?e.message:`VoiceID preparation failed.`)}}publishDecision(e){if(this.phase===`published`)return;this.phase=`published`,this.navigation.kind=`decision_published`;let t=this.decisionWaiters.shift();if(t){t(e);return}this.queuedDecisions.push(e)}back(){this.phase===`preparing`||this.phase===`checking`?this.cancel(`Voice approval was cancelled.`):this.admission&&Jn(this.admission,this.navigation)}cancel(e){if(this.phase!==`published`){this.publishDecision({kind:`cancelled`,error:e??null}),this.admission?.cancel(Error(e??`Wallet approval was cancelled.`));for(let t of this.cancelListeners)t({...e?{error:e}:{}})}}confirm(){this.approve({kind:`confirmed`,emailOtp:{kind:`absent`}})}submitEmail(e,t){let n=e.trim(),r=t.trim();if(!n||!r){this.cancel(`Email OTP challenge is missing.`);return}this.approve({kind:`confirmed`,emailOtp:{kind:`provided`,code:n,challengeId:r}})}async approve(e){if(!(this.phase!==`pending`||this.admission&&!this.admission.allowInteraction())){this.phase=`checking`;try{this.admission?.authMethodApprovalMessages&&this.view?.update({preparing:!0,authMethodCapture:this.admission.authMethodApprovalSurface});let t=await this.admission?.approveAuthMethod();if(t?.kind===`retry`){this.phase=`pending`,this.view?.update({preparing:!1,authMethodCapture:null,authMethodApprovalMessage:t.message});return}this.admission?.authMethodApprovalMessages&&this.view?.update({preparing:!1,authMethodApprovalMessage:this.admission.authMethodApprovalMessages.approved}),this.publishDecision(e)}catch(e){this.cancel(e instanceof Error?e.message:`Authentication method approval failed.`)}}}async takeDecision(){return this.queuedDecisions.shift()||(this.phase===`published`&&(this.phase=`pending`),await new Promise(this.waitForDecision))}waitForDecision=e=>{this.decisionWaiters.push(e)}};function Xn(e,t,n){let r=!1;return{element:e.element,close:i=>{r||(r=!0,i||t.callbacks.cancel(),t.cancelListeners.clear(),!(i&&n.kind===`wallet_iframe`&&v(n.requestId,e))&&($(e.element),e.close()))},update:t=>Wn(e,t),onCancel:e=>(t.cancelListeners.add(e),()=>t.cancelListeners.delete(e)),takeDecision:()=>t.takeDecision()}}async function Zn({ctx:e,summary:t,txSigningRequests:n,model:r,securityContext:i,loading:a,theme:o,appearance:s,uiMode:c,signingAuthMode:l,emailOtpPrompt:u}){return rr({ctx:e,summary:t,txSigningRequests:n,model:r,securityContext:i,loading:a,theme:o,appearance:s,variant:Pn(c),signingAuthMode:l,emailOtpPrompt:u})}function Qn(e){let t=e.surface.handle,n=t.element;if(!n.isConnected)throw Error(`Cannot reuse a detached confirmation surface`);let r=X.get(n);if(!r)throw Error(`Cannot reuse an unmanaged confirmation surface`);qn(n,e.variant,e.ctx.surfaceMeasurementBinding);let i=ae({getAppearance:e.ctx.getAppearance,requestedAppearance:e.appearance,requestedMode:e.theme}),a=Un(e.ctx,e.model);return r.update({model:e.model,securityContext:e.securityContext,loading:e.loading??!1,appearance:i,title:e.summary.title??``,body:e.summary.body??``,signingAuthMode:e.signingAuthMode,emailOtpPrompt:e.emailOtpPrompt,errorMessage:``,...a}),r.setTree(A({txSigningRequests:e.txSigningRequests,model:e.model})),Q(n,r,e.model),{handle:t,reused:!0}}function $n(e){throw Error(`Unhandled confirmation surface: ${JSON.stringify(e)}`)}function er(e){switch(e.surface.kind){case`mount_new`:return{handle:rr({ctx:e.ctx,summary:e.summary,txSigningRequests:e.txSigningRequests,model:e.model,securityContext:e.securityContext,loading:e.loading,theme:e.theme,appearance:e.appearance,variant:e.variant,signingAuthMode:e.signingAuthMode,emailOtpPrompt:e.emailOtpPrompt}),reused:!1};case`reuse_mounted`:return Qn({...e,surface:e.surface});case`preparation_cancelled`:throw Error(`A cancelled preparation surface cannot be mounted`);default:return $n(e.surface)}}async function tr(e){return er({ctx:e.ctx,summary:e.summary,txSigningRequests:e.txSigningRequests,model:e.model,securityContext:e.securityContext,loading:e.loading,theme:e.theme,appearance:e.appearance,variant:Pn(e.uiMode),signingAuthMode:e.signingAuthMode,emailOtpPrompt:e.emailOtpPrompt,surface:e.surface}).handle}async function nr({ctx:e,summary:t,txSigningRequests:n,model:r,securityContext:i,loading:a,theme:o,appearance:s,uiMode:c,onMounted:l,signingAuthMode:u,emailOtpPrompt:d,surface:f}){let p=Pn(c);return new Promise(c=>{let m=performance.now(),{handle:h,reused:g}=er({ctx:e,summary:t,txSigningRequests:n,model:r,securityContext:i,loading:a,theme:o,appearance:s,variant:p,signingAuthMode:u,emailOtpPrompt:d,surface:f}),_=On(m),v=performance.now(),y=0,b=g?_:0,x=0,S=e=>e>0?e:On(v);Promise.resolve().then(()=>{y=S(y),g||(b=S(b))});try{l?.(h)}catch{}let C=e=>{let t={kind:`confirm_ui_prompt_diagnostics_v1`,elementDefineMs:0,mountMs:_,hostFirstUpdateMs:y,hostInteractiveMs:b,confirmEventMs:x,decisionWaitMs:On(v)};T(),c({...e,handle:h,diagnostics:t})},w=async e=>{if(x=S(x),e.kind===`cancelled`){let t=e.error||void 0;h.update({...t?{errorMessage:t}:{},loading:!1}),C({confirmed:!1,error:t});return}let i,a=await In(String(r?.intentDigest||t?.intentDigest||``).trim(),n);if(a&&(i=a),i){h.update({errorMessage:i,loading:!1}),C({confirmed:!1,error:i});return}C({confirmed:!0,...e.emailOtp.kind===`provided`?{otpCode:e.emailOtp.code,emailOtpChallengeId:e.emailOtp.challengeId}:{}})},T=()=>{y=Math.max(y,0)};(async()=>{let e=await h.takeDecision();u===`emailOtp`&&e.kind===`confirmed`&&e.emailOtp.kind===`absent`&&(h.update({loading:!1}),e=await h.takeDecision()),await w(e)})()})}function rr({ctx:e,summary:t,txSigningRequests:n,model:i,securityContext:a,loading:o,theme:s,appearance:c,variant:l,signingAuthMode:u,emailOtpPrompt:d}){r(e.surfaceMeasurementBinding)?.assertPending(),zn();let f=ae({getAppearance:e.getAppearance,requestedAppearance:c,requestedMode:s}),p=Bn(),m=Un(e,i),h=new Yn(r(e.surfaceMeasurementBinding)),g;return g=En({parent:p,variant:l,context:ir(e.surfaceMeasurementBinding,l),appearance:f,presentation:{onBack:h.onBack,model:i,securityContext:a,loading:o,title:t?.title??(t?.delegate?`Sign Delegate Action`:void 0),body:t?.body,confirmText:r(e.surfaceMeasurementBinding)?.authMethodApprovalMessages?.confirm,signingAuthMode:u,emailOtpPrompt:d,nearExplorerUrl:e.nearExplorerUrl??m.nearExplorerUrl,tempoExplorerUrl:e.tempoExplorerUrl??m.tempoExplorerUrl,evmExplorerUrl:e.evmExplorerUrl??m.evmExplorerUrl},tree:A({txSigningRequests:n,model:i}),callbacks:h.callbacks,onClosed:()=>{Vn(g.element),Hn()}}),h.attachView(g),X.set(g.element,g),Mn.set(g.element,h),Ln(p),qn(g.element,l,e.surfaceMeasurementBinding),Q(g.element,g,i),p.classList.remove(`seams-portal--visible`),requestAnimationFrame(()=>{p.classList.add(`seams-portal--visible`)}),Nn(`WALLET_UI_OPENED`),Xn(g,h,e.surfaceMeasurementBinding)}function ir(e,t){let n=e.kind===`wallet_iframe`?e.hostSurfaceVariant??t:t;return e.kind===`wallet_iframe`&&n===`modal`?`wallet-iframe`:`standalone`}export{L as a,ce as c,tr as i,se as l,Dn as n,ke as o,Zn as r,Me as s,nr as t};
|