@seams/wallet 0.17.0 → 0.19.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -5
- package/dist/.build-inputs.sha256 +1 -1
- package/dist/esm/SeamsWeb/index.js +1 -1
- package/dist/esm/SeamsWeb/walletIframe/client/inboundMessages.js +1 -1
- package/dist/esm/SeamsWeb/walletIframe/client/router.js +10 -4
- package/dist/esm/SeamsWeb/walletIframe/coordinator.js +23 -1
- package/dist/esm/SeamsWeb/walletIframe/host/ui/auth-menu/AuthMenuFooter.js +5 -4
- package/dist/esm/SeamsWeb/walletIframe/host/ui/auth-menu/AuthMenuSurface.js +121 -246
- package/dist/esm/SeamsWeb/walletIframe/host/ui/auth-menu/icons.js +37 -1
- package/dist/esm/SeamsWeb/walletIframe/host/ui/auth-menu/mountAuthMenuSurface.js +4 -2
- package/dist/esm/SeamsWeb/walletIframe/host/ui/auth-menu/presentation.js +117 -0
- package/dist/esm/SeamsWeb/walletIframe/host/ui/auth-menu/recovery-code-input.js +60 -0
- package/dist/esm/SeamsWeb/walletIframe/shared/facadeBoundary.js +2 -0
- package/dist/esm/core/browser/walletIframe/events.js +6 -0
- package/dist/esm/core/config/configBuilder.js +2 -0
- package/dist/esm/core/signingEngine/uiConfirm/ui/appearance.js +27 -0
- package/dist/esm/core/signingEngine/uiConfirm/ui/export-private-key-reveal.js +155 -0
- package/dist/esm/core/signingEngine/uiConfirm/ui/export-viewer-host.js +209 -0
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/ConfirmContent.js +7 -4
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/ConfirmHeader.js +10 -6
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/ConfirmationBody.js +9 -6
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/ConfirmationContent.js +9 -6
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/ConfirmationDrawer.js +7 -4
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/ConfirmationModal.js +4 -1
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/EmailOtpContent.js +4 -1
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/EmailOtpInput.js +5 -4
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/ExportPrivateKeySurface.js +319 -0
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/PasskeyRegistrationContent.js +10 -7
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/PasskeyRegistrationDetails.js +9 -5
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/RecoveryCodeBackupSurface.js +28 -22
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/ReviewDisclosure.js +2 -1
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/TransactionLabel.js +51 -26
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/TransactionReceipt.js +42 -27
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/TransactionReview.js +25 -18
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/TransactionTree.js +8 -5
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/WalletLocale.js +24 -0
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/mountConfirmationSurface.js +6 -4
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/mountExportPrivateKeySurface.js +92 -0
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/mountRecoveryCodeBackupSurface.js +4 -2
- package/dist/esm/core/signingEngine/uiConfirm/ui/surface-measurement-binding.js +12 -0
- package/dist/esm/core/ui/locale.js +10 -0
- package/dist/esm/core/ui/messages.js +698 -0
- package/dist/esm/index.js +3 -2
- package/dist/esm/react/components/AccountMenuButton/AccountMenuButtonMock.js +7 -3
- package/dist/esm/react/components/AccountMenuButton/AccountMenuButtonView.js +7 -4
- package/dist/esm/react/components/AccountMenuButton/AccountMenuDeviceDetails.js +4 -3
- package/dist/esm/react/components/AccountMenuButton/AccountMenuDialog.js +5 -2
- package/dist/esm/react/components/AccountMenuButton/AccountMenuMockScreens.js +31 -27
- package/dist/esm/react/components/AccountMenuButton/AccountMenuScreen.js +6 -3
- package/dist/esm/react/components/AccountMenuButton/AccountsSection.js +6 -3
- package/dist/esm/react/components/AccountMenuButton/AuthenticationMethodRow.js +5 -4
- package/dist/esm/react/components/AccountMenuButton/AuthenticationMethodsModal.js +33 -27
- package/dist/esm/react/components/AccountMenuButton/AuthenticationMethodsView.js +5 -2
- package/dist/esm/react/components/AccountMenuButton/ExportKeysScreen.js +5 -3
- package/dist/esm/react/components/AccountMenuButton/ExportKeysSection.css +20 -0
- package/dist/esm/react/components/AccountMenuButton/ExportKeysSection.js +4 -3
- package/dist/esm/react/components/AccountMenuButton/LinkedDevicesModal.css +9 -3
- package/dist/esm/react/components/AccountMenuButton/LinkedDevicesModal.js +50 -41
- package/dist/esm/react/components/AccountMenuButton/LockMenuItem.js +2 -1
- package/dist/esm/react/components/AccountMenuButton/MenuItem.js +3 -2
- package/dist/esm/react/components/AccountMenuButton/ProfileDropdown.js +8 -4
- package/dist/esm/react/components/AccountMenuButton/RecoveryCodeAcknowledgement.js +3 -2
- package/dist/esm/react/components/AccountMenuButton/RecoveryCodeActions.js +4 -3
- package/dist/esm/react/components/AccountMenuButton/SegmentedControl.js +2 -1
- package/dist/esm/react/components/AccountMenuButton/TransactionSettingsSection.js +11 -10
- package/dist/esm/react/components/AccountMenuButton/UserAccountButton.css +1 -0
- package/dist/esm/react/components/AccountMenuButton/UserAccountButton.js +8 -4
- package/dist/esm/react/components/AccountMenuButton/WalletRegionSection.js +22 -15
- package/dist/esm/react/components/AccountMenuButton/WalletSettingsLayout.js +20 -16
- package/dist/esm/react/components/AccountMenuButton/Web3AuthProfileButton.css +15 -0
- package/dist/esm/react/components/AccountMenuButton/index.js +18 -15
- package/dist/esm/react/components/HostedSeamsAuthMenu/SeamsAuthMenuMock.js +30 -26
- package/dist/esm/react/components/QRCodeScanner.js +28 -23
- package/dist/esm/react/components/ShowQRCode.js +39 -31
- package/dist/esm/react/components/theme/ThemeProvider.js +3 -0
- package/dist/esm/react/context/WalletLocale.js +15 -0
- package/dist/esm/react/context/index.js +8 -3
- package/dist/esm/react/styles/styles.css +36 -0
- package/dist/esm/sdk/ConfirmationDrawer-DCw0m-Iv.js +1 -0
- package/dist/{public/sdk/NonceCoordinator-DuDKN-B8.js → esm/sdk/NonceCoordinator-Dq-FZpBz.js} +1 -1
- package/dist/{public/sdk/accountLifecycle-D61FIpFS.js → esm/sdk/accountLifecycle-fLNUdjct.js} +1 -1
- package/dist/{public/sdk/activeWalletSession-Ba6X4CUN.js → esm/sdk/activeWalletSession-BpbnpU9s.js} +1 -1
- package/dist/esm/sdk/adapters-BNmcyf9K.js +2 -0
- package/dist/esm/sdk/appearance-token-vars-DxBm_cKA.js +2 -0
- package/dist/esm/sdk/{canonicalPrimitives-BOzRXzfv.js → canonicalPrimitives-BMP5yILS.js} +1 -1
- package/dist/esm/sdk/{challengeDelivery-FD9GHK1T.js → challengeDelivery-CG2J5Qxs.js} +1 -1
- package/dist/{public/sdk/clientSessionPersistenceState-BHRUSWMt.js → esm/sdk/clientSessionPersistenceState-BgO4P6CZ.js} +1 -1
- package/dist/esm/sdk/{commitQueue-DOIaR0Hr.js → commitQueue-BW7BpYyA.js} +1 -1
- package/dist/esm/sdk/configBuilder-BMNShuOu.js +1 -0
- package/dist/esm/sdk/{configHelpers-BXdl5Mxs.js → configHelpers-D50F_Txb.js} +1 -1
- package/dist/esm/sdk/{digestEncoding-CbEFYvlJ.js → digestEncoding-aC4dSf_x.js} +1 -1
- package/dist/esm/sdk/{display-CY_aJEn6.js → display-WtILOPQR.js} +1 -1
- package/dist/{public/sdk/ecdsaCapabilityManifest-DzA996y9.js → esm/sdk/ecdsaCapabilityManifest-DRc423SV.js} +1 -1
- package/dist/{public/sdk/ecdsaDerivationClientWasm-DQlajPpE.js → esm/sdk/ecdsaDerivationClientWasm-DmwKWUEb.js} +1 -1
- package/dist/{public/sdk/ecdsaDerivationExport-DyugdheE.js → esm/sdk/ecdsaDerivationExport-DX89rq_u.js} +1 -1
- package/dist/esm/sdk/{ecdsaWalletRecords-C_v74n5X.js → ecdsaWalletRecords-CxxUt3fS.js} +1 -1
- package/dist/{public/sdk/emailOtpEcdsaDerivationIdentity-BDVjvnmO.js → esm/sdk/emailOtpEcdsaDerivationIdentity-CupWCKNg.js} +1 -1
- package/dist/esm/sdk/{export-viewer-host-DsRaS0UH.js → export-viewer-host-DsdzagKK.js} +1 -1
- package/dist/{public/sdk/exportKeypairOperation-SJPysnE1.js → esm/sdk/exportKeypairOperation-BwW_E4Lt.js} +1 -1
- package/dist/esm/sdk/{helpers-D3CUEdHI.js → helpers-DS0bksx9.js} +1 -1
- package/dist/esm/sdk/{host-GPb_mSAQ.js → host-DMR4KDy9.js} +1 -1
- package/dist/esm/sdk/{intentDigest-CGLrsMgj.js → intentDigest-Rh5Mg8X7.js} +1 -1
- package/dist/esm/sdk/{lanes-DJKIHJBm.js → lanes-BzU7cv2T.js} +1 -1
- package/dist/esm/sdk/localOnly-DO191vDh.js +1 -0
- package/dist/esm/sdk/mountExportPrivateKeySurface-DQzFzhNu.js +1 -0
- package/dist/esm/sdk/mountRecoveryCodeBackupSurface-B1D0ovqx.js +2 -0
- package/dist/{public/sdk/nearEd25519YaoMaterialActivation-J6EHFScV.js → esm/sdk/nearEd25519YaoMaterialActivation-DgWDGRI_.js} +1 -1
- package/dist/{public/sdk/nearEd25519YaoSigningPreparation-CqBNMG87.js → esm/sdk/nearEd25519YaoSigningPreparation-yKDLQXBS.js} +1 -1
- package/dist/esm/sdk/{nonceLaneKeys-D18nlLjh.js → nonceLaneKeys-BzMBVxMU.js} +1 -1
- package/dist/esm/sdk/{operationFingerprint-Boa9DQ51.js → operationFingerprint-C4VX-0NI.js} +1 -1
- package/dist/{public/sdk/passkey-custody-CBSal3E9.js → esm/sdk/passkey-custody-Ba-NQ_4C.js} +1 -1
- package/dist/esm/sdk/{pendingWalletRecoveryCodeBackup-CvsrXbzn.js → pendingWalletRecoveryCodeBackup-DOeIn_Qj.js} +1 -1
- package/dist/{public/sdk/presignaturePool-CQNt13kE.js → esm/sdk/presignaturePool-BHoxnbOA.js} +1 -1
- package/dist/esm/sdk/{prfCache-DJ93rtDv.js → prfCache-BAFh1skJ.js} +1 -1
- package/dist/esm/sdk/{primitives-cC0a9GRC.js → primitives-CTmDwMNc.js} +1 -1
- package/dist/esm/sdk/{recovery-entrypoint-nj7Zo3CR.js → recovery-entrypoint-DWghFZrZ.js} +1 -1
- package/dist/esm/sdk/{registration-49OGU_GZ.js → registration-DknFwoqn.js} +1 -1
- package/dist/esm/sdk/{registration-C7tywPXF.js → registration-sQndIWRF.js} +1 -1
- package/dist/esm/sdk/{registrationAccounts-9GFI0Ger.js → registrationAccounts-CD1u1ZqZ.js} +1 -1
- package/dist/esm/sdk/{registrationIds-Br-zI4_5.js → registrationIds-B1OpqRAt.js} +1 -1
- package/dist/{public/sdk/registrationIntent-PqmcTEE3.js → esm/sdk/registrationIntent-D4YDjf2U.js} +1 -1
- package/dist/esm/sdk/{requireStepUpAuth-C4PGTly-.js → requireStepUpAuth-CnSCFSOZ.js} +1 -1
- package/dist/{public/sdk/routerAbNormalSigning-xxATTIh5.js → esm/sdk/routerAbNormalSigning-BV1t27aB.js} +1 -1
- package/dist/esm/sdk/router_ab_ed25519_yao_client_bg.wasm +0 -0
- package/dist/esm/sdk/runtime-auth-BxG-J-BB.js +1 -0
- package/dist/esm/sdk/runtime-device-link-Dn_5hPCq.js +1 -0
- package/dist/esm/sdk/runtime-ecdsa-tempo-lTFTb9Rh.js +1 -0
- package/dist/esm/sdk/runtime-email-otp-CPqTCH8Q.js +1 -0
- package/dist/esm/sdk/runtime-export-Brz53_oi.js +1 -0
- package/dist/esm/sdk/runtime-near-Da_xFUXx.js +1 -0
- package/dist/esm/sdk/runtime-preferences-riUZGaTs.js +1 -0
- package/dist/esm/sdk/runtime-recovery-CTj4nDAM.js +1 -0
- package/dist/esm/sdk/{runtime-recovery-codes-LR4mg7-k.js → runtime-recovery-codes-D8T9LQ7-.js} +1 -1
- package/dist/esm/sdk/{secp256k1-BldUPNQI.js → secp256k1-wOOHtPcK.js} +1 -1
- package/dist/esm/sdk/{secureRandomId-LwBFx84B.js → secureRandomId-8LSc91aN.js} +1 -1
- package/dist/esm/sdk/sessionObservationRevision-C7v-wN8_.js +1 -0
- package/dist/esm/sdk/shared-hx7KVyeq.js +6 -0
- package/dist/esm/sdk/{signEvmFamily-C_RvEnDB.js → signEvmFamily-DT34Vtpa.js} +1 -1
- package/dist/esm/sdk/{signEvmFamilyWithUiConfirmForTempo-CUKdq5dE.js → signEvmFamilyWithUiConfirmForTempo-NYCFU6Li.js} +1 -1
- package/dist/esm/sdk/{signEvmWithUiConfirm-CxXzcvj2.js → signEvmWithUiConfirm-D6nmJr_L.js} +1 -1
- package/dist/{public/sdk/signNear-Dno7NsP_.js → esm/sdk/signNear-B000QxBd.js} +1 -1
- package/dist/{public/sdk/signingFlow-DtugI_2z.js → esm/sdk/signingFlow-gl85GOW4.js} +1 -1
- package/dist/esm/sdk/{signingQueue-C1Pb07gm.js → signingQueue-gW7wmOuL.js} +1 -1
- package/dist/esm/sdk/{singletons-DxIyVhNb.js → singletons-CAsc9LvA.js} +1 -1
- package/dist/{public/sdk/thresholdEcdsa-murTq-xz.js → esm/sdk/thresholdEcdsa-Ci7yz395.js} +1 -1
- package/dist/{public/sdk/transactionState-XbZm9Zon.js → esm/sdk/transactionState-lB2qpkOm.js} +1 -1
- package/dist/esm/sdk/tx-confirm-ui.js +1799 -432
- 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-CVUalZ3p.js → wallet-recovery-DFaS3geI.js} +1 -1
- package/dist/esm/sdk/wallet-ui.css +1 -1
- package/dist/{public/sdk/walletAuthMethodRecord-Bv68Vq-g.js → esm/sdk/walletAuthMethodRecord-CWdqdY_s.js} +1 -1
- package/dist/{public/sdk/walletAuthority-v5wvv3IB.js → esm/sdk/walletAuthority-BY3kyKQ-.js} +1 -1
- package/dist/{public/sdk/walletCustodyEcdsaContinuity-rRHExT_R.js → esm/sdk/walletCustodyEcdsaContinuity-mGh1Ysko.js} +1 -1
- package/dist/esm/sdk/{walletDbName-DRzPv5Ir.js → walletDbName-BxWApBQF.js} +1 -1
- package/dist/{public/sdk/walletOwnershipGeneration-pMmmJ6XA.js → esm/sdk/walletOwnershipGeneration-DSGfjuV2.js} +1 -1
- package/dist/esm/sdk/{walletRecoveryCommit-DvC6WlGz.js → walletRecoveryCommit-DQA_wveK.js} +1 -1
- package/dist/esm/sdk/{walletRecoveryRotate-Dd3prJpr.js → walletRecoveryRotate-zvQThn37.js} +1 -1
- package/dist/esm/sdk/walletRegistrationSetupPrewarm-DdVpKccU.js +1 -0
- package/dist/{public/sdk/walletSessionAuthorizationStatus-DVV3xkAx.js → esm/sdk/walletSessionAuthorizationStatus-ONPRiEbK.js} +1 -1
- package/dist/{public/sdk/walletSessionAuthorizationStore-D-MhJ0PC.js → esm/sdk/walletSessionAuthorizationStore-DnUMtkev.js} +1 -1
- package/dist/esm/sdk/warmSessionHydration-D8Vdro9n.js +1 -0
- package/dist/{public/sdk/webauthnP256-XgYu-Y6E.js → esm/sdk/webauthnP256-_ajaNl90.js} +1 -1
- package/dist/esm/sdk/{webauthnPromptCoordinator-D5sP8Q7e.js → webauthnPromptCoordinator-9bVeHcTZ.js} +1 -1
- package/dist/esm/wasm/router_ab_ed25519_yao_client/pkg/router_ab_ed25519_yao_client_bg.wasm +0 -0
- package/dist/public/headers.manifest.json +1 -1
- package/dist/public/sdk/ConfirmationDrawer-DCw0m-Iv.js +1 -0
- package/dist/{esm/sdk/NonceCoordinator-DuDKN-B8.js → public/sdk/NonceCoordinator-Dq-FZpBz.js} +1 -1
- package/dist/{esm/sdk/accountLifecycle-D61FIpFS.js → public/sdk/accountLifecycle-fLNUdjct.js} +1 -1
- package/dist/{esm/sdk/activeWalletSession-Ba6X4CUN.js → public/sdk/activeWalletSession-BpbnpU9s.js} +1 -1
- package/dist/public/sdk/adapters-BNmcyf9K.js +2 -0
- package/dist/public/sdk/appearance-token-vars-DxBm_cKA.js +2 -0
- package/dist/public/sdk/{canonicalPrimitives-BOzRXzfv.js → canonicalPrimitives-BMP5yILS.js} +1 -1
- package/dist/public/sdk/{challengeDelivery-FD9GHK1T.js → challengeDelivery-CG2J5Qxs.js} +1 -1
- package/dist/{esm/sdk/clientSessionPersistenceState-BHRUSWMt.js → public/sdk/clientSessionPersistenceState-BgO4P6CZ.js} +1 -1
- package/dist/public/sdk/{commitQueue-DOIaR0Hr.js → commitQueue-BW7BpYyA.js} +1 -1
- package/dist/public/sdk/configBuilder-BMNShuOu.js +1 -0
- package/dist/public/sdk/{configHelpers-BXdl5Mxs.js → configHelpers-D50F_Txb.js} +1 -1
- package/dist/public/sdk/{digestEncoding-CbEFYvlJ.js → digestEncoding-aC4dSf_x.js} +1 -1
- package/dist/public/sdk/{display-CY_aJEn6.js → display-WtILOPQR.js} +1 -1
- package/dist/{esm/sdk/ecdsaCapabilityManifest-DzA996y9.js → public/sdk/ecdsaCapabilityManifest-DRc423SV.js} +1 -1
- package/dist/{esm/sdk/ecdsaDerivationClientWasm-DQlajPpE.js → public/sdk/ecdsaDerivationClientWasm-DmwKWUEb.js} +1 -1
- package/dist/{esm/sdk/ecdsaDerivationExport-DyugdheE.js → public/sdk/ecdsaDerivationExport-DX89rq_u.js} +1 -1
- package/dist/public/sdk/{ecdsaWalletRecords-C_v74n5X.js → ecdsaWalletRecords-CxxUt3fS.js} +1 -1
- package/dist/{esm/sdk/emailOtpEcdsaDerivationIdentity-BDVjvnmO.js → public/sdk/emailOtpEcdsaDerivationIdentity-CupWCKNg.js} +1 -1
- package/dist/public/sdk/{export-viewer-host-DsRaS0UH.js → export-viewer-host-DsdzagKK.js} +1 -1
- package/dist/{esm/sdk/exportKeypairOperation-SJPysnE1.js → public/sdk/exportKeypairOperation-BwW_E4Lt.js} +1 -1
- package/dist/public/sdk/{helpers-D3CUEdHI.js → helpers-DS0bksx9.js} +1 -1
- package/dist/public/sdk/{host-GPb_mSAQ.js → host-DMR4KDy9.js} +1 -1
- package/dist/public/sdk/{intentDigest-CGLrsMgj.js → intentDigest-Rh5Mg8X7.js} +1 -1
- package/dist/public/sdk/{lanes-DJKIHJBm.js → lanes-BzU7cv2T.js} +1 -1
- package/dist/public/sdk/localOnly-DO191vDh.js +1 -0
- package/dist/public/sdk/mountExportPrivateKeySurface-DQzFzhNu.js +1 -0
- package/dist/public/sdk/mountRecoveryCodeBackupSurface-B1D0ovqx.js +2 -0
- package/dist/{esm/sdk/nearEd25519YaoMaterialActivation-J6EHFScV.js → public/sdk/nearEd25519YaoMaterialActivation-DgWDGRI_.js} +1 -1
- package/dist/{esm/sdk/nearEd25519YaoSigningPreparation-CqBNMG87.js → public/sdk/nearEd25519YaoSigningPreparation-yKDLQXBS.js} +1 -1
- package/dist/public/sdk/{nonceLaneKeys-D18nlLjh.js → nonceLaneKeys-BzMBVxMU.js} +1 -1
- package/dist/public/sdk/{operationFingerprint-Boa9DQ51.js → operationFingerprint-C4VX-0NI.js} +1 -1
- package/dist/{esm/sdk/passkey-custody-CBSal3E9.js → public/sdk/passkey-custody-Ba-NQ_4C.js} +1 -1
- package/dist/public/sdk/{pendingWalletRecoveryCodeBackup-CvsrXbzn.js → pendingWalletRecoveryCodeBackup-DOeIn_Qj.js} +1 -1
- package/dist/{esm/sdk/presignaturePool-CQNt13kE.js → public/sdk/presignaturePool-BHoxnbOA.js} +1 -1
- package/dist/public/sdk/{prfCache-DJ93rtDv.js → prfCache-BAFh1skJ.js} +1 -1
- package/dist/public/sdk/{primitives-cC0a9GRC.js → primitives-CTmDwMNc.js} +1 -1
- package/dist/public/sdk/{recovery-entrypoint-nj7Zo3CR.js → recovery-entrypoint-DWghFZrZ.js} +1 -1
- package/dist/public/sdk/{registration-49OGU_GZ.js → registration-DknFwoqn.js} +1 -1
- package/dist/public/sdk/{registration-C7tywPXF.js → registration-sQndIWRF.js} +1 -1
- package/dist/public/sdk/{registrationAccounts-9GFI0Ger.js → registrationAccounts-CD1u1ZqZ.js} +1 -1
- package/dist/public/sdk/{registrationIds-Br-zI4_5.js → registrationIds-B1OpqRAt.js} +1 -1
- package/dist/{esm/sdk/registrationIntent-PqmcTEE3.js → public/sdk/registrationIntent-D4YDjf2U.js} +1 -1
- package/dist/public/sdk/{requireStepUpAuth-C4PGTly-.js → requireStepUpAuth-CnSCFSOZ.js} +1 -1
- package/dist/{esm/sdk/routerAbNormalSigning-xxATTIh5.js → public/sdk/routerAbNormalSigning-BV1t27aB.js} +1 -1
- package/dist/public/sdk/router_ab_ed25519_yao_client_bg.wasm +0 -0
- package/dist/public/sdk/runtime-auth-BxG-J-BB.js +1 -0
- package/dist/public/sdk/runtime-device-link-Dn_5hPCq.js +1 -0
- package/dist/public/sdk/runtime-ecdsa-tempo-lTFTb9Rh.js +1 -0
- package/dist/public/sdk/runtime-email-otp-CPqTCH8Q.js +1 -0
- package/dist/public/sdk/runtime-export-Brz53_oi.js +1 -0
- package/dist/public/sdk/runtime-near-Da_xFUXx.js +1 -0
- package/dist/public/sdk/runtime-preferences-riUZGaTs.js +1 -0
- package/dist/public/sdk/runtime-recovery-CTj4nDAM.js +1 -0
- package/dist/public/sdk/{runtime-recovery-codes-LR4mg7-k.js → runtime-recovery-codes-D8T9LQ7-.js} +1 -1
- package/dist/public/sdk/{secp256k1-BldUPNQI.js → secp256k1-wOOHtPcK.js} +1 -1
- package/dist/public/sdk/{secureRandomId-LwBFx84B.js → secureRandomId-8LSc91aN.js} +1 -1
- package/dist/public/sdk/sessionObservationRevision-C7v-wN8_.js +1 -0
- package/dist/public/sdk/shared-hx7KVyeq.js +6 -0
- package/dist/public/sdk/{signEvmFamily-C_RvEnDB.js → signEvmFamily-DT34Vtpa.js} +1 -1
- package/dist/public/sdk/{signEvmFamilyWithUiConfirmForTempo-CUKdq5dE.js → signEvmFamilyWithUiConfirmForTempo-NYCFU6Li.js} +1 -1
- package/dist/public/sdk/{signEvmWithUiConfirm-CxXzcvj2.js → signEvmWithUiConfirm-D6nmJr_L.js} +1 -1
- package/dist/{esm/sdk/signNear-Dno7NsP_.js → public/sdk/signNear-B000QxBd.js} +1 -1
- package/dist/{esm/sdk/signingFlow-DtugI_2z.js → public/sdk/signingFlow-gl85GOW4.js} +1 -1
- package/dist/public/sdk/{signingQueue-C1Pb07gm.js → signingQueue-gW7wmOuL.js} +1 -1
- package/dist/public/sdk/{singletons-DxIyVhNb.js → singletons-CAsc9LvA.js} +1 -1
- package/dist/{esm/sdk/thresholdEcdsa-murTq-xz.js → public/sdk/thresholdEcdsa-Ci7yz395.js} +1 -1
- package/dist/{esm/sdk/transactionState-XbZm9Zon.js → public/sdk/transactionState-lB2qpkOm.js} +1 -1
- package/dist/public/sdk/tx-confirm-ui.js +1799 -432
- 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-CVUalZ3p.js → wallet-recovery-DFaS3geI.js} +1 -1
- package/dist/public/sdk/wallet-ui.css +1 -1
- package/dist/{esm/sdk/walletAuthMethodRecord-Bv68Vq-g.js → public/sdk/walletAuthMethodRecord-CWdqdY_s.js} +1 -1
- package/dist/{esm/sdk/walletAuthority-v5wvv3IB.js → public/sdk/walletAuthority-BY3kyKQ-.js} +1 -1
- package/dist/{esm/sdk/walletCustodyEcdsaContinuity-rRHExT_R.js → public/sdk/walletCustodyEcdsaContinuity-mGh1Ysko.js} +1 -1
- package/dist/public/sdk/{walletDbName-DRzPv5Ir.js → walletDbName-BxWApBQF.js} +1 -1
- package/dist/{esm/sdk/walletOwnershipGeneration-pMmmJ6XA.js → public/sdk/walletOwnershipGeneration-DSGfjuV2.js} +1 -1
- package/dist/public/sdk/{walletRecoveryCommit-DvC6WlGz.js → walletRecoveryCommit-DQA_wveK.js} +1 -1
- package/dist/public/sdk/{walletRecoveryRotate-Dd3prJpr.js → walletRecoveryRotate-zvQThn37.js} +1 -1
- package/dist/public/sdk/walletRegistrationSetupPrewarm-DdVpKccU.js +1 -0
- package/dist/{esm/sdk/walletSessionAuthorizationStatus-DVV3xkAx.js → public/sdk/walletSessionAuthorizationStatus-ONPRiEbK.js} +1 -1
- package/dist/{esm/sdk/walletSessionAuthorizationStore-D-MhJ0PC.js → public/sdk/walletSessionAuthorizationStore-DnUMtkev.js} +1 -1
- package/dist/public/sdk/warmSessionHydration-D8Vdro9n.js +1 -0
- package/dist/{esm/sdk/webauthnP256-XgYu-Y6E.js → public/sdk/webauthnP256-_ajaNl90.js} +1 -1
- package/dist/public/sdk/{webauthnPromptCoordinator-D5sP8Q7e.js → webauthnPromptCoordinator-9bVeHcTZ.js} +1 -1
- package/dist/public/sdk/workers/router_ab_ed25519_yao_client_bg.wasm +0 -0
- package/dist/public/sdk/workers/wallet_custody_ceremony_bg.wasm +0 -0
- package/dist/public/wallet-assets.manifest.json +192 -192
- package/dist/public/wallet-service/index.html +4 -4
- package/dist/types/wallet/src/SeamsWeb/walletIframe/coordinator.d.ts +2 -1
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/auth-menu/domain.d.ts +20 -3
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/auth-menu/session.d.ts +3 -0
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/ui/auth-menu/AuthMenuFooter.d.ts +0 -1
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/ui/auth-menu/AuthMenuSurface.d.ts +5 -6
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/ui/auth-menu/icons.d.ts +2 -0
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/ui/auth-menu/presentation.d.ts +35 -0
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/ui/auth-menu/recovery-code-input.d.ts +17 -0
- package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/ConfirmContent.d.ts +3 -1
- package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/ConfirmHeader.d.ts +0 -1
- package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/ConfirmationBody.d.ts +3 -1
- package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/ConfirmationContent.d.ts +3 -1
- package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/ConfirmationDrawer.d.ts +0 -1
- package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/ConfirmationModal.d.ts +0 -1
- package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/EmailOtpInput.d.ts +0 -1
- package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/ExportPrivateKeySurface.d.ts +1 -1
- package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/PasskeyRegistrationContent.d.ts +3 -1
- package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/PasskeyRegistrationDetails.d.ts +0 -1
- package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/RecoveryCodeBackupSurface.d.ts +3 -1
- package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/ReviewDisclosure.d.ts +0 -1
- package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/TransactionLabel.d.ts +0 -1
- package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/TransactionReceipt.d.ts +3 -1
- package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/TransactionReview.d.ts +3 -1
- package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/TransactionTree.d.ts +0 -1
- package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/WalletLocale.d.ts +18 -0
- package/dist/types/wallet/src/core/types/seams.d.ts +3 -0
- package/dist/types/wallet/src/core/ui/locale.d.ts +5 -0
- package/dist/types/wallet/src/core/ui/messages.d.ts +8 -0
- package/dist/types/wallet/src/index.d.ts +3 -1
- package/dist/types/wallet/src/react/components/AccountMenuButton/AccountMenuButtonMock.d.ts +1 -0
- package/dist/types/wallet/src/react/components/AccountMenuButton/WalletRegionSection.d.ts +3 -0
- package/dist/types/wallet/src/react/components/AccountMenuButton/WalletSettingsLayout.d.ts +4 -1
- package/dist/types/wallet/src/react/components/HostedSeamsAuthMenu/SeamsAuthMenuMock.d.ts +2 -1
- package/dist/types/wallet/src/react/context/WalletLocale.d.ts +16 -0
- package/dist/workers/router_ab_ed25519_yao_client_bg.wasm +0 -0
- package/dist/workers/wallet_custody_ceremony_bg.wasm +0 -0
- package/package.json +1 -1
- package/dist/esm/sdk/ConfirmationDrawer-CXVNmfTy.js +0 -1
- package/dist/esm/sdk/adapters-CTlDBRJy.js +0 -2
- package/dist/esm/sdk/configBuilder-BMawmNpz.js +0 -1
- package/dist/esm/sdk/jsxRuntime.module-DKsgiFjd.js +0 -2
- package/dist/esm/sdk/localOnly-CPmpw381.js +0 -1
- package/dist/esm/sdk/mountExportPrivateKeySurface-C8_tpDHF.js +0 -1
- package/dist/esm/sdk/mountRecoveryCodeBackupSurface-BtNFtmSj.js +0 -2
- package/dist/esm/sdk/runtime-auth-CpjGW90U.js +0 -1
- package/dist/esm/sdk/runtime-device-link-CKgfGi7D.js +0 -1
- package/dist/esm/sdk/runtime-ecdsa-tempo-5VV9xSEh.js +0 -1
- package/dist/esm/sdk/runtime-email-otp-D1hYZNn6.js +0 -1
- package/dist/esm/sdk/runtime-export-B92wQD25.js +0 -1
- package/dist/esm/sdk/runtime-near-CUuKg38M.js +0 -1
- package/dist/esm/sdk/runtime-preferences-EdL3G_MO.js +0 -1
- package/dist/esm/sdk/runtime-recovery-uyw8sywI.js +0 -1
- package/dist/esm/sdk/sessionObservationRevision-DmmNV25w.js +0 -1
- package/dist/esm/sdk/shared-ha31XIdc.js +0 -6
- package/dist/esm/sdk/walletRegistrationSetupPrewarm-DcbhVNMQ.js +0 -1
- package/dist/esm/sdk/warmSessionHydration-CsQpQVuy.js +0 -1
- package/dist/public/sdk/ConfirmationDrawer-CXVNmfTy.js +0 -1
- package/dist/public/sdk/adapters-CTlDBRJy.js +0 -2
- package/dist/public/sdk/configBuilder-BMawmNpz.js +0 -1
- package/dist/public/sdk/jsxRuntime.module-DKsgiFjd.js +0 -2
- package/dist/public/sdk/localOnly-CPmpw381.js +0 -1
- package/dist/public/sdk/mountExportPrivateKeySurface-C8_tpDHF.js +0 -1
- package/dist/public/sdk/mountRecoveryCodeBackupSurface-BtNFtmSj.js +0 -2
- package/dist/public/sdk/runtime-auth-CpjGW90U.js +0 -1
- package/dist/public/sdk/runtime-device-link-CKgfGi7D.js +0 -1
- package/dist/public/sdk/runtime-ecdsa-tempo-5VV9xSEh.js +0 -1
- package/dist/public/sdk/runtime-email-otp-D1hYZNn6.js +0 -1
- package/dist/public/sdk/runtime-export-B92wQD25.js +0 -1
- package/dist/public/sdk/runtime-near-CUuKg38M.js +0 -1
- package/dist/public/sdk/runtime-preferences-EdL3G_MO.js +0 -1
- package/dist/public/sdk/runtime-recovery-uyw8sywI.js +0 -1
- package/dist/public/sdk/sessionObservationRevision-DmmNV25w.js +0 -1
- package/dist/public/sdk/shared-ha31XIdc.js +0 -6
- package/dist/public/sdk/walletRegistrationSetupPrewarm-DcbhVNMQ.js +0 -1
- package/dist/public/sdk/warmSessionHydration-CsQpQVuy.js +0 -1
- /package/dist/esm/sdk/{base64-DW79QA0h.js → base64-BmKR3UqU.js} +0 -0
- /package/dist/esm/sdk/{signingSessionSeal-DX41aXUL.js → signingSessionSeal-DqbjG8c8.js} +0 -0
- /package/dist/esm/sdk/{theme-BKaFqCAj.js → theme-os0Salmo.js} +0 -0
- /package/dist/public/sdk/{base64-DW79QA0h.js → base64-BmKR3UqU.js} +0 -0
- /package/dist/public/sdk/{signingSessionSeal-DX41aXUL.js → signingSessionSeal-DqbjG8c8.js} +0 -0
- /package/dist/public/sdk/{theme-BKaFqCAj.js → theme-os0Salmo.js} +0 -0
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import type { ThemeMode } from '../theme/ThemeProvider';
|
|
3
3
|
export interface AccountMenuButtonMockProps {
|
|
4
|
+
locale?: import('../../../core/ui/locale').WalletLocale;
|
|
4
5
|
/** Display-only identity. No wallet session or credentials are created. */
|
|
5
6
|
username?: string;
|
|
6
7
|
walletId?: string;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { WalletLocale } from '../../../core/ui/locale';
|
|
1
2
|
import React, { Component } from 'react';
|
|
2
3
|
import type { WalletId } from '../../../../../shared-ts/src/utils/domainIds';
|
|
3
4
|
import type { ExclusiveUnion, Variant } from '../../../../../shared-ts/src/utils/variant';
|
|
@@ -30,6 +31,8 @@ type State = ExclusiveUnion<{
|
|
|
30
31
|
export declare class WalletRegionSection extends Component<Props, {
|
|
31
32
|
readonly view: State;
|
|
32
33
|
}> {
|
|
34
|
+
static contextType: React.Context<WalletLocale>;
|
|
35
|
+
context: WalletLocale;
|
|
33
36
|
state: {
|
|
34
37
|
readonly view: State;
|
|
35
38
|
};
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
import type { WalletLocale } from '../../../core/ui/locale';
|
|
1
2
|
import type { WalletPlacementCapability } from '../../../SeamsWeb/publicApi/placement';
|
|
2
3
|
import type { WalletId } from '../../../../../shared-ts/src/utils/domainIds';
|
|
3
|
-
import { Component, type ReactNode } from 'react';
|
|
4
|
+
import React, { Component, type ReactNode } from 'react';
|
|
4
5
|
import type { MenuItem, ProfileSettingsMenuItemId } from './types';
|
|
5
6
|
export declare function WalletSettingsHeader(): import("react/jsx-runtime").JSX.Element;
|
|
6
7
|
interface WalletSettingsLayoutProps {
|
|
@@ -25,6 +26,8 @@ type LayoutState = {
|
|
|
25
26
|
};
|
|
26
27
|
};
|
|
27
28
|
export declare class WalletSettingsLayout extends Component<WalletSettingsLayoutProps, LayoutState> {
|
|
29
|
+
static contextType: React.Context<WalletLocale>;
|
|
30
|
+
context: WalletLocale;
|
|
28
31
|
state: LayoutState;
|
|
29
32
|
private regionAvailability;
|
|
30
33
|
private heading;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { HostedAuthMenuMode } from './types';
|
|
2
2
|
/** Inert artwork for loading and previews; contains no auth controls or wallet logic. */
|
|
3
|
-
export declare function SeamsAuthMenuMock({ initialMode }: {
|
|
3
|
+
export declare function SeamsAuthMenuMock({ initialMode, locale, }: {
|
|
4
4
|
initialMode?: HostedAuthMenuMode;
|
|
5
|
+
locale?: import('../../../core/ui/locale').WalletLocale;
|
|
5
6
|
}): import("react/jsx-runtime").JSX.Element;
|
|
6
7
|
//# sourceMappingURL=SeamsAuthMenuMock.d.ts.map
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { WalletLocale } from '../../core/ui/locale';
|
|
3
|
+
import { type WalletMessage } from '../../core/ui/messages';
|
|
4
|
+
export declare const WalletLocaleContext: React.Context<WalletLocale>;
|
|
5
|
+
export declare function useWalletLocale(): WalletLocale;
|
|
6
|
+
type WalletTextProps = {
|
|
7
|
+
message: WalletMessage;
|
|
8
|
+
copy?: never;
|
|
9
|
+
values?: Readonly<Record<string, string | number>>;
|
|
10
|
+
} | {
|
|
11
|
+
copy: string;
|
|
12
|
+
message?: never;
|
|
13
|
+
};
|
|
14
|
+
export declare function WalletText(props: WalletTextProps): React.ReactNode;
|
|
15
|
+
export {};
|
|
16
|
+
//# sourceMappingURL=WalletLocale.d.ts.map
|
|
Binary file
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e,s as t,t as n}from"./jsxRuntime.module-DKsgiFjd.js";async function r(e,t,n){if(!e.isConnected||n?.aborted)return!1;let r=e.ownerDocument,i=r.defaultView?.navigator.clipboard;if(i?.writeText)try{return await i.writeText(t),!0}catch{}if(!e.isConnected||n?.aborted)return!1;let a=r.createElement(`textarea`);a.value=t,a.readOnly=!0,a.className=`seams-offscreen`,e.appendChild(a),a.select();try{return r.execCommand(`copy`)}finally{a.remove()}}function i(){return n(`span`,{class:`copy-icon`,"aria-hidden":`true`,children:[n(`span`,{class:`copy-icon-check`,children:n(`svg`,{width:`16`,height:`16`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,children:n(`path`,{d:`M20 6 9 17l-5-5`})})}),n(`span`,{class:`copy-icon-copy`,children:n(`svg`,{width:`16`,height:`16`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,children:[n(`rect`,{width:`14`,height:`14`,x:`8`,y:`8`,rx:`2`,ry:`2`}),n(`path`,{d:`M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2`})]})})]})}let a=0;function o(e){return n(s,{...e},e.context)}var s=class extends e{dialog=t();hosted=t();containerId=`seams-confirmation-modal-${++a}`;componentDidMount(){this.props.context===`standalone`?this.dialog.current?.showModal():this.hosted.current?.focus({preventScroll:!0})}componentWillUnmount(){this.dialog.current?.close()}cancel=e=>{e.preventDefault(),e.stopPropagation(),this.props.onCancel()};backdropClick=e=>{let t=this.dialog.current;if(!t||e.target!==t)return;let n=t.getBoundingClientRect();(e.clientX<n.left||e.clientX>n.right||e.clientY<n.top||e.clientY>n.bottom)&&this.cancel(e)};hostedKeyDown=e=>{!e.defaultPrevented&&e.key===`Escape`&&this.cancel(e)};render(){return this.props.context===`standalone`?n(`dialog`,{ref:this.dialog,class:`seams-confirmation-modal`,"aria-label":this.props.label,onCancel:this.cancel,onClick:this.backdropClick,children:n(`div`,{id:this.containerId,class:`modal-container-root`,tabIndex:-1,children:this.props.children})}):n(`div`,{ref:this.hosted,class:`seams-confirmation-modal seams-confirmation-modal--hosted`,tabIndex:-1,onKeyDown:this.hostedKeyDown,children:n(`div`,{id:this.containerId,class:`modal-container-root`,children:this.props.children})})}};function c(e){let t=e.startTranslatePx+e.deltaPx;if(t>=e.restTranslatePx)return t;let n=Math.max(e.sheetHeightPx*.5,e.viewportHeightPx*.5,e.minimumOverpullPx),r=e.restTranslatePx-t;return e.restTranslatePx-n*(1-1/(r/n+1))}function l(e){let t=e.totalDeltaPx/Math.max(1,e.durationMs);return Math.min(e.velocityPxPerMs,t)<=-.6||Math.max(e.velocityPxPerMs,t)>=.7||e.translatePx>=e.sheetHeightPx-50}let u=0;function d(e){return n(f,{...e},e.context)}var f=class extends e{state={settled:!1};id=`seams-confirmation-drawer-${++u}`;dialog=t();sheet=t();body=t();content=t();observer=null;frame=null;closeTimer=null;gesture={kind:`idle`};lifetime=`active`;closeReported=!1;suppressPointerClick=!1;componentDidMount(){let e=this.sheet.current,t=e.ownerDocument.defaultView;this.dialog.current?.showModal(),this.dialog.current||e.focus({preventScroll:!0}),this.observer=new ResizeObserver(this.measureContent),this.observer.observe(this.content.current),this.observer.observe(e),t.addEventListener(`resize`,this.scheduleMeasure),t.visualViewport?.addEventListener(`resize`,this.scheduleMeasure),this.measure(),this.frame=t.requestAnimationFrame(this.openAfterLayout),this.props.state.kind===`closing`&&this.startClose()}openAfterLayout=()=>{this.frame=null,this.setState({settled:!0})};componentDidUpdate(e){e.styles!==this.props.styles&&(e.styles.deleteDynamicRule(this.id),e.styles.deleteDynamicRule(`${this.id}-drag`),this.resetGesture(),this.measure()),e.state.kind!==this.props.state.kind&&(this.props.state.kind===`closing`?this.startClose():(this.clearCloseTimer(),this.closeReported=!1)),this.props.state.kind===`open`&&this.props.state.interaction===`busy`&&this.resetGesture()}componentWillUnmount(){this.lifetime=`disposed`,this.resetGesture();let e=this.sheet.current.ownerDocument.defaultView;this.frame!==null&&e.cancelAnimationFrame(this.frame),this.clearCloseTimer(),this.observer?.disconnect(),e.removeEventListener(`resize`,this.scheduleMeasure),e.visualViewport?.removeEventListener(`resize`,this.scheduleMeasure),this.props.styles.deleteDynamicRule(this.id),this.dialog.current?.close()}scheduleMeasure=()=>{this.lifetime===`disposed`||this.frame!==null||(this.frame=this.sheet.current.ownerDocument.defaultView.requestAnimationFrame(this.measureFrame))};measureFrame=()=>{this.frame=null,this.measure()};measureContent=()=>{this.lifetime===`active`&&this.measure()};measure(){if(this.gesture.kind!==`idle`)return;let e=this.sheet.current,t=this.content.current,n=Math.round(t.getBoundingClientRect().bottom-e.getBoundingClientRect().top),r=this.props.context===`standalone`?Math.max(0,e.offsetHeight-n):0;this.props.styles.setDynamicDeclarations(this.id,`#${this.id}`,{"--seams-drawer-rest":`${r}px`})}startClose(){this.resetGesture(),this.clearCloseTimer();let e=this.sheet.current.ownerDocument.defaultView,t=e.matchMedia(`(prefers-reduced-motion: reduce)`).matches?0:150;this.closeTimer=e.setTimeout(this.reportClosed,t)}clearCloseTimer(){this.closeTimer!==null&&(this.sheet.current.ownerDocument.defaultView.clearTimeout(this.closeTimer),this.closeTimer=null)}reportClosed=()=>{this.clearCloseTimer(),!(this.lifetime===`disposed`||this.closeReported||this.props.state.kind!==`closing`)&&(this.closeReported=!0,this.props.state.onClosed())};transitionEnd=e=>{e.target===this.sheet.current&&e.propertyName===`transform`&&this.reportClosed()};cancel=e=>{e.preventDefault(),e.stopPropagation(),this.props.state.kind===`open`&&this.props.onCancel()};backdropClick=e=>{this.props.dismissOnBackdrop!==!1&&e.target===this.dialog.current&&this.canDrag()&&this.cancel(e)};keyDown=e=>{!e.defaultPrevented&&e.key===`Escape`&&this.cancel(e)};canDrag(){return this.props.state.kind===`open`&&this.props.state.interaction===`ready`}pointerDown=e=>{if(this.clearClickSuppression(),!this.canDrag()||this.gesture.kind!==`idle`||!e.isPrimary||e.button!==0)return;let t=e.target;if(t instanceof Element&&t.closest(`a, input, textarea, select, summary, button:not(.seams-drawer-handle), [data-seams-drawer-no-drag]`))return;this.gesture={kind:`pending`,pointerId:e.pointerId,startY:e.clientY};let n=this.sheet.current.ownerDocument;n.addEventListener(`pointermove`,this.pointerMove,{passive:!1}),n.addEventListener(`pointerup`,this.pointerUp),n.addEventListener(`pointercancel`,this.pointerCancel)};pointerMove=e=>{let t=this.gesture;if(t.kind===`idle`||t.pointerId!==e.pointerId)return;let n=this.sheet.current;if(t.kind===`pending`){if(Math.abs(e.clientY-t.startY)<8||this.body.current.scrollTop>0)return;let r=n.ownerDocument.defaultView,i=new DOMMatrixReadOnly(r.getComputedStyle(n).transform).m42;t={kind:`dragging`,pointerId:t.pointerId,startY:t.startY,lastY:t.startY,startedAt:e.timeStamp,lastTime:e.timeStamp,velocity:0,rest:i,translate:i,height:n.offsetHeight},this.gesture=t,n.setPointerCapture(e.pointerId),n.classList.add(`is-dragging`)}let r=e.timeStamp-t.lastTime;r>0&&(t.velocity=(e.clientY-t.lastY)/r),t.lastY=e.clientY,t.lastTime=e.timeStamp,t.translate=c({startTranslatePx:t.rest,deltaPx:e.clientY-t.startY,restTranslatePx:t.rest,sheetHeightPx:t.height,viewportHeightPx:n.ownerDocument.defaultView.innerHeight,minimumOverpullPx:160}),this.props.styles.setDynamicDeclarations(`${this.id}-drag`,`#${this.id}`,{"--seams-drawer-drag":`${t.translate}px`}),e.preventDefault()};pointerUp=e=>{let t=this.gesture;if(t.kind===`idle`||t.pointerId!==e.pointerId)return;let n=t.kind===`dragging`&&l({velocityPxPerMs:t.velocity,totalDeltaPx:t.lastY-t.startY,durationMs:e.timeStamp-t.startedAt,translatePx:t.translate,sheetHeightPx:t.height});t.kind===`dragging`&&(this.suppressPointerClick=!0,e.preventDefault()),this.resetGesture(),n&&this.props.state.kind===`open`&&this.props.onCancel()};pointerCancel=e=>{this.gesture.kind!==`idle`&&this.gesture.pointerId===e.pointerId&&(this.gesture.kind===`dragging`&&(this.suppressPointerClick=!0),this.resetGesture())};clearClickSuppression=()=>{this.suppressPointerClick=!1};suppressDragClick=e=>{!this.suppressPointerClick||e.detail===0||(this.suppressPointerClick=!1,e.preventDefault(),e.stopPropagation())};resetGesture(){let e=this.sheet.current,t=this.gesture;this.gesture={kind:`idle`},t.kind!==`idle`&&e.hasPointerCapture(t.pointerId)&&e.releasePointerCapture(t.pointerId),e.classList.remove(`is-dragging`);let n=e.ownerDocument;n.removeEventListener(`pointermove`,this.pointerMove),n.removeEventListener(`pointerup`,this.pointerUp),n.removeEventListener(`pointercancel`,this.pointerCancel),this.props.styles.deleteDynamicRule(`${this.id}-drag`),this.lifetime===`active`&&this.scheduleMeasure()}render(){let e=this.state.settled&&this.props.state.kind===`open`,t=[`seams-confirmation-drawer`];e&&t.push(`is-open`),this.gesture.kind===`dragging`&&t.push(`is-dragging`);let r=n(`section`,{ref:this.sheet,id:this.id,class:t.join(` `),"data-context":this.props.context,tabIndex:-1,onPointerDownCapture:this.pointerDown,onClickCapture:this.suppressDragClick,onLostPointerCapture:this.pointerCancel,onTransitionEnd:this.transitionEnd,onKeyDown:this.keyDown,children:[n(`div`,{class:`seams-drawer-controls`,children:[this.props.origin&&n(`div`,{class:`seams-drawer-origin`,children:this.props.origin}),n(`button`,{type:`button`,class:`seams-drawer-handle`,"aria-label":`Dismiss confirmation`,disabled:!this.canDrag(),onClick:this.cancel,children:n(`span`,{})}),n(`button`,{type:`button`,class:`seams-drawer-close`,"aria-label":`Close`,disabled:!this.canDrag(),onClick:this.cancel,children:`×`})]}),n(`div`,{class:`seams-drawer-body`,ref:this.body,children:[this.props.errorMessage&&n(`div`,{class:`error`,children:this.props.errorMessage}),n(`div`,{class:`seams-drawer-content`,ref:this.content,children:this.props.children})]})]});return this.props.context===`wallet-iframe`?r:n(`dialog`,{class:`seams-drawer-dialog`,ref:this.dialog,"aria-label":this.props.label,onCancel:this.cancel,onClick:this.backdropClick,onClickCapture:this.suppressDragClick,onPointerDownCapture:this.clearClickSuppression,children:r})}};export{r as i,o as n,i as r,d as t};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{R as e}from"./domainIds-C3fUa33Q.js";import{S as t,T as n,i as r,x as i}from"./chains-CPmd4s9f.js";import{r as a}from"./transactionReviewAdmission-CNNho8IG.js";import{a as o,o as s,r as c,t as l}from"./errors-ADOZT8oV.js";import{t as u}from"./accountIds-Cpvlkvbe.js";import{p as d}from"./nonceLaneKeys-D18nlLjh.js";import{i as f,n as p}from"./profileAccountProjection-BNVJLOt2.js";import{u as m}from"./trace-CsRMlSh1.js";import{c as h,i as g,l as ee,o as _,r as v,u as y}from"./intentDigest-CGLrsMgj.js";import{t as b}from"./surface-measurement-reporter-BJhfiPw6.js";import{n as x}from"./NonceCoordinator-DuDKN-B8.js";import{o as S,t as C}from"./types-Buoe6179.js";import{t as te}from"./promptText-CnyrLxgj.js";import{i as w,n as ne,r as re,t as ie}from"./appearance-4DmzKUWf.js";import{a as ae}from"./transaction-activity-C0nCSW6c.js";import{c as oe,l as T,n as se,o as E,r as D,s as O,t as k}from"./jsxRuntime.module-DKsgiFjd.js";import{i as ce,n as le,r as ue,t as de}from"./ConfirmationDrawer-CXVNmfTy.js";function fe(e){return e===`drawer`?`drawer`:`modal`}function pe(e){return typeof e!=`number`||!Number.isFinite(e)?0:Math.max(0,Math.floor(e))}function me(e){if(e?.uiMode===`none`)return{kind:`silent`,uiMode:`none`};let t=fe(e?.uiMode);return e?.behavior===`skipClick`?{kind:`auto_proceed`,uiMode:t,behavior:`skipClick`,autoProceedDelay:pe(e.autoProceedDelay)}:{kind:`interactive`,uiMode:t,behavior:`requireClick`}}function he(){return{kind:`silent`,uiMode:`none`}}function ge(e){throw Error(`Unsupported confirmation config: ${String(e.kind)}`)}async function _e(e){let[t,n]=await Promise.all([e.credentialStore.listWalletPasskeyAuthenticators(e.walletId),e.credentialStore.listWalletAuthMethodsV2ForWallet(e.walletId)]),r=new Set;for(let t of n)t.kind===`passkey`&&t.status===`active`&&String(t.walletId)===e.walletId&&r.add(t.credentialIdB64u);return t.filter(e=>r.has(e.credentialId))}function ve(e){return e.map(e=>({id:String(e.credentialId||``),type:`public-key`,transports:Array.isArray(e.transports)?e.transports:[]}))}function ye(e){if(String(e.signerAuthMethod||``)!==`passkey`)return``;let t=String(e.metadata?.walletId||``).trim(),n=String(e.metadata?.passkeyCredentialRawId||``).trim();return t&&n?t:``}async function be(e){let t=await e.credentialStore.listAccountSigners({chainIdKey:e.chainIdKey,accountAddress:e.accountAddress,status:`active`}),n=Array.from(new Set(t.map(ye).filter(Boolean)));if(n.length===0)throw Error(`[multichain] no passkey signer found for account ${e.accountLabel}`);if(n.length>1)throw Error(`[multichain] multiple wallet identities found for account ${e.accountLabel}`);let r=n[0];return{walletId:r,authenticators:await _e({credentialStore:e.credentialStore,walletId:r})}}async function xe(e){if(e.authenticators.length===0)throw Error(`[multichain] no passkeys found for account ${String(e.accountLabel)}`);let t=(await e.credentialStore.selectProfileAuthenticatorsForPrompt({profileId:e.profileId,authenticators:e.authenticators,accountLabel:String(e.accountLabel)})).authenticatorsForPrompt;if(t.length===0)throw Error(`[multichain] no passkey credential selected for account ${String(e.accountLabel)}`);e.onBeforePrompt?.({authenticators:e.authenticators,authenticatorsForPrompt:t,challengeB64u:e.challengeB64u});let n=ve(t),r=await e.touchIdPrompt.getAuthenticationCredentialsSerializedForChallengeB64u({subjectId:String(e.accountLabel),challengeB64u:e.challengeB64u,allowCredentials:n,cancellation:e.cancellation,includeSecondPrfOutput:e.includeSecondPrfOutput}),i=await e.credentialStore.selectProfileAuthenticatorsForPrompt({profileId:e.profileId,authenticators:e.authenticators,selectedCredentialRawId:r.rawId,accountLabel:String(e.accountLabel)});if(i?.wrongPasskeyError)throw Error(String(i.wrongPasskeyError));return r}async function Se(e){let t=String(e.credentialIdB64u||``).trim();if(!t)throw Error(`[webauthn] exact passkey credential is required`);let n=await e.touchIdPrompt.getAuthenticationCredentialsSerializedForChallengeB64u({subjectId:String(e.accountLabel),challengeB64u:e.challengeB64u,allowCredentials:[{id:t,type:`public-key`,transports:[]}],cancellation:e.cancellation,includeSecondPrfOutput:e.includeSecondPrfOutput});if(n.rawId!==t)throw Error(`[webauthn] authentication returned a different passkey credential`);return n}async function Ce(e){let t=u(e.nearAccountId);return await Se({touchIdPrompt:e.touchIdPrompt,accountLabel:t,challengeB64u:e.challengeB64u,credentialIdB64u:e.credentialIdB64u,cancellation:e.cancellation,includeSecondPrfOutput:e.includeSecondPrfOutput})}async function we(e){let t=String(e.walletId||``).trim();return await Se({touchIdPrompt:e.touchIdPrompt,accountLabel:t,challengeB64u:e.challengeB64u,credentialIdB64u:e.credentialIdB64u,cancellation:e.cancellation,includeSecondPrfOutput:e.includeSecondPrfOutput})}async function Te(e){let t=u(e.nearAccountId),n=await p(e.credentialStore,f(t));if(!n?.profileId)throw Error(`[multichain] no profile/account mapping found for account ${t}`);let r=await be({credentialStore:e.credentialStore,chainIdKey:n.accountRef.chainIdKey,accountAddress:n.accountRef.accountAddress,accountLabel:t});return await xe({credentialStore:e.credentialStore,touchIdPrompt:e.touchIdPrompt,profileId:r.walletId,accountLabel:t,authenticators:r.authenticators,challengeB64u:e.challengeB64u,cancellation:e.cancellation,...e.onBeforePrompt?{onBeforePrompt:e.onBeforePrompt}:{},...typeof e.includeSecondPrfOutput==`boolean`?{includeSecondPrfOutput:e.includeSecondPrfOutput}:{}})}async function Ee(e){let t=String(e.walletId||``).trim(),n=await _e({credentialStore:e.credentialStore,walletId:t});return await xe({credentialStore:e.credentialStore,touchIdPrompt:e.touchIdPrompt,profileId:t,accountLabel:t,authenticators:n,challengeB64u:e.challengeB64u,cancellation:e.cancellation,...e.onBeforePrompt?{onBeforePrompt:e.onBeforePrompt}:{},...typeof e.includeSecondPrfOutput==`boolean`?{includeSecondPrfOutput:e.includeSecondPrfOutput}:{}})}function De(e){if(e.type!==w.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 Oe(e){if(e.type!==w.SIGN_TRANSACTION&&e.type!==w.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 ke(e){switch(e.type){case w.SIGN_TRANSACTION:return j(e).rpcCall.nearAccountId;case w.SIGN_NEP413_MESSAGE:return e.payload.nearAccountId;case w.SIGN_INTENT_DIGEST:{let t=A(e);return t.kind===`near_wallet`?t.nearAccountId:``}case w.REGISTER_ACCOUNT:case w.LINK_DEVICE:return String(Re(e).nearAccountId||``).trim();case w.AUTHORIZE_KEY_EXPORT:{let t=Ae(e);return t.kind===`near_wallet`?t.nearAccountId:``}case w.SHOW_SECURE_PRIVATE_KEY_UI:{let t=Ae(e);return t.kind===`near_wallet`?t.nearAccountId:``}default:return``}}function Ae(e){if(e.type!==w.AUTHORIZE_KEY_EXPORT&&e.type!==w.SHOW_SECURE_PRIVATE_KEY_UI)throw Error(`Expected local key export request, got ${e.type}`);return e.payload.subject}function je(e){let t=Ae(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 A(e){if(e.type!==w.SIGN_INTENT_DIGEST)throw Error(`Expected SIGN_INTENT_DIGEST request, got ${e.type}`);return e.payload.signingSubject}function Me(e){switch(e.type){case w.SIGN_TRANSACTION:return String(j(e).walletId||``).trim();case w.SIGN_NEP413_MESSAGE:return String(e.payload.walletId||``).trim();case w.REGISTER_ACCOUNT:case w.LINK_DEVICE:return String(Re(e).walletId||``).trim();case w.SIGN_INTENT_DIGEST:return A(e).walletId;case w.AUTHORIZE_KEY_EXPORT:case w.SHOW_SECURE_PRIVATE_KEY_UI:return je(e);default:return ke(e)}}function Ne(e){return e.type===w.SIGN_TRANSACTION&&j(e).txSigningRequests?.length||1}function Pe(e){return e.type===w.SIGN_TRANSACTION?e.payload.intentDigest:e?.intentDigest}function j(e){if(e.type!==w.SIGN_TRANSACTION)throw Error(`Expected SIGN_TRANSACTION request, got ${e.type}`);return e.payload}function Fe(e){if(e.type===w.SIGN_TRANSACTION)return j(e).displayModel;if(e.type===w.SIGN_NEP413_MESSAGE||e.type===w.SIGN_INTENT_DIGEST)return e.payload.displayModel}function Ie(e){if(e.type===w.SIGN_TRANSACTION)return S(j(e).signingAuthPlan);if(e.type===w.SIGN_NEP413_MESSAGE){let t=e.payload;return S(t.signingAuthPlan)}if(e.type===w.SIGN_INTENT_DIGEST){let t=e.payload;return S(t.signingAuthPlan)}}function Le(e){if(e.type===w.SIGN_TRANSACTION){let t=j(e);return t.signingAuthPlan?.kind===C.EmailOtpReauth?t.signingAuthPlan.emailOtpPrompt:t.emailOtpPrompt}if(e.type===w.SIGN_NEP413_MESSAGE){let t=e.payload;return t.signingAuthPlan?.kind===C.EmailOtpReauth?t.signingAuthPlan.emailOtpPrompt:t.emailOtpPrompt}if(e.type===w.SIGN_INTENT_DIGEST){let t=e.payload;return t.signingAuthPlan?.kind===C.EmailOtpReauth?t.signingAuthPlan.emailOtpPrompt:t.emailOtpPrompt}}function Re(e){if(e.type!==w.REGISTER_ACCOUNT&&e.type!==w.LINK_DEVICE)throw Error(`Expected REGISTER_ACCOUNT or LINK_DEVICE request, got ${e.type}`);return e.payload}function ze(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 Be(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 Ve={cancelled:`User cancelled secure confirm request`,collectCredentialsFailed:`Failed to collect credentials`,nearRpcFailed:`Failed to fetch NEAR data`};function He(t){return e(t.channelToken)}function Ue(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 We(t,r,i){let{_confirmHandle:a,...o}=r,s=n(o.requestId)?o.requestId:r.requestId,c=e(i?.channelToken)??He(t),l={type:re.USER_PASSKEY_CONFIRM_RESPONSE,requestId:s,data:o,...c?{channelToken:c}:{}};t.onDecision?.(o),t.postMessage(l)}function Ge(t,r,i){let a=Be(r),o=n(a?.requestId)?a.requestId:r.requestId,s=e(i?.channelToken)??He(t),c={type:re.USER_PASSKEY_CONFIRM_PROGRESS,requestId:o,data:a,...s?{channelToken:s}:{}};t.postMessage(c)}function Ke(e){return o(e)?!1:c(e)||(()=>{let t=s(e);return t?.name===`NotAllowedError`||t?.name===`AbortError`})()}let qe=!1;function Je(e=!0){qe=!!e}function Ye(){return qe}function Xe(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 M(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 Ze(e){if(!e)return``;try{return`${BigInt(e)/BigInt(`1000000000000`)} Tgas`}catch{return e}}function N(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 P(e){return e?e instanceof Uint8Array?`${e.byteLength} bytes`:Array.isArray(e)||typeof e==`string`?`${e.length} bytes`:`unknown`:`0 bytes`}function Qe(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 $e(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 et(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($e(r,i))return[];if(a===`file-content`){let a=Qe(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 tt=({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=et(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 nt(e){switch(e){case`near`:return`NEAR`;case`evm`:return`EVM`;case`tempo`:return`Tempo`;default:return`Unknown`}}function rt(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 it(e,t,n){return tt({operation:e,depth:t,path:n,renderChild:(e,t,n)=>it(e,t,n)})}function at(e){let t=Array.isArray(e.children)?e.children.map(e=>at(e)):void 0;return e.type===`folder`?{...e,hideChevron:!0,children:t}:t?{...e,children:t}:e}function ot(e,t){let n=Array.isArray(e.children)?e.children.map(e=>ot(e,t)):void 0;return{...e,chain:t,...n?{children:n}:{}}}function st(e){let t=e.chain===`evm`||e.chain===`tempo`,n=(Array.isArray(e.operations)?e.operations:[]).map((e,t)=>it(e,0,String(t))).map(t=>ot(t,e.chain)).map(e=>t?at(e):e),r=[...rt(e.warnings).map(t=>ot(t,e.chain)).map(e=>t?at(e):e),...n];r.length===0&&r.push({id:`no-operations`,label:`No operations`,type:`file`,open:!1});let i=nt(e.chain);return{id:`display-root`,label:String(e.title||``).trim()||`${i} Transaction`,type:`folder`,open:!0,children:r}}function ct(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:Xe(e.args)}];break;case`Transfer`:r=[];break;case`CreateAccount`:r=[];break;case`DeployContract`:{let n=P(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=P(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: ${N(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: ${N(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: ${N(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: ${N(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 lt(e)}return{id:`action-${t}`,label:``,type:`folder`,open:!1,hideChevron:!0,action:e,actionIndex:t,children:r}}function lt(e){throw Error(`Unsupported NEAR action: ${String(e)}`)}function ut(e,t,n){let r=e.actions.map((e,t)=>ct(e,t));return{id:`tx-${t}`,label:``,type:`folder`,open:!0,hideChevron:!0,transaction:e,transactionIndex:t,totalTransactions:n,children:[...r]}}function dt(e){let t=e.length,n=e.map((e,n)=>ut(e,n,t));return{id:`txs-root`,label:t>1?`Transactions`:`Transaction`,type:`folder`,open:!0,children:n}}function ft(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(ft)}function pt(e){return(Array.isArray(e.operations)?e.operations:[]).some(ft)}function F(e){let t=Array.isArray(e.txSigningRequests)?e.txSigningRequests:[];if(t.length>0)return dt(h(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?st(n):null}const mt=/^NEAR account ([^\s]+) needs funding before signing\.$/;function ht(e){let t=String(e||``).trim();return t.length<=8?t:`${t.slice(0,4)}...${t.slice(-4)}`}function gt(e){let t=String(e||``).trim();return t?`NEAR account ${t} needs funding before signing.`:`NEAR account needs funding before signing.`}function _t(e){let t=String(e||``).trim(),n=mt.exec(t);if(!n)return null;let r=String(n[1]||``).trim();return r?{accountId:r,shortAccountId:ht(r)}:null}function vt(e){return String(e||``).trim()===`Topping up account...`}function yt(e){let t=ht(e);return t?`Funding NEAR account ${t}...`:`Funding NEAR account...`}function bt(e){let t=String(e||``).trim();return t.startsWith(`Funding NEAR account`)&&t.endsWith(`...`)}function xt(e){return vt(e)||bt(e)}function St(e){let t=e.trim();if(!t)return{kind:`empty`};if(xt(t))return{kind:`status`,text:t};let n=_t(t);return n?{kind:`funding`,accountId:n.accountId,shortAccountId:n.shortAccountId}:{kind:`text`,text:t}}function Ct(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:wt(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 kt(t.signingAuthMode)}let o=St(t.body??``);return{ok:!0,model:{appearance:e.appearance,content:{kind:`transaction`,review:{model:t.model??null,tree:e.tree},header:{heading:Tt(t),website:Et(t.securityContext?.rpId?.trim()??``),chainDetails:Dt(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}}}}}function wt(e,t){return e?{kind:`pending`}:t?{kind:`rejected`,message:t}:{kind:`ready`}}function Tt(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 kt(e.signingAuthMode)}}function Et(e){return e?{kind:`ready`,text:e}:{kind:`loading`}}function Dt(e,t){let n=e.model;if(n?.chainId)return{kind:`ready`,text:`${Ot(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 Ot(e){switch(e){case`near`:return`NEAR`;case`evm`:return`EVM`;case`tempo`:return`Tempo`;case`unknown`:return`Unknown`;default:return kt(e)}}function kt(e){throw Error(`Unexpected confirmation presentation: ${String(e)}`)}const At=`seams-surface-resize-begin`;function jt(e,t){return e.dispatchEvent(new CustomEvent(At,{bubbles:!0,composed:!0,detail:t}))}function Mt(e,t,n){let r=t;return e.addEventListener(At,r,n),()=>e.removeEventListener(At,r,n)}const Nt=`data-seams-confirm-surface`,I=`seams-confirm-surface-pinned`,L=`seams-confirm-surface-pinned-root`,R=`seams-surface-height-driven`,Pt=`--seams-surface-height-driven-target`;function Ft(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 jt(e,{...t.reason?{reason:t.reason}:{},deltaCssPx:i,claim:f}),s!==null}function It(e){let t=null,n=null,r=()=>{let e=n;n=null,e&&e.classList.remove(R)};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(L)||a.parentElement?.closest(`.${R}`)||(n=a,a.classList.add(R),e.setHeightCssPx(i),Promise.resolve(e.settled?.()).then(()=>new Promise(e=>requestAnimationFrame(()=>e()))).then(()=>{if(n!==a)return;if(document.documentElement.classList.contains(L)){r();return}a.classList.remove(R);let t=a.getBoundingClientRect().height;a.classList.add(R),z({...e.reason?{reason:e.reason}:{},element:a,fromCssPx:i,toCssPx:t,setHeightCssPx:t=>e.setHeightCssPx(t),onSettled:()=>{n=null}})||r()}))},dispose:r}}function z(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??[R],a=i.filter(e=>!t.classList.contains(e));t.classList.add(...a),e.setHeightCssPx(n);let o=Ft(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 Lt=null;const Rt={blipFrames:0,trace(e=2e3){return new Promise(t=>{let n=[],r=performance.now(),i=()=>{let a=Lt,o=a?.classList.contains(I)?`*`:``;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 zt(e){Lt=e;try{window.__seamsSurfaceMotion=Rt}catch{}}function Bt(){let e=document.documentElement?.clientHeight??0;return e>0?e:window.innerHeight}function Vt(e,t,n){return Math.min(Math.max(e,t),n)}function Ht(e){return e.getAttribute(Nt)===`wallet-iframe`}function Ut(e){if(typeof CSSStyleSheet!=`function`||!(`adoptedStyleSheets`in document))return null;let t=null,n=()=>{e.classList.remove(I),document.documentElement.classList.remove(L)};return{set(n){try{t||=new CSSStyleSheet,t.replaceSync(`.${I}{height:${Math.max(0,Math.round(n))}px}.${L}{overflow:hidden}`),document.adoptedStyleSheets.includes(t)||(document.adoptedStyleSheets=[...document.adoptedStyleSheets,t])}catch{return!1}return e.classList.add(I),document.documentElement.classList.add(L),!0},release:n,dispose(){if(n(),!t)return;let e=t;t=null;try{document.adoptedStyleSheets=document.adoptedStyleSheets.filter(t=>t!==e)}catch{}}}}function Wt(e,t={}){let n=t.viewportHeightCssPx??Bt,r=Ut(e);zt(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=Vt((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&&(Rt.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=Mt(e,t=>{let s=t.detail;if(!r||!s||!Ht(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 B(e){let t=e.size??`100%`,n=e.strokeWidth??2;return k(`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:[k(`rect`,{width:`18`,height:`11`,x:`3`,y:`11`,rx:`2`,ry:`2`}),k(`path`,{d:`M7 11V7a5 5 0 0 1 10 0v4`})]})}let Gt=0;var Kt=class extends E{id=`seams-halo-${++Gt}`;element=O();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 k(`div`,{id:this.id,ref:this.element,class:`seams-halo-border`,children:k(`div`,{class:`halo-root${this.props.animated?` animated`:``}`,children:k(`div`,{class:`halo-inner`,children:k(`div`,{class:`halo-outer`,children:[this.props.animated&&k(`div`,{class:`halo-ring`,"aria-hidden":`true`}),k(`div`,{class:`halo-content`,children:this.props.children})]})})})})}};function qt(e){return k(`div`,{class:`seams-passkey-halo-loading`,"aria-hidden":`true`,children:k(`div`,{class:`seams-passkey-loading-root`,children:k(Kt,{animated:e.animated,innerPadding:e.innerPadding,styles:e.styles,children:k(`div`,{class:`seams-passkey-loading-touch-icon-container`,children:k(`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`?k(Jt,{}):k(Yt,{})})})})})})}function Jt(){return k(T,{children:[k(`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`}),k(`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 Yt(){return k(`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 Xt(e){return k(T,{children:[k(`span`,{class:`loading-ellipsis`,"aria-hidden":`true`,children:[k(`span`,{class:`loading-ellipsis__dot`,children:`.`}),k(`span`,{class:`loading-ellipsis__dot`,children:`.`}),k(`span`,{class:`loading-ellipsis__dot`,children:`.`})]}),k(`span`,{class:`sr-only`,children:e.label})]})}function Zt(e,t){return`${e.trim().replace(/\/$/,``)}/address/${encodeURIComponent(t)}`}function V(e){return k(`a`,{class:`highlight-receiver-id`,href:Zt(e.base,e.address),target:`_blank`,rel:`noopener noreferrer`,children:e.children})}function H(e){let t=e.trim();return/^0x[0-9a-fA-F]{40}$/.test(t)?`${t.slice(0,8)}...${t.slice(-4)}`:t}function U(e){let t=e.label.trim().match(/^(Transaction(?:\s+\d+)?\s+to contract)\b/i);return t?`${t[1]} `:void 0}function Qt(e){throw Error(`Unsupported transaction action: ${String(e)}`)}function W(e){let t=e.action;if(t)switch(t.type){case _.FunctionCall:return`Calling ${t.methodName} with ${M(t.deposit)} using ${Ze(t.gas)}`;case _.Transfer:return`Transfer ${M(t.amount)}`;case _.CreateAccount:return`Creating Account`;case _.DeleteAccount:return`Deleting Account`;case _.Stake:return`Staking ${M(t.stake)}`;case _.AddKey:return`Adding Key`;case _.DeleteKey:return`Deleting Key`;case _.DeployContract:return`Deploying WASM contract`;case _.DeployGlobalContract:return`Deploy global WASM contract (mode: ${t.deployMode}, size ${P(t.code)})`;case _.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 Qt(t)}if(e.transaction)return((e.totalTransactions??1)>1?`Transaction ${(e.transactionIndex??0)+1}: to `:`Transaction to `)+e.transaction.receiverId;let n=U(e);return e.contractAddress?.trim()&&n?n+H(e.contractAddress):e.label}function $t({node:e,explorers:t}){let n=e.action;if(n)switch(n.type){case _.FunctionCall:{let e=Ze(n.gas),t=M(n.deposit);return k(T,{children:[`Calling `,k(`span`,{class:`highlight-method-name`,children:n.methodName}),t!==`0 NEAR`&&k(T,{children:[` `,`with `,k(`span`,{class:`highlight-method-name`,children:t})]}),e&&k(T,{children:[` `,`using `,k(`span`,{class:`highlight-method-name`,children:e})]})]})}case _.Transfer:return k(T,{children:[`Transfer `,k(`span`,{class:`highlight-amount`,children:M(n.amount)})]});case _.CreateAccount:return`Creating Account`;case _.DeleteAccount:return`Deleting Account`;case _.Stake:return`Staking ${M(n.stake)}`;case _.AddKey:return`Adding Key`;case _.DeleteKey:return`Deleting Key`;case _.DeployContract:return`Deploying WASM contract (${P(n.code)})`;case _.DeployGlobalContract:return W(e);case _.UseGlobalContract:return n.accountId?k(T,{children:[`Use global contract`,` `,k(V,{base:t.near,address:n.accountId,children:n.accountId})]}):n.codeHash?k(T,{children:[`Use global contract by hash`,` `,k(`span`,{class:`highlight-method-name`,children:N(n.codeHash,{prefix:10,suffix:6})})]}):`Use global contract`;default:return Qt(n)}if(e.transaction)return k(T,{children:[(e.totalTransactions??1)>1?`Transaction ${(e.transactionIndex??0)+1}: to `:`Transaction to `,k(V,{base:t.near,address:e.transaction.receiverId,children:e.transaction.receiverId})]});let r=U(e),i=e.contractAddress?.trim();if(i&&r){let n=e.chain&&e.chain!==`unknown`?t[e.chain]:void 0;return k(T,{children:[r,n?k(V,{base:n,address:i,children:H(i)}):k(`span`,{class:`highlight-receiver-id`,children:H(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 k(T,{children:[`Calling `,k(`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 k(T,{children:[`Calling `,k(`span`,{class:`highlight-method-name`,children:n}),r&&` using ${r}`]})}return e.label}const G=[`anim-h`,`anim-h-active`,`anim-h-driven`],en=[...G,`anim-h-hold`];let tn=0;function nn(){return k(`svg`,{class:`chevron`,viewBox:`0 0 16 16`,"aria-hidden":`true`,children:k(`path`,{fill:`currentColor`,d:`M6 3l5 5-5 5z`})})}function rn(e){return!!e.contentVariants?.decoded&&!!e.contentVariants.raw&&e.contentVariants.decoded!==e.contentVariants.raw}function an(e,t,n){return k(sn,{node:n,depth:t,styles:e.styles,explorers:e.explorers,onToggle:e.onToggle,onCopy:e.onCopy},n.id)}function on(e){if(!e.node.children?.length)return null;let t=k(`div`,{class:`tooltip-tree-root`,children:k(`div`,{class:`tooltip-tree-children`,children:e.node.children.map(an.bind(null,e,1))})});return k(`div`,{class:`seams-tx-tree`,"data-theme":e.theme,children:e.showShadow?k(`div`,{class:`tooltip-border-outer`,children:t}):t})}var sn=class extends E{state={mode:this.props.node.contentVariants?.defaultMode===`raw`?`raw`:`decoded`,copied:!1};id=`seams-tree-node-${++tn}`;details=O();shell=O();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(...G);let n=e.getBoundingClientRect().height;e.classList.add(...G),z({reason:`${this.props.node.id}:file-content-mode`,element:e,drivenClasses:G,fromCssPx:t,toCssPx:n,setHeightCssPx:this.setHeight,onSettled:this.releaseHeight})||(e.classList.remove(...G),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 ce(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(),rn(this.props.node)&&(this.shell.current&&(this.modeHeight=this.shell.current.getBoundingClientRect().height,this.setHeight(this.modeHeight),this.shell.current.classList.add(...G)),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;z({reason:this.props.node.id,element:e,drivenClasses:G,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(...en),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 k(`span`,{class:`label${t.type===`file`?` label-action-node`:``}`,hidden:t.hideLabel,children:[e&&!t.hideChevron&&k(nn,{}),k(`span`,{class:`label-text`,title:W(t),children:k($t,{node:t,explorers:this.props.explorers})}),t.type===`file`&&t.copyValue&&k(`button`,{type:`button`,class:`copy-badge`,"data-copied":String(this.state.copied),onClick:this.copy,title: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 k(`div`,{id:this.id,class:`row file-row depth-${Math.max(0,t-1)}`,"data-no-elbow":String(!!e.hideLabel),children:[k(`span`,{class:`indent`}),this.label(!1)]});let r=rn(e),i=r&&e.contentVariants?e.contentVariants[this.state.mode]:e.content,a=this.state.mode===`decoded`?`bytes`:`decoded`;return k(`details`,{id:this.id,ref:this.details,class:`tree-node ${e.type}`,open:!!e.open,"data-node-id":e.id,children:[k(`summary`,{class:n,"data-no-elbow":String(!!e.hideLabel),onClick:this.toggle,children:[k(`span`,{class:`indent`}),this.label(!0),e.type===`file`&&k(`div`,{ref:this.shell,class:`file-content-shell${r?` has-mode-toggle`:``}`,children:[r&&k(`button`,{type:`button`,class:`file-content-mode-toggle`,title:`Show ${a}`,"aria-label":`Show ${a}`,onClick:this.toggleMode,children:a}),k(`div`,{class:`file-content`,children:i})]})]}),e.type===`folder`&&!!e.children?.length&&k(`div`,{class:`folder-children`,children:e.children.map(an.bind(null,this.props,t+1))})]})}};let cn=0;function ln(e){e.stopPropagation()}var un=class extends E{state={armed:!1};id=`seams-confirm-content-${++cn}`;root=O();reflow;frame=null;capturedBeforeUpdate=!1;reflowEnabled=!0;constructor(e){super(e),this.reflow=It({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,{[Pt]:`${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 k(`div`,{class:`seams-tx-confirm-content`,onPointerDown:ln,onMouseDown:ln,onTouchStart:ln,children:k(`div`,{id:this.id,ref:this.root,class:`txc-root`,children:[this.props.errorMessage&&k(`div`,{class:`error`,role:`alert`,children:this.props.errorMessage}),this.props.tree&&k(`div`,{class:`tooltip-width`,children:k(on,{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})}),k(`div`,{class:`actions`,children:[!this.props.cancelInHeader&&k(`button`,{type:`button`,class:`cancel`,onClick:this.cancel,children:this.props.cancelText}),k(`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?k(T,{children:[k(`span`,{class:`loading-indicator`,role:`progressbar`,"aria-label":`Loading`}),k(`span`,{children:`Loading...`})]}):k(T,{children:[this.props.confirmIcon,this.props.confirmText]})})]})]})})}};function dn(e){throw Error(`Unexpected confirmation body: ${String(e)}`)}var fn=class extends E{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 k(`div`,{class:`confirmation-body`,children:e.text});case`status`:return k(`div`,{class:`confirmation-body confirmation-body--status`,children:e.text});case`funding`:return k(`div`,{class:`confirmation-body confirmation-body--funding`,children:[`NEAR account`,k(`button`,{type:`button`,class:`confirmation-body__copy-target`,title:`Copy ${e.accountId}`,"aria-label":`Copy NEAR account ${e.accountId}`,onClick:this.copy,children:e.shortAccountId}),`needs funding`]});default:return dn(e)}}};function pn(e){return k(`div`,{class:`passkey-registration-confirm__identity`,"aria-label":`Passkey registration details`,children:[k(`div`,{class:`passkey-registration-confirm__row`,children:[k(`span`,{class:`passkey-registration-confirm__label`,children:`Account`}),k(`span`,{class:`passkey-registration-confirm__value`,title:e.display.intendedUserName,children:e.display.intendedUserName})]}),k(`div`,{class:`passkey-registration-confirm__row`,children:[k(`span`,{class:`passkey-registration-confirm__label`,children:`Website`}),k(`span`,{class:`passkey-registration-confirm__value`,title:e.display.rpId,children:e.display.rpId})]})]})}var mn=class extends E{confirm=()=>{this.props.decision.kind===`ready`&&this.props.decision.onConfirm()};cancel=()=>{this.props.onCancel()};render(){let e=this.props.decision.kind===`creating`;return k(`div`,{ref:this.props.root,class:`passkey-registration-confirm`,children:[k(`div`,{class:`hero passkey-registration-confirm__hero`,children:[k(qt,{animated:!this.props.errorMessage,icon:`fingerprint`,size:44,styles:this.props.styles}),k(`div`,{class:`hero-container passkey-registration-confirm__hero-copy`,children:[k(`h2`,{class:`hero-heading`,children:this.props.heading}),k(`p`,{class:`passkey-registration-confirm__body`,children:this.props.body})]})]}),this.props.errorMessage&&k(`div`,{class:`error-banner`,children:this.props.errorMessage}),k(pn,{display:this.props.display}),k(`div`,{class:`passkey-registration-confirm__actions`,children:[k(`button`,{type:`button`,class:`btn btn-cancel`,onClick:this.cancel,children:this.props.cancelText}),k(`button`,{type:`button`,class:`btn btn-confirm`,disabled:e,onClick:this.confirm,children:e?k(T,{children:[k(`span`,{class:`loading-indicator passkey-registration-confirm__spinner`,role:`progressbar`,"aria-label":`Creating passkey`}),k(`span`,{class:`passkey-registration-confirm__busy-label`,children:`Creating passkey...`})]}):`Create passkey`})]})]})}};let hn=0;var gn=class extends E{id=`seams-email-code-${++hn}`;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 k(`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 k(`div`,{class:`email-otp-confirm`,children:[k(`label`,{class:`email-otp-confirm__label`,for:this.id,children:`Email code`}),k(`div`,{class:`email-otp-confirm__code-field`,"data-disabled":e?`true`:`false`,children:[k(`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}),k(`div`,{class:`email-otp-confirm__slots${e?` is-submitting`:``}`,"aria-hidden":`true`,children:[0,1,2,3,4,5].map(this.renderDigit)})]}),k(`div`,{id:t,class:`email-otp-confirm__helper`,children:this.props.helperText}),this.props.errorMessage&&k(`div`,{id:n,class:`email-otp-confirm__error`,children:this.props.errorMessage}),this.props.resend&&k(`button`,{type:`button`,class:`email-otp-confirm__resend`,disabled:this.props.resend.kind===`unavailable`,onClick:this.resend,children:this.props.resend.label})]})}},_n=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 vn(e){return k(yn,{...e},e.prompt.challengeId)}var yn=class extends E{session;form=O();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 _n({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:xn(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){bn(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 k(`form`,{ref:this.form,id:this.props.formId,onSubmit:this.confirm,noValidate:!0,children:k(gn,{challengeId:this.lifetime.kind===`active`?this.lifetime.challengeId:``,code:this.state.code,helperText:this.props.prompt.helperText?.trim()||te(this.lifetime.kind===`active`?this.lifetime.emailHint:``),errorMessage:this.state.error||void 0,state:this.inputState(),resend:this.resendAction()})})}};function bn(e,t){return e.kind===t.kind?e.kind===`rejected`&&t.kind===`rejected`&&e.message!==t.message:!0}function xn(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 Sn=0;var K=class extends E{root=O();id=`seams-review-disclosure-${++Sn}`;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=()=>{this.root.current&&this.motion&&(this.root.current.open=this.motion.opening,this.root.current.removeAttribute(`data-closing`)),this.clearMotion()};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},z({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 k(`details`,{ref:this.root,class:`seams-review-${this.props.kind??`technical`}`,children:[k(`summary`,{onClick:this.toggle,children:[this.props.label,k(`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:k(`path`,{d:`m5 7.5 5 5 5-5`})})]}),k(`div`,{id:this.id,children:this.props.children})]})}};function Cn(){return k(`svg`,{class:`seams-receipt-wordmark`,viewBox:`0 0 1428 285`,role:`img`,"aria-label":`seams`,children:k(`path`,{d:`M 1152.240 22.260 C 1142.208 32.303, 1134 41.030, 1134 41.653 C 1134 42.276, 1134.625 43.026, 1135.388 43.319 C 1137.220 44.022, 1149.487 58.808, 1154.965 66.916 C 1160.947 75.770, 1167.188 88.708, 1170.922 100 C 1179.875 127.067, 1179.861 153.906, 1170.878 184.346 C 1169.767 188.111, 1169.068 191.402, 1169.325 191.658 C 1169.581 191.915, 1173.776 190.129, 1178.646 187.690 C 1189.458 182.274, 1206.826 175.821, 1220.384 172.183 L 1230.500 169.469 1231.685 161.485 C 1233.180 151.413, 1233.316 131.031, 1231.963 119.974 C 1231.393 115.313, 1229.818 106.851, 1228.463 101.170 C 1227.108 95.488, 1226 90.723, 1226 90.580 C 1226 90.437, 1231.063 91.354, 1237.250 92.617 C 1288.849 103.153, 1340.642 93.721, 1389.671 64.860 C 1397.021 60.533, 1419.577 45.437, 1422.276 43.038 C 1422.979 42.413, 1384.105 4.943, 1381.956 4.174 C 1381.455 3.995, 1378.447 5.832, 1375.273 8.256 C 1352.212 25.865, 1329.230 37.090, 1305.831 42.174 C 1290.920 45.414, 1262.231 45.389, 1247 42.123 C 1221.862 36.733, 1202.051 27.300, 1180.320 10.372 C 1175.820 6.867, 1171.766 4, 1171.309 4 C 1170.853 4, 1162.272 12.217, 1152.240 22.260 M 276 48.064 C 245.671 51.807, 220.471 65.845, 203.537 88.432 C 196.121 98.323, 188.492 116.648, 186.051 130.434 C 184.471 139.355, 184.755 159.897, 186.580 168.731 C 192.404 196.928, 208.854 220.370, 232.901 234.742 C 262.591 252.485, 304.246 254.795, 337.980 240.568 C 350.834 235.146, 367.194 223.594, 373.765 215.297 L 376.932 211.299 361.834 197.711 L 346.737 184.124 339.619 190.143 C 320.291 206.485, 299.180 212.864, 278.754 208.536 C 258.217 204.184, 242.399 188.671, 237.623 168.197 L 236.177 162 311.543 162 L 386.909 162 387.587 158.388 C 387.960 156.402, 388.018 148.189, 387.716 140.138 C 387.277 128.449, 386.625 123.586, 384.479 116 C 379.212 97.381, 371.713 84.617, 359.119 72.834 C 341.964 56.786, 321.656 48.842, 294.709 47.639 C 288.544 47.364, 280.125 47.556, 276 48.064 M 1000.983 49.026 C 981.627 51.294, 962.676 59.399, 951.124 70.351 C 938.360 82.454, 932.081 100.926, 935.370 116.700 C 938.138 129.975, 945.329 140.076, 958.015 148.510 C 967.604 154.885, 980.155 159.892, 1004.029 166.867 C 1015.288 170.156, 1026.528 173.719, 1029.008 174.784 C 1048.926 183.343, 1047.372 201.937, 1026.053 210.140 C 1015.474 214.211, 997.351 212.791, 986.004 207.002 C 979.694 203.783, 970.400 196.188, 965.527 190.269 C 962.915 187.096, 960.339 184.500, 959.804 184.500 C 959.268 184.500, 951.497 190.575, 942.534 198 C 929.678 208.651, 926.415 211.838, 927.076 213.103 C 928.792 216.389, 942.709 229.745, 948.500 233.663 C 980.766 255.495, 1031.930 258.256, 1064.810 239.938 C 1093.327 224.051, 1103.456 188.645, 1086.875 162.806 C 1079.079 150.656, 1060.449 139.092, 1036.756 131.697 C 1030.565 129.765, 1019.425 126.293, 1012 123.982 C 996.026 119.010, 990.228 116.248, 986.523 111.845 C 984.091 108.955, 983.837 107.979, 984.242 103.095 C 984.660 98.058, 985.089 97.243, 989.362 93.375 C 995.842 87.508, 1002.195 85.510, 1014 85.627 C 1029.536 85.780, 1040.165 90.408, 1053 102.609 L 1059.500 108.788 1074.500 95.232 C 1082.750 87.776, 1089.635 81.130, 1089.799 80.462 C 1090.225 78.739, 1079.812 69.686, 1071.224 64.313 C 1057.482 55.715, 1042.661 51.008, 1023.144 49.043 C 1011.825 47.903, 1010.580 47.902, 1000.983 49.026 M 478.921 50.482 C 460.570 53.573, 444.266 60.019, 429.500 70.020 C 421.367 75.529, 412.785 82.902, 413.207 84.017 C 413.368 84.442, 419.475 90.933, 426.777 98.443 L 440.055 112.097 448.277 105.504 C 457.467 98.135, 466.747 93.115, 477.373 89.764 C 483.388 87.867, 486.684 87.524, 498.500 87.561 C 514.277 87.612, 519.926 89.109, 528.209 95.433 C 533.564 99.522, 538.796 108.852, 539.546 115.650 C 539.840 118.318, 540.248 121.894, 540.453 123.597 L 540.825 126.694 512.662 127.312 C 474.264 128.156, 456.457 131.057, 438.650 139.369 C 409.872 152.803, 397.368 179.013, 406.084 207.632 C 408.813 216.591, 412.119 222.196, 418.848 229.266 C 433.800 244.978, 457.890 252.692, 484.002 250.132 C 504.167 248.154, 520.632 240.972, 534.077 228.288 L 541 221.758 541 233.379 L 541 245 566.559 245 L 592.118 245 591.717 179.750 C 591.282 109.141, 591.338 109.914, 585.549 94.533 C 576.527 70.565, 555.039 55.122, 524.252 50.482 C 512.527 48.714, 489.412 48.714, 478.921 50.482 M 72.366 51.570 C 50.831 55.188, 30.787 66.983, 21.508 81.500 C 9.386 100.466, 11.445 124.131, 26.601 140.021 C 37.041 150.966, 47.790 156.186, 80 165.955 C 101.571 172.497, 108.741 175.471, 113.227 179.737 C 122.014 188.093, 117.373 201.967, 103.727 208.137 C 99.071 210.242, 97.079 210.495, 85.500 210.457 C 74.475 210.420, 71.648 210.076, 66.895 208.189 C 57.333 204.394, 48.391 197.450, 39.713 187.077 L 36.013 182.655 31.756 186.047 C 22.049 193.784, 3 210.296, 3 210.975 C 3 212.867, 19.844 229.407, 25.799 233.361 C 42.118 244.199, 63.087 249.992, 86 249.992 C 132.157 249.992, 165.601 226.871, 167.716 193.500 C 168.732 177.462, 164.163 165.154, 153.024 153.923 C 141.991 142.799, 129.353 136.682, 96.500 126.567 C 76.762 120.489, 67.150 116.278, 64.064 112.355 C 60.911 108.346, 60.514 103.886, 62.843 98.621 C 65.477 92.667, 71.720 88.644, 81.804 86.400 C 88.654 84.876, 90.160 84.859, 98.418 86.211 C 110.806 88.240, 117.685 91.723, 127.138 100.754 L 134.931 108.199 137.816 105.850 C 146.860 98.484, 165.983 80.444, 165.693 79.550 C 164.936 77.217, 150.022 65.736, 142.959 62.051 C 122.849 51.558, 96.089 47.585, 72.366 51.570 M 825.539 51.051 C 817.528 52.301, 809.553 54.686, 804.028 57.486 C 796.847 61.125, 787.304 68.749, 783.769 73.673 L 780.532 78.180 779.078 75.840 C 775.424 69.955, 764.796 60.805, 757.750 57.477 C 746.137 51.993, 739.434 50.698, 725.533 51.254 C 706.839 52.001, 694.387 57.102, 681.866 69.140 L 676 74.781 676 65.390 L 676 56 651.661 56 L 627.322 56 626.663 83.750 C 626.300 99.013, 626.003 141.537, 626.002 178.250 L 626 245 650 245 L 674 245 674 187.958 C 674 125.947, 674.350 121.163, 679.650 110.703 C 691.004 88.298, 724.199 85.661, 735.947 106.231 C 741.820 116.514, 742 118.855, 742 184.966 L 742 245.037 765.250 244.768 L 788.500 244.500 789.039 184 C 789.453 137.683, 789.889 122.562, 790.903 119.500 C 794.665 108.131, 800.351 100.945, 809.283 96.269 C 813.828 93.890, 815.659 93.536, 823.500 93.519 C 831.355 93.502, 833.225 93.856, 838.201 96.300 C 845.065 99.670, 850.240 106.160, 853.351 115.297 C 855.395 121.302, 855.473 123.474, 855.781 183.250 L 856.099 245 880.095 245 L 904.091 245 903.766 176.750 C 903.447 109.712, 903.401 108.359, 901.212 100.558 C 894.210 75.604, 876.712 57.823, 854 52.581 C 845.325 50.579, 832.863 49.909, 825.539 51.051 M 279 83.691 C 264.019 86.199, 249.825 96.478, 243.191 109.624 C 240.856 114.250, 237 124.874, 237 126.682 C 237 126.857, 259.500 127, 287 127 C 317.941 127, 337 126.638, 337 126.049 C 337 122.644, 334.294 113.593, 331.779 108.589 C 325.881 96.853, 314.699 87.980, 301.458 84.531 C 296.022 83.115, 284.921 82.700, 279 83.691 M 1373.984 93.932 C 1358.717 101.014, 1349.722 104.330, 1336.008 107.930 L 1325.515 110.685 1324.277 117.592 C 1323.596 121.392, 1323.013 131.475, 1322.982 140 C 1322.924 156.322, 1324.865 170.597, 1328.959 183.948 C 1330.047 187.495, 1330.837 190.497, 1330.714 190.619 C 1330.592 190.742, 1326.893 189.972, 1322.496 188.909 C 1304.642 184.594, 1295.980 183.607, 1276 183.612 C 1260.205 183.616, 1254.056 184.048, 1243.635 185.884 C 1213.691 191.158, 1186.385 202.666, 1158.538 221.745 C 1146.555 229.956, 1134 239.793, 1134 240.971 C 1134 241.645, 1155.018 264.209, 1166.941 276.336 L 1171.695 281.172 1182.932 272.727 C 1209.090 253.066, 1232.355 242.974, 1260.846 238.927 C 1271.516 237.412, 1297.903 238.291, 1308 240.498 C 1333.016 245.966, 1352.163 255.502, 1374.794 273.765 L 1384.088 281.266 1386.294 279.318 C 1387.507 278.246, 1396.721 269.819, 1406.769 260.591 L 1425.039 243.812 1418.769 236.895 C 1393.960 209.525, 1382.368 185.212, 1378.937 153.347 C 1377.153 136.771, 1379.694 114.031, 1385.375 95.750 C 1386.699 91.487, 1387.494 88.028, 1387.141 88.063 C 1386.789 88.098, 1380.868 90.739, 1373.984 93.932 M 487 161.998 C 465.755 164.841, 454 174.462, 454 189.008 C 454 210.801, 485.917 220.760, 513.612 207.607 C 529.505 200.060, 540 183.837, 540 166.818 L 540 161 516.250 161.131 C 503.188 161.203, 490.025 161.593, 487 161.998`,stroke:`none`,fill:`currentColor`,"fill-rule":`evenodd`})})}function q({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`,shield:`M12 3 4.5 6v5.5c0 4.2 2.7 7.4 7.5 9.5 4.8-2.1 7.5-5.3 7.5-9.5V6L12 3Z M8.5 11.5l2.5 2.5 4.5-5`,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 k(`svg`,{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.6`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"aria-hidden":`true`,children:k(`path`,{d:t[e]})})}function wn(e){return e?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 Tn(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 En({value:e,class:t}){return k(`bdi`,{class:`seams-review-middle ${t}`,dir:`ltr`,title:e,children:[k(`span`,{children:e.slice(0,-8)}),k(`span`,{children:e.slice(-8)})]})}function Dn({symbol:e}){return e===`ETH`?k(`svg`,{class:`seams-review-token`,viewBox:`0 0 42 42`,"aria-hidden":`true`,children:[k(`circle`,{cx:`21`,cy:`21`,r:`21`,fill:`#eef0fb`}),k(`path`,{d:`m21 6-9 15 9 5 9-5Z`,fill:`#627eea`}),k(`path`,{d:`m21 6 9 15-9 5Z`,fill:`#465da9`}),k(`path`,{d:`m12 23 9 13 9-13-9 5Z`,fill:`#627eea`})]}):e===`USDC`?k(`svg`,{class:`seams-review-token`,viewBox:`0 0 42 42`,"aria-hidden":`true`,children:[k(`circle`,{cx:`21`,cy:`21`,r:`21`,fill:`#2775ca`}),k(`path`,{d:`M17 8a14 14 0 0 0 0 26M25 8a14 14 0 0 1 0 26M26 15c-1-4-10-4-10 1 0 5 10 3 10 8 0 5-9 5-11 1M21 10v4m0 14v4`,fill:`none`,stroke:`white`,"stroke-width":`2`})]}):k(`span`,{class:`seams-review-token seams-review-token-fallback`,"aria-hidden":`true`,children:e.slice(0,1)})}function On({model:e,compact:t=!1}){let n=jn(e);return n?k(`div`,{class:`seams-review-amount${t?` seams-review-amount--compact`:``}`,children:[!t&&k(Dn,{symbol:n.symbol}),k(`div`,{children:[k(`span`,{children:n.value}),` `,k(`small`,{children:n.symbol})]})]}):null}function kn(){return k(`div`,{class:`seams-receipt-footer`,children:[k(q,{kind:`shield`}),` `,k(`span`,{children:`Secured by`}),` `,k(Cn,{})]})}function An(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 jn(e){let t=e?.totals;return t?.nativeValue?t.nativeSymbol===`yoctoNEAR`?{value:An(t.nativeValue,24),symbol:`NEAR`}:{value:t.nativeValue,symbol:t.nativeSymbol??``}:null}var J=class extends E{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 ce(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 k(`button`,{type:`button`,class:`seams-review-copy${this.props.address?` seams-review-copy-address`:``}${this.state.copied?` copied`:``}`,onClick:this.copy,"aria-label":this.state.copied?`Copied`:this.props.label??`Copy value`,children:[this.props.address&&k(`bdi`,{class:`seams-review-full-address`,dir:`ltr`,children:this.props.value}),k(ue,{})]})}};function Mn({node:e}){if(e.action||e.transaction)return k(T,{children:W(e)});let t=U(e);if(t&&e.contractAddress){let n=e.contractAddress;return k(`span`,{class:`seams-review-contract`,children:[t.trim(),k(`span`,{class:`seams-review-contract-value`,children:[k(En,{value:n,class:`seams-review-contract-address`}),k(J,{value:n,label:`Copy contract address ${n}`})]})]})}if(e.fieldLabel){let t=e.label.slice(e.fieldLabel.length);return k(T,{children:[e.fieldLabel,e.fieldLabel===`Method:`?k(`span`,{class:`seams-review-function`,children:t}):t]})}let n=/^(Call(?:ing)? )([^\s]+)(.*)$/.exec(e.label);return n?k(T,{children:[n[1],k(`span`,{class:`seams-review-function`,children:n[2]}),n[3]]}):k(T,{children:e.label})}function Nn({node:e}){let t=e.contentVariants?.decoded??e.content,n=!!(e.contentVariants||t?.includes(`
|
|
2
|
-
`));return k(`div`,{class:`seams-review-detail`,children:[k(`div`,{class:t?`seams-review-detail-row${n?` seams-review-detail-row--block`:``}`:`seams-review-detail-label`,children:[k(`span`,{children:k(Mn,{node:e})}),t&&k(`pre`,{children:t}),e.copyValue&&k(J,{value:e.copyValue})]}),e.contentVariants&&k(K,{label:`Raw data`,kind:`raw`,children:k(`pre`,{children:e.contentVariants.raw})}),!!e.children?.length&&k(`div`,{class:`seams-review-detail-children`,children:e.children?.map(e=>k(Nn,{node:e},e.id))})]})}function Pn({data:e,details:t=!0}){let n=e.model,r=n?.operations[0],i=Tn(n);return k(`div`,{class:`seams-transaction-review`,children:[k(On,{model:n}),n?.warnings?.map(e=>k(`div`,{class:`seams-review-warning`,role:`alert`,children:e.message},e.code)),k(`dl`,{class:`seams-review-fields`,children:[i&&k(`div`,{children:[k(`dt`,{children:`To`}),k(`dd`,{class:`seams-review-recipient`,children:k(J,{value:i,address:!0,label:`Copy recipient address ${i}`})})]}),n&&k(`div`,{children:[k(`dt`,{children:`Network`}),k(`dd`,{children:[k(`span`,{class:`seams-review-network-dot`}),wn(n)]})]}),n?.totals?.estimatedFee&&k(`div`,{children:[k(`dt`,{children:`Estimated network fee`}),k(`dd`,{children:[n.totals.estimatedFee,` `,n.totals.feeSymbol]})]})]}),t&&e.tree&&k(K,{initiallyOpen:e.detailsInitiallyOpen,label:r?.kind===`near.message`?`Message details`:`Transaction details`,children:k(Nn,{node:e.tree})}),n?.signerAccount&&k(`div`,{class:`seams-review-account`,children:[k(`span`,{class:`seams-review-avatar`,"aria-hidden":`true`,children:`S`}),k(`div`,{children:[`Signing account`,k(`small`,{children:k(J,{value:n.signerAccount,address:!0,label:`Copy signing account address ${n.signerAccount}`})})]})]})]})}let Fn=0;var In=class extends E{root=O();otpFormId=`seams-confirmation-email-${++Fn}`;reflowId=`seams-confirmation-content-surface-${Fn}`;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}`,{[Pt]:`${e}px`})};reflow=It({reason:`confirm-body`,element:this.getReflowElement,setHeightCssPx:this.setHeight});copyAccount=e=>{let t=this.root.current;t&&ce(t,e).catch(Ln)};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 k(mn,{...e.registration,root:this.root,styles:this.props.styles});case`transaction`:return this.renderTransaction(e);default:return Rn(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 k(`div`,{ref:this.root,class:t,children:k(`div`,{class:`seams-review-content`,children:[this.props.variant!==`drawer`&&k(`div`,{class:`seams-review-toolbar`,children:[k(`div`,{class:`seams-review-origin`,children:[e.transaction.onBack&&k(`button`,{type:`button`,"aria-label":`Back to review`,title:`Back to review`,disabled:n.kind===`preparing`,onClick:e.transaction.onBack,children:k(q,{kind:`back`})}),k(B,{}),e.header.website.kind===`ready`?e.header.website.text:k(Xt,{label:`Loading website`})]}),k(`button`,{type:`button`,"aria-label":e.transaction.cancelText,onClick:e.transaction.onCancel,children:k(q,{kind:`close`})})]}),e.review.model&&k(`div`,{class:`seams-review-eyebrow`,children:e.review.model.operations.length===1?e.review.model.operations[0].label.replace(/\s+using\s+[\d,.]+\s+gas$/i,``):`Transaction`}),k(`h2`,{class:`seams-review-title`,children:e.header.heading}),k(Pn,{data:e.review}),k(`div`,{class:`seams-review-context`,children:[k(fn,{model:e.body,onCopyAccount:this.copyAccount}),e.prompt.kind===`email`&&k(vn,{...e.prompt.email,formId:this.otpFormId})]}),k(un,{...e.transaction,tree:null,styles:this.props.styles,decision:n,cancelInHeader:!0,confirmIcon:e.prompt.kind===`passkey`?k(q,{kind:`fingerprint`}):void 0}),k(kn,{})]})})}};function Ln(){}function Rn(e){throw Error(`Unexpected confirmation content: ${String(e)}`)}function Y(e){return e.kind===`signing`||e.kind===`broadcasting`||e.kind===`submitted`}function zn(e){switch(e.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 e.hash?2:0;default:return Hn(e)}}function Bn(e){switch(e.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 Hn(e)}}function Vn(e){switch(e.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 e.message;default:return Hn(e)}}function Hn(e){throw Error(`Unexpected transaction receipt state: ${String(e)}`)}const Un=`cubic-bezier(0.22, 1, 0.36, 1)`;let Wn=0;var Gn=class extends E{explorerRow=O();explorerRowId=`seams-receipt-explorer-row-${++Wn}`;minimize=()=>{this.props.receipt.onView(`toast`)};expand=()=>{this.props.receipt.onView(`expanded`)};close=()=>{Y(this.props.receipt.state)?this.minimize():this.props.receipt.onDismiss()};componentDidUpdate(e){let{receipt:t}=this.props;t.view===`expanded`&&e.receipt.view===`expanded`&&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:Un})};if(!z({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:Un});t.onfinish=r,t.oncancel=this.releaseExplorerRow}}render(){let{receipt:e,data:t}=this.props,n=Bn(e.state),r=e.state.kind===`confirmed`||e.state.kind===`signed`,i=Y(e.state),a=zn(e.state),o=Tn(t.model),s=e.state.kind===`confirmed`&&e.state.hash?Kn(t.model,this.props.explorers,e.state.hash):null;return e.view===`toast`?k(`div`,{class:`seams-transaction-toast`,"data-completed-stages":a,"data-stage":e.state.kind,"data-pending":i,children:[k(`div`,{class:`seams-toast-progress`,"aria-hidden":`true`,children:k(`span`,{class:`seams-toast-progress-fill`,children:i&&k(`span`,{class:`seams-toast-progress-active`})})}),k(`span`,{class:`seams-receipt-symbol`,"data-pending":i,children:k(q,{kind:i?`loader`:r?`check`:`alert`})}),k(`div`,{class:`seams-transaction-toast-text`,children:[k(`strong`,{role:`status`,children:n}),k(`span`,{children:wn(t.model)})]}),k(`button`,{type:`button`,class:`seams-receipt-open`,onClick:this.expand,children:[`Open `,k(q,{kind:`arrow`})]}),!i&&k(`button`,{type:`button`,class:`seams-receipt-dismiss`,"aria-label":`Close transaction`,onClick:e.onDismiss,children:k(q,{kind:`close`})})]}):k(`div`,{class:`seams-transaction-receipt`,children:[k(`div`,{class:`seams-review-toolbar`,children:[k(`span`,{children:`Transaction receipt`}),k(`button`,{type:`button`,"aria-label":`Minimize transaction`,onClick:this.minimize,children:k(q,{kind:`minimize`})})]}),k(`div`,{class:`seams-receipt-heading`,children:[k(`span`,{class:`seams-receipt-symbol`,"data-pending":i,children:k(q,{kind:i?`loader`:r?`check`:`alert`})}),k(`div`,{children:[k(`h2`,{role:`status`,children:n}),k(`p`,{children:Vn(e.state)})]})]}),k(On,{model:t.model,compact:!0}),k(`div`,{class:`seams-receipt-destination`,children:[o&&k(T,{children:[`To `,k(J,{value:o,address:!0,label:`Copy recipient address ${o}`})]}),!o&&wn(t.model)]}),t.model?.totals?.estimatedFee&&k(`dl`,{class:`seams-review-fields`,children:k(`div`,{children:[k(`dt`,{children:`Estimated network fee`}),k(`dd`,{children:[t.model.totals.estimatedFee,` `,t.model.totals.feeSymbol]})]})}),k(`div`,{class:`seams-receipt-steps`,"aria-label":`Transaction progress`,children:[k(Jn,{stage:`signing`,label:`Signed`,activeLabel:`Signing`,complete:a>=1,active:e.state.kind===`signing`}),k(Jn,{stage:`broadcast`,label:`Broadcast`,activeLabel:`Broadcasting`,complete:a>=2,active:e.state.kind===`broadcasting`}),k(Jn,{stage:`confirming`,label:e.state.kind===`reverted`?`Reverted`:`Confirmed`,activeLabel:`Confirming`,complete:a===3,active:e.state.kind===`submitted`})]}),k(K,{label:`Receipt details`,children:k(`dl`,{class:`seams-review-fields`,children:[t.model?.signerAccount&&k(`div`,{children:[k(`dt`,{children:`From`}),k(`dd`,{class:`seams-review-recipient`,children:k(J,{value:t.model.signerAccount,address:!0,label:`Copy signer address ${t.model.signerAccount}`})})]}),o&&k(`div`,{children:[k(`dt`,{children:`To`}),k(`dd`,{class:`seams-review-recipient`,children:k(J,{value:o,address:!0,label:`Copy recipient address ${o}`})})]}),e.state.hash&&k(`div`,{children:[k(`dt`,{children:`Transaction`}),k(`dd`,{children:[k(En,{value:e.state.hash,class:`seams-review-hash`}),k(J,{value:e.state.hash})]})]}),k(`div`,{children:[k(`dt`,{children:`Status`}),k(`dd`,{children:n})]})]})}),k(`button`,{type:`button`,class:`seams-receipt-primary`,onClick:this.close,children:Y(e.state)?`Continue in background`:`Done`}),s&&k(`div`,{id:this.explorerRowId,class:`seams-receipt-explorer-row`,ref:this.explorerRow,children:k(`a`,{class:`seams-receipt-explorer`,href:s,target:`_blank`,rel:`noopener noreferrer`,children:[`View transaction `,k(q,{kind:`arrow`})]})}),k(kn,{})]})}};function Kn(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 qn(e.chain)}if(!r)return null;let i=e.chain===`near`?`txns`:`tx`;return`${r.trim().replace(/\/$/,``)}/${i}/${encodeURIComponent(n)}`}function qn(e){throw Error(`Unexpected display chain: ${String(e)}`)}function Jn(e){let t=e.complete?`complete`:e.active?`active`:`waiting`;return k(`span`,{class:`seams-receipt-step`,"data-stage":e.stage,"data-state":t,"aria-current":e.active?`step`:void 0,children:[k(`span`,{class:`seams-receipt-track`,"aria-hidden":`true`}),e.active?e.activeLabel:e.label]})}const Yn=`cubic-bezier(0.22, 1, 0.36, 1)`,Xn=[`.seams-receipt-symbol`,`[role="status"]`,`.seams-review-amount`];function Zn(e){let t=[];for(let n of Xn){let r=e.querySelector(n);r&&t.push({selector:n,text:r.textContent,bounds:r.getBoundingClientRect(),fontSize:getComputedStyle(r).fontSize})}return t}let Qn=0;var $n=class{element;styles;presentation;state;receipt=null;receiptMotion=[];receiptShell=null;clearReceiptMotion=()=>{for(let e of this.receiptMotion)e.cancel();this.receiptMotion=[],this.receiptShell?.remove(),this.receiptShell=null,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-${++Qn}`,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.dataset.theme=e.appearance.theme.mode,this.styles.setDynamicRule(this.element.id,se(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?Zn(this.element):[],a=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 o=this.element.querySelector(`.modal-container-root`);if(t&&r&&o&&!window.matchMedia(`(prefers-reduced-motion: reduce)`).matches){let t=o.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`,``);let s=n.animate([{left:`${r.left}px`,top:`${r.top}px`,width:`${r.width}px`,height:`${r.height}px`,borderRadius:a},{left:`${t.left}px`,top:`${t.top}px`,width:`${t.width}px`,height:`${t.height}px`,borderRadius:getComputedStyle(o).borderRadius}],{duration:360,easing:Yn,fill:`both`});this.receiptMotion=[s];let c=new Set;for(let e of i){let t=o.querySelector(e.selector);if(!t||t.textContent!==e.text)continue;let n=t.getBoundingClientRect();c.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:360,easing:Yn}))}let l=o.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 > *`),u=0;for(let t of l)c.has(t)||(this.receiptMotion.push(t.animate([{opacity:0,transform:`translateY(8px)`},{opacity:1,transform:`translateY(0)`}],{duration:120,delay:e.view===`toast`?240:180+Math.min(u,4)*15,fill:`backwards`,easing:`ease-out`})),u+=1);s.onfinish=this.clearReceiptMotion}}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),oe(null,this.element),this.styles.deleteDynamicRule(this.element.id),this.element.remove()}cancel=()=>{if(this.state.kind!==`mounted`)return;if(this.receipt){Y(this.receipt.state)?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`?k(Gn,{receipt:this.receipt,data:t.review,explorers:t.transaction.explorers}):k(In,{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`){oe(k(le,{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;oe(k(de,{context:this.presentation.context,label:i,origin:t.kind===`transaction`&&t.header.website.kind===`ready`?k(T,{children:[k(B,{}),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`,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 er(e)}}};function er(e){throw Error(`Unexpected confirmation content: ${String(e)}`)}function tr(e){return new $n(e)}var nr=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=tr({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=rr(this.presentation,e),e.appearance&&(this.appearance=e.appearance),Object.hasOwn(e,`model`)&&(this.tree=F({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=Ct({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 rr(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,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 ir(e){return new nr(e)}const X=`seams-confirm-portal`;function ar(e){return Math.max(0,Math.round(performance.now()-e))}const or=new WeakMap,sr=new WeakMap,cr=new WeakMap,Z=new WeakMap,lr=new WeakMap,Q=new WeakMap;function ur(e){try{if(!Ye()||typeof window>`u`||window.parent===window)return;window.parent?.postMessage({type:e},`*`)}catch{}}function dr(e){return e===`drawer`?`drawer`:`modal`}function fr(e){return(e||[]).map(e=>({receiverId:e.receiverId,actions:(e.actions||[]).map(e=>ee(e)?e:y(e)).map(e=>g(e))}))}async function pr(e,t){if(!(!((t?.length||0)>0)||!e))try{return await v(fr(t))===e?void 0:`INTENT_DIGEST_MISMATCH`}catch{return`UI_DIGEST_VALIDATION_FAILED`}}function mr(e){e.childElementCount>0?e.classList.add(`seams-portal--visible`):e.classList.remove(`seams-portal--visible`)}function hr(){let e=[];for(let t of document.querySelectorAll(`.seams-confirmation-surface`))t.parentElement?.closest(`.seams-confirmation-surface`)||e.push(t);return e}function gr(){for(let e of hr())lr.get(e)?.callbacks.cancel(),Z.get(e)?.dispose(),Q.delete(e),$(e),e.remove();let e=document.getElementById(X);e&&mr(e)}function _r(){let e=document.getElementById(X);if(!e){e=document.createElement(`div`),e.id=X,e.classList.add(`seams-portal`);let t=document.body??document.documentElement;t&&t.appendChild(e)}return e}function vr(e){Z.delete(e),Q.delete(e),$(e),e.remove();let t=document.getElementById(X);t&&mr(t)}function yr(){(document.getElementById(X)?.childElementCount??0)>0||ur(`WALLET_UI_CLOSED`)}function br(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 xr(e,t){t&&(e.update(t),Object.hasOwn(t,`model`)&&Sr(e.element,e,t.model))}function Sr(e,t,n){let r=(Q.get(e)??0)+1;Q.set(e,r),!(!n||!pt(n))&&import(`./enrichDisplayModelWithAbi-DSj4NAlY.js`).then(i=>{if(Q.get(e)!==r||!e.isConnected||Z.get(e)!==t)return;let a=i.enrichDisplayModelWithAbi(n);Q.get(e)===r&&t.setTree(F({model:a}))}).catch(e=>{console.warn(`[ConfirmUI] failed to lazy-load ABI display enrichment`,e)})}function $(e){or.get(e)?.disconnect(),or.delete(e),sr.get(e)?.dispose(),sr.delete(e),cr.delete(e)}function Cr(e,t){switch(e.kind){case`disabled`:return null;case`wallet_iframe`:return b({kind:`request_surface`,element:t,requestId:e.requestId,postMeasurement:e.postMeasurement});default:{let t=e;throw Error(`Unhandled confirmation measurement binding: ${String(t)}`)}}}function wr(e,t,n){e.setAttribute(Nt,Ir(n,t)),e.setAttribute(`data-seams-confirm-variant`,t),e.toggleAttribute(`data-seams-review-frame`,!!a(n))}function Tr(e,t,n){if(a(n)?.attach(e),wr(e,t,n),ne(cr.get(e),n))return;$(e),cr.set(e,n);let r=Cr(n,e);r&&(or.set(e,r),sr.set(e,Wt(e)))}function Er(e,t){t.kind===`review_available`&&e.returnToReview()}function Dr(e){let t={kind:`review_available`},n=[],r=[],i=new Set,a=e=>{t.kind=`decision_published`;let i=r.shift();if(i){i(e);return}n.push(e)},o=e=>{a({kind:`cancelled`,error:e??null});for(let t of i)t({...e?{error:e}:{}})};return{cancelListeners:i,onBack:e?Er.bind(null,e,t):void 0,callbacks:{confirm:()=>{e&&!e.allowInteraction()||a({kind:`confirmed`,emailOtp:{kind:`absent`}})},cancel:()=>o(),submitEmail:(t,n)=>{if(e&&!e.allowInteraction())return;let r=t.trim(),i=n.trim();if(!r||!i){o(`Email OTP challenge is missing.`);return}a({kind:`confirmed`,emailOtp:{kind:`provided`,code:r,challengeId:i}})}},takeDecision:async()=>n.shift()||await new Promise(e=>{r.push(e)})}}function Or(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`&&ae(n.requestId,e))&&($(e.element),e.close()))},update:t=>xr(e,t),onCancel:e=>(t.cancelListeners.add(e),()=>t.cancelListeners.delete(e)),takeDecision:()=>t.takeDecision()}}async function kr({ctx:e,summary:t,txSigningRequests:n,model:r,securityContext:i,loading:a,theme:o,appearance:s,uiMode:c,signingAuthMode:l,emailOtpPrompt:u}){return Fr({ctx:e,summary:t,txSigningRequests:n,model:r,securityContext:i,loading:a,theme:o,appearance:s,variant:dr(c),signingAuthMode:l,emailOtpPrompt:u})}function Ar(e){let t=e.surface.handle,n=t.element;if(!n.isConnected)throw Error(`Cannot reuse a detached confirmation surface`);let r=Z.get(n);if(!r)throw Error(`Cannot reuse an unmanaged confirmation surface`);Tr(n,e.variant,e.ctx.surfaceMeasurementBinding);let i=ie({getAppearance:e.ctx.getAppearance,requestedAppearance:e.appearance,requestedMode:e.theme}),a=br(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(F({txSigningRequests:e.txSigningRequests,model:e.model})),Sr(n,r,e.model),{handle:t,reused:!0}}function jr(e){throw Error(`Unhandled confirmation surface: ${JSON.stringify(e)}`)}function Mr(e){switch(e.surface.kind){case`mount_new`:return{handle:Fr({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 Ar({...e,surface:e.surface});case`preparation_cancelled`:throw Error(`A cancelled preparation surface cannot be mounted`);default:return jr(e.surface)}}async function Nr(e){return Mr({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:dr(e.uiMode),signingAuthMode:e.signingAuthMode,emailOtpPrompt:e.emailOtpPrompt,surface:e.surface}).handle}async function Pr({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=dr(c);return new Promise(c=>{let m=performance.now(),{handle:h,reused:g}=Mr({ctx:e,summary:t,txSigningRequests:n,model:r,securityContext:i,loading:a,theme:o,appearance:s,variant:p,signingAuthMode:u,emailOtpPrompt:d,surface:f}),ee=ar(m),_=performance.now(),v=0,y=g?ee:0,b=0,x=e=>e>0?e:ar(_);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:ee,hostFirstUpdateMs:v,hostInteractiveMs:y,confirmEventMs:b,decisionWaitMs:ar(_)};te(),c({...e,handle:h,diagnostics:t})},C=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 pr(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}:{}})},te=()=>{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 C(e)})()})}function Fr({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(),gr();let f=ie({getAppearance:e.getAppearance,requestedAppearance:c,requestedMode:s}),p=_r(),m=br(e,r),h=Dr(a(e.surfaceMeasurementBinding)),g;return g=ir({parent:p,variant:l,context:Ir(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,signingAuthMode:u,emailOtpPrompt:d,nearExplorerUrl:e.nearExplorerUrl??m.nearExplorerUrl,tempoExplorerUrl:e.tempoExplorerUrl??m.tempoExplorerUrl,evmExplorerUrl:e.evmExplorerUrl??m.evmExplorerUrl},tree:F({txSigningRequests:n,model:r}),callbacks:h.callbacks,onClosed:()=>{vr(g.element),yr()}}),Z.set(g.element,g),lr.set(g.element,h),mr(p),Tr(g.element,l,e.surfaceMeasurementBinding),Sr(g.element,g,r),p.classList.remove(`seams-portal--visible`),requestAnimationFrame(()=>{p.classList.add(`seams-portal--visible`)}),ur(`WALLET_UI_OPENED`),Or(g,h,e.surfaceMeasurementBinding)}function Ir(e,t){let n=e.kind===`wallet_iframe`?e.hostSurfaceVariant??t:t;return e.kind===`wallet_iframe`&&n===`modal`?`wallet-iframe`:`standalone`}function Lr(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 Rr(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:Lr(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 zr(e){return t(e)?Rr(e.readiness):null}function Br(e,t){return e.walletId===String(t.subject.walletId)&&e.nearAccountId===String(t.subject.nearAccountId)&&e.nearPublicKeyStr===t.subject.nearPublicKeyStr}async function Vr(e,t){try{let{context:n,leases:r}=await e.nonceCoordinator.reserveNearContext({lane:x({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(d)},reservedNonceLeases:r}}catch(e){let n=zr(e);return n?.kind===`implicit_unfunded`&&Br(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 Hr(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 Ur({ctx:e,nearAccountId:t,challengeB64u:n,onBeforePrompt:r,includeSecondPrfOutput:i=!1}){return Te({credentialStore:e.webauthnCredentialStore,touchIdPrompt:e.touchIdPrompt,nearAccountId:t,challengeB64u:n,includeSecondPrfOutput:i,onBeforePrompt:r})}function Wr(e,t){t?.close?.(e)}function Gr(e){return{chains:e.chains,getAppearance:e.getAppearance,nearExplorerUrl:e.nearExplorerUrl,tempoExplorerUrl:e.tempoExplorerUrl,evmExplorerUrl:e.evmExplorerUrl,surfaceMeasurementBinding:e.surfaceMeasurementBinding}}function Kr(){return{kind:`confirm_ui_prompt_diagnostics_v1`,elementDefineMs:0,mountMs:0,hostFirstUpdateMs:0,hostInteractiveMs:0,confirmEventMs:0,decisionWaitMs:0}}async function qr(e){let t=performance.now(),n=await Nr({ctx:Gr(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:{...Kr(),mountMs:r,decisionWaitMs:a}}}async function Jr(e){let{confirmed:t,handle:n,error:r,otpCode:i,emailOtpChallengeId:a,diagnostics:o}=await Pr({ctx:Gr(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===w.SIGN_TRANSACTION&&j(e.request).signingKind===`transaction`&&m(`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 Yr({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:Kr()};let l=t.type===w.SIGN_TRANSACTION?j(t).txSigningRequests:[],u=Fe(t),d=Ie(t),f=Le(t);switch(n.kind){case`silent`:return s.kind===`reuse_mounted`&&s.handle.close(!0),{confirmed:!0,confirmHandle:void 0,diagnostics:Kr()};case`auto_proceed`:return await qr({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 Jr({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 ge(n)}}function Xr(e){return{near:{fetchNearContext:t=>Vr(e,t),releaseReservedNonces:t=>Hr(e,t)},security:{getRpId:()=>e.touchIdPrompt.getRpId()},webauthn:{collectAuthenticationCredentialWithPRF:t=>Ur({ctx:e,...t}),createRegistrationCredential:t=>e.touchIdPrompt.generateRegistrationCredentialsInternal(t)},ui:{renderConfirmUI:t=>Yr({ctx:e,...t}),closeModalSafely:Wr}}}function Zr({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{We(t,n)}finally{n.confirmed||e.near.releaseReservedNonces(s),e.ui.closeModalSafely(!!n.confirmed,c)}}}}export{me as A,Ie as C,Ce as D,Te as E,we as O,j as S,Me as T,Oe as _,B as a,ke as b,Ye as c,Ue as d,Ke as f,We as g,Ge as h,Cn as i,he as j,Ee as k,Je as l,Be as m,Xr as n,gt as o,ze as p,kr as r,yt as s,Zr as t,Ve as u,De as v,Ne as w,A as x,Pe as y};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
const e={targetDepth:{min:1,max:64},maxRefillInFlight:{min:1,max:8},refillAttemptTimeoutMs:{min:5e3,max:12e4}};export{e as t};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
var e,t,n,r,i,a,o,s,c,l,u,d,f,p,m={},h=[],g=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,_=Array.isArray;function v(e,t){for(var n in t)e[n]=t[n];return e}function y(e){e&&e.parentNode&&e.parentNode.removeChild(e)}function b(t,n,r){var i,a,o,s={};for(o in n)o==`key`?i=n[o]:o==`ref`?a=n[o]:s[o]=n[o];if(arguments.length>2&&(s.children=arguments.length>3?e.call(arguments,2):r),typeof t==`function`&&t.defaultProps!=null)for(o in t.defaultProps)s[o]===void 0&&(s[o]=t.defaultProps[o]);return x(t,s,i,a,null)}function x(e,r,i,a,o){var s={type:e,props:r,key:i,ref:a,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:o??++n,__i:-1,__u:0};return o==null&&t.vnode!=null&&t.vnode(s),s}function S(){return{current:null}}function C(e){return e.children}function w(e,t){this.props=e,this.context=t}function T(e,t){if(t==null)return e.__?T(e.__,e.__i+1):null;for(var n;t<e.__k.length;t++)if((n=e.__k[t])!=null&&n.__e!=null)return n.__e;return typeof e.type==`function`?T(e):null}function E(e){if(e.__P&&e.__d){var n=e.__v,r=n.__e,i=[],a=[],o=v({},n);o.__v=n.__v+1,t.vnode&&t.vnode(o),L(e.__P,o,n,e.__n,e.__P.namespaceURI,32&n.__u?[r]:null,i,r??T(n),!!(32&n.__u),a),o.__v=n.__v,o.__.__k[o.__i]=o,z(i,o,a),n.__e=n.__=null,o.__e!=r&&D(o)}}function D(e){if((e=e.__)!=null&&e.__c!=null)return e.__e=e.__c.base=null,e.__k.some(function(t){if(t!=null&&t.__e!=null)return e.__e=e.__c.base=t.__e}),D(e)}function O(e){(!e.__d&&(e.__d=!0)&&r.push(e)&&!k.__r++||i!=t.debounceRendering)&&((i=t.debounceRendering)||a)(k)}function k(){try{for(var e,t=1;r.length;)r.length>t&&r.sort(o),e=r.shift(),t=r.length,E(e)}finally{r.length=k.__r=0}}function A(e,t,n,r,i,a,o,s,c,l,u){var d,f,p,g,_,v,y=r&&r.__k||h,b=t.length;for(c=j(n,t,y,c,b),d=0;d<b;d++)(p=n.__k[d])!=null&&(f=p.__i!=-1&&y[p.__i]||m,p.__i=d,v=L(e,p,f,i,a,o,s,c,l,u),g=p.__e,p.ref&&f.ref!=p.ref&&(f.ref&&H(f.ref,null,p),u.push(p.ref,p.__c||g,p)),_==null&&g!=null&&(_=g),4&p.__u?(c=M(p,c,e),f.__e&&=null):typeof p.type==`function`&&v!==void 0?c=v:g&&(c=g.nextSibling),p.__u&=-7);return n.__e=_,c}function j(e,t,n,r,i){var a,o,s,c,l,u=n.length,d=u,f=0;for(e.__k=Array(i),a=0;a<i;a++)(o=t[a])!=null&&typeof o!=`boolean`&&typeof o!=`function`?(typeof o==`string`||typeof o==`number`||typeof o==`bigint`||o.constructor==String?o=e.__k[a]=x(null,o,null,null,null):_(o)?o=e.__k[a]=x(C,{children:o},null,null,null):o.constructor===void 0&&o.__b>0?o=e.__k[a]=x(o.type,o.props,o.key,o.ref?o.ref:null,o.__v):e.__k[a]=o,c=a+f,o.__=e,o.__b=e.__b+1,s=null,(l=o.__i=N(o,n,c,d))!=-1&&(d--,(s=n[l])&&(s.__u|=2)),s==null||s.__v==null?(l==-1&&(i>u?f--:i<u&&f++),typeof o.type!=`function`&&(o.__u|=4)):l!=c&&(l==c-1?f--:l==c+1?f++:(l>c?f--:f++,o.__u|=4))):e.__k[a]=null;if(d)for(a=0;a<u;a++)(s=n[a])!=null&&!(2&s.__u)&&(s.__e==r&&(r=T(s)),U(s,s));return r}function M(e,t,n){var r,i;if(typeof e.type==`function`){for(r=e.__k,i=0;r&&i<r.length;i++)r[i]&&(r[i].__=e,t=M(r[i],t,n));return t}e.__e!=t&&(t&&e.type&&!t.parentNode&&(t=T(e)),t=n.insertBefore(e.__e,t||null));do t&&=t.nextSibling;while(t!=null&&t.nodeType==8);return t}function N(e,t,n,r){var i,a,o,s=e.key,c=e.type,l=t[n],u=l!=null&&(2&l.__u)==0;if(l===null&&s==null||u&&s==l.key&&c==l.type)return n;if(r>(u?1:0)){for(i=n-1,a=n+1;i>=0||a<t.length;)if((l=t[o=i>=0?i--:a++])!=null&&!(2&l.__u)&&s==l.key&&c==l.type)return o}return-1}function P(e,t,n){t[0]==`-`?e.setProperty(t,n??``):e[t]=n==null?``:typeof n!=`number`||g.test(t)?n:n+`px`}function F(e,t,n,r,i){var a,o;n:if(t==`style`)if(typeof n==`string`)e.style.cssText=n;else{if(typeof r==`string`&&(e.style.cssText=r=``),r)for(t in r)n&&t in n||P(e.style,t,``);if(n)for(t in n)r&&n[t]==r[t]||P(e.style,t,n[t])}else if(t[0]==`o`&&t[1]==`n`)a=t!=(t=t.replace(u,`$1`)),o=t.toLowerCase(),t=o in e||t==`onFocusOut`||t==`onFocusIn`?o.slice(2):t.slice(2),e.l||={},e.l[t+a]=n,n?r?n[l]=r[l]:(n[l]=d,e.addEventListener(t,a?p:f,a)):e.removeEventListener(t,a?p:f,a);else{if(i==`http://www.w3.org/2000/svg`)t=t.replace(/xlink(H|:h)/,`h`).replace(/sName$/,`s`);else if(t!=`width`&&t!=`height`&&t!=`href`&&t!=`list`&&t!=`form`&&t!=`tabIndex`&&t!=`download`&&t!=`rowSpan`&&t!=`colSpan`&&t!=`role`&&t!=`popover`&&t in e)try{e[t]=n??``;break n}catch{}typeof n==`function`||(n==null||!1===n&&t[4]!=`-`?e.removeAttribute(t):e.setAttribute(t,t==`popover`&&n==1?``:n))}}function I(e){return function(n){if(this.l){var r=this.l[n.type+e];if(n[c]==null)n[c]=d++;else if(n[c]<r[l])return;return r(t.event?t.event(n):n)}}}function L(e,n,r,i,a,o,s,c,l,u){var d,f,p,m,g,b,x,S,E,D,O,k,j,M,N,P,F=n.type;if(n.constructor!==void 0)return null;128&r.__u&&(l=!!(32&r.__u),o=[c=n.__e=r.__e]),(d=t.__b)&&d(n);n:if(typeof F==`function`){f=s.length;try{if(E=n.props,D=F.prototype&&F.prototype.render,O=(d=F.contextType)&&i[d.__c],k=d?O?O.props.value:d.__:i,r.__c?S=(p=n.__c=r.__c).__=p.__E:(D?n.__c=p=new F(E,k):(n.__c=p=new w(E,k),p.constructor=F,p.render=W),O&&O.sub(p),p.state||={},p.__n=i,m=p.__d=!0,p.__h=[],p._sb=[]),D&&p.__s==null&&(p.__s=p.state),D&&F.getDerivedStateFromProps!=null&&(p.__s==p.state&&(p.__s=v({},p.__s)),v(p.__s,F.getDerivedStateFromProps(E,p.__s))),g=p.props,b=p.state,p.__v=n,m)D&&F.getDerivedStateFromProps==null&&p.componentWillMount!=null&&p.componentWillMount(),D&&p.componentDidMount!=null&&p.__h.push(p.componentDidMount);else{if(D&&F.getDerivedStateFromProps==null&&E!==g&&p.componentWillReceiveProps!=null&&p.componentWillReceiveProps(E,k),n.__v==r.__v||!p.__e&&p.shouldComponentUpdate!=null&&!1===p.shouldComponentUpdate(E,p.__s,k)){n.__v!=r.__v&&(p.props=E,p.state=p.__s,p.__d=!1),n.__e=r.__e,n.__k=r.__k,n.__k.some(function(e){e&&(e.__=n)}),h.push.apply(p.__h,p._sb),p._sb=[],p.__h.length&&s.push(p),c=T(r);break n}p.componentWillUpdate!=null&&p.componentWillUpdate(E,p.__s,k),D&&p.componentDidUpdate!=null&&p.__h.push(function(){p.componentDidUpdate(g,b,x)})}if(p.context=k,p.props=E,p.__P=e,p.__e=!1,j=t.__r,M=0,D)p.state=p.__s,p.__d=!1,j&&j(n),d=p.render(p.props,p.state,p.context),h.push.apply(p.__h,p._sb),p._sb=[];else do p.__d=!1,j&&j(n),d=p.render(p.props,p.state,p.context),p.state=p.__s;while(p.__d&&++M<25);p.state=p.__s,p.getChildContext!=null&&(i=v(v({},i),p.getChildContext())),D&&!m&&p.getSnapshotBeforeUpdate!=null&&(x=p.getSnapshotBeforeUpdate(g,b)),N=d!=null&&d.type===C&&d.key==null?B(d.props.children):d,c=A(e,_(N)?N:[N],n,r,i,a,o,s,c,l,u),p.base=n.__e,n.__u&=-161,p.__h.length&&s.push(p),S&&(p.__E=p.__=null)}catch(e){if(s.length=f,n.__v=null,l||o!=null){if(e.then){for(n.__u|=l?160:128;c&&c.nodeType==8&&c.nextSibling;)c=c.nextSibling;o!=null&&(o[o.indexOf(c)]=null),n.__e=c}else if(o!=null)for(P=o.length;P--;)y(o[P])}else n.__e=r.__e;n.__k??=r.__k||[],e.then||R(n),t.__e(e,n,r)}}else o==null&&n.__v==r.__v?(n.__k=r.__k,n.__e=r.__e):c=n.__e=V(r.__e,n,r,i,a,o,s,l,u);return(d=t.diffed)&&d(n),128&n.__u?void 0:c}function R(e){e&&(e.__c&&(e.__c.__e=!0),e.__k&&e.__k.some(R))}function z(e,n,r){for(var i=0;i<r.length;i++)H(r[i],r[++i],r[++i]);t.__c&&t.__c(n,e),e.some(function(n){try{e=n.__h,n.__h=[],e.some(function(e){e.call(n)})}catch(e){t.__e(e,n.__v)}})}function B(e){return typeof e!=`object`||!e||e.__b>0?e:_(e)?e.map(B):e.constructor===void 0?v({},e):null}function V(n,r,i,a,o,s,c,l,u){var d,f,p,h,g,v,b,x=i.props||m,S=r.props,C=r.type;if(C==`svg`?o=`http://www.w3.org/2000/svg`:C==`math`?o=`http://www.w3.org/1998/Math/MathML`:o||=`http://www.w3.org/1999/xhtml`,s!=null){for(d=0;d<s.length;d++)if((g=s[d])&&`setAttribute`in g==!!C&&(C?g.localName==C:g.nodeType==3)){n=g,s[d]=null;break}}if(n==null){if(C==null)return document.createTextNode(S);n=document.createElementNS(o,C,S.is&&S),l&&=(t.__m&&t.__m(r,s),!1),s=null}if(C==null)x===S||l&&n.data==S||(n.data=S);else{if(s=C==`textarea`&&S.defaultValue!=null?null:s&&e.call(n.childNodes),!l&&s!=null)for(x={},d=0;d<n.attributes.length;d++)x[(g=n.attributes[d]).name]=g.value;for(d in x)g=x[d],d==`dangerouslySetInnerHTML`?p=g:d==`children`||d in S||d==`value`&&`defaultValue`in S||d==`checked`&&`defaultChecked`in S||F(n,d,null,g,o);for(d in S)g=S[d],d==`children`?h=g:d==`dangerouslySetInnerHTML`?f=g:d==`value`?v=g:d==`checked`?b=g:l&&typeof g!=`function`||x[d]===g||F(n,d,g,x[d],o);if(f)l||p&&(f.__html==p.__html||f.__html==n.innerHTML)||(n.innerHTML=f.__html),r.__k=[];else if(p&&(n.innerHTML=``),A(r.type==`template`?n.content:n,_(h)?h:[h],r,i,a,C==`foreignObject`?`http://www.w3.org/1999/xhtml`:o,s,c,s?s[0]:i.__k&&T(i,0),l,u),s!=null)for(d=s.length;d--;)y(s[d]);l&&C!=`textarea`||(d=`value`,C==`progress`&&v==null?n.removeAttribute(`value`):v!=null&&(v!==n[d]||C==`progress`&&!v||C==`option`&&v!=x[d])&&F(n,d,v,x[d],o),d=`checked`,b!=null&&b!=n[d]&&F(n,d,b,x[d],o))}return n}function H(e,n,r){try{if(typeof e==`function`){var i=typeof e.__u==`function`;i&&e.__u(),i&&n==null||(e.__u=e(n))}else e.current=n}catch(e){t.__e(e,r)}}function U(e,n,r){var i,a;if(t.unmount&&t.unmount(e),(i=e.ref)&&(i.current&&i.current!=e.__e||H(i,null,n)),(i=e.__c)!=null){if(i.componentWillUnmount)try{i.componentWillUnmount()}catch(e){t.__e(e,n)}i.base=i.__P=i.__n=null}if(i=e.__k)for(a=0;a<i.length;a++)i[a]&&U(i[a],n,r||typeof e.type!=`function`);r||y(e.__e),e.__c=e.__=e.__e=void 0}function W(e,t,n){return this.constructor(e,n)}function G(n,r,i){var a,o,s,c;r==document&&(r=document.documentElement),t.__&&t.__(n,r),o=(a=typeof i==`function`)?null:i&&i.__k||r.__k,s=[],c=[],L(r,n=(!a&&i||r).__k=b(C,null,[n]),o||m,m,r.namespaceURI,!a&&i?[i]:o?null:r.firstChild?e.call(r.childNodes):null,s,!a&&i?i:o?o.__e:r.firstChild,a,c),z(s,n,c),n.props.children=null}e=h.slice,t={__e:function(e,t,n,r){for(var i,a,o;t=t.__;)if((i=t.__c)&&!i.__)try{if((a=i.constructor)&&a.getDerivedStateFromError!=null&&(i.setState(a.getDerivedStateFromError(e)),o=i.__d),i.componentDidCatch!=null&&(i.componentDidCatch(e,r||{}),o=i.__d),o)return i.__E=i}catch(t){e=t}throw e}},n=0,w.prototype.setState=function(e,t){var n=this.__s!=null&&this.__s!=this.state?this.__s:this.__s=v({},this.state);typeof e==`function`&&(e=e(v({},n),this.props)),e&&v(n,e),e!=null&&this.__v&&(t&&this._sb.push(t),O(this))},w.prototype.forceUpdate=function(e){this.__v&&(this.__e=!0,e&&this.__h.push(e),O(this))},w.prototype.render=C,r=[],a=typeof Promise==`function`?Promise.prototype.then.bind(Promise.resolve()):setTimeout,o=function(e,t){return e.__v.__b-t.__v.__b},k.__r=0,s=Math.random().toString(8),c=`__d`+s,l=`__a`+s,u=/(PointerCapture)$|Capture$/i,d=0,f=I(!1),p=I(!0);function K(e,t){return`${e}{${Object.entries(t).map(([e,t])=>`${e}:${t};`).join(``)}}`}function q(){if(typeof window>`u`)return;let e=window;return e.seamsNonce||e.litNonce||void 0}function J(e){let{doc:t,baseCss:n,baseStyleDataAttr:r,dynamicStyleDataAttr:i,nonce:a}=e,o={baseSheet:null,dynamicSheet:null,declarationSheet:null,baseStyleEl:null,dynamicStyleEl:null,rules:new Map,declarationRules:new Map,supportConstructable:null},s=()=>{if(a)return typeof a==`function`?a():a},c=()=>(o.supportConstructable??=typeof CSSStyleSheet<`u`&&`adoptedStyleSheets`in t,o.supportConstructable),l=e=>{let n=t.adoptedStyleSheets||[],r=[...n];for(let t of e)n.includes(t)||r.push(t);t.adoptedStyleSheets=r},u=e=>{(t.head||t.documentElement||t.body)?.appendChild(e)},d=(e,n)=>{let r=t.createElement(`style`),i=s();if(i)try{r.setAttribute(`nonce`,i)}catch{}if(e)try{r.setAttribute(e,``)}catch{}return n!=null&&(r.textContent=n),r},f=()=>{if(o.baseSheet||o.baseStyleEl)return;if(c())try{o.baseSheet=new CSSStyleSheet,o.baseSheet.replaceSync(n),l([o.baseSheet]);return}catch{o.baseSheet=null,o.supportConstructable=!1}let e=d(r,n);u(e),o.baseStyleEl=e},p=()=>Array.from(o.rules.values()).join(`
|
|
2
|
-
`),m=()=>{if(c()){o.dynamicSheet||(o.dynamicSheet=new CSSStyleSheet,l([o.dynamicSheet]));return}if(!o.dynamicStyleEl){let e=d(i);u(e),o.dynamicStyleEl=e}},h=()=>{let e=p();if(c())try{m(),o.dynamicSheet?.replaceSync(e);return}catch{o.supportConstructable=!1,o.dynamicSheet=null}m(),o.dynamicStyleEl&&(o.dynamicStyleEl.textContent=e)},g=(e,t)=>{let n=o.declarationRules.get(e);if(n&&n.selector===t)return n.rule;if(!c())return null;try{o.declarationSheet||(o.declarationSheet=new CSSStyleSheet,l([o.declarationSheet]));let r=o.declarationSheet;if(n){let t=Array.prototype.indexOf.call(r.cssRules,n.rule);t>=0&&r.deleteRule(t),o.declarationRules.delete(e)}let i=r.insertRule(`${t}{}`,r.cssRules.length),a=r.cssRules[i];return a instanceof CSSStyleRule?(o.declarationRules.set(e,{selector:t,rule:a,applied:{}}),a):(r.deleteRule(i),null)}catch{return o.declarationSheet=null,o.declarationRules.clear(),null}},_=e=>{let t=o.declarationRules.get(e);if(!t)return!1;o.declarationRules.delete(e);let n=o.declarationSheet;if(!n)return!0;try{let e=Array.prototype.indexOf.call(n.cssRules,t.rule);e>=0&&n.deleteRule(e)}catch{}return!0};return{ensureBase:()=>{f()},setDynamicDeclarations:(e,t,n)=>{f();let r=g(e,t);if(!r){let r=K(t,n);if(o.rules.get(e)===r)return;o.rules.set(e,r),h();return}let i=o.declarationRules.get(e),a=i?i.applied:{};for(let[e,t]of Object.entries(n))a[e]!==t&&r.style.setProperty(e,t);for(let e of Object.keys(a))e in n||r.style.removeProperty(e);i&&(i.applied={...n})},setDynamicRule:(e,t)=>{f(),o.rules.get(e)!==t&&(o.rules.set(e,t),h())},deleteDynamicRule:e=>{_(e),o.rules.delete(e)&&h()},clearDynamicRules:()=>{for(let e of Array.from(o.declarationRules.keys()))_(e);o.rules.size!==0&&(o.rules.clear(),h())},hasDynamicRule:e=>o.rules.has(e)||o.declarationRules.has(e)}}const Y=new WeakMap;function X(e){let t=Y.get(e);return t||(t=J({doc:e,baseCss:``,dynamicStyleDataAttr:`data-seams-confirmation-dynamic`,nonce:q}),Y.set(e,t)),t}function Z(e){let t=e.trim();if(t)return/^[A-Za-z][A-Za-z0-9_-]*$/.test(t)?t:void 0}function Q(e){let t=e.trim();if(!(!t||t.length>1024)&&!/[{};\n\r]/.test(t))return t}function $(e){let t={};for(let n of[`colors`,`shape`])for(let[r,i]of Object.entries(e?.theme[n]??{})){if(typeof i!=`string`)continue;let e=Z(r);if(!e)continue;let a=Q(i);a&&(t[`--seams-${n}-${e}`]=`${a} !important`)}return t}function ee(e,t){return`:where(#${e}){${Object.entries($(t)).map(([e,t])=>`${e}:${t};`).join(``)}}`}var te=0;Array.isArray;function ne(e,n,r,i,a,o){n||={};var s,c,l=n;if(`ref`in l)for(c in l={},n)c==`ref`?s=n[c]:l[c]=n[c];var u={type:e,props:l,key:r,ref:s,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:--te,__i:-1,__u:0,__source:a,__self:o};if(typeof e==`function`&&(s=e.defaultProps))for(c in s)l[c]===void 0&&(l[c]=s[c]);return t.vnode&&t.vnode(u),u}export{q as a,G as c,J as i,C as l,ee as n,w as o,X as r,S as s,ne as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{i as e}from"./base64-DW79QA0h.js";import"./capabilityKinds-D0Yrp9uf.js";import{t}from"./errors-ADOZT8oV.js";import"./accountIds-Cpvlkvbe.js";import"./signerDomain-BFqRQ0Jl.js";import{D as n,O as r,c as i,f as a,j as o,n as s,t as c,u as l,y as u}from"./adapters-CTlDBRJy.js";import{i as d,t as f}from"./appearance-4DmzKUWf.js";import"./jsxRuntime.module-DKsgiFjd.js";import{n as p,r as m}from"./export-viewer-host-DsRaS0UH.js";function h(){return e(crypto.getRandomValues(new Uint8Array(32)).buffer)}function g(e){switch(e.kind){case`near_wallet`:return e.nearAccountId;case`evm_wallet`:return e.walletId;default:{let t=e;throw Error(`Unsupported local key export subject: ${String(t)}`)}}}async function _(e,t,n,r){await m({theme:t.theme||r||`dark`,variant:t.variant||(n.uiMode===`drawer`?`drawer`:`modal`),accountId:g(t.subject),sessionId:t.viewerSessionId,publicKey:t.publicKey,privateKey:t.privateKey,keys:Array.isArray(t.keys)?t.keys:void 0,guidance:t.guidance,appearance:f({getAppearance:e.getAppearance,requestedMode:t.theme}),loading:t.loading===!0,errorMessage:t.errorMessage,onLifecycle:t.onLifecycle,surfaceMeasurementBinding:e.surfaceMeasurementBinding})}function v(e){try{return{rpId:e.security.getRpId()}}catch{return{}}}async function y(e){switch(e.payload.subject.kind){case`near_wallet`:return await n({touchIdPrompt:e.ctx.touchIdPrompt,nearAccountId:e.payload.subject.nearAccountId,credentialIdB64u:e.payload.credentialIdB64u,challengeB64u:e.challengeB64u,includeSecondPrfOutput:!0});case`evm_wallet`:return await r({touchIdPrompt:e.ctx.touchIdPrompt,walletId:e.payload.subject.walletId,credentialIdB64u:e.payload.credentialIdB64u,challengeB64u:e.challengeB64u,includeSecondPrfOutput:!0});default:{let t=e.payload.subject;throw Error(`Unsupported local key export subject: ${String(t)}`)}}}async function b(e,n,r,f){let{confirmationConfig:m,transactionSummary:g,theme:b}=f,x=s(e),S=c({adapters:x,worker:r,request:n,confirmationConfig:m,transactionSummary:g,theme:b,surface:{kind:`mount_new`}});if(n.type===d.SHOW_SECURE_PRIVATE_KEY_UI)try{await _(e,n.payload,m,b),S.confirmAndCloseModal({requestId:n.requestId,intentDigest:u(n),confirmed:!0});return}catch(e){return S.confirmAndCloseModal({requestId:n.requestId,intentDigest:u(n),confirmed:!1,error:t(e)||`Failed to render export UI`})}if(n.type===d.AUTHORIZE_KEY_EXPORT){p();let r=i()?o():m,s=String(n.payload?.challengeB64u||``).trim()||h();if(r.kind!==`silent`){try{let e=g.operation,t=g.warning;g.title||=e||`Export Private Key`,g.body||=t||`Confirm to authenticate with your passkey.`}catch{}let e=v(x),{confirmed:t,error:r}=await S.promptUser({securityContext:e});if(!t)return S.confirmAndCloseModal({requestId:n.requestId,intentDigest:u(n),confirmed:!1,error:r})}try{let t=await y({ctx:e,payload:n.payload,challengeB64u:s});return S.confirmAndCloseModal({requestId:n.requestId,intentDigest:u(n),confirmed:!0,credential:t})}catch(e){let r=a(e);return S.confirmAndCloseModal({requestId:n.requestId,intentDigest:u(n),confirmed:!1,error:r?l.cancelled:t(e)||l.collectCredentialsFailed})}}}export{b as handleLocalOnlyFlow};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./events-1dzC4Ocx.js";import{c as t,l as n,n as r,o as i,r as a,s as o,t as s}from"./jsxRuntime.module-DKsgiFjd.js";import{i as c,n as l,r as u,t as d}from"./ConfirmationDrawer-CXVNmfTy.js";function f(e){throw Error(`Unexpected private key reveal state: ${String(e)}`)}function p(e){switch(e){case`secp256k1`:return{prefix:`0x`,alphabet:`0123456789abcdef`,slotCount:64};case`ed25519`:return{prefix:`ed25519:`,alphabet:`123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz`,slotCount:88};default:return f(e)}}function m(e){return e[Math.floor(Math.random()*e.length)]??e[0]??`x`}function h(e,t){return e+Math.random()*(t-e)}function g(e,t,n){let r=[];for(let i=0;i<e.slotCount;i+=1)r.push({glyph:t?`x`:m(e.alphabet),nextChangeAtMs:t?1/0:n+i*37%90});return r}function _(e,t,n,r){let i=p(t);return{kind:`spinning`,entryKey:e,prefix:i.prefix,alphabet:i.alphabet,slots:g(i,n,r)}}function v(e){if(!e)return``;let t=(e.startsWith(`ed25519:`)?8:0)+6,n=Math.max(t,e.length-6);return`${e.slice(0,t)}${`x`.repeat(n-t)}${e.slice(n)}`}function y(e,t,n){let r=t.startsWith(e.prefix)?e.prefix:``,i=Array.from(t.slice(r.length)),a=i.length===e.slots.length?e.slots:i.map((t,r)=>({glyph:m(e.alphabet),nextChangeAtMs:n+r*37%90}));return{kind:`settling`,entryKey:e.entryKey,prefix:r,alphabet:e.alphabet,slots:a,targetSlots:i,lockedSlots:0,startedAtMs:n}}function b(e,t){let n=Math.max(1,e.targetSlots.length-1),r=0;for(let i=0;i<e.targetSlots.length;i+=1){let a=i/n*700;t>=e.startedAtMs+a+300&&(r+=1)}return r}function x(e,t,n){let r=t/Math.max(1,e.targetSlots.length-1)*700,i=e.startedAtMs+r;return Math.max(0,Math.min(1,(n-i)/300))}function S(e,t,n){let r=null;for(let i=0;i<e.length;i+=1){let a=e[i];!a||n<a.nextChangeAtMs||(r===null&&(r=[...e]),r[i]={glyph:m(t),nextChangeAtMs:n+h(90,150)})}return r??e}function C(e,t,n){let r=null;for(let i=0;i<e.slots.length;i+=1){let a=e.slots[i];if(!a)continue;if(i<t){let t=e.targetSlots[i]??a.glyph;if(a.glyph===t&&a.nextChangeAtMs===1/0)continue;r===null&&(r=[...e.slots]),r[i]={glyph:t,nextChangeAtMs:1/0};continue}if(n<a.nextChangeAtMs)continue;let o=x(e,i,n)*90;r===null&&(r=[...e.slots]),r[i]={glyph:m(e.alphabet),nextChangeAtMs:n+h(90+o,150+o)}}return r??e.slots}function w(e,t){if(e.kind===`spinning`){let n=S(e.slots,e.alphabet,t);return n===e.slots?e:{...e,slots:n}}if(e.kind===`settling`){let n=b(e,t);if(n>=e.targetSlots.length)return{kind:`settled`,entryKey:e.entryKey};let r=C(e,n,t);return r===e.slots&&n===e.lockedSlots?e:{...e,slots:r,lockedSlots:n}}return f(e)}function T({model:e,onClose:t}){let n=e.kind===`failed`?[]:e.entries,r=n.length===0||n.some(E);return s(`div`,{class:`seams-export-key-viewer`,"data-seams-drawer-no-drag":!0,onPointerDown:O,onMouseDown:O,onTouchStart:O,children:s(`div`,{class:`content`,children:[s(`div`,{class:`seams-export-header`,children:[s(`h2`,{class:`title`,children:`Exported Keys`}),t&&s(`button`,{type:`button`,class:`seams-export-modal-close`,"aria-label":`Close exported keys`,onClick:t,children:`×`})]}),e.kind===`failed`&&s(`div`,{class:`error-banner`,role:`alert`,children:e.message}),s(`div`,{class:`fields`,children:[r&&s(`div`,{class:`field`,children:[s(`div`,{class:`field-label`,children:`Near Account ID`}),s(`div`,{class:`field-value`,children:s(`span`,{class:`value`,children:e.accountId||`—`})})]}),n.length>0?n.map(D):s(`div`,{class:`field`,children:s(`div`,{class:`field-value`,children:s(`span`,{class:`muted`,children:e.kind===`loading`?`Preparing private key…`:`No keys available`})})})]}),e.guidance&&s(k,{guidance:e.guidance}),s(`div`,{class:`warning`,children:`Warning: your private keys grant full control of your account and funds. Keep it in a secret place.`})]})})}function E(e){return e.scheme===`ed25519`}function D(e){return s(j,{entry:e},e.id)}function O(e){e.stopPropagation()}function k({guidance:e}){return s(`div`,{class:`warning`,children:[s(`strong`,{children:e.title||`Next Steps`}),e.body&&s(`div`,{children:e.body}),e.steps?.length?s(`ol`,{children:e.steps.map(A)}):null]})}function A(e,t){return s(`li`,{children:e},t)}var j=class extends i{state={reveal:null,publicCopied:!1,privateCopied:!1};root=o();frame=null;timers=new Map;generation=0;copyLifetime=new AbortController;active=!1;componentDidMount(){this.active=!0,this.reset(this.props.entry)}componentWillReceiveProps(e){M(this.props.entry,e.entry)||this.reset(e.entry)}componentDidUpdate(){this.schedule()}componentWillUnmount(){this.active=!1,this.clearPending(),this.state.reveal=null}clearPending(){this.generation+=1,this.copyLifetime.abort();let e=this.root.current?.ownerDocument.defaultView;this.frame!==null&&e?.cancelAnimationFrame(this.frame),this.frame=null;for(let t of this.timers.values())e?.clearTimeout(t);this.timers.clear()}reset(e){this.clearPending(),this.copyLifetime=new AbortController;let t=this.root.current.ownerDocument.defaultView,n=t.matchMedia(`(prefers-reduced-motion: reduce)`).matches,r=t.performance.now(),i=null;switch(e.material.kind){case`loading`:i=_(e.id,e.scheme,n,r);break;case`ready`:i=n?{kind:`settled`,entryKey:e.id}:y(_(e.id,e.scheme,!1,r),v(e.material.value),r);break;case`unavailable`:break;default:I(e.material)}this.setState({reveal:i,publicCopied:!1,privateCopied:!1})}schedule(){let e=this.state.reveal;if(!this.active||this.frame!==null||!e||e.kind===`settled`)return;let t=this.root.current.ownerDocument.defaultView;t.matchMedia(`(prefers-reduced-motion: reduce)`).matches||(this.frame=t.requestAnimationFrame(this.tick))}tick=e=>{this.frame=null;let t=this.state.reveal;if(!this.active||!t||t.kind===`settled`)return;let n=w(t,e);n!==t&&this.setState({reveal:n}),this.schedule()};copyPublic=()=>{this.copy(`public`)};copyPrivate=()=>{this.copy(`private`)};clearPublic=()=>{this.timers.delete(`public`),this.active&&this.setState({publicCopied:!1})};clearPrivate=()=>{this.timers.delete(`private`),this.active&&this.setState({privateCopied:!1})};async copy(e){let t=this.props.entry;if(!this.active||e===`private`&&(t.material.kind!==`ready`||this.state.reveal?.kind!==`settled`))return;let n=t.publicKey;if(e===`private`){if(t.material.kind!==`ready`)return;n=t.material.value}if(!n)return;let r=this.generation,i=this.root.current,a=i.ownerDocument.defaultView;if(a.focus(),!await c(i,n,this.copyLifetime.signal).catch(N)||!this.active||r!==this.generation)return;let o=this.timers.get(e);o!==void 0&&a.clearTimeout(o),e===`public`?this.setState({publicCopied:!0}):this.setState({privateCopied:!0}),this.timers.set(e,a.setTimeout(e===`public`?this.clearPublic:this.clearPrivate,3e3))}render(){let e=this.props.entry,t=e.material.kind===`ready`&&this.state.reveal?.kind===`settled`;return s(`div`,{class:`key-card`,ref:this.root,children:[s(`div`,{class:`key-title`,children:e.label}),e.address&&s(`div`,{class:`field`,children:[s(`div`,{class:`field-label`,children:`Address`}),s(`div`,{class:`field-value`,children:s(`span`,{class:`value`,children:e.address})})]}),e.scheme===`ed25519`&&s(`button`,{type:`button`,class:`field copy-field${this.state.publicCopied?` copied`:``}`,"aria-label":this.state.publicCopied?`Public key copied`:`Copy public key`,disabled:!e.publicKey,onClick:this.copyPublic,children:[s(`div`,{class:`field-label`,children:`Public Key`}),s(`div`,{class:`field-value`,children:[s(`span`,{class:`value`,children:e.publicKey||`—`}),s(u,{})]})]}),s(`button`,{type:`button`,class:`field copy-field${this.state.privateCopied?` copied`:``}`,"aria-label":this.state.privateCopied?`Private key copied`:`Copy private key`,disabled:!t,onClick:this.copyPrivate,children:[s(`div`,{class:`field-label`,children:`Private Key`}),s(`div`,{class:`field-value`,children:[s(`span`,{class:`value private-key`,children:s(P,{material:e.material,reveal:this.state.reveal})}),s(u,{})]})]})]})}};function M(e,t){return e.id===t.id&&e.scheme===t.scheme&&e.publicKey===t.publicKey&&e.material.kind===t.material.kind&&e.material.value===t.material.value}function N(){return!1}function P({material:e,reveal:t}){return t&&t.kind!==`settled`?s(n,{children:[s(`span`,{class:`private-key-reel`,"aria-hidden":`true`,children:[s(`span`,{class:`reel-prefix`,children:t.prefix}),F(t)]}),s(`span`,{class:`seams-sr-only`,role:`status`,children:`Decrypting private key`})]}):e.kind===`ready`?s(n,{children:[s(`span`,{children:v(e.value)}),s(`span`,{class:`seams-sr-only`,role:`status`,children:`Private key ready`})]}):s(`span`,{class:`muted`,children:`—`})}function F(e){let t=e.kind===`settling`?e.lockedSlots:0,n=[];for(let r=0;r<e.slots.length;r+=1)n.push(s(`span`,{class:`reel-slot${r<t?` settled`:``}`,children:e.slots[r].glyph},r));return n}function I(e){throw Error(`Unexpected export key material: ${String(e)}`)}let L=0;var R=class{element;styles;context;state;constructor(t){this.styles=a(t.parent.ownerDocument),this.context=t.context,this.state={kind:`mounted`,onClosed:t.onClosed},this.element=t.parent.ownerDocument.createElement(`div`),this.element.id=`seams-export-surface-${++L}`,this.element.className=`seams-wallet-ui seams-export-surface`,this.element.dataset.seamsExportSurface=t.context,this.element.addEventListener(e.TX_CONFIRMER_CANCEL,this.handleCancel),t.parent.appendChild(this.element);try{this.update(t.model)}catch(e){throw this.remove(),e}}update(e){if(this.state.kind!==`disposed`){if(this.element.dataset.theme=e.appearance.theme.mode,this.element.dataset.seamsExportVariant=e.variant,this.styles.setDynamicRule(this.element.id,r(this.element.id,e.appearance)),e.variant===`modal`){t(s(l,{context:this.context,label:`Exported Keys`,onCancel:this.dispose,children:s(T,{model:e.content,onClose:this.dispose})}),this.element);return}t(s(d,{context:this.context,label:`Exported Keys`,dismissOnBackdrop:!1,styles:this.styles,state:{kind:`open`,interaction:`ready`},onCancel:this.dispose,children:s(T,{model:e.content})}),this.element)}}dispose=()=>{if(this.state.kind===`disposed`)return;let e=this.state.onClosed;this.remove(),e()};handleCancel=()=>{this.dispose()};remove(){this.state={kind:`disposed`},this.element.removeEventListener(e.TX_CONFIRMER_CANCEL,this.handleCancel),t(null,this.element),this.styles.deleteDynamicRule(this.element.id),this.element.remove()}};function z(e){return new R(e)}export{z as mountExportPrivateKeySurface};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{c as e,l as t,n,o as r,r as i,s as a,t as o}from"./jsxRuntime.module-DKsgiFjd.js";function s(e){throw Error(`Unhandled recovery-code state: ${String(e)}`)}function c(e,t){return e instanceof Error&&e.message.trim()?e.message:t}function l(e){switch(e.kind){case`direct_backup`:return{kind:`recovery_codes`,request:e.request};case`account_menu`:return{kind:`summary`,walletId:e.walletId,loadState:{kind:`loading`},actionError:null};default:return s(e)}}function u(e){return{viewState:l(e),acknowledged:!1,statusMessage:``,copied:!1}}function d(e){switch(e.kind){case`summary`:case`opening`:case`recovery_codes`:return e.kind;default:return s(e)}}function f(e){switch(e.kind){case`ready`:return e.pendingLocalBackup||e.backupOutstanding?`Backup needed`:`Backed up`;case`no_recovery_set`:return`No recovery set`;case`unauthorized`:return`Authorization required`;case`transport_failed`:return`Could not load`;default:return s(e)}}function p(e){if(e.kind!==`loaded`)return!0;switch(e.status.kind){case`ready`:return e.status.pendingLocalBackup;case`unauthorized`:case`transport_failed`:return!0;case`no_recovery_set`:return!1;default:return s(e.status)}}function m(e){if(e.kind===`error`)return e.message;if(e.kind!==`loaded`)return null;switch(e.status.kind){case`unauthorized`:case`transport_failed`:return e.status.message;case`ready`:case`no_recovery_set`:return null;default:return s(e.status)}}function h(e){switch(e.kind){case`loading`:return`Loading`;case`error`:return`Could not load`;case`loaded`:return f(e.status);default:return s(e)}}function g(e){switch(e.kind){case`loading`:return`Checking your codes…`;case`error`:return`Status unavailable`;case`loaded`:return e.status.kind===`ready`?`${e.status.activeCodeCount} of ${e.status.totalCodeCount} codes left`:`Status unavailable`;default:return s(e)}}function _(e){return e.trim().replace(/[^A-Za-z0-9_.-]/g,`_`)||`wallet`}function v(e,t){let n=[`Seams wallet recovery codes`,``,`Wallet: ${e}`,``,`Save these codes somewhere private. Each code can be used once.`,``];for(let[e,r]of t.entries())n.push(`${String(e+1).padStart(2,`0`)} ${r}`);return`${n.join(`
|
|
2
|
-
`)}\n`}function y(e,t){return t?`Finish backup`:e.continuation===`registration_may_defer`?`Back up later`:`Close`}function b(e,t){return o(`li`,{class:`recovery-code-item`,children:[o(`span`,{class:`recovery-code-index`,children:t+1}),o(`span`,{class:`recovery-code-value`,children:e})]},`${t}-${e}`)}var x=class extends r{state=u(this.props.experience);root=a();active=!1;loadGeneration=0;copiedResetTimer=null;focusFrame=null;componentDidMount(){this.active=!0,this.loadGeneration+=1,this.notifyStage(),this.beginAccountStatus(this.props.experience,this.loadGeneration)}componentWillReceiveProps(e){e.experience!==this.props.experience&&(this.loadGeneration+=1,this.clearFocusFrame(),this.clearCopiedFlash(),this.setState(u(e.experience)),this.beginAccountStatus(e.experience,this.loadGeneration))}componentDidUpdate(e,t){d(t.viewState)!==d(this.state.viewState)&&this.notifyStage(),t.viewState.kind!==`recovery_codes`&&this.state.viewState.kind===`recovery_codes`&&this.focusTitleAfterRender()}componentWillUnmount(){this.active=!1,this.loadGeneration+=1,this.clearFocusFrame(),this.clearCopiedFlash()}render(){let e=this.state.viewState,t=d(e),n=e.kind===`recovery_codes`?this.renderRecoveryCodes(e.request):this.renderSummary(e);return o(`div`,{ref:this.root,class:`seams-recovery-code-backup-viewer`,"data-seams-recovery-entry":this.props.experience.kind,"data-seams-recovery-stage":t,children:n})}notifyStage(){this.props.onStageChange(d(this.state.viewState))}beginAccountStatus(e,t){e.kind===`account_menu`&&this.loadSummaryStatus(e,t)}async loadSummaryStatus(e,t){try{let n=await e.loadStatus();this.updateSummaryLoadState(t,{kind:`loaded`,status:n})}catch(e){this.updateSummaryLoadState(t,{kind:`error`,message:c(e,`Could not load recovery-code status`)})}}updateSummaryLoadState(e,t){if(!this.active||e!==this.loadGeneration)return;let n=this.state.viewState;n.kind!==`summary`&&n.kind!==`opening`||this.setState({viewState:{...n,loadState:t}})}retryStatus=()=>{let e=this.props.experience;if(e.kind!==`account_menu`)return;let t=this.state.viewState;if(t.kind!==`summary`)return;let n=++this.loadGeneration;this.setState({viewState:{...t,loadState:{kind:`loading`},actionError:null}}),this.loadSummaryStatus(e,n)};openRecoveryCodes=async()=>{let e=this.props.experience,t=this.state.viewState;if(e.kind!==`account_menu`||t.kind!==`summary`)return;let n=this.loadGeneration;this.setState({viewState:{...t,kind:`opening`,actionError:null}});try{let r=await e.loadPendingBackup();if(!this.active||n!==this.loadGeneration)return;if(!r){this.setState({viewState:{...t,actionError:`Recovery codes are no longer available on this device.`}});return}this.setState({viewState:{kind:`recovery_codes`,request:r}})}catch(e){if(!this.active||n!==this.loadGeneration)return;this.setState({viewState:{...t,actionError:c(e,`Could not open recovery codes`)}})}};closeSummary=()=>{this.props.onClose({kind:`dismissed`})};closeRecoveryCodes=()=>{this.props.onClose({kind:`recovery_codes`,acknowledged:this.state.acknowledged})};onAcknowledgementChange=e=>{e.currentTarget instanceof HTMLInputElement&&this.setState({acknowledged:e.currentTarget.checked})};download=()=>{let e=this.state.viewState;if(e.kind!==`recovery_codes`)return;let t=this.root.current?.ownerDocument.defaultView;if(!t)return;let{walletId:n,recoveryCodes:r}=e.request;try{let e=t.URL.createObjectURL(new t.Blob([v(n,r)],{type:`text/plain;charset=utf-8`})),i=t.document.createElement(`a`);i.href=e,i.download=`seams-wallet-recovery-codes-${_(n)}.txt`;try{i.click()}finally{t.setTimeout(()=>t.URL.revokeObjectURL(e),0)}this.setState({statusMessage:`Recovery codes downloaded.`})}catch{this.setState({statusMessage:`Unable to download the codes. Copy them or try again.`})}};copy=async()=>{let e=this.state.viewState;if(e.kind!==`recovery_codes`||!this.active)return;let{walletId:t,recoveryCodes:n}=e.request,r=this.loadGeneration;try{if(await navigator.clipboard.writeText(v(t,n)),!this.active||r!==this.loadGeneration)return;this.setState({statusMessage:`Recovery codes copied.`}),this.flashCopied()}catch{if(!this.active||r!==this.loadGeneration)return;this.setState({statusMessage:`Unable to copy the codes. Download them or try again.`})}};flashCopied(){let e=this.root.current?.ownerDocument.defaultView;e&&(this.copiedResetTimer!==null&&e.clearTimeout(this.copiedResetTimer),this.setState({copied:!0}),this.copiedResetTimer=e.setTimeout(()=>{this.copiedResetTimer=null,this.active&&this.setState({copied:!1})},1800))}clearCopiedFlash(){let e=this.root.current?.ownerDocument.defaultView;e&&this.copiedResetTimer!==null&&e.clearTimeout(this.copiedResetTimer),this.copiedResetTimer=null}clearFocusFrame(){let e=this.root.current?.ownerDocument.defaultView;e&&this.focusFrame!==null&&e.cancelAnimationFrame(this.focusFrame),this.focusFrame=null}focusTitleAfterRender(){let e=this.root.current?.ownerDocument.defaultView;e&&(this.clearFocusFrame(),this.focusFrame=e.requestAnimationFrame(()=>{this.focusFrame=null,this.active&&this.root.current?.querySelector(`.recovery-backup-title`)?.focus()}))}renderSummary(e){let n=m(e.loadState),r=p(e.loadState),i=e.kind===`opening`;return o(t,{children:[o(`button`,{type:`button`,class:`recovery-summary-close`,"aria-label":`Close recovery codes`,onClick:this.closeSummary,children:o(`svg`,{"aria-hidden":`true`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,children:o(`path`,{d:`M6 6l12 12M18 6 6 18`})})}),o(`h1`,{id:`seams-wallet-recovery-title`,class:`recovery-backup-title`,tabIndex:-1,children:`Wallet recovery codes`}),o(`p`,{id:`seams-wallet-recovery-description`,class:`recovery-backup-description`,children:`View and save the recovery codes retained by this wallet after registration.`}),o(`div`,{class:`recovery-summary-body`,children:[o(`h2`,{class:`recovery-summary-section-label`,children:`Security`}),o(`div`,{class:`recovery-summary-item`,children:[o(`span`,{class:`recovery-summary-item-icon`,"aria-hidden":`true`,children:o(S,{})}),o(`span`,{class:`recovery-summary-item-text`,children:[o(`span`,{class:`recovery-summary-item-title`,children:`Recovery codes`}),o(`span`,{class:`recovery-summary-item-detail`,children:g(e.loadState)})]}),o(`span`,{class:`recovery-summary-badge`,children:h(e.loadState)})]}),o(`div`,{class:`recovery-summary-item`,children:[o(`span`,{class:`recovery-summary-item-icon`,"aria-hidden":`true`,children:o(C,{})}),o(`span`,{class:`recovery-summary-item-text`,children:[o(`span`,{class:`recovery-summary-item-title`,children:`Wallet`}),o(`span`,{class:`recovery-summary-item-detail`,children:e.walletId})]})]}),r&&o(`button`,{type:`button`,class:`recovery-backup-button secondary recovery-summary-open`,disabled:i,onClick:this.openRecoveryCodes,children:i?o(t,{children:[`Opening recovery codes`,o(`span`,{class:`recovery-summary-ellipsis`,"aria-hidden":`true`,children:[o(`span`,{children:`.`}),o(`span`,{children:`.`}),o(`span`,{children:`.`})]})]}):`View recovery codes`}),o(`p`,{class:`recovery-summary-live-status`,role:`status`,"aria-live":`polite`,children:e.loadState.kind===`loading`?`Loading recovery-code status…`:``}),n&&o(`p`,{class:`recovery-summary-error`,role:`alert`,children:n}),e.actionError&&o(`p`,{class:`recovery-summary-error`,role:`alert`,children:e.actionError}),e.loadState.kind===`error`&&o(`button`,{type:`button`,class:`recovery-backup-button secondary`,onClick:this.retryStatus,children:`Retry status`})]})]})}renderRecoveryCodes(e){let n=e.continuation===`registration_may_defer`?`Each code can recover your wallet once. Save them now, or back them up later from Recovery Codes.`:`Each code can recover your wallet once. Keep them somewhere private.`;return o(t,{children:[o(`h1`,{id:`seams-wallet-recovery-title`,class:`recovery-backup-title`,tabIndex:-1,children:`Save your recovery codes`}),o(`p`,{id:`seams-wallet-recovery-description`,class:`recovery-backup-description`,children:n}),o(`div`,{class:`recovery-code-sheet`,children:[o(`div`,{class:`recovery-code-sheet-heading`,children:[o(`span`,{children:`Recovery codes`}),o(`span`,{children:[e.recoveryCodes.length,` single-use codes`]})]}),o(`ol`,{class:`recovery-code-list`,children:e.recoveryCodes.map(b)})]}),o(`div`,{class:`recovery-backup-actions`,children:[o(`button`,{type:`button`,class:`recovery-backup-button primary`,onClick:this.download,children:`Download codes`}),o(`button`,{type:`button`,class:`recovery-backup-button secondary recovery-backup-copy${this.state.copied?` copied`:``}`,onClick:this.copy,children:[o(w,{}),`Copy codes`]})]}),o(`div`,{class:`recovery-backup-footer`,children:[o(`label`,{class:`recovery-backup-acknowledgement`,children:[o(`input`,{type:`checkbox`,"data-seams-wallet-recovery-backup-acknowledgement":!0,checked:this.state.acknowledged,onChange:this.onAcknowledgementChange}),o(`span`,{children:[`I saved these recovery codes somewhere safe.`,o(`small`,{children:`They won’t be shown again after you finish.`})]})]}),o(`button`,{type:`button`,class:`recovery-backup-button ${this.state.acknowledged?`primary`:`secondary`}`,"data-seams-wallet-recovery-backup-close":!0,onClick:this.closeRecoveryCodes,children:y(e,this.state.acknowledged)})]}),o(`p`,{class:`recovery-backup-status`,role:`status`,children:this.state.statusMessage})]})}};function S(){return o(`svg`,{width:`20`,height:`20`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,children:[o(`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z`}),o(`path`,{d:`m9 12 2 2 4-4`})]})}function C(){return o(`svg`,{width:`20`,height:`20`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,children:[o(`path`,{d:`M19 7V4a1 1 0 0 0-1-1H5a2 2 0 0 0 0 4h15a1 1 0 0 1 1 1v4h-3a2 2 0 0 0 0 4h3a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1`}),o(`path`,{d:`M3 5v14a2 2 0 0 0 2 2h15a1 1 0 0 0 1-1v-4`})]})}function w(){return o(`span`,{class:`copy-icon`,"aria-hidden":`true`,children:[o(`span`,{class:`copy-icon-check`,children:o(`svg`,{width:`16`,height:`16`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,children:o(`path`,{d:`M20 6 9 17l-5-5`})})}),o(`span`,{class:`copy-icon-copy`,children:o(`svg`,{width:`16`,height:`16`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,children:[o(`rect`,{width:`14`,height:`14`,x:`8`,y:`8`,rx:`2`}),o(`path`,{d:`M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2`})]})})]})}let T=0;var E=class{element;dialog;document;input;state=`mounted`;constructor(e){this.input=e,this.document=e.parent.ownerDocument,this.element=this.document.createElement(`div`),this.element.id=`seams-recovery-surface-${++T}`,this.element.className=`seams-wallet-ui seams-recovery-code-backup-host`,this.element.dataset.seamsRecoverySurface=e.surface,e.appearance&&(this.element.dataset.theme=e.appearance.theme.mode,i(this.document).setDynamicRule(this.element.id,n(this.element.id,e.appearance))),this.dialog=this.document.createElement(`dialog`),this.dialog.className=`seams-host-themed-dialog`,this.dialog.tabIndex=-1,this.dialog.setAttribute(`data-seams-wallet-recovery-backup-dialog`,``),this.dialog.dataset.seamsRecoverySurface=e.surface,this.dialog.setAttribute(`aria-labelledby`,`seams-wallet-recovery-title`),this.dialog.setAttribute(`aria-describedby`,`seams-wallet-recovery-description`),this.dialog.addEventListener(`cancel`,this.handleCancel),this.element.appendChild(this.dialog),e.parent.appendChild(this.element);try{this.render(e.experience),this.dialog.showModal(),this.focusTitle(),e.onShown(this.dialog)}catch(e){throw this.dispose(),e}}update(e){this.state!==`disposed`&&this.render(e)}dispose(){this.state!==`disposed`&&(this.state=`disposed`,this.dialog.removeEventListener(`cancel`,this.handleCancel),e(null,this.dialog),this.dialog.open&&this.dialog.close(),i(this.document).deleteDynamicRule(this.element.id),this.element.remove())}render(t){this.state!==`disposed`&&(this.element.dataset.seamsRecoveryEntry=t.kind,e(o(x,{experience:t,onClose:this.input.onClose,onStageChange:this.handleStageChange}),this.dialog))}handleCancel=e=>{e.preventDefault(),this.input.onCancel()};handleStageChange=e=>{this.state!==`disposed`&&(this.dialog.dataset.seamsRecoveryStage=e)};focusTitle(){this.dialog.querySelector(`.recovery-backup-title`)?.focus()}};function D(e){return new E(e)}export{D as mountRecoveryCodeBackupSurface};
|