@seams/wallet 0.8.0 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1287) hide show
  1. package/README.md +140 -254
  2. package/THIRD_PARTY_NOTICES.md +7 -1
  3. package/dist/.build-inputs.sha256 +1 -1
  4. package/dist/esm/SeamsWeb/SeamsWeb.js +98 -1825
  5. package/dist/esm/SeamsWeb/assembly/createWalletIframeRouter.js +4 -15
  6. package/dist/esm/SeamsWeb/index.js +2 -2
  7. package/dist/esm/SeamsWeb/operations/devices/scanDevice.js +3 -361
  8. package/dist/esm/SeamsWeb/operations/near/delegateAction.js +18 -106
  9. package/dist/esm/SeamsWeb/operations/recovery/walletRecovery.js +3 -3
  10. package/dist/esm/SeamsWeb/operations/recovery/walletRecoveryCommit.js +8 -209
  11. package/dist/esm/SeamsWeb/operations/recovery/walletRecoveryDurablePayload.js +5 -5
  12. package/dist/esm/SeamsWeb/operations/recovery/walletRecoveryJournal.js +2 -64
  13. package/dist/esm/SeamsWeb/operations/tempo/executeEvmFamilyTransaction.js +1 -1
  14. package/dist/esm/SeamsWeb/operations/tempo/index.js +1 -13
  15. package/dist/esm/SeamsWeb/publicApi/auth.js +3 -19
  16. package/dist/esm/SeamsWeb/publicApi/createPublicApi.js +59 -94
  17. package/dist/esm/SeamsWeb/publicApi/currentWallet.js +1 -1
  18. package/dist/esm/SeamsWeb/publicApi/devices.js +33 -64
  19. package/dist/esm/SeamsWeb/publicApi/evm.js +28 -93
  20. package/dist/esm/SeamsWeb/publicApi/keyExport.js +26 -52
  21. package/dist/esm/SeamsWeb/publicApi/near.js +140 -435
  22. package/dist/esm/SeamsWeb/publicApi/placement.js +206 -0
  23. package/dist/esm/SeamsWeb/publicApi/session.js +13 -0
  24. package/dist/esm/SeamsWeb/publicApi/tempo.js +64 -221
  25. package/dist/esm/SeamsWeb/publicApi/waitForNearAccount.js +72 -0
  26. package/dist/esm/SeamsWeb/walletIframe/client/deviceCommands.js +50 -0
  27. package/dist/esm/SeamsWeb/walletIframe/client/emailOtpCommands.js +25 -0
  28. package/dist/esm/SeamsWeb/walletIframe/client/evmFamilyCommands.js +118 -0
  29. package/dist/esm/SeamsWeb/walletIframe/client/inboundMessages.js +223 -0
  30. package/dist/esm/SeamsWeb/walletIframe/client/nearCommands.js +153 -0
  31. package/dist/esm/SeamsWeb/walletIframe/client/overlay/overlay-styles.js +2 -2
  32. package/dist/esm/SeamsWeb/walletIframe/client/placementCommands.js +65 -0
  33. package/dist/esm/SeamsWeb/walletIframe/client/preferenceState.js +93 -0
  34. package/dist/esm/SeamsWeb/walletIframe/client/preferences.js +117 -0
  35. package/dist/esm/SeamsWeb/walletIframe/client/registrationCommands.js +92 -0
  36. package/dist/esm/SeamsWeb/walletIframe/client/router.js +241 -583
  37. package/dist/esm/SeamsWeb/walletIframe/client/sessionCommands.js +61 -0
  38. package/dist/esm/SeamsWeb/walletIframe/coordinator.js +175 -134
  39. package/dist/esm/SeamsWeb/walletIframe/host/ui/auth-menu/AuthMenuSurface.js +13 -1
  40. package/dist/esm/SeamsWeb/walletIframe/host/ui/auth-menu/mountAuthMenuSurface.js +1 -1
  41. package/dist/esm/SeamsWeb/walletIframe/shared/configuration.js +37 -0
  42. package/dist/esm/SeamsWeb/walletIframe/shared/exactSessionState.js +31 -11
  43. package/dist/esm/SeamsWeb/walletIframe/shared/facadeBoundary.js +96 -0
  44. package/dist/esm/SeamsWeb/walletIframe/shared/messages.js +6 -32
  45. package/dist/esm/advanced.js +3 -3
  46. package/dist/esm/build-paths.js +0 -4
  47. package/dist/esm/core/accountData/near/accountProjection.js +3 -3
  48. package/dist/esm/core/accountData/near/keyMaterial.js +2 -2
  49. package/dist/esm/core/config/chains.js +1 -28
  50. package/dist/esm/core/config/configBuilder.js +3 -14
  51. package/dist/esm/core/config/defaultConfigs.js +4 -6
  52. package/dist/esm/core/config/presignatures.js +6 -0
  53. package/dist/esm/core/diagnostics/registration.js +8 -0
  54. package/dist/esm/core/indexedDB/accountKeyMaterial.js +1 -1
  55. package/dist/esm/core/indexedDB/linkedAuthoritySignerMaterial.js +4 -125
  56. package/dist/esm/core/indexedDB/normalization.js +7 -1
  57. package/dist/esm/core/indexedDB/pendingWalletRecoveryCommit.js +1 -1
  58. package/dist/esm/core/indexedDB/pendingWalletRegistrationCommit.js +3 -41
  59. package/dist/esm/core/indexedDB/seamsWalletDB/accountSignerRows.js +261 -0
  60. package/dist/esm/core/indexedDB/seamsWalletDB/ecdsaCapabilityManifestLookups.js +2 -201
  61. package/dist/esm/core/indexedDB/seamsWalletDB/ecdsaCapabilityManifestRecords.js +5 -736
  62. package/dist/esm/core/indexedDB/seamsWalletDB/ecdsaCapabilityManifestStore.js +6 -1084
  63. package/dist/esm/core/indexedDB/seamsWalletDB/ecdsaClientPresignatures.js +20 -138
  64. package/dist/esm/core/indexedDB/seamsWalletDB/manager.js +100 -4
  65. package/dist/esm/core/indexedDB/seamsWalletDB/nonceLeaseRows.js +156 -0
  66. package/dist/esm/core/indexedDB/seamsWalletDB/registrationSetup.js +4 -11
  67. package/dist/esm/core/indexedDB/seamsWalletDB/repositories.js +91 -547
  68. package/dist/esm/core/indexedDB/seamsWalletDB/signerOutboxRows.js +90 -0
  69. package/dist/esm/core/indexedDB/seamsWalletDB/walletCustodyEcdsaContinuity.js +7 -92
  70. package/dist/esm/core/indexedDB/seamsWalletDB/walletOwnershipGeneration.js +43 -0
  71. package/dist/esm/core/indexedDB/seamsWalletDB/walletSessionAuthorizationStore.js +103 -157
  72. package/dist/esm/core/indexedDB/unifiedIndexedDBManager.js +2 -1
  73. package/dist/esm/core/indexedDB/walletCustodyEd25519MaterialRecord.js +1 -1
  74. package/dist/esm/core/rpcClients/evm/nonceBackend.js +1 -176
  75. package/dist/esm/core/rpcClients/near/accountExists.js +34 -0
  76. package/dist/esm/core/rpcClients/relayer/ecdsaPrepareSession.js +42 -0
  77. package/dist/esm/core/rpcClients/relayer/relayerHttp.js +31 -1
  78. package/dist/esm/core/rpcClients/relayer/routerAbNormalSigning.js +47 -11
  79. package/dist/esm/core/rpcClients/relayer/walletRecoveryFinalize.js +2 -48
  80. package/dist/esm/core/rpcClients/relayer/walletRecoveryPrepare.js +9 -9
  81. package/dist/esm/core/rpcClients/relayer/walletRecoveryRotate.js +1 -223
  82. package/dist/esm/core/rpcClients/relayer/walletRegistration.js +36 -2197
  83. package/dist/esm/core/rpcClients/relayer/walletSessionAuthorizationStatus.js +145 -14
  84. package/dist/esm/core/signingEngine/chains/evm/bytes.js +1 -15
  85. package/dist/esm/core/signingEngine/chains/evm/evmAdapter.js +1 -1
  86. package/dist/esm/core/signingEngine/chains/near/display.js +1 -27
  87. package/dist/esm/core/signingEngine/chains/near/nearSignerWasm.js +2 -2
  88. package/dist/esm/core/signingEngine/flows/registration/accountLifecycle.js +6 -39
  89. package/dist/esm/core/signingEngine/flows/shared/signingConfirmation.js +2 -2
  90. package/dist/esm/core/signingEngine/flows/shared/signingStateMachine.js +1 -11
  91. package/dist/esm/core/signingEngine/flows/signEvmFamily/authPlanning.js +2 -2
  92. package/dist/esm/core/signingEngine/flows/signEvmFamily/ecdsaSelection.js +3 -3
  93. package/dist/esm/core/signingEngine/flows/signEvmFamily/emailOtpSigningSession.js +3 -136
  94. package/dist/esm/core/signingEngine/flows/signEvmFamily/freshWalletSessionRetry.js +1 -1
  95. package/dist/esm/core/signingEngine/flows/signEvmFamily/operationIds.js +1 -1
  96. package/dist/esm/core/signingEngine/flows/signEvmFamily/preparedSigning.js +2 -3
  97. package/dist/esm/core/signingEngine/flows/signEvmFamily/readySecp256k1Material.js +40 -5
  98. package/dist/esm/core/signingEngine/flows/signEvmFamily/signEvmFamily.js +4 -4
  99. package/dist/esm/core/signingEngine/flows/signEvmFamily/signers/ecdsaDerivationClientSigningMaterialSource.js +1 -1
  100. package/dist/esm/core/signingEngine/flows/signEvmFamily/signers/secp256k1.js +27 -53
  101. package/dist/esm/core/signingEngine/flows/signEvmFamily/signingFlow.js +5 -5
  102. package/dist/esm/core/signingEngine/flows/signEvmFamily/signingFlowRuntime.js +40 -33
  103. package/dist/esm/core/signingEngine/flows/signEvmFamily/thresholdAdmission.js +8 -2
  104. package/dist/esm/core/signingEngine/flows/signNear/implicitAccountFunding.js +1 -1
  105. package/dist/esm/core/signingEngine/flows/signNear/shared/ed25519YaoNormalSigning.js +94 -31
  106. package/dist/esm/core/signingEngine/flows/signNear/shared/implicitAccountFundingPort.js +1 -8
  107. package/dist/esm/core/signingEngine/flows/signNear/shared/operationStepUpPreparation.js +1 -38
  108. package/dist/esm/core/signingEngine/flows/signNear/shared/signatureOnlySigning.js +53 -8
  109. package/dist/esm/core/signingEngine/flows/signNear/signDelegate.js +5 -5
  110. package/dist/esm/core/signingEngine/flows/signNear/signNear.js +30 -44
  111. package/dist/esm/core/signingEngine/flows/signNear/signNep413.js +21 -12
  112. package/dist/esm/core/signingEngine/flows/signNear/signTransactions.js +10 -9
  113. package/dist/esm/core/signingEngine/interfaces/ecdsaChainTarget.js +1 -1
  114. package/dist/esm/core/signingEngine/nonce/nonceLaneKeys.js +1 -35
  115. package/dist/esm/core/signingEngine/nonce/nonceTypes.js +2 -26
  116. package/dist/esm/core/signingEngine/routerAb/ecdsaDerivation/httpRequest.js +4 -3
  117. package/dist/esm/core/signingEngine/routerAb/ecdsaDerivation/poolFillRoutes.js +5 -1
  118. package/dist/esm/core/signingEngine/routerAb/ecdsaDerivation/presignaturePool.js +112 -162
  119. package/dist/esm/core/signingEngine/routerAb/ecdsaDerivation/presignaturePoolPolicy.js +31 -0
  120. package/dist/esm/core/signingEngine/routerAb/ecdsaDerivation/signingMaterialRef.js +1 -1
  121. package/dist/esm/core/signingEngine/session/availability/availableSigningLanes.js +3 -913
  122. package/dist/esm/core/signingEngine/session/emailOtp/challengeDelivery.js +1 -45
  123. package/dist/esm/core/signingEngine/session/emailOtp/ecdsaSigningSessionAuthority.js +1 -81
  124. package/dist/esm/core/signingEngine/session/identity/clientSessionPersistenceState.js +1 -43
  125. package/dist/esm/core/signingEngine/session/identity/emailOtpEcdsaDerivationIdentity.js +1 -9
  126. package/dist/esm/core/signingEngine/session/identity/evmFamilyEcdsaIdentity.js +3 -125
  127. package/dist/esm/core/signingEngine/session/identity/exactSigningLaneIdentity.js +3 -19
  128. package/dist/esm/core/signingEngine/session/identity/laneIdentity.js +2 -106
  129. package/dist/esm/core/signingEngine/session/keyMaterialBrands.js +1 -1
  130. package/dist/esm/core/signingEngine/session/lifecycle/walletSessionFailure.js +1 -1
  131. package/dist/esm/core/signingEngine/session/material/activeEcdsaCapabilityRuntime.js +1 -114
  132. package/dist/esm/core/signingEngine/session/material/activeWalletAuthorityEcdsaRuntime.js +2 -2
  133. package/dist/esm/core/signingEngine/session/material/ecdsaCapabilityManifest.js +2 -187
  134. package/dist/esm/core/signingEngine/session/material/ecdsaRoleLocalMaterialResolver.js +2 -18
  135. package/dist/esm/core/signingEngine/session/material/ecdsaSigningCapability.js +2 -130
  136. package/dist/esm/core/signingEngine/session/material/linkedEcdsaHolderRuntime.js +1 -25
  137. package/dist/esm/core/signingEngine/session/material/nearEd25519YaoMaterialActivation.js +1 -73
  138. package/dist/esm/core/signingEngine/session/material/walletSigningStateFailure.js +1 -69
  139. package/dist/esm/core/signingEngine/session/operationState/preparedOperation.js +1 -5
  140. package/dist/esm/core/signingEngine/session/operationState/transactionState.js +0 -1
  141. package/dist/esm/core/signingEngine/session/passkey/prfCache.js +1 -5
  142. package/dist/esm/core/signingEngine/session/persistence/durableSealedSessionCommands.js +1 -9
  143. package/dist/esm/core/signingEngine/session/persistence/ecdsaRoleLocalRecords.js +3 -202
  144. package/dist/esm/core/signingEngine/session/persistence/sealedSessionRecords.js +4 -83
  145. package/dist/esm/core/signingEngine/session/persistence/sealedSessionStore.js +2 -2
  146. package/dist/esm/core/signingEngine/session/planning/planner.js +2 -13
  147. package/dist/esm/core/signingEngine/session/sealedRecovery/materialActivationKey.js +1 -8
  148. package/dist/esm/core/signingEngine/session/warmCapabilities/routerAbWalletSessionCredential.js +2 -1
  149. package/dist/esm/core/signingEngine/session/warmCapabilities/sealedRefreshParity.js +2 -41
  150. package/dist/esm/core/signingEngine/stepUpConfirmation/intentDigestPreparation.js +1 -14
  151. package/dist/esm/core/signingEngine/stepUpConfirmation/types.js +1 -7
  152. package/dist/esm/core/signingEngine/threshold/commitQueueShared.js +1 -127
  153. package/dist/esm/core/signingEngine/threshold/crypto/ecdsaDerivationClientWasm.js +3 -297
  154. package/dist/esm/core/signingEngine/threshold/ecdsa/operationStepUp.js +10 -24
  155. package/dist/esm/core/signingEngine/threshold/ed25519/walletSession.js +7 -209
  156. package/dist/esm/core/signingEngine/threshold/ed25519/yaoPublicCapabilityReferences.js +5 -208
  157. package/dist/esm/core/signingEngine/threshold/sessionPolicy.js +3 -9
  158. package/dist/esm/core/signingEngine/uiConfirm/nearFundingNotice.js +1 -17
  159. package/dist/esm/core/signingEngine/uiConfirm/ui/confirm-surface-resize.js +2 -173
  160. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/ConfirmationContent.js +3 -3
  161. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/ReviewDisclosure.js +2 -2
  162. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/TransactionReceipt.js +1 -1
  163. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/TransactionReview.js +5 -4
  164. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/mountConfirmationSurface.js +2 -2
  165. package/dist/esm/core/signingEngine/uiConfirm/ui/surface-resize-events.js +1 -6
  166. package/dist/esm/core/signingEngine/uiConfirm/ui/transaction-display/formatters.js +1 -10
  167. package/dist/esm/core/signingEngine/webauthnAuth/credentials/credentialExtensions.js +1 -19
  168. package/dist/esm/core/signingEngine/webauthnAuth/credentials/helpers.js +2 -170
  169. package/dist/esm/core/signingEngine/workerManager/ecdsaPresignPoolIdentity.js +27 -5
  170. package/dist/esm/core/signingEngine/workerManager/validation.js +1 -104
  171. package/dist/esm/core/signingEngine/workerManager/workerTypes.js +1 -33
  172. package/dist/esm/core/types/rpc.js +1 -4
  173. package/dist/esm/core/types/sdkSentEvents.js +1 -24
  174. package/dist/esm/core/walletRuntimePaths/base.js +1 -28
  175. package/dist/esm/externalEvm/controller.js +7 -7
  176. package/dist/esm/index.js +8 -7
  177. package/dist/esm/react/components/AccountMenuButton/AuthenticationMethodsModal.js +9 -9
  178. package/dist/esm/react/components/AccountMenuButton/LinkedDevicesModal.css +1 -2
  179. package/dist/esm/react/components/AccountMenuButton/LinkedDevicesModal.js +9 -185
  180. package/dist/esm/react/components/AccountMenuButton/WalletRegionSection.js +303 -0
  181. package/dist/esm/react/components/AccountMenuButton/WalletSettingsLayout.js +31 -5
  182. package/dist/esm/react/components/AccountMenuButton/index.js +21 -13
  183. package/dist/esm/react/components/AccountMenuButton/types.js +2 -1
  184. package/dist/esm/react/components/HostedSeamsAuthMenu/shell.js +5 -17
  185. package/dist/esm/react/components/QRCodeScanner.js +5 -5
  186. package/dist/esm/react/components/ShowQRCode.js +13 -13
  187. package/dist/esm/react/context/SeamsWebProvider.js +1 -2
  188. package/dist/esm/react/context/index.js +8 -10
  189. package/dist/esm/react/context/seamsManagerSingleton.js +1 -1
  190. package/dist/esm/react/context/useLoginStateRefresher.js +10 -13
  191. package/dist/esm/react/context/useNearProvisioningStateRefresh.js +3 -3
  192. package/dist/esm/react/context/useSeamsContextValue.js +33 -81
  193. package/dist/esm/react/context/useSeamsWithSdkFlow.js +22 -51
  194. package/dist/esm/react/context/useWalletIframeLifecycle.js +20 -110
  195. package/dist/esm/react/hooks/useAccountInput.js +10 -13
  196. package/dist/esm/react/hooks/useDeviceLinking.js +1 -1
  197. package/dist/esm/react/hooks/useNearClient.js +1 -1
  198. package/dist/esm/react/hooks/useQRCamera.js +2 -8
  199. package/dist/esm/react/hooks/useWallet.js +5 -6
  200. package/dist/esm/react/hooks/useWalletAuth.js +3 -4
  201. package/dist/esm/react/hooks/useWalletDevices.js +2 -2
  202. package/dist/esm/react/index.js +4 -4
  203. package/dist/esm/react/transactionReview/TransactionReviewHost.js +1 -1
  204. package/dist/esm/react/transactionReview/boundCalls.js +5 -39
  205. package/dist/esm/react/transactionReview/controller.js +3 -4
  206. package/dist/esm/react/transactionReview/snapshot.js +1 -1
  207. package/dist/esm/react/utils/walletIframe.js +11 -52
  208. package/dist/esm/sdk/ConfirmationDrawer-DY0_yeUV.js +1 -0
  209. package/dist/esm/sdk/NonceCoordinator-CFFq8-Q9.js +1 -0
  210. package/dist/esm/sdk/accountLifecycle-CAMVowDl.js +1 -0
  211. package/dist/esm/sdk/activeWalletSession-DiZcKjB_.js +1 -0
  212. package/dist/esm/sdk/adapters-DdDOQzl4.js +2 -0
  213. package/dist/esm/sdk/appearance-ZGVLwA4N.js +1 -0
  214. package/dist/esm/sdk/authenticatorOptions-DMLnDWT2.js +1 -0
  215. package/dist/esm/sdk/authorizationAdmission-Ckx6q6tp.js +1 -0
  216. package/dist/esm/sdk/bytes-BBYkulRB.js +1 -0
  217. package/dist/esm/sdk/canonicalPrimitives-CKPGgpxg.js +1 -0
  218. package/dist/esm/sdk/canonicalSignerErrorCode-DEHsPxNm.js +1 -0
  219. package/dist/esm/sdk/capabilityKinds-CKQ4Uqnv.js +1 -0
  220. package/dist/esm/sdk/chains-CiYQT1K4.js +1 -0
  221. package/dist/esm/sdk/challengeDelivery-DxXAkOfS.js +1 -0
  222. package/dist/esm/sdk/clientSessionPersistenceState-CImFWDj6.js +1 -0
  223. package/dist/esm/sdk/commitQueue-iBNUt9Bz.js +1 -0
  224. package/dist/esm/sdk/configBuilder-ZiZwFKt4.js +1 -0
  225. package/dist/esm/sdk/configHelpers-D8Ivi6p8.js +1 -0
  226. package/dist/esm/sdk/digestEncoding-Dzc1rzWV.js +1 -0
  227. package/dist/esm/sdk/display-ClqZq-Xt.js +1 -0
  228. package/dist/esm/sdk/ecdsaCapabilityManifest-BlzJAQF8.js +1 -0
  229. package/dist/esm/sdk/ecdsaChainTarget-C8ZtMZ8l.js +1 -0
  230. package/dist/esm/sdk/ecdsaDerivationClientWasm-CVeNEou2.js +1 -0
  231. package/dist/esm/sdk/ecdsaDerivationExport-BZFHSMCv.js +1 -0
  232. package/dist/esm/sdk/ecdsaWalletRecords-D4WeYc7H.js +1 -0
  233. package/dist/esm/sdk/emailOtpEcdsaDerivationIdentity-B8HzTh4T.js +1 -0
  234. package/dist/esm/sdk/enrichDisplayModelWithAbi-69bNckvi.js +1 -0
  235. package/dist/esm/sdk/evmCryptoWasm-BXsIyRon.js +1 -0
  236. package/dist/esm/sdk/export-viewer-host-CsFeiIhd.js +1 -0
  237. package/dist/esm/sdk/exportKeypairOperation-DGQIYML3.js +1 -0
  238. package/dist/esm/sdk/helpers-Ddy72ULN.js +1 -0
  239. package/dist/esm/sdk/host-B1CdRGoI.js +1 -0
  240. package/dist/esm/sdk/intentDigest-CE-tLw87.js +1 -0
  241. package/dist/esm/sdk/jsxRuntime.module-BcZNe_OA.js +2 -0
  242. package/dist/esm/sdk/lanes-DnBwWv4l.js +1 -0
  243. package/dist/esm/sdk/localOnly-ClCo6602.js +1 -0
  244. package/dist/esm/sdk/messages-vxz27Way.js +1 -0
  245. package/dist/esm/sdk/mountExportPrivateKeySurface-CBZ0wRYj.js +1 -0
  246. package/dist/esm/sdk/mountRecoveryCodeBackupSurface-B1qhFF6G.js +2 -0
  247. package/dist/esm/sdk/nearEd25519YaoMaterialActivation-fWQI3rYj.js +1 -0
  248. package/dist/esm/sdk/nearEd25519YaoSigningPreparation-B0d1AG3u.js +1 -0
  249. package/dist/esm/sdk/nonceLaneKeys-Fkvk2UPy.js +1 -0
  250. package/dist/esm/sdk/normalization-CpLZcL2f.js +1 -0
  251. package/dist/esm/sdk/normalization-DCvuCvh0.js +1 -0
  252. package/dist/esm/sdk/normalize-kUDm5zfS.js +1 -0
  253. package/dist/esm/sdk/operationFingerprint-CTR9G1NT.js +1 -0
  254. package/dist/esm/sdk/passkey-custody-BQj44jEM.js +1 -0
  255. package/dist/esm/sdk/pendingWalletRecoveryCodeBackup-yJN8VAHn.js +1 -0
  256. package/dist/esm/sdk/presignaturePool-DwlTReFO.js +1 -0
  257. package/dist/esm/sdk/presignatures-DB2IPD-A.js +1 -0
  258. package/dist/esm/sdk/prfCache-BMpqZZ-v.js +1 -0
  259. package/dist/esm/sdk/primitives-CAcl7ON7.js +1 -0
  260. package/dist/esm/sdk/promptText-D2f5Rg0h.js +1 -0
  261. package/dist/esm/sdk/recovery-entrypoint-Bl5GgbW9.js +1 -0
  262. package/dist/esm/sdk/registration-C4sALQZO.js +1 -0
  263. package/dist/esm/sdk/registration-CEqVAgNJ.js +1 -0
  264. package/dist/esm/sdk/registrationAccounts-D4RVetMz.js +1 -0
  265. package/dist/esm/sdk/registrationAuthMethodInput-6ccY2Vuh.js +1 -0
  266. package/dist/esm/sdk/registrationIds-CdPqm-Ya.js +1 -0
  267. package/dist/esm/sdk/registrationIntent-DOkZcKSP.js +1 -0
  268. package/dist/esm/sdk/registrationSignerPlan-B9GCvpTV.js +1 -0
  269. package/dist/esm/sdk/requireStepUpAuth-DCVqmeee.js +1 -0
  270. package/dist/esm/sdk/routerAbNormalSigning-BG75eyI2.js +1 -0
  271. package/dist/esm/sdk/router_ab_ed25519_yao_client_bg.wasm +0 -0
  272. package/dist/esm/sdk/runtime-auth-tgfe70hU.js +1 -0
  273. package/dist/esm/sdk/runtime-device-link-BUxuQupR.js +1 -0
  274. package/dist/esm/sdk/runtime-ecdsa-tempo-DOBk_EtI.js +1 -0
  275. package/dist/esm/sdk/runtime-email-otp-CsAJKvYC.js +1 -0
  276. package/dist/esm/sdk/runtime-export-7REbcnBl.js +1 -0
  277. package/dist/esm/sdk/runtime-near-BA0DQf6H.js +1 -0
  278. package/dist/esm/sdk/runtime-preferences-cRViPE8a.js +1 -0
  279. package/dist/esm/sdk/runtime-recovery-RRc8Yz1y.js +1 -0
  280. package/dist/esm/sdk/runtime-recovery-codes-BZMiAR_5.js +1 -0
  281. package/dist/esm/sdk/sdkSentEvents-D3q1h-Uo.js +1 -0
  282. package/dist/esm/sdk/secp256k1-DSLttQND.js +1 -0
  283. package/dist/esm/sdk/secureRandomId-BIekT8bE.js +1 -0
  284. package/dist/esm/sdk/sessionPolicy-J-RrlPZQ.js +1 -0
  285. package/dist/esm/sdk/shared-DdfxBUGY.js +6 -0
  286. package/dist/esm/sdk/signEvmFamily-KUNWKVeh.js +1 -0
  287. package/dist/esm/sdk/signEvmFamilyWithUiConfirmForTempo-Dc57bJ3V.js +1 -0
  288. package/dist/esm/sdk/signEvmWithUiConfirm-CqxL7UbT.js +1 -0
  289. package/dist/esm/sdk/signNear-CO5bx24Z.js +1 -0
  290. package/dist/esm/sdk/signatureUses-CjJ233KX.js +1 -0
  291. package/dist/esm/sdk/signerDomain-vQmlnsbF.js +1 -0
  292. package/dist/esm/sdk/signingFlow-vrXxrhlG.js +2 -0
  293. package/dist/esm/sdk/signingQueue-BrGJXBqe.js +1 -0
  294. package/dist/esm/sdk/signingSessionSeal-CDLUmAFY.js +1 -0
  295. package/dist/esm/sdk/singletons-8UH3gOnZ.js +1 -0
  296. package/dist/esm/sdk/theme-_AUTWLS_.js +1 -0
  297. package/dist/esm/sdk/thresholdEcdsa-CO7xo1So.js +1 -0
  298. package/dist/esm/sdk/trace-BvbCxdXF.js +1 -0
  299. package/dist/esm/sdk/transaction-activity-D40ih2j-.js +1 -0
  300. package/dist/esm/sdk/transactionReviewAdmission-C-a3ctCJ.js +1 -0
  301. package/dist/esm/sdk/transactionState-DVinJk4K.js +1 -0
  302. package/dist/esm/sdk/tx-confirm-ui.js +7 -11
  303. package/dist/esm/sdk/types-BNUuaUtl.js +1 -0
  304. package/dist/esm/sdk/types-D3GM-uHR.js +1 -0
  305. package/dist/esm/sdk/wallet-iframe-host-ecdsa.js +1 -1
  306. package/dist/esm/sdk/wallet-iframe-host-full.js +1 -1
  307. package/dist/esm/sdk/wallet-iframe-host-near.js +1 -1
  308. package/dist/esm/sdk/wallet-iframe-host-runtime.js +1 -1
  309. package/dist/esm/sdk/wallet-recovery-C1kesLCF.js +1 -0
  310. package/dist/esm/sdk/wallet-ui.css +1 -1
  311. package/dist/esm/sdk/walletAuthMethodRecord-CXedSgpV.js +1 -0
  312. package/dist/esm/sdk/walletAuthority-B5hXHWpK.js +1 -0
  313. package/dist/esm/sdk/walletCustodyEcdsaContinuity-abNZ_dvX.js +1 -0
  314. package/dist/esm/sdk/walletIframeIdentity-DJ0KOBHg.js +1 -0
  315. package/dist/esm/sdk/walletOwnershipGeneration-DoXVMDWe.js +1 -0
  316. package/dist/esm/sdk/walletRecoveryCommit-Cc9AqHr0.js +1 -0
  317. package/dist/esm/sdk/walletRecoveryRotate-DWTAFYiv.js +1 -0
  318. package/dist/esm/sdk/walletSessionAuthorizationProjection-DWBksIJR.js +1 -0
  319. package/dist/esm/sdk/walletSessionAuthorizationStatus-o1VgsLhA.js +1 -0
  320. package/dist/esm/sdk/walletSessionAuthorizationStore-gEYPmu-G.js +1 -0
  321. package/dist/esm/sdk/walletSessionFailure-Bu4VPKTz.js +1 -0
  322. package/dist/esm/sdk/warmSessionHydration-DgjuUacN.js +1 -0
  323. package/dist/esm/sdk/webauthnP256-BEz4DEAs.js +1 -0
  324. package/dist/esm/sdk/webauthnPromptCoordinator-BEudHQBr.js +1 -0
  325. package/dist/esm/shared-ts/src/authorization/capabilityKinds.js +1 -7
  326. package/dist/esm/shared-ts/src/authorization/delegatedAuthority.js +2 -20
  327. package/dist/esm/shared-ts/src/authorization/index.js +1 -2
  328. package/dist/esm/shared-ts/src/authorization/operationFingerprint.js +1 -20
  329. package/dist/esm/shared-ts/src/authorization/walletAuthority.js +4 -51
  330. package/dist/esm/shared-ts/src/authorization/walletSessionIssuance.js +1 -112
  331. package/dist/esm/shared-ts/src/device-linking/activeWalletSession.js +13 -3
  332. package/dist/esm/shared-ts/src/device-linking/authorityActivation.js +6 -116
  333. package/dist/esm/shared-ts/src/device-linking/committedSignerPackages.js +3 -270
  334. package/dist/esm/shared-ts/src/device-linking/delegatedActivationPlan.js +2 -2
  335. package/dist/esm/shared-ts/src/device-linking/deviceManagement.js +1 -12
  336. package/dist/esm/shared-ts/src/device-linking/digests.js +1 -109
  337. package/dist/esm/shared-ts/src/device-linking/index.js +0 -2
  338. package/dist/esm/shared-ts/src/device-linking/parsers.js +7 -921
  339. package/dist/esm/shared-ts/src/device-linking/requestProof.js +1 -19
  340. package/dist/esm/shared-ts/src/device-linking/sourceContribution.js +5 -358
  341. package/dist/esm/shared-ts/src/device-linking/walletSessionCredentialDelivery.js +1 -172
  342. package/dist/esm/shared-ts/src/device-linking/wireFields.js +4 -5
  343. package/dist/esm/shared-ts/src/near/actions.js +1 -13
  344. package/dist/esm/shared-ts/src/near/nearClient.js +1 -1
  345. package/dist/esm/shared-ts/src/passkey-custody/custodyEnvelope.js +3 -59
  346. package/dist/esm/shared-ts/src/passkey-custody/custodySecretBinding.js +4 -8
  347. package/dist/esm/shared-ts/src/passkey-custody/index.js +0 -1
  348. package/dist/esm/shared-ts/src/signing-lanes/index.js +0 -1
  349. package/dist/esm/shared-ts/src/signing-lanes/ownerContinuity.js +0 -59
  350. package/dist/esm/shared-ts/src/threshold/ed25519OperationFingerprint.js +1 -1
  351. package/dist/esm/shared-ts/src/threshold/keyMaterialBrands.js +1 -4
  352. package/dist/esm/shared-ts/src/threshold/participants.js +1 -2
  353. package/dist/esm/shared-ts/src/threshold/signingRootScope.js +1 -4
  354. package/dist/esm/shared-ts/src/utils/authenticatorOptions.js +1 -12
  355. package/dist/esm/shared-ts/src/utils/canonicalPrimitives.js +2 -5
  356. package/dist/esm/shared-ts/src/utils/domainIds.js +1 -7
  357. package/dist/esm/shared-ts/src/utils/ecdsaCapabilityActivation.js +1 -16
  358. package/dist/esm/shared-ts/src/utils/ecdsaServerTiming.js +6 -1
  359. package/dist/esm/shared-ts/src/utils/emailOtpDomain.js +1 -23
  360. package/dist/esm/shared-ts/src/utils/emailOtpRecoveryKey.js +1 -42
  361. package/dist/esm/shared-ts/src/utils/errors.js +1 -43
  362. package/dist/esm/shared-ts/src/utils/index.js +18 -22
  363. package/dist/esm/shared-ts/src/utils/near.js +2 -74
  364. package/dist/esm/shared-ts/src/utils/normalize.js +1 -22
  365. package/dist/esm/shared-ts/src/utils/registrationAuthMethodInput.js +1 -74
  366. package/dist/esm/shared-ts/src/utils/registrationEstablishedSession.js +6 -275
  367. package/dist/esm/shared-ts/src/utils/registrationIds.js +1 -203
  368. package/dist/esm/shared-ts/src/utils/registrationIntent.js +1 -389
  369. package/dist/esm/shared-ts/src/utils/registrationSignerPlan.js +2 -434
  370. package/dist/esm/shared-ts/src/utils/routerAbEcdsaDerivation.js +6 -414
  371. package/dist/esm/shared-ts/src/utils/routerAbEd25519Yao.js +1 -334
  372. package/dist/esm/shared-ts/src/utils/routerAbEd25519YaoDigests.js +2 -40
  373. package/dist/esm/shared-ts/src/utils/routerAbNormalSigningIdentity.js +1 -1
  374. package/dist/esm/shared-ts/src/utils/signingSessionSeal.js +1 -6
  375. package/dist/esm/shared-ts/src/utils/thresholdEcdsaKeyHandle.js +1 -6
  376. package/dist/esm/shared-ts/src/utils/validation.js +2 -17
  377. package/dist/esm/shared-ts/src/utils/walletAuthAuthority.js +1 -28
  378. package/dist/esm/shared-ts/src/utils/walletAuthMethodRecord.js +1 -11
  379. package/dist/esm/shared-ts/src/utils/walletCapabilityBindings.js +1 -7
  380. package/dist/esm/shared-ts/src/wallet-recovery/index.js +3 -5
  381. package/dist/esm/shared-ts/src/wallet-recovery/recoveryCodeIssuance.js +1 -35
  382. package/dist/esm/shared-ts/src/wallet-recovery/recoveryCodeLocator.js +0 -32
  383. package/dist/esm/shared-ts/src/wallet-recovery/recoveryCodeReservation.js +1 -15
  384. package/dist/esm/shared-ts/src/wallet-recovery/recoveryKeyId.js +0 -11
  385. package/dist/esm/shared-ts/src/wallet-recovery/walletRecoveryCommittedProjection.js +1 -1
  386. package/dist/esm/shared-ts/src/wallet-recovery/walletRecoveryEcdsaPossession.js +2 -42
  387. package/dist/esm/shared-ts/src/wallet-recovery/walletRecoveryEnvelopeSet.js +3 -53
  388. package/dist/esm/shared-ts/src/wallet-recovery/walletRecoveryRotation.js +2 -63
  389. package/dist/esm/threshold.js +1 -1
  390. package/dist/esm/utils/intentDigest.js +1 -62
  391. package/dist/esm/wasm/near_signer/pkg/wasm_signer_worker_bg.wasm +0 -0
  392. package/dist/esm/wasm/router_ab_ecdsa_client/pkg/router_ab_ecdsa_client_bg.wasm +0 -0
  393. package/dist/esm/wasm/router_ab_ed25519_yao_client/pkg/router_ab_ed25519_yao_client_bg.wasm +0 -0
  394. package/dist/public/headers.manifest.json +1 -1
  395. package/dist/public/sdk/ConfirmationDrawer-DY0_yeUV.js +1 -0
  396. package/dist/public/sdk/NonceCoordinator-CFFq8-Q9.js +1 -0
  397. package/dist/public/sdk/accountLifecycle-CAMVowDl.js +1 -0
  398. package/dist/public/sdk/activeWalletSession-DiZcKjB_.js +1 -0
  399. package/dist/public/sdk/adapters-DdDOQzl4.js +2 -0
  400. package/dist/public/sdk/appearance-ZGVLwA4N.js +1 -0
  401. package/dist/public/sdk/authenticatorOptions-DMLnDWT2.js +1 -0
  402. package/dist/public/sdk/authorizationAdmission-Ckx6q6tp.js +1 -0
  403. package/dist/public/sdk/bytes-BBYkulRB.js +1 -0
  404. package/dist/public/sdk/canonicalPrimitives-CKPGgpxg.js +1 -0
  405. package/dist/public/sdk/canonicalSignerErrorCode-DEHsPxNm.js +1 -0
  406. package/dist/public/sdk/capabilityKinds-CKQ4Uqnv.js +1 -0
  407. package/dist/public/sdk/chains-CiYQT1K4.js +1 -0
  408. package/dist/public/sdk/challengeDelivery-DxXAkOfS.js +1 -0
  409. package/dist/public/sdk/clientSessionPersistenceState-CImFWDj6.js +1 -0
  410. package/dist/public/sdk/commitQueue-iBNUt9Bz.js +1 -0
  411. package/dist/public/sdk/configBuilder-ZiZwFKt4.js +1 -0
  412. package/dist/public/sdk/configHelpers-D8Ivi6p8.js +1 -0
  413. package/dist/public/sdk/digestEncoding-Dzc1rzWV.js +1 -0
  414. package/dist/public/sdk/display-ClqZq-Xt.js +1 -0
  415. package/dist/public/sdk/ecdsaCapabilityManifest-BlzJAQF8.js +1 -0
  416. package/dist/public/sdk/ecdsaChainTarget-C8ZtMZ8l.js +1 -0
  417. package/dist/public/sdk/ecdsaDerivationClientWasm-CVeNEou2.js +1 -0
  418. package/dist/public/sdk/ecdsaDerivationExport-BZFHSMCv.js +1 -0
  419. package/dist/public/sdk/ecdsaWalletRecords-D4WeYc7H.js +1 -0
  420. package/dist/public/sdk/emailOtpEcdsaDerivationIdentity-B8HzTh4T.js +1 -0
  421. package/dist/public/sdk/enrichDisplayModelWithAbi-69bNckvi.js +1 -0
  422. package/dist/public/sdk/evmCryptoWasm-BXsIyRon.js +1 -0
  423. package/dist/public/sdk/export-viewer-host-CsFeiIhd.js +1 -0
  424. package/dist/public/sdk/exportKeypairOperation-DGQIYML3.js +1 -0
  425. package/dist/public/sdk/helpers-Ddy72ULN.js +1 -0
  426. package/dist/public/sdk/host-B1CdRGoI.js +1 -0
  427. package/dist/public/sdk/intentDigest-CE-tLw87.js +1 -0
  428. package/dist/public/sdk/jsxRuntime.module-BcZNe_OA.js +2 -0
  429. package/dist/public/sdk/lanes-DnBwWv4l.js +1 -0
  430. package/dist/public/sdk/localOnly-ClCo6602.js +1 -0
  431. package/dist/public/sdk/messages-vxz27Way.js +1 -0
  432. package/dist/public/sdk/mountExportPrivateKeySurface-CBZ0wRYj.js +1 -0
  433. package/dist/public/sdk/mountRecoveryCodeBackupSurface-B1qhFF6G.js +2 -0
  434. package/dist/public/sdk/nearEd25519YaoMaterialActivation-fWQI3rYj.js +1 -0
  435. package/dist/public/sdk/nearEd25519YaoSigningPreparation-B0d1AG3u.js +1 -0
  436. package/dist/public/sdk/nonceLaneKeys-Fkvk2UPy.js +1 -0
  437. package/dist/public/sdk/normalization-CpLZcL2f.js +1 -0
  438. package/dist/public/sdk/normalization-DCvuCvh0.js +1 -0
  439. package/dist/public/sdk/normalize-kUDm5zfS.js +1 -0
  440. package/dist/public/sdk/operationFingerprint-CTR9G1NT.js +1 -0
  441. package/dist/public/sdk/passkey-custody-BQj44jEM.js +1 -0
  442. package/dist/public/sdk/pendingWalletRecoveryCodeBackup-yJN8VAHn.js +1 -0
  443. package/dist/public/sdk/presignaturePool-DwlTReFO.js +1 -0
  444. package/dist/public/sdk/presignatures-DB2IPD-A.js +1 -0
  445. package/dist/public/sdk/prfCache-BMpqZZ-v.js +1 -0
  446. package/dist/public/sdk/primitives-CAcl7ON7.js +1 -0
  447. package/dist/public/sdk/promptText-D2f5Rg0h.js +1 -0
  448. package/dist/public/sdk/recovery-entrypoint-Bl5GgbW9.js +1 -0
  449. package/dist/public/sdk/registration-C4sALQZO.js +1 -0
  450. package/dist/public/sdk/registration-CEqVAgNJ.js +1 -0
  451. package/dist/public/sdk/registrationAccounts-D4RVetMz.js +1 -0
  452. package/dist/public/sdk/registrationAuthMethodInput-6ccY2Vuh.js +1 -0
  453. package/dist/public/sdk/registrationIds-CdPqm-Ya.js +1 -0
  454. package/dist/public/sdk/registrationIntent-DOkZcKSP.js +1 -0
  455. package/dist/public/sdk/registrationSignerPlan-B9GCvpTV.js +1 -0
  456. package/dist/public/sdk/requireStepUpAuth-DCVqmeee.js +1 -0
  457. package/dist/public/sdk/routerAbNormalSigning-BG75eyI2.js +1 -0
  458. package/dist/public/sdk/router_ab_ed25519_yao_client_bg.wasm +0 -0
  459. package/dist/public/sdk/runtime-auth-tgfe70hU.js +1 -0
  460. package/dist/public/sdk/runtime-device-link-BUxuQupR.js +1 -0
  461. package/dist/public/sdk/runtime-ecdsa-tempo-DOBk_EtI.js +1 -0
  462. package/dist/public/sdk/runtime-email-otp-CsAJKvYC.js +1 -0
  463. package/dist/public/sdk/runtime-export-7REbcnBl.js +1 -0
  464. package/dist/public/sdk/runtime-near-BA0DQf6H.js +1 -0
  465. package/dist/public/sdk/runtime-preferences-cRViPE8a.js +1 -0
  466. package/dist/public/sdk/runtime-recovery-RRc8Yz1y.js +1 -0
  467. package/dist/public/sdk/runtime-recovery-codes-BZMiAR_5.js +1 -0
  468. package/dist/public/sdk/sdkSentEvents-D3q1h-Uo.js +1 -0
  469. package/dist/public/sdk/secp256k1-DSLttQND.js +1 -0
  470. package/dist/public/sdk/secureRandomId-BIekT8bE.js +1 -0
  471. package/dist/public/sdk/sessionPolicy-J-RrlPZQ.js +1 -0
  472. package/dist/public/sdk/shared-DdfxBUGY.js +6 -0
  473. package/dist/public/sdk/signEvmFamily-KUNWKVeh.js +1 -0
  474. package/dist/public/sdk/signEvmFamilyWithUiConfirmForTempo-Dc57bJ3V.js +1 -0
  475. package/dist/public/sdk/signEvmWithUiConfirm-CqxL7UbT.js +1 -0
  476. package/dist/public/sdk/signNear-CO5bx24Z.js +1 -0
  477. package/dist/public/sdk/signatureUses-CjJ233KX.js +1 -0
  478. package/dist/public/sdk/signerDomain-vQmlnsbF.js +1 -0
  479. package/dist/public/sdk/signingFlow-vrXxrhlG.js +2 -0
  480. package/dist/public/sdk/signingQueue-BrGJXBqe.js +1 -0
  481. package/dist/public/sdk/signingSessionSeal-CDLUmAFY.js +1 -0
  482. package/dist/public/sdk/singletons-8UH3gOnZ.js +1 -0
  483. package/dist/public/sdk/theme-_AUTWLS_.js +1 -0
  484. package/dist/public/sdk/thresholdEcdsa-CO7xo1So.js +1 -0
  485. package/dist/public/sdk/trace-BvbCxdXF.js +1 -0
  486. package/dist/public/sdk/transaction-activity-D40ih2j-.js +1 -0
  487. package/dist/public/sdk/transactionReviewAdmission-C-a3ctCJ.js +1 -0
  488. package/dist/public/sdk/transactionState-DVinJk4K.js +1 -0
  489. package/dist/public/sdk/tx-confirm-ui.js +7 -11
  490. package/dist/public/sdk/types-BNUuaUtl.js +1 -0
  491. package/dist/public/sdk/types-D3GM-uHR.js +1 -0
  492. package/dist/public/sdk/wallet-iframe-host-ecdsa.js +1 -1
  493. package/dist/public/sdk/wallet-iframe-host-full.js +1 -1
  494. package/dist/public/sdk/wallet-iframe-host-near.js +1 -1
  495. package/dist/public/sdk/wallet-iframe-host-runtime.js +1 -1
  496. package/dist/public/sdk/wallet-recovery-C1kesLCF.js +1 -0
  497. package/dist/public/sdk/wallet-ui.css +1 -1
  498. package/dist/public/sdk/walletAuthMethodRecord-CXedSgpV.js +1 -0
  499. package/dist/public/sdk/walletAuthority-B5hXHWpK.js +1 -0
  500. package/dist/public/sdk/walletCustodyEcdsaContinuity-abNZ_dvX.js +1 -0
  501. package/dist/public/sdk/walletIframeIdentity-DJ0KOBHg.js +1 -0
  502. package/dist/public/sdk/walletOwnershipGeneration-DoXVMDWe.js +1 -0
  503. package/dist/public/sdk/walletRecoveryCommit-Cc9AqHr0.js +1 -0
  504. package/dist/public/sdk/walletRecoveryRotate-DWTAFYiv.js +1 -0
  505. package/dist/public/sdk/walletSessionAuthorizationProjection-DWBksIJR.js +1 -0
  506. package/dist/public/sdk/walletSessionAuthorizationStatus-o1VgsLhA.js +1 -0
  507. package/dist/public/sdk/walletSessionAuthorizationStore-gEYPmu-G.js +1 -0
  508. package/dist/public/sdk/walletSessionFailure-Bu4VPKTz.js +1 -0
  509. package/dist/public/sdk/warmSessionHydration-DgjuUacN.js +1 -0
  510. package/dist/public/sdk/webauthnP256-BEz4DEAs.js +1 -0
  511. package/dist/public/sdk/webauthnPromptCoordinator-BEudHQBr.js +1 -0
  512. package/dist/public/sdk/workers/device-linking-key.worker.js +18 -0
  513. package/dist/public/sdk/workers/ecdsa-derivation-client.worker.js +1490 -1268
  514. package/dist/public/sdk/workers/ecdsa-online-client.worker.js +96 -0
  515. package/dist/public/sdk/workers/ecdsa-presign-client.worker.js +101 -1
  516. package/dist/public/sdk/workers/email-otp.worker.js +267 -237
  517. package/dist/public/sdk/workers/evm-crypto.worker.js +12 -8
  518. package/dist/public/sdk/workers/passkey-mpc-export.worker.js +30 -1
  519. package/dist/public/sdk/workers/router_ab_ecdsa_client_bg.wasm +0 -0
  520. package/dist/public/sdk/workers/router_ab_ed25519_yao_client_bg.wasm +0 -0
  521. package/dist/public/sdk/workers/shamir3pass.worker.js +10 -8
  522. package/dist/public/sdk/workers/tempo-signer.worker.js +12 -8
  523. package/dist/public/sdk/workers/wallet-custody-ceremony.worker.js +3 -1
  524. package/dist/public/sdk/workers/wallet_custody_ceremony_bg.wasm +0 -0
  525. package/dist/public/sdk/workers/wasm_signer_worker_bg.wasm +0 -0
  526. package/dist/public/wallet-assets.manifest.json +391 -295
  527. package/dist/public/wallet-service/index.html +4 -4
  528. package/dist/types/shared-ts/src/device-linking/activeWalletSession.d.ts +2 -1
  529. package/dist/types/shared-ts/src/device-linking/contracts.d.ts +10 -0
  530. package/dist/types/shared-ts/src/threshold/ed25519OperationFingerprint.d.ts +2 -1
  531. package/dist/types/shared-ts/src/utils/emailOtpDomain.d.ts +3 -1
  532. package/dist/types/shared-ts/src/utils/routerAbPublicKeyset.d.ts +0 -9
  533. package/dist/types/shared-ts/src/utils/walletManagementProtocol.d.ts +1 -1
  534. package/dist/types/wallet/build-paths.d.ts +0 -4
  535. package/dist/types/wallet/src/SeamsWeb/SeamsWeb.d.ts +26 -146
  536. package/dist/types/wallet/src/SeamsWeb/assembly/browserSigningSurfaceAssembly.d.ts +7 -6
  537. package/dist/types/wallet/src/SeamsWeb/assembly/browserSigningSurfacePorts.d.ts +2 -4
  538. package/dist/types/wallet/src/SeamsWeb/assembly/createWalletIframeRouter.d.ts +2 -2
  539. package/dist/types/wallet/src/SeamsWeb/assembly/initializeBrowserSigningRuntime.d.ts +0 -2
  540. package/dist/types/wallet/src/SeamsWeb/index.d.ts +1 -1
  541. package/dist/types/wallet/src/SeamsWeb/operations/auth/login.d.ts +2 -8
  542. package/dist/types/wallet/src/SeamsWeb/operations/auth/unlockCompletion.d.ts +26 -0
  543. package/dist/types/wallet/src/SeamsWeb/operations/auth/unlockPendingRegistration.d.ts +14 -0
  544. package/dist/types/wallet/src/SeamsWeb/operations/auth/unlockSessionPolicy.d.ts +16 -0
  545. package/dist/types/wallet/src/SeamsWeb/operations/authMethods/emailOtp/challenge.d.ts +2 -2
  546. package/dist/types/wallet/src/SeamsWeb/operations/authMethods/emailOtp/googleEmailOtpWalletAuthFlow.d.ts +3 -2
  547. package/dist/types/wallet/src/SeamsWeb/operations/authMethods/revokeAuthMethod.d.ts +17 -1
  548. package/dist/types/wallet/src/SeamsWeb/operations/devices/linkDevice.d.ts +0 -7
  549. package/dist/types/wallet/src/SeamsWeb/operations/devices/walletHostComposition.d.ts +2 -0
  550. package/dist/types/wallet/src/SeamsWeb/operations/near/actions.d.ts +4 -21
  551. package/dist/types/wallet/src/SeamsWeb/operations/near/delegateAction.d.ts +4 -14
  552. package/dist/types/wallet/src/SeamsWeb/operations/near/signDelegateAction.d.ts +14 -0
  553. package/dist/types/wallet/src/SeamsWeb/operations/near/signNEP413.d.ts +2 -2
  554. package/dist/types/wallet/src/SeamsWeb/operations/registration/pendingEcdsaRegistrationRecovery.d.ts +11 -11
  555. package/dist/types/wallet/src/SeamsWeb/operations/registration/pendingEcdsaRegistrationRecoveryValidation.d.ts +18 -4
  556. package/dist/types/wallet/src/SeamsWeb/operations/registration/pendingRegistrationRecovery.d.ts +4 -20
  557. package/dist/types/wallet/src/SeamsWeb/operations/registration/registration.d.ts +10 -4
  558. package/dist/types/wallet/src/SeamsWeb/operations/registration/registrationEd25519Yao.d.ts +1 -1
  559. package/dist/types/wallet/src/SeamsWeb/operations/registration/registrationSignerSet.d.ts +1 -0
  560. package/dist/types/wallet/src/SeamsWeb/operations/registration/registrationTerminalCommit.d.ts +0 -4
  561. package/dist/types/wallet/src/SeamsWeb/operations/registration/registrationTiming.d.ts +2 -3
  562. package/dist/types/wallet/src/SeamsWeb/operations/tempo/index.d.ts +0 -3
  563. package/dist/types/wallet/src/SeamsWeb/publicApi/auth.d.ts +4 -13
  564. package/dist/types/wallet/src/SeamsWeb/publicApi/createPublicApi.d.ts +22 -43
  565. package/dist/types/wallet/src/SeamsWeb/publicApi/devices.d.ts +3 -21
  566. package/dist/types/wallet/src/SeamsWeb/publicApi/evm.d.ts +10 -16
  567. package/dist/types/wallet/src/SeamsWeb/publicApi/evmFamilyCommands.d.ts +6 -0
  568. package/dist/types/wallet/src/SeamsWeb/publicApi/index.d.ts +2 -2
  569. package/dist/types/wallet/src/SeamsWeb/publicApi/keyExport.d.ts +8 -16
  570. package/dist/types/wallet/src/SeamsWeb/publicApi/near.d.ts +10 -10
  571. package/dist/types/wallet/src/SeamsWeb/publicApi/nearCommands.d.ts +17 -0
  572. package/dist/types/wallet/src/SeamsWeb/publicApi/placement.d.ts +90 -0
  573. package/dist/types/wallet/src/SeamsWeb/publicApi/placement.typecheck.d.ts +2 -0
  574. package/dist/types/wallet/src/SeamsWeb/publicApi/session.d.ts +3 -0
  575. package/dist/types/wallet/src/SeamsWeb/publicApi/tempo.d.ts +11 -11
  576. package/dist/types/wallet/src/SeamsWeb/publicApi/types.d.ts +106 -243
  577. package/dist/types/wallet/src/SeamsWeb/publicApi/waitForNearAccount.d.ts +27 -0
  578. package/dist/types/wallet/src/SeamsWeb/signingSurface/BrowserSigningSurface.d.ts +33 -78
  579. package/dist/types/wallet/src/SeamsWeb/signingSurface/ports.d.ts +8 -31
  580. package/dist/types/wallet/src/SeamsWeb/walletIframe/client/deviceCommands.d.ts +4 -0
  581. package/dist/types/wallet/src/SeamsWeb/walletIframe/client/emailOtpCommands.d.ts +4 -0
  582. package/dist/types/wallet/src/SeamsWeb/walletIframe/client/evmFamilyCommands.d.ts +6 -0
  583. package/dist/types/wallet/src/SeamsWeb/walletIframe/client/inboundMessages.d.ts +62 -0
  584. package/dist/types/wallet/src/SeamsWeb/walletIframe/client/nearCommands.d.ts +6 -0
  585. package/dist/types/wallet/src/SeamsWeb/walletIframe/client/placementCommands.d.ts +31 -0
  586. package/dist/types/wallet/src/SeamsWeb/walletIframe/client/preferenceState.d.ts +35 -0
  587. package/dist/types/wallet/src/SeamsWeb/walletIframe/client/preferences.d.ts +10 -0
  588. package/dist/types/wallet/src/SeamsWeb/walletIframe/client/registrationCommands.d.ts +6 -0
  589. package/dist/types/wallet/src/SeamsWeb/walletIframe/client/router.d.ts +36 -121
  590. package/dist/types/wallet/src/SeamsWeb/walletIframe/client/sessionCommands.d.ts +6 -0
  591. package/dist/types/wallet/src/SeamsWeb/walletIframe/coordinator.d.ts +29 -35
  592. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/WalletHostRuntime.d.ts +98 -0
  593. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/auth-menu/controller.d.ts +2 -2
  594. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/context.d.ts +11 -9
  595. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/createDeviceDomain.d.ts +20 -0
  596. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/createEmailOtpCommands.d.ts +11 -0
  597. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/createEvmFamilyCommands.d.ts +8 -0
  598. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/createNearCommands.d.ts +4 -0
  599. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/createPlacementCommands.d.ts +11 -0
  600. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/createRegistrationCommands.d.ts +4 -0
  601. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/createSessionCommands.d.ts +16 -0
  602. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/handlers/placement.d.ts +3 -0
  603. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/handlers/walletIframeHandler.types.d.ts +7 -3
  604. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/hostedWalletSeamsSession.d.ts +2 -0
  605. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/reconcileWalletPlacement.d.ts +10 -0
  606. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/requestRouter.d.ts +4 -4
  607. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/requestWalletMove.d.ts +11 -0
  608. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/runtimeContext.d.ts +5 -3
  609. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/runtimeLoader.d.ts +0 -1
  610. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/sessionObserver.d.ts +39 -0
  611. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/walletMoveLocator.d.ts +5 -0
  612. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/walletMutationGuard.d.ts +3 -0
  613. package/dist/types/wallet/src/SeamsWeb/walletIframe/shared/configuration.d.ts +30 -0
  614. package/dist/types/wallet/src/SeamsWeb/walletIframe/shared/emailOtpLifecycle.d.ts +43 -0
  615. package/dist/types/wallet/src/SeamsWeb/walletIframe/shared/exactSessionState.d.ts +15 -0
  616. package/dist/types/wallet/src/SeamsWeb/walletIframe/shared/facadeBoundary.d.ts +14 -0
  617. package/dist/types/wallet/src/SeamsWeb/walletIframe/shared/messages.d.ts +35 -100
  618. package/dist/types/wallet/src/core/config/chains.d.ts +1 -3
  619. package/dist/types/wallet/src/core/config/configBuilder.d.ts +16 -6
  620. package/dist/types/wallet/src/core/config/defaultConfigs.d.ts +3 -4
  621. package/dist/types/wallet/src/core/config/defineConfig.d.ts +3 -6
  622. package/dist/types/wallet/src/core/config/presignatures.d.ts +3 -0
  623. package/dist/types/wallet/src/core/diagnostics/registration.d.ts +2 -0
  624. package/dist/types/wallet/src/core/indexedDB/normalization.d.ts +5 -0
  625. package/dist/types/wallet/src/core/indexedDB/passkeyClientDB.types.d.ts +2 -2
  626. package/dist/types/wallet/src/core/indexedDB/pendingWalletRegistrationCommit.d.ts +0 -10
  627. package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/accountSignerRows.d.ts +44 -0
  628. package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/ecdsaCapabilityManifestStore.d.ts +0 -2
  629. package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/ecdsaClientPresignatures.d.ts +0 -5
  630. package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/manager.d.ts +11 -0
  631. package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/nonceLeaseRows.d.ts +23 -0
  632. package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/repositories.d.ts +1 -0
  633. package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/signerOutboxRows.d.ts +15 -0
  634. package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/walletOwnershipGeneration.d.ts +6 -0
  635. package/dist/types/wallet/src/core/indexedDB/unifiedIndexedDBManager.d.ts +1 -1
  636. package/dist/types/wallet/src/core/rpcClients/near/accountExists.d.ts +3 -0
  637. package/dist/types/wallet/src/core/rpcClients/near/rpcCalls.d.ts +1 -14
  638. package/dist/types/wallet/src/core/rpcClients/relayer/ecdsaPrepareSession.d.ts +13 -0
  639. package/dist/types/wallet/src/core/rpcClients/relayer/ownerWalletExecutionLanePreflight.d.ts +3 -3
  640. package/dist/types/wallet/src/core/rpcClients/relayer/relayerHttp.d.ts +17 -0
  641. package/dist/types/wallet/src/core/rpcClients/relayer/routerAbNormalSigning.d.ts +19 -3
  642. package/dist/types/wallet/src/core/rpcClients/relayer/walletRegistration.d.ts +29 -40
  643. package/dist/types/wallet/src/core/rpcClients/relayer/walletSessionAuthorizationStatus.d.ts +34 -0
  644. package/dist/types/wallet/src/core/signingEngine/assembly/ports/shared.d.ts +1 -1
  645. package/dist/types/wallet/src/core/signingEngine/assembly/ports/warmSigning.d.ts +2 -1
  646. package/dist/types/wallet/src/core/signingEngine/assembly/warmup.d.ts +2 -14
  647. package/dist/types/wallet/src/core/signingEngine/chains/near/nearSignerWasm.d.ts +2 -6
  648. package/dist/types/wallet/src/core/signingEngine/flows/recovery/public.d.ts +1 -1
  649. package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/emailOtpPublic.d.ts +1 -32
  650. package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/emailOtpSigningSession.d.ts +3 -82
  651. package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/readySecp256k1Material.d.ts +62 -1
  652. package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/requireEvmFamilyStepUpAuth.d.ts +1 -1
  653. package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/signers/secp256k1.d.ts +4 -55
  654. package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/signingFlow.d.ts +1 -1
  655. package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/thresholdAdmission.d.ts +3 -2
  656. package/dist/types/wallet/src/core/signingEngine/flows/signNear/shared/ed25519YaoNormalSigning.d.ts +33 -1
  657. package/dist/types/wallet/src/core/signingEngine/flows/signNear/shared/signatureOnlySigning.d.ts +16 -2
  658. package/dist/types/wallet/src/core/signingEngine/flows/signNear/signNear.d.ts +1 -2
  659. package/dist/types/wallet/src/core/signingEngine/flows/signNear/signNep413.d.ts +1 -1
  660. package/dist/types/wallet/src/core/signingEngine/interfaces/ecdsaChainTarget.d.ts +1 -1
  661. package/dist/types/wallet/src/core/signingEngine/interfaces/near.d.ts +3 -0
  662. package/dist/types/wallet/src/core/signingEngine/routerAb/ecdsaDerivation/presignaturePool.d.ts +9 -5
  663. package/dist/types/wallet/src/core/signingEngine/routerAb/ecdsaDerivation/presignaturePoolPolicy.d.ts +5 -0
  664. package/dist/types/wallet/src/core/signingEngine/session/SigningSessionCoordinator.d.ts +1 -7
  665. package/dist/types/wallet/src/core/signingEngine/session/availability/persistedAvailableSigningLanes.d.ts +1 -1
  666. package/dist/types/wallet/src/core/signingEngine/session/availability/readiness.d.ts +0 -17
  667. package/dist/types/wallet/src/core/signingEngine/session/emailOtp/EmailOtpWalletSessionCoordinator.d.ts +2 -2
  668. package/dist/types/wallet/src/core/signingEngine/session/emailOtp/ecdsaSigningSessionAuthority.d.ts +2 -33
  669. package/dist/types/wallet/src/core/signingEngine/session/emailOtp/exportRecovery.d.ts +2 -2
  670. package/dist/types/wallet/src/core/signingEngine/session/emailOtp/exportRecoveryRuntime.d.ts +14 -3
  671. package/dist/types/wallet/src/core/signingEngine/session/emailOtp/publicTypes.d.ts +1 -2
  672. package/dist/types/wallet/src/core/signingEngine/session/emailOtp/workerEnrollment.d.ts +0 -12
  673. package/dist/types/wallet/src/core/signingEngine/session/lanes/walletExecutionLaneHydration.d.ts +11 -25
  674. package/dist/types/wallet/src/core/signingEngine/session/lifecycle/walletSessionStatus.d.ts +0 -8
  675. package/dist/types/wallet/src/core/signingEngine/session/material/ecdsaSigningCapability.d.ts +2 -2
  676. package/dist/types/wallet/src/core/signingEngine/session/operationState/preparedOperation.d.ts +0 -8
  677. package/dist/types/wallet/src/core/signingEngine/session/operationState/trace.d.ts +1 -1
  678. package/dist/types/wallet/src/core/signingEngine/session/operationState/transactionState.d.ts +0 -1
  679. package/dist/types/wallet/src/core/signingEngine/session/passkey/ed25519YaoRecoveryCapability.d.ts +2 -0
  680. package/dist/types/wallet/src/core/signingEngine/session/public.d.ts +1 -1
  681. package/dist/types/wallet/src/core/signingEngine/session/routerAbSigningWalletSession.d.ts +2 -0
  682. package/dist/types/wallet/src/core/signingEngine/session/userPreferences.d.ts +8 -11
  683. package/dist/types/wallet/src/core/signingEngine/session/warmCapabilities/capabilityReader.d.ts +2 -1
  684. package/dist/types/wallet/src/core/signingEngine/session/warmCapabilities/capabilityReaderCore.d.ts +2 -1
  685. package/dist/types/wallet/src/core/signingEngine/stepUpConfirmation/otpPrompt/authLane.d.ts +6 -12
  686. package/dist/types/wallet/src/core/signingEngine/threshold/ecdsa/operationStepUp.d.ts +6 -5
  687. package/dist/types/wallet/src/core/signingEngine/threshold/ed25519/yaoClient.d.ts +6 -17
  688. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/ReviewDisclosure.d.ts +1 -0
  689. package/dist/types/wallet/src/core/signingEngine/walletCustody/ceremonyDriver.d.ts +0 -1
  690. package/dist/types/wallet/src/core/signingEngine/walletCustody/walletRegistrationEd25519.d.ts +17 -0
  691. package/dist/types/wallet/src/core/signingEngine/workerManager/SignerWorkerManager.d.ts +0 -1
  692. package/dist/types/wallet/src/core/signingEngine/workerManager/ecdsaPresignLifecycle.d.ts +0 -2
  693. package/dist/types/wallet/src/core/signingEngine/workerManager/ecdsaPresignPoolIdentity.d.ts +9 -0
  694. package/dist/types/wallet/src/core/signingEngine/workerManager/workerTransport.d.ts +0 -5
  695. package/dist/types/wallet/src/core/signingEngine/workerManager/workerTypes.d.ts +15 -27
  696. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/email-otp/enrollment.d.ts +1 -17
  697. package/dist/types/wallet/src/core/types/rpc.d.ts +0 -1
  698. package/dist/types/wallet/src/core/types/sdkPublicResults.d.ts +1 -0
  699. package/dist/types/wallet/src/core/types/sdkSentEvents.d.ts +2 -0
  700. package/dist/types/wallet/src/core/types/seams.d.ts +12 -9
  701. package/dist/types/wallet/src/core/types/signer-worker.d.ts +2 -1
  702. package/dist/types/wallet/src/externalEvm/controller.d.ts +5 -1
  703. package/dist/types/wallet/src/index.d.ts +5 -2
  704. package/dist/types/wallet/src/react/components/AccountMenuButton/WalletRegionSection.d.ts +54 -0
  705. package/dist/types/wallet/src/react/components/AccountMenuButton/WalletSettingsLayout.d.ts +7 -2
  706. package/dist/types/wallet/src/react/components/AccountMenuButton/index.d.ts +1 -1
  707. package/dist/types/wallet/src/react/components/AccountMenuButton/types.d.ts +1 -0
  708. package/dist/types/wallet/src/react/components/HostedSeamsAuthMenu/public.d.ts +1 -1
  709. package/dist/types/wallet/src/react/components/HostedSeamsAuthMenu/types.d.ts +2 -5
  710. package/dist/types/wallet/src/react/context/SeamsWebProvider.d.ts +0 -5
  711. package/dist/types/wallet/src/react/context/useLoginStateRefresher.d.ts +1 -1
  712. package/dist/types/wallet/src/react/context/useNearProvisioningStateRefresh.d.ts +1 -1
  713. package/dist/types/wallet/src/react/context/useSeamsContextValue.d.ts +2 -2
  714. package/dist/types/wallet/src/react/context/useWalletIframeLifecycle.d.ts +4 -2
  715. package/dist/types/wallet/src/react/hooks/useQRCamera.d.ts +1 -7
  716. package/dist/types/wallet/src/react/hooks/useWallet.d.ts +5 -6
  717. package/dist/types/wallet/src/react/hooks/useWalletAuth.d.ts +1 -1
  718. package/dist/types/wallet/src/react/hooks/useWalletDevices.d.ts +1 -1
  719. package/dist/types/wallet/src/react/index.d.ts +2 -2
  720. package/dist/types/wallet/src/react/transactionReview/boundCalls.d.ts +0 -26
  721. package/dist/types/wallet/src/react/types.d.ts +12 -20
  722. package/dist/types/wallet/src/react/utils/walletIframe.d.ts +2 -6
  723. package/dist/workers/device-linking-key.worker.js +18 -0
  724. package/dist/workers/ecdsa-derivation-client.worker.js +1490 -1268
  725. package/dist/workers/ecdsa-online-client.worker.js +96 -0
  726. package/dist/workers/ecdsa-presign-client.worker.js +101 -1
  727. package/dist/workers/email-otp.worker.js +267 -237
  728. package/dist/workers/evm-crypto.worker.js +12 -8
  729. package/dist/workers/passkey-mpc-export.worker.js +30 -1
  730. package/dist/workers/router_ab_ecdsa_client_bg.wasm +0 -0
  731. package/dist/workers/router_ab_ed25519_yao_client_bg.wasm +0 -0
  732. package/dist/workers/shamir3pass.worker.js +10 -8
  733. package/dist/workers/tempo-signer.worker.js +12 -8
  734. package/dist/workers/wallet-custody-ceremony.worker.js +3 -1
  735. package/dist/workers/wallet_custody_ceremony_bg.wasm +0 -0
  736. package/dist/workers/wasm_signer_worker_bg.wasm +0 -0
  737. package/package.json +1 -1
  738. package/dist/esm/SeamsWeb/assembly/browserSigningSurfaceAssembly.js +0 -817
  739. package/dist/esm/SeamsWeb/assembly/browserWorkerWarmupPolicy.js +0 -31
  740. package/dist/esm/SeamsWeb/assembly/configureBrowserIndexedDB.js +0 -10
  741. package/dist/esm/SeamsWeb/assembly/createBrowserRecoveryPublicDeps.js +0 -95
  742. package/dist/esm/SeamsWeb/assembly/createBrowserSigningRuntime.js +0 -34
  743. package/dist/esm/SeamsWeb/assembly/createBrowserSigningStores.js +0 -39
  744. package/dist/esm/SeamsWeb/assembly/createBrowserStepUpRuntime.js +0 -34
  745. package/dist/esm/SeamsWeb/assembly/createBrowserWarmSessionPublicDeps.js +0 -29
  746. package/dist/esm/SeamsWeb/assembly/initializeBrowserSigningRuntime.js +0 -19
  747. package/dist/esm/SeamsWeb/assembly/runtimeConfig.js +0 -12
  748. package/dist/esm/SeamsWeb/operations/auth/login.js +0 -4383
  749. package/dist/esm/SeamsWeb/operations/auth/scheduleEcdsaSessionPresignaturePrefill.js +0 -41
  750. package/dist/esm/SeamsWeb/operations/auth/scheduleLinkedDevicePresignaturePrefill.js +0 -64
  751. package/dist/esm/SeamsWeb/operations/auth/walletAuth.js +0 -142
  752. package/dist/esm/SeamsWeb/operations/auth/walletUnlockEcdsaSubject.js +0 -33
  753. package/dist/esm/SeamsWeb/operations/auth/walletUnlockSubject.js +0 -288
  754. package/dist/esm/SeamsWeb/operations/authMethods/addAuthMethodSourceClaim.js +0 -72
  755. package/dist/esm/SeamsWeb/operations/authMethods/emailOtp/addEmailOtp.js +0 -191
  756. package/dist/esm/SeamsWeb/operations/authMethods/emailOtp/challenge.js +0 -247
  757. package/dist/esm/SeamsWeb/operations/authMethods/emailOtp/googleEmailOtpWalletAuthFlow.js +0 -568
  758. package/dist/esm/SeamsWeb/operations/authMethods/emailOtp/localEmailOtpProjection.js +0 -69
  759. package/dist/esm/SeamsWeb/operations/authMethods/emailOtp/registrationAuthority.js +0 -62
  760. package/dist/esm/SeamsWeb/operations/authMethods/emailOtp/registrationOffer.js +0 -69
  761. package/dist/esm/SeamsWeb/operations/authMethods/emailOtp/walletActivation.js +0 -95
  762. package/dist/esm/SeamsWeb/operations/authMethods/passkey/addPasskey.js +0 -260
  763. package/dist/esm/SeamsWeb/operations/authMethods/passkey/ecdsaBootstrap.js +0 -17
  764. package/dist/esm/SeamsWeb/operations/authMethods/passkey/exactPasskeyAuthority.js +0 -34
  765. package/dist/esm/SeamsWeb/operations/authMethods/passkey/localUnlock.js +0 -16
  766. package/dist/esm/SeamsWeb/operations/authMethods/passkey/loginAssertion.js +0 -25
  767. package/dist/esm/SeamsWeb/operations/authMethods/passkey/registrationAuthority.js +0 -84
  768. package/dist/esm/SeamsWeb/operations/authMethods/revokeAuthMethod.js +0 -205
  769. package/dist/esm/SeamsWeb/operations/authMethods/sourcePasskeyProof.js +0 -12
  770. package/dist/esm/SeamsWeb/operations/devices/deviceLinkingAuthorityInstallation.js +0 -444
  771. package/dist/esm/SeamsWeb/operations/devices/deviceLinkingComposition.js +0 -106
  772. package/dist/esm/SeamsWeb/operations/devices/deviceLinkingEd25519ExportRoot.js +0 -194
  773. package/dist/esm/SeamsWeb/operations/devices/deviceLinkingHttpTransport.js +0 -524
  774. package/dist/esm/SeamsWeb/operations/devices/deviceLinkingOwnerTransport.js +0 -135
  775. package/dist/esm/SeamsWeb/operations/devices/deviceLinkingResume.js +0 -212
  776. package/dist/esm/SeamsWeb/operations/devices/deviceLinkingTargetCredential.js +0 -63
  777. package/dist/esm/SeamsWeb/operations/devices/deviceLinkingTargetEd25519ExportRoot.js +0 -61
  778. package/dist/esm/SeamsWeb/operations/devices/deviceLinkingWorkerChannels.js +0 -337
  779. package/dist/esm/SeamsWeb/operations/devices/linkDevice.js +0 -75
  780. package/dist/esm/SeamsWeb/operations/devices/linkDeviceFlow.js +0 -1383
  781. package/dist/esm/SeamsWeb/operations/devices/linkDeviceFlowSupport.js +0 -143
  782. package/dist/esm/SeamsWeb/operations/devices/linkDeviceTargetActivation.js +0 -119
  783. package/dist/esm/SeamsWeb/operations/devices/walletHostComposition.js +0 -130
  784. package/dist/esm/SeamsWeb/operations/devices/walletHostOwnerAuthority.js +0 -191
  785. package/dist/esm/SeamsWeb/operations/evm/index.js +0 -35
  786. package/dist/esm/SeamsWeb/operations/near/actions.js +0 -484
  787. package/dist/esm/SeamsWeb/operations/near/commandSubject.js +0 -14
  788. package/dist/esm/SeamsWeb/operations/near/index.js +0 -37
  789. package/dist/esm/SeamsWeb/operations/near/signNEP413.js +0 -116
  790. package/dist/esm/SeamsWeb/operations/recovery/accountSync.js +0 -21
  791. package/dist/esm/SeamsWeb/operations/recovery/recoveryWalletBinding.js +0 -43
  792. package/dist/esm/SeamsWeb/operations/recovery/syncAccount.js +0 -912
  793. package/dist/esm/SeamsWeb/operations/recovery/walletRecoveryCodeBackup.js +0 -100
  794. package/dist/esm/SeamsWeb/operations/recovery/walletRecoveryRotation.js +0 -213
  795. package/dist/esm/SeamsWeb/operations/registration/pendingEcdsaRegistrationRecovery.js +0 -184
  796. package/dist/esm/SeamsWeb/operations/registration/pendingEcdsaRegistrationRecoveryUnlock.js +0 -247
  797. package/dist/esm/SeamsWeb/operations/registration/pendingEcdsaRegistrationRecoveryValidation.js +0 -134
  798. package/dist/esm/SeamsWeb/operations/registration/pendingRegistrationRecovery.js +0 -354
  799. package/dist/esm/SeamsWeb/operations/registration/registration.js +0 -3818
  800. package/dist/esm/SeamsWeb/operations/registration/registrationEd25519Yao.js +0 -166
  801. package/dist/esm/SeamsWeb/operations/registration/registrationSignerSet.js +0 -60
  802. package/dist/esm/SeamsWeb/operations/registration/registrationStrictEcdsa.js +0 -343
  803. package/dist/esm/SeamsWeb/operations/registration/registrationTerminalCommit.js +0 -296
  804. package/dist/esm/SeamsWeb/operations/registration/registrationTiming.js +0 -682
  805. package/dist/esm/SeamsWeb/operations/session/thresholdEcdsaProvisioning.js +0 -36
  806. package/dist/esm/SeamsWeb/operations/session/thresholdWarmSessionBootstrap.js +0 -20
  807. package/dist/esm/SeamsWeb/publicApi/awaitNearReady.js +0 -72
  808. package/dist/esm/SeamsWeb/publicApi/preferences.js +0 -61
  809. package/dist/esm/SeamsWeb/publicApi/recovery.js +0 -19
  810. package/dist/esm/SeamsWeb/publicApi/types.js +0 -10
  811. package/dist/esm/SeamsWeb/signingSurface/BrowserSigningSurface.js +0 -3917
  812. package/dist/esm/SeamsWeb/walletIframe/host/restoredSessionPresignaturePrefill.js +0 -29
  813. package/dist/esm/core/browser/walletIframe/events.js +0 -6
  814. package/dist/esm/core/browser/walletIframe/host-mode.js +0 -9
  815. package/dist/esm/core/config/managedRuntimeScope.js +0 -16
  816. package/dist/esm/core/indexedDB/seamsWalletDB/pendingWalletRecoveryCodeBackup.js +0 -144
  817. package/dist/esm/core/platform/browser/createBrowserPlatformRuntime.js +0 -535
  818. package/dist/esm/core/platform/secretSources.js +0 -111
  819. package/dist/esm/core/platform/signerCoreCommandAdapters.js +0 -122
  820. package/dist/esm/core/rpcClients/near/rpcCalls.js +0 -376
  821. package/dist/esm/core/rpcClients/relayer/ownerWalletExecutionLanePreflight.js +0 -67
  822. package/dist/esm/core/rpcClients/relayer/passkeyCustodyEnvelope.js +0 -218
  823. package/dist/esm/core/rpcClients/relayer/sealedRefreshCapabilities.js +0 -148
  824. package/dist/esm/core/rpcClients/relayer/thresholdEcdsa.js +0 -235
  825. package/dist/esm/core/rpcClients/relayer/walletRecoveryGoogleEmailOtp.js +0 -161
  826. package/dist/esm/core/rpcClients/relayer/walletRegistrationTerminalResponse.js +0 -718
  827. package/dist/esm/core/signingEngine/assembly/createManagers.js +0 -80
  828. package/dist/esm/core/signingEngine/assembly/createPorts.js +0 -54
  829. package/dist/esm/core/signingEngine/assembly/ports/emailOtp.js +0 -30
  830. package/dist/esm/core/signingEngine/assembly/ports/evmFamily.js +0 -73
  831. package/dist/esm/core/signingEngine/assembly/ports/near.js +0 -21
  832. package/dist/esm/core/signingEngine/assembly/ports/recovery.js +0 -75
  833. package/dist/esm/core/signingEngine/assembly/ports/registration.js +0 -22
  834. package/dist/esm/core/signingEngine/assembly/ports/session.js +0 -25
  835. package/dist/esm/core/signingEngine/assembly/ports/shared.js +0 -39
  836. package/dist/esm/core/signingEngine/assembly/ports/stepUpRuntime.js +0 -67
  837. package/dist/esm/core/signingEngine/assembly/ports/warmSigning.js +0 -92
  838. package/dist/esm/core/signingEngine/assembly/warmup.js +0 -64
  839. package/dist/esm/core/signingEngine/flows/recovery/ecdsaDerivationExport.js +0 -427
  840. package/dist/esm/core/signingEngine/flows/recovery/ecdsaExportFlow.js +0 -660
  841. package/dist/esm/core/signingEngine/flows/recovery/ecdsaExportMaterial.js +0 -249
  842. package/dist/esm/core/signingEngine/flows/recovery/ed25519YaoExportFlow.js +0 -353
  843. package/dist/esm/core/signingEngine/flows/recovery/exportKeypairOperation.js +0 -213
  844. package/dist/esm/core/signingEngine/flows/recovery/exportLaneSelection.js +0 -283
  845. package/dist/esm/core/signingEngine/flows/recovery/keyExportConfirmation.js +0 -325
  846. package/dist/esm/core/signingEngine/flows/recovery/keyExportFlow.js +0 -81
  847. package/dist/esm/core/signingEngine/flows/recovery/passkeyEd25519YaoRecovery.js +0 -192
  848. package/dist/esm/core/signingEngine/flows/recovery/public.js +0 -26
  849. package/dist/esm/core/signingEngine/flows/recovery/stepUpAuthorization.js +0 -139
  850. package/dist/esm/core/signingEngine/flows/registration/nearProvisioningRegistry.js +0 -79
  851. package/dist/esm/core/signingEngine/flows/registration/public.js +0 -85
  852. package/dist/esm/core/signingEngine/flows/registration/services/ecdsaRegistrationSessions.js +0 -77
  853. package/dist/esm/core/signingEngine/flows/registration/services/passkeyEd25519YaoAddSigner.js +0 -82
  854. package/dist/esm/core/signingEngine/flows/registration/session.js +0 -24
  855. package/dist/esm/core/signingEngine/flows/signEvmFamily/emailOtpPublic.js +0 -123
  856. package/dist/esm/core/signingEngine/nonce/NonceCoordinator.js +0 -1026
  857. package/dist/esm/core/signingEngine/nonce/evmNonceLane.js +0 -182
  858. package/dist/esm/core/signingEngine/nonce/nearNonceLane.js +0 -669
  859. package/dist/esm/core/signingEngine/nonce/nonceDiagnostics.js +0 -232
  860. package/dist/esm/core/signingEngine/nonce/nonceLeaseState.js +0 -128
  861. package/dist/esm/core/signingEngine/nonce/nonceUtils.js +0 -33
  862. package/dist/esm/core/signingEngine/session/SigningSessionCoordinator.js +0 -344
  863. package/dist/esm/core/signingEngine/session/authority/authorityOperationResolver.js +0 -114
  864. package/dist/esm/core/signingEngine/session/availability/canonicalLaneInventory.js +0 -127
  865. package/dist/esm/core/signingEngine/session/availability/clientSessionExpiryInvalidator.js +0 -72
  866. package/dist/esm/core/signingEngine/session/availability/persistedAvailableSigningLanes.js +0 -214
  867. package/dist/esm/core/signingEngine/session/availability/readiness.js +0 -464
  868. package/dist/esm/core/signingEngine/session/emailOtp/EmailOtpWalletSessionCoordinator.js +0 -130
  869. package/dist/esm/core/signingEngine/session/emailOtp/ecdsaBootstrapCommit.js +0 -106
  870. package/dist/esm/core/signingEngine/session/emailOtp/ecdsaLifecycleRuntime.js +0 -47
  871. package/dist/esm/core/signingEngine/session/emailOtp/ecdsaLogin.js +0 -930
  872. package/dist/esm/core/signingEngine/session/emailOtp/ecdsaPublication.js +0 -414
  873. package/dist/esm/core/signingEngine/session/emailOtp/ecdsaRecovery.js +0 -264
  874. package/dist/esm/core/signingEngine/session/emailOtp/ed25519ExportContext.js +0 -373
  875. package/dist/esm/core/signingEngine/session/emailOtp/exportRecovery.js +0 -284
  876. package/dist/esm/core/signingEngine/session/emailOtp/exportRecoveryRuntime.js +0 -50
  877. package/dist/esm/core/signingEngine/session/emailOtp/persistedSnapshot.js +0 -22
  878. package/dist/esm/core/signingEngine/session/emailOtp/publicTypes.js +0 -38
  879. package/dist/esm/core/signingEngine/session/emailOtp/routePlan.js +0 -60
  880. package/dist/esm/core/signingEngine/session/emailOtp/runtimeConfig.js +0 -24
  881. package/dist/esm/core/signingEngine/session/emailOtp/sealedRefreshPolicy.js +0 -49
  882. package/dist/esm/core/signingEngine/session/emailOtp/sealedRestoreOrchestrator.js +0 -234
  883. package/dist/esm/core/signingEngine/session/emailOtp/sealedRuntimePurpose.js +0 -16
  884. package/dist/esm/core/signingEngine/session/emailOtp/sealedSessionRegistry.js +0 -40
  885. package/dist/esm/core/signingEngine/session/emailOtp/status.js +0 -72
  886. package/dist/esm/core/signingEngine/session/emailOtp/walletUnlock.js +0 -168
  887. package/dist/esm/core/signingEngine/session/emailOtp/warmSessionRuntime.js +0 -70
  888. package/dist/esm/core/signingEngine/session/emailOtp/workerEnrollment.js +0 -159
  889. package/dist/esm/core/signingEngine/session/emailOtp/workerRequests.js +0 -84
  890. package/dist/esm/core/signingEngine/session/emailOtp/zeroize.js +0 -9
  891. package/dist/esm/core/signingEngine/session/identity/exactWalletSessionCredential.js +0 -104
  892. package/dist/esm/core/signingEngine/session/identity/exactWalletSessionReader.js +0 -54
  893. package/dist/esm/core/signingEngine/session/identity/ownerLaneScope.js +0 -185
  894. package/dist/esm/core/signingEngine/session/lanes/walletExecutionLaneHydration.js +0 -194
  895. package/dist/esm/core/signingEngine/session/lifecycle/canonicalWalletSessionStatus.js +0 -32
  896. package/dist/esm/core/signingEngine/session/lifecycle/walletSessionStatus.js +0 -123
  897. package/dist/esm/core/signingEngine/session/material/ecdsaCapabilityHydration.js +0 -75
  898. package/dist/esm/core/signingEngine/session/material/ecdsaSealedRuntime.js +0 -197
  899. package/dist/esm/core/signingEngine/session/material/mpcCapabilityHydration.js +0 -79
  900. package/dist/esm/core/signingEngine/session/material/nearEd25519YaoSigningPreparation.js +0 -122
  901. package/dist/esm/core/signingEngine/session/material/restorableMpcMaterialRef.internal.js +0 -21
  902. package/dist/esm/core/signingEngine/session/passkey/ecdsaBootstrap.js +0 -184
  903. package/dist/esm/core/signingEngine/session/passkey/ecdsaKeyFactsInventory.js +0 -205
  904. package/dist/esm/core/signingEngine/session/passkey/ecdsaRecovery.js +0 -84
  905. package/dist/esm/core/signingEngine/session/passkey/ecdsaSessionProvision.js +0 -224
  906. package/dist/esm/core/signingEngine/session/passkey/ecdsaWarmCapabilityBootstrap.js +0 -147
  907. package/dist/esm/core/signingEngine/session/passkey/ed25519Provisioner.js +0 -55
  908. package/dist/esm/core/signingEngine/session/passkey/ed25519SessionProvision.js +0 -228
  909. package/dist/esm/core/signingEngine/session/passkey/ed25519YaoLocalMaterial.js +0 -536
  910. package/dist/esm/core/signingEngine/session/passkey/ed25519YaoRecoveryCapability.js +0 -94
  911. package/dist/esm/core/signingEngine/session/passkey/ed25519YaoSealedSession.js +0 -57
  912. package/dist/esm/core/signingEngine/session/passkey/ed25519YaoWarmRecovery.js +0 -281
  913. package/dist/esm/core/signingEngine/session/passkey/passkeyCustodySessionCache.js +0 -90
  914. package/dist/esm/core/signingEngine/session/passkey/public.js +0 -15
  915. package/dist/esm/core/signingEngine/session/passkey/unlockEcdsaWarmupPlanner.js +0 -247
  916. package/dist/esm/core/signingEngine/session/persistence/clientSessionPersistence.js +0 -135
  917. package/dist/esm/core/signingEngine/session/persistence/walletSessionAuthorizationProjection.js +0 -51
  918. package/dist/esm/core/signingEngine/session/planning/operationIdBinding.js +0 -36
  919. package/dist/esm/core/signingEngine/session/postconditions/runtimePostconditions.js +0 -163
  920. package/dist/esm/core/signingEngine/session/public.js +0 -44
  921. package/dist/esm/core/signingEngine/session/routerAbSigningWalletSession.js +0 -119
  922. package/dist/esm/core/signingEngine/session/sealedRecovery/exactRecordLookup.js +0 -148
  923. package/dist/esm/core/signingEngine/session/sealedRecovery/recoveryRecord.js +0 -248
  924. package/dist/esm/core/signingEngine/session/sealedRecovery/restoreCoordinator.js +0 -229
  925. package/dist/esm/core/signingEngine/session/userPreferences.js +0 -212
  926. package/dist/esm/core/signingEngine/session/warmCapabilities/capabilityReader.js +0 -62
  927. package/dist/esm/core/signingEngine/session/warmCapabilities/capabilityReaderCore.js +0 -293
  928. package/dist/esm/core/signingEngine/session/warmCapabilities/clearVolatileWarmSigningMaterial.js +0 -44
  929. package/dist/esm/core/signingEngine/session/warmCapabilities/ecdsaBootstrapPersistence.js +0 -107
  930. package/dist/esm/core/signingEngine/session/warmCapabilities/ecdsaBootstrapQueue.js +0 -22
  931. package/dist/esm/core/signingEngine/session/warmCapabilities/ecdsaLoginPrefill.js +0 -93
  932. package/dist/esm/core/signingEngine/session/warmCapabilities/ecdsaLoginPrefillSigningMaterialSource.js +0 -50
  933. package/dist/esm/core/signingEngine/session/warmCapabilities/ecdsaProvisionPlan.js +0 -9
  934. package/dist/esm/core/signingEngine/session/warmCapabilities/ed25519SealedSessionRuntime.js +0 -251
  935. package/dist/esm/core/signingEngine/session/warmCapabilities/nearEd25519CapabilityRehydration.js +0 -98
  936. package/dist/esm/core/signingEngine/session/warmCapabilities/public.js +0 -31
  937. package/dist/esm/core/signingEngine/session/warmCapabilities/readModel.js +0 -155
  938. package/dist/esm/core/signingEngine/session/warmCapabilities/routerAbEd25519WalletSessionState.js +0 -256
  939. package/dist/esm/core/signingEngine/session/warmCapabilities/statusReader.js +0 -100
  940. package/dist/esm/core/signingEngine/session/warmCapabilities/transitions.js +0 -47
  941. package/dist/esm/core/signingEngine/session/warmCapabilities/types.js +0 -122
  942. package/dist/esm/core/signingEngine/session/warmCapabilities/volatileWarmMaterialCommands.js +0 -45
  943. package/dist/esm/core/signingEngine/stepUpConfirmation/channel/confirmCommon.js +0 -89
  944. package/dist/esm/core/signingEngine/stepUpConfirmation/channel/confirmTypes.js +0 -12
  945. package/dist/esm/core/signingEngine/stepUpConfirmation/otpPrompt/authLane.js +0 -31
  946. package/dist/esm/core/signingEngine/stepUpConfirmation/otpPrompt/exportAuthorization.js +0 -108
  947. package/dist/esm/core/signingEngine/stepUpConfirmation/passkeyPrompt/touchIdPrompt.js +0 -271
  948. package/dist/esm/core/signingEngine/stepUpConfirmation/passkeyPrompt/webauthnPromptCoordinator.js +0 -167
  949. package/dist/esm/core/signingEngine/stepUpConfirmation/userConfirmationType.js +0 -15
  950. package/dist/esm/core/signingEngine/threshold/crypto/ed25519YaoLaneWasm.js +0 -67
  951. package/dist/esm/core/signingEngine/threshold/ecdsa/activation.js +0 -267
  952. package/dist/esm/core/signingEngine/threshold/ecdsa/bootstrapSession.js +0 -115
  953. package/dist/esm/core/signingEngine/threshold/ecdsa/postRegistrationSessionActivation.js +0 -132
  954. package/dist/esm/core/signingEngine/threshold/ecdsa/signingQueue.js +0 -16
  955. package/dist/esm/core/signingEngine/threshold/ed25519/commitQueue.js +0 -16
  956. package/dist/esm/core/signingEngine/threshold/ed25519/connectSession.js +0 -137
  957. package/dist/esm/core/signingEngine/threshold/ed25519/yaoActiveClientRegistry.js +0 -146
  958. package/dist/esm/core/signingEngine/threshold/ed25519/yaoClient.js +0 -563
  959. package/dist/esm/core/signingEngine/threshold/ed25519/yaoPageLifecycleOwner.js +0 -23
  960. package/dist/esm/core/signingEngine/uiConfirm/PasskeyMpcExportManager.js +0 -233
  961. package/dist/esm/core/signingEngine/uiConfirm/PasskeyMpcSessionDurableState.js +0 -493
  962. package/dist/esm/core/signingEngine/uiConfirm/PasskeyMpcSessionManager.js +0 -746
  963. package/dist/esm/core/signingEngine/uiConfirm/UiConfirmManager.js +0 -599
  964. package/dist/esm/core/signingEngine/uiConfirm/confirmationReadinessRegistry.js +0 -41
  965. package/dist/esm/core/signingEngine/uiConfirm/exportConfirmRequest.js +0 -149
  966. package/dist/esm/core/signingEngine/uiConfirm/handlers/determineConfirmationConfig.js +0 -82
  967. package/dist/esm/core/signingEngine/uiConfirm/handlers/flowOrchestrator.js +0 -363
  968. package/dist/esm/core/signingEngine/uiConfirm/handlers/flows/adapters/adapters.js +0 -337
  969. package/dist/esm/core/signingEngine/uiConfirm/handlers/flows/adapters/request.js +0 -120
  970. package/dist/esm/core/signingEngine/uiConfirm/handlers/flows/localOnly.js +0 -149
  971. package/dist/esm/core/signingEngine/uiConfirm/handlers/flows/registration.js +0 -235
  972. package/dist/esm/core/signingEngine/uiConfirm/handlers/flows/requestRegistrationCredentialConfirmation.js +0 -178
  973. package/dist/esm/core/signingEngine/uiConfirm/handlers/flows/signing.js +0 -684
  974. package/dist/esm/core/signingEngine/uiConfirm/handlers/handlePromptFromWorker.js +0 -90
  975. package/dist/esm/core/signingEngine/uiConfirm/ui/appearance.js +0 -27
  976. package/dist/esm/core/signingEngine/uiConfirm/ui/confirm-ui.js +0 -516
  977. package/dist/esm/core/signingEngine/uiConfirm/ui/export-private-key-reveal.js +0 -155
  978. package/dist/esm/core/signingEngine/uiConfirm/ui/export-viewer-host.js +0 -207
  979. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/ExportPrivateKeySurface.js +0 -318
  980. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/RecoveryCodeBackupSurface.js +0 -518
  981. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/confirmation-controller.js +0 -80
  982. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/mountExportPrivateKeySurface.js +0 -86
  983. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/mountRecoveryCodeBackupSurface.js +0 -82
  984. package/dist/esm/core/signingEngine/uiConfirm/ui/surface-measurement-binding.js +0 -12
  985. package/dist/esm/core/signingEngine/uiConfirm/ui/transaction-activity.js +0 -46
  986. package/dist/esm/core/signingEngine/uiConfirm/ui/transaction-display/abi/abiDecode.js +0 -315
  987. package/dist/esm/core/signingEngine/uiConfirm/ui/transaction-display/abi/enrichDisplayModelWithAbi.js +0 -77
  988. package/dist/esm/core/signingEngine/uiConfirm/ui/transaction-display/confirmation-tree.js +0 -27
  989. package/dist/esm/core/signingEngine/uiConfirm/ui/transaction-display/renderers/fallback.js +0 -52
  990. package/dist/esm/core/signingEngine/uiConfirm/ui/transaction-display/renderers/types.js +0 -62
  991. package/dist/esm/core/signingEngine/uiConfirm/ui/transaction-display/tree.js +0 -249
  992. package/dist/esm/core/signingEngine/uiConfirm/warmSessionUiConfirm.js +0 -65
  993. package/dist/esm/core/signingEngine/walletCustody/activateEd25519Capability.js +0 -122
  994. package/dist/esm/core/signingEngine/walletCustody/ceremonyActiveClientMetadata.js +0 -94
  995. package/dist/esm/core/signingEngine/walletCustody/ceremonyDriver.js +0 -171
  996. package/dist/esm/core/signingEngine/walletCustody/ceremonyStepRunner.js +0 -20
  997. package/dist/esm/core/signingEngine/walletCustody/ed25519ActiveClient.js +0 -100
  998. package/dist/esm/core/signingEngine/walletCustody/ed25519Projection.js +0 -32
  999. package/dist/esm/core/signingEngine/walletCustody/ed25519SeedMaterial.js +0 -92
  1000. package/dist/esm/core/signingEngine/walletCustody/emailOtpLink.js +0 -132
  1001. package/dist/esm/core/signingEngine/walletCustody/joinCustodyWire.js +0 -64
  1002. package/dist/esm/core/signingEngine/walletCustody/openCustodyCache.js +0 -126
  1003. package/dist/esm/core/signingEngine/walletCustody/passkeyLink.js +0 -180
  1004. package/dist/esm/core/signingEngine/walletCustody/recoveryReplacementEnvelope.js +0 -60
  1005. package/dist/esm/core/signingEngine/walletCustody/registrationCeremony.js +0 -460
  1006. package/dist/esm/core/signingEngine/walletCustody/unlockedEd25519ExportRootCapability.js +0 -258
  1007. package/dist/esm/core/signingEngine/walletCustody/walletRecoveryCredential.js +0 -23
  1008. package/dist/esm/core/signingEngine/walletCustody/walletRecoveryEcdsa.js +0 -75
  1009. package/dist/esm/core/signingEngine/walletCustody/walletRecoveryEd25519.js +0 -129
  1010. package/dist/esm/core/signingEngine/walletCustody/walletRecoveryManifest.js +0 -178
  1011. package/dist/esm/core/signingEngine/walletCustody/walletRecoveryRotation.js +0 -102
  1012. package/dist/esm/core/signingEngine/webauthnAuth/credentials/collectAuthenticationCredentialForChallengeB64u.js +0 -154
  1013. package/dist/esm/core/signingEngine/webauthnAuth/device/signerSlot.js +0 -25
  1014. package/dist/esm/core/signingEngine/webauthnAuth/walletOriginWebAuthn.js +0 -109
  1015. package/dist/esm/core/signingEngine/workerManager/SignerWorkerManager.js +0 -68
  1016. package/dist/esm/core/signingEngine/workerManager/deviceLinkingPorts.js +0 -342
  1017. package/dist/esm/core/signingEngine/workerManager/deviceLinkingSourceContribution.js +0 -158
  1018. package/dist/esm/core/signingEngine/workerManager/ecdsaClientWorkerChannels.js +0 -13
  1019. package/dist/esm/core/signingEngine/workerManager/ecdsaPresignLifecycle.js +0 -6
  1020. package/dist/esm/core/signingEngine/workerManager/workerTransport.js +0 -734
  1021. package/dist/esm/core/types/confirmationConfig.js +0 -39
  1022. package/dist/esm/core/types/secure-confirm-worker.js +0 -22
  1023. package/dist/esm/core/walletRuntimePaths/emailOtpWorker.js +0 -12
  1024. package/dist/esm/core/walletRuntimePaths/multichainWorkers.js +0 -25
  1025. package/dist/esm/core/walletRuntimePaths/walletCustodyCeremonyWorker.js +0 -18
  1026. package/dist/esm/core/walletRuntimePaths/workers.js +0 -93
  1027. package/dist/esm/react/context/useEagerPrewarm.js +0 -38
  1028. package/dist/esm/sdk/ConfirmationDrawer-DrsREojk.js +0 -1
  1029. package/dist/esm/sdk/EvmClient-DoxytQaJ.js +0 -1
  1030. package/dist/esm/sdk/NearClient-vJ65Wjrq.js +0 -1
  1031. package/dist/esm/sdk/NonceCoordinator-BBeadCSq.js +0 -1
  1032. package/dist/esm/sdk/accountLifecycle-EyfYPnuT.js +0 -1
  1033. package/dist/esm/sdk/actions-DZLxCcrU.js +0 -1
  1034. package/dist/esm/sdk/adapters-DtAyuoiA.js +0 -2
  1035. package/dist/esm/sdk/base-Xtd32asf.js +0 -1
  1036. package/dist/esm/sdk/bytes-t5S5mkat.js +0 -1
  1037. package/dist/esm/sdk/canonicalPrimitives-MPGET2cl.js +0 -1
  1038. package/dist/esm/sdk/canonicalSignerErrorCode-C0hh_SVi.js +0 -1
  1039. package/dist/esm/sdk/capabilityKinds-XaXXiD2B.js +0 -1
  1040. package/dist/esm/sdk/chains-yAls2d9X.js +0 -1
  1041. package/dist/esm/sdk/challengeDelivery-cAsaUC6U.js +0 -1
  1042. package/dist/esm/sdk/configHelpers-CseiVoZD.js +0 -1
  1043. package/dist/esm/sdk/csp-stylesheet-B1fAhrGB.js +0 -2
  1044. package/dist/esm/sdk/defaultConfigs-CWpApkMq.js +0 -1
  1045. package/dist/esm/sdk/display-jK7_hYho.js +0 -1
  1046. package/dist/esm/sdk/domainIds-GDzjOs6i.js +0 -1
  1047. package/dist/esm/sdk/ecdsaCapabilityManifest-CHFu-QrV.js +0 -1
  1048. package/dist/esm/sdk/ecdsaChainTarget-CRcRR78w.js +0 -1
  1049. package/dist/esm/sdk/ecdsaPresignLifecycle-CQnCxSlq.js +0 -1
  1050. package/dist/esm/sdk/ecdsaPresignPoolIdentity-Ci-ovDlv.js +0 -1
  1051. package/dist/esm/sdk/ecdsaWalletRecords-Cm1DdexN.js +0 -1
  1052. package/dist/esm/sdk/enrichDisplayModelWithAbi-CR-4ebuU.js +0 -1
  1053. package/dist/esm/sdk/evmCryptoWasm-CwEXiLrC.js +0 -1
  1054. package/dist/esm/sdk/evmFamilyEcdsaIdentity-Br3iFdQx.js +0 -1
  1055. package/dist/esm/sdk/exactSessionState-CjD8gekO.js +0 -210
  1056. package/dist/esm/sdk/exactSigningLaneIdentity-olheZx_n.js +0 -1
  1057. package/dist/esm/sdk/export-viewer-host-jo7h_0wl.js +0 -1
  1058. package/dist/esm/sdk/helpers-D4QckQhq.js +0 -1
  1059. package/dist/esm/sdk/host-BAqOYnju.js +0 -1
  1060. package/dist/esm/sdk/intentDigest-CB6zy3lN.js +0 -1
  1061. package/dist/esm/sdk/jsxRuntime.module-CoHsKD_3.js +0 -1
  1062. package/dist/esm/sdk/keyMaterialBrands-uVZHfAh3.js +0 -1
  1063. package/dist/esm/sdk/localOnly-DBQRG6Qh.js +0 -1
  1064. package/dist/esm/sdk/messages-Cv2j4SKI.js +0 -1
  1065. package/dist/esm/sdk/mountExportPrivateKeySurface-G7Z_9JMQ.js +0 -1
  1066. package/dist/esm/sdk/mountRecoveryCodeBackupSurface-BBCTaQsu.js +0 -2
  1067. package/dist/esm/sdk/nearEd25519YaoMaterialActivation-DQIw8ho3.js +0 -1
  1068. package/dist/esm/sdk/nearEd25519YaoSigningPreparation-Bp_CvWRz.js +0 -1
  1069. package/dist/esm/sdk/nearRpcResults--cBcfmp4.js +0 -1
  1070. package/dist/esm/sdk/nonceLaneKeys-BBYi4g51.js +0 -1
  1071. package/dist/esm/sdk/normalization-BGPR6osg.js +0 -1
  1072. package/dist/esm/sdk/operationFingerprint-5-wH2Ht8.js +0 -1
  1073. package/dist/esm/sdk/operationFingerprint-DtQb0pdp.js +0 -1
  1074. package/dist/esm/sdk/passkey-custody-LP4UTFbn.js +0 -1
  1075. package/dist/esm/sdk/pendingWalletRecoveryCodeBackup-BNk4ebsY.js +0 -1
  1076. package/dist/esm/sdk/prfCache-Mbo7_USg.js +0 -1
  1077. package/dist/esm/sdk/promptText-s8TQ6ckX.js +0 -1
  1078. package/dist/esm/sdk/recovery-entrypoint-DkT8sFO5.js +0 -1
  1079. package/dist/esm/sdk/registration-Btozh7uh.js +0 -1
  1080. package/dist/esm/sdk/registration-CSAG_h4Y.js +0 -1
  1081. package/dist/esm/sdk/registrationAccounts-DIeEVy6W.js +0 -1
  1082. package/dist/esm/sdk/registrationIds-BIel5S0i.js +0 -1
  1083. package/dist/esm/sdk/registrationIntent-DV1GYZ3K.js +0 -1
  1084. package/dist/esm/sdk/registrationPreparationPreload-vOCqNuG4.js +0 -1
  1085. package/dist/esm/sdk/registrationSignerPlan-FzD3TwxB.js +0 -1
  1086. package/dist/esm/sdk/relayerHttp-DaPeS929.js +0 -1
  1087. package/dist/esm/sdk/routePlan-B_KJaPtm.js +0 -1
  1088. package/dist/esm/sdk/router-Dd3fFHk3.js +0 -1
  1089. package/dist/esm/sdk/routerAbNormalSigning-D_fHjq5l.js +0 -1
  1090. package/dist/esm/sdk/runtime-auth-B2M91rSx.js +0 -1
  1091. package/dist/esm/sdk/runtime-device-link-ojjPSRaG.js +0 -1
  1092. package/dist/esm/sdk/runtime-ecdsa-tempo-CE4JLgmn.js +0 -1
  1093. package/dist/esm/sdk/runtime-email-otp-DDwtKVAe.js +0 -1
  1094. package/dist/esm/sdk/runtime-export-JXYk8sQ-.js +0 -1
  1095. package/dist/esm/sdk/runtime-near-BB8AG6dV.js +0 -1
  1096. package/dist/esm/sdk/runtime-preferences-DKFZYccW.js +0 -1
  1097. package/dist/esm/sdk/runtime-recovery-C_XjsDBg.js +0 -1
  1098. package/dist/esm/sdk/runtime-recovery-codes-CWp839mH.js +0 -1
  1099. package/dist/esm/sdk/runtimeContext-BpObgzbj.js +0 -6
  1100. package/dist/esm/sdk/runtimeLoader-DjgBf_yF.js +0 -1
  1101. package/dist/esm/sdk/sdkSentEvents-_RGAEeld.js +0 -1
  1102. package/dist/esm/sdk/secp256k1-B_6W9QDJ.js +0 -1
  1103. package/dist/esm/sdk/secureRandomId-CTdlJ5Mx.js +0 -1
  1104. package/dist/esm/sdk/sessionPolicy-CNVK7nJ6.js +0 -1
  1105. package/dist/esm/sdk/shared-j_KsFbCT.js +0 -1
  1106. package/dist/esm/sdk/signEvmFamily-CcLVBm0f.js +0 -1
  1107. package/dist/esm/sdk/signEvmFamilyWithUiConfirmForTempo-DgTbh6jX.js +0 -1
  1108. package/dist/esm/sdk/signEvmWithUiConfirm-ChreN7aZ.js +0 -1
  1109. package/dist/esm/sdk/signNear-mWbTE2Dl.js +0 -1
  1110. package/dist/esm/sdk/signatureUses-CQkkUcwT.js +0 -1
  1111. package/dist/esm/sdk/signerDomain-BhUTzDmF.js +0 -1
  1112. package/dist/esm/sdk/signerLoader-By0IY24G.js +0 -1
  1113. package/dist/esm/sdk/signingFlow-LUWrZi2d.js +0 -2
  1114. package/dist/esm/sdk/signingSessionSeal-Mr2Xp44o.js +0 -1
  1115. package/dist/esm/sdk/trace-M34pNGuF.js +0 -1
  1116. package/dist/esm/sdk/transaction-activity-BbDod7ji.js +0 -1
  1117. package/dist/esm/sdk/transactionReview-CBE5oH4c.js +0 -1
  1118. package/dist/esm/sdk/transactionReviewAdmission-0ZgWs6q3.js +0 -1
  1119. package/dist/esm/sdk/transactionState-9d7f3xVj.js +0 -1
  1120. package/dist/esm/sdk/types-M7vxrYtJ.js +0 -1
  1121. package/dist/esm/sdk/validation-dC1-_uyG.js +0 -1
  1122. package/dist/esm/sdk/wallet-recovery-CcDZ1hMH.js +0 -1
  1123. package/dist/esm/sdk/walletAuthority-CoWSeqvQ.js +0 -1
  1124. package/dist/esm/sdk/walletCustodyEcdsaContinuity-B7xi7nwh.js +0 -1
  1125. package/dist/esm/sdk/walletIframeIdentity-C0b0XMQF.js +0 -1
  1126. package/dist/esm/sdk/walletRecoveryCommit-ljxVeo-d.js +0 -1
  1127. package/dist/esm/sdk/walletRecoveryRotate-HztDcDaY.js +0 -1
  1128. package/dist/esm/sdk/warmSessionHydration-BPGM0YRU.js +0 -1
  1129. package/dist/esm/sdk/webauthnP256-qu06GNFm.js +0 -1
  1130. package/dist/esm/sdk/webauthnPromptCoordinator-DO-qfECu.js +0 -1
  1131. package/dist/esm/shared-ts/src/authorization/walletCustodyOperation.js +0 -16
  1132. package/dist/esm/shared-ts/src/device-linking/contracts.js +0 -8
  1133. package/dist/esm/shared-ts/src/device-linking/ed25519ExportRoot.js +0 -167
  1134. package/dist/esm/shared-ts/src/passkey-custody/ceremonyCommitPayload.js +0 -43
  1135. package/dist/esm/shared-ts/src/signing-lanes/participants.js +0 -256
  1136. package/dist/esm/shared-ts/src/signing-lanes/recordParsers.js +0 -479
  1137. package/dist/esm/shared-ts/src/threshold/secp256k1.js +0 -6
  1138. package/dist/esm/shared-ts/src/utils/addAuthMethodRegistration.js +0 -103
  1139. package/dist/esm/shared-ts/src/utils/ecdsaKeyFactsInventory.js +0 -43
  1140. package/dist/esm/shared-ts/src/utils/exactKeys.js +0 -17
  1141. package/dist/esm/shared-ts/src/utils/routerAbTraceContext.js +0 -36
  1142. package/dist/esm/shared-ts/src/utils/walletAddSignerActivation.js +0 -32
  1143. package/dist/public/sdk/ConfirmationDrawer-DrsREojk.js +0 -1
  1144. package/dist/public/sdk/EvmClient-DoxytQaJ.js +0 -1
  1145. package/dist/public/sdk/NearClient-vJ65Wjrq.js +0 -1
  1146. package/dist/public/sdk/NonceCoordinator-BBeadCSq.js +0 -1
  1147. package/dist/public/sdk/accountLifecycle-EyfYPnuT.js +0 -1
  1148. package/dist/public/sdk/actions-DZLxCcrU.js +0 -1
  1149. package/dist/public/sdk/adapters-DtAyuoiA.js +0 -2
  1150. package/dist/public/sdk/base-Xtd32asf.js +0 -1
  1151. package/dist/public/sdk/bytes-t5S5mkat.js +0 -1
  1152. package/dist/public/sdk/canonicalPrimitives-MPGET2cl.js +0 -1
  1153. package/dist/public/sdk/canonicalSignerErrorCode-C0hh_SVi.js +0 -1
  1154. package/dist/public/sdk/capabilityKinds-XaXXiD2B.js +0 -1
  1155. package/dist/public/sdk/chains-yAls2d9X.js +0 -1
  1156. package/dist/public/sdk/challengeDelivery-cAsaUC6U.js +0 -1
  1157. package/dist/public/sdk/configHelpers-CseiVoZD.js +0 -1
  1158. package/dist/public/sdk/csp-stylesheet-B1fAhrGB.js +0 -2
  1159. package/dist/public/sdk/defaultConfigs-CWpApkMq.js +0 -1
  1160. package/dist/public/sdk/display-jK7_hYho.js +0 -1
  1161. package/dist/public/sdk/domainIds-GDzjOs6i.js +0 -1
  1162. package/dist/public/sdk/ecdsaCapabilityManifest-CHFu-QrV.js +0 -1
  1163. package/dist/public/sdk/ecdsaChainTarget-CRcRR78w.js +0 -1
  1164. package/dist/public/sdk/ecdsaPresignLifecycle-CQnCxSlq.js +0 -1
  1165. package/dist/public/sdk/ecdsaPresignPoolIdentity-Ci-ovDlv.js +0 -1
  1166. package/dist/public/sdk/ecdsaWalletRecords-Cm1DdexN.js +0 -1
  1167. package/dist/public/sdk/enrichDisplayModelWithAbi-CR-4ebuU.js +0 -1
  1168. package/dist/public/sdk/evmCryptoWasm-CwEXiLrC.js +0 -1
  1169. package/dist/public/sdk/evmFamilyEcdsaIdentity-Br3iFdQx.js +0 -1
  1170. package/dist/public/sdk/exactSessionState-CjD8gekO.js +0 -210
  1171. package/dist/public/sdk/exactSigningLaneIdentity-olheZx_n.js +0 -1
  1172. package/dist/public/sdk/export-viewer-host-jo7h_0wl.js +0 -1
  1173. package/dist/public/sdk/helpers-D4QckQhq.js +0 -1
  1174. package/dist/public/sdk/host-BAqOYnju.js +0 -1
  1175. package/dist/public/sdk/intentDigest-CB6zy3lN.js +0 -1
  1176. package/dist/public/sdk/jsxRuntime.module-CoHsKD_3.js +0 -1
  1177. package/dist/public/sdk/keyMaterialBrands-uVZHfAh3.js +0 -1
  1178. package/dist/public/sdk/localOnly-DBQRG6Qh.js +0 -1
  1179. package/dist/public/sdk/messages-Cv2j4SKI.js +0 -1
  1180. package/dist/public/sdk/mountExportPrivateKeySurface-G7Z_9JMQ.js +0 -1
  1181. package/dist/public/sdk/mountRecoveryCodeBackupSurface-BBCTaQsu.js +0 -2
  1182. package/dist/public/sdk/nearEd25519YaoMaterialActivation-DQIw8ho3.js +0 -1
  1183. package/dist/public/sdk/nearEd25519YaoSigningPreparation-Bp_CvWRz.js +0 -1
  1184. package/dist/public/sdk/nearRpcResults--cBcfmp4.js +0 -1
  1185. package/dist/public/sdk/nonceLaneKeys-BBYi4g51.js +0 -1
  1186. package/dist/public/sdk/normalization-BGPR6osg.js +0 -1
  1187. package/dist/public/sdk/operationFingerprint-5-wH2Ht8.js +0 -1
  1188. package/dist/public/sdk/operationFingerprint-DtQb0pdp.js +0 -1
  1189. package/dist/public/sdk/passkey-custody-LP4UTFbn.js +0 -1
  1190. package/dist/public/sdk/pendingWalletRecoveryCodeBackup-BNk4ebsY.js +0 -1
  1191. package/dist/public/sdk/prfCache-Mbo7_USg.js +0 -1
  1192. package/dist/public/sdk/promptText-s8TQ6ckX.js +0 -1
  1193. package/dist/public/sdk/recovery-entrypoint-DkT8sFO5.js +0 -1
  1194. package/dist/public/sdk/registration-Btozh7uh.js +0 -1
  1195. package/dist/public/sdk/registration-CSAG_h4Y.js +0 -1
  1196. package/dist/public/sdk/registrationAccounts-DIeEVy6W.js +0 -1
  1197. package/dist/public/sdk/registrationIds-BIel5S0i.js +0 -1
  1198. package/dist/public/sdk/registrationIntent-DV1GYZ3K.js +0 -1
  1199. package/dist/public/sdk/registrationPreparationPreload-vOCqNuG4.js +0 -1
  1200. package/dist/public/sdk/registrationSignerPlan-FzD3TwxB.js +0 -1
  1201. package/dist/public/sdk/relayerHttp-DaPeS929.js +0 -1
  1202. package/dist/public/sdk/routePlan-B_KJaPtm.js +0 -1
  1203. package/dist/public/sdk/router-Dd3fFHk3.js +0 -1
  1204. package/dist/public/sdk/routerAbNormalSigning-D_fHjq5l.js +0 -1
  1205. package/dist/public/sdk/runtime-auth-B2M91rSx.js +0 -1
  1206. package/dist/public/sdk/runtime-device-link-ojjPSRaG.js +0 -1
  1207. package/dist/public/sdk/runtime-ecdsa-tempo-CE4JLgmn.js +0 -1
  1208. package/dist/public/sdk/runtime-email-otp-DDwtKVAe.js +0 -1
  1209. package/dist/public/sdk/runtime-export-JXYk8sQ-.js +0 -1
  1210. package/dist/public/sdk/runtime-near-BB8AG6dV.js +0 -1
  1211. package/dist/public/sdk/runtime-preferences-DKFZYccW.js +0 -1
  1212. package/dist/public/sdk/runtime-recovery-C_XjsDBg.js +0 -1
  1213. package/dist/public/sdk/runtime-recovery-codes-CWp839mH.js +0 -1
  1214. package/dist/public/sdk/runtimeContext-BpObgzbj.js +0 -6
  1215. package/dist/public/sdk/runtimeLoader-DjgBf_yF.js +0 -1
  1216. package/dist/public/sdk/sdkSentEvents-_RGAEeld.js +0 -1
  1217. package/dist/public/sdk/secp256k1-B_6W9QDJ.js +0 -1
  1218. package/dist/public/sdk/secureRandomId-CTdlJ5Mx.js +0 -1
  1219. package/dist/public/sdk/sessionPolicy-CNVK7nJ6.js +0 -1
  1220. package/dist/public/sdk/shared-j_KsFbCT.js +0 -1
  1221. package/dist/public/sdk/signEvmFamily-CcLVBm0f.js +0 -1
  1222. package/dist/public/sdk/signEvmFamilyWithUiConfirmForTempo-DgTbh6jX.js +0 -1
  1223. package/dist/public/sdk/signEvmWithUiConfirm-ChreN7aZ.js +0 -1
  1224. package/dist/public/sdk/signNear-mWbTE2Dl.js +0 -1
  1225. package/dist/public/sdk/signatureUses-CQkkUcwT.js +0 -1
  1226. package/dist/public/sdk/signerDomain-BhUTzDmF.js +0 -1
  1227. package/dist/public/sdk/signerLoader-By0IY24G.js +0 -1
  1228. package/dist/public/sdk/signingFlow-LUWrZi2d.js +0 -2
  1229. package/dist/public/sdk/signingSessionSeal-Mr2Xp44o.js +0 -1
  1230. package/dist/public/sdk/trace-M34pNGuF.js +0 -1
  1231. package/dist/public/sdk/transaction-activity-BbDod7ji.js +0 -1
  1232. package/dist/public/sdk/transactionReview-CBE5oH4c.js +0 -1
  1233. package/dist/public/sdk/transactionReviewAdmission-0ZgWs6q3.js +0 -1
  1234. package/dist/public/sdk/transactionState-9d7f3xVj.js +0 -1
  1235. package/dist/public/sdk/types-M7vxrYtJ.js +0 -1
  1236. package/dist/public/sdk/validation-dC1-_uyG.js +0 -1
  1237. package/dist/public/sdk/wallet-recovery-CcDZ1hMH.js +0 -1
  1238. package/dist/public/sdk/walletAuthority-CoWSeqvQ.js +0 -1
  1239. package/dist/public/sdk/walletCustodyEcdsaContinuity-B7xi7nwh.js +0 -1
  1240. package/dist/public/sdk/walletIframeIdentity-C0b0XMQF.js +0 -1
  1241. package/dist/public/sdk/walletRecoveryCommit-ljxVeo-d.js +0 -1
  1242. package/dist/public/sdk/walletRecoveryRotate-HztDcDaY.js +0 -1
  1243. package/dist/public/sdk/warmSessionHydration-BPGM0YRU.js +0 -1
  1244. package/dist/public/sdk/webauthnP256-qu06GNFm.js +0 -1
  1245. package/dist/public/sdk/webauthnPromptCoordinator-DO-qfECu.js +0 -1
  1246. package/dist/public/sdk/workers/evm_crypto.wasm +0 -0
  1247. package/dist/public/sdk/workers/near_signer.wasm +0 -0
  1248. package/dist/public/sdk/workers/tempo_signer.wasm +0 -0
  1249. package/dist/types/wallet/src/SeamsWeb/assembly/browserWorkerWarmupPolicy.d.ts +0 -4
  1250. package/dist/types/wallet/src/SeamsWeb/assembly/configureBrowserIndexedDB.d.ts +0 -3
  1251. package/dist/types/wallet/src/SeamsWeb/operations/auth/walletAuth.d.ts +0 -56
  1252. package/dist/types/wallet/src/SeamsWeb/operations/evm/index.d.ts +0 -9
  1253. package/dist/types/wallet/src/SeamsWeb/operations/near/index.d.ts +0 -11
  1254. package/dist/types/wallet/src/SeamsWeb/operations/recovery/accountSync.d.ts +0 -19
  1255. package/dist/types/wallet/src/SeamsWeb/publicApi/awaitNearReady.d.ts +0 -27
  1256. package/dist/types/wallet/src/SeamsWeb/publicApi/devices.typecheck.d.ts +0 -2
  1257. package/dist/types/wallet/src/SeamsWeb/publicApi/preferences.d.ts +0 -8
  1258. package/dist/types/wallet/src/SeamsWeb/publicApi/recovery.d.ts +0 -14
  1259. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/config-guards.d.ts +0 -15
  1260. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/registrationPreparationPreload.d.ts +0 -2
  1261. package/dist/types/wallet/src/core/signingEngine/flows/registration/public.d.ts +0 -68
  1262. package/dist/types/wallet/src/react/context/useEagerPrewarm.d.ts +0 -3
  1263. package/dist/workers/evm_crypto.wasm +0 -0
  1264. package/dist/workers/near_signer.wasm +0 -0
  1265. package/dist/workers/tempo_signer.wasm +0 -0
  1266. /package/dist/esm/sdk/{accountIds-C3Ihsd2c.js → accountIds-BzZs7YoX.js} +0 -0
  1267. /package/dist/esm/sdk/{base64-ojm5DKcF.js → base64-CsEj-_bC.js} +0 -0
  1268. /package/dist/esm/sdk/{browser-CsOGMbMy.js → browser-D4wUl_77.js} +0 -0
  1269. /package/dist/esm/sdk/{errors-DfbnsXjO.js → errors-BZO3LF6G.js} +0 -0
  1270. /package/dist/esm/sdk/{events-BJyVcnsn.js → events-DsQJQ0Cl.js} +0 -0
  1271. /package/dist/esm/sdk/{executeWorkerOperation-CrFf3FkL.js → executeWorkerOperation-BInr8RYN.js} +0 -0
  1272. /package/dist/esm/sdk/{jsonRpc-C85RYR0A.js → jsonRpc-DrCYQIM9.js} +0 -0
  1273. /package/dist/esm/sdk/{keccak-zexutGfG.js → keccak-B02Fekdh.js} +0 -0
  1274. /package/dist/esm/sdk/{profileAccountProjection-DHCaMtOu.js → profileAccountProjection-DmmfMood.js} +0 -0
  1275. /package/dist/esm/sdk/{signerSlot-BQ1g5JNV.js → signerSlot-Dto7dObP.js} +0 -0
  1276. /package/dist/esm/sdk/{surface-measurement-reporter-OICExWKE.js → surface-measurement-reporter-IlPOI3QK.js} +0 -0
  1277. /package/dist/public/sdk/{accountIds-C3Ihsd2c.js → accountIds-BzZs7YoX.js} +0 -0
  1278. /package/dist/public/sdk/{base64-ojm5DKcF.js → base64-CsEj-_bC.js} +0 -0
  1279. /package/dist/public/sdk/{browser-CsOGMbMy.js → browser-D4wUl_77.js} +0 -0
  1280. /package/dist/public/sdk/{errors-DfbnsXjO.js → errors-BZO3LF6G.js} +0 -0
  1281. /package/dist/public/sdk/{events-BJyVcnsn.js → events-DsQJQ0Cl.js} +0 -0
  1282. /package/dist/public/sdk/{executeWorkerOperation-CrFf3FkL.js → executeWorkerOperation-BInr8RYN.js} +0 -0
  1283. /package/dist/public/sdk/{jsonRpc-C85RYR0A.js → jsonRpc-DrCYQIM9.js} +0 -0
  1284. /package/dist/public/sdk/{keccak-zexutGfG.js → keccak-B02Fekdh.js} +0 -0
  1285. /package/dist/public/sdk/{profileAccountProjection-DHCaMtOu.js → profileAccountProjection-DmmfMood.js} +0 -0
  1286. /package/dist/public/sdk/{signerSlot-BQ1g5JNV.js → signerSlot-Dto7dObP.js} +0 -0
  1287. /package/dist/public/sdk/{surface-measurement-reporter-OICExWKE.js → surface-measurement-reporter-IlPOI3QK.js} +0 -0
@@ -0,0 +1 @@
1
+ import{n as e}from"./chunk-dVx5-UGu.js";import{c as t,f as n,j as r,l as i}from"./normalize-kUDm5zfS.js";import{C as a,S as o,a as s,c,h as l,k as u,m as d,s as f,u as p,x as m}from"./chains-CiYQT1K4.js";import{i as h,n as g,r as _,t as v}from"./base64-CsEj-_bC.js";import{n as y,r as b}from"./secureRandomId-BIekT8bE.js";import{w as x}from"./primitives-CAcl7ON7.js";import{o as S}from"./sessionPolicy-J-RrlPZQ.js";import{o as ee}from"./signingSessionSeal-CDLUmAFY.js";import{r as te}from"./transactionReviewAdmission-C-a3ctCJ.js";import{i as C,t as ne}from"./activeWalletSession-DiZcKjB_.js";import{c as w,d as T,f as E,h as D,m as O,p as k,s as re}from"./capabilityKinds-CKQ4Uqnv.js";import{r as A}from"./canonicalPrimitives-CKPGgpxg.js";import{t as j}from"./errors-BZO3LF6G.js";import{d as M,p as ie}from"./digestEncoding-Dzc1rzWV.js";import{d as ae,i as N,t as P,u as F}from"./accountIds-BzZs7YoX.js";import{a as oe,c as I}from"./ecdsaChainTarget-C8ZtMZ8l.js";import{n as se,t as ce}from"./signerDomain-vQmlnsbF.js";import{d as le,f as ue,g as de,h as fe,l as pe,m as me,p as he,u as ge}from"./registrationIntent-DOkZcKSP.js";import{Nt as L,T as _e,i as ve,kt as R}from"./emailOtpEcdsaDerivationIdentity-B8HzTh4T.js";import{t as ye}from"./challengeDelivery-DxXAkOfS.js";import{a as be,m as xe,o as z}from"./sdkSentEvents-D3q1h-Uo.js";import{t as Se}from"./signerSlot-Dto7dObP.js";import{t as Ce}from"./jsonRpc-DrCYQIM9.js";import{a as we,c as B,i as V,n as Te,o as Ee,r as H,s as De,t as Oe}from"./types-D3GM-uHR.js";import{p as ke}from"./nonceLaneKeys-Fkvk2UPy.js";import{a as Ae,i as je,l as Me,u as Ne}from"./helpers-Ddy72ULN.js";import{i as Pe,n as Fe}from"./profileAccountProjection-DmmfMood.js";import{b as Ie,s as Le,t as Re}from"./nearEd25519YaoMaterialActivation-fWQI3rYj.js";import{D as ze,T as Be,j as Ve}from"./nearEd25519YaoSigningPreparation-B0d1AG3u.js";import{n as He}from"./lanes-DnBwWv4l.js";import{t as Ue}from"./walletSessionAuthorizationStatus-o1VgsLhA.js";import{n as We,r as Ge,t as Ke}from"./operationFingerprint-CTR9G1NT.js";import{a as U,c as qe,o as Je,s as Ye,t as Xe}from"./trace-BvbCxdXF.js";import{d as Ze,n as Qe,o as W,s as $e,u as et}from"./intentDigest-CE-tLw87.js";import{n as tt}from"./NonceCoordinator-CFFq8-Q9.js";import{t as nt}from"./executeWorkerOperation-BInr8RYN.js";import{a as rt,i as it,o as at,r as ot,t as st}from"./authorizationAdmission-Ckx6q6tp.js";import{i as ct}from"./walletSessionFailure-Bu4VPKTz.js";import{a as lt,d as ut,i as dt,l as ft,n as pt,p as mt,r as ht,s as gt,u as _t}from"./routerAbNormalSigning-BG75eyI2.js";import{i as vt,n as yt}from"./clientSessionPersistenceState-CImFWDj6.js";import{a as bt,i as xt,r as St,t as Ct}from"./types-BNUuaUtl.js";import{C as wt,b as Tt,c as Et,g as Dt,h as Ot,l as kt,n as At,o as jt,s as Mt,t as Nt,u as Pt,x as Ft}from"./requireStepUpAuth-DCVqmeee.js";import{a as It,c as Lt,i as Rt,n as zt,r as Bt,s as Vt,t as Ht}from"./transactionState-DVinJk4K.js";let Ut=function(e){return e[e.SignTransactionsWithActionsSuccess=0]=`SignTransactionsWithActionsSuccess`,e[e.SignNep413MessageSuccess=1]=`SignNep413MessageSuccess`,e[e.SignDelegateActionSuccess=2]=`SignDelegateActionSuccess`,e}({});const Wt={ThresholdEd25519ComputeNep413SigningDigest:`thresholdEd25519ComputeNep413SigningDigest`,ThresholdEd25519ComputeDelegateSigningDigest:`thresholdEd25519ComputeDelegateSigningDigest`,ThresholdEd25519BuildDelegateSigningPayload:`thresholdEd25519BuildDelegateSigningPayload`,ThresholdEd25519FinalizeDelegateFromSignature:`thresholdEd25519FinalizeDelegateFromSignature`,ThresholdEd25519FinalizeNearTxFromSignature:`thresholdEd25519FinalizeNearTxFromSignature`,ThresholdEd25519BuildNearTxUnsignedBorsh:`thresholdEd25519BuildNearTxUnsignedBorsh`,ThresholdEd25519DecodeSignedNearTxBorsh:`thresholdEd25519DecodeSignedNearTxBorsh`},Gt={uiMode:`modal`,behavior:`requireClick`,autoProceedDelay:0},Kt=Symbol(`ClientSecretSource`),qt=Symbol(`EmailOtpWorkerSessionHandle`);function G(e,t){let n=String(e||``).trim();if(!n)throw Error(`[platform] ${t} is required`);return n}function Jt(e,t){if(!e||typeof e!=`object`||Array.isArray(e))throw Error(`[platform] ${t} must be an object`);return e}function Yt(e){return Xt({prfFirstB64u:e.prf.prfFirstB64u,rpId:e.rpId,credentialIdB64u:e.credentialIdB64u})}function Xt(e){return{kind:`webauthn_prf_first`,prfFirstB64u:G(e.prfFirstB64u,`prfFirstB64u`),rpId:e.rpId,credentialIdB64u:G(e.credentialIdB64u,`credentialIdB64u`),[Kt]:`webauthn_prf_first`}}function Zt(e){let t=G(e.sessionId,`sessionId`);switch(e.action){case`threshold_ecdsa_bootstrap`:return{kind:`email_otp_worker_session_handle_v1`,sessionId:t,walletId:e.walletId,keyHandle:G(e.keyHandle,`keyHandle`),authSubjectId:e.authSubjectId,action:`threshold_ecdsa_bootstrap`,operation:e.operation,chainTarget:e.chainTarget,[qt]:`email_otp_worker_session_handle`};case`threshold_ed25519_session`:return{kind:`email_otp_worker_session_handle_v1`,sessionId:t,walletId:e.walletId,rpId:e.rpId,authSubjectId:e.authSubjectId,action:`threshold_ed25519_session`,operation:e.operation,[qt]:`email_otp_worker_session_handle`};default:{let t=e;throw Error(`[platform] unsupported email OTP worker-issued handle action: ${String(t)}`)}}}function Qt(e){let t=Jt(e,`email OTP worker-issued session handle`),n=G(String(t.kind||``),`email OTP worker-issued handle kind`);if(n!==`email_otp_worker_session_handle_v1`)throw Error(`[platform] unsupported email OTP worker-issued handle kind: ${n}`);let r=G(String(t.action||``),`email OTP worker-issued handle action`),i=G(String(t.operation||``),`email OTP worker-issued handle operation`);if(i!==`registration`&&i!==`wallet_unlock`&&i!==`sign`&&i!==`export`)throw Error(`[platform] unsupported email OTP worker-issued handle operation: ${i}`);let a=i,o={sessionId:G(String(t.sessionId||``),`email OTP worker-issued handle sessionId`),walletId:I(t.walletId),authSubjectId:ve(t.authSubjectId),operation:a};if(r===`threshold_ecdsa_bootstrap`){if(`rpId`in t)throw Error(`[platform] email OTP ECDSA worker-issued handles cannot include rpId`);if(a===`registration`)throw Error(`[platform] registration Email OTP ECDSA worker-issued handles are retired`);let e=oe(Jt(t.chainTarget,`email OTP worker-issued handle chainTarget`));if(`evmFamilySigningKeySlotId`in t)throw Error(`[platform] runtime Email OTP ECDSA handles cannot include evmFamilySigningKeySlotId`);return Zt({...o,action:r,operation:a,keyHandle:G(String(t.keyHandle||``),`email OTP worker-issued handle keyHandle`),chainTarget:e})}if(r===`threshold_ed25519_session`){if(`chainTarget`in t)throw Error(`[platform] email OTP Ed25519 worker-issued handles cannot include chainTarget`);if(`evmFamilySigningKeySlotId`in t||`keyHandle`in t)throw Error(`[platform] email OTP Ed25519 worker-issued handles cannot include ECDSA key identity`);return Zt({...o,action:r,rpId:_e(t.rpId)})}throw Error(`[platform] unsupported email OTP worker-issued handle action: ${r}`)}function $t(e){return e.action===`threshold_ecdsa_bootstrap`&&e.operation===`export`}function en(e){let t=Qt(e);if(!$t(t))throw Error(`[platform] Email OTP ECDSA export requires an export worker handle`);return t}const tn=15e3;function nn(e){e.abort(`timeout`)}function rn(e,t){let n=String(e??``).trim();if(!n)throw Error(`[threshold-ed25519] ${t} is required`);return n}function an(e){let t=rn(Me(e.credential),`prfFirstB64u`);return{ok:!0,operation:`get_passkey`,requirePrfFirst:!0,credential:e.credential,credentialIdB64u:rn(e.credential.rawId||e.credential.id,`credentialIdB64u`),rawIdB64u:String(e.credential.rawId||``).trim(),rpId:_e(e.rpId),prf:{kind:`required`,prfFirstB64u:t}}}function on(e){return{kind:`webauthn_prf_first_credential`,credential:e.credential,secretSource:Yt(an(e))}}function sn(e){return e.policySecretSource.secretSource.prfFirstB64u}function cn(e){if(typeof e!=`string`)return null;let t=Date.parse(e);return Number.isSafeInteger(t)&&t>Date.now()?t:null}function ln(e){return typeof e==`number`&&Number.isSafeInteger(e)&&e>0?e:null}async function un(e){let n=i(t(e.relayerUrl));if(!n)return{ok:!1,code:`invalid_args`,message:`Missing relayerUrl for Wallet Session mint`};if(typeof fetch!=`function`)return{ok:!1,code:`unsupported`,message:`fetch is not available for Wallet Session mint`};let o=Ne(e.auth.policySecretSource.credential),s=new AbortController,c=null;try{let t=`${n}${ee}`,i=e.existingOperationCredential,l=String(e.publishableKey||``).trim()||void 0,u=i?.token||l,d=!i&&l&&String(e.projectEnvironmentId||``).trim()||void 0;c=setTimeout(nn,tn,s);let f=await fetch(t,{method:`POST`,headers:{"Content-Type":`application/json`,...u?{Authorization:`Bearer ${u}`}:{}},credentials:`omit`,signal:s.signal,body:JSON.stringify({sessionKind:e.sessionKind,relayerKeyId:e.relayerKeyId,sessionPolicy:e.sessionPolicy,...d?{projectEnvironmentId:d}:{},walletSessionTarget:{kind:`new_wallet_session`},...o?{webauthn_authentication:o}:{}})}),p;try{let e=await f.json();p=a(e)?e:{}}catch(e){if(s.signal.aborted)throw e;p={}}if(!f.ok)return Le(p)||{ok:!1,code:typeof p.code==`string`?p.code:`http_error`,message:typeof p.message==`string`?p.message:`HTTP ${f.status}`};let m=Le(p);if(m)return m;if(p.ok!==!0)return{ok:!1,code:typeof p.code==`string`?p.code:`invalid_response`,message:typeof p.message==`string`?p.message:`Wallet Session mint returned an unsuccessful response`};let h=r(p.thresholdSessionId);if(!h.ok)return{ok:!1,code:`invalid_response`,message:`Wallet Session mint returned an invalid thresholdSessionId`};let g=D(p.walletSessionId),_=O(p.authorizationId),v=T(p.quotaId);if(!g.ok||!_.ok||!v.ok)return{ok:!1,code:`invalid_response`,message:`Wallet Session mint returned invalid authorization identity`};let y=cn(p.expiresAt),b=ln(p.remainingUses),x=S(p.runtimePolicyScope);if(!y||!b||!x)return{ok:!1,code:`invalid_response`,message:`Wallet Session mint returned invalid lifecycle or policy data`};let te={ok:!0,thresholdSessionId:h.value,walletSessionId:g.value,authorizationId:_.value,quotaId:v.value,expiresAtMs:y,remainingUses:b,runtimePolicyScope:x};if(p.sessionKind===`issued_exact_wallet_session`){let e;try{e=C(p.operationCredential)}catch(e){return{ok:!1,code:`invalid_response`,message:j(e)||`Wallet Session mint returned an invalid operation credential`}}return e.walletSessionId===g.value?{...te,sessionKind:p.sessionKind,operationCredential:e}:{ok:!1,code:`invalid_response`,message:`Wallet Session mint credential does not identify its session`}}return p.sessionKind!==`already_committed_exact_wallet_session`||p.operationCredential!==void 0?{ok:!1,code:`invalid_response`,message:`Wallet Session mint returned an invalid session branch`}:i?i.walletSessionId===g.value?{...te,sessionKind:p.sessionKind}:{ok:!1,code:`invalid_response`,message:`Reused Wallet Session mint returned another lifecycle identity`}:{ok:!1,code:`invalid_response`,message:`Reused Wallet Session mint requires the credential the caller already holds`}}catch(e){let t=j(e)||`Failed to mint threshold session`,n=s.signal.aborted;return{ok:!1,code:n?`timeout`:`network_error`,message:n?`Wallet Session mint timed out after ${tn}ms`:t}}finally{c!==null&&clearTimeout(c)}}function dn(e){switch(e.kind){case`passkey`:return{kind:`passkey`,authority:e.authority,webauthn_authentication:Ne(e.credential)};case`email_otp`:return{kind:`email_otp`,authority_ref:e.authorityRef,provider_subject_id:rn(e.providerSubjectId,`providerSubjectId`),challenge_id:rn(e.challengeId,`challengeId`),otp_code:rn(e.otpCode,`otpCode`)};default:throw Error(`[threshold-ed25519] unsupported operation step-up proof`)}}function fn(e,t){if(!e||typeof e!=`object`||Array.isArray(e))throw Error(`[threshold-ed25519] ${t} must be an object`);return e}function pn(e,t,n){let r=Object.keys(e).sort(),i=[...t].sort();if(r.length!==i.length)throw Error(`[threshold-ed25519] ${n} contains unexpected fields`);for(let e=0;e<r.length;e+=1)if(r[e]!==i[e])throw Error(`[threshold-ed25519] ${n} contains unexpected fields`)}function mn(e,t){if(typeof e!=`string`||e.length===0||e.trim()!==e)throw Error(`[threshold-ed25519] ${t} must be a non-empty normalized string`);return e}function hn(e){switch(e.proof.kind){case`passkey`:if(e.materialRecovery.kind!==`not_requested`)throw Error(`[threshold-ed25519] passkey operation step-up cannot request material recovery`);return{kind:`not_requested`};case`email_otp`:switch(e.materialRecovery.kind){case`not_requested`:return{kind:`not_requested`};case`email_otp_factor_release_v1`:return{kind:`email_otp_factor_release_v1`,workerEphemeralPublicKey65B64u:mn(e.materialRecovery.workerEphemeralPublicKey65B64u,`workerEphemeralPublicKey65B64u`)};default:throw e.materialRecovery,Error(`[threshold-ed25519] unsupported material recovery request`)}default:throw e.proof,Error(`[threshold-ed25519] unsupported operation step-up proof`)}}function gn(e){let t=fn(e.value,`operation step-up material recovery`);switch(t.kind){case`not_requested`:if(pn(t,[`kind`],`operation step-up material recovery`),e.requested.kind!==`not_requested`)throw Error(`[threshold-ed25519] operation step-up material recovery response does not match the request`);return{kind:`not_requested`};case`email_otp_factor_release_v1`:if(pn(t,[`kind`,`challengeId`,`enrollmentId`,`enrollmentSealKeyVersion`,`serverEphemeralPublicKey65B64u`,`nonce12B64u`,`ciphertextB64u`],`operation step-up material recovery`),e.requested.kind!==`email_otp_factor_release_v1`)throw Error(`[threshold-ed25519] operation step-up material recovery response does not match the request`);return{kind:`email_otp_factor_release_v1`,challengeId:mn(t.challengeId,`materialRecovery.challengeId`),enrollmentId:mn(t.enrollmentId,`materialRecovery.enrollmentId`),enrollmentSealKeyVersion:mn(t.enrollmentSealKeyVersion,`materialRecovery.enrollmentSealKeyVersion`),serverEphemeralPublicKey65B64u:mn(t.serverEphemeralPublicKey65B64u,`materialRecovery.serverEphemeralPublicKey65B64u`),nonce12B64u:mn(t.nonce12B64u,`materialRecovery.nonce12B64u`),ciphertextB64u:mn(t.ciphertextB64u,`materialRecovery.ciphertextB64u`)};default:throw Error(`[threshold-ed25519] operation step-up material recovery kind is invalid`)}}function _n(e){let t=fn(e.body,`operation step-up response`);if(pn(t,[`ok`,`kind`,`authorization`,`expiresAtMs`,`materialRecovery`],`operation step-up response`),t.ok!==!0||t.kind!==`verified_step_up`)throw Error(`[threshold-ed25519] operation step-up response kind is invalid`);let n=fn(t.authorization,`operation step-up authorization`);if(pn(n,[`kind`,`evidence_set_digest`],`operation step-up authorization`),n.kind!==`operation_step_up`)throw Error(`[threshold-ed25519] operation step-up authorization marker is invalid`);let r=mn(n.evidence_set_digest,`operation step-up authorization.evidence_set_digest`);if(A(r),typeof t.expiresAtMs!=`number`||!Number.isSafeInteger(t.expiresAtMs)||t.expiresAtMs<=Date.now())throw Error(`[threshold-ed25519] operation step-up expiry is invalid`);return{kind:`verified_step_up`,authorization:{kind:`operation_step_up`,evidence_set_digest:r},expiresAtMs:t.expiresAtMs,materialRecovery:gn({value:t.materialRecovery,requested:e.requestedMaterialRecovery})}}async function vn(e){let n=i(t(e.relayerUrl));if(!n)throw Error(`[threshold-ed25519] operation step-up relayerUrl is required`);let r=hn(e),a=e.credential.kind===`wallet_session_opaque`?{token:e.credential.walletSessionToken,home:e.credential.home}:null,o=M({...a?{headers:ie(a)}:{},body:{kind:`router_ab_ed25519_yao_operation_step_up_grant_v1`,normalSigningRequest:e.normalSigningRequest,displayDigest:e.displayDigest,proof:dn(e.proof),materialRecovery:r.kind===`email_otp_factor_release_v1`?{kind:r.kind,worker_ephemeral_public_key_65_b64u:r.workerEphemeralPublicKey65B64u}:r}}),s=await fetch(`${n}${ee}`,{...o}),c=await s.json().catch(()=>({}));if(!s.ok){let e=c&&typeof c==`object`&&!Array.isArray(c)?c:{};throw Error(`[threshold-ed25519] operation step-up failed: ${String(e.message||`HTTP ${s.status}`)}`)}return _n({body:c,requestedMaterialRecovery:r})}function yn(e){let t=e.lane,r=e.readiness;if(t.curve!==r.curve)throw Error(`[SigningSession] planner lane and readiness curves do not match`);if(t.curve===`ecdsa`&&r.curve===`ecdsa`){let e=t.authorization,i=r.authorization,a=e.session,o=i.session;if(!n(t.materialActivation,r.materialActivation)||e.selectedAuthority.authorityId!==i.selectedAuthority.authorityId||e.selectedAuthMethod.kind!==i.selectedAuthMethod.kind||e.selectedAuthMethod.walletAuthMethodId!==i.selectedAuthMethod.walletAuthMethodId||a.walletId!==o.walletId||a.authorityId!==o.authorityId||a.authMethodId!==o.authMethodId||a.authorizationId!==o.authorizationId||a.quotaId!==o.quotaId||a.authorityDigestB64u!==o.authorityDigestB64u||a.authorityRevocationEpoch!==o.authorityRevocationEpoch||e.operationCredential.walletSessionId!==i.operationCredential.walletSessionId||e.operationCredential.token!==i.operationCredential.token)throw Error(`[SigningSession] planner ECDSA readiness authority does not match its lane`)}let i=xn(e);if(i)return{kind:V.NotReady,lane:t,reason:i};let a=e.forceFreshAuth||e.sensitiveOperationPolicy===`require_fresh_same_method`||t.retention===`single_use`;if(r.status===`ready`&&!a){if(t.curve===`ed25519`&&r.curve===`ed25519`)return{kind:V.WarmSession,lane:t,keyRef:{kind:Oe.Cached,curve:`ed25519`,thresholdSessionId:r.thresholdSessionId}};if(t.curve!==`ecdsa`||r.curve!==`ecdsa`)throw Error(`[SigningSession] planner lane and readiness curves do not match`);return{kind:V.WarmSession,lane:t,keyRef:{kind:Oe.Cached,curve:`ecdsa`,materialActivation:r.materialActivation,authorization:r.authorization}}}if(r.status===`auth_unavailable`||r.status===`status_unavailable`||r.status===`status_unknown`)return{kind:V.NotReady,lane:t,reason:r.status};if(B(t.auth)===`email_otp`)return{kind:V.EmailOtpReauth,lane:t,challenge:{chainFamily:t.chainFamily,lane:t}};if(t.curve===`ed25519`&&r.curve===`ed25519`)return{kind:V.PasskeyReauth,lane:t,reconnect:{lane:t,curve:`ed25519`,thresholdSessionId:r.thresholdSessionId}};if(t.curve!==`ecdsa`||r.curve!==`ecdsa`)throw Error(`[SigningSession] planner lane and readiness curves do not match`);return{kind:V.PasskeyReauth,lane:t,reconnect:{lane:t,curve:`ecdsa`,materialActivation:r.materialActivation,authorization:r.authorization}}}function bn(e,t){return{event:`signing_planner_decision`,readinessStatus:e.readiness.status,forceFreshAuth:!!e.forceFreshAuth,...e.sensitiveOperationPolicy?{sensitiveOperationPolicy:e.sensitiveOperationPolicy}:{},plan:Ee(t),lane:we(e.lane),...t.kind===V.NotReady?{reason:t.reason}:{}}}function xn(e){return B(e.lane.auth)===`email_otp`&&(e.sensitiveOperationPolicy===`deny_email_otp`||e.sensitiveOperationPolicy===`require_passkey`)?`policy_blocked`:null}async function Sn(e,t){let n=P(e),r=await Fe(t,Pe(n)).catch(()=>null);if(!r?.profileId)throw Error(`No profile/account mapping for account ${n}`);let i=await t.getLastProfileState().catch(()=>null);if(!i?.profileId||i.profileId!==r.profileId)throw Error(`No last user session for account ${n}`);let a=Se(i.activeSignerSlot,{min:1});if(a===null)throw Error(`Invalid last-user signerSlot for account ${n}`);return a}var K=function(e){return e.Query=`query`,e.Send=`send_tx`,e.Block=`block`,e}(K||{}),Cn=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 g(this.encode())}};function wn(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 Tn(e){let t=e?.signedTransaction,n=t&&typeof t==`object`?t:e,r=n.base64Encode;if(m(r))return r.call(n);let i=n.encode;if(m(i))return g(i.call(n));let a=wn(n.borsh_bytes);if(a)return g(a);let o=wn(n.borshBytes);if(o)return g(o);throw Error(`Invalid signed transaction payload: cannot serialize to base64`)}var En=class e{constructor(t){this.rpcUrls=e.normalizeRpcUrls(t)}static normalizeRpcUrls(e){let t=(Array.isArray(e)?e:e.split(/[\s,]+/).map(e=>e.trim()).filter(Boolean)).map(e=>{try{return new URL(e).toString()}catch(t){let n=j(t)||`Invalid NEAR RPC URL: ${e}`;throw Error(n)}});if(!t.length)throw Error(`NEAR RPC URL cannot be empty`);return Array.from(new Set(t))}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:b(`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=Ce(JSON.parse(r));if(!i.ok)throw Error(`Invalid NEAR JSON-RPC response: ${i.error}`);return i.value}async requestWithFallback(e){let t;for(let[n,r]of this.rpcUrls.entries())try{let t=await this.postOnce(r,e);return n>0&&console.warn(`[NearClient] RPC succeeded via fallback: ${r}`),t}catch(e){t=e;let i=n<this.rpcUrls.length-1;if(console.warn(`[NearClient] RPC call to ${r} failed${i?`, trying next`:``}: ${j(e)||`RPC request failed`}`),!i)throw e instanceof Error?e:Error(String(e))}throw Error(j(t)||`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(K.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(K.Query,r,`View Access Key`,ge)}async viewAccessKeyList(e,t){let n={request_type:`view_access_key_list`,finality:t?.finality||`final`,account_id:e};return this.makeRpcCall(K.Query,n,`View Access Key List`,pe)}async viewAccount(e){let t={request_type:`view_account`,finality:`final`,account_id:e};return this.makeRpcCall(K.Query,t,`View Account`,le)}async viewCode(e,t){let n={request_type:`view_code`,finality:t?.finality||`final`,account_id:e};return v(await this.makeRpcCall(K.Query,n,`View Code`,he))}async viewBlock(e){return this.makeRpcCall(K.Block,e,`View Block`,ue)}async sendTransaction(e,t=`EXECUTED_OPTIMISTIC`){let n={signed_tx_base64:Tn(e),wait_until:t};return this.sendWithRetry(async()=>{let e=await this.makeRpcCall(K.Send,n,`Send Transaction`,fe),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`,fe)}async callFunction(e,t,n,r,i){let a={request_type:`call_function`,...i??{finality:`final`},account_id:e,method_name:t,args_base64:g(new TextEncoder().encode(JSON.stringify(n)).buffer)};return r(de((await this.makeRpcCall(K.Query,a,`View Function`,me)).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(K.Query,n,`View Access Key List`,pe),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 Dn(e){return!!e&&typeof e==`object`&&!Array.isArray(e)}function On(e){if(!e)return;let t=Object.keys(e);return t.length?t[0]:void 0}var kn=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}=jn(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}=An(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 An(e,t,n=``){let r=Dn(t)?t:void 0,i=Dn(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 Mn(e,i)}function jn(e,t){let n=Dn(t)?t:void 0;return n?Mn(e,n):{message:`${e} failed (Unknown Failure)`}}function Mn(e,t){if(Dn(t.InvalidTxError)){let n=t.InvalidTxError,r=On(n)||`InvalidTxError`;Dn(n.ActionsValidation)&&(r=`ActionsValidation.${On(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(Dn(t.ActionError)){let n=t.ActionError,r=typeof n.index==`number`?n.index:void 0,i=On(Dn(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 Nn=class e extends Cn{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`)}},Pn=class extends En{errorFromRpc(e,t){return kn.fromRpcError(e,t)}errorFromWrappedResult(e){return new kn({message:e,short:`RpcError`,type:`RpcError`})}errorFromOutcome(e,t,n){return kn.fromOutcome(e,t,n)}errorFromHttpStatus(e){return e.status===429?Error(`RPC throttled; retry shortly`):super.errorFromHttpStatus(e)}async sendWithRetry(e){let t=null;for(let n=1;n<=5;n++)try{return await e()}catch(e){t=e;let r=j(e);if(!/server error|internal|temporar|timeout|throttl|too many requests|429|unavailable|bad gateway|gateway timeout/i.test(r||``)||n===5)throw e;let i=200*2**(n-1),a=Math.floor(Math.random()*150);await new Promise(e=>setTimeout(e,i+a))}throw t instanceof Error?t:Error(String(t))}};function Fn(e){try{return JSON.stringify(e,(e,t)=>typeof t==`bigint`?t.toString():t,2)}catch{return String(e)}}function q(e,t,n){let r=String(t??``).trim();if(r)return{label:e,value:r,...typeof n==`string`&&n.trim()?{copyValue:n}:{}}}function In(e){switch(e.action_type){case W.Transfer:case W.FunctionCall:return BigInt(e.deposit||`0`);case W.Stake:return BigInt(e.stake||`0`);default:return BigInt(0)}}function Ln(e){try{let t=JSON.parse(e)?.permission;if(t===`FullAccess`)return`FullAccess`;if(t&&typeof t==`object`){if(`FullAccess`in t)return`FullAccess`;if(`FunctionCall`in t)return`FunctionCall`}}catch{return`Unknown`}return`Unknown`}function Rn(e){let{action:t,txIndex:n,actionIndex:r,receiverId:i}=e,a=`near.tx.${n}.action.${r}`;switch(t.action_type){case W.CreateAccount:return{id:a,kind:`near.action`,actionType:`createAccount`,label:`Action ${r+1}: CreateAccount`,fields:[q(`Receiver`,i)].filter(Boolean)};case W.Transfer:return{id:a,kind:`near.action`,actionType:`transfer`,label:`Action ${r+1}: Transfer`,fields:[q(`Receiver`,i),q(`Amount (yoctoNEAR)`,t.deposit)].filter(Boolean)};case W.FunctionCall:{let e=String(t.args||``),n=e?[{id:`${a}.args`,kind:`raw.fallback`,label:`Function Arguments`,raw:e}]:[];return{id:a,kind:`near.action`,actionType:`functionCall`,label:`Action ${r+1}: FunctionCall`,fields:[q(`Receiver`,i),q(`Method`,t.method_name),q(`Gas`,t.gas),q(`Deposit (yoctoNEAR)`,t.deposit)].filter(Boolean),...n.length?{children:n}:{}}}case W.Stake:return{id:a,kind:`near.action`,actionType:`stake`,label:`Action ${r+1}: Stake`,fields:[q(`Receiver`,i),q(`Stake (yoctoNEAR)`,t.stake),q(`Validator Key`,t.public_key,t.public_key)].filter(Boolean)};case W.AddKey:return{id:a,kind:`near.action`,actionType:`addKey`,label:`Action ${r+1}: AddKey`,fields:[q(`Receiver`,i),q(`Public Key`,t.public_key,t.public_key),q(`Permission`,Ln(t.access_key))].filter(Boolean)};case W.DeleteKey:return{id:a,kind:`near.action`,actionType:`deleteKey`,label:`Action ${r+1}: DeleteKey`,fields:[q(`Receiver`,i),q(`Public Key`,t.public_key,t.public_key)].filter(Boolean)};case W.DeployContract:return{id:a,kind:`near.action`,actionType:`deployContract`,label:`Action ${r+1}: DeployContract`,fields:[q(`Receiver`,i),q(`Code Bytes`,String(t.code?.length??0))].filter(Boolean)};case W.DeployGlobalContract:return{id:a,kind:`near.action`,actionType:`deployGlobalContract`,label:`Action ${r+1}: DeployGlobalContract`,fields:[q(`Receiver`,i),q(`Deploy Mode`,t.deploy_mode),q(`Code Bytes`,String(t.code?.length??0))].filter(Boolean)};case W.UseGlobalContract:return{id:a,kind:`near.action`,actionType:`useGlobalContract`,label:`Action ${r+1}: UseGlobalContract`,fields:[q(`Receiver`,i),q(`By Account`,t.account_id),q(`By Code Hash`,t.code_hash,t.code_hash)].filter(Boolean)};case W.DeleteAccount:return{id:a,kind:`near.action`,actionType:`deleteAccount`,label:`Action ${r+1}: DeleteAccount`,fields:[q(`Receiver`,i),q(`Beneficiary`,t.beneficiary_id)].filter(Boolean)};case W.SignedDelegate:return{id:a,kind:`near.action`,actionType:`signedDelegate`,label:`Action ${r+1}: SignedDelegate`,children:[{id:`${a}.delegate`,kind:`raw.fallback`,label:`Signed Delegate Payload`,raw:Fn(t)}]};default:return{id:a,kind:`raw.fallback`,label:`Action ${r+1}: Unsupported`,raw:Fn(t)}}}function zn(e,t,n){let r=String(e.receiverId||``).trim()||`(unknown receiver)`,i=Array.isArray(e.actions)?e.actions:[],a=i.reduce((e,t)=>e+In(t),BigInt(0)),o=[q(`Receiver`,r),q(`Action Count`,String(i.length)),q(`Attached Value (yoctoNEAR)`,a>0?a.toString():void 0)].filter(Boolean);return{id:`near.tx.${t}`,kind:`generic.contractCall`,label:n>1?`Transaction ${t+1}`:`Transaction`,to:r,value:a>0?a.toString():void 0,fields:o,children:i.map((e,n)=>Rn({action:e,txIndex:t,actionIndex:n,receiverId:r}))}}function Bn(e){let t=Array.isArray(e.txSigningRequests)?e.txSigningRequests:[],n=t.map((e,n)=>zn(e,n,t.length)),r=t.reduce((e,t)=>e+(Array.isArray(t.actions)?t.actions.reduce((e,t)=>e+In(t),BigInt(0)):BigInt(0)),BigInt(0));return{chain:`near`,intentDigest:e.intentDigest,signerAccount:e.signerAccount,title:e.title||`NEAR Transaction`,subtitle:e.subtitle,operations:n,...r>0?{totals:{nativeValue:r.toString(),nativeSymbol:`yoctoNEAR`}}:{}}}function Vn(e){let t={id:`near.message`,kind:`near.message`,label:`Message signature`,fields:[q(`Signer`,e.signerAccount,e.signerAccount),q(`Recipient`,e.recipient,e.recipient),{label:`Message`,value:e.message,copyValue:e.message,renderAs:`file-content`,hideChevron:!0}].filter(Boolean)};return{chain:`near`,intentDigest:e.intentDigest,signerAccount:e.signerAccount,title:e.title||`NEP-413 message`,subtitle:e.subtitle,operations:[t]}}function Hn(e){try{return Bn(e)}catch{return{chain:`near`,signerAccount:e.signerAccount,...e.title?{title:e.title}:{},...e.subtitle?{subtitle:e.subtitle}:{},operations:[]}}}async function Un(e){let t=P(e.nearAccount.accountId),n=Se(e.signerSlot,{min:1});if(n===null)throw Error(`Invalid signerSlot for ${e.operationLabel}: ${e.signerSlot}`);if(e.requestedSignerSlot!==void 0){let t=Se(e.requestedSignerSlot,{min:1});if(t===null||t!==n)throw Error(`Requested signerSlot does not match the selected signing lane for ${e.operationLabel}`)}let r=await e.materialExecutor.resolveSigningKeyMaterial();if(r.nearAccountId!==t||r.signerSlot!==n)throw Error(`[SigningEngine] threshold key material does not match the selected lane`);return{thresholdKeyMaterial:r}}function Wn(e){let t=Kn({nearAccountId:e.nearAccountId,tx:e.transaction,txIndex:0});return{txSigningRequest:t,confirmationTransaction:{receiverId:t.receiverId,actions:t.actions}}}function Gn(e){let t=e.delegate.actions.map(et);t.forEach((e,t)=>{try{Ze(e)}catch(e){throw Error(`Delegate action ${t} validation failed: ${e instanceof Error?e.message:String(e)}`)}});let n={senderId:e.delegate.senderId||e.nearAccountId,receiverId:e.delegate.receiverId,actions:t,nonce:e.delegate.nonce,maxBlockHeight:e.delegate.maxBlockHeight};return{confirmationDelegate:n,workerDelegate:{...n,nonce:e.delegate.nonce.toString(),maxBlockHeight:e.delegate.maxBlockHeight.toString(),publicKey:e.signingPublicKey}}}function Kn(e){let t=String(e.tx?.receiverId||``).trim();if(!t)throw Error(`[SigningEngine] transactions[${e.txIndex}].receiverId is required`);let n=Array.isArray(e.tx?.actions)?e.tx.actions:[];if(n.length===0)throw Error(`[SigningEngine] transactions[${e.txIndex}].actions must be non-empty`);for(let e=0;e<n.length;e++)Ze(n[e]);return{nearAccountId:e.nearAccountId,receiverId:t,actions:n}}async function qn(e){return Zn({kind:`near:transactions_with_actions:planning`,payload:{purpose:`near_transaction`,...Qn(e),transactions:$n(e.transactions)}})}async function Jn(e){return Zn({kind:`near:transactions_with_actions`,payload:{purpose:`near_transaction`,...Qn(e),transactions:$n(e.transactions),unsignedTransactionBorshB64u:l(e.unsignedTransactionBorshB64u,`unsignedTransactionBorshB64u`),signingDigestB64u:l(e.signingDigestB64u,`signingDigestB64u`)}})}async function Yn(e){return Zn({kind:`near:nep413`,payload:{purpose:`nep413_message`,...Qn(e),message:l(e.message,`message`),recipient:l(e.recipient,`recipient`),nonce:l(e.nonce,`nonce`),callbackUrl:e.callbackUrl}})}async function Xn(e){return Zn({kind:`near:delegate_action`,payload:{purpose:`delegate_action`,...Qn(e),delegate:er(e.delegate)}})}async function Zn(e){return`sha256:${h(await p(c({kind:l(e.kind,`kind`),payload:pr(e.payload)})))}`}function Qn(e){return{nearAccountId:l(e.nearAccountId,`nearAccountId`),nearNetworkId:l(e.nearNetworkId,`nearNetworkId`),relayerKeyId:l(e.relayerKeyId,`relayerKeyId`),signerPublicKey:l(e.signerPublicKey,`signerPublicKey`)}}function $n(e){if(!Array.isArray(e)||e.length<1)throw Error(`transactions must be a non-empty array`);return e.map((e,t)=>tr(e,`transactions[${t}]`))}function er(e){return{senderId:l(e.senderId,`delegate.senderId`),receiverId:l(e.receiverId,`delegate.receiverId`),actions:nr(e.actions,`delegate.actions`),nonce:l(e.nonce,`delegate.nonce`),maxBlockHeight:l(e.maxBlockHeight,`delegate.maxBlockHeight`),publicKey:l(e.publicKey,`delegate.publicKey`)}}function tr(e,t){let n=u(e,t);return{nearAccountId:l(n.nearAccountId,`${t}.nearAccountId`),receiverId:l(n.receiverId,`${t}.receiverId`),actions:nr(n.actions,`${t}.actions`)}}function nr(e,t){if(!Array.isArray(e))throw Error(`${t} must be an array`);return e.map((e,n)=>rr(e,`${t}[${n}]`))}function rr(e,t){let n=u(e,t),r=l(n.action_type,`${t}.action_type`);switch(r){case`CreateAccount`:return{action_type:r};case`DeployContract`:return{action_type:r,code:cr(n.code,`${t}.code`)};case`FunctionCall`:return{action_type:r,method_name:l(n.method_name,`${t}.method_name`),args:l(n.args,`${t}.args`),gas:l(n.gas,`${t}.gas`),deposit:l(n.deposit,`${t}.deposit`)};case`Transfer`:return{action_type:r,deposit:l(n.deposit,`${t}.deposit`)};case`Stake`:return{action_type:r,stake:l(n.stake,`${t}.stake`),public_key:l(n.public_key,`${t}.public_key`)};case`AddKey`:return{action_type:r,public_key:l(n.public_key,`${t}.public_key`),access_key:l(n.access_key,`${t}.access_key`)};case`DeleteKey`:return{action_type:r,public_key:l(n.public_key,`${t}.public_key`)};case`DeleteAccount`:return{action_type:r,beneficiary_id:l(n.beneficiary_id,`${t}.beneficiary_id`)};case`SignedDelegate`:return{action_type:r,delegate_action:ir(n.delegate_action,`${t}.delegate_action`),signature:or(n.signature,`${t}.signature`)};case`DeployGlobalContract`:return{action_type:r,code:cr(n.code,`${t}.code`),deploy_mode:dr(n.deploy_mode,`${t}.deploy_mode`)};case`UseGlobalContract`:return sr(n,t)}throw Error(`${t}.action_type is unsupported`)}function ir(e,t){let n=u(e,t);return{senderId:l(n.senderId,`${t}.senderId`),receiverId:l(n.receiverId,`${t}.receiverId`),actions:nr(n.actions,`${t}.actions`),nonce:ur(n.nonce,`${t}.nonce`),maxBlockHeight:ur(n.maxBlockHeight,`${t}.maxBlockHeight`),publicKey:ar(n.publicKey,`${t}.publicKey`)}}function ar(e,t){let n=u(e,t);return{keyType:lr(n.keyType,`${t}.keyType`),keyData:cr(n.keyData,`${t}.keyData`)}}function or(e,t){let n=u(e,t);return{keyType:lr(n.keyType,`${t}.keyType`),signatureData:cr(n.signatureData,`${t}.signatureData`)}}function sr(e,t){let n=fr(e.account_id),r=fr(e.code_hash);if(n&&r)throw Error(`${t} requires exactly one of account_id or code_hash`);if(n)return{action_type:`UseGlobalContract`,account_id:n};if(r)return{action_type:`UseGlobalContract`,code_hash:r};throw Error(`${t} requires exactly one of account_id or code_hash`)}function cr(e,t){if(!Array.isArray(e))throw Error(`${t} must be an array`);return e.map((e,n)=>{if(typeof e!=`number`||!Number.isInteger(e)||e<0||e>255)throw Error(`${t}[${n}] must be a byte`);return e})}function lr(e,t){if(typeof e!=`number`||!Number.isSafeInteger(e))throw Error(`${t} must be a safe integer`);return e}function ur(e,t){return typeof e==`bigint`||typeof e==`number`&&Number.isSafeInteger(e)?e:l(e,t)}function dr(e,t){let n=l(e,t);if(n===`CodeHash`||n===`AccountId`)return n;throw Error(`${t} is invalid`)}function fr(e){return String(e||``).trim()||null}function pr(e){if(typeof e==`bigint`)return e.toString(10);if(e instanceof Uint8Array)return{__bytesB64u:h(e)};if(ArrayBuffer.isView(e))return{__bytesB64u:h(new Uint8Array(e.buffer,e.byteOffset,e.byteLength))};if(e instanceof ArrayBuffer)return{__bytesB64u:h(new Uint8Array(e))};if(Array.isArray(e))return e.map(pr);if(!e||typeof e!=`object`)return e;let t={};for(let n of Object.keys(e).sort()){let r=pr(e[n]);r!==void 0&&(t[n]=r)}return t}async function mr(e){if(St(e.signingAuthPlan)&&!e.emailOtpEd25519StepUp)throw Error(`[SigningEngine][near] Email OTP step-up runner is unavailable`);if(xt(e.signingAuthPlan)&&!e.passkeyEd25519OperationStepUp)throw Error(`[SigningEngine][near] Passkey operation step-up runner is unavailable`);let t=null,n=await Nt({operation:{kind:`near_ed25519_step_up`,requiredSignatureUses:e.requiredSignatureUses},selectedLane:{authMethod:B(e.signingLaneAuth)},policy:yr(e.signingAuthPlan),methods:{...e.emailOtpEd25519StepUp?{emailOtp:{method:`email_otp`,prepareChallenge:async()=>await e.emailOtpEd25519StepUp.prepare({operationFingerprintDigest:e.operationFingerprintDigest}),...e.emailOtpEd25519StepUp.resend?{resendChallenge:async()=>await e.emailOtpEd25519StepUp.resend({operationFingerprintDigest:e.operationFingerprintDigest})}:{},complete:gr}}:{},passkey:{method:`passkey`,prepare:async()=>{if(!e.passkeyEd25519OperationStepUp)throw Error(`[SigningEngine][near] Passkey operation step-up runner is unavailable`);return t=await e.passkeyEd25519OperationStepUp.prepare(),{}},complete:_r}}}),r=e.signingAuthPlan;if(n.method===`warm_session`){if(!br(r))throw Error(`[SigningEngine][near] warm-session step-up requires a warm-session plan`);return{kind:`warm_session`,confirmationAuthPayload:{signingAuthPlan:r}}}if(n.method===`email_otp`){if(!St(r))throw Error(`[SigningEngine][near] Email OTP step-up requires an Email OTP plan`);return{kind:`email_otp`,confirmationAuthPayload:{signingAuthPlan:{kind:`emailOtpReauth`,method:`email_otp`,emailOtpPrompt:n.prompt}},emailOtpPrompt:n.prompt}}if(!xt(r))throw Error(`[SigningEngine][near] passkey step-up requires a passkey plan`);return{kind:`passkey`,confirmationAuthPayload:{signingAuthPlan:r},plannedPasskeyOperationStepUp:vr(t)}}function hr(e){switch(e.kind){case`passkey`:return{kind:`passkeyReauth`,method:`passkey`};case`email_otp`:return{kind:`emailOtpReauth`,method:`email_otp`};default:throw Error(`[SigningEngine][near] unsupported material auth requirement`)}}async function gr(){}async function _r(){}function vr(e){if(!e)throw Error(`[SigningEngine][near] Passkey operation step-up plan is required`);return e}function yr(e){if(bt(e)){if(e.curve!==`ed25519`)throw Error(`[SigningEngine][near] warm-session step-up requires an Ed25519 auth plan`);return{kind:`reuse_warm_session`,authorization:{method:e.method,curve:`ed25519`,thresholdSessionId:e.thresholdSessionId,expiresAtMs:e.expiresAtMs,remainingUses:e.remainingUses}}}return{kind:`use_selected_lane`}}function br(e){return bt(e)&&e.curve===`ed25519`}function xr(e,t,n){try{e?.(xe({...n,flowId:`signing:near:${String(t)}:${n.phase}`,accountId:String(t)}))}catch{}}function Sr(e,t){let n=Mt(e.signingAuthPlan);if(t.phase===`confirmation.complete`){if(n===`passkey`&&t.status===`succeeded`)return}else if(n!==`passkey`||t.phase!==`auth.passkey.prompt.started`&&t.phase!==`auth.passkey.prompt.succeeded`)return;let r=jt(t,n);r&&xr(e.onEvent,e.nearAccountId,{...r,authMethod:n})}function Cr(e){return{kind:`warm_session`,signingAuthPlan:e,thresholdSessionId:e.thresholdSessionId,expiresAtMs:e.expiresAtMs,remainingUses:e.remainingUses}}function wr(e){if(e.prepared.kind===`warm_session`)return Cr(e.prepared.confirmationAuthPayload.signingAuthPlan);if(e.prepared.kind===`email_otp`)return{kind:`email_otp`,signingAuthPlan:e.prepared.confirmationAuthPayload.signingAuthPlan,challengeId:Er(e.confirmation.emailOtpChallengeId,e.prepared.emailOtpPrompt.challengeId),otpCode:Tr(e.confirmation.otpCode),...e.prepared.emailOtpPrompt.emailHint?{emailHint:e.prepared.emailOtpPrompt.emailHint}:{}};if(!e.confirmation.credential)throw Error(`[SigningEngine] missing WebAuthn credential for NEAR step-up authorization`);return{kind:`passkey`,signingAuthPlan:e.prepared.confirmationAuthPayload.signingAuthPlan,credential:je(e.confirmation.credential),plannedPasskeyOperationStepUp:e.prepared.plannedPasskeyOperationStepUp}}function Tr(e){let t=String(e||``).trim();if(!/^\d{6}$/.test(t))throw Error(`[SigningEngine] missing Email OTP code for NEAR step-up authorization`);return t}function Er(e,t){let n=String(e||t||``).trim();if(!n)throw Error(`[SigningEngine] missing Email OTP challenge id for NEAR step-up authorization`);return n}function Dr(e){if(!e||!Array.isArray(e.actions)||e.actions.length===0)throw Error(`[SigningEngine][near] one NEAR transaction with actions is required`);return 1}function Or(e){throw Error(`[SigningEngine][near] exactly one NEAR transaction is supported per signing operation; received ${e.length}`)}const kr=2e4;async function Ar(e){return Lr(await nt({ctx:e.workerCtx,kind:`nearSigner`,request:{type:Wt.ThresholdEd25519ComputeNep413SigningDigest,timeoutMs:kr,payload:{message:e.message,recipient:e.recipient,nonce:e.nonce,callbackUrl:e.callbackUrl}}}))}async function jr(e){return Lr(await nt({ctx:e.workerCtx,kind:`nearSigner`,request:{type:Wt.ThresholdEd25519ComputeDelegateSigningDigest,timeoutMs:kr,payload:{delegate:e.delegate}}}))}async function Mr(e){return Rr(await nt({ctx:e.workerCtx,kind:`nearSigner`,request:{type:Wt.ThresholdEd25519BuildDelegateSigningPayload,timeoutMs:kr,payload:{delegate:e.delegate}}}))}async function Nr(e){return zr(await nt({ctx:e.workerCtx,kind:`nearSigner`,request:{type:Wt.ThresholdEd25519FinalizeDelegateFromSignature,timeoutMs:kr,payload:{delegate:e.delegate,signingDigestB64u:e.signingDigestB64u,signatureB64u:e.signatureB64u}}}))}async function Pr(e){let t=Br(await nt({ctx:e.workerCtx,kind:`nearSigner`,request:{type:Wt.ThresholdEd25519BuildNearTxUnsignedBorsh,timeoutMs:kr,payload:{txSigningRequests:[e.txSigningRequest],transactionContext:e.transactionContext}}})),n=t[0];if(!n||t.length!==1)throw Error(`near signer worker returned invalid single-transaction unsigned payload`);return n}async function Fr(e){return Vr(await nt({ctx:e.workerCtx,kind:`nearSigner`,request:{type:Wt.ThresholdEd25519FinalizeNearTxFromSignature,timeoutMs:kr,payload:{unsignedTransactionBorshB64u:e.unsignedTransactionBorshB64u,signingDigestB64u:e.signingDigestB64u,signatureB64u:e.signatureB64u,expectedNearAccountId:e.expectedNearAccountId,expectedSignerPublicKey:e.expectedSignerPublicKey}}}))}async function Ir(e){return Hr(await nt({ctx:e.workerCtx,kind:`nearSigner`,request:{type:Wt.ThresholdEd25519DecodeSignedNearTxBorsh,timeoutMs:kr,payload:{signedTransactionBorshB64u:e.signedTransactionBorshB64u}}}))}function Lr(e){let t=e;if(!t?.signingDigestB64u)throw Error(`near signer worker returned invalid Ed25519 signing digest result`);return t}function Rr(e){let t=e;if(!t?.canonicalDelegateBorshB64u||!t.signingDigestB64u)throw Error(`near signer worker returned invalid Ed25519 delegate signing payload`);return t}function zr(e){let t=e;if(!t?.delegateAction||!t.signature||!t.borshBytes)throw Error(`near signer worker returned invalid Ed25519 signed delegate result`);return t}function Br(e){if(!Array.isArray(e))throw Error(`near signer worker returned invalid Ed25519 unsigned tx result`);return e.map(e=>{let t=e;if(!t?.unsignedTransactionBorshB64u||!t.signingDigestB64u)throw Error(`near signer worker returned invalid Ed25519 unsigned tx item`);return t})}function Vr(e){let t=e;if(!t?.signedTransactionBorshB64u||!t.transactionHash)throw Error(`near signer worker returned invalid Ed25519 finalized tx result`);return t}function Hr(e){let t=e;if(!t?.signedTransaction?.transaction||!t.signedTransaction.signature||!t.signedTransaction.borshBytes||!t.transactionHash)throw Error(`near signer worker returned invalid Ed25519 signed tx decode result`);return t}function Ur(e,t){return e.request_id===t.request_id&&e.account_id===t.account_id&&e.authorization.kind===t.authorization.kind&&(e.authorization.kind===`reusable_wallet_session`?t.authorization.kind===`reusable_wallet_session`&&e.authorization.wallet_session_id===t.authorization.wallet_session_id:t.authorization.kind===`operation_step_up`)&&e.material_activation.kind===t.material_activation.kind&&e.material_activation.activation_id===t.material_activation.activation_id&&e.material_activation.capability===t.material_activation.capability&&e.material_activation.material_owner===t.material_activation.material_owner&&e.material_activation.key_binding===t.material_activation.key_binding&&e.material_activation.lifecycle_binding===t.material_activation.lifecycle_binding&&e.material_activation.signing_worker===t.material_activation.signing_worker&&e.signing_worker_id===t.signing_worker_id}function Wr(e,t){return e.length===t.length&&e.every((e,n)=>e===t[n])}function Gr(e){if(!Ur(e.request.scope,e.response.scope))throw Error(`Router A/B normal-signing prepare response scope mismatch`);if(e.request.expires_at_ms!==e.response.expires_at_ms)throw Error(`Router A/B normal-signing prepare response expiry mismatch`);if(e.response.signing_worker.server_id!==e.request.scope.signing_worker_id)throw Error(`Router A/B normal-signing prepare response SigningWorker mismatch`);if(!Wr(e.signingPayloadDigest.bytes,e.response.signing_payload_digest.bytes))throw Error(`Router A/B normal-signing prepare response payload digest mismatch`)}function Kr(e){if(!Ur(e.request.scope,e.response.scope))throw Error(`Router A/B normal-signing response scope mismatch`);if(e.response.signing_worker.server_id!==e.request.scope.signing_worker_id)throw Error(`Router A/B normal-signing response SigningWorker mismatch`);if(!Wr(e.signingPayloadDigest.bytes,e.response.signing_payload_digest.bytes))throw Error(`Router A/B normal-signing response payload digest mismatch`);if(e.response.signature.bytes.length!==64)throw Error(`Router A/B normal-signing response signature must be 64 bytes`)}function J(e,t){let n=String(e||``).trim();if(!n)throw Error(`Router A/B Ed25519 normal-signing ready state is missing ${t}`);return n}function Y(e,t,n){if(e!==t)throw Error(`Router A/B Ed25519 normal-signing ready state ${n} mismatch`)}function qr(e,t){let n=Math.floor(Number(e));if(!Number.isFinite(n)||n<=Date.now())throw Error(`Router A/B Ed25519 normal-signing ready state ${t} is expired`);return n}function Jr(e,t){let n=Math.floor(Number(e));if(!Number.isSafeInteger(n)||n<=0)throw Error(`Router A/B Ed25519 normal-signing ready state ${t} is exhausted`);return n}function Yr(e){let t=e.state,n=t.signingWalletSession,r=J(e.thresholdSessionId,`thresholdSessionId`),i=J(t.thresholdSessionId,`state.thresholdSessionId`),a=J(t.signingLane.thresholdSessionId,`state.signingLane.thresholdSessionId`);Y(i,r,`thresholdSessionId`),Y(a,r,`lane thresholdSessionId`);let o=J(t.walletSessionId,`state.walletSessionId`),s=J(t.quotaId,`state.quotaId`);Y(t.signingLane.walletSessionId,o,`lane walletSessionId`),Y(t.signingLane.quotaId,s,`lane quotaId`);let c=J(e.nearAccountId,`nearAccountId`);J(t.signingLane.identity.signer.account.wallet.walletId,`state.signingLane.identity.signer.account.wallet.walletId`),Y(J(e.thresholdKeyMaterial.nearAccountId,`thresholdKeyMaterial.nearAccountId`),c,`threshold key accountId`);let l=n.routerAbNormalSigning,u=J(n.auth.walletSessionToken,`Wallet Session bearer token`),d=J(t.signingRootId,`state.signingRootId`),f=J(t.signingRootVersion,`state.signingRootVersion`);Y(n.thresholdSessionId,r,`Wallet Session thresholdSessionId`),Y(n.walletSessionId,o,`Wallet Session walletSessionId`),Y(n.quotaId,s,`Wallet Session quotaId`),Y(n.signingRootId,d,`signingRootId`),Y(n.signingRootVersion,f,`signingRootVersion`),Y(t.routerAbNormalSigning.signingWorkerId,l.signingWorkerId,`signingWorkerId`),qr(n.expiresAtMs,`expiresAtMs`);let p=Jr(n.remainingUses,`remainingUses`);if(t.remainingUses!==p)throw Error(`Router A/B Ed25519 normal-signing ready state remainingUses mismatch`);return{kind:`router_ab_ed25519_normal_signing_ready_state_v1`,relayerUrl:J(t.relayerUrl,`relayerUrl`),signingWorkerId:J(l.signingWorkerId,`signingWorkerId`),signerPublicKey:J(e.thresholdKeyMaterial.publicKey,`signerPublicKey`),credential:{kind:`wallet_session_opaque`,walletSessionToken:u,home:n.auth.credential.home}}}function Xr(e){if(!e||typeof e!=`object`||Array.isArray(e))throw Error(`operation step-up preparation ref must be an object`);let t=e;if(Object.keys(t).length!==3||t.kind!==`near_operation_step_up_prepared_v1`)throw Error(`operation step-up preparation ref is invalid`);let n=String(t.handle||``).trim();if(!n.startsWith(`near-operation-step-up:`)||/\s/.test(n))throw Error(`operation step-up preparation handle is invalid`);return{kind:`near_operation_step_up_prepared_v1`,handle:n,challengeB64u:A(t.challengeB64u)}}const Zr=new Map,Qr=new Map;function $r(e,t){let n=String(e||``).trim();if(!n)throw Error(`[SigningEngine][near] ${t} is required`);return n}function ei(e){Zr.set($r(e.requestId,`requestId`),e.build)}function ti(e){Zr.delete(String(e||``).trim())}const ni={async prepare(e){let t=$r(e.requestId,`requestId`),n=Zr.get(t);if(!n)throw Error(`[SigningEngine][near] operation step-up preparation is unavailable`);Zr.delete(t);let r=e.kind===`near_transaction`?await n({kind:`near_transaction`,transactionContext:e.transactionContext,operationId:$r(e.operationId,`operationId`),operationFingerprint:$r(e.operationFingerprint,`operationFingerprint`),displayDigest:$r(e.displayDigest,`displayDigest`)}):await n({kind:`near_signature_only`,displayDigest:$r(e.displayDigest,`displayDigest`)}),i=await We(r.envelope),a=Xr({kind:`near_operation_step_up_prepared_v1`,handle:`near-operation-step-up:${y(24,`operation step-up handle`)}`,challengeB64u:i});return Qr.set(a.handle,{requestId:t,operation:r.operation}),a},cancel(e){let t=String(e.requestId||``).trim();t&&Zr.delete(t),e.handle&&Qr.delete(e.handle);for(let[e,n]of Qr)n.requestId===t&&Qr.delete(e)}};function ri(e){let t=$r(e.requestId,`requestId`),n=$r(Xr(e.ref).handle,`operation step-up handle`),r=Qr.get(n);if(Qr.delete(n),!r||r.requestId!==t)throw Error(`[SigningEngine][near] prepared operation step-up is unavailable`);return r.operation}function ii(e){if(!n(e.expected,e.actual))throw Error(`[SigningEngine][near] operation assertion changed material activation`)}const ai=12e4;async function oi(e){return await e.ctx.resolveOperationStepUpCredential({walletId:e.walletId,relayerUrl:e.relayerUrl,proof:e.proof})}function si(e){if(e.prepared.prepare.request.scope.authorization.kind!==`operation_step_up`)throw Error(`[SigningEngine][near] operation step-up authorization scope is missing`);if(e.issuedAuthorization.kind!==`verified_step_up`)throw Error(`[SigningEngine][near] operation step-up authorization is invalid`)}function ci(e){let t=e.thresholdKeyMaterial.participants.find(t=>t.role===e.role)?.id;if(!t)throw Error(`threshold-ed25519 signing requires ${e.role} participant id`);return t}function li(e){return[..._(e)].map(e=>e.toString(16).padStart(2,`0`)).join(``)}function ui(e){return s(e.chains||mt.network.chains)}function di(e){let t=globalThis.crypto;if(t&&typeof t.randomUUID==`function`)return`router-ab-normal-signing/${e}/${t.randomUUID()}`;if(t&&typeof t.getRandomValues==`function`){let n=new Uint8Array(16);return t.getRandomValues(n),`router-ab-normal-signing/${e}/${h(n)}`}throw Error(`secure randomness is unavailable for Router A/B normal-signing request id`)}function fi(e){if(!e.ok)throw Error(e.error.message);return e.value}function pi(e){let t=Math.floor(Number(e.walletSessionExpiresAtMs)),n=Math.floor(Number(e.requestedTtlMs));if(!Number.isFinite(t)||t<=Date.now())throw Error(`[SigningEngine][near] Router A/B Ed25519 Wallet Session is expired`);if(!Number.isFinite(n)||n<=0)throw Error(`[SigningEngine][near] Router A/B Ed25519 request TTL is invalid`);return Math.min(t,Date.now()+n)}function mi(e){let t=e.walletSessionState.routerAbNormalSigning;if(!t)return null;let n=String(e.walletId||``).trim();if(!n)throw Error(`[SigningEngine][near] Router A/B Ed25519 signing scope is missing wallet id`);let r=Re(e.activeClient.metadata());return{request_id:di(e.operationId),account_id:n,authorization:{kind:`reusable_wallet_session`,wallet_session_id:e.walletSessionState.walletSessionId},material_activation:{kind:`mpc_material_activation_ref`,activation_id:r.activationId,capability:r.capability,material_owner:r.materialOwner,key_binding:r.keyBinding,lifecycle_binding:r.lifecycleBinding,signing_worker:r.signingWorker},signing_worker_id:t.signingWorkerId}}function hi(e){let t=e.materialFacts.routerAbNormalSigning;if(!t)throw Error(`[SigningEngine][near] Router A/B Ed25519 signing scope is missing`);return{request_id:di(e.operationId),account_id:String(e.walletId),authorization:{kind:`operation_step_up`},material_activation:{kind:`mpc_material_activation_ref`,activation_id:e.materialActivation.activationId,capability:e.materialActivation.capability,material_owner:e.materialActivation.materialOwner,key_binding:e.materialActivation.keyBinding,lifecycle_binding:e.materialActivation.lifecycleBinding,signing_worker:e.materialActivation.signingWorker},signing_worker_id:t.signingWorkerId}}function gi(e){return e.map(e=>{switch(e.action_type){case`CreateAccount`:return{action_type:W.CreateAccount};case`DeployContract`:return{action_type:W.DeployContract,code:[...e.code]};case`FunctionCall`:return{action_type:W.FunctionCall,method_name:e.method_name,args:e.args,gas:e.gas,deposit:e.deposit};case`Transfer`:return{action_type:W.Transfer,deposit:e.deposit};case`Stake`:return{action_type:W.Stake,stake:e.stake,public_key:e.public_key};case`AddKey`:return{action_type:W.AddKey,public_key:e.public_key,access_key:e.access_key};case`DeleteKey`:return{action_type:W.DeleteKey,public_key:e.public_key};case`DeleteAccount`:return{action_type:W.DeleteAccount,beneficiary_id:e.beneficiary_id};case`SignedDelegate`:{let t=gi(e.delegate_action.actions).map($e);return{action_type:W.SignedDelegate,delegate_action:{senderId:e.delegate_action.senderId,receiverId:e.delegate_action.receiverId,actions:t,nonce:e.delegate_action.nonce,maxBlockHeight:e.delegate_action.maxBlockHeight,publicKey:{keyType:e.delegate_action.publicKey.keyType,keyData:[...e.delegate_action.publicKey.keyData]}},signature:{keyType:e.signature.keyType,signatureData:[...e.signature.signatureData]}}}case`DeployGlobalContract`:return{action_type:W.DeployGlobalContract,code:[...e.code],deploy_mode:e.deploy_mode};case`UseGlobalContract`:return`account_id`in e?{action_type:W.UseGlobalContract,account_id:e.account_id}:{action_type:W.UseGlobalContract,code_hash:e.code_hash}}})}async function _i(e){return{signedDelegate:await Nr({delegate:e.delegate,signingDigestB64u:e.signingDigestB64u,signatureB64u:e.signatureB64u,workerCtx:e.ctx}),hash:li(e.signingDigestB64u)}}function X(e,t,n){if(String(e)!==String(t))throw Error(`Router A/B Ed25519 active Client ${n} mismatch`)}function vi(e,t){if(e.length!==t.length)return!1;let n=0;for(let r=0;r<e.length;r+=1)n|=e[r]^t[r];return n===0}function yi(e,t){if(e.length!==32||e.some(e=>!Number.isInteger(e)||e<0||e>255))throw Error(`Router A/B normal-signing ${t} must contain 32 bytes`);return Uint8Array.from(e)}function bi(e){let t=N(e);if(!t.startsWith(`ed25519:`))throw Error(`Router A/B Ed25519 signer public key must use ed25519`);let n=F(t.slice(8));if(n.length!==32)throw Error(`Router A/B Ed25519 signer public key must decode to 32 bytes`);return n}function xi(e){let t=e.activeClient.metadata(),n=Re(t),r=e.materialFacts.signer,i=ci({thresholdKeyMaterial:e.thresholdKeyMaterial,role:`client`}),a=ci({thresholdKeyMaterial:e.thresholdKeyMaterial,role:`relayer`});if(e.thresholdKeyMaterial.participants.length!==2)throw Error(`Router A/B Ed25519 active Client requires exactly two participants`);X(t.scope.account_id,e.prepare.request.scope.account_id,`scope account`),X(t.scope.threshold_session_id,e.materialFacts.thresholdSessionId,`threshold session`),X(t.scope.account_id,e.walletId,`scope wallet`),X(n.activationId,e.prepare.request.scope.material_activation.activation_id,`material activation`),X(n.capability,e.prepare.request.scope.material_activation.capability,`material capability`),X(n.materialOwner,e.prepare.request.scope.material_activation.material_owner,`material owner`),X(n.keyBinding,e.prepare.request.scope.material_activation.key_binding,`material key binding`),X(n.lifecycleBinding,e.prepare.request.scope.material_activation.lifecycle_binding,`material lifecycle`),X(n.signingWorker,e.prepare.request.scope.material_activation.signing_worker,`material SigningWorker`);let o=e.prepare.request.scope.authorization;if(o.kind!==e.authorization.kind)throw Error(`Router A/B Ed25519 authorization kind mismatch`);switch(e.authorization.kind){case`reusable_wallet_session`:if(o.kind!==`reusable_wallet_session`)throw Error(`Router A/B Ed25519 reusable authorization is missing`);X(o.wallet_session_id,e.authorization.walletSessionId,`authorization session`);break;case`operation_step_up`:if(o.kind!==`operation_step_up`)throw Error(`Router A/B Ed25519 operation step-up authorization is missing`);break;default:e.authorization}X(t.scope.signing_worker_id,e.prepare.request.scope.signing_worker_id,`scope SigningWorker`),X(t.scope.signing_worker_id,e.signingWorkerId,`prepare SigningWorker`),X(t.applicationBinding.wallet_id,e.walletId,`application wallet`),X(t.applicationBinding.wallet_id,r.account.wallet.walletId,`lane wallet`),X(t.applicationBinding.near_ed25519_signing_key_id,r.nearEd25519SigningKeyId,`signing key`),X(t.applicationBinding.signing_root_id,e.materialFacts.signingRootId,`signing root`),X(t.applicationBinding.key_creation_signer_slot,r.signerSlot,`signer slot`),X(t.applicationBinding.key_creation_signer_slot,e.thresholdKeyMaterial.signerSlot,`key-material signer slot`),X(t.participantIds[0],i,`Client participant`),X(t.participantIds[1],a,`SigningWorker participant`);let s=bi(e.thresholdKeyMaterial.publicKey);if(!vi(t.registeredPublicKey,s))throw Error(`Router A/B Ed25519 active Client registered public key mismatch`);if(!vi(t.signingWorkerVerifyingShare,e.signingWorkerVerifyingShare))throw Error(`Router A/B Ed25519 active Client SigningWorker verifying share mismatch`)}async function Si(e){let t=e.prepare.request.intent.operation_id,n=performance.now(),r=`failed`;try{let n=await Ci(e,t);return r=`succeeded`,n}finally{U(t,`signature_total`,n,r)}}async function Ci(e,t){let n=_(e.signingDigestB64u);if(n.length!==32)throw Error(`Router A/B normal-signing ${e.signingPayloadLabel} must be 32 bytes`);let r=yi(e.prepare.admissionMaterial.admittedSigningDigest.bytes,`admitted digest`);if(!vi(n,r))throw Error(`Router A/B normal-signing admitted digest mismatch`);e.authorization===`reusable_wallet_session`&&Yr({state:e.walletSessionState,thresholdSessionId:e.thresholdSessionId,nearAccountId:e.nearAccountId,thresholdKeyMaterial:e.thresholdKeyMaterial});let i=e.authorization===`reusable_wallet_session`?{thresholdSessionId:e.walletSessionState.thresholdSessionId,signer:e.walletSessionState.signingLane.identity.signer,signingRootId:e.walletSessionState.signingRootId,signingRootVersion:e.walletSessionState.signingRootVersion,routerAbNormalSigning:e.walletSessionState.routerAbNormalSigning,runtimePolicyScope:e.walletSessionState.runtimePolicyScope,relayerUrl:e.walletSessionState.relayerUrl}:e.materialFacts,a=performance.now(),o=e.startedResponse?await e.startedResponse:await ft({relayServerUrl:i.relayerUrl,credential:e.credential,request:e.prepare.request});if(U(t,`prepare`,a),e.authorization===`reusable_wallet_session`){if(o.kind!==`reusable_wallet_session`)throw Error(`Ed25519 prepare returned the wrong authorization kind`);let t=await e.sessionCoordinator.resolveActiveAuthorizedRouterAbEd25519WalletSessionState({state:e.walletSessionState,nowMs:Date.now()}),n=o.sessionStatus;if(!t||n.walletSessionId!==t.walletSessionOperationCredential.walletSessionId||n.quotaId!==t.walletSessionAuthorization.quotaId||n.quotaLifecycle!==`active`||n.remainingUses<=0||n.expiresAtMs<=Date.now()||!ne(n.authorization,t.walletSessionAuthorization))throw Error(`Wallet Session authority changed before Ed25519 client signing`);let r={relayerUrl:i.relayerUrl,operationCredential:t.walletSessionOperationCredential};await Ue.fromPrepare(r,n).read(r,{walletSessionId:n.walletSessionId,quotaId:n.quotaId})}else if(o.kind!==`operation_step_up`)throw Error(`Ed25519 step-up prepare returned a reusable Wallet Session`);let s=o.signing;Gr({request:e.prepare.request,signingPayloadDigest:e.prepare.admissionMaterial.signingPayloadDigest,response:s});let c=_(s.server_verifying_share_b64u);if(c.length!==32)throw Error(`Router A/B normal-signing SigningWorker verifying share must be 32 bytes`);xi({activeClient:e.activeClient,authorization:e.authorization===`reusable_wallet_session`?{kind:`reusable_wallet_session`,walletSessionId:e.walletSessionState.signingWalletSession.walletSessionId}:{kind:`operation_step_up`},materialFacts:i,thresholdKeyMaterial:e.thresholdKeyMaterial,walletId:e.walletId,prepare:e.prepare,signingWorkerId:s.signing_worker.server_id,signingWorkerVerifyingShare:c});let l=performance.now(),u=await e.activeClient.createSigningShare({admittedDigest:r,signingWorkerCommitments:s.server_commitments,signingWorkerVerifyingShare:c});if(U(t,`client_share`,l),u.clientVerifyingShare.length!==32)throw Error(`Router A/B normal-signing Client verifying share must be 32 bytes`);let d=performance.now(),f=await gt({relayServerUrl:i.relayerUrl,credential:e.credential,request:lt({scope:e.prepare.request.scope,expiresAtMs:e.prepare.request.expires_at_ms,prepareResponse:s,admissionMaterial:e.prepare.admissionMaterial,clientCommitments:u.clientCommitments,clientVerifyingShareB64u:h(u.clientVerifyingShare),clientSignatureShareB64u:u.clientSignatureShareB64u})});return U(t,`finalize`,d),Kr({request:e.prepare.request,signingPayloadDigest:e.prepare.admissionMaterial.signingPayloadDigest,response:f}),{signatureB64u:_t(f.signature,`Router A/B normal-signing signature`),signerPublicKey:e.thresholdKeyMaterial.publicKey}}async function wi(e){let t=ui(e.ctx);return e.intent.kind===`nep413_message_v1`?await dt({scope:e.scope,expiresAtMs:e.expiresAtMs,operationId:e.operationId,operationFingerprint:e.operationFingerprint,displayDigestB64u:e.displayDigest,nearAccountId:e.nearAccountId,nearNetworkId:t,message:e.intent.message,recipient:e.intent.recipient,nonce:e.intent.nonce,callbackUrl:e.intent.callbackUrl,expectedSigningDigestB64u:e.signingDigestB64u}):await pt({scope:e.scope,expiresAtMs:e.expiresAtMs,operationId:e.operationId,operationFingerprint:e.operationFingerprint,displayDigestB64u:e.displayDigest,nearAccountId:e.nearAccountId,nearNetworkId:t,delegate:{senderId:e.intent.delegate.senderId,receiverId:e.intent.delegate.receiverId,publicKey:e.intent.delegate.publicKey,nonce:e.intent.delegate.nonce,maxBlockHeight:e.intent.delegate.maxBlockHeight,actionFingerprint:await ut(e.intent.delegate.actions),canonicalDelegateBorshB64u:(await Mr({delegate:{senderId:e.intent.delegate.senderId,receiverId:e.intent.delegate.receiverId,actions:gi(e.intent.delegate.actions),nonce:e.intent.delegate.nonce,maxBlockHeight:e.intent.delegate.maxBlockHeight,publicKey:e.intent.delegate.publicKey},workerCtx:e.ctx})).canonicalDelegateBorshB64u},expectedSigningDigestB64u:e.signingDigestB64u})}async function Ti(e){let t=hi({materialActivation:e.materialActivation,materialFacts:e.materialFacts,walletId:e.walletId,operationId:e.operationId}),n=await wi({ctx:e.ctx,thresholdSessionId:e.thresholdSessionId,scope:t,expiresAtMs:Date.now()+ai,nearAccountId:e.nearAccountId,operationId:e.operationId,operationFingerprint:e.operationFingerprint,displayDigest:e.displayDigest,signingDigestB64u:e.signingDigestB64u,intent:e.intent}),r=Ke({tenantId:fi(k(e.materialFacts.runtimePolicyScope.orgId)),principalId:fi(E(String(e.walletId))),capabilityId:fi(re(e.materialActivation.capability)),operationId:fi(w(String(e.operationId))),operation:{capabilityKind:`near_ed25519_mpc_signing`,operationKind:e.intent.kind===`nep413_message_v1`?`near.sign_nep413_message`:`near.sign_delegate_action`},digests:{laneDigest:Ge(e.operationFingerprint),intentDigest:A(h(Uint8Array.from(n.admissionMaterial.intentDigest.bytes))),displayDigest:A(e.displayDigest)}});return{operation:{kind:`near_signature_only`,prepare:n,signingDigestB64u:e.signingDigestB64u,materialActivation:e.materialActivation},envelope:r}}function Ei(e){if(e.auth.kind!==`email_otp`)throw Error(`[SigningEngine][near] Email OTP step-up requires an Email OTP auth binding`);let t=e.preparation.hydration.authority;if(!t||String(t.walletId)!==String(e.walletId))throw Error(`[SigningEngine][near] Email OTP material authority changed`);return{kind:`email_otp`,authorityRef:t,providerSubjectId:e.auth.providerSubjectId,challengeId:e.challengeId,otpCode:e.otpCode}}function Di(e){switch(e.authorization.kind){case`passkey`:return{kind:`passkey`,authority:e.authorization.plannedPasskeyOperationStepUp.authority,credential:e.authorization.credential};case`email_otp`:return Ei({preparation:e.preparation,auth:Oi(e.auth),walletId:e.walletId,challengeId:e.authorization.challengeId,otpCode:e.authorization.otpCode});default:throw e.authorization,Error(`[SigningEngine][near] unsupported operation step-up authorization`)}}function Oi(e){if(e.kind!==`email_otp`)throw Error(`[SigningEngine][near] Email OTP step-up requires an Email OTP auth binding`);return e}function ki(e){if(!e)throw Error(`[SigningEngine][near] operation step-up proof is missing`);return e}function Ai(e){return e.authorization.kind===`operation_step_up`}async function ji(e){if(e.issuedAuthorization)return e.issuedAuthorization;switch(e.proof.kind){case`passkey`:return await vn({relayerUrl:e.relayerUrl,normalSigningRequest:e.normalSigningRequest,displayDigest:e.displayDigest,proof:e.proof,credential:e.credential,materialRecovery:{kind:`not_requested`}});case`email_otp`:return await vn({relayerUrl:e.relayerUrl,normalSigningRequest:e.normalSigningRequest,displayDigest:e.displayDigest,proof:e.proof,credential:e.credential,materialRecovery:{kind:`not_requested`}});default:throw e.proof,Error(`[SigningEngine][near] unsupported operation step-up proof`)}}async function Mi(e){if(Ai(e)){let t=Re(e.activeClient.metadata());if(ii({expected:e.authorization.prepared.materialActivation,actual:t}),e.authorization.prepared.signingDigestB64u!==e.signingDigestB64u)throw Error(`[SigningEngine][near] signature-only operation digest changed`);let n=e.authorization.prepared.prepare,r=await oi({ctx:e.ctx,walletId:e.walletId,relayerUrl:e.materialFacts.relayerUrl,proof:e.authorization.proof}),i=await ji({issuedAuthorization:e.authorization.issuedAuthorization,relayerUrl:e.materialFacts.relayerUrl,normalSigningRequest:n.request,displayDigest:e.displayDigest,proof:e.authorization.proof,credential:r});if(n.request.scope.authorization.kind!==`operation_step_up`||i.kind!==`verified_step_up`)throw Error(`[SigningEngine][near] issued operation step-up evidence changed identity`);return{kind:`router_ab_ed25519_signature_only_normal_signing_result_v1`,authorization:`operation_step_up`,issuedAuthorization:i,...await Si({thresholdSessionId:e.thresholdSessionId,materialFacts:e.materialFacts,thresholdKeyMaterial:e.thresholdKeyMaterial,walletId:e.walletId,nearAccountId:e.nearAccountId,activeClient:e.activeClient,signingDigestB64u:e.signingDigestB64u,signingPayloadLabel:`signature-only payload digest`,prepare:n,credential:r,authorization:`operation_step_up`})}}let t=e.startedPrepare&&e.startedPrepare.displayDigest===e.displayDigest&&e.startedPrepare.signingDigestB64u===e.signingDigestB64u?e.startedPrepare:null;e.startedPrepare&&!t&&Fi(e.startedPrepare);let n=t?.prepare??await Ni(e);return n?{kind:`router_ab_ed25519_signature_only_normal_signing_result_v1`,authorization:`reusable_wallet_session`,...await Si({thresholdSessionId:e.thresholdSessionId,walletSessionState:e.walletSessionState,sessionCoordinator:e.sessionCoordinator,thresholdKeyMaterial:e.thresholdKeyMaterial,walletId:e.walletId,nearAccountId:e.nearAccountId,activeClient:e.activeClient,signingDigestB64u:e.signingDigestB64u,signingPayloadLabel:`signature-only payload digest`,prepare:n,startedResponse:t?.response,credential:Yr({state:e.walletSessionState,thresholdSessionId:e.thresholdSessionId,nearAccountId:e.nearAccountId,thresholdKeyMaterial:e.thresholdKeyMaterial}).credential,authorization:e.authorization.kind})}:null}async function Ni(e){let t=mi({activeClient:e.activeClient,walletSessionState:e.walletSessionState,walletId:e.walletId,operationId:e.operationId});return t?await wi({ctx:e.ctx,thresholdSessionId:e.thresholdSessionId,scope:t,expiresAtMs:pi({walletSessionExpiresAtMs:e.walletSessionState.signingWalletSession.expiresAtMs,requestedTtlMs:ai}),nearAccountId:e.nearAccountId,operationId:e.operationId,operationFingerprint:e.operationFingerprint,displayDigest:e.displayDigest,signingDigestB64u:e.signingDigestB64u,intent:e.intent}):null}async function Pi(e){let t=await Ni(e);if(!t)return null;let n=Yr({state:e.walletSessionState,thresholdSessionId:e.thresholdSessionId,nearAccountId:e.nearAccountId,thresholdKeyMaterial:e.thresholdKeyMaterial}),r=performance.now(),i=ft({relayServerUrl:e.walletSessionState.relayerUrl,credential:n.credential,request:t.request});return i.catch(()=>{}),U(String(e.operationId),`prepare_sent`,r),{prepare:t,displayDigest:e.displayDigest,signingDigestB64u:e.signingDigestB64u,response:i}}function Fi(e){e.response.catch(()=>{})}async function Ii(e){let t=await Pr({txSigningRequest:e.txSigningRequest,transactionContext:e.transactionContext,workerCtx:e.ctx}),n=ui(e.ctx),r=tr(e.txSigningRequest,`txSigningRequest`),i=await ht({scope:hi({materialActivation:e.materialActivation,materialFacts:e.materialFacts,walletId:e.walletId,operationId:e.operationId}),expiresAtMs:Date.now()+ai,operationId:e.operationId,operationFingerprint:e.operationFingerprint,displayDigestB64u:e.displayDigest,nearAccountId:e.nearAccountId,nearNetworkId:n,transactions:[{receiverId:r.receiverId,actionFingerprint:await ut(r.actions)}],unsignedTransactionBorshB64u:t.unsignedTransactionBorshB64u,expectedSigningDigestB64u:t.signingDigestB64u}),a=Ke({tenantId:fi(k(e.materialFacts.runtimePolicyScope.orgId)),principalId:fi(E(String(e.walletId))),capabilityId:fi(re(e.materialActivation.capability)),operationId:fi(w(String(e.operationId))),operation:{capabilityKind:`near_ed25519_mpc_signing`,operationKind:`near.sign_transaction`},digests:{laneDigest:Ge(e.operationFingerprint),intentDigest:A(h(Uint8Array.from(i.admissionMaterial.intentDigest.bytes))),displayDigest:A(e.displayDigest)}});return{operation:{kind:`near_transaction`,prepare:i,unsignedTransactionBorshB64u:t.unsignedTransactionBorshB64u,signingDigestB64u:t.signingDigestB64u,materialActivation:e.materialActivation},envelope:a}}function Li(e){return e.authorization.kind===`operation_step_up`}function Ri(e){return Li(e)?e.materialFacts:{thresholdSessionId:e.walletSessionState.thresholdSessionId,signer:e.walletSessionState.signingLane.identity.signer,signingRootId:e.walletSessionState.signingRootId,signingRootVersion:e.walletSessionState.signingRootVersion,routerAbNormalSigning:e.walletSessionState.routerAbNormalSigning,runtimePolicyScope:e.walletSessionState.runtimePolicyScope,relayerUrl:e.walletSessionState.relayerUrl}}async function zi(e){let t=Ri(e);if(!t.routerAbNormalSigning)throw Error(`[SigningEngine][near] Router A/B Ed25519 normal-signing state is missing`);if(!e.transactionContext)throw Error(`[SigningEngine][near] Router A/B Ed25519 transaction signing is missing transaction context from confirmation`);let n=Li(e),r=n?{unsignedTransactionBorshB64u:e.authorization.prepared.unsignedTransactionBorshB64u,signingDigestB64u:e.authorization.prepared.signingDigestB64u}:await Pr({txSigningRequest:e.txSigningRequest,transactionContext:e.transactionContext,workerCtx:e.ctx});if(_(r.signingDigestB64u).length!==32)throw Error(`Router A/B normal-signing NEAR payload digest must be 32 bytes`);let i=ui(e.ctx),a=tr(e.txSigningRequest,`txSigningRequest`),o=H.signingOperationFingerprint(await Jn({nearAccountId:e.nearAccountId,nearNetworkId:i,relayerKeyId:e.thresholdKeyMaterial.relayerKeyId,signerPublicKey:e.thresholdKeyMaterial.publicKey,transactions:[a],unsignedTransactionBorshB64u:r.unsignedTransactionBorshB64u,signingDigestB64u:r.signingDigestB64u})),s,c,l;if(n){s=e.authorization.prepared.prepare,c=await oi({ctx:e.ctx,walletId:e.walletId,relayerUrl:t.relayerUrl,proof:e.authorization.proof});let n=await ji({issuedAuthorization:e.authorization.issuedAuthorization,relayerUrl:t.relayerUrl,normalSigningRequest:s.request,displayDigest:e.authorization.displayDigest,proof:e.authorization.proof,credential:c});if(s.request.scope.authorization.kind!==`operation_step_up`||n.kind!==`verified_step_up`)throw Error(`[SigningEngine][near] issued operation step-up evidence changed identity`);l=n}else{let t=mi({activeClient:e.activeClient,walletSessionState:e.walletSessionState,walletId:e.walletId,operationId:e.operationId});if(!t)throw Error(`[SigningEngine][near] Router A/B Ed25519 signing scope is missing`);s=await ht({scope:t,expiresAtMs:pi({walletSessionExpiresAtMs:e.walletSessionState.signingWalletSession.expiresAtMs,requestedTtlMs:ai}),operationId:e.operationId,operationFingerprint:o,displayDigestB64u:e.displayDigest,nearAccountId:e.nearAccountId,nearNetworkId:i,transactions:[{receiverId:a.receiverId,actionFingerprint:await ut(a.actions)}],unsignedTransactionBorshB64u:r.unsignedTransactionBorshB64u,expectedSigningDigestB64u:r.signingDigestB64u}),c=Yr({state:e.walletSessionState,thresholdSessionId:e.thresholdSessionId,nearAccountId:e.nearAccountId,thresholdKeyMaterial:e.thresholdKeyMaterial}).credential}e.ctx.beforeSigning?.();let u=Li(e)?await Si({thresholdSessionId:e.thresholdSessionId,materialFacts:t,thresholdKeyMaterial:e.thresholdKeyMaterial,walletId:e.walletId,nearAccountId:e.nearAccountId,activeClient:e.activeClient,signingDigestB64u:r.signingDigestB64u,signingPayloadLabel:`NEAR payload digest`,prepare:s,credential:c,authorization:`operation_step_up`}):await Si({thresholdSessionId:e.thresholdSessionId,walletSessionState:e.walletSessionState,sessionCoordinator:e.sessionCoordinator,thresholdKeyMaterial:e.thresholdKeyMaterial,walletId:e.walletId,nearAccountId:e.nearAccountId,activeClient:e.activeClient,signingDigestB64u:r.signingDigestB64u,signingPayloadLabel:`NEAR payload digest`,prepare:s,credential:c,authorization:`reusable_wallet_session`}),d=await Fr({unsignedTransactionBorshB64u:r.unsignedTransactionBorshB64u,signingDigestB64u:r.signingDigestB64u,signatureB64u:u.signatureB64u,expectedNearAccountId:e.nearAccountId,expectedSignerPublicKey:e.thresholdKeyMaterial.publicKey,workerCtx:e.ctx}),f=await Ir({signedTransactionBorshB64u:d.signedTransactionBorshB64u,workerCtx:e.ctx}),p=d.transactionHash||f.transactionHash,m={type:Ut.SignTransactionsWithActionsSuccess,payload:{free:()=>void 0,success:!0,transactionHashes:[p],signedTransactions:[f.signedTransaction],logs:[`NEAR transaction signed through Router A/B normal signing`],error:void 0}};if(n){if(!l)throw Error(`[SigningEngine][near] operation step-up authorization was not issued`);return{kind:`router_ab_ed25519_near_transaction_normal_signing_result_v1`,authorization:`operation_step_up`,issuedAuthorization:l,okResponse:m}}return{kind:`router_ab_ed25519_near_transaction_normal_signing_result_v1`,authorization:`reusable_wallet_session`,okResponse:m}}const Bi=1e3,Vi=[120,180,250,350,500,700,1e3,1e3,1500,1500,2e3],Hi=Symbol(`NearWalletSessionFundingAuthority`);function Ui(e=Bi){return new Promise(t=>{setTimeout(t,e)})}function Wi(e){let t=String(e.walletSessionToken||``).trim();if(!t)throw Error(`[SigningEngine][near] authenticated Wallet Session token is required for funding`);return t}function Gi(e){return{kind:`near_ed25519_funding_session`,signer:e.signingLane.identity.signer,thresholdSessionId:e.thresholdSessionId,walletSessionToken:e.walletSessionAuth.walletSessionToken}}function Ki(e){switch(e.kind){case`warm_session`:return`warm_session`;case`passkey`:return`passkey_reauth`;case`email_otp`:return`email_otp_reauth`;default:return Ji(e)}}function qi(e){switch(e){case`passkey`:return`passkey_reauth`;case`email_otp`:return`email_otp_reauth`;default:throw Error(`[SigningEngine][near] unsupported operation step-up funding method`)}}function Ji(e){throw Error(`Unsupported NEAR funding authorization: ${String(e)}`)}function Yi(e){let t=String(e.fundingSession.signer.account.wallet.walletId),n=String(e.fundingSession.signer.account.nearAccountId),r=e.request.operation;if(String(e.request.subject.walletId)!==t||String(e.request.subject.nearAccountId)!==n||e.request.subject.nearPublicKeyStr!==e.nearPublicKeyStr)throw Error(`[SigningEngine][near] funding request subject does not match authenticated lane`);if(String(r.operationId)!==String(e.signingOperation.operationId)||String(r.operationFingerprint)!==String(e.signingOperation.operationFingerprint)||r.intent!==e.signingOperation.intent||r.accountId!==n)throw Error(`[SigningEngine][near] funding request operation does not match signing operation`);if(e.request.signatureUses!==e.signatureUses)throw Error(`[SigningEngine][near] funding request signature use count mismatch`);if(String(e.fundingSession.thresholdSessionId).trim().length===0)throw Error(`[SigningEngine][near] funding authority threshold session mismatch`)}function Xi(e){return{kind:`near_wallet_session_funding_authority`,provenance:e.provenance,request:e.request,thresholdSessionId:e.fundingSession.thresholdSessionId,walletSessionToken:Wi(e.fundingSession),[Hi]:!0}}async function Zi(e){let t=e.authority.request,n=tt({chains:e.ctx.chains,walletId:String(t.subject.walletId),nearAccountId:String(t.subject.nearAccountId),nearPublicKeyStr:t.subject.nearPublicKeyStr}),r;for(let i=1;i<=12;i+=1)try{let r=await e.ctx.nonceCoordinator.reserveNearContext({lane:n,operation:t.operation,count:t.signatureUses,nearClient:e.ctx.nearClient});return{transactionContext:r.context,nonceLeases:r.leases.map(ke),reservedLeases:r.leases}}catch(e){r=e,i<12&&await Ui(Vi[i-1]??Bi)}throw r instanceof Error?r:Error(`Funded NEAR account access key did not become available`)}async function Qi(e){let t=e.authority.request,n=await Ie({relayerUrl:e.ctx.relayerUrl,walletId:String(t.subject.walletId),nearAccountId:String(t.subject.nearAccountId),nearPublicKeyStr:t.subject.nearPublicKeyStr,walletSessionToken:e.authority.walletSessionToken});if(!n.ok)throw Error(n.message||n.code||`Failed to fund implicit NEAR account`);return await Zi(e)}async function $i(e){switch(e.confirmation.readiness.kind){case`context_ready`:return e.confirmation.readiness;case`funding_required`:{Yi({request:e.confirmation.readiness.request,fundingSession:Gi(e.walletSessionState),nearPublicKeyStr:e.nearPublicKeyStr,signingOperation:e.signingOperation,signatureUses:e.signatureUses});let t=Xi({request:e.confirmation.readiness.request,fundingSession:Gi(e.walletSessionState),provenance:Ki(e.authorization)}),n=await Qi({ctx:e.ctx,authority:t});return{kind:`context_ready`,transactionContext:n.transactionContext,nonceLeases:n.nonceLeases}}default:return ea(e.confirmation.readiness)}}function ea(e){throw Error(`Unsupported confirmed NEAR transaction readiness: ${String(e)}`)}async function ta(e){Yi({request:e.request,fundingSession:e.fundingSession,nearPublicKeyStr:e.nearPublicKeyStr,signingOperation:e.signingOperation,signatureUses:e.signatureUses});let t=Xi({request:e.request,fundingSession:e.fundingSession,provenance:qi(e.method)}),n=await Qi({ctx:e.ctx,authority:t});return{readiness:{kind:`context_ready`,transactionContext:n.transactionContext,nonceLeases:n.nonceLeases},reservedNonceLeases:n.reservedLeases}}const na=new Map;function ra(e){let t=String(e||``).trim();if(!t)throw Error(`[SigningEngine][near] requestId is required`);return t}function ia(e){na.set(ra(e.requestId),e.fund)}function aa(e){na.delete(String(e||``).trim())}const oa={async fund(e){let t=ra(e.requestId),n=na.get(t);if(!n)throw Error(`[SigningEngine][near] implicit-account funding is unavailable`);return na.delete(t),await n(e.request)}};function sa(e){switch(e.kind){case`passkey_live`:case`email_otp_live`:return e.material.facts;case`passkey_sealed`:case`email_otp_sealed`:return e.facts;default:throw Error(`[SigningEngine][near] unsupported operation material`)}}async function ca(e,t){switch(e.hydration.kind){case`use_live_runtime`:case`rehydrate_material_activation`:return await t.resolve(e);case`reauthorize_public_anchor`:throw Error(`[SigningEngine][near] material requires public-anchor reauthorization`);case`blocked`:throw Error(`[SigningEngine][near] material hydration is blocked: ${e.hydration.reason}`);default:throw e.hydration,Error(`[SigningEngine][near] unsupported Ed25519 Yao hydration plan`)}}async function la(e){if(e.method===`passkey`&&e.preparation.hydration.kind===`rehydrate_material_activation`){let t=await e.executor.preparePasskeyOperationStepUp(e.preparation);return{kind:`passkey_sealed`,materialActivation:t.materialActivation,facts:t.facts,rehydrate:t.rehydrate}}if(e.method===`email_otp`){let t=await e.executor.prepareEmailOtpOperationStepUp(e.preparation);switch(t.kind){case`live`:return{kind:`email_otp_live`,materialActivation:t.materialActivation,material:t.material};case`sealed`:return{kind:`email_otp_sealed`,materialActivation:t.materialActivation,facts:t.facts,authorizeAndRehydrate:t.authorizeAndRehydrate};default:throw Error(`[SigningEngine][near] unsupported Email OTP operation material`)}}let t=await ca(e.preparation,e.executor);return{kind:`passkey_live`,materialActivation:Re(t.activeClient.metadata()),material:t}}async function ua(e){ii({expected:e.expectedActivation,actual:e.material.materialActivation});let t,n=null;if(e.kind===`email_otp_live`||e.kind===`email_otp_sealed`)if(e.kind===`email_otp_live`)t=e.material.material;else{let r=await e.material.authorizeAndRehydrate({normalSigningRequest:e.normalSigningRequest,displayDigest:e.displayDigest,proof:e.proof});t=r.material,n=r.issuedAuthorization}else t=e.material.kind===`passkey_live`?e.material.material:await e.material.rehydrate(e.credential);try{return ii({expected:e.expectedActivation,actual:Re(t.activeClient.metadata())}),{material:t,issuedAuthorization:n}}catch(n){throw(e.material.kind===`passkey_sealed`||e.material.kind===`email_otp_sealed`)&&t.activeClient.dispose(),n}}async function da(e){let t=await ca(e.preparation,e.executor);return{thresholdSessionId:t.facts.thresholdSessionId,material:t,walletSessionState:await e.executor.resolveWalletSessionState()}}function fa(e){if(!e)throw Error(`[SigningEngine][near] confirmed operation step-up is missing preparation`);return e}function pa(e){if(!e)throw Error(`[SigningEngine][near] prepared operation step-up is missing`);if(e.kind!==`near_transaction`)throw Error(`[SigningEngine][near] prepared operation step-up is not a transaction`);return e}function ma(e){if(!e)throw Error(`[SigningEngine][near] transaction operation material is unavailable`);return e}function ha(e){e.owned&&e.resolved?.material.activeClient.dispose()}function ga(e,t){throw ha(e),t}async function _a(e){return{material:await ca(e.preparation,e.executor),walletSessionState:await e.executor.resolveWalletSessionState()}}function va(e){if(!e)throw Error(`[SigningEngine][near] warm signing material was not prepared`);return e}async function ya(e){if(e.authorization.kind===`passkey`){if(e.material.kind!==`passkey_live`&&e.material.kind!==`passkey_sealed`)throw Error(`[SigningEngine][near] passkey transaction material changed factor`);return await ua({kind:`passkey`,material:e.material,expectedActivation:e.prepared.materialActivation,credential:e.authorization.credential})}if(e.material.kind!==`email_otp_live`&&e.material.kind!==`email_otp_sealed`)throw Error(`[SigningEngine][near] Email OTP transaction material changed factor`);if(e.proof.kind!==`email_otp`)throw Error(`[SigningEngine][near] Email OTP transaction proof is missing`);return e.material.kind===`email_otp_live`?await ua({kind:`email_otp_live`,material:e.material,expectedActivation:e.prepared.materialActivation}):await ua({kind:`email_otp_sealed`,material:e.material,expectedActivation:e.prepared.materialActivation,normalSigningRequest:e.prepared.prepare.request,displayDigest:e.displayDigest,proof:e.proof})}function Z(e,t,n){try{e?.(xe({...n,flowId:`signing:near:${String(t)}:${n.phase}`,accountId:String(t)}))}catch{}}async function ba(e){let t=performance.now(),n=`failed`;try{if(!e.state)throw Error(`[SigningEngine][near] reusable Wallet Session state is unavailable`);let t=await e.coordinator.resolveActiveAuthorizedRouterAbEd25519WalletSessionState({state:e.state,nowMs:Date.now()});if(!t)throw Error(`[SigningEngine][near] reusable Wallet Session authorization is unavailable`);return n=`succeeded`,t}finally{U(e.operationId,`wallet_session_authorization`,t,n)}}async function xa(e){let t=await la({method:e.method,preparation:e.preparation,executor:e.executor}),n=sa(t);if(String(n.thresholdSessionId)!==e.expectedThresholdSessionId)throw Error(`[SigningEngine][near] prepared operation material changed threshold session`);return ei({requestId:e.requestId,build:async r=>{if(r.kind!==`near_transaction`)throw Error(`[SigningEngine][near] transaction step-up preparation kind changed`);if(r.operationId!==String(e.operation.operationId))throw Error(`[SigningEngine][near] operation step-up operation identity changed`);return await Ii({...e.operation,thresholdSessionId:n.thresholdSessionId,materialFacts:n,materialActivation:t.materialActivation,transactionContext:r.transactionContext,displayDigest:r.displayDigest})}}),ia({requestId:e.requestId,fund:async t=>await ta({...e.funding,request:t,fundingSession:await e.executor.resolveFundingSession(),method:e.method})}),t}function Sa(e){ti(e),aa(e)}function Ca(e){if(!e.readiness){Sa(e.requestId);return}e.readiness.then(Sa.bind(void 0,e.requestId),Sa.bind(void 0,e.requestId))}function wa(e){return e.selection.kind===`authorization_required`}async function Ta(e){return wa(e)?await Ea(e):await Da(e)}async function Ea(e){let{ctx:t,commandSubject:n,nearAccount:r,transaction:i,rpcCall:a,onEvent:o,confirmationConfigOverride:c,title:l,body:u,signerSlot:d,signingOperationState:p,signingSessionCoordinator:m,selection:h,yaoSigningPreparation:g,yaoMaterialExecutor:_,passkeyEd25519OperationStepUp:v,emailOtpEd25519StepUp:y}=e,b=p.operationId,x=h.candidate,S=P(r.accountId),ee=[];if(!t.touchConfirm)throw Error(`UiConfirm bridge not available for signing`);if(!m)throw Error(`[SigningEngine][near] production signing session coordinator is required`);let{thresholdKeyMaterial:te}=await Un({materialExecutor:_,nearAccount:r,signerSlot:x.signerSlot,requestedSignerSlot:d,operationLabel:`signing`,warnings:ee}),C=ja({nearAccountId:S,relayerUrl:t.relayerUrl,thresholdKeyMaterial:te}),ne={nearRpcUrl:a.nearRpcUrl||f(mt.network.chains),nearAccountId:S},{txSigningRequest:w,confirmationTransaction:T}=Wn({nearAccountId:String(S),transaction:i}),E=tr(w,`txSigningRequest`),D=H.signingOperationFingerprint(await qn({nearAccountId:S,nearNetworkId:s(t.chains||mt.network.chains),relayerKeyId:C.threshold.thresholdKeyMaterial.relayerKeyId,signerPublicKey:C.threshold.thresholdKeyMaterial.publicKey,transactions:[E]}));m.bindCallerProvidedOperationIdToFingerprint({operationId:b,operationFingerprint:D});let O=Ge(D),k={kind:`deferred_ed25519_material_identity`,signer:Ve({walletId:x.walletId,nearAccountId:x.nearAccountId,nearEd25519SigningKeyId:x.nearEd25519SigningKeyId,signerSlot:x.signerSlot}),materialActivation:x.materialActivation,thresholdSessionId:H.thresholdEd25519Session(x.thresholdSessionId)},re={kind:V.OperationStepUp,lane:{identity:k,auth:x.auth,curve:`ed25519`,keyKind:`threshold_ed25519`,chainFamily:`near`,sessionOrigin:`per_operation`,storageSource:`sealed_restore`,retention:`single_use`,materialActivation:k.materialActivation,thresholdSessionId:k.thresholdSessionId}},A=hr(x.auth),j={operationId:b,operationFingerprint:D,intent:Te.TransactionSign},M=await mr({signingAuthPlan:A,signingLaneAuth:x.auth,requiredSignatureUses:Dr(i),operationFingerprintDigest:O,...v?{passkeyEd25519OperationStepUp:v}:{},...y?{emailOtpEd25519StepUp:y}:{}});if(M.kind===`warm_session`)throw Error(`[SigningEngine][near] deferred Ed25519 transaction cannot use warm session`);let ie=Dr(i),ae=xa({requestId:String(b),expectedThresholdSessionId:String(k.thresholdSessionId),method:M.kind,preparation:g,executor:_,operation:{ctx:t,thresholdKeyMaterial:C.threshold.thresholdKeyMaterial,walletId:n.walletSession.walletId,nearAccountId:S,operationId:b,operationFingerprint:D,txSigningRequest:w},funding:{ctx:t,nearPublicKeyStr:C.signingNearPublicKeyStr,signingOperation:j,signatureUses:ie}}),N;try{N=await kt({signingSessionPlan:re,signingOperation:j,signingOperationState:p,runtime:t.touchConfirm,request:{ctx:{touchConfirm:t.touchConfirm},sessionId:String(b),chain:`near`,kind:`transaction`,...Ot({signingAuthPlan:M.confirmationAuthPayload.signingAuthPlan}),walletId:x.walletId,txSigningRequests:[T],rpcCall:ne,nearPublicKeyStr:C.signingNearPublicKeyStr,nearFundingRequest:{subject:{walletId:x.walletId,nearAccountId:S,nearPublicKeyStr:C.signingNearPublicKeyStr},operation:{...j,accountId:String(S)},signatureUses:ie},confirmationConfigOverride:At({signingAuthPlan:M.confirmationAuthPayload.signingAuthPlan,override:c}),title:l,body:u,confirmationReadiness:{promise:ae},onProgress:Sr.bind(void 0,{onEvent:o,nearAccountId:S,signingAuthPlan:M.confirmationAuthPayload.signingAuthPlan})}})}finally{Ca({requestId:String(b),readiness:ae})}let F=await ae,oe=sa(F),I=wr({prepared:M,confirmation:N});if(I.kind===`warm_session`)throw Error(`[SigningEngine][near] deferred transaction requires operation step-up`);let se=Di({authorization:I,preparation:g,auth:x.auth,walletId:n.walletSession.walletId}),ce=pa(ri({requestId:String(b),ref:fa(N.operationStepUpPreparation)})),le=await ya({material:F,prepared:ce,displayDigest:N.intentDigest,authorization:I,proof:ki(se)});Z(o,S,{phase:z.STEP_07_AUTHENTICATION_COMPLETE,status:`succeeded`,interaction:{kind:`none`,overlay:`none`},authMethod:Mt(M.confirmationAuthPayload.signingAuthPlan)});try{if(await t.nonceCoordinator.recoverDurableLeases({walletId:String(x.walletId)}),N.readiness.kind!==`context_ready`)throw Error(`[SigningEngine][near] implicit-account funding requires transaction context`);let e=await zi({ctx:t,thresholdSessionId:oe.thresholdSessionId,activeClient:le.material.activeClient,materialFacts:oe,thresholdKeyMaterial:C.threshold.thresholdKeyMaterial,walletId:n.walletSession.walletId,nearAccountId:S,operationId:b,operationFingerprint:D,displayDigest:N.intentDigest,txSigningRequest:w,transactionContext:N.readiness.transactionContext,authorization:{kind:`operation_step_up`,prepared:ce,displayDigest:N.intentDigest,proof:ki(se),issuedAuthorization:le.issuedAuthorization}});if(!e||e.authorization!==`operation_step_up`)throw Error(`[SigningEngine][near] operation step-up transaction signing is unavailable`);si({prepared:ce,issuedAuthorization:e.issuedAuthorization});let r=Aa({okResponse:e.okResponse,nearAccountId:S,warnings:ee,nonceLeases:N.readiness.nonceLeases});return await ka(t,N.readiness.nonceLeases),r}catch(e){throw ha({resolved:le,owned:F.kind===`passkey_sealed`||F.kind===`email_otp_sealed`}),e}}async function Da({ctx:e,commandSubject:t,nearAccount:n,transaction:r,rpcCall:i,onEvent:a,confirmationConfigOverride:o,title:c,body:l,signerSlot:u,signingOperationState:d,signingSessionCoordinator:p,transactionOperation:m,ed25519SigningBoundary:h,passkeyEd25519OperationStepUp:g,emailOtpEd25519StepUp:_,yaoSigningPreparation:v,yaoMaterialExecutor:y}){let b=performance.now(),x=d.operationId,S=P(n.accountId),ee=e.relayerUrl,te=[],C=e.nonceCoordinator.recoverDurableLeases({walletId:String(t.walletSession.walletId)});C.catch(()=>{}),Z(a,S,{phase:z.STEP_02_REQUEST_PREPARED,status:`running`,message:`Loading threshold signing state`,interaction:{kind:`none`,overlay:`none`}});let{thresholdKeyMaterial:ne}=await Un({materialExecutor:y,nearAccount:n,signerSlot:h.signingLane.identity.signer.signerSlot,requestedSignerSlot:u,operationLabel:`signing`,warnings:te}),w=ja({nearAccountId:S,relayerUrl:ee,thresholdKeyMaterial:ne}),T={nearRpcUrl:i.nearRpcUrl||f(mt.network.chains),nearAccountId:S},{txSigningRequest:E,confirmationTransaction:D}=Wn({nearAccountId:String(T.nearAccountId),transaction:r}),O=tr(E,`txSigningRequest`),k=H.signingOperationFingerprint(await qn({nearAccountId:S,nearNetworkId:s(e.chains||mt.network.chains),relayerKeyId:w.threshold.thresholdKeyMaterial.relayerKeyId,signerPublicKey:w.threshold.thresholdKeyMaterial.publicKey,transactions:[O]})),re=Ge(k);if(!e.touchConfirm)throw Error(`UiConfirm bridge not available for signing`);let A=e.touchConfirm;if(!p)throw Error(`[SigningEngine][near] production signing session coordinator is required`);p.bindCallerProvidedOperationIdToFingerprint({operationId:x,operationFingerprint:k});let j=Dr(r),M={operationId:x,operationFingerprint:k,intent:Te.TransactionSign},ie=async e=>await wt({signingSessionPlan:h.signingSessionPlan,signingOperation:M,commandKind:e.commandKind,execute:e.execute}),ae=h.thresholdSessionId,N=String(ae||``).trim(),F=h.signingAuthPlan,oe=h.signingLane;if(!m)throw Error(`[SigningEngine][near] threshold transaction signing requires prepared transaction operation`);if(bt(F)&&F.thresholdSessionId!==ae)throw Error(`[SigningEngine][near] warm-session auth plan must match prepared session identity`);let I={thresholdSessionId:bt(F)?F.thresholdSessionId:ae,lane:oe,signingAuthPlan:F,confirmationAuthPayload:{signingAuthPlan:F},warmSessionReady:bt(F)},se=oe,ce=new Set,le=e=>{ce.has(e)||(ce.add(e),Je(`near`,Xe({event:`auth_side_effect_started`,lane:se,sideEffect:e,phase:`confirmed`})))},ue=e=>{e.phase===`auth.passkey.prompt.started`&&le(`passkey_reauth`),Sr({onEvent:a,nearAccountId:S,signingAuthPlan:I.confirmationAuthPayload.signingAuthPlan},e)},de=await mr({signingAuthPlan:F,signingLaneAuth:oe.auth,requiredSignatureUses:j,operationFingerprintDigest:re,...g?{passkeyEd25519OperationStepUp:g}:{},..._?{emailOtpEd25519StepUp:_}:{}}),fe=de.kind===`warm_session`?_a({preparation:v,executor:y}):null;fe?.catch(()=>{});let pe=de.confirmationAuthPayload;bt(pe.signingAuthPlan)&&Z(a,S,{phase:z.STEP_06_AUTH_WARM_SESSION_CLAIMED,status:`succeeded`,interaction:{kind:`none`,overlay:`none`},data:{thresholdSessionId:pe.signingAuthPlan.thresholdSessionId,expiresAtMs:pe.signingAuthPlan.expiresAtMs,remainingUses:pe.signingAuthPlan.remainingUses}});let me=!Ft(d.current);me&&Z(a,S,{phase:z.STEP_05_CONFIRMATION_DISPLAYED,status:`waiting_for_user`,message:`Opening confirmation prompt`,interaction:{kind:`transaction_confirmation`,overlay:`show`}});let he=de.kind===`warm_session`?null:xa({requestId:N,expectedThresholdSessionId:N,method:de.kind,preparation:v,executor:y,operation:{ctx:e,thresholdKeyMaterial:w.threshold.thresholdKeyMaterial,walletId:t.walletSession.walletId,nearAccountId:S,operationId:M.operationId,operationFingerprint:k,txSigningRequest:E},funding:{ctx:e,nearPublicKeyStr:w.signingNearPublicKeyStr,signingOperation:M,signatureUses:j}});U(String(x),`pre_confirmation`,b);let ge=performance.now(),L;try{L=await kt({signingSessionPlan:h.signingSessionPlan,signingOperation:M,signingOperationState:d,runtime:A,request:{ctx:{touchConfirm:A},sessionId:N,chain:`near`,kind:`transaction`,...Ot({signingAuthPlan:pe.signingAuthPlan}),walletId:String(oe.identity.signer.account.wallet.walletId),txSigningRequests:[D],rpcCall:T,nearPublicKeyStr:w.signingNearPublicKeyStr,nearFundingRequest:{subject:{walletId:oe.identity.signer.account.wallet.walletId,nearAccountId:S,nearPublicKeyStr:w.signingNearPublicKeyStr},operation:{...M,accountId:String(S)},signatureUses:j},confirmationConfigOverride:At({signingAuthPlan:pe.signingAuthPlan,override:o}),title:c,body:l,...he?{confirmationReadiness:{promise:he}}:{},onProgress:ue}})}finally{Ca({requestId:N,readiness:he})}let _e=performance.now();U(String(x),`confirmation`,ge);let ve=he?await he:null;me&&Z(a,S,{phase:z.STEP_05_CONFIRMATION_APPROVED,status:`succeeded`,interaction:{kind:`transaction_confirmation`,overlay:`hide`}});let R=wr({prepared:de,confirmation:L}),ye=R.kind===`warm_session`?null:Di({authorization:R,preparation:v,auth:m.lane.auth,walletId:t.walletSession.walletId}),be=R.kind===`warm_session`?null:ri({requestId:N,ref:fa(L.operationStepUpPreparation)}),xe=R.kind===`warm_session`?null:await ya({material:ma(ve),prepared:pa(be),displayDigest:L.intentDigest,authorization:R,proof:ki(ye)}),Se=ve?.kind===`passkey_sealed`||ve?.kind===`email_otp_sealed`,Ce=performance.now();try{await C,U(String(M.operationId),`durable_lease_recovery_wait`,Ce)}catch(e){throw U(String(M.operationId),`durable_lease_recovery_wait`,Ce,`failed`),ha({resolved:xe,owned:Se}),e}let we=!1,{canonicalThresholdSessionId:B,activeClient:V,walletSessionState:Ee,operationMaterialFacts:De,issuedAuthorization:Oe,transactionContext:ke,nonceLeaseRefs:Ae}=await ie({commandKind:Dt.PreparePayload,execute:async()=>{Z(a,S,{phase:z.STEP_08_SIGNER_PREPARE_STARTED,status:`running`,message:`Preparing NEAR signer`,interaction:{kind:`none`,overlay:`none`}});let t=performance.now(),n=R.kind===`warm_session`?{kind:`warm_session`,resolved:await va(fe)}:{kind:`operation_step_up`,resolved:xe};U(String(M.operationId),`material_resolution_wait`,t);let r=(n.kind,n.resolved.material.facts.thresholdSessionId),i=(n.kind,n.resolved.material.activeClient),o=n.kind===`warm_session`?n.resolved.walletSessionState:null,s=performance.now(),c=n.kind===`warm_session`?await $i({confirmation:L,ctx:e,nearPublicKeyStr:w.signingNearPublicKeyStr,walletSessionState:o,authorization:R,signingOperation:M,signatureUses:j}):L.readiness.kind===`context_ready`?L.readiness:(()=>{throw Error(`[SigningEngine][near] operation step-up confirmation did not resolve a transaction context`)})();return U(String(M.operationId),`transaction_context`,s),Z(a,S,{phase:z.STEP_07_AUTHENTICATION_COMPLETE,status:`succeeded`,interaction:{kind:`none`,overlay:`none`},authMethod:I.warmSessionReady?`warm_session`:I.signingAuthPlan.method}),Z(a,S,{phase:z.STEP_08_SIGNER_PREPARE_SUCCEEDED,status:`succeeded`,message:`NEAR signer ready`,interaction:{kind:`none`,overlay:`none`},data:{signer:`threshold-ed25519`,thresholdSessionId:r,clientBaseSource:`yao_active_client`}}),{canonicalThresholdSessionId:r,activeClient:i,walletSessionState:o,operationMaterialFacts:n.kind===`operation_step_up`?n.resolved.material.facts:null,issuedAuthorization:n.kind===`operation_step_up`?n.resolved.issuedAuthorization:null,transactionContext:c.transactionContext,nonceLeaseRefs:c.nonceLeases}}}).catch(ga.bind(void 0,{resolved:xe,owned:Se})),je=async t=>{we||!Ae.length||await Oa(e,Ae,`signing_failed`).catch(e=>{console.warn(`[SigningEngine][near][transaction] failed to release nonce leases`,{originalError:t instanceof Error?t.message:String(t||``),releaseError:e instanceof Error?e.message:String(e||``)})})},Me=async n=>{Z(a,S,{phase:z.STEP_10_COMMIT_STARTED,status:`running`,interaction:{kind:`none`,overlay:`none`}});let r=R.kind===`warm_session`?await zi({ctx:e,thresholdSessionId:B,activeClient:n,sessionCoordinator:p,walletSessionState:await ba({state:Ee,coordinator:p,operationId:String(M.operationId)}),thresholdKeyMaterial:w.threshold.thresholdKeyMaterial,walletId:t.walletSession.walletId,nearAccountId:S,operationId:M.operationId,operationFingerprint:k,displayDigest:L.intentDigest,txSigningRequest:E,transactionContext:ke,authorization:{kind:`reusable_wallet_session`}}):await zi({ctx:e,thresholdSessionId:B,activeClient:n,materialFacts:De,thresholdKeyMaterial:w.threshold.thresholdKeyMaterial,walletId:t.walletSession.walletId,nearAccountId:S,operationId:M.operationId,operationFingerprint:k,displayDigest:L.intentDigest,txSigningRequest:E,transactionContext:ke,authorization:{kind:`operation_step_up`,prepared:pa(be),displayDigest:L.intentDigest,proof:R.kind===`passkey`?{kind:`passkey`,authority:R.plannedPasskeyOperationStepUp.authority,credential:R.credential}:{...Ei({preparation:v,auth:m.lane.auth,walletId:t.walletSession.walletId,challengeId:R.challengeId,otpCode:R.otpCode})},issuedAuthorization:Oe}});if(r)return r.okResponse;throw Error(`[SigningEngine][near] Router A/B Ed25519 signing is unavailable`)};return await ie({commandKind:Dt.Sign,execute:async()=>{try{let t=await Me(V);we=!0;let n=performance.now();await ka(e,Ae),U(String(M.operationId),`nonce_lease_commit`,n);let r=performance.now(),i=Aa({okResponse:t,nearAccountId:S,warnings:te,nonceLeases:Ae});return U(String(M.operationId),`transaction_assembly`,r),U(String(M.operationId),`confirmed_to_signed`,_e),Z(a,S,{phase:z.STEP_11_TRANSACTION_SIGNED,status:`succeeded`,interaction:{kind:`none`,overlay:`hide`}}),Z(a,S,{phase:z.STEP_15_COMPLETED,status:`succeeded`,interaction:{kind:`none`,overlay:`none`},data:{operation:`sign`}}),i}catch(e){let t=e instanceof Error?e:Error(String(e));throw await je(t),ha({resolved:xe,owned:Se}),t}}})}async function Oa(e,t,n){t.length&&await Promise.all(t.map(t=>e.nonceCoordinator.release({leaseId:t.leaseId,operationId:t.operationId,operationFingerprint:t.operationFingerprint,reason:n})))}async function ka(e,t){t.length&&await Promise.all(t.map(t=>e.nonceCoordinator.markSigned({leaseId:t.leaseId,operationId:t.operationId,operationFingerprint:t.operationFingerprint})))}function Aa(e){let t=e.okResponse.payload.signedTransactions||[];if(t.length!==1)throw Error(`Expected one signed transaction but received ${t.length}`);let n=t[0];if(!n||!n.transaction||!n.signature)throw Error(`Incomplete signed transaction data received`);let r=e.nonceLeases?.[0],i=n.serverDispatch;return{signedTransaction:new Nn({transaction:n.transaction,signature:n.signature,borsh_bytes:Array.from(n.borshBytes||[]),...r?{nonceLease:r}:{},...i?{serverDispatch:i}:{}}),nearAccountId:P(e.nearAccountId),logs:[...e.okResponse.payload.logs||[],...e.warnings],...r?{nonceLease:r}:{}}}function ja(e){let t=e.thresholdKeyMaterial;if(!t)throw Error(`Missing threshold key material for ${e.nearAccountId}`);let n=String(t.publicKey||``).trim();if(!n)throw Error(`Missing threshold signing public key for ${e.nearAccountId}`);let r=String(e.relayerUrl||``).trim();if(!r)throw Error(`Missing relayerUrl (required for threshold-signer)`);let i=x(t.participants.map(e=>e.id));if(!i||i.length<2)throw Error(`Invalid threshold signing participantIds (expected >=2 participants, got [${(i||[]).join(`,`)}])`);return{signingNearPublicKeyStr:n,threshold:{relayerUrl:r,thresholdKeyMaterial:t}}}const Ma=e=>typeof e==`string`?e:N(ae(e.keyData));function Q(e){return typeof e!=`number`||!Number.isFinite(e)||e<0?null:Math.round(e)}function Na(e){if(e==null||!o(e))return;let t=e;if(t.kind!==`registration_confirmation_diagnostics_v1`)return;let n=Q(t.workerReadyMs),r=Q(t.workerRequestRoundTripMs),i=Q(t.workerResponseValidationMs),a=Q(t.requestSetupMs),s=Q(t.promptUserMs),c=Q(t.promptElementDefineMs),l=Q(t.promptMountMs),u=Q(t.promptHostFirstUpdateMs),d=Q(t.promptHostInteractiveMs),f=Q(t.promptConfirmEventMs),p=Q(t.promptDecisionWaitMs),m=Q(t.credentialCreateStartMs),h=Q(t.credentialCreateMs),g=Q(t.credentialSerializeMs),_=Q(t.duplicateRetryCount),v=Q(t.mainThreadTotalMs);if(!(n==null||r==null||i==null||a==null||s==null||c==null||l==null||u==null||d==null||f==null||p==null||m==null||h==null||g==null||_==null||v==null))return{kind:`registration_confirmation_diagnostics_v1`,workerReadyMs:n,workerRequestRoundTripMs:r,workerResponseValidationMs:i,requestSetupMs:a,promptUserMs:s,promptElementDefineMs:c,promptMountMs:l,promptHostFirstUpdateMs:u,promptHostInteractiveMs:d,promptConfirmEventMs:f,promptDecisionWaitMs:p,credentialCreateStartMs:m,credentialCreateMs:h,credentialSerializeMs:g,duplicateRetryCount:_,mainThreadTotalMs:v}}function Pa(e){if(e==null)return;if(!o(e))throw Error(`Invalid transactionContext: expected object`);let{nearPublicKeyStr:t,nextNonce:n,txBlockHeight:r,txBlockHash:i,accessKeyInfo:a}=e,s=d(t,`transactionContext.nearPublicKeyStr`),c=d(n,`transactionContext.nextNonce`),l=d(r,`transactionContext.txBlockHeight`),u=d(i,`transactionContext.txBlockHash`),f=a;if(f!=null&&!o(f))throw Error(`Invalid transactionContext.accessKeyInfo: expected object`);return f??={nonce:0},{nearPublicKeyStr:s,nextNonce:c,txBlockHeight:l,txBlockHash:u,accessKeyInfo:f}}function Fa(e){if(e==null)return;let t=Ae(e);if(t.type!==`public-key`)throw Error(`Invalid credential.type: expected "public-key"`);let{id:n,rawId:r,response:i,authenticatorAttachment:a}=t;if(d(n,`credential.id`),d(r,`credential.rawId`),!o(i))throw Error(`Invalid credential.response: expected object`);let{clientDataJSON:s,attestationObject:c,transports:l}=i;if(d(s,`credential.response.clientDataJSON`),d(c,`credential.response.attestationObject`),!Array.isArray(l))throw Error(`Invalid credential.response.transports: expected string[]`);for(let e of l)if(typeof e!=`string`)throw Error(`Invalid credential.response.transports item: expected string`);if(a!=null&&typeof a!=`string`)throw Error(`Invalid credential.authenticatorAttachment: expected string | undefined`);return t}function Ia(e){if(!o(e))throw Error(`Invalid response payload: expected object`);let{confirmed:t,requestId:n,intentDigest:r,credential:i,transactionContext:a,registrationDiagnostics:s,error:c}=e,l=d(n,`requestId`),u=r==null?``:d(r,`intentDigest`),f=i==null?void 0:Fa(i);if(!f)throw Error(`Missing registration credential`);let p=a==null?void 0:Pa(a),m=Na(s),h=c==null?void 0:d(c,`error`);return{confirmed:!!t,requestId:l,intentDigest:u,credential:f,...p?{transactionContext:p}:{},...m?{registrationDiagnostics:m}:{},...h==null?{}:{error:h}}}function La(e){let t=e.selectedLane.identity.signer,n=I(e.commandSubject.walletSession.walletId),r=String(e.commandSubject.nearAccount.accountId);if(t.account.wallet.walletId!==n||String(t.account.nearAccountId)!==r)throw Error(`[SigningEngine][near] selected Ed25519 lane does not match command subject`);return{walletId:n,nearAccountId:r}}function Ra(e){let t=e.selectedLane.identity.signer,n={walletId:t.account.wallet.walletId,nearAccountId:t.account.nearAccountId,nearEd25519SigningKeyId:t.nearEd25519SigningKeyId,signerSlot:t.signerSlot,walletSessionId:e.selectedLane.walletSessionId,quotaId:e.selectedLane.quotaId,thresholdSessionId:e.selectedLane.thresholdSessionId};switch(e.selectedLane.auth.kind){case`passkey`:return He({...n,auth:e.selectedLane.auth,storageSource:`login`});case`email_otp`:{let t=e.preparation.authorization.kind===`authorized`;return He({...n,auth:e.selectedLane.auth,retention:t?`session`:`single_use`,sessionOrigin:t?`login`:`per_operation`})}default:throw e.selectedLane.auth,Error(`[SigningEngine][near] unsupported selected Ed25519 auth binding`)}}function za(e){let t=H.thresholdEd25519Session(e.selectedLane.thresholdSessionId);switch(e.preparation.authorization.kind){case`authorized`:{let n=e.preparation.authorization.authorization.status,r=n.remainingUses,i=n.expiresAtMs,a=i<=Date.now()?`expired`:r<e.requiredSignatureUses?`exhausted`:`ready`;return{readiness:a===`expired`?{status:`expired`,curve:`ed25519`,thresholdSessionId:t,expiresAtMs:i}:{status:a,curve:`ed25519`,thresholdSessionId:t,remainingUses:r,expiresAtMs:i},expiresAtMs:i,remainingUses:r,forceFreshAuth:a!==`ready`}}case`authorization_required`:return{readiness:{status:`missing_session`,curve:`ed25519`,thresholdSessionId:t},expiresAtMs:0,remainingUses:0,forceFreshAuth:!0};default:throw e.preparation.authorization,Error(`[SigningEngine][near] unsupported material authorization state`)}}function Ba(e){La(e);let t=Math.max(1,Math.floor(Number(e.requiredSignatureUses)||1)),n=Ra(e),r=za({selectedLane:e.selectedLane,preparation:e.preparation,requiredSignatureUses:t});return Ye(`near`,n,{reason:`near_threshold_auth_plan`}),{thresholdSessionId:H.thresholdEd25519Session(e.selectedLane.thresholdSessionId),lane:n,coordinatorInput:{lane:n,readiness:r.readiness,expiresAtMs:r.expiresAtMs,remainingUses:r.remainingUses,forceFreshAuth:e.forceFreshAuth||r.forceFreshAuth}}}function Va(e){let{lane:t}=e.context,n=e.resolvedSigningSession,r=n.signingSessionPlan;if(r.kind===V.NotReady)throw Error(`[SigningEngine][near] signing session is not ready: ${r.reason}`);return{signingAuthPlan:Pt({plan:r,accountId:String(t.identity.signer.account.nearAccountId),intent:Te.TransactionSign,curve:`ed25519`,expiresAtMs:n.expiresAtMs,remainingUses:n.remainingUses})}}function Ha(e,t){if(!t)throw Error(`[SigningEngine][near] ${e} operation step-up preparation is missing`);return t}function Ua(e,t){if(!t||t.kind!==`near_signature_only`)throw Error(`[SigningEngine][near] ${e} operation step-up preparation kind changed`);return t}function Wa(e,t){if(!t)throw Error(`[SigningEngine][near] ${e} operation step-up material is missing`);return t}function Ga(e,t){if(!t)throw Error(`[SigningEngine][near] ${e} operation signing digest is missing`);return t}function Ka(e){if(!e)throw Error(`[SigningEngine][near] reusable Wallet Session authorization is unavailable`);return e}async function qa(e){if(e.authorization.kind===`passkey`){if(e.material.kind!==`passkey_live`&&e.material.kind!==`passkey_sealed`)throw Error(`[SigningEngine][near] passkey ${e.label} material changed factor`);return await ua({kind:`passkey`,material:e.material,expectedActivation:e.prepared.materialActivation,credential:e.authorization.credential})}if(e.material.kind!==`email_otp_live`&&e.material.kind!==`email_otp_sealed`)throw Error(`[SigningEngine][near] Email OTP ${e.label} material changed factor`);if(!e.emailOtpProof)throw Error(`[SigningEngine][near] Email OTP ${e.label} proof is missing`);return e.material.kind===`email_otp_live`?await ua({kind:`email_otp_live`,material:e.material,expectedActivation:e.prepared.materialActivation}):await ua({kind:`email_otp_sealed`,material:e.material,expectedActivation:e.prepared.materialActivation,normalSigningRequest:e.prepared.prepare.request,displayDigest:e.displayDigest,proof:e.emailOtpProof})}function Ja(e){if(e.selection.kind===`authorized`){let t=Ba({requiredSignatureUses:1,commandSubject:e.commandSubject,forceFreshAuth:e.forceFreshAuth,selectedLane:e.selection.selectedLane,preparation:e.preparation}),n={signingSessionPlan:yn({lane:t.coordinatorInput.lane,readiness:t.coordinatorInput.readiness,forceFreshAuth:t.coordinatorInput.forceFreshAuth}),readiness:t.coordinatorInput.readiness,expiresAtMs:t.coordinatorInput.expiresAtMs||0,remainingUses:t.coordinatorInput.remainingUses||0};return{signingAuthPlan:Va({context:t,resolvedSigningSession:n}).signingAuthPlan,signingSessionPlan:n.signingSessionPlan}}let t=e.selection.candidate,n=hr(t.auth),r={kind:`deferred_ed25519_material_identity`,signer:Ve({walletId:t.walletId,nearAccountId:t.nearAccountId,nearEd25519SigningKeyId:t.nearEd25519SigningKeyId,signerSlot:t.signerSlot}),materialActivation:t.materialActivation,thresholdSessionId:H.thresholdEd25519Session(t.thresholdSessionId)};return{signingAuthPlan:n,signingSessionPlan:{kind:V.OperationStepUp,lane:{identity:r,auth:t.auth,curve:`ed25519`,keyKind:`threshold_ed25519`,chainFamily:`near`,sessionOrigin:`per_operation`,storageSource:`sealed_restore`,retention:`single_use`,materialActivation:r.materialActivation,thresholdSessionId:r.thresholdSessionId}}}}async function Ya(e,t){let n=await mr({signingAuthPlan:t.signingAuthPlan,signingLaneAuth:e.auth,requiredSignatureUses:1,operationFingerprintDigest:Ge(e.signingOperation.operationFingerprint),passkeyEd25519OperationStepUp:t.passkeyEd25519OperationStepUp,emailOtpEd25519StepUp:t.emailOtpEd25519StepUp});if(n.kind===`warm_session`)return{preparedStepUp:n,operationStepUp:null};let r=await la({method:n.kind,preparation:e.preparation,executor:e.executor}),i=sa(r),a=await e.computeSigningDigestB64u();return ei({requestId:String(e.signingOperation.operationId),build:async t=>{if(t.kind!==`near_signature_only`)throw Error(`[SigningEngine][near] ${e.label} operation step-up preparation kind changed`);return await Ti({ctx:e.ctx,thresholdSessionId:i.thresholdSessionId,materialFacts:i,walletId:e.walletId,nearAccountId:e.nearAccountId,materialActivation:r.materialActivation,operationId:e.signingOperation.operationId,operationFingerprint:e.signingOperation.operationFingerprint,displayDigest:t.displayDigest,signingDigestB64u:a,intent:e.intent})}}),{preparedStepUp:n,operationStepUp:{material:r,signingDigestB64u:a}}}async function Xa(e,t){let n=String(e.signingOperation.operationId);try{return await Et({signingSessionPlan:e.signingSessionPlan,signingOperation:e.signingOperation,runtime:t.touchConfirm,request:{ctx:{touchConfirm:t.touchConfirm},sessionId:n,chain:`near`,...t.request,...Ot({signingAuthPlan:t.signingAuthPlan}),walletId:String(e.walletId),nearAccountId:e.nearAccountId,nearPublicKeyStr:t.nearPublicKeyStr,title:t.title,body:t.body,confirmationConfigOverride:At({signingAuthPlan:t.signingAuthPlan,override:t.confirmationConfigOverride}),onProgress:Sr.bind(void 0,{onEvent:t.onEvent,nearAccountId:e.nearAccountId,signingAuthPlan:t.signingAuthPlan})}})}finally{ti(n)}}function Za(e,t,n){let r=wr({prepared:t.preparedStepUp,confirmation:n});if(r.kind===`warm_session`)return{kind:`warm_session`,displayDigest:n.intentDigest,stepUpAuthorization:r};let i=Di({authorization:r,preparation:e.preparation,auth:e.auth,walletId:e.walletId}),a=Ua(e.label,ri({requestId:String(e.signingOperation.operationId),ref:Ha(e.label,n.operationStepUpPreparation)}));return{kind:`operation_step_up`,displayDigest:n.intentDigest,stepUpAuthorization:r,proof:i,prepared:a,...Wa(e.label,t.operationStepUp)}}async function Qa(e,t,n){if(t.preparedStepUp.kind!==`warm_session`||e.intent.kind!==`nep413_message_v1`)return null;let r=await da({preparation:e.preparation,executor:e.executor}),i=Ka(await n.resolveActiveAuthorizedRouterAbEd25519WalletSessionState({state:r.walletSessionState,nowMs:Date.now()})),a=await Pi({ctx:e.ctx,thresholdSessionId:r.thresholdSessionId,activeClient:r.material.activeClient,walletSessionState:i,walletId:e.walletId,thresholdKeyMaterial:e.thresholdKeyMaterial,nearAccountId:e.nearAccountId,operationId:e.signingOperation.operationId,operationFingerprint:e.signingOperation.operationFingerprint,displayDigest:await Qe({nearAccountId:e.nearAccountId,recipient:e.intent.recipient,message:e.intent.message}),signingDigestB64u:await e.computeSigningDigestB64u(),intent:e.intent});return a?{resolved:r,started:a}:null}async function $a(e,t,n=null){if(t.kind===`warm_session`){let r=n?.resolved??await da({preparation:e.preparation,executor:e.executor});return{kind:`warm_session`,thresholdSessionId:r.thresholdSessionId,displayDigest:t.displayDigest,resolved:r,startedPrepare:n?.started}}return n&&Fi(n.started),{kind:`operation_step_up`,thresholdSessionId:sa(t.material).thresholdSessionId,displayDigest:t.displayDigest,resolved:await qa({label:e.label,material:t.material,prepared:t.prepared,displayDigest:t.displayDigest,authorization:t.stepUpAuthorization,emailOtpProof:t.proof.kind===`email_otp`?t.proof:null}),proof:t.proof,prepared:t.prepared,signingDigestB64u:t.signingDigestB64u}}async function eo(e,t,n){let r=t.kind===`warm_session`?await e.computeSigningDigestB64u():Ga(e.label,t.signingDigestB64u),i=t.kind===`warm_session`?await Mi({ctx:e.ctx,thresholdSessionId:t.thresholdSessionId,activeClient:t.resolved.material.activeClient,sessionCoordinator:n,walletSessionState:Ka(await n.resolveActiveAuthorizedRouterAbEd25519WalletSessionState({state:t.resolved.walletSessionState,nowMs:Date.now()})),walletId:e.walletId,thresholdKeyMaterial:e.thresholdKeyMaterial,nearAccountId:e.nearAccountId,operationId:e.signingOperation.operationId,operationFingerprint:e.signingOperation.operationFingerprint,displayDigest:t.displayDigest,signingDigestB64u:r,intent:e.intent,authorization:{kind:`reusable_wallet_session`},startedPrepare:t.startedPrepare}):await Mi({ctx:e.ctx,thresholdSessionId:t.thresholdSessionId,activeClient:t.resolved.material.activeClient,materialFacts:t.resolved.material.facts,walletId:e.walletId,thresholdKeyMaterial:e.thresholdKeyMaterial,nearAccountId:e.nearAccountId,operationId:e.signingOperation.operationId,operationFingerprint:e.signingOperation.operationFingerprint,displayDigest:t.displayDigest,signingDigestB64u:r,intent:e.intent,authorization:{kind:`operation_step_up`,prepared:t.prepared,proof:t.proof,issuedAuthorization:t.resolved.issuedAuthorization}});if(!i)throw Error(`[SigningEngine][near] Router A/B Ed25519 ${e.label} signing is unavailable`);return t.kind===`operation_step_up`&&i.authorization===`operation_step_up`&&si({prepared:t.prepared,issuedAuthorization:i.issuedAuthorization}),{signingDigestB64u:r,signatureB64u:i.signatureB64u,signerPublicKey:i.signerPublicKey}}async function to(e,t){return await wt({signingSessionPlan:e.signingSessionPlan,signingOperation:e.signingOperation,commandKind:Dt.Sign,execute:async()=>{try{return await t()}catch(e){throw e instanceof Error?e:Error(String(e))}}})}function $(e,t,n){try{e?.(xe({...n,flowId:`signing:near:${String(t)}:${n.phase}`,accountId:String(t)}))}catch{}}function no(e){switch(e.kind){case`warm_session`:return`warm_session`;case`passkey`:return`passkey`;case`email_otp`:return`email_otp`;default:return ro(e)}}function ro(e){throw Error(`[SigningEngine][near] unsupported prepared step-up: ${String(e)}`)}async function io({ctx:e,commandSubject:t,nearAccount:n,delegate:r,rpcCall:i,onEvent:a,confirmationConfigOverride:o,title:c,body:l,operationId:u,signerSlot:d,signingSessionCoordinator:p,forceFreshAuth:m,passkeyEd25519OperationStepUp:h,emailOtpEd25519StepUp:g,yaoSigningPreparation:_,yaoMaterialExecutor:v,selection:y}){let b=y.kind===`authorized`?y.selectedLane.auth:y.candidate.auth,x=y.kind===`authorized`?y.selectedLane.identity.signer.signerSlot:y.candidate.signerSlot,S=P(n.accountId),ee=e.relayerUrl,te={nearRpcUrl:i.nearRpcUrl||f(mt.network.chains),nearAccountId:S},C=[],ne=e.touchConfirm;if(!ne)throw Error(`UiConfirm bridge not available for delegate signing`);let{signingAuthPlan:w,signingSessionPlan:T}=Ja({selection:y,commandSubject:t,forceFreshAuth:m,preparation:_});$(a,S,{phase:z.STEP_02_REQUEST_PREPARED,status:`running`,message:`Loading threshold signing state`,interaction:{kind:`none`,overlay:`none`}});let{thresholdKeyMaterial:E}=await Un({materialExecutor:v,nearAccount:n,signerSlot:x,requestedSignerSlot:d,operationLabel:`delegate signing`,warnings:C}),D=ao({nearAccountId:S,relayerUrl:ee,thresholdKeyMaterial:E,providedDelegatePublicKey:r.publicKey,warnings:C}),O=Gn({nearAccountId:S,delegate:r,signingPublicKey:D.delegatePublicKeyStr}),k={...O.workerDelegate,actions:O.workerDelegate.actions.map((e,t)=>rr(e,`delegate.actions[${t}]`))},re={operationId:u,operationFingerprint:H.signingOperationFingerprint(await Xn({nearAccountId:S,nearNetworkId:s(e.chains||mt.network.chains),relayerKeyId:D.threshold.thresholdKeyMaterial.relayerKeyId,signerPublicKey:D.delegatePublicKeyStr,delegate:k})),intent:Te.TransactionSign},A={label:`delegate`,ctx:e,walletId:t.walletSession.walletId,nearAccountId:S,auth:b,signingSessionPlan:T,signingOperation:re,thresholdKeyMaterial:D.threshold.thresholdKeyMaterial,preparation:_,executor:v,intent:{kind:`near_delegate_action_v1`,delegate:k},computeSigningDigestB64u:async()=>(await jr({delegate:O.workerDelegate,workerCtx:e})).signingDigestB64u},j=await Ya(A,{signingAuthPlan:w,passkeyEd25519OperationStepUp:h,emailOtpEd25519StepUp:g}),M=j.preparedStepUp.confirmationAuthPayload;bt(M.signingAuthPlan)&&$(a,S,{phase:z.STEP_06_AUTH_WARM_SESSION_CLAIMED,status:`succeeded`,interaction:{kind:`none`,overlay:`none`},data:{thresholdSessionId:M.signingAuthPlan.thresholdSessionId,expiresAtMs:M.signingAuthPlan.expiresAtMs,remainingUses:M.signingAuthPlan.remainingUses}}),$(a,S,{phase:z.STEP_05_CONFIRMATION_DISPLAYED,status:`waiting_for_user`,message:`Opening confirmation prompt`,interaction:{kind:`transaction_confirmation`,overlay:`show`}});let ie=await Xa(A,{touchConfirm:ne,signingAuthPlan:M.signingAuthPlan,nearPublicKeyStr:D.signingNearPublicKeyStr,onEvent:a,title:c,body:l,confirmationConfigOverride:o,request:{kind:`delegate`,delegate:O.confirmationDelegate,rpcCall:te}});$(a,S,{phase:z.STEP_05_CONFIRMATION_APPROVED,status:`succeeded`,interaction:{kind:`transaction_confirmation`,overlay:`hide`}});let ae=Za(A,j,ie),N=await wt({signingSessionPlan:T,signingOperation:re,commandKind:Dt.PreparePayload,execute:async()=>{$(a,S,{phase:z.STEP_08_SIGNER_PREPARE_STARTED,status:`running`,message:`Preparing NEAR signer`,interaction:{kind:`none`,overlay:`none`}});let e=await $a(A,ae);return $(a,S,{phase:z.STEP_07_AUTHENTICATION_COMPLETE,status:`succeeded`,interaction:{kind:`none`,overlay:`none`},authMethod:no(j.preparedStepUp)}),$(a,S,{phase:z.STEP_08_SIGNER_PREPARE_SUCCEEDED,status:`succeeded`,message:`NEAR signer ready`,interaction:{kind:`none`,overlay:`none`},data:{signer:`threshold-ed25519`,thresholdSessionId:e.thresholdSessionId,clientBaseSource:`yao_active_client`}}),e}}),F=await to(A,async()=>{$(a,S,{phase:z.STEP_10_COMMIT_STARTED,status:`running`,interaction:{kind:`none`,overlay:`none`}});let t=await eo(A,N,p),n=await _i({ctx:e,delegate:O.workerDelegate,signingDigestB64u:t.signingDigestB64u,signatureB64u:t.signatureB64u});return{type:Ut.SignDelegateActionSuccess,payload:{success:!0,hash:n.hash,signedDelegate:n.signedDelegate,logs:[`Delegate action signed through Router A/B normal signing`],error:void 0}}});return $(a,S,{phase:z.STEP_11_TRANSACTION_SIGNED,status:`succeeded`,interaction:{kind:`none`,overlay:`hide`}}),$(a,S,{phase:z.STEP_15_COMPLETED,status:`succeeded`,interaction:{kind:`none`,overlay:`none`},data:{operation:`sign_delegate`,hash:F.payload.hash}}),{signedDelegate:F.payload.signedDelegate,hash:F.payload.hash,nearAccountId:P(S),logs:[...F.payload.logs||[],...C]}}function ao(e){let t=N(Ma(e.providedDelegatePublicKey)),n=e.thresholdKeyMaterial;if(!n)throw Error(`Missing threshold key material for ${e.nearAccountId}`);let r=N(n.publicKey);if(!r)throw Error(`Missing threshold signing public key for ${e.nearAccountId}`);if(t&&t!==r&&e.warnings.push(`Delegate public key ${t} does not match threshold signer key; using ${r}`),!String(e.relayerUrl||``).trim())throw Error(`Missing relayerUrl (required for threshold-signer)`);let i=x(n.participants.map(e=>e.id));if(!i||i.length<2)throw Error(`Invalid threshold signing participantIds (expected >=2 participants, got [${(i||[]).join(`,`)}])`);return{signingNearPublicKeyStr:r,delegatePublicKeyStr:r,threshold:{thresholdKeyMaterial:n}}}async function oo({ctx:e,commandSubject:t,nearAccount:n,signingSessionCoordinator:r,payload:i,forceFreshAuth:a,passkeyEd25519OperationStepUp:o,emailOtpEd25519StepUp:c,yaoSigningPreparation:l,yaoMaterialExecutor:u,selection:d,onEvent:f}){let p=d.kind===`authorized`?d.selectedLane.auth:d.candidate.auth,m=d.kind===`authorized`?d.selectedLane.identity.signer.signerSlot:d.candidate.signerSlot,h=i.operationId,v=performance.now(),y=e.relayerUrl,b=n.accountId,x=e.touchConfirm;if(!x)throw Error(`UiConfirm bridge not available for NEP-413 signing`);let{signingAuthPlan:S,signingSessionPlan:ee}=Ja({selection:d,commandSubject:t,forceFreshAuth:a,preparation:l}),{thresholdKeyMaterial:te}=await Un({materialExecutor:u,nearAccount:n,signerSlot:m,requestedSignerSlot:i.signerSlot,operationLabel:`NEP-413 signing`}),C=so({nearAccountId:b,relayerUrl:y,thresholdKeyMaterial:te}),ne={operationId:h,operationFingerprint:H.signingOperationFingerprint(await Yn({nearAccountId:b,nearNetworkId:s(e.chains||mt.network.chains),relayerKeyId:C.threshold.thresholdKeyMaterial.relayerKeyId,signerPublicKey:C.threshold.thresholdKeyMaterial.publicKey,message:i.message,recipient:i.recipient,nonce:i.nonce,callbackUrl:i.callbackUrl})),intent:Te.TransactionSign},w={label:`NEP-413`,ctx:e,walletId:t.walletSession.walletId,nearAccountId:b,auth:p,signingSessionPlan:ee,signingOperation:ne,thresholdKeyMaterial:C.threshold.thresholdKeyMaterial,preparation:l,executor:u,intent:{kind:`nep413_message_v1`,message:i.message,recipient:i.recipient,nonce:i.nonce,callbackUrl:i.callbackUrl},computeSigningDigestB64u:async()=>(await Ar({message:i.message,recipient:i.recipient,nonce:i.nonce,callbackUrl:i.callbackUrl,workerCtx:e})).signingDigestB64u},T=await Ya(w,{signingAuthPlan:S,passkeyEd25519OperationStepUp:o,emailOtpEd25519StepUp:c}),E=await Qa(w,T,r);U(String(h),`pre_confirmation`,v);let D=performance.now(),O=await Xa(w,{touchConfirm:x,signingAuthPlan:T.preparedStepUp.confirmationAuthPayload.signingAuthPlan,nearPublicKeyStr:C.nearPublicKey,onEvent:f,title:i.title,body:i.body,confirmationConfigOverride:i.confirmationConfigOverride,request:{kind:`nep413`,message:i.message,recipient:i.recipient}});U(String(h),`confirmation`,D);let k=performance.now(),re=Za(w,T,O),A=await wt({signingSessionPlan:ee,signingOperation:ne,commandKind:Dt.PreparePayload,execute:async()=>await $a(w,re,E)}),j=await to(w,async()=>{let e=await eo(w,A,r);return{type:Ut.SignNep413MessageSuccess,payload:{accountId:b,publicKey:e.signerPublicKey,signature:g(_(e.signatureB64u)),state:i.state??void 0}}});return U(String(h),`confirmed_to_signed`,k),{success:!0,accountId:j.payload.accountId,publicKey:j.payload.publicKey,signature:j.payload.signature,state:j.payload.state}}function so(e){let t=e.thresholdKeyMaterial;if(!t)throw Error(`Missing threshold key material for ${e.nearAccountId}`);let n=String(t.publicKey||``).trim();if(!n)throw Error(`Missing threshold signing public key for ${e.nearAccountId}`);if(!String(e.relayerUrl||``).trim())throw Error(`Missing relayerUrl (required for threshold-signer)`);let r=x(t.participants.map(e=>e.id));if(!r||r.length<2)throw Error(`Invalid threshold signing participantIds (expected >=2 participants, got [${(r||[]).join(`,`)}])`);return{nearPublicKey:n,threshold:{thresholdKeyMaterial:t}}}async function co(e){if(e.chain!==`near`)throw Error(`[NearSigningFlow] invalid chain`);return e.kind===`transactionWithActions`?(lo(e.payload),await Ta(e.payload)):e.kind===`delegateAction`?(fo(e.payload),await io(e.payload)):e.kind===`nep413`?(po(e.payload),await oo(e.payload)):e}function lo(e){let t=String(e.nearAccount?.accountId||``).trim();if(!t)throw Error(`[NearSigningFlow] nearAccount is required`);if(String(e.rpcCall?.nearAccountId||``).trim()!==t)throw Error(`[NearSigningFlow] rpcCall.nearAccountId must match nearAccount.accountId`);let n=e.transactions;Array.isArray(n)&&Or(n),uo(e.transaction,0)}function uo(e,t){if(!String(e?.receiverId||``).trim())throw Error(`[NearSigningFlow] transactions[${t}].receiverId is required`);let n=Array.isArray(e?.actions)?e.actions:[];if(n.length===0)throw Error(`[NearSigningFlow] transactions[${t}].actions must be non-empty`);n.forEach(Ze)}function fo(e){let t=String(e.nearAccount?.accountId||``).trim();if(!t)throw Error(`[NearSigningFlow] nearAccount is required`);if(String(e.rpcCall?.nearAccountId||``).trim()!==t)throw Error(`[NearSigningFlow] rpcCall.nearAccountId must match nearAccount.accountId`);if(!String(e.delegate?.receiverId||``).trim())throw Error(`[NearSigningFlow] delegate.receiverId is required`);let n=Array.isArray(e.delegate?.actions)?e.delegate.actions:[];if(n.length===0)throw Error(`[NearSigningFlow] delegate.actions must be non-empty`);n.forEach(e=>Ze(et(e)))}function po(e){let t=String(e.nearAccount?.accountId||``).trim();if(!t)throw Error(`[NearSigningFlow] nearAccount is required for NEP-413`);if(String(e.payload?.accountId||``).trim()!==t)throw Error(`[NearSigningFlow] payload.accountId must match nearAccount.accountId`);if(!String(e.payload?.recipient||``).trim())throw Error(`[NearSigningFlow] recipient is required for NEP-413`);if(!String(e.payload?.message||``).trim())throw Error(`[NearSigningFlow] message is required for NEP-413`)}var mo=e({signDelegateAction:()=>ts,signNear:()=>vo});function ho(e){if(!(e instanceof st))return;let t=e.authorizationDecision;if(!(!t||t.kind!==`step_up_required`||!(`request_id`in t.step_up)))return{kind:`step_up_required`,reason:t.reason,step_up:t.step_up}}function go(e){let t=ho(e),n=it(e);return t?rt(n??{kind:`exhausted`,source:`server_prepare`,detail:`Server requires owner operation step-up`}):n?.kind===`in_flight`?rt(n):null}async function _o(e){if(e.failure?.kind!==`expired`)return;let t=yt({source:{kind:`ed25519`,laneIdentity:Be(e.lane)},expiresAtMs:e.expiresAtMs,detectedAtMs:Date.now()});if((await e.coordinator.invalidateExpiredWalletSession({state:t,source:be.serverRejection})).kind===`unavailable`)throw Error(`[SigningEngine][near] expired Wallet Session cleanup failed`)}async function vo(e,t){if(t.kind===`transactionWithActions`){let n=e.getSignerWorkerContext(),r=te(n.touchConfirm?.getContext().surfaceMeasurementBinding);return r&&(r.assertPending(),e={...e,getSignerWorkerContext:as.bind(null,n,r.beforeSigning)}),await Zo(e,t.args)}if(t.kind===`delegateAction`)return await ts(e,t.args);if(t.kind===`nep413`)return await is(e,t.args);throw Error(`[SigningEngine] unsupported near signing intent: ${String(t.kind||``)}`)}function yo(){let e=y(32,`NEAR transaction signing operation IDs`);return H.signingOperation(`near-transaction-sign:${e}`)}function bo(e){return e.state===`missing`?{state:e.state,curve:e.curve,chain:e.chain}:{authMethod:B(e.auth),walletId:e.walletId,nearAccountId:e.nearAccountId,nearEd25519SigningKeyId:e.nearEd25519SigningKeyId,signerSlot:e.signerSlot,state:e.state,source:e.source||`unknown`,...e.authorizationState===`authorized`?{walletSessionId:e.authorization.operationCredential.walletSessionId,quotaId:e.authorization.session.quotaId}:{},thresholdSessionId:e.thresholdSessionId,remainingUses:e.remainingUses,expiresAtMs:e.expiresAtMs}}function xo(e){let t=e?.candidates.ed25519.near||[];return{generation:e?.generation||0,candidateCount:t.length,candidates:t.map(bo)}}function So(e,t,n){try{e?.(xe({...n,flowId:`signing:near:${String(t)}:${n.phase}`,accountId:String(t)}))}catch{}}function Co(e){if(ze(e.signingLane.identity)!==ze(e.transactionLane.identity))throw Error(`[SigningEngine][near] prepared signing lane drifted from selected transaction lane`)}function wo(e,t){let n=e.identity.signer,r=t.identity.signer;return String(n.account.wallet.walletId)===String(r.account.wallet.walletId)&&String(n.account.nearAccountId)===String(r.account.nearAccountId)&&String(n.nearEd25519SigningKeyId)===String(r.nearEd25519SigningKeyId)&&n.signerSlot===r.signerSlot&&De(e.auth)===De(t.auth)}function To(e){let t=e.readiness.status;return t===`ready`?{status:`ready`,remainingUses:Math.max(0,Math.floor(Number(e.readiness.remainingUses)||0)),expiresAtMs:Math.max(0,Math.floor(Number(e.readiness.expiresAtMs)||0))}:t===`expired`||t===`exhausted`||t===`status_unknown`?t===`status_unknown`?{status:t,reason:`trusted wallet budget status is unavailable`}:{status:t}:t===`auth_unavailable`||t===`status_unavailable`?{status:t,reason:t}:{status:`status_unavailable`,reason:t}}function Eo(e){if(e.curve!==`ed25519`||e.keyKind!==`threshold_ed25519`)throw Error(`[SigningEngine][near] prepared signing lane is not Ed25519`);if(e.chainFamily!==`near`)throw Error(`[SigningEngine][near] prepared Ed25519 lane must target NEAR`);let t=String(e.thresholdSessionId||``).trim(),n=String(e.walletSessionId||``).trim(),r=String(e.quotaId||``).trim();if(!t||!n||!r)throw Error(`[SigningEngine][near] prepared Ed25519 lane is missing session identity`);return{...e,curve:`ed25519`,keyKind:`threshold_ed25519`,chainFamily:`near`,walletSessionId:H.walletSession(n),quotaId:H.walletSessionQuota(r),thresholdSessionId:H.thresholdEd25519Session(t)}}async function Do(e){let t=e.preparedOperation,n=t.lane;Ye(`near`,n,{reason:`near_transaction_auth_planning`});let r=e.commandSubject.nearAccount.accountId,i={accountId:r,intent:Te.TransactionSign,curve:`ed25519`},a=t.signingSessionPlan;if(a.kind===V.NotReady)throw console.warn(`[SigningEngine][near][ed25519] transaction auth planning not ready`,{nearAccountId:r,authMethod:B(n.auth),reason:a.reason,readiness:t.readiness.status,walletSessionId:n.walletSessionId,quotaId:n.quotaId,thresholdSessionId:n.thresholdSessionId,retention:n.retention,remainingUses:t.remainingUses,expiresAtMs:t.expiresAtMs}),a.reason===`policy_blocked`?Error(`[SigningEngine] NEAR operation requires passkey authentication after Email OTP login`):Error(`[SigningEngine][near] signing session is not ready: ${a.reason}`);return{signingAuthPlan:Pt({plan:a,accountId:i.accountId,intent:i.intent,curve:i.curve,expiresAtMs:t.expiresAtMs,remainingUses:t.remainingUses}),signingLane:n}}function Oo(e){let t=String(e.providedThresholdSessionId||``).trim(),n=String(e.identity.thresholdSessionId||``).trim();if(t&&t!==n)throw Error(`[SigningEngine][near] transaction thresholdSessionId must match prepared Ed25519 identity`);return n}function ko(e){switch(e.authorization.kind){case`authorized`:return!1;case`authorization_required`:return!0;default:throw e.authorization,Error(`[SigningEngine][near] unsupported material authorization state`)}}function Ao(e){if(e.authorization.kind!==`authorized`)throw Error(`[SigningEngine][near] reusable Wallet Session authorization is unavailable`);return e.authorization.authorization.status.expiresAtMs}async function jo(e){let t={walletId:I(e.commandSubject.walletSession.walletId),nearAccountId:P(e.commandSubject.nearAccount.accountId)};return e.materialIdentity?await e.deps.prepareNearEd25519YaoMaterialBoundary({...t,materialIdentity:e.materialIdentity}):await e.deps.prepareNearEd25519YaoMaterialBoundary({...t,laneIdentity:e.selectedLane.identity,auth:e.selectedLane.auth})}function Mo(e,t){return H.signingOperation(e.createSigningSessionId(`near-${t}-operation`))}function No(e){return{kind:`prepared_near_transaction_execution`,thresholdSessionId:e.thresholdSessionId,signingSessionPlan:e.preparedSigningSession.preparedOperation.signingSessionPlan,signingAuthPlan:e.preparedSigningSession.signingAuthPlan,signingLane:e.preparedSigningSession.signingLane,signingSessionCoordinator:e.signingSessionCoordinator,transactionOperation:e.preparedSigningSession.transactionOperation,passkeyEd25519OperationStepUp:e.passkeyEd25519OperationStepUp,emailOtpEd25519StepUp:e.emailOtpEd25519StepUp}}function Po(e){return ot({walletId:String(e.walletId),curve:`ed25519`,walletSessionId:String(e.prepared.signingLane.walletSessionId),quotaId:String(e.prepared.signingLane.quotaId),projectionVersion:`server-owned`,authorityKey:De(e.prepared.signingLane.auth),targetKey:`near:${String(e.nearAccountId)}`})}function Fo(e){if(e.prepared.kind!==`authorized`)throw Error(`[SigningEngine][near] deferred Ed25519 material has no reusable session`);return ot({walletId:String(e.walletId),curve:`ed25519`,walletSessionId:String(e.prepared.selectedLane.walletSessionId),quotaId:String(e.prepared.selectedLane.quotaId),projectionVersion:`projection-unadmitted`,authorityKey:De(e.prepared.selectedLane.auth),targetKey:`near:${String(e.nearAccountId)}`})}function Io(e){if(e.auth.kind!==`passkey`)return;let t=e.auth;return{prepare:async()=>{let n=e.signer,r=await Ro({authorityRef:Lo(e.preparation),walletId:n.account.wallet.walletId,rpId:t.rpId,credentialIdB64u:t.credentialIdB64u});return{thresholdSessionId:e.thresholdSessionId,authority:r}}}}function Lo(e){switch(e.hydration.kind){case`use_live_runtime`:case`rehydrate_material_activation`:case`reauthorize_public_anchor`:return e.hydration.authority;case`blocked`:throw Error(`[SigningEngine][near] blocked Passkey material has no authority`);default:throw e.hydration,Error(`[SigningEngine][near] unsupported Passkey material authority`)}}async function Ro(e){let t=R({walletId:e.walletId,factor:{kind:`passkey`,credentialIdB64u:e.credentialIdB64u},verifier:{kind:`webauthn`,rpId:e.rpId},bindingId:e.authorityRef.walletAuthMethodId});if(!t)throw Error(`[SigningEngine][near] exact Passkey step-up authority is invalid`);let n=await L({authority:t});if(n.walletId!==e.authorityRef.walletId||n.walletAuthMethodId!==e.authorityRef.walletAuthMethodId||n.authorityDigest!==e.authorityRef.authorityDigest)throw Error(`[SigningEngine][near] exact Passkey step-up authority changed`);return t}function zo(e){if(e.auth.kind!==se.emailOtp||typeof e.deps.requestEmailOtpEd25519SigningChallenge!=`function`||!e.preparation.hydration.materialActivation)return;if(String(e.signer.account.wallet.walletId)!==String(e.commandSubject.walletSession.walletId)||String(e.signer.account.nearAccountId)!==String(e.commandSubject.nearAccount.accountId))throw Error(`[SigningEngine][near] Email OTP step-up lane changed subject`);let t=async t=>{let n=await e.deps.requestEmailOtpEd25519SigningChallenge({walletSession:e.commandSubject.walletSession,operationFingerprintDigest:t.operationFingerprintDigest});return So(e.onEvent,e.commandSubject.nearAccount.accountId,{phase:z.STEP_06_AUTH_EMAIL_OTP_INPUT_REQUIRED,status:`waiting_for_user`,interaction:{kind:`otp_input`,overlay:`show`},data:{emailHint:n.emailHint,demoOtpCode:ye(n.delivery)}}),n};return{prepare:t,resend:t}}async function Bo(e){let t=Vt({availableLanes:await Jo({deps:e.deps,commandSubject:e.commandSubject,authMethod:null}),intent:Go({commandSubject:e.commandSubject,signerSlot:e.signerSlot,authSelectionPolicy:{kind:`any`},operationUsesNeeded:1})});if(!t.ok)throw Error(`[SigningEngine][near] signature-only signing requires exact Ed25519 material`);if(t.kind===`authorization_required`){let n=t.candidate,r=Ve({walletId:n.walletId,nearAccountId:n.nearAccountId,nearEd25519SigningKeyId:n.nearEd25519SigningKeyId,signerSlot:n.signerSlot}),i={kind:`near_ed25519_material_identity`,signer:r,auth:n.auth,thresholdSessionId:H.thresholdEd25519Session(n.thresholdSessionId)},a=await jo({deps:e.deps,commandSubject:e.commandSubject,materialIdentity:i});return{kind:`authorization_required`,candidate:n,materialIdentity:i,forceFreshAuth:!0,passkeyEd25519OperationStepUp:Io({auth:n.auth,signer:r,thresholdSessionId:i.thresholdSessionId,preparation:a.preparation})||null,emailOtpEd25519StepUp:zo({deps:e.deps,commandSubject:e.commandSubject,auth:n.auth,signer:r,preparation:a.preparation,onEvent:e.onEvent})||null,yaoSigningPreparation:a.preparation,yaoMaterialExecutor:a.executor}}let n=t.lane,r=await jo({deps:e.deps,commandSubject:e.commandSubject,selectedLane:n});return{kind:`authorized`,selectedLane:n,forceFreshAuth:e.attempt.forceFreshAuth||ko(r.preparation),passkeyEd25519OperationStepUp:Io({auth:n.auth,signer:n.identity.signer,thresholdSessionId:n.identity.thresholdSessionId,preparation:r.preparation})||null,emailOtpEd25519StepUp:zo({deps:e.deps,commandSubject:e.commandSubject,auth:n.auth,signer:n.identity.signer,preparation:r.preparation,onEvent:e.onEvent})||null,yaoSigningPreparation:r.preparation,yaoMaterialExecutor:r.executor}}async function Vo(e){let t=vt({materialActivation:e.materialActivation});return await e.deps.withThresholdEd25519CommitQueue({queueKey:t,nearAccountId:e.nearAccountId,enabled:!0,task:e.task})}async function Ho(e){let t=e.availableLanes,n=Vt({availableLanes:t,intent:Go({commandSubject:e.commandSubject,signerSlot:e.input.signerSlot,authSelectionPolicy:{kind:`any`},operationUsesNeeded:Dr(e.input.transaction)})});if(!n.ok||n.kind!==`authorization_required`)return null;let r=n.candidate,i=Ve({walletId:r.walletId,nearAccountId:r.nearAccountId,nearEd25519SigningKeyId:r.nearEd25519SigningKeyId,signerSlot:r.signerSlot}),a={kind:`near_ed25519_material_identity`,signer:i,auth:r.auth,thresholdSessionId:H.thresholdEd25519Session(r.thresholdSessionId)},o=await jo({deps:e.deps,commandSubject:e.commandSubject,materialIdentity:a});return{candidate:r,preparation:o.preparation,executor:o.executor,passkeyEd25519OperationStepUp:Io({auth:r.auth,signer:i,thresholdSessionId:a.thresholdSessionId,preparation:o.preparation})||null,emailOtpEd25519StepUp:zo({deps:e.deps,commandSubject:e.commandSubject,auth:r.auth,signer:i,preparation:o.preparation,onEvent:e.input.onEvent})||null}}function Uo(e){switch(e.hydration.kind){case`use_live_runtime`:case`rehydrate_material_activation`:return e.hydration.materialActivation;case`reauthorize_public_anchor`:throw Error(`[SigningEngine][near] retired public material cannot enter the material commit queue`);case`blocked`:throw Error(`[SigningEngine][near] blocked material cannot enter the material commit queue: ${e.hydration.reason}`)}throw e.hydration,Error(`[SigningEngine][near] unsupported material hydration plan`)}function Wo(e){let t=e.authSelectionPolicy||null;if(!t)return null;let n=Lt(It(Rt(Go({commandSubject:e.commandSubject,signerSlot:e.signerSlot,authSelectionPolicy:t,operationUsesNeeded:e.operationUsesNeeded})),{availableLanes:e.availableLanes}));if(n.tag===`LaneSelected`){if(n.lane.curve!==`ed25519`||n.availableLane.curve!==`ed25519`)throw Error(`[SigningEngine][near] Ed25519 selector returned a non-Ed25519 lane`);return n}if(n.failure.kind===`no_candidate`)return null;throw Error(`[SigningEngine][near] Ed25519 transaction lane selection failed: ${n.failure.kind}`)}function Go(e){return{walletId:I(e.commandSubject.walletSession.walletId),curve:`ed25519`,chain:`near`,signerSelection:Ko({nearAccountId:e.commandSubject.nearAccount.accountId,signerSlot:e.signerSlot}),authSelectionPolicy:e.authSelectionPolicy,operationUsesNeeded:e.operationUsesNeeded}}function Ko(e){if(e.signerSlot===void 0)return{kind:`near_account`,nearAccountId:e.nearAccountId};let t=Se(e.signerSlot);if(t===null)throw Error(`[SigningEngine][near] signerSlot must be a positive safe integer`);return{kind:`signer_slot`,nearAccountId:e.nearAccountId,signerSlot:t}}function qo(e){return Wo({availableLanes:e.availableLanes,authSelectionPolicy:{kind:`any`},commandSubject:e.commandSubject,signerSlot:e.signerSlot,operationUsesNeeded:e.operationUsesNeeded})}async function Jo(e){let t=e.commandSubject.nearAccount.accountId,n=e.commandSubject.walletSession.walletId;if(typeof e.deps.readAvailableSigningLanesForSigning!=`function`)throw Error(`[SigningEngine][near] transaction signing requires available signing lanes reader`);let r=await e.deps.resolveOwnerLaneScope(n);return await e.deps.readAvailableSigningLanesForSigning({walletId:n,curve:`ed25519`,ownerScope:r,...e.authMethod?{authMethod:e.authMethod}:{}}).catch(e=>(console.warn(`[SigningEngine][near] available signing lanes read failed`,{nearAccountId:t,error:e instanceof Error?e.message:String(e||`unknown error`)}),null))}async function Yo(e){let t=e.commandSubject.nearAccount.accountId,n=Math.max(1,Math.floor(Number(e.operationUsesNeeded)||1)),r=e.selectedLane.lane,i=Ba({commandSubject:e.commandSubject,selectedLane:r,preparation:e.preparation,forceFreshAuth:e.forceFreshAuth,requiredSignatureUses:n}),a=i.lane;Co({signingLane:a,transactionLane:e.selectedLane.lane});let o={readiness:i.coordinatorInput.readiness,expiresAtMs:i.coordinatorInput.expiresAtMs,remainingUses:i.coordinatorInput.remainingUses};r.auth.kind===`email_otp`&&o.readiness.status!==`ready`&&console.warn(`[SigningEngine][near][email-otp] Ed25519 pre-confirm readiness is not ready`,{nearAccountId:t,readiness:o.readiness.status,thresholdSessionId:r.thresholdSessionId,walletSessionId:r.walletSessionId,quotaId:r.quotaId,retention:a.retention,remainingUses:o.remainingUses,expiresAtMs:o.expiresAtMs,requiredSignatureUses:n}),Je(`near`,Xe({event:`pre_confirm_readiness_checked`,lane:a,readinessStatus:o.readiness.status,phase:`pre_confirm`}));let s=Ht(e.selectedLane,To({readiness:o.readiness,expiresAtMs:o.expiresAtMs,remainingUses:o.remainingUses})),c=zt(s),l=Eo(a),u={readiness:o.readiness,expiresAtMs:o.expiresAtMs,remainingUses:o.remainingUses};return{lane:a,transactionLane:e.selectedLane.lane,transactionIntent:e.selectedLane.intent,readiness:u,availableLanesGeneration:e.availableLanes?.generation||0,metadata:{transactionLane:e.selectedLane.lane,transactionOperation:c,transactionReadinessState:s,identity:l,availableLanesGeneration:e.availableLanes?.generation||0,readiness:u}}}async function Xo(e){let t=e.commandSubject.nearAccount.accountId,n=Dr(e.input.transaction),r=e.availableLanes,i=qo({commandSubject:e.commandSubject,availableLanes:r,signerSlot:e.input.signerSlot,operationUsesNeeded:n});if(!i)throw console.warn(`[SigningEngine][near][ed25519] exact transaction lane selection failed ${JSON.stringify({nearAccountId:t,signerSlot:e.input.signerSlot??null,requiredSignatureUses:n,availableLanes:xo(r)})}`),Error(`[SigningEngine][near] Ed25519 transaction signing requires an exact selected lane`);let a={kind:`account_class`,authMethod:B(i.lane.auth)},o=await jo({deps:e.deps,commandSubject:e.commandSubject,selectedLane:i.lane});if(o.preparation.authorization.kind===`authorized`){let t=o.preparation.authorization.authorization;if(i.lane.walletSessionId!==t.operationCredential.walletSessionId||i.lane.quotaId!==t.session.quotaId){r=await Jo({deps:e.deps,commandSubject:e.commandSubject,authMethod:B(i.lane.auth)});let a=qo({commandSubject:e.commandSubject,availableLanes:r,signerSlot:e.input.signerSlot,operationUsesNeeded:n});if(!a||!wo(i.lane,a.lane)||a.lane.walletSessionId!==t.operationCredential.walletSessionId||a.lane.quotaId!==t.session.quotaId)throw Error(`[SigningEngine][near] material restoration changed the Wallet Session without an exact refreshed lane`);i=a}}let s=e.forceFreshAuth===!0||ko(o.preparation),c=await Bt({intent:Go({commandSubject:e.commandSubject,signerSlot:e.input.signerSlot,authSelectionPolicy:a,operationUsesNeeded:n}),coordinator:e.signingSessionCoordinator,forceFreshAuth:s,sensitiveOperationPolicy:e.input.sensitivePolicy||ce.inheritSessionPolicy,onPlannerTrace:e=>qe(`near`,e),lifecycleAdapter:{prepare:async()=>{let t=await Yo({deps:e.deps,commandSubject:e.commandSubject,signingSessionCoordinator:e.signingSessionCoordinator,availableLanes:r,selectedLane:i,preparation:o.preparation,forceFreshAuth:s,operationUsesNeeded:n});return{...t,metadata:t.metadata}}}}),l=c.thresholdOperation,u=c.transactionOperation,d=l.lane,f=u.lane,p=l.metadata.identity,{signingAuthPlan:m}=await Do({commandSubject:e.commandSubject,preparedOperation:l});return{preparation:o.preparation,executor:o.executor,signingAuthPlan:m,signingLane:d,transactionLane:f,identity:p,thresholdSessionId:H.thresholdEd25519Session(Oo({providedThresholdSessionId:e.input.thresholdSessionId,identity:p})),availableLanesGeneration:l.availableLanesGeneration,preparedOperation:l,transactionOperation:u}}async function Zo(e,t){let n=performance.now();await e.touchConfirm.openTransactionPreparationModal({chain:`near`,walletLabel:String(t.commandSubject.nearAccount.accountId),txSigningRequests:[t.transaction],model:Hn({txSigningRequests:[t.transaction],signerAccount:String(t.commandSubject.nearAccount.accountId),title:t.title,subtitle:t.body}),confirmationConfigOverride:t.confirmationConfigOverride});try{let r=yo();return U(String(r),`preparation_modal`,n),await Qo(e,t,{signingOperationState:Tt({operationId:r})})}finally{e.touchConfirm.closeTransactionPreparationModal()}}async function Qo(e,t,n){let r=t.commandSubject.nearAccount,i=P(r.accountId),a={signerSlot:t.signerSlot,confirmationConfigOverride:t.confirmationConfigOverride,title:t.title,body:t.body,onEvent:t.onEvent},o=n.signingOperationState.operationId,s=n.signingSessionCoordinator||e.signingSessionCoordinator,c=performance.now(),l=await Jo({deps:e,commandSubject:t.commandSubject,authMethod:null}),u=await Ho({deps:e,availableLanes:l,input:t,commandSubject:t.commandSubject,operationId:o});if(U(String(o),`authorization_probe`,c),u){let o=e.getSignerWorkerContext();return await Vo({deps:e,nearAccountId:i,materialActivation:Uo(u.preparation),task:async()=>await co({chain:`near`,kind:`transactionWithActions`,payload:{ctx:o,commandSubject:t.commandSubject,nearAccount:r,transaction:t.transaction,rpcCall:t.rpcCall,signerSlot:a.signerSlot,confirmationConfigOverride:a.confirmationConfigOverride,title:a.title,body:a.body,onEvent:a.onEvent,signingOperationState:n.signingOperationState,signingSessionCoordinator:s,selection:{kind:`authorization_required`,candidate:u.candidate},passkeyEd25519OperationStepUp:u.passkeyEd25519OperationStepUp||void 0,emailOtpEd25519StepUp:u.emailOtpEd25519StepUp||void 0,sensitivePolicy:t.sensitivePolicy,yaoSigningPreparation:u.preparation,yaoMaterialExecutor:u.executor}})})}let d=performance.now(),f=await Xo({deps:e,availableLanes:l,input:t,commandSubject:t.commandSubject,signingSessionCoordinator:s,operationId:o,forceFreshAuth:n.forceFreshAuth===!0});U(String(o),`lane_preparation`,d);let p=performance.now(),m=f.preparation.authorization,h=f.signingAuthPlan,g=f.signingLane,_=f.transactionLane,v=f.thresholdSessionId;Co({signingLane:g,transactionLane:_});try{return await Vo({deps:e,nearAccountId:i,materialActivation:Uo(f.preparation),task:async()=>{let i=e.getSignerWorkerContext(),c=f,l=Io({auth:_.auth,signer:_.identity.signer,thresholdSessionId:v,preparation:c.preparation}),u=zo({deps:e,commandSubject:t.commandSubject,auth:_.auth,signer:_.identity.signer,preparation:c.preparation,onEvent:a.onEvent}),d=No({preparedSigningSession:f,thresholdSessionId:v,signingSessionCoordinator:s,passkeyEd25519OperationStepUp:l||null,emailOtpEd25519StepUp:u||null}),m={thresholdSessionId:d.thresholdSessionId,signingSessionPlan:d.signingSessionPlan,signingAuthPlan:d.signingAuthPlan,signingLane:d.signingLane},h={ctx:i,commandSubject:t.commandSubject,nearAccount:r,transaction:t.transaction,rpcCall:t.rpcCall,signerSlot:a.signerSlot,confirmationConfigOverride:a.confirmationConfigOverride,title:a.title,body:a.body,onEvent:a.onEvent,signingOperationState:n.signingOperationState,signingSessionCoordinator:d.signingSessionCoordinator,selection:{kind:`authorized`,selectedLane:_},transactionOperation:d.transactionOperation,ed25519SigningBoundary:m,yaoSigningPreparation:c.preparation,yaoMaterialExecutor:c.executor,...d.passkeyEd25519OperationStepUp?{passkeyEd25519OperationStepUp:d.passkeyEd25519OperationStepUp}:{},...d.emailOtpEd25519StepUp?{emailOtpEd25519StepUp:d.emailOtpEd25519StepUp}:{}};return U(String(o),`execution_setup`,p),await co({chain:`near`,kind:`transactionWithActions`,payload:h})}})}catch(r){let o=h.kind===Ct.PasskeyReauth||h.kind===Ct.EmailOtpReauth,c=ho(r),l=go(r),u=ct(r),d=c?.kind===`step_up_required`;if(!n.retryingFreshAuth&&!o&&m.kind===`authorized`&&(d||l)){if(l?.kind===`wait_and_retry_admission`)return await at(l.retryAfterMs),await Qo(e,t,{forceFreshAuth:!1,signingOperationState:n.signingOperationState,retryingFreshAuth:n.retryingFreshAuth,signingSessionCoordinator:s});await _o({failure:u,coordinator:s,lane:f.transactionLane,expiresAtMs:m.authorization.status.expiresAtMs});let r=_.auth.kind===`email_otp`,o=c?.kind===`step_up_required`?c.reason:void 0,d=l?l.reason===`stale_projection`?`wallet_signing_budget_stale_projection`:`wallet_signing_budget_exhausted`:o===`wallet_session_missing`?`threshold_session_missing`:`threshold_session_expired`;if(So(a.onEvent,i,{phase:r?z.STEP_06_AUTH_EMAIL_OTP_CHALLENGE_STARTED:z.STEP_09_THRESHOLD_SESSION_RECONNECT_STARTED,status:`running`,message:r?`Signing session needs reauthorization; requesting Email OTP`:`Signing session needs reauthorization; requesting passkey`,interaction:{kind:`none`,overlay:`none`},data:{chain:`near`,reason:d}}),l?.kind===`request_fresh_step_up`){let r=Po({walletId:t.commandSubject.walletSession.walletId,nearAccountId:i,prepared:f});return await s.runWalletSessionQuotaAdmissionRetry({queueKey:r,refresh:async()=>await Qo(e,t,{forceFreshAuth:!0,signingOperationState:n.signingOperationState,retryingFreshAuth:!0,signingSessionCoordinator:s}),retryAfterRefresh:async()=>await Qo(e,t,{forceFreshAuth:!1,signingOperationState:n.signingOperationState,retryingFreshAuth:n.retryingFreshAuth,signingSessionCoordinator:s})})}return await Qo(e,t,{forceFreshAuth:!0,signingOperationState:n.signingOperationState,retryingFreshAuth:!0,signingSessionCoordinator:s})}throw r}}async function $o(e){return await co({chain:`near`,kind:`delegateAction`,payload:{ctx:e.deps.getSignerWorkerContext(),commandSubject:e.input.commandSubject,nearAccount:e.input.commandSubject.nearAccount,delegate:e.input.delegate,rpcCall:e.normalizedRpcCall,signingSessionCoordinator:e.deps.signingSessionCoordinator,signerSlot:e.input.signerSlot,confirmationConfigOverride:e.input.confirmationConfigOverride,title:e.input.title,body:e.input.body,onEvent:e.input.onEvent,operationId:e.operationId,forceFreshAuth:e.prepared.forceFreshAuth,selection:e.prepared.kind===`authorized`?{kind:`authorized`,selectedLane:e.prepared.selectedLane}:{kind:`authorization_required`,candidate:e.prepared.candidate},passkeyEd25519OperationStepUp:e.prepared.passkeyEd25519OperationStepUp,emailOtpEd25519StepUp:e.prepared.emailOtpEd25519StepUp,yaoSigningPreparation:e.prepared.yaoSigningPreparation,yaoMaterialExecutor:e.prepared.yaoMaterialExecutor}})}async function es(e){let t=P(e.input.commandSubject.nearAccount.accountId),n=await Bo({deps:e.deps,commandSubject:e.input.commandSubject,signerSlot:e.input.signerSlot,operationId:e.operationId,onEvent:e.input.onEvent,attempt:e.attempt}),r={nearRpcUrl:e.input.rpcCall.nearRpcUrl||e.deps.nearRpcUrl,nearAccountId:t};try{return await Vo({deps:e.deps,nearAccountId:t,materialActivation:Uo(n.yaoSigningPreparation),task:$o.bind(void 0,{deps:e.deps,input:e.input,operationId:e.operationId,prepared:n,normalizedRpcCall:r})})}catch(r){let i=ho(r),a=go(r);if(e.attempt.kind===`initial`&&a){if(a.kind===`wait_and_retry_admission`)return await at(a.retryAfterMs),await es(e);let r=Fo({walletId:e.input.commandSubject.walletSession.walletId,nearAccountId:t,prepared:n});return await e.deps.signingSessionCoordinator.runWalletSessionQuotaAdmissionRetry({queueKey:r,refresh:async()=>await es({...e,attempt:{kind:`fresh_auth_retry`,forceFreshAuth:!0}}),retryAfterRefresh:async()=>await es({...e,attempt:{kind:`initial`,forceFreshAuth:!1}})})}let o=ct(r);if(e.attempt.kind===`initial`&&!n.forceFreshAuth&&i)return await _o({failure:o,coordinator:e.deps.signingSessionCoordinator,lane:n.selectedLane,expiresAtMs:Ao(n.yaoSigningPreparation)}),await es({deps:e.deps,input:e.input,operationId:e.operationId,attempt:{kind:`fresh_auth_retry`,forceFreshAuth:!0}});throw r}}async function ts(e,t){try{return await es({deps:e,input:t,operationId:Mo(e,`delegate`),attempt:{kind:`initial`,forceFreshAuth:!1}})}catch(e){throw console.error(`[SigningEngine][delegate] failed`,e),e}}async function ns(e){let t=e.input.commandSubject.nearAccount;return await co({chain:`near`,kind:`nep413`,payload:{ctx:e.deps.getSignerWorkerContext(),commandSubject:e.input.commandSubject,nearAccount:t,signingSessionCoordinator:e.deps.signingSessionCoordinator,onEvent:e.input.onEvent,forceFreshAuth:e.prepared.forceFreshAuth,selection:e.prepared.kind===`authorized`?{kind:`authorized`,selectedLane:e.prepared.selectedLane}:{kind:`authorization_required`,candidate:e.prepared.candidate},passkeyEd25519OperationStepUp:e.prepared.passkeyEd25519OperationStepUp,emailOtpEd25519StepUp:e.prepared.emailOtpEd25519StepUp,yaoSigningPreparation:e.prepared.yaoSigningPreparation,yaoMaterialExecutor:e.prepared.yaoMaterialExecutor,payload:{message:e.input.message,recipient:e.input.recipient,nonce:e.input.nonce,callbackUrl:e.input.callbackUrl,state:e.input.state,accountId:t.accountId,signerSlot:e.input.signerSlot,title:e.input.title,body:e.input.body,confirmationConfigOverride:e.input.confirmationConfigOverride,operationId:e.operationId}}})}async function rs(e){let t=P(e.input.commandSubject.nearAccount.accountId),n=await Bo({deps:e.deps,commandSubject:e.input.commandSubject,signerSlot:e.input.signerSlot,operationId:e.operationId,onEvent:e.input.onEvent,attempt:e.attempt});try{return await Vo({deps:e.deps,nearAccountId:t,materialActivation:Uo(n.yaoSigningPreparation),task:ns.bind(void 0,{deps:e.deps,input:e.input,operationId:e.operationId,prepared:n})})}catch(t){let r=ho(t),i=ct(t);if(e.attempt.kind===`initial`&&!n.forceFreshAuth&&r!==void 0)return await _o({failure:i,coordinator:e.deps.signingSessionCoordinator,lane:n.selectedLane,expiresAtMs:Ao(n.yaoSigningPreparation)}),await rs({deps:e.deps,input:e.input,operationId:e.operationId,attempt:{kind:`fresh_auth_retry`,forceFreshAuth:!0}});throw t}}async function is(e,t){try{return await rs({deps:e,input:t,operationId:Mo(e,`nep413`),attempt:{kind:`initial`,forceFreshAuth:!1}})}catch(e){return console.error(`SigningEngine: NEP-413 signing error:`,e),{success:!1,error:e instanceof Error?e.message:String(e||`Unknown error`)}}}function as(e,t){return{...e,beforeSigning:t}}export{Qt as _,ni as a,Pn as c,bn as d,yn as f,en as g,un as h,oa as i,Nn as l,sn as m,mo as n,Bn as o,on as p,Ia as r,Vn as s,vo as t,Sn as u,Gt as v};
@@ -0,0 +1 @@
1
+ import{a as e,r as t}from"./evmCryptoWasm-BXsIyRon.js";import{t as n}from"./bytes-BBYkulRB.js";var r=class{constructor(e){this.chain=`evm`,this.workerCtx=e}async buildIntent(r){if(r.chain!==`evm`)throw Error(`[EvmAdapter] invalid chain`);if(r.kind!==`eip1559`)throw Error(`[EvmAdapter] unsupported request kind`);let i=await t(r.tx,this.workerCtx),a=n(i);return{chain:`evm`,uiModel:{kind:`eip1559`,tx:r.tx},signRequests:[{kind:`digest`,algorithm:`secp256k1`,digest32:i,label:`evm:eip1559:sender`}],finalize:async t=>({chain:`evm`,kind:`eip1559`,txHashHex:a,rawTxHex:n(await e({tx:r.tx,signature65:t[0],workerCtx:this.workerCtx}))})}}};function i(e){switch(e.kind){case`eip1559`:case`tempoTransaction`:return 1;default:return e}}export{r as n,i as t};
@@ -0,0 +1 @@
1
+ import{s as e}from"./normalize-kUDm5zfS.js";const t=`email_otp`,n=[`wallet_unlock`,`transaction_sign`,`export_key`],r=`registration`,i=`device_link`,a=`wallet_relocation`,o={login:`wallet_email_otp_login`,registration:`wallet_email_otp_registration`,recoveryBootstrap:`wallet_email_otp_recovery_bootstrap`,unseal:`wallet_email_otp_unseal`,deviceLink:`wallet_email_otp_device_link`,relocation:`wallet_email_otp_relocation`},s=`export_key`,c=`wallet_unlock`,l=`transaction_sign`;function u(e){return n.includes(e)}const d={thresholdEd25519:`threshold-ed25519`,thresholdEcdsa:`threshold-ecdsa`},f={passkey:`passkey`,emailOtp:t},p={passkey:`passkey`,emailOtp:t},m={inheritSessionPolicy:`inherit_session_policy`,requireFreshSameMethod:`require_fresh_same_method`,requirePasskey:`require_passkey`,denyEmailOtp:`deny_email_otp`},h={passkeyRegistration:`passkey_registration`,emailOtpRegistration:`email_otp_registration`,selfHostedImport:`self_hosted_import`},g=Object.values(p);function _(t){return e(t)?.toLowerCase()||``}function v(e){return g.includes(_(e))}export{p as a,o as c,r as d,a as f,u as h,h as i,i as l,c as m,f as n,v as o,l as p,d as r,t as s,m as t,s as u};
@@ -0,0 +1,2 @@
1
+ import{c as e,t}from"./chains-CiYQT1K4.js";import{i as n}from"./base64-CsEj-_bC.js";import{o as r,r as i}from"./canonicalPrimitives-CKPGgpxg.js";import{a,c as o,r as s}from"./ecdsaChainTarget-C8ZtMZ8l.js";import{m as c,o as l}from"./sdkSentEvents-D3q1h-Uo.js";import{t as u}from"./jsonRpc-DrCYQIM9.js";import{r as d}from"./types-D3GM-uHR.js";import{i as f}from"./helpers-Ddy72ULN.js";import{r as p}from"./operationFingerprint-CTR9G1NT.js";import{i as m}from"./trace-BvbCxdXF.js";import{t as h}from"./bytes-BBYkulRB.js";import{n as g,r as _,t as v}from"./normalization-CpLZcL2f.js";import{a as y,i as b,n as x,r as S}from"./types-BNUuaUtl.js";import{T as C,a as w,g as T,i as ee,o as te,r as ne,s as re,t as ie,v as ae,w as oe,y as se}from"./requireStepUpAuth-DCVqmeee.js";const ce=/^0x[0-9a-f]{40}$/,E=Object.freeze({"0x06fdde03":`name()`,"0x095ea7b3":`approve(address,uint256)`,"0x18160ddd":`totalSupply()`,"0x23b872dd":`transferFrom(address,address,uint256)`,"0x2e1a7d4d":`withdraw(uint256)`,"0x313ce567":`decimals()`,"0x42842e0e":`safeTransferFrom(address,address,uint256)`,"0x47e1da2a":`executeBatch(address[],uint256[],bytes[])`,"0x6352211e":`ownerOf(uint256)`,"0x70a08231":`balanceOf(address)`,"0x081812fc":`getApproved(uint256)`,"0x95d89b41":`symbol()`,"0xa22cb465":`setApprovalForAll(address,bool)`,"0xa9059cbb":`transfer(address,uint256)`,"0xb61d27f6":`execute(address,uint256,bytes)`,"0xb88d4fde":`safeTransferFrom(address,address,uint256,bytes)`,"0xd0e30db0":`deposit()`,"0xd505accf":`permit(address,address,uint256,uint256,uint8,bytes32,bytes32)`,"0xdd62ed3e":`allowance(address,address)`,"0xe985e9c5":`isApprovedForAll(address,address)`,"0xe7897444":`setUserToken(address)`,"0xf2fde38b":`transferOwnership(address)`}),D=Object.freeze({"0xbb442b54c85efba2d7b81ea52990ad638cdba483":Object.freeze({"0xa4136862":`setGreeting(string)`,"0xef690cc0":`greeting()`,"0x867ae9d4":`dripTo(address,address[])`}),"0xeb7ab5a6f761072c96147a54b8a15f012e836691":Object.freeze({"0xa4136862":`setGreeting(string)`,"0xcfae3217":`greet()`})});function O(e){let t=String(e||``).trim().toLowerCase();if(ce.test(t))return t}function k(e){return v(e)}function A(e,t){let n=_(e);if(!n)return;let r=O(t);if(r){let e=D[r];if(e&&e[n])return e[n]}return E[n]}function j(e,t){let n=A(e,t);if(n){let e=n.indexOf(`(`),t=(e>0?n.slice(0,e):n).trim();if(t)return`${t}()`}let r=_(e);if(r)return`function ${r}`}function le(e,t){let n=[];for(let r=0;r<e.length;r+=t)n.push(e.slice(r,r+t));return n}function M(e){let t=g(e,{lowercase:!0});if(t===`0x`)return`data: 0x`;let n=t.slice(2);if(!n)return`data: 0x`;if(n.length<=8)return`data: 0x${n}`;let r=n.slice(0,8),i=le(n.slice(8),64);return[`data: 0x${r}`,...i].join(`
2
+ `)}function N(e,t){let n=e/t,r=e%t;if(r===0n)return n.toString();let i=r*100n/t;if(i===0n)return n.toString();let a=i.toString().padStart(2,`0`).replace(/0+$/,``);return a?`${n.toString()}.${a}`:n.toString()}function P(e){return e>=1000000n?`${N(e,1000000n)}mil`:e>=1000n?`${N(e,1000n)}k`:e.toString()}function F(e){try{return JSON.stringify(e,(e,t)=>typeof t==`bigint`?t.toString():t,2)}catch{return String(e)}}function I(e,t,n){let r=String(t??``).trim();if(r)return{label:e,value:r,...typeof n==`string`&&n.trim()?{copyValue:n}:{}}}function L(e){let t=g(e.dataHex);if(t!==`0x`&&!(!Array.isArray(e.abi)||e.abi.length===0))return{dataHex:t,abi:e.abi}}function R(e){let t=j(e.selector,e.to),n=!!e.to&&e.dataHex!==`0x`,r=P(e.tx.gasLimit),i=e.to?`Transaction to contract`:`Contract Deployment`,a=I(`Data`,M(e.dataHex),e.dataHex);a&&(a.renderAs=`file-content`,a.hideLabel=!0,a.hideChevron=!0);let o=[a,I(`Value (wei)`,e.valueWei)].filter(Boolean),s;if(n){let n={id:`evm.eip1559.call`,kind:`generic.contractCall`,label:`Calling ${t||`contract function`} using ${r} gas`,to:e.to,value:e.valueWei,selector:e.selector,fields:o},i=L({dataHex:e.dataHex,abi:e.tx.abi});i&&(n.abiDecodeHint=i),s=[n]}return{id:`evm.eip1559`,kind:`generic.contractCall`,label:i,to:e.to,value:e.valueWei,selector:e.selector,...s?{children:s}:{}}}function z(e){let t=e.request;if(t.kind!==`eip1559`)return{chain:`evm`,intentDigest:e.intentDigest,signerAccount:e.signerAccount,title:e.title||`EVM Transaction`,subtitle:e.subtitle,operations:[{id:`evm.raw`,kind:`raw.fallback`,label:`Unsupported EVM Payload`,raw:F(t)}],raw:{format:`json`,value:F(t)}};let n=t.tx,r=n.to==null?void 0:String(n.to).toLowerCase(),i=n.value.toString(),a=g(String(n.data||`0x`)),o=R({to:r,valueWei:i,tx:n,dataHex:a,selector:k(a)}),s=n.value>0n?n.value:void 0;return{chain:`evm`,chainId:n.chainId,intentDigest:e.intentDigest,signerAccount:e.signerAccount,title:e.title||`EVM Transaction`,subtitle:e.subtitle,operations:[o],...s==null?{}:{totals:{nativeValue:s.toString(),nativeSymbol:`wei`}}}}function B(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 V(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 H(e,t,n){let r=V(e,t,n);if(typeof r==`string`&&!/^0x[0-9a-fA-F]+$/.test(r))throw Error(`Invalid ${n} result: ${t}`);return r}function U(e,t,n){let r=V(e,t,n);if(typeof r==`string`&&!/^0x[0-9a-fA-F]{40}$/.test(r))throw Error(`Invalid ${n} result: ${t}`);return r}function W(e,t,n){let r=V(e,t,n);if(typeof r==`string`&&!/^0x(?:[0-9a-fA-F]{2})*$/.test(r))throw Error(`Invalid ${n} result: ${t}`);return r}function ue(e){if(e===null)return null;if(typeof e!=`object`||Array.isArray(e))throw Error(`Invalid eth_getTransactionReceipt result`);let t=e,n=W(t,`transactionHash`,`eth_getTransactionReceipt`),r=U(t,`from`,`eth_getTransactionReceipt`),i=H(t,`blockNumber`,`eth_getTransactionReceipt`),a=H(t,`status`,`eth_getTransactionReceipt`),o=H(t,`gasUsed`,`eth_getTransactionReceipt`),s=H(t,`effectiveGasPrice`,`eth_getTransactionReceipt`),c=H(t,`gasPrice`,`eth_getTransactionReceipt`);return{...n===void 0?{}:{transactionHash:n},...r===void 0?{}:{from:r},...i===void 0?{}:{blockNumber:i},...a===void 0?{}:{status:a},...o===void 0?{}:{gasUsed:o},...s===void 0?{}:{effectiveGasPrice:s},...c===void 0?{}:{gasPrice:c}}}function de(e){if(e===null)return null;if(typeof e!=`object`||Array.isArray(e))throw Error(`Invalid eth_getBlockByNumber result`);let t=e,n=H(t,`number`,`eth_getBlockByNumber`),r=H(t,`baseFeePerGas`,`eth_getBlockByNumber`);return{...n===void 0?{}:{number:n},...r===void 0?{}:{baseFeePerGas:r}}}function fe(e){if(typeof e!=`object`||!e||Array.isArray(e))throw Error(`Invalid eth_getTransactionByHash result: calls`);let t=e,n=U(t,`to`,`eth_getTransactionByHash`),r=W(t,`input`,`eth_getTransactionByHash`),i=W(t,`data`,`eth_getTransactionByHash`),a=H(t,`value`,`eth_getTransactionByHash`);return{...n===void 0?{}:{to:n},...r===void 0?{}:{input:r},...i===void 0?{}:{data:i},...a===void 0?{}:{value:a}}}function pe(e){if(e===null)return null;if(typeof e!=`object`||Array.isArray(e))throw Error(`Invalid eth_getTransactionByHash result`);let t=e,n=H(t,`blockNumber`,`eth_getTransactionByHash`),r=U(t,`from`,`eth_getTransactionByHash`),i=H(t,`nonce`,`eth_getTransactionByHash`),a=U(t,`to`,`eth_getTransactionByHash`),o=W(t,`input`,`eth_getTransactionByHash`),s=H(t,`value`,`eth_getTransactionByHash`),c=t.calls;if(c!=null&&!Array.isArray(c))throw Error(`Invalid eth_getTransactionByHash result: calls`);let l=Array.isArray(c)?c.map(fe):c;return{...n===void 0?{}:{blockNumber:n},...r===void 0?{}:{from:r},...i===void 0?{}:{nonce:i},...a===void 0?{}:{to:a},...o===void 0?{}:{input:o},...s===void 0?{}:{value:s},...l===void 0?{}:{calls:l}}}function me(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 G(e){if(e?.aborted)throw me(e)}async function he(e,t){G(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(me(t))};i=globalThis.setTimeout(()=>{a(),e()},n),t?.addEventListener(`abort`,o,{once:!0})})}function ge(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 K(e){let t=String(e||``).trim();return/^0x[0-9a-fA-F]{40}$/.test(t)?t:null}function q(e){let t=String(e||``).trim();return/^0x[0-9a-fA-F]+$/.test(t)?t:null}function _e(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 J(e){let t=_e(String(e.rpcUrl||``).trim()),n=e.fetchImpl||fetch.bind(globalThis),r=Math.max(1,Math.floor(Number(e.requestTimeoutMs??15e3)||0)),i=async e=>{let i=Math.max(1,Math.floor(Number(e.timeoutMs??r)||0)),a=Date.now(),o=()=>Math.max(1,i-Math.max(0,Date.now()-a)),s=new AbortController,c=async e=>{let t=o(),n=null,r=!1;try{return await new Promise((a,o)=>{n=setTimeout(()=>{if(!r){r=!0;try{e.onTimeout?.()}catch{}o(Error(`${e.label} timed out after ${i}ms`))}},t),e.promise.then(e=>{r||(r=!0,n&&clearTimeout(n),a(e))},e=>{r||(r=!0,n&&clearTimeout(n),o(e))})})}finally{n&&clearTimeout(n)}},l=JSON.stringify({jsonrpc:`2.0`,id:Date.now(),method:e.method,params:e.params}),d=null,f=null;for(let[r,i]of t.entries()){let a=r<t.length-1;s=new AbortController;try{let t=await c({promise:n(i,{method:`POST`,headers:{"content-type":`application/json`},body:l,signal:s.signal}),label:`${e.method} request`,onTimeout:()=>{s.abort()}});if((t.status===429||t.status>=500)&&a){await t.body?.cancel();continue}d=t;break}catch(e){if(f=e,a)continue}}if(!d)throw f?.name===`AbortError`?Error(`${e.method} request timed out after ${i}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=u(await c({promise:d.json(),label:`${e.method} response`,onTimeout:()=>{s.abort();try{d.body?.cancel()}catch{}}}).catch(t=>{throw t?.name===`AbortError`?Error(`${e.method} response timed out after ${i}ms`):t}));if(!p.ok)throw Error(`Invalid ${e.method} response: ${p.error}`);let m=p.value;if(m.kind===`failure`){let t=String(m.error.message||`${e.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=[t];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=e.method,a}return m.result},a=async e=>ue(await i({method:`eth_getTransactionReceipt`,params:[e.txHash],...e.timeoutMs==null?{}:{timeoutMs:e.timeoutMs}})),o=async e=>de(await i({method:`eth_getBlockByNumber`,params:[e.blockTag,!1],...e.timeoutMs==null?{}:{timeoutMs:e.timeoutMs}})),s=async e=>pe(await i({method:`eth_getTransactionByHash`,params:[e.txHash],...e.timeoutMs==null?{}:{timeoutMs:e.timeoutMs}})),c=async e=>B(await i({method:`eth_getTransactionCount`,params:[e.address,e.blockTag??`latest`],...e.timeoutMs==null?{}:{timeoutMs:e.timeoutMs}}),`eth_getTransactionCount`);return{request:i,getTransactionReceipt:a,getBlockByNumber:o,getTransactionByHash:s,getTransactionCount:c,waitForTransactionReceipt:async e=>{let t=Math.max(1,Math.floor(Number(e.timeoutMs??9e4)||0)),n=Math.max(1,Math.floor(Number(e.pollIntervalMs??1250)||0)),i=Math.max(1,Math.floor(Number(e.confirmations??1)||0)),l=Date.now()+t,u=Date.now(),d=Math.min(3e4,Math.max(n*3,Math.floor(t/3))),f=Math.min(15e3,Math.max(n*3,Math.floor(t/6))),p=Math.min(1e4,Math.max(n*3,Math.floor(t/5))),m=null,h=null,g=null,_=null,v=0,y=!1,b=0,x=0,S=0;for(K(e.transactionSenderAddress)&&(g=e.transactionSenderAddress),typeof e.nonceHint==`bigint`&&e.nonceHint>=0n&&(_=e.nonceHint);Date.now()<l;){G(e.signal);let C=null;try{let t=Math.max(1,l-Date.now());C=await a({txHash:e.txHash,timeoutMs:Math.min(r,t)}),m=null}catch(e){m=e instanceof Error?e.message:String(e)}if(C&&typeof C==`object`&&typeof C.blockNumber==`string`){let t=q(C.blockNumber);if(!t)throw Error(`Receipt missing valid blockNumber`);let a=B(t,`receipt.blockNumber`);if(i<=1)return C;let s=Math.max(1,l-Date.now()),c=q((await o({blockTag:`latest`,timeoutMs:Math.min(r,s)}).catch(()=>null))?.number);if(c){let e=B(c,`latest.number`);if(e>=a&&e-a+1n>=BigInt(i))return C}await he(n,e.signal);continue}let w;if(g===null||_===null||!y){let t=Math.max(1,l-Date.now()),n=await s({txHash:e.txHash,timeoutMs:Math.min(r,t)}).catch(()=>null);w=n;let i=K(n?.from),a=q(n?.nonce);if(i&&a){let e=B(a,`tx.nonce`);g===null&&(g=i),_===null&&(_=e),g.toLowerCase()===i.toLowerCase()&&_===e&&(y=!0,b=0,x=0)}}if(g&&_!==null){let t=g,n=_,m=e=>{let r=K(e?.from),i=q(e?.nonce);if(!r||!i||r.toLowerCase()!==t.toLowerCase())return!1;try{return B(i,`tx.nonce`)===n}catch{return!1}},h=Math.max(1,l-Date.now()),C=await c({address:g,blockTag:`latest`,timeoutMs:Math.min(r,h)}).catch(()=>null);if(C!==null&&C>_){let t=Math.max(1,l-Date.now()),n=w===void 0?await s({txHash:e.txHash,timeoutMs:Math.min(r,t)}).catch(()=>null):w;w=n;let u=q(n?.blockNumber);if(m(n)&&(y=!0),u)v=0,b=0,x=0;else if(m(n))v=0,b=0,x=0;else{let e=Math.max(1,l-Date.now()),t=await c({address:g,blockTag:`pending`,timeoutMs:Math.min(r,e)}).catch(()=>null);t!==null&&t<=_?(v=0,x=0):(v+=1,x=0)}if(v>=2){let t=Math.max(1,l-Date.now()),n=await a({txHash:e.txHash,timeoutMs:Math.min(r,t)}).catch(()=>null);if(n&&typeof n.blockNumber==`string`){let e=q(n.blockNumber);if(e){let t=B(e,`receipt.blockNumber`);if(i<=1)return n;let a=Math.max(1,l-Date.now()),s=q((await o({blockTag:`latest`,timeoutMs:Math.min(r,a)}).catch(()=>null))?.number);if(s){let e=B(s,`latest.number`);if(e>=t&&e-t+1n>=BigInt(i))return n}v=0}}if(v>=2){let e=Error(`Transaction dropped or replaced: account nonce advanced past tx nonce (${_.toString()} -> ${C.toString()}).`);throw e.code=`tx_dropped_or_replaced`,e.reason=`dropped`,e.txNonce=_.toString(),e.latestNonce=C.toString(),e.txFrom=g,e.finalizationBranch=`dropped_nonce_advanced`,e}}}else if(C!==null&&C<=_){if(v=0,C<_&&!y){let t=Math.max(1,l-Date.now()),n=w===void 0?await s({txHash:e.txHash,timeoutMs:Math.min(r,t)}).catch(()=>null):w;if(w=n,m(n))y=!0,S=0,b=0,x=0;else{let e=Math.max(1,l-Date.now()),t=await c({address:g,blockTag:`pending`,timeoutMs:Math.min(r,e)}).catch(()=>null);t!==null&&t<=_?(S+=1,b=0,x=0):t!==null&&t>_?(S=0,b=0,x+=1):(S=0,b=0,x=0)}let i=Date.now()-u;if(S>=2&&i>=p){let e=Error(`Transaction dropped or queued behind a nonce gap: tx hash never became visible while account nonce stayed behind tx nonce (${C.toString()} < ${_.toString()}).`);throw e.code=`tx_dropped_or_replaced`,e.reason=`dropped`,e.txNonce=_.toString(),e.latestNonce=C.toString(),e.txFrom=g,e.finalizationBranch=`dropped_nonce_gap`,e}if(x>=2&&i>=f){let e=Error(`Transaction dropped or replaced: tx hash never became visible and pending nonce moved ahead of tx nonce (${_.toString()}).`);throw e.code=`tx_dropped_or_replaced`,e.reason=`replaced`,e.txNonce=_.toString(),e.latestNonce=C.toString(),e.txFrom=g,e.finalizationBranch=`dropped_hash_disappeared`,e}}if(y){let t=Math.max(1,l-Date.now()),n=w===void 0?await s({txHash:e.txHash,timeoutMs:Math.min(r,t)}).catch(()=>null):w;if(w=n,m(n))b=0,x=0;else{let e=Math.max(1,l-Date.now()),t=await c({address:g,blockTag:`pending`,timeoutMs:Math.min(r,e)}).catch(()=>null);t!==null&&t<=_?x=0:t!==null&&t>_?x+=1:x=0}let i=Date.now()-u;if(x>=2&&i>=f){let e=Error(`Transaction dropped or replaced: tx hash disappeared and pending nonce moved ahead of tx nonce (${_.toString()}).`);throw e.code=`tx_dropped_or_replaced`,e.reason=`replaced`,e.txNonce=_.toString(),e.latestNonce=C.toString(),e.txFrom=g,e.finalizationBranch=`dropped_hash_disappeared`,e}}if(!y){let t=Math.max(1,l-Date.now()),n=w===void 0?await s({txHash:e.txHash,timeoutMs:Math.min(r,t)}).catch(()=>null):w;if(w=n,m(n))y=!0,b=0,x=0;else{let e=Math.max(1,l-Date.now()),t=await c({address:g,blockTag:`pending`,timeoutMs:Math.min(r,e)}).catch(()=>null);t!==null&&t===_&&C===_?(b+=1,x=0):t!==null&&t>_?(b=0,x+=1):(b=0,x=0)}let i=Date.now()-u;if(b>=3&&i>=d){let e=Error(`Transaction dropped or replaced: tx hash never became visible to RPC pending pool at nonce ${_.toString()}.`);throw e.code=`tx_dropped_or_replaced`,e.reason=`dropped`,e.txNonce=_.toString(),e.latestNonce=C.toString(),e.txFrom=g,e.finalizationBranch=`dropped_hash_disappeared`,e}if(x>=2&&i>=f){let e=Error(`Transaction dropped or replaced: tx hash never became visible and pending nonce moved ahead of tx nonce (${_.toString()}).`);throw e.code=`tx_dropped_or_replaced`,e.reason=`replaced`,e.txNonce=_.toString(),e.latestNonce=C.toString(),e.txFrom=g,e.finalizationBranch=`dropped_hash_disappeared`,e}}}}if(typeof e.maxFeePerGasHint==`bigint`){let n=Math.max(1,l-Date.now()),i=await o({blockTag:`latest`,timeoutMs:Math.min(r,n)}).catch(()=>null),a=String(i?.baseFeePerGas||``).trim();if(/^0x[0-9a-fA-F]+$/.test(a)){let n=null;try{n=B(a,`baseFeePerGas`)}catch{n=null}if(n!==null&&n>e.maxFeePerGasHint){h===null&&(h=Date.now());let r=Math.min(3e4,Math.floor(t/3));if(Date.now()-h>=r){let t=Error(`Transaction pending due to underpriced fees: maxFeePerGas=${ge(e.maxFeePerGasHint)} gwei, latest baseFee=${ge(n)} gwei. Retry to re-sign with refreshed fee caps.`);throw t.finalizationBranch=`underpriced_fee`,t}}else h=null}}await he(n,e.signal)}G(e.signal);let C=m?`; last RPC error: ${m}`:``,w=Error(`Timed out waiting for tx receipt after ${t}ms${C}`);throw w.finalizationBranch=`timeout`,w}}}function ve(e){let t=o(e.subjectId),n=X(e.leaseId,`leaseId`),r=X(e.operationId,`operationId`),i=X(e.operationFingerprint,`operationFingerprint`),a={chainTarget:e.chainTarget,subjectId:t,sender:Re(e.sender),nonce:Y(e.nonce,`nonce`).toString(),leaseId:n,operationId:r,operationFingerprint:i};return e.nonceKey!=null&&(a.nonceKey=Y(e.nonceKey,`nonceKey`).toString()),Number.isSafeInteger(e.reservedAtMs)&&(a.reservedAtMs=e.reservedAtMs),Number.isSafeInteger(e.expiresAtMs)&&(a.expiresAtMs=e.expiresAtMs),a}function ye(e){if(!e||typeof e!=`object`)throw Error(`[evmNonceBackend] invalid managed nonce snapshot: object`);let t=Ie(e),n=o(e.subjectId??e.walletId),r=Re(e.sender),i=Y(e.nonce,`nonce`),a=e.nonceKey==null?void 0:Y(e.nonceKey,`nonceKey`),s=X(e.leaseId,`leaseId`),c=X(e.operationId,`operationId`),l=X(e.operationFingerprint,`operationFingerprint`),u=Be(e.reservedAtMs),d=Be(e.expiresAtMs);return{chainTarget:t,subjectId:n,sender:r,...a==null?{}:{nonceKey:a},nonce:i,leaseId:s,operationId:c,operationFingerprint:l,...u==null?{}:{reservedAtMs:u},...d==null?{}:{expiresAtMs:d}}}function be(e){let t={chainTarget:s({chain:e.chain,chainId:e.chainId,networkSlug:e.networkKey}),subjectId:o(e.walletId),sender:Re(e.sender)};return e.nonceKey!=null&&(t.nonceKey=Y(e.nonceKey,`nonceKey`)),t}const xe=15e3;function Se(e){return{async fetchChainNonce(t){let n=Fe(t);return await e.fetchChainNonce(n)},async fetchBroadcastTransactionStatus(t){let n=Fe(t);return await e.fetchBroadcastTransactionStatus({...n,txHash:ze(t.txHash)})}}}function Ce(e){let t=e.fetchImpl||fetch.bind(globalThis);return Se({fetchChainNonce:async n=>await Ee({chains:e.chains,input:n,fetchImpl:t}),fetchBroadcastTransactionStatus:async n=>await we({chains:e.chains,input:n,fetchImpl:t})})}async function we(e){let t=De(e.chains,e.input),n=await Te({rpcUrl:t,method:`eth_getTransactionReceipt`,params:[e.input.txHash],fetchImpl:e.fetchImpl});if(n&&typeof n==`object`)return{kind:`finalized`};let r=await Te({rpcUrl:t,method:`eth_getTransactionByHash`,params:[e.input.txHash],fetchImpl:e.fetchImpl});return r&&typeof r==`object`?{kind:`pending`}:{kind:`missing`}}async function Te(e){return await J({rpcUrl:e.rpcUrl,fetchImpl:e.fetchImpl,requestTimeoutMs:xe}).request({method:e.method,params:e.params})}async function Ee(e){return Ve(await J({rpcUrl:De(e.chains,e.input),fetchImpl:e.fetchImpl,requestTimeoutMs:xe}).request({method:`eth_getTransactionCount`,params:[e.input.sender,`pending`]}),`eth_getTransactionCount`)}function De(e,n){let r=n.chain,i=n.chainId,a=String(n.networkKey||``).trim().toLowerCase(),o=e=>e.filter(e=>{let t=Me(e);return typeof t==`number`&&t===i}),s=e=>e.filter(e=>String(e.network||``).trim().toLowerCase()===a),c=e.filter(e=>Oe(e));if(!c.length)throw Error(`[evmNonceBackend] missing RPC config for nonce-enabled chains`);let l=s(c);if(l.length===1){let e=l[0];return je({chain:e,requestedChain:r,networkKey:n.networkKey,chainId:i}),Ae({chain:e,chainId:i,networkKey:n.networkKey}),Pe(e.rpcUrl,e.network)}if(l.length>1){let e=o(l).filter(e=>ke(e,r));if(e.length===1){let t=e[0];return Pe(t.rpcUrl,t.network)}throw Error(`[evmNonceBackend] ambiguous networkKey mapping for ${n.networkKey} (chainId=${String(i)})`)}let u=o(c),d=u.filter(e=>ke(e,r));if(d.length===1){let e=d[0];return Pe(e.rpcUrl,e.network)}if(d.length>1){let e=d.map(e=>String(e.network||``).trim()).join(`, `);throw Error(`[evmNonceBackend] ambiguous chainId routing for ${r} chainId=${String(i)} across [${e}]`)}if(u.length>0){let e=Array.from(new Set(u.map(e=>t(e.network))));throw Error(`[evmNonceBackend] chainId=${String(i)} is configured for [${e.join(`, `)}] but is incompatible with ${r} routing`)}throw Error(`[evmNonceBackend] unable to resolve RPC URL for ${r} ${n.networkKey} (chainId=${String(i)})`)}function Oe(e){let n=t(e.network);return n===`evm`||n===`tempo`}function ke(e,n){let r=t(e.network);return n===`tempo`?r===`tempo`:r===`evm`||r===`tempo`}function Ae(e){let t=Me(e.chain);if(typeof t!=`number`)throw Error(`[evmNonceBackend] configured network ${e.chain.network} is missing numeric chainId`);if(t!==e.chainId)throw Error(`[evmNonceBackend] chainId mismatch for network ${e.networkKey}: expected ${t}, received ${String(e.chainId)}`)}function je(e){if(ke(e.chain,e.requestedChain))return;let n=t(e.chain.network);throw Error(`[evmNonceBackend] network ${e.networkKey} (family=${n}) is incompatible with ${e.requestedChain} request (chainId=${String(e.chainId)})`)}function Me(e){return Ne(e)?e.chainId:void 0}function Ne(e){return t(e.network)!==`near`}function Pe(e,t){let n=String(e||``).trim();if(!n)throw Error(`[evmNonceBackend] missing rpcUrl for ${t}`);return n}function Fe(e){let t=e.chainTarget.kind;if(t!==`evm`&&t!==`tempo`)throw Error(`[evmNonceBackend] invalid chain '${String(t)}'`);let n=String(e.chainTarget.networkSlug||``).trim().toLowerCase();if(!n)throw Error(`[evmNonceBackend] networkKey is required`);return{chain:t,networkKey:n,chainId:e.chainTarget.chainId,sender:Le(e.sender,`sender`),nonceKey:t===`tempo`?Y(e.nonceKey,`nonceKey`):0n,walletId:String(o(e.subjectId))}}function Ie(e){if(e.chainTarget)return a(e.chainTarget);let t=e.chain;if(t!==`evm`&&t!==`tempo`)throw Error(`[evmNonceBackend] invalid managed nonce snapshot: chain`);let n=String(e.networkKey||``).trim();if(!n)throw Error(`[evmNonceBackend] invalid managed nonce snapshot: networkKey`);let r=e.chainId;if(typeof r!=`number`||!Number.isSafeInteger(r)||r<=0)throw Error(`[evmNonceBackend] invalid managed nonce snapshot: chainId`);return s({chain:t,chainId:r,networkSlug:n})}function Le(e,t){let n=String(e||``).trim().toLowerCase();if(!/^0x[0-9a-f]{40}$/.test(n))throw Error(`[evmNonceBackend] invalid ${t}: expected 20-byte 0x-prefixed hex`);return n}function Re(e){return Le(e,`sender`)}function ze(e){let t=String(e||``).trim().toLowerCase();if(!/^0x[0-9a-f]{64}$/.test(t))throw Error(`[evmNonceBackend] invalid txHash: expected 32-byte 0x-prefixed hex`);return t}function Y(e,t){try{let n=BigInt(e);if(n<0n)throw Error(`[evmNonceBackend] ${t} must be non-negative`);return n}catch{throw Error(`[evmNonceBackend] invalid ${t}: expected bigint-compatible value`)}}function X(e,t){let n=String(e||``).trim();if(!n)throw Error(`[evmNonceBackend] invalid managed nonce snapshot: ${t}`);return n}function Be(e){if(e==null)return;let t=Math.floor(Number(e));return Number.isSafeInteger(t)?t:void 0}function Ve(e,t){let n=String(e||``).trim();if(!/^0x[0-9a-fA-F]+$/.test(n))throw Error(`[evmNonceBackend] invalid ${t} result: expected hex quantity`);return BigInt(n)}function He(e){return e.kind===`required`?e.authPlan.signingAuthPlan:void 0}async function Ue(e){let t=He(e.thresholdEcdsaStepUp),n=e.thresholdEcdsaStepUp.kind===`required`?e.thresholdEcdsaStepUp.runtime:void 0,r=n?.reusableAuthorization??{kind:`active`},i=We({signingAuthPlan:t,hasEmailOtpSigning:!!n?.emailOtpSigning,hasThresholdEcdsaRequest:e.hasThresholdEcdsaRequest,needsWebAuthn:e.needsWebAuthn,reusableAuthorization:r});if(!i)throw Error(`[chains] ${e.explicitAuthErrorLabel} signing requires explicit auth input`);let a=await ie({operation:{kind:`evm_family_threshold_ecdsa_step_up`,usesNeeded:Math.max(1,Math.floor(Number(e.requiredSignatureUses)||1))},selectedLane:i,policy:Ge(t,r),methods:{...n?.emailOtpSigning?{emailOtp:{method:`email_otp`,prepareChallenge:n.emailOtpSigning.prepare,...n.emailOtpSigning.resend?{resendChallenge:n.emailOtpSigning.resend}:{},complete:async()=>void 0}}:{},passkey:{method:`passkey`,prepare:async()=>({}),complete:async()=>void 0}}});if(a.method===`warm_session`){if(!t||!Ke(t))throw Error(`[chains] warm-session step-up requires an existing warm-session plan`);return{kind:`warm_session`,confirmationAuthPayload:{signingAuthPlan:t}}}if(a.method===`email_otp`){let e=qe({signingAuthPlan:t,prepared:a});if(!S(e))throw Error(`[chains] Email OTP step-up requires an Email OTP signing auth plan`);return{kind:`email_otp`,confirmationAuthPayload:{signingAuthPlan:e},emailOtpPrompt:a.prompt}}let o=qe({signingAuthPlan:t,prepared:a});if(!b(o))throw Error(`[chains] passkey step-up requires a passkey signing auth plan`);return{kind:`passkey`,confirmationAuthPayload:{signingAuthPlan:o}}}function We(e){return e.reusableAuthorization.kind===`absent`?{authMethod:e.reusableAuthorization.requiredFactor}:e.signingAuthPlan?S(e.signingAuthPlan)?{authMethod:`email_otp`}:b(e.signingAuthPlan)?{authMethod:`passkey`}:{authMethod:e.signingAuthPlan.method}:e.hasEmailOtpSigning?{authMethod:`email_otp`}:!e.hasThresholdEcdsaRequest&&e.needsWebAuthn?{authMethod:`passkey`}:null}function Ge(e,t){if(t.kind===`absent`)return{kind:`use_selected_lane`};if(e&&y(e)){if(e.curve!==`ecdsa`)throw Error(`[chains] EVM-family warm-session step-up requires an ECDSA auth plan`);return{kind:`reuse_warm_session`,authorization:{method:e.method,curve:`ecdsa`,materialActivation:e.materialActivation,authorization:e.authorization,expiresAtMs:e.expiresAtMs,remainingUses:e.remainingUses}}}return{kind:`use_selected_lane`}}function Ke(e){return y(e)&&e.curve===`ecdsa`}function qe(e){if(e.signingAuthPlan)return e.prepared.method===`email_otp`?{kind:`emailOtpReauth`,method:`email_otp`,emailOtpPrompt:e.prepared.prompt}:e.prepared.method===`passkey`&&!b(e.signingAuthPlan)?{kind:`passkeyReauth`,method:`passkey`}:e.signingAuthPlan;if(e.prepared.method===`email_otp`)return{kind:`emailOtpReauth`,method:`email_otp`,emailOtpPrompt:e.prepared.prompt};if(e.prepared.method===`passkey`)return{kind:`passkeyReauth`,method:`passkey`};throw Error(`[chains] warm-session step-up requires an existing signing auth plan`)}function Je(e){return{kind:`warm_session`,signingAuthPlan:e.signingAuthPlan,materialActivation:e.signingAuthPlan.materialActivation,authorization:e.signingAuthPlan.authorization,expiresAtMs:e.signingAuthPlan.expiresAtMs,remainingUses:e.signingAuthPlan.remainingUses}}function Ye(e){return{kind:`email_otp`,signingAuthPlan:e.signingAuthPlan,challengeId:$e(e.confirmation.emailOtpChallengeId,e.prompt,`EVM-family step-up authorization`),otpCode:Qe(e.confirmation.otpCode),...e.prompt.emailHint?{emailHint:e.prompt.emailHint}:{}}}function Xe(e){if(!e.confirmation.credential)throw Error(`[chains] missing WebAuthn credential for EVM-family step-up authorization`);return{kind:`passkey`,signingAuthPlan:e.signingAuthPlan,credential:f(e.confirmation.credential)}}function Ze(e){if(e.prepared.kind===`active_wallet_authority`)throw Error(`[chains] active Wallet Authority confirmation has no threshold step-up`);return e.prepared.kind===`warm_session`?Je({signingAuthPlan:e.prepared.confirmationAuthPayload.signingAuthPlan}):e.prepared.kind===`email_otp`?Ye({signingAuthPlan:e.prepared.confirmationAuthPayload.signingAuthPlan,prompt:e.prepared.emailOtpPrompt,confirmation:e.confirmation}):Xe({signingAuthPlan:e.prepared.confirmationAuthPayload.signingAuthPlan,confirmation:e.confirmation})}function Qe(e){let t=String(e||``).trim();if(!/^\d{6}$/.test(t))throw Error(`[chains] missing Email OTP code from touchConfirm`);return t}function $e(e,t,n){let r=String(e||t.challengeId||``).trim();if(!r)throw Error(`[chains] missing Email OTP challenge id for ${n}`);return r}const et=`AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA`,tt=`pending-intent-digest`,Z=new Map;function nt(e){return String(e||``).trim()}function rt(e){let t=nt(e.requestId);t&&Z.set(t,e.preparation)}function it(e){let t=nt(e);if(!t)return;let n=Z.get(t);if(n)return Z.delete(t),n}function at(e){let t=nt(e);t&&Z.delete(t)}var Q=class extends Error{constructor(e){super(`[chains] threshold ECDSA material was superseded (${e.supersessionKind}): prepared ${String(e.preparedMaterialActivation.activationId)}, current ${String(e.currentMaterialActivation.activationId)}`),this.name=`EvmFamilyEcdsaMaterialSupersededError`,this.superseded=e}};function ot(e){return e instanceof Q}function st(e){return e.curve===`ed25519`?{curve:e.curve,thresholdSessionId:e.thresholdSessionId,expiresAtMs:e.expiresAtMs,remainingUses:e.remainingUses}:{curve:e.curve,materialActivationId:String(e.materialActivation.activationId),expiresAtMs:e.expiresAtMs,remainingUses:e.remainingUses}}function ct(e){switch(e.kind){case`material_for_step_up`:return e.material;case`material_from_canonical_capability`:case`material_from_step_up`:return e.material.signerSession}}function lt(e){return typeof e?.signReady==`function`}async function ut(t){let a=String(t.operationFingerprint||``).trim();if(!a)throw Error(`[chains] exact EVM signing operation fingerprint digest is required`);return{laneDigest:p(d.signingOperationFingerprint(a)),intentDigest:i(n(t.signingDigest32)),displayDigest:await r(e(t.displayModel))}}function dt(e){return{intentDigest:e.intentDigestHex,challengeB64u:e.challengeB64u,displayModel:e.displayModel}}function ft(e,t){return String(e.laneDigest)===String(t.laneDigest)&&String(e.intentDigest)===String(t.intentDigest)&&String(e.displayDigest)===String(t.displayDigest)}function pt(e){if(e.prepared.operation!==e.operation)throw Error(`[chains] prepared ECDSA operation step-up does not match the operation being signed`);if(!ft(e.prepared.operationDigests,e.operationDigests))throw Error(`[chains] prepared ECDSA operation step-up digest drift`)}function mt(e){if(!e.prepared)throw Error(`[chains] passkey ECDSA step-up requires an operation prepared before confirmation`);let t=String(e.prepared.prepared.challengeB64u||``).trim();if(!t||t!==String(e.challengeB64u||``).trim())throw Error(`[chains] passkey ECDSA step-up challenge does not match the prepared operation`);return t}function $(e){throw Error(`[chains] unsupported EVM-family signing authorization: ${String(e)}`)}async function ht(e){switch(e.authorization.kind){case`active_wallet_authority`:return{kind:`active_wallet_authority`,confirmationAuthPayload:{signingAuthPlan:e.authorization.confirmationAuthPlan}};case`owner`:return await Ue({thresholdEcdsaStepUp:e.thresholdEcdsaStepUp,hasThresholdEcdsaRequest:e.hasThresholdEcdsaRequest,needsWebAuthn:e.needsWebAuthn,requiredSignatureUses:e.requiredSignatureUses,explicitAuthErrorLabel:e.explicitAuthErrorLabel});default:return $(e.authorization)}}function gt(e){if(e.input.authorization.kind!==`active_wallet_authority`)throw Error(`[chains] pending active Wallet Authority confirmation requires exact authorization`);return{ctx:{touchConfirm:e.input.touchConfirm},sessionId:e.sessionId,chain:e.config.targetKind,kind:`intentDigest`,signingSubject:{kind:`evm_wallet`,walletId:e.input.walletId},signingAuthPlan:e.input.authorization.confirmationAuthPlan,challengeB64u:et,intentDigest:tt,displayModel:e.config.buildDisplayModel({request:e.input.request,signerAccount:e.input.walletId,title:e.config.title,subtitle:e.config.body}),title:e.config.title,body:e.config.body,confirmationConfigOverride:e.input.confirmationConfigOverride}}async function _t(e){let t=String(e.operation.intent.operationId);m(t,`material_queue`,e.queuedAt);let n=performance.now(),r=await e.resolveMaterial(e.request,e.operation,e.operationDigests);return m(t,`material_authorization`,n),await e.engine.signReady(e.request,r.material,e.operation,e.operationDigests)}async function vt(e){let{config:t,input:r}=e,i=w(`intent`),a=`signing:${t.flowName}:${r.walletId}:${i}`,o=r.request.senderSignatureAlgorithm===`secp256k1`,s=r.thresholdEcdsaStepUp,u=s.kind===`not_required`?void 0:s.runtime,d=He(s),p=r.authorization.kind===`owner`&&s.kind===`required`&&(s.runtime.reusableAuthorization.kind===`absent`||!y(s.authPlan.signingAuthPlan));if(o&&!d)switch(r.authorization.kind){case`owner`:throw Error(`[chains] threshold ECDSA transaction signing requires an explicit auth plan`);case`active_wallet_authority`:break;default:$(r.authorization)}let g=d??(r.authorization.kind===`active_wallet_authority`?r.authorization.confirmationAuthPlan:null),_=g?re(g):`passkey`,v=e=>{try{r.onEvent?.(c({...e,flowId:a,walletId:r.walletId,authMethod:_}))}catch{}},b=new Set,S=e=>{if(!b.has(e)){b.add(e);try{u?.onAuthSideEffectStarted?.(e)}catch{}}},ie=e=>{e.phase===`auth.passkey.prompt.started`&&S(`passkey_reauth`);let t=te(e,_);t&&v(t)},ce=async(e,t)=>{let n=async e=>{await t[e]?.()};if(!r.signingSessionPlan){await C({commands:e,execute:n});return}let i=await oe({steps:ae(se({sessionPlan:r.signingSessionPlan,operation:r.signingOperation||null,commands:e})),executor:{execute:async e=>{await n(e.kind)}},onTransition:r.onSigningOperationTransition});if(!i.ok)throw i.error;if(i.finalState.kind===`failed`)throw Error(i.finalState.reason)},E=t.webauthn.kind===`supported`&&t.webauthn.requestNeedsWebAuthn(r.request),D=r.request,O=null,k=!1,A=!1,j=s.kind===`required`?s.operation:null,le=async()=>{if(j)return j;throw Error(`[chains] threshold ECDSA transaction signing requires an operation`)},M=async()=>{if(!(k||!O||!r.releaseNonceReservation)){k=!0;try{await r.releaseNonceReservation(O)}catch{}}},N=async()=>{if(!O)return;let e=String(O.leaseId||``).trim(),n=String(O.operationId||``).trim(),i=String(O.operationFingerprint||``).trim();if(!e||!n||!i)throw Error(`[chains] managed ${t.nonceErrorLabel} nonce reservation is missing lease metadata`);await r.ctx.nonceCoordinator.markSigned({leaseId:e,operationId:n,operationFingerprint:i})},P=(async()=>{if(r.prepareRequestWithManagedNonce){let e=await r.prepareRequestWithManagedNonce();D=e.request,O=e.reservation}let e=await t.buildIntent({workerCtx:r.workerCtx,request:D});t.webauthn.kind===`supported`&&t.webauthn.validateIntent(e);let i=e.signRequests[0];if(!i)throw Error(`[chains] signing intent has no sign requests`);let a=ee(i),o=h(a),s=t.buildDisplayModel({request:D,intentDigest:o,signerAccount:r.walletId,title:t.title,subtitle:t.body}),c=n(a);if(p&&i.algorithm===`secp256k1`&&u&&j&&r.resolveEcdsaSigningMaterialPlan){let e=await ut({operationFingerprint:r.signingOperation?.operationFingerprint,signingDigest32:ee(i),displayModel:s}),t=await r.resolveEcdsaSigningMaterialPlan();switch(t.kind){case`ready`:V=t.value;break;case`authorization_required`:V=t.requirement;break;case`superseded`:throw new Q(t.replacement);case`failed`:throw Error(`[chains] threshold ECDSA material is unavailable: ${t.failure.reason}`)}let n=V;if(!n)throw Error(`[chains] ECDSA preparation did not produce signing material`);let a=await u.operationStepUp.prepare({operation:j,operationDigests:e,material:ct(n)});H={prepared:a,operation:j,operationDigests:e},c=a.challengeB64u}return{intent:e,challengeB64u:c,intentDigestHex:o,displayModel:s}})();r.authorization.kind===`active_wallet_authority`&&rt({requestId:i,preparation:P.then(dt)});let F=null,I=null,L=null,R=null,z=!1,B=null,V=null,H=null,U=async(e,t,n)=>{if(r.resolveEcdsaSigningMaterialPlan){let e=await r.resolveEcdsaSigningMaterialPlan();switch(e.kind){case`ready`:V=e.value;break;case`authorization_required`:V=e.requirement;break;case`superseded`:throw new Q(e.replacement);case`failed`:throw Error(`[chains] threshold ECDSA material is unavailable: ${e.failure.reason}`)}}let i=V;if(!i)throw Error(`[chains] missing ready threshold ECDSA material for secp256k1 signing`);if(!I||I.kind===`warm_session`){if(i.kind===`material_for_step_up`)throw Error(`[chains] auth-neutral ECDSA material reached signing without a same-method step-up`);return i}if(!u)throw Error(`[chains] ECDSA operation step-up runtime is unavailable`);let a=H;if(!a)throw Error(`[chains] ECDSA step-up signing requires an operation prepared before confirmation`);return pt({prepared:a,operation:t,operationDigests:n}),{kind:`material_from_step_up`,material:await u.operationStepUp.authorize({authorization:I,prepared:a.prepared,material:ct(i)})}},W=async()=>{if(r.authorization.kind===`active_wallet_authority`){v({phase:l.STEP_05_CONFIRMATION_DISPLAYED,status:`waiting_for_user`,interaction:{kind:`transaction_confirmation`,overlay:`show`}}),r.onConfirmationDisplayed?.();let e=gt({config:t,input:r,sessionId:i});L=await ne({runtime:r.touchConfirm,request:e})(),R=await P,z=R.intent.signRequests.some(e=>e.algorithm===`secp256k1`);let n=await ht({authorization:r.authorization,thresholdEcdsaStepUp:s,hasThresholdEcdsaRequest:o,needsWebAuthn:E,requiredSignatureUses:t.requiredSignatureUsesForRequest(r.request),explicitAuthErrorLabel:t.explicitAuthErrorLabel});if(!y(n.confirmationAuthPayload.signingAuthPlan)&&!x(n.confirmationAuthPayload.signingAuthPlan))throw Error(`[chains] active Wallet Authority signing requires a session auth plan`);F=n;let a=n.confirmationAuthPayload.signingAuthPlan;v({phase:l.STEP_06_AUTH_WARM_SESSION_CLAIMED,status:`succeeded`,interaction:{kind:`none`,overlay:`none`},data:x(a)?{walletSessionId:String(a.walletSessionId),expiresAtMs:a.expiresAtMs,authorityId:String(a.authorityId),authMethodId:String(a.authMethodId)}:st(a)}),S(`auth_confirmed`),v({phase:l.STEP_05_CONFIRMATION_APPROVED,status:`succeeded`,interaction:{kind:`transaction_confirmation`,overlay:`hide`}});return}R=await P,z=R.intent.signRequests.some(e=>e.algorithm===`secp256k1`),v({phase:l.STEP_05_CONFIRMATION_DISPLAYED,status:`waiting_for_user`,interaction:{kind:`transaction_confirmation`,overlay:`show`}}),r.onConfirmationDisplayed?.();let e=await ht({authorization:r.authorization,thresholdEcdsaStepUp:s,hasThresholdEcdsaRequest:o,needsWebAuthn:E,requiredSignatureUses:t.requiredSignatureUsesForRequest(r.request),explicitAuthErrorLabel:t.explicitAuthErrorLabel});F=e;let n=e.confirmationAuthPayload;if(y(n.signingAuthPlan)||x(n.signingAuthPlan)){let e=n.signingAuthPlan;v({phase:l.STEP_06_AUTH_WARM_SESSION_CLAIMED,status:`succeeded`,interaction:{kind:`none`,overlay:`none`},data:x(e)?{walletSessionId:String(e.walletSessionId),expiresAtMs:e.expiresAtMs,authorityId:String(e.authorityId),authMethodId:String(e.authMethodId)}:st(e)})}let a={ctx:{touchConfirm:r.touchConfirm},sessionId:i,chain:t.targetKind,kind:`intentDigest`,signingSubject:{kind:`evm_wallet`,walletId:r.walletId},challengeB64u:R.challengeB64u,intentDigest:R.intentDigestHex,displayModel:R.displayModel,title:t.title,body:t.body,onProgress:ie,confirmationConfigOverride:r.confirmationConfigOverride},c=e.kind===`passkey`?{...a,...e.confirmationAuthPayload,webauthnChallenge:{kind:`intent_digest`,challengeB64u:mt({prepared:H,challengeB64u:R.challengeB64u})}}:e.kind===`email_otp`?{...a,...e.confirmationAuthPayload,emailOtpPrompt:e.emailOtpPrompt}:{...a,...e.confirmationAuthPayload};L=await ne({runtime:r.touchConfirm,request:c})();let u=L;if(!u)throw Error(`[chains] signing confirmation did not produce a decision`);switch(S(`auth_confirmed`),r.authorization.kind){case`owner`:I=Ze({prepared:e,confirmation:u});break;default:$(r.authorization)}v({phase:l.STEP_05_CONFIRMATION_APPROVED,status:`succeeded`,interaction:{kind:`transaction_confirmation`,overlay:`hide`}})},ue=async()=>{if(!R)throw Error(`[chains] signing intent must be prepared before threshold admission`);if(!L)throw Error(`[chains] signing confirmation is required before threshold admission`);if(!F)throw Error(`[chains] signing auth payload is required before threshold admission`);switch(r.authorization.kind){case`owner`:if(!I)throw Error(`[chains] signing step-up authorization is required before threshold admission`);if(z&&!j)throw Error(`[chains] threshold ECDSA operation must be prepared before signing`);break;case`active_wallet_authority`:break;default:$(r.authorization)}},de=async()=>{let e=performance.now();if(!R)throw Error(`[chains] signing intent must be prepared before signing`);if(!L)throw Error(`[chains] signing confirmation must complete before signing`);let n=R.intent;z&&v({phase:l.STEP_10_COMMIT_STARTED,status:`running`,interaction:{kind:`none`,overlay:`none`}});let a=[];for(let e of n.signRequests){let n;if(e.kind===`webauthn`){if(t.webauthn.kind!==`supported`)throw Error(`[chains] WebAuthn signing is not supported for this chain`);if(!L.credential)throw Error(`[chains] missing WebAuthn credential from touchConfirm`);n=(await t.webauthn.resolveKeyRef({ctx:r.ctx,walletId:r.walletId,workerCtx:r.workerCtx,signReq:e,credential:f(L.credential)})).keyRef}else if(e.algorithm===`secp256k1`){let t=await ut({operationFingerprint:r.signingOperation?.operationFingerprint,signingDigest32:e.digest32,displayModel:R.displayModel});switch(r.authorization.kind){case`active_wallet_authority`:{let n=r.signingOperation?.operationId;if(!n)throw Error(`[chains] active Wallet Authority ECDSA signing requires an operation id`);a.push(await r.authorization.sign({requestId:i,operationId:String(n),operationDigests:t,signingDigest32:e.digest32}));continue}case`owner`:break;default:$(r.authorization)}let n=await le(),o=r.engines.secp256k1;if(!o)throw Error(`[chains] missing engine for algorithm: ${e.algorithm}`);if(!lt(o))throw Error(`[chains] secp256k1 signing engine requires ready material support`);if(!r.runEcdsaMaterialUse)throw Error(`[chains] secp256k1 signing requires exact material serialization`);a.push(await r.runEcdsaMaterialUse(_t.bind(void 0,{request:e,engine:o,operation:n,operationDigests:t,queuedAt:performance.now(),resolveMaterial:U})));continue}else throw Error(`[chains] unsupported ${t.explicitAuthErrorLabel} signing algorithm: ${e.algorithm}`);let o=r.engines.webauthnP256;if(!o)throw Error(`[chains] missing engine for algorithm: ${e.algorithm}`);a.push(await o.sign(e,n))}let o=performance.now();B=await n.finalize(a),A=!0,await N();let s=null;j?s=String(j.intent.operationId):r.authorization.kind===`active_wallet_authority`&&r.signingOperation&&(s=String(r.signingOperation.operationId)),s!==null&&(m(s,`transaction_assembly`,o),m(s,`commit_total`,e)),v({phase:l.STEP_11_TRANSACTION_SIGNED,status:`succeeded`,interaction:{kind:`none`,overlay:`hide`}}),v({phase:l.STEP_15_COMPLETED,status:`succeeded`,interaction:{kind:`none`,overlay:`none`},data:{operation:`sign`}})};try{if(await ce([T.ShowConfirmation,T.PreparePayload,T.Sign],{[T.ShowConfirmation]:W,[T.PreparePayload]:ue,[T.Sign]:de}),!B)throw Error(`[chains] signing operation completed without a signed result`);let e=B;return O?{...e,managedNonce:ve(O)}:e}catch(e){throw A||(O?await M():r.releaseNonceReservation&&await P.then(async()=>{await M()}).catch(()=>void 0)),e}}export{tt as a,Ce as c,J as d,z as f,k as g,j as h,et as i,ye as l,M as m,ot as n,at as o,P as p,vt as r,it as s,Q as t,be as u};
@@ -0,0 +1 @@
1
+ import{f as e,w as t}from"./normalize-kUDm5zfS.js";import{k as n}from"./chains-CiYQT1K4.js";import{r}from"./base64-CsEj-_bC.js";import{d as i,m as a,p as o}from"./digestEncoding-Dzc1rzWV.js";import{c as s}from"./ecdsaChainTarget-C8ZtMZ8l.js";import{a as c,c as l}from"./walletAuthority-B5hXHWpK.js";import{D as u,Dt as d,Et as f,G as p,Kt as m,Nt as h,P as g,T as _,V as v,X as y,Y as b,d as x,en as S,f as C,jt as w,m as T,mt as E,o as ee,p as te,tn as D}from"./emailOtpEcdsaDerivationIdentity-B8HzTh4T.js";import{v as O,y as k}from"./challengeDelivery-DxXAkOfS.js";import{p as A}from"./ecdsaDerivationClientWasm-CVeNEou2.js";import{a as j,n as M}from"./walletSessionFailure-Bu4VPKTz.js";import{a as N}from"./clientSessionPersistenceState-CImFWDj6.js";import{t as P}from"./bytes-BBYkulRB.js";const F=new Map;function I(e){return`${String(e.walletId)}\0${e.materialActivation.activationId}`}function L(t){let n=I(t),r=F.get(n);if(r&&(r.authorityId!==t.authorityId||r.walletAuthMethodId!==t.walletAuthMethodId||r.factorAuthority.walletId!==t.factorAuthority.walletId||r.factorAuthority.bindingId!==t.factorAuthority.bindingId||r.holderHandleId!==t.holderHandleId||!e(r.materialActivation,t.materialActivation)))throw Error(`linked ECDSA holder runtime conflicts with the active authority`);F.set(n,t)}function R(e){return F.get(I(e))??null}function z(e){return[...F.values()].filter(t=>e===void 0||t.walletId===e)}function B(e){let t=I(e),n=F.get(t);if(n){if(n.holderHandleId!==e.holderHandleId)throw Error(`linked ECDSA holder runtime changed before removal`);F.delete(t)}}function V(e){if(!e){F.clear();return}for(let[t,n]of F)n.walletId===e&&F.delete(t)}function H(e,t){return t?{kind:`blocked`,reason:e,message:t}:{kind:`blocked`,reason:e}}function U(e){return c(e)||l(e.signerActivations)?e.signerActivations:null}function W(e){if(e.kind!==`resolved`)switch(e.kind){case`missing_selection`:return H(`missing_selected_authority`);case`missing_auth_method`:case`missing_authority`:case`integrity_error`:return H(`invalid_selected_authority`);default:return e}return e.selection.walletId!==e.authMethod.walletId||e.selection.walletAuthMethodId!==e.authMethod.walletAuthMethodId||e.authMethod.walletAuthorityId!==e.authority.authorityId||e.authority.walletId!==e.selection.walletId?H(`authority_identity_mismatch`):e.selection.lockState===`unlocked`?e.authMethod.status===`active`?e.authority.state===`active`?{authMethod:e.authMethod,authority:e.authority,signerMaterials:e.signerMaterials}:H(`authority_inactive`):H(`auth_method_inactive`):H(`wallet_locked`)}function G(t){let n=t.materials.filter(n=>n.kind===`wallet_authority_linked_signer_material_v1`&&n.keyFamily===`ecdsa_secp256k1`&&n.authorityId===t.authority.authorityId&&n.walletAuthMethodId===t.authMethod.walletAuthMethodId&&n.activationId===t.materialActivation.activationId&&e(n.materialActivation,t.materialActivation)),[r]=n;return n.length===1&&r?r:null}function K(e){let t=e.material.targetFactor;return t.walletAuthMethodId===e.authMethod.walletAuthMethodId?e.authMethod.kind===`passkey`?t.kind===`passkey`&&t.rpId===e.authMethod.rpId&&t.credentialIdB64u===e.authMethod.credentialIdB64u:t.kind===`email_otp`&&t.emailHashHex===e.authMethod.emailHashHex&&t.registrationAuthorityId===e.authMethod.registrationAuthorityId:!1}function ne(t){return t.session.capabilitySubjects.filter(n=>n.kind===t.capability&&n.keyFamily===`ecdsa_secp256k1`&&e(n.materialActivation,t.materialActivation)).length===1}function q(e){try{return S(e.scope.material_activation)}catch{return null}}function J(e){try{return P(r(e.scope.public_identity.ethereum_address20_b64u))}catch{return null}}function Y(e,t){return e.linkSessionId===t.linkSessionId&&e.enrollmentId===t.enrollmentId&&e.sourceAuthorityId===t.sourceAuthorityId&&O(e.source,t.source)&&k(e.target,t.target)&&e.targetClientPublicKey33B64u===t.targetClientPublicKey33B64u}function X(e,t){return e.kind===t.kind&&E(e.scope,t.scope)}function Z(e,t){return e.applicationBindingDigestB64u===t.applicationBindingDigestB64u&&e.clientShareRetryCounter===t.clientShareRetryCounter&&e.ecdsaThresholdKeyId===t.ecdsaThresholdKeyId&&X(e.sourceNormalSigning,t.sourceNormalSigning)}function re(e,t){return e.state===t.state&&Y(e.binding,t.binding)&&Z(e.sourceDerivation,t.sourceDerivation)&&e.targetRelayerPublicKey33B64u===t.targetRelayerPublicKey33B64u&&e.thresholdPublicKey33B64u===t.thresholdPublicKey33B64u&&e.thresholdEthereumAddress20B64u===t.thresholdEthereumAddress20B64u&&X(e.normalSigning,t.normalSigning)}function ie(t){let n=R({walletId:t.walletId,materialActivation:t.materialActivation});return!n||n.walletId!==t.walletId||n.authorityId!==t.authority.authorityId||n.walletAuthMethodId!==t.authMethod.walletAuthMethodId||n.factorAuthority.walletId!==t.walletId||n.factorAuthority.bindingId!==t.authMethod.walletAuthMethodId||n.ecdsaThresholdKeyId!==t.ecdsaThresholdKeyId||!e(n.materialActivation,t.materialActivation)||!K({material:t.material,authMethod:t.authMethod})||!re(n.activationReceipt,t.material.publicFacts.activationReceipt)?null:n}async function ae(t){let n=t.holderRuntime.activationReceipt.normalSigning,r=n.scope,i=q(n),a=J(n);if(!i||!a||!e(i,t.materialActivation)||t.signer.walletId!==t.selected.authority.walletId||r.wallet_id!==String(t.selected.authority.walletId)||r.ecdsa_threshold_key_id!==String(t.holderRuntime.ecdsaThresholdKeyId)||r.public_identity.threshold_public_key33_b64u!==String(t.signer.thresholdPublicKey33B64u)||a.toLowerCase()!==String(t.signer.evmAddress).trim().toLowerCase()||String(t.holderRuntime.activationReceipt.thresholdPublicKey33B64u)!==String(r.public_identity.threshold_public_key33_b64u)||String(t.holderRuntime.activationReceipt.thresholdEthereumAddress20B64u)!==String(r.public_identity.ethereum_address20_b64u))return H(`normal_signing_identity_mismatch`);let o,s,c,l;try{l=await T({ecdsaThresholdKeyId:r.ecdsa_threshold_key_id,signingRootId:r.signing_root_id,signingRootVersion:r.signing_root_version});let e=u(t.signer.evmAddress);o=ee({walletId:t.selected.authority.walletId,ecdsaThresholdKeyId:r.ecdsa_threshold_key_id,signingRootId:r.signing_root_id,signingRootVersion:r.signing_root_version,participantIds:[1,2],thresholdOwnerAddress:e}),s=te({keyHandle:l,publicKeyB64u:r.public_identity.threshold_public_key33_b64u,participantIds:[1,2],thresholdOwnerAddress:e}),c=await m({walletId:String(o.walletId),signingRootId:String(o.signingRootId),signingRootVersion:String(o.signingRootVersion)})}catch(e){return H(`invalid_public_facts`,e instanceof Error?e.message:String(e))}if(o.ecdsaThresholdKeyId!==t.holderRuntime.ecdsaThresholdKeyId)return H(`normal_signing_identity_mismatch`);let p;try{p=await h({authority:t.factorAuthority})}catch(e){return H(`authority_identity_mismatch`,e instanceof Error?e.message:String(e))}let g={kind:`active_wallet_authority_ecdsa_runtime_v1`,walletId:t.selected.authority.walletId,authorityId:t.selected.authority.authorityId,walletAuthMethodId:t.selected.authMethod.walletAuthMethodId,authorityDigestB64u:t.selected.authority.authorityDigestB64u,factorAuthorityRef:p,authorityRevocationEpoch:t.selected.authority.revocationEpoch,walletSessionId:t.operationCredential.walletSessionId,operationCredential:t.operationCredential,session:t.session,requiredCapability:t.requiredCapability,materialActivation:t.materialActivation,ecdsaThresholdKeyId:o.ecdsaThresholdKeyId,relayerKeyId:c,authority:t.selected.authority,authMethod:t.selected.authMethod,holderRuntime:t.holderRuntime,normalSigning:n,key:o,publicFacts:s};if(t.selected.authMethod.kind===`passkey`){let e={kind:`passkey`,rpId:_(t.selected.authMethod.rpId),credentialIdB64u:t.selected.authMethod.credentialIdB64u};if(!d(t.factorAuthority)||t.factorAuthority.walletId!==o.walletId||t.factorAuthority.bindingId!==t.selected.authMethod.walletAuthMethodId||t.factorAuthority.factor.credentialIdB64u!==e.credentialIdB64u||String(t.factorAuthority.verifier.rpId)!==String(e.rpId))return H(`authority_identity_mismatch`);let n=C({walletId:o.walletId,publicFacts:s,authBinding:x({rpId:e.rpId,credentialIdB64u:e.credentialIdB64u})});return{...g,auth:e,factorAuthority:t.factorAuthority,resolvedKey:n}}if(!f(t.factorAuthority)||t.factorAuthority.walletId!==o.walletId||t.factorAuthority.bindingId!==t.selected.authMethod.walletAuthMethodId||t.factorAuthority.verifier.emailHashHex!==t.selected.authMethod.emailHashHex)return H(`authority_identity_mismatch`);let v={kind:`email_otp`,providerSubjectId:String(t.factorAuthority.factor.providerUserId)};return{...g,auth:v,factorAuthority:t.factorAuthority}}function oe(e){if(!e.chainTarget)return null;let t={kind:`active_wallet_authority_ecdsa_lane_projection_v1`,source:`active_wallet_authority`,chainTarget:e.chainTarget,runtime:e.runtime,key:e.runtime.key,materialActivation:e.runtime.materialActivation,publicFacts:e.runtime.publicFacts,state:`deferred`,authorizationState:`authorization_required`};return e.runtime.auth.kind===`passkey`?e.runtime.resolvedKey?{...t,auth:e.runtime.auth,resolvedKey:e.runtime.resolvedKey}:null:{...t,auth:e.runtime.auth}}async function se(t){let{input:n,ports:r}=t,i=n.requiredCapability||`sign`,a=Math.floor(Number(n.nowMs)||Date.now()),o;try{o=s(n.walletId)}catch(e){return H(`invalid_selected_authority`,e instanceof Error?e.message:String(e))}let c;try{c=await r.resolveSelectedWalletAuthority(String(o))}catch(e){return H(`persistence_unavailable`,e instanceof Error?e.message:String(e))}let l=W(c);if(`kind`in l)return l;let u=U(l.authority);if(!u)return H(`missing_ecdsa_signer`);let d=u.ecdsa.signer,f=u.ecdsa.materialActivation;if(n.materialActivation&&!e(n.materialActivation,f))return H(`authority_identity_mismatch`);let p=G({materials:l.signerMaterials,authority:l.authority,authMethod:l.authMethod,materialActivation:f});if(!p||!K({material:p,authMethod:l.authMethod}))return H(`missing_holder_runtime`);if(String(p.publicFacts.ecdsaThresholdKeyId)!==String(p.ecdsaThresholdKeyId))return H(`holder_runtime_identity_mismatch`);let m=ie({walletId:o,authority:l.authority,authMethod:l.authMethod,materialActivation:f,ecdsaThresholdKeyId:String(p.ecdsaThresholdKeyId),material:p});if(!m)return H(`holder_runtime_identity_mismatch`);let h;try{h=await r.readExactWithOperationCredential({walletId:o,authorityId:l.authority.authorityId,authMethodId:l.authMethod.walletAuthMethodId})}catch(e){return H(`persistence_unavailable`,e instanceof Error?e.message:String(e))}switch(h.kind){case`found`:break;case`missing`:return H(`missing_wallet_session`);case`upgrade_required`:return H(`upgrade_required`,`Wallet Session authorization requires a newer client`)}let g=h.record,_=h.operationCredential;if(g.expiresAtMs<=a)return H(`wallet_session_expired`);if(g.walletId!==o||g.authorityId!==l.authority.authorityId||g.authMethodId!==l.authMethod.walletAuthMethodId||g.authorityDigestB64u!==l.authority.authorityDigestB64u||g.authorityRevocationEpoch!==l.authority.revocationEpoch||_.walletSessionId.length===0||_.token.trim().length===0)return H(`wallet_session_identity_mismatch`);if(!ne({session:g,capability:i,materialActivation:f}))return H(`wallet_session_capability_mismatch`);let v=m.factorAuthority,y=await ae({selected:l,session:g,operationCredential:_,requiredCapability:i,signer:d,materialActivation:f,holderRuntime:m,factorAuthority:v});return y.kind===`active_wallet_authority_ecdsa_runtime_v1`?{kind:`resolved`,runtime:y,lane:oe({runtime:y,chainTarget:n.chainTarget})}:y}const ce=Symbol(`persisted-ecdsa-role-local-material`);function le(e,t){return e.bindingDigest===t.contextBinding32B64u}function ue(e,t){return e.durableMaterialRef===t.durableMaterialRef&&e.bindingDigest===t.bindingDigest}function de(e){return e instanceof Error?e.message:String(e)}function Q(e){return{kind:`corrupt`,reason:e.reason,message:e.message}}function fe(e){switch(e.failure.reason){case`missing`:return{kind:`device_link_required`,reason:`missing_local_material`};case`expired`:return Q({reason:`expired`,message:`ECDSA role-local persisted material has expired`});case`binding_mismatch`:return Q({reason:`binding_mismatch`,message:`ECDSA role-local persisted material binding does not match its public facts`});case`corrupt`:return Q({reason:`corrupt_persistence`,message:`ECDSA role-local persisted material is corrupt`});default:{let t=e.failure.reason;throw Error(`Unsupported ECDSA role-local restoration failure: ${String(t)}`)}}}function pe(e){let n=w(e.authority);if(!n)throw Error(`ECDSA role-local persisted material authority is invalid`);let r=t(e.materialActivation);if(!r.ok)throw Error(r.error.message);if(n.walletId!==e.publicFacts.walletId)throw Error(`ECDSA role-local persisted material authority does not match its wallet`);return{[ce]:!0,kind:`persisted_ecdsa_role_local_material_v1`,authority:n,materialActivation:r.value,publicFacts:e.publicFacts}}function $(e){return{kind:`persisted`,authority:e.authority,materialActivation:e.materialActivation,publicFacts:e.publicFacts}}async function me(t){switch(t.source.kind){case`unavailable`:return{kind:`device_link_required`,reason:t.source.reason};case`persisted`:try{let n=await A({authority:t.source.authority,materialActivation:t.source.materialActivation,workerCtx:t.workerCtx});return n.ok?!e(n.materialRef.materialActivation,t.source.materialActivation)||!le(n.materialRef,t.source.publicFacts)?Q({reason:`worker_identity_mismatch`,message:`ECDSA role-local worker restored a different material identity`}):ue(n.liveHandle,n.materialRef)?{kind:`rehydrated`,liveHandle:n.liveHandle,materialRef:n.materialRef}:Q({reason:`worker_identity_mismatch`,message:`ECDSA role-local worker restored a different durable material`}):fe({failure:n})}catch(e){return Q({reason:`persistence_unavailable`,message:de(e)})}default:{let e=t.source;throw Error(`Unsupported ECDSA role-local material source: ${String(e)}`)}}}function he(e){try{return y(e)}catch(e){throw Error(e instanceof Error?e.message:`ECDSA operation step-up response is invalid`)}}function ge(e){let t=String(e||``).trim().replace(/\/+$/g,``);if(!t)throw Error(`ECDSA operation step-up relayerUrl is required`);return`${t}${g}`}function _e(e){let t=String(e.walletId||``).trim(),n=String(e.operationId||``).trim(),r=Math.floor(Number(e.expiresAtMs));if(!t||!n)throw Error(`ECDSA operation step-up identity is required`);if(!Number.isSafeInteger(r)||r<=Date.now())throw Error(`ECDSA operation step-up expiry is invalid`);let i=D(e.materialActivation),a=p(e.normalSigningScope),o=String(e.keyHandle||``).trim(),s=String(e.relayerKeyId||``).trim(),c=e.participantIds;if(a.wallet_id!==t||a.signing_worker.server_id!==i.signing_worker||!o||!s||c.length!==2||c.some(e=>!Number.isSafeInteger(e)||e<=0))throw Error(`ECDSA operation step-up signing identity is inconsistent`);return{wallet_id:t,operation_kind:e.operationKind,operation_id:n,operation_digests:{lane_digest_b64u:e.operationDigests.laneDigest,intent_digest_b64u:e.operationDigests.intentDigest,display_digest_b64u:e.operationDigests.displayDigest},material_activation:i,normal_signing_scope:a,signing_worker_id:i.signing_worker,key_handle:o,relayer_key_id:s,participant_ids:[c[0],c[1]],expires_at_ms:r}}async function ve(e){let t=_e(e);return{operation:t,challengeB64u:await v(t)}}function ye(e,t){switch(e){case j.expired:case j.missing:return`Signing session expired. Sign in again to continue.`;case j.budgetExhausted:return`Signing session budget is used up. Sign in again to continue.`;default:return`ECDSA operation step-up failed: ${t}`}}async function be(e){let t=b(e.request),r=e.transport.kind===`wallet_session`?o(e.transport.credential):{};if(e.transport.kind===`factor_proof`&&t.operation.operation_kind!==`evm.export_key`)throw Error(`ECDSA signing step-up requires its Wallet Session credential`);let s=new Request(ge(e.relayerUrl),i({headers:r,body:t})),c=e.transport.kind===`wallet_session`?await a(s):await fetch(s),l=await c.json().catch(()=>null);if(!c.ok){let e=n(l,`ECDSA operation step-up response`),t=String(e.message||`HTTP ${c.status}`);throw M({code:e.code,message:ye(e.code,t)})||Error(`ECDSA operation step-up failed: ${t}`)}return he(l)}async function xe(e){return await N({...e,labels:{queue:`threshold ECDSA signing queue`,queuedOperation:`threshold ECDSA queued signing operation`},owner:String(e.walletId).trim()})}export{$ as a,V as c,B as d,R as f,pe as i,L as l,be as n,me as o,ve as r,se as s,xe as t,z as u};
@@ -0,0 +1 @@
1
+ const e=`shamir3pass-v2`,t=`rfc2409-group2`,n=`iframe_origin_indexeddb`,r=`signing_session_secret32`,i=`router_ab_ed25519_normal_signing_v1`,a=`/router-ab/wallet-session/ed25519`,o=`/router-ab/ed25519/sign/prepare`,s=`/router-ab/ed25519/sign`,c=new Uint8Array([64,12,49,139,102,149,151,54,89,161,105,138,229,128,223,216,0,29,153,81,186,50,198,149,230,52,153,71,80,79,63,132]),l=new Uint8Array([38,218,80,229,172,150,74,126,160,132,82,127,182,71,246,51,11,50,222,81,169,175,70,82,75,0,109,143,127,231,244,209]);function u(e){return String(e||``).trim()||null}function d(e){let t=e&&typeof e==`object`?e:null;if(!t||t.kind!==`router_ab_ed25519_normal_signing_v1`)return null;let n=u(t.signingWorkerId);if(!n)throw Error(`Invalid Router A/B Ed25519 normal-signing state: missing signingWorkerId`);return{kind:i,signingWorkerId:n}}function f(e){let t=d(e);if(!t)throw Error(`Router A/B Ed25519 normal-signing state is required`);return t}export{i as a,t as c,d,f,o as i,n as l,l as n,a as o,s as r,e as s,c as t,r as u};
@@ -0,0 +1 @@
1
+ const e=`seams_wallet`,t={appState:`app_state`,wallets:`wallets`,walletAuthorities:`wallet_authorities`,walletAuthMethods:`wallet_auth_methods`,walletAuthoritySignerMaterials:`wallet_authority_signer_materials`,walletAuthorityExportRoots:`wallet_authority_export_roots`,walletAuthorityInstallationReceipts:`wallet_authority_installation_receipts`,walletSelections:`wallet_selections`,walletSigners:`wallet_signers`,nearAccountProjections:`near_accounts`,signerOpsOutbox:`signer_ops_outbox`,nonceLaneLeases:`nonce_lane_leases`,nonceLaneLocks:`nonce_lane_locks`,keyMaterial:`key_material`,signingSessionSeals:`signing_session_seals`,signingSessionRestoreLeases:`signing_session_restore_leases`,pendingWalletRecoveryCodeBackups:`email_otp_pending_recovery_code_backups`,walletSessionAuthorizations:`wallet_session_authorizations`,ecdsaCapabilityManifests:`ecdsa_capability_manifests`,ecdsaCurrentCapabilityManifests:`ecdsa_current_capability_manifests`,ecdsaRoleLocalMaterial:`ecdsa_role_local_material`,ecdsaActivationCommitJournals:`ecdsa_activation_commit_journals`,ecdsaMaterialSealingKeys:`ecdsa_material_sealing_keys`,ecdsaClientPresignatures:`ecdsa_client_presignatures`},n={profileId:`profile_id`,updatedAt:`updated_at`,walletId:`wallet_id`,walletIdKind:`wallet_id_kind`,walletKindNearSignerSlot:`wallet_kind_near_signer_slot`,walletKindNearEd25519SigningKeyId:`wallet_kind_near_ed25519_signing_key_id`,walletKindChainTargetKeyHandle:`wallet_kind_chain_target_key_handle`,walletKindChainTargetKeyFacts:`wallet_kind_chain_target_key_facts`,walletSignerId:`wallet_signer_id`,nearAccountId:`near_account_id`,rpId:`rp_id`,chainTargetKey:`chain_target_key`,keyHandle:`key_handle`,thresholdOwnerAddress:`threshold_owner_address`,status:`status`,nextAttemptAt:`next_attempt_at`,statusNextAttemptAt:`status_next_attempt_at`,idempotencyKey:`idempotency_key`,laneKey:`lane_key`,state:`state`,expiresAtMs:`expires_at_ms`,recoveryCodesIssuedAtMs:`recovery_codes_issued_at_ms`,laneState:`lane_state`,walletExpiresAt:`wallet_expires_at`,ownerId:`owner_id`,publicKey:`public_key`,authMethod:`auth_method`,curve:`curve`,ed25519ThresholdSessionId:`ed25519_threshold_session_id`,ecdsaThresholdSessionId:`ecdsa_threshold_session_id`,thresholdSessionId:`threshold_session_id`,exactSigningLaneIdentityKey:`exact_signing_lane_identity_key`,enrollmentId:`enrollment_id`,walletIdEnrollmentId:`wallet_id_enrollment_id`,authIdentifierKey:`auth_identifier_key`,kindRpIdAuthIdentifier:`kind_rp_id_auth_identifier`,passkeyRpIdCredentialId:`passkey_rp_id_credential_id`,capabilityWallet:`capability_wallet`,capabilityWalletAuthorityState:`capability_wallet_authority_state`,capabilityWalletAuthority:`capability_wallet_authority`,walletAuthorityId:`wallet_authority_id`,walletAuthMethodId:`wallet_auth_method_id`,walletIdAuthorityId:`wallet_id_authority_id`,walletIdAuthorityStatus:`wallet_id_authority_status`,walletIdAuthMethodId:`wallet_id_auth_method_id`,walletAuthorityAuthMethodId:`wallet_authority_auth_method_id`,activationId:`activation_id`,walletAuthorityActivationId:`wallet_authority_activation_id`,walletIdDeviceId:`wallet_id_device_id`,packageSetDigest:`package_set_digest`,walletKeyId:`wallet_key_id`,walletIdLockGeneration:`wallet_id_lock_generation`,authorityDigest:`authority_digest`,revocationEpoch:`revocation_epoch`,poolIdentityKey:`pool_identity_key`,walletMaterialActivationId:`wallet_material_activation_id`},r=[{store:t.appState,keyPath:`key`,indexes:[]},{store:t.wallets,keyPath:`wallet_id`,indexes:[{name:n.rpId,keyPath:`rp_id`,unique:!1},{name:n.status,keyPath:`status`,unique:!1},{name:n.updatedAt,keyPath:`updated_at`,unique:!1}]},{store:t.walletAuthorities,keyPath:`authority_id`,indexes:[{name:n.walletId,keyPath:`wallet_id`,unique:!1},{name:n.walletAuthorityId,keyPath:`authority_id`,unique:!0},{name:n.walletIdAuthorityId,keyPath:[`wallet_id`,`authority_id`],unique:!0},{name:n.walletIdAuthorityStatus,keyPath:[`wallet_id`,`state`],unique:!1},{name:n.walletIdDeviceId,keyPath:[`wallet_id`,`device_id`],unique:!1},{name:n.updatedAt,keyPath:`updated_at`,unique:!1}]},{store:t.walletAuthMethods,keyPath:`wallet_auth_method_id`,indexes:[{name:n.walletId,keyPath:`wallet_id`,unique:!1},{name:n.walletIdKind,keyPath:[`wallet_id`,`kind`],unique:!1},{name:n.authMethod,keyPath:`auth_method`,unique:!1},{name:n.rpId,keyPath:`rp_id`,unique:!1},{name:n.authIdentifierKey,keyPath:`auth_identifier_key`,unique:!1},{name:n.kindRpIdAuthIdentifier,keyPath:[`kind`,`rp_id`,`auth_identifier_key`],unique:!1},{name:n.passkeyRpIdCredentialId,keyPath:[`kind`,`rp_id`,`credential_id_b64u`],unique:!0},{name:n.status,keyPath:`status`,unique:!1},{name:n.walletAuthorityId,keyPath:`wallet_authority_id`,unique:!1},{name:n.walletIdAuthMethodId,keyPath:[`wallet_id`,`wallet_auth_method_id`],unique:!0},{name:n.walletIdAuthorityStatus,keyPath:[`wallet_id`,`wallet_authority_id`,`status`],unique:!1},{name:n.updatedAt,keyPath:`updated_at`,unique:!1}]},{store:t.walletAuthoritySignerMaterials,keyPath:[`wallet_authority_id`,`wallet_auth_method_id`,`activation_id`],indexes:[{name:n.walletAuthorityId,keyPath:`wallet_authority_id`,unique:!1},{name:n.walletAuthorityAuthMethodId,keyPath:[`wallet_authority_id`,`wallet_auth_method_id`],unique:!1},{name:n.activationId,keyPath:`activation_id`,unique:!1},{name:n.walletAuthorityActivationId,keyPath:[`wallet_authority_id`,`activation_id`],unique:!0}]},{store:t.walletAuthorityExportRoots,keyPath:[`wallet_authority_id`,`wallet_auth_method_id`,`wallet_key_id`],indexes:[{name:n.walletAuthorityId,keyPath:`wallet_authority_id`,unique:!1},{name:n.walletAuthorityAuthMethodId,keyPath:[`wallet_authority_id`,`wallet_auth_method_id`],unique:!1},{name:n.walletKeyId,keyPath:`wallet_key_id`,unique:!1}]},{store:t.walletAuthorityInstallationReceipts,keyPath:`authority_id`,indexes:[{name:n.walletAuthorityId,keyPath:`authority_id`,unique:!0},{name:n.walletId,keyPath:`wallet_id`,unique:!1},{name:n.walletAuthMethodId,keyPath:`wallet_auth_method_id`,unique:!1},{name:n.walletIdDeviceId,keyPath:[`wallet_id`,`device_id`],unique:!1},{name:n.packageSetDigest,keyPath:`package_set_digest_b64u`,unique:!1},{name:n.updatedAt,keyPath:`installed_at_ms`,unique:!1}]},{store:t.walletSelections,keyPath:`wallet_id`,indexes:[{name:n.walletId,keyPath:`wallet_id`,unique:!0},{name:n.walletAuthMethodId,keyPath:`wallet_auth_method_id`,unique:!1},{name:n.walletIdLockGeneration,keyPath:[`wallet_id`,`lock_generation`],unique:!0}]},{store:t.walletSigners,keyPath:`wallet_signer_id`,indexes:[{name:n.walletId,keyPath:`wallet_id`,unique:!1},{name:n.walletIdKind,keyPath:[`wallet_id`,`kind`],unique:!1},{name:n.walletKindNearSignerSlot,keyPath:[`wallet_id`,`kind`,`near_signer_slot`],unique:!1},{name:n.walletKindNearEd25519SigningKeyId,keyPath:[`wallet_id`,`kind`,`near_ed25519_signing_key_id`],unique:!1},{name:n.walletKindChainTargetKeyHandle,keyPath:[`wallet_id`,`kind`,`chain_target_key`,`key_handle`],unique:!0},{name:n.walletKindChainTargetKeyFacts,keyPath:[`wallet_id`,`kind`,`chain_target_key`,`ecdsa_threshold_key_id`],unique:!0},{name:n.chainTargetKey,keyPath:`chain_target_key`,unique:!1},{name:n.keyHandle,keyPath:`key_handle`,unique:!1},{name:n.thresholdOwnerAddress,keyPath:`threshold_owner_address`,unique:!1},{name:n.status,keyPath:`status`,unique:!1},{name:n.updatedAt,keyPath:`updated_at`,unique:!1}]},{store:t.nearAccountProjections,keyPath:[`wallet_id`,`near_account_id`,`signer_slot`],indexes:[{name:n.nearAccountId,keyPath:`near_account_id`,unique:!1},{name:n.profileId,keyPath:`profile_id`,unique:!1},{name:n.publicKey,keyPath:`public_key`,unique:!1},{name:n.updatedAt,keyPath:`updated_at`,unique:!1}]},{store:t.signerOpsOutbox,keyPath:`op_id`,indexes:[{name:n.status,keyPath:`status`,unique:!1},{name:n.nextAttemptAt,keyPath:`next_attempt_at`,unique:!1},{name:n.statusNextAttemptAt,keyPath:[`status`,`next_attempt_at`],unique:!1},{name:n.idempotencyKey,keyPath:`idempotency_key`,unique:!0},{name:n.walletId,keyPath:`wallet_id`,unique:!1},{name:n.chainTargetKey,keyPath:`chain_target_key`,unique:!1}]},{store:t.nonceLaneLeases,keyPath:`lease_id`,indexes:[{name:n.laneKey,keyPath:`lane_key`,unique:!1},{name:n.walletId,keyPath:`wallet_id`,unique:!1},{name:n.nearAccountId,keyPath:`near_account_id`,unique:!1},{name:n.state,keyPath:`state`,unique:!1},{name:n.expiresAtMs,keyPath:`expires_at_ms`,unique:!1},{name:n.laneState,keyPath:[`lane_key`,`state`],unique:!1},{name:n.walletExpiresAt,keyPath:[`wallet_id`,`expires_at_ms`],unique:!1}]},{store:t.nonceLaneLocks,keyPath:`lock_key`,indexes:[{name:n.expiresAtMs,keyPath:`expires_at_ms`,unique:!1},{name:n.ownerId,keyPath:`owner_id`,unique:!1}]},{store:t.keyMaterial,keyPath:`key_material_id`,indexes:[{name:n.walletId,keyPath:`wallet_id`,unique:!1},{name:n.walletSignerId,keyPath:`wallet_signer_id`,unique:!1},{name:n.chainTargetKey,keyPath:`chain_target_key`,unique:!1},{name:n.keyHandle,keyPath:`key_handle`,unique:!1},{name:n.publicKey,keyPath:`public_key`,unique:!1},{name:n.updatedAt,keyPath:`updated_at`,unique:!1}]},{store:t.signingSessionSeals,keyPath:`store_key`,indexes:[{name:n.walletId,keyPath:`wallet_id`,unique:!1},{name:n.authMethod,keyPath:`auth_method`,unique:!1},{name:n.curve,keyPath:`curve`,unique:!1},{name:n.ed25519ThresholdSessionId,keyPath:`ed25519_threshold_session_id`,unique:!1},{name:n.ecdsaThresholdSessionId,keyPath:`ecdsa_threshold_session_id`,unique:!1},{name:n.thresholdSessionId,keyPath:`threshold_session_id`,unique:!1},{name:n.enrollmentId,keyPath:`enrollmentId`,unique:!1},{name:n.keyHandle,keyPath:`key_handle`,unique:!1},{name:n.chainTargetKey,keyPath:`chain_target_key`,unique:!1},{name:n.exactSigningLaneIdentityKey,keyPath:`exact_signing_lane_identity_key`,unique:!1},{name:n.expiresAtMs,keyPath:`expires_at_ms`,unique:!1},{name:n.updatedAt,keyPath:`updated_at`,unique:!1}]},{store:t.signingSessionRestoreLeases,keyPath:`lease_key`,indexes:[{name:n.thresholdSessionId,keyPath:`threshold_session_id`,unique:!1},{name:n.ownerId,keyPath:`owner_id`,unique:!1},{name:n.expiresAtMs,keyPath:`expires_at_ms`,unique:!1}]},{store:t.pendingWalletRecoveryCodeBackups,keyPath:[`wallet_id`,`enrollment_id`],indexes:[{name:n.walletId,keyPath:`wallet_id`,unique:!1},{name:n.enrollmentId,keyPath:`enrollment_id`,unique:!1},{name:n.walletIdEnrollmentId,keyPath:[`wallet_id`,`enrollment_id`],unique:!0},{name:n.recoveryCodesIssuedAtMs,keyPath:`recovery_codes_issued_at_ms`,unique:!1},{name:n.status,keyPath:`status`,unique:!1}]},{store:t.walletSessionAuthorizations,keyPath:`wallet_session_id`,indexes:[{name:n.walletId,keyPath:`wallet_id`,unique:!1},{name:n.walletAuthorityId,keyPath:`wallet_authority_id`,unique:!1},{name:n.walletAuthMethodId,keyPath:`wallet_auth_method_id`,unique:!1},{name:n.authorityDigest,keyPath:`authority_digest_b64u`,unique:!1},{name:n.revocationEpoch,keyPath:`authority_revocation_epoch`,unique:!1},{name:n.status,keyPath:`status`,unique:!1},{name:n.expiresAtMs,keyPath:`expires_at_ms`,unique:!1}]},{store:t.ecdsaCapabilityManifests,keyPath:`manifest_id`,indexes:[{name:n.capabilityWallet,keyPath:[`capability_ref`,`wallet_id`],unique:!1},{name:n.capabilityWalletAuthorityState,keyPath:[`capability_ref`,`wallet_id`,`authority_digest`,`manifest_state`],unique:!1}]},{store:t.ecdsaCurrentCapabilityManifests,keyPath:[`capability_ref`,`wallet_id`,`authority_digest`],indexes:[{name:n.walletId,keyPath:`wallet_id`,unique:!1}]},{store:t.ecdsaRoleLocalMaterial,keyPath:`durable_material_ref`,indexes:[]},{store:t.ecdsaActivationCommitJournals,keyPath:`journal_id`,indexes:[{name:n.capabilityWalletAuthority,keyPath:[`capability_ref`,`wallet_id`,`authority_digest`],unique:!0}]},{store:t.ecdsaMaterialSealingKeys,keyPath:`key_id`,indexes:[]},{store:t.ecdsaClientPresignatures,keyPath:`record_id`,indexes:[{name:n.poolIdentityKey,keyPath:`pool_identity_key`,unique:!1},{name:n.walletId,keyPath:`wallet_id`,unique:!1},{name:n.walletMaterialActivationId,keyPath:[`wallet_id`,`material_activation_id`],unique:!1},{name:n.expiresAtMs,keyPath:`expires_at_ms`,unique:!1},{name:n.walletExpiresAt,keyPath:[`wallet_id`,`expires_at_ms`],unique:!1}]}],i=(e,t)=>t.some(t=>e instanceof t);let a,o;function s(){return a||=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction]}function c(){return o||=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey]}const l=new WeakMap,u=new WeakMap,d=new WeakMap;function f(e){let t=new Promise((t,n)=>{let r=()=>{e.removeEventListener(`success`,i),e.removeEventListener(`error`,a)},i=()=>{t(v(e.result)),r()},a=()=>{n(e.error),r()};e.addEventListener(`success`,i),e.addEventListener(`error`,a)});return d.set(t,e),t}function p(e){if(l.has(e))return;let t=new Promise((t,n)=>{let r=()=>{e.removeEventListener(`complete`,i),e.removeEventListener(`error`,a),e.removeEventListener(`abort`,a)},i=()=>{t(),r()},a=()=>{n(e.error||new DOMException(`AbortError`,`AbortError`)),r()};e.addEventListener(`complete`,i),e.addEventListener(`error`,a),e.addEventListener(`abort`,a)});l.set(e,t)}let m={get(e,t,n){if(e instanceof IDBTransaction){if(t===`done`)return l.get(e);if(t===`store`)return n.objectStoreNames[1]?void 0:n.objectStore(n.objectStoreNames[0])}return v(e[t])},set(e,t,n){return e[t]=n,!0},has(e,t){return e instanceof IDBTransaction&&(t===`done`||t===`store`)?!0:t in e}};function h(e){m=e(m)}function g(e){return c().includes(e)?function(...t){return e.apply(y(this),t),v(this.request)}:function(...t){return v(e.apply(y(this),t))}}function _(e){return typeof e==`function`?g(e):(e instanceof IDBTransaction&&p(e),i(e,s())?new Proxy(e,m):e)}function v(e){if(e instanceof IDBRequest)return f(e);if(u.has(e))return u.get(e);let t=_(e);return t!==e&&(u.set(e,t),d.set(t,e)),t}const y=e=>d.get(e);function b(e,t,{blocked:n,upgrade:r,blocking:i,terminated:a}={}){let o=indexedDB.open(e,t),s=v(o);return r&&o.addEventListener(`upgradeneeded`,e=>{r(v(o.result),e.oldVersion,e.newVersion,v(o.transaction),e)}),n&&o.addEventListener(`blocked`,e=>n(e.oldVersion,e.newVersion,e)),s.then(e=>{a&&e.addEventListener(`close`,()=>a()),i&&e.addEventListener(`versionchange`,e=>i(e.oldVersion,e.newVersion,e))}).catch(()=>{}),s}const x=[`get`,`getKey`,`getAll`,`getAllKeys`,`count`],S=[`put`,`add`,`delete`,`clear`],C=new Map;function w(e,t){if(!(e instanceof IDBDatabase&&!(t in e)&&typeof t==`string`))return;if(C.get(t))return C.get(t);let n=t.replace(/FromIndex$/,``),r=t!==n,i=S.includes(n);if(!(n in(r?IDBIndex:IDBObjectStore).prototype)||!(i||x.includes(n)))return;let a=async function(e,...t){let a=this.transaction(e,i?`readwrite`:`readonly`),o=a.store;return r&&(o=o.index(t.shift())),(await Promise.all([o[n](...t),i&&a.done]))[0]};return C.set(t,a),a}h(e=>({...e,get:(t,n,r)=>w(t,n)||e.get(t,n,r),has:(t,n)=>!!w(t,n)||e.has(t,n)}));const T=[`continue`,`continuePrimaryKey`,`advance`],E={},D=new WeakMap,O=new WeakMap,k={get(e,t){if(!T.includes(t))return e[t];let n=E[t];return n||=E[t]=function(...e){D.set(this,O.get(this)[t](...e))},n}};async function*A(...e){let t=this;if(t instanceof IDBCursor||(t=await t.openCursor(...e)),!t)return;t=t;let n=new Proxy(t,k);for(O.set(n,t),d.set(n,y(t));t;)yield n,t=await(D.get(n)||t.continue()),D.delete(n)}function j(e,t){return t===Symbol.asyncIterator&&i(e,[IDBIndex,IDBObjectStore,IDBCursor])||t===`iterate`&&i(e,[IDBIndex,IDBObjectStore])}h(e=>({...e,get(t,n,r){return j(t,n)?A:e.get(t,n,r)},has(t,n){return j(t,n)||e.has(t,n)}}));const M={dbName:e,dbVersion:24};function N(e){return typeof e==`string`?e:[...e]}function P(e,t){let n=e.createObjectStore(t.store,{keyPath:N(t.keyPath)});for(let e of t.indexes)n.createIndex(e.name,N(e.keyPath),{unique:e.unique})}function F(e){for(let t of r)e.objectStoreNames.contains(t.store)||P(e,t)}const I=8e3;function L(e){return Error(`[SeamsWalletDBManager] IndexedDB open is blocked for ${e}. Close other tabs using this app and retry.`)}function R(e){return Error(e)}async function z(e,t,n,r){let i=!1,a=null,o=new Promise((e,o)=>{a=setTimeout(()=>{i||(r?.(),o(n))},t)});try{return await Promise.race([e,o])}finally{i=!0,a&&clearTimeout(a)}}async function B(e,t){let n=await t(e);return await e.tx.done,n}const V=new Set([t.walletAuthorities,t.walletAuthoritySignerMaterials,t.walletAuthorityExportRoots,t.walletAuthMethods,t.walletSelections,t.walletSessionAuthorizations]);function H(e,t,n,...r){let i=Reflect.apply(n,t,r);return e.changed=!0,i}function U(e,t,n){let r=Reflect.get(t,n);if(typeof r!=`function`)return r;switch(n){case`add`:case`put`:case`delete`:case`clear`:return H.bind(null,e,t,r);default:return r.bind(t)}}function W(e,t,n){let r=e.objectStore(n);return e.mode===`readonly`||!V.has(n)?r:new Proxy(r,{get:U.bind(null,t)})}function G(){}function K(e){if(typeof BroadcastChannel>`u`)return null;try{return new BroadcastChannel(`seams-wallet-authority:${e}`)}catch(e){return console.warn(`[SeamsWalletDBManager] Authority notifications are unavailable:`,e),null}}const q=new class{onWalletAuthorityChange(e){return this.walletAuthorityListeners.add(e),this.connectWalletAuthorityChannel(),this.removeWalletAuthorityListener.bind(this,e)}removeWalletAuthorityListener(e){this.walletAuthorityListeners.delete(e),this.walletAuthorityListeners.size===0&&this.closeWalletAuthorityChannel()}getWalletAuthorityRevision(){return this.walletAuthorityRevision}publishWalletAuthorityCommit(e,t){if(!e.changed)return;t===this.config.dbName&&this.invalidateWalletAuthority();let n=t===this.config.dbName?this.walletAuthorityChannel:null,r=n??K(t);if(r)try{r.postMessage(`authority_committed`)}catch(e){console.warn(`[SeamsWalletDBManager] Authority notification failed:`,e)}finally{r!==n&&r.close()}}connectWalletAuthorityChannel(){if(this.disabled||this.walletAuthorityChannel||this.walletAuthorityListeners.size===0)return;let e=K(this.config.dbName);e&&(e.onmessage=this.receiveWalletAuthorityCommit.bind(this,e),this.walletAuthorityChannel=e)}closeWalletAuthorityChannel(){this.walletAuthorityChannel?.close(),this.walletAuthorityChannel=null}receiveWalletAuthorityCommit(e,t){e!==this.walletAuthorityChannel||t.data!==`authority_committed`||this.invalidateWalletAuthority()}invalidateWalletAuthority(){this.walletAuthorityRevision+=1;for(let e of Array.from(this.walletAuthorityListeners))try{e()}catch{}}constructor(e=M){this.dbPromise=null,this.disabled=!1,this.walletAuthorityRevision=0,this.walletAuthorityChannel=null,this.walletAuthorityListeners=new Set,this.config=e}getDbName(){return this.config.dbName}setDbName(e){this.config.dbName!==e&&(this.close(),this.closeWalletAuthorityChannel(),this.config={...this.config,dbName:e},this.connectWalletAuthorityChannel(),this.invalidateWalletAuthority())}setDisabled(e){this.disabled=e,e?(this.close(),this.closeWalletAuthorityChannel()):this.connectWalletAuthorityChannel()}isDisabled(){return this.disabled}close(){this.dbPromise&&=(this.dbPromise.then(e=>e.close()).catch(()=>void 0),null)}async getDB(){if(this.disabled)throw Error(`[SeamsWalletDBManager] IndexedDB is disabled in this environment.`);if(!this.dbPromise){let e=this.config.dbName,t=this.config.dbVersion,n=null,r=null,i=new Promise((e,t)=>{r=t}),a=b(e,t,{upgrade(e){F(e)},blocked(){console.warn(`[SeamsWalletDBManager] IndexedDB open is blocked.`,{dbName:e,dbVersion:t}),n=setTimeout(()=>{r?.(L(e))},3e3)},blocking:()=>{console.warn(`[SeamsWalletDBManager] IndexedDB connection is blocking an upgrade.`,{dbName:e,dbVersion:t}),this.close()},terminated(){console.warn(`[SeamsWalletDBManager] IndexedDB connection has been terminated.`,{dbName:e,dbVersion:t})}});this.dbPromise=z(Promise.race([a,i]).finally(()=>{n&&clearTimeout(n)}),I,R(`[SeamsWalletDBManager] IndexedDB open timed out for ${e}. Close other tabs using this app and retry.`)).catch(e=>{throw this.dbPromise=null,a.then(e=>e.close()).catch(()=>void 0),e})}return await this.dbPromise}async runTransaction(e,t,n,r){let i=await z(this.getDB(),I,R(`[SeamsWalletDBManager] IndexedDB connection timed out for ${this.config.dbName}. Close other tabs using this app and retry.`)),a=i.transaction([...e],t,r),o={changed:!1},s={db:i,tx:a,store:W.bind(null,a,o)};a.done.then(this.publishWalletAuthorityCommit.bind(this,o,i.name)).catch(G);try{return await z(B(s,n),8e3,R(`[SeamsWalletDBManager] IndexedDB transaction timed out for ${this.config.dbName}. Close other tabs using this app and retry.`),()=>{try{a.abort()}catch{}})}catch(e){try{a.abort()}catch{}throw await a.done.catch(()=>void 0),e}}};export{t as a,n as i,y as n,e as r,q as t};
@@ -0,0 +1 @@
1
+ function e(e){return e===`light`||e===`dark`?e:void 0}export{e as t};