@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 +0,0 @@
|
|
|
1
|
-
import{S as e,T as t}from"./chains-gV2K9gA4.js";import{t as n}from"./errors-ADOZT8oV.js";import{o as r,t as i}from"./accountIds-D5NI31F2.js";import{r as a}from"./types-DdzuHlAQ.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-BS4fek17.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 +0,0 @@
|
|
|
1
|
-
import{V as e}from"./domainIds-t1lp25yU.js";import{d as t}from"./chains-gV2K9gA4.js";import{i as n,r}from"./base64-BmKR3UqU.js";import{i,n as a,r as o}from"./signerDomain-D-EUTlLK.js";import{c as s,o as c}from"./ecdsaChainTarget-DbLthshF.js";import{s as l,t as u}from"./normalization-BN-2VWZf.js";import{a as d,i as f,t as p}from"./keyMaterialEnvelope-B-Q5KTJC.js";import{d as m,n as h,t as g}from"./accountIds-D5NI31F2.js";import{i as _,t as v}from"./signerSlot-D4ZOuK7e.js";import{t as y}from"./registrationSignerPlan-CgbFVsAp.js";import{a as b,i as x,n as ee,o as S,r as C,t as te}from"./profileAccountProjection-D01e10UY.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};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{S as e}from"./chains-gV2K9gA4.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};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{A as e,B as t,E as n,H as r,M as i,N as a,O as o,T as s,d as c,f as l,g as ee,i as u,k as d,u as f}from"./domainIds-t1lp25yU.js";import{C as te,k as p}from"./chains-gV2K9gA4.js";import{i as ne,r as re}from"./base64-BmKR3UqU.js";import{d as ie,h as ae,l as oe,m as se}from"./capabilityKinds-BzrNeEyO.js";import{r as m}from"./canonicalPrimitives-B6YMrI3W.js";function h(e,t={trim:!0}){let n=String(e??``);return r(t.trim?n.trim():n)}function g(e){let t=String(e.token??``).trim();if(!t)throw Error(e.missingMessage);return{Authorization:`Bearer ${t}`}}function ce(e){return{method:`POST`,headers:{"Content-Type":`application/json`,...e.headers||{}},credentials:`omit`,body:e.bodyJson??JSON.stringify(e.body)}}function le(e,t){let n=h(e),r=globalThis.location?.origin,i;try{i=new URL(n).origin}catch{return}if(!(!r||i===r))for(let e of t)fetch(`${n}${e}`,{method:`OPTIONS`,credentials:`omit`}).catch(()=>{})}function ue(e){return{...g({token:e.token,missingMessage:`Wallet Session token is required`}),..._(e.home)}}function _(e){switch(e.kind){case`direct`:return{};case`regional`:return{"X-Seams-Wallet-Region":e.region}}}async function de(e){let t=await fetch(e.clone());if(t.status!==409||!e.headers.has(`X-Seams-Wallet-Region`))return t;let n;try{n=await t.clone().json()}catch{return t}if(!te(n)||n.code!==`wallet_home_discovery_required`)return t;let r=new Headers(e.headers);return r.delete(`X-Seams-Wallet-Region`),fetch(new Request(e,{headers:r}))}const fe=[1,2];function v(e){let t=Number(e);return!Number.isSafeInteger(t)||t<1||t>65535?null:t}function pe(e){if(!Array.isArray(e)||e.length===0)return null;let t=[],n=new Set;for(let r of e){let e=v(r);if(!e)return null;n.has(e)||(n.add(e),t.push(e))}return t.sort((e,t)=>e-t),t.length?t:null}function me(e){if(!Array.isArray(e)||e.length===0)return null;let n=[];for(let r of e){if(!r||typeof r!=`object`||Array.isArray(r))return null;let e=r,i=v(e.id),a=t(e.role);if(!i||a!==`client`&&a!==`relayer`)return null;let o={id:i,role:a},s=t(e.relayerUrl);s&&(o.relayerUrl=s);let c=t(e.relayerKeyId);c&&(o.relayerKeyId=c);let l=t(e.shareDerivation);(l===`prf_first_v1`||l===`derived_master_secret_v1`||l===`kv_random_v1`||l===`unknown`)&&(o.shareDerivation=l),n.push(o)}return n.length?n:null}function he(e){let n=t(e.relayerKeyId),r=t(e.relayerUrl),i=v(e.clientParticipantId)??1,a=v(e.relayerParticipantId)??2;return[{id:i,role:`client`,shareDerivation:e.clientShareDerivation||`prf_first_v1`},{id:a,role:`relayer`,...r?{relayerUrl:r}:{},...n?{relayerKeyId:n}:{},...e.relayerShareDerivation?{shareDerivation:e.relayerShareDerivation}:{}}]}function y(e,n){let r=t(n);if(!r)throw Error(`${e} is required`);return r}function b(e){return`${y(`projectId`,e.projectId)}:${y(`envId`,e.envId)}`}function ge(e){let t=_e(e);return{...t,signingRootVersion:y(`signingRootVersion`,t.signingRootVersion)}}function _e(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:y(`orgId`,n.orgId),projectId:y(`projectId`,n.projectId),envId:y(`envId`,n.envId),...t(n.signingRootVersion)?{signingRootVersion:t(n.signingRootVersion)}:{}}}function ve(e,t){return e.orgId===t.orgId&&e.projectId===t.projectId&&e.envId===t.envId&&e.signingRootVersion===t.signingRootVersion}function ye(e){return{signingRootId:b(e),signingRootVersion:y(`signingRootVersion`,e.signingRootVersion)}}const be=[`prf`,`kek`,`seed`,`scalar`,`secretkey`,`privatekey`,`plaintext`,`recoverycode`,`clientroot`,`holdershare`];function x(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`)&&be.some(t=>e.includes(t))?Error(`${n}.${t} must never carry plaintext custody material`):Error(`${n}.${t} is not part of ${n}`)}}function S(e,t,n){let r=p(e,n);x(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 C(...e){return Object.assign((t,n)=>{if(!e.includes(t))throw Error(`${n} is invalid`);return t},{literals:e})}function w(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=S(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 T(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=p(t,r),a=n.get(i[e]);if(!a)throw Error(`${r}.${e} is invalid`);return a(i,r)}}function E(e){return(t,n)=>t===null?null:e(t,n)}function D(e){return(t,n)=>{let r=e(t);if(r.ok)return r.value;throw Error(`${n} ${r.error.message}`)}}function O(e){return(t,n)=>{try{return e(t)}catch(e){throw Error(`${n} ${e instanceof Error?e.message:`is invalid`}`)}}}const k=Object.freeze([`export_keys`,`link_devices`,`revoke_devices`,`sign`]);Object.freeze([`sign`]);const A=new Set([`export_keys`,`link_devices`,`revoke_devices`,`sign`]),j=Symbol(`canonicalPermissionSetBrand`);var M=class e extends Array{[j]=!0;constructor(e){super(...e),Object.freeze(this)}static create(t){return new e(t)}static get[Symbol.species](){return Array}};function N(e){return typeof e==`string`&&A.has(e)}function P(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(!N(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(De),{ok:!0,value:M.create(Oe(t))}}function F(e){return{kind:`delegated_wallet_authority_v1`,permissions:e.permissions}}function xe(e){if(!ke(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=P(e.permissions);return t.ok?{ok:!0,value:F({permissions:t.value})}:t}function I(){return Ee(k)}function Se(){return F({permissions:I()})}function Ce(e,t){return e.permissions.includes(t)}function we(e){return Object.freeze([...e.permissions])}function Te(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 Ee(e){let t=P(e);if(!t.ok)throw Error(t.error.message);return t.value}function De(e,t){return e<t?-1:e>t?1:0}function Oe(e){let[t,...n]=e;if(!t)throw Error(`delegated wallet permissions must be non-empty`);return[t,...n]}function ke(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 Ae=/^[A-Za-z0-9_-]+$/;function z(e,t){if(typeof e!=`string`||!Ae.test(e))throw Error(`${t} must be unpadded base64url`);let n;try{n=re(e)}catch{throw Error(`${t} must be valid base64url`)}if(ne(n)!==e)throw Error(`${t} must be canonical base64url`);return n}function je(e,t){if(e.ok)return e.value;throw Error(`${t} ${e.error.message}`)}function Me(e,t){try{return m(e)}catch(e){throw Error(`${t} ${e instanceof Error?e.message:`is not a digest`}`)}}function Ne(e,t=`nonceB64u`){if(z(e,t).length!==12)throw Error(`${t} must decode to a 12-byte ChaCha20Poly1305 nonce`);return e}function Pe(e,t=`ciphertextB64u`){if(z(e,t).length<17)throw Error(`${t} must decode to sealed ciphertext with an authentication tag`);return e}function Fe(e,t=`registeredPublicKeyB64u`){if(z(e,t).length!==32)throw Error(`${t} must decode to a 32-byte Ed25519 public key`);return e}function Ie(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 Le(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 Re(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 ze=D(f),V=D(d),Be=D(c),Ve=D(l),He=D(oe),Ue=D(e),H=D(ae),U=D(se),W=D(n),G=D(o),We=D(i),Ge=D(a),Ke=D(ie),qe=D(ee),K=O(m),Je=E(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 Ye(e,t){let n=xe(e);if(!n.ok)throw Error(`${t}: ${n.error.message}`);return n.value}function Xe(e,t){let n=s(e);if(!n.ok)throw Error(`${t} ${n.error.message}`);return n.value}function Ze(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&&u(e.materialActivation,t.materialActivation);default:return!1}}function Qe(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=T(`kind`,[w({kind:C(`direct`)}),w({kind:C(`regional`),region:C(`US`,`WEUR`,`APAC`,`OC`)})]);function $(e){return Q(e,`Wallet Session home`)}function $e(){return w({kind:C(`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 et(e){return $e()(e,`WalletSessionOperationCredentialV1`)}function tt(e){return e.kind===`sign`||e.kind===`export_keys`?`${e.kind}:${e.keyFamily}:${e.materialActivation.activationId}`:e.kind}function nt(){return w({kind:C(`active_wallet_session_v1`),walletId:q(V),authorityId:q(G),authMethodId:q(W),authorizationId:q(U),quotaId:q(Ke),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(it(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(tt);if(new Set(n).size!==n.length)throw Error(`${t} capability subjects repeat`)})}function rt(e){return nt()(e,`ActiveWalletSessionV1`)}function it(e,t){let n=p(e,t);if(n.kind===`link_devices`||n.kind===`revoke_devices`)return x(n,[`kind`],t),{kind:n.kind};if(n.kind!==`sign`&&n.kind!==`export_keys`)throw Error(`${t}.kind is invalid`);if(x(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:qe(n.materialActivation,`${t}.materialActivation`)}}export{fe as $,Re as A,P as B,Ue as C,Fe as D,Me as E,F,D as G,C as H,Se as I,x as J,T as K,I as L,Ie as M,B as N,Pe as O,je as P,ye as Q,we as R,V as S,H as T,E as U,Te as V,w as W,ge as X,b as Y,ve as Z,J as _,Qe as a,_ as at,W as b,K as c,h as ct,Ve as d,he as et,Je as f,Xe as g,X as h,et as i,ce as it,Le as j,Ne as k,Be as l,le as lt,Y as m,rt as n,me as nt,He as o,ue as ot,Ye as p,S as q,$ as r,g as rt,We as s,de as st,Ze as t,pe as tt,q as u,Ge as v,U as w,G as x,ze as y,Ce as z};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{z as e}from"./domainIds-t1lp25yU.js";import{S as t,T as n,i as r,x as i}from"./chains-gV2K9gA4.js";import{r as a}from"./transactionReviewAdmission--8tDis7M.js";import{a as o,o as s,r as c,t as l}from"./errors-ADOZT8oV.js";import{t as u}from"./surface-measurement-reporter-NUm_54LH.js";import{a as d,i as f,o as p,r as m,s as h}from"./csp-stylesheet-DeuiM0Mo.js";import{p as g}from"./nonceLaneKeys-BS4fek17.js";import{t as _}from"./SeamsWordmark-CFpsGoLw.js";import{a as ee,i as v,r as y,t as b}from"./actions-GYsSR2Q2.js";import{u as x}from"./trace-CGNqO1FV.js";import{i as S,r as te}from"./intentDigest-BMXki7yB.js";import{n as ne}from"./NonceCoordinator-Bti1HQPo.js";import{t as re}from"./collectAuthenticationCredentialForChallengeB64u-kLIxmw3V.js";import{o as ie,t as ae}from"./types-fJKfUgTi.js";import{t as oe}from"./promptText-Bz3YRl9D.js";import{i as C,n as se,r as ce,t as le}from"./appearance-DVFno9Tv.js";import{a as ue}from"./transaction-activity-DPq9RTh5.js";import{a as w,c as T,i as E,n as D,o as de,r as O,s as k,t as fe}from"./appearance-token-vars-CgYTfCKg.js";import{i as pe,n as me,r as he,t as ge}from"./ConfirmationDrawer-CTaGM1AE.js";function _e(e){return e===`drawer`?`drawer`:`modal`}function ve(e){return typeof e!=`number`||!Number.isFinite(e)?0:Math.max(0,Math.floor(e))}function ye(e){if(e?.uiMode===`none`)return{kind:`silent`,uiMode:`none`};let t=_e(e?.uiMode);return e?.behavior===`skipClick`?{kind:`auto_proceed`,uiMode:t,behavior:`skipClick`,autoProceedDelay:ve(e.autoProceedDelay)}:{kind:`interactive`,uiMode:t,behavior:`requireClick`}}function be(){return{kind:`silent`,uiMode:`none`}}function xe(e){throw Error(`Unsupported confirmation config: ${String(e.kind)}`)}function Se(e){if(e.type!==C.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 Ce(e){if(e.type!==C.SIGN_TRANSACTION&&e.type!==C.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 we(e){switch(e.type){case C.SIGN_TRANSACTION:return A(e).rpcCall.nearAccountId;case C.SIGN_NEP413_MESSAGE:return e.payload.nearAccountId;case C.SIGN_INTENT_DIGEST:{let t=De(e);return t.kind===`near_wallet`?t.nearAccountId:``}case C.REGISTER_ACCOUNT:case C.LINK_DEVICE:return String(Pe(e).nearAccountId||``).trim();case C.AUTHORIZE_KEY_EXPORT:{let t=Te(e);return t.kind===`near_wallet`?t.nearAccountId:``}case C.SHOW_SECURE_PRIVATE_KEY_UI:{let t=Te(e);return t.kind===`near_wallet`?t.nearAccountId:``}default:return``}}function Te(e){if(e.type!==C.AUTHORIZE_KEY_EXPORT&&e.type!==C.SHOW_SECURE_PRIVATE_KEY_UI)throw Error(`Expected local key export request, got ${e.type}`);return e.payload.subject}function Ee(e){let t=Te(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 De(e){if(e.type!==C.SIGN_INTENT_DIGEST)throw Error(`Expected SIGN_INTENT_DIGEST request, got ${e.type}`);return e.payload.signingSubject}function Oe(e){switch(e.type){case C.SIGN_TRANSACTION:return String(A(e).walletId||``).trim();case C.SIGN_NEP413_MESSAGE:return String(e.payload.walletId||``).trim();case C.REGISTER_ACCOUNT:case C.LINK_DEVICE:return String(Pe(e).walletId||``).trim();case C.SIGN_INTENT_DIGEST:return De(e).walletId;case C.AUTHORIZE_KEY_EXPORT:case C.SHOW_SECURE_PRIVATE_KEY_UI:return Ee(e);default:return we(e)}}function ke(e){return e.type===C.SIGN_TRANSACTION&&A(e).txSigningRequests?.length||1}function Ae(e){return e.type===C.SIGN_TRANSACTION?e.payload.intentDigest:e?.intentDigest}function A(e){if(e.type!==C.SIGN_TRANSACTION)throw Error(`Expected SIGN_TRANSACTION request, got ${e.type}`);return e.payload}function je(e){if(e.type===C.SIGN_TRANSACTION)return A(e).displayModel;if(e.type===C.SIGN_NEP413_MESSAGE||e.type===C.SIGN_INTENT_DIGEST)return e.payload.displayModel}function Me(e){if(e.type===C.SIGN_TRANSACTION)return ie(A(e).signingAuthPlan);if(e.type===C.SIGN_NEP413_MESSAGE){let t=e.payload;return ie(t.signingAuthPlan)}if(e.type===C.SIGN_INTENT_DIGEST){let t=e.payload;return ie(t.signingAuthPlan)}}function Ne(e){if(e.type===C.SIGN_TRANSACTION){let t=A(e);return t.signingAuthPlan?.kind===ae.EmailOtpReauth?t.signingAuthPlan.emailOtpPrompt:t.emailOtpPrompt}if(e.type===C.SIGN_NEP413_MESSAGE){let t=e.payload;return t.signingAuthPlan?.kind===ae.EmailOtpReauth?t.signingAuthPlan.emailOtpPrompt:t.emailOtpPrompt}if(e.type===C.SIGN_INTENT_DIGEST){let t=e.payload;return t.signingAuthPlan?.kind===ae.EmailOtpReauth?t.signingAuthPlan.emailOtpPrompt:t.emailOtpPrompt}}function Pe(e){if(e.type!==C.REGISTER_ACCOUNT&&e.type!==C.LINK_DEVICE)throw Error(`Expected REGISTER_ACCOUNT or LINK_DEVICE request, got ${e.type}`);return e.payload}function Fe(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 Ie(e){if(e==null)return e;if(Array.isArray(e))return e.map(e=>e);if(t(e)){let t=e,n={};for(let e of Object.keys(t)){if(e===`_confirmHandle`)continue;let r=t[e];i(r)||(n[e]=r)}return n}return e}const Le={cancelled:`User cancelled secure confirm request`,collectCredentialsFailed:`Failed to collect credentials`,nearRpcFailed:`Failed to fetch NEAR data`};function Re(t){return e(t.channelToken)}function ze(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 Be(t,r,i){let{_confirmHandle:a,...o}=r,s=n(o.requestId)?o.requestId:r.requestId,c=e(i?.channelToken)??Re(t),l={type:ce.USER_PASSKEY_CONFIRM_RESPONSE,requestId:s,data:o,...c?{channelToken:c}:{}};t.onDecision?.(o),t.postMessage(l)}function Ve(t,r,i){let a=Ie(r),o=n(a?.requestId)?a.requestId:r.requestId,s=e(i?.channelToken)??Re(t),c={type:ce.USER_PASSKEY_CONFIRM_PROGRESS,requestId:o,data:a,...s?{channelToken:s}:{}};t.postMessage(c)}function He(e){return o(e)?!1:c(e)||(()=>{let t=s(e);return t?.name===`NotAllowedError`||t?.name===`AbortError`})()}let Ue=!1;function We(e=!0){Ue=!!e}function Ge(){return Ue}function Ke(e){if(!e)return``;if(typeof e==`string`)return e;try{return JSON.stringify(e,(e,t)=>typeof t==`bigint`?t.toString():t,2)}catch{return String(e)}}function j(e){if(!e||e===`0`)return`0 NEAR`;try{let t=BigInt(e),n=BigInt(`1000000000000000000000000`),r=t/n,i=t%n;if(i===BigInt(0))return`${r.toString()} NEAR`;let a=i.toString().padStart(24,`0`).slice(0,5);return a=a.replace(/0+$/g,``),a.length===0?`${r.toString()} NEAR`:`${r.toString()}.${a} NEAR`}catch{return e}}function qe(e){if(!e)return``;try{return`${BigInt(e)/BigInt(`1000000000000`)} Tgas`}catch{return e}}function M(e,t={}){if(!e||typeof e!=`string`)return``;let{prefix:n=12,suffix:r=6}=t;return e.length<=n+r+3?e:`${e.slice(0,n)}...${e.slice(-r)}`}function N(e){return e?e instanceof Uint8Array?`${e.byteLength} bytes`:Array.isArray(e)||typeof e==`string`?`${e.length} bytes`:`unknown`:`0 bytes`}function Je(e){if(!e)return;let t=String(e.decoded||``),n=String(e.raw||``);if(!(!t||!n)&&t!==n)return{decoded:t,raw:n,defaultMode:e.defaultMode===`raw`?`raw`:`decoded`}}function Ye(e,t){if(!/Value \(wei\)$/i.test(e.trim()))return!1;let n=t.trim();if(!n)return!1;if(n===`0`||/^0x0+$/i.test(n))return!0;try{return BigInt(n)===0n}catch{return!1}}function Xe(e,t){return!Array.isArray(t)||t.length===0?[]:t.flatMap((t,n)=>{let r=String(t.label||``).trim(),i=String(t.value||``),a=t.renderAs||`inline`;if(Ye(r,i))return[];if(a===`file-content`){let a=Je(t.contentVariants),o=a?.defaultMode===`raw`?a.raw:a?.decoded||i;return[{id:`${e}-field-${n}`,label:r?`${r}:`:``,fieldLabel:r?`${r}:`:void 0,type:`file`,open:!1,content:o,...a?{contentVariants:a}:{},copyValue:typeof t.copyValue==`string`?t.copyValue:void 0,hideLabel:!!t.hideLabel,hideChevron:typeof t.hideChevron==`boolean`?t.hideChevron:!0}]}return[{id:`${e}-field-${n}`,label:r?`${r}: ${i}`:i,fieldLabel:r?`${r}:`:void 0,type:`file`,open:!1,copyValue:typeof t.copyValue==`string`?t.copyValue:void 0}]})}const Ze=({operation:e,depth:t,path:n,renderChild:r})=>{let i=String(e.id||``).trim()||`op-${n}`,a=(()=>{let t=String(e.to||``).trim();return/^0x[0-9a-fA-F]{40}$/.test(t)?t:void 0})(),o=String(e.description||``).trim(),s=Array.isArray(e.children)?e.children.map((e,i)=>r(e,t+1,`${n}.${i}`)):[],c=Xe(i,e.fields),l=o?[{id:`${i}-description`,label:o,type:`file`,open:!1}]:[];if(e.kind===`raw.fallback`){let t=String(e.raw||``).trim();t&&l.push({id:`${i}-raw`,label:`Raw payload`,type:`file`,open:!1,content:t})}let u=[...l,...c,...s];return u.length===0?{id:i,label:String(e.label||e.kind),type:`file`,open:!1,contractAddress:a}:{id:i,label:String(e.label||e.kind),type:`folder`,open:t<1,contractAddress:a,children:u}};function Qe(e){switch(e){case`near`:return`NEAR`;case`evm`:return`EVM`;case`tempo`:return`Tempo`;default:return`Unknown`}}function $e(e){return!Array.isArray(e)||e.length===0?[]:[{id:`warnings-root`,label:`Warnings`,type:`folder`,open:!0,children:e.map((e,t)=>({id:`warning-${t}`,label:`[${String(e.severity||`warning`).toUpperCase()}] ${String(e.message||``)}`,type:`file`,open:!1}))}]}function et(e,t,n){return Ze({operation:e,depth:t,path:n,renderChild:(e,t,n)=>et(e,t,n)})}function P(e){let t=Array.isArray(e.children)?e.children.map(e=>P(e)):void 0;return e.type===`folder`?{...e,hideChevron:!0,children:t}:t?{...e,children:t}:e}function F(e,t){let n=Array.isArray(e.children)?e.children.map(e=>F(e,t)):void 0;return{...e,chain:t,...n?{children:n}:{}}}function tt(e){let t=e.chain===`evm`||e.chain===`tempo`,n=(Array.isArray(e.operations)?e.operations:[]).map((e,t)=>et(e,0,String(t))).map(t=>F(t,e.chain)).map(e=>t?P(e):e),r=[...$e(e.warnings).map(t=>F(t,e.chain)).map(e=>t?P(e):e),...n];r.length===0&&r.push({id:`no-operations`,label:`No operations`,type:`file`,open:!1});let i=Qe(e.chain);return{id:`display-root`,label:String(e.title||``).trim()||`${i} Transaction`,type:`folder`,open:!0,children:r}}function nt(e,t){let r;switch(e.type){case`FunctionCall`:r=[{id:`a${t}-args`,label:`using args:`,type:`file`,open:!1,hideChevron:!0,hideLabel:!0,content:Ke(e.args)}];break;case`Transfer`:r=[];break;case`CreateAccount`:r=[];break;case`DeployContract`:{let n=N(e.code);r=[{id:`a${t}-code-size`,label:`WASM contract code size: ${n}`,type:`file`,open:!1}];break}case`DeployGlobalContract`:{let n=e.code,i=e.deployMode,a=N(n);r=[{id:`a${t}-deploy-mode`,label:`mode: ${String(i||``)}`,type:`file`,open:!1},{id:`a${t}-code-size`,label:`WASM global contract code size: ${a}`,type:`file`,open:!1}];break}case`UseGlobalContract`:{let n=e.accountId,i=e.codeHash,a;a=n?`by account: ${String(n)}`:i?`by hash: ${M(String(i),{prefix:10,suffix:6})}`:`by global contract identifier`,r=[{id:`a${t}-identifier`,label:a,type:`file`,open:!1}];break}case`Stake`:r=[{id:`a${t}-publicKey`,label:`validator: ${M(e.publicKey)}`,type:`file`,open:!0,copyValue:e.publicKey}];break;case`AddKey`:{let i=e.accessKey,a=``;try{a=(n(i)?JSON.parse(i):i).permission===`FullAccess`?`Full Access`:`Function Call`}catch{a=`Unknown`}r=[{id:`a${t}-publicKey`,label:`key: ${M(e.publicKey)}`,open:!1,type:`file`,copyValue:e.publicKey},{id:`a${t}-permissions`,label:`permissions: ${a}`,open:!1,type:`file`}];break}case`DeleteKey`:r=[{id:`a${t}-publicKey`,label:`key: ${M(e.publicKey)}`,open:!1,type:`file`,copyValue:e.publicKey}];break;case`DeleteAccount`:r=[{id:`a${t}-beneficiaryId`,label:`sending balance to: ${e.beneficiaryId}`,open:!1,type:`file`}];break;default:return rt(e)}return{id:`action-${t}`,label:``,type:`folder`,open:!1,hideChevron:!0,action:e,actionIndex:t,children:r}}function rt(e){throw Error(`Unsupported NEAR action: ${String(e)}`)}function it(e,t,n){let r=e.actions.map((e,t)=>nt(e,t));return{id:`tx-${t}`,label:``,type:`folder`,open:!0,hideChevron:!0,transaction:e,transactionIndex:t,totalTransactions:n,children:[...r]}}function at(e){let t=e.length,n=e.map((e,n)=>it(e,n,t));return{id:`txs-root`,label:t>1?`Transactions`:`Transaction`,type:`folder`,open:!0,children:n}}function ot(e){let t=e.abiDecodeHint;if(t&&Array.isArray(t.abi)&&t.abi.length>0){let e=String(t.dataHex||``).trim();if(e&&e!==`0x`)return!0}return(Array.isArray(e.children)?e.children:[]).some(ot)}function st(e){return(Array.isArray(e.operations)?e.operations:[]).some(ot)}function I(e){let t=Array.isArray(e.txSigningRequests)?e.txSigningRequests:[];if(t.length>0)return at(y(t));let n=e.model;if(!n)return null;let r=Array.isArray(n.operations)?n.operations:[],i=Array.isArray(n.warnings)?n.warnings:[];return r.length>0||i.length>0?tt(n):null}const ct=/^NEAR account ([^\s]+) needs funding before signing\.$/;function lt(e){let t=String(e||``).trim();return t.length<=8?t:`${t.slice(0,4)}...${t.slice(-4)}`}function ut(e){let t=String(e||``).trim();return t?`NEAR account ${t} needs funding before signing.`:`NEAR account needs funding before signing.`}function dt(e){let t=String(e||``).trim(),n=ct.exec(t);if(!n)return null;let r=String(n[1]||``).trim();return r?{accountId:r,shortAccountId:lt(r)}:null}function ft(e){return String(e||``).trim()===`Topping up account...`}function pt(e){let t=lt(e);return t?`Funding NEAR account ${t}...`:`Funding NEAR account...`}function mt(e){let t=String(e||``).trim();return t.startsWith(`Funding NEAR account`)&&t.endsWith(`...`)}function ht(e){return ft(e)||mt(e)}function gt(e){let t=e.trim();if(!t)return{kind:`empty`};if(ht(t))return{kind:`status`,text:t};let n=dt(t);return n?{kind:`funding`,accountId:n.accountId,shortAccountId:n.shortAccountId}:{kind:`text`,text:t}}function _t(e){let t=e.presentation,n=t.errorMessage??``,r=t.cancelText??`Cancel`,i=t.securityContext?.passkeyRegistration;if(i?.kind===`passkey_registration_confirm_display_v1`)return{ok:!0,model:{appearance:e.appearance,content:{kind:`registration`,registration:{display:i,heading:t.title?.trim()||`Create your passkey`,body:t.body?.trim()||`Use Touch ID or your device passkey to create credentials for this account.`,cancelText:r,errorMessage:n,decision:t.loading?{kind:`creating`}:{kind:`ready`,onConfirm:e.callbacks.confirm},onCancel:e.callbacks.cancel}}}};let a;switch(t.signingAuthMode){case`emailOtp`:{let r=t.emailOtpPrompt,i=r?.challengeId.trim();if(!r||!i)return{ok:!1,error:`missing_email_challenge`};a={kind:`email`,email:{prompt:{challengeId:i,title:r.title,body:r.body,helperText:r.helperText,emailHint:r.emailHint,resendDebounceMs:r.resendDebounceMs,onResend:r.onResend},verification:vt(t.loading===!0,n),onSubmit:e.callbacks.submitEmail}};break}case`warmSession`:a={kind:`session`};break;case`webauthn`:case void 0:a={kind:`passkey`};break;default:return L(t.signingAuthMode)}let o=gt(t.body??``);return{ok:!0,model:{appearance:e.appearance,content:{kind:`transaction`,capture:t.authMethodCapture??null,review:{model:t.model??null,tree:e.tree},header:{heading:yt(t),website:bt(t.securityContext?.rpId?.trim()??``),chainDetails:xt(t,t.loading===!0||o.kind===`status`),errorMessage:n},body:o,prompt:a,transaction:{tree:e.tree,theme:e.appearance.theme.mode,explorers:{near:t.nearExplorerUrl||`https://testnet.nearblocks.io`,tempo:t.tempoExplorerUrl,evm:t.evmExplorerUrl},decision:t.loading||t.preparing?{kind:`preparing`}:{kind:`ready`,onConfirm:e.callbacks.confirm},confirmText:t.signingAuthMode===`emailOtp`?`Confirm Code`:t.confirmText??`Confirm`,cancelText:r,errorMessage:n,onCancel:e.callbacks.cancel,onBack:t.onBack,authMethodApprovalMessage:t.authMethodApprovalMessage}}}}}function vt(e,t){return e?{kind:`pending`}:t?{kind:`rejected`,message:t}:{kind:`ready`}}function yt(e){let t=(e.model?.operations.length??0)===0?`Register with Passkey`:`Confirm with Passkey`;switch(e.signingAuthMode){case`emailOtp`:return e.emailOtpPrompt?.title?.trim()||`Enter email code to sign`;case`warmSession`:return`Review transaction`;case`webauthn`:return t;case void 0:return e.title?.trim()||t;default:return L(e.signingAuthMode)}}function bt(e){return e?{kind:`ready`,text:e}:{kind:`loading`}}function xt(e,t){let n=e.model;if(n?.chainId)return{kind:`ready`,text:`${St(n.chain)} | ChainID: ${n.chainId}`};let r=String(e.securityContext?.blockHeight||``).trim();return r?{kind:`ready`,text:`block ${r}`}:t?{kind:`loading`}:{kind:`ready`,text:`block`}}function St(e){switch(e){case`near`:return`NEAR`;case`evm`:return`EVM`;case`tempo`:return`Tempo`;case`unknown`:return`Unknown`;default:return L(e)}}function L(e){throw Error(`Unexpected confirmation presentation: ${String(e)}`)}const R=`seams-surface-resize-begin`;function Ct(e,t){return e.dispatchEvent(new CustomEvent(R,{bubbles:!0,composed:!0,detail:t}))}function wt(e,t,n){let r=t;return e.addEventListener(R,r,n),()=>e.removeEventListener(R,r,n)}const Tt=`data-seams-confirm-surface`,z=`seams-confirm-surface-pinned`,B=`seams-confirm-surface-pinned-root`,V=`seams-surface-height-driven`,Et=`--seams-surface-height-driven-target`;function Dt(e,t){let{fromCssPx:n,toCssPx:r}=t;if(!Number.isFinite(n)||!Number.isFinite(r))return!1;let i=r-n;if(Math.abs(i)<1)return!1;let a=Math.min(n,r),o=Math.max(n,r),s=null,c=!1,l=null,u=e=>{if(c)return;let r=n+(Number.isFinite(e)?Math.min(Math.max(e,0),1):0)*i;t.setHeightCssPx(Math.min(Math.max(r,a),o))},d=()=>{c||(c=!0,l!==null&&window.clearTimeout(l),t.finish())},f=()=>s||c?null:(t.onClaimed?.(),u(0),l=window.setTimeout(()=>{u(1),d()},1500),s={setProgress:u,finish:d},s);return Ct(e,{...t.reason?{reason:t.reason}:{},deltaCssPx:i,claim:f}),s!==null}function Ot(e){let t=null,n=null,r=()=>{let e=n;n=null,e&&e.classList.remove(V)};return{capture(){let n=e.element();t=n?n.getBoundingClientRect().height:null},commit(){let i=t;t=null;let a=e.element();!a||i===null||document.documentElement.classList.contains(B)||a.parentElement?.closest(`.${V}`)||(n=a,a.classList.add(V),e.setHeightCssPx(i),Promise.resolve(e.settled?.()).then(()=>new Promise(e=>requestAnimationFrame(()=>e()))).then(()=>{if(n!==a)return;if(document.documentElement.classList.contains(B)){r();return}a.classList.remove(V);let t=a.getBoundingClientRect().height;a.classList.add(V),!H({...e.reason?{reason:e.reason}:{},element:a,fromCssPx:i,toCssPx:t,setHeightCssPx:t=>e.setHeightCssPx(t),onSettled:()=>{n=null}})&&(r(),kt(a,i,t))}))},dispose:r}}function kt(e,t,n){Math.abs(n-t)<1||window.matchMedia(`(prefers-reduced-motion: reduce)`).matches||e.animate([{height:`${t}px`},{height:`${n}px`}],{duration:200,easing:`cubic-bezier(0.32, 0.72, 0, 1)`})}function H(e){let{element:t,fromCssPx:n,toCssPx:r}=e;if(!Number.isFinite(n)||!Number.isFinite(r)||Math.abs(r-n)<1)return!1;let i=e.drivenClasses??[V],a=i.filter(e=>!t.classList.contains(e));t.classList.add(...a),e.setHeightCssPx(n);let o=Dt(t,{...e.reason?{reason:e.reason}:{},fromCssPx:n,toCssPx:r,setHeightCssPx:e.setHeightCssPx,finish:()=>{t.classList.remove(...i),e.onSettled?.()}});return o||t.classList.remove(...a),o}let At=null;const jt={blipFrames:0,trace(e=2e3){return new Promise(t=>{let n=[],r=performance.now(),i=()=>{let a=At,o=a?.classList.contains(z)?`*`:``;n.push(`${Math.round(performance.now()-r)}: box=${document.documentElement.clientHeight} content=${a?Math.round(a.getBoundingClientRect().height):`-`}${o}`),performance.now()-r<e?requestAnimationFrame(i):t(n)};requestAnimationFrame(i)})}};function Mt(e){At=e;try{window.__seamsSurfaceMotion=jt}catch{}}function Nt(){let e=document.documentElement?.clientHeight??0;return e>0?e:window.innerHeight}function Pt(e,t,n){return Math.min(Math.max(e,t),n)}function Ft(e){return e.getAttribute(Tt)===`wallet-iframe`}function It(e){if(typeof CSSStyleSheet!=`function`||!(`adoptedStyleSheets`in document))return null;let t=null,n=()=>{e.classList.remove(z),document.documentElement.classList.remove(B)};return{set(n){try{t||=new CSSStyleSheet,t.replaceSync(`.${z}{height:${Math.max(0,Math.round(n))}px}.${B}{overflow:hidden}`),document.adoptedStyleSheets.includes(t)||(document.adoptedStyleSheets=[...document.adoptedStyleSheets,t])}catch{return!1}return e.classList.add(z),document.documentElement.classList.add(B),!0},release:n,dispose(){if(n(),!t)return;let e=t;t=null;try{document.adoptedStyleSheets=document.adoptedStyleSheets.filter(t=>t!==e)}catch{}}}}function Lt(e,t={}){let n=t.viewportHeightCssPx??Nt,r=It(e);Mt(e);let i=null,a=()=>{let e=i;e&&(i=null,e.frame!==null&&cancelAnimationFrame(e.frame),e.driver.setProgress(1),e.driver.finish(),r?.release())},o=()=>{let e=i;if(!e)return;e.frame=null;let t=n();t===e.lastViewportPx?e.framesSinceChange+=1:(e.lastViewportPx=t,e.framesSinceChange=0,e.moved=!0);let r=Pt((t-e.originHostPx)/e.deltaCssPx,0,1);if(r>=1){if(e.framesAtTarget+=1,e.sawIntermediate||e.framesAtTarget>=3){a();return}e.frame=requestAnimationFrame(o);return}e.framesAtTarget>0&&(jt.blipFrames+=1),e.framesAtTarget=0,r>0&&(e.sawIntermediate=!0),e.driver.setProgress(r);let s=e.moved?8:20;if(e.framesSinceChange>=s){a();return}e.frame=requestAnimationFrame(o)},s=wt(e,t=>{let s=t.detail;if(!r||!s||!Ft(e))return;let c=s.deltaCssPx;if(!Number.isFinite(c)||Math.abs(c)<1)return;a();let l=n(),u=e.getBoundingClientRect().height;if(!(l>0)||!(u>0)||Math.abs(l-u)>1)return;let d=Math.round(u),f=d+c;if(!(f>0)||!r.set(f))return;let p=s.claim();if(!p){r.release();return}i={driver:p,originHostPx:d,deltaCssPx:c,lastViewportPx:l,framesSinceChange:0,moved:!1,sawIntermediate:!1,framesAtTarget:0,frame:null},i.frame=requestAnimationFrame(o)});return{dispose(){s(),a(),r?.dispose()}}}function Rt(e){let t=e.size??`100%`,n=e.strokeWidth??2;return m(`svg`,{class:`padlock-icon seams-padlock-icon`,xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":n,"stroke-linecap":`round`,"stroke-linejoin":`round`,width:t,height:t,"aria-hidden":`true`,focusable:`false`,children:[m(`rect`,{width:`18`,height:`11`,x:`3`,y:`11`,rx:`2`,ry:`2`}),m(`path`,{d:`M7 11V7a5 5 0 0 1 10 0v4`})]})}let zt=0;var Bt=class extends f{id=`seams-halo-${++zt}`;element=d();motion=null;frame=null;startedAt=null;angle=null;componentDidMount(){this.motion=this.element.current.ownerDocument.defaultView.matchMedia(`(prefers-reduced-motion: no-preference)`),this.motion.addEventListener(`change`,this.updateAnimation),this.syncDynamicStyles(),this.updateAnimation()}componentDidUpdate(e){e.styles!==this.props.styles&&e.styles.deleteDynamicRule(this.id),e.innerPadding!==this.props.innerPadding&&this.syncDynamicStyles(),(e.animated!==this.props.animated||e.durationMs!==this.props.durationMs||e.styles!==this.props.styles)&&this.updateAnimation()}componentWillUnmount(){this.cancelFrame(),this.motion?.removeEventListener(`change`,this.updateAnimation),this.motion=null,this.props.styles.deleteDynamicRule(this.id)}cancelFrame(){let e=this.element.current?.ownerDocument.defaultView;this.frame!==null&&e?.cancelAnimationFrame(this.frame),this.frame=null,this.startedAt=null}updateAnimation=()=>{this.cancelFrame(),this.angle=null,this.syncDynamicStyles(),this.props.animated&&this.motion?.matches&&(this.frame=this.element.current.ownerDocument.defaultView.requestAnimationFrame(this.tick))};tick=e=>{if(!this.element.current||!this.props.animated||!this.motion?.matches)return;this.startedAt??=e;let t=this.props.durationMs,n=t&&Number.isFinite(t)&&t>0?t:1150;this.angle=`${(e-this.startedAt)%n/n*360}deg`,this.syncDynamicStyles(),this.frame=this.element.current.ownerDocument.defaultView.requestAnimationFrame(this.tick)};syncDynamicStyles(){let e={};if(this.props.innerPadding&&(e[`--inner-padding`]=this.props.innerPadding),this.angle&&(e[`--halo-angle`]=this.angle),Object.keys(e).length===0){this.props.styles.deleteDynamicRule(this.id);return}this.props.styles.setDynamicDeclarations(this.id,`#${this.id}`,e)}render(){return m(`div`,{id:this.id,ref:this.element,class:`seams-halo-border`,children:m(`div`,{class:`halo-root${this.props.animated?` animated`:``}`,children:m(`div`,{class:`halo-inner`,children:m(`div`,{class:`halo-outer`,children:[this.props.animated&&m(`div`,{class:`halo-ring`,"aria-hidden":`true`}),m(`div`,{class:`halo-content`,children:this.props.children})]})})})})}};function Vt(e){return m(`div`,{class:`seams-passkey-halo-loading`,"aria-hidden":`true`,children:m(`div`,{class:`seams-passkey-loading-root`,children:m(Bt,{animated:e.animated,innerPadding:e.innerPadding,styles:e.styles,children:m(`div`,{class:`seams-passkey-loading-touch-icon-container`,children:m(`svg`,{class:`seams-passkey-loading-touch-icon`,"data-icon":e.icon,width:e.size??36,height:e.size??36,viewBox:`0 0 24 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,focusable:`false`,children:e.icon===`mail`?m(Ht,{}):m(Ut,{})})})})})})}function Ht(){return m(h,{children:[m(`path`,{d:`M4.5 6.5H19.5C20.0523 6.5 20.5 6.94772 20.5 7.5V16.5C20.5 17.0523 20.0523 17.5 19.5 17.5H4.5C3.94772 17.5 3.5 17.0523 3.5 16.5V7.5C3.5 6.94772 3.94772 6.5 4.5 6.5Z`,stroke:`currentColor`,"stroke-width":`var(--seams-modal__passkey-halo-loading-touch-icon__stroke-width, 3)`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"vector-effect":`non-scaling-stroke`}),m(`path`,{d:`M4.25 7.25L12 12.75L19.75 7.25`,stroke:`currentColor`,"stroke-width":`var(--seams-modal__passkey-halo-loading-touch-icon__stroke-width, 3)`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"vector-effect":`non-scaling-stroke`})]})}function Ut(){return m(`path`,{d:`M6.40519 19.0481C6.58912 18.6051 6.75832 18.1545 6.91219 17.6969M14.3433 20.6926C14.6095 19.9418 14.8456 19.1768 15.0502 18.399C15.2359 17.6934 15.3956 16.9772 15.5283 16.2516M19.4477 17.0583C19.8121 15.0944 20.0026 13.0694 20.0026 11C20.0026 6.58172 16.4209 3 12.0026 3C10.7472 3 9.55932 3.28918 8.50195 3.80456M3.52344 15.0245C3.83663 13.7343 4.00262 12.3865 4.00262 11C4.00262 9.25969 4.55832 7.64917 5.50195 6.33621M12.003 11C12.003 13.7604 11.5557 16.4163 10.7295 18.8992C10.5169 19.5381 10.2792 20.1655 10.0176 20.7803M7.71227 14.5C7.90323 13.3618 8.00262 12.1925 8.00262 11C8.00262 8.79086 9.79348 7 12.0026 7C14.2118 7 16.0026 8.79086 16.0026 11C16.0026 11.6166 15.9834 12.2287 15.9455 12.8357`,stroke:`currentColor`,"stroke-width":`var(--seams-modal__passkey-halo-loading-touch-icon__stroke-width, 3)`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"vector-effect":`non-scaling-stroke`,pathLength:`1`})}function Wt(e){return m(h,{children:[m(`span`,{class:`loading-ellipsis`,"aria-hidden":`true`,children:[m(`span`,{class:`loading-ellipsis__dot`,children:`.`}),m(`span`,{class:`loading-ellipsis__dot`,children:`.`}),m(`span`,{class:`loading-ellipsis__dot`,children:`.`})]}),m(`span`,{class:`sr-only`,children:m(E,{copy:e.label})})]})}function Gt(e,t){return`${e.trim().replace(/\/$/,``)}/address/${encodeURIComponent(t)}`}function Kt(e){return m(`a`,{class:`highlight-receiver-id`,href:Gt(e.base,e.address),target:`_blank`,rel:`noopener noreferrer`,children:e.children})}function qt(e){let t=e.trim();return/^0x[0-9a-fA-F]{40}$/.test(t)?`${t.slice(0,8)}...${t.slice(-4)}`:t}function Jt(e){let t=e.label.trim().match(/^(Transaction(?:\s+\d+)?\s+to contract)\b/i);return t?`${t[1]} `:void 0}function Yt(e){throw Error(`Unsupported transaction action: ${String(e)}`)}function Xt(e){let t=e.action;if(t)switch(t.type){case b.FunctionCall:return`Calling ${t.methodName} with ${j(t.deposit)} using ${qe(t.gas)}`;case b.Transfer:return`Transfer ${j(t.amount)}`;case b.CreateAccount:return`Creating Account`;case b.DeleteAccount:return`Deleting Account`;case b.Stake:return`Staking ${j(t.stake)}`;case b.AddKey:return`Adding Key`;case b.DeleteKey:return`Deleting Key`;case b.DeployContract:return`Deploying WASM contract`;case b.DeployGlobalContract:return`Deploy global WASM contract (mode: ${t.deployMode}, size ${N(t.code)})`;case b.UseGlobalContract:return t.accountId?`Use global contract by account ${t.accountId}`:t.codeHash?`Use global contract by hash ${t.codeHash}`:`Use global contract`;default:return Yt(t)}if(e.transaction)return((e.totalTransactions??1)>1?`Transaction ${(e.transactionIndex??0)+1}: to `:`Transaction to `)+e.transaction.receiverId;let n=Jt(e);return e.contractAddress?.trim()&&n?n+qt(e.contractAddress):e.label}function Zt({node:e,explorers:t}){let n=e.action;if(n)switch(n.type){case b.FunctionCall:{let e=qe(n.gas),t=j(n.deposit);return m(h,{children:[m(E,{message:`Calling`}),` `,m(`span`,{class:`highlight-method-name`,children:n.methodName}),t!==`0 NEAR`&&m(h,{children:[` `,m(E,{message:`with`}),` `,m(`span`,{class:`highlight-method-name`,children:t})]}),e&&m(h,{children:[` `,m(E,{message:`using`}),` `,m(`span`,{class:`highlight-method-name`,children:e})]})]})}case b.Transfer:return m(h,{children:[m(E,{message:`Transfer`}),` `,m(`span`,{class:`highlight-amount`,children:j(n.amount)})]});case b.CreateAccount:return m(E,{message:`Creating Account`});case b.DeleteAccount:return m(E,{message:`Deleting Account`});case b.Stake:return m(E,{message:`Staking {value0}`,values:{value0:j(n.stake)}});case b.AddKey:return m(E,{message:`Adding Key`});case b.DeleteKey:return m(E,{message:`Deleting Key`});case b.DeployContract:return m(E,{message:`Deploying WASM contract ({value0})`,values:{value0:N(n.code)}});case b.DeployGlobalContract:return m(E,{copy:Xt(e)});case b.UseGlobalContract:return n.accountId?m(h,{children:[m(E,{message:`Use global contract`}),` `,m(Kt,{base:t.near,address:n.accountId,children:n.accountId})]}):n.codeHash?m(h,{children:[m(E,{message:`Use global contract by hash`}),` `,m(`span`,{class:`highlight-method-name`,children:M(n.codeHash,{prefix:10,suffix:6})})]}):m(E,{message:`Use global contract`});default:return Yt(n)}if(e.transaction)return m(h,{children:[m(E,{copy:(e.totalTransactions??1)>1?`Transaction ${(e.transactionIndex??0)+1}: to `:`Transaction to `}),m(Kt,{base:t.near,address:e.transaction.receiverId,children:e.transaction.receiverId})]});let r=Jt(e),i=e.contractAddress?.trim();if(i&&r){let n=e.chain&&e.chain!==`unknown`?t[e.chain]:void 0;return m(h,{children:[m(E,{copy:r}),n?m(Kt,{base:n,address:i,children:qt(i)}):m(`span`,{class:`highlight-receiver-id`,children:qt(i)})]})}let a=e.label.trim();if(a.toLowerCase().startsWith(`calling `)){let e=a.slice(8).trim(),t=e.toLowerCase().indexOf(` using `);if(t<0&&e)return m(h,{children:[m(E,{message:`Calling`}),` `,m(`span`,{class:`highlight-method-name`,children:e})]});let n=e.slice(0,t).trim(),r=e.slice(t+7).trim();if(t>=0&&n)return m(h,{children:[m(E,{message:`Calling`}),` `,m(`span`,{class:`highlight-method-name`,children:n}),r&&m(h,{children:[m(E,{message:`using`}),` `,r]})]})}return e.fieldLabel?m(h,{children:[m(E,{copy:e.fieldLabel}),e.label.slice(e.fieldLabel.length)]}):m(E,{copy:e.label})}const U=[`anim-h`,`anim-h-active`,`anim-h-driven`],Qt=[...U,`anim-h-hold`];let $t=0;function en(){return m(`svg`,{class:`chevron`,viewBox:`0 0 16 16`,"aria-hidden":`true`,children:m(`path`,{fill:`currentColor`,d:`M6 3l5 5-5 5z`})})}function tn(e){return!!e.contentVariants?.decoded&&!!e.contentVariants.raw&&e.contentVariants.decoded!==e.contentVariants.raw}function nn(e,t,n){return m(an,{node:n,depth:t,styles:e.styles,explorers:e.explorers,onToggle:e.onToggle,onCopy:e.onCopy},n.id)}function rn(e){if(!e.node.children?.length)return null;let t=m(`div`,{class:`tooltip-tree-root`,children:m(`div`,{class:`tooltip-tree-children`,children:e.node.children.map(nn.bind(null,e,1))})});return m(`div`,{class:`seams-tx-tree`,"data-theme":e.theme,children:e.showShadow?m(`div`,{class:`tooltip-border-outer`,children:t}):t})}var an=class extends f{static contextType=O;state={mode:this.props.node.contentVariants?.defaultMode===`raw`?`raw`:`decoded`,copied:!1};id=`seams-tree-node-${++$t}`;details=d();shell=d();disposed=!1;copiedTimer=null;frame=null;motionTimer=null;motion=null;modeHeight=null;componentDidUpdate(e){if(e.styles!==this.props.styles&&e.styles.deleteDynamicRule(this.id),this.modeHeight!==null&&this.shell.current){let e=this.shell.current,t=this.modeHeight;this.modeHeight=null,e.classList.remove(...U);let n=e.getBoundingClientRect().height;e.classList.add(...U),H({reason:`${this.props.node.id}:file-content-mode`,element:e,drivenClasses:U,fromCssPx:t,toCssPx:n,setHeightCssPx:this.setHeight,onSettled:this.releaseHeight})||(e.classList.remove(...U),this.releaseHeight())}}componentWillUnmount(){this.disposed=!0,this.copiedTimer!==null&&clearTimeout(this.copiedTimer),this.motionTimer!==null&&clearTimeout(this.motionTimer),this.frame!==null&&this.details.current?.ownerDocument.defaultView?.cancelAnimationFrame(this.frame),this.motion?.body.removeEventListener(`transitionend`,this.onTransitionEnd),this.motion=null,this.releaseHeight()}setHeight=e=>{this.disposed||this.props.styles.setDynamicDeclarations(this.id,`#${this.id}`,{"--seams-tree__anim-target":`${e}px`})};releaseHeight=()=>{this.props.styles.deleteDynamicRule(this.id)};clearCopied=()=>{this.copiedTimer=null,this.disposed||this.setState({copied:!1})};copy=async e=>{e.preventDefault(),e.stopPropagation();let t=this.props.node.copyValue;if(!t)return;let n=e.currentTarget.closest(`.seams-tx-tree`);if(n)try{if(!await pe(n,t)||this.disposed)return;this.copiedTimer!==null&&clearTimeout(this.copiedTimer),this.setState({copied:!0}),this.copiedTimer=setTimeout(this.clearCopied,2e3),this.props.onCopy?.(t)}catch{}};toggleMode=e=>{e.preventDefault(),e.stopPropagation(),tn(this.props.node)&&(this.shell.current&&(this.modeHeight=this.shell.current.getBoundingClientRect().height,this.setHeight(this.modeHeight),this.shell.current.classList.add(...U)),this.setState({mode:this.state.mode===`decoded`?`raw`:`decoded`}))};toggle=e=>{if(e.target.closest(`a, button`)){e.stopPropagation();return}e.preventDefault(),e.stopPropagation();let t=this.details.current;if(!t||this.motion)return;let n=t.querySelector(`:scope > .folder-children`),r=!t.open,i=t.ownerDocument.defaultView.matchMedia(`(prefers-reduced-motion: reduce)`).matches;if(!n||i){t.open=r,this.props.onToggle?.(this.props.node.id,r);return}this.motion={body:n,open:r};let a=r?0:n.getBoundingClientRect().height;this.setHeight(a),n.classList.add(`anim-h`,`anim-h-active`,`anim-h-hold`),t.open=!0,n.offsetHeight,this.frame=t.ownerDocument.defaultView.requestAnimationFrame(this.startMotion)};startMotion=()=>{if(this.frame=null,!this.motion||this.disposed)return;let{body:e,open:t}=this.motion,n=e.getBoundingClientRect().height,r=t?e.scrollHeight:0;H({reason:this.props.node.id,element:e,drivenClasses:U,fromCssPx:n,toCssPx:r,setHeightCssPx:this.setHeight,onSettled:this.finishMotion})||(e.addEventListener(`transitionend`,this.onTransitionEnd),e.classList.remove(`anim-h-hold`),this.setHeight(r),this.motionTimer=setTimeout(this.finishMotion,t?200:250))};onTransitionEnd=e=>{e.target===this.motion?.body&&e.propertyName===`height`&&this.finishMotion()};finishMotion=()=>{if(this.disposed||!this.motion)return;let{body:e,open:t}=this.motion;this.motion=null,this.motionTimer!==null&&clearTimeout(this.motionTimer),this.motionTimer=null,e.removeEventListener(`transitionend`,this.onTransitionEnd),e.classList.remove(...Qt),this.details.current&&(this.details.current.open=t),this.releaseHeight(),this.props.onToggle?.(this.props.node.id,t)};label(e){let t=this.props.node;return m(`span`,{class:`label${t.type===`file`?` label-action-node`:``}`,hidden:t.hideLabel,children:[e&&!t.hideChevron&&m(en,{}),m(`span`,{class:`label-text`,title:k(this.context,Xt(t)),children:m(Zt,{node:t,explorers:this.props.explorers})}),t.type===`file`&&t.copyValue&&m(`button`,{type:`button`,class:`copy-badge`,"data-copied":String(this.state.copied),onClick:this.copy,title:k(this.context,this.state.copied?`Copied`:`Copy`),children:this.state.copied?`copied`:`copy`})]})}render(){let{node:e,depth:t}=this.props,n=`row summary-row depth-${Math.max(0,t-1)}`;if(e.type===`file`&&!e.content)return m(`div`,{id:this.id,class:`row file-row depth-${Math.max(0,t-1)}`,"data-no-elbow":String(!!e.hideLabel),children:[m(`span`,{class:`indent`}),this.label(!1)]});let r=tn(e),i=r&&e.contentVariants?e.contentVariants[this.state.mode]:e.content,a=this.state.mode===`decoded`?`bytes`:`decoded`;return m(`details`,{id:this.id,ref:this.details,class:`tree-node ${e.type}`,open:!!e.open,"data-node-id":e.id,children:[m(`summary`,{class:n,"data-no-elbow":String(!!e.hideLabel),onClick:this.toggle,children:[m(`span`,{class:`indent`}),this.label(!0),e.type===`file`&&m(`div`,{ref:this.shell,class:`file-content-shell${r?` has-mode-toggle`:``}`,children:[r&&m(`button`,{type:`button`,class:`file-content-mode-toggle`,title:k(this.context,`Show ${a}`),"aria-label":k(this.context,`Show ${a}`),onClick:this.toggleMode,children:m(E,{copy:a})}),m(`div`,{class:`file-content`,children:i})]})]}),e.type===`folder`&&!!e.children?.length&&m(`div`,{class:`folder-children`,children:e.children.map(nn.bind(null,this.props,t+1))})]})}};let on=0;function sn(e){e.stopPropagation()}var cn=class extends f{static contextType=O;state={armed:!1};id=`seams-confirm-content-${++on}`;root=d();reflow;frame=null;capturedBeforeUpdate=!1;reflowEnabled=!0;constructor(e){super(e),this.reflow=Ot({reason:`tx-body`,element:this.getReflowElement,setHeightCssPx:this.setHeight})}getReflowElement=()=>{let e=this.root.current;return e?.closest(`.modal-container-root, .seams-confirmation-drawer`)??e};setHeight=e=>{let t=this.getReflowElement(),n=t?.id?`#${t.id}`:`#${this.id}`;this.props.styles.setDynamicDeclarations(this.id,n,{[Et]:`${e}px`})};componentDidMount(){this.reflowEnabled=this.getReflowElement()===this.root.current,this.frame=this.root.current.ownerDocument.defaultView.requestAnimationFrame(this.afterFirstPaint)}afterFirstPaint=()=>{this.frame=this.root.current.ownerDocument.defaultView.requestAnimationFrame(this.arm)};arm=()=>{this.frame=null,this.setState({armed:!0})};componentWillReceiveProps(){this.reflowEnabled&&(this.reflow.capture(),this.capturedBeforeUpdate=!0)}componentWillUpdate(){this.reflowEnabled&&(this.capturedBeforeUpdate||this.reflow.capture())}componentDidUpdate(e){this.reflowEnabled&&(this.capturedBeforeUpdate=!1,e.styles!==this.props.styles&&e.styles.deleteDynamicRule(this.id),this.reflow.commit())}componentWillUnmount(){this.frame!==null&&this.root.current?.ownerDocument.defaultView?.cancelAnimationFrame(this.frame),this.frame=null,this.reflow.dispose(),this.props.styles.deleteDynamicRule(this.id)}confirm=()=>{this.state.armed&&this.props.decision.kind===`ready`&&this.props.decision.onConfirm()};cancel=()=>{this.props.onCancel()};render(){let e=this.props.decision.kind===`preparing`;return m(`div`,{class:`seams-tx-confirm-content`,onPointerDown:sn,onMouseDown:sn,onTouchStart:sn,children:m(`div`,{id:this.id,ref:this.root,class:`txc-root`,children:[this.props.errorMessage&&m(`div`,{class:`error`,role:`alert`,children:m(E,{copy:this.props.errorMessage})}),this.props.tree&&m(`div`,{class:`tooltip-width`,children:m(rn,{node:this.props.tree,theme:this.props.theme,explorers:this.props.explorers,styles:this.props.styles,showShadow:!1,onToggle:this.props.onTreeToggle,onCopy:this.props.onCopy})}),this.props.authMethodApprovalMessage&&m(`p`,{class:`seams-voiceid-instructions`,"data-seams-voice-id":`required`,role:`status`,children:this.props.authMethodApprovalMessage}),m(`div`,{class:`actions`,children:[!this.props.cancelInHeader&&m(`button`,{type:`button`,class:`cancel`,onClick:this.cancel,children:m(E,{copy:this.props.cancelText})}),m(`button`,{type:this.props.decision.kind===`form`?`submit`:`button`,form:this.props.decision.kind===`form`?this.props.decision.formId:void 0,class:`confirm${e?` loading`:``}`,onClick:this.confirm,disabled:e||!this.state.armed,children:e?m(h,{children:[m(`span`,{class:`loading-indicator`,role:`progressbar`,"aria-label":T(this.context,`Loading`)}),m(`span`,{children:m(E,{message:`Loading...`})})]}):m(h,{children:[this.props.confirmIcon,m(E,{copy:this.props.confirmText})]})})]})]})})}};function ln(e){throw Error(`Unexpected confirmation body: ${String(e)}`)}var un=class extends f{static contextType=O;copy=()=>{this.props.model.kind===`funding`&&this.props.onCopyAccount(this.props.model.accountId)};render(){let e=this.props.model;switch(e.kind){case`empty`:return null;case`text`:return m(`div`,{class:`confirmation-body`,children:m(E,{copy:e.text})});case`status`:return m(`div`,{class:`confirmation-body confirmation-body--status`,children:m(E,{copy:e.text})});case`funding`:return m(`div`,{class:`confirmation-body confirmation-body--funding`,children:[m(E,{message:`NEAR account`}),m(`button`,{type:`button`,class:`confirmation-body__copy-target`,title:k(this.context,`Copy ${e.accountId}`),"aria-label":k(this.context,`Copy NEAR account ${e.accountId}`),onClick:this.copy,children:e.shortAccountId}),m(E,{message:`needs funding`})]});default:return ln(e)}}};function dn(e){let t=w();return m(`div`,{class:`passkey-registration-confirm__identity`,"aria-label":T(t,`Passkey registration details`),children:[m(`div`,{class:`passkey-registration-confirm__row`,children:[m(`span`,{class:`passkey-registration-confirm__label`,children:m(E,{message:`Account`})}),m(`span`,{class:`passkey-registration-confirm__value`,title:k(t,e.display.intendedUserName),children:e.display.intendedUserName})]}),m(`div`,{class:`passkey-registration-confirm__row`,children:[m(`span`,{class:`passkey-registration-confirm__label`,children:m(E,{message:`Website`})}),m(`span`,{class:`passkey-registration-confirm__value`,title:k(t,e.display.rpId),children:e.display.rpId})]})]})}var fn=class extends f{static contextType=O;confirm=()=>{this.props.decision.kind===`ready`&&this.props.decision.onConfirm()};cancel=()=>{this.props.onCancel()};render(){let e=this.props.decision.kind===`creating`;return m(`div`,{ref:this.props.root,class:`passkey-registration-confirm`,children:[m(`div`,{class:`hero passkey-registration-confirm__hero`,children:[m(Vt,{animated:!this.props.errorMessage,icon:`fingerprint`,size:44,styles:this.props.styles}),m(`div`,{class:`hero-container passkey-registration-confirm__hero-copy`,children:[m(`h2`,{class:`hero-heading`,children:m(E,{copy:this.props.heading})}),m(`p`,{class:`passkey-registration-confirm__body`,children:m(E,{copy:this.props.body})})]})]}),this.props.errorMessage&&m(`div`,{class:`error-banner`,children:m(E,{copy:this.props.errorMessage})}),m(dn,{display:this.props.display}),m(`div`,{class:`passkey-registration-confirm__actions`,children:[m(`button`,{type:`button`,class:`btn btn-cancel`,onClick:this.cancel,children:m(E,{copy:this.props.cancelText})}),m(`button`,{type:`button`,class:`btn btn-confirm`,disabled:e,onClick:this.confirm,children:e?m(h,{children:[m(`span`,{class:`loading-indicator passkey-registration-confirm__spinner`,role:`progressbar`,"aria-label":T(this.context,`Creating passkey`)}),m(`span`,{class:`passkey-registration-confirm__busy-label`,children:m(E,{message:`Creating passkey...`})})]}):m(E,{message:`Create passkey`})})]})]})}};let pn=0;var mn=class extends f{id=`seams-email-code-${++pn}`;input=e=>{this.props.state.kind===`editing`&&this.props.state.onInput(e.currentTarget.value)};resend=()=>{this.props.resend?.kind===`available`&&this.props.resend.onResend()};renderDigit=e=>{let t=this.props.code[e]||``;return m(`span`,{class:`email-otp-confirm__slot${t?` is-filled`:``}`,children:t},e)};render(){let e=this.props.state.kind!==`editing`,t=`${this.id}-helper`,n=`${this.id}-error`;return m(`div`,{class:`email-otp-confirm`,children:[m(`label`,{class:`email-otp-confirm__label`,for:this.id,children:m(E,{message:`Email code`})}),m(`div`,{class:`email-otp-confirm__code-field`,"data-disabled":e?`true`:`false`,children:[m(`input`,{id:this.id,name:`email-code`,type:`text`,class:`email-otp-confirm__input`,inputMode:`numeric`,autoComplete:`one-time-code`,"data-email-otp-challenge-id":this.props.challengeId,pattern:`[0-9]*`,maxLength:6,spellcheck:!1,value:this.props.code,disabled:e,onInput:this.input,"aria-invalid":this.props.errorMessage?`true`:void 0,"aria-describedby":this.props.errorMessage?`${t} ${n}`:t}),m(`div`,{class:`email-otp-confirm__slots${e?` is-submitting`:``}`,"aria-hidden":`true`,children:[0,1,2,3,4,5].map(this.renderDigit)})]}),m(`div`,{id:t,class:`email-otp-confirm__helper`,children:m(E,{copy:this.props.helperText})}),this.props.errorMessage&&m(`div`,{id:n,class:`email-otp-confirm__error`,children:m(E,{copy:this.props.errorMessage})}),this.props.resend&&m(`button`,{type:`button`,class:`email-otp-confirm__resend`,disabled:this.props.resend.kind===`unavailable`,onClick:this.resend,children:m(E,{copy:this.props.resend.label})})]})}},hn=class{codeState={kind:`editing`,code:``};resendState={kind:`available`,label:`Resend code`};error=``;countdown=null;options;constructor(e){this.options=e}input=e=>{if(this.codeState.kind!==`editing`)return;let t=e.replace(/\D/g,``).slice(0,6);this.error=``,this.codeState={kind:`editing`,code:t},t.length===6?this.confirm():this.publish()};confirm(){if(this.codeState.kind!==`editing`)return`ignored`;let e=this.codeState.code;return e.length===6?(this.error=``,this.codeState={kind:`fading`,code:e,timer:setTimeout(this.submit,150)},this.publish(),`accepted`):(this.error=`Enter the 6-digit Email OTP code.`,this.publish(),`invalid`)}submit=()=>{if(this.codeState.kind!==`fading`)return;let e=this.codeState.code;this.codeState={kind:`submitting`,code:e},this.publish(),this.isDisposed()||this.options.onSubmit(e)};retry(e){this.codeState.kind!==`disposed`&&(this.cancelFade(),this.codeState={kind:`editing`,code:this.codeState.code},this.error=e,this.publish())}setVerification(e){if(this.codeState.kind!==`disposed`)switch(e.kind){case`ready`:this.codeState.kind===`submitting`&&this.retry(``);return;case`pending`:this.cancelFade(),this.codeState={kind:`submitting`,code:this.codeState.code},this.publish();return;case`rejected`:this.retry(e.message);return}}resend=async()=>{if(this.codeState.kind!==`editing`||this.resendState.kind!==`available`)return;let e=this.options.resend;if(!e)return;let t=Date.now()+e.cooldownMs,n={kind:`sending`,until:t};if(this.resendState=n,this.error=``,this.publish(),this.isDisposed())return;let r;try{r=await e.send()}catch{r={kind:`failed`,message:`Could not send code.`}}if(this.isDisposed()||this.resendState!==n)return;let i=r.kind===`sent`?`Code sent`:`Resend code`;r.kind===`failed`&&(this.error=r.message),Date.now()>=t?this.resendState={kind:`available`,label:i}:(this.resendState={kind:`cooldown`,until:t,label:i},this.countdown=setInterval(this.tick,250)),this.publish()};tick=()=>{this.resendState.kind===`cooldown`&&(Date.now()>=this.resendState.until&&(this.resendState={kind:`available`,label:this.resendState.label},this.clearCountdown()),this.publish())};isDisposed(){return this.codeState.kind===`disposed`}publish(){this.codeState.kind!==`disposed`&&this.options.onChange({code:this.codeState.code,phase:this.codeState.kind,error:this.error,resend:this.options.resend?this.resendSnapshot():null})}resendSnapshot(){switch(this.resendState.kind){case`available`:return{available:this.codeState.kind===`editing`,label:this.resendState.label};case`sending`:return{available:!1,label:`Sending...`};case`cooldown`:return{available:!1,label:`Resend in ${Math.max(1,Math.ceil((this.resendState.until-Date.now())/1e3))}s`}}}cancelFade(){this.codeState.kind===`fading`&&clearTimeout(this.codeState.timer)}clearCountdown(){this.countdown!==null&&clearInterval(this.countdown),this.countdown=null}dispose(){this.cancelFade(),this.clearCountdown(),this.codeState={kind:`disposed`},this.error=``}};function gn(e){return m(_n,{...e},e.prompt.challengeId)}var _n=class extends f{static contextType=O;session;form=d();lifetime;constructor(e){super(e),this.lifetime={kind:`active`,challengeId:e.prompt.challengeId,emailHint:e.prompt.emailHint?.trim()||``},this.state={code:``,phase:`editing`,error:``,resend:e.prompt.onResend?{available:!0,label:`Resend code`}:null},this.session=new hn({onSubmit:this.submit,onChange:this.change,resend:e.prompt.onResend?{send:this.send,cooldownMs:Math.max(1e3,Math.floor(Number(e.prompt.resendDebounceMs)||1e4))}:null})}submit=e=>{this.lifetime.kind===`active`&&this.props.onSubmit(e,this.lifetime.challengeId)};send=async()=>{let e=this.props.prompt.onResend;if(!e)return{kind:`failed`,message:`Could not send code.`};try{let t=await e();if(this.lifetime.kind===`disposed`)return{kind:`sent`};let n=String(t?.challengeId||``).trim(),r=String(t?.emailHint||``).trim();return n&&(this.lifetime={kind:`active`,challengeId:n,emailHint:r||this.lifetime.emailHint}),{kind:`sent`}}catch(e){return{kind:`failed`,message:yn(e)}}};change=e=>{this.setState(e)};confirm=e=>{e.preventDefault(),e.stopPropagation(),this.session.confirm()===`invalid`&&this.setState({},this.focusCode)};focusCode=()=>{this.form.current?.querySelector(`input`)?.focus({preventScroll:!0})};componentDidMount(){this.session.setVerification(this.props.verification)}componentDidUpdate(e){vn(e.verification,this.props.verification)&&this.session.setVerification(this.props.verification)}componentWillUnmount(){this.lifetime={kind:`disposed`},this.session.dispose()}inputState(){switch(this.state.phase){case`editing`:return{kind:`editing`,onInput:this.session.input};case`fading`:return{kind:`fading`};case`submitting`:return{kind:`submitting`}}}resendAction(){let e=this.state.resend;return e?e.available?{kind:`available`,label:e.label,onResend:this.session.resend}:{kind:`unavailable`,label:e.label}:null}render(){return m(`form`,{ref:this.form,id:this.props.formId,onSubmit:this.confirm,noValidate:!0,children:m(mn,{challengeId:this.lifetime.kind===`active`?this.lifetime.challengeId:``,code:this.state.code,helperText:this.props.prompt.helperText?.trim()||oe(this.lifetime.kind===`active`?this.lifetime.emailHint:``),errorMessage:k(this.context,this.state.error||void 0),state:this.inputState(),resend:this.resendAction()})})}};function vn(e,t){return e.kind===t.kind?e.kind===`rejected`&&t.kind===`rejected`&&e.message!==t.message:!0}function yn(e){if(e&&typeof e==`object`&&`code`in e&&e.code===`rate_limited`){let t=`retryAfterMs`in e?Number(e.retryAfterMs):NaN;return Number.isFinite(t)&&t>0?`Too many requests. Try again in ${Math.max(1,Math.ceil(t/1e3))}s.`:`Too many requests. Try again shortly.`}return e instanceof Error&&e.message?e.message:`Could not send code.`}let bn=0;var xn=class extends f{root=d();id=`seams-review-disclosure-${++bn}`;componentDidMount(){this.root.current&&(this.root.current.open=this.props.initiallyOpen??!1)}motion=null;componentWillUnmount(){this.clearMotion(),this.root.current&&D(this.root.current.ownerDocument).deleteDynamicRule(this.id)}clearMotion(){this.motion&&(this.motion.kind===`local`&&(this.motion.size.onfinish=null,this.motion.size.cancel(),this.motion.fade.cancel()),this.motion=null,this.root.current?.removeAttribute(`data-resizing`))}setHeight=e=>{let t=this.root.current;t&&D(t.ownerDocument).setDynamicDeclarations(this.id,`#${this.id}`,{"--seams-review-disclosure-height":`${e}px`})};finish=()=>{let e=this.motion?.kind===`local`;if(this.root.current&&this.motion&&(this.root.current.open=this.motion.opening,this.root.current.removeAttribute(`data-closing`)),this.clearMotion(),e){let e=this.root.current?.closest(`.seams-confirmation-surface`),t=e?.ownerDocument.activeElement;if(t instanceof HTMLElement&&t.tabIndex>=0&&e?.contains(t)){let e=t.getBoundingClientRect(),n=t.ownerDocument.documentElement.clientHeight;(e.top<0||e.bottom>n)&&t.scrollIntoView({block:`center`,inline:`nearest`})}}};toggle=e=>{let t=this.root.current;if(!t||(e.preventDefault(),this.motion?.kind===`hosted`))return;let n=this.motion?!this.motion.opening:!t.open,r=t.lastElementChild;if(!(r instanceof HTMLElement))return;let i=t.open?r.getBoundingClientRect().height:0;if(this.clearMotion(),t.toggleAttribute(`data-closing`,!n),window.matchMedia(`(prefers-reduced-motion: reduce)`).matches||!t.animate){t.open=n,t.removeAttribute(`data-closing`);return}t.open=!0,t.setAttribute(`data-resizing`,``);let a=n?r.scrollHeight:0;if(this.motion={kind:`hosted`,opening:n},H({element:r,reason:`review-details`,fromCssPx:i,toCssPx:a,drivenClasses:[`seams-review-disclosure-driven`],setHeightCssPx:this.setHeight,onSettled:this.finish}))return;let o=r.animate([{height:`${i}px`,overflow:`hidden`},{height:`${a}px`,overflow:`hidden`}],{duration:n?220:180,easing:`cubic-bezier(.2,0,0,1)`,fill:`both`});this.motion={kind:`local`,opening:n,size:o,fade:r.animate(n?[{opacity:0},{opacity:1}]:[{opacity:1},{opacity:0}],{duration:n?180:100,easing:`ease-out`,fill:`both`})},o.onfinish=this.finish};render(){return m(`details`,{ref:this.root,class:`seams-review-${this.props.kind??`technical`}`,children:[m(`summary`,{onClick:this.toggle,children:[m(E,{copy:this.props.label}),m(`svg`,{class:`seams-review-caret`,viewBox:`0 0 20 20`,width:`16`,height:`16`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.6`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"aria-hidden":`true`,children:m(`path`,{d:`m5 7.5 5 5 5-5`})})]}),m(`div`,{id:this.id,children:this.props.children})]})}};function W({kind:e}){let t={back:`m15 6-6 6 6 6`,close:`M6 6l12 12M6 18L18 6`,minimize:`M5 12h14`,check:`m5 12 4 4L19 6`,arrow:`M7 17 17 7M7 7h10v10`,copy:`M8 8h12v12H8ZM4 16V4h12`,loader:`M12 3a9 9 0 1 1-9 9`,alert:`M12 8v5m0 3v.1M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0`,fingerprint:`M6.405 19.048c.184-.443.353-.894.507-1.351M14.343 20.693c.266-.751.502-1.516.707-2.294.186-.706.346-1.422.478-2.147M19.448 17.058c.364-1.964.555-3.989.555-6.058 0-4.418-3.582-8-8-8-1.255 0-2.443.289-3.501.805M3.523 15.025c.314-1.29.48-2.638.48-4.025 0-1.74.556-3.351 1.499-4.664M12.003 11c0 2.76-.447 5.416-1.273 7.899-.213.639-.451 1.266-.712 1.881M7.712 14.5c.191-1.138.291-2.308.291-3.5 0-2.209 1.791-4 4-4s4 1.791 4 4c0 .617-.02 1.229-.058 1.836`};return m(`svg`,{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.6`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"aria-hidden":`true`,children:m(`path`,{d:t[e]})})}function Sn(e){return e?e.chain===`evm`&&e.chainId===5042?`Arc`:e.chain===`evm`&&e.chainId===5042002?`Arc Testnet`:e.chain===`evm`&&e.chainId===8453?`Base`:e.chain===`evm`&&e.chainId===84532?`Base Sepolia`:e.chain===`evm`&&e.chainId===1?`Ethereum`:e.chain===`evm`&&e.chainId===11155111?`Ethereum Sepolia`:`${e.chain.toUpperCase()}${e.chainId?` · ${e.chainId}`:``}`:`Wallet transaction`}function Cn(e){if(e?.operations.length!==1)return null;let t=e.operations[0];return t.kind===`generic.contractCall`||t.kind===`tempo.eip2718`?t.to??null:null}function wn({value:e,class:t}){let n=w();return m(`bdi`,{class:`seams-review-middle ${t}`,dir:`ltr`,title:k(n,e),children:[m(`span`,{children:e.slice(0,-8)}),m(`span`,{children:e.slice(-8)})]})}function Tn({symbol:e}){return e===`NEAR`?m(`svg`,{class:`seams-review-token`,viewBox:`0 0 48 48`,"aria-hidden":`true`,children:[m(`circle`,{cx:`24`,cy:`24`,r:`24`,fill:`#000`}),m(`svg`,{x:`9`,y:`9`,width:`30`,height:`30`,viewBox:`108 108 351 351`,children:m(`path`,{d:`m421.61,108c-13,0-25.07,6.74-31.88,17.82l-73.37,108.93c-2.39,3.59-1.42,8.43,2.17,10.82,2.91,1.94,6.76,1.7,9.41-.58l72.22-62.64c1.2-1.08,3.05-.97,4.13.23.49.55.75,1.26.75,1.99v196.12c0,1.62-1.31,2.92-2.93,2.92-.87,0-1.69-.38-2.24-1.05L181.56,121.24c-7.11-8.39-17.55-13.23-28.54-13.24h-7.63c-20.65,0-37.39,16.74-37.39,37.39v276.22c0,20.65,16.74,37.39,37.39,37.39,13,0,25.07-6.74,31.88-17.82l73.37-108.93c2.39-3.59,1.42-8.43-2.17-10.82-2.91-1.94-6.76-1.7-9.41.58l-72.22,62.64c-1.2,1.08-3.05.97-4.13-.23-.49-.55-.75-1.26-.74-1.99v-196.17c0-1.62,1.31-2.92,2.93-2.92.86,0,1.69.38,2.24,1.05l218.28,261.37c7.11,8.39,17.55,13.23,28.54,13.24h7.63c20.65.01,37.4-16.72,37.42-37.37V145.39c0-20.65-16.74-37.39-37.39-37.39Z`,fill:`#fff`})})]}):e===`ETH`?m(`svg`,{class:`seams-review-token`,viewBox:`0 0 42 42`,"aria-hidden":`true`,children:[m(`circle`,{cx:`21`,cy:`21`,r:`21`,fill:`#eef0fb`}),m(`path`,{d:`m21 6-9 15 9 5 9-5Z`,fill:`#627eea`}),m(`path`,{d:`m21 6 9 15-9 5Z`,fill:`#465da9`}),m(`path`,{d:`m12 23 9 13 9-13-9 5Z`,fill:`#627eea`})]}):e===`USDC`?m(`svg`,{class:`seams-review-token`,viewBox:`0 0 96 96`,fill:`none`,"aria-hidden":`true`,children:[m(`path`,{d:`M48 95C73.9574 95 95 73.9574 95 48C95 22.0426 73.9574 1 48 1C22.0426 1 1 22.0426 1 48C1 73.9574 22.0426 95 48 95Z`,fill:`#0B53BF`}),m(`path`,{d:`M56.4609 13.7778V19.8291C68.5341 23.4716 77.3759 34.6928 77.3759 47.9997C77.3759 61.3066 68.5341 72.5278 56.4609 76.1703V82.2216C71.8534 78.4616 83.2509 64.5672 83.2509 47.9997C83.2509 31.4322 71.8534 17.5378 56.4609 13.7778Z`,fill:`white`}),m(`path`,{d:`M18.625 47.9997C18.625 34.6928 27.4669 23.4716 39.54 19.8291V13.7778C24.1475 17.5378 12.75 31.4322 12.75 47.9997C12.75 64.5672 24.1475 78.4616 39.54 82.2216V76.1703C27.4669 72.5572 18.625 61.3066 18.625 47.9997Z`,fill:`white`}),m(`path`,{d:`M60.6319 54.5506C60.6319 42.5362 41.8025 47.4713 41.8025 40.8325C41.8025 38.4531 43.7119 36.9256 47.3544 36.9256C51.7019 36.9256 53.2 39.0406 53.67 41.89H59.6625C59.1279 36.5426 56.0588 33.1662 50.9382 32.1604V27.4375H45.0632V31.9918C39.4534 32.7062 35.9275 35.973 35.9275 40.8325C35.9275 52.9056 54.7863 48.3819 54.7863 54.9031C54.7863 57.3706 52.4069 59.0156 48.3825 59.0156C43.1244 59.0156 41.3913 56.695 40.745 53.4931H34.8994C35.2781 59.3502 38.8897 63.0159 45.0632 63.9307V68.5625H50.9382V63.9923C56.9633 63.2139 60.6319 59.7089 60.6319 54.5506Z`,fill:`white`})]}):m(`span`,{class:`seams-review-token seams-review-token-fallback`,"aria-hidden":`true`,children:e.slice(0,1)})}function En({model:e,compact:t=!1}){let n=kn(e);return n?m(`div`,{class:`seams-review-amount${t?` seams-review-amount--compact`:``}`,children:[m(Tn,{symbol:n.symbol}),m(`div`,{children:[m(`span`,{children:n.value}),` `,m(`small`,{children:n.symbol})]})]}):null}function Dn(){return m(`div`,{class:`seams-receipt-footer`,children:[m(`span`,{children:m(E,{message:`Secured by`})}),` `,m(_,{})]})}function On(e,t){if(!/^\d+$/.test(e))return e;let n=e.padStart(t+1,`0`),r=n.slice(-t).replace(/0+$/,``);return`${n.slice(0,-t)}${r?`.${r}`:``}`}function kn(e){let t=e?.totals;return t?.nativeValue?t.nativeSymbol===`yoctoNEAR`?{value:On(t.nativeValue,24),symbol:`NEAR`}:e?.chain===`evm`&&(e.chainId===5042||e.chainId===5042002)&&t.nativeSymbol===`wei`?{value:On(t.nativeValue,18),symbol:`USDC`}:{value:t.nativeValue,symbol:t.nativeSymbol??``}:null}var G=class extends f{static contextType=O;state={copied:!1};lifetime=new AbortController;timer=null;resetCopied=()=>{this.setState({copied:!1})};componentWillUnmount(){this.lifetime.abort(),this.timer!==null&&clearTimeout(this.timer)}componentDidUpdate(e){e.value!==this.props.value&&(this.lifetime.abort(),this.lifetime=new AbortController,this.timer!==null&&clearTimeout(this.timer),this.resetCopied())}copy=async e=>{let t=e.currentTarget;if(!(t instanceof HTMLElement))return;let n=this.lifetime.signal;try{if(!await pe(t,this.props.value,n)||n.aborted)return;this.setState({copied:!0}),this.timer!==null&&clearTimeout(this.timer),this.timer=setTimeout(this.resetCopied,3e3)}catch{n.aborted||this.setState({copied:!1})}};render(){return m(`button`,{type:`button`,class:`seams-review-copy${this.props.address?` seams-review-copy-address`:``}${this.state.copied?` copied`:``}`,onClick:this.copy,"aria-label":k(this.context,this.state.copied?`Copied`:this.props.label??`Copy value`),children:[this.props.address&&m(`bdi`,{class:`seams-review-full-address`,dir:`ltr`,children:this.props.value}),m(he,{})]})}};function An({node:e}){let t=w();if(e.action||e.transaction)return m(h,{children:m(E,{copy:Xt(e)})});let n=Jt(e);if(n&&e.contractAddress){let r=e.contractAddress;return m(`span`,{class:`seams-review-contract`,children:[m(E,{copy:n.trim()}),m(`span`,{class:`seams-review-contract-value`,children:[m(wn,{value:r,class:`seams-review-contract-address`}),m(G,{value:r,label:k(t,`Copy contract address ${r}`)})]})]})}if(e.fieldLabel){let t=e.label.slice(e.fieldLabel.length);return m(h,{children:[m(E,{copy:e.fieldLabel}),e.fieldLabel===`Method:`?m(`span`,{class:`seams-review-function`,children:t}):t]})}let r=/^(Call(?:ing)? )([^\s]+)(.*)$/.exec(e.label);return r?m(h,{children:[m(E,{copy:r[1]}),m(`span`,{class:`seams-review-function`,children:r[2]}),r[3]]}):m(h,{children:m(E,{copy:e.label})})}function jn({node:e}){let t=w(),n=e.contentVariants?.decoded??e.content,r=!!(e.contentVariants||n?.includes(`
|
|
2
|
-
`));return m(`div`,{class:`seams-review-detail`,children:[m(`div`,{class:n?`seams-review-detail-row${r?` seams-review-detail-row--block`:``}`:`seams-review-detail-label`,children:[m(`span`,{children:m(An,{node:e})}),n&&m(`pre`,{children:n}),e.copyValue&&m(G,{value:e.copyValue})]}),e.contentVariants&&m(xn,{label:T(t,`Raw data`),kind:`raw`,children:m(`pre`,{children:e.contentVariants.raw})}),!!e.children?.length&&m(`div`,{class:`seams-review-detail-children`,children:e.children?.map(e=>m(jn,{node:e},e.id))})]})}function Mn({data:e,details:t=!0}){let n=w(),r=e.model,i=r?.operations[0],a=Cn(r);return m(`div`,{class:`seams-transaction-review`,children:[m(En,{model:r}),r?.warnings?.map(e=>m(`div`,{class:`seams-review-warning`,role:`alert`,children:m(E,{copy:e.message})},e.code)),m(`dl`,{class:`seams-review-fields`,children:[a&&m(`div`,{children:[m(`dt`,{children:m(E,{message:`To`})}),m(`dd`,{class:`seams-review-recipient`,children:m(G,{value:a,address:!0,label:k(n,`Copy recipient address ${a}`)})})]}),r&&m(`div`,{children:[m(`dt`,{children:m(E,{message:`Network`})}),m(`dd`,{children:[m(`span`,{class:`seams-review-network-dot`}),Sn(r)]})]}),r?.totals?.estimatedFee&&m(`div`,{children:[m(`dt`,{children:m(E,{message:`Estimated network fee`})}),m(`dd`,{children:[r.totals.estimatedFee,` `,r.totals.feeSymbol]})]})]}),t&&e.tree&&m(xn,{initiallyOpen:e.detailsInitiallyOpen,label:k(n,i?.kind===`near.message`?`Message details`:`Transaction details`),children:m(jn,{node:e.tree})}),r?.signerAccount&&m(`div`,{class:`seams-review-account`,children:[m(`span`,{class:`seams-review-avatar`,"aria-hidden":`true`,children:`S`}),m(`div`,{children:[m(E,{message:`Signing account`}),m(`small`,{children:m(G,{value:r.signerAccount,address:!0,label:k(n,`Copy signing account address ${r.signerAccount}`)})})]})]})]})}let Nn=0;var Pn=class extends f{static contextType=O;root=d();otpFormId=`seams-confirmation-email-${++Nn}`;reflowId=`seams-confirmation-content-surface-${Nn}`;getReflowElement=()=>this.root.current?.closest(`.modal-container-root, .seams-confirmation-drawer`)??null;setHeight=e=>{let t=this.getReflowElement();t?.id&&this.props.styles.setDynamicDeclarations(this.reflowId,`#${t.id}`,{[Et]:`${e}px`})};reflow=Ot({reason:`confirm-body`,element:this.getReflowElement,setHeightCssPx:this.setHeight});copyAccount=e=>{let t=this.root.current;t&&pe(t,e).catch(Fn)};componentWillReceiveProps(){this.reflow.capture()}componentDidUpdate(e){e.styles!==this.props.styles&&e.styles.deleteDynamicRule(this.reflowId),this.reflow.commit()}componentWillUnmount(){this.reflow.dispose(),this.props.styles.deleteDynamicRule(this.reflowId)}render(){let e=this.props.model;switch(e.kind){case`registration`:return m(fn,{...e.registration,root:this.root,styles:this.props.styles});case`transaction`:return this.renderTransaction(e);default:return In(e)}}renderTransaction(e){let t=this.props.variant===`drawer`?`seams-confirmation-content seams-confirmation-content--drawer`:`seams-confirmation-content`,n=e.prompt.kind===`email`&&e.transaction.decision.kind===`ready`?{kind:`form`,formId:this.otpFormId}:e.transaction.decision;return e.capture?m(`div`,{ref:this.root,class:t,children:m(`div`,{class:`seams-review-content seams-review-content--capture`,children:[this.props.variant!==`drawer`&&this.renderToolbar(e,n),m(Ln,{element:e.capture}),m(Dn,{})]})}):m(`div`,{ref:this.root,class:t,children:m(`div`,{class:`seams-review-content`,children:[this.props.variant!==`drawer`&&this.renderToolbar(e,n),e.review.model&&m(`div`,{class:`seams-review-eyebrow`,children:e.review.model.operations.length===1?m(E,{copy:e.review.model.operations[0].label.replace(/\s+using\s+[\d,.]+\s+gas$/i,``)}):m(E,{message:`Transaction`})}),m(`h2`,{class:`seams-review-title`,children:m(E,{copy:e.header.heading})}),m(Mn,{data:e.review}),m(`div`,{class:`seams-review-context`,children:[m(un,{model:e.body,onCopyAccount:this.copyAccount}),e.prompt.kind===`email`&&m(gn,{...e.prompt.email,formId:this.otpFormId})]}),m(cn,{...e.transaction,tree:null,styles:this.props.styles,decision:n,cancelInHeader:!0,confirmIcon:e.prompt.kind===`passkey`?m(W,{kind:`fingerprint`}):void 0}),m(Dn,{})]})})}renderToolbar(e,t){return m(`div`,{class:`seams-review-toolbar`,children:[m(`div`,{class:`seams-review-origin`,children:[e.transaction.onBack&&m(`button`,{type:`button`,"aria-label":T(this.context,`Back to review`),title:T(this.context,`Back to review`),disabled:t.kind===`preparing`,onClick:e.transaction.onBack,children:m(W,{kind:`back`})}),m(Rt,{}),e.header.website.kind===`ready`?e.header.website.text:m(Wt,{label:T(this.context,`Loading website`)})]}),m(`button`,{type:`button`,"aria-label":k(this.context,e.transaction.cancelText),onClick:e.transaction.onCancel,children:m(W,{kind:`close`})})]})}};function Fn(){}function In(e){throw Error(`Unexpected confirmation content: ${String(e)}`)}var Ln=class extends f{container=d();componentDidMount(){this.container.current?.append(this.props.element),this.props.element.querySelector(`button`)?.focus()}componentDidUpdate(e){e.element!==this.props.element&&this.container.current?.replaceChildren(this.props.element)}componentWillUnmount(){this.props.element.remove()}render(){return m(`div`,{ref:this.container,class:`seams-auth-method-capture`})}};function Rn(e){let{kind:t}=e.state;return t===`signing`||t===`broadcasting`||t===`submitted`}function zn(e){return e.state.kind===`confirmed`||e.state.kind===`signed`}function Bn(e){if(e.subject===`message`)return e.state.kind===`signed`?3:0;let{state:t}=e;switch(t.kind){case`signing`:return 0;case`signed`:case`broadcasting`:return 1;case`submitted`:case`reverted`:return 2;case`confirmed`:return 3;case`failed`:case`unknown`:return t.hash?2:0;default:return K(t)}}function Vn(e){return e.subject===`message`?`Message signature`:`Transaction receipt`}function Hn(e){if(e.subject===`message`)return Wn(e.state);let{state:t}=e;switch(t.kind){case`signing`:return`Signing transaction`;case`signed`:return`Signature ready`;case`broadcasting`:return`Broadcasting transaction`;case`submitted`:return`Waiting for confirmation`;case`confirmed`:return`Transaction complete`;case`failed`:return`Transaction failed`;case`reverted`:return`Transaction reverted`;case`unknown`:return`Confirmation unavailable`;default:return K(t)}}function Un(e){if(e.subject===`message`)return Gn(e.state);let{state:t}=e;switch(t.kind){case`signing`:return`Preparing your signed transaction.`;case`signed`:return`Signature created, ready to broadcast.`;case`broadcasting`:return`Submitting your signed transaction to the network.`;case`submitted`:return`Submitted to the network. Waiting for the receipt.`;case`confirmed`:return`The network confirmed your transaction.`;case`failed`:case`reverted`:case`unknown`:return t.message;default:return K(t)}}function Wn(e){switch(e.kind){case`signing`:return`Signing message`;case`signed`:return`Message signed`;case`failed`:return`Signature failed`;default:return K(e)}}function Gn(e){switch(e.kind){case`signing`:return`Preparing your message signature.`;case`signed`:return`Signed off-chain. Nothing was sent to the network.`;case`failed`:return e.message;default:return K(e)}}function K(e){throw Error(`Unexpected transaction receipt state: ${String(e)}`)}const Kn=`cubic-bezier(0.22, 1, 0.36, 1)`;let qn=0;var Jn=class extends f{static contextType=O;explorerRow=d();explorerRowId=`seams-receipt-explorer-row-${++qn}`;minimize=()=>{this.props.receipt.onView(`toast`)};expand=()=>{this.props.receipt.onView(`expanded`)};close=()=>{Rn(this.props.receipt)?this.minimize():this.props.receipt.onDismiss()};componentDidUpdate(e){let{receipt:t}=this.props;t.view===`expanded`&&e.receipt.view===`expanded`&&t.subject===`transaction`&&t.state.kind===`confirmed`&&e.receipt.state.kind!==`confirmed`&&this.revealExplorerLink()}componentWillUnmount(){this.releaseExplorerRow()}setExplorerRowHeight=e=>{let t=this.explorerRow.current;t&&D(t.ownerDocument).setDynamicDeclarations(this.explorerRowId,`#${this.explorerRowId}`,{"--seams-receipt-explorer-height":`${e}px`})};releaseExplorerRow=()=>{let e=this.explorerRow.current;e&&(delete e.dataset.opening,D(e.ownerDocument).deleteDynamicRule(this.explorerRowId))};revealExplorerLink(){let e=this.explorerRow.current,t=e?.firstElementChild;if(!e||!t||e.ownerDocument.defaultView?.matchMedia(`(prefers-reduced-motion: reduce)`).matches)return;let n=e.getBoundingClientRect().height;e.dataset.opening=``;let r=()=>{this.releaseExplorerRow(),t.animate([{opacity:0,filter:`blur(4px)`,transform:`translateY(6px)`},{opacity:1,filter:`blur(0)`,transform:`translateY(0)`}],{duration:240,easing:Kn})};if(!H({reason:`receipt-explorer`,element:e,fromCssPx:0,toCssPx:n,drivenClasses:[`seams-receipt-explorer-driven`],setHeightCssPx:this.setExplorerRowHeight,onSettled:r})){let t=e.animate([{height:`0px`},{height:`${n}px`}],{duration:240,easing:Kn});t.onfinish=r,t.oncancel=this.releaseExplorerRow}}render(){let{receipt:e,data:t}=this.props,n=Hn(e),r=zn(e),i=Rn(e),a=Bn(e),o=Cn(t.model),s=e.subject===`transaction`?e.state:null,c=s?.kind===`confirmed`&&s.hash?Yn(t.model,this.props.explorers,s.hash):null;return e.view===`toast`?m(`div`,{class:`seams-transaction-toast`,"data-completed-stages":a,"data-stage":e.state.kind,"data-pending":i,children:[m(`div`,{class:`seams-toast-progress`,"aria-hidden":`true`,children:m(`span`,{class:`seams-toast-progress-fill`,children:i&&m(`span`,{class:`seams-toast-progress-active`})})}),m(`span`,{class:`seams-receipt-symbol`,"data-pending":i,children:m(W,{kind:i?`loader`:r?`check`:`alert`})}),m(`div`,{class:`seams-transaction-toast-text`,children:[m(`strong`,{role:`status`,children:m(E,{copy:n})}),m(`span`,{children:Sn(t.model)})]}),m(`button`,{type:`button`,class:`seams-receipt-open`,onClick:this.expand,children:[m(E,{message:`Open`}),` `,m(W,{kind:`arrow`})]}),!i&&m(`button`,{type:`button`,class:`seams-receipt-dismiss`,"aria-label":T(this.context,`Close transaction`),onClick:e.onDismiss,children:m(W,{kind:`close`})})]}):m(`div`,{class:`seams-transaction-receipt`,children:[m(`div`,{class:`seams-review-toolbar`,children:[m(`span`,{children:m(E,{copy:Vn(e)})}),m(`button`,{type:`button`,"aria-label":T(this.context,`Minimize transaction`),onClick:this.minimize,children:m(W,{kind:`minimize`})})]}),m(`div`,{class:`seams-receipt-heading`,children:[m(`span`,{class:`seams-receipt-symbol`,"data-pending":i,children:m(W,{kind:i?`loader`:r?`check`:`alert`})}),m(`div`,{children:[m(`h2`,{role:`status`,children:m(E,{copy:n})}),m(`p`,{children:m(E,{copy:Un(e)})})]})]}),m(En,{model:t.model,compact:!0}),m(`div`,{class:`seams-receipt-destination`,children:[o&&m(h,{children:[m(E,{message:`To`}),` `,m(G,{value:o,address:!0,label:k(this.context,`Copy recipient address ${o}`)})]}),!o&&Sn(t.model)]}),t.model?.totals?.estimatedFee&&m(`dl`,{class:`seams-review-fields`,children:m(`div`,{children:[m(`dt`,{children:m(E,{message:`Estimated network fee`})}),m(`dd`,{children:[t.model.totals.estimatedFee,` `,t.model.totals.feeSymbol]})]})}),s?m(Zn,{state:s}):e.subject===`message`&&m(Qn,{state:e.state}),m(xn,{label:T(this.context,`Receipt details`),children:m(`dl`,{class:`seams-review-fields`,children:[s&&t.model?.signerAccount&&m(`div`,{children:[m(`dt`,{children:m(E,{message:`From`})}),m(`dd`,{class:`seams-review-recipient`,children:m(G,{value:t.model.signerAccount,address:!0,label:k(this.context,`Copy signer address ${t.model.signerAccount}`)})})]}),o&&m(`div`,{children:[m(`dt`,{children:[m(E,{message:`To`}),` `]}),m(`dd`,{class:`seams-review-recipient`,children:m(G,{value:o,address:!0,label:k(this.context,`Copy recipient address ${o}`)})})]}),s?.hash&&m(`div`,{children:[m(`dt`,{children:m(E,{message:`Transaction`})}),m(`dd`,{children:[m(wn,{value:s.hash,class:`seams-review-hash`}),m(G,{value:s.hash})]})]}),e.subject===`message`&&m($n,{model:t.model}),m(`div`,{children:[m(`dt`,{children:m(E,{message:`Status`})}),m(`dd`,{children:m(E,{copy:n})})]})]})}),m(`button`,{type:`button`,class:`seams-receipt-primary`,onClick:this.close,children:i?m(E,{message:`Continue in background`}):m(E,{message:`Done`})}),c&&m(`div`,{id:this.explorerRowId,class:`seams-receipt-explorer-row`,ref:this.explorerRow,children:m(`a`,{class:`seams-receipt-explorer`,href:c,target:`_blank`,rel:`noopener noreferrer`,children:[m(E,{message:`View transaction`}),` `,m(W,{kind:`arrow`})]})}),m(Dn,{})]})}};function Yn(e,t,n){if(!e)return null;let r;switch(e.chain){case`near`:r=t.near;break;case`evm`:r=t.evm;break;case`tempo`:r=t.tempo;break;case`unknown`:return null;default:return Xn(e.chain)}if(!r)return null;let i=e.chain===`near`?`txns`:`tx`;return`${r.trim().replace(/\/$/,``)}/${i}/${encodeURIComponent(n)}`}function Xn(e){throw Error(`Unexpected display chain: ${String(e)}`)}function Zn({state:e}){let t=w(),n=Bn({subject:`transaction`,state:e});return m(`div`,{class:`seams-receipt-steps`,"aria-label":T(t,`Transaction progress`),children:[m(q,{stage:`signing`,label:T(t,`Signed`),activeLabel:`Signing`,complete:n>=1,active:e.kind===`signing`}),m(q,{stage:`broadcast`,label:T(t,`Broadcast`),activeLabel:`Broadcasting`,complete:n>=2,active:e.kind===`broadcasting`}),m(q,{stage:`confirming`,label:k(t,e.kind===`reverted`?`Reverted`:`Confirmed`),activeLabel:`Confirming`,complete:n===3,active:e.kind===`submitted`})]})}function Qn({state:e}){let t=w(),n=e.kind===`signed`,r=e.kind===`signing`;return m(`div`,{class:`seams-receipt-steps`,"aria-label":T(t,`Transaction progress`),children:[m(q,{stage:`signing`,label:T(t,`Signed`),activeLabel:`Signing`,complete:n,active:r}),m(q,{stage:`signed`,label:``,activeLabel:``,complete:n,active:!1}),m(q,{stage:`signed`,label:``,activeLabel:``,complete:n,active:!1})]})}function $n({model:e}){let t=w(),n=e?.operations.length===1?e.operations[0]:null;return n?.kind===`near.message`?m(h,{children:n.fields?.map(e=>m(`div`,{children:[m(`dt`,{children:m(E,{copy:e.label})}),e.renderAs===`file-content`?m(`dd`,{children:[m(`span`,{class:`seams-receipt-message`,children:e.value}),m(G,{value:e.copyValue??e.value})]}):m(`dd`,{class:`seams-review-recipient`,children:m(G,{value:e.copyValue??e.value,address:!0,label:k(t,`Copy ${e.label.toLowerCase()} address ${e.value}`)})})]},e.label))}):null}function q(e){let t=e.complete?`complete`:e.active?`active`:`waiting`;return m(`span`,{class:`seams-receipt-step`,"data-stage":e.stage,"data-state":t,"aria-current":e.active?`step`:void 0,children:[m(`span`,{class:`seams-receipt-track`,"aria-hidden":`true`}),m(E,{copy:e.active?e.activeLabel:e.label})]})}const er=`cubic-bezier(0.22, 1, 0.36, 1)`,tr=[`.seams-receipt-symbol`,`[role="status"]`,`.seams-review-amount`,`.seams-receipt-footer`];function nr(e){let t=[];for(let n of tr){let r=e.querySelector(n);r&&t.push({selector:n,text:r.textContent,bounds:r.getBoundingClientRect(),fontSize:getComputedStyle(r).fontSize})}return t}function rr(e){let t=e.querySelector(`[data-seams-progress-line]`);if(!t)return[];let n=getComputedStyle(t).color,r=Array.from(t.querySelectorAll(`[data-seams-progress-segment]`));if(r.length===3&&r.every(ar))return r.map(e=>({bounds:e.getBoundingClientRect(),opacity:e.getAttribute(`opacity`)??`1`,color:n})).sort((e,t)=>e.bounds.left-t.bounds.left);let i=t.getBoundingClientRect(),a=i.width/3;return[0,1,2].map(e=>({bounds:new DOMRect(i.left+e*a,i.top+i.height/2,a,0),opacity:`0.55`,color:n}))}function ir(){}function ar(e){return e.getAttribute(`opacity`)!==`0`}let or=0;var sr=class{element;styles;presentation;state;receipt=null;receiptMotion=[];receiptShell=null;receiptGhost=null;receiptSegments=[];clearReceiptMotion=()=>{for(let e of this.receiptMotion)e.cancel();this.receiptMotion=[],this.receiptShell?.remove(),this.receiptShell=null,this.receiptGhost?.remove(),this.receiptGhost=null;for(let e of this.receiptSegments)e.remove();this.receiptSegments=[],this.element.removeAttribute(`data-receipt-segments`),this.element.removeAttribute(`data-receipt-morphing`)};constructor(e){let t=e.parent.ownerDocument;this.styles=D(t),this.presentation={variant:e.presentation.variant,context:e.presentation.context},this.state={kind:`mounted`,model:e.model,onClosed:e.onClosed},this.element=t.createElement(`div`),this.element.id=`seams-confirmation-surface-${++or}`,this.element.className=`seams-wallet-ui seams-confirmation-surface`,this.element.dataset.seamsConfirmSurface=e.presentation.context,this.element.dataset.seamsConfirmVariant=e.presentation.variant,this.element.addEventListener(`cancel`,this.cancel),e.parent.appendChild(this.element);try{this.update(e.model)}catch(e){throw this.remove(),e}}update(e){this.state.kind===`mounted`&&(this.state.model=e,this.element.dataset.confirmationKind=e.content.kind,this.element.dataset.seamsConfirmReady=String(e.content.kind===`transaction`&&e.content.transaction.decision.kind===`ready`),this.element.lang=e.appearance.locale??`en`,this.element.dataset.theme=e.appearance.theme.mode,this.styles.setDynamicRule(this.element.id,fe(this.element.id,e.appearance)),this.renderSurface())}close(){this.state.kind===`mounted`&&(this.state={kind:`closing`,model:this.state.model,onClosed:this.state.onClosed},this.presentation.variant===`modal`?this.dispose():this.renderSurface())}showReceipt(e){if(this.state.kind!==`mounted`||this.state.model.content.kind!==`transaction`)return;let t=this.receipt?.view!==e.view,n=this.receiptShell??this.element.querySelector(`.modal-container-root`),r=n?.getBoundingClientRect(),i=t?nr(this.element):[],a=t?this.liveCapture():null,o=n?getComputedStyle(n).borderRadius:`26px`;t&&this.clearReceiptMotion(),this.receipt=e,this.element.dataset.receiptView=e.view,this.element.dataset.seamsConfirmSurface=`wallet-iframe`,this.element.dataset.seamsConfirmVariant=`modal`,this.renderSurface();let s=this.element.querySelector(`.modal-container-root`);if(t&&r&&s&&!window.matchMedia(`(prefers-reduced-motion: reduce)`).matches){let t=s.getBoundingClientRect(),n=this.element.ownerDocument.createElement(`div`);n.className=`seams-receipt-morph-shell`,n.setAttribute(`aria-hidden`,`true`),this.element.appendChild(n),this.receiptShell=n,this.element.setAttribute(`data-receipt-morphing`,``),this.receiptMotion=[n.animate([{left:`${r.left}px`,top:`${r.top}px`,width:`${r.width}px`,height:`${r.height}px`,borderRadius:o},{left:`${t.left}px`,top:`${t.top}px`,width:`${t.width}px`,height:`${t.height}px`,borderRadius:getComputedStyle(s).borderRadius}],{duration:640,easing:er,fill:`both`})];let c=a?this.handOverCapture(a,s):!1,l=new Set;for(let e of i){let t=s.querySelector(e.selector);if(!t||t.textContent!==e.text)continue;let n=t.getBoundingClientRect();l.add(t);let r=parseFloat(e.fontSize)/parseFloat(getComputedStyle(t).fontSize);this.receiptMotion.push(t.animate([{transform:`translate(${e.bounds.left-n.left}px, ${e.bounds.top-n.top}px) scale(${r})`,transformOrigin:`top left`},{transform:`translate(0, 0) scale(1)`,transformOrigin:`top left`}],{duration:640,easing:er}))}let u=s.querySelectorAll(`.seams-transaction-receipt > :not(.seams-receipt-heading), .seams-receipt-heading > .seams-receipt-symbol, .seams-receipt-heading h2, .seams-receipt-heading p, .seams-transaction-toast > :not(.seams-transaction-toast-text, .seams-toast-progress), .seams-transaction-toast-text > *`),d=0;for(let t of u){if(l.has(t))continue;let n=a!==null&&t.matches(`.seams-review-toolbar`);this.receiptMotion.push(t.animate(n?[{opacity:0},{opacity:1}]:[{opacity:0,transform:`translateY(8px)`},{opacity:1,transform:`translateY(0)`}],a?{duration:360,delay:n?0:c&&t.matches(`.seams-receipt-steps`)?560:200+Math.min(d,6)*40,fill:`backwards`,easing:`cubic-bezier(0.2, 0, 0, 1)`}:{duration:120,delay:e.view===`toast`?240:180+Math.min(d,4)*15,fill:`backwards`,easing:`ease-out`})),n||(d+=1)}let f=this.receiptMotion;Promise.all(f.map(e=>e.finished)).then(()=>{this.receiptMotion===f&&this.clearReceiptMotion()},ir)}}liveCapture(){if(this.state.kind!==`mounted`||this.state.model.content.kind!==`transaction`)return null;let e=this.state.model.content.capture;return e?.isConnected?{element:e,bounds:e.getBoundingClientRect(),segments:rr(e)}:null}handOverCapture(e,t){let n=this.element.ownerDocument.createElement(`div`);n.className=`seams-receipt-capture-ghost`,n.setAttribute(`aria-hidden`,`true`),n.append(e.element),this.element.appendChild(n),this.receiptGhost=n;let r={left:`${e.bounds.left}px`,top:`${e.bounds.top}px`,width:`${e.bounds.width}px`,height:`${e.bounds.height}px`};this.receiptMotion.push(n.animate([{...r,opacity:1},{...r,opacity:0}],{duration:160,easing:`ease-out`,fill:`both`}));let i=t.querySelectorAll(`.seams-receipt-track`);if(e.segments.length===0||i.length!==e.segments.length)return!1;this.element.setAttribute(`data-receipt-segments`,``);for(let[t,n]of i.entries()){let r=e.segments[t],i=n.getBoundingClientRect(),a=n.closest(`.seams-receipt-step`)?.dataset.state===`complete`,o=this.element.ownerDocument.createElement(`div`);o.className=`seams-receipt-segment`,o.setAttribute(`aria-hidden`,`true`),this.element.appendChild(o),this.receiptSegments.push(o),this.receiptMotion.push(o.animate([{left:`${r.bounds.left}px`,top:`${r.bounds.top+r.bounds.height/2-.5}px`,width:`${r.bounds.width}px`,height:`1px`,borderRadius:`1px`,opacity:r.opacity,backgroundColor:r.color},{left:`${i.left}px`,top:`${i.top}px`,width:`${i.width}px`,height:`${i.height}px`,borderRadius:getComputedStyle(n).borderRadius,opacity:1,backgroundColor:getComputedStyle(n,a?`::after`:null).backgroundColor}],{duration:800,delay:120,easing:`cubic-bezier(0.65, 0, 0.35, 1)`,fill:`both`}))}return!0}dispose=()=>{if(this.state.kind===`disposed`)return;let e=this.state.onClosed;this.remove(),e()};remove(){this.clearReceiptMotion(),this.state={kind:`disposed`},this.element.removeEventListener(`cancel`,this.cancel),p(null,this.element),this.styles.deleteDynamicRule(this.element.id),this.element.remove()}cancel=()=>{if(this.state.kind!==`mounted`)return;if(this.receipt){Rn(this.receipt)?this.receipt.onView(`toast`):this.receipt.onDismiss();return}let e=this.state.model.content;e.kind===`registration`?e.registration.onCancel():e.transaction.onCancel()};confirm=()=>{if(this.state.kind!==`mounted`)return;let e=this.state.model.content,t=e.kind===`registration`?e.registration.decision:e.transaction.decision;t.kind===`ready`&&t.onConfirm()};submitOtp=(e,t)=>{if(this.state.kind!==`mounted`)return;let n=this.state.model.content;n.kind===`transaction`&&n.prompt.kind===`email`&&n.prompt.email.onSubmit(e,t)};renderSurface(){let e=this.state;if(e.kind===`disposed`)return;let t=e.model.content,n=this.contentModel(t,e.kind===`closing`),r=this.receipt&&t.kind===`transaction`?m(Jn,{receipt:this.receipt,data:t.review,explorers:t.transaction.explorers}):m(Pn,{model:n,styles:this.styles,variant:this.presentation.variant}),i=t.kind===`registration`?t.registration.heading:t.header.heading;if(this.receipt||this.presentation.variant===`modal`){p(de(e.model.appearance.locale??`en`,m(me,{context:this.receipt?`wallet-iframe`:this.presentation.context,label:i,onCancel:this.cancel,children:r})),this.element);return}let a=t.kind===`registration`?t.registration.decision:t.transaction.decision;p(de(e.model.appearance.locale??`en`,m(ge,{context:this.presentation.context,label:i,origin:t.kind===`transaction`&&t.header.website.kind===`ready`?m(h,{children:[m(Rt,{}),t.header.website.text]}):void 0,errorMessage:t.kind===`registration`?t.registration.errorMessage:t.transaction.errorMessage,styles:this.styles,state:e.kind===`closing`?{kind:`closing`,onClosed:this.dispose}:{kind:`open`,interaction:a.kind===`ready`?`ready`:`busy`},onCancel:this.cancel,children:r})),this.element)}contentModel(e,t){switch(e.kind){case`registration`:return{kind:`registration`,registration:{...e.registration,decision:!t&&e.registration.decision.kind===`ready`?{kind:`ready`,onConfirm:this.confirm}:{kind:`creating`},onCancel:this.cancel}};case`transaction`:return{kind:`transaction`,capture:e.capture,header:e.header,body:e.body,review:e.review,prompt:e.prompt.kind===`email`?{kind:`email`,email:{prompt:e.prompt.email.prompt,verification:t?{kind:`pending`}:e.prompt.email.verification,onSubmit:this.submitOtp}}:e.prompt,transaction:{...e.transaction,decision:!t&&e.transaction.decision.kind===`ready`?{kind:`ready`,onConfirm:this.confirm}:{kind:`preparing`},onCancel:this.cancel}};default:return cr(e)}}};function cr(e){throw Error(`Unexpected confirmation content: ${String(e)}`)}function lr(e){return new sr(e)}var ur=class{element;surface;callbacks;appearance;presentation;tree;currentModel;constructor(e){this.callbacks=e.callbacks,this.appearance=e.appearance,this.presentation=e.presentation,this.tree=e.tree,this.currentModel=this.normalize(),this.surface=lr({parent:e.parent,presentation:{variant:e.variant,context:e.context},model:this.currentModel,onClosed:e.onClosed}),this.element=this.surface.element}update(e){this.presentation=dr(this.presentation,e),e.appearance&&(this.appearance=e.appearance),Object.hasOwn(e,`model`)&&(this.tree=I({model:e.model})),this.currentModel=this.normalize(),this.surface.update(this.currentModel)}setTree(e){this.tree=e,this.currentModel=this.normalize(),this.surface.update(this.currentModel)}close(){this.surface.close()}showReceipt(e){this.surface.showReceipt(e)}dispose(){this.surface.dispose()}normalize(){let e=_t({presentation:this.presentation,appearance:this.appearance,tree:this.tree,callbacks:this.callbacks});if(!e.ok)throw Error(`Cannot render confirmation surface: ${e.error}`);return e.model}};function dr(e,t){return{model:Object.hasOwn(t,`model`)?t.model:e.model,securityContext:Object.hasOwn(t,`securityContext`)?t.securityContext:e.securityContext,loading:Object.hasOwn(t,`loading`)?t.loading:e.loading,preparing:Object.hasOwn(t,`preparing`)?t.preparing:e.preparing,title:Object.hasOwn(t,`title`)?t.title:e.title,body:Object.hasOwn(t,`body`)?t.body:e.body,authMethodCapture:Object.hasOwn(t,`authMethodCapture`)?t.authMethodCapture:e.authMethodCapture,authMethodApprovalMessage:Object.hasOwn(t,`authMethodApprovalMessage`)?t.authMethodApprovalMessage:e.authMethodApprovalMessage,errorMessage:Object.hasOwn(t,`errorMessage`)?t.errorMessage:e.errorMessage,confirmText:Object.hasOwn(t,`confirmText`)?t.confirmText:e.confirmText,cancelText:Object.hasOwn(t,`cancelText`)?t.cancelText:e.cancelText,onBack:Object.hasOwn(t,`onBack`)?t.onBack:e.onBack,signingAuthMode:Object.hasOwn(t,`signingAuthMode`)?t.signingAuthMode:e.signingAuthMode,emailOtpPrompt:Object.hasOwn(t,`emailOtpPrompt`)?t.emailOtpPrompt:e.emailOtpPrompt,nearExplorerUrl:Object.hasOwn(t,`nearExplorerUrl`)?t.nearExplorerUrl:e.nearExplorerUrl,tempoExplorerUrl:Object.hasOwn(t,`tempoExplorerUrl`)?t.tempoExplorerUrl:e.tempoExplorerUrl,evmExplorerUrl:Object.hasOwn(t,`evmExplorerUrl`)?t.evmExplorerUrl:e.evmExplorerUrl}}function fr(e){return new ur(e)}const J=`seams-confirm-portal`;function Y(e){return Math.max(0,Math.round(performance.now()-e))}const pr=new WeakMap,mr=new WeakMap,hr=new WeakMap,X=new WeakMap,gr=new WeakMap,Z=new WeakMap;function _r(e){try{if(!Ge()||typeof window>`u`||window.parent===window)return;window.parent?.postMessage({type:e},`*`)}catch{}}function vr(e){return e===`drawer`?`drawer`:`modal`}function yr(e){return(e||[]).map(e=>({receiverId:e.receiverId,actions:(e.actions||[]).map(e=>v(e)?e:ee(e)).map(e=>S(e))}))}async function br(e,t){if(!(!((t?.length||0)>0)||!e))try{return await te(yr(t))===e?void 0:`INTENT_DIGEST_MISMATCH`}catch{return`UI_DIGEST_VALIDATION_FAILED`}}function xr(e){e.childElementCount>0?e.classList.add(`seams-portal--visible`):e.classList.remove(`seams-portal--visible`)}function Sr(){let e=[];for(let t of document.querySelectorAll(`.seams-confirmation-surface`))t.parentElement?.closest(`.seams-confirmation-surface`)||e.push(t);return e}function Cr(){for(let e of Sr())gr.get(e)?.callbacks.cancel(),X.get(e)?.dispose(),Z.delete(e),Q(e),e.remove();let e=document.getElementById(J);e&&xr(e)}function wr(){let e=document.getElementById(J);if(!e){e=document.createElement(`div`),e.id=J,e.classList.add(`seams-portal`);let t=document.body??document.documentElement;t&&t.appendChild(e)}return e}function Tr(e){X.delete(e),Z.delete(e),Q(e),e.remove();let t=document.getElementById(J);t&&xr(t)}function Er(){(document.getElementById(J)?.childElementCount??0)>0||_r(`WALLET_UI_CLOSED`)}function Dr(e,t){let n=t?.chain;if(n!==`near`&&n!==`tempo`&&n!==`evm`)return{};let i=r({chains:e.chains,family:n,chainId:t?.chainId});return i?n===`near`?{nearExplorerUrl:i}:n===`tempo`?{tempoExplorerUrl:i}:{evmExplorerUrl:i}:{}}function Or(e,t){t&&(e.update(t),Object.hasOwn(t,`model`)&&kr(e.element,e,t.model))}function kr(e,t,n){let r=(Z.get(e)??0)+1;Z.set(e,r),!(!n||!st(n))&&import(`./enrichDisplayModelWithAbi-CudPUW0T.js`).then(i=>{if(Z.get(e)!==r||!e.isConnected||X.get(e)!==t)return;let a=i.enrichDisplayModelWithAbi(n);Z.get(e)===r&&t.setTree(I({model:a}))}).catch(e=>{console.warn(`[ConfirmUI] failed to lazy-load ABI display enrichment`,e)})}function Q(e){pr.get(e)?.disconnect(),pr.delete(e),mr.get(e)?.dispose(),mr.delete(e),hr.delete(e)}function Ar(e,t){switch(e.kind){case`disabled`:return null;case`wallet_iframe`:return u({kind:`request_surface`,element:t,requestId:e.requestId,postMeasurement:e.postMeasurement});default:{let t=e;throw Error(`Unhandled confirmation measurement binding: ${String(t)}`)}}}function jr(e,t,n){e.setAttribute(Tt,Ur(n,t)),e.setAttribute(`data-seams-confirm-variant`,t),e.toggleAttribute(`data-seams-review-frame`,!!a(n))}function Mr(e,t,n){if(a(n)?.attach(e),jr(e,t,n),se(hr.get(e),n))return;Q(e),hr.set(e,n);let r=Ar(n,e);r&&(pr.set(e,r),mr.set(e,Lt(e)))}function Nr(e,t){t.kind===`review_available`&&e.returnToReview()}var Pr=class{view=null;navigation={kind:`review_available`};queuedDecisions=[];decisionWaiters=[];phase=`pending`;cancelListeners=new Set;onBack;callbacks={confirm:this.confirm.bind(this),cancel:this.cancel.bind(this),submitEmail:this.submitEmail.bind(this)};constructor(e){this.admission=e,this.onBack=e?this.back.bind(this):void 0}attachView(e){this.view=e}publishDecision(e){if(this.phase===`published`)return;this.phase=`published`,this.navigation.kind=`decision_published`;let t=this.decisionWaiters.shift();if(t){t(e);return}this.queuedDecisions.push(e)}back(){this.phase===`checking`?this.cancel(`Voice approval was cancelled.`):this.admission&&Nr(this.admission,this.navigation)}cancel(e){if(this.phase!==`published`){this.publishDecision({kind:`cancelled`,error:e??null}),this.admission?.cancel(Error(e??`Wallet approval was cancelled.`));for(let t of this.cancelListeners)t({...e?{error:e}:{}})}}confirm(){this.approve({kind:`confirmed`,emailOtp:{kind:`absent`}})}submitEmail(e,t){let n=e.trim(),r=t.trim();if(!n||!r){this.cancel(`Email OTP challenge is missing.`);return}this.approve({kind:`confirmed`,emailOtp:{kind:`provided`,code:n,challengeId:r}})}async approve(e){if(!(this.phase!==`pending`||this.admission&&!this.admission.allowInteraction())){this.phase=`checking`;try{this.admission?.authMethodApprovalMessages&&this.view?.update({preparing:!0,authMethodCapture:this.admission.authMethodApprovalSurface});let t=await this.admission?.approveAuthMethod();if(t?.kind===`retry`){this.phase=`pending`,this.view?.update({preparing:!1,authMethodCapture:null,authMethodApprovalMessage:t.message});return}this.admission?.authMethodApprovalMessages&&this.view?.update({preparing:!1,authMethodApprovalMessage:this.admission.authMethodApprovalMessages.approved}),this.publishDecision(e)}catch(e){this.cancel(e instanceof Error?e.message:`Authentication method approval failed.`)}}}async takeDecision(){return this.queuedDecisions.shift()||(this.phase===`published`&&(this.phase=`pending`),await new Promise(this.waitForDecision))}waitForDecision=e=>{this.decisionWaiters.push(e)}};function Fr(e,t,n){let r=!1;return{element:e.element,close:i=>{r||(r=!0,i||t.callbacks.cancel(),t.cancelListeners.clear(),!(i&&n.kind===`wallet_iframe`&&ue(n.requestId,e))&&(Q(e.element),e.close()))},update:t=>Or(e,t),onCancel:e=>(t.cancelListeners.add(e),()=>t.cancelListeners.delete(e)),takeDecision:()=>t.takeDecision()}}async function Ir({ctx:e,summary:t,txSigningRequests:n,model:r,securityContext:i,loading:a,theme:o,appearance:s,uiMode:c,signingAuthMode:l,emailOtpPrompt:u}){return Hr({ctx:e,summary:t,txSigningRequests:n,model:r,securityContext:i,loading:a,theme:o,appearance:s,variant:vr(c),signingAuthMode:l,emailOtpPrompt:u})}function Lr(e){let t=e.surface.handle,n=t.element;if(!n.isConnected)throw Error(`Cannot reuse a detached confirmation surface`);let r=X.get(n);if(!r)throw Error(`Cannot reuse an unmanaged confirmation surface`);Mr(n,e.variant,e.ctx.surfaceMeasurementBinding);let i=le({getAppearance:e.ctx.getAppearance,requestedAppearance:e.appearance,requestedMode:e.theme}),a=Dr(e.ctx,e.model);return r.update({model:e.model,securityContext:e.securityContext,loading:e.loading??!1,appearance:i,title:e.summary.title??``,body:e.summary.body??``,signingAuthMode:e.signingAuthMode,emailOtpPrompt:e.emailOtpPrompt,errorMessage:``,...a}),r.setTree(I({txSigningRequests:e.txSigningRequests,model:e.model})),kr(n,r,e.model),{handle:t,reused:!0}}function Rr(e){throw Error(`Unhandled confirmation surface: ${JSON.stringify(e)}`)}function zr(e){switch(e.surface.kind){case`mount_new`:return{handle:Hr({ctx:e.ctx,summary:e.summary,txSigningRequests:e.txSigningRequests,model:e.model,securityContext:e.securityContext,loading:e.loading,theme:e.theme,appearance:e.appearance,variant:e.variant,signingAuthMode:e.signingAuthMode,emailOtpPrompt:e.emailOtpPrompt}),reused:!1};case`reuse_mounted`:return Lr({...e,surface:e.surface});case`preparation_cancelled`:throw Error(`A cancelled preparation surface cannot be mounted`);default:return Rr(e.surface)}}async function Br(e){return zr({ctx:e.ctx,summary:e.summary,txSigningRequests:e.txSigningRequests,model:e.model,securityContext:e.securityContext,loading:e.loading,theme:e.theme,appearance:e.appearance,variant:vr(e.uiMode),signingAuthMode:e.signingAuthMode,emailOtpPrompt:e.emailOtpPrompt,surface:e.surface}).handle}async function Vr({ctx:e,summary:t,txSigningRequests:n,model:r,securityContext:i,loading:a,theme:o,appearance:s,uiMode:c,onMounted:l,signingAuthMode:u,emailOtpPrompt:d,surface:f}){let p=vr(c);return new Promise(c=>{let m=performance.now(),{handle:h,reused:g}=zr({ctx:e,summary:t,txSigningRequests:n,model:r,securityContext:i,loading:a,theme:o,appearance:s,variant:p,signingAuthMode:u,emailOtpPrompt:d,surface:f}),_=Y(m),ee=performance.now(),v=0,y=g?_:0,b=0,x=e=>e>0?e:Y(ee);Promise.resolve().then(()=>{v=x(v),g||(y=x(y))});try{l?.(h)}catch{}let S=e=>{let t={kind:`confirm_ui_prompt_diagnostics_v1`,elementDefineMs:0,mountMs:_,hostFirstUpdateMs:v,hostInteractiveMs:y,confirmEventMs:b,decisionWaitMs:Y(ee)};ne(),c({...e,handle:h,diagnostics:t})},te=async e=>{if(b=x(b),e.kind===`cancelled`){let t=e.error||void 0;h.update({...t?{errorMessage:t}:{},loading:!1}),S({confirmed:!1,error:t});return}let i,a=await br(String(r?.intentDigest||t?.intentDigest||``).trim(),n);if(a&&(i=a),i){h.update({errorMessage:i,loading:!1}),S({confirmed:!1,error:i});return}S({confirmed:!0,...e.emailOtp.kind===`provided`?{otpCode:e.emailOtp.code,emailOtpChallengeId:e.emailOtp.challengeId}:{}})},ne=()=>{v=Math.max(v,0)};(async()=>{let e=await h.takeDecision();u===`emailOtp`&&e.kind===`confirmed`&&e.emailOtp.kind===`absent`&&(h.update({loading:!1}),e=await h.takeDecision()),await te(e)})()})}function Hr({ctx:e,summary:t,txSigningRequests:n,model:r,securityContext:i,loading:o,theme:s,appearance:c,variant:l,signingAuthMode:u,emailOtpPrompt:d}){a(e.surfaceMeasurementBinding)?.assertPending(),Cr();let f=le({getAppearance:e.getAppearance,requestedAppearance:c,requestedMode:s}),p=wr(),m=Dr(e,r),h=new Pr(a(e.surfaceMeasurementBinding)),g;return g=fr({parent:p,variant:l,context:Ur(e.surfaceMeasurementBinding,l),appearance:f,presentation:{onBack:h.onBack,model:r,securityContext:i,loading:o,title:t?.title??(t?.delegate?`Sign Delegate Action`:void 0),body:t?.body,confirmText:a(e.surfaceMeasurementBinding)?.authMethodApprovalMessages?.confirm,signingAuthMode:u,emailOtpPrompt:d,nearExplorerUrl:e.nearExplorerUrl??m.nearExplorerUrl,tempoExplorerUrl:e.tempoExplorerUrl??m.tempoExplorerUrl,evmExplorerUrl:e.evmExplorerUrl??m.evmExplorerUrl},tree:I({txSigningRequests:n,model:r}),callbacks:h.callbacks,onClosed:()=>{Tr(g.element),Er()}}),h.attachView(g),X.set(g.element,g),gr.set(g.element,h),xr(p),Mr(g.element,l,e.surfaceMeasurementBinding),kr(g.element,g,r),p.classList.remove(`seams-portal--visible`),requestAnimationFrame(()=>{p.classList.add(`seams-portal--visible`)}),_r(`WALLET_UI_OPENED`),Fr(g,h,e.surfaceMeasurementBinding)}function Ur(e,t){let n=e.kind===`wallet_iframe`?e.hostSurfaceVariant??t:t;return e.kind===`wallet_iframe`&&n===`modal`?`wallet-iframe`:`standalone`}function Wr(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 Gr(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:Wr(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 Kr(e){return t(e)?Gr(e.readiness):null}function qr(e,t){return e.walletId===String(t.subject.walletId)&&e.nearAccountId===String(t.subject.nearAccountId)&&e.nearPublicKeyStr===t.subject.nearPublicKeyStr}async function Jr(e,t){try{let{context:n,leases:r}=await e.nonceCoordinator.reserveNearContext({lane:ne({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(g)},reservedNonceLeases:r}}catch(e){let n=Kr(e);return n?.kind===`implicit_unfunded`&&qr(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:l(e)}}}async function Yr(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 Xr({ctx:e,nearAccountId:t,challengeB64u:n,onBeforePrompt:r,includeSecondPrfOutput:i=!1}){return re({credentialStore:e.webauthnCredentialStore,touchIdPrompt:e.touchIdPrompt,nearAccountId:t,challengeB64u:n,includeSecondPrfOutput:i,onBeforePrompt:r})}function Zr(e,t){t?.close?.(e)}function Qr(e){return{chains:e.chains,getAppearance:e.getAppearance,nearExplorerUrl:e.nearExplorerUrl,tempoExplorerUrl:e.tempoExplorerUrl,evmExplorerUrl:e.evmExplorerUrl,surfaceMeasurementBinding:e.surfaceMeasurementBinding}}function $(){return{kind:`confirm_ui_prompt_diagnostics_v1`,elementDefineMs:0,mountMs:0,hostFirstUpdateMs:0,hostInteractiveMs:0,confirmEventMs:0,decisionWaitMs:0}}async function $r(e){let t=performance.now(),n=await Br({ctx:Qr(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:{...$(),mountMs:r,decisionWaitMs:a}}}async function ei(e){let{confirmed:t,handle:n,error:r,otpCode:i,emailOtpChallengeId:a,diagnostics:o}=await Vr({ctx:Qr(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===C.SIGN_TRANSACTION&&A(e.request).signingKind===`transaction`&&x(`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 ti({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:$()};let l=t.type===C.SIGN_TRANSACTION?A(t).txSigningRequests:[],u=je(t),d=Me(t),f=Ne(t);switch(n.kind){case`silent`:return s.kind===`reuse_mounted`&&s.handle.close(!0),{confirmed:!0,confirmHandle:void 0,diagnostics:$()};case`auto_proceed`:return await $r({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:f});case`interactive`:return await ei({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:f});default:return xe(n)}}function ni(e){return{near:{fetchNearContext:t=>Jr(e,t),releaseReservedNonces:t=>Yr(e,t)},security:{getRpId:()=>e.touchIdPrompt.getRpId()},webauthn:{collectAuthenticationCredentialWithPRF:t=>Xr({ctx:e,...t}),createRegistrationCredential:t=>e.touchIdPrompt.generateRegistrationCredentialsInternal(t)},ui:{renderConfirmUI:t=>ti({ctx:e,...t}),closeModalSafely:Zr}}}function ri({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{Be(t,n)}finally{n.confirmed||e.near.releaseReservedNonces(s),e.ui.closeModalSafely(!!n.confirmed,c)}}}}export{ke as C,be as E,Me as S,ye as T,Se as _,ut as a,De as b,We as c,He as d,Fe as f,Ce as g,Be as h,Rt as i,Le as l,Ve as m,ni as n,pt as o,Ie as p,Ir as r,Ge as s,ri as t,ze as u,Ae as v,Oe as w,A as x,we as y};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
let e=function(e){return e.SIGN_TRANSACTION=`signTransaction`,e.REGISTER_ACCOUNT=`registerAccount`,e.LINK_DEVICE=`linkDevice`,e.AUTHORIZE_KEY_EXPORT=`authorizeKeyExport`,e.SIGN_NEP413_MESSAGE=`signNep413Message`,e.SHOW_SECURE_PRIVATE_KEY_UI=`showSecurePrivateKeyUi`,e.SIGN_INTENT_DIGEST=`signIntentDigest`,e}({}),t=function(e){return e.PROMPT_USER_CONFIRM_IN_JS_MAIN_THREAD=`PROMPT_USER_CONFIRM_IN_JS_MAIN_THREAD`,e.USER_PASSKEY_CONFIRM_RESPONSE=`USER_PASSKEY_CONFIRM_RESPONSE`,e.USER_PASSKEY_CONFIRM_PROGRESS=`USER_PASSKEY_CONFIRM_PROGRESS`,e}({});function n(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 r={theme:{id:`default`,mode:`dark`,colors:{}},palette:`default`};function i(e){return e===`light`||e===`dark`}function a(e){let t=e.requestedAppearance??e.getAppearance?.()??r;return!i(e.requestedMode)||e.requestedMode===t.theme.mode?t:{...t,theme:{...t.theme,mode:e.requestedMode}}}export{e as i,n,t as r,a as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{l as e,u as t}from"./chains-gV2K9gA4.js";import{i as n,r}from"./base64-BmKR3UqU.js";function i(e){if(typeof e!=`string`||e.trim()!==e||e.length===0)throw Error(`correlation id must be a non-empty canonical string`);return e}function a(e){if(typeof e!=`string`||!/^[A-Za-z0-9_-]+$/.test(e))throw Error(`digest must be unpadded base64url`);let t;try{t=r(e)}catch{throw Error(`digest must be valid base64url`)}if(t.length!==32||n(t)!==e)throw Error(`digest must be canonical base64url for 32 bytes`);return e}function o(e){if(typeof e!=`string`)throw Error(`timestamp must be an ISO timestamp`);let t=Date.parse(e);if(!Number.isFinite(t)||new Date(t).toISOString()!==e)throw Error(`timestamp must be canonical ISO-8601 UTC`);return e}function s(e){if(!Number.isSafeInteger(e)||Number(e)<=0)throw Error(`timestamp milliseconds must be a positive safe integer`);return o(new Date(Number(e)).toISOString())}async function c(t){return a(n(await e(t)))}async function l(e){return a(n(await t(e)))}export{c as a,o as i,i as n,l as o,a as r,s as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{j as e}from"./chains-gV2K9gA4.js";function t(e,t){if(!e||typeof e!=`object`||Array.isArray(e))throw Error(`${t} must be an object`);return e}function n(t,n){let r=e(t,n);switch(r){case`sent`:case`reused`:return r;default:throw Error(`${n} must be sent or reused`)}}function r(e,t){return{kind:`provider`,status:e,emailHint:t}}function i(i,a){let o=t(i,a),s=e(o.kind,`${a}.kind`),c=n(o.status,`${a}.status`),l=e(o.emailHint,`${a}.emailHint`);switch(s){case`provider`:case`development`:if(o.otpCode!==void 0)throw Error(`${a}.otpCode is only valid for code-bearing delivery`);return r(c,l);case`demo_code_response`:case`provider_and_demo_code`:{let t=e(o.otpCode,`${a}.otpCode`);if(!/^\d{6}$/.test(t))throw Error(`${a}.otpCode must be a 6-digit code`);return{kind:s,status:c,emailHint:l,otpCode:t}}default:throw Error(`${a}.kind is invalid`)}}function a(e){switch(e.kind){case`provider`:return null;case`demo_code_response`:case`provider_and_demo_code`:return e.otpCode}}export{i as n,a as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{F as e,i as t}from"./domainIds-t1lp25yU.js";import{c as n,o as r}from"./ecdsaChainTarget-DbLthshF.js";import{t as i}from"./accountIds-D5NI31F2.js";import{Ht as a,T as o,g as s}from"./emailOtpEcdsaDerivationIdentity-CIh9IPai.js";import{i as c,t as l}from"./signerSlot-D4ZOuK7e.js";import{c as u,s as d}from"./types-DdzuHlAQ.js";import{a as f,k as p}from"./nearEd25519YaoSigningPreparation-D_Jvj7ht.js";function m(e){let t=Math.floor(Number(e));return!Number.isFinite(t)||t<=0?null:t.toString(10).padStart(20,`0`)}function h(e,t){if(e.length===0)return{kind:`no_current_lane`,unusableFacts:[]};let n=_(e,t),r=v(n,t);if(r.length)return{kind:`conflicting_key_material`,conflicts:r};if(n.length!==1)return{kind:`ambiguous_material`,candidates:e};let i=n[0];return i?g(i,t.supersession):{kind:`no_current_lane`,unusableFacts:[]}}function g(e,t){let n=e.facts.filter(t.isOperationUsable);if(n.length===0)return{kind:`no_current_lane`,unusableFacts:e.facts};let r=y(n,t);return r.kind===`ambiguous`?{kind:`ambiguous_material`,candidates:r.candidates}:{kind:`selected`,selectedFact:r.fact,supersededFacts:e.facts.filter(e=>e!==r.fact)}}function _(e,t){let n=new Map;for(let r of e){let e=t.groupKey(r),i=t.groupKeyString(e),a=n.get(i);n.set(i,a?{groupKey:a.groupKey,facts:[...a.facts,r]}:{groupKey:e,facts:[r]})}return[...n.values()]}function v(e,t){return e.flatMap(e=>t.groupConflicts(e.facts))}function y(e,t){let n=e[0];if(n===void 0)return{kind:`ambiguous`,candidates:[]};let r=n;for(let n of e.slice(1)){let e=b(r,n,t);switch(e.kind){case`left`:break;case`right`:r=n;break;case`ambiguous`:return{kind:`ambiguous`,candidates:e.candidates};default:return e}}return{kind:`selected`,fact:r}}function b(e,t,n){let r=x(e,t,n);if(r.kind!==`equal`)return r;let i=S(e,t,n);if(i.kind!==`equal`)return i;let a=n.tieBreak(e,t);switch(a){case 1:return{kind:`left`};case-1:return{kind:`right`};case 0:return{kind:`ambiguous`,candidates:[e,t]};default:return a}}function x(e,t,n){let r=n.generation(e),i=n.generation(t);return!r||!i?{kind:`ambiguous`,candidates:[e,t]}:r>i?{kind:`left`}:i>r?{kind:`right`}:{kind:`equal`}}function S(e,t,n){let r=n.exactness(e);return r===n.exactness(t)?{kind:`equal`}:r===`exact_target`?{kind:`left`}:{kind:`right`}}function C(e){return{kind:`ed25519_durable_material`,authMethod:e.authMethod,materialActivation:e.materialActivation}}function w(e){return[e.activationId,e.capability,e.materialOwner,e.keyBinding,e.lifecycleBinding,e.signingWorker].map(e=>encodeURIComponent(String(e))).join(`:`)}function T(e){let t={source:e.source,runtime:e.runtime,key:e.key,materialActivation:e.materialActivation,publicFacts:e.publicFacts,curve:`ecdsa`,chainTarget:e.chainTarget,state:e.state,authorizationState:e.authorizationState};if(e.auth.kind===`passkey`){if(!e.resolvedKey)throw Error(`active Wallet Authority passkey lane is missing its resolved ECDSA key`);return{...t,auth:e.auth,resolvedKey:e.resolvedKey}}return{...t,auth:e.auth}}function ee(e){let t=e.authorization;return t?e.remainingUses===t.runtime.remainingUses&&e.expiresAtMs===t.runtime.expiresAtMs:!0}function E(e){return e.auth.kind}function D(e){return u(e.auth)}function O(e){let t=e.ed25519Restore;if(e.authMethod===`passkey`){if(!t.credentialIdB64u)return null;try{return{kind:`passkey`,rpId:o(t.rpId),credentialIdB64u:t.credentialIdB64u}}catch{return null}}return t.providerSubjectId?{kind:`email_otp`,providerSubjectId:t.providerSubjectId}:null}function k(e){let{authorization:t}=e;if(String(t.session.walletId)!==e.walletId||t.selectedAuthMethod.kind!==e.auth.kind||t.operationCredential.walletSessionId.length===0||t.session.quotaId.length===0||!f({session:t.session,materialActivation:e.materialActivation}))return!1;switch(e.auth.kind){case`passkey`:if(t.selectedAuthMethod.kind!==`passkey`||String(t.selectedAuthMethod.rpId)!==String(e.auth.rpId)||t.selectedAuthMethod.credentialIdB64u!==e.auth.credentialIdB64u)return!1;break;case`email_otp`:if(t.selectedAuthMethod.kind!==`email_otp`||t.selectedFactorAuthority.factor.kind!==`email_otp`||t.selectedFactorAuthority.factor.providerUserId!==e.auth.providerSubjectId)return!1;break;case`voiceid`:if(t.selectedAuthMethod.kind!==`voiceid`||t.selectedAuthMethod.walletAuthMethodId!==e.auth.walletAuthMethodId||t.selectedAuthMethod.deviceKeyId!==e.auth.deviceKeyId)return!1;break;default:return e.auth,!1}return!!(e.ownerScope&&d(e.auth)===d(e.ownerScope.auth))}function te(e,t,r){if(e.curve!==`ed25519`)return null;let a=String(e.thresholdSessionIds.ed25519||``).trim(),o=String(e.walletId||``).trim(),s=e.ed25519Restore,u=l(s.signerSlot),d=O(e);if(!a||!o||u===null||!d)return null;let f=Math.floor(Number(e.expiresAtMs)||0),p=Math.max(0,Math.floor(Number(e.remainingUses)||0)),m=f>0&&f<=Date.now()?`expired`:p===0?`exhausted`:`restorable`,h=t&&k({authorization:t,auth:d,walletId:o,materialActivation:s.materialActivation,ownerScope:r})?t:null;try{let t={auth:d,curve:`ed25519`,chain:`near`,materialActivation:s.materialActivation,walletId:n(o),nearAccountId:i(s.nearAccountId),nearEd25519SigningKeyId:c(s.nearEd25519SigningKeyId),signerSlot:u,source:`durable_sealed_record`,thresholdSessionId:a,remainingUses:p,...f>0?{expiresAtMs:f}:{},updatedAtMs:Math.floor(Number(e.updatedAtMs)||0),...P(e)?{policyHint:P(e)}:{}};return h?{...t,state:m,authorizationState:`authorized`,authorization:h}:{...t,state:`deferred`,authorizationState:`authorization_required`}}catch{return null}}function ne(e){return e.auth.kind===`email_otp`}function re(e,t,r){let a=String(e.walletId||``).trim(),o=String(e.nearAccountId||``).trim(),s=String(e.thresholdSessionId||``).trim();if(!a||!o||!s)return null;let c=t&&k({authorization:t,auth:e.auth,walletId:a,materialActivation:e.materialActivation,ownerScope:r})?t:null;try{let t={auth:e.auth,curve:`ed25519`,chain:`near`,materialActivation:e.materialActivation,walletId:n(a),nearAccountId:i(o),nearEd25519SigningKeyId:e.nearEd25519SigningKeyId,signerSlot:e.signerSlot,thresholdSessionId:s,source:`public_capability_reference`};if(!c)return{...t,state:`deferred`,authorizationState:`authorization_required`};let r=Math.floor(Number(c.status.expiresAtMs)||0),l=ne(e)?e:null,u=l?Math.min(l.expiresAtMs,r):r,d=u>0&&u<=Date.now()?`expired`:`ready`;return{...t,state:d,authorizationState:`authorized`,authorization:c,remainingUses:c.status.remainingUses,...u>0?{expiresAtMs:u}:{}}}catch{return null}}function A(e){if(e.state===`missing`)return!1;if(e.curve!==`ecdsa`){let t=String(e.thresholdSessionId||``).trim();return e.thresholdSessionId!==t||!t?!1:e.authorizationState===`authorization_required`?e.state===`deferred`:!(!e.authorization.operationCredential.walletSessionId||!e.authorization.session.quotaId||e.authorization.status.remainingUses<=0||e.authorization.status.expiresAtMs<=Date.now())}return e.source===`active_wallet_authority`&&(e.state!==`deferred`||e.authorizationState!==`authorization_required`||e.runtime.kind!==`active_wallet_authority_ecdsa_runtime_v1`||String(e.runtime.walletId)!==String(e.key.walletId)||!t(e.runtime.materialActivation,e.materialActivation)||e.runtime.publicFacts!==e.publicFacts)||!(e.key&&String(e.key.walletId||``).trim()&&String(e.key.ecdsaThresholdKeyId||``).trim()&&String(e.key.signingRootId||``).trim()&&String(e.key.signingRootVersion||``).trim()&&Array.isArray(e.key.participantIds)&&e.key.participantIds.length>0&&String(e.key.thresholdOwnerAddress||``).trim()&&`publicFacts`in e&&e.publicFacts&&e.publicFacts.keyHandle&&String(e.publicFacts.publicKeyB64u||``).trim()&&Array.isArray(e.publicFacts.participantIds)&&e.publicFacts.participantIds.length>0&&String(e.publicFacts.thresholdOwnerAddress||``).trim())||e.source===`canonical_capability`&&!ee(e)?!1:u(e.auth)===`passkey`?e.resolvedKey?.kind===`resolved_evm_family_ecdsa_key`&&e.resolvedKey.authBinding.kind===`passkey_ecdsa_auth_binding`&&String(e.resolvedKey.walletId)===String(e.key.walletId)&&e.resolvedKey.publicFacts===e.publicFacts:!(`resolvedKey`in e)}function j(e){return e===`missing`?null:e}function ie(e){return e||`unknown`}function ae(e){let t=Math.floor(Number(e));return Number.isFinite(t)&&t>0?t:null}function oe(e){let t=Math.max(0,Math.floor(Number(e)));return Number.isFinite(t)?t:null}function se(e){if(!A(e.lane)||e.lane.curve!==`ed25519`)return null;let t=j(e.lane.state);if(!t)return null;let n={kind:`lane_candidate`,walletId:e.lane.walletId,nearAccountId:e.lane.nearAccountId,nearEd25519SigningKeyId:e.lane.nearEd25519SigningKeyId,signerSlot:e.lane.signerSlot,materialActivation:e.lane.materialActivation,auth:e.lane.auth,curve:`ed25519`,chain:`near`,thresholdSessionId:e.lane.thresholdSessionId,state:t,remainingUses:oe(e.lane.remainingUses),expiresAtMs:ae(e.lane.expiresAtMs),updatedAtMs:ae(e.lane.updatedAtMs),source:ie(e.lane.source)};return e.lane.authorizationState===`authorization_required`?{...n,authorizationState:`authorization_required`,state:`deferred`}:{...n,authorizationState:`authorized`,authorization:e.lane.authorization}}function ce(e){if(!A(e.lane)||e.lane.curve!==`ecdsa`)return null;let t=j(e.lane.state);if(!t)return null;let r=u(e.lane.auth),i={kind:`lane_candidate`,walletId:n(e.walletId),auth:e.lane.auth,authMethod:r,curve:`ecdsa`,chain:e.lane.chainTarget.kind,key:e.lane.key,materialActivation:e.lane.materialActivation,...r===`passkey`?{resolvedKey:e.lane.resolvedKey}:{},keyHandle:e.lane.publicFacts.keyHandle,chainTarget:e.lane.chainTarget};switch(e.lane.source){case`active_wallet_authority`:return{...i,source:`active_wallet_authority`,runtime:e.lane.runtime,authorizationState:`authorization_required`,state:`deferred`};case`canonical_capability`:return e.lane.authorization?{...i,source:`canonical_capability`,authorizationState:`authorized`,authorization:e.lane.authorization,state:t}:{...i,source:`canonical_capability`,authorizationState:`authorization_required`,state:`deferred`};default:return e.lane}}function le(e){if(!e||e.curve!==`ecdsa`||!e.chainTarget||!(`key`in e)||!e.key||!(`auth`in e)||!e.auth)return null;let t=u(e.auth);try{let n=d(e.auth);return[t,`ecdsa`,r(e.chainTarget),n,ue(e),w(e.materialActivation)].join(`:`)}catch{return null}}function ue(e){return s({walletId:e.key.walletId,publicFacts:e.publicFacts})}function M(e){if(!e||e.curve!==`ed25519`||e.chain!==`near`||e.state===`missing`||!e.auth)return null;let t=u(e.auth),n=String(e.walletId||``).trim(),r=String(e.nearAccountId||``).trim(),i=String(e.nearEd25519SigningKeyId||``).trim(),a=String(e.signerSlot||``).trim(),o=String(e.thresholdSessionId||``).trim(),s=e.materialActivation?w(e.materialActivation):``;return!t||!n||!r||!i||!a||!o||!s?null:[n,r,i,a,t,`ed25519`,`near`,o,s].join(`:`)}function N(e){return{curve:`ecdsa`,chainTarget:e.chainTarget,state:`missing`}}function de(e,t){let n=r(t);return e.ecdsa.lanesByTarget[n]||N({chainTarget:t})}function fe(e,t){let n=r(t);return e.ecdsa.candidatesByTarget[n]||[]}function pe(){return{curve:`ed25519`,chain:`near`,state:`missing`}}function P(e){let t=Math.floor(Number(e.remainingUses)),n=Math.floor(Number(e.expiresAtMs)),r={};return Number.isFinite(t)&&t>=0&&(r.remainingUses=t),Number.isFinite(n)&&n>0&&(r.expiresAtMs=n),Object.keys(r).length?r:void 0}function F(e){return Math.floor(Number(`updatedAtMs`in e?e.updatedAtMs:0)||0)}function I(e){return m(e.expiresAtMs??e.policyHint?.expiresAtMs)}function L(e){switch(e.state){case`ready`:return 5;case`restorable`:return 4;case`deferred`:return 3;case`expired`:case`exhausted`:return 2;case`missing`:return 1}}function R(e){return!A(e)||e.curve===`ecdsa`?0:e.source===`durable_sealed_record`?1:0}function z(e,t){return L(e)-L(t)||R(e)-R(t)||F(e)-F(t)}function me(e,t){return z(e,t)}function he(e,t){return L(e)-L(t)||R(e)-R(t)||F(e)-F(t)}function B(e){let t=d(e.auth),n=String(e.walletId||``).trim(),r=String(e.nearAccountId||``).trim(),i=String(e.nearEd25519SigningKeyId||``).trim(),a=String(e.signerSlot||``).trim(),o=w(e.materialActivation);return!t||!n||!r||!i||!a||!o?null:{walletId:n,authKey:t,nearAccountId:r,nearEd25519SigningKeyId:i,signerSlot:a,materialActivationKey:o}}function V(e){return[e.walletId,e.authKey,e.nearAccountId,e.nearEd25519SigningKeyId,e.signerSlot,e.materialActivationKey].map(e=>encodeURIComponent(e)).join(`|`)}function ge(e){if(!A(e)||e.curve!==`ed25519`)return null;let t=B(e);return t?{groupKey:t,lane:e}:null}function H(e,t){return me(t,e)}function U(e,t){return e>t?1:t>e?-1:0}function W(e,t){let n=e.localeCompare(t);return n>0?1:n<0?-1:0}function G(e){for(let t of e)if(t!==0)return t;return 0}function _e(e){return[]}function ve(e){return!0}function ye(e){return I(e.lane)}function be(){return`exact_target`}function xe(e,t){return G([U(L(e.lane),L(t.lane)),U(R(e.lane),R(t.lane)),W(Se(e.lane),Se(t.lane))])}function Se(e){return[e.thresholdSessionId,e.authorizationState===`authorized`?e.authorization.operationCredential.walletSessionId:``,e.authorizationState===`authorized`?e.authorization.session.quotaId:``,e.source||`durable_sealed_record`].map(e=>String(e)).join(`|`)}const Ce={groupKey:we,groupKeyString:V,groupConflicts:_e,supersession:{isOperationUsable:ve,generation:ye,exactness:be,tieBreak:xe}};function we(e){return e.groupKey}function Te(e){let t=new Map;for(let n of e){let e=V(n.groupKey);t.set(e,[...t.get(e)||[],n])}return t}function Ee(e,t){let n=h(e,Ce);switch(n.kind){case`selected`:return[n.selectedFact.lane];case`no_current_lane`:return[];case`conflicting_key_material`:return t.push({curve:`ed25519`,source:`canonical_lane_inventory`,reason:`conflicting_key_material`,message:`Ed25519 canonical lane inventory has conflicting material facts`}),[];case`ambiguous_material`:return t.push({curve:`ed25519`,source:`canonical_lane_inventory`,reason:`ambiguous_material`,message:`Ed25519 canonical lane inventory has incomparable usable records`}),[];default:return n}}function De(e,t){let n=e.map(ge).filter(e=>e!==null),r=[];for(let e of Te(n).values())r.push(...Ee(e,t));return r.sort(H)}function Oe(e){if(!A(e)||e.curve!==`ed25519`)return null;let t=String(e.thresholdSessionId||``).trim();return e.authorizationState!==`authorized`||!t?null:`${e.authorization.operationCredential.walletSessionId}:${e.authorization.session.quotaId}:${t}`}function ke(e){if(!A(e.primaryLane)||e.primaryLane.curve!==`ed25519`||D(e.primaryLane)!==`passkey`)return e.primaryLane;let t=Oe(e.primaryLane);return t&&e.candidates.find(e=>A(e)&&e.curve===`ed25519`&&D(e)===`email_otp`&&Oe(e)===t)||e.primaryLane}function Ae(){try{return globalThis.localStorage?.getItem(`seams:debug:signing-session`)===`1`}catch{return!1}}function K(e){return e?A(e)?{present:!0,authMethod:u(e.auth),curve:e.curve,keyHandle:e.publicFacts.keyHandle,walletId:e.key.walletId,chainTarget:e.chainTarget,targetKey:r(e.chainTarget),state:e.state,source:e.source,evmFamilyKeyFingerprint:ue(e),ecdsaThresholdKeyId:e.key.ecdsaThresholdKeyId,participantIds:e.publicFacts.participantIds,thresholdOwnerAddress:e.publicFacts.thresholdOwnerAddress,remainingUses:e.remainingUses,expiresAtMs:e.expiresAtMs,updatedAtMs:e.updatedAtMs}:{present:!0,curve:e.curve,chainTarget:e.chainTarget,state:e.state}:{present:!1}}function je(e){switch(e.source){case`canonical_capability`:return`canonical_capability`;case`active_wallet_authority`:return`active_wallet_authority`;default:return e}}function Me(e){let t=d(e.auth);return{walletId:String(e.key.walletId),authKey:t,materialActivationKey:w(e.materialActivation),ecdsaThresholdKeyId:String(e.key.ecdsaThresholdKeyId),signingRootId:String(e.key.signingRootId),signingRootVersion:String(e.key.signingRootVersion||`default`)}}function Ne(e){return[e.walletId,e.authKey,e.materialActivationKey,e.ecdsaThresholdKeyId,e.signingRootId,e.signingRootVersion].map(e=>encodeURIComponent(e)).join(`|`)}function Pe(e){let t=Me(e);return t?{source:je(e),groupKey:t,chainTargetKey:r(e.chainTarget),lane:e}:null}function Fe(e){let t=d(e.auth);return[String(e.key.walletId),t,w(e.materialActivation),String(e.key.signingRootId),String(e.key.signingRootVersion||`default`)].map(e=>encodeURIComponent(e)).join(`|`)}function q(e,t){return[...new Set(e.map(e=>t(e.lane)).filter(Boolean))].sort()}function Ie(e){return[{field:`ecdsaThresholdKeyId`,values:q(e.facts,e=>String(e.key.ecdsaThresholdKeyId||``))},{field:`thresholdOwnerAddress`,values:q(e.facts,e=>String(e.publicFacts.thresholdOwnerAddress||``).toLowerCase())},{field:`keyHandle`,values:q(e.facts,e=>String(e.publicFacts.keyHandle||``))},{field:`publicKeyB64u`,values:q(e.facts,e=>String(e.publicFacts.publicKeyB64u||``))},{field:`participantIds`,values:q(e.facts,e=>e.publicFacts.participantIds.map(e=>Number(e)).join(`,`))}].filter(e=>e.values.length>1).map(t=>({groupKey:e.key,field:t.field,values:t.values}))}function Le(e){let t=new Map;for(let n of e){let e=Fe(n.lane);e&&t.set(e,[...t.get(e)||[],n])}let n=new Map;for(let[e,r]of t){let t=r[0];if(!t)continue;let i=Ie({key:t.groupKey,facts:r});i.length&&n.set(e,i)}return n}function Re(e){let t=Fe(e.fact.lane);return t&&e.conflictsByFamilyGroup.get(t)||[]}function ze(e){return e.filter(e=>A(e)&&e.curve===`ecdsa`).map(Pe).filter(e=>e!==null)}function Be(e){return e.source===`active_wallet_authority`?2:1}function Ve(e){return e.groupKey}function He(e){let t=e[0];return t?Ie({key:t.groupKey,facts:e}):[]}function Ue(e){return e.lane.source===`active_wallet_authority`?!0:e.lane.state!==`deferred`||!e.lane.authorization}function We(e){return I(e.lane)}function Ge(e){return`exact_target`}function J(e){return[w(e.materialActivation),e.source,r(e.chainTarget)].map(e=>String(e)).join(`|`)}function Ke(e,t){return G([U(L(e.lane),L(t.lane)),U(Be(e.lane),Be(t.lane)),W(J(e.lane),J(t.lane))])}const qe={groupKey:Ve,groupKeyString:Ne,groupConflicts:He,supersession:{isOperationUsable:Ue,generation:We,exactness:Ge,tieBreak:Ke}};function Je(e){let t=new Map;for(let n of e)t.set(Ne(n.groupKey),n.groupKey);return[...t.values()]}function Ye(e){let t=h(e,qe);switch(t.kind){case`selected`:return{kind:`selected`,selectedFact:t.selectedFact,supersededFacts:t.supersededFacts};case`no_current_lane`:return{kind:`no_current_lane`,unusableFacts:t.unusableFacts};case`conflicting_key_material`:return{kind:`conflicting_key_material`,conflicts:t.conflicts};case`ambiguous_material`:return{kind:`ambiguous_material`,candidates:Je(t.candidates),candidateFacts:t.candidates};default:return t}}function Xe(e){return A(e)?J(e):null}function Ze(e){let t={},n={},i=Object.fromEntries(Object.entries(e.candidatesByTarget).map(([e,t])=>[e,Qe(t,Xe)])),a=Le(Object.values(i).flatMap(ze));for(let o of e.targets){let s=r(o),c=ze(i[s]||[]),l=c.flatMap(e=>Re({fact:e,conflictsByFamilyGroup:a}));if(l.length){e.invalidLanes.push({curve:`ecdsa`,source:`canonical_lane_inventory`,reason:`conflicting_key_material`,targetKey:s,groupKey:l[0]?.groupKey,conflicts:l}),t[s]=[],n[s]=N({chainTarget:o});continue}let u=Ye(c);switch(u.kind){case`selected`:t[s]=[u.selectedFact.lane],n[s]=u.selectedFact.lane;break;case`no_current_lane`:t[s]=[],n[s]=N({chainTarget:o});break;case`conflicting_key_material`:e.invalidLanes.push({curve:`ecdsa`,source:`canonical_lane_inventory`,reason:`conflicting_key_material`,targetKey:s,groupKey:u.conflicts[0]?.groupKey,conflicts:u.conflicts}),t[s]=[],n[s]=N({chainTarget:o});break;case`ambiguous_material`:e.invalidLanes.push({curve:`ecdsa`,source:`canonical_lane_inventory`,reason:`ambiguous_material`,targetKey:s}),t[s]=[],n[s]=N({chainTarget:o});break}}return{lanesByTarget:n,candidatesByTarget:t}}function Qe(e,t,n=z){let r=new Map,i=[];for(let n of e){let e=t(n);if(!e){i.push(n);continue}r.set(e,[...r.get(e)||[],n])}return[...[...r.values()].map(e=>[...e].sort((e,t)=>n(t,e))[0]),...i]}function $e(e){let t=new Set(e.filter(e=>A(e)&&e.curve===`ed25519`&&e.source===`durable_sealed_record`&&(e.state===`ready`||e.state===`restorable`)).map(B).filter(e=>e!==null).map(V));return t.size?e.filter(e=>{if(!A(e)||e.curve!==`ed25519`||e.source!==`public_capability_reference`)return!0;let n=B(e);return!n||!t.has(V(n))}):[...e]}async function et(e,t){return e.state===`missing`||d(e.auth)!==d(t.auth)||!await rt(e,t)?!1:t.auth.kind===`passkey`?`keyFamily`in t&&t.keyFamily===`ecdsa`?!1:e.signerSlot===t.signerSlot:!0}function tt(e,t){return e.state===`missing`||d(e.auth)!==d(t.auth)?!1:nt(e,t)}function nt(e,t){let n=t.auth.kind===`passkey`?void 0:t.ownerAuthority;if(!n)return!0;if(e.curve===`ecdsa`&&e.source===`active_wallet_authority`)return e.runtime.factorAuthorityRef.walletAuthMethodId===n.walletAuthMethodId&&String(e.runtime.factorAuthorityRef.authorityDigest)===String(n.authorityDigest);if(e.curve===`ecdsa`&&e.source===`canonical_capability`){let t=e.capability.manifest.signer.authority;return t.walletAuthMethodId===n.walletAuthMethodId&&String(t.authorityDigest)===String(n.authorityDigest)}return!1}async function rt(e,t){let n=t.auth.kind===`passkey`?void 0:t.ownerAuthority;if(!n)return!0;if(e.state===`missing`||e.curve!==`ed25519`)return!1;if(e.authorizationState===`authorization_required`)return!0;try{let t=await a({authority:e.authorization.selectedFactorAuthority});return t.walletId===e.walletId&&t.walletAuthMethodId===n.walletAuthMethodId&&t.authorityDigest===n.authorityDigest}catch{return!1}}async function it(e,t){let n=[];for(let r of e)await et(r,t)&&n.push(r);return n}async function at(e,t){let i=n(e.walletId),a=new Map;for(let t of e.ecdsaChainTargets)a.set(r(t),t);let o=[...a.values()],[s,c,l,d]=await Promise.all([t.listSealedRecordsForWallet({walletId:i,filter:{...e.authMethod?{authMethod:e.authMethod}:{},curve:`ed25519`}}),t.listPublicCapabilityReferences?.()??[],t.readActiveWalletSessionAuthorization?.(i)??{kind:`missing`},o.length>0&&t.listCanonicalEcdsaLanesForWallet?t.listCanonicalEcdsaLanesForWallet({walletId:i}):[]]),f=l.kind===`found`?l.authorization:null,p=[...o],m={},h={},g={};for(let e of p){let t=r(e);m[t]=N({chainTarget:e}),h[t]=[],g[t]=0}let _=[],v=0,y=Ae(),b=[],x=[];for(let t of s){let n=te(t,f,e.ownerScope);if(!n)continue;_.push(n);let r=F(n);v=Math.max(v,r)}for(let n of c){if(String(n.walletId)!==String(i))continue;let r=l.kind===`exhausted`||l.kind===`expired`;if(!t.isPublicCapabilityActive?.(n)&&!r)continue;let a=re(n,f,e.ownerScope);a&&(e.authMethod&&u(a.auth)!==e.authMethod||_.push(a))}for(let t of d){let n=u(t.auth);if(e.authMethod&&n!==e.authMethod||String(t.key.walletId)!==String(i))continue;let o=r(t.chainTarget);if(!a.has(o))continue;h[o]||=[],h[o].push(t);let s=F(t);v=Math.max(v,s),b.push({result:`accepted`,targetKey:o,lane:K(t)})}let S=o.length>0&&t.listActiveWalletAuthorityEcdsaLanesForWallet?await t.listActiveWalletAuthorityEcdsaLanesForWallet({walletId:i,chainTargets:o}):[];for(let t of S){let n=u(t.auth);if(e.authMethod&&n!==e.authMethod||String(t.key.walletId)!==String(i))continue;let o=r(t.chainTarget);a.has(o)&&(h[o]||=[],h[o].push(t),b.push({result:`accepted`,targetKey:o,lane:K(t)}))}let C=e.ownerScope,w=C?await it(_,C):_;if(C)for(let e of Object.keys(h))h[e]=(h[e]||[]).filter(e=>tt(e,C));let T=De(Qe($e(w),M,he).sort(H),x),ee=ke({primaryLane:T[0]||pe(),candidates:T}),E=Ze({targets:p,candidatesByTarget:Ze({targets:p,candidatesByTarget:h,invalidLanes:x}).candidatesByTarget,invalidLanes:x}),D={walletId:i,generation:v,ecdsa:{targets:p,lanesByTarget:E.lanesByTarget,candidatesByTarget:E.candidatesByTarget},lanes:{ed25519:{near:ee}},candidates:{ed25519:{near:T}},diagnostics:{invalidLanes:x}},O=p.map(e=>{let t=r(e),n=D.ecdsa.candidatesByTarget[t]||[],i=D.ecdsa.lanesByTarget[t],a=i?.state||`missing`;return n.length>0&&a!==`missing`?null:{chainTarget:e,targetKey:t,candidateCount:n.length,selectedLane:K(i)}}).filter(e=>!!e),k={walletId:i,authMethod:e.authMethod||`any`,requestedTargets:p.map(e=>({chainTarget:e,targetKey:r(e)})),sealedRecordCount:0,runtimeRecordCount:d.length,durableDiscovery:[],runtimeDiscovery:b,resultSelectedLanesByTarget:Object.fromEntries(Object.entries(D.ecdsa.lanesByTarget).map(([e,t])=>[e,K(t)])),resultCandidatesByTarget:Object.fromEntries(Object.entries(D.ecdsa.candidatesByTarget).map(([e,t])=>[e,t.map(e=>K(e))]))};if(y&&O.length>0)try{console.warn(`[SigningLanes][available][ecdsa][missing-candidates]`,JSON.stringify({...k,missingEcdsaTargets:O}))}catch{}if(y)try{console.info(`[SigningLanes][available][ecdsa]`,JSON.stringify(k))}catch{}return D}function Y(t,n){return e(t,{fallback:n,min:1})}function X(e,t){let n=Error(`[SigningEngine] ${t}`);return n.code=e,n}function ot(e,t){let n=e.get(t);if(n)return n;let r={running:!1,items:[]};return e.set(t,r),r}function st(e){e.timeoutHandle&&=(clearTimeout(e.timeoutHandle),null)}async function ct(e,t){let n=e.get(t);if(!(!n||n.running)){n.running=!0;try{for(;n.items.length>0;){let e=n.items.shift();if(e&&!e.isSettled()){if(st(e),e.shouldAbort?.()){e.reject(e.makeCancelledError(`cancelled`));continue}if(Date.now()-e.enqueuedAtMs>e.timeoutMs){e.reject(e.makeTimeoutError(e.timeoutMs));continue}try{await e.run()}catch(t){e.reject(t)}}}}finally{n.running=!1,n.items.length===0&&e.get(t)===n?e.delete(t):n.items.length>0&&ct(e,t)}}}function lt(e){for(let t of e.values()){for(let e of t.items)st(e),e.reject(e.makeCancelledError(`queue_cleared`));t.items.length=0}e.clear()}function ut(e){return[`material`,encodeURIComponent(String(e.materialActivation.materialOwner)),encodeURIComponent(String(e.materialActivation.capability)),encodeURIComponent(String(e.materialActivation.activationId))].join(`:`)}async function dt(e){let{labels:t,owner:n}=e,r=String(e.queueKey||``).trim();if(!r)throw Error(`[SigningEngine] ${t.queue} requires non-empty queueKey`);if(!e.enabled)return await e.task();let i=Y(e.maxQueueLength,8),a=Y(e.queueTimeoutMs,45e3),o=ot(e.queueByKey,r);if(o.items.length+(o.running?1:0)>=i)throw X(`commit_queue_overflow`,`${t.queue} overflow for ${n} (queueKey=${r}, max=${i})`);return await new Promise((i,s)=>{let c=null,l=!1,u=()=>{c&&=(clearTimeout(c),null)},d=e=>{l||(l=!0,u(),s(e))},f=e=>{l||(l=!0,u(),i(e))},p=e=>X(`cancelled`,`${t.queuedOperation} cancelled for ${n} (queueKey=${r}${e===`queue_cleared`?`, queue_cleared`:``})`),m=e=>X(`commit_queue_timeout`,`${t.queue} timeout for ${n} (queueKey=${r}, waited>${e}ms before start)`),h={enqueuedAtMs:Date.now(),timeoutMs:a,shouldAbort:e.shouldAbort,timeoutHandle:null,isSettled:()=>l,reject:d,makeCancelledError:p,makeTimeoutError:m,run:async()=>{if(e.shouldAbort?.())throw p(`cancelled`);f(await e.task())}};c=setTimeout(()=>{if(h.isSettled())return;let t=o.items.indexOf(h);t>=0&&o.items.splice(t,1),d(m(a)),!o.running&&o.items.length===0&&e.queueByKey.get(r)===o&&e.queueByKey.delete(r)},a),h.timeoutHandle=c,o.items.push(h),ct(e.queueByKey,r)})}function Z(e){let t={walletId:p(e.laneIdentity),authMethod:u(e.laneIdentity.auth),laneIdentity:e.laneIdentity};return e.kind===`ecdsa`?{...t,walletSessionId:e.authorization.operationCredential.walletSessionId,quotaId:e.authorization.session.quotaId}:{...t,walletSessionId:e.laneIdentity.walletSessionId,quotaId:e.laneIdentity.quotaId}}function Q(e){return{kind:`invalid`,...Z(e.source)}}function $(e){let t=Number(e);return!Number.isSafeInteger(t)||t<0?null:t}function ft(e){let t=$(e.expiresAtMs),n=$(e.detectedAtMs);if(t===null||t===0)throw Error(`Authoritative expired Wallet Session expiresAtMs is invalid`);if(n===null||n===0)throw Error(`Authoritative expired Wallet Session detectedAtMs is invalid`);if(t>n)throw Error(`Authoritative expired Wallet Session timeline is invalid`);return{kind:`expired`,...Z(e.source),expiresAtMs:t,detectedAtMs:n}}function pt(e){let t=$(e.observation.expiresAtMs);if(t===null||t===0)return Q({source:e.observation.source});let n=Z(e.observation.source);return t<=e.nowMs?{kind:`expired`,...n,expiresAtMs:t,detectedAtMs:e.nowMs}:{kind:`active`,...n,expiresAtMs:t}}function mt(e){let t=$(e.nowMs);if(t===null)return Q({source:e.observation.source});switch(e.observation.kind){case`found`:return pt({observation:e.observation,nowMs:t});case`missing`:return{kind:`missing`,...Z(e.observation.source)};case`unavailable`:return{kind:`unavailable`,...Z(e.observation.source)};case`invalid`:return Q({source:e.observation.source});default:return e.observation}}export{C as _,dt as a,D as c,le as d,ce as f,at as g,A as h,ut as i,fe as l,se as m,ft as n,T as o,M as p,lt as r,E as s,mt as t,de as u,w as v};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{C as e}from"./chains-gV2K9gA4.js";function t(t){if(!Array.isArray(t))throw Error(`authMethods must be an array of wallet auth method plugins.`);let n=[],r=new Set;for(let i of t){if(!e(i)||Object.keys(i).length!==1||i.kind!==`voiceid`||r.has(i.kind))throw Error(`Unsupported or duplicate wallet auth method plugin.`);r.add(i.kind),n.push({kind:`voiceid`})}return n}function n(e,t){for(let n of e)if(n.kind===t)return!0;return!1}function r(e){return typeof e==`string`&&e.trim().toLowerCase().split(/[-_]/,1)[0]===`ja`?`ja`:`en`}const i={targetDepth:{min:1,max:64},maxRefillInFlight:{min:1,max:8},refillAttemptTimeoutMs:{min:5e3,max:12e4}};export{n as i,r as n,t as r,i as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{N as e}from"./domainIds-t1lp25yU.js";import{C as t,T as n,b as r,k as i,n as a,r as o}from"./chains-gV2K9gA4.js";import{n as s,r as c,t as l}from"./configBuilder-DrxXNUpV.js";import"./signingSessionSeal-DqbjG8c8.js";function u(e){return t(e)&&Object.values(e).every(n)}function d(e){if(!t(e)||e.palette!==`default`||!t(e.theme))return!1;let r=e.theme;return(e.locale===void 0||e.locale===`en`||e.locale===`ja`)&&n(r.id)&&r.id.trim().length>0&&(r.mode===`dark`||r.mode===`light`)&&u(r.colors)&&(r.shape===void 0||u(r.shape))}function f(e){return!t(e)||!o(e.network)?!1:n(e.rpcUrl)&&e.rpcUrl.trim().length>0&&n(e.explorerUrl)&&(a(e.network)||r(e.chainId)&&Number.isSafeInteger(e.chainId)&&e.chainId>0)}function p(e){if(!t(e)||!Array.isArray(e.chains)||!e.chains.every(f))return!1;let r=e.relayer;return t(r)&&n(r.accountId)&&n(r.url)&&r.url.trim().length>0&&t(r.routes)&&n(r.routes.delegateAction)}function m(e){if(!t(e)||e.mode!==`managed`)return!1;let r=e.nearAccountProvisioning;return n(e.publishableKey)&&n(e.projectEnvironmentId)&&(e.paymentMode===`disabled`||e.paymentMode===`quota_then_x402`||e.paymentMode===`always_x402`)&&t(r)&&(r.kind===`implicit_account`||r.kind===`relayer_named_subaccount`)}function h(e){return t(e)&&r(e.ttlMs)&&r(e.remainingUses)}function g(e){if(!t(e)||typeof e.enabled!=`boolean`||!h(e.signingSession))return!1;let n=i(e.signingSession,`signingSession`);return n.kind===`jwt`||n.kind===`cookie`}function _(e){return t(e)?e.mode===`disabled`?e.signingWorkerId===void 0:e.mode===`enabled`&&n(e.signingWorkerId)&&e.signingWorkerId.trim().length>0:!1}function v(e){return t(e)?typeof e.enabled==`boolean`&&r(e.targetDepth)&&Number.isInteger(e.targetDepth)&&e.targetDepth>=l.targetDepth.min&&e.targetDepth<=l.targetDepth.max&&r(e.lowWatermark)&&Number.isInteger(e.lowWatermark)&&e.lowWatermark>=0&&e.lowWatermark<=e.targetDepth&&r(e.maxRefillInFlight)&&Number.isInteger(e.maxRefillInFlight)&&e.maxRefillInFlight>=l.maxRefillInFlight.min&&e.maxRefillInFlight<=l.maxRefillInFlight.max&&r(e.refillAttemptTimeoutMs)&&Number.isInteger(e.refillAttemptTimeoutMs)&&e.refillAttemptTimeoutMs>=l.refillAttemptTimeoutMs.min&&e.refillAttemptTimeoutMs<=l.refillAttemptTimeoutMs.max:!1}function y(e){if(!t(e)||!h(e.sessionDefaults)||!t(e.emailOtp)||e.emailOtp.authPolicy!==`session`&&e.emailOtp.authPolicy!==`per_operation`||!t(e.routerAb)||!_(e.routerAb.normalSigning)||!t(e.routerAbEcdsaDerivation)||!v(e.routerAbEcdsaDerivation.presignaturePool)||!t(e.thresholdEcdsa)||!t(e.thresholdEcdsa.provisioningDefaults))return!1;let n=e.thresholdEcdsa.provisioningDefaults;if(!g(n.tempo)||!g(n.evm))return!1;let r=e.sessionSeal;return t(r)?e.sessionPersistenceMode===`none`?r.mode===`none`&&r.protocol===void 0:e.sessionPersistenceMode===`sealed_refresh_v1`&&r.mode===`sealed_refresh_v1`&&t(r.protocol)&&r.protocol.algorithm===`shamir3pass-v2`&&r.protocol.groupId===`rfc2409-group2`:!1}function b(e){if(!t(e)||!t(e.authenticatorOptions))return!1;let r=e.authenticatorOptions;if(r.userVerification!==`required`&&r.userVerification!==`preferred`&&r.userVerification!==`discouraged`)return!1;let i=r.originPolicy;return t(i)&&(i.single===void 0||typeof i.single==`boolean`)&&(i.all_subdomains===void 0||typeof i.all_subdomains==`boolean`)&&(i.multiple===void 0||Array.isArray(i.multiple)&&i.multiple.every(n))}function x(n){if(!t(n)||n.mode!==`direct`||n.iframe!==void 0)return!1;let r=e(n.rpId);return r.ok&&r.value===n.rpId}function S(e){if(!t(e))return!1;try{c(e.authMethods)}catch{return!1}return p(e.network)&&m(e.registration)&&y(e.signing)&&b(e.webauthn)&&x(e.wallet)&&t(e.ui)&&d(e.ui.appearance)}function C(e){if(!S(e))throw Error(`Invalid resolved wallet host configuration`);return T(e,w(e.ui.appearance))}function w(e){return{...e,locale:s(e.locale)}}function T(e,t){return{authMethods:e.authMethods,network:e.network,registration:e.registration,signing:e.signing,webauthn:e.webauthn,wallet:e.wallet,ui:{appearance:t}}}function E(e){let t=i(e,`wallet configuration update`);if(t.kind===`configure`&&n(t.assetsBaseUrl)&&t.assetsBaseUrl.length>0&&t.appearance===void 0)return{kind:`configure`,config:C(t.config),assetsBaseUrl:t.assetsBaseUrl};if(t.kind===`appearance`&&d(t.appearance)&&t.config===void 0&&t.assetsBaseUrl===void 0)return{kind:`appearance`,appearance:w(t.appearance)};throw Error(`Invalid wallet configuration update`)}function D(e,t){switch(t.kind){case`configure`:return{kind:`configured`,config:t.config,assetsBaseUrl:t.assetsBaseUrl};case`appearance`:if(e.kind!==`configured`)throw Error(`Wallet configuration is required before appearance updates`);return{kind:`configured`,config:T(e.config,t.appearance),assetsBaseUrl:e.assetsBaseUrl}}}function O(e){if(Array.isArray(e))return e.map(O);if(e&&typeof e==`object`){let t=e,n={};for(let e of Object.keys(t).sort())n[e]=O(t[e]);return n}return e}function k(e){return JSON.stringify(O({authMethods:e?.authMethods,network:e?.network,registration:e?.registration,signing:e?.signing,webauthn:e?.webauthn,rpId:e?.wallet.rpId}))}export{E as n,k as r,D as t};
|