@seams/wallet 0.15.4 → 0.17.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 +47 -19
- package/THIRD_PARTY_NOTICES.md +102 -1
- package/dist/.build-inputs.sha256 +1 -1
- package/dist/esm/SeamsWeb/SeamsWeb.js +20 -1
- package/dist/esm/SeamsWeb/operations/registration/registrationSignerSet.js +73 -0
- package/dist/esm/SeamsWeb/operations/session/thresholdEcdsaProvisioning.js +22 -0
- package/dist/esm/SeamsWeb/publicApi/capabilitySelection.js +2 -1
- package/dist/esm/SeamsWeb/publicApi/createPublicApi.js +26 -1
- package/dist/esm/SeamsWeb/walletIframe/client/overlay/overlay-controller.js +71 -69
- package/dist/esm/SeamsWeb/walletIframe/client/preferenceState.js +6 -8
- package/dist/esm/SeamsWeb/walletIframe/client/preferences.js +7 -5
- package/dist/esm/SeamsWeb/walletIframe/client/progress/on-events-progress-bus.js +2 -1
- package/dist/esm/SeamsWeb/walletIframe/client/router.js +116 -108
- package/dist/esm/SeamsWeb/walletIframe/client/surface/transactionSurfaceQueue.js +11 -7
- package/dist/esm/SeamsWeb/walletIframe/client/transactionReviewReservation.js +3 -2
- package/dist/esm/SeamsWeb/walletIframe/client/transport/IframeTransport.js +53 -49
- package/dist/esm/SeamsWeb/walletIframe/client/transport/iframe-transport-handshake.js +6 -2
- package/dist/esm/SeamsWeb/walletIframe/coordinator.js +18 -13
- package/dist/esm/SeamsWeb/walletIframe/host/auth-menu/domain.js +13 -1
- package/dist/esm/SeamsWeb/walletIframe/host/surface-measurement-reporter.js +14 -13
- package/dist/esm/SeamsWeb/walletIframe/host/ui/auth-menu/AuthMenuFooter.js +1 -4
- package/dist/esm/SeamsWeb/walletIframe/host/ui/auth-menu/AuthMenuSurface.js +306 -301
- package/dist/esm/SeamsWeb/walletIframe/host/ui/auth-menu/mountAuthMenuSurface.js +9 -6
- package/dist/esm/SeamsWeb/walletIframe/shared/exactSessionState.js +1 -0
- package/dist/esm/core/config/configBuilder.js +1 -1
- package/dist/esm/core/config/defaultConfigs.js +1 -0
- package/dist/esm/core/indexedDB/accountSignerLifecycle.js +2 -0
- package/dist/esm/core/indexedDB/seamsWalletDB/ecdsaCapabilityManifestStore.js +1 -0
- package/dist/esm/core/indexedDB/seamsWalletDB/manager.js +6 -5
- package/dist/esm/core/indexedDB/seamsWalletDB/repositories.js +2 -0
- package/dist/esm/core/indexedDB/seamsWalletDB/walletSessionAuthorizationStore.js +2 -2
- package/dist/esm/core/indexedDB/unifiedIndexedDBManager.js +6 -3
- package/dist/esm/core/rpcClients/near/NearRpcError.js +7 -0
- package/dist/esm/core/rpcClients/relayer/routerAbNormalSigning.js +3 -0
- package/dist/esm/core/rpcClients/relayer/walletRegistration.js +6 -2
- package/dist/esm/core/rpcClients/relayer/walletSessionAuthorizationStatus.js +5 -4
- package/dist/esm/core/signingEngine/chains/evm/evmAdapter.js +2 -1
- package/dist/esm/core/signingEngine/chains/tempo/tempoAdapter.js +2 -1
- package/dist/esm/core/signingEngine/flows/registration/accountLifecycle.js +1 -1
- package/dist/esm/core/signingEngine/flows/signEvmFamily/signers/secp256k1.js +5 -1
- package/dist/esm/core/signingEngine/flows/signEvmFamily/signers/webauthnP256.js +1 -1
- package/dist/esm/core/signingEngine/flows/signEvmFamily/signingFlow.js +3 -2
- package/dist/esm/core/signingEngine/routerAb/ecdsaDerivation/presignatureRefillProgress.js +5 -7
- package/dist/esm/core/signingEngine/session/lifecycle/walletSessionFailure.js +2 -0
- package/dist/esm/core/signingEngine/session/material/ecdsaCapabilityManifest.js +68 -10
- package/dist/esm/core/signingEngine/session/material/walletSigningStateFailure.js +2 -2
- package/dist/esm/core/signingEngine/session/operationState/authorizationAdmission.js +2 -0
- package/dist/esm/core/signingEngine/stepUpConfirmation/methodSelection.js +2 -0
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/ConfirmContent.js +29 -28
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/ConfirmationBody.js +3 -6
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/ConfirmationContent.js +20 -23
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/ConfirmationDrawer.js +134 -137
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/ConfirmationModal.js +17 -20
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/EmailOtpContent.js +41 -39
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/EmailOtpInput.js +14 -17
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/HaloBorder.js +21 -24
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/PasskeyRegistrationContent.js +6 -9
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/RecoveryCodeBackupSurface.js +100 -103
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/ReviewDisclosure.js +70 -73
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/TransactionReceipt.js +23 -26
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/TransactionReview.js +19 -22
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/TransactionTree.js +114 -117
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/email-otp-session.js +81 -80
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/mountConfirmationSurface.js +41 -37
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/mountRecoveryCodeBackupSurface.js +13 -9
- package/dist/esm/core/signingEngine/uiConfirm/ui/transaction-display/tree.js +4 -21
- package/dist/esm/core/types/actionBuilders.js +16 -2
- package/dist/esm/core/types/amounts.js +83 -0
- package/dist/esm/core/types/linkDevice.js +1 -1
- package/dist/esm/externalEvm/controller.js +49 -48
- package/dist/esm/index.js +2 -1
- package/dist/esm/react/boundWallet.js +56 -0
- package/dist/esm/react/components/AccountMenuButton/LinkedDevicesModal.css +13 -2
- package/dist/esm/react/components/AccountMenuButton/WalletRegionSection.js +90 -93
- package/dist/esm/react/components/AccountMenuButton/WalletSettingsLayout.js +55 -58
- package/dist/esm/react/components/HostedSeamsAuthMenu/shell.js +17 -6
- package/dist/esm/react/components/ShowQRCode.css +13 -2
- package/dist/esm/react/context/index.js +30 -3
- package/dist/esm/react/context/useSeamsWithSdkFlow.js +1 -1
- package/dist/esm/react/externalEvm.js +22 -25
- package/dist/esm/react/index.js +4 -4
- package/dist/esm/react/styles/styles.css +13 -2
- package/dist/esm/react/transactionReview/TransactionReviewHost.js +3 -6
- package/dist/esm/react/transactionReview/boundCalls.js +1 -1
- package/dist/esm/react/transactionReview/controller.js +121 -119
- package/dist/esm/sdk/ConfirmationDrawer-CXVNmfTy.js +1 -0
- package/dist/esm/sdk/NonceCoordinator-DuDKN-B8.js +1 -0
- package/dist/{public/sdk/accountLifecycle-CBOkr0vU.js → esm/sdk/accountLifecycle-D61FIpFS.js} +1 -1
- package/dist/esm/sdk/{activeWalletSession-WdZkhtBB.js → activeWalletSession-Ba6X4CUN.js} +1 -1
- package/dist/esm/sdk/adapters-CTlDBRJy.js +2 -0
- package/dist/esm/sdk/authorizationAdmission-Dd23mTx7.js +1 -0
- package/dist/esm/sdk/{canonicalPrimitives-Dsbsxgxc.js → canonicalPrimitives-BOzRXzfv.js} +1 -1
- package/dist/esm/sdk/{capabilityKinds-N8xo_IEh.js → capabilityKinds-D0Yrp9uf.js} +1 -1
- package/dist/esm/sdk/{chains-C_X_fNuS.js → chains-CPmd4s9f.js} +1 -1
- package/dist/esm/sdk/challengeDelivery-FD9GHK1T.js +1 -0
- package/dist/esm/sdk/{clientSessionPersistenceState-CBylL1Ul.js → clientSessionPersistenceState-BHRUSWMt.js} +1 -1
- package/dist/esm/sdk/{commitQueue-DYEgzoLA.js → commitQueue-DOIaR0Hr.js} +1 -1
- package/dist/esm/sdk/{configHelpers-B-hs0mTO.js → configHelpers-BXdl5Mxs.js} +1 -1
- package/dist/esm/sdk/{digestEncoding-BX3VW9eF.js → digestEncoding-CbEFYvlJ.js} +1 -1
- package/dist/esm/sdk/{display-DsfJkAra.js → display-CY_aJEn6.js} +1 -1
- package/dist/esm/sdk/domainIds-C3fUa33Q.js +1 -0
- package/dist/esm/sdk/ecdsaCapabilityManifest-DzA996y9.js +1 -0
- package/dist/esm/sdk/{ecdsaChainTarget-Bfatk3oP.js → ecdsaChainTarget-DkOrgv4y.js} +1 -1
- package/dist/esm/sdk/ecdsaDerivationClientWasm-DQlajPpE.js +1 -0
- package/dist/{public/sdk/ecdsaDerivationExport-DOGzq0qC.js → esm/sdk/ecdsaDerivationExport-DyugdheE.js} +1 -1
- package/dist/esm/sdk/{ecdsaWalletRecords-CHfrYvKr.js → ecdsaWalletRecords-C_v74n5X.js} +1 -1
- package/dist/{public/sdk/emailOtpEcdsaDerivationIdentity-Bik0N8v9.js → esm/sdk/emailOtpEcdsaDerivationIdentity-BDVjvnmO.js} +1 -1
- package/dist/esm/sdk/{errors-DIWY1KR9.js → errors-ADOZT8oV.js} +1 -1
- package/dist/esm/sdk/export-viewer-host-DsRaS0UH.js +1 -0
- package/dist/{public/sdk/exportKeypairOperation-DzbjKbnk.js → esm/sdk/exportKeypairOperation-SJPysnE1.js} +1 -1
- package/dist/esm/sdk/{helpers-B9fpZNAP.js → helpers-D3CUEdHI.js} +1 -1
- package/dist/esm/sdk/{host-z-JJRWQe.js → host-GPb_mSAQ.js} +1 -1
- package/dist/esm/sdk/{intentDigest-P_-CM7lS.js → intentDigest-CGLrsMgj.js} +1 -1
- package/dist/esm/sdk/{lanes-5kcTFbPx.js → lanes-DJKIHJBm.js} +1 -1
- package/dist/esm/sdk/{localOnly-C5mSXb_D.js → localOnly-CPmpw381.js} +1 -1
- package/dist/esm/sdk/mountExportPrivateKeySurface-C8_tpDHF.js +1 -0
- package/dist/esm/sdk/mountRecoveryCodeBackupSurface-BtNFtmSj.js +2 -0
- package/dist/esm/sdk/nearEd25519YaoMaterialActivation-J6EHFScV.js +1 -0
- package/dist/{public/sdk/nearEd25519YaoSigningPreparation-RIfkYN0d.js → esm/sdk/nearEd25519YaoSigningPreparation-CqBNMG87.js} +1 -1
- package/dist/esm/sdk/{nonceLaneKeys-BCYfl1wv.js → nonceLaneKeys-D18nlLjh.js} +1 -1
- package/dist/esm/sdk/{normalization-n503J-BI.js → normalization-Ct9-AY13.js} +1 -1
- package/dist/esm/sdk/{operationFingerprint-BHNYryLY.js → operationFingerprint-Boa9DQ51.js} +1 -1
- package/dist/esm/sdk/{passkey-custody-DpTM-eNJ.js → passkey-custody-CBSal3E9.js} +1 -1
- package/dist/esm/sdk/{pendingWalletRecoveryCodeBackup-C60sZMj5.js → pendingWalletRecoveryCodeBackup-CvsrXbzn.js} +1 -1
- package/dist/esm/sdk/presignaturePool-CQNt13kE.js +1 -0
- package/dist/esm/sdk/{primitives-CqrjmIAH.js → primitives-cC0a9GRC.js} +1 -1
- package/dist/{public/sdk/recovery-entrypoint-BULjaFBM.js → esm/sdk/recovery-entrypoint-nj7Zo3CR.js} +1 -1
- package/dist/esm/sdk/{registration-CyF7nOXs.js → registration-49OGU_GZ.js} +1 -1
- package/dist/esm/sdk/registration-C7tywPXF.js +1 -0
- package/dist/esm/sdk/{registrationAccounts-BQMUusdD.js → registrationAccounts-9GFI0Ger.js} +1 -1
- package/dist/esm/sdk/{registrationAuthMethodInput-RbSR7R1G.js → registrationAuthMethodInput-B23_HRil.js} +1 -1
- package/dist/esm/sdk/{registrationIds-BaK3jUS6.js → registrationIds-Br-zI4_5.js} +1 -1
- package/dist/esm/sdk/{registrationIntent-090Zj7Iu.js → registrationIntent-PqmcTEE3.js} +1 -1
- package/dist/esm/sdk/{registrationSignerPlan-CPzHavPM.js → registrationSignerPlan-BHkqlian.js} +1 -1
- package/dist/{public/sdk/requireStepUpAuth-BCY5ZStI.js → esm/sdk/requireStepUpAuth-C4PGTly-.js} +1 -1
- package/dist/esm/sdk/routerAbNormalSigning-xxATTIh5.js +1 -0
- package/dist/esm/sdk/runtime-auth-CpjGW90U.js +1 -0
- package/dist/esm/sdk/{runtime-device-link-Dq8g_UNb.js → runtime-device-link-CKgfGi7D.js} +1 -1
- package/dist/esm/sdk/{runtime-ecdsa-tempo-AGjT7Xpa.js → runtime-ecdsa-tempo-5VV9xSEh.js} +1 -1
- package/dist/esm/sdk/{runtime-email-otp-BpBOuSsT.js → runtime-email-otp-D1hYZNn6.js} +1 -1
- package/dist/esm/sdk/{runtime-export-CBsacCPY.js → runtime-export-B92wQD25.js} +1 -1
- package/dist/esm/sdk/{runtime-near-J3hKjC7G.js → runtime-near-CUuKg38M.js} +1 -1
- package/dist/esm/sdk/runtime-preferences-EdL3G_MO.js +1 -0
- package/dist/esm/sdk/{runtime-recovery-codes-GOytzExh.js → runtime-recovery-codes-LR4mg7-k.js} +1 -1
- package/dist/esm/sdk/runtime-recovery-uyw8sywI.js +1 -0
- package/dist/esm/sdk/{sdkSentEvents-D4KtK7_I.js → sdkSentEvents-DujYAPEM.js} +1 -1
- package/dist/esm/sdk/secp256k1-BldUPNQI.js +1 -0
- package/dist/{public/sdk/sessionObservationRevision-CnEOLDbl.js → esm/sdk/sessionObservationRevision-DmmNV25w.js} +1 -1
- package/dist/esm/sdk/shared-ha31XIdc.js +6 -0
- package/dist/{public/sdk/signEvmFamily-Cpm3e6Zs.js → esm/sdk/signEvmFamily-C_RvEnDB.js} +1 -1
- package/dist/esm/sdk/signEvmFamilyWithUiConfirmForTempo-CUKdq5dE.js +1 -0
- package/dist/esm/sdk/{signEvmWithUiConfirm-BRmdLgmm.js → signEvmWithUiConfirm-CxXzcvj2.js} +1 -1
- package/dist/esm/sdk/signNear-Dno7NsP_.js +1 -0
- package/dist/esm/sdk/signatureUses-B_nN17i7.js +1 -0
- package/dist/esm/sdk/{signerDomain-Dp7BhfmZ.js → signerDomain-BFqRQ0Jl.js} +1 -1
- package/dist/{public/sdk/signingFlow-VAnM8L5C.js → esm/sdk/signingFlow-DtugI_2z.js} +2 -2
- package/dist/esm/sdk/{signingQueue-D_Ebmzcn.js → signingQueue-C1Pb07gm.js} +1 -1
- package/dist/{public/sdk/singletons-BXhnsqeY.js → esm/sdk/singletons-DxIyVhNb.js} +1 -1
- package/dist/esm/sdk/surface-measurement-reporter-BJhfiPw6.js +1 -0
- package/dist/{public/sdk/thresholdEcdsa-CneSKcRt.js → esm/sdk/thresholdEcdsa-murTq-xz.js} +1 -1
- package/dist/esm/sdk/{trace-BBux0jtr.js → trace-CsRMlSh1.js} +1 -1
- package/dist/{public/sdk/transaction-activity-Cccvec2J.js → esm/sdk/transaction-activity-C0nCSW6c.js} +1 -1
- package/dist/esm/sdk/transactionReviewAdmission-CNNho8IG.js +1 -0
- package/dist/{public/sdk/transactionState-Day-1x7Y.js → esm/sdk/transactionState-XbZm9Zon.js} +1 -1
- package/dist/esm/sdk/tx-confirm-ui.js +709 -744
- package/dist/esm/sdk/{types-hKLqDUhR.js → types-CQTWmtqu.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/{public/sdk/wallet-recovery-Bfhfk52N.js → esm/sdk/wallet-recovery-CVUalZ3p.js} +1 -1
- package/dist/esm/sdk/wallet-ui.css +1 -1
- package/dist/{public/sdk/walletAuthMethodRecord-LniOQQmj.js → esm/sdk/walletAuthMethodRecord-Bv68Vq-g.js} +1 -1
- package/dist/esm/sdk/{walletAuthority-CAiGuWW2.js → walletAuthority-v5wvv3IB.js} +1 -1
- package/dist/esm/sdk/walletCustodyEcdsaContinuity-rRHExT_R.js +1 -0
- package/dist/esm/sdk/{walletDbName-DtRewci9.js → walletDbName-DRzPv5Ir.js} +1 -1
- package/dist/esm/sdk/{walletOwnershipGeneration-B6HyR2rE.js → walletOwnershipGeneration-pMmmJ6XA.js} +1 -1
- package/dist/esm/sdk/{walletRecoveryCommit-C6HF84_U.js → walletRecoveryCommit-DvC6WlGz.js} +1 -1
- package/dist/esm/sdk/{walletRecoveryRotate-BN3H8byw.js → walletRecoveryRotate-Dd3prJpr.js} +1 -1
- package/dist/esm/sdk/walletRegistrationSetupPrewarm-DcbhVNMQ.js +1 -0
- package/dist/esm/sdk/walletSessionAuthorizationStatus-DVV3xkAx.js +1 -0
- package/dist/esm/sdk/walletSessionAuthorizationStore-D-MhJ0PC.js +1 -0
- package/dist/esm/sdk/walletSessionFailure-C6TAQTZn.js +1 -0
- package/dist/esm/sdk/webauthnP256-XgYu-Y6E.js +1 -0
- package/dist/esm/sdk/webauthnPromptCoordinator-D5sP8Q7e.js +1 -0
- package/dist/esm/shared-ts/src/authorization/delegatedAuthority.js +1 -1
- package/dist/esm/shared-ts/src/authorization/operationFingerprint.js +6 -0
- package/dist/esm/shared-ts/src/near/nearClient.js +6 -0
- package/dist/esm/shared-ts/src/threshold/participants.js +2 -1
- package/dist/esm/shared-ts/src/threshold/secp256k1.js +6 -0
- package/dist/esm/shared-ts/src/utils/domainIds.js +7 -0
- package/dist/esm/shared-ts/src/utils/index.js +1 -1
- package/dist/esm/shared-ts/src/utils/registrationSignerPlan.js +14 -1
- package/dist/esm/shared-ts/src/utils/routerAbEd25519Yao.js +5 -4
- package/dist/esm/utils/qrScanner.js +10 -8
- package/dist/public/headers.manifest.json +1 -1
- package/dist/public/sdk/ConfirmationDrawer-CXVNmfTy.js +1 -0
- package/dist/public/sdk/NonceCoordinator-DuDKN-B8.js +1 -0
- package/dist/{esm/sdk/accountLifecycle-CBOkr0vU.js → public/sdk/accountLifecycle-D61FIpFS.js} +1 -1
- package/dist/public/sdk/{activeWalletSession-WdZkhtBB.js → activeWalletSession-Ba6X4CUN.js} +1 -1
- package/dist/public/sdk/adapters-CTlDBRJy.js +2 -0
- package/dist/public/sdk/authorizationAdmission-Dd23mTx7.js +1 -0
- package/dist/public/sdk/{canonicalPrimitives-Dsbsxgxc.js → canonicalPrimitives-BOzRXzfv.js} +1 -1
- package/dist/public/sdk/{capabilityKinds-N8xo_IEh.js → capabilityKinds-D0Yrp9uf.js} +1 -1
- package/dist/public/sdk/{chains-C_X_fNuS.js → chains-CPmd4s9f.js} +1 -1
- package/dist/public/sdk/challengeDelivery-FD9GHK1T.js +1 -0
- package/dist/public/sdk/{clientSessionPersistenceState-CBylL1Ul.js → clientSessionPersistenceState-BHRUSWMt.js} +1 -1
- package/dist/public/sdk/{commitQueue-DYEgzoLA.js → commitQueue-DOIaR0Hr.js} +1 -1
- package/dist/public/sdk/{configHelpers-B-hs0mTO.js → configHelpers-BXdl5Mxs.js} +1 -1
- package/dist/public/sdk/{digestEncoding-BX3VW9eF.js → digestEncoding-CbEFYvlJ.js} +1 -1
- package/dist/public/sdk/{display-DsfJkAra.js → display-CY_aJEn6.js} +1 -1
- package/dist/public/sdk/domainIds-C3fUa33Q.js +1 -0
- package/dist/public/sdk/ecdsaCapabilityManifest-DzA996y9.js +1 -0
- package/dist/public/sdk/{ecdsaChainTarget-Bfatk3oP.js → ecdsaChainTarget-DkOrgv4y.js} +1 -1
- package/dist/public/sdk/ecdsaDerivationClientWasm-DQlajPpE.js +1 -0
- package/dist/{esm/sdk/ecdsaDerivationExport-DOGzq0qC.js → public/sdk/ecdsaDerivationExport-DyugdheE.js} +1 -1
- package/dist/public/sdk/{ecdsaWalletRecords-CHfrYvKr.js → ecdsaWalletRecords-C_v74n5X.js} +1 -1
- package/dist/{esm/sdk/emailOtpEcdsaDerivationIdentity-Bik0N8v9.js → public/sdk/emailOtpEcdsaDerivationIdentity-BDVjvnmO.js} +1 -1
- package/dist/public/sdk/{errors-DIWY1KR9.js → errors-ADOZT8oV.js} +1 -1
- package/dist/public/sdk/export-viewer-host-DsRaS0UH.js +1 -0
- package/dist/{esm/sdk/exportKeypairOperation-DzbjKbnk.js → public/sdk/exportKeypairOperation-SJPysnE1.js} +1 -1
- package/dist/public/sdk/{helpers-B9fpZNAP.js → helpers-D3CUEdHI.js} +1 -1
- package/dist/public/sdk/{host-z-JJRWQe.js → host-GPb_mSAQ.js} +1 -1
- package/dist/public/sdk/{intentDigest-P_-CM7lS.js → intentDigest-CGLrsMgj.js} +1 -1
- package/dist/public/sdk/{lanes-5kcTFbPx.js → lanes-DJKIHJBm.js} +1 -1
- package/dist/public/sdk/{localOnly-C5mSXb_D.js → localOnly-CPmpw381.js} +1 -1
- package/dist/public/sdk/mountExportPrivateKeySurface-C8_tpDHF.js +1 -0
- package/dist/public/sdk/mountRecoveryCodeBackupSurface-BtNFtmSj.js +2 -0
- package/dist/public/sdk/nearEd25519YaoMaterialActivation-J6EHFScV.js +1 -0
- package/dist/{esm/sdk/nearEd25519YaoSigningPreparation-RIfkYN0d.js → public/sdk/nearEd25519YaoSigningPreparation-CqBNMG87.js} +1 -1
- package/dist/public/sdk/{nonceLaneKeys-BCYfl1wv.js → nonceLaneKeys-D18nlLjh.js} +1 -1
- package/dist/public/sdk/{normalization-n503J-BI.js → normalization-Ct9-AY13.js} +1 -1
- package/dist/public/sdk/{operationFingerprint-BHNYryLY.js → operationFingerprint-Boa9DQ51.js} +1 -1
- package/dist/public/sdk/{passkey-custody-DpTM-eNJ.js → passkey-custody-CBSal3E9.js} +1 -1
- package/dist/public/sdk/{pendingWalletRecoveryCodeBackup-C60sZMj5.js → pendingWalletRecoveryCodeBackup-CvsrXbzn.js} +1 -1
- package/dist/public/sdk/presignaturePool-CQNt13kE.js +1 -0
- package/dist/public/sdk/{primitives-CqrjmIAH.js → primitives-cC0a9GRC.js} +1 -1
- package/dist/{esm/sdk/recovery-entrypoint-BULjaFBM.js → public/sdk/recovery-entrypoint-nj7Zo3CR.js} +1 -1
- package/dist/public/sdk/{registration-CyF7nOXs.js → registration-49OGU_GZ.js} +1 -1
- package/dist/public/sdk/registration-C7tywPXF.js +1 -0
- package/dist/public/sdk/{registrationAccounts-BQMUusdD.js → registrationAccounts-9GFI0Ger.js} +1 -1
- package/dist/public/sdk/{registrationAuthMethodInput-RbSR7R1G.js → registrationAuthMethodInput-B23_HRil.js} +1 -1
- package/dist/public/sdk/{registrationIds-BaK3jUS6.js → registrationIds-Br-zI4_5.js} +1 -1
- package/dist/public/sdk/{registrationIntent-090Zj7Iu.js → registrationIntent-PqmcTEE3.js} +1 -1
- package/dist/public/sdk/{registrationSignerPlan-CPzHavPM.js → registrationSignerPlan-BHkqlian.js} +1 -1
- package/dist/{esm/sdk/requireStepUpAuth-BCY5ZStI.js → public/sdk/requireStepUpAuth-C4PGTly-.js} +1 -1
- package/dist/public/sdk/routerAbNormalSigning-xxATTIh5.js +1 -0
- package/dist/public/sdk/runtime-auth-CpjGW90U.js +1 -0
- package/dist/public/sdk/{runtime-device-link-Dq8g_UNb.js → runtime-device-link-CKgfGi7D.js} +1 -1
- package/dist/public/sdk/{runtime-ecdsa-tempo-AGjT7Xpa.js → runtime-ecdsa-tempo-5VV9xSEh.js} +1 -1
- package/dist/public/sdk/{runtime-email-otp-BpBOuSsT.js → runtime-email-otp-D1hYZNn6.js} +1 -1
- package/dist/public/sdk/{runtime-export-CBsacCPY.js → runtime-export-B92wQD25.js} +1 -1
- package/dist/public/sdk/{runtime-near-J3hKjC7G.js → runtime-near-CUuKg38M.js} +1 -1
- package/dist/public/sdk/runtime-preferences-EdL3G_MO.js +1 -0
- package/dist/public/sdk/{runtime-recovery-codes-GOytzExh.js → runtime-recovery-codes-LR4mg7-k.js} +1 -1
- package/dist/public/sdk/runtime-recovery-uyw8sywI.js +1 -0
- package/dist/public/sdk/{sdkSentEvents-D4KtK7_I.js → sdkSentEvents-DujYAPEM.js} +1 -1
- package/dist/public/sdk/secp256k1-BldUPNQI.js +1 -0
- package/dist/{esm/sdk/sessionObservationRevision-CnEOLDbl.js → public/sdk/sessionObservationRevision-DmmNV25w.js} +1 -1
- package/dist/public/sdk/shared-ha31XIdc.js +6 -0
- package/dist/{esm/sdk/signEvmFamily-Cpm3e6Zs.js → public/sdk/signEvmFamily-C_RvEnDB.js} +1 -1
- package/dist/public/sdk/signEvmFamilyWithUiConfirmForTempo-CUKdq5dE.js +1 -0
- package/dist/public/sdk/{signEvmWithUiConfirm-BRmdLgmm.js → signEvmWithUiConfirm-CxXzcvj2.js} +1 -1
- package/dist/public/sdk/signNear-Dno7NsP_.js +1 -0
- package/dist/public/sdk/signatureUses-B_nN17i7.js +1 -0
- package/dist/public/sdk/{signerDomain-Dp7BhfmZ.js → signerDomain-BFqRQ0Jl.js} +1 -1
- package/dist/{esm/sdk/signingFlow-VAnM8L5C.js → public/sdk/signingFlow-DtugI_2z.js} +2 -2
- package/dist/public/sdk/{signingQueue-D_Ebmzcn.js → signingQueue-C1Pb07gm.js} +1 -1
- package/dist/{esm/sdk/singletons-BXhnsqeY.js → public/sdk/singletons-DxIyVhNb.js} +1 -1
- package/dist/public/sdk/surface-measurement-reporter-BJhfiPw6.js +1 -0
- package/dist/{esm/sdk/thresholdEcdsa-CneSKcRt.js → public/sdk/thresholdEcdsa-murTq-xz.js} +1 -1
- package/dist/public/sdk/{trace-BBux0jtr.js → trace-CsRMlSh1.js} +1 -1
- package/dist/{esm/sdk/transaction-activity-Cccvec2J.js → public/sdk/transaction-activity-C0nCSW6c.js} +1 -1
- package/dist/public/sdk/transactionReviewAdmission-CNNho8IG.js +1 -0
- package/dist/{esm/sdk/transactionState-Day-1x7Y.js → public/sdk/transactionState-XbZm9Zon.js} +1 -1
- package/dist/public/sdk/tx-confirm-ui.js +709 -744
- package/dist/public/sdk/{types-hKLqDUhR.js → types-CQTWmtqu.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/{esm/sdk/wallet-recovery-Bfhfk52N.js → public/sdk/wallet-recovery-CVUalZ3p.js} +1 -1
- package/dist/public/sdk/wallet-ui.css +1 -1
- package/dist/{esm/sdk/walletAuthMethodRecord-LniOQQmj.js → public/sdk/walletAuthMethodRecord-Bv68Vq-g.js} +1 -1
- package/dist/public/sdk/{walletAuthority-CAiGuWW2.js → walletAuthority-v5wvv3IB.js} +1 -1
- package/dist/public/sdk/walletCustodyEcdsaContinuity-rRHExT_R.js +1 -0
- package/dist/public/sdk/{walletDbName-DtRewci9.js → walletDbName-DRzPv5Ir.js} +1 -1
- package/dist/public/sdk/{walletOwnershipGeneration-B6HyR2rE.js → walletOwnershipGeneration-pMmmJ6XA.js} +1 -1
- package/dist/public/sdk/{walletRecoveryCommit-C6HF84_U.js → walletRecoveryCommit-DvC6WlGz.js} +1 -1
- package/dist/public/sdk/{walletRecoveryRotate-BN3H8byw.js → walletRecoveryRotate-Dd3prJpr.js} +1 -1
- package/dist/public/sdk/walletRegistrationSetupPrewarm-DcbhVNMQ.js +1 -0
- package/dist/public/sdk/walletSessionAuthorizationStatus-DVV3xkAx.js +1 -0
- package/dist/public/sdk/walletSessionAuthorizationStore-D-MhJ0PC.js +1 -0
- package/dist/public/sdk/walletSessionFailure-C6TAQTZn.js +1 -0
- package/dist/public/sdk/webauthnP256-XgYu-Y6E.js +1 -0
- package/dist/public/sdk/webauthnPromptCoordinator-D5sP8Q7e.js +1 -0
- package/dist/public/sdk/workers/device-linking-key.worker.js +12 -11
- package/dist/public/sdk/workers/ecdsa-derivation-client.worker.js +146 -48
- package/dist/public/sdk/workers/ecdsa-online-client.worker.js +7 -6
- package/dist/public/sdk/workers/ecdsa-presign-client.worker.js +7 -6
- package/dist/public/sdk/workers/email-otp.worker.js +24 -4
- package/dist/public/sdk/workers/passkey-mpc-export.worker.js +17 -1
- package/dist/public/sdk/workers/passkey-mpc-session.worker.js +2 -1
- package/dist/public/sdk/workers/wallet-custody-ceremony.worker.js +2 -0
- package/dist/public/wallet-assets.manifest.json +190 -190
- package/dist/public/wallet-service/index.html +4 -4
- package/dist/types/shared-ts/src/authorization/capabilityKinds.d.ts +14 -14
- package/dist/types/shared-ts/src/authorization/delegatedAuthority.d.ts +1 -1
- package/dist/types/shared-ts/src/device-linking/ed25519ExportRoot.d.ts +1 -1
- package/dist/types/shared-ts/src/device-linking/requestProof.d.ts +1 -1
- package/dist/types/shared-ts/src/device-linking/sourceContribution.d.ts +5 -5
- package/dist/types/shared-ts/src/passkey-custody/custodyEnvelope.d.ts +3 -3
- package/dist/types/shared-ts/src/passkey-custody/custodySecretBinding.d.ts +1 -1
- package/dist/types/shared-ts/src/tenant-root/tenantRootIdentity.d.ts +1 -1
- package/dist/types/shared-ts/src/tenant-root/tenantRootOperationRecord.d.ts +2 -2
- package/dist/types/shared-ts/src/utils/base64.d.ts +2 -2
- package/dist/types/shared-ts/src/utils/digestEncoding.d.ts +1 -1
- package/dist/types/shared-ts/src/utils/digests.d.ts +2 -2
- package/dist/types/shared-ts/src/utils/emailOtpDomain.d.ts +16 -16
- package/dist/types/shared-ts/src/utils/emailOtpRecoveryKey.d.ts +1 -1
- package/dist/types/shared-ts/src/utils/routerAbEcdsaDerivation.d.ts +10 -10
- package/dist/types/shared-ts/src/utils/routerAbEd25519Yao.d.ts +12 -11
- package/dist/types/shared-ts/src/utils/routerAbPublicKeyset.d.ts +3 -3
- package/dist/types/shared-ts/src/utils/routerAbTraceContext.d.ts +1 -1
- package/dist/types/shared-ts/src/utils/signerDomain.d.ts +15 -15
- package/dist/types/shared-ts/src/utils/signingSessionSeal.d.ts +11 -11
- package/dist/types/shared-ts/src/utils/walletSessionFailure.d.ts +8 -8
- package/dist/types/shared-ts/src/utils/webauthnDeviceInfo.d.ts +2 -2
- package/dist/types/shared-ts/src/utils/wireSchema.d.ts +1 -1
- package/dist/types/shared-ts/src/wallet-recovery/recoveryKeyId.d.ts +1 -1
- package/dist/types/wallet/build-paths.d.ts +73 -73
- package/dist/types/wallet/src/SeamsWeb/operations/authMethods/emailOtp/googleEmailOtpWalletAuthFlow.d.ts +3 -2
- package/dist/types/wallet/src/SeamsWeb/operations/devices/deviceLinkingResume.d.ts +2 -2
- package/dist/types/wallet/src/SeamsWeb/operations/devices/linkDeviceTargetActivation.d.ts +1 -1
- package/dist/types/wallet/src/SeamsWeb/operations/registration/pendingRegistrationRecovery.d.ts +3 -3
- package/dist/types/wallet/src/SeamsWeb/operations/registration/registrationEd25519Yao.d.ts +4 -3
- package/dist/types/wallet/src/SeamsWeb/operations/registration/registrationSignerSet.d.ts +5 -0
- package/dist/types/wallet/src/SeamsWeb/operations/registration/registrationTiming.d.ts +2 -2
- package/dist/types/wallet/src/SeamsWeb/publicApi/createPublicApi.d.ts +10 -1
- package/dist/types/wallet/src/SeamsWeb/publicApi/types.d.ts +4 -2
- package/dist/types/wallet/src/SeamsWeb/signingSurface/BrowserSigningSurface.d.ts +1 -0
- package/dist/types/wallet/src/SeamsWeb/signingSurface/ports.d.ts +1 -0
- package/dist/types/wallet/src/SeamsWeb/walletIframe/client/router.d.ts +2 -1
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/auth-menu/domain.d.ts +15 -2
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/createEmailOtpCommands.d.ts +3 -2
- package/dist/types/wallet/src/SeamsWeb/walletIframe/shared/messages.d.ts +3 -3
- package/dist/types/wallet/src/config.d.ts +8 -8
- package/dist/types/wallet/src/core/browser/walletIframe/events.d.ts +1 -1
- package/dist/types/wallet/src/core/indexedDB/linkedAuthoritySignerMaterial.d.ts +3 -3
- package/dist/types/wallet/src/core/indexedDB/pendingWalletRecoveryCommit.d.ts +1 -1
- package/dist/types/wallet/src/core/indexedDB/schemaNames.d.ts +181 -181
- package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/ecdsaCapabilityManifestRecords.d.ts +8 -8
- package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/ecdsaClientPresignatures.d.ts +4 -4
- package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/walletSessionAuthorizationStore.d.ts +1 -1
- package/dist/types/wallet/src/core/indexedDB/walletCustodyEd25519MaterialRecord.d.ts +2 -2
- package/dist/types/wallet/src/core/indexedDB/walletDbName.d.ts +1 -1
- package/dist/types/wallet/src/core/signingEngine/chains/evm/evmAdapter.d.ts +1 -1
- package/dist/types/wallet/src/core/signingEngine/chains/evm/evmSigning.types.d.ts +1 -0
- package/dist/types/wallet/src/core/signingEngine/chains/tempo/tempoAdapter.d.ts +1 -1
- package/dist/types/wallet/src/core/signingEngine/flows/shared/signingStateMachine.d.ts +27 -27
- package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/signers/secp256k1.d.ts +1 -1
- package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/signers/webauthnP256.d.ts +1 -1
- package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/signingFlowRuntime.d.ts +17 -17
- package/dist/types/wallet/src/core/signingEngine/nonce/nonceTypes.d.ts +40 -40
- package/dist/types/wallet/src/core/signingEngine/session/material/walletSigningStateFailure.d.ts +4 -4
- package/dist/types/wallet/src/core/signingEngine/session/operationState/types.d.ts +8 -8
- package/dist/types/wallet/src/core/signingEngine/session/passkey/ed25519YaoLocalMaterial.d.ts +1 -1
- package/dist/types/wallet/src/core/signingEngine/session/persistence/sealedSessionRecords.d.ts +1 -1
- package/dist/types/wallet/src/core/signingEngine/stepUpConfirmation/channel/confirmCommon.d.ts +3 -3
- package/dist/types/wallet/src/core/signingEngine/stepUpConfirmation/types.d.ts +4 -4
- package/dist/types/wallet/src/core/signingEngine/threshold/ed25519/yaoClient.d.ts +1 -1
- package/dist/types/wallet/src/core/signingEngine/threshold/sessionPolicy.d.ts +1 -1
- package/dist/types/wallet/src/core/signingEngine/uiConfirm/handlers/flows/adapters/adapters.d.ts +1 -1
- package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/ConfirmHeader.d.ts +2 -2
- package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/CopyStatusIcon.d.ts +1 -1
- package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/PadlockIcon.d.ts +1 -1
- package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/PasskeyHaloLoading.d.ts +1 -1
- package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/PasskeyRegistrationDetails.d.ts +1 -1
- package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/SeamsWordmark.d.ts +1 -1
- package/dist/types/wallet/src/core/signingEngine/webauthnAuth/credentials/helpers.d.ts +2 -2
- package/dist/types/wallet/src/core/signingEngine/workerManager/SignerWorkerManager.d.ts +1 -0
- package/dist/types/wallet/src/core/signingEngine/workerManager/deviceLinkingPorts.d.ts +1 -1
- package/dist/types/wallet/src/core/signingEngine/workerManager/ecdsaClientWorkerChannels.d.ts +3 -3
- package/dist/types/wallet/src/core/signingEngine/workerManager/ecdsaPresignPoolIdentity.d.ts +1 -1
- package/dist/types/wallet/src/core/signingEngine/workerManager/validation.d.ts +1 -1
- package/dist/types/wallet/src/core/signingEngine/workerManager/workerTransport.d.ts +1 -0
- package/dist/types/wallet/src/core/signingEngine/workerManager/workerTypes.d.ts +1 -1
- package/dist/types/wallet/src/core/signingEngine/workerManager/workers/device-linking-key/ecdsaTargetShareHpke.d.ts +3 -3
- package/dist/types/wallet/src/core/signingEngine/workerManager/workers/device-linking-key/ordinaryMaterialState.d.ts +1 -1
- package/dist/types/wallet/src/core/signingEngine/workerManager/workers/email-otp/crypto.d.ts +3 -3
- package/dist/types/wallet/src/core/signingEngine/workerManager/workers/email-otp/materialParsing.d.ts +1 -1
- package/dist/types/wallet/src/core/signingEngine/workerManager/workers/email-otp/payloadParsing.d.ts +2 -2
- package/dist/types/wallet/src/core/signingEngine/workerManager/workers/email-otp/unlock.d.ts +1 -1
- package/dist/types/wallet/src/core/signingEngine/workerManager/workers/workerErrorPayload.d.ts +2 -2
- package/dist/types/wallet/src/core/types/actionBuilders.d.ts +16 -2
- package/dist/types/wallet/src/core/types/amounts.d.ts +75 -0
- package/dist/types/wallet/src/core/types/amounts.typecheck.d.ts +2 -0
- package/dist/types/wallet/src/core/types/sdkSentEvents.d.ts +5 -5
- package/dist/types/wallet/src/core/types/secure-confirm-worker.d.ts +1 -1
- package/dist/types/wallet/src/core/types/signer-worker.d.ts +7 -7
- package/dist/types/wallet/src/externalEvm/types.d.ts +1 -0
- package/dist/types/wallet/src/index.d.ts +2 -0
- package/dist/types/wallet/src/react/{hooks/useWallet.d.ts → boundWallet.d.ts} +8 -48
- package/dist/types/wallet/src/react/components/AccountMenuButton/AccountMenuButtonView.d.ts +0 -1
- package/dist/types/wallet/src/react/components/AccountMenuButton/AccountsSection.d.ts +0 -1
- package/dist/types/wallet/src/react/components/AccountMenuButton/AuthenticationMethodsModal.d.ts +0 -1
- package/dist/types/wallet/src/react/components/AccountMenuButton/ExportKeysSection.d.ts +0 -1
- package/dist/types/wallet/src/react/components/AccountMenuButton/LinkedDevicesModal.d.ts +0 -1
- package/dist/types/wallet/src/react/components/AccountMenuButton/ProfileDropdown.d.ts +0 -1
- package/dist/types/wallet/src/react/components/AccountMenuButton/WalletSettingsLayout.d.ts +0 -1
- package/dist/types/wallet/src/react/components/AccountMenuButton/icons/GlobeIcon.d.ts +1 -1
- package/dist/types/wallet/src/react/components/AccountMenuButton/icons/HoverArrowIcon.d.ts +0 -1
- package/dist/types/wallet/src/react/components/AccountMenuButton/icons/KeyIcon.d.ts +1 -1
- package/dist/types/wallet/src/react/components/AccountMenuButton/icons/LaptopIcon.d.ts +1 -1
- package/dist/types/wallet/src/react/components/AccountMenuButton/icons/LinkIcon.d.ts +1 -1
- package/dist/types/wallet/src/react/components/AccountMenuButton/icons/LockIcon.d.ts +1 -1
- package/dist/types/wallet/src/react/components/AccountMenuButton/icons/LockKeyholeIcon.d.ts +1 -1
- package/dist/types/wallet/src/react/components/AccountMenuButton/icons/MailIcon.d.ts +1 -1
- package/dist/types/wallet/src/react/components/AccountMenuButton/icons/PlusIcon.d.ts +1 -1
- package/dist/types/wallet/src/react/components/AccountMenuButton/icons/RecoveryCodesIcon.d.ts +1 -1
- package/dist/types/wallet/src/react/components/AccountMenuButton/icons/ScanIcon.d.ts +1 -1
- package/dist/types/wallet/src/react/components/AccountMenuButton/icons/SlidersIcon.d.ts +1 -1
- package/dist/types/wallet/src/react/components/AccountMenuButton/icons/SmartphoneIcon.d.ts +1 -1
- package/dist/types/wallet/src/react/components/AccountMenuButton/icons/TouchIcon.d.ts +0 -1
- package/dist/types/wallet/src/react/components/AccountMenuButton/index.d.ts +0 -1
- package/dist/types/wallet/src/react/components/AccountMenuButton/types.d.ts +8 -8
- package/dist/types/wallet/src/react/components/ShowQRCode.d.ts +0 -1
- package/dist/types/wallet/src/react/components/VoiceAssistantCard.d.ts +0 -1
- package/dist/types/wallet/src/react/components/theme/design-tokens.d.ts +1 -0
- package/dist/types/wallet/src/react/context/index.d.ts +2 -1
- package/dist/types/wallet/src/react/context/useSeamsContextValue.d.ts +2 -2
- package/dist/types/wallet/src/react/index.d.ts +3 -2
- package/dist/types/wallet/src/react/styles.d.ts +2 -0
- package/dist/types/wallet/src/react/transactionReview/boundCalls.d.ts +57 -57
- package/dist/types/wallet/src/react/types.d.ts +14 -1
- package/dist/types/wallet/src/theme/base-styles.d.ts +4 -4
- package/dist/workers/device-linking-key.worker.js +12 -11
- package/dist/workers/ecdsa-derivation-client.worker.js +146 -48
- package/dist/workers/ecdsa-online-client.worker.js +7 -6
- package/dist/workers/ecdsa-presign-client.worker.js +7 -6
- package/dist/workers/email-otp.worker.js +24 -4
- package/dist/workers/passkey-mpc-export.worker.js +17 -1
- package/dist/workers/passkey-mpc-session.worker.js +2 -1
- package/dist/workers/wallet-custody-ceremony.worker.js +2 -0
- package/package.json +8 -6
- package/dist/esm/react/hooks/useWallet.js +0 -108
- package/dist/esm/sdk/ConfirmationDrawer-BFzQjd1P.js +0 -1
- package/dist/esm/sdk/NonceCoordinator-CDGnEgfI.js +0 -1
- package/dist/esm/sdk/adapters-DsAaBNNY.js +0 -2
- package/dist/esm/sdk/authorizationAdmission-CGinGhXH.js +0 -1
- package/dist/esm/sdk/challengeDelivery-CATQ4u6P.js +0 -1
- package/dist/esm/sdk/domainIds-BzkGsRqO.js +0 -1
- package/dist/esm/sdk/ecdsaCapabilityManifest-DX6TflEz.js +0 -1
- package/dist/esm/sdk/ecdsaDerivationClientWasm-CpjnN4aK.js +0 -1
- package/dist/esm/sdk/export-viewer-host-CV-lSsQF.js +0 -1
- package/dist/esm/sdk/mountExportPrivateKeySurface-CatAhYoG.js +0 -1
- package/dist/esm/sdk/mountRecoveryCodeBackupSurface-DlEb3uD7.js +0 -2
- package/dist/esm/sdk/nearEd25519YaoMaterialActivation-Bo3IOTS-.js +0 -1
- package/dist/esm/sdk/presignaturePool-V10fZpG3.js +0 -1
- package/dist/esm/sdk/registration-DEGZR8kA.js +0 -1
- package/dist/esm/sdk/routerAbNormalSigning-C4P2tDU-.js +0 -1
- package/dist/esm/sdk/runtime-auth-ZcxkQ-XF.js +0 -1
- package/dist/esm/sdk/runtime-preferences-CVt5sLvm.js +0 -1
- package/dist/esm/sdk/runtime-recovery-BzewdcoT.js +0 -1
- package/dist/esm/sdk/secp256k1-CKq7_HD-.js +0 -1
- package/dist/esm/sdk/shared-BywEqTsd.js +0 -6
- package/dist/esm/sdk/signEvmFamilyWithUiConfirmForTempo-DGWmm9n7.js +0 -1
- package/dist/esm/sdk/signNear-XGZBxc_g.js +0 -1
- package/dist/esm/sdk/signatureUses-BKAoDbQd.js +0 -1
- package/dist/esm/sdk/surface-measurement-reporter-DvVHPu_O.js +0 -1
- package/dist/esm/sdk/transactionReviewAdmission-CIvR4W5_.js +0 -1
- package/dist/esm/sdk/walletCustodyEcdsaContinuity-B4fTDL10.js +0 -1
- package/dist/esm/sdk/walletRegistrationSetupPrewarm-B9kpnrbK.js +0 -1
- package/dist/esm/sdk/walletSessionAuthorizationStatus-BL7j2TeM.js +0 -1
- package/dist/esm/sdk/walletSessionAuthorizationStore-DmYe-cDR.js +0 -1
- package/dist/esm/sdk/walletSessionFailure-YuhraC3P.js +0 -1
- package/dist/esm/sdk/webauthnP256-BwgxtG5N.js +0 -1
- package/dist/esm/sdk/webauthnPromptCoordinator-CwJeKiYq.js +0 -1
- package/dist/public/sdk/ConfirmationDrawer-BFzQjd1P.js +0 -1
- package/dist/public/sdk/NonceCoordinator-CDGnEgfI.js +0 -1
- package/dist/public/sdk/adapters-DsAaBNNY.js +0 -2
- package/dist/public/sdk/authorizationAdmission-CGinGhXH.js +0 -1
- package/dist/public/sdk/challengeDelivery-CATQ4u6P.js +0 -1
- package/dist/public/sdk/domainIds-BzkGsRqO.js +0 -1
- package/dist/public/sdk/ecdsaCapabilityManifest-DX6TflEz.js +0 -1
- package/dist/public/sdk/ecdsaDerivationClientWasm-CpjnN4aK.js +0 -1
- package/dist/public/sdk/export-viewer-host-CV-lSsQF.js +0 -1
- package/dist/public/sdk/mountExportPrivateKeySurface-CatAhYoG.js +0 -1
- package/dist/public/sdk/mountRecoveryCodeBackupSurface-DlEb3uD7.js +0 -2
- package/dist/public/sdk/nearEd25519YaoMaterialActivation-Bo3IOTS-.js +0 -1
- package/dist/public/sdk/presignaturePool-V10fZpG3.js +0 -1
- package/dist/public/sdk/registration-DEGZR8kA.js +0 -1
- package/dist/public/sdk/routerAbNormalSigning-C4P2tDU-.js +0 -1
- package/dist/public/sdk/runtime-auth-ZcxkQ-XF.js +0 -1
- package/dist/public/sdk/runtime-preferences-CVt5sLvm.js +0 -1
- package/dist/public/sdk/runtime-recovery-BzewdcoT.js +0 -1
- package/dist/public/sdk/secp256k1-CKq7_HD-.js +0 -1
- package/dist/public/sdk/shared-BywEqTsd.js +0 -6
- package/dist/public/sdk/signEvmFamilyWithUiConfirmForTempo-DGWmm9n7.js +0 -1
- package/dist/public/sdk/signNear-XGZBxc_g.js +0 -1
- package/dist/public/sdk/signatureUses-BKAoDbQd.js +0 -1
- package/dist/public/sdk/surface-measurement-reporter-DvVHPu_O.js +0 -1
- package/dist/public/sdk/transactionReviewAdmission-CIvR4W5_.js +0 -1
- package/dist/public/sdk/walletCustodyEcdsaContinuity-B4fTDL10.js +0 -1
- package/dist/public/sdk/walletRegistrationSetupPrewarm-B9kpnrbK.js +0 -1
- package/dist/public/sdk/walletSessionAuthorizationStatus-BL7j2TeM.js +0 -1
- package/dist/public/sdk/walletSessionAuthorizationStore-DmYe-cDR.js +0 -1
- package/dist/public/sdk/walletSessionFailure-YuhraC3P.js +0 -1
- package/dist/public/sdk/webauthnP256-BwgxtG5N.js +0 -1
- package/dist/public/sdk/webauthnPromptCoordinator-CwJeKiYq.js +0 -1
|
@@ -124,8 +124,19 @@
|
|
|
124
124
|
}
|
|
125
125
|
|
|
126
126
|
.seams-device-link-email-field input:focus-visible {
|
|
127
|
-
outline:
|
|
128
|
-
|
|
127
|
+
outline: none;
|
|
128
|
+
border-color: transparent;
|
|
129
|
+
background:
|
|
130
|
+
linear-gradient(var(--seams-colors-surface, #ffffff), var(--seams-colors-surface, #ffffff))
|
|
131
|
+
padding-box,
|
|
132
|
+
var(
|
|
133
|
+
--seams-colors-focusGradient,
|
|
134
|
+
linear-gradient(
|
|
135
|
+
var(--seams-colors-focus, var(--seams-colors-primary, #3b82f6)),
|
|
136
|
+
var(--seams-colors-focus, var(--seams-colors-primary, #3b82f6))
|
|
137
|
+
)
|
|
138
|
+
)
|
|
139
|
+
border-box;
|
|
129
140
|
}
|
|
130
141
|
|
|
131
142
|
.qr-code-section {
|
|
@@ -6,6 +6,8 @@ import { useNearProvisioningStateRefresh } from "./useNearProvisioningStateRefre
|
|
|
6
6
|
import { useSeamsContextValue } from "./useSeamsContextValue.js";
|
|
7
7
|
import { useWalletIframeLifecycle } from "./useWalletIframeLifecycle.js";
|
|
8
8
|
import { getOrCreateSeamsManager } from "./seamsManagerSingleton.js";
|
|
9
|
+
import { createBoundWallet } from "../boundWallet.js";
|
|
10
|
+
import { useTransactionReviewOwner } from "../transactionReview/TransactionReviewHost.js";
|
|
9
11
|
import { createContext, useContext, useEffect, useMemo, useRef, useState } from "react";
|
|
10
12
|
import { jsx } from "react/jsx-runtime";
|
|
11
13
|
//#region src/react/context/index.tsx
|
|
@@ -109,11 +111,36 @@ const SeamsContextProvider = ({ children, config, theme }) => {
|
|
|
109
111
|
children
|
|
110
112
|
});
|
|
111
113
|
};
|
|
112
|
-
|
|
114
|
+
/** Authentication, lifecycle state, and the current wallet's bound signers. */
|
|
115
|
+
function useSeams() {
|
|
113
116
|
const context = useContext(SeamsContext);
|
|
114
117
|
if (context === void 0) throw new Error("useSeams must be used within a SeamsContextProvider");
|
|
115
|
-
|
|
116
|
-
};
|
|
118
|
+
const { seams, loginState } = context;
|
|
119
|
+
const { host, owner } = useTransactionReviewOwner(loginState.walletId);
|
|
120
|
+
const walletState = useMemo(bindCurrentWallet.bind(null, seams, loginState, host, owner), [
|
|
121
|
+
seams,
|
|
122
|
+
loginState,
|
|
123
|
+
host,
|
|
124
|
+
owner
|
|
125
|
+
]);
|
|
126
|
+
return useMemo(buildSeamsContext.bind(null, context, walletState), [context, walletState]);
|
|
127
|
+
}
|
|
128
|
+
function bindCurrentWallet(seams, loginState, host, owner) {
|
|
129
|
+
if (!loginState.isLoggedIn) return {
|
|
130
|
+
loginState,
|
|
131
|
+
wallet: null
|
|
132
|
+
};
|
|
133
|
+
return {
|
|
134
|
+
loginState,
|
|
135
|
+
wallet: createBoundWallet(seams, loginState, host, owner)
|
|
136
|
+
};
|
|
137
|
+
}
|
|
138
|
+
function buildSeamsContext(context, walletState) {
|
|
139
|
+
return {
|
|
140
|
+
...context,
|
|
141
|
+
...walletState
|
|
142
|
+
};
|
|
143
|
+
}
|
|
117
144
|
//#endregion
|
|
118
145
|
export { SeamsContextProvider, useSeams };
|
|
119
146
|
|
|
@@ -29,7 +29,7 @@ function useSeamsWithSdkFlow(args) {
|
|
|
29
29
|
return await seams.auth.unlock(walletId, wrappedOptions);
|
|
30
30
|
};
|
|
31
31
|
const registerWalletWithSdkFlow = async (registerWalletArgs) => {
|
|
32
|
-
const seq = beginSdkFlow("register", registerWalletArgs.wallet
|
|
32
|
+
const seq = beginSdkFlow("register", registerWalletArgs.wallet?.kind === "provided" ? String(registerWalletArgs.wallet.walletId) : void 0);
|
|
33
33
|
const options = registerWalletArgs.options;
|
|
34
34
|
const wrappedOptions = {
|
|
35
35
|
...options,
|
|
@@ -13,34 +13,31 @@ function ExternalEvmWalletPicker({ controller, snapshot }) {
|
|
|
13
13
|
});
|
|
14
14
|
}
|
|
15
15
|
var WalletPicker = class extends Component {
|
|
16
|
-
|
|
17
|
-
super(..._args);
|
|
18
|
-
this.state = { message: "" };
|
|
19
|
-
this.connect = async (event) => {
|
|
20
|
-
event.preventDefault();
|
|
21
|
-
const walletId = new FormData(event.currentTarget).get("wallet");
|
|
22
|
-
if (typeof walletId !== "string") return;
|
|
23
|
-
this.showResult(await this.props.controller.connect(walletId));
|
|
24
|
-
};
|
|
25
|
-
this.accountChanged = (event) => {
|
|
26
|
-
const connection = this.props.snapshot.connection;
|
|
27
|
-
if (connection.kind === "connected") this.showResult(this.props.controller.selectAccount(connection, event.currentTarget.value));
|
|
28
|
-
};
|
|
29
|
-
this.switchChain = async (event) => {
|
|
30
|
-
event.preventDefault();
|
|
31
|
-
const connection = this.props.snapshot.connection;
|
|
32
|
-
if (connection.kind !== "connected") return;
|
|
33
|
-
const chainId = Number(new FormData(event.currentTarget).get("chain"));
|
|
34
|
-
this.showResult(await this.props.controller.switchChain(connection, chainId));
|
|
35
|
-
};
|
|
36
|
-
this.disconnect = () => {
|
|
37
|
-
this.props.controller.disconnect();
|
|
38
|
-
this.setState({ message: "Disconnected from this app. Manage site permissions in your wallet." });
|
|
39
|
-
};
|
|
40
|
-
}
|
|
16
|
+
state = { message: "" };
|
|
41
17
|
showResult(result) {
|
|
42
18
|
this.setState({ message: result.ok ? "Wallet connection updated." : result.message });
|
|
43
19
|
}
|
|
20
|
+
connect = async (event) => {
|
|
21
|
+
event.preventDefault();
|
|
22
|
+
const walletId = new FormData(event.currentTarget).get("wallet");
|
|
23
|
+
if (typeof walletId !== "string") return;
|
|
24
|
+
this.showResult(await this.props.controller.connect(walletId));
|
|
25
|
+
};
|
|
26
|
+
accountChanged = (event) => {
|
|
27
|
+
const connection = this.props.snapshot.connection;
|
|
28
|
+
if (connection.kind === "connected") this.showResult(this.props.controller.selectAccount(connection, event.currentTarget.value));
|
|
29
|
+
};
|
|
30
|
+
switchChain = async (event) => {
|
|
31
|
+
event.preventDefault();
|
|
32
|
+
const connection = this.props.snapshot.connection;
|
|
33
|
+
if (connection.kind !== "connected") return;
|
|
34
|
+
const chainId = Number(new FormData(event.currentTarget).get("chain"));
|
|
35
|
+
this.showResult(await this.props.controller.switchChain(connection, chainId));
|
|
36
|
+
};
|
|
37
|
+
disconnect = () => {
|
|
38
|
+
this.props.controller.disconnect();
|
|
39
|
+
this.setState({ message: "Disconnected from this app. Manage site permissions in your wallet." });
|
|
40
|
+
};
|
|
44
41
|
render() {
|
|
45
42
|
const { controller, snapshot } = this.props;
|
|
46
43
|
const { connection, busy, wallets } = snapshot;
|
package/dist/esm/react/index.js
CHANGED
|
@@ -5,18 +5,18 @@ import { SeamsWeb } from "../SeamsWeb/SeamsWeb.js";
|
|
|
5
5
|
import { ExternalEvmController } from "../externalEvm/controller.js";
|
|
6
6
|
import { defineSeamsConfig, seamsTestnetConfig } from "../core/config/defineConfig.js";
|
|
7
7
|
import { ActionType, TxExecutionStatus } from "../shared-ts/src/near/actions.js";
|
|
8
|
+
import { AmountError, parseEther, parseNear, parseUnits, yoctoNear } from "../core/types/amounts.js";
|
|
8
9
|
import { addKey, createAccount, deleteAccount, deleteKey, deployContract, functionCall, stake, transfer } from "../core/types/actionBuilders.js";
|
|
9
10
|
import { logWalletEvents } from "../core/types/eventLogging.js";
|
|
10
11
|
import { useNearClient } from "./hooks/useNearClient.js";
|
|
11
12
|
import { useAccountInput } from "./hooks/useAccountInput.js";
|
|
13
|
+
import { TransactionReviewError } from "../SeamsWeb/walletIframe/shared/transactionReview.js";
|
|
14
|
+
import { TransactionReviewHost } from "./transactionReview/TransactionReviewHost.js";
|
|
12
15
|
import { SeamsContextProvider, useSeams } from "./context/index.js";
|
|
13
16
|
import { ExternalEvmWalletPicker, useExternalEvm } from "./externalEvm.js";
|
|
14
17
|
import { DARK_TOKENS, LIGHT_TOKENS, SHAPE_PRESETS, SHAPE_ROUNDED, SHAPE_SQUARE } from "./components/theme/design-tokens.js";
|
|
15
18
|
import { Theme, useTheme } from "./components/theme/ThemeProvider.js";
|
|
16
19
|
import { SeamsWebProvider } from "./context/SeamsWebProvider.js";
|
|
17
|
-
import { TransactionReviewError } from "../SeamsWeb/walletIframe/shared/transactionReview.js";
|
|
18
|
-
import { TransactionReviewHost } from "./transactionReview/TransactionReviewHost.js";
|
|
19
|
-
import { useWallet } from "./hooks/useWallet.js";
|
|
20
20
|
import { useWalletAuth } from "./hooks/useWalletAuth.js";
|
|
21
21
|
import { useWalletDevices } from "./hooks/useWalletDevices.js";
|
|
22
22
|
import { useDeviceLinking } from "./hooks/useDeviceLinking.js";
|
|
@@ -34,4 +34,4 @@ import { ShowQRCode } from "./components/ShowQRCode.js";
|
|
|
34
34
|
import { VoiceAssistantCard } from "./components/VoiceAssistantCard.js";
|
|
35
35
|
import QRCodeIcon from "./components/QRCodeIcon.js";
|
|
36
36
|
import { VoiceBeam } from "voice-glow";
|
|
37
|
-
export { AccountMenuButton, AccountMenuButtonMock, AccountSyncEventPhase, ActionType, DARK_TOKENS, ExternalEvmController, ExternalEvmWalletPicker, HostedSeamsAuthMenu, KeyExportEventPhase, LIGHT_TOKENS, LinkDeviceEventPhase, MoonIcon, PASSKEY_MANAGER_DEFAULT_CONFIGS, PROFILE_MENU_ITEM_IDS, ProfileSettingsButton, QRCodeIcon, QRCodeScanner, QRScanMode, RegistrationEventPhase, SHAPE_PRESETS, SHAPE_ROUNDED, SHAPE_SQUARE, SeamsAuthMenuMock, SeamsContextProvider, SeamsWeb, SeamsWebProvider, ShowQRCode, SigningEventPhase, SunIcon, Theme, TouchIcon, TransactionReviewError, TransactionReviewHost, TxExecutionStatus, UnlockEventPhase, VoiceAssistantCard, VoiceBeam, WALLET_FLOW_EVENT_MESSAGES, WALLET_FLOW_EVENT_STEPS, WALLET_FLOW_EVENT_VERSION, WalletSettingsPage, addKey, configuredThresholdEcdsaChainTargets, createAccount, createAccountSyncFlowEvent, createKeyExportFlowEvent, createLinkDeviceFlowEvent, createRegistrationFlowEvent, createSigningFlowEvent, createUnlockFlowEvent, createWalletFlowEvent, defineSeamsConfig, deleteAccount, deleteKey, deployContract, functionCall, isWalletFlowEvent, logWalletEvents, nearAccountRefFromAccountId, seamsTestnetConfig, stake, thresholdEcdsaChainTargetFromChainFamily, thresholdEcdsaChainTargetFromConfig, thresholdEcdsaChainTargetFromConfiguredRequest, thresholdEcdsaChainTargetFromRequest, thresholdEcdsaChainTargetKey, thresholdEcdsaChainTargetsEqual, toWalletId, transfer, useAccountInput, useDeviceLinking, useExternalEvm, useNearClient, useQRCamera, useSeams, useTheme,
|
|
37
|
+
export { AccountMenuButton, AccountMenuButtonMock, AccountSyncEventPhase, ActionType, AmountError, DARK_TOKENS, ExternalEvmController, ExternalEvmWalletPicker, HostedSeamsAuthMenu, KeyExportEventPhase, LIGHT_TOKENS, LinkDeviceEventPhase, MoonIcon, PASSKEY_MANAGER_DEFAULT_CONFIGS, PROFILE_MENU_ITEM_IDS, ProfileSettingsButton, QRCodeIcon, QRCodeScanner, QRScanMode, RegistrationEventPhase, SHAPE_PRESETS, SHAPE_ROUNDED, SHAPE_SQUARE, SeamsAuthMenuMock, SeamsContextProvider, SeamsWeb, SeamsWebProvider, ShowQRCode, SigningEventPhase, SunIcon, Theme, TouchIcon, TransactionReviewError, TransactionReviewHost, TxExecutionStatus, UnlockEventPhase, VoiceAssistantCard, VoiceBeam, WALLET_FLOW_EVENT_MESSAGES, WALLET_FLOW_EVENT_STEPS, WALLET_FLOW_EVENT_VERSION, WalletSettingsPage, addKey, configuredThresholdEcdsaChainTargets, createAccount, createAccountSyncFlowEvent, createKeyExportFlowEvent, createLinkDeviceFlowEvent, createRegistrationFlowEvent, createSigningFlowEvent, createUnlockFlowEvent, createWalletFlowEvent, defineSeamsConfig, deleteAccount, deleteKey, deployContract, functionCall, isWalletFlowEvent, logWalletEvents, nearAccountRefFromAccountId, parseEther, parseNear, parseUnits, seamsTestnetConfig, stake, thresholdEcdsaChainTargetFromChainFamily, thresholdEcdsaChainTargetFromConfig, thresholdEcdsaChainTargetFromConfiguredRequest, thresholdEcdsaChainTargetFromRequest, thresholdEcdsaChainTargetKey, thresholdEcdsaChainTargetsEqual, toWalletId, transfer, useAccountInput, useDeviceLinking, useExternalEvm, useNearClient, useQRCamera, useSeams, useTheme, useWalletAuth, useWalletDevices, walletIdFromWalletProfile, walletSessionRefFromSession, yoctoNear };
|
|
@@ -2381,8 +2381,19 @@
|
|
|
2381
2381
|
}
|
|
2382
2382
|
|
|
2383
2383
|
.seams-device-link-email-field input:focus-visible {
|
|
2384
|
-
outline:
|
|
2385
|
-
|
|
2384
|
+
outline: none;
|
|
2385
|
+
border-color: transparent;
|
|
2386
|
+
background:
|
|
2387
|
+
linear-gradient(var(--seams-colors-surface, #ffffff), var(--seams-colors-surface, #ffffff))
|
|
2388
|
+
padding-box,
|
|
2389
|
+
var(
|
|
2390
|
+
--seams-colors-focusGradient,
|
|
2391
|
+
linear-gradient(
|
|
2392
|
+
var(--seams-colors-focus, var(--seams-colors-primary, #3b82f6)),
|
|
2393
|
+
var(--seams-colors-focus, var(--seams-colors-primary, #3b82f6))
|
|
2394
|
+
)
|
|
2395
|
+
)
|
|
2396
|
+
border-box;
|
|
2386
2397
|
}
|
|
2387
2398
|
|
|
2388
2399
|
.qr-code-section {
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { useSeams } from "../context/index.js";
|
|
2
1
|
import { TransactionReviewError } from "../../SeamsWeb/walletIframe/shared/transactionReview.js";
|
|
3
2
|
import { ReviewHostController, ReviewOwner } from "./controller.js";
|
|
3
|
+
import { useSeams } from "../context/index.js";
|
|
4
4
|
import { Component, Suspense, createContext, useContext, useEffect, useLayoutEffect, useMemo, useRef, useSyncExternalStore } from "react";
|
|
5
|
-
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
6
5
|
import { createPortal } from "react-dom";
|
|
6
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
7
7
|
//#region src/react/transactionReview/TransactionReviewHost.tsx
|
|
8
8
|
const ReviewContext = createContext(null);
|
|
9
9
|
/** Place below the application providers that review components consume. */
|
|
@@ -89,10 +89,7 @@ function ReviewFailure({ call }) {
|
|
|
89
89
|
})] });
|
|
90
90
|
}
|
|
91
91
|
var ReviewErrorBoundary = class extends Component {
|
|
92
|
-
|
|
93
|
-
super(..._args);
|
|
94
|
-
this.state = { failed: false };
|
|
95
|
-
}
|
|
92
|
+
state = { failed: false };
|
|
96
93
|
static getDerivedStateFromError() {
|
|
97
94
|
return { failed: true };
|
|
98
95
|
}
|
|
@@ -5,7 +5,7 @@ import { snapshotNearAction, snapshotTransactionInput, snapshotTransactionOption
|
|
|
5
5
|
//#region src/react/transactionReview/boundCalls.ts
|
|
6
6
|
function requireHost(env) {
|
|
7
7
|
env.owner.assertLive();
|
|
8
|
-
if (!env.host) throw new TransactionReviewError("review_host_unavailable", "Wrap this
|
|
8
|
+
if (!env.host) throw new TransactionReviewError("review_host_unavailable", "Wrap this useSeams component in TransactionReviewHost inside SeamsWebProvider");
|
|
9
9
|
return env.host;
|
|
10
10
|
}
|
|
11
11
|
function createReviewedBoundCalls(env) {
|
|
@@ -3,11 +3,9 @@ import { TransactionReviewError, assertTransactionReviewValid } from "../../Seam
|
|
|
3
3
|
//#region src/react/transactionReview/controller.ts
|
|
4
4
|
const hosts = /* @__PURE__ */ new WeakMap();
|
|
5
5
|
var ReviewOwner = class {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
this.calls = /* @__PURE__ */ new Set();
|
|
10
|
-
}
|
|
6
|
+
generation = 0;
|
|
7
|
+
disposed = false;
|
|
8
|
+
calls = /* @__PURE__ */ new Set();
|
|
11
9
|
retain() {
|
|
12
10
|
this.disposed = false;
|
|
13
11
|
const generation = ++this.generation;
|
|
@@ -22,22 +20,17 @@ var ReviewOwner = class {
|
|
|
22
20
|
for (const call of this.calls) call.dispose();
|
|
23
21
|
}
|
|
24
22
|
assertLive() {
|
|
25
|
-
if (this.disposed) throw new TransactionReviewError("review_owner_disposed", "This
|
|
23
|
+
if (this.disposed) throw new TransactionReviewError("review_owner_disposed", "This useSeams wallet owner has been disposed");
|
|
26
24
|
}
|
|
27
25
|
};
|
|
28
26
|
var ReviewHostController = class {
|
|
27
|
+
live = false;
|
|
28
|
+
generation = 0;
|
|
29
|
+
listeners = /* @__PURE__ */ new Set();
|
|
30
|
+
calls = /* @__PURE__ */ new Set();
|
|
31
|
+
view = null;
|
|
29
32
|
constructor(seams) {
|
|
30
33
|
this.seams = seams;
|
|
31
|
-
this.live = false;
|
|
32
|
-
this.generation = 0;
|
|
33
|
-
this.listeners = /* @__PURE__ */ new Set();
|
|
34
|
-
this.calls = /* @__PURE__ */ new Set();
|
|
35
|
-
this.view = null;
|
|
36
|
-
this.subscribe = (listener) => {
|
|
37
|
-
this.listeners.add(listener);
|
|
38
|
-
return this.unsubscribe.bind(this, listener);
|
|
39
|
-
};
|
|
40
|
-
this.snapshot = () => this.view;
|
|
41
34
|
}
|
|
42
35
|
retain() {
|
|
43
36
|
const existing = hosts.get(this.seams.near);
|
|
@@ -59,9 +52,14 @@ var ReviewHostController = class {
|
|
|
59
52
|
this.view = null;
|
|
60
53
|
this.emit();
|
|
61
54
|
}
|
|
55
|
+
subscribe = (listener) => {
|
|
56
|
+
this.listeners.add(listener);
|
|
57
|
+
return this.unsubscribe.bind(this, listener);
|
|
58
|
+
};
|
|
62
59
|
unsubscribe(listener) {
|
|
63
60
|
this.listeners.delete(listener);
|
|
64
61
|
}
|
|
62
|
+
snapshot = () => this.view;
|
|
65
63
|
emit() {
|
|
66
64
|
for (const listener of this.listeners) listener();
|
|
67
65
|
}
|
|
@@ -91,6 +89,15 @@ var ReviewHostController = class {
|
|
|
91
89
|
}
|
|
92
90
|
};
|
|
93
91
|
var ReviewCall = class {
|
|
92
|
+
state = { kind: "queued" };
|
|
93
|
+
abort = new AbortController();
|
|
94
|
+
deadline = null;
|
|
95
|
+
prepareTimer = null;
|
|
96
|
+
resolve;
|
|
97
|
+
reject;
|
|
98
|
+
listeners = /* @__PURE__ */ new Set();
|
|
99
|
+
result;
|
|
100
|
+
controls;
|
|
94
101
|
constructor(host, owner, walletId, review, confirmationConfig, execute) {
|
|
95
102
|
this.host = host;
|
|
96
103
|
this.owner = owner;
|
|
@@ -98,109 +105,6 @@ var ReviewCall = class {
|
|
|
98
105
|
this.review = review;
|
|
99
106
|
this.confirmationConfig = confirmationConfig;
|
|
100
107
|
this.execute = execute;
|
|
101
|
-
this.state = { kind: "queued" };
|
|
102
|
-
this.abort = new AbortController();
|
|
103
|
-
this.deadline = null;
|
|
104
|
-
this.prepareTimer = null;
|
|
105
|
-
this.listeners = /* @__PURE__ */ new Set();
|
|
106
|
-
this.captureResult = (resolve, reject) => {
|
|
107
|
-
this.resolve = resolve;
|
|
108
|
-
this.reject = reject;
|
|
109
|
-
};
|
|
110
|
-
this.subscribe = (listener) => {
|
|
111
|
-
this.listeners.add(listener);
|
|
112
|
-
return this.unsubscribe.bind(this, listener);
|
|
113
|
-
};
|
|
114
|
-
this.snapshot = () => this.state;
|
|
115
|
-
this.reservationChanged = () => {
|
|
116
|
-
if (this.state.kind === "queued" || this.state.kind === "settled") return;
|
|
117
|
-
const reservation = this.state.reservation;
|
|
118
|
-
if (reservation.state.kind === "reviewing_again") {
|
|
119
|
-
this.transition({
|
|
120
|
-
kind: "reviewing",
|
|
121
|
-
reservation
|
|
122
|
-
});
|
|
123
|
-
this.host.show(this);
|
|
124
|
-
return;
|
|
125
|
-
}
|
|
126
|
-
if (reservation.state.kind === "wallet_approval" || reservation.state.kind === "signing") {
|
|
127
|
-
if (this.prepareTimer) clearTimeout(this.prepareTimer);
|
|
128
|
-
this.prepareTimer = null;
|
|
129
|
-
this.transition({
|
|
130
|
-
kind: reservation.state.kind === "signing" ? "signing" : "wallet_approval",
|
|
131
|
-
reservation
|
|
132
|
-
});
|
|
133
|
-
if (reservation.state.kind === "signing") this.host.hide(this);
|
|
134
|
-
}
|
|
135
|
-
};
|
|
136
|
-
this.continueToWallet = () => {
|
|
137
|
-
if (this.state.kind !== "reviewing") return;
|
|
138
|
-
try {
|
|
139
|
-
this.owner.assertLive();
|
|
140
|
-
assertTransactionReviewValid(this.review.validity);
|
|
141
|
-
const reservation = this.state.reservation;
|
|
142
|
-
this.transition({
|
|
143
|
-
kind: "preparing_approval",
|
|
144
|
-
reservation
|
|
145
|
-
});
|
|
146
|
-
this.prepareTimer = setTimeout(this.prepareTimedOut, 3e4);
|
|
147
|
-
if (reservation.state.kind === "reviewing_again") reservation.resume();
|
|
148
|
-
else this.dispatch(reservation);
|
|
149
|
-
} catch (error) {
|
|
150
|
-
this.rejectBeforeDispatch(error);
|
|
151
|
-
}
|
|
152
|
-
};
|
|
153
|
-
this.cancel = () => {
|
|
154
|
-
if (this.state.kind === "review_failed") {
|
|
155
|
-
this.rejectBeforeDispatch(this.state.error);
|
|
156
|
-
return;
|
|
157
|
-
}
|
|
158
|
-
if (this.state.kind !== "reviewing") return;
|
|
159
|
-
this.rejectBeforeDispatch(new TransactionReviewError("cancelled", "Transaction review cancelled"));
|
|
160
|
-
};
|
|
161
|
-
this.fail = (cause) => {
|
|
162
|
-
if (this.state.kind !== "reviewing") return;
|
|
163
|
-
const error = new TransactionReviewError("review_render_failed", "The application review could not be displayed", { cause });
|
|
164
|
-
this.transition({
|
|
165
|
-
kind: "review_failed",
|
|
166
|
-
reservation: this.state.reservation,
|
|
167
|
-
error
|
|
168
|
-
});
|
|
169
|
-
};
|
|
170
|
-
this.loadingTimedOut = () => {
|
|
171
|
-
if (this.state.kind !== "reviewing") return;
|
|
172
|
-
this.rejectBeforeDispatch(new TransactionReviewError("review_prepare_timeout", "The application review did not finish loading"));
|
|
173
|
-
};
|
|
174
|
-
this.prepareTimedOut = () => {
|
|
175
|
-
this.cancelOutstanding(new TransactionReviewError("review_prepare_timeout", "Wallet approval could not be prepared in time"));
|
|
176
|
-
};
|
|
177
|
-
this.checkDeadline = () => {
|
|
178
|
-
try {
|
|
179
|
-
assertTransactionReviewValid(this.review.validity);
|
|
180
|
-
} catch (error) {
|
|
181
|
-
this.cancelOutstanding(error instanceof Error ? error : new Error(String(error)));
|
|
182
|
-
}
|
|
183
|
-
};
|
|
184
|
-
this.scheduleDeadline = () => {
|
|
185
|
-
if (this.review.validity.kind === "unbounded" || this.state.kind === "settled") return;
|
|
186
|
-
const remaining = this.review.validity.atMs - Date.now();
|
|
187
|
-
if (remaining <= 0) {
|
|
188
|
-
this.checkDeadline();
|
|
189
|
-
return;
|
|
190
|
-
}
|
|
191
|
-
this.deadline = setTimeout(this.scheduleDeadline, Math.min(remaining, 2147483647));
|
|
192
|
-
};
|
|
193
|
-
this.rejectBeforeDispatch = (error) => {
|
|
194
|
-
if (this.state.kind === "settled") return;
|
|
195
|
-
if (this.state.kind === "review_failed" && error instanceof TransactionReviewError && error.code === "cancelled") error = this.state.error;
|
|
196
|
-
if (this.state.kind !== "queued" && this.state.reservation.state.kind !== "reviewing") {
|
|
197
|
-
this.state.reservation.cancel(error instanceof Error ? error : new Error(String(error)));
|
|
198
|
-
return;
|
|
199
|
-
}
|
|
200
|
-
this.abort.abort(error);
|
|
201
|
-
this.reject(error);
|
|
202
|
-
this.finish();
|
|
203
|
-
};
|
|
204
108
|
this.result = new Promise(this.captureResult);
|
|
205
109
|
this.controls = Object.freeze({
|
|
206
110
|
continueToWallet: this.continueToWallet,
|
|
@@ -208,9 +112,18 @@ var ReviewCall = class {
|
|
|
208
112
|
fail: this.fail
|
|
209
113
|
});
|
|
210
114
|
}
|
|
115
|
+
captureResult = (resolve, reject) => {
|
|
116
|
+
this.resolve = resolve;
|
|
117
|
+
this.reject = reject;
|
|
118
|
+
};
|
|
119
|
+
subscribe = (listener) => {
|
|
120
|
+
this.listeners.add(listener);
|
|
121
|
+
return this.unsubscribe.bind(this, listener);
|
|
122
|
+
};
|
|
211
123
|
unsubscribe(listener) {
|
|
212
124
|
this.listeners.delete(listener);
|
|
213
125
|
}
|
|
126
|
+
snapshot = () => this.state;
|
|
214
127
|
transition(state) {
|
|
215
128
|
this.state = state;
|
|
216
129
|
for (const listener of this.listeners) listener();
|
|
@@ -245,6 +158,44 @@ var ReviewCall = class {
|
|
|
245
158
|
this.rejectBeforeDispatch(error);
|
|
246
159
|
}
|
|
247
160
|
}
|
|
161
|
+
reservationChanged = () => {
|
|
162
|
+
if (this.state.kind === "queued" || this.state.kind === "settled") return;
|
|
163
|
+
const reservation = this.state.reservation;
|
|
164
|
+
if (reservation.state.kind === "reviewing_again") {
|
|
165
|
+
this.transition({
|
|
166
|
+
kind: "reviewing",
|
|
167
|
+
reservation
|
|
168
|
+
});
|
|
169
|
+
this.host.show(this);
|
|
170
|
+
return;
|
|
171
|
+
}
|
|
172
|
+
if (reservation.state.kind === "wallet_approval" || reservation.state.kind === "signing") {
|
|
173
|
+
if (this.prepareTimer) clearTimeout(this.prepareTimer);
|
|
174
|
+
this.prepareTimer = null;
|
|
175
|
+
this.transition({
|
|
176
|
+
kind: reservation.state.kind === "signing" ? "signing" : "wallet_approval",
|
|
177
|
+
reservation
|
|
178
|
+
});
|
|
179
|
+
if (reservation.state.kind === "signing") this.host.hide(this);
|
|
180
|
+
}
|
|
181
|
+
};
|
|
182
|
+
continueToWallet = () => {
|
|
183
|
+
if (this.state.kind !== "reviewing") return;
|
|
184
|
+
try {
|
|
185
|
+
this.owner.assertLive();
|
|
186
|
+
assertTransactionReviewValid(this.review.validity);
|
|
187
|
+
const reservation = this.state.reservation;
|
|
188
|
+
this.transition({
|
|
189
|
+
kind: "preparing_approval",
|
|
190
|
+
reservation
|
|
191
|
+
});
|
|
192
|
+
this.prepareTimer = setTimeout(this.prepareTimedOut, 3e4);
|
|
193
|
+
if (reservation.state.kind === "reviewing_again") reservation.resume();
|
|
194
|
+
else this.dispatch(reservation);
|
|
195
|
+
} catch (error) {
|
|
196
|
+
this.rejectBeforeDispatch(error);
|
|
197
|
+
}
|
|
198
|
+
};
|
|
248
199
|
async dispatch(reservation) {
|
|
249
200
|
try {
|
|
250
201
|
const bridge = getTransactionReviewBridge(this.host.seams.near);
|
|
@@ -257,14 +208,65 @@ var ReviewCall = class {
|
|
|
257
208
|
this.finish();
|
|
258
209
|
}
|
|
259
210
|
}
|
|
211
|
+
cancel = () => {
|
|
212
|
+
if (this.state.kind === "review_failed") {
|
|
213
|
+
this.rejectBeforeDispatch(this.state.error);
|
|
214
|
+
return;
|
|
215
|
+
}
|
|
216
|
+
if (this.state.kind !== "reviewing") return;
|
|
217
|
+
this.rejectBeforeDispatch(new TransactionReviewError("cancelled", "Transaction review cancelled"));
|
|
218
|
+
};
|
|
219
|
+
fail = (cause) => {
|
|
220
|
+
if (this.state.kind !== "reviewing") return;
|
|
221
|
+
const error = new TransactionReviewError("review_render_failed", "The application review could not be displayed", { cause });
|
|
222
|
+
this.transition({
|
|
223
|
+
kind: "review_failed",
|
|
224
|
+
reservation: this.state.reservation,
|
|
225
|
+
error
|
|
226
|
+
});
|
|
227
|
+
};
|
|
260
228
|
dispose() {
|
|
261
229
|
this.cancelOutstanding(new TransactionReviewError("review_owner_disposed", "The transaction review owner was disposed"));
|
|
262
230
|
}
|
|
231
|
+
loadingTimedOut = () => {
|
|
232
|
+
if (this.state.kind !== "reviewing") return;
|
|
233
|
+
this.rejectBeforeDispatch(new TransactionReviewError("review_prepare_timeout", "The application review did not finish loading"));
|
|
234
|
+
};
|
|
235
|
+
prepareTimedOut = () => {
|
|
236
|
+
this.cancelOutstanding(new TransactionReviewError("review_prepare_timeout", "Wallet approval could not be prepared in time"));
|
|
237
|
+
};
|
|
238
|
+
checkDeadline = () => {
|
|
239
|
+
try {
|
|
240
|
+
assertTransactionReviewValid(this.review.validity);
|
|
241
|
+
} catch (error) {
|
|
242
|
+
this.cancelOutstanding(error instanceof Error ? error : new Error(String(error)));
|
|
243
|
+
}
|
|
244
|
+
};
|
|
245
|
+
scheduleDeadline = () => {
|
|
246
|
+
if (this.review.validity.kind === "unbounded" || this.state.kind === "settled") return;
|
|
247
|
+
const remaining = this.review.validity.atMs - Date.now();
|
|
248
|
+
if (remaining <= 0) {
|
|
249
|
+
this.checkDeadline();
|
|
250
|
+
return;
|
|
251
|
+
}
|
|
252
|
+
this.deadline = setTimeout(this.scheduleDeadline, Math.min(remaining, 2147483647));
|
|
253
|
+
};
|
|
263
254
|
cancelOutstanding(error) {
|
|
264
255
|
if (this.state.kind === "settled" || this.state.kind === "signing") return;
|
|
265
256
|
if (this.state.kind === "queued" || this.state.kind === "reviewing" || this.state.kind === "review_failed") this.rejectBeforeDispatch(error);
|
|
266
257
|
else this.state.reservation.cancel(error);
|
|
267
258
|
}
|
|
259
|
+
rejectBeforeDispatch = (error) => {
|
|
260
|
+
if (this.state.kind === "settled") return;
|
|
261
|
+
if (this.state.kind === "review_failed" && error instanceof TransactionReviewError && error.code === "cancelled") error = this.state.error;
|
|
262
|
+
if (this.state.kind !== "queued" && this.state.reservation.state.kind !== "reviewing") {
|
|
263
|
+
this.state.reservation.cancel(error instanceof Error ? error : new Error(String(error)));
|
|
264
|
+
return;
|
|
265
|
+
}
|
|
266
|
+
this.abort.abort(error);
|
|
267
|
+
this.reject(error);
|
|
268
|
+
this.finish();
|
|
269
|
+
};
|
|
268
270
|
finish() {
|
|
269
271
|
if (this.state.kind === "settled") return;
|
|
270
272
|
const previous = this.state;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{o as e,s as t,t as n}from"./jsxRuntime.module-DKsgiFjd.js";async function r(e,t,n){if(!e.isConnected||n?.aborted)return!1;let r=e.ownerDocument,i=r.defaultView?.navigator.clipboard;if(i?.writeText)try{return await i.writeText(t),!0}catch{}if(!e.isConnected||n?.aborted)return!1;let a=r.createElement(`textarea`);a.value=t,a.readOnly=!0,a.className=`seams-offscreen`,e.appendChild(a),a.select();try{return r.execCommand(`copy`)}finally{a.remove()}}function i(){return n(`span`,{class:`copy-icon`,"aria-hidden":`true`,children:[n(`span`,{class:`copy-icon-check`,children:n(`svg`,{width:`16`,height:`16`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,children:n(`path`,{d:`M20 6 9 17l-5-5`})})}),n(`span`,{class:`copy-icon-copy`,children:n(`svg`,{width:`16`,height:`16`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,children:[n(`rect`,{width:`14`,height:`14`,x:`8`,y:`8`,rx:`2`,ry:`2`}),n(`path`,{d:`M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2`})]})})]})}let a=0;function o(e){return n(s,{...e},e.context)}var s=class extends e{dialog=t();hosted=t();containerId=`seams-confirmation-modal-${++a}`;componentDidMount(){this.props.context===`standalone`?this.dialog.current?.showModal():this.hosted.current?.focus({preventScroll:!0})}componentWillUnmount(){this.dialog.current?.close()}cancel=e=>{e.preventDefault(),e.stopPropagation(),this.props.onCancel()};backdropClick=e=>{let t=this.dialog.current;if(!t||e.target!==t)return;let n=t.getBoundingClientRect();(e.clientX<n.left||e.clientX>n.right||e.clientY<n.top||e.clientY>n.bottom)&&this.cancel(e)};hostedKeyDown=e=>{!e.defaultPrevented&&e.key===`Escape`&&this.cancel(e)};render(){return this.props.context===`standalone`?n(`dialog`,{ref:this.dialog,class:`seams-confirmation-modal`,"aria-label":this.props.label,onCancel:this.cancel,onClick:this.backdropClick,children:n(`div`,{id:this.containerId,class:`modal-container-root`,tabIndex:-1,children:this.props.children})}):n(`div`,{ref:this.hosted,class:`seams-confirmation-modal seams-confirmation-modal--hosted`,tabIndex:-1,onKeyDown:this.hostedKeyDown,children:n(`div`,{id:this.containerId,class:`modal-container-root`,children:this.props.children})})}};function c(e){let t=e.startTranslatePx+e.deltaPx;if(t>=e.restTranslatePx)return t;let n=Math.max(e.sheetHeightPx*.5,e.viewportHeightPx*.5,e.minimumOverpullPx),r=e.restTranslatePx-t;return e.restTranslatePx-n*(1-1/(r/n+1))}function l(e){let t=e.totalDeltaPx/Math.max(1,e.durationMs);return Math.min(e.velocityPxPerMs,t)<=-.6||Math.max(e.velocityPxPerMs,t)>=.7||e.translatePx>=e.sheetHeightPx-50}let u=0;function d(e){return n(f,{...e},e.context)}var f=class extends e{state={settled:!1};id=`seams-confirmation-drawer-${++u}`;dialog=t();sheet=t();body=t();content=t();observer=null;frame=null;closeTimer=null;gesture={kind:`idle`};lifetime=`active`;closeReported=!1;suppressPointerClick=!1;componentDidMount(){let e=this.sheet.current,t=e.ownerDocument.defaultView;this.dialog.current?.showModal(),this.dialog.current||e.focus({preventScroll:!0}),this.observer=new ResizeObserver(this.measureContent),this.observer.observe(this.content.current),this.observer.observe(e),t.addEventListener(`resize`,this.scheduleMeasure),t.visualViewport?.addEventListener(`resize`,this.scheduleMeasure),this.measure(),this.frame=t.requestAnimationFrame(this.openAfterLayout),this.props.state.kind===`closing`&&this.startClose()}openAfterLayout=()=>{this.frame=null,this.setState({settled:!0})};componentDidUpdate(e){e.styles!==this.props.styles&&(e.styles.deleteDynamicRule(this.id),e.styles.deleteDynamicRule(`${this.id}-drag`),this.resetGesture(),this.measure()),e.state.kind!==this.props.state.kind&&(this.props.state.kind===`closing`?this.startClose():(this.clearCloseTimer(),this.closeReported=!1)),this.props.state.kind===`open`&&this.props.state.interaction===`busy`&&this.resetGesture()}componentWillUnmount(){this.lifetime=`disposed`,this.resetGesture();let e=this.sheet.current.ownerDocument.defaultView;this.frame!==null&&e.cancelAnimationFrame(this.frame),this.clearCloseTimer(),this.observer?.disconnect(),e.removeEventListener(`resize`,this.scheduleMeasure),e.visualViewport?.removeEventListener(`resize`,this.scheduleMeasure),this.props.styles.deleteDynamicRule(this.id),this.dialog.current?.close()}scheduleMeasure=()=>{this.lifetime===`disposed`||this.frame!==null||(this.frame=this.sheet.current.ownerDocument.defaultView.requestAnimationFrame(this.measureFrame))};measureFrame=()=>{this.frame=null,this.measure()};measureContent=()=>{this.lifetime===`active`&&this.measure()};measure(){if(this.gesture.kind!==`idle`)return;let e=this.sheet.current,t=this.content.current,n=Math.round(t.getBoundingClientRect().bottom-e.getBoundingClientRect().top),r=this.props.context===`standalone`?Math.max(0,e.offsetHeight-n):0;this.props.styles.setDynamicDeclarations(this.id,`#${this.id}`,{"--seams-drawer-rest":`${r}px`})}startClose(){this.resetGesture(),this.clearCloseTimer();let e=this.sheet.current.ownerDocument.defaultView,t=e.matchMedia(`(prefers-reduced-motion: reduce)`).matches?0:150;this.closeTimer=e.setTimeout(this.reportClosed,t)}clearCloseTimer(){this.closeTimer!==null&&(this.sheet.current.ownerDocument.defaultView.clearTimeout(this.closeTimer),this.closeTimer=null)}reportClosed=()=>{this.clearCloseTimer(),!(this.lifetime===`disposed`||this.closeReported||this.props.state.kind!==`closing`)&&(this.closeReported=!0,this.props.state.onClosed())};transitionEnd=e=>{e.target===this.sheet.current&&e.propertyName===`transform`&&this.reportClosed()};cancel=e=>{e.preventDefault(),e.stopPropagation(),this.props.state.kind===`open`&&this.props.onCancel()};backdropClick=e=>{this.props.dismissOnBackdrop!==!1&&e.target===this.dialog.current&&this.canDrag()&&this.cancel(e)};keyDown=e=>{!e.defaultPrevented&&e.key===`Escape`&&this.cancel(e)};canDrag(){return this.props.state.kind===`open`&&this.props.state.interaction===`ready`}pointerDown=e=>{if(this.clearClickSuppression(),!this.canDrag()||this.gesture.kind!==`idle`||!e.isPrimary||e.button!==0)return;let t=e.target;if(t instanceof Element&&t.closest(`a, input, textarea, select, summary, button:not(.seams-drawer-handle), [data-seams-drawer-no-drag]`))return;this.gesture={kind:`pending`,pointerId:e.pointerId,startY:e.clientY};let n=this.sheet.current.ownerDocument;n.addEventListener(`pointermove`,this.pointerMove,{passive:!1}),n.addEventListener(`pointerup`,this.pointerUp),n.addEventListener(`pointercancel`,this.pointerCancel)};pointerMove=e=>{let t=this.gesture;if(t.kind===`idle`||t.pointerId!==e.pointerId)return;let n=this.sheet.current;if(t.kind===`pending`){if(Math.abs(e.clientY-t.startY)<8||this.body.current.scrollTop>0)return;let r=n.ownerDocument.defaultView,i=new DOMMatrixReadOnly(r.getComputedStyle(n).transform).m42;t={kind:`dragging`,pointerId:t.pointerId,startY:t.startY,lastY:t.startY,startedAt:e.timeStamp,lastTime:e.timeStamp,velocity:0,rest:i,translate:i,height:n.offsetHeight},this.gesture=t,n.setPointerCapture(e.pointerId),n.classList.add(`is-dragging`)}let r=e.timeStamp-t.lastTime;r>0&&(t.velocity=(e.clientY-t.lastY)/r),t.lastY=e.clientY,t.lastTime=e.timeStamp,t.translate=c({startTranslatePx:t.rest,deltaPx:e.clientY-t.startY,restTranslatePx:t.rest,sheetHeightPx:t.height,viewportHeightPx:n.ownerDocument.defaultView.innerHeight,minimumOverpullPx:160}),this.props.styles.setDynamicDeclarations(`${this.id}-drag`,`#${this.id}`,{"--seams-drawer-drag":`${t.translate}px`}),e.preventDefault()};pointerUp=e=>{let t=this.gesture;if(t.kind===`idle`||t.pointerId!==e.pointerId)return;let n=t.kind===`dragging`&&l({velocityPxPerMs:t.velocity,totalDeltaPx:t.lastY-t.startY,durationMs:e.timeStamp-t.startedAt,translatePx:t.translate,sheetHeightPx:t.height});t.kind===`dragging`&&(this.suppressPointerClick=!0,e.preventDefault()),this.resetGesture(),n&&this.props.state.kind===`open`&&this.props.onCancel()};pointerCancel=e=>{this.gesture.kind!==`idle`&&this.gesture.pointerId===e.pointerId&&(this.gesture.kind===`dragging`&&(this.suppressPointerClick=!0),this.resetGesture())};clearClickSuppression=()=>{this.suppressPointerClick=!1};suppressDragClick=e=>{!this.suppressPointerClick||e.detail===0||(this.suppressPointerClick=!1,e.preventDefault(),e.stopPropagation())};resetGesture(){let e=this.sheet.current,t=this.gesture;this.gesture={kind:`idle`},t.kind!==`idle`&&e.hasPointerCapture(t.pointerId)&&e.releasePointerCapture(t.pointerId),e.classList.remove(`is-dragging`);let n=e.ownerDocument;n.removeEventListener(`pointermove`,this.pointerMove),n.removeEventListener(`pointerup`,this.pointerUp),n.removeEventListener(`pointercancel`,this.pointerCancel),this.props.styles.deleteDynamicRule(`${this.id}-drag`),this.lifetime===`active`&&this.scheduleMeasure()}render(){let e=this.state.settled&&this.props.state.kind===`open`,t=[`seams-confirmation-drawer`];e&&t.push(`is-open`),this.gesture.kind===`dragging`&&t.push(`is-dragging`);let r=n(`section`,{ref:this.sheet,id:this.id,class:t.join(` `),"data-context":this.props.context,tabIndex:-1,onPointerDownCapture:this.pointerDown,onClickCapture:this.suppressDragClick,onLostPointerCapture:this.pointerCancel,onTransitionEnd:this.transitionEnd,onKeyDown:this.keyDown,children:[n(`div`,{class:`seams-drawer-controls`,children:[this.props.origin&&n(`div`,{class:`seams-drawer-origin`,children:this.props.origin}),n(`button`,{type:`button`,class:`seams-drawer-handle`,"aria-label":`Dismiss confirmation`,disabled:!this.canDrag(),onClick:this.cancel,children:n(`span`,{})}),n(`button`,{type:`button`,class:`seams-drawer-close`,"aria-label":`Close`,disabled:!this.canDrag(),onClick:this.cancel,children:`×`})]}),n(`div`,{class:`seams-drawer-body`,ref:this.body,children:[this.props.errorMessage&&n(`div`,{class:`error`,children:this.props.errorMessage}),n(`div`,{class:`seams-drawer-content`,ref:this.content,children:this.props.children})]})]});return this.props.context===`wallet-iframe`?r:n(`dialog`,{class:`seams-drawer-dialog`,ref:this.dialog,"aria-label":this.props.label,onCancel:this.cancel,onClick:this.backdropClick,onClickCapture:this.suppressDragClick,onPointerDownCapture:this.clearClickSuppression,children:r})}};export{r as i,o as n,i as r,d as t};
|