@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
@@ -0,0 +1 @@
1
+ import{i as e}from"./domainIds-t1lp25yU.js";import{r as t,t as n}from"./digests-BIaE0DMd.js";import{i as r,r as i}from"./base64-BmKR3UqU.js";import{r as a}from"./secureRandomId-8LSc91aN.js";import{s as o}from"./walletDbName-B6-CV_Rq.js";import{g as s}from"./capabilityKinds-Cafn86Y1.js";import{r as c}from"./canonicalPrimitives-DKeS3M40.js";import{i as l,n as u}from"./signerDomain-D-EUTlLK.js";import{r as d}from"./types-D2Zk1W7I.js";import{c as f,o as p}from"./ecdsaChainTarget-BoRVQtjQ.js";import{C as m,Ct as h,E as g,Nt as _,O as v,Pt as y,c as b}from"./digestEncoding-Rx8Vjy4J.js";import{B as ee,C as te,E as x,I as ne,R as re,S,x as C,y as w,z as ie}from"./ecdsaCapabilityManifest-BbPXL-qh.js";import{C as T,h as ae,v as E}from"./emailOtpEcdsaDerivationIdentity-DJmMyqL-.js";import{o as oe}from"./walletSessionAuthorizationStore-CGt-s5fX.js";import{t as se}from"./thresholdEcdsa-CRfx6RP1.js";import{p as ce}from"./nearEd25519YaoSigningPreparation-Cz2Gb95g.js";import{a as le,i as ue,r as de}from"./walletSessionAuthorizationProjection-BzUH6gHV.js";import{a as fe,d as pe,i as me,n as he,u as ge}from"./ecdsaDerivationClientWasm-GCt9yVsd.js";import{a as _e,r as ve,t as ye}from"./walletSessionFailure-CxsVtroW.js";import{a as D,o as O}from"./signingQueue-Dy5mYMus.js";import{t as k}from"./bytes-DXo6uALR.js";const be=`router-ab-ed25519-yao-seed-export-v1`;function xe(e){if(typeof e!=`object`||!e||Array.isArray(e))return null;let t=e,n=typeof t.id==`string`&&t.id.trim()?t.id.trim():void 0;return t.success===!0&&`data`in t&&t.error===void 0?{id:n,success:!0,data:t.data}:t.success===!1&&typeof t.error==`string`&&t.data===void 0?{id:n,success:!1,error:t.error}:null}function A(e){return e.kind===`credential_free_ecdsa_session_activation_authorization_v1`}function Se(e,t){return e.error||e.message||e.code||t}function Ce(e){return v({kind:`router_ab_ecdsa_post_registration_session_activation_v1`,public_capability:e.publicCapability,session_policy:{threshold_session_id:e.thresholdSessionId,wallet_session_mint_id:e.walletSessionMintId,ttl_ms:e.ttlMs,remaining_uses:e.remainingUses,runtime_policy_scope:e.runtimePolicyScope}})}function we(e,t){let n=t.public_identity;return e.applicationBindingDigestB64u===t.context.application_binding_digest_b64u&&e.contextBinding32B64u===n.context_binding_b64u&&e.derivationClientSharePublicKey33B64u===n.derivation_client_share_public_key33_b64u&&e.relayerPublicKey33B64u===n.server_public_key33_b64u&&e.groupPublicKey33B64u===n.threshold_public_key33_b64u&&e.ethereumAddress.toLowerCase()===k(i(n.ethereum_address20_b64u))&&w(e.publicCapability,t)}function Te(e,t){let n=e.normal_signing.scope;return n.wallet_id===String(t.walletId)&&n.ecdsa_threshold_key_id===String(t.ecdsaThresholdKeyId)&&n.signing_root_id===String(t.signingRootId)&&n.signing_root_version===String(t.signingRootVersion)}function Ee(e){let t=e.persistedRoleLocalMaterial.publicFacts;if(!w(e.sessionActivation.public_capability,e.publicCapability)||e.sessionActivation.session.threshold_session_id!==e.thresholdSessionId||!Te(e.sessionActivation,t))throw Error(`Strict ECDSA session activation returned a different registered key identity`)}function De(t){let n=t.sessionActivation.activation,r=t.sessionActivation.authorization,i=r.record,a=_(n.public_capability.material_activation),o=0;for(let t of i.capabilitySubjects)t.kind===`sign`&&t.keyFamily===`ecdsa_secp256k1`&&e(t.materialActivation,a)&&(o+=1);if(Ee({publicCapability:t.publicCapability,persistedRoleLocalMaterial:t.persistedRoleLocalMaterial,thresholdSessionId:t.thresholdSessionId,sessionActivation:n}),String(i.walletId)!==t.walletId||String(i.walletId)!==String(n.public_capability.client_id)||i.authMethodId!==t.persistedRoleLocalMaterial.authority.walletAuthMethodId||i.authorizationId!==n.session.authorization_id||i.quotaId!==n.session.quota_id||i.expiresAtMs!==n.session.expires_at_ms||n.session.remaining_uses!==t.remainingUses||r.operationCredential.walletSessionId!==n.session.wallet_session_id||!e(a,t.persistedRoleLocalMaterial.materialActivation)||o!==1)throw Error(`Strict ECDSA credential-free activation authority does not match its session`)}function j(e){let t=e.persistedRoleLocalMaterial.publicFacts;if(!e.walletId||!e.thresholdSessionId)throw Error(`Strict ECDSA session activation requires exact wallet and session identity`);if(!Number.isSafeInteger(e.ttlMs)||e.ttlMs<1)throw Error(`Strict ECDSA session activation requires a positive ttlMs`);if(!Number.isSafeInteger(e.remainingUses)||e.remainingUses<1)throw Error(`Strict ECDSA session activation requires positive remainingUses`);if(String(t.walletId)!==e.walletId||!we(t,e.publicCapability))throw Error(`Strict ECDSA session activation requires exact registered role-local material`)}function Oe(e){switch(e.kind){case`rehydrated`:return e;case`device_link_required`:throw Error(`device_link_required: registered ECDSA role-local material is unavailable on this device`);case`corrupt`:throw Error(`Registered ECDSA role-local material is corrupt (${e.reason}): ${e.message}`);default:{let t=e;throw Error(`Unsupported ECDSA role-local material resolution: ${String(t)}`)}}}async function M(e){let t=Oe(await O({purpose:`registration_activation`,source:D(e.persistedRoleLocalMaterial),workerCtx:e.workerCtx}));return{kind:`existing_ecdsa_role_local_material_activated_v1`,roleLocalMaterial:t.liveHandle,roleLocalMaterialRef:t.materialRef,publicFacts:e.persistedRoleLocalMaterial.publicFacts,publicCapability:e.publicCapability}}async function ke(e){j(e);let t=await se(e.relayerUrl,{auth:e.routeAuth,request:Ce(e)});if(!t.ok)throw Error(Se(t,`Strict ECDSA session activation failed`));return await N({workerCtx:e.workerCtx,publicCapability:e.publicCapability,persistedRoleLocalMaterial:e.persistedRoleLocalMaterial,walletId:e.walletId,thresholdSessionId:e.thresholdSessionId,ttlMs:e.ttlMs,remainingUses:e.remainingUses,runtimePolicyScope:e.runtimePolicyScope,sessionActivation:t.value})}async function N(e){return j(e),Ee({publicCapability:e.publicCapability,persistedRoleLocalMaterial:e.persistedRoleLocalMaterial,thresholdSessionId:e.thresholdSessionId,sessionActivation:e.sessionActivation}),{sessionActivation:e.sessionActivation,roleLocalActivation:await M(e)}}async function Ae(e){return j(e),De(e),{sessionActivation:e.sessionActivation.activation,authorization:e.sessionActivation.authorization,roleLocalActivation:await M(e)}}async function je(e,t){let n=o(e.lanePolicy.runtimePolicyScope);if(!n)throw Error(`Strict ECDSA session activation requires runtimePolicyScope`);let r={workerCtx:e.workerCtx,publicCapability:e.publicCapability,persistedRoleLocalMaterial:e.existingRoleLocalMaterial,walletId:String(e.key.walletId),thresholdSessionId:e.lanePolicy.thresholdSessionId,ttlMs:e.lanePolicy.ttlMs,remainingUses:e.lanePolicy.remainingUses,runtimePolicyScope:n},s=e.sessionActivation?A(e.sessionActivation)?await Ae({...r,sessionActivation:e.sessionActivation}):await N({...r,sessionActivation:e.sessionActivation}):await ke({...r,walletSessionMintId:Me(),relayerUrl:e.relayerUrl,routeAuth:e.bootstrapAuth}),c=s.sessionActivation.public_capability.public_identity,l=`authorization`in s?{thresholdSessionId:s.sessionActivation.session.threshold_session_id,authorizationSessionId:s.sessionActivation.session.authorization_session_id,authorizationId:s.sessionActivation.session.authorization_id,walletSessionId:s.sessionActivation.session.wallet_session_id,quotaId:s.sessionActivation.session.quota_id,expiresAtMs:s.sessionActivation.session.expires_at_ms,remainingUses:s.sessionActivation.session.remaining_uses,walletSession:s.authorization.record,operationCredential:s.authorization.operationCredential}:{thresholdSessionId:s.sessionActivation.session.threshold_session_id,authorizationSessionId:s.sessionActivation.session.authorization_session_id,authorizationId:s.sessionActivation.session.authorization_id,walletSessionId:s.sessionActivation.session.wallet_session_id,quotaId:s.sessionActivation.session.quota_id,expiresAtMs:s.sessionActivation.session.expires_at_ms,remainingUses:s.sessionActivation.session.remaining_uses,walletSession:s.sessionActivation.session.wallet_session,operationCredential:s.sessionActivation.session.operation_credential},u=await h({walletId:String(e.key.walletId),signingRootId:e.key.signingRootId,signingRootVersion:e.key.signingRootVersion});return{ok:!0,bootstrapKind:`strict_post_registration`,keygenSessionId:String(e.requestId||``).trim()||a(`tecdsa-keygen`,32,`threshold ECDSA session IDs`),rpId:t,keyHandle:String(e.keyHandle),clientVerifyingShareB64u:c.derivation_client_share_public_key33_b64u,thresholdEcdsaPublicKeyB64u:c.threshold_public_key33_b64u,ethereumAddress:k(i(c.ethereum_address20_b64u)),relayerKeyId:u,relayerVerifyingShareB64u:c.server_public_key33_b64u,participantIds:e.key.participantIds.map(Number),thresholdSessionId:l.thresholdSessionId,authorizationSessionId:l.authorizationSessionId,authorizationId:l.authorizationId,walletSessionId:l.walletSessionId,quotaId:l.quotaId,expiresAtMs:l.expiresAtMs,remainingUses:l.remainingUses,runtimePolicyScope:n,signingRootId:String(e.key.signingRootId),signingRootVersion:String(e.key.signingRootVersion),walletSession:l.walletSession,operationCredential:l.operationCredential,roleLocalActivation:s.roleLocalActivation,routerAbEcdsaDerivationNormalSigning:s.sessionActivation.normal_signing,secretSourceKind:`persisted_role_local`}}function Me(){let e=s(a(`wallet-session-mint`,32,`Wallet Session mint IDs`));if(!e.ok)throw Error(`Failed to create Wallet Session mint identity`);return e.value}async function Ne(e){let t=e.touchIdPrompt.getRpId();if(!t)return{ok:!1,code:`invalid_args`,message:`Missing rpId for WebAuthn`};try{return await je(e,t)}catch(e){return{ok:!1,code:`strict_post_registration_failed`,message:e instanceof Error?e.message:String(e)}}}const P=`stale_ecdsa_key_identity`;function Pe(e){if(!e)throw Error(`Strict ECDSA session bootstrap requires Wallet Session authority`);switch(e.kind){case`opaque_wallet_session_operation_credential_v1`:return e;case`publishable_key`:throw Error(`Strict ECDSA session bootstrap requires Wallet Session authority`)}throw Error(`Strict ECDSA session bootstrap authority is invalid`)}function Fe(e){let t=String(e.code||``).trim(),n=String(e.message||``).trim().toLowerCase();return t===`stale_session_state`&&n.includes(`threshold-ecdsa bootstrap`)&&n.includes(`client verifying share`)&&n.includes(`integrated key record`)}function Ie(e){let t=String(e.message||e.code||`threshold-ecdsa bootstrap failed`).trim(),n=Fe(e)?P:String(e.code||`threshold_ecdsa_bootstrap_failed`).trim()||`threshold_ecdsa_bootstrap_failed`,r=Error(t||`threshold-ecdsa bootstrap failed`);return r.code=n,r}function Le(e){let t=Error(e);return t.code=P,t}function Re(e){switch(e.authKind){case`email_otp`:return`email_otp`;case`passkey`:return`passkey`}return`unknown`}function ze(e){switch(e.bootstrap.secretSourceKind){case`persisted_role_local`:return e.request.authKind===`email_otp`?C({authSubjectId:e.request.emailOtpWorkerSessionHandle.authSubjectId}):S({credentialIdB64u:e.request.passkeyCredentialIdB64u,rpId:e.bootstrap.rpId})}}function F(e,t){let n=String(e||``).trim().toLowerCase();if(!/^0x[0-9a-f]{40}$/.test(n))throw Error(`threshold-ecdsa exact activation returned invalid ${t}`);return n}function Be(e){let t=F(e.bootstrapOwnerAddress,`server owner address`);if(t!==F(e.key.thresholdOwnerAddress,`key owner address`))throw Le(`threshold-ecdsa exact activation owner address mismatches server bootstrap result`);return t}async function Ve(e,t){let n=f(String(t.key.walletId)),r=t.lanePolicy.chainTarget,i=String(t.lanePolicy.thresholdSessionId).trim();if(e.routerAbNormalSigning.mode!==`enabled`)throw Error(`Router A/B ECDSA derivation normal signing must be enabled for activation`);let a={walletId:n,chainTarget:r,targetKey:p(r),operationId:i||null,authMethod:Re(t),evmFamilyKeyFingerprint:ae(t.key),keyHandle:t.keyHandle,chainTargetKey:p(r),ecdsaThresholdKeyId:String(t.key.ecdsaThresholdKeyId),thresholdSessionId:i||null,freshAuthRetrySideEffectState:`not_applicable`,hasRequestedEcdsaThresholdKeyId:!0,requestedSessionId:i||null,authKind:t.walletSessionRouteAuth?.kind||`none`,passkeyCredentialBound:t.authKind===`passkey`},o;try{o=await Ne({touchIdPrompt:e.touchIdPrompt,relayerUrl:t.relayerUrl,requestId:t.requestId,workerCtx:e.workerCtx,...`preauthorizedSessionActivation`in t&&t.preauthorizedSessionActivation?{sessionActivation:t.preauthorizedSessionActivation}:{bootstrapAuth:Pe(t.walletSessionRouteAuth)},keyHandle:t.keyHandle,key:t.key,lanePolicy:t.lanePolicy,publicCapability:t.publicCapability,existingRoleLocalMaterial:t.existingRoleLocalMaterial})}catch(e){try{console.warn(`[threshold-ecdsa][bootstrap][exception]`,{...a,message:e instanceof Error?e.message:String(e)})}catch{}throw e}if(!o.ok){try{console.warn(`[threshold-ecdsa][bootstrap][failure]`,{...a,code:o.code||``,message:o.message||``})}catch{}throw Ie({code:o.code,message:o.message})}let s=String(t.key.ecdsaThresholdKeyId).trim();if(!s)throw Error(`threshold-ecdsa bootstrap returned empty ecdsaThresholdKeyId`);let c=ne(s),l=ie(String(o.keyHandle||``).trim()),u=String(o.relayerKeyId||``).trim();if(!u)throw Error(`threshold-ecdsa bootstrap returned empty relayerKeyId`);let d=ee(u),m=String(o.clientVerifyingShareB64u||``).trim();if(!m)throw Error(`threshold-ecdsa bootstrap returned empty clientVerifyingShareB64u`);let h=re(m),g=String(o.thresholdSessionId||``).trim();if(!g)throw Error(`threshold-ecdsa bootstrap returned empty thresholdSessionId`);let _=Number(o.expiresAtMs);if(!Number.isFinite(_))throw Error(`threshold-ecdsa bootstrap returned invalid expiresAtMs`);let v=Number(o.remainingUses);if(!Number.isFinite(v))throw Error(`threshold-ecdsa bootstrap returned invalid remainingUses`);let y=t.key.participantIds.map(e=>Number(e));if(!y)throw Error(`threshold-ecdsa bootstrap returned empty participantIds`);let b=Be({key:t.key,bootstrapOwnerAddress:o.ethereumAddress}),x=te({walletId:n,chainTarget:r,keyHandle:l,ecdsaThresholdKeyId:c,signingRootId:o.signingRootId,signingRootVersion:o.signingRootVersion,applicationBindingDigestB64u:o.roleLocalActivation.publicCapability.context.application_binding_digest_b64u,clientParticipantId:1,relayerParticipantId:2,participantIds:y,contextBinding32B64u:o.roleLocalActivation.publicFacts.contextBinding32B64u,derivationClientSharePublicKey33B64u:o.roleLocalActivation.publicFacts.derivationClientSharePublicKey33B64u,relayerPublicKey33B64u:o.roleLocalActivation.publicFacts.relayerPublicKey33B64u,groupPublicKey33B64u:o.roleLocalActivation.publicFacts.groupPublicKey33B64u,ethereumAddress:o.roleLocalActivation.publicFacts.ethereumAddress,publicCapability:o.roleLocalActivation.publicCapability}),S=o.routerAbEcdsaDerivationNormalSigning,C=o.roleLocalActivation.roleLocalMaterial,w=ze({request:t,bootstrap:o}),T={ok:!0,thresholdSessionId:g,authorizationSessionId:o.authorizationSessionId,authorizationId:o.authorizationId,walletSessionId:o.walletSessionId,quotaId:o.quotaId,expiresAtMs:_,remainingUses:v,runtimePolicyScope:o.runtimePolicyScope,walletSession:o.walletSession,operationCredential:o.operationCredential,clientVerifyingShareB64u:h};return{thresholdEcdsaKeyRef:{type:`threshold-ecdsa-secp256k1`,userId:n,chainTarget:r,relayerUrl:t.relayerUrl,keyHandle:l,ecdsaThresholdKeyId:c,backendBinding:{materialKind:`role_local_worker_handle`,relayerKeyId:d,clientVerifyingShareB64u:h,roleLocalMaterialHandle:C,roleLocalMaterialRef:o.roleLocalActivation.roleLocalMaterialRef,publicFacts:x,authMethod:w},participantIds:y,thresholdEcdsaPublicKeyB64u:o.thresholdEcdsaPublicKeyB64u,ethereumAddress:b,relayerVerifyingShareB64u:o.relayerVerifyingShareB64u,routerAbEcdsaDerivationNormalSigning:S},session:T}}async function He(e,t){return await Ve(e,t)}function Ue(e){let t;try{t=c(e.evidenceSetDigest)}catch(e){throw Error(e instanceof Error?e.message:`ECDSA explicit export evidence digest is invalid`)}let n=Math.floor(Number(e.expiresAtMs)),r=g(e.operation);if(r.operation_kind!==`evm.export_key`)throw Error(`ECDSA explicit export operation kind is invalid`);if(!Number.isSafeInteger(n)||n<=Date.now())throw Error(`ECDSA explicit export operation authorization expiry is invalid`);let i=We(e.unseal);return{kind:`verified_step_up`,evidenceSetDigest:t,operation:r,expiresAtMs:n,quotaUse:`none`,unseal:i}}function We(e){switch(e.kind){case`not_requested`:return{kind:`not_requested`};case`email_otp_grant`:{let t=String(e.grant||``).trim(),n=String(e.challenge_id||``).trim();if(!t||!n)throw Error(`ECDSA explicit export Email OTP unseal grant is invalid`);return{kind:`email_otp_grant`,grant:t,challenge_id:n}}default:{let t=e;throw Error(`Unsupported ECDSA explicit export unseal state: ${String(t)}`)}}}async function I(e){let t=String(e.relayerUrl||``).trim();if(!t)throw Error(`ECDSA explicit export relayer URL is required`);return{kind:`explicit_key_export_ecdsa_activation_result`,purpose:`explicit_key_export`,material:{kind:`auth_neutral_ecdsa_export_material_v1`,relayerUrl:t,persistedMaterial:e.existingRoleLocalMaterial},authorization:Ue(e.authorization)}}function L(e,t){let n=String(e||t||``).trim();if(!n)throw Error(`Missing relayer url (configs.network.relayer.url)`);return n}function R(e){return`key`in e&&!!e.key&&`keyHandle`in e&&!!String(e.keyHandle||``).trim()}function z(e){return R(e)?e.key.walletId:e.walletId}function B(e){return R(e)?e.lanePolicy.chainTarget:e.chainTarget}function Ge(e){return e.kind===`email_otp_ecdsa_bootstrap`?{authMethod:u.emailOtp,signerSource:l.emailOtpRegistration}:{authMethod:u.passkey,signerSource:l.passkeyRegistration}}function Ke(e){switch(e.kind){case`passkey_preauthorized_ecdsa_bootstrap`:case`wallet_session_reconnect_ecdsa_bootstrap`:return e.authorizationAuthority;case`passkey_fresh_ecdsa_bootstrap`:case`email_otp_ecdsa_bootstrap`:return e.existingRoleLocalMaterial.authority}}function qe(e){if(!(`sessionActivation`in e.request)||!e.request.sessionActivation)return;let t=e.request.sessionActivation,n=A(t)?t.activation:t,r=A(t)?t.authorization:{record:t.session.wallet_session,operationCredential:t.session.operation_credential};le({walletId:e.walletId,authority:e.authority,walletSession:r.record,operationCredential:r.operationCredential,expectedAuthorizationId:n.session.authorization_id,expectedWalletSessionId:n.session.wallet_session_id,expectedQuotaId:n.session.quota_id,expectedExpiresAtMs:n.session.expires_at_ms}),e.request.kind===`passkey_preauthorized_ecdsa_bootstrap`&&ue({expected:e.request.authorizationIdentity,walletSession:r.record})}function Je(e,t){let n=(e,n,r)=>({kind:`session_bootstrap`,purpose:`transaction_signing`,relayerUrl:t,keyHandle:T(e.keyHandle),key:e.key,lanePolicy:e.lanePolicy,publicCapability:e.publicCapability,existingRoleLocalMaterial:e.existingRoleLocalMaterial,...e.requestId?{requestId:e.requestId}:{},...r,...n?{walletSessionRouteAuth:n}:{}}),r=e=>({kind:`session_bootstrap`,purpose:`transaction_signing`,relayerUrl:t,keyHandle:T(e.keyHandle),key:e.key,lanePolicy:e.lanePolicy,publicCapability:e.publicCapability,existingRoleLocalMaterial:e.existingRoleLocalMaterial,...e.requestId?{requestId:e.requestId}:{},authKind:`passkey`,passkeyCredentialIdB64u:e.passkeyCredentialIdB64u,preauthorizedSessionActivation:e.sessionActivation});switch(e.kind){case`passkey_fresh_ecdsa_bootstrap`:return n(e,e.routeAuth,{authKind:`passkey`,passkeyCredentialIdB64u:e.passkeyCredentialIdB64u});case`passkey_preauthorized_ecdsa_bootstrap`:return r(e);case`wallet_session_reconnect_ecdsa_bootstrap`:return n(e,e.routeAuth,{authKind:`passkey`,passkeyCredentialIdB64u:e.passkeyCredentialIdB64u});case`email_otp_ecdsa_bootstrap`:{let r={authKind:`email_otp`,emailOtpWorkerSessionHandle:e.emailOtpWorkerSessionHandle};return e.sessionActivation?{kind:`session_bootstrap`,purpose:`transaction_signing`,relayerUrl:t,keyHandle:T(e.keyHandle),key:e.key,lanePolicy:e.lanePolicy,publicCapability:e.publicCapability,existingRoleLocalMaterial:e.existingRoleLocalMaterial,...e.requestId?{requestId:e.requestId}:{},...r,preauthorizedSessionActivation:e.sessionActivation}:n(e,e.routeAuth,r)}}throw Error(`[SigningEngine][ecdsa] unsupported ECDSA bootstrap request`)}function Ye(e,t){return{purpose:`explicit_key_export`,relayerUrl:t,existingRoleLocalMaterial:e.existingRoleLocalMaterial,authorization:e.authorization}}function Xe(e,t){return{purpose:`explicit_key_export`,relayerUrl:t,existingRoleLocalMaterial:e.existingRoleLocalMaterial,authorization:e.authorization}}async function Ze(e,t){if(t.kind===`reuse_warm_ecdsa_bootstrap`)throw Error(`[SigningEngine][ecdsa] reuse_warm bootstrap must resolve an existing exact material request before activation`);let n=Ke(t),r=f(z(t)),i=B(t),a=L(t.relayerUrl,e.defaultRelayerUrl),o=e.getSignerWorkerContext(),s={touchIdPrompt:e.touchIdPrompt,workerCtx:o,routerAbNormalSigning:e.routerAbNormalSigning};qe({request:t,walletId:r,authority:n});let c=await He(s,Je(t,a)),l=Ge(t);return await e.persistThresholdEcdsaBootstrapForWalletTarget({walletId:r,chainTarget:i,bootstrap:c,signerAuth:l}),await t.beforeAuthorizationPersistence?.(),await de(oe,{walletId:r,authority:n,bootstrap:c}),c}async function Qe(e,t){return await I(Ye(t,L(t.relayerUrl,e.defaultRelayerUrl)))}async function $e(e,t){return await I(Xe(t,L(t.relayerUrl,e.defaultRelayerUrl)))}async function V(e,t,n){let r=String(t),i=(e.get(r)||Promise.resolve()).catch(()=>void 0),a,o=new Promise(e=>{a=e}),s=i.then(()=>o);e.set(r,s),await i;try{return await n()}finally{a(),e.get(r)===s&&e.delete(r)}}function et(e,t){return t.runtimeScopeBootstrap&&(e.runtimeScopeBootstrap=t.runtimeScopeBootstrap),t.operationIntent&&(e.operationIntent=t.operationIntent),typeof t.ttlMs==`number`&&(e.ttlMs=t.ttlMs),e}function H(e){return et({kind:`email_otp_ecdsa_activation`,purpose:`transaction_signing`,walletKey:e.walletKey,lanePolicy:e.lanePolicy,publicCapability:e.publicCapability,existingRoleLocalMaterial:e.existingRoleLocalMaterial,source:e.source,relayerUrl:e.relayerUrl,sessionIdentity:e.sessionIdentity,sessionKind:e.sessionKind,sessionBudgetUses:e.sessionBudgetUses,runtimePolicy:e.runtimePolicy,emailOtpWorkerSessionHandle:e.emailOtpWorkerSessionHandle,emailOtpAuthContext:e.emailOtpAuthContext,...`preauthorizedSessionActivation`in e?{preauthorizedSessionActivation:e.preauthorizedSessionActivation}:{walletSessionRouteAuth:e.walletSessionRouteAuth}},e)}function U(e){if(ce(e.context)!==e.expected)throw Error(`Email OTP ${e.label} activation requires ${e.expected} retention`)}function tt(e){return U({context:e.emailOtpAuthContext,expected:`session`,label:`session bootstrap`}),H(e)}function nt(e){return U({context:e.emailOtpAuthContext,expected:`session`,label:`recovered session`}),H(e)}function rt(e){return U({context:e.emailOtpAuthContext,expected:`session`,label:`preauthorized session bootstrap`}),H(e)}function it(e){return U({context:e.emailOtpAuthContext,expected:`single_use`,label:`per-operation reauth`}),H(e)}function at(e){return{kind:`email_otp_ecdsa_export_activation`,purpose:`explicit_key_export`,existingRoleLocalMaterial:e.existingRoleLocalMaterial,relayerUrl:e.relayerUrl,authorization:e.authorization}}function ot(e){return{kind:`passkey_ecdsa_export_activation`,purpose:`explicit_key_export`,existingRoleLocalMaterial:e.existingRoleLocalMaterial,relayerUrl:e.relayerUrl,authorization:e.authorization}}function st(e){switch(e.kind){case`default_policy`:return;case`scoped_policy`:return e.scope}throw Error(`[SigningEngine][ecdsa] unsupported ECDSA activation policy`)}function W(e,t){t.runtimeScopeBootstrap&&(e.runtimeScopeBootstrap=t.runtimeScopeBootstrap),t.operationIntent&&(e.operationIntent=t.operationIntent);let n=st(t.runtimePolicy);return`walletId`in e&&(typeof t.ttlMs==`number`&&(e.ttlMs=t.ttlMs),n&&(e.runtimePolicyScope=n)),e}function ct(e){switch(e.kind){case`passkey_ecdsa_activation`:return{kind:`passkey_existing_session_activation`,request:e};case`email_otp_ecdsa_activation`:return{kind:`email_otp_existing_session_activation`,request:e}}throw Error(`[SigningEngine][ecdsa] unsupported activation request`)}function lt(e){let t=String(e.webauthnAuthentication.rawId||e.webauthnAuthentication.id||``).trim();if(!t)throw Error(`[SigningEngine][ecdsa] passkey activation requires credential identity`);return t}function ut(e){let t=ct(e);switch(t.kind){case`passkey_existing_session_activation`:return W({kind:`passkey_fresh_ecdsa_bootstrap`,keyHandle:t.request.walletKey.keyHandle,key:E(t.request.walletKey),lanePolicy:t.request.lanePolicy,publicCapability:t.request.publicCapability,existingRoleLocalMaterial:t.request.existingRoleLocalMaterial,source:t.request.source,relayerUrl:t.request.relayerUrl,requestId:t.request.requestId,passkeyCredentialIdB64u:lt(t.request),routeAuth:t.request.walletSessionRouteAuth},t.request);case`email_otp_existing_session_activation`:{let e={kind:`email_otp_ecdsa_bootstrap`,keyHandle:t.request.walletKey.keyHandle,key:E(t.request.walletKey),lanePolicy:t.request.lanePolicy,publicCapability:t.request.publicCapability,existingRoleLocalMaterial:t.request.existingRoleLocalMaterial,source:`email_otp`,relayerUrl:t.request.relayerUrl,emailOtpWorkerSessionHandle:t.request.emailOtpWorkerSessionHandle,emailOtpAuthContext:t.request.emailOtpAuthContext};return t.request.preauthorizedSessionActivation?W({...e,sessionActivation:t.request.preauthorizedSessionActivation},t.request):W({...e,routeAuth:t.request.walletSessionRouteAuth},t.request)}}throw Error(`[SigningEngine][ecdsa] unsupported activation request`)}function dt(e){return{kind:`passkey_ecdsa_export_bootstrap`,purpose:`explicit_key_export`,existingRoleLocalMaterial:e.existingRoleLocalMaterial,relayerUrl:e.relayerUrl,authorization:e.authorization}}async function ft(e){let t=e.bootstrap.thresholdEcdsaKeyRef.backendBinding;if(!t)throw Error(`[WarmSessionStore] threshold ECDSA bootstrap is missing its backend binding`);let n=pt(t);if(!n)return;let r=await e.deps.persistEcdsaRoleLocalReadyRecord({record:n,storageKeyFacts:x(n)});if(!r.ok)throw Error(`[WarmSessionStore] threshold ECDSA role-local ready record persistence failed (${r.code}): ${r.message}`)}function pt(e){switch(e.materialKind){case`role_local_ready_state_blob`:return e.ecdsaRoleLocalReadyRecord;case`role_local_worker_handle`:case`role_local_durable_public_anchor`:case`role_local_durable_sealed_ref`:case`metadata_only`:return null;default:{let t=e;throw Error(`[WarmSessionStore] unsupported threshold ECDSA backend binding: ${JSON.stringify(t)}`)}}}async function G(e,t){let n=f(z(t));return await V(e.queueByWallet,n,async()=>{let n=await Ze(e.activationDeps,t);return await ft({deps:e,bootstrap:n}),n})}async function mt(e,t){return await G(e,ut(t))}async function ht(e,t){return await Qe(e.activationDeps,dt(t))}async function gt(e,t){let n={kind:`email_otp_ecdsa_export_bootstrap`,purpose:`explicit_key_export`,existingRoleLocalMaterial:t.existingRoleLocalMaterial,relayerUrl:t.relayerUrl,authorization:t.authorization};return await $e(e.activationDeps,n)}const K=`ecdsa-derivation:role-local:product-export-confirmation:v5`,q=`ecdsa-derivation:role-local:product-export-authorization:v5`;function J(e){return{kind:`operation_step_up`}}function Y(e){return{authorizationKind:e.kind,authorizationId:e.evidenceSetDigest}}function X(){let e=globalThis.crypto;if(!e||typeof e.getRandomValues!=`function`)throw Error(`crypto.getRandomValues is required for threshold ECDSA export`);return r(e.getRandomValues(new Uint8Array(32)))}async function Z(e){let t=String(e.relayerUrl||``).trim().replace(/\/+$/g,``);if(!t)throw Error(`[SigningEngine][ecdsa-export] relayer URL is required`);if(e.authorization.kind===`wallet_session_bearer`&&!e.authorization.token.trim())throw Error(`[SigningEngine][ecdsa-export] Wallet Session operation credential is required`);let n={"Content-Type":`application/json`};e.authorization.kind===`wallet_session_bearer`&&(n.Authorization=`Bearer ${e.authorization.token}`);try{let r=await fetch(`${t}${b}`,{method:`POST`,credentials:e.authorization.kind===`legacy_cookie`?`include`:`omit`,headers:n,body:JSON.stringify({request:e.request,requestDigestB64u:e.requestDigestB64u})}),i=await r.json().catch(()=>null);if(!r.ok){let e=i&&typeof i==`object`&&!Array.isArray(i)?i:null;return{ok:!1,code:String(e?.code||`http_error`),message:String(e?.message||`HTTP ${r.status}`)}}return{ok:!0,value:m(i)}}catch(e){return{ok:!1,error:e instanceof Error?e.message:String(e)}}}async function _t(e){return await Z({...e,authorization:{kind:`legacy_cookie`}})}async function vt(e){return await Z({relayerUrl:e.relayerUrl,request:e.request,requestDigestB64u:e.requestDigestB64u,authorization:{kind:`wallet_session_bearer`,token:e.operationCredential.token}})}function Q(e){let t=Math.min(e.issuedAtUnixMs+6e4,e.authorizationExpiresAtMsCeiling??1/0);if(Number.isFinite(t)&&t>e.issuedAtUnixMs)return t;throw new ye({failure:ve(_e.expired),message:`Wallet Session expired before ECDSA export authorization`})}function yt(e){if(String(e.material.persistedMaterial.publicFacts.walletId)!==String(e.walletSessionUserId))throw Error(`[SigningEngine][ecdsa-export] explicit export wallet mismatch`)}async function $(e){return r(await t(n(e)))}function bt(e){switch(e.kind){case`rehydrated`:return e;case`device_link_required`:throw Error(`[SigningEngine][ecdsa-export] device_link_required: local threshold ECDSA material is unavailable`);case`corrupt`:throw Error(`[SigningEngine][ecdsa-export] local threshold ECDSA material is corrupt (${e.reason}): ${e.message}`);default:{let t=e;throw Error(`Unsupported ECDSA export material resolution: ${String(t)}`)}}}async function xt(e){return bt(await O({purpose:`explicit_key_export`,source:D(e.persistedMaterial),workerCtx:e.workerCtx}))}function St(e){let t=Y(e.material.operationAuthorization),n=e.material.persistedMaterial.publicFacts;return{version:q,operation:`explicit_key_export`,keyHandle:n.keyHandle,walletId:String(n.walletId),ecdsaThresholdKeyId:e.ecdsaThresholdKeyId,relayerKeyId:n.publicCapability.signer_set.selected_server.server_id,signingRootId:e.signingRootId,signingRootVersion:e.signingRootVersion,contextBinding32B64u:e.contextBinding32B64u,publicIdentity:e.publicIdentity,exportRequestNonce32B64u:e.exportRequestNonce32B64u,confirmationDigest32B64u:e.confirmationDigest32B64u,issuedAtUnixMs:e.issuedAtUnixMs,expiresAtUnixMs:e.expiresAtUnixMs,authorizationKind:t.authorizationKind,authorizationId:t.authorizationId,materialActivation:y(e.material.persistedMaterial.materialActivation),participantIds:n.participantIds}}async function Ct(e,t){let n=t.persistedMaterial.publicFacts,r=y(t.persistedMaterial.materialActivation);switch(t.factorAuthorization.kind){case`passkey`:{let e=String(t.factorAuthorization.credential.rawId||t.factorAuthorization.credential.id||``).trim();if(!e)throw Error(`[SigningEngine][ecdsa-export] passkey authorization credential is missing`);if(e!==t.factorAuthorization.passkeyCredentialIdB64u)throw Error(`[SigningEngine][ecdsa-export] passkey export authorization credential mismatch`);break}case`email_otp_verified`:break;default:{let e=t.factorAuthorization;throw Error(`Unsupported ECDSA export authorization: ${String(e)}`)}}let i=Date.now(),a=Q({issuedAtUnixMs:i,authorizationExpiresAtMsCeiling:t.operationAuthorization.expiresAtMs}),o={derivationClientSharePublicKey33B64u:n.derivationClientSharePublicKey33B64u,relayerPublicKey33B64u:n.relayerPublicKey33B64u,groupPublicKey33B64u:n.groupPublicKey33B64u,ethereumAddress:n.ethereumAddress},s=X(),c=Y(t.operationAuthorization),l=await $({version:K,walletId:String(n.walletId),ecdsaThresholdKeyId:n.ecdsaThresholdKeyId,relayerKeyId:n.publicCapability.signer_set.selected_server.server_id,contextBinding32B64u:n.contextBinding32B64u,publicIdentity:o,authorizationKind:c.authorizationKind,authorizationId:c.authorizationId,materialActivation:r,exportRequestNonce32B64u:s,issuedAtUnixMs:i,expiresAtUnixMs:a}),u=await $(St({ecdsaThresholdKeyId:n.ecdsaThresholdKeyId,signingRootId:n.signingRootId,signingRootVersion:n.signingRootVersion,contextBinding32B64u:n.contextBinding32B64u,publicIdentity:o,exportRequestNonce32B64u:s,confirmationDigest32B64u:l,issuedAtUnixMs:i,expiresAtUnixMs:a,material:t})),f=n.publicCapability,p=`ecdsa-export:${s}`,m=await fe({workerCtx:e.getSignerWorkerContext(),command:{kind:`create_router_ab_ecdsa_explicit_export_ceremony_v1`,ceremonyId:p,request:{context:f.context,lifecycle:{lifecycle_id:p,work_kind:`key_export`,primitive_request_kind:`export`,root_share_epoch:f.activation_epoch,account_id:String(n.walletId),session_id:d.thresholdEcdsaSession(p),signer_set_id:f.signer_set.signer_set_id,selected_server_id:f.signer_set.selected_server.server_id},public_identity:f.public_identity,signer_set:f.signer_set,router_id:f.router_id,client_id:f.client_id,authorization:J(t.operationAuthorization),authorization_id:t.operationAuthorization.evidenceSetDigest,operation:t.operationAuthorization.operation,material_activation:r,export_authorization_digest_b64u:u,export_nonce:s,expires_at_ms:a,deriver_recipient_keys:f.deriver_recipient_keys}}});if(m.kind!==`router_ab_ecdsa_explicit_export_ceremony_created_v1`)throw Error(`[SigningEngine][ecdsa-export] strict export ceremony kind mismatch`);try{let i=await _t({relayerUrl:t.relayerUrl,request:m.request,requestDigestB64u:m.requestDigestB64u});if(!i.ok)throw Error(i.error||i.message||i.code||`Strict ECDSA explicit export request failed`);let a=await pe({workerCtx:e.getSignerWorkerContext(),command:{kind:`finalize_router_ab_ecdsa_explicit_export_v1`,ceremonyId:p,clientProofFinalization:{kind:`finalize_encrypted_client_proof_bundles_v2`,bundles:i.value.response.bundles},signingWorkerExport:i.value.signing_worker_export,authorizationKind:c.authorizationKind,authorizationId:c.authorizationId,materialActivation:r,roleLocalMaterial:t.liveMaterial.liveHandle,roleLocalMaterialRef:t.liveMaterial.materialRef,publicFacts:n}});return{publicKeyHex:a.publicKeyHex,privateKeyHex:a.privateKeyHex,ethereumAddress:a.ethereumAddress}}catch(t){throw await he({workerCtx:e.getSignerWorkerContext(),command:{kind:`close_router_ab_ecdsa_post_registration_ceremony_v1`,ceremonyId:p}}).catch(()=>void 0),t}}async function wt(e,t){let n=t.exportProvision.material;yt({material:n,walletSessionUserId:t.walletSessionUserId});let r=String(n.relayerUrl||``).trim();if(!r)throw Error(`[SigningEngine][ecdsa-export] relayer URL is required`);let i=n.persistedMaterial;return await Ct(e,{persistedMaterial:i,liveMaterial:await xt({persistedMaterial:i,workerCtx:e.getSignerWorkerContext()}),relayerUrl:r,operationAuthorization:t.exportProvision.authorization,factorAuthorization:t.factorAuthorization})}function Tt(t){let n=t.runtime.normalSigning.scope,r=t.operationAuthorization.operation,i=_(r.material_activation);if(r.operation_kind!==`evm.export_key`||r.wallet_id!==String(t.runtime.walletId)||r.key_handle!==t.runtime.publicFacts.keyHandle||r.relayer_key_id!==t.runtime.relayerKeyId||r.participant_ids[0]!==t.runtime.publicFacts.participantIds[0]||r.participant_ids[1]!==t.runtime.publicFacts.participantIds[1]||r.signing_worker_id!==n.signing_worker.server_id||r.normal_signing_scope.wallet_id!==n.wallet_id||r.normal_signing_scope.context.application_binding_digest_b64u!==n.context.application_binding_digest_b64u||r.normal_signing_scope.public_identity.context_binding_b64u!==n.public_identity.context_binding_b64u||r.normal_signing_scope.public_identity.threshold_public_key33_b64u!==n.public_identity.threshold_public_key33_b64u||r.normal_signing_scope.signing_worker.server_id!==n.signing_worker.server_id||!e(i,t.runtime.materialActivation)||!e(_(r.normal_signing_scope.material_activation),t.runtime.materialActivation))throw Error(`[SigningEngine][ecdsa-export] active Wallet Authority operation identity changed`)}async function Et(e,t){Tt(t);let n=t.runtime,r=n.normalSigning.scope;if(t.operationAuthorization.exportTopology.signer_set.selected_server.server_id!==r.signing_worker.server_id)throw Error(`[SigningEngine][ecdsa-export] active export topology changed`);let i=r.material_activation,a=Date.now(),o=Q({issuedAtUnixMs:a,authorizationExpiresAtMsCeiling:t.operationAuthorization.expiresAtMs}),s={derivationClientSharePublicKey33B64u:r.public_identity.derivation_client_share_public_key33_b64u,relayerPublicKey33B64u:r.public_identity.server_public_key33_b64u,groupPublicKey33B64u:r.public_identity.threshold_public_key33_b64u,ethereumAddress:n.publicFacts.thresholdOwnerAddress},l=X(),u=Y(t.operationAuthorization),f=await $({version:K,walletId:String(n.walletId),ecdsaThresholdKeyId:r.ecdsa_threshold_key_id,relayerKeyId:n.relayerKeyId,contextBinding32B64u:r.public_identity.context_binding_b64u,publicIdentity:s,authorizationKind:u.authorizationKind,authorizationId:u.authorizationId,materialActivation:i,exportRequestNonce32B64u:l,issuedAtUnixMs:a,expiresAtUnixMs:o}),p=await $({version:q,operation:`explicit_key_export`,keyHandle:n.publicFacts.keyHandle,walletId:String(n.walletId),ecdsaThresholdKeyId:r.ecdsa_threshold_key_id,relayerKeyId:n.relayerKeyId,signingRootId:r.signing_root_id,signingRootVersion:r.signing_root_version,contextBinding32B64u:r.public_identity.context_binding_b64u,publicIdentity:s,exportRequestNonce32B64u:l,confirmationDigest32B64u:f,issuedAtUnixMs:a,expiresAtUnixMs:o,authorizationKind:u.authorizationKind,authorizationId:u.authorizationId,materialActivation:i,participantIds:n.publicFacts.participantIds}),m=`ecdsa-export:${l}`,h={context:r.context,lifecycle:{lifecycle_id:m,work_kind:`key_export`,primitive_request_kind:`export`,root_share_epoch:r.activation_epoch,account_id:r.wallet_id,session_id:d.thresholdEcdsaSession(m),signer_set_id:t.operationAuthorization.exportTopology.signer_set.signer_set_id,selected_server_id:t.operationAuthorization.exportTopology.signer_set.selected_server.server_id},public_identity:r.public_identity,signer_set:t.operationAuthorization.exportTopology.signer_set,router_id:t.operationAuthorization.exportTopology.router_id,client_id:String(n.walletId),authorization:J(t.operationAuthorization),operation:t.operationAuthorization.operation,authorization_id:c(t.operationAuthorization.evidenceSetDigest),material_activation:i,export_authorization_digest_b64u:p,export_nonce:l,expires_at_ms:o,deriver_recipient_keys:t.operationAuthorization.exportTopology.deriver_recipient_keys},g=await me({holderHandleId:n.holderRuntime.holderHandleId,request:h,workerCtx:e.getSignerWorkerContext()});if(g.kind!==`ecdsa_holder_ordinary_export_request_created_v1`)throw Error(`[SigningEngine][ecdsa-export] active holder export request kind mismatch`);let _=await vt({relayerUrl:t.relayerUrl,request:g.request,requestDigestB64u:g.requestDigestB64u,operationCredential:n.operationCredential});if(!_.ok)throw Error(_.error||_.message||_.code||`Active Wallet Authority ECDSA export request failed`);let v={wallet_id:r.wallet_id,key_handle:n.publicFacts.keyHandle,ecdsa_threshold_key_id:r.ecdsa_threshold_key_id,signing_root_id:r.signing_root_id,signing_root_version:r.signing_root_version,activation_epoch:r.activation_epoch,signing_worker_id:r.signing_worker.server_id,context_binding_b64u:r.public_identity.context_binding_b64u,threshold_public_key33_b64u:r.public_identity.threshold_public_key33_b64u,export_request_digest_b64u:g.requestDigestB64u,export_authorization_digest_b64u:p,export_nonce:l,authorization_kind:`verified_step_up`,authorization_id:t.operationAuthorization.evidenceSetDigest,material_activation:i,lifecycle_id:m,recipient_identity:g.request.client_id,recipient_public_key:g.request.client_ephemeral_public_key,expires_at_ms:g.request.expires_at_ms},y=await ge({holderHandleId:n.holderRuntime.holderHandleId,requestDigestB64u:g.requestDigestB64u,expectedBinding:v,forwardedResponse:_.value,workerCtx:e.getSignerWorkerContext()});return{publicKeyHex:y.publicKeyHex,privateKeyHex:y.privateKeyHex,ethereumAddress:y.ethereumAddress}}export{A as _,it as a,tt as c,mt as d,G as f,Ce as g,z as h,at as i,gt as l,B as m,wt as n,rt as o,V as p,ot as r,nt as s,Et as t,ht as u,be as v,xe as y};
@@ -1 +1 @@
1
- import"./signerDomain-BAsLT3XN.js";import"./accountIds-CW2BP-d9.js";import"./signerSlot-D2RZnb27.js";import"./registrationSignerPlan-DK2b3N_p.js";import{C as e,D as t,E as n,S as r,n as i}from"./accountLifecycle-6DHYWf0v.js";function a(a){return{storeWalletEcdsaSignerRecords:t=>e(a.accountLifecycle,t),storeWalletEmailOtpEcdsaSignerRecords:e=>t(a.accountLifecycle,e),storeWalletEcdsaRecoverySignerRecords:e=>r(a.accountLifecycle,e),finalizeWalletEcdsaRegistration:e=>i(a.accountLifecycle,e),storeWalletEmailOtpEcdsaRegistrationData:e=>n(a.accountLifecycle,e)}}export{a as createEcdsaWalletRecordsService};
1
+ import"./signerDomain-D-EUTlLK.js";import"./accountIds-DGWFzEnw.js";import"./signerSlot-BlijMq8C.js";import"./registrationSignerPlan-CeMidFme.js";import{C as e,D as t,E as n,S as r,n as i}from"./accountLifecycle-B5a9SCM7.js";function a(a){return{storeWalletEcdsaSignerRecords:t=>e(a.accountLifecycle,t),storeWalletEmailOtpEcdsaSignerRecords:e=>t(a.accountLifecycle,e),storeWalletEcdsaRecoverySignerRecords:e=>r(a.accountLifecycle,e),finalizeWalletEcdsaRegistration:e=>i(a.accountLifecycle,e),storeWalletEmailOtpEcdsaRegistrationData:e=>n(a.accountLifecycle,e)}}export{a as createEcdsaWalletRecordsService};
@@ -0,0 +1 @@
1
+ import{S as e,c as t,r as n,t as r}from"./digests-BIaE0DMd.js";import{i}from"./base64-BmKR3UqU.js";let a=function(e){return e[e.SignTransactionsWithActionsSuccess=0]=`SignTransactionsWithActionsSuccess`,e[e.SignNep413MessageSuccess=1]=`SignNep413MessageSuccess`,e[e.SignDelegateActionSuccess=2]=`SignDelegateActionSuccess`,e}({});const o={ThresholdEd25519ComputeNep413SigningDigest:`thresholdEd25519ComputeNep413SigningDigest`,ThresholdEd25519ComputeDelegateSigningDigest:`thresholdEd25519ComputeDelegateSigningDigest`,ThresholdEd25519BuildDelegateSigningPayload:`thresholdEd25519BuildDelegateSigningPayload`,ThresholdEd25519FinalizeDelegateFromSignature:`thresholdEd25519FinalizeDelegateFromSignature`,ThresholdEd25519FinalizeNearTxFromSignature:`thresholdEd25519FinalizeNearTxFromSignature`,ThresholdEd25519BuildNearTxUnsignedBorsh:`thresholdEd25519BuildNearTxUnsignedBorsh`,ThresholdEd25519DecodeSignedNearTxBorsh:`thresholdEd25519DecodeSignedNearTxBorsh`},s={uiMode:`modal`,behavior:`requireClick`,autoProceedDelay:0};async function c(e){return f({kind:`near:transactions_with_actions:planning`,payload:{purpose:`near_transaction`,...p(e),transactions:m(e.transactions)}})}async function l(e){return f({kind:`near:transactions_with_actions`,payload:{purpose:`near_transaction`,...p(e),transactions:m(e.transactions),unsignedTransactionBorshB64u:t(e.unsignedTransactionBorshB64u,`unsignedTransactionBorshB64u`),signingDigestB64u:t(e.signingDigestB64u,`signingDigestB64u`)}})}async function u(e){return f({kind:`near:nep413`,payload:{purpose:`nep413_message`,...p(e),message:t(e.message,`message`),recipient:t(e.recipient,`recipient`),nonce:t(e.nonce,`nonce`),callbackUrl:e.callbackUrl}})}async function d(e){return f({kind:`near:delegate_action`,payload:{purpose:`delegate_action`,...p(e),delegate:h(e.delegate)}})}async function f(e){return`sha256:${i(await n(r({kind:t(e.kind,`kind`),payload:O(e.payload)})))}`}function p(e){return{nearAccountId:t(e.nearAccountId,`nearAccountId`),nearNetworkId:t(e.nearNetworkId,`nearNetworkId`),relayerKeyId:t(e.relayerKeyId,`relayerKeyId`),signerPublicKey:t(e.signerPublicKey,`signerPublicKey`)}}function m(e){if(!Array.isArray(e)||e.length<1)throw Error(`transactions must be a non-empty array`);return e.map((e,t)=>g(e,`transactions[${t}]`))}function h(e){return{senderId:t(e.senderId,`delegate.senderId`),receiverId:t(e.receiverId,`delegate.receiverId`),actions:_(e.actions,`delegate.actions`),nonce:t(e.nonce,`delegate.nonce`),maxBlockHeight:t(e.maxBlockHeight,`delegate.maxBlockHeight`),publicKey:t(e.publicKey,`delegate.publicKey`)}}function g(n,r){let i=e(n,r);return{nearAccountId:t(i.nearAccountId,`${r}.nearAccountId`),receiverId:t(i.receiverId,`${r}.receiverId`),actions:_(i.actions,`${r}.actions`)}}function _(e,t){if(!Array.isArray(e))throw Error(`${t} must be an array`);return e.map((e,n)=>v(e,`${t}[${n}]`))}function v(n,r){let i=e(n,r),a=t(i.action_type,`${r}.action_type`);switch(a){case`CreateAccount`:return{action_type:a};case`DeployContract`:return{action_type:a,code:C(i.code,`${r}.code`)};case`FunctionCall`:return{action_type:a,method_name:t(i.method_name,`${r}.method_name`),args:t(i.args,`${r}.args`),gas:t(i.gas,`${r}.gas`),deposit:t(i.deposit,`${r}.deposit`)};case`Transfer`:return{action_type:a,deposit:t(i.deposit,`${r}.deposit`)};case`Stake`:return{action_type:a,stake:t(i.stake,`${r}.stake`),public_key:t(i.public_key,`${r}.public_key`)};case`AddKey`:return{action_type:a,public_key:t(i.public_key,`${r}.public_key`),access_key:t(i.access_key,`${r}.access_key`)};case`DeleteKey`:return{action_type:a,public_key:t(i.public_key,`${r}.public_key`)};case`DeleteAccount`:return{action_type:a,beneficiary_id:t(i.beneficiary_id,`${r}.beneficiary_id`)};case`SignedDelegate`:return{action_type:a,delegate_action:y(i.delegate_action,`${r}.delegate_action`),signature:x(i.signature,`${r}.signature`)};case`DeployGlobalContract`:return{action_type:a,code:C(i.code,`${r}.code`),deploy_mode:E(i.deploy_mode,`${r}.deploy_mode`)};case`UseGlobalContract`:return S(i,r)}throw Error(`${r}.action_type is unsupported`)}function y(n,r){let i=e(n,r);return{senderId:t(i.senderId,`${r}.senderId`),receiverId:t(i.receiverId,`${r}.receiverId`),actions:_(i.actions,`${r}.actions`),nonce:T(i.nonce,`${r}.nonce`),maxBlockHeight:T(i.maxBlockHeight,`${r}.maxBlockHeight`),publicKey:b(i.publicKey,`${r}.publicKey`)}}function b(t,n){let r=e(t,n);return{keyType:w(r.keyType,`${n}.keyType`),keyData:C(r.keyData,`${n}.keyData`)}}function x(t,n){let r=e(t,n);return{keyType:w(r.keyType,`${n}.keyType`),signatureData:C(r.signatureData,`${n}.signatureData`)}}function S(e,t){let n=D(e.account_id),r=D(e.code_hash);if(n&&r)throw Error(`${t} requires exactly one of account_id or code_hash`);if(n)return{action_type:`UseGlobalContract`,account_id:n};if(r)return{action_type:`UseGlobalContract`,code_hash:r};throw Error(`${t} requires exactly one of account_id or code_hash`)}function C(e,t){if(!Array.isArray(e))throw Error(`${t} must be an array`);return e.map((e,n)=>{if(typeof e!=`number`||!Number.isInteger(e)||e<0||e>255)throw Error(`${t}[${n}] must be a byte`);return e})}function w(e,t){if(typeof e!=`number`||!Number.isSafeInteger(e))throw Error(`${t} must be a safe integer`);return e}function T(e,n){return typeof e==`bigint`||typeof e==`number`&&Number.isSafeInteger(e)?e:t(e,n)}function E(e,n){let r=t(e,n);if(r===`CodeHash`||r===`AccountId`)return r;throw Error(`${n} is invalid`)}function D(e){return String(e||``).trim()||null}function O(e){if(typeof e==`bigint`)return e.toString(10);if(e instanceof Uint8Array)return{__bytesB64u:i(e)};if(ArrayBuffer.isView(e))return{__bytesB64u:i(new Uint8Array(e.buffer,e.byteOffset,e.byteLength))};if(e instanceof ArrayBuffer)return{__bytesB64u:i(new Uint8Array(e))};if(Array.isArray(e))return e.map(O);if(!e||typeof e!=`object`)return e;let t={};for(let n of Object.keys(e).sort()){let r=O(e[n]);r!==void 0&&(t[n]=r)}return t}export{c as a,o as c,l as i,a as l,g as n,u as o,d as r,s,v as t};
@@ -1 +1 @@
1
- import{r as e,v as t}from"./domainIds-t1lp25yU.js";import{S as n,r,t as i}from"./digests-BIaE0DMd.js";import{r as a}from"./participants-BXdREC5k.js";import{i as o,r as s}from"./base64-BmKR3UqU.js";import{E as c,J as ee,P as l,Q as te}from"./activeWalletSession-BJ4B-nJo.js";import{r as u}from"./canonicalPrimitives-Jd3i_Ngz.js";import{n as ne}from"./signerDomain-BAsLT3XN.js";import{c as d,l as re}from"./ecdsaChainTarget-Bm5X4k-V.js";import{Dt as ie,Et as ae,Ot as oe,Tt as se}from"./digestEncoding-CqNXPZY9.js";import{r as f}from"./types-f7dyj5N6.js";function p(e){let t=typeof e==`string`?e.trim():``;if(!t.startsWith(`ederivation-key-`))throw Error(`Threshold ECDSA key handle is invalid`);return t}function m(e,t){let n=String(e??``).trim();if(!n)throw Error(`[threshold-ecdsa-key-handle] ${t} is required`);return n}function h(e){return String(e??``).trim()||`default`}async function ce(e){return`ederivation-key-${o(await r(i({domain:`seams.threshold_ecdsa.key_handle.v1`,ecdsaThresholdKeyId:m(e.ecdsaThresholdKeyId,`ecdsaThresholdKeyId`),signingRootId:m(e.signingRootId,`signingRootId`),signingRootVersion:h(e.signingRootVersion)})))}`}function g(e){return{code:`missing`,message:`${e} is required`}}function _(e,t){return{code:`invalid`,message:`${e} ${t}`}}function v(t,n){if(t==null)return{ok:!1,error:g(n)};if(typeof t!=`string`)return{ok:!1,error:_(n,`must be a string`)};let r=t.trim();return r?e(r)?{ok:!1,error:_(n,`must not contain whitespace or control characters`)}:{ok:!0,value:r}:{ok:!1,error:g(n)}}function y(e,t){if(e==null)return{ok:!1,error:g(t)};if(typeof e!=`string`||e.length===0)return{ok:!1,error:_(t,`must be non-empty base64url`)};try{let n=s(e);if(n.length===0||o(n)!==e)return{ok:!1,error:_(t,`must be canonical unpadded base64url`)}}catch{return{ok:!1,error:_(t,`must be canonical unpadded base64url`)}}return{ok:!0,value:e}}function b(e,t,n){if(e==null)return{ok:!1,error:g(t)};try{return{ok:!0,value:n(u(e))}}catch{return{ok:!1,error:_(t,`must be canonical base64url for 32 bytes`)}}}function le(e){return e}function ue(e){return e}function de(e){return e}function x(e,t,n){let r=new Set(t);for(let t of Object.keys(e))if(!r.has(t))throw Error(`${n}.${t} is not supported`);for(let r of t)if(!(r in e))throw Error(`${n}.${r} is required`)}function fe(e){return v(e,`laneHolderParticipantId`)}function pe(e){return v(e,`signingWorkerParticipantId`)}function me(e){return v(e,`signingWorkerRecipientKeyId`)}function he(e){return v(e,`laneHolderCustodyBindingId`)}function S(e){return b(e,`participantBindingDigestB64u`,de)}function ge(e){return b(e,`custodyBindingDigestB64u`,le)}function C(e){return b(e,`hpkePublicKeyDigestB64u`,ue)}function w(e){return{kind:`lane_holder_custody_identity_v1`,custodyBindingId:e.custodyBindingId,custodyBindingDigestB64u:e.custodyBindingDigestB64u}}function T(e){return{kind:`signing_worker_recipient_identity_v1`,recipientKeyId:e.recipientKeyId,hpkePublicKeyB64u:e.hpkePublicKeyB64u,hpkePublicKeyDigestB64u:e.hpkePublicKeyDigestB64u}}function E(e,t=`laneHolderCustodyIdentity`){let r=n(e,t);if(x(r,[`kind`,`custodyBindingId`,`custodyBindingDigestB64u`],t),r.kind!==`lane_holder_custody_identity_v1`)throw Error(`${t}.kind is invalid`);let i=he(r.custodyBindingId);if(!i.ok)throw Error(`${t}.${i.error.message}`);let a=ge(r.custodyBindingDigestB64u);if(!a.ok)throw Error(`${t}.${a.error.message}`);return w({custodyBindingId:i.value,custodyBindingDigestB64u:a.value})}function D(e,t=`signingWorkerRecipientIdentity`){let r=n(e,t);if(x(r,[`kind`,`recipientKeyId`,`hpkePublicKeyB64u`,`hpkePublicKeyDigestB64u`],t),r.kind!==`signing_worker_recipient_identity_v1`)throw Error(`${t}.kind is invalid`);let i=me(r.recipientKeyId);if(!i.ok)throw Error(`${t}.${i.error.message}`);let a=y(r.hpkePublicKeyB64u,`${t}.hpkePublicKeyB64u`);if(!a.ok)throw Error(a.error.message);let o=C(r.hpkePublicKeyDigestB64u);if(!o.ok)throw Error(`${t}.${o.error.message}`);return T({recipientKeyId:i.value,hpkePublicKeyB64u:a.value,hpkePublicKeyDigestB64u:o.value})}function O(e){return{kind:`lane_holder_participant_v1`,participantId:e.participantId,custodyBindingId:e.custody.custodyBindingId,custodyBindingDigestB64u:e.custody.custodyBindingDigestB64u,hpkePublicKeyB64u:e.hpkePublicKeyB64u,hpkePublicKeyDigestB64u:e.hpkePublicKeyDigestB64u,participantBindingDigestB64u:e.participantBindingDigestB64u}}function k(e){return{kind:`signing_worker_participant_v1`,participantId:e.participantId,recipientKeyId:e.recipient.recipientKeyId,hpkePublicKeyB64u:e.recipient.hpkePublicKeyB64u,hpkePublicKeyDigestB64u:e.recipient.hpkePublicKeyDigestB64u,participantBindingDigestB64u:e.participantBindingDigestB64u}}function A(e,t=`laneHolderParticipant`){let r=n(e,t);if(x(r,[`kind`,`participantId`,`custodyBindingId`,`custodyBindingDigestB64u`,`hpkePublicKeyB64u`,`hpkePublicKeyDigestB64u`,`participantBindingDigestB64u`],t),r.kind!==`lane_holder_participant_v1`)throw Error(`${t}.kind is invalid`);let i=fe(r.participantId);if(!i.ok)throw Error(`${t}.${i.error.message}`);let a=E({kind:`lane_holder_custody_identity_v1`,custodyBindingId:r.custodyBindingId,custodyBindingDigestB64u:r.custodyBindingDigestB64u},`${t}.custody`),o=y(r.hpkePublicKeyB64u,`${t}.hpkePublicKeyB64u`);if(!o.ok)throw Error(o.error.message);let s=C(r.hpkePublicKeyDigestB64u);if(!s.ok)throw Error(`${t}.${s.error.message}`);let c=S(r.participantBindingDigestB64u);if(!c.ok)throw Error(`${t}.${c.error.message}`);return O({participantId:i.value,custody:a,hpkePublicKeyB64u:o.value,hpkePublicKeyDigestB64u:s.value,participantBindingDigestB64u:c.value})}function j(e,t=`signingWorkerParticipant`){let r=n(e,t);if(x(r,[`kind`,`participantId`,`recipientKeyId`,`hpkePublicKeyB64u`,`hpkePublicKeyDigestB64u`,`participantBindingDigestB64u`],t),r.kind!==`signing_worker_participant_v1`)throw Error(`${t}.kind is invalid`);let i=pe(r.participantId);if(!i.ok)throw Error(`${t}.${i.error.message}`);let a=D({kind:`signing_worker_recipient_identity_v1`,recipientKeyId:r.recipientKeyId,hpkePublicKeyB64u:r.hpkePublicKeyB64u,hpkePublicKeyDigestB64u:r.hpkePublicKeyDigestB64u},`${t}.recipient`),o=S(r.participantBindingDigestB64u);if(!o.ok)throw Error(`${t}.${o.error.message}`);return k({participantId:i.value,recipient:a,participantBindingDigestB64u:o.value})}const M=[`kind`,`signerId`,`participantIds`,`signingWorkerId`,`custodyKeyManifestDigestB64u`,`sourceIdentityDigestB64u`];function N(t,n=`walletSignerId`){if(typeof t!=`string`)throw Error(`${n} must be a string`);let r=t.trim();if(!r)throw Error(`${n} is required`);if(e(r))throw Error(`${n} must not contain whitespace or control characters`);return r}function P(e,t){if(typeof e!=`number`||!Number.isSafeInteger(e)||e<=0)throw Error(`${t} must be a positive safe integer`);return e}function F(e,t){if(!Array.isArray(e)||e.length!==2)throw Error(`${t} must contain exactly two participant ids`);let n=P(e[0],`${t}[0]`),r=P(e[1],`${t}[1]`);if(n===r)throw Error(`${t} must contain distinct participant ids`);return[n,r]}function I(e){let n=F(e.participantIds,`participantIds`);return{kind:`owner_lane_participant_continuity_v1`,signerId:N(e.signerId),participantIds:n,signingWorkerId:l(t(e.signingWorkerId),`signingWorkerId`),custodyKeyManifestDigestB64u:c(e.custodyKeyManifestDigestB64u,`custodyKeyManifestDigestB64u`),sourceIdentityDigestB64u:c(e.sourceIdentityDigestB64u,`sourceIdentityDigestB64u`)}}function L(e,r=`ownerParticipantContinuity`){let i=n(e,r);if(ee(i,M,r),i.kind!==`owner_lane_participant_continuity_v1`)throw Error(`${r}.kind must be owner_lane_participant_continuity_v1`);return I({signerId:N(i.signerId,`${r}.signerId`),participantIds:F(i.participantIds,`${r}.participantIds`),signingWorkerId:l(t(i.signingWorkerId),`${r}.signingWorkerId`),custodyKeyManifestDigestB64u:c(i.custodyKeyManifestDigestB64u,`${r}.custodyKeyManifestDigestB64u`),sourceIdentityDigestB64u:c(i.sourceIdentityDigestB64u,`${r}.sourceIdentityDigestB64u`)})}function R(e,t){let n=String(e??``).trim();if(!n)throw Error(`[evm-family-ecdsa] ${t} is required`);return n}function z(e){return R(e,`rpId`)}function _e(e){return oe({walletId:d(e.walletId),signingRootId:V(e.signingRootId),signingRootVersion:H(e.signingRootVersion)})}function B(e){return R(e,`ecdsaThresholdKeyId`)}function V(e){return R(e,`signingRootId`)}function H(e){return String(e??``).trim()||`default`}function U(e){let t=String(e??``).trim().toLowerCase();if(!/^0x[0-9a-f]{40}$/.test(t))throw Error(`[evm-family-ecdsa] thresholdOwnerAddress must be an EVM address`);return t}function ve(e){return U(e)}function ye(e){return z(e)}function W(e){return R(e,`keyHandle`)}function be(e){return B(String(e.record.ecdsaThresholdKeyId??``).trim())}function G(e){return{signingRootId:V(e.signingRootId),signingRootVersion:H(e.signingRootVersion)}}function xe(e){return G({signingRootId:e.record.signingRootId,signingRootVersion:e.record.signingRootVersion})}function Se(e){let t=te(e.runtimePolicyScope);return G({signingRootId:t.signingRootId,signingRootVersion:t.signingRootVersion})}function K(e){let t=R(e,`thresholdEcdsaPublicKeyB64u`),n;try{n=s(t)}catch{throw Error(`[evm-family-ecdsa] thresholdEcdsaPublicKeyB64u must be base64url`)}if(n.length!==33)throw Error(`[evm-family-ecdsa] thresholdEcdsaPublicKeyB64u must decode to 33 bytes`);return t}function q(e){let t=Math.floor(Number(e));if(!Number.isSafeInteger(t)||t<1||t>65535)throw Error(`[evm-family-ecdsa] participantId must be a positive safe integer`);return t}function J(e){let t=a(e);if(!t?.length)throw Error(`[evm-family-ecdsa] participantIds are required`);return t.map(q)}function Y(e){return e.map(e=>String(Number(e))).join(`,`)}function X(e){let t=2166136261;for(let n=0;n<e.length;n+=1)t^=e.charCodeAt(n),t=Math.imul(t,16777619)>>>0;return t.toString(16).padStart(8,`0`)}function Ce(e){return{walletId:e.walletId,keyScope:`evm-family`,ecdsaThresholdKeyId:B(e.ecdsaThresholdKeyId),signingRootId:V(e.signingRootId),signingRootVersion:H(e.signingRootVersion),participantIds:J(e.participantIds),thresholdOwnerAddress:U(e.thresholdOwnerAddress)}}function Z(e){return Ce({walletId:d(e.walletId),ecdsaThresholdKeyId:e.ecdsaThresholdKeyId,signingRootId:e.signingRootId,signingRootVersion:e.signingRootVersion,participantIds:e.participantIds,thresholdOwnerAddress:e.thresholdOwnerAddress})}function we(e){return re({walletId:d(e)})}async function Te(e){return await ce(e)}function Q(e){return{kind:`verified_ecdsa_public_facts`,keyHandle:e.keyHandle,publicKeyB64u:K(e.publicKeyB64u),participantIds:J(e.participantIds),thresholdOwnerAddress:U(e.thresholdOwnerAddress)}}function Ee(e){return{walletId:e.walletId,keyScope:e.keyFacts.keyScope,ecdsaThresholdKeyId:e.keyFacts.ecdsaThresholdKeyId,signingRootId:e.keyFacts.signingRootId,signingRootVersion:e.keyFacts.signingRootVersion,participantIds:e.keyFacts.participantIds,thresholdOwnerAddress:e.keyFacts.thresholdOwnerAddress}}function De(e){let t=W(e.keyHandle),n=Z(e),r=Q({keyHandle:t,publicKeyB64u:e.thresholdEcdsaPublicKeyB64u,participantIds:n.participantIds,thresholdOwnerAddress:n.thresholdOwnerAddress});return{kind:`evm_family_ecdsa_wallet_key`,walletId:n.walletId,keyHandle:t,chainTarget:e.chainTarget,keyFacts:{kind:`evm_family_ecdsa_key_facts`,keyScope:n.keyScope,ecdsaThresholdKeyId:n.ecdsaThresholdKeyId,signingRootId:n.signingRootId,signingRootVersion:n.signingRootVersion,participantIds:r.participantIds,thresholdOwnerAddress:r.thresholdOwnerAddress,thresholdEcdsaPublicKeyB64u:r.publicKeyB64u}}}function $(e){let t=[];if(String(e.expected.keyHandle)!==String(e.actual.keyHandle)&&t.push(`keyHandle`),String(e.expected.publicKeyB64u)!==String(e.actual.publicKeyB64u)&&t.push(`publicKeyB64u`),Y(e.expected.participantIds)!==Y(e.actual.participantIds)&&t.push(`participantIds`),String(e.expected.thresholdOwnerAddress)!==String(e.actual.thresholdOwnerAddress)&&t.push(`thresholdOwnerAddress`),t.length)throw Error(`[evm-family-ecdsa] ${e.context} public facts mismatch: ${t.join(`, `)}`)}function Oe(e){return{kind:`passkey_ecdsa_auth_binding`,authMethod:ne.passkey,rpId:z(e.rpId),credentialIdB64u:R(e.credentialIdB64u,`credentialIdB64u`)}}function ke(e){return{kind:`resolved_evm_family_ecdsa_key`,walletId:d(e.walletId),publicFacts:e.publicFacts,authBinding:e.authBinding}}function Ae(e){return{kind:`hydrated_ecdsa_signer_material`,walletId:e.walletId,materialActivation:e.materialActivation,publicFacts:e.publicFacts,transport:e.transport,clientShare:e.clientShare,routerAbEcdsaDerivationNormalSigning:e.routerAbEcdsaDerivationNormalSigning}}function je(e){let t=Math.floor(Number(e.ttlMs)),n=Math.floor(Number(e.remainingUses));if(!Number.isFinite(t)||t<=0)throw Error(`[evm-family-ecdsa] ttlMs must be a positive finite value`);if(!Number.isFinite(n)||n<=0)throw Error(`[evm-family-ecdsa] remainingUses must be a positive finite value`);return{chainTarget:e.chainTarget,thresholdSessionId:f.thresholdEcdsaSession(e.thresholdSessionId),ttlMs:t,remainingUses:n,runtimePolicyScope:e.runtimePolicyScope}}function Me(e){let t=Math.floor(Number(e.ttlMs)),n=Math.floor(Number(e.remainingUses));if(!Number.isFinite(t)||t<=0)throw Error(`[evm-family-ecdsa] ttlMs must be a positive finite value`);if(!Number.isFinite(n)||n<=0)throw Error(`[evm-family-ecdsa] remainingUses must be a positive finite value`);return{chainTarget:e.chainTarget,thresholdSessionId:f.thresholdEcdsaSession(e.thresholdSessionId),ttlMs:t,remainingUses:n,runtimePolicyScope:e.runtimePolicyScope}}function Ne(e){return`evmfam-ecdsa:${X(i({version:`evm_family_ecdsa_key_fingerprint_v2`,walletId:String(e.walletId),baseEcdsaSubjectId:String(we(e.walletId)),keyScope:e.keyScope,ecdsaThresholdKeyId:String(e.ecdsaThresholdKeyId),signingRootId:String(e.signingRootId),signingRootVersion:String(e.signingRootVersion),participantIds:e.participantIds.map(e=>Number(e)),thresholdOwnerAddress:String(e.thresholdOwnerAddress)}))}`}function Pe(e){return`evmfam-ecdsa:${X(i({version:`evm_family_ecdsa_public_facts_fingerprint_v1`,walletId:String(d(e.walletId)),keyHandle:String(e.publicFacts.keyHandle),publicKeyB64u:String(e.publicFacts.publicKeyB64u),participantIds:e.publicFacts.participantIds.map(e=>Number(e)),thresholdOwnerAddress:String(e.publicFacts.thresholdOwnerAddress)}))}`}function Fe(e,t){let n=String(e??``).trim();if(!n)throw Error(`[email-otp-derivation] ${t} is required`);return n}function Ie(e){return Fe(e,`authSubjectId`)}function Le(e){return ie(e)}function Re(e){return se(e)}function ze(e){return ae(e)}export{S as A,W as C,ve as D,K as E,p as M,L as O,Se as S,ye as T,_e as _,$ as a,be as b,je as c,Oe as d,ke as f,Pe as g,Ne as h,Ie as i,j,A as k,De as l,Te as m,ze as n,Z as o,Q as p,Le as r,Me as s,Re as t,Ae as u,Ee as v,q as w,xe as x,G as y};
1
+ import{r as e,v as t}from"./domainIds-t1lp25yU.js";import{S as n,r,t as i}from"./digests-BIaE0DMd.js";import{r as a}from"./participants-BXdREC5k.js";import{i as o,r as s}from"./base64-BmKR3UqU.js";import{E as c,J as ee,P as l,Q as te}from"./activeWalletSession-HAOgRKzn.js";import{r as u}from"./canonicalPrimitives-DKeS3M40.js";import{n as ne}from"./signerDomain-D-EUTlLK.js";import{r as d}from"./types-D2Zk1W7I.js";import{c as f,l as re}from"./ecdsaChainTarget-BoRVQtjQ.js";import{Dt as ie,Et as ae,Ot as oe,Tt as se}from"./digestEncoding-Rx8Vjy4J.js";function p(e){let t=typeof e==`string`?e.trim():``;if(!t.startsWith(`ederivation-key-`))throw Error(`Threshold ECDSA key handle is invalid`);return t}function m(e,t){let n=String(e??``).trim();if(!n)throw Error(`[threshold-ecdsa-key-handle] ${t} is required`);return n}function h(e){return String(e??``).trim()||`default`}async function ce(e){return`ederivation-key-${o(await r(i({domain:`seams.threshold_ecdsa.key_handle.v1`,ecdsaThresholdKeyId:m(e.ecdsaThresholdKeyId,`ecdsaThresholdKeyId`),signingRootId:m(e.signingRootId,`signingRootId`),signingRootVersion:h(e.signingRootVersion)})))}`}function g(e){return{code:`missing`,message:`${e} is required`}}function _(e,t){return{code:`invalid`,message:`${e} ${t}`}}function v(t,n){if(t==null)return{ok:!1,error:g(n)};if(typeof t!=`string`)return{ok:!1,error:_(n,`must be a string`)};let r=t.trim();return r?e(r)?{ok:!1,error:_(n,`must not contain whitespace or control characters`)}:{ok:!0,value:r}:{ok:!1,error:g(n)}}function y(e,t){if(e==null)return{ok:!1,error:g(t)};if(typeof e!=`string`||e.length===0)return{ok:!1,error:_(t,`must be non-empty base64url`)};try{let n=s(e);if(n.length===0||o(n)!==e)return{ok:!1,error:_(t,`must be canonical unpadded base64url`)}}catch{return{ok:!1,error:_(t,`must be canonical unpadded base64url`)}}return{ok:!0,value:e}}function b(e,t,n){if(e==null)return{ok:!1,error:g(t)};try{return{ok:!0,value:n(u(e))}}catch{return{ok:!1,error:_(t,`must be canonical base64url for 32 bytes`)}}}function le(e){return e}function ue(e){return e}function de(e){return e}function x(e,t,n){let r=new Set(t);for(let t of Object.keys(e))if(!r.has(t))throw Error(`${n}.${t} is not supported`);for(let r of t)if(!(r in e))throw Error(`${n}.${r} is required`)}function fe(e){return v(e,`laneHolderParticipantId`)}function pe(e){return v(e,`signingWorkerParticipantId`)}function me(e){return v(e,`signingWorkerRecipientKeyId`)}function he(e){return v(e,`laneHolderCustodyBindingId`)}function S(e){return b(e,`participantBindingDigestB64u`,de)}function ge(e){return b(e,`custodyBindingDigestB64u`,le)}function C(e){return b(e,`hpkePublicKeyDigestB64u`,ue)}function w(e){return{kind:`lane_holder_custody_identity_v1`,custodyBindingId:e.custodyBindingId,custodyBindingDigestB64u:e.custodyBindingDigestB64u}}function T(e){return{kind:`signing_worker_recipient_identity_v1`,recipientKeyId:e.recipientKeyId,hpkePublicKeyB64u:e.hpkePublicKeyB64u,hpkePublicKeyDigestB64u:e.hpkePublicKeyDigestB64u}}function E(e,t=`laneHolderCustodyIdentity`){let r=n(e,t);if(x(r,[`kind`,`custodyBindingId`,`custodyBindingDigestB64u`],t),r.kind!==`lane_holder_custody_identity_v1`)throw Error(`${t}.kind is invalid`);let i=he(r.custodyBindingId);if(!i.ok)throw Error(`${t}.${i.error.message}`);let a=ge(r.custodyBindingDigestB64u);if(!a.ok)throw Error(`${t}.${a.error.message}`);return w({custodyBindingId:i.value,custodyBindingDigestB64u:a.value})}function D(e,t=`signingWorkerRecipientIdentity`){let r=n(e,t);if(x(r,[`kind`,`recipientKeyId`,`hpkePublicKeyB64u`,`hpkePublicKeyDigestB64u`],t),r.kind!==`signing_worker_recipient_identity_v1`)throw Error(`${t}.kind is invalid`);let i=me(r.recipientKeyId);if(!i.ok)throw Error(`${t}.${i.error.message}`);let a=y(r.hpkePublicKeyB64u,`${t}.hpkePublicKeyB64u`);if(!a.ok)throw Error(a.error.message);let o=C(r.hpkePublicKeyDigestB64u);if(!o.ok)throw Error(`${t}.${o.error.message}`);return T({recipientKeyId:i.value,hpkePublicKeyB64u:a.value,hpkePublicKeyDigestB64u:o.value})}function O(e){return{kind:`lane_holder_participant_v1`,participantId:e.participantId,custodyBindingId:e.custody.custodyBindingId,custodyBindingDigestB64u:e.custody.custodyBindingDigestB64u,hpkePublicKeyB64u:e.hpkePublicKeyB64u,hpkePublicKeyDigestB64u:e.hpkePublicKeyDigestB64u,participantBindingDigestB64u:e.participantBindingDigestB64u}}function k(e){return{kind:`signing_worker_participant_v1`,participantId:e.participantId,recipientKeyId:e.recipient.recipientKeyId,hpkePublicKeyB64u:e.recipient.hpkePublicKeyB64u,hpkePublicKeyDigestB64u:e.recipient.hpkePublicKeyDigestB64u,participantBindingDigestB64u:e.participantBindingDigestB64u}}function A(e,t=`laneHolderParticipant`){let r=n(e,t);if(x(r,[`kind`,`participantId`,`custodyBindingId`,`custodyBindingDigestB64u`,`hpkePublicKeyB64u`,`hpkePublicKeyDigestB64u`,`participantBindingDigestB64u`],t),r.kind!==`lane_holder_participant_v1`)throw Error(`${t}.kind is invalid`);let i=fe(r.participantId);if(!i.ok)throw Error(`${t}.${i.error.message}`);let a=E({kind:`lane_holder_custody_identity_v1`,custodyBindingId:r.custodyBindingId,custodyBindingDigestB64u:r.custodyBindingDigestB64u},`${t}.custody`),o=y(r.hpkePublicKeyB64u,`${t}.hpkePublicKeyB64u`);if(!o.ok)throw Error(o.error.message);let s=C(r.hpkePublicKeyDigestB64u);if(!s.ok)throw Error(`${t}.${s.error.message}`);let c=S(r.participantBindingDigestB64u);if(!c.ok)throw Error(`${t}.${c.error.message}`);return O({participantId:i.value,custody:a,hpkePublicKeyB64u:o.value,hpkePublicKeyDigestB64u:s.value,participantBindingDigestB64u:c.value})}function j(e,t=`signingWorkerParticipant`){let r=n(e,t);if(x(r,[`kind`,`participantId`,`recipientKeyId`,`hpkePublicKeyB64u`,`hpkePublicKeyDigestB64u`,`participantBindingDigestB64u`],t),r.kind!==`signing_worker_participant_v1`)throw Error(`${t}.kind is invalid`);let i=pe(r.participantId);if(!i.ok)throw Error(`${t}.${i.error.message}`);let a=D({kind:`signing_worker_recipient_identity_v1`,recipientKeyId:r.recipientKeyId,hpkePublicKeyB64u:r.hpkePublicKeyB64u,hpkePublicKeyDigestB64u:r.hpkePublicKeyDigestB64u},`${t}.recipient`),o=S(r.participantBindingDigestB64u);if(!o.ok)throw Error(`${t}.${o.error.message}`);return k({participantId:i.value,recipient:a,participantBindingDigestB64u:o.value})}const M=[`kind`,`signerId`,`participantIds`,`signingWorkerId`,`custodyKeyManifestDigestB64u`,`sourceIdentityDigestB64u`];function N(t,n=`walletSignerId`){if(typeof t!=`string`)throw Error(`${n} must be a string`);let r=t.trim();if(!r)throw Error(`${n} is required`);if(e(r))throw Error(`${n} must not contain whitespace or control characters`);return r}function P(e,t){if(typeof e!=`number`||!Number.isSafeInteger(e)||e<=0)throw Error(`${t} must be a positive safe integer`);return e}function F(e,t){if(!Array.isArray(e)||e.length!==2)throw Error(`${t} must contain exactly two participant ids`);let n=P(e[0],`${t}[0]`),r=P(e[1],`${t}[1]`);if(n===r)throw Error(`${t} must contain distinct participant ids`);return[n,r]}function I(e){let n=F(e.participantIds,`participantIds`);return{kind:`owner_lane_participant_continuity_v1`,signerId:N(e.signerId),participantIds:n,signingWorkerId:l(t(e.signingWorkerId),`signingWorkerId`),custodyKeyManifestDigestB64u:c(e.custodyKeyManifestDigestB64u,`custodyKeyManifestDigestB64u`),sourceIdentityDigestB64u:c(e.sourceIdentityDigestB64u,`sourceIdentityDigestB64u`)}}function L(e,r=`ownerParticipantContinuity`){let i=n(e,r);if(ee(i,M,r),i.kind!==`owner_lane_participant_continuity_v1`)throw Error(`${r}.kind must be owner_lane_participant_continuity_v1`);return I({signerId:N(i.signerId,`${r}.signerId`),participantIds:F(i.participantIds,`${r}.participantIds`),signingWorkerId:l(t(i.signingWorkerId),`${r}.signingWorkerId`),custodyKeyManifestDigestB64u:c(i.custodyKeyManifestDigestB64u,`${r}.custodyKeyManifestDigestB64u`),sourceIdentityDigestB64u:c(i.sourceIdentityDigestB64u,`${r}.sourceIdentityDigestB64u`)})}function R(e,t){let n=String(e??``).trim();if(!n)throw Error(`[evm-family-ecdsa] ${t} is required`);return n}function z(e){return R(e,`rpId`)}function _e(e){return oe({walletId:f(e.walletId),signingRootId:V(e.signingRootId),signingRootVersion:H(e.signingRootVersion)})}function B(e){return R(e,`ecdsaThresholdKeyId`)}function V(e){return R(e,`signingRootId`)}function H(e){return String(e??``).trim()||`default`}function U(e){let t=String(e??``).trim().toLowerCase();if(!/^0x[0-9a-f]{40}$/.test(t))throw Error(`[evm-family-ecdsa] thresholdOwnerAddress must be an EVM address`);return t}function ve(e){return U(e)}function ye(e){return z(e)}function W(e){return R(e,`keyHandle`)}function be(e){return B(String(e.record.ecdsaThresholdKeyId??``).trim())}function G(e){return{signingRootId:V(e.signingRootId),signingRootVersion:H(e.signingRootVersion)}}function xe(e){return G({signingRootId:e.record.signingRootId,signingRootVersion:e.record.signingRootVersion})}function Se(e){let t=te(e.runtimePolicyScope);return G({signingRootId:t.signingRootId,signingRootVersion:t.signingRootVersion})}function K(e){let t=R(e,`thresholdEcdsaPublicKeyB64u`),n;try{n=s(t)}catch{throw Error(`[evm-family-ecdsa] thresholdEcdsaPublicKeyB64u must be base64url`)}if(n.length!==33)throw Error(`[evm-family-ecdsa] thresholdEcdsaPublicKeyB64u must decode to 33 bytes`);return t}function q(e){let t=Math.floor(Number(e));if(!Number.isSafeInteger(t)||t<1||t>65535)throw Error(`[evm-family-ecdsa] participantId must be a positive safe integer`);return t}function J(e){let t=a(e);if(!t?.length)throw Error(`[evm-family-ecdsa] participantIds are required`);return t.map(q)}function Y(e){return e.map(e=>String(Number(e))).join(`,`)}function X(e){let t=2166136261;for(let n=0;n<e.length;n+=1)t^=e.charCodeAt(n),t=Math.imul(t,16777619)>>>0;return t.toString(16).padStart(8,`0`)}function Ce(e){return{walletId:e.walletId,keyScope:`evm-family`,ecdsaThresholdKeyId:B(e.ecdsaThresholdKeyId),signingRootId:V(e.signingRootId),signingRootVersion:H(e.signingRootVersion),participantIds:J(e.participantIds),thresholdOwnerAddress:U(e.thresholdOwnerAddress)}}function Z(e){return Ce({walletId:f(e.walletId),ecdsaThresholdKeyId:e.ecdsaThresholdKeyId,signingRootId:e.signingRootId,signingRootVersion:e.signingRootVersion,participantIds:e.participantIds,thresholdOwnerAddress:e.thresholdOwnerAddress})}function we(e){return re({walletId:f(e)})}async function Te(e){return await ce(e)}function Q(e){return{kind:`verified_ecdsa_public_facts`,keyHandle:e.keyHandle,publicKeyB64u:K(e.publicKeyB64u),participantIds:J(e.participantIds),thresholdOwnerAddress:U(e.thresholdOwnerAddress)}}function Ee(e){return{walletId:e.walletId,keyScope:e.keyFacts.keyScope,ecdsaThresholdKeyId:e.keyFacts.ecdsaThresholdKeyId,signingRootId:e.keyFacts.signingRootId,signingRootVersion:e.keyFacts.signingRootVersion,participantIds:e.keyFacts.participantIds,thresholdOwnerAddress:e.keyFacts.thresholdOwnerAddress}}function De(e){let t=W(e.keyHandle),n=Z(e),r=Q({keyHandle:t,publicKeyB64u:e.thresholdEcdsaPublicKeyB64u,participantIds:n.participantIds,thresholdOwnerAddress:n.thresholdOwnerAddress});return{kind:`evm_family_ecdsa_wallet_key`,walletId:n.walletId,keyHandle:t,chainTarget:e.chainTarget,keyFacts:{kind:`evm_family_ecdsa_key_facts`,keyScope:n.keyScope,ecdsaThresholdKeyId:n.ecdsaThresholdKeyId,signingRootId:n.signingRootId,signingRootVersion:n.signingRootVersion,participantIds:r.participantIds,thresholdOwnerAddress:r.thresholdOwnerAddress,thresholdEcdsaPublicKeyB64u:r.publicKeyB64u}}}function $(e){let t=[];if(String(e.expected.keyHandle)!==String(e.actual.keyHandle)&&t.push(`keyHandle`),String(e.expected.publicKeyB64u)!==String(e.actual.publicKeyB64u)&&t.push(`publicKeyB64u`),Y(e.expected.participantIds)!==Y(e.actual.participantIds)&&t.push(`participantIds`),String(e.expected.thresholdOwnerAddress)!==String(e.actual.thresholdOwnerAddress)&&t.push(`thresholdOwnerAddress`),t.length)throw Error(`[evm-family-ecdsa] ${e.context} public facts mismatch: ${t.join(`, `)}`)}function Oe(e){return{kind:`passkey_ecdsa_auth_binding`,authMethod:ne.passkey,rpId:z(e.rpId),credentialIdB64u:R(e.credentialIdB64u,`credentialIdB64u`)}}function ke(e){return{kind:`resolved_evm_family_ecdsa_key`,walletId:f(e.walletId),publicFacts:e.publicFacts,authBinding:e.authBinding}}function Ae(e){return{kind:`hydrated_ecdsa_signer_material`,walletId:e.walletId,materialActivation:e.materialActivation,publicFacts:e.publicFacts,transport:e.transport,clientShare:e.clientShare,routerAbEcdsaDerivationNormalSigning:e.routerAbEcdsaDerivationNormalSigning}}function je(e){let t=Math.floor(Number(e.ttlMs)),n=Math.floor(Number(e.remainingUses));if(!Number.isFinite(t)||t<=0)throw Error(`[evm-family-ecdsa] ttlMs must be a positive finite value`);if(!Number.isFinite(n)||n<=0)throw Error(`[evm-family-ecdsa] remainingUses must be a positive finite value`);return{chainTarget:e.chainTarget,thresholdSessionId:d.thresholdEcdsaSession(e.thresholdSessionId),ttlMs:t,remainingUses:n,runtimePolicyScope:e.runtimePolicyScope}}function Me(e){let t=Math.floor(Number(e.ttlMs)),n=Math.floor(Number(e.remainingUses));if(!Number.isFinite(t)||t<=0)throw Error(`[evm-family-ecdsa] ttlMs must be a positive finite value`);if(!Number.isFinite(n)||n<=0)throw Error(`[evm-family-ecdsa] remainingUses must be a positive finite value`);return{chainTarget:e.chainTarget,thresholdSessionId:d.thresholdEcdsaSession(e.thresholdSessionId),ttlMs:t,remainingUses:n,runtimePolicyScope:e.runtimePolicyScope}}function Ne(e){return`evmfam-ecdsa:${X(i({version:`evm_family_ecdsa_key_fingerprint_v2`,walletId:String(e.walletId),baseEcdsaSubjectId:String(we(e.walletId)),keyScope:e.keyScope,ecdsaThresholdKeyId:String(e.ecdsaThresholdKeyId),signingRootId:String(e.signingRootId),signingRootVersion:String(e.signingRootVersion),participantIds:e.participantIds.map(e=>Number(e)),thresholdOwnerAddress:String(e.thresholdOwnerAddress)}))}`}function Pe(e){return`evmfam-ecdsa:${X(i({version:`evm_family_ecdsa_public_facts_fingerprint_v1`,walletId:String(f(e.walletId)),keyHandle:String(e.publicFacts.keyHandle),publicKeyB64u:String(e.publicFacts.publicKeyB64u),participantIds:e.publicFacts.participantIds.map(e=>Number(e)),thresholdOwnerAddress:String(e.publicFacts.thresholdOwnerAddress)}))}`}function Fe(e,t){let n=String(e??``).trim();if(!n)throw Error(`[email-otp-derivation] ${t} is required`);return n}function Ie(e){return Fe(e,`authSubjectId`)}function Le(e){return ie(e)}function Re(e){return se(e)}function ze(e){return ae(e)}export{S as A,W as C,ve as D,K as E,p as M,L as O,Se as S,ye as T,_e as _,$ as a,be as b,je as c,Oe as d,ke as f,Pe as g,Ne as h,Ie as i,j,A as k,De as l,Te as m,ze as n,Z as o,Q as p,Le as r,Me as s,Re as t,Ae as u,Ee as v,q as w,xe as x,G as y};
@@ -1 +1 @@
1
- import{t as e}from"./keccak-mS0Mejjx.js";import{n as t,t as n}from"./bytes-DXo6uALR.js";import{n as r,r as i,t as a}from"./normalization-B3i1-rPQ.js";const o=new WeakMap;function s(e){return a(e)||null}function c(e){let t=[];for(let n of e){if(!n||typeof n!=`object`)continue;let e=String(n.type||`function`).trim();if(e!==``&&e!==`function`)continue;let r=String(n.name||``).trim();if(!r)continue;let i=n.inputs,a=Array.isArray(i)?i:[],o=u(`${r}(${a.map(e=>d(e)).join(`,`)})`);if(!o)continue;let s=f(a);t.push({name:r,selector:o,inputs:s})}return t}function l(e){if(!Array.isArray(e)||e.length===0)return;let t=o.get(e);if(t)return t;let n=c(e);if(!n.length)return;let r=new Map;for(let e of n)r.has(e.selector)||r.set(e.selector,e);let i={bySelector:r};return o.set(e,i),i}function u(t){let r=String(t||``).trim();return r&&i(n(e(new TextEncoder().encode(r)).slice(0,4)))||null}function d(e){let t=String(e?.type||``).trim().toLowerCase();if(!t)return``;let n=Array.isArray(e?.components)?e.components:[];if(t.startsWith(`tuple`)){let e=t.slice(5);return`${`(${n.map(e=>d(e)).join(`,`)})`}${e}`}return t}function f(e){let t=[];for(let n=0;n<e.length;n+=1){let r=e[n],i=String(r?.type||``).trim().toLowerCase();if(!i)continue;let a=p({type:i,components:r?.components});if(!a)continue;let o=String(r?.name||``).trim();t.push({name:o||`arg${n}`,typeName:i,typeNode:a})}return t}function p(e){let t=String(e.type||``).trim().toLowerCase();if(!t)return null;let n=t,r=[];for(;n.endsWith(`]`);){let e=n.lastIndexOf(`[`);if(e<0)return null;let t=n.slice(e+1,-1).trim();if(!/^\d*$/.test(t))return null;let i=t===``?null:Number.parseInt(t,10);if(i!=null&&(!Number.isFinite(i)||i<0))return null;r.push(i),n=n.slice(0,e)}let i=null;if(n===`tuple`){let t=f(Array.isArray(e.components)?e.components:[]);i={kind:`tuple`,canonicalType:`(${t.map(e=>e.typeNode.canonicalType).join(`,`)})`,dynamic:t.some(e=>e.typeNode.dynamic),components:t}}else i={kind:`scalar`,typeName:n,canonicalType:n,dynamic:n===`bytes`||n===`string`};for(let e=r.length-1;e>=0;--e){let t=r[e];i={kind:`array`,canonicalType:`${i.canonicalType}[${t==null?``:String(t)}]`,dynamic:t==null||i.dynamic,item:i,length:t}}return i}function m(e,t){return!Number.isInteger(t)||t<0||t+32>e.length?null:e.slice(t,t+32)}function h(e,t){let n=m(e,t);if(!n)return null;let r=0n;for(let e of n)r=(r<<8n)+BigInt(e);return r}function g(e,t){let n=h(e,t);return n==null||n>BigInt(2**53-1)||n<0n?null:Number(n)}function _(e){return e.dynamic||e.kind===`scalar`?1:e.kind===`tuple`?e.components.reduce((e,t)=>e+_(t.typeNode),0):e.length==null?1:e.length*_(e.item)}function v(e,t,r){let i=String(e||``).trim().toLowerCase();if(!i)return null;if(i===`bytes`){let e=g(t,r);if(e==null)return null;let i=r+32,a=i+e;return a>t.length?null:n(t.slice(i,a)).toLowerCase()}if(i===`string`){let e=g(t,r);if(e==null)return null;let i=r+32,a=i+e;if(a>t.length)return null;let o=t.slice(i,a);try{return new TextDecoder().decode(o)}catch{return n(o).toLowerCase()}}let a=m(t,r);if(!a)return null;let o=h(t,r);if(o==null)return null;if(i===`bool`)return o!==0n;if(i===`address`)return n(a.slice(12)).toLowerCase();if(i===`function`)return n(a.slice(0,24)).toLowerCase();let s=i.match(/^bytes(\d{1,2})$/);if(s){let e=Number.parseInt(s[1],10);return!Number.isFinite(e)||e<=0||e>32?null:n(a.slice(0,e)).toLowerCase()}if(i.match(/^uint(\d{0,3})$/))return o.toString(10);let c=i.match(/^int(\d{0,3})$/);if(c){let e=c[1],t=e?Number.parseInt(e,10):256;if(!Number.isFinite(t)||t<=0||t>256||t%8!=0)return o.toString(10);let n=BigInt(t),r=1n<<n;return(o>=1n<<n-1n?o-r:o).toString(10)}return n(a).toLowerCase()}function y(e,t,n){if(e.kind===`scalar`)return v(e.typeName,t,n);if(e.kind===`tuple`){let r=b(e.components,t,n);if(!r)return null;let i={};for(let t=0;t<e.components.length;t+=1){let n=e.components[t],a=String(n.name||``).trim()||`item${t}`,o=a,s=1;for(;Object.prototype.hasOwnProperty.call(i,o);)s+=1,o=`${a}_${s}`;i[o]=r[t]}return i}let r=e.length,i=r==null,a=i?g(t,n):r;if(a==null||a<0||a>256)return null;let o=i?n+32:n,s=[];if(e.item.dynamic){for(let n=0;n<a;n+=1){let r=g(t,o+n*32);if(r==null)return null;let i=y(e.item,t,o+r);if(i==null)return null;s.push(i)}return s}let c=_(e.item);for(let n=0;n<a;n+=1){let r=o+n*c*32,i=y(e.item,t,r);if(i==null)return null;s.push(i)}return s}function b(e,t,n){let r=0,i=[];for(let t of e)i.push(r*32),r+=t.typeNode.dynamic?1:_(t.typeNode);let a=[];for(let r=0;r<e.length;r+=1){let o=e[r],s=n+i[r];if(o.typeNode.dynamic){let e=g(t,s);if(e==null)return null;let r=y(o.typeNode,t,n+e);if(r==null)return null;a.push(r);continue}let c=y(o.typeNode,t,s);if(c==null)return null;a.push(c)}return a}function x(e){if(!e.length)return;let t={};for(let n=0;n<e.length;n+=1){let r=e[n],i=String(r.key||``).trim()||`arg${n}`,a=i,o=2;for(;Object.prototype.hasOwnProperty.call(t,a);)a=`${i}_${o}`,o+=1;t[a]=r.value}try{return JSON.stringify(t,null,2)}catch{return}}function S(e){let n=s(e.dataHex);if(!n)return;let i=l(e.abi);if(!i)return;let a=i.bySelector.get(n);if(!a)return;let o=r(e.dataHex,{lowercase:!0}),c;try{let e=t(o);if(e.length<4)return{functionLabel:`${a.name}()`};c=e.slice(4)}catch{return{functionLabel:`${a.name}()`}}let u=b(a.inputs,c,0);if(!u)return{functionLabel:`${a.name}()`};let d=a.inputs.map((e,t)=>({key:String(e.name||``).trim()||`arg${t}`,value:u[t]}));return{functionLabel:`${a.name}()`,decodedArgumentsJsonText:x(d)}}function C(e){return e.kind===`generic.contractCall`}function w(e,t){let n=String(e||``).trim(),r=n.match(/^Calling\s+.+?\s+using\s+(.+)$/i);return r?`Calling ${t} using ${r[1]}`:n}function T(e){return String(e.label||``).trim().toLowerCase()===`data`}function E(e){let t=Array.isArray(e.fields)?[...e.fields]:[],n=t.findIndex(e=>T(e)),r=n>=0?t[n]:void 0,i=String(r?.value||``).trim()||String(e.fallbackRawDataHex||``).trim(),a={...r||{label:`Data`},value:e.decodedArgsJsonText,renderAs:`file-content`,hideChevron:typeof r?.hideChevron==`boolean`?r.hideChevron:!0,contentVariants:{decoded:e.decodedArgsJsonText,raw:i,defaultMode:`decoded`}};return n>=0?(t[n]=a,t):(t.push(a),t)}function D(e){let t=e.abiDecodeHint;if(!t||!Array.isArray(t.abi)||t.abi.length===0)return e;let n=S({dataHex:t.dataHex,abi:t.abi});if(!n)return e;let r=n.decodedArgumentsJsonText?E({fields:e.fields,decodedArgsJsonText:n.decodedArgumentsJsonText,fallbackRawDataHex:t.dataHex}):e.fields;return{...e,label:w(e.label,n.functionLabel),fields:r}}function O(e){let t=Array.isArray(e.children)?e.children.map(e=>O(e)):e.children,n=t===e.children?e:{...e,children:t};return C(n)?D(n):n}function k(e){if(!Array.isArray(e.operations)||e.operations.length===0)return e;let t=e.operations.map(e=>O(e));return{...e,operations:t}}export{k as enrichDisplayModelWithAbi};
1
+ import{t as e}from"./keccak-DGHI1G6t.js";import{n as t,t as n}from"./bytes-DXo6uALR.js";import{n as r,r as i,t as a}from"./normalization-B3i1-rPQ.js";const o=new WeakMap;function s(e){return a(e)||null}function c(e){let t=[];for(let n of e){if(!n||typeof n!=`object`)continue;let e=String(n.type||`function`).trim();if(e!==``&&e!==`function`)continue;let r=String(n.name||``).trim();if(!r)continue;let i=n.inputs,a=Array.isArray(i)?i:[],o=u(`${r}(${a.map(e=>d(e)).join(`,`)})`);if(!o)continue;let s=f(a);t.push({name:r,selector:o,inputs:s})}return t}function l(e){if(!Array.isArray(e)||e.length===0)return;let t=o.get(e);if(t)return t;let n=c(e);if(!n.length)return;let r=new Map;for(let e of n)r.has(e.selector)||r.set(e.selector,e);let i={bySelector:r};return o.set(e,i),i}function u(t){let r=String(t||``).trim();return r&&i(n(e(new TextEncoder().encode(r)).slice(0,4)))||null}function d(e){let t=String(e?.type||``).trim().toLowerCase();if(!t)return``;let n=Array.isArray(e?.components)?e.components:[];if(t.startsWith(`tuple`)){let e=t.slice(5);return`${`(${n.map(e=>d(e)).join(`,`)})`}${e}`}return t}function f(e){let t=[];for(let n=0;n<e.length;n+=1){let r=e[n],i=String(r?.type||``).trim().toLowerCase();if(!i)continue;let a=p({type:i,components:r?.components});if(!a)continue;let o=String(r?.name||``).trim();t.push({name:o||`arg${n}`,typeName:i,typeNode:a})}return t}function p(e){let t=String(e.type||``).trim().toLowerCase();if(!t)return null;let n=t,r=[];for(;n.endsWith(`]`);){let e=n.lastIndexOf(`[`);if(e<0)return null;let t=n.slice(e+1,-1).trim();if(!/^\d*$/.test(t))return null;let i=t===``?null:Number.parseInt(t,10);if(i!=null&&(!Number.isFinite(i)||i<0))return null;r.push(i),n=n.slice(0,e)}let i=null;if(n===`tuple`){let t=f(Array.isArray(e.components)?e.components:[]);i={kind:`tuple`,canonicalType:`(${t.map(e=>e.typeNode.canonicalType).join(`,`)})`,dynamic:t.some(e=>e.typeNode.dynamic),components:t}}else i={kind:`scalar`,typeName:n,canonicalType:n,dynamic:n===`bytes`||n===`string`};for(let e=r.length-1;e>=0;--e){let t=r[e];i={kind:`array`,canonicalType:`${i.canonicalType}[${t==null?``:String(t)}]`,dynamic:t==null||i.dynamic,item:i,length:t}}return i}function m(e,t){return!Number.isInteger(t)||t<0||t+32>e.length?null:e.slice(t,t+32)}function h(e,t){let n=m(e,t);if(!n)return null;let r=0n;for(let e of n)r=(r<<8n)+BigInt(e);return r}function g(e,t){let n=h(e,t);return n==null||n>BigInt(2**53-1)||n<0n?null:Number(n)}function _(e){return e.dynamic||e.kind===`scalar`?1:e.kind===`tuple`?e.components.reduce((e,t)=>e+_(t.typeNode),0):e.length==null?1:e.length*_(e.item)}function v(e,t,r){let i=String(e||``).trim().toLowerCase();if(!i)return null;if(i===`bytes`){let e=g(t,r);if(e==null)return null;let i=r+32,a=i+e;return a>t.length?null:n(t.slice(i,a)).toLowerCase()}if(i===`string`){let e=g(t,r);if(e==null)return null;let i=r+32,a=i+e;if(a>t.length)return null;let o=t.slice(i,a);try{return new TextDecoder().decode(o)}catch{return n(o).toLowerCase()}}let a=m(t,r);if(!a)return null;let o=h(t,r);if(o==null)return null;if(i===`bool`)return o!==0n;if(i===`address`)return n(a.slice(12)).toLowerCase();if(i===`function`)return n(a.slice(0,24)).toLowerCase();let s=i.match(/^bytes(\d{1,2})$/);if(s){let e=Number.parseInt(s[1],10);return!Number.isFinite(e)||e<=0||e>32?null:n(a.slice(0,e)).toLowerCase()}if(i.match(/^uint(\d{0,3})$/))return o.toString(10);let c=i.match(/^int(\d{0,3})$/);if(c){let e=c[1],t=e?Number.parseInt(e,10):256;if(!Number.isFinite(t)||t<=0||t>256||t%8!=0)return o.toString(10);let n=BigInt(t),r=1n<<n;return(o>=1n<<n-1n?o-r:o).toString(10)}return n(a).toLowerCase()}function y(e,t,n){if(e.kind===`scalar`)return v(e.typeName,t,n);if(e.kind===`tuple`){let r=b(e.components,t,n);if(!r)return null;let i={};for(let t=0;t<e.components.length;t+=1){let n=e.components[t],a=String(n.name||``).trim()||`item${t}`,o=a,s=1;for(;Object.prototype.hasOwnProperty.call(i,o);)s+=1,o=`${a}_${s}`;i[o]=r[t]}return i}let r=e.length,i=r==null,a=i?g(t,n):r;if(a==null||a<0||a>256)return null;let o=i?n+32:n,s=[];if(e.item.dynamic){for(let n=0;n<a;n+=1){let r=g(t,o+n*32);if(r==null)return null;let i=y(e.item,t,o+r);if(i==null)return null;s.push(i)}return s}let c=_(e.item);for(let n=0;n<a;n+=1){let r=o+n*c*32,i=y(e.item,t,r);if(i==null)return null;s.push(i)}return s}function b(e,t,n){let r=0,i=[];for(let t of e)i.push(r*32),r+=t.typeNode.dynamic?1:_(t.typeNode);let a=[];for(let r=0;r<e.length;r+=1){let o=e[r],s=n+i[r];if(o.typeNode.dynamic){let e=g(t,s);if(e==null)return null;let r=y(o.typeNode,t,n+e);if(r==null)return null;a.push(r);continue}let c=y(o.typeNode,t,s);if(c==null)return null;a.push(c)}return a}function x(e){if(!e.length)return;let t={};for(let n=0;n<e.length;n+=1){let r=e[n],i=String(r.key||``).trim()||`arg${n}`,a=i,o=2;for(;Object.prototype.hasOwnProperty.call(t,a);)a=`${i}_${o}`,o+=1;t[a]=r.value}try{return JSON.stringify(t,null,2)}catch{return}}function S(e){let n=s(e.dataHex);if(!n)return;let i=l(e.abi);if(!i)return;let a=i.bySelector.get(n);if(!a)return;let o=r(e.dataHex,{lowercase:!0}),c;try{let e=t(o);if(e.length<4)return{functionLabel:`${a.name}()`};c=e.slice(4)}catch{return{functionLabel:`${a.name}()`}}let u=b(a.inputs,c,0);if(!u)return{functionLabel:`${a.name}()`};let d=a.inputs.map((e,t)=>({key:String(e.name||``).trim()||`arg${t}`,value:u[t]}));return{functionLabel:`${a.name}()`,decodedArgumentsJsonText:x(d)}}function C(e){return e.kind===`generic.contractCall`}function w(e,t){let n=String(e||``).trim(),r=n.match(/^Calling\s+.+?\s+using\s+(.+)$/i);return r?`Calling ${t} using ${r[1]}`:n}function T(e){return String(e.label||``).trim().toLowerCase()===`data`}function E(e){let t=Array.isArray(e.fields)?[...e.fields]:[],n=t.findIndex(e=>T(e)),r=n>=0?t[n]:void 0,i=String(r?.value||``).trim()||String(e.fallbackRawDataHex||``).trim(),a={...r||{label:`Data`},value:e.decodedArgsJsonText,renderAs:`file-content`,hideChevron:typeof r?.hideChevron==`boolean`?r.hideChevron:!0,contentVariants:{decoded:e.decodedArgsJsonText,raw:i,defaultMode:`decoded`}};return n>=0?(t[n]=a,t):(t.push(a),t)}function D(e){let t=e.abiDecodeHint;if(!t||!Array.isArray(t.abi)||t.abi.length===0)return e;let n=S({dataHex:t.dataHex,abi:t.abi});if(!n)return e;let r=n.decodedArgumentsJsonText?E({fields:e.fields,decodedArgsJsonText:n.decodedArgumentsJsonText,fallbackRawDataHex:t.dataHex}):e.fields;return{...e,label:w(e.label,n.functionLabel),fields:r}}function O(e){let t=Array.isArray(e.children)?e.children.map(e=>O(e)):e.children,n=t===e.children?e:{...e,children:t};return C(n)?D(n):n}function k(e){if(!Array.isArray(e.operations)||e.operations.length===0)return e;let t=e.operations.map(e=>O(e));return{...e,operations:t}}export{k as enrichDisplayModelWithAbi};
@@ -1 +1 @@
1
- import{t as e}from"./executeWorkerOperation-C9FOCCR7.js";function t(e){if(e<0n)throw Error(`[evmCryptoWasm] negative bigint not supported`);return e.toString(10)}function n(e){if(typeof e==`bigint`){if(e<0n)throw Error(`[evmCryptoWasm] chainId must be a non-negative integer`);let t=Number(e);if(!Number.isSafeInteger(t))throw Error(`[evmCryptoWasm] chainId must be a non-negative safe integer`);return t}if(!Number.isSafeInteger(e)||e<0)throw Error(`[evmCryptoWasm] chainId must be a non-negative safe integer`);return e}function r(e){if(typeof e==`bigint`)return e;throw Error(`[evmCryptoWasm] missing tx nonce`)}function i(e){return{chainId:n(e.chainId),nonce:t(r(e.nonce)),maxPriorityFeePerGas:t(e.maxPriorityFeePerGas),maxFeePerGas:t(e.maxFeePerGas),gasLimit:t(e.gasLimit),to:e.to??null,value:t(e.value),data:e.data??`0x`,accessList:(e.accessList??[]).map(e=>({address:e.address,storageKeys:e.storageKeys}))}}const a=`evmCrypto`,o=2e4;async function s(t,n){let r=await e({ctx:n,kind:a,request:{type:`computeEip1559TxHash`,payload:{tx:i(t)},timeoutMs:o}});return new Uint8Array(r)}async function c(t){let n=t.signature65.slice().buffer,r=await e({ctx:t.workerCtx,kind:a,request:{type:`encodeEip1559SignedTxFromSignature65`,payload:{tx:i(t.tx),signature65:n},timeoutMs:o,transfer:[n]}});return new Uint8Array(r)}async function l(t){if(!(t.digest32 instanceof Uint8Array)||t.digest32.length!==32)throw Error(`digest32 must be 32 bytes`);if(!(t.signature65 instanceof Uint8Array)||t.signature65.length!==65)throw Error(`signature65 must be 65 bytes`);if(!(t.publicKey33 instanceof Uint8Array)||t.publicKey33.length!==33)throw Error(`publicKey33 must be 33 bytes`);let n=t.digest32.slice().buffer,r=t.signature65.slice().buffer,i=t.publicKey33.slice().buffer,s=await e({ctx:t.workerCtx,kind:a,request:{type:`verifySecp256k1RecoverableSignatureAgainstPublicKey33`,payload:{digest32:n,signature65:r,publicKey33:i},timeoutMs:o,transfer:[n,r,i]}}),c=new Uint8Array(s);if(c.length!==33)throw Error(`verifySecp256k1RecoverableSignatureAgainstPublicKey33 expected 33-byte output (got ${c.length})`);return c}async function u(t){if(!(t.publicKey33 instanceof Uint8Array)||t.publicKey33.length!==33)throw Error(`publicKey33 must be 33 bytes`);let n=t.publicKey33.slice(),r=await e({ctx:t.workerCtx,kind:a,request:{type:`validateSecp256k1PublicKey33`,payload:{publicKey33:n.buffer},timeoutMs:o,transfer:[n.buffer]}}),i=new Uint8Array(r);if(i.length!==33)throw Error(`validateSecp256k1PublicKey33 expected 33-byte output (got ${i.length})`);return i}async function d(t){if(!(t.left33 instanceof Uint8Array)||t.left33.length!==33)throw Error(`left33 must be 33 bytes`);if(!(t.right33 instanceof Uint8Array)||t.right33.length!==33)throw Error(`right33 must be 33 bytes`);let n=t.left33.slice(),r=t.right33.slice(),i=await e({ctx:t.workerCtx,kind:a,request:{type:`addSecp256k1PublicKeys33`,payload:{left33:n.buffer,right33:r.buffer},timeoutMs:o,transfer:[n.buffer,r.buffer]}}),s=new Uint8Array(i);if(s.length!==33)throw Error(`addSecp256k1PublicKeys33 expected 33-byte output (got ${s.length})`);return s}async function f(t){if(!(t.challenge32 instanceof Uint8Array)||t.challenge32.length!==32)throw Error(`challenge32 must be 32 bytes`);if(!(t.pubKeyX32 instanceof Uint8Array)||t.pubKeyX32.length!==32)throw Error(`pubKeyX32 must be 32 bytes`);if(!(t.pubKeyY32 instanceof Uint8Array)||t.pubKeyY32.length!==32)throw Error(`pubKeyY32 must be 32 bytes`);if(!(t.authenticatorData instanceof Uint8Array)||!t.authenticatorData.length)throw Error(`authenticatorData must be non-empty`);if(!(t.clientDataJSON instanceof Uint8Array)||!t.clientDataJSON.length)throw Error(`clientDataJSON must be non-empty`);if(!(t.signatureDer instanceof Uint8Array)||!t.signatureDer.length)throw Error(`signatureDer must be non-empty`);let n=t.challenge32.slice(),r=t.authenticatorData.slice(),i=t.clientDataJSON.slice(),s=t.signatureDer.slice(),c=t.pubKeyX32.slice(),l=t.pubKeyY32.slice(),u=await e({ctx:t.workerCtx,kind:a,request:{type:`buildWebauthnP256Signature`,payload:{challenge32:n.buffer,authenticatorData:r.buffer,clientDataJSON:i.buffer,signatureDer:s.buffer,pubKeyX32:c.buffer,pubKeyY32:l.buffer},timeoutMs:o,transfer:[n.buffer,r.buffer,i.buffer,s.buffer,c.buffer,l.buffer]}});return new Uint8Array(u)}async function p(t){if(!(t.cosePublicKey instanceof Uint8Array)||t.cosePublicKey.length===0)throw Error(`cosePublicKey must be non-empty`);let n=t.cosePublicKey.slice(),r=await e({ctx:t.workerCtx,kind:a,request:{type:`decodeCoseP256PublicKey`,payload:{cosePublicKey:n.buffer},timeoutMs:o,transfer:[n.buffer]}}),i=new Uint8Array(r);if(i.length!==64)throw Error(`decodeCoseP256PublicKey expected 64-byte output (got ${i.length})`);return{pubKeyX32:i.slice(0,32),pubKeyY32:i.slice(32,64)}}export{c as a,p as i,f as n,u as o,s as r,l as s,d as t};
1
+ import{t as e}from"./executeWorkerOperation-CAYSt0NA.js";function t(e){if(e<0n)throw Error(`[evmCryptoWasm] negative bigint not supported`);return e.toString(10)}function n(e){if(typeof e==`bigint`){if(e<0n)throw Error(`[evmCryptoWasm] chainId must be a non-negative integer`);let t=Number(e);if(!Number.isSafeInteger(t))throw Error(`[evmCryptoWasm] chainId must be a non-negative safe integer`);return t}if(!Number.isSafeInteger(e)||e<0)throw Error(`[evmCryptoWasm] chainId must be a non-negative safe integer`);return e}function r(e){if(typeof e==`bigint`)return e;throw Error(`[evmCryptoWasm] missing tx nonce`)}function i(e){return{chainId:n(e.chainId),nonce:t(r(e.nonce)),maxPriorityFeePerGas:t(e.maxPriorityFeePerGas),maxFeePerGas:t(e.maxFeePerGas),gasLimit:t(e.gasLimit),to:e.to??null,value:t(e.value),data:e.data??`0x`,accessList:(e.accessList??[]).map(e=>({address:e.address,storageKeys:e.storageKeys}))}}const a=`evmCrypto`,o=2e4;async function s(t,n){let r=await e({ctx:n,kind:a,request:{type:`computeEip1559TxHash`,payload:{tx:i(t)},timeoutMs:o}});return new Uint8Array(r)}async function c(t){let n=t.signature65.slice().buffer,r=await e({ctx:t.workerCtx,kind:a,request:{type:`encodeEip1559SignedTxFromSignature65`,payload:{tx:i(t.tx),signature65:n},timeoutMs:o,transfer:[n]}});return new Uint8Array(r)}async function l(t){if(!(t.digest32 instanceof Uint8Array)||t.digest32.length!==32)throw Error(`digest32 must be 32 bytes`);if(!(t.signature65 instanceof Uint8Array)||t.signature65.length!==65)throw Error(`signature65 must be 65 bytes`);if(!(t.publicKey33 instanceof Uint8Array)||t.publicKey33.length!==33)throw Error(`publicKey33 must be 33 bytes`);let n=t.digest32.slice().buffer,r=t.signature65.slice().buffer,i=t.publicKey33.slice().buffer,s=await e({ctx:t.workerCtx,kind:a,request:{type:`verifySecp256k1RecoverableSignatureAgainstPublicKey33`,payload:{digest32:n,signature65:r,publicKey33:i},timeoutMs:o,transfer:[n,r,i]}}),c=new Uint8Array(s);if(c.length!==33)throw Error(`verifySecp256k1RecoverableSignatureAgainstPublicKey33 expected 33-byte output (got ${c.length})`);return c}async function u(t){if(!(t.publicKey33 instanceof Uint8Array)||t.publicKey33.length!==33)throw Error(`publicKey33 must be 33 bytes`);let n=t.publicKey33.slice(),r=await e({ctx:t.workerCtx,kind:a,request:{type:`validateSecp256k1PublicKey33`,payload:{publicKey33:n.buffer},timeoutMs:o,transfer:[n.buffer]}}),i=new Uint8Array(r);if(i.length!==33)throw Error(`validateSecp256k1PublicKey33 expected 33-byte output (got ${i.length})`);return i}async function d(t){if(!(t.left33 instanceof Uint8Array)||t.left33.length!==33)throw Error(`left33 must be 33 bytes`);if(!(t.right33 instanceof Uint8Array)||t.right33.length!==33)throw Error(`right33 must be 33 bytes`);let n=t.left33.slice(),r=t.right33.slice(),i=await e({ctx:t.workerCtx,kind:a,request:{type:`addSecp256k1PublicKeys33`,payload:{left33:n.buffer,right33:r.buffer},timeoutMs:o,transfer:[n.buffer,r.buffer]}}),s=new Uint8Array(i);if(s.length!==33)throw Error(`addSecp256k1PublicKeys33 expected 33-byte output (got ${s.length})`);return s}async function f(t){if(!(t.challenge32 instanceof Uint8Array)||t.challenge32.length!==32)throw Error(`challenge32 must be 32 bytes`);if(!(t.pubKeyX32 instanceof Uint8Array)||t.pubKeyX32.length!==32)throw Error(`pubKeyX32 must be 32 bytes`);if(!(t.pubKeyY32 instanceof Uint8Array)||t.pubKeyY32.length!==32)throw Error(`pubKeyY32 must be 32 bytes`);if(!(t.authenticatorData instanceof Uint8Array)||!t.authenticatorData.length)throw Error(`authenticatorData must be non-empty`);if(!(t.clientDataJSON instanceof Uint8Array)||!t.clientDataJSON.length)throw Error(`clientDataJSON must be non-empty`);if(!(t.signatureDer instanceof Uint8Array)||!t.signatureDer.length)throw Error(`signatureDer must be non-empty`);let n=t.challenge32.slice(),r=t.authenticatorData.slice(),i=t.clientDataJSON.slice(),s=t.signatureDer.slice(),c=t.pubKeyX32.slice(),l=t.pubKeyY32.slice(),u=await e({ctx:t.workerCtx,kind:a,request:{type:`buildWebauthnP256Signature`,payload:{challenge32:n.buffer,authenticatorData:r.buffer,clientDataJSON:i.buffer,signatureDer:s.buffer,pubKeyX32:c.buffer,pubKeyY32:l.buffer},timeoutMs:o,transfer:[n.buffer,r.buffer,i.buffer,s.buffer,c.buffer,l.buffer]}});return new Uint8Array(u)}async function p(t){if(!(t.cosePublicKey instanceof Uint8Array)||t.cosePublicKey.length===0)throw Error(`cosePublicKey must be non-empty`);let n=t.cosePublicKey.slice(),r=await e({ctx:t.workerCtx,kind:a,request:{type:`decodeCoseP256PublicKey`,payload:{cosePublicKey:n.buffer},timeoutMs:o,transfer:[n.buffer]}}),i=new Uint8Array(r);if(i.length!==64)throw Error(`decodeCoseP256PublicKey expected 64-byte output (got ${i.length})`);return{pubKeyX32:i.slice(0,32),pubKeyY32:i.slice(32,64)}}export{c as a,p as i,f as n,u as o,s as r,l as s,d as t};
@@ -1 +1 @@
1
- import{t as e}from"./surface-measurement-reporter-DXsvq401.js";import{n as t,t as n}from"./appearance-DL7c6bML.js";let r=null,i=0;var a=class{surface;state;constructor(e,t,n,r,i,a){this.session=e,this.context=t,this.state={kind:`mounted`,lifecycle:i,binding:r,reporter:null},this.surface=a({parent:document.body,context:t,model:n,onClosed:this.closed})}start(){this.state.kind!==`disposed`&&(o(this.state.lifecycle,`opened`),this.state.kind===`mounted`&&this.bindMeasurement(this.state.binding))}matches(e,t){return this.surface.element.isConnected&&this.context===t&&this.session.kind===e.kind&&this.session.id===e.id}update(e,n,r){this.state.kind!==`disposed`&&(r&&(this.state.lifecycle=r),this.surface.update(e),t(this.state.binding,n)||this.bindMeasurement(n))}dispose(){r===this&&(r=null),this.surface.dispose()}closed=()=>{let e=this.state;e.kind!==`disposed`&&(this.state={kind:`disposed`},r===this&&(r=null,i+=1),e.reporter?.disconnect(),o(e.lifecycle,`closed`))};bindMeasurement(t){let n=this.state;if(n.kind===`disposed`||(n.reporter?.disconnect(),n.binding=t,n.reporter=null,t.kind===`disabled`))return;let r=e({kind:`request_surface`,element:this.surface.element,requestId:t.requestId,postMeasurement:t.postMeasurement});this.state===n?n.reporter=r:r.disconnect()}};function o(e,t){try{e?.(t)}catch{}}function s(e){let t=e.surfaceMeasurementBinding;return t.kind===`wallet_iframe`&&(t.hostSurfaceVariant??e.variant)===`modal`?`wallet-iframe`:`standalone`}function c(e){if(!e)return;let t=e.title.trim(),n=e.body?.trim(),r=e.steps?.map(l).filter(u);if(!(!t&&!n&&!r?.length))return{title:t,body:n,steps:r}}function l(e){return e.trim()}function u(e){return e.length>0}function d(e){return!!e.publicKey.trim()||!!e.privateKey.trim()}function f(e,t){return{id:`${e.scheme}-${t}`,scheme:e.scheme,label:e.label.trim(),publicKey:e.publicKey.trim(),address:e.address?.trim()??``}}function p(e){let t=e.accountId.trim(),n=c(e.guidance),r=e.errorMessage?.trim();if(r)return{kind:`failed`,accountId:t,guidance:n,message:r};let i=e.keys?.filter(d)??[];if(i.length===0){let t=e.publicKey?.trim()??``,n=e.privateKey?.trim()??``;(t||n)&&i.push({scheme:`ed25519`,label:`NEAR Ed25519`,publicKey:t,privateKey:n})}if(e.loading){let e={kind:`loading`,accountId:t,guidance:n,entries:[]};for(let[t,n]of i.entries())e.entries.push({...f(n,t),material:{kind:`loading`}});return e}let a={kind:`ready`,accountId:t,guidance:n,entries:[]};for(let[e,t]of i.entries()){let n=t.privateKey.trim();a.entries.push({...f(t,e),material:n?{kind:`ready`,value:n}:{kind:`unavailable`}})}return a}function m(e){let t=e.trim();return!!t&&r?.session.kind===`tracked`&&r.session.id===t&&r.surface.element.isConnected}async function h(e){if(typeof document>`u`)throw Error(`Export viewer host requires a DOM environment`);let t=++i,o={variant:e.variant,appearance:n({requestedAppearance:e.appearance,requestedMode:e.theme}),content:p(e)},c=e.sessionId?.trim(),l=c?{kind:`tracked`,id:c}:{kind:`untracked`},u=s(e),{mountExportPrivateKeySurface:d}=await import(`./mountExportPrivateKeySurface-CsUEKeum.js`);if(t!==i)return;if(r?.matches(l,u)){r.update(o,e.surfaceMeasurementBinding,e.onLifecycle);return}if(r?.dispose(),t!==i)return;let f=new a(l,u,o,e.surfaceMeasurementBinding,e.onLifecycle??null,d);r=f;try{f.start()}catch(e){throw f.dispose(),e}}function g(){i+=1,r?.dispose()}export{g as n,h as r,m as t};
1
+ import{t as e}from"./surface-measurement-reporter-DJ_dQhBV.js";import{n as t,t as n}from"./appearance-DL7c6bML.js";let r=null,i=0;var a=class{surface;state;constructor(e,t,n,r,i,a){this.session=e,this.context=t,this.state={kind:`mounted`,lifecycle:i,binding:r,reporter:null},this.surface=a({parent:document.body,context:t,model:n,onClosed:this.closed})}start(){this.state.kind!==`disposed`&&(o(this.state.lifecycle,`opened`),this.state.kind===`mounted`&&this.bindMeasurement(this.state.binding))}matches(e,t){return this.surface.element.isConnected&&this.context===t&&this.session.kind===e.kind&&this.session.id===e.id}update(e,n,r){this.state.kind!==`disposed`&&(r&&(this.state.lifecycle=r),this.surface.update(e),t(this.state.binding,n)||this.bindMeasurement(n))}dispose(){r===this&&(r=null),this.surface.dispose()}closed=()=>{let e=this.state;e.kind!==`disposed`&&(this.state={kind:`disposed`},r===this&&(r=null,i+=1),e.reporter?.disconnect(),o(e.lifecycle,`closed`))};bindMeasurement(t){let n=this.state;if(n.kind===`disposed`||(n.reporter?.disconnect(),n.binding=t,n.reporter=null,t.kind===`disabled`))return;let r=e({kind:`request_surface`,element:this.surface.element,requestId:t.requestId,postMeasurement:t.postMeasurement});this.state===n?n.reporter=r:r.disconnect()}};function o(e,t){try{e?.(t)}catch{}}function s(e){let t=e.surfaceMeasurementBinding;return t.kind===`wallet_iframe`&&(t.hostSurfaceVariant??e.variant)===`modal`?`wallet-iframe`:`standalone`}function c(e){if(!e)return;let t=e.title.trim(),n=e.body?.trim(),r=e.steps?.map(l).filter(u);if(!(!t&&!n&&!r?.length))return{title:t,body:n,steps:r}}function l(e){return e.trim()}function u(e){return e.length>0}function d(e){return!!e.publicKey.trim()||!!e.privateKey.trim()}function f(e,t){return{id:`${e.scheme}-${t}`,scheme:e.scheme,label:e.label.trim(),publicKey:e.publicKey.trim(),address:e.address?.trim()??``}}function p(e){let t=e.accountId.trim(),n=c(e.guidance),r=e.errorMessage?.trim();if(r)return{kind:`failed`,accountId:t,guidance:n,message:r};let i=e.keys?.filter(d)??[];if(i.length===0){let t=e.publicKey?.trim()??``,n=e.privateKey?.trim()??``;(t||n)&&i.push({scheme:`ed25519`,label:`NEAR Ed25519`,publicKey:t,privateKey:n})}if(e.loading){let e={kind:`loading`,accountId:t,guidance:n,entries:[]};for(let[t,n]of i.entries())e.entries.push({...f(n,t),material:{kind:`loading`}});return e}let a={kind:`ready`,accountId:t,guidance:n,entries:[]};for(let[e,t]of i.entries()){let n=t.privateKey.trim();a.entries.push({...f(t,e),material:n?{kind:`ready`,value:n}:{kind:`unavailable`}})}return a}function m(e){let t=e.trim();return!!t&&r?.session.kind===`tracked`&&r.session.id===t&&r.surface.element.isConnected}async function h(e){if(typeof document>`u`)throw Error(`Export viewer host requires a DOM environment`);let t=++i,o={variant:e.variant,appearance:n({requestedAppearance:e.appearance,requestedMode:e.theme}),content:p(e)},c=e.sessionId?.trim(),l=c?{kind:`tracked`,id:c}:{kind:`untracked`},u=s(e),{mountExportPrivateKeySurface:d}=await import(`./mountExportPrivateKeySurface-D8juRQJM.js`);if(t!==i)return;if(r?.matches(l,u)){r.update(o,e.surfaceMeasurementBinding,e.onLifecycle);return}if(r?.dispose(),t!==i)return;let f=new a(l,u,o,e.surfaceMeasurementBinding,e.onLifecycle??null,d);r=f;try{f.start()}catch(e){throw f.dispose(),e}}function g(){i+=1,r?.dispose()}export{g as n,h as r,m as t};
@@ -0,0 +1 @@
1
+ import{i as e}from"./domainIds-t1lp25yU.js";import{t}from"./digests-BIaE0DMd.js";import{r as n}from"./secureRandomId-8LSc91aN.js";import"./walletDbName-B6-CV_Rq.js";import{t as r}from"./activeWalletSession-HAOgRKzn.js";import"./signingSessionSeal-BFOBKj-J.js";import"./capabilityKinds-Cafn86Y1.js";import{o as i}from"./canonicalPrimitives-DKeS3M40.js";import{i as a,t as o}from"./errors-BJBDbwHk.js";import"./signerDomain-D-EUTlLK.js";import{s}from"./types-D2Zk1W7I.js";import{d as c,t as l}from"./accountIds-DGWFzEnw.js";import"./presignatures-B9KnQyfE.js";import{c as u,o as d,s as ee,u as f}from"./ecdsaChainTarget-BoRVQtjQ.js";import"./walletAuthority-CU9nO0Ze.js";import{Nt as te,Pt as ne,W as re,lt as p,nt as m,rt as h}from"./digestEncoding-Rx8Vjy4J.js";import{i as ie}from"./walletAuthMethodRecord--fvGr8r1.js";import"./signerSlot-BlijMq8C.js";import{a as g,n as _,u as ae}from"./sdkSentEvents-BFwv3mBw.js";import"./walletCapabilityBindings-mPx-6_r-.js";import{a as v,g as y}from"./emailOtpEcdsaDerivationIdentity-DJmMyqL-.js";import{i as oe}from"./helpers-B7c1zc7h.js";import{C as se,D as b,b as ce,j as le,x as ue}from"./nearEd25519YaoSigningPreparation-Cz2Gb95g.js";import{l as x,u as de}from"./trace-BA8jya7O.js";import{n as fe,r as pe,t as me,v as he}from"./ecdsaDerivationExport-jm2VBMz_.js";import{t as ge}from"./challengeDelivery-Dj9HrjW9.js";import{i as _e}from"./walletSessionFailure-CxsVtroW.js";import{i as ve,n as ye,r as be,s as xe}from"./signingQueue-Dy5mYMus.js";import{h as S,i as C,l as Se,n as Ce,s as w}from"./clientSessionPersistenceState-B3gU3515.js";import{t as T}from"./types-C4OErbBf.js";import{n as E}from"./confirmTypes-DmEPoxys.js";import{n as D,t as we}from"./export-viewer-host-TzgdJQuZ.js";function O(e){return e.chainTarget.kind}function Te(e){return e}function Ee(e){return!e||e.curve!==`ecdsa`||!e.chainTarget||!S(e)||e.auth.kind===`voiceid`||!String(e.publicFacts.keyHandle||``).trim()?!1:e.source===`active_wallet_authority`?e.runtime.requiredCapability===`export_keys`&&e.state===`deferred`&&e.authorizationState===`authorization_required`:e.authorization?!0:e.state===`deferred`}function k(e){if(e.length!==2)throw Error(`[SigningEngine][ecdsa-export] ECDSA participant set must contain two parties`);let t=e[0],n=e[1];if(!Number.isSafeInteger(t)||!Number.isSafeInteger(n)||t<=0||n<=0||t===n)throw Error(`[SigningEngine][ecdsa-export] ECDSA participant set is invalid`);return[t,n]}function A(t){let{exportLane:n,label:r}=t,i=n.capability,a=i.manifest.signer;if(a.walletId!==n.key.walletId||!a.scope.targetMemberships.some(e=>ee(e,n.chainTarget)))throw Error(`[SigningEngine][ecdsa-export] ${r} capability target mismatch`);if(!t.authMatches())throw Error(`[SigningEngine][ecdsa-export] ${r} capability auth mismatch`);if(!e(i.manifest.activation.materialActivation,n.laneIdentity.signer.materialActivation))throw Error(`[SigningEngine][ecdsa-export] ${r} material activation mismatch`);v({expected:n.publicFacts,actual:a.registeredPublicFacts,context:`canonical ${r} export lane`});let o=i.material.publicFacts;if(o.walletId!==a.walletId||String(o.keyHandle)!==String(n.publicFacts.keyHandle)||String(o.groupPublicKey33B64u)!==String(n.publicFacts.publicKeyB64u)||String(o.ethereumAddress)!==String(n.publicFacts.thresholdOwnerAddress)||o.participantIds.length!==n.publicFacts.participantIds.length||o.participantIds.some((e,t)=>e!==n.publicFacts.participantIds[t]))throw Error(`[SigningEngine][ecdsa-export] canonical ${r} export material mismatch`);let s=i.manifest.durableMaterial,c=s.runtimePolicyScope,l=String(t.deps.relayerUrl).trim().replace(/\/+$/g,``);if(!c)throw Error(`[SigningEngine][ecdsa-export] ${r} runtime policy scope is missing`);if(!l)throw Error(`[SigningEngine][ecdsa-export] ${r} export relayer URL is missing`);return{durable:s,runtimePolicyScope:c,relayerUrl:l}}function De(e){let{exportLane:t}=e,n=t.capability,r=n.authority;if(!m(r))throw Error(`[SigningEngine][ecdsa-export] Email OTP capability authority mismatch`);let{durable:i,runtimePolicyScope:a,relayerUrl:o}=A({deps:e.deps,exportLane:t,label:`Email OTP`,authMatches:()=>t.laneIdentity.auth.kind===`email_otp`&&t.laneIdentity.auth.providerSubjectId===r.factor.providerUserId});return{source:`canonical_capability`,kind:`fresh_email_otp_route_auth_ready`,chainTarget:t.chainTarget,publicFacts:t.publicFacts,runtimePolicyScope:a,persistedMaterial:n.material,normalSigning:i.routerAbEcdsaDerivationNormalSigning,relayerKeyId:String(i.roleLocalBinding.relayerKeyId),participantIds:k(i.roleLocalBinding.participantIds),relayerUrl:o,authorization:{kind:`fresh_operation_authorization_required`,authority:r}}}function Oe(e){let{exportLane:t}=e,n=t.capability,r=n.authority;if(!h(r))throw Error(`[SigningEngine][ecdsa-export] passkey capability authority mismatch`);let{durable:i,runtimePolicyScope:a,relayerUrl:o}=A({deps:e.deps,exportLane:t,label:`passkey`,authMatches:()=>t.laneIdentity.auth.kind===`passkey`&&t.laneIdentity.auth.credentialIdB64u===r.factor.credentialIdB64u});return{source:`canonical_capability`,kind:`fresh_passkey_needs_authorization`,chainTarget:t.chainTarget,publicFacts:t.publicFacts,runtimePolicyScope:a,publicCapability:i.roleLocalPublicFacts.publicCapability,existingRoleLocalMaterial:n.material,normalSigning:i.routerAbEcdsaDerivationNormalSigning,relayerKeyId:String(i.roleLocalBinding.relayerKeyId),participantIds:k(i.roleLocalBinding.participantIds),relayerUrl:o}}function ke(t){let{exportLane:n,resolution:r}=t;if(n.laneIdentity.auth.kind!==`email_otp`)throw Error(`[SigningEngine][ecdsa-export] Email OTP runtime auth mismatch`);if(r.runtime.authBinding.kind!==`email_otp`)throw Error(`[SigningEngine][ecdsa-export] Email OTP runtime authority mismatch`);if(n.laneIdentity.auth.providerSubjectId!==r.runtime.authBinding.providerSubjectId)throw Error(`[SigningEngine][ecdsa-export] Email OTP runtime auth mismatch`);if(!e(r.runtime.materialActivation,n.laneIdentity.signer.materialActivation))throw Error(`[SigningEngine][ecdsa-export] Email OTP material activation mismatch`);let i=r.runtime.runtimePolicyScope;if(!i)throw Error(`[SigningEngine][ecdsa-export] Email OTP runtime policy scope is missing`);let a=ve({authority:r.manifest.signer.authority,materialActivation:r.manifest.activation.materialActivation,publicFacts:r.manifest.durableMaterial.roleLocalPublicFacts});return{source:`canonical_capability`,kind:`fresh_email_otp_route_auth_ready`,chainTarget:n.chainTarget,publicFacts:n.publicFacts,runtimePolicyScope:i,persistedMaterial:a,normalSigning:r.runtime.normalSigning,relayerKeyId:r.runtime.relayerKeyId,participantIds:r.runtime.participantIds,relayerUrl:r.runtime.relayerUrl,authorization:{kind:`fresh_operation_authorization_required`,authority:r.runtime.authBinding.emailOtpAuthority}}}function Ae(t){let{exportLane:n}=t,r=n.runtime;if(r.requiredCapability!==`export_keys`)throw Error(`[SigningEngine][ecdsa-export] active Wallet Authority lane lacks export_keys capability`);if(r.walletId!==n.key.walletId)throw Error(`[SigningEngine][ecdsa-export] active Wallet Authority wallet mismatch`);if(!e(r.materialActivation,n.laneIdentity.signer.materialActivation))throw Error(`[SigningEngine][ecdsa-export] active Wallet Authority material activation mismatch`);v({expected:n.publicFacts,actual:r.publicFacts,context:`active Wallet Authority ECDSA export lane`});let i=r.normalSigning,a=i.scope;if(a.wallet_id!==String(r.walletId)||a.ecdsa_threshold_key_id!==r.ecdsaThresholdKeyId||a.public_identity.threshold_public_key33_b64u!==r.publicFacts.publicKeyB64u||!e(te(a.material_activation),r.materialActivation))throw Error(`[SigningEngine][ecdsa-export] active Wallet Authority normal-signing identity mismatch`);let o=String(t.deps.relayerUrl).trim().replace(/\/+$/g,``);if(!o)throw Error(`[SigningEngine][ecdsa-export] active Wallet Authority export relayer URL is missing`);let s=k(r.publicFacts.participantIds);if(r.auth.kind===`passkey`){if(!h(r.factorAuthority))throw Error(`[SigningEngine][ecdsa-export] active passkey factor authority mismatch`);if(r.factorAuthority.factor.credentialIdB64u!==r.auth.credentialIdB64u||r.factorAuthority.bindingId!==r.walletAuthMethodId)throw Error(`[SigningEngine][ecdsa-export] active passkey factor identity mismatch`);return{source:`active_wallet_authority`,kind:`active_wallet_authority_passkey_needs_authorization`,chainTarget:n.chainTarget,publicFacts:r.publicFacts,normalSigning:i,relayerKeyId:r.relayerKeyId,participantIds:s,relayerUrl:o,runtime:r,factorAuthority:r.factorAuthority,authMethod:`passkey`}}if(!m(r.factorAuthority))throw Error(`[SigningEngine][ecdsa-export] active Email OTP factor authority mismatch`);if(r.factorAuthority.factor.providerUserId!==r.auth.providerSubjectId||r.factorAuthority.bindingId!==r.walletAuthMethodId)throw Error(`[SigningEngine][ecdsa-export] active Email OTP factor identity mismatch`);return{source:`active_wallet_authority`,kind:`active_wallet_authority_email_otp_needs_authorization`,chainTarget:n.chainTarget,publicFacts:r.publicFacts,normalSigning:i,relayerKeyId:r.relayerKeyId,participantIds:s,relayerUrl:o,runtime:r,factorAuthority:r.factorAuthority,authMethod:`email_otp`}}async function j(e,t){if(t.source!==`canonical_capability`)throw Error(`[SigningEngine][ecdsa-export] active Wallet Authority Email OTP material uses its holder runtime`);if(t.authMethod!==`email_otp`)throw Error(`[SigningEngine][ecdsa-export] fresh Email OTP export requires Email OTP lane`);let n=await e.resolveActiveEcdsaCapabilityRuntime({walletId:t.key.walletId,chainTarget:t.chainTarget});if(n.kind===`blocked`&&n.reason===`missing_material`)return De({deps:e,exportLane:t});if(n.kind!==`resolved`)throw Error(`[SigningEngine][ecdsa-export] Email OTP capability runtime unavailable: ${n.reason}`);return ke({exportLane:t,resolution:n})}async function M(t,n){if(n.source===`active_wallet_authority`)return Ae({deps:t,exportLane:n});if(n.authMethod===`email_otp`)return await j(t,n);let r=await t.resolveActiveEcdsaCapabilityRuntime({walletId:n.key.walletId,chainTarget:n.chainTarget});if(r.kind===`blocked`&&r.reason===`missing_material`)return Oe({deps:t,exportLane:n});if(r.kind!==`resolved`)throw Error(`[SigningEngine][ecdsa-export] passkey capability runtime unavailable: ${r.reason}`);if(!e(r.runtime.materialActivation,n.laneIdentity.signer.materialActivation))throw Error(`[SigningEngine][ecdsa-export] passkey material activation mismatch`);if(r.runtime.authBinding.kind!==`passkey`)throw Error(`[SigningEngine][ecdsa-export] passkey authority binding mismatch`);let i=r.manifest.signer.registeredPublicFacts;v({expected:n.publicFacts,actual:i,context:`canonical passkey export lane`});let a=r.runtime.runtimePolicyScope;if(!a)throw Error(`[SigningEngine][ecdsa-export] durable passkey export requires runtimePolicyScope`);return{source:`canonical_capability`,kind:`fresh_passkey_needs_authorization`,chainTarget:n.chainTarget,publicFacts:i,runtimePolicyScope:a,publicCapability:r.manifest.durableMaterial.roleLocalPublicFacts.publicCapability,existingRoleLocalMaterial:ve({authority:r.manifest.signer.authority,materialActivation:r.manifest.durableMaterial.materialActivation,publicFacts:r.manifest.durableMaterial.roleLocalPublicFacts}),normalSigning:r.runtime.normalSigning,relayerKeyId:r.runtime.relayerKeyId,participantIds:r.runtime.participantIds,relayerUrl:r.runtime.relayerUrl}}function je(e){return n(e,32,`Email OTP export UI request IDs`)}function Me(e){switch(e.kind){case`near_account`:return String(l(e.nearAccountId));case`wallet_session`:{let t=String(e.walletId||``).trim();if(!t)throw Error(`Email OTP export requires wallet identity`);return t}default:return e}}function Ne(e){switch(e.kind){case`near_account`:if(!String(e.walletId||``).trim())throw Error(`Email OTP NEAR export requires wallet identity`);return{kind:`near_wallet`,walletId:String(e.walletId).trim(),nearAccountId:String(l(e.nearAccountId))};case`wallet_session`:{let t=String(e.walletId||``).trim();if(!t)throw Error(`Email OTP export requires wallet identity`);return{kind:`evm_wallet`,walletId:t}}default:return e}}function Pe(e){return{challengeId:e.challenge.challengeId,...e.challenge.emailHint?{emailHint:e.challenge.emailHint}:{},title:`Enter email code to export`,body:`This one-time code authorizes private key export only.`,helperText:`Enter the 6-digit code sent to your email`,onResend:e.onResend}}async function N(e){let t=Me(e.identity),n=async()=>{let t=await e.challengeSource.requestChallenge(),n=String(t.challengeId||``).trim();if(!n)throw Error(`Email OTP export challenge response did not include challengeId`);let r=String(t.emailHint||``).trim();if(!r)throw Error(`Email OTP export challenge response did not include emailHint`);let i={challengeId:n,emailHint:r,delivery:t.delivery};return e.onChallenge?.(i),i},r=await n(),i=Pe({challenge:r,onResend:async()=>(r=await n(),r)}),a=Ne(e.identity),o=await e.confirmer.requestUserConfirmation({requestId:je(`export-${e.curve}-email-otp-auth`),type:E.SIGN_INTENT_DIGEST,summary:{operation:`Export Private Key`,accountId:t,publicKey:e.publicKey,warning:`Enter the email code to export this key. Anyone with the private key can fully control the account.`},payload:{signingSubject:a,challengeB64u:r.challengeId,signingAuthPlan:{kind:T.EmailOtpReauth,method:`email_otp`,emailOtpPrompt:i},emailOtpPrompt:i},intentDigest:`export-keys:${t}:${e.chain}:${e.curve}:email-otp`});if(!o.confirmed)throw Error(o.error||`User cancelled Email OTP export request`);let s=String(o.otpCode||``).replace(/\D/g,``).slice(0,6);if(s.length!==6)throw Error(`Email OTP export requires a 6-digit code`);return{challengeId:String(o.emailOtpChallengeId||r.challengeId).trim(),otpCode:s}}function P(e){throw Error(`[SigningEngine][export] unsupported authorization identity: ${String(e)}`)}function Fe(e){throw Error(`[SigningEngine][export] unsupported step-up method: ${String(e)}`)}function Ie(e){let t=String(e.walletSessionUserId||``).trim();if(!t)throw Error(`[SigningEngine][export] missing export step-up authorization identity`);let n=String(e.publicKey||``).trim();if(!n)throw Error(`[SigningEngine][export] missing export step-up authorization public key`);switch(e.curve){case`ecdsa`:return{walletSessionUserId:t,publicKey:n,curve:`ecdsa`,intent:`ecdsa_export`,chain:e.chain};case`ed25519`:{let r={walletSessionUserId:t,publicKey:n,curve:`ed25519`,intent:`ed25519_export`,chain:`near`,nearAccountId:String(e.nearAccountId||``).trim(),nearEd25519SigningKeyId:String(e.nearEd25519SigningKeyId||``).trim(),signerSlot:Number(e.signerSlot)};if(!r.nearAccountId||!r.nearEd25519SigningKeyId||!Number.isSafeInteger(r.signerSlot)||r.signerSlot<1)throw Error(`[SigningEngine][export] Ed25519 export authorization identity is invalid`);return r}default:return P(e)}}function Le(e){let t={kind:T.EmailOtpReauth,method:`email_otp`,emailOtpPrompt:e.emailOtpPrompt},n=e.emailOtpPrompt.emailHint;switch(e.identity.curve){case`ecdsa`:return{kind:`email_otp`,signingAuthPlan:t,challengeId:e.challengeId,otpCode:e.otpCode,walletSessionUserId:e.identity.walletSessionUserId,publicKey:e.identity.publicKey,curve:`ecdsa`,intent:`ecdsa_export`,chain:e.identity.chain,...n?{emailHint:n}:{}};case`ed25519`:return{kind:`email_otp`,signingAuthPlan:t,challengeId:e.challengeId,otpCode:e.otpCode,walletSessionUserId:e.identity.walletSessionUserId,publicKey:e.identity.publicKey,curve:`ed25519`,intent:`ed25519_export`,chain:`near`,nearAccountId:e.identity.nearAccountId,nearEd25519SigningKeyId:e.identity.nearEd25519SigningKeyId,signerSlot:e.identity.signerSlot,...n?{emailHint:n}:{}};default:return P(e.identity)}}function Re(e){let t={kind:T.PasskeyReauth,method:`passkey`};switch(e.identity.curve){case`ecdsa`:return{kind:`passkey`,signingAuthPlan:t,credential:e.credential,walletSessionUserId:e.identity.walletSessionUserId,publicKey:e.identity.publicKey,curve:`ecdsa`,intent:`ecdsa_export`,chain:e.identity.chain};case`ed25519`:return{kind:`passkey`,signingAuthPlan:t,credential:e.credential,walletSessionUserId:e.identity.walletSessionUserId,publicKey:e.identity.publicKey,curve:`ed25519`,intent:`ed25519_export`,chain:`near`,nearAccountId:e.identity.nearAccountId,nearEd25519SigningKeyId:e.identity.nearEd25519SigningKeyId,signerSlot:e.identity.signerSlot};default:return P(e.identity)}}function F(e){let t=Ie(e);switch(e.method){case`email_otp`:{if(!e.decision.confirmed)throw Error(e.decision.error||`User cancelled Email OTP export request`);let n=String(e.decision.otpCode||``).replace(/\D/g,``).slice(0,6);if(n.length!==6)throw Error(`Email OTP export requires a 6-digit code`);let r=String(e.decision.emailOtpChallengeId||e.emailOtpPrompt.challengeId||``).trim();if(!r)throw Error(`Email OTP export challenge response did not include challengeId`);return Le({identity:t,emailOtpPrompt:e.emailOtpPrompt,challengeId:r,otpCode:n})}case`passkey`:if(!e.decision.confirmed)throw Error(e.decision.error||`User cancelled export request`);if(!e.decision.credential)throw Error(`[SigningEngine][export] missing WebAuthn credential for export authorization`);return Re({identity:t,credential:oe(e.decision.credential)});default:return Fe(e)}}function ze(e){switch(e.kind){case`ecdsa`:return{subject:`${String(e.walletSession.walletId)}:${d(e.chainTarget)}`,chain:e.chainTarget.kind,data:{curve:`ecdsa`,chain:e.chainTarget.kind,chainTarget:e.chainTarget}};case`ed25519`:return{subject:`${String(e.walletSession.walletId)}:near:${String(e.nearAccount.accountId)}`,chain:`near`,data:{curve:`ed25519`,chain:`near`,nearAccount:e.nearAccount}}}}function I(e,t){if(e)try{e(ae(t))}catch{}}function L(e){return n(e,32,`key export UI request IDs`)}function Be(e,t){return`key-export:${e}:${t}:${L(`flow`)}`}async function Ve(e,t){let n=ze(e),r=Be(n.subject,n.chain),i=e.walletSession.walletId,s=n.data;I(e.options.onEvent,{phase:_.STEP_01_STARTED,status:`running`,flowId:r,accountId:String(i),interaction:{kind:`none`,overlay:`none`},data:s});try{return await t({...e,flowId:r})}catch(t){let n=a(t);throw I(e.options.onEvent,{phase:n?_.CANCELLED:_.FAILED,status:n?`cancelled`:`failed`,flowId:r,accountId:String(i),interaction:{kind:`none`,overlay:`hide`},error:{message:o(t)||(n?`Key export cancelled`:`Key export failed`)},data:s}),t}}async function He(e,t){return await e.requestExportChallenge({kind:`wallet_login_challenge`,walletSession:t.walletSession,chain:t.chain})}function R(e,t){let n=e.kind===`email_otp_ed25519_export_auth`?e.walletId:e.walletSession.walletSessionUserId;I(e.onEvent,{phase:_.STEP_02_AUTH_EMAIL_OTP_INPUT_REQUIRED,status:`waiting_for_user`,flowId:e.flowId,accountId:String(n),authMethod:`email_otp`,interaction:{kind:`otp_input`,overlay:`show`},data:{emailHint:t.emailHint,demoOtpCode:ge(t.delivery)}})}async function z(e,t){let n=t.walletSession.walletSessionUserId,r=await N({identity:{kind:`wallet_session`,walletId:n},chain:t.chain,publicKey:t.publicKey,curve:t.curve,challengeSource:{requestChallenge:async()=>await He(e,t)},confirmer:{requestUserConfirmation:async t=>await e.touchConfirm.requestUserConfirmation(t)},onChallenge:R.bind(void 0,t)}),i={challengeId:r.challengeId},a={confirmed:!0,otpCode:r.otpCode,emailOtpChallengeId:r.challengeId},o=F({method:`email_otp`,walletSessionUserId:n,chain:t.chain,publicKey:t.publicKey,curve:`ecdsa`,intent:`ecdsa_export`,emailOtpPrompt:i,decision:a});if(o.kind!==`email_otp`)throw Error(`[SigningEngine][export] Email OTP export returned the wrong step-up method`);return o}async function Ue(e,t){let n=await N({identity:{kind:`near_account`,walletId:t.walletId,nearAccountId:t.nearAccountId},chain:`near`,publicKey:t.publicKey,curve:`ed25519`,challengeSource:{requestChallenge:async()=>await e.requestExportChallenge({kind:`wallet_export_challenge`,walletId:t.walletId,chain:`near`})},confirmer:{requestUserConfirmation:async t=>await e.touchConfirm.requestUserConfirmation(t)},onChallenge:R.bind(void 0,t)}),r=F({method:`email_otp`,walletSessionUserId:t.walletId,publicKey:t.publicKey,curve:`ed25519`,intent:`ed25519_export`,chain:`near`,nearAccountId:t.nearAccountId,nearEd25519SigningKeyId:t.nearEd25519SigningKeyId,signerSlot:t.signerSlot,emailOtpPrompt:{challengeId:n.challengeId},decision:{confirmed:!0,otpCode:n.otpCode,emailOtpChallengeId:n.challengeId}});if(r.kind!==`email_otp`||r.curve!==`ed25519`)throw Error(`[SigningEngine][export] Ed25519 Email OTP export authorization changed kind`);return r}async function B(e,t){let n=t.state===`loading`,r=[{scheme:`ed25519`,label:`NEAR Ed25519 private key`,publicKey:t.publicKey,privateKey:n?``:t.privateKey}];await e.touchConfirm.requestUserConfirmation({requestId:L(`export-ed25519-yao-view`),type:E.SHOW_SECURE_PRIVATE_KEY_UI,summary:{operation:`Export Private Key`,accountId:t.nearAccountId,publicKey:t.publicKey,warning:`Anyone with your private key can fully control your account. Never share it.`},payload:{subject:{kind:`near_wallet`,nearAccountId:t.nearAccountId},viewerSessionId:t.viewerSessionId,publicKey:t.publicKey,keys:r,variant:t.variant,theme:t.theme??e.theme??`dark`,loading:n,onLifecycle:e=>{I(t.onEvent,{phase:e===`opened`?_.STEP_04_VIEWER_OPENED:_.STEP_05_VIEWER_CLOSED,status:e===`opened`?`waiting_for_user`:`succeeded`,flowId:t.flowId,accountId:t.nearAccountId,interaction:{kind:`key_export_viewer`,overlay:e===`opened`?`show`:`hide`},data:{chain:`near`,curve:`ed25519`,loading:n}}),e===`closed`&&I(t.onEvent,{phase:_.STEP_06_COMPLETED,status:`succeeded`,flowId:t.flowId,accountId:t.nearAccountId,interaction:{kind:`none`,overlay:`hide`},data:{chain:`near`,curve:`ed25519`}})}},intentDigest:`export-keys:${t.walletId}:near:${t.nearAccountId}:ed25519`})}async function V(e,t){let n=t.chainTarget.kind,r=String(t.walletSessionUserId||``).trim();if(!r)throw Error(`[SigningEngine][export] missing ECDSA export wallet session user id`);return await We(e,{walletSessionUserId:t.walletSessionUserId,intent:`ecdsa_export`,curve:`ecdsa`,chain:n,publicKey:t.publicKey,flowId:t.flowId,onEvent:t.onEvent,request:{requestId:L(`export-threshold-ecdsa-auth`),type:E.AUTHORIZE_KEY_EXPORT,summary:{operation:`Export Private Key`,accountId:r,publicKey:t.publicKey,warning:n===`tempo`?`Confirm to reveal your Tempo private key export.`:`Confirm to reveal your EVM private key export.`},payload:{subject:{kind:`evm_wallet`,walletId:r},credentialIdB64u:t.credentialIdB64u,publicKey:t.publicKey,...t.challengeB64u?{challengeB64u:t.challengeB64u}:{}},intentDigest:`export-keys:${r}:${d(t.chainTarget)}:secp256k1`}})}async function H(e,t){let n=t.chainTarget.kind,r=n===`tempo`?`Tempo`:`EVM`,i=t.state===`loading`,a=i?[{scheme:`secp256k1`,label:r,publicKey:t.publicKeyHex,privateKey:``,address:t.ethereumAddress}]:[{scheme:`secp256k1`,label:r,publicKey:t.publicKeyHex,privateKey:t.privateKeyHex,address:t.ethereumAddress}];await e.touchConfirm.requestUserConfirmation({requestId:L(`export-threshold-ecdsa-view`),type:E.SHOW_SECURE_PRIVATE_KEY_UI,summary:{operation:`Export Private Key`,accountId:t.walletId,publicKey:t.publicKeyHex,warning:`Anyone with your private key can fully control your account. Never share it.`},payload:{subject:{kind:`evm_wallet`,walletId:t.walletId},viewerSessionId:t.viewerSessionId,publicKey:t.publicKeyHex,keys:a,variant:t.variant,theme:t.theme??e.theme??`dark`,loading:i,onLifecycle:e=>{I(t.onEvent,{phase:e===`opened`?_.STEP_04_VIEWER_OPENED:_.STEP_05_VIEWER_CLOSED,status:e===`opened`?`waiting_for_user`:`succeeded`,flowId:t.flowId,accountId:String(t.walletId),interaction:{kind:`key_export_viewer`,overlay:e===`opened`?`show`:`hide`},data:{chain:n,curve:`ecdsa`,loading:i}}),e===`closed`&&I(t.onEvent,{phase:_.STEP_06_COMPLETED,status:`succeeded`,flowId:t.flowId,accountId:String(t.walletId),interaction:{kind:`none`,overlay:`hide`},data:{chain:n,curve:`ecdsa`}})}},intentDigest:`export-keys:${t.walletId}:${d(t.chainTarget)}:secp256k1`})}async function We(e,t){let n=String(t.walletSessionUserId||``).trim();if(!n)throw Error(`[SigningEngine][export] missing export account identity`);I(t.onEvent,{phase:_.STEP_02_AUTH_PASSKEY_PROMPT_STARTED,status:`waiting_for_user`,flowId:t.flowId,accountId:String(n),authMethod:`passkey`,interaction:{kind:`passkey_assert`,overlay:`show`},data:{intent:t.intent,curve:t.curve}}),D();let r=await e.touchConfirm.requestUserConfirmation(t.request),i=F({method:`passkey`,walletSessionUserId:t.walletSessionUserId,publicKey:t.publicKey,curve:`ecdsa`,intent:`ecdsa_export`,chain:t.chain,decision:r});if(i.kind!==`passkey`)throw Error(`[SigningEngine][export] passkey export returned the wrong step-up method`);return I(t.onEvent,{phase:_.STEP_02_AUTH_PASSKEY_PROMPT_SUCCEEDED,status:`succeeded`,flowId:t.flowId,accountId:String(n),authMethod:`passkey`,interaction:{kind:`passkey_assert`,overlay:`hide`},data:{intent:t.intent,curve:t.curve}}),i}function Ge(e){I(e.onEvent,{phase:_.STEP_03_MATERIAL_PREPARE_STARTED,status:`running`,flowId:e.flowId,accountId:String(e.walletId),interaction:{kind:`none`,overlay:`none`},data:{chain:e.chain,curve:`ecdsa`}})}function Ke(e){I(e.onEvent,{phase:_.STEP_03_MATERIAL_PREPARE_SUCCEEDED,status:`succeeded`,flowId:e.flowId,accountId:String(e.walletId),interaction:{kind:`none`,overlay:`none`},data:{chain:e.chain,curve:`ecdsa`,...e.source?{source:e.source}:{}}})}async function qe(e,t){await H({touchConfirm:e.touchConfirm,theme:e.theme},{state:`ready`,walletId:t.walletId,chainTarget:t.exportLane.chainTarget,publicKeyHex:String(t.artifact.publicKeyHex||``).trim(),privateKeyHex:String(t.artifact.privateKeyHex||``).trim(),ethereumAddress:String(t.artifact.ethereumAddress||``).trim(),variant:t.options.variant,theme:t.options.theme,viewerSessionId:t.viewerSessionId,flowId:t.flowId,onEvent:t.onEvent})}async function Je(e,t){await H({touchConfirm:e.touchConfirm,theme:e.theme},{state:`loading`,walletId:t.walletId,chainTarget:t.exportLane.chainTarget,publicKeyHex:String(t.publicKey||``).trim(),ethereumAddress:String(t.ethereumAddress||``).trim(),variant:t.options.variant,theme:t.options.theme,viewerSessionId:t.viewerSessionId,flowId:t.flowId,onEvent:t.onEvent})}async function U(t,n){let r=O(n.exportLane),i=L(`export-threshold-ecdsa-viewer-session`);Ge({flowId:n.flowId,walletId:n.walletId,chain:r,onEvent:n.onEvent});try{await Je(t,{walletId:n.walletId,exportLane:n.exportLane,publicKey:n.exportPublicKey,ethereumAddress:n.exportLane.publicFacts.thresholdOwnerAddress,options:n.options,viewerSessionId:i,flowId:n.flowId,onEvent:n.onEvent});let a=n.exportLane.laneIdentity.signer.materialActivation,o=await t.withThresholdEcdsaSigningQueue({queueKey:C({materialActivation:a}),walletId:n.exportLane.key.walletId,enabled:!0,task:async()=>{if(n.exportLane.source===`active_wallet_authority`){let e=n.activeRuntime;if(!e)throw Error(`[SigningEngine][ecdsa-export] active runtime is missing`);await $e({ports:t.activeWalletAuthorityEcdsaRuntimeReadPorts,expectedRuntime:e})}else if(n.exportLane.authMethod===`email_otp`){if(!e((await j(t.sessionStore,n.exportLane)).persistedMaterial.materialActivation,a))throw Error(`[SigningEngine][ecdsa-export] prepared material activation was superseded`)}else{let r=await M(t.sessionStore,n.exportLane);if(r.kind!==`fresh_passkey_needs_authorization`)throw Error(`[SigningEngine][ecdsa-export] prepared export authority changed`);if(!e(r.existingRoleLocalMaterial.materialActivation,a))throw Error(`[SigningEngine][ecdsa-export] prepared material activation was superseded`)}return await n.prepareArtifact()}});return Ke({flowId:n.flowId,walletId:n.walletId,chain:r,onEvent:n.onEvent}),we(i)&&await qe(t,{walletId:n.walletId,exportLane:n.exportLane,artifact:o,options:n.options,viewerSessionId:i,flowId:n.flowId,onEvent:n.onEvent}),{accountId:String(n.walletId),exportedSchemes:[`secp256k1`]}}catch(e){throw D(),e}}function W(e){let t=e.laneIdentity.auth;if(t.kind!==`passkey`)throw Error(`[SigningEngine][ecdsa-export] fresh passkey export requires passkey lane`);return t}async function G(e){return i(t(e))}async function K(e){let t=d(e.chainTarget);return await be({walletId:e.walletId,operationKind:`evm.export_key`,operationId:e.requestId,operationDigests:{laneDigest:await G({walletId:e.walletId,chainTarget:t,materialActivation:e.materialActivation,keyHandle:e.keyHandle}),intentDigest:await G({operation:`explicit_key_export`,requestId:e.requestId,walletId:e.walletId,chainTarget:t}),displayDigest:await G({operation:`Export Private Key`,publicKey:e.displayPublicKey,address:e.displayAddress})},materialActivation:e.materialActivation,normalSigningScope:e.operationRuntime.normalSigning.scope,keyHandle:e.keyHandle,relayerKeyId:e.operationRuntime.relayerKeyId,participantIds:[Number(e.operationRuntime.participantIds[0]),Number(e.operationRuntime.participantIds[1])],expiresAtMs:e.operationExpiresAtMs})}async function q(e){return await K({walletId:e.walletId,chainTarget:e.chainTarget,requestId:e.requestId,keyHandle:e.keyHandle,displayPublicKey:e.displayPublicKey,displayAddress:e.displayAddress,materialActivation:e.materialActivation,operationRuntime:e.operationRuntime,operationExpiresAtMs:e.operationExpiresAtMs})}async function Ye(t){let n=await M(t.deps.sessionStore,t.exportLane);if(n.kind!==`fresh_passkey_needs_authorization`)throw Error(`[SigningEngine][ecdsa-export] passkey export authority changed`);if(!e(n.existingRoleLocalMaterial.materialActivation,t.expectedMaterialActivation))throw Error(`[SigningEngine][ecdsa-export] active material changed after authorization confirmation`)}async function Xe(t){if(!e((await j(t.deps.sessionStore,t.exportLane)).persistedMaterial.materialActivation,t.expectedMaterialActivation))throw Error(`[SigningEngine][ecdsa-export] active material changed after authorization confirmation`)}function Ze(e){if(!Qe(e.expected,e.actual))throw Error(`[SigningEngine][ecdsa-export] active Wallet Authority runtime was replaced after authorization`)}function Qe(t,n){let i;switch(t.auth.kind){case`passkey`:i=n.auth.kind===`passkey`&&t.auth.rpId===n.auth.rpId&&t.auth.credentialIdB64u===n.auth.credentialIdB64u;break;case`email_otp`:i=n.auth.kind===`email_otp`&&t.auth.providerSubjectId===n.auth.providerSubjectId;break;default:return t.auth}return t.kind===n.kind&&t.walletId===n.walletId&&t.authorityId===n.authorityId&&t.walletAuthMethodId===n.walletAuthMethodId&&t.authorityDigestB64u===n.authorityDigestB64u&&t.factorAuthorityRef.kind===n.factorAuthorityRef.kind&&t.factorAuthorityRef.walletId===n.factorAuthorityRef.walletId&&t.factorAuthorityRef.authorityDigest===n.factorAuthorityRef.authorityDigest&&t.factorAuthorityRef.walletAuthMethodId===n.factorAuthorityRef.walletAuthMethodId&&t.authorityRevocationEpoch===n.authorityRevocationEpoch&&t.walletSessionId===n.walletSessionId&&t.requiredCapability===n.requiredCapability&&e(t.materialActivation,n.materialActivation)&&t.ecdsaThresholdKeyId===n.ecdsaThresholdKeyId&&t.relayerKeyId===n.relayerKeyId&&t.operationCredential.kind===n.operationCredential.kind&&t.operationCredential.token===n.operationCredential.token&&t.operationCredential.walletSessionId===n.operationCredential.walletSessionId&&r(t.session,n.session)&&ie(t.authMethod,n.authMethod)&&i&&p(t.factorAuthority,n.factorAuthority)&&t.holderRuntime.kind===n.holderRuntime.kind&&t.holderRuntime.walletId===n.holderRuntime.walletId&&t.holderRuntime.authorityId===n.holderRuntime.authorityId&&t.holderRuntime.walletAuthMethodId===n.holderRuntime.walletAuthMethodId&&p(t.holderRuntime.factorAuthority,n.holderRuntime.factorAuthority)&&e(t.holderRuntime.materialActivation,n.holderRuntime.materialActivation)&&t.holderRuntime.holderHandleId===n.holderRuntime.holderHandleId&&t.holderRuntime.ecdsaThresholdKeyId===n.holderRuntime.ecdsaThresholdKeyId&&re(t.normalSigning,n.normalSigning)}async function J(e){let t=await xe({ports:e.ports,input:{walletId:e.expectedRuntime.walletId,requiredCapability:`export_keys`,materialActivation:e.expectedRuntime.materialActivation}});if(t.kind!==`resolved`)throw Error(`[SigningEngine][ecdsa-export] active Wallet Authority runtime is ${t.reason}`);return Ze({expected:e.expectedRuntime,actual:t.runtime}),t.runtime}async function $e(e){await J(e)}function Y(e){let t=e.credential,n=String(t.rawId||t.id||``).trim();if(!n||n!==e.authority.factor.credentialIdB64u)throw Error(`[SigningEngine][ecdsa-export] passkey credential does not match authority`);return{kind:`passkey`,authority:e.authority,webauthn_authentication:{id:t.id,rawId:t.rawId,type:t.type,authenticatorAttachment:t.authenticatorAttachment??null,response:{clientDataJSON:t.response.clientDataJSON,authenticatorData:t.response.authenticatorData,signature:t.response.signature,userHandle:t.response.userHandle??null},clientExtensionResults:null}}}function X(e){if(!m(e.authority))throw Error(`[SigningEngine][ecdsa-export] Email OTP material authority mismatch`);return{kind:`email_otp`,authority:e.authority,challenge_id:e.challengeId,otp_code:e.otpCode}}async function Z(e){let t=await ye({relayerUrl:e.relayerUrl,transport:e.transport,request:{kind:`router_ab_ecdsa_operation_step_up_v1`,operation:e.prepared.operation,proof:e.proof}});if(t.operation_kind!==`evm.export_key`)throw Error(`[SigningEngine][ecdsa-export] operation step-up kind mismatch`);let n=t.authorization.evidence_set_digest,r=et({proofKind:e.proof.kind,unseal:t.authorization.unseal});return{kind:`verified_step_up`,evidenceSetDigest:n,operation:e.prepared.operation,expiresAtMs:t.expires_at_ms,quotaUse:`none`,unseal:r,exportTopology:t.export_topology}}function et(e){switch(e.proofKind){case`passkey`:if(e.unseal.kind!==`not_requested`)throw Error(`[SigningEngine][ecdsa-export] passkey step-up returned Email OTP unseal material`);return{kind:`not_requested`};case`email_otp`:if(e.unseal.kind!==`email_otp_grant`)throw Error(`[SigningEngine][ecdsa-export] Email OTP step-up did not return an unseal grant`);return{kind:`email_otp_grant`,grant:e.unseal.grant,challenge_id:e.unseal.challenge_id};default:{let t=e.proofKind;throw Error(`Unsupported ECDSA export step-up proof: ${String(t)}`)}}}async function tt(e,t){W(t.exportLane);let n=L(`tecdsa-export`),r=await q({walletId:t.walletId,chainTarget:t.exportLane.chainTarget,requestId:n,keyHandle:t.material.existingRoleLocalMaterial.publicFacts.keyHandle,displayPublicKey:t.material.existingRoleLocalMaterial.publicFacts.groupPublicKey33B64u,displayAddress:t.material.existingRoleLocalMaterial.publicFacts.ethereumAddress,materialActivation:t.material.existingRoleLocalMaterial.materialActivation,operationRuntime:t.material,operationExpiresAtMs:Date.now()+5*6e4}),i=await V({touchConfirm:e.touchConfirm,theme:e.theme},{walletSessionUserId:t.walletId,credentialIdB64u:W(t.exportLane).credentialIdB64u,publicKey:t.exportPublicKey,chainTarget:t.exportLane.chainTarget,challengeB64u:r.challengeB64u,flowId:t.flowId,onEvent:t.onEvent});await Ye({deps:e,exportLane:t.exportLane,expectedMaterialActivation:t.material.existingRoleLocalMaterial.materialActivation});let a=t.exportLane.capability.authority;if(!h(a))throw Error(`[SigningEngine][ecdsa-export] exact Passkey capability authority changed`);let o=await Z({relayerUrl:t.material.relayerUrl,prepared:r,transport:{kind:`factor_proof`},proof:Y({authority:a,credential:i.credential})});return{exportActivation:pe({relayerUrl:t.material.relayerUrl,existingRoleLocalMaterial:t.material.existingRoleLocalMaterial,authorization:o}),credential:i.credential}}async function nt(e){let t=f({walletId:e.walletId,walletSessionUserId:e.walletId});return await e.deps.emailOtp.exportEcdsaKeyWithDurableAuthorization({walletSession:t,chainTarget:e.material.chainTarget,challengeId:e.authorization.challengeId,otpCode:e.authorization.otpCode,publicFacts:e.material.publicFacts,runtimePolicyScope:e.material.runtimePolicyScope,authority:e.material.authorization.authority,persistedMaterial:e.persistedMaterial,explicitExportAuthorization:e.explicitExportAuthorization})}function Q(e){return{normalSigning:e.runtime.normalSigning,relayerKeyId:e.relayerKeyId,participantIds:e.participantIds}}function rt(e){return Math.min(Date.now()+5*6e4,e.session.expiresAtMs)}async function it(e){if(e.material.runtime.auth.kind!==`passkey`)throw Error(`[SigningEngine][ecdsa-export] active passkey runtime auth mismatch`);if(!h(e.material.factorAuthority))throw Error(`[SigningEngine][ecdsa-export] active passkey factor authority mismatch`);let t=await q({walletId:e.walletId,chainTarget:e.exportLane.chainTarget,requestId:L(`tecdsa-active-passkey-export`),keyHandle:e.material.runtime.publicFacts.keyHandle,displayPublicKey:e.material.runtime.publicFacts.publicKeyB64u,displayAddress:e.material.runtime.publicFacts.thresholdOwnerAddress,materialActivation:e.material.runtime.materialActivation,operationRuntime:Q(e.material),operationExpiresAtMs:rt(e.material.runtime)}),n=await V({touchConfirm:e.deps.touchConfirm,theme:e.deps.theme},{walletSessionUserId:e.walletId,credentialIdB64u:e.material.factorAuthority.factor.credentialIdB64u,publicKey:e.exportPublicKey,chainTarget:e.exportLane.chainTarget,challengeB64u:t.challengeB64u,flowId:e.flowId,onEvent:e.onEvent}),r=await J({ports:e.deps.activeWalletAuthorityEcdsaRuntimeReadPorts,expectedRuntime:e.material.runtime});if(!h(r.factorAuthority))throw Error(`[SigningEngine][ecdsa-export] active passkey factor authority changed`);return{runtime:r,authorization:await Z({relayerUrl:e.material.relayerUrl,prepared:t,transport:{kind:`wallet_session`,credential:r.operationCredential},proof:Y({authority:r.factorAuthority,credential:n.credential})})}}async function at(e){if(e.material.runtime.auth.kind!==`email_otp`)throw Error(`[SigningEngine][ecdsa-export] active Email OTP runtime auth mismatch`);if(!m(e.material.factorAuthority))throw Error(`[SigningEngine][ecdsa-export] active Email OTP factor authority mismatch`);let t=await q({walletId:e.walletId,chainTarget:e.exportLane.chainTarget,requestId:L(`tecdsa-active-email-otp-export`),keyHandle:e.material.runtime.publicFacts.keyHandle,displayPublicKey:e.material.runtime.publicFacts.publicKeyB64u,displayAddress:e.material.runtime.publicFacts.thresholdOwnerAddress,materialActivation:e.material.runtime.materialActivation,operationRuntime:Q(e.material),operationExpiresAtMs:rt(e.material.runtime)}),n=await z({touchConfirm:e.deps.touchConfirm,requestExportChallenge:e.deps.emailOtp.requestExportChallenge},{kind:`wallet_session_export_auth`,walletSession:f({walletId:e.walletId,walletSessionUserId:e.walletId}),chain:O(e.exportLane),publicKey:e.exportPublicKey,curve:`ecdsa`,flowId:e.flowId,onEvent:e.onEvent}),r=await J({ports:e.deps.activeWalletAuthorityEcdsaRuntimeReadPorts,expectedRuntime:e.material.runtime});if(!m(r.factorAuthority))throw Error(`[SigningEngine][ecdsa-export] active Email OTP factor authority changed`);return{runtime:r,authorization:await Z({relayerUrl:e.material.relayerUrl,prepared:t,transport:{kind:`wallet_session`,credential:r.operationCredential},proof:X({authority:r.factorAuthority,challengeId:n.challengeId,otpCode:n.otpCode})})}}async function ot(e){switch(e.material.kind){case`active_wallet_authority_passkey_needs_authorization`:return await it({deps:e.deps,walletId:e.walletId,exportLane:e.exportLane,material:e.material,exportPublicKey:e.exportPublicKey,flowId:e.flowId,onEvent:e.onEvent});case`active_wallet_authority_email_otp_needs_authorization`:return await at({deps:e.deps,walletId:e.walletId,exportLane:e.exportLane,material:e.material,exportPublicKey:e.exportPublicKey,flowId:e.flowId,onEvent:e.onEvent});default:return st(e.material)}}function st(e){throw Error(`[SigningEngine][ecdsa-export] unsupported active wallet authority material: ${String(e)}`)}async function ct(e,t){let n=String(t.material.publicFacts.publicKeyB64u),r=await ot({deps:e,walletId:t.walletId,exportLane:t.exportLane,material:t.material,exportPublicKey:n,flowId:t.flowId,onEvent:t.onEvent});return await U(e,{walletId:t.walletId,exportLane:t.exportLane,activeRuntime:r.runtime,exportPublicKey:n,options:t.options,flowId:t.flowId,onEvent:t.onEvent,prepareArtifact:async()=>{let n=await J({ports:e.activeWalletAuthorityEcdsaRuntimeReadPorts,expectedRuntime:r.runtime});return await me({getSignerWorkerContext:e.getSignerWorkerContext},{runtime:n,operationAuthorization:r.authorization,relayerUrl:t.material.relayerUrl})}})}async function lt(e,t){let n=O(t.exportLane),r=await K({walletId:t.walletId,chainTarget:t.exportLane.chainTarget,requestId:L(`tecdsa-email-otp-export`),keyHandle:t.material.persistedMaterial.publicFacts.keyHandle,displayPublicKey:t.material.persistedMaterial.publicFacts.groupPublicKey33B64u,displayAddress:t.material.persistedMaterial.publicFacts.ethereumAddress,materialActivation:t.material.persistedMaterial.materialActivation,operationRuntime:t.material,operationExpiresAtMs:Date.now()+5*6e4}),i=await z({touchConfirm:e.touchConfirm,requestExportChallenge:e.emailOtp.requestExportChallenge},{kind:`wallet_session_export_auth`,walletSession:f({walletId:t.walletId,walletSessionUserId:t.walletId}),chain:n,publicKey:String(t.material.publicFacts.publicKeyB64u),curve:`ecdsa`,flowId:t.flowId,onEvent:t.onEvent});await Xe({deps:e,exportLane:t.exportLane,expectedMaterialActivation:t.material.persistedMaterial.materialActivation});let a=await Z({relayerUrl:t.material.relayerUrl,prepared:r,transport:{kind:`factor_proof`},proof:X({authority:t.material.authorization.authority,challengeId:i.challengeId,otpCode:i.otpCode})});return await U(e,{walletId:t.walletId,exportLane:t.exportLane,exportPublicKey:String(t.material.publicFacts.publicKeyB64u),options:t.options,flowId:t.flowId,onEvent:t.onEvent,prepareArtifact:nt.bind(void 0,{deps:e,walletId:t.walletId,material:t.material,authorization:i,persistedMaterial:t.material.persistedMaterial,explicitExportAuthorization:a})})}async function ut(e,t){if(t.exportLane.authMethod!==`passkey`)throw Error(`[SigningEngine][ecdsa-export] fresh passkey export requires passkey lane`);let n=String(t.material.publicFacts.publicKeyB64u),r=await tt(e,{walletId:t.walletId,exportLane:t.exportLane,material:t.material,exportPublicKey:n,flowId:t.flowId,onEvent:t.onEvent});return await U(e,{walletId:t.walletId,exportLane:t.exportLane,exportPublicKey:n,options:t.options,flowId:t.flowId,onEvent:t.onEvent,prepareArtifact:async()=>{let n=await e.provisionPasskeyEcdsaExplicitExportSession(r.exportActivation);return await fe({getSignerWorkerContext:e.getSignerWorkerContext},{walletSessionUserId:t.walletId,exportProvision:n,factorAuthorization:{kind:`passkey`,passkeyCredentialIdB64u:String(r.credential.rawId||r.credential.id),credential:r.credential}})}})}function $(e){let t=e.source===`canonical_capability`?e.authorization:null;return{authMethod:w(e),curve:e.curve,chain:e.chainTarget.kind,chainTarget:e.chainTarget,state:e.state,source:e.source,...t?{remainingUses:e.remainingUses,expiresAtMs:e.expiresAtMs}:{},updatedAtMs:e.updatedAtMs,evmFamilyKeyFingerprint:y({walletId:e.key.walletId,publicFacts:e.publicFacts})}}function dt(e,t){return String(e.key.walletId)===t.walletId?String(y({walletId:e.key.walletId,publicFacts:e.publicFacts})):``}function ft(e){if(!e.candidates.length)throw x(`evm-family`,{stage:`key_export.exact_lane_no_candidate`,context:e.context,candidateCount:e.candidates.length,candidates:e.candidates.map($)}),Error(`[SigningEngine][${e.context}] exact lane selection failed: no_candidate`);for(let t of e.candidates)if(!dt(t,e.ecdsaContext))return pt(e);if(e.candidates.length!==1)return pt(e);let[t]=e.candidates;return de(`evm-family`,{stage:`key_export.exact_lane_selected`,context:e.context,reason:`single_exact_candidate`,selectedLane:$(t),candidateCount:e.candidates.length}),t}function pt(e){throw x(`evm-family`,{stage:`key_export.exact_lane_ambiguous_material`,context:e.context,candidateCount:e.candidates.length,candidates:e.candidates.map($)}),Error(`[SigningEngine][${e.context}] exact lane selection failed: ambiguous_material`)}function mt(e){return ue({signer:ce({walletId:e.lane.key.walletId,chainTarget:e.chainTarget||e.lane.chainTarget,keyHandle:e.lane.publicFacts.keyHandle,key:e.lane.key,materialActivation:e.lane.materialActivation}),auth:e.lane.auth})}function ht(e){return e.source===`active_wallet_authority`||e.state===`ready`?{kind:`loaded_worker_material`}:w(e)===`email_otp`?{kind:`material_pending`,reason:`email_otp_route_auth`}:{kind:`sealed_worker_material`}}function gt(e){if(e.lane.source===`active_wallet_authority`)return{chainTarget:e.chainTarget,authMethod:w(e.lane),material:{kind:`loaded_worker_material`},state:`deferred`};let t=w(e.lane),n=ht(e.lane);switch(e.lane.state){case`expired`:case`exhausted`:throw Error(`[SigningEngine][ecdsa-export] expired export lane requires durable public reauth authority`);case`ready`:case`deferred`:return{chainTarget:e.chainTarget,authMethod:t,material:n,state:e.lane.state}}}async function _t(e){let t=e.lane,n=mt({lane:t}),r=gt({lane:t,chainTarget:e.chainTarget});return t.source===`active_wallet_authority`?{curve:`ecdsa`,laneIdentity:n,source:`active_wallet_authority`,authorizationState:`authorization_required`,key:t.key,publicFacts:t.publicFacts,runtime:t.runtime,chainTarget:e.chainTarget,authMethod:w(t),material:{kind:`loaded_worker_material`},state:`deferred`}:t.authorization?{curve:`ecdsa`,laneIdentity:n,source:`canonical_capability`,authorizationState:`authorized`,authorization:t.authorization,capability:t.capability,key:t.key,publicFacts:t.publicFacts,...r}:{curve:`ecdsa`,laneIdentity:n,source:`canonical_capability`,authorizationState:`authorization_required`,capability:t.capability,key:t.key,publicFacts:t.publicFacts,...r}}function vt(e){return b(e.laneIdentity)===b(e.identity)}async function yt(e){return mt({lane:e})}function bt(e){return Se(e.availableLanes,e.chainTarget).filter(e=>Ee(e))}async function xt(e,t){let n=bt({availableLanes:await e.readOwnerScopedAvailableSigningLanesForTargets({walletId:t.walletId,ecdsaChainTargets:[t.signingTarget]}),chainTarget:t.signingTarget}),r=[];for(let e of n)vt({laneIdentity:await yt(e),identity:t.laneIdentity})&&r.push(e);let i=ft({context:`ecdsa-export`,candidates:r,ecdsaContext:{walletId:t.walletId}});return await _t({lane:i,chainTarget:i.chainTarget})}async function St(e,t){switch(t.kind){case`ecdsa`:return await Ct(e,t);case`ed25519`:return await Dt(e,t)}}async function Ct(e,t){let n=String(u(t.walletSession.walletId));return{kind:`ecdsa`,laneIdentity:await yt(ft({context:`ecdsa-export-resolve`,candidates:bt({availableLanes:await e.readOwnerScopedAvailableSigningLanesForTargets({walletId:n,ecdsaChainTargets:[t.chainTarget]}),chainTarget:t.chainTarget}),ecdsaContext:{walletId:n}}))}}function wt(e){let t=e.lane.source===`durable_sealed_record`||e.lane.source===`public_capability_reference`;return String(e.lane.walletId)===e.walletId&&String(e.lane.nearAccountId)===e.nearAccountId&&t}function Tt(e){return se({signer:le({walletId:e.walletId,nearAccountId:e.nearAccountId,nearEd25519SigningKeyId:e.nearEd25519SigningKeyId,signerSlot:e.signerSlot}),auth:e.auth,thresholdSessionId:e.thresholdSessionId})}function Et(e){return[e.walletId,e.nearAccountId,e.nearEd25519SigningKeyId,e.signerSlot,s(e.auth)].map(e=>String(e)).join(`|`)}async function Dt(e,t){let n=String(u(t.walletSession.walletId)),r=String(t.nearAccount.accountId),i=await e.readOwnerScopedAvailableSigningLanesForTargets({walletId:n,ecdsaChainTargets:[]}),a=i.lanes.ed25519.near;if(!S(a)||a.curve!==`ed25519`||!wt({lane:a,walletId:n,nearAccountId:r}))throw Error(`[SigningEngine][ed25519-export-resolve] exact Yao lane selection failed: no_candidate`);let o=i.candidates.ed25519.near.filter(e=>S(e)&&e.curve===`ed25519`&&wt({lane:e,walletId:n,nearAccountId:r})),s=Et(a);if(o.some(e=>Et(e)!==s))throw Error(`[SigningEngine][ed25519-export-resolve] exact Yao lane selection failed: ambiguous_material`);return{kind:`ed25519`,laneIdentity:Tt(a),materialActivation:a.materialActivation}}async function Ot(e,t){let n=await xt(e,{walletId:t.walletId,signingTarget:t.signingTarget,laneIdentity:t.laneIdentity});switch(n.material.kind){case`loaded_worker_material`:case`material_pending`:case`sealed_worker_material`:return n}throw n.material,Error(`[SigningEngine][ecdsa-export] unsupported material availability`)}function kt(e){return e.capability.materialActivation}function At(e){return e.material.materialActivation}function jt(e){return e.auth.kind===`passkey`}function Mt(e){if(!jt(e.laneIdentity))throw Error(`[SigningEngine][ed25519-export] export requires a passkey Yao lane`);if(e.laneIdentity.signer.account.wallet.walletId!==e.walletId||String(e.laneIdentity.signer.account.nearAccountId)!==String(e.nearAccountId))throw Error(`[SigningEngine][ed25519-export] exact lane subject mismatch`);return e.laneIdentity}function Nt(e){return e.auth.kind===`email_otp`}function Pt(e){if(!Nt(e.laneIdentity))throw Error(`[SigningEngine][ed25519-export] export requires an Email OTP Yao lane`);if(e.laneIdentity.signer.account.wallet.walletId!==e.walletId||String(e.laneIdentity.signer.account.nearAccountId)!==String(e.nearAccountId))throw Error(`[SigningEngine][ed25519-export] exact lane subject mismatch`);return e.laneIdentity}function Ft(e){let t=e.selected.signer,n=e.context.material;return String(t.account.wallet.walletId)===String(n.walletId)&&String(t.account.nearAccountId)===String(n.nearAccountId)&&String(t.nearEd25519SigningKeyId)===String(n.nearEd25519SigningKeyId)&&t.signerSlot===n.signerSlot&&String(e.selected.auth.rpId)===e.context.rpId&&e.selected.auth.credentialIdB64u===n.credentialIdB64u}function It(t){if(!Ft({selected:t.selectedLaneIdentity,context:t.context}))throw Error(`[SigningEngine][ed25519-export] durable Yao context identity mismatch`);let n=t.context.material;if(!e(t.selectedMaterialActivation,t.context.selectedLaneMaterialActivation))throw Error(`[SigningEngine][ed25519-export] durable Yao context activation mismatch`);let r=t.context.authorization.operationCredential.token;if(!r)throw Error(`[SigningEngine][ed25519-export] active Wallet Session authorization is unavailable`);let i=n.capability.lifecycle;return{laneIdentity:t.selectedLaneIdentity,relayerUrl:t.context.relayerUrl,walletSessionToken:r,walletCustodyEnvelope:t.context.walletCustodyEnvelope,capability:{materialActivation:n.capability.materialActivation,scope:{lifecycle_id:i.lifecycleId,root_share_epoch:i.rootShareEpoch,account_id:i.accountId,threshold_session_id:i.thresholdSessionId,signer_set_id:i.signerSetId,signing_worker_id:i.signingWorkerId,material_activation:ne(n.capability.materialActivation)},applicationBinding:n.capability.applicationBinding,participantIds:n.capability.participantIds,registeredPublicKey:n.capability.registeredPublicKey,stateEpoch:n.capability.stateEpoch,activeCapabilityBinding:n.capability.activeCapabilityBinding,runtimePolicyScope:n.capability.runtimePolicyScope}}}async function Lt(e,t){let n=Mt(t),r=await e.resolvePasskeyExportContext({laneIdentity:n,materialActivation:t.materialActivation});switch(r.kind){case`ready`:return It({context:r.context,selectedLaneIdentity:n,selectedMaterialActivation:t.materialActivation});case`capability_recovery_required`:throw Error(`[SigningEngine][ed25519-export] passkey material recovery did not publish durable context`)}throw Error(`[SigningEngine][ed25519-export] unsupported passkey export context state`)}async function Rt(t,n){let r=Pt(n),i=await t.emailOtp.resolveExportContext({laneIdentity:r,materialActivation:n.materialActivation});if(!e(n.materialActivation,i.material.materialActivation)&&i.material.kind!==`sealed_export_root`)throw Error(`[SigningEngine][ed25519-export] Email OTP Yao context activation mismatch`);return{context:i,laneIdentity:r}}function zt(e){let t=e.resolved.laneIdentity.signer;return{artifactKind:he,walletId:String(e.input.walletId),nearAccountId:String(e.input.nearAccountId),relayerUrl:e.resolved.relayerUrl,authorization:{kind:`opaque_wallet_session`,walletSessionToken:e.resolved.walletSessionToken},flowId:e.input.flowId,viewerSessionId:e.viewerSessionId,exactLane:{nearEd25519SigningKeyId:String(t.nearEd25519SigningKeyId),signerSlot:t.signerSlot,credentialIdB64u:e.resolved.laneIdentity.auth.credentialIdB64u,materialActivation:kt(e.resolved)},walletCustodyEnvelope:e.resolved.walletCustodyEnvelope,capability:e.resolved.capability,variant:e.input.options.variant,theme:e.input.options.theme??e.theme}}function Bt(e,t){let n=String(e.walletId);I(e.onEvent,{phase:t===`opened`?_.STEP_04_VIEWER_OPENED:_.STEP_05_VIEWER_CLOSED,status:t===`opened`?`waiting_for_user`:`succeeded`,flowId:e.flowId,accountId:n,interaction:{kind:`key_export_viewer`,overlay:t===`opened`?`show`:`hide`},data:{chain:`near`,curve:`ed25519`}}),t===`closed`&&I(e.onEvent,{phase:_.STEP_06_COMPLETED,status:`succeeded`,flowId:e.flowId,accountId:n,interaction:{kind:`none`,overlay:`hide`},data:{chain:`near`,curve:`ed25519`}})}async function Vt(e,t){switch(t.laneIdentity.auth.kind){case`voiceid`:throw Error(`Unlock with a passkey or Email OTP before exporting keys.`);case`passkey`:break;case`email_otp`:return await Ht(e,t);default:throw t.laneIdentity.auth,Error(`[SigningEngine][ed25519-export] unsupported lane authorization method`)}let n=Lt(e,t),r=e.touchConfirm.initialize(),[i]=await Promise.all([n,r]),a=String(t.walletId),o=L(`export-ed25519-yao-viewer-session`),s=Bt.bind(void 0,{flowId:t.flowId,walletId:t.walletId,onEvent:t.onEvent});I(t.onEvent,{phase:_.STEP_02_AUTH_PASSKEY_PROMPT_STARTED,status:`waiting_for_user`,flowId:t.flowId,accountId:a,authMethod:`passkey`,interaction:{kind:`passkey_assert`,overlay:`show`},data:{intent:`ed25519_export`,chain:`near`,curve:`ed25519`}}),I(t.onEvent,{phase:_.STEP_03_MATERIAL_PREPARE_STARTED,status:`running`,flowId:t.flowId,accountId:a,interaction:{kind:`none`,overlay:`none`},data:{chain:`near`,curve:`ed25519`}});let c=await e.withThresholdEd25519CommitQueue({queueKey:C({materialActivation:kt(i)}),nearAccountId:t.nearAccountId,enabled:!0,task:()=>e.passkeyMpcExport.exportPrivateKeysWithUi(zt({resolved:i,viewerSessionId:o,input:t,theme:e.theme}),{onViewerLifecycle:s})});if(c.kind!==`completed`)throw Error(c.error);if(c.exportedSchemes.length!==1||c.exportedSchemes[0]!==`ed25519`)throw Error(`[SigningEngine][ed25519-export] secure export failed`);return I(t.onEvent,{phase:_.STEP_02_AUTH_PASSKEY_PROMPT_SUCCEEDED,status:`succeeded`,flowId:t.flowId,accountId:a,authMethod:`passkey`,interaction:{kind:`passkey_assert`,overlay:`none`},data:{intent:`ed25519_export`,chain:`near`,curve:`ed25519`}}),I(t.onEvent,{phase:_.STEP_03_MATERIAL_PREPARE_SUCCEEDED,status:`succeeded`,flowId:t.flowId,accountId:a,interaction:{kind:`none`,overlay:`none`},data:{chain:`near`,curve:`ed25519`}}),{accountId:String(t.nearAccountId),exportedSchemes:[`ed25519`]}}async function Ht(e,t){let n=await Rt(e,t),r=`ed25519:${c(Uint8Array.from(n.context.material.capability.registeredPublicKey))}`,i=await Ue({touchConfirm:e.touchConfirm,requestExportChallenge:e.emailOtp.requestExportChallenge},{kind:`email_otp_ed25519_export_auth`,walletId:t.walletId,nearAccountId:String(t.nearAccountId),nearEd25519SigningKeyId:String(n.laneIdentity.signer.nearEd25519SigningKeyId),signerSlot:n.laneIdentity.signer.signerSlot,publicKey:r,curve:`ed25519`,chain:`near`,flowId:t.flowId,onEvent:t.onEvent});I(t.onEvent,{phase:_.STEP_03_MATERIAL_PREPARE_STARTED,status:`running`,flowId:t.flowId,accountId:String(t.nearAccountId),interaction:{kind:`none`,overlay:`none`},data:{chain:`near`,curve:`ed25519`}});let a=L(`export-ed25519-yao-viewer-session`);try{await B({touchConfirm:e.touchConfirm,theme:e.theme},{state:`loading`,walletId:String(t.walletId),nearAccountId:String(t.nearAccountId),publicKey:r,variant:t.options.variant,theme:t.options.theme,viewerSessionId:a,flowId:t.flowId,onEvent:t.onEvent});let o=await e.withThresholdEd25519CommitQueue({queueKey:C({materialActivation:At(n.context)}),nearAccountId:t.nearAccountId,enabled:n.context.material.kind===`active_capability`,task:()=>e.emailOtp.exportSeedWithFreshAuthorization({challengeId:i.challengeId,otpCode:i.otpCode,exportContext:n.context})});return I(t.onEvent,{phase:_.STEP_03_MATERIAL_PREPARE_SUCCEEDED,status:`succeeded`,flowId:t.flowId,accountId:String(t.nearAccountId),interaction:{kind:`none`,overlay:`none`},data:{chain:`near`,curve:`ed25519`}}),we(a)&&await B({touchConfirm:e.touchConfirm,theme:e.theme},{state:`ready`,walletId:String(t.walletId),nearAccountId:String(t.nearAccountId),publicKey:o.publicKey,privateKey:o.privateKey,variant:t.options.variant,theme:t.options.theme,viewerSessionId:a,flowId:t.flowId,onEvent:t.onEvent}),{accountId:String(t.nearAccountId),exportedSchemes:[`ed25519`]}}catch(e){throw D(),e}}function Ut(e){switch(e.kind){case`active`:case`expired`:return e;case`missing`:case`unavailable`:case`invalid`:return null;default:return e}}async function Wt(e){await e.deps.sessionLifecycle.invalidateExpiredAuthorization({state:e.state,source:e.source})}async function Gt(e){let t=await e.deps.sessionLifecycle.readAuthorization(e.request);return t.kind===`expired`&&await Wt({deps:e.deps,state:t,source:g.operationPreflight}),t}function Kt(e){let t=Ut(e.preflightState);return t?Ce({source:e.source,expiresAtMs:t.expiresAtMs,detectedAtMs:e.detectedAtMs}):null}async function qt(e,t){let n=u(t.walletSession.walletId),r=await Ot(e.laneSelection,{walletId:n,signingTarget:Te(t.chainTarget),laneIdentity:t.laneIdentity}),i=await M(e.ecdsa.sessionStore,r);if(r.source===`active_wallet_authority`){if(i.source!==`active_wallet_authority`)throw Error(`[SigningEngine][ecdsa-export] active lane material source changed`);return{kind:`active_wallet_authority`,exportLane:r,exportMaterial:i}}if(i.source!==`canonical_capability`)throw Error(`[SigningEngine][ecdsa-export] canonical lane material source changed`);return{kind:`canonical_capability`,exportLane:r,exportMaterial:i}}function Jt(e){if(!(!e||e.source!==`canonical_capability`||!e.authorization))return e.authorization.operationCredential.walletSessionId}function Yt(e){let t=e.exportLane?.publicFacts,n=e.exportLane?y({walletId:e.exportLane.key.walletId,publicFacts:e.exportLane.publicFacts}):void 0;try{console.warn(`[SigningEngine][ecdsa-export][failure]`,{operationId:e.flowId,authMethod:e.exportLane?.authMethod,...n?{evmFamilyKeyFingerprint:n}:{},...t?{keyHandle:String(t.keyHandle)}:{},chainTargetKey:d(e.input.chainTarget),...Jt(e.exportLane)?{walletSessionId:Jt(e.exportLane)}:{},materialActivationId:e.exportLane?.laneIdentity.signer.materialActivation.activationId,freshAuthRetrySideEffectState:`not_applicable`,error:e.error instanceof Error?e.error.message:String(e.error||`unknown error`)})}catch{}}async function Xt(e,t,n){let r=u(t.walletSession.walletId);if(n.kind===`active_wallet_authority`)return await ct(e.ecdsa,{walletId:r,exportLane:n.exportLane,material:n.exportMaterial,options:{variant:t.options.variant,theme:t.options.theme},flowId:t.flowId,onEvent:t.options.onEvent});if(n.exportMaterial.kind===`fresh_email_otp_route_auth_ready`)return await lt(e.ecdsa,{walletId:r,exportLane:n.exportLane,material:n.exportMaterial,options:{variant:t.options.variant,theme:t.options.theme},flowId:t.flowId,onEvent:t.options.onEvent});if(n.exportMaterial.kind===`fresh_passkey_needs_authorization`)return await ut(e.ecdsa,{walletId:r,exportLane:n.exportLane,material:n.exportMaterial,options:{variant:t.options.variant,theme:t.options.theme},flowId:t.flowId,onEvent:t.options.onEvent});throw n.exportMaterial,Error(`[SigningEngine][ecdsa-export] unsupported export material`)}async function Zt(e,t,n){let[r]=await Promise.all([qt(e,t),e.ecdsa.touchConfirm.initialize()]);if(r.exportLane.authorizationState===`authorization_required`)try{return await Xt(e,t,r)}catch(e){throw Yt({input:t,flowId:t.flowId,exportLane:r.exportLane,exportMaterial:r.exportMaterial,error:e}),e}let i={kind:`ecdsa`,laneIdentity:r.exportLane.laneIdentity,authorization:r.exportLane.authorization},a=await Gt({deps:e,request:{kind:`ecdsa`,laneIdentity:r.exportLane.laneIdentity,authorization:r.exportLane.authorization,nowMs:Date.now()}});try{return await Xt(e,t,r)}catch(o){Yt({input:t,flowId:t.flowId,exportLane:r.exportLane,exportMaterial:r.exportMaterial,error:o});let s=_e(o);if(n.kind===`fresh_auth_retry`||s?.kind!==`expired`)throw o;let c=Kt({source:i,preflightState:a,detectedAtMs:Date.now()});if(!c)throw o;return await Wt({deps:e,state:c,source:g.serverRejection}),await Zt(e,t,{kind:`fresh_auth_retry`})}}async function Qt(e,t){return await Vt(e.ed25519Yao,{walletId:t.walletSession.walletId,nearAccountId:t.nearAccount.accountId,laneIdentity:t.laneIdentity,materialActivation:t.materialActivation,options:{variant:t.options.variant,theme:t.options.theme},flowId:t.flowId,onEvent:t.options.onEvent})}async function $t(e,t){return await Ve(t,async t=>{switch(t.kind){case`ecdsa`:return await Zt(e,t,{kind:`initial`});case`ed25519`:return await Qt(e,t)}})}async function en(e,t){return await St(e.laneSelection,t)}export{$t as exportKeypairWithUI,en as resolveExactKeyExportLane};
@@ -0,0 +1 @@
1
+ import{g as e,h as t}from"./digests-BIaE0DMd.js";import{n}from"./walletRegistrationSetupPrewarm-CEvGKQSg.js";import{t as r}from"./walletDbName-B6-CV_Rq.js";import{n as i,r as a,t as o}from"./configuration-BAad7ngq.js";import{a as ee,i as s,n as te,o as ne,r as re,t as c}from"./transactionReview-CGIlI835.js";import{t as l}from"./events-D6l0_ugy.js";import{i as u,n as d,t as ie}from"./transactionReviewAdmission-Cf_qUZJt.js";import{A as f,D as p,S as m,T as h,d as g,f as _,h as v,k as y,m as b,o as x,t as S,u as C,x as w,y as T}from"./ownerNearOperation-DCxxHcwX.js";import{t as E}from"./walletIframeIdentity-Cz82I_Uh.js";import{t as ae}from"./errors-BJBDbwHk.js";import{s as D}from"./ed25519OperationFingerprint-Dev4P6Og.js";function O(){let e=globalThis;e.global===void 0&&(e.global=globalThis),!e.process||typeof e.process!=`object`?e.process={env:{}}:(!e.process.env||typeof e.process.env!=`object`)&&(e.process.env={})}function k(){O(),window.location.origin===`null`&&(window.parent?.postMessage({type:`SERVICE_HOST_DEBUG_ORIGIN`,origin:window.location.origin,href:window.location.href},`*`),console.warn(`[WalletHost] iframe is running with opaque (null) origin. Check COEP/CORP headers and ensure navigation succeeded.`)),A(),window.parent?.postMessage({type:`SERVICE_HOST_BOOTED`},`*`),window.parent?.postMessage({type:`SERVICE_HOST_DEBUG_ORIGIN`,origin:window.location.origin,href:window.location.href},`*`);let e=new URL(import.meta.url),t=e.searchParams.get(`v`);t&&y(t);let n=new URL(`.`,e).toString(),r=n.endsWith(`/`)?n:n+`/`;p()||f(r)}function A(){let e=()=>{let e=document;e.documentElement.classList.add(`seams-transparent`),e.body?.classList.add(`seams-transparent`),e.documentElement.classList.remove(`dark`),e.body?.classList.remove(`dark`)};document.readyState===`loading`?document.addEventListener(`DOMContentLoaded`,()=>e(),{once:!0}):e(),window.addEventListener(`load`,()=>e(),{once:!0})}const j={};let M=null,N=null;function oe(e){return e.request.type===`PM_ACKNOWLEDGE_WALLET_RECOVERY_CODE_BACKUP`?e.request.payload?.authorization?.kind===`email_otp`?P(e.kind):(M??=import(`./runtime-recovery-codes-CFOWDVd9.js`),M):P(e.kind)}function se(){P(`auth`).catch(ce)}function ce(){}function P(e){let t=j[e];if(t)return t;let n=I(e);return j[e]=n,n.catch(le.bind(null,e,n)),n}function le(e,t){j[e]===t&&delete j[e]}async function F(){M??=import(`./runtime-recovery-codes-CFOWDVd9.js`),N??=Promise.all([M,import(`./mountRecoveryCodeBackupSurface-CMtByh-L.js`)]).then(()=>void 0),await N}function I(e){switch(e){case`auth`:return import(`./runtime-auth-BMT_gIKI.js`);case`near`:return import(`./runtime-near-Kk0n1FSf.js`);case`ecdsa`:return import(`./runtime-ecdsa-tempo-DKkeMMpm.js`);case`email_otp`:return import(`./runtime-email-otp-CzTe7r9I.js`);case`recovery`:return import(`./runtime-recovery-C9p1TU1w.js`);case`export`:return import(`./runtime-export-BiyLbdCe.js`);case`device_link`:return import(`./runtime-device-link-DQe0aqRi.js`);case`preferences`:return import(`./runtime-preferences-B-A3hddU.js`)}return L(e)}function L(e){throw Error(`Unhandled wallet host runtime route: ${String(e)}`)}function R(e){switch(e.type){case`PM_GET_RECENT_UNLOCKS`:case`PM_GET_CONFIRMATION_CONFIG`:return!0;case`PM_GET_EXACT_WALLET_SESSION_STATE`:{let t=e.request.payload;if(!t||typeof t!=`object`)return!1;let n=Reflect.get(t,`authenticationRead`),r=Reflect.get(t,`wallet`);return(n===`restore`||n===`current`)&&!!r&&typeof r==`object`&&Reflect.get(r,`kind`)===`current`}default:return!1}}function z(e){switch(e.type){case`PM_GET_EXACT_WALLET_SESSION_STATE`:return{revision:C(),walletId:null,state:{kind:`wallet_locked`},session:g()};case`PM_GET_RECENT_UNLOCKS`:return{walletIds:[],accountIds:[],accounts:[],lastUsedAccount:null};case`PM_GET_CONFIRMATION_CONFIG`:return{walletId:null,confirmationConfig:D,revision:0}}}let B=null;function V(){return B??=U().finally(H),B}function H(){B=null}async function U(){try{return typeof indexedDB>`u`||typeof indexedDB.databases!=`function`?!1:(await indexedDB.databases()).some(ue)?await de():!0}catch{return!1}}function ue(e){return e.name===r}function de(){return new Promise(e=>{let t=indexedDB.open(r);t.onupgradeneeded=()=>t.transaction?.abort(),t.onerror=()=>e(!1),t.onsuccess=()=>{let n=t.result;n.onversionchange=()=>n.close(),fe(n).then(t=>{n.close(),e(t===0)},()=>{n.close(),e(!1)})}})}function fe(e){let t=Array.from(e.objectStoreNames);return t.length===0?Promise.resolve(0):new Promise((n,r)=>{let i=e.transaction(t,`readonly`),a=0;for(let e of t){let t=i.objectStore(e).count();t.onsuccess=()=>{a+=t.result}}i.oncomplete=()=>n(a),i.onerror=()=>r(i.error),i.onabort=()=>r(i.error)})}function pe(e){throw Error(`Unhandled wallet host route: ${String(e)}`)}function W(e,t){if(e===null)throw Error(`Invalid ${t} payload`);return e}function G(e){try{return E(e)}catch{throw Error(`Hosted auth-menu request requires a non-empty requestId`)}}function me(e){switch(e.type){case`PM_ACTIVATE_TRANSACTION_REVIEW`:case`PING`:case`PM_PREPARE_WALLET_RUNTIME`:case`PM_SET_CONFIG`:case`PM_CANCEL`:case`PM_SET_TRANSACTION_VIEW`:case`PM_TRANSACTION_BROADCAST_STARTED`:return{kind:`boot`,type:e.type,request:e};case`PM_OWNER_NEAR_TRANSACTION`:return{kind:`near`,type:e.type,request:{type:e.type,requestId:E(e.requestId),payload:S(e.payload)}};case`PM_REGISTER_WALLET`:case`PM_ADD_WALLET_SIGNER`:case`PM_ADD_PASSKEY`:case`PM_ACTIVATE_AUTH_METHOD`:case`PM_GET_AUTH_METHOD_AVAILABILITY`:case`PM_SET_AUTH_METHOD_ENABLED`:case`PM_ADD_EMAIL_OTP`:case`PM_REVOKE_AUTH_METHOD`:case`PM_GET_NEAR_PROVISIONING_STATE`:case`PM_SIGN_TX_WITH_ACTIONS`:case`PM_SIGN_AND_SEND_TX`:case`PM_SEND_TRANSACTION`:case`PM_SIGN_DELEGATE_ACTION`:case`PM_SIGN_NEP413`:return{kind:`near`,type:e.type,request:e};case`PM_OPEN_AUTH_MENU`:{let t=G(e.requestId);return{kind:`auth`,type:e.type,request:{...e,requestId:t,payload:W(m(e.payload),`hosted auth-menu open`)}}}case`PM_CANCEL_AUTH_MENU`:{let t=G(e.requestId);return{kind:`auth`,type:e.type,request:{...e,requestId:t,payload:W(T(e.payload),`hosted auth-menu cancellation`)}}}case`PM_RESOLVE_WALLET_CONNECTION`:{let t=G(e.requestId);return{kind:`auth`,type:e.type,request:{...e,requestId:t,payload:W(h(e.payload),`wallet connection resolution`)}}}case`PM_RESOLVE_AUTH_MENU_EXTERNAL_AUTH`:{let t=G(e.requestId);return{kind:`auth`,type:e.type,request:{...e,requestId:t,payload:W(w(e.payload),`hosted auth-menu external-auth resolution`)}}}case`PM_EXTERNAL_OWNER_AUTH`:{let t=x(e.payload);if(t.action!==`associate`&&t.action!==`unlink`)throw Error(`Owner request is invalid`);return{kind:`auth`,type:e.type,request:{type:e.type,requestId:E(e.requestId),payload:t,options:e.options}}}case`PM_UNLOCK`:case`PM_UNLOCK_AUTH_METHOD`:case`PM_EXTERNAL_AUTH`:case`PM_LOCK`:case`PM_LOCK_EXACT_WALLET_SESSION`:case`PM_GET_LAST_WALLET_MOVE_REQUEST`:case`PM_MOVE_WALLET`:case`PM_GET_WALLET_MOVE`:case`PM_GET_WALLET_PLACEMENT`:case`PM_GET_WALLET_SESSION`:case`PM_GET_EXACT_WALLET_SESSION_STATE`:case`PM_GET_RECENT_UNLOCKS`:return{kind:`auth`,type:e.type,request:e};case`PM_SIGN_TEMPO`:case`PM_REPORT_TEMPO_BROADCAST_ACCEPTED`:case`PM_REPORT_TEMPO_BROADCAST_REJECTED`:case`PM_REPORT_TEMPO_FINALIZED`:case`PM_REPORT_TEMPO_DROPPED_OR_REPLACED`:case`PM_RECONCILE_TEMPO_NONCE_LANE`:return{kind:`ecdsa`,type:e.type,request:e};case`PM_REDEEM_HOSTED_WALLET_SEAMS_SESSION`:case`PM_REQUEST_EMAIL_OTP_CHALLENGE`:case`PM_BEGIN_GOOGLE_EMAIL_OTP_WALLET_AUTH`:case`PM_GOOGLE_EMAIL_OTP_WALLET_AUTH_RESEND`:case`PM_GOOGLE_EMAIL_OTP_WALLET_AUTH_REROLL_WALLET_ID`:case`PM_GOOGLE_EMAIL_OTP_WALLET_AUTH_SUBMIT`:case`PM_GOOGLE_EMAIL_OTP_WALLET_AUTH_COMPLETE_REGISTRATION`:case`PM_GOOGLE_EMAIL_OTP_WALLET_AUTH_CANCEL`:case`PM_GET_WALLET_RECOVERY_CODE_STATUS`:case`PM_ACKNOWLEDGE_WALLET_RECOVERY_CODE_BACKUP`:case`PM_ROTATE_WALLET_RECOVERY_CODES`:case`PM_REQUEST_WALLET_CUSTODY_EMAIL_OTP_CHALLENGE`:return{kind:`email_otp`,type:e.type,request:e};case`PM_SYNC_ACCOUNT_FLOW`:return{kind:`recovery`,type:e.type,request:e};case`PM_RESOLVE_EXACT_KEY_EXPORT_LANE`:case`PM_EXPORT_KEYPAIR_UI`:return{kind:`export`,type:e.type,request:e};case`PM_HAS_PASSKEY`:case`PM_LIST_LINKED_DEVICES`:case`PM_REVOKE_LINKED_DEVICE`:case`PM_SCAN_AND_LINK_DEVICE`:case`PM_START_DEVICE2_LINKING_FLOW`:case`PM_DEVICE_LINK_TARGET_FACTOR_ACTION`:case`PM_DEVICE_LINK_EMAIL_OTP_BASE_FACTOR_ACTION`:case`PM_CANCEL_DEVICE_LINKING`:return{kind:`device_link`,type:e.type,request:e};case`PM_SET_CONFIRM_BEHAVIOR`:case`PM_SET_CONFIRMATION_CONFIG`:case`PM_GET_CONFIRMATION_CONFIG`:return{kind:`preferences`,type:e.type,request:e}}return pe(e)}function he(e){return e.kind!==`boot`}let K=!1;const ge=[{selector:`.seams-auth-menu-surface`,cancellationKind:`native_cancel`},{selector:`.seams-confirmation-surface`,cancellationKind:`native_cancel`},{selector:`.seams-auth-method-activation-surface`,cancellationKind:`native_cancel`},{selector:`.seams-export-surface`,cancellationKind:`wallet_iframe_cancel`},{selector:`[data-seams-wallet-recovery-backup-dialog]`,cancellationKind:`native_cancel`}];function q(e,t){let n=new Set(t),r=Object.keys(e);return r.length===t.length&&r.every(e=>n.has(e))}function _e(t){return!e(t)||!q(t,[`type`,`payload`])||t.type!==`CONNECT`||!e(t.payload)||!q(t.payload,[`protocolVersion`])?null:typeof t.payload.protocolVersion==`string`?{type:`CONNECT`,payload:{protocolVersion:t.payload.protocolVersion}}:null}function ve(e){if(e===`null`)return!0;try{let t=new URL(e);return(t.protocol===`https:`||t.protocol===`http:`)&&t.origin===e}catch{return!1}}function J(e){try{e.close()}catch{}}function Y(e,t){if(t===`20.0.0`)return!1;let n={expectedProtocolVersion:v,receivedProtocolVersion:t};try{e.postMessage({type:`ERROR`,payload:{code:b,message:`Wallet iframe protocol version mismatch: expected ${v}, received ${t??`missing`}`,details:n}})}catch{}return J(e),!0}function X(e,t){return!t||t.has(e)}function Z(e,t,n,r){e.executionGeneration===t&&n(r)}function ye(e,t,n,r){if(t===`PM_SIGN_AND_SEND_TX`){e({type:`PM_RESULT`,requestId:n,payload:{ok:!0,result:_(r,`not_submitted`)}});return}e({type:`ERROR`,requestId:n,payload:{code:r instanceof c?r.code:`cancelled`,message:r.message}})}function Q(e,t,n,r){return e.executionGeneration!==t||n(r)}function $(e={}){if(K)return;K=!0,k(),(!e.supportedRuntimeRouteKinds||e.supportedRuntimeRouteKinds.has(`email_otp`))&&F().catch(()=>void 0);let r=new Set,f=new Set,p=new Set,m=!1,h={parentOrigin:null,port:null,configuration:{kind:`unconfigured`},executionGeneration:0,onConfigurationChanged:null},g=e=>{try{h.port?.postMessage(e)}catch{}},y=e=>{e&&r.add(e)},b=e=>!!e&&(r.has(e)||u(e)?.cancelled===!0),x=e=>{e&&r.delete(e)},S=e=>{e&&g({type:`ERROR`,requestId:e,payload:{code:`cancelled`,message:`Request cancelled`}})},C=e=>!e||!b(e)?!1:u(e)?.cancelled?!0:(S(e),x(e),!0),w=()=>{for(let e of ge){let t=document.querySelectorAll(e.selector);for(let n of t)try{e.cancellationKind===`native_cancel`?n.dispatchEvent(new Event(`cancel`,{cancelable:!0})):n.dispatchEvent(new CustomEvent(l.TX_CONFIRMER_CANCEL,{bubbles:!0,composed:!0}))}catch{}}},T=async r=>{let l=r.data;if(!l||!t(l))return;let v=l.requestId,T=typeof v==`string`&&l.type!==`PM_CANCEL`;if(T){if(p.has(v)){g({type:`ERROR`,requestId:v,payload:{code:`request_in_progress`,message:`Request identity is already active`}});return}p.add(v)}let E=h.executionGeneration,D=Z.bind(null,h,E,g),O=null,k=`admission`;try{let t=l.type.startsWith(`PM_SIGN_`)?await(await import(`./runtimeContext-ChuvOC0h.js`)).walletAuthMethodReviewPolicy(h,l):{kind:`disabled`};if(h.executionGeneration!==E||b(v))return;if(`transactionReview`in l){if(l.type!==`PM_SIGN_AND_SEND_TX`&&l.type!==`PM_SIGN_TEMPO`)throw new c(`review_invalid_input`,`Review is unsupported for this request`);let e=s(l.transactionReview);if(e.requestId!==v)throw new c(`review_invalid_input`,`Review request identity mismatch`);let n=l.payload?.options?.confirmationConfig;if(n?.uiMode!==`modal`||n.behavior!==`requireClick`)throw new c(`review_unsupported_mode`,`Review requires modal presentation and explicit approval`);O=new ie(e,l.type===`PM_SIGN_TEMPO`&&l.payload?.request.senderSignatureAlgorithm!==`secp256k1`?`credential`:`mpc`,e=>D({type:`TRANSACTION_REVIEW_STATE`,requestId:v,payload:e}),ye.bind(null,D,l.type,v),t)}(l.type===`PM_LOCK`||l.type===`PM_LOCK_EXACT_WALLET_SESSION`)&&d(new c(`review_identity_changed`,`The wallet session changed`));let r=me(l);if(!he(r))switch(r.type){case`PING`:g({type:`PONG`,requestId:v});return;case`PM_PREPARE_WALLET_RUNTIME`:X(`auth`,e.supportedRuntimeRouteKinds)&&se(),g({type:`PONG`,requestId:v});return;case`PM_SET_CONFIG`:{let e=o(h.configuration,i(r.request.payload)),t=a(h.configuration.kind===`configured`?h.configuration.config:null)!==a(e.config);if(h.configuration=e,t){h.executionGeneration+=1;let t=e.config;t.registration.publishableKey&&t.registration.projectEnvironmentId&&n(t.network.relayer.url);for(let e of f)g({type:`ERROR`,requestId:e,payload:{code:`wallet_configuration_changed`,message:`Wallet configuration changed during request`}});f.clear()}h.onConfigurationChanged?.(),t&&(d(new c(`review_identity_changed`,`Wallet execution configuration changed`)),w()),g({type:`PONG`,requestId:v});return}case`PM_ACTIVATE_TRANSACTION_REVIEW`:{let e=re(r.request.payload);e&&u(e.requestId)?.activate(e);return}case`PM_CANCEL`:{let e=r.request.payload?.requestId,t=r.request.payload,n=t&&typeof t==`object`?Reflect.get(t,`transactionReview`):void 0;if(n!==void 0){let r=s(n),i=u(r.requestId);if(r.requestId===e&&i&&ee(r,i.metadata)){let e=new c(ne(t&&typeof t==`object`?Reflect.get(t,`reviewErrorCode`):void 0),`Reviewed request cancelled`);try{te(i.metadata.validity)}catch(t){t instanceof Error&&(e=t)}i.cancel(e)}g({type:`PONG`,requestId:v});return}let i=e?u(e):void 0;if(i){i.cancel(new c(`cancelled`,`Request cancelled`)),g({type:`PONG`,requestId:v});return}y(e),(await import(`./deviceLinkApproval-C4T8XAmi.js`).then(e=>e.i)).cancelDeviceLinkApproval(typeof e==`string`?{kind:`request`,requestId:e}:{kind:`all`}),w(),e&&S(e),g({type:`PONG`,requestId:v});return}case`PM_SET_TRANSACTION_VIEW`:{let e=r.request.payload,t=e&&typeof e==`object`?Reflect.get(e,`requestId`):null,n=e&&typeof e==`object`?Reflect.get(e,`view`):null;typeof t==`string`&&(n===`toast`||n===`closed`)&&(await import(`./transaction-activity-BXSxMp1E.js`).then(e=>e.o)).setTransactionActivityView(t,n);return}case`PM_TRANSACTION_BROADCAST_STARTED`:{let e=r.request.payload,t=e&&typeof e==`object`?Reflect.get(e,`signedTransaction`):null;typeof t==`string`&&(await import(`./transaction-activity-BXSxMp1E.js`).then(e=>e.o)).transactionBroadcastStarted(t);return}}if(!X(r.kind,e.supportedRuntimeRouteKinds)){g({type:`ERROR`,requestId:v,payload:{code:`unsupported_request`,message:`Unsupported wallet iframe request type: ${r.type}`}});return}if(v&&f.add(v),!m&&R(r)&&await V()&&!m){if(E!==h.executionGeneration||C(v))return;D({type:`PM_RESULT`,requestId:v,payload:{ok:!0,result:z(r)}});return}m=!0;let p=await oe(r);if(E!==h.executionGeneration)return;k=`runtime`,await p.handleWalletHostRuntimeRequest({transactionReview:O,state:h,executionGeneration:E,req:r.request,post:Z.bind(null,h,E,g),isCancelled:Q.bind(null,h,E,b),respondIfCancelled:Q.bind(null,h,E,C)})}catch(e){if(E!==h.executionGeneration&&l.type!==`PM_SET_CONFIG`||O?.cancelled)return;if(k===`admission`&&(l.type===`PM_SIGN_AND_SEND_TX`||l.type===`PM_SEND_TRANSACTION`)){D({type:`PM_RESULT`,requestId:v,payload:{ok:!0,result:_(e,`not_submitted`)}});return}let t=await import(`./canonicalSignerErrorCode-CX5PBpkt.js`);if(E!==h.executionGeneration&&l.type!==`PM_SET_CONFIG`)return;let n=e&&typeof e==`object`&&`code`in e?e.code:void 0,r=ae(e),i=t.resolveWalletBoundaryErrorCode({requestType:l.type,rawCode:n,message:r,defaultCode:`HOST_ERROR`}),a=t.resolveWalletBoundaryErrorMessage({requestType:l.type,rawCode:n,code:i,message:r}),o=t.resolveWalletBoundarySignerKind(l.type);g({type:`ERROR`,requestId:v,payload:{code:i,message:a,...t.isWalletSignerBoundaryRequestType(l.type)&&t.isCanonicalSignerSessionBoundaryCode(i)&&o?{signerKind:o}:{}}})}finally{T&&(p.delete(v),f.delete(v),x(v)),O?.finish()}};window.addEventListener(`message`,e=>{let t=_e(e.data),n=e.ports[0];if(!(!t||!n||h.port)){if(e.source!==window.parent||!ve(e.origin)){J(n);return}if(!Y(n,t.payload.protocolVersion)){typeof e.origin==`string`&&e.origin.length&&e.origin!==`null`&&(h.parentOrigin=e.origin),h.port=n;try{h.port.onmessage=T,h.port.start?.()}catch{}g({type:`READY`,payload:{protocolVersion:v}})}}})}try{$()}catch(e){console.error(`[WalletHost] init failed`,e)}export{$ as t};
@@ -1 +1 @@
1
- import{a as e,n as t}from"./errors-BJBDbwHk.js";import{r as n,s as r}from"./csp-stylesheet-DUSqfXvZ.js";const i={passkey:{label:`Passkey authentication`,instruction:`Complete the prompt on your device.`},google:{label:`Google sign-in`,instruction:`Choose your Google account.`}};function a(e){return e===`register`?`Creating passkey wallet…`:`Unlocking wallet…`}function o(e){return e===`registered`?{headline:`Wallet created`,message:`Your wallet is ready on this device.`}:{headline:`You’re in`,message:`Your wallet is unlocked.`}}const s=/\bHTTP 429\b|too many requests|rate limit/i,c=/\bHTTP 5\d\d\b|failed to fetch|load failed|networkerror|network request failed|connection ?closed/i,l=/timed out|timeout/i;function u(n){return e(n)?t(n):s.test(n)?`Too many attempts. Wait a moment.`:c.test(n)?`Can’t reach Seams right now.`:l.test(n)?`That took too long.`:`Something went wrong.`}function d(e){return{kind:`recoverable`,reason:`error`,message:u(e),detail:e}}function f(e,t){let n=t?e.find(e=>e.walletId===t.walletId&&e.authMethod===t.authMethod):null,r=t?e.find(e=>e.walletId===t.walletId):null,i=n??r??e[0];if(!i)return{kind:`discoverable`,selectedAccount:null,loginTarget:{kind:`discoverable`}};let a=e.filter(e=>e.walletId===i.walletId),o=a.some(e=>e.authMethod===`passkey`),s=a.some(e=>e.authMethod===`email_otp`),c={selectedAccount:i,walletId:i.walletId,loginTarget:{kind:`wallet`,walletId:i.walletId}};if(o&&s)return{kind:`passkey_and_email_otp`,...c};if(o)return{kind:`passkey`,...c};if(s)return{kind:`email_otp`,...c};if(a.some(x))return{kind:`voiceid`,...c};throw Error(`Selected auth-menu account has no supported authentication method`)}function p(e){switch(e.kind){case`discoverable`:case`passkey`:case`passkey_and_email_otp`:return!0;case`email_otp`:case`voiceid`:return!1}}function m(e){switch(e.kind){case`discoverable`:case`email_otp`:case`passkey_and_email_otp`:return!0;case`passkey`:case`voiceid`:return!1}}function h(e){return e.kind===`busy`}function g(e,t){return e.kind===`recovery`?e.stage===`sign_in_ready`?{...e,status:t}:null:{...e,status:t}}function _(e){let t=e.status;return t.kind===`idle`&&t.interaction===`actionable`}function v(e){let t=e.status;return t.kind===`recoverable`?!0:t.kind===`idle`&&t.interaction===`actionable`}function y(e){if(!v(e))return!1;switch(e.kind){case`google_otp_login`:return!e.submitBusy&&/^\d{6}$/.test(e.otpCode);case`google_registration`:return!e.rerollBusy&&!e.submitBusy;case`link_device`:return!1;case`recovery`:return e.stage===`passkey_ready`||e.stage===`google_ready`||e.stage===`sign_in_ready`||e.stage===`email_code_required`&&/^\d{6}$/.test(e.otpCode);case`passkey`:return e.mode===`login`?p(f(e.accountOptions,e.selectedAccount)):!e.showRegistrationInput||e.passkeyName.trim().length>0}}function b(e){return v(e)?e.kind!==`passkey`||e.mode!==`login`?!0:m(f(e.accountOptions,e.selectedAccount)):!1}function x(e){return e.authMethod===`voiceid`}function S(e,t,...i){return n(r,{children:n(`svg`,{width:e,height:e,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":t,"stroke-linecap":`round`,"stroke-linejoin":`round`,"aria-hidden":`true`,children:i})})}function C(){return S(`22`,`1.5`,n(`path`,{d:`M6.405 19.048c.184-.443.353-.894.507-1.351`}),n(`path`,{d:`M14.343 20.693c.266-.751.502-1.516.707-2.294.186-.706.346-1.422.478-2.147`}),n(`path`,{d:`M19.448 17.058c.364-1.964.555-3.989.555-6.058 0-4.418-3.582-8-8-8-1.255 0-2.443.289-3.501.805`}),n(`path`,{d:`M3.523 15.025c.314-1.29.48-2.638.48-4.025 0-1.74.556-3.351 1.499-4.664`}),n(`path`,{d:`M12.003 11c0 2.76-.447 5.416-1.273 7.899-.213.639-.451 1.266-.712 1.881`}),n(`path`,{d:`M7.712 14.5c.191-1.138.291-2.308.291-3.5 0-2.209 1.791-4 4-4s4 1.791 4 4c0 .617-.02 1.229-.058 1.836`}))}function w(){return n(`svg`,{class:`seams-passkey-ring`,viewBox:`0 0 56 56`,fill:`none`,"aria-hidden":`true`,focusable:`false`,children:[n(`circle`,{class:`seams-passkey-ring-track`,cx:`28`,cy:`28`,r:`26.75`}),n(`circle`,{class:`seams-passkey-ring-arc`,cx:`28`,cy:`28`,r:`26.75`,pathLength:`100`,transform:`rotate(-90 28 28)`})]})}function T(){return n(`svg`,{class:`seams-success-ring`,viewBox:`0 0 56 56`,fill:`none`,"aria-hidden":`true`,focusable:`false`,children:[n(`circle`,{class:`seams-passkey-ring-track`,cx:`28`,cy:`28`,r:`26.75`}),n(`circle`,{class:`seams-success-ring-arc`,cx:`28`,cy:`28`,r:`26.75`,pathLength:`100`}),n(`circle`,{class:`seams-success-ring-seal`,cx:`28`,cy:`28`,r:`28`}),n(`path`,{class:`seams-success-ring-check`,d:`M36.7 21.5 24.75 33.4l-5.4-5.4`,pathLength:`1`})]})}function E(){return n(r,{children:n(`svg`,{class:`seams-account-dropdown-arrow`,viewBox:`0 0 24 24`,"aria-hidden":`true`,focusable:`false`,children:n(`path`,{d:`M9.75 3h4.5v10.28l4.3-4.3 3.18 3.18L12 21.9l-9.73-9.74 3.18-3.18 4.3 4.3V3Z`})})})}function D(){return S(`18`,`2.25`,n(`path`,{d:`m15 18-6-6 6-6`}))}function O(){return S(`18`,`2`,n(`rect`,{width:`5`,height:`5`,x:`3`,y:`3`,rx:`1`}),n(`rect`,{width:`5`,height:`5`,x:`16`,y:`3`,rx:`1`}),n(`rect`,{width:`5`,height:`5`,x:`3`,y:`16`,rx:`1`}),n(`path`,{d:`M21 16h-3a2 2 0 0 0-2 2v3`}),n(`path`,{d:`M21 21v.01`}),n(`path`,{d:`M12 7v3a2 2 0 0 1-2 2H7`}),n(`path`,{d:`M3 12h.01`}),n(`path`,{d:`M12 3h.01`}),n(`path`,{d:`M12 16v.01`}),n(`path`,{d:`M16 12h1`}),n(`path`,{d:`M21 12v.01`}),n(`path`,{d:`M12 21v-1`}))}function k(){return S(`18`,`2`,n(`path`,{d:`M20 11v6`}),n(`path`,{d:`M20 13h2`}),n(`path`,{d:`M3 21v-2a4 4 0 0 1 4-4h6a4 4 0 0 1 2.072.578`}),n(`circle`,{cx:`10`,cy:`7`,r:`4`}),n(`circle`,{cx:`20`,cy:`19`,r:`2`}))}function A(){return S(`21`,`1.75`,n(`rect`,{x:`2.75`,y:`5`,width:`18.5`,height:`14`,rx:`2.75`}),n(`path`,{d:`m3.75 7.75 6.94 4.86a2.25 2.25 0 0 0 2.62 0l6.94-4.86`}))}function j(){return S(`22`,`1.75`,n(`path`,{d:`M9 17H7A5 5 0 0 1 7 7h2`}),n(`path`,{d:`M15 7h2a5 5 0 0 1 3.54 8.54`}),n(`path`,{d:`m2 2 20 20`}),n(`path`,{d:`M8 12h3`}))}function M(){return n(r,{children:n(`svg`,{class:`seams-input-action-icon`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"aria-hidden":`true`,children:[n(`path`,{d:`M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8`}),n(`path`,{d:`M21 3v5h-5`}),n(`path`,{d:`M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16`}),n(`path`,{d:`M8 16H3v5`})]})})}function N(){return n(`svg`,{width:`18`,height:`18`,viewBox:`0 0 48 48`,"aria-hidden":`true`,children:[n(`path`,{fill:`#EA4335`,d:`M24 9.5c3.54 0 6.71 1.22 9.21 3.6l6.85-6.85C35.9 2.38 30.47 0 24 0 14.62 0 6.51 5.38 2.56 13.22l7.98 6.19C12.43 13.72 17.74 9.5 24 9.5z`}),n(`path`,{fill:`#4285F4`,d:`M46.98 24.55c0-1.57-.15-3.09-.38-4.55H24v9.02h12.94c-.58 2.96-2.26 5.48-4.78 7.18l7.73 6c4.51-4.18 7.09-10.36 7.09-17.65z`}),n(`path`,{fill:`#FBBC05`,d:`M10.53 28.59c-.48-1.45-.76-2.99-.76-4.59s.27-3.14.76-4.59l-7.98-6.19C.92 16.46 0 20.12 0 24c0 3.88.92 7.54 2.56 10.78l7.97-6.19z`}),n(`path`,{fill:`#34A853`,d:`M24 48c6.48 0 11.93-2.13 15.89-5.81l-7.73-6c-2.15 1.45-4.92 2.3-8.16 2.3-6.26 0-11.57-4.22-13.47-9.91l-7.98 6.19C6.51 42.62 14.62 48 24 48z`})]})}function P(){return S(`13`,`1.75`,n(`path`,{d:`m9 6 6 6-6 6`}))}function F(){return S(`15`,`1.6`,n(`path`,{d:`M12 8v5`}),n(`path`,{d:`M12 16v.1`}),n(`circle`,{cx:`12`,cy:`12`,r:`9`}))}export{_ as C,h as S,f as T,p as _,C as a,y as b,j as c,T as d,k as f,m as g,d as h,P as i,A as l,i as m,F as n,N as o,M as p,D as r,O as s,E as t,w as u,o as v,a as w,b as x,g as y};
1
+ import{a as e,n as t}from"./errors-BJBDbwHk.js";import{r as n,s as r}from"./csp-stylesheet-5LU6VGKK.js";const i={passkey:{label:`Passkey authentication`,instruction:`Complete the prompt on your device.`},google:{label:`Google sign-in`,instruction:`Choose your Google account.`}};function a(e){return e===`register`?`Creating passkey wallet…`:`Unlocking wallet…`}function o(e){return e===`registered`?{headline:`Wallet created`,message:`Your wallet is ready on this device.`}:{headline:`You’re in`,message:`Your wallet is unlocked.`}}const s=/\bHTTP 429\b|too many requests|rate limit/i,c=/\bHTTP 5\d\d\b|failed to fetch|load failed|networkerror|network request failed|connection ?closed/i,l=/timed out|timeout/i;function u(n){return e(n)?t(n):s.test(n)?`Too many attempts. Wait a moment.`:c.test(n)?`Can’t reach Seams right now.`:l.test(n)?`That took too long.`:`Something went wrong.`}function d(e){return{kind:`recoverable`,reason:`error`,message:u(e),detail:e}}function f(e,t){let n=t?e.find(e=>e.walletId===t.walletId&&e.authMethod===t.authMethod):null,r=t?e.find(e=>e.walletId===t.walletId):null,i=n??r??e[0];if(!i)return{kind:`discoverable`,selectedAccount:null,loginTarget:{kind:`discoverable`}};let a=e.filter(e=>e.walletId===i.walletId),o=a.some(e=>e.authMethod===`passkey`),s=a.some(e=>e.authMethod===`email_otp`),c={selectedAccount:i,walletId:i.walletId,loginTarget:{kind:`wallet`,walletId:i.walletId}};if(o&&s)return{kind:`passkey_and_email_otp`,...c};if(o)return{kind:`passkey`,...c};if(s)return{kind:`email_otp`,...c};if(a.some(x))return{kind:`voiceid`,...c};throw Error(`Selected auth-menu account has no supported authentication method`)}function p(e){switch(e.kind){case`discoverable`:case`passkey`:case`passkey_and_email_otp`:return!0;case`email_otp`:case`voiceid`:return!1}}function m(e){switch(e.kind){case`discoverable`:case`email_otp`:case`passkey_and_email_otp`:return!0;case`passkey`:case`voiceid`:return!1}}function h(e){return e.kind===`busy`}function g(e,t){return e.kind===`recovery`?e.stage===`sign_in_ready`?{...e,status:t}:null:{...e,status:t}}function _(e){let t=e.status;return t.kind===`idle`&&t.interaction===`actionable`}function v(e){let t=e.status;return t.kind===`recoverable`?!0:t.kind===`idle`&&t.interaction===`actionable`}function y(e){if(!v(e))return!1;switch(e.kind){case`google_otp_login`:return!e.submitBusy&&/^\d{6}$/.test(e.otpCode);case`google_registration`:return!e.rerollBusy&&!e.submitBusy;case`link_device`:return!1;case`recovery`:return e.stage===`passkey_ready`||e.stage===`google_ready`||e.stage===`sign_in_ready`||e.stage===`email_code_required`&&/^\d{6}$/.test(e.otpCode);case`passkey`:return e.mode===`login`?p(f(e.accountOptions,e.selectedAccount)):!e.showRegistrationInput||e.passkeyName.trim().length>0}}function b(e){return v(e)?e.kind!==`passkey`||e.mode!==`login`?!0:m(f(e.accountOptions,e.selectedAccount)):!1}function x(e){return e.authMethod===`voiceid`}function S(e,t,...i){return n(r,{children:n(`svg`,{width:e,height:e,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":t,"stroke-linecap":`round`,"stroke-linejoin":`round`,"aria-hidden":`true`,children:i})})}function C(){return S(`22`,`1.5`,n(`path`,{d:`M6.405 19.048c.184-.443.353-.894.507-1.351`}),n(`path`,{d:`M14.343 20.693c.266-.751.502-1.516.707-2.294.186-.706.346-1.422.478-2.147`}),n(`path`,{d:`M19.448 17.058c.364-1.964.555-3.989.555-6.058 0-4.418-3.582-8-8-8-1.255 0-2.443.289-3.501.805`}),n(`path`,{d:`M3.523 15.025c.314-1.29.48-2.638.48-4.025 0-1.74.556-3.351 1.499-4.664`}),n(`path`,{d:`M12.003 11c0 2.76-.447 5.416-1.273 7.899-.213.639-.451 1.266-.712 1.881`}),n(`path`,{d:`M7.712 14.5c.191-1.138.291-2.308.291-3.5 0-2.209 1.791-4 4-4s4 1.791 4 4c0 .617-.02 1.229-.058 1.836`}))}function w(){return n(`svg`,{class:`seams-passkey-ring`,viewBox:`0 0 56 56`,fill:`none`,"aria-hidden":`true`,focusable:`false`,children:[n(`circle`,{class:`seams-passkey-ring-track`,cx:`28`,cy:`28`,r:`26.75`}),n(`circle`,{class:`seams-passkey-ring-arc`,cx:`28`,cy:`28`,r:`26.75`,pathLength:`100`,transform:`rotate(-90 28 28)`})]})}function T(){return n(`svg`,{class:`seams-success-ring`,viewBox:`0 0 56 56`,fill:`none`,"aria-hidden":`true`,focusable:`false`,children:[n(`circle`,{class:`seams-passkey-ring-track`,cx:`28`,cy:`28`,r:`26.75`}),n(`circle`,{class:`seams-success-ring-arc`,cx:`28`,cy:`28`,r:`26.75`,pathLength:`100`}),n(`circle`,{class:`seams-success-ring-seal`,cx:`28`,cy:`28`,r:`28`}),n(`path`,{class:`seams-success-ring-check`,d:`M36.7 21.5 24.75 33.4l-5.4-5.4`,pathLength:`1`})]})}function E(){return n(r,{children:n(`svg`,{class:`seams-account-dropdown-arrow`,viewBox:`0 0 24 24`,"aria-hidden":`true`,focusable:`false`,children:n(`path`,{d:`M9.75 3h4.5v10.28l4.3-4.3 3.18 3.18L12 21.9l-9.73-9.74 3.18-3.18 4.3 4.3V3Z`})})})}function D(){return S(`18`,`2.25`,n(`path`,{d:`m15 18-6-6 6-6`}))}function O(){return S(`18`,`2`,n(`rect`,{width:`5`,height:`5`,x:`3`,y:`3`,rx:`1`}),n(`rect`,{width:`5`,height:`5`,x:`16`,y:`3`,rx:`1`}),n(`rect`,{width:`5`,height:`5`,x:`3`,y:`16`,rx:`1`}),n(`path`,{d:`M21 16h-3a2 2 0 0 0-2 2v3`}),n(`path`,{d:`M21 21v.01`}),n(`path`,{d:`M12 7v3a2 2 0 0 1-2 2H7`}),n(`path`,{d:`M3 12h.01`}),n(`path`,{d:`M12 3h.01`}),n(`path`,{d:`M12 16v.01`}),n(`path`,{d:`M16 12h1`}),n(`path`,{d:`M21 12v.01`}),n(`path`,{d:`M12 21v-1`}))}function k(){return S(`18`,`2`,n(`path`,{d:`M20 11v6`}),n(`path`,{d:`M20 13h2`}),n(`path`,{d:`M3 21v-2a4 4 0 0 1 4-4h6a4 4 0 0 1 2.072.578`}),n(`circle`,{cx:`10`,cy:`7`,r:`4`}),n(`circle`,{cx:`20`,cy:`19`,r:`2`}))}function A(){return S(`21`,`1.75`,n(`rect`,{x:`2.75`,y:`5`,width:`18.5`,height:`14`,rx:`2.75`}),n(`path`,{d:`m3.75 7.75 6.94 4.86a2.25 2.25 0 0 0 2.62 0l6.94-4.86`}))}function j(){return S(`22`,`1.75`,n(`path`,{d:`M9 17H7A5 5 0 0 1 7 7h2`}),n(`path`,{d:`M15 7h2a5 5 0 0 1 3.54 8.54`}),n(`path`,{d:`m2 2 20 20`}),n(`path`,{d:`M8 12h3`}))}function M(){return n(r,{children:n(`svg`,{class:`seams-input-action-icon`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"aria-hidden":`true`,children:[n(`path`,{d:`M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8`}),n(`path`,{d:`M21 3v5h-5`}),n(`path`,{d:`M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16`}),n(`path`,{d:`M8 16H3v5`})]})})}function N(){return n(`svg`,{width:`18`,height:`18`,viewBox:`0 0 48 48`,"aria-hidden":`true`,children:[n(`path`,{fill:`#EA4335`,d:`M24 9.5c3.54 0 6.71 1.22 9.21 3.6l6.85-6.85C35.9 2.38 30.47 0 24 0 14.62 0 6.51 5.38 2.56 13.22l7.98 6.19C12.43 13.72 17.74 9.5 24 9.5z`}),n(`path`,{fill:`#4285F4`,d:`M46.98 24.55c0-1.57-.15-3.09-.38-4.55H24v9.02h12.94c-.58 2.96-2.26 5.48-4.78 7.18l7.73 6c4.51-4.18 7.09-10.36 7.09-17.65z`}),n(`path`,{fill:`#FBBC05`,d:`M10.53 28.59c-.48-1.45-.76-2.99-.76-4.59s.27-3.14.76-4.59l-7.98-6.19C.92 16.46 0 20.12 0 24c0 3.88.92 7.54 2.56 10.78l7.97-6.19z`}),n(`path`,{fill:`#34A853`,d:`M24 48c6.48 0 11.93-2.13 15.89-5.81l-7.73-6c-2.15 1.45-4.92 2.3-8.16 2.3-6.26 0-11.57-4.22-13.47-9.91l-7.98 6.19C6.51 42.62 14.62 48 24 48z`})]})}function P(){return S(`13`,`1.75`,n(`path`,{d:`m9 6 6 6-6 6`}))}function F(){return S(`15`,`1.6`,n(`path`,{d:`M12 8v5`}),n(`path`,{d:`M12 16v.1`}),n(`circle`,{cx:`12`,cy:`12`,r:`9`}))}export{_ as C,h as S,f as T,p as _,C as a,y as b,j as c,T as d,k as f,m as g,d as h,P as i,A as l,i as m,F as n,N as o,M as p,D as r,O as s,E as t,w as u,o as v,a as w,b as x,g as y};