@seams/wallet 0.22.0 → 0.24.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 +19 -2
- package/THIRD_PARTY_NOTICES.md +186 -6
- package/dist/.build-inputs.sha256 +1 -1
- package/dist/esm/SeamsWeb/operations/recovery/walletRecoveryCommit.js +1 -0
- package/dist/esm/SeamsWeb/publicApi/createPublicApi.js +3 -0
- package/dist/esm/SeamsWeb/walletIframe/client/authMenuAnchor.js +44 -0
- package/dist/esm/SeamsWeb/walletIframe/client/overlay/overlay-styles.js +4 -6
- package/dist/esm/SeamsWeb/walletIframe/client/registrationCommands.js +12 -0
- package/dist/esm/SeamsWeb/walletIframe/client/router.js +67 -31
- package/dist/esm/SeamsWeb/walletIframe/client/sessionCommands.js +4 -0
- package/dist/esm/SeamsWeb/walletIframe/client/surface/geometry.js +2 -2
- package/dist/esm/SeamsWeb/walletIframe/client/transport/iframe-transport-dom.js +2 -2
- package/dist/esm/SeamsWeb/walletIframe/host/auth-menu/domain.js +22 -3
- package/dist/esm/SeamsWeb/walletIframe/host/surface-measurement-reporter.js +6 -2
- package/dist/esm/SeamsWeb/walletIframe/host/ui/auth-menu/AuthMenuFooter.js +1 -3
- package/dist/esm/SeamsWeb/walletIframe/host/ui/auth-menu/AuthMenuSurface.js +81 -19
- package/dist/esm/SeamsWeb/walletIframe/host/ui/auth-menu/icons.js +1 -4
- package/dist/esm/SeamsWeb/walletIframe/host/ui/auth-menu/presentation.js +7 -11
- package/dist/esm/SeamsWeb/walletIframe/host/walletMutationGuard.js +86 -0
- package/dist/esm/SeamsWeb/walletIframe/shared/configuration.js +23 -1
- package/dist/esm/SeamsWeb/walletIframe/shared/exactSessionState.js +1 -0
- package/dist/esm/SeamsWeb/walletIframe/shared/messages.js +7 -1
- package/dist/esm/SeamsWeb/walletIframe/shared/transactionReview.js +20 -1
- package/dist/esm/core/authMethods/availability.js +28 -0
- package/dist/esm/core/authMethods/availabilityTypes.js +29 -0
- package/dist/esm/core/authMethods/plugins.js +17 -0
- package/dist/esm/core/config/configBuilder.js +2 -0
- package/dist/esm/core/config/defaultConfigs.js +1 -0
- package/dist/esm/core/indexedDB/seamsWalletDB/repositories.js +41 -2
- package/dist/esm/core/indexedDB/unifiedIndexedDBManager.js +3 -0
- package/dist/esm/core/rpcClients/relayer/routerAbNormalSigning.js +1 -1
- package/dist/esm/core/rpcClients/relayer/walletSessionAuthorizationStatus.js +1 -1
- package/dist/esm/core/signingEngine/flows/signEvmFamily/authPlanning.js +2 -1
- package/dist/esm/core/signingEngine/flows/signEvmFamily/ecdsaSelection.js +29 -12
- package/dist/esm/core/signingEngine/flows/signEvmFamily/signEvmFamily.js +1 -0
- package/dist/esm/core/signingEngine/flows/signEvmFamily/signingFlowRuntime.js +2 -1
- package/dist/esm/core/signingEngine/flows/signNear/requireNearStepUpAuth.js +1 -0
- package/dist/esm/core/signingEngine/flows/signNear/shared/ed25519YaoNormalSigning.js +1 -1
- package/dist/esm/core/signingEngine/flows/signNear/shared/signingSessionAuthMode.js +5 -0
- package/dist/esm/core/signingEngine/flows/signNear/signNear.js +16 -12
- package/dist/esm/core/signingEngine/session/availability/availableSigningLanes.js +2 -3
- package/dist/esm/core/signingEngine/session/identity/exactSigningLaneIdentity.js +16 -1
- package/dist/esm/core/signingEngine/session/identity/signingLaneAuthBinding.js +6 -0
- package/dist/esm/core/signingEngine/session/material/ecdsaSigningCapability.js +3 -0
- package/dist/esm/core/signingEngine/session/operationState/lanes.js +21 -4
- package/dist/esm/core/signingEngine/session/passkey/ed25519YaoRecoveryCapability.js +94 -0
- package/dist/esm/core/signingEngine/stepUpConfirmation/methodSelection.js +1 -0
- package/dist/esm/core/signingEngine/uiConfirm/ui/confirm-surface-resize.js +19 -2
- package/dist/esm/core/signingEngine/uiConfirm/ui/confirmation-model.js +3 -1
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/ConfirmContent.js +6 -0
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/ConfirmationContent.js +59 -23
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/ReviewDisclosure.js +13 -0
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/TransactionReview.js +48 -16
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/mountConfirmationSurface.js +146 -9
- package/dist/esm/core/signingEngine/walletCustody/ceremonyStepRunner.js +8 -0
- package/dist/esm/core/signingEngine/walletCustody/resealedEnvelopeResult.js +24 -0
- package/dist/esm/core/signingEngine/walletCustody/unlockedEd25519ExportRootCapability.js +74 -0
- package/dist/esm/core/signingEngine/workerManager/workerDeferred.js +25 -0
- package/dist/esm/core/ui/messages.js +15 -4
- package/dist/esm/externalNear/actions.js +26 -0
- package/dist/esm/externalNear/boundary.js +53 -0
- package/dist/esm/externalNear/controller.js +223 -0
- package/dist/esm/externalNear/hot.js +41 -0
- package/dist/esm/externalNear/index.js +3 -0
- package/dist/esm/externalNear/intear.js +110 -0
- package/dist/esm/externalNear/intearPopup.js +83 -0
- package/dist/esm/externalNear/message.js +60 -0
- package/dist/esm/externalNear/meteor.js +133 -0
- package/dist/esm/externalNear/meteorRequest.js +117 -0
- package/dist/esm/externalNear/types.js +17 -0
- package/dist/esm/externalNear/wallets.js +33 -0
- package/dist/esm/node_modules/borsh/lib/esm/buffer.js +67 -0
- package/dist/esm/node_modules/borsh/lib/esm/deserialize.js +94 -0
- package/dist/esm/node_modules/borsh/lib/esm/index.js +13 -0
- package/dist/esm/node_modules/borsh/lib/esm/serialize.js +127 -0
- package/dist/esm/node_modules/borsh/lib/esm/types.js +19 -0
- package/dist/esm/node_modules/borsh/lib/esm/utils.js +104 -0
- package/dist/esm/plugins/plugin-utils.js +2 -5
- package/dist/esm/react/components/AccountMenuButton/AccountMenuButtonView.js +10 -22
- package/dist/esm/react/components/AccountMenuButton/AccountMenuDeviceDetails.js +2 -2
- package/dist/esm/react/components/AccountMenuButton/AccountMenuMockScreens.js +7 -4
- package/dist/esm/react/components/AccountMenuButton/AddEvmAccount.js +124 -0
- package/dist/esm/react/components/AccountMenuButton/AuthenticationMethodRow.js +41 -23
- package/dist/esm/react/components/AccountMenuButton/AuthenticationMethodsModal.js +220 -164
- package/dist/esm/react/components/AccountMenuButton/AuthenticationMethodsView.js +7 -5
- package/dist/esm/react/components/AccountMenuButton/LinkedDevicesModal.css +142 -36
- package/dist/esm/react/components/AccountMenuButton/LinkedDevicesModal.js +11 -2
- package/dist/esm/react/components/AccountMenuButton/TransactionSettingsSection.css +12 -10
- package/dist/esm/react/components/AccountMenuButton/TransactionSettingsSection.js +1 -1
- package/dist/esm/react/components/AccountMenuButton/VoiceIdAvailabilityControl.js +186 -0
- package/dist/esm/react/components/AccountMenuButton/Web3AuthProfileButton.css +10 -8
- package/dist/esm/react/components/AccountMenuButton/icons/ChevronRightIcon.js +8 -0
- package/dist/esm/react/components/AccountMenuButton/icons/WalletIcon.js +8 -0
- package/dist/esm/react/components/AccountMenuButton/index.js +35 -13
- package/dist/esm/react/components/HostedSeamsAuthMenu/shell.js +8 -4
- package/dist/esm/react/context/useLoginStateRefresher.js +10 -2
- package/dist/esm/react/externalNear.css +90 -0
- package/dist/esm/react/externalNear.js +104 -0
- package/dist/esm/react/index.js +2 -4
- package/dist/esm/react/styles/styles.css +22 -332
- package/dist/esm/react/styles.css +0 -1
- package/dist/esm/sdk/ConfirmationDrawer-CTaGM1AE.js +1 -0
- package/dist/esm/sdk/{NonceCoordinator-Do23iTzQ.js → NonceCoordinator-Bti1HQPo.js} +1 -1
- package/dist/esm/sdk/SeamsWordmark-CFpsGoLw.js +1 -0
- package/dist/esm/sdk/{accountLifecycle-CXTlwnAS.js → accountLifecycle-B98g9zN9.js} +1 -1
- package/dist/esm/sdk/actions-GYsSR2Q2.js +1 -0
- package/dist/esm/sdk/activeWalletSession-H9JBdHyQ.js +1 -0
- package/dist/esm/sdk/adapters-D5MZ5NG5.js +2 -0
- package/dist/esm/sdk/appearance-token-vars-CgYTfCKg.js +1 -0
- package/dist/esm/sdk/{canonicalPrimitives-D_1HyEuJ.js → canonicalPrimitives-B6YMrI3W.js} +1 -1
- package/dist/esm/sdk/{capabilityKinds-CqHVzVsJ.js → capabilityKinds-BzrNeEyO.js} +1 -1
- package/dist/esm/sdk/{chains-CPmd4s9f.js → chains-gV2K9gA4.js} +1 -1
- package/dist/esm/sdk/{challengeDelivery-C88JNwKf.js → challengeDelivery-FW9gYyr0.js} +1 -1
- package/dist/esm/sdk/clientSessionPersistenceState-BPYK9PYV.js +1 -0
- package/dist/esm/sdk/{collectAuthenticationCredentialForChallengeB64u-CSwy9csE.js → collectAuthenticationCredentialForChallengeB64u-kLIxmw3V.js} +1 -1
- package/dist/esm/sdk/{commitQueue-BQPOhyGl.js → commitQueue-Bs23Rs57.js} +1 -1
- package/dist/esm/sdk/configBuilder-DrxXNUpV.js +1 -0
- package/dist/esm/sdk/{configHelpers-D50F_Txb.js → configHelpers-BNqoU2cv.js} +1 -1
- package/dist/esm/sdk/configuration-CAqANpTI.js +1 -0
- package/dist/esm/sdk/csp-stylesheet-DeuiM0Mo.js +2 -0
- package/dist/esm/sdk/{display-Dtugjeya.js → display-BXjW58UF.js} +1 -1
- package/dist/esm/sdk/domainIds-t1lp25yU.js +1 -0
- package/dist/esm/sdk/ecdsaCapabilityManifest--FjbES8k.js +1 -0
- package/dist/esm/sdk/{ecdsaChainTarget-svSlzhze.js → ecdsaChainTarget-DbLthshF.js} +1 -1
- package/dist/esm/sdk/{ecdsaDerivationClientWasm-D1HzwUgV.js → ecdsaDerivationClientWasm-7Rp4TmYE.js} +1 -1
- package/dist/esm/sdk/ecdsaDerivationExport-dInN7N6e.js +1 -0
- package/dist/esm/sdk/{ecdsaWalletRecords-BmhuJF1y.js → ecdsaWalletRecords-BgcXXCZy.js} +1 -1
- package/dist/esm/sdk/emailOtpEcdsaDerivationIdentity-CIh9IPai.js +1 -0
- package/dist/esm/sdk/{enrichDisplayModelWithAbi-D0o0IL7_.js → enrichDisplayModelWithAbi-CudPUW0T.js} +1 -1
- package/dist/esm/sdk/{evmCryptoWasm-S2gL5ht4.js → evmCryptoWasm-DacbCVNM.js} +1 -1
- package/dist/esm/sdk/{export-viewer-host-C9n-62Pi.js → export-viewer-host-DsWOvc0t.js} +1 -1
- package/dist/esm/sdk/exportKeypairOperation-BazJvSov.js +1 -0
- package/dist/{public/sdk/helpers-BXezXx19.js → esm/sdk/helpers-CXqXyyCU.js} +1 -1
- package/dist/esm/sdk/host-C0Is56lU.js +1 -0
- package/dist/esm/sdk/icons-DyndJzSh.js +1 -0
- package/dist/esm/sdk/indexedDB-C1odKEC6.js +1 -0
- package/dist/esm/sdk/intentDigest-BMXki7yB.js +1 -0
- package/dist/esm/sdk/{keyMaterialEnvelope-B3v6HLtz.js → keyMaterialEnvelope-B-Q5KTJC.js} +1 -1
- package/dist/esm/sdk/lanes-C7OvAK_L.js +1 -0
- package/dist/esm/sdk/localOnly-BB3Rx3J6.js +1 -0
- package/dist/esm/sdk/mountExportPrivateKeySurface-CV1KrFWg.js +1 -0
- package/dist/{public/sdk/mountRecoveryCodeBackupSurface-D3QFgMGE.js → esm/sdk/mountRecoveryCodeBackupSurface-CVXU1zzl.js} +2 -2
- package/dist/esm/sdk/nearEd25519YaoMaterialActivation-D9cdMKIZ.js +1 -0
- package/dist/esm/sdk/nearEd25519YaoSigningPreparation-D_Jvj7ht.js +1 -0
- package/dist/esm/sdk/{nonceLaneKeys-CR2XEvnk.js → nonceLaneKeys-BS4fek17.js} +1 -1
- package/dist/esm/sdk/{normalization-Ctkj80dW.js → normalization-BN-2VWZf.js} +1 -1
- package/dist/esm/sdk/{operationFingerprint-DRPONhBD.js → operationFingerprint-Bn0lUYlm.js} +1 -1
- package/dist/esm/sdk/pendingWalletRecoveryCodeBackup-lr1oISjL.js +1 -0
- package/dist/esm/sdk/presignaturePool-CultzkOG.js +1 -0
- package/dist/esm/sdk/{presignatures-DGLNs29C.js → presignatures-B9GrGx0L.js} +1 -1
- package/dist/esm/sdk/recovery-entrypoint-QBvJBngm.js +1 -0
- package/dist/esm/sdk/{recoveryAuthorization-BplZWc-N.js → recoveryAuthorization-DB-zxeHq.js} +1 -1
- package/dist/esm/sdk/registration-CM5a7WYO.js +1 -0
- package/dist/esm/sdk/registration-Hv0xi7-L.js +1 -0
- package/dist/esm/sdk/{registrationAccounts-BfO6Ztye.js → registrationAccounts-BHikxS5q.js} +1 -1
- package/dist/esm/sdk/{registrationAuthMethodInput-DKz6Mgg4.js → registrationAuthMethodInput-BvbWl0y_.js} +1 -1
- package/dist/esm/sdk/registrationIntent-DTs2SR9E.js +1 -0
- package/dist/esm/sdk/{registrationSignerPlan-B66FjqIp.js → registrationSignerPlan-CgbFVsAp.js} +1 -1
- package/dist/{public/sdk/requireStepUpAuth-DsNLml1i.js → esm/sdk/requireStepUpAuth-B7tC4MrA.js} +1 -1
- package/dist/esm/sdk/resealedEnvelopeResult--iCVt_Bh.js +1 -0
- package/dist/esm/sdk/routerAbNormalSigning-Div3lZWV.js +1 -0
- package/dist/esm/sdk/router_ab_ed25519_yao_client_bg.wasm +0 -0
- package/dist/esm/sdk/runtime-auth-CVw1KoVD.js +1 -0
- package/dist/esm/sdk/runtime-device-link-Dp0YMZTQ.js +1 -0
- package/dist/esm/sdk/runtime-ecdsa-tempo-DEIjIgEO.js +1 -0
- package/dist/esm/sdk/runtime-email-otp-gsr_FsQn.js +1 -0
- package/dist/esm/sdk/runtime-export-upMPrZ4V.js +1 -0
- package/dist/esm/sdk/runtime-near-B64Hn3nc.js +1 -0
- package/dist/esm/sdk/runtime-preferences-CULdHkbg.js +1 -0
- package/dist/esm/sdk/runtime-recovery-D2saBaJy.js +1 -0
- package/dist/esm/sdk/runtime-recovery-codes-Bvc0IXMJ.js +1 -0
- package/dist/esm/sdk/runtimeContext-CNFJjcns.js +6 -0
- package/dist/{public/sdk/sdkSentEvents-BzMVO1AR.js → esm/sdk/sdkSentEvents-DUht3AOD.js} +1 -1
- package/dist/esm/sdk/{secp256k1-CYu8ENjP.js → secp256k1-BGVlx50C.js} +1 -1
- package/dist/esm/sdk/sessionObservationRevision-84ZzJ-fC.js +1 -0
- package/dist/esm/sdk/shared-DcHtE-D-.js +1 -0
- package/dist/esm/sdk/signEvmFamily-PjwUc5MT.js +1 -0
- package/dist/esm/sdk/{signEvmFamilyWithUiConfirmForTempo-4A3D9nKv.js → signEvmFamilyWithUiConfirmForTempo-BMfC2sc2.js} +1 -1
- package/dist/esm/sdk/{signEvmWithUiConfirm-lZyPfrGe.js → signEvmWithUiConfirm-BNkupz3z.js} +1 -1
- package/dist/esm/sdk/signNear-r8VCOoTh.js +1 -0
- package/dist/esm/sdk/{signatureUses-CY4U-X6V.js → signatureUses-DrqCoN12.js} +1 -1
- package/dist/esm/sdk/signerDomain-D-EUTlLK.js +1 -0
- package/dist/esm/sdk/{signerSlot-CpyIfl3J.js → signerSlot-D4ZOuK7e.js} +1 -1
- package/dist/{public/sdk/signingFlow-Co_QtuHK.js → esm/sdk/signingFlow-BVvteILM.js} +1 -1
- package/dist/esm/sdk/{signingQueue-Cj9sCJLj.js → signingQueue-BJzOrwDq.js} +1 -1
- package/dist/esm/sdk/surface-measurement-reporter-NUm_54LH.js +1 -0
- package/dist/{public/sdk/thresholdEcdsa-LvkD6z8-.js → esm/sdk/thresholdEcdsa-tnY83qyG.js} +1 -1
- package/dist/esm/sdk/{trace-CWTzEALZ.js → trace-CGNqO1FV.js} +1 -1
- package/dist/esm/sdk/{transaction-activity-CpDMkSPm.js → transaction-activity-DPq9RTh5.js} +1 -1
- package/dist/esm/sdk/transactionReview-DSGnpreN.js +1 -0
- package/dist/esm/sdk/transactionReviewAdmission--8tDis7M.js +1 -0
- package/dist/{public/sdk/transactionState-BaFSiA9t.js → esm/sdk/transactionState-BS1VLT7B.js} +1 -1
- package/dist/esm/sdk/tx-confirm-ui.js +418 -109
- package/dist/esm/sdk/types-DdzuHlAQ.js +1 -0
- package/dist/esm/sdk/unlockedEd25519ExportRootCapability-D43rvO9a.js +1 -0
- package/dist/esm/sdk/voiceid-host.js +1 -0
- 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-BjIQdOha.js +1 -0
- package/dist/esm/sdk/wallet-ui.css +1 -1
- package/dist/esm/sdk/walletAuthMethodRecord-yIqCeE-o.js +1 -0
- package/dist/esm/sdk/walletCapabilityBindings-CUPk3mVH.js +1 -0
- package/dist/esm/sdk/walletCustodyEcdsaContinuity-DlOBCmwb.js +1 -0
- package/dist/esm/sdk/walletCustodyOperation-DzPcxEBS.js +1 -0
- package/dist/esm/sdk/walletDbName-DDJXrgA5.js +1 -0
- package/dist/esm/sdk/walletOwnershipGeneration-DI9ogcXF.js +1 -0
- package/dist/esm/sdk/walletRecoveryAdminProof-BJxmg3f7.js +1 -0
- package/dist/esm/sdk/walletRecoveryCommit-B7WsdR7y.js +1 -0
- package/dist/esm/sdk/walletRegistrationSetupPrewarm-CEJCj78c.js +1 -0
- package/dist/esm/sdk/walletSessionAuthorizationStatus-98G3Qji8.js +1 -0
- package/dist/{public/sdk/walletSessionAuthorizationStore-DYRMCkiT.js → esm/sdk/walletSessionAuthorizationStore-zkxcMdSp.js} +1 -1
- package/dist/esm/sdk/warmSessionHydration-DqZyfi1h.js +1 -0
- package/dist/esm/sdk/{webauthnP256-unqBoZCk.js → webauthnP256-BvTL8nq4.js} +1 -1
- package/dist/esm/shared-ts/src/authorization/capabilityKinds.js +4 -1
- package/dist/esm/shared-ts/src/authorization/delegatedAuthority.js +11 -2
- package/dist/esm/shared-ts/src/authorization/voiceIdDeviceAssertion.js +110 -0
- package/dist/esm/shared-ts/src/device-linking/authorityActivation.js +1 -0
- package/dist/esm/shared-ts/src/device-linking/committedSignerPackages.js +1 -0
- package/dist/esm/shared-ts/src/device-linking/deviceManagement.js +17 -9
- package/dist/esm/shared-ts/src/passkey-custody/custodyEnvelope.js +62 -3
- package/dist/esm/shared-ts/src/passkey-custody/custodySecretBinding.js +1 -1
- package/dist/esm/shared-ts/src/utils/canonicalPrimitives.js +5 -2
- package/dist/esm/shared-ts/src/utils/domainIds.js +14 -1
- package/dist/esm/shared-ts/src/utils/signerDomain.js +4 -2
- package/dist/esm/shared-ts/src/utils/validation.js +4 -1
- package/dist/esm/shared-ts/src/utils/walletAuthAuthority.js +46 -2
- package/dist/esm/shared-ts/src/utils/walletAuthMethodRecord.js +116 -6
- package/dist/esm/shared-ts/src/utils/walletCapabilityBindings.js +39 -1
- package/dist/esm/voiceid-host.js +47 -0
- package/dist/esm/wasm/near_signer/pkg/wasm_signer_worker_bg.wasm +0 -0
- package/dist/esm/wasm/router_ab_ed25519_yao_client/pkg/router_ab_ed25519_yao_client_bg.wasm +0 -0
- package/dist/public/headers.manifest.json +1 -1
- package/dist/public/sdk/ConfirmationDrawer-CTaGM1AE.js +1 -0
- package/dist/public/sdk/{NonceCoordinator-Do23iTzQ.js → NonceCoordinator-Bti1HQPo.js} +1 -1
- package/dist/public/sdk/SeamsWordmark-CFpsGoLw.js +1 -0
- package/dist/public/sdk/{accountLifecycle-CXTlwnAS.js → accountLifecycle-B98g9zN9.js} +1 -1
- package/dist/public/sdk/actions-GYsSR2Q2.js +1 -0
- package/dist/public/sdk/activeWalletSession-H9JBdHyQ.js +1 -0
- package/dist/public/sdk/adapters-D5MZ5NG5.js +2 -0
- package/dist/public/sdk/appearance-token-vars-CgYTfCKg.js +1 -0
- package/dist/public/sdk/{canonicalPrimitives-D_1HyEuJ.js → canonicalPrimitives-B6YMrI3W.js} +1 -1
- package/dist/public/sdk/{capabilityKinds-CqHVzVsJ.js → capabilityKinds-BzrNeEyO.js} +1 -1
- package/dist/public/sdk/{chains-CPmd4s9f.js → chains-gV2K9gA4.js} +1 -1
- package/dist/public/sdk/{challengeDelivery-C88JNwKf.js → challengeDelivery-FW9gYyr0.js} +1 -1
- package/dist/public/sdk/clientSessionPersistenceState-BPYK9PYV.js +1 -0
- package/dist/public/sdk/{collectAuthenticationCredentialForChallengeB64u-CSwy9csE.js → collectAuthenticationCredentialForChallengeB64u-kLIxmw3V.js} +1 -1
- package/dist/public/sdk/{commitQueue-BQPOhyGl.js → commitQueue-Bs23Rs57.js} +1 -1
- package/dist/public/sdk/configBuilder-DrxXNUpV.js +1 -0
- package/dist/public/sdk/{configHelpers-D50F_Txb.js → configHelpers-BNqoU2cv.js} +1 -1
- package/dist/public/sdk/configuration-CAqANpTI.js +1 -0
- package/dist/public/sdk/csp-stylesheet-DeuiM0Mo.js +2 -0
- package/dist/public/sdk/{display-Dtugjeya.js → display-BXjW58UF.js} +1 -1
- package/dist/public/sdk/domainIds-t1lp25yU.js +1 -0
- package/dist/public/sdk/ecdsaCapabilityManifest--FjbES8k.js +1 -0
- package/dist/public/sdk/{ecdsaChainTarget-svSlzhze.js → ecdsaChainTarget-DbLthshF.js} +1 -1
- package/dist/public/sdk/{ecdsaDerivationClientWasm-D1HzwUgV.js → ecdsaDerivationClientWasm-7Rp4TmYE.js} +1 -1
- package/dist/public/sdk/ecdsaDerivationExport-dInN7N6e.js +1 -0
- package/dist/public/sdk/{ecdsaWalletRecords-BmhuJF1y.js → ecdsaWalletRecords-BgcXXCZy.js} +1 -1
- package/dist/public/sdk/emailOtpEcdsaDerivationIdentity-CIh9IPai.js +1 -0
- package/dist/public/sdk/{enrichDisplayModelWithAbi-D0o0IL7_.js → enrichDisplayModelWithAbi-CudPUW0T.js} +1 -1
- package/dist/public/sdk/{evmCryptoWasm-S2gL5ht4.js → evmCryptoWasm-DacbCVNM.js} +1 -1
- package/dist/public/sdk/{export-viewer-host-C9n-62Pi.js → export-viewer-host-DsWOvc0t.js} +1 -1
- package/dist/public/sdk/exportKeypairOperation-BazJvSov.js +1 -0
- package/dist/{esm/sdk/helpers-BXezXx19.js → public/sdk/helpers-CXqXyyCU.js} +1 -1
- package/dist/public/sdk/host-C0Is56lU.js +1 -0
- package/dist/public/sdk/icons-DyndJzSh.js +1 -0
- package/dist/public/sdk/indexedDB-C1odKEC6.js +1 -0
- package/dist/public/sdk/intentDigest-BMXki7yB.js +1 -0
- package/dist/public/sdk/{keyMaterialEnvelope-B3v6HLtz.js → keyMaterialEnvelope-B-Q5KTJC.js} +1 -1
- package/dist/public/sdk/lanes-C7OvAK_L.js +1 -0
- package/dist/public/sdk/localOnly-BB3Rx3J6.js +1 -0
- package/dist/public/sdk/mountExportPrivateKeySurface-CV1KrFWg.js +1 -0
- package/dist/{esm/sdk/mountRecoveryCodeBackupSurface-D3QFgMGE.js → public/sdk/mountRecoveryCodeBackupSurface-CVXU1zzl.js} +2 -2
- package/dist/public/sdk/nearEd25519YaoMaterialActivation-D9cdMKIZ.js +1 -0
- package/dist/public/sdk/nearEd25519YaoSigningPreparation-D_Jvj7ht.js +1 -0
- package/dist/public/sdk/{nonceLaneKeys-CR2XEvnk.js → nonceLaneKeys-BS4fek17.js} +1 -1
- package/dist/public/sdk/{normalization-Ctkj80dW.js → normalization-BN-2VWZf.js} +1 -1
- package/dist/public/sdk/{operationFingerprint-DRPONhBD.js → operationFingerprint-Bn0lUYlm.js} +1 -1
- package/dist/public/sdk/pendingWalletRecoveryCodeBackup-lr1oISjL.js +1 -0
- package/dist/public/sdk/presignaturePool-CultzkOG.js +1 -0
- package/dist/public/sdk/{presignatures-DGLNs29C.js → presignatures-B9GrGx0L.js} +1 -1
- package/dist/public/sdk/recovery-entrypoint-QBvJBngm.js +1 -0
- package/dist/public/sdk/{recoveryAuthorization-BplZWc-N.js → recoveryAuthorization-DB-zxeHq.js} +1 -1
- package/dist/public/sdk/registration-CM5a7WYO.js +1 -0
- package/dist/public/sdk/registration-Hv0xi7-L.js +1 -0
- package/dist/public/sdk/{registrationAccounts-BfO6Ztye.js → registrationAccounts-BHikxS5q.js} +1 -1
- package/dist/public/sdk/{registrationAuthMethodInput-DKz6Mgg4.js → registrationAuthMethodInput-BvbWl0y_.js} +1 -1
- package/dist/public/sdk/registrationIntent-DTs2SR9E.js +1 -0
- package/dist/public/sdk/{registrationSignerPlan-B66FjqIp.js → registrationSignerPlan-CgbFVsAp.js} +1 -1
- package/dist/{esm/sdk/requireStepUpAuth-DsNLml1i.js → public/sdk/requireStepUpAuth-B7tC4MrA.js} +1 -1
- package/dist/public/sdk/resealedEnvelopeResult--iCVt_Bh.js +1 -0
- package/dist/public/sdk/routerAbNormalSigning-Div3lZWV.js +1 -0
- package/dist/public/sdk/router_ab_ed25519_yao_client_bg.wasm +0 -0
- package/dist/public/sdk/runtime-auth-CVw1KoVD.js +1 -0
- package/dist/public/sdk/runtime-device-link-Dp0YMZTQ.js +1 -0
- package/dist/public/sdk/runtime-ecdsa-tempo-DEIjIgEO.js +1 -0
- package/dist/public/sdk/runtime-email-otp-gsr_FsQn.js +1 -0
- package/dist/public/sdk/runtime-export-upMPrZ4V.js +1 -0
- package/dist/public/sdk/runtime-near-B64Hn3nc.js +1 -0
- package/dist/public/sdk/runtime-preferences-CULdHkbg.js +1 -0
- package/dist/public/sdk/runtime-recovery-D2saBaJy.js +1 -0
- package/dist/public/sdk/runtime-recovery-codes-Bvc0IXMJ.js +1 -0
- package/dist/public/sdk/runtimeContext-CNFJjcns.js +6 -0
- package/dist/{esm/sdk/sdkSentEvents-BzMVO1AR.js → public/sdk/sdkSentEvents-DUht3AOD.js} +1 -1
- package/dist/public/sdk/{secp256k1-CYu8ENjP.js → secp256k1-BGVlx50C.js} +1 -1
- package/dist/public/sdk/sessionObservationRevision-84ZzJ-fC.js +1 -0
- package/dist/public/sdk/shared-DcHtE-D-.js +1 -0
- package/dist/public/sdk/signEvmFamily-PjwUc5MT.js +1 -0
- package/dist/public/sdk/{signEvmFamilyWithUiConfirmForTempo-4A3D9nKv.js → signEvmFamilyWithUiConfirmForTempo-BMfC2sc2.js} +1 -1
- package/dist/public/sdk/{signEvmWithUiConfirm-lZyPfrGe.js → signEvmWithUiConfirm-BNkupz3z.js} +1 -1
- package/dist/public/sdk/signNear-r8VCOoTh.js +1 -0
- package/dist/public/sdk/{signatureUses-CY4U-X6V.js → signatureUses-DrqCoN12.js} +1 -1
- package/dist/public/sdk/signerDomain-D-EUTlLK.js +1 -0
- package/dist/public/sdk/{signerSlot-CpyIfl3J.js → signerSlot-D4ZOuK7e.js} +1 -1
- package/dist/{esm/sdk/signingFlow-Co_QtuHK.js → public/sdk/signingFlow-BVvteILM.js} +1 -1
- package/dist/public/sdk/{signingQueue-Cj9sCJLj.js → signingQueue-BJzOrwDq.js} +1 -1
- package/dist/public/sdk/surface-measurement-reporter-NUm_54LH.js +1 -0
- package/dist/{esm/sdk/thresholdEcdsa-LvkD6z8-.js → public/sdk/thresholdEcdsa-tnY83qyG.js} +1 -1
- package/dist/public/sdk/{trace-CWTzEALZ.js → trace-CGNqO1FV.js} +1 -1
- package/dist/public/sdk/{transaction-activity-CpDMkSPm.js → transaction-activity-DPq9RTh5.js} +1 -1
- package/dist/public/sdk/transactionReview-DSGnpreN.js +1 -0
- package/dist/public/sdk/transactionReviewAdmission--8tDis7M.js +1 -0
- package/dist/{esm/sdk/transactionState-BaFSiA9t.js → public/sdk/transactionState-BS1VLT7B.js} +1 -1
- package/dist/public/sdk/tx-confirm-ui.js +418 -109
- package/dist/public/sdk/types-DdzuHlAQ.js +1 -0
- package/dist/public/sdk/unlockedEd25519ExportRootCapability-D43rvO9a.js +1 -0
- package/dist/public/sdk/voiceid-host.js +1 -0
- 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-BjIQdOha.js +1 -0
- package/dist/public/sdk/wallet-ui.css +1 -1
- package/dist/public/sdk/walletAuthMethodRecord-yIqCeE-o.js +1 -0
- package/dist/public/sdk/walletCapabilityBindings-CUPk3mVH.js +1 -0
- package/dist/public/sdk/walletCustodyEcdsaContinuity-DlOBCmwb.js +1 -0
- package/dist/public/sdk/walletCustodyOperation-DzPcxEBS.js +1 -0
- package/dist/public/sdk/walletDbName-DDJXrgA5.js +1 -0
- package/dist/public/sdk/walletOwnershipGeneration-DI9ogcXF.js +1 -0
- package/dist/public/sdk/walletRecoveryAdminProof-BJxmg3f7.js +1 -0
- package/dist/public/sdk/walletRecoveryCommit-B7WsdR7y.js +1 -0
- package/dist/public/sdk/walletRegistrationSetupPrewarm-CEJCj78c.js +1 -0
- package/dist/public/sdk/walletSessionAuthorizationStatus-98G3Qji8.js +1 -0
- package/dist/{esm/sdk/walletSessionAuthorizationStore-DYRMCkiT.js → public/sdk/walletSessionAuthorizationStore-zkxcMdSp.js} +1 -1
- package/dist/public/sdk/warmSessionHydration-DqZyfi1h.js +1 -0
- package/dist/public/sdk/{webauthnP256-unqBoZCk.js → webauthnP256-BvTL8nq4.js} +1 -1
- package/dist/public/sdk/workers/device-linking-key.worker.js +93 -5
- package/dist/public/sdk/workers/ecdsa-derivation-client.worker.js +67 -65
- package/dist/public/sdk/workers/email-otp.worker.js +93 -4
- package/dist/public/sdk/workers/passkey-mpc-export.worker.js +21 -2
- package/dist/public/sdk/workers/router_ab_ed25519_yao_client_bg.wasm +0 -0
- package/dist/public/sdk/workers/wallet-custody-ceremony.worker.js +20 -2
- package/dist/public/sdk/workers/wallet_custody_ceremony_bg.wasm +0 -0
- package/dist/public/sdk/workers/wasm_signer_worker_bg.wasm +0 -0
- package/dist/public/wallet-assets.manifest.json +503 -240
- package/dist/public/wallet-service/index.html +4 -4
- package/dist/types/shared-ts/src/authorization/voiceIdDeviceAssertion.d.ts +32 -0
- package/dist/types/shared-ts/src/device-linking/committedSignerPackages.d.ts +3 -1
- package/dist/types/shared-ts/src/device-linking/contracts.d.ts +8 -0
- package/dist/types/shared-ts/src/device-linking/wireFields.d.ts +4 -4
- package/dist/types/shared-ts/src/passkey-custody/custodyEnvelope.d.ts +29 -0
- package/dist/types/shared-ts/src/passkey-custody/custodySecretBinding.d.ts +1 -0
- package/dist/types/shared-ts/src/signing-lanes/execution.d.ts +2 -2
- package/dist/types/shared-ts/src/signing-lanes/recordParsers.d.ts +2 -1
- package/dist/types/shared-ts/src/signing-lanes/records.d.ts +10 -2
- package/dist/types/shared-ts/src/signing-lanes/rotation.d.ts +2 -2
- package/dist/types/shared-ts/src/threshold/sessionPolicy.d.ts +9 -0
- package/dist/types/shared-ts/src/utils/addWalletAuthMethod.d.ts +3 -3
- package/dist/types/shared-ts/src/utils/domainIds.d.ts +4 -5
- package/dist/types/shared-ts/src/utils/registrationIntent.d.ts +0 -1
- package/dist/types/shared-ts/src/utils/signerDomain.d.ts +3 -0
- package/dist/types/shared-ts/src/utils/walletAuthAuthority.d.ts +32 -2
- package/dist/types/shared-ts/src/utils/walletAuthMethodRecord.d.ts +15 -1
- package/dist/types/shared-ts/src/utils/walletCapabilityBindings.d.ts +20 -0
- package/dist/types/wallet/src/SeamsWeb/operations/authMethods/addAuthMethodSourceClaim.d.ts +2 -2
- package/dist/types/wallet/src/SeamsWeb/publicApi/auth.d.ts +1 -1
- package/dist/types/wallet/src/SeamsWeb/publicApi/createPublicApi.d.ts +1 -1
- package/dist/types/wallet/src/SeamsWeb/publicApi/types.d.ts +22 -0
- package/dist/types/wallet/src/SeamsWeb/signingSurface/BrowserSigningSurface.d.ts +4 -0
- package/dist/types/wallet/src/SeamsWeb/signingSurface/ports.d.ts +2 -0
- package/dist/types/wallet/src/SeamsWeb/walletIframe/client/authMenuAnchor.d.ts +17 -0
- package/dist/types/wallet/src/SeamsWeb/walletIframe/client/router.d.ts +4 -0
- package/dist/types/wallet/src/SeamsWeb/walletIframe/client/surface/geometry.d.ts +0 -1
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/WalletHostRuntime.d.ts +2 -1
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/auth-menu/domain.d.ts +9 -0
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/auth-menu/session.d.ts +15 -0
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/createRegistrationCommands.d.ts +2 -1
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/createSessionCommands.d.ts +7 -2
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/requestRouter.d.ts +2 -2
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/runtimeContext.d.ts +3 -0
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/ui/auth-menu/AuthMenuSurface.d.ts +4 -0
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/ui/auth-menu/icons.d.ts +0 -1
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/ui/auth-menu/presentation.d.ts +2 -2
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/walletMutationGuard.d.ts +2 -0
- package/dist/types/wallet/src/SeamsWeb/walletIframe/shared/messages.d.ts +15 -4
- package/dist/types/wallet/src/core/authMethods/availability.d.ts +13 -0
- package/dist/types/wallet/src/core/authMethods/availabilityTypes.d.ts +13 -0
- package/dist/types/wallet/src/core/authMethods/hostPlugin.d.ts +82 -0
- package/dist/types/wallet/src/core/authMethods/hostRegistry.d.ts +5 -0
- package/dist/types/wallet/src/core/authMethods/installSession.d.ts +15 -0
- package/dist/types/wallet/src/core/authMethods/plugins.d.ts +7 -0
- package/dist/types/wallet/src/core/authMethods/prepareEcdsaSession.d.ts +6 -0
- package/dist/types/wallet/src/core/authMethods/prepareNearSession.d.ts +18 -0
- package/dist/types/wallet/src/core/authMethods/sessionIdentity.d.ts +53 -0
- package/dist/types/wallet/src/core/indexedDB/passkeyClientDB.types.d.ts +11 -1
- package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/repositories.d.ts +53 -2
- package/dist/types/wallet/src/core/indexedDB/unifiedIndexedDBManager.d.ts +1 -0
- package/dist/types/wallet/src/core/rpcClients/relayer/walletRegistration.d.ts +1 -1
- package/dist/types/wallet/src/core/signingEngine/flows/recovery/ecdsaExportMaterial.d.ts +6 -3
- package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/ecdsaSelection.d.ts +8 -2
- package/dist/types/wallet/src/core/signingEngine/session/availability/availableSigningLanes.d.ts +10 -10
- package/dist/types/wallet/src/core/signingEngine/session/identity/exactSigningLaneIdentity.d.ts +1 -1
- package/dist/types/wallet/src/core/signingEngine/session/identity/laneIdentity.d.ts +3 -1
- package/dist/types/wallet/src/core/signingEngine/session/identity/signingLaneAuthBinding.d.ts +16 -4
- package/dist/types/wallet/src/core/signingEngine/session/material/ecdsaSealedRuntime.d.ts +13 -4
- package/dist/types/wallet/src/core/signingEngine/session/material/ecdsaSigningCapability.d.ts +15 -6
- package/dist/types/wallet/src/core/signingEngine/session/operationState/lanes.d.ts +11 -4
- package/dist/types/wallet/src/core/signingEngine/session/postconditions/runtimePostconditions.d.ts +3 -3
- package/dist/types/wallet/src/core/signingEngine/session/warmCapabilities/routerAbEd25519WalletSessionState.d.ts +6 -0
- package/dist/types/wallet/src/core/signingEngine/stepUpConfirmation/methodSelection.d.ts +1 -1
- package/dist/types/wallet/src/core/signingEngine/stepUpConfirmation/requireStepUpAuth.d.ts +1 -1
- package/dist/types/wallet/src/core/signingEngine/threshold/ed25519/yaoPublicCapabilityReferences.d.ts +6 -0
- package/dist/types/wallet/src/core/signingEngine/uiConfirm/transactionReviewAdmission.d.ts +11 -1
- package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/confirm-ui-types.d.ts +2 -0
- package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/confirmation-model.d.ts +1 -1
- package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/ConfirmContent.d.ts +1 -0
- package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/ConfirmationContent.d.ts +4 -0
- package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/TransactionReview.d.ts +1 -1
- package/dist/types/wallet/src/core/signingEngine/walletCustody/passkeyLink.d.ts +2 -2
- package/dist/types/wallet/src/core/signingEngine/walletCustody/resealedEnvelopeResult.d.ts +10 -0
- package/dist/types/wallet/src/core/types/sdkSentEvents.d.ts +1 -1
- package/dist/types/wallet/src/core/types/seams.d.ts +4 -0
- package/dist/types/wallet/src/core/ui/messages.d.ts +1 -1
- package/dist/types/wallet/src/externalNear/actions.d.ts +20 -0
- package/dist/types/wallet/src/externalNear/boundary.d.ts +7 -0
- package/dist/types/wallet/src/externalNear/controller.d.ts +24 -0
- package/dist/types/wallet/src/externalNear/hot.d.ts +14 -0
- package/dist/types/wallet/src/externalNear/index.d.ts +4 -0
- package/dist/types/wallet/src/externalNear/intear.d.ts +13 -0
- package/dist/types/wallet/src/externalNear/intearPopup.d.ts +25 -0
- package/dist/types/wallet/src/externalNear/message.d.ts +14 -0
- package/dist/types/wallet/src/externalNear/meteor.d.ts +19 -0
- package/dist/types/wallet/src/externalNear/meteorRequest.d.ts +29 -0
- package/dist/types/wallet/src/externalNear/types.d.ts +87 -0
- package/dist/types/wallet/src/externalNear/wallets.d.ts +4 -0
- package/dist/types/wallet/src/index.d.ts +1 -0
- package/dist/types/wallet/src/plugins/plugin-utils.d.ts +1 -1
- package/dist/types/wallet/src/react/components/AccountMenuButton/AddEvmAccount.d.ts +29 -0
- package/dist/types/wallet/src/react/components/AccountMenuButton/AuthenticationMethodRow.d.ts +8 -3
- package/dist/types/wallet/src/react/components/AccountMenuButton/AuthenticationMethodsView.d.ts +1 -2
- package/dist/types/wallet/src/react/components/AccountMenuButton/VoiceIdAvailabilityControl.d.ts +19 -0
- package/dist/types/wallet/src/react/components/AccountMenuButton/icons/ChevronRightIcon.d.ts +2 -0
- package/dist/types/wallet/src/react/components/AccountMenuButton/icons/WalletIcon.d.ts +2 -0
- package/dist/types/wallet/src/react/externalNear.d.ts +26 -0
- package/dist/types/wallet/src/react/index.d.ts +1 -4
- package/dist/types/wallet/src/voiceid-host.d.ts +52 -0
- package/dist/workers/device-linking-key.worker.js +93 -5
- package/dist/workers/ecdsa-derivation-client.worker.js +67 -65
- package/dist/workers/email-otp.worker.js +93 -4
- package/dist/workers/passkey-mpc-export.worker.js +21 -2
- package/dist/workers/router_ab_ed25519_yao_client_bg.wasm +0 -0
- package/dist/workers/wallet-custody-ceremony.worker.js +20 -2
- package/dist/workers/wallet_custody_ceremony_bg.wasm +0 -0
- package/dist/workers/wasm_signer_worker_bg.wasm +0 -0
- package/package.json +25 -3
- package/dist/esm/plugins/SeamsWeb/walletIframe/sanitization.js +0 -18
- package/dist/esm/react/components/AccountMenuButton/icons/PlusIcon.js +0 -8
- package/dist/esm/react/components/VoiceAssistantCard.css +0 -313
- package/dist/esm/react/components/VoiceAssistantCard.js +0 -150
- package/dist/esm/sdk/ConfirmationDrawer-Ck33ZmU-.js +0 -1
- package/dist/esm/sdk/activeWalletSession-BtEHhe99.js +0 -1
- package/dist/esm/sdk/adapters-CgJpSAxH.js +0 -2
- package/dist/esm/sdk/appearance-token-vars-BA3KQyEE.js +0 -2
- package/dist/esm/sdk/clientSessionPersistenceState-DFGHXoKK.js +0 -1
- package/dist/esm/sdk/configBuilder-BMNShuOu.js +0 -1
- package/dist/esm/sdk/domainIds-C3fUa33Q.js +0 -1
- package/dist/esm/sdk/ecdsaCapabilityManifest-B3u6J5gn.js +0 -1
- package/dist/esm/sdk/ecdsaDerivationExport-DrFESeRP.js +0 -1
- package/dist/esm/sdk/emailOtpEcdsaDerivationIdentity-DreNrM6n.js +0 -1
- package/dist/esm/sdk/exportKeypairOperation-Du9HKB8f.js +0 -1
- package/dist/esm/sdk/host-DoftJdVQ.js +0 -1
- package/dist/esm/sdk/intentDigest--FZ63NBy.js +0 -1
- package/dist/esm/sdk/lanes-l274pbT5.js +0 -1
- package/dist/esm/sdk/localOnly-CvFSZFUy.js +0 -1
- package/dist/esm/sdk/mountExportPrivateKeySurface-DdJHWwqY.js +0 -1
- package/dist/esm/sdk/nearEd25519YaoMaterialActivation-BK8_DxHs.js +0 -1
- package/dist/esm/sdk/nearEd25519YaoSigningPreparation-BgCxoh9S.js +0 -1
- package/dist/esm/sdk/pendingWalletRecoveryCodeBackup-LbstFwcY.js +0 -1
- package/dist/esm/sdk/presignaturePool-DNiA3sgr.js +0 -1
- package/dist/esm/sdk/recovery-entrypoint-CNVjXz6A.js +0 -1
- package/dist/esm/sdk/registration-CIxJvbTo.js +0 -1
- package/dist/esm/sdk/registration-CeOmKyCG.js +0 -1
- package/dist/esm/sdk/registrationIntent-DW_kKWlx.js +0 -1
- package/dist/esm/sdk/routerAbNormalSigning-DSAfCcND.js +0 -1
- package/dist/esm/sdk/runtime-auth-C0V-5znH.js +0 -1
- package/dist/esm/sdk/runtime-device-link-B1jpHQSF.js +0 -1
- package/dist/esm/sdk/runtime-ecdsa-tempo-CDSZ3pxS.js +0 -1
- package/dist/esm/sdk/runtime-email-otp-DXuxFOjL.js +0 -1
- package/dist/esm/sdk/runtime-export-Ba12ChDI.js +0 -1
- package/dist/esm/sdk/runtime-near-DRrdWzmr.js +0 -1
- package/dist/esm/sdk/runtime-preferences-BWyhRaBA.js +0 -1
- package/dist/esm/sdk/runtime-recovery-DlJlaZlf.js +0 -1
- package/dist/esm/sdk/runtime-recovery-codes-CuqYWqK7.js +0 -1
- package/dist/esm/sdk/sessionObservationRevision-abErAhd6.js +0 -1
- package/dist/esm/sdk/shared-B95wnpoD.js +0 -6
- package/dist/esm/sdk/signEvmFamily-C4XMiSue.js +0 -1
- package/dist/esm/sdk/signNear-B_UcqMRf.js +0 -1
- package/dist/esm/sdk/signerDomain-YEHkugWX.js +0 -1
- package/dist/esm/sdk/surface-measurement-reporter-F-fVB7d3.js +0 -1
- package/dist/esm/sdk/transactionReviewAdmission-CNNho8IG.js +0 -1
- package/dist/esm/sdk/types-BrEW276O.js +0 -1
- package/dist/esm/sdk/wallet-recovery-BEui57xM.js +0 -1
- package/dist/esm/sdk/walletAuthMethodRecord-Cv_MYpxt.js +0 -1
- package/dist/esm/sdk/walletCapabilityBindings-CKOK39sP.js +0 -1
- package/dist/esm/sdk/walletCustodyEcdsaContinuity-5XsLsT8D.js +0 -1
- package/dist/esm/sdk/walletCustodyOperation-BO_tSfGY.js +0 -1
- package/dist/esm/sdk/walletDbName-BVZhb4xF.js +0 -1
- package/dist/esm/sdk/walletOwnershipGeneration-CQzaodhB.js +0 -1
- package/dist/esm/sdk/walletRecoveryAdminProof-CtH8_lph.js +0 -1
- package/dist/esm/sdk/walletRecoveryCommit-B_e4k5Pa.js +0 -1
- package/dist/esm/sdk/walletRegistrationSetupPrewarm-CQow9u8m.js +0 -1
- package/dist/esm/sdk/walletSessionAuthorizationStatus-_KtCVFYW.js +0 -1
- package/dist/esm/sdk/warmSessionHydration-CY9ofEGr.js +0 -1
- package/dist/public/sdk/ConfirmationDrawer-Ck33ZmU-.js +0 -1
- package/dist/public/sdk/activeWalletSession-BtEHhe99.js +0 -1
- package/dist/public/sdk/adapters-CgJpSAxH.js +0 -2
- package/dist/public/sdk/appearance-token-vars-BA3KQyEE.js +0 -2
- package/dist/public/sdk/clientSessionPersistenceState-DFGHXoKK.js +0 -1
- package/dist/public/sdk/configBuilder-BMNShuOu.js +0 -1
- package/dist/public/sdk/domainIds-C3fUa33Q.js +0 -1
- package/dist/public/sdk/ecdsaCapabilityManifest-B3u6J5gn.js +0 -1
- package/dist/public/sdk/ecdsaDerivationExport-DrFESeRP.js +0 -1
- package/dist/public/sdk/emailOtpEcdsaDerivationIdentity-DreNrM6n.js +0 -1
- package/dist/public/sdk/exportKeypairOperation-Du9HKB8f.js +0 -1
- package/dist/public/sdk/host-DoftJdVQ.js +0 -1
- package/dist/public/sdk/intentDigest--FZ63NBy.js +0 -1
- package/dist/public/sdk/lanes-l274pbT5.js +0 -1
- package/dist/public/sdk/localOnly-CvFSZFUy.js +0 -1
- package/dist/public/sdk/mountExportPrivateKeySurface-DdJHWwqY.js +0 -1
- package/dist/public/sdk/nearEd25519YaoMaterialActivation-BK8_DxHs.js +0 -1
- package/dist/public/sdk/nearEd25519YaoSigningPreparation-BgCxoh9S.js +0 -1
- package/dist/public/sdk/pendingWalletRecoveryCodeBackup-LbstFwcY.js +0 -1
- package/dist/public/sdk/presignaturePool-DNiA3sgr.js +0 -1
- package/dist/public/sdk/recovery-entrypoint-CNVjXz6A.js +0 -1
- package/dist/public/sdk/registration-CIxJvbTo.js +0 -1
- package/dist/public/sdk/registration-CeOmKyCG.js +0 -1
- package/dist/public/sdk/registrationIntent-DW_kKWlx.js +0 -1
- package/dist/public/sdk/routerAbNormalSigning-DSAfCcND.js +0 -1
- package/dist/public/sdk/runtime-auth-C0V-5znH.js +0 -1
- package/dist/public/sdk/runtime-device-link-B1jpHQSF.js +0 -1
- package/dist/public/sdk/runtime-ecdsa-tempo-CDSZ3pxS.js +0 -1
- package/dist/public/sdk/runtime-email-otp-DXuxFOjL.js +0 -1
- package/dist/public/sdk/runtime-export-Ba12ChDI.js +0 -1
- package/dist/public/sdk/runtime-near-DRrdWzmr.js +0 -1
- package/dist/public/sdk/runtime-preferences-BWyhRaBA.js +0 -1
- package/dist/public/sdk/runtime-recovery-DlJlaZlf.js +0 -1
- package/dist/public/sdk/runtime-recovery-codes-CuqYWqK7.js +0 -1
- package/dist/public/sdk/sessionObservationRevision-abErAhd6.js +0 -1
- package/dist/public/sdk/shared-B95wnpoD.js +0 -6
- package/dist/public/sdk/signEvmFamily-C4XMiSue.js +0 -1
- package/dist/public/sdk/signNear-B_UcqMRf.js +0 -1
- package/dist/public/sdk/signerDomain-YEHkugWX.js +0 -1
- package/dist/public/sdk/surface-measurement-reporter-F-fVB7d3.js +0 -1
- package/dist/public/sdk/transactionReviewAdmission-CNNho8IG.js +0 -1
- package/dist/public/sdk/types-BrEW276O.js +0 -1
- package/dist/public/sdk/wallet-recovery-BEui57xM.js +0 -1
- package/dist/public/sdk/walletAuthMethodRecord-Cv_MYpxt.js +0 -1
- package/dist/public/sdk/walletCapabilityBindings-CKOK39sP.js +0 -1
- package/dist/public/sdk/walletCustodyEcdsaContinuity-5XsLsT8D.js +0 -1
- package/dist/public/sdk/walletCustodyOperation-BO_tSfGY.js +0 -1
- package/dist/public/sdk/walletDbName-BVZhb4xF.js +0 -1
- package/dist/public/sdk/walletOwnershipGeneration-CQzaodhB.js +0 -1
- package/dist/public/sdk/walletRecoveryAdminProof-CtH8_lph.js +0 -1
- package/dist/public/sdk/walletRecoveryCommit-B_e4k5Pa.js +0 -1
- package/dist/public/sdk/walletRegistrationSetupPrewarm-CQow9u8m.js +0 -1
- package/dist/public/sdk/walletSessionAuthorizationStatus-_KtCVFYW.js +0 -1
- package/dist/public/sdk/warmSessionHydration-CY9ofEGr.js +0 -1
- package/dist/types/wallet/src/react/components/AccountMenuButton/icons/PlusIcon.d.ts +0 -2
- package/dist/types/wallet/src/react/components/VoiceAssistantCard.d.ts +0 -37
- package/dist/types/wallet/src/react/components/VoiceAssistantCard.typecheck.d.ts +0 -2
- /package/dist/esm/sdk/{accountIds-BzZs7YoX.js → accountIds-D5NI31F2.js} +0 -0
- /package/dist/esm/sdk/{appearance-ZGVLwA4N.js → appearance-DVFno9Tv.js} +0 -0
- /package/dist/esm/sdk/{authenticatorOptions-BB_sU4uA.js → authenticatorOptions-EF_Rps52.js} +0 -0
- /package/dist/esm/sdk/{authorizationAdmission-D7nx2n4d.js → authorizationAdmission-DbhNiY3X.js} +0 -0
- /package/dist/esm/sdk/{browser-DkCRXFkk.js → browser-B2RI00tM.js} +0 -0
- /package/dist/esm/sdk/{bytes-Cv07P0Pu.js → bytes-DVe42j_r.js} +0 -0
- /package/dist/esm/sdk/{canonicalSignerErrorCode-CqHi6ji6.js → canonicalSignerErrorCode-AwNMAn8S.js} +0 -0
- /package/dist/esm/sdk/{errors-CI1xdN0d.js → errors-ADOZT8oV.js} +0 -0
- /package/dist/esm/sdk/{executeWorkerOperation-S6glYwAs.js → executeWorkerOperation-B-9JuL55.js} +0 -0
- /package/dist/esm/sdk/{jsonRpc-B5zMY6lE.js → jsonRpc-CHutSlC9.js} +0 -0
- /package/dist/esm/sdk/{keccak-CaPOCznk.js → keccak-C9kCkZem.js} +0 -0
- /package/dist/esm/sdk/{normalization-CpLZcL2f.js → normalization-DtruiNPw.js} +0 -0
- /package/dist/esm/sdk/{prfCache-D25ZCg5n.js → prfCache-8Wm3etlV.js} +0 -0
- /package/dist/esm/sdk/{profileAccountProjection-C1z9sKHa.js → profileAccountProjection-D01e10UY.js} +0 -0
- /package/dist/esm/sdk/{promptText-D2f5Rg0h.js → promptText-Bz3YRl9D.js} +0 -0
- /package/dist/esm/sdk/{signer-worker-Bh_5foqX.js → signer-worker-DlK58rEA.js} +0 -0
- /package/dist/esm/sdk/{types-BNUuaUtl.js → types-fJKfUgTi.js} +0 -0
- /package/dist/esm/sdk/{walletIframeIdentity-DJ0KOBHg.js → walletIframeIdentity-Cz82I_Uh.js} +0 -0
- /package/dist/esm/sdk/{walletSessionAuthorizationProjection-UdGeS6x3.js → walletSessionAuthorizationProjection-BJgnZaBc.js} +0 -0
- /package/dist/esm/sdk/{walletSessionFailure-Ct412mDZ.js → walletSessionFailure-CLUIF3Eh.js} +0 -0
- /package/dist/esm/sdk/{webauthnPromptCoordinator-CBkTiMP0.js → webauthnPromptCoordinator-CU9ag7vz.js} +0 -0
- /package/dist/public/sdk/{accountIds-BzZs7YoX.js → accountIds-D5NI31F2.js} +0 -0
- /package/dist/public/sdk/{appearance-ZGVLwA4N.js → appearance-DVFno9Tv.js} +0 -0
- /package/dist/public/sdk/{authenticatorOptions-BB_sU4uA.js → authenticatorOptions-EF_Rps52.js} +0 -0
- /package/dist/public/sdk/{authorizationAdmission-D7nx2n4d.js → authorizationAdmission-DbhNiY3X.js} +0 -0
- /package/dist/public/sdk/{browser-DkCRXFkk.js → browser-B2RI00tM.js} +0 -0
- /package/dist/public/sdk/{bytes-Cv07P0Pu.js → bytes-DVe42j_r.js} +0 -0
- /package/dist/public/sdk/{canonicalSignerErrorCode-CqHi6ji6.js → canonicalSignerErrorCode-AwNMAn8S.js} +0 -0
- /package/dist/public/sdk/{errors-CI1xdN0d.js → errors-ADOZT8oV.js} +0 -0
- /package/dist/public/sdk/{executeWorkerOperation-S6glYwAs.js → executeWorkerOperation-B-9JuL55.js} +0 -0
- /package/dist/public/sdk/{jsonRpc-B5zMY6lE.js → jsonRpc-CHutSlC9.js} +0 -0
- /package/dist/public/sdk/{keccak-CaPOCznk.js → keccak-C9kCkZem.js} +0 -0
- /package/dist/public/sdk/{normalization-CpLZcL2f.js → normalization-DtruiNPw.js} +0 -0
- /package/dist/public/sdk/{prfCache-D25ZCg5n.js → prfCache-8Wm3etlV.js} +0 -0
- /package/dist/public/sdk/{profileAccountProjection-C1z9sKHa.js → profileAccountProjection-D01e10UY.js} +0 -0
- /package/dist/public/sdk/{promptText-D2f5Rg0h.js → promptText-Bz3YRl9D.js} +0 -0
- /package/dist/public/sdk/{signer-worker-Bh_5foqX.js → signer-worker-DlK58rEA.js} +0 -0
- /package/dist/public/sdk/{types-BNUuaUtl.js → types-fJKfUgTi.js} +0 -0
- /package/dist/public/sdk/{walletIframeIdentity-DJ0KOBHg.js → walletIframeIdentity-Cz82I_Uh.js} +0 -0
- /package/dist/public/sdk/{walletSessionAuthorizationProjection-UdGeS6x3.js → walletSessionAuthorizationProjection-BJgnZaBc.js} +0 -0
- /package/dist/public/sdk/{walletSessionFailure-Ct412mDZ.js → walletSessionFailure-CLUIF3Eh.js} +0 -0
- /package/dist/public/sdk/{webauthnPromptCoordinator-CBkTiMP0.js → webauthnPromptCoordinator-CU9ag7vz.js} +0 -0
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { requireRecord, requireTrimmedString } from "../../../../shared-ts/src/utils/validation.js";
|
|
2
|
+
import { parseThresholdEd25519SessionId } from "../../../../shared-ts/src/utils/domainIds.js";
|
|
3
|
+
import { normalizeRuntimePolicyScope } from "../../../../shared-ts/src/threshold/signingRootScope.js";
|
|
4
|
+
import { routerAbMpcMaterialActivationRefFromWire } from "../../../../shared-ts/src/utils/routerAbNormalSigningIdentity.js";
|
|
5
|
+
import { parseRouterAbEd25519YaoRegistrationActivationAdmissionReceiptV1, parseRouterAbEd25519YaoRegistrationAdmissionRequestV1 } from "../../../../shared-ts/src/utils/routerAbEd25519Yao.js";
|
|
6
|
+
import { toAccountId } from "../../../types/accountIds.js";
|
|
7
|
+
//#region src/core/signingEngine/session/passkey/ed25519YaoRecoveryCapability.ts
|
|
8
|
+
function requirePositiveInteger(value, label) {
|
|
9
|
+
if (typeof value !== "number" || !Number.isSafeInteger(value) || value < 1) throw new Error(`${label} must be a positive integer`);
|
|
10
|
+
return value;
|
|
11
|
+
}
|
|
12
|
+
function requireThresholdEd25519SessionId(value, label) {
|
|
13
|
+
const parsed = parseThresholdEd25519SessionId(value);
|
|
14
|
+
if (!parsed.ok) throw new Error(`${label} is invalid`);
|
|
15
|
+
return parsed.value;
|
|
16
|
+
}
|
|
17
|
+
function requireBytes32(value, label) {
|
|
18
|
+
if (!Array.isArray(value) || value.length !== 32) throw new Error(`${label} must contain exactly 32 bytes`);
|
|
19
|
+
const bytes = [];
|
|
20
|
+
for (const byte of value) {
|
|
21
|
+
if (typeof byte !== "number" || !Number.isInteger(byte) || byte < 0 || byte > 255) throw new Error(`${label} must contain exactly 32 bytes`);
|
|
22
|
+
bytes.push(byte);
|
|
23
|
+
}
|
|
24
|
+
return Object.freeze(bytes);
|
|
25
|
+
}
|
|
26
|
+
function requireBytes(value, label) {
|
|
27
|
+
if (!Array.isArray(value) || value.length === 0) throw new Error(`${label} must contain bytes`);
|
|
28
|
+
return value.map((byte) => {
|
|
29
|
+
if (typeof byte !== "number" || !Number.isInteger(byte) || byte < 0 || byte > 255) throw new Error(`${label} must contain bytes`);
|
|
30
|
+
return byte;
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
function requireParticipantIds(value) {
|
|
34
|
+
if (!Array.isArray(value) || value.length !== 2 || !Number.isSafeInteger(value[0]) || !Number.isSafeInteger(value[1]) || value[0] < 1 || value[1] < 1 || value[0] === value[1]) throw new Error("participantIds must contain two distinct positive integers");
|
|
35
|
+
return [Number(value[0]), Number(value[1])];
|
|
36
|
+
}
|
|
37
|
+
function parseRegistrationContinuity(value) {
|
|
38
|
+
const record = requireRecord(value, "capability.registrationContinuity");
|
|
39
|
+
if (record.kind === "recovery") return {
|
|
40
|
+
kind: "recovery",
|
|
41
|
+
activationTranscript: requireBytes(record.activationTranscript, "capability.registrationContinuity.activationTranscript")
|
|
42
|
+
};
|
|
43
|
+
if (record.kind !== "registration") throw new Error("capability.registrationContinuity kind is invalid");
|
|
44
|
+
const admissionRequest = parseRouterAbEd25519YaoRegistrationAdmissionRequestV1(record.admissionRequest);
|
|
45
|
+
const admissionReceipt = parseRouterAbEd25519YaoRegistrationActivationAdmissionReceiptV1(record.admissionReceipt);
|
|
46
|
+
if (!admissionRequest.ok) throw new Error(`capability registration continuity transcript is invalid: ${admissionRequest.message}`);
|
|
47
|
+
if (!admissionReceipt.ok) throw new Error(`capability registration continuity transcript is invalid: ${admissionReceipt.message}`);
|
|
48
|
+
return {
|
|
49
|
+
kind: "registration",
|
|
50
|
+
admissionRequest: admissionRequest.value,
|
|
51
|
+
admissionReceipt: admissionReceipt.value,
|
|
52
|
+
activationTranscript: requireBytes(record.activationTranscript, "capability.registrationContinuity.activationTranscript")
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
function parseEd25519YaoRecoveryCapabilityV1(raw) {
|
|
56
|
+
const record = requireRecord(raw, "capability");
|
|
57
|
+
if (record.kind !== "router_ab_ed25519_yao_active_capability_v1") throw new Error("Yao recovery capability kind is invalid");
|
|
58
|
+
const application = requireRecord(record.applicationBinding, "capability.applicationBinding");
|
|
59
|
+
const lifecycle = requireRecord(record.lifecycle, "capability.lifecycle");
|
|
60
|
+
let materialActivation;
|
|
61
|
+
try {
|
|
62
|
+
materialActivation = routerAbMpcMaterialActivationRefFromWire(record.materialActivation);
|
|
63
|
+
} catch (error) {
|
|
64
|
+
throw new Error(`capability.materialActivation is invalid: ${error instanceof Error ? error.message : String(error)}`);
|
|
65
|
+
}
|
|
66
|
+
return {
|
|
67
|
+
materialActivation,
|
|
68
|
+
activeCapabilityBinding: requireBytes32(record.activeCapabilityBinding, "capability.activeCapabilityBinding"),
|
|
69
|
+
registeredPublicKey: requireBytes32(record.registeredPublicKey, "capability.registeredPublicKey"),
|
|
70
|
+
nearAccountId: toAccountId(requireTrimmedString(record.nearAccountId, "capability.nearAccountId")),
|
|
71
|
+
applicationBinding: {
|
|
72
|
+
wallet_id: requireTrimmedString(application.wallet_id, "applicationBinding.wallet_id"),
|
|
73
|
+
near_ed25519_signing_key_id: requireTrimmedString(application.near_ed25519_signing_key_id, "applicationBinding.near_ed25519_signing_key_id"),
|
|
74
|
+
signing_root_id: requireTrimmedString(application.signing_root_id, "applicationBinding.signing_root_id"),
|
|
75
|
+
key_creation_signer_slot: requirePositiveInteger(application.key_creation_signer_slot, "applicationBinding.key_creation_signer_slot")
|
|
76
|
+
},
|
|
77
|
+
participantIds: requireParticipantIds(record.participantIds),
|
|
78
|
+
runtimePolicyScope: normalizeRuntimePolicyScope(requireRecord(record.runtimePolicyScope, "capability.runtimePolicyScope")),
|
|
79
|
+
lifecycle: {
|
|
80
|
+
lifecycleId: requireTrimmedString(lifecycle.lifecycleId, "lifecycle.lifecycleId"),
|
|
81
|
+
rootShareEpoch: requireTrimmedString(lifecycle.rootShareEpoch, "lifecycle.rootShareEpoch"),
|
|
82
|
+
accountId: requireTrimmedString(lifecycle.accountId, "lifecycle.accountId"),
|
|
83
|
+
thresholdSessionId: requireThresholdEd25519SessionId(requireTrimmedString(lifecycle.thresholdSessionId, "lifecycle.thresholdSessionId"), "lifecycle.thresholdSessionId"),
|
|
84
|
+
signerSetId: requireTrimmedString(lifecycle.signerSetId, "lifecycle.signerSetId"),
|
|
85
|
+
signingWorkerId: requireTrimmedString(lifecycle.signingWorkerId, "lifecycle.signingWorkerId")
|
|
86
|
+
},
|
|
87
|
+
stateEpoch: requirePositiveInteger(record.stateEpoch, "capability.stateEpoch"),
|
|
88
|
+
registrationContinuity: parseRegistrationContinuity(record.registrationContinuity)
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
//#endregion
|
|
92
|
+
export { parseEd25519YaoRecoveryCapabilityV1 };
|
|
93
|
+
|
|
94
|
+
//# sourceMappingURL=ed25519YaoRecoveryCapability.js.map
|
|
@@ -11,6 +11,7 @@ var StepUpMethodSelectionError = class extends Error {
|
|
|
11
11
|
};
|
|
12
12
|
function methodFromPolicy(selectedLane, policy) {
|
|
13
13
|
if (policy.kind === "reuse_warm_session") return "warm_session";
|
|
14
|
+
if (selectedLane.authMethod === "voiceid") throw new Error("Unlock with VoiceID again before signing.");
|
|
14
15
|
if (policy.kind === "force_method") return policy.method;
|
|
15
16
|
return selectedLane.authMethod;
|
|
16
17
|
}
|
|
@@ -63,6 +63,8 @@ const HUG_TOLERANCE_CSS_PX = 1;
|
|
|
63
63
|
const ANNOUNCE_SAFETY_MS = 1500;
|
|
64
64
|
/** Height changes below this are not worth a motion, and round to nothing. */
|
|
65
65
|
const MIN_ANNOUNCED_DELTA_CSS_PX = 1;
|
|
66
|
+
/** How long a surface that no host resizes takes to ease to its new height. */
|
|
67
|
+
const OWN_RESIZE_MS = 200;
|
|
66
68
|
/**
|
|
67
69
|
* Offer a height change to the surrounding surface before making it.
|
|
68
70
|
*
|
|
@@ -146,7 +148,7 @@ function createSurfaceHeightReflow(args) {
|
|
|
146
148
|
element.classList.remove(CONFIRM_SURFACE_HEIGHT_DRIVEN_CLASS);
|
|
147
149
|
const toCssPx = element.getBoundingClientRect().height;
|
|
148
150
|
element.classList.add(CONFIRM_SURFACE_HEIGHT_DRIVEN_CLASS);
|
|
149
|
-
if (
|
|
151
|
+
if (announceClampedSurfaceResize({
|
|
150
152
|
...args.reason ? { reason: args.reason } : {},
|
|
151
153
|
element,
|
|
152
154
|
fromCssPx,
|
|
@@ -155,13 +157,28 @@ function createSurfaceHeightReflow(args) {
|
|
|
155
157
|
onSettled: () => {
|
|
156
158
|
clampedElement = null;
|
|
157
159
|
}
|
|
158
|
-
}))
|
|
160
|
+
})) return;
|
|
161
|
+
release();
|
|
162
|
+
easeOwnHeight(element, fromCssPx, toCssPx);
|
|
159
163
|
});
|
|
160
164
|
},
|
|
161
165
|
dispose: release
|
|
162
166
|
};
|
|
163
167
|
}
|
|
164
168
|
/**
|
|
169
|
+
* With no host to ease the box, the element eases its own height, on the auth
|
|
170
|
+
* menu's resize duration and settle curve, so a change of content never snaps
|
|
171
|
+
* the card. Reduced motion keeps the snap.
|
|
172
|
+
*/
|
|
173
|
+
function easeOwnHeight(element, fromCssPx, toCssPx) {
|
|
174
|
+
if (Math.abs(toCssPx - fromCssPx) < MIN_ANNOUNCED_DELTA_CSS_PX) return;
|
|
175
|
+
if (window.matchMedia("(prefers-reduced-motion: reduce)").matches) return;
|
|
176
|
+
element.animate([{ height: `${fromCssPx}px` }, { height: `${toCssPx}px` }], {
|
|
177
|
+
duration: OWN_RESIZE_MS,
|
|
178
|
+
easing: "cubic-bezier(0.32, 0.72, 0, 1)"
|
|
179
|
+
});
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
165
182
|
* Clamp an element at its pre-change height, announce the change, and release
|
|
166
183
|
* the clamp when the motion lands. This is the call every height change in a
|
|
167
184
|
* confirmation goes through, because the clamp has to be in place *before* the
|
|
@@ -69,6 +69,7 @@ function normalizeConfirmationModel(input) {
|
|
|
69
69
|
appearance: input.appearance,
|
|
70
70
|
content: {
|
|
71
71
|
kind: "transaction",
|
|
72
|
+
capture: source.authMethodCapture ?? null,
|
|
72
73
|
review: {
|
|
73
74
|
model: source.model ?? null,
|
|
74
75
|
tree: input.tree
|
|
@@ -97,7 +98,8 @@ function normalizeConfirmationModel(input) {
|
|
|
97
98
|
cancelText,
|
|
98
99
|
errorMessage,
|
|
99
100
|
onCancel: input.callbacks.cancel,
|
|
100
|
-
onBack: source.onBack
|
|
101
|
+
onBack: source.onBack,
|
|
102
|
+
authMethodApprovalMessage: source.authMethodApprovalMessage
|
|
101
103
|
}
|
|
102
104
|
}
|
|
103
105
|
}
|
|
@@ -104,6 +104,12 @@ var ConfirmContent = class extends Component {
|
|
|
104
104
|
onCopy: this.props.onCopy
|
|
105
105
|
})
|
|
106
106
|
}),
|
|
107
|
+
this.props.authMethodApprovalMessage && /* @__PURE__ */ jsx("p", {
|
|
108
|
+
class: "seams-voiceid-instructions",
|
|
109
|
+
"data-seams-voice-id": "required",
|
|
110
|
+
role: "status",
|
|
111
|
+
children: this.props.authMethodApprovalMessage
|
|
112
|
+
}),
|
|
107
113
|
/* @__PURE__ */ jsxs("div", {
|
|
108
114
|
class: "actions",
|
|
109
115
|
children: [!this.props.cancelInHeader && /* @__PURE__ */ jsx("button", {
|
|
@@ -65,35 +65,25 @@ var ConfirmationContent = class extends Component {
|
|
|
65
65
|
kind: "form",
|
|
66
66
|
formId: this.otpFormId
|
|
67
67
|
} : model.transaction.decision;
|
|
68
|
+
if (model.capture) return /* @__PURE__ */ jsx("div", {
|
|
69
|
+
ref: this.root,
|
|
70
|
+
class: contentClass,
|
|
71
|
+
children: /* @__PURE__ */ jsxs("div", {
|
|
72
|
+
class: "seams-review-content seams-review-content--capture",
|
|
73
|
+
children: [
|
|
74
|
+
this.props.variant !== "drawer" && this.renderToolbar(model, decision),
|
|
75
|
+
/* @__PURE__ */ jsx(AuthMethodCapture, { element: model.capture }),
|
|
76
|
+
/* @__PURE__ */ jsx(WalletReceiptFooter, {})
|
|
77
|
+
]
|
|
78
|
+
})
|
|
79
|
+
});
|
|
68
80
|
return /* @__PURE__ */ jsx("div", {
|
|
69
81
|
ref: this.root,
|
|
70
82
|
class: contentClass,
|
|
71
83
|
children: /* @__PURE__ */ jsxs("div", {
|
|
72
84
|
class: "seams-review-content",
|
|
73
85
|
children: [
|
|
74
|
-
this.props.variant !== "drawer" &&
|
|
75
|
-
class: "seams-review-toolbar",
|
|
76
|
-
children: [/* @__PURE__ */ jsxs("div", {
|
|
77
|
-
class: "seams-review-origin",
|
|
78
|
-
children: [
|
|
79
|
-
model.transaction.onBack && /* @__PURE__ */ jsx("button", {
|
|
80
|
-
type: "button",
|
|
81
|
-
"aria-label": walletText(this.context, "Back to review"),
|
|
82
|
-
title: walletText(this.context, "Back to review"),
|
|
83
|
-
disabled: decision.kind === "preparing",
|
|
84
|
-
onClick: model.transaction.onBack,
|
|
85
|
-
children: /* @__PURE__ */ jsx(ReviewIcon, { kind: "back" })
|
|
86
|
-
}),
|
|
87
|
-
/* @__PURE__ */ jsx(PadlockIcon, {}),
|
|
88
|
-
model.header.website.kind === "ready" ? model.header.website.text : /* @__PURE__ */ jsx(LoadingStatus, { label: walletText(this.context, "Loading website") })
|
|
89
|
-
]
|
|
90
|
-
}), /* @__PURE__ */ jsx("button", {
|
|
91
|
-
type: "button",
|
|
92
|
-
"aria-label": walletDisplayText(this.context, model.transaction.cancelText),
|
|
93
|
-
onClick: model.transaction.onCancel,
|
|
94
|
-
children: /* @__PURE__ */ jsx(ReviewIcon, { kind: "close" })
|
|
95
|
-
})]
|
|
96
|
-
}),
|
|
86
|
+
this.props.variant !== "drawer" && this.renderToolbar(model, decision),
|
|
97
87
|
model.review.model && /* @__PURE__ */ jsx("div", {
|
|
98
88
|
class: "seams-review-eyebrow",
|
|
99
89
|
children: model.review.model.operations.length === 1 ? /* @__PURE__ */ jsx(WalletText, { copy: model.review.model.operations[0].label.replace(/\s+using\s+[\d,.]+\s+gas$/i, "") }) : /* @__PURE__ */ jsx(WalletText, { message: "Transaction" })
|
|
@@ -126,11 +116,57 @@ var ConfirmationContent = class extends Component {
|
|
|
126
116
|
})
|
|
127
117
|
});
|
|
128
118
|
}
|
|
119
|
+
/** The origin the request came from, with the review's back and close controls. */
|
|
120
|
+
renderToolbar(model, decision) {
|
|
121
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
122
|
+
class: "seams-review-toolbar",
|
|
123
|
+
children: [/* @__PURE__ */ jsxs("div", {
|
|
124
|
+
class: "seams-review-origin",
|
|
125
|
+
children: [
|
|
126
|
+
model.transaction.onBack && /* @__PURE__ */ jsx("button", {
|
|
127
|
+
type: "button",
|
|
128
|
+
"aria-label": walletText(this.context, "Back to review"),
|
|
129
|
+
title: walletText(this.context, "Back to review"),
|
|
130
|
+
disabled: decision.kind === "preparing",
|
|
131
|
+
onClick: model.transaction.onBack,
|
|
132
|
+
children: /* @__PURE__ */ jsx(ReviewIcon, { kind: "back" })
|
|
133
|
+
}),
|
|
134
|
+
/* @__PURE__ */ jsx(PadlockIcon, {}),
|
|
135
|
+
model.header.website.kind === "ready" ? model.header.website.text : /* @__PURE__ */ jsx(LoadingStatus, { label: walletText(this.context, "Loading website") })
|
|
136
|
+
]
|
|
137
|
+
}), /* @__PURE__ */ jsx("button", {
|
|
138
|
+
type: "button",
|
|
139
|
+
"aria-label": walletDisplayText(this.context, model.transaction.cancelText),
|
|
140
|
+
onClick: model.transaction.onCancel,
|
|
141
|
+
children: /* @__PURE__ */ jsx(ReviewIcon, { kind: "close" })
|
|
142
|
+
})]
|
|
143
|
+
});
|
|
144
|
+
}
|
|
129
145
|
};
|
|
130
146
|
function ignoreCopyFailure() {}
|
|
131
147
|
function assertNever(value) {
|
|
132
148
|
throw new Error(`Unexpected confirmation content: ${String(value)}`);
|
|
133
149
|
}
|
|
150
|
+
/** The lazy auth plugin owns its contents; the Wallet retains the modal and cancellation. */
|
|
151
|
+
var AuthMethodCapture = class extends Component {
|
|
152
|
+
container = createRef();
|
|
153
|
+
componentDidMount() {
|
|
154
|
+
this.container.current?.append(this.props.element);
|
|
155
|
+
this.props.element.querySelector("button")?.focus();
|
|
156
|
+
}
|
|
157
|
+
componentDidUpdate(previous) {
|
|
158
|
+
if (previous.element !== this.props.element) this.container.current?.replaceChildren(this.props.element);
|
|
159
|
+
}
|
|
160
|
+
componentWillUnmount() {
|
|
161
|
+
this.props.element.remove();
|
|
162
|
+
}
|
|
163
|
+
render() {
|
|
164
|
+
return /* @__PURE__ */ jsx("div", {
|
|
165
|
+
ref: this.container,
|
|
166
|
+
class: "seams-auth-method-capture"
|
|
167
|
+
});
|
|
168
|
+
}
|
|
169
|
+
};
|
|
134
170
|
//#endregion
|
|
135
171
|
export { ConfirmationContent };
|
|
136
172
|
|
|
@@ -33,11 +33,24 @@ var ReviewDisclosure = class extends Component {
|
|
|
33
33
|
confirmationDocumentStyles(details.ownerDocument).setDynamicDeclarations(this.id, `#${this.id}`, { "--seams-review-disclosure-height": `${height}px` });
|
|
34
34
|
};
|
|
35
35
|
finish = () => {
|
|
36
|
+
const local = this.motion?.kind === "local";
|
|
36
37
|
if (this.root.current && this.motion) {
|
|
37
38
|
this.root.current.open = this.motion.opening;
|
|
38
39
|
this.root.current.removeAttribute("data-closing");
|
|
39
40
|
}
|
|
40
41
|
this.clearMotion();
|
|
42
|
+
if (local) {
|
|
43
|
+
const surface = this.root.current?.closest(".seams-confirmation-surface");
|
|
44
|
+
const focused = surface?.ownerDocument.activeElement;
|
|
45
|
+
if (focused instanceof HTMLElement && focused.tabIndex >= 0 && surface?.contains(focused)) {
|
|
46
|
+
const bounds = focused.getBoundingClientRect();
|
|
47
|
+
const viewportHeight = focused.ownerDocument.documentElement.clientHeight;
|
|
48
|
+
if (bounds.top < 0 || bounds.bottom > viewportHeight) focused.scrollIntoView({
|
|
49
|
+
block: "center",
|
|
50
|
+
inline: "nearest"
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
}
|
|
41
54
|
};
|
|
42
55
|
toggle = (event) => {
|
|
43
56
|
const details = this.root.current;
|
|
@@ -16,7 +16,6 @@ function ReviewIcon({ kind }) {
|
|
|
16
16
|
minimize: "M5 12h14",
|
|
17
17
|
check: "m5 12 4 4L19 6",
|
|
18
18
|
arrow: "M7 17 17 7M7 7h10v10",
|
|
19
|
-
shield: "M12 3 4.5 6v5.5c0 4.2 2.7 7.4 7.5 9.5 4.8-2.1 7.5-5.3 7.5-9.5V6L12 3Z M8.5 11.5l2.5 2.5 4.5-5",
|
|
20
19
|
copy: "M8 8h12v12H8ZM4 16V4h12",
|
|
21
20
|
loader: "M12 3a9 9 0 1 1-9 9",
|
|
22
21
|
alert: "M12 8v5m0 3v.1M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0",
|
|
@@ -35,6 +34,8 @@ function ReviewIcon({ kind }) {
|
|
|
35
34
|
}
|
|
36
35
|
function reviewNetwork(model) {
|
|
37
36
|
if (!model) return "Wallet transaction";
|
|
37
|
+
if (model.chain === "evm" && model.chainId === 5042) return "Arc";
|
|
38
|
+
if (model.chain === "evm" && model.chainId === 5042002) return "Arc Testnet";
|
|
38
39
|
if (model.chain === "evm" && model.chainId === 8453) return "Base";
|
|
39
40
|
if (model.chain === "evm" && model.chainId === 84532) return "Base Sepolia";
|
|
40
41
|
if (model.chain === "evm" && model.chainId === 1) return "Ethereum";
|
|
@@ -57,6 +58,27 @@ function ReviewMiddleTruncated({ value, class: className }) {
|
|
|
57
58
|
});
|
|
58
59
|
}
|
|
59
60
|
function TokenIcon({ symbol }) {
|
|
61
|
+
if (symbol === "NEAR") return /* @__PURE__ */ jsxs("svg", {
|
|
62
|
+
class: "seams-review-token",
|
|
63
|
+
viewBox: "0 0 48 48",
|
|
64
|
+
"aria-hidden": "true",
|
|
65
|
+
children: [/* @__PURE__ */ jsx("circle", {
|
|
66
|
+
cx: "24",
|
|
67
|
+
cy: "24",
|
|
68
|
+
r: "24",
|
|
69
|
+
fill: "#000"
|
|
70
|
+
}), /* @__PURE__ */ jsx("svg", {
|
|
71
|
+
x: "9",
|
|
72
|
+
y: "9",
|
|
73
|
+
width: "30",
|
|
74
|
+
height: "30",
|
|
75
|
+
viewBox: "108 108 351 351",
|
|
76
|
+
children: /* @__PURE__ */ jsx("path", {
|
|
77
|
+
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",
|
|
78
|
+
fill: "#fff"
|
|
79
|
+
})
|
|
80
|
+
})]
|
|
81
|
+
});
|
|
60
82
|
if (symbol === "ETH") return /* @__PURE__ */ jsxs("svg", {
|
|
61
83
|
class: "seams-review-token",
|
|
62
84
|
viewBox: "0 0 42 42",
|
|
@@ -84,19 +106,27 @@ function TokenIcon({ symbol }) {
|
|
|
84
106
|
});
|
|
85
107
|
if (symbol === "USDC") return /* @__PURE__ */ jsxs("svg", {
|
|
86
108
|
class: "seams-review-token",
|
|
87
|
-
viewBox: "0 0
|
|
109
|
+
viewBox: "0 0 96 96",
|
|
110
|
+
fill: "none",
|
|
88
111
|
"aria-hidden": "true",
|
|
89
|
-
children: [
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
"
|
|
99
|
-
|
|
112
|
+
children: [
|
|
113
|
+
/* @__PURE__ */ jsx("path", {
|
|
114
|
+
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",
|
|
115
|
+
fill: "#0B53BF"
|
|
116
|
+
}),
|
|
117
|
+
/* @__PURE__ */ jsx("path", {
|
|
118
|
+
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",
|
|
119
|
+
fill: "white"
|
|
120
|
+
}),
|
|
121
|
+
/* @__PURE__ */ jsx("path", {
|
|
122
|
+
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",
|
|
123
|
+
fill: "white"
|
|
124
|
+
}),
|
|
125
|
+
/* @__PURE__ */ jsx("path", {
|
|
126
|
+
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",
|
|
127
|
+
fill: "white"
|
|
128
|
+
})
|
|
129
|
+
]
|
|
100
130
|
});
|
|
101
131
|
return /* @__PURE__ */ jsx("span", {
|
|
102
132
|
class: "seams-review-token seams-review-token-fallback",
|
|
@@ -109,7 +139,7 @@ function ReviewAmount({ model, compact = false }) {
|
|
|
109
139
|
if (!amount) return null;
|
|
110
140
|
return /* @__PURE__ */ jsxs("div", {
|
|
111
141
|
class: `seams-review-amount${compact ? " seams-review-amount--compact" : ""}`,
|
|
112
|
-
children: [
|
|
142
|
+
children: [/* @__PURE__ */ jsx(TokenIcon, { symbol: amount.symbol }), /* @__PURE__ */ jsxs("div", { children: [
|
|
113
143
|
/* @__PURE__ */ jsx("span", { children: amount.value }),
|
|
114
144
|
" ",
|
|
115
145
|
/* @__PURE__ */ jsx("small", { children: amount.symbol })
|
|
@@ -120,8 +150,6 @@ function WalletReceiptFooter() {
|
|
|
120
150
|
return /* @__PURE__ */ jsxs("div", {
|
|
121
151
|
class: "seams-receipt-footer",
|
|
122
152
|
children: [
|
|
123
|
-
/* @__PURE__ */ jsx(ReviewIcon, { kind: "shield" }),
|
|
124
|
-
" ",
|
|
125
153
|
/* @__PURE__ */ jsx("span", { children: /* @__PURE__ */ jsx(WalletText, { message: "Secured by" }) }),
|
|
126
154
|
" ",
|
|
127
155
|
/* @__PURE__ */ jsx(SeamsWordmark, {})
|
|
@@ -141,6 +169,10 @@ function reviewAmount(model) {
|
|
|
141
169
|
value: decimalUnits(total.nativeValue, 24),
|
|
142
170
|
symbol: "NEAR"
|
|
143
171
|
};
|
|
172
|
+
if (model?.chain === "evm" && (model.chainId === 5042 || model.chainId === 5042002) && total.nativeSymbol === "wei") return {
|
|
173
|
+
value: decimalUnits(total.nativeValue, 18),
|
|
174
|
+
symbol: "USDC"
|
|
175
|
+
};
|
|
144
176
|
return {
|
|
145
177
|
value: total.nativeValue,
|
|
146
178
|
symbol: total.nativeSymbol ?? ""
|
|
@@ -12,12 +12,24 @@ import { render } from "preact";
|
|
|
12
12
|
import { Fragment as Fragment$1, jsx, jsxs } from "preact/jsx-runtime";
|
|
13
13
|
//#region src/core/signingEngine/uiConfirm/ui/preact/mountConfirmationSurface.tsx
|
|
14
14
|
/** @jsxImportSource preact */
|
|
15
|
-
const RECEIPT_MORPH_DURATION_MS =
|
|
15
|
+
const RECEIPT_MORPH_DURATION_MS = 640;
|
|
16
|
+
/** A replaced auth method capture's copy fades first, where it is. */
|
|
17
|
+
const CAPTURE_FADE_MS = 160;
|
|
18
|
+
/** Then its progress segments travel, evenly, into the receipt's tracks. */
|
|
19
|
+
const SEGMENT_DELAY_MS = 120;
|
|
20
|
+
const SEGMENT_TRAVEL_MS = 800;
|
|
21
|
+
const SEGMENT_EASING = "cubic-bezier(0.65, 0, 0.35, 1)";
|
|
22
|
+
/** The receipt's details follow the fade top to bottom; the steps settle as the segments land. */
|
|
23
|
+
const HANDED_DETAIL_DELAY_MS = 200;
|
|
24
|
+
const HANDED_DETAIL_STAGGER_MS = 40;
|
|
25
|
+
const HANDED_DETAIL_FADE_MS = 360;
|
|
26
|
+
const HANDED_STEPS_DELAY_MS = SEGMENT_DELAY_MS + SEGMENT_TRAVEL_MS - HANDED_DETAIL_FADE_MS;
|
|
16
27
|
const RECEIPT_MORPH_EASING = "cubic-bezier(0.22, 1, 0.36, 1)";
|
|
17
28
|
const RECEIPT_ANCHORS = [
|
|
18
29
|
".seams-receipt-symbol",
|
|
19
30
|
"[role=\"status\"]",
|
|
20
|
-
".seams-review-amount"
|
|
31
|
+
".seams-review-amount",
|
|
32
|
+
".seams-receipt-footer"
|
|
21
33
|
];
|
|
22
34
|
function captureReceiptAnchors(surface) {
|
|
23
35
|
const anchors = [];
|
|
@@ -33,6 +45,37 @@ function captureReceiptAnchors(surface) {
|
|
|
33
45
|
}
|
|
34
46
|
return anchors;
|
|
35
47
|
}
|
|
48
|
+
/**
|
|
49
|
+
* The progress segments a capture draws while it checks, as they look now, from
|
|
50
|
+
* left to right whatever their drawing order. A line that has not split yet hands
|
|
51
|
+
* over its thirds.
|
|
52
|
+
*/
|
|
53
|
+
function progressSegments(capture) {
|
|
54
|
+
const line = capture.querySelector("[data-seams-progress-line]");
|
|
55
|
+
if (!line) return [];
|
|
56
|
+
const color = getComputedStyle(line).color;
|
|
57
|
+
const drawn = Array.from(line.querySelectorAll("[data-seams-progress-segment]"));
|
|
58
|
+
if (drawn.length === 3 && drawn.every(isPainted)) return drawn.map((segment) => ({
|
|
59
|
+
bounds: segment.getBoundingClientRect(),
|
|
60
|
+
opacity: segment.getAttribute("opacity") ?? "1",
|
|
61
|
+
color
|
|
62
|
+
})).sort((a, b) => a.bounds.left - b.bounds.left);
|
|
63
|
+
const box = line.getBoundingClientRect();
|
|
64
|
+
const width = box.width / 3;
|
|
65
|
+
return [
|
|
66
|
+
0,
|
|
67
|
+
1,
|
|
68
|
+
2
|
|
69
|
+
].map((index) => ({
|
|
70
|
+
bounds: new DOMRect(box.left + index * width, box.top + box.height / 2, width, 0),
|
|
71
|
+
opacity: "0.55",
|
|
72
|
+
color
|
|
73
|
+
}));
|
|
74
|
+
}
|
|
75
|
+
function ignoreCancelledMotion() {}
|
|
76
|
+
function isPainted(segment) {
|
|
77
|
+
return segment.getAttribute("opacity") !== "0";
|
|
78
|
+
}
|
|
36
79
|
let nextSurfaceId = 0;
|
|
37
80
|
var MountedConfirmationSurface = class {
|
|
38
81
|
element;
|
|
@@ -42,11 +85,18 @@ var MountedConfirmationSurface = class {
|
|
|
42
85
|
receipt = null;
|
|
43
86
|
receiptMotion = [];
|
|
44
87
|
receiptShell = null;
|
|
88
|
+
receiptGhost = null;
|
|
89
|
+
receiptSegments = [];
|
|
45
90
|
clearReceiptMotion = () => {
|
|
46
91
|
for (const animation of this.receiptMotion) animation.cancel();
|
|
47
92
|
this.receiptMotion = [];
|
|
48
93
|
this.receiptShell?.remove();
|
|
49
94
|
this.receiptShell = null;
|
|
95
|
+
this.receiptGhost?.remove();
|
|
96
|
+
this.receiptGhost = null;
|
|
97
|
+
for (const segment of this.receiptSegments) segment.remove();
|
|
98
|
+
this.receiptSegments = [];
|
|
99
|
+
this.element.removeAttribute("data-receipt-segments");
|
|
50
100
|
this.element.removeAttribute("data-receipt-morphing");
|
|
51
101
|
};
|
|
52
102
|
constructor(input) {
|
|
@@ -101,6 +151,7 @@ var MountedConfirmationSurface = class {
|
|
|
101
151
|
const previousShell = this.receiptShell ?? this.element.querySelector(".modal-container-root");
|
|
102
152
|
const previousBounds = previousShell?.getBoundingClientRect();
|
|
103
153
|
const anchors = viewChanged ? captureReceiptAnchors(this.element) : [];
|
|
154
|
+
const leaving = viewChanged ? this.liveCapture() : null;
|
|
104
155
|
const previousRadius = previousShell ? getComputedStyle(previousShell).borderRadius : "26px";
|
|
105
156
|
if (viewChanged) this.clearReceiptMotion();
|
|
106
157
|
this.receipt = model;
|
|
@@ -117,7 +168,7 @@ var MountedConfirmationSurface = class {
|
|
|
117
168
|
this.element.appendChild(shell);
|
|
118
169
|
this.receiptShell = shell;
|
|
119
170
|
this.element.setAttribute("data-receipt-morphing", "");
|
|
120
|
-
|
|
171
|
+
this.receiptMotion = [shell.animate([{
|
|
121
172
|
left: `${previousBounds.left}px`,
|
|
122
173
|
top: `${previousBounds.top}px`,
|
|
123
174
|
width: `${previousBounds.width}px`,
|
|
@@ -133,8 +184,8 @@ var MountedConfirmationSurface = class {
|
|
|
133
184
|
duration: RECEIPT_MORPH_DURATION_MS,
|
|
134
185
|
easing: RECEIPT_MORPH_EASING,
|
|
135
186
|
fill: "both"
|
|
136
|
-
});
|
|
137
|
-
this.
|
|
187
|
+
})];
|
|
188
|
+
const handedOver = leaving ? this.handOverCapture(leaving, target) : false;
|
|
138
189
|
const shared = /* @__PURE__ */ new Set();
|
|
139
190
|
for (const anchor of anchors) {
|
|
140
191
|
const element = target.querySelector(anchor.selector);
|
|
@@ -157,22 +208,107 @@ var MountedConfirmationSurface = class {
|
|
|
157
208
|
let order = 0;
|
|
158
209
|
for (const detail of details) {
|
|
159
210
|
if (shared.has(detail)) continue;
|
|
160
|
-
|
|
211
|
+
const toolbar = leaving !== null && detail.matches(".seams-review-toolbar");
|
|
212
|
+
this.receiptMotion.push(detail.animate(toolbar ? [{ opacity: 0 }, { opacity: 1 }] : [{
|
|
161
213
|
opacity: 0,
|
|
162
214
|
transform: "translateY(8px)"
|
|
163
215
|
}, {
|
|
164
216
|
opacity: 1,
|
|
165
217
|
transform: "translateY(0)"
|
|
166
|
-
}], {
|
|
218
|
+
}], leaving ? {
|
|
219
|
+
duration: HANDED_DETAIL_FADE_MS,
|
|
220
|
+
delay: toolbar ? 0 : handedOver && detail.matches(".seams-receipt-steps") ? HANDED_STEPS_DELAY_MS : HANDED_DETAIL_DELAY_MS + Math.min(order, 6) * HANDED_DETAIL_STAGGER_MS,
|
|
221
|
+
fill: "backwards",
|
|
222
|
+
easing: "cubic-bezier(0.2, 0, 0, 1)"
|
|
223
|
+
} : {
|
|
167
224
|
duration: 120,
|
|
168
225
|
delay: model.view === "toast" ? 240 : 180 + Math.min(order, 4) * 15,
|
|
169
226
|
fill: "backwards",
|
|
170
227
|
easing: "ease-out"
|
|
171
228
|
}));
|
|
172
|
-
order += 1;
|
|
229
|
+
if (!toolbar) order += 1;
|
|
173
230
|
}
|
|
174
|
-
|
|
231
|
+
const motion = this.receiptMotion;
|
|
232
|
+
Promise.all(motion.map((animation) => animation.finished)).then(() => {
|
|
233
|
+
if (this.receiptMotion === motion) this.clearReceiptMotion();
|
|
234
|
+
}, ignoreCancelledMotion);
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
/** The auth method capture still on screen, measured before the receipt replaces it. */
|
|
238
|
+
liveCapture() {
|
|
239
|
+
if (this.state.kind !== "mounted" || this.state.model.content.kind !== "transaction") return null;
|
|
240
|
+
const element = this.state.model.content.capture;
|
|
241
|
+
if (!element?.isConnected) return null;
|
|
242
|
+
return {
|
|
243
|
+
element,
|
|
244
|
+
bounds: element.getBoundingClientRect(),
|
|
245
|
+
segments: progressSegments(element)
|
|
246
|
+
};
|
|
247
|
+
}
|
|
248
|
+
/**
|
|
249
|
+
* The capture's copy fades out where it was. When it drew progress segments,
|
|
250
|
+
* they travel on and become the receipt's tracks. Returns whether they did.
|
|
251
|
+
*/
|
|
252
|
+
handOverCapture(leaving, target) {
|
|
253
|
+
const ghost = this.element.ownerDocument.createElement("div");
|
|
254
|
+
ghost.className = "seams-receipt-capture-ghost";
|
|
255
|
+
ghost.setAttribute("aria-hidden", "true");
|
|
256
|
+
ghost.append(leaving.element);
|
|
257
|
+
this.element.appendChild(ghost);
|
|
258
|
+
this.receiptGhost = ghost;
|
|
259
|
+
const place = {
|
|
260
|
+
left: `${leaving.bounds.left}px`,
|
|
261
|
+
top: `${leaving.bounds.top}px`,
|
|
262
|
+
width: `${leaving.bounds.width}px`,
|
|
263
|
+
height: `${leaving.bounds.height}px`
|
|
264
|
+
};
|
|
265
|
+
this.receiptMotion.push(ghost.animate([{
|
|
266
|
+
...place,
|
|
267
|
+
opacity: 1
|
|
268
|
+
}, {
|
|
269
|
+
...place,
|
|
270
|
+
opacity: 0
|
|
271
|
+
}], {
|
|
272
|
+
duration: CAPTURE_FADE_MS,
|
|
273
|
+
easing: "ease-out",
|
|
274
|
+
fill: "both"
|
|
275
|
+
}));
|
|
276
|
+
const tracks = target.querySelectorAll(".seams-receipt-track");
|
|
277
|
+
if (leaving.segments.length === 0 || tracks.length !== leaving.segments.length) return false;
|
|
278
|
+
this.element.setAttribute("data-receipt-segments", "");
|
|
279
|
+
for (const [index, track] of tracks.entries()) {
|
|
280
|
+
const from = leaving.segments[index];
|
|
281
|
+
const to = track.getBoundingClientRect();
|
|
282
|
+
const complete = track.closest(".seams-receipt-step")?.dataset.state === "complete";
|
|
283
|
+
const segment = this.element.ownerDocument.createElement("div");
|
|
284
|
+
segment.className = "seams-receipt-segment";
|
|
285
|
+
segment.setAttribute("aria-hidden", "true");
|
|
286
|
+
this.element.appendChild(segment);
|
|
287
|
+
this.receiptSegments.push(segment);
|
|
288
|
+
this.receiptMotion.push(segment.animate([{
|
|
289
|
+
left: `${from.bounds.left}px`,
|
|
290
|
+
top: `${from.bounds.top + from.bounds.height / 2 - .5}px`,
|
|
291
|
+
width: `${from.bounds.width}px`,
|
|
292
|
+
height: "1px",
|
|
293
|
+
borderRadius: "1px",
|
|
294
|
+
opacity: from.opacity,
|
|
295
|
+
backgroundColor: from.color
|
|
296
|
+
}, {
|
|
297
|
+
left: `${to.left}px`,
|
|
298
|
+
top: `${to.top}px`,
|
|
299
|
+
width: `${to.width}px`,
|
|
300
|
+
height: `${to.height}px`,
|
|
301
|
+
borderRadius: getComputedStyle(track).borderRadius,
|
|
302
|
+
opacity: 1,
|
|
303
|
+
backgroundColor: getComputedStyle(track, complete ? "::after" : null).backgroundColor
|
|
304
|
+
}], {
|
|
305
|
+
duration: SEGMENT_TRAVEL_MS,
|
|
306
|
+
delay: SEGMENT_DELAY_MS,
|
|
307
|
+
easing: SEGMENT_EASING,
|
|
308
|
+
fill: "both"
|
|
309
|
+
}));
|
|
175
310
|
}
|
|
311
|
+
return true;
|
|
176
312
|
}
|
|
177
313
|
dispose = () => {
|
|
178
314
|
if (this.state.kind === "disposed") return;
|
|
@@ -267,6 +403,7 @@ var MountedConfirmationSurface = class {
|
|
|
267
403
|
};
|
|
268
404
|
case "transaction": return {
|
|
269
405
|
kind: "transaction",
|
|
406
|
+
capture: source.capture,
|
|
270
407
|
header: source.header,
|
|
271
408
|
body: source.body,
|
|
272
409
|
review: source.review,
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
//#region src/core/signingEngine/walletCustody/ceremonyStepRunner.ts
|
|
2
|
+
function requestWalletCustodyCeremonyOperation(workerContext, operation) {
|
|
3
|
+
return workerContext.requestWorkerOperation(operation);
|
|
4
|
+
}
|
|
5
|
+
//#endregion
|
|
6
|
+
export { requestWalletCustodyCeremonyOperation };
|
|
7
|
+
|
|
8
|
+
//# sourceMappingURL=ceremonyStepRunner.js.map
|