@seams/wallet 0.24.0 → 0.27.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (543) hide show
  1. package/dist/.build-inputs.sha256 +1 -1
  2. package/dist/esm/SeamsWeb/operations/tempo/executeEvmFamilyTransaction.js +1 -0
  3. package/dist/esm/SeamsWeb/publicApi/near.js +22 -11
  4. package/dist/esm/SeamsWeb/walletIframe/client/evmFamilyCommands.js +1 -0
  5. package/dist/esm/SeamsWeb/walletIframe/client/nearCommands.js +9 -10
  6. package/dist/esm/SeamsWeb/walletIframe/client/overlay/overlay-styles.js +73 -39
  7. package/dist/esm/SeamsWeb/walletIframe/client/router.js +61 -38
  8. package/dist/esm/SeamsWeb/walletIframe/host/auth-menu/domain.js +1 -0
  9. package/dist/esm/SeamsWeb/walletIframe/host/surface-measurement-reporter.js +1 -0
  10. package/dist/esm/SeamsWeb/walletIframe/host/ui/auth-menu/AuthMenuSurface.js +1 -1
  11. package/dist/esm/SeamsWeb/walletIframe/host/ui/auth-menu/mountAuthMenuSurface.js +28 -0
  12. package/dist/esm/SeamsWeb/walletIframe/shared/messages.js +6 -0
  13. package/dist/esm/core/indexedDB/seamsWalletDB/repositories.js +8 -1
  14. package/dist/esm/core/rpcClients/near/NearClient.js +7 -0
  15. package/dist/esm/core/rpcClients/relayer/walletSessionAuthorizationStatus.js +7 -0
  16. package/dist/esm/core/signingEngine/flows/signNear/signTransactions.js +3 -0
  17. package/dist/esm/core/signingEngine/nearTransactionSubmission.js +89 -0
  18. package/dist/esm/core/signingEngine/uiConfirm/ui/confirm-surface-resize.js +2 -2
  19. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/ReviewDisclosure.js +7 -1
  20. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/mountConfirmationSurface.js +123 -14
  21. package/dist/esm/core/ui/messages.js +12 -0
  22. package/dist/esm/react/components/AccountMenuButton/AccountMenuButtonMock.js +5 -7
  23. package/dist/esm/react/components/AccountMenuButton/AccountMenuButtonView.js +21 -5
  24. package/dist/esm/react/components/AccountMenuButton/AccountMenuModal.js +66 -0
  25. package/dist/esm/react/components/AccountMenuButton/AccountsSection.css +18 -11
  26. package/dist/esm/react/components/AccountMenuButton/AuthenticationMethodRow.js +5 -11
  27. package/dist/esm/react/components/AccountMenuButton/ExportKeysSection.css +17 -15
  28. package/dist/esm/react/components/AccountMenuButton/LinkedDevicesModal.css +156 -106
  29. package/dist/esm/react/components/AccountMenuButton/MenuItem.css +37 -29
  30. package/dist/esm/react/components/AccountMenuButton/ProfileDropdown.css +53 -21
  31. package/dist/esm/react/components/AccountMenuButton/TransactionSettingsSection.css +124 -82
  32. package/dist/esm/react/components/AccountMenuButton/UserAccountButton.css +45 -27
  33. package/dist/esm/react/components/AccountMenuButton/WalletSettingsLayout.css +115 -93
  34. package/dist/esm/react/components/AccountMenuButton/Web3AuthProfileButton.css +179 -92
  35. package/dist/esm/react/components/AccountMenuButton/hooks/useProfileState.js +62 -49
  36. package/dist/esm/react/components/AccountMenuButton/icons/HoverArrowIcon.css +36 -12
  37. package/dist/esm/react/components/AccountMenuButton/icons/HoverArrowIcon.js +10 -2
  38. package/dist/esm/react/components/AccountMenuButton/icons/Icon.css +10 -0
  39. package/dist/esm/react/components/AccountMenuButton/icons/LogOutIcon2.js +15 -16
  40. package/dist/esm/react/components/AccountMenuButton/icons/SpinnerIcon.js +12 -18
  41. package/dist/esm/react/components/AccountMenuButton/icons/TouchIcon.css +3 -3
  42. package/dist/esm/react/components/AccountMenuButton/icons/TouchIcon.js +11 -5
  43. package/dist/esm/react/components/AccountMenuButton/icons/lucideIcon.js +20 -6
  44. package/dist/esm/react/components/AccountMenuButton/index.js +18 -42
  45. package/dist/esm/react/components/ExternalNearWalletIcon.js +32 -0
  46. package/dist/esm/react/components/FingerprintIcon.js +13 -19
  47. package/dist/esm/react/components/HostedSeamsAuthMenu/SeamsAuthMenuMock.js +13 -2
  48. package/dist/esm/react/components/HostedSeamsAuthMenu/WalletConnectorMenu.css +182 -0
  49. package/dist/esm/react/components/HostedSeamsAuthMenu/WalletConnectorMenu.js +315 -0
  50. package/dist/esm/react/components/HostedSeamsAuthMenu/shell.js +20 -5
  51. package/dist/esm/react/components/QRCodeIcon.js +37 -43
  52. package/dist/esm/react/components/QRCodeScanner.css +65 -60
  53. package/dist/esm/react/components/ShowQRCode.css +145 -40
  54. package/dist/esm/react/components/ShowQRCode.js +27 -37
  55. package/dist/esm/react/components/externalWalletBrandImages.js +7 -0
  56. package/dist/esm/react/components/theme/Theme.css +67 -0
  57. package/dist/esm/react/components/theme/ThemeProvider.js +6 -6
  58. package/dist/esm/react/externalEvm.js +11 -4
  59. package/dist/esm/react/externalNear.js +15 -10
  60. package/dist/esm/react/externalWalletPicker.css +117 -0
  61. package/dist/esm/react/index.js +3 -2
  62. package/dist/esm/react/styles/styles.css +2148 -550
  63. package/dist/esm/react/styles.css +7 -1
  64. package/dist/esm/react/transactionReview/TransactionReviewHost.js +3 -0
  65. package/dist/esm/react/transactionReview/boundCalls.js +31 -26
  66. package/dist/esm/sdk/{ConfirmationDrawer-CTaGM1AE.js → ConfirmationDrawer-AZruQmhP.js} +1 -1
  67. package/dist/esm/sdk/NonceCoordinator-3YhmDTS5.js +1 -0
  68. package/dist/{public/sdk/SeamsWordmark-CFpsGoLw.js → esm/sdk/SeamsWordmark-DwvPx2UA.js} +1 -1
  69. package/dist/esm/sdk/accountLifecycle-6DHYWf0v.js +1 -0
  70. package/dist/esm/sdk/actions-DrtSTGus.js +1 -0
  71. package/dist/esm/sdk/activeWalletSession-BJ4B-nJo.js +1 -0
  72. package/dist/esm/sdk/adapters-d9yh1bdC.js +1 -0
  73. package/dist/esm/sdk/appearance-DL7c6bML.js +1 -0
  74. package/dist/esm/sdk/appearance-token-vars-BJydfWT_.js +1 -0
  75. package/dist/esm/sdk/canonicalPrimitives-Jd3i_Ngz.js +1 -0
  76. package/dist/esm/sdk/chains-B72I4PDH.js +1 -0
  77. package/dist/esm/sdk/challengeDelivery-Dj9HrjW9.js +1 -0
  78. package/dist/esm/sdk/clientSessionPersistenceState-BCkJAYSz.js +1 -0
  79. package/dist/esm/sdk/{collectAuthenticationCredentialForChallengeB64u-kLIxmw3V.js → collectAuthenticationCredentialForChallengeB64u-I4wq8OGq.js} +1 -1
  80. package/dist/esm/sdk/{commitQueue-Bs23Rs57.js → commitQueue-CYruPlkm.js} +1 -1
  81. package/dist/esm/sdk/configBuilder-CSwJrmcR.js +1 -0
  82. package/dist/esm/sdk/configuration-DBEc3bsj.js +1 -0
  83. package/dist/esm/sdk/confirm-ui-nU6ymgiv.js +2 -0
  84. package/dist/esm/sdk/confirmTypes-BvVtQs-M.js +1 -0
  85. package/dist/esm/sdk/device-linking-DiCNt3iA.js +1 -0
  86. package/dist/esm/sdk/deviceLinkApproval-CfEiotVt.js +2 -0
  87. package/dist/esm/sdk/digestEncoding-CqNXPZY9.js +1 -0
  88. package/dist/esm/sdk/{chains-gV2K9gA4.js → digests-BIaE0DMd.js} +1 -1
  89. package/dist/esm/sdk/{display-BXjW58UF.js → display-D0EPmU4w.js} +1 -1
  90. package/dist/esm/sdk/ecdsaCapabilityManifest-DAJEVjlP.js +1 -0
  91. package/dist/esm/sdk/{ecdsaChainTarget-DbLthshF.js → ecdsaChainTarget-Bm5X4k-V.js} +1 -1
  92. package/dist/esm/sdk/ecdsaDerivationClientWasm-AYOJgTJm.js +1 -0
  93. package/dist/esm/sdk/ecdsaDerivationExport-DJKOzDbS.js +1 -0
  94. package/dist/esm/sdk/{ecdsaWalletRecords-BgcXXCZy.js → ecdsaWalletRecords-WLyq414E.js} +1 -1
  95. package/dist/esm/sdk/emailOtpEcdsaDerivationIdentity-HFQXc1Yw.js +1 -0
  96. package/dist/esm/sdk/{enrichDisplayModelWithAbi-CudPUW0T.js → enrichDisplayModelWithAbi-O6Mw4i2E.js} +1 -1
  97. package/dist/esm/sdk/errors-BJBDbwHk.js +1 -0
  98. package/dist/esm/sdk/{evmCryptoWasm-DacbCVNM.js → evmCryptoWasm-BUPb4hBH.js} +1 -1
  99. package/dist/esm/sdk/{export-viewer-host-DsWOvc0t.js → export-viewer-host-BtrKVXxu.js} +1 -1
  100. package/dist/esm/sdk/exportKeypairOperation-CGE9ZU1m.js +1 -0
  101. package/dist/esm/sdk/helpers-Dubwo5uK.js +1 -0
  102. package/dist/esm/sdk/host-DayrOrgm.js +1 -0
  103. package/dist/esm/sdk/icons-BlMXolHv.js +1 -0
  104. package/dist/esm/sdk/indexedDB-C4SDsyOG.js +1 -0
  105. package/dist/esm/sdk/intentDigest-HvRsBQ1z.js +1 -0
  106. package/dist/esm/sdk/keyMaterialEnvelope-Dm2ZEilb.js +1 -0
  107. package/dist/esm/sdk/{lanes-C7OvAK_L.js → lanes-BU-fGqY4.js} +1 -1
  108. package/dist/esm/sdk/localOnly-BATWJj78.js +1 -0
  109. package/dist/{public/sdk/mountExportPrivateKeySurface-CV1KrFWg.js → esm/sdk/mountExportPrivateKeySurface-CyHU8bVc.js} +1 -1
  110. package/dist/esm/sdk/{mountRecoveryCodeBackupSurface-CVXU1zzl.js → mountRecoveryCodeBackupSurface-C7aglQxf.js} +1 -1
  111. package/dist/esm/sdk/nearEd25519YaoMaterialActivation-BfXmy3Jr.js +1 -0
  112. package/dist/esm/sdk/nearEd25519YaoSigningPreparation-DHNk0F8e.js +1 -0
  113. package/dist/esm/sdk/nearRpcResults-CeHdqaS4.js +1 -0
  114. package/dist/esm/sdk/{nonceLaneKeys-BS4fek17.js → nonceLaneKeys-BF_UpvIy.js} +1 -1
  115. package/dist/esm/sdk/{normalization-BN-2VWZf.js → normalization-Df9fZWJC.js} +1 -1
  116. package/dist/esm/sdk/operationFingerprint-Bas59T7L.js +1 -0
  117. package/dist/esm/sdk/participants-BXdREC5k.js +1 -0
  118. package/dist/{public/sdk/pendingWalletRecoveryCodeBackup-lr1oISjL.js → esm/sdk/pendingWalletRecoveryCodeBackup-Cjx-X-pP.js} +1 -1
  119. package/dist/esm/sdk/presignaturePool-BbvqRWYw.js +1 -0
  120. package/dist/{public/sdk/presignatures-B9GrGx0L.js → esm/sdk/presignatures-BCeq56DG.js} +1 -1
  121. package/dist/esm/sdk/recovery-entrypoint-DJbMDC_m.js +1 -0
  122. package/dist/esm/sdk/recoveryAuthorization-CQsjb8Tm.js +1 -0
  123. package/dist/esm/sdk/registration-CNLUYN-p.js +1 -0
  124. package/dist/esm/sdk/registration-HSwOHZOo.js +1 -0
  125. package/dist/esm/sdk/{registrationAccounts-BHikxS5q.js → registrationAccounts-4r74gX1l.js} +1 -1
  126. package/dist/esm/sdk/registrationIntent-Do1tD1V7.js +1 -0
  127. package/dist/esm/sdk/registrationSignerPlan-DK2b3N_p.js +1 -0
  128. package/dist/esm/sdk/requireStepUpAuth-COqCGb1i.js +1 -0
  129. package/dist/esm/sdk/resealedEnvelopeResult-B1p5UkYg.js +1 -0
  130. package/dist/esm/sdk/routerAbNormalSigning-D-UZmCBS.js +1 -0
  131. package/dist/esm/sdk/runtime-auth-BCoj7_-G.js +1 -0
  132. package/dist/esm/sdk/runtime-device-link-DAsq5tGT.js +1 -0
  133. package/dist/esm/sdk/runtime-ecdsa-tempo-CVh_Vwl6.js +1 -0
  134. package/dist/esm/sdk/runtime-email-otp-BxSKK9AG.js +1 -0
  135. package/dist/esm/sdk/runtime-export-BWnQXMzT.js +1 -0
  136. package/dist/esm/sdk/runtime-near-CuzPZrDS.js +1 -0
  137. package/dist/esm/sdk/runtime-preferences-B-nDWlm3.js +1 -0
  138. package/dist/esm/sdk/runtime-recovery-DpOdEJ8N.js +1 -0
  139. package/dist/esm/sdk/runtime-recovery-codes-DeUjQsxZ.js +1 -0
  140. package/dist/esm/sdk/runtimeContext-5JcewRo3.js +6 -0
  141. package/dist/esm/sdk/secp256k1-CE7-q9Sn.js +1 -0
  142. package/dist/esm/sdk/sessionObservationRevision-JOvVF4Hf.js +1 -0
  143. package/dist/esm/sdk/signEvmFamily-BY5jlZEG.js +1 -0
  144. package/dist/esm/sdk/{signEvmFamilyWithUiConfirmForTempo-BMfC2sc2.js → signEvmFamilyWithUiConfirmForTempo-CrMIAXUe.js} +1 -1
  145. package/dist/esm/sdk/{signEvmWithUiConfirm-BNkupz3z.js → signEvmWithUiConfirm-CGrLtMV6.js} +1 -1
  146. package/dist/esm/sdk/signNear-DMpJFkwF.js +1 -0
  147. package/dist/esm/sdk/{signatureUses-DrqCoN12.js → signatureUses-kSrUHSSH.js} +1 -1
  148. package/dist/esm/sdk/signerSlot-D2RZnb27.js +1 -0
  149. package/dist/esm/sdk/{signingFlow-BVvteILM.js → signingFlow-BcetvUeS.js} +2 -2
  150. package/dist/esm/sdk/signingQueue-dMFOFOP5.js +1 -0
  151. package/dist/esm/sdk/surface-measurement-reporter-DXsvq401.js +1 -0
  152. package/dist/esm/sdk/thresholdEcdsa-CqR1fFA-.js +1 -0
  153. package/dist/esm/sdk/{trace-CGNqO1FV.js → trace--mRP2OQc.js} +1 -1
  154. package/dist/esm/sdk/{transaction-activity-DPq9RTh5.js → transaction-activity-DCzHGg3b.js} +1 -1
  155. package/dist/esm/sdk/transactionReview-CGIlI835.js +1 -0
  156. package/dist/esm/sdk/{transactionReviewAdmission--8tDis7M.js → transactionReviewAdmission-Cf_qUZJt.js} +1 -1
  157. package/dist/{public/sdk/transactionState-BS1VLT7B.js → esm/sdk/transactionState-29T9xfvL.js} +1 -1
  158. package/dist/esm/sdk/tx-confirm-ui.js +173 -18
  159. package/dist/esm/sdk/{types-DdzuHlAQ.js → types-f7dyj5N6.js} +1 -1
  160. package/dist/esm/sdk/unlockedEd25519ExportRootCapability-yzxQjIFd.js +1 -0
  161. package/dist/esm/sdk/voiceid-host.js +1 -1
  162. package/dist/esm/sdk/wallet-iframe-host-ecdsa.js +1 -1
  163. package/dist/esm/sdk/wallet-iframe-host-full.js +1 -1
  164. package/dist/esm/sdk/wallet-iframe-host-near.js +1 -1
  165. package/dist/esm/sdk/wallet-iframe-host-runtime.js +1 -1
  166. package/dist/esm/sdk/wallet-recovery-BZB2Vu3X.js +1 -0
  167. package/dist/esm/sdk/wallet-ui.css +1 -1
  168. package/dist/esm/sdk/walletAuthMethodRecord-DLBB5fez.js +1 -0
  169. package/dist/esm/sdk/walletAuthority-BTGAuOi8.js +1 -0
  170. package/dist/esm/sdk/walletCapabilityBindings-D5YYB7nN.js +1 -0
  171. package/dist/esm/sdk/walletCustodyEcdsaContinuity-C31YQ9av.js +1 -0
  172. package/dist/esm/sdk/walletCustodyOperation-DimzAbCB.js +1 -0
  173. package/dist/esm/sdk/walletDbName-Ca0rCq5r.js +1 -0
  174. package/dist/esm/sdk/walletOwnershipGeneration-CgjCtPrV.js +1 -0
  175. package/dist/esm/sdk/walletRecoveryAdminProof-CvSYbyg5.js +1 -0
  176. package/dist/esm/sdk/walletRecoveryCommit-Cc2LAkCS.js +1 -0
  177. package/dist/esm/sdk/walletRegistrationSetupPrewarm-CEvGKQSg.js +1 -0
  178. package/dist/esm/sdk/{walletSessionAuthorizationProjection-BJgnZaBc.js → walletSessionAuthorizationProjection-BzUH6gHV.js} +1 -1
  179. package/dist/esm/sdk/walletSessionAuthorizationStatus-DG7DPcgR.js +1 -0
  180. package/dist/esm/sdk/{walletSessionAuthorizationStore-zkxcMdSp.js → walletSessionAuthorizationStore-B9Vwkshr.js} +1 -1
  181. package/dist/esm/sdk/warmSessionHydration-B-A5Tdx7.js +1 -0
  182. package/dist/{public/sdk/webauthnP256-BvTL8nq4.js → esm/sdk/webauthnP256-BsQQPurm.js} +1 -1
  183. package/dist/esm/shared-ts/src/near/nearClient.js +1 -1
  184. package/dist/esm/shared-ts/src/utils/errors.js +56 -3
  185. package/dist/esm/shared-ts/src/utils/index.js +1 -1
  186. package/dist/esm/voiceid-host.js +1 -1
  187. package/dist/public/headers.manifest.json +1 -1
  188. package/dist/public/sdk/{ConfirmationDrawer-CTaGM1AE.js → ConfirmationDrawer-AZruQmhP.js} +1 -1
  189. package/dist/public/sdk/NonceCoordinator-3YhmDTS5.js +1 -0
  190. package/dist/{esm/sdk/SeamsWordmark-CFpsGoLw.js → public/sdk/SeamsWordmark-DwvPx2UA.js} +1 -1
  191. package/dist/public/sdk/accountLifecycle-6DHYWf0v.js +1 -0
  192. package/dist/public/sdk/actions-DrtSTGus.js +1 -0
  193. package/dist/public/sdk/activeWalletSession-BJ4B-nJo.js +1 -0
  194. package/dist/public/sdk/adapters-d9yh1bdC.js +1 -0
  195. package/dist/public/sdk/appearance-DL7c6bML.js +1 -0
  196. package/dist/public/sdk/appearance-token-vars-BJydfWT_.js +1 -0
  197. package/dist/public/sdk/canonicalPrimitives-Jd3i_Ngz.js +1 -0
  198. package/dist/public/sdk/chains-B72I4PDH.js +1 -0
  199. package/dist/public/sdk/challengeDelivery-Dj9HrjW9.js +1 -0
  200. package/dist/public/sdk/clientSessionPersistenceState-BCkJAYSz.js +1 -0
  201. package/dist/public/sdk/{collectAuthenticationCredentialForChallengeB64u-kLIxmw3V.js → collectAuthenticationCredentialForChallengeB64u-I4wq8OGq.js} +1 -1
  202. package/dist/public/sdk/{commitQueue-Bs23Rs57.js → commitQueue-CYruPlkm.js} +1 -1
  203. package/dist/public/sdk/configBuilder-CSwJrmcR.js +1 -0
  204. package/dist/public/sdk/configuration-DBEc3bsj.js +1 -0
  205. package/dist/public/sdk/confirm-ui-nU6ymgiv.js +2 -0
  206. package/dist/public/sdk/confirmTypes-BvVtQs-M.js +1 -0
  207. package/dist/public/sdk/device-linking-DiCNt3iA.js +1 -0
  208. package/dist/public/sdk/deviceLinkApproval-CfEiotVt.js +2 -0
  209. package/dist/public/sdk/digestEncoding-CqNXPZY9.js +1 -0
  210. package/dist/public/sdk/{chains-gV2K9gA4.js → digests-BIaE0DMd.js} +1 -1
  211. package/dist/public/sdk/{display-BXjW58UF.js → display-D0EPmU4w.js} +1 -1
  212. package/dist/public/sdk/ecdsaCapabilityManifest-DAJEVjlP.js +1 -0
  213. package/dist/public/sdk/{ecdsaChainTarget-DbLthshF.js → ecdsaChainTarget-Bm5X4k-V.js} +1 -1
  214. package/dist/public/sdk/ecdsaDerivationClientWasm-AYOJgTJm.js +1 -0
  215. package/dist/public/sdk/ecdsaDerivationExport-DJKOzDbS.js +1 -0
  216. package/dist/public/sdk/{ecdsaWalletRecords-BgcXXCZy.js → ecdsaWalletRecords-WLyq414E.js} +1 -1
  217. package/dist/public/sdk/emailOtpEcdsaDerivationIdentity-HFQXc1Yw.js +1 -0
  218. package/dist/public/sdk/{enrichDisplayModelWithAbi-CudPUW0T.js → enrichDisplayModelWithAbi-O6Mw4i2E.js} +1 -1
  219. package/dist/public/sdk/errors-BJBDbwHk.js +1 -0
  220. package/dist/public/sdk/{evmCryptoWasm-DacbCVNM.js → evmCryptoWasm-BUPb4hBH.js} +1 -1
  221. package/dist/public/sdk/{export-viewer-host-DsWOvc0t.js → export-viewer-host-BtrKVXxu.js} +1 -1
  222. package/dist/public/sdk/exportKeypairOperation-CGE9ZU1m.js +1 -0
  223. package/dist/public/sdk/helpers-Dubwo5uK.js +1 -0
  224. package/dist/public/sdk/host-DayrOrgm.js +1 -0
  225. package/dist/public/sdk/icons-BlMXolHv.js +1 -0
  226. package/dist/public/sdk/indexedDB-C4SDsyOG.js +1 -0
  227. package/dist/public/sdk/intentDigest-HvRsBQ1z.js +1 -0
  228. package/dist/public/sdk/keyMaterialEnvelope-Dm2ZEilb.js +1 -0
  229. package/dist/public/sdk/{lanes-C7OvAK_L.js → lanes-BU-fGqY4.js} +1 -1
  230. package/dist/public/sdk/localOnly-BATWJj78.js +1 -0
  231. package/dist/{esm/sdk/mountExportPrivateKeySurface-CV1KrFWg.js → public/sdk/mountExportPrivateKeySurface-CyHU8bVc.js} +1 -1
  232. package/dist/public/sdk/{mountRecoveryCodeBackupSurface-CVXU1zzl.js → mountRecoveryCodeBackupSurface-C7aglQxf.js} +1 -1
  233. package/dist/public/sdk/nearEd25519YaoMaterialActivation-BfXmy3Jr.js +1 -0
  234. package/dist/public/sdk/nearEd25519YaoSigningPreparation-DHNk0F8e.js +1 -0
  235. package/dist/public/sdk/nearRpcResults-CeHdqaS4.js +1 -0
  236. package/dist/public/sdk/{nonceLaneKeys-BS4fek17.js → nonceLaneKeys-BF_UpvIy.js} +1 -1
  237. package/dist/public/sdk/{normalization-BN-2VWZf.js → normalization-Df9fZWJC.js} +1 -1
  238. package/dist/public/sdk/operationFingerprint-Bas59T7L.js +1 -0
  239. package/dist/public/sdk/participants-BXdREC5k.js +1 -0
  240. package/dist/{esm/sdk/pendingWalletRecoveryCodeBackup-lr1oISjL.js → public/sdk/pendingWalletRecoveryCodeBackup-Cjx-X-pP.js} +1 -1
  241. package/dist/public/sdk/presignaturePool-BbvqRWYw.js +1 -0
  242. package/dist/{esm/sdk/presignatures-B9GrGx0L.js → public/sdk/presignatures-BCeq56DG.js} +1 -1
  243. package/dist/public/sdk/recovery-entrypoint-DJbMDC_m.js +1 -0
  244. package/dist/public/sdk/recoveryAuthorization-CQsjb8Tm.js +1 -0
  245. package/dist/public/sdk/registration-CNLUYN-p.js +1 -0
  246. package/dist/public/sdk/registration-HSwOHZOo.js +1 -0
  247. package/dist/public/sdk/{registrationAccounts-BHikxS5q.js → registrationAccounts-4r74gX1l.js} +1 -1
  248. package/dist/public/sdk/registrationIntent-Do1tD1V7.js +1 -0
  249. package/dist/public/sdk/registrationSignerPlan-DK2b3N_p.js +1 -0
  250. package/dist/public/sdk/requireStepUpAuth-COqCGb1i.js +1 -0
  251. package/dist/public/sdk/resealedEnvelopeResult-B1p5UkYg.js +1 -0
  252. package/dist/public/sdk/routerAbNormalSigning-D-UZmCBS.js +1 -0
  253. package/dist/public/sdk/runtime-auth-BCoj7_-G.js +1 -0
  254. package/dist/public/sdk/runtime-device-link-DAsq5tGT.js +1 -0
  255. package/dist/public/sdk/runtime-ecdsa-tempo-CVh_Vwl6.js +1 -0
  256. package/dist/public/sdk/runtime-email-otp-BxSKK9AG.js +1 -0
  257. package/dist/public/sdk/runtime-export-BWnQXMzT.js +1 -0
  258. package/dist/public/sdk/runtime-near-CuzPZrDS.js +1 -0
  259. package/dist/public/sdk/runtime-preferences-B-nDWlm3.js +1 -0
  260. package/dist/public/sdk/runtime-recovery-DpOdEJ8N.js +1 -0
  261. package/dist/public/sdk/runtime-recovery-codes-DeUjQsxZ.js +1 -0
  262. package/dist/public/sdk/runtimeContext-5JcewRo3.js +6 -0
  263. package/dist/public/sdk/secp256k1-CE7-q9Sn.js +1 -0
  264. package/dist/public/sdk/sessionObservationRevision-JOvVF4Hf.js +1 -0
  265. package/dist/public/sdk/signEvmFamily-BY5jlZEG.js +1 -0
  266. package/dist/public/sdk/{signEvmFamilyWithUiConfirmForTempo-BMfC2sc2.js → signEvmFamilyWithUiConfirmForTempo-CrMIAXUe.js} +1 -1
  267. package/dist/public/sdk/{signEvmWithUiConfirm-BNkupz3z.js → signEvmWithUiConfirm-CGrLtMV6.js} +1 -1
  268. package/dist/public/sdk/signNear-DMpJFkwF.js +1 -0
  269. package/dist/public/sdk/{signatureUses-DrqCoN12.js → signatureUses-kSrUHSSH.js} +1 -1
  270. package/dist/public/sdk/signerSlot-D2RZnb27.js +1 -0
  271. package/dist/public/sdk/{signingFlow-BVvteILM.js → signingFlow-BcetvUeS.js} +2 -2
  272. package/dist/public/sdk/signingQueue-dMFOFOP5.js +1 -0
  273. package/dist/public/sdk/surface-measurement-reporter-DXsvq401.js +1 -0
  274. package/dist/public/sdk/thresholdEcdsa-CqR1fFA-.js +1 -0
  275. package/dist/public/sdk/{trace-CGNqO1FV.js → trace--mRP2OQc.js} +1 -1
  276. package/dist/public/sdk/{transaction-activity-DPq9RTh5.js → transaction-activity-DCzHGg3b.js} +1 -1
  277. package/dist/public/sdk/transactionReview-CGIlI835.js +1 -0
  278. package/dist/public/sdk/{transactionReviewAdmission--8tDis7M.js → transactionReviewAdmission-Cf_qUZJt.js} +1 -1
  279. package/dist/{esm/sdk/transactionState-BS1VLT7B.js → public/sdk/transactionState-29T9xfvL.js} +1 -1
  280. package/dist/public/sdk/tx-confirm-ui.js +173 -18
  281. package/dist/public/sdk/{types-DdzuHlAQ.js → types-f7dyj5N6.js} +1 -1
  282. package/dist/public/sdk/unlockedEd25519ExportRootCapability-yzxQjIFd.js +1 -0
  283. package/dist/public/sdk/voiceid-host.js +1 -1
  284. package/dist/public/sdk/wallet-iframe-host-ecdsa.js +1 -1
  285. package/dist/public/sdk/wallet-iframe-host-full.js +1 -1
  286. package/dist/public/sdk/wallet-iframe-host-near.js +1 -1
  287. package/dist/public/sdk/wallet-iframe-host-runtime.js +1 -1
  288. package/dist/public/sdk/wallet-recovery-BZB2Vu3X.js +1 -0
  289. package/dist/public/sdk/wallet-ui.css +1 -1
  290. package/dist/public/sdk/walletAuthMethodRecord-DLBB5fez.js +1 -0
  291. package/dist/public/sdk/walletAuthority-BTGAuOi8.js +1 -0
  292. package/dist/public/sdk/walletCapabilityBindings-D5YYB7nN.js +1 -0
  293. package/dist/public/sdk/walletCustodyEcdsaContinuity-C31YQ9av.js +1 -0
  294. package/dist/public/sdk/walletCustodyOperation-DimzAbCB.js +1 -0
  295. package/dist/public/sdk/walletDbName-Ca0rCq5r.js +1 -0
  296. package/dist/public/sdk/walletOwnershipGeneration-CgjCtPrV.js +1 -0
  297. package/dist/public/sdk/walletRecoveryAdminProof-CvSYbyg5.js +1 -0
  298. package/dist/public/sdk/walletRecoveryCommit-Cc2LAkCS.js +1 -0
  299. package/dist/public/sdk/walletRegistrationSetupPrewarm-CEvGKQSg.js +1 -0
  300. package/dist/public/sdk/{walletSessionAuthorizationProjection-BJgnZaBc.js → walletSessionAuthorizationProjection-BzUH6gHV.js} +1 -1
  301. package/dist/public/sdk/walletSessionAuthorizationStatus-DG7DPcgR.js +1 -0
  302. package/dist/public/sdk/{walletSessionAuthorizationStore-zkxcMdSp.js → walletSessionAuthorizationStore-B9Vwkshr.js} +1 -1
  303. package/dist/public/sdk/warmSessionHydration-B-A5Tdx7.js +1 -0
  304. package/dist/{esm/sdk/webauthnP256-BvTL8nq4.js → public/sdk/webauthnP256-BsQQPurm.js} +1 -1
  305. package/dist/public/wallet-assets.manifest.json +476 -260
  306. package/dist/public/wallet-service/index.html +4 -4
  307. package/dist/types/shared-ts/src/utils/errors.d.ts +1 -0
  308. package/dist/types/wallet/src/SeamsWeb/operations/authMethods/passkey/exactPasskeyAuthority.d.ts +24 -0
  309. package/dist/types/wallet/src/SeamsWeb/operations/devices/walletHostOwnerAuthority.d.ts +2 -0
  310. package/dist/types/wallet/src/SeamsWeb/publicApi/types.d.ts +3 -0
  311. package/dist/types/wallet/src/SeamsWeb/walletIframe/client/router.d.ts +2 -0
  312. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/WalletHostRuntime.d.ts +1 -0
  313. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/createDeviceDomain.d.ts +2 -1
  314. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/deviceLinkApproval.d.ts +27 -0
  315. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/ui/auth-menu/mountAuthMenuSurface.d.ts +1 -0
  316. package/dist/types/wallet/src/SeamsWeb/walletIframe/shared/messages.d.ts +4 -1
  317. package/dist/types/wallet/src/core/authMethods/hostPlugin.d.ts +1 -0
  318. package/dist/types/wallet/src/core/authMethods/plugins.d.ts +4 -0
  319. package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/recoveredEd25519Authority.d.ts +8 -0
  320. package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/repositories.d.ts +1 -0
  321. package/dist/types/wallet/src/core/rpcClients/near/NearClient.d.ts +13 -0
  322. package/dist/types/wallet/src/core/rpcClients/relayer/walletSessionAuthorizationStatus.d.ts +2 -0
  323. package/dist/types/wallet/src/core/signingEngine/nearTransactionSubmission.d.ts +24 -0
  324. package/dist/types/wallet/src/core/signingEngine/session/persistence/walletSessionAuthorizationProjection.d.ts +1 -0
  325. package/dist/types/wallet/src/core/signingEngine/uiConfirm/transactionReviewAdmission.d.ts +2 -0
  326. package/dist/types/wallet/src/core/types/linkDevice.d.ts +4 -5
  327. package/dist/types/wallet/src/core/types/sdkSentEvents.d.ts +2 -0
  328. package/dist/types/wallet/src/core/types/seams.d.ts +15 -3
  329. package/dist/types/wallet/src/core/ui/messages.d.ts +1 -1
  330. package/dist/types/wallet/src/index.d.ts +1 -1
  331. package/dist/types/wallet/src/react/components/AccountMenuButton/AccountMenuButtonMock.d.ts +11 -2
  332. package/dist/types/wallet/src/react/components/AccountMenuButton/AccountMenuButtonView.d.ts +2 -1
  333. package/dist/types/wallet/src/react/components/AccountMenuButton/AccountMenuModal.d.ts +9 -0
  334. package/dist/types/wallet/src/react/components/AccountMenuButton/hooks/useProfileState.d.ts +13 -5
  335. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/HoverArrowIcon.d.ts +2 -1
  336. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/lucideIcon.d.ts +1 -1
  337. package/dist/types/wallet/src/react/components/AccountMenuButton/types.d.ts +19 -3
  338. package/dist/types/wallet/src/react/components/ExternalNearWalletIcon.d.ts +5 -0
  339. package/dist/types/wallet/src/react/components/HostedSeamsAuthMenu/WalletConnectorMenu.d.ts +31 -0
  340. package/dist/types/wallet/src/react/components/HostedSeamsAuthMenu/types.d.ts +4 -0
  341. package/dist/types/wallet/src/react/components/ShowQRCode.d.ts +1 -1
  342. package/dist/types/wallet/src/react/components/externalWalletBrandImages.d.ts +3 -0
  343. package/dist/types/wallet/src/react/components/theme/design-tokens.d.ts +2 -0
  344. package/dist/types/wallet/src/react/externalNear.d.ts +3 -23
  345. package/dist/types/wallet/src/react/index.d.ts +3 -1
  346. package/dist/types/wallet/src/react/transactionReview/boundCalls.d.ts +7 -0
  347. package/dist/types/wallet/src/voiceid-host.d.ts +1 -1
  348. package/package.json +1 -1
  349. package/dist/esm/react/externalNear.css +0 -90
  350. package/dist/esm/sdk/NonceCoordinator-Bti1HQPo.js +0 -1
  351. package/dist/esm/sdk/accountLifecycle-B98g9zN9.js +0 -1
  352. package/dist/esm/sdk/actions-GYsSR2Q2.js +0 -1
  353. package/dist/esm/sdk/activeWalletSession-H9JBdHyQ.js +0 -1
  354. package/dist/esm/sdk/adapters-D5MZ5NG5.js +0 -2
  355. package/dist/esm/sdk/appearance-DVFno9Tv.js +0 -1
  356. package/dist/esm/sdk/appearance-token-vars-CgYTfCKg.js +0 -1
  357. package/dist/esm/sdk/canonicalPrimitives-B6YMrI3W.js +0 -1
  358. package/dist/esm/sdk/challengeDelivery-FW9gYyr0.js +0 -1
  359. package/dist/esm/sdk/clientSessionPersistenceState-BPYK9PYV.js +0 -1
  360. package/dist/esm/sdk/configBuilder-DrxXNUpV.js +0 -1
  361. package/dist/esm/sdk/configuration-CAqANpTI.js +0 -1
  362. package/dist/esm/sdk/ecdsaCapabilityManifest--FjbES8k.js +0 -1
  363. package/dist/esm/sdk/ecdsaDerivationClientWasm-7Rp4TmYE.js +0 -1
  364. package/dist/esm/sdk/ecdsaDerivationExport-dInN7N6e.js +0 -1
  365. package/dist/esm/sdk/emailOtpEcdsaDerivationIdentity-CIh9IPai.js +0 -1
  366. package/dist/esm/sdk/errors-ADOZT8oV.js +0 -1
  367. package/dist/esm/sdk/exportKeypairOperation-BazJvSov.js +0 -1
  368. package/dist/esm/sdk/helpers-CXqXyyCU.js +0 -1
  369. package/dist/esm/sdk/host-C0Is56lU.js +0 -1
  370. package/dist/esm/sdk/icons-DyndJzSh.js +0 -1
  371. package/dist/esm/sdk/indexedDB-C1odKEC6.js +0 -1
  372. package/dist/esm/sdk/intentDigest-BMXki7yB.js +0 -1
  373. package/dist/esm/sdk/keyMaterialEnvelope-B-Q5KTJC.js +0 -1
  374. package/dist/esm/sdk/localOnly-BB3Rx3J6.js +0 -1
  375. package/dist/esm/sdk/nearEd25519YaoMaterialActivation-D9cdMKIZ.js +0 -1
  376. package/dist/esm/sdk/nearEd25519YaoSigningPreparation-D_Jvj7ht.js +0 -1
  377. package/dist/esm/sdk/operationFingerprint-Bn0lUYlm.js +0 -1
  378. package/dist/esm/sdk/presignaturePool-CultzkOG.js +0 -1
  379. package/dist/esm/sdk/recovery-entrypoint-QBvJBngm.js +0 -1
  380. package/dist/esm/sdk/recoveryAuthorization-DB-zxeHq.js +0 -1
  381. package/dist/esm/sdk/registration-CM5a7WYO.js +0 -1
  382. package/dist/esm/sdk/registration-Hv0xi7-L.js +0 -1
  383. package/dist/esm/sdk/registrationIntent-DTs2SR9E.js +0 -1
  384. package/dist/esm/sdk/registrationSignerPlan-CgbFVsAp.js +0 -1
  385. package/dist/esm/sdk/requireStepUpAuth-B7tC4MrA.js +0 -1
  386. package/dist/esm/sdk/resealedEnvelopeResult--iCVt_Bh.js +0 -1
  387. package/dist/esm/sdk/routerAbNormalSigning-Div3lZWV.js +0 -1
  388. package/dist/esm/sdk/runtime-auth-CVw1KoVD.js +0 -1
  389. package/dist/esm/sdk/runtime-device-link-Dp0YMZTQ.js +0 -1
  390. package/dist/esm/sdk/runtime-ecdsa-tempo-DEIjIgEO.js +0 -1
  391. package/dist/esm/sdk/runtime-email-otp-gsr_FsQn.js +0 -1
  392. package/dist/esm/sdk/runtime-export-upMPrZ4V.js +0 -1
  393. package/dist/esm/sdk/runtime-near-B64Hn3nc.js +0 -1
  394. package/dist/esm/sdk/runtime-preferences-CULdHkbg.js +0 -1
  395. package/dist/esm/sdk/runtime-recovery-D2saBaJy.js +0 -1
  396. package/dist/esm/sdk/runtime-recovery-codes-Bvc0IXMJ.js +0 -1
  397. package/dist/esm/sdk/runtimeContext-CNFJjcns.js +0 -6
  398. package/dist/esm/sdk/secp256k1-BGVlx50C.js +0 -1
  399. package/dist/esm/sdk/sessionObservationRevision-84ZzJ-fC.js +0 -1
  400. package/dist/esm/sdk/signEvmFamily-PjwUc5MT.js +0 -1
  401. package/dist/esm/sdk/signNear-r8VCOoTh.js +0 -1
  402. package/dist/esm/sdk/signerSlot-D4ZOuK7e.js +0 -1
  403. package/dist/esm/sdk/signingQueue-BJzOrwDq.js +0 -1
  404. package/dist/esm/sdk/surface-measurement-reporter-NUm_54LH.js +0 -1
  405. package/dist/esm/sdk/thresholdEcdsa-tnY83qyG.js +0 -1
  406. package/dist/esm/sdk/transactionReview-DSGnpreN.js +0 -1
  407. package/dist/esm/sdk/unlockedEd25519ExportRootCapability-D43rvO9a.js +0 -1
  408. package/dist/esm/sdk/wallet-recovery-BjIQdOha.js +0 -1
  409. package/dist/esm/sdk/walletAuthMethodRecord-yIqCeE-o.js +0 -1
  410. package/dist/esm/sdk/walletCapabilityBindings-CUPk3mVH.js +0 -1
  411. package/dist/esm/sdk/walletCustodyEcdsaContinuity-DlOBCmwb.js +0 -1
  412. package/dist/esm/sdk/walletCustodyOperation-DzPcxEBS.js +0 -1
  413. package/dist/esm/sdk/walletDbName-DDJXrgA5.js +0 -1
  414. package/dist/esm/sdk/walletOwnershipGeneration-DI9ogcXF.js +0 -1
  415. package/dist/esm/sdk/walletRecoveryAdminProof-BJxmg3f7.js +0 -1
  416. package/dist/esm/sdk/walletRecoveryCommit-B7WsdR7y.js +0 -1
  417. package/dist/esm/sdk/walletRegistrationSetupPrewarm-CEJCj78c.js +0 -1
  418. package/dist/esm/sdk/walletSessionAuthorizationStatus-98G3Qji8.js +0 -1
  419. package/dist/esm/sdk/warmSessionHydration-DqZyfi1h.js +0 -1
  420. package/dist/public/sdk/NonceCoordinator-Bti1HQPo.js +0 -1
  421. package/dist/public/sdk/accountLifecycle-B98g9zN9.js +0 -1
  422. package/dist/public/sdk/actions-GYsSR2Q2.js +0 -1
  423. package/dist/public/sdk/activeWalletSession-H9JBdHyQ.js +0 -1
  424. package/dist/public/sdk/adapters-D5MZ5NG5.js +0 -2
  425. package/dist/public/sdk/appearance-DVFno9Tv.js +0 -1
  426. package/dist/public/sdk/appearance-token-vars-CgYTfCKg.js +0 -1
  427. package/dist/public/sdk/canonicalPrimitives-B6YMrI3W.js +0 -1
  428. package/dist/public/sdk/challengeDelivery-FW9gYyr0.js +0 -1
  429. package/dist/public/sdk/clientSessionPersistenceState-BPYK9PYV.js +0 -1
  430. package/dist/public/sdk/configBuilder-DrxXNUpV.js +0 -1
  431. package/dist/public/sdk/configuration-CAqANpTI.js +0 -1
  432. package/dist/public/sdk/ecdsaCapabilityManifest--FjbES8k.js +0 -1
  433. package/dist/public/sdk/ecdsaDerivationClientWasm-7Rp4TmYE.js +0 -1
  434. package/dist/public/sdk/ecdsaDerivationExport-dInN7N6e.js +0 -1
  435. package/dist/public/sdk/emailOtpEcdsaDerivationIdentity-CIh9IPai.js +0 -1
  436. package/dist/public/sdk/errors-ADOZT8oV.js +0 -1
  437. package/dist/public/sdk/exportKeypairOperation-BazJvSov.js +0 -1
  438. package/dist/public/sdk/helpers-CXqXyyCU.js +0 -1
  439. package/dist/public/sdk/host-C0Is56lU.js +0 -1
  440. package/dist/public/sdk/icons-DyndJzSh.js +0 -1
  441. package/dist/public/sdk/indexedDB-C1odKEC6.js +0 -1
  442. package/dist/public/sdk/intentDigest-BMXki7yB.js +0 -1
  443. package/dist/public/sdk/keyMaterialEnvelope-B-Q5KTJC.js +0 -1
  444. package/dist/public/sdk/localOnly-BB3Rx3J6.js +0 -1
  445. package/dist/public/sdk/nearEd25519YaoMaterialActivation-D9cdMKIZ.js +0 -1
  446. package/dist/public/sdk/nearEd25519YaoSigningPreparation-D_Jvj7ht.js +0 -1
  447. package/dist/public/sdk/operationFingerprint-Bn0lUYlm.js +0 -1
  448. package/dist/public/sdk/presignaturePool-CultzkOG.js +0 -1
  449. package/dist/public/sdk/recovery-entrypoint-QBvJBngm.js +0 -1
  450. package/dist/public/sdk/recoveryAuthorization-DB-zxeHq.js +0 -1
  451. package/dist/public/sdk/registration-CM5a7WYO.js +0 -1
  452. package/dist/public/sdk/registration-Hv0xi7-L.js +0 -1
  453. package/dist/public/sdk/registrationIntent-DTs2SR9E.js +0 -1
  454. package/dist/public/sdk/registrationSignerPlan-CgbFVsAp.js +0 -1
  455. package/dist/public/sdk/requireStepUpAuth-B7tC4MrA.js +0 -1
  456. package/dist/public/sdk/resealedEnvelopeResult--iCVt_Bh.js +0 -1
  457. package/dist/public/sdk/routerAbNormalSigning-Div3lZWV.js +0 -1
  458. package/dist/public/sdk/runtime-auth-CVw1KoVD.js +0 -1
  459. package/dist/public/sdk/runtime-device-link-Dp0YMZTQ.js +0 -1
  460. package/dist/public/sdk/runtime-ecdsa-tempo-DEIjIgEO.js +0 -1
  461. package/dist/public/sdk/runtime-email-otp-gsr_FsQn.js +0 -1
  462. package/dist/public/sdk/runtime-export-upMPrZ4V.js +0 -1
  463. package/dist/public/sdk/runtime-near-B64Hn3nc.js +0 -1
  464. package/dist/public/sdk/runtime-preferences-CULdHkbg.js +0 -1
  465. package/dist/public/sdk/runtime-recovery-D2saBaJy.js +0 -1
  466. package/dist/public/sdk/runtime-recovery-codes-Bvc0IXMJ.js +0 -1
  467. package/dist/public/sdk/runtimeContext-CNFJjcns.js +0 -6
  468. package/dist/public/sdk/secp256k1-BGVlx50C.js +0 -1
  469. package/dist/public/sdk/sessionObservationRevision-84ZzJ-fC.js +0 -1
  470. package/dist/public/sdk/signEvmFamily-PjwUc5MT.js +0 -1
  471. package/dist/public/sdk/signNear-r8VCOoTh.js +0 -1
  472. package/dist/public/sdk/signerSlot-D4ZOuK7e.js +0 -1
  473. package/dist/public/sdk/signingQueue-BJzOrwDq.js +0 -1
  474. package/dist/public/sdk/surface-measurement-reporter-NUm_54LH.js +0 -1
  475. package/dist/public/sdk/thresholdEcdsa-tnY83qyG.js +0 -1
  476. package/dist/public/sdk/transactionReview-DSGnpreN.js +0 -1
  477. package/dist/public/sdk/unlockedEd25519ExportRootCapability-D43rvO9a.js +0 -1
  478. package/dist/public/sdk/wallet-recovery-BjIQdOha.js +0 -1
  479. package/dist/public/sdk/walletAuthMethodRecord-yIqCeE-o.js +0 -1
  480. package/dist/public/sdk/walletCapabilityBindings-CUPk3mVH.js +0 -1
  481. package/dist/public/sdk/walletCustodyEcdsaContinuity-DlOBCmwb.js +0 -1
  482. package/dist/public/sdk/walletCustodyOperation-DzPcxEBS.js +0 -1
  483. package/dist/public/sdk/walletDbName-DDJXrgA5.js +0 -1
  484. package/dist/public/sdk/walletOwnershipGeneration-DI9ogcXF.js +0 -1
  485. package/dist/public/sdk/walletRecoveryAdminProof-BJxmg3f7.js +0 -1
  486. package/dist/public/sdk/walletRecoveryCommit-B7WsdR7y.js +0 -1
  487. package/dist/public/sdk/walletRegistrationSetupPrewarm-CEJCj78c.js +0 -1
  488. package/dist/public/sdk/walletSessionAuthorizationStatus-98G3Qji8.js +0 -1
  489. package/dist/public/sdk/warmSessionHydration-DqZyfi1h.js +0 -1
  490. /package/dist/esm/sdk/{accountIds-D5NI31F2.js → accountIds-CW2BP-d9.js} +0 -0
  491. /package/dist/esm/sdk/{authenticatorOptions-EF_Rps52.js → authenticatorOptions-WCDKYRux.js} +0 -0
  492. /package/dist/esm/sdk/{authorizationAdmission-DbhNiY3X.js → authorizationAdmission-28jo_IVJ.js} +0 -0
  493. /package/dist/esm/sdk/{browser-B2RI00tM.js → browser-CKS7Tq2r.js} +0 -0
  494. /package/dist/esm/sdk/{bytes-DVe42j_r.js → bytes-DXo6uALR.js} +0 -0
  495. /package/dist/esm/sdk/{canonicalSignerErrorCode-AwNMAn8S.js → canonicalSignerErrorCode-CX5PBpkt.js} +0 -0
  496. /package/dist/esm/sdk/{capabilityKinds-BzrNeEyO.js → capabilityKinds-DVlGMspk.js} +0 -0
  497. /package/dist/esm/sdk/{configHelpers-BNqoU2cv.js → configHelpers-CXDY3bKC.js} +0 -0
  498. /package/dist/esm/sdk/{csp-stylesheet-DeuiM0Mo.js → csp-stylesheet-DUSqfXvZ.js} +0 -0
  499. /package/dist/esm/sdk/{events-1dzC4Ocx.js → events-D6l0_ugy.js} +0 -0
  500. /package/dist/esm/sdk/{executeWorkerOperation-B-9JuL55.js → executeWorkerOperation-C9FOCCR7.js} +0 -0
  501. /package/dist/esm/sdk/{jsonRpc-CHutSlC9.js → jsonRpc-BVDv1wfm.js} +0 -0
  502. /package/dist/esm/sdk/{keccak-C9kCkZem.js → keccak-mS0Mejjx.js} +0 -0
  503. /package/dist/esm/sdk/{normalization-DtruiNPw.js → normalization-B3i1-rPQ.js} +0 -0
  504. /package/dist/esm/sdk/{prfCache-8Wm3etlV.js → prfCache-DEHaUPSW.js} +0 -0
  505. /package/dist/esm/sdk/{profileAccountProjection-D01e10UY.js → profileAccountProjection-C5sNt-s2.js} +0 -0
  506. /package/dist/esm/sdk/{promptText-Bz3YRl9D.js → promptText-bcKcsSka.js} +0 -0
  507. /package/dist/esm/sdk/{registrationAuthMethodInput-BvbWl0y_.js → registrationAuthMethodInput-BR1WVbK3.js} +0 -0
  508. /package/dist/esm/sdk/{sdkSentEvents-DUht3AOD.js → sdkSentEvents-DjOlKtdW.js} +0 -0
  509. /package/dist/esm/sdk/{shared-DcHtE-D-.js → shared-CkHhXgFB.js} +0 -0
  510. /package/dist/esm/sdk/{signer-worker-DlK58rEA.js → signer-worker-BNodGJKY.js} +0 -0
  511. /package/dist/esm/sdk/{signerDomain-D-EUTlLK.js → signerDomain-BAsLT3XN.js} +0 -0
  512. /package/dist/esm/sdk/{signingSessionSeal-DqbjG8c8.js → signingSessionSeal-BFOBKj-J.js} +0 -0
  513. /package/dist/esm/sdk/{types-fJKfUgTi.js → types-C4OErbBf.js} +0 -0
  514. /package/dist/esm/sdk/{walletIframeIdentity-Cz82I_Uh.js → walletIframeIdentity-CpgyEnKg.js} +0 -0
  515. /package/dist/esm/sdk/{walletSessionFailure-CLUIF3Eh.js → walletSessionFailure-CxsVtroW.js} +0 -0
  516. /package/dist/esm/sdk/{webauthnPromptCoordinator-CU9ag7vz.js → webauthnPromptCoordinator-npsSRD51.js} +0 -0
  517. /package/dist/public/sdk/{accountIds-D5NI31F2.js → accountIds-CW2BP-d9.js} +0 -0
  518. /package/dist/public/sdk/{authenticatorOptions-EF_Rps52.js → authenticatorOptions-WCDKYRux.js} +0 -0
  519. /package/dist/public/sdk/{authorizationAdmission-DbhNiY3X.js → authorizationAdmission-28jo_IVJ.js} +0 -0
  520. /package/dist/public/sdk/{browser-B2RI00tM.js → browser-CKS7Tq2r.js} +0 -0
  521. /package/dist/public/sdk/{bytes-DVe42j_r.js → bytes-DXo6uALR.js} +0 -0
  522. /package/dist/public/sdk/{canonicalSignerErrorCode-AwNMAn8S.js → canonicalSignerErrorCode-CX5PBpkt.js} +0 -0
  523. /package/dist/public/sdk/{capabilityKinds-BzrNeEyO.js → capabilityKinds-DVlGMspk.js} +0 -0
  524. /package/dist/public/sdk/{configHelpers-BNqoU2cv.js → configHelpers-CXDY3bKC.js} +0 -0
  525. /package/dist/public/sdk/{csp-stylesheet-DeuiM0Mo.js → csp-stylesheet-DUSqfXvZ.js} +0 -0
  526. /package/dist/public/sdk/{events-1dzC4Ocx.js → events-D6l0_ugy.js} +0 -0
  527. /package/dist/public/sdk/{executeWorkerOperation-B-9JuL55.js → executeWorkerOperation-C9FOCCR7.js} +0 -0
  528. /package/dist/public/sdk/{jsonRpc-CHutSlC9.js → jsonRpc-BVDv1wfm.js} +0 -0
  529. /package/dist/public/sdk/{keccak-C9kCkZem.js → keccak-mS0Mejjx.js} +0 -0
  530. /package/dist/public/sdk/{normalization-DtruiNPw.js → normalization-B3i1-rPQ.js} +0 -0
  531. /package/dist/public/sdk/{prfCache-8Wm3etlV.js → prfCache-DEHaUPSW.js} +0 -0
  532. /package/dist/public/sdk/{profileAccountProjection-D01e10UY.js → profileAccountProjection-C5sNt-s2.js} +0 -0
  533. /package/dist/public/sdk/{promptText-Bz3YRl9D.js → promptText-bcKcsSka.js} +0 -0
  534. /package/dist/public/sdk/{registrationAuthMethodInput-BvbWl0y_.js → registrationAuthMethodInput-BR1WVbK3.js} +0 -0
  535. /package/dist/public/sdk/{sdkSentEvents-DUht3AOD.js → sdkSentEvents-DjOlKtdW.js} +0 -0
  536. /package/dist/public/sdk/{shared-DcHtE-D-.js → shared-CkHhXgFB.js} +0 -0
  537. /package/dist/public/sdk/{signer-worker-DlK58rEA.js → signer-worker-BNodGJKY.js} +0 -0
  538. /package/dist/public/sdk/{signerDomain-D-EUTlLK.js → signerDomain-BAsLT3XN.js} +0 -0
  539. /package/dist/public/sdk/{signingSessionSeal-DqbjG8c8.js → signingSessionSeal-BFOBKj-J.js} +0 -0
  540. /package/dist/public/sdk/{types-fJKfUgTi.js → types-C4OErbBf.js} +0 -0
  541. /package/dist/public/sdk/{walletIframeIdentity-Cz82I_Uh.js → walletIframeIdentity-CpgyEnKg.js} +0 -0
  542. /package/dist/public/sdk/{walletSessionFailure-CLUIF3Eh.js → walletSessionFailure-CxsVtroW.js} +0 -0
  543. /package/dist/public/sdk/{webauthnPromptCoordinator-CU9ag7vz.js → webauthnPromptCoordinator-npsSRD51.js} +0 -0
@@ -0,0 +1,3 @@
1
+ export declare const meteorWalletIcon: string;
2
+ export declare const hotWalletIcon = "data:image/png;base64,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";
3
+ //# sourceMappingURL=externalWalletBrandImages.d.ts.map
@@ -50,6 +50,8 @@ export interface DesignTokens {
50
50
  active: string;
51
51
  focus: string;
52
52
  focusGradient?: string;
53
+ /** Optional face behind the passkey and authentication success indicator. */
54
+ passkeyHaloBackground?: string;
53
55
  success: string;
54
56
  warning: string;
55
57
  error: string;
@@ -1,26 +1,6 @@
1
- import { Component } from 'react';
2
- import { type ExternalNearController, type ExternalNearSnapshot, type ExternalNearWalletId } from '../externalNear';
1
+ import { type ExternalNearController, type ExternalNearSnapshot } from '../externalNear';
3
2
  export declare function useExternalNear(controller: ExternalNearController): ExternalNearSnapshot;
4
- export declare class ExternalNearWalletPicker extends Component<{
3
+ export declare function ExternalNearWalletPicker({ controller }: {
5
4
  controller: ExternalNearController;
6
- }, {
7
- snapshot: ExternalNearSnapshot;
8
- message: string;
9
- }> {
10
- state: {
11
- snapshot: Readonly<{
12
- connection: import("../externalNear").ExternalNearState;
13
- busy: boolean;
14
- wallets: readonly ExternalNearWalletId[];
15
- }>;
16
- message: string;
17
- };
18
- private unsubscribe;
19
- componentDidMount(): void;
20
- componentWillUnmount(): void;
21
- private updateSnapshot;
22
- private connect;
23
- private disconnect;
24
- render(): import("react/jsx-runtime").JSX.Element;
25
- }
5
+ }): import("react/jsx-runtime").JSX.Element;
26
6
  //# sourceMappingURL=externalNear.d.ts.map
@@ -28,7 +28,7 @@ export * from '../externalEvm';
28
28
  export { ExternalEvmWalletPicker, useExternalEvm } from './externalEvm';
29
29
  export { SeamsWebProvider } from './context/SeamsWebProvider';
30
30
  export { SeamsWeb } from '../SeamsWeb';
31
- export type { WalletAuthMethodPlugin, VoiceIdAuthMethodPlugin } from '../core/authMethods/plugins';
31
+ export type { WalletAuthMethodPlugin, VoiceIdAuthMethodPlugin, VoiceIdConfirmationOptions, } from '../core/authMethods/plugins';
32
32
  export { configuredThresholdEcdsaChainTargets, nearAccountRefFromAccountId, thresholdEcdsaChainTargetFromChainFamily, thresholdEcdsaChainTargetFromConfig, thresholdEcdsaChainTargetFromConfiguredRequest, thresholdEcdsaChainTargetFromRequest, thresholdEcdsaChainTargetKey, thresholdEcdsaChainTargetsEqual, toWalletId, walletIdFromWalletProfile, walletSessionRefFromSession, } from '../boundary/walletRefs';
33
33
  export type { EcdsaCommandSubject, EvmEip155ChainTarget, NearAccountRef, NearCommandSubject, TempoChainTarget, ThresholdEcdsaChainTarget, WalletId, WalletSessionRef, } from '../boundary/walletRefs';
34
34
  export { PASSKEY_MANAGER_DEFAULT_CONFIGS } from '../core/config/defaultConfigs';
@@ -64,6 +64,8 @@ export type { QRCodeScannerProps } from './components/QRCodeScanner';
64
64
  export { ShowQRCode } from './components/ShowQRCode';
65
65
  export type { ShowQRCodeProps } from './components/ShowQRCode';
66
66
  export { HostedSeamsAuthMenu, SeamsAuthMenuMock } from './components/HostedSeamsAuthMenu/public';
67
+ export { WalletConnectorMenu } from './components/HostedSeamsAuthMenu/WalletConnectorMenu';
68
+ export type { WalletConnectorMenuProps, WalletConnectorOptionAppearance, } from './components/HostedSeamsAuthMenu/WalletConnectorMenu';
67
69
  export type { HostedAuthMenuCopy, HostedAuthMenuCopyInput, HostedAuthMenuExternalAuthBroker, HostedAuthMenuExternalAuthEvidence, HostedAuthMenuExternalAuthRequest, HostedAuthMenuExternalProvider, HostedAuthMenuMode, HostedAuthMenuOpenRequest, HostedAuthMenuOutcome, HostedAuthMenuRegistrationAccountInput, HostedAuthMenuSessionId, HostedSeamsAuthMenuProps, } from './components/HostedSeamsAuthMenu/public';
68
70
  export { default as TouchIcon } from './components/AccountMenuButton/icons/TouchIcon';
69
71
  export { default as QRCodeIcon } from './components/QRCodeIcon';
@@ -39,6 +39,7 @@ export declare function createReviewedBoundCalls(env: BoundReviewEnvironment): {
39
39
  evmSign: (args: (Omit<Omit<import("../../SeamsWeb").SignEvmTransactionArgs, "walletSession">, "options"> & {
40
40
  readonly review: import("./contract").TransactionReview;
41
41
  readonly options?: (Omit<{
42
+ voiceId?: import("..").VoiceIdConfirmationOptions;
42
43
  confirmationConfig?: Partial<import("../..").ConfirmationConfig>;
43
44
  shouldAbort?: () => boolean;
44
45
  onEvent?: (event: import("..").SigningFlowEvent) => void;
@@ -62,6 +63,7 @@ export declare function createReviewedBoundCalls(env: BoundReviewEnvironment): {
62
63
  confirmations?: number;
63
64
  };
64
65
  options?: {
66
+ voiceId?: import("..").VoiceIdConfirmationOptions;
65
67
  confirmationConfig?: Partial<import("../..").ConfirmationConfig>;
66
68
  shouldAbort?: () => boolean;
67
69
  onEvent?: (event: import("../../SeamsWeb").TempoNonceLifecycleEvent) => void;
@@ -77,6 +79,7 @@ export declare function createReviewedBoundCalls(env: BoundReviewEnvironment): {
77
79
  }, "walletSession">, "options"> & {
78
80
  readonly review: import("./contract").TransactionReview;
79
81
  readonly options?: (Omit<{
82
+ voiceId?: import("..").VoiceIdConfirmationOptions;
80
83
  confirmationConfig?: Partial<import("../..").ConfirmationConfig>;
81
84
  shouldAbort?: () => boolean;
82
85
  onEvent?: (event: import("../../SeamsWeb").TempoNonceLifecycleEvent) => void;
@@ -97,6 +100,7 @@ export declare function createReviewedBoundCalls(env: BoundReviewEnvironment): {
97
100
  confirmations?: number;
98
101
  };
99
102
  options?: {
103
+ voiceId?: import("..").VoiceIdConfirmationOptions;
100
104
  confirmationConfig?: Partial<import("../..").ConfirmationConfig>;
101
105
  shouldAbort?: () => boolean;
102
106
  onEvent?: (event: import("../../SeamsWeb").TempoNonceLifecycleEvent) => void;
@@ -138,6 +142,7 @@ export declare function createReviewedBoundCalls(env: BoundReviewEnvironment): {
138
142
  confirmations?: number;
139
143
  };
140
144
  options?: {
145
+ voiceId?: import("..").VoiceIdConfirmationOptions;
141
146
  confirmationConfig?: Partial<import("../..").ConfirmationConfig>;
142
147
  shouldAbort?: () => boolean;
143
148
  onEvent?: (event: import("../../SeamsWeb").TempoNonceLifecycleEvent) => void;
@@ -153,6 +158,7 @@ export declare function createReviewedBoundCalls(env: BoundReviewEnvironment): {
153
158
  }, "walletSession">, "options"> & {
154
159
  readonly review: import("./contract").TransactionReview;
155
160
  readonly options?: (Omit<{
161
+ voiceId?: import("..").VoiceIdConfirmationOptions;
156
162
  confirmationConfig?: Partial<import("../..").ConfirmationConfig>;
157
163
  shouldAbort?: () => boolean;
158
164
  onEvent?: (event: import("../../SeamsWeb").TempoNonceLifecycleEvent) => void;
@@ -173,6 +179,7 @@ export declare function createReviewedBoundCalls(env: BoundReviewEnvironment): {
173
179
  confirmations?: number;
174
180
  };
175
181
  options?: {
182
+ voiceId?: import("..").VoiceIdConfirmationOptions;
176
183
  confirmationConfig?: Partial<import("../..").ConfirmationConfig>;
177
184
  shouldAbort?: () => boolean;
178
185
  onEvent?: (event: import("../../SeamsWeb").TempoNonceLifecycleEvent) => void;
@@ -1,4 +1,4 @@
1
- export declare const VOICE_ID_HOST_API_VERSION = 1;
1
+ export declare const VOICE_ID_HOST_API_VERSION = 2;
2
2
  export type { MpcMaterialActivationRef } from '../../shared-ts/src/utils/domainIds';
3
3
  export type { WalletCapabilitySubjectV1 } from '../../shared-ts/src/device-linking/contracts';
4
4
  export { type RegistrationCapability, type RegistrationWebContext, } from './SeamsWeb/signingSurface/types';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@seams/wallet",
3
- "version": "0.24.0",
3
+ "version": "0.27.0",
4
4
  "type": "module",
5
5
  "description": "Seams web and runtime TypeScript SDK for NEAR and EVM-family wallets",
6
6
  "main": "./dist/esm/index.js",
@@ -1,90 +0,0 @@
1
- .seams-near-picker {
2
- color: var(--seams-wallet-picker-text, #f5f5f5);
3
- background: var(--seams-wallet-picker-background, #202020);
4
- padding: clamp(20px, 4vw, 40px);
5
- border-radius: 28px;
6
- width: 100%;
7
- box-sizing: border-box;
8
- }
9
- .seams-near-picker h2 {
10
- font-size: clamp(22px, 4vw, 32px);
11
- font-weight: 500;
12
- margin: 0;
13
- }
14
- .seams-near-network {
15
- opacity: 0.7;
16
- }
17
- .seams-near-wallets {
18
- display: grid;
19
- grid-template-columns: repeat(2, minmax(0, 1fr));
20
- gap: 12px;
21
- }
22
- .seams-near-wallets button {
23
- display: flex;
24
- flex-direction: column;
25
- align-items: flex-start;
26
- gap: 12px;
27
- color: inherit;
28
- background: var(--seams-wallet-picker-card, #262626);
29
- border: 1px solid var(--seams-wallet-picker-border, #383838);
30
- border-radius: 24px;
31
- padding: 24px;
32
- text-align: left;
33
- font: inherit;
34
- cursor: pointer;
35
- min-width: 0;
36
- }
37
- .seams-near-wallets strong {
38
- font-size: 20px;
39
- font-weight: 500;
40
- overflow-wrap: anywhere;
41
- }
42
- .seams-near-wallets small {
43
- font-size: 12px;
44
- opacity: 0.7;
45
- overflow-wrap: anywhere;
46
- }
47
- .seams-near-icon {
48
- display: grid;
49
- place-items: center;
50
- width: 48px;
51
- height: 48px;
52
- border-radius: 50%;
53
- background: #181818;
54
- font-size: 24px;
55
- }
56
- .seams-near-meteor {
57
- background: #fff;
58
- color: #4824e9;
59
- font-weight: 700;
60
- }
61
- .seams-near-intear {
62
- background: #fff;
63
- color: #1685ff;
64
- font-weight: 700;
65
- }
66
- .seams-near-wallets button:hover:enabled {
67
- background: var(--seams-wallet-picker-hover, #303030);
68
- }
69
- .seams-near-picker button:focus-visible {
70
- outline: 3px solid #8faaff;
71
- outline-offset: 3px;
72
- }
73
- .seams-near-picker button:disabled {
74
- opacity: 0.45;
75
- cursor: default;
76
- }
77
- .seams-near-disconnect {
78
- margin-top: 20px;
79
- padding: 10px 16px;
80
- font: inherit;
81
- color: inherit;
82
- background: transparent;
83
- border: 1px solid #666;
84
- border-radius: 10px;
85
- }
86
- @media (max-width: 380px) {
87
- .seams-near-wallets {
88
- grid-template-columns: 1fr;
89
- }
90
- }
@@ -1 +0,0 @@
1
- import{S as e,T as t}from"./chains-gV2K9gA4.js";import{t as n}from"./errors-ADOZT8oV.js";import{o as r,t as i}from"./accountIds-D5NI31F2.js";import{r as a}from"./types-DdzuHlAQ.js";import{_ as o,a as s,b as c,d as l,f as u,g as d,h as f,i as p,m,n as ee,o as h,r as g,t as _,u as v,v as y,x as b,y as x}from"./nonceLaneKeys-BS4fek17.js";function te(e,t){let n=S(e,t);if(n.ok)return n.state;throw k(n.current,n.transition)}function S(e,t){switch(t){case`release`:return ne(e);case`expire`:return re(e);case`mark_signed`:return ie(e);case`broadcast_accepted`:return ae(e);case`broadcast_rejected`:return oe(e);case`finalize`:return se(e);case`drop`:return ce(e);case`replace`:return C(e);case`reconcile`:return w(e);default:return D(t)}}function ne(e){switch(e){case b.Released:return T(e);case b.Reserved:return T(b.Released);default:return E(e,`release`)}}function re(e){switch(e){case b.Reserved:return T(b.Expired);case b.Signed:return T(b.SignedLeaseExpired);case b.Expired:case b.SignedLeaseExpired:return T(e);default:return E(e,`expire`)}}function ie(e){switch(e){case b.Reserved:case b.Signed:return T(b.Signed);default:return E(e,`mark_signed`)}}function ae(e){switch(e){case b.Signed:case b.BroadcastAccepted:return T(b.BroadcastAccepted);default:return E(e,`broadcast_accepted`)}}function oe(e){switch(e){case b.Signed:case b.BroadcastRejected:return T(b.BroadcastRejected);default:return E(e,`broadcast_rejected`)}}function se(e){switch(e){case b.BroadcastAccepted:case b.Finalized:return T(b.Finalized);default:return E(e,`finalize`)}}function ce(e){switch(e){case b.BroadcastAccepted:case b.Dropped:return T(b.Dropped);default:return E(e,`drop`)}}function C(e){switch(e){case b.BroadcastAccepted:case b.Replaced:return T(b.Replaced);default:return E(e,`replace`)}}function w(e){switch(e){case b.Released:case b.Expired:case b.SignedLeaseExpired:case b.BroadcastRejected:case b.Dropped:case b.Replaced:case b.Reconciled:return T(b.Reconciled);default:return E(e,`reconcile`)}}function T(e){return{ok:!0,state:e}}function E(e,t){return{ok:!1,current:e,transition:t,reason:`illegal_transition`}}function D(e){throw Error(`[NonceCoordinator] unhandled nonce lease transition: ${String(e)}`)}function O(e){return e===b.Reserved||e===b.Signed}function le(e){return e===b.Reserved||e===b.Signed||e===b.BroadcastAccepted}function ue(e){return e===b.Reserved||e===b.Signed||e===b.BroadcastAccepted}function de(e,t){return e.state===c.BroadcastAccepted?!0:(e.state===c.Reserved||e.state===c.Signed)&&e.expiresAtMs>t}function k(e,t){return Error(`[NonceCoordinator] illegal nonce lease transition: ${e} -> ${t}`)}function A(e,t){let n=String(e||``).trim();if(!n)throw Error(`[NonceCoordinator] ${t} is required`);return n}function j(e,t){try{if(typeof e==`bigint`)return e;if(typeof e==`number`&&Number.isSafeInteger(e))return BigInt(e);let t=String(e||``).trim();if(/^\d+$/.test(t))return BigInt(t)}catch{}throw Error(`[NonceCoordinator] invalid ${t}`)}function M(e,t){let n=Math.floor(Number(e));return Number.isFinite(n)&&n>0?n:t}function N(e,t){return String(e||``).trim().toLowerCase().replace(/[^a-z0-9_]+/g,`_`).replace(/^_+|_+$/g,``)||t}function P(...e){return e.length===0?0n:e.reduce((e,t)=>e>t?e:t)}function F(e,t){return e<t?e:t}function fe(){return{chainNonce:null,nextCandidate:null,inFlight:new Map,lastRefreshMs:null,inflightRefresh:null}}function pe(e,t){let n=e.get(t);if(n)return n;let r=fe();return e.set(t,r),r}function me(e){let t=String(e.lane.subjectId||``).trim();if(!t)return;let n=e.accountLaneKeys.get(t);if(!n){e.accountLaneKeys.set(t,new Set([e.laneKey]));return}n.add(e.laneKey)}async function he(e){let{state:t}=e;if(t.inflightRefresh)return await t.inflightRefresh;let n=(async()=>{let n=await e.fetchChainNonce(e.lane),r=n>=0n?n:0n,i=await e.readActiveLeaseNonces({chainNextNonce:r,lane:e.lane}),a=0n;for(let e of i){let t=BigInt(e);t>a&&(a=t)}let o=0n,s=new Map;for(let[e,n]of t.inFlight.entries())n.nonce<r||(s.set(e,n),n.nonce>o&&(o=n.nonce));return t.inFlight=s,t.nextCandidate=P(0n,r,(i.size>0||s.size>0)&&t.nextCandidate||0n,a>0n?a+1n:0n,o>0n?o+1n:0n),t.chainNonce=r,t.lastRefreshMs=e.nowMs,r})();t.inflightRefresh=n;try{return await n}finally{t.inflightRefresh===n&&(t.inflightRefresh=null)}}async function ge(e){return e.state.nextCandidate==null||e.state.lastRefreshMs==null||e.state.inFlight.size>0?!0:(await e.readActiveLeaseNonces({lane:e.lane})).size>0?!1:e.nowMs-e.state.lastRefreshMs>=e.refreshTtlMs}async function _e(e){if(await e.removeCoordinationLease(e.lease),!e.state)return;let t=e.lease.nonce;e.state.inFlight.delete(t.toString()),!((await e.readActiveLeaseNonces({excludeLeaseId:e.lease.leaseId,lane:e.lease.lane})).size>0)&&e.state.inFlight.size===0&&(e.state.lastRefreshMs=null)}async function ve(e){let t=e.lease.nonce,n=ye(e.txHash);e.state.inFlight.set(t.toString(),{nonce:t,txHash:n,status:`accepted`,acceptedAtMs:e.nowMs,updatedAtMs:e.nowMs});let r=t+1n;(e.state.nextCandidate==null||e.state.nextCandidate<r)&&(e.state.nextCandidate=r),await e.persistCoordinationLease(e.lease,{state:c.BroadcastAccepted,txHash:n},e.nowMs+e.staleInFlightThresholdMs)}function ye(e){let t=String(e||``).trim().toLowerCase();if(!/^0x[0-9a-f]{64}$/.test(t))throw Error(`[NonceCoordinator] EVM broadcast acceptance requires txHash`);return t}async function be(e){let t=e.lease.nonce;e.state.inFlight.delete(t.toString());let n=t+1n;e.state.chainNonce=e.state.chainNonce==null?n:P(e.state.chainNonce,n),(e.state.nextCandidate==null||e.state.nextCandidate<n)&&(e.state.nextCandidate=n),e.state.lastRefreshMs=e.nowMs,await e.removeCoordinationLease(e.lease)}async function xe(e){let t=e.lease.nonce;if(e.outcome.reason===m.Dropped)e.state.inFlight.delete(t.toString()),(e.state.chainNonce==null||e.state.chainNonce<=t)&&(e.state.nextCandidate=e.state.nextCandidate==null?t:F(e.state.nextCandidate,t));else{let n=e.state.inFlight.get(t.toString());e.state.inFlight.set(t.toString(),{nonce:t,...e.outcome.txHash?{txHash:e.outcome.txHash}:n?.txHash?{txHash:n.txHash}:{},status:`replaced`,acceptedAtMs:n?.acceptedAtMs??e.nowMs,updatedAtMs:e.nowMs})}e.state.lastRefreshMs=null,await e.removeCoordinationLease(e.lease)}async function Se(e){let t=await e.refreshFromChain(e.lane,e.state),n=Array.from(e.state.inFlight.values()).map(e=>e.nonce).sort((e,t)=>e<t?-1:e>t?1:0),r=Ce({state:e.state,nowMs:e.nowMs,staleInFlightThresholdMs:e.staleInFlightThresholdMs});return{chainNextNonce:t,unresolvedInFlightNonces:n,blocked:!!r,...r?{blockedNonce:r.blockedNonce}:{}}}function Ce(e){let{state:t}=e;if(t.inFlight.size===0||t.chainNonce==null)return null;let n=null,r=null;for(let e of t.inFlight.values())(n==null||e.nonce<n)&&(n=e.nonce,r=e.updatedAtMs);if(n==null||r==null||t.chainNonce>n)return null;let i=Math.max(0,e.nowMs-r);return i<e.staleInFlightThresholdMs?null:{blockedNonce:n,ageMs:i}}function we(e){let t=Error(`[NonceCoordinator] nonce lane blocked on ${l(e.lane)} (nonce=${e.blockedNonce.toString()}) for ${e.ageMs}ms; reconcile or replace/dropped report required`);return t.code=`nonce_lane_blocked`,t.retryable=!0,t.details={chain:e.lane.chainTarget.kind,networkKey:l(e.lane),chainId:e.lane.chainTarget.chainId,blockedNonce:e.blockedNonce.toString(),ageMs:e.ageMs},t}function I(e){let t=String(e?.nextNonce??e?.accessKeyInfo?.nonce??`0`).trim();if(!t)return 0n;try{return BigInt(t)}catch{return 0n}}function Te(e){let t={walletId:String(e.walletId||``).trim(),nearAccountId:String(e.nearAccountId||``).trim(),nearPublicKeyStr:String(e.nearPublicKeyStr||``).trim()};if(!e.accessKeyAvailable&&r(t.nearAccountId))return{kind:`implicit_unfunded`,...t};let n={...t,nonce:I(e.transactionContext),accessKeyNonce:String(e.transactionContext?.accessKeyInfo?.nonce??``).trim(),nextNonce:String(e.transactionContext?.nextNonce??``).trim(),txBlockHeight:String(e.transactionContext?.txBlockHeight??``).trim(),txBlockHash:String(e.transactionContext?.txBlockHash??``).trim()};return r(t.nearAccountId)?{kind:`access_key_available`,...n}:{kind:`sponsored_named_ready`,...n}}function L(e){switch(e.lifecycle.kind){case`uninitialized`:return null;case`access_key_bound`:case`access_key_lookup_pending`:case`implicit_unfunded`:case`lookup_failed`:return e.lifecycle.subject;default:return Ne(e.lifecycle)}}function R(e){let t=L(e);if(!t)throw Error(`[NonceCoordinator] NEAR access key is not initialized`);return t}function z(e){return V(e.lifecycle)?.transactionContext??null}function B(e){return z(e)!==null}function Ee(e){return Ae(e)!==null}function De(e){return L(e)?.nearAccountId??null}function Oe(e){return L(e)?.publicKey??null}function V(e){switch(e.kind){case`uninitialized`:case`implicit_unfunded`:case`lookup_failed`:return null;case`access_key_bound`:return e.context.kind===`ready`?e.context:null;case`access_key_lookup_pending`:return e.previousContext.kind===`ready`?e.previousContext:null;default:return Ne(e)}}function ke(e){return V(e)??{kind:`missing`}}function Ae(e){switch(e.lifecycle.kind){case`access_key_lookup_pending`:return e.lifecycle.promise;case`uninitialized`:case`access_key_bound`:case`implicit_unfunded`:case`lookup_failed`:return null;default:return Ne(e.lifecycle)}}function H(e){let t=V(e.state.lifecycle);e.state.lifecycle={kind:`access_key_bound`,subject:e.subject,context:{kind:`ready`,transactionContext:e.transactionContext,lastNonceUpdateMs:e.updateNonce?e.nowMs:t?.lastNonceUpdateMs??e.nowMs,lastBlockHeightUpdateMs:e.updateBlock?e.nowMs:t?.lastBlockHeightUpdateMs??e.nowMs}}}function je(e){e.state.lifecycle={kind:`access_key_lookup_pending`,subject:e.subject,previousContext:ke(e.state.lifecycle),promise:e.promise}}function Me(e){e.state.lifecycle={kind:`implicit_unfunded`,subject:e.subject,readiness:{kind:`implicit_unfunded`,walletId:e.subject.walletId,nearAccountId:e.subject.nearAccountId,nearPublicKeyStr:e.subject.publicKey}}}function U(e){e.state.lifecycle={kind:`lookup_failed`,subject:e.subject,readiness:{kind:`account_lookup_failed`,walletId:e.subject.walletId,nearAccountId:e.subject.nearAccountId,nearPublicKeyStr:e.subject.publicKey,message:e.message}}}function Ne(e){throw Error(`[NonceCoordinator] unhandled NEAR nonce lane lifecycle: ${String(e)}`)}function Pe(){return{lifecycle:{kind:`uninitialized`},inflightId:0,refreshTimer:null,prefetchTimer:null,reservedNonces:new Set,lastReservedNonce:null,inFlight:new Map}}function W(e){e.refreshTimer&&=(clearTimeout(e.refreshTimer),null)}function Fe(e){e.prefetchTimer&&=(clearTimeout(e.prefetchTimer),null)}function G(e){let t=L(e);e.lifecycle=t?{kind:`access_key_bound`,subject:t,context:{kind:`missing`}}:{kind:`uninitialized`},e.reservedNonces.clear(),e.lastReservedNonce=null,e.inFlight.clear(),W(e),Fe(e)}function Ie(e){e.lifecycle={kind:`uninitialized`},G(e)}function Le(e){let t=A(e.nearAccountId,`nearAccountId`),n=A(e.publicKey,`publicKey`),r=A(e.walletId,`walletId`);if(!r)throw Error(`[NonceCoordinator] NEAR access key walletId is required`);let i={walletId:r,nearAccountId:t,publicKey:n},a=L(e.state);a?.walletId===r&&a.nearAccountId===t&&a.publicKey===n||(e.state.lifecycle={kind:`access_key_bound`,subject:i,context:{kind:`missing`}},G(e.state))}function Re(e){Le({state:e.state,walletId:e.walletId,nearAccountId:e.nearAccountId,publicKey:e.publicKey}),H({state:e.state,subject:R(e.state),transactionContext:e.transactionContext,nowMs:e.nowMs,updateNonce:!0,updateBlock:!0})}async function ze(e){let t=z(e.state);if(!t)throw Error(`NEAR transaction context not available - call fetchNearContext() first`);let n=Math.max(0,Math.floor(Number(e.countInput||0)));if(n<=0)return[];let r=v(e.lane),i=await e.readActiveLeaseNonces(r,{lane:e.lane}),a=0n;for(let e of i){let t=BigInt(e);t>a&&(a=t)}let o=P(e.state.lastReservedNonce?BigInt(e.state.lastReservedNonce)+1n:0n,BigInt(t.nextNonce),a>0n?a+1n:0n),s=[],c=o;for(let t=0;t<n;t+=1){for(;e.state.reservedNonces.has(c.toString())||i.has(c.toString());)c+=1n;let t=c.toString();s.push(t),c+=1n}for(let t of s)e.state.reservedNonces.add(t);return e.state.lastReservedNonce=s[s.length-1]||e.state.lastReservedNonce,s}function Be(e){let t=null;for(let n of e)try{let e=BigInt(n);(t===null||e>t)&&(t=e)}catch{}return t===null?null:t.toString()}function Ve(e,t){e.reservedNonces.delete(String(t))&&(e.lastReservedNonce=Be(e.reservedNonces))}async function He(e){let t=BigInt(e.lease.nonce);e.state.inFlight.set(t.toString(),{nonce:t,txHash:e.txHash,acceptedAtMs:e.nowMs,updatedAtMs:e.nowMs}),await e.persistCoordinationLease(e.lease,{state:c.BroadcastAccepted,txHash:e.txHash})}async function Ue(e){Le({state:e.state,walletId:e.lane.walletId,nearAccountId:e.lane.nearAccountId,publicKey:e.lane.publicKey});let t=await e.nearClient.viewAccessKey(e.lane.nearAccountId,e.lane.publicKey);if(!q(t))throw Error(`Access key not found or invalid for account ${e.lane.nearAccountId}`);let n=J(t),r=BigInt(n.nonce),i=r+1n,a=[];for(let t of e.activeLeases){let n=BigInt(t.nonce),i=e.state.inFlight.get(n.toString());if(n>r){i&&a.push(n);continue}if(!i?.txHash)continue;let o=await K({nearClient:e.nearClient,txHash:i.txHash,accountId:e.lane.nearAccountId});if(o===`finalized`){e.transitionLease({lease:t,transition:`finalize`,reason:`near_tx_status_finalized`,txHash:i.txHash}),await e.removeCoordinationLease(t),e.state.inFlight.delete(n.toString()),Ve(e.state,n.toString());continue}if(o===`missing`){e.transitionLease({lease:t,transition:`drop`,reason:d.NonceAdvancedHashMissing,txHash:i.txHash}),await e.removeCoordinationLease(t),e.state.inFlight.delete(n.toString()),Ve(e.state,n.toString());continue}a.push(n)}let o=z(e.state),s=P(i,o?.nextNonce?BigInt(o.nextNonce):0n,e.state.lastReservedNonce?BigInt(e.state.lastReservedNonce)+1n:0n);if(H({state:e.state,subject:{walletId:e.lane.walletId,nearAccountId:e.lane.nearAccountId,publicKey:e.lane.publicKey},transactionContext:{...o||{nearPublicKeyStr:e.lane.publicKey,txBlockHeight:`0`,txBlockHash:``},accessKeyInfo:n,nextNonce:s.toString()},nowMs:e.now(),updateNonce:!0,updateBlock:!1}),e.state.reservedNonces.size>0){let t=We(r,e.state.reservedNonces);e.state.reservedNonces=t.set,e.state.lastReservedNonce=t.lastReserved}return{chainNextNonce:i,unresolvedInFlightNonces:a.sort((e,t)=>e<t?-1:e>t?1:0),blocked:!1}}async function K(e){try{return await e.nearClient.txStatus(e.txHash,e.accountId),`finalized`}catch(e){let t=n(e);return/unknown transaction|does not exist|not found|not found in storage/i.test(t)?`missing`:`unknown`}}function We(e,t){let n=new Set,r=null;for(let i of t)try{let t=BigInt(i);if(t<=e)continue;n.add(i),(r===null||t>r)&&(r=t)}catch{}return{set:n,lastReserved:r===null?null:r.toString()}}function Ge(e){let t=String(e||``).toLowerCase();return t.includes(`does not exist while viewing`)||t.includes(`access key not found`)||t.includes(`unknown public key`)||t.includes(`unknown_account`)||t.includes(`unknown account`)||t.includes(`unknown_access_key`)||t.includes(`does not exist`)||t.includes(`doesn't exist`)}var Ke=class extends Error{code=`near_implicit_account_unfunded`;nearAccountId;readiness;constructor(e){super(`NEAR account ${e.nearAccountId} needs funding before direct NEAR signing.`),this.name=`NearImplicitAccountFundingRequiredError`,this.nearAccountId=e.nearAccountId,this.readiness=Te({walletId:e.walletId,nearAccountId:e.nearAccountId,nearPublicKeyStr:e.nearPublicKeyStr,accessKeyAvailable:!1})}},qe=class extends Error{code=`near_account_lookup_failed`;nearAccountId;readiness;constructor(e){super(e.message||`NEAR account ${e.nearAccountId} access key lookup failed.`),this.name=`NearAccountLookupFailedError`,this.nearAccountId=e.nearAccountId,this.readiness={kind:`account_lookup_failed`,walletId:e.walletId,nearAccountId:e.nearAccountId,nearPublicKeyStr:e.nearPublicKeyStr,message:this.message}}};async function Je(e){let{state:t}=e,i=Ae(t);if(i&&!e.force)return i;let a=R(t),o=++t.inflightId,s=(async()=>{try{let i=e.now(),s=V(t.lifecycle),c=s?.transactionContext??null,l=e.force||!s||i-s.lastNonceUpdateMs>=e.nonceFreshnessThresholdMs,u=e.force||!s||i-s.lastBlockHeightUpdateMs>=e.blockFreshnessThresholdMs,d=c?.accessKeyInfo,f=c?.txBlockHeight,p=c?.txBlockHash,m=l||!d,ee=u||!f||!p,h=d??null,g=null,_=null,v=null,y=[];if(m&&y.push((async()=>{try{h=await e.nearClient.viewAccessKey(a.nearAccountId,a.publicKey)}catch(e){let t=n(e);if(Ge(t)){if(r(a.nearAccountId)){_=new Ke({walletId:a.walletId,nearAccountId:a.nearAccountId,nearPublicKeyStr:a.publicKey});return}_=new qe({walletId:a.walletId,nearAccountId:a.nearAccountId,nearPublicKeyStr:a.publicKey,message:t});return}_=e}})()),ee&&y.push((async()=>{try{g=await e.nearClient.viewBlock({finality:`final`})}catch(e){v=e}})()),y.length>0&&await Promise.all(y),_)throw _ instanceof Ke?Me({state:t,subject:a}):_ instanceof qe&&U({state:t,subject:a,message:_.message}),_;if(v)throw v;if(m&&(d=q(h)?J(h):c?.accessKeyInfo||$e()),ee){if(!Y(g))throw Error(`[NonceCoordinator] failed to fetch NEAR block info`);f=String(g.header.height),p=g.header.hash}let b=P(d?.nonce===void 0?0n:BigInt(d.nonce)+1n,c?.nextNonce?BigInt(c.nextNonce):0n,t.lastReservedNonce?BigInt(t.lastReservedNonce)+1n:0n,1n),x={nearPublicKeyStr:a.publicKey,accessKeyInfo:d,nextNonce:b.toString(),txBlockHeight:f,txBlockHash:p};return et(L(t),a)&&o===t.inflightId&&H({state:t,subject:a,transactionContext:x,nowMs:e.now(),updateNonce:m,updateBlock:ee}),x}finally{if(o===t.inflightId){let e=L(t);t.lifecycle.kind===`access_key_lookup_pending`&&et(e,a)&&(t.lifecycle={kind:`access_key_bound`,subject:a,context:t.lifecycle.previousContext})}}})();return je({state:t,subject:a,promise:s}),s}async function Ye(e){let{state:t}=e,r=R(t);try{let n=await e.nearClient.viewAccessKey(r.nearAccountId,r.publicKey);if(!q(n))throw Error(`Access key not found or invalid for account ${r.nearAccountId}`);let i=J(n),a=BigInt(i.nonce),o=BigInt(e.actualNonce),s=z(t),c=P(a+1n,o+1n,s?.nextNonce?BigInt(s.nextNonce):0n,t.lastReservedNonce?BigInt(t.lastReservedNonce)+1n:0n);if(H({state:t,subject:r,transactionContext:s?{...s,accessKeyInfo:i,nextNonce:c.toString()}:{nearPublicKeyStr:r.publicKey,accessKeyInfo:i,nextNonce:c.toString(),txBlockHeight:`0`,txBlockHash:``},nowMs:e.now(),updateNonce:!0,updateBlock:!1}),t.inFlight.delete(e.actualNonce),Ve(t,e.actualNonce),t.reservedNonces.size>0){let e=We(a,t.reservedNonces);t.reservedNonces=e.set,t.lastReservedNonce=e.lastReserved}}catch(i){if(Ge(n(i))){let n=BigInt(e.actualNonce),i=z(t),a=P(n+1n,i?.nextNonce?BigInt(i.nextNonce):0n,t.lastReservedNonce?BigInt(t.lastReservedNonce)+1n:0n);H({state:t,subject:r,transactionContext:i?{...i,nextNonce:a.toString()}:{nearPublicKeyStr:r.publicKey,accessKeyInfo:$e(),txBlockHeight:`0`,txBlockHash:``,nextNonce:a.toString()},nowMs:e.now(),updateNonce:!0,updateBlock:!1})}}}async function Xe(e){let{state:t}=e,n=R(t),r=await e.nearClient.viewAccessKey(n.nearAccountId,n.publicKey);if(!q(r))throw Error(`Access key not found or invalid for account ${n.nearAccountId}`);let i=J(r),a=BigInt(i.nonce),o=P(a+1n,t.lastReservedNonce?BigInt(t.lastReservedNonce)+1n:0n,1n),s=z(t);if(H({state:t,subject:n,transactionContext:s?{...s,accessKeyInfo:i,nextNonce:o.toString()}:{nearPublicKeyStr:n.publicKey,accessKeyInfo:i,nextNonce:o.toString(),txBlockHeight:`0`,txBlockHash:``},nowMs:e.now(),updateNonce:!0,updateBlock:!1}),t.reservedNonces.size>0){let e=We(a,t.reservedNonces);t.reservedNonces=e.set,t.lastReservedNonce=e.lastReserved}}function Ze(e){let t=V(e.state.lifecycle);return!t||e.nowMs-t.lastBlockHeightUpdateMs>=e.blockFreshnessThresholdMs||!t}function q(t){if(!e(t))return!1;try{return j(t.nonce,`near access-key nonce`),!0}catch{return!1}}function J(e){let n=e;return{nonce:j(n.nonce,`near access-key nonce`),permission:Qe(n.permission),block_hash:t(n.block_hash)?n.block_hash:``,block_height:typeof n.block_height==`number`?n.block_height:0}}function Qe(n){if(n===`FullAccess`||!e(n))return`FullAccess`;let r=n.FunctionCall;if(!e(r))return`FullAccess`;let i=Array.isArray(r.method_names)?r.method_names.filter(t):[];return{FunctionCall:{allowance:t(r.allowance)?r.allowance:``,receiver_id:t(r.receiver_id)?r.receiver_id:``,method_names:i}}}function Y(e){let t=e;if(!t||typeof t!=`object`)return!1;let n=t.header;return!!n&&typeof n.hash==`string`&&n.height!==void 0}function $e(){return{nonce:0n,permission:`FullAccess`,block_height:0,block_hash:``}}function et(e,t){return e?.walletId===t.walletId&&e.nearAccountId===t.nearAccountId&&e.publicKey===t.publicKey}function tt(e){let t=e.lane,n=e.fallback||y.InRuntimeLock,r=t?l(t):String(e.networkKey||``).trim(),i=t?u(t):String(e.accountId||``).trim(),a=t?.family||e.laneFamily,o=[e.reason,a||``,r,i,n].join(`|`);if(e.observed.has(o))return null;let s={reason:e.reason,...a?{laneFamily:a}:{},...r?{networkKey:r}:{},...i?{accountId:i}:{},fallback:n};return e.observed.set(o,s),{...t?{lane:t}:{},degradation:s}}function nt(e){let t=[v(e.lane),e.reason].join(`|`),n=e.alerts.get(t),r=n&&e.nowMs-n.firstSeenAtMs<=e.windowMs?{count:n.count+1,firstSeenAtMs:n.firstSeenAtMs,lastSeenAtMs:e.nowMs}:{count:1,firstSeenAtMs:e.nowMs,lastSeenAtMs:e.nowMs};return e.alerts.set(t,r),r.count<e.threshold?null:{alert:{kind:`repeated_dropped_or_replaced`,severity:`warning`,lane:e.lane,reason:e.reason,count:r.count,windowMs:e.windowMs,firstSeenAtMs:r.firstSeenAtMs,lastSeenAtMs:r.lastSeenAtMs},warning:{chainTarget:e.lane.chainTarget,networkKey:l(e.lane),chainId:e.lane.chainTarget.chainId,sender:e.lane.sender,nonceKey:e.lane.nonceKey?.toString(),subjectId:e.lane.subjectId,reason:e.reason,count:r.count,windowMs:e.windowMs}}}function X(){let e={};for(let t of f)e[t]=0;return e}function rt(e,t){let n=(t.lease?.lane?u(t.lease.lane):``)||(t.lane?u(t.lane):``)||t.accountId,r=(t,r)=>{e.push({...n?{accountId:n}:{},kind:t,reason:r})};if(t.event===x.LeaseDropped){r(m.Dropped,m.Dropped);return}if(t.event===x.LeaseReplaced){r(m.Replaced,m.Replaced);return}if(t.event===x.LaneReconciled){r(`reconciled`,N(t.reason,`manual`));return}if(t.event===x.LeaseReleased){r(`released`,N(t.reason,`unspecified`));return}if(t.event===x.LeaseExpired){r(`expired`,N(t.reason,`lease_ttl_elapsed`));return}t.event===x.LeaseBroadcastRejected&&r(b.BroadcastRejected,b.BroadcastRejected)}function it(e,t){let n={droppedCount:0,replacedCount:0,reconciledCount:0,releasedCount:0,expiredCount:0,broadcastRejectedCount:0,releaseReasons:{},reconcileReasons:{},expiryReasons:{}};for(let r of e)if(!(t&&r.accountId!==t)){if(r.kind===m.Dropped){n.droppedCount+=1;continue}if(r.kind===m.Replaced){n.replacedCount+=1;continue}if(r.kind===`broadcast_rejected`){n.broadcastRejectedCount+=1;continue}if(r.kind===`reconciled`){n.reconciledCount+=1,n.reconcileReasons[r.reason]=(n.reconcileReasons[r.reason]||0)+1;continue}if(r.kind===`released`){n.releasedCount+=1,n.releaseReasons[r.reason]=(n.releaseReasons[r.reason]||0)+1;continue}r.kind===`expired`&&(n.expiredCount+=1,n.expiryReasons[r.reason]=(n.expiryReasons[r.reason]||0)+1)}return n}function at(e){let t=e.options?.accountId?String(e.options.accountId).trim():``,n=X(),r=new Map,i=new Set,a=0,o=0,s=0,c=0;for(let l of e.leases){if(t&&u(l.lane)!==t)continue;a+=1,n[l.state]+=1;let d=v(l.lane),f=Math.max(0,e.nowMs-l.reservedAtMs);o=Math.max(o,f),O(l.state)&&(s=Math.max(s,f),l.expiresAtMs<=e.nowMs&&(c+=1,i.add(d)));let p=r.get(d)||{lane:l.lane,leaseCount:0,states:{}};p.leaseCount+=1,p.states[l.state]=(p.states[l.state]||0)+1,r.set(d,p)}let d={atMs:e.nowMs,...t?{accountId:t}:{},leaseCount:a,laneCount:r.size,oldestLeaseAgeMs:o,oldestInFlightLeaseAgeMs:s,staleInFlightLeaseCount:c,staleInFlightLaneCount:i.size,reservedLeaseCount:n[b.Reserved],signedLeaseCount:n[b.Signed],broadcastAcceptedLeaseCount:n[b.BroadcastAccepted],droppedLeaseCount:n[b.Dropped],replacedLeaseCount:n[b.Replaced],reconciledLeaseCount:n[b.Reconciled],releasedLeaseCount:n[b.Released],outcomes:it(e.outcomeMetricEvents,t)},f=De(e.nearState),p=Oe(e.nearState);return{leaseCount:a,leasesByState:n,laneCount:r.size,metrics:d,coordinationWarnings:Array.from(e.observedCoordinationDegradations).filter(e=>!t||!e.accountId||e.accountId===t),lanes:Array.from(r.values()).map(e=>({family:e.lane.family,accountId:u(e.lane),networkKey:l(e.lane),...e.lane.family===`evm`?{chain:e.lane.chainTarget.kind,chainId:e.lane.chainTarget.chainId}:{},leaseCount:e.leaseCount,states:{...e.states}})),near:{...f?{activeAccountId:f}:{},...p?{activePublicKey:p}:{},hasContext:B(e.nearState),reservedNonceCount:e.nearState.reservedNonces.size,...e.nearState.lastReservedNonce?{lastReservedNonce:e.nearState.lastReservedNonce}:{}}}}function Z(e,t){let n=e.trim();if(!n)throw Error(`[NonceCoordinator][near] ${t} is required`);return n}function ot(e){let t=e?.find(e=>String(e.network||``).startsWith(`near-`));return String(t?.network||`near`)}function st(e){return{family:`near`,networkKey:ot(e.chains),walletId:Z(e.walletId,`walletId`),nearAccountId:i(e.nearAccountId),publicKey:Z(e.nearPublicKeyStr,`nearPublicKeyStr`)}}const ct=2e4;async function lt(e,t){try{let n=await e.viewAccessKey(t.nearAccountId,t.publicKey);if(q(n))return{kind:`observed`,nonce:BigInt(n.nonce)}}catch{}return{kind:`unavailable`}}function ut(t){let n=new Map,r=new Map,i=new Map,l=new Map,d=[],f=new Map,S=t.now||Date.now,ne=M(t.leaseTtlMs,12e4),re=M(t.signedLeaseTtlMs,3e4),ie=M(t.evmRefreshTtlMs,5e3),ae=M(t.evmStaleInFlightThresholdMs,45e3),oe=M(t.droppedReplacedAlertThreshold,3),se=M(t.droppedReplacedAlertWindowMs,3e5),ce=t.sameOriginLock===void 0?gt():t.sameOriginLock,C=t.nonceLaneCoordinationStore??null,w=t.nonceLaneCoordinationStore!==void 0,T=s(),E=new Map,D=e=>{rt(d,e);try{t.onTrace?.(e)}catch{}},O=(e,t)=>{let n=tt({observed:E,reason:e,...t});n&&(D({event:x.CoordinationDegraded,...n}),console.warn(`[NonceCoordinator] nonce coordination degraded`,n.degradation))},k=e=>({leaseId:A(e.leaseId,`leaseId`),operationId:a.signingOperation(e.operationId),operationFingerprint:a.signingOperationFingerprint(e.operationFingerprint)}),j=e=>{let t=A(e.leaseId,`leaseId`),r=n.get(t);if(!r)throw Error(`[NonceCoordinator] nonce lease not found`);return ee(r,e.operationId,e.operationFingerprint),r},N=e=>{let t=e.lease.state,n=te(t,e.transition);e.lease.state=n;let r=e.expiresAtMs;typeof r==`number`&&Number.isSafeInteger(r)&&(e.lease.expiresAtMs=r),D({event:e.event,lease:e.lease,previousState:t,nextState:n,...e.reason?{reason:e.reason}:{},...e.txHash?{txHash:e.txHash}:{}})},P=(e,t)=>{te(e.state,t)},F=e=>pe(r,e),fe=(e,t)=>{me({accountLaneKeys:i,lane:e,laneKey:t})},ye=async(e,t)=>{if(!C)return w&&O(o.IndexedDBUnavailable,{lane:t}),[];try{await C.pruneExpired(S())}catch{O(o.DurableStoreError,{lane:t})}try{return await C.readLane(e)}catch{return O(o.DurableStoreError,{lane:t}),[]}},I=async(e,t)=>{let r=new Set;for(let i of n.values()){if(t?.excludeLeaseId&&i.leaseId===t.excludeLeaseId||!Q(i)||v(i.lane)!==e||!le(i.state))continue;let n=i.nonce;t?.chainNextNonce!=null&&n<t.chainNextNonce||r.add(n.toString())}for(let n of await ye(e,t?.lane))n.record.family===`evm`&&(t?.excludeLeaseId&&n.record.leaseId===t.excludeLeaseId||de(n.record,S())&&(t?.chainNextNonce!=null&&n.nonce<t.chainNextNonce||r.add(n.nonce.toString())));return r},Te=async(e,t)=>{let r=new Set;for(let i of n.values()){if(t?.excludeLeaseId&&i.leaseId===t.excludeLeaseId||!$(i)||v(i.lane)!==e||!ue(i.state))continue;let n=BigInt(i.nonce);t?.chainNextNonce!=null&&n<t.chainNextNonce||r.add(n.toString())}for(let n of await ye(e,t?.lane))n.record.family===`near`&&(t?.excludeLeaseId&&n.record.leaseId===t.excludeLeaseId||de(n.record,S())&&(t?.chainNextNonce!=null&&n.nonce<t.chainNextNonce||r.add(n.nonce.toString())));return r},R=async(e,t,n=e.expiresAtMs)=>{let r=C;if(!r){w&&O(o.IndexedDBUnavailable,{lane:e.lane});return}Q(e)?await z(r,pt({lease:e,lifecycle:t,expiresAtMs:n,updatedAtMs:S(),runtimeId:T}),e.lane):$(e)?await z(r,mt({lease:e,lifecycle:t,expiresAtMs:n,updatedAtMs:S(),runtimeId:T}),e.lane):ft(e)},z=async(e,t,n)=>{try{await e.upsert(t)}catch{O(o.DurableStoreError,{lane:n})}},B=async e=>{if(C)try{await C.remove({laneKey:v(e.lane),leaseId:e.leaseId})}catch{O(o.DurableStoreError,{lane:e.lane})}},De=async(e,n)=>{let r=v(e);return await he({lane:e,state:n,nowMs:S(),fetchChainNonce:async e=>await t.evmNonceBackend.fetchChainNonce(h(e)),readActiveLeaseNonces:async e=>await I(r,e)})},V=async(e,t,n)=>await ge({state:t,lane:n,nowMs:S(),refreshTtlMs:ie,readActiveLeaseNonces:async t=>await I(e,t)}),ke=async e=>{await Z(e.lane);let t=v(e.lane),r=F(t);fe(e.lane,t),await V(t,r,e.lane)&&await De(e.lane,r);let i=Ce({state:r,nowMs:S(),staleInFlightThresholdMs:ae});if(i)throw we({lane:e.lane,blockedNonce:i.blockedNonce,ageMs:i.ageMs});let a=r.chainNonce??r.nextCandidate??0n,o=await I(t,{lane:e.lane});for(;o.has(a.toString())||r.inFlight.has(a.toString());)a+=1n;r.nextCandidate=a+1n;let s=S(),l={leaseId:p({operationId:e.operation.operationId,chain:e.lane.chainTarget.kind,nonce:a}),lane:e.lane,operationId:e.operation.operationId,operationFingerprint:e.operation.operationFingerprint,nonce:a,state:b.Reserved,reservedAtMs:s,expiresAtMs:s+ne};return n.set(l.leaseId,l),await R(l,{state:c.Reserved}),D({event:x.LeaseReserved,lease:l}),{...l}},Ae=async e=>{let t=v(e.lane);await _e({lease:e,state:r.get(t),removeCoordinationLease:B,readActiveLeaseNonces:async e=>await I(t,e)})},H=async(e,t)=>{await ve({lease:e,state:F(v(e.lane)),txHash:t,nowMs:S(),staleInFlightThresholdMs:ae,persistCoordinationLease:R})},je=async e=>{await be({lease:e,state:F(v(e.lane)),nowMs:S(),removeCoordinationLease:B})},Me=async(e,t)=>{await xe({lease:e,state:F(v(e.lane)),outcome:t,nowMs:S(),removeCoordinationLease:B})},U=async e=>{let t=v(e),n=F(t);return fe(e,t),await Se({lane:e,state:n,nowMs:S(),staleInFlightThresholdMs:ae,refreshFromChain:De})},Ne=e=>{let t=nt({alerts:l,lane:e.lane,reason:e.reason,nowMs:S(),threshold:oe,windowMs:se});t&&(D({event:x.LaneAlert,lane:e.lane,alert:t.alert}),console.warn(`[NonceCoordinator] repeated EVM-family dropped/replaced nonce outcomes`,t.warning))},W=Pe(),G=()=>{Ie(W)},Be=e=>{let n=e||t.nearClient;if(!n)throw Error(`[NonceCoordinator] NEAR client is not configured`);return n},K=e=>{Le({state:W,...e})},We=async(e,t)=>await ze({state:W,lane:e,countInput:t,readActiveLeaseNonces:Te}),Ge=e=>{Ve(W,e)},Ke=async(e,t=!1)=>await Je({state:W,nearClient:e,force:t,now:S,nonceFreshnessThresholdMs:5e3,blockFreshnessThresholdMs:ct}),qe=async e=>(K({walletId:e.lane.walletId,nearAccountId:e.lane.nearAccountId,publicKey:e.lane.publicKey}),{...await Ke(Be(e.nearClient),e.force===!0)}),q=async(e,t)=>{await Ye({state:W,nearClient:e,actualNonce:t,now:S})},J=async e=>{await Xe({state:W,nearClient:e,now:S})},Qe=async e=>{let t=v(e);return await Ue({lane:e,state:W,nearClient:Be(),now:S,activeLeases:Array.from(n.values()).filter(e=>e.lane.family===`near`&&v(e.lane)===t&&e.state===b.BroadcastAccepted),removeCoordinationLease:B,transitionLease:({lease:e,transition:t,reason:n,txHash:r})=>{N({lease:e,transition:t,event:t===`finalize`?x.LeaseFinalized:x.LeaseDropped,reason:n,...r?{txHash:r}:{}})}})},Y=async e=>{if(Q(e)){await Ae(e);return}Ge(String(e.nonce)),await B(e)},$e=async e=>{await Y(e),e.lane.family===`evm`&&(await U(e.lane),D({event:x.LaneReconciled,lane:e.lane}))},et=async(e,t)=>{let n=f.get(e)??Promise.resolve(),r,i=new Promise(e=>{r=e}),a=n.catch(()=>void 0).then(()=>i);f.set(e,a),await n.catch(()=>void 0);try{return await t()}finally{r(),f.get(e)===a&&f.delete(e)}},X=async(t,n)=>{let r=v(t),i=async()=>await et(r,n),a=`nonce-coordinator:${r}`;if(ce)return await ce.withLock(a,i);if(C?.withLock){let n=null,r=async()=>{try{return await i()}catch(e){throw n=e,e}};try{return await C.withLock({lockKey:a,ownerId:T,ttlMs:5e3,waitTimeoutMs:3e3},r)}catch(r){throw n===r||O((e(r)?String(r.code||``):``)===o.DurableLockTimeout?o.DurableLockTimeout:o.DurableStoreError,{lane:t,fallback:y.None}),r}}return w&&O(o.WebLocksUnavailable,{lane:t}),await i()},it=async(e,t)=>{if(e.expiresAtMs>t||e.state!==b.Reserved&&e.state!==b.Signed)return null;let n=e.state;return e.state===b.Signed?await $e(e):await Y(e),N({lease:e,transition:`expire`,event:x.LeaseExpired,reason:n===b.Signed?`signed_lease_ttl_elapsed`:`lease_ttl_elapsed`}),{...e}},Z=async e=>{let t=S(),r=v(e),i=[];for(let e of Array.from(n.values())){if(v(e.lane)!==r)continue;let n=await it(e,t);n&&i.push(n)}return i},ot=async e=>{let t=e?.walletId?String(e.walletId).trim():``,r=new Map;for(let e of Array.from(n.values()))t&&u(e.lane)!==t||r.set(v(e.lane),e.lane);let i=[];for(let e of r.values())i.push(...await X(e,async()=>Z(e)));return i},st=async e=>{if(!C){w&&O(o.IndexedDBUnavailable);return}let n=[];try{n=await C.readAllForRecovery(e)}catch{O(o.DurableStoreError);return}let r=new Map;for(let e of n){if(!e.ok){e.leaseId&&await C.remove({laneKey:e.laneKey,leaseId:e.leaseId}),O(e.degradation.reason,{accountId:e.degradation.accountId,networkKey:e.degradation.networkKey,laneFamily:e.degradation.laneFamily,fallback:e.degradation.fallback});continue}let{record:n,lane:i,canonicalLaneKey:a,nonce:s}=e.parsed;await X(i,async()=>{if(n.laneKey!==a){await C.remove({laneKey:n.laneKey,leaseId:n.leaseId}),O(o.MalformedDurableRecord,{accountId:u(i),networkKey:n.networkKey,laneFamily:n.family,fallback:y.None});return}let e=n.expiresAtMs<=S();if(e&&n.state!==c.BroadcastAccepted){await C.remove({laneKey:n.laneKey,leaseId:n.leaseId}),n.family===`evm`&&await U(i).catch(()=>null),D({event:x.LaneReconciled,lane:i,reason:`startup_recovery_expired_lease`});return}if(n.family===`evm`){let r=i,a=F(n.laneKey),o=null;if(n.state===c.BroadcastAccepted){let e=dt(n.txHash);if(a.inFlight.set(n.nonce.toString(),{nonce:s,txHash:e,status:`accepted`,acceptedAtMs:n.reservedAtMs,updatedAtMs:n.updatedAtMs}),o=await t.evmNonceBackend.fetchBroadcastTransactionStatus({...h(r),txHash:e}).catch(()=>null),o?.kind===`finalized`){a.inFlight.delete(n.nonce.toString()),await C.remove({laneKey:n.laneKey,leaseId:n.leaseId}),await U(r).catch(()=>null),D({event:x.LaneReconciled,lane:r,reason:`startup_recovery_finalized_transaction`,txHash:n.txHash});return}}let l=await U(r).catch(()=>null),u=!!l&&l.chainNextNonce>s,d=n.state===c.BroadcastAccepted&&o?.kind===`missing`&&e;(u||d)&&(a.inFlight.delete(n.nonce.toString()),await C.remove({laneKey:n.laneKey,leaseId:n.leaseId})),D({event:x.LaneReconciled,lane:r,reason:d?`startup_recovery_dropped_transaction`:`startup_recovery`,...d&&n.state===c.BroadcastAccepted?{txHash:n.txHash}:{}});return}if(n.family===`near`&&t.nearClient)try{let e=r.get(a);e||(e=await lt(t.nearClient,n),r.set(a,e)),e.kind===`observed`&&e.nonce>=s&&await C.remove({laneKey:n.laneKey,leaseId:n.leaseId})}catch{}})}},ut=async e=>{await Z(e.lane);let t=Math.max(1,Math.floor(Number(e.count||1))),r=await We(e.lane,t);if(r.length!==t)throw Error(`[NonceCoordinator] NEAR nonce reservation returned an incomplete batch`);let i=S(),a=g({operationId:e.operation.operationId,chain:`near`,firstNonce:r[0],count:t}),o=r.map((t,n)=>({leaseId:p({operationId:e.operation.operationId,chain:`near`,nonce:t}),lane:e.lane,operationId:e.operation.operationId,operationFingerprint:e.operation.operationFingerprint,nonce:t,state:b.Reserved,reservedAtMs:i,expiresAtMs:i+ne,batchId:a,txIndex:n}));for(let e of o)n.set(e.leaseId,e),await R(e,{state:c.Reserved}),D({event:x.LeaseReserved,lease:e});return o.map(e=>({...e}))},ht=e=>{let t=e?.accountId?String(e.accountId).trim():``,r=at({options:e,leases:n.values(),nearState:W,observedCoordinationDegradations:E.values(),outcomeMetricEvents:d,nowMs:S()});return e?.emitMetrics&&D({event:x.Metrics,metrics:r.metrics,...t?{accountId:t}:{}}),r};return{async reserve(e){if(e.lane.family===`near`){let t=e.lane;return await X(t,async()=>(await ut({lane:t,operation:e.operation,count:1}))[0])}let t=e.lane;return await X(t,async()=>await ke({lane:t,operation:e.operation}))},async reserveBatch(e){return await X(e.lane,async()=>await ut(e))},async reserveNearContext(e){return await X(e.lane,async()=>{K({walletId:e.lane.walletId,nearAccountId:e.lane.nearAccountId,publicKey:e.lane.publicKey});let t={...e.fetchContext?await e.fetchContext():await qe({lane:e.lane,nearClient:e.nearClient,force:e.force!==!1})};Re({state:W,walletId:e.lane.walletId,nearAccountId:e.lane.nearAccountId,publicKey:e.lane.publicKey,transactionContext:t,nowMs:S()});let n=await ut({lane:e.lane,operation:e.operation,count:e.count});return n[0]&&(t.nextNonce=String(n[0].nonce)),{context:t,leases:n}})},initializeNearAccessKey:K,getActiveNearPublicKey(){return Oe(W)},async fetchNearContext(e){return await X(e.lane,async()=>qe(e))},async prefetchNearContext(e){if(e?.kind===`access_key_subject`&&K({walletId:e.walletId,nearAccountId:e.nearAccountId,publicKey:e.publicKey}),!L(W))return;Fe(W);let t=Be(e?.nearClient);W.prefetchTimer=setTimeout(()=>{W.prefetchTimer=null,!Ee(W)&&Ze({state:W,nowMs:S(),blockFreshnessThresholdMs:ct})&&Ke(t).catch(()=>void 0)},400)},clearNearAccessKey(){G();for(let[e,t]of n.entries())t.lane.family===`near`&&n.delete(e)},async markSigned(e){let t=k(e);return await X(j(t).lane,async()=>{let n=j(t),r=S()+re;N({lease:n,transition:`mark_signed`,event:x.LeaseSigned,expiresAtMs:r,...e.signedTxHash?{txHash:e.signedTxHash}:{}}),await R(n,{state:c.Signed},r)})},async markBroadcastAccepted(e){let t=k(e);return await X(j(t).lane,async()=>{let n=j(t);P(n,`broadcast_accepted`),Q(n)?await H(n,String(e.txHash)):$(n)?await He({lease:n,state:W,txHash:String(e.txHash),nowMs:S(),persistCoordinationLease:R}):ft(n),N({lease:n,transition:`broadcast_accepted`,event:x.LeaseBroadcastAccepted,txHash:String(e.txHash)})})},async markBroadcastRejected(e){let n=k(e);return await X(j(n).lane,async()=>{let r=j(n);if(P(r,`broadcast_rejected`),await Y(r),$(r)&&t.nearClient)try{await J(t.nearClient)}catch{}N({lease:r,transition:`broadcast_rejected`,event:x.LeaseBroadcastRejected,reason:e.error instanceof Error?e.error.message:String(e.error||``)})})},async markFinalized(e){let n=k(e);return await X(j(n).lane,async()=>{let r=j(n);P(r,`finalize`),Q(r)?await je(r):$(r)?(t.nearClient?await q(t.nearClient,String(r.nonce)):await Y(r),await B(r)):ft(r),N({lease:r,transition:`finalize`,event:x.LeaseFinalized,...e.txHash?{txHash:String(e.txHash)}:{}})})},async markDroppedOrReplaced(e){let t=k(e),n=j(t);return _(n),await X(n.lane,async()=>{let n=j(t);_(n),P(n,e.reason===m.Replaced?`replace`:`drop`),await Me(n,{reason:e.reason,...e.txHash?{txHash:String(e.txHash)}:{}}),N({lease:n,transition:e.reason===m.Replaced?`replace`:`drop`,event:e.reason===m.Replaced?x.LeaseReplaced:x.LeaseDropped,reason:e.reason,...e.txHash?{txHash:String(e.txHash)}:{}}),Ne({lane:n.lane,reason:e.reason})})},async release(e){let t=k(e);return await X(j(t).lane,async()=>{let n=j(t);P(n,`release`),await Y(n),N({lease:n,transition:`release`,event:x.LeaseReleased,reason:e.reason})})},async expireLeases(e){return await ot(e)},async recoverDurableLeases(e){await st(e)},async reconcile(e){return await X(e.lane,async()=>{let t=e.lane.family===`evm`?await U(e.lane):await Qe(e.lane);return D({event:x.LaneReconciled,lane:e.lane}),t})},clearForWallet(e){let t=String(e||``).trim();if(!t)return;C?.clearForWallet(t).catch(()=>O(o.DurableStoreError));let a=i.get(t);if(a){for(let e of a)r.delete(e);i.delete(t)}L(W)?.walletId===t&&G();for(let[e,r]of n.entries())u(r.lane)===t&&n.delete(e);D({event:x.LanesCleared,accountId:t,reason:`clear_for_account`})},clearAll(){r.clear(),i.clear(),l.clear(),C?.clearAll().catch(()=>O(o.DurableStoreError)),G(),n.clear(),f.clear(),D({event:x.LanesCleared,reason:`clear_all`})},getDiagnostics(e){return ht(e)}}}function dt(e){let t=e.trim().toLowerCase();if(!/^0x[0-9a-f]{64}$/.test(t))throw Error(`[NonceCoordinator] recovered EVM broadcast record has invalid txHash`);return t}function Q(e){return e.lane.family===`evm`}function $(e){return e.lane.family===`near`}function ft(e){throw Error(`Unexpected nonce lease variant: ${String(e)}`)}function pt(e){let t=e.lease,n={v:1,laneKey:v(t.lane),leaseId:t.leaseId,networkKey:l(t.lane),nonce:t.nonce,operationId:String(t.operationId),operationFingerprint:String(t.operationFingerprint),reservedAtMs:t.reservedAtMs,expiresAtMs:e.expiresAtMs,updatedAtMs:e.updatedAtMs,runtimeId:e.runtimeId,family:`evm`,chainTarget:t.lane.chainTarget,accountId:t.lane.subjectId,sender:t.lane.sender,...t.lane.nonceKey==null?{}:{nonceKey:t.lane.nonceKey},...ht(t)};switch(e.lifecycle.state){case c.Reserved:case c.Signed:return{...n,state:e.lifecycle.state};case c.BroadcastAccepted:return{...n,state:c.BroadcastAccepted,txHash:dt(e.lifecycle.txHash)}}}function mt(e){let t=e.lease,n={v:1,laneKey:v(t.lane),leaseId:t.leaseId,networkKey:l(t.lane),nonce:BigInt(t.nonce),operationId:String(t.operationId),operationFingerprint:String(t.operationFingerprint),reservedAtMs:t.reservedAtMs,expiresAtMs:e.expiresAtMs,updatedAtMs:e.updatedAtMs,runtimeId:e.runtimeId,family:`near`,walletId:t.lane.walletId,nearAccountId:t.lane.nearAccountId,publicKey:t.lane.publicKey,...ht(t)};switch(e.lifecycle.state){case c.Reserved:case c.Signed:return{...n,state:e.lifecycle.state};case c.BroadcastAccepted:return{...n,state:c.BroadcastAccepted,txHash:e.lifecycle.txHash}}}function ht(e){return{...e.batchId?{batchId:e.batchId}:{},...Number.isSafeInteger(e.txIndex)?{txIndex:e.txIndex}:{}}}function gt(){let e=globalThis.navigator?.locks;return typeof e?.request==`function`?{async withLock(t,n){return await e.request(t,{mode:`exclusive`},n)}}:null}export{st as n,ut as t};
@@ -1 +0,0 @@
1
- import{V as e}from"./domainIds-t1lp25yU.js";import{d as t}from"./chains-gV2K9gA4.js";import{i as n,r}from"./base64-BmKR3UqU.js";import{i,n as a,r as o}from"./signerDomain-D-EUTlLK.js";import{c as s,o as c}from"./ecdsaChainTarget-DbLthshF.js";import{s as l,t as u}from"./normalization-BN-2VWZf.js";import{a as d,i as f,t as p}from"./keyMaterialEnvelope-B-Q5KTJC.js";import{d as m,n as h,t as g}from"./accountIds-D5NI31F2.js";import{i as _,t as v}from"./signerSlot-D4ZOuK7e.js";import{t as y}from"./registrationSignerPlan-CgbFVsAp.js";import{a as b,i as x,n as ee,o as S,r as C,t as te}from"./profileAccountProjection-D01e10UY.js";function ne(e){return e===a.emailOtp?a.emailOtp:e===a.passkey?a.passkey:null}function re(t){if(t.authMethod===a.emailOtp){let n=e(t.metadata.email||``);if(n)return n}return t.walletId}async function w(t,n,r){let i=g(n),a=u(i);if(!a)return null;let o=await C(t,{accountRefs:b(i).map(e=>({chainIdKey:e,accountAddress:a})),signerSlot:r});if(!o)return null;let s=o.selectedSigner.metadata||{},c=typeof s.passkeyCredentialRawId==`string`?s.passkeyCredentialRawId:o.selectedSigner.signerId,l=typeof s.passkeyCredentialId==`string`?s.passkeyCredentialId:o.profile.passkeyCredential?.id||c,d=typeof s.operationalPublicKey==`string`?s.operationalPublicKey:``,f=e(s.nearEd25519SigningKeyId||``);if(!f)return null;let p=e(s.walletId||``);if(!p)return null;let m=ne(o.selectedSigner.signerAuthMethod);return{walletId:p,nearAccountId:i,loginDisplayName:re({walletId:p,authMethod:m,metadata:s}),signerSlot:o.selectedSigner.signerSlot,version:2,registeredAt:o.profile.createdAt,lastLogin:o.profile.updatedAt,lastUpdated:o.profile.updatedAt,operationalPublicKey:d,nearEd25519SigningKeyId:f,passkeyCredential:{id:l,rawId:c},authMethod:m,preferences:o.profile.preferences}}async function ie(e){let t=await te(e,{chainIdKeys:[`near:testnet`,`near:mainnet`]});if(!t?.chainAccount?.accountAddress)return null;let n;try{n=g(t.chainAccount.accountAddress)}catch{return null}return{nearAccountId:n,profileId:t.profileId,signerSlot:t.signerSlot}}async function ae(e){let t=await ie(e).catch(()=>null);return t?w(e,t.nearAccountId,t.signerSlot):null}async function oe(t){let[n,r]=await Promise.all([t.listChainAccountsByChain(`near:testnet`),t.listChainAccountsByChain(`near:mainnet`)]),i=new Set;for(let t of[...n,...r]){let n=e(t.accountAddress||``);if(n)try{i.add(g(n))}catch{}}let a=[],s=new Set;for(let e of i){let n=await C(t,{accountRefs:b(e).map(t=>({chainIdKey:t,accountAddress:u(e)}))}).catch(()=>null);if(!n)continue;let r=n.activeSigners.filter(e=>e.signerKind===o.thresholdEd25519&&ne(e.signerAuthMethod)).slice().sort((e,t)=>e.signerSlot-t.signerSlot);for(let n of r){let r=Number(n.signerSlot);if(!Number.isSafeInteger(r)||r<1)continue;let i=`${String(e)}:${r}`;if(s.has(i))continue;s.add(i);let o=await w(t,e,r).catch(()=>null);o&&a.push(o)}}return a}const T=`wallet_custody_ed25519_active_client_v1`,E=`chacha20poly1305-hkdf-sha256-wallet-custody-seed-v1`;function D(e){for(let[t,n]of[[`walletId`,e.walletId],[`nearAccountId`,e.nearAccountId],[`nearEd25519SigningKeyId`,e.nearEd25519SigningKeyId],[`signingWorkerId`,e.signingWorkerId],[`applicationBindingDigestB64u`,e.applicationBindingDigestB64u],[`signingWorkerVerifyingShareB64u`,e.signingWorkerVerifyingShareB64u],[`stateEpoch`,e.stateEpoch]])if(!String(n||``).trim())throw Error(`Wallet custody Ed25519 material binding requires ${t}`);if(e.participantIds.length!==2)throw Error(`Wallet custody Ed25519 material binding requires exactly two participants`)}function O(e){let{binding:t,sealed:n,target:i}=e;D(t);let a=r(t.registeredPublicKeyB64u);if(a.length!==32)throw Error(`Wallet custody Ed25519 material requires a 32-byte registered public key`);if(!n.ciphertextB64u||!n.nonceB64u)throw Error(`Wallet custody Ed25519 material requires its sealed ciphertext and nonce`);return{profileId:i.profileId,signerSlot:t.signerSlot,chainIdKey:i.chainIdKey,accountAddress:i.accountAddress,keyKind:T,algorithm:`ed25519`,publicKey:`ed25519:${m(a)}`,signerId:t.nearEd25519SigningKeyId,payload:{binding:t},payloadEnvelope:{encVersion:1,alg:E,nonce:n.nonceB64u,ciphertext:n.ciphertextB64u,aad:p({profileId:i.profileId,signerSlot:t.signerSlot,chainIdKey:i.chainIdKey,accountAddress:i.accountAddress,keyKind:T,schemaVersion:1,signerId:t.nearEd25519SigningKeyId})},timestamp:Date.now(),schemaVersion:1}}const k=`threshold-ecdsa`,A={signerAuthMethod:a.passkey,signerSource:i.passkeyRegistration},j={signerAuthMethod:a.emailOtp,signerSource:i.emailOtpRegistration};function M(e,t){let n=String(e||``).trim();if(!n)throw Error(`SeamsWalletDB: ${t} is required`);let i=r(n);if(i.length===0)throw Error(`SeamsWalletDB: ${t} decoded to empty credential public key`);return i}async function N(e,t){let n=g(t),r=await ee(e.accountStore,x(n)).catch(()=>null);if(!r?.profileId)return null;let i=d(r.profileId);return i.ok?{profileId:i.value}:null}async function se(e,t){let n=g(t.nearAccountId),r=Number(t.signerSlot);if(!Number.isSafeInteger(r)||r<1)throw Error(`SeamsWalletDB: storeUserData requires an exact signerSlot`);let c=r,l=s(t.walletId),d=f(n),p=S(n,t.preferences?.useNetwork),m=u(n),h=String(t.passkeyCredential?.rawId||``).trim()||`signer-${c}`;await e.accountStore.upsertProfile({profileId:d,defaultSignerSlot:c,passkeyCredential:t.passkeyCredential,...t.preferences?{preferences:t.preferences}:{}});let _=await e.accountStore.getAccountSigner({chainIdKey:p,accountAddress:m,signerId:h}).catch(()=>null),v=await e.accountStore.activateAccountSigner({account:{profileId:d,chainIdKey:p,accountAddress:m,accountModel:`near-native`},signer:{signerId:h,signerType:`threshold`,signerKind:o.thresholdEd25519,signerAuthMethod:a.passkey,signerSource:i.passkeyRegistration,metadata:{..._?.metadata||{},walletId:String(l),nearAccountId:String(n),nearEd25519SigningKeyId:t.nearEd25519SigningKeyId,operationalPublicKey:t.operationalPublicKey,passkeyCredentialId:t.passkeyCredential?.id,passkeyCredentialRawId:t.passkeyCredential?.rawId}},activationPolicy:{mode:`allocate_next_free`},preferredSlot:c,mutation:{routeThroughOutbox:!1}});v.signerSlot!==c&&await e.accountStore.upsertProfile({profileId:d,defaultSignerSlot:v.signerSlot,passkeyCredential:t.passkeyCredential,...t.preferences?{preferences:t.preferences}:{}}),await e.accountStore.setLastProfileStateForProfile(d,v.signerSlot)}function ce(e){return oe(e.accountStore)}function le(e,t,n){return w(e.accountStore,t,n)}function ue(e){return ae(e.accountStore)}function de(e,t,n){return{nearAccountId:t,signerSlot:n??e.signerSlot,credentialId:e.credentialId,credentialPublicKey:e.credentialPublicKey,transports:e.transports,name:e.name,registered:e.registered,syncedAt:e.syncedAt}}function fe(e){if(e.signerAuthMethod!==a.passkey)return null;let t=String(e.metadata?.walletId||``).trim(),n=String(e.metadata?.passkeyCredentialRawId||``).trim();return!t||!n?null:{walletId:t,credentialId:n,signerSlot:e.signerSlot}}async function pe(e,t){let n=(await e.accountStore.listAccountSigners({chainIdKey:t.chainIdKey,accountAddress:t.accountAddress,status:`active`})).map(fe).filter(e=>e!==null),r=new Map;for(let e of n){let t=r.get(e.walletId);t?t.push(e):r.set(e.walletId,[e])}let i=[];for(let[n,a]of r.entries()){let r=await e.accountStore.listProfileAuthenticators(n);for(let e of a){let n=r.find(t=>t.credentialId===e.credentialId);n&&i.push(de(n,t.nearAccountId,e.signerSlot))}}return i}async function P(e,t){let n=g(t),r=await ee(e.accountStore,x(n)).catch(()=>null);return r?.accountRef?await pe(e,{nearAccountId:n,chainIdKey:r.accountRef.chainIdKey,accountAddress:r.accountRef.accountAddress}):[]}async function me(e,t,n){let r=Number(n);if(!Number.isSafeInteger(r)||r<1)throw Error(`SeamsWalletDB: signerSlot must be an integer >= 1`);let i=String(t||``).trim();if(!i)throw Error(`SeamsWalletDB: selected wallet id is required`);let a=await e.accountStore.getProfile(i).catch(()=>null);if(!a?.profileId)throw Error(`SeamsWalletDB: Missing profile for wallet ${i}`);await e.accountStore.setLastProfileStateForProfile(a.profileId,r)}function he(e){try{return s(e)}catch{return null}}function ge(e){if(typeof e!=`string`)return null;try{return g(e)}catch{return null}}function _e(e){if(typeof e!=`string`||!e.trim())return null;try{return _(e)}catch{return null}}async function ve(e,t){let n=null;try{n=await C(e.accountStore,{accountRefs:x(t.nearAccountId),signerSlot:t.signerSlot})}catch{n=null}if(!n)throw Error(`Authenticated wallet activation requires an exact NEAR signer projection`);let r=d(n.context.profileId);if(!r.ok)throw Error(r.message);let i=n.selectedSigner,a=i.metadata||{},s=he(a.walletId),c=ge(a.nearAccountId),l=_e(a.nearEd25519SigningKeyId),u=typeof a.operationalPublicKey==`string`?a.operationalPublicKey.trim():``;if(i.signerKind!==o.thresholdEd25519||i.signerSlot!==t.signerSlot||s!==t.walletId||c!==t.nearAccountId||!l||!u)throw Error(`Authenticated wallet activation requires an exact wallet signer binding`);return{kind:`authenticated_near_ed25519_wallet_profile_binding`,walletId:s,nearProjectionProfileId:r.value,nearAccountId:c,nearEd25519SigningKeyId:l,signerSlot:i.signerSlot,operationalPublicKey:u}}async function ye(e,t){return(await e.accountStore.getProfile(String(t)))?.nearProvisioning??null}async function be(e,t){let n=String(t.walletId||``).trim();if(!n)throw Error(`SeamsWalletDB: walletId is required`);let r=Date.now(),i=t.status===`near_ready`?{status:`near_ready`,updatedAtMs:r,nearAccountId:t.nearAccountId}:t.status===`near_failed_retryable`?{status:`near_failed_retryable`,updatedAtMs:r,error:t.errorCode,errorCode:t.errorCode}:{status:t.status,updatedAtMs:r};await e.accountStore.upsertProfile({profileId:n,nearProvisioning:i})}async function xe(e,t){let n=g(t.nearAccountId),r=s(t.walletId),i=v(t.signerSlot);if(!i)throw Error(`Authenticated wallet activation requires an exact signerSlot`);let a=await ve(e,{walletId:r,nearAccountId:n,signerSlot:i});await e.accountStore.setLastProfileStateForProfile(a.nearProjectionProfileId,a.signerSlot),e.userPreferencesManager.setCurrentWallet(a.walletId),await e.userPreferencesManager.reloadUserSettings().catch(()=>void 0),e.nonceCoordinator.initializeNearAccessKey({walletId:a.walletId,nearAccountId:a.nearAccountId,publicKey:a.operationalPublicKey}),t.nearClient&&e.nonceCoordinator.prefetchNearContext({kind:`initialized_state`,nearClient:t.nearClient}).catch(e=>console.debug(`Nonce prefetch after authentication state initialization failed (non-fatal):`,e))}async function Se(e,t){let n=Number(t.signerSlot);if(!Number.isSafeInteger(n)||n<1)throw Error(`SeamsWalletDB: authenticator signerSlot must be an integer >= 1`);let r={...t,nearAccountId:g(t.nearAccountId),signerSlot:n},i=await N(e,r.nearAccountId);if(!i?.profileId)throw Error(`SeamsWalletDB: Missing profile/account mapping for NEAR account ${r.nearAccountId}`);await e.accountStore.upsertProfileAuthenticator({profileId:i.profileId,signerSlot:r.signerSlot,credentialId:r.credentialId,credentialPublicKey:r.credentialPublicKey,transports:r.transports,name:r.name,registered:r.registered,syncedAt:r.syncedAt})}function Ce(e){let t=String(e).trim();return h(t)||t.split(`.`)[0]||``}function F(e){let t=Date.now();return{version:`wallet_auth_method_v1`,kind:`passkey`,status:`active`,localStatus:`synced`,walletId:e.walletId,rpId:e.rpId,credentialIdB64u:e.credentialId,credentialPublicKeyB64u:n(e.credentialPublicKey),counter:0,createdAtMs:t,updatedAtMs:t}}async function I(e){let n=String(e.walletId||``).trim(),r=String(e.email||``).trim().toLowerCase(),i=String(e.registrationAuthorityId||``).trim();if(!n||!r||!i)throw Error(`SeamsWalletDB: Email OTP auth method requires walletId, email, and registrationAuthorityId`);let a=await t(r);if(String(e.authority.walletId)!==n||e.authority.verifier.emailHashHex!==a)throw Error(`SeamsWalletDB: Email OTP auth method authority does not match wallet or email`);let o=Date.now();return{version:`wallet_auth_method_v1`,kind:`email_otp`,status:`active`,localStatus:`synced`,walletId:e.walletId,emailHashHex:a,registrationAuthorityId:i,authority:e.authority,createdAtMs:o,updatedAtMs:o}}async function we(e,t){let n=g(t),r=await N(e,n);r?.profileId&&await e.accountStore.deleteProfileData(r.profileId,{eventAccountId:n})}async function Te(e,t){return(await P(e,g(t))).length>0}function Ee(e){let t=e.activation.signer.metadata||{},n=e.activation.signer.signerKind,r=n===o.thresholdEcdsa?X(t.thresholdEcdsaPublicKeyB64u,`ECDSA key material publicKey`):X(t.operationalPublicKey,`Ed25519 key material publicKey`),i={profileId:X(e.activation.account.profileId,`profileId`),signerSlot:e.signerSlot,chainIdKey:X(e.activation.account.chainIdKey,`chainIdKey`),accountAddress:X(e.activation.account.accountAddress,`accountAddress`),signerId:X(e.activation.signer.signerId,`signerId`),keyKind:`threshold_share_v1`,algorithm:n===o.thresholdEcdsa?`secp256k1`:`ed25519`,publicKey:r,timestamp:e.timestamp,schemaVersion:1};return n===o.thresholdEd25519&&(i.payload={walletId:X(t.walletId,`walletId`),nearAccountId:X(t.nearAccountId,`nearAccountId`),nearEd25519SigningKeyId:X(t.nearEd25519SigningKeyId,`nearEd25519SigningKeyId`),relayerKeyId:X(t.relayerKeyId,`relayerKeyId`),keyVersion:X(t.keyVersion,`keyVersion`)}),i}function De(e){switch(e.mode.kind){case`fresh_registration`:return{mode:`fail_if_occupied`,signerSlot:e.signerSlot};case`wallet_recovery_replacement`:return{mode:`replace_slot`,signerSlot:e.signerSlot,replacedSignerKind:o.thresholdEd25519,revocationReason:`wallet_recovery_replacement`}}}function Oe(e){switch(e.mode.kind){case`fresh_registration`:return{mode:`allocate_next_free`};case`wallet_recovery_replacement`:return{mode:`replace_profile_chain_kind`,signerSlot:e.signerSlot,replacedSignerKind:o.thresholdEcdsa,revocationReason:`wallet_recovery_replacement`}}}function L(e){let t=Number(e.signerSlot);if(!Number.isSafeInteger(t)||t<1)throw Error(`SeamsWalletDB: wallet signerSlot must be an integer >= 1`);let n=String(e.walletId||``).trim();if(!n)throw Error(`SeamsWalletDB: walletId is required`);let r=g(e.nearAccountId),i=String(e.nearEd25519SigningKeyId||``).trim();if(!i)throw Error(`SeamsWalletDB: nearEd25519SigningKeyId is required`);return{signerSlot:t,walletId:n,nearAccountId:r,nearEd25519SigningKeyId:i}}function R(e,t,n){return{walletId:e.walletId,nearAccountId:String(e.nearAccountId),nearEd25519SigningKeyId:e.nearEd25519SigningKeyId,operationalPublicKey:t.operationalPublicKey,relayerKeyId:t.relayerKeyId,keyVersion:t.keyVersion,...n,...t.participantIds?{participantIds:t.participantIds}:{},...t.clientParticipantId==null?{}:{clientParticipantId:t.clientParticipantId},...t.relayerParticipantId==null?{}:{relayerParticipantId:t.relayerParticipantId}}}function z(e){let t=X(e.operationalPublicKey,`Ed25519 signerId`),{signerSlot:n,walletId:r,nearAccountId:i}=e.identity,a=r=>({input:{account:r,signer:{signerId:t,signerType:`threshold`,signerKind:o.thresholdEd25519,signerAuthMethod:e.source.signerAuthMethod,signerSource:e.source.signerSource,metadata:e.metadata},activationPolicy:e.activationPolicy,preferredSlot:n,mutation:{routeThroughOutbox:!1}},signerSlot:n});return[a({profileId:r,chainIdKey:`wallet`,accountAddress:r,accountModel:`wallet`}),a({profileId:e.nearProfileId,chainIdKey:S(i),accountAddress:u(i),accountModel:`near-native`})]}function B(e){let t=e.map(e=>e.input),n=Date.now();return{signerActivations:t,keyMaterials:e.map(e=>Ee({activation:e.input,signerSlot:e.signerSlot,timestamp:n}))}}function V(e,t,n,r){return t.kind===`near_ed25519_and_evm_family_ecdsa`?Q({walletId:e,walletKeys:t.walletKeys},n,r).signerActivations:[]}function H(e,t){return{chainTarget:e.chainTarget,targetKey:e.targetKey,signerSlot:t.signerSlot,signerId:e.signerId}}function ke(e,t,n){let r=String(e.credential.rawId||``).trim();if(!r)throw Error(`SeamsWalletDB: registration credential rawId is required`);let i=e.participantIds===void 0?void 0:Z(e.participantIds);return U({walletId:e.walletId,nearAccountId:e.nearAccountId,nearEd25519SigningKeyId:e.nearEd25519SigningKeyId,rpId:e.rpId,signerSlot:e.signerSlot,operationalPublicKey:e.operationalPublicKey,relayerKeyId:e.relayerKeyId,keyVersion:e.keyVersion,participantIds:i,clientParticipantId:e.clientParticipantId,relayerParticipantId:e.relayerParticipantId,credentialFacts:{credentialId:r,credentialDisplayId:e.credential.id,credentialPublicKey:M(e.credentialPublicKeyB64u,`credentialPublicKeyB64u`),transports:e.credential.response?.transports??[]}},t,n)}function U(e,t,n){let r=e.credentialFacts.credentialId,i=L(e),{signerSlot:a,walletId:o,nearAccountId:s}=i,c={id:e.credentialFacts.credentialDisplayId,rawId:r},l=new Date().toISOString(),u=f(s),{signerActivations:d,keyMaterials:p}=B([...z({identity:i,nearProfileId:u,operationalPublicKey:e.operationalPublicKey,source:A,metadata:R(i,e,{passkeyCredentialId:e.credentialFacts.credentialDisplayId,passkeyCredentialRawId:r}),activationPolicy:De({mode:t,signerSlot:a})}),...V(e.walletId,n,A,t)]);return{profiles:[o,u].map(e=>({profileId:e,defaultSignerSlot:a,passkeyCredential:c})),initialAuthMethod:F({walletId:e.walletId,rpId:e.rpId,credentialId:r,credentialPublicKey:e.credentialFacts.credentialPublicKey}),authenticators:[o,u].map(t=>({profileId:t,signerSlot:a,credentialId:r,credentialPublicKey:e.credentialFacts.credentialPublicKey,transports:[...e.credentialFacts.transports],name:`Passkey for ${Ce(s)}`,registered:l,syncedAt:l})),signerActivations:d,keyMaterials:p,lastProfileState:{profileId:o,activeSignerSlot:a}}}function Ae(e,t){let n=e.signerActivations[1];if(!n)throw Error(`SeamsWalletDB: wallet Ed25519 registration batch did not complete`);let r=[];for(let n=0;n<t.length;n+=1){let i=t[n],a=e.signerActivations[n+2];if(!i||!a)throw Error(`SeamsWalletDB: mixed wallet ECDSA registration batch did not complete`);r.push(H(i,a))}return{signerSlot:n.signerSlot,storedSigners:r}}function je(e){return W(ke(e,{kind:`fresh_registration`},{kind:`near_ed25519_only`}),e,e.participantIds,[e.custodyMaterial])}function Me(e){let t=String(e.credentialIdB64u||``).trim();if(!t)throw Error(`SeamsWalletDB: registration credential projection id is required`);return W(U({walletId:e.walletId,nearAccountId:e.nearAccountId,nearEd25519SigningKeyId:e.nearEd25519SigningKeyId,rpId:e.rpId,signerSlot:e.signerSlot,operationalPublicKey:e.operationalPublicKey,relayerKeyId:e.relayerKeyId,keyVersion:e.keyVersion,participantIds:e.participantIds,credentialFacts:{credentialId:t,credentialDisplayId:t,credentialPublicKey:M(e.credentialPublicKeyB64u,`credentialPublicKeyB64u`),transports:[...e.transports]}},{kind:`fresh_registration`},{kind:`near_ed25519_only`}),e,e.participantIds,[e.custodyMaterial])}function W(e,t,n,r){let i=g(t.nearAccountId),a=r.map(e=>{let r=e.binding;if(r.walletId!==String(t.walletId)||r.nearAccountId!==String(i)||r.nearEd25519SigningKeyId!==String(t.nearEd25519SigningKeyId)||r.signerSlot!==Number(t.signerSlot)||r.participantIds[0]!==n[0]||r.participantIds[1]!==n[1])throw Error(`Wallet custody Ed25519 material does not match registration identity`);return O({target:{profileId:String(f(i)),chainIdKey:S(i),accountAddress:u(i)},binding:r,sealed:e.sealed})}),o=e.lastProfileState;if(!o)throw Error(`Wallet Ed25519 registration publication requires last profile state`);return{profiles:e.profiles,initialAuthMethod:e.initialAuthMethod,authenticators:e.authenticators,signerActivations:e.signerActivations,keyMaterials:[...e.keyMaterials,...a],lastProfileState:{profileId:o.profileId,activeSignerSlot:o.activeSignerSlot,scope:o.scope??null}}}function G(e){let t=e[0];if(!t)throw Error(`SeamsWalletDB: threshold ECDSA walletKeys are required`);return[t,...e.slice(1)]}function Ne(e){switch(e){case`email_otp`:return j;case`passkey`:return A;default:return Pe(e)}}function Pe(e){throw Error(`Unsupported wallet ECDSA registration kind: ${String(e)}`)}async function K(e,t){let{signerActivations:n,keyMaterials:r}=B(Q({walletId:e.walletId,walletKeys:e.walletKeys},Ne(e.kind),t).signerActivations);switch(e.kind){case`passkey`:{let t=X(e.credentialIdB64u,`credentialIdB64u`),i=M(e.credentialPublicKeyB64u,`credentialPublicKeyB64u`),a=new Date().toISOString();return{profiles:[{profileId:e.walletId,defaultSignerSlot:1,passkeyCredential:{id:t,rawId:t}}],initialAuthMethod:F({walletId:e.walletId,rpId:e.rpId,credentialId:t,credentialPublicKey:i}),authenticators:[{profileId:e.walletId,signerSlot:1,credentialId:t,credentialPublicKey:i,transports:[...e.transports],name:`Passkey for wallet`,registered:a,syncedAt:a}],signerActivations:n,keyMaterials:r,lastProfileState:{profileId:e.walletId,activeSignerSlot:1,scope:null}}}case`email_otp`:return{profiles:[{profileId:e.walletId,defaultSignerSlot:1}],initialAuthMethod:await I({walletId:e.walletId,email:e.email,registrationAuthorityId:e.registrationAuthorityId,authority:e.authority}),authenticators:[],signerActivations:n,keyMaterials:r,lastProfileState:{profileId:e.walletId,activeSignerSlot:1,scope:null}}}}function q(e){return K(e,{kind:`fresh_registration`})}async function Fe(e){let t=X(e.credentialIdB64u,`credentialIdB64u`);return e.kind===`near_ed25519`?W(U({walletId:e.walletId,nearAccountId:e.nearAccountId,nearEd25519SigningKeyId:e.nearEd25519SigningKeyId,rpId:e.rpId,signerSlot:e.signerSlot,operationalPublicKey:e.operationalPublicKey,relayerKeyId:e.relayerKeyId,keyVersion:y,participantIds:Z(e.participantIds),credentialFacts:{credentialId:t,credentialDisplayId:t,credentialPublicKey:M(e.credentialPublicKeyB64u,`credentialPublicKeyB64u`),transports:e.transports}},{kind:`wallet_recovery_replacement`},e.walletKeys.length>0?{kind:`near_ed25519_and_evm_family_ecdsa`,walletKeys:e.walletKeys}:{kind:`near_ed25519_only`}),e,Z(e.participantIds),e.custodyMaterials):await K({kind:`passkey`,walletId:e.walletId,rpId:e.rpId,credentialIdB64u:t,credentialPublicKeyB64u:e.credentialPublicKeyB64u,transports:e.transports,walletKeys:G(e.walletKeys)},{kind:`wallet_recovery_replacement`})}async function Ie(e){return e.kind===`near_ed25519`?W(await Y({walletId:e.walletId,nearAccountId:e.nearAccountId,nearEd25519SigningKeyId:e.nearEd25519SigningKeyId,email:e.email,registrationAuthorityId:e.registrationAuthorityId,authority:e.authority,signerSlot:e.signerSlot,operationalPublicKey:e.operationalPublicKey,relayerKeyId:e.relayerKeyId,keyVersion:y,participantIds:Z(e.participantIds)},e.walletKeys.length>0?{kind:`near_ed25519_and_evm_family_ecdsa`,walletKeys:e.walletKeys}:{kind:`near_ed25519_only`},{kind:`wallet_recovery_replacement`}),e,Z(e.participantIds),e.custodyMaterials):await K({kind:`email_otp`,walletId:e.walletId,email:e.email,registrationAuthorityId:e.registrationAuthorityId,authority:e.authority,walletKeys:G(e.walletKeys)},{kind:`wallet_recovery_replacement`})}async function J(e,t,n,r){let i=ke(t,n,r);return Ae(await e.accountStore.persistWalletRegistrationFinalize(i),V(t.walletId,r,A))}async function Le(e,t){return{signerSlot:(await J(e,t,{kind:`fresh_registration`},{kind:`near_ed25519_only`})).signerSlot}}async function Re(e,t){return await J(e,t,{kind:`fresh_registration`},{kind:`near_ed25519_and_evm_family_ecdsa`,walletKeys:t.walletKeys})}async function ze(e,t){return{signerSlot:(await J(e,t,{kind:`wallet_recovery_replacement`},{kind:`near_ed25519_only`})).signerSlot}}async function Y(e,t,n={kind:`fresh_registration`}){let r=L(e),{signerSlot:i,walletId:a,nearAccountId:o}=r,s=f(o),{signerActivations:c,keyMaterials:l}=B([...z({identity:r,nearProfileId:s,operationalPublicKey:e.operationalPublicKey,source:j,metadata:R(r,e,{email:String(e.email||``).trim().toLowerCase(),registrationAuthorityId:String(e.registrationAuthorityId||``).trim()}),activationPolicy:De({mode:n,signerSlot:i})}),...V(e.walletId,t,j,n)]);return{profiles:[a,s].map(e=>({profileId:e,defaultSignerSlot:i})),initialAuthMethod:await I({walletId:e.walletId,email:e.email,registrationAuthorityId:e.registrationAuthorityId,authority:e.authority}),authenticators:[],signerActivations:c,keyMaterials:l,lastProfileState:{profileId:a,activeSignerSlot:i}}}async function Be(e,t,n){let r=await Y(t,n),i=await e.accountStore.persistWalletRegistrationFinalize(r),a=V(t.walletId,n,j),o=i.signerActivations[1];if(!o)throw Error(`SeamsWalletDB: wallet Email OTP Ed25519 registration batch did not complete`);let s=[];for(let e=0;e<a.length;e+=1){let t=a[e],n=i.signerActivations[e+2];if(!t||!n)throw Error(`SeamsWalletDB: mixed wallet Email OTP ECDSA registration batch did not complete`);s.push(H(t,n))}return{signerSlot:o.signerSlot,storedSigners:s}}async function Ve(e){return W(await Y(e,{kind:`near_ed25519_only`}),e,e.participantIds,[e.custodyMaterial])}async function He(e,t){return{signerSlot:(await Be(e,t,{kind:`near_ed25519_only`})).signerSlot}}async function Ue(e,t){return Be(e,t,{kind:`near_ed25519_and_evm_family_ecdsa`,walletKeys:t.walletKeys})}async function We(e,t){let n=String(t.auth.credential.rawId||t.auth.credential.id||``).trim();if(!n)throw Error(`SeamsWalletDB: add-signer credential id is required`);let r=L(t),{signerSlot:i,walletId:a,nearAccountId:o}=r,s={id:t.auth.credential.id,rawId:n},c=f(o),{signerActivations:l,keyMaterials:u}=B(z({identity:r,nearProfileId:c,operationalPublicKey:t.operationalPublicKey,source:A,metadata:R(r,t,{passkeyCredentialId:t.auth.credential.id,passkeyCredentialRawId:n}),activationPolicy:{mode:`fail_if_occupied`,signerSlot:i}})),d=await e.accountStore.persistWalletSignerFinalize({profiles:[a,c].map(e=>({profileId:e,defaultSignerSlot:i,passkeyCredential:s})),signerActivations:l,keyMaterials:u,lastProfileState:{profileId:a,activeSignerSlot:i}}),p=d.signerActivations[1];if(!p)throw Error(`SeamsWalletDB: wallet Ed25519 signer batch did not complete`);return{signerSlot:p.signerSlot,rollbackReceipt:d.rollbackReceipt}}async function Ge(e,t){await e.accountStore.rollbackWalletSignerFinalize(t)}function X(e,t){let n=String(e||``).trim();if(!n)throw Error(`SeamsWalletDB: ${t} is required`);return n}function Z(e){if(e.length!==2||e.some(e=>!Number.isSafeInteger(e)||e<1))throw Error(`SeamsWalletDB: Ed25519 participantIds must contain two positive integers`);return[e[0],e[1]]}function Ke(e){if(!Array.isArray(e)||e.length!==2||e[0]!==1||e[1]!==2)throw Error(`SeamsWalletDB: threshold ECDSA participantIds must be [1, 2]`);return[1,2]}function Q(e,t=A,n={kind:`fresh_registration`}){let r=X(e.walletId,`walletId`);if(!Array.isArray(e.walletKeys)||e.walletKeys.length===0)throw Error(`SeamsWalletDB: threshold ECDSA walletKeys are required`);let i=[];for(let a of e.walletKeys){if(a.keyScope!==`evm-family`)throw Error(`SeamsWalletDB: threshold ECDSA wallet keyScope must be evm-family`);let e=X(a.walletId,`wallet key walletId`);if(e!==r)throw Error(`SeamsWalletDB: threshold ECDSA wallet key walletId mismatch`);let s=X(a.keyHandle,`wallet key keyHandle`),d=X(a.ecdsaThresholdKeyId,`wallet key ecdsaThresholdKeyId`),f=X(a.signingRootId,`wallet key signingRootId`),p=X(a.signingRootVersion,`wallet key signingRootVersion`),m=X(a.relayerKeyId,`wallet key relayerKeyId`),h=X(a.thresholdEcdsaPublicKeyB64u,`wallet key thresholdEcdsaPublicKeyB64u`),g=Ke(a.participantIds),_=u(a.thresholdOwnerAddress);if(!_)throw Error(`SeamsWalletDB: wallet key thresholdOwnerAddress is required`);let v=l(a.chainTarget),y=c(a.chainTarget);i.push({chainTarget:a.chainTarget,targetKey:y,signerId:_,signerSlot:1,input:{account:{profileId:e,chainIdKey:v,accountAddress:_,accountModel:k},signer:{signerId:_,signerType:`threshold`,signerKind:o.thresholdEcdsa,signerAuthMethod:t.signerAuthMethod,signerSource:t.signerSource,metadata:{accountModel:k,accountAddress:_,ownerAddress:_,thresholdOwnerAddress:_,keyScope:a.keyScope,keyHandle:s,walletId:e,ecdsaThresholdKeyId:d,signingRootId:f,signingRootVersion:p,relayerKeyId:m,relayerVerifyingShareB64u:X(a.relayerVerifyingShareB64u,`wallet key relayerVerifyingShareB64u`),publicCapability:a.publicCapability,roleLocalMaterialRef:a.roleLocalMaterialRef,ecdsaRoleLocalPublicFacts:a.ecdsaRoleLocalPublicFacts,thresholdEcdsaPublicKeyB64u:h,participantIds:g,chainTarget:a.chainTarget,targetMembership:{targetKey:y,chainTarget:a.chainTarget},sharedEvmFamilyKey:{walletId:e,keyScope:a.keyScope,keyHandle:s,ecdsaThresholdKeyId:d,signingRootId:f,signingRootVersion:p,participantIds:g,thresholdOwnerAddress:_,thresholdEcdsaPublicKeyB64u:h},chainId:a.chainTarget.chainId}},activationPolicy:Oe({mode:n,signerSlot:1}),preferredSlot:1,mutation:{routeThroughOutbox:!1}}})}return{walletId:r,signerActivations:i}}function $(e,t){return e.accountStore.persistWalletSignerFinalize({profiles:[{profileId:t.walletId}],...B(t.signerActivations)})}async function qe(e,t){let n=Q(t),r=await $(e,n);return{storedSigners:n.signerActivations.map((e,t)=>{let n=r.signerActivations[t];if(!n)throw Error(`SeamsWalletDB: wallet ECDSA signer batch did not complete`);return H(e,n)})}}async function Je(e,t){let n=Q(t,A,{kind:`wallet_recovery_replacement`}),r=await $(e,n);return{storedSigners:n.signerActivations.map((e,t)=>{let n=r.signerActivations[t];if(!n)throw Error(`SeamsWalletDB: wallet recovery ECDSA signer batch did not complete`);return H(e,n)})}}async function Ye(e,t){let n=Q(t,j),r=await $(e,n);return{storedSigners:n.signerActivations.map((e,t)=>{let n=r.signerActivations[t];if(!n)throw Error(`SeamsWalletDB: wallet Email OTP ECDSA signer batch did not complete`);return H(e,n)})}}async function Xe(e,t){let n=String(t.credential.rawId||``).trim();if(!n)throw Error(`SeamsWalletDB: registration credential rawId is required`);let r=Q({walletId:t.walletId,walletKeys:t.walletKeys}),i=await q({kind:`passkey`,walletId:t.walletId,rpId:t.rpId,credentialIdB64u:n,credentialPublicKeyB64u:t.credentialPublicKeyB64u,transports:t.credential.response?.transports??[],walletKeys:G(t.walletKeys)}),a=await e.accountStore.persistWalletRegistrationFinalize(i);return{storedSigners:r.signerActivations.map((e,t)=>{let n=a.signerActivations[t];if(!n)throw Error(`SeamsWalletDB: wallet ECDSA registration batch did not complete`);return H(e,n)})}}async function Ze(e,t){let n=Q({walletId:t.walletId,walletKeys:t.walletKeys},j),r=await q({kind:`email_otp`,walletId:t.walletId,email:t.email,registrationAuthorityId:t.registrationAuthorityId,authority:t.authority,walletKeys:G(t.walletKeys)}),i=await e.accountStore.persistWalletRegistrationFinalize(r);return{storedSigners:n.signerActivations.map((e,t)=>{let n=i.signerActivations[t];if(!n)throw Error(`SeamsWalletDB: wallet Email OTP ECDSA registration batch did not complete`);return H(e,n)})}}export{Re as A,qe as C,Ye as D,Ze as E,ie as F,w as I,T as M,D as N,He as O,O as P,Je as S,Le as T,Ge as _,ue as a,Se as b,Te as c,Me as d,je as f,we as g,Fe as h,ce as i,E as j,Ue as k,P as l,Ie as m,Xe as n,le as o,Ve as p,We as r,ye as s,xe as t,q as u,me as v,ze as w,se as x,be as y};
@@ -1 +0,0 @@
1
- import{S as e}from"./chains-gV2K9gA4.js";let t=function(e){return e.CreateAccount=`CreateAccount`,e.DeployContract=`DeployContract`,e.FunctionCall=`FunctionCall`,e.Transfer=`Transfer`,e.Stake=`Stake`,e.AddKey=`AddKey`,e.DeleteKey=`DeleteKey`,e.DeleteAccount=`DeleteAccount`,e.SignedDelegate=`SignedDelegate`,e.DeployGlobalContract=`DeployGlobalContract`,e.UseGlobalContract=`UseGlobalContract`,e}({});function n(t){return e(t)&&`action_type`in t}function r(e){switch(e.type){case t.Transfer:return{action_type:t.Transfer,deposit:e.amount};case t.FunctionCall:return{action_type:t.FunctionCall,method_name:e.methodName,args:JSON.stringify(e.args),gas:e.gas||`30000000000000`,deposit:e.deposit||`0`};case t.AddKey:{let n=e.accessKey.permission,r=n===`FullAccess`?{FullAccess:{}}:n;return{action_type:t.AddKey,public_key:e.publicKey,access_key:JSON.stringify({nonce:e.accessKey.nonce||0,permission:r})}}case t.DeleteKey:return{action_type:t.DeleteKey,public_key:e.publicKey};case t.CreateAccount:return{action_type:t.CreateAccount};case t.DeleteAccount:return{action_type:t.DeleteAccount,beneficiary_id:e.beneficiaryId};case t.DeployContract:return{action_type:t.DeployContract,code:typeof e.code==`string`?Array.from(new TextEncoder().encode(e.code)):Array.from(e.code)};case t.DeployGlobalContract:return{action_type:t.DeployGlobalContract,code:typeof e.code==`string`?Array.from(new TextEncoder().encode(e.code)):Array.from(e.code),deploy_mode:e.deployMode};case t.UseGlobalContract:return{action_type:t.UseGlobalContract,account_id:e.accountId,code_hash:e.codeHash};case t.Stake:return{action_type:t.Stake,stake:e.stake,public_key:e.publicKey};default:throw Error(`Action type ${e.type} is not supported`)}}function i(e){switch(e.action_type){case t.FunctionCall:if(!e.method_name)throw Error(`method_name required for FunctionCall`);if(!e.args)throw Error(`args required for FunctionCall`);if(!e.gas)throw Error(`gas required for FunctionCall`);if(!e.deposit)throw Error(`deposit required for FunctionCall`);if(typeof e.args!=`string`)throw Error(`FunctionCall action args must be a valid JSON string`);try{JSON.parse(e.args)}catch{throw Error(`FunctionCall action args must be valid JSON string`)}break;case t.Transfer:if(!e.deposit)throw Error(`deposit required for Transfer`);break;case t.CreateAccount:break;case t.DeployContract:if(!e.code||e.code.length===0)throw Error(`code required for DeployContract`);break;case t.Stake:if(!e.stake)throw Error(`stake amount required for Stake`);if(!e.public_key)throw Error(`public_key required for Stake`);break;case t.AddKey:if(!e.public_key)throw Error(`public_key required for AddKey`);if(!e.access_key)throw Error(`access_key required for AddKey`);if(typeof e.access_key!=`string`)throw Error(`AddKey action access_key must be a valid JSON string`);try{JSON.parse(e.access_key)}catch{throw Error(`AddKey action access_key must be valid JSON string`)}break;case t.DeleteKey:if(!e.public_key)throw Error(`public_key required for DeleteKey`);break;case t.DeleteAccount:if(!e.beneficiary_id)throw Error(`beneficiary_id required for DeleteAccount`);break;case t.SignedDelegate:if(!e.delegate_action||typeof e.delegate_action!=`object`)throw Error(`delegate_action required for SignedDelegate`);if(!e.signature||typeof e.signature!=`object`)throw Error(`signature required for SignedDelegate`);break;case t.DeployGlobalContract:if(!e.code||e.code.length===0)throw Error(`code required for DeployGlobalContract`);if(!e.deploy_mode||e.deploy_mode!==`CodeHash`&&e.deploy_mode!==`AccountId`)throw Error(`deploy_mode must be CodeHash or AccountId for DeployGlobalContract`);break;case t.UseGlobalContract:if(!!e.account_id==!!e.code_hash)throw Error(`UseGlobalContract requires exactly one of account_id or code_hash`);break;default:throw Error(`Unsupported action type: ${e.action_type}`)}}function a(n){switch(n.action_type){case t.FunctionCall:{let e={};try{e=typeof n.args==`string`?n.args?JSON.parse(n.args):{}:n.args||{}}catch{e={}}return{type:t.FunctionCall,methodName:n.method_name,args:e,gas:n.gas,deposit:n.deposit}}case t.Transfer:return{type:t.Transfer,amount:n.deposit};case t.CreateAccount:return{type:t.CreateAccount};case t.DeployContract:return{type:t.DeployContract,code:Array.isArray(n.code)?new Uint8Array(n.code):new Uint8Array};case t.DeployGlobalContract:return{type:t.DeployGlobalContract,code:Array.isArray(n.code)?new Uint8Array(n.code):new Uint8Array,deployMode:n.deploy_mode};case t.Stake:return{type:t.Stake,stake:n.stake,publicKey:n.public_key};case t.AddKey:{let r;try{r=JSON.parse(n.access_key)}catch{r={nonce:BigInt(0),permission:`FullAccess`}}let i=r?.permission,a=`FullAccess`;if(e(i)){if(`FullAccess`in i)a=`FullAccess`;else if(`FunctionCall`in i){let e=i.FunctionCall;a={FunctionCall:{allowance:e.allowance,receiver_id:e.receiver_id,method_names:e.method_names}}}}return{type:t.AddKey,publicKey:n.public_key,accessKey:{nonce:typeof r?.nonce==`number`?r.nonce:0,permission:a}}}case t.DeleteKey:return{type:t.DeleteKey,publicKey:n.public_key};case t.DeleteAccount:return{type:t.DeleteAccount,beneficiaryId:n.beneficiary_id};case t.UseGlobalContract:return{type:t.UseGlobalContract,accountId:n.account_id,codeHash:n.code_hash};default:throw Error(`Unsupported wasm action_type: ${n?.action_type}`)}}function o(e){return{receiverId:e.receiverId,actions:e.actions.map(a)}}function s(e){return(e||[]).map(o)}export{r as a,n as i,a as n,i as o,s as r,t};
@@ -1 +0,0 @@
1
- import{A as e,B as t,E as n,H as r,M as i,N as a,O as o,T as s,d as c,f as l,g as ee,i as u,k as d,u as f}from"./domainIds-t1lp25yU.js";import{C as te,k as p}from"./chains-gV2K9gA4.js";import{i as ne,r as re}from"./base64-BmKR3UqU.js";import{d as ie,h as ae,l as oe,m as se}from"./capabilityKinds-BzrNeEyO.js";import{r as m}from"./canonicalPrimitives-B6YMrI3W.js";function h(e,t={trim:!0}){let n=String(e??``);return r(t.trim?n.trim():n)}function g(e){let t=String(e.token??``).trim();if(!t)throw Error(e.missingMessage);return{Authorization:`Bearer ${t}`}}function ce(e){return{method:`POST`,headers:{"Content-Type":`application/json`,...e.headers||{}},credentials:`omit`,body:e.bodyJson??JSON.stringify(e.body)}}function le(e,t){let n=h(e),r=globalThis.location?.origin,i;try{i=new URL(n).origin}catch{return}if(!(!r||i===r))for(let e of t)fetch(`${n}${e}`,{method:`OPTIONS`,credentials:`omit`}).catch(()=>{})}function ue(e){return{...g({token:e.token,missingMessage:`Wallet Session token is required`}),..._(e.home)}}function _(e){switch(e.kind){case`direct`:return{};case`regional`:return{"X-Seams-Wallet-Region":e.region}}}async function de(e){let t=await fetch(e.clone());if(t.status!==409||!e.headers.has(`X-Seams-Wallet-Region`))return t;let n;try{n=await t.clone().json()}catch{return t}if(!te(n)||n.code!==`wallet_home_discovery_required`)return t;let r=new Headers(e.headers);return r.delete(`X-Seams-Wallet-Region`),fetch(new Request(e,{headers:r}))}const fe=[1,2];function v(e){let t=Number(e);return!Number.isSafeInteger(t)||t<1||t>65535?null:t}function pe(e){if(!Array.isArray(e)||e.length===0)return null;let t=[],n=new Set;for(let r of e){let e=v(r);if(!e)return null;n.has(e)||(n.add(e),t.push(e))}return t.sort((e,t)=>e-t),t.length?t:null}function me(e){if(!Array.isArray(e)||e.length===0)return null;let n=[];for(let r of e){if(!r||typeof r!=`object`||Array.isArray(r))return null;let e=r,i=v(e.id),a=t(e.role);if(!i||a!==`client`&&a!==`relayer`)return null;let o={id:i,role:a},s=t(e.relayerUrl);s&&(o.relayerUrl=s);let c=t(e.relayerKeyId);c&&(o.relayerKeyId=c);let l=t(e.shareDerivation);(l===`prf_first_v1`||l===`derived_master_secret_v1`||l===`kv_random_v1`||l===`unknown`)&&(o.shareDerivation=l),n.push(o)}return n.length?n:null}function he(e){let n=t(e.relayerKeyId),r=t(e.relayerUrl),i=v(e.clientParticipantId)??1,a=v(e.relayerParticipantId)??2;return[{id:i,role:`client`,shareDerivation:e.clientShareDerivation||`prf_first_v1`},{id:a,role:`relayer`,...r?{relayerUrl:r}:{},...n?{relayerKeyId:n}:{},...e.relayerShareDerivation?{shareDerivation:e.relayerShareDerivation}:{}}]}function y(e,n){let r=t(n);if(!r)throw Error(`${e} is required`);return r}function b(e){return`${y(`projectId`,e.projectId)}:${y(`envId`,e.envId)}`}function ge(e){let t=_e(e);return{...t,signingRootVersion:y(`signingRootVersion`,t.signingRootVersion)}}function _e(e){if(!e||typeof e!=`object`||Array.isArray(e))throw Error(`runtimePolicyScope must be an object`);let n=e;if(Object.prototype.hasOwnProperty.call(n,`environmentId`))throw Error(`runtimePolicyScope.environmentId is stale; use envId`);if(Object.prototype.hasOwnProperty.call(n,`runtimeSnapshotScope`))throw Error(`runtimePolicyScope.runtimeSnapshotScope is stale; use runtimePolicyScope`);return{orgId:y(`orgId`,n.orgId),projectId:y(`projectId`,n.projectId),envId:y(`envId`,n.envId),...t(n.signingRootVersion)?{signingRootVersion:t(n.signingRootVersion)}:{}}}function ve(e,t){return e.orgId===t.orgId&&e.projectId===t.projectId&&e.envId===t.envId&&e.signingRootVersion===t.signingRootVersion}function ye(e){return{signingRootId:b(e),signingRootVersion:y(`signingRootVersion`,e.signingRootVersion)}}const be=[`prf`,`kek`,`seed`,`scalar`,`secretkey`,`privatekey`,`plaintext`,`recoverycode`,`clientroot`,`holdershare`];function x(e,t,n,r=[]){let i=new Set(t),a=new Set(r);for(let t of Object.keys(e)){if(i.has(t))continue;if(a.has(t))throw Error(`${n}.${t} is not part of ${n}`);let e=t.toLowerCase().replace(/_/g,``);throw!e.includes(`publickey`)&&be.some(t=>e.includes(t))?Error(`${n}.${t} must never carry plaintext custody material`):Error(`${n}.${t} is not part of ${n}`)}}function S(e,t,n){let r=p(e,n);x(r,t,n);for(let e of t)if(!Object.prototype.hasOwnProperty.call(r,e)||r[e]===void 0)throw Error(`${n}.${e} is required`);return r}function C(...e){return Object.assign((t,n)=>{if(!e.includes(t))throw Error(`${n} is invalid`);return t},{literals:e})}function w(e,t){let n=Object.keys(e),r=[...n.filter(t=>`literals`in e[t]),...n.filter(t=>!(`literals`in e[t]))];return Object.assign((i,a)=>{let o=S(i,n,a),s=new Map;for(let t of r)s.set(t,e[t](o[t],`${a}.${t}`));let c=Object.fromEntries(n.map(e=>[e,s.get(e)]));return t?.(c,a),c},{shape:e})}function T(e,t){let n=new Map;for(let r of t)for(let t of r.shape[e].literals)n.set(t,r);return(t,r)=>{let i=p(t,r),a=n.get(i[e]);if(!a)throw Error(`${r}.${e} is invalid`);return a(i,r)}}function E(e){return(t,n)=>t===null?null:e(t,n)}function D(e){return(t,n)=>{let r=e(t);if(r.ok)return r.value;throw Error(`${n} ${r.error.message}`)}}function O(e){return(t,n)=>{try{return e(t)}catch(e){throw Error(`${n} ${e instanceof Error?e.message:`is invalid`}`)}}}const k=Object.freeze([`export_keys`,`link_devices`,`revoke_devices`,`sign`]);Object.freeze([`sign`]);const A=new Set([`export_keys`,`link_devices`,`revoke_devices`,`sign`]),j=Symbol(`canonicalPermissionSetBrand`);var M=class e extends Array{[j]=!0;constructor(e){super(...e),Object.freeze(this)}static create(t){return new e(t)}static get[Symbol.species](){return Array}};function N(e){return typeof e==`string`&&A.has(e)}function P(e){if(!Array.isArray(e))return L(e==null?`delegated wallet permissions are required`:`delegated wallet permissions must be an array`);if(e.length===0)return L(`delegated wallet permissions must be non-empty`);let t=[],n=new Set;for(let r of e){if(!N(r))return L(`delegated wallet permission is unsupported`);if(n.has(r))return L(`delegated wallet permission ${r} is duplicated`);n.add(r),t.push(r)}return t.sort(De),{ok:!0,value:M.create(Oe(t))}}function F(e){return{kind:`delegated_wallet_authority_v1`,permissions:e.permissions}}function xe(e){if(!ke(e))return R(`delegated wallet authority must contain exactly kind and permissions`);if(e.kind!==`delegated_wallet_authority_v1`)return R(`delegated wallet authority kind is unsupported`);let t=P(e.permissions);return t.ok?{ok:!0,value:F({permissions:t.value})}:t}function I(){return Ee(k)}function Se(){return F({permissions:I()})}function Ce(e,t){return e.permissions.includes(t)}function we(e){return Object.freeze([...e.permissions])}function Te(e,t){if(e.kind!==t.kind||e.permissions.length!==t.permissions.length)return!1;for(let n=0;n<e.permissions.length;n+=1)if(e.permissions[n]!==t.permissions[n])return!1;return!0}function Ee(e){let t=P(e);if(!t.ok)throw Error(t.error.message);return t.value}function De(e,t){return e<t?-1:e>t?1:0}function Oe(e){let[t,...n]=e;if(!t)throw Error(`delegated wallet permissions must be non-empty`);return[t,...n]}function ke(e){if(typeof e!=`object`||!e||Array.isArray(e))return!1;let t=Object.keys(e);return t.length===2&&t.includes(`kind`)&&t.includes(`permissions`)}function L(e){return{ok:!1,error:{code:`invalid`,message:e}}}function R(e){return{ok:!1,error:{code:`invalid`,message:e}}}const Ae=/^[A-Za-z0-9_-]+$/;function z(e,t){if(typeof e!=`string`||!Ae.test(e))throw Error(`${t} must be unpadded base64url`);let n;try{n=re(e)}catch{throw Error(`${t} must be valid base64url`)}if(ne(n)!==e)throw Error(`${t} must be canonical base64url`);return n}function je(e,t){if(e.ok)return e.value;throw Error(`${t} ${e.error.message}`)}function Me(e,t){try{return m(e)}catch(e){throw Error(`${t} ${e instanceof Error?e.message:`is not a digest`}`)}}function Ne(e,t=`nonceB64u`){if(z(e,t).length!==12)throw Error(`${t} must decode to a 12-byte ChaCha20Poly1305 nonce`);return e}function Pe(e,t=`ciphertextB64u`){if(z(e,t).length<17)throw Error(`${t} must decode to sealed ciphertext with an authentication tag`);return e}function Fe(e,t=`registeredPublicKeyB64u`){if(z(e,t).length!==32)throw Error(`${t} must decode to a 32-byte Ed25519 public key`);return e}function Ie(e,t=`publicKey33B64u`){let n=z(e,t);if(n.length!==33)throw Error(`${t} must decode to a 33-byte compressed secp256k1 point`);if(n[0]!==2&&n[0]!==3)throw Error(`${t} must be a compressed secp256k1 public key`);return e}function Le(e,t=`keyCreationSignerSlot`){if(typeof e!=`number`||!Number.isSafeInteger(e)||e<=0||e>4294967295)throw Error(`${t} must be a positive u32`);return e}function Re(e,t=`envelopeRevision`){if(typeof e!=`number`||!Number.isSafeInteger(e)||e<=0)throw Error(`${t} must be a positive integer revision`);return e}function B(e,t){if(typeof e!=`number`||!Number.isSafeInteger(e)||e<=0)throw Error(`${t} must be a positive unix-millisecond timestamp`);return e}const ze=D(f),V=D(d),Be=D(c),Ve=D(l),He=D(oe),Ue=D(e),H=D(ae),U=D(se),W=D(n),G=D(o),We=D(i),Ge=D(a),Ke=D(ie),qe=D(ee),K=O(m),Je=E(Y);function q(e){return(t,n)=>e(t,n.slice(n.lastIndexOf(`.`)+1))}function J(e,t){try{return B(e,t)}catch(e){throw Error(e instanceof Error?e.message:`${t} is invalid`)}}function Y(e,t){if(typeof e!=`string`||e.length===0||e.trim()!==e)throw Error(`${t} must be a non-empty canonical string`);for(let n of e){let e=n.charCodeAt(0);if(/\s/.test(n)||e<=31||e===127)throw Error(`${t} must not contain whitespace or control characters`)}return e}function X(e,t){if(!Number.isSafeInteger(e)||Number(e)<0)throw Error(`${t} must be a non-negative safe integer`);return Number(e)}function Ye(e,t){let n=xe(e);if(!n.ok)throw Error(`${t}: ${n.error.message}`);return n.value}function Xe(e,t){let n=s(e);if(!n.ok)throw Error(`${t} ${n.error.message}`);return n.value}function Ze(e,t){if(e.kind!==t.kind||e.walletId!==t.walletId||e.authorityId!==t.authorityId||e.authMethodId!==t.authMethodId||e.authorizationId!==t.authorizationId||e.quotaId!==t.quotaId||e.authorityDigestB64u!==t.authorityDigestB64u||e.authorityRevocationEpoch!==t.authorityRevocationEpoch||e.issuedAtMs!==t.issuedAtMs||e.expiresAtMs!==t.expiresAtMs||e.capabilitySubjects.length!==t.capabilitySubjects.length)return!1;for(let n=0;n<e.capabilitySubjects.length;n+=1){let r=e.capabilitySubjects[n],i=t.capabilitySubjects[n];if(!r||!i||!Z(r,i))return!1}return!0}function Z(e,t){switch(e.kind){case`link_devices`:case`revoke_devices`:return t.kind===e.kind;case`sign`:case`export_keys`:return t.kind===e.kind&&t.keyFamily===e.keyFamily&&u(e.materialActivation,t.materialActivation);default:return!1}}function Qe(e,t){for(let n of e.capabilitySubjects){let e=!1;for(let r of t.capabilitySubjects)if(Z(n,r)){e=!0;break}if(!e)return!1}return!0}const Q=T(`kind`,[w({kind:C(`direct`)}),w({kind:C(`regional`),region:C(`US`,`WEUR`,`APAC`,`OC`)})]);function $(e){return Q(e,`Wallet Session home`)}function $e(){return w({kind:C(`opaque_wallet_session_operation_credential_v1`),ownershipGeneration:X,home:$,token:(e,t)=>{if(typeof e!=`string`||e.length>8192)throw Error(`${t} is invalid`);return e},walletSessionId:q(H)},(e,t)=>{if(e.ownershipGeneration===0)throw Error(`${t} ownership generation must be positive`);if(!/^wst_[A-Za-z0-9_-]{43}$/.test(e.token))throw Error(`${t} opaque token is invalid`)})}function et(e){return $e()(e,`WalletSessionOperationCredentialV1`)}function tt(e){return e.kind===`sign`||e.kind===`export_keys`?`${e.kind}:${e.keyFamily}:${e.materialActivation.activationId}`:e.kind}function nt(){return w({kind:C(`active_wallet_session_v1`),walletId:q(V),authorityId:q(G),authMethodId:q(W),authorizationId:q(U),quotaId:q(Ke),authorityDigestB64u:q(K),authorityRevocationEpoch:q(X),capabilitySubjects:(e,t)=>{if(!Array.isArray(e)||e.length===0)throw Error(`${t} must be non-empty`);let n=[];for(let[t,r]of e.entries())n.push(it(r,`capabilitySubjects[${t}]`));let r=n[0];if(!r)throw Error(`${t} must be non-empty`);return[r,...n.slice(1)]},issuedAtMs:q(J),expiresAtMs:q(J)},(e,t)=>{let n=e.capabilitySubjects.map(tt);if(new Set(n).size!==n.length)throw Error(`${t} capability subjects repeat`)})}function rt(e){return nt()(e,`ActiveWalletSessionV1`)}function it(e,t){let n=p(e,t);if(n.kind===`link_devices`||n.kind===`revoke_devices`)return x(n,[`kind`],t),{kind:n.kind};if(n.kind!==`sign`&&n.kind!==`export_keys`)throw Error(`${t}.kind is invalid`);if(x(n,[`kind`,`keyFamily`,`materialActivation`],t),n.keyFamily!==`ed25519`&&n.keyFamily!==`ecdsa_secp256k1`)throw Error(`${t}.keyFamily is invalid`);return{kind:n.kind,keyFamily:n.keyFamily,materialActivation:qe(n.materialActivation,`${t}.materialActivation`)}}export{fe as $,Re as A,P as B,Ue as C,Fe as D,Me as E,F,D as G,C as H,Se as I,x as J,T as K,I as L,Ie as M,B as N,Pe as O,je as P,ye as Q,we as R,V as S,H as T,E as U,Te as V,w as W,ge as X,b as Y,ve as Z,J as _,Qe as a,_ as at,W as b,K as c,h as ct,Ve as d,he as et,Je as f,Xe as g,X as h,et as i,ce as it,Le as j,Ne as k,Be as l,le as lt,Y as m,rt as n,me as nt,He as o,ue as ot,Ye as p,S as q,$ as r,g as rt,We as s,de as st,Ze as t,pe as tt,q as u,Ge as v,U as w,G as x,ze as y,Ce as z};