@seams/wallet 0.24.0 → 0.26.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/.build-inputs.sha256 +1 -1
- package/dist/esm/SeamsWeb/operations/tempo/executeEvmFamilyTransaction.js +1 -0
- package/dist/esm/SeamsWeb/walletIframe/client/evmFamilyCommands.js +1 -0
- package/dist/esm/SeamsWeb/walletIframe/client/overlay/overlay-styles.js +73 -39
- package/dist/esm/SeamsWeb/walletIframe/client/router.js +5 -1
- package/dist/esm/SeamsWeb/walletIframe/host/auth-menu/domain.js +1 -0
- package/dist/esm/core/indexedDB/seamsWalletDB/repositories.js +8 -1
- package/dist/esm/core/rpcClients/relayer/walletSessionAuthorizationStatus.js +7 -0
- package/dist/esm/react/components/AccountMenuButton/AccountMenuButtonMock.js +5 -7
- package/dist/esm/react/components/AccountMenuButton/AccountMenuButtonView.js +21 -5
- package/dist/esm/react/components/AccountMenuButton/AccountMenuModal.js +66 -0
- package/dist/esm/react/components/AccountMenuButton/AccountsSection.css +18 -11
- package/dist/esm/react/components/AccountMenuButton/AuthenticationMethodRow.js +5 -11
- package/dist/esm/react/components/AccountMenuButton/ExportKeysSection.css +17 -15
- package/dist/esm/react/components/AccountMenuButton/LinkedDevicesModal.css +156 -106
- package/dist/esm/react/components/AccountMenuButton/MenuItem.css +37 -29
- package/dist/esm/react/components/AccountMenuButton/ProfileDropdown.css +53 -21
- package/dist/esm/react/components/AccountMenuButton/TransactionSettingsSection.css +124 -82
- package/dist/esm/react/components/AccountMenuButton/UserAccountButton.css +45 -27
- package/dist/esm/react/components/AccountMenuButton/WalletSettingsLayout.css +115 -93
- package/dist/esm/react/components/AccountMenuButton/Web3AuthProfileButton.css +179 -92
- package/dist/esm/react/components/AccountMenuButton/hooks/useProfileState.js +62 -49
- package/dist/esm/react/components/AccountMenuButton/icons/HoverArrowIcon.css +12 -12
- package/dist/esm/react/components/AccountMenuButton/icons/HoverArrowIcon.js +9 -1
- package/dist/esm/react/components/AccountMenuButton/icons/Icon.css +10 -0
- package/dist/esm/react/components/AccountMenuButton/icons/LogOutIcon2.js +15 -16
- package/dist/esm/react/components/AccountMenuButton/icons/SpinnerIcon.js +12 -18
- package/dist/esm/react/components/AccountMenuButton/icons/TouchIcon.css +3 -3
- package/dist/esm/react/components/AccountMenuButton/icons/TouchIcon.js +11 -5
- package/dist/esm/react/components/AccountMenuButton/icons/lucideIcon.js +20 -6
- package/dist/esm/react/components/AccountMenuButton/index.js +18 -42
- package/dist/esm/react/components/FingerprintIcon.js +13 -19
- package/dist/esm/react/components/HostedSeamsAuthMenu/SeamsAuthMenuMock.js +13 -2
- package/dist/esm/react/components/HostedSeamsAuthMenu/shell.js +7 -1
- package/dist/esm/react/components/QRCodeIcon.js +37 -43
- package/dist/esm/react/components/QRCodeScanner.css +65 -60
- package/dist/esm/react/components/ShowQRCode.css +145 -40
- package/dist/esm/react/components/ShowQRCode.js +27 -37
- package/dist/esm/react/components/theme/Theme.css +67 -0
- package/dist/esm/react/components/theme/ThemeProvider.js +6 -6
- package/dist/esm/react/externalEvm.js +11 -4
- package/dist/esm/react/externalNear.js +13 -4
- package/dist/esm/react/externalWalletPicker.css +117 -0
- package/dist/esm/react/index.js +1 -1
- package/dist/esm/react/styles/styles.css +1941 -550
- package/dist/esm/react/styles.css +6 -1
- package/dist/esm/react/transactionReview/TransactionReviewHost.js +3 -0
- package/dist/esm/sdk/{ConfirmationDrawer-CTaGM1AE.js → ConfirmationDrawer-BmzikAr4.js} +1 -1
- package/dist/esm/sdk/NonceCoordinator-CcD2FqXh.js +1 -0
- package/dist/{public/sdk/SeamsWordmark-CFpsGoLw.js → esm/sdk/SeamsWordmark-DqiC9-sd.js} +1 -1
- package/dist/esm/sdk/accountLifecycle-gm9X8nGm.js +1 -0
- package/dist/esm/sdk/actions-BIdcxldy.js +1 -0
- package/dist/esm/sdk/activeWalletSession-BJ4B-nJo.js +1 -0
- package/dist/esm/sdk/adapters-e7twFGov.js +1 -0
- package/dist/esm/sdk/appearance-CAIe7Qed.js +1 -0
- package/dist/{public/sdk/appearance-token-vars-CgYTfCKg.js → esm/sdk/appearance-token-vars-EYbmnHsJ.js} +1 -1
- package/dist/esm/sdk/canonicalPrimitives-Jd3i_Ngz.js +1 -0
- package/dist/esm/sdk/chains-B72I4PDH.js +1 -0
- package/dist/esm/sdk/challengeDelivery-DWix1oso.js +1 -0
- package/dist/esm/sdk/clientSessionPersistenceState-YvVHKRoe.js +1 -0
- package/dist/esm/sdk/{collectAuthenticationCredentialForChallengeB64u-kLIxmw3V.js → collectAuthenticationCredentialForChallengeB64u-DEtxiKND.js} +1 -1
- package/dist/esm/sdk/{commitQueue-Bs23Rs57.js → commitQueue-CHJ7MHSI.js} +1 -1
- package/dist/esm/sdk/configBuilder-CSwJrmcR.js +1 -0
- package/dist/esm/sdk/configuration-DBEc3bsj.js +1 -0
- package/dist/esm/sdk/confirm-ui-BpqwuMSl.js +2 -0
- package/dist/esm/sdk/confirmTypes-DmEPoxys.js +1 -0
- package/dist/esm/sdk/device-linking-BsUTtSF7.js +1 -0
- package/dist/esm/sdk/deviceLinkApproval-DAZTjrud.js +2 -0
- package/dist/esm/sdk/digestEncoding-n8Kr2kow.js +1 -0
- package/dist/esm/sdk/{chains-gV2K9gA4.js → digests-BIaE0DMd.js} +1 -1
- package/dist/esm/sdk/{display-BXjW58UF.js → display-BYzolrBs.js} +1 -1
- package/dist/esm/sdk/ecdsaCapabilityManifest-CXVq8Qzb.js +1 -0
- package/dist/esm/sdk/{ecdsaChainTarget-DbLthshF.js → ecdsaChainTarget-Lh24LLyA.js} +1 -1
- package/dist/esm/sdk/ecdsaDerivationClientWasm-CVahDxLy.js +1 -0
- package/dist/esm/sdk/ecdsaDerivationExport-CkmSe0ao.js +1 -0
- package/dist/esm/sdk/{ecdsaWalletRecords-BgcXXCZy.js → ecdsaWalletRecords-zRvHKRTe.js} +1 -1
- package/dist/esm/sdk/emailOtpEcdsaDerivationIdentity-0DIuRNRi.js +1 -0
- package/dist/esm/sdk/{enrichDisplayModelWithAbi-CudPUW0T.js → enrichDisplayModelWithAbi-CLn37drs.js} +1 -1
- package/dist/esm/sdk/errors-DLUmUo9m.js +1 -0
- package/dist/esm/sdk/{evmCryptoWasm-DacbCVNM.js → evmCryptoWasm-B_p82tx9.js} +1 -1
- package/dist/esm/sdk/{export-viewer-host-DsWOvc0t.js → export-viewer-host-3fosWJXJ.js} +1 -1
- package/dist/esm/sdk/exportKeypairOperation-pKQW5J7m.js +1 -0
- package/dist/esm/sdk/helpers-dZehRP4i.js +1 -0
- package/dist/esm/sdk/host-aTcpYE27.js +1 -0
- package/dist/esm/sdk/icons-DDRXJ2W1.js +1 -0
- package/dist/esm/sdk/indexedDB-CWFDCCbP.js +1 -0
- package/dist/esm/sdk/intentDigest-B6EshTea.js +1 -0
- package/dist/esm/sdk/keyMaterialEnvelope-BsdlckmN.js +1 -0
- package/dist/esm/sdk/{lanes-C7OvAK_L.js → lanes-C2sAP08w.js} +1 -1
- package/dist/esm/sdk/localOnly-Jw9v9GU9.js +1 -0
- package/dist/{public/sdk/mountExportPrivateKeySurface-CV1KrFWg.js → esm/sdk/mountExportPrivateKeySurface-B_052qyI.js} +1 -1
- package/dist/esm/sdk/{mountRecoveryCodeBackupSurface-CVXU1zzl.js → mountRecoveryCodeBackupSurface-PutmFjf9.js} +1 -1
- package/dist/esm/sdk/nearEd25519YaoMaterialActivation-C2QNLImD.js +1 -0
- package/dist/esm/sdk/nearEd25519YaoSigningPreparation-K6n4Sq8_.js +1 -0
- package/dist/esm/sdk/{nonceLaneKeys-BS4fek17.js → nonceLaneKeys-CZjeiii7.js} +1 -1
- package/dist/esm/sdk/{normalization-BN-2VWZf.js → normalization-DA6o5MsH.js} +1 -1
- package/dist/esm/sdk/operationFingerprint-DgpQfpM-.js +1 -0
- package/dist/esm/sdk/participants-BXdREC5k.js +1 -0
- package/dist/{public/sdk/pendingWalletRecoveryCodeBackup-lr1oISjL.js → esm/sdk/pendingWalletRecoveryCodeBackup-B-n7vmBS.js} +1 -1
- package/dist/esm/sdk/presignaturePool-DjTaB0nx.js +1 -0
- package/dist/{public/sdk/presignatures-B9GrGx0L.js → esm/sdk/presignatures-CjcyX_-F.js} +1 -1
- package/dist/esm/sdk/recovery-entrypoint-9e3SXU3t.js +1 -0
- package/dist/esm/sdk/recoveryAuthorization-CMVdZ5OR.js +1 -0
- package/dist/esm/sdk/registration-C988Nwzn.js +1 -0
- package/dist/esm/sdk/registration-D4AijOa8.js +1 -0
- package/dist/esm/sdk/{registrationAccounts-BHikxS5q.js → registrationAccounts-DI_vcT7G.js} +1 -1
- package/dist/esm/sdk/registrationIntent-BVPp0k0k.js +1 -0
- package/dist/esm/sdk/registrationSignerPlan-_8gsSjC0.js +1 -0
- package/dist/esm/sdk/requireStepUpAuth-DC9LSyRI.js +1 -0
- package/dist/esm/sdk/resealedEnvelopeResult-BKATJaqW.js +1 -0
- package/dist/esm/sdk/routerAbNormalSigning-Da-uxxle.js +1 -0
- package/dist/esm/sdk/runtime-auth-C_Y8gL_n.js +1 -0
- package/dist/esm/sdk/runtime-device-link-DtjR-htE.js +1 -0
- package/dist/esm/sdk/runtime-ecdsa-tempo-BkUnzoX9.js +1 -0
- package/dist/esm/sdk/runtime-email-otp-CaxfpqKI.js +1 -0
- package/dist/esm/sdk/runtime-export-Du5ugbzi.js +1 -0
- package/dist/esm/sdk/runtime-near-fas7U0MC.js +1 -0
- package/dist/esm/sdk/runtime-preferences-7-f34-by.js +1 -0
- package/dist/esm/sdk/runtime-recovery-DmY0ZJpf.js +1 -0
- package/dist/esm/sdk/runtime-recovery-codes-DKjOU32G.js +1 -0
- package/dist/esm/sdk/runtimeContext-DF8MdfXl.js +6 -0
- package/dist/esm/sdk/secp256k1--vF2pJgR.js +1 -0
- package/dist/esm/sdk/sessionObservationRevision-DKTqqbGf.js +1 -0
- package/dist/esm/sdk/signEvmFamily-DeCQOBYN.js +1 -0
- package/dist/esm/sdk/{signEvmFamilyWithUiConfirmForTempo-BMfC2sc2.js → signEvmFamilyWithUiConfirmForTempo-BIp-MeBV.js} +1 -1
- package/dist/esm/sdk/{signEvmWithUiConfirm-BNkupz3z.js → signEvmWithUiConfirm-BdLW7kqJ.js} +1 -1
- package/dist/esm/sdk/signNear-DMzOU4dX.js +1 -0
- package/dist/esm/sdk/{signatureUses-DrqCoN12.js → signatureUses-0z64Xpdj.js} +1 -1
- package/dist/esm/sdk/signerSlot-DgLzb3Ee.js +1 -0
- package/dist/esm/sdk/{signingFlow-BVvteILM.js → signingFlow-C7fwkxPx.js} +2 -2
- package/dist/esm/sdk/signingQueue-DvHGcaLc.js +1 -0
- package/dist/esm/sdk/thresholdEcdsa-CPVZNLEg.js +1 -0
- package/dist/esm/sdk/{trace-CGNqO1FV.js → trace-BQv7E-bO.js} +1 -1
- package/dist/esm/sdk/{transaction-activity-DPq9RTh5.js → transaction-activity-olcDRay5.js} +1 -1
- package/dist/esm/sdk/transactionReview-CGIlI835.js +1 -0
- package/dist/esm/sdk/{transactionReviewAdmission--8tDis7M.js → transactionReviewAdmission-DPxuDgkU.js} +1 -1
- package/dist/{public/sdk/transactionState-BS1VLT7B.js → esm/sdk/transactionState-C8aYSDRA.js} +1 -1
- package/dist/esm/sdk/{types-DdzuHlAQ.js → types-DOToeB6g.js} +1 -1
- package/dist/esm/sdk/unlockedEd25519ExportRootCapability-CFmunau5.js +1 -0
- package/dist/esm/sdk/voiceid-host.js +1 -1
- package/dist/esm/sdk/wallet-iframe-host-ecdsa.js +1 -1
- package/dist/esm/sdk/wallet-iframe-host-full.js +1 -1
- package/dist/esm/sdk/wallet-iframe-host-near.js +1 -1
- package/dist/esm/sdk/wallet-iframe-host-runtime.js +1 -1
- package/dist/esm/sdk/wallet-recovery-jyfGoejZ.js +1 -0
- package/dist/esm/sdk/walletAuthMethodRecord-Bi78B6Ab.js +1 -0
- package/dist/esm/sdk/walletAuthority-DGdC9Glh.js +1 -0
- package/dist/esm/sdk/walletCapabilityBindings-BRdFdh3l.js +1 -0
- package/dist/esm/sdk/walletCustodyEcdsaContinuity-DdLNQs1M.js +1 -0
- package/dist/esm/sdk/walletCustodyOperation-CAnT3Ww-.js +1 -0
- package/dist/esm/sdk/walletDbName-Ca0rCq5r.js +1 -0
- package/dist/esm/sdk/walletOwnershipGeneration-z9NXOk-b.js +1 -0
- package/dist/esm/sdk/walletRecoveryAdminProof-hytB9fXI.js +1 -0
- package/dist/esm/sdk/walletRecoveryCommit-sr8-RYvn.js +1 -0
- package/dist/esm/sdk/walletRegistrationSetupPrewarm-CEvGKQSg.js +1 -0
- package/dist/esm/sdk/{walletSessionAuthorizationProjection-BJgnZaBc.js → walletSessionAuthorizationProjection-CMl69JGe.js} +1 -1
- package/dist/esm/sdk/walletSessionAuthorizationStatus-C_q9eiOH.js +1 -0
- package/dist/esm/sdk/{walletSessionAuthorizationStore-zkxcMdSp.js → walletSessionAuthorizationStore-BEJyERPZ.js} +1 -1
- package/dist/esm/sdk/warmSessionHydration-EstsrMF8.js +1 -0
- package/dist/{public/sdk/webauthnP256-BvTL8nq4.js → esm/sdk/webauthnP256-DVlYEUsG.js} +1 -1
- package/dist/esm/shared-ts/src/utils/errors.js +7 -2
- package/dist/public/headers.manifest.json +1 -1
- package/dist/public/sdk/{ConfirmationDrawer-CTaGM1AE.js → ConfirmationDrawer-BmzikAr4.js} +1 -1
- package/dist/public/sdk/NonceCoordinator-CcD2FqXh.js +1 -0
- package/dist/{esm/sdk/SeamsWordmark-CFpsGoLw.js → public/sdk/SeamsWordmark-DqiC9-sd.js} +1 -1
- package/dist/public/sdk/accountLifecycle-gm9X8nGm.js +1 -0
- package/dist/public/sdk/actions-BIdcxldy.js +1 -0
- package/dist/public/sdk/activeWalletSession-BJ4B-nJo.js +1 -0
- package/dist/public/sdk/adapters-e7twFGov.js +1 -0
- package/dist/public/sdk/appearance-CAIe7Qed.js +1 -0
- package/dist/{esm/sdk/appearance-token-vars-CgYTfCKg.js → public/sdk/appearance-token-vars-EYbmnHsJ.js} +1 -1
- package/dist/public/sdk/canonicalPrimitives-Jd3i_Ngz.js +1 -0
- package/dist/public/sdk/chains-B72I4PDH.js +1 -0
- package/dist/public/sdk/challengeDelivery-DWix1oso.js +1 -0
- package/dist/public/sdk/clientSessionPersistenceState-YvVHKRoe.js +1 -0
- package/dist/public/sdk/{collectAuthenticationCredentialForChallengeB64u-kLIxmw3V.js → collectAuthenticationCredentialForChallengeB64u-DEtxiKND.js} +1 -1
- package/dist/public/sdk/{commitQueue-Bs23Rs57.js → commitQueue-CHJ7MHSI.js} +1 -1
- package/dist/public/sdk/configBuilder-CSwJrmcR.js +1 -0
- package/dist/public/sdk/configuration-DBEc3bsj.js +1 -0
- package/dist/public/sdk/confirm-ui-BpqwuMSl.js +2 -0
- package/dist/public/sdk/confirmTypes-DmEPoxys.js +1 -0
- package/dist/public/sdk/device-linking-BsUTtSF7.js +1 -0
- package/dist/public/sdk/deviceLinkApproval-DAZTjrud.js +2 -0
- package/dist/public/sdk/digestEncoding-n8Kr2kow.js +1 -0
- package/dist/public/sdk/{chains-gV2K9gA4.js → digests-BIaE0DMd.js} +1 -1
- package/dist/public/sdk/{display-BXjW58UF.js → display-BYzolrBs.js} +1 -1
- package/dist/public/sdk/ecdsaCapabilityManifest-CXVq8Qzb.js +1 -0
- package/dist/public/sdk/{ecdsaChainTarget-DbLthshF.js → ecdsaChainTarget-Lh24LLyA.js} +1 -1
- package/dist/public/sdk/ecdsaDerivationClientWasm-CVahDxLy.js +1 -0
- package/dist/public/sdk/ecdsaDerivationExport-CkmSe0ao.js +1 -0
- package/dist/public/sdk/{ecdsaWalletRecords-BgcXXCZy.js → ecdsaWalletRecords-zRvHKRTe.js} +1 -1
- package/dist/public/sdk/emailOtpEcdsaDerivationIdentity-0DIuRNRi.js +1 -0
- package/dist/public/sdk/{enrichDisplayModelWithAbi-CudPUW0T.js → enrichDisplayModelWithAbi-CLn37drs.js} +1 -1
- package/dist/public/sdk/errors-DLUmUo9m.js +1 -0
- package/dist/public/sdk/{evmCryptoWasm-DacbCVNM.js → evmCryptoWasm-B_p82tx9.js} +1 -1
- package/dist/public/sdk/{export-viewer-host-DsWOvc0t.js → export-viewer-host-3fosWJXJ.js} +1 -1
- package/dist/public/sdk/exportKeypairOperation-pKQW5J7m.js +1 -0
- package/dist/public/sdk/helpers-dZehRP4i.js +1 -0
- package/dist/public/sdk/host-aTcpYE27.js +1 -0
- package/dist/public/sdk/icons-DDRXJ2W1.js +1 -0
- package/dist/public/sdk/indexedDB-CWFDCCbP.js +1 -0
- package/dist/public/sdk/intentDigest-B6EshTea.js +1 -0
- package/dist/public/sdk/keyMaterialEnvelope-BsdlckmN.js +1 -0
- package/dist/public/sdk/{lanes-C7OvAK_L.js → lanes-C2sAP08w.js} +1 -1
- package/dist/public/sdk/localOnly-Jw9v9GU9.js +1 -0
- package/dist/{esm/sdk/mountExportPrivateKeySurface-CV1KrFWg.js → public/sdk/mountExportPrivateKeySurface-B_052qyI.js} +1 -1
- package/dist/public/sdk/{mountRecoveryCodeBackupSurface-CVXU1zzl.js → mountRecoveryCodeBackupSurface-PutmFjf9.js} +1 -1
- package/dist/public/sdk/nearEd25519YaoMaterialActivation-C2QNLImD.js +1 -0
- package/dist/public/sdk/nearEd25519YaoSigningPreparation-K6n4Sq8_.js +1 -0
- package/dist/public/sdk/{nonceLaneKeys-BS4fek17.js → nonceLaneKeys-CZjeiii7.js} +1 -1
- package/dist/public/sdk/{normalization-BN-2VWZf.js → normalization-DA6o5MsH.js} +1 -1
- package/dist/public/sdk/operationFingerprint-DgpQfpM-.js +1 -0
- package/dist/public/sdk/participants-BXdREC5k.js +1 -0
- package/dist/{esm/sdk/pendingWalletRecoveryCodeBackup-lr1oISjL.js → public/sdk/pendingWalletRecoveryCodeBackup-B-n7vmBS.js} +1 -1
- package/dist/public/sdk/presignaturePool-DjTaB0nx.js +1 -0
- package/dist/{esm/sdk/presignatures-B9GrGx0L.js → public/sdk/presignatures-CjcyX_-F.js} +1 -1
- package/dist/public/sdk/recovery-entrypoint-9e3SXU3t.js +1 -0
- package/dist/public/sdk/recoveryAuthorization-CMVdZ5OR.js +1 -0
- package/dist/public/sdk/registration-C988Nwzn.js +1 -0
- package/dist/public/sdk/registration-D4AijOa8.js +1 -0
- package/dist/public/sdk/{registrationAccounts-BHikxS5q.js → registrationAccounts-DI_vcT7G.js} +1 -1
- package/dist/public/sdk/registrationIntent-BVPp0k0k.js +1 -0
- package/dist/public/sdk/registrationSignerPlan-_8gsSjC0.js +1 -0
- package/dist/public/sdk/requireStepUpAuth-DC9LSyRI.js +1 -0
- package/dist/public/sdk/resealedEnvelopeResult-BKATJaqW.js +1 -0
- package/dist/public/sdk/routerAbNormalSigning-Da-uxxle.js +1 -0
- package/dist/public/sdk/runtime-auth-C_Y8gL_n.js +1 -0
- package/dist/public/sdk/runtime-device-link-DtjR-htE.js +1 -0
- package/dist/public/sdk/runtime-ecdsa-tempo-BkUnzoX9.js +1 -0
- package/dist/public/sdk/runtime-email-otp-CaxfpqKI.js +1 -0
- package/dist/public/sdk/runtime-export-Du5ugbzi.js +1 -0
- package/dist/public/sdk/runtime-near-fas7U0MC.js +1 -0
- package/dist/public/sdk/runtime-preferences-7-f34-by.js +1 -0
- package/dist/public/sdk/runtime-recovery-DmY0ZJpf.js +1 -0
- package/dist/public/sdk/runtime-recovery-codes-DKjOU32G.js +1 -0
- package/dist/public/sdk/runtimeContext-DF8MdfXl.js +6 -0
- package/dist/public/sdk/secp256k1--vF2pJgR.js +1 -0
- package/dist/public/sdk/sessionObservationRevision-DKTqqbGf.js +1 -0
- package/dist/public/sdk/signEvmFamily-DeCQOBYN.js +1 -0
- package/dist/public/sdk/{signEvmFamilyWithUiConfirmForTempo-BMfC2sc2.js → signEvmFamilyWithUiConfirmForTempo-BIp-MeBV.js} +1 -1
- package/dist/public/sdk/{signEvmWithUiConfirm-BNkupz3z.js → signEvmWithUiConfirm-BdLW7kqJ.js} +1 -1
- package/dist/public/sdk/signNear-DMzOU4dX.js +1 -0
- package/dist/public/sdk/{signatureUses-DrqCoN12.js → signatureUses-0z64Xpdj.js} +1 -1
- package/dist/public/sdk/signerSlot-DgLzb3Ee.js +1 -0
- package/dist/public/sdk/{signingFlow-BVvteILM.js → signingFlow-C7fwkxPx.js} +2 -2
- package/dist/public/sdk/signingQueue-DvHGcaLc.js +1 -0
- package/dist/public/sdk/thresholdEcdsa-CPVZNLEg.js +1 -0
- package/dist/public/sdk/{trace-CGNqO1FV.js → trace-BQv7E-bO.js} +1 -1
- package/dist/public/sdk/{transaction-activity-DPq9RTh5.js → transaction-activity-olcDRay5.js} +1 -1
- package/dist/public/sdk/transactionReview-CGIlI835.js +1 -0
- package/dist/public/sdk/{transactionReviewAdmission--8tDis7M.js → transactionReviewAdmission-DPxuDgkU.js} +1 -1
- package/dist/{esm/sdk/transactionState-BS1VLT7B.js → public/sdk/transactionState-C8aYSDRA.js} +1 -1
- package/dist/public/sdk/{types-DdzuHlAQ.js → types-DOToeB6g.js} +1 -1
- package/dist/public/sdk/unlockedEd25519ExportRootCapability-CFmunau5.js +1 -0
- package/dist/public/sdk/voiceid-host.js +1 -1
- package/dist/public/sdk/wallet-iframe-host-ecdsa.js +1 -1
- package/dist/public/sdk/wallet-iframe-host-full.js +1 -1
- package/dist/public/sdk/wallet-iframe-host-near.js +1 -1
- package/dist/public/sdk/wallet-iframe-host-runtime.js +1 -1
- package/dist/public/sdk/wallet-recovery-jyfGoejZ.js +1 -0
- package/dist/public/sdk/walletAuthMethodRecord-Bi78B6Ab.js +1 -0
- package/dist/public/sdk/walletAuthority-DGdC9Glh.js +1 -0
- package/dist/public/sdk/walletCapabilityBindings-BRdFdh3l.js +1 -0
- package/dist/public/sdk/walletCustodyEcdsaContinuity-DdLNQs1M.js +1 -0
- package/dist/public/sdk/walletCustodyOperation-CAnT3Ww-.js +1 -0
- package/dist/public/sdk/walletDbName-Ca0rCq5r.js +1 -0
- package/dist/public/sdk/walletOwnershipGeneration-z9NXOk-b.js +1 -0
- package/dist/public/sdk/walletRecoveryAdminProof-hytB9fXI.js +1 -0
- package/dist/public/sdk/walletRecoveryCommit-sr8-RYvn.js +1 -0
- package/dist/public/sdk/walletRegistrationSetupPrewarm-CEvGKQSg.js +1 -0
- package/dist/public/sdk/{walletSessionAuthorizationProjection-BJgnZaBc.js → walletSessionAuthorizationProjection-CMl69JGe.js} +1 -1
- package/dist/public/sdk/walletSessionAuthorizationStatus-C_q9eiOH.js +1 -0
- package/dist/public/sdk/{walletSessionAuthorizationStore-zkxcMdSp.js → walletSessionAuthorizationStore-BEJyERPZ.js} +1 -1
- package/dist/public/sdk/warmSessionHydration-EstsrMF8.js +1 -0
- package/dist/{esm/sdk/webauthnP256-BvTL8nq4.js → public/sdk/webauthnP256-DVlYEUsG.js} +1 -1
- package/dist/public/wallet-assets.manifest.json +450 -258
- package/dist/public/wallet-service/index.html +4 -4
- package/dist/types/shared-ts/src/utils/errors.d.ts +1 -0
- package/dist/types/wallet/src/SeamsWeb/operations/authMethods/passkey/exactPasskeyAuthority.d.ts +24 -0
- package/dist/types/wallet/src/SeamsWeb/operations/devices/walletHostOwnerAuthority.d.ts +2 -0
- package/dist/types/wallet/src/SeamsWeb/publicApi/types.d.ts +3 -0
- package/dist/types/wallet/src/SeamsWeb/walletIframe/client/router.d.ts +2 -0
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/WalletHostRuntime.d.ts +1 -0
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/createDeviceDomain.d.ts +2 -1
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/deviceLinkApproval.d.ts +27 -0
- package/dist/types/wallet/src/SeamsWeb/walletIframe/shared/messages.d.ts +2 -1
- package/dist/types/wallet/src/core/authMethods/plugins.d.ts +4 -0
- package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/recoveredEd25519Authority.d.ts +8 -0
- package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/repositories.d.ts +1 -0
- package/dist/types/wallet/src/core/rpcClients/relayer/walletSessionAuthorizationStatus.d.ts +2 -0
- package/dist/types/wallet/src/core/signingEngine/session/persistence/walletSessionAuthorizationProjection.d.ts +1 -0
- package/dist/types/wallet/src/core/types/sdkSentEvents.d.ts +2 -0
- package/dist/types/wallet/src/index.d.ts +1 -1
- package/dist/types/wallet/src/react/components/AccountMenuButton/AccountMenuButtonMock.d.ts +11 -2
- package/dist/types/wallet/src/react/components/AccountMenuButton/AccountMenuButtonView.d.ts +2 -1
- package/dist/types/wallet/src/react/components/AccountMenuButton/AccountMenuModal.d.ts +9 -0
- package/dist/types/wallet/src/react/components/AccountMenuButton/hooks/useProfileState.d.ts +13 -5
- package/dist/types/wallet/src/react/components/AccountMenuButton/icons/lucideIcon.d.ts +1 -1
- package/dist/types/wallet/src/react/components/AccountMenuButton/types.d.ts +19 -3
- package/dist/types/wallet/src/react/components/ShowQRCode.d.ts +1 -1
- package/dist/types/wallet/src/react/externalNear.d.ts +3 -23
- package/dist/types/wallet/src/react/index.d.ts +1 -1
- package/dist/types/wallet/src/react/transactionReview/boundCalls.d.ts +7 -0
- package/package.json +1 -1
- package/dist/esm/react/externalNear.css +0 -90
- package/dist/esm/sdk/NonceCoordinator-Bti1HQPo.js +0 -1
- package/dist/esm/sdk/accountLifecycle-B98g9zN9.js +0 -1
- package/dist/esm/sdk/actions-GYsSR2Q2.js +0 -1
- package/dist/esm/sdk/activeWalletSession-H9JBdHyQ.js +0 -1
- package/dist/esm/sdk/adapters-D5MZ5NG5.js +0 -2
- package/dist/esm/sdk/appearance-DVFno9Tv.js +0 -1
- package/dist/esm/sdk/canonicalPrimitives-B6YMrI3W.js +0 -1
- package/dist/esm/sdk/challengeDelivery-FW9gYyr0.js +0 -1
- package/dist/esm/sdk/clientSessionPersistenceState-BPYK9PYV.js +0 -1
- package/dist/esm/sdk/configBuilder-DrxXNUpV.js +0 -1
- package/dist/esm/sdk/configuration-CAqANpTI.js +0 -1
- package/dist/esm/sdk/ecdsaCapabilityManifest--FjbES8k.js +0 -1
- package/dist/esm/sdk/ecdsaDerivationClientWasm-7Rp4TmYE.js +0 -1
- package/dist/esm/sdk/ecdsaDerivationExport-dInN7N6e.js +0 -1
- package/dist/esm/sdk/emailOtpEcdsaDerivationIdentity-CIh9IPai.js +0 -1
- package/dist/esm/sdk/errors-ADOZT8oV.js +0 -1
- package/dist/esm/sdk/exportKeypairOperation-BazJvSov.js +0 -1
- package/dist/esm/sdk/helpers-CXqXyyCU.js +0 -1
- package/dist/esm/sdk/host-C0Is56lU.js +0 -1
- package/dist/esm/sdk/icons-DyndJzSh.js +0 -1
- package/dist/esm/sdk/indexedDB-C1odKEC6.js +0 -1
- package/dist/esm/sdk/intentDigest-BMXki7yB.js +0 -1
- package/dist/esm/sdk/keyMaterialEnvelope-B-Q5KTJC.js +0 -1
- package/dist/esm/sdk/localOnly-BB3Rx3J6.js +0 -1
- package/dist/esm/sdk/nearEd25519YaoMaterialActivation-D9cdMKIZ.js +0 -1
- package/dist/esm/sdk/nearEd25519YaoSigningPreparation-D_Jvj7ht.js +0 -1
- package/dist/esm/sdk/operationFingerprint-Bn0lUYlm.js +0 -1
- package/dist/esm/sdk/presignaturePool-CultzkOG.js +0 -1
- package/dist/esm/sdk/recovery-entrypoint-QBvJBngm.js +0 -1
- package/dist/esm/sdk/recoveryAuthorization-DB-zxeHq.js +0 -1
- package/dist/esm/sdk/registration-CM5a7WYO.js +0 -1
- package/dist/esm/sdk/registration-Hv0xi7-L.js +0 -1
- package/dist/esm/sdk/registrationIntent-DTs2SR9E.js +0 -1
- package/dist/esm/sdk/registrationSignerPlan-CgbFVsAp.js +0 -1
- package/dist/esm/sdk/requireStepUpAuth-B7tC4MrA.js +0 -1
- package/dist/esm/sdk/resealedEnvelopeResult--iCVt_Bh.js +0 -1
- package/dist/esm/sdk/routerAbNormalSigning-Div3lZWV.js +0 -1
- package/dist/esm/sdk/runtime-auth-CVw1KoVD.js +0 -1
- package/dist/esm/sdk/runtime-device-link-Dp0YMZTQ.js +0 -1
- package/dist/esm/sdk/runtime-ecdsa-tempo-DEIjIgEO.js +0 -1
- package/dist/esm/sdk/runtime-email-otp-gsr_FsQn.js +0 -1
- package/dist/esm/sdk/runtime-export-upMPrZ4V.js +0 -1
- package/dist/esm/sdk/runtime-near-B64Hn3nc.js +0 -1
- package/dist/esm/sdk/runtime-preferences-CULdHkbg.js +0 -1
- package/dist/esm/sdk/runtime-recovery-D2saBaJy.js +0 -1
- package/dist/esm/sdk/runtime-recovery-codes-Bvc0IXMJ.js +0 -1
- package/dist/esm/sdk/runtimeContext-CNFJjcns.js +0 -6
- package/dist/esm/sdk/secp256k1-BGVlx50C.js +0 -1
- package/dist/esm/sdk/sessionObservationRevision-84ZzJ-fC.js +0 -1
- package/dist/esm/sdk/signEvmFamily-PjwUc5MT.js +0 -1
- package/dist/esm/sdk/signNear-r8VCOoTh.js +0 -1
- package/dist/esm/sdk/signerSlot-D4ZOuK7e.js +0 -1
- package/dist/esm/sdk/signingQueue-BJzOrwDq.js +0 -1
- package/dist/esm/sdk/thresholdEcdsa-tnY83qyG.js +0 -1
- package/dist/esm/sdk/transactionReview-DSGnpreN.js +0 -1
- package/dist/esm/sdk/unlockedEd25519ExportRootCapability-D43rvO9a.js +0 -1
- package/dist/esm/sdk/wallet-recovery-BjIQdOha.js +0 -1
- package/dist/esm/sdk/walletAuthMethodRecord-yIqCeE-o.js +0 -1
- package/dist/esm/sdk/walletCapabilityBindings-CUPk3mVH.js +0 -1
- package/dist/esm/sdk/walletCustodyEcdsaContinuity-DlOBCmwb.js +0 -1
- package/dist/esm/sdk/walletCustodyOperation-DzPcxEBS.js +0 -1
- package/dist/esm/sdk/walletDbName-DDJXrgA5.js +0 -1
- package/dist/esm/sdk/walletOwnershipGeneration-DI9ogcXF.js +0 -1
- package/dist/esm/sdk/walletRecoveryAdminProof-BJxmg3f7.js +0 -1
- package/dist/esm/sdk/walletRecoveryCommit-B7WsdR7y.js +0 -1
- package/dist/esm/sdk/walletRegistrationSetupPrewarm-CEJCj78c.js +0 -1
- package/dist/esm/sdk/walletSessionAuthorizationStatus-98G3Qji8.js +0 -1
- package/dist/esm/sdk/warmSessionHydration-DqZyfi1h.js +0 -1
- package/dist/public/sdk/NonceCoordinator-Bti1HQPo.js +0 -1
- package/dist/public/sdk/accountLifecycle-B98g9zN9.js +0 -1
- package/dist/public/sdk/actions-GYsSR2Q2.js +0 -1
- package/dist/public/sdk/activeWalletSession-H9JBdHyQ.js +0 -1
- package/dist/public/sdk/adapters-D5MZ5NG5.js +0 -2
- package/dist/public/sdk/appearance-DVFno9Tv.js +0 -1
- package/dist/public/sdk/canonicalPrimitives-B6YMrI3W.js +0 -1
- package/dist/public/sdk/challengeDelivery-FW9gYyr0.js +0 -1
- package/dist/public/sdk/clientSessionPersistenceState-BPYK9PYV.js +0 -1
- package/dist/public/sdk/configBuilder-DrxXNUpV.js +0 -1
- package/dist/public/sdk/configuration-CAqANpTI.js +0 -1
- package/dist/public/sdk/ecdsaCapabilityManifest--FjbES8k.js +0 -1
- package/dist/public/sdk/ecdsaDerivationClientWasm-7Rp4TmYE.js +0 -1
- package/dist/public/sdk/ecdsaDerivationExport-dInN7N6e.js +0 -1
- package/dist/public/sdk/emailOtpEcdsaDerivationIdentity-CIh9IPai.js +0 -1
- package/dist/public/sdk/errors-ADOZT8oV.js +0 -1
- package/dist/public/sdk/exportKeypairOperation-BazJvSov.js +0 -1
- package/dist/public/sdk/helpers-CXqXyyCU.js +0 -1
- package/dist/public/sdk/host-C0Is56lU.js +0 -1
- package/dist/public/sdk/icons-DyndJzSh.js +0 -1
- package/dist/public/sdk/indexedDB-C1odKEC6.js +0 -1
- package/dist/public/sdk/intentDigest-BMXki7yB.js +0 -1
- package/dist/public/sdk/keyMaterialEnvelope-B-Q5KTJC.js +0 -1
- package/dist/public/sdk/localOnly-BB3Rx3J6.js +0 -1
- package/dist/public/sdk/nearEd25519YaoMaterialActivation-D9cdMKIZ.js +0 -1
- package/dist/public/sdk/nearEd25519YaoSigningPreparation-D_Jvj7ht.js +0 -1
- package/dist/public/sdk/operationFingerprint-Bn0lUYlm.js +0 -1
- package/dist/public/sdk/presignaturePool-CultzkOG.js +0 -1
- package/dist/public/sdk/recovery-entrypoint-QBvJBngm.js +0 -1
- package/dist/public/sdk/recoveryAuthorization-DB-zxeHq.js +0 -1
- package/dist/public/sdk/registration-CM5a7WYO.js +0 -1
- package/dist/public/sdk/registration-Hv0xi7-L.js +0 -1
- package/dist/public/sdk/registrationIntent-DTs2SR9E.js +0 -1
- package/dist/public/sdk/registrationSignerPlan-CgbFVsAp.js +0 -1
- package/dist/public/sdk/requireStepUpAuth-B7tC4MrA.js +0 -1
- package/dist/public/sdk/resealedEnvelopeResult--iCVt_Bh.js +0 -1
- package/dist/public/sdk/routerAbNormalSigning-Div3lZWV.js +0 -1
- package/dist/public/sdk/runtime-auth-CVw1KoVD.js +0 -1
- package/dist/public/sdk/runtime-device-link-Dp0YMZTQ.js +0 -1
- package/dist/public/sdk/runtime-ecdsa-tempo-DEIjIgEO.js +0 -1
- package/dist/public/sdk/runtime-email-otp-gsr_FsQn.js +0 -1
- package/dist/public/sdk/runtime-export-upMPrZ4V.js +0 -1
- package/dist/public/sdk/runtime-near-B64Hn3nc.js +0 -1
- package/dist/public/sdk/runtime-preferences-CULdHkbg.js +0 -1
- package/dist/public/sdk/runtime-recovery-D2saBaJy.js +0 -1
- package/dist/public/sdk/runtime-recovery-codes-Bvc0IXMJ.js +0 -1
- package/dist/public/sdk/runtimeContext-CNFJjcns.js +0 -6
- package/dist/public/sdk/secp256k1-BGVlx50C.js +0 -1
- package/dist/public/sdk/sessionObservationRevision-84ZzJ-fC.js +0 -1
- package/dist/public/sdk/signEvmFamily-PjwUc5MT.js +0 -1
- package/dist/public/sdk/signNear-r8VCOoTh.js +0 -1
- package/dist/public/sdk/signerSlot-D4ZOuK7e.js +0 -1
- package/dist/public/sdk/signingQueue-BJzOrwDq.js +0 -1
- package/dist/public/sdk/thresholdEcdsa-tnY83qyG.js +0 -1
- package/dist/public/sdk/transactionReview-DSGnpreN.js +0 -1
- package/dist/public/sdk/unlockedEd25519ExportRootCapability-D43rvO9a.js +0 -1
- package/dist/public/sdk/wallet-recovery-BjIQdOha.js +0 -1
- package/dist/public/sdk/walletAuthMethodRecord-yIqCeE-o.js +0 -1
- package/dist/public/sdk/walletCapabilityBindings-CUPk3mVH.js +0 -1
- package/dist/public/sdk/walletCustodyEcdsaContinuity-DlOBCmwb.js +0 -1
- package/dist/public/sdk/walletCustodyOperation-DzPcxEBS.js +0 -1
- package/dist/public/sdk/walletDbName-DDJXrgA5.js +0 -1
- package/dist/public/sdk/walletOwnershipGeneration-DI9ogcXF.js +0 -1
- package/dist/public/sdk/walletRecoveryAdminProof-BJxmg3f7.js +0 -1
- package/dist/public/sdk/walletRecoveryCommit-B7WsdR7y.js +0 -1
- package/dist/public/sdk/walletRegistrationSetupPrewarm-CEJCj78c.js +0 -1
- package/dist/public/sdk/walletSessionAuthorizationStatus-98G3Qji8.js +0 -1
- package/dist/public/sdk/warmSessionHydration-DqZyfi1h.js +0 -1
- /package/dist/esm/sdk/{accountIds-D5NI31F2.js → accountIds-Dj_0GoY-.js} +0 -0
- /package/dist/esm/sdk/{authenticatorOptions-EF_Rps52.js → authenticatorOptions-2_XK8aXv.js} +0 -0
- /package/dist/esm/sdk/{authorizationAdmission-DbhNiY3X.js → authorizationAdmission-BYwaSZYV.js} +0 -0
- /package/dist/esm/sdk/{browser-B2RI00tM.js → browser-B1qU6ouJ.js} +0 -0
- /package/dist/esm/sdk/{bytes-DVe42j_r.js → bytes-CA0mv-bG.js} +0 -0
- /package/dist/esm/sdk/{canonicalSignerErrorCode-AwNMAn8S.js → canonicalSignerErrorCode-BHDPNkvJ.js} +0 -0
- /package/dist/esm/sdk/{capabilityKinds-BzrNeEyO.js → capabilityKinds-DVlGMspk.js} +0 -0
- /package/dist/esm/sdk/{configHelpers-BNqoU2cv.js → configHelpers-CXDY3bKC.js} +0 -0
- /package/dist/esm/sdk/{csp-stylesheet-DeuiM0Mo.js → csp-stylesheet-CHtV6HyK.js} +0 -0
- /package/dist/esm/sdk/{events-1dzC4Ocx.js → events-D6l0_ugy.js} +0 -0
- /package/dist/esm/sdk/{executeWorkerOperation-B-9JuL55.js → executeWorkerOperation-XmBNaxrV.js} +0 -0
- /package/dist/esm/sdk/{jsonRpc-CHutSlC9.js → jsonRpc-YKL5n8VL.js} +0 -0
- /package/dist/esm/sdk/{keccak-C9kCkZem.js → keccak-BArcwgbj.js} +0 -0
- /package/dist/esm/sdk/{normalization-DtruiNPw.js → normalization-dgJxtZKK.js} +0 -0
- /package/dist/esm/sdk/{prfCache-8Wm3etlV.js → prfCache-Ck1mh5YB.js} +0 -0
- /package/dist/esm/sdk/{profileAccountProjection-D01e10UY.js → profileAccountProjection-dvLchPBo.js} +0 -0
- /package/dist/esm/sdk/{promptText-Bz3YRl9D.js → promptText-BIv8lx7_.js} +0 -0
- /package/dist/esm/sdk/{registrationAuthMethodInput-BvbWl0y_.js → registrationAuthMethodInput-Be4Td0Ef.js} +0 -0
- /package/dist/esm/sdk/{sdkSentEvents-DUht3AOD.js → sdkSentEvents-QPs69K3s.js} +0 -0
- /package/dist/esm/sdk/{shared-DcHtE-D-.js → shared-hkHoIS9i.js} +0 -0
- /package/dist/esm/sdk/{signer-worker-DlK58rEA.js → signer-worker-CmCKlJ__.js} +0 -0
- /package/dist/esm/sdk/{signerDomain-D-EUTlLK.js → signerDomain-BLnlQPAV.js} +0 -0
- /package/dist/esm/sdk/{signingSessionSeal-DqbjG8c8.js → signingSessionSeal-BFOBKj-J.js} +0 -0
- /package/dist/esm/sdk/{surface-measurement-reporter-NUm_54LH.js → surface-measurement-reporter-DvzNDnHy.js} +0 -0
- /package/dist/esm/sdk/{types-fJKfUgTi.js → types-COS7UL3R.js} +0 -0
- /package/dist/esm/sdk/{walletIframeIdentity-Cz82I_Uh.js → walletIframeIdentity-CpgyEnKg.js} +0 -0
- /package/dist/esm/sdk/{walletSessionFailure-CLUIF3Eh.js → walletSessionFailure-ZfdbUAG-.js} +0 -0
- /package/dist/esm/sdk/{webauthnPromptCoordinator-CU9ag7vz.js → webauthnPromptCoordinator-DMETRUcN.js} +0 -0
- /package/dist/public/sdk/{accountIds-D5NI31F2.js → accountIds-Dj_0GoY-.js} +0 -0
- /package/dist/public/sdk/{authenticatorOptions-EF_Rps52.js → authenticatorOptions-2_XK8aXv.js} +0 -0
- /package/dist/public/sdk/{authorizationAdmission-DbhNiY3X.js → authorizationAdmission-BYwaSZYV.js} +0 -0
- /package/dist/public/sdk/{browser-B2RI00tM.js → browser-B1qU6ouJ.js} +0 -0
- /package/dist/public/sdk/{bytes-DVe42j_r.js → bytes-CA0mv-bG.js} +0 -0
- /package/dist/public/sdk/{canonicalSignerErrorCode-AwNMAn8S.js → canonicalSignerErrorCode-BHDPNkvJ.js} +0 -0
- /package/dist/public/sdk/{capabilityKinds-BzrNeEyO.js → capabilityKinds-DVlGMspk.js} +0 -0
- /package/dist/public/sdk/{configHelpers-BNqoU2cv.js → configHelpers-CXDY3bKC.js} +0 -0
- /package/dist/public/sdk/{csp-stylesheet-DeuiM0Mo.js → csp-stylesheet-CHtV6HyK.js} +0 -0
- /package/dist/public/sdk/{events-1dzC4Ocx.js → events-D6l0_ugy.js} +0 -0
- /package/dist/public/sdk/{executeWorkerOperation-B-9JuL55.js → executeWorkerOperation-XmBNaxrV.js} +0 -0
- /package/dist/public/sdk/{jsonRpc-CHutSlC9.js → jsonRpc-YKL5n8VL.js} +0 -0
- /package/dist/public/sdk/{keccak-C9kCkZem.js → keccak-BArcwgbj.js} +0 -0
- /package/dist/public/sdk/{normalization-DtruiNPw.js → normalization-dgJxtZKK.js} +0 -0
- /package/dist/public/sdk/{prfCache-8Wm3etlV.js → prfCache-Ck1mh5YB.js} +0 -0
- /package/dist/public/sdk/{profileAccountProjection-D01e10UY.js → profileAccountProjection-dvLchPBo.js} +0 -0
- /package/dist/public/sdk/{promptText-Bz3YRl9D.js → promptText-BIv8lx7_.js} +0 -0
- /package/dist/public/sdk/{registrationAuthMethodInput-BvbWl0y_.js → registrationAuthMethodInput-Be4Td0Ef.js} +0 -0
- /package/dist/public/sdk/{sdkSentEvents-DUht3AOD.js → sdkSentEvents-QPs69K3s.js} +0 -0
- /package/dist/public/sdk/{shared-DcHtE-D-.js → shared-hkHoIS9i.js} +0 -0
- /package/dist/public/sdk/{signer-worker-DlK58rEA.js → signer-worker-CmCKlJ__.js} +0 -0
- /package/dist/public/sdk/{signerDomain-D-EUTlLK.js → signerDomain-BLnlQPAV.js} +0 -0
- /package/dist/public/sdk/{signingSessionSeal-DqbjG8c8.js → signingSessionSeal-BFOBKj-J.js} +0 -0
- /package/dist/public/sdk/{surface-measurement-reporter-NUm_54LH.js → surface-measurement-reporter-DvzNDnHy.js} +0 -0
- /package/dist/public/sdk/{types-fJKfUgTi.js → types-COS7UL3R.js} +0 -0
- /package/dist/public/sdk/{walletIframeIdentity-Cz82I_Uh.js → walletIframeIdentity-CpgyEnKg.js} +0 -0
- /package/dist/public/sdk/{walletSessionFailure-CLUIF3Eh.js → walletSessionFailure-ZfdbUAG-.js} +0 -0
- /package/dist/public/sdk/{webauthnPromptCoordinator-CU9ag7vz.js → webauthnPromptCoordinator-DMETRUcN.js} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as e,t}from"./base64-BmKR3UqU.js";import{n}from"./evmCryptoWasm-
|
|
1
|
+
import{r as e,t}from"./base64-BmKR3UqU.js";import{n}from"./evmCryptoWasm-B_p82tx9.js";function r(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}var i=class{algorithm=`webauthnP256`;constructor(e,t){this.workerCtx=e,this.beforeSigning=t}async buildWebauthnSignature(e){if(!this.workerCtx)throw Error(`[WebAuthnP256Engine] workerCtx is required for wasm-backed WebAuthn signature packing`);return await n({challenge32:e.challenge32,authenticatorData:e.authenticatorData,clientDataJSON:e.clientDataJSON,signatureDer:e.signatureDer,pubKeyX32:e.pubKeyX32,pubKeyY32:e.pubKeyY32,workerCtx:this.workerCtx})}async sign(n,i){if(n.kind!==`webauthn`||n.algorithm!==`webauthnP256`)throw Error(`[WebAuthnP256Engine] unsupported sign request`);if(n.challenge32.length!==32)throw Error(`[WebAuthnP256Engine] challenge32 must be 32 bytes`);if(i.type!==`webauthnP256`)throw Error(`[WebAuthnP256Engine] keyRef must be webauthnP256`);if(i.pubKeyX.length!==32||i.pubKeyY.length!==32)throw Error(`[WebAuthnP256Engine] pubKeyX/pubKeyY must be 32 bytes each`);if(i.credentialId.length===0)throw Error(`[WebAuthnP256Engine] credentialId must be non-empty`);let a=async a=>{let o=a&&typeof a==`object`?a:{};if(!r(t(String(o.rawId||``).trim()),i.credentialId))throw Error(`[WebAuthnP256Engine] WebAuthn credential rawId does not match keyRef`);let s=o.response,c=e(String(s?.authenticatorData||``)),l=e(String(s?.clientDataJSON||``)),u=e(String(s?.signature||``));if(c.length===0||l.length===0||u.length===0)throw Error(`[WebAuthnP256Engine] missing authenticatorData/clientDataJSON/signature in credential`);return await this.buildWebauthnSignature({challenge32:n.challenge32,authenticatorData:c,clientDataJSON:l,signatureDer:u,pubKeyX32:i.pubKeyX,pubKeyY32:i.pubKeyY})};if(n.credential)return await a(n.credential);if(typeof navigator>`u`||!navigator.credentials||typeof navigator.credentials.get!=`function`)throw Error(`[WebAuthnP256Engine] WebAuthn not available (must run in a browser context)`);let o=new Uint8Array(n.challenge32),s=new Uint8Array(i.credentialId);this.beforeSigning?.();let c=await navigator.credentials.get({publicKey:{challenge:o,allowCredentials:[{type:`public-key`,id:s}],rpId:n.rpId??i.rpId,userVerification:`preferred`}});if(!c)throw Error(`[WebAuthnP256Engine] user cancelled WebAuthn assertion`);if(!r(new Uint8Array(c.rawId),i.credentialId))throw Error(`[WebAuthnP256Engine] WebAuthn assertion returned unexpected credentialId`);let l=c.response;if(!l||!l.authenticatorData||!l.clientDataJSON||!l.signature)throw Error(`[WebAuthnP256Engine] invalid WebAuthn assertion response`);let u=new Uint8Array(l.authenticatorData),d=new Uint8Array(l.clientDataJSON),f=new Uint8Array(l.signature);return await this.buildWebauthnSignature({challenge32:n.challenge32,authenticatorData:u,clientDataJSON:d,signatureDer:f,pubKeyX32:i.pubKeyX,pubKeyY32:i.pubKeyY})}};export{i as WebAuthnP256Engine};
|
|
@@ -37,8 +37,13 @@ function isWebAuthnRpIdOriginConfigurationError(error) {
|
|
|
37
37
|
const lower = errorMessage(error).toLowerCase();
|
|
38
38
|
return lower.includes("relying party id") || lower.includes("registrable domain suffix") || lower.includes("claimed rp id") || lower.includes("/.well-known/webauthn") || lower.includes(".well-known/webauthn");
|
|
39
39
|
}
|
|
40
|
+
const WEB_AUTHN_BROWSER_SECURITY_MESSAGE = "Passkeys require trusted HTTPS for the app and wallet. Check both origins and their certificates.";
|
|
41
|
+
function isWebAuthnBrowserSecurityError(error) {
|
|
42
|
+
const message = errorMessage(error);
|
|
43
|
+
return message === WEB_AUTHN_BROWSER_SECURITY_MESSAGE || message.toLowerCase().includes("tls certificate errors");
|
|
44
|
+
}
|
|
40
45
|
function isUserCancellationError(error) {
|
|
41
|
-
if (isWebAuthnRpIdOriginConfigurationError(error)) return false;
|
|
46
|
+
if (isWebAuthnRpIdOriginConfigurationError(error) || isWebAuthnBrowserSecurityError(error)) return false;
|
|
42
47
|
const lower = errorMessage(error).toLowerCase();
|
|
43
48
|
const maybe = error;
|
|
44
49
|
const name = String(maybe?.name || "").trim();
|
|
@@ -47,6 +52,6 @@ function isUserCancellationError(error) {
|
|
|
47
52
|
return codeRaw === 4001 || code === "4001" || code === "cancelled" || code === "canceled" || code === "abort_error" || code === "user_cancelled" || code === "user_canceled" || code === "user_rejected" || code === "action_rejected" || code === "request_rejected" || name === "NotAllowedError" || name === "AbortError" || lower.includes("user cancelled") || lower.includes("user canceled") || lower.includes("user rejected") || lower.includes("request cancelled") || lower.includes("request canceled") || lower.includes("operation cancelled") || lower.includes("operation canceled");
|
|
48
53
|
}
|
|
49
54
|
//#endregion
|
|
50
|
-
export { errorMessage, isUserCancellationError, isWebAuthnRpIdOriginConfigurationError, toError };
|
|
55
|
+
export { errorMessage, isUserCancellationError, isWebAuthnBrowserSecurityError, isWebAuthnRpIdOriginConfigurationError, toError };
|
|
51
56
|
|
|
52
57
|
//# sourceMappingURL=errors.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as e,i as t,r as n}from"./csp-stylesheet-DeuiM0Mo.js";import{c as r,i,r as a,s as o}from"./appearance-token-vars-CgYTfCKg.js";async function s(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 c(){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 l=0;function u(e){return n(d,{...e},e.context)}var d=class extends t{static contextType=a;dialog=e();hosted=e();containerId=`seams-confirmation-modal-${++l}`;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":o(this.context,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 f(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 p(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 m=0;function h(e){return n(g,{...e},e.context)}var g=class extends t{static contextType=a;state={settled:!1};id=`seams-confirmation-drawer-${++m}`;dialog=e();sheet=e();body=e();content=e();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=f({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`&&p({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 a=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":r(this.context,`Dismiss confirmation`),disabled:!this.canDrag(),onClick:this.cancel,children:n(`span`,{})}),n(`button`,{type:`button`,class:`seams-drawer-close`,"aria-label":r(this.context,`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:n(i,{copy:this.props.errorMessage})}),n(`div`,{class:`seams-drawer-content`,ref:this.content,children:this.props.children})]})]});return this.props.context===`wallet-iframe`?a:n(`dialog`,{class:`seams-drawer-dialog`,ref:this.dialog,"aria-label":o(this.context,this.props.label),onCancel:this.cancel,onClick:this.backdropClick,onClickCapture:this.suppressDragClick,onPointerDownCapture:this.clearClickSuppression,children:a})}};export{s as i,u as n,c as r,h as t};
|
|
1
|
+
import{a as e,i as t,r as n}from"./csp-stylesheet-CHtV6HyK.js";import{c as r,i,r as a,s as o}from"./appearance-token-vars-EYbmnHsJ.js";async function s(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 c(){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 l=0;function u(e){return n(d,{...e},e.context)}var d=class extends t{static contextType=a;dialog=e();hosted=e();containerId=`seams-confirmation-modal-${++l}`;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":o(this.context,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 f(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 p(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 m=0;function h(e){return n(g,{...e},e.context)}var g=class extends t{static contextType=a;state={settled:!1};id=`seams-confirmation-drawer-${++m}`;dialog=e();sheet=e();body=e();content=e();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=f({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`&&p({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 a=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":r(this.context,`Dismiss confirmation`),disabled:!this.canDrag(),onClick:this.cancel,children:n(`span`,{})}),n(`button`,{type:`button`,class:`seams-drawer-close`,"aria-label":r(this.context,`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:n(i,{copy:this.props.errorMessage})}),n(`div`,{class:`seams-drawer-content`,ref:this.content,children:this.props.children})]})]});return this.props.context===`wallet-iframe`?a:n(`dialog`,{class:`seams-drawer-dialog`,ref:this.dialog,"aria-label":o(this.context,this.props.label),onCancel:this.cancel,onClick:this.backdropClick,onClickCapture:this.suppressDragClick,onPointerDownCapture:this.clearClickSuppression,children:a})}};export{s as i,u as n,c as r,h as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{h as e,v as t}from"./digests-BIaE0DMd.js";import{t as n}from"./errors-DLUmUo9m.js";import{o as r,t as i}from"./accountIds-Dj_0GoY-.js";import{r as a}from"./types-DOToeB6g.js";import{_ as o,a as s,b as c,d as l,f as u,g as d,h as f,i as p,m,n as ee,o as h,r as g,t as _,u as v,v as y,x as b,y as x}from"./nonceLaneKeys-CZjeiii7.js";function te(e,t){let n=S(e,t);if(n.ok)return n.state;throw k(n.current,n.transition)}function S(e,t){switch(t){case`release`:return ne(e);case`expire`:return re(e);case`mark_signed`:return ie(e);case`broadcast_accepted`:return ae(e);case`broadcast_rejected`:return oe(e);case`finalize`:return se(e);case`drop`:return ce(e);case`replace`:return C(e);case`reconcile`:return w(e);default:return D(t)}}function ne(e){switch(e){case b.Released:return T(e);case b.Reserved:return T(b.Released);default:return E(e,`release`)}}function re(e){switch(e){case b.Reserved:return T(b.Expired);case b.Signed:return T(b.SignedLeaseExpired);case b.Expired:case b.SignedLeaseExpired:return T(e);default:return E(e,`expire`)}}function ie(e){switch(e){case b.Reserved:case b.Signed:return T(b.Signed);default:return E(e,`mark_signed`)}}function ae(e){switch(e){case b.Signed:case b.BroadcastAccepted:return T(b.BroadcastAccepted);default:return E(e,`broadcast_accepted`)}}function oe(e){switch(e){case b.Signed:case b.BroadcastRejected:return T(b.BroadcastRejected);default:return E(e,`broadcast_rejected`)}}function se(e){switch(e){case b.BroadcastAccepted:case b.Finalized:return T(b.Finalized);default:return E(e,`finalize`)}}function ce(e){switch(e){case b.BroadcastAccepted:case b.Dropped:return T(b.Dropped);default:return E(e,`drop`)}}function C(e){switch(e){case b.BroadcastAccepted:case b.Replaced:return T(b.Replaced);default:return E(e,`replace`)}}function w(e){switch(e){case b.Released:case b.Expired:case b.SignedLeaseExpired:case b.BroadcastRejected:case b.Dropped:case b.Replaced:case b.Reconciled:return T(b.Reconciled);default:return E(e,`reconcile`)}}function T(e){return{ok:!0,state:e}}function E(e,t){return{ok:!1,current:e,transition:t,reason:`illegal_transition`}}function D(e){throw Error(`[NonceCoordinator] unhandled nonce lease transition: ${String(e)}`)}function O(e){return e===b.Reserved||e===b.Signed}function le(e){return e===b.Reserved||e===b.Signed||e===b.BroadcastAccepted}function ue(e){return e===b.Reserved||e===b.Signed||e===b.BroadcastAccepted}function de(e,t){return e.state===c.BroadcastAccepted?!0:(e.state===c.Reserved||e.state===c.Signed)&&e.expiresAtMs>t}function k(e,t){return Error(`[NonceCoordinator] illegal nonce lease transition: ${e} -> ${t}`)}function A(e,t){let n=String(e||``).trim();if(!n)throw Error(`[NonceCoordinator] ${t} is required`);return n}function j(e,t){try{if(typeof e==`bigint`)return e;if(typeof e==`number`&&Number.isSafeInteger(e))return BigInt(e);let t=String(e||``).trim();if(/^\d+$/.test(t))return BigInt(t)}catch{}throw Error(`[NonceCoordinator] invalid ${t}`)}function M(e,t){let n=Math.floor(Number(e));return Number.isFinite(n)&&n>0?n:t}function N(e,t){return String(e||``).trim().toLowerCase().replace(/[^a-z0-9_]+/g,`_`).replace(/^_+|_+$/g,``)||t}function P(...e){return e.length===0?0n:e.reduce((e,t)=>e>t?e:t)}function F(e,t){return e<t?e:t}function fe(){return{chainNonce:null,nextCandidate:null,inFlight:new Map,lastRefreshMs:null,inflightRefresh:null}}function pe(e,t){let n=e.get(t);if(n)return n;let r=fe();return e.set(t,r),r}function me(e){let t=String(e.lane.subjectId||``).trim();if(!t)return;let n=e.accountLaneKeys.get(t);if(!n){e.accountLaneKeys.set(t,new Set([e.laneKey]));return}n.add(e.laneKey)}async function he(e){let{state:t}=e;if(t.inflightRefresh)return await t.inflightRefresh;let n=(async()=>{let n=await e.fetchChainNonce(e.lane),r=n>=0n?n:0n,i=await e.readActiveLeaseNonces({chainNextNonce:r,lane:e.lane}),a=0n;for(let e of i){let t=BigInt(e);t>a&&(a=t)}let o=0n,s=new Map;for(let[e,n]of t.inFlight.entries())n.nonce<r||(s.set(e,n),n.nonce>o&&(o=n.nonce));return t.inFlight=s,t.nextCandidate=P(0n,r,(i.size>0||s.size>0)&&t.nextCandidate||0n,a>0n?a+1n:0n,o>0n?o+1n:0n),t.chainNonce=r,t.lastRefreshMs=e.nowMs,r})();t.inflightRefresh=n;try{return await n}finally{t.inflightRefresh===n&&(t.inflightRefresh=null)}}async function ge(e){return e.state.nextCandidate==null||e.state.lastRefreshMs==null||e.state.inFlight.size>0?!0:(await e.readActiveLeaseNonces({lane:e.lane})).size>0?!1:e.nowMs-e.state.lastRefreshMs>=e.refreshTtlMs}async function _e(e){if(await e.removeCoordinationLease(e.lease),!e.state)return;let t=e.lease.nonce;e.state.inFlight.delete(t.toString()),!((await e.readActiveLeaseNonces({excludeLeaseId:e.lease.leaseId,lane:e.lease.lane})).size>0)&&e.state.inFlight.size===0&&(e.state.lastRefreshMs=null)}async function ve(e){let t=e.lease.nonce,n=ye(e.txHash);e.state.inFlight.set(t.toString(),{nonce:t,txHash:n,status:`accepted`,acceptedAtMs:e.nowMs,updatedAtMs:e.nowMs});let r=t+1n;(e.state.nextCandidate==null||e.state.nextCandidate<r)&&(e.state.nextCandidate=r),await e.persistCoordinationLease(e.lease,{state:c.BroadcastAccepted,txHash:n},e.nowMs+e.staleInFlightThresholdMs)}function ye(e){let t=String(e||``).trim().toLowerCase();if(!/^0x[0-9a-f]{64}$/.test(t))throw Error(`[NonceCoordinator] EVM broadcast acceptance requires txHash`);return t}async function be(e){let t=e.lease.nonce;e.state.inFlight.delete(t.toString());let n=t+1n;e.state.chainNonce=e.state.chainNonce==null?n:P(e.state.chainNonce,n),(e.state.nextCandidate==null||e.state.nextCandidate<n)&&(e.state.nextCandidate=n),e.state.lastRefreshMs=e.nowMs,await e.removeCoordinationLease(e.lease)}async function xe(e){let t=e.lease.nonce;if(e.outcome.reason===m.Dropped)e.state.inFlight.delete(t.toString()),(e.state.chainNonce==null||e.state.chainNonce<=t)&&(e.state.nextCandidate=e.state.nextCandidate==null?t:F(e.state.nextCandidate,t));else{let n=e.state.inFlight.get(t.toString());e.state.inFlight.set(t.toString(),{nonce:t,...e.outcome.txHash?{txHash:e.outcome.txHash}:n?.txHash?{txHash:n.txHash}:{},status:`replaced`,acceptedAtMs:n?.acceptedAtMs??e.nowMs,updatedAtMs:e.nowMs})}e.state.lastRefreshMs=null,await e.removeCoordinationLease(e.lease)}async function Se(e){let t=await e.refreshFromChain(e.lane,e.state),n=Array.from(e.state.inFlight.values()).map(e=>e.nonce).sort((e,t)=>e<t?-1:e>t?1:0),r=Ce({state:e.state,nowMs:e.nowMs,staleInFlightThresholdMs:e.staleInFlightThresholdMs});return{chainNextNonce:t,unresolvedInFlightNonces:n,blocked:!!r,...r?{blockedNonce:r.blockedNonce}:{}}}function Ce(e){let{state:t}=e;if(t.inFlight.size===0||t.chainNonce==null)return null;let n=null,r=null;for(let e of t.inFlight.values())(n==null||e.nonce<n)&&(n=e.nonce,r=e.updatedAtMs);if(n==null||r==null||t.chainNonce>n)return null;let i=Math.max(0,e.nowMs-r);return i<e.staleInFlightThresholdMs?null:{blockedNonce:n,ageMs:i}}function we(e){let t=Error(`[NonceCoordinator] nonce lane blocked on ${l(e.lane)} (nonce=${e.blockedNonce.toString()}) for ${e.ageMs}ms; reconcile or replace/dropped report required`);return t.code=`nonce_lane_blocked`,t.retryable=!0,t.details={chain:e.lane.chainTarget.kind,networkKey:l(e.lane),chainId:e.lane.chainTarget.chainId,blockedNonce:e.blockedNonce.toString(),ageMs:e.ageMs},t}function I(e){let t=String(e?.nextNonce??e?.accessKeyInfo?.nonce??`0`).trim();if(!t)return 0n;try{return BigInt(t)}catch{return 0n}}function Te(e){let t={walletId:String(e.walletId||``).trim(),nearAccountId:String(e.nearAccountId||``).trim(),nearPublicKeyStr:String(e.nearPublicKeyStr||``).trim()};if(!e.accessKeyAvailable&&r(t.nearAccountId))return{kind:`implicit_unfunded`,...t};let n={...t,nonce:I(e.transactionContext),accessKeyNonce:String(e.transactionContext?.accessKeyInfo?.nonce??``).trim(),nextNonce:String(e.transactionContext?.nextNonce??``).trim(),txBlockHeight:String(e.transactionContext?.txBlockHeight??``).trim(),txBlockHash:String(e.transactionContext?.txBlockHash??``).trim()};return r(t.nearAccountId)?{kind:`access_key_available`,...n}:{kind:`sponsored_named_ready`,...n}}function L(e){switch(e.lifecycle.kind){case`uninitialized`:return null;case`access_key_bound`:case`access_key_lookup_pending`:case`implicit_unfunded`:case`lookup_failed`:return e.lifecycle.subject;default:return Ne(e.lifecycle)}}function R(e){let t=L(e);if(!t)throw Error(`[NonceCoordinator] NEAR access key is not initialized`);return t}function z(e){return V(e.lifecycle)?.transactionContext??null}function B(e){return z(e)!==null}function Ee(e){return Ae(e)!==null}function De(e){return L(e)?.nearAccountId??null}function Oe(e){return L(e)?.publicKey??null}function V(e){switch(e.kind){case`uninitialized`:case`implicit_unfunded`:case`lookup_failed`:return null;case`access_key_bound`:return e.context.kind===`ready`?e.context:null;case`access_key_lookup_pending`:return e.previousContext.kind===`ready`?e.previousContext:null;default:return Ne(e)}}function ke(e){return V(e)??{kind:`missing`}}function Ae(e){switch(e.lifecycle.kind){case`access_key_lookup_pending`:return e.lifecycle.promise;case`uninitialized`:case`access_key_bound`:case`implicit_unfunded`:case`lookup_failed`:return null;default:return Ne(e.lifecycle)}}function H(e){let t=V(e.state.lifecycle);e.state.lifecycle={kind:`access_key_bound`,subject:e.subject,context:{kind:`ready`,transactionContext:e.transactionContext,lastNonceUpdateMs:e.updateNonce?e.nowMs:t?.lastNonceUpdateMs??e.nowMs,lastBlockHeightUpdateMs:e.updateBlock?e.nowMs:t?.lastBlockHeightUpdateMs??e.nowMs}}}function je(e){e.state.lifecycle={kind:`access_key_lookup_pending`,subject:e.subject,previousContext:ke(e.state.lifecycle),promise:e.promise}}function Me(e){e.state.lifecycle={kind:`implicit_unfunded`,subject:e.subject,readiness:{kind:`implicit_unfunded`,walletId:e.subject.walletId,nearAccountId:e.subject.nearAccountId,nearPublicKeyStr:e.subject.publicKey}}}function U(e){e.state.lifecycle={kind:`lookup_failed`,subject:e.subject,readiness:{kind:`account_lookup_failed`,walletId:e.subject.walletId,nearAccountId:e.subject.nearAccountId,nearPublicKeyStr:e.subject.publicKey,message:e.message}}}function Ne(e){throw Error(`[NonceCoordinator] unhandled NEAR nonce lane lifecycle: ${String(e)}`)}function Pe(){return{lifecycle:{kind:`uninitialized`},inflightId:0,refreshTimer:null,prefetchTimer:null,reservedNonces:new Set,lastReservedNonce:null,inFlight:new Map}}function W(e){e.refreshTimer&&=(clearTimeout(e.refreshTimer),null)}function Fe(e){e.prefetchTimer&&=(clearTimeout(e.prefetchTimer),null)}function G(e){let t=L(e);e.lifecycle=t?{kind:`access_key_bound`,subject:t,context:{kind:`missing`}}:{kind:`uninitialized`},e.reservedNonces.clear(),e.lastReservedNonce=null,e.inFlight.clear(),W(e),Fe(e)}function Ie(e){e.lifecycle={kind:`uninitialized`},G(e)}function Le(e){let t=A(e.nearAccountId,`nearAccountId`),n=A(e.publicKey,`publicKey`),r=A(e.walletId,`walletId`);if(!r)throw Error(`[NonceCoordinator] NEAR access key walletId is required`);let i={walletId:r,nearAccountId:t,publicKey:n},a=L(e.state);a?.walletId===r&&a.nearAccountId===t&&a.publicKey===n||(e.state.lifecycle={kind:`access_key_bound`,subject:i,context:{kind:`missing`}},G(e.state))}function Re(e){Le({state:e.state,walletId:e.walletId,nearAccountId:e.nearAccountId,publicKey:e.publicKey}),H({state:e.state,subject:R(e.state),transactionContext:e.transactionContext,nowMs:e.nowMs,updateNonce:!0,updateBlock:!0})}async function ze(e){let t=z(e.state);if(!t)throw Error(`NEAR transaction context not available - call fetchNearContext() first`);let n=Math.max(0,Math.floor(Number(e.countInput||0)));if(n<=0)return[];let r=v(e.lane),i=await e.readActiveLeaseNonces(r,{lane:e.lane}),a=0n;for(let e of i){let t=BigInt(e);t>a&&(a=t)}let o=P(e.state.lastReservedNonce?BigInt(e.state.lastReservedNonce)+1n:0n,BigInt(t.nextNonce),a>0n?a+1n:0n),s=[],c=o;for(let t=0;t<n;t+=1){for(;e.state.reservedNonces.has(c.toString())||i.has(c.toString());)c+=1n;let t=c.toString();s.push(t),c+=1n}for(let t of s)e.state.reservedNonces.add(t);return e.state.lastReservedNonce=s[s.length-1]||e.state.lastReservedNonce,s}function Be(e){let t=null;for(let n of e)try{let e=BigInt(n);(t===null||e>t)&&(t=e)}catch{}return t===null?null:t.toString()}function Ve(e,t){e.reservedNonces.delete(String(t))&&(e.lastReservedNonce=Be(e.reservedNonces))}async function He(e){let t=BigInt(e.lease.nonce);e.state.inFlight.set(t.toString(),{nonce:t,txHash:e.txHash,acceptedAtMs:e.nowMs,updatedAtMs:e.nowMs}),await e.persistCoordinationLease(e.lease,{state:c.BroadcastAccepted,txHash:e.txHash})}async function Ue(e){Le({state:e.state,walletId:e.lane.walletId,nearAccountId:e.lane.nearAccountId,publicKey:e.lane.publicKey});let t=await e.nearClient.viewAccessKey(e.lane.nearAccountId,e.lane.publicKey);if(!q(t))throw Error(`Access key not found or invalid for account ${e.lane.nearAccountId}`);let n=J(t),r=BigInt(n.nonce),i=r+1n,a=[];for(let t of e.activeLeases){let n=BigInt(t.nonce),i=e.state.inFlight.get(n.toString());if(n>r){i&&a.push(n);continue}if(!i?.txHash)continue;let o=await K({nearClient:e.nearClient,txHash:i.txHash,accountId:e.lane.nearAccountId});if(o===`finalized`){e.transitionLease({lease:t,transition:`finalize`,reason:`near_tx_status_finalized`,txHash:i.txHash}),await e.removeCoordinationLease(t),e.state.inFlight.delete(n.toString()),Ve(e.state,n.toString());continue}if(o===`missing`){e.transitionLease({lease:t,transition:`drop`,reason:d.NonceAdvancedHashMissing,txHash:i.txHash}),await e.removeCoordinationLease(t),e.state.inFlight.delete(n.toString()),Ve(e.state,n.toString());continue}a.push(n)}let o=z(e.state),s=P(i,o?.nextNonce?BigInt(o.nextNonce):0n,e.state.lastReservedNonce?BigInt(e.state.lastReservedNonce)+1n:0n);if(H({state:e.state,subject:{walletId:e.lane.walletId,nearAccountId:e.lane.nearAccountId,publicKey:e.lane.publicKey},transactionContext:{...o||{nearPublicKeyStr:e.lane.publicKey,txBlockHeight:`0`,txBlockHash:``},accessKeyInfo:n,nextNonce:s.toString()},nowMs:e.now(),updateNonce:!0,updateBlock:!1}),e.state.reservedNonces.size>0){let t=We(r,e.state.reservedNonces);e.state.reservedNonces=t.set,e.state.lastReservedNonce=t.lastReserved}return{chainNextNonce:i,unresolvedInFlightNonces:a.sort((e,t)=>e<t?-1:e>t?1:0),blocked:!1}}async function K(e){try{return await e.nearClient.txStatus(e.txHash,e.accountId),`finalized`}catch(e){let t=n(e);return/unknown transaction|does not exist|not found|not found in storage/i.test(t)?`missing`:`unknown`}}function We(e,t){let n=new Set,r=null;for(let i of t)try{let t=BigInt(i);if(t<=e)continue;n.add(i),(r===null||t>r)&&(r=t)}catch{}return{set:n,lastReserved:r===null?null:r.toString()}}function Ge(e){let t=String(e||``).toLowerCase();return t.includes(`does not exist while viewing`)||t.includes(`access key not found`)||t.includes(`unknown public key`)||t.includes(`unknown_account`)||t.includes(`unknown account`)||t.includes(`unknown_access_key`)||t.includes(`does not exist`)||t.includes(`doesn't exist`)}var Ke=class extends Error{code=`near_implicit_account_unfunded`;nearAccountId;readiness;constructor(e){super(`NEAR account ${e.nearAccountId} needs funding before direct NEAR signing.`),this.name=`NearImplicitAccountFundingRequiredError`,this.nearAccountId=e.nearAccountId,this.readiness=Te({walletId:e.walletId,nearAccountId:e.nearAccountId,nearPublicKeyStr:e.nearPublicKeyStr,accessKeyAvailable:!1})}},qe=class extends Error{code=`near_account_lookup_failed`;nearAccountId;readiness;constructor(e){super(e.message||`NEAR account ${e.nearAccountId} access key lookup failed.`),this.name=`NearAccountLookupFailedError`,this.nearAccountId=e.nearAccountId,this.readiness={kind:`account_lookup_failed`,walletId:e.walletId,nearAccountId:e.nearAccountId,nearPublicKeyStr:e.nearPublicKeyStr,message:this.message}}};async function Je(e){let{state:t}=e,i=Ae(t);if(i&&!e.force)return i;let a=R(t),o=++t.inflightId,s=(async()=>{try{let i=e.now(),s=V(t.lifecycle),c=s?.transactionContext??null,l=e.force||!s||i-s.lastNonceUpdateMs>=e.nonceFreshnessThresholdMs,u=e.force||!s||i-s.lastBlockHeightUpdateMs>=e.blockFreshnessThresholdMs,d=c?.accessKeyInfo,f=c?.txBlockHeight,p=c?.txBlockHash,m=l||!d,ee=u||!f||!p,h=d??null,g=null,_=null,v=null,y=[];if(m&&y.push((async()=>{try{h=await e.nearClient.viewAccessKey(a.nearAccountId,a.publicKey)}catch(e){let t=n(e);if(Ge(t)){if(r(a.nearAccountId)){_=new Ke({walletId:a.walletId,nearAccountId:a.nearAccountId,nearPublicKeyStr:a.publicKey});return}_=new qe({walletId:a.walletId,nearAccountId:a.nearAccountId,nearPublicKeyStr:a.publicKey,message:t});return}_=e}})()),ee&&y.push((async()=>{try{g=await e.nearClient.viewBlock({finality:`final`})}catch(e){v=e}})()),y.length>0&&await Promise.all(y),_)throw _ instanceof Ke?Me({state:t,subject:a}):_ instanceof qe&&U({state:t,subject:a,message:_.message}),_;if(v)throw v;if(m&&(d=q(h)?J(h):c?.accessKeyInfo||$e()),ee){if(!Y(g))throw Error(`[NonceCoordinator] failed to fetch NEAR block info`);f=String(g.header.height),p=g.header.hash}let b=P(d?.nonce===void 0?0n:BigInt(d.nonce)+1n,c?.nextNonce?BigInt(c.nextNonce):0n,t.lastReservedNonce?BigInt(t.lastReservedNonce)+1n:0n,1n),x={nearPublicKeyStr:a.publicKey,accessKeyInfo:d,nextNonce:b.toString(),txBlockHeight:f,txBlockHash:p};return et(L(t),a)&&o===t.inflightId&&H({state:t,subject:a,transactionContext:x,nowMs:e.now(),updateNonce:m,updateBlock:ee}),x}finally{if(o===t.inflightId){let e=L(t);t.lifecycle.kind===`access_key_lookup_pending`&&et(e,a)&&(t.lifecycle={kind:`access_key_bound`,subject:a,context:t.lifecycle.previousContext})}}})();return je({state:t,subject:a,promise:s}),s}async function Ye(e){let{state:t}=e,r=R(t);try{let n=await e.nearClient.viewAccessKey(r.nearAccountId,r.publicKey);if(!q(n))throw Error(`Access key not found or invalid for account ${r.nearAccountId}`);let i=J(n),a=BigInt(i.nonce),o=BigInt(e.actualNonce),s=z(t),c=P(a+1n,o+1n,s?.nextNonce?BigInt(s.nextNonce):0n,t.lastReservedNonce?BigInt(t.lastReservedNonce)+1n:0n);if(H({state:t,subject:r,transactionContext:s?{...s,accessKeyInfo:i,nextNonce:c.toString()}:{nearPublicKeyStr:r.publicKey,accessKeyInfo:i,nextNonce:c.toString(),txBlockHeight:`0`,txBlockHash:``},nowMs:e.now(),updateNonce:!0,updateBlock:!1}),t.inFlight.delete(e.actualNonce),Ve(t,e.actualNonce),t.reservedNonces.size>0){let e=We(a,t.reservedNonces);t.reservedNonces=e.set,t.lastReservedNonce=e.lastReserved}}catch(i){if(Ge(n(i))){let n=BigInt(e.actualNonce),i=z(t),a=P(n+1n,i?.nextNonce?BigInt(i.nextNonce):0n,t.lastReservedNonce?BigInt(t.lastReservedNonce)+1n:0n);H({state:t,subject:r,transactionContext:i?{...i,nextNonce:a.toString()}:{nearPublicKeyStr:r.publicKey,accessKeyInfo:$e(),txBlockHeight:`0`,txBlockHash:``,nextNonce:a.toString()},nowMs:e.now(),updateNonce:!0,updateBlock:!1})}}}async function Xe(e){let{state:t}=e,n=R(t),r=await e.nearClient.viewAccessKey(n.nearAccountId,n.publicKey);if(!q(r))throw Error(`Access key not found or invalid for account ${n.nearAccountId}`);let i=J(r),a=BigInt(i.nonce),o=P(a+1n,t.lastReservedNonce?BigInt(t.lastReservedNonce)+1n:0n,1n),s=z(t);if(H({state:t,subject:n,transactionContext:s?{...s,accessKeyInfo:i,nextNonce:o.toString()}:{nearPublicKeyStr:n.publicKey,accessKeyInfo:i,nextNonce:o.toString(),txBlockHeight:`0`,txBlockHash:``},nowMs:e.now(),updateNonce:!0,updateBlock:!1}),t.reservedNonces.size>0){let e=We(a,t.reservedNonces);t.reservedNonces=e.set,t.lastReservedNonce=e.lastReserved}}function Ze(e){let t=V(e.state.lifecycle);return!t||e.nowMs-t.lastBlockHeightUpdateMs>=e.blockFreshnessThresholdMs||!t}function q(t){if(!e(t))return!1;try{return j(t.nonce,`near access-key nonce`),!0}catch{return!1}}function J(e){let n=e;return{nonce:j(n.nonce,`near access-key nonce`),permission:Qe(n.permission),block_hash:t(n.block_hash)?n.block_hash:``,block_height:typeof n.block_height==`number`?n.block_height:0}}function Qe(n){if(n===`FullAccess`||!e(n))return`FullAccess`;let r=n.FunctionCall;if(!e(r))return`FullAccess`;let i=Array.isArray(r.method_names)?r.method_names.filter(t):[];return{FunctionCall:{allowance:t(r.allowance)?r.allowance:``,receiver_id:t(r.receiver_id)?r.receiver_id:``,method_names:i}}}function Y(e){let t=e;if(!t||typeof t!=`object`)return!1;let n=t.header;return!!n&&typeof n.hash==`string`&&n.height!==void 0}function $e(){return{nonce:0n,permission:`FullAccess`,block_height:0,block_hash:``}}function et(e,t){return e?.walletId===t.walletId&&e.nearAccountId===t.nearAccountId&&e.publicKey===t.publicKey}function tt(e){let t=e.lane,n=e.fallback||y.InRuntimeLock,r=t?l(t):String(e.networkKey||``).trim(),i=t?u(t):String(e.accountId||``).trim(),a=t?.family||e.laneFamily,o=[e.reason,a||``,r,i,n].join(`|`);if(e.observed.has(o))return null;let s={reason:e.reason,...a?{laneFamily:a}:{},...r?{networkKey:r}:{},...i?{accountId:i}:{},fallback:n};return e.observed.set(o,s),{...t?{lane:t}:{},degradation:s}}function nt(e){let t=[v(e.lane),e.reason].join(`|`),n=e.alerts.get(t),r=n&&e.nowMs-n.firstSeenAtMs<=e.windowMs?{count:n.count+1,firstSeenAtMs:n.firstSeenAtMs,lastSeenAtMs:e.nowMs}:{count:1,firstSeenAtMs:e.nowMs,lastSeenAtMs:e.nowMs};return e.alerts.set(t,r),r.count<e.threshold?null:{alert:{kind:`repeated_dropped_or_replaced`,severity:`warning`,lane:e.lane,reason:e.reason,count:r.count,windowMs:e.windowMs,firstSeenAtMs:r.firstSeenAtMs,lastSeenAtMs:r.lastSeenAtMs},warning:{chainTarget:e.lane.chainTarget,networkKey:l(e.lane),chainId:e.lane.chainTarget.chainId,sender:e.lane.sender,nonceKey:e.lane.nonceKey?.toString(),subjectId:e.lane.subjectId,reason:e.reason,count:r.count,windowMs:e.windowMs}}}function X(){let e={};for(let t of f)e[t]=0;return e}function rt(e,t){let n=(t.lease?.lane?u(t.lease.lane):``)||(t.lane?u(t.lane):``)||t.accountId,r=(t,r)=>{e.push({...n?{accountId:n}:{},kind:t,reason:r})};if(t.event===x.LeaseDropped){r(m.Dropped,m.Dropped);return}if(t.event===x.LeaseReplaced){r(m.Replaced,m.Replaced);return}if(t.event===x.LaneReconciled){r(`reconciled`,N(t.reason,`manual`));return}if(t.event===x.LeaseReleased){r(`released`,N(t.reason,`unspecified`));return}if(t.event===x.LeaseExpired){r(`expired`,N(t.reason,`lease_ttl_elapsed`));return}t.event===x.LeaseBroadcastRejected&&r(b.BroadcastRejected,b.BroadcastRejected)}function it(e,t){let n={droppedCount:0,replacedCount:0,reconciledCount:0,releasedCount:0,expiredCount:0,broadcastRejectedCount:0,releaseReasons:{},reconcileReasons:{},expiryReasons:{}};for(let r of e)if(!(t&&r.accountId!==t)){if(r.kind===m.Dropped){n.droppedCount+=1;continue}if(r.kind===m.Replaced){n.replacedCount+=1;continue}if(r.kind===`broadcast_rejected`){n.broadcastRejectedCount+=1;continue}if(r.kind===`reconciled`){n.reconciledCount+=1,n.reconcileReasons[r.reason]=(n.reconcileReasons[r.reason]||0)+1;continue}if(r.kind===`released`){n.releasedCount+=1,n.releaseReasons[r.reason]=(n.releaseReasons[r.reason]||0)+1;continue}r.kind===`expired`&&(n.expiredCount+=1,n.expiryReasons[r.reason]=(n.expiryReasons[r.reason]||0)+1)}return n}function at(e){let t=e.options?.accountId?String(e.options.accountId).trim():``,n=X(),r=new Map,i=new Set,a=0,o=0,s=0,c=0;for(let l of e.leases){if(t&&u(l.lane)!==t)continue;a+=1,n[l.state]+=1;let d=v(l.lane),f=Math.max(0,e.nowMs-l.reservedAtMs);o=Math.max(o,f),O(l.state)&&(s=Math.max(s,f),l.expiresAtMs<=e.nowMs&&(c+=1,i.add(d)));let p=r.get(d)||{lane:l.lane,leaseCount:0,states:{}};p.leaseCount+=1,p.states[l.state]=(p.states[l.state]||0)+1,r.set(d,p)}let d={atMs:e.nowMs,...t?{accountId:t}:{},leaseCount:a,laneCount:r.size,oldestLeaseAgeMs:o,oldestInFlightLeaseAgeMs:s,staleInFlightLeaseCount:c,staleInFlightLaneCount:i.size,reservedLeaseCount:n[b.Reserved],signedLeaseCount:n[b.Signed],broadcastAcceptedLeaseCount:n[b.BroadcastAccepted],droppedLeaseCount:n[b.Dropped],replacedLeaseCount:n[b.Replaced],reconciledLeaseCount:n[b.Reconciled],releasedLeaseCount:n[b.Released],outcomes:it(e.outcomeMetricEvents,t)},f=De(e.nearState),p=Oe(e.nearState);return{leaseCount:a,leasesByState:n,laneCount:r.size,metrics:d,coordinationWarnings:Array.from(e.observedCoordinationDegradations).filter(e=>!t||!e.accountId||e.accountId===t),lanes:Array.from(r.values()).map(e=>({family:e.lane.family,accountId:u(e.lane),networkKey:l(e.lane),...e.lane.family===`evm`?{chain:e.lane.chainTarget.kind,chainId:e.lane.chainTarget.chainId}:{},leaseCount:e.leaseCount,states:{...e.states}})),near:{...f?{activeAccountId:f}:{},...p?{activePublicKey:p}:{},hasContext:B(e.nearState),reservedNonceCount:e.nearState.reservedNonces.size,...e.nearState.lastReservedNonce?{lastReservedNonce:e.nearState.lastReservedNonce}:{}}}}function Z(e,t){let n=e.trim();if(!n)throw Error(`[NonceCoordinator][near] ${t} is required`);return n}function ot(e){let t=e?.find(e=>String(e.network||``).startsWith(`near-`));return String(t?.network||`near`)}function st(e){return{family:`near`,networkKey:ot(e.chains),walletId:Z(e.walletId,`walletId`),nearAccountId:i(e.nearAccountId),publicKey:Z(e.nearPublicKeyStr,`nearPublicKeyStr`)}}const ct=2e4;async function lt(e,t){try{let n=await e.viewAccessKey(t.nearAccountId,t.publicKey);if(q(n))return{kind:`observed`,nonce:BigInt(n.nonce)}}catch{}return{kind:`unavailable`}}function ut(t){let n=new Map,r=new Map,i=new Map,l=new Map,d=[],f=new Map,S=t.now||Date.now,ne=M(t.leaseTtlMs,12e4),re=M(t.signedLeaseTtlMs,3e4),ie=M(t.evmRefreshTtlMs,5e3),ae=M(t.evmStaleInFlightThresholdMs,45e3),oe=M(t.droppedReplacedAlertThreshold,3),se=M(t.droppedReplacedAlertWindowMs,3e5),ce=t.sameOriginLock===void 0?gt():t.sameOriginLock,C=t.nonceLaneCoordinationStore??null,w=t.nonceLaneCoordinationStore!==void 0,T=s(),E=new Map,D=e=>{rt(d,e);try{t.onTrace?.(e)}catch{}},O=(e,t)=>{let n=tt({observed:E,reason:e,...t});n&&(D({event:x.CoordinationDegraded,...n}),console.warn(`[NonceCoordinator] nonce coordination degraded`,n.degradation))},k=e=>({leaseId:A(e.leaseId,`leaseId`),operationId:a.signingOperation(e.operationId),operationFingerprint:a.signingOperationFingerprint(e.operationFingerprint)}),j=e=>{let t=A(e.leaseId,`leaseId`),r=n.get(t);if(!r)throw Error(`[NonceCoordinator] nonce lease not found`);return ee(r,e.operationId,e.operationFingerprint),r},N=e=>{let t=e.lease.state,n=te(t,e.transition);e.lease.state=n;let r=e.expiresAtMs;typeof r==`number`&&Number.isSafeInteger(r)&&(e.lease.expiresAtMs=r),D({event:e.event,lease:e.lease,previousState:t,nextState:n,...e.reason?{reason:e.reason}:{},...e.txHash?{txHash:e.txHash}:{}})},P=(e,t)=>{te(e.state,t)},F=e=>pe(r,e),fe=(e,t)=>{me({accountLaneKeys:i,lane:e,laneKey:t})},ye=async(e,t)=>{if(!C)return w&&O(o.IndexedDBUnavailable,{lane:t}),[];try{await C.pruneExpired(S())}catch{O(o.DurableStoreError,{lane:t})}try{return await C.readLane(e)}catch{return O(o.DurableStoreError,{lane:t}),[]}},I=async(e,t)=>{let r=new Set;for(let i of n.values()){if(t?.excludeLeaseId&&i.leaseId===t.excludeLeaseId||!Q(i)||v(i.lane)!==e||!le(i.state))continue;let n=i.nonce;t?.chainNextNonce!=null&&n<t.chainNextNonce||r.add(n.toString())}for(let n of await ye(e,t?.lane))n.record.family===`evm`&&(t?.excludeLeaseId&&n.record.leaseId===t.excludeLeaseId||de(n.record,S())&&(t?.chainNextNonce!=null&&n.nonce<t.chainNextNonce||r.add(n.nonce.toString())));return r},Te=async(e,t)=>{let r=new Set;for(let i of n.values()){if(t?.excludeLeaseId&&i.leaseId===t.excludeLeaseId||!$(i)||v(i.lane)!==e||!ue(i.state))continue;let n=BigInt(i.nonce);t?.chainNextNonce!=null&&n<t.chainNextNonce||r.add(n.toString())}for(let n of await ye(e,t?.lane))n.record.family===`near`&&(t?.excludeLeaseId&&n.record.leaseId===t.excludeLeaseId||de(n.record,S())&&(t?.chainNextNonce!=null&&n.nonce<t.chainNextNonce||r.add(n.nonce.toString())));return r},R=async(e,t,n=e.expiresAtMs)=>{let r=C;if(!r){w&&O(o.IndexedDBUnavailable,{lane:e.lane});return}Q(e)?await z(r,pt({lease:e,lifecycle:t,expiresAtMs:n,updatedAtMs:S(),runtimeId:T}),e.lane):$(e)?await z(r,mt({lease:e,lifecycle:t,expiresAtMs:n,updatedAtMs:S(),runtimeId:T}),e.lane):ft(e)},z=async(e,t,n)=>{try{await e.upsert(t)}catch{O(o.DurableStoreError,{lane:n})}},B=async e=>{if(C)try{await C.remove({laneKey:v(e.lane),leaseId:e.leaseId})}catch{O(o.DurableStoreError,{lane:e.lane})}},De=async(e,n)=>{let r=v(e);return await he({lane:e,state:n,nowMs:S(),fetchChainNonce:async e=>await t.evmNonceBackend.fetchChainNonce(h(e)),readActiveLeaseNonces:async e=>await I(r,e)})},V=async(e,t,n)=>await ge({state:t,lane:n,nowMs:S(),refreshTtlMs:ie,readActiveLeaseNonces:async t=>await I(e,t)}),ke=async e=>{await Z(e.lane);let t=v(e.lane),r=F(t);fe(e.lane,t),await V(t,r,e.lane)&&await De(e.lane,r);let i=Ce({state:r,nowMs:S(),staleInFlightThresholdMs:ae});if(i)throw we({lane:e.lane,blockedNonce:i.blockedNonce,ageMs:i.ageMs});let a=r.chainNonce??r.nextCandidate??0n,o=await I(t,{lane:e.lane});for(;o.has(a.toString())||r.inFlight.has(a.toString());)a+=1n;r.nextCandidate=a+1n;let s=S(),l={leaseId:p({operationId:e.operation.operationId,chain:e.lane.chainTarget.kind,nonce:a}),lane:e.lane,operationId:e.operation.operationId,operationFingerprint:e.operation.operationFingerprint,nonce:a,state:b.Reserved,reservedAtMs:s,expiresAtMs:s+ne};return n.set(l.leaseId,l),await R(l,{state:c.Reserved}),D({event:x.LeaseReserved,lease:l}),{...l}},Ae=async e=>{let t=v(e.lane);await _e({lease:e,state:r.get(t),removeCoordinationLease:B,readActiveLeaseNonces:async e=>await I(t,e)})},H=async(e,t)=>{await ve({lease:e,state:F(v(e.lane)),txHash:t,nowMs:S(),staleInFlightThresholdMs:ae,persistCoordinationLease:R})},je=async e=>{await be({lease:e,state:F(v(e.lane)),nowMs:S(),removeCoordinationLease:B})},Me=async(e,t)=>{await xe({lease:e,state:F(v(e.lane)),outcome:t,nowMs:S(),removeCoordinationLease:B})},U=async e=>{let t=v(e),n=F(t);return fe(e,t),await Se({lane:e,state:n,nowMs:S(),staleInFlightThresholdMs:ae,refreshFromChain:De})},Ne=e=>{let t=nt({alerts:l,lane:e.lane,reason:e.reason,nowMs:S(),threshold:oe,windowMs:se});t&&(D({event:x.LaneAlert,lane:e.lane,alert:t.alert}),console.warn(`[NonceCoordinator] repeated EVM-family dropped/replaced nonce outcomes`,t.warning))},W=Pe(),G=()=>{Ie(W)},Be=e=>{let n=e||t.nearClient;if(!n)throw Error(`[NonceCoordinator] NEAR client is not configured`);return n},K=e=>{Le({state:W,...e})},We=async(e,t)=>await ze({state:W,lane:e,countInput:t,readActiveLeaseNonces:Te}),Ge=e=>{Ve(W,e)},Ke=async(e,t=!1)=>await Je({state:W,nearClient:e,force:t,now:S,nonceFreshnessThresholdMs:5e3,blockFreshnessThresholdMs:ct}),qe=async e=>(K({walletId:e.lane.walletId,nearAccountId:e.lane.nearAccountId,publicKey:e.lane.publicKey}),{...await Ke(Be(e.nearClient),e.force===!0)}),q=async(e,t)=>{await Ye({state:W,nearClient:e,actualNonce:t,now:S})},J=async e=>{await Xe({state:W,nearClient:e,now:S})},Qe=async e=>{let t=v(e);return await Ue({lane:e,state:W,nearClient:Be(),now:S,activeLeases:Array.from(n.values()).filter(e=>e.lane.family===`near`&&v(e.lane)===t&&e.state===b.BroadcastAccepted),removeCoordinationLease:B,transitionLease:({lease:e,transition:t,reason:n,txHash:r})=>{N({lease:e,transition:t,event:t===`finalize`?x.LeaseFinalized:x.LeaseDropped,reason:n,...r?{txHash:r}:{}})}})},Y=async e=>{if(Q(e)){await Ae(e);return}Ge(String(e.nonce)),await B(e)},$e=async e=>{await Y(e),e.lane.family===`evm`&&(await U(e.lane),D({event:x.LaneReconciled,lane:e.lane}))},et=async(e,t)=>{let n=f.get(e)??Promise.resolve(),r,i=new Promise(e=>{r=e}),a=n.catch(()=>void 0).then(()=>i);f.set(e,a),await n.catch(()=>void 0);try{return await t()}finally{r(),f.get(e)===a&&f.delete(e)}},X=async(t,n)=>{let r=v(t),i=async()=>await et(r,n),a=`nonce-coordinator:${r}`;if(ce)return await ce.withLock(a,i);if(C?.withLock){let n=null,r=async()=>{try{return await i()}catch(e){throw n=e,e}};try{return await C.withLock({lockKey:a,ownerId:T,ttlMs:5e3,waitTimeoutMs:3e3},r)}catch(r){throw n===r||O((e(r)?String(r.code||``):``)===o.DurableLockTimeout?o.DurableLockTimeout:o.DurableStoreError,{lane:t,fallback:y.None}),r}}return w&&O(o.WebLocksUnavailable,{lane:t}),await i()},it=async(e,t)=>{if(e.expiresAtMs>t||e.state!==b.Reserved&&e.state!==b.Signed)return null;let n=e.state;return e.state===b.Signed?await $e(e):await Y(e),N({lease:e,transition:`expire`,event:x.LeaseExpired,reason:n===b.Signed?`signed_lease_ttl_elapsed`:`lease_ttl_elapsed`}),{...e}},Z=async e=>{let t=S(),r=v(e),i=[];for(let e of Array.from(n.values())){if(v(e.lane)!==r)continue;let n=await it(e,t);n&&i.push(n)}return i},ot=async e=>{let t=e?.walletId?String(e.walletId).trim():``,r=new Map;for(let e of Array.from(n.values()))t&&u(e.lane)!==t||r.set(v(e.lane),e.lane);let i=[];for(let e of r.values())i.push(...await X(e,async()=>Z(e)));return i},st=async e=>{if(!C){w&&O(o.IndexedDBUnavailable);return}let n=[];try{n=await C.readAllForRecovery(e)}catch{O(o.DurableStoreError);return}let r=new Map;for(let e of n){if(!e.ok){e.leaseId&&await C.remove({laneKey:e.laneKey,leaseId:e.leaseId}),O(e.degradation.reason,{accountId:e.degradation.accountId,networkKey:e.degradation.networkKey,laneFamily:e.degradation.laneFamily,fallback:e.degradation.fallback});continue}let{record:n,lane:i,canonicalLaneKey:a,nonce:s}=e.parsed;await X(i,async()=>{if(n.laneKey!==a){await C.remove({laneKey:n.laneKey,leaseId:n.leaseId}),O(o.MalformedDurableRecord,{accountId:u(i),networkKey:n.networkKey,laneFamily:n.family,fallback:y.None});return}let e=n.expiresAtMs<=S();if(e&&n.state!==c.BroadcastAccepted){await C.remove({laneKey:n.laneKey,leaseId:n.leaseId}),n.family===`evm`&&await U(i).catch(()=>null),D({event:x.LaneReconciled,lane:i,reason:`startup_recovery_expired_lease`});return}if(n.family===`evm`){let r=i,a=F(n.laneKey),o=null;if(n.state===c.BroadcastAccepted){let e=dt(n.txHash);if(a.inFlight.set(n.nonce.toString(),{nonce:s,txHash:e,status:`accepted`,acceptedAtMs:n.reservedAtMs,updatedAtMs:n.updatedAtMs}),o=await t.evmNonceBackend.fetchBroadcastTransactionStatus({...h(r),txHash:e}).catch(()=>null),o?.kind===`finalized`){a.inFlight.delete(n.nonce.toString()),await C.remove({laneKey:n.laneKey,leaseId:n.leaseId}),await U(r).catch(()=>null),D({event:x.LaneReconciled,lane:r,reason:`startup_recovery_finalized_transaction`,txHash:n.txHash});return}}let l=await U(r).catch(()=>null),u=!!l&&l.chainNextNonce>s,d=n.state===c.BroadcastAccepted&&o?.kind===`missing`&&e;(u||d)&&(a.inFlight.delete(n.nonce.toString()),await C.remove({laneKey:n.laneKey,leaseId:n.leaseId})),D({event:x.LaneReconciled,lane:r,reason:d?`startup_recovery_dropped_transaction`:`startup_recovery`,...d&&n.state===c.BroadcastAccepted?{txHash:n.txHash}:{}});return}if(n.family===`near`&&t.nearClient)try{let e=r.get(a);e||(e=await lt(t.nearClient,n),r.set(a,e)),e.kind===`observed`&&e.nonce>=s&&await C.remove({laneKey:n.laneKey,leaseId:n.leaseId})}catch{}})}},ut=async e=>{await Z(e.lane);let t=Math.max(1,Math.floor(Number(e.count||1))),r=await We(e.lane,t);if(r.length!==t)throw Error(`[NonceCoordinator] NEAR nonce reservation returned an incomplete batch`);let i=S(),a=g({operationId:e.operation.operationId,chain:`near`,firstNonce:r[0],count:t}),o=r.map((t,n)=>({leaseId:p({operationId:e.operation.operationId,chain:`near`,nonce:t}),lane:e.lane,operationId:e.operation.operationId,operationFingerprint:e.operation.operationFingerprint,nonce:t,state:b.Reserved,reservedAtMs:i,expiresAtMs:i+ne,batchId:a,txIndex:n}));for(let e of o)n.set(e.leaseId,e),await R(e,{state:c.Reserved}),D({event:x.LeaseReserved,lease:e});return o.map(e=>({...e}))},ht=e=>{let t=e?.accountId?String(e.accountId).trim():``,r=at({options:e,leases:n.values(),nearState:W,observedCoordinationDegradations:E.values(),outcomeMetricEvents:d,nowMs:S()});return e?.emitMetrics&&D({event:x.Metrics,metrics:r.metrics,...t?{accountId:t}:{}}),r};return{async reserve(e){if(e.lane.family===`near`){let t=e.lane;return await X(t,async()=>(await ut({lane:t,operation:e.operation,count:1}))[0])}let t=e.lane;return await X(t,async()=>await ke({lane:t,operation:e.operation}))},async reserveBatch(e){return await X(e.lane,async()=>await ut(e))},async reserveNearContext(e){return await X(e.lane,async()=>{K({walletId:e.lane.walletId,nearAccountId:e.lane.nearAccountId,publicKey:e.lane.publicKey});let t={...e.fetchContext?await e.fetchContext():await qe({lane:e.lane,nearClient:e.nearClient,force:e.force!==!1})};Re({state:W,walletId:e.lane.walletId,nearAccountId:e.lane.nearAccountId,publicKey:e.lane.publicKey,transactionContext:t,nowMs:S()});let n=await ut({lane:e.lane,operation:e.operation,count:e.count});return n[0]&&(t.nextNonce=String(n[0].nonce)),{context:t,leases:n}})},initializeNearAccessKey:K,getActiveNearPublicKey(){return Oe(W)},async fetchNearContext(e){return await X(e.lane,async()=>qe(e))},async prefetchNearContext(e){if(e?.kind===`access_key_subject`&&K({walletId:e.walletId,nearAccountId:e.nearAccountId,publicKey:e.publicKey}),!L(W))return;Fe(W);let t=Be(e?.nearClient);W.prefetchTimer=setTimeout(()=>{W.prefetchTimer=null,!Ee(W)&&Ze({state:W,nowMs:S(),blockFreshnessThresholdMs:ct})&&Ke(t).catch(()=>void 0)},400)},clearNearAccessKey(){G();for(let[e,t]of n.entries())t.lane.family===`near`&&n.delete(e)},async markSigned(e){let t=k(e);return await X(j(t).lane,async()=>{let n=j(t),r=S()+re;N({lease:n,transition:`mark_signed`,event:x.LeaseSigned,expiresAtMs:r,...e.signedTxHash?{txHash:e.signedTxHash}:{}}),await R(n,{state:c.Signed},r)})},async markBroadcastAccepted(e){let t=k(e);return await X(j(t).lane,async()=>{let n=j(t);P(n,`broadcast_accepted`),Q(n)?await H(n,String(e.txHash)):$(n)?await He({lease:n,state:W,txHash:String(e.txHash),nowMs:S(),persistCoordinationLease:R}):ft(n),N({lease:n,transition:`broadcast_accepted`,event:x.LeaseBroadcastAccepted,txHash:String(e.txHash)})})},async markBroadcastRejected(e){let n=k(e);return await X(j(n).lane,async()=>{let r=j(n);if(P(r,`broadcast_rejected`),await Y(r),$(r)&&t.nearClient)try{await J(t.nearClient)}catch{}N({lease:r,transition:`broadcast_rejected`,event:x.LeaseBroadcastRejected,reason:e.error instanceof Error?e.error.message:String(e.error||``)})})},async markFinalized(e){let n=k(e);return await X(j(n).lane,async()=>{let r=j(n);P(r,`finalize`),Q(r)?await je(r):$(r)?(t.nearClient?await q(t.nearClient,String(r.nonce)):await Y(r),await B(r)):ft(r),N({lease:r,transition:`finalize`,event:x.LeaseFinalized,...e.txHash?{txHash:String(e.txHash)}:{}})})},async markDroppedOrReplaced(e){let t=k(e),n=j(t);return _(n),await X(n.lane,async()=>{let n=j(t);_(n),P(n,e.reason===m.Replaced?`replace`:`drop`),await Me(n,{reason:e.reason,...e.txHash?{txHash:String(e.txHash)}:{}}),N({lease:n,transition:e.reason===m.Replaced?`replace`:`drop`,event:e.reason===m.Replaced?x.LeaseReplaced:x.LeaseDropped,reason:e.reason,...e.txHash?{txHash:String(e.txHash)}:{}}),Ne({lane:n.lane,reason:e.reason})})},async release(e){let t=k(e);return await X(j(t).lane,async()=>{let n=j(t);P(n,`release`),await Y(n),N({lease:n,transition:`release`,event:x.LeaseReleased,reason:e.reason})})},async expireLeases(e){return await ot(e)},async recoverDurableLeases(e){await st(e)},async reconcile(e){return await X(e.lane,async()=>{let t=e.lane.family===`evm`?await U(e.lane):await Qe(e.lane);return D({event:x.LaneReconciled,lane:e.lane}),t})},clearForWallet(e){let t=String(e||``).trim();if(!t)return;C?.clearForWallet(t).catch(()=>O(o.DurableStoreError));let a=i.get(t);if(a){for(let e of a)r.delete(e);i.delete(t)}L(W)?.walletId===t&&G();for(let[e,r]of n.entries())u(r.lane)===t&&n.delete(e);D({event:x.LanesCleared,accountId:t,reason:`clear_for_account`})},clearAll(){r.clear(),i.clear(),l.clear(),C?.clearAll().catch(()=>O(o.DurableStoreError)),G(),n.clear(),f.clear(),D({event:x.LanesCleared,reason:`clear_all`})},getDiagnostics(e){return ht(e)}}}function dt(e){let t=e.trim().toLowerCase();if(!/^0x[0-9a-f]{64}$/.test(t))throw Error(`[NonceCoordinator] recovered EVM broadcast record has invalid txHash`);return t}function Q(e){return e.lane.family===`evm`}function $(e){return e.lane.family===`near`}function ft(e){throw Error(`Unexpected nonce lease variant: ${String(e)}`)}function pt(e){let t=e.lease,n={v:1,laneKey:v(t.lane),leaseId:t.leaseId,networkKey:l(t.lane),nonce:t.nonce,operationId:String(t.operationId),operationFingerprint:String(t.operationFingerprint),reservedAtMs:t.reservedAtMs,expiresAtMs:e.expiresAtMs,updatedAtMs:e.updatedAtMs,runtimeId:e.runtimeId,family:`evm`,chainTarget:t.lane.chainTarget,accountId:t.lane.subjectId,sender:t.lane.sender,...t.lane.nonceKey==null?{}:{nonceKey:t.lane.nonceKey},...ht(t)};switch(e.lifecycle.state){case c.Reserved:case c.Signed:return{...n,state:e.lifecycle.state};case c.BroadcastAccepted:return{...n,state:c.BroadcastAccepted,txHash:dt(e.lifecycle.txHash)}}}function mt(e){let t=e.lease,n={v:1,laneKey:v(t.lane),leaseId:t.leaseId,networkKey:l(t.lane),nonce:BigInt(t.nonce),operationId:String(t.operationId),operationFingerprint:String(t.operationFingerprint),reservedAtMs:t.reservedAtMs,expiresAtMs:e.expiresAtMs,updatedAtMs:e.updatedAtMs,runtimeId:e.runtimeId,family:`near`,walletId:t.lane.walletId,nearAccountId:t.lane.nearAccountId,publicKey:t.lane.publicKey,...ht(t)};switch(e.lifecycle.state){case c.Reserved:case c.Signed:return{...n,state:e.lifecycle.state};case c.BroadcastAccepted:return{...n,state:c.BroadcastAccepted,txHash:e.lifecycle.txHash}}}function ht(e){return{...e.batchId?{batchId:e.batchId}:{},...Number.isSafeInteger(e.txIndex)?{txIndex:e.txIndex}:{}}}function gt(){let e=globalThis.navigator?.locks;return typeof e?.request==`function`?{async withLock(t,n){return await e.request(t,{mode:`exclusive`},n)}}:null}export{st as n,ut as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as e}from"./csp-stylesheet-
|
|
1
|
+
import{r as e}from"./csp-stylesheet-CHtV6HyK.js";function t(){return e(`svg`,{class:`seams-receipt-wordmark`,viewBox:`0 0 1428 285`,role:`img`,"aria-label":`seams`,children:e(`path`,{d:`M 1152.240 22.260 C 1142.208 32.303, 1134 41.030, 1134 41.653 C 1134 42.276, 1134.625 43.026, 1135.388 43.319 C 1137.220 44.022, 1149.487 58.808, 1154.965 66.916 C 1160.947 75.770, 1167.188 88.708, 1170.922 100 C 1179.875 127.067, 1179.861 153.906, 1170.878 184.346 C 1169.767 188.111, 1169.068 191.402, 1169.325 191.658 C 1169.581 191.915, 1173.776 190.129, 1178.646 187.690 C 1189.458 182.274, 1206.826 175.821, 1220.384 172.183 L 1230.500 169.469 1231.685 161.485 C 1233.180 151.413, 1233.316 131.031, 1231.963 119.974 C 1231.393 115.313, 1229.818 106.851, 1228.463 101.170 C 1227.108 95.488, 1226 90.723, 1226 90.580 C 1226 90.437, 1231.063 91.354, 1237.250 92.617 C 1288.849 103.153, 1340.642 93.721, 1389.671 64.860 C 1397.021 60.533, 1419.577 45.437, 1422.276 43.038 C 1422.979 42.413, 1384.105 4.943, 1381.956 4.174 C 1381.455 3.995, 1378.447 5.832, 1375.273 8.256 C 1352.212 25.865, 1329.230 37.090, 1305.831 42.174 C 1290.920 45.414, 1262.231 45.389, 1247 42.123 C 1221.862 36.733, 1202.051 27.300, 1180.320 10.372 C 1175.820 6.867, 1171.766 4, 1171.309 4 C 1170.853 4, 1162.272 12.217, 1152.240 22.260 M 276 48.064 C 245.671 51.807, 220.471 65.845, 203.537 88.432 C 196.121 98.323, 188.492 116.648, 186.051 130.434 C 184.471 139.355, 184.755 159.897, 186.580 168.731 C 192.404 196.928, 208.854 220.370, 232.901 234.742 C 262.591 252.485, 304.246 254.795, 337.980 240.568 C 350.834 235.146, 367.194 223.594, 373.765 215.297 L 376.932 211.299 361.834 197.711 L 346.737 184.124 339.619 190.143 C 320.291 206.485, 299.180 212.864, 278.754 208.536 C 258.217 204.184, 242.399 188.671, 237.623 168.197 L 236.177 162 311.543 162 L 386.909 162 387.587 158.388 C 387.960 156.402, 388.018 148.189, 387.716 140.138 C 387.277 128.449, 386.625 123.586, 384.479 116 C 379.212 97.381, 371.713 84.617, 359.119 72.834 C 341.964 56.786, 321.656 48.842, 294.709 47.639 C 288.544 47.364, 280.125 47.556, 276 48.064 M 1000.983 49.026 C 981.627 51.294, 962.676 59.399, 951.124 70.351 C 938.360 82.454, 932.081 100.926, 935.370 116.700 C 938.138 129.975, 945.329 140.076, 958.015 148.510 C 967.604 154.885, 980.155 159.892, 1004.029 166.867 C 1015.288 170.156, 1026.528 173.719, 1029.008 174.784 C 1048.926 183.343, 1047.372 201.937, 1026.053 210.140 C 1015.474 214.211, 997.351 212.791, 986.004 207.002 C 979.694 203.783, 970.400 196.188, 965.527 190.269 C 962.915 187.096, 960.339 184.500, 959.804 184.500 C 959.268 184.500, 951.497 190.575, 942.534 198 C 929.678 208.651, 926.415 211.838, 927.076 213.103 C 928.792 216.389, 942.709 229.745, 948.500 233.663 C 980.766 255.495, 1031.930 258.256, 1064.810 239.938 C 1093.327 224.051, 1103.456 188.645, 1086.875 162.806 C 1079.079 150.656, 1060.449 139.092, 1036.756 131.697 C 1030.565 129.765, 1019.425 126.293, 1012 123.982 C 996.026 119.010, 990.228 116.248, 986.523 111.845 C 984.091 108.955, 983.837 107.979, 984.242 103.095 C 984.660 98.058, 985.089 97.243, 989.362 93.375 C 995.842 87.508, 1002.195 85.510, 1014 85.627 C 1029.536 85.780, 1040.165 90.408, 1053 102.609 L 1059.500 108.788 1074.500 95.232 C 1082.750 87.776, 1089.635 81.130, 1089.799 80.462 C 1090.225 78.739, 1079.812 69.686, 1071.224 64.313 C 1057.482 55.715, 1042.661 51.008, 1023.144 49.043 C 1011.825 47.903, 1010.580 47.902, 1000.983 49.026 M 478.921 50.482 C 460.570 53.573, 444.266 60.019, 429.500 70.020 C 421.367 75.529, 412.785 82.902, 413.207 84.017 C 413.368 84.442, 419.475 90.933, 426.777 98.443 L 440.055 112.097 448.277 105.504 C 457.467 98.135, 466.747 93.115, 477.373 89.764 C 483.388 87.867, 486.684 87.524, 498.500 87.561 C 514.277 87.612, 519.926 89.109, 528.209 95.433 C 533.564 99.522, 538.796 108.852, 539.546 115.650 C 539.840 118.318, 540.248 121.894, 540.453 123.597 L 540.825 126.694 512.662 127.312 C 474.264 128.156, 456.457 131.057, 438.650 139.369 C 409.872 152.803, 397.368 179.013, 406.084 207.632 C 408.813 216.591, 412.119 222.196, 418.848 229.266 C 433.800 244.978, 457.890 252.692, 484.002 250.132 C 504.167 248.154, 520.632 240.972, 534.077 228.288 L 541 221.758 541 233.379 L 541 245 566.559 245 L 592.118 245 591.717 179.750 C 591.282 109.141, 591.338 109.914, 585.549 94.533 C 576.527 70.565, 555.039 55.122, 524.252 50.482 C 512.527 48.714, 489.412 48.714, 478.921 50.482 M 72.366 51.570 C 50.831 55.188, 30.787 66.983, 21.508 81.500 C 9.386 100.466, 11.445 124.131, 26.601 140.021 C 37.041 150.966, 47.790 156.186, 80 165.955 C 101.571 172.497, 108.741 175.471, 113.227 179.737 C 122.014 188.093, 117.373 201.967, 103.727 208.137 C 99.071 210.242, 97.079 210.495, 85.500 210.457 C 74.475 210.420, 71.648 210.076, 66.895 208.189 C 57.333 204.394, 48.391 197.450, 39.713 187.077 L 36.013 182.655 31.756 186.047 C 22.049 193.784, 3 210.296, 3 210.975 C 3 212.867, 19.844 229.407, 25.799 233.361 C 42.118 244.199, 63.087 249.992, 86 249.992 C 132.157 249.992, 165.601 226.871, 167.716 193.500 C 168.732 177.462, 164.163 165.154, 153.024 153.923 C 141.991 142.799, 129.353 136.682, 96.500 126.567 C 76.762 120.489, 67.150 116.278, 64.064 112.355 C 60.911 108.346, 60.514 103.886, 62.843 98.621 C 65.477 92.667, 71.720 88.644, 81.804 86.400 C 88.654 84.876, 90.160 84.859, 98.418 86.211 C 110.806 88.240, 117.685 91.723, 127.138 100.754 L 134.931 108.199 137.816 105.850 C 146.860 98.484, 165.983 80.444, 165.693 79.550 C 164.936 77.217, 150.022 65.736, 142.959 62.051 C 122.849 51.558, 96.089 47.585, 72.366 51.570 M 825.539 51.051 C 817.528 52.301, 809.553 54.686, 804.028 57.486 C 796.847 61.125, 787.304 68.749, 783.769 73.673 L 780.532 78.180 779.078 75.840 C 775.424 69.955, 764.796 60.805, 757.750 57.477 C 746.137 51.993, 739.434 50.698, 725.533 51.254 C 706.839 52.001, 694.387 57.102, 681.866 69.140 L 676 74.781 676 65.390 L 676 56 651.661 56 L 627.322 56 626.663 83.750 C 626.300 99.013, 626.003 141.537, 626.002 178.250 L 626 245 650 245 L 674 245 674 187.958 C 674 125.947, 674.350 121.163, 679.650 110.703 C 691.004 88.298, 724.199 85.661, 735.947 106.231 C 741.820 116.514, 742 118.855, 742 184.966 L 742 245.037 765.250 244.768 L 788.500 244.500 789.039 184 C 789.453 137.683, 789.889 122.562, 790.903 119.500 C 794.665 108.131, 800.351 100.945, 809.283 96.269 C 813.828 93.890, 815.659 93.536, 823.500 93.519 C 831.355 93.502, 833.225 93.856, 838.201 96.300 C 845.065 99.670, 850.240 106.160, 853.351 115.297 C 855.395 121.302, 855.473 123.474, 855.781 183.250 L 856.099 245 880.095 245 L 904.091 245 903.766 176.750 C 903.447 109.712, 903.401 108.359, 901.212 100.558 C 894.210 75.604, 876.712 57.823, 854 52.581 C 845.325 50.579, 832.863 49.909, 825.539 51.051 M 279 83.691 C 264.019 86.199, 249.825 96.478, 243.191 109.624 C 240.856 114.250, 237 124.874, 237 126.682 C 237 126.857, 259.500 127, 287 127 C 317.941 127, 337 126.638, 337 126.049 C 337 122.644, 334.294 113.593, 331.779 108.589 C 325.881 96.853, 314.699 87.980, 301.458 84.531 C 296.022 83.115, 284.921 82.700, 279 83.691 M 1373.984 93.932 C 1358.717 101.014, 1349.722 104.330, 1336.008 107.930 L 1325.515 110.685 1324.277 117.592 C 1323.596 121.392, 1323.013 131.475, 1322.982 140 C 1322.924 156.322, 1324.865 170.597, 1328.959 183.948 C 1330.047 187.495, 1330.837 190.497, 1330.714 190.619 C 1330.592 190.742, 1326.893 189.972, 1322.496 188.909 C 1304.642 184.594, 1295.980 183.607, 1276 183.612 C 1260.205 183.616, 1254.056 184.048, 1243.635 185.884 C 1213.691 191.158, 1186.385 202.666, 1158.538 221.745 C 1146.555 229.956, 1134 239.793, 1134 240.971 C 1134 241.645, 1155.018 264.209, 1166.941 276.336 L 1171.695 281.172 1182.932 272.727 C 1209.090 253.066, 1232.355 242.974, 1260.846 238.927 C 1271.516 237.412, 1297.903 238.291, 1308 240.498 C 1333.016 245.966, 1352.163 255.502, 1374.794 273.765 L 1384.088 281.266 1386.294 279.318 C 1387.507 278.246, 1396.721 269.819, 1406.769 260.591 L 1425.039 243.812 1418.769 236.895 C 1393.960 209.525, 1382.368 185.212, 1378.937 153.347 C 1377.153 136.771, 1379.694 114.031, 1385.375 95.750 C 1386.699 91.487, 1387.494 88.028, 1387.141 88.063 C 1386.789 88.098, 1380.868 90.739, 1373.984 93.932 M 487 161.998 C 465.755 164.841, 454 174.462, 454 189.008 C 454 210.801, 485.917 220.760, 513.612 207.607 C 529.505 200.060, 540 183.837, 540 166.818 L 540 161 516.250 161.131 C 503.188 161.203, 490.025 161.593, 487 161.998`,stroke:`none`,fill:`currentColor`,"fill-rule":`evenodd`})})}export{t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{V as e}from"./domainIds-t1lp25yU.js";import{i as t}from"./digests-BIaE0DMd.js";import{i as n,r}from"./base64-BmKR3UqU.js";import{i,n as a,r as o}from"./signerDomain-BLnlQPAV.js";import{c as s,o as c}from"./ecdsaChainTarget-Lh24LLyA.js";import{s as l,t as u}from"./normalization-DA6o5MsH.js";import{a as d,i as f,t as p}from"./keyMaterialEnvelope-BsdlckmN.js";import{d as m,n as h,t as g}from"./accountIds-Dj_0GoY-.js";import{i as _,t as v}from"./signerSlot-DgLzb3Ee.js";import{t as y}from"./registrationSignerPlan-_8gsSjC0.js";import{a as b,i as x,n as ee,o as S,r as C,t as te}from"./profileAccountProjection-dvLchPBo.js";function ne(e){return e===a.emailOtp?a.emailOtp:e===a.passkey?a.passkey:null}function re(t){if(t.authMethod===a.emailOtp){let n=e(t.metadata.email||``);if(n)return n}return t.walletId}async function w(t,n,r){let i=g(n),a=u(i);if(!a)return null;let o=await C(t,{accountRefs:b(i).map(e=>({chainIdKey:e,accountAddress:a})),signerSlot:r});if(!o)return null;let s=o.selectedSigner.metadata||{},c=typeof s.passkeyCredentialRawId==`string`?s.passkeyCredentialRawId:o.selectedSigner.signerId,l=typeof s.passkeyCredentialId==`string`?s.passkeyCredentialId:o.profile.passkeyCredential?.id||c,d=typeof s.operationalPublicKey==`string`?s.operationalPublicKey:``,f=e(s.nearEd25519SigningKeyId||``);if(!f)return null;let p=e(s.walletId||``);if(!p)return null;let m=ne(o.selectedSigner.signerAuthMethod);return{walletId:p,nearAccountId:i,loginDisplayName:re({walletId:p,authMethod:m,metadata:s}),signerSlot:o.selectedSigner.signerSlot,version:2,registeredAt:o.profile.createdAt,lastLogin:o.profile.updatedAt,lastUpdated:o.profile.updatedAt,operationalPublicKey:d,nearEd25519SigningKeyId:f,passkeyCredential:{id:l,rawId:c},authMethod:m,preferences:o.profile.preferences}}async function ie(e){let t=await te(e,{chainIdKeys:[`near:testnet`,`near:mainnet`]});if(!t?.chainAccount?.accountAddress)return null;let n;try{n=g(t.chainAccount.accountAddress)}catch{return null}return{nearAccountId:n,profileId:t.profileId,signerSlot:t.signerSlot}}async function ae(e){let t=await ie(e).catch(()=>null);return t?w(e,t.nearAccountId,t.signerSlot):null}async function oe(t){let[n,r]=await Promise.all([t.listChainAccountsByChain(`near:testnet`),t.listChainAccountsByChain(`near:mainnet`)]),i=new Set;for(let t of[...n,...r]){let n=e(t.accountAddress||``);if(n)try{i.add(g(n))}catch{}}let a=[],s=new Set;for(let e of i){let n=await C(t,{accountRefs:b(e).map(t=>({chainIdKey:t,accountAddress:u(e)}))}).catch(()=>null);if(!n)continue;let r=n.activeSigners.filter(e=>e.signerKind===o.thresholdEd25519&&ne(e.signerAuthMethod)).slice().sort((e,t)=>e.signerSlot-t.signerSlot);for(let n of r){let r=Number(n.signerSlot);if(!Number.isSafeInteger(r)||r<1)continue;let i=`${String(e)}:${r}`;if(s.has(i))continue;s.add(i);let o=await w(t,e,r).catch(()=>null);o&&a.push(o)}}return a}const T=`wallet_custody_ed25519_active_client_v1`,E=`chacha20poly1305-hkdf-sha256-wallet-custody-seed-v1`;function D(e){for(let[t,n]of[[`walletId`,e.walletId],[`nearAccountId`,e.nearAccountId],[`nearEd25519SigningKeyId`,e.nearEd25519SigningKeyId],[`signingWorkerId`,e.signingWorkerId],[`applicationBindingDigestB64u`,e.applicationBindingDigestB64u],[`signingWorkerVerifyingShareB64u`,e.signingWorkerVerifyingShareB64u],[`stateEpoch`,e.stateEpoch]])if(!String(n||``).trim())throw Error(`Wallet custody Ed25519 material binding requires ${t}`);if(e.participantIds.length!==2)throw Error(`Wallet custody Ed25519 material binding requires exactly two participants`)}function O(e){let{binding:t,sealed:n,target:i}=e;D(t);let a=r(t.registeredPublicKeyB64u);if(a.length!==32)throw Error(`Wallet custody Ed25519 material requires a 32-byte registered public key`);if(!n.ciphertextB64u||!n.nonceB64u)throw Error(`Wallet custody Ed25519 material requires its sealed ciphertext and nonce`);return{profileId:i.profileId,signerSlot:t.signerSlot,chainIdKey:i.chainIdKey,accountAddress:i.accountAddress,keyKind:T,algorithm:`ed25519`,publicKey:`ed25519:${m(a)}`,signerId:t.nearEd25519SigningKeyId,payload:{binding:t},payloadEnvelope:{encVersion:1,alg:E,nonce:n.nonceB64u,ciphertext:n.ciphertextB64u,aad:p({profileId:i.profileId,signerSlot:t.signerSlot,chainIdKey:i.chainIdKey,accountAddress:i.accountAddress,keyKind:T,schemaVersion:1,signerId:t.nearEd25519SigningKeyId})},timestamp:Date.now(),schemaVersion:1}}const k=`threshold-ecdsa`,A={signerAuthMethod:a.passkey,signerSource:i.passkeyRegistration},j={signerAuthMethod:a.emailOtp,signerSource:i.emailOtpRegistration};function M(e,t){let n=String(e||``).trim();if(!n)throw Error(`SeamsWalletDB: ${t} is required`);let i=r(n);if(i.length===0)throw Error(`SeamsWalletDB: ${t} decoded to empty credential public key`);return i}async function N(e,t){let n=g(t),r=await ee(e.accountStore,x(n)).catch(()=>null);if(!r?.profileId)return null;let i=d(r.profileId);return i.ok?{profileId:i.value}:null}async function se(e,t){let n=g(t.nearAccountId),r=Number(t.signerSlot);if(!Number.isSafeInteger(r)||r<1)throw Error(`SeamsWalletDB: storeUserData requires an exact signerSlot`);let c=r,l=s(t.walletId),d=f(n),p=S(n,t.preferences?.useNetwork),m=u(n),h=String(t.passkeyCredential?.rawId||``).trim()||`signer-${c}`;await e.accountStore.upsertProfile({profileId:d,defaultSignerSlot:c,passkeyCredential:t.passkeyCredential,...t.preferences?{preferences:t.preferences}:{}});let _=await e.accountStore.getAccountSigner({chainIdKey:p,accountAddress:m,signerId:h}).catch(()=>null),v=await e.accountStore.activateAccountSigner({account:{profileId:d,chainIdKey:p,accountAddress:m,accountModel:`near-native`},signer:{signerId:h,signerType:`threshold`,signerKind:o.thresholdEd25519,signerAuthMethod:a.passkey,signerSource:i.passkeyRegistration,metadata:{..._?.metadata||{},walletId:String(l),nearAccountId:String(n),nearEd25519SigningKeyId:t.nearEd25519SigningKeyId,operationalPublicKey:t.operationalPublicKey,passkeyCredentialId:t.passkeyCredential?.id,passkeyCredentialRawId:t.passkeyCredential?.rawId}},activationPolicy:{mode:`allocate_next_free`},preferredSlot:c,mutation:{routeThroughOutbox:!1}});v.signerSlot!==c&&await e.accountStore.upsertProfile({profileId:d,defaultSignerSlot:v.signerSlot,passkeyCredential:t.passkeyCredential,...t.preferences?{preferences:t.preferences}:{}}),await e.accountStore.setLastProfileStateForProfile(d,v.signerSlot)}function ce(e){return oe(e.accountStore)}function le(e,t,n){return w(e.accountStore,t,n)}function ue(e){return ae(e.accountStore)}function de(e,t,n){return{nearAccountId:t,signerSlot:n??e.signerSlot,credentialId:e.credentialId,credentialPublicKey:e.credentialPublicKey,transports:e.transports,name:e.name,registered:e.registered,syncedAt:e.syncedAt}}function fe(e){if(e.signerAuthMethod!==a.passkey)return null;let t=String(e.metadata?.walletId||``).trim(),n=String(e.metadata?.passkeyCredentialRawId||``).trim();return!t||!n?null:{walletId:t,credentialId:n,signerSlot:e.signerSlot}}async function pe(e,t){let n=(await e.accountStore.listAccountSigners({chainIdKey:t.chainIdKey,accountAddress:t.accountAddress,status:`active`})).map(fe).filter(e=>e!==null),r=new Map;for(let e of n){let t=r.get(e.walletId);t?t.push(e):r.set(e.walletId,[e])}let i=[];for(let[n,a]of r.entries()){let r=await e.accountStore.listProfileAuthenticators(n);for(let e of a){let n=r.find(t=>t.credentialId===e.credentialId);n&&i.push(de(n,t.nearAccountId,e.signerSlot))}}return i}async function P(e,t){let n=g(t),r=await ee(e.accountStore,x(n)).catch(()=>null);return r?.accountRef?await pe(e,{nearAccountId:n,chainIdKey:r.accountRef.chainIdKey,accountAddress:r.accountRef.accountAddress}):[]}async function me(e,t,n){let r=Number(n);if(!Number.isSafeInteger(r)||r<1)throw Error(`SeamsWalletDB: signerSlot must be an integer >= 1`);let i=String(t||``).trim();if(!i)throw Error(`SeamsWalletDB: selected wallet id is required`);let a=await e.accountStore.getProfile(i).catch(()=>null);if(!a?.profileId)throw Error(`SeamsWalletDB: Missing profile for wallet ${i}`);await e.accountStore.setLastProfileStateForProfile(a.profileId,r)}function he(e){try{return s(e)}catch{return null}}function ge(e){if(typeof e!=`string`)return null;try{return g(e)}catch{return null}}function _e(e){if(typeof e!=`string`||!e.trim())return null;try{return _(e)}catch{return null}}async function ve(e,t){let n=null;try{n=await C(e.accountStore,{accountRefs:x(t.nearAccountId),signerSlot:t.signerSlot})}catch{n=null}if(!n)throw Error(`Authenticated wallet activation requires an exact NEAR signer projection`);let r=d(n.context.profileId);if(!r.ok)throw Error(r.message);let i=n.selectedSigner,a=i.metadata||{},s=he(a.walletId),c=ge(a.nearAccountId),l=_e(a.nearEd25519SigningKeyId),u=typeof a.operationalPublicKey==`string`?a.operationalPublicKey.trim():``;if(i.signerKind!==o.thresholdEd25519||i.signerSlot!==t.signerSlot||s!==t.walletId||c!==t.nearAccountId||!l||!u)throw Error(`Authenticated wallet activation requires an exact wallet signer binding`);return{kind:`authenticated_near_ed25519_wallet_profile_binding`,walletId:s,nearProjectionProfileId:r.value,nearAccountId:c,nearEd25519SigningKeyId:l,signerSlot:i.signerSlot,operationalPublicKey:u}}async function ye(e,t){return(await e.accountStore.getProfile(String(t)))?.nearProvisioning??null}async function be(e,t){let n=String(t.walletId||``).trim();if(!n)throw Error(`SeamsWalletDB: walletId is required`);let r=Date.now(),i=t.status===`near_ready`?{status:`near_ready`,updatedAtMs:r,nearAccountId:t.nearAccountId}:t.status===`near_failed_retryable`?{status:`near_failed_retryable`,updatedAtMs:r,error:t.errorCode,errorCode:t.errorCode}:{status:t.status,updatedAtMs:r};await e.accountStore.upsertProfile({profileId:n,nearProvisioning:i})}async function xe(e,t){let n=g(t.nearAccountId),r=s(t.walletId),i=v(t.signerSlot);if(!i)throw Error(`Authenticated wallet activation requires an exact signerSlot`);let a=await ve(e,{walletId:r,nearAccountId:n,signerSlot:i});await e.accountStore.setLastProfileStateForProfile(a.nearProjectionProfileId,a.signerSlot),e.userPreferencesManager.setCurrentWallet(a.walletId),await e.userPreferencesManager.reloadUserSettings().catch(()=>void 0),e.nonceCoordinator.initializeNearAccessKey({walletId:a.walletId,nearAccountId:a.nearAccountId,publicKey:a.operationalPublicKey}),t.nearClient&&e.nonceCoordinator.prefetchNearContext({kind:`initialized_state`,nearClient:t.nearClient}).catch(e=>console.debug(`Nonce prefetch after authentication state initialization failed (non-fatal):`,e))}async function Se(e,t){let n=Number(t.signerSlot);if(!Number.isSafeInteger(n)||n<1)throw Error(`SeamsWalletDB: authenticator signerSlot must be an integer >= 1`);let r={...t,nearAccountId:g(t.nearAccountId),signerSlot:n},i=await N(e,r.nearAccountId);if(!i?.profileId)throw Error(`SeamsWalletDB: Missing profile/account mapping for NEAR account ${r.nearAccountId}`);await e.accountStore.upsertProfileAuthenticator({profileId:i.profileId,signerSlot:r.signerSlot,credentialId:r.credentialId,credentialPublicKey:r.credentialPublicKey,transports:r.transports,name:r.name,registered:r.registered,syncedAt:r.syncedAt})}function Ce(e){let t=String(e).trim();return h(t)||t.split(`.`)[0]||``}function F(e){let t=Date.now();return{version:`wallet_auth_method_v1`,kind:`passkey`,status:`active`,localStatus:`synced`,walletId:e.walletId,rpId:e.rpId,credentialIdB64u:e.credentialId,credentialPublicKeyB64u:n(e.credentialPublicKey),counter:0,createdAtMs:t,updatedAtMs:t}}async function I(e){let n=String(e.walletId||``).trim(),r=String(e.email||``).trim().toLowerCase(),i=String(e.registrationAuthorityId||``).trim();if(!n||!r||!i)throw Error(`SeamsWalletDB: Email OTP auth method requires walletId, email, and registrationAuthorityId`);let a=await t(r);if(String(e.authority.walletId)!==n||e.authority.verifier.emailHashHex!==a)throw Error(`SeamsWalletDB: Email OTP auth method authority does not match wallet or email`);let o=Date.now();return{version:`wallet_auth_method_v1`,kind:`email_otp`,status:`active`,localStatus:`synced`,walletId:e.walletId,emailHashHex:a,registrationAuthorityId:i,authority:e.authority,createdAtMs:o,updatedAtMs:o}}async function we(e,t){let n=g(t),r=await N(e,n);r?.profileId&&await e.accountStore.deleteProfileData(r.profileId,{eventAccountId:n})}async function Te(e,t){return(await P(e,g(t))).length>0}function Ee(e){let t=e.activation.signer.metadata||{},n=e.activation.signer.signerKind,r=n===o.thresholdEcdsa?X(t.thresholdEcdsaPublicKeyB64u,`ECDSA key material publicKey`):X(t.operationalPublicKey,`Ed25519 key material publicKey`),i={profileId:X(e.activation.account.profileId,`profileId`),signerSlot:e.signerSlot,chainIdKey:X(e.activation.account.chainIdKey,`chainIdKey`),accountAddress:X(e.activation.account.accountAddress,`accountAddress`),signerId:X(e.activation.signer.signerId,`signerId`),keyKind:`threshold_share_v1`,algorithm:n===o.thresholdEcdsa?`secp256k1`:`ed25519`,publicKey:r,timestamp:e.timestamp,schemaVersion:1};return n===o.thresholdEd25519&&(i.payload={walletId:X(t.walletId,`walletId`),nearAccountId:X(t.nearAccountId,`nearAccountId`),nearEd25519SigningKeyId:X(t.nearEd25519SigningKeyId,`nearEd25519SigningKeyId`),relayerKeyId:X(t.relayerKeyId,`relayerKeyId`),keyVersion:X(t.keyVersion,`keyVersion`)}),i}function De(e){switch(e.mode.kind){case`fresh_registration`:return{mode:`fail_if_occupied`,signerSlot:e.signerSlot};case`wallet_recovery_replacement`:return{mode:`replace_slot`,signerSlot:e.signerSlot,replacedSignerKind:o.thresholdEd25519,revocationReason:`wallet_recovery_replacement`}}}function Oe(e){switch(e.mode.kind){case`fresh_registration`:return{mode:`allocate_next_free`};case`wallet_recovery_replacement`:return{mode:`replace_profile_chain_kind`,signerSlot:e.signerSlot,replacedSignerKind:o.thresholdEcdsa,revocationReason:`wallet_recovery_replacement`}}}function L(e){let t=Number(e.signerSlot);if(!Number.isSafeInteger(t)||t<1)throw Error(`SeamsWalletDB: wallet signerSlot must be an integer >= 1`);let n=String(e.walletId||``).trim();if(!n)throw Error(`SeamsWalletDB: walletId is required`);let r=g(e.nearAccountId),i=String(e.nearEd25519SigningKeyId||``).trim();if(!i)throw Error(`SeamsWalletDB: nearEd25519SigningKeyId is required`);return{signerSlot:t,walletId:n,nearAccountId:r,nearEd25519SigningKeyId:i}}function R(e,t,n){return{walletId:e.walletId,nearAccountId:String(e.nearAccountId),nearEd25519SigningKeyId:e.nearEd25519SigningKeyId,operationalPublicKey:t.operationalPublicKey,relayerKeyId:t.relayerKeyId,keyVersion:t.keyVersion,...n,...t.participantIds?{participantIds:t.participantIds}:{},...t.clientParticipantId==null?{}:{clientParticipantId:t.clientParticipantId},...t.relayerParticipantId==null?{}:{relayerParticipantId:t.relayerParticipantId}}}function z(e){let t=X(e.operationalPublicKey,`Ed25519 signerId`),{signerSlot:n,walletId:r,nearAccountId:i}=e.identity,a=r=>({input:{account:r,signer:{signerId:t,signerType:`threshold`,signerKind:o.thresholdEd25519,signerAuthMethod:e.source.signerAuthMethod,signerSource:e.source.signerSource,metadata:e.metadata},activationPolicy:e.activationPolicy,preferredSlot:n,mutation:{routeThroughOutbox:!1}},signerSlot:n});return[a({profileId:r,chainIdKey:`wallet`,accountAddress:r,accountModel:`wallet`}),a({profileId:e.nearProfileId,chainIdKey:S(i),accountAddress:u(i),accountModel:`near-native`})]}function B(e){let t=e.map(e=>e.input),n=Date.now();return{signerActivations:t,keyMaterials:e.map(e=>Ee({activation:e.input,signerSlot:e.signerSlot,timestamp:n}))}}function V(e,t,n,r){return t.kind===`near_ed25519_and_evm_family_ecdsa`?Q({walletId:e,walletKeys:t.walletKeys},n,r).signerActivations:[]}function H(e,t){return{chainTarget:e.chainTarget,targetKey:e.targetKey,signerSlot:t.signerSlot,signerId:e.signerId}}function ke(e,t,n){let r=String(e.credential.rawId||``).trim();if(!r)throw Error(`SeamsWalletDB: registration credential rawId is required`);let i=e.participantIds===void 0?void 0:Z(e.participantIds);return U({walletId:e.walletId,nearAccountId:e.nearAccountId,nearEd25519SigningKeyId:e.nearEd25519SigningKeyId,rpId:e.rpId,signerSlot:e.signerSlot,operationalPublicKey:e.operationalPublicKey,relayerKeyId:e.relayerKeyId,keyVersion:e.keyVersion,participantIds:i,clientParticipantId:e.clientParticipantId,relayerParticipantId:e.relayerParticipantId,credentialFacts:{credentialId:r,credentialDisplayId:e.credential.id,credentialPublicKey:M(e.credentialPublicKeyB64u,`credentialPublicKeyB64u`),transports:e.credential.response?.transports??[]}},t,n)}function U(e,t,n){let r=e.credentialFacts.credentialId,i=L(e),{signerSlot:a,walletId:o,nearAccountId:s}=i,c={id:e.credentialFacts.credentialDisplayId,rawId:r},l=new Date().toISOString(),u=f(s),{signerActivations:d,keyMaterials:p}=B([...z({identity:i,nearProfileId:u,operationalPublicKey:e.operationalPublicKey,source:A,metadata:R(i,e,{passkeyCredentialId:e.credentialFacts.credentialDisplayId,passkeyCredentialRawId:r}),activationPolicy:De({mode:t,signerSlot:a})}),...V(e.walletId,n,A,t)]);return{profiles:[o,u].map(e=>({profileId:e,defaultSignerSlot:a,passkeyCredential:c})),initialAuthMethod:F({walletId:e.walletId,rpId:e.rpId,credentialId:r,credentialPublicKey:e.credentialFacts.credentialPublicKey}),authenticators:[o,u].map(t=>({profileId:t,signerSlot:a,credentialId:r,credentialPublicKey:e.credentialFacts.credentialPublicKey,transports:[...e.credentialFacts.transports],name:`Passkey for ${Ce(s)}`,registered:l,syncedAt:l})),signerActivations:d,keyMaterials:p,lastProfileState:{profileId:o,activeSignerSlot:a}}}function Ae(e,t){let n=e.signerActivations[1];if(!n)throw Error(`SeamsWalletDB: wallet Ed25519 registration batch did not complete`);let r=[];for(let n=0;n<t.length;n+=1){let i=t[n],a=e.signerActivations[n+2];if(!i||!a)throw Error(`SeamsWalletDB: mixed wallet ECDSA registration batch did not complete`);r.push(H(i,a))}return{signerSlot:n.signerSlot,storedSigners:r}}function je(e){return W(ke(e,{kind:`fresh_registration`},{kind:`near_ed25519_only`}),e,e.participantIds,[e.custodyMaterial])}function Me(e){let t=String(e.credentialIdB64u||``).trim();if(!t)throw Error(`SeamsWalletDB: registration credential projection id is required`);return W(U({walletId:e.walletId,nearAccountId:e.nearAccountId,nearEd25519SigningKeyId:e.nearEd25519SigningKeyId,rpId:e.rpId,signerSlot:e.signerSlot,operationalPublicKey:e.operationalPublicKey,relayerKeyId:e.relayerKeyId,keyVersion:e.keyVersion,participantIds:e.participantIds,credentialFacts:{credentialId:t,credentialDisplayId:t,credentialPublicKey:M(e.credentialPublicKeyB64u,`credentialPublicKeyB64u`),transports:[...e.transports]}},{kind:`fresh_registration`},{kind:`near_ed25519_only`}),e,e.participantIds,[e.custodyMaterial])}function W(e,t,n,r){let i=g(t.nearAccountId),a=r.map(e=>{let r=e.binding;if(r.walletId!==String(t.walletId)||r.nearAccountId!==String(i)||r.nearEd25519SigningKeyId!==String(t.nearEd25519SigningKeyId)||r.signerSlot!==Number(t.signerSlot)||r.participantIds[0]!==n[0]||r.participantIds[1]!==n[1])throw Error(`Wallet custody Ed25519 material does not match registration identity`);return O({target:{profileId:String(f(i)),chainIdKey:S(i),accountAddress:u(i)},binding:r,sealed:e.sealed})}),o=e.lastProfileState;if(!o)throw Error(`Wallet Ed25519 registration publication requires last profile state`);return{profiles:e.profiles,initialAuthMethod:e.initialAuthMethod,authenticators:e.authenticators,signerActivations:e.signerActivations,keyMaterials:[...e.keyMaterials,...a],lastProfileState:{profileId:o.profileId,activeSignerSlot:o.activeSignerSlot,scope:o.scope??null}}}function G(e){let t=e[0];if(!t)throw Error(`SeamsWalletDB: threshold ECDSA walletKeys are required`);return[t,...e.slice(1)]}function Ne(e){switch(e){case`email_otp`:return j;case`passkey`:return A;default:return Pe(e)}}function Pe(e){throw Error(`Unsupported wallet ECDSA registration kind: ${String(e)}`)}async function K(e,t){let{signerActivations:n,keyMaterials:r}=B(Q({walletId:e.walletId,walletKeys:e.walletKeys},Ne(e.kind),t).signerActivations);switch(e.kind){case`passkey`:{let t=X(e.credentialIdB64u,`credentialIdB64u`),i=M(e.credentialPublicKeyB64u,`credentialPublicKeyB64u`),a=new Date().toISOString();return{profiles:[{profileId:e.walletId,defaultSignerSlot:1,passkeyCredential:{id:t,rawId:t}}],initialAuthMethod:F({walletId:e.walletId,rpId:e.rpId,credentialId:t,credentialPublicKey:i}),authenticators:[{profileId:e.walletId,signerSlot:1,credentialId:t,credentialPublicKey:i,transports:[...e.transports],name:`Passkey for wallet`,registered:a,syncedAt:a}],signerActivations:n,keyMaterials:r,lastProfileState:{profileId:e.walletId,activeSignerSlot:1,scope:null}}}case`email_otp`:return{profiles:[{profileId:e.walletId,defaultSignerSlot:1}],initialAuthMethod:await I({walletId:e.walletId,email:e.email,registrationAuthorityId:e.registrationAuthorityId,authority:e.authority}),authenticators:[],signerActivations:n,keyMaterials:r,lastProfileState:{profileId:e.walletId,activeSignerSlot:1,scope:null}}}}function q(e){return K(e,{kind:`fresh_registration`})}async function Fe(e){let t=X(e.credentialIdB64u,`credentialIdB64u`);return e.kind===`near_ed25519`?W(U({walletId:e.walletId,nearAccountId:e.nearAccountId,nearEd25519SigningKeyId:e.nearEd25519SigningKeyId,rpId:e.rpId,signerSlot:e.signerSlot,operationalPublicKey:e.operationalPublicKey,relayerKeyId:e.relayerKeyId,keyVersion:y,participantIds:Z(e.participantIds),credentialFacts:{credentialId:t,credentialDisplayId:t,credentialPublicKey:M(e.credentialPublicKeyB64u,`credentialPublicKeyB64u`),transports:e.transports}},{kind:`wallet_recovery_replacement`},e.walletKeys.length>0?{kind:`near_ed25519_and_evm_family_ecdsa`,walletKeys:e.walletKeys}:{kind:`near_ed25519_only`}),e,Z(e.participantIds),e.custodyMaterials):await K({kind:`passkey`,walletId:e.walletId,rpId:e.rpId,credentialIdB64u:t,credentialPublicKeyB64u:e.credentialPublicKeyB64u,transports:e.transports,walletKeys:G(e.walletKeys)},{kind:`wallet_recovery_replacement`})}async function Ie(e){return e.kind===`near_ed25519`?W(await Y({walletId:e.walletId,nearAccountId:e.nearAccountId,nearEd25519SigningKeyId:e.nearEd25519SigningKeyId,email:e.email,registrationAuthorityId:e.registrationAuthorityId,authority:e.authority,signerSlot:e.signerSlot,operationalPublicKey:e.operationalPublicKey,relayerKeyId:e.relayerKeyId,keyVersion:y,participantIds:Z(e.participantIds)},e.walletKeys.length>0?{kind:`near_ed25519_and_evm_family_ecdsa`,walletKeys:e.walletKeys}:{kind:`near_ed25519_only`},{kind:`wallet_recovery_replacement`}),e,Z(e.participantIds),e.custodyMaterials):await K({kind:`email_otp`,walletId:e.walletId,email:e.email,registrationAuthorityId:e.registrationAuthorityId,authority:e.authority,walletKeys:G(e.walletKeys)},{kind:`wallet_recovery_replacement`})}async function J(e,t,n,r){let i=ke(t,n,r);return Ae(await e.accountStore.persistWalletRegistrationFinalize(i),V(t.walletId,r,A))}async function Le(e,t){return{signerSlot:(await J(e,t,{kind:`fresh_registration`},{kind:`near_ed25519_only`})).signerSlot}}async function Re(e,t){return await J(e,t,{kind:`fresh_registration`},{kind:`near_ed25519_and_evm_family_ecdsa`,walletKeys:t.walletKeys})}async function ze(e,t){return{signerSlot:(await J(e,t,{kind:`wallet_recovery_replacement`},{kind:`near_ed25519_only`})).signerSlot}}async function Y(e,t,n={kind:`fresh_registration`}){let r=L(e),{signerSlot:i,walletId:a,nearAccountId:o}=r,s=f(o),{signerActivations:c,keyMaterials:l}=B([...z({identity:r,nearProfileId:s,operationalPublicKey:e.operationalPublicKey,source:j,metadata:R(r,e,{email:String(e.email||``).trim().toLowerCase(),registrationAuthorityId:String(e.registrationAuthorityId||``).trim()}),activationPolicy:De({mode:n,signerSlot:i})}),...V(e.walletId,t,j,n)]);return{profiles:[a,s].map(e=>({profileId:e,defaultSignerSlot:i})),initialAuthMethod:await I({walletId:e.walletId,email:e.email,registrationAuthorityId:e.registrationAuthorityId,authority:e.authority}),authenticators:[],signerActivations:c,keyMaterials:l,lastProfileState:{profileId:a,activeSignerSlot:i}}}async function Be(e,t,n){let r=await Y(t,n),i=await e.accountStore.persistWalletRegistrationFinalize(r),a=V(t.walletId,n,j),o=i.signerActivations[1];if(!o)throw Error(`SeamsWalletDB: wallet Email OTP Ed25519 registration batch did not complete`);let s=[];for(let e=0;e<a.length;e+=1){let t=a[e],n=i.signerActivations[e+2];if(!t||!n)throw Error(`SeamsWalletDB: mixed wallet Email OTP ECDSA registration batch did not complete`);s.push(H(t,n))}return{signerSlot:o.signerSlot,storedSigners:s}}async function Ve(e){return W(await Y(e,{kind:`near_ed25519_only`}),e,e.participantIds,[e.custodyMaterial])}async function He(e,t){return{signerSlot:(await Be(e,t,{kind:`near_ed25519_only`})).signerSlot}}async function Ue(e,t){return Be(e,t,{kind:`near_ed25519_and_evm_family_ecdsa`,walletKeys:t.walletKeys})}async function We(e,t){let n=String(t.auth.credential.rawId||t.auth.credential.id||``).trim();if(!n)throw Error(`SeamsWalletDB: add-signer credential id is required`);let r=L(t),{signerSlot:i,walletId:a,nearAccountId:o}=r,s={id:t.auth.credential.id,rawId:n},c=f(o),{signerActivations:l,keyMaterials:u}=B(z({identity:r,nearProfileId:c,operationalPublicKey:t.operationalPublicKey,source:A,metadata:R(r,t,{passkeyCredentialId:t.auth.credential.id,passkeyCredentialRawId:n}),activationPolicy:{mode:`fail_if_occupied`,signerSlot:i}})),d=await e.accountStore.persistWalletSignerFinalize({profiles:[a,c].map(e=>({profileId:e,defaultSignerSlot:i,passkeyCredential:s})),signerActivations:l,keyMaterials:u,lastProfileState:{profileId:a,activeSignerSlot:i}}),p=d.signerActivations[1];if(!p)throw Error(`SeamsWalletDB: wallet Ed25519 signer batch did not complete`);return{signerSlot:p.signerSlot,rollbackReceipt:d.rollbackReceipt}}async function Ge(e,t){await e.accountStore.rollbackWalletSignerFinalize(t)}function X(e,t){let n=String(e||``).trim();if(!n)throw Error(`SeamsWalletDB: ${t} is required`);return n}function Z(e){if(e.length!==2||e.some(e=>!Number.isSafeInteger(e)||e<1))throw Error(`SeamsWalletDB: Ed25519 participantIds must contain two positive integers`);return[e[0],e[1]]}function Ke(e){if(!Array.isArray(e)||e.length!==2||e[0]!==1||e[1]!==2)throw Error(`SeamsWalletDB: threshold ECDSA participantIds must be [1, 2]`);return[1,2]}function Q(e,t=A,n={kind:`fresh_registration`}){let r=X(e.walletId,`walletId`);if(!Array.isArray(e.walletKeys)||e.walletKeys.length===0)throw Error(`SeamsWalletDB: threshold ECDSA walletKeys are required`);let i=[];for(let a of e.walletKeys){if(a.keyScope!==`evm-family`)throw Error(`SeamsWalletDB: threshold ECDSA wallet keyScope must be evm-family`);let e=X(a.walletId,`wallet key walletId`);if(e!==r)throw Error(`SeamsWalletDB: threshold ECDSA wallet key walletId mismatch`);let s=X(a.keyHandle,`wallet key keyHandle`),d=X(a.ecdsaThresholdKeyId,`wallet key ecdsaThresholdKeyId`),f=X(a.signingRootId,`wallet key signingRootId`),p=X(a.signingRootVersion,`wallet key signingRootVersion`),m=X(a.relayerKeyId,`wallet key relayerKeyId`),h=X(a.thresholdEcdsaPublicKeyB64u,`wallet key thresholdEcdsaPublicKeyB64u`),g=Ke(a.participantIds),_=u(a.thresholdOwnerAddress);if(!_)throw Error(`SeamsWalletDB: wallet key thresholdOwnerAddress is required`);let v=l(a.chainTarget),y=c(a.chainTarget);i.push({chainTarget:a.chainTarget,targetKey:y,signerId:_,signerSlot:1,input:{account:{profileId:e,chainIdKey:v,accountAddress:_,accountModel:k},signer:{signerId:_,signerType:`threshold`,signerKind:o.thresholdEcdsa,signerAuthMethod:t.signerAuthMethod,signerSource:t.signerSource,metadata:{accountModel:k,accountAddress:_,ownerAddress:_,thresholdOwnerAddress:_,keyScope:a.keyScope,keyHandle:s,walletId:e,ecdsaThresholdKeyId:d,signingRootId:f,signingRootVersion:p,relayerKeyId:m,relayerVerifyingShareB64u:X(a.relayerVerifyingShareB64u,`wallet key relayerVerifyingShareB64u`),publicCapability:a.publicCapability,roleLocalMaterialRef:a.roleLocalMaterialRef,ecdsaRoleLocalPublicFacts:a.ecdsaRoleLocalPublicFacts,thresholdEcdsaPublicKeyB64u:h,participantIds:g,chainTarget:a.chainTarget,targetMembership:{targetKey:y,chainTarget:a.chainTarget},sharedEvmFamilyKey:{walletId:e,keyScope:a.keyScope,keyHandle:s,ecdsaThresholdKeyId:d,signingRootId:f,signingRootVersion:p,participantIds:g,thresholdOwnerAddress:_,thresholdEcdsaPublicKeyB64u:h},chainId:a.chainTarget.chainId}},activationPolicy:Oe({mode:n,signerSlot:1}),preferredSlot:1,mutation:{routeThroughOutbox:!1}}})}return{walletId:r,signerActivations:i}}function $(e,t){return e.accountStore.persistWalletSignerFinalize({profiles:[{profileId:t.walletId}],...B(t.signerActivations)})}async function qe(e,t){let n=Q(t),r=await $(e,n);return{storedSigners:n.signerActivations.map((e,t)=>{let n=r.signerActivations[t];if(!n)throw Error(`SeamsWalletDB: wallet ECDSA signer batch did not complete`);return H(e,n)})}}async function Je(e,t){let n=Q(t,A,{kind:`wallet_recovery_replacement`}),r=await $(e,n);return{storedSigners:n.signerActivations.map((e,t)=>{let n=r.signerActivations[t];if(!n)throw Error(`SeamsWalletDB: wallet recovery ECDSA signer batch did not complete`);return H(e,n)})}}async function Ye(e,t){let n=Q(t,j),r=await $(e,n);return{storedSigners:n.signerActivations.map((e,t)=>{let n=r.signerActivations[t];if(!n)throw Error(`SeamsWalletDB: wallet Email OTP ECDSA signer batch did not complete`);return H(e,n)})}}async function Xe(e,t){let n=String(t.credential.rawId||``).trim();if(!n)throw Error(`SeamsWalletDB: registration credential rawId is required`);let r=Q({walletId:t.walletId,walletKeys:t.walletKeys}),i=await q({kind:`passkey`,walletId:t.walletId,rpId:t.rpId,credentialIdB64u:n,credentialPublicKeyB64u:t.credentialPublicKeyB64u,transports:t.credential.response?.transports??[],walletKeys:G(t.walletKeys)}),a=await e.accountStore.persistWalletRegistrationFinalize(i);return{storedSigners:r.signerActivations.map((e,t)=>{let n=a.signerActivations[t];if(!n)throw Error(`SeamsWalletDB: wallet ECDSA registration batch did not complete`);return H(e,n)})}}async function Ze(e,t){let n=Q({walletId:t.walletId,walletKeys:t.walletKeys},j),r=await q({kind:`email_otp`,walletId:t.walletId,email:t.email,registrationAuthorityId:t.registrationAuthorityId,authority:t.authority,walletKeys:G(t.walletKeys)}),i=await e.accountStore.persistWalletRegistrationFinalize(r);return{storedSigners:n.signerActivations.map((e,t)=>{let n=i.signerActivations[t];if(!n)throw Error(`SeamsWalletDB: wallet Email OTP ECDSA registration batch did not complete`);return H(e,n)})}}export{Re as A,qe as C,Ye as D,Ze as E,ie as F,w as I,T as M,D as N,He as O,O as P,Je as S,Le as T,Ge as _,ue as a,Se as b,Te as c,Me as d,je as f,we as g,Fe as h,ce as i,E as j,Ue as k,P as l,Ie as m,Xe as n,le as o,Ve as p,We as r,ye as s,xe as t,q as u,me as v,ze as w,se as x,be as y};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{h as e}from"./digests-BIaE0DMd.js";let t=function(e){return e.CreateAccount=`CreateAccount`,e.DeployContract=`DeployContract`,e.FunctionCall=`FunctionCall`,e.Transfer=`Transfer`,e.Stake=`Stake`,e.AddKey=`AddKey`,e.DeleteKey=`DeleteKey`,e.DeleteAccount=`DeleteAccount`,e.SignedDelegate=`SignedDelegate`,e.DeployGlobalContract=`DeployGlobalContract`,e.UseGlobalContract=`UseGlobalContract`,e}({});function n(t){return e(t)&&`action_type`in t}function r(e){switch(e.type){case t.Transfer:return{action_type:t.Transfer,deposit:e.amount};case t.FunctionCall:return{action_type:t.FunctionCall,method_name:e.methodName,args:JSON.stringify(e.args),gas:e.gas||`30000000000000`,deposit:e.deposit||`0`};case t.AddKey:{let n=e.accessKey.permission,r=n===`FullAccess`?{FullAccess:{}}:n;return{action_type:t.AddKey,public_key:e.publicKey,access_key:JSON.stringify({nonce:e.accessKey.nonce||0,permission:r})}}case t.DeleteKey:return{action_type:t.DeleteKey,public_key:e.publicKey};case t.CreateAccount:return{action_type:t.CreateAccount};case t.DeleteAccount:return{action_type:t.DeleteAccount,beneficiary_id:e.beneficiaryId};case t.DeployContract:return{action_type:t.DeployContract,code:typeof e.code==`string`?Array.from(new TextEncoder().encode(e.code)):Array.from(e.code)};case t.DeployGlobalContract:return{action_type:t.DeployGlobalContract,code:typeof e.code==`string`?Array.from(new TextEncoder().encode(e.code)):Array.from(e.code),deploy_mode:e.deployMode};case t.UseGlobalContract:return{action_type:t.UseGlobalContract,account_id:e.accountId,code_hash:e.codeHash};case t.Stake:return{action_type:t.Stake,stake:e.stake,public_key:e.publicKey};default:throw Error(`Action type ${e.type} is not supported`)}}function i(e){switch(e.action_type){case t.FunctionCall:if(!e.method_name)throw Error(`method_name required for FunctionCall`);if(!e.args)throw Error(`args required for FunctionCall`);if(!e.gas)throw Error(`gas required for FunctionCall`);if(!e.deposit)throw Error(`deposit required for FunctionCall`);if(typeof e.args!=`string`)throw Error(`FunctionCall action args must be a valid JSON string`);try{JSON.parse(e.args)}catch{throw Error(`FunctionCall action args must be valid JSON string`)}break;case t.Transfer:if(!e.deposit)throw Error(`deposit required for Transfer`);break;case t.CreateAccount:break;case t.DeployContract:if(!e.code||e.code.length===0)throw Error(`code required for DeployContract`);break;case t.Stake:if(!e.stake)throw Error(`stake amount required for Stake`);if(!e.public_key)throw Error(`public_key required for Stake`);break;case t.AddKey:if(!e.public_key)throw Error(`public_key required for AddKey`);if(!e.access_key)throw Error(`access_key required for AddKey`);if(typeof e.access_key!=`string`)throw Error(`AddKey action access_key must be a valid JSON string`);try{JSON.parse(e.access_key)}catch{throw Error(`AddKey action access_key must be valid JSON string`)}break;case t.DeleteKey:if(!e.public_key)throw Error(`public_key required for DeleteKey`);break;case t.DeleteAccount:if(!e.beneficiary_id)throw Error(`beneficiary_id required for DeleteAccount`);break;case t.SignedDelegate:if(!e.delegate_action||typeof e.delegate_action!=`object`)throw Error(`delegate_action required for SignedDelegate`);if(!e.signature||typeof e.signature!=`object`)throw Error(`signature required for SignedDelegate`);break;case t.DeployGlobalContract:if(!e.code||e.code.length===0)throw Error(`code required for DeployGlobalContract`);if(!e.deploy_mode||e.deploy_mode!==`CodeHash`&&e.deploy_mode!==`AccountId`)throw Error(`deploy_mode must be CodeHash or AccountId for DeployGlobalContract`);break;case t.UseGlobalContract:if(!!e.account_id==!!e.code_hash)throw Error(`UseGlobalContract requires exactly one of account_id or code_hash`);break;default:throw Error(`Unsupported action type: ${e.action_type}`)}}function a(n){switch(n.action_type){case t.FunctionCall:{let e={};try{e=typeof n.args==`string`?n.args?JSON.parse(n.args):{}:n.args||{}}catch{e={}}return{type:t.FunctionCall,methodName:n.method_name,args:e,gas:n.gas,deposit:n.deposit}}case t.Transfer:return{type:t.Transfer,amount:n.deposit};case t.CreateAccount:return{type:t.CreateAccount};case t.DeployContract:return{type:t.DeployContract,code:Array.isArray(n.code)?new Uint8Array(n.code):new Uint8Array};case t.DeployGlobalContract:return{type:t.DeployGlobalContract,code:Array.isArray(n.code)?new Uint8Array(n.code):new Uint8Array,deployMode:n.deploy_mode};case t.Stake:return{type:t.Stake,stake:n.stake,publicKey:n.public_key};case t.AddKey:{let r;try{r=JSON.parse(n.access_key)}catch{r={nonce:BigInt(0),permission:`FullAccess`}}let i=r?.permission,a=`FullAccess`;if(e(i)){if(`FullAccess`in i)a=`FullAccess`;else if(`FunctionCall`in i){let e=i.FunctionCall;a={FunctionCall:{allowance:e.allowance,receiver_id:e.receiver_id,method_names:e.method_names}}}}return{type:t.AddKey,publicKey:n.public_key,accessKey:{nonce:typeof r?.nonce==`number`?r.nonce:0,permission:a}}}case t.DeleteKey:return{type:t.DeleteKey,publicKey:n.public_key};case t.DeleteAccount:return{type:t.DeleteAccount,beneficiaryId:n.beneficiary_id};case t.UseGlobalContract:return{type:t.UseGlobalContract,accountId:n.account_id,codeHash:n.code_hash};default:throw Error(`Unsupported wasm action_type: ${n?.action_type}`)}}function o(e){return{receiverId:e.receiverId,actions:e.actions.map(a)}}function s(e){return(e||[]).map(o)}export{r as a,n as i,a as n,i as o,s as r,t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{A as e,B as t,E as n,M as r,N as i,O as a,T as o,d as s,f as c,g as ee,i as l,k as u,u as d}from"./domainIds-t1lp25yU.js";import{S as f}from"./digests-BIaE0DMd.js";import{i as te,r as ne}from"./base64-BmKR3UqU.js";import{d as re,h as ie,l as ae,m as oe}from"./capabilityKinds-DVlGMspk.js";import{r as p}from"./canonicalPrimitives-Jd3i_Ngz.js";function m(e,n){let r=t(n);if(!r)throw Error(`${e} is required`);return r}function h(e){return`${m(`projectId`,e.projectId)}:${m(`envId`,e.envId)}`}function g(e){let t=_(e);return{...t,signingRootVersion:m(`signingRootVersion`,t.signingRootVersion)}}function _(e){if(!e||typeof e!=`object`||Array.isArray(e))throw Error(`runtimePolicyScope must be an object`);let n=e;if(Object.prototype.hasOwnProperty.call(n,`environmentId`))throw Error(`runtimePolicyScope.environmentId is stale; use envId`);if(Object.prototype.hasOwnProperty.call(n,`runtimeSnapshotScope`))throw Error(`runtimePolicyScope.runtimeSnapshotScope is stale; use runtimePolicyScope`);return{orgId:m(`orgId`,n.orgId),projectId:m(`projectId`,n.projectId),envId:m(`envId`,n.envId),...t(n.signingRootVersion)?{signingRootVersion:t(n.signingRootVersion)}:{}}}function se(e,t){return e.orgId===t.orgId&&e.projectId===t.projectId&&e.envId===t.envId&&e.signingRootVersion===t.signingRootVersion}function ce(e){return{signingRootId:h(e),signingRootVersion:m(`signingRootVersion`,e.signingRootVersion)}}const le=[`prf`,`kek`,`seed`,`scalar`,`secretkey`,`privatekey`,`plaintext`,`recoverycode`,`clientroot`,`holdershare`];function v(e,t,n,r=[]){let i=new Set(t),a=new Set(r);for(let t of Object.keys(e)){if(i.has(t))continue;if(a.has(t))throw Error(`${n}.${t} is not part of ${n}`);let e=t.toLowerCase().replace(/_/g,``);throw!e.includes(`publickey`)&&le.some(t=>e.includes(t))?Error(`${n}.${t} must never carry plaintext custody material`):Error(`${n}.${t} is not part of ${n}`)}}function y(e,t,n){let r=f(e,n);v(r,t,n);for(let e of t)if(!Object.prototype.hasOwnProperty.call(r,e)||r[e]===void 0)throw Error(`${n}.${e} is required`);return r}function b(...e){return Object.assign((t,n)=>{if(!e.includes(t))throw Error(`${n} is invalid`);return t},{literals:e})}function x(e,t){let n=Object.keys(e),r=[...n.filter(t=>`literals`in e[t]),...n.filter(t=>!(`literals`in e[t]))];return Object.assign((i,a)=>{let o=y(i,n,a),s=new Map;for(let t of r)s.set(t,e[t](o[t],`${a}.${t}`));let c=Object.fromEntries(n.map(e=>[e,s.get(e)]));return t?.(c,a),c},{shape:e})}function S(e,t){let n=new Map;for(let r of t)for(let t of r.shape[e].literals)n.set(t,r);return(t,r)=>{let i=f(t,r),a=n.get(i[e]);if(!a)throw Error(`${r}.${e} is invalid`);return a(i,r)}}function C(e){return(t,n)=>t===null?null:e(t,n)}function w(e){return(t,n)=>{let r=e(t);if(r.ok)return r.value;throw Error(`${n} ${r.error.message}`)}}function ue(e){return(t,n)=>{try{return e(t)}catch(e){throw Error(`${n} ${e instanceof Error?e.message:`is invalid`}`)}}}const de=Object.freeze([`export_keys`,`link_devices`,`revoke_devices`,`sign`]);Object.freeze([`sign`]);const fe=new Set([`export_keys`,`link_devices`,`revoke_devices`,`sign`]),pe=Symbol(`canonicalPermissionSetBrand`);var me=class e extends Array{[pe]=!0;constructor(e){super(...e),Object.freeze(this)}static create(t){return new e(t)}static get[Symbol.species](){return Array}};function he(e){return typeof e==`string`&&fe.has(e)}function T(e){if(!Array.isArray(e))return L(e==null?`delegated wallet permissions are required`:`delegated wallet permissions must be an array`);if(e.length===0)return L(`delegated wallet permissions must be non-empty`);let t=[],n=new Set;for(let r of e){if(!he(r))return L(`delegated wallet permission is unsupported`);if(n.has(r))return L(`delegated wallet permission ${r} is duplicated`);n.add(r),t.push(r)}return t.sort(P),{ok:!0,value:me.create(F(t))}}function E(e){return{kind:`delegated_wallet_authority_v1`,permissions:e.permissions}}function D(e){if(!I(e))return R(`delegated wallet authority must contain exactly kind and permissions`);if(e.kind!==`delegated_wallet_authority_v1`)return R(`delegated wallet authority kind is unsupported`);let t=T(e.permissions);return t.ok?{ok:!0,value:E({permissions:t.value})}:t}function O(){return N(de)}function k(){return E({permissions:O()})}function A(e,t){return e.permissions.includes(t)}function j(e){return Object.freeze([...e.permissions])}function M(e,t){if(e.kind!==t.kind||e.permissions.length!==t.permissions.length)return!1;for(let n=0;n<e.permissions.length;n+=1)if(e.permissions[n]!==t.permissions[n])return!1;return!0}function N(e){let t=T(e);if(!t.ok)throw Error(t.error.message);return t.value}function P(e,t){return e<t?-1:e>t?1:0}function F(e){let[t,...n]=e;if(!t)throw Error(`delegated wallet permissions must be non-empty`);return[t,...n]}function I(e){if(typeof e!=`object`||!e||Array.isArray(e))return!1;let t=Object.keys(e);return t.length===2&&t.includes(`kind`)&&t.includes(`permissions`)}function L(e){return{ok:!1,error:{code:`invalid`,message:e}}}function R(e){return{ok:!1,error:{code:`invalid`,message:e}}}const ge=/^[A-Za-z0-9_-]+$/;function z(e,t){if(typeof e!=`string`||!ge.test(e))throw Error(`${t} must be unpadded base64url`);let n;try{n=ne(e)}catch{throw Error(`${t} must be valid base64url`)}if(te(n)!==e)throw Error(`${t} must be canonical base64url`);return n}function _e(e,t){if(e.ok)return e.value;throw Error(`${t} ${e.error.message}`)}function ve(e,t){try{return p(e)}catch(e){throw Error(`${t} ${e instanceof Error?e.message:`is not a digest`}`)}}function ye(e,t=`nonceB64u`){if(z(e,t).length!==12)throw Error(`${t} must decode to a 12-byte ChaCha20Poly1305 nonce`);return e}function be(e,t=`ciphertextB64u`){if(z(e,t).length<17)throw Error(`${t} must decode to sealed ciphertext with an authentication tag`);return e}function xe(e,t=`registeredPublicKeyB64u`){if(z(e,t).length!==32)throw Error(`${t} must decode to a 32-byte Ed25519 public key`);return e}function Se(e,t=`publicKey33B64u`){let n=z(e,t);if(n.length!==33)throw Error(`${t} must decode to a 33-byte compressed secp256k1 point`);if(n[0]!==2&&n[0]!==3)throw Error(`${t} must be a compressed secp256k1 public key`);return e}function Ce(e,t=`keyCreationSignerSlot`){if(typeof e!=`number`||!Number.isSafeInteger(e)||e<=0||e>4294967295)throw Error(`${t} must be a positive u32`);return e}function we(e,t=`envelopeRevision`){if(typeof e!=`number`||!Number.isSafeInteger(e)||e<=0)throw Error(`${t} must be a positive integer revision`);return e}function B(e,t){if(typeof e!=`number`||!Number.isSafeInteger(e)||e<=0)throw Error(`${t} must be a positive unix-millisecond timestamp`);return e}const Te=w(d),V=w(u),Ee=w(s),De=w(c),Oe=w(ae),ke=w(e),H=w(ie),U=w(oe),W=w(n),G=w(a),Ae=w(r),je=w(i),Me=w(re),Ne=w(ee),K=ue(p),Pe=C(Y);function q(e){return(t,n)=>e(t,n.slice(n.lastIndexOf(`.`)+1))}function J(e,t){try{return B(e,t)}catch(e){throw Error(e instanceof Error?e.message:`${t} is invalid`)}}function Y(e,t){if(typeof e!=`string`||e.length===0||e.trim()!==e)throw Error(`${t} must be a non-empty canonical string`);for(let n of e){let e=n.charCodeAt(0);if(/\s/.test(n)||e<=31||e===127)throw Error(`${t} must not contain whitespace or control characters`)}return e}function X(e,t){if(!Number.isSafeInteger(e)||Number(e)<0)throw Error(`${t} must be a non-negative safe integer`);return Number(e)}function Fe(e,t){let n=D(e);if(!n.ok)throw Error(`${t}: ${n.error.message}`);return n.value}function Ie(e,t){let n=o(e);if(!n.ok)throw Error(`${t} ${n.error.message}`);return n.value}function Le(e,t){if(e.kind!==t.kind||e.walletId!==t.walletId||e.authorityId!==t.authorityId||e.authMethodId!==t.authMethodId||e.authorizationId!==t.authorizationId||e.quotaId!==t.quotaId||e.authorityDigestB64u!==t.authorityDigestB64u||e.authorityRevocationEpoch!==t.authorityRevocationEpoch||e.issuedAtMs!==t.issuedAtMs||e.expiresAtMs!==t.expiresAtMs||e.capabilitySubjects.length!==t.capabilitySubjects.length)return!1;for(let n=0;n<e.capabilitySubjects.length;n+=1){let r=e.capabilitySubjects[n],i=t.capabilitySubjects[n];if(!r||!i||!Z(r,i))return!1}return!0}function Z(e,t){switch(e.kind){case`link_devices`:case`revoke_devices`:return t.kind===e.kind;case`sign`:case`export_keys`:return t.kind===e.kind&&t.keyFamily===e.keyFamily&&l(e.materialActivation,t.materialActivation);default:return!1}}function Re(e,t){for(let n of e.capabilitySubjects){let e=!1;for(let r of t.capabilitySubjects)if(Z(n,r)){e=!0;break}if(!e)return!1}return!0}const Q=S(`kind`,[x({kind:b(`direct`)}),x({kind:b(`regional`),region:b(`US`,`WEUR`,`APAC`,`OC`)})]);function $(e){return Q(e,`Wallet Session home`)}function ze(){return x({kind:b(`opaque_wallet_session_operation_credential_v1`),ownershipGeneration:X,home:$,token:(e,t)=>{if(typeof e!=`string`||e.length>8192)throw Error(`${t} is invalid`);return e},walletSessionId:q(H)},(e,t)=>{if(e.ownershipGeneration===0)throw Error(`${t} ownership generation must be positive`);if(!/^wst_[A-Za-z0-9_-]{43}$/.test(e.token))throw Error(`${t} opaque token is invalid`)})}function Be(e){return ze()(e,`WalletSessionOperationCredentialV1`)}function Ve(e){return e.kind===`sign`||e.kind===`export_keys`?`${e.kind}:${e.keyFamily}:${e.materialActivation.activationId}`:e.kind}function He(){return x({kind:b(`active_wallet_session_v1`),walletId:q(V),authorityId:q(G),authMethodId:q(W),authorizationId:q(U),quotaId:q(Me),authorityDigestB64u:q(K),authorityRevocationEpoch:q(X),capabilitySubjects:(e,t)=>{if(!Array.isArray(e)||e.length===0)throw Error(`${t} must be non-empty`);let n=[];for(let[t,r]of e.entries())n.push(We(r,`capabilitySubjects[${t}]`));let r=n[0];if(!r)throw Error(`${t} must be non-empty`);return[r,...n.slice(1)]},issuedAtMs:q(J),expiresAtMs:q(J)},(e,t)=>{let n=e.capabilitySubjects.map(Ve);if(new Set(n).size!==n.length)throw Error(`${t} capability subjects repeat`)})}function Ue(e){return He()(e,`ActiveWalletSessionV1`)}function We(e,t){let n=f(e,t);if(n.kind===`link_devices`||n.kind===`revoke_devices`)return v(n,[`kind`],t),{kind:n.kind};if(n.kind!==`sign`&&n.kind!==`export_keys`)throw Error(`${t}.kind is invalid`);if(v(n,[`kind`,`keyFamily`,`materialActivation`],t),n.keyFamily!==`ed25519`&&n.keyFamily!==`ecdsa_secp256k1`)throw Error(`${t}.keyFamily is invalid`);return{kind:n.kind,keyFamily:n.keyFamily,materialActivation:Ne(n.materialActivation,`${t}.materialActivation`)}}export{we as A,T as B,ke as C,xe as D,ve as E,E as F,w as G,b as H,k as I,v as J,S as K,O as L,Se as M,B as N,be as O,_e as P,ce as Q,j as R,V as S,H as T,C as U,M as V,x as W,g as X,h as Y,se as Z,J as _,Re as a,W as b,K as c,De as d,Pe as f,Ie as g,X as h,Be as i,Ce as j,ye as k,Ee as l,Y as m,Ue as n,Oe as o,Fe as p,y as q,$ as r,Ae as s,Le as t,q as u,je as v,U as w,G as x,Te as y,A as z};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{z as e}from"./domainIds-t1lp25yU.js";import{h as t,m as n,v as r}from"./digests-BIaE0DMd.js";import{r as i,t as a}from"./errors-DLUmUo9m.js";import{p as o}from"./nonceLaneKeys-CZjeiii7.js";import{u as s}from"./trace-BQv7E-bO.js";import{n as c}from"./NonceCoordinator-CcD2FqXh.js";import{t as l}from"./collectAuthenticationCredentialForChallengeB64u-DEtxiKND.js";import{o as u,t as d}from"./types-COS7UL3R.js";import{n as f,t as p}from"./confirmTypes-DmEPoxys.js";import{i as m,t as h}from"./confirm-ui-BpqwuMSl.js";function g(e){return e===`drawer`?`drawer`:`modal`}function _(e){return typeof e!=`number`||!Number.isFinite(e)?0:Math.max(0,Math.floor(e))}function v(e){if(e?.uiMode===`none`)return{kind:`silent`,uiMode:`none`};let t=g(e?.uiMode);return e?.behavior===`skipClick`?{kind:`auto_proceed`,uiMode:t,behavior:`skipClick`,autoProceedDelay:_(e.autoProceedDelay)}:{kind:`interactive`,uiMode:t,behavior:`requireClick`}}function y(){return{kind:`silent`,uiMode:`none`}}function b(e){throw Error(`Unsupported confirmation config: ${String(e.kind)}`)}function x(e){if(e.type!==f.SIGN_TRANSACTION)return;let t=e.payload;if(t.signingKind!==`transaction`)return;let{subject:n,operation:r,signatureUses:i}=t.nearFundingRequest;if(n.walletId!==t.walletId||n.nearAccountId!==t.rpcCall.nearAccountId||n.nearPublicKeyStr!==t.nearPublicKeyStr)throw Error(`Invalid secure confirm request: NEAR funding subject mismatch`);if(r.accountId!==n.nearAccountId)throw Error(`Invalid secure confirm request: NEAR funding operation account mismatch`);if(!Number.isInteger(i)||i<1)throw Error(`Invalid secure confirm request: invalid NEAR funding signature use count`)}function S(e){if(e.type!==f.SIGN_TRANSACTION&&e.type!==f.SIGN_NEP413_MESSAGE)return;let t=e.payload;if(t.prfOutput!==void 0)throw Error(`Invalid secure confirm request: forbidden signing payload field prfOutput`);if(t.wrapKeySeed!==void 0)throw Error(`Invalid secure confirm request: forbidden signing payload field wrapKeySeed`);if(t.wrapKeySalt!==void 0)throw Error(`Invalid secure confirm request: forbidden signing payload field wrapKeySalt`)}function C(e){switch(e.type){case f.SIGN_TRANSACTION:return A(e).rpcCall.nearAccountId;case f.SIGN_NEP413_MESSAGE:return e.payload.nearAccountId;case f.SIGN_INTENT_DIGEST:{let t=E(e);return t.kind===`near_wallet`?t.nearAccountId:``}case f.REGISTER_ACCOUNT:case f.LINK_DEVICE:return String(P(e).nearAccountId||``).trim();case f.AUTHORIZE_KEY_EXPORT:{let t=w(e);return t.kind===`near_wallet`?t.nearAccountId:``}case f.SHOW_SECURE_PRIVATE_KEY_UI:{let t=w(e);return t.kind===`near_wallet`?t.nearAccountId:``}default:return``}}function w(e){if(e.type!==f.AUTHORIZE_KEY_EXPORT&&e.type!==f.SHOW_SECURE_PRIVATE_KEY_UI)throw Error(`Expected local key export request, got ${e.type}`);return e.payload.subject}function T(e){let t=w(e);switch(t.kind){case`near_wallet`:return t.nearAccountId;case`evm_wallet`:return t.walletId;default:{let e=t;throw Error(`Unsupported local key export subject: ${String(e)}`)}}}function E(e){if(e.type!==f.SIGN_INTENT_DIGEST)throw Error(`Expected SIGN_INTENT_DIGEST request, got ${e.type}`);return e.payload.signingSubject}function D(e){switch(e.type){case f.SIGN_TRANSACTION:return String(A(e).walletId||``).trim();case f.SIGN_NEP413_MESSAGE:return String(e.payload.walletId||``).trim();case f.REGISTER_ACCOUNT:case f.LINK_DEVICE:return String(P(e).walletId||``).trim();case f.SIGN_INTENT_DIGEST:return E(e).walletId;case f.AUTHORIZE_KEY_EXPORT:case f.SHOW_SECURE_PRIVATE_KEY_UI:return T(e);default:return C(e)}}function O(e){return e.type===f.SIGN_TRANSACTION&&A(e).txSigningRequests?.length||1}function k(e){return e.type===f.SIGN_TRANSACTION?e.payload.intentDigest:e?.intentDigest}function A(e){if(e.type!==f.SIGN_TRANSACTION)throw Error(`Expected SIGN_TRANSACTION request, got ${e.type}`);return e.payload}function j(e){if(e.type===f.SIGN_TRANSACTION)return A(e).displayModel;if(e.type===f.SIGN_NEP413_MESSAGE||e.type===f.SIGN_INTENT_DIGEST)return e.payload.displayModel}function M(e){if(e.type===f.SIGN_TRANSACTION)return u(A(e).signingAuthPlan);if(e.type===f.SIGN_NEP413_MESSAGE){let t=e.payload;return u(t.signingAuthPlan)}if(e.type===f.SIGN_INTENT_DIGEST){let t=e.payload;return u(t.signingAuthPlan)}}function N(e){if(e.type===f.SIGN_TRANSACTION){let t=A(e);return t.signingAuthPlan?.kind===d.EmailOtpReauth?t.signingAuthPlan.emailOtpPrompt:t.emailOtpPrompt}if(e.type===f.SIGN_NEP413_MESSAGE){let t=e.payload;return t.signingAuthPlan?.kind===d.EmailOtpReauth?t.signingAuthPlan.emailOtpPrompt:t.emailOtpPrompt}if(e.type===f.SIGN_INTENT_DIGEST){let t=e.payload;return t.signingAuthPlan?.kind===d.EmailOtpReauth?t.signingAuthPlan.emailOtpPrompt:t.emailOtpPrompt}}function P(e){if(e.type!==f.REGISTER_ACCOUNT&&e.type!==f.LINK_DEVICE)throw Error(`Expected REGISTER_ACCOUNT or LINK_DEVICE request, got ${e.type}`);return e.payload}function F(e){if(typeof e==`string`){let n=e.trim();if(!n)return{};try{let e=JSON.parse(n);return t(e)&&!Array.isArray(e)?e:{}}catch{return{}}}if(!t(e)||Array.isArray(e))throw Error(`Invalid secure confirm request summary: expected an object`);return e}function I(e){if(e==null)return e;if(Array.isArray(e))return e.map(e=>e);if(t(e)){let t=e,r={};for(let e of Object.keys(t)){if(e===`_confirmHandle`)continue;let i=t[e];n(i)||(r[e]=i)}return r}return e}const L={cancelled:`User cancelled secure confirm request`,collectCredentialsFailed:`Failed to collect credentials`,nearRpcFailed:`Failed to fetch NEAR data`};function R(t){return e(t.channelToken)}function z(t,n){let r=e(n?.channelToken);return!r&&!n?.onDecision?t:{postMessage:t.postMessage.bind(t),...r?{channelToken:r}:{},...n?.onDecision?{onDecision:n.onDecision}:{}}}function B(t,n,i){let{_confirmHandle:a,...o}=n,s=r(o.requestId)?o.requestId:n.requestId,c=e(i?.channelToken)??R(t),l={type:p.USER_PASSKEY_CONFIRM_RESPONSE,requestId:s,data:o,...c?{channelToken:c}:{}};t.onDecision?.(o),t.postMessage(l)}function V(t,n,i){let a=I(n),o=r(a?.requestId)?a.requestId:n.requestId,s=e(i?.channelToken)??R(t),c={type:p.USER_PASSKEY_CONFIRM_PROGRESS,requestId:o,data:a,...s?{channelToken:s}:{}};t.postMessage(c)}function H(e){return i(e)}function U(e,t){if(typeof e==`bigint`)return e;let n=String(e??t??`0`).trim();if(!n)return 0n;try{return BigInt(n)}catch{return 0n}}function W(e){if(!t(e))return null;let n=String(e.kind||``).trim(),r=String(e.walletId||``).trim(),i=String(e.nearAccountId||``).trim(),a=String(e.nearPublicKeyStr||``).trim();if(!r||!i||!a)return null;switch(n){case`implicit_unfunded`:return{kind:n,walletId:r,nearAccountId:i,nearPublicKeyStr:a};case`access_key_available`:case`sponsored_named_ready`:return{kind:n,walletId:r,nearAccountId:i,nearPublicKeyStr:a,nonce:U(e.nonce,e.nextNonce),accessKeyNonce:String(e.accessKeyNonce||``).trim(),nextNonce:String(e.nextNonce||``).trim(),txBlockHeight:String(e.txBlockHeight||``).trim(),txBlockHash:String(e.txBlockHash||``).trim()};case`account_lookup_failed`:return{kind:n,walletId:r,nearAccountId:i,nearPublicKeyStr:a,message:String(e.message||``).trim()};default:return null}}function G(e){return t(e)?W(e.readiness):null}function K(e,t){return e.walletId===String(t.subject.walletId)&&e.nearAccountId===String(t.subject.nearAccountId)&&e.nearPublicKeyStr===t.subject.nearPublicKeyStr}async function q(e,t){try{let{context:n,leases:r}=await e.nonceCoordinator.reserveNearContext({lane:c({chains:e.chains,walletId:String(t.subject.walletId),nearAccountId:String(t.subject.nearAccountId),nearPublicKeyStr:t.subject.nearPublicKeyStr}),operation:t.operation,count:t.signatureUses,nearClient:e.nearClient});return{kind:`readiness`,readiness:{kind:`context_ready`,transactionContext:{...n},nonceLeases:r.map(o)},reservedNonceLeases:r}}catch(e){let n=G(e);return n?.kind===`implicit_unfunded`&&K(n,t)?{kind:`readiness`,readiness:{kind:`funding_required`,request:t},reservedNonceLeases:[]}:{kind:`failed`,error:n?.kind===`account_lookup_failed`?`NEAR_ACCOUNT_LOOKUP_FAILED`:`NEAR_CONTEXT_UNAVAILABLE`,details:a(e)}}}async function J(e,t){t?.length&&await Promise.all(t.map(t=>e.nonceCoordinator.release({leaseId:t.leaseId,operationId:t.operationId,operationFingerprint:t.operationFingerprint,reason:`cancelled`})))}async function Y({ctx:e,nearAccountId:t,challengeB64u:n,onBeforePrompt:r,includeSecondPrfOutput:i=!1}){return l({credentialStore:e.webauthnCredentialStore,touchIdPrompt:e.touchIdPrompt,nearAccountId:t,challengeB64u:n,includeSecondPrfOutput:i,onBeforePrompt:r})}function X(e,t){t?.close?.(e)}function Z(e){return{chains:e.chains,getAppearance:e.getAppearance,nearExplorerUrl:e.nearExplorerUrl,tempoExplorerUrl:e.tempoExplorerUrl,evmExplorerUrl:e.evmExplorerUrl,surfaceMeasurementBinding:e.surfaceMeasurementBinding}}function Q(){return{kind:`confirm_ui_prompt_diagnostics_v1`,elementDefineMs:0,mountMs:0,hostFirstUpdateMs:0,hostInteractiveMs:0,confirmEventMs:0,decisionWaitMs:0}}async function $(e){let t=performance.now(),n=await m({ctx:Z(e.ctx),summary:e.transactionSummary,txSigningRequests:e.txSigningRequests,model:e.model,securityContext:e.securityContext,loading:e.loading??!0,theme:e.theme,uiMode:e.confirmationConfig.uiMode,signingAuthMode:e.signingAuthMode,emailOtpPrompt:e.emailOtpPrompt,surface:e.surface}),r=Math.max(0,Math.round(performance.now()-t));e.onMounted?.(n);let i=performance.now();await new Promise(t=>setTimeout(t,e.confirmationConfig.autoProceedDelay));let a=Math.max(0,Math.round(performance.now()-i));return{confirmed:!0,confirmHandle:n,diagnostics:{...Q(),mountMs:r,decisionWaitMs:a}}}async function ee(e){let{confirmed:t,handle:n,error:r,otpCode:i,emailOtpChallengeId:a,diagnostics:o}=await h({ctx:Z(e.ctx),summary:e.transactionSummary,txSigningRequests:e.txSigningRequests,model:e.model,securityContext:e.securityContext,loading:e.loading,theme:e.theme,uiMode:e.confirmationConfig.uiMode,onMounted:e.onMounted,signingAuthMode:e.signingAuthMode,emailOtpPrompt:e.emailOtpPrompt,surface:e.surface});return e.request.type===f.SIGN_TRANSACTION&&A(e.request).signingKind===`transaction`&&s(`near`,{event:`near_confirmation_prompt_timing`,mountMs:o.mountMs,decisionWaitMs:o.decisionWaitMs,confirmed:t}),{confirmed:t,confirmHandle:n,error:r,otpCode:i,emailOtpChallengeId:a,diagnostics:o}}async function te({ctx:e,request:t,confirmationConfig:n,transactionSummary:r,securityContext:i,loading:a,theme:o,surface:s,onMounted:c}){if(s.kind===`preparation_cancelled`)return{confirmed:!1,confirmHandle:void 0,diagnostics:Q()};let l=t.type===f.SIGN_TRANSACTION?A(t).txSigningRequests:[],u=j(t),d=M(t),p=N(t);switch(n.kind){case`silent`:return s.kind===`reuse_mounted`&&s.handle.close(!0),{confirmed:!0,confirmHandle:void 0,diagnostics:Q()};case`auto_proceed`:return await $({ctx:e,request:t,confirmationConfig:n,transactionSummary:r,securityContext:i,loading:a,theme:o,surface:s,onMounted:c,txSigningRequests:l,model:u,signingAuthMode:d,emailOtpPrompt:p});case`interactive`:return await ee({ctx:e,request:t,confirmationConfig:n,transactionSummary:r,securityContext:i,loading:a,theme:o,surface:s,onMounted:c,txSigningRequests:l,model:u,signingAuthMode:d,emailOtpPrompt:p});default:return b(n)}}function ne(e){return{near:{fetchNearContext:t=>q(e,t),releaseReservedNonces:t=>J(e,t)},security:{getRpId:()=>e.touchIdPrompt.getRpId()},webauthn:{collectAuthenticationCredentialWithPRF:t=>Y({ctx:e,...t}),createRegistrationCredential:t=>e.touchIdPrompt.generateRegistrationCredentialsInternal(t)},ui:{renderConfirmUI:t=>te({ctx:e,...t}),closeModalSafely:X}}}function re({adapters:e,worker:t,request:n,confirmationConfig:r,transactionSummary:i,theme:a,surface:o}){let s,c;return{setNonceLeases:e=>{s=e},updateUI:e=>{c?.update?.(e)},promptUser:async({securityContext:t,loading:s,onMounted:l})=>{let{confirmed:u,confirmHandle:d,error:f,otpCode:p,emailOtpChallengeId:m,diagnostics:h}=await e.ui.renderConfirmUI({request:n,confirmationConfig:r,transactionSummary:i,securityContext:t,loading:s,theme:a,surface:o,onMounted:e=>{c=e,l?.(e)}});return c=d,{confirmed:u,error:f,otpCode:p,emailOtpChallengeId:m,diagnostics:h}},dismissReviewSurface:()=>{e.ui.closeModalSafely(!0,c),c=void 0},confirmAndCloseModal:n=>{try{B(t,n)}finally{n.confirmed||e.near.releaseReservedNonces(s),e.ui.closeModalSafely(!!n.confirmed,c)}}}}export{O as _,H as a,y as b,V as c,x as d,k as f,M as g,A as h,z as i,B as l,E as m,ne as n,F as o,C as p,L as r,I as s,re as t,S as u,D as v,v as y};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function e(e,t){if(!e||e.kind!==t.kind)return!1;switch(e.kind){case`disabled`:return t.kind===`disabled`;case`wallet_iframe`:return t.kind===`wallet_iframe`&&e.requestId===t.requestId&&e.postMeasurement===t.postMeasurement&&e.hostSurfaceVariant===t.hostSurfaceVariant}}const t={theme:{id:`default`,mode:`dark`,colors:{}},palette:`default`};function n(e){return e===`light`||e===`dark`}function r(e){let r=e.requestedAppearance??e.getAppearance?.()??t;return!n(e.requestedMode)||e.requestedMode===r.theme.mode?r:{...r,theme:{...r.theme,mode:e.requestedMode}}}export{e as n,r as t};
|