@seams/wallet 0.24.0 → 0.27.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/.build-inputs.sha256 +1 -1
- package/dist/esm/SeamsWeb/operations/tempo/executeEvmFamilyTransaction.js +1 -0
- package/dist/esm/SeamsWeb/publicApi/near.js +22 -11
- package/dist/esm/SeamsWeb/walletIframe/client/evmFamilyCommands.js +1 -0
- package/dist/esm/SeamsWeb/walletIframe/client/nearCommands.js +9 -10
- package/dist/esm/SeamsWeb/walletIframe/client/overlay/overlay-styles.js +73 -39
- package/dist/esm/SeamsWeb/walletIframe/client/router.js +61 -38
- package/dist/esm/SeamsWeb/walletIframe/host/auth-menu/domain.js +1 -0
- package/dist/esm/SeamsWeb/walletIframe/host/surface-measurement-reporter.js +1 -0
- package/dist/esm/SeamsWeb/walletIframe/host/ui/auth-menu/AuthMenuSurface.js +1 -1
- package/dist/esm/SeamsWeb/walletIframe/host/ui/auth-menu/mountAuthMenuSurface.js +28 -0
- package/dist/esm/SeamsWeb/walletIframe/shared/messages.js +6 -0
- package/dist/esm/core/indexedDB/seamsWalletDB/repositories.js +8 -1
- package/dist/esm/core/rpcClients/near/NearClient.js +7 -0
- package/dist/esm/core/rpcClients/relayer/walletSessionAuthorizationStatus.js +7 -0
- package/dist/esm/core/signingEngine/flows/signNear/signTransactions.js +3 -0
- package/dist/esm/core/signingEngine/nearTransactionSubmission.js +89 -0
- package/dist/esm/core/signingEngine/uiConfirm/ui/confirm-surface-resize.js +2 -2
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/ReviewDisclosure.js +7 -1
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/mountConfirmationSurface.js +123 -14
- package/dist/esm/core/ui/messages.js +12 -0
- package/dist/esm/react/components/AccountMenuButton/AccountMenuButtonMock.js +5 -7
- package/dist/esm/react/components/AccountMenuButton/AccountMenuButtonView.js +21 -5
- package/dist/esm/react/components/AccountMenuButton/AccountMenuModal.js +66 -0
- package/dist/esm/react/components/AccountMenuButton/AccountsSection.css +18 -11
- package/dist/esm/react/components/AccountMenuButton/AuthenticationMethodRow.js +5 -11
- package/dist/esm/react/components/AccountMenuButton/ExportKeysSection.css +17 -15
- package/dist/esm/react/components/AccountMenuButton/LinkedDevicesModal.css +156 -106
- package/dist/esm/react/components/AccountMenuButton/MenuItem.css +37 -29
- package/dist/esm/react/components/AccountMenuButton/ProfileDropdown.css +53 -21
- package/dist/esm/react/components/AccountMenuButton/TransactionSettingsSection.css +124 -82
- package/dist/esm/react/components/AccountMenuButton/UserAccountButton.css +45 -27
- package/dist/esm/react/components/AccountMenuButton/WalletSettingsLayout.css +115 -93
- package/dist/esm/react/components/AccountMenuButton/Web3AuthProfileButton.css +179 -92
- package/dist/esm/react/components/AccountMenuButton/hooks/useProfileState.js +62 -49
- package/dist/esm/react/components/AccountMenuButton/icons/HoverArrowIcon.css +36 -12
- package/dist/esm/react/components/AccountMenuButton/icons/HoverArrowIcon.js +10 -2
- package/dist/esm/react/components/AccountMenuButton/icons/Icon.css +10 -0
- package/dist/esm/react/components/AccountMenuButton/icons/LogOutIcon2.js +15 -16
- package/dist/esm/react/components/AccountMenuButton/icons/SpinnerIcon.js +12 -18
- package/dist/esm/react/components/AccountMenuButton/icons/TouchIcon.css +3 -3
- package/dist/esm/react/components/AccountMenuButton/icons/TouchIcon.js +11 -5
- package/dist/esm/react/components/AccountMenuButton/icons/lucideIcon.js +20 -6
- package/dist/esm/react/components/AccountMenuButton/index.js +18 -42
- package/dist/esm/react/components/ExternalNearWalletIcon.js +32 -0
- package/dist/esm/react/components/FingerprintIcon.js +13 -19
- package/dist/esm/react/components/HostedSeamsAuthMenu/SeamsAuthMenuMock.js +13 -2
- package/dist/esm/react/components/HostedSeamsAuthMenu/WalletConnectorMenu.css +182 -0
- package/dist/esm/react/components/HostedSeamsAuthMenu/WalletConnectorMenu.js +315 -0
- package/dist/esm/react/components/HostedSeamsAuthMenu/shell.js +20 -5
- package/dist/esm/react/components/QRCodeIcon.js +37 -43
- package/dist/esm/react/components/QRCodeScanner.css +65 -60
- package/dist/esm/react/components/ShowQRCode.css +145 -40
- package/dist/esm/react/components/ShowQRCode.js +27 -37
- package/dist/esm/react/components/externalWalletBrandImages.js +7 -0
- package/dist/esm/react/components/theme/Theme.css +67 -0
- package/dist/esm/react/components/theme/ThemeProvider.js +6 -6
- package/dist/esm/react/externalEvm.js +11 -4
- package/dist/esm/react/externalNear.js +15 -10
- package/dist/esm/react/externalWalletPicker.css +117 -0
- package/dist/esm/react/index.js +3 -2
- package/dist/esm/react/styles/styles.css +2148 -550
- package/dist/esm/react/styles.css +7 -1
- package/dist/esm/react/transactionReview/TransactionReviewHost.js +3 -0
- package/dist/esm/react/transactionReview/boundCalls.js +31 -26
- package/dist/esm/sdk/{ConfirmationDrawer-CTaGM1AE.js → ConfirmationDrawer-AZruQmhP.js} +1 -1
- package/dist/esm/sdk/NonceCoordinator-3YhmDTS5.js +1 -0
- package/dist/{public/sdk/SeamsWordmark-CFpsGoLw.js → esm/sdk/SeamsWordmark-DwvPx2UA.js} +1 -1
- package/dist/esm/sdk/accountLifecycle-6DHYWf0v.js +1 -0
- package/dist/esm/sdk/actions-DrtSTGus.js +1 -0
- package/dist/esm/sdk/activeWalletSession-BJ4B-nJo.js +1 -0
- package/dist/esm/sdk/adapters-d9yh1bdC.js +1 -0
- package/dist/esm/sdk/appearance-DL7c6bML.js +1 -0
- package/dist/esm/sdk/appearance-token-vars-BJydfWT_.js +1 -0
- package/dist/esm/sdk/canonicalPrimitives-Jd3i_Ngz.js +1 -0
- package/dist/esm/sdk/chains-B72I4PDH.js +1 -0
- package/dist/esm/sdk/challengeDelivery-Dj9HrjW9.js +1 -0
- package/dist/esm/sdk/clientSessionPersistenceState-BCkJAYSz.js +1 -0
- package/dist/esm/sdk/{collectAuthenticationCredentialForChallengeB64u-kLIxmw3V.js → collectAuthenticationCredentialForChallengeB64u-I4wq8OGq.js} +1 -1
- package/dist/esm/sdk/{commitQueue-Bs23Rs57.js → commitQueue-CYruPlkm.js} +1 -1
- package/dist/esm/sdk/configBuilder-CSwJrmcR.js +1 -0
- package/dist/esm/sdk/configuration-DBEc3bsj.js +1 -0
- package/dist/esm/sdk/confirm-ui-nU6ymgiv.js +2 -0
- package/dist/esm/sdk/confirmTypes-BvVtQs-M.js +1 -0
- package/dist/esm/sdk/device-linking-DiCNt3iA.js +1 -0
- package/dist/esm/sdk/deviceLinkApproval-CfEiotVt.js +2 -0
- package/dist/esm/sdk/digestEncoding-CqNXPZY9.js +1 -0
- package/dist/esm/sdk/{chains-gV2K9gA4.js → digests-BIaE0DMd.js} +1 -1
- package/dist/esm/sdk/{display-BXjW58UF.js → display-D0EPmU4w.js} +1 -1
- package/dist/esm/sdk/ecdsaCapabilityManifest-DAJEVjlP.js +1 -0
- package/dist/esm/sdk/{ecdsaChainTarget-DbLthshF.js → ecdsaChainTarget-Bm5X4k-V.js} +1 -1
- package/dist/esm/sdk/ecdsaDerivationClientWasm-AYOJgTJm.js +1 -0
- package/dist/esm/sdk/ecdsaDerivationExport-DJKOzDbS.js +1 -0
- package/dist/esm/sdk/{ecdsaWalletRecords-BgcXXCZy.js → ecdsaWalletRecords-WLyq414E.js} +1 -1
- package/dist/esm/sdk/emailOtpEcdsaDerivationIdentity-HFQXc1Yw.js +1 -0
- package/dist/esm/sdk/{enrichDisplayModelWithAbi-CudPUW0T.js → enrichDisplayModelWithAbi-O6Mw4i2E.js} +1 -1
- package/dist/esm/sdk/errors-BJBDbwHk.js +1 -0
- package/dist/esm/sdk/{evmCryptoWasm-DacbCVNM.js → evmCryptoWasm-BUPb4hBH.js} +1 -1
- package/dist/esm/sdk/{export-viewer-host-DsWOvc0t.js → export-viewer-host-BtrKVXxu.js} +1 -1
- package/dist/esm/sdk/exportKeypairOperation-CGE9ZU1m.js +1 -0
- package/dist/esm/sdk/helpers-Dubwo5uK.js +1 -0
- package/dist/esm/sdk/host-DayrOrgm.js +1 -0
- package/dist/esm/sdk/icons-BlMXolHv.js +1 -0
- package/dist/esm/sdk/indexedDB-C4SDsyOG.js +1 -0
- package/dist/esm/sdk/intentDigest-HvRsBQ1z.js +1 -0
- package/dist/esm/sdk/keyMaterialEnvelope-Dm2ZEilb.js +1 -0
- package/dist/esm/sdk/{lanes-C7OvAK_L.js → lanes-BU-fGqY4.js} +1 -1
- package/dist/esm/sdk/localOnly-BATWJj78.js +1 -0
- package/dist/{public/sdk/mountExportPrivateKeySurface-CV1KrFWg.js → esm/sdk/mountExportPrivateKeySurface-CyHU8bVc.js} +1 -1
- package/dist/esm/sdk/{mountRecoveryCodeBackupSurface-CVXU1zzl.js → mountRecoveryCodeBackupSurface-C7aglQxf.js} +1 -1
- package/dist/esm/sdk/nearEd25519YaoMaterialActivation-BfXmy3Jr.js +1 -0
- package/dist/esm/sdk/nearEd25519YaoSigningPreparation-DHNk0F8e.js +1 -0
- package/dist/esm/sdk/nearRpcResults-CeHdqaS4.js +1 -0
- package/dist/esm/sdk/{nonceLaneKeys-BS4fek17.js → nonceLaneKeys-BF_UpvIy.js} +1 -1
- package/dist/esm/sdk/{normalization-BN-2VWZf.js → normalization-Df9fZWJC.js} +1 -1
- package/dist/esm/sdk/operationFingerprint-Bas59T7L.js +1 -0
- package/dist/esm/sdk/participants-BXdREC5k.js +1 -0
- package/dist/{public/sdk/pendingWalletRecoveryCodeBackup-lr1oISjL.js → esm/sdk/pendingWalletRecoveryCodeBackup-Cjx-X-pP.js} +1 -1
- package/dist/esm/sdk/presignaturePool-BbvqRWYw.js +1 -0
- package/dist/{public/sdk/presignatures-B9GrGx0L.js → esm/sdk/presignatures-BCeq56DG.js} +1 -1
- package/dist/esm/sdk/recovery-entrypoint-DJbMDC_m.js +1 -0
- package/dist/esm/sdk/recoveryAuthorization-CQsjb8Tm.js +1 -0
- package/dist/esm/sdk/registration-CNLUYN-p.js +1 -0
- package/dist/esm/sdk/registration-HSwOHZOo.js +1 -0
- package/dist/esm/sdk/{registrationAccounts-BHikxS5q.js → registrationAccounts-4r74gX1l.js} +1 -1
- package/dist/esm/sdk/registrationIntent-Do1tD1V7.js +1 -0
- package/dist/esm/sdk/registrationSignerPlan-DK2b3N_p.js +1 -0
- package/dist/esm/sdk/requireStepUpAuth-COqCGb1i.js +1 -0
- package/dist/esm/sdk/resealedEnvelopeResult-B1p5UkYg.js +1 -0
- package/dist/esm/sdk/routerAbNormalSigning-D-UZmCBS.js +1 -0
- package/dist/esm/sdk/runtime-auth-BCoj7_-G.js +1 -0
- package/dist/esm/sdk/runtime-device-link-DAsq5tGT.js +1 -0
- package/dist/esm/sdk/runtime-ecdsa-tempo-CVh_Vwl6.js +1 -0
- package/dist/esm/sdk/runtime-email-otp-BxSKK9AG.js +1 -0
- package/dist/esm/sdk/runtime-export-BWnQXMzT.js +1 -0
- package/dist/esm/sdk/runtime-near-CuzPZrDS.js +1 -0
- package/dist/esm/sdk/runtime-preferences-B-nDWlm3.js +1 -0
- package/dist/esm/sdk/runtime-recovery-DpOdEJ8N.js +1 -0
- package/dist/esm/sdk/runtime-recovery-codes-DeUjQsxZ.js +1 -0
- package/dist/esm/sdk/runtimeContext-5JcewRo3.js +6 -0
- package/dist/esm/sdk/secp256k1-CE7-q9Sn.js +1 -0
- package/dist/esm/sdk/sessionObservationRevision-JOvVF4Hf.js +1 -0
- package/dist/esm/sdk/signEvmFamily-BY5jlZEG.js +1 -0
- package/dist/esm/sdk/{signEvmFamilyWithUiConfirmForTempo-BMfC2sc2.js → signEvmFamilyWithUiConfirmForTempo-CrMIAXUe.js} +1 -1
- package/dist/esm/sdk/{signEvmWithUiConfirm-BNkupz3z.js → signEvmWithUiConfirm-CGrLtMV6.js} +1 -1
- package/dist/esm/sdk/signNear-DMpJFkwF.js +1 -0
- package/dist/esm/sdk/{signatureUses-DrqCoN12.js → signatureUses-kSrUHSSH.js} +1 -1
- package/dist/esm/sdk/signerSlot-D2RZnb27.js +1 -0
- package/dist/esm/sdk/{signingFlow-BVvteILM.js → signingFlow-BcetvUeS.js} +2 -2
- package/dist/esm/sdk/signingQueue-dMFOFOP5.js +1 -0
- package/dist/esm/sdk/surface-measurement-reporter-DXsvq401.js +1 -0
- package/dist/esm/sdk/thresholdEcdsa-CqR1fFA-.js +1 -0
- package/dist/esm/sdk/{trace-CGNqO1FV.js → trace--mRP2OQc.js} +1 -1
- package/dist/esm/sdk/{transaction-activity-DPq9RTh5.js → transaction-activity-DCzHGg3b.js} +1 -1
- package/dist/esm/sdk/transactionReview-CGIlI835.js +1 -0
- package/dist/esm/sdk/{transactionReviewAdmission--8tDis7M.js → transactionReviewAdmission-Cf_qUZJt.js} +1 -1
- package/dist/{public/sdk/transactionState-BS1VLT7B.js → esm/sdk/transactionState-29T9xfvL.js} +1 -1
- package/dist/esm/sdk/tx-confirm-ui.js +173 -18
- package/dist/esm/sdk/{types-DdzuHlAQ.js → types-f7dyj5N6.js} +1 -1
- package/dist/esm/sdk/unlockedEd25519ExportRootCapability-yzxQjIFd.js +1 -0
- package/dist/esm/sdk/voiceid-host.js +1 -1
- package/dist/esm/sdk/wallet-iframe-host-ecdsa.js +1 -1
- package/dist/esm/sdk/wallet-iframe-host-full.js +1 -1
- package/dist/esm/sdk/wallet-iframe-host-near.js +1 -1
- package/dist/esm/sdk/wallet-iframe-host-runtime.js +1 -1
- package/dist/esm/sdk/wallet-recovery-BZB2Vu3X.js +1 -0
- package/dist/esm/sdk/wallet-ui.css +1 -1
- package/dist/esm/sdk/walletAuthMethodRecord-DLBB5fez.js +1 -0
- package/dist/esm/sdk/walletAuthority-BTGAuOi8.js +1 -0
- package/dist/esm/sdk/walletCapabilityBindings-D5YYB7nN.js +1 -0
- package/dist/esm/sdk/walletCustodyEcdsaContinuity-C31YQ9av.js +1 -0
- package/dist/esm/sdk/walletCustodyOperation-DimzAbCB.js +1 -0
- package/dist/esm/sdk/walletDbName-Ca0rCq5r.js +1 -0
- package/dist/esm/sdk/walletOwnershipGeneration-CgjCtPrV.js +1 -0
- package/dist/esm/sdk/walletRecoveryAdminProof-CvSYbyg5.js +1 -0
- package/dist/esm/sdk/walletRecoveryCommit-Cc2LAkCS.js +1 -0
- package/dist/esm/sdk/walletRegistrationSetupPrewarm-CEvGKQSg.js +1 -0
- package/dist/esm/sdk/{walletSessionAuthorizationProjection-BJgnZaBc.js → walletSessionAuthorizationProjection-BzUH6gHV.js} +1 -1
- package/dist/esm/sdk/walletSessionAuthorizationStatus-DG7DPcgR.js +1 -0
- package/dist/esm/sdk/{walletSessionAuthorizationStore-zkxcMdSp.js → walletSessionAuthorizationStore-B9Vwkshr.js} +1 -1
- package/dist/esm/sdk/warmSessionHydration-B-A5Tdx7.js +1 -0
- package/dist/{public/sdk/webauthnP256-BvTL8nq4.js → esm/sdk/webauthnP256-BsQQPurm.js} +1 -1
- package/dist/esm/shared-ts/src/near/nearClient.js +1 -1
- package/dist/esm/shared-ts/src/utils/errors.js +56 -3
- package/dist/esm/shared-ts/src/utils/index.js +1 -1
- package/dist/esm/voiceid-host.js +1 -1
- package/dist/public/headers.manifest.json +1 -1
- package/dist/public/sdk/{ConfirmationDrawer-CTaGM1AE.js → ConfirmationDrawer-AZruQmhP.js} +1 -1
- package/dist/public/sdk/NonceCoordinator-3YhmDTS5.js +1 -0
- package/dist/{esm/sdk/SeamsWordmark-CFpsGoLw.js → public/sdk/SeamsWordmark-DwvPx2UA.js} +1 -1
- package/dist/public/sdk/accountLifecycle-6DHYWf0v.js +1 -0
- package/dist/public/sdk/actions-DrtSTGus.js +1 -0
- package/dist/public/sdk/activeWalletSession-BJ4B-nJo.js +1 -0
- package/dist/public/sdk/adapters-d9yh1bdC.js +1 -0
- package/dist/public/sdk/appearance-DL7c6bML.js +1 -0
- package/dist/public/sdk/appearance-token-vars-BJydfWT_.js +1 -0
- package/dist/public/sdk/canonicalPrimitives-Jd3i_Ngz.js +1 -0
- package/dist/public/sdk/chains-B72I4PDH.js +1 -0
- package/dist/public/sdk/challengeDelivery-Dj9HrjW9.js +1 -0
- package/dist/public/sdk/clientSessionPersistenceState-BCkJAYSz.js +1 -0
- package/dist/public/sdk/{collectAuthenticationCredentialForChallengeB64u-kLIxmw3V.js → collectAuthenticationCredentialForChallengeB64u-I4wq8OGq.js} +1 -1
- package/dist/public/sdk/{commitQueue-Bs23Rs57.js → commitQueue-CYruPlkm.js} +1 -1
- package/dist/public/sdk/configBuilder-CSwJrmcR.js +1 -0
- package/dist/public/sdk/configuration-DBEc3bsj.js +1 -0
- package/dist/public/sdk/confirm-ui-nU6ymgiv.js +2 -0
- package/dist/public/sdk/confirmTypes-BvVtQs-M.js +1 -0
- package/dist/public/sdk/device-linking-DiCNt3iA.js +1 -0
- package/dist/public/sdk/deviceLinkApproval-CfEiotVt.js +2 -0
- package/dist/public/sdk/digestEncoding-CqNXPZY9.js +1 -0
- package/dist/public/sdk/{chains-gV2K9gA4.js → digests-BIaE0DMd.js} +1 -1
- package/dist/public/sdk/{display-BXjW58UF.js → display-D0EPmU4w.js} +1 -1
- package/dist/public/sdk/ecdsaCapabilityManifest-DAJEVjlP.js +1 -0
- package/dist/public/sdk/{ecdsaChainTarget-DbLthshF.js → ecdsaChainTarget-Bm5X4k-V.js} +1 -1
- package/dist/public/sdk/ecdsaDerivationClientWasm-AYOJgTJm.js +1 -0
- package/dist/public/sdk/ecdsaDerivationExport-DJKOzDbS.js +1 -0
- package/dist/public/sdk/{ecdsaWalletRecords-BgcXXCZy.js → ecdsaWalletRecords-WLyq414E.js} +1 -1
- package/dist/public/sdk/emailOtpEcdsaDerivationIdentity-HFQXc1Yw.js +1 -0
- package/dist/public/sdk/{enrichDisplayModelWithAbi-CudPUW0T.js → enrichDisplayModelWithAbi-O6Mw4i2E.js} +1 -1
- package/dist/public/sdk/errors-BJBDbwHk.js +1 -0
- package/dist/public/sdk/{evmCryptoWasm-DacbCVNM.js → evmCryptoWasm-BUPb4hBH.js} +1 -1
- package/dist/public/sdk/{export-viewer-host-DsWOvc0t.js → export-viewer-host-BtrKVXxu.js} +1 -1
- package/dist/public/sdk/exportKeypairOperation-CGE9ZU1m.js +1 -0
- package/dist/public/sdk/helpers-Dubwo5uK.js +1 -0
- package/dist/public/sdk/host-DayrOrgm.js +1 -0
- package/dist/public/sdk/icons-BlMXolHv.js +1 -0
- package/dist/public/sdk/indexedDB-C4SDsyOG.js +1 -0
- package/dist/public/sdk/intentDigest-HvRsBQ1z.js +1 -0
- package/dist/public/sdk/keyMaterialEnvelope-Dm2ZEilb.js +1 -0
- package/dist/public/sdk/{lanes-C7OvAK_L.js → lanes-BU-fGqY4.js} +1 -1
- package/dist/public/sdk/localOnly-BATWJj78.js +1 -0
- package/dist/{esm/sdk/mountExportPrivateKeySurface-CV1KrFWg.js → public/sdk/mountExportPrivateKeySurface-CyHU8bVc.js} +1 -1
- package/dist/public/sdk/{mountRecoveryCodeBackupSurface-CVXU1zzl.js → mountRecoveryCodeBackupSurface-C7aglQxf.js} +1 -1
- package/dist/public/sdk/nearEd25519YaoMaterialActivation-BfXmy3Jr.js +1 -0
- package/dist/public/sdk/nearEd25519YaoSigningPreparation-DHNk0F8e.js +1 -0
- package/dist/public/sdk/nearRpcResults-CeHdqaS4.js +1 -0
- package/dist/public/sdk/{nonceLaneKeys-BS4fek17.js → nonceLaneKeys-BF_UpvIy.js} +1 -1
- package/dist/public/sdk/{normalization-BN-2VWZf.js → normalization-Df9fZWJC.js} +1 -1
- package/dist/public/sdk/operationFingerprint-Bas59T7L.js +1 -0
- package/dist/public/sdk/participants-BXdREC5k.js +1 -0
- package/dist/{esm/sdk/pendingWalletRecoveryCodeBackup-lr1oISjL.js → public/sdk/pendingWalletRecoveryCodeBackup-Cjx-X-pP.js} +1 -1
- package/dist/public/sdk/presignaturePool-BbvqRWYw.js +1 -0
- package/dist/{esm/sdk/presignatures-B9GrGx0L.js → public/sdk/presignatures-BCeq56DG.js} +1 -1
- package/dist/public/sdk/recovery-entrypoint-DJbMDC_m.js +1 -0
- package/dist/public/sdk/recoveryAuthorization-CQsjb8Tm.js +1 -0
- package/dist/public/sdk/registration-CNLUYN-p.js +1 -0
- package/dist/public/sdk/registration-HSwOHZOo.js +1 -0
- package/dist/public/sdk/{registrationAccounts-BHikxS5q.js → registrationAccounts-4r74gX1l.js} +1 -1
- package/dist/public/sdk/registrationIntent-Do1tD1V7.js +1 -0
- package/dist/public/sdk/registrationSignerPlan-DK2b3N_p.js +1 -0
- package/dist/public/sdk/requireStepUpAuth-COqCGb1i.js +1 -0
- package/dist/public/sdk/resealedEnvelopeResult-B1p5UkYg.js +1 -0
- package/dist/public/sdk/routerAbNormalSigning-D-UZmCBS.js +1 -0
- package/dist/public/sdk/runtime-auth-BCoj7_-G.js +1 -0
- package/dist/public/sdk/runtime-device-link-DAsq5tGT.js +1 -0
- package/dist/public/sdk/runtime-ecdsa-tempo-CVh_Vwl6.js +1 -0
- package/dist/public/sdk/runtime-email-otp-BxSKK9AG.js +1 -0
- package/dist/public/sdk/runtime-export-BWnQXMzT.js +1 -0
- package/dist/public/sdk/runtime-near-CuzPZrDS.js +1 -0
- package/dist/public/sdk/runtime-preferences-B-nDWlm3.js +1 -0
- package/dist/public/sdk/runtime-recovery-DpOdEJ8N.js +1 -0
- package/dist/public/sdk/runtime-recovery-codes-DeUjQsxZ.js +1 -0
- package/dist/public/sdk/runtimeContext-5JcewRo3.js +6 -0
- package/dist/public/sdk/secp256k1-CE7-q9Sn.js +1 -0
- package/dist/public/sdk/sessionObservationRevision-JOvVF4Hf.js +1 -0
- package/dist/public/sdk/signEvmFamily-BY5jlZEG.js +1 -0
- package/dist/public/sdk/{signEvmFamilyWithUiConfirmForTempo-BMfC2sc2.js → signEvmFamilyWithUiConfirmForTempo-CrMIAXUe.js} +1 -1
- package/dist/public/sdk/{signEvmWithUiConfirm-BNkupz3z.js → signEvmWithUiConfirm-CGrLtMV6.js} +1 -1
- package/dist/public/sdk/signNear-DMpJFkwF.js +1 -0
- package/dist/public/sdk/{signatureUses-DrqCoN12.js → signatureUses-kSrUHSSH.js} +1 -1
- package/dist/public/sdk/signerSlot-D2RZnb27.js +1 -0
- package/dist/public/sdk/{signingFlow-BVvteILM.js → signingFlow-BcetvUeS.js} +2 -2
- package/dist/public/sdk/signingQueue-dMFOFOP5.js +1 -0
- package/dist/public/sdk/surface-measurement-reporter-DXsvq401.js +1 -0
- package/dist/public/sdk/thresholdEcdsa-CqR1fFA-.js +1 -0
- package/dist/public/sdk/{trace-CGNqO1FV.js → trace--mRP2OQc.js} +1 -1
- package/dist/public/sdk/{transaction-activity-DPq9RTh5.js → transaction-activity-DCzHGg3b.js} +1 -1
- package/dist/public/sdk/transactionReview-CGIlI835.js +1 -0
- package/dist/public/sdk/{transactionReviewAdmission--8tDis7M.js → transactionReviewAdmission-Cf_qUZJt.js} +1 -1
- package/dist/{esm/sdk/transactionState-BS1VLT7B.js → public/sdk/transactionState-29T9xfvL.js} +1 -1
- package/dist/public/sdk/tx-confirm-ui.js +173 -18
- package/dist/public/sdk/{types-DdzuHlAQ.js → types-f7dyj5N6.js} +1 -1
- package/dist/public/sdk/unlockedEd25519ExportRootCapability-yzxQjIFd.js +1 -0
- package/dist/public/sdk/voiceid-host.js +1 -1
- package/dist/public/sdk/wallet-iframe-host-ecdsa.js +1 -1
- package/dist/public/sdk/wallet-iframe-host-full.js +1 -1
- package/dist/public/sdk/wallet-iframe-host-near.js +1 -1
- package/dist/public/sdk/wallet-iframe-host-runtime.js +1 -1
- package/dist/public/sdk/wallet-recovery-BZB2Vu3X.js +1 -0
- package/dist/public/sdk/wallet-ui.css +1 -1
- package/dist/public/sdk/walletAuthMethodRecord-DLBB5fez.js +1 -0
- package/dist/public/sdk/walletAuthority-BTGAuOi8.js +1 -0
- package/dist/public/sdk/walletCapabilityBindings-D5YYB7nN.js +1 -0
- package/dist/public/sdk/walletCustodyEcdsaContinuity-C31YQ9av.js +1 -0
- package/dist/public/sdk/walletCustodyOperation-DimzAbCB.js +1 -0
- package/dist/public/sdk/walletDbName-Ca0rCq5r.js +1 -0
- package/dist/public/sdk/walletOwnershipGeneration-CgjCtPrV.js +1 -0
- package/dist/public/sdk/walletRecoveryAdminProof-CvSYbyg5.js +1 -0
- package/dist/public/sdk/walletRecoveryCommit-Cc2LAkCS.js +1 -0
- package/dist/public/sdk/walletRegistrationSetupPrewarm-CEvGKQSg.js +1 -0
- package/dist/public/sdk/{walletSessionAuthorizationProjection-BJgnZaBc.js → walletSessionAuthorizationProjection-BzUH6gHV.js} +1 -1
- package/dist/public/sdk/walletSessionAuthorizationStatus-DG7DPcgR.js +1 -0
- package/dist/public/sdk/{walletSessionAuthorizationStore-zkxcMdSp.js → walletSessionAuthorizationStore-B9Vwkshr.js} +1 -1
- package/dist/public/sdk/warmSessionHydration-B-A5Tdx7.js +1 -0
- package/dist/{esm/sdk/webauthnP256-BvTL8nq4.js → public/sdk/webauthnP256-BsQQPurm.js} +1 -1
- package/dist/public/wallet-assets.manifest.json +476 -260
- package/dist/public/wallet-service/index.html +4 -4
- package/dist/types/shared-ts/src/utils/errors.d.ts +1 -0
- package/dist/types/wallet/src/SeamsWeb/operations/authMethods/passkey/exactPasskeyAuthority.d.ts +24 -0
- package/dist/types/wallet/src/SeamsWeb/operations/devices/walletHostOwnerAuthority.d.ts +2 -0
- package/dist/types/wallet/src/SeamsWeb/publicApi/types.d.ts +3 -0
- package/dist/types/wallet/src/SeamsWeb/walletIframe/client/router.d.ts +2 -0
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/WalletHostRuntime.d.ts +1 -0
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/createDeviceDomain.d.ts +2 -1
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/deviceLinkApproval.d.ts +27 -0
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/ui/auth-menu/mountAuthMenuSurface.d.ts +1 -0
- package/dist/types/wallet/src/SeamsWeb/walletIframe/shared/messages.d.ts +4 -1
- package/dist/types/wallet/src/core/authMethods/hostPlugin.d.ts +1 -0
- package/dist/types/wallet/src/core/authMethods/plugins.d.ts +4 -0
- package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/recoveredEd25519Authority.d.ts +8 -0
- package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/repositories.d.ts +1 -0
- package/dist/types/wallet/src/core/rpcClients/near/NearClient.d.ts +13 -0
- package/dist/types/wallet/src/core/rpcClients/relayer/walletSessionAuthorizationStatus.d.ts +2 -0
- package/dist/types/wallet/src/core/signingEngine/nearTransactionSubmission.d.ts +24 -0
- package/dist/types/wallet/src/core/signingEngine/session/persistence/walletSessionAuthorizationProjection.d.ts +1 -0
- package/dist/types/wallet/src/core/signingEngine/uiConfirm/transactionReviewAdmission.d.ts +2 -0
- package/dist/types/wallet/src/core/types/linkDevice.d.ts +4 -5
- package/dist/types/wallet/src/core/types/sdkSentEvents.d.ts +2 -0
- package/dist/types/wallet/src/core/types/seams.d.ts +15 -3
- package/dist/types/wallet/src/core/ui/messages.d.ts +1 -1
- package/dist/types/wallet/src/index.d.ts +1 -1
- package/dist/types/wallet/src/react/components/AccountMenuButton/AccountMenuButtonMock.d.ts +11 -2
- package/dist/types/wallet/src/react/components/AccountMenuButton/AccountMenuButtonView.d.ts +2 -1
- package/dist/types/wallet/src/react/components/AccountMenuButton/AccountMenuModal.d.ts +9 -0
- package/dist/types/wallet/src/react/components/AccountMenuButton/hooks/useProfileState.d.ts +13 -5
- package/dist/types/wallet/src/react/components/AccountMenuButton/icons/HoverArrowIcon.d.ts +2 -1
- package/dist/types/wallet/src/react/components/AccountMenuButton/icons/lucideIcon.d.ts +1 -1
- package/dist/types/wallet/src/react/components/AccountMenuButton/types.d.ts +19 -3
- package/dist/types/wallet/src/react/components/ExternalNearWalletIcon.d.ts +5 -0
- package/dist/types/wallet/src/react/components/HostedSeamsAuthMenu/WalletConnectorMenu.d.ts +31 -0
- package/dist/types/wallet/src/react/components/HostedSeamsAuthMenu/types.d.ts +4 -0
- package/dist/types/wallet/src/react/components/ShowQRCode.d.ts +1 -1
- package/dist/types/wallet/src/react/components/externalWalletBrandImages.d.ts +3 -0
- package/dist/types/wallet/src/react/components/theme/design-tokens.d.ts +2 -0
- package/dist/types/wallet/src/react/externalNear.d.ts +3 -23
- package/dist/types/wallet/src/react/index.d.ts +3 -1
- package/dist/types/wallet/src/react/transactionReview/boundCalls.d.ts +7 -0
- package/dist/types/wallet/src/voiceid-host.d.ts +1 -1
- package/package.json +1 -1
- package/dist/esm/react/externalNear.css +0 -90
- package/dist/esm/sdk/NonceCoordinator-Bti1HQPo.js +0 -1
- package/dist/esm/sdk/accountLifecycle-B98g9zN9.js +0 -1
- package/dist/esm/sdk/actions-GYsSR2Q2.js +0 -1
- package/dist/esm/sdk/activeWalletSession-H9JBdHyQ.js +0 -1
- package/dist/esm/sdk/adapters-D5MZ5NG5.js +0 -2
- package/dist/esm/sdk/appearance-DVFno9Tv.js +0 -1
- package/dist/esm/sdk/appearance-token-vars-CgYTfCKg.js +0 -1
- package/dist/esm/sdk/canonicalPrimitives-B6YMrI3W.js +0 -1
- package/dist/esm/sdk/challengeDelivery-FW9gYyr0.js +0 -1
- package/dist/esm/sdk/clientSessionPersistenceState-BPYK9PYV.js +0 -1
- package/dist/esm/sdk/configBuilder-DrxXNUpV.js +0 -1
- package/dist/esm/sdk/configuration-CAqANpTI.js +0 -1
- package/dist/esm/sdk/ecdsaCapabilityManifest--FjbES8k.js +0 -1
- package/dist/esm/sdk/ecdsaDerivationClientWasm-7Rp4TmYE.js +0 -1
- package/dist/esm/sdk/ecdsaDerivationExport-dInN7N6e.js +0 -1
- package/dist/esm/sdk/emailOtpEcdsaDerivationIdentity-CIh9IPai.js +0 -1
- package/dist/esm/sdk/errors-ADOZT8oV.js +0 -1
- package/dist/esm/sdk/exportKeypairOperation-BazJvSov.js +0 -1
- package/dist/esm/sdk/helpers-CXqXyyCU.js +0 -1
- package/dist/esm/sdk/host-C0Is56lU.js +0 -1
- package/dist/esm/sdk/icons-DyndJzSh.js +0 -1
- package/dist/esm/sdk/indexedDB-C1odKEC6.js +0 -1
- package/dist/esm/sdk/intentDigest-BMXki7yB.js +0 -1
- package/dist/esm/sdk/keyMaterialEnvelope-B-Q5KTJC.js +0 -1
- package/dist/esm/sdk/localOnly-BB3Rx3J6.js +0 -1
- package/dist/esm/sdk/nearEd25519YaoMaterialActivation-D9cdMKIZ.js +0 -1
- package/dist/esm/sdk/nearEd25519YaoSigningPreparation-D_Jvj7ht.js +0 -1
- package/dist/esm/sdk/operationFingerprint-Bn0lUYlm.js +0 -1
- package/dist/esm/sdk/presignaturePool-CultzkOG.js +0 -1
- package/dist/esm/sdk/recovery-entrypoint-QBvJBngm.js +0 -1
- package/dist/esm/sdk/recoveryAuthorization-DB-zxeHq.js +0 -1
- package/dist/esm/sdk/registration-CM5a7WYO.js +0 -1
- package/dist/esm/sdk/registration-Hv0xi7-L.js +0 -1
- package/dist/esm/sdk/registrationIntent-DTs2SR9E.js +0 -1
- package/dist/esm/sdk/registrationSignerPlan-CgbFVsAp.js +0 -1
- package/dist/esm/sdk/requireStepUpAuth-B7tC4MrA.js +0 -1
- package/dist/esm/sdk/resealedEnvelopeResult--iCVt_Bh.js +0 -1
- package/dist/esm/sdk/routerAbNormalSigning-Div3lZWV.js +0 -1
- package/dist/esm/sdk/runtime-auth-CVw1KoVD.js +0 -1
- package/dist/esm/sdk/runtime-device-link-Dp0YMZTQ.js +0 -1
- package/dist/esm/sdk/runtime-ecdsa-tempo-DEIjIgEO.js +0 -1
- package/dist/esm/sdk/runtime-email-otp-gsr_FsQn.js +0 -1
- package/dist/esm/sdk/runtime-export-upMPrZ4V.js +0 -1
- package/dist/esm/sdk/runtime-near-B64Hn3nc.js +0 -1
- package/dist/esm/sdk/runtime-preferences-CULdHkbg.js +0 -1
- package/dist/esm/sdk/runtime-recovery-D2saBaJy.js +0 -1
- package/dist/esm/sdk/runtime-recovery-codes-Bvc0IXMJ.js +0 -1
- package/dist/esm/sdk/runtimeContext-CNFJjcns.js +0 -6
- package/dist/esm/sdk/secp256k1-BGVlx50C.js +0 -1
- package/dist/esm/sdk/sessionObservationRevision-84ZzJ-fC.js +0 -1
- package/dist/esm/sdk/signEvmFamily-PjwUc5MT.js +0 -1
- package/dist/esm/sdk/signNear-r8VCOoTh.js +0 -1
- package/dist/esm/sdk/signerSlot-D4ZOuK7e.js +0 -1
- package/dist/esm/sdk/signingQueue-BJzOrwDq.js +0 -1
- package/dist/esm/sdk/surface-measurement-reporter-NUm_54LH.js +0 -1
- package/dist/esm/sdk/thresholdEcdsa-tnY83qyG.js +0 -1
- package/dist/esm/sdk/transactionReview-DSGnpreN.js +0 -1
- package/dist/esm/sdk/unlockedEd25519ExportRootCapability-D43rvO9a.js +0 -1
- package/dist/esm/sdk/wallet-recovery-BjIQdOha.js +0 -1
- package/dist/esm/sdk/walletAuthMethodRecord-yIqCeE-o.js +0 -1
- package/dist/esm/sdk/walletCapabilityBindings-CUPk3mVH.js +0 -1
- package/dist/esm/sdk/walletCustodyEcdsaContinuity-DlOBCmwb.js +0 -1
- package/dist/esm/sdk/walletCustodyOperation-DzPcxEBS.js +0 -1
- package/dist/esm/sdk/walletDbName-DDJXrgA5.js +0 -1
- package/dist/esm/sdk/walletOwnershipGeneration-DI9ogcXF.js +0 -1
- package/dist/esm/sdk/walletRecoveryAdminProof-BJxmg3f7.js +0 -1
- package/dist/esm/sdk/walletRecoveryCommit-B7WsdR7y.js +0 -1
- package/dist/esm/sdk/walletRegistrationSetupPrewarm-CEJCj78c.js +0 -1
- package/dist/esm/sdk/walletSessionAuthorizationStatus-98G3Qji8.js +0 -1
- package/dist/esm/sdk/warmSessionHydration-DqZyfi1h.js +0 -1
- package/dist/public/sdk/NonceCoordinator-Bti1HQPo.js +0 -1
- package/dist/public/sdk/accountLifecycle-B98g9zN9.js +0 -1
- package/dist/public/sdk/actions-GYsSR2Q2.js +0 -1
- package/dist/public/sdk/activeWalletSession-H9JBdHyQ.js +0 -1
- package/dist/public/sdk/adapters-D5MZ5NG5.js +0 -2
- package/dist/public/sdk/appearance-DVFno9Tv.js +0 -1
- package/dist/public/sdk/appearance-token-vars-CgYTfCKg.js +0 -1
- package/dist/public/sdk/canonicalPrimitives-B6YMrI3W.js +0 -1
- package/dist/public/sdk/challengeDelivery-FW9gYyr0.js +0 -1
- package/dist/public/sdk/clientSessionPersistenceState-BPYK9PYV.js +0 -1
- package/dist/public/sdk/configBuilder-DrxXNUpV.js +0 -1
- package/dist/public/sdk/configuration-CAqANpTI.js +0 -1
- package/dist/public/sdk/ecdsaCapabilityManifest--FjbES8k.js +0 -1
- package/dist/public/sdk/ecdsaDerivationClientWasm-7Rp4TmYE.js +0 -1
- package/dist/public/sdk/ecdsaDerivationExport-dInN7N6e.js +0 -1
- package/dist/public/sdk/emailOtpEcdsaDerivationIdentity-CIh9IPai.js +0 -1
- package/dist/public/sdk/errors-ADOZT8oV.js +0 -1
- package/dist/public/sdk/exportKeypairOperation-BazJvSov.js +0 -1
- package/dist/public/sdk/helpers-CXqXyyCU.js +0 -1
- package/dist/public/sdk/host-C0Is56lU.js +0 -1
- package/dist/public/sdk/icons-DyndJzSh.js +0 -1
- package/dist/public/sdk/indexedDB-C1odKEC6.js +0 -1
- package/dist/public/sdk/intentDigest-BMXki7yB.js +0 -1
- package/dist/public/sdk/keyMaterialEnvelope-B-Q5KTJC.js +0 -1
- package/dist/public/sdk/localOnly-BB3Rx3J6.js +0 -1
- package/dist/public/sdk/nearEd25519YaoMaterialActivation-D9cdMKIZ.js +0 -1
- package/dist/public/sdk/nearEd25519YaoSigningPreparation-D_Jvj7ht.js +0 -1
- package/dist/public/sdk/operationFingerprint-Bn0lUYlm.js +0 -1
- package/dist/public/sdk/presignaturePool-CultzkOG.js +0 -1
- package/dist/public/sdk/recovery-entrypoint-QBvJBngm.js +0 -1
- package/dist/public/sdk/recoveryAuthorization-DB-zxeHq.js +0 -1
- package/dist/public/sdk/registration-CM5a7WYO.js +0 -1
- package/dist/public/sdk/registration-Hv0xi7-L.js +0 -1
- package/dist/public/sdk/registrationIntent-DTs2SR9E.js +0 -1
- package/dist/public/sdk/registrationSignerPlan-CgbFVsAp.js +0 -1
- package/dist/public/sdk/requireStepUpAuth-B7tC4MrA.js +0 -1
- package/dist/public/sdk/resealedEnvelopeResult--iCVt_Bh.js +0 -1
- package/dist/public/sdk/routerAbNormalSigning-Div3lZWV.js +0 -1
- package/dist/public/sdk/runtime-auth-CVw1KoVD.js +0 -1
- package/dist/public/sdk/runtime-device-link-Dp0YMZTQ.js +0 -1
- package/dist/public/sdk/runtime-ecdsa-tempo-DEIjIgEO.js +0 -1
- package/dist/public/sdk/runtime-email-otp-gsr_FsQn.js +0 -1
- package/dist/public/sdk/runtime-export-upMPrZ4V.js +0 -1
- package/dist/public/sdk/runtime-near-B64Hn3nc.js +0 -1
- package/dist/public/sdk/runtime-preferences-CULdHkbg.js +0 -1
- package/dist/public/sdk/runtime-recovery-D2saBaJy.js +0 -1
- package/dist/public/sdk/runtime-recovery-codes-Bvc0IXMJ.js +0 -1
- package/dist/public/sdk/runtimeContext-CNFJjcns.js +0 -6
- package/dist/public/sdk/secp256k1-BGVlx50C.js +0 -1
- package/dist/public/sdk/sessionObservationRevision-84ZzJ-fC.js +0 -1
- package/dist/public/sdk/signEvmFamily-PjwUc5MT.js +0 -1
- package/dist/public/sdk/signNear-r8VCOoTh.js +0 -1
- package/dist/public/sdk/signerSlot-D4ZOuK7e.js +0 -1
- package/dist/public/sdk/signingQueue-BJzOrwDq.js +0 -1
- package/dist/public/sdk/surface-measurement-reporter-NUm_54LH.js +0 -1
- package/dist/public/sdk/thresholdEcdsa-tnY83qyG.js +0 -1
- package/dist/public/sdk/transactionReview-DSGnpreN.js +0 -1
- package/dist/public/sdk/unlockedEd25519ExportRootCapability-D43rvO9a.js +0 -1
- package/dist/public/sdk/wallet-recovery-BjIQdOha.js +0 -1
- package/dist/public/sdk/walletAuthMethodRecord-yIqCeE-o.js +0 -1
- package/dist/public/sdk/walletCapabilityBindings-CUPk3mVH.js +0 -1
- package/dist/public/sdk/walletCustodyEcdsaContinuity-DlOBCmwb.js +0 -1
- package/dist/public/sdk/walletCustodyOperation-DzPcxEBS.js +0 -1
- package/dist/public/sdk/walletDbName-DDJXrgA5.js +0 -1
- package/dist/public/sdk/walletOwnershipGeneration-DI9ogcXF.js +0 -1
- package/dist/public/sdk/walletRecoveryAdminProof-BJxmg3f7.js +0 -1
- package/dist/public/sdk/walletRecoveryCommit-B7WsdR7y.js +0 -1
- package/dist/public/sdk/walletRegistrationSetupPrewarm-CEJCj78c.js +0 -1
- package/dist/public/sdk/walletSessionAuthorizationStatus-98G3Qji8.js +0 -1
- package/dist/public/sdk/warmSessionHydration-DqZyfi1h.js +0 -1
- /package/dist/esm/sdk/{accountIds-D5NI31F2.js → accountIds-CW2BP-d9.js} +0 -0
- /package/dist/esm/sdk/{authenticatorOptions-EF_Rps52.js → authenticatorOptions-WCDKYRux.js} +0 -0
- /package/dist/esm/sdk/{authorizationAdmission-DbhNiY3X.js → authorizationAdmission-28jo_IVJ.js} +0 -0
- /package/dist/esm/sdk/{browser-B2RI00tM.js → browser-CKS7Tq2r.js} +0 -0
- /package/dist/esm/sdk/{bytes-DVe42j_r.js → bytes-DXo6uALR.js} +0 -0
- /package/dist/esm/sdk/{canonicalSignerErrorCode-AwNMAn8S.js → canonicalSignerErrorCode-CX5PBpkt.js} +0 -0
- /package/dist/esm/sdk/{capabilityKinds-BzrNeEyO.js → capabilityKinds-DVlGMspk.js} +0 -0
- /package/dist/esm/sdk/{configHelpers-BNqoU2cv.js → configHelpers-CXDY3bKC.js} +0 -0
- /package/dist/esm/sdk/{csp-stylesheet-DeuiM0Mo.js → csp-stylesheet-DUSqfXvZ.js} +0 -0
- /package/dist/esm/sdk/{events-1dzC4Ocx.js → events-D6l0_ugy.js} +0 -0
- /package/dist/esm/sdk/{executeWorkerOperation-B-9JuL55.js → executeWorkerOperation-C9FOCCR7.js} +0 -0
- /package/dist/esm/sdk/{jsonRpc-CHutSlC9.js → jsonRpc-BVDv1wfm.js} +0 -0
- /package/dist/esm/sdk/{keccak-C9kCkZem.js → keccak-mS0Mejjx.js} +0 -0
- /package/dist/esm/sdk/{normalization-DtruiNPw.js → normalization-B3i1-rPQ.js} +0 -0
- /package/dist/esm/sdk/{prfCache-8Wm3etlV.js → prfCache-DEHaUPSW.js} +0 -0
- /package/dist/esm/sdk/{profileAccountProjection-D01e10UY.js → profileAccountProjection-C5sNt-s2.js} +0 -0
- /package/dist/esm/sdk/{promptText-Bz3YRl9D.js → promptText-bcKcsSka.js} +0 -0
- /package/dist/esm/sdk/{registrationAuthMethodInput-BvbWl0y_.js → registrationAuthMethodInput-BR1WVbK3.js} +0 -0
- /package/dist/esm/sdk/{sdkSentEvents-DUht3AOD.js → sdkSentEvents-DjOlKtdW.js} +0 -0
- /package/dist/esm/sdk/{shared-DcHtE-D-.js → shared-CkHhXgFB.js} +0 -0
- /package/dist/esm/sdk/{signer-worker-DlK58rEA.js → signer-worker-BNodGJKY.js} +0 -0
- /package/dist/esm/sdk/{signerDomain-D-EUTlLK.js → signerDomain-BAsLT3XN.js} +0 -0
- /package/dist/esm/sdk/{signingSessionSeal-DqbjG8c8.js → signingSessionSeal-BFOBKj-J.js} +0 -0
- /package/dist/esm/sdk/{types-fJKfUgTi.js → types-C4OErbBf.js} +0 -0
- /package/dist/esm/sdk/{walletIframeIdentity-Cz82I_Uh.js → walletIframeIdentity-CpgyEnKg.js} +0 -0
- /package/dist/esm/sdk/{walletSessionFailure-CLUIF3Eh.js → walletSessionFailure-CxsVtroW.js} +0 -0
- /package/dist/esm/sdk/{webauthnPromptCoordinator-CU9ag7vz.js → webauthnPromptCoordinator-npsSRD51.js} +0 -0
- /package/dist/public/sdk/{accountIds-D5NI31F2.js → accountIds-CW2BP-d9.js} +0 -0
- /package/dist/public/sdk/{authenticatorOptions-EF_Rps52.js → authenticatorOptions-WCDKYRux.js} +0 -0
- /package/dist/public/sdk/{authorizationAdmission-DbhNiY3X.js → authorizationAdmission-28jo_IVJ.js} +0 -0
- /package/dist/public/sdk/{browser-B2RI00tM.js → browser-CKS7Tq2r.js} +0 -0
- /package/dist/public/sdk/{bytes-DVe42j_r.js → bytes-DXo6uALR.js} +0 -0
- /package/dist/public/sdk/{canonicalSignerErrorCode-AwNMAn8S.js → canonicalSignerErrorCode-CX5PBpkt.js} +0 -0
- /package/dist/public/sdk/{capabilityKinds-BzrNeEyO.js → capabilityKinds-DVlGMspk.js} +0 -0
- /package/dist/public/sdk/{configHelpers-BNqoU2cv.js → configHelpers-CXDY3bKC.js} +0 -0
- /package/dist/public/sdk/{csp-stylesheet-DeuiM0Mo.js → csp-stylesheet-DUSqfXvZ.js} +0 -0
- /package/dist/public/sdk/{events-1dzC4Ocx.js → events-D6l0_ugy.js} +0 -0
- /package/dist/public/sdk/{executeWorkerOperation-B-9JuL55.js → executeWorkerOperation-C9FOCCR7.js} +0 -0
- /package/dist/public/sdk/{jsonRpc-CHutSlC9.js → jsonRpc-BVDv1wfm.js} +0 -0
- /package/dist/public/sdk/{keccak-C9kCkZem.js → keccak-mS0Mejjx.js} +0 -0
- /package/dist/public/sdk/{normalization-DtruiNPw.js → normalization-B3i1-rPQ.js} +0 -0
- /package/dist/public/sdk/{prfCache-8Wm3etlV.js → prfCache-DEHaUPSW.js} +0 -0
- /package/dist/public/sdk/{profileAccountProjection-D01e10UY.js → profileAccountProjection-C5sNt-s2.js} +0 -0
- /package/dist/public/sdk/{promptText-Bz3YRl9D.js → promptText-bcKcsSka.js} +0 -0
- /package/dist/public/sdk/{registrationAuthMethodInput-BvbWl0y_.js → registrationAuthMethodInput-BR1WVbK3.js} +0 -0
- /package/dist/public/sdk/{sdkSentEvents-DUht3AOD.js → sdkSentEvents-DjOlKtdW.js} +0 -0
- /package/dist/public/sdk/{shared-DcHtE-D-.js → shared-CkHhXgFB.js} +0 -0
- /package/dist/public/sdk/{signer-worker-DlK58rEA.js → signer-worker-BNodGJKY.js} +0 -0
- /package/dist/public/sdk/{signerDomain-D-EUTlLK.js → signerDomain-BAsLT3XN.js} +0 -0
- /package/dist/public/sdk/{signingSessionSeal-DqbjG8c8.js → signingSessionSeal-BFOBKj-J.js} +0 -0
- /package/dist/public/sdk/{types-fJKfUgTi.js → types-C4OErbBf.js} +0 -0
- /package/dist/public/sdk/{walletIframeIdentity-Cz82I_Uh.js → walletIframeIdentity-CpgyEnKg.js} +0 -0
- /package/dist/public/sdk/{walletSessionFailure-CLUIF3Eh.js → walletSessionFailure-CxsVtroW.js} +0 -0
- /package/dist/public/sdk/{webauthnPromptCoordinator-CU9ag7vz.js → webauthnPromptCoordinator-npsSRD51.js} +0 -0
|
@@ -2651,6 +2651,13 @@ var SeamsWalletRepositories = class {
|
|
|
2651
2651
|
], "readwrite", this.replaceExactActiveWalletSessionFromStatusInTransaction.bind(this, input));
|
|
2652
2652
|
}
|
|
2653
2653
|
async replaceExactActiveWalletSessionFromStatusInTransaction(input, ctx) {
|
|
2654
|
+
const current = await readExactActiveWalletSessionForScopeInTransaction({
|
|
2655
|
+
ctx,
|
|
2656
|
+
walletId: input.active.walletId,
|
|
2657
|
+
authorityId: input.active.authorityId,
|
|
2658
|
+
authMethodId: input.active.authMethodId
|
|
2659
|
+
});
|
|
2660
|
+
if (current.kind !== "found" || current.operationCredential.token !== input.operationCredential.token || current.operationCredential.walletSessionId !== input.operationCredential.walletSessionId) return { kind: "superseded" };
|
|
2654
2661
|
const authority = parseWalletAuthorityStorageRow(await ctx.store(SEAMS_WALLET_STORES.walletAuthorities).get(input.active.authorityId));
|
|
2655
2662
|
const selection = parseWalletSelectionStorageRow(await ctx.store(SEAMS_WALLET_STORES.walletSelections).get(input.active.walletId));
|
|
2656
2663
|
if (!authority || authority.record.state !== "active" || authority.record.walletId !== input.active.walletId || authority.record.authorityDigestB64u !== input.active.authorityDigestB64u || authority.record.revocationEpoch !== input.active.authorityRevocationEpoch || !selection || selection.record.lockState !== "unlocked" || selection.record.walletAuthMethodId !== input.active.authMethodId) return { kind: "superseded" };
|
|
@@ -4326,6 +4333,6 @@ var SeamsWalletRepositories = class {
|
|
|
4326
4333
|
}
|
|
4327
4334
|
};
|
|
4328
4335
|
//#endregion
|
|
4329
|
-
export { SeamsWalletRepositories, parseWalletAuthMethodV2StorageRow, parseWalletAuthorityStorageRow, parseWalletSelectionStorageRow };
|
|
4336
|
+
export { SeamsWalletRepositories, parseWalletAuthMethodV2StorageRow, parseWalletAuthorityStorageRow, parseWalletSelectionStorageRow, walletAuthorityStorageRow };
|
|
4330
4337
|
|
|
4331
4338
|
//# sourceMappingURL=repositories.js.map
|
|
@@ -1,13 +1,20 @@
|
|
|
1
|
+
import { requireCanonicalString } from "../../../shared-ts/src/utils/validation.js";
|
|
1
2
|
import { errorMessage } from "../../../shared-ts/src/utils/errors.js";
|
|
2
3
|
import { NearJsonRpcClient, SignedTransaction as SignedTransaction$1 } from "../../../shared-ts/src/near/nearClient.js";
|
|
3
4
|
import { NearRpcError } from "./NearRpcError.js";
|
|
4
5
|
//#region src/core/rpcClients/near/NearClient.ts
|
|
5
6
|
var SignedTransaction = class SignedTransaction extends SignedTransaction$1 {
|
|
7
|
+
transactionHash;
|
|
8
|
+
constructor(input) {
|
|
9
|
+
super(input);
|
|
10
|
+
this.transactionHash = input.transactionHash;
|
|
11
|
+
}
|
|
6
12
|
static fromPlain(input) {
|
|
7
13
|
return new SignedTransaction({
|
|
8
14
|
transaction: input.transaction,
|
|
9
15
|
signature: input.signature,
|
|
10
16
|
borsh_bytes: input.borsh_bytes,
|
|
17
|
+
transactionHash: requireCanonicalString(input.transactionHash, "signed transaction hash"),
|
|
11
18
|
...input.nonceLease ? { nonceLease: input.nonceLease } : {},
|
|
12
19
|
...input.serverDispatch ? { serverDispatch: input.serverDispatch } : {}
|
|
13
20
|
});
|
|
@@ -122,6 +122,13 @@ var WalletSessionStatusReadScope = class WalletSessionStatusReadScope {
|
|
|
122
122
|
for (const key of [...sessions.keys()]) if (key.startsWith(credentialKey)) sessions.delete(key);
|
|
123
123
|
}
|
|
124
124
|
}
|
|
125
|
+
/** Recovery changes the authority projected by an existing session. */
|
|
126
|
+
invalidateCredential(token) {
|
|
127
|
+
const credentialKey = statusCredentialKey(token);
|
|
128
|
+
for (const reads of this.readsByFetch.values()) for (const key of reads.keys()) if (key.startsWith(credentialKey)) reads.delete(key);
|
|
129
|
+
this.suppliedStatus = { kind: "remote" };
|
|
130
|
+
WalletSessionStatusReadScope.forgetCredential(token);
|
|
131
|
+
}
|
|
125
132
|
static observationForConfirmation(options, identity) {
|
|
126
133
|
return observationsByFetch.get(options.fetchImpl ?? defaultStatusFetch)?.get(statusIdentityKey(options, identity)) ?? null;
|
|
127
134
|
}
|
|
@@ -908,12 +908,15 @@ function toSignedTransactionResult(args) {
|
|
|
908
908
|
const signedTx = signedTransactions[0];
|
|
909
909
|
if (!signedTx || !signedTx.transaction || !signedTx.signature) throw new Error("Incomplete signed transaction data received");
|
|
910
910
|
const nonceLease = args.nonceLeases?.[0];
|
|
911
|
+
const transactionHash = args.okResponse.payload.transactionHashes?.[0];
|
|
912
|
+
if (!transactionHash) throw new Error("Signed transaction is missing its hash");
|
|
911
913
|
const serverDispatch = signedTx.serverDispatch;
|
|
912
914
|
return {
|
|
913
915
|
signedTransaction: new SignedTransaction({
|
|
914
916
|
transaction: signedTx.transaction,
|
|
915
917
|
signature: signedTx.signature,
|
|
916
918
|
borsh_bytes: Array.from(signedTx.borshBytes || []),
|
|
919
|
+
transactionHash,
|
|
917
920
|
...nonceLease ? { nonceLease } : {},
|
|
918
921
|
...serverDispatch ? { serverDispatch } : {}
|
|
919
922
|
}),
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { requireCanonicalString, requireNonEmptyString, requireRecord } from "../../shared-ts/src/utils/validation.js";
|
|
2
|
+
import { safeErrorMessage } from "../../shared-ts/src/utils/errors.js";
|
|
3
|
+
import { decodeNearFinalExecutionOutcome } from "../../shared-ts/src/utils/nearRpcResults.js";
|
|
4
|
+
//#region src/core/signingEngine/nearTransactionSubmission.ts
|
|
5
|
+
var NearTransactionRequest = class {
|
|
6
|
+
state = "not_dispatched";
|
|
7
|
+
constructor(transaction) {
|
|
8
|
+
this.transaction = transaction;
|
|
9
|
+
}
|
|
10
|
+
dispatched = () => {
|
|
11
|
+
this.state = "dispatched";
|
|
12
|
+
};
|
|
13
|
+
failed(error) {
|
|
14
|
+
if (this.state === "not_dispatched") return nearTransactionFailure(error, "not_submitted");
|
|
15
|
+
switch (this.transaction.kind) {
|
|
16
|
+
case "sign_and_send": return nearTransactionFailure(error, "submission_unknown");
|
|
17
|
+
case "send": return unresolvedNearTransaction(this.transaction.transactionId, error);
|
|
18
|
+
default: return assertNeverNearTransactionState(this.transaction);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
function assertNeverNearTransactionState(value) {
|
|
23
|
+
throw new Error(`Unsupported NEAR transaction state: ${String(value)}`);
|
|
24
|
+
}
|
|
25
|
+
function parseNearTransactionResult(raw) {
|
|
26
|
+
const result = requireRecord(raw, "NEAR transaction result");
|
|
27
|
+
if (result.success === true) {
|
|
28
|
+
const transactionId = requireCanonicalString(result.transactionId, "transactionId");
|
|
29
|
+
const outcome = decodeNearFinalExecutionOutcome(result.result);
|
|
30
|
+
if (transactionId !== outcome.transaction.hash) throw new Error("NEAR transaction result contains different transaction hashes");
|
|
31
|
+
if (typeof outcome.status === "object" && "Failure" in outcome.status) return unresolvedNearTransaction(transactionId, /* @__PURE__ */ new Error("NEAR transaction execution failed"));
|
|
32
|
+
return {
|
|
33
|
+
success: true,
|
|
34
|
+
transactionId,
|
|
35
|
+
result: outcome
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
if (result.success !== false) throw new Error("Invalid NEAR transaction result");
|
|
39
|
+
const error = requireNonEmptyString(result.error, "NEAR transaction error");
|
|
40
|
+
switch (result.kind) {
|
|
41
|
+
case "not_submitted": return {
|
|
42
|
+
success: false,
|
|
43
|
+
kind: "not_submitted",
|
|
44
|
+
error
|
|
45
|
+
};
|
|
46
|
+
case "submission_unknown": return {
|
|
47
|
+
success: false,
|
|
48
|
+
kind: "submission_unknown",
|
|
49
|
+
error
|
|
50
|
+
};
|
|
51
|
+
case "unresolved": return {
|
|
52
|
+
success: false,
|
|
53
|
+
kind: "unresolved",
|
|
54
|
+
transactionId: requireCanonicalString(result.transactionId, "transactionId"),
|
|
55
|
+
error
|
|
56
|
+
};
|
|
57
|
+
default: throw new Error("Invalid NEAR transaction failure");
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
function nearTransactionFailure(error, fallback) {
|
|
61
|
+
return {
|
|
62
|
+
success: false,
|
|
63
|
+
kind: fallback,
|
|
64
|
+
error: safeErrorMessage(error) || "NEAR transaction failed"
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
function unresolvedNearTransaction(transactionId, error) {
|
|
68
|
+
return {
|
|
69
|
+
success: false,
|
|
70
|
+
kind: "unresolved",
|
|
71
|
+
transactionId,
|
|
72
|
+
error: safeErrorMessage(error)
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
/** Application hooks cannot replace a settled transaction outcome with their own error. */
|
|
76
|
+
async function notifyNearTransactionResult(options, result) {
|
|
77
|
+
const error = result.success ? void 0 : new Error(result.error);
|
|
78
|
+
if (error) try {
|
|
79
|
+
await options?.onError?.(error);
|
|
80
|
+
} catch {}
|
|
81
|
+
try {
|
|
82
|
+
if (result.success) await options?.afterCall?.(true, result);
|
|
83
|
+
else await options?.afterCall?.(false, void 0, error);
|
|
84
|
+
} catch {}
|
|
85
|
+
}
|
|
86
|
+
//#endregion
|
|
87
|
+
export { NearTransactionRequest, nearTransactionFailure, notifyNearTransactionResult, parseNearTransactionResult };
|
|
88
|
+
|
|
89
|
+
//# sourceMappingURL=nearTransactionSubmission.js.map
|
|
@@ -299,7 +299,7 @@ function attachConfirmSurfaceResizeChoreographer(element, options = {}) {
|
|
|
299
299
|
current.moved = true;
|
|
300
300
|
} else current.framesSinceChange += 1;
|
|
301
301
|
const progress = clamp((viewportPx - current.originHostPx) / current.deltaCssPx, 0, 1);
|
|
302
|
-
if (
|
|
302
|
+
if (viewportPx === Math.round(current.originHostPx + current.deltaCssPx)) {
|
|
303
303
|
current.framesAtTarget += 1;
|
|
304
304
|
if (current.sawIntermediate || current.framesAtTarget >= LANDING_CONFIRM_FRAMES) {
|
|
305
305
|
settle();
|
|
@@ -310,7 +310,7 @@ function attachConfirmSurfaceResizeChoreographer(element, options = {}) {
|
|
|
310
310
|
}
|
|
311
311
|
if (current.framesAtTarget > 0) surfaceMotionDiagnostics.blipFrames += 1;
|
|
312
312
|
current.framesAtTarget = 0;
|
|
313
|
-
if (progress > 0) current.sawIntermediate = true;
|
|
313
|
+
if (progress > 0 && progress < 1) current.sawIntermediate = true;
|
|
314
314
|
current.driver.setProgress(progress);
|
|
315
315
|
const settledFrames = current.moved ? SETTLED_FRAMES_AFTER_MOTION : SETTLED_FRAMES_WITHOUT_MOTION;
|
|
316
316
|
if (current.framesSinceChange >= settledFrames) {
|
|
@@ -69,8 +69,14 @@ var ReviewDisclosure = class extends Component {
|
|
|
69
69
|
return;
|
|
70
70
|
}
|
|
71
71
|
details.open = true;
|
|
72
|
+
const scrollArea = details.parentElement?.closest(".seams-review-technical > div");
|
|
73
|
+
if (scrollArea && scrollArea.scrollHeight > scrollArea.clientHeight) {
|
|
74
|
+
details.open = opening;
|
|
75
|
+
details.removeAttribute("data-closing");
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
72
78
|
details.setAttribute("data-resizing", "");
|
|
73
|
-
const target = opening ? body.
|
|
79
|
+
const target = opening ? body.getBoundingClientRect().height : 0;
|
|
74
80
|
this.motion = {
|
|
75
81
|
kind: "hosted",
|
|
76
82
|
opening
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { appearanceTokenCssRule } from "../appearance-token-vars.js";
|
|
2
2
|
import { withWalletLocale } from "./WalletLocale.js";
|
|
3
3
|
import { PadlockIcon } from "./PadlockIcon.js";
|
|
4
|
+
import { CONFIRM_SURFACE_HEIGHT_DRIVEN_VAR, announceSurfaceResize } from "../confirm-surface-resize.js";
|
|
4
5
|
import { confirmationDocumentStyles } from "./confirmation-styles.js";
|
|
5
6
|
import { ConfirmationContent } from "./ConfirmationContent.js";
|
|
6
7
|
import { ConfirmationModal } from "./ConfirmationModal.js";
|
|
@@ -40,11 +41,40 @@ function captureReceiptAnchors(surface) {
|
|
|
40
41
|
selector,
|
|
41
42
|
text: element.textContent,
|
|
42
43
|
bounds: element.getBoundingClientRect(),
|
|
43
|
-
fontSize: getComputedStyle(element).fontSize
|
|
44
|
+
fontSize: getComputedStyle(element).fontSize,
|
|
45
|
+
textGeometry: element.matches("[role=\"status\"]") ? receiptTextGeometry(element) : null
|
|
44
46
|
});
|
|
45
47
|
}
|
|
46
48
|
return anchors;
|
|
47
49
|
}
|
|
50
|
+
function receiptTextGeometry(element) {
|
|
51
|
+
const range = element.ownerDocument.createRange();
|
|
52
|
+
range.selectNodeContents(element);
|
|
53
|
+
return {
|
|
54
|
+
bounds: range.getBoundingClientRect(),
|
|
55
|
+
lineCount: range.getClientRects().length
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
function receiptAnchorTransform(anchor, element) {
|
|
59
|
+
const destination = element.getBoundingClientRect();
|
|
60
|
+
const fontScale = parseFloat(anchor.fontSize) / parseFloat(getComputedStyle(element).fontSize);
|
|
61
|
+
let scaleX = fontScale;
|
|
62
|
+
let scaleY = fontScale;
|
|
63
|
+
let left = anchor.bounds.left - destination.left;
|
|
64
|
+
let top = anchor.bounds.top - destination.top;
|
|
65
|
+
if (anchor.textGeometry) {
|
|
66
|
+
const text = receiptTextGeometry(element);
|
|
67
|
+
const source = anchor.textGeometry.bounds;
|
|
68
|
+
const target = text.bounds;
|
|
69
|
+
if (anchor.textGeometry.lineCount === text.lineCount && target.width > 0 && target.height > 0) {
|
|
70
|
+
scaleX = source.width / target.width;
|
|
71
|
+
scaleY = source.height / target.height;
|
|
72
|
+
left = source.left - destination.left - (target.left - destination.left) * scaleX;
|
|
73
|
+
top = source.top - destination.top - (target.top - destination.top) * scaleY;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
return `translate(${left}px, ${top}px) scale(${scaleX}, ${scaleY})`;
|
|
77
|
+
}
|
|
48
78
|
/**
|
|
49
79
|
* The progress segments a capture draws while it checks, as they look now, from
|
|
50
80
|
* left to right whatever their drawing order. A line that has not split yet hands
|
|
@@ -87,7 +117,12 @@ var MountedConfirmationSurface = class {
|
|
|
87
117
|
receiptShell = null;
|
|
88
118
|
receiptGhost = null;
|
|
89
119
|
receiptSegments = [];
|
|
120
|
+
receiptResize = null;
|
|
90
121
|
clearReceiptMotion = () => {
|
|
122
|
+
this.element.querySelector(".seams-receipt-footer--hosted")?.classList.remove("seams-receipt-footer--hosted");
|
|
123
|
+
this.receiptResize?.element.classList.remove("seams-surface-height-driven");
|
|
124
|
+
this.receiptResize = null;
|
|
125
|
+
this.styles.deleteDynamicRule(`${this.element.id}-receipt-resize`);
|
|
91
126
|
for (const animation of this.receiptMotion) animation.cancel();
|
|
92
127
|
this.receiptMotion = [];
|
|
93
128
|
this.receiptShell?.remove();
|
|
@@ -147,20 +182,20 @@ var MountedConfirmationSurface = class {
|
|
|
147
182
|
}
|
|
148
183
|
showReceipt(model) {
|
|
149
184
|
if (this.state.kind !== "mounted" || this.state.model.content.kind !== "transaction") return;
|
|
150
|
-
const
|
|
185
|
+
const shouldMorph = this.receipt?.view !== model.view || this.receiptMotion.length > 0;
|
|
151
186
|
const previousShell = this.receiptShell ?? this.element.querySelector(".modal-container-root");
|
|
152
187
|
const previousBounds = previousShell?.getBoundingClientRect();
|
|
153
|
-
const anchors =
|
|
154
|
-
const leaving =
|
|
188
|
+
const anchors = shouldMorph ? captureReceiptAnchors(this.element) : [];
|
|
189
|
+
const leaving = shouldMorph ? this.liveCapture() : null;
|
|
155
190
|
const previousRadius = previousShell ? getComputedStyle(previousShell).borderRadius : "26px";
|
|
156
|
-
if (
|
|
191
|
+
if (shouldMorph) this.clearReceiptMotion();
|
|
157
192
|
this.receipt = model;
|
|
158
193
|
this.element.dataset.receiptView = model.view;
|
|
159
194
|
this.element.dataset.seamsConfirmSurface = "wallet-iframe";
|
|
160
195
|
this.element.dataset.seamsConfirmVariant = "modal";
|
|
161
196
|
this.renderSurface();
|
|
162
197
|
const target = this.element.querySelector(".modal-container-root");
|
|
163
|
-
if (
|
|
198
|
+
if (shouldMorph && previousBounds && target && !window.matchMedia("(prefers-reduced-motion: reduce)").matches) {
|
|
164
199
|
const bounds = target.getBoundingClientRect();
|
|
165
200
|
const shell = this.element.ownerDocument.createElement("div");
|
|
166
201
|
shell.className = "seams-receipt-morph-shell";
|
|
@@ -168,7 +203,7 @@ var MountedConfirmationSurface = class {
|
|
|
168
203
|
this.element.appendChild(shell);
|
|
169
204
|
this.receiptShell = shell;
|
|
170
205
|
this.element.setAttribute("data-receipt-morphing", "");
|
|
171
|
-
|
|
206
|
+
const morph = shell.animate([{
|
|
172
207
|
left: `${previousBounds.left}px`,
|
|
173
208
|
top: `${previousBounds.top}px`,
|
|
174
209
|
width: `${previousBounds.width}px`,
|
|
@@ -184,17 +219,17 @@ var MountedConfirmationSurface = class {
|
|
|
184
219
|
duration: RECEIPT_MORPH_DURATION_MS,
|
|
185
220
|
easing: RECEIPT_MORPH_EASING,
|
|
186
221
|
fill: "both"
|
|
187
|
-
})
|
|
222
|
+
});
|
|
223
|
+
this.receiptMotion = [morph];
|
|
224
|
+
const geometryAnimations = [morph];
|
|
188
225
|
const handedOver = leaving ? this.handOverCapture(leaving, target) : false;
|
|
189
226
|
const shared = /* @__PURE__ */ new Set();
|
|
190
227
|
for (const anchor of anchors) {
|
|
191
228
|
const element = target.querySelector(anchor.selector);
|
|
192
229
|
if (!element || element.textContent !== anchor.text) continue;
|
|
193
|
-
const destination = element.getBoundingClientRect();
|
|
194
230
|
shared.add(element);
|
|
195
|
-
const
|
|
196
|
-
|
|
197
|
-
transform: `translate(${anchor.bounds.left - destination.left}px, ${anchor.bounds.top - destination.top}px) scale(${scale})`,
|
|
231
|
+
const animation = element.animate([{
|
|
232
|
+
transform: receiptAnchorTransform(anchor, element),
|
|
198
233
|
transformOrigin: "top left"
|
|
199
234
|
}, {
|
|
200
235
|
transform: "translate(0, 0) scale(1)",
|
|
@@ -202,14 +237,17 @@ var MountedConfirmationSurface = class {
|
|
|
202
237
|
}], {
|
|
203
238
|
duration: RECEIPT_MORPH_DURATION_MS,
|
|
204
239
|
easing: RECEIPT_MORPH_EASING
|
|
205
|
-
})
|
|
240
|
+
});
|
|
241
|
+
this.receiptMotion.push(animation);
|
|
242
|
+
geometryAnimations.push(animation);
|
|
206
243
|
}
|
|
207
244
|
const details = target.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 > *");
|
|
208
245
|
let order = 0;
|
|
209
246
|
for (const detail of details) {
|
|
210
247
|
if (shared.has(detail)) continue;
|
|
211
248
|
const toolbar = leaving !== null && detail.matches(".seams-review-toolbar");
|
|
212
|
-
|
|
249
|
+
const stationary = toolbar || detail.matches(".seams-receipt-footer");
|
|
250
|
+
this.receiptMotion.push(detail.animate(stationary ? [{ opacity: 0 }, { opacity: 1 }] : [{
|
|
213
251
|
opacity: 0,
|
|
214
252
|
transform: "translateY(8px)"
|
|
215
253
|
}, {
|
|
@@ -228,12 +266,83 @@ var MountedConfirmationSurface = class {
|
|
|
228
266
|
}));
|
|
229
267
|
if (!toolbar) order += 1;
|
|
230
268
|
}
|
|
269
|
+
this.resizeReceipt({
|
|
270
|
+
element: target,
|
|
271
|
+
animations: geometryAnimations,
|
|
272
|
+
fromHeight: previousBounds.height,
|
|
273
|
+
toHeight: bounds.height
|
|
274
|
+
});
|
|
231
275
|
const motion = this.receiptMotion;
|
|
232
276
|
Promise.all(motion.map((animation) => animation.finished)).then(() => {
|
|
233
277
|
if (this.receiptMotion === motion) this.clearReceiptMotion();
|
|
234
278
|
}, ignoreCancelledMotion);
|
|
235
279
|
}
|
|
236
280
|
}
|
|
281
|
+
resizeReceipt(resize) {
|
|
282
|
+
if (Math.abs(resize.toHeight - resize.fromHeight) < 1) return;
|
|
283
|
+
this.receiptResize = resize;
|
|
284
|
+
for (const animation of resize.animations) {
|
|
285
|
+
animation.pause();
|
|
286
|
+
animation.effect?.updateTiming({ easing: "linear" });
|
|
287
|
+
}
|
|
288
|
+
resize.element.classList.add("seams-surface-height-driven");
|
|
289
|
+
this.setReceiptHeight(resize, resize.fromHeight);
|
|
290
|
+
if (announceSurfaceResize(resize.element, {
|
|
291
|
+
reason: "receipt-transition",
|
|
292
|
+
fromCssPx: resize.fromHeight,
|
|
293
|
+
toCssPx: resize.toHeight,
|
|
294
|
+
setHeightCssPx: this.setReceiptHeight.bind(this, resize),
|
|
295
|
+
finish: this.finishReceiptResize.bind(this, resize)
|
|
296
|
+
})) {
|
|
297
|
+
this.fitReceiptToViewport(resize);
|
|
298
|
+
return;
|
|
299
|
+
}
|
|
300
|
+
this.receiptResize = null;
|
|
301
|
+
resize.element.classList.remove("seams-surface-height-driven");
|
|
302
|
+
this.styles.deleteDynamicRule(`${this.element.id}-receipt-resize`);
|
|
303
|
+
for (const animation of resize.animations) {
|
|
304
|
+
animation.effect?.updateTiming({ easing: RECEIPT_MORPH_EASING });
|
|
305
|
+
animation.play();
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
fitReceiptToViewport(resize) {
|
|
309
|
+
const footer = resize.element.querySelector(".seams-receipt-footer");
|
|
310
|
+
for (const animation of resize.animations) {
|
|
311
|
+
const effect = animation.effect;
|
|
312
|
+
if (!(effect instanceof KeyframeEffect)) continue;
|
|
313
|
+
if (effect.target === this.receiptShell) {
|
|
314
|
+
this.receiptShell?.classList.add("seams-receipt-morph-shell--hosted");
|
|
315
|
+
const frames = effect.getKeyframes();
|
|
316
|
+
for (const frame of frames) {
|
|
317
|
+
delete frame.height;
|
|
318
|
+
delete frame.width;
|
|
319
|
+
}
|
|
320
|
+
effect.setKeyframes(frames);
|
|
321
|
+
} else if (footer && effect.target === footer) {
|
|
322
|
+
const frames = effect.getKeyframes();
|
|
323
|
+
for (const frame of frames) delete frame.transform;
|
|
324
|
+
effect.setKeyframes(frames);
|
|
325
|
+
}
|
|
326
|
+
}
|
|
327
|
+
footer?.classList.add("seams-receipt-footer--hosted");
|
|
328
|
+
}
|
|
329
|
+
setReceiptHeight(resize, height) {
|
|
330
|
+
if (this.receiptResize !== resize) return;
|
|
331
|
+
this.styles.setDynamicDeclarations(`${this.element.id}-receipt-resize`, `#${resize.element.id}`, {
|
|
332
|
+
[CONFIRM_SURFACE_HEIGHT_DRIVEN_VAR]: `${height}px`,
|
|
333
|
+
"--seams-receipt-target-height": `${resize.toHeight}px`
|
|
334
|
+
});
|
|
335
|
+
const progress = (height - resize.fromHeight) / (resize.toHeight - resize.fromHeight);
|
|
336
|
+
for (const animation of resize.animations) animation.currentTime = Math.max(0, Math.min(1, progress)) * RECEIPT_MORPH_DURATION_MS;
|
|
337
|
+
}
|
|
338
|
+
finishReceiptResize(resize) {
|
|
339
|
+
if (this.receiptResize !== resize) return;
|
|
340
|
+
this.receiptResize = null;
|
|
341
|
+
resize.element.classList.remove("seams-surface-height-driven");
|
|
342
|
+
resize.element.querySelector(".seams-receipt-footer--hosted")?.classList.remove("seams-receipt-footer--hosted");
|
|
343
|
+
this.styles.deleteDynamicRule(`${this.element.id}-receipt-resize`);
|
|
344
|
+
for (const animation of resize.animations) animation.finish();
|
|
345
|
+
}
|
|
237
346
|
/** The auth method capture still on screen, measured before the receipt replaces it. */
|
|
238
347
|
liveCapture() {
|
|
239
348
|
if (this.state.kind !== "mounted" || this.state.model.content.kind !== "transaction") return null;
|
|
@@ -37,6 +37,17 @@ const walletMessages = [
|
|
|
37
37
|
["Enter a recovery code to recover your wallet.", "リカバリーコードを入力してウォレットを復元してください。"],
|
|
38
38
|
["Create new passkey", "新しいパスキーを作成"],
|
|
39
39
|
["Continue with Google", "Google で続ける"],
|
|
40
|
+
["Connect wallet", "ウォレットを接続"],
|
|
41
|
+
["Back to wallet selection", "ウォレットの選択に戻る"],
|
|
42
|
+
["Choose how you’d like to get started.", "開始方法を選択してください。"],
|
|
43
|
+
["Create a Seams Wallet", "Seams ウォレットを作成"],
|
|
44
|
+
["Get started with a passkey", "パスキーで開始"],
|
|
45
|
+
["Use your existing wallet", "既存のウォレットを使用"],
|
|
46
|
+
["Connect Meteor Wallet", "Meteor Wallet を接続"],
|
|
47
|
+
["Connect HOT Wallet", "HOT Wallet を接続"],
|
|
48
|
+
["Connect Intear Wallet", "Intear Wallet を接続"],
|
|
49
|
+
["Mainnet only", "メインネットのみ"],
|
|
50
|
+
["Complete the request in your wallet.", "ウォレットでリクエストを完了してください。"],
|
|
40
51
|
["Verify email code", "メールのコードを確認"],
|
|
41
52
|
["Unlock with Google", "Google でロック解除"],
|
|
42
53
|
["Unlock with new passkey", "新しいパスキーでロック解除"],
|
|
@@ -232,6 +243,7 @@ const walletMessages = [
|
|
|
232
243
|
["Create a wallet", "ウォレットを作成"],
|
|
233
244
|
["Create wallet with passkey", "パスキーでウォレットを作成"],
|
|
234
245
|
["Unlock with passkey", "パスキーでロック解除"],
|
|
246
|
+
["Unlock with email code", "メールのコードでロック解除"],
|
|
235
247
|
["Saved wallets", "保存済みウォレット"],
|
|
236
248
|
["Generate another name", "別の名前を生成"],
|
|
237
249
|
["Other options", "その他の方法"],
|
|
@@ -8,7 +8,7 @@ import { SlidersIcon } from "./icons/SlidersIcon.js";
|
|
|
8
8
|
import { RecoveryCodesIcon } from "./icons/RecoveryCodesIcon.js";
|
|
9
9
|
import TouchIcon from "./icons/TouchIcon.js";
|
|
10
10
|
import { AccountMenuButtonView } from "./AccountMenuButtonView.js";
|
|
11
|
-
import { useProfileState } from "./hooks/useProfileState.js";
|
|
11
|
+
import { profileOpenControl, useProfileState } from "./hooks/useProfileState.js";
|
|
12
12
|
import { TransactionSettingsSection } from "./TransactionSettingsSection.js";
|
|
13
13
|
import { AccountMenuMockScreens } from "./AccountMenuMockScreens.js";
|
|
14
14
|
import { useEffect, useState } from "react";
|
|
@@ -55,18 +55,15 @@ function openPreview(setStatus, toggle) {
|
|
|
55
55
|
function resetPreviewNavigation(isOpen, setScreen) {
|
|
56
56
|
if (!isOpen) setScreen({ kind: "overview" });
|
|
57
57
|
}
|
|
58
|
-
function AccountMenuPreview(
|
|
59
|
-
const
|
|
58
|
+
function AccountMenuPreview(props) {
|
|
59
|
+
const { username = "Alex Chen", walletId = "alex.near", theme = "light", defaultOpen = true, presentation = "dropdown", className, style } = props;
|
|
60
60
|
const [status, setStatus] = useState("ready");
|
|
61
61
|
const [screen, setScreen] = useState({ kind: "overview" });
|
|
62
62
|
const [confirmation, setConfirmation] = useState({
|
|
63
63
|
uiMode: "modal",
|
|
64
64
|
behavior: "requireClick"
|
|
65
65
|
});
|
|
66
|
-
const { refs, isOpen, handleToggle, handleClose } = useProfileState(
|
|
67
|
-
open,
|
|
68
|
-
onOpenChange: setOpen
|
|
69
|
-
});
|
|
66
|
+
const { refs, isOpen, handleToggle, handleClose } = useProfileState(presentation, profileOpenControl(props, defaultOpen));
|
|
70
67
|
useEffect(resetPreviewNavigation.bind(null, isOpen, setScreen), [isOpen]);
|
|
71
68
|
const menuItems = [
|
|
72
69
|
{
|
|
@@ -137,6 +134,7 @@ function AccountMenuPreview({ username = "Alex Chen", walletId = "alex.near", th
|
|
|
137
134
|
}
|
|
138
135
|
];
|
|
139
136
|
return /* @__PURE__ */ jsx(AccountMenuButtonView, {
|
|
137
|
+
presentation,
|
|
140
138
|
buttonRef: refs.buttonRef,
|
|
141
139
|
dropdownRef: refs.dropdownRef,
|
|
142
140
|
className,
|
|
@@ -4,6 +4,7 @@ import { WalletText, useWalletLocale } from "../../context/WalletLocale.js";
|
|
|
4
4
|
import TouchIcon from "./icons/TouchIcon.js";
|
|
5
5
|
import { UserAccountButton } from "./UserAccountButton.js";
|
|
6
6
|
import { ProfileDropdown } from "./ProfileDropdown.js";
|
|
7
|
+
import { AccountMenuModal } from "./AccountMenuModal.js";
|
|
7
8
|
import { LockKeyholeIcon } from "./icons/LockKeyholeIcon.js";
|
|
8
9
|
import { useLayoutEffect, useRef, useState } from "react";
|
|
9
10
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
@@ -24,11 +25,18 @@ function observePanel(contentRef, isOpen, setHeight) {
|
|
|
24
25
|
observer.observe(content);
|
|
25
26
|
return observer.disconnect.bind(observer);
|
|
26
27
|
}
|
|
27
|
-
function closeWithEscape(onClose, event) {
|
|
28
|
+
function closeWithEscape(presentation, onClose, event) {
|
|
28
29
|
if (event.key !== "Escape" || event.defaultPrevented) return;
|
|
29
30
|
event.preventDefault();
|
|
31
|
+
if (presentation === "modal") event.stopPropagation();
|
|
30
32
|
onClose();
|
|
31
33
|
}
|
|
34
|
+
function revealModalScreen(presentation, event) {
|
|
35
|
+
if (presentation !== "modal" || !(event.target instanceof HTMLElement)) return;
|
|
36
|
+
if (!event.target.matches(".seams-account-heading h2, .seams-account-identity")) return;
|
|
37
|
+
const dialog = event.currentTarget.closest("dialog.seams-account-modal");
|
|
38
|
+
if (dialog instanceof HTMLDialogElement) dialog.scrollTop = 0;
|
|
39
|
+
}
|
|
32
40
|
function restoreTriggerFocus(buttonRef, previousOpen, isOpen) {
|
|
33
41
|
if (previousOpen.current && !isOpen) buttonRef.current?.querySelector("[aria-expanded]")?.focus({ preventScroll: true });
|
|
34
42
|
previousOpen.current = isOpen;
|
|
@@ -38,7 +46,7 @@ function restoreOverviewFocus(buttonRef, previousScreen, hasScreen) {
|
|
|
38
46
|
previousScreen.current = hasScreen;
|
|
39
47
|
}
|
|
40
48
|
/** One shell for live account screens and the provider-free preview. */
|
|
41
|
-
function AccountMenuButtonView({ buttonRef, dropdownRef, trigger, dropdown, className, style, children }) {
|
|
49
|
+
function AccountMenuButtonView({ presentation, buttonRef, dropdownRef, trigger, dropdown, className, style, children }) {
|
|
42
50
|
const locale = useWalletLocale();
|
|
43
51
|
const contentRef = useRef(null);
|
|
44
52
|
const hasScreen = children !== null && children !== void 0;
|
|
@@ -47,8 +55,8 @@ function AccountMenuButtonView({ buttonRef, dropdownRef, trigger, dropdown, clas
|
|
|
47
55
|
const previousOpen = useRef(trigger.isOpen);
|
|
48
56
|
useLayoutEffect(restoreTriggerFocus.bind(null, buttonRef, previousOpen, trigger.isOpen), [buttonRef, trigger.isOpen]);
|
|
49
57
|
const [height, setHeight] = useState(null);
|
|
50
|
-
useLayoutEffect(observePanel.bind(null, contentRef, trigger.isOpen, setHeight), [trigger.isOpen]);
|
|
51
|
-
|
|
58
|
+
useLayoutEffect(observePanel.bind(null, contentRef, trigger.isOpen, setHeight), [trigger.isOpen, presentation]);
|
|
59
|
+
const panel = /* @__PURE__ */ jsx("div", {
|
|
52
60
|
ref: buttonRef,
|
|
53
61
|
className: `seams-profile-button-morphable ${trigger.isOpen ? "open" : "closed"} ${className ?? ""}`,
|
|
54
62
|
style: trigger.isOpen ? style : {
|
|
@@ -56,9 +64,10 @@ function AccountMenuButtonView({ buttonRef, dropdownRef, trigger, dropdown, clas
|
|
|
56
64
|
width: "fit-content"
|
|
57
65
|
},
|
|
58
66
|
"data-state": trigger.isOpen ? "open" : "closed",
|
|
67
|
+
onFocusCapture: revealModalScreen.bind(null, presentation),
|
|
59
68
|
children: trigger.isOpen ? /* @__PURE__ */ jsx("div", {
|
|
60
69
|
className: "seams-account-resize",
|
|
61
|
-
onKeyDown: closeWithEscape.bind(null, dropdown.onClose),
|
|
70
|
+
onKeyDown: closeWithEscape.bind(null, presentation, dropdown.onClose),
|
|
62
71
|
style: { height: height ?? void 0 },
|
|
63
72
|
children: /* @__PURE__ */ jsxs("div", {
|
|
64
73
|
ref: contentRef,
|
|
@@ -71,6 +80,7 @@ function AccountMenuButtonView({ buttonRef, dropdownRef, trigger, dropdown, clas
|
|
|
71
80
|
/* @__PURE__ */ jsx("span", { children: typeof window === "undefined" ? "" : window.location.host }),
|
|
72
81
|
/* @__PURE__ */ jsx("button", {
|
|
73
82
|
type: "button",
|
|
83
|
+
className: "seams-account-close",
|
|
74
84
|
"aria-label": walletText(locale, "Close wallet settings"),
|
|
75
85
|
onClick: dropdown.onClose,
|
|
76
86
|
children: /* @__PURE__ */ jsx("svg", {
|
|
@@ -121,6 +131,12 @@ function AccountMenuButtonView({ buttonRef, dropdownRef, trigger, dropdown, clas
|
|
|
121
131
|
})
|
|
122
132
|
}) : /* @__PURE__ */ jsx(UserAccountButton, { ...trigger })
|
|
123
133
|
});
|
|
134
|
+
if (presentation === "modal") return /* @__PURE__ */ jsx(AccountMenuModal, {
|
|
135
|
+
isOpen: trigger.isOpen,
|
|
136
|
+
onClose: dropdown.onClose,
|
|
137
|
+
children: panel
|
|
138
|
+
});
|
|
139
|
+
return panel;
|
|
124
140
|
}
|
|
125
141
|
//#endregion
|
|
126
142
|
export { AccountMenuButtonView };
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { walletText } from "../../../core/ui/messages.js";
|
|
2
|
+
import { useWalletLocale } from "../../context/WalletLocale.js";
|
|
3
|
+
import { Theme, useTheme } from "../theme/ThemeProvider.js";
|
|
4
|
+
import { useLayoutEffect, useRef } from "react";
|
|
5
|
+
import { createPortal } from "react-dom";
|
|
6
|
+
import { jsx } from "react/jsx-runtime";
|
|
7
|
+
//#region src/react/components/AccountMenuButton/AccountMenuModal.tsx
|
|
8
|
+
function openDialog(ref) {
|
|
9
|
+
const dialog = ref.current;
|
|
10
|
+
if (!dialog) return;
|
|
11
|
+
dialog.showModal();
|
|
12
|
+
return dialog.close.bind(dialog);
|
|
13
|
+
}
|
|
14
|
+
function isBackdrop(event) {
|
|
15
|
+
if (event.target !== event.currentTarget) return false;
|
|
16
|
+
const bounds = event.currentTarget.getBoundingClientRect();
|
|
17
|
+
return event.clientX < bounds.left || event.clientX > bounds.right || event.clientY < bounds.top || event.clientY > bounds.bottom;
|
|
18
|
+
}
|
|
19
|
+
function rememberBackdrop(startedOutside, event) {
|
|
20
|
+
startedOutside.current = isBackdrop(event);
|
|
21
|
+
}
|
|
22
|
+
function closeBackdrop(startedOutside, onClose, event) {
|
|
23
|
+
const shouldClose = startedOutside.current && isBackdrop(event);
|
|
24
|
+
startedOutside.current = false;
|
|
25
|
+
if (!shouldClose) return;
|
|
26
|
+
event.stopPropagation();
|
|
27
|
+
onClose();
|
|
28
|
+
}
|
|
29
|
+
function cancelDialog(onClose, event) {
|
|
30
|
+
event.preventDefault();
|
|
31
|
+
event.stopPropagation();
|
|
32
|
+
onClose();
|
|
33
|
+
}
|
|
34
|
+
function SettingsDialog({ onClose, children }) {
|
|
35
|
+
const locale = useWalletLocale();
|
|
36
|
+
const ref = useRef(null);
|
|
37
|
+
const startedOutside = useRef(false);
|
|
38
|
+
useLayoutEffect(openDialog.bind(null, ref), []);
|
|
39
|
+
return /* @__PURE__ */ jsx("dialog", {
|
|
40
|
+
ref,
|
|
41
|
+
"data-seams-root": "",
|
|
42
|
+
className: "seams-account-modal",
|
|
43
|
+
"aria-label": walletText(locale, "Wallet settings"),
|
|
44
|
+
onCancel: cancelDialog.bind(null, onClose),
|
|
45
|
+
onPointerDown: rememberBackdrop.bind(null, startedOutside),
|
|
46
|
+
onClick: closeBackdrop.bind(null, startedOutside, onClose),
|
|
47
|
+
children
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
function AccountMenuModal({ isOpen, onClose, children }) {
|
|
51
|
+
const { theme, tokens } = useTheme();
|
|
52
|
+
if (!isOpen || typeof document === "undefined") return null;
|
|
53
|
+
return createPortal(/* @__PURE__ */ jsx(Theme, {
|
|
54
|
+
tag: "div",
|
|
55
|
+
theme,
|
|
56
|
+
tokens: { [theme]: tokens },
|
|
57
|
+
children: /* @__PURE__ */ jsx(SettingsDialog, {
|
|
58
|
+
onClose,
|
|
59
|
+
children
|
|
60
|
+
})
|
|
61
|
+
}), document.body);
|
|
62
|
+
}
|
|
63
|
+
//#endregion
|
|
64
|
+
export { AccountMenuModal };
|
|
65
|
+
|
|
66
|
+
//# sourceMappingURL=AccountMenuModal.js.map
|