@seams/wallet 0.17.0 → 0.18.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 (311) hide show
  1. package/README.md +4 -5
  2. package/dist/.build-inputs.sha256 +1 -1
  3. package/dist/esm/SeamsWeb/walletIframe/host/ui/auth-menu/AuthMenuFooter.js +5 -4
  4. package/dist/esm/SeamsWeb/walletIframe/host/ui/auth-menu/AuthMenuSurface.js +89 -241
  5. package/dist/esm/SeamsWeb/walletIframe/host/ui/auth-menu/mountAuthMenuSurface.js +4 -2
  6. package/dist/esm/SeamsWeb/walletIframe/host/ui/auth-menu/presentation.js +116 -0
  7. package/dist/esm/SeamsWeb/walletIframe/host/ui/auth-menu/recovery-code-input.js +60 -0
  8. package/dist/esm/SeamsWeb/walletIframe/shared/facadeBoundary.js +2 -0
  9. package/dist/esm/core/config/configBuilder.js +2 -0
  10. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/ConfirmContent.js +7 -4
  11. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/ConfirmHeader.js +10 -6
  12. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/ConfirmationBody.js +9 -6
  13. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/ConfirmationContent.js +9 -6
  14. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/ConfirmationDrawer.js +7 -4
  15. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/ConfirmationModal.js +4 -1
  16. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/EmailOtpContent.js +4 -1
  17. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/EmailOtpInput.js +5 -4
  18. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/PasskeyRegistrationContent.js +10 -7
  19. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/PasskeyRegistrationDetails.js +9 -5
  20. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/RecoveryCodeBackupSurface.js +28 -22
  21. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/ReviewDisclosure.js +2 -1
  22. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/TransactionLabel.js +51 -26
  23. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/TransactionReceipt.js +42 -27
  24. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/TransactionReview.js +25 -18
  25. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/TransactionTree.js +8 -5
  26. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/WalletLocale.js +24 -0
  27. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/mountConfirmationSurface.js +6 -4
  28. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/mountRecoveryCodeBackupSurface.js +4 -2
  29. package/dist/esm/core/ui/locale.js +10 -0
  30. package/dist/esm/core/ui/messages.js +694 -0
  31. package/dist/esm/index.js +2 -1
  32. package/dist/esm/react/components/AccountMenuButton/AccountMenuButtonMock.js +7 -3
  33. package/dist/esm/react/components/AccountMenuButton/AccountMenuButtonView.js +6 -3
  34. package/dist/esm/react/components/AccountMenuButton/AccountMenuDeviceDetails.js +4 -3
  35. package/dist/esm/react/components/AccountMenuButton/AccountMenuDialog.js +5 -2
  36. package/dist/esm/react/components/AccountMenuButton/AccountMenuMockScreens.js +31 -27
  37. package/dist/esm/react/components/AccountMenuButton/AccountMenuScreen.js +6 -3
  38. package/dist/esm/react/components/AccountMenuButton/AccountsSection.js +6 -3
  39. package/dist/esm/react/components/AccountMenuButton/AuthenticationMethodRow.js +5 -4
  40. package/dist/esm/react/components/AccountMenuButton/AuthenticationMethodsModal.js +33 -27
  41. package/dist/esm/react/components/AccountMenuButton/AuthenticationMethodsView.js +5 -2
  42. package/dist/esm/react/components/AccountMenuButton/ExportKeysScreen.js +5 -3
  43. package/dist/esm/react/components/AccountMenuButton/ExportKeysSection.js +4 -3
  44. package/dist/esm/react/components/AccountMenuButton/LinkedDevicesModal.js +50 -41
  45. package/dist/esm/react/components/AccountMenuButton/LockMenuItem.js +2 -1
  46. package/dist/esm/react/components/AccountMenuButton/MenuItem.js +3 -2
  47. package/dist/esm/react/components/AccountMenuButton/ProfileDropdown.js +8 -4
  48. package/dist/esm/react/components/AccountMenuButton/RecoveryCodeAcknowledgement.js +3 -2
  49. package/dist/esm/react/components/AccountMenuButton/RecoveryCodeActions.js +4 -3
  50. package/dist/esm/react/components/AccountMenuButton/SegmentedControl.js +2 -1
  51. package/dist/esm/react/components/AccountMenuButton/TransactionSettingsSection.js +11 -10
  52. package/dist/esm/react/components/AccountMenuButton/UserAccountButton.js +8 -4
  53. package/dist/esm/react/components/AccountMenuButton/WalletRegionSection.js +22 -15
  54. package/dist/esm/react/components/AccountMenuButton/WalletSettingsLayout.js +20 -16
  55. package/dist/esm/react/components/AccountMenuButton/index.js +18 -15
  56. package/dist/esm/react/components/HostedSeamsAuthMenu/SeamsAuthMenuMock.js +30 -26
  57. package/dist/esm/react/components/QRCodeScanner.js +28 -23
  58. package/dist/esm/react/components/ShowQRCode.js +39 -31
  59. package/dist/esm/react/components/theme/ThemeProvider.js +3 -0
  60. package/dist/esm/react/context/WalletLocale.js +15 -0
  61. package/dist/esm/react/context/index.js +8 -3
  62. package/dist/esm/sdk/ConfirmationDrawer-mu3iThxX.js +1 -0
  63. package/dist/{public/sdk/NonceCoordinator-DuDKN-B8.js → esm/sdk/NonceCoordinator-Dq-FZpBz.js} +1 -1
  64. package/dist/{public/sdk/accountLifecycle-D61FIpFS.js → esm/sdk/accountLifecycle-fLNUdjct.js} +1 -1
  65. package/dist/{public/sdk/activeWalletSession-Ba6X4CUN.js → esm/sdk/activeWalletSession-BpbnpU9s.js} +1 -1
  66. package/dist/esm/sdk/adapters-u7LVXthY.js +2 -0
  67. package/dist/esm/sdk/appearance-token-vars-CzBVbO39.js +2 -0
  68. package/dist/esm/sdk/{canonicalPrimitives-BOzRXzfv.js → canonicalPrimitives-BMP5yILS.js} +1 -1
  69. package/dist/esm/sdk/{challengeDelivery-FD9GHK1T.js → challengeDelivery-CG2J5Qxs.js} +1 -1
  70. package/dist/{public/sdk/clientSessionPersistenceState-BHRUSWMt.js → esm/sdk/clientSessionPersistenceState-BgO4P6CZ.js} +1 -1
  71. package/dist/esm/sdk/{commitQueue-DOIaR0Hr.js → commitQueue-BW7BpYyA.js} +1 -1
  72. package/dist/esm/sdk/configBuilder-BMNShuOu.js +1 -0
  73. package/dist/esm/sdk/{configHelpers-BXdl5Mxs.js → configHelpers-D50F_Txb.js} +1 -1
  74. package/dist/esm/sdk/{digestEncoding-CbEFYvlJ.js → digestEncoding-aC4dSf_x.js} +1 -1
  75. package/dist/esm/sdk/{display-CY_aJEn6.js → display-WtILOPQR.js} +1 -1
  76. package/dist/{public/sdk/ecdsaCapabilityManifest-DzA996y9.js → esm/sdk/ecdsaCapabilityManifest-DRc423SV.js} +1 -1
  77. package/dist/{public/sdk/ecdsaDerivationClientWasm-DQlajPpE.js → esm/sdk/ecdsaDerivationClientWasm-DmwKWUEb.js} +1 -1
  78. package/dist/{public/sdk/ecdsaDerivationExport-DyugdheE.js → esm/sdk/ecdsaDerivationExport-DX89rq_u.js} +1 -1
  79. package/dist/esm/sdk/{ecdsaWalletRecords-C_v74n5X.js → ecdsaWalletRecords-CxxUt3fS.js} +1 -1
  80. package/dist/{public/sdk/emailOtpEcdsaDerivationIdentity-BDVjvnmO.js → esm/sdk/emailOtpEcdsaDerivationIdentity-CupWCKNg.js} +1 -1
  81. package/dist/esm/sdk/{export-viewer-host-DsRaS0UH.js → export-viewer-host-ivf9LlBo.js} +1 -1
  82. package/dist/{public/sdk/exportKeypairOperation-SJPysnE1.js → esm/sdk/exportKeypairOperation-Gw7L5Htj.js} +1 -1
  83. package/dist/esm/sdk/{helpers-D3CUEdHI.js → helpers-DS0bksx9.js} +1 -1
  84. package/dist/esm/sdk/{host-GPb_mSAQ.js → host-B-2QXolt.js} +1 -1
  85. package/dist/esm/sdk/{intentDigest-CGLrsMgj.js → intentDigest-Rh5Mg8X7.js} +1 -1
  86. package/dist/esm/sdk/{lanes-DJKIHJBm.js → lanes-BzU7cv2T.js} +1 -1
  87. package/dist/esm/sdk/localOnly-BKpUHtHa.js +1 -0
  88. package/dist/esm/sdk/mountExportPrivateKeySurface-C8pUK6PQ.js +1 -0
  89. package/dist/esm/sdk/mountRecoveryCodeBackupSurface-DUudF89t.js +2 -0
  90. package/dist/{public/sdk/nearEd25519YaoMaterialActivation-J6EHFScV.js → esm/sdk/nearEd25519YaoMaterialActivation-DgWDGRI_.js} +1 -1
  91. package/dist/{public/sdk/nearEd25519YaoSigningPreparation-CqBNMG87.js → esm/sdk/nearEd25519YaoSigningPreparation-yKDLQXBS.js} +1 -1
  92. package/dist/esm/sdk/{nonceLaneKeys-D18nlLjh.js → nonceLaneKeys-BzMBVxMU.js} +1 -1
  93. package/dist/esm/sdk/{operationFingerprint-Boa9DQ51.js → operationFingerprint-C4VX-0NI.js} +1 -1
  94. package/dist/{public/sdk/passkey-custody-CBSal3E9.js → esm/sdk/passkey-custody-Ba-NQ_4C.js} +1 -1
  95. package/dist/esm/sdk/{pendingWalletRecoveryCodeBackup-CvsrXbzn.js → pendingWalletRecoveryCodeBackup-7tBjuSe7.js} +1 -1
  96. package/dist/{public/sdk/presignaturePool-CQNt13kE.js → esm/sdk/presignaturePool-BHoxnbOA.js} +1 -1
  97. package/dist/esm/sdk/{prfCache-DJ93rtDv.js → prfCache-BAFh1skJ.js} +1 -1
  98. package/dist/esm/sdk/{primitives-cC0a9GRC.js → primitives-CTmDwMNc.js} +1 -1
  99. package/dist/esm/sdk/{recovery-entrypoint-nj7Zo3CR.js → recovery-entrypoint-DWghFZrZ.js} +1 -1
  100. package/dist/esm/sdk/{registration-49OGU_GZ.js → registration-CWpOVwhj.js} +1 -1
  101. package/dist/esm/sdk/{registration-C7tywPXF.js → registration-D2OEgY7O.js} +1 -1
  102. package/dist/esm/sdk/{registrationAccounts-9GFI0Ger.js → registrationAccounts-CD1u1ZqZ.js} +1 -1
  103. package/dist/esm/sdk/{registrationIds-Br-zI4_5.js → registrationIds-B1OpqRAt.js} +1 -1
  104. package/dist/{public/sdk/registrationIntent-PqmcTEE3.js → esm/sdk/registrationIntent-D4YDjf2U.js} +1 -1
  105. package/dist/esm/sdk/{requireStepUpAuth-C4PGTly-.js → requireStepUpAuth-CnSCFSOZ.js} +1 -1
  106. package/dist/{public/sdk/routerAbNormalSigning-xxATTIh5.js → esm/sdk/routerAbNormalSigning-BV1t27aB.js} +1 -1
  107. package/dist/esm/sdk/runtime-auth-jtyQAuxZ.js +1 -0
  108. package/dist/esm/sdk/runtime-device-link-vhRhB-wS.js +1 -0
  109. package/dist/esm/sdk/runtime-ecdsa-tempo-BXWgFVBa.js +1 -0
  110. package/dist/esm/sdk/runtime-email-otp-BlAaSKtk.js +1 -0
  111. package/dist/esm/sdk/runtime-export-B4FuHhcH.js +1 -0
  112. package/dist/esm/sdk/runtime-near-BnWOpEpA.js +1 -0
  113. package/dist/esm/sdk/runtime-preferences-COm-LTiu.js +1 -0
  114. package/dist/esm/sdk/runtime-recovery-BJTo5Idi.js +1 -0
  115. package/dist/esm/sdk/{runtime-recovery-codes-LR4mg7-k.js → runtime-recovery-codes-CEOjdUHV.js} +1 -1
  116. package/dist/esm/sdk/{secp256k1-BldUPNQI.js → secp256k1-wOOHtPcK.js} +1 -1
  117. package/dist/esm/sdk/{secureRandomId-LwBFx84B.js → secureRandomId-8LSc91aN.js} +1 -1
  118. package/dist/esm/sdk/sessionObservationRevision-C7v-wN8_.js +1 -0
  119. package/dist/esm/sdk/shared-BKPGtAps.js +6 -0
  120. package/dist/esm/sdk/{signEvmFamily-C_RvEnDB.js → signEvmFamily-DT34Vtpa.js} +1 -1
  121. package/dist/esm/sdk/{signEvmFamilyWithUiConfirmForTempo-CUKdq5dE.js → signEvmFamilyWithUiConfirmForTempo-NYCFU6Li.js} +1 -1
  122. package/dist/esm/sdk/{signEvmWithUiConfirm-CxXzcvj2.js → signEvmWithUiConfirm-D6nmJr_L.js} +1 -1
  123. package/dist/{public/sdk/signNear-Dno7NsP_.js → esm/sdk/signNear-B000QxBd.js} +1 -1
  124. package/dist/{public/sdk/signingFlow-DtugI_2z.js → esm/sdk/signingFlow-gl85GOW4.js} +1 -1
  125. package/dist/esm/sdk/{signingQueue-C1Pb07gm.js → signingQueue-gW7wmOuL.js} +1 -1
  126. package/dist/esm/sdk/{singletons-DxIyVhNb.js → singletons-CAsc9LvA.js} +1 -1
  127. package/dist/{public/sdk/thresholdEcdsa-murTq-xz.js → esm/sdk/thresholdEcdsa-Ci7yz395.js} +1 -1
  128. package/dist/{public/sdk/transactionState-XbZm9Zon.js → esm/sdk/transactionState-lB2qpkOm.js} +1 -1
  129. package/dist/esm/sdk/tx-confirm-ui.js +1795 -432
  130. package/dist/esm/sdk/wallet-iframe-host-ecdsa.js +1 -1
  131. package/dist/esm/sdk/wallet-iframe-host-full.js +1 -1
  132. package/dist/esm/sdk/wallet-iframe-host-near.js +1 -1
  133. package/dist/esm/sdk/wallet-iframe-host-runtime.js +1 -1
  134. package/dist/esm/sdk/{wallet-recovery-CVUalZ3p.js → wallet-recovery-DFaS3geI.js} +1 -1
  135. package/dist/{public/sdk/walletAuthMethodRecord-Bv68Vq-g.js → esm/sdk/walletAuthMethodRecord-CWdqdY_s.js} +1 -1
  136. package/dist/{public/sdk/walletAuthority-v5wvv3IB.js → esm/sdk/walletAuthority-BY3kyKQ-.js} +1 -1
  137. package/dist/{public/sdk/walletCustodyEcdsaContinuity-rRHExT_R.js → esm/sdk/walletCustodyEcdsaContinuity-mGh1Ysko.js} +1 -1
  138. package/dist/esm/sdk/{walletDbName-DRzPv5Ir.js → walletDbName-BxWApBQF.js} +1 -1
  139. package/dist/{public/sdk/walletOwnershipGeneration-pMmmJ6XA.js → esm/sdk/walletOwnershipGeneration-DSGfjuV2.js} +1 -1
  140. package/dist/esm/sdk/{walletRecoveryCommit-DvC6WlGz.js → walletRecoveryCommit-DQA_wveK.js} +1 -1
  141. package/dist/esm/sdk/{walletRecoveryRotate-Dd3prJpr.js → walletRecoveryRotate-zvQThn37.js} +1 -1
  142. package/dist/esm/sdk/walletRegistrationSetupPrewarm-DdVpKccU.js +1 -0
  143. package/dist/{public/sdk/walletSessionAuthorizationStatus-DVV3xkAx.js → esm/sdk/walletSessionAuthorizationStatus-ONPRiEbK.js} +1 -1
  144. package/dist/{public/sdk/walletSessionAuthorizationStore-D-MhJ0PC.js → esm/sdk/walletSessionAuthorizationStore-DnUMtkev.js} +1 -1
  145. package/dist/esm/sdk/warmSessionHydration-D8Vdro9n.js +1 -0
  146. package/dist/{public/sdk/webauthnP256-XgYu-Y6E.js → esm/sdk/webauthnP256-_ajaNl90.js} +1 -1
  147. package/dist/esm/sdk/{webauthnPromptCoordinator-D5sP8Q7e.js → webauthnPromptCoordinator-9bVeHcTZ.js} +1 -1
  148. package/dist/public/headers.manifest.json +1 -1
  149. package/dist/public/sdk/ConfirmationDrawer-mu3iThxX.js +1 -0
  150. package/dist/{esm/sdk/NonceCoordinator-DuDKN-B8.js → public/sdk/NonceCoordinator-Dq-FZpBz.js} +1 -1
  151. package/dist/{esm/sdk/accountLifecycle-D61FIpFS.js → public/sdk/accountLifecycle-fLNUdjct.js} +1 -1
  152. package/dist/{esm/sdk/activeWalletSession-Ba6X4CUN.js → public/sdk/activeWalletSession-BpbnpU9s.js} +1 -1
  153. package/dist/public/sdk/adapters-u7LVXthY.js +2 -0
  154. package/dist/public/sdk/appearance-token-vars-CzBVbO39.js +2 -0
  155. package/dist/public/sdk/{canonicalPrimitives-BOzRXzfv.js → canonicalPrimitives-BMP5yILS.js} +1 -1
  156. package/dist/public/sdk/{challengeDelivery-FD9GHK1T.js → challengeDelivery-CG2J5Qxs.js} +1 -1
  157. package/dist/{esm/sdk/clientSessionPersistenceState-BHRUSWMt.js → public/sdk/clientSessionPersistenceState-BgO4P6CZ.js} +1 -1
  158. package/dist/public/sdk/{commitQueue-DOIaR0Hr.js → commitQueue-BW7BpYyA.js} +1 -1
  159. package/dist/public/sdk/configBuilder-BMNShuOu.js +1 -0
  160. package/dist/public/sdk/{configHelpers-BXdl5Mxs.js → configHelpers-D50F_Txb.js} +1 -1
  161. package/dist/public/sdk/{digestEncoding-CbEFYvlJ.js → digestEncoding-aC4dSf_x.js} +1 -1
  162. package/dist/public/sdk/{display-CY_aJEn6.js → display-WtILOPQR.js} +1 -1
  163. package/dist/{esm/sdk/ecdsaCapabilityManifest-DzA996y9.js → public/sdk/ecdsaCapabilityManifest-DRc423SV.js} +1 -1
  164. package/dist/{esm/sdk/ecdsaDerivationClientWasm-DQlajPpE.js → public/sdk/ecdsaDerivationClientWasm-DmwKWUEb.js} +1 -1
  165. package/dist/{esm/sdk/ecdsaDerivationExport-DyugdheE.js → public/sdk/ecdsaDerivationExport-DX89rq_u.js} +1 -1
  166. package/dist/public/sdk/{ecdsaWalletRecords-C_v74n5X.js → ecdsaWalletRecords-CxxUt3fS.js} +1 -1
  167. package/dist/{esm/sdk/emailOtpEcdsaDerivationIdentity-BDVjvnmO.js → public/sdk/emailOtpEcdsaDerivationIdentity-CupWCKNg.js} +1 -1
  168. package/dist/public/sdk/{export-viewer-host-DsRaS0UH.js → export-viewer-host-ivf9LlBo.js} +1 -1
  169. package/dist/{esm/sdk/exportKeypairOperation-SJPysnE1.js → public/sdk/exportKeypairOperation-Gw7L5Htj.js} +1 -1
  170. package/dist/public/sdk/{helpers-D3CUEdHI.js → helpers-DS0bksx9.js} +1 -1
  171. package/dist/public/sdk/{host-GPb_mSAQ.js → host-B-2QXolt.js} +1 -1
  172. package/dist/public/sdk/{intentDigest-CGLrsMgj.js → intentDigest-Rh5Mg8X7.js} +1 -1
  173. package/dist/public/sdk/{lanes-DJKIHJBm.js → lanes-BzU7cv2T.js} +1 -1
  174. package/dist/public/sdk/localOnly-BKpUHtHa.js +1 -0
  175. package/dist/public/sdk/mountExportPrivateKeySurface-C8pUK6PQ.js +1 -0
  176. package/dist/public/sdk/mountRecoveryCodeBackupSurface-DUudF89t.js +2 -0
  177. package/dist/{esm/sdk/nearEd25519YaoMaterialActivation-J6EHFScV.js → public/sdk/nearEd25519YaoMaterialActivation-DgWDGRI_.js} +1 -1
  178. package/dist/{esm/sdk/nearEd25519YaoSigningPreparation-CqBNMG87.js → public/sdk/nearEd25519YaoSigningPreparation-yKDLQXBS.js} +1 -1
  179. package/dist/public/sdk/{nonceLaneKeys-D18nlLjh.js → nonceLaneKeys-BzMBVxMU.js} +1 -1
  180. package/dist/public/sdk/{operationFingerprint-Boa9DQ51.js → operationFingerprint-C4VX-0NI.js} +1 -1
  181. package/dist/{esm/sdk/passkey-custody-CBSal3E9.js → public/sdk/passkey-custody-Ba-NQ_4C.js} +1 -1
  182. package/dist/public/sdk/{pendingWalletRecoveryCodeBackup-CvsrXbzn.js → pendingWalletRecoveryCodeBackup-7tBjuSe7.js} +1 -1
  183. package/dist/{esm/sdk/presignaturePool-CQNt13kE.js → public/sdk/presignaturePool-BHoxnbOA.js} +1 -1
  184. package/dist/public/sdk/{prfCache-DJ93rtDv.js → prfCache-BAFh1skJ.js} +1 -1
  185. package/dist/public/sdk/{primitives-cC0a9GRC.js → primitives-CTmDwMNc.js} +1 -1
  186. package/dist/public/sdk/{recovery-entrypoint-nj7Zo3CR.js → recovery-entrypoint-DWghFZrZ.js} +1 -1
  187. package/dist/public/sdk/{registration-49OGU_GZ.js → registration-CWpOVwhj.js} +1 -1
  188. package/dist/public/sdk/{registration-C7tywPXF.js → registration-D2OEgY7O.js} +1 -1
  189. package/dist/public/sdk/{registrationAccounts-9GFI0Ger.js → registrationAccounts-CD1u1ZqZ.js} +1 -1
  190. package/dist/public/sdk/{registrationIds-Br-zI4_5.js → registrationIds-B1OpqRAt.js} +1 -1
  191. package/dist/{esm/sdk/registrationIntent-PqmcTEE3.js → public/sdk/registrationIntent-D4YDjf2U.js} +1 -1
  192. package/dist/public/sdk/{requireStepUpAuth-C4PGTly-.js → requireStepUpAuth-CnSCFSOZ.js} +1 -1
  193. package/dist/{esm/sdk/routerAbNormalSigning-xxATTIh5.js → public/sdk/routerAbNormalSigning-BV1t27aB.js} +1 -1
  194. package/dist/public/sdk/runtime-auth-jtyQAuxZ.js +1 -0
  195. package/dist/public/sdk/runtime-device-link-vhRhB-wS.js +1 -0
  196. package/dist/public/sdk/runtime-ecdsa-tempo-BXWgFVBa.js +1 -0
  197. package/dist/public/sdk/runtime-email-otp-BlAaSKtk.js +1 -0
  198. package/dist/public/sdk/runtime-export-B4FuHhcH.js +1 -0
  199. package/dist/public/sdk/runtime-near-BnWOpEpA.js +1 -0
  200. package/dist/public/sdk/runtime-preferences-COm-LTiu.js +1 -0
  201. package/dist/public/sdk/runtime-recovery-BJTo5Idi.js +1 -0
  202. package/dist/public/sdk/{runtime-recovery-codes-LR4mg7-k.js → runtime-recovery-codes-CEOjdUHV.js} +1 -1
  203. package/dist/public/sdk/{secp256k1-BldUPNQI.js → secp256k1-wOOHtPcK.js} +1 -1
  204. package/dist/public/sdk/{secureRandomId-LwBFx84B.js → secureRandomId-8LSc91aN.js} +1 -1
  205. package/dist/public/sdk/sessionObservationRevision-C7v-wN8_.js +1 -0
  206. package/dist/public/sdk/shared-BKPGtAps.js +6 -0
  207. package/dist/public/sdk/{signEvmFamily-C_RvEnDB.js → signEvmFamily-DT34Vtpa.js} +1 -1
  208. package/dist/public/sdk/{signEvmFamilyWithUiConfirmForTempo-CUKdq5dE.js → signEvmFamilyWithUiConfirmForTempo-NYCFU6Li.js} +1 -1
  209. package/dist/public/sdk/{signEvmWithUiConfirm-CxXzcvj2.js → signEvmWithUiConfirm-D6nmJr_L.js} +1 -1
  210. package/dist/{esm/sdk/signNear-Dno7NsP_.js → public/sdk/signNear-B000QxBd.js} +1 -1
  211. package/dist/{esm/sdk/signingFlow-DtugI_2z.js → public/sdk/signingFlow-gl85GOW4.js} +1 -1
  212. package/dist/public/sdk/{signingQueue-C1Pb07gm.js → signingQueue-gW7wmOuL.js} +1 -1
  213. package/dist/public/sdk/{singletons-DxIyVhNb.js → singletons-CAsc9LvA.js} +1 -1
  214. package/dist/{esm/sdk/thresholdEcdsa-murTq-xz.js → public/sdk/thresholdEcdsa-Ci7yz395.js} +1 -1
  215. package/dist/{esm/sdk/transactionState-XbZm9Zon.js → public/sdk/transactionState-lB2qpkOm.js} +1 -1
  216. package/dist/public/sdk/tx-confirm-ui.js +1795 -432
  217. package/dist/public/sdk/wallet-iframe-host-ecdsa.js +1 -1
  218. package/dist/public/sdk/wallet-iframe-host-full.js +1 -1
  219. package/dist/public/sdk/wallet-iframe-host-near.js +1 -1
  220. package/dist/public/sdk/wallet-iframe-host-runtime.js +1 -1
  221. package/dist/public/sdk/{wallet-recovery-CVUalZ3p.js → wallet-recovery-DFaS3geI.js} +1 -1
  222. package/dist/{esm/sdk/walletAuthMethodRecord-Bv68Vq-g.js → public/sdk/walletAuthMethodRecord-CWdqdY_s.js} +1 -1
  223. package/dist/{esm/sdk/walletAuthority-v5wvv3IB.js → public/sdk/walletAuthority-BY3kyKQ-.js} +1 -1
  224. package/dist/{esm/sdk/walletCustodyEcdsaContinuity-rRHExT_R.js → public/sdk/walletCustodyEcdsaContinuity-mGh1Ysko.js} +1 -1
  225. package/dist/public/sdk/{walletDbName-DRzPv5Ir.js → walletDbName-BxWApBQF.js} +1 -1
  226. package/dist/{esm/sdk/walletOwnershipGeneration-pMmmJ6XA.js → public/sdk/walletOwnershipGeneration-DSGfjuV2.js} +1 -1
  227. package/dist/public/sdk/{walletRecoveryCommit-DvC6WlGz.js → walletRecoveryCommit-DQA_wveK.js} +1 -1
  228. package/dist/public/sdk/{walletRecoveryRotate-Dd3prJpr.js → walletRecoveryRotate-zvQThn37.js} +1 -1
  229. package/dist/public/sdk/walletRegistrationSetupPrewarm-DdVpKccU.js +1 -0
  230. package/dist/{esm/sdk/walletSessionAuthorizationStatus-DVV3xkAx.js → public/sdk/walletSessionAuthorizationStatus-ONPRiEbK.js} +1 -1
  231. package/dist/{esm/sdk/walletSessionAuthorizationStore-D-MhJ0PC.js → public/sdk/walletSessionAuthorizationStore-DnUMtkev.js} +1 -1
  232. package/dist/public/sdk/warmSessionHydration-D8Vdro9n.js +1 -0
  233. package/dist/{esm/sdk/webauthnP256-XgYu-Y6E.js → public/sdk/webauthnP256-_ajaNl90.js} +1 -1
  234. package/dist/public/sdk/{webauthnPromptCoordinator-D5sP8Q7e.js → webauthnPromptCoordinator-9bVeHcTZ.js} +1 -1
  235. package/dist/public/wallet-assets.manifest.json +192 -192
  236. package/dist/public/wallet-service/index.html +4 -4
  237. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/ui/auth-menu/AuthMenuFooter.d.ts +0 -1
  238. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/ui/auth-menu/AuthMenuSurface.d.ts +4 -6
  239. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/ui/auth-menu/presentation.d.ts +35 -0
  240. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/ui/auth-menu/recovery-code-input.d.ts +17 -0
  241. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/ConfirmContent.d.ts +3 -1
  242. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/ConfirmHeader.d.ts +0 -1
  243. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/ConfirmationBody.d.ts +3 -1
  244. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/ConfirmationContent.d.ts +3 -1
  245. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/ConfirmationDrawer.d.ts +0 -1
  246. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/ConfirmationModal.d.ts +0 -1
  247. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/EmailOtpInput.d.ts +0 -1
  248. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/ExportPrivateKeySurface.d.ts +1 -1
  249. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/PasskeyRegistrationContent.d.ts +3 -1
  250. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/PasskeyRegistrationDetails.d.ts +0 -1
  251. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/RecoveryCodeBackupSurface.d.ts +3 -1
  252. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/ReviewDisclosure.d.ts +0 -1
  253. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/TransactionLabel.d.ts +0 -1
  254. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/TransactionReceipt.d.ts +3 -1
  255. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/TransactionReview.d.ts +3 -1
  256. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/TransactionTree.d.ts +0 -1
  257. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/WalletLocale.d.ts +18 -0
  258. package/dist/types/wallet/src/core/types/seams.d.ts +3 -0
  259. package/dist/types/wallet/src/core/ui/locale.d.ts +5 -0
  260. package/dist/types/wallet/src/core/ui/messages.d.ts +8 -0
  261. package/dist/types/wallet/src/index.d.ts +3 -1
  262. package/dist/types/wallet/src/react/components/AccountMenuButton/AccountMenuButtonMock.d.ts +1 -0
  263. package/dist/types/wallet/src/react/components/AccountMenuButton/WalletRegionSection.d.ts +3 -0
  264. package/dist/types/wallet/src/react/components/AccountMenuButton/WalletSettingsLayout.d.ts +4 -1
  265. package/dist/types/wallet/src/react/components/HostedSeamsAuthMenu/SeamsAuthMenuMock.d.ts +2 -1
  266. package/dist/types/wallet/src/react/context/WalletLocale.d.ts +16 -0
  267. package/package.json +1 -1
  268. package/dist/esm/sdk/ConfirmationDrawer-CXVNmfTy.js +0 -1
  269. package/dist/esm/sdk/adapters-CTlDBRJy.js +0 -2
  270. package/dist/esm/sdk/configBuilder-BMawmNpz.js +0 -1
  271. package/dist/esm/sdk/jsxRuntime.module-DKsgiFjd.js +0 -2
  272. package/dist/esm/sdk/localOnly-CPmpw381.js +0 -1
  273. package/dist/esm/sdk/mountExportPrivateKeySurface-C8_tpDHF.js +0 -1
  274. package/dist/esm/sdk/mountRecoveryCodeBackupSurface-BtNFtmSj.js +0 -2
  275. package/dist/esm/sdk/runtime-auth-CpjGW90U.js +0 -1
  276. package/dist/esm/sdk/runtime-device-link-CKgfGi7D.js +0 -1
  277. package/dist/esm/sdk/runtime-ecdsa-tempo-5VV9xSEh.js +0 -1
  278. package/dist/esm/sdk/runtime-email-otp-D1hYZNn6.js +0 -1
  279. package/dist/esm/sdk/runtime-export-B92wQD25.js +0 -1
  280. package/dist/esm/sdk/runtime-near-CUuKg38M.js +0 -1
  281. package/dist/esm/sdk/runtime-preferences-EdL3G_MO.js +0 -1
  282. package/dist/esm/sdk/runtime-recovery-uyw8sywI.js +0 -1
  283. package/dist/esm/sdk/sessionObservationRevision-DmmNV25w.js +0 -1
  284. package/dist/esm/sdk/shared-ha31XIdc.js +0 -6
  285. package/dist/esm/sdk/walletRegistrationSetupPrewarm-DcbhVNMQ.js +0 -1
  286. package/dist/esm/sdk/warmSessionHydration-CsQpQVuy.js +0 -1
  287. package/dist/public/sdk/ConfirmationDrawer-CXVNmfTy.js +0 -1
  288. package/dist/public/sdk/adapters-CTlDBRJy.js +0 -2
  289. package/dist/public/sdk/configBuilder-BMawmNpz.js +0 -1
  290. package/dist/public/sdk/jsxRuntime.module-DKsgiFjd.js +0 -2
  291. package/dist/public/sdk/localOnly-CPmpw381.js +0 -1
  292. package/dist/public/sdk/mountExportPrivateKeySurface-C8_tpDHF.js +0 -1
  293. package/dist/public/sdk/mountRecoveryCodeBackupSurface-BtNFtmSj.js +0 -2
  294. package/dist/public/sdk/runtime-auth-CpjGW90U.js +0 -1
  295. package/dist/public/sdk/runtime-device-link-CKgfGi7D.js +0 -1
  296. package/dist/public/sdk/runtime-ecdsa-tempo-5VV9xSEh.js +0 -1
  297. package/dist/public/sdk/runtime-email-otp-D1hYZNn6.js +0 -1
  298. package/dist/public/sdk/runtime-export-B92wQD25.js +0 -1
  299. package/dist/public/sdk/runtime-near-CUuKg38M.js +0 -1
  300. package/dist/public/sdk/runtime-preferences-EdL3G_MO.js +0 -1
  301. package/dist/public/sdk/runtime-recovery-uyw8sywI.js +0 -1
  302. package/dist/public/sdk/sessionObservationRevision-DmmNV25w.js +0 -1
  303. package/dist/public/sdk/shared-ha31XIdc.js +0 -6
  304. package/dist/public/sdk/walletRegistrationSetupPrewarm-DcbhVNMQ.js +0 -1
  305. package/dist/public/sdk/warmSessionHydration-CsQpQVuy.js +0 -1
  306. /package/dist/esm/sdk/{base64-DW79QA0h.js → base64-BmKR3UqU.js} +0 -0
  307. /package/dist/esm/sdk/{signingSessionSeal-DX41aXUL.js → signingSessionSeal-DqbjG8c8.js} +0 -0
  308. /package/dist/esm/sdk/{theme-BKaFqCAj.js → theme-os0Salmo.js} +0 -0
  309. /package/dist/public/sdk/{base64-DW79QA0h.js → base64-BmKR3UqU.js} +0 -0
  310. /package/dist/public/sdk/{signingSessionSeal-DX41aXUL.js → signingSessionSeal-DqbjG8c8.js} +0 -0
  311. /package/dist/public/sdk/{theme-BKaFqCAj.js → theme-os0Salmo.js} +0 -0
@@ -1 +1 @@
1
- import{D as e,M as t,O as n,h as r,k as i,l as a,r as o,u as s}from"./domainIds-C3fUa33Q.js";import{A as c,j as l,k as u}from"./chains-CPmd4s9f.js";import{n as ee,r as d,s as f}from"./primitives-cC0a9GRC.js";import{i as p,r as m}from"./base64-DW79QA0h.js";import{l as h}from"./capabilityKinds-D0Yrp9uf.js";import{r as te}from"./canonicalPrimitives-BOzRXzfv.js";import{c as g,s as ne}from"./accountIds-Cpvlkvbe.js";import{Qt as _,Xt as re,en as v,nn as y,ot as ie}from"./emailOtpEcdsaDerivationIdentity-BDVjvnmO.js";import{r as ae}from"./registrationIds-Br-zI4_5.js";const b=new TextEncoder;function x(e,t){if(typeof e!=`string`||e.length===0)throw Error(`${t} must be a non-empty visible ASCII string`);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 oe(e,t){if(typeof e!=`number`||!Number.isInteger(e)||e<0||e>255)throw Error(`${t} must be a byte`);return e}function se(e,t,n,r){if(!Array.isArray(e))throw Error(`${t} must be a byte array`);if(e.length<n||e.length>r)throw Error(`${t} has an invalid length`);let i=[];for(let n=0;n<e.length;n+=1)i.push(oe(e[n],`${t}[${n}]`));return i}function S(e,t,n){let r=se(e,t,32,32);if(n&&ce(r))throw Error(`${t} must be nonzero`);return r}function ce(e){for(let t of e)if(t!==0)return!1;return!0}function C(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 le(e){let t=new Uint8Array(4);return new DataView(t.buffer).setUint32(0,e,!1),t}function ue(e){let t=0;for(let n of e)t+=n.length;let n=new Uint8Array(t),r=0;for(let t of e)n.set(t,r),r+=t.length;return n}function w(e){return ue([le(e.length),e])}function T(e,t){return ue([w(b.encode(e)),w(t)])}async function de(e){let t=await globalThis.crypto.subtle.digest(`SHA-256`,e);return new Uint8Array(t)}async function fe(e){let t=ue([w(b.encode(`seams/router-ab/ed25519-yao/application-binding/v1`)),T(`walletId`,b.encode(e.wallet_id)),T(`nearEd25519SigningKeyId`,b.encode(e.near_ed25519_signing_key_id)),T(`signingRootId`,b.encode(e.signing_root_id)),T(`keyCreationSignerSlot`,le(e.key_creation_signer_slot))]);return Array.from(await de(t))}const pe=`/router-ab/ed25519/yao/registration/admit`,me=`/router-ab/ed25519/yao/registration/execute`,he=`/router-ab/ed25519/yao/recovery/admit`,ge=`/router-ab/ed25519/yao/recovery/execute`,_e=`/router-ab/ed25519/yao/recovery/activate`,ve=`x-seams-wallet-recovery-challenge-id`,ye=`/router-ab/ed25519/yao/recovery/bootstrap`,be=`router_ab_ed25519_yao_email_otp_recovery_v1`,xe=`/router-ab/ed25519/yao/export/admit`,Se=`/router-ab/ed25519/yao/export/execute`,Ce=64*1024;function we(e,t){return e.operation===t.operation&&E(e.session_id,t.session_id)&&E(e.stable_key_context_binding,t.stable_key_context_binding)&&y(e.material_activation,t.material_activation)&&e.lifecycle.lifecycle_id===t.lifecycle.lifecycle_id&&e.lifecycle.work_kind===t.lifecycle.work_kind&&e.lifecycle.primitive_request_kind===t.lifecycle.primitive_request_kind&&e.lifecycle.root_share_epoch===t.lifecycle.root_share_epoch&&e.lifecycle.account_id===t.lifecycle.account_id&&e.lifecycle.session_id===t.lifecycle.session_id&&e.lifecycle.signer_set_id===t.lifecycle.signer_set_id&&e.lifecycle.selected_server_id===t.lifecycle.selected_server_id}function E(e,t){return e.length===t.length&&e.every((e,n)=>e===t[n])}function Te(e,t){return e[0]===t[0]&&e[1]===t[1]}function Ee(e,t){return e.lifecycle_id===t.lifecycle_id&&e.root_share_epoch===t.root_share_epoch&&e.account_id===t.account_id&&e.threshold_session_id===t.threshold_session_id&&e.signer_set_id===t.signer_set_id&&e.signing_worker_id===t.signing_worker_id&&y(e.material_activation,t.material_activation)}function De(e,t){return e.wallet_id===t.wallet_id&&e.near_ed25519_signing_key_id===t.near_ed25519_signing_key_id&&e.signing_root_id===t.signing_root_id&&e.key_creation_signer_slot===t.key_creation_signer_slot}function Oe(e,t){return Ee(e.scope,t.scope)&&De(e.application_binding,t.application_binding)&&Te(e.participant_ids,t.participant_ids)}const D=`registration_prepare`,ke=`registration`,O=`recovery`,Ae=`recovery`,k=`key_export`,A=`export`;function j(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 je(e,t){if(!Number.isInteger(e)||typeof e!=`number`||e<=0||e>4294967295)throw Error(`${t} must be a positive u32`);return e}function Me(e,t){if(typeof e!=`number`||!Number.isSafeInteger(e)||e<=0)throw Error(`${t} must be a positive safe integer`);return e}function Ne(e,t){switch(e){case`registration`:case`recovery`:case`refresh`:case`export`:case`lane_provisioning`:case`lane_refresh`:return e;default:throw Error(`${t} is invalid`)}}function Pe(e,t){switch(e){case`deriver_a`:case`deriver_b`:return e;default:throw Error(`${t} is invalid`)}}function Fe(e,t){switch(e){case`activation`:case`export`:return e;default:throw Error(`${t} is invalid`)}}function Ie(e,t){switch(e){case`activation_client`:case`activation_signing_worker`:case`export_client`:return e;default:throw Error(`${t} is invalid`)}}function Le(e,t){switch(e){case`registration_prepare`:case`key_export`:case`recovery`:case`server_share_refresh`:return e;default:throw Error(`${t} is invalid`)}}function Re(e,t){switch(e){case`registration`:case`recovery`:case`export`:case`refresh`:return e;default:throw Error(`${t} is invalid`)}}function M(e){let t=u(e,`application_binding`);return j(t,`application_binding`,[`wallet_id`,`near_ed25519_signing_key_id`,`signing_root_id`,`key_creation_signer_slot`]),{wallet_id:x(t.wallet_id,`application_binding.wallet_id`),near_ed25519_signing_key_id:x(t.near_ed25519_signing_key_id,`application_binding.near_ed25519_signing_key_id`),signing_root_id:x(t.signing_root_id,`application_binding.signing_root_id`),key_creation_signer_slot:je(t.key_creation_signer_slot,`application_binding.key_creation_signer_slot`)}}function ze(e){let t=u(e,`scope`);j(t,`scope`,[`lifecycle_id`,`root_share_epoch`,`account_id`,`threshold_session_id`,`signer_set_id`,`signing_worker_id`,`material_activation`]);let n=x(t.account_id,`scope.account_id`),r=x(t.signing_worker_id,`scope.signing_worker_id`),i=_(t.material_activation);if(i.material_owner!==n||i.signing_worker!==r)throw Error(`scope.material_activation does not match the lifecycle owner and worker`);return{lifecycle_id:x(t.lifecycle_id,`scope.lifecycle_id`),root_share_epoch:x(t.root_share_epoch,`scope.root_share_epoch`),account_id:n,threshold_session_id:x(t.threshold_session_id,`scope.threshold_session_id`),signer_set_id:x(t.signer_set_id,`scope.signer_set_id`),signing_worker_id:r,material_activation:i}}function N(e){if(!Array.isArray(e)||e.length!==2)throw Error(`participant_ids must contain exactly two values`);let t=je(e[0],`participant_ids[0]`),n=je(e[1],`participant_ids[1]`);if(t>65535||n>65535||t>=n)throw Error(`participant_ids must be distinct, nonzero, ascending u16 values`);return[t,n]}function P(e){return N(e)}function Be(e){let t=u(e,`binding.lifecycle`);j(t,`binding.lifecycle`,[`lifecycle_id`,`work_kind`,`primitive_request_kind`,`root_share_epoch`,`account_id`,`session_id`,`signer_set_id`,`selected_server_id`]);let n={lifecycle_id:x(t.lifecycle_id,`binding.lifecycle.lifecycle_id`),work_kind:Le(t.work_kind,`binding.lifecycle.work_kind`),primitive_request_kind:Re(t.primitive_request_kind,`binding.lifecycle.primitive_request_kind`),root_share_epoch:x(t.root_share_epoch,`binding.lifecycle.root_share_epoch`),account_id:x(t.account_id,`binding.lifecycle.account_id`),session_id:x(t.session_id,`binding.lifecycle.session_id`),signer_set_id:x(t.signer_set_id,`binding.lifecycle.signer_set_id`),selected_server_id:x(t.selected_server_id,`binding.lifecycle.selected_server_id`)};if(n.work_kind===D&&n.primitive_request_kind!==ke||n.work_kind===O&&n.primitive_request_kind!==Ae||n.work_kind===k&&n.primitive_request_kind!==A)throw Error(`binding.lifecycle primitive request kind does not match its work kind`);return n}function F(e){let t=u(e,`binding`);j(t,`binding`,[`lifecycle`,`operation`,`session_id`,`stable_key_context_binding`,`material_activation`]);let n={lifecycle:Be(t.lifecycle),operation:Ne(t.operation,`binding.operation`),session_id:S(t.session_id,`binding.session_id`,!0),stable_key_context_binding:S(t.stable_key_context_binding,`binding.stable_key_context_binding`,!1),material_activation:_(t.material_activation)};if(n.operation===`registration`&&n.lifecycle.work_kind!==D||n.operation===`recovery`&&n.lifecycle.work_kind!==O||n.operation===`export`&&n.lifecycle.work_kind!==k)throw Error(`binding operation does not match its lifecycle work kind`);if(n.material_activation.material_owner!==n.lifecycle.account_id||n.material_activation.signing_worker!==n.lifecycle.selected_server_id)throw Error(`binding material activation does not match its lifecycle owner and worker`);return n}function Ve(e){return F(e)}function He(e){let t=F(e);if(t.operation!==`export`||t.lifecycle.work_kind!==k||t.lifecycle.primitive_request_kind!==A)throw Error(`export binding requires the exact export lifecycle`);return{lifecycle:{lifecycle_id:t.lifecycle.lifecycle_id,work_kind:k,primitive_request_kind:A,root_share_epoch:t.lifecycle.root_share_epoch,account_id:t.lifecycle.account_id,session_id:t.lifecycle.session_id,signer_set_id:t.lifecycle.signer_set_id,selected_server_id:t.lifecycle.selected_server_id},operation:`export`,session_id:t.session_id,stable_key_context_binding:t.stable_key_context_binding,material_activation:t.material_activation}}function I(e){let t=u(e,`export binding`);return j(t,`export binding`,[`ceremony`,`registered_public_key`,`state_epoch`,`runtime_policy_binding`,`authorization_digest`]),{ceremony:He(t.ceremony),registered_public_key:S(t.registered_public_key,`export binding.registered_public_key`,!0),state_epoch:Me(t.state_epoch,`export binding.state_epoch`),runtime_policy_binding:S(t.runtime_policy_binding,`export binding.runtime_policy_binding`,!0),authorization_digest:S(t.authorization_digest,`export binding.authorization_digest`,!0)}}function L(e){let t=F(e);switch(t.operation){case`registration`:if(t.lifecycle.work_kind!==D||t.lifecycle.primitive_request_kind!==ke)throw Error(`activation binding has the wrong registration lifecycle kind`);return{lifecycle:{lifecycle_id:t.lifecycle.lifecycle_id,work_kind:D,primitive_request_kind:ke,root_share_epoch:t.lifecycle.root_share_epoch,account_id:t.lifecycle.account_id,session_id:t.lifecycle.session_id,signer_set_id:t.lifecycle.signer_set_id,selected_server_id:t.lifecycle.selected_server_id},operation:`registration`,session_id:t.session_id,stable_key_context_binding:t.stable_key_context_binding,material_activation:t.material_activation};case`recovery`:if(t.lifecycle.work_kind!==O||t.lifecycle.primitive_request_kind!==Ae)throw Error(`activation binding has the wrong recovery lifecycle kind`);return{lifecycle:{lifecycle_id:t.lifecycle.lifecycle_id,work_kind:O,primitive_request_kind:Ae,root_share_epoch:t.lifecycle.root_share_epoch,account_id:t.lifecycle.account_id,session_id:t.lifecycle.session_id,signer_set_id:t.lifecycle.signer_set_id,selected_server_id:t.lifecycle.selected_server_id},operation:`recovery`,session_id:t.session_id,stable_key_context_binding:t.stable_key_context_binding,material_activation:t.material_activation};case`refresh`:case`export`:case`lane_provisioning`:case`lane_refresh`:throw Error(`activation binding has a non-activation operation`)}}function Ue(e){let t=u(e,`keyset`);j(t,`keyset`,[`deriver_a_input_public_key`,`deriver_b_input_public_key`,`signing_worker_recipient_public_key`]);let n={deriver_a_input_public_key:S(t.deriver_a_input_public_key,`keyset.deriver_a_input_public_key`,!0),deriver_b_input_public_key:S(t.deriver_b_input_public_key,`keyset.deriver_b_input_public_key`,!0),signing_worker_recipient_public_key:S(t.signing_worker_recipient_public_key,`keyset.signing_worker_recipient_public_key`,!0)};if(C(n.deriver_a_input_public_key,n.deriver_b_input_public_key)||C(n.deriver_a_input_public_key,n.signing_worker_recipient_public_key)||C(n.deriver_b_input_public_key,n.signing_worker_recipient_public_key))throw Error(`keyset public keys must be distinct`);return n}function R(e,t){let n=u(e,t);j(n,t,[`kind`,`deriver`,`operation`,`session`,`stable_context_binding`,`encapsulated_key`,`ciphertext`]);let r={kind:Fe(n.kind,`${t}.kind`),deriver:Pe(n.deriver,`${t}.deriver`),operation:Ne(n.operation,`${t}.operation`),session:S(n.session,`${t}.session`,!0),stable_context_binding:S(n.stable_context_binding,`${t}.stable_context_binding`,!0),encapsulated_key:S(n.encapsulated_key,`${t}.encapsulated_key`,!0),ciphertext:se(n.ciphertext,`${t}.ciphertext`,16,Ce)};if(r.kind===`activation`&&r.operation===`export`||r.kind===`export`&&r.operation!==`export`)throw Error(`${t} operation does not match its circuit family`);return r}function We(e,t,n,r){if(t.kind!==`activation`||t.deriver!==n||t.operation!==e.operation||!C(t.session,e.session_id)||!C(t.stable_context_binding,e.stable_key_context_binding))throw Error(`${r} does not match the admitted activation binding`);switch(e.operation){case`registration`:return{kind:`activation`,deriver:n,operation:`registration`,session:t.session,stable_context_binding:t.stable_context_binding,encapsulated_key:t.encapsulated_key,ciphertext:t.ciphertext};case`recovery`:return{kind:`activation`,deriver:n,operation:`recovery`,session:t.session,stable_context_binding:t.stable_context_binding,encapsulated_key:t.encapsulated_key,ciphertext:t.ciphertext}}}function Ge(e,t,n,r){if(t.kind!==`export`||t.deriver!==n||t.operation!==`export`||!C(t.session,e.ceremony.session_id)||!C(t.stable_context_binding,e.ceremony.stable_key_context_binding))throw Error(`${r} does not match the admitted export binding`);return{kind:`export`,deriver:n,operation:`export`,session:t.session,stable_context_binding:t.stable_context_binding,encapsulated_key:t.encapsulated_key,ciphertext:t.ciphertext}}function z(e,t){let n=u(e,t);return j(n,t,[`kind`,`deriver`,`session`,`transcript`,`encapsulated_key`,`ciphertext`]),{kind:Ie(n.kind,`${t}.kind`),deriver:Pe(n.deriver,`${t}.deriver`),session:S(n.session,`${t}.session`,!0),transcript:S(n.transcript,`${t}.transcript`,!0),encapsulated_key:S(n.encapsulated_key,`${t}.encapsulated_key`,!0),ciphertext:se(n.ciphertext,`${t}.ciphertext`,16,Ce)}}function B(e){let t=u(e,`public_receipt`);return j(t,`public_receipt`,[`transcript`,`registered_public_key`,`joined_client_commitment`,`joined_signing_worker_commitment`,`signing_worker_verifying_share`,`state_epoch`,`material_activation`]),{transcript:S(t.transcript,`public_receipt.transcript`,!0),registered_public_key:S(t.registered_public_key,`public_receipt.registered_public_key`,!0),joined_client_commitment:S(t.joined_client_commitment,`public_receipt.joined_client_commitment`,!0),joined_signing_worker_commitment:S(t.joined_signing_worker_commitment,`public_receipt.joined_signing_worker_commitment`,!0),signing_worker_verifying_share:S(t.signing_worker_verifying_share,`public_receipt.signing_worker_verifying_share`,!0),state_epoch:Me(t.state_epoch,`public_receipt.state_epoch`),material_activation:_(t.material_activation)}}function Ke(e,t,n,r,i){if(n.kind!==`activation_client`||n.deriver!==r||!C(n.session,e.session_id)||!C(n.transcript,t.transcript))throw Error(`${i} does not match the terminal activation receipt`);return{kind:`activation_client`,deriver:r,session:n.session,transcript:n.transcript,encapsulated_key:n.encapsulated_key,ciphertext:n.ciphertext}}function qe(e,t,n,r,i){if(n.kind!==`export_client`||n.deriver!==r||!C(n.session,e.ceremony.session_id)||!C(n.transcript,t))throw Error(`${i} does not match the terminal export result`);return{kind:`export_client`,deriver:r,session:n.session,transcript:n.transcript,encapsulated_key:n.encapsulated_key,ciphertext:n.ciphertext}}function V(e,t){try{return{ok:!0,value:e(t)}}catch(e){return{ok:!1,code:`invalid_body`,message:e instanceof Error?e.message:String(e)}}}function Je(e){let t=u(e,`registration admission request`);return j(t,`registration admission request`,[`scope`,`application_binding`,`participant_ids`]),{scope:ze(t.scope),application_binding:M(t.application_binding),participant_ids:N(t.participant_ids)}}function Ye(e){let t=u(e,`recovery admission request`);j(t,`recovery admission request`,[`scope`,`active_material_activation`,`application_binding`,`participant_ids`,`active_capability_binding`,`replacement_capability_binding`,`registered_public_key`]);let n=S(t.active_capability_binding,`recovery admission request.active_capability_binding`,!0),r=S(t.replacement_capability_binding,`recovery admission request.replacement_capability_binding`,!0);if(C(n,r))throw Error(`recovery replacement capability binding must be fresh`);let i=ze(t.scope),a=_(t.active_material_activation),o=i.material_activation;if(a.activation_id===o.activation_id||a.lifecycle_binding===o.lifecycle_binding)throw Error(`recovery replacement material activation identity must be fresh`);if(a.capability!==o.capability||a.material_owner!==o.material_owner||a.key_binding!==o.key_binding||a.signing_worker!==o.signing_worker)throw Error(`recovery replacement material activation changed stable identity facts`);return{scope:i,active_material_activation:a,application_binding:M(t.application_binding),participant_ids:N(t.participant_ids),active_capability_binding:n,replacement_capability_binding:r,registered_public_key:S(t.registered_public_key,`recovery admission request.registered_public_key`,!0)}}function Xe(e){let t=u(e,`warm recovery bootstrap request`);if(j(t,`warm recovery bootstrap request`,[`kind`,`walletId`,`nearAccountId`,`nearEd25519SigningKeyId`,`signerSlot`,`thresholdSessionId`,`signingWorkerId`,`participantIds`]),t.kind!==`router_ab_ed25519_yao_warm_recovery_bootstrap_request_v1`)throw Error(`warm recovery bootstrap request.kind is invalid`);return{kind:`router_ab_ed25519_yao_warm_recovery_bootstrap_request_v1`,walletId:x(t.walletId,`warm recovery bootstrap request.walletId`),nearAccountId:x(t.nearAccountId,`warm recovery bootstrap request.nearAccountId`),nearEd25519SigningKeyId:x(t.nearEd25519SigningKeyId,`warm recovery bootstrap request.nearEd25519SigningKeyId`),signerSlot:Me(t.signerSlot,`warm recovery bootstrap request.signerSlot`),thresholdSessionId:x(t.thresholdSessionId,`warm recovery bootstrap request.thresholdSessionId`),signingWorkerId:x(t.signingWorkerId,`warm recovery bootstrap request.signingWorkerId`),participantIds:N(t.participantIds)}}function Ze(e){let t=u(e,`export admission receipt`);return j(t,`export admission receipt`,[`binding`,`keyset`]),{binding:I(t.binding),keyset:Ue(t.keyset)}}function Qe(e){let t=u(e,`export execute request`);j(t,`export execute request`,[`binding`,`deriver_a_input`,`deriver_b_input`]);let n=I(t.binding);return{binding:n,deriver_a_input:Ge(n,R(t.deriver_a_input,`deriver_a_input`),`deriver_a`,`deriver_a_input`),deriver_b_input:Ge(n,R(t.deriver_b_input,`deriver_b_input`),`deriver_b`,`deriver_b_input`)}}function $e(e){let t=u(e,`export result`);j(t,`export result`,[`binding`,`transcript`,`deriver_a_client_package`,`deriver_b_client_package`]);let n=I(t.binding),r=S(t.transcript,`export result.transcript`,!0);return{binding:n,transcript:r,deriver_a_client_package:qe(n,r,z(t.deriver_a_client_package,`deriver_a_client_package`),`deriver_a`,`deriver_a_client_package`),deriver_b_client_package:qe(n,r,z(t.deriver_b_client_package,`deriver_b_client_package`),`deriver_b`,`deriver_b_client_package`)}}function et(e){let t=u(e,`activation admission receipt`);j(t,`activation admission receipt`,[`binding`,`keyset`]);let n=L(t.binding),r=Ue(t.keyset);switch(n.operation){case`registration`:return{binding:n,keyset:r};case`recovery`:return{binding:n,keyset:r}}}function tt(e){let t=u(e,`activation execute request`);j(t,`activation execute request`,[`binding`,`deriver_a_input`,`deriver_b_input`]);let n=L(t.binding),r=We(n,R(t.deriver_a_input,`deriver_a_input`),`deriver_a`,`deriver_a_input`),i=We(n,R(t.deriver_b_input,`deriver_b_input`),`deriver_b`,`deriver_b_input`);if(n.operation===`registration`){if(r.operation!==`registration`||i.operation!==`registration`)throw Error(`activation inputs do not match registration binding`);return{binding:n,deriver_a_input:r,deriver_b_input:i}}if(r.operation!==`recovery`||i.operation!==`recovery`)throw Error(`activation inputs do not match recovery binding`);return{binding:n,deriver_a_input:r,deriver_b_input:i}}function nt(e){let t=u(e,`activation result`);j(t,`activation result`,[`binding`,`deriver_a_client_package`,`deriver_b_client_package`,`public_receipt`]);let n=L(t.binding),r=B(t.public_receipt);if(!y(n.material_activation,r.material_activation))throw Error(`activation result receipt material does not match the admitted binding`);let i=z(t.deriver_a_client_package,`deriver_a_client_package`),a=z(t.deriver_b_client_package,`deriver_b_client_package`),o=Ke(n,r,i,`deriver_a`,`deriver_a_client_package`),s=Ke(n,r,a,`deriver_b`,`deriver_b_client_package`);switch(n.operation){case`registration`:return{binding:n,deriver_a_client_package:o,deriver_b_client_package:s,public_receipt:r};case`recovery`:return{binding:n,deriver_a_client_package:o,deriver_b_client_package:s,public_receipt:r}}}function rt(e){let t=L(e);switch(t.operation){case`registration`:throw Error(`recovery activation requires a recovery binding`);case`recovery`:return t}}function it(e){let t=u(e,`recovery activation receipt`);j(t,`recovery activation receipt`,[`binding`,`public_receipt`,`active_capability_binding`,`retired_capability_binding`]);let n=S(t.active_capability_binding,`recovery activation receipt.active_capability_binding`,!0),r=S(t.retired_capability_binding,`recovery activation receipt.retired_capability_binding`,!0);if(C(n,r))throw Error(`recovery activation receipt capability bindings must be distinct`);return{binding:rt(t.binding),public_receipt:B(t.public_receipt),active_capability_binding:n,retired_capability_binding:r}}function at(e,t){return e.binding.operation===t}function ot(e,t){return e.binding.operation===t}function st(e,t){return e.binding.operation===t}function H(e){return{ok:!1,code:`invalid_body`,message:`activation value must use the ${e} operation`}}function ct(e){return V(Je,e)}function lt(e){return V(Ye,e)}function ut(e){return V(Xe,e)}function dt(e){return V(Ze,e)}function ft(e){return V(Qe,e)}function pt(e){return V($e,e)}function mt(e){return V(et,e)}function ht(e){let t=mt(e);return t.ok?at(t.value,`registration`)?{ok:!0,value:t.value}:H(`registration`):t}function gt(e){let t=mt(e);return t.ok?at(t.value,`recovery`)?{ok:!0,value:t.value}:H(`recovery`):t}function _t(e){return V(tt,e)}function vt(e){let t=_t(e);return t.ok?ot(t.value,`registration`)?{ok:!0,value:t.value}:H(`registration`):t}function yt(e){let t=_t(e);return t.ok?ot(t.value,`recovery`)?{ok:!0,value:t.value}:H(`recovery`):t}function bt(e){return V(nt,e)}function xt(e){let t=bt(e);return t.ok?st(t.value,`registration`)?{ok:!0,value:t.value}:H(`registration`):t}function St(e){let t=bt(e);return t.ok?st(t.value,`recovery`)?{ok:!0,value:t.value}:H(`recovery`):t}function Ct(e){return V(it,e)}function wt(e){return V(Tt,e)}function Tt(e){return z(e,`encrypted_package`)}const Et=`seams/linked-device/ecdsa-source-contribution-envelope/v1`;function Dt(e){let t=c(e,`linked-device ordinary source contribution`);switch(t.kind){case`linked_device_ed25519_source_contribution_v1`:return Pt(t);case`linked_device_ecdsa_source_contribution_v1`:return Ft(t);default:throw Error(`linked-device ordinary source contribution kind is invalid`)}}function Ot(e){let t=Q(e,[`state`,`reservation_id`,`participant_ids`,`activation_receipt`,`deriver_a_client_package`,`deriver_b_client_package`],`linked-device Ed25519 source-preserving reservation`);if(t.state!==`inactive`)throw Error(`linked-device Ed25519 source-preserving reservation is not inactive`);let n=B(t.activation_receipt),r=P(t.participant_ids),i=U(t.deriver_a_client_package,`deriver_a`),a=U(t.deriver_b_client_package,`deriver_b`);if(!E(n.transcript,i.transcript)||!E(n.transcript,a.transcript))throw Error(`linked-device Ed25519 reservation packages have mismatched transcripts`);return{state:`inactive`,reservationId:Z(t.reservation_id,`reservation_id`),participantIds:r,activationReceipt:n,deriver_a_client_package:i,deriver_b_client_package:a}}function kt(e){if(!Array.isArray(e)||e.length===0||e.length>2)throw Error(`linked-device ordinary source contributions must contain one or two entries`);let t=e.map(Dt),n=t.map(e=>e.keyFamily);if(new Set(n).size!==n.length)throw Error(`linked-device ordinary source contributions repeat a key family`);if(t.length===2&&(t[0]?.keyFamily!==`ed25519`||t[1]?.keyFamily!==`ecdsa_secp256k1`))throw Error(`linked-device ordinary source contributions must be Ed25519 then ECDSA`);let r=t[0];if(!r)throw Error(`linked-device ordinary source contributions are empty`);return[r,...t.slice(1)]}function At(e){let t=Q(e,[`linkSessionId`,`enrollmentId`,`sourceAuthorityId`,`source`,`target`],`linked-device ECDSA source contribution preparation`),n=Ut(t.source),r=Wt(t.target);return Zt(n.activation,r.activation),{linkSessionId:G(t.linkSessionId),enrollmentId:K(t.enrollmentId),sourceAuthorityId:q(t.sourceAuthorityId),source:n,target:r}}function jt(e){let t=c(e,`linked-device ordinary source contribution preparation`);if(t.kind===`linked_device_ed25519_source_contribution_preparation_v1`)return Nt(t);if(Object.prototype.hasOwnProperty.call(t,`source`)&&Object.prototype.hasOwnProperty.call(t,`target`))return At(t);throw Error(`linked-device ordinary source contribution preparation family is invalid`)}function Mt(e){if(!Array.isArray(e)||e.length===0||e.length>2)throw Error(`linked-device ordinary source contribution preparations must contain one or two entries`);let t=e.map(jt),n=t.map(e=>`kind`in e?`ed25519`:`ecdsa_secp256k1`);if(new Set(n).size!==n.length)throw Error(`linked-device ordinary source contribution preparations repeat a key family`);if(t.length===2&&(n[0]!==`ed25519`||n[1]!==`ecdsa_secp256k1`))throw Error(`linked-device ordinary source contribution preparations must be ordered Ed25519 then ECDSA`);let r=t[0];if(!r)throw Error(`linked-device ordinary source contribution preparation is empty`);return[r,...t.slice(1)]}function Nt(e){if(Q(e,[`kind`,`linkSessionId`,`enrollmentId`,`sourceAuthorityId`,`walletKeyId`,`targetDeviceId`,`targetFactorVerificationDigestB64u`,`sourceBinding`,`targetAdmission`,`applicationBinding`,`sourceRevocationEpoch`,`participantIds`,`targetMaterialActivation`,`targetClientRecipientPublicKeyB64u`,`targetSigningWorkerRecipientPublicKeyB64u`,`sourceRegisteredPublicKeyB64u`],`linked-device Ed25519 source contribution preparation`),e.kind!==`linked_device_ed25519_source_contribution_preparation_v1`)throw Error(`linked-device Ed25519 source contribution preparation kind is invalid`);let t=L(e.sourceBinding),n=ht(e.targetAdmission);if(!n.ok)throw Error(`targetAdmission ${n.message}`);let r=n.value,i=M(e.applicationBinding);if(typeof e.sourceRevocationEpoch!=`number`||!Number.isSafeInteger(e.sourceRevocationEpoch)||e.sourceRevocationEpoch<0)throw Error(`sourceRevocationEpoch must be a non-negative safe integer`);let a=W(e.targetMaterialActivation,`targetMaterialActivation`),s=G(e.linkSessionId),c=K(e.enrollmentId),l=q(e.sourceAuthorityId),u=$t(e.walletKeyId),d=J(e.targetDeviceId),f=Y(e.targetFactorVerificationDigestB64u,`targetFactorVerificationDigestB64u`),p=X(e.targetClientRecipientPublicKeyB64u,32,`targetClientRecipientPublicKeyB64u`),m=X(e.targetSigningWorkerRecipientPublicKeyB64u,32,`targetSigningWorkerRecipientPublicKeyB64u`);if(p===m)throw Error(`linked-device Ed25519 source contribution recipients must differ`);let h=P(e.participantIds);if(Jt(t,s,`sourceBinding`),!o(a,v(r.binding.material_activation)))throw Error(`targetAdmission activation differs from targetMaterialActivation`);if(!Yt(t,r.binding))throw Error(`source and target Ed25519 contribution bindings differ`);if(t.material_activation.activation_id===a.activationId)throw Error(`source and target Ed25519 contribution activations must differ`);return{kind:`linked_device_ed25519_source_contribution_preparation_v1`,linkSessionId:s,enrollmentId:c,sourceAuthorityId:l,walletKeyId:u,targetDeviceId:d,targetFactorVerificationDigestB64u:f,sourceBinding:t,targetAdmission:r,applicationBinding:i,sourceRevocationEpoch:e.sourceRevocationEpoch,participantIds:h,targetMaterialActivation:a,targetClientRecipientPublicKeyB64u:p,targetSigningWorkerRecipientPublicKeyB64u:m,sourceRegisteredPublicKeyB64u:ee(e.sourceRegisteredPublicKeyB64u,`sourceRegisteredPublicKeyB64u`)}}function Pt(e){if(Q(e,[`kind`,`keyFamily`,`linkSessionId`,`enrollmentId`,`sourceAuthorityId`,`walletKeyId`,`targetDeviceId`,`targetFactorVerificationDigestB64u`,`targetMaterialActivation`,`targetClientRecipientPublicKeyB64u`,`targetSigningWorkerRecipientPublicKeyB64u`,`sourceBinding`,`reservationId`,`targetBinding`,`activationReceipt`,`participantIds`,`deriver_a_client_package`,`deriver_b_client_package`,`sourceRegisteredPublicKeyB64u`],`linked-device Ed25519 source contribution`),e.kind!==`linked_device_ed25519_source_contribution_v1`)throw Error(`linked-device Ed25519 source contribution kind is invalid`);if(e.keyFamily!==`ed25519`)throw Error(`linked-device Ed25519 source contribution family is invalid`);let t=L(e.sourceBinding),n=W(e.targetMaterialActivation,`source contribution targetMaterialActivation`),r=Kt(e.targetBinding,`targetBinding`),i=B(e.activationReceipt),a=Z(e.reservationId,`reservationId`),s=P(e.participantIds),c=G(e.linkSessionId),l=K(e.enrollmentId),u=q(e.sourceAuthorityId),d=$t(e.walletKeyId),f=J(e.targetDeviceId),p=Y(e.targetFactorVerificationDigestB64u,`targetFactorVerificationDigestB64u`),h=X(e.targetClientRecipientPublicKeyB64u,32,`targetClientRecipientPublicKeyB64u`),te=X(e.targetSigningWorkerRecipientPublicKeyB64u,32,`targetSigningWorkerRecipientPublicKeyB64u`);if(h===te)throw Error(`linked-device Ed25519 source contribution recipients must differ`);if(Jt(t,c,`sourceBinding`),qt(r,c,n,`targetBinding`),!Yt(t,r))throw Error(`linked-device Ed25519 source contribution stable identity differs`);if(!o(v(i.material_activation),n))throw Error(`linked-device Ed25519 source contribution receipt activation differs`);let g=ee(e.sourceRegisteredPublicKeyB64u,`sourceRegisteredPublicKeyB64u`);if(!E(i.registered_public_key,Array.from(m(g))))throw Error(`linked-device Ed25519 source contribution receipt public key differs`);let ne=U(e.deriver_a_client_package,`deriver_a`),_=U(e.deriver_b_client_package,`deriver_b`);if(!E(i.transcript,ne.transcript)||!E(i.transcript,_.transcript))throw Error(`linked-device Ed25519 source contribution package transcript differs`);if(t.material_activation.activation_id===n.activationId)throw Error(`linked-device Ed25519 source contribution reuses the source activation`);return{kind:`linked_device_ed25519_source_contribution_v1`,keyFamily:`ed25519`,linkSessionId:c,enrollmentId:l,sourceAuthorityId:u,walletKeyId:d,targetDeviceId:f,targetFactorVerificationDigestB64u:p,targetMaterialActivation:n,targetClientRecipientPublicKeyB64u:h,targetSigningWorkerRecipientPublicKeyB64u:te,sourceBinding:t,reservationId:a,targetBinding:r,activationReceipt:i,participantIds:s,deriver_a_client_package:ne,deriver_b_client_package:_,sourceRegisteredPublicKeyB64u:g}}function Ft(e){if(Q(e,[`kind`,`keyFamily`,`linkSessionId`,`enrollmentId`,`sourceAuthorityId`,`walletKeyId`,`targetDeviceId`,`targetFactorVerificationDigestB64u`,`sourceSigner`,`sourceDerivation`,`target`,`package`],`linked-device ECDSA source contribution`),e.kind!==`linked_device_ecdsa_source_contribution_v1`)throw Error(`linked-device ECDSA source contribution kind is invalid`);if(e.keyFamily!==`ecdsa_secp256k1`)throw Error(`linked-device ECDSA source contribution family is invalid`);let t=G(e.linkSessionId),n=K(e.enrollmentId),r=q(e.sourceAuthorityId),i=$t(e.walletKeyId),a=J(e.targetDeviceId),o=Y(e.targetFactorVerificationDigestB64u,`targetFactorVerificationDigestB64u`),s=Ut(e.sourceSigner),c=It(e.sourceDerivation),l=Wt(e.target);Zt(s.activation,l.activation);let u=Vt(e.package);if(u.binding.linkSessionId!==t||u.binding.enrollmentId!==n||u.binding.sourceAuthorityId!==r||u.binding.target.targetDeviceId!==a||u.binding.target.targetFactorVerificationDigestB64u!==o)throw Error(`linked-device ECDSA source contribution package binding differs`);if(!Xt(u.binding.source,s))throw Error(`linked-device ECDSA source contribution signer differs from package binding`);if(!Qt(u.binding.target,l))throw Error(`linked-device ECDSA source contribution target differs from package binding`);return{kind:`linked_device_ecdsa_source_contribution_v1`,keyFamily:`ecdsa_secp256k1`,linkSessionId:t,enrollmentId:n,sourceAuthorityId:r,walletKeyId:i,targetDeviceId:a,targetFactorVerificationDigestB64u:o,sourceSigner:s,sourceDerivation:c,target:l,package:u}}function It(e){let t=Q(e,[`applicationBindingDigestB64u`,`clientShareRetryCounter`,`ecdsaThresholdKeyId`,`sourceNormalSigning`],`linked-device ECDSA source derivation`),n=t.clientShareRetryCounter;if(typeof n!=`number`||!Number.isSafeInteger(n)||n<0)throw Error(`linked-device ECDSA source derivation retry counter is invalid`);let r=Y(t.applicationBindingDigestB64u,`sourceDerivation.applicationBindingDigestB64u`),i=ie(t.sourceNormalSigning),a=re(t.ecdsaThresholdKeyId);if(i.scope.context.application_binding_digest_b64u!==r||i.scope.public_identity.client_share_retry_counter!==n||i.scope.ecdsa_threshold_key_id!==a)throw Error(`linked-device ECDSA source derivation differs from normal signing`);return{applicationBindingDigestB64u:r,clientShareRetryCounter:n,ecdsaThresholdKeyId:a,sourceNormalSigning:i}}function Lt(e){let t=Q(e,[`state`,`binding`,`sourceDerivation`,`targetRelayerPublicKey33B64u`,`thresholdPublicKey33B64u`,`thresholdEthereumAddress20B64u`,`normalSigning`],`linked-device ECDSA source-preserving activation receipt`);if(t.state!==`inactive`)throw Error(`linked-device ECDSA source-preserving activation receipt is not inactive`);let n=Ht(t.binding),r=It(t.sourceDerivation),i=f(t.targetRelayerPublicKey33B64u,`targetRelayerPublicKey33B64u`),a=f(t.thresholdPublicKey33B64u,`thresholdPublicKey33B64u`),o=X(t.thresholdEthereumAddress20B64u,20,`thresholdEthereumAddress20B64u`),s=ie(t.normalSigning);return Rt({binding:n,sourceDerivation:r,targetRelayerPublicKey33B64u:i,thresholdPublicKey33B64u:a,thresholdEthereumAddress20B64u:o,normalSigning:s}),{state:`inactive`,binding:n,sourceDerivation:r,targetRelayerPublicKey33B64u:i,thresholdPublicKey33B64u:a,thresholdEthereumAddress20B64u:o,normalSigning:s}}function Rt(e){let t=e.sourceDerivation.sourceNormalSigning.scope,n=e.normalSigning.scope;if(!o(v(t.material_activation),e.binding.source.activation)||!o(v(n.material_activation),e.binding.target.activation)||t.wallet_id!==n.wallet_id||t.wallet_id!==e.binding.source.activation.materialOwner||n.wallet_id!==e.binding.target.activation.materialOwner||t.ecdsa_threshold_key_id!==n.ecdsa_threshold_key_id||t.signing_root_id!==n.signing_root_id||t.signing_root_version!==n.signing_root_version||t.context.application_binding_digest_b64u!==n.context.application_binding_digest_b64u||t.activation_epoch!==n.activation_epoch||t.public_identity.derivation_client_share_public_key33_b64u!==e.binding.source.clientPublicKey33B64u||t.public_identity.server_public_key33_b64u!==e.binding.source.relayerPublicKey33B64u||t.public_identity.threshold_public_key33_b64u!==e.binding.source.thresholdPublicKey33B64u||t.public_identity.ethereum_address20_b64u!==e.binding.source.thresholdEthereumAddress20B64u||n.public_identity.context_binding_b64u!==t.public_identity.context_binding_b64u||n.public_identity.derivation_client_share_public_key33_b64u!==e.binding.targetClientPublicKey33B64u||n.public_identity.server_public_key33_b64u!==e.targetRelayerPublicKey33B64u||n.public_identity.threshold_public_key33_b64u!==e.thresholdPublicKey33B64u||n.public_identity.ethereum_address20_b64u!==e.thresholdEthereumAddress20B64u||n.public_identity.client_share_retry_counter!==t.public_identity.client_share_retry_counter||n.public_identity.server_share_retry_counter!==t.public_identity.server_share_retry_counter||n.signing_worker.server_id!==e.binding.target.activation.signingWorker||n.signing_worker.key_epoch!==t.signing_worker.key_epoch||n.signing_worker.recipient_encryption_key!==zt(e.binding.target.signingWorkerRecipientPublicKeyB64u))throw Error(`linked-device ECDSA normal signing state differs from its activation receipt`)}function zt(e){let t=m(e);if(t.length!==32||p(t)!==e)throw Error(`linked-device signing-worker recipient key is invalid`);let n=``;for(let e of t)n+=e.toString(16).padStart(2,`0`);return`x25519:${n}`}function U(e,t){let n=Bt(e,`${t} client package`);if(n.kind!==`activation_client`||n.deriver!==t)throw Error(`${t} client package is not an activation client package`);return t===`deriver_a`?{kind:`activation_client`,deriver:`deriver_a`,session:n.session,transcript:n.transcript,encapsulated_key:n.encapsulated_key,ciphertext:n.ciphertext}:{kind:`activation_client`,deriver:`deriver_b`,session:n.session,transcript:n.transcript,encapsulated_key:n.encapsulated_key,ciphertext:n.ciphertext}}function Bt(e,t){let n=wt(e);if(!n.ok)throw Error(`${t} ${n.message}`);return n.value}function Vt(e){let t=Q(e,[`binding`,`encryptedDelta`,`encryptedTargetClientShare`],`linked-device ECDSA source contribution package`),n=Ht(t.binding),r=Gt(t.encryptedDelta,`encryptedDelta`),i=Gt(t.encryptedTargetClientShare,`encryptedTargetClientShare`),a=r.bindingDigestB64u;if(i.bindingDigestB64u!==a)throw Error(`linked-device ECDSA source contribution envelope bindings differ`);if(r.recipientPublicKeyB64u!==n.target.signingWorkerRecipientPublicKeyB64u||i.recipientPublicKeyB64u!==n.target.clientRecipientPublicKeyB64u)throw Error(`linked-device ECDSA source contribution envelope recipients differ`);return{binding:n,encryptedDelta:r,encryptedTargetClientShare:i}}function Ht(e){let t=Q(e,[`linkSessionId`,`enrollmentId`,`sourceAuthorityId`,`source`,`target`,`targetClientPublicKey33B64u`],`linked-device ECDSA source contribution binding`),n=Ut(t.source),r=Wt(t.target);return Zt(n.activation,r.activation),{linkSessionId:Z(t.linkSessionId,`binding.linkSessionId`),enrollmentId:Z(t.enrollmentId,`binding.enrollmentId`),sourceAuthorityId:Z(t.sourceAuthorityId,`binding.sourceAuthorityId`),source:n,target:r,targetClientPublicKey33B64u:f(t.targetClientPublicKey33B64u,`binding.targetClientPublicKey33B64u`)}}function Ut(e){let t=Q(e,[`activation`,`clientPublicKey33B64u`,`relayerPublicKey33B64u`,`thresholdPublicKey33B64u`,`thresholdEthereumAddress20B64u`],`linked-device ECDSA source signer`);return{activation:W(t.activation,`source.activation`),clientPublicKey33B64u:f(t.clientPublicKey33B64u,`source.clientPublicKey33B64u`),relayerPublicKey33B64u:f(t.relayerPublicKey33B64u,`source.relayerPublicKey33B64u`),thresholdPublicKey33B64u:f(t.thresholdPublicKey33B64u,`source.thresholdPublicKey33B64u`),thresholdEthereumAddress20B64u:X(t.thresholdEthereumAddress20B64u,20,`source.thresholdEthereumAddress20B64u`)}}function Wt(e){let t=Q(e,[`activation`,`targetDeviceId`,`targetFactorVerificationDigestB64u`,`clientRecipientPublicKeyB64u`,`signingWorkerRecipientPublicKeyB64u`],`linked-device ECDSA target recipient`),n=X(t.clientRecipientPublicKeyB64u,32,`target.clientRecipientPublicKeyB64u`),r=X(t.signingWorkerRecipientPublicKeyB64u,32,`target.signingWorkerRecipientPublicKeyB64u`);if(n===r)throw Error(`linked-device ECDSA target recipients must differ`);return{activation:W(t.activation,`target.activation`),targetDeviceId:J(t.targetDeviceId),targetFactorVerificationDigestB64u:Y(t.targetFactorVerificationDigestB64u,`target.targetFactorVerificationDigestB64u`),clientRecipientPublicKeyB64u:n,signingWorkerRecipientPublicKeyB64u:r}}function Gt(e,t){let n=Q(e,[`kind`,`recipientPublicKeyB64u`,`bindingDigestB64u`,`encappedKeyB64u`,`ciphertextB64u`],`linked-device ECDSA ${t}`);if(n.kind!==Et)throw Error(`${t}.kind is invalid`);return{kind:Et,recipientPublicKeyB64u:X(n.recipientPublicKeyB64u,32,`${t}.recipientPublicKeyB64u`),bindingDigestB64u:Y(n.bindingDigestB64u,`${t}.bindingDigestB64u`),encappedKeyB64u:X(n.encappedKeyB64u,32,`${t}.encappedKeyB64u`),ciphertextB64u:d(n.ciphertextB64u,`${t}.ciphertextB64u`)}}function Kt(e,t){let n=L(e);if(n.operation!==`registration`)throw Error(`${t} must use the registration operation`);return n}function qt(e,t,n,r){if(e.material_activation.activation_id!==n.activationId)throw Error(`${r} activation does not match the target activation`);if(e.material_activation.material_owner!==n.materialOwner)throw Error(`${r} material owner does not match the target activation`);if(e.material_activation.signing_worker!==n.signingWorker)throw Error(`${r} signing worker does not match the target activation`);if(e.session_id.length!==32||String(t).length===0)throw Error(`${r} link binding is invalid`)}function Jt(e,t,n){if(e.session_id.length!==32||String(t).length===0)throw Error(`${n} link binding is invalid`)}function Yt(e,t){return e.stable_key_context_binding.every((e,n)=>e===t.stable_key_context_binding[n])&&e.material_activation.capability===t.material_activation.capability&&e.material_activation.material_owner===t.material_activation.material_owner&&e.material_activation.key_binding===t.material_activation.key_binding&&e.material_activation.lifecycle_binding===t.material_activation.lifecycle_binding&&e.material_activation.signing_worker===t.material_activation.signing_worker&&e.lifecycle.root_share_epoch===t.lifecycle.root_share_epoch&&e.lifecycle.account_id===t.lifecycle.account_id&&e.lifecycle.signer_set_id===t.lifecycle.signer_set_id&&e.lifecycle.selected_server_id===t.lifecycle.selected_server_id}function Xt(e,t){return o(e.activation,t.activation)&&e.clientPublicKey33B64u===t.clientPublicKey33B64u&&e.relayerPublicKey33B64u===t.relayerPublicKey33B64u&&e.thresholdPublicKey33B64u===t.thresholdPublicKey33B64u&&e.thresholdEthereumAddress20B64u===t.thresholdEthereumAddress20B64u}function Zt(e,t){if(o(e,t)||e.materialOwner!==t.materialOwner||e.signingWorker!==t.signingWorker)throw Error(`linked-device ECDSA source and target activations are invalid`)}function Qt(e,t){return o(e.activation,t.activation)&&e.targetDeviceId===t.targetDeviceId&&e.targetFactorVerificationDigestB64u===t.targetFactorVerificationDigestB64u&&e.clientRecipientPublicKeyB64u===t.clientRecipientPublicKeyB64u&&e.signingWorkerRecipientPublicKeyB64u===t.signingWorkerRecipientPublicKeyB64u}function W(e,t){let n=r(e);if(!n.ok)throw Error(`${t} ${n.error.message}`);return n.value}function G(e){let t=a(Z(e,`linkSessionId`));if(!t.ok)throw Error(`linkSessionId ${t.error.message}`);return t.value}function K(e){let t=s(Z(e,`enrollmentId`));if(!t.ok)throw Error(`enrollmentId ${t.error.message}`);return t.value}function q(t){let n=e(Z(t,`sourceAuthorityId`));if(!n.ok)throw Error(`sourceAuthorityId ${n.error.message}`);return n.value}function $t(e){let t=i(Z(e,`walletKeyId`));if(!t.ok)throw Error(`walletKeyId ${t.error.message}`);return t.value}function J(e){let t=h(Z(e,`targetDeviceId`));if(!t.ok)throw Error(`targetDeviceId ${t.error.message}`);return t.value}function Y(e,t){try{return te(e)}catch(e){throw Error(`${t} ${e instanceof Error?e.message:`is invalid`}`)}}function X(e,t,n){if(typeof e!=`string`||!/^[A-Za-z0-9_-]+$/.test(e))throw Error(`${n} must be canonical base64url`);let r;try{r=m(e)}catch{throw Error(`${n} must be canonical base64url`)}if(r.length!==t||p(r)!==e)throw Error(`${n} must decode to ${t} bytes`);return e}function Z(e,t){if(typeof e!=`string`||e.length===0||e.trim()!==e||[...e].some(e=>{let t=e.charCodeAt(0);return t<32||t===127}))throw Error(`${t} must be a non-empty visible string`);return e}function Q(e,t,n){let r=c(e,n),i=new Set(t),a=Object.keys(r);if(a.length!==t.length||a.some(e=>!i.has(e))||t.some(e=>!Object.prototype.hasOwnProperty.call(r,e)))throw Error(`${n} contains unknown or missing fields`);return r}function en(e){return!e||typeof e!=`object`||Array.isArray(e)?null:e}function $(e){return typeof e==`string`?e.trim():``}function tn(e,t){let n=$(e);return n?{ok:!0,value:n}:{ok:!1,error:{code:`missing`,message:`${t} is required`}}}function nn(e){let t=typeof e==`number`?e:Number(e);return!Number.isSafeInteger(t)||t<1?{ok:!1,error:{code:`invalid`,message:`signerSlot must be an integer >= 1`}}:{ok:!0,value:t}}function rn(e){return{ok:!1,error:{code:`invalid`,message:`${e} must be an object`}}}function an(e){let n=t(e);return n.ok?{ok:!0,value:n.value}:{ok:!1,error:n.error}}function on(e){let t=en(e);if(!t)return rn(`WalletIdentity`);let r=n(t.walletId);return r.ok?{ok:!0,value:{walletId:r.value}}:{ok:!1,error:r.error}}function sn(e){return{walletId:e.walletId}}function cn(e){return{wallet:e.wallet,rpId:e.rpId}}function ln(e){let t=$(e.credentialIdB64u);if(!t)throw Error(`credentialIdB64u is required`);return{kind:`passkey`,walletAuthMethodId:e.walletAuthMethodId,scope:e.scope,credentialIdB64u:t}}function un(e){let t=$(e.emailHashHex),n=$(e.registrationAuthorityId);if(!t)throw Error(`emailHashHex is required`);if(!n)throw Error(`registrationAuthorityId is required`);return{kind:`email_otp`,walletAuthMethodId:e.walletAuthMethodId,wallet:e.wallet,emailHashHex:t,registrationAuthorityId:n}}function dn(e){return{kind:`implicit_near_account`,wallet:e.wallet,nearAccountId:e.nearAccountId}}function fn(e){return{kind:`named_near_account`,wallet:e.wallet,nearAccountId:e.nearAccountId}}function pn(e){let t=en(e);if(!t)return rn(`NearAccountBinding`);let n=on(t.wallet);if(!n.ok)return n;let r=$(t.kind);if(r===`implicit_near_account`){let e=ne(t.nearAccountId);return e.ok?{ok:!0,value:dn({wallet:n.value,nearAccountId:e.value})}:{ok:!1,error:{code:e.code,message:e.message}}}if(r===`named_near_account`){let e=g(t.nearAccountId);return e.ok?{ok:!0,value:fn({wallet:n.value,nearAccountId:e.value})}:{ok:!1,error:{code:e.code,message:e.message}}}return{ok:!1,error:{code:`invalid`,message:`NearAccountBinding kind is invalid`}}}function mn(e){let t=nn(e.signerSlot);if(!t.ok)throw Error(t.error.message);return{kind:`near_ed25519_signer`,account:e.account,nearEd25519SigningKeyId:e.nearEd25519SigningKeyId,signerSlot:t.value}}function hn(e){let t=en(e);if(!t)return rn(`NearEd25519SignerBinding`);let n=pn(t.account);if(!n.ok)return n;let r=tn(t.nearEd25519SigningKeyId,`nearEd25519SigningKeyId`);if(!r.ok)return r;let i=nn(t.signerSlot);return i.ok?{ok:!0,value:mn({account:n.value,nearEd25519SigningKeyId:ae(r.value),signerSlot:i.value})}:i}function gn(e,t){if(!e||typeof e!=`object`||Array.isArray(e))throw Error(`${t} must be an object`);return e}function _n(e,t){let n=l(e,t);switch(n){case`sent`:case`reused`:return n;default:throw Error(`${t} must be sent or reused`)}}function vn(e,t){return{kind:`provider`,status:e,emailHint:t}}function yn(e,t){let n=gn(e,t),r=l(n.kind,`${t}.kind`),i=_n(n.status,`${t}.status`),a=l(n.emailHint,`${t}.emailHint`);switch(r){case`provider`:case`development`:if(n.otpCode!==void 0)throw Error(`${t}.otpCode is only valid for code-bearing delivery`);return vn(i,a);case`demo_code_response`:case`provider_and_demo_code`:{let e=l(n.otpCode,`${t}.otpCode`);if(!/^\d{6}$/.test(e))throw Error(`${t}.otpCode must be a 6-digit code`);return{kind:r,status:i,emailHint:a,otpCode:e}}default:throw Error(`${t}.kind is invalid`)}}function bn(e){switch(e.kind){case`provider`:return null;case`demo_code_response`:case`provider_and_demo_code`:return e.otpCode}}export{B as A,Ct as B,_e as C,pe as D,ge as E,ft as F,xt as G,lt as H,pt as I,we as J,ct as K,P as L,Ve as M,wt as N,me as O,dt as P,gt as R,Se as S,ve as T,ht as U,St as V,vt as W,Oe as X,E as Y,fe as Z,kt as _,fn as a,be as b,ln as c,an as d,Gt as f,jt as g,Mt as h,dn as i,M as j,ye as k,sn as l,Ot as m,yn as n,mn as o,Lt as p,ut as q,un as r,cn as s,bn as t,hn as u,Xt as v,he as w,xe as x,Qt as y,yt as z};
1
+ import{D as e,M as t,O as n,h as r,k as i,l as a,r as o,u as s}from"./domainIds-C3fUa33Q.js";import{A as c,j as l,k as u}from"./chains-CPmd4s9f.js";import{n as ee,r as d,s as f}from"./primitives-CTmDwMNc.js";import{i as p,r as m}from"./base64-BmKR3UqU.js";import{l as h}from"./capabilityKinds-D0Yrp9uf.js";import{r as te}from"./canonicalPrimitives-BMP5yILS.js";import{c as g,s as ne}from"./accountIds-Cpvlkvbe.js";import{Qt as _,Xt as re,en as v,nn as y,ot as ie}from"./emailOtpEcdsaDerivationIdentity-CupWCKNg.js";import{r as ae}from"./registrationIds-B1OpqRAt.js";const b=new TextEncoder;function x(e,t){if(typeof e!=`string`||e.length===0)throw Error(`${t} must be a non-empty visible ASCII string`);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 oe(e,t){if(typeof e!=`number`||!Number.isInteger(e)||e<0||e>255)throw Error(`${t} must be a byte`);return e}function se(e,t,n,r){if(!Array.isArray(e))throw Error(`${t} must be a byte array`);if(e.length<n||e.length>r)throw Error(`${t} has an invalid length`);let i=[];for(let n=0;n<e.length;n+=1)i.push(oe(e[n],`${t}[${n}]`));return i}function S(e,t,n){let r=se(e,t,32,32);if(n&&ce(r))throw Error(`${t} must be nonzero`);return r}function ce(e){for(let t of e)if(t!==0)return!1;return!0}function C(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 le(e){let t=new Uint8Array(4);return new DataView(t.buffer).setUint32(0,e,!1),t}function ue(e){let t=0;for(let n of e)t+=n.length;let n=new Uint8Array(t),r=0;for(let t of e)n.set(t,r),r+=t.length;return n}function w(e){return ue([le(e.length),e])}function T(e,t){return ue([w(b.encode(e)),w(t)])}async function de(e){let t=await globalThis.crypto.subtle.digest(`SHA-256`,e);return new Uint8Array(t)}async function fe(e){let t=ue([w(b.encode(`seams/router-ab/ed25519-yao/application-binding/v1`)),T(`walletId`,b.encode(e.wallet_id)),T(`nearEd25519SigningKeyId`,b.encode(e.near_ed25519_signing_key_id)),T(`signingRootId`,b.encode(e.signing_root_id)),T(`keyCreationSignerSlot`,le(e.key_creation_signer_slot))]);return Array.from(await de(t))}const pe=`/router-ab/ed25519/yao/registration/admit`,me=`/router-ab/ed25519/yao/registration/execute`,he=`/router-ab/ed25519/yao/recovery/admit`,ge=`/router-ab/ed25519/yao/recovery/execute`,_e=`/router-ab/ed25519/yao/recovery/activate`,ve=`x-seams-wallet-recovery-challenge-id`,ye=`/router-ab/ed25519/yao/recovery/bootstrap`,be=`router_ab_ed25519_yao_email_otp_recovery_v1`,xe=`/router-ab/ed25519/yao/export/admit`,Se=`/router-ab/ed25519/yao/export/execute`,Ce=64*1024;function we(e,t){return e.operation===t.operation&&E(e.session_id,t.session_id)&&E(e.stable_key_context_binding,t.stable_key_context_binding)&&y(e.material_activation,t.material_activation)&&e.lifecycle.lifecycle_id===t.lifecycle.lifecycle_id&&e.lifecycle.work_kind===t.lifecycle.work_kind&&e.lifecycle.primitive_request_kind===t.lifecycle.primitive_request_kind&&e.lifecycle.root_share_epoch===t.lifecycle.root_share_epoch&&e.lifecycle.account_id===t.lifecycle.account_id&&e.lifecycle.session_id===t.lifecycle.session_id&&e.lifecycle.signer_set_id===t.lifecycle.signer_set_id&&e.lifecycle.selected_server_id===t.lifecycle.selected_server_id}function E(e,t){return e.length===t.length&&e.every((e,n)=>e===t[n])}function Te(e,t){return e[0]===t[0]&&e[1]===t[1]}function Ee(e,t){return e.lifecycle_id===t.lifecycle_id&&e.root_share_epoch===t.root_share_epoch&&e.account_id===t.account_id&&e.threshold_session_id===t.threshold_session_id&&e.signer_set_id===t.signer_set_id&&e.signing_worker_id===t.signing_worker_id&&y(e.material_activation,t.material_activation)}function De(e,t){return e.wallet_id===t.wallet_id&&e.near_ed25519_signing_key_id===t.near_ed25519_signing_key_id&&e.signing_root_id===t.signing_root_id&&e.key_creation_signer_slot===t.key_creation_signer_slot}function Oe(e,t){return Ee(e.scope,t.scope)&&De(e.application_binding,t.application_binding)&&Te(e.participant_ids,t.participant_ids)}const D=`registration_prepare`,ke=`registration`,O=`recovery`,Ae=`recovery`,k=`key_export`,A=`export`;function j(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 je(e,t){if(!Number.isInteger(e)||typeof e!=`number`||e<=0||e>4294967295)throw Error(`${t} must be a positive u32`);return e}function Me(e,t){if(typeof e!=`number`||!Number.isSafeInteger(e)||e<=0)throw Error(`${t} must be a positive safe integer`);return e}function Ne(e,t){switch(e){case`registration`:case`recovery`:case`refresh`:case`export`:case`lane_provisioning`:case`lane_refresh`:return e;default:throw Error(`${t} is invalid`)}}function Pe(e,t){switch(e){case`deriver_a`:case`deriver_b`:return e;default:throw Error(`${t} is invalid`)}}function Fe(e,t){switch(e){case`activation`:case`export`:return e;default:throw Error(`${t} is invalid`)}}function Ie(e,t){switch(e){case`activation_client`:case`activation_signing_worker`:case`export_client`:return e;default:throw Error(`${t} is invalid`)}}function Le(e,t){switch(e){case`registration_prepare`:case`key_export`:case`recovery`:case`server_share_refresh`:return e;default:throw Error(`${t} is invalid`)}}function Re(e,t){switch(e){case`registration`:case`recovery`:case`export`:case`refresh`:return e;default:throw Error(`${t} is invalid`)}}function M(e){let t=u(e,`application_binding`);return j(t,`application_binding`,[`wallet_id`,`near_ed25519_signing_key_id`,`signing_root_id`,`key_creation_signer_slot`]),{wallet_id:x(t.wallet_id,`application_binding.wallet_id`),near_ed25519_signing_key_id:x(t.near_ed25519_signing_key_id,`application_binding.near_ed25519_signing_key_id`),signing_root_id:x(t.signing_root_id,`application_binding.signing_root_id`),key_creation_signer_slot:je(t.key_creation_signer_slot,`application_binding.key_creation_signer_slot`)}}function ze(e){let t=u(e,`scope`);j(t,`scope`,[`lifecycle_id`,`root_share_epoch`,`account_id`,`threshold_session_id`,`signer_set_id`,`signing_worker_id`,`material_activation`]);let n=x(t.account_id,`scope.account_id`),r=x(t.signing_worker_id,`scope.signing_worker_id`),i=_(t.material_activation);if(i.material_owner!==n||i.signing_worker!==r)throw Error(`scope.material_activation does not match the lifecycle owner and worker`);return{lifecycle_id:x(t.lifecycle_id,`scope.lifecycle_id`),root_share_epoch:x(t.root_share_epoch,`scope.root_share_epoch`),account_id:n,threshold_session_id:x(t.threshold_session_id,`scope.threshold_session_id`),signer_set_id:x(t.signer_set_id,`scope.signer_set_id`),signing_worker_id:r,material_activation:i}}function N(e){if(!Array.isArray(e)||e.length!==2)throw Error(`participant_ids must contain exactly two values`);let t=je(e[0],`participant_ids[0]`),n=je(e[1],`participant_ids[1]`);if(t>65535||n>65535||t>=n)throw Error(`participant_ids must be distinct, nonzero, ascending u16 values`);return[t,n]}function P(e){return N(e)}function Be(e){let t=u(e,`binding.lifecycle`);j(t,`binding.lifecycle`,[`lifecycle_id`,`work_kind`,`primitive_request_kind`,`root_share_epoch`,`account_id`,`session_id`,`signer_set_id`,`selected_server_id`]);let n={lifecycle_id:x(t.lifecycle_id,`binding.lifecycle.lifecycle_id`),work_kind:Le(t.work_kind,`binding.lifecycle.work_kind`),primitive_request_kind:Re(t.primitive_request_kind,`binding.lifecycle.primitive_request_kind`),root_share_epoch:x(t.root_share_epoch,`binding.lifecycle.root_share_epoch`),account_id:x(t.account_id,`binding.lifecycle.account_id`),session_id:x(t.session_id,`binding.lifecycle.session_id`),signer_set_id:x(t.signer_set_id,`binding.lifecycle.signer_set_id`),selected_server_id:x(t.selected_server_id,`binding.lifecycle.selected_server_id`)};if(n.work_kind===D&&n.primitive_request_kind!==ke||n.work_kind===O&&n.primitive_request_kind!==Ae||n.work_kind===k&&n.primitive_request_kind!==A)throw Error(`binding.lifecycle primitive request kind does not match its work kind`);return n}function F(e){let t=u(e,`binding`);j(t,`binding`,[`lifecycle`,`operation`,`session_id`,`stable_key_context_binding`,`material_activation`]);let n={lifecycle:Be(t.lifecycle),operation:Ne(t.operation,`binding.operation`),session_id:S(t.session_id,`binding.session_id`,!0),stable_key_context_binding:S(t.stable_key_context_binding,`binding.stable_key_context_binding`,!1),material_activation:_(t.material_activation)};if(n.operation===`registration`&&n.lifecycle.work_kind!==D||n.operation===`recovery`&&n.lifecycle.work_kind!==O||n.operation===`export`&&n.lifecycle.work_kind!==k)throw Error(`binding operation does not match its lifecycle work kind`);if(n.material_activation.material_owner!==n.lifecycle.account_id||n.material_activation.signing_worker!==n.lifecycle.selected_server_id)throw Error(`binding material activation does not match its lifecycle owner and worker`);return n}function Ve(e){return F(e)}function He(e){let t=F(e);if(t.operation!==`export`||t.lifecycle.work_kind!==k||t.lifecycle.primitive_request_kind!==A)throw Error(`export binding requires the exact export lifecycle`);return{lifecycle:{lifecycle_id:t.lifecycle.lifecycle_id,work_kind:k,primitive_request_kind:A,root_share_epoch:t.lifecycle.root_share_epoch,account_id:t.lifecycle.account_id,session_id:t.lifecycle.session_id,signer_set_id:t.lifecycle.signer_set_id,selected_server_id:t.lifecycle.selected_server_id},operation:`export`,session_id:t.session_id,stable_key_context_binding:t.stable_key_context_binding,material_activation:t.material_activation}}function I(e){let t=u(e,`export binding`);return j(t,`export binding`,[`ceremony`,`registered_public_key`,`state_epoch`,`runtime_policy_binding`,`authorization_digest`]),{ceremony:He(t.ceremony),registered_public_key:S(t.registered_public_key,`export binding.registered_public_key`,!0),state_epoch:Me(t.state_epoch,`export binding.state_epoch`),runtime_policy_binding:S(t.runtime_policy_binding,`export binding.runtime_policy_binding`,!0),authorization_digest:S(t.authorization_digest,`export binding.authorization_digest`,!0)}}function L(e){let t=F(e);switch(t.operation){case`registration`:if(t.lifecycle.work_kind!==D||t.lifecycle.primitive_request_kind!==ke)throw Error(`activation binding has the wrong registration lifecycle kind`);return{lifecycle:{lifecycle_id:t.lifecycle.lifecycle_id,work_kind:D,primitive_request_kind:ke,root_share_epoch:t.lifecycle.root_share_epoch,account_id:t.lifecycle.account_id,session_id:t.lifecycle.session_id,signer_set_id:t.lifecycle.signer_set_id,selected_server_id:t.lifecycle.selected_server_id},operation:`registration`,session_id:t.session_id,stable_key_context_binding:t.stable_key_context_binding,material_activation:t.material_activation};case`recovery`:if(t.lifecycle.work_kind!==O||t.lifecycle.primitive_request_kind!==Ae)throw Error(`activation binding has the wrong recovery lifecycle kind`);return{lifecycle:{lifecycle_id:t.lifecycle.lifecycle_id,work_kind:O,primitive_request_kind:Ae,root_share_epoch:t.lifecycle.root_share_epoch,account_id:t.lifecycle.account_id,session_id:t.lifecycle.session_id,signer_set_id:t.lifecycle.signer_set_id,selected_server_id:t.lifecycle.selected_server_id},operation:`recovery`,session_id:t.session_id,stable_key_context_binding:t.stable_key_context_binding,material_activation:t.material_activation};case`refresh`:case`export`:case`lane_provisioning`:case`lane_refresh`:throw Error(`activation binding has a non-activation operation`)}}function Ue(e){let t=u(e,`keyset`);j(t,`keyset`,[`deriver_a_input_public_key`,`deriver_b_input_public_key`,`signing_worker_recipient_public_key`]);let n={deriver_a_input_public_key:S(t.deriver_a_input_public_key,`keyset.deriver_a_input_public_key`,!0),deriver_b_input_public_key:S(t.deriver_b_input_public_key,`keyset.deriver_b_input_public_key`,!0),signing_worker_recipient_public_key:S(t.signing_worker_recipient_public_key,`keyset.signing_worker_recipient_public_key`,!0)};if(C(n.deriver_a_input_public_key,n.deriver_b_input_public_key)||C(n.deriver_a_input_public_key,n.signing_worker_recipient_public_key)||C(n.deriver_b_input_public_key,n.signing_worker_recipient_public_key))throw Error(`keyset public keys must be distinct`);return n}function R(e,t){let n=u(e,t);j(n,t,[`kind`,`deriver`,`operation`,`session`,`stable_context_binding`,`encapsulated_key`,`ciphertext`]);let r={kind:Fe(n.kind,`${t}.kind`),deriver:Pe(n.deriver,`${t}.deriver`),operation:Ne(n.operation,`${t}.operation`),session:S(n.session,`${t}.session`,!0),stable_context_binding:S(n.stable_context_binding,`${t}.stable_context_binding`,!0),encapsulated_key:S(n.encapsulated_key,`${t}.encapsulated_key`,!0),ciphertext:se(n.ciphertext,`${t}.ciphertext`,16,Ce)};if(r.kind===`activation`&&r.operation===`export`||r.kind===`export`&&r.operation!==`export`)throw Error(`${t} operation does not match its circuit family`);return r}function We(e,t,n,r){if(t.kind!==`activation`||t.deriver!==n||t.operation!==e.operation||!C(t.session,e.session_id)||!C(t.stable_context_binding,e.stable_key_context_binding))throw Error(`${r} does not match the admitted activation binding`);switch(e.operation){case`registration`:return{kind:`activation`,deriver:n,operation:`registration`,session:t.session,stable_context_binding:t.stable_context_binding,encapsulated_key:t.encapsulated_key,ciphertext:t.ciphertext};case`recovery`:return{kind:`activation`,deriver:n,operation:`recovery`,session:t.session,stable_context_binding:t.stable_context_binding,encapsulated_key:t.encapsulated_key,ciphertext:t.ciphertext}}}function Ge(e,t,n,r){if(t.kind!==`export`||t.deriver!==n||t.operation!==`export`||!C(t.session,e.ceremony.session_id)||!C(t.stable_context_binding,e.ceremony.stable_key_context_binding))throw Error(`${r} does not match the admitted export binding`);return{kind:`export`,deriver:n,operation:`export`,session:t.session,stable_context_binding:t.stable_context_binding,encapsulated_key:t.encapsulated_key,ciphertext:t.ciphertext}}function z(e,t){let n=u(e,t);return j(n,t,[`kind`,`deriver`,`session`,`transcript`,`encapsulated_key`,`ciphertext`]),{kind:Ie(n.kind,`${t}.kind`),deriver:Pe(n.deriver,`${t}.deriver`),session:S(n.session,`${t}.session`,!0),transcript:S(n.transcript,`${t}.transcript`,!0),encapsulated_key:S(n.encapsulated_key,`${t}.encapsulated_key`,!0),ciphertext:se(n.ciphertext,`${t}.ciphertext`,16,Ce)}}function B(e){let t=u(e,`public_receipt`);return j(t,`public_receipt`,[`transcript`,`registered_public_key`,`joined_client_commitment`,`joined_signing_worker_commitment`,`signing_worker_verifying_share`,`state_epoch`,`material_activation`]),{transcript:S(t.transcript,`public_receipt.transcript`,!0),registered_public_key:S(t.registered_public_key,`public_receipt.registered_public_key`,!0),joined_client_commitment:S(t.joined_client_commitment,`public_receipt.joined_client_commitment`,!0),joined_signing_worker_commitment:S(t.joined_signing_worker_commitment,`public_receipt.joined_signing_worker_commitment`,!0),signing_worker_verifying_share:S(t.signing_worker_verifying_share,`public_receipt.signing_worker_verifying_share`,!0),state_epoch:Me(t.state_epoch,`public_receipt.state_epoch`),material_activation:_(t.material_activation)}}function Ke(e,t,n,r,i){if(n.kind!==`activation_client`||n.deriver!==r||!C(n.session,e.session_id)||!C(n.transcript,t.transcript))throw Error(`${i} does not match the terminal activation receipt`);return{kind:`activation_client`,deriver:r,session:n.session,transcript:n.transcript,encapsulated_key:n.encapsulated_key,ciphertext:n.ciphertext}}function qe(e,t,n,r,i){if(n.kind!==`export_client`||n.deriver!==r||!C(n.session,e.ceremony.session_id)||!C(n.transcript,t))throw Error(`${i} does not match the terminal export result`);return{kind:`export_client`,deriver:r,session:n.session,transcript:n.transcript,encapsulated_key:n.encapsulated_key,ciphertext:n.ciphertext}}function V(e,t){try{return{ok:!0,value:e(t)}}catch(e){return{ok:!1,code:`invalid_body`,message:e instanceof Error?e.message:String(e)}}}function Je(e){let t=u(e,`registration admission request`);return j(t,`registration admission request`,[`scope`,`application_binding`,`participant_ids`]),{scope:ze(t.scope),application_binding:M(t.application_binding),participant_ids:N(t.participant_ids)}}function Ye(e){let t=u(e,`recovery admission request`);j(t,`recovery admission request`,[`scope`,`active_material_activation`,`application_binding`,`participant_ids`,`active_capability_binding`,`replacement_capability_binding`,`registered_public_key`]);let n=S(t.active_capability_binding,`recovery admission request.active_capability_binding`,!0),r=S(t.replacement_capability_binding,`recovery admission request.replacement_capability_binding`,!0);if(C(n,r))throw Error(`recovery replacement capability binding must be fresh`);let i=ze(t.scope),a=_(t.active_material_activation),o=i.material_activation;if(a.activation_id===o.activation_id||a.lifecycle_binding===o.lifecycle_binding)throw Error(`recovery replacement material activation identity must be fresh`);if(a.capability!==o.capability||a.material_owner!==o.material_owner||a.key_binding!==o.key_binding||a.signing_worker!==o.signing_worker)throw Error(`recovery replacement material activation changed stable identity facts`);return{scope:i,active_material_activation:a,application_binding:M(t.application_binding),participant_ids:N(t.participant_ids),active_capability_binding:n,replacement_capability_binding:r,registered_public_key:S(t.registered_public_key,`recovery admission request.registered_public_key`,!0)}}function Xe(e){let t=u(e,`warm recovery bootstrap request`);if(j(t,`warm recovery bootstrap request`,[`kind`,`walletId`,`nearAccountId`,`nearEd25519SigningKeyId`,`signerSlot`,`thresholdSessionId`,`signingWorkerId`,`participantIds`]),t.kind!==`router_ab_ed25519_yao_warm_recovery_bootstrap_request_v1`)throw Error(`warm recovery bootstrap request.kind is invalid`);return{kind:`router_ab_ed25519_yao_warm_recovery_bootstrap_request_v1`,walletId:x(t.walletId,`warm recovery bootstrap request.walletId`),nearAccountId:x(t.nearAccountId,`warm recovery bootstrap request.nearAccountId`),nearEd25519SigningKeyId:x(t.nearEd25519SigningKeyId,`warm recovery bootstrap request.nearEd25519SigningKeyId`),signerSlot:Me(t.signerSlot,`warm recovery bootstrap request.signerSlot`),thresholdSessionId:x(t.thresholdSessionId,`warm recovery bootstrap request.thresholdSessionId`),signingWorkerId:x(t.signingWorkerId,`warm recovery bootstrap request.signingWorkerId`),participantIds:N(t.participantIds)}}function Ze(e){let t=u(e,`export admission receipt`);return j(t,`export admission receipt`,[`binding`,`keyset`]),{binding:I(t.binding),keyset:Ue(t.keyset)}}function Qe(e){let t=u(e,`export execute request`);j(t,`export execute request`,[`binding`,`deriver_a_input`,`deriver_b_input`]);let n=I(t.binding);return{binding:n,deriver_a_input:Ge(n,R(t.deriver_a_input,`deriver_a_input`),`deriver_a`,`deriver_a_input`),deriver_b_input:Ge(n,R(t.deriver_b_input,`deriver_b_input`),`deriver_b`,`deriver_b_input`)}}function $e(e){let t=u(e,`export result`);j(t,`export result`,[`binding`,`transcript`,`deriver_a_client_package`,`deriver_b_client_package`]);let n=I(t.binding),r=S(t.transcript,`export result.transcript`,!0);return{binding:n,transcript:r,deriver_a_client_package:qe(n,r,z(t.deriver_a_client_package,`deriver_a_client_package`),`deriver_a`,`deriver_a_client_package`),deriver_b_client_package:qe(n,r,z(t.deriver_b_client_package,`deriver_b_client_package`),`deriver_b`,`deriver_b_client_package`)}}function et(e){let t=u(e,`activation admission receipt`);j(t,`activation admission receipt`,[`binding`,`keyset`]);let n=L(t.binding),r=Ue(t.keyset);switch(n.operation){case`registration`:return{binding:n,keyset:r};case`recovery`:return{binding:n,keyset:r}}}function tt(e){let t=u(e,`activation execute request`);j(t,`activation execute request`,[`binding`,`deriver_a_input`,`deriver_b_input`]);let n=L(t.binding),r=We(n,R(t.deriver_a_input,`deriver_a_input`),`deriver_a`,`deriver_a_input`),i=We(n,R(t.deriver_b_input,`deriver_b_input`),`deriver_b`,`deriver_b_input`);if(n.operation===`registration`){if(r.operation!==`registration`||i.operation!==`registration`)throw Error(`activation inputs do not match registration binding`);return{binding:n,deriver_a_input:r,deriver_b_input:i}}if(r.operation!==`recovery`||i.operation!==`recovery`)throw Error(`activation inputs do not match recovery binding`);return{binding:n,deriver_a_input:r,deriver_b_input:i}}function nt(e){let t=u(e,`activation result`);j(t,`activation result`,[`binding`,`deriver_a_client_package`,`deriver_b_client_package`,`public_receipt`]);let n=L(t.binding),r=B(t.public_receipt);if(!y(n.material_activation,r.material_activation))throw Error(`activation result receipt material does not match the admitted binding`);let i=z(t.deriver_a_client_package,`deriver_a_client_package`),a=z(t.deriver_b_client_package,`deriver_b_client_package`),o=Ke(n,r,i,`deriver_a`,`deriver_a_client_package`),s=Ke(n,r,a,`deriver_b`,`deriver_b_client_package`);switch(n.operation){case`registration`:return{binding:n,deriver_a_client_package:o,deriver_b_client_package:s,public_receipt:r};case`recovery`:return{binding:n,deriver_a_client_package:o,deriver_b_client_package:s,public_receipt:r}}}function rt(e){let t=L(e);switch(t.operation){case`registration`:throw Error(`recovery activation requires a recovery binding`);case`recovery`:return t}}function it(e){let t=u(e,`recovery activation receipt`);j(t,`recovery activation receipt`,[`binding`,`public_receipt`,`active_capability_binding`,`retired_capability_binding`]);let n=S(t.active_capability_binding,`recovery activation receipt.active_capability_binding`,!0),r=S(t.retired_capability_binding,`recovery activation receipt.retired_capability_binding`,!0);if(C(n,r))throw Error(`recovery activation receipt capability bindings must be distinct`);return{binding:rt(t.binding),public_receipt:B(t.public_receipt),active_capability_binding:n,retired_capability_binding:r}}function at(e,t){return e.binding.operation===t}function ot(e,t){return e.binding.operation===t}function st(e,t){return e.binding.operation===t}function H(e){return{ok:!1,code:`invalid_body`,message:`activation value must use the ${e} operation`}}function ct(e){return V(Je,e)}function lt(e){return V(Ye,e)}function ut(e){return V(Xe,e)}function dt(e){return V(Ze,e)}function ft(e){return V(Qe,e)}function pt(e){return V($e,e)}function mt(e){return V(et,e)}function ht(e){let t=mt(e);return t.ok?at(t.value,`registration`)?{ok:!0,value:t.value}:H(`registration`):t}function gt(e){let t=mt(e);return t.ok?at(t.value,`recovery`)?{ok:!0,value:t.value}:H(`recovery`):t}function _t(e){return V(tt,e)}function vt(e){let t=_t(e);return t.ok?ot(t.value,`registration`)?{ok:!0,value:t.value}:H(`registration`):t}function yt(e){let t=_t(e);return t.ok?ot(t.value,`recovery`)?{ok:!0,value:t.value}:H(`recovery`):t}function bt(e){return V(nt,e)}function xt(e){let t=bt(e);return t.ok?st(t.value,`registration`)?{ok:!0,value:t.value}:H(`registration`):t}function St(e){let t=bt(e);return t.ok?st(t.value,`recovery`)?{ok:!0,value:t.value}:H(`recovery`):t}function Ct(e){return V(it,e)}function wt(e){return V(Tt,e)}function Tt(e){return z(e,`encrypted_package`)}const Et=`seams/linked-device/ecdsa-source-contribution-envelope/v1`;function Dt(e){let t=c(e,`linked-device ordinary source contribution`);switch(t.kind){case`linked_device_ed25519_source_contribution_v1`:return Pt(t);case`linked_device_ecdsa_source_contribution_v1`:return Ft(t);default:throw Error(`linked-device ordinary source contribution kind is invalid`)}}function Ot(e){let t=Q(e,[`state`,`reservation_id`,`participant_ids`,`activation_receipt`,`deriver_a_client_package`,`deriver_b_client_package`],`linked-device Ed25519 source-preserving reservation`);if(t.state!==`inactive`)throw Error(`linked-device Ed25519 source-preserving reservation is not inactive`);let n=B(t.activation_receipt),r=P(t.participant_ids),i=U(t.deriver_a_client_package,`deriver_a`),a=U(t.deriver_b_client_package,`deriver_b`);if(!E(n.transcript,i.transcript)||!E(n.transcript,a.transcript))throw Error(`linked-device Ed25519 reservation packages have mismatched transcripts`);return{state:`inactive`,reservationId:Z(t.reservation_id,`reservation_id`),participantIds:r,activationReceipt:n,deriver_a_client_package:i,deriver_b_client_package:a}}function kt(e){if(!Array.isArray(e)||e.length===0||e.length>2)throw Error(`linked-device ordinary source contributions must contain one or two entries`);let t=e.map(Dt),n=t.map(e=>e.keyFamily);if(new Set(n).size!==n.length)throw Error(`linked-device ordinary source contributions repeat a key family`);if(t.length===2&&(t[0]?.keyFamily!==`ed25519`||t[1]?.keyFamily!==`ecdsa_secp256k1`))throw Error(`linked-device ordinary source contributions must be Ed25519 then ECDSA`);let r=t[0];if(!r)throw Error(`linked-device ordinary source contributions are empty`);return[r,...t.slice(1)]}function At(e){let t=Q(e,[`linkSessionId`,`enrollmentId`,`sourceAuthorityId`,`source`,`target`],`linked-device ECDSA source contribution preparation`),n=Ut(t.source),r=Wt(t.target);return Zt(n.activation,r.activation),{linkSessionId:G(t.linkSessionId),enrollmentId:K(t.enrollmentId),sourceAuthorityId:q(t.sourceAuthorityId),source:n,target:r}}function jt(e){let t=c(e,`linked-device ordinary source contribution preparation`);if(t.kind===`linked_device_ed25519_source_contribution_preparation_v1`)return Nt(t);if(Object.prototype.hasOwnProperty.call(t,`source`)&&Object.prototype.hasOwnProperty.call(t,`target`))return At(t);throw Error(`linked-device ordinary source contribution preparation family is invalid`)}function Mt(e){if(!Array.isArray(e)||e.length===0||e.length>2)throw Error(`linked-device ordinary source contribution preparations must contain one or two entries`);let t=e.map(jt),n=t.map(e=>`kind`in e?`ed25519`:`ecdsa_secp256k1`);if(new Set(n).size!==n.length)throw Error(`linked-device ordinary source contribution preparations repeat a key family`);if(t.length===2&&(n[0]!==`ed25519`||n[1]!==`ecdsa_secp256k1`))throw Error(`linked-device ordinary source contribution preparations must be ordered Ed25519 then ECDSA`);let r=t[0];if(!r)throw Error(`linked-device ordinary source contribution preparation is empty`);return[r,...t.slice(1)]}function Nt(e){if(Q(e,[`kind`,`linkSessionId`,`enrollmentId`,`sourceAuthorityId`,`walletKeyId`,`targetDeviceId`,`targetFactorVerificationDigestB64u`,`sourceBinding`,`targetAdmission`,`applicationBinding`,`sourceRevocationEpoch`,`participantIds`,`targetMaterialActivation`,`targetClientRecipientPublicKeyB64u`,`targetSigningWorkerRecipientPublicKeyB64u`,`sourceRegisteredPublicKeyB64u`],`linked-device Ed25519 source contribution preparation`),e.kind!==`linked_device_ed25519_source_contribution_preparation_v1`)throw Error(`linked-device Ed25519 source contribution preparation kind is invalid`);let t=L(e.sourceBinding),n=ht(e.targetAdmission);if(!n.ok)throw Error(`targetAdmission ${n.message}`);let r=n.value,i=M(e.applicationBinding);if(typeof e.sourceRevocationEpoch!=`number`||!Number.isSafeInteger(e.sourceRevocationEpoch)||e.sourceRevocationEpoch<0)throw Error(`sourceRevocationEpoch must be a non-negative safe integer`);let a=W(e.targetMaterialActivation,`targetMaterialActivation`),s=G(e.linkSessionId),c=K(e.enrollmentId),l=q(e.sourceAuthorityId),u=$t(e.walletKeyId),d=J(e.targetDeviceId),f=Y(e.targetFactorVerificationDigestB64u,`targetFactorVerificationDigestB64u`),p=X(e.targetClientRecipientPublicKeyB64u,32,`targetClientRecipientPublicKeyB64u`),m=X(e.targetSigningWorkerRecipientPublicKeyB64u,32,`targetSigningWorkerRecipientPublicKeyB64u`);if(p===m)throw Error(`linked-device Ed25519 source contribution recipients must differ`);let h=P(e.participantIds);if(Jt(t,s,`sourceBinding`),!o(a,v(r.binding.material_activation)))throw Error(`targetAdmission activation differs from targetMaterialActivation`);if(!Yt(t,r.binding))throw Error(`source and target Ed25519 contribution bindings differ`);if(t.material_activation.activation_id===a.activationId)throw Error(`source and target Ed25519 contribution activations must differ`);return{kind:`linked_device_ed25519_source_contribution_preparation_v1`,linkSessionId:s,enrollmentId:c,sourceAuthorityId:l,walletKeyId:u,targetDeviceId:d,targetFactorVerificationDigestB64u:f,sourceBinding:t,targetAdmission:r,applicationBinding:i,sourceRevocationEpoch:e.sourceRevocationEpoch,participantIds:h,targetMaterialActivation:a,targetClientRecipientPublicKeyB64u:p,targetSigningWorkerRecipientPublicKeyB64u:m,sourceRegisteredPublicKeyB64u:ee(e.sourceRegisteredPublicKeyB64u,`sourceRegisteredPublicKeyB64u`)}}function Pt(e){if(Q(e,[`kind`,`keyFamily`,`linkSessionId`,`enrollmentId`,`sourceAuthorityId`,`walletKeyId`,`targetDeviceId`,`targetFactorVerificationDigestB64u`,`targetMaterialActivation`,`targetClientRecipientPublicKeyB64u`,`targetSigningWorkerRecipientPublicKeyB64u`,`sourceBinding`,`reservationId`,`targetBinding`,`activationReceipt`,`participantIds`,`deriver_a_client_package`,`deriver_b_client_package`,`sourceRegisteredPublicKeyB64u`],`linked-device Ed25519 source contribution`),e.kind!==`linked_device_ed25519_source_contribution_v1`)throw Error(`linked-device Ed25519 source contribution kind is invalid`);if(e.keyFamily!==`ed25519`)throw Error(`linked-device Ed25519 source contribution family is invalid`);let t=L(e.sourceBinding),n=W(e.targetMaterialActivation,`source contribution targetMaterialActivation`),r=Kt(e.targetBinding,`targetBinding`),i=B(e.activationReceipt),a=Z(e.reservationId,`reservationId`),s=P(e.participantIds),c=G(e.linkSessionId),l=K(e.enrollmentId),u=q(e.sourceAuthorityId),d=$t(e.walletKeyId),f=J(e.targetDeviceId),p=Y(e.targetFactorVerificationDigestB64u,`targetFactorVerificationDigestB64u`),h=X(e.targetClientRecipientPublicKeyB64u,32,`targetClientRecipientPublicKeyB64u`),te=X(e.targetSigningWorkerRecipientPublicKeyB64u,32,`targetSigningWorkerRecipientPublicKeyB64u`);if(h===te)throw Error(`linked-device Ed25519 source contribution recipients must differ`);if(Jt(t,c,`sourceBinding`),qt(r,c,n,`targetBinding`),!Yt(t,r))throw Error(`linked-device Ed25519 source contribution stable identity differs`);if(!o(v(i.material_activation),n))throw Error(`linked-device Ed25519 source contribution receipt activation differs`);let g=ee(e.sourceRegisteredPublicKeyB64u,`sourceRegisteredPublicKeyB64u`);if(!E(i.registered_public_key,Array.from(m(g))))throw Error(`linked-device Ed25519 source contribution receipt public key differs`);let ne=U(e.deriver_a_client_package,`deriver_a`),_=U(e.deriver_b_client_package,`deriver_b`);if(!E(i.transcript,ne.transcript)||!E(i.transcript,_.transcript))throw Error(`linked-device Ed25519 source contribution package transcript differs`);if(t.material_activation.activation_id===n.activationId)throw Error(`linked-device Ed25519 source contribution reuses the source activation`);return{kind:`linked_device_ed25519_source_contribution_v1`,keyFamily:`ed25519`,linkSessionId:c,enrollmentId:l,sourceAuthorityId:u,walletKeyId:d,targetDeviceId:f,targetFactorVerificationDigestB64u:p,targetMaterialActivation:n,targetClientRecipientPublicKeyB64u:h,targetSigningWorkerRecipientPublicKeyB64u:te,sourceBinding:t,reservationId:a,targetBinding:r,activationReceipt:i,participantIds:s,deriver_a_client_package:ne,deriver_b_client_package:_,sourceRegisteredPublicKeyB64u:g}}function Ft(e){if(Q(e,[`kind`,`keyFamily`,`linkSessionId`,`enrollmentId`,`sourceAuthorityId`,`walletKeyId`,`targetDeviceId`,`targetFactorVerificationDigestB64u`,`sourceSigner`,`sourceDerivation`,`target`,`package`],`linked-device ECDSA source contribution`),e.kind!==`linked_device_ecdsa_source_contribution_v1`)throw Error(`linked-device ECDSA source contribution kind is invalid`);if(e.keyFamily!==`ecdsa_secp256k1`)throw Error(`linked-device ECDSA source contribution family is invalid`);let t=G(e.linkSessionId),n=K(e.enrollmentId),r=q(e.sourceAuthorityId),i=$t(e.walletKeyId),a=J(e.targetDeviceId),o=Y(e.targetFactorVerificationDigestB64u,`targetFactorVerificationDigestB64u`),s=Ut(e.sourceSigner),c=It(e.sourceDerivation),l=Wt(e.target);Zt(s.activation,l.activation);let u=Vt(e.package);if(u.binding.linkSessionId!==t||u.binding.enrollmentId!==n||u.binding.sourceAuthorityId!==r||u.binding.target.targetDeviceId!==a||u.binding.target.targetFactorVerificationDigestB64u!==o)throw Error(`linked-device ECDSA source contribution package binding differs`);if(!Xt(u.binding.source,s))throw Error(`linked-device ECDSA source contribution signer differs from package binding`);if(!Qt(u.binding.target,l))throw Error(`linked-device ECDSA source contribution target differs from package binding`);return{kind:`linked_device_ecdsa_source_contribution_v1`,keyFamily:`ecdsa_secp256k1`,linkSessionId:t,enrollmentId:n,sourceAuthorityId:r,walletKeyId:i,targetDeviceId:a,targetFactorVerificationDigestB64u:o,sourceSigner:s,sourceDerivation:c,target:l,package:u}}function It(e){let t=Q(e,[`applicationBindingDigestB64u`,`clientShareRetryCounter`,`ecdsaThresholdKeyId`,`sourceNormalSigning`],`linked-device ECDSA source derivation`),n=t.clientShareRetryCounter;if(typeof n!=`number`||!Number.isSafeInteger(n)||n<0)throw Error(`linked-device ECDSA source derivation retry counter is invalid`);let r=Y(t.applicationBindingDigestB64u,`sourceDerivation.applicationBindingDigestB64u`),i=ie(t.sourceNormalSigning),a=re(t.ecdsaThresholdKeyId);if(i.scope.context.application_binding_digest_b64u!==r||i.scope.public_identity.client_share_retry_counter!==n||i.scope.ecdsa_threshold_key_id!==a)throw Error(`linked-device ECDSA source derivation differs from normal signing`);return{applicationBindingDigestB64u:r,clientShareRetryCounter:n,ecdsaThresholdKeyId:a,sourceNormalSigning:i}}function Lt(e){let t=Q(e,[`state`,`binding`,`sourceDerivation`,`targetRelayerPublicKey33B64u`,`thresholdPublicKey33B64u`,`thresholdEthereumAddress20B64u`,`normalSigning`],`linked-device ECDSA source-preserving activation receipt`);if(t.state!==`inactive`)throw Error(`linked-device ECDSA source-preserving activation receipt is not inactive`);let n=Ht(t.binding),r=It(t.sourceDerivation),i=f(t.targetRelayerPublicKey33B64u,`targetRelayerPublicKey33B64u`),a=f(t.thresholdPublicKey33B64u,`thresholdPublicKey33B64u`),o=X(t.thresholdEthereumAddress20B64u,20,`thresholdEthereumAddress20B64u`),s=ie(t.normalSigning);return Rt({binding:n,sourceDerivation:r,targetRelayerPublicKey33B64u:i,thresholdPublicKey33B64u:a,thresholdEthereumAddress20B64u:o,normalSigning:s}),{state:`inactive`,binding:n,sourceDerivation:r,targetRelayerPublicKey33B64u:i,thresholdPublicKey33B64u:a,thresholdEthereumAddress20B64u:o,normalSigning:s}}function Rt(e){let t=e.sourceDerivation.sourceNormalSigning.scope,n=e.normalSigning.scope;if(!o(v(t.material_activation),e.binding.source.activation)||!o(v(n.material_activation),e.binding.target.activation)||t.wallet_id!==n.wallet_id||t.wallet_id!==e.binding.source.activation.materialOwner||n.wallet_id!==e.binding.target.activation.materialOwner||t.ecdsa_threshold_key_id!==n.ecdsa_threshold_key_id||t.signing_root_id!==n.signing_root_id||t.signing_root_version!==n.signing_root_version||t.context.application_binding_digest_b64u!==n.context.application_binding_digest_b64u||t.activation_epoch!==n.activation_epoch||t.public_identity.derivation_client_share_public_key33_b64u!==e.binding.source.clientPublicKey33B64u||t.public_identity.server_public_key33_b64u!==e.binding.source.relayerPublicKey33B64u||t.public_identity.threshold_public_key33_b64u!==e.binding.source.thresholdPublicKey33B64u||t.public_identity.ethereum_address20_b64u!==e.binding.source.thresholdEthereumAddress20B64u||n.public_identity.context_binding_b64u!==t.public_identity.context_binding_b64u||n.public_identity.derivation_client_share_public_key33_b64u!==e.binding.targetClientPublicKey33B64u||n.public_identity.server_public_key33_b64u!==e.targetRelayerPublicKey33B64u||n.public_identity.threshold_public_key33_b64u!==e.thresholdPublicKey33B64u||n.public_identity.ethereum_address20_b64u!==e.thresholdEthereumAddress20B64u||n.public_identity.client_share_retry_counter!==t.public_identity.client_share_retry_counter||n.public_identity.server_share_retry_counter!==t.public_identity.server_share_retry_counter||n.signing_worker.server_id!==e.binding.target.activation.signingWorker||n.signing_worker.key_epoch!==t.signing_worker.key_epoch||n.signing_worker.recipient_encryption_key!==zt(e.binding.target.signingWorkerRecipientPublicKeyB64u))throw Error(`linked-device ECDSA normal signing state differs from its activation receipt`)}function zt(e){let t=m(e);if(t.length!==32||p(t)!==e)throw Error(`linked-device signing-worker recipient key is invalid`);let n=``;for(let e of t)n+=e.toString(16).padStart(2,`0`);return`x25519:${n}`}function U(e,t){let n=Bt(e,`${t} client package`);if(n.kind!==`activation_client`||n.deriver!==t)throw Error(`${t} client package is not an activation client package`);return t===`deriver_a`?{kind:`activation_client`,deriver:`deriver_a`,session:n.session,transcript:n.transcript,encapsulated_key:n.encapsulated_key,ciphertext:n.ciphertext}:{kind:`activation_client`,deriver:`deriver_b`,session:n.session,transcript:n.transcript,encapsulated_key:n.encapsulated_key,ciphertext:n.ciphertext}}function Bt(e,t){let n=wt(e);if(!n.ok)throw Error(`${t} ${n.message}`);return n.value}function Vt(e){let t=Q(e,[`binding`,`encryptedDelta`,`encryptedTargetClientShare`],`linked-device ECDSA source contribution package`),n=Ht(t.binding),r=Gt(t.encryptedDelta,`encryptedDelta`),i=Gt(t.encryptedTargetClientShare,`encryptedTargetClientShare`),a=r.bindingDigestB64u;if(i.bindingDigestB64u!==a)throw Error(`linked-device ECDSA source contribution envelope bindings differ`);if(r.recipientPublicKeyB64u!==n.target.signingWorkerRecipientPublicKeyB64u||i.recipientPublicKeyB64u!==n.target.clientRecipientPublicKeyB64u)throw Error(`linked-device ECDSA source contribution envelope recipients differ`);return{binding:n,encryptedDelta:r,encryptedTargetClientShare:i}}function Ht(e){let t=Q(e,[`linkSessionId`,`enrollmentId`,`sourceAuthorityId`,`source`,`target`,`targetClientPublicKey33B64u`],`linked-device ECDSA source contribution binding`),n=Ut(t.source),r=Wt(t.target);return Zt(n.activation,r.activation),{linkSessionId:Z(t.linkSessionId,`binding.linkSessionId`),enrollmentId:Z(t.enrollmentId,`binding.enrollmentId`),sourceAuthorityId:Z(t.sourceAuthorityId,`binding.sourceAuthorityId`),source:n,target:r,targetClientPublicKey33B64u:f(t.targetClientPublicKey33B64u,`binding.targetClientPublicKey33B64u`)}}function Ut(e){let t=Q(e,[`activation`,`clientPublicKey33B64u`,`relayerPublicKey33B64u`,`thresholdPublicKey33B64u`,`thresholdEthereumAddress20B64u`],`linked-device ECDSA source signer`);return{activation:W(t.activation,`source.activation`),clientPublicKey33B64u:f(t.clientPublicKey33B64u,`source.clientPublicKey33B64u`),relayerPublicKey33B64u:f(t.relayerPublicKey33B64u,`source.relayerPublicKey33B64u`),thresholdPublicKey33B64u:f(t.thresholdPublicKey33B64u,`source.thresholdPublicKey33B64u`),thresholdEthereumAddress20B64u:X(t.thresholdEthereumAddress20B64u,20,`source.thresholdEthereumAddress20B64u`)}}function Wt(e){let t=Q(e,[`activation`,`targetDeviceId`,`targetFactorVerificationDigestB64u`,`clientRecipientPublicKeyB64u`,`signingWorkerRecipientPublicKeyB64u`],`linked-device ECDSA target recipient`),n=X(t.clientRecipientPublicKeyB64u,32,`target.clientRecipientPublicKeyB64u`),r=X(t.signingWorkerRecipientPublicKeyB64u,32,`target.signingWorkerRecipientPublicKeyB64u`);if(n===r)throw Error(`linked-device ECDSA target recipients must differ`);return{activation:W(t.activation,`target.activation`),targetDeviceId:J(t.targetDeviceId),targetFactorVerificationDigestB64u:Y(t.targetFactorVerificationDigestB64u,`target.targetFactorVerificationDigestB64u`),clientRecipientPublicKeyB64u:n,signingWorkerRecipientPublicKeyB64u:r}}function Gt(e,t){let n=Q(e,[`kind`,`recipientPublicKeyB64u`,`bindingDigestB64u`,`encappedKeyB64u`,`ciphertextB64u`],`linked-device ECDSA ${t}`);if(n.kind!==Et)throw Error(`${t}.kind is invalid`);return{kind:Et,recipientPublicKeyB64u:X(n.recipientPublicKeyB64u,32,`${t}.recipientPublicKeyB64u`),bindingDigestB64u:Y(n.bindingDigestB64u,`${t}.bindingDigestB64u`),encappedKeyB64u:X(n.encappedKeyB64u,32,`${t}.encappedKeyB64u`),ciphertextB64u:d(n.ciphertextB64u,`${t}.ciphertextB64u`)}}function Kt(e,t){let n=L(e);if(n.operation!==`registration`)throw Error(`${t} must use the registration operation`);return n}function qt(e,t,n,r){if(e.material_activation.activation_id!==n.activationId)throw Error(`${r} activation does not match the target activation`);if(e.material_activation.material_owner!==n.materialOwner)throw Error(`${r} material owner does not match the target activation`);if(e.material_activation.signing_worker!==n.signingWorker)throw Error(`${r} signing worker does not match the target activation`);if(e.session_id.length!==32||String(t).length===0)throw Error(`${r} link binding is invalid`)}function Jt(e,t,n){if(e.session_id.length!==32||String(t).length===0)throw Error(`${n} link binding is invalid`)}function Yt(e,t){return e.stable_key_context_binding.every((e,n)=>e===t.stable_key_context_binding[n])&&e.material_activation.capability===t.material_activation.capability&&e.material_activation.material_owner===t.material_activation.material_owner&&e.material_activation.key_binding===t.material_activation.key_binding&&e.material_activation.lifecycle_binding===t.material_activation.lifecycle_binding&&e.material_activation.signing_worker===t.material_activation.signing_worker&&e.lifecycle.root_share_epoch===t.lifecycle.root_share_epoch&&e.lifecycle.account_id===t.lifecycle.account_id&&e.lifecycle.signer_set_id===t.lifecycle.signer_set_id&&e.lifecycle.selected_server_id===t.lifecycle.selected_server_id}function Xt(e,t){return o(e.activation,t.activation)&&e.clientPublicKey33B64u===t.clientPublicKey33B64u&&e.relayerPublicKey33B64u===t.relayerPublicKey33B64u&&e.thresholdPublicKey33B64u===t.thresholdPublicKey33B64u&&e.thresholdEthereumAddress20B64u===t.thresholdEthereumAddress20B64u}function Zt(e,t){if(o(e,t)||e.materialOwner!==t.materialOwner||e.signingWorker!==t.signingWorker)throw Error(`linked-device ECDSA source and target activations are invalid`)}function Qt(e,t){return o(e.activation,t.activation)&&e.targetDeviceId===t.targetDeviceId&&e.targetFactorVerificationDigestB64u===t.targetFactorVerificationDigestB64u&&e.clientRecipientPublicKeyB64u===t.clientRecipientPublicKeyB64u&&e.signingWorkerRecipientPublicKeyB64u===t.signingWorkerRecipientPublicKeyB64u}function W(e,t){let n=r(e);if(!n.ok)throw Error(`${t} ${n.error.message}`);return n.value}function G(e){let t=a(Z(e,`linkSessionId`));if(!t.ok)throw Error(`linkSessionId ${t.error.message}`);return t.value}function K(e){let t=s(Z(e,`enrollmentId`));if(!t.ok)throw Error(`enrollmentId ${t.error.message}`);return t.value}function q(t){let n=e(Z(t,`sourceAuthorityId`));if(!n.ok)throw Error(`sourceAuthorityId ${n.error.message}`);return n.value}function $t(e){let t=i(Z(e,`walletKeyId`));if(!t.ok)throw Error(`walletKeyId ${t.error.message}`);return t.value}function J(e){let t=h(Z(e,`targetDeviceId`));if(!t.ok)throw Error(`targetDeviceId ${t.error.message}`);return t.value}function Y(e,t){try{return te(e)}catch(e){throw Error(`${t} ${e instanceof Error?e.message:`is invalid`}`)}}function X(e,t,n){if(typeof e!=`string`||!/^[A-Za-z0-9_-]+$/.test(e))throw Error(`${n} must be canonical base64url`);let r;try{r=m(e)}catch{throw Error(`${n} must be canonical base64url`)}if(r.length!==t||p(r)!==e)throw Error(`${n} must decode to ${t} bytes`);return e}function Z(e,t){if(typeof e!=`string`||e.length===0||e.trim()!==e||[...e].some(e=>{let t=e.charCodeAt(0);return t<32||t===127}))throw Error(`${t} must be a non-empty visible string`);return e}function Q(e,t,n){let r=c(e,n),i=new Set(t),a=Object.keys(r);if(a.length!==t.length||a.some(e=>!i.has(e))||t.some(e=>!Object.prototype.hasOwnProperty.call(r,e)))throw Error(`${n} contains unknown or missing fields`);return r}function en(e){return!e||typeof e!=`object`||Array.isArray(e)?null:e}function $(e){return typeof e==`string`?e.trim():``}function tn(e,t){let n=$(e);return n?{ok:!0,value:n}:{ok:!1,error:{code:`missing`,message:`${t} is required`}}}function nn(e){let t=typeof e==`number`?e:Number(e);return!Number.isSafeInteger(t)||t<1?{ok:!1,error:{code:`invalid`,message:`signerSlot must be an integer >= 1`}}:{ok:!0,value:t}}function rn(e){return{ok:!1,error:{code:`invalid`,message:`${e} must be an object`}}}function an(e){let n=t(e);return n.ok?{ok:!0,value:n.value}:{ok:!1,error:n.error}}function on(e){let t=en(e);if(!t)return rn(`WalletIdentity`);let r=n(t.walletId);return r.ok?{ok:!0,value:{walletId:r.value}}:{ok:!1,error:r.error}}function sn(e){return{walletId:e.walletId}}function cn(e){return{wallet:e.wallet,rpId:e.rpId}}function ln(e){let t=$(e.credentialIdB64u);if(!t)throw Error(`credentialIdB64u is required`);return{kind:`passkey`,walletAuthMethodId:e.walletAuthMethodId,scope:e.scope,credentialIdB64u:t}}function un(e){let t=$(e.emailHashHex),n=$(e.registrationAuthorityId);if(!t)throw Error(`emailHashHex is required`);if(!n)throw Error(`registrationAuthorityId is required`);return{kind:`email_otp`,walletAuthMethodId:e.walletAuthMethodId,wallet:e.wallet,emailHashHex:t,registrationAuthorityId:n}}function dn(e){return{kind:`implicit_near_account`,wallet:e.wallet,nearAccountId:e.nearAccountId}}function fn(e){return{kind:`named_near_account`,wallet:e.wallet,nearAccountId:e.nearAccountId}}function pn(e){let t=en(e);if(!t)return rn(`NearAccountBinding`);let n=on(t.wallet);if(!n.ok)return n;let r=$(t.kind);if(r===`implicit_near_account`){let e=ne(t.nearAccountId);return e.ok?{ok:!0,value:dn({wallet:n.value,nearAccountId:e.value})}:{ok:!1,error:{code:e.code,message:e.message}}}if(r===`named_near_account`){let e=g(t.nearAccountId);return e.ok?{ok:!0,value:fn({wallet:n.value,nearAccountId:e.value})}:{ok:!1,error:{code:e.code,message:e.message}}}return{ok:!1,error:{code:`invalid`,message:`NearAccountBinding kind is invalid`}}}function mn(e){let t=nn(e.signerSlot);if(!t.ok)throw Error(t.error.message);return{kind:`near_ed25519_signer`,account:e.account,nearEd25519SigningKeyId:e.nearEd25519SigningKeyId,signerSlot:t.value}}function hn(e){let t=en(e);if(!t)return rn(`NearEd25519SignerBinding`);let n=pn(t.account);if(!n.ok)return n;let r=tn(t.nearEd25519SigningKeyId,`nearEd25519SigningKeyId`);if(!r.ok)return r;let i=nn(t.signerSlot);return i.ok?{ok:!0,value:mn({account:n.value,nearEd25519SigningKeyId:ae(r.value),signerSlot:i.value})}:i}function gn(e,t){if(!e||typeof e!=`object`||Array.isArray(e))throw Error(`${t} must be an object`);return e}function _n(e,t){let n=l(e,t);switch(n){case`sent`:case`reused`:return n;default:throw Error(`${t} must be sent or reused`)}}function vn(e,t){return{kind:`provider`,status:e,emailHint:t}}function yn(e,t){let n=gn(e,t),r=l(n.kind,`${t}.kind`),i=_n(n.status,`${t}.status`),a=l(n.emailHint,`${t}.emailHint`);switch(r){case`provider`:case`development`:if(n.otpCode!==void 0)throw Error(`${t}.otpCode is only valid for code-bearing delivery`);return vn(i,a);case`demo_code_response`:case`provider_and_demo_code`:{let e=l(n.otpCode,`${t}.otpCode`);if(!/^\d{6}$/.test(e))throw Error(`${t}.otpCode must be a 6-digit code`);return{kind:r,status:i,emailHint:a,otpCode:e}}default:throw Error(`${t}.kind is invalid`)}}function bn(e){switch(e.kind){case`provider`:return null;case`demo_code_response`:case`provider_and_demo_code`:return e.otpCode}}export{B as A,Ct as B,_e as C,pe as D,ge as E,ft as F,xt as G,lt as H,pt as I,we as J,ct as K,P as L,Ve as M,wt as N,me as O,dt as P,gt as R,Se as S,ve as T,ht as U,St as V,vt as W,Oe as X,E as Y,fe as Z,kt as _,fn as a,be as b,ln as c,an as d,Gt as f,jt as g,Mt as h,dn as i,M as j,ye as k,sn as l,Ot as m,yn as n,mn as o,Lt as p,ut as q,un as r,cn as s,bn as t,hn as u,Xt as v,he as w,xe as x,Qt as y,yt as z};
@@ -1 +1 @@
1
- import{P as e,r as t}from"./domainIds-C3fUa33Q.js";import{t as n}from"./accountIds-Cpvlkvbe.js";import{c as r,o as i}from"./ecdsaChainTarget-DkOrgv4y.js";import{Nt as a,T as o,g as s}from"./emailOtpEcdsaDerivationIdentity-BDVjvnmO.js";import{r as c}from"./registrationIds-Br-zI4_5.js";import{t as l}from"./signerSlot-FJAGOhmg.js";import{c as u,s as d}from"./types-CQTWmtqu.js";import{a as f,k as p}from"./nearEd25519YaoSigningPreparation-CqBNMG87.js";function m(e){let t=Math.floor(Number(e));return!Number.isFinite(t)||t<=0?null:t.toString(10).padStart(20,`0`)}function h(e,t){if(e.length===0)return{kind:`no_current_lane`,unusableFacts:[]};let n=_(e,t),r=v(n,t);if(r.length)return{kind:`conflicting_key_material`,conflicts:r};if(n.length!==1)return{kind:`ambiguous_material`,candidates:e};let i=n[0];return i?g(i,t.supersession):{kind:`no_current_lane`,unusableFacts:[]}}function g(e,t){let n=e.facts.filter(t.isOperationUsable);if(n.length===0)return{kind:`no_current_lane`,unusableFacts:e.facts};let r=y(n,t);return r.kind===`ambiguous`?{kind:`ambiguous_material`,candidates:r.candidates}:{kind:`selected`,selectedFact:r.fact,supersededFacts:e.facts.filter(e=>e!==r.fact)}}function _(e,t){let n=new Map;for(let r of e){let e=t.groupKey(r),i=t.groupKeyString(e),a=n.get(i);n.set(i,a?{groupKey:a.groupKey,facts:[...a.facts,r]}:{groupKey:e,facts:[r]})}return[...n.values()]}function v(e,t){return e.flatMap(e=>t.groupConflicts(e.facts))}function y(e,t){let n=e[0];if(n===void 0)return{kind:`ambiguous`,candidates:[]};let r=n;for(let n of e.slice(1)){let e=b(r,n,t);switch(e.kind){case`left`:break;case`right`:r=n;break;case`ambiguous`:return{kind:`ambiguous`,candidates:e.candidates};default:return e}}return{kind:`selected`,fact:r}}function b(e,t,n){let r=x(e,t,n);if(r.kind!==`equal`)return r;let i=S(e,t,n);if(i.kind!==`equal`)return i;let a=n.tieBreak(e,t);switch(a){case 1:return{kind:`left`};case-1:return{kind:`right`};case 0:return{kind:`ambiguous`,candidates:[e,t]};default:return a}}function x(e,t,n){let r=n.generation(e),i=n.generation(t);return!r||!i?{kind:`ambiguous`,candidates:[e,t]}:r>i?{kind:`left`}:i>r?{kind:`right`}:{kind:`equal`}}function S(e,t,n){let r=n.exactness(e);return r===n.exactness(t)?{kind:`equal`}:r===`exact_target`?{kind:`left`}:{kind:`right`}}function C(e){return{kind:`ed25519_durable_material`,authMethod:e.authMethod,materialActivation:e.materialActivation}}function w(e){return[e.activationId,e.capability,e.materialOwner,e.keyBinding,e.lifecycleBinding,e.signingWorker].map(e=>encodeURIComponent(String(e))).join(`:`)}function T(e){let t={source:e.source,runtime:e.runtime,key:e.key,materialActivation:e.materialActivation,publicFacts:e.publicFacts,curve:`ecdsa`,chainTarget:e.chainTarget,state:e.state,authorizationState:e.authorizationState};if(e.auth.kind===`passkey`){if(!e.resolvedKey)throw Error(`active Wallet Authority passkey lane is missing its resolved ECDSA key`);return{...t,auth:e.auth,resolvedKey:e.resolvedKey}}return{...t,auth:e.auth}}function ee(e){let t=e.authorization;return t?e.remainingUses===t.runtime.remainingUses&&e.expiresAtMs===t.runtime.expiresAtMs:!0}function E(e){return u(e.auth)}function D(e){return u(e.auth)}function O(e){let t=e.ed25519Restore;if(e.authMethod===`passkey`){if(!t.credentialIdB64u)return null;try{return{kind:`passkey`,rpId:o(t.rpId),credentialIdB64u:t.credentialIdB64u}}catch{return null}}return t.providerSubjectId?{kind:`email_otp`,providerSubjectId:t.providerSubjectId}:null}function k(e){let{authorization:t}=e;if(String(t.session.walletId)!==e.walletId||t.selectedAuthMethod.kind!==e.auth.kind||t.operationCredential.walletSessionId.length===0||t.session.quotaId.length===0||!f({session:t.session,materialActivation:e.materialActivation}))return!1;if(e.auth.kind===`passkey`){if(t.selectedAuthMethod.kind!==`passkey`||String(t.selectedAuthMethod.rpId)!==String(e.auth.rpId)||t.selectedAuthMethod.credentialIdB64u!==e.auth.credentialIdB64u)return!1}else if(t.selectedAuthMethod.kind!==`email_otp`||t.selectedFactorAuthority.factor.kind!==`email_otp`||t.selectedFactorAuthority.factor.providerUserId!==e.auth.providerSubjectId)return!1;return!!(e.ownerScope&&d(e.auth)===d(e.ownerScope.auth))}function te(e,t,i){if(e.curve!==`ed25519`)return null;let a=String(e.thresholdSessionIds.ed25519||``).trim(),o=String(e.walletId||``).trim(),s=e.ed25519Restore,u=l(s.signerSlot),d=O(e);if(!a||!o||u===null||!d)return null;let f=Math.floor(Number(e.expiresAtMs)||0),p=Math.max(0,Math.floor(Number(e.remainingUses)||0)),m=f>0&&f<=Date.now()?`expired`:p===0?`exhausted`:`restorable`,h=t&&k({authorization:t,auth:d,walletId:o,materialActivation:s.materialActivation,ownerScope:i})?t:null;try{let t={auth:d,curve:`ed25519`,chain:`near`,materialActivation:s.materialActivation,walletId:r(o),nearAccountId:n(s.nearAccountId),nearEd25519SigningKeyId:c(s.nearEd25519SigningKeyId),signerSlot:u,source:`durable_sealed_record`,thresholdSessionId:a,remainingUses:p,...f>0?{expiresAtMs:f}:{},updatedAtMs:Math.floor(Number(e.updatedAtMs)||0),...P(e)?{policyHint:P(e)}:{}};return h?{...t,state:m,authorizationState:`authorized`,authorization:h}:{...t,state:`deferred`,authorizationState:`authorization_required`}}catch{return null}}function ne(e){return e.auth.kind===`email_otp`}function re(e,t,i){let a=String(e.walletId||``).trim(),o=String(e.nearAccountId||``).trim(),s=String(e.thresholdSessionId||``).trim();if(!a||!o||!s)return null;let c=t&&k({authorization:t,auth:e.auth,walletId:a,materialActivation:e.materialActivation,ownerScope:i})?t:null;try{let t={auth:e.auth,curve:`ed25519`,chain:`near`,materialActivation:e.materialActivation,walletId:r(a),nearAccountId:n(o),nearEd25519SigningKeyId:e.nearEd25519SigningKeyId,signerSlot:e.signerSlot,thresholdSessionId:s,source:`public_capability_reference`};if(!c)return{...t,state:`deferred`,authorizationState:`authorization_required`};let i=Math.floor(Number(c.status.expiresAtMs)||0),l=ne(e)?e:null,u=l?Math.min(l.expiresAtMs,i):i,d=u>0&&u<=Date.now()?`expired`:`ready`;return{...t,state:d,authorizationState:`authorized`,authorization:c,remainingUses:c.status.remainingUses,...u>0?{expiresAtMs:u}:{}}}catch{return null}}function A(e){if(e.state===`missing`)return!1;if(e.curve!==`ecdsa`){let t=String(e.thresholdSessionId||``).trim();return e.thresholdSessionId!==t||!t?!1:e.authorizationState===`authorization_required`?e.state===`deferred`:!e.authorization.operationCredential.walletSessionId||!e.authorization.session.quotaId||e.authorization.status.remainingUses<=0||e.authorization.status.expiresAtMs<=Date.now()?!1:e.auth.kind===`email_otp`||e.auth.kind===`passkey`}return e.auth.kind!==`email_otp`&&e.auth.kind!==`passkey`||e.source===`active_wallet_authority`&&(e.state!==`deferred`||e.authorizationState!==`authorization_required`||e.runtime.kind!==`active_wallet_authority_ecdsa_runtime_v1`||String(e.runtime.walletId)!==String(e.key.walletId)||!t(e.runtime.materialActivation,e.materialActivation)||e.runtime.publicFacts!==e.publicFacts)||!(e.key&&String(e.key.walletId||``).trim()&&String(e.key.ecdsaThresholdKeyId||``).trim()&&String(e.key.signingRootId||``).trim()&&String(e.key.signingRootVersion||``).trim()&&Array.isArray(e.key.participantIds)&&e.key.participantIds.length>0&&String(e.key.thresholdOwnerAddress||``).trim()&&`publicFacts`in e&&e.publicFacts&&e.publicFacts.keyHandle&&String(e.publicFacts.publicKeyB64u||``).trim()&&Array.isArray(e.publicFacts.participantIds)&&e.publicFacts.participantIds.length>0&&String(e.publicFacts.thresholdOwnerAddress||``).trim())||e.source===`canonical_capability`&&!ee(e)?!1:u(e.auth)===`passkey`?e.resolvedKey?.kind===`resolved_evm_family_ecdsa_key`&&e.resolvedKey.authBinding.kind===`passkey_ecdsa_auth_binding`&&String(e.resolvedKey.walletId)===String(e.key.walletId)&&e.resolvedKey.publicFacts===e.publicFacts:!(`resolvedKey`in e)}function j(e){return e===`missing`?null:e}function ie(e){return e||`unknown`}function ae(e){let t=Math.floor(Number(e));return Number.isFinite(t)&&t>0?t:null}function oe(e){let t=Math.max(0,Math.floor(Number(e)));return Number.isFinite(t)?t:null}function se(e){if(!A(e.lane)||e.lane.curve!==`ed25519`)return null;let t=j(e.lane.state);if(!t)return null;let n={kind:`lane_candidate`,walletId:e.lane.walletId,nearAccountId:e.lane.nearAccountId,nearEd25519SigningKeyId:e.lane.nearEd25519SigningKeyId,signerSlot:e.lane.signerSlot,materialActivation:e.lane.materialActivation,auth:e.lane.auth,curve:`ed25519`,chain:`near`,thresholdSessionId:e.lane.thresholdSessionId,state:t,remainingUses:oe(e.lane.remainingUses),expiresAtMs:ae(e.lane.expiresAtMs),updatedAtMs:ae(e.lane.updatedAtMs),source:ie(e.lane.source)};return e.lane.authorizationState===`authorization_required`?{...n,authorizationState:`authorization_required`,state:`deferred`}:{...n,authorizationState:`authorized`,authorization:e.lane.authorization}}function ce(e){if(!A(e.lane)||e.lane.curve!==`ecdsa`)return null;let t=j(e.lane.state);if(!t)return null;let n=u(e.lane.auth),i={kind:`lane_candidate`,walletId:r(e.walletId),auth:e.lane.auth,authMethod:n,curve:`ecdsa`,chain:e.lane.chainTarget.kind,key:e.lane.key,materialActivation:e.lane.materialActivation,...n===`passkey`?{resolvedKey:e.lane.resolvedKey}:{},keyHandle:e.lane.publicFacts.keyHandle,chainTarget:e.lane.chainTarget};switch(e.lane.source){case`active_wallet_authority`:return{...i,source:`active_wallet_authority`,runtime:e.lane.runtime,authorizationState:`authorization_required`,state:`deferred`};case`canonical_capability`:return e.lane.authorization?{...i,source:`canonical_capability`,authorizationState:`authorized`,authorization:e.lane.authorization,state:t}:{...i,source:`canonical_capability`,authorizationState:`authorization_required`,state:`deferred`};default:return e.lane}}function le(e){if(!e||e.curve!==`ecdsa`||!e.chainTarget||!(`key`in e)||!e.key||!(`auth`in e)||!e.auth)return null;let t=u(e.auth);try{let n=d(e.auth);return[t,`ecdsa`,i(e.chainTarget),n,ue(e),w(e.materialActivation)].join(`:`)}catch{return null}}function ue(e){return s({walletId:e.key.walletId,publicFacts:e.publicFacts})}function M(e){if(!e||e.curve!==`ed25519`||e.chain!==`near`||e.state===`missing`||!e.auth)return null;let t=u(e.auth),n=String(e.walletId||``).trim(),r=String(e.nearAccountId||``).trim(),i=String(e.nearEd25519SigningKeyId||``).trim(),a=String(e.signerSlot||``).trim(),o=String(e.thresholdSessionId||``).trim(),s=e.materialActivation?w(e.materialActivation):``;return!t||!n||!r||!i||!a||!o||!s?null:[n,r,i,a,t,`ed25519`,`near`,o,s].join(`:`)}function N(e){return{curve:`ecdsa`,chainTarget:e.chainTarget,state:`missing`}}function de(e,t){let n=i(t);return e.ecdsa.lanesByTarget[n]||N({chainTarget:t})}function fe(e,t){let n=i(t);return e.ecdsa.candidatesByTarget[n]||[]}function pe(){return{curve:`ed25519`,chain:`near`,state:`missing`}}function P(e){let t=Math.floor(Number(e.remainingUses)),n=Math.floor(Number(e.expiresAtMs)),r={};return Number.isFinite(t)&&t>=0&&(r.remainingUses=t),Number.isFinite(n)&&n>0&&(r.expiresAtMs=n),Object.keys(r).length?r:void 0}function F(e){return Math.floor(Number(`updatedAtMs`in e?e.updatedAtMs:0)||0)}function I(e){return m(e.expiresAtMs??e.policyHint?.expiresAtMs)}function L(e){switch(e.state){case`ready`:return 5;case`restorable`:return 4;case`deferred`:return 3;case`expired`:case`exhausted`:return 2;case`missing`:return 1}}function R(e){return!A(e)||e.curve===`ecdsa`?0:e.source===`durable_sealed_record`?1:0}function z(e,t){return L(e)-L(t)||R(e)-R(t)||F(e)-F(t)}function me(e,t){return z(e,t)}function he(e,t){return L(e)-L(t)||R(e)-R(t)||F(e)-F(t)}function B(e){let t=d(e.auth),n=String(e.walletId||``).trim(),r=String(e.nearAccountId||``).trim(),i=String(e.nearEd25519SigningKeyId||``).trim(),a=String(e.signerSlot||``).trim(),o=w(e.materialActivation);return!t||!n||!r||!i||!a||!o?null:{walletId:n,authKey:t,nearAccountId:r,nearEd25519SigningKeyId:i,signerSlot:a,materialActivationKey:o}}function V(e){return[e.walletId,e.authKey,e.nearAccountId,e.nearEd25519SigningKeyId,e.signerSlot,e.materialActivationKey].map(e=>encodeURIComponent(e)).join(`|`)}function ge(e){if(!A(e)||e.curve!==`ed25519`)return null;let t=B(e);return t?{groupKey:t,lane:e}:null}function H(e,t){return me(t,e)}function U(e,t){return e>t?1:t>e?-1:0}function W(e,t){let n=e.localeCompare(t);return n>0?1:n<0?-1:0}function G(e){for(let t of e)if(t!==0)return t;return 0}function _e(e){return[]}function ve(e){return!0}function ye(e){return I(e.lane)}function be(){return`exact_target`}function xe(e,t){return G([U(L(e.lane),L(t.lane)),U(R(e.lane),R(t.lane)),W(Se(e.lane),Se(t.lane))])}function Se(e){return[e.thresholdSessionId,e.authorizationState===`authorized`?e.authorization.operationCredential.walletSessionId:``,e.authorizationState===`authorized`?e.authorization.session.quotaId:``,e.source||`durable_sealed_record`].map(e=>String(e)).join(`|`)}const Ce={groupKey:we,groupKeyString:V,groupConflicts:_e,supersession:{isOperationUsable:ve,generation:ye,exactness:be,tieBreak:xe}};function we(e){return e.groupKey}function Te(e){let t=new Map;for(let n of e){let e=V(n.groupKey);t.set(e,[...t.get(e)||[],n])}return t}function Ee(e,t){let n=h(e,Ce);switch(n.kind){case`selected`:return[n.selectedFact.lane];case`no_current_lane`:return[];case`conflicting_key_material`:return t.push({curve:`ed25519`,source:`canonical_lane_inventory`,reason:`conflicting_key_material`,message:`Ed25519 canonical lane inventory has conflicting material facts`}),[];case`ambiguous_material`:return t.push({curve:`ed25519`,source:`canonical_lane_inventory`,reason:`ambiguous_material`,message:`Ed25519 canonical lane inventory has incomparable usable records`}),[];default:return n}}function De(e,t){let n=e.map(ge).filter(e=>e!==null),r=[];for(let e of Te(n).values())r.push(...Ee(e,t));return r.sort(H)}function Oe(e){if(!A(e)||e.curve!==`ed25519`)return null;let t=String(e.thresholdSessionId||``).trim();return e.authorizationState!==`authorized`||!t?null:`${e.authorization.operationCredential.walletSessionId}:${e.authorization.session.quotaId}:${t}`}function ke(e){if(!A(e.primaryLane)||e.primaryLane.curve!==`ed25519`||D(e.primaryLane)!==`passkey`)return e.primaryLane;let t=Oe(e.primaryLane);return t&&e.candidates.find(e=>A(e)&&e.curve===`ed25519`&&D(e)===`email_otp`&&Oe(e)===t)||e.primaryLane}function Ae(){try{return globalThis.localStorage?.getItem(`seams:debug:signing-session`)===`1`}catch{return!1}}function K(e){return e?A(e)?{present:!0,authMethod:u(e.auth),curve:e.curve,keyHandle:e.publicFacts.keyHandle,walletId:e.key.walletId,chainTarget:e.chainTarget,targetKey:i(e.chainTarget),state:e.state,source:e.source,evmFamilyKeyFingerprint:ue(e),ecdsaThresholdKeyId:e.key.ecdsaThresholdKeyId,participantIds:e.publicFacts.participantIds,thresholdOwnerAddress:e.publicFacts.thresholdOwnerAddress,remainingUses:e.remainingUses,expiresAtMs:e.expiresAtMs,updatedAtMs:e.updatedAtMs}:{present:!0,curve:e.curve,chainTarget:e.chainTarget,state:e.state}:{present:!1}}function je(e){switch(e.source){case`canonical_capability`:return`canonical_capability`;case`active_wallet_authority`:return`active_wallet_authority`;default:return e}}function Me(e){let t=d(e.auth);return{walletId:String(e.key.walletId),authKey:t,materialActivationKey:w(e.materialActivation),ecdsaThresholdKeyId:String(e.key.ecdsaThresholdKeyId),signingRootId:String(e.key.signingRootId),signingRootVersion:String(e.key.signingRootVersion||`default`)}}function Ne(e){return[e.walletId,e.authKey,e.materialActivationKey,e.ecdsaThresholdKeyId,e.signingRootId,e.signingRootVersion].map(e=>encodeURIComponent(e)).join(`|`)}function Pe(e){let t=Me(e);return t?{source:je(e),groupKey:t,chainTargetKey:i(e.chainTarget),lane:e}:null}function Fe(e){let t=d(e.auth);return[String(e.key.walletId),t,w(e.materialActivation),String(e.key.signingRootId),String(e.key.signingRootVersion||`default`)].map(e=>encodeURIComponent(e)).join(`|`)}function q(e,t){return[...new Set(e.map(e=>t(e.lane)).filter(Boolean))].sort()}function Ie(e){return[{field:`ecdsaThresholdKeyId`,values:q(e.facts,e=>String(e.key.ecdsaThresholdKeyId||``))},{field:`thresholdOwnerAddress`,values:q(e.facts,e=>String(e.publicFacts.thresholdOwnerAddress||``).toLowerCase())},{field:`keyHandle`,values:q(e.facts,e=>String(e.publicFacts.keyHandle||``))},{field:`publicKeyB64u`,values:q(e.facts,e=>String(e.publicFacts.publicKeyB64u||``))},{field:`participantIds`,values:q(e.facts,e=>e.publicFacts.participantIds.map(e=>Number(e)).join(`,`))}].filter(e=>e.values.length>1).map(t=>({groupKey:e.key,field:t.field,values:t.values}))}function Le(e){let t=new Map;for(let n of e){let e=Fe(n.lane);e&&t.set(e,[...t.get(e)||[],n])}let n=new Map;for(let[e,r]of t){let t=r[0];if(!t)continue;let i=Ie({key:t.groupKey,facts:r});i.length&&n.set(e,i)}return n}function Re(e){let t=Fe(e.fact.lane);return t&&e.conflictsByFamilyGroup.get(t)||[]}function ze(e){return e.filter(e=>A(e)&&e.curve===`ecdsa`).map(Pe).filter(e=>e!==null)}function Be(e){return e.source===`active_wallet_authority`?2:1}function Ve(e){return e.groupKey}function He(e){let t=e[0];return t?Ie({key:t.groupKey,facts:e}):[]}function Ue(e){return e.lane.source===`active_wallet_authority`?!0:e.lane.state!==`deferred`||!e.lane.authorization}function We(e){return I(e.lane)}function Ge(e){return`exact_target`}function J(e){return[w(e.materialActivation),e.source,i(e.chainTarget)].map(e=>String(e)).join(`|`)}function Ke(e,t){return G([U(L(e.lane),L(t.lane)),U(Be(e.lane),Be(t.lane)),W(J(e.lane),J(t.lane))])}const qe={groupKey:Ve,groupKeyString:Ne,groupConflicts:He,supersession:{isOperationUsable:Ue,generation:We,exactness:Ge,tieBreak:Ke}};function Je(e){let t=new Map;for(let n of e)t.set(Ne(n.groupKey),n.groupKey);return[...t.values()]}function Ye(e){let t=h(e,qe);switch(t.kind){case`selected`:return{kind:`selected`,selectedFact:t.selectedFact,supersededFacts:t.supersededFacts};case`no_current_lane`:return{kind:`no_current_lane`,unusableFacts:t.unusableFacts};case`conflicting_key_material`:return{kind:`conflicting_key_material`,conflicts:t.conflicts};case`ambiguous_material`:return{kind:`ambiguous_material`,candidates:Je(t.candidates),candidateFacts:t.candidates};default:return t}}function Xe(e){return A(e)?J(e):null}function Ze(e){let t={},n={},r=Object.fromEntries(Object.entries(e.candidatesByTarget).map(([e,t])=>[e,Qe(t,Xe)])),a=Le(Object.values(r).flatMap(ze));for(let o of e.targets){let s=i(o),c=ze(r[s]||[]),l=c.flatMap(e=>Re({fact:e,conflictsByFamilyGroup:a}));if(l.length){e.invalidLanes.push({curve:`ecdsa`,source:`canonical_lane_inventory`,reason:`conflicting_key_material`,targetKey:s,groupKey:l[0]?.groupKey,conflicts:l}),t[s]=[],n[s]=N({chainTarget:o});continue}let u=Ye(c);switch(u.kind){case`selected`:t[s]=[u.selectedFact.lane],n[s]=u.selectedFact.lane;break;case`no_current_lane`:t[s]=[],n[s]=N({chainTarget:o});break;case`conflicting_key_material`:e.invalidLanes.push({curve:`ecdsa`,source:`canonical_lane_inventory`,reason:`conflicting_key_material`,targetKey:s,groupKey:u.conflicts[0]?.groupKey,conflicts:u.conflicts}),t[s]=[],n[s]=N({chainTarget:o});break;case`ambiguous_material`:e.invalidLanes.push({curve:`ecdsa`,source:`canonical_lane_inventory`,reason:`ambiguous_material`,targetKey:s}),t[s]=[],n[s]=N({chainTarget:o});break}}return{lanesByTarget:n,candidatesByTarget:t}}function Qe(e,t,n=z){let r=new Map,i=[];for(let n of e){let e=t(n);if(!e){i.push(n);continue}r.set(e,[...r.get(e)||[],n])}return[...[...r.values()].map(e=>[...e].sort((e,t)=>n(t,e))[0]),...i]}function $e(e){let t=new Set(e.filter(e=>A(e)&&e.curve===`ed25519`&&e.source===`durable_sealed_record`&&(e.state===`ready`||e.state===`restorable`)).map(B).filter(e=>e!==null).map(V));return t.size?e.filter(e=>{if(!A(e)||e.curve!==`ed25519`||e.source!==`public_capability_reference`)return!0;let n=B(e);return!n||!t.has(V(n))}):[...e]}async function et(e,t){return e.state===`missing`||d(e.auth)!==d(t.auth)||!await rt(e,t)?!1:t.auth.kind===`email_otp`?!0:`keyFamily`in t&&t.keyFamily===`ecdsa`?!1:e.signerSlot===t.signerSlot}function tt(e,t){return e.state===`missing`||d(e.auth)!==d(t.auth)?!1:nt(e,t)}function nt(e,t){let n=t.auth.kind===`email_otp`?t.ownerAuthority:void 0;if(!n)return!0;if(e.curve===`ecdsa`&&e.source===`active_wallet_authority`)return e.runtime.factorAuthorityRef.walletAuthMethodId===n.walletAuthMethodId&&String(e.runtime.factorAuthorityRef.authorityDigest)===String(n.authorityDigest);if(e.curve===`ecdsa`&&e.source===`canonical_capability`){let t=e.capability.manifest.signer.authority;return t.walletAuthMethodId===n.walletAuthMethodId&&String(t.authorityDigest)===String(n.authorityDigest)}return!1}async function rt(e,t){let n=t.auth.kind===`email_otp`?t.ownerAuthority:void 0;if(!n)return!0;if(e.state===`missing`||e.curve!==`ed25519`)return!1;if(e.authorizationState===`authorization_required`)return!0;try{let t=await a({authority:e.authorization.selectedFactorAuthority});return t.walletId===e.walletId&&t.walletAuthMethodId===n.walletAuthMethodId&&t.authorityDigest===n.authorityDigest}catch{return!1}}async function it(e,t){let n=[];for(let r of e)await et(r,t)&&n.push(r);return n}async function at(e,t){let n=r(e.walletId),a=new Map;for(let t of e.ecdsaChainTargets)a.set(i(t),t);let o=[...a.values()],[s,c,l,d]=await Promise.all([t.listSealedRecordsForWallet({walletId:n,filter:{...e.authMethod?{authMethod:e.authMethod}:{},curve:`ed25519`}}),t.listPublicCapabilityReferences?.()??[],t.readActiveWalletSessionAuthorization?.(n)??{kind:`missing`},o.length>0&&t.listCanonicalEcdsaLanesForWallet?t.listCanonicalEcdsaLanesForWallet({walletId:n}):[]]),f=l.kind===`found`?l.authorization:null,p=[...o],m={},h={},g={};for(let e of p){let t=i(e);m[t]=N({chainTarget:e}),h[t]=[],g[t]=0}let _=[],v=0,y=Ae(),b=[],x=[];for(let t of s){let n=te(t,f,e.ownerScope);if(!n)continue;_.push(n);let r=F(n);v=Math.max(v,r)}for(let r of c){if(String(r.walletId)!==String(n))continue;let i=l.kind===`exhausted`||l.kind===`expired`;if(!t.isPublicCapabilityActive?.(r)&&!i)continue;let a=re(r,f,e.ownerScope);a&&(e.authMethod&&u(a.auth)!==e.authMethod||_.push(a))}for(let t of d){let r=u(t.auth);if(e.authMethod&&r!==e.authMethod||String(t.key.walletId)!==String(n))continue;let o=i(t.chainTarget);if(!a.has(o))continue;h[o]||=[],h[o].push(t);let s=F(t);v=Math.max(v,s),b.push({result:`accepted`,targetKey:o,lane:K(t)})}let S=o.length>0&&t.listActiveWalletAuthorityEcdsaLanesForWallet?await t.listActiveWalletAuthorityEcdsaLanesForWallet({walletId:n,chainTargets:o}):[];for(let t of S){let r=u(t.auth);if(e.authMethod&&r!==e.authMethod||String(t.key.walletId)!==String(n))continue;let o=i(t.chainTarget);a.has(o)&&(h[o]||=[],h[o].push(t),b.push({result:`accepted`,targetKey:o,lane:K(t)}))}let C=e.ownerScope,w=C?await it(_,C):_;if(C)for(let e of Object.keys(h))h[e]=(h[e]||[]).filter(e=>tt(e,C));let T=De(Qe($e(w),M,he).sort(H),x),ee=ke({primaryLane:T[0]||pe(),candidates:T}),E=Ze({targets:p,candidatesByTarget:Ze({targets:p,candidatesByTarget:h,invalidLanes:x}).candidatesByTarget,invalidLanes:x}),D={walletId:n,generation:v,ecdsa:{targets:p,lanesByTarget:E.lanesByTarget,candidatesByTarget:E.candidatesByTarget},lanes:{ed25519:{near:ee}},candidates:{ed25519:{near:T}},diagnostics:{invalidLanes:x}},O=p.map(e=>{let t=i(e),n=D.ecdsa.candidatesByTarget[t]||[],r=D.ecdsa.lanesByTarget[t],a=r?.state||`missing`;return n.length>0&&a!==`missing`?null:{chainTarget:e,targetKey:t,candidateCount:n.length,selectedLane:K(r)}}).filter(e=>!!e),k={walletId:n,authMethod:e.authMethod||`any`,requestedTargets:p.map(e=>({chainTarget:e,targetKey:i(e)})),sealedRecordCount:0,runtimeRecordCount:d.length,durableDiscovery:[],runtimeDiscovery:b,resultSelectedLanesByTarget:Object.fromEntries(Object.entries(D.ecdsa.lanesByTarget).map(([e,t])=>[e,K(t)])),resultCandidatesByTarget:Object.fromEntries(Object.entries(D.ecdsa.candidatesByTarget).map(([e,t])=>[e,t.map(e=>K(e))]))};if(y&&O.length>0)try{console.warn(`[SigningLanes][available][ecdsa][missing-candidates]`,JSON.stringify({...k,missingEcdsaTargets:O}))}catch{}if(y)try{console.info(`[SigningLanes][available][ecdsa]`,JSON.stringify(k))}catch{}return D}function Y(t,n){return e(t,{fallback:n,min:1})}function X(e,t){let n=Error(`[SigningEngine] ${t}`);return n.code=e,n}function ot(e,t){let n=e.get(t);if(n)return n;let r={running:!1,items:[]};return e.set(t,r),r}function st(e){e.timeoutHandle&&=(clearTimeout(e.timeoutHandle),null)}async function ct(e,t){let n=e.get(t);if(!(!n||n.running)){n.running=!0;try{for(;n.items.length>0;){let e=n.items.shift();if(e&&!e.isSettled()){if(st(e),e.shouldAbort?.()){e.reject(e.makeCancelledError(`cancelled`));continue}if(Date.now()-e.enqueuedAtMs>e.timeoutMs){e.reject(e.makeTimeoutError(e.timeoutMs));continue}try{await e.run()}catch(t){e.reject(t)}}}}finally{n.running=!1,n.items.length===0&&e.get(t)===n?e.delete(t):n.items.length>0&&ct(e,t)}}}function lt(e){for(let t of e.values()){for(let e of t.items)st(e),e.reject(e.makeCancelledError(`queue_cleared`));t.items.length=0}e.clear()}function ut(e){return[`material`,encodeURIComponent(String(e.materialActivation.materialOwner)),encodeURIComponent(String(e.materialActivation.capability)),encodeURIComponent(String(e.materialActivation.activationId))].join(`:`)}async function dt(e){let{labels:t,owner:n}=e,r=String(e.queueKey||``).trim();if(!r)throw Error(`[SigningEngine] ${t.queue} requires non-empty queueKey`);if(!e.enabled)return await e.task();let i=Y(e.maxQueueLength,8),a=Y(e.queueTimeoutMs,45e3),o=ot(e.queueByKey,r);if(o.items.length+(o.running?1:0)>=i)throw X(`commit_queue_overflow`,`${t.queue} overflow for ${n} (queueKey=${r}, max=${i})`);return await new Promise((i,s)=>{let c=null,l=!1,u=()=>{c&&=(clearTimeout(c),null)},d=e=>{l||(l=!0,u(),s(e))},f=e=>{l||(l=!0,u(),i(e))},p=e=>X(`cancelled`,`${t.queuedOperation} cancelled for ${n} (queueKey=${r}${e===`queue_cleared`?`, queue_cleared`:``})`),m=e=>X(`commit_queue_timeout`,`${t.queue} timeout for ${n} (queueKey=${r}, waited>${e}ms before start)`),h={enqueuedAtMs:Date.now(),timeoutMs:a,shouldAbort:e.shouldAbort,timeoutHandle:null,isSettled:()=>l,reject:d,makeCancelledError:p,makeTimeoutError:m,run:async()=>{if(e.shouldAbort?.())throw p(`cancelled`);f(await e.task())}};c=setTimeout(()=>{if(h.isSettled())return;let t=o.items.indexOf(h);t>=0&&o.items.splice(t,1),d(m(a)),!o.running&&o.items.length===0&&e.queueByKey.get(r)===o&&e.queueByKey.delete(r)},a),h.timeoutHandle=c,o.items.push(h),ct(e.queueByKey,r)})}function Z(e){let t={walletId:p(e.laneIdentity),authMethod:u(e.laneIdentity.auth),laneIdentity:e.laneIdentity};return e.kind===`ecdsa`?{...t,walletSessionId:e.authorization.operationCredential.walletSessionId,quotaId:e.authorization.session.quotaId}:{...t,walletSessionId:e.laneIdentity.walletSessionId,quotaId:e.laneIdentity.quotaId}}function Q(e){return{kind:`invalid`,...Z(e.source)}}function $(e){let t=Number(e);return!Number.isSafeInteger(t)||t<0?null:t}function ft(e){let t=$(e.expiresAtMs),n=$(e.detectedAtMs);if(t===null||t===0)throw Error(`Authoritative expired Wallet Session expiresAtMs is invalid`);if(n===null||n===0)throw Error(`Authoritative expired Wallet Session detectedAtMs is invalid`);if(t>n)throw Error(`Authoritative expired Wallet Session timeline is invalid`);return{kind:`expired`,...Z(e.source),expiresAtMs:t,detectedAtMs:n}}function pt(e){let t=$(e.observation.expiresAtMs);if(t===null||t===0)return Q({source:e.observation.source});let n=Z(e.observation.source);return t<=e.nowMs?{kind:`expired`,...n,expiresAtMs:t,detectedAtMs:e.nowMs}:{kind:`active`,...n,expiresAtMs:t}}function mt(e){let t=$(e.nowMs);if(t===null)return Q({source:e.observation.source});switch(e.observation.kind){case`found`:return pt({observation:e.observation,nowMs:t});case`missing`:return{kind:`missing`,...Z(e.observation.source)};case`unavailable`:return{kind:`unavailable`,...Z(e.observation.source)};case`invalid`:return Q({source:e.observation.source});default:return e.observation}}export{C as _,dt as a,D as c,le as d,ce as f,at as g,A as h,ut as i,fe as l,se as m,ft as n,T as o,M as p,lt as r,E as s,mt as t,de as u,w as v};
1
+ import{P as e,r as t}from"./domainIds-C3fUa33Q.js";import{t as n}from"./accountIds-Cpvlkvbe.js";import{c as r,o as i}from"./ecdsaChainTarget-DkOrgv4y.js";import{Nt as a,T as o,g as s}from"./emailOtpEcdsaDerivationIdentity-CupWCKNg.js";import{r as c}from"./registrationIds-B1OpqRAt.js";import{t as l}from"./signerSlot-FJAGOhmg.js";import{c as u,s as d}from"./types-CQTWmtqu.js";import{a as f,k as p}from"./nearEd25519YaoSigningPreparation-yKDLQXBS.js";function m(e){let t=Math.floor(Number(e));return!Number.isFinite(t)||t<=0?null:t.toString(10).padStart(20,`0`)}function h(e,t){if(e.length===0)return{kind:`no_current_lane`,unusableFacts:[]};let n=_(e,t),r=v(n,t);if(r.length)return{kind:`conflicting_key_material`,conflicts:r};if(n.length!==1)return{kind:`ambiguous_material`,candidates:e};let i=n[0];return i?g(i,t.supersession):{kind:`no_current_lane`,unusableFacts:[]}}function g(e,t){let n=e.facts.filter(t.isOperationUsable);if(n.length===0)return{kind:`no_current_lane`,unusableFacts:e.facts};let r=y(n,t);return r.kind===`ambiguous`?{kind:`ambiguous_material`,candidates:r.candidates}:{kind:`selected`,selectedFact:r.fact,supersededFacts:e.facts.filter(e=>e!==r.fact)}}function _(e,t){let n=new Map;for(let r of e){let e=t.groupKey(r),i=t.groupKeyString(e),a=n.get(i);n.set(i,a?{groupKey:a.groupKey,facts:[...a.facts,r]}:{groupKey:e,facts:[r]})}return[...n.values()]}function v(e,t){return e.flatMap(e=>t.groupConflicts(e.facts))}function y(e,t){let n=e[0];if(n===void 0)return{kind:`ambiguous`,candidates:[]};let r=n;for(let n of e.slice(1)){let e=b(r,n,t);switch(e.kind){case`left`:break;case`right`:r=n;break;case`ambiguous`:return{kind:`ambiguous`,candidates:e.candidates};default:return e}}return{kind:`selected`,fact:r}}function b(e,t,n){let r=x(e,t,n);if(r.kind!==`equal`)return r;let i=S(e,t,n);if(i.kind!==`equal`)return i;let a=n.tieBreak(e,t);switch(a){case 1:return{kind:`left`};case-1:return{kind:`right`};case 0:return{kind:`ambiguous`,candidates:[e,t]};default:return a}}function x(e,t,n){let r=n.generation(e),i=n.generation(t);return!r||!i?{kind:`ambiguous`,candidates:[e,t]}:r>i?{kind:`left`}:i>r?{kind:`right`}:{kind:`equal`}}function S(e,t,n){let r=n.exactness(e);return r===n.exactness(t)?{kind:`equal`}:r===`exact_target`?{kind:`left`}:{kind:`right`}}function C(e){return{kind:`ed25519_durable_material`,authMethod:e.authMethod,materialActivation:e.materialActivation}}function w(e){return[e.activationId,e.capability,e.materialOwner,e.keyBinding,e.lifecycleBinding,e.signingWorker].map(e=>encodeURIComponent(String(e))).join(`:`)}function T(e){let t={source:e.source,runtime:e.runtime,key:e.key,materialActivation:e.materialActivation,publicFacts:e.publicFacts,curve:`ecdsa`,chainTarget:e.chainTarget,state:e.state,authorizationState:e.authorizationState};if(e.auth.kind===`passkey`){if(!e.resolvedKey)throw Error(`active Wallet Authority passkey lane is missing its resolved ECDSA key`);return{...t,auth:e.auth,resolvedKey:e.resolvedKey}}return{...t,auth:e.auth}}function ee(e){let t=e.authorization;return t?e.remainingUses===t.runtime.remainingUses&&e.expiresAtMs===t.runtime.expiresAtMs:!0}function E(e){return u(e.auth)}function D(e){return u(e.auth)}function O(e){let t=e.ed25519Restore;if(e.authMethod===`passkey`){if(!t.credentialIdB64u)return null;try{return{kind:`passkey`,rpId:o(t.rpId),credentialIdB64u:t.credentialIdB64u}}catch{return null}}return t.providerSubjectId?{kind:`email_otp`,providerSubjectId:t.providerSubjectId}:null}function k(e){let{authorization:t}=e;if(String(t.session.walletId)!==e.walletId||t.selectedAuthMethod.kind!==e.auth.kind||t.operationCredential.walletSessionId.length===0||t.session.quotaId.length===0||!f({session:t.session,materialActivation:e.materialActivation}))return!1;if(e.auth.kind===`passkey`){if(t.selectedAuthMethod.kind!==`passkey`||String(t.selectedAuthMethod.rpId)!==String(e.auth.rpId)||t.selectedAuthMethod.credentialIdB64u!==e.auth.credentialIdB64u)return!1}else if(t.selectedAuthMethod.kind!==`email_otp`||t.selectedFactorAuthority.factor.kind!==`email_otp`||t.selectedFactorAuthority.factor.providerUserId!==e.auth.providerSubjectId)return!1;return!!(e.ownerScope&&d(e.auth)===d(e.ownerScope.auth))}function te(e,t,i){if(e.curve!==`ed25519`)return null;let a=String(e.thresholdSessionIds.ed25519||``).trim(),o=String(e.walletId||``).trim(),s=e.ed25519Restore,u=l(s.signerSlot),d=O(e);if(!a||!o||u===null||!d)return null;let f=Math.floor(Number(e.expiresAtMs)||0),p=Math.max(0,Math.floor(Number(e.remainingUses)||0)),m=f>0&&f<=Date.now()?`expired`:p===0?`exhausted`:`restorable`,h=t&&k({authorization:t,auth:d,walletId:o,materialActivation:s.materialActivation,ownerScope:i})?t:null;try{let t={auth:d,curve:`ed25519`,chain:`near`,materialActivation:s.materialActivation,walletId:r(o),nearAccountId:n(s.nearAccountId),nearEd25519SigningKeyId:c(s.nearEd25519SigningKeyId),signerSlot:u,source:`durable_sealed_record`,thresholdSessionId:a,remainingUses:p,...f>0?{expiresAtMs:f}:{},updatedAtMs:Math.floor(Number(e.updatedAtMs)||0),...P(e)?{policyHint:P(e)}:{}};return h?{...t,state:m,authorizationState:`authorized`,authorization:h}:{...t,state:`deferred`,authorizationState:`authorization_required`}}catch{return null}}function ne(e){return e.auth.kind===`email_otp`}function re(e,t,i){let a=String(e.walletId||``).trim(),o=String(e.nearAccountId||``).trim(),s=String(e.thresholdSessionId||``).trim();if(!a||!o||!s)return null;let c=t&&k({authorization:t,auth:e.auth,walletId:a,materialActivation:e.materialActivation,ownerScope:i})?t:null;try{let t={auth:e.auth,curve:`ed25519`,chain:`near`,materialActivation:e.materialActivation,walletId:r(a),nearAccountId:n(o),nearEd25519SigningKeyId:e.nearEd25519SigningKeyId,signerSlot:e.signerSlot,thresholdSessionId:s,source:`public_capability_reference`};if(!c)return{...t,state:`deferred`,authorizationState:`authorization_required`};let i=Math.floor(Number(c.status.expiresAtMs)||0),l=ne(e)?e:null,u=l?Math.min(l.expiresAtMs,i):i,d=u>0&&u<=Date.now()?`expired`:`ready`;return{...t,state:d,authorizationState:`authorized`,authorization:c,remainingUses:c.status.remainingUses,...u>0?{expiresAtMs:u}:{}}}catch{return null}}function A(e){if(e.state===`missing`)return!1;if(e.curve!==`ecdsa`){let t=String(e.thresholdSessionId||``).trim();return e.thresholdSessionId!==t||!t?!1:e.authorizationState===`authorization_required`?e.state===`deferred`:!e.authorization.operationCredential.walletSessionId||!e.authorization.session.quotaId||e.authorization.status.remainingUses<=0||e.authorization.status.expiresAtMs<=Date.now()?!1:e.auth.kind===`email_otp`||e.auth.kind===`passkey`}return e.auth.kind!==`email_otp`&&e.auth.kind!==`passkey`||e.source===`active_wallet_authority`&&(e.state!==`deferred`||e.authorizationState!==`authorization_required`||e.runtime.kind!==`active_wallet_authority_ecdsa_runtime_v1`||String(e.runtime.walletId)!==String(e.key.walletId)||!t(e.runtime.materialActivation,e.materialActivation)||e.runtime.publicFacts!==e.publicFacts)||!(e.key&&String(e.key.walletId||``).trim()&&String(e.key.ecdsaThresholdKeyId||``).trim()&&String(e.key.signingRootId||``).trim()&&String(e.key.signingRootVersion||``).trim()&&Array.isArray(e.key.participantIds)&&e.key.participantIds.length>0&&String(e.key.thresholdOwnerAddress||``).trim()&&`publicFacts`in e&&e.publicFacts&&e.publicFacts.keyHandle&&String(e.publicFacts.publicKeyB64u||``).trim()&&Array.isArray(e.publicFacts.participantIds)&&e.publicFacts.participantIds.length>0&&String(e.publicFacts.thresholdOwnerAddress||``).trim())||e.source===`canonical_capability`&&!ee(e)?!1:u(e.auth)===`passkey`?e.resolvedKey?.kind===`resolved_evm_family_ecdsa_key`&&e.resolvedKey.authBinding.kind===`passkey_ecdsa_auth_binding`&&String(e.resolvedKey.walletId)===String(e.key.walletId)&&e.resolvedKey.publicFacts===e.publicFacts:!(`resolvedKey`in e)}function j(e){return e===`missing`?null:e}function ie(e){return e||`unknown`}function ae(e){let t=Math.floor(Number(e));return Number.isFinite(t)&&t>0?t:null}function oe(e){let t=Math.max(0,Math.floor(Number(e)));return Number.isFinite(t)?t:null}function se(e){if(!A(e.lane)||e.lane.curve!==`ed25519`)return null;let t=j(e.lane.state);if(!t)return null;let n={kind:`lane_candidate`,walletId:e.lane.walletId,nearAccountId:e.lane.nearAccountId,nearEd25519SigningKeyId:e.lane.nearEd25519SigningKeyId,signerSlot:e.lane.signerSlot,materialActivation:e.lane.materialActivation,auth:e.lane.auth,curve:`ed25519`,chain:`near`,thresholdSessionId:e.lane.thresholdSessionId,state:t,remainingUses:oe(e.lane.remainingUses),expiresAtMs:ae(e.lane.expiresAtMs),updatedAtMs:ae(e.lane.updatedAtMs),source:ie(e.lane.source)};return e.lane.authorizationState===`authorization_required`?{...n,authorizationState:`authorization_required`,state:`deferred`}:{...n,authorizationState:`authorized`,authorization:e.lane.authorization}}function ce(e){if(!A(e.lane)||e.lane.curve!==`ecdsa`)return null;let t=j(e.lane.state);if(!t)return null;let n=u(e.lane.auth),i={kind:`lane_candidate`,walletId:r(e.walletId),auth:e.lane.auth,authMethod:n,curve:`ecdsa`,chain:e.lane.chainTarget.kind,key:e.lane.key,materialActivation:e.lane.materialActivation,...n===`passkey`?{resolvedKey:e.lane.resolvedKey}:{},keyHandle:e.lane.publicFacts.keyHandle,chainTarget:e.lane.chainTarget};switch(e.lane.source){case`active_wallet_authority`:return{...i,source:`active_wallet_authority`,runtime:e.lane.runtime,authorizationState:`authorization_required`,state:`deferred`};case`canonical_capability`:return e.lane.authorization?{...i,source:`canonical_capability`,authorizationState:`authorized`,authorization:e.lane.authorization,state:t}:{...i,source:`canonical_capability`,authorizationState:`authorization_required`,state:`deferred`};default:return e.lane}}function le(e){if(!e||e.curve!==`ecdsa`||!e.chainTarget||!(`key`in e)||!e.key||!(`auth`in e)||!e.auth)return null;let t=u(e.auth);try{let n=d(e.auth);return[t,`ecdsa`,i(e.chainTarget),n,ue(e),w(e.materialActivation)].join(`:`)}catch{return null}}function ue(e){return s({walletId:e.key.walletId,publicFacts:e.publicFacts})}function M(e){if(!e||e.curve!==`ed25519`||e.chain!==`near`||e.state===`missing`||!e.auth)return null;let t=u(e.auth),n=String(e.walletId||``).trim(),r=String(e.nearAccountId||``).trim(),i=String(e.nearEd25519SigningKeyId||``).trim(),a=String(e.signerSlot||``).trim(),o=String(e.thresholdSessionId||``).trim(),s=e.materialActivation?w(e.materialActivation):``;return!t||!n||!r||!i||!a||!o||!s?null:[n,r,i,a,t,`ed25519`,`near`,o,s].join(`:`)}function N(e){return{curve:`ecdsa`,chainTarget:e.chainTarget,state:`missing`}}function de(e,t){let n=i(t);return e.ecdsa.lanesByTarget[n]||N({chainTarget:t})}function fe(e,t){let n=i(t);return e.ecdsa.candidatesByTarget[n]||[]}function pe(){return{curve:`ed25519`,chain:`near`,state:`missing`}}function P(e){let t=Math.floor(Number(e.remainingUses)),n=Math.floor(Number(e.expiresAtMs)),r={};return Number.isFinite(t)&&t>=0&&(r.remainingUses=t),Number.isFinite(n)&&n>0&&(r.expiresAtMs=n),Object.keys(r).length?r:void 0}function F(e){return Math.floor(Number(`updatedAtMs`in e?e.updatedAtMs:0)||0)}function I(e){return m(e.expiresAtMs??e.policyHint?.expiresAtMs)}function L(e){switch(e.state){case`ready`:return 5;case`restorable`:return 4;case`deferred`:return 3;case`expired`:case`exhausted`:return 2;case`missing`:return 1}}function R(e){return!A(e)||e.curve===`ecdsa`?0:e.source===`durable_sealed_record`?1:0}function z(e,t){return L(e)-L(t)||R(e)-R(t)||F(e)-F(t)}function me(e,t){return z(e,t)}function he(e,t){return L(e)-L(t)||R(e)-R(t)||F(e)-F(t)}function B(e){let t=d(e.auth),n=String(e.walletId||``).trim(),r=String(e.nearAccountId||``).trim(),i=String(e.nearEd25519SigningKeyId||``).trim(),a=String(e.signerSlot||``).trim(),o=w(e.materialActivation);return!t||!n||!r||!i||!a||!o?null:{walletId:n,authKey:t,nearAccountId:r,nearEd25519SigningKeyId:i,signerSlot:a,materialActivationKey:o}}function V(e){return[e.walletId,e.authKey,e.nearAccountId,e.nearEd25519SigningKeyId,e.signerSlot,e.materialActivationKey].map(e=>encodeURIComponent(e)).join(`|`)}function ge(e){if(!A(e)||e.curve!==`ed25519`)return null;let t=B(e);return t?{groupKey:t,lane:e}:null}function H(e,t){return me(t,e)}function U(e,t){return e>t?1:t>e?-1:0}function W(e,t){let n=e.localeCompare(t);return n>0?1:n<0?-1:0}function G(e){for(let t of e)if(t!==0)return t;return 0}function _e(e){return[]}function ve(e){return!0}function ye(e){return I(e.lane)}function be(){return`exact_target`}function xe(e,t){return G([U(L(e.lane),L(t.lane)),U(R(e.lane),R(t.lane)),W(Se(e.lane),Se(t.lane))])}function Se(e){return[e.thresholdSessionId,e.authorizationState===`authorized`?e.authorization.operationCredential.walletSessionId:``,e.authorizationState===`authorized`?e.authorization.session.quotaId:``,e.source||`durable_sealed_record`].map(e=>String(e)).join(`|`)}const Ce={groupKey:we,groupKeyString:V,groupConflicts:_e,supersession:{isOperationUsable:ve,generation:ye,exactness:be,tieBreak:xe}};function we(e){return e.groupKey}function Te(e){let t=new Map;for(let n of e){let e=V(n.groupKey);t.set(e,[...t.get(e)||[],n])}return t}function Ee(e,t){let n=h(e,Ce);switch(n.kind){case`selected`:return[n.selectedFact.lane];case`no_current_lane`:return[];case`conflicting_key_material`:return t.push({curve:`ed25519`,source:`canonical_lane_inventory`,reason:`conflicting_key_material`,message:`Ed25519 canonical lane inventory has conflicting material facts`}),[];case`ambiguous_material`:return t.push({curve:`ed25519`,source:`canonical_lane_inventory`,reason:`ambiguous_material`,message:`Ed25519 canonical lane inventory has incomparable usable records`}),[];default:return n}}function De(e,t){let n=e.map(ge).filter(e=>e!==null),r=[];for(let e of Te(n).values())r.push(...Ee(e,t));return r.sort(H)}function Oe(e){if(!A(e)||e.curve!==`ed25519`)return null;let t=String(e.thresholdSessionId||``).trim();return e.authorizationState!==`authorized`||!t?null:`${e.authorization.operationCredential.walletSessionId}:${e.authorization.session.quotaId}:${t}`}function ke(e){if(!A(e.primaryLane)||e.primaryLane.curve!==`ed25519`||D(e.primaryLane)!==`passkey`)return e.primaryLane;let t=Oe(e.primaryLane);return t&&e.candidates.find(e=>A(e)&&e.curve===`ed25519`&&D(e)===`email_otp`&&Oe(e)===t)||e.primaryLane}function Ae(){try{return globalThis.localStorage?.getItem(`seams:debug:signing-session`)===`1`}catch{return!1}}function K(e){return e?A(e)?{present:!0,authMethod:u(e.auth),curve:e.curve,keyHandle:e.publicFacts.keyHandle,walletId:e.key.walletId,chainTarget:e.chainTarget,targetKey:i(e.chainTarget),state:e.state,source:e.source,evmFamilyKeyFingerprint:ue(e),ecdsaThresholdKeyId:e.key.ecdsaThresholdKeyId,participantIds:e.publicFacts.participantIds,thresholdOwnerAddress:e.publicFacts.thresholdOwnerAddress,remainingUses:e.remainingUses,expiresAtMs:e.expiresAtMs,updatedAtMs:e.updatedAtMs}:{present:!0,curve:e.curve,chainTarget:e.chainTarget,state:e.state}:{present:!1}}function je(e){switch(e.source){case`canonical_capability`:return`canonical_capability`;case`active_wallet_authority`:return`active_wallet_authority`;default:return e}}function Me(e){let t=d(e.auth);return{walletId:String(e.key.walletId),authKey:t,materialActivationKey:w(e.materialActivation),ecdsaThresholdKeyId:String(e.key.ecdsaThresholdKeyId),signingRootId:String(e.key.signingRootId),signingRootVersion:String(e.key.signingRootVersion||`default`)}}function Ne(e){return[e.walletId,e.authKey,e.materialActivationKey,e.ecdsaThresholdKeyId,e.signingRootId,e.signingRootVersion].map(e=>encodeURIComponent(e)).join(`|`)}function Pe(e){let t=Me(e);return t?{source:je(e),groupKey:t,chainTargetKey:i(e.chainTarget),lane:e}:null}function Fe(e){let t=d(e.auth);return[String(e.key.walletId),t,w(e.materialActivation),String(e.key.signingRootId),String(e.key.signingRootVersion||`default`)].map(e=>encodeURIComponent(e)).join(`|`)}function q(e,t){return[...new Set(e.map(e=>t(e.lane)).filter(Boolean))].sort()}function Ie(e){return[{field:`ecdsaThresholdKeyId`,values:q(e.facts,e=>String(e.key.ecdsaThresholdKeyId||``))},{field:`thresholdOwnerAddress`,values:q(e.facts,e=>String(e.publicFacts.thresholdOwnerAddress||``).toLowerCase())},{field:`keyHandle`,values:q(e.facts,e=>String(e.publicFacts.keyHandle||``))},{field:`publicKeyB64u`,values:q(e.facts,e=>String(e.publicFacts.publicKeyB64u||``))},{field:`participantIds`,values:q(e.facts,e=>e.publicFacts.participantIds.map(e=>Number(e)).join(`,`))}].filter(e=>e.values.length>1).map(t=>({groupKey:e.key,field:t.field,values:t.values}))}function Le(e){let t=new Map;for(let n of e){let e=Fe(n.lane);e&&t.set(e,[...t.get(e)||[],n])}let n=new Map;for(let[e,r]of t){let t=r[0];if(!t)continue;let i=Ie({key:t.groupKey,facts:r});i.length&&n.set(e,i)}return n}function Re(e){let t=Fe(e.fact.lane);return t&&e.conflictsByFamilyGroup.get(t)||[]}function ze(e){return e.filter(e=>A(e)&&e.curve===`ecdsa`).map(Pe).filter(e=>e!==null)}function Be(e){return e.source===`active_wallet_authority`?2:1}function Ve(e){return e.groupKey}function He(e){let t=e[0];return t?Ie({key:t.groupKey,facts:e}):[]}function Ue(e){return e.lane.source===`active_wallet_authority`?!0:e.lane.state!==`deferred`||!e.lane.authorization}function We(e){return I(e.lane)}function Ge(e){return`exact_target`}function J(e){return[w(e.materialActivation),e.source,i(e.chainTarget)].map(e=>String(e)).join(`|`)}function Ke(e,t){return G([U(L(e.lane),L(t.lane)),U(Be(e.lane),Be(t.lane)),W(J(e.lane),J(t.lane))])}const qe={groupKey:Ve,groupKeyString:Ne,groupConflicts:He,supersession:{isOperationUsable:Ue,generation:We,exactness:Ge,tieBreak:Ke}};function Je(e){let t=new Map;for(let n of e)t.set(Ne(n.groupKey),n.groupKey);return[...t.values()]}function Ye(e){let t=h(e,qe);switch(t.kind){case`selected`:return{kind:`selected`,selectedFact:t.selectedFact,supersededFacts:t.supersededFacts};case`no_current_lane`:return{kind:`no_current_lane`,unusableFacts:t.unusableFacts};case`conflicting_key_material`:return{kind:`conflicting_key_material`,conflicts:t.conflicts};case`ambiguous_material`:return{kind:`ambiguous_material`,candidates:Je(t.candidates),candidateFacts:t.candidates};default:return t}}function Xe(e){return A(e)?J(e):null}function Ze(e){let t={},n={},r=Object.fromEntries(Object.entries(e.candidatesByTarget).map(([e,t])=>[e,Qe(t,Xe)])),a=Le(Object.values(r).flatMap(ze));for(let o of e.targets){let s=i(o),c=ze(r[s]||[]),l=c.flatMap(e=>Re({fact:e,conflictsByFamilyGroup:a}));if(l.length){e.invalidLanes.push({curve:`ecdsa`,source:`canonical_lane_inventory`,reason:`conflicting_key_material`,targetKey:s,groupKey:l[0]?.groupKey,conflicts:l}),t[s]=[],n[s]=N({chainTarget:o});continue}let u=Ye(c);switch(u.kind){case`selected`:t[s]=[u.selectedFact.lane],n[s]=u.selectedFact.lane;break;case`no_current_lane`:t[s]=[],n[s]=N({chainTarget:o});break;case`conflicting_key_material`:e.invalidLanes.push({curve:`ecdsa`,source:`canonical_lane_inventory`,reason:`conflicting_key_material`,targetKey:s,groupKey:u.conflicts[0]?.groupKey,conflicts:u.conflicts}),t[s]=[],n[s]=N({chainTarget:o});break;case`ambiguous_material`:e.invalidLanes.push({curve:`ecdsa`,source:`canonical_lane_inventory`,reason:`ambiguous_material`,targetKey:s}),t[s]=[],n[s]=N({chainTarget:o});break}}return{lanesByTarget:n,candidatesByTarget:t}}function Qe(e,t,n=z){let r=new Map,i=[];for(let n of e){let e=t(n);if(!e){i.push(n);continue}r.set(e,[...r.get(e)||[],n])}return[...[...r.values()].map(e=>[...e].sort((e,t)=>n(t,e))[0]),...i]}function $e(e){let t=new Set(e.filter(e=>A(e)&&e.curve===`ed25519`&&e.source===`durable_sealed_record`&&(e.state===`ready`||e.state===`restorable`)).map(B).filter(e=>e!==null).map(V));return t.size?e.filter(e=>{if(!A(e)||e.curve!==`ed25519`||e.source!==`public_capability_reference`)return!0;let n=B(e);return!n||!t.has(V(n))}):[...e]}async function et(e,t){return e.state===`missing`||d(e.auth)!==d(t.auth)||!await rt(e,t)?!1:t.auth.kind===`email_otp`?!0:`keyFamily`in t&&t.keyFamily===`ecdsa`?!1:e.signerSlot===t.signerSlot}function tt(e,t){return e.state===`missing`||d(e.auth)!==d(t.auth)?!1:nt(e,t)}function nt(e,t){let n=t.auth.kind===`email_otp`?t.ownerAuthority:void 0;if(!n)return!0;if(e.curve===`ecdsa`&&e.source===`active_wallet_authority`)return e.runtime.factorAuthorityRef.walletAuthMethodId===n.walletAuthMethodId&&String(e.runtime.factorAuthorityRef.authorityDigest)===String(n.authorityDigest);if(e.curve===`ecdsa`&&e.source===`canonical_capability`){let t=e.capability.manifest.signer.authority;return t.walletAuthMethodId===n.walletAuthMethodId&&String(t.authorityDigest)===String(n.authorityDigest)}return!1}async function rt(e,t){let n=t.auth.kind===`email_otp`?t.ownerAuthority:void 0;if(!n)return!0;if(e.state===`missing`||e.curve!==`ed25519`)return!1;if(e.authorizationState===`authorization_required`)return!0;try{let t=await a({authority:e.authorization.selectedFactorAuthority});return t.walletId===e.walletId&&t.walletAuthMethodId===n.walletAuthMethodId&&t.authorityDigest===n.authorityDigest}catch{return!1}}async function it(e,t){let n=[];for(let r of e)await et(r,t)&&n.push(r);return n}async function at(e,t){let n=r(e.walletId),a=new Map;for(let t of e.ecdsaChainTargets)a.set(i(t),t);let o=[...a.values()],[s,c,l,d]=await Promise.all([t.listSealedRecordsForWallet({walletId:n,filter:{...e.authMethod?{authMethod:e.authMethod}:{},curve:`ed25519`}}),t.listPublicCapabilityReferences?.()??[],t.readActiveWalletSessionAuthorization?.(n)??{kind:`missing`},o.length>0&&t.listCanonicalEcdsaLanesForWallet?t.listCanonicalEcdsaLanesForWallet({walletId:n}):[]]),f=l.kind===`found`?l.authorization:null,p=[...o],m={},h={},g={};for(let e of p){let t=i(e);m[t]=N({chainTarget:e}),h[t]=[],g[t]=0}let _=[],v=0,y=Ae(),b=[],x=[];for(let t of s){let n=te(t,f,e.ownerScope);if(!n)continue;_.push(n);let r=F(n);v=Math.max(v,r)}for(let r of c){if(String(r.walletId)!==String(n))continue;let i=l.kind===`exhausted`||l.kind===`expired`;if(!t.isPublicCapabilityActive?.(r)&&!i)continue;let a=re(r,f,e.ownerScope);a&&(e.authMethod&&u(a.auth)!==e.authMethod||_.push(a))}for(let t of d){let r=u(t.auth);if(e.authMethod&&r!==e.authMethod||String(t.key.walletId)!==String(n))continue;let o=i(t.chainTarget);if(!a.has(o))continue;h[o]||=[],h[o].push(t);let s=F(t);v=Math.max(v,s),b.push({result:`accepted`,targetKey:o,lane:K(t)})}let S=o.length>0&&t.listActiveWalletAuthorityEcdsaLanesForWallet?await t.listActiveWalletAuthorityEcdsaLanesForWallet({walletId:n,chainTargets:o}):[];for(let t of S){let r=u(t.auth);if(e.authMethod&&r!==e.authMethod||String(t.key.walletId)!==String(n))continue;let o=i(t.chainTarget);a.has(o)&&(h[o]||=[],h[o].push(t),b.push({result:`accepted`,targetKey:o,lane:K(t)}))}let C=e.ownerScope,w=C?await it(_,C):_;if(C)for(let e of Object.keys(h))h[e]=(h[e]||[]).filter(e=>tt(e,C));let T=De(Qe($e(w),M,he).sort(H),x),ee=ke({primaryLane:T[0]||pe(),candidates:T}),E=Ze({targets:p,candidatesByTarget:Ze({targets:p,candidatesByTarget:h,invalidLanes:x}).candidatesByTarget,invalidLanes:x}),D={walletId:n,generation:v,ecdsa:{targets:p,lanesByTarget:E.lanesByTarget,candidatesByTarget:E.candidatesByTarget},lanes:{ed25519:{near:ee}},candidates:{ed25519:{near:T}},diagnostics:{invalidLanes:x}},O=p.map(e=>{let t=i(e),n=D.ecdsa.candidatesByTarget[t]||[],r=D.ecdsa.lanesByTarget[t],a=r?.state||`missing`;return n.length>0&&a!==`missing`?null:{chainTarget:e,targetKey:t,candidateCount:n.length,selectedLane:K(r)}}).filter(e=>!!e),k={walletId:n,authMethod:e.authMethod||`any`,requestedTargets:p.map(e=>({chainTarget:e,targetKey:i(e)})),sealedRecordCount:0,runtimeRecordCount:d.length,durableDiscovery:[],runtimeDiscovery:b,resultSelectedLanesByTarget:Object.fromEntries(Object.entries(D.ecdsa.lanesByTarget).map(([e,t])=>[e,K(t)])),resultCandidatesByTarget:Object.fromEntries(Object.entries(D.ecdsa.candidatesByTarget).map(([e,t])=>[e,t.map(e=>K(e))]))};if(y&&O.length>0)try{console.warn(`[SigningLanes][available][ecdsa][missing-candidates]`,JSON.stringify({...k,missingEcdsaTargets:O}))}catch{}if(y)try{console.info(`[SigningLanes][available][ecdsa]`,JSON.stringify(k))}catch{}return D}function Y(t,n){return e(t,{fallback:n,min:1})}function X(e,t){let n=Error(`[SigningEngine] ${t}`);return n.code=e,n}function ot(e,t){let n=e.get(t);if(n)return n;let r={running:!1,items:[]};return e.set(t,r),r}function st(e){e.timeoutHandle&&=(clearTimeout(e.timeoutHandle),null)}async function ct(e,t){let n=e.get(t);if(!(!n||n.running)){n.running=!0;try{for(;n.items.length>0;){let e=n.items.shift();if(e&&!e.isSettled()){if(st(e),e.shouldAbort?.()){e.reject(e.makeCancelledError(`cancelled`));continue}if(Date.now()-e.enqueuedAtMs>e.timeoutMs){e.reject(e.makeTimeoutError(e.timeoutMs));continue}try{await e.run()}catch(t){e.reject(t)}}}}finally{n.running=!1,n.items.length===0&&e.get(t)===n?e.delete(t):n.items.length>0&&ct(e,t)}}}function lt(e){for(let t of e.values()){for(let e of t.items)st(e),e.reject(e.makeCancelledError(`queue_cleared`));t.items.length=0}e.clear()}function ut(e){return[`material`,encodeURIComponent(String(e.materialActivation.materialOwner)),encodeURIComponent(String(e.materialActivation.capability)),encodeURIComponent(String(e.materialActivation.activationId))].join(`:`)}async function dt(e){let{labels:t,owner:n}=e,r=String(e.queueKey||``).trim();if(!r)throw Error(`[SigningEngine] ${t.queue} requires non-empty queueKey`);if(!e.enabled)return await e.task();let i=Y(e.maxQueueLength,8),a=Y(e.queueTimeoutMs,45e3),o=ot(e.queueByKey,r);if(o.items.length+(o.running?1:0)>=i)throw X(`commit_queue_overflow`,`${t.queue} overflow for ${n} (queueKey=${r}, max=${i})`);return await new Promise((i,s)=>{let c=null,l=!1,u=()=>{c&&=(clearTimeout(c),null)},d=e=>{l||(l=!0,u(),s(e))},f=e=>{l||(l=!0,u(),i(e))},p=e=>X(`cancelled`,`${t.queuedOperation} cancelled for ${n} (queueKey=${r}${e===`queue_cleared`?`, queue_cleared`:``})`),m=e=>X(`commit_queue_timeout`,`${t.queue} timeout for ${n} (queueKey=${r}, waited>${e}ms before start)`),h={enqueuedAtMs:Date.now(),timeoutMs:a,shouldAbort:e.shouldAbort,timeoutHandle:null,isSettled:()=>l,reject:d,makeCancelledError:p,makeTimeoutError:m,run:async()=>{if(e.shouldAbort?.())throw p(`cancelled`);f(await e.task())}};c=setTimeout(()=>{if(h.isSettled())return;let t=o.items.indexOf(h);t>=0&&o.items.splice(t,1),d(m(a)),!o.running&&o.items.length===0&&e.queueByKey.get(r)===o&&e.queueByKey.delete(r)},a),h.timeoutHandle=c,o.items.push(h),ct(e.queueByKey,r)})}function Z(e){let t={walletId:p(e.laneIdentity),authMethod:u(e.laneIdentity.auth),laneIdentity:e.laneIdentity};return e.kind===`ecdsa`?{...t,walletSessionId:e.authorization.operationCredential.walletSessionId,quotaId:e.authorization.session.quotaId}:{...t,walletSessionId:e.laneIdentity.walletSessionId,quotaId:e.laneIdentity.quotaId}}function Q(e){return{kind:`invalid`,...Z(e.source)}}function $(e){let t=Number(e);return!Number.isSafeInteger(t)||t<0?null:t}function ft(e){let t=$(e.expiresAtMs),n=$(e.detectedAtMs);if(t===null||t===0)throw Error(`Authoritative expired Wallet Session expiresAtMs is invalid`);if(n===null||n===0)throw Error(`Authoritative expired Wallet Session detectedAtMs is invalid`);if(t>n)throw Error(`Authoritative expired Wallet Session timeline is invalid`);return{kind:`expired`,...Z(e.source),expiresAtMs:t,detectedAtMs:n}}function pt(e){let t=$(e.observation.expiresAtMs);if(t===null||t===0)return Q({source:e.observation.source});let n=Z(e.observation.source);return t<=e.nowMs?{kind:`expired`,...n,expiresAtMs:t,detectedAtMs:e.nowMs}:{kind:`active`,...n,expiresAtMs:t}}function mt(e){let t=$(e.nowMs);if(t===null)return Q({source:e.observation.source});switch(e.observation.kind){case`found`:return pt({observation:e.observation,nowMs:t});case`missing`:return{kind:`missing`,...Z(e.observation.source)};case`unavailable`:return{kind:`unavailable`,...Z(e.observation.source)};case`invalid`:return Q({source:e.observation.source});default:return e.observation}}export{C as _,dt as a,D as c,le as d,ce as f,at as g,A as h,ut as i,fe as l,se as m,ft as n,T as o,M as p,lt as r,E as s,mt as t,de as u,w as v};
@@ -1 +1 @@
1
- import{a as e}from"./clientSessionPersistenceState-BHRUSWMt.js";async function t(t){return await e({...t,labels:{queue:`threshold Ed25519 commit queue`,queuedOperation:`threshold Ed25519 queued commit`},owner:String(t.nearAccountId)})}export{t};
1
+ import{a as e}from"./clientSessionPersistenceState-BgO4P6CZ.js";async function t(t){return await e({...t,labels:{queue:`threshold Ed25519 commit queue`,queuedOperation:`threshold Ed25519 queued commit`},owner:String(t.nearAccountId)})}export{t};
@@ -0,0 +1 @@
1
+ function e(e){return typeof e==`string`&&e.trim().toLowerCase().split(/[-_]/,1)[0]===`ja`?`ja`:`en`}const t={targetDepth:{min:1,max:64},maxRefillInFlight:{min:1,max:8},refillAttemptTimeoutMs:{min:5e3,max:12e4}};export{e as n,t};
@@ -1 +1 @@
1
- import{B as e}from"./domainIds-C3fUa33Q.js";import{t}from"./theme-BKaFqCAj.js";function n(e){if(!e||typeof e!=`object`)return{};let t={};for(let[n,r]of Object.entries(e))typeof r==`string`&&(t[n]=r);return t}function r(t){let n=e(t.value)||t.fallback;if(!n)throw Error(`[configPresets] Invalid config: appearance.theme.id must be non-empty`);return n}function i(e,t){if(!e||typeof e!=`object`)return{};let r=e[t];return!r||typeof r!=`object`?{}:n(r.colors)}function a(e){let a=e.fallback.mode,o=e.fallback.shape,s=t(e.value);if(s)return{id:e.fallback.id,mode:s,colors:{...e.fallback.colors,...i(e.legacyTokens,s)},...o?{shape:o}:{}};if(e.value==null)return{...e.fallback,colors:{...e.fallback.colors,...i(e.legacyTokens,a)}};if(typeof e.value!=`object`||Array.isArray(e.value))throw Error(`[configPresets] Invalid config: appearance.theme must be an object with id, mode, and optional colors`);let c=e.value,l=c.mode,u=l==null?a:t(l);if(!u)throw Error(`[configPresets] Invalid config: appearance.theme.mode must be 'light' or 'dark'`);let d=r({value:c.id,fallback:e.fallback.id}),f=d!==e.fallback.id,p={...f?{}:o||{},...n(c.shape)};return{id:d,mode:u,colors:{...f?{}:e.fallback.colors,...i(e.legacyTokens,u),...n(c.colors)},...Object.keys(p).length>0?{shape:p}:{}}}function o(e){if(e.value==null)return e.fallback;if(e.value!==`default`)throw Error(`[configPresets] Invalid config: appearance.palette must be 'default'`);return`default`}export{o as n,a as t};
1
+ import{B as e}from"./domainIds-C3fUa33Q.js";import{t}from"./theme-os0Salmo.js";function n(e){if(!e||typeof e!=`object`)return{};let t={};for(let[n,r]of Object.entries(e))typeof r==`string`&&(t[n]=r);return t}function r(t){let n=e(t.value)||t.fallback;if(!n)throw Error(`[configPresets] Invalid config: appearance.theme.id must be non-empty`);return n}function i(e,t){if(!e||typeof e!=`object`)return{};let r=e[t];return!r||typeof r!=`object`?{}:n(r.colors)}function a(e){let a=e.fallback.mode,o=e.fallback.shape,s=t(e.value);if(s)return{id:e.fallback.id,mode:s,colors:{...e.fallback.colors,...i(e.legacyTokens,s)},...o?{shape:o}:{}};if(e.value==null)return{...e.fallback,colors:{...e.fallback.colors,...i(e.legacyTokens,a)}};if(typeof e.value!=`object`||Array.isArray(e.value))throw Error(`[configPresets] Invalid config: appearance.theme must be an object with id, mode, and optional colors`);let c=e.value,l=c.mode,u=l==null?a:t(l);if(!u)throw Error(`[configPresets] Invalid config: appearance.theme.mode must be 'light' or 'dark'`);let d=r({value:c.id,fallback:e.fallback.id}),f=d!==e.fallback.id,p={...f?{}:o||{},...n(c.shape)};return{id:d,mode:u,colors:{...f?{}:e.fallback.colors,...i(e.legacyTokens,u),...n(c.colors)},...Object.keys(p).length>0?{shape:p}:{}}}function o(e){if(e.value==null)return e.fallback;if(e.value!==`default`)throw Error(`[configPresets] Invalid config: appearance.palette must be 'default'`);return`default`}export{o as n,a as t};
@@ -1 +1 @@
1
- import{k as e}from"./domainIds-C3fUa33Q.js";import{i as t,r as n}from"./base64-DW79QA0h.js";import{r}from"./canonicalPrimitives-BOzRXzfv.js";function i(e,t){if(typeof e!=`string`)throw Error(`EVM-family signing key slot id requires ${t}`);let n=e.trim();if(!n)throw Error(`EVM-family signing key slot id requires ${t}`);return n}function a(e){return encodeURIComponent(i(e,`non-empty components`))}function o(e){let t=e.split(`:`);return t.length===5&&t[0]===`wallet-key`&&t[1]===`evm-family`&&t.slice(2).every(e=>e.length>0)}function s(t){let n=e(t);return n.ok?o(String(n.value))?{ok:!0,value:String(n.value)}:{ok:!1,error:{code:`invalid`,message:`EVM-family signing key slot id must be wallet-key:evm-family:<walletId>:<signingRootId>:<signingRootVersion>`}}:n}function c(e,t=`evmFamilySigningKeySlotId`){let n=s(e);if(n.ok)return n.value;throw n.error.code===`missing`?Error(`${t} is required`):Error(`${t} must be an EVM-family signing key slot id`)}function l(e){return c([`wallet-key`,`evm-family`,a(e.walletId),a(e.signingRootId),a(e.signingRootVersion)].join(`:`))}const u=new TextEncoder;function d(e){let t=0;for(let n of e)t+=n.length;let n=new Uint8Array(t),r=0;for(let t of e)n.set(t,r),r+=t.length;return n}function f(e,t){if(!Number.isSafeInteger(e)||e<0||e>4294967295)throw Error(`${t} must be a non-negative u32`);return Uint8Array.from([e>>>24&255,e>>>16&255,e>>>8&255,e&255])}function p(e,t){if(!Number.isSafeInteger(e)||e<0)throw Error(`${t} must be a non-negative safe integer`);let n=BigInt(e),r=new Uint8Array(8);for(let e=7;e>=0;--e)r[e]=Number(n&255n),n>>=8n;return r}function m(e,t){return d([f(e.length,`${t}.length`),e])}function h(e,t){if(typeof e!=`string`)throw Error(`${t} must be a string`);return m(u.encode(e),t)}function g(e,t){try{let t=n(r(e));if(t.length!==32)throw Error(`must decode to 32 bytes`);return t}catch(e){throw Error(`${t} ${e instanceof Error?e.message:`is invalid`}`)}}function _(e,r){try{let r=n(e);if(r.length===0||t(r)!==e)throw Error(`must be canonical base64url`);return r}catch(e){throw Error(`${r} ${e instanceof Error?e.message:`is invalid`}`)}}export{h as a,l as c,_ as i,c as l,m as n,f as o,g as r,p as s,d as t};
1
+ import{k as e}from"./domainIds-C3fUa33Q.js";import{i as t,r as n}from"./base64-BmKR3UqU.js";import{r}from"./canonicalPrimitives-BMP5yILS.js";function i(e,t){if(typeof e!=`string`)throw Error(`EVM-family signing key slot id requires ${t}`);let n=e.trim();if(!n)throw Error(`EVM-family signing key slot id requires ${t}`);return n}function a(e){return encodeURIComponent(i(e,`non-empty components`))}function o(e){let t=e.split(`:`);return t.length===5&&t[0]===`wallet-key`&&t[1]===`evm-family`&&t.slice(2).every(e=>e.length>0)}function s(t){let n=e(t);return n.ok?o(String(n.value))?{ok:!0,value:String(n.value)}:{ok:!1,error:{code:`invalid`,message:`EVM-family signing key slot id must be wallet-key:evm-family:<walletId>:<signingRootId>:<signingRootVersion>`}}:n}function c(e,t=`evmFamilySigningKeySlotId`){let n=s(e);if(n.ok)return n.value;throw n.error.code===`missing`?Error(`${t} is required`):Error(`${t} must be an EVM-family signing key slot id`)}function l(e){return c([`wallet-key`,`evm-family`,a(e.walletId),a(e.signingRootId),a(e.signingRootVersion)].join(`:`))}const u=new TextEncoder;function d(e){let t=0;for(let n of e)t+=n.length;let n=new Uint8Array(t),r=0;for(let t of e)n.set(t,r),r+=t.length;return n}function f(e,t){if(!Number.isSafeInteger(e)||e<0||e>4294967295)throw Error(`${t} must be a non-negative u32`);return Uint8Array.from([e>>>24&255,e>>>16&255,e>>>8&255,e&255])}function p(e,t){if(!Number.isSafeInteger(e)||e<0)throw Error(`${t} must be a non-negative safe integer`);let n=BigInt(e),r=new Uint8Array(8);for(let e=7;e>=0;--e)r[e]=Number(n&255n),n>>=8n;return r}function m(e,t){return d([f(e.length,`${t}.length`),e])}function h(e,t){if(typeof e!=`string`)throw Error(`${t} must be a string`);return m(u.encode(e),t)}function g(e,t){try{let t=n(r(e));if(t.length!==32)throw Error(`must decode to 32 bytes`);return t}catch(e){throw Error(`${t} ${e instanceof Error?e.message:`is invalid`}`)}}function _(e,r){try{let r=n(e);if(r.length===0||t(r)!==e)throw Error(`must be canonical base64url`);return r}catch(e){throw Error(`${r} ${e instanceof Error?e.message:`is invalid`}`)}}export{h as a,l as c,_ as i,c as l,m as n,f as o,g as r,p as s,d as t};
@@ -1 +1 @@
1
- import{n as e}from"./normalization-C6fQN6mW.js";import{g as t,h as n,m as r,p as i}from"./signingFlow-DtugI_2z.js";function a(e){try{return JSON.stringify(e,(e,t)=>typeof t==`bigint`?t.toString():t,2)}catch{return String(e)}}function o(e,t,n){let r=String(t??``).trim();if(r)return{label:e,value:r,...typeof n==`string`&&n.trim()?{copyValue:n}:{}}}function s(t){let n=e(t.input);if(n!==`0x`&&!(!Array.isArray(t.abi)||t.abi.length===0))return{dataHex:n,abi:t.abi}}function c(a){let{rootId:c,call:l,tx:u}=a,d=String(l.to||``).trim(),f=e(String(l.input||`0x`));if(f===`0x`)return;let p=t(f),m=n(p,d)||`contract function`,h=i(u.gasLimit),g=o(`Data`,r(f),f);g&&(g.renderAs=`file-content`,g.hideLabel=!0,g.hideChevron=!0);let _=[g,o(`Value (wei)`,l.value.toString()),o(`Valid Before`,u.validBefore==null?void 0:u.validBefore.toString()),o(`Valid After`,u.validAfter==null?void 0:u.validAfter.toString())].filter(Boolean),v={id:`${c}.call`,kind:`generic.contractCall`,label:`Calling ${m} using ${h} gas`,to:d,value:l.value.toString(),selector:p,fields:_},y=s({input:f,abi:l.abi});return y&&(v.abiDecodeHint=y),v}function l(n){let{call:r,callIndex:i,callCount:a,tx:o}=n,s=`tempo.tx.${i}`,l=String(r.to||``).trim(),u=a>1?`Transaction ${i+1} to contract`:`Transaction to contract`,d=c({rootId:s,call:r,tx:o});return{id:s,kind:`tempo.eip2718`,label:u,txTypeHex:`0x76`,txTypeName:`TempoTransaction`,to:l,selector:t(e(String(r.input||`0x`))),...d?{children:[d]}:{}}}function u(e){if(e.kind!==`tempoTransaction`)return[{id:`tempo.raw`,kind:`raw.fallback`,label:`Unsupported Tempo Payload`,raw:a(e)}];let t=Array.isArray(e.tx.calls)?e.tx.calls:[];return t.length?t.map((n,r)=>l({call:n,callIndex:r,callCount:t.length,tx:e.tx})):[{id:`tempo.raw`,kind:`raw.fallback`,label:`Tempo Payload Missing Calls`,raw:a(e)}]}function d(e){let t=u(e.request),n=BigInt(0);if(e.request.kind===`tempoTransaction`)for(let t of e.request.tx.calls||[])n+=BigInt(t.value||0);return{chain:`tempo`,chainId:e.request.kind===`tempoTransaction`?e.request.tx.chainId:void 0,intentDigest:e.intentDigest,signerAccount:e.signerAccount,title:e.title||`Tempo Transaction`,subtitle:e.subtitle,operations:t,...n>0n?{totals:{nativeValue:n.toString(),nativeSymbol:`wei`}}:{}}}export{d as t};
1
+ import{n as e}from"./normalization-C6fQN6mW.js";import{g as t,h as n,m as r,p as i}from"./signingFlow-gl85GOW4.js";function a(e){try{return JSON.stringify(e,(e,t)=>typeof t==`bigint`?t.toString():t,2)}catch{return String(e)}}function o(e,t,n){let r=String(t??``).trim();if(r)return{label:e,value:r,...typeof n==`string`&&n.trim()?{copyValue:n}:{}}}function s(t){let n=e(t.input);if(n!==`0x`&&!(!Array.isArray(t.abi)||t.abi.length===0))return{dataHex:n,abi:t.abi}}function c(a){let{rootId:c,call:l,tx:u}=a,d=String(l.to||``).trim(),f=e(String(l.input||`0x`));if(f===`0x`)return;let p=t(f),m=n(p,d)||`contract function`,h=i(u.gasLimit),g=o(`Data`,r(f),f);g&&(g.renderAs=`file-content`,g.hideLabel=!0,g.hideChevron=!0);let _=[g,o(`Value (wei)`,l.value.toString()),o(`Valid Before`,u.validBefore==null?void 0:u.validBefore.toString()),o(`Valid After`,u.validAfter==null?void 0:u.validAfter.toString())].filter(Boolean),v={id:`${c}.call`,kind:`generic.contractCall`,label:`Calling ${m} using ${h} gas`,to:d,value:l.value.toString(),selector:p,fields:_},y=s({input:f,abi:l.abi});return y&&(v.abiDecodeHint=y),v}function l(n){let{call:r,callIndex:i,callCount:a,tx:o}=n,s=`tempo.tx.${i}`,l=String(r.to||``).trim(),u=a>1?`Transaction ${i+1} to contract`:`Transaction to contract`,d=c({rootId:s,call:r,tx:o});return{id:s,kind:`tempo.eip2718`,label:u,txTypeHex:`0x76`,txTypeName:`TempoTransaction`,to:l,selector:t(e(String(r.input||`0x`))),...d?{children:[d]}:{}}}function u(e){if(e.kind!==`tempoTransaction`)return[{id:`tempo.raw`,kind:`raw.fallback`,label:`Unsupported Tempo Payload`,raw:a(e)}];let t=Array.isArray(e.tx.calls)?e.tx.calls:[];return t.length?t.map((n,r)=>l({call:n,callIndex:r,callCount:t.length,tx:e.tx})):[{id:`tempo.raw`,kind:`raw.fallback`,label:`Tempo Payload Missing Calls`,raw:a(e)}]}function d(e){let t=u(e.request),n=BigInt(0);if(e.request.kind===`tempoTransaction`)for(let t of e.request.tx.calls||[])n+=BigInt(t.value||0);return{chain:`tempo`,chainId:e.request.kind===`tempoTransaction`?e.request.tx.chainId:void 0,intentDigest:e.intentDigest,signerAccount:e.signerAccount,title:e.title||`Tempo Transaction`,subtitle:e.subtitle,operations:t,...n>0n?{totals:{nativeValue:n.toString(),nativeSymbol:`wei`}}:{}}}export{d as t};
@@ -1 +1 @@
1
- import{h as e,r as t}from"./domainIds-C3fUa33Q.js";import{v as n,y as r}from"./primitives-cC0a9GRC.js";import{i,r as a}from"./base64-DW79QA0h.js";import{t as o}from"./canonicalPrimitives-BOzRXzfv.js";import{a as s,c as ee,o as c,s as l}from"./ecdsaChainTarget-DkOrgv4y.js";import{Ft as te,T as u,Vt as d,Xt as f,_t as p,bt as m,en as h,ft as g,i as _,n as v,nn as y,pt as ne,q as re,r as ie,t as ae,tn as oe,tt as se}from"./emailOtpEcdsaDerivationIdentity-BDVjvnmO.js";function b(e,t){let n=String(e??``).trim();if(!n)throw Error(`${t} must be a non-empty string`);return n}function ce(e){return b(e,`signing-session seal key version`)}function le(e){return b(e,`ECDSA client verifying share`)}function ue(e){return b(e,`ECDSA relayer key id`)}function de(e){return b(e,`ECDSA key handle`)}function fe(e){return e}function pe(e){if(typeof e!=`string`)throw Error(`ECDSA client verifying public key must be a string`);let t=e.trim();if(!/^[A-Za-z0-9_-]+$/.test(t))throw Error(`ECDSA client verifying public key must be unpadded base64url`);let n;try{n=a(t)}catch{throw Error(`ECDSA client verifying public key must be valid base64url`)}if(n.length!==33||i(n)!==t)throw Error(`ECDSA client verifying public key must be canonical base64url for 33 bytes`);if(n[0]!==2&&n[0]!==3)throw Error(`ECDSA client verifying public key must be compressed secp256k1`);return t}function x(e){return f(e)}function S(e){return b(e,`ECDSA role-local material handle`)}function C(e){return b(e,`ECDSA role-local binding digest`)}function w(e){return b(e,`ECDSA role-local durable material reference`)}function T(t){if(!t||typeof t!=`object`||Array.isArray(t))throw Error(`ECDSA role-local persisted material reference must be an object`);let n=t,r=Object.keys(n).sort(),i=[`bindingDigest`,`durableMaterialRef`,`kind`,`materialActivation`];if(r.length!==i.length||r.some((e,t)=>e!==i[t]))throw Error(`ECDSA role-local persisted material reference has unexpected fields`);if(n.kind!==`ecdsa_role_local_persisted_material_ref_v1`)throw Error(`ECDSA role-local persisted material reference kind is invalid`);let a=e(n.materialActivation);if(!a.ok)throw Error(a.error.message);return{kind:`ecdsa_role_local_persisted_material_ref_v1`,durableMaterialRef:w(n.durableMaterialRef),bindingDigest:C(n.bindingDigest),materialActivation:a.value}}function E(e){if(!e||typeof e!=`object`||Array.isArray(e))throw Error(`ECDSA role-local worker handle must be an object`);let t=e,n=Object.keys(t).sort(),r=[`bindingDigest`,`durableMaterialRef`,`kind`,`materialHandle`];if(n.length!==r.length||n.some((e,t)=>e!==r[t]))throw Error(`ECDSA role-local worker handle has unexpected fields`);if(t.kind!==`ecdsa_role_local_worker_handle_v1`)throw Error(`ECDSA role-local worker handle kind is invalid`);return{kind:`ecdsa_role_local_worker_handle_v1`,materialHandle:S(t.materialHandle),bindingDigest:C(t.bindingDigest),durableMaterialRef:w(t.durableMaterialRef)}}function D(e){throw Error(`Unhandled ECDSA role-local branch: ${String(e)}`)}function O(e,t){if(typeof e!=`string`||!e.trim())throw Error(`[platform][ecdsa-role-local] ${t} is required`);return e.trim()}function k(e,t,n){let r=O(e,t);if(a(r).length!==n)throw Error(`[platform][ecdsa-role-local] ${t} must decode to ${n} bytes`);return r}function A(e,t){let n=O(e,t),r=a(n);if(r.length!==33)throw Error(`[platform][ecdsa-role-local] ${t} must decode to 33 bytes`);if(r[0]!==2&&r[0]!==3)throw Error(`[platform][ecdsa-role-local] ${t} must be a compressed SEC1 key`);return n}function j(e){return A(e,`derivationClientSharePublicKey33B64u`)}function M(e){return A(e,`relayerPublicKey33B64u`)}function N(e){return A(e,`groupPublicKey33B64u`)}function P(e){let t=O(e,`ethereumAddress`).toLowerCase();if(!/^0x[0-9a-f]{40}$/.test(t))throw Error(`[platform][ecdsa-role-local] ethereumAddress must be an EVM address`);return t}function F(e){if(!Array.isArray(e)||e.length!==2||e[0]!==1||e[1]!==2)throw Error(`[platform][ecdsa-role-local] participantIds must be [1, 2]`);return[1,2]}function I(e){if(typeof e!=`object`||!e||Array.isArray(e))throw Error(`[platform][ecdsa-role-local] stateBlob must be an object`);if(Object.keys(e).sort().join(`,`)!==`curve,encoding,kind,producer,stateBlobB64u`)throw Error(`[platform][ecdsa-role-local] stateBlob envelope is invalid`);let t=O(Reflect.get(e,`kind`),`stateBlob.kind`),n=O(Reflect.get(e,`curve`),`stateBlob.curve`),r=O(Reflect.get(e,`encoding`),`stateBlob.encoding`),i=O(Reflect.get(e,`producer`),`stateBlob.producer`),o=O(Reflect.get(e,`stateBlobB64u`),`stateBlob.stateBlobB64u`);if(t!==`ecdsa_role_local_state_blob_v1`||n!==`secp256k1`||r!==`base64url`||i!==`signer_core`)throw Error(`[platform][ecdsa-role-local] stateBlob envelope is invalid`);try{a(o)}catch(e){throw Error(`[platform][ecdsa-role-local] stateBlob payload is not base64url`,{cause:e})}return{kind:`ecdsa_role_local_state_blob_v1`,curve:`secp256k1`,encoding:`base64url`,producer:`signer_core`,stateBlobB64u:o}}function L(e,t=`credentialIdB64u`){return O(e,t)}function R(e){if(typeof e!=`object`||!e||Array.isArray(e))throw Error(`[platform][ecdsa-role-local] authMethod must be an object`);switch(O(Reflect.get(e,`kind`),`authMethod.kind`)){case`passkey`:if(Object.keys(e).sort().join(`,`)!==`credentialIdB64u,kind,rpId`)throw Error(`[platform][ecdsa-role-local] passkey authMethod fields are invalid`);return{kind:`passkey`,credentialIdB64u:L(Reflect.get(e,`credentialIdB64u`)),rpId:u(Reflect.get(e,`rpId`))};case`email_otp`:if(Object.keys(e).sort().join(`,`)!==`authSubjectId,kind`)throw Error(`[platform][ecdsa-role-local] email OTP authMethod fields are invalid`);return{kind:`email_otp`,authSubjectId:_(Reflect.get(e,`authSubjectId`))};default:throw Error(`[platform][ecdsa-role-local] authMethod kind is invalid`)}}function z(e){return{kind:`passkey`,credentialIdB64u:L(e.credentialIdB64u),rpId:u(e.rpId)}}function B(e){return{kind:`email_otp`,authSubjectId:_(e.authSubjectId)}}function me(e,t){if(e.kind!==t.kind)return!1;switch(e.kind){case`passkey`:return t.kind===`passkey`?String(e.rpId)===String(t.rpId)&&String(e.credentialIdB64u)===String(t.credentialIdB64u):!1;case`email_otp`:return t.kind===`email_otp`?String(e.authSubjectId)===String(t.authSubjectId):!1;default:return D(e)}}function he(e){switch(e.authMethod.kind){case`passkey`:return{kind:`ecdsa_role_local_ready_passkey_v1`,stateBlob:e.stateBlob,publicFacts:e.publicFacts,authMethod:e.authMethod};case`email_otp`:return{kind:`ecdsa_role_local_ready_email_otp_v1`,stateBlob:e.stateBlob,publicFacts:e.publicFacts,authMethod:e.authMethod};default:return D(e.authMethod)}}function ge(e){if(typeof e!=`object`||!e||Array.isArray(e))throw Error(`[platform][ecdsa-role-local] chainTarget must be an object`);switch(O(Reflect.get(e,`kind`),`chainTarget.kind`).toLowerCase()){case`evm`:if(Object.keys(e).sort().join(`,`)!==`chainId,kind,namespace,networkSlug`)throw Error(`[platform][ecdsa-role-local] EVM chainTarget fields are invalid`);return s({kind:Reflect.get(e,`kind`),namespace:Reflect.get(e,`namespace`),chainId:Reflect.get(e,`chainId`),networkSlug:Reflect.get(e,`networkSlug`)});case`tempo`:if(Object.keys(e).sort().join(`,`)!==`chainId,kind,networkSlug`)throw Error(`[platform][ecdsa-role-local] Tempo chainTarget fields are invalid`);return s({kind:Reflect.get(e,`kind`),chainId:Reflect.get(e,`chainId`),networkSlug:Reflect.get(e,`networkSlug`)});default:throw Error(`[platform][ecdsa-role-local] chainTarget kind is invalid`)}}function V(e){if(typeof e!=`object`||!e||Array.isArray(e))throw Error(`[platform][ecdsa-role-local] publicFacts must be an object`);if(Object.keys(e).sort().join(`,`)!==`applicationBindingDigestB64u,chainTarget,clientParticipantId,contextBinding32B64u,derivationClientSharePublicKey33B64u,ecdsaThresholdKeyId,ethereumAddress,groupPublicKey33B64u,keyHandle,participantIds,publicCapability,relayerParticipantId,relayerPublicKey33B64u,signingRootId,signingRootVersion,walletId`)throw Error(`[platform][ecdsa-role-local] publicFacts fields are invalid`);if(Reflect.get(e,`clientParticipantId`)!==1)throw Error(`[platform][ecdsa-role-local] clientParticipantId must be 1`);if(Reflect.get(e,`relayerParticipantId`)!==2)throw Error(`[platform][ecdsa-role-local] relayerParticipantId must be 2`);let t=j(Reflect.get(e,`derivationClientSharePublicKey33B64u`)),n=M(Reflect.get(e,`relayerPublicKey33B64u`));if(String(t)===String(n))throw Error(`[platform][ecdsa-role-local] relayerPublicKey33B64u must differ from derivationClientSharePublicKey33B64u`);return{walletId:ee(Reflect.get(e,`walletId`)),chainTarget:ge(Reflect.get(e,`chainTarget`)),keyHandle:O(Reflect.get(e,`keyHandle`),`keyHandle`),ecdsaThresholdKeyId:ie(Reflect.get(e,`ecdsaThresholdKeyId`)),signingRootId:ae(Reflect.get(e,`signingRootId`)),signingRootVersion:v(Reflect.get(e,`signingRootVersion`)),applicationBindingDigestB64u:k(Reflect.get(e,`applicationBindingDigestB64u`),`applicationBindingDigestB64u`,32),clientParticipantId:1,relayerParticipantId:2,participantIds:F(Reflect.get(e,`participantIds`)),contextBinding32B64u:k(Reflect.get(e,`contextBinding32B64u`),`contextBinding32B64u`,32),derivationClientSharePublicKey33B64u:t,relayerPublicKey33B64u:n,groupPublicKey33B64u:N(Reflect.get(e,`groupPublicKey33B64u`)),ethereumAddress:P(Reflect.get(e,`ethereumAddress`)),publicCapability:re(Reflect.get(e,`publicCapability`))}}function H(e){return V(e)}function _e(e){let t=e.publicFacts;return H({walletId:t.walletId,chainTarget:e.chainTarget,keyHandle:t.keyHandle,ecdsaThresholdKeyId:t.ecdsaThresholdKeyId,signingRootId:t.signingRootId,signingRootVersion:t.signingRootVersion,applicationBindingDigestB64u:t.applicationBindingDigestB64u,clientParticipantId:t.clientParticipantId,relayerParticipantId:t.relayerParticipantId,participantIds:t.participantIds,contextBinding32B64u:t.contextBinding32B64u,derivationClientSharePublicKey33B64u:t.derivationClientSharePublicKey33B64u,relayerPublicKey33B64u:t.relayerPublicKey33B64u,groupPublicKey33B64u:t.groupPublicKey33B64u,ethereumAddress:t.ethereumAddress,publicCapability:t.publicCapability})}function U(e){if(typeof e!=`object`||!e||Array.isArray(e))throw Error(`[platform][ecdsa-role-local] ready record must be an object`);if(Object.keys(e).sort().join(`,`)!==`authMethod,kind,publicFacts,stateBlob`)throw Error(`[platform][ecdsa-role-local] ready record fields are invalid`);let t=O(Reflect.get(e,`kind`),`readyRecord.kind`);if(t!==`ecdsa_role_local_ready_passkey_v1`&&t!==`ecdsa_role_local_ready_email_otp_v1`)throw Error(`[platform][ecdsa-role-local] ready record kind is invalid`);let n=V(Reflect.get(e,`publicFacts`)),r=he({stateBlob:I(Reflect.get(e,`stateBlob`)),publicFacts:n,authMethod:R(Reflect.get(e,`authMethod`))});if(t===`ecdsa_role_local_ready_passkey_v1`&&r.kind!==t||t===`ecdsa_role_local_ready_email_otp_v1`&&r.kind!==t)throw Error(`[platform][ecdsa-role-local] ready record authMethod branch mismatch`);return r}function ve(e){switch(e.kind){case`passkey`:return{kind:`passkey`,credentialIdB64u:e.credentialIdB64u,rpId:e.rpId};case`email_otp`:return{kind:`email_otp`,authSubjectId:e.authSubjectId};default:return D(e)}}function ye(e){return{walletId:e.walletId,chainTarget:e.chainTarget,keyHandle:e.keyHandle,ecdsaThresholdKeyId:e.ecdsaThresholdKeyId,signingRootId:e.signingRootId,signingRootVersion:e.signingRootVersion,applicationBindingDigestB64u:e.applicationBindingDigestB64u,clientParticipantId:1,relayerParticipantId:2,participantIds:[1,2],contextBinding32B64u:e.contextBinding32B64u,derivationClientSharePublicKey33B64u:e.derivationClientSharePublicKey33B64u,relayerPublicKey33B64u:e.relayerPublicKey33B64u,groupPublicKey33B64u:e.groupPublicKey33B64u,ethereumAddress:e.ethereumAddress,publicCapability:e.publicCapability}}function be(e){let t=U(e);return{kind:t.kind,stateBlob:{kind:t.stateBlob.kind,curve:t.stateBlob.curve,encoding:t.stateBlob.encoding,producer:t.stateBlob.producer,stateBlobB64u:t.stateBlob.stateBlobB64u},publicFacts:ye(t.publicFacts),authMethod:ve(t.authMethod)}}function W(e){return encodeURIComponent(O(e,`storage key part`))}function xe(e){return[`ecdsa_role_local_ready_v1`,W(e.walletId),W(c(e.chainTarget)),W(e.keyHandle),W(e.ecdsaThresholdKeyId),W(e.signingRootId),W(e.signingRootVersion),W(e.participantIds.join(`,`)),W(Ce(e.authMethod))].join(`:`)}function Se(e){let t=U(e),n=t.publicFacts;return{walletId:n.walletId,chainTarget:n.chainTarget,keyHandle:n.keyHandle,ecdsaThresholdKeyId:n.ecdsaThresholdKeyId,signingRootId:n.signingRootId,signingRootVersion:n.signingRootVersion,participantIds:n.participantIds,authMethod:t.authMethod}}function Ce(e){switch(e.kind){case`passkey`:return[`passkey`,e.rpId,e.credentialIdB64u].join(`:`);case`email_otp`:return[`email_otp`,e.authSubjectId].join(`:`);default:return D(e)}}function we(e){let t=e.record.publicFacts,n=e.input;return String(t.walletId)===String(n.walletId)&&l(t.chainTarget,n.chainTarget)&&String(t.keyHandle)===String(n.keyHandle)&&String(t.ecdsaThresholdKeyId)===String(n.ecdsaThresholdKeyId)&&String(t.signingRootId)===String(n.signingRootId)&&String(t.signingRootVersion)===String(n.signingRootVersion)&&t.participantIds[0]===n.participantIds[0]&&t.participantIds[1]===n.participantIds[1]&&me(e.record.authMethod,n.authMethod)}var G=class{retainProof(){return!0}constructor(){this.retainProof()}},Te=class extends G{kind=`evm_family`;targetMemberships;constructor(e){super(),this.targetMemberships=e}},K=class extends G{manifestId;manifestRevision;constructor(e){super(),this.manifestId=e.manifestId,this.manifestRevision=e.manifestRevision}},Ee=class extends G{kind=`no_current_manifest`},De=class extends G{kind=`exact_manifest`;manifestId;manifestRevision;constructor(e){super(),this.manifestId=e.manifestId,this.manifestRevision=e.manifestRevision}},Oe=class extends G{kind=`no_current_generation`},ke=class extends G{kind=`exact_generation`;serverGeneration;constructor(e){super(),this.serverGeneration=e}},Ae=class extends G{kind=`ecdsa_role_local_material_binding`;keyHandle;ecdsaThresholdKeyId;clientVerifyingPublicKey33B64u;participantIds;relayerKeyId;constructor(e){super(),this.keyHandle=e.keyHandle,this.ecdsaThresholdKeyId=e.ecdsaThresholdKeyId,this.clientVerifyingPublicKey33B64u=e.clientVerifyingPublicKey33B64u,this.participantIds=e.participantIds,this.relayerKeyId=e.relayerKeyId}},je=class extends G{kind=`prepared_evm_family_signer`;capability;signerId;walletId;authority;scope;materialOwner;signingRootId;signingRootVersion;constructor(e){super(),this.capability=e.capability,this.signerId=e.signerId,this.walletId=e.authority.walletId,this.authority=e.authority,this.scope=e.scope,this.materialOwner=e.materialOwner,this.signingRootId=e.signingRootId,this.signingRootVersion=e.signingRootVersion}},Me=class extends G{kind=`registered_evm_family_signer`;capability;signerId;walletId;authority;scope;materialOwner;signingRootId;signingRootVersion;registeredPublicFacts;constructor(e){super(),this.capability=e.preparedSigner.capability,this.signerId=e.preparedSigner.signerId,this.walletId=e.preparedSigner.walletId,this.authority=e.preparedSigner.authority,this.scope=e.preparedSigner.scope,this.materialOwner=e.preparedSigner.materialOwner,this.signingRootId=e.preparedSigner.signingRootId,this.signingRootVersion=e.preparedSigner.signingRootVersion,this.registeredPublicFacts=e.registeredPublicFacts}},Ne=class extends G{kind=`encrypted_ecdsa_pending_candidate`;sealingKeyId;iv12B64u;ciphertextB64u;ciphertextDigest;constructor(e){super(),this.sealingKeyId=e.sealingKeyId,this.iv12B64u=e.iv12B64u,this.ciphertextB64u=e.ciphertextB64u,this.ciphertextDigest=e.ciphertextDigest}},Pe=class extends G{kind=`ecdsa_activation_binding`;targetManifest;signer;roleLocalBinding;bindingDigest;durableMaterialRef;constructor(e){super(),this.targetManifest=e.targetManifest,this.signer=e.signer,this.roleLocalBinding=e.roleLocalBinding,this.bindingDigest=e.bindingDigest,this.durableMaterialRef=e.durableMaterialRef}},Fe=class extends G{kind=`prepared_ecdsa_activation_candidate`;activationBinding;encryptedPending;constructor(e){super(),this.activationBinding=e.activationBinding,this.encryptedPending=e.encryptedPending}},Ie=class extends G{kind=`ecdsa_server_activation_command`;correlationId;expectedGeneration;requestDigest;canonicalRequest;constructor(e){super(),this.correlationId=e.correlationId,this.expectedGeneration=e.expectedGeneration,this.requestDigest=e.requestDigest,this.canonicalRequest=e.canonicalRequest}},Le=class extends G{kind=`ecdsa_server_activation_receipt`;lifecycleId;activationDigest;activatedAt;protocolReceipt;constructor(e){super(),this.lifecycleId=e.lifecycleId,this.activationDigest=e.activationDigest,this.activatedAt=e.activatedAt,this.protocolReceipt=e.protocolReceipt}},Re=class extends G{kind=`ecdsa_server_activation_commit`;correlationId;activationRequestDigest;serverGeneration;serverActivationReceipt;constructor(e){super(),this.correlationId=e.correlationId,this.activationRequestDigest=e.activationRequestDigest,this.serverGeneration=e.serverGeneration,this.serverActivationReceipt=e.serverActivationReceipt}},ze=class extends G{kind=`activation_prepared`;journalId;expectedManifest;activationCommand;candidate;createdAt;constructor(e){super(),this.journalId=e.journalId,this.expectedManifest=e.expectedManifest,this.activationCommand=e.activationCommand,this.candidate=e.candidate,this.createdAt=e.createdAt}},Be=class extends G{kind=`server_activation_committed`;journalId;expectedManifest;activationCommand;candidate;createdAt;serverActivation;constructor(e){super(),this.journalId=e.journalId,this.expectedManifest=e.expectedManifest,this.activationCommand=e.activationCommand,this.candidate=e.candidate,this.createdAt=e.createdAt,this.serverActivation=e.serverActivation}},Ve=class extends G{kind=`durable_ecdsa_material`;materialActivation;routerAbEcdsaDerivationNormalSigning;roleLocalPublicFacts;roleLocalBinding;durableMaterialRef;bindingDigest;lifecycleId;ciphertextDigest;activationDigest;activatedAt;runtimePolicyScope;constructor(e){super(),this.materialActivation=e.materialActivation,this.routerAbEcdsaDerivationNormalSigning=e.routerAbEcdsaDerivationNormalSigning,this.roleLocalPublicFacts=e.roleLocalPublicFacts,this.roleLocalBinding=e.roleLocalBinding,this.durableMaterialRef=e.durableMaterialRef,this.bindingDigest=e.bindingDigest,this.lifecycleId=e.lifecycleId,this.ciphertextDigest=e.ciphertextDigest,this.activationDigest=e.activationDigest,this.activatedAt=e.activatedAt,this.runtimePolicyScope=e.runtimePolicyScope}},He=class extends G{kind=`encrypted_ecdsa_ready_material`;binding;sealingKeyId;iv12B64u;ciphertextB64u;constructor(e){super(),this.binding=e.binding,this.sealingKeyId=e.sealingKeyId,this.iv12B64u=e.iv12B64u,this.ciphertextB64u=e.ciphertextB64u}},Ue=class extends G{kind=`active_ecdsa_capability_manifest`;identity;signer;activation;durableMaterial;committedAt;constructor(e){super(),this.identity=e.identity,this.signer=e.signer,this.activation=e.activation,this.durableMaterial=e.durableMaterial,this.committedAt=e.committedAt}},We=class extends G{kind=`replaced_ecdsa_capability_manifest`;identity;signer;retirement;constructor(e){super(),this.identity=e.identity,this.signer=e.signer,this.retirement=e.retirement}};function Ge(e){if(!e.ok)throw Error(e.error.message);return e.value}function Ke(e){return lt(e.targetMemberships),new Te([...e.targetMemberships])}function qe(e){return new K(e)}function Je(){return new Ee}function Ye(e){return new De(e)}function Xe(){return new Oe}function Ze(e){return new ke(e)}function Qe(e){return ut(e.participantIds),new Ae({keyHandle:e.keyHandle,ecdsaThresholdKeyId:e.ecdsaThresholdKeyId,clientVerifyingPublicKey33B64u:e.clientVerifyingPublicKey33B64u,participantIds:[...e.participantIds],relayerKeyId:e.relayerKeyId})}function $e(e){return new je(e)}function et(e){return new Ne(e)}function tt(e){return new Pe(e)}function nt(e){return new Fe(e)}function rt(e){dt(e.expectedManifest,e.candidate.activationBinding.targetManifest),ft(e.expectedManifest,e.expectedGeneration);let t=new Ie({correlationId:e.journalId,expectedGeneration:e.expectedGeneration,requestDigest:e.requestDigest,canonicalRequest:e.canonicalRequest});return new ze({journalId:e.journalId,expectedManifest:e.expectedManifest,activationCommand:t,candidate:e.candidate,createdAt:e.createdAt})}function q(e){let t=se(e.serverCommit.protocolReceipt);mt(t,e.serverCommit),Y(t,e.activationBinding);let n=new Le({lifecycleId:ht(t),activationDigest:gt(t),activatedAt:o(t.ecdsa_activation.activated_at_ms),protocolReceipt:t});return new Re({correlationId:e.serverCommit.correlationId,activationRequestDigest:e.serverCommit.activationRequestDigest,serverGeneration:e.serverCommit.serverGeneration,serverActivationReceipt:n})}function it(e){pt(e.serverCommit,e.preparedJournal);let t=q({activationBinding:e.preparedJournal.candidate.activationBinding,serverCommit:e.serverCommit});return new Be({journalId:e.preparedJournal.journalId,expectedManifest:e.preparedJournal.expectedManifest,activationCommand:e.preparedJournal.activationCommand,candidate:e.preparedJournal.candidate,createdAt:e.preparedJournal.createdAt,serverActivation:t})}function at(e){vt(e.serverActivation,e.activationBinding);let t=e.roleLocalPublicFacts,i=e.activationBinding,a=r(e.runtimePolicyScope);if(t.walletId!==i.signer.walletId||t.keyHandle!==i.roleLocalBinding.keyHandle||t.ecdsaThresholdKeyId!==i.roleLocalBinding.ecdsaThresholdKeyId||t.signingRootId!==i.signer.signingRootId||t.signingRootVersion!==i.signer.signingRootVersion||n(a)!==i.signer.signingRootId||a.signingRootVersion!==i.signer.signingRootVersion||t.contextBinding32B64u!==i.bindingDigest||!Z(t.participantIds,i.roleLocalBinding.participantIds)||!i.signer.scope.targetMemberships.some(e=>J(e)===J(t.chainTarget)))throw Error(`ECDSA role-local public facts do not match their activation`);let o=e.serverActivation.serverActivationReceipt;return Q({normalSigning:e.routerAbEcdsaDerivationNormalSigning,activationBinding:i,roleLocalPublicFacts:t,receipt:o.protocolReceipt}),new Ve({materialActivation:X(o.protocolReceipt),routerAbEcdsaDerivationNormalSigning:e.routerAbEcdsaDerivationNormalSigning,roleLocalPublicFacts:e.roleLocalPublicFacts,roleLocalBinding:e.activationBinding.roleLocalBinding,durableMaterialRef:e.activationBinding.durableMaterialRef,bindingDigest:e.activationBinding.bindingDigest,lifecycleId:o.lifecycleId,ciphertextDigest:e.ciphertextDigest,activationDigest:o.activationDigest,activatedAt:o.activatedAt,runtimePolicyScope:a})}function ot(e){return new He({binding:e.binding,sealingKeyId:e.sealingKeyId,iv12B64u:e.iv12B64u,ciphertextB64u:e.ciphertextB64u})}function st(e){_t(e.registeredPublicFacts,e.activationBinding.roleLocalBinding,e.serverActivation),yt(e.durableMaterial,e.activationBinding,e.serverActivation);let t=new Me({preparedSigner:e.activationBinding.signer,registeredPublicFacts:e.registeredPublicFacts}),n={kind:`active_ecdsa_material_activation`,materialActivation:e.durableMaterial.materialActivation,serverActivation:e.serverActivation,retention:`retained`};return new Ue({identity:e.activationBinding.targetManifest,signer:t,activation:n,durableMaterial:e.durableMaterial,committedAt:e.committedAt})}function ct(e){return xt(e.activeManifest,e.replacementManifest),new We({identity:e.activeManifest.identity,signer:e.activeManifest.signer,retirement:{kind:`replaced`,replacementManifest:e.replacementManifest.identity,replacementActivation:e.replacementManifest.activation.serverActivation}})}function lt(e){let t=e.map(J);if(new Set(t).size!==t.length)throw Error(`ECDSA capability target memberships must be unique`)}function J(e){switch(e.kind){case`evm`:return`evm:${e.namespace}:${e.chainId}:${e.networkSlug}`;case`tempo`:return`tempo:${e.chainId}:${e.networkSlug}`;default:return $(e)}}function ut(e){let t=e.map(Number);if(t.some(e=>!Number.isSafeInteger(e)||e<1)||new Set(t).size!==t.length)throw Error(`ECDSA participant ids must be unique positive integers`)}function dt(e,t){switch(e.kind){case`no_current_manifest`:if(Number(t.manifestRevision)!==1)throw Error(`Initial ECDSA manifest revision must be 1`);return;case`exact_manifest`:if(t.manifestId===e.manifestId||Number(t.manifestRevision)!==Number(e.manifestRevision)+1)throw Error(`Replacement ECDSA manifest must use a fresh id and next revision`);return;default:return $(e)}}function ft(e,t){switch(e.kind){case`no_current_manifest`:if(t.kind!==`no_current_generation`)throw Error(`Initial ECDSA activation cannot expect a server generation`);return;case`exact_manifest`:if(t.kind!==`exact_generation`)throw Error(`Replacement ECDSA activation requires an exact server generation`);return;default:return $(e)}}function pt(e,t){let n=JSON.parse(t.activationCommand.canonicalRequest).operation===`wallet_registration_activate_v2`;if(e.correlationId!==t.activationCommand.correlationId||!n&&e.activationRequestDigest!==t.activationCommand.requestDigest)throw Error(`ECDSA server activation commit does not match the prepared command`)}function Y(e,t){let n=e.ecdsa_activation.public_identity,r=e.ecdsa_activation.material_activation;if(X(e),n.context_binding_b64u!==String(t.bindingDigest)||n.derivation_client_share_public_key33_b64u!==String(t.roleLocalBinding.clientVerifyingPublicKey33B64u)||r.material_owner!==String(t.signer.materialOwner)||r.key_binding!==String(t.bindingDigest)||r.lifecycle_binding!==e.lifecycle_id||r.signing_worker!==e.ecdsa_activation.signing_worker.server_id)throw Error(`ECDSA activation receipt does not match the prepared material binding`)}function mt(e,t){let n=i(Uint8Array.from(e.activation_request_digest.bytes));if(e.activation_correlation_id!==t.correlationId||n!==t.activationRequestDigest||e.server_generation!==t.serverGeneration)throw Error(`ECDSA activation receipt does not match the server activation commit`)}function ht(e){return d(e.lifecycle_id)}function gt(e){return te(e.ecdsa_activation.activation_digest_b64u)}function X(e){return h(e.ecdsa_activation.material_activation)}function _t(e,t,n){let r=n.serverActivationReceipt.protocolReceipt.ecdsa_activation.public_identity;if(String(e.keyHandle)!==String(t.keyHandle)||String(e.publicKeyB64u)!==r.threshold_public_key33_b64u||String(t.clientVerifyingPublicKey33B64u)!==r.derivation_client_share_public_key33_b64u||!Z(e.participantIds,t.participantIds))throw Error(`Registered ECDSA public facts do not match role-local material`)}function Z(e,t){return e.length===t.length?e.every((e,n)=>Number(e)===Number(t[n])):!1}function vt(e,t){Y(e.serverActivationReceipt.protocolReceipt,t)}function yt(e,n,r){let i=r.serverActivationReceipt,a=X(i.protocolReceipt);if(!t(e.materialActivation,a)||e.roleLocalBinding!==n.roleLocalBinding||e.durableMaterialRef!==n.durableMaterialRef||e.bindingDigest!==n.bindingDigest||e.lifecycleId!==i.lifecycleId||e.activationDigest!==i.activationDigest||e.activatedAt!==i.activatedAt)throw Error(`Durable ECDSA material does not match its activation`);Q({normalSigning:e.routerAbEcdsaDerivationNormalSigning,activationBinding:n,roleLocalPublicFacts:e.roleLocalPublicFacts,receipt:i.protocolReceipt})}function bt(e,t){return e.kind===t.kind&&e.context.application_binding_digest_b64u===t.context.application_binding_digest_b64u&&p(e.public_identity,t.public_identity)&&y(e.material_activation,t.material_activation)&&ne(e.signer_set,t.signer_set)&&g(e.deriver_recipient_keys,t.deriver_recipient_keys)&&e.router_id===t.router_id&&e.client_id===t.client_id&&e.activation_epoch===t.activation_epoch&&e.registration_request_digest_b64u===t.registration_request_digest_b64u&&e.proof_transcript_digest_b64u===t.proof_transcript_digest_b64u}function Q(e){let t=e.normalSigning.scope,n=e.roleLocalPublicFacts,r=X(e.receipt),i=oe({kind:r.kind,activationId:r.activationId,capability:r.capability,materialOwner:r.materialOwner,keyBinding:r.keyBinding,lifecycleBinding:r.lifecycleBinding,signingWorker:r.signingWorker});if(t.wallet_id!==String(e.activationBinding.signer.walletId)||t.ecdsa_threshold_key_id!==String(e.activationBinding.roleLocalBinding.ecdsaThresholdKeyId)||t.signing_root_id!==String(e.activationBinding.signer.signingRootId)||t.signing_root_version!==String(e.activationBinding.signer.signingRootVersion)||t.context.application_binding_digest_b64u!==e.receipt.ecdsa_activation.context.application_binding_digest_b64u||!p(t.public_identity,e.receipt.ecdsa_activation.public_identity)||!m(t.signing_worker,e.receipt.ecdsa_activation.signing_worker)||t.activation_epoch!==e.receipt.ecdsa_activation.activation_epoch||t.public_identity.context_binding_b64u!==n.contextBinding32B64u||t.public_identity.derivation_client_share_public_key33_b64u!==n.derivationClientSharePublicKey33B64u||t.public_identity.server_public_key33_b64u!==n.relayerPublicKey33B64u||t.public_identity.threshold_public_key33_b64u!==n.groupPublicKey33B64u||!y(t.material_activation,i))throw Error(`ECDSA normal-signing runtime does not match its activation`)}function xt(e,t){if(e.identity.manifestId===t.identity.manifestId||Number(t.identity.manifestRevision)!==Number(e.identity.manifestRevision)+1||e.signer.capability!==t.signer.capability||e.signer.signerId!==t.signer.signerId||e.signer.walletId!==t.signer.walletId||e.signer.authority.authorityDigest!==t.signer.authority.authorityDigest||e.signer.materialOwner!==t.signer.materialOwner||e.durableMaterial.durableMaterialRef===t.durableMaterial.durableMaterialRef||e.activation.serverActivation.serverGeneration===t.activation.serverActivation.serverGeneration)throw Error(`ECDSA replacement manifest does not exactly replace the active manifest`)}function $(e){throw Error(`Unexpected ECDSA capability branch: ${String(e)}`)}export{pe as A,ue as B,H as C,U as D,Se as E,E as F,x as I,fe as L,w as M,S as N,_e as O,T as P,le as R,z as S,xe as T,ce as V,it as _,qe as a,Ge as b,et as c,Je as d,Xe as f,ct as g,$e as h,Ke as i,C as j,be as k,Ye as l,rt as m,at as n,Qe as o,nt as p,tt as r,q as s,st as t,Ze as u,ot as v,we as w,B as x,bt as y,de as z};
1
+ import{h as e,r as t}from"./domainIds-C3fUa33Q.js";import{v as n,y as r}from"./primitives-CTmDwMNc.js";import{i,r as a}from"./base64-BmKR3UqU.js";import{t as o}from"./canonicalPrimitives-BMP5yILS.js";import{a as s,c as ee,o as c,s as l}from"./ecdsaChainTarget-DkOrgv4y.js";import{Ft as te,T as u,Vt as d,Xt as f,_t as p,bt as m,en as h,ft as g,i as _,n as v,nn as y,pt as ne,q as re,r as ie,t as ae,tn as oe,tt as se}from"./emailOtpEcdsaDerivationIdentity-CupWCKNg.js";function b(e,t){let n=String(e??``).trim();if(!n)throw Error(`${t} must be a non-empty string`);return n}function ce(e){return b(e,`signing-session seal key version`)}function le(e){return b(e,`ECDSA client verifying share`)}function ue(e){return b(e,`ECDSA relayer key id`)}function de(e){return b(e,`ECDSA key handle`)}function fe(e){return e}function pe(e){if(typeof e!=`string`)throw Error(`ECDSA client verifying public key must be a string`);let t=e.trim();if(!/^[A-Za-z0-9_-]+$/.test(t))throw Error(`ECDSA client verifying public key must be unpadded base64url`);let n;try{n=a(t)}catch{throw Error(`ECDSA client verifying public key must be valid base64url`)}if(n.length!==33||i(n)!==t)throw Error(`ECDSA client verifying public key must be canonical base64url for 33 bytes`);if(n[0]!==2&&n[0]!==3)throw Error(`ECDSA client verifying public key must be compressed secp256k1`);return t}function x(e){return f(e)}function S(e){return b(e,`ECDSA role-local material handle`)}function C(e){return b(e,`ECDSA role-local binding digest`)}function w(e){return b(e,`ECDSA role-local durable material reference`)}function T(t){if(!t||typeof t!=`object`||Array.isArray(t))throw Error(`ECDSA role-local persisted material reference must be an object`);let n=t,r=Object.keys(n).sort(),i=[`bindingDigest`,`durableMaterialRef`,`kind`,`materialActivation`];if(r.length!==i.length||r.some((e,t)=>e!==i[t]))throw Error(`ECDSA role-local persisted material reference has unexpected fields`);if(n.kind!==`ecdsa_role_local_persisted_material_ref_v1`)throw Error(`ECDSA role-local persisted material reference kind is invalid`);let a=e(n.materialActivation);if(!a.ok)throw Error(a.error.message);return{kind:`ecdsa_role_local_persisted_material_ref_v1`,durableMaterialRef:w(n.durableMaterialRef),bindingDigest:C(n.bindingDigest),materialActivation:a.value}}function E(e){if(!e||typeof e!=`object`||Array.isArray(e))throw Error(`ECDSA role-local worker handle must be an object`);let t=e,n=Object.keys(t).sort(),r=[`bindingDigest`,`durableMaterialRef`,`kind`,`materialHandle`];if(n.length!==r.length||n.some((e,t)=>e!==r[t]))throw Error(`ECDSA role-local worker handle has unexpected fields`);if(t.kind!==`ecdsa_role_local_worker_handle_v1`)throw Error(`ECDSA role-local worker handle kind is invalid`);return{kind:`ecdsa_role_local_worker_handle_v1`,materialHandle:S(t.materialHandle),bindingDigest:C(t.bindingDigest),durableMaterialRef:w(t.durableMaterialRef)}}function D(e){throw Error(`Unhandled ECDSA role-local branch: ${String(e)}`)}function O(e,t){if(typeof e!=`string`||!e.trim())throw Error(`[platform][ecdsa-role-local] ${t} is required`);return e.trim()}function k(e,t,n){let r=O(e,t);if(a(r).length!==n)throw Error(`[platform][ecdsa-role-local] ${t} must decode to ${n} bytes`);return r}function A(e,t){let n=O(e,t),r=a(n);if(r.length!==33)throw Error(`[platform][ecdsa-role-local] ${t} must decode to 33 bytes`);if(r[0]!==2&&r[0]!==3)throw Error(`[platform][ecdsa-role-local] ${t} must be a compressed SEC1 key`);return n}function j(e){return A(e,`derivationClientSharePublicKey33B64u`)}function M(e){return A(e,`relayerPublicKey33B64u`)}function N(e){return A(e,`groupPublicKey33B64u`)}function P(e){let t=O(e,`ethereumAddress`).toLowerCase();if(!/^0x[0-9a-f]{40}$/.test(t))throw Error(`[platform][ecdsa-role-local] ethereumAddress must be an EVM address`);return t}function F(e){if(!Array.isArray(e)||e.length!==2||e[0]!==1||e[1]!==2)throw Error(`[platform][ecdsa-role-local] participantIds must be [1, 2]`);return[1,2]}function I(e){if(typeof e!=`object`||!e||Array.isArray(e))throw Error(`[platform][ecdsa-role-local] stateBlob must be an object`);if(Object.keys(e).sort().join(`,`)!==`curve,encoding,kind,producer,stateBlobB64u`)throw Error(`[platform][ecdsa-role-local] stateBlob envelope is invalid`);let t=O(Reflect.get(e,`kind`),`stateBlob.kind`),n=O(Reflect.get(e,`curve`),`stateBlob.curve`),r=O(Reflect.get(e,`encoding`),`stateBlob.encoding`),i=O(Reflect.get(e,`producer`),`stateBlob.producer`),o=O(Reflect.get(e,`stateBlobB64u`),`stateBlob.stateBlobB64u`);if(t!==`ecdsa_role_local_state_blob_v1`||n!==`secp256k1`||r!==`base64url`||i!==`signer_core`)throw Error(`[platform][ecdsa-role-local] stateBlob envelope is invalid`);try{a(o)}catch(e){throw Error(`[platform][ecdsa-role-local] stateBlob payload is not base64url`,{cause:e})}return{kind:`ecdsa_role_local_state_blob_v1`,curve:`secp256k1`,encoding:`base64url`,producer:`signer_core`,stateBlobB64u:o}}function L(e,t=`credentialIdB64u`){return O(e,t)}function R(e){if(typeof e!=`object`||!e||Array.isArray(e))throw Error(`[platform][ecdsa-role-local] authMethod must be an object`);switch(O(Reflect.get(e,`kind`),`authMethod.kind`)){case`passkey`:if(Object.keys(e).sort().join(`,`)!==`credentialIdB64u,kind,rpId`)throw Error(`[platform][ecdsa-role-local] passkey authMethod fields are invalid`);return{kind:`passkey`,credentialIdB64u:L(Reflect.get(e,`credentialIdB64u`)),rpId:u(Reflect.get(e,`rpId`))};case`email_otp`:if(Object.keys(e).sort().join(`,`)!==`authSubjectId,kind`)throw Error(`[platform][ecdsa-role-local] email OTP authMethod fields are invalid`);return{kind:`email_otp`,authSubjectId:_(Reflect.get(e,`authSubjectId`))};default:throw Error(`[platform][ecdsa-role-local] authMethod kind is invalid`)}}function z(e){return{kind:`passkey`,credentialIdB64u:L(e.credentialIdB64u),rpId:u(e.rpId)}}function B(e){return{kind:`email_otp`,authSubjectId:_(e.authSubjectId)}}function me(e,t){if(e.kind!==t.kind)return!1;switch(e.kind){case`passkey`:return t.kind===`passkey`?String(e.rpId)===String(t.rpId)&&String(e.credentialIdB64u)===String(t.credentialIdB64u):!1;case`email_otp`:return t.kind===`email_otp`?String(e.authSubjectId)===String(t.authSubjectId):!1;default:return D(e)}}function he(e){switch(e.authMethod.kind){case`passkey`:return{kind:`ecdsa_role_local_ready_passkey_v1`,stateBlob:e.stateBlob,publicFacts:e.publicFacts,authMethod:e.authMethod};case`email_otp`:return{kind:`ecdsa_role_local_ready_email_otp_v1`,stateBlob:e.stateBlob,publicFacts:e.publicFacts,authMethod:e.authMethod};default:return D(e.authMethod)}}function ge(e){if(typeof e!=`object`||!e||Array.isArray(e))throw Error(`[platform][ecdsa-role-local] chainTarget must be an object`);switch(O(Reflect.get(e,`kind`),`chainTarget.kind`).toLowerCase()){case`evm`:if(Object.keys(e).sort().join(`,`)!==`chainId,kind,namespace,networkSlug`)throw Error(`[platform][ecdsa-role-local] EVM chainTarget fields are invalid`);return s({kind:Reflect.get(e,`kind`),namespace:Reflect.get(e,`namespace`),chainId:Reflect.get(e,`chainId`),networkSlug:Reflect.get(e,`networkSlug`)});case`tempo`:if(Object.keys(e).sort().join(`,`)!==`chainId,kind,networkSlug`)throw Error(`[platform][ecdsa-role-local] Tempo chainTarget fields are invalid`);return s({kind:Reflect.get(e,`kind`),chainId:Reflect.get(e,`chainId`),networkSlug:Reflect.get(e,`networkSlug`)});default:throw Error(`[platform][ecdsa-role-local] chainTarget kind is invalid`)}}function V(e){if(typeof e!=`object`||!e||Array.isArray(e))throw Error(`[platform][ecdsa-role-local] publicFacts must be an object`);if(Object.keys(e).sort().join(`,`)!==`applicationBindingDigestB64u,chainTarget,clientParticipantId,contextBinding32B64u,derivationClientSharePublicKey33B64u,ecdsaThresholdKeyId,ethereumAddress,groupPublicKey33B64u,keyHandle,participantIds,publicCapability,relayerParticipantId,relayerPublicKey33B64u,signingRootId,signingRootVersion,walletId`)throw Error(`[platform][ecdsa-role-local] publicFacts fields are invalid`);if(Reflect.get(e,`clientParticipantId`)!==1)throw Error(`[platform][ecdsa-role-local] clientParticipantId must be 1`);if(Reflect.get(e,`relayerParticipantId`)!==2)throw Error(`[platform][ecdsa-role-local] relayerParticipantId must be 2`);let t=j(Reflect.get(e,`derivationClientSharePublicKey33B64u`)),n=M(Reflect.get(e,`relayerPublicKey33B64u`));if(String(t)===String(n))throw Error(`[platform][ecdsa-role-local] relayerPublicKey33B64u must differ from derivationClientSharePublicKey33B64u`);return{walletId:ee(Reflect.get(e,`walletId`)),chainTarget:ge(Reflect.get(e,`chainTarget`)),keyHandle:O(Reflect.get(e,`keyHandle`),`keyHandle`),ecdsaThresholdKeyId:ie(Reflect.get(e,`ecdsaThresholdKeyId`)),signingRootId:ae(Reflect.get(e,`signingRootId`)),signingRootVersion:v(Reflect.get(e,`signingRootVersion`)),applicationBindingDigestB64u:k(Reflect.get(e,`applicationBindingDigestB64u`),`applicationBindingDigestB64u`,32),clientParticipantId:1,relayerParticipantId:2,participantIds:F(Reflect.get(e,`participantIds`)),contextBinding32B64u:k(Reflect.get(e,`contextBinding32B64u`),`contextBinding32B64u`,32),derivationClientSharePublicKey33B64u:t,relayerPublicKey33B64u:n,groupPublicKey33B64u:N(Reflect.get(e,`groupPublicKey33B64u`)),ethereumAddress:P(Reflect.get(e,`ethereumAddress`)),publicCapability:re(Reflect.get(e,`publicCapability`))}}function H(e){return V(e)}function _e(e){let t=e.publicFacts;return H({walletId:t.walletId,chainTarget:e.chainTarget,keyHandle:t.keyHandle,ecdsaThresholdKeyId:t.ecdsaThresholdKeyId,signingRootId:t.signingRootId,signingRootVersion:t.signingRootVersion,applicationBindingDigestB64u:t.applicationBindingDigestB64u,clientParticipantId:t.clientParticipantId,relayerParticipantId:t.relayerParticipantId,participantIds:t.participantIds,contextBinding32B64u:t.contextBinding32B64u,derivationClientSharePublicKey33B64u:t.derivationClientSharePublicKey33B64u,relayerPublicKey33B64u:t.relayerPublicKey33B64u,groupPublicKey33B64u:t.groupPublicKey33B64u,ethereumAddress:t.ethereumAddress,publicCapability:t.publicCapability})}function U(e){if(typeof e!=`object`||!e||Array.isArray(e))throw Error(`[platform][ecdsa-role-local] ready record must be an object`);if(Object.keys(e).sort().join(`,`)!==`authMethod,kind,publicFacts,stateBlob`)throw Error(`[platform][ecdsa-role-local] ready record fields are invalid`);let t=O(Reflect.get(e,`kind`),`readyRecord.kind`);if(t!==`ecdsa_role_local_ready_passkey_v1`&&t!==`ecdsa_role_local_ready_email_otp_v1`)throw Error(`[platform][ecdsa-role-local] ready record kind is invalid`);let n=V(Reflect.get(e,`publicFacts`)),r=he({stateBlob:I(Reflect.get(e,`stateBlob`)),publicFacts:n,authMethod:R(Reflect.get(e,`authMethod`))});if(t===`ecdsa_role_local_ready_passkey_v1`&&r.kind!==t||t===`ecdsa_role_local_ready_email_otp_v1`&&r.kind!==t)throw Error(`[platform][ecdsa-role-local] ready record authMethod branch mismatch`);return r}function ve(e){switch(e.kind){case`passkey`:return{kind:`passkey`,credentialIdB64u:e.credentialIdB64u,rpId:e.rpId};case`email_otp`:return{kind:`email_otp`,authSubjectId:e.authSubjectId};default:return D(e)}}function ye(e){return{walletId:e.walletId,chainTarget:e.chainTarget,keyHandle:e.keyHandle,ecdsaThresholdKeyId:e.ecdsaThresholdKeyId,signingRootId:e.signingRootId,signingRootVersion:e.signingRootVersion,applicationBindingDigestB64u:e.applicationBindingDigestB64u,clientParticipantId:1,relayerParticipantId:2,participantIds:[1,2],contextBinding32B64u:e.contextBinding32B64u,derivationClientSharePublicKey33B64u:e.derivationClientSharePublicKey33B64u,relayerPublicKey33B64u:e.relayerPublicKey33B64u,groupPublicKey33B64u:e.groupPublicKey33B64u,ethereumAddress:e.ethereumAddress,publicCapability:e.publicCapability}}function be(e){let t=U(e);return{kind:t.kind,stateBlob:{kind:t.stateBlob.kind,curve:t.stateBlob.curve,encoding:t.stateBlob.encoding,producer:t.stateBlob.producer,stateBlobB64u:t.stateBlob.stateBlobB64u},publicFacts:ye(t.publicFacts),authMethod:ve(t.authMethod)}}function W(e){return encodeURIComponent(O(e,`storage key part`))}function xe(e){return[`ecdsa_role_local_ready_v1`,W(e.walletId),W(c(e.chainTarget)),W(e.keyHandle),W(e.ecdsaThresholdKeyId),W(e.signingRootId),W(e.signingRootVersion),W(e.participantIds.join(`,`)),W(Ce(e.authMethod))].join(`:`)}function Se(e){let t=U(e),n=t.publicFacts;return{walletId:n.walletId,chainTarget:n.chainTarget,keyHandle:n.keyHandle,ecdsaThresholdKeyId:n.ecdsaThresholdKeyId,signingRootId:n.signingRootId,signingRootVersion:n.signingRootVersion,participantIds:n.participantIds,authMethod:t.authMethod}}function Ce(e){switch(e.kind){case`passkey`:return[`passkey`,e.rpId,e.credentialIdB64u].join(`:`);case`email_otp`:return[`email_otp`,e.authSubjectId].join(`:`);default:return D(e)}}function we(e){let t=e.record.publicFacts,n=e.input;return String(t.walletId)===String(n.walletId)&&l(t.chainTarget,n.chainTarget)&&String(t.keyHandle)===String(n.keyHandle)&&String(t.ecdsaThresholdKeyId)===String(n.ecdsaThresholdKeyId)&&String(t.signingRootId)===String(n.signingRootId)&&String(t.signingRootVersion)===String(n.signingRootVersion)&&t.participantIds[0]===n.participantIds[0]&&t.participantIds[1]===n.participantIds[1]&&me(e.record.authMethod,n.authMethod)}var G=class{retainProof(){return!0}constructor(){this.retainProof()}},Te=class extends G{kind=`evm_family`;targetMemberships;constructor(e){super(),this.targetMemberships=e}},K=class extends G{manifestId;manifestRevision;constructor(e){super(),this.manifestId=e.manifestId,this.manifestRevision=e.manifestRevision}},Ee=class extends G{kind=`no_current_manifest`},De=class extends G{kind=`exact_manifest`;manifestId;manifestRevision;constructor(e){super(),this.manifestId=e.manifestId,this.manifestRevision=e.manifestRevision}},Oe=class extends G{kind=`no_current_generation`},ke=class extends G{kind=`exact_generation`;serverGeneration;constructor(e){super(),this.serverGeneration=e}},Ae=class extends G{kind=`ecdsa_role_local_material_binding`;keyHandle;ecdsaThresholdKeyId;clientVerifyingPublicKey33B64u;participantIds;relayerKeyId;constructor(e){super(),this.keyHandle=e.keyHandle,this.ecdsaThresholdKeyId=e.ecdsaThresholdKeyId,this.clientVerifyingPublicKey33B64u=e.clientVerifyingPublicKey33B64u,this.participantIds=e.participantIds,this.relayerKeyId=e.relayerKeyId}},je=class extends G{kind=`prepared_evm_family_signer`;capability;signerId;walletId;authority;scope;materialOwner;signingRootId;signingRootVersion;constructor(e){super(),this.capability=e.capability,this.signerId=e.signerId,this.walletId=e.authority.walletId,this.authority=e.authority,this.scope=e.scope,this.materialOwner=e.materialOwner,this.signingRootId=e.signingRootId,this.signingRootVersion=e.signingRootVersion}},Me=class extends G{kind=`registered_evm_family_signer`;capability;signerId;walletId;authority;scope;materialOwner;signingRootId;signingRootVersion;registeredPublicFacts;constructor(e){super(),this.capability=e.preparedSigner.capability,this.signerId=e.preparedSigner.signerId,this.walletId=e.preparedSigner.walletId,this.authority=e.preparedSigner.authority,this.scope=e.preparedSigner.scope,this.materialOwner=e.preparedSigner.materialOwner,this.signingRootId=e.preparedSigner.signingRootId,this.signingRootVersion=e.preparedSigner.signingRootVersion,this.registeredPublicFacts=e.registeredPublicFacts}},Ne=class extends G{kind=`encrypted_ecdsa_pending_candidate`;sealingKeyId;iv12B64u;ciphertextB64u;ciphertextDigest;constructor(e){super(),this.sealingKeyId=e.sealingKeyId,this.iv12B64u=e.iv12B64u,this.ciphertextB64u=e.ciphertextB64u,this.ciphertextDigest=e.ciphertextDigest}},Pe=class extends G{kind=`ecdsa_activation_binding`;targetManifest;signer;roleLocalBinding;bindingDigest;durableMaterialRef;constructor(e){super(),this.targetManifest=e.targetManifest,this.signer=e.signer,this.roleLocalBinding=e.roleLocalBinding,this.bindingDigest=e.bindingDigest,this.durableMaterialRef=e.durableMaterialRef}},Fe=class extends G{kind=`prepared_ecdsa_activation_candidate`;activationBinding;encryptedPending;constructor(e){super(),this.activationBinding=e.activationBinding,this.encryptedPending=e.encryptedPending}},Ie=class extends G{kind=`ecdsa_server_activation_command`;correlationId;expectedGeneration;requestDigest;canonicalRequest;constructor(e){super(),this.correlationId=e.correlationId,this.expectedGeneration=e.expectedGeneration,this.requestDigest=e.requestDigest,this.canonicalRequest=e.canonicalRequest}},Le=class extends G{kind=`ecdsa_server_activation_receipt`;lifecycleId;activationDigest;activatedAt;protocolReceipt;constructor(e){super(),this.lifecycleId=e.lifecycleId,this.activationDigest=e.activationDigest,this.activatedAt=e.activatedAt,this.protocolReceipt=e.protocolReceipt}},Re=class extends G{kind=`ecdsa_server_activation_commit`;correlationId;activationRequestDigest;serverGeneration;serverActivationReceipt;constructor(e){super(),this.correlationId=e.correlationId,this.activationRequestDigest=e.activationRequestDigest,this.serverGeneration=e.serverGeneration,this.serverActivationReceipt=e.serverActivationReceipt}},ze=class extends G{kind=`activation_prepared`;journalId;expectedManifest;activationCommand;candidate;createdAt;constructor(e){super(),this.journalId=e.journalId,this.expectedManifest=e.expectedManifest,this.activationCommand=e.activationCommand,this.candidate=e.candidate,this.createdAt=e.createdAt}},Be=class extends G{kind=`server_activation_committed`;journalId;expectedManifest;activationCommand;candidate;createdAt;serverActivation;constructor(e){super(),this.journalId=e.journalId,this.expectedManifest=e.expectedManifest,this.activationCommand=e.activationCommand,this.candidate=e.candidate,this.createdAt=e.createdAt,this.serverActivation=e.serverActivation}},Ve=class extends G{kind=`durable_ecdsa_material`;materialActivation;routerAbEcdsaDerivationNormalSigning;roleLocalPublicFacts;roleLocalBinding;durableMaterialRef;bindingDigest;lifecycleId;ciphertextDigest;activationDigest;activatedAt;runtimePolicyScope;constructor(e){super(),this.materialActivation=e.materialActivation,this.routerAbEcdsaDerivationNormalSigning=e.routerAbEcdsaDerivationNormalSigning,this.roleLocalPublicFacts=e.roleLocalPublicFacts,this.roleLocalBinding=e.roleLocalBinding,this.durableMaterialRef=e.durableMaterialRef,this.bindingDigest=e.bindingDigest,this.lifecycleId=e.lifecycleId,this.ciphertextDigest=e.ciphertextDigest,this.activationDigest=e.activationDigest,this.activatedAt=e.activatedAt,this.runtimePolicyScope=e.runtimePolicyScope}},He=class extends G{kind=`encrypted_ecdsa_ready_material`;binding;sealingKeyId;iv12B64u;ciphertextB64u;constructor(e){super(),this.binding=e.binding,this.sealingKeyId=e.sealingKeyId,this.iv12B64u=e.iv12B64u,this.ciphertextB64u=e.ciphertextB64u}},Ue=class extends G{kind=`active_ecdsa_capability_manifest`;identity;signer;activation;durableMaterial;committedAt;constructor(e){super(),this.identity=e.identity,this.signer=e.signer,this.activation=e.activation,this.durableMaterial=e.durableMaterial,this.committedAt=e.committedAt}},We=class extends G{kind=`replaced_ecdsa_capability_manifest`;identity;signer;retirement;constructor(e){super(),this.identity=e.identity,this.signer=e.signer,this.retirement=e.retirement}};function Ge(e){if(!e.ok)throw Error(e.error.message);return e.value}function Ke(e){return lt(e.targetMemberships),new Te([...e.targetMemberships])}function qe(e){return new K(e)}function Je(){return new Ee}function Ye(e){return new De(e)}function Xe(){return new Oe}function Ze(e){return new ke(e)}function Qe(e){return ut(e.participantIds),new Ae({keyHandle:e.keyHandle,ecdsaThresholdKeyId:e.ecdsaThresholdKeyId,clientVerifyingPublicKey33B64u:e.clientVerifyingPublicKey33B64u,participantIds:[...e.participantIds],relayerKeyId:e.relayerKeyId})}function $e(e){return new je(e)}function et(e){return new Ne(e)}function tt(e){return new Pe(e)}function nt(e){return new Fe(e)}function rt(e){dt(e.expectedManifest,e.candidate.activationBinding.targetManifest),ft(e.expectedManifest,e.expectedGeneration);let t=new Ie({correlationId:e.journalId,expectedGeneration:e.expectedGeneration,requestDigest:e.requestDigest,canonicalRequest:e.canonicalRequest});return new ze({journalId:e.journalId,expectedManifest:e.expectedManifest,activationCommand:t,candidate:e.candidate,createdAt:e.createdAt})}function q(e){let t=se(e.serverCommit.protocolReceipt);mt(t,e.serverCommit),Y(t,e.activationBinding);let n=new Le({lifecycleId:ht(t),activationDigest:gt(t),activatedAt:o(t.ecdsa_activation.activated_at_ms),protocolReceipt:t});return new Re({correlationId:e.serverCommit.correlationId,activationRequestDigest:e.serverCommit.activationRequestDigest,serverGeneration:e.serverCommit.serverGeneration,serverActivationReceipt:n})}function it(e){pt(e.serverCommit,e.preparedJournal);let t=q({activationBinding:e.preparedJournal.candidate.activationBinding,serverCommit:e.serverCommit});return new Be({journalId:e.preparedJournal.journalId,expectedManifest:e.preparedJournal.expectedManifest,activationCommand:e.preparedJournal.activationCommand,candidate:e.preparedJournal.candidate,createdAt:e.preparedJournal.createdAt,serverActivation:t})}function at(e){vt(e.serverActivation,e.activationBinding);let t=e.roleLocalPublicFacts,i=e.activationBinding,a=r(e.runtimePolicyScope);if(t.walletId!==i.signer.walletId||t.keyHandle!==i.roleLocalBinding.keyHandle||t.ecdsaThresholdKeyId!==i.roleLocalBinding.ecdsaThresholdKeyId||t.signingRootId!==i.signer.signingRootId||t.signingRootVersion!==i.signer.signingRootVersion||n(a)!==i.signer.signingRootId||a.signingRootVersion!==i.signer.signingRootVersion||t.contextBinding32B64u!==i.bindingDigest||!Z(t.participantIds,i.roleLocalBinding.participantIds)||!i.signer.scope.targetMemberships.some(e=>J(e)===J(t.chainTarget)))throw Error(`ECDSA role-local public facts do not match their activation`);let o=e.serverActivation.serverActivationReceipt;return Q({normalSigning:e.routerAbEcdsaDerivationNormalSigning,activationBinding:i,roleLocalPublicFacts:t,receipt:o.protocolReceipt}),new Ve({materialActivation:X(o.protocolReceipt),routerAbEcdsaDerivationNormalSigning:e.routerAbEcdsaDerivationNormalSigning,roleLocalPublicFacts:e.roleLocalPublicFacts,roleLocalBinding:e.activationBinding.roleLocalBinding,durableMaterialRef:e.activationBinding.durableMaterialRef,bindingDigest:e.activationBinding.bindingDigest,lifecycleId:o.lifecycleId,ciphertextDigest:e.ciphertextDigest,activationDigest:o.activationDigest,activatedAt:o.activatedAt,runtimePolicyScope:a})}function ot(e){return new He({binding:e.binding,sealingKeyId:e.sealingKeyId,iv12B64u:e.iv12B64u,ciphertextB64u:e.ciphertextB64u})}function st(e){_t(e.registeredPublicFacts,e.activationBinding.roleLocalBinding,e.serverActivation),yt(e.durableMaterial,e.activationBinding,e.serverActivation);let t=new Me({preparedSigner:e.activationBinding.signer,registeredPublicFacts:e.registeredPublicFacts}),n={kind:`active_ecdsa_material_activation`,materialActivation:e.durableMaterial.materialActivation,serverActivation:e.serverActivation,retention:`retained`};return new Ue({identity:e.activationBinding.targetManifest,signer:t,activation:n,durableMaterial:e.durableMaterial,committedAt:e.committedAt})}function ct(e){return xt(e.activeManifest,e.replacementManifest),new We({identity:e.activeManifest.identity,signer:e.activeManifest.signer,retirement:{kind:`replaced`,replacementManifest:e.replacementManifest.identity,replacementActivation:e.replacementManifest.activation.serverActivation}})}function lt(e){let t=e.map(J);if(new Set(t).size!==t.length)throw Error(`ECDSA capability target memberships must be unique`)}function J(e){switch(e.kind){case`evm`:return`evm:${e.namespace}:${e.chainId}:${e.networkSlug}`;case`tempo`:return`tempo:${e.chainId}:${e.networkSlug}`;default:return $(e)}}function ut(e){let t=e.map(Number);if(t.some(e=>!Number.isSafeInteger(e)||e<1)||new Set(t).size!==t.length)throw Error(`ECDSA participant ids must be unique positive integers`)}function dt(e,t){switch(e.kind){case`no_current_manifest`:if(Number(t.manifestRevision)!==1)throw Error(`Initial ECDSA manifest revision must be 1`);return;case`exact_manifest`:if(t.manifestId===e.manifestId||Number(t.manifestRevision)!==Number(e.manifestRevision)+1)throw Error(`Replacement ECDSA manifest must use a fresh id and next revision`);return;default:return $(e)}}function ft(e,t){switch(e.kind){case`no_current_manifest`:if(t.kind!==`no_current_generation`)throw Error(`Initial ECDSA activation cannot expect a server generation`);return;case`exact_manifest`:if(t.kind!==`exact_generation`)throw Error(`Replacement ECDSA activation requires an exact server generation`);return;default:return $(e)}}function pt(e,t){let n=JSON.parse(t.activationCommand.canonicalRequest).operation===`wallet_registration_activate_v2`;if(e.correlationId!==t.activationCommand.correlationId||!n&&e.activationRequestDigest!==t.activationCommand.requestDigest)throw Error(`ECDSA server activation commit does not match the prepared command`)}function Y(e,t){let n=e.ecdsa_activation.public_identity,r=e.ecdsa_activation.material_activation;if(X(e),n.context_binding_b64u!==String(t.bindingDigest)||n.derivation_client_share_public_key33_b64u!==String(t.roleLocalBinding.clientVerifyingPublicKey33B64u)||r.material_owner!==String(t.signer.materialOwner)||r.key_binding!==String(t.bindingDigest)||r.lifecycle_binding!==e.lifecycle_id||r.signing_worker!==e.ecdsa_activation.signing_worker.server_id)throw Error(`ECDSA activation receipt does not match the prepared material binding`)}function mt(e,t){let n=i(Uint8Array.from(e.activation_request_digest.bytes));if(e.activation_correlation_id!==t.correlationId||n!==t.activationRequestDigest||e.server_generation!==t.serverGeneration)throw Error(`ECDSA activation receipt does not match the server activation commit`)}function ht(e){return d(e.lifecycle_id)}function gt(e){return te(e.ecdsa_activation.activation_digest_b64u)}function X(e){return h(e.ecdsa_activation.material_activation)}function _t(e,t,n){let r=n.serverActivationReceipt.protocolReceipt.ecdsa_activation.public_identity;if(String(e.keyHandle)!==String(t.keyHandle)||String(e.publicKeyB64u)!==r.threshold_public_key33_b64u||String(t.clientVerifyingPublicKey33B64u)!==r.derivation_client_share_public_key33_b64u||!Z(e.participantIds,t.participantIds))throw Error(`Registered ECDSA public facts do not match role-local material`)}function Z(e,t){return e.length===t.length?e.every((e,n)=>Number(e)===Number(t[n])):!1}function vt(e,t){Y(e.serverActivationReceipt.protocolReceipt,t)}function yt(e,n,r){let i=r.serverActivationReceipt,a=X(i.protocolReceipt);if(!t(e.materialActivation,a)||e.roleLocalBinding!==n.roleLocalBinding||e.durableMaterialRef!==n.durableMaterialRef||e.bindingDigest!==n.bindingDigest||e.lifecycleId!==i.lifecycleId||e.activationDigest!==i.activationDigest||e.activatedAt!==i.activatedAt)throw Error(`Durable ECDSA material does not match its activation`);Q({normalSigning:e.routerAbEcdsaDerivationNormalSigning,activationBinding:n,roleLocalPublicFacts:e.roleLocalPublicFacts,receipt:i.protocolReceipt})}function bt(e,t){return e.kind===t.kind&&e.context.application_binding_digest_b64u===t.context.application_binding_digest_b64u&&p(e.public_identity,t.public_identity)&&y(e.material_activation,t.material_activation)&&ne(e.signer_set,t.signer_set)&&g(e.deriver_recipient_keys,t.deriver_recipient_keys)&&e.router_id===t.router_id&&e.client_id===t.client_id&&e.activation_epoch===t.activation_epoch&&e.registration_request_digest_b64u===t.registration_request_digest_b64u&&e.proof_transcript_digest_b64u===t.proof_transcript_digest_b64u}function Q(e){let t=e.normalSigning.scope,n=e.roleLocalPublicFacts,r=X(e.receipt),i=oe({kind:r.kind,activationId:r.activationId,capability:r.capability,materialOwner:r.materialOwner,keyBinding:r.keyBinding,lifecycleBinding:r.lifecycleBinding,signingWorker:r.signingWorker});if(t.wallet_id!==String(e.activationBinding.signer.walletId)||t.ecdsa_threshold_key_id!==String(e.activationBinding.roleLocalBinding.ecdsaThresholdKeyId)||t.signing_root_id!==String(e.activationBinding.signer.signingRootId)||t.signing_root_version!==String(e.activationBinding.signer.signingRootVersion)||t.context.application_binding_digest_b64u!==e.receipt.ecdsa_activation.context.application_binding_digest_b64u||!p(t.public_identity,e.receipt.ecdsa_activation.public_identity)||!m(t.signing_worker,e.receipt.ecdsa_activation.signing_worker)||t.activation_epoch!==e.receipt.ecdsa_activation.activation_epoch||t.public_identity.context_binding_b64u!==n.contextBinding32B64u||t.public_identity.derivation_client_share_public_key33_b64u!==n.derivationClientSharePublicKey33B64u||t.public_identity.server_public_key33_b64u!==n.relayerPublicKey33B64u||t.public_identity.threshold_public_key33_b64u!==n.groupPublicKey33B64u||!y(t.material_activation,i))throw Error(`ECDSA normal-signing runtime does not match its activation`)}function xt(e,t){if(e.identity.manifestId===t.identity.manifestId||Number(t.identity.manifestRevision)!==Number(e.identity.manifestRevision)+1||e.signer.capability!==t.signer.capability||e.signer.signerId!==t.signer.signerId||e.signer.walletId!==t.signer.walletId||e.signer.authority.authorityDigest!==t.signer.authority.authorityDigest||e.signer.materialOwner!==t.signer.materialOwner||e.durableMaterial.durableMaterialRef===t.durableMaterial.durableMaterialRef||e.activation.serverActivation.serverGeneration===t.activation.serverActivation.serverGeneration)throw Error(`ECDSA replacement manifest does not exactly replace the active manifest`)}function $(e){throw Error(`Unexpected ECDSA capability branch: ${String(e)}`)}export{pe as A,ue as B,H as C,U as D,Se as E,E as F,x as I,fe as L,w as M,S as N,_e as O,T as P,le as R,z as S,xe as T,ce as V,it as _,qe as a,Ge as b,et as c,Je as d,Xe as f,ct as g,$e as h,Ke as i,C as j,be as k,Ye as l,rt as m,at as n,Qe as o,nt as p,tt as r,q as s,st as t,Ze as u,ot as v,we as w,B as x,bt as y,de as z};