@seams/wallet 0.26.0 → 0.27.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/.build-inputs.sha256 +1 -1
- package/dist/esm/SeamsWeb/publicApi/near.js +22 -11
- package/dist/esm/SeamsWeb/walletIframe/client/nearCommands.js +9 -10
- package/dist/esm/SeamsWeb/walletIframe/client/router.js +57 -38
- package/dist/esm/SeamsWeb/walletIframe/host/surface-measurement-reporter.js +1 -0
- package/dist/esm/SeamsWeb/walletIframe/host/ui/auth-menu/AuthMenuSurface.js +1 -1
- package/dist/esm/SeamsWeb/walletIframe/host/ui/auth-menu/mountAuthMenuSurface.js +28 -0
- package/dist/esm/SeamsWeb/walletIframe/shared/messages.js +6 -0
- package/dist/esm/core/rpcClients/near/NearClient.js +7 -0
- package/dist/esm/core/signingEngine/flows/signNear/signTransactions.js +3 -0
- package/dist/esm/core/signingEngine/nearTransactionSubmission.js +89 -0
- package/dist/esm/core/signingEngine/uiConfirm/ui/confirm-surface-resize.js +2 -2
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/ReviewDisclosure.js +7 -1
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/mountConfirmationSurface.js +123 -14
- package/dist/esm/core/ui/messages.js +12 -0
- package/dist/esm/react/components/AccountMenuButton/icons/HoverArrowIcon.css +27 -3
- package/dist/esm/react/components/AccountMenuButton/icons/HoverArrowIcon.js +2 -2
- package/dist/esm/react/components/ExternalNearWalletIcon.js +32 -0
- package/dist/esm/react/components/HostedSeamsAuthMenu/WalletConnectorMenu.css +182 -0
- package/dist/esm/react/components/HostedSeamsAuthMenu/WalletConnectorMenu.js +315 -0
- package/dist/esm/react/components/HostedSeamsAuthMenu/shell.js +13 -4
- package/dist/esm/react/components/externalWalletBrandImages.js +7 -0
- package/dist/esm/react/externalNear.js +2 -6
- package/dist/esm/react/index.js +2 -1
- package/dist/esm/react/styles/styles.css +210 -3
- package/dist/esm/react/styles.css +1 -0
- package/dist/esm/react/transactionReview/boundCalls.js +31 -26
- package/dist/esm/sdk/{ConfirmationDrawer-BmzikAr4.js → ConfirmationDrawer-AZruQmhP.js} +1 -1
- package/dist/esm/sdk/{NonceCoordinator-CcD2FqXh.js → NonceCoordinator-3YhmDTS5.js} +1 -1
- package/dist/{public/sdk/SeamsWordmark-DqiC9-sd.js → esm/sdk/SeamsWordmark-DwvPx2UA.js} +1 -1
- package/dist/esm/sdk/{accountLifecycle-gm9X8nGm.js → accountLifecycle-6DHYWf0v.js} +1 -1
- package/dist/esm/sdk/{adapters-e7twFGov.js → adapters-d9yh1bdC.js} +1 -1
- package/dist/esm/sdk/appearance-token-vars-BJydfWT_.js +1 -0
- package/dist/{public/sdk/clientSessionPersistenceState-YvVHKRoe.js → esm/sdk/clientSessionPersistenceState-BCkJAYSz.js} +1 -1
- package/dist/esm/sdk/{collectAuthenticationCredentialForChallengeB64u-DEtxiKND.js → collectAuthenticationCredentialForChallengeB64u-I4wq8OGq.js} +1 -1
- package/dist/esm/sdk/{commitQueue-CHJ7MHSI.js → commitQueue-CYruPlkm.js} +1 -1
- package/dist/esm/sdk/confirm-ui-nU6ymgiv.js +2 -0
- package/dist/esm/sdk/{device-linking-BsUTtSF7.js → device-linking-DiCNt3iA.js} +1 -1
- package/dist/esm/sdk/{deviceLinkApproval-DAZTjrud.js → deviceLinkApproval-CfEiotVt.js} +1 -1
- package/dist/esm/sdk/{display-BYzolrBs.js → display-D0EPmU4w.js} +1 -1
- package/dist/esm/sdk/{ecdsaCapabilityManifest-CXVq8Qzb.js → ecdsaCapabilityManifest-DAJEVjlP.js} +1 -1
- package/dist/esm/sdk/{ecdsaDerivationClientWasm-CVahDxLy.js → ecdsaDerivationClientWasm-AYOJgTJm.js} +1 -1
- package/dist/{public/sdk/ecdsaDerivationExport-CkmSe0ao.js → esm/sdk/ecdsaDerivationExport-DJKOzDbS.js} +1 -1
- package/dist/esm/sdk/{ecdsaWalletRecords-zRvHKRTe.js → ecdsaWalletRecords-WLyq414E.js} +1 -1
- package/dist/esm/sdk/{emailOtpEcdsaDerivationIdentity-0DIuRNRi.js → emailOtpEcdsaDerivationIdentity-HFQXc1Yw.js} +1 -1
- package/dist/esm/sdk/{enrichDisplayModelWithAbi-CLn37drs.js → enrichDisplayModelWithAbi-O6Mw4i2E.js} +1 -1
- package/dist/esm/sdk/errors-BJBDbwHk.js +1 -0
- package/dist/esm/sdk/{evmCryptoWasm-B_p82tx9.js → evmCryptoWasm-BUPb4hBH.js} +1 -1
- package/dist/esm/sdk/{export-viewer-host-3fosWJXJ.js → export-viewer-host-BtrKVXxu.js} +1 -1
- package/dist/esm/sdk/{exportKeypairOperation-pKQW5J7m.js → exportKeypairOperation-CGE9ZU1m.js} +1 -1
- package/dist/esm/sdk/host-DayrOrgm.js +1 -0
- package/dist/{public/sdk/icons-DDRXJ2W1.js → esm/sdk/icons-BlMXolHv.js} +1 -1
- package/dist/esm/sdk/{indexedDB-CWFDCCbP.js → indexedDB-C4SDsyOG.js} +1 -1
- package/dist/esm/sdk/{intentDigest-B6EshTea.js → intentDigest-HvRsBQ1z.js} +1 -1
- package/dist/esm/sdk/{lanes-C2sAP08w.js → lanes-BU-fGqY4.js} +1 -1
- package/dist/esm/sdk/{localOnly-Jw9v9GU9.js → localOnly-BATWJj78.js} +1 -1
- package/dist/{public/sdk/mountExportPrivateKeySurface-B_052qyI.js → esm/sdk/mountExportPrivateKeySurface-CyHU8bVc.js} +1 -1
- package/dist/esm/sdk/{mountRecoveryCodeBackupSurface-PutmFjf9.js → mountRecoveryCodeBackupSurface-C7aglQxf.js} +1 -1
- package/dist/esm/sdk/{nearEd25519YaoMaterialActivation-C2QNLImD.js → nearEd25519YaoMaterialActivation-BfXmy3Jr.js} +1 -1
- package/dist/{public/sdk/nearEd25519YaoSigningPreparation-K6n4Sq8_.js → esm/sdk/nearEd25519YaoSigningPreparation-DHNk0F8e.js} +1 -1
- package/dist/esm/sdk/nearRpcResults-CeHdqaS4.js +1 -0
- package/dist/esm/sdk/{nonceLaneKeys-CZjeiii7.js → nonceLaneKeys-BF_UpvIy.js} +1 -1
- package/dist/esm/sdk/{normalization-DA6o5MsH.js → normalization-Df9fZWJC.js} +1 -1
- package/dist/{public/sdk/pendingWalletRecoveryCodeBackup-B-n7vmBS.js → esm/sdk/pendingWalletRecoveryCodeBackup-Cjx-X-pP.js} +1 -1
- package/dist/esm/sdk/{presignaturePool-DjTaB0nx.js → presignaturePool-BbvqRWYw.js} +1 -1
- package/dist/{public/sdk/recovery-entrypoint-9e3SXU3t.js → esm/sdk/recovery-entrypoint-DJbMDC_m.js} +1 -1
- package/dist/esm/sdk/{registration-C988Nwzn.js → registration-CNLUYN-p.js} +1 -1
- package/dist/esm/sdk/{registration-D4AijOa8.js → registration-HSwOHZOo.js} +1 -1
- package/dist/esm/sdk/{registrationAccounts-DI_vcT7G.js → registrationAccounts-4r74gX1l.js} +1 -1
- package/dist/esm/sdk/registrationIntent-Do1tD1V7.js +1 -0
- package/dist/esm/sdk/{registrationSignerPlan-_8gsSjC0.js → registrationSignerPlan-DK2b3N_p.js} +1 -1
- package/dist/{public/sdk/requireStepUpAuth-DC9LSyRI.js → esm/sdk/requireStepUpAuth-COqCGb1i.js} +1 -1
- package/dist/esm/sdk/{resealedEnvelopeResult-BKATJaqW.js → resealedEnvelopeResult-B1p5UkYg.js} +1 -1
- package/dist/{public/sdk/routerAbNormalSigning-Da-uxxle.js → esm/sdk/routerAbNormalSigning-D-UZmCBS.js} +1 -1
- package/dist/esm/sdk/runtime-auth-BCoj7_-G.js +1 -0
- package/dist/esm/sdk/{runtime-device-link-DtjR-htE.js → runtime-device-link-DAsq5tGT.js} +1 -1
- package/dist/{public/sdk/runtime-ecdsa-tempo-BkUnzoX9.js → esm/sdk/runtime-ecdsa-tempo-CVh_Vwl6.js} +1 -1
- package/dist/{public/sdk/runtime-email-otp-CaxfpqKI.js → esm/sdk/runtime-email-otp-BxSKK9AG.js} +1 -1
- package/dist/esm/sdk/{runtime-export-Du5ugbzi.js → runtime-export-BWnQXMzT.js} +1 -1
- package/dist/esm/sdk/runtime-near-CuzPZrDS.js +1 -0
- package/dist/esm/sdk/runtime-preferences-B-nDWlm3.js +1 -0
- package/dist/esm/sdk/runtime-recovery-DpOdEJ8N.js +1 -0
- package/dist/esm/sdk/{runtime-recovery-codes-DKjOU32G.js → runtime-recovery-codes-DeUjQsxZ.js} +1 -1
- package/dist/esm/sdk/runtimeContext-5JcewRo3.js +6 -0
- package/dist/{public/sdk/secp256k1--vF2pJgR.js → esm/sdk/secp256k1-CE7-q9Sn.js} +1 -1
- package/dist/esm/sdk/sessionObservationRevision-JOvVF4Hf.js +1 -0
- package/dist/esm/sdk/{signEvmFamily-DeCQOBYN.js → signEvmFamily-BY5jlZEG.js} +1 -1
- package/dist/{public/sdk/signEvmFamilyWithUiConfirmForTempo-BIp-MeBV.js → esm/sdk/signEvmFamilyWithUiConfirmForTempo-CrMIAXUe.js} +1 -1
- package/dist/esm/sdk/{signEvmWithUiConfirm-BdLW7kqJ.js → signEvmWithUiConfirm-CGrLtMV6.js} +1 -1
- package/dist/esm/sdk/signNear-DMpJFkwF.js +1 -0
- package/dist/esm/sdk/{signatureUses-0z64Xpdj.js → signatureUses-kSrUHSSH.js} +1 -1
- package/dist/{public/sdk/signingFlow-C7fwkxPx.js → esm/sdk/signingFlow-BcetvUeS.js} +1 -1
- package/dist/{public/sdk/signingQueue-DvHGcaLc.js → esm/sdk/signingQueue-dMFOFOP5.js} +1 -1
- package/dist/esm/sdk/surface-measurement-reporter-DXsvq401.js +1 -0
- package/dist/esm/sdk/{thresholdEcdsa-CPVZNLEg.js → thresholdEcdsa-CqR1fFA-.js} +1 -1
- package/dist/esm/sdk/{trace-BQv7E-bO.js → trace--mRP2OQc.js} +1 -1
- package/dist/esm/sdk/{transaction-activity-olcDRay5.js → transaction-activity-DCzHGg3b.js} +1 -1
- package/dist/esm/sdk/{transactionReviewAdmission-DPxuDgkU.js → transactionReviewAdmission-Cf_qUZJt.js} +1 -1
- package/dist/esm/sdk/{transactionState-C8aYSDRA.js → transactionState-29T9xfvL.js} +1 -1
- package/dist/esm/sdk/tx-confirm-ui.js +173 -18
- package/dist/esm/sdk/{types-DOToeB6g.js → types-f7dyj5N6.js} +1 -1
- package/dist/esm/sdk/{unlockedEd25519ExportRootCapability-CFmunau5.js → unlockedEd25519ExportRootCapability-yzxQjIFd.js} +1 -1
- package/dist/esm/sdk/voiceid-host.js +1 -1
- package/dist/esm/sdk/wallet-iframe-host-ecdsa.js +1 -1
- package/dist/esm/sdk/wallet-iframe-host-full.js +1 -1
- package/dist/esm/sdk/wallet-iframe-host-near.js +1 -1
- package/dist/esm/sdk/wallet-iframe-host-runtime.js +1 -1
- package/dist/{public/sdk/wallet-recovery-jyfGoejZ.js → esm/sdk/wallet-recovery-BZB2Vu3X.js} +1 -1
- package/dist/esm/sdk/wallet-ui.css +1 -1
- package/dist/esm/sdk/{walletAuthMethodRecord-Bi78B6Ab.js → walletAuthMethodRecord-DLBB5fez.js} +1 -1
- package/dist/{public/sdk/walletAuthority-DGdC9Glh.js → esm/sdk/walletAuthority-BTGAuOi8.js} +1 -1
- package/dist/esm/sdk/{walletCapabilityBindings-BRdFdh3l.js → walletCapabilityBindings-D5YYB7nN.js} +1 -1
- package/dist/esm/sdk/{walletCustodyEcdsaContinuity-DdLNQs1M.js → walletCustodyEcdsaContinuity-C31YQ9av.js} +1 -1
- package/dist/{public/sdk/walletOwnershipGeneration-z9NXOk-b.js → esm/sdk/walletOwnershipGeneration-CgjCtPrV.js} +1 -1
- package/dist/{public/sdk/walletRecoveryAdminProof-hytB9fXI.js → esm/sdk/walletRecoveryAdminProof-CvSYbyg5.js} +1 -1
- package/dist/{public/sdk/walletRecoveryCommit-sr8-RYvn.js → esm/sdk/walletRecoveryCommit-Cc2LAkCS.js} +1 -1
- package/dist/esm/sdk/{walletSessionAuthorizationStore-BEJyERPZ.js → walletSessionAuthorizationStore-B9Vwkshr.js} +1 -1
- package/dist/esm/sdk/warmSessionHydration-B-A5Tdx7.js +1 -0
- package/dist/esm/sdk/{webauthnP256-DVlYEUsG.js → webauthnP256-BsQQPurm.js} +1 -1
- package/dist/esm/shared-ts/src/near/nearClient.js +1 -1
- package/dist/esm/shared-ts/src/utils/errors.js +50 -2
- package/dist/esm/shared-ts/src/utils/index.js +1 -1
- package/dist/esm/voiceid-host.js +1 -1
- package/dist/public/headers.manifest.json +1 -1
- package/dist/public/sdk/{ConfirmationDrawer-BmzikAr4.js → ConfirmationDrawer-AZruQmhP.js} +1 -1
- package/dist/public/sdk/{NonceCoordinator-CcD2FqXh.js → NonceCoordinator-3YhmDTS5.js} +1 -1
- package/dist/{esm/sdk/SeamsWordmark-DqiC9-sd.js → public/sdk/SeamsWordmark-DwvPx2UA.js} +1 -1
- package/dist/public/sdk/{accountLifecycle-gm9X8nGm.js → accountLifecycle-6DHYWf0v.js} +1 -1
- package/dist/public/sdk/{adapters-e7twFGov.js → adapters-d9yh1bdC.js} +1 -1
- package/dist/public/sdk/appearance-token-vars-BJydfWT_.js +1 -0
- package/dist/{esm/sdk/clientSessionPersistenceState-YvVHKRoe.js → public/sdk/clientSessionPersistenceState-BCkJAYSz.js} +1 -1
- package/dist/public/sdk/{collectAuthenticationCredentialForChallengeB64u-DEtxiKND.js → collectAuthenticationCredentialForChallengeB64u-I4wq8OGq.js} +1 -1
- package/dist/public/sdk/{commitQueue-CHJ7MHSI.js → commitQueue-CYruPlkm.js} +1 -1
- package/dist/public/sdk/confirm-ui-nU6ymgiv.js +2 -0
- package/dist/public/sdk/{device-linking-BsUTtSF7.js → device-linking-DiCNt3iA.js} +1 -1
- package/dist/public/sdk/{deviceLinkApproval-DAZTjrud.js → deviceLinkApproval-CfEiotVt.js} +1 -1
- package/dist/public/sdk/{display-BYzolrBs.js → display-D0EPmU4w.js} +1 -1
- package/dist/public/sdk/{ecdsaCapabilityManifest-CXVq8Qzb.js → ecdsaCapabilityManifest-DAJEVjlP.js} +1 -1
- package/dist/public/sdk/{ecdsaDerivationClientWasm-CVahDxLy.js → ecdsaDerivationClientWasm-AYOJgTJm.js} +1 -1
- package/dist/{esm/sdk/ecdsaDerivationExport-CkmSe0ao.js → public/sdk/ecdsaDerivationExport-DJKOzDbS.js} +1 -1
- package/dist/public/sdk/{ecdsaWalletRecords-zRvHKRTe.js → ecdsaWalletRecords-WLyq414E.js} +1 -1
- package/dist/public/sdk/{emailOtpEcdsaDerivationIdentity-0DIuRNRi.js → emailOtpEcdsaDerivationIdentity-HFQXc1Yw.js} +1 -1
- package/dist/public/sdk/{enrichDisplayModelWithAbi-CLn37drs.js → enrichDisplayModelWithAbi-O6Mw4i2E.js} +1 -1
- package/dist/public/sdk/errors-BJBDbwHk.js +1 -0
- package/dist/public/sdk/{evmCryptoWasm-B_p82tx9.js → evmCryptoWasm-BUPb4hBH.js} +1 -1
- package/dist/public/sdk/{export-viewer-host-3fosWJXJ.js → export-viewer-host-BtrKVXxu.js} +1 -1
- package/dist/public/sdk/{exportKeypairOperation-pKQW5J7m.js → exportKeypairOperation-CGE9ZU1m.js} +1 -1
- package/dist/public/sdk/host-DayrOrgm.js +1 -0
- package/dist/{esm/sdk/icons-DDRXJ2W1.js → public/sdk/icons-BlMXolHv.js} +1 -1
- package/dist/public/sdk/{indexedDB-CWFDCCbP.js → indexedDB-C4SDsyOG.js} +1 -1
- package/dist/public/sdk/{intentDigest-B6EshTea.js → intentDigest-HvRsBQ1z.js} +1 -1
- package/dist/public/sdk/{lanes-C2sAP08w.js → lanes-BU-fGqY4.js} +1 -1
- package/dist/public/sdk/{localOnly-Jw9v9GU9.js → localOnly-BATWJj78.js} +1 -1
- package/dist/{esm/sdk/mountExportPrivateKeySurface-B_052qyI.js → public/sdk/mountExportPrivateKeySurface-CyHU8bVc.js} +1 -1
- package/dist/public/sdk/{mountRecoveryCodeBackupSurface-PutmFjf9.js → mountRecoveryCodeBackupSurface-C7aglQxf.js} +1 -1
- package/dist/public/sdk/{nearEd25519YaoMaterialActivation-C2QNLImD.js → nearEd25519YaoMaterialActivation-BfXmy3Jr.js} +1 -1
- package/dist/{esm/sdk/nearEd25519YaoSigningPreparation-K6n4Sq8_.js → public/sdk/nearEd25519YaoSigningPreparation-DHNk0F8e.js} +1 -1
- package/dist/public/sdk/nearRpcResults-CeHdqaS4.js +1 -0
- package/dist/public/sdk/{nonceLaneKeys-CZjeiii7.js → nonceLaneKeys-BF_UpvIy.js} +1 -1
- package/dist/public/sdk/{normalization-DA6o5MsH.js → normalization-Df9fZWJC.js} +1 -1
- package/dist/{esm/sdk/pendingWalletRecoveryCodeBackup-B-n7vmBS.js → public/sdk/pendingWalletRecoveryCodeBackup-Cjx-X-pP.js} +1 -1
- package/dist/public/sdk/{presignaturePool-DjTaB0nx.js → presignaturePool-BbvqRWYw.js} +1 -1
- package/dist/{esm/sdk/recovery-entrypoint-9e3SXU3t.js → public/sdk/recovery-entrypoint-DJbMDC_m.js} +1 -1
- package/dist/public/sdk/{registration-C988Nwzn.js → registration-CNLUYN-p.js} +1 -1
- package/dist/public/sdk/{registration-D4AijOa8.js → registration-HSwOHZOo.js} +1 -1
- package/dist/public/sdk/{registrationAccounts-DI_vcT7G.js → registrationAccounts-4r74gX1l.js} +1 -1
- package/dist/public/sdk/registrationIntent-Do1tD1V7.js +1 -0
- package/dist/public/sdk/{registrationSignerPlan-_8gsSjC0.js → registrationSignerPlan-DK2b3N_p.js} +1 -1
- package/dist/{esm/sdk/requireStepUpAuth-DC9LSyRI.js → public/sdk/requireStepUpAuth-COqCGb1i.js} +1 -1
- package/dist/public/sdk/{resealedEnvelopeResult-BKATJaqW.js → resealedEnvelopeResult-B1p5UkYg.js} +1 -1
- package/dist/{esm/sdk/routerAbNormalSigning-Da-uxxle.js → public/sdk/routerAbNormalSigning-D-UZmCBS.js} +1 -1
- package/dist/public/sdk/runtime-auth-BCoj7_-G.js +1 -0
- package/dist/public/sdk/{runtime-device-link-DtjR-htE.js → runtime-device-link-DAsq5tGT.js} +1 -1
- package/dist/{esm/sdk/runtime-ecdsa-tempo-BkUnzoX9.js → public/sdk/runtime-ecdsa-tempo-CVh_Vwl6.js} +1 -1
- package/dist/{esm/sdk/runtime-email-otp-CaxfpqKI.js → public/sdk/runtime-email-otp-BxSKK9AG.js} +1 -1
- package/dist/public/sdk/{runtime-export-Du5ugbzi.js → runtime-export-BWnQXMzT.js} +1 -1
- package/dist/public/sdk/runtime-near-CuzPZrDS.js +1 -0
- package/dist/public/sdk/runtime-preferences-B-nDWlm3.js +1 -0
- package/dist/public/sdk/runtime-recovery-DpOdEJ8N.js +1 -0
- package/dist/public/sdk/{runtime-recovery-codes-DKjOU32G.js → runtime-recovery-codes-DeUjQsxZ.js} +1 -1
- package/dist/public/sdk/runtimeContext-5JcewRo3.js +6 -0
- package/dist/{esm/sdk/secp256k1--vF2pJgR.js → public/sdk/secp256k1-CE7-q9Sn.js} +1 -1
- package/dist/public/sdk/sessionObservationRevision-JOvVF4Hf.js +1 -0
- package/dist/public/sdk/{signEvmFamily-DeCQOBYN.js → signEvmFamily-BY5jlZEG.js} +1 -1
- package/dist/{esm/sdk/signEvmFamilyWithUiConfirmForTempo-BIp-MeBV.js → public/sdk/signEvmFamilyWithUiConfirmForTempo-CrMIAXUe.js} +1 -1
- package/dist/public/sdk/{signEvmWithUiConfirm-BdLW7kqJ.js → signEvmWithUiConfirm-CGrLtMV6.js} +1 -1
- package/dist/public/sdk/signNear-DMpJFkwF.js +1 -0
- package/dist/public/sdk/{signatureUses-0z64Xpdj.js → signatureUses-kSrUHSSH.js} +1 -1
- package/dist/{esm/sdk/signingFlow-C7fwkxPx.js → public/sdk/signingFlow-BcetvUeS.js} +1 -1
- package/dist/{esm/sdk/signingQueue-DvHGcaLc.js → public/sdk/signingQueue-dMFOFOP5.js} +1 -1
- package/dist/public/sdk/surface-measurement-reporter-DXsvq401.js +1 -0
- package/dist/public/sdk/{thresholdEcdsa-CPVZNLEg.js → thresholdEcdsa-CqR1fFA-.js} +1 -1
- package/dist/public/sdk/{trace-BQv7E-bO.js → trace--mRP2OQc.js} +1 -1
- package/dist/public/sdk/{transaction-activity-olcDRay5.js → transaction-activity-DCzHGg3b.js} +1 -1
- package/dist/public/sdk/{transactionReviewAdmission-DPxuDgkU.js → transactionReviewAdmission-Cf_qUZJt.js} +1 -1
- package/dist/public/sdk/{transactionState-C8aYSDRA.js → transactionState-29T9xfvL.js} +1 -1
- package/dist/public/sdk/tx-confirm-ui.js +173 -18
- package/dist/public/sdk/{types-DOToeB6g.js → types-f7dyj5N6.js} +1 -1
- package/dist/public/sdk/{unlockedEd25519ExportRootCapability-CFmunau5.js → unlockedEd25519ExportRootCapability-yzxQjIFd.js} +1 -1
- package/dist/public/sdk/voiceid-host.js +1 -1
- package/dist/public/sdk/wallet-iframe-host-ecdsa.js +1 -1
- package/dist/public/sdk/wallet-iframe-host-full.js +1 -1
- package/dist/public/sdk/wallet-iframe-host-near.js +1 -1
- package/dist/public/sdk/wallet-iframe-host-runtime.js +1 -1
- package/dist/{esm/sdk/wallet-recovery-jyfGoejZ.js → public/sdk/wallet-recovery-BZB2Vu3X.js} +1 -1
- package/dist/public/sdk/wallet-ui.css +1 -1
- package/dist/public/sdk/{walletAuthMethodRecord-Bi78B6Ab.js → walletAuthMethodRecord-DLBB5fez.js} +1 -1
- package/dist/{esm/sdk/walletAuthority-DGdC9Glh.js → public/sdk/walletAuthority-BTGAuOi8.js} +1 -1
- package/dist/public/sdk/{walletCapabilityBindings-BRdFdh3l.js → walletCapabilityBindings-D5YYB7nN.js} +1 -1
- package/dist/public/sdk/{walletCustodyEcdsaContinuity-DdLNQs1M.js → walletCustodyEcdsaContinuity-C31YQ9av.js} +1 -1
- package/dist/{esm/sdk/walletOwnershipGeneration-z9NXOk-b.js → public/sdk/walletOwnershipGeneration-CgjCtPrV.js} +1 -1
- package/dist/{esm/sdk/walletRecoveryAdminProof-hytB9fXI.js → public/sdk/walletRecoveryAdminProof-CvSYbyg5.js} +1 -1
- package/dist/{esm/sdk/walletRecoveryCommit-sr8-RYvn.js → public/sdk/walletRecoveryCommit-Cc2LAkCS.js} +1 -1
- package/dist/public/sdk/{walletSessionAuthorizationStore-BEJyERPZ.js → walletSessionAuthorizationStore-B9Vwkshr.js} +1 -1
- package/dist/public/sdk/warmSessionHydration-B-A5Tdx7.js +1 -0
- package/dist/public/sdk/{webauthnP256-DVlYEUsG.js → webauthnP256-BsQQPurm.js} +1 -1
- package/dist/public/wallet-assets.manifest.json +270 -246
- package/dist/public/wallet-service/index.html +4 -4
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/ui/auth-menu/mountAuthMenuSurface.d.ts +1 -0
- package/dist/types/wallet/src/SeamsWeb/walletIframe/shared/messages.d.ts +2 -0
- package/dist/types/wallet/src/core/authMethods/hostPlugin.d.ts +1 -0
- package/dist/types/wallet/src/core/rpcClients/near/NearClient.d.ts +13 -0
- package/dist/types/wallet/src/core/signingEngine/nearTransactionSubmission.d.ts +24 -0
- package/dist/types/wallet/src/core/signingEngine/uiConfirm/transactionReviewAdmission.d.ts +2 -0
- package/dist/types/wallet/src/core/types/linkDevice.d.ts +4 -5
- package/dist/types/wallet/src/core/types/seams.d.ts +15 -3
- package/dist/types/wallet/src/core/ui/messages.d.ts +1 -1
- package/dist/types/wallet/src/react/components/AccountMenuButton/icons/HoverArrowIcon.d.ts +2 -1
- package/dist/types/wallet/src/react/components/ExternalNearWalletIcon.d.ts +5 -0
- package/dist/types/wallet/src/react/components/HostedSeamsAuthMenu/WalletConnectorMenu.d.ts +31 -0
- package/dist/types/wallet/src/react/components/HostedSeamsAuthMenu/types.d.ts +4 -0
- package/dist/types/wallet/src/react/components/externalWalletBrandImages.d.ts +3 -0
- package/dist/types/wallet/src/react/components/theme/design-tokens.d.ts +2 -0
- package/dist/types/wallet/src/react/index.d.ts +2 -0
- package/dist/types/wallet/src/voiceid-host.d.ts +1 -1
- package/package.json +1 -1
- package/dist/esm/sdk/appearance-token-vars-EYbmnHsJ.js +0 -1
- package/dist/esm/sdk/confirm-ui-BpqwuMSl.js +0 -2
- package/dist/esm/sdk/errors-DLUmUo9m.js +0 -1
- package/dist/esm/sdk/host-aTcpYE27.js +0 -1
- package/dist/esm/sdk/registrationIntent-BVPp0k0k.js +0 -1
- package/dist/esm/sdk/runtime-auth-C_Y8gL_n.js +0 -1
- package/dist/esm/sdk/runtime-near-fas7U0MC.js +0 -1
- package/dist/esm/sdk/runtime-preferences-7-f34-by.js +0 -1
- package/dist/esm/sdk/runtime-recovery-DmY0ZJpf.js +0 -1
- package/dist/esm/sdk/runtimeContext-DF8MdfXl.js +0 -6
- package/dist/esm/sdk/sessionObservationRevision-DKTqqbGf.js +0 -1
- package/dist/esm/sdk/signNear-DMzOU4dX.js +0 -1
- package/dist/esm/sdk/surface-measurement-reporter-DvzNDnHy.js +0 -1
- package/dist/esm/sdk/warmSessionHydration-EstsrMF8.js +0 -1
- package/dist/public/sdk/appearance-token-vars-EYbmnHsJ.js +0 -1
- package/dist/public/sdk/confirm-ui-BpqwuMSl.js +0 -2
- package/dist/public/sdk/errors-DLUmUo9m.js +0 -1
- package/dist/public/sdk/host-aTcpYE27.js +0 -1
- package/dist/public/sdk/registrationIntent-BVPp0k0k.js +0 -1
- package/dist/public/sdk/runtime-auth-C_Y8gL_n.js +0 -1
- package/dist/public/sdk/runtime-near-fas7U0MC.js +0 -1
- package/dist/public/sdk/runtime-preferences-7-f34-by.js +0 -1
- package/dist/public/sdk/runtime-recovery-DmY0ZJpf.js +0 -1
- package/dist/public/sdk/runtimeContext-DF8MdfXl.js +0 -6
- package/dist/public/sdk/sessionObservationRevision-DKTqqbGf.js +0 -1
- package/dist/public/sdk/signNear-DMzOU4dX.js +0 -1
- package/dist/public/sdk/surface-measurement-reporter-DvzNDnHy.js +0 -1
- package/dist/public/sdk/warmSessionHydration-EstsrMF8.js +0 -1
- /package/dist/esm/sdk/{accountIds-Dj_0GoY-.js → accountIds-CW2BP-d9.js} +0 -0
- /package/dist/esm/sdk/{actions-BIdcxldy.js → actions-DrtSTGus.js} +0 -0
- /package/dist/esm/sdk/{appearance-CAIe7Qed.js → appearance-DL7c6bML.js} +0 -0
- /package/dist/esm/sdk/{authenticatorOptions-2_XK8aXv.js → authenticatorOptions-WCDKYRux.js} +0 -0
- /package/dist/esm/sdk/{authorizationAdmission-BYwaSZYV.js → authorizationAdmission-28jo_IVJ.js} +0 -0
- /package/dist/esm/sdk/{browser-B1qU6ouJ.js → browser-CKS7Tq2r.js} +0 -0
- /package/dist/esm/sdk/{bytes-CA0mv-bG.js → bytes-DXo6uALR.js} +0 -0
- /package/dist/esm/sdk/{canonicalSignerErrorCode-BHDPNkvJ.js → canonicalSignerErrorCode-CX5PBpkt.js} +0 -0
- /package/dist/esm/sdk/{challengeDelivery-DWix1oso.js → challengeDelivery-Dj9HrjW9.js} +0 -0
- /package/dist/esm/sdk/{confirmTypes-DmEPoxys.js → confirmTypes-BvVtQs-M.js} +0 -0
- /package/dist/esm/sdk/{csp-stylesheet-CHtV6HyK.js → csp-stylesheet-DUSqfXvZ.js} +0 -0
- /package/dist/esm/sdk/{digestEncoding-n8Kr2kow.js → digestEncoding-CqNXPZY9.js} +0 -0
- /package/dist/esm/sdk/{ecdsaChainTarget-Lh24LLyA.js → ecdsaChainTarget-Bm5X4k-V.js} +0 -0
- /package/dist/esm/sdk/{executeWorkerOperation-XmBNaxrV.js → executeWorkerOperation-C9FOCCR7.js} +0 -0
- /package/dist/esm/sdk/{helpers-dZehRP4i.js → helpers-Dubwo5uK.js} +0 -0
- /package/dist/esm/sdk/{jsonRpc-YKL5n8VL.js → jsonRpc-BVDv1wfm.js} +0 -0
- /package/dist/esm/sdk/{keccak-BArcwgbj.js → keccak-mS0Mejjx.js} +0 -0
- /package/dist/esm/sdk/{keyMaterialEnvelope-BsdlckmN.js → keyMaterialEnvelope-Dm2ZEilb.js} +0 -0
- /package/dist/esm/sdk/{normalization-dgJxtZKK.js → normalization-B3i1-rPQ.js} +0 -0
- /package/dist/esm/sdk/{operationFingerprint-DgpQfpM-.js → operationFingerprint-Bas59T7L.js} +0 -0
- /package/dist/esm/sdk/{presignatures-CjcyX_-F.js → presignatures-BCeq56DG.js} +0 -0
- /package/dist/esm/sdk/{prfCache-Ck1mh5YB.js → prfCache-DEHaUPSW.js} +0 -0
- /package/dist/esm/sdk/{profileAccountProjection-dvLchPBo.js → profileAccountProjection-C5sNt-s2.js} +0 -0
- /package/dist/esm/sdk/{promptText-BIv8lx7_.js → promptText-bcKcsSka.js} +0 -0
- /package/dist/esm/sdk/{recoveryAuthorization-CMVdZ5OR.js → recoveryAuthorization-CQsjb8Tm.js} +0 -0
- /package/dist/esm/sdk/{registrationAuthMethodInput-Be4Td0Ef.js → registrationAuthMethodInput-BR1WVbK3.js} +0 -0
- /package/dist/esm/sdk/{sdkSentEvents-QPs69K3s.js → sdkSentEvents-DjOlKtdW.js} +0 -0
- /package/dist/esm/sdk/{shared-hkHoIS9i.js → shared-CkHhXgFB.js} +0 -0
- /package/dist/esm/sdk/{signer-worker-CmCKlJ__.js → signer-worker-BNodGJKY.js} +0 -0
- /package/dist/esm/sdk/{signerDomain-BLnlQPAV.js → signerDomain-BAsLT3XN.js} +0 -0
- /package/dist/esm/sdk/{signerSlot-DgLzb3Ee.js → signerSlot-D2RZnb27.js} +0 -0
- /package/dist/esm/sdk/{types-COS7UL3R.js → types-C4OErbBf.js} +0 -0
- /package/dist/esm/sdk/{walletCustodyOperation-CAnT3Ww-.js → walletCustodyOperation-DimzAbCB.js} +0 -0
- /package/dist/esm/sdk/{walletSessionAuthorizationProjection-CMl69JGe.js → walletSessionAuthorizationProjection-BzUH6gHV.js} +0 -0
- /package/dist/esm/sdk/{walletSessionAuthorizationStatus-C_q9eiOH.js → walletSessionAuthorizationStatus-DG7DPcgR.js} +0 -0
- /package/dist/esm/sdk/{walletSessionFailure-ZfdbUAG-.js → walletSessionFailure-CxsVtroW.js} +0 -0
- /package/dist/esm/sdk/{webauthnPromptCoordinator-DMETRUcN.js → webauthnPromptCoordinator-npsSRD51.js} +0 -0
- /package/dist/public/sdk/{accountIds-Dj_0GoY-.js → accountIds-CW2BP-d9.js} +0 -0
- /package/dist/public/sdk/{actions-BIdcxldy.js → actions-DrtSTGus.js} +0 -0
- /package/dist/public/sdk/{appearance-CAIe7Qed.js → appearance-DL7c6bML.js} +0 -0
- /package/dist/public/sdk/{authenticatorOptions-2_XK8aXv.js → authenticatorOptions-WCDKYRux.js} +0 -0
- /package/dist/public/sdk/{authorizationAdmission-BYwaSZYV.js → authorizationAdmission-28jo_IVJ.js} +0 -0
- /package/dist/public/sdk/{browser-B1qU6ouJ.js → browser-CKS7Tq2r.js} +0 -0
- /package/dist/public/sdk/{bytes-CA0mv-bG.js → bytes-DXo6uALR.js} +0 -0
- /package/dist/public/sdk/{canonicalSignerErrorCode-BHDPNkvJ.js → canonicalSignerErrorCode-CX5PBpkt.js} +0 -0
- /package/dist/public/sdk/{challengeDelivery-DWix1oso.js → challengeDelivery-Dj9HrjW9.js} +0 -0
- /package/dist/public/sdk/{confirmTypes-DmEPoxys.js → confirmTypes-BvVtQs-M.js} +0 -0
- /package/dist/public/sdk/{csp-stylesheet-CHtV6HyK.js → csp-stylesheet-DUSqfXvZ.js} +0 -0
- /package/dist/public/sdk/{digestEncoding-n8Kr2kow.js → digestEncoding-CqNXPZY9.js} +0 -0
- /package/dist/public/sdk/{ecdsaChainTarget-Lh24LLyA.js → ecdsaChainTarget-Bm5X4k-V.js} +0 -0
- /package/dist/public/sdk/{executeWorkerOperation-XmBNaxrV.js → executeWorkerOperation-C9FOCCR7.js} +0 -0
- /package/dist/public/sdk/{helpers-dZehRP4i.js → helpers-Dubwo5uK.js} +0 -0
- /package/dist/public/sdk/{jsonRpc-YKL5n8VL.js → jsonRpc-BVDv1wfm.js} +0 -0
- /package/dist/public/sdk/{keccak-BArcwgbj.js → keccak-mS0Mejjx.js} +0 -0
- /package/dist/public/sdk/{keyMaterialEnvelope-BsdlckmN.js → keyMaterialEnvelope-Dm2ZEilb.js} +0 -0
- /package/dist/public/sdk/{normalization-dgJxtZKK.js → normalization-B3i1-rPQ.js} +0 -0
- /package/dist/public/sdk/{operationFingerprint-DgpQfpM-.js → operationFingerprint-Bas59T7L.js} +0 -0
- /package/dist/public/sdk/{presignatures-CjcyX_-F.js → presignatures-BCeq56DG.js} +0 -0
- /package/dist/public/sdk/{prfCache-Ck1mh5YB.js → prfCache-DEHaUPSW.js} +0 -0
- /package/dist/public/sdk/{profileAccountProjection-dvLchPBo.js → profileAccountProjection-C5sNt-s2.js} +0 -0
- /package/dist/public/sdk/{promptText-BIv8lx7_.js → promptText-bcKcsSka.js} +0 -0
- /package/dist/public/sdk/{recoveryAuthorization-CMVdZ5OR.js → recoveryAuthorization-CQsjb8Tm.js} +0 -0
- /package/dist/public/sdk/{registrationAuthMethodInput-Be4Td0Ef.js → registrationAuthMethodInput-BR1WVbK3.js} +0 -0
- /package/dist/public/sdk/{sdkSentEvents-QPs69K3s.js → sdkSentEvents-DjOlKtdW.js} +0 -0
- /package/dist/public/sdk/{shared-hkHoIS9i.js → shared-CkHhXgFB.js} +0 -0
- /package/dist/public/sdk/{signer-worker-CmCKlJ__.js → signer-worker-BNodGJKY.js} +0 -0
- /package/dist/public/sdk/{signerDomain-BLnlQPAV.js → signerDomain-BAsLT3XN.js} +0 -0
- /package/dist/public/sdk/{signerSlot-DgLzb3Ee.js → signerSlot-D2RZnb27.js} +0 -0
- /package/dist/public/sdk/{types-COS7UL3R.js → types-C4OErbBf.js} +0 -0
- /package/dist/public/sdk/{walletCustodyOperation-CAnT3Ww-.js → walletCustodyOperation-DimzAbCB.js} +0 -0
- /package/dist/public/sdk/{walletSessionAuthorizationProjection-CMl69JGe.js → walletSessionAuthorizationProjection-BzUH6gHV.js} +0 -0
- /package/dist/public/sdk/{walletSessionAuthorizationStatus-C_q9eiOH.js → walletSessionAuthorizationStatus-DG7DPcgR.js} +0 -0
- /package/dist/public/sdk/{walletSessionFailure-ZfdbUAG-.js → walletSessionFailure-CxsVtroW.js} +0 -0
- /package/dist/public/sdk/{webauthnPromptCoordinator-DMETRUcN.js → webauthnPromptCoordinator-npsSRD51.js} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
454b5591bcd47936d9aea9092966bd446c1e755578e6e1accdd9831099483a70
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { CAPABILITY_KINDS, NEAR_ED25519_MPC_OPERATION_KINDS } from "../../shared-ts/src/authorization/capabilityKinds.js";
|
|
2
2
|
import { toError } from "../../shared-ts/src/utils/errors.js";
|
|
3
|
+
import { nearTransactionFailure } from "../../core/signingEngine/nearTransactionSubmission.js";
|
|
3
4
|
import { requireBrowserCapabilityOperation } from "./capabilitySelection.js";
|
|
4
5
|
import { accountExists } from "../../core/rpcClients/near/accountExists.js";
|
|
5
6
|
import { delegateRelayerAuthFromConfigs, sendDelegateAction } from "../operations/near/delegateAction.js";
|
|
@@ -23,16 +24,21 @@ var NearSigner = class {
|
|
|
23
24
|
this.deps = deps;
|
|
24
25
|
}
|
|
25
26
|
async signAndSendTransaction(rawArgs) {
|
|
26
|
-
|
|
27
|
+
let subject;
|
|
28
|
+
try {
|
|
29
|
+
subject = await this.deps.currentWallet.nearSubject(rawArgs);
|
|
30
|
+
requireBrowserCapabilityOperation(this.deps.configs, {
|
|
31
|
+
capabilityKind: CAPABILITY_KINDS.nearEd25519MpcSigning,
|
|
32
|
+
operationKind: NEAR_ED25519_MPC_OPERATION_KINDS.signTransaction
|
|
33
|
+
});
|
|
34
|
+
} catch (error) {
|
|
35
|
+
return nearTransactionFailure(error, "not_submitted");
|
|
36
|
+
}
|
|
37
|
+
return this.deps.commands.signAndSendTransaction({
|
|
27
38
|
...rawArgs,
|
|
28
|
-
...
|
|
39
|
+
...subject,
|
|
29
40
|
options: rawArgs.options ?? {}
|
|
30
|
-
};
|
|
31
|
-
requireBrowserCapabilityOperation(this.deps.configs, {
|
|
32
|
-
capabilityKind: CAPABILITY_KINDS.nearEd25519MpcSigning,
|
|
33
|
-
operationKind: NEAR_ED25519_MPC_OPERATION_KINDS.signTransaction
|
|
34
41
|
});
|
|
35
|
-
return await this.deps.commands.signAndSendTransaction(args);
|
|
36
42
|
}
|
|
37
43
|
async signTransaction(rawArgs) {
|
|
38
44
|
const args = {
|
|
@@ -47,12 +53,17 @@ var NearSigner = class {
|
|
|
47
53
|
return await this.deps.commands.signTransaction(args);
|
|
48
54
|
}
|
|
49
55
|
async sendTransaction(rawArgs) {
|
|
50
|
-
|
|
56
|
+
let subject;
|
|
57
|
+
try {
|
|
58
|
+
subject = await this.deps.currentWallet.nearSubject(rawArgs);
|
|
59
|
+
} catch (error) {
|
|
60
|
+
return nearTransactionFailure(error, "not_submitted");
|
|
61
|
+
}
|
|
62
|
+
return this.deps.commands.sendTransaction({
|
|
51
63
|
...rawArgs,
|
|
52
|
-
...
|
|
64
|
+
...subject,
|
|
53
65
|
options: rawArgs.options ?? {}
|
|
54
|
-
};
|
|
55
|
-
return await this.deps.commands.sendTransaction(args);
|
|
66
|
+
});
|
|
56
67
|
}
|
|
57
68
|
async signDelegateAction(rawArgs) {
|
|
58
69
|
const args = {
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { toError } from "../../../shared-ts/src/utils/errors.js";
|
|
2
|
+
import { nearTransactionFailure, notifyNearTransactionResult } from "../../../core/signingEngine/nearTransactionSubmission.js";
|
|
2
3
|
//#region src/SeamsWeb/walletIframe/client/nearCommands.ts
|
|
3
4
|
function createApplicationNearCommands(walletIframe, beforeSigning, transactionDispatch) {
|
|
4
5
|
const commands = new ApplicationNearCommands(walletIframe, beforeSigning, transactionDispatch);
|
|
@@ -31,13 +32,12 @@ var ApplicationNearCommands = class {
|
|
|
31
32
|
transaction,
|
|
32
33
|
options: args.options
|
|
33
34
|
}, this.transactionDispatch);
|
|
34
|
-
await args.options
|
|
35
|
+
await notifyNearTransactionResult(args.options, result);
|
|
35
36
|
return result;
|
|
36
37
|
} catch (error) {
|
|
37
|
-
const
|
|
38
|
-
await args.options
|
|
39
|
-
|
|
40
|
-
throw e;
|
|
38
|
+
const result = nearTransactionFailure(error, "not_submitted");
|
|
39
|
+
await notifyNearTransactionResult(args.options, result);
|
|
40
|
+
return result;
|
|
41
41
|
}
|
|
42
42
|
}
|
|
43
43
|
async signTransaction(args) {
|
|
@@ -83,13 +83,12 @@ var ApplicationNearCommands = class {
|
|
|
83
83
|
...args.options && "waitUntil" in args.options ? { waitUntil: args.options.waitUntil } : {}
|
|
84
84
|
}
|
|
85
85
|
});
|
|
86
|
-
await args.options
|
|
86
|
+
await notifyNearTransactionResult(args.options, result);
|
|
87
87
|
return result;
|
|
88
88
|
} catch (error) {
|
|
89
|
-
const
|
|
90
|
-
await args.options
|
|
91
|
-
|
|
92
|
-
throw e;
|
|
89
|
+
const result = nearTransactionFailure(error, "not_submitted");
|
|
90
|
+
await notifyNearTransactionResult(args.options, result);
|
|
91
|
+
return result;
|
|
93
92
|
}
|
|
94
93
|
}
|
|
95
94
|
async signDelegateAction(args) {
|
|
@@ -3,6 +3,7 @@ import { extractBorshBytesFromPlainSignedTx, isBoolean, isObject, isPlainSignedT
|
|
|
3
3
|
import { parseMpcMaterialActivationRef } from "../../../shared-ts/src/utils/domainIds.js";
|
|
4
4
|
import { createIframePlacementCommands } from "./placementCommands.js";
|
|
5
5
|
import { toError } from "../../../shared-ts/src/utils/errors.js";
|
|
6
|
+
import { NearTransactionRequest, parseNearTransactionResult } from "../../../core/signingEngine/nearTransactionSubmission.js";
|
|
6
7
|
import { secureRandomBase36 } from "../../../shared-ts/src/utils/secureRandomId.js";
|
|
7
8
|
import { SignedTransaction } from "../../../core/rpcClients/near/NearClient.js";
|
|
8
9
|
import { thresholdEcdsaChainTargetsEqual, toWalletId } from "../../../core/signingEngine/interfaces/ecdsaChainTarget.js";
|
|
@@ -2463,31 +2464,39 @@ var WalletIframeRouter = class {
|
|
|
2463
2464
|
};
|
|
2464
2465
|
}
|
|
2465
2466
|
async signAndSendTransaction(payload, transactionDispatch = { kind: "ordinary" }) {
|
|
2466
|
-
|
|
2467
|
-
|
|
2468
|
-
|
|
2469
|
-
...payload
|
|
2470
|
-
|
|
2471
|
-
|
|
2472
|
-
|
|
2473
|
-
|
|
2474
|
-
|
|
2475
|
-
|
|
2476
|
-
|
|
2477
|
-
|
|
2478
|
-
|
|
2479
|
-
|
|
2480
|
-
|
|
2481
|
-
|
|
2482
|
-
|
|
2483
|
-
|
|
2484
|
-
|
|
2485
|
-
|
|
2486
|
-
|
|
2487
|
-
|
|
2488
|
-
|
|
2489
|
-
|
|
2490
|
-
|
|
2467
|
+
const request = new NearTransactionRequest({ kind: "sign_and_send" });
|
|
2468
|
+
try {
|
|
2469
|
+
if (transactionDispatch.kind === "reviewed") payload = {
|
|
2470
|
+
...payload,
|
|
2471
|
+
options: {
|
|
2472
|
+
...payload.options,
|
|
2473
|
+
confirmationConfig: transactionDispatch.reservation.confirmationConfig
|
|
2474
|
+
}
|
|
2475
|
+
};
|
|
2476
|
+
const { options } = payload;
|
|
2477
|
+
const safeOptions = {
|
|
2478
|
+
waitUntil: options.waitUntil,
|
|
2479
|
+
...options.voiceId !== void 0 ? { voiceId: options.voiceId } : {},
|
|
2480
|
+
confirmationConfig: options.confirmationConfig,
|
|
2481
|
+
...typeof options.signerSlot === "number" ? { signerSlot: options.signerSlot } : {},
|
|
2482
|
+
...options.confirmerText ? { confirmerText: options.confirmerText } : {}
|
|
2483
|
+
};
|
|
2484
|
+
return parseNearTransactionResult((await this.post({
|
|
2485
|
+
type: "PM_SIGN_AND_SEND_TX",
|
|
2486
|
+
payload: {
|
|
2487
|
+
walletId: payload.walletId,
|
|
2488
|
+
nearAccountId: payload.nearAccountId,
|
|
2489
|
+
transaction: payload.transaction,
|
|
2490
|
+
options: safeOptions
|
|
2491
|
+
},
|
|
2492
|
+
options: { onProgress: this.wrapOnEvent(options?.onEvent, isSigningFlowEvent) }
|
|
2493
|
+
}, {
|
|
2494
|
+
transactionDispatch,
|
|
2495
|
+
onDispatched: request.dispatched
|
|
2496
|
+
})).result);
|
|
2497
|
+
} catch (error) {
|
|
2498
|
+
return request.failed(error);
|
|
2499
|
+
}
|
|
2491
2500
|
}
|
|
2492
2501
|
async hasPasskeyCredential(walletId) {
|
|
2493
2502
|
return !!(await this.post({
|
|
@@ -2518,18 +2527,26 @@ var WalletIframeRouter = class {
|
|
|
2518
2527
|
})).result);
|
|
2519
2528
|
}
|
|
2520
2529
|
async sendTransaction(args) {
|
|
2521
|
-
const
|
|
2522
|
-
|
|
2523
|
-
|
|
2524
|
-
|
|
2525
|
-
|
|
2526
|
-
|
|
2527
|
-
|
|
2528
|
-
|
|
2529
|
-
|
|
2530
|
-
|
|
2531
|
-
|
|
2532
|
-
|
|
2530
|
+
const request = new NearTransactionRequest({
|
|
2531
|
+
kind: "send",
|
|
2532
|
+
transactionId: args.signedTransaction.transactionHash
|
|
2533
|
+
});
|
|
2534
|
+
try {
|
|
2535
|
+
const { options } = args;
|
|
2536
|
+
const safeOptions = options ? { waitUntil: options.waitUntil } : void 0;
|
|
2537
|
+
return parseNearTransactionResult((await this.post({
|
|
2538
|
+
type: "PM_SEND_TRANSACTION",
|
|
2539
|
+
payload: {
|
|
2540
|
+
walletId: args.walletId,
|
|
2541
|
+
nearAccountId: args.nearAccountId,
|
|
2542
|
+
signedTransaction: args.signedTransaction,
|
|
2543
|
+
options: safeOptions
|
|
2544
|
+
},
|
|
2545
|
+
options: { onProgress: this.wrapOnEvent(options?.onEvent, isSigningFlowEvent) }
|
|
2546
|
+
}, { onDispatched: request.dispatched })).result);
|
|
2547
|
+
} catch (error) {
|
|
2548
|
+
return request.failed(error);
|
|
2549
|
+
}
|
|
2533
2550
|
}
|
|
2534
2551
|
async resolveExactKeyExportLane(input) {
|
|
2535
2552
|
return parseResolveExactKeyExportLaneResult((await this.post({
|
|
@@ -2711,7 +2728,7 @@ var WalletIframeRouter = class {
|
|
|
2711
2728
|
requestId,
|
|
2712
2729
|
payload
|
|
2713
2730
|
});
|
|
2714
|
-
if (!this.reviews.has(requestId) && isWalletFlowEvent(payload) && payload.status === "cancelled") {
|
|
2731
|
+
if (!this.reviews.has(requestId) && this.state.pending.get(requestId)?.requestType !== "PM_SIGN_AND_SEND_TX" && this.state.pending.get(requestId)?.requestType !== "PM_SEND_TRANSACTION" && isWalletFlowEvent(payload) && payload.status === "cancelled") {
|
|
2715
2732
|
this.settlePendingRequestCancellation(requestId, false);
|
|
2716
2733
|
this.sendBestEffortCancel(requestId);
|
|
2717
2734
|
return;
|
|
@@ -2902,6 +2919,7 @@ var WalletIframeRouter = class {
|
|
|
2902
2919
|
options: void 0
|
|
2903
2920
|
};
|
|
2904
2921
|
this.state.port.postMessage(serializableFull);
|
|
2922
|
+
postOpts?.onDispatched?.();
|
|
2905
2923
|
} catch (err) {
|
|
2906
2924
|
this.state.pending.delete(requestId);
|
|
2907
2925
|
window.clearTimeout(timer);
|
|
@@ -3055,6 +3073,7 @@ function normalizeSignedTransactionResult(result) {
|
|
|
3055
3073
|
transaction: signedTransaction.transaction,
|
|
3056
3074
|
signature: signedTransaction.signature,
|
|
3057
3075
|
borsh_bytes: extractBorshBytesFromPlainSignedTx(signedTransaction),
|
|
3076
|
+
transactionHash: signedTransaction.transactionHash,
|
|
3058
3077
|
...nonceLease ? { nonceLease } : {},
|
|
3059
3078
|
...serverDispatch ? { serverDispatch } : {}
|
|
3060
3079
|
})
|
|
@@ -23,6 +23,7 @@ function sizeFromEntryOrElement(element, entry) {
|
|
|
23
23
|
function sizeForReporter(options, entry) {
|
|
24
24
|
if (options.kind === "request_scroll_surface") {
|
|
25
25
|
const rect = options.element.getBoundingClientRect();
|
|
26
|
+
if (options.element.classList.contains("seams-confirm-surface-pinned")) return sizeFromRect(rect);
|
|
26
27
|
return sizeFromRect({
|
|
27
28
|
width: Math.max(options.element.scrollWidth, rect.width),
|
|
28
29
|
height: Math.max(options.element.scrollHeight, rect.height)
|
|
@@ -753,7 +753,7 @@ var AuthMenuSurface = class extends Component {
|
|
|
753
753
|
"data-auth-menu-provider": "google",
|
|
754
754
|
disabled: !isAuthMenuGoogleActionReady(viewModel),
|
|
755
755
|
onClick: this.onGoogleClick,
|
|
756
|
-
children: [googleIcon(), /* @__PURE__ */ jsx("span", { children: /* @__PURE__ */ jsx(WalletText, { copy: viewModel.mode === "login" ? "
|
|
756
|
+
children: [googleIcon(), /* @__PURE__ */ jsx("span", { children: /* @__PURE__ */ jsx(WalletText, { copy: viewModel.mode === "login" ? "Unlock with email code" : "Continue with Google" }) })]
|
|
757
757
|
}) : null,
|
|
758
758
|
viewModel.mode === "login" && viewModel.accountOptions.some(voiceAvailableForWallet.bind(null, selectedLoginAccount(viewModel)?.walletId)) ? /* @__PURE__ */ jsxs("button", {
|
|
759
759
|
type: "button",
|
|
@@ -24,6 +24,7 @@ function authMenuStyles(document) {
|
|
|
24
24
|
var MountedAuthMenuSurface = class {
|
|
25
25
|
element;
|
|
26
26
|
styles;
|
|
27
|
+
entrance = [];
|
|
27
28
|
state;
|
|
28
29
|
constructor(input) {
|
|
29
30
|
const document = input.parent.ownerDocument;
|
|
@@ -39,11 +40,36 @@ var MountedAuthMenuSurface = class {
|
|
|
39
40
|
input.parent.appendChild(this.element);
|
|
40
41
|
try {
|
|
41
42
|
this.update(input.viewModel);
|
|
43
|
+
this.animateEntrance(input.initialHeightCssPx);
|
|
42
44
|
} catch (error) {
|
|
43
45
|
this.dispose();
|
|
44
46
|
throw error;
|
|
45
47
|
}
|
|
46
48
|
}
|
|
49
|
+
animateEntrance(initialHeightCssPx) {
|
|
50
|
+
if (initialHeightCssPx === void 0 || window.matchMedia("(prefers-reduced-motion: reduce)").matches) return;
|
|
51
|
+
const card = this.element.querySelector(".auth-menu-root");
|
|
52
|
+
if (!card) return;
|
|
53
|
+
const height = card.getBoundingClientRect().height;
|
|
54
|
+
this.entrance.push(card.animate([{
|
|
55
|
+
height: `${initialHeightCssPx}px`,
|
|
56
|
+
minHeight: "0px",
|
|
57
|
+
overflow: "hidden"
|
|
58
|
+
}, {
|
|
59
|
+
height: `${height}px`,
|
|
60
|
+
minHeight: "0px",
|
|
61
|
+
overflow: "hidden"
|
|
62
|
+
}], {
|
|
63
|
+
duration: 200,
|
|
64
|
+
easing: "cubic-bezier(0.32, 0.72, 0, 1)"
|
|
65
|
+
}));
|
|
66
|
+
for (const child of card.children) this.entrance.push(child.animate([{ opacity: 0 }, { opacity: 1 }], {
|
|
67
|
+
duration: 140,
|
|
68
|
+
delay: 60,
|
|
69
|
+
fill: "backwards",
|
|
70
|
+
easing: "cubic-bezier(0.25, 1, 0.5, 1)"
|
|
71
|
+
}));
|
|
72
|
+
}
|
|
47
73
|
update(viewModel) {
|
|
48
74
|
if (this.state.kind === "disposed") return;
|
|
49
75
|
this.element.lang = viewModel.appearance.locale ?? "en";
|
|
@@ -59,6 +85,8 @@ var MountedAuthMenuSurface = class {
|
|
|
59
85
|
dispose() {
|
|
60
86
|
if (this.state.kind === "disposed") return;
|
|
61
87
|
this.state = { kind: "disposed" };
|
|
88
|
+
for (const animation of this.entrance) animation.cancel();
|
|
89
|
+
this.entrance = [];
|
|
62
90
|
this.element.removeEventListener("cancel", this.cancel);
|
|
63
91
|
render(null, this.element);
|
|
64
92
|
this.styles.deleteDynamicRule(this.element.id + "-appearance");
|
|
@@ -203,6 +203,7 @@ function parseHostedAuthMenuOpenRequest(value) {
|
|
|
203
203
|
"kind",
|
|
204
204
|
"authMenuSessionId",
|
|
205
205
|
"initialMode",
|
|
206
|
+
"initialHeightCssPx",
|
|
206
207
|
"loginTarget",
|
|
207
208
|
"registrationAccountInput",
|
|
208
209
|
"showRegistrationInput",
|
|
@@ -212,6 +213,8 @@ function parseHostedAuthMenuOpenRequest(value) {
|
|
|
212
213
|
]) || !hasOnlyHostedAuthMenuCopyKeys(record.copy)) return null;
|
|
213
214
|
const authMenuSessionId = hostedAuthMenuSessionIdFromBoundary(record.authMenuSessionId);
|
|
214
215
|
const initialMode = parseAuthMenuMode(record.initialMode);
|
|
216
|
+
const initialHeightCssPx = record.initialHeightCssPx;
|
|
217
|
+
if (initialHeightCssPx !== void 0 && (typeof initialHeightCssPx !== "number" || !Number.isFinite(initialHeightCssPx) || initialHeightCssPx <= 0)) return null;
|
|
215
218
|
const loginTargetRecord = recordFromBoundary(record.loginTarget);
|
|
216
219
|
const loginWalletId = loginTargetRecord?.kind === "wallet" || loginTargetRecord?.kind === "wallet_sync" ? parseWalletId(loginTargetRecord.walletId) : null;
|
|
217
220
|
const loginTarget = loginTargetRecord?.kind === "discoverable" && hasOnlyKeys(loginTargetRecord, ["kind"]) ? { kind: "discoverable" } : loginTargetRecord?.kind === "wallet" && hasOnlyKeys(loginTargetRecord, ["kind", "walletId"]) && loginWalletId?.ok ? {
|
|
@@ -228,6 +231,7 @@ function parseHostedAuthMenuOpenRequest(value) {
|
|
|
228
231
|
kind: "hosted_auth_menu_open_v1",
|
|
229
232
|
authMenuSessionId,
|
|
230
233
|
initialMode,
|
|
234
|
+
initialHeightCssPx,
|
|
231
235
|
loginTarget,
|
|
232
236
|
registrationAccountInput,
|
|
233
237
|
showRegistrationInput: record.showRegistrationInput,
|
|
@@ -242,6 +246,7 @@ function buildHostedAuthMenuOpenRequest(args) {
|
|
|
242
246
|
if (!argsRecord || !hasOnlyKeys(argsRecord, [
|
|
243
247
|
"authMenuSessionId",
|
|
244
248
|
"initialMode",
|
|
249
|
+
"initialHeightCssPx",
|
|
245
250
|
"loginTarget",
|
|
246
251
|
"registrationAccountInput",
|
|
247
252
|
"showRegistrationInput",
|
|
@@ -255,6 +260,7 @@ function buildHostedAuthMenuOpenRequest(args) {
|
|
|
255
260
|
kind: "hosted_auth_menu_open_v1",
|
|
256
261
|
authMenuSessionId: parsedSessionId,
|
|
257
262
|
initialMode: args.initialMode ?? "login",
|
|
263
|
+
initialHeightCssPx: args.initialHeightCssPx,
|
|
258
264
|
loginTarget: args.loginTarget ?? { kind: "discoverable" },
|
|
259
265
|
registrationAccountInput: args.registrationAccountInput ?? "implicit_wallet",
|
|
260
266
|
showRegistrationInput: args.showRegistrationInput ?? false,
|
|
@@ -1,13 +1,20 @@
|
|
|
1
|
+
import { requireCanonicalString } from "../../../shared-ts/src/utils/validation.js";
|
|
1
2
|
import { errorMessage } from "../../../shared-ts/src/utils/errors.js";
|
|
2
3
|
import { NearJsonRpcClient, SignedTransaction as SignedTransaction$1 } from "../../../shared-ts/src/near/nearClient.js";
|
|
3
4
|
import { NearRpcError } from "./NearRpcError.js";
|
|
4
5
|
//#region src/core/rpcClients/near/NearClient.ts
|
|
5
6
|
var SignedTransaction = class SignedTransaction extends SignedTransaction$1 {
|
|
7
|
+
transactionHash;
|
|
8
|
+
constructor(input) {
|
|
9
|
+
super(input);
|
|
10
|
+
this.transactionHash = input.transactionHash;
|
|
11
|
+
}
|
|
6
12
|
static fromPlain(input) {
|
|
7
13
|
return new SignedTransaction({
|
|
8
14
|
transaction: input.transaction,
|
|
9
15
|
signature: input.signature,
|
|
10
16
|
borsh_bytes: input.borsh_bytes,
|
|
17
|
+
transactionHash: requireCanonicalString(input.transactionHash, "signed transaction hash"),
|
|
11
18
|
...input.nonceLease ? { nonceLease: input.nonceLease } : {},
|
|
12
19
|
...input.serverDispatch ? { serverDispatch: input.serverDispatch } : {}
|
|
13
20
|
});
|
|
@@ -908,12 +908,15 @@ function toSignedTransactionResult(args) {
|
|
|
908
908
|
const signedTx = signedTransactions[0];
|
|
909
909
|
if (!signedTx || !signedTx.transaction || !signedTx.signature) throw new Error("Incomplete signed transaction data received");
|
|
910
910
|
const nonceLease = args.nonceLeases?.[0];
|
|
911
|
+
const transactionHash = args.okResponse.payload.transactionHashes?.[0];
|
|
912
|
+
if (!transactionHash) throw new Error("Signed transaction is missing its hash");
|
|
911
913
|
const serverDispatch = signedTx.serverDispatch;
|
|
912
914
|
return {
|
|
913
915
|
signedTransaction: new SignedTransaction({
|
|
914
916
|
transaction: signedTx.transaction,
|
|
915
917
|
signature: signedTx.signature,
|
|
916
918
|
borsh_bytes: Array.from(signedTx.borshBytes || []),
|
|
919
|
+
transactionHash,
|
|
917
920
|
...nonceLease ? { nonceLease } : {},
|
|
918
921
|
...serverDispatch ? { serverDispatch } : {}
|
|
919
922
|
}),
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { requireCanonicalString, requireNonEmptyString, requireRecord } from "../../shared-ts/src/utils/validation.js";
|
|
2
|
+
import { safeErrorMessage } from "../../shared-ts/src/utils/errors.js";
|
|
3
|
+
import { decodeNearFinalExecutionOutcome } from "../../shared-ts/src/utils/nearRpcResults.js";
|
|
4
|
+
//#region src/core/signingEngine/nearTransactionSubmission.ts
|
|
5
|
+
var NearTransactionRequest = class {
|
|
6
|
+
state = "not_dispatched";
|
|
7
|
+
constructor(transaction) {
|
|
8
|
+
this.transaction = transaction;
|
|
9
|
+
}
|
|
10
|
+
dispatched = () => {
|
|
11
|
+
this.state = "dispatched";
|
|
12
|
+
};
|
|
13
|
+
failed(error) {
|
|
14
|
+
if (this.state === "not_dispatched") return nearTransactionFailure(error, "not_submitted");
|
|
15
|
+
switch (this.transaction.kind) {
|
|
16
|
+
case "sign_and_send": return nearTransactionFailure(error, "submission_unknown");
|
|
17
|
+
case "send": return unresolvedNearTransaction(this.transaction.transactionId, error);
|
|
18
|
+
default: return assertNeverNearTransactionState(this.transaction);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
function assertNeverNearTransactionState(value) {
|
|
23
|
+
throw new Error(`Unsupported NEAR transaction state: ${String(value)}`);
|
|
24
|
+
}
|
|
25
|
+
function parseNearTransactionResult(raw) {
|
|
26
|
+
const result = requireRecord(raw, "NEAR transaction result");
|
|
27
|
+
if (result.success === true) {
|
|
28
|
+
const transactionId = requireCanonicalString(result.transactionId, "transactionId");
|
|
29
|
+
const outcome = decodeNearFinalExecutionOutcome(result.result);
|
|
30
|
+
if (transactionId !== outcome.transaction.hash) throw new Error("NEAR transaction result contains different transaction hashes");
|
|
31
|
+
if (typeof outcome.status === "object" && "Failure" in outcome.status) return unresolvedNearTransaction(transactionId, /* @__PURE__ */ new Error("NEAR transaction execution failed"));
|
|
32
|
+
return {
|
|
33
|
+
success: true,
|
|
34
|
+
transactionId,
|
|
35
|
+
result: outcome
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
if (result.success !== false) throw new Error("Invalid NEAR transaction result");
|
|
39
|
+
const error = requireNonEmptyString(result.error, "NEAR transaction error");
|
|
40
|
+
switch (result.kind) {
|
|
41
|
+
case "not_submitted": return {
|
|
42
|
+
success: false,
|
|
43
|
+
kind: "not_submitted",
|
|
44
|
+
error
|
|
45
|
+
};
|
|
46
|
+
case "submission_unknown": return {
|
|
47
|
+
success: false,
|
|
48
|
+
kind: "submission_unknown",
|
|
49
|
+
error
|
|
50
|
+
};
|
|
51
|
+
case "unresolved": return {
|
|
52
|
+
success: false,
|
|
53
|
+
kind: "unresolved",
|
|
54
|
+
transactionId: requireCanonicalString(result.transactionId, "transactionId"),
|
|
55
|
+
error
|
|
56
|
+
};
|
|
57
|
+
default: throw new Error("Invalid NEAR transaction failure");
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
function nearTransactionFailure(error, fallback) {
|
|
61
|
+
return {
|
|
62
|
+
success: false,
|
|
63
|
+
kind: fallback,
|
|
64
|
+
error: safeErrorMessage(error) || "NEAR transaction failed"
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
function unresolvedNearTransaction(transactionId, error) {
|
|
68
|
+
return {
|
|
69
|
+
success: false,
|
|
70
|
+
kind: "unresolved",
|
|
71
|
+
transactionId,
|
|
72
|
+
error: safeErrorMessage(error)
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
/** Application hooks cannot replace a settled transaction outcome with their own error. */
|
|
76
|
+
async function notifyNearTransactionResult(options, result) {
|
|
77
|
+
const error = result.success ? void 0 : new Error(result.error);
|
|
78
|
+
if (error) try {
|
|
79
|
+
await options?.onError?.(error);
|
|
80
|
+
} catch {}
|
|
81
|
+
try {
|
|
82
|
+
if (result.success) await options?.afterCall?.(true, result);
|
|
83
|
+
else await options?.afterCall?.(false, void 0, error);
|
|
84
|
+
} catch {}
|
|
85
|
+
}
|
|
86
|
+
//#endregion
|
|
87
|
+
export { NearTransactionRequest, nearTransactionFailure, notifyNearTransactionResult, parseNearTransactionResult };
|
|
88
|
+
|
|
89
|
+
//# sourceMappingURL=nearTransactionSubmission.js.map
|
|
@@ -299,7 +299,7 @@ function attachConfirmSurfaceResizeChoreographer(element, options = {}) {
|
|
|
299
299
|
current.moved = true;
|
|
300
300
|
} else current.framesSinceChange += 1;
|
|
301
301
|
const progress = clamp((viewportPx - current.originHostPx) / current.deltaCssPx, 0, 1);
|
|
302
|
-
if (
|
|
302
|
+
if (viewportPx === Math.round(current.originHostPx + current.deltaCssPx)) {
|
|
303
303
|
current.framesAtTarget += 1;
|
|
304
304
|
if (current.sawIntermediate || current.framesAtTarget >= LANDING_CONFIRM_FRAMES) {
|
|
305
305
|
settle();
|
|
@@ -310,7 +310,7 @@ function attachConfirmSurfaceResizeChoreographer(element, options = {}) {
|
|
|
310
310
|
}
|
|
311
311
|
if (current.framesAtTarget > 0) surfaceMotionDiagnostics.blipFrames += 1;
|
|
312
312
|
current.framesAtTarget = 0;
|
|
313
|
-
if (progress > 0) current.sawIntermediate = true;
|
|
313
|
+
if (progress > 0 && progress < 1) current.sawIntermediate = true;
|
|
314
314
|
current.driver.setProgress(progress);
|
|
315
315
|
const settledFrames = current.moved ? SETTLED_FRAMES_AFTER_MOTION : SETTLED_FRAMES_WITHOUT_MOTION;
|
|
316
316
|
if (current.framesSinceChange >= settledFrames) {
|
|
@@ -69,8 +69,14 @@ var ReviewDisclosure = class extends Component {
|
|
|
69
69
|
return;
|
|
70
70
|
}
|
|
71
71
|
details.open = true;
|
|
72
|
+
const scrollArea = details.parentElement?.closest(".seams-review-technical > div");
|
|
73
|
+
if (scrollArea && scrollArea.scrollHeight > scrollArea.clientHeight) {
|
|
74
|
+
details.open = opening;
|
|
75
|
+
details.removeAttribute("data-closing");
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
72
78
|
details.setAttribute("data-resizing", "");
|
|
73
|
-
const target = opening ? body.
|
|
79
|
+
const target = opening ? body.getBoundingClientRect().height : 0;
|
|
74
80
|
this.motion = {
|
|
75
81
|
kind: "hosted",
|
|
76
82
|
opening
|