@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
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
//#region src/core/types/amounts.ts
|
|
2
|
+
var AmountError = class extends Error {
|
|
3
|
+
constructor(code, message) {
|
|
4
|
+
super(message);
|
|
5
|
+
this.code = code;
|
|
6
|
+
this.name = "AmountError";
|
|
7
|
+
}
|
|
8
|
+
};
|
|
9
|
+
const DECIMAL_AMOUNT = /^(\d+)(?:\.(\d+))?$/;
|
|
10
|
+
/**
|
|
11
|
+
* Convert a decimal amount to integer base units: `amount * 10^decimals`.
|
|
12
|
+
* Use it for a token whose decimals are not 18 or 24, such as an ERC-20.
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* parseUnits('1.5', 6); // 1500000n
|
|
16
|
+
*
|
|
17
|
+
* @throws {AmountError} `invalid_format` for anything other than digits with
|
|
18
|
+
* an optional fraction (no sign, unit or exponent), and `too_many_decimals`
|
|
19
|
+
* for more fractional digits than `decimals`.
|
|
20
|
+
*/
|
|
21
|
+
function parseUnits(amount, decimals) {
|
|
22
|
+
if (!Number.isSafeInteger(decimals) || decimals < 0) throw new RangeError(`decimals must be a non-negative integer, got ${decimals}`);
|
|
23
|
+
const match = DECIMAL_AMOUNT.exec(amount);
|
|
24
|
+
if (!match) throw new AmountError("invalid_format", `Invalid amount ${JSON.stringify(amount)}: expected a decimal such as '1' or '0.5'`);
|
|
25
|
+
const [, whole, fraction = ""] = match;
|
|
26
|
+
if (fraction.length > decimals) throw new AmountError("too_many_decimals", `Invalid amount ${JSON.stringify(amount)}: at most ${decimals} decimal places`);
|
|
27
|
+
return BigInt(whole + fraction.padEnd(decimals, "0"));
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Convert a decimal NEAR amount to yoctoNEAR.
|
|
31
|
+
*
|
|
32
|
+
* @example
|
|
33
|
+
* parseNear('1'); // '1000000000000000000000000'
|
|
34
|
+
* parseNear('0.5'); // '500000000000000000000000'
|
|
35
|
+
*
|
|
36
|
+
* @throws {AmountError} as `parseUnits`, with at most 24 decimal places.
|
|
37
|
+
*/
|
|
38
|
+
function parseNear(amount) {
|
|
39
|
+
return parseUnits(amount, 24).toString();
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Take an amount that is already in yoctoNEAR.
|
|
43
|
+
*
|
|
44
|
+
* @example
|
|
45
|
+
* yoctoNear('1000000000000000000000000'); // 1 NEAR
|
|
46
|
+
*
|
|
47
|
+
* @throws {AmountError} unless `amount` is a non-negative integer.
|
|
48
|
+
*/
|
|
49
|
+
function yoctoNear(amount) {
|
|
50
|
+
return parseUnits(typeof amount === "bigint" ? amount.toString() : amount, 0).toString();
|
|
51
|
+
}
|
|
52
|
+
const YOCTO_NEAR_SUFFIX = " yoctoNEAR";
|
|
53
|
+
const NEAR_SUFFIX = " NEAR";
|
|
54
|
+
/**
|
|
55
|
+
* Resolve a `NearAmount` to yoctoNEAR with the same exact parsers.
|
|
56
|
+
*
|
|
57
|
+
* @throws {AmountError} for a negative, non-numeric or over-precise amount,
|
|
58
|
+
* or for spacing other than one space before the unit.
|
|
59
|
+
*/
|
|
60
|
+
function toYoctoNear(amount) {
|
|
61
|
+
if (amount.endsWith(YOCTO_NEAR_SUFFIX)) return yoctoNear(amount.slice(0, -10));
|
|
62
|
+
if (amount.endsWith(NEAR_SUFFIX)) return parseNear(amount.slice(0, -5));
|
|
63
|
+
return yoctoNear(amount);
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Convert a decimal amount of an EVM chain's native coin to wei
|
|
67
|
+
* (1 coin = 10^18 wei). "Ether" names the 10^18 denomination, so this is
|
|
68
|
+
* correct for any chain whose native coin has 18 decimals: ETH on Ethereum
|
|
69
|
+
* and Base, POL on Polygon, and so on.
|
|
70
|
+
*
|
|
71
|
+
* @example
|
|
72
|
+
* parseEther('1'); // 1000000000000000000n
|
|
73
|
+
* parseEther('0.5'); // 500000000000000000n
|
|
74
|
+
*
|
|
75
|
+
* @throws {AmountError} as `parseUnits`, with at most 18 decimal places.
|
|
76
|
+
*/
|
|
77
|
+
function parseEther(amount) {
|
|
78
|
+
return parseUnits(amount, 18);
|
|
79
|
+
}
|
|
80
|
+
//#endregion
|
|
81
|
+
export { AmountError, parseEther, parseNear, parseUnits, toYoctoNear, yoctoNear };
|
|
82
|
+
|
|
83
|
+
//# sourceMappingURL=amounts.js.map
|
|
@@ -2,11 +2,11 @@ import { parseVerifiedEmailAddress } from "../../shared-ts/src/utils/domainIds.j
|
|
|
2
2
|
import "./sdkSentEvents.js";
|
|
3
3
|
//#region src/core/types/linkDevice.ts
|
|
4
4
|
var DeviceLinkingError = class extends Error {
|
|
5
|
+
name = "DeviceLinkingError";
|
|
5
6
|
constructor(message, code, phase) {
|
|
6
7
|
super(message);
|
|
7
8
|
this.code = code;
|
|
8
9
|
this.phase = phase;
|
|
9
|
-
this.name = "DeviceLinkingError";
|
|
10
10
|
}
|
|
11
11
|
};
|
|
12
12
|
let DeviceLinkingErrorCode = /* @__PURE__ */ function(DeviceLinkingErrorCode) {
|
|
@@ -10,16 +10,16 @@ var ProviderBinding = class {
|
|
|
10
10
|
constructor(detail, owner) {
|
|
11
11
|
this.detail = detail;
|
|
12
12
|
this.owner = owner;
|
|
13
|
-
this.accountsChanged = (value) => {
|
|
14
|
-
this.owner.providerEvent(this, "accounts", value);
|
|
15
|
-
};
|
|
16
|
-
this.chainChanged = (value) => {
|
|
17
|
-
this.owner.providerEvent(this, "chain", value);
|
|
18
|
-
};
|
|
19
|
-
this.disconnected = () => {
|
|
20
|
-
this.owner.providerEvent(this, "disconnect", null);
|
|
21
|
-
};
|
|
22
13
|
}
|
|
14
|
+
accountsChanged = (value) => {
|
|
15
|
+
this.owner.providerEvent(this, "accounts", value);
|
|
16
|
+
};
|
|
17
|
+
chainChanged = (value) => {
|
|
18
|
+
this.owner.providerEvent(this, "chain", value);
|
|
19
|
+
};
|
|
20
|
+
disconnected = () => {
|
|
21
|
+
this.owner.providerEvent(this, "disconnect", null);
|
|
22
|
+
};
|
|
23
23
|
attach() {
|
|
24
24
|
this.detail.provider.on("accountsChanged", this.accountsChanged);
|
|
25
25
|
this.detail.provider.on("chainChanged", this.chainChanged);
|
|
@@ -38,48 +38,28 @@ function removeProviderListener(provider, event, listener) {
|
|
|
38
38
|
}
|
|
39
39
|
/** Host-owned controller. Construction is side-effect free; start discovery on mount. */
|
|
40
40
|
var ExternalEvmController = class {
|
|
41
|
+
chains;
|
|
42
|
+
registry = /* @__PURE__ */ new Map();
|
|
43
|
+
subscribers = /* @__PURE__ */ new Set();
|
|
44
|
+
mountTokens = /* @__PURE__ */ new Set();
|
|
45
|
+
binding = null;
|
|
46
|
+
target = null;
|
|
47
|
+
activeRequestToken = null;
|
|
48
|
+
generation = 0;
|
|
49
|
+
eventVersion = 0;
|
|
50
|
+
snapshot = Object.freeze({
|
|
51
|
+
wallets: [],
|
|
52
|
+
connection: DISCONNECTED_EXTERNAL_EVM,
|
|
53
|
+
busy: false
|
|
54
|
+
});
|
|
41
55
|
constructor(chains) {
|
|
42
|
-
this.registry = /* @__PURE__ */ new Map();
|
|
43
|
-
this.subscribers = /* @__PURE__ */ new Set();
|
|
44
|
-
this.mountTokens = /* @__PURE__ */ new Set();
|
|
45
|
-
this.binding = null;
|
|
46
|
-
this.target = null;
|
|
47
|
-
this.activeRequestToken = null;
|
|
48
|
-
this.generation = 0;
|
|
49
|
-
this.eventVersion = 0;
|
|
50
|
-
this.snapshot = Object.freeze({
|
|
51
|
-
wallets: [],
|
|
52
|
-
connection: DISCONNECTED_EXTERNAL_EVM,
|
|
53
|
-
busy: false
|
|
54
|
-
});
|
|
55
|
-
this.getSnapshot = () => this.snapshot;
|
|
56
|
-
this.subscribe = (listener) => {
|
|
57
|
-
this.subscribers.add(listener);
|
|
58
|
-
return this.unsubscribe.bind(this, listener);
|
|
59
|
-
};
|
|
60
|
-
this.mount = () => {
|
|
61
|
-
const token = Symbol("external EVM mount");
|
|
62
|
-
this.mountTokens.add(token);
|
|
63
|
-
if (typeof window !== "undefined") this.start(window);
|
|
64
|
-
return this.releaseMount.bind(this, token);
|
|
65
|
-
};
|
|
66
|
-
this.announce = (event) => {
|
|
67
|
-
try {
|
|
68
|
-
if (!("detail" in event)) return;
|
|
69
|
-
const detail = parseAnnouncement(event.detail);
|
|
70
|
-
if (detail) this.registerProvider(detail);
|
|
71
|
-
} catch {}
|
|
72
|
-
};
|
|
73
|
-
this.disconnect = () => {
|
|
74
|
-
this.clearConnection(this.snapshot.wallets);
|
|
75
|
-
};
|
|
76
|
-
this.dispose = () => {
|
|
77
|
-
this.mountTokens.clear();
|
|
78
|
-
this.stopDiscovery();
|
|
79
|
-
this.clearConnection([]);
|
|
80
|
-
};
|
|
81
56
|
this.chains = parseChains(chains);
|
|
82
57
|
}
|
|
58
|
+
getSnapshot = () => this.snapshot;
|
|
59
|
+
subscribe = (listener) => {
|
|
60
|
+
this.subscribers.add(listener);
|
|
61
|
+
return this.unsubscribe.bind(this, listener);
|
|
62
|
+
};
|
|
83
63
|
unsubscribe(listener) {
|
|
84
64
|
this.subscribers.delete(listener);
|
|
85
65
|
}
|
|
@@ -105,10 +85,23 @@ var ExternalEvmController = class {
|
|
|
105
85
|
} catch {}
|
|
106
86
|
target.dispatchEvent(new Event("eip6963:requestProvider"));
|
|
107
87
|
}
|
|
88
|
+
mount = () => {
|
|
89
|
+
const token = Symbol("external EVM mount");
|
|
90
|
+
this.mountTokens.add(token);
|
|
91
|
+
if (typeof window !== "undefined") this.start(window);
|
|
92
|
+
return this.releaseMount.bind(this, token);
|
|
93
|
+
};
|
|
108
94
|
releaseMount(token) {
|
|
109
95
|
if (!this.mountTokens.delete(token)) return;
|
|
110
96
|
if (this.mountTokens.size === 0) this.dispose();
|
|
111
97
|
}
|
|
98
|
+
announce = (event) => {
|
|
99
|
+
try {
|
|
100
|
+
if (!("detail" in event)) return;
|
|
101
|
+
const detail = parseAnnouncement(event.detail);
|
|
102
|
+
if (detail) this.registerProvider(detail);
|
|
103
|
+
} catch {}
|
|
104
|
+
};
|
|
112
105
|
registerProvider(detail) {
|
|
113
106
|
if (this.registry.has(detail.wallet.id)) return;
|
|
114
107
|
for (const registered of this.registry.values()) if (registered.provider === detail.provider) return;
|
|
@@ -116,6 +109,9 @@ var ExternalEvmController = class {
|
|
|
116
109
|
const wallets = Object.freeze([...this.snapshot.wallets, detail.wallet]);
|
|
117
110
|
this.publish(this.snapshot.connection, wallets);
|
|
118
111
|
}
|
|
112
|
+
disconnect = () => {
|
|
113
|
+
this.clearConnection(this.snapshot.wallets);
|
|
114
|
+
};
|
|
119
115
|
clearConnection(wallets) {
|
|
120
116
|
this.activeRequestToken = null;
|
|
121
117
|
this.generation += 1;
|
|
@@ -129,6 +125,11 @@ var ExternalEvmController = class {
|
|
|
129
125
|
this.target = null;
|
|
130
126
|
this.registry.clear();
|
|
131
127
|
}
|
|
128
|
+
dispose = () => {
|
|
129
|
+
this.mountTokens.clear();
|
|
130
|
+
this.stopDiscovery();
|
|
131
|
+
this.clearConnection([]);
|
|
132
|
+
};
|
|
132
133
|
async connect(walletId) {
|
|
133
134
|
if (this.activeRequestToken !== null) return pending();
|
|
134
135
|
if (typeof walletId !== "string" || !walletId.trim()) return externalEvmFailure("invalid_input", "Select a wallet.");
|
package/dist/esm/index.js
CHANGED
|
@@ -11,6 +11,7 @@ import { DEVICE_LINKING_CONFIG, SIGNER_WORKER_MANAGER_CONFIG } from "./config.js
|
|
|
11
11
|
import { defineSeamsConfig, seamsTestnetConfig } from "./core/config/defineConfig.js";
|
|
12
12
|
import { DEFAULT_WAIT_STATUS } from "./core/types/rpc.js";
|
|
13
13
|
import { ActionType } from "./shared-ts/src/near/actions.js";
|
|
14
|
+
import { AmountError, parseEther, parseNear, parseUnits, yoctoNear } from "./core/types/amounts.js";
|
|
14
15
|
import { addKey, createAccount, deleteAccount, deleteKey, deployContract, functionCall, stake, transfer } from "./core/types/actionBuilders.js";
|
|
15
16
|
import { logWalletEvents } from "./core/types/eventLogging.js";
|
|
16
|
-
export { AccountSyncEventPhase, ActionType, BrowserCapabilityUnavailableError, DEFAULT_WAIT_STATUS, DEVICE_LINKING_CONFIG, ExternalEvmController, KeyExportEventPhase, LinkDeviceEventPhase, PASSKEY_MANAGER_DEFAULT_CONFIGS, RegistrationEventPhase, SIGNER_WORKER_MANAGER_CONFIG, SeamsWeb, SigningEventPhase, UnlockEventPhase, WALLET_FLOW_EVENT_MESSAGES, WALLET_FLOW_EVENT_STEPS, WALLET_FLOW_EVENT_VERSION, addKey, buildConfigsFromEnv, buildHostedAuthMenuOpenRequest, configuredThresholdEcdsaChainTargets, createAccount, createAccountSyncFlowEvent, createKeyExportFlowEvent, createLinkDeviceFlowEvent, createRegistrationFlowEvent, createSigningFlowEvent, createUnlockFlowEvent, createWalletFlowEvent, defineSeamsConfig, deleteAccount, deleteKey, deployContract, functionCall, hostedAuthMenuExternalAuthRequestIdFromBoundary, hostedAuthMenuSessionIdFromBoundary, isWalletFlowEvent, logWalletEvents, nearAccountRefFromAccountId, parseWalletMoveId, seamsTestnetConfig, stake, thresholdEcdsaChainTargetFromChainFamily, thresholdEcdsaChainTargetFromConfig, thresholdEcdsaChainTargetFromConfiguredRequest, thresholdEcdsaChainTargetFromRequest, thresholdEcdsaChainTargetKey, thresholdEcdsaChainTargetsEqual, toAccountId, toWalletId, transfer, walletIdFromWalletProfile, walletSessionRefFromSession };
|
|
17
|
+
export { AccountSyncEventPhase, ActionType, AmountError, BrowserCapabilityUnavailableError, DEFAULT_WAIT_STATUS, DEVICE_LINKING_CONFIG, ExternalEvmController, KeyExportEventPhase, LinkDeviceEventPhase, PASSKEY_MANAGER_DEFAULT_CONFIGS, RegistrationEventPhase, SIGNER_WORKER_MANAGER_CONFIG, SeamsWeb, SigningEventPhase, UnlockEventPhase, WALLET_FLOW_EVENT_MESSAGES, WALLET_FLOW_EVENT_STEPS, WALLET_FLOW_EVENT_VERSION, addKey, buildConfigsFromEnv, buildHostedAuthMenuOpenRequest, configuredThresholdEcdsaChainTargets, createAccount, createAccountSyncFlowEvent, createKeyExportFlowEvent, createLinkDeviceFlowEvent, createRegistrationFlowEvent, createSigningFlowEvent, createUnlockFlowEvent, createWalletFlowEvent, defineSeamsConfig, deleteAccount, deleteKey, deployContract, functionCall, hostedAuthMenuExternalAuthRequestIdFromBoundary, hostedAuthMenuSessionIdFromBoundary, isWalletFlowEvent, logWalletEvents, nearAccountRefFromAccountId, parseEther, parseNear, parseUnits, parseWalletMoveId, seamsTestnetConfig, stake, thresholdEcdsaChainTargetFromChainFamily, thresholdEcdsaChainTargetFromConfig, thresholdEcdsaChainTargetFromConfiguredRequest, thresholdEcdsaChainTargetFromRequest, thresholdEcdsaChainTargetKey, thresholdEcdsaChainTargetsEqual, toAccountId, toWalletId, transfer, walletIdFromWalletProfile, walletSessionRefFromSession, yoctoNear };
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { nearAccountRefFromAccountId, walletSessionRefFromSession } from "../core/signingEngine/interfaces/ecdsaChainTarget.js";
|
|
2
|
+
import { createReviewedBoundCalls } from "./transactionReview/boundCalls.js";
|
|
3
|
+
//#region src/react/boundWallet.ts
|
|
4
|
+
function createBoundWallet(seams, loginState, host, owner) {
|
|
5
|
+
const { walletId, nearAccountId } = loginState;
|
|
6
|
+
const walletSession = walletSessionRefFromSession({ walletId });
|
|
7
|
+
const nearAccount = nearAccountId ? nearAccountRefFromAccountId(nearAccountId) : null;
|
|
8
|
+
const reviewed = createReviewedBoundCalls({
|
|
9
|
+
seams,
|
|
10
|
+
walletId,
|
|
11
|
+
walletSession,
|
|
12
|
+
nearAccount,
|
|
13
|
+
host,
|
|
14
|
+
owner
|
|
15
|
+
});
|
|
16
|
+
return {
|
|
17
|
+
walletId,
|
|
18
|
+
walletSession,
|
|
19
|
+
near: nearAccount && nearAccountId ? {
|
|
20
|
+
accountId: nearAccountId,
|
|
21
|
+
signAndSendTransaction: reviewed.nearSign,
|
|
22
|
+
signMessage: signMessage.bind(null, seams, walletSession, nearAccount)
|
|
23
|
+
} : null,
|
|
24
|
+
evm: {
|
|
25
|
+
signTransaction: reviewed.evmSign,
|
|
26
|
+
signAndSendTransaction: reviewed.evmExecute
|
|
27
|
+
},
|
|
28
|
+
tempo: {
|
|
29
|
+
signTransaction: reviewed.tempoSign,
|
|
30
|
+
signAndSendTransaction: reviewed.tempoExecute
|
|
31
|
+
},
|
|
32
|
+
exportKey: exportKey.bind(null, seams, walletSession, nearAccount)
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
function signMessage(seams, walletSession, nearAccount, args) {
|
|
36
|
+
return seams.near.signMessage({
|
|
37
|
+
...args,
|
|
38
|
+
walletSession,
|
|
39
|
+
nearAccount
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
function exportKey(seams, walletSession, nearAccount, input) {
|
|
43
|
+
if (input.kind === "ed25519") return seams.keys.exportKey({
|
|
44
|
+
...input,
|
|
45
|
+
walletSession,
|
|
46
|
+
...nearAccount ? { nearAccount } : {}
|
|
47
|
+
});
|
|
48
|
+
return seams.keys.exportKey({
|
|
49
|
+
...input,
|
|
50
|
+
walletSession
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
//#endregion
|
|
54
|
+
export { createBoundWallet };
|
|
55
|
+
|
|
56
|
+
//# sourceMappingURL=boundWallet.js.map
|
|
@@ -375,8 +375,19 @@
|
|
|
375
375
|
}
|
|
376
376
|
|
|
377
377
|
.seams-linked-devices-modal-otp-input:focus-visible {
|
|
378
|
-
outline:
|
|
379
|
-
|
|
378
|
+
outline: none;
|
|
379
|
+
border-color: transparent;
|
|
380
|
+
background:
|
|
381
|
+
linear-gradient(var(--seams-colors-colorBackground), var(--seams-colors-colorBackground))
|
|
382
|
+
padding-box,
|
|
383
|
+
var(
|
|
384
|
+
--seams-colors-focusGradient,
|
|
385
|
+
linear-gradient(
|
|
386
|
+
var(--seams-colors-focus, var(--seams-colors-primary)),
|
|
387
|
+
var(--seams-colors-focus, var(--seams-colors-primary))
|
|
388
|
+
)
|
|
389
|
+
)
|
|
390
|
+
border-box;
|
|
380
391
|
}
|
|
381
392
|
|
|
382
393
|
.seams-linked-devices-modal-secondary,
|
|
@@ -73,99 +73,10 @@ function assertNever(value) {
|
|
|
73
73
|
throw new Error(`Unexpected wallet region state: ${String(value)}`);
|
|
74
74
|
}
|
|
75
75
|
var WalletRegionSection = class extends Component {
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
this.requestRevision = 0;
|
|
81
|
-
this.timer = null;
|
|
82
|
-
this.load = async () => {
|
|
83
|
-
const revision = ++this.requestRevision;
|
|
84
|
-
this.commit({ kind: "loading" });
|
|
85
|
-
try {
|
|
86
|
-
const last = await this.props.placement.getLastMoveRequest(this.props.walletId);
|
|
87
|
-
if (!this.mounted || revision !== this.requestRevision) return;
|
|
88
|
-
const result = await this.props.placement.get(this.props.walletId);
|
|
89
|
-
if (!this.mounted || revision !== this.requestRevision) return;
|
|
90
|
-
if (!result.ok || result.placement.state === "unavailable") {
|
|
91
|
-
if (last !== null) {
|
|
92
|
-
await this.readMove(last);
|
|
93
|
-
return;
|
|
94
|
-
}
|
|
95
|
-
this.commit({
|
|
96
|
-
kind: "unavailable",
|
|
97
|
-
message: "Unable to check wallet placement. Unlock this wallet or reconnect to try again."
|
|
98
|
-
});
|
|
99
|
-
return;
|
|
100
|
-
}
|
|
101
|
-
if (result.placement.state === "moving") {
|
|
102
|
-
this.showProgress(result.placement);
|
|
103
|
-
return;
|
|
104
|
-
}
|
|
105
|
-
if (last !== null && last.expectedGeneration >= result.placement.generation) {
|
|
106
|
-
this.commit({
|
|
107
|
-
kind: "uncertain",
|
|
108
|
-
request: last,
|
|
109
|
-
message: "Reconnecting to check progress. The previous request may have been accepted."
|
|
110
|
-
});
|
|
111
|
-
await this.readMove(last);
|
|
112
|
-
return;
|
|
113
|
-
}
|
|
114
|
-
this.commit({
|
|
115
|
-
kind: "ready",
|
|
116
|
-
placement: result.placement,
|
|
117
|
-
selected: result.placement.region
|
|
118
|
-
});
|
|
119
|
-
} catch {
|
|
120
|
-
if (!this.mounted || revision !== this.requestRevision) return;
|
|
121
|
-
this.commit({
|
|
122
|
-
kind: "unavailable",
|
|
123
|
-
message: "Unable to check wallet placement. Reconnect to try again."
|
|
124
|
-
});
|
|
125
|
-
}
|
|
126
|
-
};
|
|
127
|
-
this.select = (event) => {
|
|
128
|
-
if (this.state.view.kind !== "ready") return;
|
|
129
|
-
const region = REGIONS.find(matchesRegion.bind(null, event.currentTarget.value));
|
|
130
|
-
if (!region) return;
|
|
131
|
-
this.commit({
|
|
132
|
-
kind: "ready",
|
|
133
|
-
placement: this.state.view.placement,
|
|
134
|
-
selected: region.value
|
|
135
|
-
});
|
|
136
|
-
};
|
|
137
|
-
this.submit = async () => {
|
|
138
|
-
const state = this.state.view;
|
|
139
|
-
if (state.kind !== "ready" || state.selected === state.placement.region || state.placement.nextMoveAtMs > Date.now()) return;
|
|
140
|
-
const request = {
|
|
141
|
-
walletId: this.props.walletId,
|
|
142
|
-
moveId: parseWalletMoveId(`wmove_${base64UrlEncode(crypto.getRandomValues(new Uint8Array(32)))}`),
|
|
143
|
-
destinationRegion: state.selected,
|
|
144
|
-
expectedGeneration: state.placement.generation
|
|
145
|
-
};
|
|
146
|
-
await this.send(request);
|
|
147
|
-
};
|
|
148
|
-
this.retry = async () => {
|
|
149
|
-
if (this.state.view.kind !== "uncertain") return;
|
|
150
|
-
await this.send(this.state.view.request);
|
|
151
|
-
};
|
|
152
|
-
this.poll = async () => {
|
|
153
|
-
this.timer = null;
|
|
154
|
-
const state = this.state.view;
|
|
155
|
-
if (state.kind === "uncertain") {
|
|
156
|
-
await this.readMove(state.request);
|
|
157
|
-
return;
|
|
158
|
-
}
|
|
159
|
-
if (state.kind !== "progress" || state.status.state !== "moving") return;
|
|
160
|
-
const move = state.status.move;
|
|
161
|
-
await this.readMove({
|
|
162
|
-
walletId: this.props.walletId,
|
|
163
|
-
moveId: move.moveId,
|
|
164
|
-
destinationRegion: move.destinationRegion,
|
|
165
|
-
expectedGeneration: move.sourceGeneration
|
|
166
|
-
});
|
|
167
|
-
};
|
|
168
|
-
}
|
|
76
|
+
state = { view: { kind: "loading" } };
|
|
77
|
+
mounted = false;
|
|
78
|
+
requestRevision = 0;
|
|
79
|
+
timer = null;
|
|
169
80
|
componentDidMount() {
|
|
170
81
|
this.mounted = true;
|
|
171
82
|
this.props.onAvailability(false);
|
|
@@ -180,6 +91,76 @@ var WalletRegionSection = class extends Component {
|
|
|
180
91
|
this.setState({ view: state });
|
|
181
92
|
this.props.onAvailability(permitsWalletActions(state));
|
|
182
93
|
}
|
|
94
|
+
load = async () => {
|
|
95
|
+
const revision = ++this.requestRevision;
|
|
96
|
+
this.commit({ kind: "loading" });
|
|
97
|
+
try {
|
|
98
|
+
const last = await this.props.placement.getLastMoveRequest(this.props.walletId);
|
|
99
|
+
if (!this.mounted || revision !== this.requestRevision) return;
|
|
100
|
+
const result = await this.props.placement.get(this.props.walletId);
|
|
101
|
+
if (!this.mounted || revision !== this.requestRevision) return;
|
|
102
|
+
if (!result.ok || result.placement.state === "unavailable") {
|
|
103
|
+
if (last !== null) {
|
|
104
|
+
await this.readMove(last);
|
|
105
|
+
return;
|
|
106
|
+
}
|
|
107
|
+
this.commit({
|
|
108
|
+
kind: "unavailable",
|
|
109
|
+
message: "Unable to check wallet placement. Unlock this wallet or reconnect to try again."
|
|
110
|
+
});
|
|
111
|
+
return;
|
|
112
|
+
}
|
|
113
|
+
if (result.placement.state === "moving") {
|
|
114
|
+
this.showProgress(result.placement);
|
|
115
|
+
return;
|
|
116
|
+
}
|
|
117
|
+
if (last !== null && last.expectedGeneration >= result.placement.generation) {
|
|
118
|
+
this.commit({
|
|
119
|
+
kind: "uncertain",
|
|
120
|
+
request: last,
|
|
121
|
+
message: "Reconnecting to check progress. The previous request may have been accepted."
|
|
122
|
+
});
|
|
123
|
+
await this.readMove(last);
|
|
124
|
+
return;
|
|
125
|
+
}
|
|
126
|
+
this.commit({
|
|
127
|
+
kind: "ready",
|
|
128
|
+
placement: result.placement,
|
|
129
|
+
selected: result.placement.region
|
|
130
|
+
});
|
|
131
|
+
} catch {
|
|
132
|
+
if (!this.mounted || revision !== this.requestRevision) return;
|
|
133
|
+
this.commit({
|
|
134
|
+
kind: "unavailable",
|
|
135
|
+
message: "Unable to check wallet placement. Reconnect to try again."
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
};
|
|
139
|
+
select = (event) => {
|
|
140
|
+
if (this.state.view.kind !== "ready") return;
|
|
141
|
+
const region = REGIONS.find(matchesRegion.bind(null, event.currentTarget.value));
|
|
142
|
+
if (!region) return;
|
|
143
|
+
this.commit({
|
|
144
|
+
kind: "ready",
|
|
145
|
+
placement: this.state.view.placement,
|
|
146
|
+
selected: region.value
|
|
147
|
+
});
|
|
148
|
+
};
|
|
149
|
+
submit = async () => {
|
|
150
|
+
const state = this.state.view;
|
|
151
|
+
if (state.kind !== "ready" || state.selected === state.placement.region || state.placement.nextMoveAtMs > Date.now()) return;
|
|
152
|
+
const request = {
|
|
153
|
+
walletId: this.props.walletId,
|
|
154
|
+
moveId: parseWalletMoveId(`wmove_${base64UrlEncode(crypto.getRandomValues(new Uint8Array(32)))}`),
|
|
155
|
+
destinationRegion: state.selected,
|
|
156
|
+
expectedGeneration: state.placement.generation
|
|
157
|
+
};
|
|
158
|
+
await this.send(request);
|
|
159
|
+
};
|
|
160
|
+
retry = async () => {
|
|
161
|
+
if (this.state.view.kind !== "uncertain") return;
|
|
162
|
+
await this.send(this.state.view.request);
|
|
163
|
+
};
|
|
183
164
|
async send(request) {
|
|
184
165
|
const revision = ++this.requestRevision;
|
|
185
166
|
if (this.timer !== null) {
|
|
@@ -216,6 +197,22 @@ var WalletRegionSection = class extends Component {
|
|
|
216
197
|
this.timer = setTimeout(this.poll, 1500);
|
|
217
198
|
}
|
|
218
199
|
}
|
|
200
|
+
poll = async () => {
|
|
201
|
+
this.timer = null;
|
|
202
|
+
const state = this.state.view;
|
|
203
|
+
if (state.kind === "uncertain") {
|
|
204
|
+
await this.readMove(state.request);
|
|
205
|
+
return;
|
|
206
|
+
}
|
|
207
|
+
if (state.kind !== "progress" || state.status.state !== "moving") return;
|
|
208
|
+
const move = state.status.move;
|
|
209
|
+
await this.readMove({
|
|
210
|
+
walletId: this.props.walletId,
|
|
211
|
+
moveId: move.moveId,
|
|
212
|
+
destinationRegion: move.destinationRegion,
|
|
213
|
+
expectedGeneration: move.sourceGeneration
|
|
214
|
+
});
|
|
215
|
+
};
|
|
219
216
|
async readMove(request) {
|
|
220
217
|
const revision = this.requestRevision;
|
|
221
218
|
try {
|
|
@@ -104,68 +104,65 @@ function WalletSettingsHeader() {
|
|
|
104
104
|
});
|
|
105
105
|
}
|
|
106
106
|
var WalletSettingsLayout = class extends Component {
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
107
|
+
state = {
|
|
108
|
+
regionReady: true,
|
|
109
|
+
selected: "authentication-methods",
|
|
110
|
+
mobileMenuOpen: false,
|
|
111
|
+
lock: { kind: "idle" }
|
|
112
|
+
};
|
|
113
|
+
regionAvailability = (regionReady) => {
|
|
114
|
+
this.setState({ regionReady });
|
|
115
|
+
};
|
|
116
|
+
heading = React.createRef();
|
|
117
|
+
select = (event) => {
|
|
118
|
+
const item = SETTINGS_ITEMS.find(this.matchesSelection.bind(null, event.currentTarget.dataset.section));
|
|
119
|
+
if (!item) return;
|
|
120
|
+
const commit = () => {
|
|
121
|
+
this.setState({
|
|
122
|
+
selected: item.id,
|
|
123
|
+
mobileMenuOpen: false
|
|
124
|
+
}, this.focusHeading);
|
|
114
125
|
};
|
|
115
|
-
this.
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
if (!item) return;
|
|
122
|
-
const commit = () => {
|
|
123
|
-
this.setState({
|
|
124
|
-
selected: item.id,
|
|
125
|
-
mobileMenuOpen: false
|
|
126
|
-
}, this.focusHeading);
|
|
127
|
-
};
|
|
128
|
-
if (!this.state.mobileMenuOpen) {
|
|
129
|
-
commit();
|
|
130
|
-
return;
|
|
131
|
-
}
|
|
132
|
-
blinkMenuItem(event.currentTarget)?.then(commit);
|
|
133
|
-
};
|
|
134
|
-
this.focusHeading = () => {
|
|
135
|
-
this.heading.current?.focus();
|
|
136
|
-
};
|
|
137
|
-
this.isAvailableSelection = (item) => item.id === this.state.selected;
|
|
138
|
-
this.toggleMobileMenu = () => {
|
|
139
|
-
this.setState({ mobileMenuOpen: !this.state.mobileMenuOpen });
|
|
140
|
-
};
|
|
141
|
-
this.lock = async () => {
|
|
142
|
-
if (this.state.lock.kind === "locking") return;
|
|
143
|
-
this.setState({ lock: { kind: "locking" } });
|
|
144
|
-
try {
|
|
145
|
-
await this.props.onLock();
|
|
146
|
-
} catch (error) {
|
|
147
|
-
this.setState({ lock: {
|
|
148
|
-
kind: "failed",
|
|
149
|
-
message: error instanceof Error ? error.message : "Unable to lock your wallet. Try again."
|
|
150
|
-
} });
|
|
151
|
-
}
|
|
152
|
-
};
|
|
153
|
-
this.renderItem = (item) => /* @__PURE__ */ jsxs("button", {
|
|
154
|
-
type: "button",
|
|
155
|
-
"data-section": item.id,
|
|
156
|
-
disabled: !this.state.regionReady && item.id !== "wallet-region",
|
|
157
|
-
onClick: this.select,
|
|
158
|
-
"aria-current": (this.state.regionReady ? this.state.selected : "wallet-region") === item.id ? "page" : void 0,
|
|
159
|
-
children: [/* @__PURE__ */ jsx("span", {
|
|
160
|
-
className: "seams-settings-nav-icon",
|
|
161
|
-
"aria-hidden": "true",
|
|
162
|
-
children: item.icon
|
|
163
|
-
}), /* @__PURE__ */ jsxs("span", { children: [/* @__PURE__ */ jsx("strong", { children: item.label }), /* @__PURE__ */ jsx("small", { children: item.description })] })]
|
|
164
|
-
}, item.id);
|
|
165
|
-
}
|
|
126
|
+
if (!this.state.mobileMenuOpen) {
|
|
127
|
+
commit();
|
|
128
|
+
return;
|
|
129
|
+
}
|
|
130
|
+
blinkMenuItem(event.currentTarget)?.then(commit);
|
|
131
|
+
};
|
|
166
132
|
matchesSelection(id, item) {
|
|
167
133
|
return item.id === id;
|
|
168
134
|
}
|
|
135
|
+
focusHeading = () => {
|
|
136
|
+
this.heading.current?.focus();
|
|
137
|
+
};
|
|
138
|
+
isAvailableSelection = (item) => item.id === this.state.selected;
|
|
139
|
+
toggleMobileMenu = () => {
|
|
140
|
+
this.setState({ mobileMenuOpen: !this.state.mobileMenuOpen });
|
|
141
|
+
};
|
|
142
|
+
lock = async () => {
|
|
143
|
+
if (this.state.lock.kind === "locking") return;
|
|
144
|
+
this.setState({ lock: { kind: "locking" } });
|
|
145
|
+
try {
|
|
146
|
+
await this.props.onLock();
|
|
147
|
+
} catch (error) {
|
|
148
|
+
this.setState({ lock: {
|
|
149
|
+
kind: "failed",
|
|
150
|
+
message: error instanceof Error ? error.message : "Unable to lock your wallet. Try again."
|
|
151
|
+
} });
|
|
152
|
+
}
|
|
153
|
+
};
|
|
154
|
+
renderItem = (item) => /* @__PURE__ */ jsxs("button", {
|
|
155
|
+
type: "button",
|
|
156
|
+
"data-section": item.id,
|
|
157
|
+
disabled: !this.state.regionReady && item.id !== "wallet-region",
|
|
158
|
+
onClick: this.select,
|
|
159
|
+
"aria-current": (this.state.regionReady ? this.state.selected : "wallet-region") === item.id ? "page" : void 0,
|
|
160
|
+
children: [/* @__PURE__ */ jsx("span", {
|
|
161
|
+
className: "seams-settings-nav-icon",
|
|
162
|
+
"aria-hidden": "true",
|
|
163
|
+
children: item.icon
|
|
164
|
+
}), /* @__PURE__ */ jsxs("span", { children: [/* @__PURE__ */ jsx("strong", { children: item.label }), /* @__PURE__ */ jsx("small", { children: item.description })] })]
|
|
165
|
+
}, item.id);
|
|
169
166
|
render() {
|
|
170
167
|
const selectedId = this.state.regionReady ? this.state.selected : "wallet-region";
|
|
171
168
|
const selected = SETTINGS_ITEMS.find(this.matchesSelection.bind(null, selectedId));
|
|
@@ -96,13 +96,24 @@ function hostedAuthMenuEffectConfigKey(config) {
|
|
|
96
96
|
}
|
|
97
97
|
}
|
|
98
98
|
var HostedAuthMenuSessionController = class {
|
|
99
|
+
seams;
|
|
100
|
+
anchorElement;
|
|
101
|
+
authMenuSessionId;
|
|
102
|
+
initialMode;
|
|
103
|
+
registrationAccountInput;
|
|
104
|
+
showRegistrationInput;
|
|
105
|
+
showProgress;
|
|
106
|
+
copy;
|
|
107
|
+
externalAuthBroker;
|
|
108
|
+
onOutcome;
|
|
109
|
+
externalAuthRequestIds = /* @__PURE__ */ new Set();
|
|
110
|
+
handleExternalAuthRequestBound;
|
|
111
|
+
unsubscribeExternalAuthRequest = null;
|
|
112
|
+
isActive = false;
|
|
113
|
+
hasOpenRequest = false;
|
|
114
|
+
hasTerminalOutcome = false;
|
|
115
|
+
hasFinalizedCleanup = false;
|
|
99
116
|
constructor(args) {
|
|
100
|
-
this.externalAuthRequestIds = /* @__PURE__ */ new Set();
|
|
101
|
-
this.unsubscribeExternalAuthRequest = null;
|
|
102
|
-
this.isActive = false;
|
|
103
|
-
this.hasOpenRequest = false;
|
|
104
|
-
this.hasTerminalOutcome = false;
|
|
105
|
-
this.hasFinalizedCleanup = false;
|
|
106
117
|
this.seams = args.seams;
|
|
107
118
|
this.anchorElement = args.anchorElement;
|
|
108
119
|
this.authMenuSessionId = args.authMenuSessionId;
|