@seams/wallet 0.28.0 → 0.30.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 (425) hide show
  1. package/README.md +29 -4
  2. package/dist/.build-inputs.sha256 +1 -1
  3. package/dist/esm/SeamsWeb/SeamsWeb.js +2 -0
  4. package/dist/esm/SeamsWeb/publicApi/createPublicApi.js +11 -0
  5. package/dist/esm/SeamsWeb/publicApi/near.js +3 -0
  6. package/dist/esm/SeamsWeb/publicApi/ownerNearOperation.js +175 -0
  7. package/dist/esm/SeamsWeb/walletIframe/client/inboundMessages.js +9 -0
  8. package/dist/esm/SeamsWeb/walletIframe/client/nearCommands.js +4 -0
  9. package/dist/esm/SeamsWeb/walletIframe/client/ownerNearOperation.js +67 -0
  10. package/dist/esm/SeamsWeb/walletIframe/client/progress/on-events-progress-bus.js +27 -17
  11. package/dist/esm/SeamsWeb/walletIframe/client/router.js +60 -7
  12. package/dist/esm/SeamsWeb/walletIframe/client/sessionCommands.js +4 -0
  13. package/dist/esm/SeamsWeb/walletIframe/coordinator.js +18 -0
  14. package/dist/esm/SeamsWeb/walletIframe/host/ui/auth-menu/AuthMenuSurface.js +88 -47
  15. package/dist/esm/SeamsWeb/walletIframe/host/ui/auth-menu/WalletAlternativesSection.js +67 -0
  16. package/dist/esm/SeamsWeb/walletIframe/host/ui/auth-menu/mountAuthMenuSurface.js +13 -0
  17. package/dist/esm/SeamsWeb/walletIframe/host/walletMutationGuard.js +6 -0
  18. package/dist/esm/SeamsWeb/walletIframe/shared/exactSessionState.js +15 -1
  19. package/dist/esm/SeamsWeb/walletIframe/shared/messages.js +20 -6
  20. package/dist/esm/SeamsWeb/walletIframe/shared/ownerNearOperation.js +152 -0
  21. package/dist/esm/SeamsWeb/walletIframe/shared/walletAlternatives.js +109 -0
  22. package/dist/esm/core/accountData/near/accountProjection.js +1 -1
  23. package/dist/esm/core/config/configBuilder.js +1 -1
  24. package/dist/esm/core/config/defaultConfigs.js +9 -2
  25. package/dist/esm/core/indexedDB/seamsWalletDB/repositories.js +4 -3
  26. package/dist/esm/core/rpcClients/relayer/walletRegistration.js +1 -1
  27. package/dist/esm/core/signingEngine/flows/registration/accountLifecycle.js +1 -1
  28. package/dist/esm/core/signingEngine/flows/shared/signingConfirmation.js +1 -1
  29. package/dist/esm/core/signingEngine/flows/signEvmFamily/signEvmFamily.js +1 -1
  30. package/dist/esm/core/signingEngine/flows/signEvmFamily/signingFlow.js +1 -1
  31. package/dist/esm/core/signingEngine/flows/signNear/shared/ed25519YaoNormalSigning.js +2 -2
  32. package/dist/esm/core/signingEngine/flows/signNear/signDelegate.js +2 -2
  33. package/dist/esm/core/signingEngine/flows/signNear/signNear.js +3 -8
  34. package/dist/esm/core/signingEngine/flows/signNear/signNep413.js +1 -1
  35. package/dist/esm/core/signingEngine/flows/signNear/signTransactions.js +3 -4
  36. package/dist/esm/core/signingEngine/session/identity/exactSigningLaneIdentity.js +1 -1
  37. package/dist/esm/core/ui/messages.js +3 -1
  38. package/dist/esm/core/ui/walletIcon.js +10 -0
  39. package/dist/esm/externalEvm/boundary.js +4 -2
  40. package/dist/esm/index.js +3 -2
  41. package/dist/esm/react/boundWallet.js +24 -0
  42. package/dist/esm/react/components/HostedSeamsAuthMenu/shell.js +26 -6
  43. package/dist/esm/react/components/HostedSeamsAuthMenu/walletAlternatives.js +178 -0
  44. package/dist/esm/react/context/useLoginStateRefresher.js +1 -0
  45. package/dist/esm/react/hooks/useAccountInput.js +1 -1
  46. package/dist/esm/react/hooks/useOwnerNearOperation.js +10 -0
  47. package/dist/esm/react/index.js +3 -3
  48. package/dist/esm/react/styles/styles.css +0 -183
  49. package/dist/esm/react/styles.css +0 -1
  50. package/dist/esm/sdk/{ConfirmationDrawer-MJoE0AAo.js → ConfirmationDrawer-fyl4IDRl.js} +1 -1
  51. package/dist/esm/sdk/NonceCoordinator-C1lw03Ce.js +1 -0
  52. package/dist/esm/sdk/{SeamsWordmark-DwvPx2UA.js → SeamsWordmark-CeEi2RlU.js} +1 -1
  53. package/dist/esm/sdk/accountLifecycle-B5a9SCM7.js +1 -0
  54. package/dist/{public/sdk/activeWalletSession-BJ4B-nJo.js → esm/sdk/activeWalletSession-HAOgRKzn.js} +1 -1
  55. package/dist/{public/sdk/adapters-C-g_hkkZ.js → esm/sdk/adapters-BY1wGpm5.js} +1 -1
  56. package/dist/esm/sdk/appearance-token-vars-CzlRDVQ7.js +1 -0
  57. package/dist/esm/sdk/authorization-D_NueqAv.js +1 -0
  58. package/dist/esm/sdk/clientSessionPersistenceState-B3gU3515.js +1 -0
  59. package/dist/esm/sdk/{collectAuthenticationCredentialForChallengeB64u-I4wq8OGq.js → collectAuthenticationCredentialForChallengeB64u-BoFVpdRS.js} +1 -1
  60. package/dist/esm/sdk/{commitQueue-CYruPlkm.js → commitQueue-CbyuhEW9.js} +1 -1
  61. package/dist/esm/sdk/confirm-ui-DWFcGTsT.js +2 -0
  62. package/dist/{public/sdk/device-linking-DiCNt3iA.js → esm/sdk/device-linking-BL2aDEUF.js} +1 -1
  63. package/dist/esm/sdk/{deviceLinkApproval-x3WkiYrd.js → deviceLinkApproval-C4T8XAmi.js} +1 -1
  64. package/dist/{public/sdk/digestEncoding-CqNXPZY9.js → esm/sdk/digestEncoding-Rx8Vjy4J.js} +1 -1
  65. package/dist/esm/sdk/{display-D0EPmU4w.js → display-8NGPOhQT.js} +1 -1
  66. package/dist/{public/sdk/ecdsaCapabilityManifest-DAJEVjlP.js → esm/sdk/ecdsaCapabilityManifest-BbPXL-qh.js} +1 -1
  67. package/dist/esm/sdk/{ecdsaDerivationClientWasm-AYOJgTJm.js → ecdsaDerivationClientWasm-GCt9yVsd.js} +1 -1
  68. package/dist/esm/sdk/ecdsaDerivationExport-jm2VBMz_.js +1 -0
  69. package/dist/esm/sdk/{ecdsaWalletRecords-WLyq414E.js → ecdsaWalletRecords-CKaXfsVu.js} +1 -1
  70. package/dist/esm/sdk/ed25519OperationFingerprint-Dev4P6Og.js +1 -0
  71. package/dist/esm/sdk/{emailOtpEcdsaDerivationIdentity-HFQXc1Yw.js → emailOtpEcdsaDerivationIdentity-DJmMyqL-.js} +1 -1
  72. package/dist/esm/sdk/{enrichDisplayModelWithAbi-O6Mw4i2E.js → enrichDisplayModelWithAbi-JeAcpa7r.js} +1 -1
  73. package/dist/esm/sdk/{evmCryptoWasm-BUPb4hBH.js → evmCryptoWasm-CeH6Qeaa.js} +1 -1
  74. package/dist/esm/sdk/{export-viewer-host-BSTfHhau.js → export-viewer-host-TzgdJQuZ.js} +1 -1
  75. package/dist/esm/sdk/exportKeypairOperation-B9_ulzNz.js +1 -0
  76. package/dist/esm/sdk/host-Csu5L7VF.js +1 -0
  77. package/dist/{public/sdk/icons-BlMXolHv.js → esm/sdk/icons-pSZJ5Xrm.js} +1 -1
  78. package/dist/esm/sdk/indexedDB-BqsYXybq.js +1 -0
  79. package/dist/esm/sdk/{intentDigest-HvRsBQ1z.js → intentDigest-gM3r4SVX.js} +1 -1
  80. package/dist/esm/sdk/{lanes-BU-fGqY4.js → lanes-0WT2w1Xz.js} +1 -1
  81. package/dist/esm/sdk/{localOnly-Xs89Xajm.js → localOnly-DFrtrfdO.js} +1 -1
  82. package/dist/{public/sdk/mountExportPrivateKeySurface-CsUEKeum.js → esm/sdk/mountExportPrivateKeySurface-D8juRQJM.js} +1 -1
  83. package/dist/esm/sdk/{mountRecoveryCodeBackupSurface-kFLo5zLk.js → mountRecoveryCodeBackupSurface-CMtByh-L.js} +1 -1
  84. package/dist/esm/sdk/nearEd25519YaoSigningPreparation-Cz2Gb95g.js +1 -0
  85. package/dist/esm/sdk/{nonceLaneKeys-BF_UpvIy.js → nonceLaneKeys-DtBpxubF.js} +1 -1
  86. package/dist/esm/sdk/{normalization-Df9fZWJC.js → normalization-DmfGvZ_3.js} +1 -1
  87. package/dist/esm/sdk/{operationFingerprint-Bas59T7L.js → operationFingerprint-GKEY-X5I.js} +1 -1
  88. package/dist/esm/sdk/ownerNearOperation-DCxxHcwX.js +1 -0
  89. package/dist/{public/sdk/pendingWalletRecoveryCodeBackup-B-R_U34I.js → esm/sdk/pendingWalletRecoveryCodeBackup-8iMhQU-E.js} +1 -1
  90. package/dist/esm/sdk/{presignaturePool-BbvqRWYw.js → presignaturePool-CaI45td2.js} +1 -1
  91. package/dist/{public/sdk/presignatures-BCeq56DG.js → esm/sdk/presignatures-B9KnQyfE.js} +1 -1
  92. package/dist/{public/sdk/recovery-entrypoint-DJbMDC_m.js → esm/sdk/recovery-entrypoint-DA2FGLG6.js} +1 -1
  93. package/dist/esm/sdk/registration-C7w_51wE.js +1 -0
  94. package/dist/esm/sdk/{registration-C2fb9kRQ.js → registration-XNyt1YRK.js} +1 -1
  95. package/dist/esm/sdk/{registrationAccounts-4r74gX1l.js → registrationAccounts-Bso0ntMs.js} +1 -1
  96. package/dist/{public/sdk/registrationIntent-Do1tD1V7.js → esm/sdk/registrationIntent-Cb3tggIM.js} +1 -1
  97. package/dist/{public/sdk/registrationSignerPlan-DK2b3N_p.js → esm/sdk/registrationSignerPlan-CeMidFme.js} +1 -1
  98. package/dist/esm/sdk/{requireStepUpAuth-COqCGb1i.js → requireStepUpAuth-ByMTPBu4.js} +1 -1
  99. package/dist/esm/sdk/resealedEnvelopeResult-DKY5fVNY.js +1 -0
  100. package/dist/esm/sdk/routerAbNormalSigning-CPLDkttX.js +1 -0
  101. package/dist/esm/sdk/router_ab_ed25519_yao_client_bg.wasm +0 -0
  102. package/dist/esm/sdk/runtime-auth-BMT_gIKI.js +1 -0
  103. package/dist/esm/sdk/runtime-device-link-DQe0aqRi.js +1 -0
  104. package/dist/esm/sdk/runtime-ecdsa-tempo-DKkeMMpm.js +1 -0
  105. package/dist/esm/sdk/runtime-email-otp-CzTe7r9I.js +1 -0
  106. package/dist/esm/sdk/runtime-export-BiyLbdCe.js +1 -0
  107. package/dist/esm/sdk/runtime-near-Kk0n1FSf.js +1 -0
  108. package/dist/esm/sdk/runtime-preferences-B-A3hddU.js +1 -0
  109. package/dist/esm/sdk/runtime-recovery-C9p1TU1w.js +1 -0
  110. package/dist/esm/sdk/{runtime-recovery-codes-si1fGktB.js → runtime-recovery-codes-CFOWDVd9.js} +1 -1
  111. package/dist/esm/sdk/runtimeContext-ChuvOC0h.js +7 -0
  112. package/dist/esm/sdk/{secp256k1-CE7-q9Sn.js → secp256k1-sDDAa4Ga.js} +1 -1
  113. package/dist/esm/sdk/signEvmFamily-CMrXkVsZ.js +1 -0
  114. package/dist/esm/sdk/{signEvmFamilyWithUiConfirmForTempo-CrMIAXUe.js → signEvmFamilyWithUiConfirmForTempo-CnRoo0e8.js} +1 -1
  115. package/dist/esm/sdk/{signEvmWithUiConfirm-CGrLtMV6.js → signEvmWithUiConfirm-yITc3ZvP.js} +1 -1
  116. package/dist/esm/sdk/signNear-DyFk--I3.js +1 -0
  117. package/dist/esm/sdk/{signatureUses-kSrUHSSH.js → signatureUses-BLOoPRsb.js} +1 -1
  118. package/dist/{public/sdk/signingFlow-BcetvUeS.js → esm/sdk/signingFlow-DTP4D19E.js} +2 -2
  119. package/dist/{public/sdk/signingQueue-dMFOFOP5.js → esm/sdk/signingQueue-Dy5mYMus.js} +1 -1
  120. package/dist/esm/sdk/{thresholdEcdsa-CqR1fFA-.js → thresholdEcdsa-CRfx6RP1.js} +1 -1
  121. package/dist/esm/sdk/{trace--mRP2OQc.js → trace-BA8jya7O.js} +1 -1
  122. package/dist/esm/sdk/{transaction-activity-DCzHGg3b.js → transaction-activity-BXSxMp1E.js} +1 -1
  123. package/dist/esm/sdk/{transactionState-29T9xfvL.js → transactionState-BCbaT2hO.js} +1 -1
  124. package/dist/esm/sdk/tx-confirm-ui.js +3 -1
  125. package/dist/esm/sdk/{types-f7dyj5N6.js → types-D2Zk1W7I.js} +1 -1
  126. package/dist/esm/sdk/{unlockedEd25519ExportRootCapability-yzxQjIFd.js → unlockedEd25519ExportRootCapability-BbGMlikr.js} +1 -1
  127. package/dist/esm/sdk/voiceid-host.js +1 -1
  128. package/dist/esm/sdk/wallet-iframe-host-ecdsa.js +1 -1
  129. package/dist/esm/sdk/wallet-iframe-host-full.js +1 -1
  130. package/dist/esm/sdk/wallet-iframe-host-near.js +1 -1
  131. package/dist/esm/sdk/wallet-iframe-host-runtime.js +1 -1
  132. package/dist/{public/sdk/wallet-recovery-BZB2Vu3X.js → esm/sdk/wallet-recovery-Bfm-oUoP.js} +1 -1
  133. package/dist/esm/sdk/wallet-ui.css +1 -1
  134. package/dist/esm/sdk/{walletAuthMethodRecord-DLBB5fez.js → walletAuthMethodRecord--fvGr8r1.js} +1 -1
  135. package/dist/{public/sdk/walletAuthority-BTGAuOi8.js → esm/sdk/walletAuthority-CU9nO0Ze.js} +1 -1
  136. package/dist/esm/sdk/{walletCapabilityBindings-D5YYB7nN.js → walletCapabilityBindings-mPx-6_r-.js} +1 -1
  137. package/dist/{public/sdk/walletCustodyEcdsaContinuity-C31YQ9av.js → esm/sdk/walletCustodyEcdsaContinuity-BUdDyRl_.js} +1 -1
  138. package/dist/esm/sdk/{walletDbName-Ca0rCq5r.js → walletDbName-B6-CV_Rq.js} +1 -1
  139. package/dist/esm/sdk/{walletCustodyOperation-DimzAbCB.js → walletOwnerOperation-BJPxzo-k.js} +1 -1
  140. package/dist/{public/sdk/walletOwnershipGeneration-CgjCtPrV.js → esm/sdk/walletOwnershipGeneration-B3uE9GRG.js} +1 -1
  141. package/dist/esm/sdk/walletRecoveryAdminProof-BmZaP0Q8.js +1 -0
  142. package/dist/esm/sdk/walletRecoveryCommit-CSYNbYNd.js +1 -0
  143. package/dist/{public/sdk/walletSessionAuthorizationStatus-DG7DPcgR.js → esm/sdk/walletSessionAuthorizationStatus-CQ3qA9tI.js} +1 -1
  144. package/dist/esm/sdk/{walletSessionAuthorizationStore-B9Vwkshr.js → walletSessionAuthorizationStore-CGt-s5fX.js} +1 -1
  145. package/dist/esm/sdk/{webauthnP256-BsQQPurm.js → webauthnP256-BGHikiNl.js} +1 -1
  146. package/dist/esm/shared-ts/src/auth/externalAuth.js +2 -2
  147. package/dist/esm/shared-ts/src/utils/index.js +3 -3
  148. package/dist/esm/voiceid-host.js +1 -1
  149. package/dist/esm/wasm/near_signer/pkg/wasm_signer_worker_bg.wasm +0 -0
  150. package/dist/esm/wasm/router_ab_ecdsa_client/pkg/router_ab_ecdsa_client_bg.wasm +0 -0
  151. package/dist/esm/wasm/router_ab_ed25519_yao_client/pkg/router_ab_ed25519_yao_client_bg.wasm +0 -0
  152. package/dist/public/headers.manifest.json +1 -1
  153. package/dist/public/sdk/{ConfirmationDrawer-MJoE0AAo.js → ConfirmationDrawer-fyl4IDRl.js} +1 -1
  154. package/dist/public/sdk/NonceCoordinator-C1lw03Ce.js +1 -0
  155. package/dist/public/sdk/{SeamsWordmark-DwvPx2UA.js → SeamsWordmark-CeEi2RlU.js} +1 -1
  156. package/dist/public/sdk/accountLifecycle-B5a9SCM7.js +1 -0
  157. package/dist/{esm/sdk/activeWalletSession-BJ4B-nJo.js → public/sdk/activeWalletSession-HAOgRKzn.js} +1 -1
  158. package/dist/{esm/sdk/adapters-C-g_hkkZ.js → public/sdk/adapters-BY1wGpm5.js} +1 -1
  159. package/dist/public/sdk/appearance-token-vars-CzlRDVQ7.js +1 -0
  160. package/dist/public/sdk/authorization-D_NueqAv.js +1 -0
  161. package/dist/public/sdk/clientSessionPersistenceState-B3gU3515.js +1 -0
  162. package/dist/public/sdk/{collectAuthenticationCredentialForChallengeB64u-I4wq8OGq.js → collectAuthenticationCredentialForChallengeB64u-BoFVpdRS.js} +1 -1
  163. package/dist/public/sdk/{commitQueue-CYruPlkm.js → commitQueue-CbyuhEW9.js} +1 -1
  164. package/dist/public/sdk/confirm-ui-DWFcGTsT.js +2 -0
  165. package/dist/{esm/sdk/device-linking-DiCNt3iA.js → public/sdk/device-linking-BL2aDEUF.js} +1 -1
  166. package/dist/public/sdk/{deviceLinkApproval-x3WkiYrd.js → deviceLinkApproval-C4T8XAmi.js} +1 -1
  167. package/dist/{esm/sdk/digestEncoding-CqNXPZY9.js → public/sdk/digestEncoding-Rx8Vjy4J.js} +1 -1
  168. package/dist/public/sdk/{display-D0EPmU4w.js → display-8NGPOhQT.js} +1 -1
  169. package/dist/{esm/sdk/ecdsaCapabilityManifest-DAJEVjlP.js → public/sdk/ecdsaCapabilityManifest-BbPXL-qh.js} +1 -1
  170. package/dist/public/sdk/{ecdsaDerivationClientWasm-AYOJgTJm.js → ecdsaDerivationClientWasm-GCt9yVsd.js} +1 -1
  171. package/dist/public/sdk/ecdsaDerivationExport-jm2VBMz_.js +1 -0
  172. package/dist/public/sdk/{ecdsaWalletRecords-WLyq414E.js → ecdsaWalletRecords-CKaXfsVu.js} +1 -1
  173. package/dist/public/sdk/ed25519OperationFingerprint-Dev4P6Og.js +1 -0
  174. package/dist/public/sdk/{emailOtpEcdsaDerivationIdentity-HFQXc1Yw.js → emailOtpEcdsaDerivationIdentity-DJmMyqL-.js} +1 -1
  175. package/dist/public/sdk/{enrichDisplayModelWithAbi-O6Mw4i2E.js → enrichDisplayModelWithAbi-JeAcpa7r.js} +1 -1
  176. package/dist/public/sdk/{evmCryptoWasm-BUPb4hBH.js → evmCryptoWasm-CeH6Qeaa.js} +1 -1
  177. package/dist/public/sdk/{export-viewer-host-BSTfHhau.js → export-viewer-host-TzgdJQuZ.js} +1 -1
  178. package/dist/public/sdk/exportKeypairOperation-B9_ulzNz.js +1 -0
  179. package/dist/public/sdk/host-Csu5L7VF.js +1 -0
  180. package/dist/{esm/sdk/icons-BlMXolHv.js → public/sdk/icons-pSZJ5Xrm.js} +1 -1
  181. package/dist/public/sdk/indexedDB-BqsYXybq.js +1 -0
  182. package/dist/public/sdk/{intentDigest-HvRsBQ1z.js → intentDigest-gM3r4SVX.js} +1 -1
  183. package/dist/public/sdk/{lanes-BU-fGqY4.js → lanes-0WT2w1Xz.js} +1 -1
  184. package/dist/public/sdk/{localOnly-Xs89Xajm.js → localOnly-DFrtrfdO.js} +1 -1
  185. package/dist/{esm/sdk/mountExportPrivateKeySurface-CsUEKeum.js → public/sdk/mountExportPrivateKeySurface-D8juRQJM.js} +1 -1
  186. package/dist/public/sdk/{mountRecoveryCodeBackupSurface-kFLo5zLk.js → mountRecoveryCodeBackupSurface-CMtByh-L.js} +1 -1
  187. package/dist/public/sdk/nearEd25519YaoSigningPreparation-Cz2Gb95g.js +1 -0
  188. package/dist/public/sdk/{nonceLaneKeys-BF_UpvIy.js → nonceLaneKeys-DtBpxubF.js} +1 -1
  189. package/dist/public/sdk/{normalization-Df9fZWJC.js → normalization-DmfGvZ_3.js} +1 -1
  190. package/dist/public/sdk/{operationFingerprint-Bas59T7L.js → operationFingerprint-GKEY-X5I.js} +1 -1
  191. package/dist/public/sdk/ownerNearOperation-DCxxHcwX.js +1 -0
  192. package/dist/{esm/sdk/pendingWalletRecoveryCodeBackup-B-R_U34I.js → public/sdk/pendingWalletRecoveryCodeBackup-8iMhQU-E.js} +1 -1
  193. package/dist/public/sdk/{presignaturePool-BbvqRWYw.js → presignaturePool-CaI45td2.js} +1 -1
  194. package/dist/{esm/sdk/presignatures-BCeq56DG.js → public/sdk/presignatures-B9KnQyfE.js} +1 -1
  195. package/dist/{esm/sdk/recovery-entrypoint-DJbMDC_m.js → public/sdk/recovery-entrypoint-DA2FGLG6.js} +1 -1
  196. package/dist/public/sdk/registration-C7w_51wE.js +1 -0
  197. package/dist/public/sdk/{registration-C2fb9kRQ.js → registration-XNyt1YRK.js} +1 -1
  198. package/dist/public/sdk/{registrationAccounts-4r74gX1l.js → registrationAccounts-Bso0ntMs.js} +1 -1
  199. package/dist/{esm/sdk/registrationIntent-Do1tD1V7.js → public/sdk/registrationIntent-Cb3tggIM.js} +1 -1
  200. package/dist/{esm/sdk/registrationSignerPlan-DK2b3N_p.js → public/sdk/registrationSignerPlan-CeMidFme.js} +1 -1
  201. package/dist/public/sdk/{requireStepUpAuth-COqCGb1i.js → requireStepUpAuth-ByMTPBu4.js} +1 -1
  202. package/dist/public/sdk/resealedEnvelopeResult-DKY5fVNY.js +1 -0
  203. package/dist/public/sdk/routerAbNormalSigning-CPLDkttX.js +1 -0
  204. package/dist/public/sdk/router_ab_ed25519_yao_client_bg.wasm +0 -0
  205. package/dist/public/sdk/runtime-auth-BMT_gIKI.js +1 -0
  206. package/dist/public/sdk/runtime-device-link-DQe0aqRi.js +1 -0
  207. package/dist/public/sdk/runtime-ecdsa-tempo-DKkeMMpm.js +1 -0
  208. package/dist/public/sdk/runtime-email-otp-CzTe7r9I.js +1 -0
  209. package/dist/public/sdk/runtime-export-BiyLbdCe.js +1 -0
  210. package/dist/public/sdk/runtime-near-Kk0n1FSf.js +1 -0
  211. package/dist/public/sdk/runtime-preferences-B-A3hddU.js +1 -0
  212. package/dist/public/sdk/runtime-recovery-C9p1TU1w.js +1 -0
  213. package/dist/public/sdk/{runtime-recovery-codes-si1fGktB.js → runtime-recovery-codes-CFOWDVd9.js} +1 -1
  214. package/dist/public/sdk/runtimeContext-ChuvOC0h.js +7 -0
  215. package/dist/public/sdk/{secp256k1-CE7-q9Sn.js → secp256k1-sDDAa4Ga.js} +1 -1
  216. package/dist/public/sdk/signEvmFamily-CMrXkVsZ.js +1 -0
  217. package/dist/public/sdk/{signEvmFamilyWithUiConfirmForTempo-CrMIAXUe.js → signEvmFamilyWithUiConfirmForTempo-CnRoo0e8.js} +1 -1
  218. package/dist/public/sdk/{signEvmWithUiConfirm-CGrLtMV6.js → signEvmWithUiConfirm-yITc3ZvP.js} +1 -1
  219. package/dist/public/sdk/signNear-DyFk--I3.js +1 -0
  220. package/dist/public/sdk/{signatureUses-kSrUHSSH.js → signatureUses-BLOoPRsb.js} +1 -1
  221. package/dist/{esm/sdk/signingFlow-BcetvUeS.js → public/sdk/signingFlow-DTP4D19E.js} +2 -2
  222. package/dist/{esm/sdk/signingQueue-dMFOFOP5.js → public/sdk/signingQueue-Dy5mYMus.js} +1 -1
  223. package/dist/public/sdk/{thresholdEcdsa-CqR1fFA-.js → thresholdEcdsa-CRfx6RP1.js} +1 -1
  224. package/dist/public/sdk/{trace--mRP2OQc.js → trace-BA8jya7O.js} +1 -1
  225. package/dist/public/sdk/{transaction-activity-DCzHGg3b.js → transaction-activity-BXSxMp1E.js} +1 -1
  226. package/dist/public/sdk/{transactionState-29T9xfvL.js → transactionState-BCbaT2hO.js} +1 -1
  227. package/dist/public/sdk/tx-confirm-ui.js +3 -1
  228. package/dist/public/sdk/{types-f7dyj5N6.js → types-D2Zk1W7I.js} +1 -1
  229. package/dist/public/sdk/{unlockedEd25519ExportRootCapability-yzxQjIFd.js → unlockedEd25519ExportRootCapability-BbGMlikr.js} +1 -1
  230. package/dist/public/sdk/voiceid-host.js +1 -1
  231. package/dist/public/sdk/wallet-iframe-host-ecdsa.js +1 -1
  232. package/dist/public/sdk/wallet-iframe-host-full.js +1 -1
  233. package/dist/public/sdk/wallet-iframe-host-near.js +1 -1
  234. package/dist/public/sdk/wallet-iframe-host-runtime.js +1 -1
  235. package/dist/{esm/sdk/wallet-recovery-BZB2Vu3X.js → public/sdk/wallet-recovery-Bfm-oUoP.js} +1 -1
  236. package/dist/public/sdk/wallet-ui.css +1 -1
  237. package/dist/public/sdk/{walletAuthMethodRecord-DLBB5fez.js → walletAuthMethodRecord--fvGr8r1.js} +1 -1
  238. package/dist/{esm/sdk/walletAuthority-BTGAuOi8.js → public/sdk/walletAuthority-CU9nO0Ze.js} +1 -1
  239. package/dist/public/sdk/{walletCapabilityBindings-D5YYB7nN.js → walletCapabilityBindings-mPx-6_r-.js} +1 -1
  240. package/dist/{esm/sdk/walletCustodyEcdsaContinuity-C31YQ9av.js → public/sdk/walletCustodyEcdsaContinuity-BUdDyRl_.js} +1 -1
  241. package/dist/public/sdk/{walletDbName-Ca0rCq5r.js → walletDbName-B6-CV_Rq.js} +1 -1
  242. package/dist/public/sdk/{walletCustodyOperation-DimzAbCB.js → walletOwnerOperation-BJPxzo-k.js} +1 -1
  243. package/dist/{esm/sdk/walletOwnershipGeneration-CgjCtPrV.js → public/sdk/walletOwnershipGeneration-B3uE9GRG.js} +1 -1
  244. package/dist/public/sdk/walletRecoveryAdminProof-BmZaP0Q8.js +1 -0
  245. package/dist/public/sdk/walletRecoveryCommit-CSYNbYNd.js +1 -0
  246. package/dist/{esm/sdk/walletSessionAuthorizationStatus-DG7DPcgR.js → public/sdk/walletSessionAuthorizationStatus-CQ3qA9tI.js} +1 -1
  247. package/dist/public/sdk/{walletSessionAuthorizationStore-B9Vwkshr.js → walletSessionAuthorizationStore-CGt-s5fX.js} +1 -1
  248. package/dist/public/sdk/{webauthnP256-BsQQPurm.js → webauthnP256-BGHikiNl.js} +1 -1
  249. package/dist/public/sdk/workers/email_otp_runtime_bg.wasm +0 -0
  250. package/dist/public/sdk/workers/evm_crypto_bg.wasm +0 -0
  251. package/dist/public/sdk/workers/router_ab_ecdsa_client_bg.wasm +0 -0
  252. package/dist/public/sdk/workers/router_ab_ed25519_yao_client_bg.wasm +0 -0
  253. package/dist/public/sdk/workers/shamir3pass_runtime_bg.wasm +0 -0
  254. package/dist/public/sdk/workers/tempo_signer_bg.wasm +0 -0
  255. package/dist/public/sdk/workers/wallet_custody_ceremony_bg.wasm +0 -0
  256. package/dist/public/sdk/workers/wasm_signer_worker_bg.wasm +0 -0
  257. package/dist/public/wallet-assets.manifest.json +264 -264
  258. package/dist/public/wallet-service/index.html +4 -4
  259. package/dist/types/shared-ts/src/auth/externalAuth.d.ts +51 -8
  260. package/dist/types/shared-ts/src/authorization/index.d.ts +1 -1
  261. package/dist/types/shared-ts/src/authorization/walletOwnerOperation.d.ts +10 -0
  262. package/dist/types/shared-ts/src/utils/registrationEstablishedSession.d.ts +4 -0
  263. package/dist/types/shared-ts/src/utils/registrationIntent.d.ts +2 -0
  264. package/dist/types/shared-ts/src/utils/walletManagementProtocol.d.ts +1 -1
  265. package/dist/types/wallet/src/SeamsWeb/index.d.ts +1 -0
  266. package/dist/types/wallet/src/SeamsWeb/operations/registration/pendingRegistrationRecovery.d.ts +1 -0
  267. package/dist/types/wallet/src/SeamsWeb/operations/registration/registration.d.ts +1 -0
  268. package/dist/types/wallet/src/SeamsWeb/operations/registration/registrationPasskeyMaterial.d.ts +24 -0
  269. package/dist/types/wallet/src/SeamsWeb/publicApi/auth.d.ts +1 -1
  270. package/dist/types/wallet/src/SeamsWeb/publicApi/createPublicApi.d.ts +1 -0
  271. package/dist/types/wallet/src/SeamsWeb/publicApi/nearCommands.d.ts +2 -0
  272. package/dist/types/wallet/src/SeamsWeb/publicApi/ownerNearOperation.d.ts +58 -0
  273. package/dist/types/wallet/src/SeamsWeb/publicApi/types.d.ts +17 -6
  274. package/dist/types/wallet/src/SeamsWeb/signingSurface/BrowserSigningSurface.d.ts +57 -56
  275. package/dist/types/wallet/src/SeamsWeb/signingSurface/nearOwnerOperation.d.ts +16 -0
  276. package/dist/types/wallet/src/SeamsWeb/signingSurface/nearPasskeyOperationMaterial.d.ts +72 -0
  277. package/dist/types/wallet/src/SeamsWeb/signingSurface/types.d.ts +3 -0
  278. package/dist/types/wallet/src/SeamsWeb/walletIframe/client/inboundMessages.d.ts +5 -0
  279. package/dist/types/wallet/src/SeamsWeb/walletIframe/client/ownerNearOperation.d.ts +25 -0
  280. package/dist/types/wallet/src/SeamsWeb/walletIframe/client/router.d.ts +7 -1
  281. package/dist/types/wallet/src/SeamsWeb/walletIframe/coordinator.d.ts +6 -0
  282. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/WalletHostRuntime.d.ts +5 -1
  283. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/auth-menu/controller.d.ts +2 -0
  284. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/auth-menu/domain.d.ts +3 -0
  285. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/auth-menu/session.d.ts +4 -0
  286. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/createNearCommands.d.ts +2 -1
  287. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/createSessionCommands.d.ts +6 -2
  288. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/externalAuth.d.ts +10 -8
  289. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/externalOwnerApproval.d.ts +24 -0
  290. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/ownerNearOperation.d.ts +12 -0
  291. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/requestRouter.d.ts +2 -2
  292. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/ui/auth-menu/AuthMenuSurface.d.ts +5 -0
  293. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/ui/auth-menu/WalletAlternativesSection.d.ts +13 -0
  294. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/ui/auth-menu/mountAuthMenuSurface.d.ts +3 -0
  295. package/dist/types/wallet/src/SeamsWeb/walletIframe/shared/exactSessionState.d.ts +8 -0
  296. package/dist/types/wallet/src/SeamsWeb/walletIframe/shared/messages.d.ts +26 -9
  297. package/dist/types/wallet/src/SeamsWeb/walletIframe/shared/ownerNearOperation.d.ts +51 -0
  298. package/dist/types/wallet/src/SeamsWeb/walletIframe/shared/walletAlternatives.d.ts +52 -0
  299. package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/registrationSetup.d.ts +1 -0
  300. package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/repositories.d.ts +4 -0
  301. package/dist/types/wallet/src/core/rpcClients/near/NearClient.d.ts +4 -0
  302. package/dist/types/wallet/src/core/rpcClients/relayer/walletRecoveryRotate.d.ts +2 -2
  303. package/dist/types/wallet/src/core/rpcClients/relayer/walletRegistration.d.ts +1 -0
  304. package/dist/types/wallet/src/core/signingEngine/session/passkey/ed25519YaoLocalMaterial.d.ts +21 -0
  305. package/dist/types/wallet/src/core/types/seams.d.ts +9 -2
  306. package/dist/types/wallet/src/core/ui/messages.d.ts +1 -1
  307. package/dist/types/wallet/src/core/ui/walletIcon.d.ts +3 -0
  308. package/dist/types/wallet/src/index.d.ts +3 -0
  309. package/dist/types/wallet/src/react/boundWallet.d.ts +21 -1
  310. package/dist/types/wallet/src/react/components/HostedSeamsAuthMenu/public.d.ts +1 -0
  311. package/dist/types/wallet/src/react/components/HostedSeamsAuthMenu/types.d.ts +4 -0
  312. package/dist/types/wallet/src/react/components/HostedSeamsAuthMenu/walletAlternatives.d.ts +48 -0
  313. package/dist/types/wallet/src/react/hooks/useOwnerNearOperation.d.ts +4 -0
  314. package/dist/types/wallet/src/react/index.d.ts +4 -2
  315. package/dist/workers/email_otp_runtime_bg.wasm +0 -0
  316. package/dist/workers/evm_crypto_bg.wasm +0 -0
  317. package/dist/workers/router_ab_ecdsa_client_bg.wasm +0 -0
  318. package/dist/workers/router_ab_ed25519_yao_client_bg.wasm +0 -0
  319. package/dist/workers/shamir3pass_runtime_bg.wasm +0 -0
  320. package/dist/workers/tempo_signer_bg.wasm +0 -0
  321. package/dist/workers/wallet_custody_ceremony_bg.wasm +0 -0
  322. package/dist/workers/wasm_signer_worker_bg.wasm +0 -0
  323. package/package.json +1 -1
  324. package/dist/esm/react/components/HostedSeamsAuthMenu/WalletConnectorMenu.css +0 -182
  325. package/dist/esm/react/components/HostedSeamsAuthMenu/WalletConnectorMenu.js +0 -315
  326. package/dist/esm/sdk/NonceCoordinator-3YhmDTS5.js +0 -1
  327. package/dist/esm/sdk/accountLifecycle-6DHYWf0v.js +0 -1
  328. package/dist/esm/sdk/appearance-token-vars-01eH9pgA.js +0 -1
  329. package/dist/esm/sdk/clientSessionPersistenceState-BCkJAYSz.js +0 -1
  330. package/dist/esm/sdk/confirm-ui-em0vkd2m.js +0 -2
  331. package/dist/esm/sdk/ecdsaDerivationExport-DJKOzDbS.js +0 -1
  332. package/dist/esm/sdk/exportKeypairOperation-CjST_NUK.js +0 -1
  333. package/dist/esm/sdk/host-C51z-AxP.js +0 -1
  334. package/dist/esm/sdk/indexedDB-C4SDsyOG.js +0 -1
  335. package/dist/esm/sdk/nearEd25519YaoMaterialActivation-BfXmy3Jr.js +0 -1
  336. package/dist/esm/sdk/nearEd25519YaoSigningPreparation-DHNk0F8e.js +0 -1
  337. package/dist/esm/sdk/registration-Byl4l4yZ.js +0 -1
  338. package/dist/esm/sdk/resealedEnvelopeResult-CLW00Vbw.js +0 -1
  339. package/dist/esm/sdk/routerAbNormalSigning-D-UZmCBS.js +0 -1
  340. package/dist/esm/sdk/runtime-auth-ufbVur2p.js +0 -1
  341. package/dist/esm/sdk/runtime-device-link-CagI2Q62.js +0 -1
  342. package/dist/esm/sdk/runtime-ecdsa-tempo-Rctxr0yM.js +0 -1
  343. package/dist/esm/sdk/runtime-email-otp-BQtcG-LF.js +0 -1
  344. package/dist/esm/sdk/runtime-export-wTeEaqlk.js +0 -1
  345. package/dist/esm/sdk/runtime-near-59yU_3ud.js +0 -1
  346. package/dist/esm/sdk/runtime-preferences-B9qLHX8W.js +0 -1
  347. package/dist/esm/sdk/runtime-recovery-DNyzdMBj.js +0 -1
  348. package/dist/esm/sdk/runtimeContext-ByeM6Z4Z.js +0 -6
  349. package/dist/esm/sdk/sessionObservationRevision-ihBwjS3y.js +0 -1
  350. package/dist/esm/sdk/signEvmFamily-BY5jlZEG.js +0 -1
  351. package/dist/esm/sdk/signNear-DMpJFkwF.js +0 -1
  352. package/dist/esm/sdk/signer-worker-BNodGJKY.js +0 -1
  353. package/dist/esm/sdk/walletRecoveryAdminProof-B4Ic07jY.js +0 -1
  354. package/dist/esm/sdk/walletRecoveryCommit-Cc2LAkCS.js +0 -1
  355. package/dist/public/sdk/NonceCoordinator-3YhmDTS5.js +0 -1
  356. package/dist/public/sdk/accountLifecycle-6DHYWf0v.js +0 -1
  357. package/dist/public/sdk/appearance-token-vars-01eH9pgA.js +0 -1
  358. package/dist/public/sdk/clientSessionPersistenceState-BCkJAYSz.js +0 -1
  359. package/dist/public/sdk/confirm-ui-em0vkd2m.js +0 -2
  360. package/dist/public/sdk/ecdsaDerivationExport-DJKOzDbS.js +0 -1
  361. package/dist/public/sdk/exportKeypairOperation-CjST_NUK.js +0 -1
  362. package/dist/public/sdk/host-C51z-AxP.js +0 -1
  363. package/dist/public/sdk/indexedDB-C4SDsyOG.js +0 -1
  364. package/dist/public/sdk/nearEd25519YaoMaterialActivation-BfXmy3Jr.js +0 -1
  365. package/dist/public/sdk/nearEd25519YaoSigningPreparation-DHNk0F8e.js +0 -1
  366. package/dist/public/sdk/registration-Byl4l4yZ.js +0 -1
  367. package/dist/public/sdk/resealedEnvelopeResult-CLW00Vbw.js +0 -1
  368. package/dist/public/sdk/routerAbNormalSigning-D-UZmCBS.js +0 -1
  369. package/dist/public/sdk/runtime-auth-ufbVur2p.js +0 -1
  370. package/dist/public/sdk/runtime-device-link-CagI2Q62.js +0 -1
  371. package/dist/public/sdk/runtime-ecdsa-tempo-Rctxr0yM.js +0 -1
  372. package/dist/public/sdk/runtime-email-otp-BQtcG-LF.js +0 -1
  373. package/dist/public/sdk/runtime-export-wTeEaqlk.js +0 -1
  374. package/dist/public/sdk/runtime-near-59yU_3ud.js +0 -1
  375. package/dist/public/sdk/runtime-preferences-B9qLHX8W.js +0 -1
  376. package/dist/public/sdk/runtime-recovery-DNyzdMBj.js +0 -1
  377. package/dist/public/sdk/runtimeContext-ByeM6Z4Z.js +0 -6
  378. package/dist/public/sdk/sessionObservationRevision-ihBwjS3y.js +0 -1
  379. package/dist/public/sdk/signEvmFamily-BY5jlZEG.js +0 -1
  380. package/dist/public/sdk/signNear-DMpJFkwF.js +0 -1
  381. package/dist/public/sdk/signer-worker-BNodGJKY.js +0 -1
  382. package/dist/public/sdk/walletRecoveryAdminProof-B4Ic07jY.js +0 -1
  383. package/dist/public/sdk/walletRecoveryCommit-Cc2LAkCS.js +0 -1
  384. package/dist/types/shared-ts/src/authorization/walletCustodyOperation.d.ts +0 -10
  385. package/dist/types/wallet/src/react/components/HostedSeamsAuthMenu/WalletConnectorMenu.d.ts +0 -31
  386. /package/dist/esm/sdk/{accountIds-CW2BP-d9.js → accountIds-DGWFzEnw.js} +0 -0
  387. /package/dist/esm/sdk/{actions-DrtSTGus.js → actions-7SvZZut1.js} +0 -0
  388. /package/dist/esm/sdk/{authenticatorOptions-WCDKYRux.js → authenticatorOptions-B4q62CLs.js} +0 -0
  389. /package/dist/esm/sdk/{canonicalPrimitives-Jd3i_Ngz.js → canonicalPrimitives-DKeS3M40.js} +0 -0
  390. /package/dist/esm/sdk/{capabilityKinds-DVlGMspk.js → capabilityKinds-Cafn86Y1.js} +0 -0
  391. /package/dist/esm/sdk/{confirmTypes-BvVtQs-M.js → confirmTypes-DmEPoxys.js} +0 -0
  392. /package/dist/esm/sdk/{csp-stylesheet-DUSqfXvZ.js → csp-stylesheet-5LU6VGKK.js} +0 -0
  393. /package/dist/esm/sdk/{ecdsaChainTarget-Bm5X4k-V.js → ecdsaChainTarget-BoRVQtjQ.js} +0 -0
  394. /package/dist/esm/sdk/{executeWorkerOperation-C9FOCCR7.js → executeWorkerOperation-CAYSt0NA.js} +0 -0
  395. /package/dist/esm/sdk/{helpers-Dubwo5uK.js → helpers-B7c1zc7h.js} +0 -0
  396. /package/dist/esm/sdk/{jsonRpc-BVDv1wfm.js → jsonRpc-DGzeiNSa.js} +0 -0
  397. /package/dist/esm/sdk/{keccak-mS0Mejjx.js → keccak-DGHI1G6t.js} +0 -0
  398. /package/dist/esm/sdk/{keyMaterialEnvelope-Dm2ZEilb.js → keyMaterialEnvelope-Czkks9Ki.js} +0 -0
  399. /package/dist/esm/sdk/{profileAccountProjection-C5sNt-s2.js → profileAccountProjection-dvLchPBo.js} +0 -0
  400. /package/dist/esm/sdk/{registrationAuthMethodInput-BR1WVbK3.js → registrationAuthMethodInput-C4o7yFBJ.js} +0 -0
  401. /package/dist/esm/sdk/{sdkSentEvents-DjOlKtdW.js → sdkSentEvents-BFwv3mBw.js} +0 -0
  402. /package/dist/esm/sdk/{signerDomain-BAsLT3XN.js → signerDomain-D-EUTlLK.js} +0 -0
  403. /package/dist/esm/sdk/{signerSlot-D2RZnb27.js → signerSlot-BlijMq8C.js} +0 -0
  404. /package/dist/esm/sdk/{surface-measurement-reporter-DXsvq401.js → surface-measurement-reporter-DJ_dQhBV.js} +0 -0
  405. /package/dist/esm/sdk/{walletIframeIdentity-CpgyEnKg.js → walletIframeIdentity-Cz82I_Uh.js} +0 -0
  406. /package/dist/public/sdk/{accountIds-CW2BP-d9.js → accountIds-DGWFzEnw.js} +0 -0
  407. /package/dist/public/sdk/{actions-DrtSTGus.js → actions-7SvZZut1.js} +0 -0
  408. /package/dist/public/sdk/{authenticatorOptions-WCDKYRux.js → authenticatorOptions-B4q62CLs.js} +0 -0
  409. /package/dist/public/sdk/{canonicalPrimitives-Jd3i_Ngz.js → canonicalPrimitives-DKeS3M40.js} +0 -0
  410. /package/dist/public/sdk/{capabilityKinds-DVlGMspk.js → capabilityKinds-Cafn86Y1.js} +0 -0
  411. /package/dist/public/sdk/{confirmTypes-BvVtQs-M.js → confirmTypes-DmEPoxys.js} +0 -0
  412. /package/dist/public/sdk/{csp-stylesheet-DUSqfXvZ.js → csp-stylesheet-5LU6VGKK.js} +0 -0
  413. /package/dist/public/sdk/{ecdsaChainTarget-Bm5X4k-V.js → ecdsaChainTarget-BoRVQtjQ.js} +0 -0
  414. /package/dist/public/sdk/{executeWorkerOperation-C9FOCCR7.js → executeWorkerOperation-CAYSt0NA.js} +0 -0
  415. /package/dist/public/sdk/{helpers-Dubwo5uK.js → helpers-B7c1zc7h.js} +0 -0
  416. /package/dist/public/sdk/{jsonRpc-BVDv1wfm.js → jsonRpc-DGzeiNSa.js} +0 -0
  417. /package/dist/public/sdk/{keccak-mS0Mejjx.js → keccak-DGHI1G6t.js} +0 -0
  418. /package/dist/public/sdk/{keyMaterialEnvelope-Dm2ZEilb.js → keyMaterialEnvelope-Czkks9Ki.js} +0 -0
  419. /package/dist/public/sdk/{profileAccountProjection-C5sNt-s2.js → profileAccountProjection-dvLchPBo.js} +0 -0
  420. /package/dist/public/sdk/{registrationAuthMethodInput-BR1WVbK3.js → registrationAuthMethodInput-C4o7yFBJ.js} +0 -0
  421. /package/dist/public/sdk/{sdkSentEvents-DjOlKtdW.js → sdkSentEvents-BFwv3mBw.js} +0 -0
  422. /package/dist/public/sdk/{signerDomain-BAsLT3XN.js → signerDomain-D-EUTlLK.js} +0 -0
  423. /package/dist/public/sdk/{signerSlot-D2RZnb27.js → signerSlot-BlijMq8C.js} +0 -0
  424. /package/dist/public/sdk/{surface-measurement-reporter-DXsvq401.js → surface-measurement-reporter-DJ_dQhBV.js} +0 -0
  425. /package/dist/public/sdk/{walletIframeIdentity-CpgyEnKg.js → walletIframeIdentity-Cz82I_Uh.js} +0 -0
@@ -1 +1 @@
1
- import{A as e,D as t,E as n,M as r,N as i,S as a,b as o,c as s,g as c,k as l,o as u}from"./domainIds-t1lp25yU.js";import{S as d,c as ee,r as f,t as p}from"./digests-BIaE0DMd.js";import{i as m,r as h}from"./base64-BmKR3UqU.js";import{J as g,X as te,i as ne,n as re}from"./activeWalletSession-BJ4B-nJo.js";import{d as ie,g as ae,h as oe,m as se,n as ce,u as le}from"./capabilityKinds-DVlGMspk.js";import{n as ue,r as de}from"./canonicalPrimitives-Jd3i_Ngz.js";function fe(e,t){let n=ee(e,t);if(!/^x25519:[0-9a-f]{64}$/.test(n))throw Error(`${t} must use x25519:<64 lowercase hex chars> encoding`);return n}function pe(e,t,n){let r=Object.keys(e).sort(),i=[...t].sort();if(r.length!==i.length||r.some((e,t)=>e!==i[t]))throw Error(`${n} has invalid fields`)}function _(e,t){if(typeof e!=`string`||e.trim()!==e||!e)throw Error(`${t} is required`);if(!/^[\x20-\x7e]+$/.test(e))throw Error(`${t} must be printable ASCII`);return e}function v(e){let t=d(e,`authorization`);switch(t.kind){case`reusable_wallet_session`:return pe(t,[`kind`,`wallet_session_id`],`authorization`),{kind:`reusable_wallet_session`,wallet_session_id:_(t.wallet_session_id,`authorization.wallet_session_id`)};case`operation_step_up`:return pe(t,[`kind`],`authorization`),{kind:`operation_step_up`};default:throw Error(`authorization.kind is not supported`)}}function y(e){let t=d(e,`material_activation`);if(pe(t,[`kind`,`activation_id`,`capability`,`material_owner`,`key_binding`,`lifecycle_binding`,`signing_worker`],`material_activation`),t.kind!==`mpc_material_activation_ref`)throw Error(`material_activation.kind is not supported`);return{kind:`mpc_material_activation_ref`,activation_id:_(t.activation_id,`material_activation.activation_id`),capability:_(t.capability,`material_activation.capability`),material_owner:_(t.material_owner,`material_activation.material_owner`),key_binding:_(t.key_binding,`material_activation.key_binding`),lifecycle_binding:_(t.lifecycle_binding,`material_activation.lifecycle_binding`),signing_worker:_(t.signing_worker,`material_activation.signing_worker`)}}function me(e){return y({kind:e.kind,activation_id:e.activationId,capability:e.capability,material_owner:e.materialOwner,key_binding:e.keyBinding,lifecycle_binding:e.lifecycleBinding,signing_worker:e.signingWorker})}function he(e){let t=y(e),n=c({kind:t.kind,activationId:t.activation_id,capability:t.capability,materialOwner:t.material_owner,keyBinding:t.key_binding,lifecycleBinding:t.lifecycle_binding,signingWorker:t.signing_worker});if(!n.ok)throw Error(`material_activation is invalid: ${n.error.message}`);return n.value}function ge(e){return new TextEncoder().encode(e)}function b(e,t){let n=ge(t),r=n.length>>>0;e.push(r>>>24&255,r>>>16&255,r>>>8&255,r&255),e.push(...n)}function _e(e){let t=v(e),n=[];switch(b(n,t.kind),t.kind){case`reusable_wallet_session`:b(n,t.wallet_session_id);break;case`operation_step_up`:break}return new Uint8Array(n)}function x(e){let t=y(e),n=[];return b(n,t.kind),b(n,t.activation_id),b(n,t.capability),b(n,t.material_owner),b(n,t.key_binding),b(n,t.lifecycle_binding),b(n,t.signing_worker),new Uint8Array(n)}function S(e,t){return e.kind===t.kind&&e.activation_id===t.activation_id&&e.capability===t.capability&&e.material_owner===t.material_owner&&e.key_binding===t.key_binding&&e.lifecycle_binding===t.lifecycle_binding&&e.signing_worker===t.signing_worker}function ve(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 C(e){return encodeURIComponent(ve(e,`non-empty components`))}function ye(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 be(t){let n=e(t);return n.ok?ye(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 xe(e,t=`evmFamilySigningKeySlotId`){let n=be(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 Se(e){return xe([`wallet-key`,`evm-family`,C(e.walletId),C(e.signingRootId),C(e.signingRootVersion)].join(`:`))}function Ce(e){let t=e.trim(),n=h(t);if(n.length!==33||m(n)!==t)throw Error(`ECDSA client root public key must be canonical base64url for 33 bytes`);return t}function w(e,t){let n=String(e??``).trim();if(!n)throw Error(`${t} is required`);return n}function we(e){return w(e,`ecdsaThresholdKeyId`)}function Te(e){return w(e,`signingRootId`)}function Ee(e){return w(e,`signingRootVersion`)}async function De(e){let t=Se(e);return`ederivation-relayer-${m(await f(p({version:`threshold_ecdsa_derivation_relayer_key_id_v1`,schemeId:`threshold-secp256k1-ecdsa-2p-v1`,walletId:e.walletId,evmFamilySigningKeySlotId:t})))}`}function T(e,t){if(typeof e!=`string`||e.trim()!==e||e.length===0)throw Error(`${t} must be a non-empty canonical string`);return e}function E(e,t,n){if(typeof e!=`string`||!/^[A-Za-z0-9_-]+$/.test(e))throw Error(`${t} must be unpadded base64url`);let r;try{r=h(e)}catch{throw Error(`${t} must be valid base64url`)}if(r.length===0||n!==null&&r.length!==n||m(r)!==e)throw Error(`${t} has an invalid canonical byte length`);return e}function Oe(e){return T(e,`ECDSA signer id`)}function ke(e){return T(e,`ECDSA server generation`)}function Ae(e){return T(e,`ECDSA manifest id`)}function je(e){if(!Number.isSafeInteger(e)||Number(e)<1)throw Error(`ECDSA manifest revision must be a positive safe integer`);return e}function Me(e){return E(e,`ECDSA ciphertext digest`,32)}function Ne(e){return E(e,`ECDSA pending ciphertext digest`,32)}function Pe(e){return E(e,`ECDSA activation digest`,32)}function Fe(e){return T(e,`ECDSA lifecycle id`)}function Ie(e){return T(e,`ECDSA material sealing key id`)}function Le(e){return E(e,`ECDSA AES-GCM IV`,12)}function Re(e){return E(e,`ECDSA ciphertext`,null)}function ze(e){if(typeof e!=`string`||e.trim()!==e)throw Error(`ECDSA server activation request must be canonical JSON`);let t;try{t=JSON.parse(e)}catch{throw Error(`ECDSA server activation request must be canonical JSON`)}if(typeof t!=`object`||!t||Array.isArray(t)||p(t)!==e)throw Error(`ECDSA server activation request must be a canonical JSON object`);return e}function Be(e){return{walletId:e.walletId,bindingId:e.walletAuthMethodId,factor:{kind:`voiceid`,deviceKeyId:e.deviceKeyId},verifier:{kind:`device_signature`}}}function D(e){return e.factor.kind===`voiceid`}function O(e){return e.factor.kind===`passkey`}function k(e){return e.factor.kind===`email_otp`}function Ve(e,t){return e.walletId!==t.walletId||e.bindingId!==t.bindingId?!1:O(e)?O(t)?e.factor.credentialIdB64u===t.factor.credentialIdB64u&&e.verifier.rpId===t.verifier.rpId:!1:k(e)?k(t)?e.factor.provider===t.factor.provider&&e.factor.providerUserId===t.factor.providerUserId&&e.verifier.emailHashHex===t.verifier.emailHashHex:!1:D(e)?D(t)&&e.factor.deviceKeyId===t.factor.deviceKeyId:!1}function He(e){if(!e||typeof e!=`object`||Array.isArray(e))return null;let r=e,i=Object.keys(r);if(i.length!==4||!i.every(e=>[`kind`,`walletId`,`authorityDigest`,`walletAuthMethodId`].includes(e))||r.kind!==`wallet_auth_authority_ref`)return null;let a=l(r.walletId),o=t(r.authorityDigest),s=n(r.walletAuthMethodId);return!a.ok||!o.ok||!s.ok?null:{kind:`wallet_auth_authority_ref`,walletId:a.value,authorityDigest:o.value,walletAuthMethodId:s.value}}function Ue(e){let t=String(e||``).trim().toLowerCase();return t===`google`||t===`email`?t:null}function A(e,t){if(e.ok)return e.value;throw Error(t)}function We(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function Ge(e,t){for(let n of t)if(We(e,n))return!0;return!1}function Ke(e){let t=A(l(e.walletId),`Passkey wallet auth authority requires walletId`),a=A(i(e.rpId),`Passkey wallet auth authority requires rpId`),o=A(r(e.credentialIdB64u),`Passkey wallet auth authority requires credentialIdB64u`),s=A(n(`passkey:${a}:${o}`),`Passkey wallet auth authority requires bindingId`);return{walletId:t,factor:{kind:`passkey`,credentialIdB64u:o},verifier:{kind:`webauthn`,rpId:a},bindingId:s}}function qe(e){let t=Ue(e.provider);if(!t)throw Error(`Email OTP factor identity requires provider`);return{kind:`email_otp`,provider:t,providerUserId:A(s(e.providerUserId),`Email OTP factor identity requires providerUserId`)}}function Je(e){let t=A(l(e.walletId),`Email OTP wallet auth authority requires walletId`),r=qe(e),i=String(e.emailHashHex||``).trim();if(!i)throw Error(`Email OTP wallet auth authority requires emailHashHex`);let a=A(n(`email_otp:${t}:${i}`),`Email OTP wallet auth authority requires bindingId`);return{walletId:t,factor:r,verifier:{kind:`email_otp_wallet_auth_method`,emailHashHex:i},bindingId:a}}function Ye(e){return e.factor.provider}function Xe(e){return e.factor.providerUserId}function Ze(e){return e.verifier.emailHashHex}function Qe(e){let t=e.factor;if(!t||typeof t!=`object`||Array.isArray(t))return null;let a=e.verifier;if(!a||typeof a!=`object`||Array.isArray(a))return null;let o=t,s=a,c=String(o.kind||``).trim().toLowerCase(),u=String(s.kind||``).trim().toLowerCase();if(c!==`passkey`||u!==`webauthn`)return null;try{if(Ge(e,[`kind`,`rpId`,`credentialIdB64u`,`provider`,`providerUserId`]))return null;let t=l(e.walletId),a=i(s.rpId),c=r(o.credentialIdB64u),u=n(e.bindingId);return!t.ok||!a.ok||!c.ok||!u.ok?null:{walletId:t.value,factor:{kind:`passkey`,credentialIdB64u:c.value},verifier:{kind:`webauthn`,rpId:a.value},bindingId:u.value}}catch{return null}}function $e(e){let t=e.factor;if(!t||typeof t!=`object`||Array.isArray(t))return null;let r=e.verifier;if(!r||typeof r!=`object`||Array.isArray(r))return null;let i=t,a=r,o=String(i.kind||``).trim().toLowerCase(),c=String(a.kind||``).trim().toLowerCase();if(o!==`email_otp`||c!==`email_otp_wallet_auth_method`)return null;try{if(Ge(e,[`kind`,`rpId`,`credentialIdB64u`,`provider`,`providerUserId`]))return null;let t=l(e.walletId),r=Ue(i.provider),o=s(i.providerUserId),c=String(a.emailHashHex||``).trim(),u=n(e.bindingId);return!t.ok||!r||!o.ok||!c||!u.ok?null:{walletId:t.value,factor:{kind:`email_otp`,provider:r,providerUserId:o.value},verifier:{kind:`email_otp_wallet_auth_method`,emailHashHex:c},bindingId:u.value}}catch{return null}}function et(e){if(!e||typeof e!=`object`||Array.isArray(e))return null;let t=e;return Qe(t)||$e(t)||tt(t)}function tt(e){try{let t=d(e,`device authority`);g(t,[`walletId`,`bindingId`,`factor`,`verifier`],`device authority`);let r=d(t.factor,`device factor`),i=d(t.verifier,`device verifier`);if(g(r,[`kind`,`deviceKeyId`],`device factor`),g(i,[`kind`],`device verifier`),r.kind!==`voiceid`||i.kind!==`device_signature`)return null;let a=l(t.walletId),o=n(t.bindingId);return!a.ok||!o.ok?null:Be({walletId:a.value,walletAuthMethodId:o.value,deviceKeyId:de(r.deviceKeyId)})}catch{return null}}function nt(e){return!e||typeof e!=`object`||Array.isArray(e)?null:$e(e)}function rt(e){return!e||typeof e!=`object`||Array.isArray(e)?null:Qe(e)}function it(e){return`seams:wallet-authority-binding:v1|${p(e.authority)}`}async function at(e){return A(t(m(await f(it(e)))),`Wallet authority binding digest must be non-empty`)}async function ot(e){return{kind:`wallet_auth_authority_ref`,walletId:e.authority.walletId,authorityDigest:await at({authority:e.authority}),walletAuthMethodId:e.authority.bindingId}}const st=5*6e4,ct=`/router-ab/ecdsa-derivation/export`,lt=`/router-ab/ecdsa-derivation/presignature-pool/fill/init`,ut=`/router-ab/ecdsa-derivation/presignature-pool/fill/step`,dt=`/router-ab/ecdsa-derivation/session/activate`,ft=`/router-ab/ecdsa-derivation/operation-step-up`,pt=[1,2];function mt(e,t){if(e===`reusable_wallet_session`||e===`verified_step_up`)return e;throw Error(`${t} must be reusable_wallet_session or verified_step_up`)}function ht(e){let t=d(e,`operationStepUpAuthorizationResponse.export_topology`);j(t,`operationStepUpAuthorizationResponse.export_topology`,[`signer_set`,`deriver_recipient_keys`,`router_id`]);let n=kt(t.signer_set,`operationStepUpAuthorizationResponse.export_topology.signer_set`),r=Mt(t.deriver_recipient_keys,`operationStepUpAuthorizationResponse.export_topology.deriver_recipient_keys`);if(r.deriver_a.key_epoch!==n.signer_a.key_epoch||r.deriver_b.key_epoch!==n.signer_b.key_epoch)throw Error(`operationStepUpAuthorizationResponse.export_topology recipient key epochs do not match signer_set`);return{signer_set:n,deriver_recipient_keys:r,router_id:M(t.router_id,`operationStepUpAuthorizationResponse.export_topology.router_id`)}}function gt(e){let t=d(e,`operationStepUpAuthorizationResponse`),n=zn(t.operation_kind);if(j(t,`operationStepUpAuthorizationResponse`,[`ok`,`kind`,`authorization`,`expires_at_ms`,`operation_kind`,...n===`evm.export_key`?[`export_topology`]:[]]),t.ok!==!0||t.kind!==`verified_step_up`)throw Error(`operationStepUpAuthorizationResponse is invalid`);let r=d(t.authorization,`operationStepUpAuthorizationResponse.authorization`);if(j(r,`operationStepUpAuthorizationResponse.authorization`,[`kind`,`evidence_set_digest`,`unseal`]),r.kind!==`operation_step_up`)throw Error(`operationStepUpAuthorizationResponse.authorization.kind is invalid`);let i=F(t.expires_at_ms,`operationStepUpAuthorizationResponse.expires_at_ms`);if(i<=Date.now())throw Error(`operationStepUpAuthorizationResponse.expires_at_ms is expired`);let a=d(r.unseal,`operationStepUpAuthorizationResponse.authorization.unseal`),o=M(a.kind,`operationStepUpAuthorizationResponse.authorization.unseal.kind`),s;switch(o){case`not_requested`:j(a,`operationStepUpAuthorizationResponse.authorization.unseal`,[`kind`]),s={kind:`not_requested`};break;case`email_otp_grant`:j(a,`operationStepUpAuthorizationResponse.authorization.unseal`,[`kind`,`grant`,`challenge_id`]),s={kind:`email_otp_grant`,grant:M(a.grant,`operationStepUpAuthorizationResponse.authorization.unseal.grant`),challenge_id:M(a.challenge_id,`operationStepUpAuthorizationResponse.authorization.unseal.challenge_id`)};break;default:throw Error(`operationStepUpAuthorizationResponse.authorization.unseal.kind is invalid`)}let c={ok:!0,kind:`verified_step_up`,authorization:{kind:`operation_step_up`,evidence_set_digest:de(r.evidence_set_digest),unseal:s},expires_at_ms:i};return n===`evm.sign_transaction`?{...c,operation_kind:`evm.sign_transaction`}:{...c,operation_kind:`evm.export_key`,export_topology:ht(t.export_topology)}}async function _t(e){return m(await f(p({domain:`router-ab-ecdsa-operation-step-up/challenge/v1`,operation:Rn(e)})))}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`)}function M(e,t){if(typeof e!=`string`)throw Error(`${t} must be a string`);let n=e.trim();if(!n)throw Error(`${t} is required`);if(!/^[\x20-\x7e]+$/.test(n))throw Error(`${t} must be printable ASCII`);return n}function N(e,t){let n=o(M(e,t));if(!n.ok)throw Error(`${t} is invalid`);return n.value}function P(e,t){let n=a(M(e,t));if(!n.ok)throw Error(`${t} is invalid`);return n.value}function vt(e,t){let n=le(e);if(!n.ok)throw Error(`${t} is invalid`);return n.value}function yt(e,t){let n=se(e);if(!n.ok)throw Error(`${t} is invalid`);return n.value}function bt(e,t){let n=oe(e);if(!n.ok)throw Error(`${t} is invalid`);return n.value}function xt(e,t){let n=ie(e);if(!n.ok)throw Error(`${t} is invalid`);return n.value}function F(e,t){if(typeof e!=`number`||!Number.isSafeInteger(e)||e<=0)throw Error(`${t} must be a positive safe integer`);return e}function I(e,t){if(typeof e!=`number`||!Number.isSafeInteger(e)||e<=0)throw Error(`${t} must be a positive safe-integer counter`);return e}function L(e,t){if(typeof e!=`number`||!Number.isFinite(e))throw Error(`${t} must be a finite number`);let n=Math.floor(e);if(n!==e||n<0||n>4294967295)throw Error(`${t} must be a u32 integer`);return n}function St(e,t){if(typeof e!=`number`||!Number.isFinite(e))throw Error(`${t} must be a finite number`);let n=Math.floor(e);if(n!==e||n<0||n>255)throw Error(`${t} must be a byte`);return n}function R(e,t,n){let r=M(e,t);if(!/^[A-Za-z0-9_-]+$/.test(r))throw Error(`${t} must be unpadded base64url`);let i;try{i=h(r)}catch{throw Error(`${t} must be valid base64url`)}if(i.length!==n)throw Error(`${t} must decode to ${n} bytes`);return r}function z(e,t){let n=R(e,t,33),r=h(n);if(r[0]!==2&&r[0]!==3)throw Error(`${t} must be a compressed secp256k1 public key`);return n}function Ct(e,t){let n=M(e,t);if(!/^[A-Za-z0-9_-]+$/.test(n))throw Error(`${t} must be unpadded base64url`);let r;try{r=h(n)}catch{throw Error(`${t} must be valid base64url`)}if(r.length===0)throw Error(`${t} must decode to non-empty bytes`);return n}function wt(e,t){let n=M(e,t);if(!/^x25519:[0-9a-f]{64}$/.test(n))throw Error(`${t} must use x25519:<64 lowercase hex chars> encoding`);return n}function B(e,t,n){if(!(e instanceof Uint8Array))throw Error(`${t} must be a Uint8Array`);if(e.length!==n)throw Error(`${t} must contain ${n} bytes`);return e}function Tt(e,t){let n=M(e,t);if(n!==`ecdsa_secp256k1_recoverable_v1`)throw Error(`${t} must be ecdsa_secp256k1_recoverable_v1`);return n}function V(e,t){let n=d(e,t);if(j(n,t,[`bytes`]),!Array.isArray(n.bytes))throw Error(`${t}.bytes must be an array`);if(n.bytes.length!==32)throw Error(`${t}.bytes must contain 32 bytes`);return{bytes:n.bytes.map((e,n)=>St(e,`${t}.bytes[${n}]`))}}function H(e){let t=d(e,`scope.context`);j(t,`scope.context`,[`application_binding_digest_b64u`]);let n=h(M(t.application_binding_digest_b64u,`scope.context.application_binding_digest_b64u`));if(n.length!==32)throw Error(`scope.context.application_binding_digest_b64u must decode to 32 bytes`);return{application_binding_digest_b64u:m(n)}}function U(e){let t=d(e,`scope.public_identity`);return j(t,`scope.public_identity`,[`context_binding_b64u`,`derivation_client_share_public_key33_b64u`,`server_public_key33_b64u`,`threshold_public_key33_b64u`,`ethereum_address20_b64u`,`client_share_retry_counter`,`server_share_retry_counter`]),{context_binding_b64u:R(t.context_binding_b64u,`scope.public_identity.context_binding_b64u`,32),derivation_client_share_public_key33_b64u:z(t.derivation_client_share_public_key33_b64u,`scope.public_identity.derivation_client_share_public_key33_b64u`),server_public_key33_b64u:z(t.server_public_key33_b64u,`scope.public_identity.server_public_key33_b64u`),threshold_public_key33_b64u:z(t.threshold_public_key33_b64u,`scope.public_identity.threshold_public_key33_b64u`),ethereum_address20_b64u:R(t.ethereum_address20_b64u,`scope.public_identity.ethereum_address20_b64u`,20),client_share_retry_counter:L(t.client_share_retry_counter,`scope.public_identity.client_share_retry_counter`),server_share_retry_counter:L(t.server_share_retry_counter,`scope.public_identity.server_share_retry_counter`)}}function Et(e){return Dt(e,`scope.signing_worker`)}function Dt(e,t){let n=d(e,t);return j(n,t,[`server_id`,`key_epoch`,`recipient_encryption_key`]),{server_id:M(n.server_id,`${t}.server_id`),key_epoch:M(n.key_epoch,`${t}.key_epoch`),recipient_encryption_key:fe(n.recipient_encryption_key,`${t}.recipient_encryption_key`)}}function Ot(e,t,n){let r=d(e,t);if(j(r,t,[`role`,`signer_id`,`key_epoch`]),M(r.role,`${t}.role`)!==n)throw Error(`${t}.role must be ${n}`);return{role:n,signer_id:M(r.signer_id,`${t}.signer_id`),key_epoch:M(r.key_epoch,`${t}.key_epoch`)}}function kt(e,t){let n=d(e,t);j(n,t,[`signer_set_id`,`policy`,`signer_a`,`signer_b`,`selected_server`]);let r=M(n.policy,`${t}.policy`);if(r!==`all_2`)throw Error(`${t}.policy must be all_2`);let i=Ot(n.signer_a,`${t}.signer_a`,`signer_a`),a=Ot(n.signer_b,`${t}.signer_b`,`signer_b`);if(i.signer_id===a.signer_id)throw Error(`${t} requires distinct signer ids`);return{signer_set_id:M(n.signer_set_id,`${t}.signer_set_id`),policy:r,signer_a:i,signer_b:a,selected_server:Dt(n.selected_server,`${t}.selected_server`)}}function At(e){let t=`registration.lifecycle`,n=d(e,t);if(j(n,t,[`lifecycle_id`,`work_kind`,`primitive_request_kind`,`root_share_epoch`,`account_id`,`session_id`,`signer_set_id`,`selected_server_id`]),n.work_kind!==`registration_prepare`)throw Error(`${t}.work_kind must be registration_prepare`);if(n.primitive_request_kind!==`registration`)throw Error(`${t}.primitive_request_kind must be registration`);return{lifecycle_id:M(n.lifecycle_id,`${t}.lifecycle_id`),work_kind:`registration_prepare`,primitive_request_kind:`registration`,root_share_epoch:N(n.root_share_epoch,`${t}.root_share_epoch`),account_id:M(n.account_id,`${t}.account_id`),session_id:M(n.session_id,`${t}.session_id`),signer_set_id:M(n.signer_set_id,`${t}.signer_set_id`),selected_server_id:M(n.selected_server_id,`${t}.selected_server_id`)}}function jt(e,t,n){let r=d(e,t);if(j(r,t,[`role`,`key_epoch`,`public_key`]),r.role!==n)throw Error(`${t}.role must be ${n}`);return{role:n,key_epoch:M(r.key_epoch,`${t}.key_epoch`),public_key:fe(r.public_key,`${t}.public_key`)}}function Mt(e,t=`registration.deriver_recipient_keys`){let n=d(e,t);return j(n,t,[`deriver_a`,`deriver_b`]),{deriver_a:jt(n.deriver_a,`${t}.deriver_a`,`signer_a`),deriver_b:jt(n.deriver_b,`${t}.deriver_b`,`signer_b`)}}function Nt(e){let t=`registration`,n=d(e,t);if(j(n,t,[`registration_purpose`,`context`,`lifecycle`,`signer_set`,`router_id`,`client_id`,`replay_nonce`,`expires_at_ms`,`deriver_recipient_keys`]),n.registration_purpose!==`wallet_registration`&&n.registration_purpose!==`wallet_add_signer`)throw Error(`${t}.registration_purpose is invalid`);let r=At(n.lifecycle),i=kt(n.signer_set,`${t}.signer_set`);if(r.signer_set_id!==i.signer_set_id)throw Error(`${t}.lifecycle signer set does not match signer_set`);if(r.selected_server_id!==i.selected_server.server_id)throw Error(`${t}.lifecycle selected server does not match signer_set`);let a=Mt(n.deriver_recipient_keys);if(a.deriver_a.key_epoch!==i.signer_a.key_epoch)throw Error(`${t}.deriver_a recipient key epoch does not match signer_set`);if(a.deriver_b.key_epoch!==i.signer_b.key_epoch)throw Error(`${t}.deriver_b recipient key epoch does not match signer_set`);return{registration_purpose:n.registration_purpose,context:H(n.context),lifecycle:r,signer_set:i,router_id:M(n.router_id,`${t}.router_id`),client_id:M(n.client_id,`${t}.client_id`),replay_nonce:M(n.replay_nonce,`${t}.replay_nonce`),expires_at_ms:F(n.expires_at_ms,`${t}.expires_at_ms`),deriver_recipient_keys:a}}function Pt(e,t){let n=d(e,t);if(j(n,t,[`kind`,`transcriptDigestB64u`,`payloadB64u`]),n.kind!==`recipient_proof_bundle`)throw Error(`${t}.kind must be recipient_proof_bundle`);return{kind:`recipient_proof_bundle`,transcriptDigestB64u:R(n.transcriptDigestB64u,`${t}.transcriptDigestB64u`,32),payloadB64u:Ct(n.payloadB64u,`${t}.payloadB64u`)}}function Ft(e){let t=`registrationForwarded`,n=d(e,t);if(j(n,t,[`result`,`response`]),n.result!==`forwarded`)throw Error(`${t}.result must be forwarded`);return{result:`forwarded`,response:Vt(n.response,`${t}.response`)}}function It(e){return Lt(e,Rt)}function Lt(e,t){let n=`explicitExportForwarded`,r=d(e,n);if(j(r,n,[`result`,`response`,`signing_worker_export`]),r.result!==`forwarded`)throw Error(`${n}.result must be forwarded`);return{result:`forwarded`,response:Vt(r.response,`${n}.response`),signing_worker_export:t(r.signing_worker_export)}}function Rt(e){return Bt(e,y)}function zt(e,t,n){let r=d(e,n);j(r,n,[`wallet_id`,`key_handle`,`ecdsa_threshold_key_id`,`signing_root_id`,`signing_root_version`,`activation_epoch`,`signing_worker_id`,`context_binding_b64u`,`threshold_public_key33_b64u`,`export_request_digest_b64u`,`export_authorization_digest_b64u`,`export_nonce`,`authorization_kind`,`authorization_id`,`material_activation`,`lifecycle_id`,`recipient_identity`,`recipient_public_key`,`expires_at_ms`]);let i=t(r.material_activation);if(i.material_owner!==r.wallet_id||i.signing_worker!==r.signing_worker_id)throw Error(`${n}.material_activation is not bound to wallet and worker`);return{wallet_id:M(r.wallet_id,`${n}.wallet_id`),key_handle:M(r.key_handle,`${n}.key_handle`),ecdsa_threshold_key_id:M(r.ecdsa_threshold_key_id,`${n}.ecdsa_threshold_key_id`),signing_root_id:M(r.signing_root_id,`${n}.signing_root_id`),signing_root_version:M(r.signing_root_version,`${n}.signing_root_version`),activation_epoch:N(r.activation_epoch,`${n}.activation_epoch`),signing_worker_id:M(r.signing_worker_id,`${n}.signing_worker_id`),context_binding_b64u:R(r.context_binding_b64u,`${n}.context_binding_b64u`,32),threshold_public_key33_b64u:z(r.threshold_public_key33_b64u,`${n}.threshold_public_key33_b64u`),export_request_digest_b64u:R(r.export_request_digest_b64u,`${n}.export_request_digest_b64u`,32),export_authorization_digest_b64u:R(r.export_authorization_digest_b64u,`${n}.export_authorization_digest_b64u`,32),export_nonce:M(r.export_nonce,`${n}.export_nonce`),authorization_kind:mt(r.authorization_kind,`${n}.authorization_kind`),authorization_id:M(r.authorization_id,`${n}.authorization_id`),material_activation:i,lifecycle_id:M(r.lifecycle_id,`${n}.lifecycle_id`),recipient_identity:M(r.recipient_identity,`${n}.recipient_identity`),recipient_public_key:wt(r.recipient_public_key,`${n}.recipient_public_key`),expires_at_ms:F(r.expires_at_ms,`${n}.expires_at_ms`)}}function Bt(e,t){let n=`signingWorkerExportShare`,r=d(e,n);if(j(r,n,[`version`,`algorithm`,`binding`,`ciphertext_and_tag`]),r.version!==`router-ab-ecdsa-derivation/signing-worker-export-share-envelope/v1`)throw Error(`${n}.version is invalid`);if(r.algorithm!==`hpke_x25519_hkdf_sha256_aes256gcm_v1`)throw Error(`${n}.algorithm is invalid`);if(!Array.isArray(r.ciphertext_and_tag)||r.ciphertext_and_tag.length<=48)throw Error(`${n}.ciphertext_and_tag is invalid`);return{version:`router-ab-ecdsa-derivation/signing-worker-export-share-envelope/v1`,algorithm:`hpke_x25519_hkdf_sha256_aes256gcm_v1`,binding:zt(r.binding,t,`${n}.binding`),ciphertext_and_tag:r.ciphertext_and_tag.map((e,t)=>St(e,`${n}.ciphertext_and_tag[${t}]`))}}function Vt(e,t){let n=d(e,t);j(n,t,[`bundles`]);let r=`${t}.bundles`,i=d(n.bundles,r);return j(i,r,[`signerA`,`signerB`]),{bundles:{signerA:Pt(i.signerA,`${r}.signerA`),signerB:Pt(i.signerB,`${r}.signerB`)}}}function Ht(e){let t=`registrationActivation.publicFacts`,n=d(e,t);if(j(n,t,[`registrationRequestDigestB64u`,`proofTranscriptDigestB64u`,`contextBinding32B64u`,`derivationClientSharePublicKey33B64u`,`clientShareRetryCounter`,`participantId`]),n.participantId!==1)throw Error(`${t}.participantId must be 1`);return{registrationRequestDigestB64u:R(n.registrationRequestDigestB64u,`${t}.registrationRequestDigestB64u`,32),proofTranscriptDigestB64u:R(n.proofTranscriptDigestB64u,`${t}.proofTranscriptDigestB64u`,32),contextBinding32B64u:R(n.contextBinding32B64u,`${t}.contextBinding32B64u`,32),derivationClientSharePublicKey33B64u:z(n.derivationClientSharePublicKey33B64u,`${t}.derivationClientSharePublicKey33B64u`),clientShareRetryCounter:L(n.clientShareRetryCounter,`${t}.clientShareRetryCounter`),participantId:1}}function Ut(e){let t=`registrationActivationReceipt`,n=d(e,t);j(n,t,[`activation_correlation_id`,`activation_request_digest`,`server_generation`,`ecdsa_activation`,`lifecycle_id`,`transcript_digest`]);let r=`${t}.ecdsa_activation`,i=d(n.ecdsa_activation,r);j(i,r,[`context`,`public_identity`,`signing_worker`,`material_activation`,`activation_epoch`,`activation_digest_b64u`,`activated_at_ms`]);let a=Dt(i.signing_worker,`${r}.signing_worker`),o=y(i.material_activation);if(o.signing_worker!==a.server_id)throw Error(`${r}.material_activation.signing_worker does not match signing_worker`);let s=R(i.activation_digest_b64u,`${r}.activation_digest_b64u`,32),c=V(n.transcript_digest,`${t}.transcript_digest`);return{activation_correlation_id:ue(n.activation_correlation_id),activation_request_digest:V(n.activation_request_digest,`${t}.activation_request_digest`),server_generation:ke(n.server_generation),ecdsa_activation:{context:H(i.context),public_identity:U(i.public_identity),signing_worker:a,material_activation:o,activation_epoch:N(i.activation_epoch,`${r}.activation_epoch`),activation_digest_b64u:s,activated_at_ms:F(i.activated_at_ms,`${r}.activated_at_ms`)},lifecycle_id:M(n.lifecycle_id,`${t}.lifecycle_id`),transcript_digest:c}}function Wt(e){return Ut(e)}function W(e,t){return e.server_id===t.server_id&&e.key_epoch===t.key_epoch&&e.recipient_encryption_key===t.recipient_encryption_key}function Gt(e,t){return e.registrationRequestDigestB64u===t.registrationRequestDigestB64u&&e.proofTranscriptDigestB64u===t.proofTranscriptDigestB64u&&e.contextBinding32B64u===t.contextBinding32B64u&&e.derivationClientSharePublicKey33B64u===t.derivationClientSharePublicKey33B64u&&e.clientShareRetryCounter===t.clientShareRetryCounter&&e.participantId===t.participantId}function Kt(e,t){return e.signer_set_id===t.signer_set_id&&e.policy===t.policy&&e.signer_a.role===t.signer_a.role&&e.signer_a.signer_id===t.signer_a.signer_id&&e.signer_a.key_epoch===t.signer_a.key_epoch&&e.signer_b.role===t.signer_b.role&&e.signer_b.signer_id===t.signer_b.signer_id&&e.signer_b.key_epoch===t.signer_b.key_epoch&&W(e.selected_server,t.selected_server)}function G(e){let t=`ecdsaPublicCapability`,n=d(e,t);if(j(n,t,[`kind`,`context`,`public_identity`,`material_activation`,`signer_set`,`deriver_recipient_keys`,`router_id`,`client_id`,`activation_epoch`,`registration_request_digest_b64u`,`proof_transcript_digest_b64u`]),n.kind!==`router_ab_ecdsa_derivation_public_capability_v1`)throw Error(`${t}.kind is invalid`);let r=kt(n.signer_set,`${t}.signer_set`),i=Mt(n.deriver_recipient_keys,`${t}.deriver_recipient_keys`);if(i.deriver_a.key_epoch!==r.signer_a.key_epoch||i.deriver_b.key_epoch!==r.signer_b.key_epoch)throw Error(`${t} Deriver recipient key epochs do not match signer_set`);return{kind:`router_ab_ecdsa_derivation_public_capability_v1`,context:H(n.context),public_identity:U(n.public_identity),material_activation:y(n.material_activation),signer_set:r,deriver_recipient_keys:i,router_id:M(n.router_id,`${t}.router_id`),client_id:M(n.client_id,`${t}.client_id`),activation_epoch:N(n.activation_epoch,`${t}.activation_epoch`),registration_request_digest_b64u:R(n.registration_request_digest_b64u,`${t}.registration_request_digest_b64u`,32),proof_transcript_digest_b64u:R(n.proof_transcript_digest_b64u,`${t}.proof_transcript_digest_b64u`,32)}}function qt(e){let t=`postRegistrationSessionActivation.session_policy`,n=d(e,t);return j(n,t,[`threshold_session_id`,`wallet_session_mint_id`,`ttl_ms`,`remaining_uses`,`runtime_policy_scope`]),{threshold_session_id:P(n.threshold_session_id,`${t}.threshold_session_id`),wallet_session_mint_id:Yt(n.wallet_session_mint_id,`${t}.wallet_session_mint_id`),ttl_ms:I(n.ttl_ms,`${t}.ttl_ms`),remaining_uses:I(n.remaining_uses,`${t}.remaining_uses`),runtime_policy_scope:te(n.runtime_policy_scope)}}function Jt(e){let t=`postRegistrationSessionActivationPolicy`,n=d(e,t);if(j(n,t,[`kind`,`key_handle`,`session_policy`]),n.kind!==`router_ab_ecdsa_post_registration_session_activation_policy_v1`)throw Error(`${t}.kind is invalid`);return{kind:`router_ab_ecdsa_post_registration_session_activation_policy_v1`,key_handle:M(n.key_handle,`${t}.key_handle`),session_policy:qt(n.session_policy)}}function Yt(e,t){let n=ae(e);if(!n.ok)throw Error(`${t} is invalid`);return n.value}function K(e,t){return e.context_binding_b64u===t.context_binding_b64u&&e.derivation_client_share_public_key33_b64u===t.derivation_client_share_public_key33_b64u&&e.server_public_key33_b64u===t.server_public_key33_b64u&&e.threshold_public_key33_b64u===t.threshold_public_key33_b64u&&e.ethereum_address20_b64u===t.ethereum_address20_b64u&&e.client_share_retry_counter===t.client_share_retry_counter&&e.server_share_retry_counter===t.server_share_retry_counter}function Xt(e,t){for(let n of e.capabilitySubjects)if(!(n.kind!==`sign`||n.keyFamily!==`ecdsa_secp256k1`))return S(t.material_activation,me(n.materialActivation));return!1}function Zt(e){let t=`postRegistrationSessionActivation`,n=d(e,t);if(j(n,t,[`kind`,`public_capability`,`session_policy`]),n.kind!==`router_ab_ecdsa_post_registration_session_activation_v1`)throw Error(`${t}.kind is invalid`);return{kind:`router_ab_ecdsa_post_registration_session_activation_v1`,public_capability:G(n.public_capability),session_policy:qt(n.session_policy)}}function Qt(e){let t=`postRegistrationSessionActivated`,n=d(e,t);if(j(n,t,[`kind`,`public_capability`,`session`,`normal_signing`]),n.kind!==`router_ab_ecdsa_post_registration_session_activated_v1`)throw Error(`${t}.kind is invalid`);let r=G(n.public_capability),i=d(n.session,`${t}.session`);j(i,`${t}.session`,[`authorization_session_id`,`authorization_id`,`threshold_session_id`,`wallet_session_id`,`quota_id`,`expires_at_ms`,`remaining_uses`,`wallet_session`,`operation_credential`]);let a=jn(n.normal_signing),o=yt(i.authorization_id,`${t}.session.authorization_id`),s=bt(i.wallet_session_id,`${t}.session.wallet_session_id`),c=F(i.expires_at_ms,`${t}.session.expires_at_ms`),l=re(i.wallet_session),u=ne(i.operation_credential);if(!K(r.public_identity,a.scope.public_identity)||r.context.application_binding_digest_b64u!==a.scope.context.application_binding_digest_b64u||a.scope.activation_epoch!==r.activation_epoch||!W(a.scope.signing_worker,r.signer_set.selected_server)||l.authorizationId!==o||l.walletId!==r.client_id||l.expiresAtMs!==c||!Xt(l,r)||u.walletSessionId!==s)throw Error(`${t} exact Wallet Session does not match the activated capability`);return{kind:`router_ab_ecdsa_post_registration_session_activated_v1`,public_capability:r,session:{authorization_session_id:vt(i.authorization_session_id,`${t}.session.authorization_session_id`),authorization_id:o,threshold_session_id:P(i.threshold_session_id,`${t}.session.threshold_session_id`),wallet_session_id:s,quota_id:xt(i.quota_id,`${t}.session.quota_id`),expires_at_ms:c,remaining_uses:I(i.remaining_uses,`${t}.session.remaining_uses`),wallet_session:l,operation_credential:u},normal_signing:a}}function $t(e){let t=`credentialFreeSessionActivated`,n=d(e,t);if(j(n,t,[`kind`,`public_capability`,`session`,`normal_signing`]),n.kind!==`router_ab_ecdsa_credential_free_session_activated_v1`)throw Error(`${t}.kind is invalid`);let r=G(n.public_capability),i=d(n.session,`${t}.session`);j(i,`${t}.session`,[`authorization_session_id`,`authorization_id`,`threshold_session_id`,`wallet_session_id`,`quota_id`,`expires_at_ms`,`remaining_uses`]);let a=jn(n.normal_signing);if(!K(r.public_identity,a.scope.public_identity)||r.context.application_binding_digest_b64u!==a.scope.context.application_binding_digest_b64u||a.scope.activation_epoch!==r.activation_epoch||!W(a.scope.signing_worker,r.signer_set.selected_server))throw Error(`${t} normal-signing state does not match public capability`);return{kind:`router_ab_ecdsa_credential_free_session_activated_v1`,public_capability:r,session:{authorization_session_id:vt(i.authorization_session_id,`${t}.session.authorization_session_id`),authorization_id:yt(i.authorization_id,`${t}.session.authorization_id`),threshold_session_id:P(i.threshold_session_id,`${t}.session.threshold_session_id`),wallet_session_id:bt(i.wallet_session_id,`${t}.session.wallet_session_id`),quota_id:xt(i.quota_id,`${t}.session.quota_id`),expires_at_ms:F(i.expires_at_ms,`${t}.session.expires_at_ms`),remaining_uses:I(i.remaining_uses,`${t}.session.remaining_uses`)},normal_signing:a}}function en(e,t=`signing_digest_b64u`){return{bytes:Array.from(h(R(e,t,32)))}}function q(e,t){return e.bytes.length===32&&t.bytes.length===32&&e.bytes.every((e,n)=>e===t.bytes[n])}function tn(e,t){return e.bytes.length===t.bytes.length&&e.bytes.every((e,n)=>e===t.bytes[n])}function nn(e,t){return e.deriver_a.role===t.deriver_a.role&&e.deriver_a.key_epoch===t.deriver_a.key_epoch&&e.deriver_a.public_key===t.deriver_a.public_key&&e.deriver_b.role===t.deriver_b.role&&e.deriver_b.key_epoch===t.deriver_b.key_epoch&&e.deriver_b.public_key===t.deriver_b.public_key}function rn(e,t){let n=e.ecdsa_activation,r=t.ecdsa_activation;return e.activation_correlation_id===t.activation_correlation_id&&tn(e.activation_request_digest,t.activation_request_digest)&&e.server_generation===t.server_generation&&e.lifecycle_id===t.lifecycle_id&&tn(e.transcript_digest,t.transcript_digest)&&n.context.application_binding_digest_b64u===r.context.application_binding_digest_b64u&&K(n.public_identity,r.public_identity)&&W(n.signing_worker,r.signing_worker)&&S(n.material_activation,r.material_activation)&&n.activation_epoch===r.activation_epoch&&n.activation_digest_b64u===r.activation_digest_b64u&&n.activated_at_ms===r.activated_at_ms}function an(e,t){let n=e.scope,r=t.scope;return e.kind===t.kind&&n.wallet_id===r.wallet_id&&n.ecdsa_threshold_key_id===r.ecdsa_threshold_key_id&&n.signing_root_id===r.signing_root_id&&n.signing_root_version===r.signing_root_version&&n.context.application_binding_digest_b64u===r.context.application_binding_digest_b64u&&K(n.public_identity,r.public_identity)&&S(n.material_activation,r.material_activation)&&W(n.signing_worker,r.signing_worker)&&n.activation_epoch===r.activation_epoch}function on(e,t){return e.kind===t.kind&&e.context.application_binding_digest_b64u===t.context.application_binding_digest_b64u&&K(e.public_identity,t.public_identity)&&S(e.material_activation,t.material_activation)&&Kt(e.signer_set,t.signer_set)&&nn(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 J(e){return new TextEncoder().encode(M(e,`canonical string`))}function sn(e){let t=e.reduce((e,t)=>e+t.length,0),n=new Uint8Array(t),r=0;for(let t of e)n.set(t,r),r+=t.length;return n}function Y(e,t){for(let n of t)e.push(n)}function cn(e,t){Y(e,h(t.lane_digest_b64u)),Y(e,h(t.intent_digest_b64u)),Y(e,h(t.display_digest_b64u))}function ln(e,t){if(!Number.isInteger(t)||t<0||t>65535)throw Error(`canonical u16 must be an integer between 0 and 65535`);e.push(t>>>8&255,t&255)}function un(e,t){if(!Number.isInteger(t)||t<0||t>4294967295)throw Error(`canonical u32 must be an integer between 0 and 4294967295`);e.push(t>>>24&255,t>>>16&255,t>>>8&255,t&255)}function dn(e,t){if(!Number.isSafeInteger(t)||t<0)throw Error(`canonical u64 must be a non-negative safe integer`);let n=BigInt(t);for(let t=56;t>=0;t-=8)e.push(Number(n>>BigInt(t)&255n))}function X(e,t){un(e,t.length),Y(e,t)}function fn(e,t){let n=J(t);ln(e,n.length),Y(e,n)}function pn(e,t){X(e,J(t.server_id)),X(e,J(t.key_epoch)),X(e,J(t.recipient_encryption_key))}async function mn(e){let t=globalThis.crypto?.subtle;if(!t)throw Error(`crypto.subtle is required for Router A/B ECDSA derivation request digest binding`);let n=new ArrayBuffer(e.byteLength);return new Uint8Array(n).set(e),new Uint8Array(await t.digest(`SHA-256`,n))}async function hn(e){let t=B(e,`clientRerandomizationContribution32`,32);return await mn(sn([J(`router-ab-ecdsa-derivation/client-rerandomization-commitment/v1`),t]))}function gn(e){let t=H(e),n=[];Y(n,J(`router-ab-ecdsa-derivation/context/v1`)),fn(n,`router-ab-ecdsa-derivation-v1`),fn(n,`secp256k1`),Y(n,h(t.application_binding_digest_b64u)),n.push(pt.length);for(let e of pt)ln(n,e);return new Uint8Array(n)}function _n(e){let t=[];return Y(t,J(`router-ab-ecdsa-derivation/role-local/context-binding/v1`)),t.push(1),t.push(1),ln(t,e.length),Y(t,e),new Uint8Array(t)}async function vn(e){return wn(_n(gn(e)))}function yn(e){let t=U(e),n=[];return X(n,J(`router-ab-ecdsa-derivation/public-identity/v1`)),X(n,J(t.context_binding_b64u)),X(n,J(t.derivation_client_share_public_key33_b64u)),X(n,J(t.server_public_key33_b64u)),X(n,J(t.threshold_public_key33_b64u)),X(n,J(t.ethereum_address20_b64u)),un(n,t.client_share_retry_counter),un(n,t.server_share_retry_counter),new Uint8Array(n)}function bn(e){let t=Z(e),n=[];return X(n,J(`router-ab-ecdsa-derivation/normal-signing-scope/v1`)),X(n,J(t.wallet_id)),X(n,J(t.ecdsa_threshold_key_id)),X(n,J(t.signing_root_id)),X(n,J(t.signing_root_version)),X(n,gn(t.context)),X(n,yn(t.public_identity)),n.push(...x(t.material_activation)),pn(n,t.signing_worker),X(n,J(t.activation_epoch)),new Uint8Array(n)}function xn(e){return bn(e)}function Sn(e,t){return e.length===t.length&&e.every((e,n)=>e===t[n])}function Cn(e,t){try{return Sn(xn(e),xn(t))}catch{return!1}}async function wn(e){return{bytes:Array.from(await mn(e))}}async function Tn(e){let t=Z(e),n=await vn(t.context);if(!q(en(t.public_identity.context_binding_b64u,`scope.public_identity.context_binding_b64u`),n))throw Error(`scope.public_identity.context_binding_b64u does not match scope.context`);return t}function En(e){let t=Q(e),n=[];return X(n,J(`router-ab-ecdsa-derivation/normal-signing-request/v1`)),X(n,bn(t.scope)),X(n,J(t.request_id)),X(n,J(t.operation_id)),cn(n,t.operation_digests),n.push(..._e(t.authorization)),n.push(...x(t.material_activation)),X(n,J(t.client_presignature_id)),dn(n,t.expires_at_ms),Y(n,h(t.signing_digest_b64u)),X(n,h(t.client_rerandomization_commitment32_b64u)),new Uint8Array(n)}async function Dn(e){let t=Q(e);return await Tn(t.scope),wn(En(t))}function On(e){let t=$(e),n=[];return X(n,J(`router-ab-ecdsa-derivation/normal-signing-finalize-request/v1`)),X(n,bn(t.scope)),X(n,J(t.request_id)),X(n,J(t.operation_id)),cn(n,t.operation_digests),n.push(..._e(t.authorization)),n.push(...x(t.material_activation)),dn(n,t.expires_at_ms),Y(n,h(t.signing_digest_b64u)),X(n,J(t.server_presignature_id)),X(n,h(t.client_signature_share32_b64u)),X(n,h(t.client_rerandomization_contribution32_b64u)),new Uint8Array(n)}async function kn(e){let t=$(e);return await Tn(t.scope),wn(On(t))}function Z(e){let t=d(e,`scope`);return j(t,`scope`,[`wallet_id`,`ecdsa_threshold_key_id`,`signing_root_id`,`signing_root_version`,`context`,`public_identity`,`material_activation`,`signing_worker`,`activation_epoch`]),{wallet_id:M(t.wallet_id,`scope.wallet_id`),ecdsa_threshold_key_id:M(t.ecdsa_threshold_key_id,`scope.ecdsa_threshold_key_id`),signing_root_id:M(t.signing_root_id,`scope.signing_root_id`),signing_root_version:M(t.signing_root_version,`scope.signing_root_version`),context:H(t.context),public_identity:U(t.public_identity),material_activation:y(t.material_activation),signing_worker:Et(t.signing_worker),activation_epoch:N(t.activation_epoch,`scope.activation_epoch`)}}function An(e){if(e==null)return null;let t=d(e,`routerAbEcdsaDerivationNormalSigning`);if(j(t,`routerAbEcdsaDerivationNormalSigning`,[`kind`,`scope`]),M(t.kind,`routerAbEcdsaDerivationNormalSigning.kind`)!==`router_ab_ecdsa_derivation_normal_signing_v1`)throw Error(`routerAbEcdsaDerivationNormalSigning.kind is not supported`);return{kind:`router_ab_ecdsa_derivation_normal_signing_v1`,scope:Z(t.scope)}}function jn(e){let t=An(e);if(!t)throw Error(`Router A/B ECDSA derivation normal-signing state is required`);return t}function Mn(e){let t=u([M(e.ecdsaThresholdKeyId,`ecdsaThresholdKeyId`),M(e.signingRootId,`signingRootId`),M(e.signingRootVersion,`signingRootVersion`),N(e.activationEpoch,`activationEpoch`)].join(`:`));if(!t.ok)throw Error(`activeStateId ${t.error.message}`);return t.value}function Nn(e){return Mn({ecdsaThresholdKeyId:e.scope.ecdsa_threshold_key_id,signingRootId:e.scope.signing_root_id,signingRootVersion:e.scope.signing_root_version,activationEpoch:e.scope.activation_epoch})}function Pn(e,t){let n=d(e,t);return j(n,t,[`lane_digest_b64u`,`intent_digest_b64u`,`display_digest_b64u`]),{lane_digest_b64u:R(n.lane_digest_b64u,`${t}.lane_digest_b64u`,32),intent_digest_b64u:R(n.intent_digest_b64u,`${t}.intent_digest_b64u`,32),display_digest_b64u:R(n.display_digest_b64u,`${t}.display_digest_b64u`,32)}}function Fn(e){return Q({scope:e.scope,request_id:e.requestId,operation_id:e.operationId,operation_digests:e.operationDigests,authorization:e.authorization,material_activation:e.materialActivation,client_presignature_id:e.clientPresignatureId,expires_at_ms:e.expiresAtMs,signing_digest_b64u:m(B(e.signingDigest32,`signingDigest32`,32)),client_rerandomization_commitment32_b64u:m(B(e.clientRerandomizationCommitment32,`clientRerandomizationCommitment32`,32))})}function Q(e){let t=d(e,`ecdsaSigningRequest`);j(t,`ecdsaSigningRequest`,[`scope`,`request_id`,`operation_id`,`operation_digests`,`authorization`,`material_activation`,`client_presignature_id`,`expires_at_ms`,`signing_digest_b64u`,`client_rerandomization_commitment32_b64u`]);let n={scope:Z(t.scope),request_id:M(t.request_id,`ecdsaSigningRequest.request_id`),operation_id:M(t.operation_id,`ecdsaSigningRequest.operation_id`),operation_digests:Pn(t.operation_digests,`ecdsaSigningRequest.operation_digests`),authorization:v(t.authorization),material_activation:y(t.material_activation),client_presignature_id:M(t.client_presignature_id,`ecdsaSigningRequest.client_presignature_id`),expires_at_ms:F(t.expires_at_ms,`ecdsaSigningRequest.expires_at_ms`),signing_digest_b64u:R(t.signing_digest_b64u,`ecdsaSigningRequest.signing_digest_b64u`,32),client_rerandomization_commitment32_b64u:R(t.client_rerandomization_commitment32_b64u,`ecdsaSigningRequest.client_rerandomization_commitment32_b64u`,32)};if(n.operation_digests.intent_digest_b64u!==n.signing_digest_b64u)throw Error(`ecdsaSigningRequest intent digest must equal the admitted signing digest`);return n}function In(e){let t=d(e,`webauthn_authentication`);j(t,`webauthn_authentication`,[`id`,`rawId`,`type`,`authenticatorAttachment`,`response`,`clientExtensionResults`]);let n=d(t.response,`webauthn_authentication.response`);if(j(n,`webauthn_authentication.response`,[`clientDataJSON`,`authenticatorData`,`signature`,`userHandle`]),t.clientExtensionResults!==null)throw Error(`webauthn_authentication.clientExtensionResults must be redacted`);let r=t.authenticatorAttachment===null?null:M(t.authenticatorAttachment,`webauthn_authentication.authenticatorAttachment`),i=n.userHandle===null?null:M(n.userHandle,`webauthn_authentication.response.userHandle`);return{id:M(t.id,`webauthn_authentication.id`),rawId:M(t.rawId,`webauthn_authentication.rawId`),type:M(t.type,`webauthn_authentication.type`),authenticatorAttachment:r,response:{clientDataJSON:M(n.clientDataJSON,`webauthn_authentication.response.clientDataJSON`),authenticatorData:M(n.authenticatorData,`webauthn_authentication.response.authenticatorData`),signature:M(n.signature,`webauthn_authentication.response.signature`),userHandle:i},clientExtensionResults:null}}function Ln(e){let t=d(e,`operationStepUpAuthorizationRequest`);if(j(t,`operationStepUpAuthorizationRequest`,[`kind`,`operation`,`proof`]),t.kind!==`router_ab_ecdsa_operation_step_up_v1`)throw Error(`operationStepUpAuthorizationRequest.kind must be router_ab_ecdsa_operation_step_up_v1`);let n=Rn(t.operation),r=d(t.proof,`operationStepUpAuthorizationRequest.proof`),i=et(r.authority),a;switch(r.kind){case`passkey`:if(j(r,`operationStepUpAuthorizationRequest.proof`,[`kind`,`authority`,`webauthn_authentication`]),!i||!O(i))throw Error(`operationStepUpAuthorizationRequest.proof requires an exact passkey authority`);a={kind:`passkey`,authority:i,webauthn_authentication:In(r.webauthn_authentication)};break;case`email_otp`:if(j(r,`operationStepUpAuthorizationRequest.proof`,[`kind`,`authority`,`challenge_id`,`otp_code`]),!i||!k(i))throw Error(`operationStepUpAuthorizationRequest.proof requires an exact Email OTP authority`);a={kind:`email_otp`,authority:i,challenge_id:M(r.challenge_id,`operationStepUpAuthorizationRequest.proof.challenge_id`),otp_code:M(r.otp_code,`operationStepUpAuthorizationRequest.proof.otp_code`)};break;default:throw Error(`operationStepUpAuthorizationRequest.proof.kind is invalid`)}return{kind:`router_ab_ecdsa_operation_step_up_v1`,operation:n,proof:a}}function Rn(e){let t=d(e,`ecdsaOperationStepUpPreparation`);if(j(t,`operationStepUpGrantRequest.operation`,[`wallet_id`,`operation_kind`,`operation_id`,`operation_digests`,`material_activation`,`normal_signing_scope`,`signing_worker_id`,`key_handle`,`relayer_key_id`,`participant_ids`,`expires_at_ms`]),!Array.isArray(t.participant_ids)||t.participant_ids.length!==2||!t.participant_ids.every(e=>Number.isSafeInteger(e)&&e>0))throw Error(`operationStepUpGrantRequest.operation.participant_ids must contain two positive integers`);return{wallet_id:M(t.wallet_id,`operationStepUpGrantRequest.operation.wallet_id`),operation_kind:zn(t.operation_kind),operation_id:M(t.operation_id,`operationStepUpGrantRequest.operation.operation_id`),operation_digests:Pn(t.operation_digests,`operationStepUpGrantRequest.operation.operation_digests`),material_activation:y(t.material_activation),normal_signing_scope:Z(t.normal_signing_scope),signing_worker_id:M(t.signing_worker_id,`operationStepUpGrantRequest.operation.signing_worker_id`),key_handle:M(t.key_handle,`operationStepUpGrantRequest.operation.key_handle`),relayer_key_id:M(t.relayer_key_id,`operationStepUpGrantRequest.operation.relayer_key_id`),participant_ids:[Number(t.participant_ids[0]),Number(t.participant_ids[1])],expires_at_ms:F(t.expires_at_ms,`operationStepUpGrantRequest.operation.expires_at_ms`)}}function zn(e){switch(e){case ce.signTransaction:case ce.exportKey:return e;default:throw Error(`operationStepUpGrantRequest.operation.operation_kind must be evm.sign_transaction or evm.export_key`)}}function Bn(e){return $({scope:e.scope,request_id:e.requestId,operation_id:e.operationId,operation_digests:e.operationDigests,authorization:e.authorization,material_activation:e.materialActivation,expires_at_ms:e.expiresAtMs,signing_digest_b64u:m(B(e.signingDigest32,`signingDigest32`,32)),server_presignature_id:e.serverPresignatureId,client_signature_share32_b64u:m(B(e.clientSignatureShare32,`clientSignatureShare32`,32)),client_rerandomization_contribution32_b64u:m(B(e.clientRerandomizationContribution32,`clientRerandomizationContribution32`,32))})}function $(e){let t=d(e,`ecdsaFinalizeCoreRequest`);return j(t,`ecdsaFinalizeCoreRequest`,[`scope`,`request_id`,`operation_id`,`operation_digests`,`authorization`,`material_activation`,`expires_at_ms`,`signing_digest_b64u`,`server_presignature_id`,`client_signature_share32_b64u`,`client_rerandomization_contribution32_b64u`]),Vn(t)}function Vn(e){let t={scope:Z(e.scope),request_id:M(e.request_id,`ecdsaFinalizeRequest.request_id`),operation_id:M(e.operation_id,`ecdsaFinalizeRequest.operation_id`),operation_digests:Pn(e.operation_digests,`ecdsaFinalizeRequest.operation_digests`),authorization:v(e.authorization),material_activation:y(e.material_activation),expires_at_ms:F(e.expires_at_ms,`ecdsaFinalizeRequest.expires_at_ms`),signing_digest_b64u:R(e.signing_digest_b64u,`ecdsaFinalizeRequest.signing_digest_b64u`,32),server_presignature_id:M(e.server_presignature_id,`ecdsaFinalizeRequest.server_presignature_id`),client_signature_share32_b64u:R(e.client_signature_share32_b64u,`ecdsaFinalizeRequest.client_signature_share32_b64u`,32),client_rerandomization_contribution32_b64u:R(e.client_rerandomization_contribution32_b64u,`ecdsaFinalizeRequest.client_rerandomization_contribution32_b64u`,32)};if(t.operation_digests.intent_digest_b64u!==t.signing_digest_b64u)throw Error(`ecdsaFinalizeRequest intent digest must equal the admitted signing digest`);return t}function Hn(e){let t=d(e,`ecdsaPrepareResponse`);return j(t,`ecdsaPrepareResponse`,[`scope`,`request_id`,`request_digest`,`signing_digest`,`server_presignature_id`,`server_big_r33_b64u`,`signing_worker_rerandomization_contribution32_b64u`,`signature_scheme`,`prepared_at_ms`,`expires_at_ms`]),{scope:Z(t.scope),request_id:M(t.request_id,`ecdsaPrepareResponse.request_id`),request_digest:V(t.request_digest,`ecdsaPrepareResponse.request_digest`),signing_digest:V(t.signing_digest,`ecdsaPrepareResponse.signing_digest`),server_presignature_id:M(t.server_presignature_id,`ecdsaPrepareResponse.server_presignature_id`),server_big_r33_b64u:R(t.server_big_r33_b64u,`ecdsaPrepareResponse.server_big_r33_b64u`,33),signing_worker_rerandomization_contribution32_b64u:R(t.signing_worker_rerandomization_contribution32_b64u,`ecdsaPrepareResponse.signing_worker_rerandomization_contribution32_b64u`,32),signature_scheme:Tt(t.signature_scheme,`ecdsaPrepareResponse.signature_scheme`),prepared_at_ms:F(t.prepared_at_ms,`ecdsaPrepareResponse.prepared_at_ms`),expires_at_ms:F(t.expires_at_ms,`ecdsaPrepareResponse.expires_at_ms`)}}async function Un(e,t){let n=Q(e),r=Hn(t);if(!Cn(r.scope,n.scope))throw Error(`ecdsaPrepareResponse.scope does not match request`);if(r.request_id!==n.request_id)throw Error(`ecdsaPrepareResponse.request_id does not match request`);if(r.server_presignature_id!==n.client_presignature_id)throw Error(`ecdsaPrepareResponse.server_presignature_id does not match request`);if(!q(r.signing_digest,en(n.signing_digest_b64u)))throw Error(`ecdsaPrepareResponse.signing_digest does not match request`);if(r.expires_at_ms!==n.expires_at_ms)throw Error(`ecdsaPrepareResponse.expires_at_ms does not match request`);if(!q(r.request_digest,await Dn(n)))throw Error(`ecdsaPrepareResponse.request_digest does not match request`);return r}function Wn(e){let t=d(e,`ecdsaSigningResponse`);return j(t,`ecdsaSigningResponse`,[`scope`,`request_id`,`request_digest`,`signing_digest`,`signature_scheme`,`signature65_b64u`]),{scope:Z(t.scope),request_id:M(t.request_id,`ecdsaSigningResponse.request_id`),request_digest:V(t.request_digest,`ecdsaSigningResponse.request_digest`),signing_digest:V(t.signing_digest,`ecdsaSigningResponse.signing_digest`),signature_scheme:Tt(t.signature_scheme,`ecdsaSigningResponse.signature_scheme`),signature65_b64u:R(t.signature65_b64u,`ecdsaSigningResponse.signature65_b64u`,65)}}async function Gn(e,t){let n=$(e),r=Wn(t);if(!Cn(r.scope,n.scope))throw Error(`ecdsaSigningResponse.scope does not match request`);if(r.request_id!==n.request_id)throw Error(`ecdsaSigningResponse.request_id does not match request`);if(!q(r.signing_digest,en(n.signing_digest_b64u)))throw Error(`ecdsaSigningResponse.signing_digest does not match request`);if(!q(r.request_digest,await kn(n)))throw Error(`ecdsaSigningResponse.request_digest does not match request`);return r}const Kn=new TextEncoder;function qn(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 Jn(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 Yn(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 Xn(e,t){return qn([Jn(e.length,`${t}.length`),e])}function Zn(e,t){if(typeof e!=`string`)throw Error(`${t} must be a string`);return Xn(Kn.encode(e),t)}function Qn(e,t){try{let t=h(de(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 $n(e,t){try{let t=h(e);if(t.length===0||m(t)!==e)throw Error(`must be canonical base64url`);return t}catch(e){throw Error(`${t} ${e instanceof Error?e.message:`is invalid`}`)}}export{Ze as $,Ut as A,x as At,hn as B,It as C,De as Ct,Jt as D,we as Dt,Rn as E,Ee as Et,jn as F,S as Ft,on as G,Kt as H,Nn as I,fe as It,Gt as J,K,kn as L,Nt as M,v as Mt,Ft as N,he as Nt,Zt as O,Se as Ot,Ht as P,me as Pt,Be as Q,Dn as R,G as S,Oe as St,gt as T,Te as Tt,Cn as U,nn as V,an as W,Je as X,W as Y,Ke as Z,$t as _,Le as _t,Zn as a,nt as at,Z as b,Ne as bt,ct as c,He as ct,ut as d,ze as dt,Ye as et,dt as f,Pe as ft,_t as g,Me as gt,Fn as h,Re as ht,$n as i,D as it,Wt as j,y as jt,Qt as k,xe as kt,ft as l,Ve as lt,Bn as m,je as mt,Xn as n,k as nt,Jn as o,rt as ot,st as p,Ae as pt,rn as q,Qn as r,O as rt,Yn as s,et as st,qn as t,Xe as tt,lt as u,ot as ut,Un as v,Fe as vt,Ln as w,Ce as wt,An as x,ke as xt,Gn as y,Ie as yt,xn as z};
1
+ import{A as e,D as t,E as n,M as r,N as i,S as a,b as o,c as s,g as c,k as l,o as u}from"./domainIds-t1lp25yU.js";import{S as d,c as ee,r as f,t as p}from"./digests-BIaE0DMd.js";import{i as m,r as h}from"./base64-BmKR3UqU.js";import{J as g,X as te,i as ne,n as re}from"./activeWalletSession-HAOgRKzn.js";import{d as ie,g as ae,h as oe,m as se,n as ce,u as le}from"./capabilityKinds-Cafn86Y1.js";import{n as ue,r as de}from"./canonicalPrimitives-DKeS3M40.js";function fe(e,t){let n=ee(e,t);if(!/^x25519:[0-9a-f]{64}$/.test(n))throw Error(`${t} must use x25519:<64 lowercase hex chars> encoding`);return n}function pe(e,t,n){let r=Object.keys(e).sort(),i=[...t].sort();if(r.length!==i.length||r.some((e,t)=>e!==i[t]))throw Error(`${n} has invalid fields`)}function _(e,t){if(typeof e!=`string`||e.trim()!==e||!e)throw Error(`${t} is required`);if(!/^[\x20-\x7e]+$/.test(e))throw Error(`${t} must be printable ASCII`);return e}function v(e){let t=d(e,`authorization`);switch(t.kind){case`reusable_wallet_session`:return pe(t,[`kind`,`wallet_session_id`],`authorization`),{kind:`reusable_wallet_session`,wallet_session_id:_(t.wallet_session_id,`authorization.wallet_session_id`)};case`operation_step_up`:return pe(t,[`kind`],`authorization`),{kind:`operation_step_up`};default:throw Error(`authorization.kind is not supported`)}}function y(e){let t=d(e,`material_activation`);if(pe(t,[`kind`,`activation_id`,`capability`,`material_owner`,`key_binding`,`lifecycle_binding`,`signing_worker`],`material_activation`),t.kind!==`mpc_material_activation_ref`)throw Error(`material_activation.kind is not supported`);return{kind:`mpc_material_activation_ref`,activation_id:_(t.activation_id,`material_activation.activation_id`),capability:_(t.capability,`material_activation.capability`),material_owner:_(t.material_owner,`material_activation.material_owner`),key_binding:_(t.key_binding,`material_activation.key_binding`),lifecycle_binding:_(t.lifecycle_binding,`material_activation.lifecycle_binding`),signing_worker:_(t.signing_worker,`material_activation.signing_worker`)}}function me(e){return y({kind:e.kind,activation_id:e.activationId,capability:e.capability,material_owner:e.materialOwner,key_binding:e.keyBinding,lifecycle_binding:e.lifecycleBinding,signing_worker:e.signingWorker})}function he(e){let t=y(e),n=c({kind:t.kind,activationId:t.activation_id,capability:t.capability,materialOwner:t.material_owner,keyBinding:t.key_binding,lifecycleBinding:t.lifecycle_binding,signingWorker:t.signing_worker});if(!n.ok)throw Error(`material_activation is invalid: ${n.error.message}`);return n.value}function ge(e){return new TextEncoder().encode(e)}function b(e,t){let n=ge(t),r=n.length>>>0;e.push(r>>>24&255,r>>>16&255,r>>>8&255,r&255),e.push(...n)}function _e(e){let t=v(e),n=[];switch(b(n,t.kind),t.kind){case`reusable_wallet_session`:b(n,t.wallet_session_id);break;case`operation_step_up`:break}return new Uint8Array(n)}function x(e){let t=y(e),n=[];return b(n,t.kind),b(n,t.activation_id),b(n,t.capability),b(n,t.material_owner),b(n,t.key_binding),b(n,t.lifecycle_binding),b(n,t.signing_worker),new Uint8Array(n)}function S(e,t){return e.kind===t.kind&&e.activation_id===t.activation_id&&e.capability===t.capability&&e.material_owner===t.material_owner&&e.key_binding===t.key_binding&&e.lifecycle_binding===t.lifecycle_binding&&e.signing_worker===t.signing_worker}function ve(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 C(e){return encodeURIComponent(ve(e,`non-empty components`))}function ye(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 be(t){let n=e(t);return n.ok?ye(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 xe(e,t=`evmFamilySigningKeySlotId`){let n=be(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 Se(e){return xe([`wallet-key`,`evm-family`,C(e.walletId),C(e.signingRootId),C(e.signingRootVersion)].join(`:`))}function Ce(e){let t=e.trim(),n=h(t);if(n.length!==33||m(n)!==t)throw Error(`ECDSA client root public key must be canonical base64url for 33 bytes`);return t}function w(e,t){let n=String(e??``).trim();if(!n)throw Error(`${t} is required`);return n}function we(e){return w(e,`ecdsaThresholdKeyId`)}function Te(e){return w(e,`signingRootId`)}function Ee(e){return w(e,`signingRootVersion`)}async function De(e){let t=Se(e);return`ederivation-relayer-${m(await f(p({version:`threshold_ecdsa_derivation_relayer_key_id_v1`,schemeId:`threshold-secp256k1-ecdsa-2p-v1`,walletId:e.walletId,evmFamilySigningKeySlotId:t})))}`}function T(e,t){if(typeof e!=`string`||e.trim()!==e||e.length===0)throw Error(`${t} must be a non-empty canonical string`);return e}function E(e,t,n){if(typeof e!=`string`||!/^[A-Za-z0-9_-]+$/.test(e))throw Error(`${t} must be unpadded base64url`);let r;try{r=h(e)}catch{throw Error(`${t} must be valid base64url`)}if(r.length===0||n!==null&&r.length!==n||m(r)!==e)throw Error(`${t} has an invalid canonical byte length`);return e}function Oe(e){return T(e,`ECDSA signer id`)}function ke(e){return T(e,`ECDSA server generation`)}function Ae(e){return T(e,`ECDSA manifest id`)}function je(e){if(!Number.isSafeInteger(e)||Number(e)<1)throw Error(`ECDSA manifest revision must be a positive safe integer`);return e}function Me(e){return E(e,`ECDSA ciphertext digest`,32)}function Ne(e){return E(e,`ECDSA pending ciphertext digest`,32)}function Pe(e){return E(e,`ECDSA activation digest`,32)}function Fe(e){return T(e,`ECDSA lifecycle id`)}function Ie(e){return T(e,`ECDSA material sealing key id`)}function Le(e){return E(e,`ECDSA AES-GCM IV`,12)}function Re(e){return E(e,`ECDSA ciphertext`,null)}function ze(e){if(typeof e!=`string`||e.trim()!==e)throw Error(`ECDSA server activation request must be canonical JSON`);let t;try{t=JSON.parse(e)}catch{throw Error(`ECDSA server activation request must be canonical JSON`)}if(typeof t!=`object`||!t||Array.isArray(t)||p(t)!==e)throw Error(`ECDSA server activation request must be a canonical JSON object`);return e}function Be(e){return{walletId:e.walletId,bindingId:e.walletAuthMethodId,factor:{kind:`voiceid`,deviceKeyId:e.deviceKeyId},verifier:{kind:`device_signature`}}}function D(e){return e.factor.kind===`voiceid`}function O(e){return e.factor.kind===`passkey`}function k(e){return e.factor.kind===`email_otp`}function Ve(e,t){return e.walletId!==t.walletId||e.bindingId!==t.bindingId?!1:O(e)?O(t)?e.factor.credentialIdB64u===t.factor.credentialIdB64u&&e.verifier.rpId===t.verifier.rpId:!1:k(e)?k(t)?e.factor.provider===t.factor.provider&&e.factor.providerUserId===t.factor.providerUserId&&e.verifier.emailHashHex===t.verifier.emailHashHex:!1:D(e)?D(t)&&e.factor.deviceKeyId===t.factor.deviceKeyId:!1}function He(e){if(!e||typeof e!=`object`||Array.isArray(e))return null;let r=e,i=Object.keys(r);if(i.length!==4||!i.every(e=>[`kind`,`walletId`,`authorityDigest`,`walletAuthMethodId`].includes(e))||r.kind!==`wallet_auth_authority_ref`)return null;let a=l(r.walletId),o=t(r.authorityDigest),s=n(r.walletAuthMethodId);return!a.ok||!o.ok||!s.ok?null:{kind:`wallet_auth_authority_ref`,walletId:a.value,authorityDigest:o.value,walletAuthMethodId:s.value}}function Ue(e){let t=String(e||``).trim().toLowerCase();return t===`google`||t===`email`?t:null}function A(e,t){if(e.ok)return e.value;throw Error(t)}function We(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function Ge(e,t){for(let n of t)if(We(e,n))return!0;return!1}function Ke(e){let t=A(l(e.walletId),`Passkey wallet auth authority requires walletId`),a=A(i(e.rpId),`Passkey wallet auth authority requires rpId`),o=A(r(e.credentialIdB64u),`Passkey wallet auth authority requires credentialIdB64u`),s=A(n(`passkey:${a}:${o}`),`Passkey wallet auth authority requires bindingId`);return{walletId:t,factor:{kind:`passkey`,credentialIdB64u:o},verifier:{kind:`webauthn`,rpId:a},bindingId:s}}function qe(e){let t=Ue(e.provider);if(!t)throw Error(`Email OTP factor identity requires provider`);return{kind:`email_otp`,provider:t,providerUserId:A(s(e.providerUserId),`Email OTP factor identity requires providerUserId`)}}function Je(e){let t=A(l(e.walletId),`Email OTP wallet auth authority requires walletId`),r=qe(e),i=String(e.emailHashHex||``).trim();if(!i)throw Error(`Email OTP wallet auth authority requires emailHashHex`);let a=A(n(`email_otp:${t}:${i}`),`Email OTP wallet auth authority requires bindingId`);return{walletId:t,factor:r,verifier:{kind:`email_otp_wallet_auth_method`,emailHashHex:i},bindingId:a}}function Ye(e){return e.factor.provider}function Xe(e){return e.factor.providerUserId}function Ze(e){return e.verifier.emailHashHex}function Qe(e){let t=e.factor;if(!t||typeof t!=`object`||Array.isArray(t))return null;let a=e.verifier;if(!a||typeof a!=`object`||Array.isArray(a))return null;let o=t,s=a,c=String(o.kind||``).trim().toLowerCase(),u=String(s.kind||``).trim().toLowerCase();if(c!==`passkey`||u!==`webauthn`)return null;try{if(Ge(e,[`kind`,`rpId`,`credentialIdB64u`,`provider`,`providerUserId`]))return null;let t=l(e.walletId),a=i(s.rpId),c=r(o.credentialIdB64u),u=n(e.bindingId);return!t.ok||!a.ok||!c.ok||!u.ok?null:{walletId:t.value,factor:{kind:`passkey`,credentialIdB64u:c.value},verifier:{kind:`webauthn`,rpId:a.value},bindingId:u.value}}catch{return null}}function $e(e){let t=e.factor;if(!t||typeof t!=`object`||Array.isArray(t))return null;let r=e.verifier;if(!r||typeof r!=`object`||Array.isArray(r))return null;let i=t,a=r,o=String(i.kind||``).trim().toLowerCase(),c=String(a.kind||``).trim().toLowerCase();if(o!==`email_otp`||c!==`email_otp_wallet_auth_method`)return null;try{if(Ge(e,[`kind`,`rpId`,`credentialIdB64u`,`provider`,`providerUserId`]))return null;let t=l(e.walletId),r=Ue(i.provider),o=s(i.providerUserId),c=String(a.emailHashHex||``).trim(),u=n(e.bindingId);return!t.ok||!r||!o.ok||!c||!u.ok?null:{walletId:t.value,factor:{kind:`email_otp`,provider:r,providerUserId:o.value},verifier:{kind:`email_otp_wallet_auth_method`,emailHashHex:c},bindingId:u.value}}catch{return null}}function et(e){if(!e||typeof e!=`object`||Array.isArray(e))return null;let t=e;return Qe(t)||$e(t)||tt(t)}function tt(e){try{let t=d(e,`device authority`);g(t,[`walletId`,`bindingId`,`factor`,`verifier`],`device authority`);let r=d(t.factor,`device factor`),i=d(t.verifier,`device verifier`);if(g(r,[`kind`,`deviceKeyId`],`device factor`),g(i,[`kind`],`device verifier`),r.kind!==`voiceid`||i.kind!==`device_signature`)return null;let a=l(t.walletId),o=n(t.bindingId);return!a.ok||!o.ok?null:Be({walletId:a.value,walletAuthMethodId:o.value,deviceKeyId:de(r.deviceKeyId)})}catch{return null}}function nt(e){return!e||typeof e!=`object`||Array.isArray(e)?null:$e(e)}function rt(e){return!e||typeof e!=`object`||Array.isArray(e)?null:Qe(e)}function it(e){return`seams:wallet-authority-binding:v1|${p(e.authority)}`}async function at(e){return A(t(m(await f(it(e)))),`Wallet authority binding digest must be non-empty`)}async function ot(e){return{kind:`wallet_auth_authority_ref`,walletId:e.authority.walletId,authorityDigest:await at({authority:e.authority}),walletAuthMethodId:e.authority.bindingId}}const st=5*6e4,ct=`/router-ab/ecdsa-derivation/export`,lt=`/router-ab/ecdsa-derivation/presignature-pool/fill/init`,ut=`/router-ab/ecdsa-derivation/presignature-pool/fill/step`,dt=`/router-ab/ecdsa-derivation/session/activate`,ft=`/router-ab/ecdsa-derivation/operation-step-up`,pt=[1,2];function mt(e,t){if(e===`reusable_wallet_session`||e===`verified_step_up`)return e;throw Error(`${t} must be reusable_wallet_session or verified_step_up`)}function ht(e){let t=d(e,`operationStepUpAuthorizationResponse.export_topology`);j(t,`operationStepUpAuthorizationResponse.export_topology`,[`signer_set`,`deriver_recipient_keys`,`router_id`]);let n=kt(t.signer_set,`operationStepUpAuthorizationResponse.export_topology.signer_set`),r=Mt(t.deriver_recipient_keys,`operationStepUpAuthorizationResponse.export_topology.deriver_recipient_keys`);if(r.deriver_a.key_epoch!==n.signer_a.key_epoch||r.deriver_b.key_epoch!==n.signer_b.key_epoch)throw Error(`operationStepUpAuthorizationResponse.export_topology recipient key epochs do not match signer_set`);return{signer_set:n,deriver_recipient_keys:r,router_id:M(t.router_id,`operationStepUpAuthorizationResponse.export_topology.router_id`)}}function gt(e){let t=d(e,`operationStepUpAuthorizationResponse`),n=zn(t.operation_kind);if(j(t,`operationStepUpAuthorizationResponse`,[`ok`,`kind`,`authorization`,`expires_at_ms`,`operation_kind`,...n===`evm.export_key`?[`export_topology`]:[]]),t.ok!==!0||t.kind!==`verified_step_up`)throw Error(`operationStepUpAuthorizationResponse is invalid`);let r=d(t.authorization,`operationStepUpAuthorizationResponse.authorization`);if(j(r,`operationStepUpAuthorizationResponse.authorization`,[`kind`,`evidence_set_digest`,`unseal`]),r.kind!==`operation_step_up`)throw Error(`operationStepUpAuthorizationResponse.authorization.kind is invalid`);let i=F(t.expires_at_ms,`operationStepUpAuthorizationResponse.expires_at_ms`);if(i<=Date.now())throw Error(`operationStepUpAuthorizationResponse.expires_at_ms is expired`);let a=d(r.unseal,`operationStepUpAuthorizationResponse.authorization.unseal`),o=M(a.kind,`operationStepUpAuthorizationResponse.authorization.unseal.kind`),s;switch(o){case`not_requested`:j(a,`operationStepUpAuthorizationResponse.authorization.unseal`,[`kind`]),s={kind:`not_requested`};break;case`email_otp_grant`:j(a,`operationStepUpAuthorizationResponse.authorization.unseal`,[`kind`,`grant`,`challenge_id`]),s={kind:`email_otp_grant`,grant:M(a.grant,`operationStepUpAuthorizationResponse.authorization.unseal.grant`),challenge_id:M(a.challenge_id,`operationStepUpAuthorizationResponse.authorization.unseal.challenge_id`)};break;default:throw Error(`operationStepUpAuthorizationResponse.authorization.unseal.kind is invalid`)}let c={ok:!0,kind:`verified_step_up`,authorization:{kind:`operation_step_up`,evidence_set_digest:de(r.evidence_set_digest),unseal:s},expires_at_ms:i};return n===`evm.sign_transaction`?{...c,operation_kind:`evm.sign_transaction`}:{...c,operation_kind:`evm.export_key`,export_topology:ht(t.export_topology)}}async function _t(e){return m(await f(p({domain:`router-ab-ecdsa-operation-step-up/challenge/v1`,operation:Rn(e)})))}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`)}function M(e,t){if(typeof e!=`string`)throw Error(`${t} must be a string`);let n=e.trim();if(!n)throw Error(`${t} is required`);if(!/^[\x20-\x7e]+$/.test(n))throw Error(`${t} must be printable ASCII`);return n}function N(e,t){let n=o(M(e,t));if(!n.ok)throw Error(`${t} is invalid`);return n.value}function P(e,t){let n=a(M(e,t));if(!n.ok)throw Error(`${t} is invalid`);return n.value}function vt(e,t){let n=le(e);if(!n.ok)throw Error(`${t} is invalid`);return n.value}function yt(e,t){let n=se(e);if(!n.ok)throw Error(`${t} is invalid`);return n.value}function bt(e,t){let n=oe(e);if(!n.ok)throw Error(`${t} is invalid`);return n.value}function xt(e,t){let n=ie(e);if(!n.ok)throw Error(`${t} is invalid`);return n.value}function F(e,t){if(typeof e!=`number`||!Number.isSafeInteger(e)||e<=0)throw Error(`${t} must be a positive safe integer`);return e}function I(e,t){if(typeof e!=`number`||!Number.isSafeInteger(e)||e<=0)throw Error(`${t} must be a positive safe-integer counter`);return e}function L(e,t){if(typeof e!=`number`||!Number.isFinite(e))throw Error(`${t} must be a finite number`);let n=Math.floor(e);if(n!==e||n<0||n>4294967295)throw Error(`${t} must be a u32 integer`);return n}function St(e,t){if(typeof e!=`number`||!Number.isFinite(e))throw Error(`${t} must be a finite number`);let n=Math.floor(e);if(n!==e||n<0||n>255)throw Error(`${t} must be a byte`);return n}function R(e,t,n){let r=M(e,t);if(!/^[A-Za-z0-9_-]+$/.test(r))throw Error(`${t} must be unpadded base64url`);let i;try{i=h(r)}catch{throw Error(`${t} must be valid base64url`)}if(i.length!==n)throw Error(`${t} must decode to ${n} bytes`);return r}function z(e,t){let n=R(e,t,33),r=h(n);if(r[0]!==2&&r[0]!==3)throw Error(`${t} must be a compressed secp256k1 public key`);return n}function Ct(e,t){let n=M(e,t);if(!/^[A-Za-z0-9_-]+$/.test(n))throw Error(`${t} must be unpadded base64url`);let r;try{r=h(n)}catch{throw Error(`${t} must be valid base64url`)}if(r.length===0)throw Error(`${t} must decode to non-empty bytes`);return n}function wt(e,t){let n=M(e,t);if(!/^x25519:[0-9a-f]{64}$/.test(n))throw Error(`${t} must use x25519:<64 lowercase hex chars> encoding`);return n}function B(e,t,n){if(!(e instanceof Uint8Array))throw Error(`${t} must be a Uint8Array`);if(e.length!==n)throw Error(`${t} must contain ${n} bytes`);return e}function Tt(e,t){let n=M(e,t);if(n!==`ecdsa_secp256k1_recoverable_v1`)throw Error(`${t} must be ecdsa_secp256k1_recoverable_v1`);return n}function V(e,t){let n=d(e,t);if(j(n,t,[`bytes`]),!Array.isArray(n.bytes))throw Error(`${t}.bytes must be an array`);if(n.bytes.length!==32)throw Error(`${t}.bytes must contain 32 bytes`);return{bytes:n.bytes.map((e,n)=>St(e,`${t}.bytes[${n}]`))}}function H(e){let t=d(e,`scope.context`);j(t,`scope.context`,[`application_binding_digest_b64u`]);let n=h(M(t.application_binding_digest_b64u,`scope.context.application_binding_digest_b64u`));if(n.length!==32)throw Error(`scope.context.application_binding_digest_b64u must decode to 32 bytes`);return{application_binding_digest_b64u:m(n)}}function U(e){let t=d(e,`scope.public_identity`);return j(t,`scope.public_identity`,[`context_binding_b64u`,`derivation_client_share_public_key33_b64u`,`server_public_key33_b64u`,`threshold_public_key33_b64u`,`ethereum_address20_b64u`,`client_share_retry_counter`,`server_share_retry_counter`]),{context_binding_b64u:R(t.context_binding_b64u,`scope.public_identity.context_binding_b64u`,32),derivation_client_share_public_key33_b64u:z(t.derivation_client_share_public_key33_b64u,`scope.public_identity.derivation_client_share_public_key33_b64u`),server_public_key33_b64u:z(t.server_public_key33_b64u,`scope.public_identity.server_public_key33_b64u`),threshold_public_key33_b64u:z(t.threshold_public_key33_b64u,`scope.public_identity.threshold_public_key33_b64u`),ethereum_address20_b64u:R(t.ethereum_address20_b64u,`scope.public_identity.ethereum_address20_b64u`,20),client_share_retry_counter:L(t.client_share_retry_counter,`scope.public_identity.client_share_retry_counter`),server_share_retry_counter:L(t.server_share_retry_counter,`scope.public_identity.server_share_retry_counter`)}}function Et(e){return Dt(e,`scope.signing_worker`)}function Dt(e,t){let n=d(e,t);return j(n,t,[`server_id`,`key_epoch`,`recipient_encryption_key`]),{server_id:M(n.server_id,`${t}.server_id`),key_epoch:M(n.key_epoch,`${t}.key_epoch`),recipient_encryption_key:fe(n.recipient_encryption_key,`${t}.recipient_encryption_key`)}}function Ot(e,t,n){let r=d(e,t);if(j(r,t,[`role`,`signer_id`,`key_epoch`]),M(r.role,`${t}.role`)!==n)throw Error(`${t}.role must be ${n}`);return{role:n,signer_id:M(r.signer_id,`${t}.signer_id`),key_epoch:M(r.key_epoch,`${t}.key_epoch`)}}function kt(e,t){let n=d(e,t);j(n,t,[`signer_set_id`,`policy`,`signer_a`,`signer_b`,`selected_server`]);let r=M(n.policy,`${t}.policy`);if(r!==`all_2`)throw Error(`${t}.policy must be all_2`);let i=Ot(n.signer_a,`${t}.signer_a`,`signer_a`),a=Ot(n.signer_b,`${t}.signer_b`,`signer_b`);if(i.signer_id===a.signer_id)throw Error(`${t} requires distinct signer ids`);return{signer_set_id:M(n.signer_set_id,`${t}.signer_set_id`),policy:r,signer_a:i,signer_b:a,selected_server:Dt(n.selected_server,`${t}.selected_server`)}}function At(e){let t=`registration.lifecycle`,n=d(e,t);if(j(n,t,[`lifecycle_id`,`work_kind`,`primitive_request_kind`,`root_share_epoch`,`account_id`,`session_id`,`signer_set_id`,`selected_server_id`]),n.work_kind!==`registration_prepare`)throw Error(`${t}.work_kind must be registration_prepare`);if(n.primitive_request_kind!==`registration`)throw Error(`${t}.primitive_request_kind must be registration`);return{lifecycle_id:M(n.lifecycle_id,`${t}.lifecycle_id`),work_kind:`registration_prepare`,primitive_request_kind:`registration`,root_share_epoch:N(n.root_share_epoch,`${t}.root_share_epoch`),account_id:M(n.account_id,`${t}.account_id`),session_id:M(n.session_id,`${t}.session_id`),signer_set_id:M(n.signer_set_id,`${t}.signer_set_id`),selected_server_id:M(n.selected_server_id,`${t}.selected_server_id`)}}function jt(e,t,n){let r=d(e,t);if(j(r,t,[`role`,`key_epoch`,`public_key`]),r.role!==n)throw Error(`${t}.role must be ${n}`);return{role:n,key_epoch:M(r.key_epoch,`${t}.key_epoch`),public_key:fe(r.public_key,`${t}.public_key`)}}function Mt(e,t=`registration.deriver_recipient_keys`){let n=d(e,t);return j(n,t,[`deriver_a`,`deriver_b`]),{deriver_a:jt(n.deriver_a,`${t}.deriver_a`,`signer_a`),deriver_b:jt(n.deriver_b,`${t}.deriver_b`,`signer_b`)}}function Nt(e){let t=`registration`,n=d(e,t);if(j(n,t,[`registration_purpose`,`context`,`lifecycle`,`signer_set`,`router_id`,`client_id`,`replay_nonce`,`expires_at_ms`,`deriver_recipient_keys`]),n.registration_purpose!==`wallet_registration`&&n.registration_purpose!==`wallet_add_signer`)throw Error(`${t}.registration_purpose is invalid`);let r=At(n.lifecycle),i=kt(n.signer_set,`${t}.signer_set`);if(r.signer_set_id!==i.signer_set_id)throw Error(`${t}.lifecycle signer set does not match signer_set`);if(r.selected_server_id!==i.selected_server.server_id)throw Error(`${t}.lifecycle selected server does not match signer_set`);let a=Mt(n.deriver_recipient_keys);if(a.deriver_a.key_epoch!==i.signer_a.key_epoch)throw Error(`${t}.deriver_a recipient key epoch does not match signer_set`);if(a.deriver_b.key_epoch!==i.signer_b.key_epoch)throw Error(`${t}.deriver_b recipient key epoch does not match signer_set`);return{registration_purpose:n.registration_purpose,context:H(n.context),lifecycle:r,signer_set:i,router_id:M(n.router_id,`${t}.router_id`),client_id:M(n.client_id,`${t}.client_id`),replay_nonce:M(n.replay_nonce,`${t}.replay_nonce`),expires_at_ms:F(n.expires_at_ms,`${t}.expires_at_ms`),deriver_recipient_keys:a}}function Pt(e,t){let n=d(e,t);if(j(n,t,[`kind`,`transcriptDigestB64u`,`payloadB64u`]),n.kind!==`recipient_proof_bundle`)throw Error(`${t}.kind must be recipient_proof_bundle`);return{kind:`recipient_proof_bundle`,transcriptDigestB64u:R(n.transcriptDigestB64u,`${t}.transcriptDigestB64u`,32),payloadB64u:Ct(n.payloadB64u,`${t}.payloadB64u`)}}function Ft(e){let t=`registrationForwarded`,n=d(e,t);if(j(n,t,[`result`,`response`]),n.result!==`forwarded`)throw Error(`${t}.result must be forwarded`);return{result:`forwarded`,response:Vt(n.response,`${t}.response`)}}function It(e){return Lt(e,Rt)}function Lt(e,t){let n=`explicitExportForwarded`,r=d(e,n);if(j(r,n,[`result`,`response`,`signing_worker_export`]),r.result!==`forwarded`)throw Error(`${n}.result must be forwarded`);return{result:`forwarded`,response:Vt(r.response,`${n}.response`),signing_worker_export:t(r.signing_worker_export)}}function Rt(e){return Bt(e,y)}function zt(e,t,n){let r=d(e,n);j(r,n,[`wallet_id`,`key_handle`,`ecdsa_threshold_key_id`,`signing_root_id`,`signing_root_version`,`activation_epoch`,`signing_worker_id`,`context_binding_b64u`,`threshold_public_key33_b64u`,`export_request_digest_b64u`,`export_authorization_digest_b64u`,`export_nonce`,`authorization_kind`,`authorization_id`,`material_activation`,`lifecycle_id`,`recipient_identity`,`recipient_public_key`,`expires_at_ms`]);let i=t(r.material_activation);if(i.material_owner!==r.wallet_id||i.signing_worker!==r.signing_worker_id)throw Error(`${n}.material_activation is not bound to wallet and worker`);return{wallet_id:M(r.wallet_id,`${n}.wallet_id`),key_handle:M(r.key_handle,`${n}.key_handle`),ecdsa_threshold_key_id:M(r.ecdsa_threshold_key_id,`${n}.ecdsa_threshold_key_id`),signing_root_id:M(r.signing_root_id,`${n}.signing_root_id`),signing_root_version:M(r.signing_root_version,`${n}.signing_root_version`),activation_epoch:N(r.activation_epoch,`${n}.activation_epoch`),signing_worker_id:M(r.signing_worker_id,`${n}.signing_worker_id`),context_binding_b64u:R(r.context_binding_b64u,`${n}.context_binding_b64u`,32),threshold_public_key33_b64u:z(r.threshold_public_key33_b64u,`${n}.threshold_public_key33_b64u`),export_request_digest_b64u:R(r.export_request_digest_b64u,`${n}.export_request_digest_b64u`,32),export_authorization_digest_b64u:R(r.export_authorization_digest_b64u,`${n}.export_authorization_digest_b64u`,32),export_nonce:M(r.export_nonce,`${n}.export_nonce`),authorization_kind:mt(r.authorization_kind,`${n}.authorization_kind`),authorization_id:M(r.authorization_id,`${n}.authorization_id`),material_activation:i,lifecycle_id:M(r.lifecycle_id,`${n}.lifecycle_id`),recipient_identity:M(r.recipient_identity,`${n}.recipient_identity`),recipient_public_key:wt(r.recipient_public_key,`${n}.recipient_public_key`),expires_at_ms:F(r.expires_at_ms,`${n}.expires_at_ms`)}}function Bt(e,t){let n=`signingWorkerExportShare`,r=d(e,n);if(j(r,n,[`version`,`algorithm`,`binding`,`ciphertext_and_tag`]),r.version!==`router-ab-ecdsa-derivation/signing-worker-export-share-envelope/v1`)throw Error(`${n}.version is invalid`);if(r.algorithm!==`hpke_x25519_hkdf_sha256_aes256gcm_v1`)throw Error(`${n}.algorithm is invalid`);if(!Array.isArray(r.ciphertext_and_tag)||r.ciphertext_and_tag.length<=48)throw Error(`${n}.ciphertext_and_tag is invalid`);return{version:`router-ab-ecdsa-derivation/signing-worker-export-share-envelope/v1`,algorithm:`hpke_x25519_hkdf_sha256_aes256gcm_v1`,binding:zt(r.binding,t,`${n}.binding`),ciphertext_and_tag:r.ciphertext_and_tag.map((e,t)=>St(e,`${n}.ciphertext_and_tag[${t}]`))}}function Vt(e,t){let n=d(e,t);j(n,t,[`bundles`]);let r=`${t}.bundles`,i=d(n.bundles,r);return j(i,r,[`signerA`,`signerB`]),{bundles:{signerA:Pt(i.signerA,`${r}.signerA`),signerB:Pt(i.signerB,`${r}.signerB`)}}}function Ht(e){let t=`registrationActivation.publicFacts`,n=d(e,t);if(j(n,t,[`registrationRequestDigestB64u`,`proofTranscriptDigestB64u`,`contextBinding32B64u`,`derivationClientSharePublicKey33B64u`,`clientShareRetryCounter`,`participantId`]),n.participantId!==1)throw Error(`${t}.participantId must be 1`);return{registrationRequestDigestB64u:R(n.registrationRequestDigestB64u,`${t}.registrationRequestDigestB64u`,32),proofTranscriptDigestB64u:R(n.proofTranscriptDigestB64u,`${t}.proofTranscriptDigestB64u`,32),contextBinding32B64u:R(n.contextBinding32B64u,`${t}.contextBinding32B64u`,32),derivationClientSharePublicKey33B64u:z(n.derivationClientSharePublicKey33B64u,`${t}.derivationClientSharePublicKey33B64u`),clientShareRetryCounter:L(n.clientShareRetryCounter,`${t}.clientShareRetryCounter`),participantId:1}}function Ut(e){let t=`registrationActivationReceipt`,n=d(e,t);j(n,t,[`activation_correlation_id`,`activation_request_digest`,`server_generation`,`ecdsa_activation`,`lifecycle_id`,`transcript_digest`]);let r=`${t}.ecdsa_activation`,i=d(n.ecdsa_activation,r);j(i,r,[`context`,`public_identity`,`signing_worker`,`material_activation`,`activation_epoch`,`activation_digest_b64u`,`activated_at_ms`]);let a=Dt(i.signing_worker,`${r}.signing_worker`),o=y(i.material_activation);if(o.signing_worker!==a.server_id)throw Error(`${r}.material_activation.signing_worker does not match signing_worker`);let s=R(i.activation_digest_b64u,`${r}.activation_digest_b64u`,32),c=V(n.transcript_digest,`${t}.transcript_digest`);return{activation_correlation_id:ue(n.activation_correlation_id),activation_request_digest:V(n.activation_request_digest,`${t}.activation_request_digest`),server_generation:ke(n.server_generation),ecdsa_activation:{context:H(i.context),public_identity:U(i.public_identity),signing_worker:a,material_activation:o,activation_epoch:N(i.activation_epoch,`${r}.activation_epoch`),activation_digest_b64u:s,activated_at_ms:F(i.activated_at_ms,`${r}.activated_at_ms`)},lifecycle_id:M(n.lifecycle_id,`${t}.lifecycle_id`),transcript_digest:c}}function Wt(e){return Ut(e)}function W(e,t){return e.server_id===t.server_id&&e.key_epoch===t.key_epoch&&e.recipient_encryption_key===t.recipient_encryption_key}function Gt(e,t){return e.registrationRequestDigestB64u===t.registrationRequestDigestB64u&&e.proofTranscriptDigestB64u===t.proofTranscriptDigestB64u&&e.contextBinding32B64u===t.contextBinding32B64u&&e.derivationClientSharePublicKey33B64u===t.derivationClientSharePublicKey33B64u&&e.clientShareRetryCounter===t.clientShareRetryCounter&&e.participantId===t.participantId}function Kt(e,t){return e.signer_set_id===t.signer_set_id&&e.policy===t.policy&&e.signer_a.role===t.signer_a.role&&e.signer_a.signer_id===t.signer_a.signer_id&&e.signer_a.key_epoch===t.signer_a.key_epoch&&e.signer_b.role===t.signer_b.role&&e.signer_b.signer_id===t.signer_b.signer_id&&e.signer_b.key_epoch===t.signer_b.key_epoch&&W(e.selected_server,t.selected_server)}function G(e){let t=`ecdsaPublicCapability`,n=d(e,t);if(j(n,t,[`kind`,`context`,`public_identity`,`material_activation`,`signer_set`,`deriver_recipient_keys`,`router_id`,`client_id`,`activation_epoch`,`registration_request_digest_b64u`,`proof_transcript_digest_b64u`]),n.kind!==`router_ab_ecdsa_derivation_public_capability_v1`)throw Error(`${t}.kind is invalid`);let r=kt(n.signer_set,`${t}.signer_set`),i=Mt(n.deriver_recipient_keys,`${t}.deriver_recipient_keys`);if(i.deriver_a.key_epoch!==r.signer_a.key_epoch||i.deriver_b.key_epoch!==r.signer_b.key_epoch)throw Error(`${t} Deriver recipient key epochs do not match signer_set`);return{kind:`router_ab_ecdsa_derivation_public_capability_v1`,context:H(n.context),public_identity:U(n.public_identity),material_activation:y(n.material_activation),signer_set:r,deriver_recipient_keys:i,router_id:M(n.router_id,`${t}.router_id`),client_id:M(n.client_id,`${t}.client_id`),activation_epoch:N(n.activation_epoch,`${t}.activation_epoch`),registration_request_digest_b64u:R(n.registration_request_digest_b64u,`${t}.registration_request_digest_b64u`,32),proof_transcript_digest_b64u:R(n.proof_transcript_digest_b64u,`${t}.proof_transcript_digest_b64u`,32)}}function qt(e){let t=`postRegistrationSessionActivation.session_policy`,n=d(e,t);return j(n,t,[`threshold_session_id`,`wallet_session_mint_id`,`ttl_ms`,`remaining_uses`,`runtime_policy_scope`]),{threshold_session_id:P(n.threshold_session_id,`${t}.threshold_session_id`),wallet_session_mint_id:Yt(n.wallet_session_mint_id,`${t}.wallet_session_mint_id`),ttl_ms:I(n.ttl_ms,`${t}.ttl_ms`),remaining_uses:I(n.remaining_uses,`${t}.remaining_uses`),runtime_policy_scope:te(n.runtime_policy_scope)}}function Jt(e){let t=`postRegistrationSessionActivationPolicy`,n=d(e,t);if(j(n,t,[`kind`,`key_handle`,`session_policy`]),n.kind!==`router_ab_ecdsa_post_registration_session_activation_policy_v1`)throw Error(`${t}.kind is invalid`);return{kind:`router_ab_ecdsa_post_registration_session_activation_policy_v1`,key_handle:M(n.key_handle,`${t}.key_handle`),session_policy:qt(n.session_policy)}}function Yt(e,t){let n=ae(e);if(!n.ok)throw Error(`${t} is invalid`);return n.value}function K(e,t){return e.context_binding_b64u===t.context_binding_b64u&&e.derivation_client_share_public_key33_b64u===t.derivation_client_share_public_key33_b64u&&e.server_public_key33_b64u===t.server_public_key33_b64u&&e.threshold_public_key33_b64u===t.threshold_public_key33_b64u&&e.ethereum_address20_b64u===t.ethereum_address20_b64u&&e.client_share_retry_counter===t.client_share_retry_counter&&e.server_share_retry_counter===t.server_share_retry_counter}function Xt(e,t){for(let n of e.capabilitySubjects)if(!(n.kind!==`sign`||n.keyFamily!==`ecdsa_secp256k1`))return S(t.material_activation,me(n.materialActivation));return!1}function Zt(e){let t=`postRegistrationSessionActivation`,n=d(e,t);if(j(n,t,[`kind`,`public_capability`,`session_policy`]),n.kind!==`router_ab_ecdsa_post_registration_session_activation_v1`)throw Error(`${t}.kind is invalid`);return{kind:`router_ab_ecdsa_post_registration_session_activation_v1`,public_capability:G(n.public_capability),session_policy:qt(n.session_policy)}}function Qt(e){let t=`postRegistrationSessionActivated`,n=d(e,t);if(j(n,t,[`kind`,`public_capability`,`session`,`normal_signing`]),n.kind!==`router_ab_ecdsa_post_registration_session_activated_v1`)throw Error(`${t}.kind is invalid`);let r=G(n.public_capability),i=d(n.session,`${t}.session`);j(i,`${t}.session`,[`authorization_session_id`,`authorization_id`,`threshold_session_id`,`wallet_session_id`,`quota_id`,`expires_at_ms`,`remaining_uses`,`wallet_session`,`operation_credential`]);let a=jn(n.normal_signing),o=yt(i.authorization_id,`${t}.session.authorization_id`),s=bt(i.wallet_session_id,`${t}.session.wallet_session_id`),c=F(i.expires_at_ms,`${t}.session.expires_at_ms`),l=re(i.wallet_session),u=ne(i.operation_credential);if(!K(r.public_identity,a.scope.public_identity)||r.context.application_binding_digest_b64u!==a.scope.context.application_binding_digest_b64u||a.scope.activation_epoch!==r.activation_epoch||!W(a.scope.signing_worker,r.signer_set.selected_server)||l.authorizationId!==o||l.walletId!==r.client_id||l.expiresAtMs!==c||!Xt(l,r)||u.walletSessionId!==s)throw Error(`${t} exact Wallet Session does not match the activated capability`);return{kind:`router_ab_ecdsa_post_registration_session_activated_v1`,public_capability:r,session:{authorization_session_id:vt(i.authorization_session_id,`${t}.session.authorization_session_id`),authorization_id:o,threshold_session_id:P(i.threshold_session_id,`${t}.session.threshold_session_id`),wallet_session_id:s,quota_id:xt(i.quota_id,`${t}.session.quota_id`),expires_at_ms:c,remaining_uses:I(i.remaining_uses,`${t}.session.remaining_uses`),wallet_session:l,operation_credential:u},normal_signing:a}}function $t(e){let t=`credentialFreeSessionActivated`,n=d(e,t);if(j(n,t,[`kind`,`public_capability`,`session`,`normal_signing`]),n.kind!==`router_ab_ecdsa_credential_free_session_activated_v1`)throw Error(`${t}.kind is invalid`);let r=G(n.public_capability),i=d(n.session,`${t}.session`);j(i,`${t}.session`,[`authorization_session_id`,`authorization_id`,`threshold_session_id`,`wallet_session_id`,`quota_id`,`expires_at_ms`,`remaining_uses`]);let a=jn(n.normal_signing);if(!K(r.public_identity,a.scope.public_identity)||r.context.application_binding_digest_b64u!==a.scope.context.application_binding_digest_b64u||a.scope.activation_epoch!==r.activation_epoch||!W(a.scope.signing_worker,r.signer_set.selected_server))throw Error(`${t} normal-signing state does not match public capability`);return{kind:`router_ab_ecdsa_credential_free_session_activated_v1`,public_capability:r,session:{authorization_session_id:vt(i.authorization_session_id,`${t}.session.authorization_session_id`),authorization_id:yt(i.authorization_id,`${t}.session.authorization_id`),threshold_session_id:P(i.threshold_session_id,`${t}.session.threshold_session_id`),wallet_session_id:bt(i.wallet_session_id,`${t}.session.wallet_session_id`),quota_id:xt(i.quota_id,`${t}.session.quota_id`),expires_at_ms:F(i.expires_at_ms,`${t}.session.expires_at_ms`),remaining_uses:I(i.remaining_uses,`${t}.session.remaining_uses`)},normal_signing:a}}function en(e,t=`signing_digest_b64u`){return{bytes:Array.from(h(R(e,t,32)))}}function q(e,t){return e.bytes.length===32&&t.bytes.length===32&&e.bytes.every((e,n)=>e===t.bytes[n])}function tn(e,t){return e.bytes.length===t.bytes.length&&e.bytes.every((e,n)=>e===t.bytes[n])}function nn(e,t){return e.deriver_a.role===t.deriver_a.role&&e.deriver_a.key_epoch===t.deriver_a.key_epoch&&e.deriver_a.public_key===t.deriver_a.public_key&&e.deriver_b.role===t.deriver_b.role&&e.deriver_b.key_epoch===t.deriver_b.key_epoch&&e.deriver_b.public_key===t.deriver_b.public_key}function rn(e,t){let n=e.ecdsa_activation,r=t.ecdsa_activation;return e.activation_correlation_id===t.activation_correlation_id&&tn(e.activation_request_digest,t.activation_request_digest)&&e.server_generation===t.server_generation&&e.lifecycle_id===t.lifecycle_id&&tn(e.transcript_digest,t.transcript_digest)&&n.context.application_binding_digest_b64u===r.context.application_binding_digest_b64u&&K(n.public_identity,r.public_identity)&&W(n.signing_worker,r.signing_worker)&&S(n.material_activation,r.material_activation)&&n.activation_epoch===r.activation_epoch&&n.activation_digest_b64u===r.activation_digest_b64u&&n.activated_at_ms===r.activated_at_ms}function an(e,t){let n=e.scope,r=t.scope;return e.kind===t.kind&&n.wallet_id===r.wallet_id&&n.ecdsa_threshold_key_id===r.ecdsa_threshold_key_id&&n.signing_root_id===r.signing_root_id&&n.signing_root_version===r.signing_root_version&&n.context.application_binding_digest_b64u===r.context.application_binding_digest_b64u&&K(n.public_identity,r.public_identity)&&S(n.material_activation,r.material_activation)&&W(n.signing_worker,r.signing_worker)&&n.activation_epoch===r.activation_epoch}function on(e,t){return e.kind===t.kind&&e.context.application_binding_digest_b64u===t.context.application_binding_digest_b64u&&K(e.public_identity,t.public_identity)&&S(e.material_activation,t.material_activation)&&Kt(e.signer_set,t.signer_set)&&nn(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 J(e){return new TextEncoder().encode(M(e,`canonical string`))}function sn(e){let t=e.reduce((e,t)=>e+t.length,0),n=new Uint8Array(t),r=0;for(let t of e)n.set(t,r),r+=t.length;return n}function Y(e,t){for(let n of t)e.push(n)}function cn(e,t){Y(e,h(t.lane_digest_b64u)),Y(e,h(t.intent_digest_b64u)),Y(e,h(t.display_digest_b64u))}function ln(e,t){if(!Number.isInteger(t)||t<0||t>65535)throw Error(`canonical u16 must be an integer between 0 and 65535`);e.push(t>>>8&255,t&255)}function un(e,t){if(!Number.isInteger(t)||t<0||t>4294967295)throw Error(`canonical u32 must be an integer between 0 and 4294967295`);e.push(t>>>24&255,t>>>16&255,t>>>8&255,t&255)}function dn(e,t){if(!Number.isSafeInteger(t)||t<0)throw Error(`canonical u64 must be a non-negative safe integer`);let n=BigInt(t);for(let t=56;t>=0;t-=8)e.push(Number(n>>BigInt(t)&255n))}function X(e,t){un(e,t.length),Y(e,t)}function fn(e,t){let n=J(t);ln(e,n.length),Y(e,n)}function pn(e,t){X(e,J(t.server_id)),X(e,J(t.key_epoch)),X(e,J(t.recipient_encryption_key))}async function mn(e){let t=globalThis.crypto?.subtle;if(!t)throw Error(`crypto.subtle is required for Router A/B ECDSA derivation request digest binding`);let n=new ArrayBuffer(e.byteLength);return new Uint8Array(n).set(e),new Uint8Array(await t.digest(`SHA-256`,n))}async function hn(e){let t=B(e,`clientRerandomizationContribution32`,32);return await mn(sn([J(`router-ab-ecdsa-derivation/client-rerandomization-commitment/v1`),t]))}function gn(e){let t=H(e),n=[];Y(n,J(`router-ab-ecdsa-derivation/context/v1`)),fn(n,`router-ab-ecdsa-derivation-v1`),fn(n,`secp256k1`),Y(n,h(t.application_binding_digest_b64u)),n.push(pt.length);for(let e of pt)ln(n,e);return new Uint8Array(n)}function _n(e){let t=[];return Y(t,J(`router-ab-ecdsa-derivation/role-local/context-binding/v1`)),t.push(1),t.push(1),ln(t,e.length),Y(t,e),new Uint8Array(t)}async function vn(e){return wn(_n(gn(e)))}function yn(e){let t=U(e),n=[];return X(n,J(`router-ab-ecdsa-derivation/public-identity/v1`)),X(n,J(t.context_binding_b64u)),X(n,J(t.derivation_client_share_public_key33_b64u)),X(n,J(t.server_public_key33_b64u)),X(n,J(t.threshold_public_key33_b64u)),X(n,J(t.ethereum_address20_b64u)),un(n,t.client_share_retry_counter),un(n,t.server_share_retry_counter),new Uint8Array(n)}function bn(e){let t=Z(e),n=[];return X(n,J(`router-ab-ecdsa-derivation/normal-signing-scope/v1`)),X(n,J(t.wallet_id)),X(n,J(t.ecdsa_threshold_key_id)),X(n,J(t.signing_root_id)),X(n,J(t.signing_root_version)),X(n,gn(t.context)),X(n,yn(t.public_identity)),n.push(...x(t.material_activation)),pn(n,t.signing_worker),X(n,J(t.activation_epoch)),new Uint8Array(n)}function xn(e){return bn(e)}function Sn(e,t){return e.length===t.length&&e.every((e,n)=>e===t[n])}function Cn(e,t){try{return Sn(xn(e),xn(t))}catch{return!1}}async function wn(e){return{bytes:Array.from(await mn(e))}}async function Tn(e){let t=Z(e),n=await vn(t.context);if(!q(en(t.public_identity.context_binding_b64u,`scope.public_identity.context_binding_b64u`),n))throw Error(`scope.public_identity.context_binding_b64u does not match scope.context`);return t}function En(e){let t=Q(e),n=[];return X(n,J(`router-ab-ecdsa-derivation/normal-signing-request/v1`)),X(n,bn(t.scope)),X(n,J(t.request_id)),X(n,J(t.operation_id)),cn(n,t.operation_digests),n.push(..._e(t.authorization)),n.push(...x(t.material_activation)),X(n,J(t.client_presignature_id)),dn(n,t.expires_at_ms),Y(n,h(t.signing_digest_b64u)),X(n,h(t.client_rerandomization_commitment32_b64u)),new Uint8Array(n)}async function Dn(e){let t=Q(e);return await Tn(t.scope),wn(En(t))}function On(e){let t=$(e),n=[];return X(n,J(`router-ab-ecdsa-derivation/normal-signing-finalize-request/v1`)),X(n,bn(t.scope)),X(n,J(t.request_id)),X(n,J(t.operation_id)),cn(n,t.operation_digests),n.push(..._e(t.authorization)),n.push(...x(t.material_activation)),dn(n,t.expires_at_ms),Y(n,h(t.signing_digest_b64u)),X(n,J(t.server_presignature_id)),X(n,h(t.client_signature_share32_b64u)),X(n,h(t.client_rerandomization_contribution32_b64u)),new Uint8Array(n)}async function kn(e){let t=$(e);return await Tn(t.scope),wn(On(t))}function Z(e){let t=d(e,`scope`);return j(t,`scope`,[`wallet_id`,`ecdsa_threshold_key_id`,`signing_root_id`,`signing_root_version`,`context`,`public_identity`,`material_activation`,`signing_worker`,`activation_epoch`]),{wallet_id:M(t.wallet_id,`scope.wallet_id`),ecdsa_threshold_key_id:M(t.ecdsa_threshold_key_id,`scope.ecdsa_threshold_key_id`),signing_root_id:M(t.signing_root_id,`scope.signing_root_id`),signing_root_version:M(t.signing_root_version,`scope.signing_root_version`),context:H(t.context),public_identity:U(t.public_identity),material_activation:y(t.material_activation),signing_worker:Et(t.signing_worker),activation_epoch:N(t.activation_epoch,`scope.activation_epoch`)}}function An(e){if(e==null)return null;let t=d(e,`routerAbEcdsaDerivationNormalSigning`);if(j(t,`routerAbEcdsaDerivationNormalSigning`,[`kind`,`scope`]),M(t.kind,`routerAbEcdsaDerivationNormalSigning.kind`)!==`router_ab_ecdsa_derivation_normal_signing_v1`)throw Error(`routerAbEcdsaDerivationNormalSigning.kind is not supported`);return{kind:`router_ab_ecdsa_derivation_normal_signing_v1`,scope:Z(t.scope)}}function jn(e){let t=An(e);if(!t)throw Error(`Router A/B ECDSA derivation normal-signing state is required`);return t}function Mn(e){let t=u([M(e.ecdsaThresholdKeyId,`ecdsaThresholdKeyId`),M(e.signingRootId,`signingRootId`),M(e.signingRootVersion,`signingRootVersion`),N(e.activationEpoch,`activationEpoch`)].join(`:`));if(!t.ok)throw Error(`activeStateId ${t.error.message}`);return t.value}function Nn(e){return Mn({ecdsaThresholdKeyId:e.scope.ecdsa_threshold_key_id,signingRootId:e.scope.signing_root_id,signingRootVersion:e.scope.signing_root_version,activationEpoch:e.scope.activation_epoch})}function Pn(e,t){let n=d(e,t);return j(n,t,[`lane_digest_b64u`,`intent_digest_b64u`,`display_digest_b64u`]),{lane_digest_b64u:R(n.lane_digest_b64u,`${t}.lane_digest_b64u`,32),intent_digest_b64u:R(n.intent_digest_b64u,`${t}.intent_digest_b64u`,32),display_digest_b64u:R(n.display_digest_b64u,`${t}.display_digest_b64u`,32)}}function Fn(e){return Q({scope:e.scope,request_id:e.requestId,operation_id:e.operationId,operation_digests:e.operationDigests,authorization:e.authorization,material_activation:e.materialActivation,client_presignature_id:e.clientPresignatureId,expires_at_ms:e.expiresAtMs,signing_digest_b64u:m(B(e.signingDigest32,`signingDigest32`,32)),client_rerandomization_commitment32_b64u:m(B(e.clientRerandomizationCommitment32,`clientRerandomizationCommitment32`,32))})}function Q(e){let t=d(e,`ecdsaSigningRequest`);j(t,`ecdsaSigningRequest`,[`scope`,`request_id`,`operation_id`,`operation_digests`,`authorization`,`material_activation`,`client_presignature_id`,`expires_at_ms`,`signing_digest_b64u`,`client_rerandomization_commitment32_b64u`]);let n={scope:Z(t.scope),request_id:M(t.request_id,`ecdsaSigningRequest.request_id`),operation_id:M(t.operation_id,`ecdsaSigningRequest.operation_id`),operation_digests:Pn(t.operation_digests,`ecdsaSigningRequest.operation_digests`),authorization:v(t.authorization),material_activation:y(t.material_activation),client_presignature_id:M(t.client_presignature_id,`ecdsaSigningRequest.client_presignature_id`),expires_at_ms:F(t.expires_at_ms,`ecdsaSigningRequest.expires_at_ms`),signing_digest_b64u:R(t.signing_digest_b64u,`ecdsaSigningRequest.signing_digest_b64u`,32),client_rerandomization_commitment32_b64u:R(t.client_rerandomization_commitment32_b64u,`ecdsaSigningRequest.client_rerandomization_commitment32_b64u`,32)};if(n.operation_digests.intent_digest_b64u!==n.signing_digest_b64u)throw Error(`ecdsaSigningRequest intent digest must equal the admitted signing digest`);return n}function In(e){let t=d(e,`webauthn_authentication`);j(t,`webauthn_authentication`,[`id`,`rawId`,`type`,`authenticatorAttachment`,`response`,`clientExtensionResults`]);let n=d(t.response,`webauthn_authentication.response`);if(j(n,`webauthn_authentication.response`,[`clientDataJSON`,`authenticatorData`,`signature`,`userHandle`]),t.clientExtensionResults!==null)throw Error(`webauthn_authentication.clientExtensionResults must be redacted`);let r=t.authenticatorAttachment===null?null:M(t.authenticatorAttachment,`webauthn_authentication.authenticatorAttachment`),i=n.userHandle===null?null:M(n.userHandle,`webauthn_authentication.response.userHandle`);return{id:M(t.id,`webauthn_authentication.id`),rawId:M(t.rawId,`webauthn_authentication.rawId`),type:M(t.type,`webauthn_authentication.type`),authenticatorAttachment:r,response:{clientDataJSON:M(n.clientDataJSON,`webauthn_authentication.response.clientDataJSON`),authenticatorData:M(n.authenticatorData,`webauthn_authentication.response.authenticatorData`),signature:M(n.signature,`webauthn_authentication.response.signature`),userHandle:i},clientExtensionResults:null}}function Ln(e){let t=d(e,`operationStepUpAuthorizationRequest`);if(j(t,`operationStepUpAuthorizationRequest`,[`kind`,`operation`,`proof`]),t.kind!==`router_ab_ecdsa_operation_step_up_v1`)throw Error(`operationStepUpAuthorizationRequest.kind must be router_ab_ecdsa_operation_step_up_v1`);let n=Rn(t.operation),r=d(t.proof,`operationStepUpAuthorizationRequest.proof`),i=et(r.authority),a;switch(r.kind){case`passkey`:if(j(r,`operationStepUpAuthorizationRequest.proof`,[`kind`,`authority`,`webauthn_authentication`]),!i||!O(i))throw Error(`operationStepUpAuthorizationRequest.proof requires an exact passkey authority`);a={kind:`passkey`,authority:i,webauthn_authentication:In(r.webauthn_authentication)};break;case`email_otp`:if(j(r,`operationStepUpAuthorizationRequest.proof`,[`kind`,`authority`,`challenge_id`,`otp_code`]),!i||!k(i))throw Error(`operationStepUpAuthorizationRequest.proof requires an exact Email OTP authority`);a={kind:`email_otp`,authority:i,challenge_id:M(r.challenge_id,`operationStepUpAuthorizationRequest.proof.challenge_id`),otp_code:M(r.otp_code,`operationStepUpAuthorizationRequest.proof.otp_code`)};break;default:throw Error(`operationStepUpAuthorizationRequest.proof.kind is invalid`)}return{kind:`router_ab_ecdsa_operation_step_up_v1`,operation:n,proof:a}}function Rn(e){let t=d(e,`ecdsaOperationStepUpPreparation`);if(j(t,`operationStepUpGrantRequest.operation`,[`wallet_id`,`operation_kind`,`operation_id`,`operation_digests`,`material_activation`,`normal_signing_scope`,`signing_worker_id`,`key_handle`,`relayer_key_id`,`participant_ids`,`expires_at_ms`]),!Array.isArray(t.participant_ids)||t.participant_ids.length!==2||!t.participant_ids.every(e=>Number.isSafeInteger(e)&&e>0))throw Error(`operationStepUpGrantRequest.operation.participant_ids must contain two positive integers`);return{wallet_id:M(t.wallet_id,`operationStepUpGrantRequest.operation.wallet_id`),operation_kind:zn(t.operation_kind),operation_id:M(t.operation_id,`operationStepUpGrantRequest.operation.operation_id`),operation_digests:Pn(t.operation_digests,`operationStepUpGrantRequest.operation.operation_digests`),material_activation:y(t.material_activation),normal_signing_scope:Z(t.normal_signing_scope),signing_worker_id:M(t.signing_worker_id,`operationStepUpGrantRequest.operation.signing_worker_id`),key_handle:M(t.key_handle,`operationStepUpGrantRequest.operation.key_handle`),relayer_key_id:M(t.relayer_key_id,`operationStepUpGrantRequest.operation.relayer_key_id`),participant_ids:[Number(t.participant_ids[0]),Number(t.participant_ids[1])],expires_at_ms:F(t.expires_at_ms,`operationStepUpGrantRequest.operation.expires_at_ms`)}}function zn(e){switch(e){case ce.signTransaction:case ce.exportKey:return e;default:throw Error(`operationStepUpGrantRequest.operation.operation_kind must be evm.sign_transaction or evm.export_key`)}}function Bn(e){return $({scope:e.scope,request_id:e.requestId,operation_id:e.operationId,operation_digests:e.operationDigests,authorization:e.authorization,material_activation:e.materialActivation,expires_at_ms:e.expiresAtMs,signing_digest_b64u:m(B(e.signingDigest32,`signingDigest32`,32)),server_presignature_id:e.serverPresignatureId,client_signature_share32_b64u:m(B(e.clientSignatureShare32,`clientSignatureShare32`,32)),client_rerandomization_contribution32_b64u:m(B(e.clientRerandomizationContribution32,`clientRerandomizationContribution32`,32))})}function $(e){let t=d(e,`ecdsaFinalizeCoreRequest`);return j(t,`ecdsaFinalizeCoreRequest`,[`scope`,`request_id`,`operation_id`,`operation_digests`,`authorization`,`material_activation`,`expires_at_ms`,`signing_digest_b64u`,`server_presignature_id`,`client_signature_share32_b64u`,`client_rerandomization_contribution32_b64u`]),Vn(t)}function Vn(e){let t={scope:Z(e.scope),request_id:M(e.request_id,`ecdsaFinalizeRequest.request_id`),operation_id:M(e.operation_id,`ecdsaFinalizeRequest.operation_id`),operation_digests:Pn(e.operation_digests,`ecdsaFinalizeRequest.operation_digests`),authorization:v(e.authorization),material_activation:y(e.material_activation),expires_at_ms:F(e.expires_at_ms,`ecdsaFinalizeRequest.expires_at_ms`),signing_digest_b64u:R(e.signing_digest_b64u,`ecdsaFinalizeRequest.signing_digest_b64u`,32),server_presignature_id:M(e.server_presignature_id,`ecdsaFinalizeRequest.server_presignature_id`),client_signature_share32_b64u:R(e.client_signature_share32_b64u,`ecdsaFinalizeRequest.client_signature_share32_b64u`,32),client_rerandomization_contribution32_b64u:R(e.client_rerandomization_contribution32_b64u,`ecdsaFinalizeRequest.client_rerandomization_contribution32_b64u`,32)};if(t.operation_digests.intent_digest_b64u!==t.signing_digest_b64u)throw Error(`ecdsaFinalizeRequest intent digest must equal the admitted signing digest`);return t}function Hn(e){let t=d(e,`ecdsaPrepareResponse`);return j(t,`ecdsaPrepareResponse`,[`scope`,`request_id`,`request_digest`,`signing_digest`,`server_presignature_id`,`server_big_r33_b64u`,`signing_worker_rerandomization_contribution32_b64u`,`signature_scheme`,`prepared_at_ms`,`expires_at_ms`]),{scope:Z(t.scope),request_id:M(t.request_id,`ecdsaPrepareResponse.request_id`),request_digest:V(t.request_digest,`ecdsaPrepareResponse.request_digest`),signing_digest:V(t.signing_digest,`ecdsaPrepareResponse.signing_digest`),server_presignature_id:M(t.server_presignature_id,`ecdsaPrepareResponse.server_presignature_id`),server_big_r33_b64u:R(t.server_big_r33_b64u,`ecdsaPrepareResponse.server_big_r33_b64u`,33),signing_worker_rerandomization_contribution32_b64u:R(t.signing_worker_rerandomization_contribution32_b64u,`ecdsaPrepareResponse.signing_worker_rerandomization_contribution32_b64u`,32),signature_scheme:Tt(t.signature_scheme,`ecdsaPrepareResponse.signature_scheme`),prepared_at_ms:F(t.prepared_at_ms,`ecdsaPrepareResponse.prepared_at_ms`),expires_at_ms:F(t.expires_at_ms,`ecdsaPrepareResponse.expires_at_ms`)}}async function Un(e,t){let n=Q(e),r=Hn(t);if(!Cn(r.scope,n.scope))throw Error(`ecdsaPrepareResponse.scope does not match request`);if(r.request_id!==n.request_id)throw Error(`ecdsaPrepareResponse.request_id does not match request`);if(r.server_presignature_id!==n.client_presignature_id)throw Error(`ecdsaPrepareResponse.server_presignature_id does not match request`);if(!q(r.signing_digest,en(n.signing_digest_b64u)))throw Error(`ecdsaPrepareResponse.signing_digest does not match request`);if(r.expires_at_ms!==n.expires_at_ms)throw Error(`ecdsaPrepareResponse.expires_at_ms does not match request`);if(!q(r.request_digest,await Dn(n)))throw Error(`ecdsaPrepareResponse.request_digest does not match request`);return r}function Wn(e){let t=d(e,`ecdsaSigningResponse`);return j(t,`ecdsaSigningResponse`,[`scope`,`request_id`,`request_digest`,`signing_digest`,`signature_scheme`,`signature65_b64u`]),{scope:Z(t.scope),request_id:M(t.request_id,`ecdsaSigningResponse.request_id`),request_digest:V(t.request_digest,`ecdsaSigningResponse.request_digest`),signing_digest:V(t.signing_digest,`ecdsaSigningResponse.signing_digest`),signature_scheme:Tt(t.signature_scheme,`ecdsaSigningResponse.signature_scheme`),signature65_b64u:R(t.signature65_b64u,`ecdsaSigningResponse.signature65_b64u`,65)}}async function Gn(e,t){let n=$(e),r=Wn(t);if(!Cn(r.scope,n.scope))throw Error(`ecdsaSigningResponse.scope does not match request`);if(r.request_id!==n.request_id)throw Error(`ecdsaSigningResponse.request_id does not match request`);if(!q(r.signing_digest,en(n.signing_digest_b64u)))throw Error(`ecdsaSigningResponse.signing_digest does not match request`);if(!q(r.request_digest,await kn(n)))throw Error(`ecdsaSigningResponse.request_digest does not match request`);return r}const Kn=new TextEncoder;function qn(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 Jn(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 Yn(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 Xn(e,t){return qn([Jn(e.length,`${t}.length`),e])}function Zn(e,t){if(typeof e!=`string`)throw Error(`${t} must be a string`);return Xn(Kn.encode(e),t)}function Qn(e,t){try{let t=h(de(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 $n(e,t){try{let t=h(e);if(t.length===0||m(t)!==e)throw Error(`must be canonical base64url`);return t}catch(e){throw Error(`${t} ${e instanceof Error?e.message:`is invalid`}`)}}export{Ze as $,Ut as A,x as At,hn as B,It as C,De as Ct,Jt as D,we as Dt,Rn as E,Ee as Et,jn as F,S as Ft,on as G,Kt as H,Nn as I,fe as It,Gt as J,K,kn as L,Nt as M,v as Mt,Ft as N,he as Nt,Zt as O,Se as Ot,Ht as P,me as Pt,Be as Q,Dn as R,G as S,Oe as St,gt as T,Te as Tt,Cn as U,nn as V,an as W,Je as X,W as Y,Ke as Z,$t as _,Le as _t,Zn as a,nt as at,Z as b,Ne as bt,ct as c,He as ct,ut as d,ze as dt,Ye as et,dt as f,Pe as ft,_t as g,Me as gt,Fn as h,Re as ht,$n as i,D as it,Wt as j,y as jt,Qt as k,xe as kt,ft as l,Ve as lt,Bn as m,je as mt,Xn as n,k as nt,Jn as o,rt as ot,st as p,Ae as pt,rn as q,Qn as r,O as rt,Yn as s,et as st,qn as t,Xe as tt,lt as u,ot as ut,Un as v,Fe as vt,Ln as w,Ce as wt,An as x,ke as xt,Gn as y,Ie as yt,xn as z};
@@ -1 +1 @@
1
- import{n as e}from"./normalization-B3i1-rPQ.js";import{_ as t,g as n,h as r,m as i}from"./signingFlow-BcetvUeS.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-B3i1-rPQ.js";import{_ as t,g as n,h as r,m as i}from"./signingFlow-DTP4D19E.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{g as e,i as t}from"./domainIds-t1lp25yU.js";import{i as n,r}from"./base64-BmKR3UqU.js";import{X as i,Y as a}from"./activeWalletSession-BJ4B-nJo.js";import{t as o}from"./canonicalPrimitives-Jd3i_Ngz.js";import{a as s,c,o as l,s as ee}from"./ecdsaChainTarget-Bm5X4k-V.js";import{A as te,Dt as ne,Ft as u,H as d,K as f,Nt as p,Pt as m,S as h,V as g,Y as _,ft as re,vt as ie}from"./digestEncoding-CqNXPZY9.js";import{T as v,i as y,n as ae,r as oe,t as se}from"./emailOtpEcdsaDerivationIdentity-HFQXc1Yw.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 i;try{i=r(t)}catch{throw Error(`ECDSA client verifying public key must be valid base64url`)}if(i.length!==33||n(i)!==t)throw Error(`ECDSA client verifying public key must be canonical base64url for 33 bytes`);if(i[0]!==2&&i[0]!==3)throw Error(`ECDSA client verifying public key must be compressed secp256k1`);return t}function x(e){return ne(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 i=O(e,t);if(r(i).length!==n)throw Error(`[platform][ecdsa-role-local] ${t} must decode to ${n} bytes`);return i}function A(e,t){let n=O(e,t),i=r(n);if(i.length!==33)throw Error(`[platform][ecdsa-role-local] ${t} must decode to 33 bytes`);if(i[0]!==2&&i[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`),i=O(Reflect.get(e,`encoding`),`stateBlob.encoding`),a=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`||i!==`base64url`||a!==`signer_core`)throw Error(`[platform][ecdsa-role-local] stateBlob envelope is invalid`);try{r(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:v(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:y(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:v(e.rpId)}}function B(e){return{kind:`email_otp`,authSubjectId:y(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:c(Reflect.get(e,`walletId`)),chainTarget:ge(Reflect.get(e,`chainTarget`)),keyHandle:O(Reflect.get(e,`keyHandle`),`keyHandle`),ecdsaThresholdKeyId:oe(Reflect.get(e,`ecdsaThresholdKeyId`)),signingRootId:se(Reflect.get(e,`signingRootId`)),signingRootVersion:ae(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:h(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(l(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)&&ee(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=te(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,n=e.activationBinding,r=i(e.runtimePolicyScope);if(t.walletId!==n.signer.walletId||t.keyHandle!==n.roleLocalBinding.keyHandle||t.ecdsaThresholdKeyId!==n.roleLocalBinding.ecdsaThresholdKeyId||t.signingRootId!==n.signer.signingRootId||t.signingRootVersion!==n.signer.signingRootVersion||a(r)!==n.signer.signingRootId||r.signingRootVersion!==n.signer.signingRootVersion||t.contextBinding32B64u!==n.bindingDigest||!Z(t.participantIds,n.roleLocalBinding.participantIds)||!n.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:n,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:r})}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 r=n(Uint8Array.from(e.activation_request_digest.bytes));if(e.activation_correlation_id!==t.correlationId||r!==t.activationRequestDigest||e.server_generation!==t.serverGeneration)throw Error(`ECDSA activation receipt does not match the server activation commit`)}function ht(e){return ie(e.lifecycle_id)}function gt(e){return re(e.ecdsa_activation.activation_digest_b64u)}function X(e){return p(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&&f(e.public_identity,t.public_identity)&&u(e.material_activation,t.material_activation)&&d(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=m({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||!f(t.public_identity,e.receipt.ecdsa_activation.public_identity)||!_(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||!u(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{g as e,i as t}from"./domainIds-t1lp25yU.js";import{i as n,r}from"./base64-BmKR3UqU.js";import{X as i,Y as a}from"./activeWalletSession-HAOgRKzn.js";import{t as o}from"./canonicalPrimitives-DKeS3M40.js";import{a as s,c,o as l,s as ee}from"./ecdsaChainTarget-BoRVQtjQ.js";import{A as te,Dt as ne,Ft as u,H as d,K as f,Nt as p,Pt as m,S as h,V as g,Y as _,ft as re,vt as ie}from"./digestEncoding-Rx8Vjy4J.js";import{T as v,i as y,n as ae,r as oe,t as se}from"./emailOtpEcdsaDerivationIdentity-DJmMyqL-.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 i;try{i=r(t)}catch{throw Error(`ECDSA client verifying public key must be valid base64url`)}if(i.length!==33||n(i)!==t)throw Error(`ECDSA client verifying public key must be canonical base64url for 33 bytes`);if(i[0]!==2&&i[0]!==3)throw Error(`ECDSA client verifying public key must be compressed secp256k1`);return t}function x(e){return ne(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 i=O(e,t);if(r(i).length!==n)throw Error(`[platform][ecdsa-role-local] ${t} must decode to ${n} bytes`);return i}function A(e,t){let n=O(e,t),i=r(n);if(i.length!==33)throw Error(`[platform][ecdsa-role-local] ${t} must decode to 33 bytes`);if(i[0]!==2&&i[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`),i=O(Reflect.get(e,`encoding`),`stateBlob.encoding`),a=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`||i!==`base64url`||a!==`signer_core`)throw Error(`[platform][ecdsa-role-local] stateBlob envelope is invalid`);try{r(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:v(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:y(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:v(e.rpId)}}function B(e){return{kind:`email_otp`,authSubjectId:y(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:c(Reflect.get(e,`walletId`)),chainTarget:ge(Reflect.get(e,`chainTarget`)),keyHandle:O(Reflect.get(e,`keyHandle`),`keyHandle`),ecdsaThresholdKeyId:oe(Reflect.get(e,`ecdsaThresholdKeyId`)),signingRootId:se(Reflect.get(e,`signingRootId`)),signingRootVersion:ae(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:h(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(l(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)&&ee(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=te(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,n=e.activationBinding,r=i(e.runtimePolicyScope);if(t.walletId!==n.signer.walletId||t.keyHandle!==n.roleLocalBinding.keyHandle||t.ecdsaThresholdKeyId!==n.roleLocalBinding.ecdsaThresholdKeyId||t.signingRootId!==n.signer.signingRootId||t.signingRootVersion!==n.signer.signingRootVersion||a(r)!==n.signer.signingRootId||r.signingRootVersion!==n.signer.signingRootVersion||t.contextBinding32B64u!==n.bindingDigest||!Z(t.participantIds,n.roleLocalBinding.participantIds)||!n.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:n,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:r})}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 r=n(Uint8Array.from(e.activation_request_digest.bytes));if(e.activation_correlation_id!==t.correlationId||r!==t.activationRequestDigest||e.server_generation!==t.serverGeneration)throw Error(`ECDSA activation receipt does not match the server activation commit`)}function ht(e){return ie(e.lifecycle_id)}function gt(e){return re(e.ecdsa_activation.activation_digest_b64u)}function X(e){return p(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&&f(e.public_identity,t.public_identity)&&u(e.material_activation,t.material_activation)&&d(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=m({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||!f(t.public_identity,e.receipt.ecdsa_activation.public_identity)||!_(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||!u(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 +1 @@
1
- import{g as e,i as t}from"./domainIds-t1lp25yU.js";import{ct as n}from"./digestEncoding-CqNXPZY9.js";import{F as r,P as i}from"./ecdsaCapabilityManifest-DAJEVjlP.js";import{t as a}from"./executeWorkerOperation-C9FOCCR7.js";const o={WORKER_READY:`WORKER_READY`},s={PrepareThresholdEcdsaDerivationRoleLocalClientBootstrap:7e4,FinalizeThresholdEcdsaDerivationRoleLocalClientBootstrap:70001,CreateRouterAbEcdsaRegistrationCeremony:70005,VerifyRouterAbEcdsaRegistrationClientProofs:70006,CloseRouterAbEcdsaRegistrationCeremony:70007,FinalizeRouterAbEcdsaRegistrationActivation:70008,CreateRouterAbEcdsaPostRegistrationCeremony:70009,FinalizeRouterAbEcdsaExplicitExport:70010,CloseRouterAbEcdsaPostRegistrationCeremony:70011,StoreThresholdEcdsaRoleLocalSigningMaterial:70004,RehydrateEcdsaRoleLocalSigningMaterial:70015,PersistInitialCanonicalEcdsaActivation:70016,ReconcileCanonicalEcdsaActivation:70017,PrewarmEcdsaRegistrationCrypto:70018,VerifyRouterAbEcdsaPostRegistrationProofs:70019,SignWalletRecoveryEcdsaMaterialPossessionProof:70020,PrepareLinkedDeviceEcdsaSourceContribution:70022,StoreLinkedDeviceEcdsaHolderMaterial:70023,DisposeLinkedDeviceEcdsaHolderMaterials:70024,CreateEcdsaHolderOrdinaryExportRequest:70027,FinalizeEcdsaHolderOrdinaryExport:70028},c={PrepareThresholdEcdsaDerivationRoleLocalClientBootstrapSuccess:70100,FinalizeThresholdEcdsaDerivationRoleLocalClientBootstrapSuccess:70101,CreateRouterAbEcdsaRegistrationCeremonySuccess:70105,VerifyRouterAbEcdsaRegistrationClientProofsSuccess:70106,CloseRouterAbEcdsaRegistrationCeremonySuccess:70107,FinalizeRouterAbEcdsaRegistrationActivationSuccess:70108,CreateRouterAbEcdsaPostRegistrationCeremonySuccess:70109,FinalizeRouterAbEcdsaExplicitExportSuccess:70110,CloseRouterAbEcdsaPostRegistrationCeremonySuccess:70111,StoreThresholdEcdsaRoleLocalSigningMaterialSuccess:70104,RehydrateEcdsaRoleLocalSigningMaterialSuccess:70115,PersistInitialCanonicalEcdsaActivationSuccess:70116,ReconcileCanonicalEcdsaActivationSuccess:70117,PrewarmEcdsaRegistrationCryptoSuccess:70118,VerifyRouterAbEcdsaPostRegistrationProofsSuccess:70119,SignWalletRecoveryEcdsaMaterialPossessionProofSuccess:70120,PrepareLinkedDeviceEcdsaSourceContributionSuccess:70122,StoreLinkedDeviceEcdsaHolderMaterialSuccess:70123,DisposeLinkedDeviceEcdsaHolderMaterialsSuccess:70124,CreateEcdsaHolderOrdinaryExportRequestSuccess:70127,FinalizeEcdsaHolderOrdinaryExportSuccess:70128},l={SessionInit:71e3,SessionStep:71001,SessionAbort:71002,Admit:71003,Destroy:71004,Reserve:71005,Commit:71006,ListAvailable:71007,ClearWallet:71008},u={SessionInitSuccess:71100,SessionStepSuccess:71101,SessionAbortSuccess:71102,AdmitSuccess:71103,DestroySuccess:71104,ReserveSuccess:71105,CommitSuccess:71106,ListAvailableSuccess:71107,ClearWalletSuccess:71108},d={ComputeSignatureShare:72e3},f={ComputeSignatureShareSuccess:72100};var p=class extends Error{code;coreCode;workerKind;constructor(e){super(e.message),this.name=`SignerWorkerOperationError`,this.code=(e.code||`SIGNER_INTERNAL`).trim(),this.coreCode=e.coreCode?.trim()||void 0,this.workerKind=e.workerKind}};function m(e){if(!e||typeof e!=`object`)return;let t=e.code;if(typeof t!=`string`)return;let n=t.trim();return n.length?n:void 0}function h(e){if(!e||typeof e!=`object`)return;let t=e.coreCode;if(typeof t!=`string`)return;let n=t.trim();return n.length?n:void 0}const g=2e4;function _(e){return{presignatureId:e.presignatureId,materialHandle:e.materialHandle,bigR33:new Uint8Array(e.bigR33),createdAtMs:e.createdAtMs,expiresAtMs:e.expiresAtMs}}async function v(e){return await a({ctx:e.workerCtx,kind:`ecdsaDerivationClient`,request:e.request})}async function y(e){return await a({ctx:e.workerCtx,kind:`ecdsaDerivationClient`,request:e.request})}async function b(e){return await a({ctx:e.workerCtx,kind:`ecdsaPresignClient`,request:e.request})}async function x(e){return await a({ctx:e.workerCtx,kind:`ecdsaOnlineClient`,request:e.request})}async function S(e){let t=await v({workerCtx:e.workerCtx,request:{type:s.PrepareThresholdEcdsaDerivationRoleLocalClientBootstrap,timeoutMs:g,payload:e.command}});if(t.type!==c.PrepareThresholdEcdsaDerivationRoleLocalClientBootstrapSuccess)throw Error(`PrepareThresholdEcdsaDerivationRoleLocalClientBootstrap failed`);return t.payload}async function C(e){let t=await v({workerCtx:e.workerCtx,request:{type:s.FinalizeThresholdEcdsaDerivationRoleLocalClientBootstrap,timeoutMs:g,payload:e.command}});if(t.type!==c.FinalizeThresholdEcdsaDerivationRoleLocalClientBootstrapSuccess)throw Error(`FinalizeThresholdEcdsaDerivationRoleLocalClientBootstrap failed`);return t.payload}async function w(e){let t=await v({workerCtx:e.workerCtx,request:{type:s.CreateRouterAbEcdsaRegistrationCeremony,timeoutMs:g,payload:e.command}});if(t.type!==c.CreateRouterAbEcdsaRegistrationCeremonySuccess)throw Error(`Router A/B ECDSA registration ceremony creation failed`);return t.payload}async function T(e){let t=await v({workerCtx:e.workerCtx,request:{type:s.VerifyRouterAbEcdsaRegistrationClientProofs,timeoutMs:g,payload:e.command}});if(t.type!==c.VerifyRouterAbEcdsaRegistrationClientProofsSuccess)throw Error(`Router A/B ECDSA registration client proof verification failed`);return t.payload}async function E(e){let t=await v({workerCtx:e.workerCtx,request:{type:s.FinalizeRouterAbEcdsaRegistrationActivation,timeoutMs:g,payload:e.command}});if(t.type!==c.FinalizeRouterAbEcdsaRegistrationActivationSuccess)throw Error(`Router A/B ECDSA registration activation finalization failed`);return t.payload}async function D(e){let t=await v({workerCtx:e.workerCtx,request:{type:s.PersistInitialCanonicalEcdsaActivation,timeoutMs:g,payload:e.command}});if(t.type!==c.PersistInitialCanonicalEcdsaActivationSuccess)throw Error(`Initial canonical ECDSA activation persistence failed`);return t.payload}async function O(e){let t=await v({workerCtx:e.workerCtx,request:{type:s.ReconcileCanonicalEcdsaActivation,timeoutMs:g,payload:e.command}});if(t.type!==c.ReconcileCanonicalEcdsaActivationSuccess)throw Error(`Canonical ECDSA activation reconciliation failed`);let n=t.payload;return n.kind===`canonical_ecdsa_activation_committed_finalization_required_v1`?{kind:`canonical_ecdsa_activation_reconciliation_pending_v1`,journalId:n.journalId,reason:`wallet_custody_rejoin_required`,activationCommand:null}:n}async function k(e){let t=await v({workerCtx:e.workerCtx,request:{type:s.CloseRouterAbEcdsaRegistrationCeremony,timeoutMs:g,payload:e.command}});if(t.type!==c.CloseRouterAbEcdsaRegistrationCeremonySuccess)throw Error(`Router A/B ECDSA registration ceremony close failed`);return t.payload}async function A(e){let t=await v({workerCtx:e.workerCtx,request:{type:s.CreateRouterAbEcdsaPostRegistrationCeremony,timeoutMs:g,payload:e.command}});if(t.type!==c.CreateRouterAbEcdsaPostRegistrationCeremonySuccess)throw Error(`Router A/B ECDSA post-registration ceremony creation failed`);return t.payload}async function j(e){let t=await v({workerCtx:e.workerCtx,request:{type:s.FinalizeRouterAbEcdsaExplicitExport,timeoutMs:g,payload:e.command}});if(t.type!==c.FinalizeRouterAbEcdsaExplicitExportSuccess)throw Error(`Router A/B ECDSA post-registration client proof finalization failed`);return t.payload}async function M(e){let t=await v({workerCtx:e.workerCtx,request:{type:s.CloseRouterAbEcdsaPostRegistrationCeremony,timeoutMs:g,payload:e.command}});if(t.type!==c.CloseRouterAbEcdsaPostRegistrationCeremonySuccess)throw Error(`Router A/B ECDSA post-registration ceremony close failed`);return t.payload}async function N(e){let t=await v({workerCtx:e.workerCtx,request:{type:s.StoreThresholdEcdsaRoleLocalSigningMaterial,timeoutMs:g,payload:{materialHandle:e.materialHandle,bindingDigest:e.bindingDigest,stateBlob:e.stateBlob}}});if(t.type!==c.StoreThresholdEcdsaRoleLocalSigningMaterialSuccess)throw Error(`StoreThresholdEcdsaRoleLocalSigningMaterial failed`);return t.payload}function P(e,t){return t.durableMaterialRef===e.durableMaterialRef&&t.bindingDigest===e.bindingDigest}async function F(a){let o=n(a.authority);if(!o)throw Error(`ECDSA role-local signing material authority is invalid`);let l=e(a.materialActivation);if(!l.ok)throw Error(l.error.message);let u=l.value,d=await v({workerCtx:a.workerCtx,request:{type:s.RehydrateEcdsaRoleLocalSigningMaterial,timeoutMs:g,payload:{kind:`open_ecdsa_role_local_signing_material_v1`,authority:o,materialActivation:u}}});if(d.type!==c.RehydrateEcdsaRoleLocalSigningMaterialSuccess)throw Error(`OpenEcdsaRoleLocalSigningMaterial failed`);let f=d.payload;switch(f.kind){case`ecdsa_role_local_signing_material_unavailable_v1`:return{ok:!1,reason:f.reason};case`ecdsa_role_local_signing_material_opened_v1`:{let e=i(f.materialRef);if(!t(u,e.materialActivation))throw Error(`ECDSA role-local signing material open changed its activation identity`);let n=r(f.liveHandle);if(!P(e,n))throw Error(`ECDSA role-local signing material hydration changed its identity`);return{ok:!0,liveHandle:n,materialRef:e}}default:{let e=f;throw Error(`ECDSA role-local signing material hydration response kind is invalid: ${String(e)}`)}}}async function I(e){let t=await v({workerCtx:e.workerCtx,request:{type:s.SignWalletRecoveryEcdsaMaterialPossessionProof,timeoutMs:g,payload:{kind:`sign_wallet_recovery_ecdsa_material_possession_proof_v1`,challenge:e.challenge,stateBlob:e.stateBlob}}});if(t.type!==c.SignWalletRecoveryEcdsaMaterialPossessionProofSuccess)throw Error(`Wallet recovery ECDSA possession proof signing failed`);return t.payload}async function ee(e){let t=await v({workerCtx:e.workerCtx,request:{type:s.PrepareLinkedDeviceEcdsaSourceContribution,timeoutMs:g,payload:{kind:`prepare_linked_device_ecdsa_source_contribution_v1`,preparation:e.preparation,...e.linkedHolderHandleId===void 0?{}:{linkedHolderHandleId:e.linkedHolderHandleId}}}});if(t.type!==c.PrepareLinkedDeviceEcdsaSourceContributionSuccess)throw Error(`Linked-device ECDSA source contribution preparation failed`);return t.payload}function L(e){let t=Array.isArray(e.outgoingMessages)?e.outgoingMessages.map(e=>new Uint8Array(e)):[];switch(e.event){case`final_batch_ready`:return{stage:`presign`,event:e.event,outgoingMessages:t,candidateBigR33:new Uint8Array(e.candidateBigR33)};case`presign_done`:return{stage:`done`,event:e.event,outgoingMessages:t,presignatureHandle:e.presignatureHandle,presignatureBigR33:new Uint8Array(e.presignatureBigR33)};case`none`:case`triples_done`:return{stage:e.stage,event:e.event,outgoingMessages:t}}}async function R(e){let t=e.groupPublicKey33.slice(),n=await b({workerCtx:e.workerCtx,request:{type:l.SessionInit,timeoutMs:g,payload:{authority:{kind:`role_local_derivation_handle`,materialHandle:e.materialHandle,material:e.material},sessionId:e.sessionId,groupPublicKey33:t.buffer,ceremonyExpiresAtMs:e.ceremonyExpiresAtMs,materialExpiresAtMs:e.materialExpiresAtMs,poolIdentity:e.poolIdentity},transfer:[t.buffer]}});if(n.type!==u.SessionInitSuccess)throw Error(`ThresholdEcdsaRoleLocalPresignSessionInitFromMaterialHandle failed`);if(n.payload.authority.kind!==`role_local_derivation_handle`)throw Error(`ECDSA role-local presign returned a different authority`);return L(n.payload.progress)}async function z(e){let t=e.groupPublicKey33.slice(),n=await b({workerCtx:e.workerCtx,request:{type:l.SessionInit,timeoutMs:g,payload:{authority:{kind:`linked_holder_signing_material`,holderHandleId:e.holderHandleId},sessionId:e.sessionId,groupPublicKey33:t.buffer,ceremonyExpiresAtMs:e.ceremonyExpiresAtMs,materialExpiresAtMs:e.materialExpiresAtMs,poolIdentity:e.poolIdentity},transfer:[t.buffer]}});if(n.type!==u.SessionInitSuccess)throw Error(`Linked holder ECDSA presign initialization failed`);if(n.payload.authority.kind!==`linked_holder_signing_material`)throw Error(`Linked holder ECDSA presign returned a different authority`);return L(n.payload.progress)}async function B(e){if(e.holderHandleId.trim().length===0)throw Error(`ECDSA holder handle must be non-empty`);let t=await y({workerCtx:e.workerCtx,request:{type:s.CreateEcdsaHolderOrdinaryExportRequest,timeoutMs:g,payload:{kind:`create_ecdsa_holder_ordinary_export_request_v1`,holderHandleId:e.holderHandleId,request:e.request},transfer:[]}});if(t.type!==c.CreateEcdsaHolderOrdinaryExportRequestSuccess)throw Error(`ECDSA holder ordinary-export request preparation failed`);if(t.payload.holderHandleId!==e.holderHandleId)throw Error(`ECDSA holder ordinary-export request returned a different holder`);if(t.payload.requestDigestB64u.trim().length===0)throw Error(`ECDSA holder ordinary-export request digest is empty`);return t.payload}async function V(e){if(e.holderHandleId.trim().length===0)throw Error(`ECDSA holder handle must be non-empty`);if(e.requestDigestB64u!==e.expectedBinding.export_request_digest_b64u)throw Error(`ECDSA holder ordinary-export request digest differs from its binding`);let t=await y({workerCtx:e.workerCtx,request:{type:s.FinalizeEcdsaHolderOrdinaryExport,timeoutMs:g,payload:{kind:`finalize_ecdsa_holder_ordinary_export_v1`,holderHandleId:e.holderHandleId,requestDigestB64u:e.requestDigestB64u,expectedBinding:e.expectedBinding,forwardedResponse:e.forwardedResponse},transfer:[]}});if(t.type!==c.FinalizeEcdsaHolderOrdinaryExportSuccess)throw Error(`ECDSA holder ordinary-export finalization failed`);if(t.payload.holderHandleId!==e.holderHandleId)throw Error(`ECDSA holder ordinary-export finalization returned a different holder`);return t.payload}async function H(e){if(e.holderHandleId.trim().length===0)throw Error(`Linked holder ECDSA handle must be non-empty`);if(e.ownedSigningShare32.byteLength!==32)throw Error(`Linked holder ECDSA signing share must contain 32 bytes`);if(e.activationReceiptJson.trim().length===0)throw Error(`Linked holder ECDSA activation receipt must be non-empty`);let t=e.ownedSigningShare32.slice();try{let n=await a({kind:`ecdsaDerivationClient`,ctx:e.workerCtx,request:{type:s.StoreLinkedDeviceEcdsaHolderMaterial,timeoutMs:g,payload:{holderHandleId:e.holderHandleId,ownedSigningShare32:t.buffer,activationReceiptJson:e.activationReceiptJson},transfer:[t.buffer]}});if(n.type!==c.StoreLinkedDeviceEcdsaHolderMaterialSuccess)throw Error(`Linked holder ECDSA material import failed`);if(n.payload.holderHandleId!==e.holderHandleId)throw Error(`Linked holder ECDSA material import returned a different handle`);return n.payload}finally{t.byteLength>0&&t.fill(0)}}async function U(e){let t=await a({kind:`ecdsaDerivationClient`,ctx:e.workerCtx,request:{type:s.DisposeLinkedDeviceEcdsaHolderMaterials,timeoutMs:g,payload:e.disposal,transfer:[]}});if(t.type!==c.DisposeLinkedDeviceEcdsaHolderMaterialsSuccess)throw Error(`Linked holder ECDSA material disposal failed`);if(t.payload.kind!==e.disposal.kind)throw Error(`Linked holder ECDSA material disposal returned a different scope`);if(e.disposal.kind===`one`&&t.payload.kind===`one`&&t.payload.holderHandleId!==e.disposal.holderHandleId)throw Error(`Linked holder ECDSA material disposal returned a different handle`)}async function W(e){if(e.holderHandleId.trim().length===0)throw Error(`Linked holder ECDSA handle must be non-empty`);await U({disposal:{kind:`one`,holderHandleId:e.holderHandleId},workerCtx:e.workerCtx})}async function G(e){let t=!1,n;for(let r of e.holderHandleIds)try{await W({holderHandleId:r,workerCtx:e.workerCtx})}catch(e){t||(t=!0,n=e)}if(t)throw n}async function K(e){await U({disposal:{kind:`all`},workerCtx:e.workerCtx})}async function q(e){let t=e.incomingMessages.map(e=>e.slice()),n=t.map(e=>e.buffer),r=await b({workerCtx:e.workerCtx,request:{type:l.SessionStep,timeoutMs:g,payload:{sessionId:e.sessionId,stage:e.stage,incomingMessages:t.map(e=>e.buffer)},transfer:n}});if(r.type!==u.SessionStepSuccess)throw Error(`ThresholdEcdsaRoleLocalPresignSessionStep failed`);return L(r.payload)}async function J(e){let t=await b({workerCtx:e.workerCtx,request:{type:l.SessionAbort,timeoutMs:g,payload:{sessionId:e.sessionId}}});if(t.type!==u.SessionAbortSuccess)throw Error(`ThresholdEcdsaRoleLocalPresignSessionAbort failed`);let n=t.payload;if(n.kind!==`threshold_ecdsa_presign_session_aborted`||n.sessionId!==e.sessionId)throw Error(`ThresholdEcdsaRoleLocalPresignSessionAbort returned invalid result`)}async function Y(e){let t=await b({workerCtx:e.workerCtx,request:{type:l.Admit,timeoutMs:g,payload:{materialHandle:e.materialHandle,expectedPresignatureId:e.expectedPresignatureId,poolIdentity:e.poolIdentity,admissionMode:e.admissionMode}}});if(t.type!==u.AdmitSuccess)throw Error(`ThresholdEcdsaRoleLocalAdmitPresignature failed`);if(t.payload.kind!==`ecdsa_client_presignature_admitted_v1`||t.payload.materialHandle!==e.materialHandle||t.payload.presignatureId!==e.expectedPresignatureId)throw Error(`ThresholdEcdsaRoleLocalAdmitPresignature returned invalid binding`);return t.payload.storage}async function X(e){let t=await b({workerCtx:e.workerCtx,request:{type:l.Destroy,timeoutMs:g,payload:{materialHandle:e.materialHandle,poolIdentity:e.poolIdentity}}});if(t.type!==u.DestroySuccess)throw Error(`ThresholdEcdsaRoleLocalDestroyPresignature failed`);if(t.payload.kind!==`ecdsa_client_presignature_destroyed_v1`||t.payload.materialHandle!==e.materialHandle)throw Error(`ThresholdEcdsaRoleLocalDestroyPresignature returned invalid handle`)}async function Z(e){let t=await b({workerCtx:e.workerCtx,request:{type:l.Reserve,timeoutMs:g,payload:{materialHandle:e.materialHandle,expectedPresignatureId:e.expectedPresignatureId,poolIdentity:e.poolIdentity,requestBinding:e.requestBinding,reservationId:e.reservationId,leaseExpiresAtMs:e.leaseExpiresAtMs}}});if(t.type!==u.ReserveSuccess)throw Error(`ThresholdEcdsaRoleLocalReservePresignature failed`);return t.payload}async function Q(e){if((await b({workerCtx:e.workerCtx,request:{type:l.Commit,timeoutMs:g,payload:{materialHandle:e.materialHandle,poolIdentity:e.poolIdentity,requestBinding:e.requestBinding,reservationId:e.reservationId}}})).type!==u.CommitSuccess)throw Error(`ThresholdEcdsaRoleLocalCommitPresignature failed`)}async function $(e,t){let n=await b({workerCtx:t.workerCtx,request:{type:l.ListAvailable,timeoutMs:g,payload:{authority:{kind:e},poolIdentity:t.poolIdentity}}});if(n.type!==u.ListAvailableSuccess)throw Error(`ThresholdEcdsaListAvailablePresignatures failed`);return n.payload.map(_)}async function te(e){let t=e.groupPublicKey33.slice(),n=e.expectedPresignBigR33.slice(),r=e.digest32.slice(),i=e.clientRerandomizationContribution32.slice(),a=e.signingWorkerRerandomizationContribution32.slice(),o=await x({workerCtx:e.workerCtx,request:{type:d.ComputeSignatureShare,timeoutMs:g,payload:{materialHandle:e.materialHandle,poolIdentity:e.poolIdentity,requestBinding:e.requestBinding,reservationId:e.reservationId,groupPublicKey33:t.buffer,expectedPresignBigR33:n.buffer,digest32:r.buffer,clientRerandomizationContribution32:i.buffer,signingWorkerRerandomizationContribution32:a.buffer},transfer:[t.buffer,n.buffer,r.buffer,i.buffer,a.buffer]}});if(o.type!==f.ComputeSignatureShareSuccess)throw Error(`ThresholdEcdsaRoleLocalComputeSignatureShareFromPresignatureHandle failed`);return new Uint8Array(o.payload)}export{Z as A,Y as C,J as D,X as E,p as F,o as I,h as L,s as M,c as N,R as O,l as P,m as R,$ as S,te as T,O as _,A as a,H as b,G as c,j as d,E as f,ee as g,S as h,B as i,T as j,q as k,C as l,D as m,M as n,w as o,F as p,k as r,W as s,K as t,V as u,I as v,Q as w,z as x,N as y};
1
+ import{g as e,i as t}from"./domainIds-t1lp25yU.js";import{ct as n}from"./digestEncoding-Rx8Vjy4J.js";import{F as r,P as i}from"./ecdsaCapabilityManifest-BbPXL-qh.js";import{t as a}from"./executeWorkerOperation-CAYSt0NA.js";const o={WORKER_READY:`WORKER_READY`},s={PrepareThresholdEcdsaDerivationRoleLocalClientBootstrap:7e4,FinalizeThresholdEcdsaDerivationRoleLocalClientBootstrap:70001,CreateRouterAbEcdsaRegistrationCeremony:70005,VerifyRouterAbEcdsaRegistrationClientProofs:70006,CloseRouterAbEcdsaRegistrationCeremony:70007,FinalizeRouterAbEcdsaRegistrationActivation:70008,CreateRouterAbEcdsaPostRegistrationCeremony:70009,FinalizeRouterAbEcdsaExplicitExport:70010,CloseRouterAbEcdsaPostRegistrationCeremony:70011,StoreThresholdEcdsaRoleLocalSigningMaterial:70004,RehydrateEcdsaRoleLocalSigningMaterial:70015,PersistInitialCanonicalEcdsaActivation:70016,ReconcileCanonicalEcdsaActivation:70017,PrewarmEcdsaRegistrationCrypto:70018,VerifyRouterAbEcdsaPostRegistrationProofs:70019,SignWalletRecoveryEcdsaMaterialPossessionProof:70020,PrepareLinkedDeviceEcdsaSourceContribution:70022,StoreLinkedDeviceEcdsaHolderMaterial:70023,DisposeLinkedDeviceEcdsaHolderMaterials:70024,CreateEcdsaHolderOrdinaryExportRequest:70027,FinalizeEcdsaHolderOrdinaryExport:70028},c={PrepareThresholdEcdsaDerivationRoleLocalClientBootstrapSuccess:70100,FinalizeThresholdEcdsaDerivationRoleLocalClientBootstrapSuccess:70101,CreateRouterAbEcdsaRegistrationCeremonySuccess:70105,VerifyRouterAbEcdsaRegistrationClientProofsSuccess:70106,CloseRouterAbEcdsaRegistrationCeremonySuccess:70107,FinalizeRouterAbEcdsaRegistrationActivationSuccess:70108,CreateRouterAbEcdsaPostRegistrationCeremonySuccess:70109,FinalizeRouterAbEcdsaExplicitExportSuccess:70110,CloseRouterAbEcdsaPostRegistrationCeremonySuccess:70111,StoreThresholdEcdsaRoleLocalSigningMaterialSuccess:70104,RehydrateEcdsaRoleLocalSigningMaterialSuccess:70115,PersistInitialCanonicalEcdsaActivationSuccess:70116,ReconcileCanonicalEcdsaActivationSuccess:70117,PrewarmEcdsaRegistrationCryptoSuccess:70118,VerifyRouterAbEcdsaPostRegistrationProofsSuccess:70119,SignWalletRecoveryEcdsaMaterialPossessionProofSuccess:70120,PrepareLinkedDeviceEcdsaSourceContributionSuccess:70122,StoreLinkedDeviceEcdsaHolderMaterialSuccess:70123,DisposeLinkedDeviceEcdsaHolderMaterialsSuccess:70124,CreateEcdsaHolderOrdinaryExportRequestSuccess:70127,FinalizeEcdsaHolderOrdinaryExportSuccess:70128},l={SessionInit:71e3,SessionStep:71001,SessionAbort:71002,Admit:71003,Destroy:71004,Reserve:71005,Commit:71006,ListAvailable:71007,ClearWallet:71008},u={SessionInitSuccess:71100,SessionStepSuccess:71101,SessionAbortSuccess:71102,AdmitSuccess:71103,DestroySuccess:71104,ReserveSuccess:71105,CommitSuccess:71106,ListAvailableSuccess:71107,ClearWalletSuccess:71108},d={ComputeSignatureShare:72e3},f={ComputeSignatureShareSuccess:72100};var p=class extends Error{code;coreCode;workerKind;constructor(e){super(e.message),this.name=`SignerWorkerOperationError`,this.code=(e.code||`SIGNER_INTERNAL`).trim(),this.coreCode=e.coreCode?.trim()||void 0,this.workerKind=e.workerKind}};function m(e){if(!e||typeof e!=`object`)return;let t=e.code;if(typeof t!=`string`)return;let n=t.trim();return n.length?n:void 0}function h(e){if(!e||typeof e!=`object`)return;let t=e.coreCode;if(typeof t!=`string`)return;let n=t.trim();return n.length?n:void 0}const g=2e4;function _(e){return{presignatureId:e.presignatureId,materialHandle:e.materialHandle,bigR33:new Uint8Array(e.bigR33),createdAtMs:e.createdAtMs,expiresAtMs:e.expiresAtMs}}async function v(e){return await a({ctx:e.workerCtx,kind:`ecdsaDerivationClient`,request:e.request})}async function y(e){return await a({ctx:e.workerCtx,kind:`ecdsaDerivationClient`,request:e.request})}async function b(e){return await a({ctx:e.workerCtx,kind:`ecdsaPresignClient`,request:e.request})}async function x(e){return await a({ctx:e.workerCtx,kind:`ecdsaOnlineClient`,request:e.request})}async function S(e){let t=await v({workerCtx:e.workerCtx,request:{type:s.PrepareThresholdEcdsaDerivationRoleLocalClientBootstrap,timeoutMs:g,payload:e.command}});if(t.type!==c.PrepareThresholdEcdsaDerivationRoleLocalClientBootstrapSuccess)throw Error(`PrepareThresholdEcdsaDerivationRoleLocalClientBootstrap failed`);return t.payload}async function C(e){let t=await v({workerCtx:e.workerCtx,request:{type:s.FinalizeThresholdEcdsaDerivationRoleLocalClientBootstrap,timeoutMs:g,payload:e.command}});if(t.type!==c.FinalizeThresholdEcdsaDerivationRoleLocalClientBootstrapSuccess)throw Error(`FinalizeThresholdEcdsaDerivationRoleLocalClientBootstrap failed`);return t.payload}async function w(e){let t=await v({workerCtx:e.workerCtx,request:{type:s.CreateRouterAbEcdsaRegistrationCeremony,timeoutMs:g,payload:e.command}});if(t.type!==c.CreateRouterAbEcdsaRegistrationCeremonySuccess)throw Error(`Router A/B ECDSA registration ceremony creation failed`);return t.payload}async function T(e){let t=await v({workerCtx:e.workerCtx,request:{type:s.VerifyRouterAbEcdsaRegistrationClientProofs,timeoutMs:g,payload:e.command}});if(t.type!==c.VerifyRouterAbEcdsaRegistrationClientProofsSuccess)throw Error(`Router A/B ECDSA registration client proof verification failed`);return t.payload}async function E(e){let t=await v({workerCtx:e.workerCtx,request:{type:s.FinalizeRouterAbEcdsaRegistrationActivation,timeoutMs:g,payload:e.command}});if(t.type!==c.FinalizeRouterAbEcdsaRegistrationActivationSuccess)throw Error(`Router A/B ECDSA registration activation finalization failed`);return t.payload}async function D(e){let t=await v({workerCtx:e.workerCtx,request:{type:s.PersistInitialCanonicalEcdsaActivation,timeoutMs:g,payload:e.command}});if(t.type!==c.PersistInitialCanonicalEcdsaActivationSuccess)throw Error(`Initial canonical ECDSA activation persistence failed`);return t.payload}async function O(e){let t=await v({workerCtx:e.workerCtx,request:{type:s.ReconcileCanonicalEcdsaActivation,timeoutMs:g,payload:e.command}});if(t.type!==c.ReconcileCanonicalEcdsaActivationSuccess)throw Error(`Canonical ECDSA activation reconciliation failed`);let n=t.payload;return n.kind===`canonical_ecdsa_activation_committed_finalization_required_v1`?{kind:`canonical_ecdsa_activation_reconciliation_pending_v1`,journalId:n.journalId,reason:`wallet_custody_rejoin_required`,activationCommand:null}:n}async function k(e){let t=await v({workerCtx:e.workerCtx,request:{type:s.CloseRouterAbEcdsaRegistrationCeremony,timeoutMs:g,payload:e.command}});if(t.type!==c.CloseRouterAbEcdsaRegistrationCeremonySuccess)throw Error(`Router A/B ECDSA registration ceremony close failed`);return t.payload}async function A(e){let t=await v({workerCtx:e.workerCtx,request:{type:s.CreateRouterAbEcdsaPostRegistrationCeremony,timeoutMs:g,payload:e.command}});if(t.type!==c.CreateRouterAbEcdsaPostRegistrationCeremonySuccess)throw Error(`Router A/B ECDSA post-registration ceremony creation failed`);return t.payload}async function j(e){let t=await v({workerCtx:e.workerCtx,request:{type:s.FinalizeRouterAbEcdsaExplicitExport,timeoutMs:g,payload:e.command}});if(t.type!==c.FinalizeRouterAbEcdsaExplicitExportSuccess)throw Error(`Router A/B ECDSA post-registration client proof finalization failed`);return t.payload}async function M(e){let t=await v({workerCtx:e.workerCtx,request:{type:s.CloseRouterAbEcdsaPostRegistrationCeremony,timeoutMs:g,payload:e.command}});if(t.type!==c.CloseRouterAbEcdsaPostRegistrationCeremonySuccess)throw Error(`Router A/B ECDSA post-registration ceremony close failed`);return t.payload}async function N(e){let t=await v({workerCtx:e.workerCtx,request:{type:s.StoreThresholdEcdsaRoleLocalSigningMaterial,timeoutMs:g,payload:{materialHandle:e.materialHandle,bindingDigest:e.bindingDigest,stateBlob:e.stateBlob}}});if(t.type!==c.StoreThresholdEcdsaRoleLocalSigningMaterialSuccess)throw Error(`StoreThresholdEcdsaRoleLocalSigningMaterial failed`);return t.payload}function P(e,t){return t.durableMaterialRef===e.durableMaterialRef&&t.bindingDigest===e.bindingDigest}async function F(a){let o=n(a.authority);if(!o)throw Error(`ECDSA role-local signing material authority is invalid`);let l=e(a.materialActivation);if(!l.ok)throw Error(l.error.message);let u=l.value,d=await v({workerCtx:a.workerCtx,request:{type:s.RehydrateEcdsaRoleLocalSigningMaterial,timeoutMs:g,payload:{kind:`open_ecdsa_role_local_signing_material_v1`,authority:o,materialActivation:u}}});if(d.type!==c.RehydrateEcdsaRoleLocalSigningMaterialSuccess)throw Error(`OpenEcdsaRoleLocalSigningMaterial failed`);let f=d.payload;switch(f.kind){case`ecdsa_role_local_signing_material_unavailable_v1`:return{ok:!1,reason:f.reason};case`ecdsa_role_local_signing_material_opened_v1`:{let e=i(f.materialRef);if(!t(u,e.materialActivation))throw Error(`ECDSA role-local signing material open changed its activation identity`);let n=r(f.liveHandle);if(!P(e,n))throw Error(`ECDSA role-local signing material hydration changed its identity`);return{ok:!0,liveHandle:n,materialRef:e}}default:{let e=f;throw Error(`ECDSA role-local signing material hydration response kind is invalid: ${String(e)}`)}}}async function I(e){let t=await v({workerCtx:e.workerCtx,request:{type:s.SignWalletRecoveryEcdsaMaterialPossessionProof,timeoutMs:g,payload:{kind:`sign_wallet_recovery_ecdsa_material_possession_proof_v1`,challenge:e.challenge,stateBlob:e.stateBlob}}});if(t.type!==c.SignWalletRecoveryEcdsaMaterialPossessionProofSuccess)throw Error(`Wallet recovery ECDSA possession proof signing failed`);return t.payload}async function ee(e){let t=await v({workerCtx:e.workerCtx,request:{type:s.PrepareLinkedDeviceEcdsaSourceContribution,timeoutMs:g,payload:{kind:`prepare_linked_device_ecdsa_source_contribution_v1`,preparation:e.preparation,...e.linkedHolderHandleId===void 0?{}:{linkedHolderHandleId:e.linkedHolderHandleId}}}});if(t.type!==c.PrepareLinkedDeviceEcdsaSourceContributionSuccess)throw Error(`Linked-device ECDSA source contribution preparation failed`);return t.payload}function L(e){let t=Array.isArray(e.outgoingMessages)?e.outgoingMessages.map(e=>new Uint8Array(e)):[];switch(e.event){case`final_batch_ready`:return{stage:`presign`,event:e.event,outgoingMessages:t,candidateBigR33:new Uint8Array(e.candidateBigR33)};case`presign_done`:return{stage:`done`,event:e.event,outgoingMessages:t,presignatureHandle:e.presignatureHandle,presignatureBigR33:new Uint8Array(e.presignatureBigR33)};case`none`:case`triples_done`:return{stage:e.stage,event:e.event,outgoingMessages:t}}}async function R(e){let t=e.groupPublicKey33.slice(),n=await b({workerCtx:e.workerCtx,request:{type:l.SessionInit,timeoutMs:g,payload:{authority:{kind:`role_local_derivation_handle`,materialHandle:e.materialHandle,material:e.material},sessionId:e.sessionId,groupPublicKey33:t.buffer,ceremonyExpiresAtMs:e.ceremonyExpiresAtMs,materialExpiresAtMs:e.materialExpiresAtMs,poolIdentity:e.poolIdentity},transfer:[t.buffer]}});if(n.type!==u.SessionInitSuccess)throw Error(`ThresholdEcdsaRoleLocalPresignSessionInitFromMaterialHandle failed`);if(n.payload.authority.kind!==`role_local_derivation_handle`)throw Error(`ECDSA role-local presign returned a different authority`);return L(n.payload.progress)}async function z(e){let t=e.groupPublicKey33.slice(),n=await b({workerCtx:e.workerCtx,request:{type:l.SessionInit,timeoutMs:g,payload:{authority:{kind:`linked_holder_signing_material`,holderHandleId:e.holderHandleId},sessionId:e.sessionId,groupPublicKey33:t.buffer,ceremonyExpiresAtMs:e.ceremonyExpiresAtMs,materialExpiresAtMs:e.materialExpiresAtMs,poolIdentity:e.poolIdentity},transfer:[t.buffer]}});if(n.type!==u.SessionInitSuccess)throw Error(`Linked holder ECDSA presign initialization failed`);if(n.payload.authority.kind!==`linked_holder_signing_material`)throw Error(`Linked holder ECDSA presign returned a different authority`);return L(n.payload.progress)}async function B(e){if(e.holderHandleId.trim().length===0)throw Error(`ECDSA holder handle must be non-empty`);let t=await y({workerCtx:e.workerCtx,request:{type:s.CreateEcdsaHolderOrdinaryExportRequest,timeoutMs:g,payload:{kind:`create_ecdsa_holder_ordinary_export_request_v1`,holderHandleId:e.holderHandleId,request:e.request},transfer:[]}});if(t.type!==c.CreateEcdsaHolderOrdinaryExportRequestSuccess)throw Error(`ECDSA holder ordinary-export request preparation failed`);if(t.payload.holderHandleId!==e.holderHandleId)throw Error(`ECDSA holder ordinary-export request returned a different holder`);if(t.payload.requestDigestB64u.trim().length===0)throw Error(`ECDSA holder ordinary-export request digest is empty`);return t.payload}async function V(e){if(e.holderHandleId.trim().length===0)throw Error(`ECDSA holder handle must be non-empty`);if(e.requestDigestB64u!==e.expectedBinding.export_request_digest_b64u)throw Error(`ECDSA holder ordinary-export request digest differs from its binding`);let t=await y({workerCtx:e.workerCtx,request:{type:s.FinalizeEcdsaHolderOrdinaryExport,timeoutMs:g,payload:{kind:`finalize_ecdsa_holder_ordinary_export_v1`,holderHandleId:e.holderHandleId,requestDigestB64u:e.requestDigestB64u,expectedBinding:e.expectedBinding,forwardedResponse:e.forwardedResponse},transfer:[]}});if(t.type!==c.FinalizeEcdsaHolderOrdinaryExportSuccess)throw Error(`ECDSA holder ordinary-export finalization failed`);if(t.payload.holderHandleId!==e.holderHandleId)throw Error(`ECDSA holder ordinary-export finalization returned a different holder`);return t.payload}async function H(e){if(e.holderHandleId.trim().length===0)throw Error(`Linked holder ECDSA handle must be non-empty`);if(e.ownedSigningShare32.byteLength!==32)throw Error(`Linked holder ECDSA signing share must contain 32 bytes`);if(e.activationReceiptJson.trim().length===0)throw Error(`Linked holder ECDSA activation receipt must be non-empty`);let t=e.ownedSigningShare32.slice();try{let n=await a({kind:`ecdsaDerivationClient`,ctx:e.workerCtx,request:{type:s.StoreLinkedDeviceEcdsaHolderMaterial,timeoutMs:g,payload:{holderHandleId:e.holderHandleId,ownedSigningShare32:t.buffer,activationReceiptJson:e.activationReceiptJson},transfer:[t.buffer]}});if(n.type!==c.StoreLinkedDeviceEcdsaHolderMaterialSuccess)throw Error(`Linked holder ECDSA material import failed`);if(n.payload.holderHandleId!==e.holderHandleId)throw Error(`Linked holder ECDSA material import returned a different handle`);return n.payload}finally{t.byteLength>0&&t.fill(0)}}async function U(e){let t=await a({kind:`ecdsaDerivationClient`,ctx:e.workerCtx,request:{type:s.DisposeLinkedDeviceEcdsaHolderMaterials,timeoutMs:g,payload:e.disposal,transfer:[]}});if(t.type!==c.DisposeLinkedDeviceEcdsaHolderMaterialsSuccess)throw Error(`Linked holder ECDSA material disposal failed`);if(t.payload.kind!==e.disposal.kind)throw Error(`Linked holder ECDSA material disposal returned a different scope`);if(e.disposal.kind===`one`&&t.payload.kind===`one`&&t.payload.holderHandleId!==e.disposal.holderHandleId)throw Error(`Linked holder ECDSA material disposal returned a different handle`)}async function W(e){if(e.holderHandleId.trim().length===0)throw Error(`Linked holder ECDSA handle must be non-empty`);await U({disposal:{kind:`one`,holderHandleId:e.holderHandleId},workerCtx:e.workerCtx})}async function G(e){let t=!1,n;for(let r of e.holderHandleIds)try{await W({holderHandleId:r,workerCtx:e.workerCtx})}catch(e){t||(t=!0,n=e)}if(t)throw n}async function K(e){await U({disposal:{kind:`all`},workerCtx:e.workerCtx})}async function q(e){let t=e.incomingMessages.map(e=>e.slice()),n=t.map(e=>e.buffer),r=await b({workerCtx:e.workerCtx,request:{type:l.SessionStep,timeoutMs:g,payload:{sessionId:e.sessionId,stage:e.stage,incomingMessages:t.map(e=>e.buffer)},transfer:n}});if(r.type!==u.SessionStepSuccess)throw Error(`ThresholdEcdsaRoleLocalPresignSessionStep failed`);return L(r.payload)}async function J(e){let t=await b({workerCtx:e.workerCtx,request:{type:l.SessionAbort,timeoutMs:g,payload:{sessionId:e.sessionId}}});if(t.type!==u.SessionAbortSuccess)throw Error(`ThresholdEcdsaRoleLocalPresignSessionAbort failed`);let n=t.payload;if(n.kind!==`threshold_ecdsa_presign_session_aborted`||n.sessionId!==e.sessionId)throw Error(`ThresholdEcdsaRoleLocalPresignSessionAbort returned invalid result`)}async function Y(e){let t=await b({workerCtx:e.workerCtx,request:{type:l.Admit,timeoutMs:g,payload:{materialHandle:e.materialHandle,expectedPresignatureId:e.expectedPresignatureId,poolIdentity:e.poolIdentity,admissionMode:e.admissionMode}}});if(t.type!==u.AdmitSuccess)throw Error(`ThresholdEcdsaRoleLocalAdmitPresignature failed`);if(t.payload.kind!==`ecdsa_client_presignature_admitted_v1`||t.payload.materialHandle!==e.materialHandle||t.payload.presignatureId!==e.expectedPresignatureId)throw Error(`ThresholdEcdsaRoleLocalAdmitPresignature returned invalid binding`);return t.payload.storage}async function X(e){let t=await b({workerCtx:e.workerCtx,request:{type:l.Destroy,timeoutMs:g,payload:{materialHandle:e.materialHandle,poolIdentity:e.poolIdentity}}});if(t.type!==u.DestroySuccess)throw Error(`ThresholdEcdsaRoleLocalDestroyPresignature failed`);if(t.payload.kind!==`ecdsa_client_presignature_destroyed_v1`||t.payload.materialHandle!==e.materialHandle)throw Error(`ThresholdEcdsaRoleLocalDestroyPresignature returned invalid handle`)}async function Z(e){let t=await b({workerCtx:e.workerCtx,request:{type:l.Reserve,timeoutMs:g,payload:{materialHandle:e.materialHandle,expectedPresignatureId:e.expectedPresignatureId,poolIdentity:e.poolIdentity,requestBinding:e.requestBinding,reservationId:e.reservationId,leaseExpiresAtMs:e.leaseExpiresAtMs}}});if(t.type!==u.ReserveSuccess)throw Error(`ThresholdEcdsaRoleLocalReservePresignature failed`);return t.payload}async function Q(e){if((await b({workerCtx:e.workerCtx,request:{type:l.Commit,timeoutMs:g,payload:{materialHandle:e.materialHandle,poolIdentity:e.poolIdentity,requestBinding:e.requestBinding,reservationId:e.reservationId}}})).type!==u.CommitSuccess)throw Error(`ThresholdEcdsaRoleLocalCommitPresignature failed`)}async function $(e,t){let n=await b({workerCtx:t.workerCtx,request:{type:l.ListAvailable,timeoutMs:g,payload:{authority:{kind:e},poolIdentity:t.poolIdentity}}});if(n.type!==u.ListAvailableSuccess)throw Error(`ThresholdEcdsaListAvailablePresignatures failed`);return n.payload.map(_)}async function te(e){let t=e.groupPublicKey33.slice(),n=e.expectedPresignBigR33.slice(),r=e.digest32.slice(),i=e.clientRerandomizationContribution32.slice(),a=e.signingWorkerRerandomizationContribution32.slice(),o=await x({workerCtx:e.workerCtx,request:{type:d.ComputeSignatureShare,timeoutMs:g,payload:{materialHandle:e.materialHandle,poolIdentity:e.poolIdentity,requestBinding:e.requestBinding,reservationId:e.reservationId,groupPublicKey33:t.buffer,expectedPresignBigR33:n.buffer,digest32:r.buffer,clientRerandomizationContribution32:i.buffer,signingWorkerRerandomizationContribution32:a.buffer},transfer:[t.buffer,n.buffer,r.buffer,i.buffer,a.buffer]}});if(o.type!==f.ComputeSignatureShareSuccess)throw Error(`ThresholdEcdsaRoleLocalComputeSignatureShareFromPresignatureHandle failed`);return new Uint8Array(o.payload)}export{Z as A,Y as C,J as D,X as E,p as F,o as I,h as L,s as M,c as N,R as O,l as P,m as R,$ as S,te as T,O as _,A as a,H as b,G as c,j as d,E as f,ee as g,S as h,B as i,T as j,q as k,C as l,D as m,M as n,w as o,F as p,k as r,W as s,K as t,V as u,I as v,Q as w,z as x,N as y};