@seams/wallet 0.13.0 → 0.14.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 (281) hide show
  1. package/README.md +3 -3
  2. package/dist/.build-inputs.sha256 +1 -1
  3. package/dist/esm/SeamsWeb/SeamsWeb.js +1 -0
  4. package/dist/esm/SeamsWeb/walletIframe/client/router.js +9 -0
  5. package/dist/esm/SeamsWeb/walletIframe/coordinator.js +8 -0
  6. package/dist/esm/SeamsWeb/walletIframe/shared/messages.js +1 -1
  7. package/dist/esm/core/config/defaultConfigs.js +1 -1
  8. package/dist/esm/core/indexedDB/index.js +2 -1
  9. package/dist/esm/core/indexedDB/schemaNames.js +1 -2
  10. package/dist/esm/core/indexedDB/seamsWalletDB/schema.js +2 -1
  11. package/dist/esm/core/indexedDB/walletDbName.js +6 -0
  12. package/dist/esm/sdk/{ConfirmationDrawer-Frj3uEee.js → ConfirmationDrawer-BFzQjd1P.js} +1 -1
  13. package/dist/esm/sdk/{NonceCoordinator-S5ZbrkDp.js → NonceCoordinator-CDGnEgfI.js} +1 -1
  14. package/dist/{public/sdk/accountLifecycle-HEUmDLus.js → esm/sdk/accountLifecycle-CBOkr0vU.js} +1 -1
  15. package/dist/esm/sdk/{adapters-CGvNLOfZ.js → adapters-DsAaBNNY.js} +2 -2
  16. package/dist/esm/sdk/{challengeDelivery-5lIu9spR.js → challengeDelivery-CATQ4u6P.js} +1 -1
  17. package/dist/{public/sdk/clientSessionPersistenceState-DRdve9rC.js → esm/sdk/clientSessionPersistenceState-CBylL1Ul.js} +1 -1
  18. package/dist/esm/sdk/{commitQueue-qjvY_zWn.js → commitQueue-DYEgzoLA.js} +1 -1
  19. package/dist/esm/sdk/{display-DTbGoX4e.js → display-DsfJkAra.js} +1 -1
  20. package/dist/esm/sdk/{ecdsaCapabilityManifest-ChszYCC0.js → ecdsaCapabilityManifest-DX6TflEz.js} +1 -1
  21. package/dist/{public/sdk/ecdsaDerivationClientWasm-CpH-b3jx.js → esm/sdk/ecdsaDerivationClientWasm-CpjnN4aK.js} +1 -1
  22. package/dist/esm/sdk/ecdsaDerivationExport-CuNIssOt.js +1 -0
  23. package/dist/esm/sdk/{ecdsaWalletRecords-Di_NUxD_.js → ecdsaWalletRecords-CHfrYvKr.js} +1 -1
  24. package/dist/{public/sdk/emailOtpEcdsaDerivationIdentity-p0C1CQva.js → esm/sdk/emailOtpEcdsaDerivationIdentity-Bik0N8v9.js} +1 -1
  25. package/dist/esm/sdk/{enrichDisplayModelWithAbi-DZIhvE-x.js → enrichDisplayModelWithAbi-DSj4NAlY.js} +1 -1
  26. package/dist/esm/sdk/{export-viewer-host-DUMwD6zP.js → export-viewer-host-CV-lSsQF.js} +1 -1
  27. package/dist/esm/sdk/exportKeypairOperation-Bql0I-8U.js +1 -0
  28. package/dist/esm/sdk/host-D3Q_NsmE.js +1 -0
  29. package/dist/esm/sdk/{lanes-Ck81oEGv.js → lanes-5kcTFbPx.js} +1 -1
  30. package/dist/esm/sdk/{localOnly-CUVRoMy2.js → localOnly-C5mSXb_D.js} +1 -1
  31. package/dist/{public/sdk/mountExportPrivateKeySurface-B4gH1Sel.js → esm/sdk/mountExportPrivateKeySurface-CatAhYoG.js} +1 -1
  32. package/dist/{public/sdk/mountRecoveryCodeBackupSurface-D1G-iCPI.js → esm/sdk/mountRecoveryCodeBackupSurface-DlEb3uD7.js} +1 -1
  33. package/dist/esm/sdk/nearEd25519YaoMaterialActivation-Bo3IOTS-.js +1 -0
  34. package/dist/esm/sdk/{nearEd25519YaoSigningPreparation-Eiq_ikXk.js → nearEd25519YaoSigningPreparation-RIfkYN0d.js} +1 -1
  35. package/dist/esm/sdk/{nonceLaneKeys-Do5Vs-De.js → nonceLaneKeys-BCYfl1wv.js} +1 -1
  36. package/dist/esm/sdk/{normalization-DJPmcXTg.js → normalization-n503J-BI.js} +1 -1
  37. package/dist/{public/sdk/passkey-custody-Cd_yyoRa.js → esm/sdk/passkey-custody-DpTM-eNJ.js} +1 -1
  38. package/dist/esm/sdk/{pendingWalletRecoveryCodeBackup-DMg5U0Fk.js → pendingWalletRecoveryCodeBackup-C60sZMj5.js} +1 -1
  39. package/dist/{public/sdk/presignaturePool-CLHu7HaU.js → esm/sdk/presignaturePool-DX_hqZ6Z.js} +1 -1
  40. package/dist/esm/sdk/recovery-entrypoint-BULjaFBM.js +1 -0
  41. package/dist/esm/sdk/{registration-Drtkzrlc.js → registration-CyF7nOXs.js} +1 -1
  42. package/dist/esm/sdk/registration-DEGZR8kA.js +1 -0
  43. package/dist/esm/sdk/{registrationAccounts-DP-32yCK.js → registrationAccounts-BQMUusdD.js} +1 -1
  44. package/dist/{public/sdk/registrationIntent-BHU5k2Q-.js → esm/sdk/registrationIntent-090Zj7Iu.js} +1 -1
  45. package/dist/{public/sdk/registrationSignerPlan-dY9Rp0m_.js → esm/sdk/registrationSignerPlan-CPzHavPM.js} +1 -1
  46. package/dist/esm/sdk/{requireStepUpAuth-FqZSU021.js → requireStepUpAuth-BCY5ZStI.js} +1 -1
  47. package/dist/esm/sdk/routerAbNormalSigning-C4P2tDU-.js +1 -0
  48. package/dist/esm/sdk/runtime-auth-DDOPe7LO.js +1 -0
  49. package/dist/esm/sdk/runtime-device-link-Bkt5AJAI.js +1 -0
  50. package/dist/esm/sdk/runtime-ecdsa-tempo-DUOkCNFT.js +1 -0
  51. package/dist/esm/sdk/runtime-email-otp-Bsv55Gin.js +1 -0
  52. package/dist/esm/sdk/runtime-export-D7QKXvdg.js +1 -0
  53. package/dist/esm/sdk/runtime-near-Bl7bBU2g.js +1 -0
  54. package/dist/esm/sdk/runtime-preferences-C2Rqmp7q.js +1 -0
  55. package/dist/esm/sdk/runtime-recovery-BMY7AkJq.js +1 -0
  56. package/dist/esm/sdk/runtime-recovery-codes-GOytzExh.js +1 -0
  57. package/dist/esm/sdk/secp256k1-CL273JMp.js +1 -0
  58. package/dist/esm/sdk/sessionObservationRevision-CnEOLDbl.js +1 -0
  59. package/dist/esm/sdk/shared-CNT5EU_h.js +6 -0
  60. package/dist/{public/sdk/signEvmFamily-M0trbeZe.js → esm/sdk/signEvmFamily-BE0a14MT.js} +1 -1
  61. package/dist/esm/sdk/{signEvmFamilyWithUiConfirmForTempo-Bo25SwuV.js → signEvmFamilyWithUiConfirmForTempo-DGWmm9n7.js} +1 -1
  62. package/dist/esm/sdk/{signEvmWithUiConfirm-CFcqJRj3.js → signEvmWithUiConfirm-BRmdLgmm.js} +1 -1
  63. package/dist/esm/sdk/signNear-XGZBxc_g.js +1 -0
  64. package/dist/esm/sdk/signer-worker-DlK58rEA.js +1 -0
  65. package/dist/{public/sdk/signingFlow-DZvV4AgG.js → esm/sdk/signingFlow-VAnM8L5C.js} +1 -1
  66. package/dist/esm/sdk/{signingQueue-2pr7lAUS.js → signingQueue-D_Ebmzcn.js} +1 -1
  67. package/dist/esm/sdk/singletons-BXhnsqeY.js +1 -0
  68. package/dist/esm/sdk/{thresholdEcdsa-D-QMyevW.js → thresholdEcdsa-CneSKcRt.js} +1 -1
  69. package/dist/esm/sdk/{trace-QLsbYdld.js → trace-BBux0jtr.js} +1 -1
  70. package/dist/esm/sdk/{transaction-activity-xfeHKJoq.js → transaction-activity-Cccvec2J.js} +1 -1
  71. package/dist/esm/sdk/{transactionState-CGULLokO.js → transactionState-Day-1x7Y.js} +1 -1
  72. package/dist/esm/sdk/{types-WGrFMQSw.js → types-hKLqDUhR.js} +1 -1
  73. package/dist/esm/sdk/wallet-iframe-host-ecdsa.js +1 -1
  74. package/dist/esm/sdk/wallet-iframe-host-full.js +1 -1
  75. package/dist/esm/sdk/wallet-iframe-host-near.js +1 -1
  76. package/dist/esm/sdk/wallet-iframe-host-runtime.js +1 -1
  77. package/dist/esm/sdk/{wallet-recovery-LMtGiEL3.js → wallet-recovery-Bfhfk52N.js} +1 -1
  78. package/dist/esm/sdk/{walletAuthMethodRecord-CnBw27ED.js → walletAuthMethodRecord-LniOQQmj.js} +1 -1
  79. package/dist/{public/sdk/walletAuthority-BWvfaKIX.js → esm/sdk/walletAuthority-CAiGuWW2.js} +1 -1
  80. package/dist/esm/sdk/walletCustodyEcdsaContinuity-B4fTDL10.js +1 -0
  81. package/dist/esm/sdk/{sessionPolicy-CBTZQe1n.js → walletDbName-DtRewci9.js} +1 -1
  82. package/dist/{public/sdk/walletOwnershipGeneration-CAycHv-H.js → esm/sdk/walletOwnershipGeneration-B6HyR2rE.js} +1 -1
  83. package/dist/esm/sdk/walletRecoveryCommit-C6HF84_U.js +1 -0
  84. package/dist/{public/sdk/walletSessionAuthorizationStore-BiKGIBWQ.js → esm/sdk/walletSessionAuthorizationStore-DmYe-cDR.js} +1 -1
  85. package/dist/esm/sdk/warmSessionHydration-CsQpQVuy.js +1 -0
  86. package/dist/public/headers.manifest.json +1 -1
  87. package/dist/public/sdk/{ConfirmationDrawer-Frj3uEee.js → ConfirmationDrawer-BFzQjd1P.js} +1 -1
  88. package/dist/public/sdk/{NonceCoordinator-S5ZbrkDp.js → NonceCoordinator-CDGnEgfI.js} +1 -1
  89. package/dist/{esm/sdk/accountLifecycle-HEUmDLus.js → public/sdk/accountLifecycle-CBOkr0vU.js} +1 -1
  90. package/dist/public/sdk/{adapters-CGvNLOfZ.js → adapters-DsAaBNNY.js} +2 -2
  91. package/dist/public/sdk/{challengeDelivery-5lIu9spR.js → challengeDelivery-CATQ4u6P.js} +1 -1
  92. package/dist/{esm/sdk/clientSessionPersistenceState-DRdve9rC.js → public/sdk/clientSessionPersistenceState-CBylL1Ul.js} +1 -1
  93. package/dist/public/sdk/{commitQueue-qjvY_zWn.js → commitQueue-DYEgzoLA.js} +1 -1
  94. package/dist/public/sdk/{display-DTbGoX4e.js → display-DsfJkAra.js} +1 -1
  95. package/dist/public/sdk/{ecdsaCapabilityManifest-ChszYCC0.js → ecdsaCapabilityManifest-DX6TflEz.js} +1 -1
  96. package/dist/{esm/sdk/ecdsaDerivationClientWasm-CpH-b3jx.js → public/sdk/ecdsaDerivationClientWasm-CpjnN4aK.js} +1 -1
  97. package/dist/public/sdk/ecdsaDerivationExport-CuNIssOt.js +1 -0
  98. package/dist/public/sdk/{ecdsaWalletRecords-Di_NUxD_.js → ecdsaWalletRecords-CHfrYvKr.js} +1 -1
  99. package/dist/{esm/sdk/emailOtpEcdsaDerivationIdentity-p0C1CQva.js → public/sdk/emailOtpEcdsaDerivationIdentity-Bik0N8v9.js} +1 -1
  100. package/dist/public/sdk/{enrichDisplayModelWithAbi-DZIhvE-x.js → enrichDisplayModelWithAbi-DSj4NAlY.js} +1 -1
  101. package/dist/public/sdk/{export-viewer-host-DUMwD6zP.js → export-viewer-host-CV-lSsQF.js} +1 -1
  102. package/dist/public/sdk/exportKeypairOperation-Bql0I-8U.js +1 -0
  103. package/dist/public/sdk/host-D3Q_NsmE.js +1 -0
  104. package/dist/public/sdk/{lanes-Ck81oEGv.js → lanes-5kcTFbPx.js} +1 -1
  105. package/dist/public/sdk/{localOnly-CUVRoMy2.js → localOnly-C5mSXb_D.js} +1 -1
  106. package/dist/{esm/sdk/mountExportPrivateKeySurface-B4gH1Sel.js → public/sdk/mountExportPrivateKeySurface-CatAhYoG.js} +1 -1
  107. package/dist/{esm/sdk/mountRecoveryCodeBackupSurface-D1G-iCPI.js → public/sdk/mountRecoveryCodeBackupSurface-DlEb3uD7.js} +1 -1
  108. package/dist/public/sdk/nearEd25519YaoMaterialActivation-Bo3IOTS-.js +1 -0
  109. package/dist/public/sdk/{nearEd25519YaoSigningPreparation-Eiq_ikXk.js → nearEd25519YaoSigningPreparation-RIfkYN0d.js} +1 -1
  110. package/dist/public/sdk/{nonceLaneKeys-Do5Vs-De.js → nonceLaneKeys-BCYfl1wv.js} +1 -1
  111. package/dist/public/sdk/{normalization-DJPmcXTg.js → normalization-n503J-BI.js} +1 -1
  112. package/dist/{esm/sdk/passkey-custody-Cd_yyoRa.js → public/sdk/passkey-custody-DpTM-eNJ.js} +1 -1
  113. package/dist/public/sdk/{pendingWalletRecoveryCodeBackup-DMg5U0Fk.js → pendingWalletRecoveryCodeBackup-C60sZMj5.js} +1 -1
  114. package/dist/{esm/sdk/presignaturePool-CLHu7HaU.js → public/sdk/presignaturePool-DX_hqZ6Z.js} +1 -1
  115. package/dist/public/sdk/recovery-entrypoint-BULjaFBM.js +1 -0
  116. package/dist/public/sdk/{registration-Drtkzrlc.js → registration-CyF7nOXs.js} +1 -1
  117. package/dist/public/sdk/registration-DEGZR8kA.js +1 -0
  118. package/dist/public/sdk/{registrationAccounts-DP-32yCK.js → registrationAccounts-BQMUusdD.js} +1 -1
  119. package/dist/{esm/sdk/registrationIntent-BHU5k2Q-.js → public/sdk/registrationIntent-090Zj7Iu.js} +1 -1
  120. package/dist/{esm/sdk/registrationSignerPlan-dY9Rp0m_.js → public/sdk/registrationSignerPlan-CPzHavPM.js} +1 -1
  121. package/dist/public/sdk/{requireStepUpAuth-FqZSU021.js → requireStepUpAuth-BCY5ZStI.js} +1 -1
  122. package/dist/public/sdk/routerAbNormalSigning-C4P2tDU-.js +1 -0
  123. package/dist/public/sdk/runtime-auth-DDOPe7LO.js +1 -0
  124. package/dist/public/sdk/runtime-device-link-Bkt5AJAI.js +1 -0
  125. package/dist/public/sdk/runtime-ecdsa-tempo-DUOkCNFT.js +1 -0
  126. package/dist/public/sdk/runtime-email-otp-Bsv55Gin.js +1 -0
  127. package/dist/public/sdk/runtime-export-D7QKXvdg.js +1 -0
  128. package/dist/public/sdk/runtime-near-Bl7bBU2g.js +1 -0
  129. package/dist/public/sdk/runtime-preferences-C2Rqmp7q.js +1 -0
  130. package/dist/public/sdk/runtime-recovery-BMY7AkJq.js +1 -0
  131. package/dist/public/sdk/runtime-recovery-codes-GOytzExh.js +1 -0
  132. package/dist/public/sdk/secp256k1-CL273JMp.js +1 -0
  133. package/dist/public/sdk/sessionObservationRevision-CnEOLDbl.js +1 -0
  134. package/dist/public/sdk/shared-CNT5EU_h.js +6 -0
  135. package/dist/{esm/sdk/signEvmFamily-M0trbeZe.js → public/sdk/signEvmFamily-BE0a14MT.js} +1 -1
  136. package/dist/public/sdk/{signEvmFamilyWithUiConfirmForTempo-Bo25SwuV.js → signEvmFamilyWithUiConfirmForTempo-DGWmm9n7.js} +1 -1
  137. package/dist/public/sdk/{signEvmWithUiConfirm-CFcqJRj3.js → signEvmWithUiConfirm-BRmdLgmm.js} +1 -1
  138. package/dist/public/sdk/signNear-XGZBxc_g.js +1 -0
  139. package/dist/public/sdk/signer-worker-DlK58rEA.js +1 -0
  140. package/dist/{esm/sdk/signingFlow-DZvV4AgG.js → public/sdk/signingFlow-VAnM8L5C.js} +1 -1
  141. package/dist/public/sdk/{signingQueue-2pr7lAUS.js → signingQueue-D_Ebmzcn.js} +1 -1
  142. package/dist/public/sdk/singletons-BXhnsqeY.js +1 -0
  143. package/dist/public/sdk/{thresholdEcdsa-D-QMyevW.js → thresholdEcdsa-CneSKcRt.js} +1 -1
  144. package/dist/public/sdk/{trace-QLsbYdld.js → trace-BBux0jtr.js} +1 -1
  145. package/dist/public/sdk/{transaction-activity-xfeHKJoq.js → transaction-activity-Cccvec2J.js} +1 -1
  146. package/dist/public/sdk/{transactionState-CGULLokO.js → transactionState-Day-1x7Y.js} +1 -1
  147. package/dist/public/sdk/{types-WGrFMQSw.js → types-hKLqDUhR.js} +1 -1
  148. package/dist/public/sdk/wallet-iframe-host-ecdsa.js +1 -1
  149. package/dist/public/sdk/wallet-iframe-host-full.js +1 -1
  150. package/dist/public/sdk/wallet-iframe-host-near.js +1 -1
  151. package/dist/public/sdk/wallet-iframe-host-runtime.js +1 -1
  152. package/dist/public/sdk/{wallet-recovery-LMtGiEL3.js → wallet-recovery-Bfhfk52N.js} +1 -1
  153. package/dist/public/sdk/{walletAuthMethodRecord-CnBw27ED.js → walletAuthMethodRecord-LniOQQmj.js} +1 -1
  154. package/dist/{esm/sdk/walletAuthority-BWvfaKIX.js → public/sdk/walletAuthority-CAiGuWW2.js} +1 -1
  155. package/dist/public/sdk/walletCustodyEcdsaContinuity-B4fTDL10.js +1 -0
  156. package/dist/public/sdk/{sessionPolicy-CBTZQe1n.js → walletDbName-DtRewci9.js} +1 -1
  157. package/dist/{esm/sdk/walletOwnershipGeneration-CAycHv-H.js → public/sdk/walletOwnershipGeneration-B6HyR2rE.js} +1 -1
  158. package/dist/public/sdk/walletRecoveryCommit-C6HF84_U.js +1 -0
  159. package/dist/{esm/sdk/walletSessionAuthorizationStore-BiKGIBWQ.js → public/sdk/walletSessionAuthorizationStore-DmYe-cDR.js} +1 -1
  160. package/dist/public/sdk/warmSessionHydration-CsQpQVuy.js +1 -0
  161. package/dist/public/sdk/workers/ecdsa-derivation-client.worker.js +3 -1
  162. package/dist/public/wallet-assets.manifest.json +233 -209
  163. package/dist/public/wallet-service/index.html +4 -4
  164. package/dist/types/wallet/src/SeamsWeb/publicApi/types.d.ts +7 -0
  165. package/dist/types/wallet/src/SeamsWeb/walletIframe/client/router.d.ts +3 -0
  166. package/dist/types/wallet/src/SeamsWeb/walletIframe/coordinator.d.ts +1 -0
  167. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/emptyWalletStoreReads.d.ts +19 -0
  168. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/requestRouter.d.ts +1 -1
  169. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/runtimeLoader.d.ts +5 -0
  170. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/sessionObservationRevision.d.ts +7 -0
  171. package/dist/types/wallet/src/SeamsWeb/walletIframe/shared/messages.d.ts +3 -3
  172. package/dist/types/wallet/src/core/indexedDB/index.d.ts +2 -1
  173. package/dist/types/wallet/src/core/indexedDB/schemaNames.d.ts +0 -1
  174. package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/manager.d.ts +2 -1
  175. package/dist/types/wallet/src/core/indexedDB/walletDbName.d.ts +2 -0
  176. package/dist/workers/ecdsa-derivation-client.worker.js +3 -1
  177. package/package.json +1 -1
  178. package/dist/esm/sdk/ecdsaDerivationExport-C1cE5m0t.js +0 -1
  179. package/dist/esm/sdk/exportKeypairOperation-BHXMSA3v.js +0 -1
  180. package/dist/esm/sdk/host-GawN20iA.js +0 -1
  181. package/dist/esm/sdk/messages-DgJlG9NU.js +0 -1
  182. package/dist/esm/sdk/nearEd25519YaoMaterialActivation-DMGPKrn8.js +0 -1
  183. package/dist/esm/sdk/recovery-entrypoint-EHY_b7Z-.js +0 -1
  184. package/dist/esm/sdk/registration-CQxxUt5s.js +0 -1
  185. package/dist/esm/sdk/routerAbNormalSigning-DVKFBYgV.js +0 -1
  186. package/dist/esm/sdk/runtime-auth-TZw6JD8N.js +0 -1
  187. package/dist/esm/sdk/runtime-device-link-DXjabXJb.js +0 -1
  188. package/dist/esm/sdk/runtime-ecdsa-tempo-DlKMIbyP.js +0 -1
  189. package/dist/esm/sdk/runtime-email-otp-BBPghU2G.js +0 -1
  190. package/dist/esm/sdk/runtime-export-pw-xJL8o.js +0 -1
  191. package/dist/esm/sdk/runtime-near-B-vYxGjl.js +0 -1
  192. package/dist/esm/sdk/runtime-preferences-D-hY0RfC.js +0 -1
  193. package/dist/esm/sdk/runtime-recovery-Vg1ND2nl.js +0 -1
  194. package/dist/esm/sdk/runtime-recovery-codes-rLR4Guy4.js +0 -1
  195. package/dist/esm/sdk/secp256k1-C-AETUpI.js +0 -1
  196. package/dist/esm/sdk/shared-6bpRPbcM.js +0 -6
  197. package/dist/esm/sdk/signNear-DGUQZ44s.js +0 -1
  198. package/dist/esm/sdk/singletons-8UH3gOnZ.js +0 -1
  199. package/dist/esm/sdk/walletCustodyEcdsaContinuity-D-gYxv6e.js +0 -1
  200. package/dist/esm/sdk/walletRecoveryCommit-BYRC_2li.js +0 -1
  201. package/dist/esm/sdk/warmSessionHydration-B7-kCnJh.js +0 -1
  202. package/dist/public/sdk/ecdsaDerivationExport-C1cE5m0t.js +0 -1
  203. package/dist/public/sdk/exportKeypairOperation-BHXMSA3v.js +0 -1
  204. package/dist/public/sdk/host-GawN20iA.js +0 -1
  205. package/dist/public/sdk/messages-DgJlG9NU.js +0 -1
  206. package/dist/public/sdk/nearEd25519YaoMaterialActivation-DMGPKrn8.js +0 -1
  207. package/dist/public/sdk/recovery-entrypoint-EHY_b7Z-.js +0 -1
  208. package/dist/public/sdk/registration-CQxxUt5s.js +0 -1
  209. package/dist/public/sdk/routerAbNormalSigning-DVKFBYgV.js +0 -1
  210. package/dist/public/sdk/runtime-auth-TZw6JD8N.js +0 -1
  211. package/dist/public/sdk/runtime-device-link-DXjabXJb.js +0 -1
  212. package/dist/public/sdk/runtime-ecdsa-tempo-DlKMIbyP.js +0 -1
  213. package/dist/public/sdk/runtime-email-otp-BBPghU2G.js +0 -1
  214. package/dist/public/sdk/runtime-export-pw-xJL8o.js +0 -1
  215. package/dist/public/sdk/runtime-near-B-vYxGjl.js +0 -1
  216. package/dist/public/sdk/runtime-preferences-D-hY0RfC.js +0 -1
  217. package/dist/public/sdk/runtime-recovery-Vg1ND2nl.js +0 -1
  218. package/dist/public/sdk/runtime-recovery-codes-rLR4Guy4.js +0 -1
  219. package/dist/public/sdk/secp256k1-C-AETUpI.js +0 -1
  220. package/dist/public/sdk/shared-6bpRPbcM.js +0 -6
  221. package/dist/public/sdk/signNear-DGUQZ44s.js +0 -1
  222. package/dist/public/sdk/singletons-8UH3gOnZ.js +0 -1
  223. package/dist/public/sdk/walletCustodyEcdsaContinuity-D-gYxv6e.js +0 -1
  224. package/dist/public/sdk/walletRecoveryCommit-BYRC_2li.js +0 -1
  225. package/dist/public/sdk/warmSessionHydration-B7-kCnJh.js +0 -1
  226. /package/dist/esm/sdk/{accountIds-BzZs7YoX.js → accountIds-Cpvlkvbe.js} +0 -0
  227. /package/dist/esm/sdk/{appearance-DITtYj-z.js → appearance-4DmzKUWf.js} +0 -0
  228. /package/dist/esm/sdk/{authenticatorOptions-C9aCKgeF.js → authenticatorOptions-2_XK8aXv.js} +0 -0
  229. /package/dist/esm/sdk/{browser-DkCRXFkk.js → browser-n3IVr7qu.js} +0 -0
  230. /package/dist/esm/sdk/{digestEncoding-CkUc5vtR.js → digestEncoding-BX3VW9eF.js} +0 -0
  231. /package/dist/esm/sdk/{ecdsaChainTarget-DJBXHzbH.js → ecdsaChainTarget-Bfatk3oP.js} +0 -0
  232. /package/dist/esm/sdk/{helpers-BnkILY2_.js → helpers-B9fpZNAP.js} +0 -0
  233. /package/dist/esm/sdk/{intentDigest-DJBrMyLJ.js → intentDigest-P_-CM7lS.js} +0 -0
  234. /package/dist/esm/sdk/{jsonRpc-YKL5n8VL.js → jsonRpc-BVDv1wfm.js} +0 -0
  235. /package/dist/esm/sdk/{jsxRuntime.module-C8JOKu_4.js → jsxRuntime.module-DKsgiFjd.js} +0 -0
  236. /package/dist/esm/sdk/{keccak-BArcwgbj.js → keccak-mS0Mejjx.js} +0 -0
  237. /package/dist/esm/sdk/{normalization-CeZT7ob0.js → normalization-C6fQN6mW.js} +0 -0
  238. /package/dist/esm/sdk/{operationFingerprint-CUrnoh-M.js → operationFingerprint-BHNYryLY.js} +0 -0
  239. /package/dist/esm/sdk/{presignatures-DZm0d6Wy.js → presignatures-K-yuzOE0.js} +0 -0
  240. /package/dist/esm/sdk/{prfCache-DCkuB8Lu.js → prfCache-DJ93rtDv.js} +0 -0
  241. /package/dist/esm/sdk/{profileAccountProjection-B3LXAUmo.js → profileAccountProjection-BNVJLOt2.js} +0 -0
  242. /package/dist/esm/sdk/{promptText-B8RprJhO.js → promptText-CnyrLxgj.js} +0 -0
  243. /package/dist/esm/sdk/{registrationAuthMethodInput-BBCeWDmw.js → registrationAuthMethodInput-RbSR7R1G.js} +0 -0
  244. /package/dist/esm/sdk/{registrationIds-ByuReLUc.js → registrationIds-BaK3jUS6.js} +0 -0
  245. /package/dist/esm/sdk/{sdkSentEvents-Dl8fOL50.js → sdkSentEvents-D4KtK7_I.js} +0 -0
  246. /package/dist/esm/sdk/{signatureUses-8c8Ku_Fw.js → signatureUses-BKAoDbQd.js} +0 -0
  247. /package/dist/esm/sdk/{signerDomain-DqLCvI-D.js → signerDomain-Dp7BhfmZ.js} +0 -0
  248. /package/dist/esm/sdk/{signerSlot-B4Eq8Oe2.js → signerSlot-FJAGOhmg.js} +0 -0
  249. /package/dist/esm/sdk/{types-DhtByIcQ.js → types-Buoe6179.js} +0 -0
  250. /package/dist/esm/sdk/{walletRecoveryRotate-D_1a8Agl.js → walletRecoveryRotate-BN3H8byw.js} +0 -0
  251. /package/dist/esm/sdk/{walletSessionAuthorizationStatus-BLyzJbU8.js → walletSessionAuthorizationStatus-BL7j2TeM.js} +0 -0
  252. /package/dist/esm/sdk/{webauthnP256-DZCusNY9.js → webauthnP256-BwgxtG5N.js} +0 -0
  253. /package/dist/esm/sdk/{webauthnPromptCoordinator-CS4Xc_jZ.js → webauthnPromptCoordinator-CwJeKiYq.js} +0 -0
  254. /package/dist/public/sdk/{accountIds-BzZs7YoX.js → accountIds-Cpvlkvbe.js} +0 -0
  255. /package/dist/public/sdk/{appearance-DITtYj-z.js → appearance-4DmzKUWf.js} +0 -0
  256. /package/dist/public/sdk/{authenticatorOptions-C9aCKgeF.js → authenticatorOptions-2_XK8aXv.js} +0 -0
  257. /package/dist/public/sdk/{browser-DkCRXFkk.js → browser-n3IVr7qu.js} +0 -0
  258. /package/dist/public/sdk/{digestEncoding-CkUc5vtR.js → digestEncoding-BX3VW9eF.js} +0 -0
  259. /package/dist/public/sdk/{ecdsaChainTarget-DJBXHzbH.js → ecdsaChainTarget-Bfatk3oP.js} +0 -0
  260. /package/dist/public/sdk/{helpers-BnkILY2_.js → helpers-B9fpZNAP.js} +0 -0
  261. /package/dist/public/sdk/{intentDigest-DJBrMyLJ.js → intentDigest-P_-CM7lS.js} +0 -0
  262. /package/dist/public/sdk/{jsonRpc-YKL5n8VL.js → jsonRpc-BVDv1wfm.js} +0 -0
  263. /package/dist/public/sdk/{jsxRuntime.module-C8JOKu_4.js → jsxRuntime.module-DKsgiFjd.js} +0 -0
  264. /package/dist/public/sdk/{keccak-BArcwgbj.js → keccak-mS0Mejjx.js} +0 -0
  265. /package/dist/public/sdk/{normalization-CeZT7ob0.js → normalization-C6fQN6mW.js} +0 -0
  266. /package/dist/public/sdk/{operationFingerprint-CUrnoh-M.js → operationFingerprint-BHNYryLY.js} +0 -0
  267. /package/dist/public/sdk/{presignatures-DZm0d6Wy.js → presignatures-K-yuzOE0.js} +0 -0
  268. /package/dist/public/sdk/{prfCache-DCkuB8Lu.js → prfCache-DJ93rtDv.js} +0 -0
  269. /package/dist/public/sdk/{profileAccountProjection-B3LXAUmo.js → profileAccountProjection-BNVJLOt2.js} +0 -0
  270. /package/dist/public/sdk/{promptText-B8RprJhO.js → promptText-CnyrLxgj.js} +0 -0
  271. /package/dist/public/sdk/{registrationAuthMethodInput-BBCeWDmw.js → registrationAuthMethodInput-RbSR7R1G.js} +0 -0
  272. /package/dist/public/sdk/{registrationIds-ByuReLUc.js → registrationIds-BaK3jUS6.js} +0 -0
  273. /package/dist/public/sdk/{sdkSentEvents-Dl8fOL50.js → sdkSentEvents-D4KtK7_I.js} +0 -0
  274. /package/dist/public/sdk/{signatureUses-8c8Ku_Fw.js → signatureUses-BKAoDbQd.js} +0 -0
  275. /package/dist/public/sdk/{signerDomain-DqLCvI-D.js → signerDomain-Dp7BhfmZ.js} +0 -0
  276. /package/dist/public/sdk/{signerSlot-B4Eq8Oe2.js → signerSlot-FJAGOhmg.js} +0 -0
  277. /package/dist/public/sdk/{types-DhtByIcQ.js → types-Buoe6179.js} +0 -0
  278. /package/dist/public/sdk/{walletRecoveryRotate-D_1a8Agl.js → walletRecoveryRotate-BN3H8byw.js} +0 -0
  279. /package/dist/public/sdk/{walletSessionAuthorizationStatus-BLyzJbU8.js → walletSessionAuthorizationStatus-BL7j2TeM.js} +0 -0
  280. /package/dist/public/sdk/{webauthnP256-DZCusNY9.js → webauthnP256-BwgxtG5N.js} +0 -0
  281. /package/dist/public/sdk/{webauthnPromptCoordinator-CS4Xc_jZ.js → webauthnPromptCoordinator-CwJeKiYq.js} +0 -0
@@ -0,0 +1 @@
1
+ import{t as e}from"./walletDbName-DtRewci9.js";const t={appState:`app_state`,wallets:`wallets`,walletAuthorities:`wallet_authorities`,walletAuthMethods:`wallet_auth_methods`,walletAuthoritySignerMaterials:`wallet_authority_signer_materials`,walletAuthorityExportRoots:`wallet_authority_export_roots`,walletAuthorityInstallationReceipts:`wallet_authority_installation_receipts`,walletSelections:`wallet_selections`,walletSigners:`wallet_signers`,nearAccountProjections:`near_accounts`,signerOpsOutbox:`signer_ops_outbox`,nonceLaneLeases:`nonce_lane_leases`,nonceLaneLocks:`nonce_lane_locks`,keyMaterial:`key_material`,signingSessionSeals:`signing_session_seals`,signingSessionRestoreLeases:`signing_session_restore_leases`,pendingWalletRecoveryCodeBackups:`email_otp_pending_recovery_code_backups`,walletSessionAuthorizations:`wallet_session_authorizations`,ecdsaCapabilityManifests:`ecdsa_capability_manifests`,ecdsaCurrentCapabilityManifests:`ecdsa_current_capability_manifests`,ecdsaRoleLocalMaterial:`ecdsa_role_local_material`,ecdsaActivationCommitJournals:`ecdsa_activation_commit_journals`,ecdsaMaterialSealingKeys:`ecdsa_material_sealing_keys`,ecdsaClientPresignatures:`ecdsa_client_presignatures`},n={profileId:`profile_id`,updatedAt:`updated_at`,walletId:`wallet_id`,walletIdKind:`wallet_id_kind`,walletKindNearSignerSlot:`wallet_kind_near_signer_slot`,walletKindNearEd25519SigningKeyId:`wallet_kind_near_ed25519_signing_key_id`,walletKindChainTargetKeyHandle:`wallet_kind_chain_target_key_handle`,walletKindChainTargetKeyFacts:`wallet_kind_chain_target_key_facts`,walletSignerId:`wallet_signer_id`,nearAccountId:`near_account_id`,rpId:`rp_id`,chainTargetKey:`chain_target_key`,keyHandle:`key_handle`,thresholdOwnerAddress:`threshold_owner_address`,status:`status`,nextAttemptAt:`next_attempt_at`,statusNextAttemptAt:`status_next_attempt_at`,idempotencyKey:`idempotency_key`,laneKey:`lane_key`,state:`state`,expiresAtMs:`expires_at_ms`,recoveryCodesIssuedAtMs:`recovery_codes_issued_at_ms`,laneState:`lane_state`,walletExpiresAt:`wallet_expires_at`,ownerId:`owner_id`,publicKey:`public_key`,authMethod:`auth_method`,curve:`curve`,ed25519ThresholdSessionId:`ed25519_threshold_session_id`,ecdsaThresholdSessionId:`ecdsa_threshold_session_id`,thresholdSessionId:`threshold_session_id`,exactSigningLaneIdentityKey:`exact_signing_lane_identity_key`,enrollmentId:`enrollment_id`,walletIdEnrollmentId:`wallet_id_enrollment_id`,authIdentifierKey:`auth_identifier_key`,kindRpIdAuthIdentifier:`kind_rp_id_auth_identifier`,passkeyRpIdCredentialId:`passkey_rp_id_credential_id`,capabilityWallet:`capability_wallet`,capabilityWalletAuthorityState:`capability_wallet_authority_state`,capabilityWalletAuthority:`capability_wallet_authority`,walletAuthorityId:`wallet_authority_id`,walletAuthMethodId:`wallet_auth_method_id`,walletIdAuthorityId:`wallet_id_authority_id`,walletIdAuthorityStatus:`wallet_id_authority_status`,walletIdAuthMethodId:`wallet_id_auth_method_id`,walletAuthorityAuthMethodId:`wallet_authority_auth_method_id`,activationId:`activation_id`,walletAuthorityActivationId:`wallet_authority_activation_id`,walletIdDeviceId:`wallet_id_device_id`,packageSetDigest:`package_set_digest`,walletKeyId:`wallet_key_id`,walletIdLockGeneration:`wallet_id_lock_generation`,authorityDigest:`authority_digest`,revocationEpoch:`revocation_epoch`,poolIdentityKey:`pool_identity_key`,walletMaterialActivationId:`wallet_material_activation_id`},r=[{store:t.appState,keyPath:`key`,indexes:[]},{store:t.wallets,keyPath:`wallet_id`,indexes:[{name:n.rpId,keyPath:`rp_id`,unique:!1},{name:n.status,keyPath:`status`,unique:!1},{name:n.updatedAt,keyPath:`updated_at`,unique:!1}]},{store:t.walletAuthorities,keyPath:`authority_id`,indexes:[{name:n.walletId,keyPath:`wallet_id`,unique:!1},{name:n.walletAuthorityId,keyPath:`authority_id`,unique:!0},{name:n.walletIdAuthorityId,keyPath:[`wallet_id`,`authority_id`],unique:!0},{name:n.walletIdAuthorityStatus,keyPath:[`wallet_id`,`state`],unique:!1},{name:n.walletIdDeviceId,keyPath:[`wallet_id`,`device_id`],unique:!1},{name:n.updatedAt,keyPath:`updated_at`,unique:!1}]},{store:t.walletAuthMethods,keyPath:`wallet_auth_method_id`,indexes:[{name:n.walletId,keyPath:`wallet_id`,unique:!1},{name:n.walletIdKind,keyPath:[`wallet_id`,`kind`],unique:!1},{name:n.authMethod,keyPath:`auth_method`,unique:!1},{name:n.rpId,keyPath:`rp_id`,unique:!1},{name:n.authIdentifierKey,keyPath:`auth_identifier_key`,unique:!1},{name:n.kindRpIdAuthIdentifier,keyPath:[`kind`,`rp_id`,`auth_identifier_key`],unique:!1},{name:n.passkeyRpIdCredentialId,keyPath:[`kind`,`rp_id`,`credential_id_b64u`],unique:!0},{name:n.status,keyPath:`status`,unique:!1},{name:n.walletAuthorityId,keyPath:`wallet_authority_id`,unique:!1},{name:n.walletIdAuthMethodId,keyPath:[`wallet_id`,`wallet_auth_method_id`],unique:!0},{name:n.walletIdAuthorityStatus,keyPath:[`wallet_id`,`wallet_authority_id`,`status`],unique:!1},{name:n.updatedAt,keyPath:`updated_at`,unique:!1}]},{store:t.walletAuthoritySignerMaterials,keyPath:[`wallet_authority_id`,`wallet_auth_method_id`,`activation_id`],indexes:[{name:n.walletAuthorityId,keyPath:`wallet_authority_id`,unique:!1},{name:n.walletAuthorityAuthMethodId,keyPath:[`wallet_authority_id`,`wallet_auth_method_id`],unique:!1},{name:n.activationId,keyPath:`activation_id`,unique:!1},{name:n.walletAuthorityActivationId,keyPath:[`wallet_authority_id`,`activation_id`],unique:!0}]},{store:t.walletAuthorityExportRoots,keyPath:[`wallet_authority_id`,`wallet_auth_method_id`,`wallet_key_id`],indexes:[{name:n.walletAuthorityId,keyPath:`wallet_authority_id`,unique:!1},{name:n.walletAuthorityAuthMethodId,keyPath:[`wallet_authority_id`,`wallet_auth_method_id`],unique:!1},{name:n.walletKeyId,keyPath:`wallet_key_id`,unique:!1}]},{store:t.walletAuthorityInstallationReceipts,keyPath:`authority_id`,indexes:[{name:n.walletAuthorityId,keyPath:`authority_id`,unique:!0},{name:n.walletId,keyPath:`wallet_id`,unique:!1},{name:n.walletAuthMethodId,keyPath:`wallet_auth_method_id`,unique:!1},{name:n.walletIdDeviceId,keyPath:[`wallet_id`,`device_id`],unique:!1},{name:n.packageSetDigest,keyPath:`package_set_digest_b64u`,unique:!1},{name:n.updatedAt,keyPath:`installed_at_ms`,unique:!1}]},{store:t.walletSelections,keyPath:`wallet_id`,indexes:[{name:n.walletId,keyPath:`wallet_id`,unique:!0},{name:n.walletAuthMethodId,keyPath:`wallet_auth_method_id`,unique:!1},{name:n.walletIdLockGeneration,keyPath:[`wallet_id`,`lock_generation`],unique:!0}]},{store:t.walletSigners,keyPath:`wallet_signer_id`,indexes:[{name:n.walletId,keyPath:`wallet_id`,unique:!1},{name:n.walletIdKind,keyPath:[`wallet_id`,`kind`],unique:!1},{name:n.walletKindNearSignerSlot,keyPath:[`wallet_id`,`kind`,`near_signer_slot`],unique:!1},{name:n.walletKindNearEd25519SigningKeyId,keyPath:[`wallet_id`,`kind`,`near_ed25519_signing_key_id`],unique:!1},{name:n.walletKindChainTargetKeyHandle,keyPath:[`wallet_id`,`kind`,`chain_target_key`,`key_handle`],unique:!0},{name:n.walletKindChainTargetKeyFacts,keyPath:[`wallet_id`,`kind`,`chain_target_key`,`ecdsa_threshold_key_id`],unique:!0},{name:n.chainTargetKey,keyPath:`chain_target_key`,unique:!1},{name:n.keyHandle,keyPath:`key_handle`,unique:!1},{name:n.thresholdOwnerAddress,keyPath:`threshold_owner_address`,unique:!1},{name:n.status,keyPath:`status`,unique:!1},{name:n.updatedAt,keyPath:`updated_at`,unique:!1}]},{store:t.nearAccountProjections,keyPath:[`wallet_id`,`near_account_id`,`signer_slot`],indexes:[{name:n.nearAccountId,keyPath:`near_account_id`,unique:!1},{name:n.profileId,keyPath:`profile_id`,unique:!1},{name:n.publicKey,keyPath:`public_key`,unique:!1},{name:n.updatedAt,keyPath:`updated_at`,unique:!1}]},{store:t.signerOpsOutbox,keyPath:`op_id`,indexes:[{name:n.status,keyPath:`status`,unique:!1},{name:n.nextAttemptAt,keyPath:`next_attempt_at`,unique:!1},{name:n.statusNextAttemptAt,keyPath:[`status`,`next_attempt_at`],unique:!1},{name:n.idempotencyKey,keyPath:`idempotency_key`,unique:!0},{name:n.walletId,keyPath:`wallet_id`,unique:!1},{name:n.chainTargetKey,keyPath:`chain_target_key`,unique:!1}]},{store:t.nonceLaneLeases,keyPath:`lease_id`,indexes:[{name:n.laneKey,keyPath:`lane_key`,unique:!1},{name:n.walletId,keyPath:`wallet_id`,unique:!1},{name:n.nearAccountId,keyPath:`near_account_id`,unique:!1},{name:n.state,keyPath:`state`,unique:!1},{name:n.expiresAtMs,keyPath:`expires_at_ms`,unique:!1},{name:n.laneState,keyPath:[`lane_key`,`state`],unique:!1},{name:n.walletExpiresAt,keyPath:[`wallet_id`,`expires_at_ms`],unique:!1}]},{store:t.nonceLaneLocks,keyPath:`lock_key`,indexes:[{name:n.expiresAtMs,keyPath:`expires_at_ms`,unique:!1},{name:n.ownerId,keyPath:`owner_id`,unique:!1}]},{store:t.keyMaterial,keyPath:`key_material_id`,indexes:[{name:n.walletId,keyPath:`wallet_id`,unique:!1},{name:n.walletSignerId,keyPath:`wallet_signer_id`,unique:!1},{name:n.chainTargetKey,keyPath:`chain_target_key`,unique:!1},{name:n.keyHandle,keyPath:`key_handle`,unique:!1},{name:n.publicKey,keyPath:`public_key`,unique:!1},{name:n.updatedAt,keyPath:`updated_at`,unique:!1}]},{store:t.signingSessionSeals,keyPath:`store_key`,indexes:[{name:n.walletId,keyPath:`wallet_id`,unique:!1},{name:n.authMethod,keyPath:`auth_method`,unique:!1},{name:n.curve,keyPath:`curve`,unique:!1},{name:n.ed25519ThresholdSessionId,keyPath:`ed25519_threshold_session_id`,unique:!1},{name:n.ecdsaThresholdSessionId,keyPath:`ecdsa_threshold_session_id`,unique:!1},{name:n.thresholdSessionId,keyPath:`threshold_session_id`,unique:!1},{name:n.enrollmentId,keyPath:`enrollmentId`,unique:!1},{name:n.keyHandle,keyPath:`key_handle`,unique:!1},{name:n.chainTargetKey,keyPath:`chain_target_key`,unique:!1},{name:n.exactSigningLaneIdentityKey,keyPath:`exact_signing_lane_identity_key`,unique:!1},{name:n.expiresAtMs,keyPath:`expires_at_ms`,unique:!1},{name:n.updatedAt,keyPath:`updated_at`,unique:!1}]},{store:t.signingSessionRestoreLeases,keyPath:`lease_key`,indexes:[{name:n.thresholdSessionId,keyPath:`threshold_session_id`,unique:!1},{name:n.ownerId,keyPath:`owner_id`,unique:!1},{name:n.expiresAtMs,keyPath:`expires_at_ms`,unique:!1}]},{store:t.pendingWalletRecoveryCodeBackups,keyPath:[`wallet_id`,`enrollment_id`],indexes:[{name:n.walletId,keyPath:`wallet_id`,unique:!1},{name:n.enrollmentId,keyPath:`enrollment_id`,unique:!1},{name:n.walletIdEnrollmentId,keyPath:[`wallet_id`,`enrollment_id`],unique:!0},{name:n.recoveryCodesIssuedAtMs,keyPath:`recovery_codes_issued_at_ms`,unique:!1},{name:n.status,keyPath:`status`,unique:!1}]},{store:t.walletSessionAuthorizations,keyPath:`wallet_session_id`,indexes:[{name:n.walletId,keyPath:`wallet_id`,unique:!1},{name:n.walletAuthorityId,keyPath:`wallet_authority_id`,unique:!1},{name:n.walletAuthMethodId,keyPath:`wallet_auth_method_id`,unique:!1},{name:n.authorityDigest,keyPath:`authority_digest_b64u`,unique:!1},{name:n.revocationEpoch,keyPath:`authority_revocation_epoch`,unique:!1},{name:n.status,keyPath:`status`,unique:!1},{name:n.expiresAtMs,keyPath:`expires_at_ms`,unique:!1}]},{store:t.ecdsaCapabilityManifests,keyPath:`manifest_id`,indexes:[{name:n.capabilityWallet,keyPath:[`capability_ref`,`wallet_id`],unique:!1},{name:n.capabilityWalletAuthorityState,keyPath:[`capability_ref`,`wallet_id`,`authority_digest`,`manifest_state`],unique:!1}]},{store:t.ecdsaCurrentCapabilityManifests,keyPath:[`capability_ref`,`wallet_id`,`authority_digest`],indexes:[{name:n.walletId,keyPath:`wallet_id`,unique:!1}]},{store:t.ecdsaRoleLocalMaterial,keyPath:`durable_material_ref`,indexes:[]},{store:t.ecdsaActivationCommitJournals,keyPath:`journal_id`,indexes:[{name:n.capabilityWalletAuthority,keyPath:[`capability_ref`,`wallet_id`,`authority_digest`],unique:!0}]},{store:t.ecdsaMaterialSealingKeys,keyPath:`key_id`,indexes:[]},{store:t.ecdsaClientPresignatures,keyPath:`record_id`,indexes:[{name:n.poolIdentityKey,keyPath:`pool_identity_key`,unique:!1},{name:n.walletId,keyPath:`wallet_id`,unique:!1},{name:n.walletMaterialActivationId,keyPath:[`wallet_id`,`material_activation_id`],unique:!1},{name:n.expiresAtMs,keyPath:`expires_at_ms`,unique:!1},{name:n.walletExpiresAt,keyPath:[`wallet_id`,`expires_at_ms`],unique:!1}]}],i=(e,t)=>t.some(t=>e instanceof t);let a,o;function s(){return a||=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction]}function c(){return o||=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey]}const l=new WeakMap,u=new WeakMap,d=new WeakMap;function f(e){let t=new Promise((t,n)=>{let r=()=>{e.removeEventListener(`success`,i),e.removeEventListener(`error`,a)},i=()=>{t(v(e.result)),r()},a=()=>{n(e.error),r()};e.addEventListener(`success`,i),e.addEventListener(`error`,a)});return d.set(t,e),t}function p(e){if(l.has(e))return;let t=new Promise((t,n)=>{let r=()=>{e.removeEventListener(`complete`,i),e.removeEventListener(`error`,a),e.removeEventListener(`abort`,a)},i=()=>{t(),r()},a=()=>{n(e.error||new DOMException(`AbortError`,`AbortError`)),r()};e.addEventListener(`complete`,i),e.addEventListener(`error`,a),e.addEventListener(`abort`,a)});l.set(e,t)}let m={get(e,t,n){if(e instanceof IDBTransaction){if(t===`done`)return l.get(e);if(t===`store`)return n.objectStoreNames[1]?void 0:n.objectStore(n.objectStoreNames[0])}return v(e[t])},set(e,t,n){return e[t]=n,!0},has(e,t){return e instanceof IDBTransaction&&(t===`done`||t===`store`)?!0:t in e}};function h(e){m=e(m)}function g(e){return c().includes(e)?function(...t){return e.apply(y(this),t),v(this.request)}:function(...t){return v(e.apply(y(this),t))}}function _(e){return typeof e==`function`?g(e):(e instanceof IDBTransaction&&p(e),i(e,s())?new Proxy(e,m):e)}function v(e){if(e instanceof IDBRequest)return f(e);if(u.has(e))return u.get(e);let t=_(e);return t!==e&&(u.set(e,t),d.set(t,e)),t}const y=e=>d.get(e);function b(e,t,{blocked:n,upgrade:r,blocking:i,terminated:a}={}){let o=indexedDB.open(e,t),s=v(o);return r&&o.addEventListener(`upgradeneeded`,e=>{r(v(o.result),e.oldVersion,e.newVersion,v(o.transaction),e)}),n&&o.addEventListener(`blocked`,e=>n(e.oldVersion,e.newVersion,e)),s.then(e=>{a&&e.addEventListener(`close`,()=>a()),i&&e.addEventListener(`versionchange`,e=>i(e.oldVersion,e.newVersion,e))}).catch(()=>{}),s}const x=[`get`,`getKey`,`getAll`,`getAllKeys`,`count`],S=[`put`,`add`,`delete`,`clear`],C=new Map;function w(e,t){if(!(e instanceof IDBDatabase&&!(t in e)&&typeof t==`string`))return;if(C.get(t))return C.get(t);let n=t.replace(/FromIndex$/,``),r=t!==n,i=S.includes(n);if(!(n in(r?IDBIndex:IDBObjectStore).prototype)||!(i||x.includes(n)))return;let a=async function(e,...t){let a=this.transaction(e,i?`readwrite`:`readonly`),o=a.store;return r&&(o=o.index(t.shift())),(await Promise.all([o[n](...t),i&&a.done]))[0]};return C.set(t,a),a}h(e=>({...e,get:(t,n,r)=>w(t,n)||e.get(t,n,r),has:(t,n)=>!!w(t,n)||e.has(t,n)}));const T=[`continue`,`continuePrimaryKey`,`advance`],E={},D=new WeakMap,O=new WeakMap,k={get(e,t){if(!T.includes(t))return e[t];let n=E[t];return n||=E[t]=function(...e){D.set(this,O.get(this)[t](...e))},n}};async function*A(...e){let t=this;if(t instanceof IDBCursor||(t=await t.openCursor(...e)),!t)return;t=t;let n=new Proxy(t,k);for(O.set(n,t),d.set(n,y(t));t;)yield n,t=await(D.get(n)||t.continue()),D.delete(n)}function j(e,t){return t===Symbol.asyncIterator&&i(e,[IDBIndex,IDBObjectStore,IDBCursor])||t===`iterate`&&i(e,[IDBIndex,IDBObjectStore])}h(e=>({...e,get(t,n,r){return j(t,n)?A:e.get(t,n,r)},has(t,n){return j(t,n)||e.has(t,n)}}));const M={dbName:e,dbVersion:24};function N(e){return typeof e==`string`?e:[...e]}function P(e,t){let n=e.createObjectStore(t.store,{keyPath:N(t.keyPath)});for(let e of t.indexes)n.createIndex(e.name,N(e.keyPath),{unique:e.unique})}function F(e){for(let t of r)e.objectStoreNames.contains(t.store)||P(e,t)}const I=8e3;function L(e){return Error(`[SeamsWalletDBManager] IndexedDB open is blocked for ${e}. Close other tabs using this app and retry.`)}function R(e){return Error(e)}async function z(e,t,n,r){let i=!1,a=null,o=new Promise((e,o)=>{a=setTimeout(()=>{i||(r?.(),o(n))},t)});try{return await Promise.race([e,o])}finally{i=!0,a&&clearTimeout(a)}}async function B(e,t){let n=await t(e);return await e.tx.done,n}const V=new Set([t.walletAuthorities,t.walletAuthoritySignerMaterials,t.walletAuthorityExportRoots,t.walletAuthMethods,t.walletSelections,t.walletSessionAuthorizations]);function H(e,t,n,...r){let i=Reflect.apply(n,t,r);return e.changed=!0,i}function U(e,t,n){let r=Reflect.get(t,n);if(typeof r!=`function`)return r;switch(n){case`add`:case`put`:case`delete`:case`clear`:return H.bind(null,e,t,r);default:return r.bind(t)}}function W(e,t,n){let r=e.objectStore(n);return e.mode===`readonly`||!V.has(n)?r:new Proxy(r,{get:U.bind(null,t)})}function G(){}function K(e){if(typeof BroadcastChannel>`u`)return null;try{return new BroadcastChannel(`seams-wallet-authority:${e}`)}catch(e){return console.warn(`[SeamsWalletDBManager] Authority notifications are unavailable:`,e),null}}const q=new class{onWalletAuthorityChange(e){return this.walletAuthorityListeners.add(e),this.connectWalletAuthorityChannel(),this.removeWalletAuthorityListener.bind(this,e)}removeWalletAuthorityListener(e){this.walletAuthorityListeners.delete(e),this.walletAuthorityListeners.size===0&&this.closeWalletAuthorityChannel()}getWalletAuthorityRevision(){return this.walletAuthorityRevision}publishWalletAuthorityCommit(e,t){if(!e.changed)return;t===this.config.dbName&&this.invalidateWalletAuthority();let n=t===this.config.dbName?this.walletAuthorityChannel:null,r=n??K(t);if(r)try{r.postMessage(`authority_committed`)}catch(e){console.warn(`[SeamsWalletDBManager] Authority notification failed:`,e)}finally{r!==n&&r.close()}}connectWalletAuthorityChannel(){if(this.disabled||this.walletAuthorityChannel||this.walletAuthorityListeners.size===0)return;let e=K(this.config.dbName);e&&(e.onmessage=this.receiveWalletAuthorityCommit.bind(this,e),this.walletAuthorityChannel=e)}closeWalletAuthorityChannel(){this.walletAuthorityChannel?.close(),this.walletAuthorityChannel=null}receiveWalletAuthorityCommit(e,t){e!==this.walletAuthorityChannel||t.data!==`authority_committed`||this.invalidateWalletAuthority()}invalidateWalletAuthority(){this.walletAuthorityRevision+=1;for(let e of Array.from(this.walletAuthorityListeners))try{e()}catch{}}constructor(e=M){this.dbPromise=null,this.disabled=!1,this.walletAuthorityRevision=0,this.walletAuthorityChannel=null,this.walletAuthorityListeners=new Set,this.config=e}getDbName(){return this.config.dbName}setDbName(e){this.config.dbName!==e&&(this.close(),this.closeWalletAuthorityChannel(),this.config={...this.config,dbName:e},this.connectWalletAuthorityChannel(),this.invalidateWalletAuthority())}setDisabled(e){this.disabled=e,e?(this.close(),this.closeWalletAuthorityChannel()):this.connectWalletAuthorityChannel()}isDisabled(){return this.disabled}close(){this.dbPromise&&=(this.dbPromise.then(e=>e.close()).catch(()=>void 0),null)}async getDB(){if(this.disabled)throw Error(`[SeamsWalletDBManager] IndexedDB is disabled in this environment.`);if(!this.dbPromise){let e=this.config.dbName,t=this.config.dbVersion,n=null,r=null,i=new Promise((e,t)=>{r=t}),a=b(e,t,{upgrade(e){F(e)},blocked(){console.warn(`[SeamsWalletDBManager] IndexedDB open is blocked.`,{dbName:e,dbVersion:t}),n=setTimeout(()=>{r?.(L(e))},3e3)},blocking:()=>{console.warn(`[SeamsWalletDBManager] IndexedDB connection is blocking an upgrade.`,{dbName:e,dbVersion:t}),this.close()},terminated(){console.warn(`[SeamsWalletDBManager] IndexedDB connection has been terminated.`,{dbName:e,dbVersion:t})}});this.dbPromise=z(Promise.race([a,i]).finally(()=>{n&&clearTimeout(n)}),I,R(`[SeamsWalletDBManager] IndexedDB open timed out for ${e}. Close other tabs using this app and retry.`)).catch(e=>{throw this.dbPromise=null,a.then(e=>e.close()).catch(()=>void 0),e})}return await this.dbPromise}async runTransaction(e,t,n,r){let i=await z(this.getDB(),I,R(`[SeamsWalletDBManager] IndexedDB connection timed out for ${this.config.dbName}. Close other tabs using this app and retry.`)),a=i.transaction([...e],t,r),o={changed:!1},s={db:i,tx:a,store:W.bind(null,a,o)};a.done.then(this.publishWalletAuthorityCommit.bind(this,o,i.name)).catch(G);try{return await z(B(s,n),8e3,R(`[SeamsWalletDBManager] IndexedDB transaction timed out for ${this.config.dbName}. Close other tabs using this app and retry.`),()=>{try{a.abort()}catch{}})}catch(e){try{a.abort()}catch{}throw await a.done.catch(()=>void 0),e}}};export{t as i,y as n,n as r,q as t};
@@ -1 +1 @@
1
- import{y as e}from"./domainIds-BzkGsRqO.js";import{D as t,E as n,j as r,k as i}from"./primitives-CqrjmIAH.js";import{t as a}from"./errors-DIWY1KR9.js";import{c as o}from"./ecdsaChainTarget-DJBXHzbH.js";import{L as s,et as c,ot as l,r as u}from"./emailOtpEcdsaDerivationIdentity-p0C1CQva.js";const d=`Your worker restarted mid-request`;function f(t,n){let r=e(t);if(!r.ok)throw Error(`${n} is invalid`);return r.value}function p(e,t){let n=typeof e==`string`?e.trim():``;if(!n)throw Error(`Missing ${t}`);return n}function m(e,t){if(typeof e!=`number`||!Number.isFinite(e))throw Error(`Missing ${t}`);return e}function h(e,t){let n=m(e,t);if(!Number.isSafeInteger(n)||n<0)throw Error(`${t} must be a non-negative integer`);return n}function g(e){if(!Array.isArray(e)||e.length===0)throw Error(`participantIds must be a non-empty array`);return e.map(e=>{let t=Number(e);if(!Number.isSafeInteger(t)||t<=0)throw Error(`participantIds must contain positive integer ids`);return t})}function _(e,t,n){if(typeof e!=`object`||!e||Array.isArray(e)||Object.getPrototypeOf(e)!==Object.prototype&&Object.getPrototypeOf(e)!==null)throw Error(`Missing ${n}`);let r=new Set(t),i=Object.keys(e);if(i.length!==r.size||i.some(e=>!r.has(e)))throw Error(`${n} contains unexpected fields`);return e}function v(e,t,n){let r=Object.getOwnPropertyDescriptor(e,t);if(!r||!(`value`in r))throw Error(`Missing ${n}`);return r.value}const y=[`formatVersion`,`walletId`,`evmFamilySigningKeySlotId`,`ecdsaThresholdKeyId`,`relayerKeyId`,`applicationBindingDigestB64u`,`contextBinding32B64u`,`publicIdentity`,`clientShareRetryCounter`,`relayerShareRetryCounter`,`keyHandle`,`signingRootId`,`signingRootVersion`,`thresholdEcdsaPublicKeyB64u`,`ethereumAddress`,`relayerVerifyingShareB64u`,`participantIds`,`thresholdSessionId`,`activationEpoch`,`expiresAtMs`,`expiresAt`,`remainingUses`,`routerAbEcdsaDerivationNormalSigning`];function b(e){let t=_(e,[`derivationClientSharePublicKey33B64u`,`relayerPublicKey33B64u`,`groupPublicKey33B64u`,`ethereumAddress`],`publicIdentity`);return{derivationClientSharePublicKey33B64u:p(v(t,`derivationClientSharePublicKey33B64u`,`publicIdentity.derivationClientSharePublicKey33B64u`),`publicIdentity.derivationClientSharePublicKey33B64u`),relayerPublicKey33B64u:p(v(t,`relayerPublicKey33B64u`,`publicIdentity.relayerPublicKey33B64u`),`publicIdentity.relayerPublicKey33B64u`),groupPublicKey33B64u:p(v(t,`groupPublicKey33B64u`,`publicIdentity.groupPublicKey33B64u`),`publicIdentity.groupPublicKey33B64u`),ethereumAddress:p(v(t,`ethereumAddress`,`publicIdentity.ethereumAddress`),`publicIdentity.ethereumAddress`)}}function x(e){let t=_(e,y,`value`);if(v(t,`formatVersion`,`value.formatVersion`)!==`ecdsa-derivation-role-local`)throw Error(`value.formatVersion is invalid`);let n=o(v(t,`walletId`,`value.walletId`)),r=p(v(t,`evmFamilySigningKeySlotId`,`value.evmFamilySigningKeySlotId`),`evmFamilySigningKeySlotId`),i=u(v(t,`ecdsaThresholdKeyId`,`value.ecdsaThresholdKeyId`)),a=p(v(t,`relayerKeyId`,`value.relayerKeyId`),`relayerKeyId`),s=p(v(t,`applicationBindingDigestB64u`,`value.applicationBindingDigestB64u`),`applicationBindingDigestB64u`),c=p(v(t,`contextBinding32B64u`,`value.contextBinding32B64u`),`contextBinding32B64u`),d=b(v(t,`publicIdentity`,`value.publicIdentity`)),x=h(v(t,`clientShareRetryCounter`,`value.clientShareRetryCounter`),`clientShareRetryCounter`),S=h(v(t,`relayerShareRetryCounter`,`value.relayerShareRetryCounter`),`relayerShareRetryCounter`),C=p(v(t,`keyHandle`,`value.keyHandle`),`keyHandle`),w=p(v(t,`signingRootId`,`value.signingRootId`),`signingRootId`),T=p(v(t,`signingRootVersion`,`value.signingRootVersion`),`signingRootVersion`),E=g(v(t,`participantIds`,`value.participantIds`)),D=p(v(t,`thresholdSessionId`,`value.thresholdSessionId`),`thresholdSessionId`),O=f(v(t,`activationEpoch`,`value.activationEpoch`),`activationEpoch`),k=m(v(t,`expiresAtMs`,`value.expiresAtMs`),`expiresAtMs`),A=l(v(t,`routerAbEcdsaDerivationNormalSigning`,`value.routerAbEcdsaDerivationNormalSigning`));return{formatVersion:`ecdsa-derivation-role-local`,walletId:n,evmFamilySigningKeySlotId:r,ecdsaThresholdKeyId:i,relayerKeyId:a,applicationBindingDigestB64u:s,contextBinding32B64u:c,publicIdentity:d,clientShareRetryCounter:x,relayerShareRetryCounter:S,keyHandle:C,signingRootId:w,signingRootVersion:T,thresholdEcdsaPublicKeyB64u:p(v(t,`thresholdEcdsaPublicKeyB64u`,`value.thresholdEcdsaPublicKeyB64u`),`thresholdEcdsaPublicKeyB64u`),ethereumAddress:p(v(t,`ethereumAddress`,`value.ethereumAddress`),`ethereumAddress`),relayerVerifyingShareB64u:p(v(t,`relayerVerifyingShareB64u`,`value.relayerVerifyingShareB64u`),`relayerVerifyingShareB64u`),participantIds:E,thresholdSessionId:D,activationEpoch:O,expiresAtMs:k,expiresAt:p(v(t,`expiresAt`,`value.expiresAt`),`expiresAt`),remainingUses:m(v(t,`remainingUses`,`value.remainingUses`),`remainingUses`),routerAbEcdsaDerivationNormalSigning:A}}function S(e){return e?e.kind===`opaque_wallet_session_operation_credential_v1`?e.token:String(e.token||``).trim():``}function C(e){if(e.auth?.kind===`opaque_wallet_session_operation_credential_v1`)return t({headers:i(e.auth),body:e.body});let r=S(e.auth),a=String(e.publishableKeyAuth||``).trim();return t({headers:r?n({token:r,missingMessage:`bearer token is required`}):a?n({token:a,missingMessage:`publishable key auth is required`}):void 0,body:e.body})}function w(e){return{code:`http_error`,message:`HTTP ${e}`}}function T(e){try{let t=_(e,[`ok`,`code`,`message`],`relayer failure`);if(v(t,`ok`,`relayer failure.ok`)!==!1)throw Error(`invalid ok`);let n=v(t,`code`,`relayer failure.code`),r=v(t,`message`,`relayer failure.message`);if(typeof n!=`string`||!n.trim())throw Error(`invalid code`);if(typeof r!=`string`||!r.trim())throw Error(`invalid message`);return{code:n.trim(),message:r.trim()}}catch{return null}}async function E(e){let t=await O(e);return k(t)?{ok:!1,code:`worker_restarted_mid_request`,message:d}:A(t)}async function D(e,t){try{let n=r(e);if(!n)throw Error(`Missing relayServerUrl`);let i=await fetch(`${n}${s}`,C({auth:t.auth,body:t.request})),a=await E(i);if(!i.ok){let e=T(a)??w(i.status);return{ok:!1,code:e.code,message:e.message}}return{ok:!0,value:c(a)}}catch(e){return{ok:!1,error:a(e)||`Router A/B ECDSA session activation failed`}}}async function O(e){try{return await e.text()}catch{return``}}function k(e){return e.includes(d)}function A(e){try{return JSON.parse(e||`{}`)}catch(e){throw Error(`Failed to parse threshold ECDSA relayer response JSON: ${a(e)}`)}}export{x as n,D as t};
1
+ import{y as e}from"./domainIds-BzkGsRqO.js";import{D as t,E as n,j as r,k as i}from"./primitives-CqrjmIAH.js";import{t as a}from"./errors-DIWY1KR9.js";import{c as o}from"./ecdsaChainTarget-Bfatk3oP.js";import{L as s,et as c,ot as l,r as u}from"./emailOtpEcdsaDerivationIdentity-Bik0N8v9.js";const d=`Your worker restarted mid-request`;function f(t,n){let r=e(t);if(!r.ok)throw Error(`${n} is invalid`);return r.value}function p(e,t){let n=typeof e==`string`?e.trim():``;if(!n)throw Error(`Missing ${t}`);return n}function m(e,t){if(typeof e!=`number`||!Number.isFinite(e))throw Error(`Missing ${t}`);return e}function h(e,t){let n=m(e,t);if(!Number.isSafeInteger(n)||n<0)throw Error(`${t} must be a non-negative integer`);return n}function g(e){if(!Array.isArray(e)||e.length===0)throw Error(`participantIds must be a non-empty array`);return e.map(e=>{let t=Number(e);if(!Number.isSafeInteger(t)||t<=0)throw Error(`participantIds must contain positive integer ids`);return t})}function _(e,t,n){if(typeof e!=`object`||!e||Array.isArray(e)||Object.getPrototypeOf(e)!==Object.prototype&&Object.getPrototypeOf(e)!==null)throw Error(`Missing ${n}`);let r=new Set(t),i=Object.keys(e);if(i.length!==r.size||i.some(e=>!r.has(e)))throw Error(`${n} contains unexpected fields`);return e}function v(e,t,n){let r=Object.getOwnPropertyDescriptor(e,t);if(!r||!(`value`in r))throw Error(`Missing ${n}`);return r.value}const y=[`formatVersion`,`walletId`,`evmFamilySigningKeySlotId`,`ecdsaThresholdKeyId`,`relayerKeyId`,`applicationBindingDigestB64u`,`contextBinding32B64u`,`publicIdentity`,`clientShareRetryCounter`,`relayerShareRetryCounter`,`keyHandle`,`signingRootId`,`signingRootVersion`,`thresholdEcdsaPublicKeyB64u`,`ethereumAddress`,`relayerVerifyingShareB64u`,`participantIds`,`thresholdSessionId`,`activationEpoch`,`expiresAtMs`,`expiresAt`,`remainingUses`,`routerAbEcdsaDerivationNormalSigning`];function b(e){let t=_(e,[`derivationClientSharePublicKey33B64u`,`relayerPublicKey33B64u`,`groupPublicKey33B64u`,`ethereumAddress`],`publicIdentity`);return{derivationClientSharePublicKey33B64u:p(v(t,`derivationClientSharePublicKey33B64u`,`publicIdentity.derivationClientSharePublicKey33B64u`),`publicIdentity.derivationClientSharePublicKey33B64u`),relayerPublicKey33B64u:p(v(t,`relayerPublicKey33B64u`,`publicIdentity.relayerPublicKey33B64u`),`publicIdentity.relayerPublicKey33B64u`),groupPublicKey33B64u:p(v(t,`groupPublicKey33B64u`,`publicIdentity.groupPublicKey33B64u`),`publicIdentity.groupPublicKey33B64u`),ethereumAddress:p(v(t,`ethereumAddress`,`publicIdentity.ethereumAddress`),`publicIdentity.ethereumAddress`)}}function x(e){let t=_(e,y,`value`);if(v(t,`formatVersion`,`value.formatVersion`)!==`ecdsa-derivation-role-local`)throw Error(`value.formatVersion is invalid`);let n=o(v(t,`walletId`,`value.walletId`)),r=p(v(t,`evmFamilySigningKeySlotId`,`value.evmFamilySigningKeySlotId`),`evmFamilySigningKeySlotId`),i=u(v(t,`ecdsaThresholdKeyId`,`value.ecdsaThresholdKeyId`)),a=p(v(t,`relayerKeyId`,`value.relayerKeyId`),`relayerKeyId`),s=p(v(t,`applicationBindingDigestB64u`,`value.applicationBindingDigestB64u`),`applicationBindingDigestB64u`),c=p(v(t,`contextBinding32B64u`,`value.contextBinding32B64u`),`contextBinding32B64u`),d=b(v(t,`publicIdentity`,`value.publicIdentity`)),x=h(v(t,`clientShareRetryCounter`,`value.clientShareRetryCounter`),`clientShareRetryCounter`),S=h(v(t,`relayerShareRetryCounter`,`value.relayerShareRetryCounter`),`relayerShareRetryCounter`),C=p(v(t,`keyHandle`,`value.keyHandle`),`keyHandle`),w=p(v(t,`signingRootId`,`value.signingRootId`),`signingRootId`),T=p(v(t,`signingRootVersion`,`value.signingRootVersion`),`signingRootVersion`),E=g(v(t,`participantIds`,`value.participantIds`)),D=p(v(t,`thresholdSessionId`,`value.thresholdSessionId`),`thresholdSessionId`),O=f(v(t,`activationEpoch`,`value.activationEpoch`),`activationEpoch`),k=m(v(t,`expiresAtMs`,`value.expiresAtMs`),`expiresAtMs`),A=l(v(t,`routerAbEcdsaDerivationNormalSigning`,`value.routerAbEcdsaDerivationNormalSigning`));return{formatVersion:`ecdsa-derivation-role-local`,walletId:n,evmFamilySigningKeySlotId:r,ecdsaThresholdKeyId:i,relayerKeyId:a,applicationBindingDigestB64u:s,contextBinding32B64u:c,publicIdentity:d,clientShareRetryCounter:x,relayerShareRetryCounter:S,keyHandle:C,signingRootId:w,signingRootVersion:T,thresholdEcdsaPublicKeyB64u:p(v(t,`thresholdEcdsaPublicKeyB64u`,`value.thresholdEcdsaPublicKeyB64u`),`thresholdEcdsaPublicKeyB64u`),ethereumAddress:p(v(t,`ethereumAddress`,`value.ethereumAddress`),`ethereumAddress`),relayerVerifyingShareB64u:p(v(t,`relayerVerifyingShareB64u`,`value.relayerVerifyingShareB64u`),`relayerVerifyingShareB64u`),participantIds:E,thresholdSessionId:D,activationEpoch:O,expiresAtMs:k,expiresAt:p(v(t,`expiresAt`,`value.expiresAt`),`expiresAt`),remainingUses:m(v(t,`remainingUses`,`value.remainingUses`),`remainingUses`),routerAbEcdsaDerivationNormalSigning:A}}function S(e){return e?e.kind===`opaque_wallet_session_operation_credential_v1`?e.token:String(e.token||``).trim():``}function C(e){if(e.auth?.kind===`opaque_wallet_session_operation_credential_v1`)return t({headers:i(e.auth),body:e.body});let r=S(e.auth),a=String(e.publishableKeyAuth||``).trim();return t({headers:r?n({token:r,missingMessage:`bearer token is required`}):a?n({token:a,missingMessage:`publishable key auth is required`}):void 0,body:e.body})}function w(e){return{code:`http_error`,message:`HTTP ${e}`}}function T(e){try{let t=_(e,[`ok`,`code`,`message`],`relayer failure`);if(v(t,`ok`,`relayer failure.ok`)!==!1)throw Error(`invalid ok`);let n=v(t,`code`,`relayer failure.code`),r=v(t,`message`,`relayer failure.message`);if(typeof n!=`string`||!n.trim())throw Error(`invalid code`);if(typeof r!=`string`||!r.trim())throw Error(`invalid message`);return{code:n.trim(),message:r.trim()}}catch{return null}}async function E(e){let t=await O(e);return k(t)?{ok:!1,code:`worker_restarted_mid_request`,message:d}:A(t)}async function D(e,t){try{let n=r(e);if(!n)throw Error(`Missing relayServerUrl`);let i=await fetch(`${n}${s}`,C({auth:t.auth,body:t.request})),a=await E(i);if(!i.ok){let e=T(a)??w(i.status);return{ok:!1,code:e.code,message:e.message}}return{ok:!0,value:c(a)}}catch(e){return{ok:!1,error:a(e)||`Router A/B ECDSA session activation failed`}}}async function O(e){try{return await e.text()}catch{return``}}function k(e){return e.includes(d)}function A(e){try{return JSON.parse(e||`{}`)}catch(e){throw Error(`Failed to parse threshold ECDSA relayer response JSON: ${a(e)}`)}}export{x as n,D as t};
@@ -1 +1 @@
1
- import{a as e}from"./types-WGrFMQSw.js";const t=new Set([`wallet_gateway_binding`,`wallet_gateway_total`,`wallet_console_binding_d1`,`wallet_console_binding_sql`,`ecdsa_sign_authorize`,`ecdsa_sign_admit`,`ecdsa_sign_proxy`,`ecdsa_sign_complete`,`ecdsa_sign_total`,`ecdsa_presign_authenticate`,`ecdsa_presign_material`,`ecdsa_presign_admit`,`ecdsa_presign_proxy`,`ecdsa_presign_total`,`ecdsa_presign_sw_material`,`ecdsa_presign_sw_session`,`ecdsa_presign_sw_do_response_headers`,`ecdsa_presign_sw_do_response_body`,`ecdsa_presign_sw_admit`,`ecdsa_presign_sw_total`]);function n(e){let n=new Map;if(!e)return n;for(let r of e.split(`,`)){let[e,...i]=r.trim().split(`;`);if(!(!t.has(e)||n.has(e)))for(let t of i){let[r,i]=t.trim().split(`=`);if(r!==`dur`||!i?.trim())continue;let a=Number(i);Number.isFinite(a)&&a>=0&&n.set(e,a);break}}return n}function r(e,t,r){if(!(!r||!p()))for(let[i,a]of n(r))d(`evm-family`,{event:`ecdsa_server_timing`,operationId:e,phase:t,stage:i,durationMs:a})}function i(e,t,r){if(!(!r||!p()))for(let[i,a]of n(r))d(`evm-family`,{event:`ecdsa_presign_server_timing`,presignSessionId:e,phase:t,stage:i,durationMs:a})}function a(e,t,n,r=`succeeded`){d(`evm-family`,{event:`ecdsa_signing_timing`,operationId:e,stage:t,durationMs:Math.max(0,performance.now()-n),outcome:r})}function o(e,t,n,r=`succeeded`){d(`near`,{event:`ed25519_signing_timing`,operationId:e,stage:t,durationMs:Math.max(0,performance.now()-n),outcome:r})}function s(t,n,r={}){if(!(!n||!p()))try{console.debug(`[SigningLane][${t}]`,{event:`signing_lane_resolved`,lane:e(n),...r.reason?{reason:r.reason}:{}})}catch{}}function c(e,t){if(p())try{console.debug(`[SigningBoundary][${e}]`,t)}catch{}}function l(t){return{event:t.event,...t.lane?{lane:e(t.lane)}:{},...t.readinessStatus?{readinessStatus:t.readinessStatus}:{},...t.sideEffect?{sideEffect:t.sideEffect}:{},phase:t.phase}}function u(e,t){if(p())try{console.debug(`[SigningSessionPlanner][${e}]`,t)}catch{}}function d(e,t){if(p())try{console.info(`[SigningFlow][${e}]`,JSON.stringify(t))}catch{}}function f(e,t){try{console.warn(`[SigningFlow][${e}][failure]`,t)}catch{}}function p(){try{return globalThis.localStorage?.getItem(`seams:debug:signing-session`)===`1`}catch{return!1}}export{o as a,u as c,a as i,f as l,i as n,c as o,r,s,l as t,d as u};
1
+ import{a as e}from"./types-hKLqDUhR.js";const t=new Set([`wallet_gateway_binding`,`wallet_gateway_total`,`wallet_console_binding_d1`,`wallet_console_binding_sql`,`ecdsa_sign_authorize`,`ecdsa_sign_admit`,`ecdsa_sign_proxy`,`ecdsa_sign_complete`,`ecdsa_sign_total`,`ecdsa_presign_authenticate`,`ecdsa_presign_material`,`ecdsa_presign_admit`,`ecdsa_presign_proxy`,`ecdsa_presign_total`,`ecdsa_presign_sw_material`,`ecdsa_presign_sw_session`,`ecdsa_presign_sw_do_response_headers`,`ecdsa_presign_sw_do_response_body`,`ecdsa_presign_sw_admit`,`ecdsa_presign_sw_total`]);function n(e){let n=new Map;if(!e)return n;for(let r of e.split(`,`)){let[e,...i]=r.trim().split(`;`);if(!(!t.has(e)||n.has(e)))for(let t of i){let[r,i]=t.trim().split(`=`);if(r!==`dur`||!i?.trim())continue;let a=Number(i);Number.isFinite(a)&&a>=0&&n.set(e,a);break}}return n}function r(e,t,r){if(!(!r||!p()))for(let[i,a]of n(r))d(`evm-family`,{event:`ecdsa_server_timing`,operationId:e,phase:t,stage:i,durationMs:a})}function i(e,t,r){if(!(!r||!p()))for(let[i,a]of n(r))d(`evm-family`,{event:`ecdsa_presign_server_timing`,presignSessionId:e,phase:t,stage:i,durationMs:a})}function a(e,t,n,r=`succeeded`){d(`evm-family`,{event:`ecdsa_signing_timing`,operationId:e,stage:t,durationMs:Math.max(0,performance.now()-n),outcome:r})}function o(e,t,n,r=`succeeded`){d(`near`,{event:`ed25519_signing_timing`,operationId:e,stage:t,durationMs:Math.max(0,performance.now()-n),outcome:r})}function s(t,n,r={}){if(!(!n||!p()))try{console.debug(`[SigningLane][${t}]`,{event:`signing_lane_resolved`,lane:e(n),...r.reason?{reason:r.reason}:{}})}catch{}}function c(e,t){if(p())try{console.debug(`[SigningBoundary][${e}]`,t)}catch{}}function l(t){return{event:t.event,...t.lane?{lane:e(t.lane)}:{},...t.readinessStatus?{readinessStatus:t.readinessStatus}:{},...t.sideEffect?{sideEffect:t.sideEffect}:{},phase:t.phase}}function u(e,t){if(p())try{console.debug(`[SigningSessionPlanner][${e}]`,t)}catch{}}function d(e,t){if(p())try{console.info(`[SigningFlow][${e}]`,JSON.stringify(t))}catch{}}function f(e,t){try{console.warn(`[SigningFlow][${e}][failure]`,t)}catch{}}function p(){try{return globalThis.localStorage?.getItem(`seams:debug:signing-session`)===`1`}catch{return!1}}export{o as a,u as c,a as i,f as l,i as n,c as o,r,s,l as t,d as u};
@@ -1 +1 @@
1
- import{n as e}from"./chunk-dVx5-UGu.js";import{_ as t}from"./sdkSentEvents-Dl8fOL50.js";var n=e({beginTransactionActivity:()=>i,failTransactionActivity:()=>f,observeTransactionActivity:()=>d,observeTransactionLifecycleReport:()=>h,retainTransactionActivity:()=>a,setTransactionActivityView:()=>l,transactionBroadcastStarted:()=>p});let r=null;function i(e,t){if(e.requestId)switch(e.type){case`PM_SIGN_TX_WITH_ACTIONS`:case`PM_SIGN_AND_SEND_TX`:case`PM_SIGN_DELEGATE_ACTION`:case`PM_SIGN_NEP413`:case`PM_SIGN_TEMPO`:r?.surface?.dispose(),r={requestId:e.requestId,post:t,surface:null,state:{kind:`signing`},view:`expanded`,retained:!1,signingHash:null};return;default:return}}function a(e,t){return!r||r.requestId!==e?!1:(r.surface=t,r.retained=!0,o(),!0)}function o(){if(!(!r?.retained||!r.surface)){if(!r.surface.element.isConnected){r=null;return}r.surface.showReceipt({state:r.state,view:r.view,onView:s,onDismiss:c}),r.post({type:`TRANSACTION_ACTIVITY`,requestId:r.requestId,payload:r.view})}}function s(e){r&&(r.view=e,o())}function c(){let e=r;r=null,e?.surface?.dispose(),e?.retained&&e.post({type:`TRANSACTION_ACTIVITY`,requestId:e.requestId,payload:`closed`})}function l(e,t){r?.requestId===e&&(t===`closed`?c():s(`toast`))}function u(e,t){if(!e||typeof e!=`object`)return null;let n=Reflect.get(e,t);return typeof n==`string`&&n.length>0?n:null}function d(e){if(!(!r||e.requestId!==r.requestId)){if(e.type===`PM_RESULT`){let t=e.payload?.result;r.signingHash=u(t,`rawTxHex`),r.state.kind===`signing`&&(r.state={kind:`signed`}),t&&typeof t==`object`&&Reflect.get(t,`success`)===!1&&(r.state={kind:`failed`,hash:null,message:u(t,`error`)??`The operation did not complete.`});let n=m(t);n&&(r.state=n)}else if(e.type===`PROGRESS`&&t(e.payload)&&e.payload.flow===`signing`){let t=e.payload,n=u(t.data,`txHash`)??u(t.data,`txId`);if(r.state.kind===`confirmed`||r.state.kind===`reverted`)return;switch(t.phase){case`signing.transaction.signed`:r.state={kind:`signed`};break;case`signing.broadcast.started`:r.state={kind:`broadcasting`};break;case`signing.broadcast.accepted`:r.state={kind:`submitted`,hash:n};break;case`signing.receipt.finalized`:r.state={kind:`confirmed`,hash:n};break;case`signing.receipt.reverted`:r.state={kind:`reverted`,hash:n,message:`The network reverted this transaction. Network fees may still apply.`};break;case`signing.failed`:case`signing.broadcast.rejected`:r.state={kind:`failed`,hash:n,message:t.message};break;default:return}}else return;o()}}function f(e,t){!r||r.requestId!==e||(r.state={kind:`failed`,hash:null,message:t instanceof Error?t.message:`The operation did not complete.`},o())}function p(e){!r||r.signingHash!==e||r.state.kind!==`signed`||(r.state={kind:`broadcasting`},o())}function m(e){if(!e||typeof e!=`object`)return null;let t=u(e,`transactionId`);if(!t)return null;let n=Reflect.get(e,`result`),r=n&&typeof n==`object`?Reflect.get(n,`status`):null;if(r&&typeof r==`object`){if(Object.hasOwn(r,`SuccessValue`))return{kind:`confirmed`,hash:t};if(Object.hasOwn(r,`Failure`))return{kind:`reverted`,hash:t,message:`The network could not execute this transaction. Network fees may still apply.`}}return{kind:`unknown`,hash:t,message:`Submitted to the network. The response did not include a final execution outcome.`}}function h(e){if(r?.signingHash)switch(e.type){case`PM_REPORT_TEMPO_BROADCAST_ACCEPTED`:case`PM_REPORT_TEMPO_BROADCAST_REJECTED`:case`PM_REPORT_TEMPO_FINALIZED`:case`PM_REPORT_TEMPO_DROPPED_OR_REPLACED`:{let t=e.payload;if(!t||t.signedResult.rawTxHex!==r.signingHash||r.state.kind===`confirmed`||r.state.kind===`reverted`)return;e.type===`PM_REPORT_TEMPO_BROADCAST_ACCEPTED`?r.state={kind:`submitted`,hash:e.payload?.txHash??null}:e.type===`PM_REPORT_TEMPO_FINALIZED`?r.state=e.payload?.receiptStatus===`reverted`?{kind:`reverted`,hash:e.payload.txHash??null,message:`The network reverted this transaction. Network fees may still apply.`}:e.payload?.receiptStatus===`success`?{kind:`confirmed`,hash:e.payload.txHash??null}:{kind:`unknown`,hash:e.payload?.txHash??null,message:`The network response did not include an execution status.`}:r.state={kind:`unknown`,hash:null,message:`The transaction did not complete as expected. Check its network status before retrying.`},o();return}default:return}}export{a,h as i,f as n,n as o,d as r,i as t};
1
+ import{n as e}from"./chunk-dVx5-UGu.js";import{_ as t}from"./sdkSentEvents-D4KtK7_I.js";var n=e({beginTransactionActivity:()=>i,failTransactionActivity:()=>f,observeTransactionActivity:()=>d,observeTransactionLifecycleReport:()=>h,retainTransactionActivity:()=>a,setTransactionActivityView:()=>l,transactionBroadcastStarted:()=>p});let r=null;function i(e,t){if(e.requestId)switch(e.type){case`PM_SIGN_TX_WITH_ACTIONS`:case`PM_SIGN_AND_SEND_TX`:case`PM_SIGN_DELEGATE_ACTION`:case`PM_SIGN_NEP413`:case`PM_SIGN_TEMPO`:r?.surface?.dispose(),r={requestId:e.requestId,post:t,surface:null,state:{kind:`signing`},view:`expanded`,retained:!1,signingHash:null};return;default:return}}function a(e,t){return!r||r.requestId!==e?!1:(r.surface=t,r.retained=!0,o(),!0)}function o(){if(!(!r?.retained||!r.surface)){if(!r.surface.element.isConnected){r=null;return}r.surface.showReceipt({state:r.state,view:r.view,onView:s,onDismiss:c}),r.post({type:`TRANSACTION_ACTIVITY`,requestId:r.requestId,payload:r.view})}}function s(e){r&&(r.view=e,o())}function c(){let e=r;r=null,e?.surface?.dispose(),e?.retained&&e.post({type:`TRANSACTION_ACTIVITY`,requestId:e.requestId,payload:`closed`})}function l(e,t){r?.requestId===e&&(t===`closed`?c():s(`toast`))}function u(e,t){if(!e||typeof e!=`object`)return null;let n=Reflect.get(e,t);return typeof n==`string`&&n.length>0?n:null}function d(e){if(!(!r||e.requestId!==r.requestId)){if(e.type===`PM_RESULT`){let t=e.payload?.result;r.signingHash=u(t,`rawTxHex`),r.state.kind===`signing`&&(r.state={kind:`signed`}),t&&typeof t==`object`&&Reflect.get(t,`success`)===!1&&(r.state={kind:`failed`,hash:null,message:u(t,`error`)??`The operation did not complete.`});let n=m(t);n&&(r.state=n)}else if(e.type===`PROGRESS`&&t(e.payload)&&e.payload.flow===`signing`){let t=e.payload,n=u(t.data,`txHash`)??u(t.data,`txId`);if(r.state.kind===`confirmed`||r.state.kind===`reverted`)return;switch(t.phase){case`signing.transaction.signed`:r.state={kind:`signed`};break;case`signing.broadcast.started`:r.state={kind:`broadcasting`};break;case`signing.broadcast.accepted`:r.state={kind:`submitted`,hash:n};break;case`signing.receipt.finalized`:r.state={kind:`confirmed`,hash:n};break;case`signing.receipt.reverted`:r.state={kind:`reverted`,hash:n,message:`The network reverted this transaction. Network fees may still apply.`};break;case`signing.failed`:case`signing.broadcast.rejected`:r.state={kind:`failed`,hash:n,message:t.message};break;default:return}}else return;o()}}function f(e,t){!r||r.requestId!==e||(r.state={kind:`failed`,hash:null,message:t instanceof Error?t.message:`The operation did not complete.`},o())}function p(e){!r||r.signingHash!==e||r.state.kind!==`signed`||(r.state={kind:`broadcasting`},o())}function m(e){if(!e||typeof e!=`object`)return null;let t=u(e,`transactionId`);if(!t)return null;let n=Reflect.get(e,`result`),r=n&&typeof n==`object`?Reflect.get(n,`status`):null;if(r&&typeof r==`object`){if(Object.hasOwn(r,`SuccessValue`))return{kind:`confirmed`,hash:t};if(Object.hasOwn(r,`Failure`))return{kind:`reverted`,hash:t,message:`The network could not execute this transaction. Network fees may still apply.`}}return{kind:`unknown`,hash:t,message:`Submitted to the network. The response did not include a final execution outcome.`}}function h(e){if(r?.signingHash)switch(e.type){case`PM_REPORT_TEMPO_BROADCAST_ACCEPTED`:case`PM_REPORT_TEMPO_BROADCAST_REJECTED`:case`PM_REPORT_TEMPO_FINALIZED`:case`PM_REPORT_TEMPO_DROPPED_OR_REPLACED`:{let t=e.payload;if(!t||t.signedResult.rawTxHex!==r.signingHash||r.state.kind===`confirmed`||r.state.kind===`reverted`)return;e.type===`PM_REPORT_TEMPO_BROADCAST_ACCEPTED`?r.state={kind:`submitted`,hash:e.payload?.txHash??null}:e.type===`PM_REPORT_TEMPO_FINALIZED`?r.state=e.payload?.receiptStatus===`reverted`?{kind:`reverted`,hash:e.payload.txHash??null,message:`The network reverted this transaction. Network fees may still apply.`}:e.payload?.receiptStatus===`success`?{kind:`confirmed`,hash:e.payload.txHash??null}:{kind:`unknown`,hash:e.payload?.txHash??null,message:`The network response did not include an execution status.`}:r.state={kind:`unknown`,hash:null,message:`The transaction did not complete as expected. Check its network status before retrying.`},o();return}default:return}}export{a,h as i,f as n,n as o,d as r,i as t};
@@ -1 +1 @@
1
- import{s as e}from"./ecdsaChainTarget-DJBXHzbH.js";import{c as t}from"./types-WGrFMQSw.js";import{g as n,v as r,y as i}from"./nearEd25519YaoSigningPreparation-Eiq_ikXk.js";import{f as a,h as o,l as s,m as c,p as l}from"./clientSessionPersistenceState-DRdve9rC.js";function u(e){return{tag:`IntentReceived`,intent:e}}function d(e,t){return{tag:`AvailableLanesRead`,intent:e.intent,availableLanes:t.availableLanes}}function f(e){return!!e&&e.curve===`ed25519`&&e.chain===`near`&&o(e)}function p(e){return!!e&&e.curve===`ecdsa`&&!!e.chainTarget&&o(e)}function m(e){return l(e)||null}function h(e){return e.state===`ready`?`ready`:e.state===`restorable`?`restorable`:null}function g(e){return e.state===`expired`?`expired`:e.state===`exhausted`?`exhausted`:null}function _(e,t){return{auth:e.auth,curve:`ed25519`,chain:`near`,materialActivation:e.materialActivation,walletId:e.walletId,nearAccountId:e.nearAccountId,nearEd25519SigningKeyId:e.nearEd25519SigningKeyId,signerSlot:e.signerSlot,authorizationState:`authorized`,authorization:e.authorization,state:t,thresholdSessionId:e.thresholdSessionId,...e.remainingUses==null?{}:{remainingUses:e.remainingUses},...e.expiresAtMs==null?{}:{expiresAtMs:e.expiresAtMs},...e.policyHint?{policyHint:e.policyHint}:{},...e.updatedAtMs==null?{}:{updatedAtMs:e.updatedAtMs}}}function v(e){let t=h(e);if(!t)throw Error(`[SigningSessionSelectLane] Ed25519 lane is not transaction-ready`);return _(e,t)}function y(e){let t=g(e);if(!t)throw Error(`[SigningSessionSelectLane] Ed25519 lane is not transaction-reauthable`);return _(e,t)}function b(e){return i({walletId:e.walletId,nearAccountId:e.nearAccountId,nearEd25519SigningKeyId:e.nearEd25519SigningKeyId,signerSlot:e.signerSlot,auth:e.auth,walletSessionId:e.authorization.operationCredential.walletSessionId,quotaId:e.authorization.session.quotaId,thresholdSessionId:e.thresholdSessionId})}function x(e){return{kind:`near_ed25519_transaction_ready_lane`,candidate:e.candidate,availableLane:v(e.lane),selectedLane:b(e.candidate),authorityKey:e.authorityKey}}function S(e){return{kind:`near_ed25519_transaction_reauth_lane`,candidate:e.candidate,availableLane:y(e.lane),selectedLane:b(e.candidate),authorityKey:e.authorityKey}}function C(e){if(!f(e)||e.authorizationState!==`authorized`)return null;let t=h(e),n=g(e);if(!t&&!n)return null;let r=m(e);if(!r)return null;let i=c({lane:e});return!i||i.authorizationState!==`authorized`?null:t?x({lane:e,candidate:i,authorityKey:r}):S({lane:e,candidate:i,authorityKey:r})}function w(e){if(e.curve===`ed25519`){if(e.authorizationState!==`authorized`||!e.authorization)throw Error(`[SigningSessionSelectLane] Ed25519 lane requires active authorization`);return i({walletId:e.walletId,nearAccountId:e.nearAccountId,nearEd25519SigningKeyId:e.nearEd25519SigningKeyId,signerSlot:e.signerSlot,auth:e.auth,walletSessionId:e.authorization.operationCredential.walletSessionId,quotaId:e.authorization.session.quotaId,thresholdSessionId:e.thresholdSessionId})}if(e.authorizationState!==`authorized`)throw Error(`[SigningSessionSelectLane] ECDSA lane requires active authorization`);return r({key:e.key,materialActivation:e.materialActivation,keyHandle:e.keyHandle,walletId:e.walletId,auth:e.auth,authorization:e.authorization,chainTarget:e.chainTarget})}function T(e){return[...new Set(e.map(e=>n(e.candidate)))].sort()}function E(e){switch(e.length){case 0:return null;case 1:{let[t]=e;return t||null}default:return null}}function D(e){let t=e.intent;return t.curve===`ed25519`&&t.chain===`near`?O({...e,intent:t}):t.curve===`ecdsa`?j({...e,intent:t}):{ok:!1,failure:{kind:`unsupported_intent`,curve:t.curve||`unknown`,chain:t.chain||`unknown`}}}function O(e){let t=A(e);if(!t.ok)return t;if(t.kind===`authorization_required`)return{ok:!1,failure:{kind:`no_candidate`,authMethod:n(t.candidate)}};let r=C(t.availableLane);if(!r)throw Error(`[SigningSessionSelectLane] authorized Ed25519 lane is not selectable`);return{ok:!0,lane:t.lane,candidate:t.candidate,availableLane:r.availableLane,selectionCandidate:r}}function k(e,t){if(e.candidate.walletId!==t.walletId||e.candidate.nearAccountId!==t.signerSelection.nearAccountId)return!1;switch(t.signerSelection.kind){case`near_account`:return!0;case`signer_slot`:return e.candidate.signerSlot===t.signerSelection.signerSlot}}function A(e){let t=e.intent,n=P(t,(e.availableLanes?.candidates.ed25519.near||[]).filter(f).map(e=>({availableLane:e,candidate:c({lane:e})})).filter(e=>e.candidate!==null).filter(e=>k(e,t)));if(!n.length)return{ok:!1,failure:t.authSelectionPolicy.kind===`any`?{kind:`no_candidate`}:{kind:`no_candidate`,authMethod:t.authSelectionPolicy.authMethod}};let r=E(n);if(!r)return{ok:!1,failure:{kind:`ambiguous_material`,allowedAuthMethods:T(n)}};if(r.candidate.authorizationState===`authorization_required`){if(r.availableLane.authorizationState!==`authorization_required`)throw Error(`[SigningSessionSelectLane] Ed25519 material authorization mismatch`);return{ok:!0,kind:`authorization_required`,candidate:r.candidate,availableLane:r.availableLane}}if(r.availableLane.authorizationState!==`authorized`)throw Error(`[SigningSessionSelectLane] Ed25519 material authorization mismatch`);return{ok:!0,kind:`authorized`,lane:b(r.candidate),candidate:r.candidate,availableLane:r.availableLane}}function j(e){let t=M(e);return t.ok?t.kind===`authorization_required`?{ok:!1,failure:{kind:`no_candidate`,authMethod:n(t.candidate)}}:{ok:!0,lane:t.lane,candidate:t.candidate,availableLane:t.availableLane,selectionCandidate:{candidate:t.candidate,availableLane:t.availableLane}}:t}function M(e){let t=e.intent,n=P(t,e.availableLanes?s(e.availableLanes,t.chainTarget).filter(p).map(e=>({availableLane:e,candidate:a({walletId:t.walletId,lane:e})})).filter(e=>e.candidate!==null):[]);if(!n.length)return{ok:!1,failure:t.authSelectionPolicy.kind===`any`?{kind:`no_candidate`}:{kind:`no_candidate`,authMethod:t.authSelectionPolicy.authMethod}};let r=E(n);return r?r.candidate.authorizationState===`authorization_required`?{ok:!0,kind:`authorization_required`,candidate:r.candidate,availableLane:r.availableLane}:{ok:!0,kind:`authorized`,lane:N({intent:t,candidate:r.candidate}),candidate:r.candidate,availableLane:r.availableLane}:{ok:!1,failure:{kind:`ambiguous_material`,allowedAuthMethods:T(n)}}}function N(t){if(!e(t.candidate.chainTarget,t.intent.chainTarget))throw Error(`[SigningSessionSelectLane] ECDSA available lane target mismatch`);return w(t.candidate)}function P(e,t){if(e.authSelectionPolicy.kind===`any`)return t;let r=e.authSelectionPolicy.authMethod;return t.filter(e=>n(e.candidate)===r)}function F(e){let t=D({intent:e.intent,availableLanes:e.availableLanes});return t.ok?{tag:`LaneSelected`,intent:e.intent,lane:t.lane,candidate:t.candidate,availableLane:t.availableLane,selectionCandidate:t.selectionCandidate}:{tag:`LaneSelectionFailed`,intent:e.intent,failure:t.failure}}async function I(e){let n=await e.lifecycleAdapter.prepare({...e.operation?{operation:e.operation}:{}});if(n.lane.curve!==n.readiness.readiness.curve)throw Error(`[SigningSession] prepared lane and readiness curves do not match`);let r={lane:n.lane,readiness:n.readiness.readiness,expiresAtMs:n.readiness.expiresAtMs,remainingUses:n.readiness.remainingUses,forceFreshAuth:e.forceFreshAuth||n.forceFreshAuth,sensitiveOperationPolicy:e.sensitiveOperationPolicy},i=await e.coordinator.resolveAuthPlanFromReadiness(r,e.onPlannerTrace);return{...e.operation?{operation:e.operation}:{},lane:n.lane,authMethod:t(n.lane.auth),signingSessionPlan:i.signingSessionPlan,readiness:i.readiness,expiresAtMs:i.expiresAtMs,remainingUses:i.remainingUses,availableLanesGeneration:Math.max(0,Math.floor(Number(n.availableLanesGeneration)||0)),metadata:n.metadata||{}}}function L(e,t){return{tag:`ReadinessClassified`,intent:e.intent,lane:e.lane,candidate:e.candidate,availableLane:e.availableLane,readiness:t}}function R(e){return{intent:e.intent,lane:e.lane,readiness:e.readiness}}async function z(e){let t=null,n=null,r=null,i=await I({intent:B(e.intent),lifecycleAdapter:{prepare:async r=>{let i=await e.lifecycleAdapter.prepare({intent:e.intent,...r.operation?{operation:r.operation}:{}});return t=i.transactionLane,n=i.transactionIntent||e.intent,{lane:i.lane,readiness:i.readiness,availableLanesGeneration:i.availableLanesGeneration,forceFreshAuth:i.forceFreshAuth,metadata:{...i.metadata||{},transactionLane:i.transactionLane,transactionOperation:null}}}},coordinator:e.coordinator,...e.operation?{operation:e.operation}:{},forceFreshAuth:e.forceFreshAuth,sensitiveOperationPolicy:e.sensitiveOperationPolicy,onPlannerTrace:e.onPlannerTrace});if(!t)throw Error(`[SigningSession] transaction prepare did not return a transaction lane`);return r={intent:n||e.intent,lane:t,readiness:V(i)},i.metadata.transactionOperation=r,{thresholdOperation:i,transactionOperation:r}}function B(e){return{kind:`transaction_sign`,chain:e.chain,curve:e.curve,walletId:String(e.walletId),reason:`transaction`}}function V(e){let t=e.readiness.status;return t===`ready`?{status:`ready`,remainingUses:Math.max(0,Math.floor(Number(e.remainingUses)||0)),expiresAtMs:Math.max(0,Math.floor(Number(e.expiresAtMs)||0))}:t===`missing_session`?{status:`status_unavailable`,reason:`missing_session`}:t===`expired`?{status:`expired`}:t===`exhausted`?{status:`exhausted`}:t===`auth_unavailable`?{status:`auth_unavailable`,reason:`auth_unavailable`}:t===`status_unavailable`?{status:`status_unavailable`,reason:`status_unavailable`}:t===`status_unknown`?{status:`status_unknown`,reason:`status_unknown`}:{status:`policy_blocked`,reason:t}}export{d as a,F as c,u as i,R as n,M as o,z as r,A as s,L as t};
1
+ import{s as e}from"./ecdsaChainTarget-Bfatk3oP.js";import{c as t}from"./types-hKLqDUhR.js";import{g as n,v as r,y as i}from"./nearEd25519YaoSigningPreparation-RIfkYN0d.js";import{f as a,h as o,l as s,m as c,p as l}from"./clientSessionPersistenceState-CBylL1Ul.js";function u(e){return{tag:`IntentReceived`,intent:e}}function d(e,t){return{tag:`AvailableLanesRead`,intent:e.intent,availableLanes:t.availableLanes}}function f(e){return!!e&&e.curve===`ed25519`&&e.chain===`near`&&o(e)}function p(e){return!!e&&e.curve===`ecdsa`&&!!e.chainTarget&&o(e)}function m(e){return l(e)||null}function h(e){return e.state===`ready`?`ready`:e.state===`restorable`?`restorable`:null}function g(e){return e.state===`expired`?`expired`:e.state===`exhausted`?`exhausted`:null}function _(e,t){return{auth:e.auth,curve:`ed25519`,chain:`near`,materialActivation:e.materialActivation,walletId:e.walletId,nearAccountId:e.nearAccountId,nearEd25519SigningKeyId:e.nearEd25519SigningKeyId,signerSlot:e.signerSlot,authorizationState:`authorized`,authorization:e.authorization,state:t,thresholdSessionId:e.thresholdSessionId,...e.remainingUses==null?{}:{remainingUses:e.remainingUses},...e.expiresAtMs==null?{}:{expiresAtMs:e.expiresAtMs},...e.policyHint?{policyHint:e.policyHint}:{},...e.updatedAtMs==null?{}:{updatedAtMs:e.updatedAtMs}}}function v(e){let t=h(e);if(!t)throw Error(`[SigningSessionSelectLane] Ed25519 lane is not transaction-ready`);return _(e,t)}function y(e){let t=g(e);if(!t)throw Error(`[SigningSessionSelectLane] Ed25519 lane is not transaction-reauthable`);return _(e,t)}function b(e){return i({walletId:e.walletId,nearAccountId:e.nearAccountId,nearEd25519SigningKeyId:e.nearEd25519SigningKeyId,signerSlot:e.signerSlot,auth:e.auth,walletSessionId:e.authorization.operationCredential.walletSessionId,quotaId:e.authorization.session.quotaId,thresholdSessionId:e.thresholdSessionId})}function x(e){return{kind:`near_ed25519_transaction_ready_lane`,candidate:e.candidate,availableLane:v(e.lane),selectedLane:b(e.candidate),authorityKey:e.authorityKey}}function S(e){return{kind:`near_ed25519_transaction_reauth_lane`,candidate:e.candidate,availableLane:y(e.lane),selectedLane:b(e.candidate),authorityKey:e.authorityKey}}function C(e){if(!f(e)||e.authorizationState!==`authorized`)return null;let t=h(e),n=g(e);if(!t&&!n)return null;let r=m(e);if(!r)return null;let i=c({lane:e});return!i||i.authorizationState!==`authorized`?null:t?x({lane:e,candidate:i,authorityKey:r}):S({lane:e,candidate:i,authorityKey:r})}function w(e){if(e.curve===`ed25519`){if(e.authorizationState!==`authorized`||!e.authorization)throw Error(`[SigningSessionSelectLane] Ed25519 lane requires active authorization`);return i({walletId:e.walletId,nearAccountId:e.nearAccountId,nearEd25519SigningKeyId:e.nearEd25519SigningKeyId,signerSlot:e.signerSlot,auth:e.auth,walletSessionId:e.authorization.operationCredential.walletSessionId,quotaId:e.authorization.session.quotaId,thresholdSessionId:e.thresholdSessionId})}if(e.authorizationState!==`authorized`)throw Error(`[SigningSessionSelectLane] ECDSA lane requires active authorization`);return r({key:e.key,materialActivation:e.materialActivation,keyHandle:e.keyHandle,walletId:e.walletId,auth:e.auth,authorization:e.authorization,chainTarget:e.chainTarget})}function T(e){return[...new Set(e.map(e=>n(e.candidate)))].sort()}function E(e){switch(e.length){case 0:return null;case 1:{let[t]=e;return t||null}default:return null}}function D(e){let t=e.intent;return t.curve===`ed25519`&&t.chain===`near`?O({...e,intent:t}):t.curve===`ecdsa`?j({...e,intent:t}):{ok:!1,failure:{kind:`unsupported_intent`,curve:t.curve||`unknown`,chain:t.chain||`unknown`}}}function O(e){let t=A(e);if(!t.ok)return t;if(t.kind===`authorization_required`)return{ok:!1,failure:{kind:`no_candidate`,authMethod:n(t.candidate)}};let r=C(t.availableLane);if(!r)throw Error(`[SigningSessionSelectLane] authorized Ed25519 lane is not selectable`);return{ok:!0,lane:t.lane,candidate:t.candidate,availableLane:r.availableLane,selectionCandidate:r}}function k(e,t){if(e.candidate.walletId!==t.walletId||e.candidate.nearAccountId!==t.signerSelection.nearAccountId)return!1;switch(t.signerSelection.kind){case`near_account`:return!0;case`signer_slot`:return e.candidate.signerSlot===t.signerSelection.signerSlot}}function A(e){let t=e.intent,n=P(t,(e.availableLanes?.candidates.ed25519.near||[]).filter(f).map(e=>({availableLane:e,candidate:c({lane:e})})).filter(e=>e.candidate!==null).filter(e=>k(e,t)));if(!n.length)return{ok:!1,failure:t.authSelectionPolicy.kind===`any`?{kind:`no_candidate`}:{kind:`no_candidate`,authMethod:t.authSelectionPolicy.authMethod}};let r=E(n);if(!r)return{ok:!1,failure:{kind:`ambiguous_material`,allowedAuthMethods:T(n)}};if(r.candidate.authorizationState===`authorization_required`){if(r.availableLane.authorizationState!==`authorization_required`)throw Error(`[SigningSessionSelectLane] Ed25519 material authorization mismatch`);return{ok:!0,kind:`authorization_required`,candidate:r.candidate,availableLane:r.availableLane}}if(r.availableLane.authorizationState!==`authorized`)throw Error(`[SigningSessionSelectLane] Ed25519 material authorization mismatch`);return{ok:!0,kind:`authorized`,lane:b(r.candidate),candidate:r.candidate,availableLane:r.availableLane}}function j(e){let t=M(e);return t.ok?t.kind===`authorization_required`?{ok:!1,failure:{kind:`no_candidate`,authMethod:n(t.candidate)}}:{ok:!0,lane:t.lane,candidate:t.candidate,availableLane:t.availableLane,selectionCandidate:{candidate:t.candidate,availableLane:t.availableLane}}:t}function M(e){let t=e.intent,n=P(t,e.availableLanes?s(e.availableLanes,t.chainTarget).filter(p).map(e=>({availableLane:e,candidate:a({walletId:t.walletId,lane:e})})).filter(e=>e.candidate!==null):[]);if(!n.length)return{ok:!1,failure:t.authSelectionPolicy.kind===`any`?{kind:`no_candidate`}:{kind:`no_candidate`,authMethod:t.authSelectionPolicy.authMethod}};let r=E(n);return r?r.candidate.authorizationState===`authorization_required`?{ok:!0,kind:`authorization_required`,candidate:r.candidate,availableLane:r.availableLane}:{ok:!0,kind:`authorized`,lane:N({intent:t,candidate:r.candidate}),candidate:r.candidate,availableLane:r.availableLane}:{ok:!1,failure:{kind:`ambiguous_material`,allowedAuthMethods:T(n)}}}function N(t){if(!e(t.candidate.chainTarget,t.intent.chainTarget))throw Error(`[SigningSessionSelectLane] ECDSA available lane target mismatch`);return w(t.candidate)}function P(e,t){if(e.authSelectionPolicy.kind===`any`)return t;let r=e.authSelectionPolicy.authMethod;return t.filter(e=>n(e.candidate)===r)}function F(e){let t=D({intent:e.intent,availableLanes:e.availableLanes});return t.ok?{tag:`LaneSelected`,intent:e.intent,lane:t.lane,candidate:t.candidate,availableLane:t.availableLane,selectionCandidate:t.selectionCandidate}:{tag:`LaneSelectionFailed`,intent:e.intent,failure:t.failure}}async function I(e){let n=await e.lifecycleAdapter.prepare({...e.operation?{operation:e.operation}:{}});if(n.lane.curve!==n.readiness.readiness.curve)throw Error(`[SigningSession] prepared lane and readiness curves do not match`);let r={lane:n.lane,readiness:n.readiness.readiness,expiresAtMs:n.readiness.expiresAtMs,remainingUses:n.readiness.remainingUses,forceFreshAuth:e.forceFreshAuth||n.forceFreshAuth,sensitiveOperationPolicy:e.sensitiveOperationPolicy},i=await e.coordinator.resolveAuthPlanFromReadiness(r,e.onPlannerTrace);return{...e.operation?{operation:e.operation}:{},lane:n.lane,authMethod:t(n.lane.auth),signingSessionPlan:i.signingSessionPlan,readiness:i.readiness,expiresAtMs:i.expiresAtMs,remainingUses:i.remainingUses,availableLanesGeneration:Math.max(0,Math.floor(Number(n.availableLanesGeneration)||0)),metadata:n.metadata||{}}}function L(e,t){return{tag:`ReadinessClassified`,intent:e.intent,lane:e.lane,candidate:e.candidate,availableLane:e.availableLane,readiness:t}}function R(e){return{intent:e.intent,lane:e.lane,readiness:e.readiness}}async function z(e){let t=null,n=null,r=null,i=await I({intent:B(e.intent),lifecycleAdapter:{prepare:async r=>{let i=await e.lifecycleAdapter.prepare({intent:e.intent,...r.operation?{operation:r.operation}:{}});return t=i.transactionLane,n=i.transactionIntent||e.intent,{lane:i.lane,readiness:i.readiness,availableLanesGeneration:i.availableLanesGeneration,forceFreshAuth:i.forceFreshAuth,metadata:{...i.metadata||{},transactionLane:i.transactionLane,transactionOperation:null}}}},coordinator:e.coordinator,...e.operation?{operation:e.operation}:{},forceFreshAuth:e.forceFreshAuth,sensitiveOperationPolicy:e.sensitiveOperationPolicy,onPlannerTrace:e.onPlannerTrace});if(!t)throw Error(`[SigningSession] transaction prepare did not return a transaction lane`);return r={intent:n||e.intent,lane:t,readiness:V(i)},i.metadata.transactionOperation=r,{thresholdOperation:i,transactionOperation:r}}function B(e){return{kind:`transaction_sign`,chain:e.chain,curve:e.curve,walletId:String(e.walletId),reason:`transaction`}}function V(e){let t=e.readiness.status;return t===`ready`?{status:`ready`,remainingUses:Math.max(0,Math.floor(Number(e.remainingUses)||0)),expiresAtMs:Math.max(0,Math.floor(Number(e.expiresAtMs)||0))}:t===`missing_session`?{status:`status_unavailable`,reason:`missing_session`}:t===`expired`?{status:`expired`}:t===`exhausted`?{status:`exhausted`}:t===`auth_unavailable`?{status:`auth_unavailable`,reason:`auth_unavailable`}:t===`status_unavailable`?{status:`status_unavailable`,reason:`status_unavailable`}:t===`status_unknown`?{status:`status_unknown`,reason:`status_unknown`}:{status:`policy_blocked`,reason:t}}export{d as a,F as c,u as i,R as n,M as o,z as r,A as s,L as t};
@@ -1 +1 @@
1
- import{S as e,o as t,x as n}from"./domainIds-BzkGsRqO.js";import{d as r,h as i}from"./capabilityKinds-N8xo_IEh.js";import{n as a}from"./signerDomain-DqLCvI-D.js";function o(e){switch(e.kind){case a.passkey:return a.passkey;case a.emailOtp:return a.emailOtp}throw Error(`[SigningSession] unsupported signing lane auth binding`)}function s(e,t){let n=String(e||``).trim();if(!n)throw Error(`[SigningSession] ${t} is required for signing lane authority`);return n}function c(e){switch(e.kind){case a.passkey:return[a.passkey,s(String(e.rpId),`passkey rpId`),s(e.credentialIdB64u,`passkey credential`)].join(`:`);case a.emailOtp:return[a.emailOtp,s(e.providerSubjectId,`Email OTP provider subject`)].join(`:`)}throw Error(`[SigningSession] unsupported signing lane auth binding`)}const l={TransactionSign:`transaction_sign`},u={Cached:`cached`,Reauth:`reauth`},d={WarmSession:`warm_session`,EmailOtpReauth:`email_otp_reauth`,PasskeyReauth:`passkey_reauth`,NotReady:`not_ready`,OperationStepUp:`operation_step_up`};function f(e,t){let n=String(e||``).trim();if(!n)throw Error(`[SigningSession] ${t} is required`);return n}function p(e,t){if(!e.ok)throw Error(`[SigningSession] ${e.error.message||`${t} is required`}`);return e.value}function m(e,t){if(!e.ok)throw Error(`[SigningSession] ${e.error.message||`${t} is required`}`);return e.value}const h={walletSession(e){return m(i(e),`walletSessionId`)},walletSessionQuota(e){return m(r(e),`quotaId`)},thresholdEd25519Session(t){return p(e(t),`thresholdEd25519SessionId`)},thresholdEcdsaSession(e){return p(n(e),`thresholdEcdsaSessionId`)},emailOtpChallenge(e){return p(t(e),`emailOtpChallengeId`)},signingOperation(e){return f(e,`signingOperationId`)},signingOperationFingerprint(e){return f(e,`signingOperationFingerprint`)}};function g(e){let t=e.identity.signer,n={authMethod:o(e.auth),curve:e.curve,keyKind:e.keyKind,chainFamily:e.chainFamily,sessionOrigin:e.sessionOrigin,storageSource:e.storageSource,retention:e.retention};switch(t.kind){case`evm_family_ecdsa_signer`:return{...n,curve:`ecdsa`,walletId:t.walletId};case`near_ed25519_signer`:return{...n,curve:`ed25519`,walletId:t.account.wallet.walletId,nearAccountId:t.account.nearAccountId,nearEd25519SigningKeyId:t.nearEd25519SigningKeyId}}}function _(e){return{kind:e.kind,lane:g(e.lane)}}export{g as a,o as c,d as i,l as n,_ as o,h as r,c as s,u as t};
1
+ import{S as e,o as t,x as n}from"./domainIds-BzkGsRqO.js";import{d as r,h as i}from"./capabilityKinds-N8xo_IEh.js";import{n as a}from"./signerDomain-Dp7BhfmZ.js";function o(e){switch(e.kind){case a.passkey:return a.passkey;case a.emailOtp:return a.emailOtp}throw Error(`[SigningSession] unsupported signing lane auth binding`)}function s(e,t){let n=String(e||``).trim();if(!n)throw Error(`[SigningSession] ${t} is required for signing lane authority`);return n}function c(e){switch(e.kind){case a.passkey:return[a.passkey,s(String(e.rpId),`passkey rpId`),s(e.credentialIdB64u,`passkey credential`)].join(`:`);case a.emailOtp:return[a.emailOtp,s(e.providerSubjectId,`Email OTP provider subject`)].join(`:`)}throw Error(`[SigningSession] unsupported signing lane auth binding`)}const l={TransactionSign:`transaction_sign`},u={Cached:`cached`,Reauth:`reauth`},d={WarmSession:`warm_session`,EmailOtpReauth:`email_otp_reauth`,PasskeyReauth:`passkey_reauth`,NotReady:`not_ready`,OperationStepUp:`operation_step_up`};function f(e,t){let n=String(e||``).trim();if(!n)throw Error(`[SigningSession] ${t} is required`);return n}function p(e,t){if(!e.ok)throw Error(`[SigningSession] ${e.error.message||`${t} is required`}`);return e.value}function m(e,t){if(!e.ok)throw Error(`[SigningSession] ${e.error.message||`${t} is required`}`);return e.value}const h={walletSession(e){return m(i(e),`walletSessionId`)},walletSessionQuota(e){return m(r(e),`quotaId`)},thresholdEd25519Session(t){return p(e(t),`thresholdEd25519SessionId`)},thresholdEcdsaSession(e){return p(n(e),`thresholdEcdsaSessionId`)},emailOtpChallenge(e){return p(t(e),`emailOtpChallengeId`)},signingOperation(e){return f(e,`signingOperationId`)},signingOperationFingerprint(e){return f(e,`signingOperationFingerprint`)}};function g(e){let t=e.identity.signer,n={authMethod:o(e.auth),curve:e.curve,keyKind:e.keyKind,chainFamily:e.chainFamily,sessionOrigin:e.sessionOrigin,storageSource:e.storageSource,retention:e.retention};switch(t.kind){case`evm_family_ecdsa_signer`:return{...n,curve:`ecdsa`,walletId:t.walletId};case`near_ed25519_signer`:return{...n,curve:`ed25519`,walletId:t.account.wallet.walletId,nearAccountId:t.account.nearAccountId,nearEd25519SigningKeyId:t.nearEd25519SigningKeyId}}}function _(e){return{kind:e.kind,lane:g(e.lane)}}export{g as a,o as c,d as i,l as n,_ as o,h as r,c as s,u as t};
@@ -1 +1 @@
1
- import"./primitives-CqrjmIAH.js";import"./sessionPolicy-CBTZQe1n.js";import"./signingSessionSeal-DX41aXUL.js";import{t as e}from"./host-GawN20iA.js";import"./activeWalletSession-WdZkhtBB.js";import"./capabilityKinds-N8xo_IEh.js";import"./errors-DIWY1KR9.js";e({supportedRuntimeRouteKinds:new Set([`auth`,`ecdsa`,`email_otp`,`export`,`recovery`,`preferences`])});
1
+ import"./primitives-CqrjmIAH.js";import"./walletDbName-DtRewci9.js";import"./signingSessionSeal-DX41aXUL.js";import{t as e}from"./host-D3Q_NsmE.js";import"./activeWalletSession-WdZkhtBB.js";import"./capabilityKinds-N8xo_IEh.js";import"./errors-DIWY1KR9.js";e({supportedRuntimeRouteKinds:new Set([`auth`,`ecdsa`,`email_otp`,`export`,`recovery`,`preferences`])});
@@ -1 +1 @@
1
- import"./primitives-CqrjmIAH.js";import"./sessionPolicy-CBTZQe1n.js";import"./signingSessionSeal-DX41aXUL.js";import{t as e}from"./host-GawN20iA.js";import"./activeWalletSession-WdZkhtBB.js";import"./capabilityKinds-N8xo_IEh.js";import"./errors-DIWY1KR9.js";e();
1
+ import"./primitives-CqrjmIAH.js";import"./walletDbName-DtRewci9.js";import"./signingSessionSeal-DX41aXUL.js";import{t as e}from"./host-D3Q_NsmE.js";import"./activeWalletSession-WdZkhtBB.js";import"./capabilityKinds-N8xo_IEh.js";import"./errors-DIWY1KR9.js";e();
@@ -1 +1 @@
1
- import"./primitives-CqrjmIAH.js";import"./sessionPolicy-CBTZQe1n.js";import"./signingSessionSeal-DX41aXUL.js";import{t as e}from"./host-GawN20iA.js";import"./activeWalletSession-WdZkhtBB.js";import"./capabilityKinds-N8xo_IEh.js";import"./errors-DIWY1KR9.js";e({supportedRuntimeRouteKinds:new Set([`auth`,`near`,`export`,`device_link`,`recovery`,`preferences`])});
1
+ import"./primitives-CqrjmIAH.js";import"./walletDbName-DtRewci9.js";import"./signingSessionSeal-DX41aXUL.js";import{t as e}from"./host-D3Q_NsmE.js";import"./activeWalletSession-WdZkhtBB.js";import"./capabilityKinds-N8xo_IEh.js";import"./errors-DIWY1KR9.js";e({supportedRuntimeRouteKinds:new Set([`auth`,`near`,`export`,`device_link`,`recovery`,`preferences`])});
@@ -1 +1 @@
1
- import"./primitives-CqrjmIAH.js";import"./sessionPolicy-CBTZQe1n.js";import"./signingSessionSeal-DX41aXUL.js";import{t as e}from"./host-GawN20iA.js";import"./activeWalletSession-WdZkhtBB.js";import"./capabilityKinds-N8xo_IEh.js";import"./errors-DIWY1KR9.js";export{e as initWalletIFrame};
1
+ import"./primitives-CqrjmIAH.js";import"./walletDbName-DtRewci9.js";import"./signingSessionSeal-DX41aXUL.js";import{t as e}from"./host-D3Q_NsmE.js";import"./activeWalletSession-WdZkhtBB.js";import"./capabilityKinds-N8xo_IEh.js";import"./errors-DIWY1KR9.js";export{e as initWalletIFrame};
@@ -1 +1 @@
1
- import{A as e,D as t,M as n,O as r,T as i,j as a,n as o,s}from"./domainIds-BzkGsRqO.js";import{c,j as l,k as u,l as d,u as f}from"./chains-C_X_fNuS.js";import{_ as p,i as m,r as h,t as g}from"./primitives-CqrjmIAH.js";import{i as _,r as v}from"./base64-DW79QA0h.js";import{l as ee}from"./capabilityKinds-N8xo_IEh.js";import{a as y,n as b,r as x}from"./canonicalPrimitives-Dsbsxgxc.js";import{d as te,h as S,s as C}from"./walletAuthority-BWvfaKIX.js";import{r as w}from"./walletAuthMethodRecord-CnBw27ED.js";const T=`0123456789ABCDEFGHJKMNPQRSTVWXYZ`,E=Object.freeze(Array.from(T).reduce((e,t,n)=>(e[t]=n,e),{}));function D(e){if(!e)return!1;for(let t=0;t<e.length;t++){let n=e.charCodeAt(t);if(n<48||n>57)return!1}return!0}function O(e){if(e.byteLength!==20)throw Error(`Email OTP recovery key bytes must be exactly 20 bytes`);let t=0,n=0,r=``;for(let i=0;i<e.byteLength;i++)for(t=t<<8|e[i],n+=8;n>=5;)n-=5,r+=T[t>>n&31],t&=(1<<n)-1;return r}function k(e){let t=A(e),n=[],r=0;for(let e=0;e<8;e++)n.push(t.slice(r,r+4)),r+=4;return n.join(`-`)}function ne(e){if(e.length!==10)throw Error(`Email OTP recovery code set must contain 10 keys`);return[k(e[0]),k(e[1]),k(e[2]),k(e[3]),k(e[4]),k(e[5]),k(e[6]),k(e[7]),k(e[8]),k(e[9])]}function A(e){let t=String(e||``).replace(/[\s-]/g,``).toUpperCase();if(t.length!==32)throw Error(`Email OTP recovery key must be 32 Crockford Base32 characters`);if(D(t))throw Error(`Email OTP recovery key must not be decimal-only`);for(let e=0;e<t.length;e++)if(E[t[e]]===void 0)throw Error(`Email OTP recovery key contains unsupported characters`);return t}function re(e){let t=A(e),n=new Uint8Array(20),r=0,i=0,a=0;for(let e=0;e<t.length;e++)r=r<<5|E[t[e]],i+=5,i>=8&&(i-=8,n[a]=r>>i&255,r&=(1<<i)-1,a+=1);return n}async function ie(e){let t=String(e.keySetId||``).trim();if(!/^(near_ed25519|evm_family_ecdsa):\S+$/.test(t))throw Error(`wallet recovery key-set id is invalid`);return b(`wallet-recovery-key-v1:${_(await f(c({domain:`seams/wallet-recovery/key-lifecycle/v1`,reservationId:e.reservationId,keySetId:t})))}`)}function ae(e){if(typeof e!=`string`||e.length===0||e.length>512||e.trim()!==e||o(e))throw Error(`recovery code reservation id must be a compact opaque identifier`);return e}function oe(e){return e.kind===`passkey`?se(e):ce(e)}function se(e){let t={version:`wallet_recovery_committed_projection_v1`,storeVersion:l(e.storeVersion,`storeVersion`,`is invalid`),walletId:e.walletId,recoveryOperationId:e.recoveryOperationId,targetDeviceId:e.targetDeviceId,targetAuthorityId:e.targetAuthorityId,targetWalletAuthMethodId:e.targetWalletAuthMethodId,authority:e.authority,kind:`passkey`,authMethod:e.authMethod,target:{kind:`passkey`,rpId:e.authMethod.rpId,credentialIdB64u:e.authMethod.credentialIdB64u}};return P(t),t}function ce(e){let t={version:`wallet_recovery_committed_projection_v1`,storeVersion:l(e.storeVersion,`storeVersion`,`is invalid`),walletId:e.walletId,recoveryOperationId:e.recoveryOperationId,targetDeviceId:e.targetDeviceId,targetAuthorityId:e.targetAuthorityId,targetWalletAuthMethodId:e.targetWalletAuthMethodId,authority:e.authority,kind:`google_email_otp`,authMethod:e.authMethod,target:{kind:`google_email_otp`,provider:`google`,providerSubject:e.providerSubject,emailHashHex:H(e.emailHashHex),registrationAuthorityId:l(e.registrationAuthorityId,`registrationAuthorityId`,`is invalid`),enrollment:M(e.enrollment)}};return P(t),t}async function le(n,a){let o=F(n);if(o.version!==`wallet_recovery_committed_projection_v1`)throw Error(`wallet recovery committed projection version is invalid`);if(o.kind!==a.kind)throw Error(`wallet recovery committed projection target changed`);let s=V(r(o.walletId),`walletId`),c=V(e(o.recoveryOperationId),`recoveryOperationId`),u=V(ee(o.targetDeviceId),`targetDeviceId`),d=V(t(o.targetAuthorityId),`targetAuthorityId`),f=V(i(o.targetWalletAuthMethodId),`targetWalletAuthMethodId`),p=te(o.authority);if(!p.ok)throw Error(`wallet recovery authority projection is invalid`);let m=p.value;if(m.state!==`active`||!C(m)||!await S(m))throw Error(`wallet recovery authority projection digest or lifecycle is invalid`);let h=w(o.authMethod);if(!h||h.status!==`active`)throw Error(`wallet recovery auth method projection is invalid`);let g={version:`wallet_recovery_committed_projection_v1`,storeVersion:l(o.storeVersion,`storeVersion`,`is invalid`),walletId:s,recoveryOperationId:c,targetDeviceId:u,targetAuthorityId:d,targetWalletAuthMethodId:f,authority:m};if(a.kind===`passkey`){if(h.kind!==`passkey`)throw Error(`wallet recovery target method family changed`);let e=ue(o.target),t={...g,kind:`passkey`,authMethod:h,target:e};return N(t,a),P(t),t}if(h.kind!==`email_otp`)throw Error(`wallet recovery target method family changed`);let _=j(o.target),v={...g,kind:`google_email_otp`,authMethod:h,target:_};return N(v,a),P(v),v}function ue(e){let t=I(e);if(t.kind!==`passkey`)throw Error(`wallet recovery passkey target is invalid`);return{kind:`passkey`,rpId:V(n(t.rpId),`target.rpId`),credentialIdB64u:V(a(t.credentialIdB64u),`target.credentialIdB64u`)}}function j(e){let t=L(e);if(t.kind!==`google_email_otp`||t.provider!==`google`)throw Error(`wallet recovery Google Email OTP target is invalid`);return{kind:`google_email_otp`,provider:`google`,providerSubject:V(s(t.providerSubject),`target.providerSubject`),emailHashHex:H(t.emailHashHex),registrationAuthorityId:l(t.registrationAuthorityId,`target.registrationAuthorityId`,`is invalid`),enrollment:M(t.enrollment)}}function M(e){let t=R(e);if(t.kind!==`email_otp_enrollment_reference_v1`)throw Error(`wallet recovery Email OTP enrollment is invalid`);return{kind:`email_otp_enrollment_reference_v1`,enrollmentId:l(t.enrollmentId,`enrollment.enrollmentId`,`is invalid`),enrollmentSealKeyVersion:l(t.enrollmentSealKeyVersion,`enrollment.enrollmentSealKeyVersion`,`is invalid`)}}function N(e,t){if(e.kind!==t.kind||e.walletId!==t.walletId||e.recoveryOperationId!==t.recoveryOperationId||e.targetDeviceId!==t.targetDeviceId||e.targetAuthorityId!==t.targetAuthorityId||e.targetWalletAuthMethodId!==t.targetWalletAuthMethodId)throw Error(`wallet recovery committed projection identity changed`);if(e.kind===`passkey`&&t.kind===`passkey`){if(e.target.rpId!==t.rpId||e.target.credentialIdB64u!==t.credentialIdB64u)throw Error(`wallet recovery passkey target changed`);return}if(e.kind!==`google_email_otp`||t.kind!==`google_email_otp`)throw Error(`wallet recovery target identity changed`);if(e.target.providerSubject!==t.providerSubject||e.target.emailHashHex!==t.emailHashHex||e.target.registrationAuthorityId!==t.registrationAuthorityId||e.target.enrollment.enrollmentId!==t.enrollment.enrollmentId||e.target.enrollment.enrollmentSealKeyVersion!==t.enrollment.enrollmentSealKeyVersion)throw Error(`wallet recovery Google Email OTP target changed`)}function P(e){if(e.authority.walletId!==e.walletId||e.authority.authorityId!==e.targetAuthorityId||e.authority.principal.deviceId!==e.targetDeviceId||e.authority.provenance.kind!==`wallet_recovery`||e.authority.provenance.recoveryOperationId!==e.recoveryOperationId||e.authority.provenance.continuityAuthorityId===e.targetAuthorityId||e.authMethod.walletId!==e.walletId||e.authMethod.walletAuthorityId!==e.targetAuthorityId||e.authMethod.walletAuthMethodId!==e.targetWalletAuthMethodId||e.authMethod.status!==`active`)throw Error(`wallet recovery committed projection relations are invalid`);if(e.kind===`passkey`){if(e.authMethod.kind!==`passkey`||e.target.rpId!==e.authMethod.rpId||e.target.credentialIdB64u!==e.authMethod.credentialIdB64u)throw Error(`wallet recovery passkey projection relations are invalid`);return}if(e.authMethod.kind!==`email_otp`||e.target.emailHashHex!==e.authMethod.emailHashHex||e.target.registrationAuthorityId!==e.authMethod.registrationAuthorityId)throw Error(`wallet recovery Google Email OTP projection relations are invalid`)}function F(e){let t=z(e);if(t===null)throw Error(`wallet recovery committed projection must be an object`);return B(t,[`version`,`kind`,`storeVersion`,`walletId`,`recoveryOperationId`,`targetDeviceId`,`targetAuthorityId`,`targetWalletAuthMethodId`,`authority`,`authMethod`,`target`],`wallet recovery committed projection`),{version:Reflect.get(t,`version`),kind:Reflect.get(t,`kind`),storeVersion:Reflect.get(t,`storeVersion`),walletId:Reflect.get(t,`walletId`),recoveryOperationId:Reflect.get(t,`recoveryOperationId`),targetDeviceId:Reflect.get(t,`targetDeviceId`),targetAuthorityId:Reflect.get(t,`targetAuthorityId`),targetWalletAuthMethodId:Reflect.get(t,`targetWalletAuthMethodId`),authority:Reflect.get(t,`authority`),authMethod:Reflect.get(t,`authMethod`),target:Reflect.get(t,`target`)}}function I(e){let t=z(e);if(t===null)throw Error(`wallet recovery passkey target must be an object`);return B(t,[`kind`,`rpId`,`credentialIdB64u`],`wallet recovery passkey target`),{kind:Reflect.get(t,`kind`),rpId:Reflect.get(t,`rpId`),credentialIdB64u:Reflect.get(t,`credentialIdB64u`)}}function L(e){let t=z(e);if(t===null)throw Error(`wallet recovery Google Email OTP target must be an object`);return B(t,[`kind`,`provider`,`providerSubject`,`emailHashHex`,`registrationAuthorityId`,`enrollment`],`wallet recovery Google Email OTP target`),{kind:Reflect.get(t,`kind`),provider:Reflect.get(t,`provider`),providerSubject:Reflect.get(t,`providerSubject`),emailHashHex:Reflect.get(t,`emailHashHex`),registrationAuthorityId:Reflect.get(t,`registrationAuthorityId`),enrollment:Reflect.get(t,`enrollment`)}}function R(e){let t=z(e);if(t===null)throw Error(`wallet recovery Email OTP enrollment must be an object`);return B(t,[`kind`,`enrollmentId`,`enrollmentSealKeyVersion`],`wallet recovery Email OTP enrollment`),{kind:Reflect.get(t,`kind`),enrollmentId:Reflect.get(t,`enrollmentId`),enrollmentSealKeyVersion:Reflect.get(t,`enrollmentSealKeyVersion`)}}function z(e){return typeof e==`object`&&e&&!Array.isArray(e)?e:null}function B(e,t,n){let r=new Set(t),i=Object.keys(e);if(i.length!==t.length||i.some(e=>!r.has(e)))throw Error(`${n} contains unexpected fields`)}function V(e,t){if(!e.ok)throw Error(`${t} is invalid`);return e.value}function H(e){let t=l(e,`emailHashHex`,`is invalid`);if(!/^[0-9a-f]{64}$/.test(t))throw Error(`emailHashHex is invalid`);return t}const U=/^wallet-rkid-v1-[A-Za-z0-9_-]{43}$/;function W(e,t=`recoveryKeyId`){if(typeof e!=`string`||!U.test(e))throw Error(`${t} must be a derived wallet recovery key id`);return e}function de(){let e=[],t=[];for(let n=0;n<10;n+=1){let n=pe();t.push(n),e.push(k(O(n)))}return{codes:e,codeBytes:t}}function fe(e){for(let t of e.codeBytes)t.fill(0)}function pe(){let e=globalThis.crypto;if(!e?.getRandomValues)throw Error(`a secure random source is required to issue wallet recovery codes`);return e.getRandomValues(new Uint8Array(20))}function me(e,t=`recoveryCodeLocator`){try{return x(e)}catch(e){throw Error(`${t} ${e instanceof Error?e.message:`must be a canonical digest`}`)}}async function he(e){if(!(e instanceof Uint8Array)||e.length!==20)throw Error(`recovery code bytes must be exactly 20 bytes`);let t=null;try{let n=new TextEncoder().encode(`seams/wallet-recovery/code-locator/v1`);t=new Uint8Array(8+n.length+e.length);let r=new DataView(t.buffer);return r.setUint32(0,n.length,!1),t.set(n,4),r.setUint32(4+n.length,e.length,!1),t.set(e,8+n.length),me(_(await d(t)))}finally{t?.fill(0)}}function ge(e){return{custodySecretKind:`wallet_custody_seed_v1`,nonceB64u:e.nonceB64u,wrappedCustodySecretB64u:e.wrappedCustodySecretB64u,aadHashB64u:e.aadHashB64u}}function _e(e,t){let n=t.label||`walletRecoverySetRotation`,i=u(e,n);p(i,be,n);let a=r(i.walletId);if(!a.ok)throw Error(`${n}.walletId ${a.error.message}`);if(String(a.value)!==String(t.expectedWalletId))throw Error(`${n}.walletId is outside the authenticated wallet`);if(!Array.isArray(i.manifestKekWraps))throw Error(`${n}.manifestKekWraps must be an array`);if(i.manifestKekWraps.length!==10)throw Error(`${n}.manifestKekWraps must carry exactly 10 recovery-code wraps`);let o=i.manifestKekWraps.map((e,t)=>{let r=u(e,`${n}.manifestKekWraps[${t}]`);return p(r,ye,`${n}.manifestKekWraps[${t}]`),{recoveryKeyId:W(r.recoveryKeyId,`${n}.manifestKekWraps[${t}].recoveryKeyId`),nonceB64u:m(r.nonceB64u,`${n}.manifestKekWraps[${t}].nonceB64u`),ciphertextB64u:h(r.ciphertextB64u,`${n}.manifestKekWraps[${t}].ciphertextB64u`),aadHashB64u:g(r.aadHashB64u,`${n}.manifestKekWraps[${t}].aadHashB64u`)}}),s=new Set;for(let e of o){let t=String(e.recoveryKeyId);if(!s.add(t))throw Error(`${n} contains duplicate recovery key ids`)}if(!Array.isArray(i.entries)||i.entries.length!==1)throw Error(`${n}.entries must carry exactly one wallet custody seed entry`);let c=G(i.entries[0],`${n}.entries[0]`);return{walletId:a.value,manifestKekWraps:o,entry:c}}const ve=[`custodySecretKind`,`nonceB64u`,`wrappedCustodySecretB64u`,`aadHashB64u`],ye=[`recoveryKeyId`,`nonceB64u`,`ciphertextB64u`,`aadHashB64u`],be=[`walletId`,`manifestKekWraps`,`entries`];function G(e,t){let n=u(e,t);if(p(n,ve,t),n.custodySecretKind!==`wallet_custody_seed_v1`)throw Error(`${t}.custodySecretKind must be wallet_custody_seed_v1; lane holder shares are reprovisioned, not recovered`);return ge({nonceB64u:m(n.nonceB64u,`${t}.nonceB64u`),wrappedCustodySecretB64u:h(n.wrappedCustodySecretB64u,`${t}.wrappedCustodySecretB64u`),aadHashB64u:g(n.aadHashB64u,`${t}.aadHashB64u`)})}function K(e,t){if(!e||typeof e!=`object`||Array.isArray(e))throw Error(`${t} must be an object`);return e}function q(e,t){let n=typeof e==`string`?e.trim():``;if(!n)throw Error(`${t} is required`);return n}function xe(e){let t=K(e,`rotation worker result`);if(!Array.isArray(t.recoveryManifestKekWraps)||t.recoveryManifestKekWraps.length!==10)throw Error(`rotation worker result must contain exactly 10 recovery wraps`);return{walletId:q(t.walletId,`rotation worker walletId`),recoveryManifestKekWraps:t.recoveryManifestKekWraps.map((e,t)=>{let n=K(e,`rotation worker wrap ${t}`);return{recoveryKeyId:q(n.recoveryKeyId,`rotation worker wrap ${t} recoveryKeyId`),nonceB64u:q(n.nonceB64u,`rotation worker wrap ${t} nonceB64u`),ciphertextB64u:q(n.ciphertextB64u,`rotation worker wrap ${t} ciphertextB64u`),aadHashB64u:q(n.aadHashB64u,`rotation worker wrap ${t} aadHashB64u`)}}),recoveryEntryNonceB64u:q(t.recoveryEntryNonceB64u,`rotation worker recoveryEntryNonceB64u`),recoveryEntryCiphertextB64u:q(t.recoveryEntryCiphertextB64u,`rotation worker recoveryEntryCiphertextB64u`),recoveryEntryAadHashB64u:q(t.recoveryEntryAadHashB64u,`rotation worker recoveryEntryAadHashB64u`)}}function Se(e){let t=xe(e),n=r(t.walletId);if(!n.ok)throw Error(`rotation worker wallet id is invalid: ${n.error.message}`);let i={custodySecretKind:`wallet_custody_seed_v1`,nonceB64u:m(t.recoveryEntryNonceB64u,`rotation.entry.nonceB64u`),wrappedCustodySecretB64u:h(t.recoveryEntryCiphertextB64u,`rotation.entry.wrappedCustodySecretB64u`),aadHashB64u:g(t.recoveryEntryAadHashB64u,`rotation.entry.aadHashB64u`)};return _e({walletId:n.value,manifestKekWraps:t.recoveryManifestKekWraps.map(e=>({recoveryKeyId:W(e.recoveryKeyId,`rotation.recoveryKeyId`),nonceB64u:m(e.nonceB64u,`rotation.wrap.nonceB64u`),ciphertextB64u:h(e.ciphertextB64u,`rotation.wrap.ciphertextB64u`),aadHashB64u:g(e.aadHashB64u,`rotation.wrap.aadHashB64u`)})),entries:[i]},{expectedWalletId:n.value,label:`rotation.workerResult`})}const J=`secp256k1_bip340_sha256_v1`;function Y(e,t,n){let r=new Set(n);for(let n of Object.keys(e))if(!r.has(n))throw Error(`${t}.${n} is not a supported field`);for(let r of n)if(!Object.hasOwn(e,r))throw Error(`${t}.${r} is required`)}function X(e,t){if(typeof e!=`string`||e.length===0||e.trim()!==e)throw Error(`${t} must be a non-empty canonical identifier`);for(let n=0;n<e.length;n+=1){let r=e.charCodeAt(n);if(r<33||r>126)throw Error(`${t} must contain visible ASCII bytes`)}return e}function Z(e){return e.startsWith(`evm_family_ecdsa:`)&&e.length>17}function Ce(e,t){let n=X(e,t);if(!Z(n))throw Error(`${t} must identify an ECDSA key set`);return n}function Q(e,t){try{return x(e)}catch{throw Error(`${t} must be canonical base64url for 32 bytes`)}}function we(e,t){if(typeof e!=`string`||!/^[A-Za-z0-9_-]+$/.test(e))throw Error(`${t} must be canonical base64url`);let n;try{n=v(e)}catch{throw Error(`${t} must be valid base64url`)}if(n.length!==33||n[0]!==2&&n[0]!==3||_(n)!==e)throw Error(`${t} must be canonical compressed secp256k1 public key bytes`);return e}function Te(e,t){if(typeof e!=`number`||!Number.isSafeInteger(e)||e<=0)throw Error(`${t} must be a positive safe integer`);return e}function Ee(e,t){if(typeof e!=`string`||!/^[A-Za-z0-9_-]+$/.test(e))throw Error(`${t} must be canonical base64url`);let n;try{n=v(e)}catch{throw Error(`${t} must be valid base64url`)}if(n.length!==64||_(n)!==e)throw Error(`${t} must be canonical base64url for 64 bytes`);return e}function $(e){let t=u(e,`walletRecoveryEcdsaPossessionChallenge`);if(Y(t,`walletRecoveryEcdsaPossessionChallenge`,[`kind`,`walletId`,`reservationId`,`replacementId`,`keySetId`,`keyHandle`,`recordedKeyManifestDigestB64u`,`publicCapabilityDigestB64u`,`authorityRefDigestB64u`,`derivationClientSharePublicKey33B64u`,`expectedServerGeneration`,`expiresAtMs`,`serverNonceB64u`]),t.kind!==`wallet_recovery_ecdsa_possession_challenge_v1`)throw Error(`walletRecoveryEcdsaPossessionChallenge.kind is invalid`);let n=Ce(t.keySetId,`walletRecoveryEcdsaPossessionChallenge.keySetId`);return{kind:`wallet_recovery_ecdsa_possession_challenge_v1`,walletId:X(t.walletId,`walletRecoveryEcdsaPossessionChallenge.walletId`),reservationId:X(t.reservationId,`walletRecoveryEcdsaPossessionChallenge.reservationId`),replacementId:X(t.replacementId,`walletRecoveryEcdsaPossessionChallenge.replacementId`),keySetId:n,keyHandle:X(t.keyHandle,`walletRecoveryEcdsaPossessionChallenge.keyHandle`),recordedKeyManifestDigestB64u:Q(t.recordedKeyManifestDigestB64u,`walletRecoveryEcdsaPossessionChallenge.recordedKeyManifestDigestB64u`),publicCapabilityDigestB64u:Q(t.publicCapabilityDigestB64u,`walletRecoveryEcdsaPossessionChallenge.publicCapabilityDigestB64u`),authorityRefDigestB64u:Q(t.authorityRefDigestB64u,`walletRecoveryEcdsaPossessionChallenge.authorityRefDigestB64u`),derivationClientSharePublicKey33B64u:we(t.derivationClientSharePublicKey33B64u,`walletRecoveryEcdsaPossessionChallenge.derivationClientSharePublicKey33B64u`),expectedServerGeneration:X(t.expectedServerGeneration,`walletRecoveryEcdsaPossessionChallenge.expectedServerGeneration`),expiresAtMs:Te(t.expiresAtMs,`walletRecoveryEcdsaPossessionChallenge.expiresAtMs`),serverNonceB64u:Q(t.serverNonceB64u,`walletRecoveryEcdsaPossessionChallenge.serverNonceB64u`)}}function De(e){let t=u(e,`walletRecoveryEcdsaPossessionProof`);if(Y(t,`walletRecoveryEcdsaPossessionProof`,[`kind`,`scheme`,`signature64B64u`]),t.kind!==`wallet_recovery_ecdsa_possession_proof_v1`)throw Error(`walletRecoveryEcdsaPossessionProof.kind is invalid`);if(t.scheme!==J)throw Error(`walletRecoveryEcdsaPossessionProof.scheme is invalid`);return{kind:`wallet_recovery_ecdsa_possession_proof_v1`,scheme:J,signature64B64u:Ee(t.signature64B64u,`walletRecoveryEcdsaPossessionProof.signature64B64u`)}}function Oe(e){let t=$(e),n=[`seams/wallet-recovery/ecdsa-existing-material-possession/v1`,J,t.walletId,t.reservationId,t.replacementId,t.keySetId,t.keyHandle,v(t.recordedKeyManifestDigestB64u),v(t.publicCapabilityDigestB64u),v(t.authorityRefDigestB64u),v(t.derivationClientSharePublicKey33B64u),t.expectedServerGeneration,v(t.serverNonceB64u),ke(t.expiresAtMs)],r=[];for(let e of n){let t=typeof e==`string`?new TextEncoder().encode(e):e,n=t.length;if(n>4294967295)throw Error(`wallet recovery possession field is too large`);r.push(n>>>24&255,n>>>16&255,n>>>8&255,n&255,...t)}return Uint8Array.from(r)}function ke(e){let t=BigInt(e),n=new Uint8Array(8);for(let e=n.length-1;e>=0;--e)n[e]=Number(t&255n),t>>=8n;return n}async function Ae(e){return y(Oe(e))}export{G as a,fe as c,ie as d,ae as f,A as g,re as h,Se as i,oe as l,ne as m,De as n,he as o,T as p,Ae as r,de as s,$ as t,le as u};
1
+ import{A as e,D as t,M as n,O as r,T as i,j as a,n as o,s}from"./domainIds-BzkGsRqO.js";import{c,j as l,k as u,l as d,u as f}from"./chains-C_X_fNuS.js";import{_ as p,i as m,r as h,t as g}from"./primitives-CqrjmIAH.js";import{i as _,r as v}from"./base64-DW79QA0h.js";import{l as ee}from"./capabilityKinds-N8xo_IEh.js";import{a as y,n as b,r as x}from"./canonicalPrimitives-Dsbsxgxc.js";import{d as te,h as S,s as C}from"./walletAuthority-CAiGuWW2.js";import{r as w}from"./walletAuthMethodRecord-LniOQQmj.js";const T=`0123456789ABCDEFGHJKMNPQRSTVWXYZ`,E=Object.freeze(Array.from(T).reduce((e,t,n)=>(e[t]=n,e),{}));function D(e){if(!e)return!1;for(let t=0;t<e.length;t++){let n=e.charCodeAt(t);if(n<48||n>57)return!1}return!0}function O(e){if(e.byteLength!==20)throw Error(`Email OTP recovery key bytes must be exactly 20 bytes`);let t=0,n=0,r=``;for(let i=0;i<e.byteLength;i++)for(t=t<<8|e[i],n+=8;n>=5;)n-=5,r+=T[t>>n&31],t&=(1<<n)-1;return r}function k(e){let t=A(e),n=[],r=0;for(let e=0;e<8;e++)n.push(t.slice(r,r+4)),r+=4;return n.join(`-`)}function ne(e){if(e.length!==10)throw Error(`Email OTP recovery code set must contain 10 keys`);return[k(e[0]),k(e[1]),k(e[2]),k(e[3]),k(e[4]),k(e[5]),k(e[6]),k(e[7]),k(e[8]),k(e[9])]}function A(e){let t=String(e||``).replace(/[\s-]/g,``).toUpperCase();if(t.length!==32)throw Error(`Email OTP recovery key must be 32 Crockford Base32 characters`);if(D(t))throw Error(`Email OTP recovery key must not be decimal-only`);for(let e=0;e<t.length;e++)if(E[t[e]]===void 0)throw Error(`Email OTP recovery key contains unsupported characters`);return t}function re(e){let t=A(e),n=new Uint8Array(20),r=0,i=0,a=0;for(let e=0;e<t.length;e++)r=r<<5|E[t[e]],i+=5,i>=8&&(i-=8,n[a]=r>>i&255,r&=(1<<i)-1,a+=1);return n}async function ie(e){let t=String(e.keySetId||``).trim();if(!/^(near_ed25519|evm_family_ecdsa):\S+$/.test(t))throw Error(`wallet recovery key-set id is invalid`);return b(`wallet-recovery-key-v1:${_(await f(c({domain:`seams/wallet-recovery/key-lifecycle/v1`,reservationId:e.reservationId,keySetId:t})))}`)}function ae(e){if(typeof e!=`string`||e.length===0||e.length>512||e.trim()!==e||o(e))throw Error(`recovery code reservation id must be a compact opaque identifier`);return e}function oe(e){return e.kind===`passkey`?se(e):ce(e)}function se(e){let t={version:`wallet_recovery_committed_projection_v1`,storeVersion:l(e.storeVersion,`storeVersion`,`is invalid`),walletId:e.walletId,recoveryOperationId:e.recoveryOperationId,targetDeviceId:e.targetDeviceId,targetAuthorityId:e.targetAuthorityId,targetWalletAuthMethodId:e.targetWalletAuthMethodId,authority:e.authority,kind:`passkey`,authMethod:e.authMethod,target:{kind:`passkey`,rpId:e.authMethod.rpId,credentialIdB64u:e.authMethod.credentialIdB64u}};return P(t),t}function ce(e){let t={version:`wallet_recovery_committed_projection_v1`,storeVersion:l(e.storeVersion,`storeVersion`,`is invalid`),walletId:e.walletId,recoveryOperationId:e.recoveryOperationId,targetDeviceId:e.targetDeviceId,targetAuthorityId:e.targetAuthorityId,targetWalletAuthMethodId:e.targetWalletAuthMethodId,authority:e.authority,kind:`google_email_otp`,authMethod:e.authMethod,target:{kind:`google_email_otp`,provider:`google`,providerSubject:e.providerSubject,emailHashHex:H(e.emailHashHex),registrationAuthorityId:l(e.registrationAuthorityId,`registrationAuthorityId`,`is invalid`),enrollment:M(e.enrollment)}};return P(t),t}async function le(n,a){let o=F(n);if(o.version!==`wallet_recovery_committed_projection_v1`)throw Error(`wallet recovery committed projection version is invalid`);if(o.kind!==a.kind)throw Error(`wallet recovery committed projection target changed`);let s=V(r(o.walletId),`walletId`),c=V(e(o.recoveryOperationId),`recoveryOperationId`),u=V(ee(o.targetDeviceId),`targetDeviceId`),d=V(t(o.targetAuthorityId),`targetAuthorityId`),f=V(i(o.targetWalletAuthMethodId),`targetWalletAuthMethodId`),p=te(o.authority);if(!p.ok)throw Error(`wallet recovery authority projection is invalid`);let m=p.value;if(m.state!==`active`||!C(m)||!await S(m))throw Error(`wallet recovery authority projection digest or lifecycle is invalid`);let h=w(o.authMethod);if(!h||h.status!==`active`)throw Error(`wallet recovery auth method projection is invalid`);let g={version:`wallet_recovery_committed_projection_v1`,storeVersion:l(o.storeVersion,`storeVersion`,`is invalid`),walletId:s,recoveryOperationId:c,targetDeviceId:u,targetAuthorityId:d,targetWalletAuthMethodId:f,authority:m};if(a.kind===`passkey`){if(h.kind!==`passkey`)throw Error(`wallet recovery target method family changed`);let e=ue(o.target),t={...g,kind:`passkey`,authMethod:h,target:e};return N(t,a),P(t),t}if(h.kind!==`email_otp`)throw Error(`wallet recovery target method family changed`);let _=j(o.target),v={...g,kind:`google_email_otp`,authMethod:h,target:_};return N(v,a),P(v),v}function ue(e){let t=I(e);if(t.kind!==`passkey`)throw Error(`wallet recovery passkey target is invalid`);return{kind:`passkey`,rpId:V(n(t.rpId),`target.rpId`),credentialIdB64u:V(a(t.credentialIdB64u),`target.credentialIdB64u`)}}function j(e){let t=L(e);if(t.kind!==`google_email_otp`||t.provider!==`google`)throw Error(`wallet recovery Google Email OTP target is invalid`);return{kind:`google_email_otp`,provider:`google`,providerSubject:V(s(t.providerSubject),`target.providerSubject`),emailHashHex:H(t.emailHashHex),registrationAuthorityId:l(t.registrationAuthorityId,`target.registrationAuthorityId`,`is invalid`),enrollment:M(t.enrollment)}}function M(e){let t=R(e);if(t.kind!==`email_otp_enrollment_reference_v1`)throw Error(`wallet recovery Email OTP enrollment is invalid`);return{kind:`email_otp_enrollment_reference_v1`,enrollmentId:l(t.enrollmentId,`enrollment.enrollmentId`,`is invalid`),enrollmentSealKeyVersion:l(t.enrollmentSealKeyVersion,`enrollment.enrollmentSealKeyVersion`,`is invalid`)}}function N(e,t){if(e.kind!==t.kind||e.walletId!==t.walletId||e.recoveryOperationId!==t.recoveryOperationId||e.targetDeviceId!==t.targetDeviceId||e.targetAuthorityId!==t.targetAuthorityId||e.targetWalletAuthMethodId!==t.targetWalletAuthMethodId)throw Error(`wallet recovery committed projection identity changed`);if(e.kind===`passkey`&&t.kind===`passkey`){if(e.target.rpId!==t.rpId||e.target.credentialIdB64u!==t.credentialIdB64u)throw Error(`wallet recovery passkey target changed`);return}if(e.kind!==`google_email_otp`||t.kind!==`google_email_otp`)throw Error(`wallet recovery target identity changed`);if(e.target.providerSubject!==t.providerSubject||e.target.emailHashHex!==t.emailHashHex||e.target.registrationAuthorityId!==t.registrationAuthorityId||e.target.enrollment.enrollmentId!==t.enrollment.enrollmentId||e.target.enrollment.enrollmentSealKeyVersion!==t.enrollment.enrollmentSealKeyVersion)throw Error(`wallet recovery Google Email OTP target changed`)}function P(e){if(e.authority.walletId!==e.walletId||e.authority.authorityId!==e.targetAuthorityId||e.authority.principal.deviceId!==e.targetDeviceId||e.authority.provenance.kind!==`wallet_recovery`||e.authority.provenance.recoveryOperationId!==e.recoveryOperationId||e.authority.provenance.continuityAuthorityId===e.targetAuthorityId||e.authMethod.walletId!==e.walletId||e.authMethod.walletAuthorityId!==e.targetAuthorityId||e.authMethod.walletAuthMethodId!==e.targetWalletAuthMethodId||e.authMethod.status!==`active`)throw Error(`wallet recovery committed projection relations are invalid`);if(e.kind===`passkey`){if(e.authMethod.kind!==`passkey`||e.target.rpId!==e.authMethod.rpId||e.target.credentialIdB64u!==e.authMethod.credentialIdB64u)throw Error(`wallet recovery passkey projection relations are invalid`);return}if(e.authMethod.kind!==`email_otp`||e.target.emailHashHex!==e.authMethod.emailHashHex||e.target.registrationAuthorityId!==e.authMethod.registrationAuthorityId)throw Error(`wallet recovery Google Email OTP projection relations are invalid`)}function F(e){let t=z(e);if(t===null)throw Error(`wallet recovery committed projection must be an object`);return B(t,[`version`,`kind`,`storeVersion`,`walletId`,`recoveryOperationId`,`targetDeviceId`,`targetAuthorityId`,`targetWalletAuthMethodId`,`authority`,`authMethod`,`target`],`wallet recovery committed projection`),{version:Reflect.get(t,`version`),kind:Reflect.get(t,`kind`),storeVersion:Reflect.get(t,`storeVersion`),walletId:Reflect.get(t,`walletId`),recoveryOperationId:Reflect.get(t,`recoveryOperationId`),targetDeviceId:Reflect.get(t,`targetDeviceId`),targetAuthorityId:Reflect.get(t,`targetAuthorityId`),targetWalletAuthMethodId:Reflect.get(t,`targetWalletAuthMethodId`),authority:Reflect.get(t,`authority`),authMethod:Reflect.get(t,`authMethod`),target:Reflect.get(t,`target`)}}function I(e){let t=z(e);if(t===null)throw Error(`wallet recovery passkey target must be an object`);return B(t,[`kind`,`rpId`,`credentialIdB64u`],`wallet recovery passkey target`),{kind:Reflect.get(t,`kind`),rpId:Reflect.get(t,`rpId`),credentialIdB64u:Reflect.get(t,`credentialIdB64u`)}}function L(e){let t=z(e);if(t===null)throw Error(`wallet recovery Google Email OTP target must be an object`);return B(t,[`kind`,`provider`,`providerSubject`,`emailHashHex`,`registrationAuthorityId`,`enrollment`],`wallet recovery Google Email OTP target`),{kind:Reflect.get(t,`kind`),provider:Reflect.get(t,`provider`),providerSubject:Reflect.get(t,`providerSubject`),emailHashHex:Reflect.get(t,`emailHashHex`),registrationAuthorityId:Reflect.get(t,`registrationAuthorityId`),enrollment:Reflect.get(t,`enrollment`)}}function R(e){let t=z(e);if(t===null)throw Error(`wallet recovery Email OTP enrollment must be an object`);return B(t,[`kind`,`enrollmentId`,`enrollmentSealKeyVersion`],`wallet recovery Email OTP enrollment`),{kind:Reflect.get(t,`kind`),enrollmentId:Reflect.get(t,`enrollmentId`),enrollmentSealKeyVersion:Reflect.get(t,`enrollmentSealKeyVersion`)}}function z(e){return typeof e==`object`&&e&&!Array.isArray(e)?e:null}function B(e,t,n){let r=new Set(t),i=Object.keys(e);if(i.length!==t.length||i.some(e=>!r.has(e)))throw Error(`${n} contains unexpected fields`)}function V(e,t){if(!e.ok)throw Error(`${t} is invalid`);return e.value}function H(e){let t=l(e,`emailHashHex`,`is invalid`);if(!/^[0-9a-f]{64}$/.test(t))throw Error(`emailHashHex is invalid`);return t}const U=/^wallet-rkid-v1-[A-Za-z0-9_-]{43}$/;function W(e,t=`recoveryKeyId`){if(typeof e!=`string`||!U.test(e))throw Error(`${t} must be a derived wallet recovery key id`);return e}function de(){let e=[],t=[];for(let n=0;n<10;n+=1){let n=pe();t.push(n),e.push(k(O(n)))}return{codes:e,codeBytes:t}}function fe(e){for(let t of e.codeBytes)t.fill(0)}function pe(){let e=globalThis.crypto;if(!e?.getRandomValues)throw Error(`a secure random source is required to issue wallet recovery codes`);return e.getRandomValues(new Uint8Array(20))}function me(e,t=`recoveryCodeLocator`){try{return x(e)}catch(e){throw Error(`${t} ${e instanceof Error?e.message:`must be a canonical digest`}`)}}async function he(e){if(!(e instanceof Uint8Array)||e.length!==20)throw Error(`recovery code bytes must be exactly 20 bytes`);let t=null;try{let n=new TextEncoder().encode(`seams/wallet-recovery/code-locator/v1`);t=new Uint8Array(8+n.length+e.length);let r=new DataView(t.buffer);return r.setUint32(0,n.length,!1),t.set(n,4),r.setUint32(4+n.length,e.length,!1),t.set(e,8+n.length),me(_(await d(t)))}finally{t?.fill(0)}}function ge(e){return{custodySecretKind:`wallet_custody_seed_v1`,nonceB64u:e.nonceB64u,wrappedCustodySecretB64u:e.wrappedCustodySecretB64u,aadHashB64u:e.aadHashB64u}}function _e(e,t){let n=t.label||`walletRecoverySetRotation`,i=u(e,n);p(i,be,n);let a=r(i.walletId);if(!a.ok)throw Error(`${n}.walletId ${a.error.message}`);if(String(a.value)!==String(t.expectedWalletId))throw Error(`${n}.walletId is outside the authenticated wallet`);if(!Array.isArray(i.manifestKekWraps))throw Error(`${n}.manifestKekWraps must be an array`);if(i.manifestKekWraps.length!==10)throw Error(`${n}.manifestKekWraps must carry exactly 10 recovery-code wraps`);let o=i.manifestKekWraps.map((e,t)=>{let r=u(e,`${n}.manifestKekWraps[${t}]`);return p(r,ye,`${n}.manifestKekWraps[${t}]`),{recoveryKeyId:W(r.recoveryKeyId,`${n}.manifestKekWraps[${t}].recoveryKeyId`),nonceB64u:m(r.nonceB64u,`${n}.manifestKekWraps[${t}].nonceB64u`),ciphertextB64u:h(r.ciphertextB64u,`${n}.manifestKekWraps[${t}].ciphertextB64u`),aadHashB64u:g(r.aadHashB64u,`${n}.manifestKekWraps[${t}].aadHashB64u`)}}),s=new Set;for(let e of o){let t=String(e.recoveryKeyId);if(!s.add(t))throw Error(`${n} contains duplicate recovery key ids`)}if(!Array.isArray(i.entries)||i.entries.length!==1)throw Error(`${n}.entries must carry exactly one wallet custody seed entry`);let c=G(i.entries[0],`${n}.entries[0]`);return{walletId:a.value,manifestKekWraps:o,entry:c}}const ve=[`custodySecretKind`,`nonceB64u`,`wrappedCustodySecretB64u`,`aadHashB64u`],ye=[`recoveryKeyId`,`nonceB64u`,`ciphertextB64u`,`aadHashB64u`],be=[`walletId`,`manifestKekWraps`,`entries`];function G(e,t){let n=u(e,t);if(p(n,ve,t),n.custodySecretKind!==`wallet_custody_seed_v1`)throw Error(`${t}.custodySecretKind must be wallet_custody_seed_v1; lane holder shares are reprovisioned, not recovered`);return ge({nonceB64u:m(n.nonceB64u,`${t}.nonceB64u`),wrappedCustodySecretB64u:h(n.wrappedCustodySecretB64u,`${t}.wrappedCustodySecretB64u`),aadHashB64u:g(n.aadHashB64u,`${t}.aadHashB64u`)})}function K(e,t){if(!e||typeof e!=`object`||Array.isArray(e))throw Error(`${t} must be an object`);return e}function q(e,t){let n=typeof e==`string`?e.trim():``;if(!n)throw Error(`${t} is required`);return n}function xe(e){let t=K(e,`rotation worker result`);if(!Array.isArray(t.recoveryManifestKekWraps)||t.recoveryManifestKekWraps.length!==10)throw Error(`rotation worker result must contain exactly 10 recovery wraps`);return{walletId:q(t.walletId,`rotation worker walletId`),recoveryManifestKekWraps:t.recoveryManifestKekWraps.map((e,t)=>{let n=K(e,`rotation worker wrap ${t}`);return{recoveryKeyId:q(n.recoveryKeyId,`rotation worker wrap ${t} recoveryKeyId`),nonceB64u:q(n.nonceB64u,`rotation worker wrap ${t} nonceB64u`),ciphertextB64u:q(n.ciphertextB64u,`rotation worker wrap ${t} ciphertextB64u`),aadHashB64u:q(n.aadHashB64u,`rotation worker wrap ${t} aadHashB64u`)}}),recoveryEntryNonceB64u:q(t.recoveryEntryNonceB64u,`rotation worker recoveryEntryNonceB64u`),recoveryEntryCiphertextB64u:q(t.recoveryEntryCiphertextB64u,`rotation worker recoveryEntryCiphertextB64u`),recoveryEntryAadHashB64u:q(t.recoveryEntryAadHashB64u,`rotation worker recoveryEntryAadHashB64u`)}}function Se(e){let t=xe(e),n=r(t.walletId);if(!n.ok)throw Error(`rotation worker wallet id is invalid: ${n.error.message}`);let i={custodySecretKind:`wallet_custody_seed_v1`,nonceB64u:m(t.recoveryEntryNonceB64u,`rotation.entry.nonceB64u`),wrappedCustodySecretB64u:h(t.recoveryEntryCiphertextB64u,`rotation.entry.wrappedCustodySecretB64u`),aadHashB64u:g(t.recoveryEntryAadHashB64u,`rotation.entry.aadHashB64u`)};return _e({walletId:n.value,manifestKekWraps:t.recoveryManifestKekWraps.map(e=>({recoveryKeyId:W(e.recoveryKeyId,`rotation.recoveryKeyId`),nonceB64u:m(e.nonceB64u,`rotation.wrap.nonceB64u`),ciphertextB64u:h(e.ciphertextB64u,`rotation.wrap.ciphertextB64u`),aadHashB64u:g(e.aadHashB64u,`rotation.wrap.aadHashB64u`)})),entries:[i]},{expectedWalletId:n.value,label:`rotation.workerResult`})}const J=`secp256k1_bip340_sha256_v1`;function Y(e,t,n){let r=new Set(n);for(let n of Object.keys(e))if(!r.has(n))throw Error(`${t}.${n} is not a supported field`);for(let r of n)if(!Object.hasOwn(e,r))throw Error(`${t}.${r} is required`)}function X(e,t){if(typeof e!=`string`||e.length===0||e.trim()!==e)throw Error(`${t} must be a non-empty canonical identifier`);for(let n=0;n<e.length;n+=1){let r=e.charCodeAt(n);if(r<33||r>126)throw Error(`${t} must contain visible ASCII bytes`)}return e}function Z(e){return e.startsWith(`evm_family_ecdsa:`)&&e.length>17}function Ce(e,t){let n=X(e,t);if(!Z(n))throw Error(`${t} must identify an ECDSA key set`);return n}function Q(e,t){try{return x(e)}catch{throw Error(`${t} must be canonical base64url for 32 bytes`)}}function we(e,t){if(typeof e!=`string`||!/^[A-Za-z0-9_-]+$/.test(e))throw Error(`${t} must be canonical base64url`);let n;try{n=v(e)}catch{throw Error(`${t} must be valid base64url`)}if(n.length!==33||n[0]!==2&&n[0]!==3||_(n)!==e)throw Error(`${t} must be canonical compressed secp256k1 public key bytes`);return e}function Te(e,t){if(typeof e!=`number`||!Number.isSafeInteger(e)||e<=0)throw Error(`${t} must be a positive safe integer`);return e}function Ee(e,t){if(typeof e!=`string`||!/^[A-Za-z0-9_-]+$/.test(e))throw Error(`${t} must be canonical base64url`);let n;try{n=v(e)}catch{throw Error(`${t} must be valid base64url`)}if(n.length!==64||_(n)!==e)throw Error(`${t} must be canonical base64url for 64 bytes`);return e}function $(e){let t=u(e,`walletRecoveryEcdsaPossessionChallenge`);if(Y(t,`walletRecoveryEcdsaPossessionChallenge`,[`kind`,`walletId`,`reservationId`,`replacementId`,`keySetId`,`keyHandle`,`recordedKeyManifestDigestB64u`,`publicCapabilityDigestB64u`,`authorityRefDigestB64u`,`derivationClientSharePublicKey33B64u`,`expectedServerGeneration`,`expiresAtMs`,`serverNonceB64u`]),t.kind!==`wallet_recovery_ecdsa_possession_challenge_v1`)throw Error(`walletRecoveryEcdsaPossessionChallenge.kind is invalid`);let n=Ce(t.keySetId,`walletRecoveryEcdsaPossessionChallenge.keySetId`);return{kind:`wallet_recovery_ecdsa_possession_challenge_v1`,walletId:X(t.walletId,`walletRecoveryEcdsaPossessionChallenge.walletId`),reservationId:X(t.reservationId,`walletRecoveryEcdsaPossessionChallenge.reservationId`),replacementId:X(t.replacementId,`walletRecoveryEcdsaPossessionChallenge.replacementId`),keySetId:n,keyHandle:X(t.keyHandle,`walletRecoveryEcdsaPossessionChallenge.keyHandle`),recordedKeyManifestDigestB64u:Q(t.recordedKeyManifestDigestB64u,`walletRecoveryEcdsaPossessionChallenge.recordedKeyManifestDigestB64u`),publicCapabilityDigestB64u:Q(t.publicCapabilityDigestB64u,`walletRecoveryEcdsaPossessionChallenge.publicCapabilityDigestB64u`),authorityRefDigestB64u:Q(t.authorityRefDigestB64u,`walletRecoveryEcdsaPossessionChallenge.authorityRefDigestB64u`),derivationClientSharePublicKey33B64u:we(t.derivationClientSharePublicKey33B64u,`walletRecoveryEcdsaPossessionChallenge.derivationClientSharePublicKey33B64u`),expectedServerGeneration:X(t.expectedServerGeneration,`walletRecoveryEcdsaPossessionChallenge.expectedServerGeneration`),expiresAtMs:Te(t.expiresAtMs,`walletRecoveryEcdsaPossessionChallenge.expiresAtMs`),serverNonceB64u:Q(t.serverNonceB64u,`walletRecoveryEcdsaPossessionChallenge.serverNonceB64u`)}}function De(e){let t=u(e,`walletRecoveryEcdsaPossessionProof`);if(Y(t,`walletRecoveryEcdsaPossessionProof`,[`kind`,`scheme`,`signature64B64u`]),t.kind!==`wallet_recovery_ecdsa_possession_proof_v1`)throw Error(`walletRecoveryEcdsaPossessionProof.kind is invalid`);if(t.scheme!==J)throw Error(`walletRecoveryEcdsaPossessionProof.scheme is invalid`);return{kind:`wallet_recovery_ecdsa_possession_proof_v1`,scheme:J,signature64B64u:Ee(t.signature64B64u,`walletRecoveryEcdsaPossessionProof.signature64B64u`)}}function Oe(e){let t=$(e),n=[`seams/wallet-recovery/ecdsa-existing-material-possession/v1`,J,t.walletId,t.reservationId,t.replacementId,t.keySetId,t.keyHandle,v(t.recordedKeyManifestDigestB64u),v(t.publicCapabilityDigestB64u),v(t.authorityRefDigestB64u),v(t.derivationClientSharePublicKey33B64u),t.expectedServerGeneration,v(t.serverNonceB64u),ke(t.expiresAtMs)],r=[];for(let e of n){let t=typeof e==`string`?new TextEncoder().encode(e):e,n=t.length;if(n>4294967295)throw Error(`wallet recovery possession field is too large`);r.push(n>>>24&255,n>>>16&255,n>>>8&255,n&255,...t)}return Uint8Array.from(r)}function ke(e){let t=BigInt(e),n=new Uint8Array(8);for(let e=n.length-1;e>=0;--e)n[e]=Number(t&255n),t>>=8n;return n}async function Ae(e){return y(Oe(e))}export{G as a,fe as c,ie as d,ae as f,A as g,re as h,Se as i,oe as l,ne as m,De as n,he as o,T as p,Ae as r,de as s,$ as t,le as u};
@@ -1 +1 @@
1
- import{D as e,M as t,O as n,T as r,j as i}from"./domainIds-BzkGsRqO.js";import{c as a}from"./chains-C_X_fNuS.js";import{o}from"./canonicalPrimitives-Dsbsxgxc.js";import{i as s,t as c}from"./registrationAuthMethodInput-BBCeWDmw.js";async function l(e){return o(a({version:`wallet_auth_method_revoke_operation_v1`,walletId:String(e.walletId),targetWalletAuthMethodId:String(e.targetWalletAuthMethodId),requestedAtMs:e.requestedAtMs}))}function u(e,t){if(e.version!==t.version||e.walletAuthMethodId!==t.walletAuthMethodId||e.walletId!==t.walletId||e.walletAuthorityId!==t.walletAuthorityId||e.status!==t.status||e.createdAtMs!==t.createdAtMs||e.updatedAtMs!==t.updatedAtMs)return!1;switch(e.kind){case`passkey`:if(t.kind!==`passkey`)return!1;if(e.rpId===t.rpId&&e.credentialIdB64u===t.credentialIdB64u&&e.credentialPublicKeyB64u===t.credentialPublicKeyB64u&&e.counter===t.counter)break;return!1;case`email_otp`:if(t.kind!==`email_otp`)return!1;if(e.emailHashHex===t.emailHashHex&&e.registrationAuthorityId===t.registrationAuthorityId)break;return!1;default:return d(e,`wallet auth method kind`)}switch(e.status){case`pending_local_install`:return t.status===`pending_local_install`;case`active`:return t.status===`active`&&e.activatedAtMs===t.activatedAtMs;case`revoked`:return t.status===`revoked`&&e.activatedAtMs===t.activatedAtMs&&e.revokedAtMs===t.revokedAtMs;default:return d(e,`wallet auth method lifecycle`)}}function d(e,t){throw Error(`${t} branch is unsupported: ${String(e)}`)}function f(e){if(h(e),e.kind===`passkey`)switch(e.status){case`pending_local_install`:return{version:`wallet_auth_method_v2`,walletAuthMethodId:e.walletAuthMethodId,walletId:e.walletId,walletAuthorityId:e.walletAuthorityId,kind:`passkey`,status:`pending_local_install`,rpId:e.rpId,credentialIdB64u:e.credentialIdB64u,credentialPublicKeyB64u:e.credentialPublicKeyB64u,counter:e.counter,createdAtMs:e.createdAtMs,updatedAtMs:e.updatedAtMs};case`active`:return{version:`wallet_auth_method_v2`,walletAuthMethodId:e.walletAuthMethodId,walletId:e.walletId,walletAuthorityId:e.walletAuthorityId,kind:`passkey`,status:`active`,rpId:e.rpId,credentialIdB64u:e.credentialIdB64u,credentialPublicKeyB64u:e.credentialPublicKeyB64u,counter:e.counter,createdAtMs:e.createdAtMs,updatedAtMs:e.updatedAtMs,activatedAtMs:e.activatedAtMs};case`revoked`:return{version:`wallet_auth_method_v2`,walletAuthMethodId:e.walletAuthMethodId,walletId:e.walletId,walletAuthorityId:e.walletAuthorityId,kind:`passkey`,status:`revoked`,rpId:e.rpId,credentialIdB64u:e.credentialIdB64u,credentialPublicKeyB64u:e.credentialPublicKeyB64u,counter:e.counter,createdAtMs:e.createdAtMs,updatedAtMs:e.updatedAtMs,activatedAtMs:e.activatedAtMs,revokedAtMs:e.revokedAtMs}}switch(e.status){case`pending_local_install`:return{version:`wallet_auth_method_v2`,walletAuthMethodId:e.walletAuthMethodId,walletId:e.walletId,walletAuthorityId:e.walletAuthorityId,kind:`email_otp`,status:`pending_local_install`,emailHashHex:e.emailHashHex,registrationAuthorityId:e.registrationAuthorityId,createdAtMs:e.createdAtMs,updatedAtMs:e.updatedAtMs};case`active`:return{version:`wallet_auth_method_v2`,walletAuthMethodId:e.walletAuthMethodId,walletId:e.walletId,walletAuthorityId:e.walletAuthorityId,kind:`email_otp`,status:`active`,emailHashHex:e.emailHashHex,registrationAuthorityId:e.registrationAuthorityId,createdAtMs:e.createdAtMs,updatedAtMs:e.updatedAtMs,activatedAtMs:e.activatedAtMs};case`revoked`:return{version:`wallet_auth_method_v2`,walletAuthMethodId:e.walletAuthMethodId,walletId:e.walletId,walletAuthorityId:e.walletAuthorityId,kind:`email_otp`,status:`revoked`,emailHashHex:e.emailHashHex,registrationAuthorityId:e.registrationAuthorityId,createdAtMs:e.createdAtMs,updatedAtMs:e.updatedAtMs,activatedAtMs:e.activatedAtMs,revokedAtMs:e.revokedAtMs}}}function p(e){let n=c(e);if(!n||!(`version`in n)||!(`kind`in n)||!(`status`in n))return null;let r=s(n.version),a=s(n.kind),o=s(n.status);if(r!==`wallet_auth_method_v2`||a!==`passkey`&&a!==`email_otp`)return null;try{let e=m(n);if(a===`passkey`){if(!(`rpId`in n)||!(`credentialIdB64u`in n)||!(`credentialPublicKeyB64u`in n)||!(`counter`in n))return null;_(n,`passkey`,o);let r=t(n.rpId),a=i(n.credentialIdB64u);return!r.ok||!a.ok||typeof n.credentialPublicKeyB64u!=`string`||!n.credentialPublicKeyB64u.trim()||Object.prototype.hasOwnProperty.call(n,`emailHashHex`)||Object.prototype.hasOwnProperty.call(n,`registrationAuthorityId`)?null:v({common:e,lifecycle:g(n),rpId:r.value,credentialIdB64u:a.value,credentialPublicKeyB64u:n.credentialPublicKeyB64u,counter:C(n.counter)})}if(!(`emailHashHex`in n)||!(`registrationAuthorityId`in n))return null;_(n,`email_otp`,o);let r=s(n.emailHashHex),c=s(n.registrationAuthorityId);return!r||!c||Object.prototype.hasOwnProperty.call(n,`rpId`)||Object.prototype.hasOwnProperty.call(n,`credentialIdB64u`)||Object.prototype.hasOwnProperty.call(n,`credentialPublicKeyB64u`)||Object.prototype.hasOwnProperty.call(n,`counter`)?null:y({common:e,lifecycle:g(n),emailHashHex:r,registrationAuthorityId:c})}catch{return null}}function m(e){if(!(`walletAuthMethodId`in e)||!(`walletId`in e)||!(`walletAuthorityId`in e)||!(`createdAtMs`in e)||!(`updatedAtMs`in e))throw Error(`wallet auth method common fields are required`);return{version:`wallet_auth_method_v2`,walletAuthMethodId:b(e.walletAuthMethodId),walletId:x(e.walletId),walletAuthorityId:S(e.walletAuthorityId),createdAtMs:C(e.createdAtMs),updatedAtMs:C(e.updatedAtMs)}}function h(e){if(e.version!==`wallet_auth_method_v2`)throw Error(`wallet auth method record version is unsupported`);if(!e.walletAuthMethodId||!e.walletId||!e.walletAuthorityId)throw Error(`wallet auth method record identities are required`);if(!Number.isSafeInteger(e.createdAtMs)||e.createdAtMs<0)throw Error(`wallet auth method createdAtMs must be a non-negative safe integer`);if(!Number.isSafeInteger(e.updatedAtMs)||e.updatedAtMs<e.createdAtMs)throw Error(`wallet auth method updatedAtMs must follow createdAtMs`);if(e.kind===`passkey`){if(!e.rpId||!e.credentialIdB64u||!e.credentialPublicKeyB64u.trim())throw Error(`passkey wallet auth method fields are required`);if(!Number.isSafeInteger(e.counter)||e.counter<0)throw Error(`passkey authenticator counter must be non-negative`)}else if(!e.emailHashHex.trim()||!e.registrationAuthorityId.trim())throw Error(`email OTP wallet auth method fields are required`);switch(e.status){case`pending_local_install`:return;case`active`:w(e.activatedAtMs,`activatedAtMs`);return;case`revoked`:if(w(e.activatedAtMs,`activatedAtMs`),w(e.revokedAtMs,`revokedAtMs`),e.revokedAtMs<e.activatedAtMs)throw Error(`revokedAtMs cannot precede activatedAtMs`);return}}function g(e){if(!(`status`in e))throw Error(`wallet auth method status is required`);switch(e.status){case`pending_local_install`:return{status:`pending_local_install`};case`active`:if(!(`activatedAtMs`in e))throw Error(`wallet auth method activatedAtMs is required`);return{status:`active`,activatedAtMs:C(e.activatedAtMs)};case`revoked`:if(!(`activatedAtMs`in e)||!(`revokedAtMs`in e))throw Error(`wallet auth method revocation timestamps are required`);return{status:`revoked`,activatedAtMs:C(e.activatedAtMs),revokedAtMs:C(e.revokedAtMs)};default:throw Error(`wallet auth method status is unsupported`)}}function _(e,t,n){let r=[`version`,`walletAuthMethodId`,`walletId`,`walletAuthorityId`,`kind`,`status`,`createdAtMs`,`updatedAtMs`];if(t===`passkey`?r.push(`rpId`,`credentialIdB64u`,`credentialPublicKeyB64u`,`counter`):r.push(`emailHashHex`,`registrationAuthorityId`),n===`active`&&r.push(`activatedAtMs`),n===`revoked`&&r.push(`activatedAtMs`,`revokedAtMs`),n!==`pending_local_install`&&n!==`active`&&n!==`revoked`)throw Error(`wallet auth method status is unsupported`);let i=new Set(r),a=Object.keys(e);if(a.length!==r.length)throw Error(`wallet auth method record has invalid fields`);for(let e of a)if(!i.has(e))throw Error(`wallet auth method field ${e} is invalid`)}function v(e){switch(e.lifecycle.status){case`pending_local_install`:return{version:`wallet_auth_method_v2`,walletAuthMethodId:e.common.walletAuthMethodId,walletId:e.common.walletId,walletAuthorityId:e.common.walletAuthorityId,kind:`passkey`,status:`pending_local_install`,createdAtMs:e.common.createdAtMs,updatedAtMs:e.common.updatedAtMs,rpId:e.rpId,credentialIdB64u:e.credentialIdB64u,credentialPublicKeyB64u:e.credentialPublicKeyB64u,counter:e.counter};case`active`:return{version:`wallet_auth_method_v2`,walletAuthMethodId:e.common.walletAuthMethodId,walletId:e.common.walletId,walletAuthorityId:e.common.walletAuthorityId,kind:`passkey`,status:`active`,createdAtMs:e.common.createdAtMs,updatedAtMs:e.common.updatedAtMs,rpId:e.rpId,credentialIdB64u:e.credentialIdB64u,credentialPublicKeyB64u:e.credentialPublicKeyB64u,counter:e.counter,activatedAtMs:e.lifecycle.activatedAtMs};case`revoked`:return{version:`wallet_auth_method_v2`,walletAuthMethodId:e.common.walletAuthMethodId,walletId:e.common.walletId,walletAuthorityId:e.common.walletAuthorityId,kind:`passkey`,status:`revoked`,createdAtMs:e.common.createdAtMs,updatedAtMs:e.common.updatedAtMs,rpId:e.rpId,credentialIdB64u:e.credentialIdB64u,credentialPublicKeyB64u:e.credentialPublicKeyB64u,counter:e.counter,activatedAtMs:e.lifecycle.activatedAtMs,revokedAtMs:e.lifecycle.revokedAtMs}}}function y(e){switch(e.lifecycle.status){case`pending_local_install`:return{version:`wallet_auth_method_v2`,walletAuthMethodId:e.common.walletAuthMethodId,walletId:e.common.walletId,walletAuthorityId:e.common.walletAuthorityId,kind:`email_otp`,status:`pending_local_install`,createdAtMs:e.common.createdAtMs,updatedAtMs:e.common.updatedAtMs,emailHashHex:e.emailHashHex,registrationAuthorityId:e.registrationAuthorityId};case`active`:return{version:`wallet_auth_method_v2`,walletAuthMethodId:e.common.walletAuthMethodId,walletId:e.common.walletId,walletAuthorityId:e.common.walletAuthorityId,kind:`email_otp`,status:`active`,createdAtMs:e.common.createdAtMs,updatedAtMs:e.common.updatedAtMs,emailHashHex:e.emailHashHex,registrationAuthorityId:e.registrationAuthorityId,activatedAtMs:e.lifecycle.activatedAtMs};case`revoked`:return{version:`wallet_auth_method_v2`,walletAuthMethodId:e.common.walletAuthMethodId,walletId:e.common.walletId,walletAuthorityId:e.common.walletAuthorityId,kind:`email_otp`,status:`revoked`,createdAtMs:e.common.createdAtMs,updatedAtMs:e.common.updatedAtMs,emailHashHex:e.emailHashHex,registrationAuthorityId:e.registrationAuthorityId,activatedAtMs:e.lifecycle.activatedAtMs,revokedAtMs:e.lifecycle.revokedAtMs}}}function b(e){let t=r(e);if(!t.ok)throw Error(t.error.message);return t.value}function x(e){let t=n(e);if(!t.ok)throw Error(t.error.message);return t.value}function S(t){let n=e(t);if(!n.ok)throw Error(n.error.message);return n.value}function C(e){if(typeof e!=`number`||!Number.isSafeInteger(e)||e<0)throw Error(`value must be a non-negative safe integer`);return e}function w(e,t){if(!Number.isSafeInteger(e)||e<0)throw Error(`${t} must be a non-negative safe integer`)}export{u as i,l as n,p as r,f as t};
1
+ import{D as e,M as t,O as n,T as r,j as i}from"./domainIds-BzkGsRqO.js";import{c as a}from"./chains-C_X_fNuS.js";import{o}from"./canonicalPrimitives-Dsbsxgxc.js";import{i as s,t as c}from"./registrationAuthMethodInput-RbSR7R1G.js";async function l(e){return o(a({version:`wallet_auth_method_revoke_operation_v1`,walletId:String(e.walletId),targetWalletAuthMethodId:String(e.targetWalletAuthMethodId),requestedAtMs:e.requestedAtMs}))}function u(e,t){if(e.version!==t.version||e.walletAuthMethodId!==t.walletAuthMethodId||e.walletId!==t.walletId||e.walletAuthorityId!==t.walletAuthorityId||e.status!==t.status||e.createdAtMs!==t.createdAtMs||e.updatedAtMs!==t.updatedAtMs)return!1;switch(e.kind){case`passkey`:if(t.kind!==`passkey`)return!1;if(e.rpId===t.rpId&&e.credentialIdB64u===t.credentialIdB64u&&e.credentialPublicKeyB64u===t.credentialPublicKeyB64u&&e.counter===t.counter)break;return!1;case`email_otp`:if(t.kind!==`email_otp`)return!1;if(e.emailHashHex===t.emailHashHex&&e.registrationAuthorityId===t.registrationAuthorityId)break;return!1;default:return d(e,`wallet auth method kind`)}switch(e.status){case`pending_local_install`:return t.status===`pending_local_install`;case`active`:return t.status===`active`&&e.activatedAtMs===t.activatedAtMs;case`revoked`:return t.status===`revoked`&&e.activatedAtMs===t.activatedAtMs&&e.revokedAtMs===t.revokedAtMs;default:return d(e,`wallet auth method lifecycle`)}}function d(e,t){throw Error(`${t} branch is unsupported: ${String(e)}`)}function f(e){if(h(e),e.kind===`passkey`)switch(e.status){case`pending_local_install`:return{version:`wallet_auth_method_v2`,walletAuthMethodId:e.walletAuthMethodId,walletId:e.walletId,walletAuthorityId:e.walletAuthorityId,kind:`passkey`,status:`pending_local_install`,rpId:e.rpId,credentialIdB64u:e.credentialIdB64u,credentialPublicKeyB64u:e.credentialPublicKeyB64u,counter:e.counter,createdAtMs:e.createdAtMs,updatedAtMs:e.updatedAtMs};case`active`:return{version:`wallet_auth_method_v2`,walletAuthMethodId:e.walletAuthMethodId,walletId:e.walletId,walletAuthorityId:e.walletAuthorityId,kind:`passkey`,status:`active`,rpId:e.rpId,credentialIdB64u:e.credentialIdB64u,credentialPublicKeyB64u:e.credentialPublicKeyB64u,counter:e.counter,createdAtMs:e.createdAtMs,updatedAtMs:e.updatedAtMs,activatedAtMs:e.activatedAtMs};case`revoked`:return{version:`wallet_auth_method_v2`,walletAuthMethodId:e.walletAuthMethodId,walletId:e.walletId,walletAuthorityId:e.walletAuthorityId,kind:`passkey`,status:`revoked`,rpId:e.rpId,credentialIdB64u:e.credentialIdB64u,credentialPublicKeyB64u:e.credentialPublicKeyB64u,counter:e.counter,createdAtMs:e.createdAtMs,updatedAtMs:e.updatedAtMs,activatedAtMs:e.activatedAtMs,revokedAtMs:e.revokedAtMs}}switch(e.status){case`pending_local_install`:return{version:`wallet_auth_method_v2`,walletAuthMethodId:e.walletAuthMethodId,walletId:e.walletId,walletAuthorityId:e.walletAuthorityId,kind:`email_otp`,status:`pending_local_install`,emailHashHex:e.emailHashHex,registrationAuthorityId:e.registrationAuthorityId,createdAtMs:e.createdAtMs,updatedAtMs:e.updatedAtMs};case`active`:return{version:`wallet_auth_method_v2`,walletAuthMethodId:e.walletAuthMethodId,walletId:e.walletId,walletAuthorityId:e.walletAuthorityId,kind:`email_otp`,status:`active`,emailHashHex:e.emailHashHex,registrationAuthorityId:e.registrationAuthorityId,createdAtMs:e.createdAtMs,updatedAtMs:e.updatedAtMs,activatedAtMs:e.activatedAtMs};case`revoked`:return{version:`wallet_auth_method_v2`,walletAuthMethodId:e.walletAuthMethodId,walletId:e.walletId,walletAuthorityId:e.walletAuthorityId,kind:`email_otp`,status:`revoked`,emailHashHex:e.emailHashHex,registrationAuthorityId:e.registrationAuthorityId,createdAtMs:e.createdAtMs,updatedAtMs:e.updatedAtMs,activatedAtMs:e.activatedAtMs,revokedAtMs:e.revokedAtMs}}}function p(e){let n=c(e);if(!n||!(`version`in n)||!(`kind`in n)||!(`status`in n))return null;let r=s(n.version),a=s(n.kind),o=s(n.status);if(r!==`wallet_auth_method_v2`||a!==`passkey`&&a!==`email_otp`)return null;try{let e=m(n);if(a===`passkey`){if(!(`rpId`in n)||!(`credentialIdB64u`in n)||!(`credentialPublicKeyB64u`in n)||!(`counter`in n))return null;_(n,`passkey`,o);let r=t(n.rpId),a=i(n.credentialIdB64u);return!r.ok||!a.ok||typeof n.credentialPublicKeyB64u!=`string`||!n.credentialPublicKeyB64u.trim()||Object.prototype.hasOwnProperty.call(n,`emailHashHex`)||Object.prototype.hasOwnProperty.call(n,`registrationAuthorityId`)?null:v({common:e,lifecycle:g(n),rpId:r.value,credentialIdB64u:a.value,credentialPublicKeyB64u:n.credentialPublicKeyB64u,counter:C(n.counter)})}if(!(`emailHashHex`in n)||!(`registrationAuthorityId`in n))return null;_(n,`email_otp`,o);let r=s(n.emailHashHex),c=s(n.registrationAuthorityId);return!r||!c||Object.prototype.hasOwnProperty.call(n,`rpId`)||Object.prototype.hasOwnProperty.call(n,`credentialIdB64u`)||Object.prototype.hasOwnProperty.call(n,`credentialPublicKeyB64u`)||Object.prototype.hasOwnProperty.call(n,`counter`)?null:y({common:e,lifecycle:g(n),emailHashHex:r,registrationAuthorityId:c})}catch{return null}}function m(e){if(!(`walletAuthMethodId`in e)||!(`walletId`in e)||!(`walletAuthorityId`in e)||!(`createdAtMs`in e)||!(`updatedAtMs`in e))throw Error(`wallet auth method common fields are required`);return{version:`wallet_auth_method_v2`,walletAuthMethodId:b(e.walletAuthMethodId),walletId:x(e.walletId),walletAuthorityId:S(e.walletAuthorityId),createdAtMs:C(e.createdAtMs),updatedAtMs:C(e.updatedAtMs)}}function h(e){if(e.version!==`wallet_auth_method_v2`)throw Error(`wallet auth method record version is unsupported`);if(!e.walletAuthMethodId||!e.walletId||!e.walletAuthorityId)throw Error(`wallet auth method record identities are required`);if(!Number.isSafeInteger(e.createdAtMs)||e.createdAtMs<0)throw Error(`wallet auth method createdAtMs must be a non-negative safe integer`);if(!Number.isSafeInteger(e.updatedAtMs)||e.updatedAtMs<e.createdAtMs)throw Error(`wallet auth method updatedAtMs must follow createdAtMs`);if(e.kind===`passkey`){if(!e.rpId||!e.credentialIdB64u||!e.credentialPublicKeyB64u.trim())throw Error(`passkey wallet auth method fields are required`);if(!Number.isSafeInteger(e.counter)||e.counter<0)throw Error(`passkey authenticator counter must be non-negative`)}else if(!e.emailHashHex.trim()||!e.registrationAuthorityId.trim())throw Error(`email OTP wallet auth method fields are required`);switch(e.status){case`pending_local_install`:return;case`active`:w(e.activatedAtMs,`activatedAtMs`);return;case`revoked`:if(w(e.activatedAtMs,`activatedAtMs`),w(e.revokedAtMs,`revokedAtMs`),e.revokedAtMs<e.activatedAtMs)throw Error(`revokedAtMs cannot precede activatedAtMs`);return}}function g(e){if(!(`status`in e))throw Error(`wallet auth method status is required`);switch(e.status){case`pending_local_install`:return{status:`pending_local_install`};case`active`:if(!(`activatedAtMs`in e))throw Error(`wallet auth method activatedAtMs is required`);return{status:`active`,activatedAtMs:C(e.activatedAtMs)};case`revoked`:if(!(`activatedAtMs`in e)||!(`revokedAtMs`in e))throw Error(`wallet auth method revocation timestamps are required`);return{status:`revoked`,activatedAtMs:C(e.activatedAtMs),revokedAtMs:C(e.revokedAtMs)};default:throw Error(`wallet auth method status is unsupported`)}}function _(e,t,n){let r=[`version`,`walletAuthMethodId`,`walletId`,`walletAuthorityId`,`kind`,`status`,`createdAtMs`,`updatedAtMs`];if(t===`passkey`?r.push(`rpId`,`credentialIdB64u`,`credentialPublicKeyB64u`,`counter`):r.push(`emailHashHex`,`registrationAuthorityId`),n===`active`&&r.push(`activatedAtMs`),n===`revoked`&&r.push(`activatedAtMs`,`revokedAtMs`),n!==`pending_local_install`&&n!==`active`&&n!==`revoked`)throw Error(`wallet auth method status is unsupported`);let i=new Set(r),a=Object.keys(e);if(a.length!==r.length)throw Error(`wallet auth method record has invalid fields`);for(let e of a)if(!i.has(e))throw Error(`wallet auth method field ${e} is invalid`)}function v(e){switch(e.lifecycle.status){case`pending_local_install`:return{version:`wallet_auth_method_v2`,walletAuthMethodId:e.common.walletAuthMethodId,walletId:e.common.walletId,walletAuthorityId:e.common.walletAuthorityId,kind:`passkey`,status:`pending_local_install`,createdAtMs:e.common.createdAtMs,updatedAtMs:e.common.updatedAtMs,rpId:e.rpId,credentialIdB64u:e.credentialIdB64u,credentialPublicKeyB64u:e.credentialPublicKeyB64u,counter:e.counter};case`active`:return{version:`wallet_auth_method_v2`,walletAuthMethodId:e.common.walletAuthMethodId,walletId:e.common.walletId,walletAuthorityId:e.common.walletAuthorityId,kind:`passkey`,status:`active`,createdAtMs:e.common.createdAtMs,updatedAtMs:e.common.updatedAtMs,rpId:e.rpId,credentialIdB64u:e.credentialIdB64u,credentialPublicKeyB64u:e.credentialPublicKeyB64u,counter:e.counter,activatedAtMs:e.lifecycle.activatedAtMs};case`revoked`:return{version:`wallet_auth_method_v2`,walletAuthMethodId:e.common.walletAuthMethodId,walletId:e.common.walletId,walletAuthorityId:e.common.walletAuthorityId,kind:`passkey`,status:`revoked`,createdAtMs:e.common.createdAtMs,updatedAtMs:e.common.updatedAtMs,rpId:e.rpId,credentialIdB64u:e.credentialIdB64u,credentialPublicKeyB64u:e.credentialPublicKeyB64u,counter:e.counter,activatedAtMs:e.lifecycle.activatedAtMs,revokedAtMs:e.lifecycle.revokedAtMs}}}function y(e){switch(e.lifecycle.status){case`pending_local_install`:return{version:`wallet_auth_method_v2`,walletAuthMethodId:e.common.walletAuthMethodId,walletId:e.common.walletId,walletAuthorityId:e.common.walletAuthorityId,kind:`email_otp`,status:`pending_local_install`,createdAtMs:e.common.createdAtMs,updatedAtMs:e.common.updatedAtMs,emailHashHex:e.emailHashHex,registrationAuthorityId:e.registrationAuthorityId};case`active`:return{version:`wallet_auth_method_v2`,walletAuthMethodId:e.common.walletAuthMethodId,walletId:e.common.walletId,walletAuthorityId:e.common.walletAuthorityId,kind:`email_otp`,status:`active`,createdAtMs:e.common.createdAtMs,updatedAtMs:e.common.updatedAtMs,emailHashHex:e.emailHashHex,registrationAuthorityId:e.registrationAuthorityId,activatedAtMs:e.lifecycle.activatedAtMs};case`revoked`:return{version:`wallet_auth_method_v2`,walletAuthMethodId:e.common.walletAuthMethodId,walletId:e.common.walletId,walletAuthorityId:e.common.walletAuthorityId,kind:`email_otp`,status:`revoked`,createdAtMs:e.common.createdAtMs,updatedAtMs:e.common.updatedAtMs,emailHashHex:e.emailHashHex,registrationAuthorityId:e.registrationAuthorityId,activatedAtMs:e.lifecycle.activatedAtMs,revokedAtMs:e.lifecycle.revokedAtMs}}}function b(e){let t=r(e);if(!t.ok)throw Error(t.error.message);return t.value}function x(e){let t=n(e);if(!t.ok)throw Error(t.error.message);return t.value}function S(t){let n=e(t);if(!n.ok)throw Error(n.error.message);return n.value}function C(e){if(typeof e!=`number`||!Number.isSafeInteger(e)||e<0)throw Error(`value must be a non-negative safe integer`);return e}function w(e,t){if(!Number.isSafeInteger(e)||e<0)throw Error(`${t} must be a non-negative safe integer`)}export{u as i,l as n,p as r,f as t};
@@ -1 +1 @@
1
- import{A as e,D as t,O as n,h as r,k as i,l as a,u as o}from"./domainIds-BzkGsRqO.js";import{k as s,l as c}from"./chains-C_X_fNuS.js";import{_ as l,l as u,m as ee,n as te,s as ne}from"./primitives-CqrjmIAH.js";import{i as d}from"./base64-DW79QA0h.js";import{l as re}from"./capabilityKinds-N8xo_IEh.js";import{r as f}from"./canonicalPrimitives-Dsbsxgxc.js";import{a as p,i as ie,n as m,o as ae,r as oe,s as se,t as h}from"./digestEncoding-CkUc5vtR.js";const ce=[`kind`,`keyFamilies`,`signers`],le=[`kind`,`keyFamily`,`walletId`,`walletKeyId`,`registeredPublicKeyB64u`],ue=[`kind`,`keyFamily`,`walletId`,`walletKeyId`,`thresholdPublicKey33B64u`,`evmAddress`];function g(e){if(e.length===0)throw Error(`exact administered signer manifest must contain at least one active family`);let t,n,r,i=new Set;for(let a of e){if(t!==void 0&&t!==a.walletId)throw Error(`exact administered signer manifest must use one wallet identity`);if(t=a.walletId,i.has(a.walletKeyId))throw Error(`exact administered signer manifest repeats wallet key ${a.walletKeyId}`);switch(i.add(a.walletKeyId),a.keyFamily){case`ed25519`:if(n!==void 0)throw Error(`exact administered signer manifest repeats the ed25519 family`);if(a.kind!==`exact_administered_ed25519_signer_v1`)throw Error(`exact administered signer manifest has an invalid Ed25519 signer`);n=a;break;case`ecdsa_secp256k1`:if(r!==void 0)throw Error(`exact administered signer manifest repeats the ecdsa family`);if(a.kind!==`exact_administered_ecdsa_signer_v1`)throw Error(`exact administered signer manifest has an invalid ECDSA signer`);r=a;break}}if(n!==void 0&&r!==void 0)return{kind:`exact_administered_signer_manifest_v1`,keyFamilies:[`ed25519`,`ecdsa_secp256k1`],signers:[n,r]};if(n!==void 0)return{kind:`exact_administered_signer_manifest_v1`,keyFamilies:[`ed25519`],signers:[n]};if(r!==void 0)return{kind:`exact_administered_signer_manifest_v1`,keyFamilies:[`ecdsa_secp256k1`],signers:[r]};throw Error(`exact administered signer manifest must contain a supported family`)}function _(e){let t=he(e,ce,`ExactAdministeredSignerManifestV1`);if(t.kind!==`exact_administered_signer_manifest_v1`)throw Error(`ExactAdministeredSignerManifestV1.kind is invalid`);let n=fe(t.keyFamilies);if(!Array.isArray(t.signers))throw Error(`ExactAdministeredSignerManifestV1.signers must be an array`);let r=[];for(let e=0;e<t.signers.length;e+=1)r.push(de(t.signers[e],`signers[${e}]`));let i=g(r);if(!pe(n,i.keyFamilies))throw Error(`ExactAdministeredSignerManifestV1.keyFamilies do not match signers`);return i}function de(e,t){let r=s(e,t);switch(r.keyFamily){case`ed25519`:if(l(r,le,t),r.kind!==`exact_administered_ed25519_signer_v1`)throw Error(`${t}.kind is invalid for Ed25519`);return{kind:`exact_administered_ed25519_signer_v1`,keyFamily:`ed25519`,walletId:u(n(r.walletId),`${t}.walletId`),walletKeyId:u(i(r.walletKeyId),`${t}.walletKeyId`),registeredPublicKeyB64u:te(r.registeredPublicKeyB64u,`${t}.registeredPublicKeyB64u`)};case`ecdsa_secp256k1`:if(l(r,ue,t),r.kind!==`exact_administered_ecdsa_signer_v1`)throw Error(`${t}.kind is invalid for ECDSA`);return{kind:`exact_administered_ecdsa_signer_v1`,keyFamily:`ecdsa_secp256k1`,walletId:u(n(r.walletId),`${t}.walletId`),walletKeyId:u(i(r.walletKeyId),`${t}.walletKeyId`),thresholdPublicKey33B64u:ne(r.thresholdPublicKey33B64u,`${t}.thresholdPublicKey33B64u`),evmAddress:me(r.evmAddress,`${t}.evmAddress`)};default:throw Error(`${t}.keyFamily is unsupported`)}}function fe(e){if(!Array.isArray(e)||e.length===0||e.length>2)throw Error(`ExactAdministeredSignerManifestV1.keyFamilies must be non-empty`);if(e.length===1&&e[0]===`ed25519`)return[`ed25519`];if(e.length===1&&e[0]===`ecdsa_secp256k1`)return[`ecdsa_secp256k1`];if(e.length===2&&e[0]===`ed25519`&&e[1]===`ecdsa_secp256k1`)return[`ed25519`,`ecdsa_secp256k1`];throw Error(`ExactAdministeredSignerManifestV1.keyFamilies must be canonical and duplicate-free`)}function pe(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n+=1)if(e[n]!==t[n])return!1;return!0}function me(e,t){if(typeof e!=`string`||!/^0x[0-9a-fA-F]{40}$/.test(e))throw Error(`${t} must be a 20-byte hexadecimal EVM address`);return e}function he(e,t,n){let r=s(e,n);l(r,t,n);for(let e of t)if(!(e in r))throw Error(`${n}.${e} is required`);return r}function v(e){return K(e)}function y(e){return G(e.signerActivations)}function b(e){return W(e.signerActivations)}function ge(e){return e.provenance.kind===`wallet_recovery`}function x(e){return{kind:`wallet_ed25519_signer_activation_v1`,signer:e.signer,materialActivation:e.materialActivation}}function S(e){return{kind:`wallet_ecdsa_signer_activation_v1`,signer:e.signer,materialActivation:e.materialActivation}}function C(e){let t=_(e.manifest),n=ze(e.materialActivations);if(!Ne(t.keyFamilies,n.keyFamilies))throw Error(`wallet signer activation materials must match the signer manifest families`);if(U(t)){if(!Ie(n))throw Error(`Ed25519 signer activation requires one Ed25519 material activation`);return{kind:`wallet_signer_activation_set_v1`,keyFamilies:[`ed25519`],ed25519:x({signer:t.signers[0],materialActivation:n.ed25519})}}if(Pe(t)){if(!Le(n))throw Error(`ECDSA signer activation requires one ECDSA material activation`);return{kind:`wallet_signer_activation_set_v1`,keyFamilies:[`ecdsa_secp256k1`],ecdsa:S({signer:t.signers[0],materialActivation:n.ecdsa})}}if(!Fe(t)||!Re(n))throw Error(`wallet signer activation set has unsupported families`);if(n.ed25519.activationId===n.ecdsa.activationId)throw Error(`wallet signer activation references must be distinct`);return{kind:`wallet_signer_activation_set_v1`,keyFamilies:[`ed25519`,`ecdsa_secp256k1`],ed25519:x({signer:t.signers[0],materialActivation:n.ed25519}),ecdsa:S({signer:t.signers[1],materialActivation:n.ecdsa})}}function _e(e){try{let t=s(e,`WalletSignerActivationSetV1`);if(t.kind!==`wallet_signer_activation_set_v1`)return Z(`wallet signer activation set kind is unsupported`);if(!Object.prototype.hasOwnProperty.call(t,`keyFamilies`))return Z(`WalletSignerActivationSetV1.keyFamilies is required`);let n=Me(t.keyFamilies,`WalletSignerActivationSetV1.keyFamilies`);if(n.length===1&&n[0]===`ed25519`)return H(t,[`kind`,`keyFamilies`,`ed25519`],`WalletSignerActivationSetV1`),{ok:!0,value:{kind:`wallet_signer_activation_set_v1`,keyFamilies:[`ed25519`],ed25519:M(t.ed25519,`ed25519`)}};if(n.length===1&&n[0]===`ecdsa_secp256k1`)return H(t,[`kind`,`keyFamilies`,`ecdsa`],`WalletSignerActivationSetV1`),{ok:!0,value:{kind:`wallet_signer_activation_set_v1`,keyFamilies:[`ecdsa_secp256k1`],ecdsa:N(t.ecdsa,`ecdsa`)}};H(t,[`kind`,`keyFamilies`,`ed25519`,`ecdsa`],`WalletSignerActivationSetV1`);let r=M(t.ed25519,`ed25519`),i=N(t.ecdsa,`ecdsa`);return r.materialActivation.activationId===i.materialActivation.activationId?Z(`wallet signer activation references must be distinct`):{ok:!0,value:{kind:`wallet_signer_activation_set_v1`,keyFamilies:[`ed25519`,`ecdsa_secp256k1`],ed25519:r,ecdsa:i}}}catch(e){return Z(Q(e,`wallet signer activation set is invalid`))}}function ve(e){let t=[p(`seams/wallet-signer-activation-set/v1`,`domain`),p(e.kind,`kind`),ae(e.keyFamilies.length,`keyFamilies`)];for(let n of e.keyFamilies)t.push(p(n,`keyFamilies.item`));return(W(e)||K(e))&&t.push(m(F(e.ed25519),`ed25519`)),(G(e)||K(e))&&t.push(m(I(e.ecdsa),`ecdsa`)),h(t)}async function w(e){return f(d(await c(ve(e))))}function T(e){return{kind:`wallet_authority_v1`,authorityId:e.authorityId,walletId:e.walletId,principal:e.principal,provenance:e.provenance,permissions:e.permissions,signerActivations:e.signerActivations,signerActivationSetDigestB64u:e.signerActivationSetDigestB64u,authorityDigestB64u:e.authorityDigestB64u,revocationEpoch:e.revocationEpoch,createdAtMs:e.createdAtMs,updatedAtMs:e.updatedAtMs}}function ye(e){return A(e),{...T(e),state:`pending_local_install`,localInstallPackageSetDigestB64u:e.localInstallPackageSetDigestB64u}}function E(e){return A(e),{...T(e),state:`active`,activatedAtMs:e.activatedAtMs}}async function be(e){let t=e.authority.signerActivations;if(!t.ed25519)throw Error(`active Wallet Authority has no Ed25519 material activation to replace`);let n=t.ecdsa?C({manifest:g([t.ed25519.signer,t.ecdsa.signer]),materialActivations:{keyFamilies:[`ed25519`,`ecdsa_secp256k1`],ed25519:e.materialActivation,ecdsa:t.ecdsa.materialActivation}}):C({manifest:g([t.ed25519.signer]),materialActivations:{keyFamilies:[`ed25519`],ed25519:e.materialActivation}}),r=await w(n),i={kind:e.authority.kind,authorityId:e.authority.authorityId,walletId:e.authority.walletId,principal:e.authority.principal,provenance:e.authority.provenance,permissions:e.authority.permissions,signerActivations:n,signerActivationSetDigestB64u:r,authorityDigestB64u:e.authority.authorityDigestB64u,revocationEpoch:e.authority.revocationEpoch,createdAtMs:e.authority.createdAtMs,updatedAtMs:Math.max(e.authority.updatedAtMs,e.updatedAtMs),state:`active`,activatedAtMs:e.authority.activatedAtMs};return E({...i,authorityDigestB64u:await O(i)})}function xe(e){return A(e),{...T(e),state:`active`,activatedAtMs:e.activatedAtMs}}function Se(e){return A(e),{...T(e),state:`revoked`,activatedAtMs:e.activatedAtMs,revokedAtMs:e.revokedAtMs}}const D=[`kind`,`authorityId`,`walletId`,`principal`,`provenance`,`permissions`,`signerActivations`,`signerActivationSetDigestB64u`,`authorityDigestB64u`,`revocationEpoch`,`createdAtMs`,`updatedAtMs`,`state`];function Ce(e){try{let t=s(e,`WalletAuthorityV1`),n=Ee(t);switch(t.state){case`pending_local_install`:return H(t,[...D,`localInstallPackageSetDigestB64u`],`WalletAuthorityV1`),{ok:!0,value:ye({kind:`wallet_authority_v1`,...n,state:`pending_local_install`,localInstallPackageSetDigestB64u:q(t.localInstallPackageSetDigestB64u,`localInstallPackageSetDigestB64u`)})};case`active`:return H(t,[...D,`activatedAtMs`],`WalletAuthorityV1`),{ok:!0,value:E({kind:`wallet_authority_v1`,...n,state:`active`,activatedAtMs:J(t.activatedAtMs,`activatedAtMs`)})};case`revoked`:return H(t,[...D,`activatedAtMs`,`revokedAtMs`],`WalletAuthorityV1`),{ok:!0,value:Se({kind:`wallet_authority_v1`,...n,state:`revoked`,activatedAtMs:J(t.activatedAtMs,`activatedAtMs`),revokedAtMs:J(t.revokedAtMs,`revokedAtMs`)})};default:return Z(`WalletAuthorityV1.state is unsupported`)}}catch(e){return Z(Q(e,`wallet authority is invalid`))}}function we(e){return h([p(`seams/wallet-authority/v1`,`domain`),p(e.kind,`kind`),p(e.authorityId,`authorityId`),p(e.walletId,`walletId`),m(R(e.principal),`principal`),m(z(e.provenance),`provenance`),m(B(e.permissions),`permissions`),oe(e.signerActivationSetDigestB64u,`signerActivationSetDigestB64u`),p(e.state,`state`),se(e.revocationEpoch,`revocationEpoch`)])}async function O(e){return f(d(await c(we(e))))}async function k(e){return await w(e.signerActivations)===e.signerActivationSetDigestB64u?await O(e)===e.authorityDigestB64u:!1}async function Te(e,t){let[n,r]=await Promise.all([k(e),k(t)]);return n&&r&&e.authorityDigestB64u===t.authorityDigestB64u&&e.signerActivationSetDigestB64u===t.signerActivationSetDigestB64u&&e.createdAtMs===t.createdAtMs&&e.updatedAtMs===t.updatedAtMs&&e.activatedAtMs===t.activatedAtMs}function Ee(e){if(e.kind!==`wallet_authority_v1`)throw Error(`WalletAuthorityV1.kind is unsupported`);let r=X(t(e.authorityId),`authorityId`),i=X(n(e.walletId),`walletId`),a=De(e.principal),o=Oe(e.provenance),s=X(ee(e.permissions),`permissions`),c=X(_e(e.signerActivations),`signerActivations`),l=q(e.signerActivationSetDigestB64u,`signerActivationSetDigestB64u`),u=q(e.authorityDigestB64u,`authorityDigestB64u`),te=J(e.revocationEpoch,`revocationEpoch`),ne=J(e.createdAtMs,`createdAtMs`),d=J(e.updatedAtMs,`updatedAtMs`);return j(c,i),{authorityId:r,walletId:i,principal:a,provenance:o,permissions:s,signerActivations:c,signerActivationSetDigestB64u:l,authorityDigestB64u:u,revocationEpoch:te,createdAtMs:ne,updatedAtMs:d}}function A(e){if(e.kind!==`wallet_authority_v1`)throw Error(`wallet authority kind is unsupported`);if(!Number.isSafeInteger(e.revocationEpoch)||e.revocationEpoch<0)throw Error(`wallet authority revocationEpoch must be a non-negative safe integer`);if(Y(e.createdAtMs,`createdAtMs`),Y(e.updatedAtMs,`updatedAtMs`),e.updatedAtMs<e.createdAtMs)throw Error(`wallet authority updatedAtMs cannot precede createdAtMs`);switch(q(e.signerActivationSetDigestB64u,`signerActivationSetDigestB64u`),q(e.authorityDigestB64u,`authorityDigestB64u`),j(e.signerActivations,e.walletId),ke(e.provenance),e.state){case`pending_local_install`:q(e.localInstallPackageSetDigestB64u,`localInstallPackageSetDigestB64u`);break;case`active`:Y(e.activatedAtMs,`activatedAtMs`);break;case`revoked`:if(Y(e.activatedAtMs,`activatedAtMs`),Y(e.revokedAtMs,`revokedAtMs`),e.revokedAtMs<e.activatedAtMs)throw Error(`revokedAtMs cannot precede activatedAtMs`);break}}function De(e){let t=V(e,[`kind`,`deviceId`],`WalletAuthorityPrincipalV1`);if(t.kind!==`owner_device`)throw Error(`wallet authority principal kind is unsupported`);return{kind:`owner_device`,deviceId:X(re(t.deviceId),`deviceId`)}}function Oe(n){let r=s(n,`WalletAuthorityProvenanceV1`);switch(r.kind){case`wallet_registration`:return H(r,[`kind`],`WalletAuthorityProvenanceV1`),{kind:`wallet_registration`};case`device_link`:return H(r,[`kind`,`enrollmentId`,`sourceAuthorityId`,`linkSessionId`],`WalletAuthorityProvenanceV1`),{kind:`device_link`,enrollmentId:X(o(r.enrollmentId),`enrollmentId`),sourceAuthorityId:X(t(r.sourceAuthorityId),`sourceAuthorityId`),linkSessionId:X(a(r.linkSessionId),`linkSessionId`)};case`wallet_recovery`:return H(r,[`kind`,`recoveryOperationId`,`continuityAuthorityId`],`WalletAuthorityProvenanceV1`),{kind:`wallet_recovery`,recoveryOperationId:X(e(r.recoveryOperationId),`recoveryOperationId`),continuityAuthorityId:X(t(r.continuityAuthorityId),`continuityAuthorityId`)};default:throw Error(`wallet authority provenance kind is unsupported`)}}function ke(e){switch(e.kind){case`wallet_registration`:return;case`device_link`:if(!e.enrollmentId||!e.sourceAuthorityId||!e.linkSessionId)throw Error(`device-link provenance requires every audit identity`);return;case`wallet_recovery`:if(!e.recoveryOperationId||!e.continuityAuthorityId)throw Error(`wallet-recovery provenance requires every audit identity`);return}Be(e,`wallet authority provenance`)}function j(e,t){if(W(e)){if(e.ed25519.signer.walletId!==t)throw Error(`Ed25519 signer activation uses a different wallet id`);return}if(G(e)){if(e.ecdsa.signer.walletId!==t)throw Error(`ECDSA signer activation uses a different wallet id`);return}if(K(e)){if(e.ed25519.signer.walletId!==t||e.ecdsa.signer.walletId!==t)throw Error(`signer activations must use the authority wallet id`);return}throw Error(`wallet signer activation families are unsupported`)}function M(e,t){let n=V(e,[`kind`,`signer`,`materialActivation`],t);if(n.kind!==`wallet_ed25519_signer_activation_v1`)throw Error(`${t}.kind is invalid`);let i=P(n.signer,`ed25519`,`${t}.signer`);if(!U(i))throw Error(`${t}.signer is not Ed25519`);return x({signer:i.signers[0],materialActivation:X(r(n.materialActivation),`${t}.materialActivation`)})}function N(e,t){let n=V(e,[`kind`,`signer`,`materialActivation`],t);if(n.kind!==`wallet_ecdsa_signer_activation_v1`)throw Error(`${t}.kind is invalid`);let i=P(n.signer,`ecdsa_secp256k1`,`${t}.signer`);if(!Pe(i))throw Error(`${t}.signer is not ECDSA`);return S({signer:i.signers[0],materialActivation:X(r(n.materialActivation),`${t}.materialActivation`)})}function P(e,t,n){return _({kind:`exact_administered_signer_manifest_v1`,keyFamilies:[t],signers:[e]})}function F(e){return h([p(e.kind,`ed25519.kind`),m(Ae(e.signer),`ed25519.signer`),m(L(e.materialActivation),`ed25519.materialActivation`)])}function I(e){return h([p(e.kind,`ecdsa.kind`),m(je(e.signer),`ecdsa.signer`),m(L(e.materialActivation),`ecdsa.materialActivation`)])}function Ae(e){return h([p(e.kind,`ed25519.signer.kind`),p(e.keyFamily,`ed25519.signer.keyFamily`),p(e.walletId,`ed25519.signer.walletId`),p(e.walletKeyId,`ed25519.signer.walletKeyId`),m(ie(e.registeredPublicKeyB64u,`ed25519.signer.registeredPublicKeyB64u`),`ed25519.signer.registeredPublicKeyB64u`)])}function je(e){return h([p(e.kind,`ecdsa.signer.kind`),p(e.keyFamily,`ecdsa.signer.keyFamily`),p(e.walletId,`ecdsa.signer.walletId`),p(e.walletKeyId,`ecdsa.signer.walletKeyId`),m(ie(e.thresholdPublicKey33B64u,`ecdsa.signer.thresholdPublicKey33B64u`),`ecdsa.signer.thresholdPublicKey33B64u`),p(e.evmAddress,`ecdsa.signer.evmAddress`)])}function L(e){return h([p(e.kind,`materialActivation.kind`),p(e.activationId,`materialActivation.activationId`),p(e.capability,`materialActivation.capability`),p(e.materialOwner,`materialActivation.materialOwner`),p(e.keyBinding,`materialActivation.keyBinding`),p(e.lifecycleBinding,`materialActivation.lifecycleBinding`),p(e.signingWorker,`materialActivation.signingWorker`)])}function R(e){return h([p(e.kind,`principal.kind`),p(e.deviceId,`principal.deviceId`)])}function z(e){switch(e.kind){case`wallet_registration`:return p(e.kind,`provenance.kind`);case`device_link`:return h([p(e.kind,`provenance.kind`),p(e.enrollmentId,`provenance.enrollmentId`),p(e.sourceAuthorityId,`provenance.sourceAuthorityId`),p(e.linkSessionId,`provenance.linkSessionId`)]);case`wallet_recovery`:return h([p(e.kind,`provenance.kind`),p(e.recoveryOperationId,`provenance.recoveryOperationId`),p(e.continuityAuthorityId,`provenance.continuityAuthorityId`)])}return Be(e,`wallet authority provenance`)}function B(e){let t=[ae(e.length,`permissions`)];for(let n of e)t.push(m(p(n,`permissions.item`),`permissions.item`));return h(t)}function V(e,t,n){let r=s(e,n);return H(r,t,n),r}function H(e,t,n){let r=new Set(t),i=Object.keys(e);if(i.length!==t.length)throw Error(`${n} contains unexpected fields`);for(let e of i)if(!r.has(e))throw Error(`${n}.${e} is not allowed`);for(let r of t)if(!Object.prototype.hasOwnProperty.call(e,r))throw Error(`${n}.${r} is required`)}function Me(e,t){if(!Array.isArray(e))throw Error(`${t} must be an array`);if(e.length===1&&e[0]===`ed25519`)return[`ed25519`];if(e.length===1&&e[0]===`ecdsa_secp256k1`)return[`ecdsa_secp256k1`];if(e.length===2&&e[0]===`ed25519`&&e[1]===`ecdsa_secp256k1`)return[`ed25519`,`ecdsa_secp256k1`];throw Error(`${t} must use canonical family order`)}function Ne(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n+=1)if(e[n]!==t[n])return!1;return!0}function U(e){return e.keyFamilies.length===1&&e.keyFamilies[0]===`ed25519`}function Pe(e){return e.keyFamilies.length===1&&e.keyFamilies[0]===`ecdsa_secp256k1`}function Fe(e){return e.keyFamilies.length===2}function Ie(e){return e.keyFamilies.length===1&&e.keyFamilies[0]===`ed25519`}function Le(e){return e.keyFamilies.length===1&&e.keyFamilies[0]===`ecdsa_secp256k1`}function Re(e){return e.keyFamilies.length===2}function ze(e){if(Ie(e))return{keyFamilies:[`ed25519`],ed25519:X(r(e.ed25519),`materialActivations.ed25519`)};if(Le(e))return{keyFamilies:[`ecdsa_secp256k1`],ecdsa:X(r(e.ecdsa),`materialActivations.ecdsa`)};if(Re(e))return{keyFamilies:[`ed25519`,`ecdsa_secp256k1`],ed25519:X(r(e.ed25519),`materialActivations.ed25519`),ecdsa:X(r(e.ecdsa),`materialActivations.ecdsa`)};throw Error(`wallet signer activation materials are unsupported`)}function W(e){return e.keyFamilies.length===1&&e.keyFamilies[0]===`ed25519`}function G(e){return e.keyFamilies.length===1&&e.keyFamilies[0]===`ecdsa_secp256k1`}function K(e){return e.keyFamilies.length===2}function q(e,t){try{return f(e)}catch(e){throw Error(`${t} ${Q(e,`is invalid`)}`)}}function J(e,t){if(typeof e!=`number`||!Number.isSafeInteger(e)||e<0)throw Error(`${t} must be a non-negative safe integer`);return e}function Y(e,t){if(!Number.isSafeInteger(e)||e<0)throw Error(`${t} must be a non-negative safe integer`)}function X(e,t){if(e.ok)return e.value;throw Error(`${t} ${e.error.message}`)}function Z(e){return{ok:!1,error:{code:`invalid`,message:e}}}function Q(e,t){return e instanceof Error?e.message:t}function Be(e,t){throw Error(`${t} branch is unsupported: ${String(e)}`)}async function Ve(e,t,n){let r=await w(t),i={kind:`wallet_authority_v1`,authorityId:e.authorityId,walletId:e.walletId,principal:e.principal,provenance:e.provenance,permissions:e.permissions,signerActivations:t,signerActivationSetDigestB64u:r,authorityDigestB64u:e.authorityDigestB64u,revocationEpoch:e.revocationEpoch,createdAtMs:e.createdAtMs,updatedAtMs:Math.max(e.updatedAtMs,n),state:`active`,activatedAtMs:e.activatedAtMs};return xe({...i,authorityDigestB64u:await O(i)})}async function He(e){if(e.ed25519.signer.walletId!==e.authority.walletId)throw Error(`NEAR signer belongs to a different wallet authority`);let t=e.authority.signerActivations.ecdsa,n=e.ed25519.signer,r=C({manifest:g([n,t.signer]),materialActivations:{keyFamilies:[`ed25519`,`ecdsa_secp256k1`],ed25519:e.ed25519.materialActivation,ecdsa:t.materialActivation}});if(!v(r))throw Error(`Deferred Ed25519 activation did not produce a combined signer activation set`);return Ve(e.authority,r,e.now)}function $(e,t){return e.authorityId===t.authorityId&&e.walletId===t.walletId&&e.revocationEpoch===t.revocationEpoch&&e.createdAtMs===t.createdAtMs&&e.activatedAtMs===t.activatedAtMs&&d(R(e.principal))===d(R(t.principal))&&d(z(e.provenance))===d(z(t.provenance))&&d(B(e.permissions))===d(B(t.permissions))}function Ue(e,t){return b(e)&&v(t.signerActivations)&&$(e,t)&&d(F(e.signerActivations.ed25519))===d(F(t.signerActivations.ed25519))}function We(e,t){return y(e)&&v(t.signerActivations)&&e.provenance.kind===`wallet_registration`&&$(e,t)&&d(I(e.signerActivations.ecdsa))===d(I(t.signerActivations.ecdsa))}export{y as a,v as c,Ce as d,_e as f,_ as g,k as h,He as i,Ue as l,Te as m,w as n,b as o,be as p,ve as r,ge as s,O as t,We as u};
1
+ import{A as e,D as t,O as n,h as r,k as i,l as a,u as o}from"./domainIds-BzkGsRqO.js";import{k as s,l as c}from"./chains-C_X_fNuS.js";import{_ as l,l as u,m as ee,n as te,s as ne}from"./primitives-CqrjmIAH.js";import{i as d}from"./base64-DW79QA0h.js";import{l as re}from"./capabilityKinds-N8xo_IEh.js";import{r as f}from"./canonicalPrimitives-Dsbsxgxc.js";import{a as p,i as ie,n as m,o as ae,r as oe,s as se,t as h}from"./digestEncoding-BX3VW9eF.js";const ce=[`kind`,`keyFamilies`,`signers`],le=[`kind`,`keyFamily`,`walletId`,`walletKeyId`,`registeredPublicKeyB64u`],ue=[`kind`,`keyFamily`,`walletId`,`walletKeyId`,`thresholdPublicKey33B64u`,`evmAddress`];function g(e){if(e.length===0)throw Error(`exact administered signer manifest must contain at least one active family`);let t,n,r,i=new Set;for(let a of e){if(t!==void 0&&t!==a.walletId)throw Error(`exact administered signer manifest must use one wallet identity`);if(t=a.walletId,i.has(a.walletKeyId))throw Error(`exact administered signer manifest repeats wallet key ${a.walletKeyId}`);switch(i.add(a.walletKeyId),a.keyFamily){case`ed25519`:if(n!==void 0)throw Error(`exact administered signer manifest repeats the ed25519 family`);if(a.kind!==`exact_administered_ed25519_signer_v1`)throw Error(`exact administered signer manifest has an invalid Ed25519 signer`);n=a;break;case`ecdsa_secp256k1`:if(r!==void 0)throw Error(`exact administered signer manifest repeats the ecdsa family`);if(a.kind!==`exact_administered_ecdsa_signer_v1`)throw Error(`exact administered signer manifest has an invalid ECDSA signer`);r=a;break}}if(n!==void 0&&r!==void 0)return{kind:`exact_administered_signer_manifest_v1`,keyFamilies:[`ed25519`,`ecdsa_secp256k1`],signers:[n,r]};if(n!==void 0)return{kind:`exact_administered_signer_manifest_v1`,keyFamilies:[`ed25519`],signers:[n]};if(r!==void 0)return{kind:`exact_administered_signer_manifest_v1`,keyFamilies:[`ecdsa_secp256k1`],signers:[r]};throw Error(`exact administered signer manifest must contain a supported family`)}function _(e){let t=he(e,ce,`ExactAdministeredSignerManifestV1`);if(t.kind!==`exact_administered_signer_manifest_v1`)throw Error(`ExactAdministeredSignerManifestV1.kind is invalid`);let n=fe(t.keyFamilies);if(!Array.isArray(t.signers))throw Error(`ExactAdministeredSignerManifestV1.signers must be an array`);let r=[];for(let e=0;e<t.signers.length;e+=1)r.push(de(t.signers[e],`signers[${e}]`));let i=g(r);if(!pe(n,i.keyFamilies))throw Error(`ExactAdministeredSignerManifestV1.keyFamilies do not match signers`);return i}function de(e,t){let r=s(e,t);switch(r.keyFamily){case`ed25519`:if(l(r,le,t),r.kind!==`exact_administered_ed25519_signer_v1`)throw Error(`${t}.kind is invalid for Ed25519`);return{kind:`exact_administered_ed25519_signer_v1`,keyFamily:`ed25519`,walletId:u(n(r.walletId),`${t}.walletId`),walletKeyId:u(i(r.walletKeyId),`${t}.walletKeyId`),registeredPublicKeyB64u:te(r.registeredPublicKeyB64u,`${t}.registeredPublicKeyB64u`)};case`ecdsa_secp256k1`:if(l(r,ue,t),r.kind!==`exact_administered_ecdsa_signer_v1`)throw Error(`${t}.kind is invalid for ECDSA`);return{kind:`exact_administered_ecdsa_signer_v1`,keyFamily:`ecdsa_secp256k1`,walletId:u(n(r.walletId),`${t}.walletId`),walletKeyId:u(i(r.walletKeyId),`${t}.walletKeyId`),thresholdPublicKey33B64u:ne(r.thresholdPublicKey33B64u,`${t}.thresholdPublicKey33B64u`),evmAddress:me(r.evmAddress,`${t}.evmAddress`)};default:throw Error(`${t}.keyFamily is unsupported`)}}function fe(e){if(!Array.isArray(e)||e.length===0||e.length>2)throw Error(`ExactAdministeredSignerManifestV1.keyFamilies must be non-empty`);if(e.length===1&&e[0]===`ed25519`)return[`ed25519`];if(e.length===1&&e[0]===`ecdsa_secp256k1`)return[`ecdsa_secp256k1`];if(e.length===2&&e[0]===`ed25519`&&e[1]===`ecdsa_secp256k1`)return[`ed25519`,`ecdsa_secp256k1`];throw Error(`ExactAdministeredSignerManifestV1.keyFamilies must be canonical and duplicate-free`)}function pe(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n+=1)if(e[n]!==t[n])return!1;return!0}function me(e,t){if(typeof e!=`string`||!/^0x[0-9a-fA-F]{40}$/.test(e))throw Error(`${t} must be a 20-byte hexadecimal EVM address`);return e}function he(e,t,n){let r=s(e,n);l(r,t,n);for(let e of t)if(!(e in r))throw Error(`${n}.${e} is required`);return r}function v(e){return K(e)}function y(e){return G(e.signerActivations)}function b(e){return W(e.signerActivations)}function ge(e){return e.provenance.kind===`wallet_recovery`}function x(e){return{kind:`wallet_ed25519_signer_activation_v1`,signer:e.signer,materialActivation:e.materialActivation}}function S(e){return{kind:`wallet_ecdsa_signer_activation_v1`,signer:e.signer,materialActivation:e.materialActivation}}function C(e){let t=_(e.manifest),n=ze(e.materialActivations);if(!Ne(t.keyFamilies,n.keyFamilies))throw Error(`wallet signer activation materials must match the signer manifest families`);if(U(t)){if(!Ie(n))throw Error(`Ed25519 signer activation requires one Ed25519 material activation`);return{kind:`wallet_signer_activation_set_v1`,keyFamilies:[`ed25519`],ed25519:x({signer:t.signers[0],materialActivation:n.ed25519})}}if(Pe(t)){if(!Le(n))throw Error(`ECDSA signer activation requires one ECDSA material activation`);return{kind:`wallet_signer_activation_set_v1`,keyFamilies:[`ecdsa_secp256k1`],ecdsa:S({signer:t.signers[0],materialActivation:n.ecdsa})}}if(!Fe(t)||!Re(n))throw Error(`wallet signer activation set has unsupported families`);if(n.ed25519.activationId===n.ecdsa.activationId)throw Error(`wallet signer activation references must be distinct`);return{kind:`wallet_signer_activation_set_v1`,keyFamilies:[`ed25519`,`ecdsa_secp256k1`],ed25519:x({signer:t.signers[0],materialActivation:n.ed25519}),ecdsa:S({signer:t.signers[1],materialActivation:n.ecdsa})}}function _e(e){try{let t=s(e,`WalletSignerActivationSetV1`);if(t.kind!==`wallet_signer_activation_set_v1`)return Z(`wallet signer activation set kind is unsupported`);if(!Object.prototype.hasOwnProperty.call(t,`keyFamilies`))return Z(`WalletSignerActivationSetV1.keyFamilies is required`);let n=Me(t.keyFamilies,`WalletSignerActivationSetV1.keyFamilies`);if(n.length===1&&n[0]===`ed25519`)return H(t,[`kind`,`keyFamilies`,`ed25519`],`WalletSignerActivationSetV1`),{ok:!0,value:{kind:`wallet_signer_activation_set_v1`,keyFamilies:[`ed25519`],ed25519:M(t.ed25519,`ed25519`)}};if(n.length===1&&n[0]===`ecdsa_secp256k1`)return H(t,[`kind`,`keyFamilies`,`ecdsa`],`WalletSignerActivationSetV1`),{ok:!0,value:{kind:`wallet_signer_activation_set_v1`,keyFamilies:[`ecdsa_secp256k1`],ecdsa:N(t.ecdsa,`ecdsa`)}};H(t,[`kind`,`keyFamilies`,`ed25519`,`ecdsa`],`WalletSignerActivationSetV1`);let r=M(t.ed25519,`ed25519`),i=N(t.ecdsa,`ecdsa`);return r.materialActivation.activationId===i.materialActivation.activationId?Z(`wallet signer activation references must be distinct`):{ok:!0,value:{kind:`wallet_signer_activation_set_v1`,keyFamilies:[`ed25519`,`ecdsa_secp256k1`],ed25519:r,ecdsa:i}}}catch(e){return Z(Q(e,`wallet signer activation set is invalid`))}}function ve(e){let t=[p(`seams/wallet-signer-activation-set/v1`,`domain`),p(e.kind,`kind`),ae(e.keyFamilies.length,`keyFamilies`)];for(let n of e.keyFamilies)t.push(p(n,`keyFamilies.item`));return(W(e)||K(e))&&t.push(m(F(e.ed25519),`ed25519`)),(G(e)||K(e))&&t.push(m(I(e.ecdsa),`ecdsa`)),h(t)}async function w(e){return f(d(await c(ve(e))))}function T(e){return{kind:`wallet_authority_v1`,authorityId:e.authorityId,walletId:e.walletId,principal:e.principal,provenance:e.provenance,permissions:e.permissions,signerActivations:e.signerActivations,signerActivationSetDigestB64u:e.signerActivationSetDigestB64u,authorityDigestB64u:e.authorityDigestB64u,revocationEpoch:e.revocationEpoch,createdAtMs:e.createdAtMs,updatedAtMs:e.updatedAtMs}}function ye(e){return A(e),{...T(e),state:`pending_local_install`,localInstallPackageSetDigestB64u:e.localInstallPackageSetDigestB64u}}function E(e){return A(e),{...T(e),state:`active`,activatedAtMs:e.activatedAtMs}}async function be(e){let t=e.authority.signerActivations;if(!t.ed25519)throw Error(`active Wallet Authority has no Ed25519 material activation to replace`);let n=t.ecdsa?C({manifest:g([t.ed25519.signer,t.ecdsa.signer]),materialActivations:{keyFamilies:[`ed25519`,`ecdsa_secp256k1`],ed25519:e.materialActivation,ecdsa:t.ecdsa.materialActivation}}):C({manifest:g([t.ed25519.signer]),materialActivations:{keyFamilies:[`ed25519`],ed25519:e.materialActivation}}),r=await w(n),i={kind:e.authority.kind,authorityId:e.authority.authorityId,walletId:e.authority.walletId,principal:e.authority.principal,provenance:e.authority.provenance,permissions:e.authority.permissions,signerActivations:n,signerActivationSetDigestB64u:r,authorityDigestB64u:e.authority.authorityDigestB64u,revocationEpoch:e.authority.revocationEpoch,createdAtMs:e.authority.createdAtMs,updatedAtMs:Math.max(e.authority.updatedAtMs,e.updatedAtMs),state:`active`,activatedAtMs:e.authority.activatedAtMs};return E({...i,authorityDigestB64u:await O(i)})}function xe(e){return A(e),{...T(e),state:`active`,activatedAtMs:e.activatedAtMs}}function Se(e){return A(e),{...T(e),state:`revoked`,activatedAtMs:e.activatedAtMs,revokedAtMs:e.revokedAtMs}}const D=[`kind`,`authorityId`,`walletId`,`principal`,`provenance`,`permissions`,`signerActivations`,`signerActivationSetDigestB64u`,`authorityDigestB64u`,`revocationEpoch`,`createdAtMs`,`updatedAtMs`,`state`];function Ce(e){try{let t=s(e,`WalletAuthorityV1`),n=Ee(t);switch(t.state){case`pending_local_install`:return H(t,[...D,`localInstallPackageSetDigestB64u`],`WalletAuthorityV1`),{ok:!0,value:ye({kind:`wallet_authority_v1`,...n,state:`pending_local_install`,localInstallPackageSetDigestB64u:q(t.localInstallPackageSetDigestB64u,`localInstallPackageSetDigestB64u`)})};case`active`:return H(t,[...D,`activatedAtMs`],`WalletAuthorityV1`),{ok:!0,value:E({kind:`wallet_authority_v1`,...n,state:`active`,activatedAtMs:J(t.activatedAtMs,`activatedAtMs`)})};case`revoked`:return H(t,[...D,`activatedAtMs`,`revokedAtMs`],`WalletAuthorityV1`),{ok:!0,value:Se({kind:`wallet_authority_v1`,...n,state:`revoked`,activatedAtMs:J(t.activatedAtMs,`activatedAtMs`),revokedAtMs:J(t.revokedAtMs,`revokedAtMs`)})};default:return Z(`WalletAuthorityV1.state is unsupported`)}}catch(e){return Z(Q(e,`wallet authority is invalid`))}}function we(e){return h([p(`seams/wallet-authority/v1`,`domain`),p(e.kind,`kind`),p(e.authorityId,`authorityId`),p(e.walletId,`walletId`),m(R(e.principal),`principal`),m(z(e.provenance),`provenance`),m(B(e.permissions),`permissions`),oe(e.signerActivationSetDigestB64u,`signerActivationSetDigestB64u`),p(e.state,`state`),se(e.revocationEpoch,`revocationEpoch`)])}async function O(e){return f(d(await c(we(e))))}async function k(e){return await w(e.signerActivations)===e.signerActivationSetDigestB64u?await O(e)===e.authorityDigestB64u:!1}async function Te(e,t){let[n,r]=await Promise.all([k(e),k(t)]);return n&&r&&e.authorityDigestB64u===t.authorityDigestB64u&&e.signerActivationSetDigestB64u===t.signerActivationSetDigestB64u&&e.createdAtMs===t.createdAtMs&&e.updatedAtMs===t.updatedAtMs&&e.activatedAtMs===t.activatedAtMs}function Ee(e){if(e.kind!==`wallet_authority_v1`)throw Error(`WalletAuthorityV1.kind is unsupported`);let r=X(t(e.authorityId),`authorityId`),i=X(n(e.walletId),`walletId`),a=De(e.principal),o=Oe(e.provenance),s=X(ee(e.permissions),`permissions`),c=X(_e(e.signerActivations),`signerActivations`),l=q(e.signerActivationSetDigestB64u,`signerActivationSetDigestB64u`),u=q(e.authorityDigestB64u,`authorityDigestB64u`),te=J(e.revocationEpoch,`revocationEpoch`),ne=J(e.createdAtMs,`createdAtMs`),d=J(e.updatedAtMs,`updatedAtMs`);return j(c,i),{authorityId:r,walletId:i,principal:a,provenance:o,permissions:s,signerActivations:c,signerActivationSetDigestB64u:l,authorityDigestB64u:u,revocationEpoch:te,createdAtMs:ne,updatedAtMs:d}}function A(e){if(e.kind!==`wallet_authority_v1`)throw Error(`wallet authority kind is unsupported`);if(!Number.isSafeInteger(e.revocationEpoch)||e.revocationEpoch<0)throw Error(`wallet authority revocationEpoch must be a non-negative safe integer`);if(Y(e.createdAtMs,`createdAtMs`),Y(e.updatedAtMs,`updatedAtMs`),e.updatedAtMs<e.createdAtMs)throw Error(`wallet authority updatedAtMs cannot precede createdAtMs`);switch(q(e.signerActivationSetDigestB64u,`signerActivationSetDigestB64u`),q(e.authorityDigestB64u,`authorityDigestB64u`),j(e.signerActivations,e.walletId),ke(e.provenance),e.state){case`pending_local_install`:q(e.localInstallPackageSetDigestB64u,`localInstallPackageSetDigestB64u`);break;case`active`:Y(e.activatedAtMs,`activatedAtMs`);break;case`revoked`:if(Y(e.activatedAtMs,`activatedAtMs`),Y(e.revokedAtMs,`revokedAtMs`),e.revokedAtMs<e.activatedAtMs)throw Error(`revokedAtMs cannot precede activatedAtMs`);break}}function De(e){let t=V(e,[`kind`,`deviceId`],`WalletAuthorityPrincipalV1`);if(t.kind!==`owner_device`)throw Error(`wallet authority principal kind is unsupported`);return{kind:`owner_device`,deviceId:X(re(t.deviceId),`deviceId`)}}function Oe(n){let r=s(n,`WalletAuthorityProvenanceV1`);switch(r.kind){case`wallet_registration`:return H(r,[`kind`],`WalletAuthorityProvenanceV1`),{kind:`wallet_registration`};case`device_link`:return H(r,[`kind`,`enrollmentId`,`sourceAuthorityId`,`linkSessionId`],`WalletAuthorityProvenanceV1`),{kind:`device_link`,enrollmentId:X(o(r.enrollmentId),`enrollmentId`),sourceAuthorityId:X(t(r.sourceAuthorityId),`sourceAuthorityId`),linkSessionId:X(a(r.linkSessionId),`linkSessionId`)};case`wallet_recovery`:return H(r,[`kind`,`recoveryOperationId`,`continuityAuthorityId`],`WalletAuthorityProvenanceV1`),{kind:`wallet_recovery`,recoveryOperationId:X(e(r.recoveryOperationId),`recoveryOperationId`),continuityAuthorityId:X(t(r.continuityAuthorityId),`continuityAuthorityId`)};default:throw Error(`wallet authority provenance kind is unsupported`)}}function ke(e){switch(e.kind){case`wallet_registration`:return;case`device_link`:if(!e.enrollmentId||!e.sourceAuthorityId||!e.linkSessionId)throw Error(`device-link provenance requires every audit identity`);return;case`wallet_recovery`:if(!e.recoveryOperationId||!e.continuityAuthorityId)throw Error(`wallet-recovery provenance requires every audit identity`);return}Be(e,`wallet authority provenance`)}function j(e,t){if(W(e)){if(e.ed25519.signer.walletId!==t)throw Error(`Ed25519 signer activation uses a different wallet id`);return}if(G(e)){if(e.ecdsa.signer.walletId!==t)throw Error(`ECDSA signer activation uses a different wallet id`);return}if(K(e)){if(e.ed25519.signer.walletId!==t||e.ecdsa.signer.walletId!==t)throw Error(`signer activations must use the authority wallet id`);return}throw Error(`wallet signer activation families are unsupported`)}function M(e,t){let n=V(e,[`kind`,`signer`,`materialActivation`],t);if(n.kind!==`wallet_ed25519_signer_activation_v1`)throw Error(`${t}.kind is invalid`);let i=P(n.signer,`ed25519`,`${t}.signer`);if(!U(i))throw Error(`${t}.signer is not Ed25519`);return x({signer:i.signers[0],materialActivation:X(r(n.materialActivation),`${t}.materialActivation`)})}function N(e,t){let n=V(e,[`kind`,`signer`,`materialActivation`],t);if(n.kind!==`wallet_ecdsa_signer_activation_v1`)throw Error(`${t}.kind is invalid`);let i=P(n.signer,`ecdsa_secp256k1`,`${t}.signer`);if(!Pe(i))throw Error(`${t}.signer is not ECDSA`);return S({signer:i.signers[0],materialActivation:X(r(n.materialActivation),`${t}.materialActivation`)})}function P(e,t,n){return _({kind:`exact_administered_signer_manifest_v1`,keyFamilies:[t],signers:[e]})}function F(e){return h([p(e.kind,`ed25519.kind`),m(Ae(e.signer),`ed25519.signer`),m(L(e.materialActivation),`ed25519.materialActivation`)])}function I(e){return h([p(e.kind,`ecdsa.kind`),m(je(e.signer),`ecdsa.signer`),m(L(e.materialActivation),`ecdsa.materialActivation`)])}function Ae(e){return h([p(e.kind,`ed25519.signer.kind`),p(e.keyFamily,`ed25519.signer.keyFamily`),p(e.walletId,`ed25519.signer.walletId`),p(e.walletKeyId,`ed25519.signer.walletKeyId`),m(ie(e.registeredPublicKeyB64u,`ed25519.signer.registeredPublicKeyB64u`),`ed25519.signer.registeredPublicKeyB64u`)])}function je(e){return h([p(e.kind,`ecdsa.signer.kind`),p(e.keyFamily,`ecdsa.signer.keyFamily`),p(e.walletId,`ecdsa.signer.walletId`),p(e.walletKeyId,`ecdsa.signer.walletKeyId`),m(ie(e.thresholdPublicKey33B64u,`ecdsa.signer.thresholdPublicKey33B64u`),`ecdsa.signer.thresholdPublicKey33B64u`),p(e.evmAddress,`ecdsa.signer.evmAddress`)])}function L(e){return h([p(e.kind,`materialActivation.kind`),p(e.activationId,`materialActivation.activationId`),p(e.capability,`materialActivation.capability`),p(e.materialOwner,`materialActivation.materialOwner`),p(e.keyBinding,`materialActivation.keyBinding`),p(e.lifecycleBinding,`materialActivation.lifecycleBinding`),p(e.signingWorker,`materialActivation.signingWorker`)])}function R(e){return h([p(e.kind,`principal.kind`),p(e.deviceId,`principal.deviceId`)])}function z(e){switch(e.kind){case`wallet_registration`:return p(e.kind,`provenance.kind`);case`device_link`:return h([p(e.kind,`provenance.kind`),p(e.enrollmentId,`provenance.enrollmentId`),p(e.sourceAuthorityId,`provenance.sourceAuthorityId`),p(e.linkSessionId,`provenance.linkSessionId`)]);case`wallet_recovery`:return h([p(e.kind,`provenance.kind`),p(e.recoveryOperationId,`provenance.recoveryOperationId`),p(e.continuityAuthorityId,`provenance.continuityAuthorityId`)])}return Be(e,`wallet authority provenance`)}function B(e){let t=[ae(e.length,`permissions`)];for(let n of e)t.push(m(p(n,`permissions.item`),`permissions.item`));return h(t)}function V(e,t,n){let r=s(e,n);return H(r,t,n),r}function H(e,t,n){let r=new Set(t),i=Object.keys(e);if(i.length!==t.length)throw Error(`${n} contains unexpected fields`);for(let e of i)if(!r.has(e))throw Error(`${n}.${e} is not allowed`);for(let r of t)if(!Object.prototype.hasOwnProperty.call(e,r))throw Error(`${n}.${r} is required`)}function Me(e,t){if(!Array.isArray(e))throw Error(`${t} must be an array`);if(e.length===1&&e[0]===`ed25519`)return[`ed25519`];if(e.length===1&&e[0]===`ecdsa_secp256k1`)return[`ecdsa_secp256k1`];if(e.length===2&&e[0]===`ed25519`&&e[1]===`ecdsa_secp256k1`)return[`ed25519`,`ecdsa_secp256k1`];throw Error(`${t} must use canonical family order`)}function Ne(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n+=1)if(e[n]!==t[n])return!1;return!0}function U(e){return e.keyFamilies.length===1&&e.keyFamilies[0]===`ed25519`}function Pe(e){return e.keyFamilies.length===1&&e.keyFamilies[0]===`ecdsa_secp256k1`}function Fe(e){return e.keyFamilies.length===2}function Ie(e){return e.keyFamilies.length===1&&e.keyFamilies[0]===`ed25519`}function Le(e){return e.keyFamilies.length===1&&e.keyFamilies[0]===`ecdsa_secp256k1`}function Re(e){return e.keyFamilies.length===2}function ze(e){if(Ie(e))return{keyFamilies:[`ed25519`],ed25519:X(r(e.ed25519),`materialActivations.ed25519`)};if(Le(e))return{keyFamilies:[`ecdsa_secp256k1`],ecdsa:X(r(e.ecdsa),`materialActivations.ecdsa`)};if(Re(e))return{keyFamilies:[`ed25519`,`ecdsa_secp256k1`],ed25519:X(r(e.ed25519),`materialActivations.ed25519`),ecdsa:X(r(e.ecdsa),`materialActivations.ecdsa`)};throw Error(`wallet signer activation materials are unsupported`)}function W(e){return e.keyFamilies.length===1&&e.keyFamilies[0]===`ed25519`}function G(e){return e.keyFamilies.length===1&&e.keyFamilies[0]===`ecdsa_secp256k1`}function K(e){return e.keyFamilies.length===2}function q(e,t){try{return f(e)}catch(e){throw Error(`${t} ${Q(e,`is invalid`)}`)}}function J(e,t){if(typeof e!=`number`||!Number.isSafeInteger(e)||e<0)throw Error(`${t} must be a non-negative safe integer`);return e}function Y(e,t){if(!Number.isSafeInteger(e)||e<0)throw Error(`${t} must be a non-negative safe integer`)}function X(e,t){if(e.ok)return e.value;throw Error(`${t} ${e.error.message}`)}function Z(e){return{ok:!1,error:{code:`invalid`,message:e}}}function Q(e,t){return e instanceof Error?e.message:t}function Be(e,t){throw Error(`${t} branch is unsupported: ${String(e)}`)}async function Ve(e,t,n){let r=await w(t),i={kind:`wallet_authority_v1`,authorityId:e.authorityId,walletId:e.walletId,principal:e.principal,provenance:e.provenance,permissions:e.permissions,signerActivations:t,signerActivationSetDigestB64u:r,authorityDigestB64u:e.authorityDigestB64u,revocationEpoch:e.revocationEpoch,createdAtMs:e.createdAtMs,updatedAtMs:Math.max(e.updatedAtMs,n),state:`active`,activatedAtMs:e.activatedAtMs};return xe({...i,authorityDigestB64u:await O(i)})}async function He(e){if(e.ed25519.signer.walletId!==e.authority.walletId)throw Error(`NEAR signer belongs to a different wallet authority`);let t=e.authority.signerActivations.ecdsa,n=e.ed25519.signer,r=C({manifest:g([n,t.signer]),materialActivations:{keyFamilies:[`ed25519`,`ecdsa_secp256k1`],ed25519:e.ed25519.materialActivation,ecdsa:t.materialActivation}});if(!v(r))throw Error(`Deferred Ed25519 activation did not produce a combined signer activation set`);return Ve(e.authority,r,e.now)}function $(e,t){return e.authorityId===t.authorityId&&e.walletId===t.walletId&&e.revocationEpoch===t.revocationEpoch&&e.createdAtMs===t.createdAtMs&&e.activatedAtMs===t.activatedAtMs&&d(R(e.principal))===d(R(t.principal))&&d(z(e.provenance))===d(z(t.provenance))&&d(B(e.permissions))===d(B(t.permissions))}function Ue(e,t){return b(e)&&v(t.signerActivations)&&$(e,t)&&d(F(e.signerActivations.ed25519))===d(F(t.signerActivations.ed25519))}function We(e,t){return y(e)&&v(t.signerActivations)&&e.provenance.kind===`wallet_registration`&&$(e,t)&&d(I(e.signerActivations.ecdsa))===d(I(t.signerActivations.ecdsa))}export{y as a,v as c,Ce as d,_e as f,_ as g,k as h,He as i,Ue as l,Te as m,w as n,b as o,be as p,ve as r,ge as s,O as t,We as u};