@seams/wallet 0.8.0 → 0.9.1
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 +140 -254
- package/THIRD_PARTY_NOTICES.md +7 -1
- package/dist/.build-inputs.sha256 +1 -1
- package/dist/esm/SeamsWeb/SeamsWeb.js +98 -1825
- package/dist/esm/SeamsWeb/assembly/createWalletIframeRouter.js +4 -15
- package/dist/esm/SeamsWeb/index.js +2 -2
- package/dist/esm/SeamsWeb/operations/devices/scanDevice.js +3 -361
- package/dist/esm/SeamsWeb/operations/near/delegateAction.js +18 -106
- package/dist/esm/SeamsWeb/operations/recovery/walletRecovery.js +3 -3
- package/dist/esm/SeamsWeb/operations/recovery/walletRecoveryCommit.js +8 -209
- package/dist/esm/SeamsWeb/operations/recovery/walletRecoveryDurablePayload.js +5 -5
- package/dist/esm/SeamsWeb/operations/recovery/walletRecoveryJournal.js +2 -64
- package/dist/esm/SeamsWeb/operations/tempo/executeEvmFamilyTransaction.js +1 -1
- package/dist/esm/SeamsWeb/operations/tempo/index.js +1 -13
- package/dist/esm/SeamsWeb/publicApi/auth.js +3 -19
- package/dist/esm/SeamsWeb/publicApi/createPublicApi.js +59 -94
- package/dist/esm/SeamsWeb/publicApi/currentWallet.js +1 -1
- package/dist/esm/SeamsWeb/publicApi/devices.js +33 -64
- package/dist/esm/SeamsWeb/publicApi/evm.js +28 -93
- package/dist/esm/SeamsWeb/publicApi/keyExport.js +26 -52
- package/dist/esm/SeamsWeb/publicApi/near.js +140 -435
- package/dist/esm/SeamsWeb/publicApi/placement.js +206 -0
- package/dist/esm/SeamsWeb/publicApi/session.js +13 -0
- package/dist/esm/SeamsWeb/publicApi/tempo.js +64 -221
- package/dist/esm/SeamsWeb/publicApi/{awaitNearReady.js → waitForNearAccount.js} +12 -12
- package/dist/esm/SeamsWeb/walletIframe/client/deviceCommands.js +50 -0
- package/dist/esm/SeamsWeb/walletIframe/client/emailOtpCommands.js +25 -0
- package/dist/esm/SeamsWeb/walletIframe/client/evmFamilyCommands.js +118 -0
- package/dist/esm/SeamsWeb/walletIframe/client/inboundMessages.js +223 -0
- package/dist/esm/SeamsWeb/walletIframe/client/nearCommands.js +153 -0
- package/dist/esm/SeamsWeb/walletIframe/client/overlay/overlay-styles.js +2 -2
- package/dist/esm/SeamsWeb/walletIframe/client/placementCommands.js +65 -0
- package/dist/esm/SeamsWeb/walletIframe/client/preferenceState.js +93 -0
- package/dist/esm/SeamsWeb/walletIframe/client/preferences.js +117 -0
- package/dist/esm/SeamsWeb/walletIframe/client/registrationCommands.js +92 -0
- package/dist/esm/SeamsWeb/walletIframe/client/router.js +241 -583
- package/dist/esm/SeamsWeb/walletIframe/client/sessionCommands.js +61 -0
- package/dist/esm/SeamsWeb/walletIframe/coordinator.js +175 -134
- package/dist/esm/SeamsWeb/walletIframe/host/ui/auth-menu/AuthMenuSurface.js +13 -1
- package/dist/esm/SeamsWeb/walletIframe/host/ui/auth-menu/mountAuthMenuSurface.js +1 -1
- package/dist/esm/SeamsWeb/walletIframe/shared/configuration.js +37 -0
- package/dist/esm/SeamsWeb/walletIframe/shared/exactSessionState.js +31 -11
- package/dist/esm/SeamsWeb/walletIframe/shared/facadeBoundary.js +96 -0
- package/dist/esm/SeamsWeb/walletIframe/shared/messages.js +6 -32
- package/dist/esm/advanced.js +3 -3
- package/dist/esm/build-paths.js +0 -4
- package/dist/esm/core/accountData/near/accountProjection.js +3 -3
- package/dist/esm/core/accountData/near/keyMaterial.js +2 -2
- package/dist/esm/core/config/chains.js +1 -28
- package/dist/esm/core/config/configBuilder.js +3 -14
- package/dist/esm/core/config/defaultConfigs.js +4 -6
- package/dist/esm/core/{signingEngine/workerManager/ecdsaPresignLifecycle.js → config/presignatures.js} +2 -2
- package/dist/esm/core/diagnostics/registration.js +8 -0
- package/dist/esm/core/indexedDB/accountKeyMaterial.js +1 -1
- package/dist/esm/core/indexedDB/linkedAuthoritySignerMaterial.js +4 -125
- package/dist/esm/core/indexedDB/normalization.js +7 -1
- package/dist/esm/core/indexedDB/pendingWalletRecoveryCommit.js +1 -1
- package/dist/esm/core/indexedDB/pendingWalletRegistrationCommit.js +3 -41
- package/dist/esm/core/indexedDB/seamsWalletDB/accountSignerRows.js +261 -0
- package/dist/esm/core/indexedDB/seamsWalletDB/ecdsaCapabilityManifestLookups.js +2 -201
- package/dist/esm/core/indexedDB/seamsWalletDB/ecdsaCapabilityManifestRecords.js +5 -736
- package/dist/esm/core/indexedDB/seamsWalletDB/ecdsaCapabilityManifestStore.js +6 -1084
- package/dist/esm/core/indexedDB/seamsWalletDB/ecdsaClientPresignatures.js +20 -138
- package/dist/esm/core/indexedDB/seamsWalletDB/manager.js +100 -4
- package/dist/esm/core/indexedDB/seamsWalletDB/nonceLeaseRows.js +156 -0
- package/dist/esm/core/indexedDB/seamsWalletDB/registrationSetup.js +4 -11
- package/dist/esm/core/indexedDB/seamsWalletDB/repositories.js +91 -547
- package/dist/esm/core/indexedDB/seamsWalletDB/signerOutboxRows.js +90 -0
- package/dist/esm/core/indexedDB/seamsWalletDB/walletCustodyEcdsaContinuity.js +7 -92
- package/dist/esm/core/indexedDB/seamsWalletDB/walletOwnershipGeneration.js +43 -0
- package/dist/esm/core/indexedDB/seamsWalletDB/walletSessionAuthorizationStore.js +103 -157
- package/dist/esm/core/indexedDB/unifiedIndexedDBManager.js +2 -1
- package/dist/esm/core/indexedDB/walletCustodyEd25519MaterialRecord.js +1 -1
- package/dist/esm/core/rpcClients/evm/nonceBackend.js +1 -176
- package/dist/esm/core/rpcClients/near/accountExists.js +34 -0
- package/dist/esm/core/rpcClients/relayer/ecdsaPrepareSession.js +42 -0
- package/dist/esm/core/rpcClients/relayer/relayerHttp.js +31 -1
- package/dist/esm/core/rpcClients/relayer/routerAbNormalSigning.js +47 -11
- package/dist/esm/core/rpcClients/relayer/walletRecoveryFinalize.js +2 -48
- package/dist/esm/core/rpcClients/relayer/walletRecoveryPrepare.js +9 -9
- package/dist/esm/core/rpcClients/relayer/walletRecoveryRotate.js +1 -223
- package/dist/esm/core/rpcClients/relayer/walletRegistration.js +36 -2197
- package/dist/esm/core/rpcClients/relayer/walletSessionAuthorizationStatus.js +145 -14
- package/dist/esm/core/signingEngine/chains/evm/evmAdapter.js +1 -1
- package/dist/esm/core/signingEngine/chains/near/display.js +1 -27
- package/dist/esm/core/signingEngine/chains/near/nearSignerWasm.js +2 -2
- package/dist/esm/core/signingEngine/flows/registration/accountLifecycle.js +6 -39
- package/dist/esm/core/signingEngine/flows/shared/signingConfirmation.js +2 -2
- package/dist/esm/core/signingEngine/flows/shared/signingStateMachine.js +1 -11
- package/dist/esm/core/signingEngine/flows/signEvmFamily/authPlanning.js +2 -2
- package/dist/esm/core/signingEngine/flows/signEvmFamily/ecdsaSelection.js +3 -3
- package/dist/esm/core/signingEngine/flows/signEvmFamily/emailOtpSigningSession.js +3 -136
- package/dist/esm/core/signingEngine/flows/signEvmFamily/freshWalletSessionRetry.js +1 -1
- package/dist/esm/core/signingEngine/flows/signEvmFamily/operationIds.js +1 -1
- package/dist/esm/core/signingEngine/flows/signEvmFamily/preparedSigning.js +2 -3
- package/dist/esm/core/signingEngine/flows/signEvmFamily/readySecp256k1Material.js +40 -5
- package/dist/esm/core/signingEngine/flows/signEvmFamily/signEvmFamily.js +4 -4
- package/dist/esm/core/signingEngine/flows/signEvmFamily/signers/ecdsaDerivationClientSigningMaterialSource.js +1 -1
- package/dist/esm/core/signingEngine/flows/signEvmFamily/signers/secp256k1.js +27 -53
- package/dist/esm/core/signingEngine/flows/signEvmFamily/signingFlow.js +5 -5
- package/dist/esm/core/signingEngine/flows/signEvmFamily/signingFlowRuntime.js +40 -33
- package/dist/esm/core/signingEngine/flows/signEvmFamily/thresholdAdmission.js +8 -2
- package/dist/esm/core/signingEngine/flows/signNear/implicitAccountFunding.js +1 -1
- package/dist/esm/core/signingEngine/flows/signNear/shared/ed25519YaoNormalSigning.js +177 -68
- package/dist/esm/core/signingEngine/flows/signNear/shared/implicitAccountFundingPort.js +1 -8
- package/dist/esm/core/signingEngine/flows/signNear/shared/operationStepUpPreparation.js +1 -38
- package/dist/esm/core/signingEngine/flows/signNear/shared/signatureOnlySigning.js +53 -8
- package/dist/esm/core/signingEngine/flows/signNear/signDelegate.js +5 -5
- package/dist/esm/core/signingEngine/flows/signNear/signNear.js +30 -44
- package/dist/esm/core/signingEngine/flows/signNear/signNep413.js +21 -12
- package/dist/esm/core/signingEngine/flows/signNear/signTransactions.js +59 -11
- package/dist/esm/core/signingEngine/interfaces/ecdsaChainTarget.js +1 -1
- package/dist/esm/core/signingEngine/nonce/nonceLaneKeys.js +1 -35
- package/dist/esm/core/signingEngine/nonce/nonceTypes.js +2 -26
- package/dist/esm/core/signingEngine/routerAb/ecdsaDerivation/httpRequest.js +4 -3
- package/dist/esm/core/signingEngine/routerAb/ecdsaDerivation/poolFillRoutes.js +5 -1
- package/dist/esm/core/signingEngine/routerAb/ecdsaDerivation/presignaturePool.js +112 -162
- package/dist/esm/core/signingEngine/routerAb/ecdsaDerivation/presignaturePoolPolicy.js +31 -0
- package/dist/esm/core/signingEngine/routerAb/ecdsaDerivation/signingMaterialRef.js +1 -1
- package/dist/esm/core/signingEngine/session/availability/availableSigningLanes.js +3 -913
- package/dist/esm/core/signingEngine/session/emailOtp/challengeDelivery.js +1 -45
- package/dist/esm/core/signingEngine/session/emailOtp/ecdsaSigningSessionAuthority.js +1 -81
- package/dist/esm/core/signingEngine/session/identity/clientSessionPersistenceState.js +1 -43
- package/dist/esm/core/signingEngine/session/identity/emailOtpEcdsaDerivationIdentity.js +1 -9
- package/dist/esm/core/signingEngine/session/identity/evmFamilyEcdsaIdentity.js +3 -125
- package/dist/esm/core/signingEngine/session/identity/exactSigningLaneIdentity.js +3 -19
- package/dist/esm/core/signingEngine/session/identity/laneIdentity.js +2 -106
- package/dist/esm/core/signingEngine/session/keyMaterialBrands.js +1 -1
- package/dist/esm/core/signingEngine/session/lifecycle/walletSessionFailure.js +1 -1
- package/dist/esm/core/signingEngine/session/material/activeEcdsaCapabilityRuntime.js +1 -114
- package/dist/esm/core/signingEngine/session/material/activeWalletAuthorityEcdsaRuntime.js +2 -2
- package/dist/esm/core/signingEngine/session/material/ecdsaCapabilityManifest.js +2 -187
- package/dist/esm/core/signingEngine/session/material/ecdsaRoleLocalMaterialResolver.js +2 -18
- package/dist/esm/core/signingEngine/session/material/ecdsaSigningCapability.js +2 -130
- package/dist/esm/core/signingEngine/session/material/linkedEcdsaHolderRuntime.js +1 -25
- package/dist/esm/core/signingEngine/session/material/nearEd25519YaoMaterialActivation.js +1 -73
- package/dist/esm/core/signingEngine/session/material/walletSigningStateFailure.js +1 -69
- package/dist/esm/core/signingEngine/session/operationState/preparedOperation.js +1 -5
- package/dist/esm/core/signingEngine/session/operationState/transactionState.js +0 -1
- package/dist/esm/core/signingEngine/session/passkey/prfCache.js +1 -5
- package/dist/esm/core/signingEngine/session/persistence/durableSealedSessionCommands.js +1 -9
- package/dist/esm/core/signingEngine/session/persistence/ecdsaRoleLocalRecords.js +3 -202
- package/dist/esm/core/signingEngine/session/persistence/sealedSessionRecords.js +4 -83
- package/dist/esm/core/signingEngine/session/persistence/sealedSessionStore.js +2 -2
- package/dist/esm/core/signingEngine/session/planning/planner.js +2 -13
- package/dist/esm/core/signingEngine/session/sealedRecovery/materialActivationKey.js +1 -8
- package/dist/esm/core/signingEngine/session/warmCapabilities/routerAbWalletSessionCredential.js +2 -1
- package/dist/esm/core/signingEngine/session/warmCapabilities/sealedRefreshParity.js +2 -41
- package/dist/esm/core/signingEngine/stepUpConfirmation/intentDigestPreparation.js +1 -14
- package/dist/esm/core/signingEngine/stepUpConfirmation/types.js +1 -7
- package/dist/esm/core/signingEngine/threshold/commitQueueShared.js +1 -127
- package/dist/esm/core/signingEngine/threshold/crypto/ecdsaDerivationClientWasm.js +3 -297
- package/dist/esm/core/signingEngine/threshold/ecdsa/operationStepUp.js +10 -24
- package/dist/esm/core/signingEngine/threshold/ed25519/walletSession.js +7 -209
- package/dist/esm/core/signingEngine/threshold/ed25519/yaoPublicCapabilityReferences.js +5 -208
- package/dist/esm/core/signingEngine/threshold/sessionPolicy.js +3 -9
- package/dist/esm/core/signingEngine/uiConfirm/nearFundingNotice.js +1 -17
- package/dist/esm/core/signingEngine/uiConfirm/ui/confirm-surface-resize.js +2 -173
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/ConfirmationContent.js +3 -3
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/ReviewDisclosure.js +2 -2
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/TransactionReceipt.js +1 -1
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/TransactionReview.js +5 -4
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/mountConfirmationSurface.js +2 -2
- package/dist/esm/core/signingEngine/uiConfirm/ui/surface-resize-events.js +1 -6
- package/dist/esm/core/signingEngine/uiConfirm/ui/transaction-display/abi/abiDecode.js +1 -1
- package/dist/esm/core/signingEngine/webauthnAuth/credentials/credentialExtensions.js +1 -19
- package/dist/esm/core/signingEngine/webauthnAuth/credentials/helpers.js +2 -170
- package/dist/esm/core/signingEngine/workerManager/ecdsaPresignPoolIdentity.js +27 -5
- package/dist/esm/core/signingEngine/workerManager/validation.js +1 -104
- package/dist/esm/core/signingEngine/workerManager/workerTypes.js +1 -33
- package/dist/esm/core/types/rpc.js +1 -4
- package/dist/esm/core/types/sdkSentEvents.js +1 -24
- package/dist/esm/core/walletRuntimePaths/base.js +1 -28
- package/dist/esm/externalEvm/controller.js +7 -7
- package/dist/esm/index.js +8 -7
- package/dist/esm/react/components/AccountMenuButton/AuthenticationMethodsModal.js +9 -9
- package/dist/esm/react/components/AccountMenuButton/LinkedDevicesModal.css +1 -2
- package/dist/esm/react/components/AccountMenuButton/LinkedDevicesModal.js +9 -185
- package/dist/esm/react/components/AccountMenuButton/WalletRegionSection.js +303 -0
- package/dist/esm/react/components/AccountMenuButton/WalletSettingsLayout.js +31 -5
- package/dist/esm/react/components/AccountMenuButton/index.js +21 -13
- package/dist/esm/react/components/AccountMenuButton/types.js +2 -1
- package/dist/esm/react/components/HostedSeamsAuthMenu/shell.js +5 -17
- package/dist/esm/react/components/QRCodeScanner.js +5 -5
- package/dist/esm/react/components/ShowQRCode.js +13 -13
- package/dist/esm/react/context/SeamsWebProvider.js +1 -2
- package/dist/esm/react/context/index.js +8 -10
- package/dist/esm/react/context/seamsManagerSingleton.js +1 -1
- package/dist/esm/react/context/useLoginStateRefresher.js +10 -13
- package/dist/esm/react/context/useNearProvisioningStateRefresh.js +3 -3
- package/dist/esm/react/context/useSeamsContextValue.js +33 -81
- package/dist/esm/react/context/useSeamsWithSdkFlow.js +22 -51
- package/dist/esm/react/context/useWalletIframeLifecycle.js +20 -110
- package/dist/esm/react/hooks/useAccountInput.js +10 -13
- package/dist/esm/react/hooks/useDeviceLinking.js +1 -1
- package/dist/esm/react/hooks/useNearClient.js +1 -1
- package/dist/esm/react/hooks/useQRCamera.js +2 -8
- package/dist/esm/react/hooks/useWallet.js +5 -6
- package/dist/esm/react/hooks/useWalletAuth.js +3 -4
- package/dist/esm/react/hooks/useWalletDevices.js +2 -2
- package/dist/esm/react/index.js +4 -4
- package/dist/esm/react/transactionReview/TransactionReviewHost.js +1 -1
- package/dist/esm/react/transactionReview/boundCalls.js +5 -39
- package/dist/esm/react/transactionReview/controller.js +3 -4
- package/dist/esm/react/transactionReview/snapshot.js +1 -1
- package/dist/esm/react/utils/walletIframe.js +11 -52
- package/dist/esm/sdk/{ConfirmationDrawer-DrsREojk.js → ConfirmationDrawer-DY0_yeUV.js} +1 -1
- package/dist/esm/sdk/NonceCoordinator-CFFq8-Q9.js +1 -0
- package/dist/esm/sdk/accountLifecycle-CAMVowDl.js +1 -0
- package/dist/esm/sdk/activeWalletSession-DiZcKjB_.js +1 -0
- package/dist/esm/sdk/adapters-DdDOQzl4.js +2 -0
- package/dist/esm/sdk/appearance-ZGVLwA4N.js +1 -0
- package/dist/esm/sdk/authenticatorOptions-DMLnDWT2.js +1 -0
- package/dist/esm/sdk/authorizationAdmission-Ckx6q6tp.js +1 -0
- package/dist/esm/sdk/bytes-BBYkulRB.js +1 -0
- package/dist/esm/sdk/canonicalPrimitives-CKPGgpxg.js +1 -0
- package/dist/esm/sdk/canonicalSignerErrorCode-DEHsPxNm.js +1 -0
- package/dist/esm/sdk/{capabilityKinds-XaXXiD2B.js → capabilityKinds-CKQ4Uqnv.js} +1 -1
- package/dist/esm/sdk/chains-CiYQT1K4.js +1 -0
- package/dist/esm/sdk/challengeDelivery-DxXAkOfS.js +1 -0
- package/dist/esm/sdk/clientSessionPersistenceState-CImFWDj6.js +1 -0
- package/dist/esm/sdk/commitQueue-iBNUt9Bz.js +1 -0
- package/dist/esm/sdk/configBuilder-ZiZwFKt4.js +1 -0
- package/dist/esm/sdk/configHelpers-D8Ivi6p8.js +1 -0
- package/dist/esm/sdk/digestEncoding-Dzc1rzWV.js +1 -0
- package/dist/esm/sdk/display-ClqZq-Xt.js +1 -0
- package/dist/esm/sdk/ecdsaCapabilityManifest-BlzJAQF8.js +1 -0
- package/dist/{public/sdk/ecdsaChainTarget-CRcRR78w.js → esm/sdk/ecdsaChainTarget-C8ZtMZ8l.js} +1 -1
- package/dist/esm/sdk/ecdsaDerivationClientWasm-CVeNEou2.js +1 -0
- package/dist/esm/sdk/ecdsaDerivationExport-BZFHSMCv.js +1 -0
- package/dist/esm/sdk/{ecdsaWalletRecords-Cm1DdexN.js → ecdsaWalletRecords-D4WeYc7H.js} +1 -1
- package/dist/esm/sdk/emailOtpEcdsaDerivationIdentity-B8HzTh4T.js +1 -0
- package/dist/esm/sdk/enrichDisplayModelWithAbi-69bNckvi.js +1 -0
- package/dist/esm/sdk/{evmCryptoWasm-CwEXiLrC.js → evmCryptoWasm-BXsIyRon.js} +1 -1
- package/dist/esm/sdk/export-viewer-host-CsFeiIhd.js +1 -0
- package/dist/esm/sdk/exportKeypairOperation-DGQIYML3.js +1 -0
- package/dist/esm/sdk/helpers-Ddy72ULN.js +1 -0
- package/dist/esm/sdk/host-c1__wJwz.js +1 -0
- package/dist/esm/sdk/intentDigest-CE-tLw87.js +1 -0
- package/dist/esm/sdk/jsxRuntime.module-BcZNe_OA.js +2 -0
- package/dist/esm/sdk/lanes-DnBwWv4l.js +1 -0
- package/dist/esm/sdk/localOnly-ClCo6602.js +1 -0
- package/dist/esm/sdk/messages-vxz27Way.js +1 -0
- package/dist/esm/sdk/mountExportPrivateKeySurface-CBZ0wRYj.js +1 -0
- package/dist/{public/sdk/mountRecoveryCodeBackupSurface-BBCTaQsu.js → esm/sdk/mountRecoveryCodeBackupSurface-B1qhFF6G.js} +2 -2
- package/dist/esm/sdk/nearEd25519YaoMaterialActivation-fWQI3rYj.js +1 -0
- package/dist/esm/sdk/nearEd25519YaoSigningPreparation-B0d1AG3u.js +1 -0
- package/dist/{public/sdk/nonceLaneKeys-BBYi4g51.js → esm/sdk/nonceLaneKeys-Fkvk2UPy.js} +1 -1
- package/dist/esm/sdk/normalization-CpLZcL2f.js +1 -0
- package/dist/esm/sdk/normalization-DCvuCvh0.js +1 -0
- package/dist/esm/sdk/normalize-kUDm5zfS.js +1 -0
- package/dist/esm/sdk/{operationFingerprint-DtQb0pdp.js → operationFingerprint-CTR9G1NT.js} +1 -1
- package/dist/esm/sdk/passkey-custody-BQj44jEM.js +1 -0
- package/dist/esm/sdk/pendingWalletRecoveryCodeBackup-yJN8VAHn.js +1 -0
- package/dist/esm/sdk/presignaturePool-DwlTReFO.js +1 -0
- package/dist/esm/sdk/presignatures-DB2IPD-A.js +1 -0
- package/dist/esm/sdk/{prfCache-Mbo7_USg.js → prfCache-BMpqZZ-v.js} +1 -1
- package/dist/esm/sdk/primitives-CAcl7ON7.js +1 -0
- package/dist/esm/sdk/promptText-D2f5Rg0h.js +1 -0
- package/dist/esm/sdk/recovery-entrypoint-Bl5GgbW9.js +1 -0
- package/dist/esm/sdk/registration-C4sALQZO.js +1 -0
- package/dist/esm/sdk/registration-CEqVAgNJ.js +1 -0
- package/dist/esm/sdk/{registrationAccounts-DIeEVy6W.js → registrationAccounts-D4RVetMz.js} +1 -1
- package/dist/esm/sdk/registrationAuthMethodInput-6ccY2Vuh.js +1 -0
- package/dist/esm/sdk/registrationIds-CdPqm-Ya.js +1 -0
- package/dist/esm/sdk/registrationIntent-DOkZcKSP.js +1 -0
- package/dist/esm/sdk/registrationSignerPlan-B9GCvpTV.js +1 -0
- package/dist/esm/sdk/requireStepUpAuth-DCVqmeee.js +1 -0
- package/dist/esm/sdk/routerAbNormalSigning-BG75eyI2.js +1 -0
- package/dist/esm/sdk/router_ab_ed25519_yao_client_bg.wasm +0 -0
- package/dist/esm/sdk/runtime-auth-BKFyLISf.js +1 -0
- package/dist/esm/sdk/runtime-device-link-ENxdEXQW.js +1 -0
- package/dist/esm/sdk/runtime-ecdsa-tempo-DhGEb9U7.js +1 -0
- package/dist/esm/sdk/runtime-email-otp-dgsP7XZi.js +1 -0
- package/dist/esm/sdk/runtime-export-D2RCm5Gk.js +1 -0
- package/dist/esm/sdk/runtime-near-Bf-9MFBQ.js +1 -0
- package/dist/esm/sdk/runtime-preferences-LQ8SPE7o.js +1 -0
- package/dist/esm/sdk/runtime-recovery-BuEzJzuZ.js +1 -0
- package/dist/esm/sdk/runtime-recovery-codes-BZMiAR_5.js +1 -0
- package/dist/esm/sdk/sdkSentEvents-D3q1h-Uo.js +1 -0
- package/dist/esm/sdk/secp256k1-DSLttQND.js +1 -0
- package/dist/esm/sdk/{secureRandomId-CTdlJ5Mx.js → secureRandomId-BIekT8bE.js} +1 -1
- package/dist/esm/sdk/sessionPolicy-J-RrlPZQ.js +1 -0
- package/dist/esm/sdk/shared-8ffIBYw2.js +6 -0
- package/dist/esm/sdk/signEvmFamily-KUNWKVeh.js +1 -0
- package/dist/esm/sdk/{signEvmFamilyWithUiConfirmForTempo-DgTbh6jX.js → signEvmFamilyWithUiConfirmForTempo-Dc57bJ3V.js} +1 -1
- package/dist/esm/sdk/{signEvmWithUiConfirm-ChreN7aZ.js → signEvmWithUiConfirm-CqxL7UbT.js} +1 -1
- package/dist/esm/sdk/signNear-BhTkDm2-.js +1 -0
- package/dist/esm/sdk/{signatureUses-CQkkUcwT.js → signatureUses-CjJ233KX.js} +1 -1
- package/dist/esm/sdk/signerDomain-vQmlnsbF.js +1 -0
- package/dist/esm/sdk/signingFlow-vrXxrhlG.js +2 -0
- package/dist/esm/sdk/signingQueue-BrGJXBqe.js +1 -0
- package/dist/esm/sdk/{signingSessionSeal-Mr2Xp44o.js → signingSessionSeal-CDLUmAFY.js} +1 -1
- package/dist/esm/sdk/singletons-8UH3gOnZ.js +1 -0
- package/dist/esm/sdk/theme-_AUTWLS_.js +1 -0
- package/dist/esm/sdk/thresholdEcdsa-CO7xo1So.js +1 -0
- package/dist/esm/sdk/trace-BvbCxdXF.js +1 -0
- package/dist/esm/sdk/transaction-activity-D40ih2j-.js +1 -0
- package/dist/esm/sdk/transactionReviewAdmission-C-a3ctCJ.js +1 -0
- package/dist/esm/sdk/transactionState-DVinJk4K.js +1 -0
- package/dist/esm/sdk/tx-confirm-ui.js +7 -11
- package/dist/esm/sdk/{promptText-s8TQ6ckX.js → types-BNUuaUtl.js} +1 -1
- package/dist/esm/sdk/{types-M7vxrYtJ.js → types-D3GM-uHR.js} +1 -1
- package/dist/esm/sdk/wallet-iframe-host-ecdsa.js +1 -1
- package/dist/esm/sdk/wallet-iframe-host-full.js +1 -1
- package/dist/esm/sdk/wallet-iframe-host-near.js +1 -1
- package/dist/esm/sdk/wallet-iframe-host-runtime.js +1 -1
- package/dist/esm/sdk/wallet-recovery-C1kesLCF.js +1 -0
- package/dist/esm/sdk/wallet-ui.css +1 -1
- package/dist/esm/sdk/walletAuthMethodRecord-CXedSgpV.js +1 -0
- package/dist/esm/sdk/walletAuthority-B5hXHWpK.js +1 -0
- package/dist/esm/sdk/walletCustodyEcdsaContinuity-abNZ_dvX.js +1 -0
- package/dist/esm/sdk/{walletIframeIdentity-C0b0XMQF.js → walletIframeIdentity-DJ0KOBHg.js} +1 -1
- package/dist/esm/sdk/walletOwnershipGeneration-DoXVMDWe.js +1 -0
- package/dist/esm/sdk/walletRecoveryCommit-Cc9AqHr0.js +1 -0
- package/dist/esm/sdk/walletRecoveryRotate-DWTAFYiv.js +1 -0
- package/dist/esm/sdk/walletSessionAuthorizationProjection-DWBksIJR.js +1 -0
- package/dist/esm/sdk/walletSessionAuthorizationStatus-o1VgsLhA.js +1 -0
- package/dist/esm/sdk/walletSessionAuthorizationStore-gEYPmu-G.js +1 -0
- package/dist/esm/sdk/walletSessionFailure-Bu4VPKTz.js +1 -0
- package/dist/esm/sdk/warmSessionHydration-DgjuUacN.js +1 -0
- package/dist/esm/sdk/{webauthnP256-qu06GNFm.js → webauthnP256-BEz4DEAs.js} +1 -1
- package/dist/esm/sdk/{webauthnPromptCoordinator-DO-qfECu.js → webauthnPromptCoordinator-BEudHQBr.js} +1 -1
- package/dist/esm/shared-ts/src/authorization/capabilityKinds.js +1 -7
- package/dist/esm/shared-ts/src/authorization/delegatedAuthority.js +2 -20
- package/dist/esm/shared-ts/src/authorization/index.js +1 -2
- package/dist/esm/shared-ts/src/authorization/operationFingerprint.js +1 -20
- package/dist/esm/shared-ts/src/authorization/walletAuthority.js +4 -51
- package/dist/esm/shared-ts/src/authorization/walletSessionIssuance.js +1 -112
- package/dist/esm/shared-ts/src/device-linking/activeWalletSession.js +13 -3
- package/dist/esm/shared-ts/src/device-linking/authorityActivation.js +6 -116
- package/dist/esm/shared-ts/src/device-linking/committedSignerPackages.js +3 -270
- package/dist/esm/shared-ts/src/device-linking/delegatedActivationPlan.js +2 -2
- package/dist/esm/shared-ts/src/device-linking/deviceManagement.js +1 -12
- package/dist/esm/shared-ts/src/device-linking/digests.js +1 -109
- package/dist/esm/shared-ts/src/device-linking/index.js +0 -2
- package/dist/esm/shared-ts/src/device-linking/parsers.js +7 -921
- package/dist/esm/shared-ts/src/device-linking/requestProof.js +1 -19
- package/dist/esm/shared-ts/src/device-linking/sourceContribution.js +5 -358
- package/dist/esm/shared-ts/src/device-linking/walletSessionCredentialDelivery.js +1 -172
- package/dist/esm/shared-ts/src/device-linking/wireFields.js +4 -5
- package/dist/esm/shared-ts/src/near/actions.js +1 -13
- package/dist/esm/shared-ts/src/near/nearClient.js +1 -1
- package/dist/esm/shared-ts/src/passkey-custody/custodyEnvelope.js +3 -59
- package/dist/esm/shared-ts/src/passkey-custody/custodySecretBinding.js +4 -8
- package/dist/esm/shared-ts/src/passkey-custody/index.js +0 -1
- package/dist/esm/shared-ts/src/signing-lanes/index.js +0 -1
- package/dist/esm/shared-ts/src/signing-lanes/ownerContinuity.js +0 -59
- package/dist/esm/shared-ts/src/threshold/ed25519OperationFingerprint.js +1 -1
- package/dist/esm/shared-ts/src/threshold/keyMaterialBrands.js +1 -4
- package/dist/esm/shared-ts/src/threshold/participants.js +1 -2
- package/dist/esm/shared-ts/src/threshold/signingRootScope.js +1 -4
- package/dist/esm/shared-ts/src/utils/authenticatorOptions.js +1 -12
- package/dist/esm/shared-ts/src/utils/canonicalPrimitives.js +2 -5
- package/dist/esm/shared-ts/src/utils/domainIds.js +1 -7
- package/dist/esm/shared-ts/src/utils/ecdsaCapabilityActivation.js +1 -16
- package/dist/esm/shared-ts/src/utils/ecdsaServerTiming.js +6 -1
- package/dist/esm/shared-ts/src/utils/emailOtpDomain.js +1 -23
- package/dist/esm/shared-ts/src/utils/emailOtpRecoveryKey.js +1 -42
- package/dist/esm/shared-ts/src/utils/errors.js +1 -43
- package/dist/esm/shared-ts/src/utils/index.js +18 -22
- package/dist/esm/shared-ts/src/utils/near.js +2 -74
- package/dist/esm/shared-ts/src/utils/normalize.js +1 -22
- package/dist/esm/shared-ts/src/utils/registrationAuthMethodInput.js +1 -74
- package/dist/esm/shared-ts/src/utils/registrationEstablishedSession.js +6 -275
- package/dist/esm/shared-ts/src/utils/registrationIds.js +1 -203
- package/dist/esm/shared-ts/src/utils/registrationIntent.js +1 -389
- package/dist/esm/shared-ts/src/utils/registrationSignerPlan.js +2 -434
- package/dist/esm/shared-ts/src/utils/routerAbEcdsaDerivation.js +6 -414
- package/dist/esm/shared-ts/src/utils/routerAbEd25519Yao.js +1 -334
- package/dist/esm/shared-ts/src/utils/routerAbEd25519YaoDigests.js +2 -40
- package/dist/esm/shared-ts/src/utils/routerAbNormalSigningIdentity.js +1 -1
- package/dist/esm/shared-ts/src/utils/signingSessionSeal.js +1 -6
- package/dist/esm/shared-ts/src/utils/thresholdEcdsaKeyHandle.js +1 -6
- package/dist/esm/shared-ts/src/utils/validation.js +2 -17
- package/dist/esm/shared-ts/src/utils/walletAuthAuthority.js +1 -28
- package/dist/esm/shared-ts/src/utils/walletAuthMethodRecord.js +1 -11
- package/dist/esm/shared-ts/src/utils/walletCapabilityBindings.js +1 -7
- package/dist/esm/shared-ts/src/wallet-recovery/index.js +3 -5
- package/dist/esm/shared-ts/src/wallet-recovery/recoveryCodeIssuance.js +1 -35
- package/dist/esm/shared-ts/src/wallet-recovery/recoveryCodeLocator.js +0 -32
- package/dist/esm/shared-ts/src/wallet-recovery/recoveryCodeReservation.js +1 -15
- package/dist/esm/shared-ts/src/wallet-recovery/recoveryKeyId.js +0 -11
- package/dist/esm/shared-ts/src/wallet-recovery/walletRecoveryCommittedProjection.js +1 -1
- package/dist/esm/shared-ts/src/wallet-recovery/walletRecoveryEcdsaPossession.js +2 -42
- package/dist/esm/shared-ts/src/wallet-recovery/walletRecoveryEnvelopeSet.js +3 -53
- package/dist/esm/shared-ts/src/wallet-recovery/walletRecoveryRotation.js +2 -63
- package/dist/esm/threshold.js +1 -1
- package/dist/esm/utils/intentDigest.js +1 -4
- package/dist/esm/wasm/near_signer/pkg/wasm_signer_worker_bg.wasm +0 -0
- package/dist/esm/wasm/router_ab_ecdsa_client/pkg/router_ab_ecdsa_client_bg.wasm +0 -0
- 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-DrsREojk.js → ConfirmationDrawer-DY0_yeUV.js} +1 -1
- package/dist/public/sdk/NonceCoordinator-CFFq8-Q9.js +1 -0
- package/dist/public/sdk/accountLifecycle-CAMVowDl.js +1 -0
- package/dist/public/sdk/activeWalletSession-DiZcKjB_.js +1 -0
- package/dist/public/sdk/adapters-DdDOQzl4.js +2 -0
- package/dist/public/sdk/appearance-ZGVLwA4N.js +1 -0
- package/dist/public/sdk/authenticatorOptions-DMLnDWT2.js +1 -0
- package/dist/public/sdk/authorizationAdmission-Ckx6q6tp.js +1 -0
- package/dist/public/sdk/bytes-BBYkulRB.js +1 -0
- package/dist/public/sdk/canonicalPrimitives-CKPGgpxg.js +1 -0
- package/dist/public/sdk/canonicalSignerErrorCode-DEHsPxNm.js +1 -0
- package/dist/public/sdk/{capabilityKinds-XaXXiD2B.js → capabilityKinds-CKQ4Uqnv.js} +1 -1
- package/dist/public/sdk/chains-CiYQT1K4.js +1 -0
- package/dist/public/sdk/challengeDelivery-DxXAkOfS.js +1 -0
- package/dist/public/sdk/clientSessionPersistenceState-CImFWDj6.js +1 -0
- package/dist/public/sdk/commitQueue-iBNUt9Bz.js +1 -0
- package/dist/public/sdk/configBuilder-ZiZwFKt4.js +1 -0
- package/dist/public/sdk/configHelpers-D8Ivi6p8.js +1 -0
- package/dist/public/sdk/digestEncoding-Dzc1rzWV.js +1 -0
- package/dist/public/sdk/display-ClqZq-Xt.js +1 -0
- package/dist/public/sdk/ecdsaCapabilityManifest-BlzJAQF8.js +1 -0
- package/dist/{esm/sdk/ecdsaChainTarget-CRcRR78w.js → public/sdk/ecdsaChainTarget-C8ZtMZ8l.js} +1 -1
- package/dist/public/sdk/ecdsaDerivationClientWasm-CVeNEou2.js +1 -0
- package/dist/public/sdk/ecdsaDerivationExport-BZFHSMCv.js +1 -0
- package/dist/public/sdk/{ecdsaWalletRecords-Cm1DdexN.js → ecdsaWalletRecords-D4WeYc7H.js} +1 -1
- package/dist/public/sdk/emailOtpEcdsaDerivationIdentity-B8HzTh4T.js +1 -0
- package/dist/public/sdk/enrichDisplayModelWithAbi-69bNckvi.js +1 -0
- package/dist/public/sdk/{evmCryptoWasm-CwEXiLrC.js → evmCryptoWasm-BXsIyRon.js} +1 -1
- package/dist/public/sdk/export-viewer-host-CsFeiIhd.js +1 -0
- package/dist/public/sdk/exportKeypairOperation-DGQIYML3.js +1 -0
- package/dist/public/sdk/helpers-Ddy72ULN.js +1 -0
- package/dist/public/sdk/host-c1__wJwz.js +1 -0
- package/dist/public/sdk/intentDigest-CE-tLw87.js +1 -0
- package/dist/public/sdk/jsxRuntime.module-BcZNe_OA.js +2 -0
- package/dist/public/sdk/lanes-DnBwWv4l.js +1 -0
- package/dist/public/sdk/localOnly-ClCo6602.js +1 -0
- package/dist/public/sdk/messages-vxz27Way.js +1 -0
- package/dist/public/sdk/mountExportPrivateKeySurface-CBZ0wRYj.js +1 -0
- package/dist/{esm/sdk/mountRecoveryCodeBackupSurface-BBCTaQsu.js → public/sdk/mountRecoveryCodeBackupSurface-B1qhFF6G.js} +2 -2
- package/dist/public/sdk/nearEd25519YaoMaterialActivation-fWQI3rYj.js +1 -0
- package/dist/public/sdk/nearEd25519YaoSigningPreparation-B0d1AG3u.js +1 -0
- package/dist/{esm/sdk/nonceLaneKeys-BBYi4g51.js → public/sdk/nonceLaneKeys-Fkvk2UPy.js} +1 -1
- package/dist/public/sdk/normalization-CpLZcL2f.js +1 -0
- package/dist/public/sdk/normalization-DCvuCvh0.js +1 -0
- package/dist/public/sdk/normalize-kUDm5zfS.js +1 -0
- package/dist/public/sdk/{operationFingerprint-DtQb0pdp.js → operationFingerprint-CTR9G1NT.js} +1 -1
- package/dist/public/sdk/passkey-custody-BQj44jEM.js +1 -0
- package/dist/public/sdk/pendingWalletRecoveryCodeBackup-yJN8VAHn.js +1 -0
- package/dist/public/sdk/presignaturePool-DwlTReFO.js +1 -0
- package/dist/public/sdk/presignatures-DB2IPD-A.js +1 -0
- package/dist/public/sdk/{prfCache-Mbo7_USg.js → prfCache-BMpqZZ-v.js} +1 -1
- package/dist/public/sdk/primitives-CAcl7ON7.js +1 -0
- package/dist/public/sdk/promptText-D2f5Rg0h.js +1 -0
- package/dist/public/sdk/recovery-entrypoint-Bl5GgbW9.js +1 -0
- package/dist/public/sdk/registration-C4sALQZO.js +1 -0
- package/dist/public/sdk/registration-CEqVAgNJ.js +1 -0
- package/dist/public/sdk/{registrationAccounts-DIeEVy6W.js → registrationAccounts-D4RVetMz.js} +1 -1
- package/dist/public/sdk/registrationAuthMethodInput-6ccY2Vuh.js +1 -0
- package/dist/public/sdk/registrationIds-CdPqm-Ya.js +1 -0
- package/dist/public/sdk/registrationIntent-DOkZcKSP.js +1 -0
- package/dist/public/sdk/registrationSignerPlan-B9GCvpTV.js +1 -0
- package/dist/public/sdk/requireStepUpAuth-DCVqmeee.js +1 -0
- package/dist/public/sdk/routerAbNormalSigning-BG75eyI2.js +1 -0
- package/dist/public/sdk/router_ab_ed25519_yao_client_bg.wasm +0 -0
- package/dist/public/sdk/runtime-auth-BKFyLISf.js +1 -0
- package/dist/public/sdk/runtime-device-link-ENxdEXQW.js +1 -0
- package/dist/public/sdk/runtime-ecdsa-tempo-DhGEb9U7.js +1 -0
- package/dist/public/sdk/runtime-email-otp-dgsP7XZi.js +1 -0
- package/dist/public/sdk/runtime-export-D2RCm5Gk.js +1 -0
- package/dist/public/sdk/runtime-near-Bf-9MFBQ.js +1 -0
- package/dist/public/sdk/runtime-preferences-LQ8SPE7o.js +1 -0
- package/dist/public/sdk/runtime-recovery-BuEzJzuZ.js +1 -0
- package/dist/public/sdk/runtime-recovery-codes-BZMiAR_5.js +1 -0
- package/dist/public/sdk/sdkSentEvents-D3q1h-Uo.js +1 -0
- package/dist/public/sdk/secp256k1-DSLttQND.js +1 -0
- package/dist/public/sdk/{secureRandomId-CTdlJ5Mx.js → secureRandomId-BIekT8bE.js} +1 -1
- package/dist/public/sdk/sessionPolicy-J-RrlPZQ.js +1 -0
- package/dist/public/sdk/shared-8ffIBYw2.js +6 -0
- package/dist/public/sdk/signEvmFamily-KUNWKVeh.js +1 -0
- package/dist/public/sdk/{signEvmFamilyWithUiConfirmForTempo-DgTbh6jX.js → signEvmFamilyWithUiConfirmForTempo-Dc57bJ3V.js} +1 -1
- package/dist/public/sdk/{signEvmWithUiConfirm-ChreN7aZ.js → signEvmWithUiConfirm-CqxL7UbT.js} +1 -1
- package/dist/public/sdk/signNear-BhTkDm2-.js +1 -0
- package/dist/public/sdk/{signatureUses-CQkkUcwT.js → signatureUses-CjJ233KX.js} +1 -1
- package/dist/public/sdk/signerDomain-vQmlnsbF.js +1 -0
- package/dist/public/sdk/signingFlow-vrXxrhlG.js +2 -0
- package/dist/public/sdk/signingQueue-BrGJXBqe.js +1 -0
- package/dist/public/sdk/{signingSessionSeal-Mr2Xp44o.js → signingSessionSeal-CDLUmAFY.js} +1 -1
- package/dist/public/sdk/singletons-8UH3gOnZ.js +1 -0
- package/dist/public/sdk/theme-_AUTWLS_.js +1 -0
- package/dist/public/sdk/thresholdEcdsa-CO7xo1So.js +1 -0
- package/dist/public/sdk/trace-BvbCxdXF.js +1 -0
- package/dist/public/sdk/transaction-activity-D40ih2j-.js +1 -0
- package/dist/public/sdk/transactionReviewAdmission-C-a3ctCJ.js +1 -0
- package/dist/public/sdk/transactionState-DVinJk4K.js +1 -0
- package/dist/public/sdk/tx-confirm-ui.js +7 -11
- package/dist/public/sdk/{promptText-s8TQ6ckX.js → types-BNUuaUtl.js} +1 -1
- package/dist/public/sdk/{types-M7vxrYtJ.js → types-D3GM-uHR.js} +1 -1
- package/dist/public/sdk/wallet-iframe-host-ecdsa.js +1 -1
- package/dist/public/sdk/wallet-iframe-host-full.js +1 -1
- package/dist/public/sdk/wallet-iframe-host-near.js +1 -1
- package/dist/public/sdk/wallet-iframe-host-runtime.js +1 -1
- package/dist/public/sdk/wallet-recovery-C1kesLCF.js +1 -0
- package/dist/public/sdk/wallet-ui.css +1 -1
- package/dist/public/sdk/walletAuthMethodRecord-CXedSgpV.js +1 -0
- package/dist/public/sdk/walletAuthority-B5hXHWpK.js +1 -0
- package/dist/public/sdk/walletCustodyEcdsaContinuity-abNZ_dvX.js +1 -0
- package/dist/public/sdk/{walletIframeIdentity-C0b0XMQF.js → walletIframeIdentity-DJ0KOBHg.js} +1 -1
- package/dist/public/sdk/walletOwnershipGeneration-DoXVMDWe.js +1 -0
- package/dist/public/sdk/walletRecoveryCommit-Cc9AqHr0.js +1 -0
- package/dist/public/sdk/walletRecoveryRotate-DWTAFYiv.js +1 -0
- package/dist/public/sdk/walletSessionAuthorizationProjection-DWBksIJR.js +1 -0
- package/dist/public/sdk/walletSessionAuthorizationStatus-o1VgsLhA.js +1 -0
- package/dist/public/sdk/walletSessionAuthorizationStore-gEYPmu-G.js +1 -0
- package/dist/public/sdk/walletSessionFailure-Bu4VPKTz.js +1 -0
- package/dist/public/sdk/warmSessionHydration-DgjuUacN.js +1 -0
- package/dist/public/sdk/{webauthnP256-qu06GNFm.js → webauthnP256-BEz4DEAs.js} +1 -1
- package/dist/public/sdk/{webauthnPromptCoordinator-DO-qfECu.js → webauthnPromptCoordinator-BEudHQBr.js} +1 -1
- package/dist/public/sdk/workers/device-linking-key.worker.js +18 -0
- package/dist/public/sdk/workers/ecdsa-derivation-client.worker.js +1490 -1268
- package/dist/public/sdk/workers/ecdsa-online-client.worker.js +96 -0
- package/dist/public/sdk/workers/ecdsa-presign-client.worker.js +101 -1
- package/dist/public/sdk/workers/email-otp.worker.js +267 -237
- package/dist/public/sdk/workers/evm-crypto.worker.js +12 -8
- package/dist/public/sdk/workers/passkey-mpc-export.worker.js +30 -1
- package/dist/public/sdk/workers/router_ab_ecdsa_client_bg.wasm +0 -0
- package/dist/public/sdk/workers/router_ab_ed25519_yao_client_bg.wasm +0 -0
- package/dist/public/sdk/workers/shamir3pass.worker.js +10 -8
- package/dist/public/sdk/workers/tempo-signer.worker.js +12 -8
- package/dist/public/sdk/workers/wallet-custody-ceremony.worker.js +3 -1
- package/dist/public/sdk/workers/wallet_custody_ceremony_bg.wasm +0 -0
- package/dist/public/sdk/workers/wasm_signer_worker_bg.wasm +0 -0
- package/dist/public/wallet-assets.manifest.json +391 -295
- package/dist/public/wallet-service/index.html +4 -4
- package/dist/types/shared-ts/src/device-linking/activeWalletSession.d.ts +2 -1
- package/dist/types/shared-ts/src/device-linking/contracts.d.ts +10 -0
- package/dist/types/shared-ts/src/threshold/ed25519OperationFingerprint.d.ts +2 -1
- package/dist/types/shared-ts/src/utils/emailOtpDomain.d.ts +3 -1
- package/dist/types/shared-ts/src/utils/routerAbPublicKeyset.d.ts +0 -9
- package/dist/types/shared-ts/src/utils/walletManagementProtocol.d.ts +1 -1
- package/dist/types/wallet/build-paths.d.ts +0 -4
- package/dist/types/wallet/src/SeamsWeb/SeamsWeb.d.ts +26 -146
- package/dist/types/wallet/src/SeamsWeb/assembly/browserSigningSurfaceAssembly.d.ts +7 -6
- package/dist/types/wallet/src/SeamsWeb/assembly/browserSigningSurfacePorts.d.ts +2 -4
- package/dist/types/wallet/src/SeamsWeb/assembly/createWalletIframeRouter.d.ts +2 -2
- package/dist/types/wallet/src/SeamsWeb/assembly/initializeBrowserSigningRuntime.d.ts +0 -2
- package/dist/types/wallet/src/SeamsWeb/index.d.ts +1 -1
- package/dist/types/wallet/src/SeamsWeb/operations/auth/login.d.ts +2 -8
- package/dist/types/wallet/src/SeamsWeb/operations/auth/unlockCompletion.d.ts +26 -0
- package/dist/types/wallet/src/SeamsWeb/operations/auth/unlockPendingRegistration.d.ts +14 -0
- package/dist/types/wallet/src/SeamsWeb/operations/auth/unlockSessionPolicy.d.ts +16 -0
- package/dist/types/wallet/src/SeamsWeb/operations/authMethods/emailOtp/challenge.d.ts +2 -2
- package/dist/types/wallet/src/SeamsWeb/operations/authMethods/emailOtp/googleEmailOtpWalletAuthFlow.d.ts +3 -2
- package/dist/types/wallet/src/SeamsWeb/operations/authMethods/revokeAuthMethod.d.ts +17 -1
- package/dist/types/wallet/src/SeamsWeb/operations/devices/linkDevice.d.ts +0 -7
- package/dist/types/wallet/src/SeamsWeb/operations/devices/walletHostComposition.d.ts +2 -0
- package/dist/types/wallet/src/SeamsWeb/operations/near/actions.d.ts +4 -21
- package/dist/types/wallet/src/SeamsWeb/operations/near/delegateAction.d.ts +4 -14
- package/dist/types/wallet/src/SeamsWeb/operations/near/signDelegateAction.d.ts +14 -0
- package/dist/types/wallet/src/SeamsWeb/operations/near/signNEP413.d.ts +2 -2
- package/dist/types/wallet/src/SeamsWeb/operations/registration/pendingEcdsaRegistrationRecovery.d.ts +11 -11
- package/dist/types/wallet/src/SeamsWeb/operations/registration/pendingEcdsaRegistrationRecoveryValidation.d.ts +18 -4
- package/dist/types/wallet/src/SeamsWeb/operations/registration/pendingRegistrationRecovery.d.ts +4 -20
- package/dist/types/wallet/src/SeamsWeb/operations/registration/registration.d.ts +10 -4
- package/dist/types/wallet/src/SeamsWeb/operations/registration/registrationEd25519Yao.d.ts +1 -1
- package/dist/types/wallet/src/SeamsWeb/operations/registration/registrationSignerSet.d.ts +1 -0
- package/dist/types/wallet/src/SeamsWeb/operations/registration/registrationTerminalCommit.d.ts +0 -4
- package/dist/types/wallet/src/SeamsWeb/operations/registration/registrationTiming.d.ts +2 -3
- package/dist/types/wallet/src/SeamsWeb/operations/tempo/index.d.ts +0 -3
- package/dist/types/wallet/src/SeamsWeb/publicApi/auth.d.ts +4 -13
- package/dist/types/wallet/src/SeamsWeb/publicApi/createPublicApi.d.ts +22 -43
- package/dist/types/wallet/src/SeamsWeb/publicApi/devices.d.ts +3 -21
- package/dist/types/wallet/src/SeamsWeb/publicApi/evm.d.ts +10 -16
- package/dist/types/wallet/src/SeamsWeb/publicApi/evmFamilyCommands.d.ts +6 -0
- package/dist/types/wallet/src/SeamsWeb/publicApi/index.d.ts +2 -2
- package/dist/types/wallet/src/SeamsWeb/publicApi/keyExport.d.ts +8 -16
- package/dist/types/wallet/src/SeamsWeb/publicApi/near.d.ts +10 -10
- package/dist/types/wallet/src/SeamsWeb/publicApi/nearCommands.d.ts +17 -0
- package/dist/types/wallet/src/SeamsWeb/publicApi/placement.d.ts +90 -0
- package/dist/types/wallet/src/SeamsWeb/publicApi/placement.typecheck.d.ts +2 -0
- package/dist/types/wallet/src/SeamsWeb/publicApi/session.d.ts +3 -0
- package/dist/types/wallet/src/SeamsWeb/publicApi/tempo.d.ts +11 -11
- package/dist/types/wallet/src/SeamsWeb/publicApi/types.d.ts +106 -243
- package/dist/types/wallet/src/SeamsWeb/publicApi/{awaitNearReady.d.ts → waitForNearAccount.d.ts} +7 -7
- package/dist/types/wallet/src/SeamsWeb/signingSurface/BrowserSigningSurface.d.ts +33 -78
- package/dist/types/wallet/src/SeamsWeb/signingSurface/ports.d.ts +8 -31
- package/dist/types/wallet/src/SeamsWeb/walletIframe/client/deviceCommands.d.ts +4 -0
- package/dist/types/wallet/src/SeamsWeb/walletIframe/client/emailOtpCommands.d.ts +4 -0
- package/dist/types/wallet/src/SeamsWeb/walletIframe/client/evmFamilyCommands.d.ts +6 -0
- package/dist/types/wallet/src/SeamsWeb/walletIframe/client/inboundMessages.d.ts +62 -0
- package/dist/types/wallet/src/SeamsWeb/walletIframe/client/nearCommands.d.ts +6 -0
- package/dist/types/wallet/src/SeamsWeb/walletIframe/client/placementCommands.d.ts +31 -0
- package/dist/types/wallet/src/SeamsWeb/walletIframe/client/preferenceState.d.ts +35 -0
- package/dist/types/wallet/src/SeamsWeb/walletIframe/client/preferences.d.ts +10 -0
- package/dist/types/wallet/src/SeamsWeb/walletIframe/client/registrationCommands.d.ts +6 -0
- package/dist/types/wallet/src/SeamsWeb/walletIframe/client/router.d.ts +36 -121
- package/dist/types/wallet/src/SeamsWeb/walletIframe/client/sessionCommands.d.ts +6 -0
- package/dist/types/wallet/src/SeamsWeb/walletIframe/coordinator.d.ts +29 -35
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/WalletHostRuntime.d.ts +98 -0
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/auth-menu/controller.d.ts +2 -2
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/context.d.ts +11 -9
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/createDeviceDomain.d.ts +20 -0
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/createEmailOtpCommands.d.ts +11 -0
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/createEvmFamilyCommands.d.ts +8 -0
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/createNearCommands.d.ts +4 -0
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/createPlacementCommands.d.ts +11 -0
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/createRegistrationCommands.d.ts +4 -0
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/createSessionCommands.d.ts +16 -0
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/handlers/placement.d.ts +3 -0
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/handlers/walletIframeHandler.types.d.ts +7 -3
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/hostedWalletSeamsSession.d.ts +2 -0
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/reconcileWalletPlacement.d.ts +10 -0
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/requestRouter.d.ts +4 -4
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/requestWalletMove.d.ts +11 -0
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/runtimeContext.d.ts +5 -3
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/runtimeLoader.d.ts +0 -1
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/sessionObserver.d.ts +39 -0
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/walletMoveLocator.d.ts +5 -0
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/walletMutationGuard.d.ts +3 -0
- package/dist/types/wallet/src/SeamsWeb/walletIframe/shared/configuration.d.ts +30 -0
- package/dist/types/wallet/src/SeamsWeb/walletIframe/shared/emailOtpLifecycle.d.ts +43 -0
- package/dist/types/wallet/src/SeamsWeb/walletIframe/shared/exactSessionState.d.ts +15 -0
- package/dist/types/wallet/src/SeamsWeb/walletIframe/shared/facadeBoundary.d.ts +14 -0
- package/dist/types/wallet/src/SeamsWeb/walletIframe/shared/messages.d.ts +35 -100
- package/dist/types/wallet/src/core/config/chains.d.ts +1 -3
- package/dist/types/wallet/src/core/config/configBuilder.d.ts +16 -6
- package/dist/types/wallet/src/core/config/defaultConfigs.d.ts +3 -4
- package/dist/types/wallet/src/core/config/defineConfig.d.ts +3 -6
- package/dist/types/wallet/src/core/config/presignatures.d.ts +3 -0
- package/dist/types/wallet/src/core/diagnostics/registration.d.ts +2 -0
- package/dist/types/wallet/src/core/indexedDB/normalization.d.ts +5 -0
- package/dist/types/wallet/src/core/indexedDB/passkeyClientDB.types.d.ts +2 -2
- package/dist/types/wallet/src/core/indexedDB/pendingWalletRegistrationCommit.d.ts +0 -10
- package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/accountSignerRows.d.ts +44 -0
- package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/ecdsaCapabilityManifestStore.d.ts +0 -2
- package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/ecdsaClientPresignatures.d.ts +0 -5
- package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/manager.d.ts +11 -0
- package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/nonceLeaseRows.d.ts +23 -0
- package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/repositories.d.ts +1 -0
- package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/signerOutboxRows.d.ts +15 -0
- package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/walletOwnershipGeneration.d.ts +6 -0
- package/dist/types/wallet/src/core/indexedDB/unifiedIndexedDBManager.d.ts +1 -1
- package/dist/types/wallet/src/core/rpcClients/near/accountExists.d.ts +3 -0
- package/dist/types/wallet/src/core/rpcClients/near/rpcCalls.d.ts +1 -14
- package/dist/types/wallet/src/core/rpcClients/relayer/ecdsaPrepareSession.d.ts +13 -0
- package/dist/types/wallet/src/core/rpcClients/relayer/ownerWalletExecutionLanePreflight.d.ts +3 -3
- package/dist/types/wallet/src/core/rpcClients/relayer/relayerHttp.d.ts +17 -0
- package/dist/types/wallet/src/core/rpcClients/relayer/routerAbNormalSigning.d.ts +19 -3
- package/dist/types/wallet/src/core/rpcClients/relayer/walletRegistration.d.ts +29 -40
- package/dist/types/wallet/src/core/rpcClients/relayer/walletSessionAuthorizationStatus.d.ts +34 -0
- package/dist/types/wallet/src/core/signingEngine/assembly/ports/shared.d.ts +1 -1
- package/dist/types/wallet/src/core/signingEngine/assembly/ports/warmSigning.d.ts +2 -1
- package/dist/types/wallet/src/core/signingEngine/assembly/warmup.d.ts +2 -14
- package/dist/types/wallet/src/core/signingEngine/chains/near/nearSignerWasm.d.ts +2 -6
- package/dist/types/wallet/src/core/signingEngine/flows/recovery/public.d.ts +1 -1
- package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/emailOtpPublic.d.ts +1 -32
- package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/emailOtpSigningSession.d.ts +3 -82
- package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/readySecp256k1Material.d.ts +62 -1
- package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/requireEvmFamilyStepUpAuth.d.ts +1 -1
- package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/signers/secp256k1.d.ts +4 -55
- package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/signingFlow.d.ts +1 -1
- package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/thresholdAdmission.d.ts +3 -2
- package/dist/types/wallet/src/core/signingEngine/flows/signNear/shared/ed25519YaoNormalSigning.d.ts +45 -1
- package/dist/types/wallet/src/core/signingEngine/flows/signNear/shared/signatureOnlySigning.d.ts +16 -2
- package/dist/types/wallet/src/core/signingEngine/flows/signNear/signNear.d.ts +1 -2
- package/dist/types/wallet/src/core/signingEngine/flows/signNear/signNep413.d.ts +1 -1
- package/dist/types/wallet/src/core/signingEngine/interfaces/ecdsaChainTarget.d.ts +1 -1
- package/dist/types/wallet/src/core/signingEngine/interfaces/near.d.ts +3 -0
- package/dist/types/wallet/src/core/signingEngine/nonce/nearTransactionReadiness.d.ts +3 -0
- package/dist/types/wallet/src/core/signingEngine/routerAb/ecdsaDerivation/presignaturePool.d.ts +9 -5
- package/dist/types/wallet/src/core/signingEngine/routerAb/ecdsaDerivation/presignaturePoolPolicy.d.ts +5 -0
- package/dist/types/wallet/src/core/signingEngine/session/SigningSessionCoordinator.d.ts +1 -7
- package/dist/types/wallet/src/core/signingEngine/session/availability/persistedAvailableSigningLanes.d.ts +1 -1
- package/dist/types/wallet/src/core/signingEngine/session/availability/readiness.d.ts +0 -17
- package/dist/types/wallet/src/core/signingEngine/session/emailOtp/EmailOtpWalletSessionCoordinator.d.ts +2 -2
- package/dist/types/wallet/src/core/signingEngine/session/emailOtp/ecdsaSigningSessionAuthority.d.ts +2 -33
- package/dist/types/wallet/src/core/signingEngine/session/emailOtp/exportRecovery.d.ts +2 -2
- package/dist/types/wallet/src/core/signingEngine/session/emailOtp/exportRecoveryRuntime.d.ts +14 -3
- package/dist/types/wallet/src/core/signingEngine/session/emailOtp/publicTypes.d.ts +1 -2
- package/dist/types/wallet/src/core/signingEngine/session/emailOtp/workerEnrollment.d.ts +0 -12
- package/dist/types/wallet/src/core/signingEngine/session/lanes/walletExecutionLaneHydration.d.ts +11 -25
- package/dist/types/wallet/src/core/signingEngine/session/lifecycle/walletSessionStatus.d.ts +0 -8
- package/dist/types/wallet/src/core/signingEngine/session/material/ecdsaSigningCapability.d.ts +2 -2
- package/dist/types/wallet/src/core/signingEngine/session/operationState/preparedOperation.d.ts +0 -8
- package/dist/types/wallet/src/core/signingEngine/session/operationState/trace.d.ts +1 -1
- package/dist/types/wallet/src/core/signingEngine/session/operationState/transactionState.d.ts +0 -1
- package/dist/types/wallet/src/core/signingEngine/session/passkey/ed25519YaoRecoveryCapability.d.ts +2 -0
- package/dist/types/wallet/src/core/signingEngine/session/public.d.ts +1 -1
- package/dist/types/wallet/src/core/signingEngine/session/routerAbSigningWalletSession.d.ts +2 -0
- package/dist/types/wallet/src/core/signingEngine/session/userPreferences.d.ts +8 -11
- package/dist/types/wallet/src/core/signingEngine/session/warmCapabilities/capabilityReader.d.ts +2 -1
- package/dist/types/wallet/src/core/signingEngine/session/warmCapabilities/capabilityReaderCore.d.ts +2 -1
- package/dist/types/wallet/src/core/signingEngine/stepUpConfirmation/confirmOperation.d.ts +3 -1
- package/dist/types/wallet/src/core/signingEngine/stepUpConfirmation/otpPrompt/authLane.d.ts +6 -12
- package/dist/types/wallet/src/core/signingEngine/threshold/ecdsa/operationStepUp.d.ts +6 -5
- package/dist/types/wallet/src/core/signingEngine/threshold/ed25519/yaoClient.d.ts +6 -17
- package/dist/types/wallet/src/core/signingEngine/uiConfirm/handlers/flows/signing.d.ts +2 -0
- package/dist/types/wallet/src/core/signingEngine/uiConfirm/handlers/handlePromptFromWorker.d.ts +2 -0
- package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/ReviewDisclosure.d.ts +1 -0
- package/dist/types/wallet/src/core/signingEngine/uiConfirm/uiConfirm.types.d.ts +3 -0
- package/dist/types/wallet/src/core/signingEngine/walletCustody/ceremonyDriver.d.ts +0 -1
- package/dist/types/wallet/src/core/signingEngine/walletCustody/walletRegistrationEd25519.d.ts +17 -0
- package/dist/types/wallet/src/core/signingEngine/workerManager/SignerWorkerManager.d.ts +0 -1
- package/dist/types/wallet/src/core/signingEngine/workerManager/ecdsaPresignLifecycle.d.ts +0 -2
- package/dist/types/wallet/src/core/signingEngine/workerManager/ecdsaPresignPoolIdentity.d.ts +9 -0
- package/dist/types/wallet/src/core/signingEngine/workerManager/workerTransport.d.ts +0 -5
- package/dist/types/wallet/src/core/signingEngine/workerManager/workerTypes.d.ts +15 -27
- package/dist/types/wallet/src/core/signingEngine/workerManager/workers/email-otp/enrollment.d.ts +1 -17
- package/dist/types/wallet/src/core/types/rpc.d.ts +0 -1
- package/dist/types/wallet/src/core/types/sdkPublicResults.d.ts +1 -0
- package/dist/types/wallet/src/core/types/sdkSentEvents.d.ts +2 -0
- package/dist/types/wallet/src/core/types/seams.d.ts +12 -9
- package/dist/types/wallet/src/core/types/signer-worker.d.ts +2 -1
- package/dist/types/wallet/src/externalEvm/controller.d.ts +5 -1
- package/dist/types/wallet/src/index.d.ts +5 -2
- package/dist/types/wallet/src/react/components/AccountMenuButton/WalletRegionSection.d.ts +54 -0
- package/dist/types/wallet/src/react/components/AccountMenuButton/WalletSettingsLayout.d.ts +7 -2
- package/dist/types/wallet/src/react/components/AccountMenuButton/index.d.ts +1 -1
- package/dist/types/wallet/src/react/components/AccountMenuButton/types.d.ts +1 -0
- package/dist/types/wallet/src/react/components/HostedSeamsAuthMenu/public.d.ts +1 -1
- package/dist/types/wallet/src/react/components/HostedSeamsAuthMenu/types.d.ts +2 -5
- package/dist/types/wallet/src/react/context/SeamsWebProvider.d.ts +0 -5
- package/dist/types/wallet/src/react/context/useLoginStateRefresher.d.ts +1 -1
- package/dist/types/wallet/src/react/context/useNearProvisioningStateRefresh.d.ts +1 -1
- package/dist/types/wallet/src/react/context/useSeamsContextValue.d.ts +2 -2
- package/dist/types/wallet/src/react/context/useWalletIframeLifecycle.d.ts +4 -2
- package/dist/types/wallet/src/react/hooks/useQRCamera.d.ts +1 -7
- package/dist/types/wallet/src/react/hooks/useWallet.d.ts +5 -6
- package/dist/types/wallet/src/react/hooks/useWalletAuth.d.ts +1 -1
- package/dist/types/wallet/src/react/hooks/useWalletDevices.d.ts +1 -1
- package/dist/types/wallet/src/react/index.d.ts +2 -2
- package/dist/types/wallet/src/react/transactionReview/boundCalls.d.ts +0 -26
- package/dist/types/wallet/src/react/types.d.ts +12 -20
- package/dist/types/wallet/src/react/utils/walletIframe.d.ts +2 -6
- package/dist/workers/device-linking-key.worker.js +18 -0
- package/dist/workers/ecdsa-derivation-client.worker.js +1490 -1268
- package/dist/workers/ecdsa-online-client.worker.js +96 -0
- package/dist/workers/ecdsa-presign-client.worker.js +101 -1
- package/dist/workers/email-otp.worker.js +267 -237
- package/dist/workers/evm-crypto.worker.js +12 -8
- package/dist/workers/passkey-mpc-export.worker.js +30 -1
- package/dist/workers/router_ab_ecdsa_client_bg.wasm +0 -0
- package/dist/workers/router_ab_ed25519_yao_client_bg.wasm +0 -0
- package/dist/workers/shamir3pass.worker.js +10 -8
- package/dist/workers/tempo-signer.worker.js +12 -8
- package/dist/workers/wallet-custody-ceremony.worker.js +3 -1
- package/dist/workers/wallet_custody_ceremony_bg.wasm +0 -0
- package/dist/workers/wasm_signer_worker_bg.wasm +0 -0
- package/package.json +1 -1
- package/dist/esm/SeamsWeb/assembly/browserSigningSurfaceAssembly.js +0 -817
- package/dist/esm/SeamsWeb/assembly/browserWorkerWarmupPolicy.js +0 -31
- package/dist/esm/SeamsWeb/assembly/configureBrowserIndexedDB.js +0 -10
- package/dist/esm/SeamsWeb/assembly/createBrowserRecoveryPublicDeps.js +0 -95
- package/dist/esm/SeamsWeb/assembly/createBrowserSigningRuntime.js +0 -34
- package/dist/esm/SeamsWeb/assembly/createBrowserSigningStores.js +0 -39
- package/dist/esm/SeamsWeb/assembly/createBrowserStepUpRuntime.js +0 -34
- package/dist/esm/SeamsWeb/assembly/createBrowserWarmSessionPublicDeps.js +0 -29
- package/dist/esm/SeamsWeb/assembly/initializeBrowserSigningRuntime.js +0 -19
- package/dist/esm/SeamsWeb/assembly/runtimeConfig.js +0 -12
- package/dist/esm/SeamsWeb/operations/auth/login.js +0 -4383
- package/dist/esm/SeamsWeb/operations/auth/scheduleEcdsaSessionPresignaturePrefill.js +0 -41
- package/dist/esm/SeamsWeb/operations/auth/scheduleLinkedDevicePresignaturePrefill.js +0 -64
- package/dist/esm/SeamsWeb/operations/auth/walletAuth.js +0 -142
- package/dist/esm/SeamsWeb/operations/auth/walletUnlockEcdsaSubject.js +0 -33
- package/dist/esm/SeamsWeb/operations/auth/walletUnlockSubject.js +0 -288
- package/dist/esm/SeamsWeb/operations/authMethods/addAuthMethodSourceClaim.js +0 -72
- package/dist/esm/SeamsWeb/operations/authMethods/emailOtp/addEmailOtp.js +0 -191
- package/dist/esm/SeamsWeb/operations/authMethods/emailOtp/challenge.js +0 -247
- package/dist/esm/SeamsWeb/operations/authMethods/emailOtp/googleEmailOtpWalletAuthFlow.js +0 -568
- package/dist/esm/SeamsWeb/operations/authMethods/emailOtp/localEmailOtpProjection.js +0 -69
- package/dist/esm/SeamsWeb/operations/authMethods/emailOtp/registrationAuthority.js +0 -62
- package/dist/esm/SeamsWeb/operations/authMethods/emailOtp/registrationOffer.js +0 -69
- package/dist/esm/SeamsWeb/operations/authMethods/emailOtp/walletActivation.js +0 -95
- package/dist/esm/SeamsWeb/operations/authMethods/passkey/addPasskey.js +0 -260
- package/dist/esm/SeamsWeb/operations/authMethods/passkey/ecdsaBootstrap.js +0 -17
- package/dist/esm/SeamsWeb/operations/authMethods/passkey/exactPasskeyAuthority.js +0 -34
- package/dist/esm/SeamsWeb/operations/authMethods/passkey/localUnlock.js +0 -16
- package/dist/esm/SeamsWeb/operations/authMethods/passkey/loginAssertion.js +0 -25
- package/dist/esm/SeamsWeb/operations/authMethods/passkey/registrationAuthority.js +0 -84
- package/dist/esm/SeamsWeb/operations/authMethods/revokeAuthMethod.js +0 -205
- package/dist/esm/SeamsWeb/operations/authMethods/sourcePasskeyProof.js +0 -12
- package/dist/esm/SeamsWeb/operations/devices/deviceLinkingAuthorityInstallation.js +0 -444
- package/dist/esm/SeamsWeb/operations/devices/deviceLinkingComposition.js +0 -106
- package/dist/esm/SeamsWeb/operations/devices/deviceLinkingEd25519ExportRoot.js +0 -194
- package/dist/esm/SeamsWeb/operations/devices/deviceLinkingHttpTransport.js +0 -524
- package/dist/esm/SeamsWeb/operations/devices/deviceLinkingOwnerTransport.js +0 -135
- package/dist/esm/SeamsWeb/operations/devices/deviceLinkingResume.js +0 -212
- package/dist/esm/SeamsWeb/operations/devices/deviceLinkingTargetCredential.js +0 -63
- package/dist/esm/SeamsWeb/operations/devices/deviceLinkingTargetEd25519ExportRoot.js +0 -61
- package/dist/esm/SeamsWeb/operations/devices/deviceLinkingWorkerChannels.js +0 -337
- package/dist/esm/SeamsWeb/operations/devices/linkDevice.js +0 -75
- package/dist/esm/SeamsWeb/operations/devices/linkDeviceFlow.js +0 -1383
- package/dist/esm/SeamsWeb/operations/devices/linkDeviceFlowSupport.js +0 -143
- package/dist/esm/SeamsWeb/operations/devices/linkDeviceTargetActivation.js +0 -119
- package/dist/esm/SeamsWeb/operations/devices/walletHostComposition.js +0 -130
- package/dist/esm/SeamsWeb/operations/devices/walletHostOwnerAuthority.js +0 -191
- package/dist/esm/SeamsWeb/operations/evm/index.js +0 -35
- package/dist/esm/SeamsWeb/operations/near/actions.js +0 -484
- package/dist/esm/SeamsWeb/operations/near/commandSubject.js +0 -14
- package/dist/esm/SeamsWeb/operations/near/index.js +0 -37
- package/dist/esm/SeamsWeb/operations/near/signNEP413.js +0 -116
- package/dist/esm/SeamsWeb/operations/recovery/accountSync.js +0 -21
- package/dist/esm/SeamsWeb/operations/recovery/recoveryWalletBinding.js +0 -43
- package/dist/esm/SeamsWeb/operations/recovery/syncAccount.js +0 -912
- package/dist/esm/SeamsWeb/operations/recovery/walletRecoveryCodeBackup.js +0 -100
- package/dist/esm/SeamsWeb/operations/recovery/walletRecoveryRotation.js +0 -213
- package/dist/esm/SeamsWeb/operations/registration/pendingEcdsaRegistrationRecovery.js +0 -184
- package/dist/esm/SeamsWeb/operations/registration/pendingEcdsaRegistrationRecoveryUnlock.js +0 -247
- package/dist/esm/SeamsWeb/operations/registration/pendingEcdsaRegistrationRecoveryValidation.js +0 -134
- package/dist/esm/SeamsWeb/operations/registration/pendingRegistrationRecovery.js +0 -354
- package/dist/esm/SeamsWeb/operations/registration/registration.js +0 -3818
- package/dist/esm/SeamsWeb/operations/registration/registrationEd25519Yao.js +0 -166
- package/dist/esm/SeamsWeb/operations/registration/registrationSignerSet.js +0 -60
- package/dist/esm/SeamsWeb/operations/registration/registrationStrictEcdsa.js +0 -343
- package/dist/esm/SeamsWeb/operations/registration/registrationTerminalCommit.js +0 -296
- package/dist/esm/SeamsWeb/operations/registration/registrationTiming.js +0 -682
- package/dist/esm/SeamsWeb/operations/session/thresholdEcdsaProvisioning.js +0 -36
- package/dist/esm/SeamsWeb/operations/session/thresholdWarmSessionBootstrap.js +0 -20
- package/dist/esm/SeamsWeb/publicApi/preferences.js +0 -61
- package/dist/esm/SeamsWeb/publicApi/recovery.js +0 -19
- package/dist/esm/SeamsWeb/publicApi/types.js +0 -10
- package/dist/esm/SeamsWeb/signingSurface/BrowserSigningSurface.js +0 -3917
- package/dist/esm/SeamsWeb/walletIframe/host/restoredSessionPresignaturePrefill.js +0 -29
- package/dist/esm/core/browser/walletIframe/events.js +0 -6
- package/dist/esm/core/browser/walletIframe/host-mode.js +0 -9
- package/dist/esm/core/config/managedRuntimeScope.js +0 -16
- package/dist/esm/core/indexedDB/seamsWalletDB/pendingWalletRecoveryCodeBackup.js +0 -144
- package/dist/esm/core/platform/browser/createBrowserPlatformRuntime.js +0 -535
- package/dist/esm/core/platform/secretSources.js +0 -111
- package/dist/esm/core/platform/signerCoreCommandAdapters.js +0 -122
- package/dist/esm/core/rpcClients/near/rpcCalls.js +0 -376
- package/dist/esm/core/rpcClients/relayer/ownerWalletExecutionLanePreflight.js +0 -67
- package/dist/esm/core/rpcClients/relayer/passkeyCustodyEnvelope.js +0 -218
- package/dist/esm/core/rpcClients/relayer/sealedRefreshCapabilities.js +0 -148
- package/dist/esm/core/rpcClients/relayer/thresholdEcdsa.js +0 -235
- package/dist/esm/core/rpcClients/relayer/walletRecoveryGoogleEmailOtp.js +0 -161
- package/dist/esm/core/rpcClients/relayer/walletRegistrationTerminalResponse.js +0 -718
- package/dist/esm/core/signingEngine/assembly/createManagers.js +0 -80
- package/dist/esm/core/signingEngine/assembly/createPorts.js +0 -54
- package/dist/esm/core/signingEngine/assembly/ports/emailOtp.js +0 -30
- package/dist/esm/core/signingEngine/assembly/ports/evmFamily.js +0 -73
- package/dist/esm/core/signingEngine/assembly/ports/near.js +0 -21
- package/dist/esm/core/signingEngine/assembly/ports/recovery.js +0 -75
- package/dist/esm/core/signingEngine/assembly/ports/registration.js +0 -22
- package/dist/esm/core/signingEngine/assembly/ports/session.js +0 -25
- package/dist/esm/core/signingEngine/assembly/ports/shared.js +0 -39
- package/dist/esm/core/signingEngine/assembly/ports/stepUpRuntime.js +0 -67
- package/dist/esm/core/signingEngine/assembly/ports/warmSigning.js +0 -92
- package/dist/esm/core/signingEngine/assembly/warmup.js +0 -64
- package/dist/esm/core/signingEngine/flows/recovery/ecdsaDerivationExport.js +0 -427
- package/dist/esm/core/signingEngine/flows/recovery/ecdsaExportFlow.js +0 -660
- package/dist/esm/core/signingEngine/flows/recovery/ecdsaExportMaterial.js +0 -249
- package/dist/esm/core/signingEngine/flows/recovery/ed25519YaoExportFlow.js +0 -353
- package/dist/esm/core/signingEngine/flows/recovery/exportKeypairOperation.js +0 -213
- package/dist/esm/core/signingEngine/flows/recovery/exportLaneSelection.js +0 -283
- package/dist/esm/core/signingEngine/flows/recovery/keyExportConfirmation.js +0 -325
- package/dist/esm/core/signingEngine/flows/recovery/keyExportFlow.js +0 -81
- package/dist/esm/core/signingEngine/flows/recovery/passkeyEd25519YaoRecovery.js +0 -192
- package/dist/esm/core/signingEngine/flows/recovery/public.js +0 -26
- package/dist/esm/core/signingEngine/flows/recovery/stepUpAuthorization.js +0 -139
- package/dist/esm/core/signingEngine/flows/registration/nearProvisioningRegistry.js +0 -79
- package/dist/esm/core/signingEngine/flows/registration/public.js +0 -85
- package/dist/esm/core/signingEngine/flows/registration/services/ecdsaRegistrationSessions.js +0 -77
- package/dist/esm/core/signingEngine/flows/registration/services/passkeyEd25519YaoAddSigner.js +0 -82
- package/dist/esm/core/signingEngine/flows/registration/session.js +0 -24
- package/dist/esm/core/signingEngine/flows/signEvmFamily/emailOtpPublic.js +0 -123
- package/dist/esm/core/signingEngine/nonce/NonceCoordinator.js +0 -1026
- package/dist/esm/core/signingEngine/nonce/evmNonceLane.js +0 -182
- package/dist/esm/core/signingEngine/nonce/nearNonceLane.js +0 -669
- package/dist/esm/core/signingEngine/nonce/nonceDiagnostics.js +0 -232
- package/dist/esm/core/signingEngine/nonce/nonceLeaseState.js +0 -128
- package/dist/esm/core/signingEngine/nonce/nonceUtils.js +0 -33
- package/dist/esm/core/signingEngine/session/SigningSessionCoordinator.js +0 -344
- package/dist/esm/core/signingEngine/session/authority/authorityOperationResolver.js +0 -114
- package/dist/esm/core/signingEngine/session/availability/canonicalLaneInventory.js +0 -127
- package/dist/esm/core/signingEngine/session/availability/clientSessionExpiryInvalidator.js +0 -72
- package/dist/esm/core/signingEngine/session/availability/persistedAvailableSigningLanes.js +0 -214
- package/dist/esm/core/signingEngine/session/availability/readiness.js +0 -464
- package/dist/esm/core/signingEngine/session/emailOtp/EmailOtpWalletSessionCoordinator.js +0 -130
- package/dist/esm/core/signingEngine/session/emailOtp/ecdsaBootstrapCommit.js +0 -106
- package/dist/esm/core/signingEngine/session/emailOtp/ecdsaLifecycleRuntime.js +0 -47
- package/dist/esm/core/signingEngine/session/emailOtp/ecdsaLogin.js +0 -930
- package/dist/esm/core/signingEngine/session/emailOtp/ecdsaPublication.js +0 -414
- package/dist/esm/core/signingEngine/session/emailOtp/ecdsaRecovery.js +0 -264
- package/dist/esm/core/signingEngine/session/emailOtp/ed25519ExportContext.js +0 -373
- package/dist/esm/core/signingEngine/session/emailOtp/exportRecovery.js +0 -284
- package/dist/esm/core/signingEngine/session/emailOtp/exportRecoveryRuntime.js +0 -50
- package/dist/esm/core/signingEngine/session/emailOtp/persistedSnapshot.js +0 -22
- package/dist/esm/core/signingEngine/session/emailOtp/publicTypes.js +0 -38
- package/dist/esm/core/signingEngine/session/emailOtp/routePlan.js +0 -60
- package/dist/esm/core/signingEngine/session/emailOtp/runtimeConfig.js +0 -24
- package/dist/esm/core/signingEngine/session/emailOtp/sealedRefreshPolicy.js +0 -49
- package/dist/esm/core/signingEngine/session/emailOtp/sealedRestoreOrchestrator.js +0 -234
- package/dist/esm/core/signingEngine/session/emailOtp/sealedRuntimePurpose.js +0 -16
- package/dist/esm/core/signingEngine/session/emailOtp/sealedSessionRegistry.js +0 -40
- package/dist/esm/core/signingEngine/session/emailOtp/status.js +0 -72
- package/dist/esm/core/signingEngine/session/emailOtp/walletUnlock.js +0 -168
- package/dist/esm/core/signingEngine/session/emailOtp/warmSessionRuntime.js +0 -70
- package/dist/esm/core/signingEngine/session/emailOtp/workerEnrollment.js +0 -159
- package/dist/esm/core/signingEngine/session/emailOtp/workerRequests.js +0 -84
- package/dist/esm/core/signingEngine/session/emailOtp/zeroize.js +0 -9
- package/dist/esm/core/signingEngine/session/identity/exactWalletSessionCredential.js +0 -104
- package/dist/esm/core/signingEngine/session/identity/exactWalletSessionReader.js +0 -54
- package/dist/esm/core/signingEngine/session/identity/ownerLaneScope.js +0 -185
- package/dist/esm/core/signingEngine/session/lanes/walletExecutionLaneHydration.js +0 -194
- package/dist/esm/core/signingEngine/session/lifecycle/canonicalWalletSessionStatus.js +0 -32
- package/dist/esm/core/signingEngine/session/lifecycle/walletSessionStatus.js +0 -123
- package/dist/esm/core/signingEngine/session/material/ecdsaCapabilityHydration.js +0 -75
- package/dist/esm/core/signingEngine/session/material/ecdsaSealedRuntime.js +0 -197
- package/dist/esm/core/signingEngine/session/material/mpcCapabilityHydration.js +0 -79
- package/dist/esm/core/signingEngine/session/material/nearEd25519YaoSigningPreparation.js +0 -122
- package/dist/esm/core/signingEngine/session/material/restorableMpcMaterialRef.internal.js +0 -21
- package/dist/esm/core/signingEngine/session/passkey/ecdsaBootstrap.js +0 -184
- package/dist/esm/core/signingEngine/session/passkey/ecdsaKeyFactsInventory.js +0 -205
- package/dist/esm/core/signingEngine/session/passkey/ecdsaRecovery.js +0 -84
- package/dist/esm/core/signingEngine/session/passkey/ecdsaSessionProvision.js +0 -224
- package/dist/esm/core/signingEngine/session/passkey/ecdsaWarmCapabilityBootstrap.js +0 -147
- package/dist/esm/core/signingEngine/session/passkey/ed25519Provisioner.js +0 -55
- package/dist/esm/core/signingEngine/session/passkey/ed25519SessionProvision.js +0 -228
- package/dist/esm/core/signingEngine/session/passkey/ed25519YaoLocalMaterial.js +0 -536
- package/dist/esm/core/signingEngine/session/passkey/ed25519YaoRecoveryCapability.js +0 -94
- package/dist/esm/core/signingEngine/session/passkey/ed25519YaoSealedSession.js +0 -57
- package/dist/esm/core/signingEngine/session/passkey/ed25519YaoWarmRecovery.js +0 -281
- package/dist/esm/core/signingEngine/session/passkey/passkeyCustodySessionCache.js +0 -90
- package/dist/esm/core/signingEngine/session/passkey/public.js +0 -15
- package/dist/esm/core/signingEngine/session/passkey/unlockEcdsaWarmupPlanner.js +0 -247
- package/dist/esm/core/signingEngine/session/persistence/clientSessionPersistence.js +0 -135
- package/dist/esm/core/signingEngine/session/persistence/walletSessionAuthorizationProjection.js +0 -51
- package/dist/esm/core/signingEngine/session/planning/operationIdBinding.js +0 -36
- package/dist/esm/core/signingEngine/session/postconditions/runtimePostconditions.js +0 -163
- package/dist/esm/core/signingEngine/session/public.js +0 -44
- package/dist/esm/core/signingEngine/session/routerAbSigningWalletSession.js +0 -119
- package/dist/esm/core/signingEngine/session/sealedRecovery/exactRecordLookup.js +0 -148
- package/dist/esm/core/signingEngine/session/sealedRecovery/recoveryRecord.js +0 -248
- package/dist/esm/core/signingEngine/session/sealedRecovery/restoreCoordinator.js +0 -229
- package/dist/esm/core/signingEngine/session/userPreferences.js +0 -212
- package/dist/esm/core/signingEngine/session/warmCapabilities/capabilityReader.js +0 -62
- package/dist/esm/core/signingEngine/session/warmCapabilities/capabilityReaderCore.js +0 -293
- package/dist/esm/core/signingEngine/session/warmCapabilities/clearVolatileWarmSigningMaterial.js +0 -44
- package/dist/esm/core/signingEngine/session/warmCapabilities/ecdsaBootstrapPersistence.js +0 -107
- package/dist/esm/core/signingEngine/session/warmCapabilities/ecdsaBootstrapQueue.js +0 -22
- package/dist/esm/core/signingEngine/session/warmCapabilities/ecdsaLoginPrefill.js +0 -93
- package/dist/esm/core/signingEngine/session/warmCapabilities/ecdsaLoginPrefillSigningMaterialSource.js +0 -50
- package/dist/esm/core/signingEngine/session/warmCapabilities/ecdsaProvisionPlan.js +0 -9
- package/dist/esm/core/signingEngine/session/warmCapabilities/ed25519SealedSessionRuntime.js +0 -251
- package/dist/esm/core/signingEngine/session/warmCapabilities/nearEd25519CapabilityRehydration.js +0 -98
- package/dist/esm/core/signingEngine/session/warmCapabilities/public.js +0 -31
- package/dist/esm/core/signingEngine/session/warmCapabilities/readModel.js +0 -155
- package/dist/esm/core/signingEngine/session/warmCapabilities/routerAbEd25519WalletSessionState.js +0 -256
- package/dist/esm/core/signingEngine/session/warmCapabilities/statusReader.js +0 -100
- package/dist/esm/core/signingEngine/session/warmCapabilities/transitions.js +0 -47
- package/dist/esm/core/signingEngine/session/warmCapabilities/types.js +0 -122
- package/dist/esm/core/signingEngine/session/warmCapabilities/volatileWarmMaterialCommands.js +0 -45
- package/dist/esm/core/signingEngine/stepUpConfirmation/channel/confirmCommon.js +0 -89
- package/dist/esm/core/signingEngine/stepUpConfirmation/channel/confirmTypes.js +0 -12
- package/dist/esm/core/signingEngine/stepUpConfirmation/otpPrompt/authLane.js +0 -31
- package/dist/esm/core/signingEngine/stepUpConfirmation/otpPrompt/exportAuthorization.js +0 -108
- package/dist/esm/core/signingEngine/stepUpConfirmation/passkeyPrompt/touchIdPrompt.js +0 -271
- package/dist/esm/core/signingEngine/stepUpConfirmation/passkeyPrompt/webauthnPromptCoordinator.js +0 -167
- package/dist/esm/core/signingEngine/stepUpConfirmation/userConfirmationType.js +0 -15
- package/dist/esm/core/signingEngine/threshold/crypto/ed25519YaoLaneWasm.js +0 -67
- package/dist/esm/core/signingEngine/threshold/ecdsa/activation.js +0 -267
- package/dist/esm/core/signingEngine/threshold/ecdsa/bootstrapSession.js +0 -115
- package/dist/esm/core/signingEngine/threshold/ecdsa/postRegistrationSessionActivation.js +0 -132
- package/dist/esm/core/signingEngine/threshold/ecdsa/signingQueue.js +0 -16
- package/dist/esm/core/signingEngine/threshold/ed25519/commitQueue.js +0 -16
- package/dist/esm/core/signingEngine/threshold/ed25519/connectSession.js +0 -137
- package/dist/esm/core/signingEngine/threshold/ed25519/yaoActiveClientRegistry.js +0 -146
- package/dist/esm/core/signingEngine/threshold/ed25519/yaoClient.js +0 -563
- package/dist/esm/core/signingEngine/threshold/ed25519/yaoPageLifecycleOwner.js +0 -23
- package/dist/esm/core/signingEngine/uiConfirm/PasskeyMpcExportManager.js +0 -233
- package/dist/esm/core/signingEngine/uiConfirm/PasskeyMpcSessionDurableState.js +0 -493
- package/dist/esm/core/signingEngine/uiConfirm/PasskeyMpcSessionManager.js +0 -746
- package/dist/esm/core/signingEngine/uiConfirm/UiConfirmManager.js +0 -599
- package/dist/esm/core/signingEngine/uiConfirm/confirmationReadinessRegistry.js +0 -41
- package/dist/esm/core/signingEngine/uiConfirm/exportConfirmRequest.js +0 -149
- package/dist/esm/core/signingEngine/uiConfirm/handlers/determineConfirmationConfig.js +0 -82
- package/dist/esm/core/signingEngine/uiConfirm/handlers/flowOrchestrator.js +0 -363
- package/dist/esm/core/signingEngine/uiConfirm/handlers/flows/adapters/adapters.js +0 -337
- package/dist/esm/core/signingEngine/uiConfirm/handlers/flows/adapters/request.js +0 -120
- package/dist/esm/core/signingEngine/uiConfirm/handlers/flows/localOnly.js +0 -149
- package/dist/esm/core/signingEngine/uiConfirm/handlers/flows/registration.js +0 -235
- package/dist/esm/core/signingEngine/uiConfirm/handlers/flows/requestRegistrationCredentialConfirmation.js +0 -178
- package/dist/esm/core/signingEngine/uiConfirm/handlers/flows/signing.js +0 -684
- package/dist/esm/core/signingEngine/uiConfirm/handlers/handlePromptFromWorker.js +0 -90
- package/dist/esm/core/signingEngine/uiConfirm/ui/appearance.js +0 -27
- package/dist/esm/core/signingEngine/uiConfirm/ui/confirm-ui.js +0 -516
- package/dist/esm/core/signingEngine/uiConfirm/ui/export-private-key-reveal.js +0 -155
- package/dist/esm/core/signingEngine/uiConfirm/ui/export-viewer-host.js +0 -207
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/ExportPrivateKeySurface.js +0 -318
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/RecoveryCodeBackupSurface.js +0 -518
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/confirmation-controller.js +0 -80
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/mountExportPrivateKeySurface.js +0 -86
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/mountRecoveryCodeBackupSurface.js +0 -82
- package/dist/esm/core/signingEngine/uiConfirm/ui/surface-measurement-binding.js +0 -12
- package/dist/esm/core/signingEngine/uiConfirm/ui/transaction-activity.js +0 -46
- package/dist/esm/core/signingEngine/uiConfirm/ui/transaction-display/confirmation-tree.js +0 -27
- package/dist/esm/core/signingEngine/uiConfirm/warmSessionUiConfirm.js +0 -65
- package/dist/esm/core/signingEngine/walletCustody/activateEd25519Capability.js +0 -122
- package/dist/esm/core/signingEngine/walletCustody/ceremonyActiveClientMetadata.js +0 -94
- package/dist/esm/core/signingEngine/walletCustody/ceremonyDriver.js +0 -171
- package/dist/esm/core/signingEngine/walletCustody/ceremonyStepRunner.js +0 -20
- package/dist/esm/core/signingEngine/walletCustody/ed25519ActiveClient.js +0 -100
- package/dist/esm/core/signingEngine/walletCustody/ed25519Projection.js +0 -32
- package/dist/esm/core/signingEngine/walletCustody/ed25519SeedMaterial.js +0 -92
- package/dist/esm/core/signingEngine/walletCustody/emailOtpLink.js +0 -132
- package/dist/esm/core/signingEngine/walletCustody/joinCustodyWire.js +0 -64
- package/dist/esm/core/signingEngine/walletCustody/openCustodyCache.js +0 -126
- package/dist/esm/core/signingEngine/walletCustody/passkeyLink.js +0 -180
- package/dist/esm/core/signingEngine/walletCustody/recoveryReplacementEnvelope.js +0 -60
- package/dist/esm/core/signingEngine/walletCustody/registrationCeremony.js +0 -460
- package/dist/esm/core/signingEngine/walletCustody/unlockedEd25519ExportRootCapability.js +0 -258
- package/dist/esm/core/signingEngine/walletCustody/walletRecoveryCredential.js +0 -23
- package/dist/esm/core/signingEngine/walletCustody/walletRecoveryEcdsa.js +0 -75
- package/dist/esm/core/signingEngine/walletCustody/walletRecoveryEd25519.js +0 -129
- package/dist/esm/core/signingEngine/walletCustody/walletRecoveryManifest.js +0 -178
- package/dist/esm/core/signingEngine/walletCustody/walletRecoveryRotation.js +0 -102
- package/dist/esm/core/signingEngine/webauthnAuth/credentials/collectAuthenticationCredentialForChallengeB64u.js +0 -154
- package/dist/esm/core/signingEngine/webauthnAuth/device/signerSlot.js +0 -25
- package/dist/esm/core/signingEngine/webauthnAuth/walletOriginWebAuthn.js +0 -109
- package/dist/esm/core/signingEngine/workerManager/SignerWorkerManager.js +0 -68
- package/dist/esm/core/signingEngine/workerManager/deviceLinkingPorts.js +0 -342
- package/dist/esm/core/signingEngine/workerManager/deviceLinkingSourceContribution.js +0 -158
- package/dist/esm/core/signingEngine/workerManager/ecdsaClientWorkerChannels.js +0 -13
- package/dist/esm/core/signingEngine/workerManager/workerTransport.js +0 -734
- package/dist/esm/core/types/confirmationConfig.js +0 -39
- package/dist/esm/core/types/secure-confirm-worker.js +0 -22
- package/dist/esm/core/walletRuntimePaths/emailOtpWorker.js +0 -12
- package/dist/esm/core/walletRuntimePaths/multichainWorkers.js +0 -25
- package/dist/esm/core/walletRuntimePaths/walletCustodyCeremonyWorker.js +0 -18
- package/dist/esm/core/walletRuntimePaths/workers.js +0 -93
- package/dist/esm/react/context/useEagerPrewarm.js +0 -38
- package/dist/esm/sdk/EvmClient-DoxytQaJ.js +0 -1
- package/dist/esm/sdk/NearClient-vJ65Wjrq.js +0 -1
- package/dist/esm/sdk/NonceCoordinator-BBeadCSq.js +0 -1
- package/dist/esm/sdk/accountLifecycle-EyfYPnuT.js +0 -1
- package/dist/esm/sdk/actions-DZLxCcrU.js +0 -1
- package/dist/esm/sdk/adapters-DtAyuoiA.js +0 -2
- package/dist/esm/sdk/base-Xtd32asf.js +0 -1
- package/dist/esm/sdk/bytes-t5S5mkat.js +0 -1
- package/dist/esm/sdk/canonicalPrimitives-MPGET2cl.js +0 -1
- package/dist/esm/sdk/canonicalSignerErrorCode-C0hh_SVi.js +0 -1
- package/dist/esm/sdk/chains-yAls2d9X.js +0 -1
- package/dist/esm/sdk/challengeDelivery-cAsaUC6U.js +0 -1
- package/dist/esm/sdk/configHelpers-CseiVoZD.js +0 -1
- package/dist/esm/sdk/csp-stylesheet-B1fAhrGB.js +0 -2
- package/dist/esm/sdk/defaultConfigs-CWpApkMq.js +0 -1
- package/dist/esm/sdk/display-jK7_hYho.js +0 -1
- package/dist/esm/sdk/domainIds-GDzjOs6i.js +0 -1
- package/dist/esm/sdk/ecdsaCapabilityManifest-CHFu-QrV.js +0 -1
- package/dist/esm/sdk/ecdsaPresignLifecycle-CQnCxSlq.js +0 -1
- package/dist/esm/sdk/ecdsaPresignPoolIdentity-Ci-ovDlv.js +0 -1
- package/dist/esm/sdk/enrichDisplayModelWithAbi-CR-4ebuU.js +0 -1
- package/dist/esm/sdk/evmFamilyEcdsaIdentity-Br3iFdQx.js +0 -1
- package/dist/esm/sdk/exactSessionState-CjD8gekO.js +0 -210
- package/dist/esm/sdk/exactSigningLaneIdentity-olheZx_n.js +0 -1
- package/dist/esm/sdk/export-viewer-host-jo7h_0wl.js +0 -1
- package/dist/esm/sdk/helpers-D4QckQhq.js +0 -1
- package/dist/esm/sdk/host-BAqOYnju.js +0 -1
- package/dist/esm/sdk/intentDigest-CB6zy3lN.js +0 -1
- package/dist/esm/sdk/jsxRuntime.module-CoHsKD_3.js +0 -1
- package/dist/esm/sdk/keyMaterialBrands-uVZHfAh3.js +0 -1
- package/dist/esm/sdk/localOnly-DBQRG6Qh.js +0 -1
- package/dist/esm/sdk/messages-Cv2j4SKI.js +0 -1
- package/dist/esm/sdk/mountExportPrivateKeySurface-G7Z_9JMQ.js +0 -1
- package/dist/esm/sdk/nearEd25519YaoMaterialActivation-DQIw8ho3.js +0 -1
- package/dist/esm/sdk/nearEd25519YaoSigningPreparation-Bp_CvWRz.js +0 -1
- package/dist/esm/sdk/nearRpcResults--cBcfmp4.js +0 -1
- package/dist/esm/sdk/normalization-BGPR6osg.js +0 -1
- package/dist/esm/sdk/operationFingerprint-5-wH2Ht8.js +0 -1
- package/dist/esm/sdk/passkey-custody-LP4UTFbn.js +0 -1
- package/dist/esm/sdk/pendingWalletRecoveryCodeBackup-BNk4ebsY.js +0 -1
- package/dist/esm/sdk/recovery-entrypoint-DkT8sFO5.js +0 -1
- package/dist/esm/sdk/registration-Btozh7uh.js +0 -1
- package/dist/esm/sdk/registration-CSAG_h4Y.js +0 -1
- package/dist/esm/sdk/registrationIds-BIel5S0i.js +0 -1
- package/dist/esm/sdk/registrationIntent-DV1GYZ3K.js +0 -1
- package/dist/esm/sdk/registrationPreparationPreload-vOCqNuG4.js +0 -1
- package/dist/esm/sdk/registrationSignerPlan-FzD3TwxB.js +0 -1
- package/dist/esm/sdk/relayerHttp-DaPeS929.js +0 -1
- package/dist/esm/sdk/routePlan-B_KJaPtm.js +0 -1
- package/dist/esm/sdk/router-Dd3fFHk3.js +0 -1
- package/dist/esm/sdk/routerAbNormalSigning-D_fHjq5l.js +0 -1
- package/dist/esm/sdk/runtime-auth-B2M91rSx.js +0 -1
- package/dist/esm/sdk/runtime-device-link-ojjPSRaG.js +0 -1
- package/dist/esm/sdk/runtime-ecdsa-tempo-CE4JLgmn.js +0 -1
- package/dist/esm/sdk/runtime-email-otp-DDwtKVAe.js +0 -1
- package/dist/esm/sdk/runtime-export-JXYk8sQ-.js +0 -1
- package/dist/esm/sdk/runtime-near-BB8AG6dV.js +0 -1
- package/dist/esm/sdk/runtime-preferences-DKFZYccW.js +0 -1
- package/dist/esm/sdk/runtime-recovery-C_XjsDBg.js +0 -1
- package/dist/esm/sdk/runtime-recovery-codes-CWp839mH.js +0 -1
- package/dist/esm/sdk/runtimeContext-BpObgzbj.js +0 -6
- package/dist/esm/sdk/runtimeLoader-DjgBf_yF.js +0 -1
- package/dist/esm/sdk/sdkSentEvents-_RGAEeld.js +0 -1
- package/dist/esm/sdk/secp256k1-B_6W9QDJ.js +0 -1
- package/dist/esm/sdk/sessionPolicy-CNVK7nJ6.js +0 -1
- package/dist/esm/sdk/shared-j_KsFbCT.js +0 -1
- package/dist/esm/sdk/signEvmFamily-CcLVBm0f.js +0 -1
- package/dist/esm/sdk/signNear-mWbTE2Dl.js +0 -1
- package/dist/esm/sdk/signerDomain-BhUTzDmF.js +0 -1
- package/dist/esm/sdk/signerLoader-By0IY24G.js +0 -1
- package/dist/esm/sdk/signingFlow-LUWrZi2d.js +0 -2
- package/dist/esm/sdk/trace-M34pNGuF.js +0 -1
- package/dist/esm/sdk/transaction-activity-BbDod7ji.js +0 -1
- package/dist/esm/sdk/transactionReview-CBE5oH4c.js +0 -1
- package/dist/esm/sdk/transactionReviewAdmission-0ZgWs6q3.js +0 -1
- package/dist/esm/sdk/transactionState-9d7f3xVj.js +0 -1
- package/dist/esm/sdk/validation-dC1-_uyG.js +0 -1
- package/dist/esm/sdk/wallet-recovery-CcDZ1hMH.js +0 -1
- package/dist/esm/sdk/walletAuthority-CoWSeqvQ.js +0 -1
- package/dist/esm/sdk/walletCustodyEcdsaContinuity-B7xi7nwh.js +0 -1
- package/dist/esm/sdk/walletRecoveryCommit-ljxVeo-d.js +0 -1
- package/dist/esm/sdk/walletRecoveryRotate-HztDcDaY.js +0 -1
- package/dist/esm/sdk/warmSessionHydration-BPGM0YRU.js +0 -1
- package/dist/esm/shared-ts/src/authorization/walletCustodyOperation.js +0 -16
- package/dist/esm/shared-ts/src/device-linking/contracts.js +0 -8
- package/dist/esm/shared-ts/src/device-linking/ed25519ExportRoot.js +0 -167
- package/dist/esm/shared-ts/src/passkey-custody/ceremonyCommitPayload.js +0 -43
- package/dist/esm/shared-ts/src/signing-lanes/participants.js +0 -256
- package/dist/esm/shared-ts/src/signing-lanes/recordParsers.js +0 -479
- package/dist/esm/shared-ts/src/threshold/secp256k1.js +0 -6
- package/dist/esm/shared-ts/src/utils/addAuthMethodRegistration.js +0 -103
- package/dist/esm/shared-ts/src/utils/ecdsaKeyFactsInventory.js +0 -43
- package/dist/esm/shared-ts/src/utils/exactKeys.js +0 -17
- package/dist/esm/shared-ts/src/utils/routerAbTraceContext.js +0 -36
- package/dist/esm/shared-ts/src/utils/walletAddSignerActivation.js +0 -32
- package/dist/public/sdk/EvmClient-DoxytQaJ.js +0 -1
- package/dist/public/sdk/NearClient-vJ65Wjrq.js +0 -1
- package/dist/public/sdk/NonceCoordinator-BBeadCSq.js +0 -1
- package/dist/public/sdk/accountLifecycle-EyfYPnuT.js +0 -1
- package/dist/public/sdk/actions-DZLxCcrU.js +0 -1
- package/dist/public/sdk/adapters-DtAyuoiA.js +0 -2
- package/dist/public/sdk/base-Xtd32asf.js +0 -1
- package/dist/public/sdk/bytes-t5S5mkat.js +0 -1
- package/dist/public/sdk/canonicalPrimitives-MPGET2cl.js +0 -1
- package/dist/public/sdk/canonicalSignerErrorCode-C0hh_SVi.js +0 -1
- package/dist/public/sdk/chains-yAls2d9X.js +0 -1
- package/dist/public/sdk/challengeDelivery-cAsaUC6U.js +0 -1
- package/dist/public/sdk/configHelpers-CseiVoZD.js +0 -1
- package/dist/public/sdk/csp-stylesheet-B1fAhrGB.js +0 -2
- package/dist/public/sdk/defaultConfigs-CWpApkMq.js +0 -1
- package/dist/public/sdk/display-jK7_hYho.js +0 -1
- package/dist/public/sdk/domainIds-GDzjOs6i.js +0 -1
- package/dist/public/sdk/ecdsaCapabilityManifest-CHFu-QrV.js +0 -1
- package/dist/public/sdk/ecdsaPresignLifecycle-CQnCxSlq.js +0 -1
- package/dist/public/sdk/ecdsaPresignPoolIdentity-Ci-ovDlv.js +0 -1
- package/dist/public/sdk/enrichDisplayModelWithAbi-CR-4ebuU.js +0 -1
- package/dist/public/sdk/evmFamilyEcdsaIdentity-Br3iFdQx.js +0 -1
- package/dist/public/sdk/exactSessionState-CjD8gekO.js +0 -210
- package/dist/public/sdk/exactSigningLaneIdentity-olheZx_n.js +0 -1
- package/dist/public/sdk/export-viewer-host-jo7h_0wl.js +0 -1
- package/dist/public/sdk/helpers-D4QckQhq.js +0 -1
- package/dist/public/sdk/host-BAqOYnju.js +0 -1
- package/dist/public/sdk/intentDigest-CB6zy3lN.js +0 -1
- package/dist/public/sdk/jsxRuntime.module-CoHsKD_3.js +0 -1
- package/dist/public/sdk/keyMaterialBrands-uVZHfAh3.js +0 -1
- package/dist/public/sdk/localOnly-DBQRG6Qh.js +0 -1
- package/dist/public/sdk/messages-Cv2j4SKI.js +0 -1
- package/dist/public/sdk/mountExportPrivateKeySurface-G7Z_9JMQ.js +0 -1
- package/dist/public/sdk/nearEd25519YaoMaterialActivation-DQIw8ho3.js +0 -1
- package/dist/public/sdk/nearEd25519YaoSigningPreparation-Bp_CvWRz.js +0 -1
- package/dist/public/sdk/nearRpcResults--cBcfmp4.js +0 -1
- package/dist/public/sdk/normalization-BGPR6osg.js +0 -1
- package/dist/public/sdk/operationFingerprint-5-wH2Ht8.js +0 -1
- package/dist/public/sdk/passkey-custody-LP4UTFbn.js +0 -1
- package/dist/public/sdk/pendingWalletRecoveryCodeBackup-BNk4ebsY.js +0 -1
- package/dist/public/sdk/recovery-entrypoint-DkT8sFO5.js +0 -1
- package/dist/public/sdk/registration-Btozh7uh.js +0 -1
- package/dist/public/sdk/registration-CSAG_h4Y.js +0 -1
- package/dist/public/sdk/registrationIds-BIel5S0i.js +0 -1
- package/dist/public/sdk/registrationIntent-DV1GYZ3K.js +0 -1
- package/dist/public/sdk/registrationPreparationPreload-vOCqNuG4.js +0 -1
- package/dist/public/sdk/registrationSignerPlan-FzD3TwxB.js +0 -1
- package/dist/public/sdk/relayerHttp-DaPeS929.js +0 -1
- package/dist/public/sdk/routePlan-B_KJaPtm.js +0 -1
- package/dist/public/sdk/router-Dd3fFHk3.js +0 -1
- package/dist/public/sdk/routerAbNormalSigning-D_fHjq5l.js +0 -1
- package/dist/public/sdk/runtime-auth-B2M91rSx.js +0 -1
- package/dist/public/sdk/runtime-device-link-ojjPSRaG.js +0 -1
- package/dist/public/sdk/runtime-ecdsa-tempo-CE4JLgmn.js +0 -1
- package/dist/public/sdk/runtime-email-otp-DDwtKVAe.js +0 -1
- package/dist/public/sdk/runtime-export-JXYk8sQ-.js +0 -1
- package/dist/public/sdk/runtime-near-BB8AG6dV.js +0 -1
- package/dist/public/sdk/runtime-preferences-DKFZYccW.js +0 -1
- package/dist/public/sdk/runtime-recovery-C_XjsDBg.js +0 -1
- package/dist/public/sdk/runtime-recovery-codes-CWp839mH.js +0 -1
- package/dist/public/sdk/runtimeContext-BpObgzbj.js +0 -6
- package/dist/public/sdk/runtimeLoader-DjgBf_yF.js +0 -1
- package/dist/public/sdk/sdkSentEvents-_RGAEeld.js +0 -1
- package/dist/public/sdk/secp256k1-B_6W9QDJ.js +0 -1
- package/dist/public/sdk/sessionPolicy-CNVK7nJ6.js +0 -1
- package/dist/public/sdk/shared-j_KsFbCT.js +0 -1
- package/dist/public/sdk/signEvmFamily-CcLVBm0f.js +0 -1
- package/dist/public/sdk/signNear-mWbTE2Dl.js +0 -1
- package/dist/public/sdk/signerDomain-BhUTzDmF.js +0 -1
- package/dist/public/sdk/signerLoader-By0IY24G.js +0 -1
- package/dist/public/sdk/signingFlow-LUWrZi2d.js +0 -2
- package/dist/public/sdk/trace-M34pNGuF.js +0 -1
- package/dist/public/sdk/transaction-activity-BbDod7ji.js +0 -1
- package/dist/public/sdk/transactionReview-CBE5oH4c.js +0 -1
- package/dist/public/sdk/transactionReviewAdmission-0ZgWs6q3.js +0 -1
- package/dist/public/sdk/transactionState-9d7f3xVj.js +0 -1
- package/dist/public/sdk/validation-dC1-_uyG.js +0 -1
- package/dist/public/sdk/wallet-recovery-CcDZ1hMH.js +0 -1
- package/dist/public/sdk/walletAuthority-CoWSeqvQ.js +0 -1
- package/dist/public/sdk/walletCustodyEcdsaContinuity-B7xi7nwh.js +0 -1
- package/dist/public/sdk/walletRecoveryCommit-ljxVeo-d.js +0 -1
- package/dist/public/sdk/walletRecoveryRotate-HztDcDaY.js +0 -1
- package/dist/public/sdk/warmSessionHydration-BPGM0YRU.js +0 -1
- package/dist/public/sdk/workers/evm_crypto.wasm +0 -0
- package/dist/public/sdk/workers/near_signer.wasm +0 -0
- package/dist/public/sdk/workers/tempo_signer.wasm +0 -0
- package/dist/types/wallet/src/SeamsWeb/assembly/browserWorkerWarmupPolicy.d.ts +0 -4
- package/dist/types/wallet/src/SeamsWeb/assembly/configureBrowserIndexedDB.d.ts +0 -3
- package/dist/types/wallet/src/SeamsWeb/operations/auth/walletAuth.d.ts +0 -56
- package/dist/types/wallet/src/SeamsWeb/operations/evm/index.d.ts +0 -9
- package/dist/types/wallet/src/SeamsWeb/operations/near/index.d.ts +0 -11
- package/dist/types/wallet/src/SeamsWeb/operations/recovery/accountSync.d.ts +0 -19
- package/dist/types/wallet/src/SeamsWeb/publicApi/devices.typecheck.d.ts +0 -2
- package/dist/types/wallet/src/SeamsWeb/publicApi/preferences.d.ts +0 -8
- package/dist/types/wallet/src/SeamsWeb/publicApi/recovery.d.ts +0 -14
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/config-guards.d.ts +0 -15
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/registrationPreparationPreload.d.ts +0 -2
- package/dist/types/wallet/src/core/signingEngine/flows/registration/public.d.ts +0 -68
- package/dist/types/wallet/src/react/context/useEagerPrewarm.d.ts +0 -3
- package/dist/workers/evm_crypto.wasm +0 -0
- package/dist/workers/near_signer.wasm +0 -0
- package/dist/workers/tempo_signer.wasm +0 -0
- /package/dist/esm/sdk/{accountIds-C3Ihsd2c.js → accountIds-BzZs7YoX.js} +0 -0
- /package/dist/esm/sdk/{base64-ojm5DKcF.js → base64-CsEj-_bC.js} +0 -0
- /package/dist/esm/sdk/{browser-CsOGMbMy.js → browser-D4wUl_77.js} +0 -0
- /package/dist/esm/sdk/{errors-DfbnsXjO.js → errors-BZO3LF6G.js} +0 -0
- /package/dist/esm/sdk/{events-BJyVcnsn.js → events-DsQJQ0Cl.js} +0 -0
- /package/dist/esm/sdk/{executeWorkerOperation-CrFf3FkL.js → executeWorkerOperation-BInr8RYN.js} +0 -0
- /package/dist/esm/sdk/{jsonRpc-C85RYR0A.js → jsonRpc-DrCYQIM9.js} +0 -0
- /package/dist/esm/sdk/{keccak-zexutGfG.js → keccak-B02Fekdh.js} +0 -0
- /package/dist/esm/sdk/{profileAccountProjection-DHCaMtOu.js → profileAccountProjection-DmmfMood.js} +0 -0
- /package/dist/esm/sdk/{signerSlot-BQ1g5JNV.js → signerSlot-Dto7dObP.js} +0 -0
- /package/dist/esm/sdk/{surface-measurement-reporter-OICExWKE.js → surface-measurement-reporter-IlPOI3QK.js} +0 -0
- /package/dist/public/sdk/{accountIds-C3Ihsd2c.js → accountIds-BzZs7YoX.js} +0 -0
- /package/dist/public/sdk/{base64-ojm5DKcF.js → base64-CsEj-_bC.js} +0 -0
- /package/dist/public/sdk/{browser-CsOGMbMy.js → browser-D4wUl_77.js} +0 -0
- /package/dist/public/sdk/{errors-DfbnsXjO.js → errors-BZO3LF6G.js} +0 -0
- /package/dist/public/sdk/{events-BJyVcnsn.js → events-DsQJQ0Cl.js} +0 -0
- /package/dist/public/sdk/{executeWorkerOperation-CrFf3FkL.js → executeWorkerOperation-BInr8RYN.js} +0 -0
- /package/dist/public/sdk/{jsonRpc-C85RYR0A.js → jsonRpc-DrCYQIM9.js} +0 -0
- /package/dist/public/sdk/{keccak-zexutGfG.js → keccak-B02Fekdh.js} +0 -0
- /package/dist/public/sdk/{profileAccountProjection-DHCaMtOu.js → profileAccountProjection-DmmfMood.js} +0 -0
- /package/dist/public/sdk/{signerSlot-BQ1g5JNV.js → signerSlot-Dto7dObP.js} +0 -0
- /package/dist/public/sdk/{surface-measurement-reporter-OICExWKE.js → surface-measurement-reporter-IlPOI3QK.js} +0 -0
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { base64UrlEncode } from "./base64.js";
|
|
2
|
-
import { alphabetizeStringify, sha256BytesUtf8 } from "./digests.js";
|
|
3
|
-
import { parseCanonicalEcdsaServerActivationRequest } from "./ecdsaCapabilityActivation.js";
|
|
4
|
-
//#region ../shared-ts/src/utils/walletAddSignerActivation.ts
|
|
5
|
-
/**
|
|
6
|
-
* The canonical wallet add-signer ECDSA activation command — the add-signer
|
|
7
|
-
* counterpart of registration's `wallet_registration_activate_v2` command.
|
|
8
|
-
*
|
|
9
|
-
* The client computes the activation request digest locally over this exact
|
|
10
|
-
* alphabetized JSON and journals both before calling activate; the server
|
|
11
|
-
* recomputes the digest from the same coordinates and rejects a mismatch
|
|
12
|
-
* before claiming the activation. Both sides import this one builder so the
|
|
13
|
-
* encoding cannot drift. Unlike the registration command there is no
|
|
14
|
-
* `idempotencyKey` member: add-signer finalize owns idempotency on its own
|
|
15
|
-
* route, and the activate claim is keyed by these coordinates alone.
|
|
16
|
-
*/
|
|
17
|
-
const WALLET_ADD_SIGNER_ECDSA_ACTIVATE_OPERATION = "wallet_add_signer_activate_v2";
|
|
18
|
-
function buildCanonicalWalletAddSignerEcdsaActivationRequest(input) {
|
|
19
|
-
return parseCanonicalEcdsaServerActivationRequest(alphabetizeStringify({
|
|
20
|
-
operation: WALLET_ADD_SIGNER_ECDSA_ACTIVATE_OPERATION,
|
|
21
|
-
addSignerCeremonyId: input.addSignerCeremonyId,
|
|
22
|
-
activationCorrelationId: input.activationCorrelationId,
|
|
23
|
-
publicFacts: input.publicFacts
|
|
24
|
-
}));
|
|
25
|
-
}
|
|
26
|
-
async function computeWalletAddSignerEcdsaActivationRequestDigestB64u(input) {
|
|
27
|
-
return base64UrlEncode(await sha256BytesUtf8(String(buildCanonicalWalletAddSignerEcdsaActivationRequest(input))));
|
|
28
|
-
}
|
|
29
|
-
//#endregion
|
|
30
|
-
export { buildCanonicalWalletAddSignerEcdsaActivationRequest, computeWalletAddSignerEcdsaActivationRequestDigestB64u };
|
|
31
|
-
|
|
32
|
-
//# sourceMappingURL=walletAddSignerActivation.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./jsonRpc-C85RYR0A.js";function t(e,t){let n=typeof e==`string`?e.trim():``;if(!/^0x[0-9a-fA-F]+$/.test(n))throw Error(`Invalid ${t} quantity`);return BigInt(n)}function n(e,t,n){let r=e[t];if(r!==void 0){if(r===null)return null;if(typeof r!=`string`)throw Error(`Invalid ${n} result: ${t}`);return r}}function r(e,t,r){let i=n(e,t,r);if(typeof i==`string`&&!/^0x[0-9a-fA-F]+$/.test(i))throw Error(`Invalid ${r} result: ${t}`);return i}function i(e,t,r){let i=n(e,t,r);if(typeof i==`string`&&!/^0x[0-9a-fA-F]{40}$/.test(i))throw Error(`Invalid ${r} result: ${t}`);return i}function a(e,t,r){let i=n(e,t,r);if(typeof i==`string`&&!/^0x(?:[0-9a-fA-F]{2})*$/.test(i))throw Error(`Invalid ${r} result: ${t}`);return i}function o(e){if(e===null)return null;if(typeof e!=`object`||Array.isArray(e))throw Error(`Invalid eth_getTransactionReceipt result`);let t=e,n=a(t,`transactionHash`,`eth_getTransactionReceipt`),o=i(t,`from`,`eth_getTransactionReceipt`),s=r(t,`blockNumber`,`eth_getTransactionReceipt`),c=r(t,`status`,`eth_getTransactionReceipt`),l=r(t,`gasUsed`,`eth_getTransactionReceipt`),u=r(t,`effectiveGasPrice`,`eth_getTransactionReceipt`),d=r(t,`gasPrice`,`eth_getTransactionReceipt`);return{...n===void 0?{}:{transactionHash:n},...o===void 0?{}:{from:o},...s===void 0?{}:{blockNumber:s},...c===void 0?{}:{status:c},...l===void 0?{}:{gasUsed:l},...u===void 0?{}:{effectiveGasPrice:u},...d===void 0?{}:{gasPrice:d}}}function s(e){if(e===null)return null;if(typeof e!=`object`||Array.isArray(e))throw Error(`Invalid eth_getBlockByNumber result`);let t=e,n=r(t,`number`,`eth_getBlockByNumber`),i=r(t,`baseFeePerGas`,`eth_getBlockByNumber`);return{...n===void 0?{}:{number:n},...i===void 0?{}:{baseFeePerGas:i}}}function c(e){if(typeof e!=`object`||!e||Array.isArray(e))throw Error(`Invalid eth_getTransactionByHash result: calls`);let t=e,n=i(t,`to`,`eth_getTransactionByHash`),o=a(t,`input`,`eth_getTransactionByHash`),s=a(t,`data`,`eth_getTransactionByHash`),c=r(t,`value`,`eth_getTransactionByHash`);return{...n===void 0?{}:{to:n},...o===void 0?{}:{input:o},...s===void 0?{}:{data:s},...c===void 0?{}:{value:c}}}function l(e){if(e===null)return null;if(typeof e!=`object`||Array.isArray(e))throw Error(`Invalid eth_getTransactionByHash result`);let t=e,n=r(t,`blockNumber`,`eth_getTransactionByHash`),o=i(t,`from`,`eth_getTransactionByHash`),s=r(t,`nonce`,`eth_getTransactionByHash`),l=i(t,`to`,`eth_getTransactionByHash`),u=a(t,`input`,`eth_getTransactionByHash`),d=r(t,`value`,`eth_getTransactionByHash`),f=t.calls;if(f!=null&&!Array.isArray(f))throw Error(`Invalid eth_getTransactionByHash result: calls`);let p=Array.isArray(f)?f.map(c):f;return{...n===void 0?{}:{blockNumber:n},...o===void 0?{}:{from:o},...s===void 0?{}:{nonce:s},...l===void 0?{}:{to:l},...u===void 0?{}:{input:u},...d===void 0?{}:{value:d},...p===void 0?{}:{calls:p}}}function u(e){let t=e?.reason;if(t instanceof Error)return t;let n=String(t||``).trim()||`Operation aborted`,r=Error(n);return r.code=`aborted`,r}function d(e){if(e?.aborted)throw u(e)}async function f(e,t){d(t);let n=Math.max(0,Math.floor(Number(e)||0));await new Promise((e,r)=>{let i=null,a=()=>{i&&=(globalThis.clearTimeout(i),null),t?.removeEventListener(`abort`,o)},o=()=>{a(),r(u(t))};i=globalThis.setTimeout(()=>{a(),e()},n),t?.addEventListener(`abort`,o,{once:!0})})}function p(e){let t=e/1000000000n,n=e%1000000000n;if(n===0n)return t.toString();let r=n.toString().padStart(9,`0`).replace(/0+$/,``);return`${t.toString()}.${r}`}function m(e){let t=String(e||``).trim();return/^0x[0-9a-fA-F]{40}$/.test(t)?t:null}function h(e){let t=String(e||``).trim();return/^0x[0-9a-fA-F]+$/.test(t)?t:null}function g(e){let t=e.split(/[\s,]+/).map(e=>e.trim()).filter(Boolean).map(e=>new URL(e).toString());if(t.length===0)throw Error(`RPC URL is not configured`);return Array.from(new Set(t))}function _(n){let r=g(String(n.rpcUrl||``).trim()),i=n.fetchImpl||fetch.bind(globalThis),a=Math.max(1,Math.floor(Number(n.requestTimeoutMs??15e3)||0)),c=async t=>{let n=Math.max(1,Math.floor(Number(t.timeoutMs??a)||0)),o=Date.now(),s=()=>Math.max(1,n-Math.max(0,Date.now()-o)),c=new AbortController,l=async e=>{let t=s(),r=null,i=!1;try{return await new Promise((a,o)=>{r=setTimeout(()=>{if(!i){i=!0;try{e.onTimeout?.()}catch{}o(Error(`${e.label} timed out after ${n}ms`))}},t),e.promise.then(e=>{i||(i=!0,r&&clearTimeout(r),a(e))},e=>{i||(i=!0,r&&clearTimeout(r),o(e))})})}finally{r&&clearTimeout(r)}},u=JSON.stringify({jsonrpc:`2.0`,id:Date.now(),method:t.method,params:t.params}),d=null,f=null;for(let[e,n]of r.entries()){let a=e<r.length-1;c=new AbortController;try{let e=await l({promise:i(n,{method:`POST`,headers:{"content-type":`application/json`},body:u,signal:c.signal}),label:`${t.method} request`,onTimeout:()=>{c.abort()}});if((e.status===429||e.status>=500)&&a){await e.body?.cancel();continue}d=e;break}catch(e){if(f=e,a)continue}}if(!d)throw f?.name===`AbortError`?Error(`${t.method} request timed out after ${n}ms`):f instanceof Error?f:Error(`RPC request failed`);if(d.status===429)throw Error(`RPC throttled; retry shortly`);if(!d.ok)throw Error(`RPC HTTP ${d.status}`);let p=e(await l({promise:d.json(),label:`${t.method} response`,onTimeout:()=>{c.abort();try{d.body?.cancel()}catch{}}}).catch(e=>{throw e?.name===`AbortError`?Error(`${t.method} response timed out after ${n}ms`):e}));if(!p.ok)throw Error(`Invalid ${t.method} response: ${p.error}`);let m=p.value;if(m.kind===`failure`){let e=String(m.error.message||`${t.method} failed`).trim(),n=m.error.code!==void 0&&m.error.code!==null?String(m.error.code).trim():``,r=m.error.data===void 0?``:(()=>{try{return JSON.stringify(m.error.data)}catch{return String(m.error.data)}})(),i=[e];n&&i.push(`code=${n}`),r&&i.push(`data=${r}`);let a=Error(i.join(` | `));throw n&&(a.code=n),m.error.data!==void 0&&(a.data=m.error.data),a.rpcMethod=t.method,a}return m.result},u=async e=>o(await c({method:`eth_getTransactionReceipt`,params:[e.txHash],...e.timeoutMs==null?{}:{timeoutMs:e.timeoutMs}})),_=async e=>s(await c({method:`eth_getBlockByNumber`,params:[e.blockTag,!1],...e.timeoutMs==null?{}:{timeoutMs:e.timeoutMs}})),v=async e=>l(await c({method:`eth_getTransactionByHash`,params:[e.txHash],...e.timeoutMs==null?{}:{timeoutMs:e.timeoutMs}})),y=async e=>t(await c({method:`eth_getTransactionCount`,params:[e.address,e.blockTag??`latest`],...e.timeoutMs==null?{}:{timeoutMs:e.timeoutMs}}),`eth_getTransactionCount`);return{request:c,getTransactionReceipt:u,getBlockByNumber:_,getTransactionByHash:v,getTransactionCount:y,waitForTransactionReceipt:async e=>{let n=Math.max(1,Math.floor(Number(e.timeoutMs??9e4)||0)),r=Math.max(1,Math.floor(Number(e.pollIntervalMs??1250)||0)),i=Math.max(1,Math.floor(Number(e.confirmations??1)||0)),o=Date.now()+n,s=Date.now(),c=Math.min(3e4,Math.max(r*3,Math.floor(n/3))),l=Math.min(15e3,Math.max(r*3,Math.floor(n/6))),g=Math.min(1e4,Math.max(r*3,Math.floor(n/5))),b=null,x=null,S=null,C=null,w=0,T=!1,E=0,D=0,O=0;for(m(e.transactionSenderAddress)&&(S=e.transactionSenderAddress),typeof e.nonceHint==`bigint`&&e.nonceHint>=0n&&(C=e.nonceHint);Date.now()<o;){d(e.signal);let k=null;try{let t=Math.max(1,o-Date.now());k=await u({txHash:e.txHash,timeoutMs:Math.min(a,t)}),b=null}catch(e){b=e instanceof Error?e.message:String(e)}if(k&&typeof k==`object`&&typeof k.blockNumber==`string`){let n=h(k.blockNumber);if(!n)throw Error(`Receipt missing valid blockNumber`);let s=t(n,`receipt.blockNumber`);if(i<=1)return k;let c=Math.max(1,o-Date.now()),l=h((await _({blockTag:`latest`,timeoutMs:Math.min(a,c)}).catch(()=>null))?.number);if(l){let e=t(l,`latest.number`);if(e>=s&&e-s+1n>=BigInt(i))return k}await f(r,e.signal);continue}let A;if(S===null||C===null||!T){let n=Math.max(1,o-Date.now()),r=await v({txHash:e.txHash,timeoutMs:Math.min(a,n)}).catch(()=>null);A=r;let i=m(r?.from),s=h(r?.nonce);if(i&&s){let e=t(s,`tx.nonce`);S===null&&(S=i),C===null&&(C=e),S.toLowerCase()===i.toLowerCase()&&C===e&&(T=!0,E=0,D=0)}}if(S&&C!==null){let n=S,r=C,d=e=>{let i=m(e?.from),a=h(e?.nonce);if(!i||!a||i.toLowerCase()!==n.toLowerCase())return!1;try{return t(a,`tx.nonce`)===r}catch{return!1}},f=Math.max(1,o-Date.now()),p=await y({address:S,blockTag:`latest`,timeoutMs:Math.min(a,f)}).catch(()=>null);if(p!==null&&p>C){let n=Math.max(1,o-Date.now()),r=A===void 0?await v({txHash:e.txHash,timeoutMs:Math.min(a,n)}).catch(()=>null):A;A=r;let s=h(r?.blockNumber);if(d(r)&&(T=!0),s)w=0,E=0,D=0;else if(d(r))w=0,E=0,D=0;else{let e=Math.max(1,o-Date.now()),t=await y({address:S,blockTag:`pending`,timeoutMs:Math.min(a,e)}).catch(()=>null);t!==null&&t<=C?(w=0,D=0):(w+=1,D=0)}if(w>=2){let n=Math.max(1,o-Date.now()),r=await u({txHash:e.txHash,timeoutMs:Math.min(a,n)}).catch(()=>null);if(r&&typeof r.blockNumber==`string`){let e=h(r.blockNumber);if(e){let n=t(e,`receipt.blockNumber`);if(i<=1)return r;let s=Math.max(1,o-Date.now()),c=h((await _({blockTag:`latest`,timeoutMs:Math.min(a,s)}).catch(()=>null))?.number);if(c){let e=t(c,`latest.number`);if(e>=n&&e-n+1n>=BigInt(i))return r}w=0}}if(w>=2){let e=Error(`Transaction dropped or replaced: account nonce advanced past tx nonce (${C.toString()} -> ${p.toString()}).`);throw e.code=`tx_dropped_or_replaced`,e.reason=`dropped`,e.txNonce=C.toString(),e.latestNonce=p.toString(),e.txFrom=S,e.finalizationBranch=`dropped_nonce_advanced`,e}}}else if(p!==null&&p<=C){if(w=0,p<C&&!T){let t=Math.max(1,o-Date.now()),n=A===void 0?await v({txHash:e.txHash,timeoutMs:Math.min(a,t)}).catch(()=>null):A;if(A=n,d(n))T=!0,O=0,E=0,D=0;else{let e=Math.max(1,o-Date.now()),t=await y({address:S,blockTag:`pending`,timeoutMs:Math.min(a,e)}).catch(()=>null);t!==null&&t<=C?(O+=1,E=0,D=0):t!==null&&t>C?(O=0,E=0,D+=1):(O=0,E=0,D=0)}let r=Date.now()-s;if(O>=2&&r>=g){let e=Error(`Transaction dropped or queued behind a nonce gap: tx hash never became visible while account nonce stayed behind tx nonce (${p.toString()} < ${C.toString()}).`);throw e.code=`tx_dropped_or_replaced`,e.reason=`dropped`,e.txNonce=C.toString(),e.latestNonce=p.toString(),e.txFrom=S,e.finalizationBranch=`dropped_nonce_gap`,e}if(D>=2&&r>=l){let e=Error(`Transaction dropped or replaced: tx hash never became visible and pending nonce moved ahead of tx nonce (${C.toString()}).`);throw e.code=`tx_dropped_or_replaced`,e.reason=`replaced`,e.txNonce=C.toString(),e.latestNonce=p.toString(),e.txFrom=S,e.finalizationBranch=`dropped_hash_disappeared`,e}}if(T){let t=Math.max(1,o-Date.now()),n=A===void 0?await v({txHash:e.txHash,timeoutMs:Math.min(a,t)}).catch(()=>null):A;if(A=n,d(n))E=0,D=0;else{let e=Math.max(1,o-Date.now()),t=await y({address:S,blockTag:`pending`,timeoutMs:Math.min(a,e)}).catch(()=>null);t!==null&&t<=C?D=0:t!==null&&t>C?D+=1:D=0}let r=Date.now()-s;if(D>=2&&r>=l){let e=Error(`Transaction dropped or replaced: tx hash disappeared and pending nonce moved ahead of tx nonce (${C.toString()}).`);throw e.code=`tx_dropped_or_replaced`,e.reason=`replaced`,e.txNonce=C.toString(),e.latestNonce=p.toString(),e.txFrom=S,e.finalizationBranch=`dropped_hash_disappeared`,e}}if(!T){let t=Math.max(1,o-Date.now()),n=A===void 0?await v({txHash:e.txHash,timeoutMs:Math.min(a,t)}).catch(()=>null):A;if(A=n,d(n))T=!0,E=0,D=0;else{let e=Math.max(1,o-Date.now()),t=await y({address:S,blockTag:`pending`,timeoutMs:Math.min(a,e)}).catch(()=>null);t!==null&&t===C&&p===C?(E+=1,D=0):t!==null&&t>C?(E=0,D+=1):(E=0,D=0)}let r=Date.now()-s;if(E>=3&&r>=c){let e=Error(`Transaction dropped or replaced: tx hash never became visible to RPC pending pool at nonce ${C.toString()}.`);throw e.code=`tx_dropped_or_replaced`,e.reason=`dropped`,e.txNonce=C.toString(),e.latestNonce=p.toString(),e.txFrom=S,e.finalizationBranch=`dropped_hash_disappeared`,e}if(D>=2&&r>=l){let e=Error(`Transaction dropped or replaced: tx hash never became visible and pending nonce moved ahead of tx nonce (${C.toString()}).`);throw e.code=`tx_dropped_or_replaced`,e.reason=`replaced`,e.txNonce=C.toString(),e.latestNonce=p.toString(),e.txFrom=S,e.finalizationBranch=`dropped_hash_disappeared`,e}}}}if(typeof e.maxFeePerGasHint==`bigint`){let r=Math.max(1,o-Date.now()),i=await _({blockTag:`latest`,timeoutMs:Math.min(a,r)}).catch(()=>null),s=String(i?.baseFeePerGas||``).trim();if(/^0x[0-9a-fA-F]+$/.test(s)){let r=null;try{r=t(s,`baseFeePerGas`)}catch{r=null}if(r!==null&&r>e.maxFeePerGasHint){x===null&&(x=Date.now());let t=Math.min(3e4,Math.floor(n/3));if(Date.now()-x>=t){let t=Error(`Transaction pending due to underpriced fees: maxFeePerGas=${p(e.maxFeePerGasHint)} gwei, latest baseFee=${p(r)} gwei. Retry to re-sign with refreshed fee caps.`);throw t.finalizationBranch=`underpriced_fee`,t}}else x=null}}await f(r,e.signal)}d(e.signal);let k=b?`; last RPC error: ${b}`:``,A=Error(`Timed out waiting for tx receipt after ${n}ms${k}`);throw A.finalizationBranch=`timeout`,A}}}export{_ as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{l as e}from"./validation-dC1-_uyG.js";import{t}from"./errors-DfbnsXjO.js";import{n,t as r}from"./base64-ojm5DKcF.js";import{r as i}from"./secureRandomId-CTdlJ5Mx.js";import{t as a}from"./jsonRpc-C85RYR0A.js";import{a as o,c as s,i as c,n as l,o as u,r as d,s as f,t as p}from"./nearRpcResults--cBcfmp4.js";var m=function(e){return e.Query=`query`,e.Send=`send_tx`,e.Block=`block`,e}(m||{}),h=class e{constructor(e){this.transaction=e.transaction,this.signature=e.signature,this.borsh_bytes=e.borsh_bytes,e.nonceLease&&(this.nonceLease=e.nonceLease),e.serverDispatch&&(this.serverDispatch=e.serverDispatch)}static fromPlain(t){return new e({transaction:t.transaction,signature:t.signature,borsh_bytes:t.borsh_bytes,...t.nonceLease?{nonceLease:t.nonceLease}:{},...t.serverDispatch?{serverDispatch:t.serverDispatch}:{}})}encode(){return new Uint8Array(this.borsh_bytes).buffer}base64Encode(){return n(this.encode())}};function g(e){if(!e)return null;if(Array.isArray(e))return new Uint8Array(e).buffer;if(ArrayBuffer.isView(e)){let t=e;return t.buffer.slice(t.byteOffset,t.byteOffset+t.byteLength)}return e instanceof ArrayBuffer?e:null}function _(t){let r=t?.signedTransaction,i=r&&typeof r==`object`?r:t,a=i.base64Encode;if(e(a))return a.call(i);let o=i.encode;if(e(o))return n(o.call(i));let s=g(i.borsh_bytes);if(s)return n(s);let c=g(i.borshBytes);if(c)return n(c);throw Error(`Invalid signed transaction payload: cannot serialize to base64`)}var v=class e{constructor(t){this.rpcUrls=e.normalizeRpcUrls(t)}static normalizeRpcUrls(e){let n=(Array.isArray(e)?e:e.split(/[\s,]+/).map(e=>e.trim()).filter(Boolean)).map(e=>{try{return new URL(e).toString()}catch(n){let r=t(n)||`Invalid NEAR RPC URL: ${e}`;throw Error(r)}});if(!n.length)throw Error(`NEAR RPC URL cannot be empty`);return Array.from(new Set(n))}errorFromHttpStatus(e){return Error(`RPC request failed: ${e.status} ${e.statusText}`)}errorFromFailedCall(e,t){return t}sendWithRetry(e){return e()}buildRequestBody(e,t){return JSON.stringify({jsonrpc:`2.0`,id:i(`near-rpc`,32,`NEAR JSON-RPC request IDs`),method:e,params:t})}async postOnce(e,t){let n=await fetch(e,{method:`POST`,headers:{"Content-Type":`application/json`},body:t});if(!n.ok)throw this.errorFromHttpStatus(n);let r=await n.text();if(!r?.trim())throw Error(`Empty response from RPC server`);let i=a(JSON.parse(r));if(!i.ok)throw Error(`Invalid NEAR JSON-RPC response: ${i.error}`);return i.value}async requestWithFallback(e){let n;for(let[r,i]of this.rpcUrls.entries())try{let t=await this.postOnce(i,e);return r>0&&console.warn(`[NearClient] RPC succeeded via fallback: ${i}`),t}catch(e){n=e;let a=r<this.rpcUrls.length-1;if(console.warn(`[NearClient] RPC call to ${i} failed${a?`, trying next`:``}: ${t(e)||`RPC request failed`}`),!a)throw e instanceof Error?e:Error(String(e))}throw Error(t(n)||`RPC request failed`)}unwrapRpcResult(e,t){if(e.kind===`failure`)throw this.errorFromRpc(t,e.error);let n=e.result;if(typeof n==`object`&&n&&`error`in n){let e=Reflect.get(n,`error`),r=typeof e==`string`?e:JSON.stringify(e);throw this.errorFromWrappedResult(`${t} Error: ${r}`)}return e.result}async makeRpcCall(e,t,n,r){let i=this.buildRequestBody(e,t);try{let e=await this.requestWithFallback(i);return r(this.unwrapRpcResult(e,n))}catch(e){throw this.errorFromFailedCall(n,e)}}async query(e,t){return this.makeRpcCall(m.Query,e,`Query`,t)}async viewAccessKey(e,t,n){let r={request_type:`view_access_key`,finality:n?.finality||`final`,account_id:e,public_key:t};return this.makeRpcCall(m.Query,r,`View Access Key`,l)}async viewAccessKeyList(e,t){let n={request_type:`view_access_key_list`,finality:t?.finality||`final`,account_id:e};return this.makeRpcCall(m.Query,n,`View Access Key List`,p)}async viewAccount(e){let t={request_type:`view_account`,finality:`final`,account_id:e};return this.makeRpcCall(m.Query,t,`View Account`,d)}async viewCode(e,t){let n={request_type:`view_code`,finality:t?.finality||`final`,account_id:e};return r(await this.makeRpcCall(m.Query,n,`View Code`,o))}async viewBlock(e){return this.makeRpcCall(m.Block,e,`View Block`,c)}async sendTransaction(e,t=`EXECUTED_OPTIMISTIC`){let n={signed_tx_base64:_(e),wait_until:t};return this.sendWithRetry(async()=>{let e=await this.makeRpcCall(m.Send,n,`Send Transaction`,f),t=e.status;if(t&&typeof t==`object`&&`Failure`in t)throw this.errorFromOutcome(`Send Transaction`,e,t.Failure);return e})}async txStatus(e,t){let n={tx_hash:e,sender_account_id:t};return this.makeRpcCall(`EXPERIMENTAL_tx_status`,n,`Tx Status`,f)}async callFunction(e,t,r,i,a){let o={request_type:`call_function`,...a??{finality:`final`},account_id:e,method_name:t,args_base64:n(new TextEncoder().encode(JSON.stringify(r)).buffer)};return i(s((await this.makeRpcCall(m.Query,o,`View Function`,u)).result))}async view(e){return this.callFunction(e.account,e.method,e.args,e.decodeResult)}async getAccessKeys({account:e,block_id:t}){let n={request_type:`view_access_key_list`,account_id:e,finality:`final`};t&&(n.block_id=t,delete n.finality);let r=await this.makeRpcCall(m.Query,n,`View Access Key List`,p),i=[],a=[];for(let e of r.keys)e.access_key.permission===`FullAccess`?i.push(e):e.access_key.permission&&typeof e.access_key.permission==`object`&&`FunctionCall`in e.access_key.permission&&a.push(e);return{fullAccessKeys:i,functionCallAccessKeys:a}}};function y(e){return!!e&&typeof e==`object`&&!Array.isArray(e)}function b(e){if(!e)return;let t=Object.keys(e);return t.length?t[0]:void 0}var x=class e extends Error{constructor(e){super(e.message),this.name=e.name||`NearRpcError`,this.code=e.code,this.type=e.type||`Unknown`,this.kind=e.kind,this.index=e.index,this.short=e.short,this.details=e.details,this.operation=e.operation}static fromOutcome(t,n,r){let{message:i,type:a,kind:o,index:s,short:c}=C(t,r);return new e({message:i||`${t} failed`,short:c||o||`TxExecutionError`,type:a||`Failure`,kind:o,index:s,name:`TxExecutionFailure`,operation:t,details:{Failure:r,outcome:n}})}static fromRpcError(t,n){let r=n.data,{message:i,type:a,kind:o,index:s,short:c}=S(t,r,n.message);return new e({message:i||n.message||`${t} RPC error`,short:c||o||`RPC error`,type:a||`RpcError`,kind:o,index:s,code:typeof n.code==`number`?n.code:void 0,name:n.name||`NearRpcError`,operation:t,details:r})}};function S(e,t,n=``){let r=y(t)?t:void 0,i=y(r?.TxExecutionError)?r.TxExecutionError:void 0;if(!i){let i=typeof t==`string`&&t.trim()?t.trim():r?JSON.stringify(r):n.trim();return{message:`${e} RPC error${i?`: ${i}`:``}`}}return w(e,i)}function C(e,t){let n=y(t)?t:void 0;return n?w(e,n):{message:`${e} failed (Unknown Failure)`}}function w(e,t){if(y(t.InvalidTxError)){let n=t.InvalidTxError,r=b(n)||`InvalidTxError`;y(n.ActionsValidation)&&(r=`ActionsValidation.${b(n.ActionsValidation)}`);let i=r.startsWith(`ActionsValidation.`)?`InvalidTxError: ${r.split(`.`)[1]||`ActionsValidation`}`:`InvalidTxError: ${r}`;return{message:`${e} failed (InvalidTxError: ${r})`,type:`InvalidTxError`,kind:r,short:i}}if(y(t.ActionError)){let n=t.ActionError,r=typeof n.index==`number`?n.index:void 0,i=b(y(n.kind)?n.kind:void 0)||`ActionError`,a=typeof r==`number`?` at action ${r}`:``,o=`ActionError: ${i}`;return{message:`${e} failed${a} (ActionError: ${i})`,type:`ActionError`,kind:i,index:r,short:o}}return{message:`${e} failed (TxExecutionError)`,type:`TxExecutionError`,kind:`TxExecutionError`,short:`TxExecutionError`}}var T=class e extends h{static fromPlain(t){return new e({transaction:t.transaction,signature:t.signature,borsh_bytes:t.borsh_bytes,...t.nonceLease?{nonceLease:t.nonceLease}:{},...t.serverDispatch?{serverDispatch:t.serverDispatch}:{}})}static decode(){throw Error(`SignedTransaction.decode(): borsh deserialization not implemented`)}},E=class extends v{errorFromRpc(e,t){return x.fromRpcError(e,t)}errorFromWrappedResult(e){return new x({message:e,short:`RpcError`,type:`RpcError`})}errorFromOutcome(e,t,n){return x.fromOutcome(e,t,n)}errorFromHttpStatus(e){return e.status===429?Error(`RPC throttled; retry shortly`):super.errorFromHttpStatus(e)}async sendWithRetry(e){let n=null;for(let r=1;r<=5;r++)try{return await e()}catch(e){n=e;let i=t(e);if(!/server error|internal|temporar|timeout|throttl|too many requests|429|unavailable|bad gateway|gateway timeout/i.test(i||``)||r===5)throw e;let a=200*2**(r-1),o=Math.floor(Math.random()*150);await new Promise(e=>setTimeout(e,a+o))}throw n instanceof Error?n:Error(String(n))}};export{T as n,E as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{p as e,u as t}from"./validation-dC1-_uyG.js";import{t as n}from"./errors-DfbnsXjO.js";import{o as r,t as i}from"./accountIds-C3Ihsd2c.js";import{r as a}from"./types-M7vxrYtJ.js";import{_ as o,a as s,b as c,d as l,f as u,g as d,h as f,i as p,m,n as ee,o as h,r as g,t as _,u as v,v as y,x as b,y as x}from"./nonceLaneKeys-BBYi4g51.js";function te(e,t){let n=S(e,t);if(n.ok)return n.state;throw k(n.current,n.transition)}function S(e,t){switch(t){case`release`:return ne(e);case`expire`:return re(e);case`mark_signed`:return ie(e);case`broadcast_accepted`:return ae(e);case`broadcast_rejected`:return oe(e);case`finalize`:return se(e);case`drop`:return ce(e);case`replace`:return C(e);case`reconcile`:return w(e);default:return D(t)}}function ne(e){switch(e){case b.Released:return T(e);case b.Reserved:return T(b.Released);default:return E(e,`release`)}}function re(e){switch(e){case b.Reserved:return T(b.Expired);case b.Signed:return T(b.SignedLeaseExpired);case b.Expired:case b.SignedLeaseExpired:return T(e);default:return E(e,`expire`)}}function ie(e){switch(e){case b.Reserved:case b.Signed:return T(b.Signed);default:return E(e,`mark_signed`)}}function ae(e){switch(e){case b.Signed:case b.BroadcastAccepted:return T(b.BroadcastAccepted);default:return E(e,`broadcast_accepted`)}}function oe(e){switch(e){case b.Signed:case b.BroadcastRejected:return T(b.BroadcastRejected);default:return E(e,`broadcast_rejected`)}}function se(e){switch(e){case b.BroadcastAccepted:case b.Finalized:return T(b.Finalized);default:return E(e,`finalize`)}}function ce(e){switch(e){case b.BroadcastAccepted:case b.Dropped:return T(b.Dropped);default:return E(e,`drop`)}}function C(e){switch(e){case b.BroadcastAccepted:case b.Replaced:return T(b.Replaced);default:return E(e,`replace`)}}function w(e){switch(e){case b.Released:case b.Expired:case b.SignedLeaseExpired:case b.BroadcastRejected:case b.Dropped:case b.Replaced:case b.Reconciled:return T(b.Reconciled);default:return E(e,`reconcile`)}}function T(e){return{ok:!0,state:e}}function E(e,t){return{ok:!1,current:e,transition:t,reason:`illegal_transition`}}function D(e){throw Error(`[NonceCoordinator] unhandled nonce lease transition: ${String(e)}`)}function O(e){return e===b.Reserved||e===b.Signed}function le(e){return e===b.Reserved||e===b.Signed||e===b.BroadcastAccepted}function ue(e){return e===b.Reserved||e===b.Signed||e===b.BroadcastAccepted}function de(e,t){return e.state===c.BroadcastAccepted?!0:(e.state===c.Reserved||e.state===c.Signed)&&e.expiresAtMs>t}function k(e,t){return Error(`[NonceCoordinator] illegal nonce lease transition: ${e} -> ${t}`)}function A(e,t){let n=String(e||``).trim();if(!n)throw Error(`[NonceCoordinator] ${t} is required`);return n}function j(e,t){try{if(typeof e==`bigint`)return e;if(typeof e==`number`&&Number.isSafeInteger(e))return BigInt(e);let t=String(e||``).trim();if(/^\d+$/.test(t))return BigInt(t)}catch{}throw Error(`[NonceCoordinator] invalid ${t}`)}function M(e,t){let n=Math.floor(Number(e));return Number.isFinite(n)&&n>0?n:t}function N(e,t){return String(e||``).trim().toLowerCase().replace(/[^a-z0-9_]+/g,`_`).replace(/^_+|_+$/g,``)||t}function P(...e){return e.length===0?0n:e.reduce((e,t)=>e>t?e:t)}function F(e,t){return e<t?e:t}function fe(){return{chainNonce:null,nextCandidate:null,inFlight:new Map,lastRefreshMs:null,inflightRefresh:null}}function pe(e,t){let n=e.get(t);if(n)return n;let r=fe();return e.set(t,r),r}function me(e){let t=String(e.lane.subjectId||``).trim();if(!t)return;let n=e.accountLaneKeys.get(t);if(!n){e.accountLaneKeys.set(t,new Set([e.laneKey]));return}n.add(e.laneKey)}async function he(e){let{state:t}=e;if(t.inflightRefresh)return await t.inflightRefresh;let n=(async()=>{let n=await e.fetchChainNonce(e.lane),r=n>=0n?n:0n,i=await e.readActiveLeaseNonces({chainNextNonce:r,lane:e.lane}),a=0n;for(let e of i){let t=BigInt(e);t>a&&(a=t)}let o=0n,s=new Map;for(let[e,n]of t.inFlight.entries())n.nonce<r||(s.set(e,n),n.nonce>o&&(o=n.nonce));return t.inFlight=s,t.nextCandidate=P(0n,r,(i.size>0||s.size>0)&&t.nextCandidate||0n,a>0n?a+1n:0n,o>0n?o+1n:0n),t.chainNonce=r,t.lastRefreshMs=e.nowMs,r})();t.inflightRefresh=n;try{return await n}finally{t.inflightRefresh===n&&(t.inflightRefresh=null)}}async function ge(e){return e.state.nextCandidate==null||e.state.lastRefreshMs==null||e.state.inFlight.size>0?!0:(await e.readActiveLeaseNonces({lane:e.lane})).size>0?!1:e.nowMs-e.state.lastRefreshMs>=e.refreshTtlMs}async function _e(e){if(await e.removeCoordinationLease(e.lease),!e.state)return;let t=e.lease.nonce;e.state.inFlight.delete(t.toString()),!((await e.readActiveLeaseNonces({excludeLeaseId:e.lease.leaseId,lane:e.lease.lane})).size>0)&&e.state.inFlight.size===0&&(e.state.lastRefreshMs=null)}async function ve(e){let t=e.lease.nonce,n=ye(e.txHash);e.state.inFlight.set(t.toString(),{nonce:t,txHash:n,status:`accepted`,acceptedAtMs:e.nowMs,updatedAtMs:e.nowMs});let r=t+1n;(e.state.nextCandidate==null||e.state.nextCandidate<r)&&(e.state.nextCandidate=r),await e.persistCoordinationLease(e.lease,{state:c.BroadcastAccepted,txHash:n},e.nowMs+e.staleInFlightThresholdMs)}function ye(e){let t=String(e||``).trim().toLowerCase();if(!/^0x[0-9a-f]{64}$/.test(t))throw Error(`[NonceCoordinator] EVM broadcast acceptance requires txHash`);return t}async function be(e){let t=e.lease.nonce;e.state.inFlight.delete(t.toString());let n=t+1n;e.state.chainNonce=e.state.chainNonce==null?n:P(e.state.chainNonce,n),(e.state.nextCandidate==null||e.state.nextCandidate<n)&&(e.state.nextCandidate=n),e.state.lastRefreshMs=e.nowMs,await e.removeCoordinationLease(e.lease)}async function xe(e){let t=e.lease.nonce;if(e.outcome.reason===m.Dropped)e.state.inFlight.delete(t.toString()),(e.state.chainNonce==null||e.state.chainNonce<=t)&&(e.state.nextCandidate=e.state.nextCandidate==null?t:F(e.state.nextCandidate,t));else{let n=e.state.inFlight.get(t.toString());e.state.inFlight.set(t.toString(),{nonce:t,...e.outcome.txHash?{txHash:e.outcome.txHash}:n?.txHash?{txHash:n.txHash}:{},status:`replaced`,acceptedAtMs:n?.acceptedAtMs??e.nowMs,updatedAtMs:e.nowMs})}e.state.lastRefreshMs=null,await e.removeCoordinationLease(e.lease)}async function Se(e){let t=await e.refreshFromChain(e.lane,e.state),n=Array.from(e.state.inFlight.values()).map(e=>e.nonce).sort((e,t)=>e<t?-1:e>t?1:0),r=Ce({state:e.state,nowMs:e.nowMs,staleInFlightThresholdMs:e.staleInFlightThresholdMs});return{chainNextNonce:t,unresolvedInFlightNonces:n,blocked:!!r,...r?{blockedNonce:r.blockedNonce}:{}}}function Ce(e){let{state:t}=e;if(t.inFlight.size===0||t.chainNonce==null)return null;let n=null,r=null;for(let e of t.inFlight.values())(n==null||e.nonce<n)&&(n=e.nonce,r=e.updatedAtMs);if(n==null||r==null||t.chainNonce>n)return null;let i=Math.max(0,e.nowMs-r);return i<e.staleInFlightThresholdMs?null:{blockedNonce:n,ageMs:i}}function we(e){let t=Error(`[NonceCoordinator] nonce lane blocked on ${l(e.lane)} (nonce=${e.blockedNonce.toString()}) for ${e.ageMs}ms; reconcile or replace/dropped report required`);return t.code=`nonce_lane_blocked`,t.retryable=!0,t.details={chain:e.lane.chainTarget.kind,networkKey:l(e.lane),chainId:e.lane.chainTarget.chainId,blockedNonce:e.blockedNonce.toString(),ageMs:e.ageMs},t}function I(e){let t=String(e?.nextNonce??e?.accessKeyInfo?.nonce??`0`).trim();if(!t)return 0n;try{return BigInt(t)}catch{return 0n}}function Te(e){let t={walletId:String(e.walletId||``).trim(),nearAccountId:String(e.nearAccountId||``).trim(),nearPublicKeyStr:String(e.nearPublicKeyStr||``).trim()};if(!e.accessKeyAvailable&&r(t.nearAccountId))return{kind:`implicit_unfunded`,...t};let n={...t,nonce:I(e.transactionContext),accessKeyNonce:String(e.transactionContext?.accessKeyInfo?.nonce??``).trim(),nextNonce:String(e.transactionContext?.nextNonce??``).trim(),txBlockHeight:String(e.transactionContext?.txBlockHeight??``).trim(),txBlockHash:String(e.transactionContext?.txBlockHash??``).trim()};return r(t.nearAccountId)?{kind:`access_key_available`,...n}:{kind:`sponsored_named_ready`,...n}}function L(e){switch(e.lifecycle.kind){case`uninitialized`:return null;case`access_key_bound`:case`access_key_lookup_pending`:case`implicit_unfunded`:case`lookup_failed`:return e.lifecycle.subject;default:return Ne(e.lifecycle)}}function R(e){let t=L(e);if(!t)throw Error(`[NonceCoordinator] NEAR access key is not initialized`);return t}function z(e){return V(e.lifecycle)?.transactionContext??null}function B(e){return z(e)!==null}function Ee(e){return Ae(e)!==null}function De(e){return L(e)?.nearAccountId??null}function Oe(e){return L(e)?.publicKey??null}function V(e){switch(e.kind){case`uninitialized`:case`implicit_unfunded`:case`lookup_failed`:return null;case`access_key_bound`:return e.context.kind===`ready`?e.context:null;case`access_key_lookup_pending`:return e.previousContext.kind===`ready`?e.previousContext:null;default:return Ne(e)}}function ke(e){return V(e)??{kind:`missing`}}function Ae(e){switch(e.lifecycle.kind){case`access_key_lookup_pending`:return e.lifecycle.promise;case`uninitialized`:case`access_key_bound`:case`implicit_unfunded`:case`lookup_failed`:return null;default:return Ne(e.lifecycle)}}function H(e){let t=V(e.state.lifecycle);e.state.lifecycle={kind:`access_key_bound`,subject:e.subject,context:{kind:`ready`,transactionContext:e.transactionContext,lastNonceUpdateMs:e.updateNonce?e.nowMs:t?.lastNonceUpdateMs??e.nowMs,lastBlockHeightUpdateMs:e.updateBlock?e.nowMs:t?.lastBlockHeightUpdateMs??e.nowMs}}}function je(e){e.state.lifecycle={kind:`access_key_lookup_pending`,subject:e.subject,previousContext:ke(e.state.lifecycle),promise:e.promise}}function Me(e){e.state.lifecycle={kind:`implicit_unfunded`,subject:e.subject,readiness:{kind:`implicit_unfunded`,walletId:e.subject.walletId,nearAccountId:e.subject.nearAccountId,nearPublicKeyStr:e.subject.publicKey}}}function U(e){e.state.lifecycle={kind:`lookup_failed`,subject:e.subject,readiness:{kind:`account_lookup_failed`,walletId:e.subject.walletId,nearAccountId:e.subject.nearAccountId,nearPublicKeyStr:e.subject.publicKey,message:e.message}}}function Ne(e){throw Error(`[NonceCoordinator] unhandled NEAR nonce lane lifecycle: ${String(e)}`)}function Pe(){return{lifecycle:{kind:`uninitialized`},inflightId:0,refreshTimer:null,prefetchTimer:null,reservedNonces:new Set,lastReservedNonce:null,inFlight:new Map}}function W(e){e.refreshTimer&&=(clearTimeout(e.refreshTimer),null)}function Fe(e){e.prefetchTimer&&=(clearTimeout(e.prefetchTimer),null)}function G(e){let t=L(e);e.lifecycle=t?{kind:`access_key_bound`,subject:t,context:{kind:`missing`}}:{kind:`uninitialized`},e.reservedNonces.clear(),e.lastReservedNonce=null,e.inFlight.clear(),W(e),Fe(e)}function Ie(e){e.lifecycle={kind:`uninitialized`},G(e)}function Le(e){let t=A(e.nearAccountId,`nearAccountId`),n=A(e.publicKey,`publicKey`),r=A(e.walletId,`walletId`);if(!r)throw Error(`[NonceCoordinator] NEAR access key walletId is required`);let i={walletId:r,nearAccountId:t,publicKey:n},a=L(e.state);a?.walletId===r&&a.nearAccountId===t&&a.publicKey===n||(e.state.lifecycle={kind:`access_key_bound`,subject:i,context:{kind:`missing`}},G(e.state))}function Re(e){Le({state:e.state,walletId:e.walletId,nearAccountId:e.nearAccountId,publicKey:e.publicKey}),H({state:e.state,subject:R(e.state),transactionContext:e.transactionContext,nowMs:e.nowMs,updateNonce:!0,updateBlock:!0})}async function ze(e){let t=z(e.state);if(!t)throw Error(`NEAR transaction context not available - call fetchNearContext() first`);let n=Math.max(0,Math.floor(Number(e.countInput||0)));if(n<=0)return[];let r=v(e.lane),i=await e.readActiveLeaseNonces(r,{lane:e.lane}),a=0n;for(let e of i){let t=BigInt(e);t>a&&(a=t)}let o=P(e.state.lastReservedNonce?BigInt(e.state.lastReservedNonce)+1n:0n,BigInt(t.nextNonce),a>0n?a+1n:0n),s=[],c=o;for(let t=0;t<n;t+=1){for(;e.state.reservedNonces.has(c.toString())||i.has(c.toString());)c+=1n;let t=c.toString();s.push(t),c+=1n}for(let t of s)e.state.reservedNonces.add(t);return e.state.lastReservedNonce=s[s.length-1]||e.state.lastReservedNonce,s}function Be(e){let t=null;for(let n of e)try{let e=BigInt(n);(t===null||e>t)&&(t=e)}catch{}return t===null?null:t.toString()}function Ve(e,t){e.reservedNonces.delete(String(t))&&(e.lastReservedNonce=Be(e.reservedNonces))}async function He(e){let t=BigInt(e.lease.nonce);e.state.inFlight.set(t.toString(),{nonce:t,txHash:e.txHash,acceptedAtMs:e.nowMs,updatedAtMs:e.nowMs}),await e.persistCoordinationLease(e.lease,{state:c.BroadcastAccepted,txHash:e.txHash})}async function Ue(e){Le({state:e.state,walletId:e.lane.walletId,nearAccountId:e.lane.nearAccountId,publicKey:e.lane.publicKey});let t=await e.nearClient.viewAccessKey(e.lane.nearAccountId,e.lane.publicKey);if(!q(t))throw Error(`Access key not found or invalid for account ${e.lane.nearAccountId}`);let n=J(t),r=BigInt(n.nonce),i=r+1n,a=[];for(let t of e.activeLeases){let n=BigInt(t.nonce),i=e.state.inFlight.get(n.toString());if(n>r){i&&a.push(n);continue}if(!i?.txHash)continue;let o=await K({nearClient:e.nearClient,txHash:i.txHash,accountId:e.lane.nearAccountId});if(o===`finalized`){e.transitionLease({lease:t,transition:`finalize`,reason:`near_tx_status_finalized`,txHash:i.txHash}),await e.removeCoordinationLease(t),e.state.inFlight.delete(n.toString()),Ve(e.state,n.toString());continue}if(o===`missing`){e.transitionLease({lease:t,transition:`drop`,reason:d.NonceAdvancedHashMissing,txHash:i.txHash}),await e.removeCoordinationLease(t),e.state.inFlight.delete(n.toString()),Ve(e.state,n.toString());continue}a.push(n)}let o=z(e.state),s=P(i,o?.nextNonce?BigInt(o.nextNonce):0n,e.state.lastReservedNonce?BigInt(e.state.lastReservedNonce)+1n:0n);if(H({state:e.state,subject:{walletId:e.lane.walletId,nearAccountId:e.lane.nearAccountId,publicKey:e.lane.publicKey},transactionContext:{...o||{nearPublicKeyStr:e.lane.publicKey,txBlockHeight:`0`,txBlockHash:``},accessKeyInfo:n,nextNonce:s.toString()},nowMs:e.now(),updateNonce:!0,updateBlock:!1}),e.state.reservedNonces.size>0){let t=We(r,e.state.reservedNonces);e.state.reservedNonces=t.set,e.state.lastReservedNonce=t.lastReserved}return{chainNextNonce:i,unresolvedInFlightNonces:a.sort((e,t)=>e<t?-1:e>t?1:0),blocked:!1}}async function K(e){try{return await e.nearClient.txStatus(e.txHash,e.accountId),`finalized`}catch(e){let t=n(e);return/unknown transaction|does not exist|not found|not found in storage/i.test(t)?`missing`:`unknown`}}function We(e,t){let n=new Set,r=null;for(let i of t)try{let t=BigInt(i);if(t<=e)continue;n.add(i),(r===null||t>r)&&(r=t)}catch{}return{set:n,lastReserved:r===null?null:r.toString()}}function Ge(e){let t=String(e||``).toLowerCase();return t.includes(`does not exist while viewing`)||t.includes(`access key not found`)||t.includes(`unknown public key`)||t.includes(`unknown_account`)||t.includes(`unknown account`)||t.includes(`unknown_access_key`)||t.includes(`does not exist`)||t.includes(`doesn't exist`)}var Ke=class extends Error{constructor(e){super(`NEAR account ${e.nearAccountId} needs funding before direct NEAR signing.`),this.code=`near_implicit_account_unfunded`,this.name=`NearImplicitAccountFundingRequiredError`,this.nearAccountId=e.nearAccountId,this.readiness=Te({walletId:e.walletId,nearAccountId:e.nearAccountId,nearPublicKeyStr:e.nearPublicKeyStr,accessKeyAvailable:!1})}},qe=class extends Error{constructor(e){super(e.message||`NEAR account ${e.nearAccountId} access key lookup failed.`),this.code=`near_account_lookup_failed`,this.name=`NearAccountLookupFailedError`,this.nearAccountId=e.nearAccountId,this.readiness={kind:`account_lookup_failed`,walletId:e.walletId,nearAccountId:e.nearAccountId,nearPublicKeyStr:e.nearPublicKeyStr,message:this.message}}};async function Je(e){let{state:t}=e,i=Ae(t);if(i&&!e.force)return i;let a=R(t),o=++t.inflightId,s=(async()=>{try{let i=e.now(),s=V(t.lifecycle),c=s?.transactionContext??null,l=e.force||!s||i-s.lastNonceUpdateMs>=e.nonceFreshnessThresholdMs,u=e.force||!s||i-s.lastBlockHeightUpdateMs>=e.blockFreshnessThresholdMs,d=c?.accessKeyInfo,f=c?.txBlockHeight,p=c?.txBlockHash,m=l||!d,ee=u||!f||!p,h=d??null,g=null,_=null,v=null,y=[];if(m&&y.push((async()=>{try{h=await e.nearClient.viewAccessKey(a.nearAccountId,a.publicKey)}catch(e){let t=n(e);if(Ge(t)){if(r(a.nearAccountId)){_=new Ke({walletId:a.walletId,nearAccountId:a.nearAccountId,nearPublicKeyStr:a.publicKey});return}_=new qe({walletId:a.walletId,nearAccountId:a.nearAccountId,nearPublicKeyStr:a.publicKey,message:t});return}_=e}})()),ee&&y.push((async()=>{try{g=await e.nearClient.viewBlock({finality:`final`})}catch(e){v=e}})()),y.length>0&&await Promise.all(y),_)throw _ instanceof Ke?Me({state:t,subject:a}):_ instanceof qe&&U({state:t,subject:a,message:_.message}),_;if(v)throw v;if(m&&(d=q(h)?J(h):c?.accessKeyInfo||Y()),ee){if(!$e(g))throw Error(`[NonceCoordinator] failed to fetch NEAR block info`);f=String(g.header.height),p=g.header.hash}let b=P(d?.nonce===void 0?0n:BigInt(d.nonce)+1n,c?.nextNonce?BigInt(c.nextNonce):0n,t.lastReservedNonce?BigInt(t.lastReservedNonce)+1n:0n,1n),x={nearPublicKeyStr:a.publicKey,accessKeyInfo:d,nextNonce:b.toString(),txBlockHeight:f,txBlockHash:p};return et(L(t),a)&&o===t.inflightId&&H({state:t,subject:a,transactionContext:x,nowMs:e.now(),updateNonce:m,updateBlock:ee}),x}finally{if(o===t.inflightId){let e=L(t);t.lifecycle.kind===`access_key_lookup_pending`&&et(e,a)&&(t.lifecycle={kind:`access_key_bound`,subject:a,context:t.lifecycle.previousContext})}}})();return je({state:t,subject:a,promise:s}),s}async function Ye(e){let{state:t}=e,r=R(t);try{let n=await e.nearClient.viewAccessKey(r.nearAccountId,r.publicKey);if(!q(n))throw Error(`Access key not found or invalid for account ${r.nearAccountId}`);let i=J(n),a=BigInt(i.nonce),o=BigInt(e.actualNonce),s=z(t),c=P(a+1n,o+1n,s?.nextNonce?BigInt(s.nextNonce):0n,t.lastReservedNonce?BigInt(t.lastReservedNonce)+1n:0n);if(H({state:t,subject:r,transactionContext:s?{...s,accessKeyInfo:i,nextNonce:c.toString()}:{nearPublicKeyStr:r.publicKey,accessKeyInfo:i,nextNonce:c.toString(),txBlockHeight:`0`,txBlockHash:``},nowMs:e.now(),updateNonce:!0,updateBlock:!1}),t.inFlight.delete(e.actualNonce),Ve(t,e.actualNonce),t.reservedNonces.size>0){let e=We(a,t.reservedNonces);t.reservedNonces=e.set,t.lastReservedNonce=e.lastReserved}}catch(i){if(Ge(n(i))){let n=BigInt(e.actualNonce),i=z(t),a=P(n+1n,i?.nextNonce?BigInt(i.nextNonce):0n,t.lastReservedNonce?BigInt(t.lastReservedNonce)+1n:0n);H({state:t,subject:r,transactionContext:i?{...i,nextNonce:a.toString()}:{nearPublicKeyStr:r.publicKey,accessKeyInfo:Y(),txBlockHeight:`0`,txBlockHash:``,nextNonce:a.toString()},nowMs:e.now(),updateNonce:!0,updateBlock:!1})}}}async function Xe(e){let{state:t}=e,n=R(t),r=await e.nearClient.viewAccessKey(n.nearAccountId,n.publicKey);if(!q(r))throw Error(`Access key not found or invalid for account ${n.nearAccountId}`);let i=J(r),a=BigInt(i.nonce),o=P(a+1n,t.lastReservedNonce?BigInt(t.lastReservedNonce)+1n:0n,1n),s=z(t);if(H({state:t,subject:n,transactionContext:s?{...s,accessKeyInfo:i,nextNonce:o.toString()}:{nearPublicKeyStr:n.publicKey,accessKeyInfo:i,nextNonce:o.toString(),txBlockHeight:`0`,txBlockHash:``},nowMs:e.now(),updateNonce:!0,updateBlock:!1}),t.reservedNonces.size>0){let e=We(a,t.reservedNonces);t.reservedNonces=e.set,t.lastReservedNonce=e.lastReserved}}function Ze(e){let t=V(e.state.lifecycle);return!t||e.nowMs-t.lastBlockHeightUpdateMs>=e.blockFreshnessThresholdMs||!t}function q(e){if(!t(e))return!1;try{return j(e.nonce,`near access-key nonce`),!0}catch{return!1}}function J(t){let n=t;return{nonce:j(n.nonce,`near access-key nonce`),permission:Qe(n.permission),block_hash:e(n.block_hash)?n.block_hash:``,block_height:typeof n.block_height==`number`?n.block_height:0}}function Qe(n){if(n===`FullAccess`||!t(n))return`FullAccess`;let r=n.FunctionCall;if(!t(r))return`FullAccess`;let i=Array.isArray(r.method_names)?r.method_names.filter(e):[];return{FunctionCall:{allowance:e(r.allowance)?r.allowance:``,receiver_id:e(r.receiver_id)?r.receiver_id:``,method_names:i}}}function $e(e){let t=e;if(!t||typeof t!=`object`)return!1;let n=t.header;return!!n&&typeof n.hash==`string`&&n.height!==void 0}function Y(){return{nonce:0n,permission:`FullAccess`,block_height:0,block_hash:``}}function et(e,t){return e?.walletId===t.walletId&&e.nearAccountId===t.nearAccountId&&e.publicKey===t.publicKey}function tt(e){let t=e.lane,n=e.fallback||y.InRuntimeLock,r=t?l(t):String(e.networkKey||``).trim(),i=t?u(t):String(e.accountId||``).trim(),a=t?.family||e.laneFamily,o=[e.reason,a||``,r,i,n].join(`|`);if(e.observed.has(o))return null;let s={reason:e.reason,...a?{laneFamily:a}:{},...r?{networkKey:r}:{},...i?{accountId:i}:{},fallback:n};return e.observed.set(o,s),{...t?{lane:t}:{},degradation:s}}function nt(e){let t=[v(e.lane),e.reason].join(`|`),n=e.alerts.get(t),r=n&&e.nowMs-n.firstSeenAtMs<=e.windowMs?{count:n.count+1,firstSeenAtMs:n.firstSeenAtMs,lastSeenAtMs:e.nowMs}:{count:1,firstSeenAtMs:e.nowMs,lastSeenAtMs:e.nowMs};return e.alerts.set(t,r),r.count<e.threshold?null:{alert:{kind:`repeated_dropped_or_replaced`,severity:`warning`,lane:e.lane,reason:e.reason,count:r.count,windowMs:e.windowMs,firstSeenAtMs:r.firstSeenAtMs,lastSeenAtMs:r.lastSeenAtMs},warning:{chainTarget:e.lane.chainTarget,networkKey:l(e.lane),chainId:e.lane.chainTarget.chainId,sender:e.lane.sender,nonceKey:e.lane.nonceKey?.toString(),subjectId:e.lane.subjectId,reason:e.reason,count:r.count,windowMs:e.windowMs}}}function rt(){let e={};for(let t of f)e[t]=0;return e}function it(e,t){let n=(t.lease?.lane?u(t.lease.lane):``)||(t.lane?u(t.lane):``)||t.accountId,r=(t,r)=>{e.push({...n?{accountId:n}:{},kind:t,reason:r})};if(t.event===x.LeaseDropped){r(m.Dropped,m.Dropped);return}if(t.event===x.LeaseReplaced){r(m.Replaced,m.Replaced);return}if(t.event===x.LaneReconciled){r(`reconciled`,N(t.reason,`manual`));return}if(t.event===x.LeaseReleased){r(`released`,N(t.reason,`unspecified`));return}if(t.event===x.LeaseExpired){r(`expired`,N(t.reason,`lease_ttl_elapsed`));return}t.event===x.LeaseBroadcastRejected&&r(b.BroadcastRejected,b.BroadcastRejected)}function X(e,t){let n={droppedCount:0,replacedCount:0,reconciledCount:0,releasedCount:0,expiredCount:0,broadcastRejectedCount:0,releaseReasons:{},reconcileReasons:{},expiryReasons:{}};for(let r of e)if(!(t&&r.accountId!==t)){if(r.kind===m.Dropped){n.droppedCount+=1;continue}if(r.kind===m.Replaced){n.replacedCount+=1;continue}if(r.kind===`broadcast_rejected`){n.broadcastRejectedCount+=1;continue}if(r.kind===`reconciled`){n.reconciledCount+=1,n.reconcileReasons[r.reason]=(n.reconcileReasons[r.reason]||0)+1;continue}if(r.kind===`released`){n.releasedCount+=1,n.releaseReasons[r.reason]=(n.releaseReasons[r.reason]||0)+1;continue}r.kind===`expired`&&(n.expiredCount+=1,n.expiryReasons[r.reason]=(n.expiryReasons[r.reason]||0)+1)}return n}function at(e){let t=e.options?.accountId?String(e.options.accountId).trim():``,n=rt(),r=new Map,i=new Set,a=0,o=0,s=0,c=0;for(let l of e.leases){if(t&&u(l.lane)!==t)continue;a+=1,n[l.state]+=1;let d=v(l.lane),f=Math.max(0,e.nowMs-l.reservedAtMs);o=Math.max(o,f),O(l.state)&&(s=Math.max(s,f),l.expiresAtMs<=e.nowMs&&(c+=1,i.add(d)));let p=r.get(d)||{lane:l.lane,leaseCount:0,states:{}};p.leaseCount+=1,p.states[l.state]=(p.states[l.state]||0)+1,r.set(d,p)}let d={atMs:e.nowMs,...t?{accountId:t}:{},leaseCount:a,laneCount:r.size,oldestLeaseAgeMs:o,oldestInFlightLeaseAgeMs:s,staleInFlightLeaseCount:c,staleInFlightLaneCount:i.size,reservedLeaseCount:n[b.Reserved],signedLeaseCount:n[b.Signed],broadcastAcceptedLeaseCount:n[b.BroadcastAccepted],droppedLeaseCount:n[b.Dropped],replacedLeaseCount:n[b.Replaced],reconciledLeaseCount:n[b.Reconciled],releasedLeaseCount:n[b.Released],outcomes:X(e.outcomeMetricEvents,t)},f=De(e.nearState),p=Oe(e.nearState);return{leaseCount:a,leasesByState:n,laneCount:r.size,metrics:d,coordinationWarnings:Array.from(e.observedCoordinationDegradations).filter(e=>!t||!e.accountId||e.accountId===t),lanes:Array.from(r.values()).map(e=>({family:e.lane.family,accountId:u(e.lane),networkKey:l(e.lane),...e.lane.family===`evm`?{chain:e.lane.chainTarget.kind,chainId:e.lane.chainTarget.chainId}:{},leaseCount:e.leaseCount,states:{...e.states}})),near:{...f?{activeAccountId:f}:{},...p?{activePublicKey:p}:{},hasContext:B(e.nearState),reservedNonceCount:e.nearState.reservedNonces.size,...e.nearState.lastReservedNonce?{lastReservedNonce:e.nearState.lastReservedNonce}:{}}}}function ot(e,t){let n=e.trim();if(!n)throw Error(`[NonceCoordinator][near] ${t} is required`);return n}function st(e){let t=e?.find(e=>String(e.network||``).startsWith(`near-`));return String(t?.network||`near`)}function ct(e){return{family:`near`,networkKey:st(e.chains),walletId:ot(e.walletId,`walletId`),nearAccountId:i(e.nearAccountId),publicKey:ot(e.nearPublicKeyStr,`nearPublicKeyStr`)}}const lt=2e4;function ut(e){let n=new Map,r=new Map,i=new Map,l=new Map,d=[],f=new Map,S=e.now||Date.now,ne=M(e.leaseTtlMs,12e4),re=M(e.signedLeaseTtlMs,3e4),ie=M(e.evmRefreshTtlMs,5e3),ae=M(e.evmStaleInFlightThresholdMs,45e3),oe=M(e.droppedReplacedAlertThreshold,3),se=M(e.droppedReplacedAlertWindowMs,3e5),ce=e.sameOriginLock===void 0?ht():e.sameOriginLock,C=e.nonceLaneCoordinationStore??null,w=e.nonceLaneCoordinationStore!==void 0,T=s(),E=new Map,D=t=>{it(d,t);try{e.onTrace?.(t)}catch{}},O=(e,t)=>{let n=tt({observed:E,reason:e,...t});n&&(D({event:x.CoordinationDegraded,...n}),console.warn(`[NonceCoordinator] nonce coordination degraded`,n.degradation))},k=e=>({leaseId:A(e.leaseId,`leaseId`),operationId:a.signingOperation(e.operationId),operationFingerprint:a.signingOperationFingerprint(e.operationFingerprint)}),j=e=>{let t=A(e.leaseId,`leaseId`),r=n.get(t);if(!r)throw Error(`[NonceCoordinator] nonce lease not found`);return ee(r,e.operationId,e.operationFingerprint),r},N=e=>{let t=e.lease.state,n=te(t,e.transition);e.lease.state=n;let r=e.expiresAtMs;typeof r==`number`&&Number.isSafeInteger(r)&&(e.lease.expiresAtMs=r),D({event:e.event,lease:e.lease,previousState:t,nextState:n,...e.reason?{reason:e.reason}:{},...e.txHash?{txHash:e.txHash}:{}})},P=(e,t)=>{te(e.state,t)},F=e=>pe(r,e),fe=(e,t)=>{me({accountLaneKeys:i,lane:e,laneKey:t})},ye=async(e,t)=>{if(!C)return w&&O(o.IndexedDBUnavailable,{lane:t}),[];try{await C.pruneExpired(S())}catch{O(o.DurableStoreError,{lane:t})}try{return await C.readLane(e)}catch{return O(o.DurableStoreError,{lane:t}),[]}},I=async(e,t)=>{let r=new Set;for(let i of n.values()){if(t?.excludeLeaseId&&i.leaseId===t.excludeLeaseId||!Z(i)||v(i.lane)!==e||!le(i.state))continue;let n=i.nonce;t?.chainNextNonce!=null&&n<t.chainNextNonce||r.add(n.toString())}for(let n of await ye(e,t?.lane))n.record.family===`evm`&&(t?.excludeLeaseId&&n.record.leaseId===t.excludeLeaseId||de(n.record,S())&&(t?.chainNextNonce!=null&&n.nonce<t.chainNextNonce||r.add(n.nonce.toString())));return r},Te=async(e,t)=>{let r=new Set;for(let i of n.values()){if(t?.excludeLeaseId&&i.leaseId===t.excludeLeaseId||!Q(i)||v(i.lane)!==e||!ue(i.state))continue;let n=BigInt(i.nonce);t?.chainNextNonce!=null&&n<t.chainNextNonce||r.add(n.toString())}for(let n of await ye(e,t?.lane))n.record.family===`near`&&(t?.excludeLeaseId&&n.record.leaseId===t.excludeLeaseId||de(n.record,S())&&(t?.chainNextNonce!=null&&n.nonce<t.chainNextNonce||r.add(n.nonce.toString())));return r},R=async(e,t,n=e.expiresAtMs)=>{let r=C;if(!r){w&&O(o.IndexedDBUnavailable,{lane:e.lane});return}Z(e)?await z(r,pt({lease:e,lifecycle:t,expiresAtMs:n,updatedAtMs:S(),runtimeId:T}),e.lane):Q(e)?await z(r,mt({lease:e,lifecycle:t,expiresAtMs:n,updatedAtMs:S(),runtimeId:T}),e.lane):ft(e)},z=async(e,t,n)=>{try{await e.upsert(t)}catch{O(o.DurableStoreError,{lane:n})}},B=async e=>{if(C)try{await C.remove({laneKey:v(e.lane),leaseId:e.leaseId})}catch{O(o.DurableStoreError,{lane:e.lane})}},De=async(t,n)=>{let r=v(t);return await he({lane:t,state:n,nowMs:S(),fetchChainNonce:async t=>await e.evmNonceBackend.fetchChainNonce(h(t)),readActiveLeaseNonces:async e=>await I(r,e)})},V=async(e,t,n)=>await ge({state:t,lane:n,nowMs:S(),refreshTtlMs:ie,readActiveLeaseNonces:async t=>await I(e,t)}),ke=async e=>{await st(e.lane);let t=v(e.lane),r=F(t);fe(e.lane,t),await V(t,r,e.lane)&&await De(e.lane,r);let i=Ce({state:r,nowMs:S(),staleInFlightThresholdMs:ae});if(i)throw we({lane:e.lane,blockedNonce:i.blockedNonce,ageMs:i.ageMs});let a=r.chainNonce??r.nextCandidate??0n,o=await I(t,{lane:e.lane});for(;o.has(a.toString())||r.inFlight.has(a.toString());)a+=1n;r.nextCandidate=a+1n;let s=S(),l={leaseId:p({operationId:e.operation.operationId,chain:e.lane.chainTarget.kind,nonce:a}),lane:e.lane,operationId:e.operation.operationId,operationFingerprint:e.operation.operationFingerprint,nonce:a,state:b.Reserved,reservedAtMs:s,expiresAtMs:s+ne};return n.set(l.leaseId,l),await R(l,{state:c.Reserved}),D({event:x.LeaseReserved,lease:l}),{...l}},Ae=async e=>{let t=v(e.lane);await _e({lease:e,state:r.get(t),removeCoordinationLease:B,readActiveLeaseNonces:async e=>await I(t,e)})},H=async(e,t)=>{await ve({lease:e,state:F(v(e.lane)),txHash:t,nowMs:S(),staleInFlightThresholdMs:ae,persistCoordinationLease:R})},je=async e=>{await be({lease:e,state:F(v(e.lane)),nowMs:S(),removeCoordinationLease:B})},Me=async(e,t)=>{await xe({lease:e,state:F(v(e.lane)),outcome:t,nowMs:S(),removeCoordinationLease:B})},U=async e=>{let t=v(e),n=F(t);return fe(e,t),await Se({lane:e,state:n,nowMs:S(),staleInFlightThresholdMs:ae,refreshFromChain:De})},Ne=e=>{let t=nt({alerts:l,lane:e.lane,reason:e.reason,nowMs:S(),threshold:oe,windowMs:se});t&&(D({event:x.LaneAlert,lane:e.lane,alert:t.alert}),console.warn(`[NonceCoordinator] repeated EVM-family dropped/replaced nonce outcomes`,t.warning))},W=Pe(),G=()=>{Ie(W)},Be=t=>{let n=t||e.nearClient;if(!n)throw Error(`[NonceCoordinator] NEAR client is not configured`);return n},K=e=>{Le({state:W,...e})},We=async(e,t)=>await ze({state:W,lane:e,countInput:t,readActiveLeaseNonces:Te}),Ge=e=>{Ve(W,e)},Ke=async(e,t=!1)=>await Je({state:W,nearClient:e,force:t,now:S,nonceFreshnessThresholdMs:5e3,blockFreshnessThresholdMs:lt}),qe=async e=>(K({walletId:e.lane.walletId,nearAccountId:e.lane.nearAccountId,publicKey:e.lane.publicKey}),{...await Ke(Be(e.nearClient),e.force===!0)}),J=async(e,t)=>{await Ye({state:W,nearClient:e,actualNonce:t,now:S})},Qe=async e=>{await Xe({state:W,nearClient:e,now:S})},$e=async e=>{let t=v(e);return await Ue({lane:e,state:W,nearClient:Be(),now:S,activeLeases:Array.from(n.values()).filter(e=>e.lane.family===`near`&&v(e.lane)===t&&e.state===b.BroadcastAccepted),removeCoordinationLease:B,transitionLease:({lease:e,transition:t,reason:n,txHash:r})=>{N({lease:e,transition:t,event:t===`finalize`?x.LeaseFinalized:x.LeaseDropped,reason:n,...r?{txHash:r}:{}})}})},Y=async e=>{if(Z(e)){await Ae(e);return}Ge(String(e.nonce)),await B(e)},et=async e=>{await Y(e),e.lane.family===`evm`&&(await U(e.lane),D({event:x.LaneReconciled,lane:e.lane}))},rt=async(e,t)=>{let n=f.get(e)??Promise.resolve(),r,i=new Promise(e=>{r=e}),a=n.catch(()=>void 0).then(()=>i);f.set(e,a),await n.catch(()=>void 0);try{return await t()}finally{r(),f.get(e)===a&&f.delete(e)}},X=async(e,n)=>{let r=v(e),i=async()=>await rt(r,n),a=`nonce-coordinator:${r}`;if(ce)return await ce.withLock(a,i);if(C?.withLock){let n=null,r=async()=>{try{return await i()}catch(e){throw n=e,e}};try{return await C.withLock({lockKey:a,ownerId:T,ttlMs:5e3,waitTimeoutMs:3e3},r)}catch(r){throw n===r||O((t(r)?String(r.code||``):``)===o.DurableLockTimeout?o.DurableLockTimeout:o.DurableStoreError,{lane:e,fallback:y.None}),r}}return w&&O(o.WebLocksUnavailable,{lane:e}),await i()},ot=async(e,t)=>{if(e.expiresAtMs>t||e.state!==b.Reserved&&e.state!==b.Signed)return null;let n=e.state;return e.state===b.Signed?await et(e):await Y(e),N({lease:e,transition:`expire`,event:x.LeaseExpired,reason:n===b.Signed?`signed_lease_ttl_elapsed`:`lease_ttl_elapsed`}),{...e}},st=async e=>{let t=S(),r=v(e),i=[];for(let e of Array.from(n.values())){if(v(e.lane)!==r)continue;let n=await ot(e,t);n&&i.push(n)}return i},ct=async e=>{let t=e?.walletId?String(e.walletId).trim():``,r=new Map;for(let e of Array.from(n.values()))t&&u(e.lane)!==t||r.set(v(e.lane),e.lane);let i=[];for(let e of r.values())i.push(...await X(e,async()=>st(e)));return i},ut=async t=>{if(!C){w&&O(o.IndexedDBUnavailable);return}let n=[];try{n=await C.readAllForRecovery(t)}catch{O(o.DurableStoreError);return}for(let t of n){if(!t.ok){t.leaseId&&await C.remove({laneKey:t.laneKey,leaseId:t.leaseId}),O(t.degradation.reason,{accountId:t.degradation.accountId,networkKey:t.degradation.networkKey,laneFamily:t.degradation.laneFamily,fallback:t.degradation.fallback});continue}let{record:n,lane:r,canonicalLaneKey:i,nonce:a}=t.parsed;await X(r,async()=>{if(n.laneKey!==i){await C.remove({laneKey:n.laneKey,leaseId:n.leaseId}),O(o.MalformedDurableRecord,{accountId:u(r),networkKey:n.networkKey,laneFamily:n.family,fallback:y.None});return}let t=n.expiresAtMs<=S();if(t&&n.state!==c.BroadcastAccepted){await C.remove({laneKey:n.laneKey,leaseId:n.leaseId}),n.family===`evm`&&await U(r).catch(()=>null),D({event:x.LaneReconciled,lane:r,reason:`startup_recovery_expired_lease`});return}if(n.family===`evm`){let i=r,o=F(n.laneKey),s=null;if(n.state===c.BroadcastAccepted){let t=dt(n.txHash);if(o.inFlight.set(n.nonce.toString(),{nonce:a,txHash:t,status:`accepted`,acceptedAtMs:n.reservedAtMs,updatedAtMs:n.updatedAtMs}),s=await e.evmNonceBackend.fetchBroadcastTransactionStatus({...h(i),txHash:t}).catch(()=>null),s?.kind===`finalized`){o.inFlight.delete(n.nonce.toString()),await C.remove({laneKey:n.laneKey,leaseId:n.leaseId}),await U(i).catch(()=>null),D({event:x.LaneReconciled,lane:i,reason:`startup_recovery_finalized_transaction`,txHash:n.txHash});return}}let l=await U(i).catch(()=>null),u=!!l&&l.chainNextNonce>a,d=n.state===c.BroadcastAccepted&&s?.kind===`missing`&&t;(u||d)&&(o.inFlight.delete(n.nonce.toString()),await C.remove({laneKey:n.laneKey,leaseId:n.leaseId})),D({event:x.LaneReconciled,lane:i,reason:d?`startup_recovery_dropped_transaction`:`startup_recovery`,...d&&n.state===c.BroadcastAccepted?{txHash:n.txHash}:{}});return}if(n.family===`near`&&e.nearClient)try{let t=await e.nearClient.viewAccessKey(n.nearAccountId,n.publicKey);q(t)&&BigInt(t.nonce)>=a&&await C.remove({laneKey:n.laneKey,leaseId:n.leaseId})}catch{}})}},$=async e=>{await st(e.lane);let t=Math.max(1,Math.floor(Number(e.count||1))),r=await We(e.lane,t);if(r.length!==t)throw Error(`[NonceCoordinator] NEAR nonce reservation returned an incomplete batch`);let i=S(),a=g({operationId:e.operation.operationId,chain:`near`,firstNonce:r[0],count:t}),o=r.map((t,n)=>({leaseId:p({operationId:e.operation.operationId,chain:`near`,nonce:t}),lane:e.lane,operationId:e.operation.operationId,operationFingerprint:e.operation.operationFingerprint,nonce:t,state:b.Reserved,reservedAtMs:i,expiresAtMs:i+ne,batchId:a,txIndex:n}));for(let e of o)n.set(e.leaseId,e),await R(e,{state:c.Reserved}),D({event:x.LeaseReserved,lease:e});return o.map(e=>({...e}))},gt=e=>{let t=e?.accountId?String(e.accountId).trim():``,r=at({options:e,leases:n.values(),nearState:W,observedCoordinationDegradations:E.values(),outcomeMetricEvents:d,nowMs:S()});return e?.emitMetrics&&D({event:x.Metrics,metrics:r.metrics,...t?{accountId:t}:{}}),r};return{async reserve(e){if(e.lane.family===`near`){let t=e.lane;return await X(t,async()=>(await $({lane:t,operation:e.operation,count:1}))[0])}let t=e.lane;return await X(t,async()=>await ke({lane:t,operation:e.operation}))},async reserveBatch(e){return await X(e.lane,async()=>await $(e))},async reserveNearContext(e){return await X(e.lane,async()=>{K({walletId:e.lane.walletId,nearAccountId:e.lane.nearAccountId,publicKey:e.lane.publicKey});let t={...e.fetchContext?await e.fetchContext():await qe({lane:e.lane,nearClient:e.nearClient,force:e.force!==!1})};Re({state:W,walletId:e.lane.walletId,nearAccountId:e.lane.nearAccountId,publicKey:e.lane.publicKey,transactionContext:t,nowMs:S()});let n=await $({lane:e.lane,operation:e.operation,count:e.count});return n[0]&&(t.nextNonce=String(n[0].nonce)),{context:t,leases:n}})},initializeNearAccessKey:K,getActiveNearPublicKey(){return Oe(W)},async fetchNearContext(e){return await X(e.lane,async()=>qe(e))},async prefetchNearContext(e){if(e?.kind===`access_key_subject`&&K({walletId:e.walletId,nearAccountId:e.nearAccountId,publicKey:e.publicKey}),!L(W))return;Fe(W);let t=Be(e?.nearClient);W.prefetchTimer=setTimeout(()=>{W.prefetchTimer=null,!Ee(W)&&Ze({state:W,nowMs:S(),blockFreshnessThresholdMs:lt})&&Ke(t).catch(()=>void 0)},400)},clearNearAccessKey(){G();for(let[e,t]of n.entries())t.lane.family===`near`&&n.delete(e)},async markSigned(e){let t=k(e);return await X(j(t).lane,async()=>{let n=j(t),r=S()+re;N({lease:n,transition:`mark_signed`,event:x.LeaseSigned,expiresAtMs:r,...e.signedTxHash?{txHash:e.signedTxHash}:{}}),await R(n,{state:c.Signed},r)})},async markBroadcastAccepted(e){let t=k(e);return await X(j(t).lane,async()=>{let n=j(t);P(n,`broadcast_accepted`),Z(n)?await H(n,String(e.txHash)):Q(n)?await He({lease:n,state:W,txHash:String(e.txHash),nowMs:S(),persistCoordinationLease:R}):ft(n),N({lease:n,transition:`broadcast_accepted`,event:x.LeaseBroadcastAccepted,txHash:String(e.txHash)})})},async markBroadcastRejected(t){let n=k(t);return await X(j(n).lane,async()=>{let r=j(n);if(P(r,`broadcast_rejected`),await Y(r),Q(r)&&e.nearClient)try{await Qe(e.nearClient)}catch{}N({lease:r,transition:`broadcast_rejected`,event:x.LeaseBroadcastRejected,reason:t.error instanceof Error?t.error.message:String(t.error||``)})})},async markFinalized(t){let n=k(t);return await X(j(n).lane,async()=>{let r=j(n);P(r,`finalize`),Z(r)?await je(r):Q(r)?(e.nearClient?await J(e.nearClient,String(r.nonce)):await Y(r),await B(r)):ft(r),N({lease:r,transition:`finalize`,event:x.LeaseFinalized,...t.txHash?{txHash:String(t.txHash)}:{}})})},async markDroppedOrReplaced(e){let t=k(e),n=j(t);return _(n),await X(n.lane,async()=>{let n=j(t);_(n),P(n,e.reason===m.Replaced?`replace`:`drop`),await Me(n,{reason:e.reason,...e.txHash?{txHash:String(e.txHash)}:{}}),N({lease:n,transition:e.reason===m.Replaced?`replace`:`drop`,event:e.reason===m.Replaced?x.LeaseReplaced:x.LeaseDropped,reason:e.reason,...e.txHash?{txHash:String(e.txHash)}:{}}),Ne({lane:n.lane,reason:e.reason})})},async release(e){let t=k(e);return await X(j(t).lane,async()=>{let n=j(t);P(n,`release`),await Y(n),N({lease:n,transition:`release`,event:x.LeaseReleased,reason:e.reason})})},async expireLeases(e){return await ct(e)},async recoverDurableLeases(e){await ut(e)},async reconcile(e){return await X(e.lane,async()=>{let t=e.lane.family===`evm`?await U(e.lane):await $e(e.lane);return D({event:x.LaneReconciled,lane:e.lane}),t})},clearForWallet(e){let t=String(e||``).trim();if(!t)return;C?.clearForWallet(t).catch(()=>O(o.DurableStoreError));let a=i.get(t);if(a){for(let e of a)r.delete(e);i.delete(t)}L(W)?.walletId===t&&G();for(let[e,r]of n.entries())u(r.lane)===t&&n.delete(e);D({event:x.LanesCleared,accountId:t,reason:`clear_for_account`})},clearAll(){r.clear(),i.clear(),l.clear(),C?.clearAll().catch(()=>O(o.DurableStoreError)),G(),n.clear(),f.clear(),D({event:x.LanesCleared,reason:`clear_all`})},getDiagnostics(e){return gt(e)}}}function dt(e){let t=e.trim().toLowerCase();if(!/^0x[0-9a-f]{64}$/.test(t))throw Error(`[NonceCoordinator] recovered EVM broadcast record has invalid txHash`);return t}function Z(e){return e.lane.family===`evm`}function Q(e){return e.lane.family===`near`}function ft(e){throw Error(`Unexpected nonce lease variant: ${String(e)}`)}function pt(e){let t=e.lease,n={v:1,laneKey:v(t.lane),leaseId:t.leaseId,networkKey:l(t.lane),nonce:t.nonce,operationId:String(t.operationId),operationFingerprint:String(t.operationFingerprint),reservedAtMs:t.reservedAtMs,expiresAtMs:e.expiresAtMs,updatedAtMs:e.updatedAtMs,runtimeId:e.runtimeId,family:`evm`,chainTarget:t.lane.chainTarget,accountId:t.lane.subjectId,sender:t.lane.sender,...t.lane.nonceKey==null?{}:{nonceKey:t.lane.nonceKey},...$(t)};switch(e.lifecycle.state){case c.Reserved:case c.Signed:return{...n,state:e.lifecycle.state};case c.BroadcastAccepted:return{...n,state:c.BroadcastAccepted,txHash:dt(e.lifecycle.txHash)}}}function mt(e){let t=e.lease,n={v:1,laneKey:v(t.lane),leaseId:t.leaseId,networkKey:l(t.lane),nonce:BigInt(t.nonce),operationId:String(t.operationId),operationFingerprint:String(t.operationFingerprint),reservedAtMs:t.reservedAtMs,expiresAtMs:e.expiresAtMs,updatedAtMs:e.updatedAtMs,runtimeId:e.runtimeId,family:`near`,walletId:t.lane.walletId,nearAccountId:t.lane.nearAccountId,publicKey:t.lane.publicKey,...$(t)};switch(e.lifecycle.state){case c.Reserved:case c.Signed:return{...n,state:e.lifecycle.state};case c.BroadcastAccepted:return{...n,state:c.BroadcastAccepted,txHash:e.lifecycle.txHash}}}function $(e){return{...e.batchId?{batchId:e.batchId}:{},...Number.isSafeInteger(e.txIndex)?{txIndex:e.txIndex}:{}}}function ht(){let e=globalThis.navigator?.locks;return typeof e?.request==`function`?{async withLock(t,n){return await e.request(t,{mode:`exclusive`},n)}}:null}export{ct as n,ut as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{B as e}from"./domainIds-GDzjOs6i.js";import{t}from"./validation-dC1-_uyG.js";import{i as n,r}from"./base64-ojm5DKcF.js";import{h as i}from"./chains-yAls2d9X.js";import{c as a,o}from"./ecdsaChainTarget-CRcRR78w.js";import{i as s,n as c,r as l}from"./signerDomain-BhUTzDmF.js";import{a as u,t as d}from"./normalization-BGPR6osg.js";import{d as f,n as p,t as m}from"./accountIds-C3Ihsd2c.js";import{i as h}from"./registrationIds-BIel5S0i.js";import{t as g}from"./signerSlot-BQ1g5JNV.js";import{t as _}from"./registrationSignerPlan-FzD3TwxB.js";import{a as v,i as y,n as ee,o as b,r as x,t as te}from"./profileAccountProjection-DHCaMtOu.js";function ne(e){if(typeof e!=`string`)return{ok:!1,message:`NEAR account projection profile id must be a string`};let t=e.trim();return t?{ok:!0,value:t}:{ok:!1,message:`NEAR account projection profile id is required`}}function S(e){return`near-profile:${String(e)}`}function re(e){let n=t(e);if(n)return{...n}}function C(t){let n=e(t.signerId||``),r=e(t.accountAddress||``).toLowerCase();return{profileId:e(t.profileId||``),signerSlot:t.signerSlot,chainIdKey:e(t.chainIdKey||``).toLowerCase(),accountAddress:r,keyKind:e(t.keyKind||``),schemaVersion:t.schemaVersion,signerId:n}}function ie(n,r,i){let a=t(n),o=String(a?.profileId??r.profileId).trim(),s=String(a?.chainIdKey??r.chainIdKey).trim().toLowerCase(),c=String(a?.keyKind??r.keyKind).trim(),l=Number(a?.schemaVersion??r.schemaVersion),u=Number.isSafeInteger(l)&&l>=1?l:r.schemaVersion,d=Number(a?.signerSlot??r.signerSlot),f=Number.isSafeInteger(d)&&d>=1?d:r.signerSlot,p=String(a?.signerId??r.signerId).trim(),m={profileId:o,signerSlot:f,chainIdKey:s,accountAddress:e(a?.accountAddress??r.accountAddress).toLowerCase(),keyKind:c,schemaVersion:u,signerId:p};if(!(m.profileId===r.profileId&&m.signerSlot===r.signerSlot&&m.chainIdKey===r.chainIdKey&&m.accountAddress===r.accountAddress&&m.keyKind===r.keyKind&&m.schemaVersion===r.schemaVersion&&m.signerId===r.signerId))throw Error(`KeyMaterialStore: payloadEnvelope.aad mismatch for ${i}`);return m}function ae(n,r,i){if(n==null)return;let a=t(n);if(!a)throw Error(`KeyMaterialStore: Invalid payloadEnvelope object for ${i}`);let o=Number(a.encVersion),s=Number.isSafeInteger(o)&&o>=1?o:NaN,c=e(a.alg||``),l=e(a.nonce||``),u=e(a.ciphertext||``),d=e(a.tag||``);if(!Number.isFinite(s))throw Error(`KeyMaterialStore: Invalid payloadEnvelope.encVersion for ${i}`);if(!c||!l||!u)throw Error(`KeyMaterialStore: Missing payloadEnvelope cryptographic fields for ${i}`);let f={encVersion:s,alg:c,nonce:l,ciphertext:u,aad:ie(a.aad,r,i)};return d&&(f.tag=d),f}function w(e){return e===c.emailOtp?c.emailOtp:e===c.passkey?c.passkey:null}function oe(t){if(t.authMethod===c.emailOtp){let n=e(t.metadata.email||``);if(n)return n}return t.walletId}async function T(t,n,r){let i=m(n),a=d(i);if(!a)return null;let o=await x(t,{accountRefs:v(i).map(e=>({chainIdKey:e,accountAddress:a})),signerSlot:r});if(!o)return null;let s=o.selectedSigner.metadata||{},c=typeof s.passkeyCredentialRawId==`string`?s.passkeyCredentialRawId:o.selectedSigner.signerId,l=typeof s.passkeyCredentialId==`string`?s.passkeyCredentialId:o.profile.passkeyCredential?.id||c,u=typeof s.operationalPublicKey==`string`?s.operationalPublicKey:``,f=e(s.nearEd25519SigningKeyId||``);if(!f)return null;let p=e(s.walletId||``);if(!p)return null;let h=w(o.selectedSigner.signerAuthMethod);return{walletId:p,nearAccountId:i,loginDisplayName:oe({walletId:p,authMethod:h,metadata:s}),signerSlot:o.selectedSigner.signerSlot,version:2,registeredAt:o.profile.createdAt,lastLogin:o.profile.updatedAt,lastUpdated:o.profile.updatedAt,operationalPublicKey:u,nearEd25519SigningKeyId:f,passkeyCredential:{id:l,rawId:c},authMethod:h,preferences:o.profile.preferences}}async function se(e){let t=await te(e,{chainIdKeys:[`near:testnet`,`near:mainnet`]});if(!t?.chainAccount?.accountAddress)return null;let n;try{n=m(t.chainAccount.accountAddress)}catch{return null}return{nearAccountId:n,profileId:t.profileId,signerSlot:t.signerSlot}}async function ce(e){let t=await se(e).catch(()=>null);return t?T(e,t.nearAccountId,t.signerSlot):null}async function le(t){let[n,r]=await Promise.all([t.listChainAccountsByChain(`near:testnet`),t.listChainAccountsByChain(`near:mainnet`)]),i=new Set;for(let t of[...n,...r]){let n=e(t.accountAddress||``);if(n)try{i.add(m(n))}catch{}}let a=[],o=new Set;for(let e of i){let n=await x(t,{accountRefs:v(e).map(t=>({chainIdKey:t,accountAddress:d(e)}))}).catch(()=>null);if(!n)continue;let r=n.activeSigners.filter(e=>e.signerKind===l.thresholdEd25519&&w(e.signerAuthMethod)).slice().sort((e,t)=>e.signerSlot-t.signerSlot);for(let n of r){let r=Number(n.signerSlot);if(!Number.isSafeInteger(r)||r<1)continue;let i=`${String(e)}:${r}`;if(o.has(i))continue;o.add(i);let s=await T(t,e,r).catch(()=>null);s&&a.push(s)}}return a}const E=`wallet_custody_ed25519_active_client_v1`,ue=`chacha20poly1305-hkdf-sha256-wallet-custody-seed-v1`;function de(e){for(let[t,n]of[[`walletId`,e.walletId],[`nearAccountId`,e.nearAccountId],[`nearEd25519SigningKeyId`,e.nearEd25519SigningKeyId],[`signingWorkerId`,e.signingWorkerId],[`applicationBindingDigestB64u`,e.applicationBindingDigestB64u],[`signingWorkerVerifyingShareB64u`,e.signingWorkerVerifyingShareB64u],[`stateEpoch`,e.stateEpoch]])if(!String(n||``).trim())throw Error(`Wallet custody Ed25519 material binding requires ${t}`);if(e.participantIds.length!==2)throw Error(`Wallet custody Ed25519 material binding requires exactly two participants`)}function D(e){let{binding:t,sealed:n,target:i}=e;de(t);let a=r(t.registeredPublicKeyB64u);if(a.length!==32)throw Error(`Wallet custody Ed25519 material requires a 32-byte registered public key`);if(!n.ciphertextB64u||!n.nonceB64u)throw Error(`Wallet custody Ed25519 material requires its sealed ciphertext and nonce`);return{profileId:i.profileId,signerSlot:t.signerSlot,chainIdKey:i.chainIdKey,accountAddress:i.accountAddress,keyKind:E,algorithm:`ed25519`,publicKey:`ed25519:${f(a)}`,signerId:t.nearEd25519SigningKeyId,payload:{binding:t},payloadEnvelope:{encVersion:1,alg:ue,nonce:n.nonceB64u,ciphertext:n.ciphertextB64u,aad:C({profileId:i.profileId,signerSlot:t.signerSlot,chainIdKey:i.chainIdKey,accountAddress:i.accountAddress,keyKind:E,schemaVersion:1,signerId:t.nearEd25519SigningKeyId})},timestamp:Date.now(),schemaVersion:1}}const fe=`threshold-ecdsa`,O={signerAuthMethod:c.passkey,signerSource:s.passkeyRegistration},k={signerAuthMethod:c.emailOtp,signerSource:s.emailOtpRegistration};function A(e,t){let n=String(e||``).trim();if(!n)throw Error(`SeamsWalletDB: ${t} is required`);let i=r(n);if(i.length===0)throw Error(`SeamsWalletDB: ${t} decoded to empty credential public key`);return i}async function j(e,t){let n=m(t),r=await ee(e.accountStore,y(n)).catch(()=>null);if(!r?.profileId)return null;let i=ne(r.profileId);return i.ok?{profileId:i.value}:null}async function pe(e,t){let n=m(t.nearAccountId),r=Number(t.signerSlot);if(!Number.isSafeInteger(r)||r<1)throw Error(`SeamsWalletDB: storeUserData requires an exact signerSlot`);let i=r,o=a(t.walletId),u=S(n),f=b(n,t.preferences?.useNetwork),p=d(n),h=String(t.passkeyCredential?.rawId||``).trim()||`signer-${i}`;await e.accountStore.upsertProfile({profileId:u,defaultSignerSlot:i,passkeyCredential:t.passkeyCredential,...t.preferences?{preferences:t.preferences}:{}});let g=await e.accountStore.getAccountSigner({chainIdKey:f,accountAddress:p,signerId:h}).catch(()=>null),_=await e.accountStore.activateAccountSigner({account:{profileId:u,chainIdKey:f,accountAddress:p,accountModel:`near-native`},signer:{signerId:h,signerType:`threshold`,signerKind:l.thresholdEd25519,signerAuthMethod:c.passkey,signerSource:s.passkeyRegistration,metadata:{...g?.metadata||{},walletId:String(o),nearAccountId:String(n),nearEd25519SigningKeyId:t.nearEd25519SigningKeyId,operationalPublicKey:t.operationalPublicKey,passkeyCredentialId:t.passkeyCredential?.id,passkeyCredentialRawId:t.passkeyCredential?.rawId}},activationPolicy:{mode:`allocate_next_free`},preferredSlot:i,mutation:{routeThroughOutbox:!1}});_.signerSlot!==i&&await e.accountStore.upsertProfile({profileId:u,defaultSignerSlot:_.signerSlot,passkeyCredential:t.passkeyCredential,...t.preferences?{preferences:t.preferences}:{}}),await e.accountStore.setLastProfileStateForProfile(u,_.signerSlot)}function me(e){return le(e.accountStore)}function he(e,t,n){return T(e.accountStore,t,n)}function ge(e){return ce(e.accountStore)}function _e(e,t,n){return{nearAccountId:t,signerSlot:n??e.signerSlot,credentialId:e.credentialId,credentialPublicKey:e.credentialPublicKey,transports:e.transports,name:e.name,registered:e.registered,syncedAt:e.syncedAt}}function ve(e){if(e.signerAuthMethod!==c.passkey)return null;let t=String(e.metadata?.walletId||``).trim(),n=String(e.metadata?.passkeyCredentialRawId||``).trim();return!t||!n?null:{walletId:t,credentialId:n,signerSlot:e.signerSlot}}async function ye(e,t){let n=(await e.accountStore.listAccountSigners({chainIdKey:t.chainIdKey,accountAddress:t.accountAddress,status:`active`})).map(ve).filter(e=>e!==null),r=new Map;for(let e of n){let t=r.get(e.walletId);t?t.push(e):r.set(e.walletId,[e])}let i=[];for(let[n,a]of r.entries()){let r=await e.accountStore.listProfileAuthenticators(n);for(let e of a){let n=r.find(t=>t.credentialId===e.credentialId);n&&i.push(_e(n,t.nearAccountId,e.signerSlot))}}return i}async function M(e,t){let n=m(t),r=await ee(e.accountStore,y(n)).catch(()=>null);return r?.accountRef?await ye(e,{nearAccountId:n,chainIdKey:r.accountRef.chainIdKey,accountAddress:r.accountRef.accountAddress}):[]}async function be(e,t,n){let r=Number(n);if(!Number.isSafeInteger(r)||r<1)throw Error(`SeamsWalletDB: signerSlot must be an integer >= 1`);let i=String(t||``).trim();if(!i)throw Error(`SeamsWalletDB: selected wallet id is required`);let a=await e.accountStore.getProfile(i).catch(()=>null);if(!a?.profileId)throw Error(`SeamsWalletDB: Missing profile for wallet ${i}`);await e.accountStore.setLastProfileStateForProfile(a.profileId,r)}function xe(e){try{return a(e)}catch{return null}}function Se(e){if(typeof e!=`string`)return null;try{return m(e)}catch{return null}}function Ce(e){if(typeof e!=`string`||!e.trim())return null;try{return h(e)}catch{return null}}async function we(e,t){let n=null;try{n=await x(e.accountStore,{accountRefs:y(t.nearAccountId),signerSlot:t.signerSlot})}catch{n=null}if(!n)throw Error(`Authenticated wallet activation requires an exact NEAR signer projection`);let r=ne(n.context.profileId);if(!r.ok)throw Error(r.message);let i=n.selectedSigner,a=i.metadata||{},o=xe(a.walletId),s=Se(a.nearAccountId),c=Ce(a.nearEd25519SigningKeyId),u=typeof a.operationalPublicKey==`string`?a.operationalPublicKey.trim():``;if(i.signerKind!==l.thresholdEd25519||i.signerSlot!==t.signerSlot||o!==t.walletId||s!==t.nearAccountId||!c||!u)throw Error(`Authenticated wallet activation requires an exact wallet signer binding`);return{kind:`authenticated_near_ed25519_wallet_profile_binding`,walletId:o,nearProjectionProfileId:r.value,nearAccountId:s,nearEd25519SigningKeyId:c,signerSlot:i.signerSlot,operationalPublicKey:u}}async function Te(e,t){return(await e.accountStore.getProfile(String(t)))?.nearProvisioning??null}async function Ee(e,t){let n=String(t.walletId||``).trim();if(!n)throw Error(`SeamsWalletDB: walletId is required`);let r=Date.now(),i=t.status===`near_ready`?{status:`near_ready`,updatedAtMs:r,nearAccountId:t.nearAccountId}:t.status===`near_failed_retryable`?{status:`near_failed_retryable`,updatedAtMs:r,error:t.errorCode,errorCode:t.errorCode}:{status:t.status,updatedAtMs:r};await e.accountStore.upsertProfile({profileId:n,nearProvisioning:i})}async function De(e,t){let n=m(t.nearAccountId),r=a(t.walletId),i=g(t.signerSlot);if(!i)throw Error(`Authenticated wallet activation requires an exact signerSlot`);let o=await we(e,{walletId:r,nearAccountId:n,signerSlot:i});await e.accountStore.setLastProfileStateForProfile(o.nearProjectionProfileId,o.signerSlot),e.userPreferencesManager.setCurrentWallet(o.walletId),await e.userPreferencesManager.reloadUserSettings().catch(()=>void 0),e.nonceCoordinator.initializeNearAccessKey({walletId:o.walletId,nearAccountId:o.nearAccountId,publicKey:o.operationalPublicKey}),t.nearClient&&e.nonceCoordinator.prefetchNearContext({kind:`initialized_state`,nearClient:t.nearClient}).catch(e=>console.debug(`Nonce prefetch after authentication state initialization failed (non-fatal):`,e))}async function Oe(e,t){let n=Number(t.signerSlot);if(!Number.isSafeInteger(n)||n<1)throw Error(`SeamsWalletDB: authenticator signerSlot must be an integer >= 1`);let r={...t,nearAccountId:m(t.nearAccountId),signerSlot:n},i=await j(e,r.nearAccountId);if(!i?.profileId)throw Error(`SeamsWalletDB: Missing profile/account mapping for NEAR account ${r.nearAccountId}`);await e.accountStore.upsertProfileAuthenticator({profileId:i.profileId,signerSlot:r.signerSlot,credentialId:r.credentialId,credentialPublicKey:r.credentialPublicKey,transports:r.transports,name:r.name,registered:r.registered,syncedAt:r.syncedAt})}function ke(e){let t=String(e).trim();return p(t)||t.split(`.`)[0]||``}function N(e){let t=Date.now();return{version:`wallet_auth_method_v1`,kind:`passkey`,status:`active`,localStatus:`synced`,walletId:e.walletId,rpId:e.rpId,credentialIdB64u:e.credentialId,credentialPublicKeyB64u:n(e.credentialPublicKey),counter:0,createdAtMs:t,updatedAtMs:t}}async function P(e){let t=String(e.walletId||``).trim(),n=String(e.email||``).trim().toLowerCase(),r=String(e.registrationAuthorityId||``).trim();if(!t||!n||!r)throw Error(`SeamsWalletDB: Email OTP auth method requires walletId, email, and registrationAuthorityId`);let a=await i(n);if(String(e.authority.walletId)!==t||e.authority.verifier.emailHashHex!==a)throw Error(`SeamsWalletDB: Email OTP auth method authority does not match wallet or email`);let o=Date.now();return{version:`wallet_auth_method_v1`,kind:`email_otp`,status:`active`,localStatus:`synced`,walletId:e.walletId,emailHashHex:a,registrationAuthorityId:r,authority:e.authority,createdAtMs:o,updatedAtMs:o}}async function Ae(e,t){let n=m(t),r=await j(e,n);r?.profileId&&await e.accountStore.deleteProfileData(r.profileId,{eventAccountId:n})}async function je(e,t){return(await M(e,m(t))).length>0}function Me(e){let t=e.activation.signer.metadata||{},n=e.activation.signer.signerKind,r=n===l.thresholdEcdsa?X(t.thresholdEcdsaPublicKeyB64u,`ECDSA key material publicKey`):X(t.operationalPublicKey,`Ed25519 key material publicKey`),i={profileId:X(e.activation.account.profileId,`profileId`),signerSlot:e.signerSlot,chainIdKey:X(e.activation.account.chainIdKey,`chainIdKey`),accountAddress:X(e.activation.account.accountAddress,`accountAddress`),signerId:X(e.activation.signer.signerId,`signerId`),keyKind:`threshold_share_v1`,algorithm:n===l.thresholdEcdsa?`secp256k1`:`ed25519`,publicKey:r,timestamp:e.timestamp,schemaVersion:1};return n===l.thresholdEd25519&&(i.payload={walletId:X(t.walletId,`walletId`),nearAccountId:X(t.nearAccountId,`nearAccountId`),nearEd25519SigningKeyId:X(t.nearEd25519SigningKeyId,`nearEd25519SigningKeyId`),relayerKeyId:X(t.relayerKeyId,`relayerKeyId`),keyVersion:X(t.keyVersion,`keyVersion`)}),i}function F(e){switch(e.mode.kind){case`fresh_registration`:return{mode:`fail_if_occupied`,signerSlot:e.signerSlot};case`wallet_recovery_replacement`:return{mode:`replace_slot`,signerSlot:e.signerSlot,replacedSignerKind:l.thresholdEd25519,revocationReason:`wallet_recovery_replacement`}}}function Ne(e){switch(e.mode.kind){case`fresh_registration`:return{mode:`allocate_next_free`};case`wallet_recovery_replacement`:return{mode:`replace_profile_chain_kind`,signerSlot:e.signerSlot,replacedSignerKind:l.thresholdEcdsa,revocationReason:`wallet_recovery_replacement`}}}function I(e){let t=Number(e.signerSlot);if(!Number.isSafeInteger(t)||t<1)throw Error(`SeamsWalletDB: wallet signerSlot must be an integer >= 1`);let n=String(e.walletId||``).trim();if(!n)throw Error(`SeamsWalletDB: walletId is required`);let r=m(e.nearAccountId),i=String(e.nearEd25519SigningKeyId||``).trim();if(!i)throw Error(`SeamsWalletDB: nearEd25519SigningKeyId is required`);return{signerSlot:t,walletId:n,nearAccountId:r,nearEd25519SigningKeyId:i}}function L(e,t,n){return{walletId:e.walletId,nearAccountId:String(e.nearAccountId),nearEd25519SigningKeyId:e.nearEd25519SigningKeyId,operationalPublicKey:t.operationalPublicKey,relayerKeyId:t.relayerKeyId,keyVersion:t.keyVersion,...n,...t.participantIds?{participantIds:t.participantIds}:{},...t.clientParticipantId==null?{}:{clientParticipantId:t.clientParticipantId},...t.relayerParticipantId==null?{}:{relayerParticipantId:t.relayerParticipantId}}}function R(e){let t=X(e.operationalPublicKey,`Ed25519 signerId`),{signerSlot:n,walletId:r,nearAccountId:i}=e.identity,a=r=>({input:{account:r,signer:{signerId:t,signerType:`threshold`,signerKind:l.thresholdEd25519,signerAuthMethod:e.source.signerAuthMethod,signerSource:e.source.signerSource,metadata:e.metadata},activationPolicy:e.activationPolicy,preferredSlot:n,mutation:{routeThroughOutbox:!1}},signerSlot:n});return[a({profileId:r,chainIdKey:`wallet`,accountAddress:r,accountModel:`wallet`}),a({profileId:e.nearProfileId,chainIdKey:b(i),accountAddress:d(i),accountModel:`near-native`})]}function z(e){let t=e.map(e=>e.input),n=Date.now();return{signerActivations:t,keyMaterials:e.map(e=>Me({activation:e.input,signerSlot:e.signerSlot,timestamp:n}))}}function B(e,t,n,r){return t.kind===`near_ed25519_and_evm_family_ecdsa`?Q({walletId:e,walletKeys:t.walletKeys},n,r).signerActivations:[]}function V(e,t){return{chainTarget:e.chainTarget,targetKey:e.targetKey,signerSlot:t.signerSlot,signerId:e.signerId}}function H(e,t,n){let r=String(e.credential.rawId||``).trim();if(!r)throw Error(`SeamsWalletDB: registration credential rawId is required`);let i=e.participantIds===void 0?void 0:Z(e.participantIds);return U({walletId:e.walletId,nearAccountId:e.nearAccountId,nearEd25519SigningKeyId:e.nearEd25519SigningKeyId,rpId:e.rpId,signerSlot:e.signerSlot,operationalPublicKey:e.operationalPublicKey,relayerKeyId:e.relayerKeyId,keyVersion:e.keyVersion,participantIds:i,clientParticipantId:e.clientParticipantId,relayerParticipantId:e.relayerParticipantId,credentialFacts:{credentialId:r,credentialDisplayId:e.credential.id,credentialPublicKey:A(e.credentialPublicKeyB64u,`credentialPublicKeyB64u`),transports:e.credential.response?.transports??[]}},t,n)}function U(e,t,n){let r=e.credentialFacts.credentialId,i=I(e),{signerSlot:a,walletId:o,nearAccountId:s}=i,c={id:e.credentialFacts.credentialDisplayId,rawId:r},l=new Date().toISOString(),u=S(s),{signerActivations:d,keyMaterials:f}=z([...R({identity:i,nearProfileId:u,operationalPublicKey:e.operationalPublicKey,source:O,metadata:L(i,e,{passkeyCredentialId:e.credentialFacts.credentialDisplayId,passkeyCredentialRawId:r}),activationPolicy:F({mode:t,signerSlot:a})}),...B(e.walletId,n,O,t)]);return{profiles:[o,u].map(e=>({profileId:e,defaultSignerSlot:a,passkeyCredential:c})),initialAuthMethod:N({walletId:e.walletId,rpId:e.rpId,credentialId:r,credentialPublicKey:e.credentialFacts.credentialPublicKey}),authenticators:[o,u].map(t=>({profileId:t,signerSlot:a,credentialId:r,credentialPublicKey:e.credentialFacts.credentialPublicKey,transports:[...e.credentialFacts.transports],name:`Passkey for ${ke(s)}`,registered:l,syncedAt:l})),signerActivations:d,keyMaterials:f,lastProfileState:{profileId:o,activeSignerSlot:a}}}function Pe(e,t){let n=e.signerActivations[1];if(!n)throw Error(`SeamsWalletDB: wallet Ed25519 registration batch did not complete`);let r=[];for(let n=0;n<t.length;n+=1){let i=t[n],a=e.signerActivations[n+2];if(!i||!a)throw Error(`SeamsWalletDB: mixed wallet ECDSA registration batch did not complete`);r.push(V(i,a))}return{signerSlot:n.signerSlot,storedSigners:r}}function Fe(e){return W(H(e,{kind:`fresh_registration`},{kind:`near_ed25519_only`}),e,e.participantIds,[e.custodyMaterial])}function Ie(e){let t=String(e.credentialIdB64u||``).trim();if(!t)throw Error(`SeamsWalletDB: registration credential projection id is required`);return W(U({walletId:e.walletId,nearAccountId:e.nearAccountId,nearEd25519SigningKeyId:e.nearEd25519SigningKeyId,rpId:e.rpId,signerSlot:e.signerSlot,operationalPublicKey:e.operationalPublicKey,relayerKeyId:e.relayerKeyId,keyVersion:e.keyVersion,participantIds:e.participantIds,credentialFacts:{credentialId:t,credentialDisplayId:t,credentialPublicKey:A(e.credentialPublicKeyB64u,`credentialPublicKeyB64u`),transports:[...e.transports]}},{kind:`fresh_registration`},{kind:`near_ed25519_only`}),e,e.participantIds,[e.custodyMaterial])}function W(e,t,n,r){let i=m(t.nearAccountId),a=r.map(e=>{let r=e.binding;if(r.walletId!==String(t.walletId)||r.nearAccountId!==String(i)||r.nearEd25519SigningKeyId!==String(t.nearEd25519SigningKeyId)||r.signerSlot!==Number(t.signerSlot)||r.participantIds[0]!==n[0]||r.participantIds[1]!==n[1])throw Error(`Wallet custody Ed25519 material does not match registration identity`);return D({target:{profileId:String(S(i)),chainIdKey:b(i),accountAddress:d(i)},binding:r,sealed:e.sealed})}),o=e.lastProfileState;if(!o)throw Error(`Wallet Ed25519 registration publication requires last profile state`);return{profiles:e.profiles,initialAuthMethod:e.initialAuthMethod,authenticators:e.authenticators,signerActivations:e.signerActivations,keyMaterials:[...e.keyMaterials,...a],lastProfileState:{profileId:o.profileId,activeSignerSlot:o.activeSignerSlot,scope:o.scope??null}}}function G(e){let t=e[0];if(!t)throw Error(`SeamsWalletDB: threshold ECDSA walletKeys are required`);return[t,...e.slice(1)]}function Le(e){switch(e){case`email_otp`:return k;case`passkey`:return O;default:return Re(e)}}function Re(e){throw Error(`Unsupported wallet ECDSA registration kind: ${String(e)}`)}async function K(e,t){let{signerActivations:n,keyMaterials:r}=z(Q({walletId:e.walletId,walletKeys:e.walletKeys},Le(e.kind),t).signerActivations);switch(e.kind){case`passkey`:{let t=X(e.credentialIdB64u,`credentialIdB64u`),i=A(e.credentialPublicKeyB64u,`credentialPublicKeyB64u`),a=new Date().toISOString();return{profiles:[{profileId:e.walletId,defaultSignerSlot:1,passkeyCredential:{id:t,rawId:t}}],initialAuthMethod:N({walletId:e.walletId,rpId:e.rpId,credentialId:t,credentialPublicKey:i}),authenticators:[{profileId:e.walletId,signerSlot:1,credentialId:t,credentialPublicKey:i,transports:[...e.transports],name:`Passkey for wallet`,registered:a,syncedAt:a}],signerActivations:n,keyMaterials:r,lastProfileState:{profileId:e.walletId,activeSignerSlot:1,scope:null}}}case`email_otp`:return{profiles:[{profileId:e.walletId,defaultSignerSlot:1}],initialAuthMethod:await P({walletId:e.walletId,email:e.email,registrationAuthorityId:e.registrationAuthorityId,authority:e.authority}),authenticators:[],signerActivations:n,keyMaterials:r,lastProfileState:{profileId:e.walletId,activeSignerSlot:1,scope:null}}}}function q(e){return K(e,{kind:`fresh_registration`})}async function ze(e){let t=X(e.credentialIdB64u,`credentialIdB64u`);return e.kind===`near_ed25519`?W(U({walletId:e.walletId,nearAccountId:e.nearAccountId,nearEd25519SigningKeyId:e.nearEd25519SigningKeyId,rpId:e.rpId,signerSlot:e.signerSlot,operationalPublicKey:e.operationalPublicKey,relayerKeyId:e.relayerKeyId,keyVersion:_,participantIds:Z(e.participantIds),credentialFacts:{credentialId:t,credentialDisplayId:t,credentialPublicKey:A(e.credentialPublicKeyB64u,`credentialPublicKeyB64u`),transports:e.transports}},{kind:`wallet_recovery_replacement`},e.walletKeys.length>0?{kind:`near_ed25519_and_evm_family_ecdsa`,walletKeys:e.walletKeys}:{kind:`near_ed25519_only`}),e,Z(e.participantIds),e.custodyMaterials):await K({kind:`passkey`,walletId:e.walletId,rpId:e.rpId,credentialIdB64u:t,credentialPublicKeyB64u:e.credentialPublicKeyB64u,transports:e.transports,walletKeys:G(e.walletKeys)},{kind:`wallet_recovery_replacement`})}async function Be(e){return e.kind===`near_ed25519`?W(await Y({walletId:e.walletId,nearAccountId:e.nearAccountId,nearEd25519SigningKeyId:e.nearEd25519SigningKeyId,email:e.email,registrationAuthorityId:e.registrationAuthorityId,authority:e.authority,signerSlot:e.signerSlot,operationalPublicKey:e.operationalPublicKey,relayerKeyId:e.relayerKeyId,keyVersion:_,participantIds:Z(e.participantIds)},e.walletKeys.length>0?{kind:`near_ed25519_and_evm_family_ecdsa`,walletKeys:e.walletKeys}:{kind:`near_ed25519_only`},{kind:`wallet_recovery_replacement`}),e,Z(e.participantIds),e.custodyMaterials):await K({kind:`email_otp`,walletId:e.walletId,email:e.email,registrationAuthorityId:e.registrationAuthorityId,authority:e.authority,walletKeys:G(e.walletKeys)},{kind:`wallet_recovery_replacement`})}async function J(e,t,n,r){let i=H(t,n,r);return Pe(await e.accountStore.persistWalletRegistrationFinalize(i),B(t.walletId,r,O))}async function Ve(e,t){return{signerSlot:(await J(e,t,{kind:`fresh_registration`},{kind:`near_ed25519_only`})).signerSlot}}async function He(e,t){return await J(e,t,{kind:`fresh_registration`},{kind:`near_ed25519_and_evm_family_ecdsa`,walletKeys:t.walletKeys})}async function Ue(e,t){return{signerSlot:(await J(e,t,{kind:`wallet_recovery_replacement`},{kind:`near_ed25519_only`})).signerSlot}}async function Y(e,t,n={kind:`fresh_registration`}){let r=I(e),{signerSlot:i,walletId:a,nearAccountId:o}=r,s=S(o),{signerActivations:c,keyMaterials:l}=z([...R({identity:r,nearProfileId:s,operationalPublicKey:e.operationalPublicKey,source:k,metadata:L(r,e,{email:String(e.email||``).trim().toLowerCase(),registrationAuthorityId:String(e.registrationAuthorityId||``).trim()}),activationPolicy:F({mode:n,signerSlot:i})}),...B(e.walletId,t,k,n)]);return{profiles:[a,s].map(e=>({profileId:e,defaultSignerSlot:i})),initialAuthMethod:await P({walletId:e.walletId,email:e.email,registrationAuthorityId:e.registrationAuthorityId,authority:e.authority}),authenticators:[],signerActivations:c,keyMaterials:l,lastProfileState:{profileId:a,activeSignerSlot:i}}}async function We(e,t,n){let r=await Y(t,n),i=await e.accountStore.persistWalletRegistrationFinalize(r),a=B(t.walletId,n,k),o=i.signerActivations[1];if(!o)throw Error(`SeamsWalletDB: wallet Email OTP Ed25519 registration batch did not complete`);let s=[];for(let e=0;e<a.length;e+=1){let t=a[e],n=i.signerActivations[e+2];if(!t||!n)throw Error(`SeamsWalletDB: mixed wallet Email OTP ECDSA registration batch did not complete`);s.push(V(t,n))}return{signerSlot:o.signerSlot,storedSigners:s}}async function Ge(e){return W(await Y(e,{kind:`near_ed25519_only`}),e,e.participantIds,[e.custodyMaterial])}async function Ke(e,t){return{signerSlot:(await We(e,t,{kind:`near_ed25519_only`})).signerSlot}}async function qe(e,t){return We(e,t,{kind:`near_ed25519_and_evm_family_ecdsa`,walletKeys:t.walletKeys})}async function Je(e,t){let n=String(t.auth.credential.rawId||t.auth.credential.id||``).trim();if(!n)throw Error(`SeamsWalletDB: add-signer credential id is required`);let r=I(t),{signerSlot:i,walletId:a,nearAccountId:o}=r,s={id:t.auth.credential.id,rawId:n},c=S(o),{signerActivations:l,keyMaterials:u}=z(R({identity:r,nearProfileId:c,operationalPublicKey:t.operationalPublicKey,source:O,metadata:L(r,t,{passkeyCredentialId:t.auth.credential.id,passkeyCredentialRawId:n}),activationPolicy:{mode:`fail_if_occupied`,signerSlot:i}})),d=await e.accountStore.persistWalletSignerFinalize({profiles:[a,c].map(e=>({profileId:e,defaultSignerSlot:i,passkeyCredential:s})),signerActivations:l,keyMaterials:u,lastProfileState:{profileId:a,activeSignerSlot:i}}),f=d.signerActivations[1];if(!f)throw Error(`SeamsWalletDB: wallet Ed25519 signer batch did not complete`);return{signerSlot:f.signerSlot,rollbackReceipt:d.rollbackReceipt}}async function Ye(e,t){await e.accountStore.rollbackWalletSignerFinalize(t)}function X(e,t){let n=String(e||``).trim();if(!n)throw Error(`SeamsWalletDB: ${t} is required`);return n}function Z(e){if(e.length!==2||e.some(e=>!Number.isSafeInteger(e)||e<1))throw Error(`SeamsWalletDB: Ed25519 participantIds must contain two positive integers`);return[e[0],e[1]]}function Xe(e){if(!Array.isArray(e)||e.length!==2||e[0]!==1||e[1]!==2)throw Error(`SeamsWalletDB: threshold ECDSA participantIds must be [1, 2]`);return[1,2]}function Q(e,t=O,n={kind:`fresh_registration`}){let r=X(e.walletId,`walletId`);if(!Array.isArray(e.walletKeys)||e.walletKeys.length===0)throw Error(`SeamsWalletDB: threshold ECDSA walletKeys are required`);let i=[];for(let a of e.walletKeys){if(a.keyScope!==`evm-family`)throw Error(`SeamsWalletDB: threshold ECDSA wallet keyScope must be evm-family`);let e=X(a.walletId,`wallet key walletId`);if(e!==r)throw Error(`SeamsWalletDB: threshold ECDSA wallet key walletId mismatch`);let s=X(a.keyHandle,`wallet key keyHandle`),c=X(a.ecdsaThresholdKeyId,`wallet key ecdsaThresholdKeyId`),f=X(a.signingRootId,`wallet key signingRootId`),p=X(a.signingRootVersion,`wallet key signingRootVersion`),m=X(a.relayerKeyId,`wallet key relayerKeyId`),h=X(a.thresholdEcdsaPublicKeyB64u,`wallet key thresholdEcdsaPublicKeyB64u`),g=Xe(a.participantIds),_=d(a.thresholdOwnerAddress);if(!_)throw Error(`SeamsWalletDB: wallet key thresholdOwnerAddress is required`);let v=u(a.chainTarget),y=o(a.chainTarget);i.push({chainTarget:a.chainTarget,targetKey:y,signerId:_,signerSlot:1,input:{account:{profileId:e,chainIdKey:v,accountAddress:_,accountModel:fe},signer:{signerId:_,signerType:`threshold`,signerKind:l.thresholdEcdsa,signerAuthMethod:t.signerAuthMethod,signerSource:t.signerSource,metadata:{accountModel:fe,accountAddress:_,ownerAddress:_,thresholdOwnerAddress:_,keyScope:a.keyScope,keyHandle:s,walletId:e,ecdsaThresholdKeyId:c,signingRootId:f,signingRootVersion:p,relayerKeyId:m,relayerVerifyingShareB64u:X(a.relayerVerifyingShareB64u,`wallet key relayerVerifyingShareB64u`),publicCapability:a.publicCapability,roleLocalMaterialRef:a.roleLocalMaterialRef,ecdsaRoleLocalPublicFacts:a.ecdsaRoleLocalPublicFacts,thresholdEcdsaPublicKeyB64u:h,participantIds:g,chainTarget:a.chainTarget,targetMembership:{targetKey:y,chainTarget:a.chainTarget},sharedEvmFamilyKey:{walletId:e,keyScope:a.keyScope,keyHandle:s,ecdsaThresholdKeyId:c,signingRootId:f,signingRootVersion:p,participantIds:g,thresholdOwnerAddress:_,thresholdEcdsaPublicKeyB64u:h},chainId:a.chainTarget.chainId}},activationPolicy:Ne({mode:n,signerSlot:1}),preferredSlot:1,mutation:{routeThroughOutbox:!1}}})}return{walletId:r,signerActivations:i}}function $(e,t){return e.accountStore.persistWalletSignerFinalize({profiles:[{profileId:t.walletId}],...z(t.signerActivations)})}async function Ze(e,t){let n=Q(t),r=await $(e,n);return{storedSigners:n.signerActivations.map((e,t)=>{let n=r.signerActivations[t];if(!n)throw Error(`SeamsWalletDB: wallet ECDSA signer batch did not complete`);return V(e,n)})}}async function Qe(e,t){let n=Q(t,O,{kind:`wallet_recovery_replacement`}),r=await $(e,n);return{storedSigners:n.signerActivations.map((e,t)=>{let n=r.signerActivations[t];if(!n)throw Error(`SeamsWalletDB: wallet recovery ECDSA signer batch did not complete`);return V(e,n)})}}async function $e(e,t){let n=Q(t,k),r=await $(e,n);return{storedSigners:n.signerActivations.map((e,t)=>{let n=r.signerActivations[t];if(!n)throw Error(`SeamsWalletDB: wallet Email OTP ECDSA signer batch did not complete`);return V(e,n)})}}async function et(e,t){let n=String(t.credential.rawId||``).trim();if(!n)throw Error(`SeamsWalletDB: registration credential rawId is required`);let r=Q({walletId:t.walletId,walletKeys:t.walletKeys}),i=await q({kind:`passkey`,walletId:t.walletId,rpId:t.rpId,credentialIdB64u:n,credentialPublicKeyB64u:t.credentialPublicKeyB64u,transports:t.credential.response?.transports??[],walletKeys:G(t.walletKeys)}),a=await e.accountStore.persistWalletRegistrationFinalize(i);return{storedSigners:r.signerActivations.map((e,t)=>{let n=a.signerActivations[t];if(!n)throw Error(`SeamsWalletDB: wallet ECDSA registration batch did not complete`);return V(e,n)})}}async function tt(e,t){let n=Q({walletId:t.walletId,walletKeys:t.walletKeys},k),r=await q({kind:`email_otp`,walletId:t.walletId,email:t.email,registrationAuthorityId:t.registrationAuthorityId,authority:t.authority,walletKeys:G(t.walletKeys)}),i=await e.accountStore.persistWalletRegistrationFinalize(r);return{storedSigners:n.signerActivations.map((e,t)=>{let n=i.signerActivations[t];if(!n)throw Error(`SeamsWalletDB: wallet Email OTP ECDSA registration batch did not complete`);return V(e,n)})}}export{He as A,S as B,Ze as C,$e as D,tt as E,se as F,T as I,C as L,E as M,de as N,Ke as O,D as P,ae as R,Qe as S,Ve as T,Ye as _,ge as a,Oe as b,je as c,Ie as d,Fe as f,Ae as g,ze as h,me as i,ue as j,qe as k,M as l,Be as m,et as n,he as o,Ge as p,Je as r,Te as s,De as t,q as u,be as v,Ue as w,pe as x,Ee as y,re as z};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{u as e}from"./validation-dC1-_uyG.js";let t=function(e){return e.CreateAccount=`CreateAccount`,e.DeployContract=`DeployContract`,e.FunctionCall=`FunctionCall`,e.Transfer=`Transfer`,e.Stake=`Stake`,e.AddKey=`AddKey`,e.DeleteKey=`DeleteKey`,e.DeleteAccount=`DeleteAccount`,e.SignedDelegate=`SignedDelegate`,e.DeployGlobalContract=`DeployGlobalContract`,e.UseGlobalContract=`UseGlobalContract`,e}({});function n(t){return e(t)&&`action_type`in t}function r(e){switch(e.type){case t.Transfer:return{action_type:t.Transfer,deposit:e.amount};case t.FunctionCall:return{action_type:t.FunctionCall,method_name:e.methodName,args:JSON.stringify(e.args),gas:e.gas||`30000000000000`,deposit:e.deposit||`0`};case t.AddKey:{let n=e.accessKey.permission,r=n===`FullAccess`?{FullAccess:{}}:n;return{action_type:t.AddKey,public_key:e.publicKey,access_key:JSON.stringify({nonce:e.accessKey.nonce||0,permission:r})}}case t.DeleteKey:return{action_type:t.DeleteKey,public_key:e.publicKey};case t.CreateAccount:return{action_type:t.CreateAccount};case t.DeleteAccount:return{action_type:t.DeleteAccount,beneficiary_id:e.beneficiaryId};case t.DeployContract:return{action_type:t.DeployContract,code:typeof e.code==`string`?Array.from(new TextEncoder().encode(e.code)):Array.from(e.code)};case t.DeployGlobalContract:return{action_type:t.DeployGlobalContract,code:typeof e.code==`string`?Array.from(new TextEncoder().encode(e.code)):Array.from(e.code),deploy_mode:e.deployMode};case t.UseGlobalContract:return{action_type:t.UseGlobalContract,account_id:e.accountId,code_hash:e.codeHash};case t.Stake:return{action_type:t.Stake,stake:e.stake,public_key:e.publicKey};default:throw Error(`Action type ${e.type} is not supported`)}}function i(e){switch(e.action_type){case t.FunctionCall:if(!e.method_name)throw Error(`method_name required for FunctionCall`);if(!e.args)throw Error(`args required for FunctionCall`);if(!e.gas)throw Error(`gas required for FunctionCall`);if(!e.deposit)throw Error(`deposit required for FunctionCall`);if(typeof e.args!=`string`)throw Error(`FunctionCall action args must be a valid JSON string`);try{JSON.parse(e.args)}catch{throw Error(`FunctionCall action args must be valid JSON string`)}break;case t.Transfer:if(!e.deposit)throw Error(`deposit required for Transfer`);break;case t.CreateAccount:break;case t.DeployContract:if(!e.code||e.code.length===0)throw Error(`code required for DeployContract`);break;case t.Stake:if(!e.stake)throw Error(`stake amount required for Stake`);if(!e.public_key)throw Error(`public_key required for Stake`);break;case t.AddKey:if(!e.public_key)throw Error(`public_key required for AddKey`);if(!e.access_key)throw Error(`access_key required for AddKey`);if(typeof e.access_key!=`string`)throw Error(`AddKey action access_key must be a valid JSON string`);try{JSON.parse(e.access_key)}catch{throw Error(`AddKey action access_key must be valid JSON string`)}break;case t.DeleteKey:if(!e.public_key)throw Error(`public_key required for DeleteKey`);break;case t.DeleteAccount:if(!e.beneficiary_id)throw Error(`beneficiary_id required for DeleteAccount`);break;case t.SignedDelegate:if(!e.delegate_action||typeof e.delegate_action!=`object`)throw Error(`delegate_action required for SignedDelegate`);if(!e.signature||typeof e.signature!=`object`)throw Error(`signature required for SignedDelegate`);break;case t.DeployGlobalContract:if(!e.code||e.code.length===0)throw Error(`code required for DeployGlobalContract`);if(!e.deploy_mode||e.deploy_mode!==`CodeHash`&&e.deploy_mode!==`AccountId`)throw Error(`deploy_mode must be CodeHash or AccountId for DeployGlobalContract`);break;case t.UseGlobalContract:if(!!e.account_id==!!e.code_hash)throw Error(`UseGlobalContract requires exactly one of account_id or code_hash`);break;default:throw Error(`Unsupported action type: ${e.action_type}`)}}function a(n){switch(n.action_type){case t.FunctionCall:{let e={};try{e=typeof n.args==`string`?n.args?JSON.parse(n.args):{}:n.args||{}}catch{e={}}return{type:t.FunctionCall,methodName:n.method_name,args:e,gas:n.gas,deposit:n.deposit}}case t.Transfer:return{type:t.Transfer,amount:n.deposit};case t.CreateAccount:return{type:t.CreateAccount};case t.DeployContract:return{type:t.DeployContract,code:Array.isArray(n.code)?new Uint8Array(n.code):new Uint8Array};case t.DeployGlobalContract:return{type:t.DeployGlobalContract,code:Array.isArray(n.code)?new Uint8Array(n.code):new Uint8Array,deployMode:n.deploy_mode};case t.Stake:return{type:t.Stake,stake:n.stake,publicKey:n.public_key};case t.AddKey:{let r;try{r=JSON.parse(n.access_key)}catch{r={nonce:BigInt(0),permission:`FullAccess`}}let i=r?.permission,a=`FullAccess`;if(e(i)){if(`FullAccess`in i)a=`FullAccess`;else if(`FunctionCall`in i){let e=i.FunctionCall;a={FunctionCall:{allowance:e.allowance,receiver_id:e.receiver_id,method_names:e.method_names}}}}return{type:t.AddKey,publicKey:n.public_key,accessKey:{nonce:typeof r?.nonce==`number`?r.nonce:0,permission:a}}}case t.DeleteKey:return{type:t.DeleteKey,publicKey:n.public_key};case t.DeleteAccount:return{type:t.DeleteAccount,beneficiaryId:n.beneficiary_id};case t.UseGlobalContract:return{type:t.UseGlobalContract,accountId:n.account_id,codeHash:n.code_hash};default:throw Error(`Unsupported wasm action_type: ${n?.action_type}`)}}function o(e){return{receiverId:e.receiverId,actions:e.actions.map(a)}}function s(e){return(e||[]).map(o)}export{r as a,n as i,a as n,i as o,s as r,t};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{R as e}from"./domainIds-GDzjOs6i.js";import{l as t,p as n,u as r}from"./validation-dC1-_uyG.js";import{r as i}from"./transactionReviewAdmission-0ZgWs6q3.js";import{a,o,r as s,t as c}from"./errors-DfbnsXjO.js";import{c as l}from"./chains-yAls2d9X.js";import{t as u}from"./accountIds-C3Ihsd2c.js";import{p as d}from"./nonceLaneKeys-BBYi4g51.js";import{i as f,n as p}from"./profileAccountProjection-DHCaMtOu.js";import{u as m}from"./trace-M34pNGuF.js";import{a as h,i as g,r as _,t as v}from"./actions-DZLxCcrU.js";import{i as y,r as b}from"./intentDigest-CB6zy3lN.js";import{t as x}from"./surface-measurement-reporter-OICExWKE.js";import{r as S}from"./csp-stylesheet-B1fAhrGB.js";import{n as C}from"./NonceCoordinator-BBeadCSq.js";import{n as w,s as T,t as ee}from"./promptText-s8TQ6ckX.js";import{a as te}from"./transaction-activity-BbDod7ji.js";import{a as ne,i as E,n as D,o as O,r as k,t as A}from"./jsxRuntime.module-CoHsKD_3.js";import{i as j,n as re,r as ie,t as ae}from"./ConfirmationDrawer-DrsREojk.js";function oe(e){return e===`drawer`?`drawer`:`modal`}function se(e){return typeof e!=`number`||!Number.isFinite(e)?0:Math.max(0,Math.floor(e))}function ce(e){if(e?.uiMode===`none`)return{kind:`silent`,uiMode:`none`};let t=oe(e?.uiMode);return e?.behavior===`skipClick`?{kind:`auto_proceed`,uiMode:t,behavior:`skipClick`,autoProceedDelay:se(e.autoProceedDelay)}:{kind:`interactive`,uiMode:t,behavior:`requireClick`}}function le(){return{kind:`silent`,uiMode:`none`}}function ue(e){throw Error(`Unsupported confirmation config: ${String(e.kind)}`)}let M=function(e){return e.SIGN_TRANSACTION=`signTransaction`,e.REGISTER_ACCOUNT=`registerAccount`,e.LINK_DEVICE=`linkDevice`,e.AUTHORIZE_KEY_EXPORT=`authorizeKeyExport`,e.SIGN_NEP413_MESSAGE=`signNep413Message`,e.SHOW_SECURE_PRIVATE_KEY_UI=`showSecurePrivateKeyUi`,e.SIGN_INTENT_DIGEST=`signIntentDigest`,e}({}),de=function(e){return e.PROMPT_USER_CONFIRM_IN_JS_MAIN_THREAD=`PROMPT_USER_CONFIRM_IN_JS_MAIN_THREAD`,e.USER_PASSKEY_CONFIRM_RESPONSE=`USER_PASSKEY_CONFIRM_RESPONSE`,e.USER_PASSKEY_CONFIRM_PROGRESS=`USER_PASSKEY_CONFIRM_PROGRESS`,e}({});function fe(e,t){if(!e||e.kind!==t.kind)return!1;switch(e.kind){case`disabled`:return t.kind===`disabled`;case`wallet_iframe`:return t.kind===`wallet_iframe`&&e.requestId===t.requestId&&e.postMeasurement===t.postMeasurement&&e.hostSurfaceVariant===t.hostSurfaceVariant}}const pe={theme:{id:`default`,mode:`dark`,colors:{}},palette:`default`};function me(e){return e===`light`||e===`dark`}function he(e){let t=e.requestedAppearance??e.getAppearance?.()??pe;return!me(e.requestedMode)||e.requestedMode===t.theme.mode?t:{...t,theme:{...t.theme,mode:e.requestedMode}}}function ge(e){if(e.type!==M.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 _e(e){if(e.type!==M.SIGN_TRANSACTION&&e.type!==M.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 ve(e){switch(e.type){case M.SIGN_TRANSACTION:return N(e).rpcCall.nearAccountId;case M.SIGN_NEP413_MESSAGE:return e.payload.nearAccountId;case M.SIGN_INTENT_DIGEST:{let t=xe(e);return t.kind===`near_wallet`?t.nearAccountId:``}case M.REGISTER_ACCOUNT:case M.LINK_DEVICE:return String(Oe(e).nearAccountId||``).trim();case M.AUTHORIZE_KEY_EXPORT:{let t=ye(e);return t.kind===`near_wallet`?t.nearAccountId:``}case M.SHOW_SECURE_PRIVATE_KEY_UI:{let t=ye(e);return t.kind===`near_wallet`?t.nearAccountId:``}default:return``}}function ye(e){if(e.type!==M.AUTHORIZE_KEY_EXPORT&&e.type!==M.SHOW_SECURE_PRIVATE_KEY_UI)throw Error(`Expected local key export request, got ${e.type}`);return e.payload.subject}function be(e){let t=ye(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 xe(e){if(e.type!==M.SIGN_INTENT_DIGEST)throw Error(`Expected SIGN_INTENT_DIGEST request, got ${e.type}`);return e.payload.signingSubject}function Se(e){switch(e.type){case M.SIGN_TRANSACTION:return String(N(e).walletId||``).trim();case M.SIGN_NEP413_MESSAGE:return String(e.payload.walletId||``).trim();case M.REGISTER_ACCOUNT:case M.LINK_DEVICE:return String(Oe(e).walletId||``).trim();case M.SIGN_INTENT_DIGEST:return xe(e).walletId;case M.AUTHORIZE_KEY_EXPORT:case M.SHOW_SECURE_PRIVATE_KEY_UI:return be(e);default:return ve(e)}}function Ce(e){return e.type===M.SIGN_TRANSACTION&&N(e).txSigningRequests?.length||1}function we(e){return e.type===M.SIGN_TRANSACTION?e.payload.intentDigest:e?.intentDigest}function N(e){if(e.type!==M.SIGN_TRANSACTION)throw Error(`Expected SIGN_TRANSACTION request, got ${e.type}`);return e.payload}function Te(e){if(e.type===M.SIGN_TRANSACTION)return N(e).displayModel;if(e.type===M.SIGN_NEP413_MESSAGE||e.type===M.SIGN_INTENT_DIGEST)return e.payload.displayModel}function Ee(e){if(e.type===M.SIGN_TRANSACTION)return T(N(e).signingAuthPlan);if(e.type===M.SIGN_NEP413_MESSAGE){let t=e.payload;return T(t.signingAuthPlan)}if(e.type===M.SIGN_INTENT_DIGEST){let t=e.payload;return T(t.signingAuthPlan)}}function De(e){if(e.type===M.SIGN_TRANSACTION){let t=N(e);return t.signingAuthPlan?.kind===w.EmailOtpReauth?t.signingAuthPlan.emailOtpPrompt:t.emailOtpPrompt}if(e.type===M.SIGN_NEP413_MESSAGE){let t=e.payload;return t.signingAuthPlan?.kind===w.EmailOtpReauth?t.signingAuthPlan.emailOtpPrompt:t.emailOtpPrompt}if(e.type===M.SIGN_INTENT_DIGEST){let t=e.payload;return t.signingAuthPlan?.kind===w.EmailOtpReauth?t.signingAuthPlan.emailOtpPrompt:t.emailOtpPrompt}}function Oe(e){if(e.type!==M.REGISTER_ACCOUNT&&e.type!==M.LINK_DEVICE)throw Error(`Expected REGISTER_ACCOUNT or LINK_DEVICE request, got ${e.type}`);return e.payload}function ke(e){if(typeof e==`string`){let t=e.trim();if(!t)return{};try{let e=JSON.parse(t);return r(e)&&!Array.isArray(e)?e:{}}catch{return{}}}if(!r(e)||Array.isArray(e))throw Error(`Invalid secure confirm request summary: expected an object`);return e}function Ae(e){if(e==null)return e;if(Array.isArray(e))return e.map(e=>e);if(r(e)){let n=e,r={};for(let e of Object.keys(n)){if(e===`_confirmHandle`)continue;let i=n[e];t(i)||(r[e]=i)}return r}return e}const je={cancelled:`User cancelled secure confirm request`,collectCredentialsFailed:`Failed to collect credentials`,nearRpcFailed:`Failed to fetch NEAR data`};function Me(t){return e(t.channelToken)}function Ne(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 Pe(t,r,i){let{_confirmHandle:a,...o}=r,s=n(o.requestId)?o.requestId:r.requestId,c=e(i?.channelToken)??Me(t),l={type:de.USER_PASSKEY_CONFIRM_RESPONSE,requestId:s,data:o,...c?{channelToken:c}:{}};t.onDecision?.(o),t.postMessage(l)}function Fe(t,r,i){let a=Ae(r),o=n(a?.requestId)?a.requestId:r.requestId,s=e(i?.channelToken)??Me(t),c={type:de.USER_PASSKEY_CONFIRM_PROGRESS,requestId:o,data:a,...s?{channelToken:s}:{}};t.postMessage(c)}function Ie(e){return a(e)?!1:s(e)||(()=>{let t=o(e);return t?.name===`NotAllowedError`||t?.name===`AbortError`})()}async function Le(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 Re(e){return e.map(e=>({id:String(e.credentialId||``),type:`public-key`,transports:Array.isArray(e.transports)?e.transports:[]}))}function ze(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(ze).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 Le({credentialStore:e.credentialStore,walletId:r})}}async function Ve(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=Re(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 He(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 Ue(e){let t=u(e.nearAccountId);return await He({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 He({touchIdPrompt:e.touchIdPrompt,accountLabel:t,challengeB64u:e.challengeB64u,credentialIdB64u:e.credentialIdB64u,cancellation:e.cancellation,includeSecondPrfOutput:e.includeSecondPrfOutput})}async function Ge(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 Ve({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 Ke(e){let t=String(e.walletId||``).trim(),n=await Le({credentialStore:e.credentialStore,walletId:t});return await Ve({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}:{}})}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 P(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 F(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 I(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=I(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=I(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: ${F(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: ${F(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: ${F(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: ${F(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:{let n=``;try{n=JSON.stringify(e,null,2)}catch{n=String(e)}r=[{id:`a${t}-action`,label:`Action: ${e.type||`Unknown`}`,open:!1,type:`file`},{id:`a${t}-raw`,label:`Raw Data`,type:`file`,open:!1,content:n}];break}}return{id:`action-${t}`,label:``,type:`folder`,open:!1,hideChevron:!0,action:e,actionIndex:t,children:r}}function lt(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 ut(e){let t=e.length,n=e.map((e,n)=>lt(e,n,t));return{id:`txs-root`,label:t>1?`Transactions`:`Transaction`,type:`folder`,open:!0,children:n}}function dt(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(dt)}function ft(e){return(Array.isArray(e.operations)?e.operations:[]).some(dt)}function L(e){let t=Array.isArray(e.txSigningRequests)?e.txSigningRequests:[];if(t.length>0)return ut(_(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 pt=/^NEAR account ([^\s]+) needs funding before signing\.$/;function mt(e){let t=String(e||``).trim();return t.length<=8?t:`${t.slice(0,4)}...${t.slice(-4)}`}function ht(e){let t=String(e||``).trim();return t?`NEAR account ${t} needs funding before signing.`:`NEAR account needs funding before signing.`}function gt(e){let t=String(e||``).trim(),n=pt.exec(t);if(!n)return null;let r=String(n[1]||``).trim();return r?{accountId:r,shortAccountId:mt(r)}:null}function _t(e){return String(e||``).trim()===`Topping up account...`}function vt(e){let t=mt(e);return t?`Funding NEAR account ${t}...`:`Funding NEAR account...`}function yt(e){let t=String(e||``).trim();return t.startsWith(`Funding NEAR account`)&&t.endsWith(`...`)}function bt(e){return _t(e)||yt(e)}function xt(e){let t=e.trim();if(!t)return{kind:`empty`};if(bt(t))return{kind:`status`,text:t};let n=gt(t);return n?{kind:`funding`,accountId:n.accountId,shortAccountId:n.shortAccountId}:{kind:`text`,text:t}}function St(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:Ct(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 Ot(t.signingAuthMode)}let o=xt(t.body??``);return{ok:!0,model:{appearance:e.appearance,content:{kind:`transaction`,review:{model:t.model??null,tree:e.tree},header:{heading:wt(t),website:Tt(t.securityContext?.rpId?.trim()??``),chainDetails:Et(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 Ct(e,t){return e?{kind:`pending`}:t?{kind:`rejected`,message:t}:{kind:`ready`}}function wt(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 Ot(e.signingAuthMode)}}function Tt(e){return e?{kind:`ready`,text:e}:{kind:`loading`}}function Et(e,t){let n=e.model;if(n?.chainId)return{kind:`ready`,text:`${Dt(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 Dt(e){switch(e){case`near`:return`NEAR`;case`evm`:return`EVM`;case`tempo`:return`Tempo`;case`unknown`:return`Unknown`;default:return Ot(e)}}function Ot(e){throw Error(`Unexpected confirmation presentation: ${String(e)}`)}const kt=`seams-surface-resize-begin`;function At(e,t){return e.dispatchEvent(new CustomEvent(kt,{bubbles:!0,composed:!0,detail:t}))}function jt(e,t,n){let r=t;return e.addEventListener(kt,r,n),()=>e.removeEventListener(kt,r,n)}const Mt=`data-seams-confirm-surface`,R=`seams-confirm-surface-pinned`,z=`seams-confirm-surface-pinned-root`,B=`seams-surface-height-driven`,Nt=`--seams-surface-height-driven-target`;function Pt(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 At(e,{...t.reason?{reason:t.reason}:{},deltaCssPx:i,claim:f}),s!==null}function Ft(e){let t=null,n=null,r=()=>{let e=n;n=null,e&&e.classList.remove(B)};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(z)||a.parentElement?.closest(`.${B}`)||(n=a,a.classList.add(B),e.setHeightCssPx(i),Promise.resolve(e.settled?.()).then(()=>new Promise(e=>requestAnimationFrame(()=>e()))).then(()=>{if(n!==a)return;if(document.documentElement.classList.contains(z)){r();return}a.classList.remove(B);let t=a.getBoundingClientRect().height;a.classList.add(B),V({...e.reason?{reason:e.reason}:{},element:a,fromCssPx:i,toCssPx:t,setHeightCssPx:t=>e.setHeightCssPx(t),onSettled:()=>{n=null}})||r()}))},dispose:r}}function V(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??[B],a=i.filter(e=>!t.classList.contains(e));t.classList.add(...a),e.setHeightCssPx(n);let o=Pt(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 It=null;const Lt={blipFrames:0,trace(e=2e3){return new Promise(t=>{let n=[],r=performance.now(),i=()=>{let a=It,o=a?.classList.contains(R)?`*`:``;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 Rt(e){It=e;try{window.__seamsSurfaceMotion=Lt}catch{}}function zt(){let e=document.documentElement?.clientHeight??0;return e>0?e:window.innerHeight}function Bt(e,t,n){return Math.min(Math.max(e,t),n)}function Vt(e){return e.getAttribute(Mt)===`wallet-iframe`}function Ht(e){if(typeof CSSStyleSheet!=`function`||!(`adoptedStyleSheets`in document))return null;let t=null,n=()=>{e.classList.remove(R),document.documentElement.classList.remove(z)};return{set(n){try{t||=new CSSStyleSheet,t.replaceSync(`.${R}{height:${Math.max(0,Math.round(n))}px}.${z}{overflow:hidden}`),document.adoptedStyleSheets.includes(t)||(document.adoptedStyleSheets=[...document.adoptedStyleSheets,t])}catch{return!1}return e.classList.add(R),document.documentElement.classList.add(z),!0},release:n,dispose(){if(n(),!t)return;let e=t;t=null;try{document.adoptedStyleSheets=document.adoptedStyleSheets.filter(t=>t!==e)}catch{}}}}function Ut(e,t={}){let n=t.viewportHeightCssPx??zt,r=Ht(e);Rt(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=Bt((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&&(Lt.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=jt(e,t=>{let s=t.detail;if(!r||!s||!Vt(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 H(e){let t=e.size??`100%`,n=e.strokeWidth??2;return A(`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:[A(`rect`,{width:`18`,height:`11`,x:`3`,y:`11`,rx:`2`,ry:`2`}),A(`path`,{d:`M7 11V7a5 5 0 0 1 10 0v4`})]})}let Wt=0;var Gt=class extends k{constructor(...e){super(...e),this.id=`seams-halo-${++Wt}`,this.element=E(),this.motion=null,this.frame=null,this.startedAt=null,this.angle=null,this.updateAnimation=()=>{this.cancelFrame(),this.angle=null,this.syncDynamicStyles(),this.props.animated&&this.motion?.matches&&(this.frame=this.element.current.ownerDocument.defaultView.requestAnimationFrame(this.tick))},this.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)}}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}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 A(`div`,{id:this.id,ref:this.element,class:`seams-halo-border`,children:A(`div`,{class:`halo-root${this.props.animated?` animated`:``}`,children:A(`div`,{class:`halo-inner`,children:A(`div`,{class:`halo-outer`,children:[this.props.animated&&A(`div`,{class:`halo-ring`,"aria-hidden":`true`}),A(`div`,{class:`halo-content`,children:this.props.children})]})})})})}};function Kt(e){return A(`div`,{class:`seams-passkey-halo-loading`,"aria-hidden":`true`,children:A(`div`,{class:`seams-passkey-loading-root`,children:A(Gt,{animated:e.animated,innerPadding:e.innerPadding,styles:e.styles,children:A(`div`,{class:`seams-passkey-loading-touch-icon-container`,children:A(`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`?A(qt,{}):A(Jt,{})})})})})})}function qt(){return A(O,{children:[A(`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`}),A(`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 Jt(){return A(`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 Yt(e){return A(O,{children:[A(`span`,{class:`loading-ellipsis`,"aria-hidden":`true`,children:[A(`span`,{class:`loading-ellipsis__dot`,children:`.`}),A(`span`,{class:`loading-ellipsis__dot`,children:`.`}),A(`span`,{class:`loading-ellipsis__dot`,children:`.`})]}),A(`span`,{class:`sr-only`,children:e.label})]})}function Xt(e,t){return`${e.trim().replace(/\/$/,``)}/address/${encodeURIComponent(t)}`}function U(e){return A(`a`,{class:`highlight-receiver-id`,href:Xt(e.base,e.address),target:`_blank`,rel:`noopener noreferrer`,children:e.children})}function W(e){let t=e.trim();return/^0x[0-9a-fA-F]{40}$/.test(t)?`${t.slice(0,8)}...${t.slice(-4)}`:t}function G(e){let t=e.label.trim().match(/^(Transaction(?:\s+\d+)?\s+to contract)\b/i);return t?`${t[1]} `:void 0}function Zt(e){throw Error(`Unsupported transaction action: ${String(e)}`)}function Qt(e){let t=e.action;if(t)switch(t.type){case v.FunctionCall:return`Calling ${t.methodName} with ${P(t.deposit)} using ${Ze(t.gas)}`;case v.Transfer:return`Transfer ${P(t.amount)}`;case v.CreateAccount:return`Creating Account`;case v.DeleteAccount:return`Deleting Account`;case v.Stake:return`Staking ${P(t.stake)}`;case v.AddKey:return`Adding Key`;case v.DeleteKey:return`Deleting Key`;case v.DeployContract:return`Deploying WASM contract`;case v.DeployGlobalContract:return`Deploy global WASM contract (mode: ${t.deployMode}, size ${I(t.code)})`;case v.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 Zt(t)}if(e.transaction)return((e.totalTransactions??1)>1?`Transaction ${(e.transactionIndex??0)+1}: to `:`Transaction to `)+e.transaction.receiverId;let n=G(e);return e.contractAddress?.trim()&&n?n+W(e.contractAddress):e.label}function $t({node:e,explorers:t}){let n=e.action;if(n)switch(n.type){case v.FunctionCall:{let e=Ze(n.gas),t=P(n.deposit);return A(O,{children:[`Calling `,A(`span`,{class:`highlight-method-name`,children:n.methodName}),t!==`0 NEAR`&&A(O,{children:[` `,`with `,A(`span`,{class:`highlight-method-name`,children:t})]}),e&&A(O,{children:[` `,`using `,A(`span`,{class:`highlight-method-name`,children:e})]})]})}case v.Transfer:return A(O,{children:[`Transfer `,A(`span`,{class:`highlight-amount`,children:P(n.amount)})]});case v.CreateAccount:return`Creating Account`;case v.DeleteAccount:return`Deleting Account`;case v.Stake:return`Staking ${P(n.stake)}`;case v.AddKey:return`Adding Key`;case v.DeleteKey:return`Deleting Key`;case v.DeployContract:return`Deploying WASM contract (${I(n.code)})`;case v.DeployGlobalContract:return Qt(e);case v.UseGlobalContract:return n.accountId?A(O,{children:[`Use global contract`,` `,A(U,{base:t.near,address:n.accountId,children:n.accountId})]}):n.codeHash?A(O,{children:[`Use global contract by hash`,` `,A(`span`,{class:`highlight-method-name`,children:F(n.codeHash,{prefix:10,suffix:6})})]}):`Use global contract`;default:return Zt(n)}if(e.transaction)return A(O,{children:[(e.totalTransactions??1)>1?`Transaction ${(e.transactionIndex??0)+1}: to `:`Transaction to `,A(U,{base:t.near,address:e.transaction.receiverId,children:e.transaction.receiverId})]});let r=G(e),i=e.contractAddress?.trim();if(i&&r){let n=e.chain&&e.chain!==`unknown`?t[e.chain]:void 0;return A(O,{children:[r,n?A(U,{base:n,address:i,children:W(i)}):A(`span`,{class:`highlight-receiver-id`,children:W(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 A(O,{children:[`Calling `,A(`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 A(O,{children:[`Calling `,A(`span`,{class:`highlight-method-name`,children:n}),r&&` using ${r}`]})}return e.label}const K=[`anim-h`,`anim-h-active`,`anim-h-driven`],en=[...K,`anim-h-hold`];let tn=0;function nn(){return A(`svg`,{class:`chevron`,viewBox:`0 0 16 16`,"aria-hidden":`true`,children:A(`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 A(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=A(`div`,{class:`tooltip-tree-root`,children:A(`div`,{class:`tooltip-tree-children`,children:e.node.children.map(an.bind(null,e,1))})});return A(`div`,{class:`seams-tx-tree`,"data-theme":e.theme,children:e.showShadow?A(`div`,{class:`tooltip-border-outer`,children:t}):t})}var sn=class extends k{constructor(...e){super(...e),this.state={mode:this.props.node.contentVariants?.defaultMode===`raw`?`raw`:`decoded`,copied:!1},this.id=`seams-tree-node-${++tn}`,this.details=E(),this.shell=E(),this.disposed=!1,this.copiedTimer=null,this.frame=null,this.motionTimer=null,this.motion=null,this.modeHeight=null,this.setHeight=e=>{this.disposed||this.props.styles.setDynamicDeclarations(this.id,`#${this.id}`,{"--seams-tree__anim-target":`${e}px`})},this.releaseHeight=()=>{this.props.styles.deleteDynamicRule(this.id)},this.clearCopied=()=>{this.copiedTimer=null,this.disposed||this.setState({copied:!1})},this.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 j(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{}},this.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(...K)),this.setState({mode:this.state.mode===`decoded`?`raw`:`decoded`}))},this.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)},this.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;V({reason:this.props.node.id,element:e,drivenClasses:K,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))},this.onTransitionEnd=e=>{e.target===this.motion?.body&&e.propertyName===`height`&&this.finishMotion()},this.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)}}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(...K);let n=e.getBoundingClientRect().height;e.classList.add(...K),V({reason:`${this.props.node.id}:file-content-mode`,element:e,drivenClasses:K,fromCssPx:t,toCssPx:n,setHeightCssPx:this.setHeight,onSettled:this.releaseHeight})||(e.classList.remove(...K),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()}label(e){let t=this.props.node;return A(`span`,{class:`label${t.type===`file`?` label-action-node`:``}`,hidden:t.hideLabel,children:[e&&!t.hideChevron&&A(nn,{}),A(`span`,{class:`label-text`,title:Qt(t),children:A($t,{node:t,explorers:this.props.explorers})}),t.type===`file`&&t.copyValue&&A(`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 A(`div`,{id:this.id,class:`row file-row depth-${Math.max(0,t-1)}`,"data-no-elbow":String(!!e.hideLabel),children:[A(`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 A(`details`,{id:this.id,ref:this.details,class:`tree-node ${e.type}`,open:!!e.open,"data-node-id":e.id,children:[A(`summary`,{class:n,"data-no-elbow":String(!!e.hideLabel),onClick:this.toggle,children:[A(`span`,{class:`indent`}),this.label(!0),e.type===`file`&&A(`div`,{ref:this.shell,class:`file-content-shell${r?` has-mode-toggle`:``}`,children:[r&&A(`button`,{type:`button`,class:`file-content-mode-toggle`,title:`Show ${a}`,"aria-label":`Show ${a}`,onClick:this.toggleMode,children:a}),A(`div`,{class:`file-content`,children:i})]})]}),e.type===`folder`&&!!e.children?.length&&A(`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 k{constructor(e){super(e),this.state={armed:!1},this.id=`seams-confirm-content-${++cn}`,this.root=E(),this.frame=null,this.capturedBeforeUpdate=!1,this.reflowEnabled=!0,this.getReflowElement=()=>{let e=this.root.current;return e?.closest(`.modal-container-root, .seams-confirmation-drawer`)??e},this.setHeight=e=>{let t=this.getReflowElement(),n=t?.id?`#${t.id}`:`#${this.id}`;this.props.styles.setDynamicDeclarations(this.id,n,{[Nt]:`${e}px`})},this.afterFirstPaint=()=>{this.frame=this.root.current.ownerDocument.defaultView.requestAnimationFrame(this.arm)},this.arm=()=>{this.frame=null,this.setState({armed:!0})},this.confirm=()=>{this.state.armed&&this.props.decision.kind===`ready`&&this.props.decision.onConfirm()},this.cancel=()=>{this.props.onCancel()},this.reflow=Ft({reason:`tx-body`,element:this.getReflowElement,setHeightCssPx:this.setHeight})}componentDidMount(){this.reflowEnabled=this.getReflowElement()===this.root.current,this.frame=this.root.current.ownerDocument.defaultView.requestAnimationFrame(this.afterFirstPaint)}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)}render(){let e=this.props.decision.kind===`preparing`;return A(`div`,{class:`seams-tx-confirm-content`,onPointerDown:ln,onMouseDown:ln,onTouchStart:ln,children:A(`div`,{id:this.id,ref:this.root,class:`txc-root`,children:[this.props.errorMessage&&A(`div`,{class:`error`,role:`alert`,children:this.props.errorMessage}),this.props.tree&&A(`div`,{class:`tooltip-width`,children:A(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})}),A(`div`,{class:`actions`,children:[!this.props.cancelInHeader&&A(`button`,{type:`button`,class:`cancel`,onClick:this.cancel,children:this.props.cancelText}),A(`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?A(O,{children:[A(`span`,{class:`loading-indicator`,role:`progressbar`,"aria-label":`Loading`}),A(`span`,{children:`Loading...`})]}):A(O,{children:[this.props.confirmIcon,this.props.confirmText]})})]})]})})}};function dn(e){throw Error(`Unexpected confirmation body: ${String(e)}`)}var fn=class extends k{constructor(...e){super(...e),this.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 A(`div`,{class:`confirmation-body`,children:e.text});case`status`:return A(`div`,{class:`confirmation-body confirmation-body--status`,children:e.text});case`funding`:return A(`div`,{class:`confirmation-body confirmation-body--funding`,children:[`NEAR account`,A(`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 A(`div`,{class:`passkey-registration-confirm__identity`,"aria-label":`Passkey registration details`,children:[A(`div`,{class:`passkey-registration-confirm__row`,children:[A(`span`,{class:`passkey-registration-confirm__label`,children:`Account`}),A(`span`,{class:`passkey-registration-confirm__value`,title:e.display.intendedUserName,children:e.display.intendedUserName})]}),A(`div`,{class:`passkey-registration-confirm__row`,children:[A(`span`,{class:`passkey-registration-confirm__label`,children:`Website`}),A(`span`,{class:`passkey-registration-confirm__value`,title:e.display.rpId,children:e.display.rpId})]})]})}var mn=class extends k{constructor(...e){super(...e),this.confirm=()=>{this.props.decision.kind===`ready`&&this.props.decision.onConfirm()},this.cancel=()=>{this.props.onCancel()}}render(){let e=this.props.decision.kind===`creating`;return A(`div`,{ref:this.props.root,class:`passkey-registration-confirm`,children:[A(`div`,{class:`hero passkey-registration-confirm__hero`,children:[A(Kt,{animated:!this.props.errorMessage,icon:`fingerprint`,size:44,styles:this.props.styles}),A(`div`,{class:`hero-container passkey-registration-confirm__hero-copy`,children:[A(`h2`,{class:`hero-heading`,children:this.props.heading}),A(`p`,{class:`passkey-registration-confirm__body`,children:this.props.body})]})]}),this.props.errorMessage&&A(`div`,{class:`error-banner`,children:this.props.errorMessage}),A(pn,{display:this.props.display}),A(`div`,{class:`passkey-registration-confirm__actions`,children:[A(`button`,{type:`button`,class:`btn btn-cancel`,onClick:this.cancel,children:this.props.cancelText}),A(`button`,{type:`button`,class:`btn btn-confirm`,disabled:e,onClick:this.confirm,children:e?A(O,{children:[A(`span`,{class:`loading-indicator passkey-registration-confirm__spinner`,role:`progressbar`,"aria-label":`Creating passkey`}),A(`span`,{class:`passkey-registration-confirm__busy-label`,children:`Creating passkey...`})]}):`Create passkey`})]})]})}};let hn=0;var gn=class extends k{constructor(...e){super(...e),this.id=`seams-email-code-${++hn}`,this.input=e=>{this.props.state.kind===`editing`&&this.props.state.onInput(e.currentTarget.value)},this.resend=()=>{this.props.resend?.kind===`available`&&this.props.resend.onResend()},this.renderDigit=e=>{let t=this.props.code[e]||``;return A(`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 A(`div`,{class:`email-otp-confirm`,children:[A(`label`,{class:`email-otp-confirm__label`,for:this.id,children:`Email code`}),A(`div`,{class:`email-otp-confirm__code-field`,"data-disabled":e?`true`:`false`,children:[A(`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}),A(`div`,{class:`email-otp-confirm__slots${e?` is-submitting`:``}`,"aria-hidden":`true`,children:[0,1,2,3,4,5].map(this.renderDigit)})]}),A(`div`,{id:t,class:`email-otp-confirm__helper`,children:this.props.helperText}),this.props.errorMessage&&A(`div`,{id:n,class:`email-otp-confirm__error`,children:this.props.errorMessage}),this.props.resend&&A(`button`,{type:`button`,class:`email-otp-confirm__resend`,disabled:this.props.resend.kind===`unavailable`,onClick:this.resend,children:this.props.resend.label})]})}},_n=class{constructor(e){this.codeState={kind:`editing`,code:``},this.resendState={kind:`available`,label:`Resend code`},this.error=``,this.countdown=null,this.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()},this.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)},this.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()},this.tick=()=>{this.resendState.kind===`cooldown`&&(Date.now()>=this.resendState.until&&(this.resendState={kind:`available`,label:this.resendState.label},this.clearCountdown()),this.publish())},this.options=e}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`)}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}}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 A(yn,{...e},e.prompt.challengeId)}var yn=class extends k{constructor(e){super(e),this.form=E(),this.submit=e=>{this.lifetime.kind===`active`&&this.props.onSubmit(e,this.lifetime.challengeId)},this.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)}}},this.change=e=>{this.setState(e)},this.confirm=e=>{e.preventDefault(),e.stopPropagation(),this.session.confirm()===`invalid`&&this.setState({},this.focusCode)},this.focusCode=()=>{this.form.current?.querySelector(`input`)?.focus({preventScroll:!0})},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})}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 A(`form`,{ref:this.form,id:this.props.formId,onSubmit:this.confirm,noValidate:!0,children:A(gn,{challengeId:this.lifetime.kind===`active`?this.lifetime.challengeId:``,code:this.state.code,helperText:this.props.prompt.helperText?.trim()||ee(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 Cn=class extends k{constructor(...e){super(...e),this.root=E(),this.id=`seams-review-disclosure-${++Sn}`,this.motion=null,this.setHeight=e=>{let t=this.root.current;t&&D(t.ownerDocument).setDynamicDeclarations(this.id,`#${this.id}`,{"--seams-review-disclosure-height":`${e}px`})},this.finish=()=>{this.root.current&&this.motion&&(this.root.current.open=this.motion.opening,this.root.current.removeAttribute(`data-closing`)),this.clearMotion()},this.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},V({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}}componentDidMount(){this.root.current&&(this.root.current.open=this.props.initiallyOpen??!1)}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`))}render(){return A(`details`,{ref:this.root,class:`seams-review-technical`,children:[A(`summary`,{onClick:this.toggle,children:[this.props.label,A(`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:A(`path`,{d:`m5 7.5 5 5 5-5`})})]}),A(`div`,{id:this.id,children:this.props.children})]})}};function wn(){return A(`svg`,{class:`seams-receipt-wordmark`,viewBox:`0 0 1428 285`,role:`img`,"aria-label":`seams`,children:A(`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 A(`svg`,{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.6`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"aria-hidden":`true`,children:A(`path`,{d:t[e]})})}function Tn(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 En(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 Dn({value:e,class:t}){return A(`bdi`,{class:`seams-review-middle ${t}`,dir:`ltr`,title:e,children:[A(`span`,{children:e.slice(0,-8)}),A(`span`,{children:e.slice(-8)})]})}function On({symbol:e}){return e===`ETH`?A(`svg`,{class:`seams-review-token`,viewBox:`0 0 42 42`,"aria-hidden":`true`,children:[A(`circle`,{cx:`21`,cy:`21`,r:`21`,fill:`#eef0fb`}),A(`path`,{d:`m21 6-9 15 9 5 9-5Z`,fill:`#627eea`}),A(`path`,{d:`m21 6 9 15-9 5Z`,fill:`#465da9`}),A(`path`,{d:`m12 23 9 13 9-13-9 5Z`,fill:`#627eea`})]}):e===`USDC`?A(`svg`,{class:`seams-review-token`,viewBox:`0 0 42 42`,"aria-hidden":`true`,children:[A(`circle`,{cx:`21`,cy:`21`,r:`21`,fill:`#2775ca`}),A(`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`})]}):A(`span`,{class:`seams-review-token seams-review-token-fallback`,"aria-hidden":`true`,children:e.slice(0,1)})}function kn({model:e,compact:t=!1}){let n=Mn(e);return n?A(`div`,{class:`seams-review-amount${t?` seams-review-amount--compact`:``}`,children:[!t&&A(On,{symbol:n.symbol}),A(`div`,{children:[A(`span`,{children:n.value}),` `,A(`small`,{children:n.symbol})]})]}):null}function An(){return A(`div`,{class:`seams-receipt-footer`,children:[A(q,{kind:`shield`}),` `,A(`span`,{children:`Secured by`}),` `,A(wn,{})]})}function jn(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 Mn(e){let t=e?.totals;return t?.nativeValue?t.nativeSymbol===`yoctoNEAR`?{value:jn(t.nativeValue,24),symbol:`NEAR`}:{value:t.nativeValue,symbol:t.nativeSymbol??``}:null}var J=class extends k{constructor(...e){super(...e),this.state={copied:!1},this.lifetime=new AbortController,this.timer=null,this.resetCopied=()=>{this.setState({copied:!1})},this.copy=async e=>{let t=e.currentTarget;if(!(t instanceof HTMLElement))return;let n=this.lifetime.signal;try{if(!await j(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})}}}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())}render(){return A(`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&&A(`bdi`,{class:`seams-review-full-address`,dir:`ltr`,children:this.props.value}),A(ie,{})]})}};function Nn({node:e}){if(e.action||e.transaction)return A(O,{children:Qt(e)});let t=G(e);if(t&&e.contractAddress){let n=e.contractAddress;return A(`span`,{class:`seams-review-contract`,children:[t.trim(),A(`span`,{class:`seams-review-contract-value`,children:[A(Dn,{value:n,class:`seams-review-contract-address`}),A(J,{value:n,label:`Copy contract address ${n}`})]})]})}if(e.fieldLabel){let t=e.label.slice(e.fieldLabel.length);return A(O,{children:[e.fieldLabel,e.fieldLabel===`Method:`?A(`span`,{class:`seams-review-function`,children:t}):t]})}let n=/^(Call(?:ing)? )([^\s]+)(.*)$/.exec(e.label);return n?A(O,{children:[n[1],A(`span`,{class:`seams-review-function`,children:n[2]}),n[3]]}):A(O,{children:e.label})}function Pn({node:e}){let t=e.contentVariants?.decoded??e.content,n=!!(e.contentVariants||t?.includes(`
|
|
2
|
-
`));return A(`div`,{class:`seams-review-detail`,children:[A(`div`,{class:t?`seams-review-detail-row${n?` seams-review-detail-row--block`:``}`:`seams-review-detail-label`,children:[A(`span`,{children:A(Nn,{node:e})}),t&&A(`pre`,{children:t}),e.copyValue&&A(J,{value:e.copyValue})]}),e.contentVariants&&A(`details`,{class:`seams-review-raw`,children:[A(`summary`,{children:`Raw data`}),A(`pre`,{children:e.contentVariants.raw})]}),!!e.children?.length&&A(`div`,{class:`seams-review-detail-children`,children:e.children?.map(e=>A(Pn,{node:e},e.id))})]})}function Fn({data:e,details:t=!0}){let n=e.model,r=n?.operations[0],i=En(n);return A(`div`,{class:`seams-transaction-review`,children:[A(kn,{model:n}),n?.warnings?.map(e=>A(`div`,{class:`seams-review-warning`,role:`alert`,children:e.message},e.code)),A(`dl`,{class:`seams-review-fields`,children:[i&&A(`div`,{children:[A(`dt`,{children:`To`}),A(`dd`,{class:`seams-review-recipient`,children:A(J,{value:i,address:!0,label:`Copy recipient address ${i}`})})]}),n&&A(`div`,{children:[A(`dt`,{children:`Network`}),A(`dd`,{children:[A(`span`,{class:`seams-review-network-dot`}),Tn(n)]})]}),n?.totals?.estimatedFee&&A(`div`,{children:[A(`dt`,{children:`Estimated network fee`}),A(`dd`,{children:[n.totals.estimatedFee,` `,n.totals.feeSymbol]})]})]}),t&&e.tree&&A(Cn,{initiallyOpen:e.detailsInitiallyOpen,label:r?.kind===`near.message`?`Message details`:`Transaction details`,children:A(Pn,{node:e.tree})}),n?.signerAccount&&A(`div`,{class:`seams-review-account`,children:[A(`span`,{class:`seams-review-avatar`,"aria-hidden":`true`,children:`S`}),A(`div`,{children:[`Signing account`,A(`small`,{children:A(J,{value:n.signerAccount,address:!0,label:`Copy signing account address ${n.signerAccount}`})})]})]})]})}let In=0;var Ln=class extends k{constructor(...e){super(...e),this.root=E(),this.otpFormId=`seams-confirmation-email-${++In}`,this.reflowId=`seams-confirmation-content-surface-${In}`,this.getReflowElement=()=>this.root.current?.closest(`.modal-container-root, .seams-confirmation-drawer`)??null,this.setHeight=e=>{let t=this.getReflowElement();t?.id&&this.props.styles.setDynamicDeclarations(this.reflowId,`#${t.id}`,{[Nt]:`${e}px`})},this.reflow=Ft({reason:`confirm-body`,element:this.getReflowElement,setHeightCssPx:this.setHeight}),this.copyAccount=e=>{let t=this.root.current;t&&j(t,e).catch(Rn)}}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 A(mn,{...e.registration,root:this.root,styles:this.props.styles});case`transaction`:return this.renderTransaction(e);default:return zn(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 A(`div`,{ref:this.root,class:t,children:A(`div`,{class:`seams-review-content`,children:[this.props.variant!==`drawer`&&A(`div`,{class:`seams-review-toolbar`,children:[A(`div`,{class:`seams-review-origin`,children:[e.transaction.onBack&&A(`button`,{type:`button`,"aria-label":`Back to review`,title:`Back to review`,disabled:n.kind===`preparing`,onClick:e.transaction.onBack,children:A(q,{kind:`back`})}),A(H,{}),e.header.website.kind===`ready`?e.header.website.text:A(Yt,{label:`Loading website`})]}),A(`button`,{type:`button`,"aria-label":e.transaction.cancelText,onClick:e.transaction.onCancel,children:A(q,{kind:`close`})})]}),e.review.model&&A(`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`}),A(`h2`,{class:`seams-review-title`,children:e.header.heading}),A(Fn,{data:e.review}),A(`div`,{class:`seams-review-context`,children:[A(fn,{model:e.body,onCopyAccount:this.copyAccount}),e.prompt.kind===`email`&&A(vn,{...e.prompt.email,formId:this.otpFormId})]}),A(un,{...e.transaction,tree:null,styles:this.props.styles,decision:n,cancelInHeader:!0,confirmIcon:e.prompt.kind===`passkey`?A(q,{kind:`fingerprint`}):void 0}),A(An,{})]})})}};function Rn(){}function zn(e){throw Error(`Unexpected confirmation content: ${String(e)}`)}function Y(e){return e.kind===`signing`||e.kind===`broadcasting`||e.kind===`submitted`}function Bn(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 Un(e)}}function Vn(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 Un(e)}}function Hn(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 Un(e)}}function Un(e){throw Error(`Unexpected transaction receipt state: ${String(e)}`)}const Wn=`cubic-bezier(0.22, 1, 0.36, 1)`;let Gn=0;var Kn=class extends k{constructor(...e){super(...e),this.explorerRow=E(),this.explorerRowId=`seams-receipt-explorer-row-${++Gn}`,this.minimize=()=>{this.props.receipt.onView(`toast`)},this.expand=()=>{this.props.receipt.onView(`expanded`)},this.close=()=>{Y(this.props.receipt.state)?this.minimize():this.props.receipt.onDismiss()},this.setExplorerRowHeight=e=>{let t=this.explorerRow.current;t&&D(t.ownerDocument).setDynamicDeclarations(this.explorerRowId,`#${this.explorerRowId}`,{"--seams-receipt-explorer-height":`${e}px`})},this.releaseExplorerRow=()=>{let e=this.explorerRow.current;e&&(delete e.dataset.opening,D(e.ownerDocument).deleteDynamicRule(this.explorerRowId))}}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()}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:Wn})};if(!V({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:Wn});t.onfinish=r,t.oncancel=this.releaseExplorerRow}}render(){let{receipt:e,data:t}=this.props,n=Vn(e.state),r=e.state.kind===`confirmed`||e.state.kind===`signed`,i=Y(e.state),a=Bn(e.state),o=En(t.model),s=e.state.kind===`confirmed`&&e.state.hash?qn(t.model,this.props.explorers,e.state.hash):null;return e.view===`toast`?A(`div`,{class:`seams-transaction-toast`,"data-completed-stages":a,"data-stage":e.state.kind,"data-pending":i,children:[A(`div`,{class:`seams-toast-progress`,"aria-hidden":`true`,children:A(`span`,{class:`seams-toast-progress-fill`,children:i&&A(`span`,{class:`seams-toast-progress-active`})})}),A(`span`,{class:`seams-receipt-symbol`,"data-pending":i,children:A(q,{kind:i?`loader`:r?`check`:`alert`})}),A(`div`,{class:`seams-transaction-toast-text`,children:[A(`strong`,{role:`status`,children:n}),A(`span`,{children:Tn(t.model)})]}),A(`button`,{type:`button`,class:`seams-receipt-open`,onClick:this.expand,children:[`Open `,A(q,{kind:`arrow`})]}),!i&&A(`button`,{type:`button`,class:`seams-receipt-dismiss`,"aria-label":`Close transaction`,onClick:e.onDismiss,children:A(q,{kind:`close`})})]}):A(`div`,{class:`seams-transaction-receipt`,children:[A(`div`,{class:`seams-review-toolbar`,children:[A(`span`,{children:`Transaction receipt`}),A(`button`,{type:`button`,"aria-label":`Minimize transaction`,onClick:this.minimize,children:A(q,{kind:`minimize`})})]}),A(`div`,{class:`seams-receipt-heading`,children:[A(`span`,{class:`seams-receipt-symbol`,"data-pending":i,children:A(q,{kind:i?`loader`:r?`check`:`alert`})}),A(`div`,{children:[A(`h2`,{role:`status`,children:n}),A(`p`,{children:Hn(e.state)})]})]}),A(kn,{model:t.model,compact:!0}),A(`div`,{class:`seams-receipt-destination`,children:[o&&A(O,{children:[`To `,A(J,{value:o,address:!0,label:`Copy recipient address ${o}`})]}),!o&&Tn(t.model)]}),t.model?.totals?.estimatedFee&&A(`dl`,{class:`seams-review-fields`,children:A(`div`,{children:[A(`dt`,{children:`Estimated network fee`}),A(`dd`,{children:[t.model.totals.estimatedFee,` `,t.model.totals.feeSymbol]})]})}),A(`div`,{class:`seams-receipt-steps`,"aria-label":`Transaction progress`,children:[A(Yn,{stage:`signing`,label:`Signed`,activeLabel:`Signing`,complete:a>=1,active:e.state.kind===`signing`}),A(Yn,{stage:`broadcast`,label:`Broadcast`,activeLabel:`Broadcasting`,complete:a>=2,active:e.state.kind===`broadcasting`}),A(Yn,{stage:`confirming`,label:e.state.kind===`reverted`?`Reverted`:`Confirmed`,activeLabel:`Confirming`,complete:a===3,active:e.state.kind===`submitted`})]}),A(Cn,{label:`Receipt details`,children:A(`dl`,{class:`seams-review-fields`,children:[t.model?.signerAccount&&A(`div`,{children:[A(`dt`,{children:`From`}),A(`dd`,{class:`seams-review-recipient`,children:A(J,{value:t.model.signerAccount,address:!0,label:`Copy signer address ${t.model.signerAccount}`})})]}),o&&A(`div`,{children:[A(`dt`,{children:`To`}),A(`dd`,{class:`seams-review-recipient`,children:A(J,{value:o,address:!0,label:`Copy recipient address ${o}`})})]}),e.state.hash&&A(`div`,{children:[A(`dt`,{children:`Transaction`}),A(`dd`,{children:[A(Dn,{value:e.state.hash,class:`seams-review-hash`}),A(J,{value:e.state.hash})]})]}),A(`div`,{children:[A(`dt`,{children:`Status`}),A(`dd`,{children:n})]})]})}),A(`button`,{type:`button`,class:`seams-receipt-primary`,onClick:this.close,children:Y(e.state)?`Continue in background`:`Done`}),s&&A(`div`,{id:this.explorerRowId,class:`seams-receipt-explorer-row`,ref:this.explorerRow,children:A(`a`,{class:`seams-receipt-explorer`,href:s,target:`_blank`,rel:`noopener noreferrer`,children:[`View transaction `,A(q,{kind:`arrow`})]})}),A(An,{})]})}};function qn(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 Jn(e.chain)}if(!r)return null;let i=e.chain===`near`?`txns`:`tx`;return`${r.trim().replace(/\/$/,``)}/${i}/${encodeURIComponent(n)}`}function Jn(e){throw Error(`Unexpected display chain: ${String(e)}`)}function Yn(e){let t=e.complete?`complete`:e.active?`active`:`waiting`;return A(`span`,{class:`seams-receipt-step`,"data-stage":e.stage,"data-state":t,"aria-current":e.active?`step`:void 0,children:[A(`span`,{class:`seams-receipt-track`,"aria-hidden":`true`}),e.active?e.activeLabel:e.label]})}const Xn=`cubic-bezier(0.22, 1, 0.36, 1)`,Zn=[`.seams-receipt-symbol`,`[role="status"]`,`.seams-review-amount`];function Qn(e){let t=[];for(let n of Zn){let r=e.querySelector(n);r&&t.push({selector:n,text:r.textContent,bounds:r.getBoundingClientRect(),fontSize:getComputedStyle(r).fontSize})}return t}let $n=0;var er=class{constructor(e){this.receipt=null,this.receiptMotion=[],this.receiptShell=null,this.clearReceiptMotion=()=>{for(let e of this.receiptMotion)e.cancel();this.receiptMotion=[],this.receiptShell?.remove(),this.receiptShell=null,this.element.removeAttribute(`data-receipt-morphing`)},this.dispose=()=>{if(this.state.kind===`disposed`)return;let e=this.state.onClosed;this.remove(),e()},this.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()},this.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()},this.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)};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-${++$n}`,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,S(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?Qn(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:Xn,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:Xn}))}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}}remove(){this.clearReceiptMotion(),this.state={kind:`disposed`},this.element.removeEventListener(`cancel`,this.cancel),ne(null,this.element),this.styles.deleteDynamicRule(this.element.id),this.element.remove()}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`?A(Kn,{receipt:this.receipt,data:t.review,explorers:t.transaction.explorers}):A(Ln,{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`){ne(A(re,{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;ne(A(ae,{context:this.presentation.context,label:i,origin:t.kind===`transaction`&&t.header.website.kind===`ready`?A(O,{children:[A(H,{}),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 tr(e)}}};function tr(e){throw Error(`Unexpected confirmation content: ${String(e)}`)}function nr(e){return new er(e)}var rr=class{constructor(e){this.callbacks=e.callbacks,this.appearance=e.appearance,this.presentation=e.presentation,this.tree=e.tree,this.currentModel=this.normalize(),this.surface=nr({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=ir(this.presentation,e),e.appearance&&(this.appearance=e.appearance),Object.hasOwn(e,`model`)&&(this.tree=L({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=St({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 ir(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 ar(e){return new rr(e)}const X=`seams-confirm-portal`;function or(e){return Math.max(0,Math.round(performance.now()-e))}const sr=new WeakMap,cr=new WeakMap,lr=new WeakMap,Z=new WeakMap,ur=new WeakMap,Q=new WeakMap;function dr(e){try{if(!Ye()||typeof window>`u`||window.parent===window)return;window.parent?.postMessage({type:e},`*`)}catch{}}function fr(e){return e===`drawer`?`drawer`:`modal`}function pr(e){return(e||[]).map(e=>({receiverId:e.receiverId,actions:(e.actions||[]).map(e=>g(e)?e:h(e)).map(e=>y(e))}))}async function mr(e,t){if(!(!((t?.length||0)>0)||!e))try{return await b(pr(t))===e?void 0:`INTENT_DIGEST_MISMATCH`}catch{return`UI_DIGEST_VALIDATION_FAILED`}}function hr(e){e.childElementCount>0?e.classList.add(`seams-portal--visible`):e.classList.remove(`seams-portal--visible`)}function gr(){let e=[];for(let t of document.querySelectorAll(`.seams-confirmation-surface`))t.parentElement?.closest(`.seams-confirmation-surface`)||e.push(t);return e}function _r(){for(let e of gr())ur.get(e)?.callbacks.cancel(),Z.get(e)?.dispose(),Q.delete(e),$(e),e.remove();let e=document.getElementById(X);e&&hr(e)}function vr(){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 yr(e){Z.delete(e),Q.delete(e),$(e),e.remove();let t=document.getElementById(X);t&&hr(t)}function br(){(document.getElementById(X)?.childElementCount??0)>0||dr(`WALLET_UI_CLOSED`)}function xr(e,t){let n=t?.chain;if(n!==`near`&&n!==`tempo`&&n!==`evm`)return{};let r=l({chains:e.chains,family:n,chainId:t?.chainId});return r?n===`near`?{nearExplorerUrl:r}:n===`tempo`?{tempoExplorerUrl:r}:{evmExplorerUrl:r}:{}}function Sr(e,t){t&&(e.update(t),Object.hasOwn(t,`model`)&&Cr(e.element,e,t.model))}function Cr(e,t,n){let r=(Q.get(e)??0)+1;Q.set(e,r),!(!n||!ft(n))&&import(`./enrichDisplayModelWithAbi-CR-4ebuU.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(L({model:a}))}).catch(e=>{console.warn(`[ConfirmUI] failed to lazy-load ABI display enrichment`,e)})}function $(e){sr.get(e)?.disconnect(),sr.delete(e),cr.get(e)?.dispose(),cr.delete(e),lr.delete(e)}function wr(e,t){switch(e.kind){case`disabled`:return null;case`wallet_iframe`:return x({kind:`request_surface`,element:t,requestId:e.requestId,postMeasurement:e.postMeasurement});default:{let t=e;throw Error(`Unhandled confirmation measurement binding: ${String(t)}`)}}}function Tr(e,t,n){e.setAttribute(Mt,Lr(n,t)),e.setAttribute(`data-seams-confirm-variant`,t),e.toggleAttribute(`data-seams-review-frame`,!!i(n))}function Er(e,t,n){if(i(n)?.attach(e),Tr(e,t,n),fe(lr.get(e),n))return;$(e),lr.set(e,n);let r=wr(n,e);r&&(sr.set(e,r),cr.set(e,Ut(e)))}function Dr(e,t){t.kind===`review_available`&&e.returnToReview()}function Or(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?Dr.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 kr(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`&&te(n.requestId,e))&&($(e.element),e.close()))},update:t=>Sr(e,t),onCancel:e=>(t.cancelListeners.add(e),()=>t.cancelListeners.delete(e)),takeDecision:()=>t.takeDecision()}}async function Ar({ctx:e,summary:t,txSigningRequests:n,model:r,securityContext:i,loading:a,theme:o,appearance:s,uiMode:c,signingAuthMode:l,emailOtpPrompt:u}){return Ir({ctx:e,summary:t,txSigningRequests:n,model:r,securityContext:i,loading:a,theme:o,appearance:s,variant:fr(c),signingAuthMode:l,emailOtpPrompt:u})}function jr(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`);Er(n,e.variant,e.ctx.surfaceMeasurementBinding);let i=he({getAppearance:e.ctx.getAppearance,requestedAppearance:e.appearance,requestedMode:e.theme}),a=xr(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(L({txSigningRequests:e.txSigningRequests,model:e.model})),Cr(n,r,e.model),{handle:t,reused:!0}}function Mr(e){throw Error(`Unhandled confirmation surface: ${JSON.stringify(e)}`)}function Nr(e){switch(e.surface.kind){case`mount_new`:return{handle:Ir({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 jr({...e,surface:e.surface});case`preparation_cancelled`:throw Error(`A cancelled preparation surface cannot be mounted`);default:return Mr(e.surface)}}async function Pr(e){return Nr({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:fr(e.uiMode),signingAuthMode:e.signingAuthMode,emailOtpPrompt:e.emailOtpPrompt,surface:e.surface}).handle}async function Fr({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=fr(c);return new Promise(c=>{let m=performance.now(),{handle:h,reused:g}=Nr({ctx:e,summary:t,txSigningRequests:n,model:r,securityContext:i,loading:a,theme:o,appearance:s,variant:p,signingAuthMode:u,emailOtpPrompt:d,surface:f}),_=or(m),v=performance.now(),y=0,b=g?_:0,x=0,S=e=>e>0?e:or(v);Promise.resolve().then(()=>{y=S(y),g||(b=S(b))});try{l?.(h)}catch{}let C=e=>{let t={kind:`confirm_ui_prompt_diagnostics_v1`,elementDefineMs:0,mountMs:_,hostFirstUpdateMs:y,hostInteractiveMs:b,confirmEventMs:x,decisionWaitMs:or(v)};T(),c({...e,handle:h,diagnostics:t})},w=async e=>{if(x=S(x),e.kind===`cancelled`){let t=e.error||void 0;h.update({...t?{errorMessage:t}:{},loading:!1}),C({confirmed:!1,error:t});return}let i,a=await mr(String(r?.intentDigest||t?.intentDigest||``).trim(),n);if(a&&(i=a),i){h.update({errorMessage:i,loading:!1}),C({confirmed:!1,error:i});return}C({confirmed:!0,...e.emailOtp.kind===`provided`?{otpCode:e.emailOtp.code,emailOtpChallengeId:e.emailOtp.challengeId}:{}})},T=()=>{y=Math.max(y,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 w(e)})()})}function Ir({ctx:e,summary:t,txSigningRequests:n,model:r,securityContext:a,loading:o,theme:s,appearance:c,variant:l,signingAuthMode:u,emailOtpPrompt:d}){i(e.surfaceMeasurementBinding)?.assertPending(),_r();let f=he({getAppearance:e.getAppearance,requestedAppearance:c,requestedMode:s}),p=vr(),m=xr(e,r),h=Or(i(e.surfaceMeasurementBinding)),g;return g=ar({parent:p,variant:l,context:Lr(e.surfaceMeasurementBinding,l),appearance:f,presentation:{onBack:h.onBack,model:r,securityContext:a,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:L({txSigningRequests:n,model:r}),callbacks:h.callbacks,onClosed:()=>{yr(g.element),br()}}),Z.set(g.element,g),ur.set(g.element,h),hr(p),Er(g.element,l,e.surfaceMeasurementBinding),Cr(g.element,g,r),p.classList.remove(`seams-portal--visible`),requestAnimationFrame(()=>{p.classList.add(`seams-portal--visible`)}),dr(`WALLET_UI_OPENED`),kr(g,h,e.surfaceMeasurementBinding)}function Lr(e,t){let n=e.kind===`wallet_iframe`?e.hostSurfaceVariant??t:t;return e.kind===`wallet_iframe`&&n===`modal`?`wallet-iframe`:`standalone`}function Rr(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 zr(e){if(!r(e))return null;let t=String(e.kind||``).trim(),n=String(e.walletId||``).trim(),i=String(e.nearAccountId||``).trim(),a=String(e.nearPublicKeyStr||``).trim();if(!n||!i||!a)return null;switch(t){case`implicit_unfunded`:return{kind:t,walletId:n,nearAccountId:i,nearPublicKeyStr:a};case`access_key_available`:case`sponsored_named_ready`:return{kind:t,walletId:n,nearAccountId:i,nearPublicKeyStr:a,nonce:Rr(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:t,walletId:n,nearAccountId:i,nearPublicKeyStr:a,message:String(e.message||``).trim()};default:return null}}function Br(e){return r(e)?zr(e.readiness):null}function Vr(e,t){return e.walletId===String(t.subject.walletId)&&e.nearAccountId===String(t.subject.nearAccountId)&&e.nearPublicKeyStr===t.subject.nearPublicKeyStr}async function Hr(e,t){try{let{context:n,leases:r}=await e.nonceCoordinator.reserveNearContext({lane:C({chains:e.chains,walletId:String(t.subject.walletId),nearAccountId:String(t.subject.nearAccountId),nearPublicKeyStr:t.subject.nearPublicKeyStr}),operation:t.operation,count:t.signatureUses,nearClient:e.nearClient});return{kind:`readiness`,readiness:{kind:`context_ready`,transactionContext:{...n},nonceLeases:r.map(d)},reservedNonceLeases:r}}catch(e){let n=Br(e);return n?.kind===`implicit_unfunded`&&Vr(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:c(e)}}}async function Ur(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 Wr({ctx:e,nearAccountId:t,challengeB64u:n,onBeforePrompt:r,includeSecondPrfOutput:i=!1}){return Ge({credentialStore:e.webauthnCredentialStore,touchIdPrompt:e.touchIdPrompt,nearAccountId:t,challengeB64u:n,includeSecondPrfOutput:i,onBeforePrompt:r})}function Gr(e,t){t?.close?.(e)}function Kr(e){return{chains:e.chains,getAppearance:e.getAppearance,nearExplorerUrl:e.nearExplorerUrl,tempoExplorerUrl:e.tempoExplorerUrl,evmExplorerUrl:e.evmExplorerUrl,surfaceMeasurementBinding:e.surfaceMeasurementBinding}}function qr(){return{kind:`confirm_ui_prompt_diagnostics_v1`,elementDefineMs:0,mountMs:0,hostFirstUpdateMs:0,hostInteractiveMs:0,confirmEventMs:0,decisionWaitMs:0}}async function Jr(e){let t=performance.now(),n=await Pr({ctx:Kr(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:{...qr(),mountMs:r,decisionWaitMs:a}}}async function Yr(e){let{confirmed:t,handle:n,error:r,otpCode:i,emailOtpChallengeId:a,diagnostics:o}=await Fr({ctx:Kr(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===M.SIGN_TRANSACTION&&N(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 Xr({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:qr()};let l=t.type===M.SIGN_TRANSACTION?N(t).txSigningRequests:[],u=Te(t),d=Ee(t),f=De(t);switch(n.kind){case`silent`:return s.kind===`reuse_mounted`&&s.handle.close(!0),{confirmed:!0,confirmHandle:void 0,diagnostics:qr()};case`auto_proceed`: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});case`interactive`:return await Yr({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 ue(n)}}function Zr(e){return{near:{fetchNearContext:t=>Hr(e,t),releaseReservedNonces:t=>Ur(e,t)},security:{getRpId:()=>e.touchIdPrompt.getRpId()},webauthn:{collectAuthenticationCredentialWithPRF:t=>Wr({ctx:e,...t}),createRegistrationCredential:t=>e.touchIdPrompt.generateRegistrationCredentialsInternal(t)},ui:{renderConfirmUI:t=>Xr({ctx:e,...t}),closeModalSafely:Gr}}}function Qr({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{Pe(t,n)}finally{n.confirmed||e.near.releaseReservedNonces(s),e.ui.closeModalSafely(!!n.confirmed,c)}}}}export{he as A,we as C,Ee as D,N as E,le as F,de as M,M as N,Ce as O,ce as P,ge as S,xe as T,ke as _,H as a,Pe as b,Ye as c,Ue as d,We as f,Ie as g,Ne as h,wn as i,fe as j,Se as k,Je as l,je as m,Zr as n,ht as o,Ke as p,Ar as r,vt as s,Qr as t,Ge as u,Ae as v,ve as w,_e as x,Fe as y};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
const e=`__SEAMS_WALLET_SDK_BASE__`,t=`SEAMS_WALLET_SDK_BASE_CHANGED`,n=`__SEAMS_WALLET_ASSET_VERSION__`;function r(){if(typeof window>`u`)return;let t=window[e];return typeof t==`string`&&t.length>0?t:void 0}function i(n){if(typeof window>`u`)return;let r=window;r[e]=n,window.dispatchEvent(new CustomEvent(t,{detail:n}))}function a(){if(typeof window>`u`)return;let e=window[n];return typeof e==`string`&&e.length>0?e:void 0}function o(e){if(typeof window>`u`)return;let t=e.trim();t&&(window[n]=t)}function s(e){if(typeof window>`u`)return()=>{};let n=t=>{let n=t.detail;typeof n==`string`&&n.length>0&&e(n)};return window.addEventListener(t,n,{passive:!0}),()=>window.removeEventListener(t,n)}export{i as a,o as i,r as n,s as r,a as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
const e=/^0x[0-9a-f]{8}$/;function t(e,t={}){let n=String(e||``).trim();if(!n)return`0x`;let r=/^0x/i.test(n)?`0x${n.slice(2)}`:`0x${n}`,i=r===`0x`?`0x`:r;return t.lowercase?i.toLowerCase():i}function n(n){let r=t(n,{lowercase:!0});if(e.test(r))return r}function r(e){let r=t(e,{lowercase:!0});if(!(!r.startsWith(`0x`)||r.length<10))return n(r.slice(0,10))}function i(e){let t=String(e||``),n=t.startsWith(`0x`)?t.slice(2):t;if(n.length===0)return new Uint8Array;if(n.length%2!=0)throw Error(`Invalid hex (odd length): ${e}`);let r=new Uint8Array(n.length/2);for(let t=0;t<r.length;t++){let i=n.slice(t*2,t*2+2),a=Number.parseInt(i,16);if(!Number.isFinite(a))throw Error(`Invalid hex: ${e}`);r[t]=a}return r}function a(e){return`0x${Array.from(e).map(e=>e.toString(16).padStart(2,`0`)).join(``)}`}export{n as a,t as i,i as n,r,a as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{i as e,r as t}from"./base64-ojm5DKcF.js";import{m as n,p as r}from"./chains-yAls2d9X.js";function i(e){if(typeof e!=`string`||e.trim()!==e||e.length===0)throw Error(`correlation id must be a non-empty canonical string`);return e}function a(n){if(typeof n!=`string`||!/^[A-Za-z0-9_-]+$/.test(n))throw Error(`digest must be unpadded base64url`);let r;try{r=t(n)}catch{throw Error(`digest must be valid base64url`)}if(r.length!==32||e(r)!==n)throw Error(`digest must be canonical base64url for 32 bytes`);return n}function o(e){if(typeof e!=`string`)throw Error(`timestamp must be an ISO timestamp`);let t=Date.parse(e);if(!Number.isFinite(t)||new Date(t).toISOString()!==e)throw Error(`timestamp must be canonical ISO-8601 UTC`);return e}function s(e){if(!Number.isSafeInteger(e)||Number(e)<=0)throw Error(`timestamp milliseconds must be a positive safe integer`);return o(new Date(Number(e)).toISOString())}async function c(t){return a(e(await r(t)))}async function l(t){return a(e(await n(t)))}export{c as a,o as i,i as n,l as o,a as r,s as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
const e=new Set([`commit_queue_overflow`,`commit_queue_timeout`,`threshold_ed25519_session_not_ready`,`threshold_ecdsa_session_not_ready`,`stale_ecdsa_key_identity`,`threshold_session_kind_mismatch`,`session_not_ready`,`fresh_email_otp_required`,`passkey_step_up_required`,`operation_blocked_by_policy`,`nonce_conflict_retryable`,`nonce_lane_blocked`,`rpc_request_failed`,`cancelled`]),t=new Set([`PM_SIGN_TEMPO`,`PM_REPORT_TEMPO_BROADCAST_ACCEPTED`,`PM_REPORT_TEMPO_BROADCAST_REJECTED`,`PM_REPORT_TEMPO_FINALIZED`,`PM_REPORT_TEMPO_DROPPED_OR_REPLACED`,`PM_RECONCILE_TEMPO_NONCE_LANE`]),n=new Set([`PM_SIGN_TX_WITH_ACTIONS`,`PM_SIGN_AND_SEND_TX`,`PM_SEND_TRANSACTION`,`PM_EXECUTE_ACTION`,`PM_SIGN_DELEGATE_ACTION`,`PM_SIGN_NEP413`]),r={commit_queue_overflow:`Threshold signing commit queue is full. Wait for pending requests and retry.`,commit_queue_timeout:`Threshold signing commit request timed out in queue. Retry the request.`,threshold_ed25519_session_not_ready:`Threshold Ed25519 signing session is not ready. Refresh the signing session and retry.`,threshold_ecdsa_session_not_ready:`Threshold ECDSA signing session is not ready. Refresh the signing session and retry.`,stale_ecdsa_key_identity:`The ECDSA signer identity is stale. Resync the wallet or relink this device before signing.`,threshold_session_kind_mismatch:`Threshold signing session kind mismatch. Refresh the signing session and retry.`,session_not_ready:`Threshold signing session is not ready. Refresh the signing session and retry.`,fresh_email_otp_required:`Fresh Email OTP verification is required before this operation can continue.`,passkey_step_up_required:`Passkey authentication is required before this operation can continue.`,operation_blocked_by_policy:`This operation is blocked by wallet policy.`,nonce_conflict_retryable:`Nonce conflict detected. Refresh nonce state and retry the request.`,nonce_lane_blocked:`Nonce lane is blocked by unresolved in-flight transaction(s). Reconcile lane state and retry.`,rpc_request_failed:`RPC request failed. Retry the request or use another RPC endpoint.`,cancelled:`Request cancelled.`};function i(e){return String(e||``).trim().toLowerCase().replace(/[\s-]+/g,`_`)}function a(e){return String(e||``).trim().toLowerCase()}function o(e){return e?e===`cancelled`||e===`canceled`||e===`cancel`||e===`4001`||e===`action_rejected`||e===`user_rejected`||e===`user_rejected_request`||e===`request_rejected`||e===`rejected_by_user`||e===`user_denied`||e===`user_denied_request`:!1}function s(e){return e?e.includes(`cancelled`)||e.includes(`canceled`)||e.includes(`user rejected`)||e.includes(`rejected by user`)||e.includes(`rejected by the user`)||e.includes(`the user rejected`)||e.includes(`user denied`)||e.includes(`denied by user`):!1}function c(e){return f(e)?t.has(e)?`threshold-ecdsa`:n.has(e)?`threshold-ed25519`:null:null}function l(e){let t=i(e);return t===`session_not_ready`||t===`threshold_ed25519_session_not_ready`||t===`threshold_ecdsa_session_not_ready`||t===`threshold_session_kind_mismatch`}function u(t){let{rawCode:n}=t;return n?e.has(n)?n:o(n)?`cancelled`:n===`fresh_email_otp_required`||n===`email_otp_required`||n===`email_otp_reauth_required`?`fresh_email_otp_required`:n===`passkey_step_up_required`||n===`passkey_required`||n===`stronger_auth_required`?`passkey_step_up_required`:n===`operation_blocked_by_policy`||n===`policy_blocked`||n.includes(`operation`)&&n.includes(`blocked`)&&n.includes(`policy`)?`operation_blocked_by_policy`:n===`commit_queue_overflow`||n.includes(`commit`)&&n.includes(`queue`)&&n.includes(`overflow`)?`commit_queue_overflow`:n===`commit_queue_timeout`||n.includes(`commit`)&&n.includes(`queue`)&&n.includes(`timeout`)?`commit_queue_timeout`:n===`stale_ecdsa_key_identity`||n.includes(`stale`)&&n.includes(`ecdsa`)&&(n.includes(`identity`)||n.includes(`key`))?`stale_ecdsa_key_identity`:n===`nonce_conflict_retryable`||(n.includes(`nonce`)||n.includes(`already_known`))&&(n.includes(`conflict`)||n.includes(`too_low`)||n.includes(`too_high`)||n.includes(`underpriced`)||n.includes(`already_known`))?`nonce_conflict_retryable`:n===`nonce_lane_blocked`||n.includes(`nonce`)&&n.includes(`lane`)&&n.includes(`blocked`)?`nonce_lane_blocked`:n===`rpc_request_failed`||n===`rpc_error`||n===`request_timeout`||n===`timeout`?`rpc_request_failed`:null:null}function d(e){let{message:t}=e;return t?s(t)?`cancelled`:t.includes(`fresh email otp`)||t.includes(`verify email otp again`)||t.includes(`requires fresh email otp verification`)||t.includes(`email otp`)&&t.includes(`per_operation`)?`fresh_email_otp_required`:t.includes(`passkey step-up`)||t.includes(`requires fresh passkey authentication`)||t.includes(`passkey authentication is required`)||t.includes(`requires passkey authentication after email otp login`)?`passkey_step_up_required`:t.includes(`operation blocked by policy`)||t.includes(`blocked by wallet policy`)||t.includes(`operation`)&&t.includes(`blocked`)&&t.includes(`policy`)?`operation_blocked_by_policy`:t.includes(`commit queue overflow`)&&(t.includes(`threshold ecdsa`)||t.includes(`threshold signing`))?`commit_queue_overflow`:t.includes(`commit queue timeout`)&&(t.includes(`threshold ecdsa`)||t.includes(`threshold signing`))?`commit_queue_timeout`:t.includes(`nonce lane blocked`)||t.includes(`nonce lane`)&&t.includes(`blocked`)?`nonce_lane_blocked`:t.includes(`nonce conflict`)||t.includes(`nonce too low`)||t.includes(`nonce too high`)||t.includes(`already known`)||t.includes(`replacement transaction underpriced`)||t.includes(`invalid nonce`)?`nonce_conflict_retryable`:t.includes(`rpc request failed`)||t.includes(`[nearclient] rpc call`)||t.includes(`request timeout`)||t.includes(`408`)?`rpc_request_failed`:t.includes(`threshold-ecdsa bootstrap`)&&t.includes(`client verifying share`)&&t.includes(`integrated key record`)||t.includes(`ecdsa`)&&t.includes(`stale`)&&(t.includes(`identity`)||t.includes(`key`))?`stale_ecdsa_key_identity`:null:null}function f(e){return typeof e==`string`&&(t.has(e)||n.has(e))}function p(e){let t=f(e.requestType)?d({message:a(e.message),requestType:e.requestType}):null;return t===`fresh_email_otp_required`||t===`passkey_step_up_required`||t===`operation_blocked_by_policy`?t:u({rawCode:i(e.rawCode)})||t}function m(e){return p(e)||String(e.rawCode||``).trim()||String(e.defaultCode||`HOST_ERROR`).trim()||`HOST_ERROR`}function h(e){let t=p({requestType:e.requestType,rawCode:e.rawCode??e.code,message:e.message});return t?r[t]:i(e.rawCode??e.code)===`deployment_failed`?`Wallet deployment failed. Retry the request.`:String(e.message||``).trim()||`Wallet operation failed`}export{l as isCanonicalSignerSessionBoundaryCode,f as isWalletSignerBoundaryRequestType,m as resolveWalletBoundaryErrorCode,h as resolveWalletBoundaryErrorMessage,c as resolveWalletBoundarySignerKind};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{B as e}from"./domainIds-GDzjOs6i.js";function t(e){if(Array.isArray(e))return e.map(t);if(typeof e==`object`&&e){let n=e,r=Object.keys(n).sort(),i={};for(let e of r)i[e]=t(n[e]);return i}return e}function n(e){return JSON.stringify(t(e))}async function r(e){return await i(new TextEncoder().encode(e))}async function i(e){let t=e.slice(),n=await crypto.subtle.digest(`SHA-256`,t);return new Uint8Array(n)}function a(e){return Array.from(e).map(e=>e.toString(16).padStart(2,`0`)).join(``)}async function o(e){return a(await r(e))}const s=new Set([`near-mainnet`,`near-testnet`,`tempo-mainnet`,`tempo-testnet`,`arc-mainnet`,`arc-testnet`,`ethereum-mainnet`,`ethereum-sepolia`]);function c(e){return typeof e==`string`&&s.has(e)}function l(e){return c(e)?e.startsWith(`near-`):!1}function u(e){return c(e)?e.startsWith(`tempo-`):!1}function d(e){return c(e)?!l(e)&&!u(e):!1}function f(e){return l(e)?`near`:u(e)?`tempo`:`evm`}function p(e){return e===`near-mainnet`?`mainnet`:`testnet`}function m(e,t){if(Array.isArray(e))return e.find(e=>f(e.network)===t)}function h(e,t){let n=m(e,t);if(!n)throw Error(`[configPresets] Missing required config: chains (no ${t} network entry)`);return n}function g(t){let n=h(t,`near`),r=e(n.rpcUrl);if(!r)throw Error(`[configPresets] Missing required config: chains.${n.network}.rpcUrl`);return r}function _(e){return p(h(e,`near`).network)}function v(t,n){let r=m(t,n);if(r)return e(r.explorerUrl)||void 0}function y(e){if(typeof e==`bigint`)return e>=0n?e.toString():void 0;if(typeof e==`number`)return!Number.isSafeInteger(e)||e<0?void 0:String(e)}function b(t){let n=t.chains;if(!Array.isArray(n)||n.length===0)return;let r=y(t.chainId);if(r)for(let i of n){if(f(i.network)!==t.family)continue;let n=y(i.chainId);if(!n||n!==r)continue;let a=e(i.explorerUrl);if(a)return a}return v(n,t.family)}function x(e){let t=`chainId`in e?e.chainId:void 0;return{...e,...typeof t==`number`?{chainId:t}:{}}}function S(e){let t=`chainId`in e?e.chainId:void 0;return{...e,...typeof t==`number`?{chainId:t}:{}}}export{l as a,b as c,g as d,n as f,o as h,d as i,_ as l,r as m,x as n,c as o,i as p,S as r,u as s,f as t,v as u};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{y as e}from"./validation-dC1-_uyG.js";import{bt as t,xt as n,yt as r}from"./ecdsaPresignLifecycle-CQnCxSlq.js";function i(e,t){let n=String(e??``).trim();if(!n)throw Error(`[email-otp-derivation] ${t} is required`);return n}function a(e){return i(e,`authSubjectId`)}function o(e){return n(e)}function s(e){return r(e)}function c(e){return t(e)}function l(e,t){if(!e||typeof e!=`object`||Array.isArray(e))throw Error(`${t} must be an object`);return e}function u(t,n){let r=e(t,n);switch(r){case`sent`:case`reused`:return r;default:throw Error(`${n} must be sent or reused`)}}function d(e,t){return{kind:`provider`,status:e,emailHint:t}}function f(t,n){let r=l(t,n),i=e(r.kind,`${n}.kind`),a=u(r.status,`${n}.status`),o=e(r.emailHint,`${n}.emailHint`);switch(i){case`provider`:case`development`:if(r.otpCode!==void 0)throw Error(`${n}.otpCode is only valid for code-bearing delivery`);return d(a,o);case`demo_code_response`:case`provider_and_demo_code`:{let t=e(r.otpCode,`${n}.otpCode`);if(!/^\d{6}$/.test(t))throw Error(`${n}.otpCode must be a 6-digit code`);return{kind:i,status:a,emailHint:o,otpCode:t}}default:throw Error(`${n}.kind is invalid`)}}function p(e){switch(e.kind){case`provider`:return null;case`demo_code_response`:case`provider_and_demo_code`:return e.otpCode}}export{o as a,c as i,f as n,a as o,s as r,p as t};
|